JP7354973B2 - 遊技機 - Google Patents

遊技機 Download PDF

Info

Publication number
JP7354973B2
JP7354973B2 JP2020159372A JP2020159372A JP7354973B2 JP 7354973 B2 JP7354973 B2 JP 7354973B2 JP 2020159372 A JP2020159372 A JP 2020159372A JP 2020159372 A JP2020159372 A JP 2020159372A JP 7354973 B2 JP7354973 B2 JP 7354973B2
Authority
JP
Japan
Prior art keywords
display
winning
value
game
state
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2020159372A
Other languages
English (en)
Other versions
JP2022052869A (ja
Inventor
鉉 岡村
暢之 松谷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sanyo Bussan Co Ltd
Original Assignee
Sanyo Bussan Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sanyo Bussan Co Ltd filed Critical Sanyo Bussan Co Ltd
Priority to JP2020159372A priority Critical patent/JP7354973B2/ja
Publication of JP2022052869A publication Critical patent/JP2022052869A/ja
Priority to JP2023151811A priority patent/JP2023164622A/ja
Application granted granted Critical
Publication of JP7354973B2 publication Critical patent/JP7354973B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Slot Machines And Peripheral Devices (AREA)

Description

本発明は、遊技機に関するものである。
遊技機としてパチンコ遊技機やスロットマシンが知られている。例えば、パチンコ遊技機では、遊技球を貯留する貯留部を備えており、当該貯留部に貯留された遊技球が遊技球発射装置に案内されて、遊技者の発射操作に応じて遊技領域に向けて発射される。そして、例えば遊技領域に設けられた入球部に遊技球が入球した場合に、例えば抽選処理が実行されたり、例えば遊技者が使用可能な遊技球の数を増加させるための処理が実行される。
スロットマシンでは、メダルなどの遊技価値がベットされている状況でスタートレバーが操作されて新たなゲームが開始される場合に制御手段にて抽選処理が実行される。また、抽選処理が実行された場合には制御手段にて回転開始制御が実行されることによりリールの回転が開始され、当該リールの回転中にストップボタンが操作された場合には制御手段にて回転停止制御が実行されることによりリールの回転が停止される。そして、リールの回転停止後の停止結果が抽選処理の当選役に対応したものである場合には、当該当選役に対応した特典が遊技者に付与される(例えば特許文献1参照)。
特開2014-045989号公報
ここで、上記例示等のような遊技機においては、処理が好適に実行される必要があり、この点について未だ改良の余地がある。
本発明は、上記例示した事情等に鑑みてなされたものであり、処理が好適に実行されるようにすることが可能な遊技機を提供することを目的とするものである。
上記課題を解決すべく請求項1記載の発明は、判定対象の数値情報が、所定の最小値と所定の最大値との間の数値範囲のうちこれら所定の最小値及び所定の最大値の両方を含まない基準数値範囲に含まれているか否かを特定する数値特定手段と、
当該数値特定手段により前記判定対象の数値情報が前記基準数値範囲に含まれていることが特定されたことに基づいて、所定の処理を実行する所定処理実行手段と、
を備え、
前記数値特定手段は、
前記基準数値範囲の最小値である第1境界値が前記所定の最小値となり、前記基準数値範囲の最大値である第2境界値が前記第1境界値を前記所定の最小値とするための変動分、変動させた変動後境界値となるようにすることを可能とする所定算術演算を前記判定対象の数値情報に対して実行する所定演算実行手段と、
前記判定対象の数値情報に対する前記所定算術演算の実行後の演算結果と前記変動後境界値との大小関係を特定することで、前記判定対象の数値情報が前記基準数値範囲に含まれているか否かを特定する特定実行手段と、
を備え、
前記所定算術演算は、前記判定対象の数値情報が前記第1境界値以上の数値情報である場合には当該判定対象の数値情報よりも前記第1境界値だけ小さい数値情報が前記所定算術演算の実行後の演算結果となり、前記判定対象の数値情報が前記基準数値範囲の最大値である前記第2境界値である場合には当該第2境界値よりも前記第1境界値だけ小さい前記変動後境界値が前記所定算術演算の実行後の演算結果となり、前記判定対象の数値情報が前記第1境界値未満の数値情報である場合には前記変動後境界値よりも大きい数値情報が前記所定算術演算の実行後の演算結果となる演算であり、
前記特定実行手段は、前記判定対象の数値情報に対する前記所定算術演算の実行後の演算結果が前記変動後境界値以下であることを特定することで、前記判定対象の数値情報が前記基準数値範囲に含まれていることを特定する数値範囲特定手段を備え、
本遊技機は、前記所定算術演算の実行後の演算結果と、前記所定の最小値よりも大きい値であり且つ前記変動後境界値未満の値である所定境界値と、の大小関係に基づいて、前記判定対象の数値情報が前記基準数値範囲のうち前記第1境界値を含む第1基準数値範囲及び前記第2境界値を含む第2基準数値範囲のいずれに含まれているかを特定する手段を備えていることを特徴とする。
本発明によれば、処理が好適に実行されるようにすることが可能となる。
第1の実施形態におけるスロットマシンの正面図である。 前面扉を開いた状態を示すスロットマシンの斜視図である。 筐体の正面図である。 各リールの図柄配列を示す図である。 表示窓部から視認可能となる図柄と組合せラインとの関係を示す説明図である。 入賞態様と付与される特典との関係を示す説明図である。 (a)共通表示領域の正面図であり、(b)兼用表示部にて実行される停止順対応表示の表示内容を説明するための説明図である。 (a),(b)画像表示装置にて実行される停止順報知の報知内容と兼用表示部にて実行される停止順対応表示の表示内容との関係を説明するための説明図である。 スロットマシンの電気的構成図である。 主側MPUにて実行されるメイン処理を示すフローチャートである。 主側MPUにて実行されるタイマ割込み処理を示すフローチャートである。 主側MPUにて実行される停電時処理を示すフローチャートである。 主側MPUにて実行される通常処理を示すフローチャートである。 主側RAMの構成を説明するための説明図である。 主側MPUにて実行される開始待ち処理を示すフローチャートである。 主側MPUにて実行されるベット対応処理を示すフローチャートである。 (a)主側MPUにて実行されるベット状態管理処理を示すフローチャートであり、(b)主側MPUにて実行される開始時の設定処理を示すフローチャートである。 主側MPUにて実行される役の抽選処理を示すフローチャートである。 3枚ベット時の役抽選テーブルを説明するための説明図である。 2枚ベット時の役抽選テーブルを説明するための説明図である。 リールの停止順序と成立する入賞態様との関係を説明するための説明図である。 主側MPUにて実行されるリール制御処理を示すフローチャートである。 スロットマシンに存在している遊技状態及び遊技区間を説明するための説明図である。 (a)兼用表示部にて停止順対応表示が実行される条件、比率表示が実行される条件及び付与数表示が実行される条件を説明するための説明図であり、(b)インデックス値カウンタの値、停止順種別カウンタの値及び兼用表示部にて実行される停止順対応表示の表示内容の関係を説明するための説明図であり、(c)主側ROMの構成を説明するための説明図である。 主側MPUにて実行される抽選結果対応処理を示すフローチャートである。 主側MPUにて実行される入賞判定処理を示すフローチャートである。 主側MPUにて実行される管理用処理を示すフローチャートである。 主側MPUにて実行されるポート出力処理を示すフローチャートである。 (a)~(i)兼用表示部にて停止順対応表示及び付与数表示が実行される様子を示すタイムチャートである。 (a)~(f)兼用表示部にて比率表示及び付与数表示が実行される様子を示すタイムチャートである。 (a)遊技区間エリアの構成を説明するための説明図であり、(b)遊技状態エリアの構成を説明するための説明図である。 主側MPUにて実行される遊技終了時の対応処理を示すフローチャートである。 主側MPUにて実行されるCB用処理を示すフローチャートである。 主側MPUにて実行される遊技区間の第1制御処理を示すフローチャートである。 (a)解除ゲーム数抽選テーブルの内容を説明するための説明図であり、(b)主側MPUにて実行される解除ゲーム数抽選処理を示すフローチャートである。 主側MPUにて実行される遊技区間の第2制御処理を示すフローチャートである。 主側MPUにて実行されるエンディング対応処理を示すフローチャートである。 主側MPUにて実行されるゲーム開始時の有利抽選処理を示すフローチャートである。 主側MPUにて実行される通常用処理を示すフローチャートである。 主側MPUにて実行されるゲーム開始時の有利状態用処理を示すフローチャートである。 主側MPUにて実行される疑似ボーナス用処理を示すフローチャートである。 主側MPUにて実行されるAT用処理を示すフローチャートである。 (a)第1上乗せ抽選テーブルの内容を説明するための説明図であり、(b)第2上乗せ抽選テーブルの内容を説明するための説明図であり、(c)主側MPUにて実行される開始時上乗せ用処理を示すフローチャートである。 主側MPUにて実行されるコマンド出力処理を示すフローチャートである。 主側MPUから演出側MPUに対してコマンドを送信するための主制御基板及び演出制御基板の電気的構成を説明するための説明図である。 (a)ヘッダのデータ構成を説明するための説明図であり、(b)フッタのデータ構成を説明するための説明図であり、(c)開始時コマンド、終了時コマンド及び復電コマンドに設定される記憶エリアの主側RAMにおける設定態様を説明するための説明図である。 (a)開始時コマンド及び終了時コマンドのデータ構成を説明するための説明図であり、(b)変換後開始時コマンドのデータ構成を説明するための説明図であり、(c)変換後終了時コマンドのデータ構成を説明するための説明図である。 (a)開始時コマンドの変換態様を説明するための説明図であり、(b)終了時コマンドの変換態様を説明するための説明図である。 (a)変換後開始時コマンドに基づいて演出側MPUが把握する内容を説明するための説明図であり、(b)変換後終了時コマンドに基づいて演出側MPUが把握する内容を説明するための説明図である。 主側MPUにて実行される共通コマンド送信処理を示すフローチャートである。 主側MPUにて実行される最上位集約処理を示すフローチャートである。 演出側MPUにて実行されるコマンド受信対応処理を示すフローチャートである。 演出側MPUにて実行される最上位設定処理を示すフローチャートである。 演出側MPUにて実行されるコマンド変換処理を示すフローチャートである。 演出側MPUにて実行される開始時受信対応処理を示すフローチャートである。 演出側MPUにて実行される入賞結果受信対応処理を示すフローチャートである。 演出側MPUにて実行される終了時受信対応処理を示すフローチャートである。 演出側MPUにて実行される第2区間対応処理を示すフローチャートである。 演出側MPUにて実行される疑似ボーナス状態対応処理を示すフローチャートである。 演出側MPUにて実行されるAT状態対応処理を示すフローチャートである。 (a)主側MPUの構成を説明するための説明図であり、(b)主側ROMにおけるデータ及びプログラムの設定態様を説明するための説明図である。 (a)ジャンプ命令の種類を説明するための説明図であり、(b)主側MPUにて実行される電源遮断待機処理のプログラム内容を説明するための説明図であり、(c)行番号「1001」のOUT命令が実行された場合におけるジャンプフラグの状態を説明するための説明図である。 (a)スロットマシンからホールコンピュータに信号を外部出力するための構成を説明するための説明図であり、(b)主側MPUにて実行される外部出力設定処理を示すフローチャートであり、(c)AT状態フラグの値及びAT状態信号カウンタの値とAT状態信号との関係を説明するための説明図である。 (a)主側MPUにて実行されるAT状態信号設定処理のプログラム内容を説明するための説明図であり、(b),(c)AT状態信号設定処理及びAT状態信号設定処理の比較例において、「ADR112」というプログラムアドレスから「ADR114」というプログラムアドレスにジャンプするために設定されているジャンプ命令を説明するための説明図である。 「246」を加算する前のAレジスタの値と、「246」を加算した後のAレジスタの値及びキャリーフラグCFの値との関係を説明するための説明図である。 主側MPUにて実行される抽選結果対応処理のプログラム内容を説明するための説明図である。 (a)抽選結果対応処理の第1比較例のプログラム内容を説明するための説明図であり、(b)「1」~「9」のインデックス値に当選していることを条件として停止順種別カウンタに停止順種別番号を設定する処理を実行するために設定されている命令について説明するための説明図である。 (a),(b)抽選結果対応処理及び抽選結果対応処理の第2比較例において、「ADR122」というプログラムアドレス及び「ADR125」というプログラムアドレスから「ADR126」というプログラムアドレスにジャンプするために設定されているジャンプ命令を説明するための説明図である。 (a)「11」減算前のAレジスタの値と、「11」減算後のAレジスタの値及び「11」減算後のキャリーフラグの値との関係を説明するための説明図であり、(b)主側MPUにて実行される開始時上乗せ用処理のプログラム内容を説明するための説明図である。 (a)開始時上乗せ用処理の第1比較例のプログラム内容を説明するための説明図であり、(b)開始時上乗せ用処理及び開始時上乗せ用処理の第1比較例において、第1上乗せ抽選テーブルを選択するために設定されている命令及び第2上乗せ抽選テーブルを選択するために設定されている命令を説明するための説明図である。 (a),(b)開始時上乗せ用処理及び開始時上乗せ用処理の第2比較例において「ADR131」というプログラムアドレス及び「ADR132」というプログラムアドレスから「ADR133」というプログラムアドレスにジャンプするために設定されているジャンプ命令を説明するための説明図である。 (a)第2の実施形態における主側RAM74の構成を説明するための説明図であり、(b)主側MPUにて実行される共通コマンド送信処理を示すフローチャートである。 主側MPUにて実行される最上位集約処理を示すフローチャートである。 (a)第3の実施形態における主側RAMの構成を説明するための説明図であり、(b)主側MPUにて実行される共通コマンド送信処理を示すフローチャートである。 主側MPUにて実行される最上位集約処理を示すフローチャートである。 (a)第4の実施形態における共通データテーブルのデータ構成を説明するための説明図であり、(b)主側RAMの構成を説明するための説明図である。 主側MPUにて実行される共通コマンド送信処理を示すフローチャートである。 主側MPUにて実行される最上位集約処理を示すフローチャートである。 (a)第5の実施形態における主側ROMの共通データテーブルが設定されているアドレス範囲のうち、開始時コマンドに設定されるデータが格納されている主側RAMの記憶エリアのアドレスが設定されているアドレス範囲、及び終了時コマンドに設定されるデータが格納されている主側RAMの記憶エリアのアドレスが設定されているアドレス範囲を説明するための説明図であり、(b)開始時コマンドのデータ構成を説明するための説明図であり、(c)終了時コマンドのデータ構成を説明するための説明図である。 (a)主側MPUから演出側MPUに対してコマンドを送信するための主制御基板及び演出制御基板の電気的構成を説明するための説明図であり、(b)最上位設定エリアの構成を説明するための説明図である。 主側MPUにて実行される共通コマンド送信処理を示すフローチャートである。 演出側MPUにて実行されるコマンド受信対応処理を示すフローチャートである。 演出側MPUにて実行される最上位設定処理を示すフローチャートである。 (a)第6の実施形態における共通データテーブルの構成を説明するための説明図であり、(b)開始時コマンドのデータ構成を説明するための説明図であり、(c)終了時コマンドのデータ構成を説明するための説明図である。 主側RAMの構成を説明するための説明図である。 主側MPUにて実行される共通コマンド送信処理を示すフローチャートである。 主側MPUにて実行される最上位集約処理を示すフローチャートである。 演出側MPUにて実行される最上位設定処理を示すフローチャートである。 (a)第7の実施形態における兼用表示部が全消灯状態となる条件、兼用表示部にて停止順対応表示が実行される条件、比率表示が実行される条件及び付与数表示が実行される条件を説明するための説明図であり、(b)主側RAMの構成を説明するための説明図であり、(c)主側MPUにて実行される開始時の設定処理を示すフローチャートである。 主側MPUにて実行されるリール制御処理を示すフローチャートである。 主側MPUにて実行されるポート出力処理を示すフローチャートである。 (a)~(k)兼用表示部にて停止順対応表示が行われるゲームにおいて兼用表示部が全消灯状態となる様子を示すタイムチャートである。 (a)~(i)兼用表示部にて停止順対応表示が行われないゲームにおいて兼用表示部が全消灯状態となる様子を示すタイムチャートである。 (a)第8の実施形態における主側RAMの構成を説明するための説明図であり、(b)主側MPUにて実行される抽選結果対応処理を示すフローチャートである。 主側MPUにて実行されるタイマ減算処理を示すフローチャートである。 (a)~(j)兼用表示部にて停止順対応表示が行われないゲームにおいて兼用表示部が全消灯状態となる様子を示すタイムチャートである。 (a)第9の実施形態における兼用表示部にて実行される非誘導表示の表示態様を説明するための説明図であり、(b)兼用表示部にて非誘導表示が実行される条件、停止順対応表示が実行される条件、比率表示が実行される条件及び付与数表示が実行される条件を説明するための説明図であり、(c)主側MPUにて実行される抽選結果対応処理を示すフローチャートである。 主側MPUにて実行されるポート出力処理を示すフローチャートである。 (a)~(h)兼用表示部にて非誘導表示が実行される様子を示すタイムチャートである。 (a)第10の実施形態における主側MPUにて実行される開始時上乗せ用処理のプログラム内容を説明するための説明図であり、(b),(c)開始時上乗せ用処理及び開始時上乗せ用処理の第3比較例において「ADR141」というプログラムアドレス及び「ADR142」というプログラムアドレスから「ADR133」というプログラムアドレスにジャンプするために設定されているジャンプ命令を説明するための説明図である。 (a)第11の実施形態における主側MPUが備えているジャンプ命令の実行回路を説明するための説明図であり、(b)上乗せ抽選を実行するための主側ROMの構成を説明するための説明図であり、(c)第3上乗せ抽選テーブルの内容を説明するための説明図であり、(d)インデックス値カウンタの値と、「2」を減算する演算の実行後におけるゼロフラグ及びキャリーフラグの値との関係を説明するための説明図である。 (a)主側MPUにて実行される開始時上乗せ用処理のプログラム内容を説明するための説明図であり、(b)開始時上乗せ用処理の第4比較例のプログラム内容を説明するための説明図であり、(c)開始時上乗せ用処理及び開始時上乗せ用処理の第4比較例において、第1~第3上乗せ抽選テーブルを選択するために設定されている命令を説明するための説明図である。 (a)第12の実施形態における上乗せ抽選を実行するための主側ROMの構成を説明するための説明図であり、(b)抽選演出を実行するための主側RAMの構成を説明するための説明図であり、(c)主側MPUにて実行されるAT用処理を示すフローチャートである。 主側MPUにて実行される開始時上乗せ用処理を示すフローチャートである。 (a),(b)開始時上乗せ用処理及び開始時上乗せ用処理の第5比較例において、「ADR161」というプログラムアドレス及び「ADR162」というプログラムアドレスから「ADR163」というプログラムアドレスにジャンプするために設定されているジャンプ命令を説明するための説明図である。 (a)第13の実施形態における開始時上乗せ用処理のプログラム内容を説明するための説明図であり、(b),(c)開始時上乗せ用処理及び開始時上乗せ用処理の第6比較例において、抽選実行処理を呼び出すために設定されている命令を説明するための説明図である。
<第1の実施形態>
以下、遊技機の一種であるスロットマシン10に本発明を適用した場合の第1の実施形態を、図面に基づいて詳細に説明する。図1はスロットマシン10の正面図であり、図2はスロットマシン10の前面扉12を開いた状態の斜視図であり、図3は筐体11の正面図である。
図2及び図3に示すように、スロットマシン10は、その外殻を形成する筐体11を備えている。筐体11は、複数の木製パネルが固定されることにより、全体として前方に開放された箱状に形成されている。
筐体11の前面側には、図1及び図2に示すように前面扉12が取り付けられている。前面扉12は筐体11の左側部に設けられた軸部15を回動軸として、筐体11の内部空間を開閉可能とするように筐体11に支持されている。なお、前面扉12は、その裏面に設けられた施錠装置13によって開放不能に施錠状態とされており、この施錠状態は、キーシリンダ14への所定のキーによる解錠操作により解除される。
前面扉12の中央部上寄りには図1に示すように、遊技パネル20が設けられている。遊技パネル20には、縦長の3つの表示窓部21L,21M,21Rが横並びとなるように形成されている。表示窓部21L,21M,21Rは透明又は半透明の材質により形成されており、各表示窓部21L,21M,21Rを通じてスロットマシン10の内部が視認可能な状態となっている。
図2及び図3に示すように、筐体11は仕切り板11aによりその内部が上下2分割されており、仕切り板11aの上部にはリールユニット31が取り付けられている。リールユニット31は、円筒状にそれぞれ形成された左リール32L、中リール32M及び右リール32Rを備えている。各リール32L,32M,32Rは、その中心軸線が当該リール32L,32M,32Rの回転軸線となるように回転可能に支持されている。各リール32L,32M,32Rの回転軸線は略水平方向に延びる同一軸線上に配設され、それぞれのリール32L,32M,32Rが各表示窓部21L,21M,21Rと1対1で対応している。したがって、各リール32L,32M,32Rの表面の一部はそれぞれ対応する表示窓部21L,21M,21Rを通じて視認可能な状態となっている。また、リール32L,32M,32Rが正回転すると、各表示窓部21L,21M,21Rを通じてリール32L,32M,32Rの表面は上から下へ向かって移動しているかのように映し出される。
遊技パネル20の下方左側には図1に示すように、各リール32L,32M,32Rの回転を開始させるために操作されるスタートレバー41が設けられている。メダル及び仮想メダルのいずれかである遊技媒体(又は遊技価値)が所定数以上ベットされているときにこのスタートレバー41が操作されると、各リール32L,32M,32Rが一斉に回転を始める。
スタートレバー41の右側には、回転している各リール32L,32M,32Rを個別に停止させるために操作されるストップボタン42,43,44が設けられている。各ストップボタン42,43,44は停止対象となるリール32L,32M,32Rに対応する表示窓部21L,21M,21Rの直下にそれぞれ配置されている。各ストップボタン42,43,44は、左リール32Lが回転を開始してから所定時間が経過すると停止させることが可能な状態となる。
なお、スタートレバー41の操作に基づき各リール32L,32M,32Rの回転が開始され、各ストップボタン42,43,44の操作に基づき各リール32L,32M,32Rが回転を停止して、遊技媒体の付与及び遊技状態の管理といった各種処理の実行が完了するまでが、1回のゲーム(遊技回)に相当する。
表示窓部21L,21M,21Rの下方右側にはメダルを投入するためのメダル投入口45が設けられている。メダル投入口45から投入されたメダルは、図2に示すように、前面扉12の背面に設けられたセレクタ52によって、受付許可時であればホッパ装置53へ導かれ、受付禁止時であれば前面扉12の前面下部に設けられたメダル排出口58からメダル受け皿59へと導かれる(図1参照)。なお、ホッパ装置53は、後述するメインラインML上に遊技媒体の付与に対応する入賞が成立した場合に、貯留タンクに貯留されたメダルを、メダル排出口58を通じてメダル受け皿59に払い出す機能を有している。メダル投入口45の下方には、図1に示すように、メダル投入口45に投入されたメダルがセレクタ52内に詰まった際に押される返却ボタン46が設けられている。
表示窓部21L,21M,21Rの下方左側には、クレジットされた仮想メダルを一度にベット可能な最大分投入するための第1クレジット投入ボタン47と、仮想メダルを一度に2枚投入するための第2クレジット投入ボタン48とが設けられている。本スロットマシン10では一度にベット(すなわち賭け設定)することが可能な遊技媒体(メダル又は仮想メダル)の数が「3」となる状況と「2」となる状況とが存在している。
一度にベット可能な数が「3」である状況であって現状のベット数が「0」であるとともに3枚以上の仮想メダルが貯留記憶されている状況において第1クレジット投入ボタン47が操作された場合には仮想メダルが3枚減少する代わりにベット数が「3」となる。一度にベット可能な数が「3」である状況であって現状のベット数が「1」であるとともに2枚以上の仮想メダルが貯留記憶されている状況において第1クレジット投入ボタン47が操作された場合には仮想メダルが2枚減少する代わりにベット数が「3」となる。一度にベット可能な数が「3」である状況であって現状のベット数が「2」であるとともに1枚以上の仮想メダルが貯留記憶されている状況において第1クレジット投入ボタン47が操作された場合には仮想メダルが1枚減少する代わりにベット数が「3」となる。一度にベット可能な数が「2」である状況であって現状のベット数が「0」であるとともに2枚以上の仮想メダルが貯留記憶されている状況において第1クレジット投入ボタン47が操作された場合には仮想メダルが2枚減少する代わりにベット数が「2」となる。一度にベット可能な数が「2」である状況であって現状のベット数が「1」であるとともに1枚以上の仮想メダルが貯留記憶されている状況において第1クレジット投入ボタン47が操作された場合には仮想メダルが1枚減少する代わりにベット数が「2」となる。
なお、貯留記憶されている仮想メダルの枚数が、ベット可能な数に対する現状のベット数の差よりも少ない場合に第1クレジット投入ボタン47が操作された場合には、ベット数がその仮想メダルの枚数分増加するとともに、仮想メダルの枚数が0枚となる。
一度にベット可能な数が「3」である状況であって現状のベット数が「0」であるとともに2枚以上の仮想メダルが貯留記憶されている状況において第2クレジット投入ボタン48が操作された場合には仮想メダルが2枚減少する代わりにベット数が「2」となる。一度にベット可能な数が「3」である状況であって現状のベット数が「1」であるとともに1枚以上の仮想メダルが貯留記憶されている状況において第2クレジット投入ボタン48が操作された場合には仮想メダルが1枚減少する代わりにベット数が「2」となる。一度にベット可能な数が「2」である状況であって現状のベット数が「0」であるとともに2枚以上の仮想メダルが貯留記憶されている状況において第2クレジット投入ボタン48が操作された場合には仮想メダルが2枚減少する代わりにベット数が「2」となる。一度にベット可能な数が「2」である状況であって現状のベット数が「1」であるとともに1枚以上の仮想メダルが貯留記憶されている状況において第2クレジット投入ボタン48が操作された場合には仮想メダルが1枚減少する代わりにベット数が「2」となる。
なお、貯留記憶されている仮想メダルの枚数が1枚であって現状のベット数が「0」である状況において第2クレジット投入ボタン48が操作された場合には、ベット数が「1」となるとともに、仮想メダルの枚数が0枚となる。
第1クレジット投入ボタン47は第2クレジット投入ボタン48よりも、遊技者によるボタン操作に際して押圧されることとなる押圧面が広い。これにより、第1クレジット投入ボタン47の操作性が高められている。
スタートレバー41の左側には、精算ボタン51が設けられている。本スロットマシン10では、所定の最大値(メダル50枚分)となるまでの余剰の投入メダルや入賞時の払出メダルを仮想メダルとして貯留記憶するクレジット機能を有している。仮想メダルが貯留記憶されている状況下で精算ボタン51が操作された場合、仮想メダルが現実のメダルとしてメダル排出口58から払い出されるようになっている。
筐体11の内部においてホッパ装置53の左方には、図2及び図3に示すように、電源装置54が設けられている。電源装置54には、電源投入時や電源遮断時に操作される電源スイッチ55と、スロットマシン10の各種状態をリセットするためのリセットボタン56と、スロットマシン10の設定値を「1」から「6」の範囲で変更するために、遊技ホールの管理者が保有する設定キーが挿入されて操作される設定キー挿入孔57とが設けられている。
次に、各リール32L,32M,32Rに付されている図柄について説明する。
図4には、左リール32L、中リール32M及び右リール32Rの図柄配列が示されている。同図に示すように、各リール32L,32M,32Rには、それぞれ21個の図柄が一列に配置されている。また、各リール32L,32M,32Rに対応させて番号が「0」~「20」まで付されているが、これら番号は後述する主制御装置70が表示窓部21L,21M,21Rから視認可能な状態となっている図柄を認識するための番号であり、リール32L,32M,32Rに実際に付されているわけではない。但し、以下の説明では当該番号を使用して説明する。
図柄としては、「ベル」図柄(例えば、左リール32Lの20番目)、「リプレイ」図柄(例えば、左リール32Lの19番目)、「スイカ」図柄(例えば、左リール32Lの18番目)、「赤7」図柄(例えば、左リール32Lの15番目)、「BAR」図柄(例えば、左リール32Lの10番目)、「チェリー」図柄(例えば、左リール32Lの9番目)、「白7」図柄(例えば、左リール32Lの5番目)の7種類がある。そして、各リール32L,32M,32Rにおいて各種図柄の数や配置順序は異なっている。
図5は、表示窓部21L,21M,21Rの正面図である。各表示窓部21L,21M,21Rは、対応するリール32L,32M,32Rに付された21個の図柄のうち図柄全体が視認可能となる図柄が3個となるように形成されている。このため、各リール32L,32M,32Rがすべて停止している状態では、3×3=9個の図柄が表示窓部21L,21M,21Rを介して視認可能な状態となる。
本スロットマシン10では、各リール32L,32M,32Rの図柄が視認可能となる位置を結ぶようにして、1本のメインラインMLが設定されている。メインラインMLは、左リール32Lの中段図柄、中リール32Mの中段図柄及び右リール32Rの中段図柄を結んだラインである。所定数以上の遊技媒体がベットされた状態で各リール32L,32M,32Rの回転が開始され、当該メインラインML上に当選役に対応した入賞が成立した場合には、遊技媒体の付与という利益、再遊技という利益及び遊技状態の移行のいずれかが付与される。
つまり、本スロットマシン10では、入賞が成立し得るラインとして1本のメインラインMLのみが設定されている。そして、当該メインラインMLは一直線に延びるラインとして設定されている。したがって、左リール32Lの上段図柄、中リール32Mの中段図柄及び右リール32Rの下段図柄を結んだサブラインSL1と、左リール32Lの上段図柄、中リール32Mの上段図柄及び右リール32Rの上段図柄を結んだサブラインSL2と、左リール32Lの下段図柄、中リール32Mの下段図柄及び右リール32Rの下段図柄を結んだサブラインSL3と、左リール32Lの下段図柄、中リール32Mの中段図柄及び右リール32Rの上段図柄を結んだサブラインSL4といった1直線に延びるライン上に、入賞対象となる図柄の組合せが成立したとしても、入賞は成立しない。
以下、図6を参照しながら、入賞となる図柄の組合せと、入賞となった場合に付与される特典との対応関係を説明する。図6は、入賞となる図柄の組合せと、入賞となった場合に付与される特典との対応関係を説明するための説明図である。
遊技媒体の付与が行われる小役入賞としては、第1補填入賞、第2補填入賞、第3補填入賞、第4補填入賞、第5補填入賞、第6補填入賞、第7補填入賞、第8補填入賞、第9補填入賞、第1ベル入賞、第2ベル入賞、第1スイカ入賞、第2スイカ入賞及びチェリー入賞がある。詳細には、メインラインMLにおいて左リール32Lの停止図柄が「ベル」図柄であり中リール32Mの停止図柄が「ベル」図柄であり右リール32Rの停止図柄が「赤7」図柄である場合、第1補填入賞となる。メインラインMLにおいて左リール32Lの停止図柄が「ベル」図柄であり中リール32Mの停止図柄が「赤7」図柄であり右リール32Rの停止図柄が「ベル」図柄である場合、第2補填入賞となる。メインラインMLにおいて左リール32Lの停止図柄が「赤7」図柄であり中リール32Mの停止図柄が「ベル」図柄であり右リール32Rの停止図柄が「ベル」図柄である場合、第3補填入賞となる。メインラインMLにおいて左リール32Lの停止図柄が「ベル」図柄であり中リール32Mの停止図柄が「ベル」図柄であり右リール32Rの停止図柄が「BAR」図柄である場合、第4補填入賞となる。メインラインMLにおいて左リール32Lの停止図柄が「ベル」図柄であり中リール32Mの停止図柄が「BAR」図柄であり右リール32Rの停止図柄が「ベル」図柄である場合、第5補填入賞となる。メインラインMLにおいて左リール32Lの停止図柄が「BAR」図柄であり中リール32Mの停止図柄が「ベル」図柄であり右リール32Rの停止図柄が「ベル」図柄である場合、第6補填入賞となる。メインラインMLにおいて左リール32Lの停止図柄が「ベル」図柄であり中リール32Mの停止図柄が「ベル」図柄であり右リール32Rの停止図柄が「白7」図柄である場合、第7補填入賞となる。メインラインMLにおいて左リール32Lの停止図柄が「ベル」図柄であり中リール32Mの停止図柄が「白7」図柄であり右リール32Rの停止図柄が「ベル」図柄である場合、第8補填入賞となる。メインラインMLにおいて左リール32Lの停止図柄が「白7」図柄であり中リール32Mの停止図柄が「ベル」図柄であり右リール32Rの停止図柄が「ベル」図柄である場合、第9補填入賞となる。第1補填入賞~第9補填入賞のいずれかとなった場合、遊技媒体の付与対象数が「1」となる。
メインラインML上において左リール32Lの停止図柄が「ベル」図柄であり中リール32Mの停止図柄が「ベル」図柄であり右リール32Rの停止図柄が「ベル」図柄である場合、第1ベル入賞となる。メインラインML上において左リール32Lの停止図柄が「ベル」図柄であり中リール32Mの停止図柄が「ベル」図柄であり右リール32Rの停止図柄が「リプレイ」図柄である場合、第2ベル入賞となる。第1ベル入賞及び第2ベル入賞のいずれかとなった場合、遊技媒体の付与対象数が「15」となる。
メインラインML上において左リール32Lの停止図柄が「スイカ」図柄であり中リール32Mの停止図柄が「スイカ」図柄であり右リール32Rの停止図柄が「スイカ」図柄である場合、第1スイカ入賞となる。メインラインML上において左リール32Lの停止図柄が「スイカ」図柄であり中リール32Mの停止図柄が「スイカ」図柄であり右リール32Rの停止図柄が「BAR」図柄である場合、第2スイカ入賞となる。第1スイカ入賞及び第2スイカ入賞のいずれかとなった場合、遊技媒体の付与対象数が「5」となる。メインラインML上において左リール32Lの停止図柄が「チェリー」図柄となった場合、中リール32Mの停止図柄及び右リール32Rの停止図柄がいずれであったとしてもチェリー入賞となる。チェリー入賞となった場合、遊技媒体の付与対象数が「2」となる。
遊技媒体をベットすることなく次ゲームの遊技を行うことが可能な再遊技の特典が付与される入賞として、通常リプレイ入賞、第1チャンスリプレイ入賞及び第2チャンスリプレイ入賞がある。詳細には、メインラインML上において左リール32Lの停止図柄が「リプレイ」図柄であり中リール32Mの停止図柄が「リプレイ」図柄であり右リール32Rの停止図柄が「リプレイ」図柄である場合、メインラインML上において左リール32Lの停止図柄が「赤7」図柄であり中リール32Mの停止図柄が「赤7」図柄であり右リール32Rの停止図柄が「BAR」図柄である場合、メインラインML上において左リール32Lの停止図柄が「リプレイ」図柄であり中リール32Mの停止図柄が「赤7」図柄であり右リール32Rの停止図柄が「リプレイ」図柄である場合、メインラインML上において左リール32Lの停止図柄が「リプレイ」図柄であり中リール32Mの停止図柄が「赤7」図柄であり右リール32Rの停止図柄が「BAR」図柄である場合、又はメインラインML上において左リール32Lの停止図柄が「スイカ」図柄であり中リール32Mの停止図柄が「赤7」図柄であり右リール32Rの停止図柄が「ベル」図柄である場合、通常リプレイ入賞となる。メインラインML上において左リール32Lの停止図柄が「リプレイ」図柄であり中リール32Mの停止図柄が「チェリー」図柄であり右リール32Rの停止図柄が「ベル」図柄である場合、第1チャンスリプレイ入賞となる。メインラインML上において左リール32Lの停止図柄が「スイカ」図柄であり中リール32Mの停止図柄が「ベル」図柄であり右リール32Rの停止図柄が「リプレイ」図柄である場合、第2チャンスリプレイ入賞となる。
上記いずれかのリプレイ入賞となった場合、遊技媒体のベットを不要としながら次ゲームの遊技を行うことが可能となる再遊技の特典が付与される。具体的には、「3」の遊技媒体をベットしたゲームにおいていずれかのリプレイ入賞となった場合、遊技媒体のベットを不要としながら、「3」の遊技媒体がベットされた状態で次ゲームの遊技を開始することが可能となる。また、「2」の遊技媒体をベットしたゲームにおいていずれかのリプレイ入賞となった場合、遊技媒体のベットを不要としながら、「2」の遊技媒体がベットされた状態で次ゲームの遊技を開始することが可能となる。
遊技状態の移行のみが行われる状態移行入賞として、第1CB入賞及び第2CB入賞がある。詳細には、メインラインML上において左リール32Lの停止図柄が「赤7」図柄であり中リール32Mの停止図柄が「赤7」図柄であり右リール32Rの停止図柄が「白7」図柄である場合、第1CB入賞となる。メインラインML上において左リール32Lの停止図柄が「白7」図柄であり中リール32Mの停止図柄が「白7」図柄であり右リール32Rの停止図柄が「赤7」図柄である場合、第2CB入賞となる。第1CB入賞が成立した場合には遊技状態が第1CB状態ST2に移行し、第2CB入賞が成立した場合には遊技状態が第2CB状態ST3に移行する(図23参照)。
第1CB状態ST2及び第2CB状態ST3は、メインラインMLに小役入賞に対応した図柄の組合せが停止すると、当選役の有無に関わらず入賞成立としてメダルの払い出しが行われる遊技状態である。例えば、第1ベル入賞に対応する当選データがセットされていない場合であっても、第1ベル入賞に対応した図柄の組合せがメインラインML上に停止すると遊技媒体が遊技者に付与される。一方、リプレイ入賞に関しては、抽選で対応する役に当選していることを条件として成立する。
第1CB状態ST2及び第2CB状態ST3では、非CB状態とは異なるリール制御が行われる。非CB状態では、ストップボタン42~44が操作されてから最大4図柄分まで滑らせることが可能なリール制御が、各リール32L,32M,32Rについて行われる。つまり、非CB状態では、ストップボタン42~44が操作されてから規定時間(190ミリ秒)が経過するまでに停止させるリール制御が、各リール32L,32M,32Rについて行われる。一方、第1CB状態ST2及び第2CB状態ST3では、中リール32M及び右リール32Rについて上記リール制御、すなわち通常ゲームと同様のリール制御が行われるが、左リール32Lについて上記リール制御が行われない。左リール32Lについては、左ストップボタン42が操作されてから最大1図柄分までしか滑らせないリール制御が行われる。つまり、第1CB状態ST2及び第2CB状態ST3では、左ストップボタン42が操作されてから規定時間より短い規定時間(75msec)が経過するまでに停止させるリール制御が、左リール32Lについて行われる。
なお、第1CB状態ST2及び第2CB状態ST3において、最大1図柄分までしか滑らないリール制御は、左リール32Lに限定されるものではなく、最初に操作されたストップボタンに対応したリールについて最大1図柄分までしか滑らない制御が行われてもよく、予め定められたリールについてのみ最大1図柄分しか滑らないリール制御が行われてもよい。さらには、2番目に操作されたストップボタン又は最後に操作されたストップボタンに対応したリールについて最大1図柄分までしか滑らないリール制御が行われるといったように、ある順番目に操作されたストップボタンに対応したリールについて最大1図柄分しか滑らないリール制御が行われてもよい。
第1CB状態ST2及び第2CB状態ST3では、リプレイ入賞に対応した役に当選している場合にはリプレイ入賞が優先され、リプレイ入賞が不可であれば第1ベル入賞が成立し得る。また、リプレイ入賞に対応した役に当選していない場合にも第1ベル入賞が成立し得る。
第1CB状態ST2及び第2CB状態ST3はいずれも遊技者が所有している遊技媒体を増加させない遊技状態である。さらに言うと、第1CB状態ST2及び第2CB状態ST3はいずれも当該遊技状態の開始時に遊技者が所有している遊技媒体の数よりも当該遊技状態の終了時に遊技者が所有している遊技媒体の数を少なくする遊技状態である。
次に、各種報知及び各種演出を実行するための装置について説明する。
前面扉12の上部には、図1に示すように、上部ランプ61及びスピーカ62が設けられているとともに画像表示装置63が設けられている。上部ランプ61は、スロットマシン10において異常が発生した場合に当該異常に対応した態様で発光制御されるとともに、入賞結果に応じた態様で発光制御される。また、上部ランプ61は、画像表示装置63における表示演出に対応した発光演出が行われるように発光制御される。スピーカ62は左右一対として設けられており、スロットマシン10において異常が発生した場合に当該異常に対応した音又は音声が出力されるように音出力制御されるとともに、入賞結果に対応した音又は音声が出力されるように音出力制御される。また、スピーカ62は、画像表示装置63における表示演出に対応した音出力演出が行われるように音出力制御される。
画像表示装置63は表示面を有しており、液晶ディスプレイを備えた液晶表示装置として構成されているが、液晶表示装置に限定されることはなく、プラズマディスプレイ装置、有機EL表示装置又はCRTといった表示面を有する他の表示装置であってもよく、ドットマトリクス表示器であってもよい。スロットマシン10において異常が発生した場合には当該異常に対応した画像が当該表示面にて表示されるように表示制御される。また、画像表示装置63は、内部抽選における役の当選結果及び各ゲームにおける入賞結果に対応した画像が表示面にて表示されるように表示制御される。つまり、画像表示装置63では表示演出が実行される。
前面扉12の遊技パネル20には、表示窓部21L,21M,21Rの下方の位置に、貯留記憶された仮想メダルの数を表示するクレジット表示部65と、小役入賞時に付与対象となった遊技媒体数を表示するとともに画像表示装置63においてリール32L,32M,32Rの停止順序が報知される場合にその報知される内容に対応した表示が行われ、さらには遊技履歴の管理結果を報知するための表示が行われる兼用表示部66と、遊技区間が第2区間であることに対応した表示が行われる区間表示部67とが設けられている。クレジット表示部65は7セグメント表示器によって構成されており、各セグメントには緑色などの単色発光タイプのLEDが用いられている。
図7(a)は兼用表示部66及び区間表示部67が設けられた共通表示領域68の正面図である。共通表示領域68には、図7(a)に示すように2個の7セグメント表示器66a,66bが横方向に並設された兼用表示部66と、1個の発光部からなる区間表示部67とが集約されている。
遊技媒体の付与に対応するいずれかの小役入賞(第1~第9補填入賞、第1ベル入賞、第2ベル入賞、第1スイカ入賞、第2スイカ入賞又はチェリー入賞)が成立した場合には、その小役入賞が成立したゲームの終了時にその小役入賞に対応する遊技媒体の付与数が兼用表示部66にて表示される。具体的には、非CB状態において第1~第9補填入賞のいずれかが成立した場合には左側の7セグメント表示器66aは非表示となるとともに右側の7セグメント表示器66bに「1」が表示されることによって「1」の遊技媒体が付与されたことが報知される。非CB状態において第1ベル入賞及び第2ベル入賞のいずれかが成立した場合には左側の7セグメント表示器66aに「1」が表示されるとともに右側の7セグメント表示器66bに「5」が表示されることによって「15」の遊技媒体が付与されたことが報知される。また、非CB状態において第1スイカ入賞及び第2スイカ入賞のいずれかが成立した場合には左側の7セグメント表示器66aは非表示となるとともに右側の7セグメント表示器66bに「5」が表示されることによって「5」の遊技媒体が付与されたことが報知される。また、非CB状態においてチェリー入賞が成立した場合には左側の7セグメント表示器66aは非表示となるとともに右側の7セグメント表示器66bに「2」が表示されることによって「2」の遊技媒体が付与されたことが報知される。
第1CB状態ST2及び第2CB状態ST3においては、詳細は後述するように小役の入賞により付与される遊技媒体の数は「1」である。したがって、第1CB状態ST2又は第2CB状態ST3において小役の入賞が成立した場合には左側の7セグメント表示器66aは非表示となるとともに右側の7セグメント表示器66bに「1」が表示されることによって「1」の遊技媒体が付与されたことが報知される。
一方、いずれかのリプレイ入賞及びいずれかのCB入賞といった遊技媒体が付与されない入賞が成立したとしても、その入賞に対応する表示が兼用表示部66にて行われることはなく、この場合には左側の7セグメント表示器66a及び右側の7セグメント表示器66bに「0」が表示されることによって小役入賞が成立しなかったことが報知される。兼用表示部66における遊技媒体の付与数の表示は、その表示が行われたゲームの次ゲームを開始させるために遊技媒体がベットされた場合に終了され、このベットされたタイミングにおいて左側の7セグメント表示器66a及び右側の7セグメント表示器66bに「0」が表示される。ゲームを開始させるために遊技媒体がベットされる場合とは、クレジット投入ボタン47,48の操作が行われることにより「1」以上の遊技媒体がベットされる場合、又はメダル投入口45に投入されたメダルが後述する投入メダル検出センサ45aにて検出される場合である。
画像表示装置63においてリール32L,32M,32Rの停止順序が報知される場合には、その報知される停止順序に対応する情報が兼用表示部66にて表示される。本明細書では、画像表示装置63にて行われるリール32L,32M,32Rの停止順序の報知を停止順報知ともいう。また、兼用表示部66にて行われるリール32L,32M,32Rの停止順序に対応する表示を停止順対応表示ともいう。図7(b)は兼用表示部66にて実行される停止順対応表示の表示内容を説明するための説明図である。本スロットマシン10では画像表示装置63にて報知されるリール32L,32M,32Rの停止順序として、第1停止が左リール32Lであり第2停止が中リール32Mであり第3停止が右リール32Rである第1停止順序と、第1停止が左リール32Lであり第2停止が右リール32Rであり第3停止が中リール32Mである第2停止順序と、第1停止が中リール32Mであり第2停止が左リール32Lであり第3停止が右リール32Rである第3停止順序と、第1停止が中リール32Mであり第2停止が右リール32Rであり第3停止が左リール32Lである第4停止順序と、第1停止が右リール32Rであり第2停止が左リール32Lであり第3停止が中リール32Mである第5停止順序と、第1停止が右リール32Rであり第2停止が中リール32Mであり第3停止が左リール32Lである第6停止順序と、第1停止が左リール32Lであり残りが任意である第7停止順序と、第1停止が中リール32Mであり残りが任意である第8停止順序と、第1停止が右リール32Rであり残りが任意である第9停止順序とが存在している。
画像表示装置63における停止順報知は、非CB状態における役の抽選処理にて、第1ベル当選データを含むとともに第1~第6補填当選データのいずれかを含む役に当選した場合、又は第2ベル当選データを含むとともに第7~第9補填当選データのいずれかを含む役に当選した場合に実行され得る。具体的には、第1ベル当選データを含むとともに第1~第6補填当選データのいずれかを含む役に当選した場合、上記各停止順序のうち今回の当選役に対応する停止順序でリール32L,32M,32Rが停止された場合に第1ベル入賞が成立し、今回の当選役に対応する停止順序でリール32L,32M,32Rが停止されなかった場合には第1~第6補填入賞のいずれかが成立し得る。第1ベル入賞が成立した場合には既に説明したとおり「15」の遊技媒体が遊技者に付与され、第1~第6補填入賞のいずれかが成立した場合には既に説明したとおり「1」の遊技媒体が遊技者に付与される。
第2ベル当選データを含むとともに第7~第9補填当選データのいずれかを含む役に当選した場合、上記各停止順序のうち今回の当選役に対応する停止順序でリール32L,32M,32Rが停止された場合に第2ベル入賞が成立し、今回の当選役に対応する停止順序でリール32L,32M,32Rが停止されなかった場合には第7~第9補填入賞のいずれかが成立し得る。第2ベル入賞が成立した場合には既に説明したとおり「15」の遊技媒体が遊技者に付与され、第7~第9補填入賞のいずれかが成立した場合には既に説明したとおり「1」の遊技媒体が遊技者に付与される。
上記停止順序のいずれかが画像表示装置63にて報知される場合には、兼用表示部66における左側の7セグメント表示器66aは非表示の状態が維持される一方、右側の7セグメント表示器66bにてその報知対象の停止順序に対応する表示(停止順対応表示)が行われる。兼用表示部66における停止順対応表示の表示内容は、画像表示装置63における停止順報知の報知内容に対して、1対1で対応させて設定されている。具体的には、図7(b)に示すように、画像表示装置63にて第1停止順序が報知される場合には兼用表示部66にて第1停止順対応表示が行われ、画像表示装置63にて第2停止順序が報知される場合には兼用表示部66にて第2停止順対応表示が行われ、画像表示装置63にて第3停止順序が報知される場合には兼用表示部66にて第3停止順対応表示が行われ、画像表示装置63にて第4停止順序が報知される場合には兼用表示部66にて第4停止順対応表示が行われ、画像表示装置63にて第5停止順序が報知される場合には兼用表示部66にて第5停止順対応表示が行われ、画像表示装置63にて第6停止順序が報知される場合には兼用表示部66にて第6停止順対応表示が行われ、画像表示装置63にて第7停止順序が報知される場合には兼用表示部66にて第7停止順対応表示が行われ、画像表示装置63にて第8停止順序が報知される場合には兼用表示部66にて第8停止順対応表示が行われ、画像表示装置63にて第9停止順序が報知される場合には兼用表示部66にて第9停止順対応表示が行われる。なお、画像表示装置63における停止順序の報知内容の一部又は全部に対しては兼用表示部66の複数種類の表示内容が対応させて設定されている構成としてもよい。
本明細書では、兼用表示部66にて実行される遊技媒体の付与数を示す表示、並びに兼用表示部66にて停止順対応表示及び後述する比率表示が実行されていない場合における「00」の表示を「付与数表示」ともいう。付与数表示は後述する付与数カウンタ74e(図14参照)の値に基づいて兼用表示部66にて実行される表示である。兼用表示部66における停止順対応表示の表示内容は、兼用表示部66における付与数表示の表示内容と相違している。これにより、兼用表示部66にて付与数表示が実行されている状態と、停止順対応表示が実行されている状態とを区別し易くなる。
図8(a)及び図8(b)は画像表示装置63にて実行される停止順報知の報知内容と兼用表示部66にて実行される停止順対応表示の表示内容との関係を説明するための説明図である。画像表示装置63にてリール32L,32M,32Rの停止順報知が実行される場合、図8(a)に示すように、画像表示装置63にはゲームを終了させるために必要な停止操作の回数と同数の単位表示画像G1~G3が表示され、各単位表示画像G1~G3においてリール32L,32M,32Rの停止順序に対応する画像表示が行われる。具体的には左リール32Lに対応する左単位表示画像G1と、中リール32Mに対応する中単位表示画像G2と、右リール32Rに対応する右単位表示画像G3とが表示される。そして、図8(a)においては第1停止が中リール32Mであり第2停止が左リール32Lであり第3停止が右リール32Rである場合の停止順序(第3停止順序)が報知される様子を示しているため、左単位表示画像G1には左リール32Lの停止順序に対応する「2」の画像が表示され、中単位表示画像G2には中リール32Mの停止順序に対応する「1」の画像が表示され、右単位表示画像G3には右リール32Rの停止順序に対応する「3」の画像が表示される。
画像表示装置63においては上記のようにリール32L,32M,32Rの停止順序そのものを報知する画像が表示されるのに対して、兼用表示部66では図8(b)に示すように、上記リール32L,32M,32Rの停止順序(第3停止順序)に対応する「L」の表示が行われる。つまり、画像表示装置63においてはリール32L,32M,32Rの数に対応する単位表示画像G1~G3が表示されるとともに各単位表示画像G1~G3において対応するリール32L,32M,32Rの停止順序に対応する画像表示が行われるのに対して、兼用表示部66ではリール32L,32M,32Rの数とは無関係な表示が行われる。これにより、兼用表示部66においてリール32L,32M,32Rの停止順序の報知内容に対応する表示が行われるとしても、画像表示装置63における表示内容に遊技者を注目させることが可能となる。
兼用表示部66の表示範囲は画像表示装置63の表示範囲よりも狭い範囲となっている。この点からも、画像表示装置63に比べて兼用表示部66に対する遊技者の注目度を低下させることが可能となる。また、兼用表示部66は、リール32L,32M,32Rを視認可能とする表示窓部21L,21M,21Rを挟んで画像表示装置63側とは逆側に存在している。これにより、画像表示装置63に対して兼用表示部66が離間された位置に配置されることとなり、これによっても兼用表示部66に対する遊技者の注目度を低下させることが可能となる。
リール32L,32M,32Rの停止順序が報知される場合、兼用表示部66におけるリール32L,32M,32Rの停止順対応表示及び画像表示装置63におけるリール32L,32M,32Rの停止順報知は役の抽選が行われた後であってリール32L,32M,32Rの停止操作が有効化される前に開始される。この場合、兼用表示部66におけるリール32L,32M,32Rの停止順対応表示は、画像表示装置63におけるリール32L,32M,32Rの停止順報知と同時又は略同時に開始される。また、兼用表示部66における停止順対応表示及び画像表示装置63における停止順報知は、これら停止順対応表示及び停止順報知の実行対象となったゲームにおいて全てのリール32L,32M,32Rに対して停止指令が発生した場合に終了される。なお、兼用表示部66におけるリール32L,32M,32Rの停止順対応表示の方が画像表示装置63におけるリール32L,32M,32Rの停止順報知よりも先に開始される構成としてもよく、画像表示装置63におけるリール32L,32M,32Rの停止順報知の方が兼用表示部66におけるリール32L,32M,32Rの停止順対応表示よりも先に開始される構成としてもよい。また、兼用表示部66におけるリール32L,32M,32Rの停止順対応表示の方が画像表示装置63におけるリール32L,32M,32Rの停止順報知よりも先に終了する構成としてもよく、画像表示装置63におけるリール32L,32M,32Rの停止順報知の方が兼用表示部66におけるリール32L,32M,32Rの停止順対応表示よりも先に終了する構成としてもよい。
兼用表示部66は共通表示領域68において中央側に配置されているのに対して、区間表示部67は共通表示領域68の隅角側に配置されている。区間表示部67は、遊技区間が第1区間SC1及び第2区間SC2のうち第2区間SC2であることを報知するための表示部である(図23参照)。第2区間SC2とは、リール32L,32M,32Rの停止順序に応じて成立対象となる入賞が異なる役に当選した場合に遊技者にとって有利な入賞の成立を可能とするリール32L,32M,32Rの停止順序が報知されることで1ゲームにおける遊技媒体の獲得期待値(「1ゲームにおける遊技媒体の付与期待数」から「1ゲームにおいてベットされた遊技媒体数」を減算した値)が1以上となり得る有利な遊技状態(具体的には疑似ボーナス状態ST4及びAT状態ST5)が開始され得る区間であって当該有利な遊技状態が継続し得る区間である。一方、第1区間SC1とは、上記有利な遊技状態が開始されない区間であって上記有利な遊技状態が継続しない区間である。
区間表示部67は、遊技区間が第1区間SC1から第2区間SC2に移行した場合に消灯状態から点灯状態となる。区間表示部67は、点灯状態となった場合、その後に第2区間SC2が終了するまでその点灯状態が維持され、第2区間SC2が終了して第1区間SC1に移行する場合に消灯状態となる。したがって、疑似ボーナス状態ST4又はAT状態ST5が終了して通常遊技状態ST1に復帰したとしても第2区間SC2が維持されることがあるが、この場合、疑似ボーナス状態ST4又はAT状態ST5が終了したとしても区間表示部67は点灯状態に維持され、第2区間SC2が終了する場合に区間表示部67は消灯状態となる。遊技ホールの管理者は、区間表示部67が消灯状態であることを確認することにより遊技区間が第1区間SC1であることを把握することができるとともに、区間表示部67が点灯状態であることを確認することにより遊技区間が第2区間であることを把握することができる。
なお、第2区間SC2においては区間表示部67の点灯状態が維持される構成に代えて第2区間SC2においては区間表示部67にて所定の周期で点滅表示が行われる構成としてもよい。また、兼用表示部66及び区間表示部67として、液晶表示装置などの他の表示器を用いてもよい。
スロットマシン10には、各種制御装置が設けられている。具体的には、図3に示すようにリールユニット31の上方には主制御装置70が設けられている。主制御装置70は筐体11の背面部を生じさせる背板11bに取り付けられている。主制御装置70は主制御基板71が基板ボックス81に収容されて構成されている。主制御基板71の一方の板面である素子搭載面にはMPU72が搭載されている。基板ボックス81は当該基板ボックス81の外部から当該基板ボックス81内に収容されたMPU72を目視することが可能となるように透明に形成されている。なお、基板ボックス81は無色透明に形成されているが、基板ボックス81の外部から当該基板ボックス81内に収容されたMPU72を目視することが可能であれば有色透明に形成されていてもよい。主制御装置70は基板ボックス81において主制御基板71の素子搭載面と対向する対向壁部82がスロットマシン10前方を向くようにして筐体11の背板11bに搭載されている。したがって、前面扉12を筐体11に対してスロットマシン10前方に開放させて筐体11の内部空間を露出させることにより、基板ボックス81の対向壁部82を目視することが可能となるとともに当該対向壁部82を通じてMPU72を目視することが可能となる。
基板ボックス81は複数のケース体を前後に組合せることにより形成されているが、これら複数のケース体には、これらケース体の分離を阻止するとともにこれらケース体の分離に際してその痕跡を残すための結合部83が設けられている。結合部83は、略直方体形状の基板ボックス81における一辺に複数並設されている。これにより、一部の結合部83を利用してケース体の分離を阻止している状態において当該一部の結合部83を破壊してケース体を分離させたとしても、その後に別の結合部83を結合状態とすることでケース体の分離を再度阻止することが可能となる。また、ケース体の分離に際して結合部83が破壊されてその痕跡が残ることにより、結合部83を目視確認することでケース体の分離が不正に行われているか否かを把握することが可能となる。また、基板ボックス81において結合部83が並設された一辺とは別の一辺にはケース体間の境界を跨ぐようにして封印シール84が貼り付けられている。封印シール84はその引き剥がしに際して粘着層がケース体に残る。これにより、ケース体の分離に際して封印シール84が剥がされた場合にはその痕跡を残すことが可能となる。
スロットマシン10には図2に示すように、主制御装置70以外にも演出制御装置90が設けられている。演出制御装置90は、前面扉12において画像表示装置63の後方に重ねて配置されている。演出制御装置90は、主制御装置70から受信したコマンドに基づき、上部ランプ61、スピーカ62及び画像表示装置63の制御を実行する。なお、演出制御装置90は主制御装置70と同様に基板ボックス内に制御基板が収容されてなる。
次に、本スロットマシン10の電気的構成について、図9のブロック図に基づいて説明する。
主制御装置70の主制御基板71には既に説明したとおりMPU72が搭載されている。MPU72には、当該MPU72により実行される各種の制御プログラムや固定値データを記憶したROM73と、そのROM73内に記憶される制御プログラムの実行に際して各種のデータ等を一時的に記憶するためのメモリであるRAM74と、クロック回路から出力されるクロック信号に基づいて第1乱数を所定の数値範囲内において順次更新する乱数回路75とが設けられている。また、主側MPU72には、演出制御装置90に対してコマンドを送信するための送信回路85が内蔵されている。さらにまた、それ以外にもMPU72には、割込回路、データ入出力回路などが内蔵されている。なお、MPU72に対してROM73及びRAM74が1チップ化されていることは必須の構成ではなく、それぞれが個別にチップ化された構成としてもよい。
MPU72には、入力ポート及び出力ポートがそれぞれ設けられている。MPU72の入力側には、リールユニット31、スタートレバー41の操作を検出するスタート検出センサ41a、各ストップボタン42,43,44の操作を個別に検出するストップ検出センサ42a,43a,44a、メダル投入口45から投入されたメダルを検出する投入メダル検出センサ45a、各クレジット投入ボタン47,48の操作を個別に検出するクレジット投入検出センサ47a,48a、精算ボタン51の操作を検出する精算検出センサ51a、ホッパ装置53の払出検出センサ、並びに電源装置54に設けられたリセットボタン56の操作を検出するリセット検出センサ及び設定キー挿入孔57に設定キーが挿入されたことを検出する設定キー検出センサ等の各種センサが接続されており、これら各センサからの信号はMPU72に入力される。
MPU72の出力側には、リールユニット31、セレクタ52に設けられたセレクタ駆動部52a、ホッパ装置53の払出モータ、クレジット表示部65、兼用表示部66、区間表示部67及び演出制御装置90等が接続されている。各ゲームにおいてはリールユニット31の各リール32L,32M,32Rの回転駆動制御がMPU72により行われる。セレクタ52は、メダル投入口45から投入されたメダルを、受付許可時であれば投入メダル検出センサ45aにて検出させた後にホッパ装置53へ導き、受付禁止時であれば投入メダル検出センサ45aにて検出させることなくメダル受け皿59へ排出する機能を有する。セレクタ駆動部52aはセレクタ52の状態を受付許可状態と受付禁止状態との間で切り換えるための機能を有しており、具体的にはセレクタ52に設けられた通路切換片を受付許可用の位置と受付禁止用の位置との間で動作させる。MPU72はセレクタ駆動部52aへの駆動信号の出力状態及び停止状態を切り換えることにより、セレクタ52の状態を受付許可状態と受付禁止状態との間で切り換える。
MPU72は、小役入賞が成立してメダルの払い出しを実行する場合にはホッパ装置53の駆動制御を実行する。また、MPU72は、貯留記憶された仮想メダルの数が表示されるようにクレジット表示部65を表示制御する。また、MPU72は、設定値の更新が行われる場合には現在の設定値が表示されるようにクレジット表示部65を表示制御する。また、MPU72は、遊技媒体の付与が発生した場合にはその付与対象となった遊技媒体の数が表示されるように兼用表示部66を表示制御する。また、MPU72は、遊技区間が第2区間SC2に移行した場合に第2区間SC2であることの報知が行われるように区間表示部67を表示制御する。また、MPU72は、遊技の管理結果に対応する表示が行われるように兼用表示部66を表示制御する。また、MPU72は、各ゲームの各タイミングで演出制御装置90にコマンドを送信するとともに、画像表示装置63においてリール32L,32M,32Rの停止順序を報知させるためのコマンドを演出制御装置90に送信する場合にはその報知させる内容に対応した表示が行われるように兼用表示部66の表示制御を実行する。この場合、画像表示装置63の直接的な表示制御は演出制御装置90により行われるのに対して、兼用表示部66の直接的な表示制御はMPU72により行われる。つまり、相対的に複雑な表示制御の実行対象となる画像表示装置63については演出制御装置90において直接的な表示制御が実行され、相対的に簡素な表示制御の実行対象となる兼用表示部66についてはMPU72において直接的な表示制御が実行される。これにより、MPU72の処理負荷の軽減を図りながら、演出への注目度の向上を重視した表示と、信頼性を重視した表示との両方を行うことが可能となる。
主制御基板71には、MPU72が正常に動作しているか否かを監視し、MPU72が正常に動作していない場合にMPU72に対して当該MPU72を正常な状態に復帰させるためのリセット信号を出力する異常監視回路86が搭載されている。異常監視回路86はMPU72の入力側及び出力側に接続されている。異常監視回路86は、ウォッチドッグタイマ86aを備えている。ウォッチドッグタイマ86aは、所定の周期(具体的には10ミリ秒に1回の周期)で1減算されて更新されるダウンカウンタであり、ウォッチドッグタイマ86aの初期値は「18H」(24)である。本明細書において、数値の後に付された「H」は当該数値が16進数で表記されていることを示す記号である。
異常監視回路86は電源装置54と電気的に接続されており、異常監視回路86の動作電力は、MPU72への動作電力と同様に、電源装置54から供給される。異常監視回路86への動作電力の供給は、MPU72への動作電力の供給と同様に、スロットマシン10への動作電力の供給が開始された場合に開始される。異常監視回路86は、当該異常監視回路86への動作電力の供給が開始された場合にウォッチドッグタイマ86aに初期値である「18H」を設定する初期値設定用のハード回路と、当該異常監視回路86に動作電力が供給されている間、所定の周期(具体的には10ミリ秒に1回の周期)でウォッチドッグタイマ86aの値を1減算する減算用のハード回路(図示略)と、を備えている。ウォッチドッグタイマ86aの値を1減算する演算は、MPU72による制御を介することなく、当該減算用のハード回路において実行される。ウォッチドッグタイマ86aの値を所定の周期で1減算する演算は、異常監視回路86への動作電力の供給が開始された場合に開始され、異常監視回路86への動作電力の供給が終了するまで継続される。
MPU72は、ウォッチドッグタイマ86aに初期値を設定することはできるが、ウォッチドッグタイマ86aを止めることはできない。ウォッチドッグタイマ86aは、初期値が設定されない状態が240ミリ秒に亘って継続された場合にアンダーフローする。MPU72は、後述するタイマ割込み処理(図11)において定期的に(具体的には1.49ミリ秒周期で)ウォッチドッグタイマ86aに初期値である「18H」を設定する。このため、MPU72が正常に動作している状態においてウォッチドッグタイマ86aはアンダーフローしない。ウォッチドッグタイマ86aがアンダーフローした場合、リセット信号はMPU72の入力ポートに対して出力される。当該リセット信号を受信した場合、MPU72ではプログラムをリセットするための処理が起動される。これにより、MPU72がウォッチドッグタイマ86aに初期値を設定できないような異常状態となった場合に、MPU72のプログラムをリセットしてMPU72を正常な状態に復帰させることができる。
MPU72の入力側には、電源装置54に設けられた停電監視回路が接続されている(図示略)。電源装置54には、主制御装置70をはじめとしてスロットマシン10の各電子機器に駆動電力を供給する電源部及び停電監視回路が搭載されており、停電監視回路は、外部電源から電源部に印加されている電圧を監視し、当該電圧が基準電圧以下となった場合にMPU72に停電信号を出力する。MPU72は、停電信号を受信することにより停電時処理を実行し、復電後において停電前の処理状態への復帰を可能とする。また、電源装置54には、外部電源からの動作電力の供給が遮断されている状況において電断中電力としてバックアップ電力をRAM74に供給するための電断中電源部が設けられている。これにより、外部電源からの動作電力の供給が遮断されている状況であっても、電断中電源部においてバックアップ電力を供給可能な状況(例えば1日や2日)ではRAM74においてデータが記憶保持される。
演出制御装置90は、各種報知や各種演出の実行を制御するための演出制御基板91を備えている。演出制御基板91には、MPU92が搭載されている。MPU92には、当該MPU92により実行される各種の制御プログラムや固定値データを記憶したROM93、及びそのROM93内に記憶される制御プログラムの実行に際して各種のデータ等を一時的に記憶するためのメモリであるRAM94が内蔵されている。また、MPU92には、主制御装置70のMPU72から送信されるコマンドを受信するための受信回路87が内蔵されている。さらにまた、MPU92には、所定周波数の矩形波を出力するクロック回路、割込回路、データ入出力回路及び乱数発回路などが内蔵されている。
なお、MPU92に対してROM93及びRAM94が1チップ化されていることは必須の構成ではなく、それぞれが個別にチップ化された構成としてもよい。また、RAM94には、外部電源からの動作電力の供給が遮断されている状況において電源装置54の電断中電源部からバックアップ電力が供給されないが、RAM94に対してバックアップ電力が供給される構成としてもよい。
MPU92には、入力ポート及び出力ポートがそれぞれ設けられている。MPU92の入力側には、既に説明したとおり主制御装置70のMPU72が接続されており、当該MPU72から各種コマンドを受信する。MPU92の出力側には、上部ランプ61、スピーカ62及び画像表示装置63が接続されている。MPU92は、主制御装置70のMPU72から受信したコマンドに基づき、上部ランプ61の発光制御、スピーカ62の音出力制御、及び画像表示装置63の表示制御を実行することで、各種報知や各種演出が行われるようにする。
演出制御基板91には、図示は省略するが、MPU92の他に、ビデオディスプレイプロセッサ(VDP)、キャラクタROM、及びビデオRAM等が搭載されている。VDPは、画像表示装置63に組み込まれた液晶表示部ドライバとしての画像処理デバイスを直接操作する一種の描画回路である。VDPは、ビデオRAMのデータの読み書きに介在するとともに、ビデオRAMに記憶させる画像データを、キャラクタROMから所定のタイミングで読み出して画像表示装置63に表示させる。キャラクタROMは、画像表示装置63に表示される図柄などのキャラクタデータを記憶するための画像データライブラリとしての役割を担うものである。このキャラクタROMには、各種の表示図柄のビットマップ形式画像データ、ビットマップ画像の各ドットでの表現色を決定する際に参照する色パレットテーブル等が保持されている。ビデオRAMは、画像表示装置63に表示させる表示データを記憶するためのメモリである。MPU92は、主制御装置70のMPU72から受信したコマンドに基づき演出の実行内容を決定した場合、その決定した演出の実行内容に従って、各更新タイミングに対応する画像の内容を指示する描画リストをVDPに出力する。VDPは、当該描画リストに従ってキャラクタROMから画像データを読み出し、その読み出した画像データを利用してビデオRAMに表示データを作成する。そして、VDPは、その作成した表示データに対応する画像信号を画像表示装置63に出力することで、当該画像表示装置63にその表示データに対応する画像を表示させる。
なお、以下の説明では説明の便宜上、主制御装置70のMPU72、ROM73及びRAM74をそれぞれ主側MPU72、主側ROM73及び主側RAM74といい、演出制御装置90のMPU92、ROM93及びRAM94をそれぞれ演出側MPU92、演出側ROM93及び演出側RAM94という。
次に、主側MPU72により実行される処理について説明する。まず、主側MPU72への動作電力の供給が開始された場合に当該主側MPU72にて実行されるメイン処理について図10のフローチャートを参照しながら説明する。
メイン処理ではまず初期設定処理を実行する(ステップS101)。当該初期設定処理では、主側MPU72内のレジスタ群及びI/O装置等に対する各種の初期設定を行う。その後、タイマ割込み処理(図11)による割込みを許可する(ステップS102)。上述したとおり、タイマ割込み処理(図11)では異常監視回路86のウォッチドッグタイマ86aに初期値を設定する処理(ステップS204の処理)が実行される。ステップS102にてタイマ割込み処理による割込みを許可することにより、ウォッチドッグタイマ86aに初期値を設定する処理(ステップS204の処理)が所定の周期(具体的には1.49ミリ秒周期)で実行される状態とすることができる。これにより、主側MPU72が正常に動作している状態においてウォッチドッグタイマ86aがアンダーフローしてしまうことを防止できる。
その後、設定キーが設定キー挿入孔57に挿入されてON操作された状態で電源ONが行われているか否かを判定する(ステップS103)。設定キーによるON操作が行われた状態で電源ONが行われている場合には(ステップS103:YES)、電源ONに際してリセットボタン56が押圧操作されていないのであれば(ステップS104:NO)、一部クリア処理を実行した後に(ステップS105)、設定値更新処理を実行する(ステップS107)。一方、電源ONに際してリセットボタン56が押圧操作されているのであれば(ステップS104:YES)、全部クリア処理を実行した後に(ステップS106)、設定値更新処理を実行する(ステップS107)。
一部クリア処理(ステップS105)では、主側RAM74において第2CB当選データが設定される記憶エリア(後述する第2CB当選データエリア74k)以外の記憶エリアを初期化し、全部クリア処理(ステップS106)では、当該第2CB当選データが設定される記憶エリアを含む主側RAM74の全部の記憶エリアを初期化する。
設定値更新処理では、設定キーが挿入されてON操作されていることを条件として現在の設定値を読み込むとともに、クレジット表示部65に現在の設定値を表示する。設定値更新処理が実行される場合には、その前に一部クリア処理(ステップS105)及び全部クリア処理(ステップS106)のいずれかが実行されているため、設定値更新処理の開始に際してクレジット表示部65には設定値が「1」であることに対応する表示が行われる。設定値更新処理では、リセットボタン56が操作される度に設定値を1更新するとともに、その更新後の設定値をクレジット表示部65に表示する。なお、設定値が「6」である状況でリセットボタン56が操作された場合には設定値は「1」に更新される。スタートレバー41が操作された後に設定キーのON操作が解除された場合に、その時点で選択されている設定値が今回の設定値更新処理において設定された設定値となり、設定値更新処理を終了する。この場合、クレジット表示部65における設定値の表示が終了される。その後、通常処理に移行する(ステップS108)。通常処理については後に詳細に説明する。
メイン処理において設定キーのON操作が行われていない場合(ステップS103:NO)、ステップS109以降の復電処理を実行する。復電処理とは、スロットマシン10の状態を電源遮断前の状態に復帰させるための処理である。復電処理では、主側RAM74を確認することでスロットマシン10の設定値が正常か否かを判定する(ステップS109)。具体的には、主側RAM74に設けられた設定値カウンタの値が「1」~「6」のいずれかである場合に正常であると判定し、「0」又は「7」以上である場合に異常であると判定する。設定値カウンタは、スロットマシン10の現状における設定値を主側MPU72にて把握可能とするカウンタである。設定値カウンタは1バイトからなる。設定値が正常である場合には、停電フラグに「1」がセットされているか否かを判定する(ステップS110)。停電フラグは主側RAM74に設けられており、主側MPU72への動作電力の供給が停止される場合において予め定められた停電時処理が正常に実行された場合には当該停電フラグに「1」がセットされることとなる。停電フラグに「1」がセットされている場合には、RAM判定値が正常であるか否かを確認する(ステップS111)。具体的には、主側RAM74のチェックサム値を調べ、その値が正常であるか否かを確認する。
ステップS109~ステップS111の全てにおいて肯定判定をした場合には前回の電断時における停電時処理が正常に実行されたことを意味する。この場合、主側RAM74に保存されたスタックポインタの値を主側MPU72のスタックポインタに書き込み、主側RAM74に退避されたデータを主側MPU72のレジスタに復帰させることで、主側MPU72のレジスタの状態を電源が遮断される前の状態に復帰させる(ステップS112)。また、主側RAM74の停電フラグを「0」クリアする(ステップS113)。
その後、主側RAM74に設けられた復電コマンドフラグに「1」をセットした後に(ステップS114)、電源遮断前の番地に戻る(ステップS115)。復電コマンドフラグは、演出側MPU92に復電処理の実行を認識させるための復電コマンドを送信すべきことを主側MPU72にて把握可能とするフラグである。ステップS114にて復電コマンドフラグに「1」がセットされることにより、後述するタイマ割込み処理(図11)のステップS210におけるコマンド出力処理にて復電コマンドを演出側MPU92に送信するための処理が実行される。なお、復電コマンドの詳細については後述する。
一方、ステップS109~ステップS111のいずれかで否定判定をした場合には動作禁止処理を実行する。動作禁止処理では、次回のタイマ割込み処理(図11)の実行を禁止し(ステップS116)、主側MPU72の全ての出力ポートを「0」クリアすることにより当該出力ポートに接続された全てのアクチュエータをOFF状態とし(ステップS117)、ホール管理者等にエラーの発生を報知するためのエラー報知処理を実行する(ステップS118)。
その後、電源遮断待機処理を実行する(ステップS119)。電源遮断待機処理では、主側MPU72への動作電力の供給が停止されるまで、ウォッチドッグタイマ86aに初期値である「18H」(「24」)を設定する処理を繰り返し実行する。タイマ割込み処理(図11)による割込みが禁止された状態でウォッチドッグタイマ86aの値が初期化されずに更新され続けると、ウォッチドッグタイマ86aがアンダーフローし、リセット信号が出力されてしまう。そして、当該リセット信号を受信した場合、主側MPU72のプログラムをリセットするための処理が起動されて動作禁止状態(動作禁止処理が実行されている状態)が自動的に解除されてしまう。これに対して、ステップS119における電源遮断待機処理にて、ウォッチドッグタイマ86aに初期値を設定する処理を繰り返し実行することにより、ウォッチドッグタイマ86aのアンダーフローを防止し、遊技ホールの管理者によって本スロットマシン10の電源が遮断されるまで動作禁止状態を維持することができる。動作禁止状態は、一部クリア処理(ステップS105)又は全部クリア処理(ステップS106)が実行されることにより解除される。なお、電源遮断待機処理(ステップS119)のプログラム内容の詳細については後述する。
次に、主側MPU72にて実行されるタイマ割込み処理について、図11のフローチャートを参照しながら説明する。なお、タイマ割込み処理は、例えば1.49ミリ秒ごとに起動される。
レジスタ退避処理(ステップS201)では、後述する通常処理(図13)で使用している主側MPU72内の全レジスタの値を主側RAM74に退避させる。ステップS202では停電フラグに「1」がセットされているか否かを確認し、停電フラグに「1」がセットされているときにはステップS203に進み、停電時処理を実行する。停電フラグには、電源装置54の停電監視回路からの停電信号が主側MPU72に入力された場合に「1」がセットされる。図12は主側MPU72にて実行される停電時処理(ステップS203)を示すフローチャートである。
停電時処理では、まずコマンドの送信が終了しているか否かを判定する(ステップS301)。コマンドの送信が終了していない場合(ステップS301:NO)には本停電時処理(図12)を終了し、タイマ割込み処理(図11)に復帰して、コマンドの送信を終了させる。コマンドの送信が終了している場合(ステップS301:YES)には、主側MPU72のスタックポインタの値を主側RAM74に保存する(ステップS302)。その後、主側MPU72の出力ポートの出力状態をクリアし(ステップS303)、図示しない全てのアクチュエータをオフ状態にする(ステップS304)。そして、停電解消時に主側RAM74のデータが正常であるか否かを判定するための判定値を算出し(ステップS305)、当該算出した判定値を主側RAM74に保存する(ステップS306)。その後、主側RAM74へのアクセスを禁止する(ステップS307)。
その後、既に説明したメイン処理(図10)のステップS119と同様に電源遮断待機処理を実行する(ステップS308)。電源遮断待機処理では、主側MPU72への動作電力の供給が停止されるまで、ウォッチドッグタイマ86aに初期値である「18H」(「24」)を設定する処理を繰り返し実行する。タイマ割込み処理(図11)では、後述するステップS204にてウォッチドッグタイマ86aに初期値を設定する処理が実行されるが、電源遮断待機処理(ステップS308)が実行されている状態は当該ステップS204の処理が実行されない状態である。ウォッチドッグタイマ86aに初期値を設定するステップS204の処理が実行されない状態で当該ウォッチドッグタイマ86aの値が更新され続けると、ウォッチドッグタイマ86aがアンダーフローし、リセット信号が出力されてしまう。そして、当該リセット信号を受信した場合、主側MPU72のプログラムをリセットするための処理が起動されて停電に備えて待機している状態が自動的に解除されてしまう。ステップS308における電源遮断待機処理にてウォッチドッグタイマ86aに初期値を設定する処理を繰り返し実行することにより、ウォッチドッグタイマ86aのアンダーフローを防止し、主側MPU72への動作電力の供給が停止されるまでに主側MPU72のプログラムがリセットされてしまうことを防止することができる。なお、電源遮断待機処理(ステップS308)のプログラム内容の詳細については後述する。
タイマ割込み処理(図11)の説明に戻り、ステップS202にて停電フラグに「1」がセットされていない場合には、ステップS204以降の各種処理を行う。ステップS204では、ウォッチドッグタイマ86aに初期値である「18H」(「24」)を設定するウォッチドッグタイマ86aの初期化処理を行う。これにより、ウォッチドッグタイマ86aのアンダーフローを防止し、主側MPU72が正常に動作している状態において主側MPU72のプログラムがリセットされてしまうことを防止することができる。
その後、ステップS205では、主側MPU72自身に対して次回のタイマ割込みを設定可能とする割込み終了宣言処理を行う。ステップS206では、各リール32L,32M,32Rを回転させるために、これら各リール32L,32M,32Rに設けられたステッピングモータを駆動させるステッピングモータ制御処理を行う。
ステップS207では、入力ポートに接続された各種センサの状態を読み込むとともに、読み込み結果が正常か否かを監視するセンサ監視処理を行う。ステップS208では、各カウンタやタイマの値を減算するタイマ減算処理を行う。ステップS209では、メダルのベット数や、払出枚数をカウントした結果を外部へ出力するカウンタ処理を行う。ステップS210では、各種コマンドを演出側MPU92へ送信するコマンド出力処理を行う。ステップS211では、入出力ポートからI/O装置に対応するデータを出力するポート出力処理を行う。ステップS212では、先のステップS201にて主側RAM74に退避させた各レジスタの値をそれぞれ主側MPU72内の対応するレジスタに復帰させる。
ステップS213では遊技履歴を管理するとともにその管理結果に対応する内容を兼用表示部66に表示させるための管理用処理を実行する。ステップS213における管理用処理では、兼用表示部66にて全体のゲーム数に対する第2区間SC2の総ゲーム数の比率に対応する表示を行うための処理を実行する。以下、本明細書では、全体のゲーム数に対する第2区間SC2の総ゲーム数の比率を「第2区間SC2の滞在比率」ともいう。第2区間SC2の滞在比率は、0%~100%の百分率で算出される。また、本明細書では、兼用表示部66にて実行される第2区間SC2の滞在比率に対応する表示を「比率表示」ともいう。兼用表示部66における比率表示は、ゲームが実行されていない状態において後述する比率表示の開始操作が行われた場合に開始され、後述する比率表示の終了操作が行われた場合に終了する。なお、ステップS213における管理用処理の詳細については後述する。その後、ステップS214にて次回のタイマ割込みを許可する割込み許可処理を行い、この一連のタイマ割込み処理を終了する。
次に、主側MPU72にて実行される通常処理について図13のフローチャートを参照しながら説明する。通常処理はメイン処理(図10)のステップS108にて実行される。
通常処理では、まず次回のタイマ割込みを許可する割込み許可処理を行う(ステップS401)。その後、開始待ち処理を実行する(ステップS402)。ここで、開始待ち処理(図15)の説明に先立ち、主側MPU72にてベット数を把握するための主側RAM74の構成について説明する。図14は主側RAM74の構成を説明するための説明図である。
図14に示すように、主側RAM74には、ベット上限数カウンタ74a、ベット数設定カウンタ74b及びベット数履歴カウンタ74cが設けられている。ベット上限数カウンタ74aは、今回のゲームにおいてベット可能な遊技媒体の上限数であるベット上限数を主側MPU72にて把握可能とするカウンタである。ベット上限数カウンタ74aには、「2」又は「3」が設定される。ベット数設定カウンタ74bは、実行対象となるゲームのベット数を主側MPU72にて特定するためのカウンタである。ベット数設定カウンタ74bには、「1」~「3」の整数が設定される。ベット数履歴カウンタ74cは、前回のゲームのベット数を主側MPU72にて特定するためのカウンタである。ベット数履歴カウンタ74cには、「2」又は「3」が設定される。
次に、主側MPU72にて実行される開始待ち処理について図15のフローチャートを参照しながら説明する。開始待ち処理は通常処理(図13)のステップS402にて実行される。
開始待ち処理では、まず主側RAM74に設けられたリプレイ時のベット設定済みフラグに「1」がセットされているか否かを判定する(ステップS501)。リプレイ時のベット設定済みフラグは、前回のゲームにおいていずれかのリプレイ入賞が成立している場合において、前回のベット数と同数のベット設定が既に完了しているか否かを主側MPU72にて特定するためのフラグである。ステップS501にて否定判定を行った場合には、主側RAM74に設けられたリプレイ入賞フラグに「1」がセットされているか否かを判定することにより、前回のゲームにおいていずれかのリプレイ入賞が成立したか否かを判定する(ステップS502)。リプレイ入賞フラグは、リプレイ入賞が成立したことを主側MPU72にて把握可能とするフラグである。リプレイ入賞フラグには、後述する入賞判定処理(図26)のステップS1207にて「1」がセットされる。
ステップS502にて肯定判定を行った場合には、主側RAM74におけるベット数設定カウンタ74bに、主側RAM74におけるベット数履歴カウンタ74cの値をセットする(ステップS503)。ベット数履歴カウンタ74cには前回のゲームのベット数が記憶されており、ステップS503では当該ベット数履歴カウンタ74cに記憶されている前回のゲームのベット数をベット数設定カウンタ74bに設定する。このように、前回のゲームにおいていずれかのリプレイ入賞が成立した場合には、前回のベット数と同数のベット設定が行われる。その後、リプレイ時のベット設定済みフラグに「1」をセットし(ステップS504)、主側RAM74のリプレイ入賞フラグを「0」クリアする(ステップS505)。
ステップS501にて肯定判定をした場合、ステップS502にて否定判定をした場合、又はステップS505の処理を実行した場合には、ベット対応処理を実行する(ステップS506)。図16はベット対応処理を示すフローチャートである。
ベット対応処理では、現状の遊技状態が第2CB状態ST3ではない場合(ステップS601:NO)、今回のゲームにおいてベット可能な遊技媒体の上限数であるベット上限数として主側RAM74におけるベット上限数カウンタ74aに「3」をセットする(ステップS602)。現状の遊技状態が第2CB状態ST3である場合(ステップS601:YES)、今回のゲームにおいてベット可能な遊技媒体の上限数であるベット上限数として主側RAM74におけるベット上限数カウンタ74aに「2」をセットする(ステップS603)。つまり、本スロットマシン10では第2CB状態ST3である場合にはベット上限数が「2」に設定され、第2CB状態ST3ではない場合にはベット上限数が「3」に設定される。
ステップS602又はステップS603の処理を実行した場合、主側RAM74におけるベット数設定カウンタ74bの値が今回のベット上限数ではないことを条件として(ステップS604:NO)、貯留記憶されている仮想メダルが1枚以上であって有効なベット操作が行われたか否かを判定する(ステップS605)。主側RAM74には貯留記憶されている仮想メダルの数を記憶するためのエリアとしてクレジットカウンタ74d(図14参照)が設けられている。ステップS605ではクレジットカウンタ74dの値が1以上であるか否かを判定することで、貯留記憶されている仮想メダルが1枚以上であるか否かを判定する。また、第1クレジット投入ボタン47(図1)が操作されている場合には有効なベット操作が行われたと判定するとともに、第2クレジット投入ボタン48(図1)が操作されている場合にはベット数設定カウンタ74bの値が1以下であることを条件として有効なベット操作が行われたと判定する。
ステップS605にて肯定判定をした場合、ベット設定処理を実行する(ステップS606)。主側MPU72はベット上限数カウンタ74aを参照することによりベット上限数を把握する。ステップS606におけるベット設定処理では、第1クレジット投入ボタン47が操作された場合、ベット数設定カウンタ74bの値とクレジットカウンタ74dの値との和がベット上限数以上であれば、ベット数設定カウンタ74bの値をベット上限数に設定するとともに、当該設定に際して利用された仮想メダルの枚数分の値をクレジットカウンタ74dから減算し、ベット数設定カウンタ74bの値とクレジットカウンタ74dの値との和がベット上限数未満であれば、クレジットカウンタ74dの値をベット数設定カウンタ74bに加算した後にクレジットカウンタ74dの値を「0」クリアする。また、ベット数設定処理では、第2クレジット投入ボタン48が操作された場合、ベット数設定カウンタ74bの値とクレジットカウンタ74dの値との和が2以上であれば、ベット数設定カウンタ74bの値を「2」に設定するとともに、当該設定に際して利用された仮想メダルの枚数分の値をクレジットカウンタ74dから減算し、ベット数設定カウンタ74bの値とクレジットカウンタ74dの値との和が2未満であれば、クレジットカウンタ74dの値をベット数設定カウンタ74bに加算した後にクレジットカウンタ74dの値を「0」クリアする。
その後、主側RAM74に設けられた付与数カウンタ74e(図14)の値を「0」クリアする(ステップS607)。付与数カウンタ74eは、小役入賞が成立して遊技者に付与される遊技媒体の数を主側MPU72にて把握可能とするカウンタである。付与数カウンタ74eは1バイトからなる。付与数カウンタ74eには、「1」、「2」、「5」又は「15」が設定される。付与数カウンタ74eの値は、1枚以上の仮想メダルが貯留記憶されている状態において有効なベット操作が行われた場合に「0」クリアされる。
ステップS604にて肯定判定をした場合、ステップS605にて否定判定をした場合、又はステップS607の処理を実行した場合には、メダル投入口45にメダルが投入されていることにより投入メダル検出センサ45aにて1枚のメダルが検出されているか否かを判定する(ステップS608)。ステップS608にて肯定判定をした場合、主側RAM74のベット数設定カウンタ74bの値がベット上限数未満であれば(ステップS609:NO)、ベット数設定カウンタ74bの値を1加算し(ステップS610)、ベット数設定カウンタ74bの値がベット上限数以上であれば(ステップS609:YES)、主側RAM74のクレジットカウンタ74dの値を1加算する(ステップS611)。
ステップS610又はステップS611の処理を実行した場合には、付与数カウンタ74eの値を「0」クリアする(ステップS612)。このように、付与数カウンタ74eの値は、メダル投入口45に投入されたメダルが投入メダル検出センサ45aによって検出された場合に「0」クリアされる。また、上述したとおり、付与数カウンタ74eの値は、1枚以上の仮想メダルが貯留記憶されている状態において有効なベット操作が行われた場合にも「0」クリアされる。
その後、ベット数設定カウンタ74bの値がベット上限数以上であってクレジットカウンタ74dの値が上限貯留記憶数(具体的には「50」)以上であることを条件として(ステップS613:YES)、受付禁止処理を実行する(ステップS614)。受付禁止処理が実行されることにより、メダル投入口45にメダルが投入されたとしても、当該メダルは投入メダル検出センサ45aにて検出されることなくメダル受け皿59へ排出される。
ステップS608にて否定判定をした場合、ステップS613にて否定判定をした場合、又はステップS614の処理を実行した場合には、ベット状態管理処理を実行して(ステップS615)、本ベット対応処理を終了する。図17(a)はベット状態管理処理(ステップS615)を示すフローチャートである。
ベット状態管理処理では、現状の遊技状態が第1CB状態ST2である場合(ステップS701:YES)、ベット数設定カウンタ74bの値が「3」であることを条件として(ステップS702:YES)、主側RAM74に設けられた受入時のベット設定済みフラグに「1」をセットする(ステップS703)。一方、現状の遊技状態が第1CB状態ST2ではない場合(ステップS701:NO)、ベット数設定カウンタ74bの値が2以上であることを条件として(ステップS704:YES)、受入時のベット設定済みフラグに「1」をセットする(ステップS703)。受入時のベット設定済みフラグは、1回のゲームを開始可能な数の遊技媒体がベットされた状況であるか否かを主側MPU72にて特定するためのフラグである。遊技状態が第1CB状態ST2である場合には、「3」の遊技媒体がベットされていない状況では1回のゲームを開始させることはできず、「3」の遊技媒体がベットされることで1回のゲームを開始させることが可能となる。また、遊技状態が第1CB状態ST2ではない場合には、2以上の遊技媒体がベットされていない状況では1回のゲームを開始させることはできず、2以上の遊技媒体がベットされることで1回のゲームを開始させることが可能となる。
開始待ち処理(図15)の説明に戻り、ステップS506にてベット対応処理を実行した後は、精算ボタン51が操作されたか否かを判定する(ステップS507)。精算ボタン51が操作されている場合(ステップS507:YES)、精算処理を実行した後に(ステップS508)、主側RAM74の受入時のベット設定済みフラグを「0」クリアして(ステップS509)、本開始待ち処理を終了する。ステップS508の精算処理では、主側RAM74のリプレイ時のベット設定済みフラグに「1」がセットされていない場合にはベット数設定カウンタ74bの値とクレジットカウンタ74dの値との和に対応する枚数のメダルがメダル受け皿59に排出されるようにホッパ装置53を駆動制御する。この場合、ベット数設定カウンタ74bが「0」クリアされるとともにクレジットカウンタ74dが「0」クリアされる。一方、主側RAM74のリプレイ時のベット設定済みフラグに「1」がセットされている場合にはクレジットカウンタ74dの値に対応する枚数のメダルがメダル受け皿59に排出されるようにホッパ装置53を駆動制御する。この場合、クレジットカウンタ74dが「0」クリアされる。
通常処理(図13)の説明に戻り、ステップS402にて開始待ち処理を実行した後は、主側RAM74におけるリプレイ時のベット設定済みフラグ及び受入時のベット設定済みフラグのいずれかに「1」がセットされているか否かを判定する(ステップS403)。既に説明したとおり、リプレイ時のベット設定済みフラグには、開始待ち処理(図15)のステップS504にて「1」がセットされるとともに、受入時のベット設定済みフラグには、ベット状態管理処理(図17(a))のステップS703にて「1」がセットされる。
ステップS403にて否定判定をした場合にはステップS402に戻る。ステップS403にて肯定判定をした場合にはスタートレバー41が操作されたか否かを判定する(ステップS404)。スタートレバー41が操作されていない場合にはステップS402に戻る。
スタートレバー41が操作された場合には(ステップS404:YES)、メインラインMLを有効化させた後に受付禁止処理を実行する(ステップS405)。受付禁止処理が実行されることにより、メダル投入口45にメダルが投入されたとしても、当該メダルは投入メダル検出センサ45aにて検出されることなくメダル受け皿59へ排出される。
その後、ステップS406にてゲームが開始された場合の各種設定を行うための開始時の設定処理を実行し、ステップS407にて今回のゲームにおける役の抽選を行うための役の抽選処理を実行し、ステップS408にて各リール32L,32M,32Rを今回の役の抽選処理の結果に対応した態様で駆動制御するためのリール制御処理を実行する。なお、開始時の設定処理(ステップS406)、役の抽選処理(ステップS407)及びリール制御処理(ステップS408)の詳細については後述する。
その後、媒体付与処理を実行する(ステップS409)。媒体付与処理では、今回のゲームにおいて小役入賞が成立している場合に、当該小役入賞に対応した数の遊技媒体を遊技者に付与するための処理を実行する。具体的には、仮想メダルを付与する場合には主側RAM74のクレジットカウンタ74dに今回の小役入賞に対応した値を加算し、クレジットカウンタ74dの値が上限貯留記憶数に達している場合にはその上限貯留記憶数を超えた数分のメダルがメダル受け皿59に払い出されるようにホッパ装置53を駆動制御する。
その後、今回のゲームの結果に対応する遊技状態及び遊技区間の設定を可能とするための遊技終了時の対応処理を実行する(ステップS410)。また、スロットマシン10の状態を遊技ホールの管理コンピュータに出力するための外部出力設定処理を実行する(ステップS411)。なお、遊技終了時の対応処理(ステップS410)及び外部出力設定処理(ステップS411)の詳細については後述する。その後、受付許可処理を実行する(ステップS412)。受付許可処理が実行されることにより、メダル投入口45から投入されたメダルは、投入メダル検出センサ45aにて検出された後にホッパ装置53にて回収される。
次に、通常処理(図13)のステップS406にて実行される開始時の設定処理について、図17(b)のフローチャートを参照しながら説明する。
開始時の設定処理では、まず主側RAM74に設けられたインデックス値カウンタ74fの値を「0」クリアする(ステップS801)。インデックス値カウンタ74fは、後述する役の抽選処理(図18)において当選となったインデックス値IVを主側MPU72にて把握可能とするカウンタである。インデックス値カウンタ74fは1バイトからなる。詳細は後述するが、役の抽選処理(図18)においてインデックス値カウンタ74fには、「1」~「17」のいずれかのインデックス値IVに当選した場合に当該インデックス値IVが設定されるとともに、いずれのインデックス値IVにも当選しなかった場合には「0」が設定される。ステップS801にてインデックス値カウンタ74fの値を「0」クリアすることにより、役の抽選処理(図18)にてインデックス値カウンタ74fに設定されたインデックス値IVのデータを、当該インデックス値IVのデータがインデックス値カウンタ74fに設定されたゲームの次のゲームの開始時にクリアすることができる。
その後、主側RAM74におけるリプレイ時のベット設定済みフラグ及び受入時のベット設定済みフラグの両方を「0」クリアし(ステップS802)、主側RAM74に設けられたゲーム中フラグに「1」をセットする(ステップS803)。ゲーム中フラグは、ゲームが実行されている状態であることを主側MPU72にて把握可能とするフラグである。ゲーム中フラグは、後述する遊技終了時の対応処理(図32)のステップS1510にて「0」クリアされる。ゲーム中フラグは、後述する管理用処理(図27参照)において参照される。
その後、主側RAM74におけるベット数設定カウンタ74bの値を主側RAM74におけるベット数履歴カウンタ74cにセットして(ステップS804)、本開始時の設定処理を終了する。ステップS804にてベット数設定カウンタ74bの値をベット数履歴カウンタ74cにセットすることにより、今回開始されたゲームの終了後に当該ゲームのベット数を主側MPU72にて把握可能とすることができる。なお、ベット数設定カウンタ74bの値は今回のゲームが終了した場合に、後述する遊技終了時の対応処理(図32)のステップS1509にて「0」クリアされる。
次に、通常処理(図13)のステップS407にて実行される役の抽選処理について、図18のフローチャートを参照しながら説明する。
ステップS901では、役の当否判定を行う際に用いる乱数を取得する。本スロットマシン10では、スタートレバー41が操作されるとその時点における乱数を乱数回路75からラッチする構成となっている。乱数回路75は「0」~「65535」の乱数を生成しており、主側MPU72は、スタートレバー41の操作を確認した場合に乱数回路75においてラッチした値を主側RAM74に格納する。かかる構成とすることにより、スタートレバー41が操作されたタイミングで速やかに乱数を取得することが可能となり、同期等の問題が発生することを回避することが可能となる。乱数回路75は、スタートレバー41が操作される毎にその都度のフリーランカウンタの値をラッチする構成となっている。
乱数を取得した後、役の当否判定を行うための抽選テーブルを主側ROM73から読み出す(ステップS902)。本スロットマシン10では、「1」から「6」まで6段階の設定値が予め用意されており、設定キー挿入孔57に設定キーを挿入してON操作するとともに所定の操作を行うことにより、いずれの設定値に対応する当選確率に基づいて役の抽選処理を実行させるのかを設定することができる。設定値が「n」よりも「n+1」の方が遊技者にとって有利な当選確率となる。具体的には、設定値が「n」よりも「n+1」の方が所定の役の当選確率が高いことにより、設定値が「n」よりも「n+1」の方が遊技者にとって有利となる。また、同一の段階の設定値であっても、ベットされている遊技媒体の数が「2」の場合よりも「3」の場合の方が遊技者にとって有利となる。また、遊技状態として第1CB状態ST2及び第2CB状態ST3が存在している。ステップS902では、現状の設定値と、現状のベット数と、現状の遊技状態との組合せに対応する抽選テーブルを選択する。
設定値が「3」である場合を例に挙げて、非CB状態における抽選テーブルについて説明する。図19はベット数が「3」である場合に選択される3枚ベット時の役抽選テーブルを説明するための説明図であり、図20はベット数が「2」である場合に選択される2枚ベット時の役抽選テーブルを説明するための説明図である。なお、以下の説明では図21の説明図を適宜参照する。
役抽選テーブルには3枚ベット時及び2枚ベット時のいずれであっても、図19及び図20に示すように、インデックス値IVが設定されている。各インデックス値IVには、当選となる当選データ(すなわち役)がそれぞれ対応付けられているとともにポイント値PVが設定されている。ポイント値PVは、対応するインデックス値IVの当選確率を乱数回路75の最大値(「65535」)との関係で定めるものである。また、インデックス値IVの数は3枚ベット時と2枚ベット時とで同一となっており、各インデックス値IVに設定されている当選データの種類はインデックス値IV=17を除いて3枚ベット時と2枚ベット時とで同一となっている。
具体的には、インデックス値IV=1~6には、第1ベル当選データが設定されているとともに第1~第6補填当選データのいずれかが設定されている。インデックス値IV=1で当選となった場合、図21に示すように、第1停止(最初に停止指令が発生したリール)が左リール32Lであり、第2停止(2番目に停止指令が発生したリール)が中リール32Mであり、第3停止(最後に停止指令が発生したリール)が右リール32Rである場合に、各ストップボタン42~44の操作タイミングに関係なく第1ベル入賞が確実に成立し、それ以外の場合には第1補填入賞が成立し得る。インデックス値IV=2で当選となった場合、第1停止が左リール32Lであり、第2停止が右リール32Rであり、第3停止が中リール32Mである場合に、各ストップボタン42~44の操作タイミングに関係なく第1ベル入賞が確実に成立し、それ以外の場合には第4補填入賞が成立し得る。インデックス値IV=3で当選となった場合、第1停止が中リール32Mであり、第2停止が左リール32Lであり、第3停止が右リール32Rである場合に、各ストップボタン42~44の操作タイミングに関係なく第1ベル入賞が確実に成立し、それ以外の場合には第3補填入賞が成立し得る。インデックス値IV=4で当選となった場合、第1停止が中リール32Mであり、第2停止が右リール32Rであり、第3停止が左リール32Lである場合に、各ストップボタン42~44の操作タイミングに関係なく第1ベル入賞が確実に成立し、それ以外の場合には第6補填入賞が成立し得る。インデックス値IV=5で当選となった場合、第1停止が右リール32Rであり、第2停止が左リール32Lであり、第3停止が中リール32Mである場合に、各ストップボタン42~44の操作タイミングに関係なく第1ベル入賞が確実に成立し、それ以外の場合には第2補填入賞が成立し得る。インデックス値IV=6で当選となった場合、第1停止が右リール32Rであり、第2停止が中リール32Mであり、第3停止が左リール32Lである場合に、各ストップボタン42~44の操作タイミングに関係なく第1ベル入賞が確実に成立し、それ以外の場合には第5補填入賞が成立し得る。
本スロットマシン10においては既に説明したとおり非CB状態である場合にはストップボタン42~44が操作されてから最大4図柄分まで滑らせることが可能なリール制御が各リール32L,32M,32Rについて行われる。換言すれば、ストップボタン42~44が操作されてから規定時間(190ミリ秒)が経過するまでに停止させるリール制御が各リール32L,32M,32Rについて行われる。このようなリール制御が行われることにより、当選している役に対応した入賞を成立させ易くすることが可能となるとともに、当選していない役に対応した入賞が成立してしまうことを回避することが可能となる。但し、滑らせることが可能なリール32L,32M,32Rの回転量が上記のように制限されているため、一のリール32L,32M,32Rにおいて、入賞を成立させるための図柄の組合せを構成する構成図柄間に5図柄以上が存在していると、対応するストップボタン42~44の操作タイミングによっては当該構成図柄がメインラインML上に停止しないことが起こり得る(当該事象を所謂「取りこぼし」ともいう)。第1ベル入賞、第2ベル入賞及び各種リプレイ入賞は対応する順序でリール32L,32M,32Rが停止された場合には取りこぼしが発生しない入賞態様であり、第1~第9補填入賞、第1スイカ入賞、第2スイカ入賞、チェリー入賞、第1CB入賞及び第2CB入賞はリール32L,32M,32Rの回転位置に対するストップボタン42~44の停止操作タイミングによっては取りこぼしが発生し得る入賞態様である。
インデックス値IV=7~9には、第2ベル当選データが設定されているとともに第7~第9補填当選データのいずれかが設定されている。インデックス値IV=7で当選となった場合、図21に示すように、第1停止が左リール32Lである場合に第2停止対象及び第3停止対象のリール32L,32M,32Rの種類並びに各ストップボタン42~44の操作タイミングに関係なく第2ベル入賞が確実に成立し、それ以外の場合には第7補填入賞が成立し得る。インデックス値IV=8で当選となった場合、第1停止が中リール32Mである場合に第2停止対象及び第3停止対象のリール32L,32M,32Rの種類並びに各ストップボタン42~44の操作タイミングに関係なく第2ベル入賞が確実に成立し、それ以外の場合には第9補填入賞が成立し得る。インデックス値IV=9で当選となった場合、第1停止が右リール32Rである場合に第2停止対象及び第3停止対象のリール32L,32M,32Rの種類並びに各ストップボタン42~44の操作タイミングに関係なく第2ベル入賞が確実に成立し、それ以外の場合には第8補填入賞が成立し得る。
インデックス値IV=10には、図19及び図20に示すように、第1ベル当選データが設定されている。インデックス値IV=10で当選となった場合、図21に示すように、リール32L,32M,32Rの停止順序及び各ストップボタン42~44の操作タイミングに関係なく第1ベル入賞が確実に成立する。
インデックス値IV=11には、図19及び図20に示すように、第1スイカ当選データのみが設定されている。インデックス値IV=11で当選となった場合、図21に示すように、リール32L,32M,32Rの停止順序に関係なく第1スイカ入賞が成立し得る。但し、各ストップボタン42~44の操作タイミングによっては、第1スイカ入賞が成立しない可能性がある。インデックス値IV=12には、図19及び図20に示すように、第2スイカ当選データのみが設定されている。インデックス値IV=12で当選となった場合、図21に示すように、リール32L,32M,32Rの停止順序に関係なく第2スイカ入賞が成立し得る。但し、各ストップボタン42~44の操作タイミングによっては、第2スイカ入賞が成立しない可能性がある。
インデックス値IV=13には、図19及び図20に示すように、チェリー当選データのみが設定されている。インデックス値IV=13で当選となった場合、図21に示すように、リール32L,32M,32Rの停止順序に関係なくチェリー入賞が成立し得る。但し、左リール32Lの回転位置に対する左ストップボタン42の操作タイミングによっては、チェリー入賞が成立しない可能性がある。
インデックス値IV=14には、図19及び図20に示すように、第1チャンスリプレイ当選データのみが設定されている。インデックス値IV=14で当選となった場合、図21に示すように、リール32L,32M,32Rの停止順序及び各ストップボタン42~44の操作タイミングに関係なく第1チャンスリプレイ入賞が確実に成立する。また、インデックス値IV=15には、図19及び図20に示すように、第2チャンスリプレイ当選データのみが設定されている。インデックス値IV=15で当選となった場合、図21に示すように、リール32L,32M,32Rの停止順序及び各ストップボタン42~44の操作タイミングに関係なく第2チャンスリプレイ入賞が確実に成立する。また、インデックス値IV=16には、図19及び図20に示すように、通常リプレイ当選データのみが設定されている。インデックス値IV=16で当選となった場合、図21に示すように、リール32L,32M,32Rの停止順序及び各ストップボタン42~44の操作タイミングに関係なく通常リプレイ入賞が確実に成立する。
インデックス値IV=17には、3枚ベット時の役抽選テーブルであれば図19に示すように第1CB当選データのみが設定されており、2枚ベット時の役抽選テーブルであれば図20に示すように第2CB当選データのみが設定されている。つまり、第1CB当選データは遊技媒体のベット数が「3」である場合にのみ当選役として設定されるデータであって、第1CB入賞は遊技媒体のベット数が「3」である場合にのみ成立し得る。また、第2CB当選データは遊技媒体のベット数が「2」である場合にのみ当選役として設定されるデータであって、第2CB入賞は遊技媒体のベット数が「2」である場合にのみ成立し得る。第1CB当選データが設定された場合、遊技媒体のベット数が「3」であれば、図21に示すように、リール32L,32M,32Rの停止順序に関係なく第1CB入賞が成立し得る。但し、各ストップボタン42~44の操作タイミングよっては第1CB入賞が成立しない可能性がある。第2CB当選データが設定された場合、遊技媒体のベット数が「2」であれば、図21に示すように、リール32L,32M,32Rの停止順序に関係なく第2CB入賞が成立し得る。但し、各ストップボタン42~44の操作タイミングよっては第2CB入賞が成立しない可能性がある。
ここで、第1CB当選データ及び第2CB当選データ以外の当選データは対応する入賞が成立したか否かに関係なく当選となったゲームにて消去され、当選となったゲームの次以降のゲームには持ち越されない。これに対して、第1CB当選データ及び第2CB当選データは、主側RAM74のクリア処理(第1CB当選データについては一部クリア処理(ステップS105)又は全部クリア処理(ステップS106)、第2CB当選データについては全部クリア処理(ステップS106))が行われる場合を除き、当選となったゲームの次以降のゲームであっても対応する入賞が成立するまで記憶保持される。この場合に、第1CB当選データ及び第2CB当選データのいずれか一方が持ち越されている状態のゲームにおいては第1CB当選データ及び第2CB当選データに対応するインデックス値IVは抽選対象から除外される。
つまり、ベット数が「3」である状況でゲームが行われた結果、第1CB当選データが主側RAM74に設定されるとともに第1CB入賞が成立していないことで当該第1CB当選データが持ち越された状態となった場合には、その後にベット数が「3」である状況でゲームが行われたとしても第1CB当選データに対応するインデックス値IVは抽選対象から除外され、その後にベット数が「2」である状況でゲームが行われたとしても第2CB当選データに対応するインデックス値IVは抽選対象から除外される。また、ベット数が「2」である状況でゲームが行われた結果、第2CB当選データが主側RAM74に設定されるとともに第2CB入賞が成立していないことで当該第2CB当選データが持ち越された状態となった場合には、その後にベット数が「3」である状況でゲームが行われたとしても第1CB当選データに対応するインデックス値IVは抽選対象から除外され、その後にベット数が「2」である状況でゲームが行われたとしても第2CB当選データに対応するインデックス値IVは抽選対象から除外される。これにより、第1CB当選データ及び第2CB当選データのいずれかが既に記憶保持されているにも関わらず第1CB当選データ及び第2CB当選データのいずれかが新たに記憶されてしまわないようにすることが可能となり、複数のCB当選データが累積して記憶されてしまわないようにすることが可能となる。
図19の3枚ベット時の役抽選テーブルが選択される場合、インデックス値IV=1の際に当選となる確率、インデックス値IV=2の際に当選となる確率、インデックス値IV=3の際に当選となる確率、インデックス値IV=4の際に当選となる確率、インデックス値IV=5の際に当選となる確率及びインデックス値IV=6の際に当選となる確率は、それぞれ約1/21.8である。また、インデックス値IV=7の際に当選となる確率、インデックス値IV=8の際に当選となる確率及びインデックス値IV=9の際に当選となる確率は、それぞれ約1/21.8である。また、インデックス値IV=10の際に当選となる確率は、約1/9.4である。また、インデックス値IV=11の際に当選となる確率は、約1/164である。また、インデックス値IV=12の際に当選となる確率は、約1/146である。また、インデックス値IV=13の際に当選となる確率は、約1/423である。また、インデックス値IV=14の際に当選となる確率は、約1/328である。また、インデックス値IV=15の際に当選となる確率は、約1/164である。また、インデックス値IV=16の際に当選となる確率は、約1/7.3である。また、インデックス値IV=17の際に当選となる確率は、約1/3.3である。
一方、図20の2枚ベット時の役抽選テーブルが選択される場合、インデックス値IV=1~16のそれぞれにおいて当選となる確率が、3枚ベット時の役抽選テーブルが選択される場合よりも低い確率となる。具体的には、2枚ベット時の役抽選テーブルが選択される場合、インデックス値IV=1~16のそれぞれにおいて当選となる確率が、3枚ベット時の役抽選テーブルが選択される場合の確率の2/3以下の確率となっている。これにより、「2」の遊技媒体がベットされている状況で実行されるゲームよりも、「3」の遊技媒体がベットされている状況で実行されるゲームの方が、遊技媒体の付与を伴う小役入賞及び再遊技が付与されるリプレイ入賞の発生確率を高くすることが可能となる。
但し、2枚ベット時の役抽選テーブルが選択される場合、インデックス値IV=17の際に当選となる確率は約1/2.2である。これに対して、上記のとおり3枚ベット時の役抽選テーブルが選択される場合、インデックス値IV=17の際に当選となる確率は約1/3.3である。これにより、「2」の遊技媒体がベットされている状況で実行されるゲームにおいて第2CB当選データが主側RAM74に記憶される確率を、「3」の遊技媒体がベットされている状況で実行されるゲームにおいて第1CB当選データが主側RAM74に記憶される確率よりも高くすることが可能となる。
なお、主側ROM73には、3枚ベット時の役抽選テーブル及び2枚ベット時の役抽選テーブル以外にも第1CB状態ST2及び第2CB状態ST3である場合のそれぞれにおける役の抽選処理(図18)にて参照されるCB用抽選テーブルが記憶されている。CB用抽選テーブルにはインデックス値IVが1個のみ設定されており、その1個のインデックス値IVには通常リプレイ当選データが設定されている。当該インデックス値IVで当選となる確率は3/10であり、当該インデックス値IVに当選となった場合には左ストップボタン42の操作タイミングが所定のタイミングであればリール32L,32M,32Rの停止順序に関係なく通常リプレイ入賞が成立する。左ストップボタン42の操作タイミングが所定のタイミングではない場合には通常リプレイ当選データが記憶されていても通常リプレイ入賞は成立しない。一方、上記インデックス値IVに当選となったものの左ストップボタン42の操作タイミングが所定のタイミングではない場合、又は上記インデックス値IVで当選とならなかった場合には第1ベル入賞が成立し得る。
ここで、インデックス値IV=12及び15以外のインデックス値IVは「1」~「6」の設定値の間で当選確率が同一となっている。これは遊技媒体のベット数が「3」である場合及び「2」である場合のいずれにおいても該当する。これに対して、インデックス値IV=12及び15の当選確率は「1」~「6」の設定値の間で相違している。具体的には、インデックス値IV=12で当選となる確率は、「1」の設定値の場合に最も低く、大きい値の設定値ほど当選確率が高く、「6」の設定値の場合が最も高い。また、インデックス値IV=15で当選となる確率は、「1」の設定値の場合に最も低く、大きい値の設定値ほど当選確率が高く、「6」の設定値の場合が最も高い。これにより、「1」~「6」の設定値の間で有利度に差を設けることが可能となる。
役の抽選処理(図18)の説明に戻り、ステップS902にて抽選テーブルを選択した後、インデックス値IVを「1」とした後に(ステップS903)、役の当否を判定する際に用いる判定値DVを設定する(ステップS904)。かかる判定値設定処理では、現在の判定値DVに、現在のインデックス値IVと対応するポイント値PVを加算して新たな判定値DVを設定する。なお、初回の判定値設定処理では、ステップS901にて取得した乱数の値を現在の判定値DVとし、この乱数の値に現在のインデックス値IVであるインデックス値IV=1と対応するポイント値PVを加算して新たな判定値DVとする。
その後、インデックス値IVと対応する役の当否判定を行う(ステップS905)。役の当否判定では判定値DVが「65535」を超えたか否かを判定する。判定値DVが「65535」を超えた場合(ステップS905:YES)には、主側RAM74に設けられたインデックス値カウンタ74fの設定処理を実行する(ステップS906)。既に説明したとおり、インデックス値カウンタ74fは、役の抽選処理(図18)において当選となったインデックス値IVを主側MPU72にて把握可能とするカウンタである。ステップS906におけるインデックス値カウンタ74fの設定処理では、今回当選となった「1」~「17」のいずれかのインデックス値IVをインデックス値カウンタ74fにセットする。これにより、役の抽選処理(図18)において当選となったインデックス値IVを主側MPU72にて把握可能とすることができる。
その後、当選データの取得処理を実行する(ステップS907)。当選データの取得処理では、今回当選となったインデックス値IVに対応する当選データを主側RAM74に設定する。図14に示すように、主側RAM74には、第1当選データエリア74g、第2当選データエリア74h、第1CB当選データエリア74j及び第2CB当選データエリア74kが設けられている。第1当選データエリア74g及び第2当選データエリア74hは、役の抽選処理(図18)において当選となったインデックス値IVに対応する役のうち第1CB役及び第2CB役を除く役の当選データが設定される1バイトの記憶エリアである。第1CB当選データエリア74jは、第1CB役の当選が発生したことを示す第1CB当選データを記憶するための1バイトの記憶エリアであるとともに、第2CB当選データエリア74kは、第2CB役の当選が発生したことを示す第2CB当選データを記憶するための1バイトの記憶エリアである。役の抽選処理(図18)にて第1CB当選データが設定されたインデックス値IVに当選した場合には、第1CB当選データエリア74jに第1CB当選データが設定され、第1CB入賞が成立した場合には第1CB当選データエリア74jから第1CB当選データがクリアされる。また、役の抽選処理(図18)にて第2CB当選データが設定されたインデックス値IVに当選した場合には、第2CB当選データエリア74kに第2CB当選データが設定され、第2CB入賞が成立した場合には第2CB当選データエリア74kから第2CB当選データがクリアされる。第1CB当選データエリア74jに第1CB当選データが設定されている状態とは、第1CB当選データエリア74jの第0~第7ビットのうち最下位ビットである第0ビットに「1」がセットされている状態であるとともに、第2CB当選データエリア74kに第2CB当選データが設定されている状態とは、第2CB当選データエリア74kの第0~第7ビットのうち最下位ビットである第0ビットに「1」がセットされている状態である。
ステップS907における当選データの取得処理では、当選となったインデックス値IVに対応する役が第1CB役である場合には第1CB当選データエリア74jに第1CB当選データが設定されている状態(第1CB当選データエリア74jの第0ビットに「1」が設定されている状態)とするとともに、当選となったインデックス値IVに対応する役が第2CB役である場合には第2CB当選データエリア74kに第2CB当選データが設定されている状態(第2CB当選データエリア74kの第0ビットに「1」が設定されている状態)とする。既に説明したとおり、3枚ベット時の役抽選テーブル(図19)及び2枚ベット時の役抽選テーブル(図20)において、「1」~「17」のインデックス値IVには1つ又は2つの役が設定されている。ステップS907における当選データの取得処理では、当選となったインデックス値IVに対応する役が第1CB役及び第2CB役以外の1つの役である場合にはその役に対応する当選データを第1当選データエリア74gに設定する。また、ステップS907における当選データの取得処理では、当選となったインデックス値IVに対応する役が第1CB役及び第2CB役以外の2つの役である場合にはそれら2つの役に対応する2つの当選データを第1当選データエリア74g及び第2当選データエリア74hに設定する。
判定値DVが「65535」を超えなかった場合には(ステップS905:NO)、インデックス値IVと対応する役に外れたことを意味する。かかる場合にはインデックス値IVを1加算した後に(ステップS908)、インデックス値IVと対応する役があるか否か、すなわち当否判定すべき判定対象があるか否かを判定する(ステップS909)。具体的には、1加算されたインデックス値IVが抽選テーブルに設定されたインデックス値IVの最大値である「17」を超えたか否かを判定する。当否判定すべき判定対象がある場合にはステップS904に戻り、役の当否判定を継続する。このとき、ステップS904では、先の役の当否判定に用いた判定値DV(すなわち現在の判定値DV)に現在のインデックス値IVと対応するポイント値PVを加算して新たな判定値DVとし、ステップS905では、当該判定値DVに基づいて役の当否判定を行う。
ステップS909にて否定判定を行った場合、すなわち「1」~「17」のいずれのインデックス値IVにも当選しなかった場合には、インデックス値カウンタ74fの値を「0」クリアする(ステップS910)。これにより、役の抽選処理(図18)において外れ結果となったことを主側MPU72にて把握可能とすることができる。
ステップS907又はステップS910の処理を実行した場合には、役の当否判定が終了したことを意味する。この場合には、リール停止制御用の停止情報を設定する停止情報第1設定処理を行う(ステップS911)。その後、ゲーム開始時の有利抽選処理を実行し(ステップS912)、遊技区間の第1制御処理を実行し(ステップS913)、抽選結果対応処理を実行する(ステップS914)。ステップS914における抽選結果対応処理には、後述する開始時コマンドが演出側MPU92に送信されるように設定する処理が含まれている。開始時コマンドとは、新たなゲームが開始されたことを演出側MPU92に認識させるためのコマンドであって、主側MPU72にて決定された各種情報を演出側MPU92に認識させるためのコマンドである。演出側MPU92は、開始時コマンドを受信した場合、今回のゲームにおける各種情報を当該ゲーム開始コマンドから把握する。そして、演出側MPU92は、その把握した各種情報に応じた態様で演出の内容を決定する。そして、その決定した演出の内容に対応するデータテーブルを演出側ROM93から演出側RAM94に読み出し、その読み出したデータテーブルに従って上部ランプ61の発光制御、スピーカ62の音出力制御及び画像表示装置63の表示制御を実行する。なお、ゲーム開始時の有利抽選処理(ステップS912)、遊技区間の第1制御処理(ステップS913)、及び抽選結果対応処理(ステップS914)の詳細については後述する。
次に、通常処理(図13)のステップS408にて実行されるリール制御処理について、図22のフローチャートを参照しながら説明する。
リール制御処理では、まず各リール32L,32M,32Rの回転を開始させる回転開始処理を行う(ステップS1001)。回転開始処理では、前回のゲームでリール32L,32M,32Rの回転が開始された時点から予め定めたウエイト時間(例えば4.1秒)が経過したか否かを確認し、経過していない場合にはウエイト時間が経過するまで待機する。ウエイト時間が経過した場合には、次回のゲームのためのウエイト時間を再設定するとともに、主側RAM74に設けられたモータ制御格納エリアに回転開始情報をセットする。かかる処理を行うことにより、タイマ割込み処理(図11)におけるステップS206のステッピングモータ制御処理にてステッピングモータの加速処理が開始され、各リール32L,32M,32Rが回転を開始する。
その後、リール32L,32M,32Rの加速期間が終了して各リール32L,32M,32Rが所定の回転速度で定速回転している状態となったか否かを判定し(ステップS1002)、リール32L,32M,32Rの加速期間が終了していない場合(ステップS1002:NO)には当該加速期間が終了するまでステップS1002の処理を繰り返し実行する。リール32L,32M,32Rの加速期間が終了した場合(ステップS1002:YES)には、操作有効化報知処理を実行する(ステップS1003)。操作有効化報知処理では、各ストップボタン42~44に1対1で対応させて設けられているランプ(図示略)を点灯表示することにより、停止指令を発生させることが可能となったことを遊技者等に報知する。操作有効化報知処理(ステップS1003)が実行された後に、ステップS1004以降の処理が実行されるようになることにより、回転中のリール32L,32M,32Rと対応するストップボタン42~44を操作して停止指令を発生させることが可能となる。これにより、回転中のリール32L,32M,32Rを停止させることが可能となる。
その後、ストップボタン42~44のいずれかが操作されたか否かを判定する(ステップS1004)。いずれのストップボタン42~44も操作されていない場合(ステップS1004:NO)には、ストップボタン42~44のいずれかが操作されるまでステップS1004の処理を繰り返し実行する。ストップボタン42~44のいずれかが操作されたと判定した場合には、回転中のリール32L,32M,32Rと対応するストップボタン42~44が操作されたか否か、すなわち停止指令が発生したか否かを判定する(ステップS1005)。停止指令が発生していない場合には、ステップS1004に戻り、ストップボタン42~44のいずれかが操作されるまでステップS1004~ステップS1005の処理を繰り返し実行する。
停止指令が発生した場合(ステップS1005:YES)には、今回操作されたストップボタン42~44に対応する操作無効化報知処理を実行する(ステップS1006)。ステップS1006では、ステップS1003における操作有効化報知処理において点灯させた各ストップボタン42~44のランプ(図示略)のうち今回操作されたストップボタン42~44に対応するランプを消灯状態に切り換える。これにより、既に停止指令が発生したストップボタン42~44を遊技者が把握できるようになる。
その後、停止指令コマンドを演出側MPU92に送信する(ステップS1007)。停止指令コマンドとは、いずれのストップボタン42~44が操作されて停止指令が発生したのかを演出側MPU92に認識させるためのコマンドである。停止指令コマンドを送信した場合には回転中のリールを停止させるべくステップS1008~ステップS1014に示す停止制御処理を行う。
停止制御処理では、ストップボタン42~44が操作されたタイミングで基点位置(具体的には下段)に到達している到達図柄の図柄番号を確認する(ステップS1008)。具体的には、リールインデックスセンサの検出信号が入力された時点から出力した励磁パルス数により、基点位置に到達している到達図柄の図柄番号を確認する。その後、主側RAM74に格納されている停止情報に基づいて、今回停止させるべきリール32L,32M,32Rのスベリ数を算出する(ステップS1009)。
本スロットマシン10では、各リール32L,32M,32Rを停止させる停止態様として、ストップボタン42~44が操作された場合に、基点位置に到達している到達図柄をそのまま停止させる停止態様と、対応するリール32L,32M,32Rを1図柄分滑らせた後に停止させる停止態様と、2図柄分滑らせた後に停止させる停止態様と、3図柄分滑らせた後に停止させる停止態様と、4図柄分滑らせた後に停止させる停止態様との5パターンの停止態様が用意されている。そこでステップS1009では、主側RAM74に格納されている停止情報に基づいてスベリ数として「0」~「4」のいずれかの値を算出する。
その後、算出したスベリ数を到達図柄の図柄番号に加算し、基点位置に実際に停止させる停止図柄の図柄番号を決定する(ステップS1010)。そして、今回停止させるべきリール32L,32M,32Rの到達図柄の図柄番号と停止図柄の図柄番号が等しくなったか否かを判定し(ステップS1011)、等しくなった場合にはリール32L,32M,32Rの回転を停止させるリール停止処理を行う(ステップS1012)。その後、全リール32L,32M,32Rが停止したか否かを判定する(ステップS1013)。全リール32L,32M,32Rが停止していない場合には、停止情報第2設定処理を行い(ステップS1014)、ステップS1004に戻る。
ここで、停止情報とは、各リール32L,32M,32Rの停止態様を、役の抽選処理(図18)の結果に対応したものとするための情報であり、当該停止情報を利用することにより、各ストップボタン42~44が停止操作された場合に基点位置に到達している到達図柄に対するスベリ数(具体的には「0」~「4」)を算出することが可能となる。当該停止情報としては、各図柄とスベリ数との対応関係を示すスベリ数データが、各抽選結果及び各リール32L,32M,32Rの停止順序に対応させて主側ROM73に予め記憶されている。但し、これに限定されることはなく、各抽選結果及び各リール32L,32M,32Rの停止順序に対応するスベリ数データを、リール32L,32M,32Rの回転中などに導出する構成としてもよい。
上記停止情報を設定するための処理として、役の抽選処理(図18)のステップS911にて実行される停止情報第1設定処理と、リール制御処理(図22)のステップS1014にて実行される停止情報第2設定処理とが存在している。停止情報第1設定処理では、役の抽選処理の結果に応じて停止情報を設定する。停止情報第2設定処理では、停止情報第1設定処理又は前回の停止情報第2設定処理にて主側RAM74に格納された停止情報を、リールの停止後に変更する処理である。停止情報第2設定処理では、セットされている当選データと、リール32L,32M,32Rの停止順序と、停止しているリール32L,32M,32Rの停止出目とに基づいて停止情報を変更する。
ステップS1013にて全リール32L,32M,32Rが停止していると判定した場合には、入賞判定処理を実行する(ステップS1015)。当該入賞判定処理では、各リール32L,32M,32RにおいてメインラインML上に停止している図柄の種類を把握する。そして、主側RAM74に記憶されている当選データの内容に基づき、各リール32L,32M,32RにおいてメインラインML上に停止表示されている図柄の組合せが役の抽選処理において当選となった役に対応する図柄の組合せであるか否かを判定し、当選となった役に対応する図柄の組合せである場合には当選役の入賞が成立したことを特定する。当選役の入賞が成立したことを特定した場合、その入賞が小役入賞であれば媒体付与処理において遊技媒体の付与を可能とするように付与対象となる遊技媒体数の情報を主側RAM74にセットするとともに、その入賞がリプレイ入賞であれば、次回の開始待ち処理(図15)にて再遊技設定処理が実行されるようにするためのフラグの設定を行う。なお、入賞判定処理(ステップS1015)の詳細については後述する。
入賞判定処理を実行した後は主側RAM74に設けられた入賞結果コマンドフラグに「1」をセットする(ステップS1016)。入賞結果コマンドフラグは、入賞結果コマンドを演出側MPU92に送信すべきことを主側MPU72にて把握可能とするフラグである。ステップS1016にて入賞結果コマンドフラグに「1」がセットされることにより、後述するコマンド出力処理(図44)のステップS2705にて、入賞結果コマンドを演出側MPU92に送信する入賞結果コマンド送信処理が実行される。入賞結果コマンドには、主側RAM74における第1CB当選データエリア74j及び第2CB当選データエリア74kに格納されているデータが設定されるとともに、主側RAM74に設けられた入賞データエリア78に格納されているデータが設定される。入賞データエリア78は、今回のゲームにおいて入賞が成立した役を主側MPU72にて把握可能とする1バイトのデータが設定される記憶エリアである。演出側MPU92は、入賞結果コマンドに設定されているデータに基づいて、今回の入賞成立の有無を把握するとともに、入賞が成立している場合にはその入賞の種類を把握する。そして、当該入賞結果コマンドから把握した情報に対応する演出が行われるように、上部ランプ61の発光制御、スピーカ62の音出力制御、及び画像表示装置63の表示制御を実行する。
<遊技状態及び遊技区間について>
次に、遊技状態及び遊技区間について説明する。図23は本スロットマシン10に存在している遊技状態及び遊技区間を説明するための説明図である。
本スロットマシン10では遊技状態として、通常遊技状態ST1と、第1CB状態ST2と、第2CB状態ST3と、疑似ボーナス状態ST4と、AT状態ST5と、終了準備状態ST6とが存在している。これらの遊技状態は相互に重複して発生することはない。
通常遊技状態ST1は、主側RAM74の一部クリア処理(ステップS105)又は全部クリア処理(ステップS106)が実行されることにより滞在する遊技状態である。また、通常遊技状態ST1において発生した第1CB状態ST2又は第2CB状態ST3が終了した場合、終了準備状態ST6が終了した場合、遊技状態が通常遊技状態ST1となる。通常遊技状態ST1は遊技媒体のベット数が「3」である場合及び「2」である場合のいずれであっても1ゲームを実行することが可能である。
通常遊技状態ST1は3枚ベット時及び2枚ベット時のいずれであっても1ゲームにおける遊技媒体の純増期待値(「1ゲームにおける遊技媒体の付与期待数」から「1ゲームにおいてベットされた遊技媒体数」を減算した値)が「0」以下となる。また、通常遊技状態ST1には、第1CB当選データ及び第2CB当選データのいずれもが主側RAM74に記憶されていない非内部状態と、第1CB当選データ及び第2CB当選データのいずれかが主側RAM74に記憶されている内部状態とが存在している。
第1CB状態ST2は、第1CB当選データが主側RAM74に記憶されている状況において第1CB入賞が成立した場合に移行する遊技状態である。第1CB状態ST2は遊技媒体のベット数が「3」である場合に1ゲームを実行することが可能である一方、遊技媒体のベット数が「2」である場合には1ゲームを実行することができない。また、第2CB状態ST3は、第2CB当選データが主側RAM74に記憶されている状況において第2CB入賞が成立した場合に移行する遊技状態である。第2CB状態ST3は遊技媒体のベット数が「2」である場合に1ゲームを実行することが可能である一方、ベット上限数が「2」に設定されるため「3」の遊技媒体をベットすることができない。
第1CB状態ST2及び第2CB状態ST3は遊技者が所有している遊技媒体を増加させない遊技状態である。さらに言うと、第1CB状態ST2及び第2CB状態ST3はいずれも当該遊技状態の開始時に遊技者が所有している遊技媒体の数よりも当該遊技状態の終了時に遊技者が所有している遊技媒体の数を少なくする遊技状態である。これら第1CB状態ST2及び第2CB状態ST3の詳細については後に説明する。
疑似ボーナス状態ST4は通常遊技状態ST1において疑似ボーナス状態ST4への移行条件が成立することで移行する遊技状態である。疑似ボーナス状態ST4は当該疑似ボーナス状態ST4の残りの継続ゲーム数が「0」となった場合又は第2区間SC2のエンディング条件が成立した場合に終了する。疑似ボーナス状態ST4が後述する第2区間SC2のエンディング条件が成立することなく終了する場合であってAT状態ST5への移行条件が成立していない場合、終了準備状態ST6に移行する。また、疑似ボーナス状態ST4が後述する第2区間SC2のエンディング条件が成立することで終了する場合、通常遊技状態ST1に移行する。
疑似ボーナス状態ST4は遊技媒体のベット数が「3」である場合及び「2」である場合のいずれであっても1ゲームを実行することが可能である。疑似ボーナス状態ST4には、第1CB当選データ及び第2CB当選データのいずれもが主側RAM74に記憶されていない非内部状態と、第1CB当選データ及び第2CB当選データのいずれかが主側RAM74に記憶されている内部状態とが存在している。
疑似ボーナス状態ST4ではインデックス値IV=1~6のいずれかに当選した場合、第1ベル入賞の成立を可能とするリール32L,32M,32Rの停止順序が報知される。また、疑似ボーナス状態ST4ではインデックス値IV=7~9のいずれかに当選した場合、第2ベル入賞の成立を可能とするリール32L,32M,32Rの停止順序が報知される。第1ベル入賞又は第2ベル入賞が成立することで「15」の遊技媒体が付与される。これにより、疑似ボーナス状態ST4の1ゲームにおける遊技媒体の期待付与数を高めることが可能となる。疑似ボーナス状態ST4である状況において3枚ベット時であれば1ゲームにおける遊技媒体の純増期待値が「0」よりも大きい値となり、疑似ボーナス状態ST4である状況において2枚ベット時であれば1ゲームにおける遊技媒体の純増期待値が「0」以下となる。
AT状態ST5は疑似ボーナス状態ST4においてAT状態ST5への移行条件が成立することで移行する遊技状態である。AT状態ST5は当該AT状態ST5の残りの継続ゲーム数が「0」となった場合又は第2区間SC2のエンディング条件が成立した場合に終了する。AT状態ST5が後述する第2区間SC2のエンディング条件が成立することなく終了する場合であって通常遊技状態ST1への移行に際して第2区間SC2が終了する場合、終了準備状態ST6に移行する。AT状態ST5が後述する第2区間SC2のエンディング条件が成立することなく終了する場合であって通常遊技状態ST1への移行に際して第2区間SC2が終了しない場合、終了準備状態ST6に移行することなく通常遊技状態ST1に移行する。また、AT状態ST5が後述する第2区間SC2のエンディング条件が成立することで終了する場合、通常遊技状態ST1に移行する。
AT状態ST5は遊技媒体のベット数が「3」である場合及び「2」である場合のいずれであっても1ゲームを実行することが可能である。AT状態ST5には、第1CB当選データ及び第2CB当選データのいずれもが主側RAM74に記憶されていない非内部状態と、第1CB当選データ及び第2CB当選データのいずれかが主側RAM74に記憶されている内部状態とが存在している。
AT状態ST5ではインデックス値IV=1~6のいずれかに当選した場合、第1ベル入賞の成立を可能とするリール32L,32M,32Rの停止順序が報知される。また、AT状態ST5ではインデックス値IV=7~9のいずれかに当選した場合、第2ベル入賞の成立を可能とするリール32L,32M,32Rの停止順序が報知される。第1ベル入賞又は第2ベル入賞が成立することで「15」の遊技媒体が付与される。これにより、AT状態ST5の1ゲームにおける遊技媒体の期待付与数を高めることが可能となる。AT状態ST5である状況において3枚ベット時であれば1ゲームにおける遊技媒体の純増期待値が「0」よりも大きい値となり、AT状態ST5である状況において2枚ベット時であれば1ゲームにおける遊技媒体の純増期待値が「0」以下となる。
終了準備状態ST6は、後述する第2区間SC2のエンディング条件が成立することなく且つAT状態ST5への移行条件が成立することなく疑似ボーナス状態ST4が終了する場合に移行する遊技状態である。また、終了準備状態ST6は、後述する第2区間SC2のエンディング条件が成立することなくAT状態ST5が終了する場合であって、その後の通常遊技状態ST1への移行に際して第2区間SC2が終了する場合に移行する遊技状態である。
終了準備状態ST6は1ゲームが実行された場合に終了する。終了準備状態ST6が終了する場合、通常遊技状態ST1に移行する。終了準備状態ST6は遊技媒体のベット数が「3」である場合及び「2」である場合のいずれであっても1ゲームを実行することが可能である。終了準備状態ST6は3枚ベット時及び2枚ベット時のいずれであっても1ゲームにおける遊技媒体の純増期待値が「0」以下となる遊技状態である。また、終了準備状態ST6には、第1CB当選データ及び第2CB当選データのいずれもが主側RAM74に記憶されていない非内部状態と、第1CB当選データ及び第2CB当選データのいずれかが主側RAM74に記憶されている内部状態とが存在している。
上記のように各種遊技状態(通常遊技状態ST1、第1CB状態ST2、第2CB状態ST3、疑似ボーナス状態ST4、AT状態ST5及び終了準備状態ST6)が存在している構成において、これらの遊技状態とは別に遊技区間が設定されている。遊技区間として第1区間SC1と第2区間SC2とが設定されている。つまり、本スロットマシン10では遊技状況を決定付ける要素として、「2」及び「3」の遊技媒体のベット数と、「1」~「6」の設定値と、各種遊技状態と、第1区間SC1及び第2区間SC2の遊技区間とが存在している。
第1区間SC1とは、リール32L,32M,32Rの停止順序に応じて成立対象となる入賞が異なる役に当選した場合に遊技者にとって有利な入賞の成立を可能とするリール32L,32M,32Rの停止順序が報知されることで1ゲームにおける遊技媒体の純増期待値(「1ゲームにおける遊技媒体の付与期待数」から「1ゲームにおいてベットされた遊技媒体数」を減算した値)が「0」よりも大きい値となり得る有利な遊技状態(疑似ボーナス状態ST4及びAT状態ST5)が開始されない区間であって、上記有利な遊技状態が継続しない区間である。主側RAM74の一部クリア処理(ステップS105)又は全部クリア処理(ステップS106)が実行された場合には通常遊技状態ST1であって第1区間SC1となる。また、第2区間SC2において第2区間SC2の初期化処理が実行された場合にも第1区間SC1となる。第2区間SC2とは、上記有利な遊技状態が開始され得る区間であって上記有利な遊技状態が継続し得る区間である。
上記のとおり主側RAM74の一部クリア処理(ステップS105)又は全部クリア処理(ステップS106)が実行された場合には第1区間SC1となるとともに第2区間SC2の初期化処理が実行された場合にも第1区間SC1となる。一方、第2区間SC2には、第1区間SC1において役の抽選処理(図18)に基づき第2区間SC2への移行契機が発生することで当該第1区間SC1から移行する。この場合、第1区間SC1においてベット数が「3」であるゲームが実行された場合には第2区間SC2への移行契機が発生し得る一方、第1区間SC1においてベット数が「2」であるゲームが実行されたとしても第2区間SC2への移行契機は発生しない。したがって、第1区間SC1において第2区間SC2への移行を期待する遊技者は、ベット数が「2」であるゲームを実行するのではなく、ベット数が「3」であるゲームを実行する必要がある。
第1区間SC1においては1ゲームにおける遊技媒体の純増期待値が確実に「0」以下となるのに対して、第2区間SC2においては1ゲームにおける遊技媒体の純増期待値が「0」以下となる場合だけではなく「0」よりも大きい値となる場合もある。したがって、第1区間SC1よりも第2区間SC2の方が有利な状況となる。よって、遊技者は第1区間SC1においては第2区間SC2に移行することを期待することとなる。
第1区間SC1は、第2区間SC2への移行契機が発生することで終了し、第2区間SC2へ移行する。これに対して、第2区間SC2は疑似ボーナス状態ST4、AT状態ST5又は終了準備状態ST6が終了して通常遊技状態ST1に移行する場合には終了し得る。第2区間SC2が終了した場合には第1区間SC1へ移行する。また、第2区間SC2の終了条件として、第1区間SC1への移行が発生することなく第2区間SC2が継続されることで実行された合計ゲーム数が上限ゲーム数(具体的には1500ゲーム)に到達すること、及び第1区間SC1への移行が発生することなく第2区間SC2が継続されることで遊技媒体の制限付き合計純増枚数が上限純増枚数(具体的には2400枚)に到達することのいずれか一方の条件が成立することというエンディング条件が設定されている。遊技媒体の制限付き合計純増枚数とは、「第2区間SC2が継続している状況で実行されたゲームにより付与された遊技媒体の合計数(遊技媒体の付与が発生していない状況では「0」)」から「第2区間SC2が継続されている状況でゲームを実行するために消化された遊技媒体の合計数(ゲームが実行されていない状況では「0」)」を減算した値を所定差枚数とした場合において、当該所定差枚数の最小値を所定基準値として、当該所定基準値からの上記所定差枚数の増加分の枚数のことである。
つまり、第2区間SC2が継続されることで当該第2区間SC2の開始時からの遊技媒体の制限付き合計純増枚数が上限純増枚数に到達した場合には当該第2区間SC2が終了して第1区間SC1に移行する。また、第2区間SC2が継続されることで当該第2区間SC2の開始時からのゲームの実行回数が上限ゲーム数に到達した場合には当該第2区間SC2が終了して第1区間SC1に移行する。そして、これらエンディング条件のいずれか一方が成立した場合には、疑似ボーナス状態ST4又はAT状態ST5の途中であってもそのエンディング条件が成立したゲームにて疑似ボーナス状態ST4又はAT状態ST5が終了されるとともに第2区間SC2が終了されて第1区間SC1であって通常遊技状態ST1である状況に移行する。これにより、第2区間SC2が過剰に継続してしまわなようにすることが可能となる。
図23に示すように通常遊技状態ST1、第1CB状態ST2及び第2CB状態ST3には、第1区間SC1及び第2区間SC2のいずれにおいても滞在し得る。一方、疑似ボーナス状態ST4、AT状態ST5及び終了準備状態ST6には、第1区間SC1において滞在することはなく、第2区間SC2においてのみ滞在する。
既に説明したとおり通常遊技状態ST1、疑似ボーナス状態ST4、AT状態ST5及び終了準備状態ST6は遊技媒体のベット数が「3」である状況及び「2」である状況のいずれでもゲームを実行することが可能である。第1CB状態ST2は遊技媒体のベット数が「3」である場合にのみゲームを実行することが可能であり、第2CB状態ST3は遊技媒体のベット数が「2」である場合にのみゲームを実行することが可能である。
第2区間SC2において通常遊技状態ST1である場合には、ベット数が「3」であるゲームが実行される場合及びベット数が「2」であるゲームが実行される場合のいずれであっても遊技媒体の純増期待値は「0」以下である。この場合に、第2区間SC2における通常遊技状態ST1においては後述するように、各ゲームにおける役の抽選処理(図18)の結果に基づいて疑似ボーナス状態ST4への移行抽選処理が実行され得るが、当該移行抽選処理はベット数が「3」であるゲームにおいては実行される一方、ベット数が「2」であるゲームにおいては実行されない。また、第2区間SC2における通常遊技状態ST1においては後述するように、1ゲームが実行される度に主側RAM74に設けられた解除ゲーム数カウンタの値が1減算され、その1減算後における解除ゲーム数カウンタの値が「0」である場合には疑似ボーナス状態ST4への移行が確定することとなるが、当該解除ゲーム数カウンタの減算はベット数が「3」であるゲームにおいては実行される一方、ベット数が「2」であるゲームにおいては実行されない。したがって、第2区間SC2における通常遊技状態ST1において、ベット数が「3」であるゲームが実行されるようにした方が、ベット数が「2」であるゲームが実行されるようにするよりも遊技者にとって有利である。解除ゲーム数カウンタは、主側RAM74の第1~第3移行確定フラグのいずれにも「1」がセットされていない状況において疑似ボーナス状態ST4に移行させるために必要なゲーム数である残りの解除ゲーム数を主側MPU72にて特定するためのカウンタである。
疑似ボーナス状態ST4である場合、ベット数が「3」であるゲームが実行される場合には遊技媒体の純増期待値は「0」よりも大きい値となり得るのに対して、ベット数が「2」であるゲームが実行される場合には遊技媒体の純増期待値は「0」以下である。したがって、疑似ボーナス状態ST4である場合、ベット数が「3」であるゲームが実行されるようにした方が、ベット数が「2」であるゲームが実行されるようにするよりも遊技者にとって有利である。疑似ボーナス状態ST4においては後述するように、各ゲームにおける役の抽選処理(図18)の結果に基づいてAT状態ST5への移行抽選処理が実行され得るが、当該移行抽選処理はベット数が「3」であるゲームにおいては実行される一方、ベット数が「2」であるゲームにおいては実行されない。したがって、この点からも疑似ボーナス状態ST4において、ベット数が「3」であるゲームが実行されるようにした方が、ベット数が「2」であるゲームが実行されるようにするよりも遊技者にとって有利である。
AT状態ST5である場合、ベット数が「3」であるゲームが実行される場合には遊技媒体の純増期待値は「0」よりも大きい値となり得るのに対して、ベット数が「2」であるゲームが実行される場合には遊技媒体の純増期待値は「0」以下である。したがって、AT状態ST5である場合、ベット数が「3」であるゲームが実行されるようにした方が、ベット数が「2」であるゲームが実行されるようにするよりも遊技者にとって有利である。AT状態ST5においては後述するように、各ゲームにおける役の抽選処理(図18)の結果に基づいて、当該AT状態ST5の残りの継続ゲーム数を増加させるか否かを決定するための上乗せ抽選処理が実行され得るが、当該上乗せ抽選処理はベット数が「3」であるゲームにおいては実行される一方、ベット数が「2」であるゲームにおいては実行されない。したがって、この点からもAT状態ST5において、ベット数が「3」であるゲームが実行されるようにした方が、ベット数が「2」であるゲームが実行されるようにするよりも遊技者にとって有利である。
上記のように第2区間SC2における通常遊技状態ST1、疑似ボーナス状態ST4及びAT状態ST5においてはベット数が「3」であるゲームが実行されるようにした方が有利である構成であっても、第2区間SC2における通常遊技状態ST1、疑似ボーナス状態ST4及びAT状態ST5のいずれかにおいてベット数が「2」であるゲームにて付与された遊技媒体の数は第2区間SC2における遊技媒体の制限付き合計純増枚数として加算されるとともに、第2区間SC2における通常遊技状態ST1、疑似ボーナス状態ST4及びAT状態ST5のいずれかにおいてベット数が「2」であるゲームは第2区間SC2が継続されることで実行された合計ゲーム数として加算される。つまり、第2区間SC2における通常遊技状態ST1、疑似ボーナス状態ST4及びAT状態ST5のいずれかにおいてベット数が「2」であるゲームは遊技者にとって不利となるにも関わらず、当該ゲームが第2区間SC2のエンディング条件を成立させる側に寄与することとなってしまう。この点からも、第2区間SC2における通常遊技状態ST1、疑似ボーナス状態ST4及びAT状態ST5のいずれかである場合、ベット数が「3」であるゲームが実行されるようにした方が、ベット数が「2」であるゲームが実行されるようにするよりも遊技者にとって有利である。
第2区間SC2であっても第1区間SC1と同様に第1CB入賞が成立し得るとともに第2CB入賞が成立し得る。第2区間SC2において第1CB入賞が成立した場合には第2区間SC2において第1CB状態ST2となるとともに第1CB状態ST2である場合及び第1CB状態ST2が終了した後も第2区間SC2が維持される。また、第2区間SC2において第2CB入賞が成立した場合には第2区間SC2において第2CB状態ST3となるとともに第2CB状態ST3である場合及び第2CB状態ST3が終了した後も第2区間SC2が維持される。第1CB状態ST2及び第2CB状態ST3はいずれも既に説明したとおり、当該遊技状態の開始時に遊技者が所有している遊技媒体の数よりも当該遊技状態の終了時に遊技者が所有している遊技媒体の数を少なくする遊技状態である。つまり、第1CB状態ST2及び第2CB状態ST3は遊技者にとって不利な遊技状態である。その一方、第2区間SC2における第1CB状態ST2及び第2CB状態ST3のいずれかにおいて実行されたゲームは第2区間SC2が継続されることで実行された合計ゲーム数として加算される。つまり、第1CB状態ST2及び第2CB状態ST3で実行されたゲームは遊技者にとって不利となるにも関わらず、当該ゲームが第2区間SC2のエンディング条件を成立させる側に寄与することとなってしまう。したがって、第2区間SC2において第1CB状態ST2又は第2CB状態ST3が発生した場合には遊技者にとってより不利となる。
なお、終了準備状態ST6は第2区間SC2においてベット数が「3」であるゲームが実行される場合及びベット数が「2」であるゲームが実行される場合のいずれであっても遊技媒体の純増期待値は「0」以下となるものの、疑似ボーナス状態ST4又はAT状態ST5が終了することに伴って第2区間SC2が終了するのに対して1ゲームのみ実行される遊技状態である。したがって、終了準備状態ST6において実行されるゲームは、第2区間SC2における遊技媒体の制限付きの合計純増枚数に寄与することはなく、さらに第2区間SC2における合計ゲーム数に寄与しない。但し、これに限定されることはなく、終了準備状態ST6において実行されるゲームであっても、第2区間SC2における遊技媒体の制限付きの合計純増枚数に寄与するとともに、さらに第2区間SC2における合計ゲーム数に寄与する構成としてもよい。
<CB状態ST2,ST3について>
次に、第1CB状態ST2及び第2CB状態ST3について詳細に説明する。第1CB役には、ベット数が「3」であるゲームにおいて当選となり得るのに対して、ベット数が「2」であるゲームにおいては当選となり得ない。ベット数が「3」であるゲームにおいて約1/3.3の確率で第1CB役に当選する。但し、第1CB役の当選状態(すなわち第1CB当選データが主側RAM74に記憶されている状態)、第2CB役の当選状態(すなわち第2CB当選データが主側RAM74に記憶されている状態)、第1CB状態ST2及び第2CB状態ST3のいずれかである場合には、第1CB役が役の抽選処理(図18)における抽選対象から除外される。
第2CB役には、ベット数が「2」であるゲームにおいて当選となり得るのに対して、ベット数が「3」であるゲームにおいては当選となり得ない。ベット数が「2」であるゲームにおいて約1/2.2の確率で第2CB役に当選する。但し、第1CB役の当選状態(すなわち第1CB当選データが主側RAM74に記憶されている状態)、第2CB役の当選状態(すなわち第2CB当選データが主側RAM74に記憶されている状態)、第1CB状態ST2及び第2CB状態ST3のいずれかである場合には、第2CB役が役の抽選処理(図18)における抽選対象から除外される。
第1CB役の当選状態においては、ベット数が「3」であるゲームにて第1CB入賞が成立し得る一方、ベット数が「2」であるゲームにおいては第1CB入賞は成立しない。したがって、第1CB役の当選状態においてベット数が「2」であるゲームが実行された場合において役の抽選処理(図18)にていずれのインデックス値IVにも当選しない外れ結果となったとしても、リール32L,32M,32Rの停止順序及びストップボタン42~44の停止操作タイミングに関係なく第1CB入賞は成立しない。また、第1CB役の当選状態においてベット数が「2」であるゲームが実行された場合において役の抽選処理(図18)にて所謂取りこぼしが発生し得るインデックス値IVに当選したとしても、リール32L,32M,32Rの停止順序及びストップボタン42~44の停止操作タイミングに関係なく第1CB入賞は成立しない。第1CB役の当選状態においてベット数が「3」であるゲームが実行されて第1CB入賞が成立した場合に第1CB状態ST2となる。
第1CB状態ST2においては、ベット数が「3」であるゲームを実行することが可能であり、ベット数が2以下である状況においてはゲームを実行することが不可である。第1CB状態ST2においては各ゲームにおける役の抽選処理(図18)にて3/10の確率で通常リプレイ当選データが主側RAM74に記憶され、通常リプレイ当選データが記憶された場合には左ストップボタン42の操作タイミングが所定のタイミングであればリール32L,32M,32Rの停止順序に関係なく通常リプレイ入賞が成立する。左ストップボタン42の操作タイミングが所定のタイミングではない場合には通常リプレイ当選データが記憶されていても通常リプレイ入賞は成立しない。
第1CB状態ST2においては役の抽選処理(図18)にて通常リプレイ当選データが主側RAM74に記憶されなかった場合、又は通常リプレイ当選データが主側RAM74に記憶されたものの左ストップボタン42の操作タイミングが所定のタイミングではないことで通常リプレイ入賞を成立させることができなかった場合、第1ベル入賞が成立し得る。この場合、リール32L,32M,32Rの停止順序に関係なく第1ベル入賞が成立するが、左ストップボタン42の停止操作タイミングによっては第1ベル入賞が成立しないことがある。
但し、これに限定されることはなく、第1CB状態ST2において役の抽選処理(図18)にて通常リプレイ当選データが主側RAM74に記憶された場合にはリール32L,32M,32Rの停止順序及び各ストップボタン42~44の停止操作タイミングによらずに確実に通常リプレイ入賞が成立する構成としてもよい。また、第1CB状態ST2において役の抽選処理(図18)にて通常リプレイ当選データが主側RAM74に記憶されなかった場合、リール32L,32M,32Rの停止順序及び各ストップボタン42~44の停止操作タイミングによらずに確実に第1ベル入賞が成立する構成としてもよい。
第1CB状態ST2において第1ベル入賞が成立した場合には「1」の遊技媒体が付与される。既に説明したとおり第1CB状態ST2においては「3」の遊技媒体がベットされている場合にのみゲームを実行することが可能である。これに対して、第1CB状態ST2のゲームにおいて付与される遊技媒体の数は「1」である。そして、第1CB状態ST2は「30」の遊技媒体が付与された場合に終了する。したがって、第1CB状態ST2においては「3」の遊技媒体がベットされることで実行されたゲームにて「1」の遊技媒体が付与されるという事象を30回発生させる必要があり、この場合、第1CB状態ST2が開始されてから終了されるまでに遊技者が所有している遊技媒体が少なくとも60減少することとなる。よって、第1CB状態ST2は遊技者にとって不利な遊技状態となる。
また、第1CB状態ST2においては上記のとおり通常リプレイ入賞が成立し得るとともに通常リプレイ入賞及び第1ベル入賞の両方が成立しないこともある。そうすると、第2区間SC2において第1CB状態ST2が発生した場合には、遊技者にとって不利である第1CB状態ST2が30ゲーム以上に亘って継続することとなり、そのゲーム数が第2区間SC2において実行された合計ゲーム数に加算されることとなる。
第2CB役の当選状態においては、ベット数が「2」であるゲームにて第2CB入賞が成立し得る一方、ベット数が「3」であるゲームにおいては第2CB入賞は成立しない。したがって、第2CB役の当選状態においてベット数が「3」であるゲームが実行された場合において役の抽選処理(図18)にていずれのインデックス値IVにも当選しない外れ結果となったとしても、リール32L,32M,32Rの停止順序及びストップボタン42~44の停止操作タイミングに関係なく第2CB入賞は成立しない。また、第2CB役の当選状態においてベット数が「3」であるゲームが実行された場合において役の抽選処理(図18)にて所謂取りこぼしが発生し得るインデックス値IVに当選したとしても、リール32L,32M,32Rの停止順序及びストップボタン42~44の停止操作タイミングに関係なく第2CB入賞は成立しない。第2CB役の当選状態においてベット数が「2」であるゲームが実行されて第2CB入賞が成立した場合に第2CB状態ST3となる。
第2CB状態ST3においては、ベット数が「2」である状況においてゲームを実行することが可能であるとともに遊技媒体の上限ベット数は「2」となる。第2CB状態ST3においては各ゲームにおける役の抽選処理(図18)にて3/10の確率で通常リプレイ当選データが主側RAM74に記憶され、通常リプレイ当選データが記憶された場合には左ストップボタン42の操作タイミングが所定のタイミングであればリール32L,32M,32Rの停止順序に関係なく通常リプレイ入賞が成立する。左ストップボタン42の操作タイミングが所定のタイミングではない場合には通常リプレイ当選データが記憶されていても通常リプレイ入賞は成立しない。
第2CB状態ST3においては役の抽選処理(図18)にて通常リプレイ当選データが主側RAM74に記憶されなかった場合、又は通常リプレイ当選データが主側RAM74に記憶されたものの左ストップボタン42の操作タイミングが所定のタイミングではないことで通常リプレイ入賞を成立させることができなかった場合、第1ベル入賞が成立し得る。この場合、リール32L,32M,32Rの停止順序に関係なく第1ベル入賞が成立するが、左ストップボタン42の停止操作タイミングによっては第1ベル入賞が成立しないことがある。
但し、これに限定されることはなく、第2CB状態ST3において役の抽選処理(図18)にて通常リプレイ当選データが主側RAM74に記憶された場合にはリール32L,32M,32Rの停止順序及び各ストップボタン42~44の停止操作タイミングによらずに確実に通常リプレイ入賞が成立する構成としてもよい。また、第2CB状態ST3において役の抽選処理(図18)にて通常リプレイ当選データが主側RAM74に記憶されなかった場合、リール32L,32M,32Rの停止順序及び各ストップボタン42~44の停止操作タイミングによらずに確実に第1ベル入賞が成立する構成としてもよい。
第2CB状態ST3において第1ベル入賞が成立した場合には「1」の遊技媒体が付与される。既に説明したとおり第2CB状態ST3においては「2」の遊技媒体がベットされている場合にのみゲームを実行することが可能である。これに対して、第2CB状態ST3のゲームにおいて付与される遊技媒体の数は「1」である。そして、第2CB状態ST3は「30」の遊技媒体が付与された場合に終了する。したがって、第2CB状態ST3においては「2」の遊技媒体がベットされることで実行されたゲームにて「1」の遊技媒体が付与されるという事象を30回発生させる必要があり、この場合、第2CB状態ST3が開始されてから終了されるまでに遊技者が所有している遊技媒体が少なくとも30減少することとなる。よって、第2CB状態ST3は遊技者にとって不利な遊技状態となる。但し、第2CB状態ST3のこの不利益度は第1CB状態ST2よりも低い。
また、第2CB状態ST3においては上記のとおり通常リプレイ入賞が成立し得るとともに通常リプレイ入賞及び第1ベル入賞の両方が成立しないこともある。そうすると、第2区間SC2において第2CB状態ST3が発生した場合には、遊技者にとって不利である第2CB状態ST3が30ゲーム以上に亘って継続することとなり、そのゲーム数が第2区間SC2において実行された合計ゲーム数に加算されることとなる。
上記のように遊技者にとって不利な遊技状態として第1CB状態ST2及び第2CB状態ST3が設定されている構成において、ベット数が「2」であるゲームを実行することで第2CB役の当選状態とするとともに第2CB入賞を成立させないようにしてから、ベット数が「3」であるゲームを実行することで、各ゲームにおける役の抽選処理(図18)の結果、リール32L,32M,32Rの停止順序及び各ストップボタン42~44の停止操作タイミングに関係なく、第1CB状態ST2及び第2CB状態ST3への移行を発生させないようにしながら遊技を行うことが可能となる。つまり、ベット数が「2」であるゲームが実行されることで第2CB役の当選状態となった場合には、その後にベット数が「3」であるゲームが実行されることにより第2CB役の当選状態であっても第2CB入賞が成立しない。また、第2CB役の当選状態においてはベット数が「3」であるゲームが実行されたとしても役の抽選処理(図18)にて第1CB役が抽選対象から除外されるため、第1CB役の当選状態とならない。そして、第1CB役の当選状態とならないことにより第1CB入賞が成立することはなく、第1CB状態ST2に遊技状態が移行することもない。これにより、第1CB状態ST2及び第2CB状態ST3への移行を発生させないようにしながら、ベット数が「3」であるゲームを実行することが可能となる。そして、ベット数が「3」であるゲームを実行することで、既に説明したとおり第2区間SC2への移行が発生し得るとともに、疑似ボーナス状態ST4への移行が発生し得る。
ベット数が「2」であるゲームにて第2CB役に当選する確率は約1/2.2であるのに対して、ベット数が「3」であるゲームにて第1CB役に当選する確率は約1/3.3である。つまり、第2CB役に当選する確率の方が第1CB役に当選する確率よりも高く設定されている。これにより、遊技ホールなどにおいてベット数が「2」であるゲームを実行することで第2CB役の当選状態とする場合に、当該第2CB役の当選状態となるまでに要するゲーム数を少なくすることが可能となる。その一方、誤って第2CB役の当選状態とする前にベット数が「3」であるゲームが実行されたとしても、第1CB役に当選する確率の方が第2CB役に当選する確率よりも低いことで、第1CB役に当選しづらくさせることが可能となる。
なお、第2CB役に当選する確率の方が第1CB役に当選する確率よりも高い構成に限定されることはなく、第1CB役に当選する確率の方が第2CB役に当選する確率よりも高い構成としてもよく、第1CB役に当選する確率と第2CB役に当選する確率とが同一又は略同一である構成としてもよい。
<兼用表示部66における表示内容>
次に、兼用表示部66における表示内容について説明する。既に説明したとおり、兼用表示部66では、リール32L,32M,32Rの停止順序に対応する表示を行う停止順対応表示、第2区間SC2の滞在比率を表示する比率表示、及び主側RAM74における付与数カウンタ74eの値に基づく付与数表示が行われる。
既に説明したとおり、主側RAM74には、小役入賞が成立して遊技者に付与される遊技媒体の数を主側MPU72にて把握可能とする付与数カウンタ74e(図14)が設けられている。付与数カウンタ74eの値は、既に説明したベット対応処理(図16)において、1枚以上の仮想メダルが貯留記憶されている状態において有効なベット操作が行われた場合にステップS607にて「0」クリアされるとともに、メダル投入口45に投入されたメダルが投入メダル検出センサ45aによって検出された場合にステップS612にて「0」クリアされる。
図7(b)を参照しながら既に説明したとおり、画像表示装置63にて報知されるリール32L,32M,32Rの停止順序として第1~第9停止順序が存在しているとともに、兼用表示部66にて実行される停止順対応表示として第1~第9停止順対応表示が存在している。図14に示すように、主側RAM74には、停止順種別カウンタ74m及び比率表示カウンタ74nが設けられている。停止順種別カウンタ74mは、停止順対応表示が実行される場合に兼用表示部66に表示すべきリール32L,32M,32Rの停止順序に対応する表示の種類を示す停止順種別番号を主側MPU72にて把握可能とするカウンタである。停止順種別カウンタ74mは1バイトからなる。停止順種別カウンタ74mには「1」~「9」のいずれかの停止順種別番号、又は兼用表示部66にて停止順対応表示が行われないことを示す「0」がセットされる。
比率表示カウンタ74nは、兼用表示部66にて比率表示を実行すべきこと、及び当該比率表示において表示対象となる第2区間SC2の滞在比率の演算結果データを主側MPU72にて把握可能とするカウンタである。比率表示カウンタ74nは1バイトからなる。比率表示カウンタ74nの初期値は「255」であり、当該初期値は兼用表示部66にて比率表示を行わないことを示す値である。メイン処理(図10)のステップS105にて一部クリア処理が実行された場合、又はステップS106にて全部クリア処理が実行された場合、比率表示カウンタ74nには当該初期値(「255」)が設定される。タイマ割込み処理(図11)のステップS213における管理用処理では、ゲームが実行されていない状態において後述する比率表示の開始操作が行われた場合、第2区間SC2の滞在比率を0%~100%の範囲で算出するための演算が行われ、当該演算結果が比率表示カウンタ74nに設定される。比率表示カウンタ74nには、第2区間SC2の滞在比率の演算結果データとして「0」~「100」のいずれかの数値情報がセットされる。比率表示カウンタ74nに「0」~「100」のいずれかの演算結果データが設定されている場合、兼用表示部66にて当該演算結果データに対応する比率表示が実行される。タイマ割込み処理(図11)のステップS213における管理用処理では、後述する比率表示の終了操作が行われた場合、比率表示カウンタ74nに初期値である「255」を設定する処理が行われる。これにより、兼用表示部66における比率表示が終了することとなる。なお、管理用処理(ステップS213)の詳細については後述する。
図24(a)は兼用表示部66にて停止順対応表示が実行される条件、比率表示が実行される条件及び付与数表示が実行される条件を説明するための説明図である。図24(a)に示すように、主側RAM74における停止順種別カウンタ74mに「1」~「9」のいずれかの停止順種別番号が設定されていることを条件として、兼用表示部66にて停止順対応表示が行われる。また、比率表示カウンタ74nに「0」~「100」のいずれかの演算結果データが設定されていることを条件として、兼用表示部66にて比率表示が実行される。さらにまた、停止順種別カウンタ74mに「1」~「9」の停止順種別番号が設定されていない状態であるとともに比率表示カウンタ74nに「0」~「100」の演算結果データが設定されていない状態であることを条件として、兼用表示部66にて付与数表示が実行される。上述したとおり、本実施形態において停止順種別カウンタ74mに設定される数値情報は「1」~「9」のいずれかの停止順種別番号又は「0」であり、停止順種別カウンタ74mに「1」~「9」の停止順種別番号が設定されていない状態とは、具体的には停止順種別カウンタ74mの値が「0」である状態である。また、上述したとおり、本実施形態において比率表示カウンタ74nに設定される数値情報は「0」~「100」のいずれかの演算結果データ又は初期値である「255」であり、比率表示カウンタ74nに「0」~「100」の演算結果データが設定されていない状態とは、具体的には比率表示カウンタ74nに「255」が設定されている状態である。
停止順種別カウンタ74mに「1」~「9」のいずれかの停止順種別番号が設定されている状態は、ゲームの実行中に開始されるとともに当該ゲームの実行中に終了する。一方、兼用表示部66に第2区間SC2の滞在比率の演算結果データが設定されている状態は、ゲームが実行されていない状態において開始されるとともに、当該ゲームが実行されていない状態において終了する。また、兼用表示部66に第2区間SC2の滞在比率の演算結果データが設定されている状態においてゲームは開始されない。停止順種別カウンタ74mに「1」~「9」のいずれかの停止順種別番号が設定されている期間と、比率表示カウンタ74nに「0」~「100」のいずれかの演算結果データが設定されている期間とは重複しない期間である。このため、兼用表示部66にて停止順対応表示を実行するための条件と比率表示を実行するための条件とが同時に満たされることはない。
このように、兼用表示部66では、ゲームが実行されている状態であるとともに停止順種別カウンタ74mに「1」~「9」のいずれかの停止順種別番号が設定されている状態である場合、付与数カウンタ74eの値に基づく付与数表示よりも停止順表示が優先的に実行される。また、ゲームが実行されていない状態であるとともに比率表示カウンタ74nに「0」~「100」のいずれかの演算結果データが設定されている状態である場合、付与数カウンタ74eの値に基づく付与数表示よりも比率表示が優先的に実行される。
図24(b)はインデックス値カウンタ74fの値、停止順種別カウンタ74mの値及び兼用表示部66にて実行される停止順対応表示の表示内容の関係を説明するための説明図である。既に説明したとおり、役の抽選処理(図18)にて「1」~「17」のいずれかのインデックス値IVに当選となった場合には当該インデックス値IVがインデックス値カウンタ74fに設定されるとともに、役の抽選処理(図18)にていずれのインデックス値IVにも当選しなかった場合にはインデックス値カウンタ74fに「0」が設定される。
遊技状態が疑似ボーナス状態ST4又はAT状態ST5であるとともにベット数が「3」であるゲームの役の抽選処理(図18)にて「1」~「9」のいずれかのインデックス値IVに当選した場合には、当該「1」~「9」のいずれかのインデックス値IVが停止順種別番号として停止順種別カウンタ74mにセットされる。図24(b)に示すように、兼用表示部66では、停止順種別カウンタ74mに「1」がセットされた場合に「左→中→右」の第1停止順序に対応する停止順対応表示が行われ、停止順種別カウンタ74mに「2」がセットされた場合に「左→右→中」の第2停止順序に対応する停止順対応表示が行われ、停止順種別カウンタ74mに「3」がセットされた場合に「中→左→右」の第3停止順序に対応する停止順対応表示が行われ、停止順種別カウンタ74mに「4」がセットされた場合に「中→右→左」の第4停止順序に対応する停止順対応表示が行われ、停止順種別カウンタ74mに「5」がセットされた場合に「右→左→中」の第5停止順序に対応する停止順対応表示が行われ、停止順種別カウンタ74mに「6」がセットされた場合に「右→中→左」の第6停止順序に対応する停止順対応表示が行われ、停止順種別カウンタ74mに「7」がセットされた場合に「第1停止が左」の第7停止順序に対応する停止順対応表示が行われ、停止順種別カウンタ74mに「8」がセットされた場合に「第1停止が中」の停止順序に対応する第8停止順対応表示が行われ、停止順種別カウンタ74mに「9」がセットされた場合に「第1停止が右」の第9停止順序に対応する停止順対応表示が行われる。
遊技状態が疑似ボーナス状態ST4又はAT状態ST5であるとともにベット数が「3」であるゲームの役の抽選処理(図18)にて「10」~「17」のいずれかのインデックス値に当選した場合、又は「1」~「17」のいずれのインデックス値IVにも当選しなかった場合、停止順種別カウンタ74mの値は「0」となる。また、遊技状態が疑似ボーナス状態ST4又はAT状態ST5ではない場合、並びにベット数が「2」である場合には、役の抽選処理(図18)の結果とは無関係に、停止順種別カウンタ74mに「0」がセットされる。図24(b)に示すように、「0」の停止順種別番号は、兼用表示部66にて停止順対応表示が行われないことを示す番号である。停止順種別カウンタ74mの値が「0」である場合、比率表示カウンタ74nの値が初期値(「255」)であることを条件として兼用表示部66にて付与数カウンタ74eの値に基づく付与数表示が実行される。付与数カウンタ74eの値に基づく付与数表示には、付与数カウンタ74eに「1」、「2」、「5」又は「15」の付与数が設定されている状態における当該付与数を示す数字の表示、及び付与数カウンタ74eの値が「0」である状態における当該「0」の表示が含まれる。
図14に示すように、主側RAM74には左側兼用表示部表示エリア74p及び右側兼用表示部表示エリア74qが設けられている。左側兼用表示部表示エリア74pは、兼用表示部66における左側の7セグメント表示器66aに出力する1バイトの表示データが設定される記憶エリアであるとともに、右側兼用表示部表示エリア74qは、兼用表示部66における右側の7セグメント表示器66bに出力する1バイトの表示データが設定される記憶エリアである。
図24(c)は主側ROM73の構成を説明するための説明図である。図24(c)に示すように、主側ROM73には兼用表示部66にて停止順対応表示を行うための停止順対応表示データテーブル73aと、兼用表示部66にて比率表示及び付与数表示を行うための数字表示データテーブル73bとが記憶されている。停止順対応表示データテーブル73aには、「1」~「9」の停止順種別番号に対応する停止順対応表示用の表示データが設定されている。主側MPU72は、兼用表示部66にて停止順対応表示を行う場合、停止順対応表示データテーブル73aを読み出し、停止順種別カウンタ74mに設定されている停止順番号に対応する表示データを右側兼用表示部表示エリア74qにセットする。また、左側兼用表示部表示エリア74pに非表示用データをセットする。これにより、兼用表示部66における左側の7セグメント表示器66aが非表示状態となるとともに右側の7セグメント表示器66bにて第1~第9停止順序のいずれかに対応する表示が行われる停止順対応表示が実行される。
数字表示データテーブル73bには、兼用表示部66における左側の7セグメント表示器66a及び右側の7セグメント表示器66bに「1」~「9」の数字を表示するための表示データが設定されている。主側MPU72は、兼用表示部66にて比率表示を行う場合、数字表示データテーブル73bを読み出し、比率表示カウンタ74nに設定されている演算結果データの10の位の数字に対応する表示データを左側兼用表示部表示エリア74pにセットするとともに、当該演算結果データの1の位の数字に対応する表示データを右側兼用表示部表示エリア74qにセットする。これにより、兼用表示部66における7セグメント表示器66a,66bに「0」、「01」~「99」及び「00」のいずれかが表示される比率表示が実行される。比率表示では、比率表示カウンタ74nの値が「0」である場合には左側の7セグメント表示器66aが非表示となるとともに右側の7セグメント表示器66bに「0」が点灯表示される。このため、兼用表示部66に「0」が表示されている状態となる。また、比率表示カウンタ74nの値が「100」である場合には左側の7セグメント表示器66a及び右側の7セグメント表示器66bに「0」が点灯表示される。このため、兼用表示部66に「00」が表示されている状態となる。これにより、第2区間SC2の滞在比率が0%であることを示す表示と当該滞在比率が100%であることを示す表示とを識別し易くすることができる。
主側MPU72は、兼用表示部66にて付与数表示を行う場合、数字表示データテーブル73bを読み出し、付与数カウンタ74eに設定されている付与数における10の位の数字に対応する表示データを左側兼用表示部表示エリア74pにセットするとともに、当該付与数における1の位の数字に対応する表示データを右側兼用表示部表示エリア74qにセットする。これにより、兼用表示部66の7セグメント表示器66a,66bに「00」、「01」、「02」、「05」又は「15」が表示される付与数表示が実行される。
上記のとおり、主側MPU72は、停止順種別カウンタ74mの値が「1」~「9」のいずれかであることに基づいて兼用表示部66における停止順対応表示の実行期間であることを把握するとともに、停止順種別カウンタ74mに「1」~「9」の停止順種別番号が設定されていないことに基づいて当該停止順対応表示の実行期間ではないことを把握する。ゲームの実行中に、兼用表示部66にて停止順種別カウンタ74mの値に基づく停止順対応表示又は付与数カウンタ74eの値に基づく付与数表示が実行される構成において、スロットマシン10は兼用表示部66にて停止順対応表示を実行すべき状態であること及び付与数表示を実行すべき状態であることを主側MPU72にて把握可能とするフラグを不具備である。このため、当該フラグを備えている構成と比較して、ゲームの実行中に兼用表示部66にて停止順対応表示が実行されている状態及び付与数表示が実行されている状態を生じさせるための主側RAM74のデータ容量を低減することができる。
主側MPU72は、比率表示カウンタ74nに「0」~「100」のいずれかの演算結果データが設定されていることに基づいて兼用表示部66における比率表示の実行期間であることを把握するとともに、比率表示カウンタ74nに「0」~「100」の演算結果データが設定されていないことに基づいて比率表示の実行期間ではないことを把握する。ゲームが実行されていない期間に、兼用表示部66にて比率表示カウンタ74nの値に基づく比率表示又は付与数カウンタ74eの値に基づく付与数表示が実行される構成において、スロットマシン10は兼用表示部66にて比率表示を実行すべき状態であること及び付与数表示を実行すべき状態であることを主側MPU72にて把握可能とするフラグを不具備である。このため、当該フラグを備えている構成と比較して、ゲームが実行されていない期間に兼用表示部66にて比率表示が実行されている状態及び付与数表示が実行されている状態を生じさせるための主側RAM74のデータ容量を低減することができる。
停止順種別カウンタ74mに「1」~「9」のいずれかの停止順種別番号が設定されている期間と、比率表示カウンタ74nに「0」~「100」のいずれかの演算結果データが設定されている期間とは重複しない期間である。このため、兼用表示部66にて停止順対応表示を実行するための条件と比率表示を実行するための条件とが同時に満たされることはない。これにより、兼用表示部66にて停止順対応表示を実行すべき状態であること及び比率表示を実行すべき状態であることを主側MPU72にて把握可能とするフラグを不要とし、当該フラグを備えている構成と比較して、兼用表示部66にて停止順対応表示が実行されている状態及び比率表示が実行されている状態を生じさせるための主側RAM74のデータ容量を低減することができる。
次に、主側MPU72にて実行される抽選結果対応処理について図25のフローチャートを参照しながら説明する。抽選結果対応処理は役の抽選処理(図18)のステップS914にて実行される。
抽選結果対応処理では、現状の遊技状態が疑似ボーナス状態ST4ではない場合(ステップS1101:NO)、現状の遊技状態がAT状態ST5であるか否かを判定する(ステップS1102)。現状の遊技状態が疑似ボーナス状態ST4である場合(ステップS1101:YES)又はAT状態ST5である場合(ステップS1102:YES)には、主側RAM74におけるベット数設定カウンタ74bの値が「3」であるか否かを判定する(ステップS1103)。ベット数設定カウンタ74bの値が「3」である場合(ステップS1103:YES)、すなわち今回のゲームのベット数が「3」である場合には、主側RAM74におけるインデックス値カウンタ74fを参照することにより役の抽選処理(図18)にてインデックス値IV=1~9のいずれかに当選しているか否かを判定する(ステップS1104)。
ステップS1104にて肯定判定を行った場合には、インデックス値カウンタ74fの値を主側RAM74における停止順種別カウンタ74mにセットする(ステップS1105)。ステップS1105にて停止順種別カウンタ74mに「n」(nは「1」~「9」のいずれかの整数)が設定されることにより、兼用表示部66における停止順対応表示の表示内容が第n停止順対応表示となる。ステップS1105の処理は、停止順種別カウンタ74mに「1」~「9」のいずれかの停止順種別番号をセットする処理であるとともに、兼用表示部66における表示内容を付与数表示から停止順対応表示に切り替えるための処理である。このため、停止順種別カウンタ74mに「1」~「9」のいずれかの停止順種別番号を設定するステップS1105の処理に加えて、当該処理とは別の処理として、兼用表示部66における表示内容を付与数カウンタ74eの値に基づく付与数表示から停止順対応表示に切り替えるための処理が設定されている構成と比較して、停止順種別カウンタ74mに「1」~「9」のいずれかの停止順種別番号をセットするとともに兼用表示部66における表示内容を付与数表示から停止順対応表示に切り替えるための処理構成を簡素化することができる。
既に説明したとおり、役の抽選処理(図18)にて当選となったインデックス値IVはインデックス値カウンタ74fに格納される。兼用表示部66における停止順対応表示及び画像表示装置63における停止順報知が実行されるゲームでは、当該インデックス値カウンタ74fに格納されている「1」~「9」のいずれかのインデックス値IVがそのまま停止順種別番号として停止順種別カウンタ74mに設定される。このため、停止順種別カウンタ74mに設定される停止順種別番号のデータが役の抽選処理(図18)にて当選となったインデックス値IVのデータとは異なっている構成と比較して、停止順種別カウンタ74mに停止順種別番号を設定するための処理構成が簡素化されている。
ステップS1102、ステップS1103又はステップS1104にて否定判定を行った場合には、停止順種別カウンタ74mの値を「0」クリアする(ステップS1106)。これにより、今回のゲームは兼用表示部66における停止順対応表示及び画像表示装置63における停止順報知が実行されないゲームとなる。
このように、遊技状態が疑似ボーナス状態ST4又はAT状態ST5であるとともにベット数が「3」であるゲームの役の抽選処理(図18)にて「n」(nは「1」~「9」のいずれかの整数)のインデックス値IVに当選した場合、停止順種別カウンタ74mに「n」がセットされ、兼用表示部66における停止順対応表示の表示内容が第n停止順対応表示となる。一方、遊技状態が疑似ボーナス状態ST4又はAT状態ST5であるという条件、今回のゲームのベット数が「3」であるという条件、並びに役の抽選処理(図18)にて「1」~「9」のインデックス値IVに当選しているという条件のいずれかが満たされなかった場合には、停止順種別カウンタ74mの値が「0」クリアされ、今回のゲームは兼用表示部66における停止順対応表示及び画像表示装置63における停止順報知が実行されないゲームとなる。
ステップS1105又はステップS1106の処理を行った場合には、主側RAM74に設けられた開始時コマンドフラグに「1」をセットして(ステップS1107)、本抽選結果対応処理を終了する。開始時コマンドフラグは、演出側MPU92に開始時コマンドを送信すべきことを主側MPU72にて把握可能とするフラグである。ステップS1107にて開始時コマンドフラグに「1」がセットされることにより、後述するコマンド出力処理(図44)のステップS2709にて共通コマンド送信処理(図50)が実行される。共通コマンド送信処理(図50)では、開始時コマンドフラグに「1」がセットされていることを条件として、開始時コマンドを送信するための処理が実行される。なお、開始時コマンドの詳細については後述する。
次に、主側MPU72にて実行される入賞判定処理について図26のフローチャートを参照しながら説明する。入賞判定処理はリール制御処理(図22)のステップS1015にて実行される。
入賞判定処理では、まず各リール32L,32M,32RにおいてメインラインML上に停止している図柄の種類を把握する(ステップS1201)。その後、当選役への入賞が成立したか否かを判定する(ステップS1202)。ステップS1202では、主側RAM74における第1当選データエリア74g、第2当選データエリア74h、第1CB当選データエリア74j及び第2CB当選データエリア74kを参照することにより役の抽選処理(図18)において当選となった役を把握する。そして、各リール32L,32M,32RにおいてメインラインML上に停止表示されている図柄の組合せが役の抽選処理(図18)において当選となった役に対応する図柄の組合せであるか否かを判定し、当選となった役に対応する図柄の組合せである場合には当選役の入賞が成立したと判定する。当選役の入賞が成立した場合(ステップS1202:YES)には、入賞データ設定処理を実行する(ステップS1203)。入賞データ設定処理では、主側RAM74に設けられた入賞データエリア78に入賞が成立した役に対応する入賞データを設定する。既に説明したとおり、入賞データエリア78は、今回のゲームにおいて入賞が成立した役を主側MPU72にて把握可能とする1バイトのデータが設定される記憶エリアである。
その後、今回成立した入賞が小役入賞である場合(ステップS1204:YES)には、入賞が成立した役に対応する遊技媒体の付与数を付与数カウンタ74eにセットする(ステップS1205)。ステップS1205では、第1~第9補填役の入賞が成立した場合には付与数カウンタ74eに「1」をセットし、チェリー役の入賞が成立した場合には付与数カウンタ74eに「2」をセットし、第1スイカ役又は第2スイカ役の入賞が成立した場合には付与数カウンタ74eに「5」をセットし、第1ベル役又は第2ベル役の入賞が成立した場合には付与数カウンタ74eに「15」をセットする。これにより、通常処理(図13)のステップS409における媒体付与処理にて、付与数カウンタ74eを参照することにより遊技媒体の付与数を主側MPU72にて把握可能とすることができる。
兼用表示部66における停止順対応表示及び画像表示装置63における停止順報知が実行されないゲームにおいていずれかの小役入賞が成立した場合、兼用表示部66にて付与数カウンタ74eの値(「0」)に基づく「00」という付与数表示が実行されている状態において、ステップS1205にて付与数カウンタ74eに「1」、「2」、「5」又は「15」がセットされる。これにより、タイマ割込み処理(図11)のステップS211におけるポート出力処理(図28)が実行されることで兼用表示部66における付与数表示の表示内容が「00」から「01」、「02」、「05」又は「15」に切り替わる状態となる。
今回成立した入賞がリプレイ入賞である場合(ステップS1204:NO、ステップS1206:YES)には、主側RAM74のリプレイ入賞フラグに「1」をセットする(ステップS1207)。既に説明したとおり、リプレイ入賞フラグは、リプレイ入賞が成立したことを主側MPU72にて把握可能とするフラグである。ステップS1207にてリプレイ入賞フラグに「1」をセットすることにより、今回のゲームの終了後に開始待ち処理(図15)にて当該リプレイ入賞フラグを参照して当該終了したゲームにていずれかのリプレイ入賞が成立したか否かを主側MPU72にて把握可能とすることができる。今回成立した入賞がリプレイ入賞である場合(ステップS1206:YES)、又はいずれの入賞も成立しなかった場合(ステップS1206:NO)、付与数カウンタ74eの値を変更する処理は実行されない。
ステップS1202にて否定判定を行った場合、ステップS1205の処理を行った場合、ステップS1206にて否定判定を行った場合、又はステップS1207の処理を行った場合には、停止順種別カウンタ74mを「0」クリアして(ステップS1208)、本入賞判定処理を終了する。既に説明したとおり、兼用表示部66では、ゲームの実行中に、停止順種別カウンタ74mに「1」~「9」のいずれかの停止順種別番号が設定されていることを条件として停止順対応表示が行われる。兼用表示部66にて停止順対応表示が実行されるゲームでは、ステップS1208にて停止順種別カウンタ74mの値が「0」クリアされることにより、ポート出力処理(図28)が実行されることで兼用表示部66にて実行されていた停止順対応表示が終了するとともに付与数カウンタ74eの値に基づく付与数表示が開始される状態となる。
既に説明したとおり、ゲームが実行されている状態である場合、主側MPU72は、停止順種別カウンタ74mの値が「1」~「9」のいずれかであることに基づいて兼用表示部66における停止順対応表示の実行期間であることを把握するとともに、停止順種別カウンタ74mの値が「0」であることに基づいて付与数カウンタ74eの値に基づく付与数表示の実行期間であることを把握する。ステップS1208の処理は、停止順種別カウンタ74mの値を「0」クリアする処理であるとともに、兼用表示部66における表示内容を停止順対応表示から付与数カウンタ74eの値に基づく付与数表示に切り替えるための設定を行う処理である。このため、停止順種別カウンタ74mの値を「0」クリアする処理に加えて、当該処理とは別の処理として、兼用表示部66における表示内容を停止順対応表示から付与数カウンタ74eの値に基づく付与数表示に切り替えるための処理が設定されている構成と比較して、停止順種別カウンタ74mの値を「0」クリアするとともに兼用表示部66における表示内容を停止順対応表示から付与数表示に切り替えるための処理構成を簡素化することができる。
上述したとおり、リプレイ入賞が成立した場合又はいずれの入賞も成立しなかった場合、付与数カウンタ74eの値を変更する処理が実行されることはない。これらの場合には、付与数カウンタ74eの値(具体的には「0」)が維持されたまま、ステップS1208にて停止順種別カウンタ74mの値が「0」クリアされ、兼用表示部66にて付与数カウンタ74eの値(「0」)に対応する付与数表示(「00」の表示)が開始される。兼用表示部66にて停止順対応表示が実行されていた場合には、ステップS1208にて停止順種別カウンタ74mの値が「0」クリアされることにより、兼用表示部66にて実行されていた停止順対応表示が終了するとともに付与数カウンタ74eの値(「0」)に対応する付与数表示(「00」の表示)が開始される。また、兼用表示部66にて停止順対応表示が実行されていなかった場合、すなわち兼用表示部66にて付与数カウンタ74eの値(「0」)に対応する付与数表示(「00」の表示)が実行されていた場合には、ステップS1208にて停止順種別カウンタ74mの値が「0」クリアされた後も「00」の表示が継続される。
上記のとおり、兼用表示部66における停止順対応表示は、全てのリール32L,32M,32Rが停止した後に実行される入賞判定処理(図26)にて停止順種別カウンタ74mが「0」クリアされることにより終了する。
入賞判定処理(図26)において、小役入賞が成立した場合にその小役入賞に対応する付与数を付与数カウンタ74eに設定するステップS1205の処理が実行されるタイミングは、停止順種別カウンタ74mを「0」クリアするステップS1208の処理が実行されるタイミングよりも前のタイミングである。兼用表示部66にて停止順対応表示が実行されている状態において停止順種別カウンタ74mが「0」クリアされると、兼用表示部66の表示内容が停止順対応表示から付与数表示に切り替わる。今回成立した小役入賞に対応する付与数を付与数カウンタ74eに設定する前に停止順種別カウンタ74mを「0」クリアする処理構成とすると、兼用表示部66において停止順対応表示が終了してから今回成立した小役入賞に対応する付与数の表示が開始されるまでの間に「0」が表示されてしまうおそれがある。兼用表示部66における表示内容が停止順対応表示→「00」→遊技媒体の付与数に対応する表示の順番で、短時間(例えば約3ミリ秒間)に2回切り替わると、遊技ホールの管理者や遊技者を混乱させてしまうおそれがある。これに対して、今回成立した小役入賞に対応する遊技媒体の付与数が付与数カウンタ74eに設定されている状態において停止順種別カウンタ74mを「0」クリアする処理構成であることにより、兼用表示部66における停止順対応表示から付与数表示への表示内容の切り替えをスムーズなものとすることができる。
次に、主側MPU72にて実行される管理用処理について図27のフローチャートを参照しながら説明する。管理用処理はタイマ割込み処理(図11)のステップS213にて実行される。
管理用処理では、まず兼用表示部66にて比率表示が実行されているか否かを判定する(ステップS1301)。既に説明したとおり、ゲームが実行されていない状態では、比率表示カウンタ74nに第2区間SC2の滞在比率の演算結果データとして「0」~「100」のいずれかが設定されている場合に兼用表示部66にて比率表示が実行されるとともに、比率表示カウンタ74nに「0」~「100」の演算結果データが設定されていない場合に兼用表示部66にて付与数カウンタ74eの値に基づく付与数表示が実行される。ステップS1301では、比率表示カウンタ74nに「0」~「100」のいずれかの演算結果データが設定されている場合に比率表示が実行されている(ステップS1301:YES)と判定する。
兼用表示部66にて比率表示が実行されていない場合(ステップS1301:NO)には、主側RAM74におけるゲーム中フラグに「1」がセットされているか否かを判定することによりゲームが実行されている状態であるか否かを判定する(ステップS1302)。既に説明したとおり、ゲーム中フラグには開始時の設定処理(図17(b))のステップS803にて「1」がセットされるとともに、ゲーム中フラグは遊技終了時の対応処理(図32)のステップS1510にて「0」クリアされる。
ゲームが実行されていない場合(ステップS1302:NO)には、比率表示の開始操作が行われたか否かを判定する(ステップS1303)。ステップS1303では、スロットマシン10の動作電力が供給されているとともにメイン処理(図10)のステップS107における設定値更新処理が実行されていない状況において、前面扉12が開放状態とされて電源装置54に設けられたリセットボタン56が3秒間以上に亘って継続して押圧操作されたか否かを判定する。既に説明したとおり、設定キー挿入孔57のON操作が行われているとともにリセットボタン56の押圧操作が行われている状態でスロットマシン10の動作電力の供給が開始された場合にはメイン処理(図10)においてステップS106の全部クリア処理が実行される。また、メイン処理(図10)のステップS107における設定値更新処理ではスロットマシン10の設定値を更新するためにリセットボタン56の操作が行われる。スロットマシン10の動作電力が供給されているとともに設定値更新処理(ステップS107)が実行されていない状況においてリセットボタン56が3秒間以上に亘って継続して押圧操作された場合に比率表示の開始操作が行われたと判定する構成であることにより、全部クリア処理(ステップS106)を実行するためのリセットボタン56の操作及び設定値更新処理(ステップS107)にて設定値を更新するためのリセットボタン56の操作と、比率表示を開始するためのリセットボタン56の操作とが誤って識別されてしまうことを防止できる。
ゲームが実行されていない状態(ステップS1302:NO)において比率表示の開始操作が行われたこと(ステップS1303:YES)を条件として、比率演算処理を実行する(ステップS1304)。比率演算処理では、主側RAM74に設けられた合計ゲーム数カウンタ及び第2区間ゲーム数カウンタを用いて第2区間SC2の滞在比率を算出するための演算を実行する。合計ゲーム数カウンタは、遊技状態及び遊技区間に関係なく消化されたゲーム数を計測するためのカウンタである。合計ゲーム数カウンタは2バイトからなり「65535」を上限としてゲーム数を計測することが可能である。また、合計ゲーム数カウンタの値はメイン処理(図10)においてステップS106の全部クリア処理が実行されない限り「0」クリアされない。したがって、遊技ホールにおける複数の営業日における累計のゲーム数を計測することが可能である。第2区間ゲーム数カウンタは、第2区間SC2において実行された累計のゲーム数を主側MPU72にて把握可能とするカウンタである。第2区間ゲーム数カウンタは、主側RAM74において後述する継続ゲーム数カウンタ74rとは別に設けられており、第2区間SC2が終了した場合に継続ゲーム数カウンタ74rの値が「0」クリアされたとしても第2区間ゲーム数カウンタの値は「0」クリアされない。したがって、第1区間SC1を間に挟んで第2区間SC2が複数回発生する場合、それら複数回の第2区間SC2において消化されたゲーム数の合計を第2区間ゲーム数カウンタにて計測することが可能である。第2区間ゲーム数カウンタは2バイトからなり「65535」を上限としてゲーム数を計測することが可能である。また、第2区間ゲーム数カウンタの値はメイン処理(図10)においてステップS106の全部クリア処理が実行されない限り「0」クリアされない。したがって、遊技ホールにおける複数の営業日において実行された第2区間SC2の累計のゲーム数を計測することが可能である。合計ゲーム数カウンタの値は後述する遊技終了時の対応処理(図32)のステップS1511にて更新されるとともに、第2区間ゲーム数カウンタの値は後述する遊技区間の第2制御処理(図36)のステップS1905にて更新される。ステップS1304における比率演算処理では、演算結果=「(第2区間ゲーム数カウンタの値」/「合計ゲーム数カウンタの値」×100」となるように演算を実行する。既に説明したとおり、第2区間SC2の滞在比率は0%~100%のいずれかであり、演算結果データは「0」~「100」のいずれかの数値情報となる。
その後、比率演算処理(ステップS1304)における演算結果データを主側RAM74の比率表示カウンタ74nにセットして(ステップS1305)、本管理用処理を終了する。既に説明したとおり、ゲームが実行されていない状態である場合、主側MPU72は、比率表示カウンタ74nに「0」~「100」のいずれかの演算結果データが設定されていることに基づいて兼用表示部66における比率表示の実行期間であることを把握するとともに、比率表示カウンタ74nに「0」~「100」の演算結果データが設定されていないことに基づいて付与数カウンタ74eの値に基づく付与数表示の実行期間であることを把握する。ゲームが実行されていない状態において、ステップS1305にて比率表示カウンタ74nに「0」~「100」のいずれかの演算結果データが設定されることにより、兼用表示部66にて実行されていた付与数カウンタ74eの値に基づく付与数表示が終了するとともに、比率表示が開始される。ステップS1305の処理は、比率表示カウンタ74nに演算結果データを格納するための処理であるとともに、兼用表示部66における表示内容を付与数カウンタ74eの値に基づく付与数表示から比率表示に切り替えるための設定を行う処理である。このため、比率表示カウンタ74nに演算結果データを格納する処理に加えて、当該処理とは別の処理として、兼用表示部66における表示内容を付与数カウンタ74eの値に基づく付与数表示から比率表示に切り替えるための設定を行う処理が設定されている構成と比較して、比率表示カウンタ74nに演算結果データを格納するとともに兼用表示部66における表示内容を付与数表示から比率表示に切り替えるための設定を行うための処理構成を簡素化することができる。
兼用表示部66にて比率表示が実行されている場合(ステップS1301:YES)には、比率表示の終了操作が行われたか否かを判定する(ステップS1306)。具体的には、スタート検出センサ41a、ストップ検出センサ42a~44a、投入メダル検出センサ45a、クレジット投入検出センサ47a及び精算検出センサ51aのいずれかからON信号を受信しているか否かを判定し、いずれかの検出センサ41a~45a,47aからON信号を受信していると判定した場合に終了操作が行われたと判定する。この場合、各ON信号が有効期間において発生したか否かに関係なくステップS1306にて肯定判定をする。つまり、スタート検出センサ41aからのON信号の受信がリール32L,32M,32Rの回転開始契機となるか否かに関係なくステップS1306にて肯定判定をする。また、ストップ検出センサ42a~44aからのON信号の受信がリール32L,32M,32Rの回転停止契機となるか否かに関係なくステップS1306にて肯定判定をする。また、投入メダル検出センサ45aからのON信号の受信がベット設定又はクレジット増加の対象となるか否かに関係なくステップS1306にて肯定判定をする。また、クレジット投入検出センサ47aからのON信号の受信がベット設定の対象となるか否かに関係なくステップS1306にて肯定判定をする。また、精算検出センサ51aからのON信号の受信がクレジットされた仮想メダルの精算契機となるか否かに関係なくステップS1306にて肯定判定をする。
比率表示の終了操作が行われた場合(ステップS1306:YES)には、比率表示カウンタ74nに初期値である「255」をセットして(ステップS1307)、本管理用処理を終了する。ステップS1307にて比率表示カウンタ74nに初期値がセットされることにより、比率表示カウンタ74nに「0」~「100」の演算結果データが設定されていない状態として、兼用表示部66における表示内容を比率表示から付与数表示に切り替えることができる。ステップS1307の処理は、比率表示カウンタ74nに初期値をセットする処理であるとともに、兼用表示部66における表示内容を比率表示から付与数カウンタ74eの値に基づく付与数表示に切り替えるための処理である。このため、比率表示カウンタ74nに初期値をセットするステップS1307の処理に加えて、当該処理とは別の処理として、兼用表示部66における表示内容を比率表示から付与数表示に切り替えるための処理が設定されている構成と比較して、比率表示カウンタ74nに初期値をセットするとともに兼用表示部66における表示内容を比率表示から付与数表示に切り替えるための処理構成を簡素化することができる。
ステップS1306にて否定判定を行った場合には、そのまま本管理用処理を終了する。兼用表示部66にて比率表示が行われている状況において新たなゲームが開始されることはない。このため、比率表示の実行中に比率表示カウンタ74nに格納されている演算結果データの更新及び兼用表示部66に表示されている第2区間SC2の滞在比率の更新は行われない。
このように、第2区間SC2の滞在比率の演算結果データは、ゲームが実行されていない状態において比率表示の開始操作が行われた場合に比率表示カウンタ74nにセットされる。兼用表示部66にて比率表示が実行されていない状態においても第2区間SC2の滞在比率を算出するための演算が行われて当該演算結果データが主側RAM74に記憶される構成とすると、比率表示カウンタ74n以外に、当該演算結果データを記憶しておくためのカウンタを主側RAM74に設ける必要が生じてしまう。これに対して、兼用表示部66にて比率表示が実行される期間のみにおいて演算結果データが比率表示カウンタ74nにセットされる構成であることにより、演算結果データを記憶しておくために主側RAM74に設けられる記憶エリアのデータ容量を低減することができる。
次に、主側MPU72にて実行されるポート出力処理について図28のフローチャートを参照しながら説明する。ポート出力処理はタイマ割込み処理(図11)のステップS211にて実行される。
ポート出力処理では、まず主側RAM74の停止順種別カウンタ74mに「1」~「9」のいずれかの停止順種別番号が設定されているか否かを判定する(ステップS1401)。既に説明したとおり、遊技状態が疑似ボーナス状態ST4又はAT状態ST5であるとともにベット数が「3」であるゲームの役の抽選処理(図18)にて「n」(「n」は「1」~「9」のいずれかの整数)のインデックス値IVに当選した場合、停止順種別カウンタ74mには「n」がセットされる。一方、遊技状態が疑似ボーナス状態ST4又はAT状態ST5であるという条件、今回のゲームのベット数が「3」であるという条件、又は役の抽選処理(図18)にて「1」~「9」のいずれかのインデックス値IVに当選するという条件が満たされなかった場合、停止順種別カウンタ74mには「0」がセットされる。停止順種別カウンタ74mに「1」~「9」のいずれかの停止順種別番号が設定されている場合(ステップS1401:YES)には、主側ROM73に記憶されている停止順対応表示データテーブル73a(図24(c))を読み出す(ステップS1402)。その後、ステップS1402にて読み出した停止順対応表示データテーブル73aを参照して停止順種別カウンタ74mの値に対応する表示データを主側RAM74の右側兼用表示部表示エリア74qにセットするとともに、非表示用データを主側RAM74の左側兼用表示部表示エリア74pにセットする(ステップS1403)。これにより、後述するステップS1409の処理が実行されることで兼用表示部66にて停止順対応表示が行われることとなる。
停止順種別カウンタ74mの値が「1」~「9」ではない場合(ステップS1401:NO)には、主側RAM74の比率表示カウンタ74nに「0」~「100」のいずれかの演算結果データが設定されているか否かを判定する(ステップS1404)。比率表示カウンタ74nに「0」~「100」のいずれかの演算結果データが設定されている場合(ステップS1404:YES)には、主側ROM73に記憶されている数字表示データテーブル73b(図24(c))を読み出す(ステップS1405)。その後、ステップS1405にて読み出した数字表示データテーブル73bを参照して比率表示カウンタ74nの値に対応する表示データを左側兼用表示部表示エリア74p及び右側兼用表示部表示エリア74qにセットする(ステップS1406)。ステップS1406では、比率表示カウンタ74nの値が「0」である場合、左側兼用表示部表示エリア74pに非表示用データをセットするとともに、右側兼用表示部表示エリア74qに「0」に対応する表示データをセットする。ステップS1406では、比率表示カウンタ74nの値が「1」~「9」である場合、左側兼用表示部表示エリア74pに「0」に対応する表示データをセットするとともに、右側兼用表示部表示エリア74qに1の位の数字(「1」~「9」)に対応する表示データをセットする。ステップS1406では、比率表示カウンタ74nの値が「10」~「99」である場合、左側兼用表示部表示エリア74pに十の位の数字(「1」~「9」)に対応する表示データをセットするとともに、右側兼用表示部表示エリア74qに1の位の数字(「1」~「9」)に対応する表示データをセットする。ステップS1406では、比率表示カウンタ74nの値が「100」である場合、左側兼用表示部表示エリア74p及び右側兼用表示部表示エリア74qに「0」に対応する表示データをセットする。これにより、後述するステップS1409の処理が実行されることで兼用表示部66にて比率表示が行われることとなる。
停止順種別カウンタ74mに「1」~「9」の停止順種別番号が設定されていない状態(ステップS1401:NO)であるとともに比率表示カウンタ74nに「0」~「100」の演算結果データが設定されていない状態(ステップS1404:NO)である場合には、兼用表示部66にて付与数表示を行うための処理(ステップS1407~ステップS1408の処理)を実行する。具体的には、まずステップS1405と同様に、主側ROM73に記憶されている数字表示データテーブル73bを読み出す(ステップS1407)。その後、ステップS1407にて読み出した数字表示データテーブル73bを参照して付与数カウンタ74eの値に対応する表示データを左側兼用表示部表示エリア74p及び右側兼用表示部表示エリア74qにセットする(ステップS1408)。これにより、後述するステップS1409の処理が実行されることで兼用表示部66にて付与数表示が行われることとなる。
ステップS1403、ステップS1406又はステップS1408の処理を行った場合には、左側兼用表示部表示エリア74p及び右側兼用表示部表示エリア74qに設定されているデータ(表示データ又は非表示用データ)を兼用表示部66に出力する(ステップS1409)。これにより、左側兼用表示部表示エリア74pに非表示用データが設定されているとともに右側兼用表示部表示エリア74qに停止順対応表示用の表示データが設定されている場合には兼用表示部66にて停止順対応表示が実行される。また、左側兼用表示部表示エリア74pに非表示用データ又は比率表示用の表示データが設定されているとともに右側兼用表示部表示エリア74qに比率表示用の表示データが設定されている場合には兼用表示部66にて比率表示が実行される。さらにまた、兼用表示部表示エリア74p,74qに付与数表示用の表示データが設定されている場合には兼用表示部66にて付与数表示が実行される。
その後、クレジット表示部65の表示制御を実行するクレジット表示部65の表示制御処理を実行し(ステップS1410)、その他のポート出力処理を実行して(ステップS1411)、本ポート出力処理を終了する。ステップS1411におけるその他のポート出力処理では、入出力ポートからI/O装置に対応するデータを出力する。
次に、兼用表示部66にて停止順対応表示及び付与数表示が実行される様子について図29のタイムチャートを参照しながら説明する。図29(a)は兼用表示部66における停止順対応表示の実行期間を示し、図29(b)は兼用表示部66における付与数表示の実行期間を示し、図29(c)は停止順種別カウンタ74mに「1」~「9」のいずれかの停止順種別番号が設定されている期間を示し、図29(d)は付与数カウンタ74eに「1」以上のデータが設定されている期間を示し、図29(e)はゲームが実行されていない状態においてベット操作又は最初のメダル投入が行われるタイミングを示し、図29(f)はゲームが開始されるタイミングを示し、図29(g)はストップボタン42~44の操作が有効化されるタイミングを示し、図29(h)は入賞判定処理(図26)においていずれかの小役入賞の成立が特定されるタイミング(ステップS1204にて肯定判定が行われてステップS1205の処理が実行されるタイミング)を示し、図29(i)はポート出力処理(図28)が実行されるタイミングを示す。
兼用表示部66にて付与数カウンタ74eの値に対応する付与数表示が行われている状態であるt1のタイミングで図29(e)に示すようにベット操作又は最初のメダル投入が行われると、図29(d)に示すように当該t1のタイミングで付与数カウンタ74eの値が「0」クリアされる。その後、t2のタイミングで、図29(i)に示すようにポート出力処理が実行されると、図29(b)に示すように兼用表示部66にて「00」の付与数表示が実行される。t1のタイミングにおいて既に「00」の付与数表示が実行されていた場合には、当該「00」の付与数表示が継続される。また、t1のタイミングにおいて「01」、「02」、「05」又は「15」の付与数表示が実行されていた場合には、「00」の付与数表示に切り替わる。
その後、t3のタイミングでスタートレバー41の操作が行われて図29(f)に示すようにゲームが開始される。その後、t4のタイミングで図29(c)に示すように停止順種別カウンタ74mに「1」~「9」のいずれかの停止順種別番号が設定される。その後、t5のタイミングで、図29(i)に示すようにポート出力処理が実行されることにより、図29(a)及び図29(b)に示すように兼用表示部66における表示内容が付与数表示から停止順対応表示に切り替わる。t5のタイミングは、ストップボタン42~44の操作が有効化されるt6のタイミングよりも前のタイミングである。兼用表示部66における停止順対応表示は、ストップボタン42~44の操作が有効化されるタイミングよりも前のタイミングで開始される。その後、t6のタイミングで図29(g)に示すようにストップボタン42~44の操作が有効化される。
その後、t7のタイミングで、図29(h)に示すように入賞判定処理(図26)にて小役入賞の成立が特定されるとともに、今回成立した小役入賞に対応する遊技媒体の付与数(「1」、「2」、「5」又は「15」)が付与数カウンタ74eにセットされる。その後、t8のタイミングで図29(c)に示すように停止順種別カウンタ74mの値が「0」クリアされる。その後、t9のタイミングで、図29(i)に示すようにポート出力処理が実行されることにより、図29(a)及び図29(b)に示すように兼用表示部66における表示内容が停止順対応表示から付与数表示に切り替わる。
既に説明したとおり、入賞判定処理(図26)において、小役入賞が成立した場合にその小役入賞に対応する遊技媒体の付与数を付与数カウンタ74eに設定するステップS1205の処理が実行されるタイミング(t7のタイミング)は、停止順種別カウンタ74mを「0」クリアするステップS1208の処理が実行されるタイミング(t8のタイミング)よりも前のタイミングである。既に説明したとおり、兼用表示部66にて停止順対応表示が実行されている状態において停止順種別カウンタ74mが「0」クリアされると、兼用表示部66の表示内容が停止順対応表示から付与数表示に切り替わる。今回成立した小役入賞に対応する遊技媒体の付与数を付与数カウンタ74eに設定する前に停止順種別カウンタ74mを「0」クリアする処理構成とすると、兼用表示部66において停止順対応表示が終了してから今回成立した小役入賞に対応する付与数の表示が開始されるまでの間に「0」が表示されてしまうおそれがある。兼用表示部66における表示内容が停止順対応表示→「00」→遊技媒体の付与数に対応する表示の順番で、短時間(例えば約3ミリ秒間)に2回切り替わると、遊技ホールの管理者や遊技者を混乱させてしまうおそれがある。これに対して、今回成立した小役入賞に対応する遊技媒体の付与数が付与数カウンタ74eに設定されている状態において停止順種別カウンタ74mを「0」クリアする処理構成であることにより、兼用表示部66における停止順対応表示から付与数表示への表示内容の切り替えをスムーズなものとすることができる。
次に、兼用表示部66にて比率表示及び付与数表示が実行される様子について図30のタイムチャートを参照しながら説明する。図30(a)は兼用表示部66における比率表示の実行期間を示し、図30(b)は兼用表示部66における付与数表示の実行期間を示し、図30(c)は比率表示カウンタ74nに「0」~「100」のいずれかの演算結果データが設定されている期間を示し、図30(d)は比率表示の開始操作が行われるタイミングを示し、図30(e)は比率表示の終了操作が行われるタイミングを示し、図30(f)はポート出力処理(図28)が実行されるタイミングを示す。
ゲームが実行されていない状態であるとともに兼用表示部66にて付与数カウンタ74eの値に基づく付与数表示が実行されている状態であるt1のタイミングで、図30(d)に示すように比率表示の開始操作が行われると、図30(c)に示すように第2区間SC2の滞在比率を算出する演算が行われて比率表示カウンタ74nに「0」~「100」のいずれかの演算結果データがセットされる。その後、t2のタイミングで、図30(f)に示すようにポート出力処理が実行されることにより、図30(a),(b)に示すように兼用表示部66における表示内容が付与数表示から比率表示に切り替わる。
その後、図30(e)に示すようにt3のタイミングで比率表示の終了操作が行われると、図30(c)に示すように比率表示カウンタ74nに初期値である「255」がセットされる。その後、t4のタイミングで、図30(f)に示すようにポート出力処理が実行されることにより、図30(a),(b)に示すように兼用表示部66における表示内容が比率表示から付与数表示に切り替わる。
既に説明したとおり、ゲームが実行されていない状態では、比率表示カウンタ74nに「0」~「100」のいずれかの演算結果データが設定されていることを条件として兼用表示部66にて比率表示が実行されるとともに、比率表示カウンタ74nに初期値である「255」が設定されていることを条件として兼用表示部66にて付与数表示が実行される。このため、ゲームが実行されていない状態であるとともに兼用表示部66にて付与数表示が実行されている状態において、比率表示カウンタ74nに「0」~「100」のいずれかの演算結果データを設定することにより兼用表示部66における表示内容を付与数表示から比率表示に切り替えることができる。また、兼用表示部66にて比率表示が行われている状態において、比率表示カウンタ74nに初期値である「255」を設定することにより兼用表示部66における表示内容を比率表示から付与数表示に切り替えることができる。これにより、兼用表示部66における表示内容を付与数表示から比率表示に切り替えるための処理構成及び比率表示から付与数表示に切り替えるための処理構成を簡素化することができる。
上記のとおり、主側MPU72は、停止順種別カウンタ74mの値が「1」~「9」のいずれかであることに基づいて兼用表示部66における停止順対応表示の実行期間であることを把握するとともに、停止順種別カウンタ74mに「1」~「9」の停止順種別番号が設定されていないことに基づいて当該停止順対応表示の実行期間ではないことを把握する。ゲームの実行中に、兼用表示部66にて停止順種別カウンタ74mの値に基づく停止順対応表示又は付与数カウンタ74eの値に基づく付与数表示が実行される構成において、スロットマシン10は兼用表示部66にて停止順対応表示を実行すべき状態であること及び付与数表示を実行すべき状態であることを主側MPU72にて把握可能とするフラグを不具備である。このため、当該フラグを備えている構成と比較して、ゲームの実行中に兼用表示部66にて停止順対応表示が実行されている状態及び付与数表示が実行されている状態を生じさせるための主側RAM74のデータ容量を低減することができる。
兼用表示部66における停止順対応表示及び画像表示装置63における停止順報知が実行されるゲームでは、役の抽選処理(図18)にて当選となった「1」~「9」のいずれかのインデックス値IVがインデックス値カウンタ74fに格納されるとともに、当該インデックス値カウンタ74fに格納されている「1」~「9」のいずれかのインデックス値IVがそのまま停止順種別番号として停止順種別カウンタ74mに設定される。このため、停止順種別カウンタ74mに設定される停止順種別番号のデータが役の抽選処理(図18)にて当選となったインデックス値IVのデータとは異なっている構成と比較して、停止順種別カウンタ74mに停止順種別番号を設定するための処理構成が簡素化されている。
入賞判定処理(図26)において、小役入賞が成立した場合にその小役入賞に対応する付与数を付与数カウンタ74eに設定するステップS1205の処理が実行されるタイミングは、停止順種別カウンタ74mを「0」クリアするステップS1208の処理が実行されるタイミングよりも前のタイミングである。兼用表示部66にて停止順対応表示が実行されている状態において停止順種別カウンタ74mが「0」クリアされると、兼用表示部66の表示内容が停止順対応表示から付与数表示に切り替わる。今回成立した小役入賞に対応する付与数を付与数カウンタ74eに設定する前に停止順種別カウンタ74mを「0」クリアする処理構成とすると、兼用表示部66において停止順対応表示が終了してから今回成立した小役入賞に対応する付与数の表示が開始されるまでの間に「0」が表示されてしまうおそれがある。兼用表示部66における表示内容が停止順対応表示→「00」→遊技媒体の付与数に対応する表示の順番で、短時間(例えば約3ミリ秒間)に2回切り替わると、遊技ホールの管理者や遊技者を混乱させてしまうおそれがある。これに対して、今回成立した小役入賞に対応する遊技媒体の付与数が付与数カウンタ74eに設定されている状態において停止順種別カウンタ74mを「0」クリアする処理構成であることにより、兼用表示部66における停止順対応表示から付与数表示への表示内容の切り替えをスムーズなものとすることができる。
ゲームが実行されている状態であるとともに兼用表示部66にて付与数カウンタ74eの値に基づく付与数表示が実行されている状態において、停止順種別カウンタ74mに「1」~「9」のいずれかの停止順種別番号を設定する処理(抽選結果対応処理(図25)におけるステップS1105の処理)を行うことにより、兼用表示部66における表示内容を付与数表示から停止順対応表示に切り替えることができる。このため、停止順種別カウンタ74mに「1」~「9」のいずれかの停止順種別番号を設定する処理に加えて、当該処理とは別の処理として、兼用表示部66における表示内容を付与数カウンタ74eの値に基づく付与数表示から停止順対応表示に切り替えるための処理が設定されている構成と比較して、停止順種別カウンタ74mに「1」~「9」のいずれかの停止順種別番号をセットするとともに兼用表示部66における表示内容を付与数表示から停止順対応表示に切り替えるための処理構成を簡素化することができる。
ゲームが実行されている状態であるとともに兼用表示部66にて停止順表示が実行されている状態において、停止順種別カウンタ74mの値を「0」クリアする処理(入賞判定処理(図26)におけるステップS1208の処理)を行うことにより、兼用表示部66における表示内容を停止順対応表示から付与数カウンタ74eの値に基づく付与数表示に切り替えることができる。このため、停止順種別カウンタ74mの値を「0」クリアする処理に加えて、当該処理とは別の処理として、兼用表示部66における表示内容を停止順対応表示から付与数カウンタ74eの値に基づく付与数表示に切り替えるための処理が設定されている構成と比較して、停止順種別カウンタ74mの値を「0」クリアするとともに兼用表示部66における表示内容を停止順対応表示から付与数表示に切り替えるための処理構成を簡素化することができる。
主側MPU72は、比率表示カウンタ74nに「0」~「100」のいずれかの演算結果データが設定されていることに基づいて兼用表示部66における比率表示の実行期間であることを把握するとともに、比率表示カウンタ74nに「0」~「100」の演算結果データが設定されていないことに基づいて比率表示の実行期間ではないことを把握する。ゲームが実行されていない期間に、兼用表示部66にて比率表示カウンタ74nの値に基づく比率表示又は付与数カウンタ74eの値に基づく付与数表示が実行される構成において、スロットマシン10は兼用表示部66にて比率表示を実行すべき状態であること及び付与数表示を実行すべき状態であることを主側MPU72にて把握可能とするフラグを不具備である。このため、当該フラグを備えている構成と比較して、ゲームが実行されていない期間に兼用表示部66にて比率表示が実行されている状態及び付与数表示が実行されている状態を生じさせるための主側RAM74のデータ容量を低減することができる。
ゲームが実行されていない状態であるとともに兼用表示部66にて付与数カウンタ74eの値に基づく付与数表示が実行されている状態において、比率表示カウンタ74nに「0」~「100」のいずれかの演算結果データを設定する処理(管理用処理(図27)におけるステップS1305の処理)を実行することにより、兼用表示部66における表示内容を付与数表示から比率表示に切り替えることができる。このため、比率表示カウンタ74nに演算結果データを格納する処理に加えて、当該処理とは別の処理として、兼用表示部66における表示内容を付与数カウンタ74eの値に基づく付与数表示から比率表示に切り替えるための処理が設定されている構成と比較して、比率表示カウンタ74nに演算結果データを格納するとともに兼用表示部66における表示内容を付与数表示から比率表示に切り替えるための処理構成を簡素化することができる。
ゲームが実行されていない状態であるとともに兼用表示部66にて比率表示が実行されている状態において、比率表示カウンタ74nに初期値である「255」をセットする処理(管理用処理(図27)におけるステップS1307の処理)を実行することにより、兼用表示部66における表示内容を比率表示から付与数カウンタ74eの値に基づく付与数表示に切り替えることができる。このため、比率表示カウンタ74nに初期値をセットする処理に加えて、当該処理とは別の処理として、兼用表示部66における表示内容を比率表示から付与数表示に切り替えるための処理が設定されている構成と比較して、比率表示カウンタ74nに初期値をセットするとともに兼用表示部66における表示内容を比率表示から付与数表示に切り替えるための処理構成を簡素化することができる。
第2区間SC2の滞在比率の演算結果データは、ゲームが実行されていない状態において比率表示の開始操作が行われた場合に比率表示カウンタ74nにセットされる。兼用表示部66にて比率表示が実行されていない状態においても第2区間SC2の滞在比率を算出するための演算が行われて当該演算結果データが主側RAM74に記憶される構成とすると、比率表示カウンタ74n以外に、当該演算結果データを記憶しておくためのカウンタを主側RAM74に設ける必要が生じてしまう。これに対して、兼用表示部66にて比率表示が実行される期間のみにおいて演算結果データが比率表示カウンタ74nにセットされる構成であることにより、演算結果データを記憶しておくために主側RAM74に設けられる記憶エリアのデータ容量を低減することができる。
停止順種別カウンタ74mに「1」~「9」のいずれかの停止順種別番号が設定されている期間と、比率表示カウンタ74nに「0」~「100」のいずれかの演算結果データが設定されている期間とは重複しない期間である。このため、兼用表示部66にて停止順対応表示を実行するための条件と比率表示を実行するための条件とが同時に満たされることはない。これにより、兼用表示部66にて停止順対応表示を実行すべき状態であること及び比率表示を実行すべき状態であることを主側MPU72にて把握可能とするフラグを不要とし、当該フラグを備えている構成と比較して、兼用表示部66にて停止順対応表示が実行されている状態及び比率表示が実行されている状態を生じさせるための主側RAM74のデータ容量を低減することができる。
次に、主側MPU72にて実行される遊技終了時の対応処理(図32)の説明に先立ち、主側RAM74に設けられた遊技区間エリア76及び遊技状態エリア77(図14参照)について説明する。図31(a)は遊技区間エリア76のデータ構成を説明するための説明図であり、図31(b)は遊技状態エリア77のデータ構成を説明するための説明図である。遊技区間エリア76及び遊技状態エリア77のデータは、開始時コマンド及び終了時コマンドに設定される。なお、開始時コマンド及び終了時コマンドの詳細については後述する。
図31(a)に示すように、遊技区間エリア76は1バイトからなる記憶エリアであり、当該遊技区間エリア76の第0ビットには第2区間フラグ76aが設けられており、第1ビットには第1エンディングフラグ76bが設けられており、第2ビットには第2エンディングフラグ76cが設けられている。また、遊技区間エリア76の第3~第7ビットは未使用のビットとなっている。第2区間フラグ76aは遊技区間が第2区間SC2であるか否かを主側MPU72にて特定するためのフラグである。第2区間フラグ76aには、遊技区間が第2区間SC2に移行する場合に「1」がセットされるとともに、第2区間SC2が終了する場合に当該第2区間フラグ76aが「0」クリアされる。第1エンディングフラグ76bは、後述する継続ゲーム数カウンタ74rを利用して計測されている第2区間SC2におけるゲームの実行回数が上限ゲーム数(「1500」)に到達する可能性が高いことを主側MPU72にて特定するためのフラグである。第2エンディングフラグ76cは、後述する合計獲得数カウンタ74sを利用して計測されている遊技媒体の制限付きの合計純増枚数が上限純増枚数に到達する可能性が高いことを主側MPU72にて特定するためのフラグである。
図31(b)に示すように、遊技状態エリア77は1バイトからなる記憶エリアであり、当該遊技状態エリア77の第0ビットには第1CB状態フラグ77aが設けられており、第1ビットには第2CB状態フラグ77bが設けられており、第2ビットには疑似ボーナス状態フラグ77cが設けられており、第3ビットにはAT状態フラグ77dが設けられており、第4ビットには終了準備状態フラグ77eが設けられており、第5ビットにはAT移行確定フラグ77fが設けられている。また、遊技状態エリア77の第6~第7ビットは未使用のビットとなっている。第1CB状態フラグ77aは第1CB状態ST2であることを主側MPU72にて把握可能とするフラグであり、第2CB状態フラグ77bは第2CB状態ST3であることを主側MPU72にて把握可能とするフラグであり、疑似ボーナス状態フラグ77cは疑似ボーナス状態ST4であることを主側MPU72にて把握可能とするフラグであり、AT状態フラグ77dはAT状態ST5であることを主側MPU72にて把握可能とするフラグであり、終了準備状態フラグ77eは終了準備状態ST6であることを主側MPU72にて把握可能とするフラグである。主側MPU72は、第1CB状態フラグ77a、第2CB状態フラグ77b、疑似ボーナス状態フラグ77c、AT状態フラグ77d及び終了準備状態フラグ77eの値が「0」である場合には、通常遊技状態ST1であることを把握する。AT移行確定フラグ77fは、疑似ボーナス状態ST4において既にAT状態ST5への移行条件が成立しているか否かを主側MPU72にて特定するためのフラグである。
次に、通常処理(図13)のステップS410にて実行される遊技終了時の対応処理について、図32のフローチャートを参照しながら説明する。なお、通常処理(図13)におけるステップS410の処理はリール制御処理(ステップS408)よりも後に実行されるため、遊技終了時の対応処理は1ゲームにおいてリール32L,32M,32Rの回転が全て停止された後に実行されることとなる。
遊技終了時の対応処理では、まず第1CB状態ST2への移行制御、第1CB状態ST2の進行制御、第2CB状態ST3への移行制御及び第2CB状態ST3の進行制御を行うためのCB用処理を実行する(ステップS1501)。CB用処理については後に詳細に説明する。その後、第1CB状態ST2及び第2CB状態ST3のいずれでもないことを条件として(ステップS1502:NO)、現状の遊技状態に対応する処理を呼び出すCALL命令が設定されているプログラムアドレスにジャンプする(ステップS1503)。具体的には、遊技状態が通常遊技状態ST1である場合には、通常用処理(ステップS1504)を呼び出すためのCALL命令が設定されているプログラムアドレスにジャンプし、当該通常用処理(ステップS1504)を実行する。遊技状態が疑似ボーナス状態ST4である場合には、疑似ボーナス用処理(ステップS1505)を呼び出すためのCALL命令が設定されているプログラムアドレスにジャンプし、当該疑似ボーナス用処理(ステップS1505)を実行する。遊技状態がAT状態ST5である場合には、AT用処理(ステップS1506)を呼び出すためのCALL命令が設定されているプログラムアドレスにジャンプし、当該AT用処理(ステップS1506)を実行する。なお、ステップS1504~ステップS1506の処理内容については後に詳細に説明する。
ステップS1502にて肯定判定を行った場合にはステップS1507に進む。また、ステップS1504にて呼び出した通常用処理、ステップS1505にて呼び出した疑似ボーナス用処理又はステップS1506にて呼び出したAT用処理を終了して遊技終了時の対応処理(図32)に復帰する場合にもステップS1507に進む。ステップS1507では、遊技区間の第2制御処理を実行する。なお、遊技区間の第2制御処理(ステップS1507)の詳細については後述する。
その後、主側RAM74に設けられた終了時コマンドフラグに「1」をセットする(ステップS1508)。終了時コマンドフラグは、演出側MPU92に終了時コマンドを送信すべきことを主側MPU72にて把握可能とするフラグである。ステップS1508にて終了時コマンドフラグに「1」がセットされることにより、後述するコマンド出力処理(図44)のステップS2709にて共通コマンド送信処理(図50)が実行される。共通コマンド送信処理(図50)では、主側RAM74における開始時コマンドフラグに「1」がセットされていないことに基づいて、終了時コマンドを送信するための処理が実行される。なお、終了時コマンドの詳細については後述する。
その後、主側RAM74のベット数設定カウンタ74bの値を「0」クリアし(ステップS1509)、主側RAM74のゲーム実行中フラグを「0」クリアする(ステップS1510)。その後、主側RAM74における合計ゲーム数カウンタの値を1加算して(ステップS1511)、本遊技終了時の対応処理を終了する。既に説明したとおり、合計ゲーム数カウンタは、遊技状態及び遊技区間に関係なく消化されたゲーム数を計測するためのカウンタである。既に説明したとおり、合計ゲーム数カウンタは、管理用処理(図27)のステップS1304における比率演算処理において参照されるカウンタである。ステップS1511にて合計ゲーム数カウンタを更新することにより、兼用表示部66にて比率表示が開始される場合に当該比率表示の表示内容を正確なものとすることができる。
現状の遊技状態が第1CB状態ST2又は第2CB状態ST3である場合にはステップS1502にて肯定判定をすることで、ステップS1504の通常用処理、ステップS1505の疑似ボーナス用処理、及びステップS1506のAT用処理を実行しない。したがって、第1CB状態ST2又は第2CB状態ST3である場合には、通常遊技状態ST1を進行させるための処理、疑似ボーナス状態ST4を進行させるための処理及びAT状態ST5を進行させるための処理が実行されない。一方、現状の遊技状態が第1CB状態ST2又は第2CB状態ST3であってもステップS1507~ステップS1511の処理を実行する。したがって、第1CB状態ST2又は第2CB状態ST3である場合であっても第2区間SC2を進行させるための処理が実行されるとともに、演出側MPU92に対して終了時コマンドを送信するための処理が実行される。
図33は主側MPU72にて実行されるCB用処理を示すフローチャートである。なお、CB用処理は遊技終了時の対応処理(図32)におけるステップS1501にて実行される。遊技終了時の対応処理(図32)は既に説明したとおり1ゲームにおいてリール32L,32M,32Rの回転が全て停止された後に実行されるため、CB用処理も1ゲームにおいてリール32L,32M,32Rの回転が全て停止された後に実行される。
CB用処理では、まず主側RAM74の遊技状態エリア77に設けられた第1CB状態フラグ77a及び第2CB状態フラグ77bのいずれかに「1」がセットされているか否かを判定することで、現状の遊技状態が第1CB状態ST2及び第2CB状態ST3のいずれかであるか否かを判定する(ステップS1601)。既に説明したとおり、第1CB状態フラグ77aは遊技状態が第1CB状態ST2であるか否かを主側MPU72にて特定するためのフラグであり、第2CB状態フラグ77bは遊技状態が第2CB状態ST3であるか否かを主側MPU72にて特定するためのフラグである。
ステップS1601にて否定判定をした場合、今回のゲームにて第1CB入賞が成立したか否かを判定する(ステップS1602)。つまり、主側RAM74の第1CB当選データエリア74jに第1CB当選データが記憶されている状況で第1CB入賞に対応する図柄の組合せがメインラインMLに停止したか否かを判定する。第1CB入賞が成立している場合(ステップS1602:YES)、主側RAM74の遊技状態エリア77における第1CB状態フラグ77aに「1」をセットする(ステップS1603)。これにより、遊技状態が第1CB状態ST2となる。第1CB状態ST2においては既に説明したとおりベット状態管理処理(図17(a))におけるステップS701~ステップS703の処理が実行されることで、「3」の遊技媒体がベットされている状況においてのみゲームが実行されることとなる。
その後、主側RAM74における第1CB当選データエリア74jに格納されている第1CB当選データをクリアして(ステップS1604)、本CB用処理を終了する。既に説明したとおり、遊技状態エリア77のデータは演出側MPU92に対して送信される終了時コマンドに設定される。演出側MPU92は、受信した終了時コマンドに設定されている遊技状態エリア77のデータに含まれている第1CB状態フラグ77aのデータに基づいて、第1CB状態ST2に移行したか否かを把握する。
ステップS1602にて否定判定をした場合、今回のゲームにて第2CB入賞が成立したか否かを判定する(ステップS1605)。つまり、主側RAM74の第2CB当選データエリア74kに第2CB当選データが記憶されている状況で第2CB入賞に対応する図柄の組合せがメインラインMLに停止したか否かを判定する。第2CB入賞が成立している場合(ステップS1605:YES)、主側RAM74の遊技状態エリア77における第2CB状態フラグ77bに「1」をセットする(ステップS1606)。これにより、遊技状態が第2CB状態ST3となる。第2CB状態ST3においては既に説明したとおりベット対応処理(図16)におけるステップS603及びステップS609、並びにベット状態管理処理(図17(a))におけるステップS703及びステップS704の処理が実行されることで、「2」の遊技媒体がベットされている状況においてのみゲームが実行されることとなる。
その後、主側RAM74の第2CB当選データエリア74kに格納されている第2CB当選データをクリアして(ステップS1607)、本CB用処理を終了する。既に説明したとおり、遊技状態エリア77のデータは演出側MPU92に対して送信される終了時コマンドに設定される。演出側MPU92は、受信した終了時コマンドに設定されている遊技状態エリア77のデータに含まれている第2CB状態フラグ77bのデータに基づいて、第2CB状態ST3に移行したか否かを把握する。
ステップS1601にて肯定判定をした場合、今回のゲームにて第1ベル入賞が成立したか否かを判定する(ステップS1608)。第1ベル入賞が成立している場合(ステップS1608:YES)、主側RAM74に設けられた合計付与カウンタの値を1加算する(ステップS1609)。合計付与カウンタは、第1CB状態ST2又は第2CB状態ST3において付与された遊技媒体の合計数を主側MPU72にて特定するためのカウンタであり、第1CB状態ST2又は第2CB状態ST3が開始された場合に「0」クリアされる。
1加算後における合計付与カウンタの値が第1CB状態ST2及び第2CB状態ST3の終了基準数である「30」となった場合(ステップS1610:YES)、今回のCB状態ST2,ST3に対応するCB状態フラグ77a,77bを「0」クリアして(ステップS1611)、本CB用処理を終了する。既に説明したとおり、遊技状態エリア77のデータは演出側MPU92に対して送信される終了時コマンドに設定される。演出側MPU92は、受信した終了時コマンドに設定されている遊技状態エリア77のデータに含まれている第1CB状態フラグ77a及び第2CB状態フラグ77bのデータに基づいて、CB状態ST2,ST3が終了したか否かを把握する。
<第2区間SC2について>
次に、第2区間SC2について説明する。まず主側MPU72にて実行される遊技区間の第1制御処理について図34のフローチャートを参照しながら説明する。遊技区間の第1制御処理は役の抽選処理(図18)において役の当否判定が完了した後に実行される処理であるステップS913にて実行される。
遊技区間の第1制御処理では、まず主側RAM74の遊技区間エリア76における第2区間フラグ76aに「1」がセットされているか否かを判定する(ステップS1701)。既に説明したとおり、第2区間フラグ76aは遊技区間が第2区間SC2であるか否かを主側MPU72にて特定するためのフラグである。第2区間フラグ76aに「1」がセットされている場合(ステップS1701:YES)には、ステップS1702以降の処理を実行しない。これにより、第2区間SC2である場合にはステップS1706の直撃抽選処理及びステップS1710の解除ゲーム数抽選処理が実行されないことになる。
第2区間フラグ76aに「1」がセットされていない場合(ステップS1701:NO)、現状の遊技状態が第1CB状態ST2又は第2CB状態ST3であるか否かを判定する(ステップS1702)。既に説明したとおり、主側MPU72は遊技状態エリア77の第1CB状態フラグ77aに「1」がセットされている場合に第1CB状態ST2であることを把握することができるとともに、第2CB状態フラグ77bに「1」がセットされている場合に第2CB状態ST3であることを把握することができる。現状の遊技状態が第1CB状態ST2又は第2CB状態ST3である場合には(ステップS1702:YES)、ステップS1703以降の処理を実行しない。これにより、第1区間SC1であったとしても第1CB状態ST2又は第2CB状態ST3である場合には、ステップS1705の第2区間SC2に設定するための処理、ステップS1706の直撃抽選処理及びステップS1710の解除ゲーム数抽選処理が実行されないことになる。
現状の遊技状態が第1CB状態ST2及び第2CB状態ST3のいずれでもない場合(ステップS1702:NO)、主側RAM74のベット数設定カウンタ74bの値が「3」であるか否かを判定することで、今回のゲームのベット数が「3」であるか否かを判定する(ステップS1703)。今回のゲームのベット数が「2」である場合には(ステップS1703:NO)、ステップS1704以降の処理を実行しない。これにより、第1区間SC1であったとしてもベット数が「2」であるゲームにおいては、ステップS1705の第2区間SC2に設定するための処理、ステップS1706の直撃抽選処理及びステップS1710の解除ゲーム数抽選処理が実行されないことになる。
今回のゲームのベット数が「3」である場合(ステップS1703:YES)、今回の役の抽選処理(図18)にていずれかのインデックス値IVに当選したか否かを判定する(ステップS1704)。ステップS1704では、主側RAM74のインデックス値カウンタ74fに「1」~「17」のいずれかのインデックス値IVが設定されている場合に肯定判定を行う。今回の役の抽選処理(図18)が外れであった場合には(ステップS1704:NO)、ステップS1705以降の処理を実行しない。これにより、第1区間SC1であったとしても役の抽選処理(図18)にて外れとなった場合には、ステップS1705の第2区間SC2に設定するための処理、ステップS1706の直撃抽選処理及びステップS1710の解除ゲーム数抽選処理が実行されないことになる。
今回の役の抽選処理(図18)にていずれかのインデックス値IVに当選している場合(ステップS1704:YES)、主側RAM74の遊技区間エリア76における第2区間フラグ76aに「1」をセットし、主側RAM74に設けられた継続ゲーム数カウンタ74r(図14参照)及び合計獲得数カウンタ74s(図14参照)のそれぞれを「0」クリアする(ステップS1705)。第2区間フラグ76aに「1」がセットされることで第2区間SC2となる。
継続ゲーム数カウンタ74rは、第1区間SC1を間に挟むことなく第2区間SC2が継続された場合における当該第2区間SC2の開始時からのゲームの実行回数を主側MPU72にて特定するためのカウンタである。第2区間SC2において継続ゲーム数カウンタ74rの値が上限ゲーム数(具体的には1500ゲーム)に対応する値に到達した場合には、疑似ボーナス状態ST4又はAT状態ST5の途中であっても、当該到達したゲームにて第2区間SC2が終了されて、第1区間SC1であって通常遊技状態ST1となる状況に移行する。継続ゲーム数カウンタ74rは2バイトからなる。
合計獲得数カウンタ74sは、第1区間SC1を間に挟むことなく第2区間SC2が継続された場合における当該第2区間SC2の開始時からの遊技媒体の制限付き合計純増枚数を主側MPU72にて特定するためのカウンタである。なお、遊技媒体の制限付き合計純増枚数とは、既に説明したとおり、「第2区間SC2が継続している状況で実行されたゲームにより付与された遊技媒体の合計数(遊技媒体の付与が発生していない状況では「0」)」から「第2区間SC2が継続されている状況でゲームを実行するために消化された遊技媒体の合計数(ゲームが実行されていない状況では「0」)」を減算した値を所定差枚数とした場合において、当該所定差枚数の最小値を所定基準値として、当該所定基準値からの上記所定差枚数の増加分の枚数のことである。第2区間SC2において合計獲得数カウンタ74sの値が上限純増枚数(具体的には2400枚)に対応する値に到達した場合には、疑似ボーナス状態ST4又はAT状態ST5の途中であっても、当該到達したゲームにて第2区間SC2が終了されて、第1区間SC1であって通常遊技状態ST1となる状況に移行する。合計獲得数カウンタ74sは2バイトからなる。
その後、直撃抽選処理を実行する(ステップS1706)。直撃抽選処理では、主側ROM73に設けられた直撃抽選用テーブル及び主側RAM74において定期的に更新される抽選カウンタを利用して、疑似ボーナス状態ST4の直撃当選とするか否かを抽選により決定する。今回のゲームにおける役の抽選処理(図18)にて、インデックス値IV=11に当選している場合には2%の確率で疑似ボーナス状態ST4の直撃当選となり、インデックス値IV=12に当選している場合には1%の確率で疑似ボーナス状態ST4の直撃当選となり、インデックス値IV=13に当選している場合には10%の確率で疑似ボーナス状態ST4の直撃当選となり、インデックス値IV=14に当選している場合には5%の確率で疑似ボーナス状態ST4の直撃当選となり、インデックス値IV=15に当選している場合には2%の確率で疑似ボーナス状態ST4の直撃当選となる。この場合、役の抽選処理(図18)にて当選となる確率が低いインデックス値IVほど疑似ボーナス状態ST4の直撃当選となる確率が高くなっている。これにより、役の抽選処理(図18)にて当選確率が低いインデックス値IVに当選したことの有利度を高めることが可能となる。
直撃抽選処理にて疑似ボーナス状態ST4の直撃当選となった場合(ステップS1707:YES)、主側RAM74に設けられた第1移行確定フラグに「1」をセットする(ステップS1708)。第1移行確定フラグは、第2区間SC2に移行する場合に実行された直撃抽選処理(ステップS1706)にて疑似ボーナス状態ST4への移行当選となったことを主側MPU72にて特定するためのフラグである。第1移行確定フラグに「1」がセットされた場合、今回のゲームが終了する場合に遊技状態を疑似ボーナス状態ST4に移行させるための処理が実行される。
その後、区間表示部67の点灯処理を実行する(ステップS1709)。区間表示部67の点灯処理では、区間表示部67を消灯状態から点灯状態に切り換える。これにより、第2区間SC2であることの報知が区間表示部67にて開始されることとなる。
直撃抽選処理にて疑似ボーナス状態ST4の直撃当選とならなかった場合(ステップS1707:NO)には、CALL命令により解除ゲーム数抽選処理というサブルーチンのプログラムを呼び出すことにより解除ゲーム数抽選処理を実行する(ステップS1710)。解除ゲーム数とは、後述する移行抽選処理(ステップS2112)にて疑似ボーナス状態ST4への移行当選とならない場合において疑似ボーナス状態ST4への移行が発生するまでに必要なゲーム数である。ステップS1710にてCALL命令により解除ゲーム数抽選処理というサブルーチンのプログラムが呼び出される場合には、当該ステップS1710の次の処理であるステップS1711の処理に復帰するための戻り番地の情報が主側RAM74のスタックエリアに記憶される。ステップS1710における解除ゲーム数抽選処理では、主側ROM73に記憶されている解除ゲーム数抽選テーブル73c(図24(c)参照)が参照される。
ここで、ステップS1710における解除ゲーム数抽選処理(図35(b))の説明に先立ち、解除ゲーム数抽選テーブル73cについて説明する。図35(a)は解除ゲーム数抽選テーブル73cの内容を説明するための説明図である。図35(a)に示すように、解除ゲーム数抽選テーブル73cには、当否の判定対象の解除ゲーム数として50ゲーム、200ゲーム、400ゲーム及び600ゲームの4種類が設定されている。解除ゲーム数抽選処理ではこれら4種類の解除ゲーム数のいずれかに必ず当選する。解除ゲーム数として50ゲームが選択される確率、解除ゲーム数として200ゲームが選択される確率、解除ゲーム数として400ゲームが選択される確率、及び解除ゲーム数として600ゲームが選択される確率は、それぞれ1/4である。
次に、主側MPU72にて実行される解除ゲーム数抽選処理について図35(b)のフローチャートを参照しながら説明する。既に説明したとおり、解除ゲーム数抽選処理は遊技区間の第1制御処理(図34)のステップS1710にて実行される。また、解除ゲーム数抽選処理は後述するAT用処理(図42)のステップS2506においても実行される。
解除ゲーム数抽選処理では、まず解除ゲーム数抽選処理における参照対象の抽選テーブルとして主側ROM73に記憶されている解除ゲーム数抽選テーブル73c(図24(c)参照)を設定する(ステップS1801)。その後、ステップS1802~ステップS1807にて抽選実行処理を実行する。当該抽選実行処理は、後述する開始時上乗せ用処理(図43(c))のステップS2603にて否定判定を行った場合、又はステップS2604の処理を行った場合にも実行される。ここでは、ステップS1801にて参照対象の抽選テーブルとして解除ゲーム数抽選テーブル73cが設定された状態で抽選実行処理(ステップS1802~ステップS1807)が実行される場合について説明する。
抽選実行処理(ステップS1802~ステップS1807)では、まず主側RAM74において定期的に更新される抽選カウンタから1バイトの抽選用数値情報を取得し、その取得した抽選用数値情報を主側RAM74に設けられた乱数設定カウンタにセットする(ステップS1802)。抽選用数値情報は「0」~「255」のいずれかの整数を示す数値情報であるとともに、乱数設定カウンタは当該抽選用数値情報が設定されるカウンタである。
その後、主側RAM74に設けられた判定対象カウンタに「4」をセットする(ステップS1803)。判定対象カウンタは、参照対象の抽選テーブル(解除ゲーム数抽選テーブル73c)に設定されている複数の判定対象のゲーム数のうち現状における判定対象のゲーム数を主側MPU72にて把握可能とするカウンタである。判定対象カウンタは1バイトからなる。解除ゲーム数抽選処理では、判定対象カウンタの値が「4」である場合に「50」の解除ゲーム数が判定対象となり、判定対象カウンタの値が「3」である場合に「200」の解除ゲーム数が判定対象となり、判定対象カウンタの値が「2」である場合に「400」の解除ゲーム数が判定対象となる。そして、これら「50」、「200」及び「400」の解除ゲーム数に当選しなかった場合には「600」の解除ゲーム数に当選する。
その後、参照対象の抽選テーブル(解除ゲーム数抽選テーブル73c)に設定されている判定値を乱数設定カウンタの値に対して加算する(ステップS1804)。図35(a)に示すように、解除ゲーム数抽選テーブル73cには判定値として「64」が設定されており、ステップS1804では乱数設定カウンタの値に「64」を加算する。
その後、ステップS1804にて判定値(「64」)を加算した後の乱数設定カウンタの値が「255」を超えたか否かを判定し(ステップS1805)、乱数設定カウンタの値が「255」を超えていない場合(ステップS1805:NO)には、判定対象カウンタの値を1減算する(ステップS1806)。ステップS1804~ステップS1807の処理は、ステップS1805又はステップS1807にて肯定判定が行われるまで、繰り返し実行される。判定対象の解除ゲーム数は、ステップS1806にて判定対象カウンタの値が1減算される度に、50ゲーム→200ゲーム→400ゲームの順番で更新される。
その後、ステップS1806にて1減算した後の判定対象カウンタの値が「1」であるか否かを判定する(ステップS1807)。ステップS1807にて否定判定を行った場合には、ステップS1804に進む。そして、ステップS1805又はステップS1807にて肯定判定が行われるまで、ステップS1804~ステップS1807の処理を繰り返し実行する。
ステップS1805又はステップS1807にて肯定判定を行った場合には、「RET」という命令を実行することによりサブルーチンの処理として呼び出していた本解除ゲーム数抽選処理を終了する。既に説明したとおり、解除ゲーム数抽選処理は遊技区間の第1制御処理(図34)のステップS1710にて呼び出される。このため、解除ゲーム数の抽選処理を終了した場合には、主側RAM74のスタックエリアに記憶されている戻り番地の情報に基づいて、当該遊技区間の第1制御処理(図34)におけるステップS1710の次のステップS1711の処理に復帰する。「50」の解除ゲーム数に当選した場合には判定対象カウンタの値が「4」である状態でステップS1711の処理に復帰し、「200」の解除ゲーム数に当選した場合には判定対象カウンタの値が「3」である状態でステップS1711の処理に復帰し、「400」の解除ゲーム数に当選した場合には判定対象カウンタの値が「2」である状態でステップS1711の処理に復帰し、「600」の解除ゲーム数に当選した場合には判定対象カウンタの値が「1」である状態でステップS1711の処理に復帰する。
遊技区間の第1制御処理(図34)の説明に戻り、ステップS1710にて解除ゲーム数抽選処理を実行した後は、解除ゲーム数カウンタの設定処理を実行する(ステップS1711)。既に説明したとおり、解除ゲーム数カウンタは、主側RAM74の第1~第3移行確定フラグのいずれにも「1」がセットされていない状況において疑似ボーナス状態ST4に移行させるために必要なゲーム数である残りの解除ゲーム数を主側MPU72にて特定するためのカウンタである。解除ゲーム数カウンタの設定処理では、解除ゲーム数抽選テーブル73c(図35(a))を参照し、判定対象カウンタの値に対応する解除ゲーム数を主側RAM74の解除ゲーム数カウンタにセットする。具体的には、判定対象カウンタの値が「4」である場合に解除ゲーム数カウンタに「50」をセットし、判定対象カウンタの値が「3」である場合に解除ゲーム数カウンタに「200」をセットし、判定対象カウンタの値が「2」である場合に解除ゲーム数カウンタに「400」をセットし、判定対象カウンタの値が「1」である場合に解除ゲーム数カウンタに「600」をセットする。その後、判定対象カウンタの値を「0」クリアする(ステップS1712)。
その後、区間表示部67の点灯処理を実行して(ステップS1713)、本遊技区間の第1制御処理を終了する。ステップS1713における区間表示部67の点灯処理では、区間表示部67を消灯状態から点灯状態に切り換える。これにより、第2区間SC2であることの報知が区間表示部67にて開始されることとなる。
次に、主側MPU72にて実行される遊技区間の第2制御処理について図36のフローチャートを参照しながら説明する。遊技区間の第2制御処理は遊技終了時の対応処理(図32)におけるステップS1507にて実行される。上記のとおり遊技終了時の対応処理は1ゲームにおけるリール32L,32M,32Rの回転が全て停止した後に実行されるため、遊技区間の第2制御処理も1ゲームにおけるリール32L,32M,32Rの回転が全て停止した後に実行される。
遊技区間の第2制御処理では、主側RAM74の遊技区間エリア76における第2区間フラグ76aに「1」がセットされており現状の遊技区間が第2区間SC2である場合(ステップS1901:YES)、主側RAM74の遊技状態エリア77における終了準備状態フラグ77eの状態を確認することで現状の遊技状態が終了準備状態ST6であるか否かを判定する(ステップS1902)。終了準備状態ST6は、後述する第2区間SC2のエンディング条件が成立することなく疑似ボーナス状態ST4が終了する場合であって、その後の通常遊技状態ST1への移行に際して第2区間SC2が終了する場合に移行する遊技状態である。
終了準備状態ST6である場合(ステップS1902:YES)、主側RAM74に設けられた終了準備完了フラグに「1」がセットされているか否かを判定する(ステップS1903)。終了準備完了フラグは、終了準備状態ST6において1ゲームが実行されたか否かを主側MPU72にて特定するためのフラグである。遊技終了時の対応処理(図32)における疑似ボーナス用処理(ステップS1505)では、疑似ボーナス状態ST4の残りの継続ゲーム数が0ゲームであるとともにその後の通常遊技状態ST1への移行に際して第2区間SC2が終了する状況であることが特定された場合、終了準備状態フラグ77eに「1」がセットされるとともに終了準備完了フラグが「0」クリアされる。また、遊技終了時の対応処理(図32)におけるAT用処理(ステップS1506)では、AT状態ST5の残りの継続ゲーム数が0ゲームであるとともにその後の通常遊技状態ST1への移行に際して第2区間SC2が終了する状況であることが特定された場合、終了準備状態フラグ77eに「1」がセットされるとともに終了準備完了フラグが「0」クリアされる。
終了準備完了フラグに「1」がセットされていない場合(ステップS1903:NO)、終了準備完了フラグに「1」をセットした後に(ステップS1904)、ステップS1905以降の処理を実行する。終了準備完了フラグに「1」がセットされている場合(ステップS1903:YES)、終了準備状態ST6において1ゲームが実行されたことを意味する。この場合、第2区間SC2を終了させるための処理を実行する。
具体的には、まず第2区間SC2の初期化処理を実行する(ステップS1915)。第2区間SC2の初期化処理では主側RAM74の遊技区間エリア76における第2区間フラグ76aを「0」クリアする。これにより、遊技区間が第1区間SC1となる。また、第2区間SC2の初期化処理では、疑似ボーナス状態ST4に滞在していたとしても、当該疑似ボーナス状態ST4の残りの継続ゲーム数を記憶するためのカウンタを含めて疑似ボーナス状態ST4であることを示す各種データ(遊技状態エリア77における疑似ボーナス状態フラグ77cを含む)をクリアすることにより遊技状態を通常遊技状態ST1に移行させる。また、第2区間SC2の初期化処理では、AT状態ST5に滞在していたとしても、当該AT状態ST5の残りの継続ゲーム数を記憶するためのカウンタを含めてAT状態ST5であることを示す各種データ(遊技状態エリア77におけるAT状態フラグ77dを含む)をクリアすることにより遊技状態を通常遊技状態ST1に移行させる。また、第2区間SC2の初期化処理では、主側RAM74の解除ゲーム数カウンタを「0」クリアする。したがって、現状の遊技状態が通常遊技状態ST1、第1CB状態ST2及び第2CB状態ST3のいずれかであったとしても、その時点における残りの解除ゲーム数(すなわち天井ゲーム数)は無効化され、その後の第2区間SC2への新たな移行に際して当該残りの解除ゲーム数は再セットされる。なお、第1CB状態ST2及び第2CB状態ST3の途中であっても第2区間SC2の初期化処理が実行されることで第2区間SC2は終了されるが、第1CB状態ST2及び第2CB状態ST3は終了されることなくそのまま継続される。
その後、区間表示部67の消灯処理を実行する(ステップS1916)。当該消灯処理では、区間表示部67を点灯状態から消灯状態に切り換える。これにより、区間表示部67における第2区間SC2であることの報知が終了される。
終了準備状態ST6ではない場合(ステップS1902:NO)、又はステップS1904の処理を実行した場合、主側RAM74における第2区間ゲーム数カウンタの値を1加算する(ステップS1905)。既に説明したとおり、第2区間ゲーム数カウンタは、第2区間SC2において実行された累計のゲーム数を主側MPU72にて把握可能とするカウンタであるとともに、管理用処理(図27)のステップS1304における比率演算処理において参照されるカウンタである。ステップS1905にて第2区間ゲーム数カウンタを更新することにより、兼用表示部66にて比率表示が開始される場合に当該比率表示の表示内容を正確なものとすることができる。
その後、主側RAM74の継続ゲーム数カウンタ74rの値を1加算する(ステップS1906)。継続ゲーム数カウンタ74rは既に説明したとおり、第1区間SC1を間に挟むことなく第2区間SC2が継続された場合における当該第2区間SC2の開始時からのゲームの実行回数を主側MPU72にて特定するためのカウンタである。
その後、1加算後における継続ゲーム数カウンタ74rの値が上限ゲーム数である1500以上となっているか否かを判定する(ステップS1907)。継続ゲーム数カウンタ74rの値が1500以上である場合、第2区間SC2のエンディング条件が成立したことを意味する。この場合、ステップS1907にて肯定判定をして、ステップS1915~ステップS1916における第2区間SC2を終了させるための処理を実行する。ステップS1915~ステップS1916の処理内容は既に説明したとおりである。これにより、第2区間SC2が終了して第1区間SC1となるとともに、疑似ボーナス状態ST4の途中であった場合には当該疑似ボーナス状態ST4は強制的に終了されて通常遊技状態ST1となり、AT状態ST5の途中であった場合には当該AT状態ST5は強制的に終了されて通常遊技状態ST1となる。
継続ゲーム数カウンタ74rの値が1500未満である場合(ステップS1907:NO)、今回のゲームにおいて、第1チャンスリプレイ入賞、第2チャンスリプレイ入賞及び通常リプレイ入賞のいずれかのリプレイ入賞が成立したか否かを判定する(ステップS1908)。この場合、今回のゲームのベット数が「2」及び「3」のいずれであったとしてもステップS1908の判定の対象となるとともに、今回のゲームが通常遊技状態ST1、第1CB状態ST2、第2CB状態ST3、疑似ボーナス状態ST4及びAT状態ST5のいずれの遊技状態であったとしてもステップS1908の判定の対象となる。
いずれのリプレイ入賞も成立していない場合(ステップS1908:NO)、主側RAM74の合計獲得数カウンタ74sから今回のゲームのベット数(すなわちベット数設定カウンタ74bの値)を減算する(ステップS1909)。この場合、前回のゲームにおいてリプレイ入賞が成立しており、今回のゲームが当該リプレイ入賞の成立による再遊技に該当するゲームであったとしても、今回のゲームのベット数(すなわちベット数設定カウンタ74bの値)を合計獲得数カウンタ74sから減算する。
合計獲得数カウンタ74sは既に説明したとおり第1区間SC1を間に挟むことなく第2区間SC2が継続された場合における当該第2区間SC2の開始時からの遊技媒体の制限付きの合計純増枚数を主側MPU72にて特定するためのカウンタである。なお、遊技媒体の制限付き合計純増枚数とは、既に説明したとおり、「第2区間SC2が継続している状況で実行されたゲームにより付与された遊技媒体の合計数(遊技媒体の付与が発生していない状況では「0」)」から「第2区間SC2が継続されている状況でゲームを実行するために消化された遊技媒体の合計数(ゲームが実行されていない状況では「0」)」を減算した値を所定差枚数とした場合において、当該所定差枚数の最小値を所定基準値として、当該所定基準値からの上記所定差枚数の増加分の枚数のことである。
その後、今回のゲームにおいて遊技媒体の付与が発生するいずれかの小役入賞(第1~第9補填入賞、第1ベル入賞、第2ベル入賞、第1スイカ入賞、第2スイカ入賞及びチェリー入賞)が成立したか否かを判定する(ステップS1910)。この場合、今回のゲームのベット数が「2」及び「3」のいずれであったとしてもステップS1910の判定の対象となるとともに、今回のゲームが通常遊技状態ST1、第1CB状態ST2、第2CB状態ST3、疑似ボーナス状態ST4及びAT状態ST5のいずれの遊技状態であったとしてもステップS1910の判定の対象となる。ステップS1910にて肯定判定をした場合、主側RAM74の合計獲得数カウンタ74sに今回のゲームにて付与された遊技媒体の数を加算する(ステップS1911)。
ステップS1910にて否定判定をした場合、又はステップS1911の処理を実行した場合、主側RAM74の合計獲得数カウンタ74sの値が0以上であるか否かを判定する(ステップS1912)。合計獲得数カウンタ74sの値が0未満である場合(ステップS1912:NO)、合計獲得数カウンタ74sを「0」クリアする(ステップS1913)。
上記のとおりステップS1909にて合計獲得数カウンタ74sから今回のゲーム数のベット数が減算されるため、例えば第2区間SC2に移行した直後の通常遊技状態ST1におけるゲームにおいていずれの小役入賞も成立しなかった場合、合計獲得数カウンタ74sの値は0未満となる。この場合、ステップS1912にて否定判定をすることで、ステップS1913にて合計獲得数カウンタ74sが「0」クリアされる。これにより、「第2区間SC2が継続している状況で実行されたゲームにより付与された遊技媒体の合計数(遊技媒体の付与が発生していない状況では「0」)」から「第2区間SC2が継続されている状況でゲームを実行するために消化された遊技媒体の合計数(ゲームが実行されていない状況では「0」)」を減算した値を所定差枚数とした場合において、当該所定差枚数の最小値を所定基準値として、当該所定基準値からの上記所定差枚数の増加分の枚数である遊技媒体の制限付き合計純増枚数を、合計獲得数カウンタ74sを利用して計測することが可能となる。
ステップS1908にて肯定判定をした場合、ステップS1912にて肯定判定をした場合、又はステップS1913の処理を実行した場合、合計獲得数カウンタ74sの値が上限純増枚数である「2400」を超えているか否かを判定する(ステップS1914)。合計獲得数カウンタ74sの値が「2400」を超えている場合、第2区間SC2のエンディング条件が成立したことを意味する。この場合、ステップS1914にて肯定判定をして、ステップS1915~ステップS1916における第2区間SC2を終了させるための処理を実行する。ステップS1915~ステップS1916の処理内容は既に説明したとおりである。これにより、第2区間SC2が終了して第1区間SC1となるとともに、疑似ボーナス状態ST4の途中であった場合には当該疑似ボーナス状態ST4は強制的に終了されて通常遊技状態ST1となり、AT状態ST5の途中であった場合には当該AT状態ST5は強制的に終了されて通常遊技状態ST1となる。
ここで、いずれかのリプレイ入賞が成立した場合、ステップS1908にて肯定判定をすることでステップS1909~ステップS1913の処理を実行しない。リプレイ入賞が成立するゲームにおいてはその開始時に遊技者が所有する遊技媒体がベット設定に際して利用されるものの、リプレイ入賞が成立したことによる利益として、当該リプレイ入賞が成立したゲームにおけるベット数と同数のベット数にて新たなゲームの再遊技を行うことが可能となる。つまり、リプレイ入賞が成立したゲームにおいては遊技者が所有する遊技媒体の数が変動していない。この場合に、リプレイ入賞が成立したゲームにおいてはステップS1909~ステップS1913の処理を実行しないようにすることで、遊技者が所有する遊技媒体の数が変動しないゲームにおいては合計獲得数カウンタ74sの値を変化させるための処理の実行を省略することが可能となり、無駄な処理の実行を省くことが可能となる。
その一方、リプレイ入賞が成立したゲームであっても、ステップS1914にて、合計獲得数カウンタ74sの値が上限純増枚数である「2400」を超えているか否かを判定する。これにより、リプレイ入賞が成立したゲームよりも前のゲームにおいて実際には既に合計獲得数カウンタ74sの値が上限純増枚数である「2400」を超えていたにも関わらずノイズなどの原因で第2区間SC2の初期化処理が実行されていなかった場合であっても、その後のリプレイ入賞が成立したゲームにおいて合計獲得数カウンタ74sの値が上限純増枚数である「2400」を超えていることを特定することが可能となり、第2区間SC2の初期化処理が実行されるようにすることが可能となる。
ステップS1914にて否定判定をした場合には、エンディング対応処理を実行して(ステップS1917)、本遊技区間の第2制御処理を終了する。図37はステップS1917におけるエンディング対応処理を示すフローチャートである。
エンディング対応処理では、まず主側RAM74の遊技区間エリア76に設けられた第1エンディングフラグ76bに「1」がセットされているか否かを判定する(ステップS2001)。既に説明したとおり、第1エンディングフラグ76bは継続ゲーム数カウンタ74rを利用して計測されている第2区間SC2におけるゲームの実行回数が上限ゲーム数に到達する可能性が高いことを主側MPU72にて特定するためのフラグである。
第1エンディングフラグ76bに「1」がセットされていない場合(ステップS2001:NO)、主側RAM74の継続ゲーム数カウンタ74rの値と、主側RAM74に設けられた疑似ボーナス継続カウンタ74t(図14参照)の値と、主側RAM74に設けられたAT継続カウンタ74u(図14参照)の値との和が第2区間SC2の上限ゲーム数以上となっているか否かを判定する(ステップS2002)。疑似ボーナス継続カウンタ74tは、疑似ボーナス状態ST4における残りの継続ゲーム数を主側MPU72にて特定するためのカウンタである。疑似ボーナス継続カウンタ74tは1バイトからなる。AT継続カウンタ74uは、AT状態ST5における残りの継続ゲーム数を主側MPU72にて特定するためのカウンタである。AT継続カウンタ74uは2バイトからなる。第2区間SC2の上限ゲーム数は既に説明したとおり1500ゲームに設定されている。なお、第2区間SC2の上限ゲーム数は1500ゲームに限定されることはなく、1500ゲームよりも少ないゲーム数であってもよく、1500ゲームよりも多いゲーム数であってもよい。
ステップS2002にて肯定判定をした場合、第1エンディングフラグ76bに「1」をセットする(ステップS2003)。第1エンディングフラグ76bに「1」がセットされた場合、詳細は後述するが疑似ボーナス状態ST4においてAT状態ST5への移行条件が成立しない状態となるとともに、AT状態ST5において残りの継続ゲーム数の上乗せが発生しない状態となり、さらに疑似ボーナス状態ST4又はAT状態ST5が終了して通常遊技状態ST1に移行する場合には確実に第2区間SC2が終了して第1区間SC1に移行することとなる。これにより、第2区間SC2のエンディング条件が成立することとなる状況において、AT状態ST5への移行条件が成立してしまわないようにすることが可能となるとともに、AT状態ST5の残りの継続ゲーム数の更なる上乗せが発生してしまわないようにすることが可能となる。なお、第1エンディングフラグ76bに「1」がセットされる状況は基本的に疑似ボーナス状態ST4又はAT状態ST5において発生するが、第1CB状態ST2又は第2CB状態ST3においても発生し得る。また、第1CB状態ST2、第2CB状態ST3又は疑似ボーナス状態ST4において第1エンディングフラグ76bに「1」がセットされたとしても、遊技内容が変更されることはなく更に演出の実行態様も変更されない。
ステップS2001にて肯定判定をした場合、ステップS2002にて否定判定をした場合、又はステップS2003の処理を実行した場合、主側RAM74の遊技区間エリア76に設けられた第2エンディングフラグ76cに「1」がセットされているか否かを判定する(ステップS2004)。既に説明したとおり、第2エンディングフラグ76cは、合計獲得数カウンタ74sを利用して計測されている遊技媒体の制限付きの合計純増枚数が上限純増枚数に到達する可能性が高いことを主側MPU72にて特定するためのフラグである。
第2エンディングフラグ76cに「1」がセットされていない場合(ステップS2004:NO)、疑似ボーナス継続カウンタ74tの値とAT継続カウンタ74uの値との和に疑似ボーナス状態ST4及びAT状態ST5における遊技媒体の獲得期待値を積算した結果の値を合計獲得数カウンタ74sの値に加算した結果が第2区間SC2の上限純増枚数以上となっているか否かを判定する(ステップS2005)。疑似ボーナス状態ST4及びAT状態ST5の1ゲームにおける遊技媒体の獲得期待値は約5枚である。第2区間SC2の上限純増枚数は既に説明したとおり2400枚に設定されている。なお、第2区間SC2の上限純増枚数は2400枚に限定されることはなく、2400枚よりも少ない枚数であってもよく、2400枚よりも多い枚数であってもよい。
ステップS2005にて肯定判定をした場合、第2エンディングフラグ76cに「1」をセットする(ステップS2006)。第2エンディングフラグ76cに「1」がセットされた場合、詳細は後述するが疑似ボーナス状態ST4においてAT状態ST5への移行条件が成立しない状態となるとともに、AT状態ST5において残りの継続ゲーム数の上乗せが発生しない状態となり、さらに疑似ボーナス状態ST4又はAT状態ST5が終了して通常遊技状態ST1に移行する場合には確実に第2区間SC2が終了して第1区間SC1に移行することとなる。これにより、第2区間SC2のエンディング条件が成立することとなる状況において、AT状態ST5への移行条件が成立してしまわないようにすることが可能となるとともに、AT状態ST5の残りの継続ゲーム数の更なる上乗せが発生してしまわないようにすることが可能となる。なお、第2エンディングフラグ76cに「1」がセットされる状況は疑似ボーナス状態ST4又はAT状態ST5において発生するが、通常遊技状態ST1、第1CB状態ST2又は第2CB状態ST3においては発生しない。また、疑似ボーナス状態ST4において第2エンディングフラグ76cに「1」がセットされたとしても、遊技内容が変更されることはなく更に演出の実行態様も変更されない。
<通常遊技状態ST1について>
次に、通常遊技状態ST1における処理内容ついて説明する。図38は主側MPU72にて実行されるゲーム開始時の有利抽選処理を示すフローチャートである。ゲーム開始時の有利抽選処理は役の抽選処理(図18)において役の当否判定が完了した後であって遊技区間の第1制御処理(ステップS913)よりも前に実行される処理であるステップS912にて実行される。
ゲーム開始時の有利抽選処理では、まず主側RAM74の遊技区間エリア76における第2区間フラグ76aに「1」がセットされているか否かを判定する(ステップS2101)。第2区間フラグ76aに「1」がセットされていない場合には(ステップS2101:NO)、ステップS2102以降の処理を実行しない。これにより、第1区間SC1である場合には、ステップS2106以降における遊技状態を疑似ボーナス状態ST4に移行させるための処理が実行されないことになる。
第2区間フラグ76aに「1」がセットされている場合(ステップS2101:YES)、現状の遊技状態が疑似ボーナス状態ST4又はAT状態ST5であれば(ステップS2102:YES)、ゲーム開始時の有利状態用処理を実行する(ステップS2103)。当該ゲーム開始時の有利状態用処理は後に説明する。
第2区間フラグ76aに「1」がセットされている場合であって(ステップS2101:YES)、遊技状態が疑似ボーナス状態ST4及びAT状態ST5のいずれでもない場合(ステップS2102:NO)、現状の遊技状態が第1CB状態ST2又は第2CB状態ST3であるか否かを判定する(ステップS2104)。既に説明したとおり、主側MPU72は、遊技状態エリア77における第1CB状態フラグ77aに「1」がセットされている場合に第1CB状態ST2であることを把握するとともに、第2CB状態フラグ77bに「1」がセットされている場合に第2CB状態ST3であることを把握する。現状の遊技状態が第1CB状態ST2又は第2CB状態ST3である場合には(ステップS2104:YES)、ステップS2105以降の処理を実行しない。これにより、第2区間SC2であったとしても第1CB状態ST2又は第2CB状態ST3である場合には、ステップS2106以降における遊技状態を疑似ボーナス状態ST4に移行させるための処理が実行されないことになる。
現状の遊技状態が第1CB状態ST2及び第2CB状態ST3のいずれでもない場合(ステップS2104:NO)、主側RAM74のベット数設定カウンタ74bの値が「3」であるか否かを判定することで、今回のゲームのベット数が「3」であるか否かを判定する(ステップS2105)。今回のゲームのベット数が「2」である場合には(ステップS2105:NO)、ステップS2106以降の処理を実行しない。これにより、第2区間SC2であったとしてもベット数が「2」であるゲームにおいては、ステップS2106以降における遊技状態を疑似ボーナス状態ST4に移行させるための処理が実行されないことになる。
今回のゲームのベット数が「3」である場合(ステップS2105:YES)、継続ゲーム数カウンタ74rの値が基準ゲーム数以上であるか否かを判定するとともに(ステップS2106)、合計獲得数カウンタ74sの値が基準獲得数以上であるか否かを判定する(ステップS2107)。継続ゲーム数カウンタ74rは既に説明したとおり、第1区間SC1を間に挟むことなく第2区間SC2が継続された場合における当該第2区間SC2の開始時からのゲームの実行回数を主側MPU72にて特定するためのカウンタである。第2区間SC2において継続ゲーム数カウンタ74rの値が上限ゲーム数(具体的には1500ゲーム)に対応する値に到達した場合には、疑似ボーナス状態ST4の途中であっても、当該到達したゲームにて第2区間SC2が終了されて、第1区間SC1であって通常遊技状態ST1となる。また、合計獲得数カウンタ74sは既に説明したとおり、第1区間SC1を間に挟むことなく第2区間SC2が継続された場合における当該第2区間SC2の開始時からの遊技媒体の制限付き合計純増枚数を主側MPU72にて特定するためのカウンタである。なお、遊技媒体の制限付き合計純増枚数とは、既に説明したとおり、「第2区間SC2が継続している状況で実行されたゲームにより付与された遊技媒体の合計数(遊技媒体の付与が発生していない状況では「0」)」から「第2区間SC2が継続されている状況でゲームを実行するために消化された遊技媒体の合計数(ゲームが実行されていない状況では「0」)」を減算した値を所定差枚数とした場合において、当該所定差枚数の最小値を所定基準値として、当該所定基準値からの上記所定差枚数の増加分の枚数のことである。第2区間SC2において合計獲得数カウンタ74sの値が上限純増枚数(具体的には2400枚)に対応する値に到達した場合には、疑似ボーナス状態ST4の途中であっても、当該到達したゲームにて第2区間SC2が終了されて、第1区間SC1であって通常遊技状態ST1となる。
基準ゲーム数は、第2区間SC2の上限ゲーム数である1500ゲームよりも少ないゲーム数として設定されており、具体的には1450ゲームとなっている。基準獲得数は、第2区間SC2の上限純増枚数である2400枚よりも少ない数として設定されており、具体的には2150枚となっている。
継続ゲーム数カウンタ74rの値が基準ゲーム数以上である場合(ステップS2106:YES)、又は合計獲得数カウンタ74sの値が基準獲得数以上である場合(ステップS2107:YES)、主側RAM74に設けられた第3移行確定フラグに「1」をセットする(ステップS2108)。第3移行確定フラグは、第2区間SC2における上限ゲーム数が基準ゲーム数以上となっていること又は第2区間SC2における遊技媒体の制限付き合計純増枚数が基準獲得数以上となっていることに起因して疑似ボーナス状態ST4への移行が確定しているか否かを主側MPU72にて特定するためのフラグである。
第3移行確定フラグに「1」がセットされた場合、今回のゲームが終了する場合に遊技状態を疑似ボーナス状態ST4に移行させるための処理が実行される。つまり、通常遊技状態ST1において第2区間SC2のエンディング条件の成立が近い期間である終了前期間となった場合には強制的に疑似ボーナス状態ST4となる。これにより、通常遊技状態ST1において当該終了前期間に到達したことに対して疑似ボーナス状態ST4の発生という利益を付与することが可能となる。第3移行確定フラグに「1」がセットされたことを契機として開始される疑似ボーナス状態ST4はその開始時に継続ゲーム数として50ゲームがセットされる。この開始時にセットされる継続ゲーム数は、第2区間SC2の上限ゲーム数である1500ゲームと基準ゲーム数である1450ゲームとの差のゲーム数となっている。また、疑似ボーナス状態ST4の1ゲームにおける遊技媒体の獲得期待値は既に説明したとおり約5枚であるため、上記開始時にセットされる継続ゲーム数と当該獲得期待値との積は、第2区間SC2の上限純増枚数である2400枚と基準獲得数である2150枚との差と同一又は略同一となっている。
ステップS2108の処理を実行した後は、各種クリア処理を実行する(ステップS2109)。各種クリア処理では、主側RAM74に設けられた第2移行確定フラグ及び移行待機カウンタの値をそれぞれ「0」クリアする。第2移行確定フラグは後述する移行抽選処理(ステップS2112)にて移行当選となることで「1」がセットされるフラグであり、移行待機カウンタは第2移行確定フラグに「1」がセットされてから移行待機ゲーム数(具体的には5ゲーム)が消化されたことを主側MPU72にて特定するためのカウンタである。移行抽選処理(ステップS2112)にて移行当選となることで第2移行確定フラグに「1」がセットされるだけではなく移行待機カウンタに移行待機ゲーム数に対応する値がセットされ、第2移行確定フラグに「1」がセットされている状況で1ゲームが消化される度に移行待機カウンタの値が1減算される。そして、第2移行確定フラグに「1」がセットされている状況において移行待機カウンタの値が「0」となることで遊技状態が疑似ボーナス状態ST4に移行する。したがって、移行抽選処理(ステップS2112)にて移行当選となった後に移行待機ゲーム数が消化されることで疑似ボーナス状態ST4への移行が発生することとなる。この場合に、上記のとおり第3移行確定フラグに「1」がセットされた場合には、第2移行確定フラグにその時点で「1」がセットされていたとしても当該第2移行確定フラグが「0」クリアされる。これにより、第3移行確定フラグに「1」がセットされたことを契機とした疑似ボーナス状態ST4の発生を、第2移行確定フラグに「1」がセットされたことを契機とした疑似ボーナス状態ST4の発生よりも優先させることが可能となる。
継続ゲーム数カウンタ74rの値が基準ゲーム数未満であって合計獲得数カウンタ74sの値が基準獲得数未満である場合(ステップS2106及びステップS2107:NO)、主側RAM74の第2移行確定フラグに「1」がセットされていないことを条件として(ステップS2110:NO)、今回の役の抽選処理(図18)にてインデックス値IV=11~15のいずれかに当選したか否かを判定する(ステップS2111)。ステップS2111にて肯定判定をした場合、移行抽選処理を実行する(ステップS2112)。移行抽選処理では、主側ROM73に設けられた移行抽選用テーブル及び主側RAM74において定期的に更新される抽選カウンタを利用して、疑似ボーナス状態ST4に移行させるか否かを抽選により決定する。今回のゲームにおける役の抽選処理(図18)にて、インデックス値IV=11に当選している場合には20%の確率で疑似ボーナス状態ST4の移行当選となり、インデックス値IV=12に当選している場合には10%の確率で疑似ボーナス状態ST4の移行当選となり、インデックス値IV=13に当選している場合には40%の確率で疑似ボーナス状態ST4の移行当選となり、インデックス値IV=14に当選している場合には30%の確率で疑似ボーナス状態ST4の移行当選となり、インデックス値IV=15に当選している場合には20%の確率で疑似ボーナス状態ST4の移行当選となる。この場合、役の抽選処理(図18)にて当選となる確率が低いインデックス値IVほど疑似ボーナス状態ST4の移行当選となる確率が高くなっている。これにより、役の抽選処理(図18)にて当選確率が低いインデックス値IVに当選したことの有利度を高めることが可能となる。
移行抽選処理にて疑似ボーナス状態ST4の移行当選となった場合(ステップS2113:YES)、ステップS2114~ステップS2115にて疑似ボーナス状態ST4の種類を決定するためのボーナス種類の決定処理を実行する。疑似ボーナス状態ST4には相対的に有利度が高いビッグボーナスと相対的に有利度が低いレギュラーボーナスとが設定されている。ビッグボーナスはベット数が「3」であるゲームが50回実行されるまで継続する疑似ボーナス状態ST4であり、レギュラーボーナスはベット数が「3」であるゲームが20回実行れるまで継続する疑似ボーナス状態ST4である。なお、ビッグボーナスの方がレギュラーボーナスよりも相対的に有利であれば上記各ゲーム数は任意である。また、ビッグボーナスの方がレギュラーボーナスよりも相対的に有利であれば両ボーナスにおいて継続ゲーム数が同一であるものの、1回のゲームにおける遊技媒体の獲得期待値がレギュラーボーナスよりもビッグボーナスの方が高いことにより、ビッグボーナスの方がレギュラーボーナスよりも相対的に有利である構成としてもよい。
ボーナス種類の決定処理では、まずボーナス種類抽選処理を実行する(ステップS2114)。ボーナス種類抽選処理では、主側ROM73に設けられた種類抽選用テーブル及び主側RAM74において定期的に更新される抽選カウンタを利用して、今回移行当選となった疑似ボーナス状態ST4の種類をビッグボーナス及びレギュラーボーナスのいずれにするのかを決定する。種類抽選用テーブルは、今回の役の抽選処理(図18)の結果に関係なくビッグボーナス及びレギュラーボーナスの選択確率がそれぞれ50%となるように設定されているが、これに限定されることはなく、ビッグボーナスの方がレギュラーボーナスよりも選択確率が高い構成としてもよく、レギュラーボーナスの方がビッグボーナスよりも選択確率が高い構成としてもよく、今回の役の抽選処理(図18)の結果に応じてビッグボーナス及びレギュラーボーナスの選択割合が変動する構成としてもよい。
その後、ビッグ当選フラグ設定処理を実行する(ステップS2115)。ビッグ当選フラグ設定処理では、ステップS2114におけるボーナス種類抽選処理にてビッグボーナスを選択した場合、主側RAM74に設けられたビッグ当選フラグに「1」をセットする。ビッグ当選フラグはボーナス種類抽選処理にてビッグボーナスが選択されたことを主側MPU72にて特定するためのフラグである。また、ビッグ当選フラグ設定処理では、ステップS2114におけるボーナス種類抽選処理にてレギュラーボーナスを選択した場合、主側RAM74のビッグ当選フラグを「0」クリアする。
その後、主側RAM74に設けられた第2移行確定フラグに「1」をセットするとともに(ステップS2116)、主側RAM74に設けられた移行待機カウンタに移行待機ゲーム数(具体的には5ゲーム)に対応する値をセットして(ステップS2117)、本ゲーム開始時の有利抽選処理を終了する。第2移行確定フラグは移行抽選処理(ステップS2112)にて移行当選となったか否かを主側MPU72にて特定するためのフラグであり、移行待機カウンタは第2移行確定フラグに「1」がセットされてから移行待機ゲーム数(具体的には5ゲーム)が消化されたことを主側MPU72にて特定するためのカウンタである。移行抽選処理(ステップS2112)にて移行当選となることで第2移行確定フラグに「1」がセットされるだけではなく移行待機カウンタに移行待機ゲーム数に対応する値がセットされ、第2移行確定フラグに「1」がセットされている状況で1ゲームが消化される度に移行待機カウンタの値が1減算される。そして、第2移行確定フラグに「1」がセットされている状況において移行待機カウンタの値が「0」となることで遊技状態が疑似ボーナス状態ST4に移行する。したがって、移行抽選処理(ステップS2112)にて移行当選となった後に移行待機ゲーム数が消化されることで疑似ボーナス状態ST4への移行が発生することとなる。
次に、主側MPU72にて実行される通常用処理について図39のフローチャートを参照しながら説明する。通常用処理は遊技終了時の対応処理(図32)におけるステップS1504にて実行される。上記のとおり遊技終了時の対応処理は1ゲームにおけるリール32L,32M,32Rの回転が全て停止した後に実行されるため、通常用処理も1ゲームにおけるリール32L,32M,32Rの回転が全て停止した後に実行される。
主側RAM74の遊技区間エリア76の第2区間フラグ76aに「1」がセットされており現状の遊技区間が第2区間SC2である場合(ステップS2201:YES)、主側RAM74の第1移行確定フラグに「1」がセットされているか否かを判定する(ステップS2202)。今回のゲームの開始時において第2区間SC2への移行が発生しているとともにその移行の決定に際して実行された直撃抽選処理(ステップS1706)にて直撃当選となっている場合、第1移行確定フラグに「1」がセットされている。
第1移行確定フラグに「1」がセットされている場合(ステップS2202:YES)、第1開始設定処理を実行する(ステップS2203)。第1開始設定処理では、主側RAM74の遊技状態エリア77における疑似ボーナス状態フラグ77cに「1」をセットする。疑似ボーナス状態フラグ77cは、遊技状態が疑似ボーナス状態ST4であるか否かを主側MPU72にて特定するためのフラグである。また、第1開始設定処理では、主側RAM74における疑似ボーナス継続カウンタ74tに疑似ボーナス状態ST4の初期継続ゲーム数としてビッグボーナスの継続ゲーム数である50ゲームに対応する値をセットする。つまり、疑似ボーナス状態ST4として相対的に有利度が高低となるビッグボーナスとレギュラーボーナスとが設定されている構成において、直撃抽選処理(ステップS1706)にて直撃当選となることで疑似ボーナス状態ST4に移行する場合にはビッグボーナスに移行することとなる。既に説明したとおり、疑似ボーナス継続カウンタ74tは、疑似ボーナス状態ST4の残りの継続ゲーム数を主側MPU72にて特定するためのカウンタである。
第1移行確定フラグに「1」がセットされていない場合(ステップS2202:NO)、主側RAM74の第3移行確定フラグに「1」がセットされているか否かを判定する(ステップS2204)。第3移行確定フラグは既に説明したとおり、第2区間SC2における継続ゲーム数が基準ゲーム数以上となっていること又は第2区間SC2における遊技媒体の制限付き合計純増枚数が基準獲得数以上となっていることに起因して疑似ボーナス状態ST4への移行が確定しているか否かを主側MPU72にて特定するためのフラグである。
第3移行確定フラグに「1」がセットされている場合(ステップS2204:YES)、第2開始設定処理を実行する(ステップS2205)。第2開始設定処理では、主側RAM74の遊技状態エリア77における疑似ボーナス状態フラグ77cに「1」をセットする。また、第2開始設定処理では、主側RAM74の疑似ボーナス継続カウンタ74tに疑似ボーナス状態ST4の初期継続ゲーム数としてビッグボーナスの継続ゲーム数である50ゲームに対応する値をセットする。つまり、疑似ボーナス状態ST4として相対的に有利度が高低となるビッグボーナスとレギュラーボーナスとが設定されている構成において、第2区間SC2における継続ゲーム数が基準ゲーム数以上となっていること又は第2区間SC2における遊技媒体の制限付き合計純増枚数が基準獲得数以上となっていることに起因して疑似ボーナス状態ST4に移行する場合にはビッグボーナスに移行することとなる。
第3移行確定フラグに「1」がセットされていない場合(ステップS2204:NO)、第1CB状態フラグ77a及び第2CB状態フラグ77bを参照することにより、現状の遊技状態が第1CB状態ST2又は第2CB状態ST3であるか否かを判定する(ステップS2206)。現状の遊技状態が第1CB状態ST2又は第2CB状態ST3である場合には(ステップS2206:YES)、ステップS2207以降の処理を実行しない。ステップS2207以降の処理では、疑似ボーナス状態ST4に移行させるために必要なゲーム数を1ゲームの消化に伴い減算する処理を実行するとともにゲームの消化に伴い疑似ボーナス状態ST4への移行条件が成立した場合には当該疑似ボーナス状態ST4に移行させるための処理を実行する。この場合に、第1CB状態ST2又は第2CB状態ST3である場合にはステップS2207以降の処理を実行しないことにより、第1CB状態ST2又は第2CB状態ST3においてゲームが消化されたとしても、それが疑似ボーナス状態ST4への移行を近づける要因とならないようにすることが可能となる。
現状の遊技状態が第1CB状態ST2及び第2CB状態ST3のいずれでもない場合(ステップS2206:NO)、主側RAM74のベット数設定カウンタ74bの値が「3」であるか否かを判定することで、今回のゲームのベット数が「3」であるか否かを判定する(ステップS2207)。今回のゲームのベット数が「2」である場合には(ステップS2207:NO)、ステップS2208以降の処理を実行しない。既に説明したとおりステップS2208以降の処理では、疑似ボーナス状態ST4に移行させるために必要なゲーム数を1ゲームの消化に伴い減算する処理を実行するとともにゲームの消化に伴い疑似ボーナス状態ST4への移行条件が成立した場合には当該疑似ボーナス状態ST4に移行させるための処理を実行する。この場合に、ベット数が「2」であるゲームが実行された場合にはステップS2208以降の処理を実行しないことにより、ベット数が「2」であるゲームが消化されたとしても、それが疑似ボーナス状態ST4への移行を近づける要因とならないようにすることが可能となる。
今回のゲームのベット数が「3」である場合(ステップS2207:YES)、主側RAM74の第2移行確定フラグに「1」がセットされているか否かを判定する(ステップS2208)。第2移行確定フラグは既に説明したとおり移行抽選処理(ステップS2112)にて移行当選となったか否かを主側MPU72にて特定するためのフラグである。
第2移行確定フラグに「1」がセットされている場合(ステップS2208:YES)、主側RAM74の移行待機カウンタの値を1減算する(ステップS2209)。移行待機カウンタは既に説明したとおり第2移行確定フラグに「1」がセットされてから移行待機ゲーム数(具体的には5ゲーム)が消化されたことを主側MPU72にて特定するためのカウンタである。1減算後における移行待機カウンタの値が「0」である場合(ステップS2210:YES)、ステップS2213~ステップS2217における第3開始設定処理を実行する。詳細は後述するが、第3開始設定処理では疑似ボーナス状態ST4に移行させるための処理を実行する。
第2移行確定フラグに「1」がセットされていない場合(ステップS2208:NO)、主側RAM74の解除ゲーム数カウンタの値を1減算する(ステップS2211)。解除ゲーム数カウンタは、主側RAM74の第1~第3移行確定フラグのいずれにも「1」がセットされていない状況において疑似ボーナス状態ST4に移行させるために必要なゲーム数である残りの解除ゲーム数を主側MPU72にて特定するためのカウンタである。遊技区間が第1区間SC1から第2区間SC2に移行した場合において直撃抽選処理(ステップS1706)にて直撃当選とならなかった場合に解除ゲーム数カウンタに対する解除ゲーム数のセットが行われるとともに、AT状態ST5が終了した後に第2区間SC2が維持される場合にも解除ゲーム数カウンタに対する解除ゲーム数のセットが行われる。
1減算後における解除ゲーム数カウンタの値が「0」である場合(ステップS2212:YES)、ステップS2213~ステップS2217にて第3開始設定処理を実行する。詳細は後述するが、第3開始設定処理では疑似ボーナス状態ST4に移行させるための処理を実行する。
ステップS2213~ステップS2217における第3開始設定処理では、まず主側RAM74の遊技状態エリア77における疑似ボーナス状態フラグ77cに「1」をセットする(ステップS2213)。その後、主側RAM74のビッグ当選フラグに「1」がセットされているか否か、又は主側RAM74の解除ゲーム数カウンタの値が「0」であるか否かを判定する(ステップS2214)。既に説明したとおり移行抽選処理(ステップS2112)にて移行当選となった場合においてボーナス種類抽選処理(ゲーム開始時の有利抽選処理(図38)のステップS2114)にてビッグボーナスが選択された場合にビッグ当選フラグに「1」がセットされる。また、解除ゲーム数カウンタは既に説明したとおり主側MPU72にて解除ゲーム数を計測するためのカウンタであり、解除ゲーム数カウンタの値が「0」である状況は解除ゲーム数が「0」となったことで疑似ボーナス状態ST4への移行契機が発生したことを意味する。
ステップS2214にて肯定判定をした場合、主側RAM74の疑似ボーナス継続カウンタ74tに「50」をセットする(ステップS2215)。これにより、今回発生する疑似ボーナス状態ST4はビッグボーナスとなる。その後、主側RAM74のビッグ当選フラグに「1」がセットされているか否かに関係なく当該ビッグ当選フラグを「0」クリアして(ステップS2216)、本通常用処理を終了する。一方、ステップS2214にて否定判定をした場合、主側RAM74の疑似ボーナス継続カウンタ74tに「20」をセットして(ステップS2217)、本通常用処理を終了する。ステップS2217にて疑似ボーナス継続カウンタ74tに「20」がセットされることにより、今回発生する疑似ボーナス状態ST4はレギュラーボーナスとなる。
<有利遊技状態について>
次に、疑似ボーナス状態ST4及びAT状態ST5における処理内容について説明する。図40は主側MPU72にて実行されるゲーム開始時の有利状態用処理を示すフローチャートである。ゲーム開始時の有利抽選処理は既に説明したとおり役の抽選処理(図18)において役の当否判定が完了した後であって遊技区間の第1制御処理(ステップS913)よりも前に実行される処理であるステップS912にて実行される。そして、ゲーム開始時の有利状態用処理はゲーム開始時の有利抽選処理(図38)におけるステップS2103にて実行される。
ゲーム開始時の有利状態用処理では、まず主側RAM74のベット数設定カウンタ74bの値が「3」であるか否かを判定することで、今回のゲームのベット数が「3」であるか否かを判定する(ステップS2301)。今回のゲームのベット数が「2」である場合には(ステップS2301:NO)、ステップS2302以降の処理を実行しない。これにより、疑似ボーナス状態ST4又はAT状態ST5であったとしてもベット数が「2」であるゲームにおいては、ステップS2302以降における処理が実行されないことになる。
今回のゲームのベット数が「3」である場合(ステップS2301:YES)、第1CB状態フラグ77a及び第2CB状態フラグ77bを参照することにより、現状の遊技状態が第1CB状態ST2又は第2CB状態ST3であるか否かを判定する(ステップS2302)。現状の遊技状態が第1CB状態ST2又は第2CB状態ST3である場合には(ステップS2302:YES)、ステップS2303以降の処理を実行しない。これにより、主側RAM74の疑似ボーナス状態フラグ77c又はAT状態フラグ77dに「1」がセットされている状況であっても第1CB状態ST2又は第2CB状態ST3である場合には、ステップS2303以降における処理が実行されないことになる。
現状の遊技状態が第1CB状態ST2及び第2CB状態ST3ではない場合(ステップS2302:NO)、主側RAM74の遊技区間エリア76における第1エンディングフラグ76b及び第2エンディングフラグ76cのいずれかに「1」がセットされているか否かを判定する(ステップS2303)。第1エンディングフラグ76bは既に説明したとおり、継続ゲーム数カウンタ74rを利用して計測されている第2区間SC2におけるゲームの実行回数が上限ゲーム数に到達することを主側MPU72にて特定するためのフラグである。第2エンディングフラグ76cは既に説明したとおり、合計獲得数カウンタ74sを利用して計測されている遊技媒体の制限付きの合計純増枚数が上限純増枚数に到達する可能性が高いことを主側MPU72にて特定するためのフラグである。第1エンディングフラグ76b及び第2エンディングフラグ76cのいずれかに「1」がセットされている場合には(ステップS2303:YES)、ステップS2304以降の処理を実行しない。これにより、第2区間SC2におけるゲームの実行回数が上限ゲーム数に到達する状況、又は遊技媒体の制限付きの合計純増枚数が上限純増枚数に到達する可能性が高い状況においては、ステップS2304~ステップS2309におけるAT状態ST5に移行させるか否かを決定するための処理、及びステップS2310~ステップS2313におけるAT状態ST5の継続ゲーム数を上乗せするための処理が実行されないことになる。
第1エンディングフラグ76b及び第2エンディングフラグ76cのいずれにも「1」がセットされていない場合(ステップS2303:NO)には、主側RAM74の遊技状態エリア77における疑似ボーナス状態フラグ77cに「1」がセットされているか否かを判定することで、現状の遊技状態が疑似ボーナス状態ST4であるか否かを判定する(ステップS2304)。現状の遊技状態が疑似ボーナス状態ST4である場合(ステップS2304:YES)、主側RAM74の遊技状態エリア77に設けられたAT移行確定フラグ77fに「1」がセットされているか否かを判定する(ステップS2305)。既に説明したとおり、AT移行確定フラグ77fは、疑似ボーナス状態ST4において既にAT状態ST5への移行条件が成立しているか否かを主側MPU72にて特定するためのフラグである。AT移行確定フラグ77fに既に「1」がセットされている場合(ステップS2305:YES)、すなわち今回の疑似ボーナス状態ST4において既にAT状態ST5への移行条件が成立している場合には、ステップS2306以降におけるAT状態ST5に移行させるか否かを決定するための処理を実行しない。
AT移行確定フラグ77fに「1」がセットされていない場合(ステップS2305:NO)、今回のゲームにおける役の抽選処理(図18)にてインデックス値IV=11~15のいずれかに当選していることを条件として(ステップS2306:YES)、AT移行抽選処理を実行する(ステップS2307)。AT移行抽選処理では、主側ROM73に設けられたAT移行抽選用テーブル及び主側RAM74において定期的に更新される抽選カウンタを利用して、今回の疑似ボーナス状態ST4の終了後にAT状態ST5に移行させるか否かを抽選により決定する。今回のゲームにおける役の抽選処理(図18)にて、インデックス値IV=11に当選している場合には20%の確率でAT移行当選となり、インデックス値IV=12に当選している場合には10%の確率でAT移行当選となり、インデックス値IV=13に当選している場合には40%の確率でAT移行当選となり、インデックス値IV=14に当選している場合には30%の確率でAT移行当選となり、インデックス値IV=15に当選している場合には20%の確率でAT移行当選となる。この場合、役の抽選処理(図18)にて当選となる確率が低いインデックス値IVほどAT移行当選となる確率が高くなっている。これにより、役の抽選処理(図18)にて当選確率が低いインデックス値IVに当選したことの有利度を高めることが可能となる。その後、AT移行当選となった場合(ステップS2308:YES)には、AT移行確定フラグ77fに「1」をセットする(ステップS2309)。
既に説明したとおり、本ゲーム開始時の有利状態用処理(図40)は、ゲーム開始時の有利抽選処理(図38)にて疑似ボーナス状態ST4又はAT状態ST5であること(ステップS2102:YES)を条件として実行される(ステップS2103)。現状の遊技状態が疑似ボーナス状態ST4ではない場合(ステップS2304:NO)、すなわち現状の遊技状態がAT状態ST5である場合には、CALL命令により開始時上乗せ用処理を実行するためのプログラムを呼び出し、開始時上乗せ用処理を実行する(ステップS2310)。ステップS2310にてCALL命令により開始時上乗せ用処理を実行するためのプログラムを呼び出す場合、当該ステップS2310の次のステップS2311の処理に復帰するための戻り番地の情報が主側RAM74のスタックエリアに記憶される。ステップS2310~ステップS2313は、AT状態ST5の継続ゲーム数を上乗せするための処理である。なお、ステップS2310~ステップS2313の処理の詳細については後述する。
次に、主側MPU72にて実行される疑似ボーナス用処理について図41のフローチャートを参照しながら説明する。疑似ボーナス用処理は遊技終了時の対応処理(図32)におけるステップS1505にて実行される。上記のとおり遊技終了時の対応処理は1ゲームにおけるリール32L,32M,32Rの回転が全て停止した後に実行されるため、疑似ボーナス用処理も1ゲームにおけるリール32L,32M,32Rの回転が全て停止した後に実行される。
疑似ボーナス用処理では、まず主側RAM74のベット数設定カウンタ74bの値が「3」であるか否かを判定することで、今回のゲームのベット数が「3」であるか否かを判定する(ステップS2401)。今回のゲームのベット数が「2」である場合には(ステップS2401:NO)、ステップS2402以降の処理を実行しない。これにより、疑似ボーナス状態ST4においてベット数が「2」であるゲームが実行されたとしても、疑似ボーナス状態ST4の残りの継続ゲーム数が減算されない。
なお、CB状態(第1CB状態ST2又は第2CB状態ST3)である場合には疑似ボーナス用処理(図41)自体が実行されないため、疑似ボーナス状態ST4の途中でCB状態が開始されたとしてもCB状態において実行されたゲーム数は疑似ボーナス状態ST4において消化されたゲーム数として扱われない。したがって、疑似ボーナス状態ST4の途中でCB状態に移行したとしても当該CB状態の終了後には当該CB状態に移行する直前の残りの継続ゲーム数の状態から疑似ボーナス状態ST4が再開されることとなる。
今回のゲームのベット数が「3」である場合(ステップS2401:YES)、主側RAM74の疑似ボーナス継続カウンタ74tの値を1減算する(ステップS2402)。その後、当該疑似ボーナス継続カウンタ74tの値が「0」となっているか否かを判定する(ステップS2403)。疑似ボーナス継続カウンタ74tの値が「0」となっている場合(ステップS2403:YES)、主側RAM74の遊技状態エリア77におけるAT移行確定フラグ77fに「1」がセットされているか否かを判定する(ステップS2404)。
AT移行確定フラグ77fに「1」がセットされている場合(ステップS2404:YES)、今回の疑似ボーナス状態ST4においてAT状態ST5への移行条件が成立したことを意味する。この場合、まず主側RAM74の疑似ボーナス状態フラグ77cを「0」クリアする(ステップS2405)。その後、主側RAM74に設けられたAT状態カウンタにAT状態ST5の初期継続ゲーム数である「50」に対応する情報をセットし(ステップS2406)、主側RAM74の遊技状態エリア77におけるAT状態フラグ77dに「1」をセットして(ステップS2407)、本疑似ボーナス用処理を終了する。
AT移行確定フラグ77fに「1」がセットされていない場合(ステップS2404:NO)には、終了準備状態ST6の設定処理を実行する(ステップS2408)。当該設定処理では、主側RAM74の遊技状態エリア77における疑似ボーナス状態フラグ77cを「0」クリアする。また、当該設定処理では、主側RAM74の遊技状態エリア77に設けられた終了準備状態フラグ77eに「1」をセットする。既に説明したとおり、終了準備状態フラグ77eは終了準備状態ST6であることを主側MPU72にて特定するためのフラグであり、終了準備状態フラグ77eに「1」がセットされることで遊技状態が終了準備状態ST6となる。その後、主側RAM74の終了準備完了フラグを「0」クリアして(ステップS2409)、本疑似ボーナス用処理を終了する。終了準備完了フラグは既に説明したとおり終了準備状態ST6において1ゲームが実行されたか否かを主側MPU72にて特定するためのフラグである。
終了準備状態ST6では既に説明したとおり、遊技区間の第2制御処理(図36)におけるステップS1902にて肯定判定をして、終了準備完了フラグに「1」がセットされていない場合には(ステップS1903:NO)、終了準備完了フラグに「1」をセットした後に第2区間SC2のエンディング条件の成立の有無を特定するための処理を実行し、今回のゲームにおける遊技区間の第2制御処理(図36)を終了する。一方、終了準備完了フラグに「1」がセットされている場合(ステップS1903:YES)、第2区間SC2を終了させて第1区間SC1に移行させるための処理を実行する(ステップS1915~ステップS1916)。これにより、疑似ボーナス状態ST4が終了したゲームの次のゲームが終了する場合に第2区間SC2が終了することとなる。
次に、主側MPU72にて実行されるAT用処理について図42のフローチャートを参照しながら説明する。AT用処理は遊技終了時の対応処理(図32)におけるステップS1506にて実行される。既に説明したとおり、遊技終了時の対応処理は1ゲームにおけるリール32L,32M,32Rの回転が全て停止した後に実行されるため、AT用処理も1ゲームにおけるリール32L,32M,32Rの回転が全て停止した後に実行される。
AT用処理では、まず主側RAM74のベット数設定カウンタ74bの値が「3」であるか否かを判定することで、今回のゲームのベット数が「3」であるか否かを判定する(ステップS2501)。今回のゲームのベット数が「2」である場合には(ステップS2501:NO)、ステップS2502以降の処理を実行しない。これにより、AT状態ST5においてベット数が「2」であるゲームが実行されたとしても、AT状態ST5の残りの継続ゲーム数が減算されることはない。
なお、CB状態(第1CB状態ST2又は第2CB状態ST3)である場合にはAT用処理(図42)自体が実行されないため、AT状態ST5の途中でCB状態が開始されたとしてもCB状態において実行されたゲーム数はAT状態ST5において消化されたゲーム数として扱われない。したがって、AT状態ST5の途中でCB状態に移行したとしても当該CB状態の終了後には当該CB状態に移行する直前の残りの継続ゲーム数の状態からAT状態ST5が再開されることとなる。
今回のゲームのベット数が「3」である場合(ステップS2501:YES)、主側RAM74のAT継続カウンタ74uの値を1減算し(ステップS2502)、その1減算後のAT継続カウンタ74uの値が「0」となっているか否かを判定する(ステップS2503)。AT継続カウンタ74uの値が「0」となっている場合(ステップS2503:YES)、主側RAM74の遊技状態エリア77における第1エンディングフラグ76b及び第2エンディングフラグ76cのいずれかに「1」がセットされているか否かを判定する(ステップS2504)。第1エンディングフラグ76b及び第2エンディングフラグ76cの値が共に「0」である場合(ステップS2504:NO)、主側RAM74の遊技状態エリア77におけるAT状態フラグ77dを「0」クリアする(ステップS2505)。これにより、AT状態ST5が終了したことを主側MPU72にて把握可能とすることができる。
その後、既に説明した遊技区間の第1制御処理(図34)のステップS1710と同様に、CALL命令により解除ゲーム数抽選処理というサブルーチンのプログラムを呼び出すことにより解除ゲーム数抽選処理を実行する(ステップS2506)。既に説明したとおり、解除ゲーム数とは、移行抽選処理(ステップS2112)にて疑似ボーナス状態ST4への移行当選とならない場合において疑似ボーナス状態ST4への移行が発生するまでに必要なゲーム数である。ステップS2506にてCALL命令により解除ゲーム数抽選処理というサブルーチンのプログラムが呼び出される場合には、当該ステップS2506の次の処理であるステップS2507の処理に復帰するための戻り番地の情報が主側RAM74のスタックエリアに記憶される。解除ゲーム数抽選処理の内容については図35(b)のフローチャートを参照しながら既に説明したとおりである。
既に説明したとおり、解除ゲーム数抽選処理(図35(b))では、判定対象カウンタの値が「4」である場合に「50」の解除ゲーム数が判定対象となり、判定対象カウンタの値が「3」である場合に「200」の解除ゲーム数が判定対象となり、判定対象カウンタの値が「2」である場合に「400」の解除ゲーム数が判定対象となる。そして、これら「50」、「200」及び「400」の解除ゲーム数に当選しなかった場合には「600」の解除ゲーム数に当選する。ステップS2506にて呼び出した解除ゲーム数抽選処理(図35(b))を終了した場合には、主側RAM74のスタックエリアに記憶されている戻り番地の情報に基づいて、当該ステップS2506の処理の次の処理であるステップS2507の処理に復帰する。ステップS2506における解除ゲーム数抽選処理(図35(b))にて「50」の解除ゲーム数に当選した場合には判定対象カウンタの値が「4」である状態でステップS2507の処理に復帰し、「200」の解除ゲーム数に当選した場合には判定対象カウンタの値が「3」である状態でステップS2507の処理に復帰し、「400」の解除ゲーム数に当選した場合には判定対象カウンタの値が「2」である状態でステップS2507の処理に復帰し、「600」の解除ゲーム数に当選した場合には判定対象カウンタの値が「1」である状態でステップS2507の処理に復帰する。
ステップS2506にて解除ゲーム数抽選処理を実行した後、ステップS2507~ステップS2508では、既に説明した遊技区間の第1制御処理(図34)のステップS1711~ステップS1712と同様の処理を実行する。具体的には、まず解除ゲーム数カウンタの設定処理を実行する(ステップS2507)。既に説明したとおり、解除ゲーム数カウンタは、主側RAM74の第1~第3移行確定フラグのいずれにも「1」がセットされていない状況において疑似ボーナス状態ST4に移行させるために必要なゲーム数である残りの解除ゲーム数を主側MPU72にて特定するためのカウンタである。解除ゲーム数カウンタの設定処理では、解除ゲーム数抽選テーブル73c(図35(a))を参照し、判定対象カウンタの値に対応する解除ゲーム数を主側RAM74の解除ゲーム数カウンタにセットする。具体的には、判定対象カウンタの値が「4」である場合に解除ゲーム数カウンタに「50」をセットし、判定対象カウンタの値が「3」である場合に解除ゲーム数カウンタに「200」をセットし、判定対象カウンタの値が「2」である場合に解除ゲーム数カウンタに「400」をセットし、判定対象カウンタの値が「1」である場合に解除ゲーム数カウンタに「600」をセットする。その後、判定対象カウンタの値を「0」クリアして(ステップS2508)、本AT用処理を終了する。
主側RAM74の遊技区間エリア76における第1エンディングフラグ76b及び第2エンディングフラグ76cのいずれかに「1」がセットされている場合(ステップS2504:YES)、終了準備状態ST6の設定処理を実行する(ステップS2509)。終了準備状態ST6の設定処理では、主側RAM74の遊技状態エリア77におけるAT状態フラグ77dを「0」クリアする。また、当該終了準備状態ST6の設定処理では、主側RAM74の遊技状態エリア77における終了準備状態フラグ77eに「1」をセットする。終了準備状態フラグ77eは終了準備状態ST6であることを主側MPU72にて特定するためのフラグであり、終了準備状態フラグ77eに「1」がセットされることで遊技状態が終了準備状態ST6となる。その後、主側RAM74の終了準備完了フラグを「0」クリアして(ステップS2510)、本AT用処理を終了する。終了準備完了フラグは既に説明したとおり終了準備状態ST6において1ゲームが実行されたか否かを主側MPU72にて特定するためのフラグである。
終了準備状態ST6では既に説明したとおり、遊技区間の第2制御処理(図36)におけるステップS1902にて肯定判定をして、終了準備完了フラグに「1」がセットされていない場合には(ステップS1903:NO)、終了準備完了フラグに「1」をセットした後に第2区間SC2のエンディング条件の成立の有無を特定するための処理を実行し、今回のゲームにおける遊技区間の第2制御処理(図36)を終了する。一方、終了準備完了フラグに「1」がセットされている場合(ステップS1903:YES)、第2区間SC2を終了させて第1区間SC1に移行させるための処理を実行する(ステップS1915~ステップS1916)。これにより、AT状態ST5が終了したゲームの次のゲームが終了する場合に第2区間SC2が終了することとなる。
次に、主側MPU72にて実行される開始時上乗せ用処理の説明に先立ち、主側ROM73に記憶されている第1上乗せ抽選テーブル73d及び第2上乗せ抽選テーブル73eについて説明する。第1上乗せ抽選テーブル73d及び第2上乗せ抽選テーブル73eは上乗せ抽選において参照対象の抽選テーブルとして設定される。図43(a)は第1上乗せ抽選テーブル73dの内容を説明するための説明図であり、図43(b)は第2上乗せ抽選テーブル73eの内容を説明するための説明図である。
図43(a),(b)に示すように、第1上乗せ抽選テーブル73d及び第2上乗せ抽選テーブル73eには、10ゲーム、20ゲーム及び50ゲームの上乗せゲーム数が設定されている。図43(a)に示すように、第1上乗せ抽選テーブル73dを参照対象の抽選テーブルとして上乗せ抽選処理が実行される場合には、1/16の確率で10ゲームが選択され、1/16の確率で20ゲームが選択され、1/16の確率で50ゲームが選択され、13/16の確率で外れとなる。図43(b)に示すように、第2上乗せ抽選テーブル73eを参照対象の抽選テーブルとして上乗せ抽選処理が実行される場合には、1/8の確率で10ゲームが選択され、1/8の確率で20ゲームが選択され、1/8の確率で50ゲームが選択され、5/8の確率で外れとなる。このように、第2上乗せ抽選テーブル73eにおいて10ゲーム、20ゲーム又は50ゲームの上乗せゲーム数に当選する確率は、第1上乗せ抽選テーブル73dにおいて10ゲーム、20ゲーム又は50ゲームの上乗せゲーム数に当選する確率よりも高く設定されている。第2上乗せ抽選テーブル73eは第1上乗せ抽選テーブル73dよりも遊技者にとって有利な抽選テーブルである。
次に、主側MPU72にて実行される開始時上乗せ用処理について図43(c)のフローチャートを参照しながら説明する。開始時上乗せ用処理は既に説明したとおりゲーム開始時の有利状態用処理(図40)におけるステップS2310にて実行される。
開始時上乗せ用処理では、まず今回のゲームにおける役の抽選処理(図18)にてインデックス値IV=11~15のいずれかに当選しているか否かを判定する(ステップS2601)。ステップS2601では、主側RAM74のインデックス値カウンタ74fの値が「11」~「15」のいずれかである場合に肯定判定を行うとともに、インデックス値カウンタ74fの値が「0」~「10」及び「16」~「17」のいずれかである場合に否定判定を行う。ステップS2601にて否定判定を行った場合には、上乗せ抽選を実行するための処理(ステップS2602以降の処理)を実行することなく、そのまま本開始時上乗せ用処理を終了する。上乗せ抽選は、役の抽選処理(図18)にてインデックス値IV=11~15のいずれかに当選していることを条件として行われる。本開始時上乗せ用処理(図43(c))はゲーム開始時の有利状態用処理(図40)のステップS2310にて呼び出される処理であるため、開始時上乗せ用処理(図43(c))を終了した場合には、当該ステップS2310の次の処理であるステップS2311の処理に復帰する。なお、ステップS2311以降の処理については後述する。
インデックス値IV=11~15のいずれかに当選している場合(ステップS2601:YES)には、上乗せ抽選を実行するためにステップS2602~ステップS2604の処理、解除ゲーム数抽選処理(図35(b))のステップS1802~ステップS1807の処理、及びゲーム開始時の有利状態用処理(図40)のステップS2311~ステップS2313の処理を実行する。上乗せ抽選では、AT状態ST5における残りの継続ゲーム数を上乗せするか否かを判定するとともに、AT状態ST5における残りの継続ゲーム数を上乗せする場合には上乗せゲーム数を10ゲーム、20ゲーム及び50ゲームの中から選択する。
具体的には、まず上乗せ抽選における参照対象の抽選テーブルとして主側ROM73に記憶されている第1上乗せ抽選テーブル73dを設定する(ステップS2602)。その後、今回のゲームにおける役の抽選処理(図18)にてインデックス値IV=14又は15に当選しているか否かを判定し(ステップS2603)、インデックス値IV=14又は15に当選している場合(ステップS2603:YES)には上乗せ抽選における参照対象の抽選テーブルを主側ROM73に記憶されている第2上乗せ抽選テーブル73eに変更する(ステップS2604)。一方、今回のゲームにおける役の抽選処理(図18)にてインデックス値IV=11~13に当選している場合(ステップS2603:NO)、上乗せ抽選における参照対象の抽選テーブルは変更しない。既に説明したとおり、第2上乗せ抽選テーブル73eは第1上乗せ抽選テーブル73dよりも遊技者にとって有利な抽選テーブルである。役の抽選処理(図18)において第1チャンスリプレイ(IV=14)又は第2チャンスリプレイ(IV=15)が設定されているインデックス値IVに当選した場合には、第1スイカ(IV=11)、第2スイカ(IV=12)又はチェリー(IV=13)が設定されているインデックス値IVに当選した場合よりも遊技者にとって有利な抽選テーブル(第2上乗せ抽選テーブル73e)が選択される。
ステップS2603にて否定判定を行った場合、又はステップS2604の処理を行った場合には、ジャンプ命令により解除ゲーム数抽選処理(図35(b))のステップS1802の処理を実行するためのプログラムアドレスにジャンプし、ステップS1802~ステップS1807における抽選実行処理を実行する。ジャンプ命令によりステップS1802の処理を実行するためのプログラムアドレスにジャンプする場合には、主側RAM74のスタックエリアに戻り番地の情報は記憶されない。このため、ゲーム開始時の有利状態用処理(図40)のステップS2311の処理に復帰するための戻り番地の情報が主側RAM74のスタックエリアに記憶されている状態で、ステップS1802の処理を実行するためのプログラムアドレスにジャンプする。
次に、開始時上乗せ用処理(図43(c))のステップS2603にて否定判定を行った後、又はステップS2604の処理を行った後に、抽選実行処理(ステップS1802~ステップS1807)が実行される場合について説明する。
ステップS1802では、主側RAM74において定期的に更新される抽選カウンタから1バイトの抽選用数値情報を取得し、その取得した抽選用数値情報を主側RAM74における乱数設定カウンタにセットする。既に説明したとおり、抽選用数値情報は、「0」~「255」のいずれかの整数を示す数値情報であるとともに、乱数設定カウンタは、抽選用数値情報が設定されるカウンタであり、1バイトからなる。
その後、主側RAM74における判定対象カウンタに「4」をセットする(ステップS1803)。その後、参照対象の抽選テーブル(第1上乗せ抽選テーブル73d又は第2上乗せ抽選テーブル73e)に設定されている判定値を乱数設定カウンタの値に対して加算する(ステップS1804)。図43(a)に示すように、第1上乗せ抽選テーブル73dには、判定値として「16」が設定されている。参照対象の抽選テーブルが第1上乗せ抽選テーブル73dである場合、ステップS1804では乱数設定カウンタの値に判定値として「16」を加算する。図43(b)に示すように、第2上乗せ抽選テーブル73eには、判定値として「32」が設定されている。参照対象の抽選テーブルが第2上乗せ抽選テーブル73eである場合、ステップS1804では乱数設定カウンタの値に判定値として「32」を加算する。
その後、ステップS1804にて判定値を加算した後の乱数設定カウンタの値が「255」を超えたか否かを判定する(ステップS1805)。乱数設定カウンタの値が「255」を超えていない場合(ステップS1805:NO)には、判定対象カウンタの値を1減算する(ステップS1806)。既に説明したとおり、ステップS1804~ステップS1807の処理は、ステップS1805又はステップS1807にて肯定判定が行われるまで、繰り返し実行される。判定対象の上乗せゲーム数は、ステップS1806にて判定対象カウンタの値が1減算される度に、10ゲーム→20ゲーム→50ゲームの順番で更新される。
その後、ステップS1806にて1減算した後の判定対象カウンタの値が「1」であるか否かを判定する(ステップS1807)。ステップS1807にて否定判定を行った場合には、ステップS1804に進み、ステップS1805又はステップS1807にて肯定判定が行われるまで、ステップS1804~ステップS1807の処理を繰り返し実行する。そして、ステップS1805又はステップS1807にて肯定判定を行った場合には、「RET」という命令を実行することにより主側RAM74のスタックエリアに記憶されている戻り番地の情報に基づいて、ゲーム開始時の有利状態用処理(図40)に復帰する。具体的には、開始時上乗せ用処理(図40)を呼び出すためのCALL命令が設定されているステップS2310の次の処理であるステップS2311の処理に復帰する。
このように、ゲーム開始時の有利状態用処理(図40)のステップS2310にて開始時上乗せ用処理(図43(c))を呼び出し、当該AT状態用処理(図43(c))のステップS2601にて肯定判定を行った場合には、ステップS2602以降の処理を実行した後、サブルーチンから復帰するための命令を実行することなく解除ゲーム数抽選処理(図35(b))のステップS1802にジャンプする。このため、当該解除ゲーム数抽選処理(図35(b))のステップS1805又はステップS1807にて肯定判定を行った後にサブルーチンから復帰するための命令が実行されることにより、開始時上乗せ用処理(図43(c))を呼び出すためのCALL命令が設定されているゲーム開始時の有利状態用処理(図40)のステップS2310の次のステップS2311の処理に復帰する。
「10」の上乗せゲーム数に当選した場合には判定対象カウンタの値が「4」である状態でステップS2311の処理に復帰し、「20」の上乗せゲーム数に当選した場合には判定対象カウンタの値が「3」である状態でステップS2311の処理に復帰し、「50」の上乗せゲーム数に当選した場合には判定対象カウンタの値が「2」である状態でステップS2311の処理に復帰し、いずれの上乗せゲーム数にも当選しなかった場合には判定対象カウンタの値が「1」である状態でステップS2311の処理に復帰する。既に説明したとおり、開始時上乗せ用処理(図43(c))のステップS2601にて肯定判定を行った場合にもゲーム開始時の有利状態用処理(図40)におけるステップS2311の処理に復帰するが、この場合には判定対象カウンタの値が「0」である状態でステップS2311の処理に復帰する。
ここで、ゲーム開始時の有利状態用処理(図40)のステップS2311~ステップS2313の処理について説明する。ステップS2311では、主側RAM74における判定対象カウンタの値が1以上であるか否かを判定する。判定対象カウンタの値が「0」である場合(ステップS2311:NO)、すなわち役の抽選処理(図18)にてインデックス値IV=11~15のいずれかで当選していなかった場合には、ステップS2312~ステップS2313の処理を実行することなく、そのまま本ゲーム開始時の有利状態用処理を終了する。
判定対象カウンタの値が「1」以上である場合(ステップS2311:YES)には、継続ゲーム数の加算処理を実行する(ステップS2312)。当該継続ゲーム数の加算処理では、参照対象の抽選テーブルにおいて判定対象カウンタの値に対応する上乗せゲーム数を把握し、その把握した上乗せゲーム数を主側RAM74におけるAT継続カウンタ74uの値に加算する。ステップS2312では、第1上乗せ抽選テーブル73dが選択されている場合及び第2上乗せ抽選テーブル73eが選択されている場合のいずれにおいても、判定対象カウンタの値が「4」であればAT継続カウンタ74uに上乗せゲーム数として「10」を加算し、判定対象カウンタの値が「3」であればAT継続カウンタ74uに上乗せゲーム数として「20」を加算し、判定対象カウンタの値が「2」であればAT継続カウンタ74uに上乗せゲーム数として「50」を加算する。一方、判定対象カウンタの値が「1」である場合、すなわち上乗せ抽選において外れとなった場合には、AT継続カウンタ74uに対する上乗せゲーム数の加算は行わない。その後、判定対象カウンタの値を「0」クリアして(ステップS2313)、本ゲーム開始時の有利状態用処理(図40)を終了する。
次に、主側MPU72にて実行されるコマンド出力処理について図44のフローチャートを参照しながら説明する。コマンド出力処理はタイマ割込み処理(図11)のステップS210にて実行される。
コマンド出力処理では、主側RAM74の復電コマンドフラグに「1」がセットされている場合(ステップS2701:YES)、復電コマンドを演出側MPU92に送信する復電コマンド送信処理を実行する(ステップS2702)。復電コマンドには、主側RAM74における第1CB当選データエリア74j及び第2CB当選データエリア74kのデータが設定される。既に説明したとおり、第1CB当選データエリア74jは第1CB役の当選が発生したことを示す第1CB当選データを記憶するためのエリアであるとともに、第2CB当選データエリア74kは、第2CB当選データを記憶するためのエリアである。演出側MPU92は、復電コマンドに第1CB当選データが含まれている場合には主側RAM74に第1CB当選データが記憶されている状態で復電処理が実行されたことを把握するとともに、第2CB当選データが含まれている場合には主側RAM74に第2CB当選データが記憶されている状態で復電処理が実行されたことを把握する。また、復電コマンドに第1CB当選データ及び第2CB当選データが含まれていない場合には主側RAM74に第1CB当選データ及び第2CB当選データが含まれていない状態で復電処理が実行されたことを把握する。その後、復電コマンドフラグを「0」クリアして(ステップS2703)、本コマンド出力処理を終了する。
ステップS2701にて否定判定を行った後、主側RAM74の入賞結果コマンドフラグに「1」がセットされている場合(ステップS2704:YES)には、入賞結果コマンドを演出側MPU92に送信する入賞結果コマンド送信処理を実行する(ステップS2705)。既に説明したとおり、入賞結果コマンドには、主側RAM74における第1CB当選データエリア74j、第2CB当選データエリア74k及び入賞データエリア78に格納されているデータが設定される。演出側MPU92は、入賞結果コマンドに設定されているデータに基づいて、今回の入賞成立の有無を把握するとともに、入賞が成立している場合にはその入賞の種類を把握する。そして、当該入賞結果コマンドから把握した情報に対応する演出が行われるように、上部ランプ61の発光制御、スピーカ62の音出力制御、及び画像表示装置63の表示制御を実行する。その後、入賞結果コマンドフラグを「0」クリアして(ステップS2706)、本コマンド出力処理を終了する。
ステップS2704にて否定判定を行った後、主側RAM74の開始時コマンドフラグに「1」がセットされている場合(ステップS2707:YES)、又は主側RAM74の終了時コマンドフラグに「1」がセットされている場合(ステップS2707:NO、ステップS2708:YES)には、共通コマンド送信処理を実行して(ステップS2709)、本コマンド出力処理を終了する。ステップS2709における共通コマンド送信処理では、開始時コマンドフラグに「1」がセットされている場合に開始時コマンドを演出側MPU92に送信する処理を行うとともに、終了時コマンドに「1」がセットされている場合に終了時コマンドを演出側MPU92に送信する処理を行う。
コマンド出力処理(図44)では、復電コマンドフラグに「1」がセットされている場合には、他のコマンドフラグ(開始時コマンドフラグ、入賞結果コマンドフラグ及び終了時コマンドフラグ)の状態とは無関係に、復電コマンド送信処理(ステップS2702)が実行される。
各ゲームにおいて、開始時コマンドフラグに「1」がセットされてから入賞結果コマンドフラグに「1」がセットされるまでの期間は、リール32L,32M,32Rの加速期間(具体的には約300ミリ秒)よりも長い期間である。また、リール32L,32M,32Rの加速期間は、タイマ割込み処理(図11)の割込み周期(1.49ミリ秒)よりも長い期間である。このため、各ゲームにおいて開始時コマンドは入賞結果コマンドよりも先に送信される。
各ゲームにおいて、終了時コマンドフラグに「1」がセットされるタイミングは、入賞結果コマンドフラグに「1」がセットされるタイミングよりも後のタイミングである。入賞結果コマンドフラグに「1」がセットされてから終了時コマンドフラグに「1」がセットされるまでの間にコマンド出力処理(図44)が実行される場合、入賞結果コマンドは終了時コマンドよりも先に送信される。また、入賞結果コマンドフラグ及び終了時コマンドフラグに「1」がセットされている状態でコマンド出力処理が実行される場合には、入賞結果コマンド送信処理が実行され、約1.49ミリ秒後に実行される次のコマンド出力処理にて共通コマンド送信処理が実行される。このように、各ゲームでは、開始時コマンド→入賞結果コマンド→終了時コマンドの順番で、演出側MPU92へのコマンドの送信が行われる。
<コマンドを送信するための構成>
次に、主側MPU72から演出側MPU92に各種コマンドを送信するための構成について説明する。
図45は主側MPU72から演出側MPU92に対してコマンドを送信するための主制御基板71及び演出制御基板91の電気的構成を説明するための説明図である。既に説明したとおり、主制御基板71には送信回路85が設けられているとともに、演出制御基板91には受信回路87が設けられている。図45に示すように、送信回路85には、演出側MPU92に対して送信されるコマンドが設定される送信待機バッファ112が設けられている。送信待機バッファ112は32バイトからなるリングバッファである。主側MPU72から演出側MPU92に対して送信されるコマンドのうち最もデータ量の多いコマンドは開始時コマンド及び終了時コマンドであり、送信待機バッファ112に設定される開始時コマンド及び終了時コマンドのデータ量は15バイトである。
送信待機バッファ112に送信中のコマンドが残っている状態において新たなコマンドを設定するタイミングとなった場合、当該新たなコマンドは送信待機バッファ112において、送信中のコマンドが設定されているエリアの次以降のエリアに設定されて送信待機状態となる。また、送信待機バッファ112に送信中のコマンド及び送信待機中のコマンドが存在している状態において新たなコマンドを設定するタイミングとなった場合、当該新たなコマンドは送信待機バッファ112において、送信待機中のコマンドが設定されているエリアの次以降のエリアに設定されて送信待機状態となる。送信回路85は、送信待機バッファ112に設定されたコマンドを当該送信待機バッファ112に設定された順番で、受信回路87に対して送信する。送信待機バッファ112のデータ容量は、同時期に当該送信待機バッファ112に存在し得る複数のコマンドにおける合計のデータ容量よりも大きく設定されている。このため、各コマンドが送信待機バッファ112に設定されるタイミングにおいて、当該コマンドを設定するための空きエリアは確保されている。
送信回路85には、演出側MPU92に送信されるデータが設定される送信バッファ111が設けられている。送信バッファ111は1バイトからなる。送信待機バッファ112に設定されたコマンドは、1バイトずつ送信バッファ111にセットされて演出側MPU92に送信される。以下、本明細書では、コマンドに含まれる1バイトのデータをフレームFRm(mは「1」~「15」のいずれかの整数)ともいう。
送信待機バッファ112にコマンドが設定された場合、送信回路85は、まず当該コマンドに含まれている複数バイトのデータ(複数フレームFRm)のうち先頭に存在している1バイトのデータ(第1フレームFR1)を送信バッファ111にセットし、当該1バイトのデータを演出側MPU92に送信する。その後、送信回路85は、当該コマンドに含まれている複数バイトのデータのうち先頭の1バイトのデータの次に設定されている1バイトのデータ(第2フレームFR2)を送信バッファ111にセットし、当該1バイトのデータを演出側MPU92に送信する。このように、送信回路85は、送信待機バッファ112に格納されたコマンドの全体の送信が終了するまで、当該コマンドに含まれている複数バイトのデータ(複数フレームFRm)のうち送信バッファ111にセットする1バイトのデータ(フレームFRm)を順次更新しながら、送信バッファ111にセットされた1バイトのデータを演出側MPU92に送信する処理を繰り返し実行する。
図45に示すように、受信回路87には、送信回路85から受信した1バイトのデータが格納される受信バッファ121と、主側MPU72から受信したコマンドが格納される受信後待機バッファ122とが設けられている。受信後待機バッファ122は、上述した送信回路85における送信待機バッファ112と同様に、32バイトからなるリングバッファである。受信後待機バッファ122の記憶容量は、当該受信後待機バッファ122に同時期に存在し得る複数のコマンドにおける合計のデータ量よりも多く設定されている。
演出側RAM94には、主側MPU72から受信したコマンドが演出側MPU92にて利用可能な状態で格納されるコマンド格納バッファ126が設けられている。コマンド格納バッファ126は、32バイトからなるリングバッファである。受信後待機バッファ122に格納されたコマンドはコマンド格納バッファ126に移され、演出側MPU92にて利用されるまでコマンド格納バッファ126にて保存される。コマンド格納バッファ126の記憶容量は、当該コマンド格納バッファ126に同時期に存在し得る複数のコマンドにおける合計のデータ量よりも多く設定されている。
受信回路87は、受信バッファ121に格納された1バイトのデータ(フレームFRm)を受信後待機バッファ122にセットし、受信バッファ121を「0」クリアすることにより次の1バイトのデータを受信可能な状態とする。そして、送信回路85に対して受信可能信号を出力する。送信回路85は、当該受信可能信号を受信しているとともに送信バッファ111にデータが設定されている状態となった場合、当該送信バッファ111にセットされている1バイトのデータを受信回路87に送信する。
主側MPU72が演出側MPU92に対して送信するコマンドの先頭のフレームである第1フレームFR1にはヘッダHDが設定されているとともに、当該コマンドの最後尾のフレームFRmにはフッタFTが設定されている。図46(a)はヘッダHDのデータ構成を説明するための説明図であり、図46(b)はフッタFTのデータ構成を説明するための説明図である。
図46(a)に示すように、ヘッダHDは、第0~第7ビットからなる1バイトのデータである。ヘッダHDの第0~第7ビットには、コマンドの種類を把握可能とするコマンド識別データが設定されている。演出側MPU92は、当該コマンド識別データに基づいて、受信したコマンドの種類を把握する。
コマンドに含まれている各フレームFRmの第0~第7ビットのうち第7ビットは最上位ビットであるとともに、第0ビットは最下位ビットである。ヘッダHDの最上位ビット(コマンド識別データの最上位ビット)である第7ビットは、ヘッダHDであることを識別可能とするヘッダ識別ビットである。コマンドの種類とは無関係にヘッダ識別ビットには必ず「1」が設定されている。コマンドに含まれるフレームFRm(1バイトのデータ)のうち最上位ビット(第7ビット)に「1」が設定されているフレームFRmはヘッダHDのみである。受信回路87は、受信バッファ121に格納されたフレームFRmの最上位ビットに「1」が設定されているか否かを判定することにより、当該フレームFRmがヘッダHDであるか否かを把握する。受信回路87は、送信回路85から複数のコマンドを受信した場合、ヘッダHDの位置に基づいてこれらのコマンドの区切り位置を把握することができる。なお、ヘッダ識別ビットに「0」が設定されているとともに、ヘッダHD以外のフレームFRmにおける最上位ビット(第7ビット)に「1」が設定されている構成としてもよい。当該構成において、受信回路87は、受信バッファ121に格納されたフレームFRmにおける最上位ビットに「0」が設定されているか否かを判定することにより、当該フレームFRmがヘッダHDであるか否かを把握することができる。
図46(b)に示すように、フッタFTは、第0~第7ビットからなる1バイトのデータである。フッタFTの最上位ビットには「0」が設定されており、最上位ビットの状態に基づいてヘッダHDとフッタFTとを識別可能となっている。フッタFTの第0~第6ビットには、本スロットマシン10の識別番号データが設定されている。識別番号データは「0」以外の7ビットで表現される数値情報であり、具体的には「1」~「127」のいずれかの数値情報である。受信回路87は、受信バッファ121に格納されたフレームFRm(1バイトのデータ)における下位7ビット(第0~第6ビット)に識別番号データが設定されているか否かを判定することにより、当該フレームFRmがフッタFTであるか否かを把握する。受信回路87は、ヘッダHDを認識することによりコマンドの開始位置を把握するとともに、フッタFTを認識することにより当該コマンドの終了位置を把握する。そして、ヘッダHDから始まってフッタFTで終わる一連のデータを1つのコマンドとして認識する。
送信待機バッファ112に格納されているコマンド及び送信バッファ111に格納されているフレームFRm(1バイトのデータ)は、メイン処理(図10)において一部クリア処理(ステップS105)又は全部クリア処理(ステップS106)が実行された場合にクリアされる。
既に説明したとおり、コマンドに含まれている複数のフレームFRmのうちヘッダHD以外のフレームFRmにおける最上位ビットには「0」を設定する必要がある。主側MPU72は、最上位ビットに「1」がセットされ得るデータを含むコマンド(具体的には開始時コマンド及び終了時コマンド)を送信する場合には、当該コマンドに、複数のフレームFRmにおける最上位ビットのデータのみを集約した最上位集約フレームSFを設定するとともに、当該複数のフレームの最上位ビットに「0」をセットする。これにより、ヘッダHD以外のフレームFRmにおける最上位ビットの値を「0」としながら、最上位ビットに「1」がセットされ得るデータをコマンドに設定することができる。最上位集約フレームSFの最上位ビットには「0」が設定されており、最上位ビットの状態に基づいてヘッダHDと最上位集約フレームSFとを識別可能となっている。
図46(c)は開始時コマンド、終了時コマンド及び復電コマンドに設定される記憶エリアの主側RAM74における設定態様を説明するための説明図である。図46(c)に示すように、主側RAM74には1バイトの記憶エリアが多数設定されており、当該1バイトの各記憶エリアには1対1で対応させて2バイトのアドレスが設定されている。開始時コマンドにデータが設定されるカウンタ及びエリアは、終了時コマンドにデータが設定されるカウンタ及びエリアと同一である。開始時コマンド及び終了時コマンドにデータが設定されるカウンタ及びエリアは、主側RAM74において「0001H」~「000DH」の連続するアドレス範囲に設定されている。
具体的には、「0001H」~「0002H」のアドレスに対応する記憶エリアにはAT継続カウンタ74uが設定されている。既に説明したとおり、AT継続カウンタ74uはAT状態ST5における残りの継続ゲーム数を主側MPU72にて特定するためのカウンタであり、当該AT継続カウンタ74uは2バイトからなる。AT継続カウンタ74uの下位1バイト(以下、「AT継続カウンタ74uの下位エリア」ともいう。)は「0001H」のアドレスに対応する記憶エリアに設定されているとともに、AT継続カウンタ74uの上位1バイト(以下、「AT継続カウンタ74uの上位エリア」ともいう。)は「0002H」のアドレスに対応する記憶エリアに設定されている。本明細書において、数値の後に付された「B」は当該数値が2進数で表記されていることを示す記号である。AT継続カウンタ74uに格納されるAT状態ST5における残りのゲーム数は「128」(2進数表記で「0000000010000000B」)以上となる場合がある。このため、AT継続カウンタ74uの下位エリアにおける最上位ビットの値が「1」となる場合があるとともに当該最上位ビットの値が「0」となる場合がある。例えば、AT継続カウンタ74uに格納されるAT状態ST5における残りのゲーム数が「128」である場合にはAT継続カウンタ74uの下位エリアにおける最上位ビットの値が「1」となるとともに、AT継続カウンタ74uに格納されるAT状態ST5における残りのゲーム数が「127」(2進数表記で「0000000001111111B」)である場合にはAT継続カウンタ74uの下位エリアにおける最上位ビットの値が「0」となる。このように、AT継続カウンタ74uの下位エリアは、最上位ビットに「1」がセットされ得る記憶エリアである。
既に説明したとおり、第2区間SC2が継続されることで当該第2区間SC2の開始時からのゲームの実行回数が上限ゲーム数である「1500」に到達するというエンディング条件が成立した場合には、AT状態ST5の途中であってもそのエンディング条件が成立したゲームにてAT状態ST5が終了されるとともに第2区間SC2が終了されて第1区間SC1であって通常遊技状態ST1である状況に移行する。また、既に説明したとおり、上乗せ抽選にて選択される上乗せゲーム数は「10」、「20」又は「50」である。このため、AT継続カウンタ74uに格納されるAT状態ST5における残りのゲーム数が「32768」(2進数表記で「1000000000000000B」)以上となること、すなわちAT継続カウンタ74uの上位エリアにおける最上位ビットに「1」がセットされることはない。AT継続カウンタ74uの上位エリアにおける最上位ビットの値は「0」であり、AT継続カウンタ74uの上位エリアは最上位ビットに「1」がセットされないエリアである。
「0003H」~「0004H」のアドレスに対応する記憶エリアには継続ゲーム数カウンタ74rが設定されている。既に説明したとおり、継続ゲーム数カウンタ74rは、第1区間SC1を間に挟むことなく第2区間SC2が継続された場合における当該第2区間SC2の開始時からのゲームの実行回数を主側MPU72にて特定するためのカウンタであり、当該継続ゲーム数カウンタ74rは2バイトからなる。継続ゲーム数カウンタ74rの下位1バイト(以下、「継続ゲーム数カウンタ74rの下位エリア」ともいう。)は「0003H」のアドレスに対応する記憶エリアに設定されているとともに、継続ゲーム数カウンタ74rの上位1バイト(以下、「継続ゲーム数カウンタ74rの上位エリア」ともいう。)は「0004H」のアドレスに対応する記憶エリアに設定されている。継続ゲーム数カウンタ74rに格納されるゲームの実行回数は「128」(2進数表記で「0000000010000000B」)以上となる場合がある。このため、継続ゲーム数カウンタ74rの下位エリアにおける最上位ビットの値が「1」となる場合があるとともに当該最上位ビットの値が「0」となる場合がある。例えば、継続ゲーム数カウンタ74rに格納される当該第2区間SC2の開始時からのゲームの実行回数が「128」である場合には継続ゲーム数カウンタ74rの下位エリアにおける最上位ビットの値が「1」となるとともに、継続ゲーム数カウンタ74rに格納される当該第2区間SC2の開始時からのゲームの実行回数が「127」(2進数表記で「0000000001111111B」)である場合には継続ゲーム数カウンタ74rの下位エリアにおける最上位ビットの値が「0」となる。このように、継続ゲーム数カウンタ74rの下位エリアは、最上位ビットに「1」がセットされ得る記憶エリアである。
上述したとおり、第2区間SC2が継続されることで当該第2区間SC2の開始時からのゲームの実行回数が上限ゲーム数である「1500」に到達するというエンディング条件が成立した場合には、そのエンディング条件が成立したゲームにて第2区間SC2が終了されて第1区間SC1に移行する。このため、継続ゲーム数カウンタ74rに格納されるゲームの実行回数が「32768」(2進数表記で「1000000000000000B」)以上となること、すなわち継続ゲーム数カウンタ74rの上位エリアにおける最上位ビットに「1」がセットされることはない。継続ゲーム数カウンタ74rの上位エリアにおける最上位ビットの値は「0」であり、継続ゲーム数カウンタ74rの上位エリアは最上位ビットに「1」がセットされないエリアである。
「0005H」~「0006H」のアドレスに対応する記憶エリアには合計獲得数カウンタ74sが設定されている。既に説明したとおり、合計獲得数カウンタ74sは第1区間SC1を間に挟むことなく第2区間SC2が継続された場合における当該第2区間SC2の開始時からの遊技媒体の制限付き合計純増枚数を主側MPU72にて特定するためのカウンタであり、当該合計獲得数カウンタ74sは2バイトからなる。合計獲得数カウンタ74sの下位1バイト(以下、「合計獲得数カウンタ74sの下位エリア」ともいう。)は「0005H」のアドレスに対応する記憶エリアに設定されているとともに、合計獲得数カウンタ74sの上位1バイト(以下、「合計獲得数カウンタ74sの上位エリア」ともいう。)は「0006H」のアドレスに対応する記憶エリアに設定されている。合計獲得数カウンタ74sに格納される遊技媒体の制限付き合計純増枚数は「128」(2進数表記で「0000000010000000B」)以上となる場合がある。このため、合計獲得数カウンタ74sの下位エリアにおける最上位ビットの値が「1」となる場合があるとともに当該最上位ビットの値が「0」となる場合がある。例えば、合計獲得数カウンタ74sに格納される遊技媒体の制限付き合計純増枚数が「128」である場合には合計獲得数カウンタ74sの下位エリアにおける最上位ビットの値が「1」となるとともに、合計獲得数カウンタ74sに格納される遊技媒体の制限付き合計純増枚数が「127」(2進数表記で「0000000001111111B」)である場合には合計獲得数カウンタ74sの下位エリアにおける最上位ビットの値が「0」となる。このように、合計獲得数カウンタ74sの下位エリアは、最上位ビットに「1」がセットされ得る記憶エリアである。
既に説明したとおり、第2区間SC2が継続されることで当該第2区間SC2の開始時からの遊技媒体の制限付き合計純増枚数が上限純増枚数である「2400」に到達した場合には当該第2区間SC2が終了して第1区間SC1に移行する。このため、合計獲得数カウンタ74sに格納されるゲームの実行回数が「32768」(2進数表記で「1000000000000000B」)以上となること、すなわち合計獲得数カウンタ74sの上位エリアにおける最上位ビットに「1」がセットされることはない。合計獲得数カウンタ74sの上位エリアにおける最上位ビットの値は「0」であり、合計獲得数カウンタ74sの上位エリアは最上位ビットに「1」がセットされないエリアである。
上述したとおり、AT継続カウンタ74uの下位エリア、継続ゲーム数カウンタ74rの下位エリア、及び合計獲得数カウンタ74sの下位エリアは、AT継続カウンタ74uに格納されるゲーム数、継続ゲーム数カウンタ74rに格納されるゲーム数、又は合計獲得数カウンタ74sに格納される遊技媒体の制限付き合計純増枚数に応じて、最上位ビットの値が「1」となる場合と最上位ビットの値が「0」となる場合とが存在する記憶エリアであり、最上位ビットに「1」がセットされ得る記憶エリアである。
「0007H」のアドレスに対応する記憶エリアには最上位集約用エリア74vが設定されている。最上位集約用エリア74vは、主側MPU72が演出側MPU92に開始時コマンド又は終了時コマンドを送信する場合に、当該開始時コマンド又は終了時コマンドに設定される最上位集約フレームのデータが設定される記憶エリアである。最上位集約用エリア74vは1バイトからなる。最上位集約用エリア74vの第0~第5ビットには、「0001H」~「0006H」のアドレスに対応する記憶エリアの最上位ビット(第7ビット)に格納されている「0」又は「1」のデータが集約される。具体的には、「0001H」のアドレスに設定されているAT継続カウンタ74uの下位エリアにおける最上位ビットのデータが最上位集約用エリア74vの第0ビットに設定され、「0002H」のアドレスに設定されているAT継続カウンタ74uの上位エリアにおける最上位ビットのデータが最上位集約用エリア74vの第1ビットに設定され、「0003H」のアドレスに設定されている継続ゲーム数カウンタ74rの下位エリアにおける最上位ビットのデータが最上位集約用エリア74vの第2ビットに設定され、「0004H」のアドレスに設定されている継続ゲーム数カウンタ74rの上位エリアにおける最上位ビットのデータが最上位集約用エリア74vの第3ビットに設定され、「0005H」のアドレスに設定されている合計獲得数カウンタ74sの下位エリアにおける最上位ビットのデータが最上位集約用エリア74vの第4ビットに設定され、「0006H」のアドレスに設定されている合計獲得数カウンタ74sの上位エリアにおける最上位ビットのデータが最上位集約用エリア74vの第5ビットに設定される。これにより、これら6つのエリアにおける最上位ビットのデータが最上位集約用エリア74vに集約されている状態となる。最上位集約用エリア74vにおける第6ビット及び第7ビットは未使用ビットであり、これら第6ビット及び第7ビットの値は「0」である。最上位集約用エリア74vは、最上位ビット(第7ビット)に「1」がセットされない記憶エリアである。
このように、最上位ビットに「1」がセットされ得るAT継続カウンタ74uの下位エリア、継続ゲーム数カウンタ74rの下位エリア及び合計獲得数カウンタ74sの下位エリアを含む「0001H」~「0006H」の連続するアドレス範囲に設定されている6つの記憶エリアにおける最上位ビットに格納されている「0」又は「1」のデータは、1バイトの記憶エリア(最上位集約用エリア74v)に集約される。このため、これら6つの記憶エリアの最上位ビットに格納されている「0」又は「1」のデータを設定するために主側RAM74に2バイト以上の記憶エリアが設定されている構成と比較して、これら6つの記憶エリアの最上位ビットに格納されている「0」又は「1」のデータを設定するために主側RAM74に設けられる記憶エリアのデータ容量が低減されている。
最上位ビットに「1」がセットされ得るAT継続カウンタ74uの下位エリア、継続ゲーム数カウンタ74rの下位エリア及び合計獲得数カウンタ74sの下位エリアを含む6つの記憶エリアが「0001H」~「0006H」の連続するアドレス範囲に設定されていることにより、最上位ビットに格納されている「0」又は「1」のデータを最上位集約用エリア74vに設定する対象となる記憶エリアのアドレス範囲を指定するための処理構成を簡素化することができる。
上述したとおり、AT継続カウンタ74uの下位エリア、継続ゲーム数カウンタ74rの下位エリア及び合計獲得数カウンタ74sの下位エリアは最上位ビットに「1」がセットされ得るエリアである一方、AT継続カウンタ74uの上位エリア、継続ゲーム数カウンタ74rの上位エリア及び合計獲得数カウンタ74sの上位エリアは最上位ビットに「1」がセットされないエリアである。主側RAM74において、AT継続カウンタ74uの下位エリア及び上位エリアは連続するアドレス範囲(「0001H」~「0002H」)に設定されている。また、継続ゲーム数カウンタ74rの下位エリア及び上位エリアは連続するアドレス範囲(「0003H」~「0004H」)に設定されているとともに、合計獲得数カウンタ74sの下位エリア及び上位エリアは連続するアドレス範囲(「0005H」~「0006H」)に設定されている。そして、AT継続カウンタ74uの上位エリア、継続ゲーム数カウンタ74rの上位エリア及び合計獲得数カウンタ74sの上位エリアを含む「0001H」~「0006H」の連続するアドレス範囲に設定されている6つの記憶エリアの最上位ビットに格納されている「0」又は「1」のデータを最上位集約用エリア74vに集約する構成である。このため、最上位ビットに「1」がセットされ得る記憶エリアのみを主側RAM74における連続するアドレス範囲に設定する構成と比較して、AT状態ST5における残りのゲーム数、第1区間SC1を間に挟むことなく第2区間SC2が継続された場合における当該第2区間SC2の開始時からのゲームの実行回数、及び第1区間SC1を間に挟むことなく第2区間SC2が継続された場合における当該第2区間SC2の開始時からの遊技媒体の制限付き合計純増枚数を把握するための処理構成が複雑化してしまうことを防止できる。
「0008H」のアドレスに対応する記憶エリアにはベット数設定カウンタ74bが設定されている。既に説明したとおり、ベット数設定カウンタ74bに設定される数値情報は「2」又は「3」である。このため、ベット数設定カウンタ74bの最上位ビットの値は常に「0」であり、ベット数設定カウンタ74bは最上ビットに「1」がセットされない記憶エリアである。「0009H」のアドレスに対応する記憶エリアには停止順種別カウンタ74mが設定されている。既に説明したとおり、本実施形態において停止順種別カウンタ74mに設定される数値情報は「1」~「9」の停止順種別番号又は「0」である。このため、停止順種別カウンタ74mの最上位ビットの値は常に「0」であり、停止順種別カウンタ74mは最上ビットに「1」がセットされない記憶エリアである。「000AH」のアドレスに対応する記憶エリアには遊技状態エリア77が設定されている。既に説明したとおり、遊技状態エリア77の第0~第5ビットには第1CB状態フラグ77a、第2CB状態フラグ77b、疑似ボーナス状態フラグ77c、AT状態フラグ77d、終了準備状態フラグ77e及びAT移行確定フラグ77fが設定されているとともに、当該遊技状態エリア77の第6~第7ビットは未使用ビットである。遊技状態エリア77の最上位ビットの値は常に「0」であり、遊技状態エリア77は最上位ビットに「1」がセットされない記憶エリアである。「000BH」のアドレスに対応する記憶エリアには遊技区間エリア76が設定されている。既に説明したとおり、遊技区間エリア76の第0~第2ビットには第2区間フラグ76a、第1エンディングフラグ76b及び第2エンディングフラグ76cが設定されているとともに、当該遊技区間エリア76の第3~第7ビットは未使用ビットである。遊技区間エリア76における最上位ビットの値は常に「0」であり、遊技区間エリア76は最上位ビットに「1」がセットされない記憶エリアである。「000CH」のアドレスに対応する記憶エリアには疑似ボーナス継続カウンタ74tが設定されている。既に説明したとおり、疑似ボーナス継続カウンタ74tは疑似ボーナス状態ST4における残りの継続ゲーム数を主側MPU72にて特定するためのカウンタである。疑似ボーナス継続カウンタ74tには、疑似ボーナス状態ST4がビッグボーナスである場合に「50」が設定されるとともに、疑似ボーナス状態ST4がレギュラーボーナスである場合に「20」が設定される。疑似ボーナス継続カウンタ74tに設定される残りの継続ゲーム数の最大値は「50」(2進数表記で「00110010B」)であり、疑似ボーナス継続カウンタ74tにおける最上位ビットの値は常に「0」である。このように、疑似ボーナス継続カウンタ74tは、最上位ビットに「1」がセットされない記憶エリアである。「000DH」のアドレスに対応する記憶エリアには付与数カウンタ74eが設定されている。既に説明したとおり、付与数カウンタ74eに設定される遊技媒体の付与数は「1」、「2」、「5」又は「15」であり、付与数カウンタ74eに設定される遊技媒体の付与数の最大値は「15」(2進数表記で「00001111B」)である。付与数カウンタ74eにおける最上位ビットの値は常に「0」であり、付与数カウンタ74eは最上位ビットに「1」がセットされない記憶エリアである。
このように、「0008H」~「000DH」のアドレス範囲に設定されているベット数設定カウンタ74b、停止順種別カウンタ74m、遊技状態エリア77、遊技区間エリア76、疑似ボーナス継続カウンタ74t及び付与数カウンタ74eは、最上位ビットに「1」がセットされない記憶エリアである。主側RAM74には、これらベット数設定カウンタ74b、停止順種別カウンタ74m、遊技状態エリア77、遊技区間エリア76、疑似ボーナス継続カウンタ74t及び付与数カウンタ74eの最上位ビットのデータを集約するための記憶エリアは設けられていない。
開始時コマンド及び終了時コマンドにデータが設定される主側RAM74の記憶エリアのうち、最上位ビット(第7ビット)に「1」がセットされ得るエリアにおける最上位ビットのデータが集約される最上位集約用エリア74vが設けられているとともに、最上位ビットに「1」がセットされない主側RAM74の記憶エリアにおける最上位ビットのデータが集約される記憶エリアは設けられていない構成とすることにより、最上位ビットのデータを集約するために主側RAM74に設定される記憶エリア(最上位集約用エリア74v)の数を抑えながら、最上位ビットに「1」がセットされ得るエリアにおける当該最上位ビットのデータを開始時コマンド及び終了時コマンドに設定することができる。
開始時コマンド及び終了時コマンドにデータが設定される記憶エリアが主側RAM74において「0001H」~「000DH」の連続するアドレス範囲に設定されているため、開始時コマンドにデータを設定する記憶エリアのアドレス範囲を指定するための処理構成及び終了時コマンドにデータを設定する記憶エリアのアドレス範囲を指定するための処理構成を簡素化することができる。
図46(c)に示すように、開始時コマンドに設定されているデータのうちゲームの開始時に演出側MPU92にて使用されるデータは、AT継続カウンタ74u、最上位集約用エリア74v、ベット数設定カウンタ74b、停止順種別カウンタ74m及び遊技状態エリア77のデータのみであり、継続ゲーム数カウンタ74r、合計獲得数カウンタ74s、遊技区間エリア76、疑似ボーナス継続カウンタ74t及び付与数カウンタ74eのデータはゲームの開始時に演出側MPU92にて使用されないデータである。また、終了時コマンドに設定されているデータのうちゲームの終了時に演出側MPU92にて使用されるデータは、継続ゲーム数カウンタ74r、合計獲得数カウンタ74s、最上位集約用エリア74v、遊技状態エリア77、遊技区間エリア76、疑似ボーナス継続カウンタ74t及び付与数カウンタ74eのデータのみであり、AT継続カウンタ74u、ベット数設定カウンタ74b及び停止順種別カウンタ74mのデータはゲームの終了時に演出側MPU92にて使用されないデータである。
このように、ゲームの開始時に演出側MPU92にて使用されるデータが格納されている主側RAM74の記憶エリアの一部のみ(具体的には最上位集約用エリア74v及び遊技状態エリア77)が、ゲームの終了時に演出側MPU92にて使用されるデータが格納されている主側RAM74の記憶エリアと共通している構成である。当該構成において、開始時コマンド及び終了時コマンドにデータが設定される記憶エリアを、ゲームの開始時及び終了時に演出側MPU92にて使用されるデータが格納されている主側RAM74の記憶エリアとすることにより、開始時コマンドにデータが設定される記憶エリア及び終了時コマンドにデータが設定される記憶エリアを主側RAM74の連続するアドレス範囲に設定することが可能となっている。
主側RAM74において、開始時コマンドに設定されるデータが格納されている記憶エリアのアドレス範囲(「0001H」~「000DH」のアドレス範囲)が、終了時コマンドに設定されるデータが格納されている記憶エリアのアドレス範囲(「0001H」~「000DH」のアドレス範囲)と同一であるため、開始時コマンドを送信するための処理構成と終了時コマンドを送信するための処理構成とを共通化することができる。これにより、主側ROM73において開始時コマンド及び終了時コマンドを送信するためのプログラムのデータ容量を低減することができる。
上述したとおり、下位エリアの最上位ビットに「1」がセットされ得るカウンタとして、AT継続カウンタ74u、継続ゲーム数カウンタ74r及び合計獲得数カウンタ74sが存在している。AT継続カウンタ74uのデータは、ゲームの開始時に演出側MPU92にて使用されるデータである一方、ゲームの終了時に演出側MPU92にて使用されるデータではない。また、継続ゲーム数カウンタ74r及び合計獲得数カウンタ74sのデータは、ゲームの終了時に演出側MPU92にて使用されるデータである一方、ゲームの開始時に演出側MPU92にて使用されるデータではない。ゲームの開始時に演出側MPU92にて使用されるデータのみを開始時コマンドに設定するとともにゲームの終了時に演出側MPU92にて使用されるデータのみを終了時コマンドに設定する構成とすると、AT継続カウンタ74uの下位エリア及び上位エリアにおける最上位ビットのデータを設定するための記憶エリアとは別に、継続ゲーム数カウンタ74rの下位エリア及び上位エリア、並びに合計獲得数カウンタ74sの下位エリア及び上位エリアにおける最上位ビットのデータを設定するための記憶エリアを主側RAM74に設ける必要が生じてしまう。これに対して、開始時コマンド及び終了時コマンドにAT継続カウンタ74u、継続ゲーム数カウンタ74r及び合計獲得数カウンタ74sのデータを設定する構成であることにより、これらAT継続カウンタ74u、継続ゲーム数カウンタ74r及び合計獲得数カウンタ74sの下位エリア及び上位エリアの最上位ビットに格納されている「0」又は「1」のデータを設定するための記憶エリアを最上位集約用エリア74vの1つのみとすることができる。これにより、AT継続カウンタ74uの下位エリア及び上位エリア、継続ゲーム数カウンタ74rの下位エリア及び上位エリア、並びに合計獲得数カウンタ74sの下位エリア及び上位エリアにおける最上位ビットのデータを設定するための主側RAM74のデータ容量が低減されている。
既に説明したとおり、復電コマンドには主側RAM74における第1CB当選データエリア74j及び第2CB当選データエリア74kのデータが設定される。図46(c)に示すように、主側RAM74において、第1CB当選データエリア74jは「000EH」のアドレスに対応する記憶エリアに設定されているとともに、第2CB当選データエリア74kは「000FH」のアドレスに対応する記憶エリアに設定されている。このように、開始時コマンド及び終了時コマンド以外のコマンドに設定されるデータが格納される記憶エリアも主側RAM74において連続するアドレスに対応する記憶エリアに設定されている。これにより、復電コマンドに第1CB当選データエリア74j及び第2CB当選データエリア74kに格納されているデータを設定するための処理を簡素化することができる。
復電コマンドにデータが設定される第1CB当選データエリア74j及び第2CB当選データエリア74kは、最上位ビットに「1」がセットされることのない記憶エリアである。図46(c)に示すように、主側RAM74には、これら第1CB当選データエリア74j及び第2CB当選データエリア74kにおける最上位ビットのデータを集約するための記憶エリアは設けられていない。このため、これら第1CB当選データエリア74j及び第2CB当選データエリア74kにおける最上位ビットのデータを集約するための記憶エリアが設けられている構成と比較して、主側RAM74のデータ容量が低減されている。
次に、受信回路87が開始時コマンドを受信した場合について説明する。図47(a)は開始時コマンド及び終了時コマンドのデータ構成を説明するための説明図であり、図47(b)は変換後開始時コマンドのデータ構成を説明するための説明図であり、図47(c)は変換後終了時コマンドのデータ構成を説明するための説明図である。また、図48(a)は開始時コマンドの変換態様を説明するための説明図であり、図48(b)は終了時コマンドの変換態様を説明するための説明図である。
受信回路87が主側MPU72から受信したコマンドは受信後待機バッファ122に格納される。図45に示すように、演出側RAM94には、変換前エリア124及び変換後エリア125が設けられている。変換前エリア124は、最上位集約フレームSFが設定されている開始時コマンド又は終了時コマンドが格納される記憶エリアであるとともに、変換後エリア125は変換前エリア124に格納された開始時コマンド又は終了時コマンドを変換後開始時コマンド又は変換後終了時コマンドに変換するための記憶エリアである。
図48(a),(b)に示すように、変換前エリア124には第1~第15エリアRA1~RA15が設けられているとともに、変換後エリア125には第1~10エリアRB1~RB10が設けられている。これらのエリアRA1~RA15,RB1~RB10は1バイトからなる記憶エリアである。演出側RAM94において変換前エリア124の第1~第15エリアRA1~RA15は連続する「α+1」~「α+15」のアドレス範囲に設定されているとともに、演出側RAM94において変換後エリア125の第1~第10エリアRB1~RB10は連続する「β+1」~「β+10」のアドレス範囲に設定されている。
変換前エリア124における第1~第15エリアRA1~RA15の合計のデータ容量は15バイトであるとともに、変換後エリア125における第1~第10エリアRB1~RB10の合計のデータ容量は10バイトである。既に説明したとおり、受信回路87が送信回路85から受信する1つのコマンドのデータ容量は最大で15バイトである。また、変換後開始時コマンドのデータ容量は7バイトであるとともに、変換後終了時コマンドのデータ容量は10バイトである。
終了時コマンドのデータ構成は、開始時コマンドのデータ構成と同じである。以下では、開始時コマンド及び終了時コマンドのデータ構成について、開始時コマンドを例に挙げながら説明する。
図47(a)に示すように、開始時コマンドの先頭に位置する第1フレームFR1には開始時コマンドであることを示すヘッダHDのデータが設定されており、第2フレームFR2の第0~第6ビットにはAT継続カウンタ74uの下位エリアにおける第0~第6ビットのデータが設定されており、第3フレームFR3の第0~第6ビットにはAT継続カウンタ74uの上位エリアにおける第0~第6ビットのデータが設定されており、第4フレームFR4の第0~第6ビットには継続ゲーム数カウンタ74rの下位エリアにおける第0~第6ビットのデータが設定されており、第5フレームFR5の第0~第6ビットには継続ゲーム数カウンタ74rの上位エリアにおける第0~第6ビットのデータが設定されており、第6フレームFR6の第0~第6ビットには合計獲得数カウンタ74sの下位エリアにおける第0~第6ビットのデータが設定されており、第7フレームFR7の第0~第6ビットには合計獲得数カウンタ74sの上位エリアにおける第0~第6ビットのデータが設定されており、第8フレームFR8には最上位集約用エリア74vのデータが設定されている。既に説明したとおり、最上位集約用エリア74vのデータは、当該最上位集約用エリア74vの第0~第5ビットにAT継続カウンタ74uの下位エリア、AT継続カウンタ74uの上位エリア、継続ゲーム数カウンタ74rの下位エリア、継続ゲーム数カウンタ74rの上位エリア、合計獲得数カウンタ74sの下位エリア及び合計獲得数カウンタ74sの上位エリアの最上位ビットに格納されている「0」又は「1」のデータが集約されたデータである。
開始時コマンドの第9フレームFR9にはベット数設定カウンタ74bのデータが設定されており、第10フレームFR10には停止順種別カウンタ74mのデータが設定されており、第11フレームFR11には遊技状態エリア77のデータが設定されており、第12フレームFR12には遊技区間エリア76のデータが設定されており、第13フレームFR13には疑似ボーナス継続カウンタ74tのデータが設定されており、第14フレームFR14には付与数カウンタ74eのデータが設定されており、第15フレームFR15にはフッタFTのデータが設定されている。
演出側MPU92は、開始時コマンドを変換後開始時コマンドに変換する場合、まず開始時コマンドに含まれている最上位集約フレームSF(第8フレームFR8)の第0~第5ビットに設定されている「0」又は「1」のデータを当該第0~第5ビットに対応する第2~第7フレームFR2~FR7の最上位ビットに設定する。その後、開始時コマンドに含まれている第1~第15フレームFR1~FR15のうちゲームの開始時には使用しないデータが設定されているフレーム及び最上位集約用エリア74vのデータが設定されている第8フレームFR8を除外して変換後開始時コマンドを生成する。具体的には、継続ゲーム数カウンタ74rのデータが設定されている第4~第5フレームFR4~FR5、合計獲得数カウンタ74sのデータが設定されている第6~第7フレームFR6~FR7、最上位集約用エリア74vのデータが設定されている第8フレームFR8、遊技区間エリア76のデータが設定されている第12フレームFR12、疑似ボーナス継続カウンタ74tのデータが設定されている第13フレームFR13、及び付与数カウンタ74eのデータが設定されている第14フレームFR14が除外される。
図47(b)に示すように、変換後開始時コマンドには、ヘッダHDのデータ、AT継続カウンタ74uの下位エリアのデータ、AT継続カウンタ74uの上位エリアのデータ、ベット数設定カウンタ74bのデータ、停止順種別カウンタ74mのデータ、遊技状態エリア77のデータ、及びフッタFTのデータが設定されている。変換後開始時コマンドに設定されているAT継続カウンタ74uの下位エリアのデータは、当該AT継続カウンタ74uの下位エリアの最上位ビットを含む第0~第7ビットのデータであるとともに、変換後開始時コマンドに設定されているAT継続カウンタ74uの上位エリアのデータは、当該AT継続カウンタ74uの上位エリアの最上位ビットを含む第0~第7ビットのデータである。
演出側MPU92は、終了時コマンドを変換後終了時コマンドに変換する場合、まず終了時コマンドに含まれている最上位集約フレームSF(第8フレームFR8)の第0~第5ビットに設定されている「0」又は「1」のデータを当該第0~第5ビットに対応する第2~第7フレームFR2~FR7の最上位ビットに設定する。その後、終了時コマンドに含まれている第1~第15フレームFR1~FR15のうちゲームの終了時には使用しないデータが設定されているフレーム及び最上位集約用エリア74vのデータが設定されている第8フレームFR8を除外して変換後終了時コマンドを生成する。具体的には、AT継続カウンタ74uのデータが設定されている第2~第3フレームFR2~FR3、最上位集約用エリア74vのデータが設定されている第8フレームFR8、ベット数設定カウンタ74bのデータが設定されている第9フレームFR9、停止順種別カウンタ74mのデータが設定されている第10フレームFR10が除外される。
図47(c)に示すように、変換後終了時コマンドには、ヘッダHDのデータ、継続ゲーム数カウンタ74rの下位エリアのデータ、継続ゲーム数カウンタ74rの上位エリアのデータ、合計獲得数カウンタ74sの下位エリアのデータ、合計獲得数カウンタ74sの上位エリアのデータ、遊技状態エリア77のデータ、遊技区間エリア76のデータ、疑似ボーナス継続カウンタ74tのデータ、付与数カウンタ74eのデータ、及びフッタFTのデータが設定されている。変換後終了時コマンドに設定されている継続ゲーム数カウンタ74rの下位エリアのデータは、当該継続ゲーム数カウンタ74rの下位エリアの最上位ビットを含む第0~第7ビットのデータであるとともに、変換後終了時コマンドに設定されている継続ゲーム数カウンタ74rの上位エリアのデータは、当該継続ゲーム数カウンタ74rの上位エリアの最上位ビットを含む第0~第7ビットのデータである。また、変換後終了時コマンドに設定されている合計獲得数カウンタ74sの下位エリアのデータは、当該合計獲得数カウンタ74sの下位エリアにおける最上位ビットを含む第0~第7ビットのデータであるとともに、変換後終了時コマンドに設定されている合計獲得数カウンタ74sの上位エリアのデータは、当該合計獲得数カウンタ74sの上位エリアにおける最上位ビットを含む第0~第7ビットのデータである。
演出側ROM93には、開始時コマンドを変換後開始時コマンドに変換する場合に参照される開始時変換テーブル、及び終了時コマンドを変換後終了時コマンドに変換する場合に参照される終了時変換テーブルが記憶されている。開始時変換テーブルには、開始時コマンドを変換後開始時コマンドに変換する際に除外するフレームの情報が設定されている。終了時変換テーブルには、終了時コマンドを変換後終了時コマンドに変換する際に除外するフレームの情報が設定されている。演出側MPU92は、開始時変換テーブルに基づいて開始時コマンドを変換後開始時コマンドに変換するとともに、終了時変換テーブルに基づいて終了時コマンドを変換後終了時コマンドに変換する。
演出側MPU92は、受信後待機バッファ122に格納された開始時コマンド又は終了時コマンドを変換前エリア124の第1~第15エリアRA1~RA15に設定する。これにより、図48(a),(b)に示すように、最上位集約フレームSFは変換前エリア124の第8エリアRA8に設定される。その後、最上位集約フレームSFの第0~第5ビットに設定されている「0」又は「1」のデータを変換前エリア124において当該第0~第5ビットに対応する第2~第7フレームFR2~FR7が設定されている第2~第7エリアRA2~RA7の最上位ビット(第7ビット)にセットする。具体的には、第8エリアRA8の第0ビットのデータを第2エリアRA2の最上位ビットにセットし、第8エリアRA8の第1ビットのデータを第3エリアRA3の最上位ビットにセットし、第8エリアRA8の第2ビットのデータを第4エリアRA4の最上位ビットにセットし、第8エリアRA8の第3ビットのデータを第5エリアRA5の最上位ビットにセットし、第8エリアRA8の第4ビットのデータを第6エリアRA6の最上位ビットにセットし、第8エリアRA8の第5ビットのデータを第7エリアRA7の最上位ビットにセットする。
開始時コマンド又は終了時コマンドにおいて、最上位集約フレームSF(第8フレームFR8)の第0~第5ビットに設定されている「0」又は「1」のデータが最上位ビットに設定されるフレームは、連続する第2~第7フレームFR2~FR7である。このため、最上位集約フレームSFの第0~第5ビットに設定されている「0」又は「1」のデータが最上位ビットに設定されるフレームを演出側MPU92にて指定するための処理構成を簡素化することができる。
その後、変換前エリア124に開始時コマンドが設定されている場合には、開始時変換テーブルに基づいて、変換前エリア124の第1~第15エリアRA1~RA15に設定されている第1~第15フレームFR1~FR15のうち除外対象のフレーム以外のフレームを変換後エリア125の第1~第7エリアRA1~RA7に転送する。具体的には、図48(a)に示すように、変換前エリア124の第1エリアRA1、第2エリアRA2、第3エリアRA3、第9エリアRA9、第10エリアRA10、第11エリアRA11、及び第15エリアRA15のデータを、変換後エリア125の第1エリアRB1、第2エリアRB2、第3エリアRA3、第4エリアRB4、第5エリアRB5、第6エリアRB6、及び第7エリアRB7に転送する。これにより、開始時コマンドを変換後開始時コマンドに変換することができる。
変換前エリア124に終了時コマンドが設定されている場合には、終了時変換テーブルに基づいて、変換前エリア124の第1~第15エリアRA1~RA15に設定されている第1~第15フレームFR1~FR15のうち除外対象のフレーム以外のフレームを変換後エリア125の第1~第10エリアRA1~RA10に転送する。具体的には、図48(b)に示すように、変換前エリア124の第1エリアRA1、第4エリアRA4、第5エリアRA5、第6エリアRA6、第7エリアRA7、第11エリアRA11、第12エリアRA12、第13エリアRA13、第14エリアRA14及び第15エリアRA15のデータを、変換後エリア125の第1エリアRB1、第2エリアRB2、第3エリアRB3、第4エリアRB4、第5エリアRB5、第6エリアRB6、第7エリアRB7、第8エリアRB8、第9エリアRB9、及び第10エリアRB10に転送する。これにより、終了時コマンドを変換後終了時コマンドに変換することができる。
演出側MPU92は、変換後開始時コマンド又は変換後終了時コマンドをコマンド格納バッファ126に格納する。これにより、演出側MPU92にて変換後開始時コマンド又は変換後終了時コマンドを利用可能となる。変換後開始時コマンド及び変換後終了時コマンドは、ヘッダHD以外のフレームFRmの最上位ビットにも「1」がセットされ得るコマンドである。演出側MPU92は、コマンド格納バッファ126に格納されているコマンドに基づいて演出を実行する。
このように、演出側MPU92は主側MPU72から受信した開始時コマンドを変換後開始時コマンドに変換するとともに、主側MPU72から受信した終了時コマンドを変換後終了時コマンドに変換する。演出側MPU92は、主側MPU72から受信した開始時コマンド又は終了時コマンドを変換後開始時コマンド又は変換後終了時コマンドに変換する場合、最上位集約フレームSF(第8フレームFR8)の第0~第5ビットに設定されている「0」又は「1」のデータを当該第0~第5ビットに対応する第2~第7フレームFR2~FR7における最上位ビットに設定する。これにより、主側MPU72から演出側MPU92に送信される開始時コマンド又は終了時コマンドに含まれているヘッダHD以外のフレームにおける最上位ビットの値を「0」としながら、演出側MPU92において、ヘッダHD以外のフレームにおける最上位ビットにも「1」がセットされ得る変換後開始時コマンド又は変換後終了時コマンドを利用可能とすることができる。
変換後開始時コマンドには、開始時コマンドに含まれている第1~第15フレームFR1~FR15のうち一部のフレームのみが設定されている。これにより、主側MPU72がゲームの開始時に演出側MPU92にて利用されるデータ以外のデータを含む開始時コマンドを送信する構成としながら、コマンド格納バッファ126に格納されて演出側MPU92にて利用される変換後開始時コマンドのデータ容量を抑えることができる。また、変換後終了時コマンドには、終了時コマンドに含まれている第1~第15フレームFR1~FR15のうち一部のフレームのみが設定されている。これにより、主側MPU72がゲームの終了時に演出側MPU92にて利用されるデータ以外のデータを含む終了時コマンドを送信する構成としながら、コマンド格納バッファ126に格納されて演出側MPU92にて利用される変換後終了時コマンドのデータ容量を抑えることができる。よって、コマンド格納バッファ126のデータ容量を低減することができる。
開始時コマンドに含まれている第1~第15フレームFR1~FR15のうち演出側MPU92が変換後開始時コマンドに設定するフレームは、終了時コマンドに含まれている第1~第15フレームFR1~FR15のうち演出側MPU92が変換後終了時コマンドに設定するフレームと異なっている。このため、ゲームの開始時に主側MPU72から演出側MPU92に送信される開始時コマンドに設定されるデータが格納されている主側RAM74の記憶エリアのアドレス範囲がゲームの終了時に主側MPU72から演出側MPU92に送信される終了時コマンドに設定されるデータが格納されている主側RAM74の記憶エリアのアドレス範囲と同一である構成において、ゲームの開始時には当該ゲームの開始時に演出側MPU92にて必要となるデータのみがヘッダHD及びフッタFTの間に設定されている変換後開始時コマンドを演出側MPU92にて利用可能とすることができるとともに、ゲームの終了時には当該ゲームの終了時に演出側MPU92にて必要となるデータのみがヘッダHD及びフッタFTの間に設定されている変換後終了時コマンドを演出側MPU92にて利用可能とすることができる。
主側MPU72は、最上位ビットに「1」がセットされることのないデータのみを含むコマンド(例えば、復電コマンド及び入賞結果コマンド)を送信する場合には、当該コマンドに含まれているフレームFRmにおける最上位ビットのデータを集約しない。既に説明したとおり、復電コマンドには第1CB当選データエリア74j及び第2CB当選データエリア74kのデータが設定される。これら第1CB当選データエリア74j及び第2CB当選データエリア74kは、最上位ビットに「1」がセットされない記憶エリアである。主側RAM74にはこれら第1CB当選データエリア74j及び第2CB当選データエリア74kの最上位ビットのデータを集約するための記憶エリアは設けられておらず、主側MPU72は復電コマンドを送信する場合にこれら第1CB当選データエリア74j及び第2CB当選データエリア74kの最上位ビットのデータを集約するための処理を実行しない。
このように、最上位ビットに「1」がセットされることのないデータのみを含むコマンドを送信する場合には、当該コマンドに含まれているフレームにおける最上位ビットのデータは集約しない構成である。このため、最上位ビットに「1」がセットされ得るデータが設定されないコマンドについてまで最上位集約フレームSFを生成する構成と比較して、主側MPU72にて当該コマンドを送信するための処理の構成を簡素化することができるとともに、当該コマンドを送信するための主側MPU72の処理負荷を軽減することができる。
演出側MPU92は、受信後待機バッファ122に格納されているコマンドに最上位集約フレームSFが設定されていないことを特定した場合には、当該コマンドをそのままコマンド格納バッファ126に転送する。具体的には、受信後待機バッファ122に復電コマンドが格納されている場合には当該復電コマンドをそのままコマンド格納バッファ126に転送するとともに、受信後待機バッファ122に入賞結果コマンドが格納されている場合には当該入賞結果コマンドをそのままコマンド格納バッファ126に転送する。このため、最上位ビットに「1」がセットされることのないフレームFRmのみが設定されているコマンドについてまで最上位集約フレームSFを生成する構成と比較して、コマンドを受信した後に変換するための処理を不要として、演出側MPU92における処理負荷を軽減することができる。
図45に示すように、受信回路87には、第1書き込みポインタ127及び読み込みポインタ128が設けられている。第1書き込みポインタ127及び読み込みポインタ128は1バイトからなり、第1書き込みポインタ127及び読み込みポインタ128には「0」~「31」のいずれかの整数が格納される。第1書き込みポインタ127は、受信後待機バッファ122における書き込み先のエリアを受信回路87が把握する場合に利用される。受信回路87は、受信バッファ121に1バイトのデータが格納されている場合、第1書き込みポインタ127の値に基づいて受信後待機バッファ122における書き込み先のエリアを把握し、受信バッファ121に格納されている1バイトのデータを当該把握したエリアに書き込む。そして、第1書き込みポインタ127の値を1加算し、当該1加算後の第1書き込みポインタ127の値が最大値である「31」を超えた場合には当該第1書き込みポインタ127の値を「0」クリアする。その後、受信バッファ121を「0」クリアする。
読み込みポインタ128は、受信後待機バッファ122に格納されたコマンドの先頭を演出側MPU92が把握する場合に利用される。演出側MPU92は、受信後待機バッファ122に1つ以上のコマンドが格納されている場合、読み込みポインタ128の値に基づいてコマンドの先頭を把握するとともに、当該コマンドのフッタFTのデータに基づいて当該コマンドの最後尾を把握する。受信後待機バッファ122に複数のコマンドが格納されている場合には、読み込みポインタ128の値に基づいて、当該複数のコマンドのうち最初に受信後待機バッファ122に格納されたコマンドの先頭が把握されるとともに、当該コマンドのフッタFTのデータに基づいて当該コマンドの最後尾が把握されることとなる。
演出側MPU92は、読み込みポインタ128の値に基づいて先頭及び最後尾を把握したコマンドが開始時コマンド又は終了時コマンドである場合、当該開始時コマンド又は終了時コマンドを演出側RAM94の変換前エリア124に設定する。そして、受信後待機バッファ122において当該開始時コマンド又は終了時コマンドが格納されていたエリアを「0」クリアするとともに、読み込みポインタ128の値を当該開始時コマンド又は終了時コマンドの最後尾(フッタFTのデータ)が格納されていたエリアの次のエリアに対応する値に更新する。また、演出側MPU92は、読み込みポインタ128の値に基づいて先頭及び最後尾を把握したコマンドが開始時コマンド及び終了時コマンド以外のコマンド(例えば、入賞結果コマンド又は復帰コマンド)である場合、当該コマンドを演出側RAM94のコマンド格納バッファ126に格納する。そして、受信後待機バッファ122において当該コマンドが格納されていたエリアを「0」クリアするとともに、読み込みポインタ128の値を当該コマンドの最後尾(フッタFTのデータ)が格納されていたエリアの次のエリアに対応する値に更新する。これにより、受信後待機バッファ122に格納された順番、すなわち主側MPU72から受信した順番で、主側MPU72から受信したコマンドを演出側MPU92にて利用可能な状態とすることができる。
図49(a)は変換後開始時コマンドに基づいて演出側MPU92が把握する内容を説明するための説明図であり、図49(b)は変換後終了時コマンドに基づいて演出側MPU92が把握する内容を説明するための説明図である。
図49(a)に示すように、演出側MPU92は受信したコマンドに開始時コマンドであることを示すヘッダHDのデータが設定されていることに基づいて、ゲームの開始タイミングであることを把握する。演出側MPU92は、開始時コマンドに設定されているベット数設定カウンタ74bのデータに基づいて、今回開始されたゲームのベット数が「3」であること、又は「2」であることを把握する。演出側MPU92は、開始時コマンドに設定されている停止順種別カウンタ74mのデータに基づいて、画像表示装置63におけるリール32L,32M,32Rの停止順報知の有無を把握するとともに、リール32L,32M,32Rの停止順報知を行う場合には報知する停止順序の種類を把握する。演出側MPU92は、開始時コマンドに設定されている遊技状態エリア77のデータに含まれているAT移行確定フラグ77fのデータに基づいてAT状態当選が発生したことを把握する。演出側MPU92は、開始時コマンドに設定されているAT継続カウンタ74uのデータに基づいて、AT状態ST5における残りの継続ゲーム数の上乗せが発生したか否かを把握するとともに、当該上乗せが発生した場合における上乗せゲーム数を把握する。
図49(b)に示すように、演出側MPU92は、終了時コマンドに設定されている遊技状態エリア77のデータに含まれている第1CB状態フラグ77aのデータに基づいて、第1CB状態ST2への移行が発生したこと、及び第1CB状態ST2が終了したことを把握する。演出側MPU92は、終了時コマンドに設定されている遊技状態エリア77のデータに含まれている第2CB状態フラグ77bのデータに基づいて、第2CB状態ST3への移行が発生したこと、及び第2CB状態ST3が終了したことを把握する。演出側MPU92は、終了時コマンドに設定されている遊技状態エリア77のデータに含まれている疑似ボーナス状態フラグ77cのデータに基づいて、疑似ボーナス状態ST4の開始タイミングであること、及び疑似ボーナス状態ST4の終了タイミングであることを把握する。演出側MPU92は、終了時コマンドに設定されている遊技状態エリア77のデータに含まれているAT状態フラグ77dのデータに基づいて、AT状態ST5への移行が発生したこと、及びAT状態ST5が終了したことを把握する。演出側MPU92は、終了時コマンドに設定されている遊技区間エリア76のデータに含まれている第2区間フラグ76aのデータに基づいて、第2区間SC2が開始されたこと、及び第2区間SC2が終了したことを把握する。演出側MPU92は、終了時コマンドに設定されている遊技区間エリア76のデータに含まれている第1エンディングフラグ76bのデータに基づいて、エンディング期間の演出を開始すべきか否かを把握し、エンディング期間の演出を開始する場合には当該終了時コマンドに設定されている継続ゲーム数カウンタ74rのデータに基づいてエンディング条件が成立するまでの残りのゲーム数を把握する。演出側MPU92は、終了時コマンドに設定されている遊技区間エリア76のデータに含まれている第2エンディングフラグ76cのデータに基づいて、エンディング期間の演出を開始すべきか否かを把握し、エンディング期間の演出を開始する場合には当該終了時コマンドに設定されている合計獲得数カウンタ74sのデータに基づいてエンディング条件が成立するまでの残りの遊技媒体の制限付き合計純増枚数を把握する。演出側MPU92は、終了時コマンドに設定されている付与数カウンタ74eのデータに基づいて今回終了したゲームにおける遊技媒体の付与の有無を把握するとともに、今回終了したゲームにおいて遊技媒体の付与が行われる場合には当該遊技媒体の付与数を把握する。
次に、主側MPU72にて実行される共通コマンド送信処理について図50のフローチャートを参照しながら説明する。既に説明したとおり、共通コマンド送信処理は、コマンド出力処理(図44)において主側RAM74の開始時コマンドフラグに「1」がセットされている場合(ステップS2707:YES)、又は主側RAM74の終了時コマンドフラグに「1」がセットされている場合(ステップS2708:YES)に、ステップS2709にて実行される。既に説明したとおり、開始時コマンドフラグにはゲームが開始される場合に抽選結果対応処理(図25)のステップS1107にて「1」がセットされるとともに、終了時コマンドフラグにはゲームが終了する場合に遊技終了時の対応処理(図32)のステップS1508にて「1」がセットされる。
共通コマンド送信処理では、まず最上位集約処理を行う(ステップS2801)。最上位集約処理では、主側RAM74において「0001H」~「0006H」のアドレスに設定されている記憶エリアの最上位ビット(第7ビット)に格納されている「1」又は「0」のデータを最上位集約用エリア74vの第0~第5ビットに転送する。最上位集約処理(ステップS2801)にて転送元となる主側RAM74の記憶エリアのアドレス範囲は、連続する「0001H」~「0006H」のアドレス範囲である。最上位集約処理では、「0001H」~「0006H」のアドレスに設定された記憶エリアを転送対象範囲とし、当該転送対象範囲に含まれている全ての記憶エリアの最上位ビットに格納されている「0」又は「1」のデータが最上位集約用エリア74vの第0~第5ビットに設定されるまで、転送元の記憶エリアにおける最上位ビットに格納されている「0」又は「1」のデータを転送先ビットに転送する処理、転送元の記憶エリアを更新する処理、及び転送先ビットを更新する処理を繰り返し実行する。転送元の記憶エリアのアドレスは「0001H」→「0002H」→…→「0005H」→「0006H」の順番で更新されるとともに、最上位集約用エリア74vにおける転送先ビットは第0ビット→第1ビット→…→第4ビット→第5ビットの順番で更新される。
図51は主側MPU72にて実行される最上位集約処理(ステップS2801)を示すフローチャートである。
最上位集約処理では、主側RAM74に設けられた転送先カウンタ115に主側RAM74における最上位集約用エリア74vのアドレスを設定する(ステップS2901)。転送先カウンタ115は、データの転送先を主側MPU72にて把握可能とするカウンタである。転送先カウンタ115には、データの転送先となる記憶エリアのアドレス(2バイト)が設定される。ステップS2901にて転送先カウンタ115に最上位集約用エリア74vのアドレスを設定することにより、転送先の記憶エリアとして最上位集約用エリア74vを設定することができる。
その後、最上位集約用エリア74vを「0」クリアし(ステップS2902)、主側RAM74に設けられたビット指定カウンタ117の値を「0」クリアする(ステップS2903)。ビット指定カウンタ117は転送先の記憶エリア(最上位集約用エリア74v)における転送先ビットを主側MPU72にて把握可能とするカウンタである。ビット指定カウンタ117には「0」~「5」のいずれかの数値情報が設定される。ステップS2903にてビット指定カウンタ117の値を「0」クリアすることにより、転送先ビットとして最上位集約用エリア74vの第0ビットを設定することができる。
その後、最上位集約処理における転送対象範囲である「0001H」~「0006H」のアドレス範囲の開始アドレスである「0001H」を主側RAM74に設けられた転送元カウンタ116に設定する(ステップS2904)。転送元カウンタ116は、転送元の記憶エリアのアドレス(2バイト)を主側MPU72にて把握可能とするカウンタである。ステップS2904にて転送元カウンタ116に「0001H」を設定することにより、転送元の記憶エリアとして「0001H」のアドレスに設定されているAT継続カウンタ74uの下位エリアを設定することができる。その後、主側RAM74に設けられた転送回数カウンタ114(図45参照)にデータの転送回数として「6」を設定する(ステップS2905)。当該「6」は、転送対象範囲に存在する記憶エリアの数である。転送回数カウンタ114は、共通コマンド送信処理における転送対象範囲に含まれている記憶エリアに格納されているデータを送信待機バッファ112に転送する回数、及び最上位集約処理における転送対象範囲に含まれている記憶エリアの最上位ビットに格納されているデータを最上位集約用エリア74vに転送する回数を主側MPU72にて把握可能とするカウンタである。転送回数カウンタ114は1バイトからなる。
その後、転送元の記憶エリアにおける最上位ビットのデータを転送先ビットに転送する(ステップS2906)。既に説明したとおり、主側MPU72は転送元カウンタ116に格納されているアドレスに基づいて転送元の記憶エリアを特定し、転送先カウンタ115に格納されているアドレス及びビット指定カウンタ117の値に基づいて転送先ビットを特定する。その後、転送回数カウンタ114の値を1減算し(ステップS2907)、当該1減算後の転送回数カウンタ114の値が「0」であるか否かを判定する(ステップS2908)。
ステップS2908にて否定判定を行った場合には、主側RAM74における転送元カウンタ116の値を1加算することにより転送元の記憶エリアのアドレスを更新する(ステップS2909)。ステップS2906~ステップS2910の処理はステップS2908にて肯定判定が行われるまで繰り返し実行される処理であり、ステップS2909では、「0001H」→「0002H」→…→「0005H」→「0006H」の順番で、転送元の記憶エリアのアドレスが更新される。その後、主側RAM74におけるビット指定カウンタ117の値を1加算することにより最上位集約用エリア74vにおける転送先ビットを更新する(ステップS2910)。ステップS2910では、第0ビット→第1ビット→…→第4ビット→第5ビットの順番で、最上位集約用エリア74vにおける転送先ビットが更新される。
その後、ステップS2906に進み、ステップS2908にて肯定判定が行われるまで、ステップS2906~ステップS2910の処理を繰り返し実行する。これにより、転送対象範囲に含まれている全ての記憶エリアの最上位ビットに格納されている「0」又は「1」のデータを最上位集約用エリア74vの第0~第5ビットに設定することができる。ステップS2908にて肯定判定を行った場合には、本最上位集約処理を終了する。
このように、最上位集約処理(図51)における転送対象範囲は主側RAM74において連続する「0001H」~「0006H」のアドレス範囲である。主側RAM74における転送元カウンタ116の値を1加算する処理(ステップS2909の処理)を繰り返し実行することにより転送元の記憶エリアを順次更新することができる。これにより、転送元の記憶エリアを順次更新するための処理構成が簡素化されている。
最上位集約処理(図51)における転送対象範囲が主側RAM74において連続する「0001H」~「0006H」のアドレス範囲であることにより、ステップS2904にて転送元カウンタ116に当該転送対象範囲の開始アドレスである「0001H」をセットするとともに、ステップS2905にて転送回数カウンタ114に転送回数である「6」をセットすることにより当該転送対象範囲を指定することができる。これにより、転送対象範囲を指定するための処理構成が簡素化されている。
共通コマンド送信処理(図50)の説明に戻り、ステップS2801にて最上位集約処理(図51)を実行した後は、送信回路85に設けられた書き込みポインタ113(図45参照)の値を把握することにより送信待機バッファ112における書き込み先のエリアを把握する(ステップS2802)。書き込みポインタ113には、送信待機バッファ112に存在する複数のエリアのうちデータの書き込み対象となるエリアを特定するためのデータが設定される。具体的には、書き込みポインタ113には「0」~「31」のいずれかの数値情報が設定される。
その後、主側RAM74の開始時コマンドフラグに「1」がセットされているか否かを判定する(ステップS2803)。開始時コマンドフラグに「1」がセットされている場合(ステップS2803:YES)、すなわちゲームの開始時である場合には、主側ROM73に記憶されている開始時コマンドに対応するヘッダHDのデータをステップS2802にて把握した送信待機バッファ112における書き込み先のエリアに設定し(ステップS2804)、開始時コマンドフラグを「0」クリアする(ステップS2805)。一方、開始時コマンドフラグに「1」がセットされていない場合(ステップS2803:NO)、すなわちゲームの終了時である場合には、主側ROM73に記憶されている終了時コマンドに対応するヘッダHDのデータをステップS2802にて把握した送信待機バッファ112における書き込み先のエリアに設定し(ステップS2806)、主側RAM74の終了時コマンドフラグを「0」クリアする(ステップS2807)。
ステップS2805又はステップS2807の処理を行った場合には、書き込みポインタ113の値を更新することにより送信待機バッファ112における書き込み先のエリアを更新する(ステップS2808)。ステップS2808では、書き込みポインタ113の値を1加算し、当該1加算後の書き込みポインタ113の値が最大値である「31」を超えた場合には当該書き込みポインタ113を「0」クリアする。
その後、主側RAM74において、開始時コマンド又は終了時コマンドを送信する場合にデータを送信待機バッファ112に転送する対象となる転送対象範囲の開始アドレスを主側RAM74の転送元カウンタ116に設定する(ステップS2809)。共通コマンド送信処理(図50)における転送対象範囲は「0001H」~「000DH」のアドレス範囲である。ステップS2809にて転送元カウンタ116に「0001H」のアドレスを設定することにより、AT継続カウンタ74uの下位エリアを転送元の記憶エリアに設定することができる。その後、主側RAM74の転送回数カウンタ114に「13」をセットする(ステップS2810)。当該「13」は転送対象範囲である「0001H」~「000DH」のアドレス範囲に含まれている1バイトの記憶エリアの数である。
その後、書き込みポインタ113の値に対応する送信待機バッファ112の書き込み先のエリアを把握するとともに、転送元カウンタ116に設定されているアドレスに基づいて転送元の記憶エリアを把握し、当該転送元の記憶エリアのデータを当該書き込み先のエリアに転送する(ステップS2811)。その後、当該書き込み先のエリアにおける最上位ビット(第7ビット)に「0」をセットする(ステップS2812)。これにより、第2~第14フレームFR2~FR14の最上位ビットの値を「0」にすることができるとともに、最上位ビットの値に基づいてヘッダHDと第2~第14フレームFR2~FR14とを識別可能とすることができる。
その後、ステップS2808と同様に、書き込みポインタ113の値を更新する(ステップS2813)。具体的には、書き込みポインタ113の値を1加算し、当該1加算後の書き込みポインタ113の値が最大値である「31」を超えた場合には当該書き込みポインタ113を「0」クリアする。その後、主側RAM74における転送回数カウンタ114の値を1減算し(ステップS2814)、当該1減算後の転送回数カウンタ114の値が「0」であるか否かを判定する(ステップS2815)。
ステップS2815にて否定判定を行った場合、すなわち転送対象範囲に含まれている1バイトの記憶エリアに格納されているデータの送信待機バッファ112への転送が終了していない場合には、転送元カウンタ116の値を1加算することにより転送元の記憶エリアのアドレスを更新する(ステップS2816)。ステップS2811~ステップS2816の処理はステップS2815にて肯定判定が行われるまで繰り返し実行される処理であり、ステップS2816では、「0001H」→「0002H」→「0003H」→…→「000CH」→「000DH」の順番で、転送元エリアとなる記憶エリアのアドレスを更新する。
その後、ステップS2811に進み、ステップS2815にて肯定判定が行われるまで、ステップS2811~ステップS2816の処理を繰り返し実行する。これにより、転送対象範囲である「0001H」~「000DH」のアドレス範囲に含まれている全ての1バイトの記憶エリアに格納されているデータを送信待機バッファ112に設定することができる。そして、ステップS2815にて肯定判定を行った場合には、送信待機バッファ112において書き込みポインタ113の値に対応する書き込み先のエリアに、主側ROM73に記憶されているフッタFTのデータを設定する(ステップS2817)。その後、ステップS2808及びステップS2813と同様に、書き込みポインタ113の値を更新することにより送信待機バッファ112における書き込み先のエリアを更新して(ステップS2818)、本共通コマンド送信処理を終了する。ステップS2818では、書き込みポインタ113の値を1加算し、当該1加算後の書き込みポインタ113の値が最大値である「31」を超えた場合には当該書き込みポインタ113を「0」クリアする。
このように、共通コマンド送信処理(図50)における転送対象範囲は主側RAM74において連続する「0001H」~「000DH」のアドレス範囲である。主側RAM74における転送元カウンタ116の値を1加算する処理(ステップS2816の処理)を繰り返し実行することにより転送元の記憶エリアを順次更新することができる。これにより、転送元の記憶エリアを順次更新するための処理構成が簡素化されている。
共通コマンド送信処理(図50)における転送対象範囲が主側RAM74において連続する「0001H」~「000DH」のアドレス範囲であることにより、ステップS2809にて転送元カウンタ116に当該転送対象範囲の開始アドレスである「0001H」をセットするとともに、ステップS2810にて転送回数カウンタ114に転送回数である「13」をセットすることにより当該転送対象範囲を指定することができる。これにより、転送対象範囲を指定するための処理構成が簡素化されている。
次に、演出側MPU92にて実行されるコマンド受信対応処理について図52のフローチャートを参照しながら説明する。コマンド受信対応処理は演出側MPU92にて比較的短い周期(例えば4ミリ秒周期)で繰り返し実行される。
コマンド受信対応処理では、まず受信回路87における受信後待機バッファ122にヘッダHDのデータが設定されているか否かを判定する(ステップS3001)。既に説明したとおり、演出側MPU92が主側MPU72から受信する各種コマンドに含まれているフレームFRm(1バイトのデータ)のうち最上位ビット(第7ビット)に「1」がセットされているフレームFRmはヘッダHDのデータが設定されている第1フレームFR1のみである。ステップS3001では、最上位ビットに「1」が設定されているフレームFRmが存在している場合に肯定判定を行う。
受信後待機バッファ122にヘッダHDのデータが設定されている場合(ステップS3001:YES)には、受信後待機バッファ122にフッタFTのデータが設定されているか否かを判定することにより1つ以上のコマンドの受信が終了しているか否かを判定する(ステップS3002)。ステップS3002にて否定判定を行った場合には、コマンドを受信中であることを意味するため、ステップS3003以降の処理を実行することなく、そのまま本コマンド受信対応処理を終了する。
受信後待機バッファ122にフッタFTのデータが存在している場合(ステップS3002:YES)には、受信後待機バッファ122から演出側RAM94の変換前エリア124又はコマンド格納バッファ126に移動させる対象となるコマンド(以下、「移動対象のコマンド」ともいう。)の先頭及び最後尾を把握する(ステップS3003)。ステップS3003では、受信後待機バッファ122における読み込みポインタ128の値に基づいて移動対象のコマンドの先頭を把握するとともに、当該移動対象のコマンドのフッタFTのデータに基づいて当該移動対象のコマンドの最後尾を把握する。受信後待機バッファ122に複数のコマンドが格納されている場合には、読み込みポインタ128の値に基づいて、当該複数のコマンドのうち最初に受信後待機バッファ122に格納されたコマンドが移動対象のコマンドとなる。
その後、ステップS3003にて把握した移動対象のコマンドに開始時コマンドのヘッダHDのデータが設定されているか否かを判定し(ステップS3004)、開始時コマンドのヘッダHDのデータが設定されている場合(ステップS3004:YES)には、移動対象のコマンドが開始時コマンドであることを意味するため、演出側ROM93から開始時受信対応テーブルを読み出す(ステップS3005)。一方、開始時コマンドのヘッダHDのデータが設定されていない場合(ステップS3004:NO)には、ステップS3003にて把握した移動対象のコマンドに終了時コマンドのヘッダHDのデータが設定されているか否かを判定し(ステップS3006)、終了時コマンドのヘッダHDのデータが設定されている場合(ステップS3006:YES)には、移動対象のコマンドが終了時コマンドであることを意味するため、演出側ROM93から終了時受信対応テーブルを読み出す(ステップS3007)。
ステップS3005又はステップS3007の処理を行った場合には、最上位設定処理を実行する(ステップS3008)。当該最上位設定処理では、受信した開始時コマンド又は終了時コマンドに含まれている最上位集約フレームSF(第8フレームFR8)の第0~第5ビットに設定されている「0」又は「1」のデータを当該第0~第5ビットに対応する第2~第7フレームFR2~FR7の最上位ビットに設定する。図53は最上位設定処理(ステップS3008)を示すフローチャートである。
最上位設定処理では、まず受信後待機バッファ122における移動対象のコマンドである開始時コマンド又は終了時コマンドの第1~第15フレームFR1~FR15を演出側RAM94における変換前エリア124の第1~第15エリアRA1~RA15に設定する(ステップS3101)。これにより、変換前エリア124に開始時コマンドが設定された場合及び変換前エリア124に終了時コマンドが設定された場合のいずれにおいても、最上位集約フレームSFが第8エリアRA8に設定されている状態となる。
その後、受信後待機バッファ122のクリア処理を実行する(ステップS3102)。当該受信後待機バッファ122のクリア処理では、受信後待機バッファ122において移動対象のコマンドである開始時コマンド又は終了時コマンドが格納されていたエリアを「0」クリアする。これにより、受信後待機バッファ122に次のコマンドを格納するための空き領域を確保することができる。その後、受信後待機バッファ122における読み込みポインタ128の値を当該開始時コマンド又は終了時コマンドの最後尾(フッタFTのデータ)が格納されていた記憶エリアの次の記憶エリアに対応する値に更新する(ステップS3103)。
その後、変換前エリア124の第8エリアRA8のアドレス(2バイト)を演出側RAM94に設けられた演出側転送元カウンタに設定する(ステップS3104)。演出側転送元カウンタは、データの転送元の記憶エリアを演出側MPU92にて把握可能とするカウンタである。演出側転送元カウンタは2バイトからなる。ステップS3104にて第8エリアRA8のアドレスを演出側転送元カウンタに設定することにより、最上位集約フレームSFが設定されている第8エリアRA8を転送元の記憶エリアとすることができる。
その後、演出側RAM94に設けられた演出側ビット指定カウンタの値を「0」クリアする(ステップS3105)。演出側ビット指定カウンタは、転送元の記憶エリアにおける転送元ビットを演出側MPU92にて把握可能とするカウンタである。演出側ビット指定カウンタは1バイトからなる。ステップS3105にて演出側ビット指定カウンタの値を「0」クリアすることにより、変換前エリア124の第8エリアRA8における第0ビットを転送元ビットとすることができる。
その後、変換前エリア124における第2エリアRA2のアドレス(2バイト)を演出側RAM94に設けられた演出側転送先カウンタに設定する(ステップS3106)。演出側転送先カウンタは、転送先の記憶エリアを演出側MPU92にて把握可能とするカウンタである。演出側転送先カウンタは1バイトからなる。ステップS3106にて第2エリアRA2のアドレスを演出側転送先カウンタに設定することにより、当該第2エリアRA2を転送先の記憶エリアとすることができる。
その後、転送元ビットに格納されている「0」又は「1」のデータを転送先の記憶エリアにおける最上位ビットに転送する(ステップS3107)。既に説明したとおり、演出側MPU92は、演出側転送元カウンタに格納されているアドレスに基づいて転送元の記憶エリアを特定するとともに、演出側ビット指定カウンタの値に基づいて当該転送元の記憶エリアにおける転送元ビットを特定する。また、演出側MPU92は演出側転送先カウンタに格納されているアドレスに基づいて転送先の記憶エリアを特定する。
その後、演出側ビット指定カウンタの値が「5」であるか否かを判定することにより転送元ビットが変換前エリア124における第8エリアRA8の第5ビットである状態でステップS3107におけるデータの転送が行われたか否かを判定する(ステップS3108)。ステップS3108にて否定判定を行った場合には、演出側ビット指定カウンタの値を1加算することにより変換前エリア124の第8エリアRA8における転送元ビットを更新する(ステップS3109)。ステップS3107~ステップS3110の処理はステップS3108にて肯定判定が行われるまで繰り返し実行される処理であり、ステップS3109では、第0ビット→第1ビット→…→第4ビット→第5ビットの順番で、第8エリアRA8における転送元ビットが更新される。
その後、演出側転送先カウンタの値を1加算することにより変換前エリア124における転送先の記憶エリアのアドレスを更新する(ステップS3110)。ステップS3110では、変換前エリア124において、第2エリアRA2→第3エリアRA3→第4エリアRA4→第5エリアRA5→第6エリアRA6→第7エリアRA7の順番で、転送先の記憶エリアが更新される。
ステップS3109及びステップS3110にて転送元ビット及び転送先の記憶エリアを更新した場合には、ステップS3107に進み、ステップS3108にて肯定判定が行われるまで、ステップS3107~ステップS3110の処理を繰り返し実行する。これにより、主側MPU72において開始時コマンド又は終了時コマンドの送信前に最上位集約フレームSFの第0~第5ビットに集約したデータを対応する第2~第7フレームFR2~FR7の最上位ビットに復帰させることができる。ステップS3108にて肯定判定を行った場合には、本最上位設定処理を終了する。
このように、最上位設定処理(図53)において最上位ビットに最上位集約フレームSFの第0~第5ビットに格納されている「0」又は「1」のデータが設定されるエリアRA2~RA7のアドレスは連続する「α+2」~「α+7」のアドレス範囲である。演出側転送先カウンタの値を1加算する処理(ステップS3110の処理)を繰り返し実行することにより転送先の記憶エリアを順次更新することができる。これにより、転送先の記憶エリアを順次更新するための処理構成が簡素化されている。
演出側RAM94における演出側ビット指定カウンタの値は、最上位集約フレームSFの第0~第5ビットのいずれかに格納されている「0」又は「1」のデータを転送先の記憶エリアにおける最上位ビットに転送する処理(ステップS3107の処理)が実行される度に1加算される。このため、演出側ビット指定カウンタの値を参照することにより、最上位集約フレームSFの第0~第5ビットのいずれかに設定されている「0」又は「1」のデータを当該第0~第5ビットのいずれかに対応する第2~第7フレームFR2~FR7に転送した回数を把握することができる。これにより、転送回数を演出側MPU92にて把握するための処理構成を簡素化することができる。
コマンド受信対応処理(図52)の説明に戻り、ステップS3008にて最上位設定処理を実行した後は、コマンド変換処理を実行する(ステップS3009)。今回受信したコマンドが開始時コマンドである場合、ステップS3009におけるコマンド変換処理では、変換前エリア124に格納されているデータのうちヘッダHDのデータ、フッタFTのデータ及びゲームの開始時に演出側MPU92にて使用するデータを抽出して変換後エリア125の第1~第7エリアRB1~RB7に転送することにより変換後エリア125に変換後開始時コマンドが設定されている状態とする。一方、今回受信したコマンドが終了時コマンドである場合、ステップS3009におけるコマンド変換処理では、変換前エリア124に格納されているデータのうちヘッダHDのデータ、フッタFTのデータ及びゲームの終了時に演出側MPU92にて使用するデータを抽出して変換後エリア125に転送することにより変換後エリア125に変換後終了時コマンドが設定されている状態とする。図54は演出側MPU92にて実行されるコマンド変換処理(ステップS3009)を示すフローチャートである。
コマンド変換処理では、まず変換前エリア124における第1エリアRA1のアドレス(「α+1」)を演出側転送元カウンタに設定する(ステップS3201)。これにより、変換前エリア124の第1エリアRA1を転送元の記憶エリアとすることができる。その後、変換後エリア125における第1エリアRB1のアドレス(「β+1」)を演出側転送先カウンタに設定する(ステップS3202)。これにより、変換後エリア125における第1エリアRB1を転送元の記憶エリアとすることができる。その後、転送元の記憶エリアに格納されているデータを転送先の記憶エリアに転送する(ステップS3203)。既に説明したとおり、演出側MPU92は、演出側転送元カウンタに格納されているアドレスに基づいて転送元の記憶エリアを特定することができるとともに、演出側転送先カウンタに格納されているアドレスに基づいて転送先の記憶エリアを特定することができる。
その後、転送元の記憶エリアが変換前エリア124における第15エリアRA15であるか否かを判定する(ステップS3204)。ステップS3204では、演出側転送元カウンタに変換前エリア124における第15エリアRA15のアドレス(「α+15」)が格納されている場合に肯定判定を行う。第15エリアRA15は、変換前エリア124に設定されているコマンドが開始時コマンドである場合、及び変換前エリア124に設定されているコマンドが終了時コマンドである場合のいずれにおいても、フッタFTのデータが設定されているエリアである。
ステップS3204にて否定判定を行った場合、すなわちコマンドの変換が終了していない場合には、演出側転送元カウンタの値を1加算することにより転送元の記憶エリアのアドレスを更新する(ステップS3205)。ステップS3205~ステップS3206の処理はステップS3206にて否定判定が行われるまで繰り返し実行される処理であり、ステップS3205では、「α+1」→「α+2」→…→「α+14」→「α+15」の順番で転送元の記憶エリアのアドレスを更新する。これにより、第1エリアRA1→第2エリアRA2→第14エリアRA14→第15エリアRA15の順番で、変換前エリア124における転送元の記憶エリアが更新される。
その後、読み出している開始時受信対応テーブル又は終了時受信対応テーブルを参照して、ステップS3205にて更新した後の転送元の記憶エリアが除外対象のエリアであるか否かを判定する(ステップS3206)。既に説明したとおり、開始時受信対応テーブルには、除外対象のエリアとして、第3~第6フレームFR3~FR6が格納されている第4~第7エリアRA4~RA7、最上位集約フレームSFが格納されている第8エリアRA8、及び第10~第12フレームFR10~FR12が格納されている第12~第14エリアRA12~RA14が設定されている。また、終了時受信対応テーブルには、除外対象のエリアとして、第1~第2フレームFR1~FR2が格納されている第2~第3エリアRA2~RA3、最上位集約フレームSFが格納されている第8エリアRA8、及び第7~第8フレームFR7~FR8が格納されている第9~第10エリアRA9~RA10が設定されている。
ステップS3206にて肯定判定を行った場合には、ステップS3205に進み、ステップS3206にて否定判定が行われるまでステップS3205~ステップS3206の処理を繰り返し実行する。これにより、変換前エリア124において除外対象のエリアが連続して存在している場合においても当該連続して存在している除外対象のエリアに格納されているデータが変換後エリア125に転送されてしまうことを防止することができる。
ステップS3206にて否定判定を行った場合には、演出側転送先カウンタの値を1加算することにより転送先の記憶エリアのアドレスを更新する(ステップS3207)。ステップS3203~ステップS3207の処理はステップS3204にて肯定判定が行われるまで繰り返し実行される処理であり、ステップS3207では、「β+1」→「β+2」→…→「β+9」→「β+10」の順番で、転送元の記憶エリアのアドレスを更新する。これにより、変換後エリア125において、第1エリアRB1→第2エリアRB2→…→第9エリアRB9→第10エリアRB10の順番で、転送先の記憶エリアが更新される。その後、ステップS3203に進み、ステップS3204にて肯定判定が行われるまで、ステップS3203~ステップS3207の処理を繰り返し実行する。これにより、変換前エリア124に設定されているデータのうち除外対象ではないエリアに設定されているデータを変換後エリア125に転送し、変換後エリア125に変換後開始時コマンド又は変換後終了時コマンドが設定されている状態とすることができる。ステップS3204にて肯定判定を行った場合、すなわちコマンドの変換が終了した場合には、本コマンド変換処理を終了する。
このように、変換前エリア124における転送元の記憶エリアの更新は、除外対象のエリアを除く態様で行われる。一方、変換後エリア125における転送先の記憶エリアの更新は、変換後エリア125において、現状における転送先の記憶エリアの次に設定されている記憶エリアが更新後における転送先の記憶エリアとなる態様で行われる。これにより、開始時コマンドを受信した場合には当該開始時コマンドからゲームの開始時に演出側MPU92にて使用されるデータを抽出して変換後開始時コマンドに設定することができるとともに、終了時コマンドを受信した場合には当該終了時コマンドからゲームの終了時に演出側MPU92にて使用されるデータを抽出して変換後終了時コマンドに設定することができる。
コマンド受信対応処理(図52)の説明に戻り、ステップS3009にてコマンド変換処理を実行した後は、演出側RAM94に設けられた第2書き込みポインタ129(図45参照)の値を把握することによりコマンド格納バッファ126における書き込み先のエリアを把握する(ステップS3010)。第2書き込みポインタ129には、コマンド格納バッファ126に存在する複数のエリアのうちデータの書き込み対象となるエリアを特定するためのデータが設定される。具体的には、第2書き込みポインタ129には「0」~「31」のいずれかの数値情報が設定される。
その後、変換後エリア125に格納されている変換後開始時コマンド又は変換後終了時コマンドをステップS3010にて把握したコマンド格納バッファ126における書き込み先のエリアに設定する(ステップS3011)。これにより、変換後開始時コマンド又は変換後終了時コマンドがコマンド格納バッファ126に格納されている状態として、当該変換後開始時コマンド又は変換後終了時コマンドを演出側MPU92にて利用可能な状態とすることができる。
その後、第2書き込みポインタ129の値を更新する(ステップS3012)。ステップS3012では、ステップS3011にて変換後開始時コマンドのデータをコマンド格納バッファ126に書き込んだ場合には第2書き込みポインタ129の値に当該変換後開始時コマンドのデータ容量である「7」を加算し、ステップS3011にて変換後終了時コマンドのデータをコマンド格納バッファ126に書き込んだ場合には第2書き込みポインタ129の値に当該変換後終了時コマンドのデータ容量である「10」を加算する。ステップS3012では、「7」又は「10」を加算する演算の演算結果が最大値である「63」を超える場合、当該演算結果よりも「64」小さい値が第2書き込みポインタ129に設定されている状態とする。例えば、「7」又は「10」を加算する演算の演算結果が最大値である「63」を超える「64」である場合、当該演算結果(「64」)よりも「64」小さい「0」が第2書き込みポインタ129に設定されている状態とする。
その後、ステップS3011にてコマンド格納バッファ126に格納したコマンドが変換後開始時コマンドである場合(ステップS3013:YES)には演出側RAM94に設けられた開始時受信フラグに「1」をセットする(ステップS3014)。開始時受信フラグは、主側MPU72から開始時コマンドを受信したことを演出側MPU92にて把握可能とするフラグである。ステップS3014にて開始時受信フラグに「1」がセットされることにより、後述する開始時受信対応処理(図55)においてステップS3302以降の処理が実行されることとなる。
ステップS3011にてコマンド格納バッファ126に格納したコマンドが変換後開始時コマンドではない場合(ステップS3013:NO)、すなわちステップS3011にてコマンド格納バッファ126に格納したコマンドが変換後終了時コマンドである場合には、演出側RAM94に設けられた終了時受信フラグに「1」をセットする(ステップS3015)。終了時受信フラグは、主側MPU72から終了時コマンドを受信したことを演出側MPU92にて把握可能とするフラグである。ステップS3015にて終了時受信フラグに「1」がセットされることにより、後述する終了時受信対応処理(図57)においてステップS3502以降の処理が実行されることとなる。ステップS3014又はステップS3015の処理を行った場合には、変換前エリア124及び変換後エリア125を「0」クリアして(ステップS3016)、本コマンド受信対応処理を終了する。
ステップS3003にて移動対象のコマンドとして把握したコマンドが開始時コマンド及び終了時コマンドのいずれでもない場合(ステップS3004:NO、ステップS3006:NO)には、当該移動対象のコマンドに入賞結果コマンドであることを示すヘッダHDのデータが設定されているか否かを判定する(ステップS3017)。移動対象のコマンドに入賞結果コマンドであることを示すヘッダHDのデータが設定されている場合(ステップS3017:YES)には、演出側RAM94における第2書き込みポインタ129の値を把握することによりコマンド格納バッファ126における書き込み先のエリアを把握し(ステップS3018)、受信後待機バッファ122に格納されている入賞結果コマンドをステップS3018にて把握したコマンド格納バッファ126における書き込み先のエリアに設定する(ステップS3019)。これにより、入賞結果コマンドがコマンド格納バッファ126に格納されている状態として、当該入賞結果コマンドを演出側MPU92にて利用可能な状態とすることができる。
その後、第2書き込みポインタ129の値を更新する(ステップS3020)。ステップS3020では、ステップS3019にてコマンド格納バッファ126に書き込んだ入賞結果コマンドのデータ容量である「5」を第2書き込みポインタ129の値に加算する。ステップS3020では、「5」を加算する演算の演算結果が最大値である「63」を超える場合、当該演算結果よりも「64」小さい値が第2書き込みポインタ129に設定されている状態とする。例えば、「5」を加算する演算の演算結果が最大値である「63」を超える「64」である場合、当該演算結果(「64」)よりも「64」小さい「0」が第2書き込みポインタ129に設定されている状態とする。
その後、受信後待機バッファ122のクリア処理を実行する(ステップS3021)。ステップS3021における受信後待機バッファ122のクリア処理では、受信後待機バッファ122において入賞結果コマンドが格納されていたエリアを「0」クリアする。これにより、受信後待機バッファ122に次のコマンドを格納するための空き領域を確保することができる。その後、受信後待機バッファ122における読み込みポインタ128の値を当該入賞結果コマンドの最後尾(フッタFTのデータ)が格納されていたエリアの次のエリアに対応する値に更新する(ステップS3022)。
その後、演出側RAM94に設けられた入賞結果受信フラグに「1」をセットして(ステップS3023)、本コマンド受信対応処理を終了する。入賞結果受信フラグは、入賞結果コマンドを受信したことを演出側MPU92にて把握可能とするフラグである。ステップS3023にて入賞結果受信フラグに「1」がセットされることにより、後述する入賞結果受信対応処理(図56)にてステップS3402以降の処理が実行されることとなる。
ステップS3017にて否定判定を行った場合には、その他のコマンドの受信対応処理を実行して(ステップS3024)、本コマンド受信対応処理を終了する。ステップS3024におけるその他のコマンドの受信対応処理では、まず演出側RAM94における第2書き込みポインタ129の値を把握することによりコマンド格納バッファ126における書き込み先のエリアを把握し、当該把握したエリアにステップS3003にて移動対象のコマンドとして把握したコマンド(例えば復電コマンド)を設定する。その後、ステップS3012及びステップS3020と同様に、第2書き込みポインタ129の値を更新する。その後、受信後待機バッファ122において移動対象のコマンドが格納されていたエリアを「0」クリアする。これにより、受信後待機バッファ122に次のコマンドを格納するための空き領域を確保することができる。その後、受信後待機バッファ122における読み込みポインタ128の値を当該移動対象のコマンドの最後尾(フッタFTのデータ)が格納されていたエリアの次のエリアに対応する値に更新する。
次に、演出側MPU92にて実行される開始時受信対応処理について図55のフローチャートを参照しながら説明する。開始時受信対応処理は演出側MPU92にて比較的短い周期(例えば4ミリ秒周期)で繰り返し実行される。
開始時受信対応処理では、演出側RAM94の開始時受信フラグに「1」がセットされている場合(ステップS3301:YES)、コマンド格納バッファ126に格納されている変換後開始時コマンドに設定されているベット数設定カウンタ74bのデータを演出側RAM94に設けられた演出側ベット数カウンタにセットする(ステップS3302)。演出側ベット数カウンタは、今回のゲームのベット数(「2」又は「3」)を演出側MPU92にて把握可能とするカウンタである。ステップS3302にて変換後開始時コマンドに設定されているベット数設定カウンタ74bのデータを演出側ベット数カウンタにセットすることにより、今回のゲームのベット数を演出側MPU92にて把握可能とすることができる。
その後、現状における遊技状態を把握する(ステップS3303)。演出側RAM94には、演出側第1CB状態フラグ、演出側第2CB状態フラグ、演出側疑似ボーナス状態フラグ、演出側AT状態フラグ、演出側終了準備状態フラグ、第1CB内部状態フラグ及び第2CB内部状態フラグが設けられている。演出側第1CB状態フラグは遊技状態が第1CB状態ST2であることを演出側MPU92にて把握可能とするフラグであり、演出側第2CB状態フラグは遊技状態が第2CB状態ST3であることを演出側MPU92にて把握可能とするフラグであり、演出側疑似ボーナス状態フラグは遊技状態が疑似ボーナス状態ST4であることを演出側MPU92にて把握可能とするフラグであり、演出側AT状態フラグは遊技状態がAT状態ST5であることを演出側MPU92にて把握可能とするフラグであり、演出側終了準備状態フラグは遊技状態が終了準備状態ST6であることを演出側MPU92にて把握可能とするフラグであり、第1CB内部状態フラグは第1CB当選の発生後に対応する第1CB入賞が成立していない第1CB内部状態であることを演出側MPU92にて把握可能とするフラグであり、第2CB内部状態フラグは第2CB当選の発生後に対応する第2CB入賞が成立していない第2CB内部状態であることを演出側MPU92にて把握可能とするフラグである。ステップS3303では、演出側第1CB状態フラグに「1」がセットされている場合に第1CB状態ST2であることを把握し、演出側第2CB状態フラグに「1」がセットされている場合に第2CB状態ST3であることを把握し、演出側疑似ボーナス状態フラグに「1」がセットされている場合に疑似ボーナス状態ST4であることを把握し、演出側AT状態フラグに「1」がセットされている場合にAT状態ST5であることを把握し、演出側終了準備状態フラグに「1」がセットされている場合に終了準備状態ST6であることを把握する。また、これら5つのフラグの値が全て「0」である場合に通常遊技状態ST1であることを把握する。さらにまた、第1CB内部状態フラグに「1」がセットされている場合に第1CB内部状態であることを把握するとともに、第2CB内部状態フラグに「1」がセットされている場合に第2CB内部状態であることを把握する。
その後、演出開始処理を実行する(ステップS3304)。演出開始処理では、上部ランプ61、スピーカ62及び画像表示装置63において、ステップS3303にて把握した遊技状態及びステップS3302にて演出側ベット数カウンタにセットしたベット数に対応する演出を実行するための演出データテーブルを演出側ROM93から読み出す。そして、その読み出した演出データテーブルに従って上部ランプ61の発光制御、スピーカ62の音出力制御及び画像表示装置63の表示制御を開始する。ステップS3304における演出開始処理では、演出側RAM94に設けられたエンディング期間フラグに「1」がセットされている場合、エンディング期間に対応する演出を実行するための演出データテーブルを演出側ROM93から読み出す。エンディング期間フラグは、第2区間SC2のエンディング演出が実行されている期間であることを演出側MPU92にて把握可能とするフラグである。エンディング期間フラグには、後述する第2区間対応処理(図58)のステップS3608にて「1」がセットされる。
ステップS3304における演出開始処理では、遊技状態が疑似ボーナス状態ST4である場合、演出側RAM94に設けられた継続ゲーム数非表示フラグの値が「0」であることを条件として、演出側RAM94に設けられた演出側の疑似ボーナス状態カウンタを参照することにより疑似ボーナス状態ST4における残りの継続ゲーム数を把握し、当該把握した残りの継続ゲーム数を画像表示装置63に表示するための表示データを画像表示装置63に出力する。継続ゲーム数非表示フラグは、疑似ボーナス状態ST4の残りの継続ゲーム数を示す表示を実行しないことを演出側MPU92にて把握可能とするフラグである。継続ゲーム数非表示フラグには、主側RAM74におけるいずれかのエンディングフラグ76b,76cに「1」がセットされている状態で疑似ボーナス状態ST4が開始された場合に、後述する疑似ボーナス状態対応処理(図59)のステップS3707にて「1」がセットされる。演出側の疑似ボーナス継続カウンタは、疑似ボーナス状態ST4における残りの継続ゲーム数を演出側MPU92にて把握可能とするカウンタである。演出側の疑似ボーナス継続カウンタには、後述する疑似ボーナス状態対応処理(図59)のステップS3704及びステップS3709にて、変換後終了時コマンドに設定されている疑似ボーナス継続カウンタ74tのデータが設定される。第2区間SC2における継続ゲーム数が基準ゲーム数(具体的には「1450」)以上となっていること又は第2区間SC2における遊技媒体の制限付き合計純増枚数が基準獲得数(具体的には「2150」)以上となっていることに起因して疑似ボーナス状態ST4に移行する場合には、疑似ボーナス状態ST4の残りの継続ゲーム数が「0」となる前に、第2区間SC2の継続ゲーム数が上限ゲーム数(具体的には「1500」)に到達すること又は第2区間SC2の遊技媒体の制限付き合計純増枚数が上限純増枚数(具体的には「2400」)に到達することにより第2区間SC2の終了に伴って疑似ボーナス状態ST4が終了することがある。この場合に、疑似ボーナス状態ST4の残りの継続ゲーム数を示す表示が行われないようにすることで、第2区間SC2のエンディング条件が成立することで疑似ボーナス状態ST4が終了したことに対して遊技者に違和感を与えないようにすることが可能となる。
ステップS3304における演出開始処理では、遊技状態がAT状態ST5である場合、演出側RAM94に設けられた演出側のAT継続カウンタを参照することによりAT状態ST5における残りの継続ゲーム数を把握し、当該把握した残りの継続ゲーム数を画像表示装置63に表示するための表示データを画像表示装置63に出力する。演出側のAT継続カウンタは、AT状態ST5における残りの継続ゲーム数を演出側MPU92にて把握可能とするカウンタである。演出側のAT継続カウンタには、後述するAT状態対応処理(図60)のステップS3807及びステップS3812にて、変換後終了時コマンドに設定されているAT継続カウンタ74uのデータが設定される。
その後、演出側AT状態フラグを参照することにより遊技状態がAT状態ST5であるか否かを判定し(ステップS3305)、遊技状態がAT状態ST5である場合(ステップS3305:YES)には、演出側RAM94における演出側のAT継続カウンタの値を把握する(ステップS3306)。その後、変換後開始時コマンドに設定されているAT継続カウンタ74uのデータに基づいて、当該AT継続カウンタ74uの値を把握する(ステップS3307)。その後、AT状態ST5における残りの継続ゲーム数の上乗せが発生したか否かを判定する(ステップS3308)。ステップS3308では、ステップS3307にて把握したAT継続カウンタ74uの値からステップS3306にて把握した演出側のAT継続カウンタの値を減算する演算を行い、当該演算の結果が1以上となった場合に上乗せが発生した(ステップS3308:YES)と判定する。既に説明したとおり、AT状態ST5における残りの継続ゲーム数の上乗せ抽選において上乗せされるゲーム数として「10」、「20」及び「50」が存在している。
上乗せが発生した場合(ステップS3308:YES)には、ステップS3308にて行った演算の演算結果に基づいて、今回発生した上乗せ当選の上乗せゲーム数を把握する(ステップS3309)。その後、上乗せ演出設定処理を実行する(ステップS3310)。上乗せ演出設定処理では、ステップS3309にて把握した上乗せゲーム数に対応する上乗せ演出を画像表示装置63にて実行するための演出データテーブルを演出側ROM93から読み出す。そして、その読み出した演出データテーブルに従って画像表示装置63の表示制御を実行する。上乗せ演出が実行される場合、ステップS3304における演出開始処理にて開始した演出の実行中に、上乗せゲーム数に対応するカットイン画像が画像表示装置63に表示される。これにより、遊技者に上乗せゲーム数が報知される。
ステップS3308にて否定判定を行った場合、又はステップS3310の処理を行った場合には、変換後開始時コマンドに設定されているAT継続カウンタ74uのデータを演出側のAT継続カウンタに設定する(ステップS3311)。これにより、AT状態ST5における残りの継続ゲーム数を演出側MPU92にて把握可能となる。
遊技状態がAT状態ST5ではない場合(ステップS3305:NO)には、演出側疑似ボーナス状態フラグを参照することにより遊技状態が疑似ボーナス状態ST4であるか否かを判定する(ステップS3312)。遊技状態が疑似ボーナス状態ST4である場合(ステップS3312:YES)には、演出側RAM94に設けられた演出実行済みフラグに「1」がセットされているか否かを判定する(ステップS3313)。演出実行済みフラグは、今回の疑似ボーナス状態ST4において既にAT移行確定演出を実行したか否かを演出側MPU92にて把握可能とするためのフラグである。演出実行済みフラグは、疑似ボーナス状態ST4が終了する場合に後述する疑似ボーナス状態対応処理(図59)のステップS3715にて「0」クリアされる。
演出実行済みフラグに「1」がセットされていない場合(ステップS3313:NO)には、変換後開始時コマンドに設定されている遊技状態エリア77のデータに含まれているAT移行確定フラグ77fのデータに基づいて、AT状態ST5への移行が確定したか否かを判定し(ステップS3314)、AT状態ST5への移行が確定した場合(ステップS3314:YES)には、AT移行確定演出の設定処理を実行する(ステップS3315)。AT移行確定演出の設定処理では、AT状態ST5への移行が確定したことを報知するAT移行確定演出を実行するための演出データテーブルを演出側ROM93から読み出す。そして、その読み出した演出データテーブルに従って画像表示装置63の表示制御を開始する。AT移行確定演出が実行される場合、ステップS3304にて開始した演出の実行中に、AT状態ST5への移行が確定したことを報知するカットイン画像が画像表示装置63に表示される。これにより、遊技者にAT状態ST5への移行が確定したことを報知することができる。その後、演出側RAM94の演出実行済みフラグに「1」をセットする(ステップS3316)。これにより、今回の疑似ボーナス状態ST4が終了するまでにAT移行確定演出が2回以上重複して実行されてしまうことを防止できる。
ステップS3311の処理を実行した場合、ステップS3313にて肯定判定を行った場合、ステップS3314にて否定判定を行った場合、又はステップS3316の処理を行った場合には、画像表示装置63にてリール32L,32M,32Rの停止順序を報知する停止順報知が行われるゲームであるか否かを判定する(ステップS3317)。ステップS3317では、変換後開始時コマンドに設定されている停止順種別カウンタ74mのデータに基づいて停止順種別カウンタ74mの値を把握し、当該停止順種別カウンタ74mの値が「1」~「9」のいずれかである場合に停止順報知が実行されるゲームである(ステップS3317:YES)と判定する。既に説明したとおり、画像表示装置63にて停止順報知が行われるゲームでは停止順種別カウンタ74mに「1」~「9」のいずれかの停止順種別番号が設定されるとともに、画像表示装置63にて停止順報知が行われないゲームでは停止順種別カウンタ74mの値が「0」となる。
画像表示装置63にて停止順報知が実行されるゲームである場合(ステップS3317:YES)には、ステップS3317にて把握した停止順種別カウンタ74mの値に基づいて画像表示装置63にて実行する停止順報知の種類を把握し(ステップS3318)、停止順報知開始処理を実行する(ステップS3319)。停止順報知開始処理では、ステップS3318にて把握した種類の停止順報知を画像表示装置63にて実行するための報知データテーブルを演出側ROM93から読み出す。そして、その読み出した報知データテーブルに従って画像表示装置63の表示制御を開始する。
ステップS3312にて否定判定を行った場合、ステップS3317にて否定判定を行った場合、又はステップS3319の処理を行った場合には、演出側RAM94の開始時受信フラグを「0」クリアして(ステップS3320)、本開始時受信対応処理を終了する。
このように、演出側MPU92は主側MPU72から受信した開始時コマンドを変換後開始時コマンドに変換するとともに、当該変換後開始時コマンドに基づいて今回開始されたゲームの演出を実行するための処理を実行する。図47(b)を参照しながら既に説明したとおり、変換後開始時コマンドには、主側RAM74におけるAT継続カウンタ74u、ベット数設定カウンタ74b、停止順種別カウンタ74m及び遊技状態エリア77のデータが設定されている。開始時コマンドを受信した場合にこれらAT継続カウンタ74u、ベット数設定カウンタ74b、停止順種別カウンタ74m及び遊技状態エリア77のデータを利用可能となる構成であることにより、これらAT継続カウンタ74u、ベット数設定カウンタ74b、停止順種別カウンタ74m及び遊技状態エリア77のデータを2つ以上のコマンドで受信する構成と比較して、主側MPU72から演出側MPU92へのコマンドの送信回数を低減することができる。これにより、主側MPU72が演出側MPU92にコマンドを送信するための処理負荷を軽減することができるとともに、演出側MPU92が主側MPU72から受信したコマンドに対応する処理を実行する場合の処理負荷を軽減することができる。
次に、演出側MPU92にて実行される入賞結果受信対応処理について図56のフローチャートを参照しながら説明する。入賞結果受信対応処理は演出側MPU92にて比較的短い周期(例えば4ミリ秒周期)で繰り返し実行される。
入賞結果受信対応処理では、演出側RAM94の入賞結果受信フラグに「1」がセットされている場合(ステップS3401:YES)、コマンド格納バッファ126に格納されている入賞結果コマンドに設定されている第1CB当選データエリア74jのデータに基づいて、主側RAM74に第1CB当選データが設定されている状態であるか否かを判定する(ステップS3402)。第1CB当選データが設定されている状態である場合(ステップS3402:YES)には、入賞結果コマンドに設定されている主側RAM74における入賞データエリア78のデータに基づいて、当該第1CB当選データに対応する第1CB入賞が成立したか否かを判定し(ステップS3403)、第1CB入賞が成立していない場合(ステップS3403:NO)には、演出側RAM94における第1CB内部状態フラグに「1」をセットする(ステップS3404)。これにより、第1CB内部状態であることを演出側MPU92にて把握可能とすることができる。一方、第1CB入賞が成立した場合(ステップS3403:YES)には、演出側RAM94における第1CB内部状態フラグを「0」クリアする(ステップS3405)。これにより、第1CB内部状態が終了したことを演出側MPU92にて把握可能とすることができる。
ステップS3402にて否定判定を行った場合には、コマンド格納バッファ126に格納されている入賞結果コマンドに設定されている第2CB当選データエリア74kのデータに基づいて、主側RAM74に第2CB当選データが設定されている状態であるか否かを判定する(ステップS3406)。第2CB当選データが設定されている状態である場合(ステップS3406:YES)には、入賞結果コマンドに設定されている主側RAM74における入賞データエリア78のデータに基づいて、当該第2CB当選データに対応する第2CB入賞が成立したか否かを判定し(ステップS3407)、第2CB入賞が成立していない場合(ステップS3407:NO)には、演出側RAM94における第2CB内部状態フラグに「1」をセットする(ステップS3408)。これにより、第2CB内部状態であることを演出側MPU92にて把握可能とすることができる。一方、第2CB入賞が成立した場合(ステップS3407:YES)には、演出側RAM94における第2CB内部状態フラグを「0」クリアする(ステップS3409)。これにより、第2CB内部状態が終了したことを演出側MPU92にて把握可能とすることができる。
ステップS3404の処理を行った場合、ステップS3405の処理を行った場合、ステップS3406にて否定判定を行った場合、ステップS3408の処理を行った場合、又はステップS3409の処理を行った場合には、演出側RAM94の入賞結果受信フラグを「0」クリアして(ステップS3410)、本入賞結果受信対応処理を終了する。
次に、演出側MPU92にて実行される終了時受信対応処理について図57のフローチャートを参照しながら説明する。終了時受信対応処理は演出側MPU92にて比較的短い周期(例えば4ミリ秒周期)で繰り返し実行される。
終了時受信処理では、演出側RAM94の終了時受信フラグに「1」がセットされている場合(ステップS3501:YES)、第2区間対応処理を実行する(ステップS3502)。図58は第2区間対応処理(ステップS3502)を示すフローチャートである。
第2区間対応処理では、演出側RAM94に設けられた演出側第2区間フラグに「1」がセットされているか否かを判定する(ステップS3601)。演出側第2区間フラグは、遊技区間が第2区間SC2であることを演出側MPU92にて把握可能とするフラグである。演出側第2区間フラグに「1」がセットされていない場合(ステップS3601:NO)には、コマンド格納バッファ126に格納されている変換後終了時コマンドに設定されている遊技区間エリア76のデータに含まれている第2区間フラグ76aのデータに基づいて、遊技区間が第2区間SC2であるか否かを判定する(ステップS3602)。演出側第2区間フラグに「1」がセットされていない状態であるとともに主側RAM74の第2区間フラグ76aに「1」がセットされている状態である場合(ステップS3601:NO、ステップS3602:YES)には、第2区間SC2の開始タイミングであることを意味するため、演出側第2区間フラグに「1」をセットする(ステップS3603)。これにより、遊技区間が第2区間SC2であることを演出側MPU92にて把握可能とすることができる。
ステップS3601にて肯定判定を行った場合には、ステップS3602と同様に、変換後終了時コマンドに設定されている遊技区間エリア76のデータに含まれている第2区間フラグ76aのデータに基づいて、遊技区間が第2区間SC2であるか否かを判定する(ステップS3604)。ステップS3604にて肯定判定を行った場合、すなわち遊技区間が第2区間SC2である状態において今回のゲームが実行され、今回のゲームの終了後にも第2区間SC2が継続される場合には、演出側RAM94におけるエンディング期間フラグに「1」がセットされているか否かを判定する(ステップS3605)。既に説明したとおり、エンディング期間フラグは、第2区間SC2のエンディング演出が実行されている期間であることを演出側MPU92にて把握可能とするフラグである。
ステップS3605にて否定判定を行った場合には、変換後終了時コマンドに設定されている遊技区間エリア76のデータに含まれている第1エンディングフラグ76b及び第2エンディングフラグ76cのデータに基づいて、主側RAM74におけるいずれかのエンディングフラグ76b,76cに「1」がセットされているか否かを判定する(ステップS3606)。いずれかのエンディングフラグ76b,76cに「1」がセットされている場合(ステップS3606:YES)には、変換後終了時コマンドに設定されている遊技状態エリア77のデータに含まれているAT状態フラグ77dのデータに基づいてAT状態ST5であるか否かを判定する(ステップS3607)。AT状態ST5である場合(ステップS3607:YES)には、演出側RAM94のエンディング期間フラグに「1」をセットして(ステップS3608)、本第2区間対応処理を終了する。エンディング期間フラグに「1」をセットすることにより、既に説明した開始時受信対応処理(図55)のステップS3304における演出開始処理においてエンディング期間用の演出が開始されるようにすることができる。一方、AT状態ST5ではない場合(ステップS3607:NO)には、演出側RAM94に設けられたエンディング待機フラグに「1」をセットして(ステップS3609)、本第2区間対応処理を終了する。エンディング待機フラグは、AT状態ST5に移行したタイミングにおいてエンディング期間の演出を開始すべきことを演出側MPU92にて把握可能とするフラグである。ステップS3609にてエンディング待機フラグに「1」がセットされた場合には、AT状態ST5に移行するタイミングにおいてエンディング期間の演出が開始される。
演出側第2区間フラグに「1」がセットされている状態であるとともに第2区間フラグ76aに「1」がセットされていない状態である場合(ステップS3601:YES、ステップS3604:NO)には、第2区間SC2の終了タイミングであることを意味するため、第2区間初期化演出の設定処理を実行する(ステップS3610)。第2区間初期化演出の設定処理では、画像表示装置63にて第2区間SC2が初期化されたことに対応する表示を行うための表示データを画像表示装置63に出力する。その後、演出側第2区間フラグを「0」クリアする(ステップS3611)。これにより、遊技区間が第1区間SC1となったことを演出側MPU92にて把握可能とすることができる。その後、演出側RAM94のエンディング期間フラグを「0」クリアして(ステップS3612)、本第2区間対応処理を終了する。ステップS3612にてエンディング期間フラグが「0」クリアされることによりエンディング期間用の演出が実行されなくなる。
終了時受信対応処理(図57)の説明に戻り、ステップS3502にて第2区間対応処理を実行した後は、疑似ボーナス状態対応処理を実行する(ステップS3503)。図59は疑似ボーナス状態対応処理を示すフローチャートである。
疑似ボーナス状態対応処理では、演出側RAM94の演出側疑似ボーナス状態フラグに「1」がセットされていない場合(ステップS3701:NO)、変換後終了時コマンドに設定されている遊技状態エリア77のデータに含まれている疑似ボーナス状態フラグ77cのデータに基づいて、疑似ボーナス状態ST4であるか否かを判定する(ステップS3702)。演出側疑似ボーナス状態フラグに「1」がセットされていない状態であるとともに主側RAM74の疑似ボーナス状態フラグ77cに「1」がセットされている状態である場合(ステップS3701:NO、ステップS3702:YES)には、疑似ボーナス状態ST4に移行するタイミングであることを意味するため、疑似ボーナス状態開始演出の設定処理を実行する(ステップS3703)。疑似ボーナス状態開始演出の設定処理では、疑似ボーナス状態ST4に移行することを示す疑似ボーナス状態開始演出を上部ランプ61、スピーカ62及び画像表示装置63にて実行するための演出データテーブルを演出側ROM93から読み出す。そして、その読み出した演出データテーブルに従って上部ランプ61の発光制御、スピーカ62の音出力制御及び画像表示装置63の表示制御を開始する。
その後、変換後終了時コマンドに設定されている疑似ボーナス継続カウンタ74tのデータを演出側RAM94に設けられた演出側の疑似ボーナス継続カウンタに設定する(ステップS3704)。既に説明したとおり、演出側の疑似ボーナス継続カウンタは、疑似ボーナス状態ST4における残りの継続ゲーム数を演出側MPU92にて把握可能とするカウンタである。演出側の疑似ボーナス継続カウンタは、既に説明した開始時受信対応処理(図55)のステップS3304における演出開始処理において、画像表示装置63に疑似ボーナス状態ST4における残りの継続ゲーム数を表示するための処理を実行する場合に参照される。その後、演出側RAM94における演出側疑似ボーナス状態フラグに「1」をセットする(ステップS3705)。これにより、遊技状態が疑似ボーナス状態ST4遊技区間が疑似ボーナス状態ST4であること演出側MPU92にて把握可能とすることができる。
その後、変換後終了時コマンドに設定されている遊技区間エリア76のデータに含まれている第1エンディングフラグ76b及び第2エンディングフラグ76cのデータに基づいて、いずれかのエンディングフラグ76b,76cに「1」がセットされているか否かを判定する(ステップS3706)。主側RAM74における第1エンディングフラグ76b及び第2エンディングフラグ76cの少なくとも一方に「1」がセットされている場合(ステップS3706:YES)には、演出側RAM94の継続ゲーム数非表示フラグに「1」をセットする(ステップS3707)。既に説明したとおり、継続ゲーム数非表示フラグは、疑似ボーナス状態ST4の残りの継続ゲーム数を示す表示を実行しないことを演出側MPU92にて把握可能とするフラグである。疑似ボーナス状態ST4のゲームでは、継続ゲーム数非表示フラグの値が「0」である場合、疑似ボーナス状態ST4の残りの継続ゲーム数を示す表示及び疑似ボーナス状態ST4において獲得した遊技媒体の数を示す表示が画像表示装置63にて行われる。また、疑似ボーナス状態ST4のゲームでは、継続ゲーム数非表示フラグに「1」がセットされている場合、疑似ボーナス状態ST4において獲得した遊技媒体の数を示す表示が画像表示装置63にて行われる一方、疑似ボーナス状態ST4の残りの継続ゲーム数を示す表示は行われない。
演出側疑似ボーナス状態フラグに「1」がセットされている状態であるとともに主側RAM74の疑似ボーナス状態フラグ77cに「1」がセットされている状態である場合(ステップS3701:YES、ステップS3708:YES)、すなわち疑似ボーナス状態ST4において今回のゲームが実行され、今回のゲームの終了後も疑似ボーナス状態ST4が継続される場合には、変換後終了時コマンドに設定されている疑似ボーナス継続カウンタ74tのデータを演出側の疑似ボーナス継続カウンタに設定することにより演出側の疑似ボーナス継続カウンタの値を更新する(ステップS3709)。その後、演出側RAM94に設けられた疑似ボーナス付与数カウンタの更新処理を実行する(ステップS3710)。疑似ボーナス付与数カウンタは、疑似ボーナス状態ST4において獲得した遊技媒体の数を演出側MPU92にて把握可能とするカウンタである。ステップS3710における疑似ボーナス付与数カウンタの更新処理では、変換後終了時コマンドに設定されている付与数カウンタ74eのデータに基づいて今回のゲームにおける遊技媒体の付与数を把握し、当該把握した遊技媒体の付与数を演出側RAM94の疑似ボーナス付与数カウンタに加算する。これにより、疑似ボーナス状態ST4において獲得した遊技媒体の数を演出側MPU92にて把握可能とすることができる。その後、画像表示装置63に表示されている疑似ボーナス状態ST4において獲得した遊技媒体の数を示す表示を更新する(ステップS3711)。ステップS3711では、ステップS3710にて更新した後の疑似ボーナス付与数カウンタの値に対応する表示データを画像表示装置63に出力する。
演出側疑似ボーナス状態フラグに「1」がセットされている状態であるとともに主側RAM74の疑似ボーナス状態フラグ77cに「1」がセットされていない状態である場合(ステップS3701:YES、ステップS3708:NO)には、疑似ボーナス状態ST4が終了したことを意味するため、疑似ボーナス状態終了演出の設定処理を実行する(ステップS3712)。疑似ボーナス状態終了演出の設定処理では、疑似ボーナス状態ST4が終了することを示す疑似ボーナス状態終了演出を上部ランプ61、スピーカ62及び画像表示装置63にて実行するための演出データテーブルを演出側ROM93から読み出す。そして、その読み出した演出データテーブルに従って上部ランプ61の発光制御、スピーカ62の音出力制御及び画像表示装置63の表示制御を開始する。
その後、演出側疑似ボーナス状態フラグを「0」クリアする(ステップS3713)。これにより、疑似ボーナス状態ST4が終了したことを演出側MPU92にて把握可能となる。その後、演出側の疑似ボーナス継続カウンタの値を「0」クリアし(ステップS3714)、演出側RAM94における演出実行済みフラグを「0」クリアする(ステップS3715)。その後、演出側RAM94の継続ゲーム数非表示フラグを「0」クリアし(ステップS3716)、演出側RAM94の疑似ボーナス付与数カウンタを「0」クリアする(ステップS3717)。
その後、変換後終了時コマンドに設定されている遊技状態エリア77のデータに含まれている終了準備状態フラグ77eのデータに基づいて、終了準備状態ST6であるか否かを判定し(ステップS3718)、終了準備状態ST6である場合(ステップS3718:YES)には、演出側RAM94の演出側終了準備状態フラグに「1」をセットする(ステップS3719)。これにより、遊技状態が終了準備状態であることを演出側MPU92にて把握可能とすることができる。
ステップS3706にて否定判定を行った場合、ステップS3707の処理を行った場合、ステップS3711の処理を行った場合、ステップS3718にて否定判定を行った場合、又はステップS3719の処理を行った場合には、終了時受信対応処理(図57)のステップS3521に進む。一方、ステップS3701及びステップS3702にて否定判定を行った場合には、本疑似ボーナス状態対応処理を終了し、終了時受信対応処理(図57)のステップS3504に進む。
終了時受信対応処理(図57)の説明に戻り、ステップS3504では、AT状態対応処理を実行する。図60はAT状態対応処理を示すフローチャートである。
AT状態対応処理では、演出側RAM94の演出側AT状態フラグに「1」がセットされていない場合(ステップS3801:NO)、変換後終了時コマンドに設定されている遊技状態エリア77のデータに含まれているAT状態フラグ77dのデータに基づいて、AT状態ST5であるか否かを判定する(ステップS3802)。演出側AT状態フラグに「1」がセットされていない状態であるとともに主側RAM74のAT状態フラグ77dに「1」がセットされている状態である場合(ステップS3801:NO、ステップS3802:YES)には、AT状態ST5に移行するタイミングであることを意味するため、ステップS3803~ステップS3808の処理を実行する。具体的には、演出側RAM94のエンディング待機フラグに「1」がセットされているか否かを判定し(ステップS3803)、エンディング待機フラグに「1」がセットされている場合(ステップS3803:YES)には、演出側RAM94のエンディング期間フラグに「1」をセットする(ステップS3804)。これにより、エンディング期間の演出が実行されるようにすることができる。このように、エンディング演出が実行されていない状態であるとともに遊技状態がAT状態ST5ではない状態において、主側RAM74の第1エンディングフラグ76b又は第2エンディングフラグ76cに「1」がセットされた場合には、その後にAT状態ST5に移行したことを契機としてエンディング演出が開始される。その後、演出側RAM94のエンディング待機フラグを「0」クリアする(ステップS3805)。
ステップS3803にて否定判定を行った場合、又はステップS3805の処理を行った場合には、AT状態開始演出の設定処理を実行する(ステップS3806)。AT状態開始演出の設定処理では、上部ランプ61、スピーカ62及び画像表示装置63にてAT状態ST5が開始されたことを示すAT状態開始演出を実行するための演出データテーブルを演出側ROM93から読み出す。そして、その読み出した演出データテーブルに従って上部ランプ61の発光制御、スピーカ62の音出力制御及び画像表示装置63の表示制御を開始する。
その後、変換後終了時コマンドに設定されているAT継続カウンタ74uのデータを演出側RAM94における演出側のAT継続カウンタに設定する(ステップS3807)。既に説明したとおり、演出側のAT継続カウンタは、AT状態ST5における残りの継続ゲーム数を演出側MPU92にて把握可能とするカウンタである。演出側のAT継続カウンタは、既に説明した開始時受信対応処理(図55)のステップS3304における演出開始処理において、画像表示装置63にAT状態ST5における残りの継続ゲーム数を表示するための処理を行う場合に参照される。その後、演出側AT状態フラグに「1」をセットする(ステップS3808)。これにより、遊技状態がAT状態ST5であること演出側MPU92にて把握可能とすることができる。
演出側AT状態フラグに「1」がセットされている状態であるとともに主側RAM74のAT状態フラグ77dに「1」がセットされている状態である場合(ステップS3801:YES、ステップS3809:YES)、すなわちAT状態ST5において今回のゲームが実行され、今回のゲームの終了後もAT状態ST5が継続される場合には、変換後終了時コマンドに設定されている付与数カウンタ74eのデータに基づいて、今回終了するゲームにおける遊技媒体の付与数を把握し(ステップS3810)、付与数表示の設定処理を実行する(ステップS3811)。付与数表示の設定処理では、ステップS3810にて把握した遊技媒体の付与数が1以上である場合、画像表示装置63にて遊技媒体の付与数に対応する表示を行うためのデータテーブルを演出側ROM93から読み出す。そして、その読み出した演出データテーブルに従って画像表示装置63の表示制御を開始する。その後、変換後終了時コマンドに設定されているAT継続カウンタ74uのデータを演出側のAT継続カウンタに設定することにより演出側のAT継続カウンタの値を更新する(ステップS3812)。
演出側RAM94の演出側AT状態フラグに「1」がセットされている状態であるとともに主側RAM74のAT状態フラグ77dに「1」がセットされていない状態である場合(ステップS3801:YES、ステップS3809:NO)には、AT状態ST5が終了したことを意味するため、AT状態終了演出の設定処理を実行する(ステップS3813)。AT状態終了演出の設定処理では、上部ランプ61、スピーカ62及び画像表示装置63にてAT状態ST5が終了したことを示すAT状態終了演出を実行するための演出データテーブルを演出側ROM93から読み出す。そして、その読み出した演出データテーブルに従って上部ランプ61の発光制御、スピーカ62の音出力制御及び画像表示装置63の表示制御を開始する。その後、演出側AT状態フラグを「0」クリアする(ステップS3814)。これにより、AT状態ST5が終了したことを演出側MPU92にて把握可能となる。その後、演出側のAT継続カウンタの値を「0」クリアする(ステップS3815)。
その後、変換後終了時コマンドに設定されている遊技状態エリア77のデータに含まれている終了準備状態フラグ77eのデータに基づいて、終了準備状態ST6であるか否かを判定し(ステップS3816)、終了準備状態ST6である場合(ステップS3816:YES)には、演出側RAM94の演出側終了準備状態フラグに「1」をセットする(ステップS3817)。これにより、遊技状態が終了準備状態ST6であることを演出側MPU92にて把握可能とすることができる。
ステップS3808の処理を行った場合、ステップS3812の処理を行った場合、ステップS3816にて否定判定を行った場合、又はステップS3817の処理を行った場合には、終了時受信対応処理(図57)のステップS3521に進む。一方、ステップS3801及びステップS3802にて否定判定を行った場合には、本AT状態対応処理を終了して、終了時受信対応処理(図57)のステップS3505に進む。
終了時受信対応処理(図57)の説明に戻り、ステップS3505~ステップS3511では、第1CB状態対応処理を実行する。第1CB状態対応処理(ステップS3505~ステップS3511)では、まず演出側RAM94の演出側第1CB状態フラグに「1」がセットされているか否かを判定し(ステップS3505)、演出側第1CB状態フラグに「1」がセットされていない場合(ステップS3505:NO)には、変換後終了時コマンドに設定されている遊技状態エリア77のデータに含まれている第1CB状態フラグ77aのデータに基づいて、第1CB状態ST2であるか否かを判定する(ステップS3506)。演出側RAM94の演出側AT状態フラグに「1」がセットされていない状態であるとともに主側RAM74の第1CB状態フラグ77aに「1」がセットされている状態である場合(ステップS3505:NO、ステップS3506:YES)には、第1CB状態ST2に移行するタイミングであることを意味するため、第1CB状態開始演出の設定処理を実行する(ステップS3507)。第1CB状態開始演出の設定処理では、上部ランプ61、スピーカ62及び画像表示装置63にて第1CB状態ST2が開始されたことを示す第1CB状態開始演出を実行するための演出データテーブルを演出側ROM93から読み出す。そして、その読み出した演出データテーブルに従って上部ランプ61の発光制御、スピーカ62の音出力制御及び画像表示装置63の表示制御を開始する。その後、演出側第1CB状態フラグに「1」をセットする(ステップS3508)。これにより、遊技状態が第1CB状態ST2であること演出側MPU92にて把握可能とすることができる。
演出側RAM94の演出側第1CB状態フラグに「1」がセットされている状態であるとともに主側RAM74の第1CB状態フラグ77aに「1」がセットされていない状態である場合(ステップS3505:YES、ステップS3509:NO)には、第1CB状態ST2が終了したことを意味するため、第1CB状態終了演出の設定処理を実行する(ステップS3510)。第1CB状態終了演出の設定処理では、上部ランプ61、スピーカ62及び画像表示装置63にて第1CB状態ST2が終了したことを示す第1CB状態終了演出を実行するための演出データテーブルを演出側ROM93から読み出す。そして、その読み出した演出データテーブルに従って上部ランプ61の発光制御、スピーカ62の音出力制御及び画像表示装置63の表示制御を開始する。その後、演出側第1CB状態フラグを「0」クリアする(ステップS3511)。これにより、第1CB状態ST2が終了したことを演出側MPU92にて把握可能となる。
ステップS3505及びステップS3506にて否定判定を行った場合には、ステップS3512~ステップS3518における第2CB状態対応処理を実行する。第2CB状態対応処理(ステップS3512~ステップS3518)では、まず演出側RAM94の演出側第2CB状態フラグに「1」がセットされているか否かを判定し(ステップS3512)、演出側第2CB状態フラグに「1」がセットされていない場合(ステップS3512:NO)には、変換後終了時コマンドに設定されている遊技状態エリア77のデータに含まれている第2CB状態フラグ77bのデータに基づいて、第2CB状態ST3であるか否かを判定する(ステップS3513)。演出側RAM94の演出側第2CB状態フラグに「1」がセットされていない状態であるとともに主側RAM74の第2CB状態フラグ77bに「1」がセットされている状態である場合(ステップS3512:NO、ステップS3513:YES)には、第2CB状態ST3に移行するタイミングであることを意味するため、第2CB状態開始演出の設定処理を実行する(ステップS3514)。第2CB状態開始演出の設定処理では、上部ランプ61、スピーカ62及び画像表示装置63にて第2CB状態ST3が開始されたことを示す第2CB状態開始演出を実行するための演出データテーブルを演出側ROM93から読み出す。そして、その読み出した演出データテーブルに従って上部ランプ61の発光制御、スピーカ62の音出力制御及び画像表示装置63の表示制御を開始する。その後、演出側第2CB状態フラグに「1」をセットする(ステップS3515)。これにより、遊技状態が第2CB状態ST3であること演出側MPU92にて把握可能とすることができる。
演出側RAM94の演出側第2CB状態フラグに「1」がセットされている状態であるとともに主側RAM74の第2CB状態フラグ77bに「1」がセットされていない状態である場合(ステップS3512:YES、ステップS3516:NO)には、第2CB状態ST3が終了したことを意味するため、第2CB状態終了演出の設定処理を実行する(ステップS3517)。第2CB状態終了演出の設定処理では、上部ランプ61、スピーカ62及び画像表示装置63にて第2CB状態ST3が終了したことを示す第2CB状態終了演出を実行するための演出データテーブルを演出側ROM93から読み出す。そして、その読み出した演出データテーブルに従って上部ランプ61の発光制御、スピーカ62の音出力制御及び画像表示装置63の表示制御を開始する。その後、演出側第2CB状態フラグを「0」クリアする(ステップS3518)。これにより、第2CB状態ST3が終了したことを演出側MPU92にて把握可能となる。
ステップS3512及びステップS3513にて否定判定を行った場合には、演出側RAM94の演出側終了準備状態フラグに「1」がセットされているか否かを判定する(ステップS3519)。既に説明したとおり、終了準備状態ST6は1ゲームが実行された場合に終了する。演出側終了準備状態フラグに「1」がセットされている場合(ステップS3519:YES)、すなわち終了準備状態ST6において今回のゲームが実行された場合には、今回のゲームの終了後に終了準備状態ST6が終了するため、演出側終了準備状態フラグを「0」クリアする(ステップS3520)。これにより、終了準備状態ST6が終了したことを演出側MPU92にて把握可能とすることができる。
ステップS3508の処理を行った場合、ステップS3509にて肯定判定を行った場合、ステップS3511の処理を行った場合、ステップS3515の処理を行った場合、ステップS3516にて肯定判定を行った場合、ステップS3518の処理を行った場合、ステップS3519にて否定判定を行った場合、又はステップS3520の処理を行った場合には、ステップS3521に進む。また、既に説明したとおり、疑似ボーナス状態対応処理(図59)のステップS3706にて否定判定を行った場合、ステップS3707の処理を行った場合、ステップS3711の処理を行った場合、ステップS3718にて否定判定を行った場合、又はステップS3719の処理を行った場合にも終了時受信対応処理(図57)のステップS3521に進む。さらにまた、既に説明したとおり、AT状態対応処理(図60)のステップS3808の処理を行った場合、ステップS3812の処理を行った場合、ステップS3816にて否定判定を行った場合、又はステップS3817の処理を行った場合にも終了時受信対応処理(図57)のステップS3521に進む。ステップS3521では、演出側RAM94の終了時受信フラグを「0」クリアして、本終了時受信対応処理を終了する。
このように、演出側MPU92は主側MPU72から受信した終了時コマンドを変換後終了時コマンドに変換するとともに、当該変換後終了時コマンドに基づいて演出を実行するための処理を実行する。図47(c)を参照しながら既に説明したとおり、変換後終了時コマンドには、主側RAM74における継続ゲーム数カウンタ74r、合計獲得数カウンタ74s、遊技状態エリア77、遊技区間エリア76、疑似ボーナス継続カウンタ74t及び付与数カウンタ74eのデータが設定されている。終了時コマンドを受信した場合にこれら継続ゲーム数カウンタ74r、合計獲得数カウンタ74s、遊技状態エリア77、遊技区間エリア76、疑似ボーナス継続カウンタ74t及び付与数カウンタ74eのデータを利用可能となる構成であることにより、これら継続ゲーム数カウンタ74r、合計獲得数カウンタ74s、遊技状態エリア77、遊技区間エリア76、疑似ボーナス継続カウンタ74t及び付与数カウンタ74eのデータを2つ以上のコマンドで受信する構成と比較して、主側MPU72から演出側MPU92へのコマンドの送信回数を低減することができる。これにより、主側MPU72が演出側MPU92にコマンドを送信するための処理負荷を軽減することができるとともに、演出側MPU92が主側MPU72から受信したコマンドに対応する処理を実行する場合の処理負荷を軽減することができる。
上記のとおり、最上位ビットに「1」がセットされ得るAT継続カウンタ74uの下位エリア、継続ゲーム数カウンタ74rの下位エリア及び合計獲得数カウンタ74sの下位エリアを含む「0001H」~「0006H」の連続するアドレス範囲に設定されている6つの記憶エリアの最上位ビットに格納されている「0」又は「1」のデータは、1バイトの記憶エリア(最上位集約用エリア74v)に集約される。このため、これら6つの記憶エリアの最上位ビットに格納されている「0」又は「1」のデータを設定するために主側RAM74に2バイト以上の記憶エリアが設定されている構成と比較して、これら6つの記憶エリアの最上位ビットに格納されている「0」又は「1」のデータを設定するために主側RAM74に設けられる記憶エリアのデータ容量が低減されている。
最上位ビットに「1」がセットされ得るAT継続カウンタ74uの下位エリア、継続ゲーム数カウンタ74rの下位エリア及び合計獲得数カウンタ74sの下位エリアを含む6つの記憶エリアが「0001H」~「0006H」の連続するアドレス範囲に設定されていることにより、最上位ビットに格納されている「0」又は「1」のデータを最上位集約用エリア74vに設定する対象となる記憶エリアのアドレス範囲を指定するための処理構成を簡素化することができる。
「0008H」~「000DH」のアドレス範囲に設定されている記憶エリア(ベット数設定カウンタ74b、停止順種別カウンタ74m、遊技状態エリア77、遊技区間エリア76、疑似ボーナス継続カウンタ74t及び付与数カウンタ74e)は、最上位ビットに「1」がセットされない記憶エリアである。開始時コマンド及び終了時コマンドにデータが設定される「0001H」~「000DH」のアドレス範囲に設定されている記憶エリアのうち「0001H」~「0006H」のアドレスに対応する記憶エリアにおける最上位ビットに格納されている「0」又は「1」のデータが集約される最上位集約用エリア74vが設けられている構成において、「0008H」~「000DH」のアドレスに対応する記憶エリアにおける最上位ビットに格納されている「0」のデータが設定される記憶エリアは設けられていない。このため、最上位ビットのデータを集約するために主側RAM74に設定される記憶エリア(最上位集約用エリア74v)の数を抑えながら、最上位ビットに「1」がセットされ得る記憶エリアにおける当該最上位ビットのデータを開始時コマンド及び終了時コマンドに設定することができる。
開始時コマンド及び終了時コマンドにデータが設定される記憶エリアが主側RAM74において「0001H」~「000DH」の連続するアドレス範囲に設定されているため、開始時コマンドにデータを設定する記憶エリアのアドレス範囲を指定するための処理構成及び終了時コマンドにデータを設定する記憶エリアのアドレス範囲を指定するための処理構成を簡素化することができる。
ゲームの開始時に演出側MPU92にて使用されるデータが格納されている主側RAM74の記憶エリアの一部のみ(具体的には最上位集約用エリア74v及び遊技状態エリア77)が、ゲームの終了時に演出側MPU92にて使用されるデータが格納されている主側RAM74の記憶エリアと共通している構成である。当該構成において、開始時コマンド及び終了時コマンドにデータが設定される記憶エリアを、ゲームの開始時及び終了時に演出側MPU92にて使用されるデータが格納されている主側RAM74の記憶エリアとすることにより、開始時コマンドにデータが設定される記憶エリア及び終了時コマンドにデータが設定される記憶エリアを主側RAM74の連続するアドレス範囲に設定することが可能となっている。
主側RAM74において、開始時コマンドに設定されるデータが格納されている記憶エリアのアドレス範囲(「0001H」~「000DH」のアドレス範囲)が、終了時コマンドに設定されるデータが格納されている記憶エリアのアドレス範囲(「0001H」~「000DH」のアドレス範囲)と同一であるため、開始時コマンドを送信するための処理構成と終了時コマンドを送信するための処理構成とを共通化することができる。これにより、主側ROM73において開始時コマンド及び終了時コマンドを送信するためのプログラムのデータ容量を低減することができる。
下位エリアの最上位ビットに「1」がセットされ得るカウンタとして、AT継続カウンタ74u、継続ゲーム数カウンタ74r及び合計獲得数カウンタ74sが存在している。AT継続カウンタ74uのデータは、ゲームの開始時に演出側MPU92にて使用されるデータである一方、ゲームの終了時に演出側MPU92にて使用されるデータではない。また、継続ゲーム数カウンタ74r及び合計獲得数カウンタ74sのデータは、ゲームの終了時に演出側MPU92にて使用されるデータである一方、ゲームの開始時に演出側MPU92にて使用されるデータではない。ゲームの開始時に演出側MPU92にて使用されるデータのみを開始時コマンドに設定するとともにゲームの終了時に演出側MPU92にて使用されるデータのみを終了時コマンドに設定する構成とすると、AT継続カウンタ74uの下位エリア及び上位エリアにおける最上位ビットのデータを設定するための記憶エリアとは別に、継続ゲーム数カウンタ74rの下位エリア及び上位エリア、並びに合計獲得数カウンタ74sの下位エリア及び上位エリアにおける最上位ビットのデータを設定するための記憶エリアを主側RAM74に設ける必要が生じてしまう。これに対して、開始時コマンド及び終了時コマンドにAT継続カウンタ74u、継続ゲーム数カウンタ74r及び合計獲得数カウンタ74sのデータを設定する構成であることにより、これらAT継続カウンタ74u、継続ゲーム数カウンタ74r及び合計獲得数カウンタ74sの下位エリア及び上位エリアの最上位ビットに格納されている「0」又は「1」のデータを設定するための記憶エリアを最上位集約用エリア74vの1つのみとすることができる。これにより、AT継続カウンタ74uの下位エリア及び上位エリア、継続ゲーム数カウンタ74rの下位エリア及び上位エリア、並びに合計獲得数カウンタ74sの下位エリア及び上位エリアにおける最上位ビットのデータを設定するための主側RAM74のデータ容量が低減されている。
演出側MPU92は主側MPU72から受信した開始時コマンドを変換後開始時コマンドに変換するとともに、主側MPU72から受信した終了時コマンドを変換後終了時コマンドに変換する。演出側MPU92は、主側MPU72から受信した開始時コマンド又は終了時コマンドを変換後開始時コマンド又は変換後終了時コマンドに変換する場合、最上位集約フレームSF(第8フレームFR8)の第0~第5ビットに設定されている「0」又は「1」のデータを当該第0~第5ビットに対応する第2~第7フレームFR2~FR7における最上位ビットに設定する。これにより、主側MPU72から演出側MPU92に送信される開始時コマンド又は終了時コマンドに含まれているヘッダHD以外のフレームにおける最上位ビットの値を「0」としながら、演出側MPU92において、ヘッダHD以外のフレームにおける最上位ビットにも「1」がセットされ得る変換後開始時コマンド又は変換後終了時コマンドを利用可能とすることができる。
開始時コマンド又は終了時コマンドにおいて、最上位集約フレームSF(第8フレームFR8)の第0~第5ビットに設定されている「0」又は「1」のデータが最上位ビットに設定されるフレームは、連続する第2~第7フレームFR2~FR7である。このため、最上位集約フレームSFの第0~第5ビットに設定されている「0」又は「1」のデータが最上位ビットに設定されるフレームを演出側MPU92にて指定するための処理構成を簡素化することができる。
変換後開始時コマンドには、開始時コマンドに含まれている第1~第15フレームFR1~FR15のうち一部のフレームのみが設定されている。これにより、主側MPU72がゲームの開始時に演出側MPU92にて利用されるデータ以外のデータを含む開始時コマンドを送信する構成としながら、コマンド格納バッファ126に格納されて演出側MPU92にて利用される変換後開始時コマンドのデータ容量を抑えることができる。また、変換後終了時コマンドには、終了時コマンドに含まれている第1~第15フレームFR1~FR15のうち一部のフレームのみが設定されている。これにより、主側MPU72がゲームの終了時に演出側MPU92にて利用されるデータ以外のデータを含む終了時コマンドを送信する構成としながら、コマンド格納バッファ126に格納されて演出側MPU92にて利用される変換後終了時コマンドのデータ容量を抑えることができる。よって、コマンド格納バッファ126のデータ容量を低減することができる。
開始時コマンドに含まれている第1~第15フレームFR1~FR15のうち演出側MPU92が変換後開始時コマンドに設定するフレームは、終了時コマンドに含まれている第1~第15フレームFR1~FR15のうち演出側MPU92が変換後終了時コマンドに設定するフレームと異なっている。このため、ゲームの開始時に主側MPU72から演出側MPU92に送信される開始時コマンドに設定されるデータが格納されている主側RAM74の記憶エリアのアドレス範囲がゲームの終了時に主側MPU72から演出側MPU92に送信される終了時コマンドに設定されるデータが格納されている主側RAM74の記憶エリアのアドレス範囲と同一である構成において、ゲームの開始時には当該ゲームの開始時に演出側MPU92にて必要となるデータのみがヘッダHD及びフッタFTの間に設定されている変換後開始時コマンドを演出側MPU92にて利用可能とすることができるとともに、ゲームの終了時には当該ゲームの終了時に演出側MPU92にて必要となるデータのみがヘッダHD及びフッタFTの間に設定されている変換後終了時コマンドを演出側MPU92にて利用可能とすることができる。
最上位集約処理(図51)における転送対象範囲は主側RAM74において連続する「0001H」~「0006H」のアドレス範囲である。主側RAM74における転送元カウンタ116の値を1加算する処理(ステップS2909の処理)を繰り返し実行することにより転送元の記憶エリアを順次更新することができる。これにより、転送元の記憶エリアを順次更新するための処理構成が簡素化されている。
最上位集約処理(図51)における転送対象範囲が主側RAM74において連続する「0001H」~「0006H」のアドレス範囲であることにより、ステップS2904にて転送元カウンタ116に当該転送対象範囲の開始アドレスである「0001H」をセットするとともに、ステップS2905にて転送回数カウンタ114に転送回数である「6」をセットすることにより当該転送対象範囲を指定することができる。これにより、転送対象範囲を指定するための処理構成が簡素化されている。
共通コマンド送信処理(図50)における転送対象範囲は主側RAM74において連続する「0001H」~「000DH」のアドレス範囲である。主側RAM74における転送元カウンタ116の値を1加算する処理(ステップS2816の処理)を繰り返し実行することにより転送元の記憶エリアを順次更新することができる。これにより、転送元の記憶エリアを順次更新するための処理構成が簡素化されている。
共通コマンド送信処理(図50)における転送対象範囲が主側RAM74において連続する「0001H」~「000DH」のアドレス範囲であることにより、ステップS2809にて転送元カウンタ116に当該転送対象範囲の開始アドレスである「0001H」をセットするとともに、ステップS2810にて転送回数カウンタ114に転送回数である「13」をセットすることにより当該転送対象範囲を指定することができる。これにより、転送対象範囲を指定するための処理構成が簡素化されている。
最上位設定処理(図53)において最上位ビットに最上位集約フレームSFの第0~第5ビットに格納されている「0」又は「1」のデータが設定されるエリアRA2~RA7のアドレスは連続する「α+2」~「α+7」のアドレス範囲である。演出側転送先カウンタの値を1加算する処理(ステップS3110の処理)を繰り返し実行することにより転送先の記憶エリアを順次更新することができる。これにより、転送先の記憶エリアを順次更新するための処理構成が簡素化されている。
演出側RAM94における演出側ビット指定カウンタの値は、最上位集約フレームSFの第0~第5ビットのいずれかに格納されている「0」又は「1」のデータを転送先の記憶エリアにおける最上位ビットに転送する処理(ステップS3107の処理)が実行される度に1加算される。このため、演出側ビット指定カウンタの値を参照することにより、最上位集約フレームSFの第0~第5ビットのいずれかに設定されている「0」又は「1」のデータを当該第0~第5ビットのいずれかに対応する第2~第7フレームFR2~FR7に転送した回数を把握することができる。これにより、転送回数を演出側MPU92にて把握するための処理構成を簡素化することができる。
変換前エリア124に設定した開始時コマンド又は終了時コマンドに含まれている第1~第15フレームFR1~FR15のうち一部のフレームのデータを変換後エリア125に転送することにより当該開始時コマンド又は終了時コマンドを変換後開始時コマンド又は変換後終了時コマンドに変換する場合、変換前エリア124における転送元の記憶エリアの更新は、除外対象のエリアを除く態様で行われる。一方、変換後エリア125における転送先の記憶エリアの更新は、変換後エリア125において、現状における転送先の記憶エリアの次に設定されている記憶エリアが更新後における転送先の記憶エリアとなる態様で行われる。これにより、開始時コマンドを受信した場合には当該開始時コマンドからゲームの開始時に演出側MPU92にて使用されるデータを抽出して変換後開始時コマンドに設定することができるとともに、終了時コマンドを受信した場合には当該終了時コマンドからゲームの終了時に演出側MPU92にて使用されるデータを抽出して変換後終了時コマンドに設定することができる。
演出側MPU92は主側MPU72から受信した開始時コマンドを変換後開始時コマンドに変換するとともに、当該変換後開始時コマンドに基づいて今回開始されたゲームの演出を実行するための処理を実行する。変換後開始時コマンドには、主側RAM74におけるAT継続カウンタ74u、ベット数設定カウンタ74b、停止順種別カウンタ74m及び遊技状態エリア77のデータが設定されている。開始時コマンドを受信した場合にこれらAT継続カウンタ74u、ベット数設定カウンタ74b、停止順種別カウンタ74m及び遊技状態エリア77のデータを利用可能となる構成であることにより、これらAT継続カウンタ74u、ベット数設定カウンタ74b、停止順種別カウンタ74m及び遊技状態エリア77のデータを2つ以上のコマンドで受信する構成と比較して、主側MPU72から演出側MPU92へのコマンドの送信回数を低減することができる。これにより、主側MPU72が演出側MPU92にコマンドを送信するための処理負荷を軽減することができるとともに、演出側MPU92が主側MPU72から受信したコマンドに対応する処理を実行する場合の処理負荷を軽減することができる。
演出側MPU92は主側MPU72から受信した終了時コマンドを変換後終了時コマンドに変換するとともに、当該変換後終了時コマンドに基づいて演出を実行するための処理を実行する。変換後終了時コマンドには、主側RAM74における継続ゲーム数カウンタ74r、合計獲得数カウンタ74s、遊技状態エリア77、遊技区間エリア76、疑似ボーナス継続カウンタ74t及び付与数カウンタ74eのデータが設定されている。終了時コマンドを受信した場合にこれら継続ゲーム数カウンタ74r、合計獲得数カウンタ74s、遊技状態エリア77、遊技区間エリア76、疑似ボーナス継続カウンタ74t及び付与数カウンタ74eのデータを利用可能となる構成であることにより、これら継続ゲーム数カウンタ74r、合計獲得数カウンタ74s、遊技状態エリア77、遊技区間エリア76、疑似ボーナス継続カウンタ74t及び付与数カウンタ74eのデータを2つ以上のコマンドで受信する構成と比較して、主側MPU72から演出側MPU92へのコマンドの送信回数を低減することができる。これにより、主側MPU72が演出側MPU92にコマンドを送信するための処理負荷を軽減することができるとともに、演出側MPU92が主側MPU72から受信したコマンドに対応する処理を実行する場合の処理負荷を軽減することができる。
<主側MPU72の構成>
次に、主側MPU72の構成について説明する。図61(a)は主側MPU72の構成を説明するための説明図である。
図61(a)に示すように、主側MPU72は、汎用レジスタとして、Wレジスタ101a、Aレジスタ101b、Bレジスタ102a、Cレジスタ102b、Dレジスタ103a、Eレジスタ103b、Hレジスタ104a及びLレジスタ104bを備えている。これら8個の汎用レジスタは、1バイトのレジスタである。これらの汎用レジスタは、対応する2つの汎用レジスタを組み合わせることによりペアレジスタとして使用することもできる。具体的には、Wレジスタ101aとAレジスタ101bとを組み合わせて2バイトのWAレジスタ101として使用することができるとともに、Bレジスタ102aとCレジスタ102bとを組み合わせて2バイトのBCレジスタ102として使用することができる。また、Dレジスタ103aとEレジスタ103bとを組み合わせて2バイトのDEレジスタ103として使用することができるとともに、Hレジスタ104aとLレジスタ104bとを組み合わせて2バイトのHLレジスタ104として使用することができる。
主側MPU72は、プログラムカウンタPCを備えている。プログラムカウンタPCは、主側MPU72が次に取り出すべき命令の格納番地を記憶するものであり、命令の1バイト分を取り出す毎にその値は1加算される。主側MPU72では、ジャンプ命令又はコール命令が実行される場合を除いて、主側ROM73に記憶されているプログラムが低い番地(プログラムアドレスの小さい方)から高い番地(プログラムアドレスの大きい方)に向かう順番で、命令が処理されていく。
図61(a)に示すように、主側MPU72は、ゼロフラグZF、キャリーフラグCF及びジャンプフラグJFを備えている。ゼロフラグZFは1ビットからなる。ゼロフラグZFは、演算後のレジスタの内容が「0」である場合に「1」となり、演算後のレジスタの内容が「0」ではない場合に「0」となるフラグである。キャリーフラグCFは1ビットからなる。キャリーフラグCFは、8ビットの演算命令であるADD命令(加算命令)の実行中に最上位ビット(第0~第7ビットにおける第7ビット)から桁上がりが生じた場合に「1」となるとともに、最上位ビット(第7ビット)から桁上がりが生じなかった場合に「0」となる。また、キャリーフラグCFは、8ビットの演算命令であるSUB命令(減算命令)の実行中に最上位ビット目(第0~第7ビットにおける第7ビット目)への桁借りが生じた場合に「1」となるとともに、最上位ビット目(第7ビット目)への桁借りが生じなかった場合に「0」となる。ジャンプフラグJFは、実行した命令により、ゼロフラグZF又はキャリーフラグCFの値と同一の値をとるフラグである。ジャンプフラグJFは1ビットからなる。ジャンプフラグJFは、出力命令であるOUT命令、排他的論理和を演算する命令であるXOR命令及び転送命令であるLD命令を実行した場合、ゼロフラグZFの値と同一の値をとる。具体的には、ジャンプフラグJFの値は、ゼロフラグZFの値が「1」である場合に「1」となるとともに、ゼロフラグZFの値が「0」である場合に「0」となる。一方、ジャンプフラグJFは、比較命令であるCP命令及び減算命令であるSUB命令を実行した場合、キャリーフラグCFの値と同一の値をとる。具体的には、ジャンプフラグJFの値は、キャリーフラグCFの値が「1」である場合に「1」となるとともに、キャリーフラグCFの値が「0」である場合に「0」となる。ジャンプフラグJFは、後述するJRS命令において参照される。
図61(b)は主側ROM73におけるデータ及びプログラムの設定態様を説明するための説明図である。図61(b)に示すように、主側ROM73には、「9000H」~「9EFFH」のアドレスが割り当てられている。主側ROM73には1バイトのエリアが多数設けられており、当該1バイトのエリア毎に2バイトのアドレスが設定されている。
主側ROM73において、「9000H」~「98FFH」のアドレス範囲における連続する各アドレスのエリアに各種処理を実行するために利用されるデータが集約して記憶されている。また、「9000H」~「98FFH」のアドレス範囲に連続する「9900H」~「9902H」のアドレス範囲はデータが記憶されていない未使用のエリアのアドレスとなっており、その後に続けて「9903H」~「9EFFH」のアドレス範囲における連続する各アドレスのエリアに各種処理を実行するためのプログラムが集約して記憶されている。また、「9903H」~「9EFFH」のアドレス範囲に連続する「9F00H」~「9F02H」のアドレス範囲はデータが記憶されていない未使用のエリアのアドレスとなっている。なお、上記のようなデータ及びプログラムとアドレスとの関係は、主側ROM73における物理アドレス及び主側MPU72において認識されるメモリマップ上の論理アドレスの両方において設定されている。
主側ROM73において、データとプログラムとが、処理の実行順序とは関係なく、異なる範囲のアドレスのエリアに記憶されていることにより、データとプログラムとで区別してチェックする場合の作業を効率的に行うことが可能となる。また、データが記憶されたエリアのアドレス範囲と、プログラムが記憶されたエリアのアドレス範囲との間に何らデータが記憶されていない未使用のエリアのアドレス範囲が設定されていることにより、データのアドレス範囲とプログラムのアドレス範囲との境界をチェック作業に際して把握し易くなる。
次に、主側MPU72にて実行される電源遮断待機処理のプログラム内容(図62(b))の説明に先立ち、電源遮断待機処理のプログラムに設定されているJRS命令を含むジャンプ命令について説明する。
図62(a)は主側MPU72にて実行されるジャンプ命令の種類を説明するための説明図である。図62(a)に示すように、主側MPU72にて実行されるジャンプ命令として、JP命令、JR命令及びJRS命令が存在している。図61(a)に示すように、主側MPU72は、JP実行回路105、JR実行回路106及びJRS実行回路107を備えている。JP実行回路105はJP命令を実行するための専用回路であり、JR実行回路106はJR命令を実行するための専用回路であり、JRS実行回路107はJRS命令を実行するための専用回路である。
図62(a)に示すように、JP命令は、ジャンプ先となる2バイトのプログラムアドレスの全体(絶対アドレス)を指定して当該ジャンプ先のプログラムアドレスにジャンプさせる命令である。JP命令の語長(機械語のデータ容量)は3バイトであり、JP命令の機械語にはジャンプ先を指定する2バイトのプログラムアドレスの全体が含まれている。JP命令を利用することにより、当該JP命令が設定されているプログラムアドレスとは無関係に、主側ROM73においてプログラムが記憶されているアドレス範囲(「9903H」~「9EFFH」)に含まれているいずれのアドレスにもジャンプすることができる。
JR命令及びJRS命令は、当該JR命令又はJRS命令が設定されているプログラムアドレスからの差分の情報を利用してジャンプ先となる2バイトのプログラムアドレスを指定し、当該指定したジャンプ先のプログラムアドレスにジャンプさせる命令である。JR命令の語長(機械語のデータ容量)は2バイトであり、JR命令の機械語にはジャンプ先のプログラムアドレスの一部を指定する1バイトのデータが含まれている。JR命令には、符号1ビット及び数値7ビットの合計8ビットで当該JR命令が設定されているプログラムアドレスからの差分の情報が設定されている。JR命令では、当該JR命令が設定されているプログラムアドレス及び当該JR命令に設定されている差分の情報(8ビット)に基づいてジャンプ先のプログラムアドレス(2バイト)が相対的に特定される。このように、2バイトのジャンプ先のプログラムアドレスを特定するためにJR命令に設定される情報(差分の情報)のデータ容量は8ビットに抑えられており、JR命令の機械語のデータ容量が低減されている。このため、語長2バイトのJR命令を利用することにより、語長3バイトのJP命令を利用する場合と比較して、ジャンプ先のプログラムアドレスにジャンプするためのジャンプ命令の機械語のデータ容量を低減することができる。JR命令でジャンプできる範囲は、「(当該JR命令が設定されているプログラムアドレス)+2-128」~「(当該JR命令が設定されているプログラムアドレス)+2+127」の範囲である。このうち、「+2」はJR命令自体の語長(2バイト)に対応するものであるとともに、「-128~127」は符号1ビット及び数値7ビットの合計8ビットで指定可能な数値範囲である。
JRS命令には、符号1ビット及び数値4ビットの合計5ビットで当該JRS命令が設定されているプログラムアドレスからの差分の情報が設定されている。JRS命令では、当該JRS命令が設定されているプログラムアドレス及び当該JRS命令に設定されている差分の情報(5ビット)に基づいてジャンプ先のプログラムアドレス(2バイト)が相対的に特定される。このように、2バイトのジャンプ先のプログラムアドレスを特定するためにJRS命令に設定される情報(差分の情報)のデータ容量は5ビットに抑えられており、JRS命令の機械語のデータ容量が低減されている。このため、語長1バイトのJRS命令を利用することにより、語長3バイトのJP命令又は語長2バイトのJR命令を利用する場合と比較して、ジャンプ先のプログラムアドレスにジャンプするためのジャンプ命令の機械語のデータ容量を低減することができる。JRS命令でジャンプできる範囲は、「(当該JRS命令が設定されているプログラムアドレス)+1-16」~「(当該JRS命令が設定されているプログラムアドレス)+1+15」の範囲である。このうち、「+1」はJRS命令自体の語長(1バイト)に対応するものであるとともに、「-16~15」は符号1ビット及び数値4ビットの合計5ビットで指定可能な数値範囲である。
JP命令及びJR命令には、参照するフラグが所定の状態であることを条件としてジャンプする条件付きジャンプと、フラグの状態を参照することなく無条件でジャンプする無条件ジャンプとが存在している。JP命令及びJR命令では、ゼロフラグZF又はキャリーフラグCFが参照される。主側MPU72は、ゼロフラグZFの値が「1」であることを条件としてジャンプするJP命令、ゼロフラグZFの値が「0」であることを条件としてジャンプするJP命令、キャリーフラグCFの値が「1」であることを条件としてジャンプするJP命令、及びキャリーフラグCFの値が「0」であることを条件としてジャンプするJP命令を実行することができる。また、主側MPU72は、ゼロフラグZFの値が「1」であることを条件としてジャンプするJR命令、ゼロフラグZFの値が「0」であることを条件としてジャンプするJR命令、キャリーフラグCFの値が「1」であることを条件としてジャンプするJR命令、及びキャリーフラグCFの値が「0」であることを条件としてジャンプするJR命令を実行することができる。
JRS命令の語長(1バイト)は、JP命令の語長(3バイト)及びJR命令の語長(2バイト)と比較して短い。語長を短くすることを可能とするために、JRS命令には、参照するフラグが所定の状態であることを条件としてジャンプする条件付きジャンプのみが用意されており、フラグの状態を参照することなく無条件でジャンプする無条件ジャンプは用意されていない。また、語長を短くすることを可能とするために、JRS命令において参照対象となるフラグはジャンプフラグJFのみに限定されている。主側MPU72は、ジャンプフラグJFの値が「1」であることを条件としてジャンプするJRS命令、及びジャンプフラグJFの値が「0」であることを条件としてジャンプするJRS命令を実行することができる。
ジャンプフラグJFの値は、JRS命令が実行されても維持される。ジャンプフラグJFの値はJRS命令の実行前後で変化しない。このため、JRS命令の実行前におけるジャンプフラグJFの値を維持しながら当該JRS命令に設定されているジャンプ先のプログラムアドレスにジャンプし、当該JRS命令の実行前におけるジャンプフラグJFの値に基づいて当該ジャンプ先のプログラムアドレスに設定されている命令を実行することができる。
次に、主側MPU72にて実行される電源遮断待機処理のプログラム内容について図62(b)の説明図を参照しながら説明する。既に説明したとおり、電源遮断待機処理はメイン処理(図10)のステップS119にて実行されるとともに、停電時処理(図12)のステップS308にて実行される。図62(b)に示すように本プログラムには、行番号として「1001」~「1002」が設定されている。プログラムの命令は、コール命令又はジャンプ命令が実行される場合を除いて、行番号の小さい方から大きい方に向かう順番で実行される。
図62(b)に示すように、「1001」の行番号には「OUT (WDTCLR0),18H」という命令が設定されている。「OUT」は出力命令としてのOUT命令である。「WDTCLR0」は主側MPU72からウォッチドッグタイマ86aに初期値のデータを出力するための1バイトのポート番号であり、「18H」はウォッチドッグタイマ86aに設定される初期値(「24」)を示す1バイトの数値情報である。行番号「1001」にて「OUT (WDTCLR0),18H」という命令が実行されることにより、ウォッチドッグタイマ86aに初期値である「18H」(「24」)が設定される。これにより、ウォッチドッグタイマ86aを初期化し、当該ウォッチドッグタイマ86aがアンダーフローするまでに要する時間が240ミリ秒である状態に戻すことができる。
既に説明したとおり、ウォッチドッグタイマ86aは、所定の周期(具体的には10ミリ秒に1回の周期)で1減算されて更新されるダウンカウンタである。ウォッチドッグタイマ86aは、初期値が設定されない状態が240ミリ秒に亘って継続された場合にアンダーフローする。ウォッチドッグタイマ86aがアンダーフローした場合、リセット信号はMPU72の入力ポートに対して出力される。当該リセット信号を受信した場合、MPU72ではプログラムをリセットするための処理が起動される。
「1002」の行番号には「JRS 0,ADR101」という命令が設定されている。「JRS」は語長1バイトの条件付きジャンプ命令である。「0」はジャンプ先のプログラムアドレスにジャンプする条件として、ジャンプフラグJFの値が「0」であること、という条件を設定する内容である。「ADR101」はジャンプ先のプログラムアドレスとして行番号「1001」の「OUT (WDTCLR0),18H」という命令が設定されているプログラムアドレスを指定する内容である。行番号「1002」の命令は「ADR102」というプログラムアドレスに設定されている。既に説明したとおり、JRS命令でジャンプできる範囲は、「(当該JRS命令が設定されているプログラムアドレス)+1-16」~「(当該JRS命令が設定されているプログラムアドレス)+1+15」の範囲である。図62(b)に示すように、行番号「1001」には語長3バイトのOUT命令が設定されている。「ADR101」は、「(ADR102)+1-4」であり、行番号「1002」のJRS命令が設定されているプログラムアドレス(ADR102)を基準として当該JRS命令におけるジャンプ先のプログラムアドレスとして指定可能な範囲に存在しているプログラムアドレスである。行番号「1002」では、ジャンプフラグJFの値が「0」であることを条件として「OUT (WDTCLR0),18H」という命令が設定されている行番号「1001」のプログラムアドレスにジャンプする。
図62(c)は行番号「1001」にて「OUT (WDTCLR0),18H」という命令が実行された後のジャンプフラグJFの状態について説明するための説明図である。既に説明したとおり、OUT命令実行後のジャンプフラグJFは、ゼロフラグZFの値と同一の値をとる。行番号「1001」にて「OUT (WDTCLR0),18H」というOUT命令が実行された場合、ゼロフラグZFの値は「0」となる。このため、当該OUT命令実行後のジャンプフラグJFの状態は当該ゼロフラグZFの値と同一の「0」となり、行番号「1002」にて「JRS 0,ADR101」というJRS命令が実行されることにより行番号「1001」にジャンプする。そして、主側MPU72への動作電力の供給が停止するまで、行番号「1001」~行番号「1002」の命令が繰り返し実行される。これにより、ウォッチドッグタイマ86aに初期値を設定する処理を繰り返し実行することができる。電源遮断待機処理においてウォッチドッグタイマ86aに初期値が設定される間隔は、ウォッチドッグタイマ86aに初期値が設定されてから当該ウォッチドッグタイマ86aの値がアンダーフローするまでに要する時間(具体的には240ミリ秒)よりも短い。これにより、ウォッチドッグタイマ86aの値がアンダーフローして主側MPU72のプログラムをリセットするための処理が起動してしまうことを防止することができる。
行番号「1002」のプログラムアドレス(「ADR102」)から行番号「1001」のプログラムアドレス(「ADR101」)にジャンプするための命令として、語長が1バイトであるJRS命令が設定されている。このため、行番号「1002」のプログラムアドレスから行番号「1001」のプログラムアドレスにジャンプするための命令として語長が2バイトであるJR命令又は語長が3バイトであるJP命令が設定されている構成と比較して、電源遮断待機処理のプログラムのデータ容量を低減することができる。
既に説明したとおり、JRS命令には、参照するフラグが所定の状態であることを条件としてジャンプする条件付きジャンプのみが用意されており、フラグの状態を参照することなく無条件でジャンプする無条件ジャンプは用意されていない。行番号「1002」に設定されているJRS命令はジャンプフラグJFの値が「0」であることを条件として行番号「1001」のプログラムアドレスにジャンプする条件付きジャンプ命令であるが、電源遮断待機処理では行番号「1001」のOUT命令が実行された後にジャンプフラグJFの状態が必ず「0」となる。このため、語長の短い条件付きジャンプ命令であるJRS命令を利用する構成としながら、行番号「1001」~行番号「1002」に設定されている命令が繰り返し実行されるようにすることができる。
<AT状態信号を外部出力するための構成>
次に、AT状態信号を外部出力するための構成について説明する。スロットマシン10は当該スロットマシン10の外部に存在しているホールコンピュータHCに対してAT状態信号を含む各種信号(具体的には、AT状態信号、疑似ボーナス状態信号、投入枚数信号及び払出枚数信号)を出力する。ホールコンピュータHCは遊技ホールに設置されている管理コンピュータである。AT状態信号は、スロットマシン10の現状における遊技状態がAT状態ST5であることをホールコンピュータHCにて把握可能とするための信号であり、主側MPU72は遊技状態がAT状態ST5に移行した場合にAT状態信号をLOW状態からHI状態に立ち上げるとともに、AT状態ST5が終了した場合に当該AT状態信号をHI状態からLOW状態に立ち下げる。
図63(a)はスロットマシン10からホールコンピュータHCへの外部出力を行うための構成を説明するための説明図である。図63(a)に示すように、主側MPU72は出力ポート108を備えている。スロットマシン10は、各種信号を外部出力するための外部端子板109を備えている。外部端子板109にはAT状態信号を外部出力するためのAT状態信号端子109aが設けられている。出力ポート108はAT状態信号端子109aと電気的に接続されている。主側MPU72は、AT状態信号端子109aを介してホールコンピュータHCにAT状態信号を出力する。
ホールコンピュータHCは、スロットマシン10から入力されるAT状態信号のLOW状態からHI状態への立ち上がりを検出した場合にAT状態ST5が開始されたことを把握するとともに、AT状態信号のHI状態からLOW状態への立ち下がりを検出した場合にAT状態ST5が終了したことを把握する。なお、ホールコンピュータHCにおいて、スロットマシン10から入力されるAT状態信号がHI状態である場合に遊技状態がAT状態ST5であることが把握されるとともに、当該AT状態信号がLOW状態である場合に遊技状態がAT状態ST5ではないことが把握される構成としてもよい。
ホールコンピュータHCは、スロットマシン10から受信する信号に基づいて遊技ホールに設置されているデータカウンタDCに情報を送信する。データカウンタDCは対応するスロットマシン10の上方に搭載されており、データカウンタDCでは非AT状態が開始されてからのゲームの実行回数の表示が行われる。非AT状態は、遊技状態がAT状態ST5に移行した場合に終了するとともに、当該AT状態ST5が終了した場合に開始される。なお、AT状態信号端子109aがデータカウンタDCと電気的に接続されており、主側MPU72がデータカウンタDCに対してAT状態信号を外部出力する構成としてもよい。
次に、主側MPU72にて実行される外部出力設定処理について図63(b)のフローチャートを参照しながら説明する。外部出力設定処理は通常処理(図13)のステップS411にて実行される。
外部出力設定処理では、AT状態信号の状態を設定するAT状態信号設定処理を実行する(ステップS3901)。図63(c)はAT状態フラグ77dの値及びAT状態信号カウンタ74wの値とAT状態信号との関係を説明するための説明図である。外部出力設定処理(図63(b))のステップS3901におけるAT状態信号設定処理では、主側RAM74のAT状態フラグ77dに「1」がセットされているとともにAT状態信号カウンタ74wの値が「0」である場合、すなわち遊技状態がAT状態ST5に移行してからAT状態信号の立ち上げ処理が行われていない状態である場合、AT状態信号の立ち上げ処理を実行することにより、AT状態信号をLOW状態からHI状態に立ち上げる。その後、AT状態信号カウンタ74wに「1」をセットする。これにより、AT状態信号がHI状態であることを主側MPU72にて把握可能となる。AT状態フラグ77dに「1」がセットされているとともにAT状態信号カウンタ74wの値が「0」である状態は、AT状態ST5が開始される場合に発生する状態である。ステップS3901におけるAT状態信号設定処理では、主側RAM74のAT状態フラグ77d及びAT状態信号カウンタ74wに「1」がセットされている場合には、AT状態信号の状態を変更するための処理を実行しない。これにより、AT状態信号のHI状態が維持される。AT状態フラグ77d及びAT状態信号カウンタ74wに「1」がセットされている状態は、AT状態ST5が継続される場合に発生する状態である。
ステップS3901におけるAT状態信号設定処理では、主側RAM74のAT状態フラグ77dの値が「0」であるとともにAT状態信号カウンタ74wの値が「1」である場合、すなわちAT状態ST5が終了してからAT状態信号の立ち下げ処理が行われていない状態である場合、AT状態信号の立ち下げ処理を実行することにより、AT状態信号をHI状態からLOW状態に立ち上げる。その後、AT状態信号カウンタ74wの値を「0」クリアする。これにより、AT状態信号がLOW状態であることを主側MPU72にて把握可能となる。AT状態フラグ77dの値が「0」であるとともにAT状態信号カウンタ74wの値が「1」である状態は、AT状態ST5が終了する場合に発生する状態である。ステップS3901におけるAT状態信号設定処理では、主側RAM74のAT状態フラグ77d及びAT状態信号カウンタ74wの値が「0」である場合には、AT状態信号の状態を変更するための処理を実行しない。これにより、AT状態信号のLOW状態が維持される。AT状態フラグ77d及びAT状態信号カウンタ74wの値が「0」である状態は、遊技状態がAT状態ST5ではない状態(非AT状態)が継続される場合に発生する状態である。
外部出力設定処理(図63(b))の説明に戻り、ステップS3901にてAT状態信号設定処理を実行した後は、その他の信号設定処理を実行して(ステップS3902)、本外部出力設定処理を終了する。ステップS3902におけるその他の信号設定処理では、外部端子板109を介してホールコンピュータHCに出力する疑似ボーナス状態信号の状態を設定する処理を実行する。疑似ボーナス状態信号は、遊技状態が疑似ボーナス状態ST4であるか否かをホールコンピュータHCにて把握可能とする信号である。主側MPU72は、疑似ボーナス状態ST4が開始された場合に疑似ボーナス状態信号をLOW状態からHI状態に立ち上げるとともに、疑似ボーナス状態ST4が終了した場合に疑似ボーナス状態信号をHI状態からLOW状態に立ち下げる。
次に、主側MPU72にて実行されるAT状態信号設定処理のプログラム内容について図64(a)の説明図を参照しながら説明する。AT状態信号設定処理は外部出力設定処理(図63(b))のステップS3901にて実行される。図64(a)に示すように本プログラムには、行番号として「1101」~「1117」が設定されている。プログラムの命令は、コール命令又はジャンプ命令が実行される場合を除いて、行番号の小さい方から大きい方に向かう順番で実行される。
図64(a)に示すように、「1101」の行番号には「LD A,(YGJTAR)」という命令が設定されている。「LD」は8ビット転送命令としてのLD命令であり、「A」は転送先としてAレジスタ101bを指定する内容である。「YGJTAR」は主側RAM74における遊技状態エリア77のアドレス(2バイト)である。「(YGJTAR)」は転送元として遊技状態エリア77を指定する内容である。行番号「1101」にて「LD A,(YGJTAR)」という命令が実行されることにより遊技状態エリア77のデータがAレジスタ101bに転送される。
「1102」の行番号には「AND A,08H」という命令が設定されている。「AND」は8ビットデータの論理積を演算するAND命令であり、「A」はAレジスタ101bである。上述したとおり、行番号「1101」のLD命令が実行されることによりAレジスタ101bには遊技状態エリア77のデータが設定されている。図31(b)を参照しながら既に説明したとおり、遊技状態エリア77の第3ビットにはAT状態フラグ77dが設定されている。「08H」はAレジスタ101bに格納されているデータのうちAT状態フラグ77dのデータが設定されている第3ビット以外のビットを「0」でマスクするための「00001000B」というマスクデータである。行番号「1102」にて「AND A,08H」という命令が実行されることによりAレジスタ101bに格納されているデータと当該マスクデータとの論理積の演算が実行され、当該演算の結果がAレジスタ101bに格納される。Aレジスタ101bの値は、AT状態フラグ77dに「1」がセットされている場合には「08H」となるとともに、AT状態フラグ77dの値が「0」である場合には「00H」となる。
「1103」の行番号には「CP A,08H」という命令が設定されている。「CP」は8ビットデータの比較命令としてのCP命令であり、「A」はAレジスタ101bであり、「08H」は1バイトの数値情報である。行番号「1103」にて「CP A,08H」という命令が実行されることにより、Aレジスタ101bの値から「08H」を減算する演算が行われ、当該演算において最上位ビット(第0~第7ビットにおける第7ビット)への桁借りが生じた場合にはキャリーフラグCFの値が「1」となるとともに、当該演算において最上位ビットへの桁借りが生じなかった場合にはキャリーフラグCFの値が「0」となる。既に説明したとおり、CP命令が実行された場合、ジャンプフラグJFの値はキャリーフラグCFの値と同一の値となる。上述したとおり、行番号「1102」における「AND A,08H」という命令の実行後、Aレジスタ101bの値は、AT状態フラグ77dに「1」がセットされている場合には「08H」であるとともに、AT状態フラグ77dの値が「0」である場合には「00H」である。AT状態フラグ77dに「1」がセットされている場合には、行番号「1103」にて「CP A,08H」という命令が実行されることにより、Aレジスタ101bに格納されている「08H」から「08H」を減算する演算が行われるため、最上位ビットへの桁借りが生じることはなく、キャリーフラグCFの値は「0」となるとともにジャンプフラグJFの値も「0」となる。一方、AT状態フラグ77dの値が「0」である場合には、行番号「1103」にて「CP A,08H」という命令が実行されることにより、Aレジスタ101bに格納されている「00H」から「08H」を減算する演算が行われるため、最上位ビットへの桁借りが生じてキャリーフラグCFの値が「1」となるとともにジャンプフラグJFの値も「1」となる。Aレジスタ101bの値から「08H」を減算する演算の演算結果は、Aレジスタ101bには書き込まれない。「CP A,08H」という命令が実行されてもAレジスタ101bの値は変化しない。
「1104」の行番号には、「JRS 0,ADR113」という命令が設定されている。「JRS」は語長1バイトの条件付きジャンプ命令である。「0」はジャンプする条件として、ジャンプフラグJFの値が「0」であること、という条件を設定する内容である。「ADR113」は、ジャンプ先のプログラムアドレスとして行番号「1111」のLD命令が設定されているプログラムアドレスである「ADR113」を指定する内容である。行番号「1104」のJRS命令は「ADR111」というプログラムアドレスに設定されている。行番号「1104」のJRS命令では、当該JRS命令が設定されているプログラムアドレス(ADR111)及び当該JRS命令に設定されている差分の情報(5ビット)に基づいて、2バイトのジャンプ先のプログラムアドレス(ADR113)が相対的に特定される。語長1バイトのJRS命令を利用してジャンプ先のプログラムアドレスにジャンプする構成であることにより、語長3バイトのJP命令又は語長2バイトのJR命令を利用する構成と比較して、ジャンプ先のプログラムアドレスにジャンプするためのジャンプ命令の機械語のデータ容量が低減されている。既に説明したとおり、JRS命令でジャンプできる範囲は、「(当該JRS命令が設定されているプログラムアドレス)+1-16」~「(当該JRS命令が設定されているプログラムアドレス)+1+15」の範囲である。図64(a)に示すように、「ADR111」というプログラムアドレスと「ADR113」というプログラムアドレスとの間に存在するプログラムアドレスに設定されている命令(行番号「1105」のLD命令、行番号「1106」のCP命令、行番号「1107」のRET命令、行番号「1108」のCALL命令、行番号「1109」のXOR命令及び行番号「1110」のJRS命令)の語長の合計は11バイトである。「ADR113」は、「(ADR111)+1+11」であり、行番号「1104」のJRS命令が設定されているプログラムアドレス(ADR111)を基準として当該JRS命令におけるジャンプ先のプログラムアドレスとして指定可能なプログラムアドレスである。行番号「1104」にて「JRS 0,ADR113」という命令が実行されることにより、ジャンプフラグJFの値が「0」であることを条件として、行番号「1111」の「ADR113」というプログラムアドレスにジャンプする。具体的には、AT状態フラグ77dに「1」がセットされている場合には、行番号「1104」にて「JRS 0,ADR113」という命令が実行されることにより「ADR113」という行番号「1111」のプログラムアドレスにジャンプする。一方、AT状態フラグ77dの値が「0」である場合には、行番号「1104」に「JRS 0,ADR113」という命令が設定されていてもプログラムアドレスがジャンプすることはなく、次の行番号「1105」に進む。
行番号「1105」~行番号「1110」に設定されている命令は、遊技状態がAT状態ST5ではない状態(非AT状態)において実行される命令である。「1105」の行番号には「LD A,(AJSGCNT)」という命令が設定されている。「LD」は8ビット転送命令としてのLD命令であり、「A」は転送先としてAレジスタ101bを指定する内容である。「AJSGCNT」は主側RAM74におけるAT状態信号カウンタ74wのアドレス(2バイト)である。「(AJSGCNT)」は転送元としてAT状態信号カウンタ74wを指定する内容である。行番号「1105」にて「LD A,(AJSGCNT)」という命令が実行されることによりAT状態信号カウンタ74wのデータがAレジスタ101bに転送される。既に説明したとおり、AT状態信号カウンタ74wの値は、AT状態信号がHI状態である場合に「1」であるとともに、AT状態信号がLOW状態である場合に「0」である。
「1106」の行番号には「CP A,01H」という命令が設定されている。「CP」は8ビットデータの比較命令としてのCP命令であり、「A」はAレジスタ101bであり、「01H」は1バイトの数値情報である。行番号「1106」にて「CP A,01H」という命令が実行されることにより、Aレジスタ101bの値から「01H」を減算する演算が行われ、当該演算において最上位ビット(第0~第7ビットにおける第7ビット)への桁借りが生じた場合にはキャリーフラグCFの値が「1」となるとともに、当該演算において最上位ビットへの桁借りが生じなかった場合にはキャリーフラグCFの値が「0」となる。上述したとおり、行番号「1105」における「LD A,(AJSGCNT)」という命令の実行後、Aレジスタ101bには、AT状態信号カウンタ74wのデータ(「00H」又は「01H」)が設定されている。AT状態信号カウンタ74wの値が「1」である場合には、行番号「1106」にて「CP A,01H」という命令が実行されることにより、Aレジスタ101bに格納されている「01H」から「01H」を減算する演算が行われるため、最上位ビットへの桁借りが生じることはなく、キャリーフラグCFの値は「0」となる。一方、AT状態フラグ77dの値が「0」である場合には、行番号「1106」にて「CP A,01H」という命令が実行されることにより、Aレジスタ101bに格納されている「00H」から「01H」を減算する演算が行われるため、最上位ビットへの桁借りが生じてキャリーフラグCFの値が「1」となる。
「1107」の行番号には「RET C」という命令が設定されている。「RET」はサブルーチンからの復帰命令であり、「C」はサブルーチンから復帰する条件としてキャリーフラグCFの値が「1」であること、という条件を設定する内容である。上述したとおり、AT状態信号カウンタ74wの値が「0」である場合には行番号「1106」にて「CP A,01H」という命令が実行されることによりキャリーフラグCFの値が「1」となっている。このため、AT状態信号カウンタ74wの値が「0」である場合には行番号「1107」にて「RET C」という命令が実行されることにより、ポート出力処理(図28)のステップS1411にて呼び出したAT状態信号設定処理を終了して、当該AT状態信号設定処理の次に設定されているステップS1411の処理に復帰する。このように、AT状態フラグ77dの値が「0」であるとともにAT状態信号カウンタ74wの値が「0」である場合には、遊技状態がAT状態ST5ではない状態(非AT状態)が継続されることを意味するため、AT状態信号がLOW状態である状態を変更することなく、本AT状態信号設定処理を終了する。一方、上述したとおり、AT状態信号カウンタ74wの値が「1」である場合には、行番号「1106」にて「CP A,01H」という命令が実行されることによりキャリーフラグCFの値が「0」となっている。このため、行番号「1107」に「RET C」という命令が設定されていてもサブルーチンから復帰することはなく、次の行番号「1108」に進む。このように、AT状態フラグ77dの値が「0」であるとともにAT状態信号カウンタ74wの値が「1」である場合には、AT状態ST5が終了してからAT状態信号を立ち下げる処理(後述する行番号「1108」の処理)が未だ実行されていない状態であることを意味するため、行番号「1108」に進んでAT状態信号を立ち下げる。AT状態フラグ77dの値が「0」であるとともにAT状態信号カウンタ74wの値が「1」である状態は、AT状態ST5の終了時に発生する状態である。
「1108」の行番号には「CALL AJSGTSSR」という命令が設定されている。「AJSGTSSR」はAT状態信号の立ち下げ処理であり、「CALL」は当該AT状態信号の立ち下げ処理のサブルーチンを呼び出すCALL命令である。行番号「1108」にて「CALL AJSGTSSR」という命令が実行されることによりAT状態信号の立ち下げ処理が実行される。AT状態信号の立ち下げ処理では、AT状態信号をHI状態からLOW状態に変更するための処理が実行される。AT状態信号の立ち下げ処理が終了した場合には、当該AT状態信号の立ち下げ処理を呼び出した行番号「1108」の次に設定されている行番号「1109」に進む。
「1109」の行番号には「XOR A,A」という命令が設定されている。「XOR」はXOR命令という排他的論理和命令であり、コンマの前後の「A」はAレジスタ101bを指定する内容である。行番号「1109」にて「XOR A,A」が実行されることにより、Aレジスタ101bの値とAレジスタ101bの値との排他的論理和の演算結果がコンマの前の「A」で指定されたAレジスタ101bに設定される。具体的には、Aレジスタ101bの値に関わらず、Aレジスタ101bに「00H」が設定される。つまり、Aレジスタ101bが「0」クリアされる。AT状態信号設定処理では後述する行番号「1116」にてAレジスタ101bのデータを主側RAM74のAT状態信号カウンタ74wにセットする。Aレジスタ101bはAT状態信号カウンタ74wにセットされるデータが設定されるレジスタであり、「XOR A,A」という命令はそのAレジスタ101bを「0」クリアするための命令である。上述したとおり、「XOR A,A」という命令により行われる演算の演算結果は「0」である。また、既に説明したとおり、ジャンプフラグJFはXOR命令が実行された場合にゼロフラグZFの値と同一の値をとる。このため、行番号「1109」にて「XOR A,A」という命令が実行されることによりゼロフラグZFの値が「1」となるとともにジャンプフラグJFの値が「1」となる。
「1110」の行番号には「JRS 1,ADR114」という命令が設定されている。「JRS」は語長1バイトの条件付きジャンプ命令であり、「1」はジャンプする条件として、ジャンプフラグJFの値が「1」であること、という条件を設定する内容であり、「ADR114」は「ADR114」という行番号「1116」のプログラムアドレスをジャンプ先に指定する内容である。行番号「1110」の「JRS 1,ADR114」という命令は「ADR112」というプログラムアドレスに設定されている。既に説明したとおり、JRS命令でジャンプできる範囲は、「(当該JRS命令が設定されているプログラムアドレス)+1-16」~「(当該JRS命令が設定されているプログラムアドレス)+1+15」の範囲である。図64(a)に示すように、「ADR112」というプログラムアドレスと「ADR114」というプログラムアドレスの間のプログラムアドレスに設定されている命令(行番号「1111」のLD命令、行番号「1112」のCP命令、行番号「1113」のRET命令、行番号「1114」のCALL命令及び行番号「1115」のLD命令)の語長の合計は11バイトである。「ADR114」は、「(ADR112)+1+11」であり、行番号「1110」のJRS命令が設定されているプログラムアドレス(ADR112)を基準として当該JRS命令におけるジャンプ先のプログラムアドレスとして指定可能なプログラムアドレスである。上述したとおり、行番号「1109」にて「XOR A,A」という命令が実行されることによりゼロフラグZFの値が「1」となるとともにジャンプフラグJFの値も「1」となる。このため、行番号「1109」にて「XOR A,A」という命令を実行した後に行番号「1110」にて「JRS 1,ADR114」という命令を実行する構成とすることにより、「ADR112」という行番号「1110」のプログラムアドレスから「ADR114」という行番号「1116」のプログラムアドレスに必ずジャンプさせることができる。
既に説明したとおり、語長1バイトのJRS命令には、ジャンプフラグJFの値が「1」及び「0」のいずれか一方であることを条件としてジャンプ先のプログラムアドレスにジャンプする条件付きのジャンプ命令しか用意されていない。行番号「1109」にて「XOR A,A」という命令が実行されてジャンプフラグJFの値が「1」となっている状態において行番号「1110」にて「JRS 1,ADR114」という命令を実行する構成とすることにより、行番号「1110」から行番号「1116」に確実にジャンプすることができる。上述したとおり、行番号「1109」に設定されている「XOR A,A」という命令は、後述する行番号「1116」にてAT状態信号カウンタ74wにセットされるAレジスタ101bのデータを「0」クリアするための命令である。そして、行番号「1109」に設定されている「XOR A,A」という命令は、行番号「1110」にて語長1バイトのJRS命令を利用して「ADR114」という行番号「1116」のプログラムアドレスに確実にジャンプすることを可能とする命令でもある。これら2つの役割が行番号「1109」のXOR命令に集約されていることによりAT状態信号設定処理を実行するためのプログラムのデータ容量が低減されている。
行番号「1111」に設定されている命令は、行番号「1104」から行番号「1111」にジャンプした場合に実行される。既に説明したとおり、AT状態フラグ77dに「1」がセットされている場合には、行番号「1104」にて「JRS 0,ADR113」という命令が実行されることにより「ADR113」という行番号「1111」のプログラムアドレスにジャンプする。行番号「1111」~行番号「1115」に設定されている命令はAT状態ST5において実行される命令である。
「1111」の行番号には、行番号「1105」と同様に、「LD A,(AJSGCNT)」という命令が設定されている。行番号「1111」にて「LD A,(AJSGCNT)」という命令が実行されることによりAT状態信号カウンタ74wのデータがAレジスタ101bに転送される。既に説明したとおり、AT状態信号カウンタ74wの値は、AT状態信号がHI状態である場合に「1」であるとともに、AT状態信号がLOW状態である場合に「0」である。
「1112」の行番号には、行番号「1106」と同様に、「CP A,01H」という命令が設定されている。行番号「1112」にて「CP A,01H」という命令が実行されることにより、Aレジスタ101bの値から「1」を減算する演算が行われる。1減算前のAレジスタ101bの値が「0」である場合、すなわちAT状態信号カウンタ74wの値が「0」である場合には、当該演算において最上位ビット(第0~第7ビットにおける第7ビット)への桁借りが生じてキャリーフラグCFの値が「1」となる。一方、1減算前のAレジスタ101bの値が「1」以上である場合、すなわちAT状態信号カウンタ74wの値が「1」である場合には、当該演算において最上位ビット(第0~第7ビットにおける第7ビット)への桁借りが生じないため、キャリーフラグCFの値が「0」となる。Aレジスタ101bの値から「1」を減算する演算の演算結果がAレジスタ101bに書き込まれることはなく、「CP A,01H」という命令が実行されてもAレジスタ101bの値は変化しない。
「1113」の行番号には「RET NC」という命令が設定されている。「RET」はサブルーチンからの復帰命令であり、「NC」はサブルーチンから復帰する条件としてキャリーフラグCFの値が「0」であること、という条件を設定する内容である。上述したとおり、AT状態信号カウンタ74wの値が「1」である場合には行番号「1112」にて「CP A,01H」という命令が実行されることによりキャリーフラグCFの値が「0」となっている。このため、AT状態信号カウンタ74wの値が「1」である場合には行番号「1113」にて「RET NC」という命令が実行されることにより、現状において呼び出されているサブルーチンを終了して当該サブルーチンを呼び出した処理の次に設定されている処理に復帰する。具体的には、外部出力設定処理(図63(b))のステップS3901の次の処理であるステップS3902の処理に復帰する。このように、AT状態フラグ77dの値が「1」であるとともにAT状態信号カウンタ74wの値が「1」である場合には、AT状態ST5が継続されることを意味するため、AT状態信号がHI状態である状態を変更することなく、本AT状態信号設定処理を終了する。一方、上述したとおり、AT状態信号カウンタ74wの値が「0」である場合には行番号「1112」にて「CP A,01H」という命令が実行されることによりキャリーフラグCFの値が「1」となる。このため、行番号「1113」に「RET NC」という命令が設定されていてもサブルーチンから復帰することはなく、次の行番号「1114」に進む。このように、AT状態フラグ77dの値が「1」であるとともにAT状態信号カウンタ74wの値が「0」である場合には、遊技状態がAT状態ST5に移行してからAT状態信号を立ち上げる処理(後述する行番号「1114」の処理)が未だ実行されていない状態であることを意味するため、行番号「1114」に進んでAT状態信号を立ち上げる。AT状態フラグ77dの値が「1」であるとともにAT状態信号カウンタ74wの値が「0」である状態は、AT状態ST5の開始時に発生する状態である。
「1114」の行番号には「CALL AJSGTASR」という命令が設定されている。「AJSGTASR」はAT状態信号の立ち上げ処理であり、「CALL」は当該AT状態信号の立ち上げ処理のサブルーチンを呼び出すCALL命令である。行番号「1114」にて「CALL AJSGTASR」という命令が実行されることによりAT状態信号の立ち上げ処理が実行される。AT状態信号の立ち上げ処理では、AT状態信号をLOW状態からHI状態に変更するための処理が実行される。AT状態信号の立ち上げ処理が終了した場合には、当該AT状態信号の立ち上げ処理を呼び出した行番号「1114」の次の行番号「1115」に進む。
「1115」の行番号には「LD A,01H」という命令が設定されている。「LD」は8ビット転送命令としてのLD命令であり、「A」は転送先としてAレジスタ101bを指定する内容であり、「01H」は「1」を示す1バイトの数値情報である。行番号「1115」にて「LD A,01H」という命令が実行されることによりAレジスタ101bに「01H」が設定される。
行番号「1116」に設定されている命令は、行番号「1110」のプログラムアドレス(「ADR112」)から行番号「1116」のプログラムアドレス(「ADR114」)にジャンプした場合、又は行番号「1115」にてLD命令を実行した場合に実行される。「1116」の行番号には「LD (AJSGCNT),A」という命令が設定されている。「LD」は8ビット転送命令としてのLD命令であり、「(AJSGCNT)」は転送先としてAT状態信号カウンタ74wを指定する内容であり、「A」は転送元としてAレジスタ101bを指定する内容である。行番号「1110」のプログラムアドレスから行番号「1116」のプログラムアドレスにジャンプした場合、すなわちAT状態ST5の終了時である場合には行番号「1109」にてAレジスタ101bが「0」クリアされているため、行番号「1116」にて「LD (AJSGCNT),A」という命令が実行されることにより主側RAM74のAT状態信号カウンタ74wに「0」がセットされる。これにより、AT状態信号がLOW状態であることを主側MPU72にて把握可能とすることができる。一方、行番号「1115」の命令を実行した場合、すなわちAT状態ST5の開始時である場合には行番号「1115」にてAレジスタ101bに「1」がセットされているため、行番号「1116」にて「LD (AJSGCNT),A」という命令が実行されることによりAT状態信号カウンタ74wに「1」がセットされる。これにより、AT状態信号がHI状態であることを主側MPU72にて把握可能とすることができる。
「1117」の行番号には「RET」という命令が設定されている。「RET」はサブルーチンからの復帰命令である。行番号「1117」にて「RET」という命令が実行されることにより、現状において呼び出されているサブルーチンを終了して当該サブルーチンを呼び出した処理の次に設定されている処理に復帰する。具体的には、外部出力設定処理(図63(b))におけるステップS3901の処理の次に設定されているステップS3902の処理に復帰する。
図64(b)はAT状態信号設定処理(図64(a))において「ADR112」という行番号「1110」のプログラムアドレスから「ADR114」という行番号「1116」のプログラムアドレスにジャンプするために設定されているジャンプ命令を説明するための説明図であり、図64(c)はAT状態信号設定処理の比較例において「ADR112」という行番号「1110」のプログラムアドレスから「ADR114」という行番号「1116」のプログラムアドレスにジャンプするために設定されているジャンプ命令を説明するための説明図である。
既に説明したとおり、JRS命令には、参照するフラグが所定の状態(ジャンプフラグJFの値が「1」である状態、又はジャンプフラグJFの値が「0」である状態)であることを条件としてジャンプする条件付きジャンプのみが用意されており、フラグの状態を参照することなく無条件でジャンプする無条件ジャンプは用意されていない。上述したとおり、行番号「1110」に設定されている「JRS 1,ADR114」という命令は、ジャンプフラグJFの値が「1」であることを条件として「ADR114」という行番号「1116」のプログラムアドレスにジャンプする命令である。ジャンプフラグJFの値が「0」である場合には、行番号「1110」に「JRS 1,ADR114」という命令が設定されていてもジャンプ条件が満たされないため、「ADR114」というプログラムアドレスにジャンプすることなく次の行番号「1111」に進んでしまう。本実施形態におけるAT状態信号設定処理(図64(a))では、行番号「1109」にて「XOR A,A」という命令が実行されることによりジャンプフラグJFの値が「1」となり、当該ジャンプフラグJFの値が「1」である状態で行番号「1110」の「JRS 1,ADR114」という命令が実行される構成である。これにより、行番号「1110」に設定されている条件付きジャンプ命令であるJRS命令を利用して、「ADR112」という行番号「1110」のプログラムアドレスから「ADR114」という行番号「1116」のプログラムアドレスに必ずジャンプさせることができる。
行番号「1110」のプログラムアドレスから行番号「1116」のプログラムアドレスに必ずジャンプさせるために、行番号「1110」に無条件ジャンプ命令であるJR命令又はJP命令を設定することも考えられるが、例えば図64(c)に示すように行番号「1110」に「JR ADR114」というJR命令を設定すると、行番号「1110」に設定されているジャンプ命令の語長が2バイトになってしまう。また、図示は省略するが、行番号「1110」に「JP ADR114」というJP命令を設定すると、行番号「1110」に設定されているジャンプ命令の語長が3バイトになってしまう。行番号「1109」に設定されている「XOR A,A」という命令は、行番号「1116」においてAT状態信号カウンタ74wに設定する「00H」という1バイトのデータを作成するための命令であり、行番号「1110」に設定されるジャンプ命令がJRS命令(語長1バイト)、JR命令(語長2バイト)及びJP命令(語長3バイト)のいずれであっても必要な命令である。AT状態信号設定処理(図64(a))では、連続する行番号「1109」及び行番号「1110」に「XOR A,A」という命令及び「JRS 1,ADR114」という命令が設定されている構成であることにより、行番号「1110」に設定されているジャンプ命令の語長を1バイトに抑えながら、行番号「1110」にいずれのジャンプ命令が設定される場合であっても必要となる「XOR A,A」という命令を利用して、行番号「1110」のプログラムアドレスから行番号「1116」のプログラムアドレスに必ずジャンプさせることが可能となっている。これにより、AT状態信号設定処理を実行するためのプログラム(図64(a))のデータ容量を低減することができる。
<抽選結果対応処理のプログラム内容>
次に、主側MPU72にて実行される抽選結果対応処理(図25)のプログラム内容(図66参照)の説明に先立ち、当該抽選結果対応処理において主側RAM74におけるインデックス値カウンタ74fの値が「1」~「9」の数値範囲に含まれているか否かを判定するための処理内容について説明する。既に説明したとおり、抽選結果対応処理は役の抽選処理(図18)のステップS914にて実行される。
以下では、インデックス値カウンタ74fの値が「1」~「9」の数値範囲に含まれているか否かの判定において判定対象となっている「1」~「9」の数値範囲を「判定対象範囲」ともいう。既に説明したとおり、疑似ボーナス状態ST4又はAT状態ST5であるとともにベット数が「3」であるゲームにおいて、役の抽選処理(図18)にて「1」~「9」のいずれかのインデックス値IVに当選したことを条件として、停止順種別カウンタ74mに「1」~「9」のいずれかの停止順種別番号が設定される。そして、停止順種別カウンタ74mに「1」~「9」のいずれかの停止順種別番号が設定されていることに基づいて、兼用表示部66にてリール32L,32M,32Rの停止順対応表示が実行されるとともに、画像表示装置63にてリール32L,32M,32Rの停止順報知が実行される。判定対象範囲(「1」~「9」)は、疑似ボーナス状態ST4又はAT状態ST5であるとともに今回のゲームのベット数が「3」である状態において、兼用表示部66における停止順対応表示及び画像表示装置63における停止順報知の実行対象となるインデックス値IVの範囲である。
主側MPU72は、まず主側RAM74におけるインデックス値カウンタ74fのデータをAレジスタ101bに転送する。その後、後述する抽選結果対応処理(図66)の行番号「1213」にて「ADD A,F6H」という命令を実行することにより、Aレジスタ101bの値に「246」を加算する演算を行う。Aレジスタ101bは1バイトのレジスタであり、Aレジスタ101bに格納される数値情報の最大値は「255」である。Aレジスタ101bの値に加算される「246」は、Aレジスタ101bに格納される1バイトの数値情報における最大値である「255」から判定対象範囲(「1」~「9」)の最大値である「9」を減算する演算により得られる数値情報である。
図65は「246」を加算する前のAレジスタ101bの値と、「246」を加算した後のAレジスタ101bの値及びキャリーフラグCFの値との関係を説明するための説明図である。図65に示すように、「246」を加算する前のAレジスタ101bの値が「0」~「9」のいずれかである場合、すなわち「246」を加算する前のAレジスタ101bの値が判定対象範囲(「1」~「9」)の最大値である「9」以下である場合、Aレジスタ101bに「246」を加算する演算の実行中に最上位ビット(第7ビット)からの桁上がりは発生しない。このため、「246」を加算した後のキャリーフラグCFの値は「0」となる。そして、「246」を加算する演算の実行前にAレジスタ101bに格納されている1バイトの数値情報(「246」~「255」)は、当該「246」を加算する演算の実行前にAレジスタ101bに格納されている1バイトの数値情報(「0」~「9」)よりも大きい値となる。
「246」を加算する前のAレジスタ101bの値が「10」~「17」のいずれかである場合、すなわち「246」を加算する前のAレジスタ101bの値が判定対象範囲(「1」~「9」)の最大値である「9」よりも大きい値である場合、Aレジスタ101bに「246」を加算する演算の実行中にAレジスタ101bの最上位ビット(第7ビット)からの桁上がりが発生する。このため、「246」を加算した後のキャリーフラグCFの値は「1」となる。そして、「246」を加算する演算の実行前にAレジスタ101bに格納されている1バイトの数値情報(「0」~「7」)は、当該「246」を加算する演算の実行前にAレジスタ101bに格納されている1バイトの数値情報(「10」~「17」)よりも小さい値となる。
「246」を加算する前のAレジスタ101bの値が判定対象範囲である「1」~「9」のいずれかである場合、「246」を加算する演算の終了後にAレジスタ101bに格納されている1バイトの数値情報は「247」~「255」のいずれかとなる。このように、「246」を加算する前のAレジスタ101bの値が判定対象範囲である「1」~「9」のいずれかである場合には、「246」を加算する演算の終了後にAレジスタ101bに格納されている1バイトの数値情報が「247」以上の値となる。
「246」を加算する前のAレジスタ101bの値が判定対象判定(「1」~「9」)に含まれない「0」である場合、「246」を加算する演算の終了後にAレジスタ101bに格納されている1バイトの数値情報は「246」となる。また、「246」を加算する前のAレジスタ101bの値が判定対象判定(「1」~「9」)に含まれない「10」~「17」のいずれかである場合、「246」を加算する演算の終了後にAレジスタ101bに格納されている1バイトの数値情報は「0」~「7」のいずれかとなる。このように、「246」を加算する前のAレジスタ101bの値が判定対象判定(「1」~「9」)に含まれない「0」及び「10」~「17」のいずれかである場合には、「246」を加算する演算の終了後にAレジスタ101bに格納されている1バイトの数値情報が「247」未満の値となる。
上述したとおり、「246」を加算する演算の実行後にAレジスタ101bに格納されている1バイトの数値情報は、「246」を加算する演算の実行前にAレジスタ101bに格納されている1バイトの数値情報が判定対象範囲に含まれている「1」~「9」のいずれかである場合には「247」以上の値となるとともに、「246」を加算する演算の実行前にAレジスタ101bに格納されている1バイトの数値情報が判定対象範囲に含まれていない「0」及び「10」~「17」のいずれかである場合には「247」未満の値となる。このため、「246」を加算する演算を実行した後にAレジスタ101bの値が「247」以上であるか否かを判定することにより、判定回数を1回に抑えながら、インデックス値カウンタ74fの値が「1」~「9」の判定対象範囲に含まれているか否かの判定を行うことができる。
次に、主側MPU72にて実行される抽選結果対応処理(図25)のプログラム内容について図66の説明図を参照しながら説明する。既に説明したとおり、抽選結果対応処理は役の抽選処理(図18)のステップS914にて実行される。抽選結果対応処理の処理内容は図25のフローチャートを参照しながら説明したとおりである。図66に示すように本プログラムには、行番号として「1201」~「1219」が設定されている。プログラムの命令は、コール命令又はジャンプ命令が実行される場合を除いて、行番号の小さい方から大きい方に向かう順番で実行される。
「1201」の行番号には、既に説明したAT状態信号設定処理(図64(a))の行番号「1101」と同様に、「LD A,(YGJTAR)」という命令が設定されている。「LD」は8ビット転送命令としてのLD命令であり、「A」は転送先としてAレジスタ101bを指定する内容である。「YGJTAR」は主側RAM74における遊技状態エリア77のアドレス(2バイト)であり、「(YGJTAR)」は転送元として遊技状態エリア77を指定する内容である。行番号「1201」にて「LD A,(YGJTAR)」という命令が実行されることにより遊技状態エリア77のデータがAレジスタ101bに転送される。
「1202」の行番号には「AND A,04H」という命令が設定されている。「AND」は8ビットデータの論理積を演算するAND命令であり、「A」はAレジスタ101bである。上述したとおり、行番号「1201」のLD命令が実行されることによりAレジスタ101bには遊技状態エリア77のデータが設定されている。図31(b)を参照しながら既に説明したとおり、遊技状態エリア77の第2ビットには疑似ボーナス状態フラグ77cが設けられている。「04H」はAレジスタ101bに格納されているデータのうち疑似ボーナス状態フラグ77cのデータが設定されている当該第2ビット以外のビットを「0」でマスクするための「00000100B」というマスクデータである。行番号「1202」にて「AND A,04H」という命令が実行されることによりAレジスタ101bに格納されているデータと当該マスクデータとの論理積の演算が実行され、当該演算の結果がAレジスタ101bに格納される。Aレジスタ101bの値は、疑似ボーナス状態フラグ77cに「1」がセットされている場合には「04H」となるとともに、疑似ボーナス状態フラグ77cの値が「0」である場合には「00H」となる。
「1203」の行番号には「CP A,04H」という命令が設定されている。「CP」は8ビットデータの比較命令としてのCP命令であり、「A」はAレジスタ101bであり、「04H」は「4」を示す1バイトの数値情報である。行番号「1203」にて「CP A,04H」という命令が実行されることにより、Aレジスタ101bの値から「04H」を減算する演算が行われ、当該演算において最上位ビット(第0~第7ビットにおける第7ビット)への桁借りが生じた場合にはキャリーフラグCFの値が「1」となるとともに、当該演算において最上位ビットへの桁借りが生じなかった場合にはキャリーフラグCFの値が「0」となる。既に説明したとおり、CP命令が実行された場合、ジャンプフラグJFの値はキャリーフラグCFの値と同一の値となる。疑似ボーナス状態フラグ77cに「1」がセットされている場合にはAレジスタ101bに格納されている「04H」から「04H」を減算する演算が行われるため、最上位ビットへの桁借りが生じることはなく、キャリーフラグCFの値は「0」となるとともにジャンプフラグJFの値も「0」となる。一方、疑似ボーナス状態フラグ77cの値が「0」である場合にはAレジスタ101bに格納されている「00H」から「04H」を減算する演算が行われるため、最上位ビットへの桁借りが生じてキャリーフラグCFの値が「1」となるとともにジャンプフラグJFの値も「1」となる。
「1204」の行番号には、「JRS 0,ADR123」という命令が設定されている。「JRS」は語長1バイトの条件付きジャンプ命令であり、「0」はジャンプの条件としてジャンプフラグJFの値が「0」であること、という条件を設定する内容であり、「ADR123」はジャンプ先のプログラムアドレスとして行番号「1209」のLD命令が設定されているプログラムアドレスである「ADR123」を指定する内容である。行番号「1204」の命令は「ADR121」というプログラムアドレスに設定されている。行番号「1204」のJRS命令では、当該JRS命令が設定されているプログラムアドレス(ADR121)及び当該JRS命令に設定されている差分の情報(5ビット)に基づいて、2バイトのジャンプ先のプログラムアドレス(ADR123)が相対的に特定される。語長1バイトのJRS命令を利用してジャンプ先のプログラムアドレスにジャンプする構成であることにより、語長3バイトのJP命令又は語長2バイトのJR命令を利用する構成と比較して、ジャンプ先のプログラムアドレスにジャンプするためのジャンプ命令の機械語のデータ容量が低減されている。既に説明したとおり、JRS命令でジャンプできる範囲は、「(当該JRS命令が設定されているプログラムアドレス)+1-16」~「(当該JRS命令が設定されているプログラムアドレス)+1+15」の範囲である。図66に示すように、「ADR121」というプログラムアドレスと「ADR123」というプログラムアドレスとの間に存在するプログラムアドレスに設定されている命令(行番号「1205」のLD命令、行番号「1206」のAND命令、行番号「1207」のCP命令、及び行番号「1208」のJRS命令)の語長の合計は8バイトである。「ADR123」は、「(ADR121)+1+8」であり、行番号「1204」のJRS命令が設定されているプログラムアドレス(ADR121)を基準として当該JRS命令におけるジャンプ先のプログラムアドレスとして指定可能なプログラムアドレスである。行番号「1204」にて「JRS 0,ADR123」という命令が実行されることにより、ジャンプフラグJFの値が「0」であることを条件として、行番号「1209」のプログラムアドレスにジャンプする。上述したとおり、疑似ボーナス状態フラグ77cに「1」がセットされている場合には行番号「1203」の命令が実行されることによりジャンプフラグJFの値が「0」となっている。このため、行番号「1204」にて「JRS 0,ADR123」という命令が実行されることにより「ADR123」という行番号「1209」のプログラムアドレスにジャンプする。一方、上述したとおり、疑似ボーナス状態フラグ77cの値が「0」である場合には行番号「1203」の命令が実行されることによりジャンプフラグJFの値が「1」となっている。このため、行番号「1204」に「JRS 0,ADR123」という命令が設定されていてもプログラムアドレスがジャンプすることはなく、次の行番号「1205」に進む。
行番号「1205」~行番号「1208」の命令は、遊技状態が疑似ボーナス状態ST4ではない状態である場合に実行される命令である。行番号「1205」~行番号「1207」には、既に説明したAT状態信号設定処理(図64(a))の行番号「1101」~行番号「1103」と同様の命令が設定されている。具体的には、「1205」の行番号には「LD A,(YGJTAR)」という命令が設定されている。「LD」は8ビット転送命令としてのLD命令であり、「A」は転送先としてAレジスタ101bを指定する内容であり、「(YGJTAR)」は転送元として遊技状態エリア77を指定する内容である。行番号「1205」にて「LD A,(YGJTAR)」という命令が実行されることにより遊技状態エリア77のデータがAレジスタ101bに転送される。
「1206」の行番号には「AND A,08H」という命令が設定されている。「AND」は8ビットデータの論理積を演算するAND命令であり、「A」はAレジスタ101bである。上述したとおり、行番号「1205」のLD命令が実行されることによりAレジスタ101bには遊技状態エリア77のデータが設定されている。図31(b)を参照しながら既に説明したとおり、遊技状態エリア77の第3ビットにはAT状態フラグ77dが設けられている。「08H」はAレジスタ101bに格納されているデータのうちAT状態フラグ77dのデータが設定されている当該第3ビット以外のビットを「0」でマスクするための「00001000B」というマスクデータである。行番号「1206」にて「AND A,08H」という命令が実行されることによりAレジスタ101bに格納されているデータと当該マスクデータとの論理積の演算が実行され、当該演算の結果がAレジスタ101bに格納される。Aレジスタ101bの値は、AT状態フラグ77dに「1」がセットされている場合には「08H」となるとともに、AT状態フラグ77dの値が「0」である場合には「00H」となる。
「1207」の行番号には「CP A,08H」という命令が設定されている。「CP」は8ビットデータの比較命令としてのCP命令であり、「A」はAレジスタ101bであり、「08H」は1バイトの数値情報である。行番号「1207」にて「CP A,08H」という命令が実行されることにより、Aレジスタ101bの値から「08H」を減算する演算が行われ、当該演算において最上位ビット(第0~第7ビットにおける第7ビット)への桁借りが生じた場合にはキャリーフラグCFの値が「1」となるとともに、当該演算において最上位ビットへの桁借りが生じなかった場合にはキャリーフラグCFの値が「0」となる。既に説明したとおり、CP命令が実行された場合、ジャンプフラグJFの値はキャリーフラグCFの値と同一の値となる。AT状態フラグ77dに「1」がセットされている場合にはAレジスタ101bに格納されている「08H」から「08H」を減算する演算が行われるため、最上位ビットへの桁借りが生じることはなく、キャリーフラグCFの値は「0」となるとともにジャンプフラグJFの値も「0」となる。一方、AT状態フラグ77dの値が「0」である場合にはAレジスタ101bに格納されている「00H」から「08H」を減算する演算が行われるため、最上位ビットへの桁借りが生じてキャリーフラグCFの値が「1」となるとともにジャンプフラグJFの値も「1」となる。
「1208」の行番号には、「JRS 1,ADR125」という命令が設定されている。「JRS」は語長1バイトの条件付きジャンプ命令であり、「1」はジャンプの条件としてジャンプフラグJFの値が「1」であること、という条件を設定する内容であり、「ADR125」はジャンプ先のプログラムアドレスとして行番号「1215」のJRS命令が設定されているプログラムアドレスである「ADR125」を指定する内容である。行番号「1208」の命令は「ADR122」というプログラムアドレスに設定されている。行番号「1208」のJRS命令では、当該JRS命令が設定されているプログラムアドレス(ADR122)及び当該JRS命令に設定されている差分の情報(5ビット)に基づいて、2バイトのジャンプ先のプログラムアドレス(ADR125)が相対的に特定される。語長1バイトのJRS命令を利用してジャンプ先のプログラムアドレスにジャンプする構成であることにより、語長3バイトのJP命令又は語長2バイトのJR命令を利用する構成と比較して、ジャンプ先のプログラムアドレスにジャンプするためのジャンプ命令の機械語のデータ容量が低減されている。既に説明したとおり、JRS命令でジャンプできる範囲は、「(当該JRS命令が設定されているプログラムアドレス)+1-16」~「(当該JRS命令が設定されているプログラムアドレス)+1+15」の範囲である。図66に示すように、「ADR122」というプログラムアドレスと「ADR125」というプログラムアドレスとの間に存在するプログラムアドレスに設定されている命令(行番号「1209」のLD命令、行番号「1210」のCP命令、行番号「1211」のJRS命令、行番号「1212」のLD、行番号「1213」のADD命令及び行番号「1214」のCP命令)の語長の合計は13バイトである。「ADR125」は「(ADR122)+1+13」であり、行番号「1208」のJRS命令が設定されているプログラムアドレス(ADR122)を基準として当該JRS命令におけるジャンプ先のプログラムアドレスとして指定可能なプログラムアドレスである。行番号「1208」にて「JRS 1,ADR125」という命令が実行されることにより、ジャンプフラグJFの値が「1」であることを条件として、行番号「1215」にジャンプする。上述したとおり、AT状態フラグ77dの値が「0」である場合には行番号「1207」の命令が実行されることによりジャンプフラグJFの値が「1」となっている。このため、行番号「1208」にて「JRS 1,ADR125」という命令が実行されることにより「ADR125」という行番号「1215」のプログラムアドレスにジャンプする。一方、上述したとおり、AT状態フラグ77dに「1」がセットされている場合には行番号「1207」の命令が実行されることによりジャンプフラグJFの値が「0」となっている。このため、行番号「1208」に「JRS 1,ADR125」という命令が設定されていてもプログラムアドレスがジャンプすることはなく、次の行番号「1209」に進む。
行番号「1209」に設定されている命令は、行番号「1204」のJRS命令により行番号「1209」にジャンプした場合、又はJRS命令が設定されている行番号「1208」にてジャンプすることなく次の行番号「1209」に進んだ場合に実行される。具体的には、行番号「1209」に設定されている命令は、疑似ボーナス状態フラグ77cに「1」がセットされている疑似ボーナス状態ST4又はAT状態フラグ77dに「1」がセットされているAT状態ST5において実行される。
「1209」の行番号には、「LD A,(BTSSCNT)」という命令が設定されている。「LD」は8ビットデータの転送命令としてのLD命令であり、「A」はAレジスタ101bである。「BTSSCNT」は主側RAM74におけるベット数設定カウンタ74bのアドレス(2バイト)であり、「(BTSSCNT)」は転送元としてベット数設定カウンタ74bを指定する内容である。行番号「1209」にて「LD A,(BTSSCNT)」という命令が実行されることによりベット数設定カウンタ74bに格納されているデータがAレジスタ101bに転送される。これにより、今回のゲームにおけるベット数が「3」である場合にはAレジスタ101bに「03H」が設定されるとともに、今回のゲームにおけるベット数が「2」である場合にはAレジスタ101bに「02H」が設定される。
「1210」の行番号には「CP A,03H」という命令が設定されている。「CP」は8ビットデータの比較命令としてのCP命令であり、「A」はAレジスタ101bであり、「03H」は「3」を示す1バイトの数値情報である。行番号「1210」にて「CP A,03H」という命令が実行されることにより、Aレジスタ101bの値から「03H」を減算する演算が行われ、当該演算において最上位ビット(第0~第7ビットにおける第7ビット)への桁借りが生じた場合にはキャリーフラグCFの値が「1」となるとともに、当該演算において最上位ビットへの桁借りが生じなかった場合にはキャリーフラグCFの値が「0」となる。既に説明したとおり、CP命令が実行された場合、ジャンプフラグJFの値はキャリーフラグCFの値と同一の値となる。今回のゲームのベット数が「3」である場合にはAレジスタ101bに格納されている「03H」から「03H」を減算する演算が行われるため、最上位ビットへの桁借りが生じることはなく、キャリーフラグCFの値は「0」となるとともにジャンプフラグJFの値も「0」となる。一方、今回のゲームのベット数が「2」である場合にはAレジスタ101bに格納されている「02H」から「03H」を減算する演算が行われるため、最上位ビットへの桁借りが生じてキャリーフラグCFの値が「1」となるとともにジャンプフラグJFの値も「1」となる。Aレジスタ101bの値から「03H」を減算する演算の演算結果は、Aレジスタ101bには書き込まれない。「CP A,03H」という命令が実行されてもAレジスタ101bの値は変化しない。
「1211」の行番号には、「JRS 1,ADR126」という命令が設定されている。「JRS」は語長1バイトの条件付きジャンプ命令であり、「1」はジャンプの条件としてジャンプフラグJFの値が「1」であること、という条件を設定する内容であり、「ADR126」はジャンプ先のプログラムアドレスとして行番号「1218」のLD命令が設定されているプログラムアドレスである「ADR126」を指定する内容である。行番号「1211」の命令は「ADR124」というプログラムアドレスに設定されている。行番号「1211」のJRS命令では、当該JRS命令が設定されているプログラムアドレス(ADR124)及び当該JRS命令に設定されている差分の情報(5ビット)に基づいて、2バイトのジャンプ先のプログラムアドレス(ADR126)が相対的に特定される。語長1バイトのJRS命令を利用してジャンプ先のプログラムアドレスにジャンプする構成であることにより、語長3バイトのJP命令又は語長2バイトのJR命令を利用する構成と比較して、ジャンプ先のプログラムアドレスにジャンプするためのジャンプ命令の機械語のデータ容量が低減されている。既に説明したとおり、JRS命令でジャンプできる範囲は、「(当該JRS命令が設定されているプログラムアドレス)+1-16」~「(当該JRS命令が設定されているプログラムアドレス)+1+15」の範囲である。図66に示すように、「ADR124」というプログラムアドレスと「ADR126」というプログラムアドレスとの間に存在するプログラムアドレスに設定されている命令(行番号「1212」のLD命令、行番号「1213」のADD命令、行番号「1214」のCP命令、行番号「1215」のJRS命令、行番号「1216」のLD命令及び行番号「1217」のLD命令)の語長の合計は14バイトである。「ADR126」は、「(ADR124)+1+14」であり、行番号「1211」のJRS命令が設定されているプログラムアドレス(ADR124)を基準として当該JRS命令におけるジャンプ先のプログラムアドレスとして指定可能なプログラムアドレスである。行番号「1211」にて「JRS 1,ADR126」という命令が実行されることにより、ジャンプフラグJFの値が「1」であることを条件として、行番号「1218」にジャンプする。上述したとおり、今回のゲームのベット数が「2」である場合には行番号「1210」の命令が実行されることによりジャンプフラグJFの値が「1」となっている。このため、行番号「1211」にて「JRS 1,ADR126」という命令が実行されることにより「ADR126」という行番号「1218」のプログラムアドレスにジャンプする。一方、上述したとおり、今回のゲームのベット数が「3」である場合には行番号「1210」の命令が実行されることによりジャンプフラグJFの値が「0」となっている。このため、行番号「1211」に「JRS 1,ADR126」という命令が設定されていてもプログラムアドレスがジャンプすることはなく、次の行番号「1212」に進む。
行番号「1212」の命令は、疑似ボーナス状態ST4又はAT状態ST5であるとともに今回のゲームのベット数が「3」である場合に実行される。「1212」の行番号には、「LD A,(INDXCNT)」という命令が設定されている。「LD」は8ビットデータの転送命令としてのLD命令であり、「A」はAレジスタ101bである。「INDXCNT」は主側RAM74におけるインデックス値カウンタ74fのアドレス(2バイト)であり、「(INDXCNT)」は転送元としてインデックス値カウンタ74fを指定する内容である。行番号「1209」にて「LD A,(INDXCNT)」という命令が実行されることによりインデックス値カウンタ74fのデータがAレジスタ101bに転送される。これにより、役の抽選処理(図18)にて「1」~「17」のいずれかのインデックス値IVに当選している場合には当該インデックス値IVがAレジスタ101bに設定されるとともに、役の抽選処理(図18)にていずれのインデックス値IVにも当選していない場合には「0」がAレジスタ101bに設定される。
「1213」の行番号には、「ADD A,F6H」という命令が設定されている。「ADD」は8ビットデータの加算命令としてのADD命令であり、「A」はAレジスタ101bであり、「F6H」は「246」を示す1バイトの数値データである。既に説明したとおり、「246」は1バイトの数値情報における最大値である「255」から判定対象範囲(「1」~「9」)の最大値である「9」を減算する演算により得られる数値である。行番号「1213」にて「ADD A,F6H」という命令が実行されることにより、Aレジスタ101bの値に「246」を加算する演算が行われ、当該演算の結果がAレジスタ101bに書き込まれる。当該演算において最上位ビット(第7ビット)からの桁上がりが発生した場合にはキャリーフラグCFに「1」がセットされるとともに、当該演算において最上位ビット(第7ビット)からの桁上がりが発生しなかった場合にはキャリーフラグCFの値が「0」となる。図65を参照しながら既に説明したとおり、行番号「1213」にて「ADD A,F6H」という命令が実行されることにより、インデックス値カウンタ74fの値が「0」である場合にはAレジスタ101bの値が「246」となり、インデックス値カウンタ74fの値が判定対象範囲である「1」~「9」のいずれかである場合にはAレジスタ101bの値が「247」~「255」のいずれかとなり、インデックス値カウンタ74fの値が判定対象範囲である「10」~「17」のいずれかである場合にはAレジスタ101bの値が「0」~「7」のいずれかとなる。このように、インデックス値カウンタ74fの値が判定対象範囲である「1」~「9」のいずれかである場合にはAレジスタ101bの値が「247」以上の値となるとともに、インデックス値カウンタ74fの値が判定対象範囲に含まれていない「0」及び「10」~「17」のいずれかである場合にはAレジスタ101bの値が「247」未満の値となる。
「1214」の行番号には「CP A,F7H」という命令が設定されている。「CP」は8ビットデータの比較命令としてのCP命令であり、「A」はAレジスタ101bであり、「F7H」は「247」を示す1バイトの数値情報である。行番号「1214」にて「CP A,F7H」という命令が実行されることにより、Aレジスタ101bの値から「F7H」を減算する演算が行われ、当該演算において最上位ビット(第0~第7ビットにおける第7ビット)への桁借りが生じた場合にはキャリーフラグCFの値が「1」となるとともに、当該演算において最上位ビットへの桁借りが生じなかった場合にはキャリーフラグCFの値が「0」となる。既に説明したとおり、CP命令が実行された場合、ジャンプフラグJFの値はキャリーフラグCFの値と同一の値となる。インデックス値カウンタ74fの値が判定対象範囲である「1」~「9」のいずれかである場合には、「247」以上の値から「247」を減算する演算が行われるため、最上位ビットへの桁借りが生じることはなく、キャリーフラグCFの値は「0」となるとともにジャンプフラグJFの値も「0」となる。一方、インデックス値カウンタ74fの値が判定対象範囲に含まれていない「0」及び「10」~「17」のいずれかである場合には、「247」未満の値から「247」を減算する演算が行われるため、最上位ビットへの桁借りが生じてキャリーフラグCFの値が「1」となるとともにジャンプフラグJFの値も「1」となる。
行番号「1215」に設定されている命令は、行番号「1208」のJRS命令により行番号「1215」にジャンプした場合、又は行番号「1214」のCP命令を実行して行番号「1215」に進んだ場合に実行される。まず行番号「1214」のCP命令が実行された後に行番号「1215」の命令が実行される場合について説明する。
「1215」の行番号には、行番号「1211」と同様に、「JRS 1,ADR126」という命令が設定されている。「JRS」は語長1バイトの条件付きジャンプ命令であり、「1」はジャンプの条件としてジャンプフラグJFの値が「1」であること、という条件を設定する内容であり、「ADR126」はジャンプ先のプログラムアドレスとして行番号「1218」のLD命令が設定されているプログラムアドレスである「ADR126」を指定する内容である。上述したとおり、行番号「1215」の命令は「ADR125」というプログラムアドレスに設定されている。行番号「1215」のJRS命令では、当該JRS命令が設定されているプログラムアドレス(ADR125)及び当該JRS命令に設定されている差分の情報(5ビット)に基づいて、2バイトのジャンプ先のプログラムアドレス(ADR126)が相対的に特定される。語長1バイトのJRS命令を利用してジャンプ先のプログラムアドレスにジャンプする構成であることにより、語長3バイトのJP命令又は語長2バイトのJR命令を利用する構成と比較して、ジャンプ先のプログラムアドレスにジャンプするためのジャンプ命令の機械語のデータ容量が低減されている。既に説明したとおり、JRS命令でジャンプできる範囲は、「(当該JRS命令が設定されているプログラムアドレス)+1-16」~「(当該JRS命令が設定されているプログラムアドレス)+1+15」の範囲である。図66に示すように、「ADR125」というプログラムアドレスと「ADR126」というプログラムアドレスとの間に存在するプログラムアドレスに設定されている命令(行番号「1216」及び行番号「1217」のLD命令)の語長の合計は6バイトである。「ADR126」は、「(ADR125)+1+6」であり、行番号「1215」のJRS命令が設定されているプログラムアドレス(ADR125)を基準として当該JRS命令におけるジャンプ先のプログラムアドレスとして指定可能なプログラムアドレスである。行番号「1215」にて「JRS 1,ADR126」という命令が実行されることにより、ジャンプフラグJFの値が「1」であることを条件として、行番号「1218」にジャンプする。上述したとおり、インデックス値カウンタ74fの値が判定対象範囲(「1」~「9」)に含まれない「0」及び「10」~「17」のいずれかである場合には、行番号「1214」の命令が実行されることによりジャンプフラグJFの値が「1」となっている。このため、行番号「1215」にて「JRS 1,ADR126」という命令が実行されることにより「ADR126」という行番号「1218」のプログラムアドレスにジャンプする。一方、上述したとおり、インデックス値カウンタ74fの値が判定対象範囲である「1」~「9」のいずれかである場合には、行番号「1214」の命令が実行されることによりジャンプフラグJFの値が「0」となっている。このため、行番号「1215」に「JRS 1,ADR126」という命令が設定されていてもプログラムアドレスがジャンプすることはなく、次の行番号「1216」に進む。
次に、行番号「1208」のJRS命令により行番号「1215」にジャンプした後に行番号「1215」の命令が実行される場合について説明する。既に説明したとおり、行番号「1208」には「JRS 1,ADR125」という命令が設定されており、ジャンプフラグJFの値が「1」であることを条件として行番号「1215」のプログラムアドレスにジャンプする。具体的には、疑似ボーナス状態フラグ77cの値が「0」である場合に行番号「1205」~行番号「1208」の命令が実行され、AT状態フラグ77dの値が「0」である場合に行番号「1208」のプログラムアドレス(ADR122)から行番号「1215」のプログラムアドレス(ADR125)にジャンプする。既に説明したとおり、JRS命令が実行されてもジャンプフラグJFの状態は変化しない。このため、行番号「1208」のJRS命令で行番号「1215」にジャンプした後に行番号「1215」の命令が実行される場合には、ジャンプフラグJFの値が必ず「1」になっており、行番号「1215」にて「JRS 1,ADR126」という命令が実行されることにより行番号「1218」のプログラムアドレスに必ずジャンプする。
このように、遊技状態が疑似ボーナス状態ST4及びAT状態ST5のいずれでもない場合には、行番号「1208」にて「JRS 1,ADR125」という命令が実行されることにより「ADR125」という行番号「1215」のプログラムアドレスにジャンプするとともに、行番号「1215」にて「JRS 1,ADR126」という命令が実行されることにより「ADR126」という行番号「1218」のプログラムアドレスに必ずジャンプする。行番号「1215」のJRS命令は、疑似ボーナス状態ST4又はAT状態ST5であるとともにベット数が「3」であるゲームにおいて、役の抽選処理(図18)にて「1」~「9」のインデックス値IVに当選していない場合に行番号「1218」のプログラムアドレスにジャンプさせるための命令であるとともに、ジャンプフラグJFの値が「1」であることを条件として行番号「1208」から行番号「1215」のプログラムアドレスにジャンプした場合に行番号「1218」のプログラムアドレスに必ずジャンプさせるための命令でもある。このため、疑似ボーナス状態ST4又はAT状態ST5であるとともにベット数が「3」であるゲームにおいて、役の抽選処理(図18)にて「1」~「9」のインデックス値IVに当選していない場合に行番号「1218」のプログラムアドレスにジャンプさせるための命令とは別の命令として、ジャンプフラグJFの値が「1」であることを条件として行番号「1208」からジャンプした場合に行番号「1218」のプログラムアドレスに必ずジャンプさせるための命令が設定されている構成と比較して、抽選結果対応処理(図66)を実行するために主側ROM73に記憶されているプログラムのデータ容量が低減されている。
行番号「1216」の命令は、疑似ボーナス状態ST4又はAT状態ST5であるとともにベット数が「3」であるゲームにおいて、インデックス値カウンタ74fの値が判定対象範囲である「1」~「9」のいずれかである場合に実行される。「1216」の行番号には、行番号「1212」と同様に、「LD A,(INDXCNT)」という命令が設定されている。「LD」は8ビット転送命令としてのLD命令であり、「A」はAレジスタ101bであり、「(INDXCNT)」は転送元としてインデックス値カウンタ74fを指定する内容である。行番号「1216」にて「LD A,(INDXCNT)」という命令が実行されることにより、インデックス値カウンタ74fのデータがAレジスタ101bに転送される。行番号「1216」の命令はインデックス値カウンタ74fの値が判定対象範囲である「1」~「9」のいずれかである場合に実行される命令であるため、Aレジスタ101bには「1」~「9」のいずれかが設定される。
「1217」の行番号には、「LD (TJSBCNT),A」という命令が設定されている。「LD」は8ビット転送命令としてのLD命令であり、「A」はAレジスタ101bである。「TJSBCNT」は主側RAM74における停止順種別カウンタ74mのアドレス(2バイト)であり、「(TJSBCNT)」は転送先として停止順種別カウンタ74mを指定する内容である。行番号「1217」にて「LD (TJSBCNT),A」という命令が実行されることにより、Aレジスタ101bのデータが停止順種別カウンタ74mに転送される。これにより、停止順種別カウンタ74mに「1」~「9」のいずれかの停止順種別番号を設定することができる。
このように、疑似ボーナス状態ST4又はAT状態ST5であるとともにベット数が「3」であるゲームにおいて、役の抽選処理(図18)にて「1」~「9」のいずれかのインデックス値IVに当選したことを条件として、停止順種別カウンタ74mに「1」~「9」のいずれかの停止順種別番号が設定される。そして、既に説明したとおり、停止順種別カウンタ74mに「1」~「9」のいずれかの停止順種別番号が設定されていることに基づいて、兼用表示部66にてリール32L,32M,32Rの停止順対応表示が実行されるとともに、画像表示装置63にてリール32L,32M,32Rの停止順報知が実行される。
行番号「1218」に設定されている命令は、行番号「1211」のJRS命令により行番号「1218」のプログラムアドレス(ADR126)にジャンプした場合、行番号「1215」のJRS命令により行番号「1218」のプログラムアドレス(ADR126)にジャンプした場合、又は行番号「1217」にてLD命令を実行して行番号「1218」に進んだ場合に実行される。具体的には、遊技状態が疑似ボーナス状態ST4及びAT状態ST5のいずれでもない場合には、行番号「1208」のJRS命令により行番号「1215」のプログラムアドレス(ADR125)にジャンプするとともに当該行番号「1215」のJRS命令により行番号「1218」のプログラムアドレス(ADR126)に必ずジャンプする。疑似ボーナス状態ST4又はAT状態ST5であるとともに今回のゲームのベット数が「2」である場合には、行番号「1211」のJRS命令により行番号「1218」のプログラムアドレス(ADR126)にジャンプする。疑似ボーナス状態ST4又はAT状態ST5であり、今回のゲームのベット数が「3」であり、役の抽選処理(図18)にて「1」~「9」のインデックス値IVに当選していない場合には、行番号「1215」のJRS命令により行番号「1218」のプログラムアドレス(ADR126)にジャンプする。疑似ボーナス状態ST4又はAT状態ST5であり、今回のゲームのベット数が「3」であり、役の抽選処理(図18)にて「1」~「9」のいずれかのインデックス値IVに当選している場合には、停止順種別カウンタ74mに「1」~「9」のいずれかの停止順種別番号を設定した後に行番号「1218」に進む。
「1218」の行番号には、「LD (KSJCAR),01H」という命令が設定されている。「LD」は8ビット転送命令としてのLD命令であり、「01H」は「1」という1バイトの数値情報である。「KSJCAR」は主側RAM74に設けられた開始時コマンドエリアのアドレス(2バイト)である。開始時コマンドエリアは、開始時コマンドフラグが設定されている1バイトの記憶エリアであり、開始時コマンドフラグは当該開始時コマンドエリアの最下位ビット(第0ビット)に設定されている。また、開始時コマンドエリアにおける第1~第7ビットは未使用である。「(KSJCAR)」は転送先として主側RAM74の開始時コマンドエリアを指定する内容である。行番号「1218」にて「LD (KSJCAR),01H」という命令が実行されることにより主側RAM74の開始時コマンドエリアに「01H」が設定される。これにより、主側RAM74の開始時コマンドフラグに「1」をセットすることができる。既に説明したとおり、開始時コマンドフラグに「1」がセットされることにより、共通コマンド送信処理(図50)にて開始時コマンドを演出側MPU92に送信する処理が実行される。
「1219」の行番号には、「RET」という命令が設定されている。「RET」はサブルーチンからの復帰命令である。行番号「1219」にて「RET」という命令が実行されることにより、役の抽選処理(図18)のステップS914にて呼び出された抽選結果対応処理(図66)を終了する。既に説明したとおり、役の抽選処理(図18)では、ステップS914にて抽選結果対応処理を実行した場合には、当該役の抽選処理(図18)を終了して、通常処理(図13)のステップS408におけるリール制御処理に進む。
図67(a)は抽選結果対応処理の第1比較例のプログラム内容を説明するための説明図である。図67(a)に示すように本プログラムには、行番号として「8001」~「8020」が設定されている。プログラムの命令は、コール命令又はジャンプ命令が実行される場合を除いて、行番号の小さい方から大きい方に向かう順番で実行される。
抽選結果対応処理の第1比較例は、インデックス値カウンタ74fの値が「1」~「9」の判定対象範囲に含まれている値であるか否かを判定するために、インデックス値カウンタ74fのデータをAレジスタ101bに設定する処理と、当該Aレジスタ101bの値が判定対象範囲の最小値である「1」以上であるか否かを判定する処理と、Aレジスタ101bの値が「1」以上であると判定した場合に当該Aレジスタ101bの値が判定対象範囲の最大値である「9」以下であるか否かを判定する処理とを実行する処理構成である。
図67(a)に示すように、抽選結果対応処理の第1比較例における行番号「8001」~行番号「8011」には、既に説明した抽選結果対応処理(図66)の行番号「1201」~行番号「1211」と同様の命令が設定されている。抽選結果対応処理の第1比較例における「8012」の行番号には、抽選結果対応処理(図66)の行番号「1212」と同様に、「LD A,(INDXCNT)」という命令が設定されている。行番号「8012」にて「LD A,(INDXCNT)」という命令が実行されることによりインデックス値カウンタ74fのデータがAレジスタ101bに設定される。
「8013」の行番号には、「CP A,01H」という命令が設定されている。「CP」は8ビットデータの比較命令としてのCP命令であり、「A」はAレジスタ101bであり、「01H」は判定対象範囲(「1」~「9」)の最小値である「1」を示す1バイトの数値情報である。行番号「8013」にて「CP A,01H」という命令が実行されることにより、Aレジスタ101bの値から「01H」を減算する演算が行われ、当該演算において最上位ビット(第0~第7ビットにおける第7ビット)への桁借りが生じた場合にはキャリーフラグCFの値が「1」となるとともに、当該演算において最上位ビットへの桁借りが生じなかった場合にはキャリーフラグCFの値が「0」となる。既に説明したとおり、CP命令が実行された場合、ジャンプフラグJFの値はキャリーフラグCFの値と同一の値となる。インデックス値カウンタ74fの値が「1」以上である場合には、当該「1」以上の値から「1」を減算する演算が行われるため、最上位ビットへの桁借りが生じることはなく、キャリーフラグCFの値は「0」となるとともにジャンプフラグJFの値も「0」となる。一方、インデックス値カウンタ74fの値が「0」である場合には、「0」から「1」を減算する演算が行われるため、最上位ビットへの桁借りが生じてキャリーフラグCFの値が「1」となるとともにジャンプフラグJFの値も「1」となる。Aレジスタ101bの値から「01H」を減算する演算の演算結果は、Aレジスタ101bには書き込まれない。「CP A,01H」という命令が実行されてもAレジスタ101bの値は変化しない。
「8014」の行番号には、「JRS 1,ADR807」という命令が設定されている。「JRS」は語長1バイトの条件付きジャンプ命令であり、「1」はジャンプの条件としてジャンプフラグJFの値が「1」であること、という条件を設定する内容であり、「ADR807」はジャンプ先のプログラムアドレスとして行番号「8019」のLD命令が設定されているプログラムアドレスである「ADR807」を指定する内容である。行番号「8014」の命令は「ADR805」というプログラムアドレスに設定されている。行番号「8014」のJRS命令では、当該JRS命令が設定されているプログラムアドレス(ADR805)及び当該JRS命令に設定されている差分の情報(5ビット)に基づいて、2バイトのジャンプ先のプログラムアドレス(ADR807)が相対的に特定される。ADR807は、「(ADR805)+1+9」であり、行番号「8014」のJRS命令が設定されているプログラムアドレス(ADR805)を基準として当該JRS命令におけるジャンプ先のプログラムアドレスとして指定可能なプログラムアドレスである。行番号「8014」にて「JRS 1,ADR807」という命令が実行されることにより、ジャンプフラグJFの値が「1」であることを条件として行番号「8019」にジャンプする。具体的には、インデックス値カウンタ74fの値が「0」である場合、すなわちインデックス値カウンタ74fの値が判定対象範囲(「1」~「9」)の最小値である「1」よりも小さい場合に、行番号「8014」にて「JRS 1,ADR807」という命令が実行されることにより「ADR807」という行番号「8019」のプログラムアドレスにジャンプする。一方、インデックス値カウンタ74fの値が判定対象範囲(「1」~「9」)の最小値である「1」以上である場合には、行番号「8014」に「JRS 1,ADR807」という命令が設定されていてもプログラムアドレスがジャンプすることはなく、次の行番号「8015」に進む。
「8015」の行番号には、「CP A,0AH」という命令が設定されている。「CP」は8ビットデータの比較命令としてのCP命令であり、「A」はAレジスタ101bであり、「0AH」は判定対象範囲(「1」~「9」)の最大値である「9」よりも「1」大きい「10」を示す1バイトの数値情報である。行番号「8015」にて「CP A,0AH」という命令が実行されることにより、Aレジスタ101bの値から「0AH」を減算する演算が行われ、当該演算において最上位ビット(第0~第7ビットにおける第7ビット)への桁借りが生じた場合にはキャリーフラグCFの値が「1」となるとともに、当該演算において最上位ビットへの桁借りが生じなかった場合にはキャリーフラグCFの値が「0」となる。既に説明したとおり、CP命令が実行された場合、ジャンプフラグJFの値はキャリーフラグCFの値と同一の値となる。インデックス値カウンタ74fの値が「10」以上である場合には、当該「10」以上の値から「10」を減算する演算が行われるため、最上位ビットへの桁借りが生じることはなく、キャリーフラグCFの値は「0」となるとともにジャンプフラグJFの値も「0」となる。一方、インデックス値カウンタ74fの値が「10」未満である場合、すなわちインデックス値カウンタ74fの値が判定対象範囲の最大値である「9」以下である場合には、「10」未満の値から「10」を減算する演算が行われるため、最上位ビットへの桁借りが生じてキャリーフラグCFの値が「1」となるとともにジャンプフラグJFの値も「1」となる。
「8016」の行番号には、「JRS 0,ADR807」という命令が設定されている。「JRS」は語長1バイトの条件付きジャンプ命令であり、「0」はジャンプの条件としてジャンプフラグJFの値が「0」であること、という条件を設定する内容であり、「ADR807」はジャンプ先のプログラムアドレスとして行番号「8019」のLD命令が設定されているプログラムアドレスである「ADR807」を指定する内容である。行番号「8016」の命令は「ADR806」というプログラムアドレスに設定されている。行番号「8016」のJRS命令では、当該JRS命令が設定されているプログラムアドレス(ADR806)及び当該JRS命令に設定されている差分の情報(5ビット)に基づいて、2バイトのジャンプ先のプログラムアドレス(ADR807)が相対的に特定される。ADR807は、「(ADR806)+1+6」であり、行番号「8016」のJRS命令が設定されているプログラムアドレス(ADR806)を基準として当該JRS命令におけるジャンプ先のプログラムアドレスとして指定可能なプログラムアドレスである。行番号「8016」にて「JRS 0,ADR807」という命令が実行されることにより、ジャンプフラグJFの値が「0」であることを条件として、行番号「8019」にジャンプする。具体的には、インデックス値カウンタ74fの値が「10」以上である場合、すなわちインデックス値カウンタ74fの値が判定対象範囲(「1」~「9」)の最大値である「9」よりも大きい値である場合に、行番号「8016」にて「JRS 0,ADR807」という命令が実行されることにより「ADR807」という行番号「8019」のプログラムアドレスにジャンプする。一方、インデックス値カウンタ74fの値が「10」未満である場合、すなわちインデックス値カウンタ74fの値が判定対象範囲(「1」~「9」)の最大値である「9」以下である場合には、行番号「8016」に「JRS 0,ADR807」という命令が設定されていてもプログラムアドレスがジャンプすることはなく、次の行番号「8017」に進む。
「8017」~「8020」の行番号には、抽選結果対応処理(図66)の行番号「1216」~行番号「1219」と同様の命令が設定されている。行番号「8017」~行番号「8018」に設定されている命令は、インデックス値カウンタ74fの値が判定対象範囲である「1」~「9」のいずれかである場合に実行される。行番号「8017」にて「LD A,(INDXCNT)」という命令が実行されることにより、インデックス値カウンタ74fのデータ(「1」~「9」のいずれかの数値情報)がAレジスタ101bに転送される。行番号「8018」にて「LD (TJSBCNT),A」という命令が実行されることにより、Aレジスタ101bのデータが停止順種別カウンタ74mに設定される。これにより、停止順種別カウンタ74mに「1」~「9」のいずれかの停止順種別番号が設定されている状態となる。行番号「8019」にて「LD (KSJCAR),01H」という命令が実行されることにより主側RAM74の開始時コマンドエリアに「01H」が転送され、主側RAM74の開始時コマンドフラグに「1」がセットされる。行番号「8020」にて「RET」という命令が実行されることにより、抽選結果対応処理の第1比較例(図67(a))が終了する。
図67(b)は抽選結果対応処理(図66)及び抽選結果対応処理の第1比較例(図67(a))において、判定対象範囲(「1」~「9」)のインデックス値IVに当選していることを条件として停止順種別カウンタ74mに停止順種別番号を設定する処理を実行するために設定されている命令を説明するための説明図である。
抽選結果対応処理(図66)において、判定対象範囲のインデックス値IVに当選していることを条件として停止順種別カウンタ74mに停止順種別番号を設定する処理を実行するための命令は、行番号「1212」~行番号「1217」に設定されている。また、抽選結果対応処理の第1比較例(図67(a))において、判定対象範囲のインデックス値IVに当選していることを条件として停止順種別カウンタ74mに停止順種別番号を設定する処理を実行するための命令は、行番号「8012」~行番号「8018」に設定されている。抽選結果対応処理の第1比較例(図67(a))における行番号「8012」~行番号「8018」には、3バイトのLD命令が3つ設定されており、2バイトのCP命令が2つ設定されており、1バイトのJRS命令が2つ設定されている。行番号「8012」~行番号「8018」に設定されている命令の語長の合計は15バイトである。これに対して、抽選結果対応処理(図66)の行番号「1212」~行番号「1217」には、3バイトのLD命令が3つ設定されており、2バイトのADD命令が1つ設定されており、2バイトのCP命令が1つ設定されており、1バイトのJRS命令が1つ設定されている。行番号「1212」~行番号「1217」に設定されている命令の語長の合計は14バイトである。
既に説明したとおり、抽選結果対応処理(図66)は、インデックス値カウンタ74fのデータが設定されているAレジスタ101bの値に、1バイトの数値情報における最大値である「255」から判定対象範囲(「1」~「9」)の最大値である「9」を減算する演算により算出される値である「246」を加算する処理と、当該「246」を加算した後のAレジスタ101bに格納されている1バイトの数値情報が判定対象範囲の最小値である「1」に「246」を加算する演算により算出される値である「247」以上であるか否かを判定する処理と、を行う処理構成である。これにより、抽選結果対応処理の第1比較例(図67(a))のように、インデックス値カウンタ74fのデータが設定されているAレジスタ101bの値が判定対象範囲(「1」~「9」)の最小値である「1」以上であるか否かを判定する処理と、当該Aレジスタ101bの値が判定対象範囲の最大値である「9」以下であるか否かを判定する処理と、を行う処理構成と比較して、インデックス値カウンタ74fの値が判定対象範囲(「1」~「9」)に含まれているか否かを判定するためにプログラムに設定されている命令の語長の合計を小さくすることができる。よって、抽選結果対応処理(図66)を実行するために主側ROM73に記憶するプログラムのデータ容量を低減することができる。
抽選結果対応処理(図66)の行番号「1212」~行番号「1217」に設定されているジャンプ命令(JRS命令)の数は、抽選結果対応処理の第1比較例(図67(a))の行番号「8012」~行番号「8018」に設定されているジャンプ命令(JRS命令)の数よりも少ない。ジャンプ命令の数を減らすことにより、未使用プログラムのリスクを低減することができる。
図68(a)は抽選結果対応処理(図66)において「ADR122」というプログラムアドレス及び「ADR125」というプログラムアドレスから「ADR126」というプログラムアドレスにジャンプするために設定されているジャンプ命令を説明するための説明図である。既に説明したとおり、JRS命令でジャンプできる範囲は、「(当該JRS命令が設定されているプログラムアドレス)+1-16」~「(当該JRS命令が設定されているプログラムアドレス)+1+15」の範囲である。図66に示すように、「ADR126」は、「(ADR122)+1+20」であり、行番号「1208」のJRS命令が設定されているプログラムアドレス(ADR122)を基準として当該JRS命令におけるジャンプ先のプログラムアドレスとして指定できないプログラムアドレスである。
抽選結果対応処理(図66)では、「ADR122」というプログラムアドレス及び「ADR125」というプログラムアドレスに、ジャンプフラグJFの値が「1」であることを条件としてジャンプするJRS命令が設定されている。抽選結果対応処理(図66)では、JRS命令を実行してもジャンプフラグJFの状態が変化しないことを利用し、行番号「1208」のJRS命令が設定されているプログラムアドレス(ADR122)を基準として当該JRS命令におけるジャンプ先のプログラムアドレスとして指定可能なプログラムアドレスである「ADR125」にジャンプし、当該「ADR125」のプログラムアドレスに設定されているJRS命令により「ADR126」というプログラムアドレスにジャンプする構成である。
既に説明したとおり、行番号「1215」のJRS命令は、疑似ボーナス状態ST4又はAT状態ST5であるとともにベット数が「3」であるゲームにおいて、役の抽選処理(図18)にて「1」~「9」のインデックス値IVに当選していない場合に、行番号「1218」のプログラムアドレスにジャンプさせるための命令であるとともに、ジャンプフラグJFの値が「1」であることを条件として行番号「1208」から行番号「1215」のプログラムアドレスにジャンプした場合に、行番号「1218」のプログラムアドレスに必ずジャンプさせるための命令でもある。
図68(b)は抽選結果対応処理の第2比較例において「ADR122」というプログラムアドレス及び「ADR125」というプログラムアドレスから「ADR126」というプログラムアドレスにジャンプするために設定されているジャンプ命令を説明するための説明図である。既に説明したとおり、JR命令でジャンプできる範囲は、「(当該JR命令が設定されているプログラムアドレス)+2-128」~「(当該JR命令が設定されているプログラムアドレス)+2+127」の範囲である。上述したとおり、「ADR126」は、「(ADR122)+1+20」であり、ADR122を基準としてJR命令におけるジャンプ先のプログラムアドレスとして指定可能なプログラムアドレスである。抽選結果対応処理の第2比較例(図68(b))では、「ADR122」というプログラムアドレスに「JR C,ADR126」という命令が設定されている。「JR」は語長2バイトのジャンプ命令であり、「C」はジャンプの条件として、キャリーフラグCFに「1」がセットされていること、という条件を設定する内容であり、「ADR126」はジャンプ先のプログラムアドレスとして「ADR126」というプログラムアドレスを指定する内容である。既に説明したとおり、JR命令では、当該JR命令が設定されているプログラムアドレス(ADR122)及び当該JR命令に設定されている差分の情報(8ビット)に基づいて、2バイトのジャンプ先のプログラムアドレス(ADR126)が相対的に特定される。また、既に説明したとおり、CP命令が実行された場合、ジャンプフラグJFの値はキャリーフラグCFの値と同一の値となる。抽選結果対応処理の第2比較例(図68(b))では、「ADR122」というプログラムアドレスに「JR C,ADR126」という命令が設定されているため、キャリーフラグCFに「1」がセットされていることを条件として、「ADR125」というプログラムアドレスを経由することなく、「ADR126」というプログラムアドレスに直接ジャンプする。
上述したとおり、行番号「1215」のJRS命令は、疑似ボーナス状態ST4又はAT状態ST5であるとともにベット数が「3」であるゲームにおいて、役の抽選処理(図18)にて「1」~「9」のインデックス値IVに当選していない場合に、行番号「1218」のプログラムアドレスにジャンプさせるための命令であるため、行番号「1208」から行番号「1218」のプログラムアドレスに直接ジャンプする構成においても当該行番号「1215」のJRS命令を省略することはできない。
図68(b)に示すように、抽選結果対応処理の第2比較例(図68(b))において「ADR122」というプログラムアドレス及び「ADR125」というプログラムアドレスから「ADR126」というプログラムアドレスにジャンプするために設定されているジャンプ命令の語長の合計は3バイトである。これに対して、図68(a)に示すように、抽選結果対応処理(図66)において「ADR122」というプログラムアドレス及び「ADR125」というプログラムアドレスから「ADR126」というプログラムアドレスにジャンプするために設定されているジャンプ命令の語長の合計は2バイトである。
上述したとおり、抽選結果対応処理(図66)は、「ADR122」というプログラムアドレス及び「ADR125」というプログラムアドレスにジャンプフラグJFの値が「1」であることを条件としてジャンプするJRS命令を設定し、JRS命令を実行してもジャンプフラグJFの状態が変化しないことを利用して、行番号「1208」にてジャンプフラグJFの値が「1」であることを条件として語長1バイトのJRS命令により行番号「1215」のプログラムアドレスにジャンプし、当該ジャンプ先の行番号「1215」に設定されている語長1バイトのJRS命令により行番号「1218」のプログラムアドレスに確実にジャンプする処理構成である。これにより、抽選結果対応処理の第2比較例(図68(b))のように、行番号「1208」にてキャリーフラグCFに「1」がセットされていることを条件として語長2バイトのJR命令により行番号「1218」に直接ジャンプする処理構成と比較して、「ADR122」というプログラムアドレス及び「ADR125」というプログラムアドレスから「ADR126」というプログラムアドレスにジャンプするために設定するジャンプ命令の語長を低減することができる。よって、抽選結果対応処理(図66)を実行するために主側ROM73に記憶するプログラムのデータ容量を低減することができる。
<開始時上乗せ用処理のプログラム内容>
次に、主側MPU72にて実行される開始時上乗せ用処理(図43(c))のプログラム内容(図69(b)参照)の説明に先立ち、開始時上乗せ用処理において主側RAM74のインデックス値カウンタ74fの値が「11」~「15」のいずれかであるか否かを判定するための処理内容について説明する。
以下では、インデックス値カウンタ74fの値が「11」~「15」の数値範囲に含まれているか否かの判定において判定対象となっている「11」~「15」の数値範囲を「第1抽選対象範囲」ともいう。また、インデックス値カウンタ74fの値が「14」~「15」の数値範囲に含まれているか否かの判定において判定対象となっている「14」~「15」の数値範囲を「第2抽選対象範囲」ともいう。既に説明したとおり、開始時上乗せ用処理はAT状態ST5において実行される。また、既に説明したとおり、開始時上乗せ用処理では、役の抽選処理(図18)にて第1抽選対象範囲(「11」~「15」)のインデックス値IVに当選している場合にまず参照対象の抽選テーブルとして第1上乗せ抽選テーブル73d(図43(a))が選択され、役の抽選処理(図18)にて第2抽選対象範囲(「14」~「15」)のインデックス値IVに当選している場合に参照対象の抽選テーブルが第1上乗せ抽選テーブル73dよりも遊技者にとって有利な第2上乗せ抽選テーブル73e(図43(b))に変更される。そして、役の抽選処理(図18)にて第1抽選対象範囲であるとともに第2抽選対象範囲ではない「11」~「13」のいずれかのインデックス値IVに当選している場合には第1上乗せ抽選テーブル73dに基づいて上乗せ抽選が実行される。また、役の抽選処理(図18)にて第1抽選対象範囲であるとともに第2抽選対象範囲である「14」又は「15」のインデックス値IVに当選している場合には第2上乗せ抽選テーブル73eに基づいて上乗せ抽選が実行される。
主側MPU72は、まず主側RAM74におけるインデックス値カウンタ74fのデータをAレジスタ101bに転送する。その後、後述する開始時上乗せ用処理(図69(b))の行番号「1302」にて「SUB A,0BH」という命令を実行することにより、Aレジスタ101bの値から「11」を減算する演算を行う。Aレジスタ101bの値から減算される当該「11」は、第1抽選対象範囲(「11」~「15」)の最小値である。「11」を減算する演算は、第1抽選対象範囲(「11」~「15」)の最小値(「11」)を8ビットで表すことが可能な数値範囲(「0」~「255」)の最小値(「0」)に変動させる演算である。当該演算により第1抽選対象範囲は「11」だけ小さい側に変動する。「11」を減算する演算により、第1抽選対象範囲の最大値(「15」)は「11」だけ小さい側に変動して「4」となる。なお、行番号「1302」のSUB命令の詳細については後述する。
図69(a)は「11」減算前のAレジスタ101bの値と、「11」減算後のAレジスタ101bの値及び「11」減算後のキャリーフラグCFの値との関係を説明するための説明図である。図69(a)に示すように、「11」減算前のAレジスタ101bの値が「11」~「17」のいずれかである場合、すなわち「11」減算前のAレジスタ101bの値が第1抽選対象範囲(「11」~「15」)の最小値である「11」以上である場合、Aレジスタ101bの値から「11」を減算する演算の実行中にAレジスタ101bの最上位ビット目(第0~第7ビットにおける第7ビット目)への桁借りは発生しない。このため、「11」減算後のキャリーフラグCFの値は「0」となる。そして、「11」を減算する演算の終了後にAレジスタ101bに格納されている1バイトの数値情報(「0」~「6」)は、当該「11」を減算する演算の実行前にAレジスタ101bに格納されている1バイトの数値情報(「11」~「17」)よりも小さい値となる。
「11」を減算する前のAレジスタ101bの値が「0」~「10」のいずれかである場合、すなわち「11」を減算する前のAレジスタ101bの値が第1抽選対象範囲の最小値である「11」よりも小さい値(「10」以下の値)である場合、Aレジスタ101bの値から「11」を減算する演算の実行中にAレジスタ101bの最上位ビット目(第0~第7ビットにおける第7ビット目)への桁借りが発生する。このため、「11」減算後のキャリーフラグCFの値は「1」となる。そして、「11」を減算する演算の終了後にAレジスタ101bに格納されている1バイトの数値情報(「245」~「255」)は、当該「11」を減算する演算の実行前にAレジスタ101bに格納されている1バイトの数値情報(「0」~「10」)よりも大きい値となる。
「11」減算前のAレジスタ101bの値が第1抽選対象範囲である「11」~「15」のいずれかである場合、「11」を減算する演算の終了後にAレジスタ101bに格納されている1バイトの数値情報は「0」~「4」のいずれかとなる。このように、「11」減算前のAレジスタ101bの値が第1抽選対象範囲に含まれている場合には、「11」を減算する演算の終了後にAレジスタ101bに格納されている1バイトの数値情報が「5」未満の値となる。
「11」を減算する前のAレジスタ101bの値が第1抽選対象範囲(「11」~「15」)に含まれない「0」~「10」のいずれかである場合、「11」を減算する演算の終了後にAレジスタ101bに格納されている1バイトの数値情報は「245」~「255」のいずれかである。また、「11」減算前のAレジスタ101bの値が第1抽選対象範囲に含まれない「16」又は「17」である場合、「11」を減算する演算の終了後にAレジスタ101bに格納されている1バイトの数値情報は「5」又は「6」となる。このように、「11」減算前のAレジスタ101bの値が第1抽選対象範囲に含まれない「0」~「10」及び「16」~「17」のいずれかである場合には、「11」を減算する演算の終了後にAレジスタ101bに格納されている1バイトの数値情報が「5」以上の値となる。
上述したとおり、「11」を減算する演算の終了後にAレジスタ101bに格納されている1バイトの数値情報は、「11」減算前のAレジスタ101bの値が第1抽選対象範囲に含まれている場合には「5」未満の値となるとともに、「11」減算前のAレジスタ101bの値が第1抽選対象範囲に含まれない「0」~「10」及び「16」~「17」のいずれかである場合には「5」以上の値となる。このため、「11」を減算する演算を実行した後にAレジスタ101bに格納されている1バイトの数値情報が「5」未満であるか否かを判定することにより、判定回数を1回に抑えながら、インデックス値カウンタ74fの値が「11」~「15」の第1抽選対象範囲に含まれているか否かの判定を行うことができる。
図69(a)に示すように、インデックス値カウンタ74fの値が第1抽選対象範囲(「11」~「15」)に含まれているとともに第2抽選対象範囲(「14」~「15」)には含まれていない「11」~「13」のいずれかである場合、「11」を減算する演算の終了後にAレジスタ101bに格納されている1バイトの数値情報は「0」~「2」のいずれか(「3」未満の値)となる。一方、インデックス値カウンタ74fの値が第1抽選対象範囲(「11」~「15」)に含まれているとともに第2抽選対象範囲にも含まれている「14」又は「15」である場合、「11」を減算する演算の終了後にAレジスタ101bに格納されている1バイトの数値情報は「3」又は「4」(「3」以上の値)となる。このため、インデックス値カウンタ74fの値が「11」~「15」の第1抽選対象範囲に含まれていると判定した後に、Aレジスタ101bに格納されている1バイトの数値情報が「3」未満であるか否かを判定することにより、判定回数を1回に抑えながら、インデックス値カウンタ74fの値が「14」~「15」の第2抽選対象範囲に含まれているか否かの判定を行うことができる。
インデックス値IVが第2抽選対象範囲(「14」~「15」)に含まれていることを特定するために、「11」減算前のインデックス値IVが第2抽選対象範囲の最小値である「14」以上であるか否かを判定する構成を考えると、インデックス値IVが第2抽選対象範囲(「14」~「15」)に含まれているか否かを判定する場合における境界値は「14」となる。これに対して、第1抽選対象範囲(「11」~「15」)を「11」だけ小さい側に変動させる演算(「11」減算する演算)を行った後に、当該演算後の値が、第2抽選対象範囲(「14」~「15」)の最小値(「14」)を「11」だけ小さい側に変動させた値である「3」以上であるか否かを判定する構成とすることにより、インデックス値IVが第2抽選対象範囲(「14」~「15」)に含まれているか否かを判定する場合における境界値を「14」よりも小さい値である「3」とすることができる。インデックス値IVを「11」だけ小さい側に変動させた値が「3」以上であるか否かを判定する場合における境界値(「3」)を表すために必要なビット数は「2」であり、当該ビット数は、変動前のインデックス値IVが第2抽選対象範囲の最小値である「14」以上であるか否かを判定する場合における境界値(「14」)を表すために必要なビット数(「4」)よりも小さい。このように、インデックス値IVが第1抽選対象範囲に含まれていることを特定するためにインデックス値IVを「11」減算する演算が行われる構成において、インデックス値IVを「11」だけ小さい側に変動させた後の値を利用して変動前のインデックス値が第2抽選対象範囲に含まれていることを特定するための判定を行う構成とすることにより、当該判定における境界値を表すためのビット数を低減することができる。これにより、当該境界値を記憶するためのデータ容量を低減することができる。
次に、主側MPU72にて実行される開始時上乗せ用処理(図43(c))のプログラム内容について図69(b)の説明図を参照しながら説明する。既に説明したとおり、開始時上乗せ用処理はゲーム開始時の有利状態用処理(図40)のステップS2310にて実行される。開始時上乗せ用処理の処理内容は図43(c)のフローチャートを参照しながら既に説明したとおりである。図69(b)に示すように本プログラムには、行番号として「1301」~「1309」が設定されている。プログラムの命令は、コール命令又はジャンプ命令が実行される場合を除いて、行番号の小さい方から大きい方に向かう順番で実行される。
「1301」の行番号には、抽選結果対応処理(図66)の行番号「1212」と同様に、「LD A,(INDXCNT)」という命令が設定されている。「LD」は8ビットデータの転送命令としてのLD命令であり、「A」はAレジスタ101bであり、「(INDXCNT)」は転送元として主側RAM74のインデックス値カウンタ74fを指定する内容である。行番号「1301」にて「LD A,(INDXCNT)」という命令が実行されることによりインデックス値カウンタ74fのデータがAレジスタ101bに転送される。これにより、役の抽選処理(図18)にて「1」~「17」のいずれかのインデックス値IVに当選している場合には当該インデックス値IVがAレジスタ101bに設定されるとともに、役の抽選処理(図18)にていずれのインデックス値IVにも当選していない場合には「0」がAレジスタ101bに設定される。
「1302」の行番号には、「SUB A,0BH」という命令が設定されている。「SUB」は8ビットデータの減算命令としてのSUB命令であり、「A」はAレジスタ101bであり、「0BH」は第1抽選対象範囲(「11」~「15」)の最小値である「11」を示す1バイトの数値情報である。行番号「1302」にて「SUB A,0BH」という命令が実行されることにより、Aレジスタ101bの値から「11」を減算する演算が行われ、当該演算の結果がAレジスタ101bに書き込まれる。当該演算において最上位ビット目(第7ビット目)への桁借りが発生した場合にはキャリーフラグCFに「1」がセットされるとともに、当該演算において最上位ビット目(第7ビット目)への桁借りが発生しなかった場合にはキャリーフラグCFの値が「0」となる。図69(a)を参照しながら既に説明したとおり、インデックス値カウンタ74fの値が第1抽選対象範囲(「11」~「15」)に含まれている場合にはAレジスタ101bの値が「5」未満の値となるとともに、インデックス値カウンタ74fの値が第1抽選対象範囲(「11」~「15」)に含まれていない「0」~「10」及び「16」~「17」のいずれかである場合にはAレジスタ101bの値が「5」以上となる。また、図69(a)を参照しながら既に説明したとおり、インデックス値カウンタ74fの値が第1抽選対象範囲(「11」~「15」)に含まれているとともに第2抽選対象範囲(「14」~「15」)には含まれていない「11」~「13」のいずれかである場合にはAレジスタ101bの値が「3」未満の値となるとともに、インデックス値カウンタ74fの値が第1抽選対象範囲(「11」~「15」)に含まれているとともに第2抽選対象範囲にも含まれている「14」又は「15」である場合にはAレジスタ101bの値が「3」以上の値となる。
「1303」の行番号には「CP A,05H」という命令が設定されている。「CP」は8ビットデータの比較命令としてのCP命令であり、「A」はAレジスタ101bであり、「05H」は第1抽選対象範囲(「11」~「15」)の最大値である「15」から「11」を減算する演算により算出される値である「4」よりも「1」大きい値(「5」)を示す1バイトの数値情報である。行番号「1303」にて「CP A,05H」という命令が実行されることにより、Aレジスタ101bの値から「5」を減算する演算が行われる。「5」減算前のAレジスタ101bの値が「5」未満である場合、すなわちインデックス値カウンタ74fの値が第1抽選対象範囲(「11」~「15」)に含まれている場合には、当該演算において最上位ビット目(第0~第7ビットにおける第7ビット目)への桁借りが生じてキャリーフラグCFの値が「1」となる。一方、「5」減算前のAレジスタ101bの値が「5」以上である場合、すなわちインデックス値カウンタ74fの値が第1抽選対象範囲(「11」~「15」)に含まれていない「0」~「10」及び「16」~「17」のいずれかである場合には、当該演算において最上位ビット目(第0~第7ビットにおける第7ビット目)への桁借りが生じないため、キャリーフラグCFの値が「0」となる。Aレジスタ101bの値から「5」を減算する演算の演算結果は、Aレジスタ101bには書き込まれない。「CP A,05H」という命令が実行されてもAレジスタ101bの値は変化しない。このため、行番号「1302」にて「11」を減算する演算を実行してAレジスタ101bに格納されたデータを後述する行番号「1306」においても利用可能とすることができる。
「1304」の行番号には「RET NC」という命令が設定されている。「RET」はサブルーチンからの復帰命令としてのRET命令であり、「NC」はサブルーチンから復帰するための条件として、キャリーフラグCFの値が「0」であること、という条件を設定する内容である。行番号「1304」にて「RET NC」という命令が実行されることにより、キャリーフラグCFの値が「0」であることを条件として、ゲーム開始時の有利状態用処理(図40)のステップS2310にて呼び出した開始時上乗せ用処理を終了し、ステップS2310の次のステップS2311に復帰する。上述したとおり、インデックス値カウンタ74fの値が第1抽選対象範囲(「11」~「15」)に含まれていない「0」~「10」及び「16」~「17」のいずれかである場合には、行番号「1303」の命令が実行されることによりキャリーフラグCFの値が「0」となる。このため、行番号「1304」にて「RET NC」という命令が実行されることにより、開始時上乗せ用処理を終了し、ゲーム開始時の有利状態用処理(図40)におけるステップS2311に復帰する。一方、上述したとおり、インデックス値カウンタ74fの値が第1抽選対象範囲(「11」~「15」)に含まれている場合には、行番号「1303」の命令が実行されることによりキャリーフラグCFの値が「1」となる。このため、行番号「1304」に「RET NC」という命令が設定されていても開始時上乗せ用処理を終了することはなく、次の行番号「1305」に進む。
行番号「1305」の命令は、AT状態ST5であるとともに役の抽選処理(図18)にて第1抽選対象範囲(「11」~「15」)のインデックス値IVに当選している場合に実行される。「1305」の行番号には「LD HL,KSADD01」という命令が設定されている。「LD」は16ビット転送命令としてのLD命令であり、「HL」は転送先としてHLレジスタ104を設定する内容であり、「KSADD01」は主側ROM73における第1上乗せ抽選テーブル73dの開始アドレスである。行番号「1305」にて「LD HL,KSADD01」という命令が実行されることにより第1上乗せ抽選テーブル73dの開始アドレスがHLレジスタ104に転送される。これにより、上乗せ抽選における参照対象の抽選テーブルとして第1上乗せ抽選テーブル73dを設定することができる。このように、AT状態ST5であるとともに役の抽選処理(図18)にて第1抽選対象範囲(「11」~「15」)のインデックス値IVに当選している場合には、参照対象の抽選テーブルとして第1上乗せ抽選テーブル73dが設定される。
「1306」の行番号には「CP A,03H」という命令が設定されている。「CP」は8ビットデータの比較命令としてのCP命令であり、「A」はAレジスタ101bであり、「03H」は第2抽選対象範囲(「14」~「15」)の最小値である「14」から「11」を減算する演算により算出される値(「3」)を示す1バイトの数値情報である。上述したとおり、Aレジスタ101bには、行番号「1302」における「11」を減算する演算により算出された1バイトの数値情報が格納されている。行番号「1306」の命令は役の抽選処理(図18)にて第1抽選対象範囲(「11」~「15」)のインデックス値IVに当選している場合に実行されるため、Aレジスタ101bの値は「0」~「4」のいずれかである。行番号「1306」にて「CP A,03H」という命令が実行されることにより、Aレジスタ101bの値から「3」を減算する演算が行われる。既に説明したとおり、CP命令が実行された場合、ジャンプフラグJFの値はキャリーフラグCFの値と同一の値となる。「3」減算前のAレジスタ101bの値が「3」未満である場合、すなわちインデックス値カウンタ74fの値が第2抽選対象範囲(「14」~「15」)には含まれていない「11」~「13」のいずれかである場合には、当該演算において最上位ビット目(第0~第7ビットにおける第7ビット目)への桁借りが生じてキャリーフラグCFの値が「1」となるとともに、ジャンプフラグJFの値も「1」となる。一方、「3」減算前のAレジスタ101bの値が「3」以上である場合、すなわちインデックス値カウンタ74fの値が第2抽選対象範囲に含まれている「14」又は「15」である場合には、当該演算において最上位ビット目(第0~第7ビットにおける第7ビット目)への桁借りが生じないため、キャリーフラグCFの値が「0」となるとともに、ジャンプフラグJFの値も「0」となる。上述したとおり、インデックス値IVを「11」だけ小さい側に変動させた後の値を利用して変動前のインデックス値が第2抽選対象範囲(「14」~「15」)に含まれていることを特定するための判定を行う構成とすることにより、当該判定における境界値(「3」)を表すためのビット数を低減することができる。これにより、当該境界値を記憶するためのデータ容量を低減することができる。
「1307」の行番号には、「JRS 1,ADR132」という命令が設定されている。「JRS」は語長1バイトの条件付きジャンプ命令であり、「1」はジャンプの条件としてジャンプフラグJFの値が「1」であること、という条件を設定する内容であり、「ADR132」はジャンプ先として「ADR132」という行番号「1309」のプログラムアドレスを設定する内容である。行番号「1307」の命令は「ADR131」というプログラムアドレスに設定されている。既に説明したとおり、JRS命令でジャンプできる範囲は、「(当該JRS命令が設定されているプログラムアドレス)+1-16」~「(当該JRS命令が設定されているプログラムアドレス)+1+15」の範囲である。図69(b)に示すように、「ADR131」というプログラムアドレスと「ADR132」というプログラムアドレスとの間に存在するプログラムアドレスに設定されている命令(行番号「1308」のLD命令)の語長は3バイトである。「ADR132」は、「(ADR131)+1+3」であり、行番号「1307」のJRS命令が設定されているプログラムアドレス(ADR131)を基準として当該JRS命令におけるジャンプ先のプログラムアドレスとして指定可能なプログラムアドレスである。
上述したとおり、インデックス値カウンタ74fの値が第1抽選対象範囲(「11」~「15」)に含まれているとともに第2抽選対象範囲(「14」~「15」)には含まれていない「11」~「13」のいずれかである場合には、行番号「1306」の命令が実行されることによりジャンプフラグJFの値が「1」となっている。このため、行番号「1307」にて「JRS 1,ADR132」という命令が実行されることにより「ADR132」という行番号「1309」のプログラムアドレスにジャンプする。一方、上述したとおり、インデックス値カウンタ74fの値が第1抽選対象範囲(「11」~「15」)に含まれているとともに第2抽選対象範囲(「14」~「15」)にも含まれている「14」又は「15」である場合には、行番号「1306」の命令が実行されることによりジャンプフラグJFの値が「0」となっている。このため、行番号「1307」に「JRS 1,ADR132」という命令が設定されていてもプログラムアドレスがジャンプすることはなく、次の行番号「1308」に進む。
行番号「1308」の命令は、AT状態ST5であるとともに役の抽選処理(図18)にて第2抽選対象範囲(「14」~「15」)のインデックス値IVに当選している場合に実行される。「1308」の行番号には、「LD HL,KSADD02」という命令が設定されている。「LD」は16ビット転送命令としてのLD命令であり、「HL」は転送先としてHLレジスタ104を設定する内容であり、「KSADD02」は主側ROM73における第2上乗せ抽選テーブル73e(図43(b))の開始アドレスである。行番号「1308」にて「LD HL,KSADD02」という命令が実行されることにより第2上乗せ抽選テーブル73eの開始アドレスがHLレジスタ104に転送される。これにより、参照対象の抽選テーブルを第1上乗せ抽選テーブル73dから当該第1上乗せ抽選テーブル73dよりも遊技者にとって有利な第2上乗せ抽選テーブル73eに変更することができる。このように、AT状態ST5であるとともに役の抽選処理(図18)にて第2抽選対象範囲(「14」~「15」)のインデックス値IVに当選している場合には、上乗せ抽選における参照対象の抽選テーブルとして第2上乗せ抽選テーブル73eが設定される。
行番号「1309」に設定されている命令は、行番号「1307」のJRS命令により行番号「1309」にジャンプした場合、又は行番号「1308」のLD命令を実行して行番号「1309」に進んだ場合に実行される。具体的には、AT状態ST5において、役の抽選処理(図18)にて第1抽選対象範囲(「11」~「15」)に含まれているとともに第2抽選対象範囲(「14」~「15」)には含まれていないインデックス値IVに当選している場合には、行番号「1307」のJRS命令により行番号「1309」のプログラムアドレスにジャンプして当該行番号「1309」の命令が実行される。また、AT状態ST5において、役の抽選処理(図18)にて第1抽選対象範囲(「11」~「15」)に含まれているとともに第2抽選対象範囲(「14」~「15」)にも含まれているインデックス値IVに当選している場合には、行番号「1308」のLD命令を実行した後に、行番号「1309」の命令が実行される。
「1309」の行番号には、「JP ADR133」という命令が設定されている。「JP」は語長3バイトの無条件ジャンプ命令としてのJP命令であり、「ADR133」は解除ゲーム数抽選処理(図35(b))におけるステップS1802の処理を実行するための命令が設定されているプログラムアドレス(2バイト)である。行番号「1309」にて「JP ADR133」という命令が実行されることにより当該「ADR133」というプログラムアドレスにジャンプする。そして、解除ゲーム数抽選処理(図35(b))のステップS1802~ステップS1807の処理が実行されることにより、AT状態ST5における残りの継続ゲーム数の上乗せ抽選が実行される。既に説明したとおり、AT状態ST5であるとともに役の抽選処理(図18)にて第1抽選対象範囲(「11」~「15」)に含まれているとともに第2抽選対象範囲(「14」~「15」)には含まれていないインデックス値IVに当選している場合には、参照対象の抽選テーブルとして第1上乗せ抽選テーブル73dが設定されている状態で上乗せ抽選が実行される。また、AT状態ST5であるとともに役の抽選処理(図18)にて第1抽選対象範囲(「11」~「15」)に含まれているとともに第2抽選対象範囲(「14」~「15」)にも含まれているインデックス値IVに当選している場合には、参照対象の抽選テーブルとして第2上乗せ抽選テーブル73eが設定されている状態で上乗せ抽選が実行される。
行番号「1309」のJP命令は、行番号「1308」にて参照対象の抽選テーブルを第2上乗せ抽選テーブル73eに変更した後に「ADR133」というプログラムアドレスにジャンプするための命令であるとともに、行番号「1307」のJRS命令で行番号「1309」のプログラムアドレスにジャンプした場合に確実に「ADR133」というプログラムアドレスにジャンプすることを可能とする命令である。このため、行番号「1308」にて参照対象の抽選テーブルを第2上乗せ抽選テーブル73eに変更した後に「ADR133」というプログラムアドレスにジャンプするための命令とは別の命令として、行番号「1307」のJRS命令でジャンプした場合に確実に「ADR133」というプログラムアドレスにジャンプさせるための命令が設定されている構成と比較して、開始時上乗せ用処理を実行するために主側ROM73に記憶されるプログラムのデータ容量を低減することができる。
既に説明したとおり、解除ゲーム数抽選処理(図35)では、ステップS1801にて参照対象の抽選テーブルとして解除ゲーム数抽選テーブル73cを設定した後、サブルーチンのプログラムを呼び出すことなくステップS1802~ステップS1807の抽選実行処理が実行される。抽選実行処理(ステップS1802~ステップS1807)は、解除ゲーム数抽選処理(図35)にてステップS1801の処理を実行した後に実行される処理であるとともに、開始時上乗せ用処理(図69(b))における行番号「1309」のJP命令でジャンプした場合に実行される処理である。当該抽選実行処理(ステップS1802~ステップS1807)が、解除ゲーム数抽選処理(図35)及び開始時上乗せ用処理(図69(b))において呼び出される共通のサブルーチンである構成とすると、解除ゲーム数抽選処理(図35)ではステップS1801の処理を実行するための命令の次に抽選実行処理を呼び出すCALL命令(3バイト)を設定する必要が生じてしまう。当該構成において、開始時上乗せ用処理(図69(b))の行番号「1309」にはJP命令に代えてCALL命令が設定されることとなるが、CALL命令の語長(3バイト)はJP命令の語長(3バイト)と同一である。このため、解除ゲーム数抽選処理(図35)及び開始時上乗せ用処理(図69(b))において抽選実行処理という共通のサブルーチンが呼び出される構成とすると、解除ゲーム数抽選処理(図35)に設定されるCALL命令の分だけ、解除ゲーム数抽選処理(図35)及び開始時上乗せ用処理(図69(b))を実行するために主側ROM73に記憶されるプログラムのデータ容量が増大してしまう。
本実施形態では、開始時上乗せ用処理(図69(b))の行番号「1309」にて「JP ADR133」というJP命令を実行することにより解除ゲーム数抽選処理(図35(b))のステップS1802の処理を実行するための命令が設定されているプログラムアドレス(ADR133)にジャンプする処理構成であるとともに、解除ゲーム数抽選処理(図35(b))にてステップS1801の処理を実行した場合にサブルーチンのプログラムを呼び出すことなくステップS1802の処理を実行する処理構成である。このため、解除ゲーム数抽選処理(図35)及び開始時上乗せ用処理(図69(b))において抽選実行処理という共通のサブルーチンが呼び出される構成と比較して、解除ゲーム数抽選処理(図35)及び開始時上乗せ用処理(図69(b))を実行するために主側ROM73に記憶されるプログラムのデータ容量を低減することができる。
図70(a)は開始時上乗せ用処理の第1比較例におけるプログラム内容を説明するための説明図である。図70(a)に示すように本プログラムには、行番号として「8101」~「8110」が設定されている。プログラムの命令は、コール命令又はジャンプ命令が実行される場合を除いて、行番号の小さい方から大きい方に向かう順番で実行される。
開始時上乗せ用処理の第1比較例は、インデックス値カウンタ74fの値が第1抽選対象範囲(「11」~「15」)に含まれている値であるか否かを判定するために、インデックス値カウンタ74fのデータをAレジスタ101bに設定する処理と、当該Aレジスタ101bの値が第1抽選対象範囲の最小値である「11」以上であるか否かを判定する処理と、Aレジスタ101bの値が「11」以上であると判定した場合にAレジスタ101bの値が第1抽選対象範囲の最大値である「15」以下であるか否かを判定する処理とを実行する処理構成である。また、開始時上乗せ用処理の第1比較例は、インデックス値カウンタ74fの値が第1抽選対象範囲の値である場合に、インデックス値カウンタ74fの値が第2抽選対象範囲(「14」~「15」)の値であるか否かを判定するために、Aレジスタ101bの値が第2抽選対象範囲の最小値である「14」以上であるか否かを判定する処理を実行する処理構成である。
図70(a)に示すように、開始時上乗せ用処理の第1比較例における「8101」の行番号には、開始時上乗せ用処理(図69(b))の行番号「1301」と同様に、「LD A,(INDXCNT)」という命令が設定されている。行番号「8101」にて「LD A,(INDXCNT)」という命令が実行されることによりインデックス値カウンタ74fのデータがAレジスタ101bに転送される。これにより、役の抽選処理(図18)にて「1」~「17」のいずれかのインデックス値IVに当選している場合には当該インデックス値IVがAレジスタ101bに設定されるとともに、役の抽選処理(図18)にていずれのインデックス値IVにも当選していない場合には「0」がAレジスタ101bに設定される。
「8102」の行番号には「CP A,0BH」という命令が設定されている。「CP」は8ビットデータの比較命令としてのCP命令であり、「A」はAレジスタ101bであり、「0BH」は第1抽選対象範囲(「11」~「15」)の最小値である「11」を示す1バイトの数値情報である。行番号「8102」にて「CP A,0BH」という命令が実行されることにより、Aレジスタ101bの値から「11」を減算する演算が行われる。既に説明したとおり、CP命令が実行された場合、ジャンプフラグJFの値はキャリーフラグCFの値と同一の値となる。「11」減算前のAレジスタ101bの値が「0」~「10」のいずれかである場合、すなわちインデックス値カウンタ74fの値が第1抽選対象範囲(「11」~「15」)の最小値である「11」未満である場合には、当該演算において最上位ビット目(第0~第7ビットにおける第7ビット目)への桁借りが生じてキャリーフラグCFの値が「1」となるとともに、ジャンプフラグJFの値も「1」となる。一方、「11」減算前のAレジスタ101bの値が「11」~「17」のいずれかである場合、すなわちインデックス値カウンタ74fの値が「11」以上である場合には、当該演算において最上位ビット目(第0~第7ビットにおける第7ビット目)への桁借りが生じないため、キャリーフラグCFの値が「0」となるとともに、ジャンプフラグJFの値も「0」となる。Aレジスタ101bの値から「11」を減算する演算の演算結果は、Aレジスタ101bには書き込まれない。「CP A,0BH」という命令が実行されてもAレジスタ101bの値は変化しない。行番号「8101」にてインデックス値カウンタ74fからAレジスタ101bに転送されたデータは、後述する行番号「8104」においても利用される。
「8103」の行番号には「RET C」という命令が設定されている。「RET」はサブルーチンからの復帰命令としてのRET命令であり、「C」はサブルーチンから復帰するための条件として、キャリーフラグCFに「1」がセットされていること、という条件を設定する内容である。行番号「8103」にて「RET C」という命令が実行されることにより、キャリーフラグCFに「1」がセットされていることを条件として開始時上乗せ用処理の第1比較例を終了する。具体的には、インデックス値カウンタ74fの値が「0」~「10」のいずれかである場合には、キャリーフラグCFに「1」がセットされているため、開始時上乗せ用処理の第1比較例を終了する。一方、インデックス値カウンタ74fの値が「11」~「17」のいずれかである場合には、キャリーフラグCFの値が「0」であるため、開始時上乗せ用処理の第1比較例を終了することはなく、次の行番号「8104」に進む。
「8104」の行番号には「CP A,10H」という命令が設定されている。「CP」は8ビットデータの比較命令としてのCP命令であり、「A」はAレジスタ101bであり、「10H」は第1抽選対象範囲(「11」~「15」)の最大値である「15」よりも「1」大きい「16」を示す1バイトの数値情報である。上述したとおり、Aレジスタ101bには、行番号「8101」にてインデックス値カウンタ74fから当該Aレジスタ101bに転送されたデータが格納されている。行番号「8104」にて「CP A,10H」という命令が実行されることにより、Aレジスタ101bの値から「16」を減算する演算が行われる。既に説明したとおり、CP命令が実行された場合、ジャンプフラグJFの値はキャリーフラグCFの値と同一の値となる。また、行番号「8104」の命令は、インデックス値カウンタ74fの値が「11」~「17」のいずれかであることを条件として実行される。「16」減算前のAレジスタ101bの値が「16」未満である場合、すなわちインデックス値カウンタ74fの値が第1抽選対象範囲である「11」~「15」のいずれかである場合には、当該演算において最上位ビット目(第0~第7ビットにおける第7ビット目)への桁借りが生じてキャリーフラグCFの値が「1」となるとともに、ジャンプフラグJFの値も「1」となる。一方、「16」減算前のAレジスタ101bの値が「16」以上である場合、すなわちインデックス値カウンタ74fの値が第1抽選対象判定に含まれていない「16」又は「17」である場合には、当該演算において最上位ビット目(第0~第7ビットにおける第7ビット目)への桁借りが生じないため、キャリーフラグCFの値が「0」となるとともに、ジャンプフラグJFの値も「0」となる。Aレジスタ101bの値から「16」を減算する演算の演算結果は、Aレジスタ101bには書き込まれない。「CP A,10H」という命令が実行されてもAレジスタ101bの値は変化しない。行番号「8101」にてインデックス値カウンタ74fからAレジスタ101bに転送されたデータは、後述する行番号「8107」においても利用される。
「8105」の行番号には「RET NC」という命令が設定されている。「RET」はサブルーチンからの復帰命令としてのRET命令であり、「NC」はサブルーチンから復帰するための条件として、キャリーフラグCFの値が「0」であること、という条件を設定する内容である。行番号「8105」にて「RET NC」という命令が実行されることにより、キャリーフラグCFの値が「0」であることを条件として開始時上乗せ用処理を終了する。具体的には、インデックス値カウンタ74fの値が「16」又は「17」である場合には、キャリーフラグCFの値が「0」であるため、開始時上乗せ用処理を終了する。一方、インデックス値カウンタ74fの値が第1抽選対象範囲である「11」~「15」のいずれかである場合には、キャリーフラグCFの値が「1」であるため、サブルーチンから復帰することなく、次の行番号「8106」に進む。
「8106」の行番号には、開始時上乗せ用処理(図69(b))の行番号「1305」と同様に、「LD HL,KSADD01」という命令が設定されている。行番号「8106」にて「LD HL,KSADD01」という命令が実行されることにより第1上乗せ抽選テーブル73dの開始アドレスがHLレジスタ104に転送される。これにより、参照対象の抽選テーブルとして第1上乗せ抽選テーブル73dが設定される。
「8107」の行番号には「CP A,0EH」という命令が設定されている。「CP」は8ビットデータの比較命令としてのCP命令であり、「A」はAレジスタ101bであり、「0EH」は第2抽選対象範囲(「14」~「15」)の最小値である「14」を示す1バイトの数値情報である。上述したとおり、Aレジスタ101bには、行番号「8101」にてインデックス値カウンタ74fから当該Aレジスタ101bに転送されたデータが格納されている。行番号「8107」にて「CP A,0EH」という命令が実行されることにより、Aレジスタ101bの値から「14」を減算する演算が行われる。既に説明したとおり、CP命令が実行された場合、ジャンプフラグJFの値はキャリーフラグCFの値と同一の値となる。また、行番号「8107」の命令は、インデックス値カウンタ74fの値が第1抽選対象範囲である「11」~「15」のいずれかであることを条件として実行される。「14」減算前のAレジスタ101bの値が「14」未満である場合、すなわちインデックス値カウンタ74fの値が第1抽選対象範囲(「11」~「15」)に含まれているとともに第2抽選対象範囲(「14」~「15」)には含まれていない「11」~「13」のいずれかである場合には、当該演算において最上位ビット目(第0~第7ビットにおける第7ビット目)への桁借りが生じてキャリーフラグCFの値が「1」となるとともに、ジャンプフラグJFの値も「1」となる。一方、「14」減算前のAレジスタ101bの値が「14」以上である場合、すなわちインデックス値カウンタ74fの値が第2抽選対象範囲(「14」又は「15」)に含まれている場合には、当該演算において最上位ビット目(第0~第7ビットにおける第7ビット目)への桁借りが生じないため、キャリーフラグCFの値が「0」となるとともに、ジャンプフラグJFの値も「0」となる。
「8108」~「8110」の行番号には、開始時上乗せ用処理(図69(b))の行番号「1307」~行番号「1309」と同様の命令が設定されている。上述したとおり、インデックス値カウンタ74fの値が第1抽選対象範囲に含まれているとともに第2抽選対象範囲には含まれていない「11」~「13」のいずれかである場合には、行番号「8107」の命令が実行されることによりジャンプフラグJFの値が「1」となっている。このため、行番号「8108」にて「JRS 1,ADR812」という命令が実行されることにより、「ADR811」という行番号「8108」のプログラムアドレスから「ADR812」という行番号「8110」のプログラムアドレスにジャンプする。一方、上述したとおり、インデックス値カウンタ74fの値が第2抽選対象範囲に含まれている「14」又は「15」である場合には、行番号「8107」の命令が実行されることによりジャンプフラグJFの値が「0」となっている。このため、行番号「8108」に「JRS 1,ADR812」という命令が設定されていてもプログラムアドレスがジャンプすることはなく、次の行番号「8109」に進む。行番号「8109」にて「LD HL,KSADD02」という命令が実行されることにより第2上乗せ抽選テーブル73eの開始アドレスがHLレジスタ104に転送される。これにより、上乗せ抽選における参照対象の抽選テーブルが第2上乗せ抽選テーブル73eに変更される。このように、AT状態ST5であるとともに役の抽選処理(図18)にて第2抽選対象範囲(「14」~「15」)のインデックス値IVに当選している場合には、上乗せ抽選における参照対象の抽選テーブルとして第2上乗せ抽選テーブル73eが設定される。行番号「8110」にて「JP ADR133」という命令が実行されることにより当該「ADR133」というプログラムアドレスにジャンプする。
図70(b)は開始時上乗せ用処理及び開始時上乗せ用処理の第1比較例において、第1上乗せ抽選テーブル73dを選択するために設定されている命令及び第2上乗せ抽選テーブル73eを選択するために設定されている命令を説明するための説明図である。開始時上乗せ用処理(図69(b))において、第1抽選対象範囲のインデックス値IVに当選していることを条件として第1上乗せ抽選テーブル73dを選択するための命令は、行番号「1301」~行番号「1305」に設定されている。また、開始時上乗せ用処理の第1比較例(図70(a))において、第1抽選対象範囲のインデックス値IVに当選していることを条件として第1上乗せ抽選テーブル73dを選択するための命令は、行番号「8101」~行番号「8106」に設定されている。
図70(b)に示すように、開始時上乗せ用処理の第1比較例(図70(a))における行番号「8101」~行番号「8106」には、3バイトのLD命令が2つ設定されており、2バイトのCP命令が2つ設定されており、1バイトのRET命令が2つ設定されている。行番号「8101」~行番号「8106」に設定されている命令の語長の合計は12バイトである。これに対して、開始時上乗せ用処理(図69(b))の行番号「1301」~行番号「1305」には、3バイトのLD命令が2つ設定されており、2バイトのSUB命令が1つ設定されており、2バイトのCP命令が1つ設定されており、1バイトのRET命令が1つ設定されている。行番号「1301」~行番号「1305」に設定されている命令の語長の合計は11バイトである。
既に説明したとおり、開始時上乗せ用処理(図69(b))は、インデックス値カウンタ74fのデータが設定されているAレジスタ101bの値から、第1抽選対象範囲(「11」~「15」)の最小値である「11」を減算する処理と、当該「11」を減算した後のAレジスタ101bの値が第1抽選対象範囲の最大値である「15」から「11」を減算する演算により算出される値よりも「1」大きい値である「5」未満であるか否かを判定する処理と、を行う処理構成である。これにより、開始時上乗せ用処理の第1比較例(図70(a))のように、インデックス値カウンタ74fのデータが設定されているAレジスタ101bの値が第1抽選対象範囲の最小値である「11」以上であるか否かを判定する処理と、当該Aレジスタ101bの値が第1抽選対象範囲の最大値である「15」以下であるか否かを判定する処理と、を行う処理構成と比較して、インデックス値カウンタ74fの値が第1抽選対象範囲に含まれているか否かを判定するためにプログラムに設定される命令の語長の合計を小さくすることができる。よって、開始時上乗せ用処理(図69(b))を実行するために主側ROM73に記憶されるプログラムのデータ容量を低減することができる。
開始時上乗せ用処理(図69(b))において、インデックス値カウンタ74fの値が「11」~「13」のいずれかである場合に参照対象の抽選テーブルとして第1上乗せ抽選テーブルを設定するとともにインデックス値カウンタ74fの値が「14」又は「15」である場合に参照対象の抽選テーブルとして第2上乗せ抽選テーブルを設定するための命令は、行番号「1301」~行番号「1308」に設定されている。また、開始時上乗せ用処理の第1比較例(図70(a))において、インデックス値カウンタ74fの値が「11」~「13」のいずれかである場合に参照対象の抽選テーブルとして第1上乗せ抽選テーブルを設定するとともにインデックス値カウンタ74fの値が「14」又は「15」である場合に参照対象の抽選テーブルとして第2上乗せ抽選テーブルを設定するための命令は、行番号「8101」~行番号「8109」に設定されている。開始時上乗せ用処理の第1比較例(図70(a))における行番号「8101」~行番号「8109」には、3バイトのLD命令が3つ設定されており、2バイトのCP命令が3つ設定されており、1バイトのRET命令が2つ設定されており、1バイトのJRS命令が1つ設定されている。行番号「8101」~行番号「8109」に設定されている命令の語長の合計は18バイトである。これに対して、開始時上乗せ用処理(図69(b))の行番号「1301」~行番号「1308」には、3バイトのLD命令が3つ設定されており、2バイトのSUB命令が1つ設定されており、2バイトのCP命令が2つ設定されており、1バイトのRET命令が1つ設定されており、1バイトのJRS命令が1つ設定されている。行番号「1301」~行番号「1308」に設定されている命令の語長の合計は17バイトである。
既に説明したとおり、開始時上乗せ用処理(図69(b))は、インデックス値カウンタ74fのデータが設定されているAレジスタ101bの値から、第1抽選対象範囲(「11」~「15」)の最小値である「11」を減算する処理と、当該「11」を減算した後のAレジスタ101bの値が第1抽選対象範囲の最大値である「15」から「11」を減算する演算により算出される値よりも「1」大きい値である「5」未満であるか否かを判定する処理と、当該「11」を減算した後のAレジスタ101bの値が第2抽選対象範囲(「14」~「15」)の最小値である「14」から「11」を減算する演算により算出される値である「3」以上であるか否かを判定する処理と、を行う処理構成である。これにより、開始時上乗せ用処理の第1比較例(図70(a))のように、インデックス値カウンタ74fのデータが設定されているAレジスタ101bの値が第1抽選対象範囲(「11」~「15」)の最小値である「11」以上であるか否かを判定する処理と、当該Aレジスタ101bの値が第1抽選対象範囲の最大値である「15」以下であるか否かを判定する処理と、当該Aレジスタ101bの値が第2抽選対象範囲(「14」~「15」)の最小値である「14」以上であるか否かを判定する処理と、を行う処理構成と比較して、インデックス値カウンタ74fの値が「11」~「13」のいずれかである場合に参照対象の抽選テーブルとして第1上乗せ抽選テーブルを設定するとともにインデックス値カウンタ74fの値が「14」又は「15」である場合に参照対象の抽選テーブルとして第2上乗せ抽選テーブルを設定するためにプログラムに設定されている命令の語長の合計を小さくすることができる。よって、開始時上乗せ用処理(図69(b))を実行するために主側ROM73に記憶されるプログラムのデータ容量を低減することができる。
図71(a)は開始時上乗せ用処理(図69(b))において「ADR131」というプログラムアドレス及び「ADR132」というプログラムアドレスから「ADR133」というプログラムアドレスにジャンプするために設定されているジャンプ命令を説明するための説明図である。既に説明したとおり、JRS命令でジャンプできる範囲は、「(当該JRS命令が設定されているプログラムアドレス)+1-16」~「(当該JRS命令が設定されているプログラムアドレス)+1+15」の範囲である。「ADR133」は、解除ゲーム数抽選処理(図35(b))のステップS1802の処理を実行するための命令が設定されているプログラムアドレスであり、行番号「1307」のJRS命令が設定されているプログラムアドレス(ADR131)を基準として当該JRS命令におけるジャンプ先のプログラムアドレスとして指定できないプログラムアドレスである。また、「ADR133」は、行番号「1309」のプログラムアドレス(ADR132)を基準としてJRS命令におけるジャンプ先のプログラムアドレスとして指定できないプログラムアドレスである。
既に説明したとおり、JR命令でジャンプできる範囲は、「(当該JR命令が設定されているプログラムアドレス)+2-128」~「(当該JR命令が設定されているプログラムアドレス)+2+127」の範囲である。「ADR133」は、行番号「1307」のプログラムアドレス(ADR131)を基準としてJR命令におけるジャンプ先のプログラムアドレスとして指定できないプログラムアドレスであるとともに、行番号「1309」のプログラムアドレス(ADR132)を基準としてJR命令におけるジャンプ先のプログラムアドレスとして指定できないプログラムアドレスである。
開始時上乗せ用処理(図69(b))では、行番号「1309」に「JP ADR133」という命令が設定されている。既に説明したとおり、JP命令はジャンプ先のプログラムアドレス(2バイト)の全体を指定する語長3バイトのジャンプ命令である。このため、JP命令を利用することにより「ADR132」という行番号「1309」のJP命令が設定されているプログラムアドレスから「ADR133」というプログラムアドレスにジャンプすることができる。開始時上乗せ用処理(図69(b))は、行番号「1307」に語長1バイトのJRS命令を設定し、ジャンプフラグJFの値が「1」であることを条件として行番号「1307」から行番号「1309」のプログラムアドレス(ADR132)にジャンプし、当該ジャンプ先のプログラムアドレスに設定されているJP命令を利用して「ADR133」というプログラムアドレスにジャンプする処理構成である。
図71(b)は開始時上乗せ用処理の第2比較例において「ADR131」というプログラムアドレス及び「ADR132」というプログラムアドレスから「ADR133」というプログラムアドレスにジャンプするために設定されているジャンプ命令を説明するための説明図である。開始時上乗せ用処理の第2比較例(図71(b))では、「ADR131」というプログラムアドレスに「JP C,ADR133」という命令が設定されている。「JP」は語長3バイトのジャンプ命令であり、「C」はジャンプの条件として、キャリーフラグCFに「1」がセットされていること、という条件を指定する内容であり、「ADR133」はジャンプ先のプログラムアドレスとして「ADR133」というプログラムアドレスを指定する内容である。既に説明したとおり、CP命令が実行された場合、ジャンプフラグJFの値はキャリーフラグCFの値と同一の値となる。開始時上乗せ用処理の第2比較例(図71(b))では、「ADR131」というプログラムアドレスに「JR C,ADR133」という命令が設定されているため、キャリーフラグCFに「1」がセットされていることを条件として、「ADR132」というプログラムアドレスを経由することなく、「ADR133」というプログラムアドレスに直接ジャンプする。
上述したとおり、行番号「1309」のJP命令は、AT状態ST5であるとともに役の抽選処理(図18)にて第2抽選対象範囲(「14」~「15」)に含まれているインデックス値IVに当選していることを条件として、行番号「1308」にて上乗せ抽選における参照対象の抽選テーブルを第2上乗せ抽選テーブル73eに変更した後に、「ADR133」というプログラムアドレスにジャンプするための命令である。このため、行番号「1307」から「ADR133」というプログラムアドレスに直接ジャンプする構成においても当該行番号「1309」のJP命令を省略することはできない。
図71(b)に示すように、開始時上乗せ用処理の第2比較例(図71(b))において「ADR131」というプログラムアドレス及び「ADR132」というプログラムアドレスから「ADR133」というプログラムアドレスにジャンプするために設定されているジャンプ命令の語長の合計は6バイトである。これに対して、図71(a)に示すように、開始時上乗せ用処理(図69(b))において「ADR131」というプログラムアドレス及び「ADR132」というプログラムアドレスから「ADR133」というプログラムアドレスにジャンプするために設定されているジャンプ命令の語長の合計は4バイトである。
上述したとおり、開始時上乗せ用処理(図69(b))は、行番号「1307」にてジャンプフラグJFの値が「1」であることを条件として語長1バイトのJRS命令により行番号「1309」にジャンプし、当該ジャンプ先の行番号「1309」に設定されているJP命令を利用して「ADR133」というプログラムアドレスにジャンプする処理構成である。これにより、開始時上乗せ用処理の第2比較例(図71(b))のように、行番号「1307」にてキャリーフラグCFに「1」がセットされていることを条件として語長3バイトのJP命令により「ADR133」というプログラムアドレスに直接ジャンプする処理構成と比較して、「ADR131」というプログラムアドレス及び「ADR132」というプログラムアドレスから「ADR133」というプログラムアドレスにジャンプするために設定するジャンプ命令の語長の合計を低減することができる。よって、開始時上乗せ用処理(図69(b))を実行するために主側ROM73に記憶されるプログラムのデータ容量を低減することができる。
以上詳述した本実施形態によれば、以下の優れた効果を奏する。
主側MPU72は、停止順種別カウンタ74mの値が「1」~「9」のいずれかであることに基づいて兼用表示部66における停止順対応表示の実行期間であることを把握するとともに、停止順種別カウンタ74mに「1」~「9」の停止順種別番号が設定されていないことに基づいて当該停止順対応表示の実行期間ではないことを把握する。ゲームの実行中に、兼用表示部66にて停止順種別カウンタ74mの値に基づく停止順対応表示又は付与数カウンタ74eの値に基づく付与数表示が実行される構成において、スロットマシン10は兼用表示部66にて停止順対応表示を実行すべき状態であること及び付与数表示を実行すべき状態であることを主側MPU72にて把握可能とするフラグを不具備である。このため、当該フラグを備えている構成と比較して、ゲームの実行中に兼用表示部66にて停止順対応表示が実行されている状態及び付与数表示が実行されている状態を生じさせるための主側RAM74のデータ容量を低減することができる。
兼用表示部66における停止順対応表示及び画像表示装置63における停止順報知が実行されるゲームでは、役の抽選処理(図18)にて当選となった「1」~「9」のいずれかのインデックス値IVがインデックス値カウンタ74fに格納されるとともに、当該インデックス値カウンタ74fに格納されている「1」~「9」のいずれかのインデックス値IVがそのまま停止順種別番号として停止順種別カウンタ74mに設定される。このため、停止順種別カウンタ74mに設定される停止順種別番号のデータが役の抽選処理(図18)にて当選となったインデックス値IVのデータとは異なっている構成と比較して、停止順種別カウンタ74mに停止順種別番号を設定するための処理構成が簡素化されている。
入賞判定処理(図26)において、小役入賞が成立した場合にその小役入賞に対応する付与数を付与数カウンタ74eに設定するステップS1205の処理が実行されるタイミングは、停止順種別カウンタ74mを「0」クリアするステップS1208の処理が実行されるタイミングよりも前のタイミングである。兼用表示部66にて停止順対応表示が実行されている状態において停止順種別カウンタ74mが「0」クリアされると、兼用表示部66の表示内容が停止順対応表示から付与数表示に切り替わる。今回成立した小役入賞に対応する付与数を付与数カウンタ74eに設定する前に停止順種別カウンタ74mを「0」クリアする処理構成とすると、兼用表示部66において停止順対応表示が終了してから今回成立した小役入賞に対応する付与数の表示が開始されるまでの間に「0」が表示されてしまうおそれがある。兼用表示部66における表示内容が停止順対応表示→「00」→遊技媒体の付与数に対応する表示の順番で、短時間(例えば約3ミリ秒間)に2回切り替わると、遊技ホールの管理者や遊技者を混乱させてしまうおそれがある。これに対して、今回成立した小役入賞に対応する遊技媒体の付与数が付与数カウンタ74eに設定されている状態において停止順種別カウンタ74mを「0」クリアする処理構成であることにより、兼用表示部66における停止順対応表示から付与数表示への表示内容の切り替えをスムーズなものとすることができる。
ゲームが実行されている状態であるとともに兼用表示部66にて付与数カウンタ74eの値に基づく付与数表示が実行されている状態において、停止順種別カウンタ74mに「1」~「9」のいずれかの停止順種別番号を設定する処理(抽選結果対応処理(図25)におけるステップS1105の処理)を行うことにより、兼用表示部66における表示内容を付与数表示から停止順対応表示に切り替えることができる。このため、停止順種別カウンタ74mに「1」~「9」のいずれかの停止順種別番号を設定する処理に加えて、当該処理とは別の処理として、兼用表示部66における表示内容を付与数カウンタ74eの値に基づく付与数表示から停止順対応表示に切り替えるための処理が設定されている構成と比較して、停止順種別カウンタ74mに「1」~「9」のいずれかの停止順種別番号をセットするとともに兼用表示部66における表示内容を付与数表示から停止順対応表示に切り替えるための処理構成を簡素化することができる。
ゲームが実行されている状態であるとともに兼用表示部66にて停止順表示が実行されている状態において、停止順種別カウンタ74mの値を「0」クリアする処理(入賞判定処理(図26)におけるステップS1208の処理)を行うことにより、兼用表示部66における表示内容を停止順対応表示から付与数カウンタ74eの値に基づく付与数表示に切り替えることができる。このため、停止順種別カウンタ74mの値を「0」クリアする処理に加えて、当該処理とは別の処理として、兼用表示部66における表示内容を停止順対応表示から付与数カウンタ74eの値に基づく付与数表示に切り替えるための処理が設定されている構成と比較して、停止順種別カウンタ74mの値を「0」クリアするとともに兼用表示部66における表示内容を停止順対応表示から付与数表示に切り替えるための処理構成を簡素化することができる。
主側MPU72は、比率表示カウンタ74nに「0」~「100」のいずれかの演算結果データが設定されていることに基づいて兼用表示部66における比率表示の実行期間であることを把握するとともに、比率表示カウンタ74nに「0」~「100」の演算結果データが設定されていないことに基づいて比率表示の実行期間ではないことを把握する。ゲームが実行されていない期間に、兼用表示部66にて比率表示カウンタ74nの値に基づく比率表示又は付与数カウンタ74eの値に基づく付与数表示が実行される構成において、スロットマシン10は兼用表示部66にて比率表示を実行すべき状態であること及び付与数表示を実行すべき状態であることを主側MPU72にて把握可能とするフラグを不具備である。このため、当該フラグを備えている構成と比較して、ゲームが実行されていない期間に兼用表示部66にて比率表示が実行されている状態及び付与数表示が実行されている状態を生じさせるための主側RAM74のデータ容量を低減することができる。
ゲームが実行されていない状態であるとともに兼用表示部66にて付与数カウンタ74eの値に基づく付与数表示が実行されている状態において、比率表示カウンタ74nに「0」~「100」のいずれかの演算結果データを設定する処理(管理用処理(図27)におけるステップS1305の処理)を実行することにより、兼用表示部66における表示内容を付与数表示から比率表示に切り替えることができる。このため、比率表示カウンタ74nに演算結果データを格納する処理に加えて、当該処理とは別の処理として、兼用表示部66における表示内容を付与数カウンタ74eの値に基づく付与数表示から比率表示に切り替えるための処理が設定されている構成と比較して、比率表示カウンタ74nに演算結果データを格納するとともに兼用表示部66における表示内容を付与数表示から比率表示に切り替えるための処理構成を簡素化することができる。
ゲームが実行されていない状態であるとともに兼用表示部66にて比率表示が実行されている状態において、比率表示カウンタ74nに初期値である「255」をセットする処理(管理用処理(図27)におけるステップS1307の処理)を実行することにより、兼用表示部66における表示内容を比率表示から付与数カウンタ74eの値に基づく付与数表示に切り替えることができる。このため、比率表示カウンタ74nに初期値をセットする処理に加えて、当該処理とは別の処理として、兼用表示部66における表示内容を比率表示から付与数表示に切り替えるための処理が設定されている構成と比較して、比率表示カウンタ74nに初期値をセットするとともに兼用表示部66における表示内容を比率表示から付与数表示に切り替えるための処理構成を簡素化することができる。
第2区間SC2の滞在比率の演算結果データは、ゲームが実行されていない状態において比率表示の開始操作が行われた場合に比率表示カウンタ74nにセットされる。兼用表示部66にて比率表示が実行されていない状態においても第2区間SC2の滞在比率を算出するための演算が行われて当該演算結果データが主側RAM74に記憶される構成とすると、比率表示カウンタ74n以外に、当該演算結果データを記憶しておくためのカウンタを主側RAM74に設ける必要が生じてしまう。これに対して、兼用表示部66にて比率表示が実行される期間のみにおいて演算結果データが比率表示カウンタ74nにセットされる構成であることにより、演算結果データを記憶しておくために主側RAM74に設けられる記憶エリアのデータ容量を低減することができる。
停止順種別カウンタ74mに「1」~「9」のいずれかの停止順種別番号が設定されている期間と、比率表示カウンタ74nに「0」~「100」のいずれかの演算結果データが設定されている期間とは重複しない期間である。このため、兼用表示部66にて停止順対応表示を実行するための条件と比率表示を実行するための条件とが同時に満たされることはない。これにより、兼用表示部66にて停止順対応表示を実行すべき状態であること及び比率表示を実行すべき状態であることを主側MPU72にて把握可能とするフラグを不要とし、当該フラグを備えている構成と比較して、兼用表示部66にて停止順対応表示が実行されている状態及び比率表示が実行されている状態を生じさせるための主側RAM74のデータ容量を低減することができる。
最上位ビットに「1」がセットされ得るAT継続カウンタ74uの下位エリア、継続ゲーム数カウンタ74rの下位エリア及び合計獲得数カウンタ74sの下位エリアを含む「0001H」~「0006H」の連続するアドレス範囲に設定されている6つの記憶エリアの最上位ビットに格納されている「0」又は「1」のデータは、1バイトの記憶エリア(最上位集約用エリア74v)に集約される。このため、これら6つの記憶エリアの最上位ビットに格納されている「0」又は「1」のデータを設定するために主側RAM74に2バイト以上の記憶エリアが設定されている構成と比較して、これら6つの記憶エリアの最上位ビットに格納されている「0」又は「1」のデータを設定するために主側RAM74に設けられる記憶エリアのデータ容量が低減されている。
最上位ビットに「1」がセットされ得るAT継続カウンタ74uの下位エリア、継続ゲーム数カウンタ74rの下位エリア及び合計獲得数カウンタ74sの下位エリアを含む6つの記憶エリアが「0001H」~「0006H」の連続するアドレス範囲に設定されていることにより、最上位ビットに格納されている「0」又は「1」のデータを最上位集約用エリア74vに設定する対象となる記憶エリアのアドレス範囲を指定するための処理構成を簡素化することができる。
「0008H」~「000DH」のアドレス範囲に設定されている記憶エリア(ベット数設定カウンタ74b、停止順種別カウンタ74m、遊技状態エリア77、遊技区間エリア76、疑似ボーナス継続カウンタ74t及び付与数カウンタ74e)は、最上位ビットに「1」がセットされない記憶エリアである。開始時コマンド及び終了時コマンドにデータが設定される「0001H」~「000DH」のアドレス範囲に設定されている記憶エリアのうち「0001H」~「0006H」のアドレスに対応する記憶エリアにおける最上位ビットに格納されている「0」又は「1」のデータが集約される最上位集約用エリア74vが設けられている構成において、「0008H」~「000DH」のアドレスに対応する記憶エリアにおける最上位ビットに格納されている「0」のデータが設定される記憶エリアは設けられていない。このため、最上位ビットのデータを集約するために主側RAM74に設定される記憶エリア(最上位集約用エリア74v)の数を抑えながら、最上位ビットに「1」がセットされ得る記憶エリアにおける当該最上位ビットのデータを開始時コマンド及び終了時コマンドに設定することができる。
開始時コマンド及び終了時コマンドにデータが設定される記憶エリアが主側RAM74において「0001H」~「000DH」の連続するアドレス範囲に設定されているため、開始時コマンドにデータを設定する記憶エリアのアドレス範囲を指定するための処理構成及び終了時コマンドにデータを設定する記憶エリアのアドレス範囲を指定するための処理構成を簡素化することができる。
ゲームの開始時に演出側MPU92にて使用されるデータが格納されている主側RAM74の記憶エリアの一部のみ(具体的には最上位集約用エリア74v及び遊技状態エリア77)が、ゲームの終了時に演出側MPU92にて使用されるデータが格納されている主側RAM74の記憶エリアと共通している構成である。当該構成において、開始時コマンド及び終了時コマンドにデータが設定される記憶エリアを、ゲームの開始時及び終了時に演出側MPU92にて使用されるデータが格納されている主側RAM74の記憶エリアとすることにより、開始時コマンドにデータが設定される記憶エリア及び終了時コマンドにデータが設定される記憶エリアを主側RAM74の連続するアドレス範囲に設定することが可能となっている。
主側RAM74において、開始時コマンドに設定されるデータが格納されている記憶エリアのアドレス範囲(「0001H」~「000DH」のアドレス範囲)が、終了時コマンドに設定されるデータが格納されている記憶エリアのアドレス範囲(「0001H」~「000DH」のアドレス範囲)と同一であるため、開始時コマンドを送信するための処理構成と終了時コマンドを送信するための処理構成とを共通化することができる。これにより、主側ROM73において開始時コマンド及び終了時コマンドを送信するためのプログラムのデータ容量を低減することができる。
下位エリアの最上位ビットに「1」がセットされ得るカウンタとして、AT継続カウンタ74u、継続ゲーム数カウンタ74r及び合計獲得数カウンタ74sが存在している。AT継続カウンタ74uのデータは、ゲームの開始時に演出側MPU92にて使用されるデータである一方、ゲームの終了時に演出側MPU92にて使用されるデータではない。また、継続ゲーム数カウンタ74r及び合計獲得数カウンタ74sのデータは、ゲームの終了時に演出側MPU92にて使用されるデータである一方、ゲームの開始時に演出側MPU92にて使用されるデータではない。ゲームの開始時に演出側MPU92にて使用されるデータのみを開始時コマンドに設定するとともにゲームの終了時に演出側MPU92にて使用されるデータのみを終了時コマンドに設定する構成とすると、AT継続カウンタ74uの下位エリア及び上位エリアにおける最上位ビットのデータを設定するための記憶エリアとは別に、継続ゲーム数カウンタ74rの下位エリア及び上位エリア、並びに合計獲得数カウンタ74sの下位エリア及び上位エリアにおける最上位ビットのデータを設定するための記憶エリアを主側RAM74に設ける必要が生じてしまう。これに対して、開始時コマンド及び終了時コマンドにAT継続カウンタ74u、継続ゲーム数カウンタ74r及び合計獲得数カウンタ74sのデータを設定する構成であることにより、これらAT継続カウンタ74u、継続ゲーム数カウンタ74r及び合計獲得数カウンタ74sの下位エリア及び上位エリアの最上位ビットに格納されている「0」又は「1」のデータを設定するための記憶エリアを最上位集約用エリア74vの1つのみとすることができる。これにより、AT継続カウンタ74uの下位エリア及び上位エリア、継続ゲーム数カウンタ74rの下位エリア及び上位エリア、並びに合計獲得数カウンタ74sの下位エリア及び上位エリアにおける最上位ビットのデータを設定するための主側RAM74のデータ容量が低減されている。
演出側MPU92は主側MPU72から受信した開始時コマンドを変換後開始時コマンドに変換するとともに、主側MPU72から受信した終了時コマンドを変換後終了時コマンドに変換する。演出側MPU92は、主側MPU72から受信した開始時コマンド又は終了時コマンドを変換後開始時コマンド又は変換後終了時コマンドに変換する場合、最上位集約フレームSF(第8フレームFR8)の第0~第5ビットに設定されている「0」又は「1」のデータを当該第0~第5ビットに対応する第2~第7フレームFR2~FR7における最上位ビットに設定する。これにより、主側MPU72から演出側MPU92に送信される開始時コマンド又は終了時コマンドに含まれているヘッダHD以外のフレームにおける最上位ビットの値を「0」としながら、演出側MPU92において、ヘッダHD以外のフレームにおける最上位ビットにも「1」がセットされ得る変換後開始時コマンド又は変換後終了時コマンドを利用可能とすることができる。
開始時コマンド又は終了時コマンドにおいて、最上位集約フレームSF(第8フレームFR8)の第0~第5ビットに設定されている「0」又は「1」のデータが最上位ビットに設定されるフレームは、連続する第2~第7フレームFR2~FR7である。このため、最上位集約フレームSFの第0~第5ビットに設定されている「0」又は「1」のデータが最上位ビットに設定されるフレームを演出側MPU92にて指定するための処理構成を簡素化することができる。
変換後開始時コマンドには、開始時コマンドに含まれている第1~第15フレームFR1~FR15のうち一部のフレームのみが設定されている。これにより、主側MPU72がゲームの開始時に演出側MPU92にて利用されるデータ以外のデータを含む開始時コマンドを送信する構成としながら、コマンド格納バッファ126に格納されて演出側MPU92にて利用される変換後開始時コマンドのデータ容量を抑えることができる。また、変換後終了時コマンドには、終了時コマンドに含まれている第1~第15フレームFR1~FR15のうち一部のフレームのみが設定されている。これにより、主側MPU72がゲームの終了時に演出側MPU92にて利用されるデータ以外のデータを含む終了時コマンドを送信する構成としながら、コマンド格納バッファ126に格納されて演出側MPU92にて利用される変換後終了時コマンドのデータ容量を抑えることができる。よって、コマンド格納バッファ126のデータ容量を低減することができる。
開始時コマンドに含まれている第1~第15フレームFR1~FR15のうち演出側MPU92が変換後開始時コマンドに設定するフレームは、終了時コマンドに含まれている第1~第15フレームFR1~FR15のうち演出側MPU92が変換後終了時コマンドに設定するフレームと異なっている。このため、ゲームの開始時に主側MPU72から演出側MPU92に送信される開始時コマンドに設定されるデータが格納されている主側RAM74の記憶エリアのアドレス範囲がゲームの終了時に主側MPU72から演出側MPU92に送信される終了時コマンドに設定されるデータが格納されている主側RAM74の記憶エリアのアドレス範囲と同一である構成において、ゲームの開始時には当該ゲームの開始時に演出側MPU92にて必要となるデータのみがヘッダHD及びフッタFTの間に設定されている変換後開始時コマンドを演出側MPU92にて利用可能とすることができるとともに、ゲームの終了時には当該ゲームの終了時に演出側MPU92にて必要となるデータのみがヘッダHD及びフッタFTの間に設定されている変換後終了時コマンドを演出側MPU92にて利用可能とすることができる。
最上位集約処理(図51)における転送対象範囲は主側RAM74において連続する「0001H」~「0006H」のアドレス範囲である。主側RAM74における転送元カウンタ116の値を1加算する処理(ステップS2909の処理)を繰り返し実行することにより転送元の記憶エリアを順次更新することができる。これにより、転送元の記憶エリアを順次更新するための処理構成が簡素化されている。
最上位集約処理(図51)における転送対象範囲が主側RAM74において連続する「0001H」~「0006H」のアドレス範囲であることにより、ステップS2904にて転送元カウンタ116に当該転送対象範囲の開始アドレスである「0001H」をセットするとともに、ステップS2905にて転送回数カウンタ114に転送回数である「6」をセットすることにより当該転送対象範囲を指定することができる。これにより、転送対象範囲を指定するための処理構成が簡素化されている。
共通コマンド送信処理(図50)における転送対象範囲は主側RAM74において連続する「0001H」~「000DH」のアドレス範囲である。主側RAM74における転送元カウンタ116の値を1加算する処理(ステップS2816の処理)を繰り返し実行することにより転送元の記憶エリアを順次更新することができる。これにより、転送元の記憶エリアを順次更新するための処理構成が簡素化されている。
共通コマンド送信処理(図50)における転送対象範囲が主側RAM74において連続する「0001H」~「000DH」のアドレス範囲であることにより、ステップS2809にて転送元カウンタ116に当該転送対象範囲の開始アドレスである「0001H」をセットするとともに、ステップS2810にて転送回数カウンタ114に転送回数である「13」をセットすることにより当該転送対象範囲を指定することができる。これにより、転送対象範囲を指定するための処理構成が簡素化されている。
最上位設定処理(図53)において最上位ビットに最上位集約フレームSFの第0~第5ビットに格納されている「0」又は「1」のデータが設定されるエリアRA2~RA7のアドレスは連続する「α+2」~「α+7」のアドレス範囲である。演出側転送先カウンタの値を1加算する処理(ステップS3110の処理)を繰り返し実行することにより転送先の記憶エリアを順次更新することができる。これにより、転送先の記憶エリアを順次更新するための処理構成が簡素化されている。
演出側RAM94における演出側ビット指定カウンタの値は、最上位集約フレームSFの第0~第5ビットのいずれかに格納されている「0」又は「1」のデータを転送先の記憶エリアにおける最上位ビットに転送する処理(ステップS3109の処理)が実行される度に1加算される。このため、演出側ビット指定カウンタの値を参照することにより、最上位集約フレームSFの第0~第5ビットのいずれかに設定されている「0」又は「1」のデータを当該第0~第5ビットのいずれかに対応する第2~第7フレームFR2~FR7に転送した回数を把握することができる。これにより、転送回数を演出側MPU92にて把握するための処理構成を簡素化することができる。
変換前エリア124に設定した開始時コマンド又は終了時コマンドに含まれている第1~第15フレームFR1~FR15のうち一部のフレームのデータを変換後エリア125に転送することにより当該開始時コマンド又は終了時コマンドを変換後開始時コマンド又は変換後終了時コマンドに変換する場合、変換前エリア124における転送元の記憶エリアの更新は、除外対象のエリアを除く態様で行われる。一方、変換後エリア125における転送先の記憶エリアの更新は、変換後エリア125において、現状における転送先の記憶エリアの次に設定されている記憶エリアが更新後における転送先の記憶エリアとなる態様で行われる。これにより、開始時コマンドを受信した場合には当該開始時コマンドからゲームの開始時に演出側MPU92にて使用されるデータを抽出して変換後開始時コマンドに設定することができるとともに、終了時コマンドを受信した場合には当該終了時コマンドからゲームの終了時に演出側MPU92にて使用されるデータを抽出して変換後終了時コマンドに設定することができる。
演出側MPU92は主側MPU72から受信した開始時コマンドを変換後開始時コマンドに変換するとともに、当該変換後開始時コマンドに基づいて今回開始されたゲームの演出を実行するための処理を実行する。変換後開始時コマンドには、主側RAM74におけるAT継続カウンタ74u、ベット数設定カウンタ74b、停止順種別カウンタ74m及び遊技状態エリア77のデータが設定されている。開始時コマンドを受信した場合にこれらAT継続カウンタ74u、ベット数設定カウンタ74b、停止順種別カウンタ74m及び遊技状態エリア77のデータを利用可能となる構成であることにより、これらAT継続カウンタ74u、ベット数設定カウンタ74b、停止順種別カウンタ74m及び遊技状態エリア77のデータを2つ以上のコマンドで受信する構成と比較して、主側MPU72から演出側MPU92へのコマンドの送信回数を低減することができる。これにより、主側MPU72が演出側MPU92にコマンドを送信するための処理負荷を軽減することができるとともに、演出側MPU92が主側MPU72から受信したコマンドに対応する処理を実行する場合の処理負荷を軽減することができる。
演出側MPU92は主側MPU72から受信した終了時コマンドを変換後終了時コマンドに変換するとともに、当該変換後終了時コマンドに基づいて演出を実行するための処理を実行する。変換後終了時コマンドには、主側RAM74における継続ゲーム数カウンタ74r、合計獲得数カウンタ74s、遊技状態エリア77、遊技区間エリア76、疑似ボーナス継続カウンタ74t及び付与数カウンタ74eのデータが設定されている。終了時コマンドを受信した場合にこれら継続ゲーム数カウンタ74r、合計獲得数カウンタ74s、遊技状態エリア77、遊技区間エリア76、疑似ボーナス継続カウンタ74t及び付与数カウンタ74eのデータを利用可能となる構成であることにより、これら継続ゲーム数カウンタ74r、合計獲得数カウンタ74s、遊技状態エリア77、遊技区間エリア76、疑似ボーナス継続カウンタ74t及び付与数カウンタ74eのデータを2つ以上のコマンドで受信する構成と比較して、主側MPU72から演出側MPU92へのコマンドの送信回数を低減することができる。これにより、主側MPU72が演出側MPU92にコマンドを送信するための処理負荷を軽減することができるとともに、演出側MPU92が主側MPU72から受信したコマンドに対応する処理を実行する場合の処理負荷を軽減することができる。
JRS命令には、参照するフラグが所定の状態であること(ジャンプフラグJFの値が「1」である状態であること、又はジャンプフラグJFの値が「0」である状態であること)を条件としてジャンプする条件付きジャンプのみが用意されており、フラグの状態を参照することなく無条件でジャンプする無条件ジャンプは用意されていない。電源遮断待機処理(図62(b))の行番号「1002」に設定されているJRS命令はジャンプフラグJFの値が「0」であることを条件として行番号「1001」のプログラムアドレスにジャンプする条件付きジャンプ命令であるが、電源遮断待機処理では行番号「1001」の「OUT (WDTCLR0),18H」というOUT命令が実行された後にジャンプフラグJFの値が必ず「0」となる。このため、語長の短い条件付きジャンプ命令であるJRS命令を利用する構成としながら、行番号「1001」~行番号「1002」に設定されている命令が繰り返し実行されるようにすることができる。
電源遮断待機処理(図62(b))では、行番号「1002」のプログラムアドレス(「ADR102」)から行番号「1001」のプログラムアドレス(「ADR101」)にジャンプするための命令として、語長が1バイトであるJRS命令が設定されている。このため、行番号「1002」のプログラムアドレスから行番号「1001」のプログラムアドレスにジャンプするための命令として語長が2バイトであるJR命令又は語長が3バイトであるJP命令が設定されている構成と比較して、電源遮断待機処理のプログラムのデータ容量を低減することができる。
語長1バイトのJRS命令には、ジャンプフラグJFの値が「1」及び「0」のいずれか一方であることを条件としてジャンプ先のプログラムアドレスにジャンプする条件付きのジャンプ命令しか用意されていない。AT状態信号設定処理(図64(a))では、行番号「1109」にて「XOR A,A」という命令が実行されることによりゼロフラグZFの値が「1」となるとともにジャンプフラグJFの値が「1」となる。その後、ジャンプフラグJFの値が「1」となっている状態において行番号「1109」の次の行番号「1110」にて「JRS 1,ADR114」という命令を実行することにより、行番号「1110」から「ADR114」という行番号「1116」のプログラムアドレスに確実にジャンプすることができる。行番号「1109」に設定されている「XOR A,A」という命令は、ジャンプ先の行番号「1116」にてAT状態信号カウンタ74wにセットされるAレジスタ101bのデータを「0」クリアするための命令である。そして、行番号「1109」に設定されている「XOR A,A」という命令は、行番号「1110」にて語長1バイトのJRS命令を利用して「ADR114」という行番号「1116」のプログラムアドレスに確実にジャンプすることを可能とする命令でもある。これら2つの役割が行番号「1109」のXOR命令に集約されていることによりAT状態信号設定処理を実行するためのプログラムのデータ容量が低減されている。
行番号「1110」のプログラムアドレスから行番号「1116」のプログラムアドレスに必ずジャンプさせるために、行番号「1110」に無条件ジャンプ命令であるJR命令又はJP命令を設定することも考えられるが、行番号「1110」に語長が2バイトであるJR命令又は語長が3バイトであるJP命令を設定すると、行番号「1110」から行番号「1116」にジャンプするためのジャンプ命令の語長が増大してしまう。AT状態信号設定処理(図64(a))では、連続する行番号「1109」及び行番号「1110」に「XOR A,A」という命令及び「JRS 1,ADR114」という命令が設定されている構成であることにより、行番号「1110」に設定されているジャンプ命令の語長を1バイトに抑えながら、行番号「1110」のプログラムアドレスから行番号「1116」のプログラムアドレスに必ずジャンプさせることが可能となっている。
抽選結果対応処理(図66)は、インデックス値カウンタ74fのデータが設定されているAレジスタ101bの値に、1バイトの数値情報における最大値である「255」から判定対象範囲(「1」~「9」)の最大値である「9」を減算する演算により算出される値である「246」を加算する処理と、当該「246」を加算した後のAレジスタ101bに格納されている1バイトの数値情報が判定対象範囲の最小値である「1」に「246」を加算する演算により算出される値である「247」以上であるか否かを判定する処理と、を行う処理構成である。これにより、抽選結果対応処理の第1比較例(図67(a))のように、インデックス値カウンタ74fのデータが設定されているAレジスタ101bの値が判定対象範囲(「1」~「9」)の最小値である「1」以上であるか否かを判定する処理と、当該Aレジスタ101bの値が判定対象範囲の最大値である「9」以下であるか否かを判定する処理と、を行う処理構成と比較して、インデックス値カウンタ74fの値が判定対象範囲(「1」~「9」)に含まれているか否かを判定するためにプログラムに設定されている命令の語長の合計を小さくすることができる。よって、抽選結果対応処理(図66)を実行するために主側ROM73に記憶するプログラムのデータ容量を低減することができる。
インデックス値カウンタ74fのデータが設定されているAレジスタ101bの値に、1バイトの数値情報における最大値である「255」から判定対象範囲(「1」~「9」)の最大値である「9」を減算する演算により算出される値である「246」を加算する処理と、当該「246」を加算した後のAレジスタ101bに格納されている1バイトの数値情報が判定対象範囲の最小値である「1」に「246」を加算する演算により算出される値である「247」以上であるか否かを判定する処理と、を行う処理構成とすることにより、抽選結果対応処理の第1比較例(図67(a))のように、インデックス値カウンタ74fのデータが設定されているAレジスタ101bの値が判定対象範囲(「1」~「9」)の最小値である「1」以上であるか否かを判定する処理と、当該Aレジスタ101bの値が判定対象範囲の最大値である「9」以下であるか否かを判定する処理と、を行う処理構成と比較して、ジャンプ命令(JRS命令)の数を低減することができる。これにより、未使用プログラムのリスクを低減することができる。
抽選結果対応処理(図66)は、「ADR122」というプログラムアドレス及び「ADR125」というプログラムアドレスにジャンプフラグJFの値が「1」であることを条件としてジャンプするJRS命令を設定し、JRS命令を実行してもジャンプフラグJFの状態が変化しないことを利用して、行番号「1208」にてジャンプフラグJFの値が「1」であることを条件として語長1バイトのJRS命令により行番号「1215」のプログラムアドレスにジャンプし、当該ジャンプ先の行番号「1215」に設定されている語長1バイトのJRS命令により行番号「1218」のプログラムアドレスに確実にジャンプする処理構成である。これにより、抽選結果対応処理の第2比較例(図68(b))のように、行番号「1208」にてキャリーフラグCFに「1」がセットされていることを条件として語長2バイトのJR命令により行番号「1218」に直接ジャンプする処理構成と比較して、「ADR122」というプログラムアドレス及び「ADR125」というプログラムアドレスから「ADR126」というプログラムアドレスにジャンプするために設定するジャンプ命令の語長を低減することができる。よって、抽選結果対応処理(図66)を実行するために主側ROM73に記憶するプログラムのデータ容量を低減することができる。
開始時上乗せ用処理(図69(b))は、インデックス値カウンタ74fのデータが設定されているAレジスタ101bの値から、第1抽選対象範囲(「11」~「15」)の最小値である「11」を減算する処理と、当該「11」を減算した後のAレジスタ101bの値が第1抽選対象範囲の最大値である「15」から「11」を減算する演算により算出される値よりも「1」大きい値である「5」未満であるか否かを判定する処理と、を行う処理構成である。これにより、開始時上乗せ用処理の第1比較例(図70(a))のように、インデックス値カウンタ74fのデータが設定されているAレジスタ101bの値が第1抽選対象範囲の最小値である「11」以上であるか否かを判定する処理と、当該Aレジスタ101bの値が第1抽選対象範囲の最大値である「15」以下であるか否かを判定する処理と、を行う処理構成と比較して、インデックス値カウンタ74fの値が第1抽選対象範囲に含まれているか否かを判定するためにプログラムに設定される命令の語長の合計を小さくすることができる。よって、開始時上乗せ用処理(図69(b))を実行するために主側ROM73に記憶されるプログラムのデータ容量を低減することができる。
開始時上乗せ用処理(図69(b))は、インデックス値カウンタ74fのデータが設定されているAレジスタ101bの値から、第1抽選対象範囲(「11」~「15」)の最小値である「11」を減算する処理と、当該「11」を減算した後のAレジスタ101bの値が第1抽選対象範囲の最大値である「15」から「11」を減算する演算により算出される値よりも「1」大きい値である「5」未満であるか否かを判定する処理と、当該「11」を減算した後のAレジスタ101bの値が第2抽選対象範囲(「14」~「15」)の最小値である「14」から「11」を減算する演算により算出される値である「3」以上であるか否かを判定する処理と、を行う処理構成である。これにより、開始時上乗せ用処理の第1比較例(図70(a))のように、インデックス値カウンタ74fのデータが設定されているAレジスタ101bの値が第1抽選対象範囲(「11」~「15」)の最小値である「11」以上であるか否かを判定する処理と、当該Aレジスタ101bの値が第1抽選対象範囲の最大値である「15」以下であるか否かを判定する処理と、当該Aレジスタ101bの値が第2抽選対象範囲(「14」~「15」)の最小値である「14」以上であるか否かを判定する処理と、を行う処理構成と比較して、インデックス値カウンタ74fの値が「11」~「13」のいずれかである場合に参照対象の抽選テーブルとして第1上乗せ抽選テーブルを設定するとともにインデックス値カウンタ74fの値が「14」又は「15」である場合に参照対象の抽選テーブルとして第2上乗せ抽選テーブルを設定するためにプログラムに設定されている命令の語長の合計を小さくすることができる。これにより、開始時上乗せ用処理(図69(b))を実行するために主側ROM73に記憶されるプログラムのデータ容量を低減することができる。
インデックス値IVが第1抽選対象範囲に含まれていることを特定するためにインデックス値IVを「11」減算する演算が行われる構成において、インデックス値IVを「11」だけ小さい側に変動させた後の値を利用して変動前のインデックス値が第2抽選対象範囲に含まれていることを特定するための判定を行う。第1抽選対象範囲(「11」~「15」)を「11」だけ小さい側に変動させる演算(「11」減算する演算)を行った後に、当該演算後の値が、第2抽選対象範囲(「14」~「15」)の最小値(「14」)を「11」だけ小さい側に変動させた値である「3」以上であるか否かを判定する構成とすることにより、インデックス値IVが第2抽選対象範囲(「14」~「15」)に含まれているか否かを判定する場合における境界値を、第2抽選対象判定の最小値(「14」)よりも小さい値である「3」とすることができる。インデックス値IVを「11」だけ小さい側に変動させた値が「3」以上であるか否かを判定する場合における境界値(「3」)を表すために必要なビット数は「2」であり、当該ビット数は、変動前のインデックス値IVが第2抽選対象範囲の最小値である「14」以上であるか否かを判定する場合における境界値(「14」)を表すために必要なビット数(「4」)よりも小さい。これにより、インデックス値IVが第2抽選対象範囲に含まれていることを特定するために行われる判定における境界値を表すためのビット数を低減することができる。よって、当該境界値を記憶するためのデータ容量を低減することができる。
開始時上乗せ用処理(図69(b))は、行番号「1307」にてジャンプフラグJFの値が「1」であることを条件として語長1バイトのJRS命令により行番号「1309」にジャンプし、当該ジャンプ先の行番号「1309」に設定されているJP命令を利用して「ADR133」というプログラムアドレスにジャンプする処理構成である。これにより、開始時上乗せ用処理の第2比較例(図71(b))のように、行番号「1307」にてキャリーフラグCFに「1」がセットされていることを条件として語長3バイトのJP命令により「ADR133」というプログラムアドレスに直接ジャンプする処理構成と比較して、「ADR131」というプログラムアドレス及び「ADR132」というプログラムアドレスから「ADR133」というプログラムアドレスにジャンプするために設定するジャンプ命令の語長の合計を低減することができる。よって、開始時上乗せ用処理(図69(b))を実行するために主側ROM73に記憶されるプログラムのデータ容量を低減することができる。
開始時上乗せ用処理(図69(b))の行番号「1309」にて「JP ADR133」というJP命令を実行することにより解除ゲーム数抽選処理(図35(b))のステップS1802の処理を実行するための命令が設定されているプログラムアドレス(ADR133)にジャンプする処理構成であるとともに、解除ゲーム数抽選処理(図35(b))にてステップS1801の処理を実行した場合にサブルーチンのプログラムを呼び出すことなくステップS1802の処理を実行する処理構成である。このため、解除ゲーム数抽選処理(図35)及び開始時上乗せ用処理(図69(b))において抽選実行処理という共通のサブルーチンが呼び出される構成と比較して、解除ゲーム数抽選処理(図35)及び開始時上乗せ用処理(図69(b))を実行するために主側ROM73に記憶されるプログラムのデータ容量を低減することができる。
<第2の実施形態>
本実施形態では、主側MPU72が開始時コマンド又は終了時コマンドを送信待機バッファ112に設定する場合に、主側RAM74における転送対象範囲の開始アドレス及び終了アドレスを指定してデータを転送することが上記第1の実施形態と相違している。以下、上記第1の実施形態と相違する構成について説明する。なお、上記第1の実施形態と同一の構成については基本的にその説明を省略する。
図72(a)は本実施形態における主側RAM74の構成を説明するための説明図である。図72(a)に示すように、主側RAM74には終了位置カウンタ131が設けられている。終了位置カウンタ131は、後述する共通コマンド送信処理(図72(b))及び最上位集約処理(図73)における転送対象範囲の終了アドレス(2バイト)を主側MPU72にて把握可能とするカウンタである。終了位置カウンタ131は2バイトからなる。
上記第1の実施形態と同様に、共通コマンド送信処理(図72(b))における転送対象範囲は主側RAM74において連続する「0001H」~「000DH」のアドレス範囲であるとともに、最上位集約処理(図73)における転送対象範囲は主側RAM74において連続する「0001H」~「0006H」のアドレス範囲である。共通コマンド送信処理(図72(b))における転送対象範囲の終了アドレスは「000DH」であるとともに、最上位集約処理(図73)における転送対象範囲の終了アドレスは「0006H」である。
図72(b)は主側MPU72にて実行される共通コマンド送信処理を示すフローチャートである。上記第1の実施形態において既に説明したとおり、共通コマンド送信処理は、コマンド出力処理(図44)において主側RAM74の開始時コマンドフラグに「1」がセットされている場合(ステップS2707:YES)、又は主側RAM74の終了時コマンドフラグに「1」がセットされている場合(ステップS2708:YES)に、ステップS2709にて実行される。既に説明したとおり、開始時コマンドフラグにはゲームが開始される場合に抽選結果対応処理(図25)のステップS1107にて「1」がセットされるとともに、終了時コマンドフラグにはゲームが終了する場合に遊技終了時の対応処理(図32)のステップS1508にて「1」がセットされる。
共通コマンド送信処理では、まず最上位集約処理を実行する(ステップS4001)。図73は最上位集約処理を示すフローチャートである。
最上位集約処理では、ステップS4101~ステップS4104にて上記第1の実施形態における最上位集約処理(図51)のステップS2901~ステップS2904と同様の処理を実行する。具体的には、主側RAM74の転送先カウンタ115に主側RAM74における最上位集約用エリア74vのアドレスを設定する(ステップS4101)。これにより、転送先の記憶エリアとして最上位集約用エリア74vを設定することができる。その後、最上位集約用エリア74vを「0」クリアし(ステップS4102)、主側RAM74におけるビット指定カウンタ117の値を「0」クリアする(ステップS4103)。これにより、転送先ビットとして最上位集約用エリア74vの第0ビットを設定することができる。その後、最上位集約処理(図73)における転送対象範囲(「0001H」~「0006H」)の開始アドレスである「0001H」を主側RAM74における転送元カウンタ116に設定する(ステップS4104)。これにより、転送元の記憶エリアとして「0001H」のアドレスに設定されているAT継続カウンタ74uの下位エリアを設定することができる。
その後、最上位集約処理(図73)における転送対象範囲(「0001H」~「0006H」)の終了アドレスである「0006H」を主側RAM74における終了位置カウンタ131に設定する(ステップS4105)。これにより、終了アドレスを主側MPU72にて把握可能とすることができる。その後、転送元の記憶エリアにおける最上位ビットのデータを転送先ビットに転送する(ステップS4106)。上記第1の実施形態において既に説明したとおり、主側MPU72は転送元カウンタ116に格納されているアドレスに基づいて転送元の記憶エリアを特定するとともに、転送先カウンタ115に格納されているアドレス及びビット指定カウンタ117の値に基づいて転送先ビットを特定する。
その後、転送元カウンタ116に設定されているアドレスがステップS4105にて終了位置カウンタ131に設定した終了アドレス(「0006H」)であるか否かを判定する(ステップS4107)。転送元カウンタ116に設定されているアドレスが終了アドレス(「0006H」)ではない場合(ステップS4107:NO)には、転送元カウンタ116の値を1加算することにより転送元の記憶エリアを更新する(ステップS4108)。ステップS4106~ステップS4109の処理はステップS4107にて肯定判定を行われるまで繰り返し実行される処理であり、ステップS4108では「0001H」→「0002H」→「0003H」→「0004H」→「0005H」→「0006H」の順番で、転送元の記憶エリアのアドレスを更新する。
その後、ビット指定カウンタ117の値を1加算することにより転送先ビットを更新する(ステップS4109)。ステップS4109では、最上位集約用エリア74vにおいて、第0ビット→第1ビット→第2ビット→第3ビット→第4ビット→第5ビットの順番で、転送先ビットを更新する。その後、ステップS4106に進み、ステップS4107にて肯定判定が行われるまで、ステップS4106~ステップS4109の処理を繰り返し実行する。これにより、転送対象範囲(「0001H」~「0006H」)に含まれている記憶エリアにおける最上位ビットのデータを最上位集約用エリア74vの第0~第5ビットに設定することができる。
このように、最上位集約処理(図73)では、転送対象範囲(「0001H」~「0006H」)の開始アドレス(「0001H」)及び終了アドレス(「0006H」)を設定し、転送元の記憶エリアのアドレスが終了アドレスとなるまで、転送元の記憶エリアにおける最上位ビットのデータを転送先ビットに転送する処理(ステップS4106の処理)、転送元の記憶エリアのアドレスを更新する処理(ステップS4108の処理)、及び転送先ビットを更新する処理(ステップS4109の処理)を繰り返し実行する。これにより、転送対象範囲の記憶エリアにおける最上位ビットのデータを最上位集約用エリア74vに設定するための処理構成を簡素化することができる。
共通コマンド送信処理(図72(b))の説明に戻り、ステップS4001にて最上位集約処理(図73)を実行した後、ステップS4002~ステップS4009では、上記第1の実施形態における共通コマンド送信処理(図50)のステップS2802~ステップS2809と同様の処理を実行する。具体的には、まず送信回路85における書き込みポインタ113(図45)の値を把握することにより送信待機バッファ112における書き込み先のエリアを把握する(ステップS4002)。その後、主側RAM74の開始時コマンドフラグに「1」がセットされている場合(ステップS4003:YES)、すなわちゲームの開始時である場合には、主側ROM73に記憶されている開始時コマンドに対応するヘッダHDのデータをステップS4002にて把握した書き込み先のエリアに設定し(ステップS4004)、開始時コマンドフラグを「0」クリアする(ステップS4005)。一方、開始時コマンドフラグに「1」がセットされていない場合(ステップS4003:NO)、すなわちゲームの終了時である場合には、主側ROM73に記憶されている終了時コマンドに対応するヘッダHDのデータをステップS4002にて把握した書き込み先のエリアに設定し(ステップS4006)、主側RAM74の終了時コマンドフラグを「0」クリアする(ステップS4007)。
ステップS4005又はステップS4007の処理を行った場合には、書き込みポインタ113の値を更新することにより送信待機バッファ112における書き込み先のエリアを更新する(ステップS4008)。ステップS4008では、書き込みポインタ113の値を1加算し、当該1加算後の書き込みポインタ113の値が最大値である「31」を超えた場合には当該書き込みポインタ113を「0」クリアする。その後、主側RAM74において、開始時コマンド又は終了時コマンドを送信する場合にデータを送信待機バッファ112に転送する対象となる転送対象範囲の開始アドレスを主側RAM74の転送元カウンタ116に設定する(ステップS4009)。既に説明したとおり、共通コマンド送信処理(図50)における転送対象範囲は「0001H」~「000DH」のアドレス範囲である。ステップS4009にて転送元カウンタ116に「0001H」のアドレスを設定することにより、AT継続カウンタ74uの下位エリアを転送元の記憶エリアに設定することができる。その後、主側RAM74における終了位置カウンタ131に終了アドレスとして「000DH」を設定する(ステップS4010)。「000DH」は転送対象範囲である「0001H」~「000DH」の最終アドレスである。
その後、送信待機バッファ112において書き込みポインタ113の値に対応する書き込み先のエリアに転送元の記憶エリアに格納されているデータを転送する(ステップS4011)。上記第1の実施形態において既に説明したとおり、主側MPU72は転送元カウンタ116に格納されているアドレスに基づいて転送元の記憶エリアを特定する。その後、当該書き込み先のエリアにおける最上位ビット(第7ビット)に「0」をセットする(ステップS4012)。これにより、開始時コマンド又は終了時コマンドにおける第2~第14フレームFR2~FR14の最上位ビットの値を「0」にすることができるとともに、ヘッダHDのデータが設定されている第1フレームFR1と当該第2~第14フレームFR2~FR14とを識別可能とすることができる。
その後、ステップS4008と同様に、書き込みポインタ113の値を更新する(ステップS4013)。その後、転送元カウンタ116のデータがステップS4010にて終了位置カウンタ131に設定した終了アドレス(「000DH」)であるか否かを判定し(ステップS4014)、転送元カウンタ116のデータが終了アドレスではない場合(ステップS4014:NO)には、転送元カウンタ116の値を1加算することにより転送元の記憶エリアを更新する(ステップS4015)。ステップS4011~ステップS4015の処理はステップS4014にて肯定判定が行われるまで繰り返し実行される処理であり、ステップS4015では、「0001H」→「0002H」→「0003H」→…→「000CH」→「000DH」の順番で、転送元エリアとなる記憶エリアのアドレスを更新する。
その後、ステップS4011に進み、ステップS4014にて肯定判定が行われるまで、ステップS4011~ステップS4015の処理を繰り返し実行する。これにより、転送対象範囲(「0001H」~「000DH」)に含まれている記憶エリアのデータを送信待機バッファ112に設定することができる。ステップS4014にて肯定判定を行った場合、すなわち転送対象範囲に含まれている記憶エリアに格納されているデータの送信待機バッファ112への転送が終了した場合には、送信待機バッファ112において書き込みポインタ113の値に対応する書き込み先のエリアに、主側ROM73に記憶されているフッタFTのデータを設定する(ステップS4016)。その後、ステップS4008及びステップS4013と同様に、書き込みポインタ113の値を更新することにより送信待機バッファ112における書き込み先のエリアを更新して(ステップS4017)、本共通コマンド送信処理を終了する。
このように、共通コマンド送信処理(図72(b))では、転送対象範囲(「0001H」~「000DH」)の開始アドレス(「0001H」)及び終了アドレス(「000DH」)を主側RAM74に設定し、転送元の記憶エリアのアドレスが終了アドレスとなるまで、転送元の記憶エリアに格納されているデータを送信待機バッファ112における書き込み先のエリアに転送する処理(ステップS4011の処理)、書き込み先のエリアを更新する処理(ステップS4013の処理)、及び転送元の記憶エリアのアドレスを更新する処理(ステップS4015の処理)を繰り返し実行する。これにより、転送対象範囲の記憶エリアに格納されているデータを送信待機バッファ112に設定するための処理構成を簡素化することができる。
以上詳述した本実施形態によれば、以下の優れた効果を奏する。
最上位集約処理(図73)における転送対象範囲は主側RAM74において連続するアドレス(「0001H」~「0006H」のアドレス)に設定されている。最上位集約処理(図73)では、転送対象範囲(「0001H」~「0006H」)の開始アドレス(「0001H」)及び終了アドレス(「0006H」)を設定し、転送元の記憶エリアのアドレスが終了アドレスとなるまで、転送元の記憶エリアにおける最上位ビットのデータを転送先ビットに転送する処理(ステップS4106の処理)、転送元の記憶エリアのアドレスを更新する処理(ステップS4108の処理)、及び転送先ビットを更新する処理(ステップS4109の処理)を繰り返し実行する。これにより、転送対象範囲の記憶エリアにおける最上位ビットのデータを最上位集約用エリア74vに設定するための処理構成を簡素化することができる。
共通コマンド送信処理(図72(b))における転送対象範囲は主側RAM74において連続するアドレス(「0001H」~「000DH」のアドレス)に設定されている。共通コマンド送信処理(図72(b))では、転送対象範囲(「0001H」~「000DH」)の開始アドレス(「0001H」)及び終了アドレス(「000DH」)を主側RAM74に設定し、転送元の記憶エリアのアドレスが終了アドレスとなるまで、転送元の記憶エリアに格納されているデータを送信待機バッファ112における書き込み先のエリアに転送する処理(ステップS4011の処理)、書き込み先のエリアを更新する処理(ステップS4013の処理)、及び転送元の記憶エリアのアドレスを更新する処理(ステップS4015の処理)を繰り返し実行する。これにより、転送対象範囲の記憶エリアに格納されているデータを送信待機バッファ112に設定するための処理構成を簡素化することができる。
<第3の実施形態>
本実施形態では、最上位ビットに格納されているデータが集約されるコマンドとして、開始時コマンド及び終了時コマンドに加えて、BB移行コマンドが存在していることが上記第1の実施形態と相違している。以下、上記第1の実施形態と相違する構成について説明する。なお、上記第1の実施形態と同一の構成については基本的にその説明を省略する。
遊技状態として、上記第1の実施形態において既に説明した通常遊技状態ST1、第1CB状態ST2、第2CB状態ST3、疑似ボーナス状態ST4、AT状態ST5及び終了準備状態ST6に加えて、第1BB状態及び第2BB状態が存在している。上記第1の実施形態において既に説明したとおり、主側ROM73には3枚ベット時の役抽選テーブル(図19)及び2枚ベット時の役抽選テーブル(図20)が記憶されている。本実施形態における3枚ベット時の役抽選テーブル及び2枚ベット時の役抽選テーブルには、上記第1の実施形態において既に説明した「1」~「17」のインデックス値IVに加えて、第1BB当選データが設定されている「18」のインデックス値IV及び第2BB当選データが設定されている「19」のインデックス値IVが設定されている。3枚ベット時の役抽選テーブルにおいて第1BB当選が発生する確率及び第2BB当選が発生する確率は、それぞれ約1/437であるとともに、2枚ベット時の役抽選テーブルにおいて第1BB当選が発生する確率及び第2BB当選が発生する確率は、それぞれ約1/437である。
役の抽選処理(図18)にて第1BB当選データが設定されているインデックス値IV(「18」)に当選した場合には当該第1BB当選データが主側RAM74に設定されるとともに、第2BB当選データが設定されているインデックス値IV(「19」)に当選した場合には当該第2BB当選データが主側RAM74に設定される。主側RAM74に第1BB当選データが設定されている状態において第1BB入賞が成立することにより遊技状態が第1BB状態に移行するとともに、主側RAM74に第2BB当選データが設定されている状態において第2BB入賞が成立することにより遊技状態が第2BB状態に移行する。主側RAM74に第1BB当選データが設定されている状態において第1BB入賞が成立することなくゲームが終了した場合、当該第1BB当選データは次以降のゲームに持ち越されるとともに、主側RAM74に第2BB当選データが設定されている状態において第2BB入賞が成立することなくゲームが終了した場合、当該第2BB当選データは次以降のゲームに持ち越される。主側RAM74に設定された第1BB当選データは、第1BB入賞が成立した場合又はメイン処理(図10)にて全部クリア処理(ステップS106)が実行された場合に「0」クリアされるとともに、主側RAM74に設定された第2BB当選データは、第2BB入賞が成立した場合又はメイン処理(図10)にて全部クリア処理(ステップS106)が実行された場合に「0」クリアされる。
第1BB状態又は第2BB状態では、遊技媒体のベット数が「3」である場合に1ゲームを実行することが可能である。第1BB状態又は第2BB状態である状況においては、1ゲームにおける遊技媒体の純増期待値が「0」よりも大きい値となる。第1BB状態は、当該第1BB状態における遊技媒体の払出枚数の合計が終了基準枚数である「300」に達した場合に終了するとともに、第2BB状態は、当該第2BB状態における遊技媒体の払出枚数の合計が終了基準枚数である「150」に達した場合に終了する。
上記第1の実施形態において図31(b)を参照しながら既に説明したとおり、主側RAM74には遊技状態エリア77が設けられている。本実施形態において、遊技状態エリア77の第6ビットには、BB状態フラグが設けられている。BB状態フラグは、遊技状態が第1BB状態又は第2BB状態であることを主側MPU72にて把握可能とするフラグである。BB状態フラグには第1BB状態又は第2BB状態に移行する場合に「1」がセットされるとともに、BB状態フラグは当該第1BB状態又は第2BB状態が終了する場合に「0」クリアされる。主側MPU72は、BB状態フラグに「1」がセットされていることに基づいて遊技状態が第1BB状態又は第2BB状態であることを把握する。上記第1の実施形態において既に説明したとおり、遊技状態エリア77に格納されているデータは、開始時コマンド及び終了時コマンドに設定される。演出側MPU92は、開始時コマンド及び終了時コマンドに設定されている遊技状態エリア77のデータに基づいて、遊技状態が第1BB状態又は第2BB状態であることを把握する。
図74(a)は本実施形態における主側RAM74の構成を説明するための説明図である。図74(a)に示すように、主側RAM74には、制限枚数カウンタ74x、間隔ゲーム数カウンタ74y、リプレイ成立回数カウンタ74z、チェリー成立回数カウンタ74α及びBB最上位集約用エリア74βが設けられている。これら制限枚数カウンタ74x、間隔ゲーム数カウンタ74y、リプレイ成立回数カウンタ74z、チェリー成立回数カウンタ74α及びBB最上位集約用エリア74βは、第1BB入賞又は第2BB入賞が成立した場合に主側MPU72から演出側MPU92に送信されるBB移行コマンドにデータが設定される記憶エリアである。なお、BB移行コマンドの詳細については後述する。
制限枚数カウンタ74xは、第1BB状態又は第2BB状態における遊技媒体の払出枚数の合計が終了基準枚数(第1BB状態であれば「300」、第2BB状態であれば「150」)に達したか否かを主側MPU72にて把握可能とするカウンタである。第1BB入賞が成立した場合には制限枚数カウンタ74xに「300」が設定されるとともに、第2BB入賞が成立した場合には制限枚数カウンタ74xに「150」が設定される。制限枚数カウンタ74xは2バイトからなる。図74(a)に示すように、主側RAM74における「0021H」のアドレスには、制限枚数カウンタ74xの下位エリア(下位1バイトのエリア)が設定されているとともに、「0022H」のアドレスには制限枚数カウンタ74xの上位エリア(上位1バイトのエリア)が設定されている。制限枚数カウンタ74xに「300」(2進数表記で「0000000100101100B」)が設定された場合、制限枚数カウンタ74xの下位エリア及び上位エリアにおける最上位ビットの値は「0」となる。また、制限枚数カウンタ74xに「150」(2進数表記で「0000000010010110B」)が設定された場合、制限枚数カウンタ74xの下位エリアにおける最上位ビットの値は「1」となるとともに、制限枚数カウンタ74xの上位エリアにおける最上位ビットの値は「0」となる。制限枚数カウンタ74xの下位エリアは最上位ビットに「1」がセットされ得る記憶エリアであるとともに、制限枚数カウンタ74xの上位エリアは最上位ビットに「1」がセットされない記憶エリアである。
間隔ゲーム数カウンタ74yは、BB状態(第1BB状態又は第2BB状態)ではない状態が継続している状況において実行されたゲーム数を主側MPU72にて把握可能とするカウンタである。間隔ゲーム数カウンタ74yは2バイトからなる。間隔ゲーム数カウンタ74yには「0」~「65535」のいずれかの数値情報が設定される。主側MPU72は、第1BB状態又は第2BB状態が終了したことに基づいて間隔ゲーム数カウンタ74yの値を「0」クリアするとともに、第1BB状態及び第2BB状態のいずれでもない遊技状態においてゲームが実行されたことに基づいて間隔ゲーム数カウンタ74yの値を1加算する。但し、第1BB状態及び第2BB状態のいずれでもない遊技状態であるとともに間隔ゲーム数カウンタ74yに最大値である「65535」が設定されている状態においてゲームが実行された場合には、間隔ゲーム数カウンタ74yに当該最大値(「65535」)が設定されている状態を維持する。間隔ゲーム数カウンタ74yでは「0」~「65535」(2進数表記で「1111111111111111B」)の数値範囲でゲーム数のカウントが行われるため、間隔ゲーム数カウンタ74yの下位エリア及び上位エリアは最上位ビットに「1」がセットされ得る記憶エリアである。
リプレイ成立回数カウンタ74zは、BB状態(第1BB状態又は第2BB状態)ではない状態が継続している状況において成立したリプレイ入賞の数を主側MPU72にて把握可能とするカウンタである。リプレイ成立回数カウンタ74zは2バイトからなる。リプレイ成立回数カウンタ74zには「0」~「65535」のいずれかの数値情報が設定される。主側MPU72は、第1BB状態又は第2BB状態が終了したことに基づいてリプレイ成立回数カウンタ74zの値を「0」クリアするとともに、第1BB状態及び第2BB状態のいずれでもない遊技状態において通常リプレイ入賞、第1チャンスリプレイ入賞又は第2チャンスリプレイ入賞が成立したことに基づいてリプレイ成立回数カウンタ74zの値を1加算する。但し、第1BB状態及び第2BB状態のいずれでもない遊技状態であるとともにリプレイ成立回数カウンタ74zに最大値である「65535」が設定されている状態において通常リプレイ入賞、第1チャンスリプレイ入賞又は第2チャンスリプレイ入賞が成立した場合には、リプレイ成立回数カウンタ74zに当該最大値(「65535」)が設定されている状態を維持する。リプレイ成立回数カウンタ74zでは「0」~「65535」(2進数表記で「1111111111111111B」)の数値範囲でリプレイ入賞の成立回数のカウントが行われるため、リプレイ成立回数カウンタ74zの下位エリア及び上位エリアは最上位ビットに「1」がセットされ得る記憶エリアである。
チェリー成立回数カウンタ74αは、BB状態(第1BB状態又は第2BB状態)ではない状態が継続している状況において成立したチェリー入賞の数を主側MPU72にて把握可能とするカウンタである。チェリー成立回数カウンタ74αは1バイトからなる。チェリー成立回数カウンタ74αには「0」~「255」のいずれかの数値情報が設定される。主側MPU72は、第1BB状態又は第2BB状態が終了したことに基づいてチェリー成立回数カウンタ74αの値を「0」クリアするとともに、第1BB状態及び第2BB状態のいずれでもない遊技状態においてチェリー入賞が成立したことに基づいてチェリー成立回数カウンタ74αの値を1加算する。但し、第1BB状態及び第2BB状態のいずれでもない遊技状態であるとともにチェリー成立回数カウンタ74αに最大値である「255」が設定されている状態においてチェリー入賞が成立した場合には、チェリー成立回数カウンタ74αに当該最大値(「255」)が設定されている状態を維持する。チェリー成立回数カウンタ74αの値は「128」(2進数表記で「0000000010000000B」)以上となることがあるため、チェリー成立回数カウンタ74αは最上位ビットに「1」がセットされ得る記憶エリアである。
BB最上位集約用エリア74βは、連続する「0021H」~「0027H」のアドレス範囲に設定されている制限枚数カウンタ74xの下位エリア及び上位エリア、間隔ゲーム数カウンタ74yの下位エリア及び上位エリア、リプレイ成立回数カウンタ74zの下位エリア及び上位エリア、並びにチェリー成立回数カウンタ74αの最上位ビット(第0~第7ビットにおける第7ビット)に格納されている「0」又は「1」のデータが集約される記憶エリアである。BB最上位集約用エリア74βは1バイトからなる。制限枚数カウンタ74xの下位エリアにおける最上位ビットのデータはBB最上位集約用エリア74βの第0ビットに設定され、制限枚数カウンタ74xの上位エリアにおける最上位ビットのデータはBB最上位集約用エリア74βの第1ビットに設定され、間隔ゲーム数カウンタ74yの下位エリアにおける最上位ビットのデータはBB最上位集約用エリア74βの第2ビットに設定され、間隔ゲーム数カウンタ74yの上位エリアにおける最上位ビットのデータはBB最上位集約用エリア74βの第3ビットに設定され、リプレイ成立回数カウンタ74zの下位エリアにおける最上位ビットのデータはBB最上位集約用エリア74βの第4ビットに設定され、リプレイ成立回数カウンタ74zの上位エリアにおける最上位ビットのデータはBB最上位集約用エリア74βの第5ビットに設定され、チェリー成立回数カウンタ74αにおける最上位ビットのデータはBB最上位集約用エリア74βの第6ビットに設定される。BB最上位集約用エリア74βの最上位ビット(第7ビット)の値は常に「0」であり、BB最上位集約用エリア74βは最上位ビットに「1」がセットされない記憶エリアである。
BB最上位集約用エリア74βは、「0021H」~「0027H」のアドレス範囲に連続する「0028H」のアドレスに設定されている。主側RAM74においてBB移行コマンドにデータが設定される対象となる記憶エリアが連続する「0021H」~「0028H」のアドレス範囲に設定されている構成であることにより、主側RAM74の記憶エリアに格納されているデータをBB移行コマンドに設定するための処理構成を簡素化することが可能となっている。
上述したとおり、第1BB入賞又は第2BB入賞が成立した場合、主側MPU72はBB移行コマンドを演出側MPU92に送信する。BB移行コマンドは、第1BB状態又は第2BB状態が開始されることを演出側MPU92に把握させるためのコマンドである。上述したとおり、BB移行コマンドには、制限枚数カウンタ74x、間隔ゲーム数カウンタ74y、リプレイ成立回数カウンタ74z、チェリー成立回数カウンタ74α及びBB最上位集約用エリア74βに格納されているデータが設定されている。演出側MPU92は、主側MPU72から受信したBB移行コマンドに基づいて制限枚数カウンタ74xの値が「300」であることを把握した場合には第1BB状態の開始演出が実行されるように、上部ランプ61の発光制御、スピーカ62の音出力制御、及び画像表示装置63の表示制御を実行するとともに、主側MPU72から受信したBB移行コマンドに基づいて制限枚数カウンタ74xの値が「150」であることを把握した場合には第2BB状態の開始演出が実行されるように、上部ランプ61の発光制御、スピーカ62の音出力制御、及び画像表示装置63の表示制御を実行する。
演出側ROM93には、第1BB状態の開始演出において上部ランプ61の発光制御を実行するための発光データテーブルが2種類記憶されており、第1BB状態の開始演出においてスピーカ62の音出力制御を実行するための音データテーブルが2種類記憶されており、第1BB状態の開始演出において画像表示装置63の表示制御を実行するための画像データテーブルが2種類記憶されている。演出側MPU92は、第1BB状態の開始演出を実行する場合、BB移行コマンドに設定されている間隔ゲーム数カウンタ74yのデータを利用して発光データテーブルを選択し、BB移行コマンドに設定されているリプレイ成立回数カウンタ74zのデータを利用して音データテーブルを選択し、BB移行コマンドに設定されているチェリー成立回数カウンタ74αのデータを利用して画像データテーブルを選択する。そして、選択した発光データテーブル、音データテーブル及び画像データテーブルに基づいて、上部ランプ61、スピーカ62及び画像表示装置63にて第1BB状態の開始演出を実行する。これにより、間隔ゲーム数カウンタ74yの値、リプレイ成立回数カウンタ74zの値及びチェリー成立回数カウンタ74αの値に対応する態様で、第1BB状態の開始演出を実行することができる。
演出側ROM93には、第2BB状態の開始演出において上部ランプ61の発光制御を実行するための発光データテーブルが2種類記憶されており、第2BB状態の開始演出においてスピーカ62の音出力制御を実行するための音データテーブルが2種類記憶されており、第2BB状態の開始演出において画像表示装置63の表示制御を実行するための画像データテーブルが2種類記憶されている。演出側MPU92は、第2BB状態の開始演出を実行する場合、BB移行コマンドに設定されている間隔ゲーム数カウンタ74yのデータを利用して発光データテーブルを選択し、BB移行コマンドに設定されているリプレイ成立回数カウンタ74zのデータを利用して音データテーブルを選択し、BB移行コマンドに設定されているチェリー成立回数カウンタ74αのデータを利用して画像データテーブルを選択する。そして、選択した発光データテーブル、音データテーブル及び画像データテーブルに基づいて、上部ランプ61、スピーカ62及び画像表示装置63にて第2BB状態の開始演出を実行する。これにより、間隔ゲーム数カウンタ74yの値、リプレイ成立回数カウンタ74zの値及びチェリー成立回数カウンタ74αの値に対応する態様で、第2BB状態の開始演出を実行することができる。
BB移行コマンドが送信される場合、主側RAM74における「0021H」~「0027H」のアドレス範囲に設定されている記憶エリアの最上位ビットに格納されているデータがBB最上位集約用エリア74βに設定されるとともに、主側RAM74における「0021H」~「0028H」のアドレス範囲に設定されている記憶エリアに格納されているデータが送信待機バッファ112に設定される。また、上記第1の実施形態において既に説明したとおり、開始時コマンド又は終了時コマンドが送信される場合、主側RAM74における「0001H」~「0006H」のアドレス範囲に設定されている記憶エリアの最上位ビットに格納されているデータが最上位集約用エリア74vに設定されるとともに、主側RAM74における「0001H」~「000DH」のアドレス範囲に設定されている記憶エリアに格納されているデータが送信待機バッファ112に設定される。
開始時コマンド、終了時コマンド及びBB移行コマンドは、後述する共通コマンド送信処理(図74(b))が実行されることにより演出側MPU92に送信される。共通コマンド送信処理は、タイマ割込み処理(図11)のステップS211におけるコマンド出力処理において、主側RAM74の開始時コマンドフラグに「1」がセットされている場合、主側RAM74の終了時コマンドフラグに「1」がセットされている場合、又は主側RAM74に設けられたBB移行コマンドフラグに「1」がセットされている場合に実行される。BB移行コマンドフラグは、第1BB状態又は第2BB状態への移行が発生したことを主側MPU72にて把握可能とするフラグである。BB移行コマンドフラグには、第1BB状態又は第2BB状態への移行条件が成立した場合に「1」がセットされる。
第1BB入賞又は第2BB入賞が成立するゲームにおいて、開始時コマンドフラグに「1」がセットされてからBB移行コマンドフラグに「1」がセットされるまでの期間は、リール32L,32M,32Rの加速期間(具体的には0.3秒)よりも長い期間である。また、リール32L,32M,32Rの加速期間は、タイマ割込み処理(図11)の割込み周期(1.49ミリ秒)よりも長い期間である。当該ゲームでは、共通コマンド送信処理にて開始時コマンドを送信するための処理が実行された後にBB移行コマンドフラグに「1」がセットされるため、開始時コマンドフラグ及びBB移行コマンドフラグの両方に「1」がセットされている状態で共通コマンド送信処理が実行されることはない。
共通コマンド送信処理において、主側MPU72は、開始時コマンドフラグに「1」がセットされている場合に開始時コマンドを送信することを把握するとともに、BB移行コマンドフラグに「1」がセットされている場合にBB移行コマンドを送信することを把握する。また、主側MPU72は、BB移行コマンドフラグの値が「0」であるとともに終了時コマンドフラグに「1」がセットされている場合にBB移行コマンドを送信することを把握する。BB移行コマンドフラグ及び終了時コマンドフラグに「1」がセットされている状態で共通コマンド送信処理が実行される場合には、BB移行コマンドを送信するための処理が実行され、約1.49ミリ秒後に実行される次の共通コマンド送信処理にて終了時コマンドを送信するための処理が実行される。このように、第1BB入賞又は第2BB入賞が成立するゲームでは、開始時コマンド→BB移行コマンド→終了時コマンドの順番で、演出側MPU92へのコマンドの送信が行われる。
次に、主側MPU72にて実行される共通コマンド送信処理について図74(b)のフローチャートを参照しながら説明する。
共通コマンド送信処理では、ステップS4201~ステップS4202にて上記第1の実施形態における共通コマンド送信処理(図50)のステップS2801~ステップS2802と同様の処理を実行する。具体的には、まず最上位集約処理を実行する(ステップS4201)。図75は最上位集約処理を示すフローチャートである。
最上位集約処理では、転送先設定処理を実行する(ステップS4301)。転送先設定処理では、開始時コマンド又は終了時コマンドを送信する場合には、主側RAM74の転送先カウンタ115に主側RAM74における最上位集約用エリア74vのアドレスを設定する。これにより、転送先の記憶エリアとして最上位集約用エリア74vを設定することができる。また、BB移行コマンドを送信する場合には、転送先カウンタ115に主側RAM74におけるBB最上位集約用エリア74βのアドレスを設定する。これにより、転送先の記憶エリアとしてBB最上位集約用エリア74βを設定することができる。上述したとおり、主側MPU72は、開始時コマンドフラグに「1」がセットされている場合に開始時コマンドを送信することを把握するとともに、BB移行コマンドフラグに「1」がセットされている場合にBB移行コマンドを送信することを把握する。また、主側MPU72は、BB移行コマンドフラグの値が「0」であるとともに終了時コマンドフラグに「1」がセットされている場合にBB移行コマンドを送信することを把握する。
その後、転送先の記憶エリアを「0」クリアする(ステップS4302)。ステップS4302では、ステップS4301にて最上位集約用エリア74vを転送先の記憶エリアとして設定した場合には当該最上位集約用エリア74vを「0」クリアするとともに、ステップS4301にてBB最上位集約用エリア74βを転送先の記憶エリアとして設定した場合には当該BB最上位集約用エリア74βを「0」クリアする。その後、上記第1の実施形態における最上位集約処理(図51)のステップS2903と同様に、主側RAM74におけるビット指定カウンタ117の値を「0」クリアする(ステップS4303)。これにより、開始時コマンド又は終了時コマンドを送信する場合には転送先ビットとして最上位集約用エリア74vの第0ビットを設定することができるとともに、BB移行コマンドを送信する場合には転送先ビットとしてBB最上位集約用エリア74βの第0ビットを設定することができる。
その後、最上位集約用の開始アドレス設定処理を実行する(ステップS4304)。最上位集約用の開始アドレス設定処理では、最上位集約処理における転送対象範囲の開始アドレスを主側RAM74の転送元カウンタ116に設定する。具体的には、開始時コマンド又は終了時コマンドを送信する場合、最上位集約処理における転送対象範囲は「0001H」~「0006H」のアドレス範囲であり、当該転送対象範囲の開始アドレスである「0001H」を転送元カウンタ116に設定する。また、BB移行コマンドを送信する場合、最上位集約処理における転送対象範囲は「0021H」~「0027H」のアドレス範囲であり、当該転送対象範囲の開始アドレスである「0021H」を転送元カウンタ116に設定する。
その後、最上位集約用の転送回数設定処理を実行する(ステップS4305)。最上位集約用の転送回数設定処理では、開始時コマンド又は終了時コマンドを送信する場合、最上位集約処理における転送対象範囲(「0001H」~「0006H」)に含まれている記憶エリアの数である「6」を転送回数として転送回数カウンタ114に設定する。また、BB移行コマンドを送信する場合、最上位集約処理における転送対象範囲(「0021H」~「0027H」)に含まれている記憶エリアの数である「7」を転送回数として転送回数カウンタ114に設定する。
その後、ステップS4306~ステップS4310では、上記第1の実施形態における最上位集約処理(図51)のステップS2906~ステップS2910と同様の処理を実行する。具体的には、転送元の記憶エリアにおける最上位ビットのデータを転送先ビットに転送する(ステップS4306)。主側MPU72は、転送元カウンタ116に格納されているアドレスに基づいて転送元の記憶エリアを特定し、転送先カウンタ115に格納されているアドレス及びビット指定カウンタ117の値に基づいて転送先ビットを特定する。その後、転送回数カウンタ114の値を1減算し(ステップS4307)、当該1減算後の転送回数カウンタ114の値が「0」であるか否かを判定する(ステップS4308)。
ステップS4308にて否定判定を行った場合には、転送元カウンタ116の値を1加算することにより転送元の記憶エリアのアドレスを更新する(ステップS4309)。ステップS4306~ステップS4310の処理は、ステップS4308にて肯定判定が行われるまで繰り返し実行される。ステップS4309では、開始時コマンド又は終了時コマンドを送信する場合、「0001H」→「0002H」→…→「0005H」→「0006H」の順番で、転送元の記憶エリアのアドレスが更新される。また、BB移行コマンドを送信する場合、「0021H」→「0022H」→…→「0026H」→「0027H」の順番で、転送元の記憶エリアのアドレスが更新される。
その後、主側RAM74におけるビット指定カウンタ117の値を1加算することにより転送先の記憶エリアにおける転送先ビットを更新する(ステップS4310)。ステップS4310では、開始時コマンド又は終了時コマンドを送信する場合、第0ビット→第1ビット→…→第4ビット→第5ビットの順番で、最上位集約用エリア74vにおける転送先ビットが更新される。また、BB移行コマンドを送信する場合、第0ビット→第1ビット→…→第5ビット→第6ビットの順番で、BB最上位集約用エリア74βにおける転送先ビットが更新される。
その後、ステップS4306に進み、ステップS4308にて肯定判定が行われるまで、ステップS4306~ステップS4310の処理を繰り返し実行する。これにより、開始時コマンド又は終了時コマンドを送信する場合には「0001H」~「0006H」のアドレス範囲に含まれている6つの記憶エリアの最上位ビットに格納されているデータを最上位集約用エリア74vの第0~第5ビットに設定することができるとともに、BB移行コマンドを送信する場合には「0021H」~「0027H」のアドレス範囲に含まれている7つの記憶エリアの最上位ビットに格納されているデータをBB最上位集約用エリア74βの第0~第6ビットに設定することができる。ステップS4308にて肯定判定を行った場合には、本最上位集約処理を終了する。
このように、最上位ビットに格納されているデータが集約されるコマンドとして、開始時コマンド及び終了時コマンドと、当該開始時コマンド及び終了時コマンドとは最上位ビットに格納されているデータの集約が行われる対象となるアドレス範囲(最上位集約処理における転送対象範囲)が異なるBB移行コマンドとが存在している構成において、送信対象となるコマンドの種類に応じて最上位集約処理における転送対象範囲の開始アドレス及び転送回数の情報を変動させることにより、共通の最上位集約処理を利用して、開始時コマンド又は終了時コマンドを送信する場合には「0001H」~「0006H」のアドレス範囲に設定されている記憶エリアの最上位ビットに格納されているデータを最上位集約用エリア74vに集約することができるとともに、BB移行コマンドを送信する場合には「0021H」~「0027H」のアドレス範囲に設定されている記憶エリアの最上位ビットに格納されているデータをBB最上位集約用エリア74βに集約することができる。このため、開始時コマンド又は終了時コマンドを送信する場合に最上位ビットに格納されているデータを集約する処理とは別の処理として、BB移行コマンドを送信する場合に最上位ビットに格納されているデータを集約する処理が設けられている構成と比較して、最上位ビットに格納されているデータを集約する処理を実行するために主側ROM73に記憶されるプログラムのデータ容量を低減することができる。
開始時コマンド又は終了時コマンドを送信する場合、最上位集約処理における転送対象範囲は、主側RAM74において連続する「0001H」~「0006H」のアドレス範囲である。また、BB移行コマンドを送信する場合、最上位集約処理における転送対象範囲は、主側RAM74において連続する「0021H」~「0027H」のアドレス範囲である。主側RAM74における転送元カウンタ116の値を1加算する処理(ステップS4309の処理)を繰り返し実行することにより転送元の記憶エリアを順次更新することができる。これにより、転送元の記憶エリアを順次更新するための処理構成が簡素化されている。
最上位集約処理における転送対象範囲が主側RAM74において連続するアドレス範囲であることにより、ステップS4304にて転送元カウンタ116に当該転送対象範囲の開始アドレスをセットするとともに、ステップS4305にて転送回数カウンタ114に転送回数の情報をセットすることにより当該転送対象範囲を指定することができる。これにより、最上位集約処理における転送対象範囲を指定するための処理構成が簡素化されている。
共通コマンド送信処理(図74(b))の説明に戻り、ステップS4201にて最上位集約処理を実行した後は、送信回路85における書き込みポインタ113の値を把握することにより送信待機バッファ112における書き込み先のエリアを把握し(ステップS4202)、ヘッダ設定処理を実行する(ステップS4203)。ヘッダ設定処理では、開始時コマンドフラグに「1」がセットされている場合、主側ROM73に記憶されている開始時コマンドに対応するヘッダHDのデータをステップS4202にて把握した書き込み先のエリアに設定する。また、BB移行コマンドフラグに「1」がセットされている場合、主側ROM73に記憶されているBB移行コマンドに対応するヘッダHDのデータをステップS4202にて把握した書き込み先のエリアに設定する。さらにまた、BB移行コマンドフラグの値が「0」であるとともに終了時コマンドフラグに「1」がセットされている場合、主側ROM73に記憶されている終了時コマンドに対応するヘッダHDのデータをステップS4202にて把握した書き込み先のエリアに設定する。
その後、上記第1の実施形態における共通コマンド送信処理(図50)のステップS2808と同様に、書き込みポインタ113の値を更新することにより送信待機バッファ112における書き込み先のエリアを更新する(ステップS4204)。ステップS4204、後述するステップS4209及び後述するステップS4214では、書き込みポインタ113の値を1加算し、当該1加算後の書き込みポインタ113の値が最大値である「31」を超えた場合には当該書き込みポインタ113を「0」クリアする。
その後、開始アドレス設定処理を実行する(ステップS4205)。開始アドレス設定処理では、開始時コマンド又は終了時コマンドを送信する場合には、共通コマンド送信処理における転送対象範囲(「0001H」~「000DH」)の開始アドレスである「0001H」を主側RAM74の転送元カウンタ116に設定するとともに、BB移行コマンドを送信する場合には、共通コマンド送信処理における転送対象範囲(「0021H」~「0028H」)の開始アドレスである「0021H」を主側RAM74の転送元カウンタ116に設定する。
その後、転送回数設定処理を実行する(ステップS4206)。転送回数設定処理では、開始時コマンド又は終了時コマンドを送信する場合には、共通コマンド送信処理における転送対象範囲(「0001H」~「000DH」)に含まれている記憶エリアの数である「13」を転送回数として主側RAM74の転送回数カウンタ114に設定するとともに、BB移行コマンドを送信する場合には、共通コマンド送信処理における転送対象範囲(「0021H」~「0028H」)に含まれている記憶エリアの数である「8」を転送回数として転送回数カウンタ114に設定する。
その後、ステップS4207~ステップS4214では、上記第1の実施形態における共通コマンド送信処理(図50)のステップS2811~ステップS2818と同様の処理を実行する。具体的には、書き込みポインタ113の値に対応する送信待機バッファ112の書き込み先のエリアを把握するとともに、転送元カウンタ116に設定されているアドレスに基づいて転送元の記憶エリアを把握し、当該転送元の記憶エリアのデータを当該書き込み先のエリアに転送する(ステップS4207)。その後、当該書き込み先のエリアにおける最上位ビット(第7ビット)に「0」をセットする(ステップS4208)。これにより、開始時コマンド又は終了時コマンドを送信する場合には、当該開始時コマンド又は終了時コマンドの第2~第14フレームFR2~FR14における最上位ビットの値を「0」にすることができるとともに、最上位ビットの値に基づいてヘッダHDと第2~第14フレームFR2~FR14とを識別可能とすることができる。また、BB移行コマンドを送信する場合には、当該BB移行コマンドの第2~第9フレームFR2~FR9における最上位ビットの値を「0」にすることができるとともに、最上位ビットの値に基づいてヘッダHDと第2~第9フレームFR2~FR9とを識別可能とすることができる。
その後、ステップS4204と同様に、書き込みポインタ113の値を更新し(ステップS4209)、転送回数カウンタ114の値を1減算する(ステップS4210)。そして、当該1減算後の転送回数カウンタ114の値が「0」であるか否かを判定する(ステップS4211)。ステップS4211にて否定判定を行った場合、すなわち転送対象範囲に含まれている1バイトの記憶エリアに格納されているデータの送信待機バッファ112への転送が終了していない場合には、転送元カウンタ116の値を1加算することにより転送元の記憶エリアのアドレスを更新する(ステップS4212)。ステップS4207~ステップS4212の処理はステップS4211にて肯定判定が行われるまで繰り返し実行される。ステップS4212では、開始時コマンド又は終了時コマンドを送信する場合には、「0001H」→「0002H」→「0003H」→…→「000CH」→「000DH」の順番で、転送元エリアとなる記憶エリアのアドレスを更新するとともに、BB移行コマンドを送信する場合には、「0021H」→「0022H」→「0023H」→…→「0027H」→「0028H」の順番で、転送元エリアとなる記憶エリアのアドレスを更新する。
その後、ステップS4207に進み、ステップS4211にて肯定判定が行われるまで、ステップS4207~ステップS4212の処理を繰り返し実行する。これにより、開始時コマンド又は終了時コマンドを送信する場合には「0001H」~「000DH」のアドレス範囲に含まれている14個の記憶エリアに格納されているデータを送信待機バッファ112に設定することができるとともに、BB移行コマンドを送信する場合には「0021H」~「0028H」のアドレス範囲に含まれている8個の記憶エリアに格納されているデータを送信待機バッファ112に設定することができる。
ステップS4211にて肯定判定を行った場合には、送信待機バッファ112において書き込みポインタ113の値に対応する書き込み先のエリアに、主側ROM73に記憶されているフッタFTのデータを設定し(ステップS4213)、ステップS4204及びステップS4209と同様に、書き込みポインタ113の値を更新することにより送信待機バッファ112における書き込み先のエリアを更新する(ステップS4214)。
その後、コマンドフラグのクリア処理を実行して(ステップS4215)、本共通コマンド送信処理を終了する。ステップS4215におけるコマンドフラグのクリア処理では、開始時コマンドフラグに「1」がセットされている場合には当該開始時コマンドフラグを「0」クリアする。また、BB移行コマンドフラグに「1」がセットされている場合には当該BB移行コマンドフラグを「0」クリアする。さらにまた、BB移行コマンドの値が「0」であるとともに終了時コマンドフラグに「1」がセットされている場合、終了時コマンドフラグを「0」クリアする。コマンドフラグのクリア処理(ステップS4215)では、BB移行コマンドフラグ及び終了時コマンドフラグに「1」がセットされている場合に「0」クリアされるコマンドフラグはBB移行コマンドフラグのみであり、終了時コマンドフラグに「1」がセットされている状態は維持される。これにより、約1.49ミリ秒後に実行される次の共通コマンド送信処理において終了時コマンドを送信するための処理を実行することができる。
このように、開始時コマンド及び終了時コマンドと、当該開始時コマンド及び終了時コマンドとは主側RAM74においてコマンドにデータを設定する対象となるアドレス範囲(共通コマンド送信処理における転送対象範囲)が異なるBB移行コマンドとが存在している構成において、送信対象となるコマンドの種類に応じて共通コマンド送信処理における転送対象範囲の開始アドレス及び転送回数の情報を変動させることにより、共通の共通コマンド送信処理を利用して、開始時コマンド又は終了時コマンドを送信する場合には「0001H」~「000DH」のアドレス範囲に設定されている記憶エリアに格納されているデータを送信待機バッファ112に設定することができるとともに、BB移行コマンドを送信する場合には「0021H」~「0028H」のアドレス範囲に設定されている記憶エリアに格納されているデータを送信待機バッファ112に設定することができる。このため、開始時コマンド又は終了時コマンドを送信する場合に送信待機バッファ112に主側RAM74のデータを設定する処理とは別の処理として、BB移行コマンドを送信する場合に送信待機バッファ112に主側RAM74のデータを設定する処理が設けられている構成と比較して、送信待機バッファ112に主側RAM74のデータを設定する処理を実行するために主側ROM73に記憶されるプログラムのデータ容量を低減することができる。
開始時コマンド又は終了時コマンドを送信する場合、共通コマンド送信処理における転送対象範囲は、主側RAM74において連続する「0001H」~「000DH」のアドレス範囲である。また、BB移行コマンドを送信する場合、共通コマンド送信処理における転送対象範囲は、主側RAM74において連続する「0021H」~「0028H」のアドレス範囲である。共通コマンド送信処理における転送対象範囲が主側RAM74において連続するアドレス範囲であるため、主側RAM74における転送元カウンタ116の値を1加算する処理(ステップS4212の処理)を繰り返し実行することにより転送元の記憶エリアを順次更新することができる。これにより、転送元の記憶エリアを順次更新するための処理構成が簡素化されている。
共通コマンド送信処理における転送対象範囲が主側RAM74において連続するアドレス範囲であることにより、ステップS4205にて転送元カウンタ116に当該転送対象範囲の開始アドレスをセットするとともに、ステップS4206にて転送回数カウンタ114に転送回数の情報をセットすることにより当該転送対象範囲を指定することができる。これにより、共通コマンド送信処理における転送対象範囲を指定するための処理構成が簡素化されている。
以上詳述した本実施形態によれば、以下の優れた効果を奏する。
最上位ビットに格納されているデータが集約されるコマンドとして、開始時コマンド及び終了時コマンドと、当該開始時コマンド及び終了時コマンドとは最上位ビットに格納されているデータの集約が行われる対象となるアドレス範囲(最上位集約処理における転送対象範囲)が異なるBB移行コマンドとが存在している構成において、送信対象となるコマンドの種類に応じて最上位集約処理における転送対象範囲の開始アドレス及び転送回数の情報を変動させることにより、共通の最上位集約処理を利用して、開始時コマンド又は終了時コマンドを送信する場合には「0001H」~「0006H」のアドレス範囲に設定されている記憶エリアの最上位ビットに格納されているデータを最上位集約用エリア74vに集約することができるとともに、BB移行コマンドを送信する場合には「0021H」~「0027H」のアドレス範囲に設定されている記憶エリアの最上位ビットに格納されているデータをBB最上位集約用エリア74βに集約することができる。このため、開始時コマンド又は終了時コマンドを送信する場合に最上位ビットに格納されているデータを集約する処理とは別の処理として、BB移行コマンドを送信する場合に最上位ビットに格納されているデータを集約する処理が設けられている構成と比較して、最上位ビットに格納されているデータを集約する処理を実行するために主側ROM73に記憶されるプログラムのデータ容量を低減することができる。
開始時コマンド及び終了時コマンドと、当該開始時コマンド及び終了時コマンドとは主側RAM74においてコマンドにデータを設定する対象となるアドレス範囲(共通コマンド送信処理における転送対象範囲)が異なるBB移行コマンドとが存在している構成において、送信対象となるコマンドの種類に応じて共通コマンド送信処理における転送対象範囲の開始アドレス及び転送回数の情報を変動させることにより、共通の共通コマンド送信処理を利用して、開始時コマンド又は終了時コマンドを送信する場合には「0001H」~「000DH」のアドレス範囲に設定されている記憶エリアに格納されているデータを送信待機バッファ112に設定することができるとともに、BB移行コマンドを送信する場合には「0021H」~「0028H」のアドレス範囲に設定されている記憶エリアに格納されているデータを送信待機バッファ112に設定することができる。このため、開始時コマンド又は終了時コマンドを送信する場合に送信待機バッファ112に主側RAM74のデータを設定する処理とは別の処理として、BB移行コマンドを送信する場合に送信待機バッファ112に主側RAM74のデータを設定する処理が設けられている構成と比較して、送信待機バッファ112に主側RAM74のデータを設定する処理を実行するために主側ROM73に記憶されるプログラムのデータ容量を低減することができる。
<第4の実施形態>
本実施形態では、開始時コマンド及び終了時コマンドにデータを設定する対象となる主側RAM74の記憶エリアを主側ROM73に記憶されているデータテーブル(後述する共通データテーブル73f)を利用して把握することが上記第1の実施形態と相違している。以下、上記第1の実施形態と相違する構成について説明する。なお、上記第1の実施形態と同一の構成については基本的にその説明を省略する。
上記第1の実施形態において既に説明したとおり、開始時コマンド及び終了時コマンドには、主側RAM74における複数の記憶エリアに格納されているデータが設定される。本実施形態では、開始時コマンド及び終了時コマンドにデータが設定される対象となる記憶エリアの少なくとも一部は、主側RAM74において連続するアドレス範囲には設定されていない。図76は本実施形態における主側ROM73に記憶されている共通データテーブル73fを説明するための説明図である。共通データテーブル73fは、開始時コマンド及び終了時コマンドにデータを設定する対象となる主側RAM74の記憶エリアのアドレスを主側MPU72にて把握可能とするデータテーブルである。共通データテーブル73fは、開始時コマンド及び終了時コマンドを送信する際に参照される。
図76(a)に示すように、共通データテーブル73fは主側ROM73における「9101H」~「911AH」の連続するアドレス範囲に設定されている。主側ROM73には1バイトの記憶エリアが多数設定されており、当該1バイトの各記憶エリアには1対1で対応させて2バイトのアドレスが設定されている。主側ROM73における1バイトの記憶エリアは2バイトのアドレスで特定される。上記第1の実施形態において既に説明したとおり、主側RAM74には1バイトの記憶エリアが多数設定されており、当該1バイトの各記憶エリアには1対1で対応させて2バイトのアドレスが設定されている。主側RAM74における1バイトの記憶領域は2バイトのアドレスで特定される。
「9101H」~「9102H」のアドレスに対応する2バイトの記憶エリアにはAT継続カウンタ74uの下位エリアのアドレスが設定されており、「9103H」~「9104H」のアドレスに対応する2バイトの記憶エリアにはAT継続カウンタ74uの上位エリアのアドレスが設定されており、「9105H」~「9106H」のアドレスに対応する2バイトの記憶エリアには継続ゲーム数カウンタ74rの下位エリアのアドレスが設定されており、「9107H」~「9108H」のアドレスに対応する2バイトの記憶エリアには継続ゲーム数カウンタ74rの上位エリアのアドレスが設定されており、「9109H」~「910AH」のアドレスに対応する2バイトの記憶エリアには合計獲得数カウンタ74sの下位エリアのアドレスが設定されており、「910BH」~「910CH」のアドレスに対応する2バイトの記憶エリアには合計獲得数カウンタ74sの上位エリアのアドレスが設定されており、「910DH」~「910EH」のアドレスに対応する2バイトの記憶エリアには最上位集約用エリア74vのアドレスが設定されており、「910FH」~「9110H」のアドレスに対応する2バイトの記憶エリアにはベット数設定カウンタ74bのアドレスが設定されており、「9111H」~「9112H」のアドレスに対応する2バイトの記憶エリアには停止順種別カウンタ74mのアドレスが設定されており、「9113H」~「9114H」のアドレスに対応する2バイトの記憶エリアには遊技状態エリア77のアドレスが設定されており、「9115H」~「9116H」のアドレスに対応する2バイトの記憶エリアには遊技区間エリア76のアドレスが設定されており、「9117H」~「9118H」のアドレスに対応する2バイトの記憶エリアには疑似ボーナス継続カウンタ74tのアドレスが設定されており、「9119H」~「911AH」のアドレスに対応する2バイトの記憶エリアには付与数カウンタ74eのアドレスが設定されている。
主側ROM73において、開始時コマンド及び終了時コマンドにデータが設定される記憶エリアのアドレスが連続する「9101H」~「911AH」のアドレス範囲に設定されているため、これらの記憶エリアのデータを送信待機バッファ112に設定する場合にこれらの記憶エリアのアドレスを特定するための処理構成を簡素化することができる。
上記第1の実施形態と同様に、AT継続カウンタ74uの下位エリア及び上位エリア、継続ゲーム数カウンタ74rの下位エリア及び上位エリア、並びに合計獲得数カウンタ74sの下位エリア及び上位エリアにおける最上位ビットのデータは主側RAM74における最上位集約用エリア74vの第0~第5ビットに集約される。主側ROM73において、最上位ビットのデータが最上位集約用エリア74vに集約されるAT継続カウンタ74uの下位エリア及び上位エリア、継続ゲーム数カウンタ74rの下位エリア及び上位エリア、並びに合計獲得数カウンタ74sの下位エリア及び上位エリアのアドレスは、連続する「9101H」~「910CH」のアドレス範囲に設定されている。このため、これらの下位エリア及び上位エリアにおける最上位ビットのデータを最上位集約用エリア74vの第0~第5ビットに設定する場合にこれらの下位エリア及び上位エリアのアドレスを特定するための処理構成を簡素化することができる。
主側ROM73に記憶されているデータテーブル(共通データテーブル73f)を参照しながら開始時コマンドにデータを設定するとともに終了時コマンドにデータを設定する構成において、開始時コマンドにデータを設定する場合に参照するデータテーブルと、終了時コマンドにデータを設定する場合に参照するデータテーブルとが共通している。このため、開始時コマンド及び終了時コマンドにデータを設定する処理を行うために主側ROM73に記憶しておくデータテーブルのデータ容量低減することができる。
開始時コマンドにデータが設定される主側RAM74の記憶エリアは、終了時コマンドにデータが設定される主側RAM74の記憶エリアと同一である。これにより、開始時コマンドにデータを設定する場合に参照するデータテーブルと、終了時コマンドにデータを設定する場合に参照するデータテーブルとを共通のデータテーブル(共通データテーブル73f)とすることができる。
図76(b)は主側RAM74の構成を説明するための説明図である。図76(b)に示すように、主側RAM74には、転送元アドレスカウンタ132及び終了アドレスカウンタ133が設けられている。転送元アドレスカウンタ132は、主側RAM74における転送元の記憶エリアのアドレスが設定されている主側ROM73のアドレスを主側MPU72にて把握可能とするカウンタである。転送元アドレスカウンタ132は2バイトからなる。
終了アドレスカウンタ133は、後述する共通コマンド送信処理(図77)及び最上位集約処理(図78)において転送対象範囲の終了アドレスを主側MPU72にて把握可能とするカウンタである。共通コマンド送信処理(図77)における転送対象範囲は、共通データテーブル73fにおける「9101H」~「911AH」のアドレス範囲であり、当該転送対象範囲の終了アドレスは「9119H」である。上述したとおり、当該転送対象範囲の最後には付与数カウンタ74eが設定されており、「9119H」は当該付与数カウンタ74eのアドレスが設定されている「9119H」~「911AH」のアドレス範囲における先頭アドレスである。最上位集約処理(図78)における転送対象範囲は、共通データテーブル73fにおける「9101H」~「910CH」のアドレス範囲であり、当該転送対象範囲の終了アドレスは「910BH」である。上述したとおり、当該転送対象範囲の最後には合計獲得数カウンタ74sの上位エリアが設定されており、「910BH」は当該合計獲得数カウンタ74sの上位エリアのアドレスが設定されている「910BH」~「910CH」のアドレス範囲における先頭アドレスである。
次に、主側MPU72にて実行される共通コマンド送信処理について図77のフローチャートを参照しながら説明する。上記第1の実施形態において既に説明したとおり、共通コマンド送信処理は、コマンド出力処理(図44)において主側RAM74の開始時コマンドフラグに「1」がセットされている場合(ステップS2707:YES)、又は主側RAM74の終了時コマンドフラグに「1」がセットされている場合(ステップS2708:YES)に、ステップS2709にて実行される。既に説明したとおり、開始時コマンドフラグにはゲームが開始される場合に抽選結果対応処理(図25)のステップS1107にて「1」がセットされるとともに、終了時コマンドフラグにはゲームが終了する場合に遊技終了時の対応処理(図32)のステップS1508にて「1」がセットされる。
共通コマンド送信処理では、まず主側ROM73に記憶されている共通データテーブル73fを読み出す(ステップS4401)。その後、最上位集約処理を実行する(ステップS4402)。図78は主側MPU72にて実行される最上位集約処理を示すフローチャートである。
最上位集約処理では、まず主側RAM74の転送先カウンタ115に主側RAM74の最上位集約用エリア74vのアドレスを設定する(ステップS4501)。これにより、転送先の記憶エリアとして最上位集約用エリア74vを設定することができる。その後、最上位集約用エリア74vを「0」クリアし(ステップS4502)、主側RAM74におけるビット指定カウンタ117の値を「0」クリアする(ステップS4503)。これにより、転送先ビットとして最上位集約用エリア74vの第0ビットが設定されている状態とすることができる。
その後、最上位集約処理(図78)の転送対象範囲(「9101H」~「910CH」)の開始アドレスである「9101H」を転送元アドレスカウンタ132に設定する(ステップS4504)。これにより、共通データテーブル73fにおける「9101H」~「9102H」のアドレスに設定されているアドレスに基づいて、AT継続カウンタ74uの下位エリアを転送元の記憶エリアとして把握可能となる。その後、最上位集約処理(図78)の転送対象範囲(「9101H」~「910CH」)の終了アドレスである「910BH」を主側RAM74の終了アドレスカウンタ133に設定する(ステップS4505)。
その後、転送元の記憶エリアにおける最上位ビットのデータを転送先ビットに転送する(ステップS4506)。ステップS4506では、共通データテーブル73fにおいて転送元アドレスカウンタ132に設定されているアドレスに対応する記憶エリアのデータに基づいて主側RAM74における転送元の記憶エリアのアドレスを特定するとともに、転送先カウンタ115のデータ及びビット指定カウンタ117の値に基づいて転送先ビットを特定する。その後、転送元アドレスカウンタ132のデータがステップS4505にて終了アドレスカウンタ133に設定した終了アドレスであるか否かを判定する(ステップS4507)。
転送元アドレスカウンタ132のデータが終了アドレスではない場合(ステップS4507:NO)には、転送元アドレスカウンタ132の値を2加算することにより転送元の記憶エリアを更新する(ステップS4508)。ステップS4506~ステップS4509の処理はステップS4507にて肯定判定が行われるまで繰り返し実行される処理であり、ステップS4508では、「9101H」→「9103H」→「9105H」→…→「9109H」→「910BH」の順番で、転送元アドレスカウンタ132に格納されているアドレスが更新される。その後、ビット指定カウンタ117の値を1加算することにより最上位集約用エリア74vにおける転送先ビットを更新する(ステップS4509)。ステップS4509では、第0ビット→第1ビット→…→第4ビット→第5ビットの順番で、最上位集約用エリア74vにおける転送先ビットが更新される。
その後、ステップS4506に進み、ステップS4507にて肯定判定が行われるまで、ステップS4506~ステップS4509の処理を繰り返し実行する。これにより、共通データテーブル73fにおける「9101H」~「910CH」のアドレス範囲に設定されているアドレスに基づいて把握される記憶エリアにおける最上位ビットのデータを最上位集約用エリア74vの第0~第5ビットに設定することができる。ステップS4507にて肯定判定を行った場合には、本最上位集約処理を終了する。
既に説明したとおり、主側ROM73において、最上位ビットのデータが最上位集約用エリア74vに集約されるAT継続カウンタ74uの下位エリア及び上位エリア、継続ゲーム数カウンタ74rの下位エリア及び上位エリア、並びに合計獲得数カウンタ74sの下位エリア及び上位エリアのアドレスは、連続する「9101H」~「910CH」のアドレス範囲に設定されている。このため、最上位集約処理(図78)の転送対象範囲(「9101H」~「910CH」)の開始アドレス(「9101H」)を転送元アドレスカウンタ132に設定した後、転送元の記憶エリアにおける最上位ビットのデータを転送先ビットに転送する処理(ステップS4506の処理)、転送元アドレスカウンタ132の値を2加算して転送元の記憶エリアを更新する処理(ステップS4508の処理)、及びビット指定カウンタ117の値を1加算して転送先ビットを更新する処理(ステップS4509の処理)を繰り返し実行することにより、転送対象範囲に設定されているアドレスにより特定される主側RAM74の記憶エリアにおける最上位ビットのデータを最上位集約用エリア74vに集約することができる。これにより、AT継続カウンタ74uの下位エリア及び上位エリア、継続ゲーム数カウンタ74rの下位エリア及び上位エリア、並びに合計獲得数カウンタ74sの下位エリア及び上位エリアにおける最上位ビットのデータを最上位集約用エリア74vに集約するための処理構成が簡素化されている。
共通コマンド送信処理(図77)の説明に戻り、ステップS4402にて最上位集約処理を実行した後、ステップS4403~ステップS4409では、上記第1の実施形態における共通コマンド送信処理(図50)のステップS2802~ステップS2808と同様の処理を実行する。具体的には、送信回路85における書き込みポインタ113(図45)の値を把握することにより送信待機バッファ112における書き込み先のエリアを把握する(ステップS4403)。その後、主側RAM74の開始時コマンドフラグに「1」がセットされている場合(ステップS4404:YES)、すなわちゲームの開始時である場合には、主側ROM73に記憶されている開始時コマンドに対応するヘッダHDのデータをステップS4403にて把握した書き込み先のエリアに設定し(ステップS4405)、開始時コマンドフラグを「0」クリアする(ステップS4406)。一方、開始時コマンドフラグに「1」がセットされていない場合(ステップS4404:NO)、すなわちゲームの終了時である場合には、主側ROM73に記憶されている終了時コマンドに対応するヘッダHDのデータをステップS4403にて把握した書き込み先のエリアに設定し(ステップS4407)、主側RAM74の終了時コマンドフラグを「0」クリアする(ステップS4408)。
ステップS4406又はステップS4408の処理を行った場合には、書き込みポインタ113の値を更新することにより送信待機バッファ112における書き込み先のエリアを更新する(ステップS4409)。ステップS4409では、書き込みポインタ113の値を1加算し、当該1加算後の書き込みポインタ113の値が最大値である「31」を超えた場合には当該書き込みポインタ113を「0」クリアする。
その後、共通コマンド送信処理(図77)における転送対象範囲(「9101H」~「911AH」)の開始アドレスである「9101H」を転送元アドレスカウンタ132に設定する(ステップS4410)。これにより、共通データテーブル73fにおける「9101H」~「9102H」のアドレス範囲に設定されているアドレスに基づいて、AT継続カウンタ74uの下位エリアを転送元の記憶エリアとして把握可能となる。その後、共通コマンド送信処理(図77)における転送対象範囲(「9101H」~「911AH」)の終了アドレスである「9119H」を終了アドレスカウンタ133に設定する(ステップS4411)。
その後、転送元の記憶エリアに格納されているデータを送信待機バッファ112における書き込み先のエリアに転送する(ステップS4412)。ステップS4412では、共通データテーブル73fにおいて転送元アドレスカウンタ132に設定されているアドレスに対応する記憶エリアのデータに基づいて主側RAM74における転送元の記憶エリアのアドレスを特定する。その後、当該書き込み先のエリアにおける最上位ビット(第7ビット)に「0」をセットする(ステップS4413)。これにより、第2~第14フレームFR2~FR14の最上位ビットの値を「0」にすることができるとともに、最上位ビットの値に基づいてヘッダHDと第2~第14フレームFR2~FR14とを識別可能とすることができる。
その後、ステップS4409と同様に、書き込みポインタ113の値を更新する(ステップS4414)。具体的には、書き込みポインタ113の値を1加算し、当該1加算後の書き込みポインタ113の値が最大値である「31」を超えた場合には当該書き込みポインタ113を「0」クリアする。その後、転送元アドレスカウンタ132のデータがステップS4411にて終了アドレスカウンタ133に設定した終了アドレス(「9119H」)であるか否かを判定する(ステップS4415)。
転送元アドレスカウンタ132のデータが終了アドレスではない場合(ステップS4415:NO)には、転送元アドレスカウンタ132の値を2加算することにより共通データテーブル73fにおいて転送元の記憶エリアを把握するために参照されるアドレスを更新する(ステップS4416)。これにより、主側RAM74における転送元の記憶エリアを更新することができる。ステップS4412~ステップS4416の処理はステップS4415にて肯定判定が行われるまで繰り返し実行される処理であり、ステップS4416では、「9101H」→「9103H」→「9105H」→…→「9117H」→「9119H」の順番で、転送元アドレスカウンタ132に格納されているアドレスが更新される。
その後、ステップS4412に進み、ステップS4415にて肯定判定が行われるまで、ステップS4412~ステップS4416の処理を繰り返し実行する。これにより、共通データテーブル73fの「9101H」~「911AH」のアドレス範囲に設定されているアドレスに対応する主側RAM74の記憶エリアに格納されているデータを送信待機バッファ112に設定することができる。
ステップS4415にて肯定判定を行った場合、ステップS4417~ステップS4418では、上記第1の実施形態における共通コマンド送信処理(図50)のステップS2817~ステップS2818と同様の処理を実行する。具体的には、送信待機バッファ112において書き込みポインタ113の値に対応する書き込み先のエリアに、主側ROM73に記憶されているフッタFTのデータを設定する(ステップS4417)。その後、ステップS4409及びステップS4414と同様に、書き込みポインタ113の値を更新することにより送信待機バッファ112における書き込み先のエリアを更新して(ステップS4418)、本共通コマンド送信処理を終了する。
既に説明したとおり、開始時コマンド及び終了時コマンドにデータが設定される対象となる主側RAM74の記憶エリアのアドレスは、共通データテーブル73fにおいて連続する「9101H」~「911AH」のアドレス範囲に設定されている。このため、共通コマンド送信処理(図77)における転送対象範囲(「9101H」~「911AH」)の開始アドレス(「9101H」)を転送元アドレスカウンタ132に設定した後、転送元の記憶エリアのデータを送信待機バッファ112における書き込み先のエリアに転送する処理(ステップS4412の処理)、当該書き込み先のエリアを更新する処理(ステップS4414)、及び転送元アドレスカウンタ132の値を2加算することにより転送元の記憶エリアを更新する処理を繰り返し実行することにより、転送対象範囲に設定されているアドレスにより特定される主側RAM74の記憶エリアに格納されているデータを送信待機バッファ112に設定することができる。これにより、主側RAM74の記憶エリアに格納されているデータを開始時コマンド及び終了時コマンドに設定するための処理構成が簡素化されている。
以上詳述した本実施形態によれば、以下の優れた効果を奏する。
主側ROM73に記憶されているデータテーブル(共通データテーブル73f)を参照しながら開始時コマンドにデータを設定するとともに終了時コマンドにデータを設定する構成において、開始時コマンドにデータを設定する場合に参照するデータテーブルと、終了時コマンドにデータを設定する場合に参照するデータテーブルとが共通している。このため、開始時コマンド及び終了時コマンドにデータを設定する処理を行うために主側ROM73に記憶しておくデータテーブルのデータ容量低減することができる。
開始時コマンドにデータが設定される主側RAM74の記憶エリアは、終了時コマンドにデータが設定される主側RAM74の記憶エリアと同一である。これにより、開始時コマンドにデータを設定する場合に参照するデータテーブルと、終了時コマンドにデータを設定する場合に参照するデータテーブルとを共通のデータテーブル(共通データテーブル73f)とすることができる。
主側ROM73において、最上位ビットのデータが最上位集約用エリア74vに集約されるAT継続カウンタ74uの下位エリア及び上位エリア、継続ゲーム数カウンタ74rの下位エリア及び上位エリア、並びに合計獲得数カウンタ74sの下位エリア及び上位エリアのアドレスは、連続する「9101H」~「910CH」のアドレス範囲に設定されている。このため、最上位集約処理(図78)の転送対象範囲(「9101H」~「910CH」)の開始アドレス(「9101H」)を転送元アドレスカウンタ132に設定した後、転送元の記憶エリアにおける最上位ビットのデータを転送先ビットに転送する処理(ステップS4506の処理)、転送元アドレスカウンタ132の値を2加算して転送元の記憶エリアを更新する処理(ステップS4508の処理)、及びビット指定カウンタ117の値を1加算して転送先ビットを更新する処理(ステップS4509の処理)を繰り返し実行することにより、転送対象範囲に設定されているアドレスにより特定される主側RAM74の記憶エリアにおける最上位ビットのデータを最上位集約用エリア74vに集約することができる。これにより、AT継続カウンタ74uの下位エリア及び上位エリア、継続ゲーム数カウンタ74rの下位エリア及び上位エリア、並びに合計獲得数カウンタ74sの下位エリア及び上位エリアにおける最上位ビットのデータを最上位集約用エリア74vに集約するための処理構成が簡素化されている。
開始時コマンド及び終了時コマンドにデータが設定される対象となる主側RAM74の記憶エリアのアドレスは、共通データテーブル73fにおいて連続する「9101H」~「911AH」のアドレス範囲に設定されている。このため、共通コマンド送信処理(図77)における転送対象範囲(「9101H」~「911AH」)の開始アドレス(「9101H」)を転送元アドレスカウンタ132に設定した後、転送元の記憶エリアのデータを送信待機バッファ112における書き込み先のエリアに転送する処理(ステップS4412の処理)、当該書き込み先のエリアを更新する処理(ステップS4414)、及び転送元アドレスカウンタ132の値を2加算することにより転送元の記憶エリアを更新する処理を繰り返し実行することにより、転送対象範囲に設定されているアドレスにより特定される主側RAM74の記憶エリアに格納されているデータを送信待機バッファ112に設定することができる。これにより、主側RAM74の記憶エリアに格納されているデータを開始時コマンド及び終了時コマンドに設定するための処理構成が簡素化されている。
<第5の実施形態>
本実施形態では、共通データテーブル73fに基づいて把握される主側RAM74の記憶エリアに格納されているデータのうちゲームの開始時に演出側MPU92にて必要となるデータのみが開始時コマンドに設定されるとともに、共通データテーブル73fに基づいて把握される主側RAM74の記憶エリアに格納されているデータのうちゲームの終了時に演出側MPU92にて必要となるデータのみが終了時コマンドに設定される点において上記第4の実施形態と相違している。以下、上記第4の実施形態と相違する構成について説明する。なお、上記第4の実施形態と同一の構成については基本的にその説明を省略する。
図79(a)は主側ROM73の共通データテーブル73fが設定されているアドレス範囲のうち、開始時コマンドに設定されるデータが格納されている主側RAM74の記憶エリアのアドレスが設定されているアドレス範囲、及び終了時コマンドに設定されるデータが格納されている主側RAM74の記憶エリアのアドレスが設定されているアドレス範囲を説明するための説明図であり、図79(b)は開始時コマンドのデータ構成を説明するための説明図であり、図79(c)は終了時コマンドのデータ構成を説明するための説明図である。
図79(a)に示すように、共通データテーブル73fには、第1設定範囲及び第2設定範囲が設定されているとともに、第1除外範囲及び第2除外範囲が設定されている。第1設定範囲及び第2設定範囲は、開始時コマンドに設定されるデータが格納されている主側RAM74の記憶エリアのアドレスが設定されているアドレス範囲である。第1設定範囲は「9101H」~「9104H」のアドレス範囲であるとともに、第2設定範囲は「910DH」~「9114H」のアドレス範囲である。第1除外範囲及び第2除外範囲は、開始時コマンドにはデータが設定されない主側RAM74の記憶エリアのアドレスが設定されているアドレス範囲である。第1除外範囲は「9105H」~「910CH」のアドレス範囲であるとともに、第2除外範囲は「9115H」~「911AH」のアドレス範囲である。
図79(b)に示すように、開始時コマンドには、第1設定範囲(「9101H」~「9104H」)及び第2設定範囲(「910DH」~「9114H」)に設定されているアドレスに基づいて把握されるAT継続カウンタ74uの下位エリア、AT継続カウンタ74uの上位エリア、最上位集約用エリア74v、ベット数設定カウンタ74b、停止順種別カウンタ74m及び遊技状態エリア77のデータが設定される。これらのデータは、ゲームの開始時に演出側MPU92にて必要となるデータである。
このように、ゲームの開始時に演出側MPU92にて必要となるデータのみが開始時コマンドに設定される構成とすることにより、主側MPU72から演出側MPU92に送信される開始時コマンドのデータ容量を低減することができる。また、開始時コマンドを受信した演出側MPU92が当該開始時コマンドに設定されているデータのうちゲームの開始時に演出側MPU92にて必要となるデータのみを抽出する処理を不要とすることができる。これにより、開始時コマンドを受信した場合における演出側MPU92の処理負荷を軽減することができる。
図79(a)に示すように、共通データテーブル73fには、第3設定範囲及び第4設定範囲が設定されているとともに、第3除外範囲及び第4除外範囲が設定されている。第3設定範囲及び第4設定範囲は、終了時コマンドに設定されるデータが格納されている主側RAM74の記憶エリアのアドレスが設定されているアドレス範囲である。第3設定範囲は「9105H」~「910EH」のアドレス範囲であるとともに、第4設定範囲は「9113H」~「911AH」のアドレス範囲である。第3除外範囲及び第4除外範囲は、終了時コマンドにはデータが設定されない主側RAM74の記憶エリアのアドレスが設定されているアドレス範囲である。第3除外範囲は「9101H」~「9104H」のアドレス範囲であるとともに、第4除外範囲は「910FH」~「9112H」のアドレス範囲である。
図79(c)に示すように、終了時コマンドには、第3設定範囲(「9105H」~「910EH」)及び第4設定範囲(「9113H」~「911AH」)に設定されているアドレスに基づいて把握される継続ゲーム数カウンタ74rの下位エリア、継続ゲーム数カウンタ74rの上位エリア、合計獲得数カウンタ74sの下位エリア、合計獲得数カウンタ74sの上位エリア、最上位集約用エリア74v、遊技状態エリア77、遊技区間エリア76、疑似ボーナス継続カウンタ74t及び付与数カウンタ74eのデータが設定される。これらのデータは、ゲームの終了時に演出側MPU92にて必要となるデータである。
このように、ゲームの終了時に演出側MPU92にて必要となるデータのみが終了時コマンドに設定される構成とすることにより、主側MPU72から演出側MPU92に送信される終了時コマンドのデータ容量を低減することができる。また、終了時コマンドを受信した演出側MPU92が当該終了時コマンドに設定されているデータのうちゲームの終了時に演出側MPU92にて必要となるデータのみを抽出する処理を不要とすることができる。これにより、終了時コマンドを受信した場合における演出側MPU92の処理負荷を軽減することができる。
図80(a)は主側MPU72から演出側MPU92に対してコマンドを送信するための主制御基板71及び演出制御基板91の電気的構成を説明するための説明図である。図80(a)に示すように、演出側RAM94には最上位設定エリア134が設けられている。最上位設定エリア134は、開始時コマンド又は終了時コマンドに設定されている最上位集約フレームSFにおける第0~第5ビットのデータを当該第0~第5ビットに対応するフレームに設定する処理を実行する場合に利用される記憶エリアである。
図80(b)は最上位設定エリア134の構成を説明するための説明図である。図80(b)に示すように、最上位設定エリア134には、第1~第11エリアRC1~RC11が設けられている。第1~第11エリアRC1~RC11は1バイトからなる記憶エリアである。最上位設定エリア134における第1~第11エリアRC1~RCA11の合計のデータ容量は11バイトである。演出側RAM94において最上位設定エリア134の第1~第11エリアRC1~RC11は連続する「γ+1」~「γ+11」のアドレス範囲に設定されている。
図79(b)に示すように、開始時コマンドは8個のフレーム(第1~第8フレームFR1~FR8)からなる。演出側MPU92は受信した開始時コマンドの第1~第8フレームFR1~FR8を最上位設定エリア134の第1~第8エリアRC1~RC8に設定する。主側RAM74におけるAT継続カウンタ74uの下位エリアのデータが設定されている第2フレームFR2は第2エリアRC2に設定され、AT継続カウンタ74uの上位エリアのデータが設定されている第3フレームFR3は第3エリアRC3に設定され、最上位集約用エリア74vのデータが設定されている最上位集約フレームSF(第4フレームFR4)は第4エリアRC4に設定される。上記第1の実施形態において既に説明したとおり、主側RAM74におけるAT継続カウンタ74uの下位エリアの最上位ビット(第7ビット)に格納されている「0」又は「1」のデータは最上位集約フレームSFの第0ビットに設定されているとともに、AT継続カウンタ74uの上位エリアの最上位ビットに格納されている「0」のデータは最上位集約フレームSFの第1ビットに設定されている。演出側MPU92は、当該第4エリアRC4における第0ビットのデータを第2エリアRC2の最上位ビットに設定するとともに、第4エリアRC4における第1ビットのデータを第3エリアRC3の最上位ビットに設定することにより、変換後開始時コマンドを生成する。そして、当該生成した変換後開始時コマンドをコマンド格納バッファ126に格納する。これにより、演出側MPU92にて変換後開始時コマンドを利用可能な状態とすることができる。
図79(c)に示すように、終了時コマンドは11個のフレーム(第1~第11フレームFR1~FR11)からなる。演出側MPU92は受信した終了時コマンドの第1~第11フレームFR1~FR11を最上位設定エリア134の第1~第11エリアRC1~RC11に設定する。主側RAM74における継続ゲーム数カウンタ74rの下位エリアのデータが設定されている第2フレームFR2は第2エリアRC2に設定され、継続ゲーム数カウンタ74rの上位エリアのデータが設定されている第3フレームFR3は第3エリアRC3に設定され、合計獲得数カウンタ74sの下位エリアのデータが設定されている第4フレームFR4は第4エリアRC4に設定され、合計獲得数カウンタ74sの上位エリアのデータが設定されている第5フレームFR5は第5エリアRC5に設定され、最上位集約用エリア74vのデータが設定されている最上位集約フレームSF(第6フレームFR6)は第6エリアRC6に設定される。上記第1の実施形態において既に説明したとおり、主側RAM74における継続ゲーム数カウンタ74rの下位エリアの最上位ビット(第7ビット)に格納されている「0」又は「1」のデータは最上位集約フレームSFの第2ビットに設定されており、継続ゲーム数カウンタ74rの上位エリアの最上位ビットに格納されている「0」のデータは最上位集約フレームSFの第3ビットに設定されており、合計獲得数カウンタ74sの下位エリアの最上位ビットに格納されている「0」又は「1」のデータは最上位集約フレームSFの第4ビットに設定されており、合計獲得数カウンタ74sの上位エリアの最上位ビットに格納されている「0」のデータは最上位集約フレームSFの第5ビットに設定されている。演出側MPU92は、当該第6エリアRC6における第2ビットのデータを第2エリアRC2の最上位ビットに設定し、第6エリアRC6における第3ビットのデータを第3エリアRC3の最上位ビットに設定し、第6エリアRC6における第4ビットのデータを第4エリアRC4の最上位ビットに設定し、第6エリアRC6における第5ビットのデータを第5エリアRC5の最上位ビットに設定することにより、変換後終了時コマンドを生成する。そして、当該生成した変換後終了時コマンドをコマンド格納バッファ126に格納する。これにより、演出側MPU92にて変換後終了時コマンドを利用可能な状態とすることができる。
次に、主側MPU72にて実行される共通コマンド送信処理について図81のフローチャートを参照しながら説明する。上記第1の実施形態において既に説明したとおり、共通コマンド送信処理は、コマンド出力処理(図44)において主側RAM74の開始時コマンドフラグに「1」がセットされている場合(ステップS2707:YES)、又は主側RAM74の終了時コマンドフラグに「1」がセットされている場合(ステップS2708:YES)に、ステップS2709にて実行される。既に説明したとおり、開始時コマンドフラグにはゲームが開始される場合に抽選結果対応処理(図25)のステップS1107にて「1」がセットされるとともに、終了時コマンドフラグにはゲームが終了する場合に遊技終了時の対応処理(図32)のステップS1508にて「1」がセットされる。
共通コマンド送信処理では、ステップS4601~ステップS4605にて上記第4の実施形態における共通コマンド送信処理(図77)のステップS4401~ステップS4405と同様の処理を実行する。具体的には、まず主側ROM73に記憶されている共通データテーブル73fを読み出し(ステップS4601)、最上位集約処理を実行する(ステップS4602)。最上位集約処理では、上記第4の実施形態において図78のフローチャートを参照しながら既に説明したとおり、共通データテーブル73fの「9101H」~「910CH」のアドレス範囲に設定されているアドレスに基づいて把握される主側RAM74の記憶エリアにおける最上位ビットのデータを最上位集約用エリア74vの第0~第5ビットに設定する。当該最上位集約処理(ステップS4602)は、開始時コマンドを送信する場合及び終了時コマンドを送信する場合のいずれにおいても実行される。
既に説明したとおり、主側RAM74において、最上位集約用エリア74vに最上位ビットのデータが設定される記憶エリアとして、AT継続カウンタ74uの下位エリア及び上位エリア、継続ゲーム数カウンタ74rの下位エリア及び上位エリア、並びに合計獲得数カウンタ74sの下位エリア及び上位エリアが存在している。当該6つの記憶エリアのうち、開始時コマンドにデータが設定される記憶エリアはAT継続カウンタ74uの下位エリア及び上位エリアであるとともに、終了時コマンドにデータが設定される記憶エリアは継続ゲーム数カウンタ74rの下位エリア及び上位エリア、並びに合計獲得数カウンタ74sの下位エリア及び上位エリアである。このように、最上位集約用エリア74vに最上位ビットのデータが集約される対象となる6つの記憶エリアのうち開始時コマンドにデータが設定される記憶エリアと終了時コマンドにデータが設定される記憶エリアとが異なっている構成において、開始時コマンドを送信する場合及び終了時コマンドを送信する場合のいずれにおいても当該6つの記憶エリアにおける最上位ビットのデータを最上位集約用エリア74vに集約する処理(ステップS4602の最上位集約処理)が実行される構成である。このため、開始時コマンドを送信する場合には当該6つの記憶エリアのうち開始時コマンドにデータが設定される記憶エリアのみについて最上位ビットのデータを最上位集約用エリア74vに設定する処理を実行するとともに終了時コマンドを送信する場合には当該6つの記憶エリアのうち終了時コマンドにデータが設定される記憶エリアのみについて最上位ビットのデータを最上位集約用エリア74vに設定する処理を実行する構成と比較して、最上位集約用エリア74vに最上位ビットのデータを設定する処理の処理構成を簡素化することができる。
その後、送信回路85における書き込みポインタ113(図45)の値を把握することにより送信待機バッファ112における書き込み先のエリアを把握する(ステップS4603)。その後、主側RAM74における開始時コマンドフラグに「1」がセットされている場合(ステップS4604:YES)、すなわちゲームの開始時である場合には、主側ROM73に記憶されている開始時コマンドであることを示すヘッダHDのデータをステップS4603にて把握した書き込み先のエリアに設定する(ステップS4605)。その後、主側RAM74における転送元アドレスカウンタ132に第1設定範囲(「9101H」~「9104H」)の先頭アドレスである「9101H」を設定する(ステップS4606)。これにより、転送元の記憶エリアとして主側RAM74におけるAT継続カウンタ74uの下位エリアを設定することができる。
開始時コマンドフラグに「1」がセットされていない場合(ステップS4604:NO)には、主側ROM73に記憶されている終了時コマンドであることを示すヘッダHDのデータをステップS4603にて把握した書き込み先のエリアに設定する(ステップS4607)。その後、主側RAM74における転送元アドレスカウンタ132に第3設定範囲(「9105H」~「910EH」)の先頭アドレスである「9105H」を設定する(ステップS4608)。これにより、転送元の記憶エリアとして主側RAM74における継続ゲーム数カウンタ74rの下位エリアを設定することができる。
ステップS4606又はステップS4608の処理を行った場合には、上記第4の実施形態における共通コマンド送信処理(図77)のステップS4409と同様に、書き込みポインタ113の値を更新することにより送信待機バッファ112における書き込み先のエリアを更新する(ステップS4609)。ステップS4609では、書き込みポインタ113の値を1加算し、当該1加算後の書き込みポインタ113の値が最大値である「31」を超えた場合には当該書き込みポインタ113を「0」クリアする。
その後、ステップS4610~ステップS4612にて上記第4の実施形態における共通コマンド送信処理(図77)のステップS4012~ステップS4014と同様の処理を実行する。具体的には、まず転送元の記憶エリアのデータを送信待機バッファ112における書き込み先のエリアに転送する(ステップS4610)。ステップS4610では、共通データテーブル73fにおいて転送元アドレスカウンタ132に設定されているアドレスに対応する記憶エリアのデータに基づいて主側RAM74における転送元の記憶エリアのアドレスを特定する。その後、当該書き込み先のエリアにおける最上位ビット(第7ビット)に「0」をセットする(ステップS4611)。これにより、開始時コマンドを送信する場合には当該開始時コマンドの第2~第7フレームFR2~FR7の最上位ビットの値を「0」とすることができるとともに、最上位ビットの値に基づいてヘッダHDと当該第2~第7フレームFR2~FR7とを識別可能とすることができる。また、終了時コマンドを送信する場合には当該終了時コマンドの第2~第10フレームFR2~FR10の最上位ビットの値を「0」とすることができるとともに、最上位ビットの値に基づいてヘッダHDと当該第2~第10フレームFR2~FR10とを識別可能とすることができる。
その後、ステップS4609と同様に、書き込みポインタ113の値を更新する(ステップS4612)。具体的には、書き込みポインタ113の値を1加算し、当該1加算後の書き込みポインタ113の値が最大値である「31」を超えた場合には当該書き込みポインタ113を「0」クリアする。その後、転送元アドレスカウンタ132の値を「2」加算することにより共通データテーブル73fにおいて転送元の記憶エリアを把握するために参照されるアドレスを更新する(ステップS4613)。これにより、主側RAM74における転送元の記憶エリアを更新することができる。
その後、主側RAM74の開始時コマンドフラグに「1」がセットされている場合(ステップS4614:YES)には、転送元アドレスカウンタ132のデータが第1除外範囲(「9105H」~「910CH」)の先頭アドレスである「9105H」であるか否かを判定する(ステップS4615)。転送元アドレスカウンタ132のデータが「9105H」である場合(ステップS4615:YES)には、転送元アドレスカウンタ132に第2設定範囲(「910DH」~「9114H」)の先頭アドレスである「910DH」を設定する(ステップS4616)。これにより、転送元の記憶エリアを最上位集約用エリア74vに更新することができる。また、共通データテーブル73fの第1除外範囲に設定されているアドレスに基づいて把握される主側RAM74の記憶エリアに格納されているデータが開始時コマンドに設定されてしまうことを防止できる。転送元アドレスカウンタ132のデータが「9105H」ではない場合(ステップS4615:NO)には、転送元アドレスカウンタ132のデータが第2除外範囲(「9115H」~「911AH」)の先頭アドレスである「9115H」であるか否かを判定する(ステップS4617)。
ステップS4616の処理を行った場合、又はステップS4617にて否定判定を行った場合には、ステップS4610に進み、ステップS4617にて肯定判定が行われるまでステップS4610~ステップS4617の処理を繰り返し実行する。これにより、共通データテーブル73fの第1設定範囲及び第2設定範囲に設定されているアドレスに基づいて特定される主側RAM74の記憶エリアに格納されているデータを送信待機バッファ112に設定することができる。よって、ゲームの開始時に演出側MPU92にて必要となるデータのみを送信待機バッファ112に設定することができる。
ステップS4617にて肯定判定を行った場合、すなわち第1設定範囲及び第2設定範囲に設定されているアドレスに基づいて特定される主側RAM74の記憶エリアに格納されているデータを送信待機バッファ112に設定する処理が終了した場合には、主側RAM74の開始時コマンドフラグを「0」クリアする(ステップS4618)。
主側RAM74の開始時コマンドフラグに「1」がセットされていない場合(ステップS4614:NO)には、転送元アドレスカウンタ132のデータが第4除外範囲(「910FH」~「9112H」)の先頭アドレスである「910FH」であるか否かを判定する(ステップS4619)。転送元アドレスカウンタ132のデータが「910FH」である場合(ステップS4619:YES)には、転送元アドレスカウンタ132に第4設定範囲(「9113H」~「911AH」)の先頭アドレスである「9113H」を設定する(ステップS4620)。これにより、転送元の記憶エリアを遊技状態エリア77に更新することができる。また、共通データテーブル73fの第4除外範囲に設定されているアドレスに基づいて把握される主側RAM74の記憶エリアに格納されているデータが終了時コマンドに設定されてしまうことを防止できる。転送元アドレスカウンタ132のデータが「910FH」ではない場合(ステップS4619:NO)には、転送元アドレスカウンタ132のデータが「911BH」であるか否かを判定する(ステップS4621)。「911BH」は、第4設定範囲(「9113H」~「911AH」)の最後のアドレスである「911AH」の次のアドレスである。
ステップS4620の処理を行った場合、又はステップS4621にて否定判定を行った場合には、ステップS4610に進み、ステップS4621にて肯定判定が行われるまでステップS4610~ステップS4614及びステップS4619~ステップS4621の処理を繰り返し実行する。これにより、共通データテーブル73fの第3設定範囲及び第4設定範囲に設定されているアドレスに基づいて特定される主側RAM74の記憶エリアに格納されているデータを送信待機バッファ112に設定することができる。よって、ゲームの終了時に演出側MPU92にて必要となるデータのみを送信待機バッファ112に設定することができる。
ステップS4621にて肯定判定を行った場合、すなわち第3設定範囲及び第4設定範囲に設定されているアドレスに基づいて特定される主側RAM74の記憶エリアに格納されているデータを送信待機バッファ112に設定する処理が終了した場合には、主側RAM74の終了時コマンドフラグを「0」クリアする(ステップS4622)。
ステップS4618又はステップS4622の処理を行った場合には、ステップS4623~ステップS4624にて、上記第4の実施形態における共通コマンド送信処理(図77)のステップS4417~ステップS4418と同様の処理を実行する。具体的には、送信待機バッファ112において書き込みポインタ113の値に対応する書き込み先のエリアに、主側ROM73に記憶されているフッタFTのデータを設定する(ステップS4623)。その後、ステップS4609及びステップS4612と同様に、書き込みポインタ113の値を更新することにより送信待機バッファ112における書き込み先のエリアを更新して(ステップS4624)、本共通コマンド送信処理を終了する。
このように、開始時コマンド又は終了時コマンドを送信する場合、まずAT継続カウンタ74uの下位エリア及び上位エリア、継続ゲーム数カウンタ74rの下位エリア及び上位エリア、並びに合計獲得数カウンタ74sの下位エリア及び上位エリアにおける最上位ビットのデータを最上位集約用エリア74vの第0~第5ビットに設定する処理(ステップS4602における最上位集約処理)を行い、その後に、開始時コマンドを送信する場合であればゲームの開始時に演出側MPU92にて必要となるデータを送信待機バッファ112に設定するとともに、終了時コマンドを送信する場合であればゲームの終了時に演出側MPU92にて必要となるデータを送信待機バッファ112に設定する。主側RAM74において開始時コマンドにデータが設定される記憶エリアの一部のみが終了時コマンドにデータが設定される記憶エリアと共通している構成において、AT継続カウンタ74uの下位エリア及び上位エリア、継続ゲーム数カウンタ74rの下位エリア及び上位エリア、並びに合計獲得数カウンタ74sの下位エリア及び上位エリアにおける最上位ビットのデータを最上位集約用エリア74vの第0~第5ビットに設定する処理(ステップS4602における最上位集約処理)は同一のサブルーチンのプログラムを利用して実行される。これにより、当該処理を実行するための主側ROM73に記憶されるプログラムのデータ容量が低減されている。
次に、演出側MPU92にて実行されるコマンド受信対応処理について図82のフローチャートを参照しながら説明する。上記第1の実施形態において既に説明したとおり、コマンド受信対応処理は演出側MPU92にて比較的短い周期(例えば4ミリ秒周期)で繰り返し実行される。
コマンド受信対応処理では、ステップS4701~ステップS4707にて、上記第1の実施形態におけるコマンド受信対応処理(図52)のステップS3001~ステップS3007と同様の処理を実行する。具体的には、受信回路87の受信後待機バッファ122にヘッダHDのデータ及びフッタFTのデータが設定されている場合(ステップS4701:YES、ステップS4702:YES)、受信後待機バッファ122から演出側RAM94の最上位設定エリア134又はコマンド格納バッファ126に移動させる対象となるコマンド(移動対象のコマンド)の先頭及び最後尾を把握する(ステップS4703)。ステップS4703では、受信後待機バッファ122における読み込みポインタ128の値に基づいて移動対象のコマンドの先頭を把握するとともに、当該移動対象のコマンドのフッタFTのデータに基づいて当該移動対象のコマンドの最後尾を把握する。受信後待機バッファ122に複数のコマンドが格納されている場合には、読み込みポインタ128の値に基づいて、当該複数のコマンドのうち最初に受信後待機バッファ122に格納されたコマンドが移動対象のコマンドとなる。その後、ステップS4703にて把握した移動対象のコマンドに開始時コマンドのヘッダHDのデータが設定されている場合(ステップS4704:YES)には、移動対象のコマンドが開始時コマンドであることを意味するため、演出側ROM93から開始時受信対応テーブルを読み出す(ステップS4705)。一方、ステップS4703にて把握した移動対象のコマンドに終了時コマンドのヘッダHDのデータが設定されている場合(ステップS4704:NO、ステップS4706:YES)には、移動対象のコマンドが終了時コマンドであることを意味するため、演出側ROM93から終了時受信対応テーブルを読み出す(ステップS4707)。
ステップS4705又はステップS4707の処理を行った場合には、最上位設定処理を実行する(ステップS4708)。図83は演出側MPU92にて実行される最上位設定処理(ステップS4708)を示すフローチャートである。
最上位設定処理では、まず受信後待機バッファ122に格納されている開始時コマンド又は終了時コマンドを演出側RAM94における最上位設定エリア134に設定する(ステップS4801)。ステップS4801では、受信後待機バッファ122に開始時コマンドが格納されている場合には、当該開始時コマンドの第1~第8フレームFR1~FR8を最上位設定エリア134の第1~第8エリアRC1~RC8に設定するとともに、受信後待機バッファ122に終了時コマンドが格納されている場合には、当該終了時コマンドの第1~第11フレームFR1~FR11を最上位設定エリア134の第1~第11エリアRC1~RC11に設定する。
その後、受信後待機バッファ122のクリア処理を実行する(ステップS4802)。当該クリア処理では、受信後待機バッファ122において開始時コマンド又は終了時コマンドが格納されていたエリアを「0」クリアする。これにより、受信後待機バッファ122に次のコマンドを格納するための空き領域を確保することができる。その後、受信後待機バッファ122における読み込みポインタ128の値を当該開始時コマンド又は終了時コマンドの最後尾(フッタFTのデータ)が格納されていた記憶エリアの次の記憶エリアに対応する値に更新する(ステップS4803)。
その後、ステップS4801にて最上位設定エリア134に設定したコマンドが開始時コマンドである場合(ステップS4804:YES)、当該最上位設定エリア134における第4エリアRC4のアドレスを演出側RAM94における演出側転送元カウンタにセットする(ステップS4805)。既に説明したとおり、第4エリアRC4は開始時コマンドの最上位集約フレームSFが設定されているエリアである。上記第1の実施形態において既に説明したとおり、演出側転送元カウンタは、データの転送元の記憶エリアを演出側MPU92にて把握可能とするカウンタである。ステップS4805にて第4エリアRC4のアドレスを演出側転送元カウンタにセットすることにより、当該第4エリアRC4を転送元の記憶エリアに設定することができる。
その後、演出側RAM94における演出側ビット指定カウンタを「0」クリアする(ステップS4806)。上記第1の実施形態において既に説明したとおり、演出側ビット指定カウンタは、転送元の記憶エリアにおける転送元ビットを演出側MPU92にて把握可能とするカウンタである。ステップS4806にて演出側ビット指定カウンタの値を「0」クリアすることにより、第4エリアRC4における第0ビットを転送元ビットに設定することができる。
上述したとおり、最上位設定処理は、最上位設定エリア134に開始時コマンド又は終了時コマンドが設定されている場合に実行される処理である。ステップS4804にて否定判定を行った場合には、ステップS4801にて最上位設定エリア134に設定したコマンドが終了時コマンドであることを意味するため、当該最上位設定エリア134における第6エリアRC6のアドレス(「γ+6」)を演出側RAM94の演出側転送元カウンタにセットする(ステップS4807)。これにより、第6エリアRC6が転送元の記憶エリアとなる。既に説明したとおり、第6エリアRC6は終了時コマンドの最上位集約フレームSF(第6フレームFR6)が設定されるエリアである。その後、演出側RAM94の演出側ビット指定カウンタに「2」を設定する(ステップS4808)。これにより、第6エリアRC6の第2ビットを転送元ビットに設定することができる。
ステップS4806又はステップS4808の処理を行った後、最上位設定エリア134における第2エリアRC2のアドレスを演出側RAM94における演出側転送先カウンタにセットする(ステップS4809)。上記第1の実施形態において既に説明したとおり、演出側転送先カウンタは、転送先の記憶エリアを演出側MPU92にて把握可能とするカウンタである。ステップS4809にて第2エリアRC2のアドレスを演出側転送先カウンタに設定することにより、当該第2エリアRC2を転送先の記憶エリアとすることができる。
その後、転送元ビットに格納されている「0」又は「1」のデータを転送先の記憶エリアにおける最上位ビットに設定する(ステップS4810)。その後、演出側ビット指定カウンタの値に基づいて、最上位集約フレームSFに集約されているデータを対応するフレームの最上位ビットに設定する処理が終了したか否かを判定する(ステップS4811)。ステップS4811では、最上位設定エリア134に開始時コマンドが設定されている場合には演出側ビット指定カウンタの値が「1」である場合に肯定判定を行うとともに、最上位設定エリア134に終了時コマンドが設定されている場合には演出側ビット指定カウンタの値が「5」である場合に肯定判定を行う。
ステップS4811にて否定判定を行った場合には、演出側ビット指定カウンタの値を1加算することにより転送元の記憶エリアにおける(第4エリアRC4又は第6エリアRC6)における転送元ビットを更新する(ステップS4812)。ステップS4810~ステップS4813の処理はステップS4811にて肯定判定が行われるまで繰り返し実行される。ステップS4812では、最上位設定エリア134に開始時コマンドが設定されている場合には、第0ビット→第1ビットの順番で、第4エリアRC4における転送元ビットが更新されるとともに、最上位設定エリア134に終了時コマンドが設定されている場合には、第2ビット→第3ビット→第4ビット→第5ビットの順番で、第6エリアRC6における転送元ビットが更新される。
その後、演出側転送先カウンタの値を1加算することにより転送先の記憶エリアを更新する(ステップS4813)。ステップS4813では、最上位設定エリア134に開始時コマンドが設定されている場合には、第2エリアRC2→第3エリアRC3の順番で、最上位設定エリア134における転送先の記憶エリアが更新されるとともに、最上位設定エリア134に終了時コマンドが設定されている場合には、第2エリアRC2→第3エリアRC3→第4エリアRC4→第5エリアRC5の順番で、最上位設定エリア134における転送先の記憶エリアが更新される。
その後、ステップS4810に進み、ステップS4811にて肯定判定が行われるまでステップS4810~ステップS4813の処理を繰り返し実行する。これにより、ステップS4801にて最上位設定エリア134に設定したコマンドが開始時コマンドである場合には最上位設定エリア134に変換後開始時コマンドが設定されている状態とすることができるとともに、ステップS4801にて最上位設定エリア134に設定したコマンドが終了時コマンドである場合には最上位設定エリア134に変換後終了時コマンドが設定されている状態とすることができる。ステップS4811にて肯定判定を行った場合には、本最上位設定処理を終了する。
上記のとおり、AT継続カウンタ74uの下位エリア及び上位エリアに格納されているデータは、開始時コマンドにおいて連続する第2~第3フレームFR2~FR3に設定される。このため、演出側転送先カウンタの値を1加算する処理(ステップS4813の処理)を繰り返し実行することにより最上位集約フレームSFに集約されているデータが設定される転送先の記憶エリアを順次更新することができる。これにより、演出側MPU92が開始時コマンドの最上位集約フレームSFにおける第0~第1ビットに集約されているデータを当該第0~第1ビットに対応する第2~第3フレームFR2~FR3の最上位ビットに設定する処理の処理構成を簡素化することができる。また、継続ゲーム数カウンタ74rの下位エリア及び上位エリア、並びに合計獲得数カウンタ74sの下位エリア及び上位エリアに格納されているデータは、終了時コマンドにおいて連続する第2~第5フレームFR2~FR5に設定される。このため、演出側転送先カウンタの値を1加算する処理(ステップS4813の処理)を繰り返し実行することにより最上位集約フレームSFに集約されているデータが設定される転送先の記憶エリアを順次更新することができる。これにより、演出側MPU92が終了時コマンドの最上位集約フレームSFにおける第2~第5ビットに集約されているデータを当該第2~第5ビットに対応する第2~第5フレームFR2~FR5の最上位ビットに設定する処理の処理構成を簡素化することができる。
コマンド受信対応処理(図82)の説明に戻り、ステップS4708にて最上位設定処理を行った後、ステップS4709~ステップS4714では、上記第1の実施形態におけるコマンド受信対応処理(図52)のステップS3010~ステップS3015と同様の処理を行う。具体的には、演出側RAM94における第2書き込みポインタ129(図80(a))の値を把握することによりコマンド格納バッファ126における書き込み先のエリアを把握する(ステップS4709)。その後、最上位設定エリア134に格納されている変換後開始時コマンド又は変換後終了時コマンドをステップS4709にて把握した書き込み先のエリアに設定する(ステップS4710)。これにより、変換後開始時コマンド又は変換後終了時コマンドがコマンド格納バッファ126に格納されている状態として、当該変換後開始時コマンド又は変換後終了時コマンドを演出側MPU92にて利用可能な状態とすることができる。
その後、第2書き込みポインタ129の値を更新する(ステップS4711)。ステップS4711では、ステップS4710にて変換後開始時コマンドのデータをコマンド格納バッファ126に書き込んだ場合には第2書き込みポインタ129の値に当該変換後開始時コマンドのデータ容量である「8」を加算し、ステップS4710にて変換後終了時コマンドのデータをコマンド格納バッファ126に書き込んだ場合には第2書き込みポインタ129の値に当該変換後終了時コマンドのデータ容量である「11」を加算する。ステップS4711では、「8」又は「11」を加算する演算の演算結果が最大値である「63」を超える場合、当該演算結果よりも「64」小さい値が第2書き込みポインタ129に設定されている状態とする。例えば、「8」又は「11」を加算する演算の演算結果が最大値である「63」を超える「64」である場合、当該演算結果(「64」)よりも「64」小さい「0」が第2書き込みポインタ129に設定されている状態とする。
その後、ステップS4710にてコマンド格納バッファ126に格納したコマンドが変換後開始時コマンドである場合(ステップS4712:YES)には演出側RAM94の開始時受信フラグに「1」をセットする(ステップS4713)。これにより、開始時コマンドを受信したことを演出側MPU92にて把握可能とすることができる。一方、ステップS4710にてコマンド格納バッファ126に格納したコマンドが変換後開始時コマンドではない場合(ステップS4712:NO)、すなわちステップS4710にてコマンド格納バッファ126に格納したコマンドが変換後終了時コマンドである場合には、演出側RAM94の終了時受信フラグに「1」をセットする(ステップS4714)。これにより、終了時コマンドを受信したことを演出側MPU92にて把握可能とすることができる。ステップS4713又はステップS4714の処理を行った場合には、最上位設定エリア134の第1~第11エリアRC1~RC11を「0」クリアして(ステップS4715)、本コマンド受信対応処理を終了する。
ステップS4706にて否定判定を行った場合、ステップS4716~ステップS4723では上記第1の実施形態におけるコマンド受信対応処理(図52)のステップS3017~ステップS3024と同様の処理を実行する。具体的には、受信後待機バッファ122に入賞結果コマンドであることを示すヘッダHDのデータが格納されている場合(ステップS4716:YES)、演出側RAM94における第2書き込みポインタ129の値を把握することによりコマンド格納バッファ126における書き込み先のエリアを把握し(ステップS4717)、受信後待機バッファ122に格納されている入賞結果コマンドをステップS4717にて把握した書き込み先のエリアに設定する(ステップS4718)。これにより、入賞結果コマンドがコマンド格納バッファ126に格納されている状態として、当該入賞結果コマンドを演出側MPU92にて利用可能な状態とすることができる。
その後、第2書き込みポインタ129の値を更新する(ステップS4719)。ステップS4719では、ステップS4718にてコマンド格納バッファ126に書き込んだ入賞結果コマンドのデータ容量である「5」を第2書き込みポインタ129の値に加算する。ステップS4719では、「5」を加算する演算の演算結果が最大値である「63」を超える場合、当該演算結果よりも「64」小さい値が第2書き込みポインタ129に設定されている状態とする。例えば、「5」を加算する演算の演算結果が最大値である「63」を超える「64」である場合、当該演算結果(「64」)よりも「64」小さい「0」が第2書き込みポインタ129に設定されている状態とする。
その後、受信後待機バッファ122のクリア処理を実行する(ステップS4720)。ステップS4720における受信後待機バッファ122のクリア処理では、受信後待機バッファ122において入賞結果コマンドが格納されていたエリアを「0」クリアする。これにより、受信後待機バッファ122に次のコマンドを格納するための空き領域を確保することができる。その後、受信後待機バッファ122における読み込みポインタ128の値を当該入賞結果コマンドの最後尾(フッタFTのデータ)が格納されていたエリアの次のエリアに対応する値に更新し(ステップS4721)、演出側RAM94の入賞結果受信フラグに「1」をセットして(ステップS4722)、本コマンド受信対応処理を終了する。ステップS4722にて入賞結果受信フラグに「1」がセットされることにより、入賞結果受信対応処理(図56)にてステップS3402以降の処理が実行されることとなる。
ステップS4716にて否定判定を行った場合には、その他のコマンドの受信対応処理を実行して(ステップS4723)、本コマンド受信対応処理を終了する。ステップS4723におけるその他のコマンドの受信対応処理では、まず演出側RAM94における第2書き込みポインタ129の値を把握することによりコマンド格納バッファ126における書き込み先のエリアを把握し、当該把握した書き込み先のエリアにステップS4703にて移動対象のコマンドとして把握したコマンド(例えば復電コマンド)を設定する。その後、ステップS4711及びステップS4719と同様に、第2書き込みポインタ129の値を更新する。その後、受信後待機バッファ122において移動対象のコマンドが格納されていたエリアを「0」クリアする。これにより、受信後待機バッファ122に次のコマンドを格納するための空き領域を確保することができる。その後、受信後待機バッファ122における読み込みポインタ128の値を当該移動対象のコマンドの最後尾(フッタFTのデータ)が格納されていたエリアの次のエリアに対応する値に更新する。
以上詳述した本実施形態によれば、以下の優れた効果を奏する。
共通データテーブル73fには、第1設定範囲及び第2設定範囲が設定されているとともに、第1除外範囲及び第2除外範囲が設定されている。開始時コマンドには、第1設定範囲及び第2設定範囲に設定されているアドレスに基づいて把握される記憶エリアに格納されているデータが設定される一方、第1除外範囲及び第2除外範囲に設定されているアドレスに基づいて把握される記憶エリアに格納されているデータは設定されない。これにより、ゲームの開始時に演出側MPU92にて必要となるデータのみを開始時コマンドに設定することができる。
ゲームの開始時に演出側MPU92にて必要となるデータのみが開始時コマンドに設定される構成とすることにより、主側MPU72から演出側MPU92に送信される開始時コマンドのデータ容量を低減することができる。また、開始時コマンドを受信した演出側MPU92が当該開始時コマンドに設定されているデータのうちゲームの開始時に演出側MPU92にて必要となるデータのみを抽出する処理を不要とすることができる。これにより、開始時コマンドを受信した場合における演出側MPU92の処理負荷を軽減することができる。
共通データテーブル73fには、第3設定範囲及び第4設定範囲が設定されているとともに、第3除外範囲及び第4除外範囲が設定されている。終了時コマンドには、第3設定範囲及び第4設定範囲に設定されているアドレスに基づいて把握される記憶エリアに格納されているデータが設定される一方、第3除外範囲及び第4除外範囲に設定されているアドレスに基づいて把握される記憶エリアに格納されているデータは設定されない。これにより、ゲームの終了時に演出側MPU92にて必要となるデータのみを終了時コマンドに設定することができる。
ゲームの終了時に演出側MPU92にて必要となるデータのみが終了時コマンドに設定される構成とすることにより、主側MPU72から演出側MPU92に送信される終了時コマンドのデータ容量を低減することができる。また、終了時コマンドを受信した演出側MPU92が当該終了時コマンドに設定されているデータのうちゲームの終了時に演出側MPU92にて必要となるデータのみを抽出する処理を不要とすることができる。これにより、終了時コマンドを受信した場合における演出側MPU92の処理負荷を軽減することができる。
主側RAM74において、最上位集約用エリア74vに最上位ビットのデータが設定される記憶エリアとして、AT継続カウンタ74uの下位エリア及び上位エリア、継続ゲーム数カウンタ74rの下位エリア及び上位エリア、並びに合計獲得数カウンタ74sの下位エリア及び上位エリアが存在している。当該6つの記憶エリアのうち、開始時コマンドにデータが設定される記憶エリアはAT継続カウンタ74uの下位エリア及び上位エリアであるとともに、終了時コマンドにデータが設定される記憶エリアは継続ゲーム数カウンタ74rの下位エリア及び上位エリア、並びに合計獲得数カウンタ74sの下位エリア及び上位エリアである。このように、最上位集約用エリア74vに最上位ビットのデータが集約される対象となる6つの記憶エリアのうち開始時コマンドにデータが設定される記憶エリアと終了時コマンドにデータが設定される記憶エリアとが異なっている構成において、開始時コマンドを送信する場合及び終了時コマンドを送信する場合のいずれにおいても当該6つの記憶エリアにおける最上位ビットのデータを最上位集約用エリア74vに集約する処理(ステップS4602の最上位集約処理)が実行される構成である。このため、開始時コマンドを送信する場合には当該6つの記憶エリアのうち開始時コマンドにデータが設定される記憶エリアのみについて最上位ビットのデータを最上位集約用エリア74vに設定する処理を実行するとともに終了時コマンドを送信する場合には当該6つの記憶エリアのうち終了時コマンドにデータが設定される記憶エリアのみについて最上位ビットのデータを最上位集約用エリア74vに設定する処理を実行する構成と比較して、最上位集約用エリア74vに最上位ビットのデータを設定する処理の処理構成を簡素化することができる。
開始時コマンド又は終了時コマンドを送信する場合、まずAT継続カウンタ74uの下位エリア及び上位エリア、継続ゲーム数カウンタ74rの下位エリア及び上位エリア、並びに合計獲得数カウンタ74sの下位エリア及び上位エリアにおける最上位ビットのデータを最上位集約用エリア74vの第0~第5ビットに設定する処理(ステップS4602における最上位集約処理)を行い、その後に、開始時コマンドを送信する場合であればゲームの開始時に演出側MPU92にて必要となるデータを送信待機バッファ112に設定するとともに、終了時コマンドを送信する場合であればゲームの終了時に演出側MPU92にて必要となるデータを送信待機バッファ112に設定する。主側RAM74において開始時コマンドにデータが設定される記憶エリアの一部のみが終了時コマンドにデータが設定される記憶エリアと共通している構成において、AT継続カウンタ74uの下位エリア及び上位エリア、継続ゲーム数カウンタ74rの下位エリア及び上位エリア、並びに合計獲得数カウンタ74sの下位エリア及び上位エリアにおける最上位ビットのデータを最上位集約用エリア74vの第0~第5ビットに設定する処理(ステップS4602における最上位集約処理)は同一のサブルーチンのプログラムを利用して実行される。これにより、当該処理を実行するための主側ROM73に記憶されるプログラムのデータ容量が低減されている。
AT継続カウンタ74uの下位エリア及び上位エリアに格納されているデータは、開始時コマンドにおいて連続する第2~第3フレームFR2~FR3に設定される。このため、演出側転送先カウンタの値を1加算する処理(ステップS4813の処理)を繰り返し実行することにより最上位集約フレームSFに集約されているデータが設定される転送先の記憶エリアを順次更新することができる。これにより、演出側MPU92が開始時コマンドの最上位集約フレームSFにおける第0~第1ビットに集約されているデータを当該第0~第1ビットに対応する第2~第3フレームFR2~FR3の最上位ビットに設定する処理の処理構成を簡素化することができる。また、継続ゲーム数カウンタ74rの下位エリア及び上位エリア、並びに合計獲得数カウンタ74sの下位エリア及び上位エリアに格納されているデータは、終了時コマンドにおいて連続する第2~第5フレームFR2~FR5に設定される。このため、演出側転送先カウンタの値を1加算する処理(ステップS4813の処理)を繰り返し実行することにより最上位集約フレームSFに集約されているデータが設定される転送先の記憶エリアを順次更新することができる。これにより、演出側MPU92が終了時コマンドの最上位集約フレームSFにおける第2~第5ビットに集約されているデータを当該第2~第5ビットに対応する第2~第5フレームFR2~FR5の最上位ビットに設定する処理の処理構成を簡素化することができる。
<第6の実施形態>
本実施形態では、開始時コマンド及び終了時コマンドを送信する場合に参照される共通データテーブル73gの構成が上記第5の実施形態と相違している。以下、上記第5の実施形態と相違する構成について説明する。なお、上記第5の実施形態と同一の構成については基本的にその説明を省略する。
共通データテーブル73gは主側ROM73に記憶されている。図84(a)は共通データテーブル73gの構成を説明するための説明図である。図84(a)に示すように、共通データテーブル73gは、主側ROM73において連続する「9101H」~「911AH」のアドレス範囲に設定されている。
共通データテーブル73gには、連続する「9101H」~「910CH」のアドレス範囲に第11設定範囲が設定されているとともに、連続する「9109H」~「911AH」のアドレス範囲に第12設定範囲が設定されている。第11設定範囲には、主側RAM74に多数設けられている1バイトの記憶エリアのうち開始時コマンドにデータが設定される複数(具体的には6つ)の記憶エリアのアドレスが設定されているとともに、第12設定範囲には、主側RAM74に多数設けられている1バイトの記憶エリアのうち終了時コマンドにデータが設定される複数(具体的には9つ)の記憶エリアのアドレスが設定されている。
主側RAM74において開始時コマンドにデータが設定される記憶エリアは、上記第1の実施形態と同様に、AT継続カウンタ74uの下位エリア及び上位エリア、ベット数設定カウンタ74b、停止順種別カウンタ74m、遊技状態エリア77、並びに最上位集約用エリア74vであり、第11設定範囲にはこれら6つの記憶エリアを特定するためのアドレスが設定されている。以下では、当該6つの記憶エリアを「第11設定範囲に含まれている主側RAM74の記憶エリア」ともいう。
主側RAM74において終了時コマンドにデータが設定される記憶エリアは、上記第1の実施形態と同様に、遊技状態エリア77、最上位集約用エリア74v、継続ゲーム数カウンタ74rの下位エリア及び上位エリア、合計獲得数カウンタ74sの下位エリア及び上位エリア、遊技区間エリア76、疑似ボーナス継続カウンタ74t、並びに付与数カウンタ74eであり、第12設定範囲にはこれら9つの記憶エリアを特定するためのアドレスが設定されている。以下では、当該9つの記憶エリアを「第12設定範囲に含まれている主側RAM74の記憶エリア」ともいう。
主側RAM74において開始時コマンドにデータが設定される6つの記憶エリアのうち遊技状態エリア77及び最上位集約用エリア74vは、終了時コマンドにデータが設定される記憶エリアでもある。このように、主側RAM74において、開始時コマンドにデータが設定される複数の記憶エリアのうち一部の記憶エリアのみが終了時コマンドにデータが設定される複数の記憶エリアと重複している。
上記第1の実施形態において既に説明したとおり、AT継続カウンタ74uの下位エリア、継続ゲーム数カウンタ74rの下位エリア及び合計獲得数カウンタ74sの下位エリアは、最上位ビット(第0~第7ビットにおける第7ビット)に「1」がセットされ得る記憶エリアである。図84(a)に示すように、共通データテーブル73gの第11設定範囲において連続する「9101H」~「9104H」のアドレス範囲には第1集約範囲が設定されている。第1集約範囲には、主側RAM74において開始時コマンドにデータが設定される6つの記憶エリアのうち、最上位ビットに格納されているデータが最上位集約用エリア74vに集約されるAT継続カウンタ74uの下位エリア及び上位エリアのアドレスが設定されている。AT継続カウンタ74uの下位エリアにおける最上位ビットのデータは最上位集約用エリア74vの第0ビットに設定されるとともに、AT継続カウンタ74uの上位エリアにおける最上位ビットのデータは最上位集約用エリア74vの第1ビットに設定される。以下では、第1集約範囲に設定されている主側RAM74のアドレスに基づいて特定されるAT継続カウンタ74uの下位エリア及び上位エリアを「第1集約範囲に含まれている主側RAM74の記憶エリア」ともいう。
共通データテーブル73gの第12設定範囲において連続する「910DH」~「9114H」のアドレス範囲には第2集約範囲が設定されている。第2集約範囲には、主側RAM74において終了時コマンドにデータが設定される9つの記憶エリアのうち、最上位ビットに格納されているデータが最上位集約用エリア74vに集約される継続ゲーム数カウンタ74rの下位エリア及び上位エリア、並びに合計獲得数カウンタ74sの下位エリア及び上位エリアのアドレスが設定されている。継続ゲーム数カウンタ74rの下位エリアにおける最上位ビットのデータは最上位集約用エリア74vの第0ビットに設定されるとともに、継続ゲーム数カウンタ74rの上位エリアにおける最上位ビットのデータは最上位集約用エリア74vの第1ビットに設定される。また、合計獲得数カウンタ74sの下位エリアにおける最上位ビットのデータは最上位集約用エリア74vの第2ビットに設定されるとともに、合計獲得数カウンタ74sの上位エリアにおける最上位ビットのデータは最上位集約用エリア74vの第3ビットに設定される。以下では、第2集約範囲に設定されている主側RAM74のアドレスに基づいて特定される継続ゲーム数カウンタ74rの下位エリア及び上位エリア、並びに合計獲得数カウンタ74sの下位エリア及び上位エリアを「第2集約範囲に含まれている主側RAM74の記憶エリア」ともいう。
図84(b)は開始時コマンドのデータ構成を説明するための説明図であり、図84(c)は終了時コマンドのデータ構成を説明するための説明図である。図84(b)に示すように、開始時コマンドには、第11設定範囲(「9101H」~「910CH」)に設定されているアドレスに基づいて把握されるAT継続カウンタ74uの下位エリア、AT継続カウンタ74uの上位エリア、ベット数設定カウンタ74b、停止順種別カウンタ74m、遊技状態エリア77及び最上位集約用エリア74vのデータが設定される。これらのデータは、ゲームの開始時に演出側MPU92にて必要となるデータである。このように、ゲームの開始時に演出側MPU92にて必要となるデータのみが開始時コマンドに設定される構成とすることにより、主側MPU72から演出側MPU92に送信される開始時コマンドのデータ容量を低減することができる。また、開始時コマンドを受信した演出側MPU92が当該開始時コマンドに設定されているデータのうちゲームの開始時に演出側MPU92にて必要となるデータのみを抽出する処理を不要とすることができる。これにより、開始時コマンドを受信した場合における演出側MPU92の処理負荷を軽減することができる。
図84(c)に示すように、終了時コマンドには、第12設定範囲(「9109H」~「911AH」)に設定されているアドレスに基づいて把握される遊技状態エリア77、最上位集約用エリア74v、継続ゲーム数カウンタ74rの下位エリア、継続ゲーム数カウンタ74rの上位エリア、合計獲得数カウンタ74sの下位エリア、合計獲得数カウンタ74sの上位エリア、遊技区間エリア76、疑似ボーナス継続カウンタ74t及び付与数カウンタ74eのデータが設定される。これらのデータは、ゲームの終了時に演出側MPU92にて必要となるデータである。このように、ゲームの終了時に演出側MPU92にて必要となるデータのみが終了時コマンドに設定される構成とすることにより、主側MPU72から演出側MPU92に送信される終了時コマンドのデータ容量を低減することができる。また、終了時コマンドを受信した演出側MPU92が当該終了時コマンドに設定されているデータのうちゲームの終了時に演出側MPU92にて必要となるデータのみを抽出する処理を不要とすることができる。これにより、終了時コマンドを受信した場合における演出側MPU92の処理負荷を軽減することができる。
上記第5の実施形態と同様に、開始時コマンドは8個のフレーム(第1~第8フレームFR1~FR8)からなる。演出側MPU92は受信した開始時コマンドの第1~第8フレームFR1~FR8を演出側RAM94における最上位設定エリア134の第1~第8エリアRC1~RC8に設定する。図84(b)に示すように、主側RAM74におけるAT継続カウンタ74uの下位エリアのデータが設定されている第2フレームFR2は第2エリアRC2に設定され、AT継続カウンタ74uの上位エリアのデータが設定されている第3フレームFR3は第3エリアRC3に設定され、最上位集約用エリア74vのデータが設定されている最上位集約フレームSF(第7フレームFR7)は第7エリアRC7に設定される。上述したとおり、主側RAM74におけるAT継続カウンタ74uの下位エリアの最上位ビットに格納されているデータは最上位集約フレームSFの第0ビットに設定されているとともに、AT継続カウンタ74uの上位エリアの最上位ビットに格納されているデータは最上位集約フレームSFの第1ビットに設定されている。演出側MPU92は、当該第7エリアRC7における第0ビットのデータを第2エリアRC2の最上位ビットに設定するとともに、第7エリアRC7における第1ビットのデータを第3エリアRC3の最上位ビットに設定することにより、変換後開始時コマンドを生成する。そして、当該生成した変換後開始時コマンドをコマンド格納バッファ126に格納する。これにより、演出側MPU92にて変換後開始時コマンドを利用可能な状態とすることができる。
上記第5の実施形態と同様に、終了時コマンドは11個のフレーム(第1~第11フレームFR1~FR11)からなる。演出側MPU92は受信した終了時コマンドの第1~第11フレームFR1~FR11を最上位設定エリア134の第1~第11エリアRC1~RC11に設定する。図84(c)に示すように、主側RAM74における最上位集約用エリア74vのデータが設定されている最上位集約フレームSF(第3フレームFR3)は第3エリアRC3に設定され、継続ゲーム数カウンタ74rの下位エリアのデータが設定されている第4フレームFR4は第4エリアRC4に設定され、継続ゲーム数カウンタ74rの上位エリアのデータが設定されている第5フレームFR5は第5エリアRC5に設定され、合計獲得数カウンタ74sの下位エリアのデータが設定されている第6フレームFR6は第6エリアRC6に設定され、合計獲得数カウンタ74sの上位エリアのデータが設定されている第7フレームFR7は第7エリアRC7に設定される。上述したとおり、継続ゲーム数カウンタ74rの下位エリアの最上位ビットに格納されているデータは最上位集約フレームSFの第0ビットに設定されており、継続ゲーム数カウンタ74rの上位エリアの最上位ビットに格納されているデータは最上位集約フレームSFの第1ビットに設定されており、合計獲得数カウンタ74sの下位エリアの最上位ビットに格納されているのデータは最上位集約フレームSFの第2ビットに設定されており、合計獲得数カウンタ74sの上位エリアの最上位ビットに格納されているのデータは最上位集約フレームSFの第3ビットに設定されている。演出側MPU92は、当該第3エリアRC3における第0ビットのデータを第4エリアRC4の最上位ビットに設定し、第3エリアRC3における第1ビットのデータを第5エリアRC5の最上位ビットに設定し、第3エリアRC3における第2ビットのデータを第6エリアRC6の最上位ビットに設定し、第3エリアRC3における第3ビットのデータを第7エリアRC7の最上位ビットに設定することにより、変換後終了時コマンドを生成する。そして、当該生成した変換後終了時コマンドをコマンド格納バッファ126に格納する。これにより、演出側MPU92にて変換後終了時コマンドを利用可能な状態とすることができる。
図85は主側RAM74の構成を説明するための説明図である。主側RAM74には、上記第5の実施形態と同様に、転送先カウンタ115、ビット指定カウンタ117及び転送元アドレスカウンタ132が設けられているとともに、上記第1の実施形態と同様に、転送回数カウンタ114が設けられている。上記第1の実施形態において既に説明したとおり、転送回数カウンタ114は、共通コマンド送信処理における転送対象範囲に含まれている記憶エリアに格納されているデータを送信待機バッファ112に転送する回数、及び最上位集約処理における転送対象範囲に含まれている記憶エリアの最上位ビットに格納されているデータを最上位集約用エリア74vに転送する回数を主側MPU72にて把握可能とする1バイトのカウンタである。
本実施形態において、開始時コマンドを送信する場合、共通コマンド送信処理における転送対象範囲は第11設定範囲であるとともに、最上位集約処理における転送対象範囲は第1集約範囲である。また、終了時コマンドを送信する場合、共通コマンド送信処理における転送対象範囲は第12設定範囲であるとともに、最上位集約処理における転送対象範囲は第2集約範囲である。
次に、主側MPU72にて実行される共通コマンド送信処理について図86のフローチャートを参照しながら説明する。上記第1の実施形態において既に説明したとおり、共通コマンド送信処理は、コマンド出力処理(図44)において主側RAM74の開始時コマンドフラグに「1」がセットされている場合(ステップS2707:YES)、又は主側RAM74の終了時コマンドフラグに「1」がセットされている場合(ステップS2708:YES)に、ステップS2709にて実行される。
共通コマンド送信処理では、まず主側ROM73に記憶されている共通データテーブル73gを読み出し(ステップS4901)、最上位集約処理を実行する(ステップS4902)。図87は最上位集約処理を示すフローチャートである。
最上位集約処理では、ステップS5001~ステップS5003にて上記第4の実施形態における最上位集約処理(図78)のステップS4501~ステップS4503と同様の処理を実行する。具体的には、主側RAM74の転送先カウンタ115に主側RAM74における最上位集約用エリア74vのアドレスを設定する(ステップS5001)。これにより、転送先の記憶エリアとして最上位集約用エリア74vを設定することができる。その後、最上位集約用エリア74vを「0」クリアし(ステップS5002)、主側RAM74におけるビット指定カウンタ117の値を「0」クリアする(ステップS5003)。これにより、転送先ビットとして最上位集約用エリア74vの第0ビットを設定することができる。
その後、主側RAM74の開始時コマンドフラグに「1」がセットされている場合(ステップS5004:YES)、すなわち開始時コマンドを送信する場合には、第1集約範囲(「9101H」~「9104H」)の開始アドレスである「9101H」を転送元アドレスカウンタ132に設定する(ステップS5005)。これにより、共通データテーブル73gにおける「9101H」~「9102H」のアドレス範囲に設定されているアドレスに基づいて、AT継続カウンタ74uの下位エリアを転送元の記憶エリアとして把握可能となる。その後、第1集約範囲に含まれている主側RAM74の記憶エリアの数である「2」を転送回数として主側RAM74の転送回数カウンタ114に設定する(ステップS5006)。
一方、主側RAM74の開始時コマンドフラグに「1」がセットされていない場合(ステップS5004:NO)、すなわち終了時コマンドを送信する場合には、第2集約範囲(「910DH」~「9114H」)の開始アドレスである「910DH」を転送元アドレスカウンタ132に設定する(ステップS5007)。これにより、共通データテーブル73gにおける「910DH」~「910EH」のアドレス範囲に設定されているアドレスに基づいて、継続ゲーム数カウンタ74rの下位エリアを転送元の記憶エリアとして把握可能となる。その後、第2集約範囲に含まれている主側RAM74の記憶エリアの数である「4」を転送回数として転送回数カウンタ114に設定する(ステップS5008)。
ステップS5006又はステップS5008の処理を行った後は、上記第4の実施形態における最上位集約処理(図78)のステップS4506と同様に、転送元の記憶エリアにおける最上位ビットのデータを転送先ビットに転送する(ステップS5009)。ステップS5009では、共通データテーブル73gにおいて転送元アドレスカウンタ132に設定されているアドレスに対応する記憶エリアのデータに基づいて主側RAM74における転送元の記憶エリアのアドレスを特定するとともに、転送先カウンタ115のデータ及びビット指定カウンタ117の値に基づいて転送先ビットを特定する。その後、転送回数カウンタ114の値を1減算し(ステップS5010)、当該1減算後の転送回数カウンタ114の値が「0」であるか否かを判定する(ステップS5011)。
ステップS5011にて否定判定を行った場合には、転送元アドレスカウンタ132の値を2加算することにより転送元の記憶エリアを更新する(ステップS5012)。ステップS5009~ステップS5013の処理はステップS5011にて肯定判定が行われるまで繰り返し実行される処理である。ステップS5012では、開始時コマンドを送信する場合に「9101H」→「9103H」の順番で、転送元アドレスカウンタ132に格納されているアドレスが更新されるとともに、終了時コマンドを送信する場合に「910DH」→「910FH」→「9111H」→「9113H」の順番で、転送元アドレスカウンタ132に格納されているアドレスが更新される。
その後、ビット指定カウンタ117の値を1加算することにより最上位集約用エリア74vにおける転送先ビットを更新する(ステップS5013)。ステップS5013では、開始時コマンドを送信する場合に第0ビット→第1ビットの順番で、最上位集約用エリア74vにおける転送先ビットが更新されるとともに、終了時コマンドを送信する場合に第0ビット→第1ビット→第2ビット→第3ビットの順番で、最上位集約用エリア74vにおける転送先ビットが更新される。
その後、ステップS5009に進み、ステップS5011にて肯定判定が行われるまで、ステップS5009~ステップS5013の処理を繰り返し実行する。これにより、開始時コマンドを送信する場合には第1集約範囲に含まれている主側RAM74の記憶エリアの最上位ビットに格納されているデータを最上位集約用エリア74vの第0~第1ビットに設定することができるとともに、終了時コマンドを送信する場合には第2集約範囲に含まれている主側RAM74の記憶エリアの最上位ビットに格納されているデータを最上位集約用エリア74vの第0~第3ビットに設定することができる。ステップS5011にて肯定判定を行った場合には、本最上位集約処理を終了する。
上記のとおり、共通データテーブル73gにおいて第1集約範囲は連続する「9101H」~「9104H」のアドレス範囲に設定されている。このため、転送元アドレスカウンタ132の値を2加算する処理(ステップS5012の処理)を繰り返し実行することにより転送元の記憶エリアを順次更新することができる。また、第2集約範囲は連続する「910DH」~「9114H」のアドレス範囲に設定されている。このため、転送元アドレスカウンタ132の値を2加算する処理(ステップS5012の処理)を繰り返し実行することにより転送元の記憶エリアを順次更新することができる。これにより、転送元の記憶エリアを順次更新するための処理構成が簡素化されている。
第1集約範囲が連続するアドレス範囲であるため、ステップS5005にて第1集約範囲の開始アドレス(「9101H」)を転送元アドレスカウンタ132にセットするとともに、ステップS5006にて第1集約範囲に含まれている主側RAM74の記憶エリアの数(「2」)を転送回数カウンタ114にセットすることにより第1集約範囲を指定することができる。これにより、第1集約範囲を指定するための処理構成が簡素化されている。また、第2集約範囲が連続するアドレス範囲であるため、ステップS5007にて第2集約範囲の開始アドレス(「910DH」)を転送元アドレスカウンタ132にセットするとともに、ステップS5008にて第2集約範囲に含まれている主側RAM74の記憶エリアの数(「4」)を転送回数カウンタ114にセットすることにより第2集約範囲を指定することができる。これにより、第2集約範囲を指定するための処理構成が簡素化されている。
最上位ビットに格納されているデータが集約されるコマンドとして、開始時コマンドと、当該開始時コマンドとは最上位ビットに格納されているデータの集約が行われる対象となる主側RAM74の記憶エリアが異なる終了時コマンドとが存在している。送信対象となるコマンドの種類に応じて最上位集約処理における転送対象範囲(第1集約範囲又は第2集約範囲)の開始アドレス及び転送回数の情報を変動させることにより、共通の最上位集約処理を利用して、開始時コマンドを送信する場合には第1集約範囲に含まれている主側RAM74の記憶エリアの最上位ビットに格納されているデータを最上位集約用エリア74vに集約することができるとともに、終了時コマンドを送信する場合には第2集約範囲に含まれている主側RAM74の記憶エリアの最上位ビットに格納されているデータを最上位集約用エリア74vに集約することができる。このため、開始時コマンドを送信する場合に最上位ビットに格納されているデータを集約する処理とは別の処理として、終了時コマンドを送信する場合に最上位ビットに格納されているデータを集約する処理が設けられている構成と比較して、最上位ビットに格納されているデータを集約する処理を実行するために主側ROM73に記憶されるプログラムのデータ容量を低減することができる。
共通コマンド送信処理(図86)の説明に戻り、ステップS4902にて最上位集約処理を実行した後は、ステップS4903~ステップS4905にて上記第5の実施形態における共通コマンド送信処理(図81)のステップS4603~ステップS4605と同様の処理を実行する。具体的には、送信回路85における書き込みポインタ113の値を把握することにより送信待機バッファ112における書き込み先のエリアを把握する(ステップS4903)。その後、主側RAM74における開始時コマンドフラグに「1」がセットされている場合(ステップS4904:YES)、すなわち開始時コマンドを送信する場合には、主側ROM73に記憶されている開始時コマンドであることを示すヘッダHDのデータをステップS4903にて把握した書き込み先のエリアに設定する(ステップS4905)。その後、書き込みポインタ113の値を更新することにより送信待機バッファ112における書き込み先のエリアを更新する(ステップS4906)。ステップS4906、後述するステップS4911、ステップS4917及びステップS4922では、書き込みポインタ113の値を1加算し、当該1加算後の書き込みポインタ113の値が最大値である「31」を超えた場合には当該書き込みポインタ113を「0」クリアする。
その後、第11設定範囲(「9101H」~「910CH」)の開始アドレスである「9101H」を主側RAM74の転送元アドレスカウンタ132に設定する(ステップS4907)。これにより、共通データテーブル73gにおいて「9101H」~「9102H」のアドレス範囲に設定されているアドレスに基づいてAT継続カウンタ74uの下位エリアを転送元の記憶エリアとして把握可能とすることができる。その後、第11設定範囲に含まれている主側RAM74の記憶エリアの数である「6」を転送回数として転送回数カウンタ114に設定し(ステップS4908)、開始時コマンドフラグを「0」クリアする(ステップS4909)。
一方、開始時コマンドフラグに「1」がセットされていない場合(ステップS4904:NO)、すなわち終了時コマンドを送信する場合には、主側ROM73に記憶されている終了時コマンドであることを示すヘッダHDのデータをステップS4903にて把握した書き込み先のエリアに設定する(ステップS4910)。その後、上述したステップS4906と同様に、書き込みポインタ113の値を更新することにより送信待機バッファ112における書き込み先のエリアを更新する(ステップS4911)。
その後、第12設定範囲(「9109H」~「911AH」)の開始アドレスである「9109H」を主側RAM74の転送元アドレスカウンタ132に設定する(ステップS4912)。これにより、共通データテーブル73gにおいて「9109H」~「910AH」のアドレス範囲に設定されているアドレスに基づいて遊技状態エリア77を転送元の記憶エリアとして把握可能とすることができる。その後、第12設定範囲に含まれている主側RAM74の記憶エリアの数である「9」を転送回数として転送回数カウンタ114に設定し(ステップS4913)、終了時コマンドフラグを「0」クリアする(ステップS4914)。
ステップS4909又はステップS4914の処理を行った後、ステップS4915~ステップS4917では、上記第5の実施形態における共通コマンド送信処理(図81)のステップS4610~ステップS4612と同様の処理を実行する。具体的には、転送元の記憶エリアのデータを送信待機バッファ112における書き込み先のエリアに転送する(ステップS4915)。ステップS4915では、共通データテーブル73gにおいて転送元アドレスカウンタ132に設定されているアドレスに対応する記憶エリアのデータに基づいて主側RAM74における転送元の記憶エリアのアドレスを特定する。その後、当該書き込み先のエリアにおける最上位ビット(第7ビット)に「0」をセットする(ステップS4916)。これにより、開始時コマンドを送信する場合には当該開始時コマンドの第2~第7フレームFR2~FR7の最上位ビットの値を「0」とすることができるとともに、最上位ビットの値に基づいてヘッダHDと当該第2~第7フレームFR2~FR7とを識別可能とすることができる。また、終了時コマンドを送信する場合には当該終了時コマンドの第2~第10フレームFR2~FR10の最上位ビットの値を「0」とすることができるとともに、最上位ビットの値に基づいてヘッダHDと当該第2~第10フレームFR2~FR10とを識別可能とすることができる。
その後、上述したステップS4906及びステップS4911と同様に、書き込みポインタ113の値を更新することにより送信待機バッファ112における書き込み先のエリアを更新する(ステップS4917)。その後、転送回数カウンタ114の値を1減算し(ステップS4918)、当該1減算後における転送回数カウンタ114の値が「0」であるか否かを判定する(ステップS4919)。
ステップS4919にて否定判定を行った場合には、転送元アドレスカウンタ132の値を2加算することにより転送元の記憶エリアを更新する(ステップS4920)。ステップS4915~ステップS4920の処理はステップS4919にて肯定判定が行われるまで繰り返し実行される処理である。ステップS4920では、開始時コマンドを送信する場合に「9101H」→「9103H」→…→「9109H」→「910BH」の順番で、転送元アドレスカウンタ132に格納されているアドレスが更新されるとともに、終了時コマンドを送信する場合に「9109H」→「910BH」→…→「9117H」→「9119H」の順番で、転送元アドレスカウンタ132に格納されているアドレスが更新される。
その後、ステップS4915に進み、ステップS4919にて肯定判定が行われるまで、ステップS4915~ステップS4919の処理を繰り返し実行する。これにより、開始時コマンドを送信する場合には第11設定範囲に含まれている主側RAM74の記憶エリアに格納されているデータを送信待機バッファ112に設定することができるとともに、終了時コマンドを送信する場合には第12設定範囲に含まれている主側RAM74の記憶エリアに格納されているデータを送信待機バッファ112に設定することができる。
ステップS4919にて肯定判定を行った後、ステップS4921~ステップS4922では、上記第5の実施形態における共通コマンド送信処理(図81)のステップS4623~ステップS4624と同様の処理を実行する。具体的には、送信待機バッファ112において書き込みポインタ113の値に対応する書き込み先のエリアに、主側ROM73に記憶されているフッタFTのデータを設定する(ステップS4921)。その後、上述したステップS4906、ステップS4911及びステップS4917と同様に、書き込みポインタ113の値を更新することにより送信待機バッファ112における書き込み先のエリアを更新して(ステップS4922)、本共通コマンド送信処理を終了する。
上記のとおり、主側RAM74において開始時コマンドにデータが設定される複数の記憶エリアのうち一部の記憶エリアのみが終了時コマンドにデータが設定される複数の記憶エリアと重複している構成において、共通データテーブル73gの第11設定範囲は連続する「9101H」~「910CH」のアドレス範囲に設定されている。このため、転送元アドレスカウンタ132の値を2加算する処理(ステップS4920の処理)を繰り返し実行することにより転送元の記憶エリアを順次更新することができる。これにより、第11設定範囲に含まれている主側RAM74の記憶エリアに格納されているデータを送信待機バッファ112に転送する処理の処理構成を簡素化することができる。また、共通データテーブル73gにおいて第12設定範囲は連続する「9109H」~「911AH」のアドレス範囲に設定されている。このため、転送元アドレスカウンタ132の値を2加算する処理(ステップS4920の処理)を繰り返し実行することにより転送元の記憶エリアを順次更新することができる。これにより、第12設定範囲に含まれている主側RAM74の記憶エリアに格納されているデータを送信待機バッファ112に転送する処理の処理構成を簡素化することができる。
主側MPU72は、共通の共通データテーブル73gに基づいて、開始時コマンドにデータが設定される主側RAM74の記憶エリアを特定するとともに、終了時コマンドにデータが設定される主側RAM74の記憶エリアを特定する。このため、開始時コマンドにデータが設定される主側RAM74の記憶エリアを特定するために参照されるデータテーブルとは別のデータテーブルとして終了時コマンドにデータが設定される主側RAM74の記憶エリアを特定するために参照されるデータテーブルが主側ROM73に記憶されている構成と比較して、開始時コマンドにデータが設定される主側RAM74の記憶エリア及び終了時コマンドにデータが設定される主側RAM74の記憶エリアを特定するためのデータテーブルのデータ容量を低減することができる。これにより、当該データテーブルを記憶しておく主側ROM73のデータ容量を低減することができる。
第11設定範囲が連続するアドレス範囲であるため、ステップS4908にて第11設定範囲の開始アドレス(「9101H」)を転送元アドレスカウンタ132にセットするとともに、ステップS4909にて第11設定範囲に含まれている主側RAM74の記憶エリアの数(「6」)を転送回数カウンタ114にセットすることにより第11設定範囲を指定することができる。これにより、第11設定範囲を指定するための処理構成が簡素化されている。また、第12設定範囲が連続するアドレス範囲であるため、ステップS4912にて第12設定範囲の開始アドレス(「9109H」)を転送元アドレスカウンタ132にセットするとともに、ステップS4913にて第12設定範囲に含まれている主側RAM74の記憶エリアの数(「9」)を転送回数カウンタ114にセットすることにより第12設定範囲を指定することができる。これにより、第12設定範囲を指定するための処理構成が簡素化されている。
送信対象となるコマンドの種類に応じて共通コマンド送信処理における転送対象範囲(第11設定範囲又は第12設定範囲)の開始アドレス及び転送回数の情報を変動させることにより、共通の共通コマンド送信処理を利用して、開始時コマンドを送信する場合には第11設定範囲に含まれている主側RAM74の記憶エリアに格納されているデータを送信待機バッファ112に設定することができるとともに、終了時コマンドを送信する場合には第12設定範囲に含まれている主側RAM74の記憶エリアに格納されているデータを送信待機バッファ112に設定することができる。このため、開始時コマンドを送信する場合に送信待機バッファ112に主側RAM74のデータを転送する処理とは別の処理として、終了時コマンドを送信する場合に送信待機バッファ112に主側RAM74のデータを転送する処理が設けられている構成と比較して、送信待機バッファ112に主側RAM74のデータを転送する処理を実行するために主側ROM73に記憶されるプログラムのデータ容量を低減することができる。
次に、演出側MPU92にて実行される最上位設定処理について図88のフローチャートを参照しながら説明する。上記第5の実施形態において既に説明したとおり、最上位設定処理はコマンド受信対応処理(図82)のステップS4708にて実行される。
最上位設定処理では、ステップS5101~ステップS5103にて上記第5の実施形態における最上位設定処理(図83)のステップS4801~ステップS4803と同様の処理を実行する。具体的には、まず受信後待機バッファ122に格納されている開始時コマンド又は終了時コマンドを演出側RAM94の最上位設定エリア134に設定する(ステップS5101)。ステップS5101では、受信後待機バッファ122に開始時コマンドが格納されている場合には、当該開始時コマンドの第1~第8フレームFR1~FR8を最上位設定エリア134の第1~第8エリアRC1~RC8に設定するとともに、受信後待機バッファ122に終了時コマンドが格納されている場合には、当該終了時コマンドの第1~第11フレームFR1~FR11を最上位設定エリア134の第1~第11エリアRC1~RC11に設定する。
その後、受信後待機バッファ122のクリア処理を実行する(ステップS5102)。当該クリア処理では、受信後待機バッファ122において開始時コマンド又は終了時コマンドが格納されていたエリアを「0」クリアする。これにより、受信後待機バッファ122に次のコマンドを格納するための空き領域を確保することができる。その後、受信後待機バッファ122における読み込みポインタ128の値を当該開始時コマンド又は終了時コマンドの最後尾(フッタFTのデータ)が格納されていた記憶エリアの次の記憶エリアに対応する値に更新する(ステップS5103)。
その後、演出側RAM94における演出側ビット指定カウンタの値を「0」クリアする(ステップS5104)。上記第1の実施形態において既に説明したとおり、演出側ビット指定カウンタは、転送元の記憶エリアにおける転送元ビットを演出側MPU92にて把握可能とするカウンタである。
その後、ステップS5101にて最上位設定エリア134に設定したコマンドが開始時コマンドである場合(ステップS5105:YES)、最上位設定エリア134における第7エリアRC7のアドレスを演出側RAM94における演出側転送元カウンタにセットする(ステップS5106)。既に説明したとおり、第7エリアRC7は開始時コマンドの最上位集約フレームSFが設定されているエリアである。上記第1の実施形態において既に説明したとおり、演出側転送元カウンタは、データの転送元の記憶エリアを演出側MPU92にて把握可能とするカウンタである。ステップS5106にて第7エリアRC7のアドレスを演出側転送元カウンタにセットすることにより、当該第7エリアRC7を転送元の記憶エリアに設定することができる。上述したとおり、ステップS5104にて演出側ビット指定カウンタの値が「0」クリアされているため、第7エリアRC7における第0ビットを転送元ビットに設定することができる。
その後、最上位設定エリア134における第2エリアRC2のアドレスを演出側RAM94における演出側転送先カウンタにセットする(ステップS5107)。上記第1の実施形態において既に説明したとおり、演出側転送先カウンタは、転送先の記憶エリアを演出側MPU92にて把握可能とするカウンタである。ステップS5107にて第2エリアRC2のアドレスを演出側転送先カウンタに設定することにより、当該第2エリアRC2を転送先の記憶エリアとすることができる。
一方、ステップS5101にて最上位設定エリア134に設定したコマンドが開始時コマンドではなく終了時コマンドである場合(ステップS5105:NO)、最上位設定エリア134における第3エリアRC3のアドレスを演出側RAM94における演出側転送元カウンタにセットする(ステップS5108)。既に説明したとおり、第3エリアRC3は開始時コマンドの最上位集約フレームSFが設定されているエリアである。ステップS5108にて第3エリアRC3のアドレスを演出側転送元カウンタにセットすることにより、当該第3エリアRC3を転送元の記憶エリアに設定することができる。上述したとおり、ステップS5104にて演出側ビット指定カウンタの値が「0」クリアされているため、第3エリアRC3における第0ビットを転送元ビットに設定することができる。その後、最上位設定エリア134における第4エリアRC4のアドレスを演出側RAM94における演出側転送先カウンタにセットする(ステップS5109)。これにより、当該第4エリアRC4を転送先の記憶エリアとすることができる。
ステップS5107又はステップS5109の処理を行った後は、上記第5の実施形態における最上位設定処理(図83)のステップS4810と同様に、転送元ビットに格納されている「0」又は「1」のデータを転送先の記憶エリアにおける最上位ビットに設定する(ステップS5110)。その後、演出側ビット指定カウンタの値に基づいて、最上位集約フレームSFに集約されているデータを対応するフレームの最上位ビットに設定する処理が終了したか否かを判定する(ステップS5111)。ステップS5111では、最上位設定エリア134に設定されているコマンドが開始時コマンドである場合には、演出側ビット指定カウンタの値が「1」である場合に肯定判定を行うとともに、最上位設定エリア134に設定されているコマンドが終了時コマンドである場合には、演出側ビット指定カウンタの値が「3」である場合に肯定判定を行う。
ステップS5111にて否定判定を行った場合には、演出側ビット指定カウンタの値を1加算することにより最上位設定エリア134において最上位集約フレームSFが設定されているエリア(第7エリアRC7又は第3エリアRC3)における転送元ビットを更新する(ステップS5112)。ステップS5110~ステップS5113の処理はステップS5111にて肯定判定が行われるまで繰り返し実行される。ステップS5112では、最上位設定エリア134に開始時コマンドが設定されている場合、第0ビット→第1ビットの順番で、第7エリアRC7における転送元ビットが更新されるとともに、最上位設定エリア134に終了時コマンドが設定されている場合、第0ビット→第1ビット→第2ビット→第3ビットの順番で、第3エリアRC3における転送元ビットが更新される。
その後、演出側転送先カウンタの値を1加算することにより転送先の記憶エリアを更新する(ステップS5113)。これにより、最上位設定エリア134に開始時コマンドが設定されている場合には、第2エリアRC2→第3エリアRC3の順番で、最上位設定エリア134における転送先の記憶エリアが更新されるとともに、最上位設定エリア134に終了時コマンドが設定されている場合には、第4エリアRC4→第5エリアRC5→第6エリアRC6→第7エリアRC7の順番で、最上位設定エリア134における転送先のエリアが更新される。
ステップS5113の処理を行った後は、ステップS5110に進み、ステップS5111にて肯定判定が行われるまで、ステップS5110~ステップS5113の処理を繰り返し実行する。これにより、最上位設定エリア134に開始時コマンドが設定されている場合には、最上位集約フレームSFの第0~第1ビットに集約されているデータを当該第0~第1ビットに対応する第2~第3フレームFR2~FR3の最上位ビットに設定することができるとともに、最上位設定エリア134に終了時コマンドが設定されている場合には、最上位集約フレームSFの第0~第3ビットに集約されているデータを当該第0~第3ビットに対応する第4~第7フレームFR4~FR7の最上位ビットに設定することができる。ステップS5111にて肯定判定を行った場合には、本最上位設定処理を終了する。
上記のとおり、AT継続カウンタ74uの下位エリア及び上位エリアに格納されているデータは、開始時コマンドにおいて連続する第2~第3フレームFR2~FR3に設定される。このため、演出側転送先カウンタの値を1加算する処理(ステップS5113の処理)を繰り返し実行することにより最上位集約フレームSFに集約されているデータが設定される転送先の記憶エリアを順次更新することができる。これにより、演出側MPU92が開始時コマンドの最上位集約フレームSFにおける第0~第1ビットに集約されているデータを当該第0~第1ビットに対応する第2~第3フレームFR2~FR3の最上位ビットに設定する処理の処理構成を簡素化することができる。また、継続ゲーム数カウンタ74rの下位エリア及び上位エリア、並びに合計獲得数カウンタ74sの下位エリア及び上位エリアに格納されているデータは、終了時コマンドにおいて連続する第4~第7フレームFR4~FR7に設定される。このため、演出側転送先カウンタの値を1加算する処理(ステップS5113の処理)を繰り返し実行することにより最上位集約フレームSFに集約されているデータが設定される転送先の記憶エリアを順次更新することができる。これにより、演出側MPU92が終了時コマンドの最上位集約フレームSFにおける第0~第3ビットに集約されているデータを当該第0~第3ビットに対応する第4~第7フレームFR4~FR7の最上位ビットに設定する処理の処理構成を簡素化することができる。
以上詳述した本実施形態によれば、以下の優れた効果を奏する。
主側RAM74において開始時コマンドにデータが設定される複数の記憶エリアのうち一部の記憶エリアのみが終了時コマンドにデータが設定される複数の記憶エリアと重複している構成において、共通データテーブル73gの第11設定範囲は連続する「9101H」~「910CH」のアドレス範囲に設定されている。このため、転送元アドレスカウンタ132の値を2加算する処理(ステップS4920の処理)を繰り返し実行することにより転送元の記憶エリアを順次更新することができる。これにより、第11設定範囲に含まれている主側RAM74の記憶エリアに格納されているデータを送信待機バッファ112に転送する処理の処理構成を簡素化することができる。また、共通データテーブル73gにおいて第12設定範囲は連続する「9109H」~「911AH」のアドレス範囲に設定されている。このため、転送元アドレスカウンタ132の値を2加算する処理(ステップS4920の処理)を繰り返し実行することにより転送元の記憶エリアを順次更新することができる。これにより、第12設定範囲に含まれている主側RAM74の記憶エリアに格納されているデータを送信待機バッファ112に転送する処理の処理構成を簡素化することができる。
主側MPU72は、共通の共通データテーブル73gに基づいて、開始時コマンドにデータが設定される主側RAM74の記憶エリアを特定するとともに、終了時コマンドにデータが設定される主側RAM74の記憶エリアを特定する。このため、開始時コマンドにデータが設定される主側RAM74の記憶エリアを特定するために参照されるデータテーブルとは別のデータテーブルとして終了時コマンドにデータが設定される主側RAM74の記憶エリアを特定するために参照されるデータテーブルが主側ROM73に記憶されている構成と比較して、開始時コマンドにデータが設定される主側RAM74の記憶エリア及び終了時コマンドにデータが設定される主側RAM74の記憶エリアを特定するためのデータテーブルのデータ容量を低減することができる。これにより、当該データテーブルを記憶しておく主側ROM73のデータ容量を低減することができる。
第11設定範囲が連続するアドレス範囲であるため、ステップS4908にて第11設定範囲の開始アドレス(「9101H」)を転送元アドレスカウンタ132にセットするとともに、ステップS4909にて第11設定範囲に含まれている主側RAM74の記憶エリアの数(「6」)を転送回数カウンタ114にセットすることにより第11設定範囲を指定することができる。これにより、第11設定範囲を指定するための処理構成が簡素化されている。また、第12設定範囲が連続するアドレス範囲であるため、ステップS4912にて第12設定範囲の開始アドレス(「9109H」)を転送元アドレスカウンタ132にセットするとともに、ステップS4913にて第12設定範囲に含まれている主側RAM74の記憶エリアの数(「9」)を転送回数カウンタ114にセットすることにより第12設定範囲を指定することができる。これにより、第12設定範囲を指定するための処理構成が簡素化されている。
送信対象となるコマンドの種類に応じて共通コマンド送信処理における転送対象範囲(第11設定範囲又は第12設定範囲)の開始アドレス及び転送回数の情報を変動させることにより、共通の共通コマンド送信処理を利用して、開始時コマンドを送信する場合には第11設定範囲に含まれている主側RAM74の記憶エリアに格納されているデータを送信待機バッファ112に設定することができるとともに、終了時コマンドを送信する場合には第12設定範囲に含まれている主側RAM74の記憶エリアに格納されているデータを送信待機バッファ112に設定することができる。このため、開始時コマンドを送信する場合に送信待機バッファ112に主側RAM74のデータを転送する処理とは別の処理として、終了時コマンドを送信する場合に送信待機バッファ112に主側RAM74のデータを転送する処理が設けられている構成と比較して、送信待機バッファ112に主側RAM74のデータを転送する処理を実行するために主側ROM73に記憶されるプログラムのデータ容量を低減することができる。
共通データテーブル73gにおいて第1集約範囲は連続する「9101H」~「9104H」のアドレス範囲に設定されている。このため、転送元アドレスカウンタ132の値を2加算する処理(ステップS5012の処理)を繰り返し実行することにより転送元の記憶エリアを順次更新することができる。また、第2集約範囲は連続する「910DH」~「9114H」のアドレス範囲に設定されている。このため、転送元アドレスカウンタ132の値を2加算する処理(ステップS5012の処理)を繰り返し実行することにより転送元の記憶エリアを順次更新することができる。これにより、転送元の記憶エリアを順次更新するための処理構成が簡素化されている。
第1集約範囲が連続するアドレス範囲であるため、ステップS5005にて第1集約範囲の開始アドレス(「9101H」)を転送元アドレスカウンタ132にセットするとともに、ステップS5006にて第1集約範囲に含まれている主側RAM74の記憶エリアの数(「2」)を転送回数カウンタ114にセットすることにより第1集約範囲を指定することができる。これにより、第1集約範囲を指定するための処理構成が簡素化されている。また、第2集約範囲が連続するアドレス範囲であるため、ステップS5007にて第2集約範囲の開始アドレス(「910DH」)を転送元アドレスカウンタ132にセットするとともに、ステップS5008にて第2集約範囲に含まれている主側RAM74の記憶エリアの数(「4」)を転送回数カウンタ114にセットすることにより第2集約範囲を指定することができる。これにより、第2集約範囲を指定するための処理構成が簡素化されている。
最上位ビットに格納されているデータが集約されるコマンドとして、開始時コマンドと、当該開始時コマンドとは最上位ビットに格納されているデータの集約が行われる対象となる主側RAM74の記憶エリアが異なる終了時コマンドとが存在している。送信対象となるコマンドの種類に応じて最上位集約処理における転送対象範囲(第1集約範囲又は第2集約範囲)の開始アドレス及び転送回数の情報を変動させることにより、共通の最上位集約処理を利用して、開始時コマンドを送信する場合には第1集約範囲に含まれている主側RAM74の記憶エリアの最上位ビットに格納されているデータを最上位集約用エリア74vに集約することができるとともに、終了時コマンドを送信する場合には第2集約範囲に含まれている主側RAM74の記憶エリアの最上位ビットに格納されているデータを最上位集約用エリア74vに集約することができる。このため、開始時コマンドを送信する場合に最上位ビットに格納されているデータを集約する処理とは別の処理として、終了時コマンドを送信する場合に最上位ビットに格納されているデータを集約する処理が設けられている構成と比較して、最上位ビットに格納されているデータを集約する処理を実行するために主側ROM73に記憶されるプログラムのデータ容量を低減することができる。
AT継続カウンタ74uの下位エリア及び上位エリアに格納されているデータは、開始時コマンドにおいて連続する第2~第3フレームFR2~FR3に設定される。このため、演出側転送先カウンタの値を1加算する処理(ステップS5113の処理)を繰り返し実行することにより最上位集約フレームSFに集約されているデータが設定される転送先の記憶エリアを順次更新することができる。これにより、演出側MPU92が開始時コマンドの最上位集約フレームSFにおける第0~第1ビットに集約されているデータを当該第0~第1ビットに対応する第2~第3フレームFR2~FR3の最上位ビットに設定する処理の処理構成を簡素化することができる。また、継続ゲーム数カウンタ74rの下位エリア及び上位エリア、並びに合計獲得数カウンタ74sの下位エリア及び上位エリアに格納されているデータは、終了時コマンドにおいて連続する第4~第7フレームFR4~FR7に設定される。このため、演出側転送先カウンタの値を1加算する処理(ステップS5113の処理)を繰り返し実行することにより最上位集約フレームSFに集約されているデータが設定される転送先の記憶エリアを順次更新することができる。これにより、演出側MPU92が終了時コマンドの最上位集約フレームSFにおける第0~第3ビットに集約されているデータを当該第0~第3ビットに対応する第4~第7フレームFR4~FR7の最上位ビットに設定する処理の処理構成を簡素化することができる。
<第7の実施形態>
本実施形態では、スタートレバー41の操作が行われてゲームが開始される場合に、兼用表示部66における左側の7セグメント表示器66a及び右側の7セグメント表示器66bが非表示となる兼用表示部66の全消灯状態が発生することが上記第1の実施形態と相違している。以下、上記第1の実施形態と相違する構成について説明する。なお、上記第1の実施形態と同一の構成については基本的にその説明を省略する。
図89(a)は兼用表示部66が全消灯状態となる条件、兼用表示部66にて停止順対応表示が実行される条件、比率表示が実行される条件及び付与数表示が実行される条件を説明するための説明図である。図89(a)に示すように、兼用表示部66は、ゲームが実行されている期間において、全消灯状態、停止順対応表示が実行されている状態及び付与数表示が実行されている状態のいずれかとなるとともに、ゲームが実行されていない期間において、比率表示が実行されている状態又は付与数表示が実行されている状態となる。ここで、ゲームが実行されている期間とは、主側RAM74のゲーム中フラグに「1」がセットされている期間であるとともに、ゲームが実行されていない期間とは、当該ゲーム中フラグの値が「0」である期間である。
ゲームが実行されている期間においては、主側RAM74の付与数カウンタ74eに消灯データである「255」が設定されていることを条件として、兼用表示部66が全消灯状態となる。また、付与数カウンタ74eに消灯データ(「255」)が設定されていない状態であるとともに、主側RAM74における停止順種別カウンタ74mに「1」~「9」のいずれかの停止順種別番号が設定されている状態であることを条件として、兼用表示部66にて停止順対応表示が行われる。
ゲームが実行されていない期間においては、比率表示カウンタ74nに「0」~「100」のいずれかの演算結果データが設定されていることを条件として、兼用表示部66にて比率表示が実行される。ゲームが実行されている期間及びゲームが実行されていない期間のいずれにおいても、付与数カウンタ74eに消灯データ(「255」)が設定されていない状態であり、停止順種別カウンタ74mに「1」~「9」の停止順種別番号が設定されていない状態であり、比率表示カウンタ74nに「0」~「100」の演算結果データが設定されていない状態であることを条件として、兼用表示部66にて付与数表示が実行される。
付与数カウンタ74eに消灯データ(「255」)が設定される期間、及び停止順種別カウンタ74mに「1」~「9」のいずれかの停止順種別番号が設定される期間は、ゲームの実行中に発生するとともに当該ゲームの実行中に終了する。一方、上記第1の実施形態において既に説明したとおり、比率表示カウンタ74nには、ゲームが実行されていない状態において比率表示の開始操作が行われた場合に「0」~「100」の演算結果データが設定される。このため、付与数カウンタ74eに消灯データ(「255」)が設定されている状態と、比率表示カウンタ74nに「0」~「100」の演算結果データが設定されている状態とが重複して発生することはない。また、停止順種別カウンタ74mに「1」~「9」のいずれかの停止順種別番号が設定される状態と、比率表示カウンタ74nに「0」~「100」の演算結果データが設定されている状態とが重複して発生することはない。
消灯データは、スタートレバー41の操作が行われてゲームが開始される場合に付与数カウンタ74eに設定される。付与数カウンタ74eに設定された消灯データは、後述するリール制御処理(図90参照)にてリール32L,32M,32Rの第1加速期間が終了した場合にクリアされる。リール32L,32M,32Rの加速制御は、第1加速期間及び第2加速期間において実行される。第1加速期間は、リール32L,32M,32Rの加速制御が開始されてから約290ミリ秒間の期間であるとともに。第2加速期間は、当該第1加速期間に続く約10ミリ秒間の期間である。
図89(b)は主側RAM74の構成を説明するための説明図である。図89(b)に示すように、主側RAM74には加速期間カウンタ74γが設けられている。加速期間カウンタ74γは、リール32L,32M,32Rの第1加速期間が終了したこと及び第2加速期間が終了したことを主側MPU72にて把握可能とするタイマカウンタである。加速期間カウンタ74γの値は、タイマ割込み処理(図11)におけるステップS208のタイマ減算処理において1減算されることにより更新される。主側MPU72は、リール32L,32M,32Rの加速制御を開始する場合、第1加速期間に対応する情報として「195」を加速期間カウンタ74γにセットする。加速期間カウンタ74γの値は、リール32L,32M,32Rの加速制御が開始されてから約290ミリ秒後に「0」となる。これにより、第1加速期間が終了したことを主側MPU72にて把握可能となる。主側MPU72は第1加速期間が終了した場合、第2加速期間に対応する情報として「7」を加速期間カウンタ74γにセットする。加速期間カウンタ74γの値は、リール32L,32M,32Rの第2加速期間が開始されてから約10ミリ秒後に「0」となる。これにより、第2加速期間が終了したことを主側MPU72にて把握可能となる。
上述したとおり、スタートレバー41の操作が行われて新たなゲームが開始される場合には、兼用表示部66が一時的に全消灯状態となる。小役入賞が成立することなく前回のゲームが終了した場合、付与数カウンタ74eの値は「0」となり兼用表示部66では当該付与数カウンタ74eの値に対応する「00」の付与数表示が実行される。その後、ゲームを開始するためのベット操作又はメダル投入が行われても付与数カウンタ74eの値が「0」である状態が継続されるとともに、兼用表示部66にて当該付与数カウンタ74eの値に対応する「00」の付与数表示が継続される。兼用表示部66にて停止順対応表示が実行されないゲームにおいて、ゲーム開始から入賞判定処理(後述するリール制御処理(図90)のステップS5319)までの期間に兼用表示部66の表示態様を変化させない構成とすると、当該ゲームにおいて小役入賞が成立しなかった場合には、付与数カウンタ74eの値が「0」である状態が継続されるとともに、兼用表示部66にて当該付与数カウンタ74eの値に対応する「00」の付与数表示が継続される。このように、兼用表示部66にて停止順対応表示が実行されないゲームにおいて、ゲーム開始から入賞判定処理(ステップS5319)までの期間に兼用表示部66の表示態様を変化させない構成とすると、ゲーム開始前からゲーム終了後までの期間に亘って兼用表示部66に「00」が表示されている状態が継続され、兼用表示部66の表示に基づいて当該ゲームが開始されたことを把握できない場合が生じてしまう。これに対して、ゲームの開始時に兼用表示部66を一時的に全消灯状態とする構成とすることにより、ゲームの実行前後において兼用表示部66に「00」が表示されている状態が継続されてしまうことを防止できるとともに、ゲームの開始前後において兼用表示部66に「00」が表示されている状態が継続されてしまうことを防止できる。これにより、ゲームの開始時における兼用表示部66の表示態様をゲームが開始されたことに対応する表示態様とすることができる。ゲームの開始時に兼用表示部66の表示態様を変化させることにより、兼用表示部66の表示態様に基づいてゲームが開始されたことを把握可能とすることができる。
上記第1の実施形態において既に説明したとおり、停止順対応表示は、遊技状態が疑似ボーナス状態ST4又はAT状態ST5であるとともにベット数が「3」であるゲームにおける役の抽選処理(図18)にて「1」~「9」のいずれかのインデックス値IVに当選することを条件として実行される。兼用表示部66にて停止順対応表示が実行されるゲームでは、上記第1の実施形態と同様に、リール32L,32M,32Rの加速制御が開始される前に停止順種別カウンタ74mに「1」~「9」のいずれかの停止順種別番号が設定される。そして、停止順種別カウンタ74mに停止順種別番号が設定されている状態において、第1加速期間の終了時に付与数カウンタ74eが「0」クリアされ、その後に後述するポート出力処理(図91)が実行されることにより兼用表示部66における表示内容が付与数表示から停止順対応表示に切り替わる。ポート出力処理を含むタイマ割込み処理(図11)は、上記第1の実施形態と同様に、1.49ミリ秒周期で実行される。第2加速期間(約10ミリ秒)は、当該1.49ミリ秒よりも長い期間であるため、第1加速期間の終了時に付与数カウンタ74eが「0」クリアされた後、第2加速期間が終了してストップボタン42~44の操作が有効化されるまでの間に必ずポート出力処理が実行される。このため、停止順対応表示が実行されるゲームでは、ストップボタン42~44の操作が有効化されるタイミングよりも前のタイミングにおいて、確実に、兼用表示部66にて停止順対応表示を開始させることができる。
兼用表示部66にて停止順対応表示が実行されるゲーム及び停止順対応表示が実行されないゲームのいずれにおいてもゲームの開始時に兼用表示部66を一時的に全消灯状態とする。役の抽選処理(図18)の結果とは無関係に、兼用表示部66を全消灯状態とするための処理を実行する。このため、スタートレバー41が操作されたことに基づいてゲームが開始される場合に、役の抽選処理(図18)が実行されるタイミングよりも前のタイミングにおいて兼用表示部66を全消灯状態とするための処理を実行することができる。これにより、ストップボタン42~44の操作が有効化されるタイミングよりも前のタイミングにおいて兼用表示部66の全消灯状態を終了する構成において、当該全消灯状態の継続時間を長く確保することができる。
上述したとおり、主側MPU72は、付与数カウンタ74eに消灯データ(「255」)が設定されていることを条件として兼用表示部66を全消灯状態とする。付与数カウンタ74eは、遊技媒体の付与数の情報が設定されるカウンタであるとともに、兼用表示部66を全消灯状態とするための消灯データが設定されるカウンタである。このため、遊技媒体の付与数の情報が設定される付与数カウンタ74eに加えて、主側RAM74に兼用表示部66を全消灯状態とするタイミングであることを示す情報が設定されるフラグ等が設定されている構成と比較して、遊技媒体の付与数及び兼用表示部66を全消灯状態とするタイミングを主側MPU72にて把握可能とするために主側RAM74に設けられる記憶エリアのデータ容量を低減することができる。
次に、主側MPU72にて実行される開始時の設定処理について図89(c)のフローチャートを参照しながら説明する。上記第1の実施形態において既に説明したとおり、開始時の設定処理は、通常処理(図13)において役の抽選処理(図18)が実行されるステップS407の1つ前のステップS406にて実行される。
開始時の設定処理では、主側RAM74の付与数カウンタ74eに消灯データである「255」を設定する(ステップS5201)。これにより、次回のポート出力処理(図91)において兼用表示部66を全消灯状態とするための処理が実行される状態とすることができる。その後、ステップS5202~ステップS5205にて、上記第1の実施形態における開始時の設定処理(図17(b))のステップS801~ステップS804と同様の処理を実行する。具体的には、主側RAM74におけるインデックス値カウンタ74fの値を「0」クリアし(ステップS5202)、主側RAM74におけるリプレイ時のベット設定済みフラグ及び受入時のベット設定済みフラグの両方を「0」クリアする(ステップS5203)。その後、主側RAM74のゲーム中フラグに「1」をセットする(ステップS5204)。これにより、ゲームの実行中であることを主側MPU72にて把握可能とすることができる。その後、主側RAM74におけるベット数設定カウンタ74bの値を主側RAM74におけるベット数履歴カウンタ74cにセットして(ステップS5205)、本開始時の設定処理を終了する。ステップS5205にてベット数設定カウンタ74bの値をベット数履歴カウンタ74cにセットすることにより、今回開始されたゲームの終了後に当該ゲームのベット数を主側MPU72にて把握可能とすることができる。
次に、主側MPU72にて実行されるリール制御処理について図90のフローチャートを参照しながら説明する。上記第1の実施形態において既に説明したとおり、リール制御処理は通常処理(図13)のステップS408にて実行される。
リール制御処理では、上記第1の実施形態におけるリール制御処理(図22)のステップS1001と同様に、回転開始処理を実行する(ステップS5301)。回転開始処理では、前回のゲームでリール32L,32M,32Rの回転が開始された時点から予め定めたウエイト時間(例えば4.1秒)が経過したか否かを確認し、経過していない場合にはウエイト時間が経過するまで待機する。ウエイト時間が経過した場合には、次回のゲームのためのウエイト時間を再設定するとともに、主側RAM74に設けられたモータ制御格納エリアに回転開始情報をセットする。かかる処理を行うことにより、タイマ割込み処理(図11)におけるステップS206のステッピングモータ制御処理にてステッピングモータの加速処理が開始され、各リール32L,32M,32Rが回転を開始する。
その後、第1加速期間の設定処理を実行する(ステップS5302)。第1加速期間の設定処理では、リール32L,32M,32Rの第1加速期間(約290ミリ秒)に対応する「195」という数値情報を主側RAM74の加速期間カウンタ74γにセットする。上述したとおり、加速期間カウンタ74γの値は、タイマ割込み処理(図11)におけるステップS208のタイマ減算処理において1減算されることにより更新される。そして、約290ミリ秒が経過した場合に「0」となる。その後、リール32L,32M,32Rの第1加速期間が終了したか否かを判定し(ステップS5303)、第1加速期間が終了していない場合には当該第1加速期間が終了するまでステップS5303の処理を繰り返し実行する。ステップS5303では、主側RAM74における加速期間タイマカウンタの値が「0」である場合に肯定判定を行う。
ステップS5303にて肯定判定を行った場合には、主側RAM74における付与数カウンタ74eの値を「0」クリアする(ステップS5304)。これにより、付与数カウンタ74eに消灯データ(「255」)が設定されている状態を終了させることができるとともに、次回のポート出力処理(図91)において兼用表示部66にて停止順対応表示又は付与数表示を実行するための処理が実行される状態とすることができる。停止順対応表示が実行されるゲームでは、次回のポート出力処理にて停止順対応表示を実行するための処理が実行されることにより兼用表示部66が全消灯状態である状態から兼用表示部66にて停止順対応表示が実行されている状態に切り替えることができる。また、停止順表示が実行されないゲームでは、次回のポート出力処理にて付与数表示を実行するための処理が実行されることにより兼用表示部66が全消灯状態である状態から兼用表示部66にて付与数表示が実行されている状態に切り替えることができる。
その後、第2加速期間の設定処理を実行する(ステップS5305)。第2加速期間の設定処理では、リール32L,32M,32Rの第2加速期間(約10ミリ秒)に対応する「7」という数値情報を加速期間カウンタ74γにセットする。上述したとおり、加速期間カウンタ74γの値は、タイマ割込み処理(図11)におけるステップS208のタイマ減算処理において1減算されることにより更新される。そして、約10ミリ秒が経過した場合に「0」となる。その後、リール32L,32M,32Rの第2加速期間が終了したか否かを判定し(ステップS5306)、第2加速期間が終了していない場合には当該第2加速期間が終了するまでステップS5306の処理を繰り返し実行する。ステップS5306では、主側RAM74における加速期間タイマカウンタの値が「0」である場合に肯定判定を行う。
ステップS5306にて肯定判定を行った場合、ステップS5307~ステップS5320では、上記第1の実施形態におけるリール制御処理(図22)のステップS1003~ステップS1016と同様の処理を実行する。具体的には、まず操作有効化報知処理を実行する(ステップS5307)。操作有効化報知処理では、各ストップボタン42~44に1対1で対応させて設けられているランプ(図示略)を点灯表示することにより、停止指令を発生させることが可能となったことを遊技者等に報知する。その後、ストップボタン42~44のいずれかが操作されたか否かを判定し(ステップS5308)、いずれのストップボタン42~44も操作されていない場合(ステップS5308:NO)には、ストップボタン42~44のいずれかが操作されるまでステップS5308の処理を繰り返し実行する。ストップボタン42~44のいずれかが操作されたと判定した場合(ステップS5308:YES)には、回転中のリール32L,32M,32Rと対応するストップボタン42~44が操作されたか否か、すなわち停止指令が発生したか否かを判定する(ステップS5309)。停止指令が発生していない場合には、ステップS5308に戻り、ストップボタン42~44のいずれかが操作されるまでステップS5308~ステップS5309の処理を繰り返し実行する。
停止指令が発生した場合(ステップS5309:YES)には、今回操作されたストップボタン42~44に対応する操作無効化報知処理を実行し(ステップS5310)、停止指令コマンドを演出側MPU92に送信する(ステップS5311)。その後、停止指令コマンドを送信した場合には回転中のリールを停止させるべくステップS5312~ステップS5318に示す停止制御処理を行う。停止制御処理では、ストップボタン42~44が操作されたタイミングで基点位置(具体的には下段)に到達している到達図柄の図柄番号を確認し(ステップS5312)、主側RAM74に格納されている停止情報に基づいて、今回停止させるべきリール32L,32M,32Rのスベリ数(「0」~「4」のいずれかの値)を算出する(ステップS5313)。その後、算出したスベリ数を到達図柄の図柄番号に加算し、基点位置に実際に停止させる停止図柄の図柄番号を決定する(ステップS5314)。そして、今回停止させるべきリール32L,32M,32Rの到達図柄の図柄番号と停止図柄の図柄番号が等しくなったか否かを判定し(ステップS5315)、等しくなった場合(ステップS5315:YES)にはリール32L,32M,32Rの回転を停止させるリール停止処理を行う(ステップS5316)。その後、全リール32L,32M,32Rが停止していない場合(ステップS5317:NO)には、停止情報第2設定処理を行い(ステップS5318)、ステップS5308に戻る。そして、ステップS5317にて肯定判定が行われるまでステップS5308~ステップS5318の処理を繰り返し実行する。
ステップS5317にて全リール32L,32M,32Rが停止していると判定した場合には、入賞判定処理を実行する(ステップS5319)。当該入賞判定処理では、各リール32L,32M,32RにおいてメインラインML上に停止している図柄の種類を把握する。そして、主側RAM74に記憶されている当選データの内容に基づき、各リール32L,32M,32RにおいてメインラインML上に停止表示されている図柄の組合せが役の抽選処理において当選となった役に対応する図柄の組合せであるか否かを判定し、当選となった役に対応する図柄の組合せである場合には当選役の入賞が成立したことを特定する。上記第1の実施形態において既に説明したとおり、入賞判定処理(ステップS5319)では、いずれかの小役入賞が成立したことを特定した場合、当該成立した小役入賞に対応する付与数の情報(「1」、「2」、「5」又は「15」)を主側RAM74の付与数カウンタ74eにセットし、主側RAM74における停止順種別カウンタ74mの値を「0」クリアする。また、入賞判定処理(ステップS5319)では、いずれかのリプレイ入賞が成立したことを特定した場合、次回の開始待ち処理(図15)にて再遊技設定処理が実行されるようにするためのフラグの設定を行い、停止順種別カウンタ74mの値を「0」クリアする。さらにまた、入賞判定処理(ステップS5319)では、いずれの入賞も成立していないと判定した場合、停止順種別カウンタ74mの値を「0」クリアする。停止順種別カウンタ74mの値が「0」クリアされることにより、次回のポート出力処理(図28)において兼用表示部66にて付与数表示を実行するための処理が実行される状態となる。兼用表示部66にて停止順対応表示が実行されるゲームでは、次回のポート出力処理(図28)において兼用表示部66にて付与数表示を実行するための処理が実行されることにより、兼用表示部66にて停止順対応表示が実行されている状態から兼用表示部66にて付与数表示が実行されている状態に切り替わる。兼用表示部66にて停止順対応表示が実行されないゲームにおいていずれの小役入賞も成立しなかった場合、次回のポート出力処理(図28)において兼用表示部66にて付与数表示を実行するための処理が実行されても、兼用表示部66にて「00」の付与数表示が実行されている状態が継続される。兼用表示部66にて停止順対応表示が実行されないゲームにおいていずれかの小役入賞の成立が特定された場合、次回のポート出力処理(図28)において兼用表示部66にて付与数表示を実行するための処理が実行されることにより、兼用表示部66にて実行されている付与数表示の表示内容が「00」から「01」、「02」、「05」又は「15」に切り替わる。その後、主側RAM74の入賞結果コマンドフラグに「1」をセットして(ステップS5320)、本リール制御処理を終了する。
上記のとおり、兼用表示部66にて停止順対応表示が実行されるゲームでは、兼用表示部66が全消灯状態である状態において、付与数カウンタ74eを「0」クリアする処理(ステップS5304の処理)を実行することにより、付与数カウンタ74eに消灯データが設定されている状態を終了させることができるとともに、次回のポート出力処理(図91)において兼用表示部66にて停止順対応表示を実行するための処理が実行される状態とすることができる。次回のポート出力処理にて停止順対応表示を実行するための処理が実行されることにより、兼用表示部66が全消灯状態である状態から兼用表示部66にて停止順対応表示が実行されている状態に切り替わる。このため、消灯データが設定されている付与数カウンタ74eの値を「0」クリアする処理(ステップS5304の処理)とは別の処理として、次回のポート出力処理において兼用表示部66にて停止順対応表示を実行するための処理が実行される状態とするための処理が設定されている構成と比較して、兼用表示部66が全消灯状態である状態から兼用表示部66にて停止順対応表示が実行されている状態に切り換えるための処理構成を簡素化することができる。
兼用表示部66にて停止順対応表示が実行されないゲームでは、兼用表示部66が全消灯状態である状態において、付与数カウンタ74eを「0」クリアする処理(ステップS5304の処理)を実行することにより、付与数カウンタ74eに消灯データが設定されている状態を終了させることができるとともに、次回のポート出力処理(図91)において兼用表示部66にて付与数表示(「00」の表示)を実行するための処理が実行される状態とすることができる。次回のポート出力処理にて付与数表示を実行するための処理が実行されることにより、兼用表示部66が全消灯状態である状態から兼用表示部66にて付与数表示が実行されている状態に切り替わる。このため、消灯データが設定されている付与数カウンタ74eの値を「0」クリアする処理(ステップS5304の処理)とは別の処理として、次回のポート出力処理において兼用表示部66にて付与数表示を実行するための処理が実行される状態とするための処理が設定されている構成と比較して、兼用表示部66が全消灯状態である状態から兼用表示部66にて付与数表示が実行されている状態に切り換えるための処理構成を簡素化することができる。
次に、主側MPU72にて実行されるポート出力処理について図91のフローチャートを参照しながら説明する。上記第1の実施形態において既に説明したとおり、ポート出力処理はタイマ割込み処理(図11)のステップS211にて実行される。上述したとおり、タイマ割込み処理(図11)は1.49ミリ秒周期で実行される。
ポート出力処理では、まず主側RAM74の付与数カウンタ74eに消灯データである「255」が設定されているか否かを判定する(ステップS5401)。付与数カウンタ74eに消灯データが設定されている場合(ステップS5401:YES)には、主側RAM74における左側兼用表示部表示エリア74p及び右側兼用表示部表示エリア74qに非表示用データを設定する(ステップS5402)。兼用表示部表示エリア74p,74qに設定されたこれらの非表示用データが後述するステップS5411にて兼用表示部66に出力されることにより、兼用表示部66を全消灯状態とすることができる。
ステップS5401にて否定判定を行った場合には、ステップS5403~ステップS5413にて、上記第1の実施形態におけるポート出力処理(図28)のステップS1401~ステップS1411と同様の処理を実行する。具体的には、主側RAM74の停止順種別カウンタ74mに「1」~「9」のいずれかの停止順種別番号が設定されているか否かを判定する(ステップS5403)。停止順種別カウンタ74mに「1」~「9」のいずれかの停止順種別番号が設定されている場合(ステップS5403:YES)には、主側ROM73に記憶されている停止順対応表示データテーブル73aを読み出し(ステップS5404)、当該読み出した停止順対応表示データテーブル73aを参照して停止順種別カウンタ74mの値に対応する表示データを右側兼用表示部表示エリア74qにセットするとともに、非表示用データを左側兼用表示部表示エリア74pにセットする(ステップS5405)。兼用表示部表示エリア74p,74qに設定されたこれらの表示データ及び非表示用データが後述するステップS5411にて兼用表示部66に出力されることにより、兼用表示部66にて停止順対応表示を実行することができる。
ステップS5403にて否定判定を行った後、主側RAM74の比率表示カウンタ74nに「0」~「100」のいずれかの演算結果データが設定されている場合(ステップS5406:YES)には、主側ROM73に記憶されている数字表示データテーブル73bを読み出し(ステップS5407)、当該読み出した数字表示データテーブル73bを参照して比率表示カウンタ74nの値に対応する表示データを左側兼用表示部表示エリア74p及び右側兼用表示部表示エリア74qにセットする(ステップS5408)。兼用表示部表示エリア74p,74qに設定されたこれらの表示データが後述するステップS5411にて兼用表示部66に出力されることにより、兼用表示部66にて比率表示を実行することができる。
停止順種別カウンタ74mに「1」~「9」の停止順種別番号が設定されていない状態(ステップS5403:NO)であるとともに比率表示カウンタ74nに「0」~「100」の演算結果データが設定されていない状態(ステップS5406:NO)である場合には、兼用表示部66にて付与数表示を行うための処理(ステップS5409~ステップS5410の処理)を実行する。具体的には、ステップS5407と同様に、主側ROM73に記憶されている数字表示データテーブル73bを読み出し(ステップS5409)、当該読み出した数字表示データテーブル73bを参照して付与数カウンタ74eの値に対応する表示データを左側兼用表示部表示エリア74p及び右側兼用表示部表示エリア74qにセットする(ステップS5410)。兼用表示部表示エリア74p,74qに設定されたこれらの表示データが後述するステップS5411にて兼用表示部66に出力されることにより、兼用表示部66にて付与数表示を実行することができる。
ステップS5402、ステップS5405、ステップS5408又はステップS5410の処理を行った場合には、左側兼用表示部表示エリア74p及び右側兼用表示部表示エリア74qに設定されているデータ(表示データ又は非表示用データ)を兼用表示部66に出力する(ステップS5411)。これにより、兼用表示部表示エリア74p,74qに非表示用データが設定されている場合には兼用表示部66が全消灯状態となる。また、左側兼用表示部表示エリア74pに非表示用データが設定されているとともに右側兼用表示部表示エリア74qに停止順対応表示用の表示データが設定されている場合には兼用表示部66にて停止順対応表示が実行される。さらにまた、左側兼用表示部表示エリア74pに非表示用データ又は比率表示用の表示データが設定されているとともに右側兼用表示部表示エリア74qに比率表示用の表示データが設定されている場合には兼用表示部66にて比率表示が実行される。また、兼用表示部表示エリア74p,74qに付与数表示用の表示データが設定されている場合には兼用表示部66にて付与数表示が実行される。
その後、クレジット表示部65の表示制御処理を実行し(ステップS5412)、その他のポート出力処理を実行して(ステップS5413)、本ポート出力処理を終了する。ステップS5413におけるその他のポート出力処理では、入出力ポートからI/O装置に対応するデータを出力する。
次に、兼用表示部66にて停止順対応表示が行われるゲームにおいて兼用表示部66が全消灯状態となる様子について図92のタイムチャートを参照しながら説明する。図92(a)は兼用表示部66が全消灯状態となる期間を示し、図92(b)は兼用表示部66において「00」の付与数表示が実行される期間を示し、図92(c)は兼用表示部66における付与数表示の実行期間を示し、図92(d)は付与数カウンタ74eに消灯データである「255」が設定されている期間を示し、図92(e)は停止順種別カウンタ74mに「1」~「9」のいずれかの停止順種別番号が設定されている期間を示し、図92(f)はリール32L,32M,32Rの第1加速期間を示し、図92(g)はゲームが実行されていない状態においてベット操作又は最初のメダル投入が行われるタイミングを示し、図92(h)はゲームが開始されるタイミングを示し、図92(i)はストップボタン42~44の操作が有効化されるタイミングを示し、図92(j)は入賞判定処理(リール制御処理(図90)のステップS5319)が実行されるタイミングを示し、図92(k)はポート出力処理(図91)が実行されるタイミングを示す。
付与数カウンタ74eの値が「0」であるとともに兼用表示部66にて「00」の付与数表示が実行されているt1のタイミングで、図92(g)に示すようにベット操作又は最初のメダル投入が行われると、付与数カウンタ74eの値が「0」である状態が維持される。その後、図92(k)に示すようにt2のタイミングで、ポート出力処理が実行されると、図92(c)に示すように兼用表示部66にて「00」の付与数表示が実行されている状態が継続される。その後、t3のタイミングで、図92(h)に示すようにゲームが開始されると、図92(d)に示すように付与数カウンタ74eに消灯データ(「255」)が設定される。その後、図92(k)に示すようにt4のタイミングでポート出力処理が実行されることにより、図92(a),(c)に示すように兼用表示部66における付与数表示が終了するとともに当該兼用表示部66が全消灯状態となる。
その後、t5のタイミングで図92(e)に示すように停止順種別カウンタ74mに「1」~「9」のいずれかの停止順種別番号が設定される。その後、図92(f)に示すように、t6のタイミングでリール32L,32M,32Rの第1加速期間が開始されるとともに、t7のタイミングで当該第1加速期間が終了する。第1加速期間が終了するt7のタイミングで、図92(d)に示すように付与数カウンタ74eが「0」クリアされることにより付与数カウンタ74eに消灯データが設定されている状態が終了する。その後、図92(k)に示すようにt8のタイミングでポート出力処理が実行されると、図92(a),(b)に示すように兼用表示部66の全消灯状態が終了するとともに兼用表示部66にて停止順対応表示が開始される。その後、t9のタイミングで図92(j)に示すように、ストップボタン42~44の操作が有効化される。
その後、t10のタイミングで図92(j)に示すように入賞判定処理が実行され、当該入賞判定処理においていずれの小役入賞も成立していないことが特定されると、付与数カウンタ74eの値が「0」である状態が維持される。また、当該t10のタイミングで、図92(e)に示すように停止順種別カウンタ74mの値が「0」クリアされる。その後、図92(k)に示すようにt11のタイミングでポート出力処理が実行されると、図92(b),(c)に示すように兼用表示部66における表示内容が停止順対応表示から付与数表示(「00」の表示)に切り替わる。
上記のとおり、ゲームの開始時に兼用表示部66を一時的に全消灯状態とする構成であることにより、ゲームの開始前後において兼用表示部66にて「00」の付与数表示が実行されている状態が継続されてしまうことを防止できる。ゲームの開始時に兼用表示部66の表示態様を変化させることにより、兼用表示部66の表示態様に基づいてゲームが開始されたことを把握可能とすることができる。
ストップボタン42~44の操作が有効化されるt9のタイミングよりも前のタイミングであるt8のタイミングにおいて兼用表示部66の全消灯状態を終了する構成において、役の抽選処理(図18)の結果とは無関係に、兼用表示部66を全消灯状態とするための処理を実行する。このため、役の抽選処理(図18)が実行されるタイミングよりも前のタイミングであるt3のタイミングにおいて兼用表示部66を全消灯状態とするための処理(付与数カウンタ74eに消灯データを設定する処理)を実行することができる。これにより、当該全消灯状態の継続時間を長く確保することができる。
次に、兼用表示部66にて停止順対応表示が行われないゲームにおいて兼用表示部66が全消灯状態となる様子について図93のタイムチャートを参照しながら説明する。図93(a)は兼用表示部66が全消灯状態となる期間を示し、図93(b)兼用表示部66において「00」の付与数表示が実行される期間を示し、図93(c)は付与数カウンタ74eに消灯データである「255」が設定されている期間を示し、図93(d)はリール32L,32M,32Rの第1加速期間を示し、図93(e)はゲームが実行されていない状態においてベット操作又は最初のメダル投入が行われるタイミングを示し、図93(f)はゲームが開始されるタイミングを示し、図93(g)はストップボタン42~44の操作が有効化されるタイミングを示し、図93(h)は入賞判定処理(リール制御処理(図90)のステップS5319)においていずれかの小役入賞の成立が特定されるタイミングを示し、図93(i)はポート出力処理(図91)が実行されるタイミングを示す。
付与数カウンタ74eの値が「0」であるとともに兼用表示部66にて「00」の付与数表示が実行されているt1のタイミングで、図93(e)に示すようにベット操作又は最初のメダル投入が行われると、付与数カウンタ74eの値が「0」である状態が維持される。その後、図93(i)に示すようにt2のタイミングで、ポート出力処理が実行されると、図93(b)に示すように兼用表示部66にて「00」の付与数表示が実行されている状態が継続される。その後、t3のタイミングで図93(f)に示すようにゲームが開始されると、図93(c)に示すように付与数カウンタ74eに消灯データ(「255」)が設定される。その後、図93(i)に示すようにt4のタイミングでポート出力処理が実行されると、図93(a),(b)に示すように、兼用表示部66にて付与数表示が終了するとともに、兼用表示部66が全消灯状態となる。
その後、図93(d)に示すように、t5のタイミングでリール32L,32M,32Rの第1加速期間が開始されるとともに、t6のタイミングで当該第1加速期間が終了する。第1加速期間が終了する当該t6のタイミングで、図93(c)に示すように付与数カウンタ74eが「0」クリアされる。その後、図93(i)に示すようにt7のタイミングでポート出力処理が実行されると、図93(a),(b)に示すように、兼用表示部66の全消灯状態が終了するとともに、兼用表示部66にて付与数表示が開始される。その後、t8のタイミングで、ストップボタン42~44の操作が有効化される。その後、t9のタイミングで図93(h)に示すように入賞判定処理が実行され、当該入賞判定処理にていずれの小役入賞も成立していないと判定されると、付与数カウンタ74eの値が「0」である状態が維持される。その後、図93(i)に示すようにt10のタイミングでポート出力処理が実行されても、図93(b)に示すように兼用表示部66にて「00」の付与数表示が実行されている状態が継続される。
上記のとおり、兼用表示部66にて停止順対応表示が実行されないゲームでは、ベット操作又はメダル投入が行われた場合に兼用表示部66にて「00」の付与数表示が実行されている状態となるとともに、兼用表示部66にて「00」の付与数表示が実行されている状態において入賞判定処理(ステップS5319)が実行される。ゲームの開始時に兼用表示部66を一時的に全消灯状態とすることにより、ゲーム開始前からゲーム終了後までの期間に亘って兼用表示部66にて「00」の付与数表示が実行されている状態が継続されてしまうことを防止できる。ゲームの開始時に兼用表示部66の表示態様を変化させることにより、兼用表示部66の表示態様に基づいてゲームが開始されたことを把握可能とすることができる。
ストップボタン42~44の操作が有効化されるt8のタイミングよりも前のタイミングであるt7のタイミングにおいて兼用表示部66の全消灯状態を終了する構成において、役の抽選処理(図18)の結果とは無関係に、兼用表示部66を全消灯状態とするための処理を実行する。このため、役の抽選処理(図18)が実行されるタイミングよりも前のタイミングであるt3のタイミングにおいて兼用表示部66を全消灯状態とするための処理(付与数カウンタ74eに消灯データを設定する処理)を実行することができる。これにより、当該全消灯状態の継続時間を長く確保することができる。
以上詳述した本実施形態によれば、以下の優れた効果を奏する。
主側MPU72は、付与数カウンタ74eに消灯データ(「255」)が設定されていることを条件として兼用表示部66を全消灯状態とする。付与数カウンタ74eは、遊技媒体の付与数の情報が設定されるカウンタであるとともに、兼用表示部66を全消灯状態とするための消灯データが設定されるカウンタである。このため、遊技媒体の付与数の情報が設定される付与数カウンタ74eに加えて、主側RAM74に兼用表示部66を全消灯状態とするタイミングであることを示す情報が設定されるフラグ等が設定されている構成と比較して、遊技媒体の付与数及び兼用表示部66を全消灯状態とするタイミングを主側MPU72にて把握可能とするために主側RAM74に設けられる記憶エリアのデータ容量を低減することができる。

兼用表示部66にて停止順対応表示が実行されるゲームでは、兼用表示部66が全消灯状態である状態において、付与数カウンタ74eを「0」クリアする処理(ステップS5304の処理)を実行することにより、付与数カウンタ74eに消灯データが設定されている状態を終了させることができるとともに、次回のポート出力処理(図91)において兼用表示部66にて停止順対応表示を実行するための処理が実行される状態とすることができる。次回のポート出力処理にて停止順対応表示を実行するための処理が実行されることにより、兼用表示部66が全消灯状態である状態から兼用表示部66にて停止順対応表示が実行されている状態に切り替わる。このため、消灯データが設定されている付与数カウンタ74eの値を「0」クリアする処理(ステップS5304の処理)とは別の処理として、次回のポート出力処理において兼用表示部66にて停止順対応表示を実行するための処理が実行される状態とするための処理が設定されている構成と比較して、兼用表示部66が全消灯状態である状態から兼用表示部66にて停止順対応表示が実行されている状態に切り換えるための処理構成を簡素化することができる。
兼用表示部66にて停止順対応表示が実行されないゲームでは、兼用表示部66が全消灯状態である状態において、付与数カウンタ74eを「0」クリアする処理(ステップS5304の処理)を実行することにより、付与数カウンタ74eに消灯データが設定されている状態を終了させることができるとともに、次回のポート出力処理(図91)において兼用表示部66にて付与数表示(「00」の表示)を実行するための処理が実行される状態とすることができる。次回のポート出力処理にて付与数表示を実行するための処理が実行されることにより、兼用表示部66が全消灯状態である状態から兼用表示部66にて付与数表示が実行されている状態に切り替わる。このため、消灯データが設定されている付与数カウンタ74eの値を「0」クリアする処理(ステップS5304の処理)とは別の処理として、次回のポート出力処理において兼用表示部66にて付与数表示を実行するための処理が実行される状態とするための処理が設定されている構成と比較して、兼用表示部66が全消灯状態である状態から兼用表示部66にて付与数表示が実行されている状態に切り換えるための処理構成を簡素化することができる。
ゲームの開始時に兼用表示部66を一時的に全消灯状態とする構成であることにより、ゲームの開始前後において兼用表示部66にて「00」の付与数表示が実行されている状態が継続されてしまうことを防止できる。ゲームの開始時に兼用表示部66の表示態様を変化させることにより、兼用表示部66の表示態様に基づいてゲームが開始されたことを把握可能とすることができる。
兼用表示部66にて停止順対応表示が実行されないゲームでは、ベット操作又はメダル投入が行われた場合に兼用表示部66にて「00」の付与数表示が実行されている状態となるとともに、兼用表示部66にて「00」の付与数表示が実行されている状態において入賞判定処理(ステップS5319)が実行される。ゲームの開始時に兼用表示部66を一時的に全消灯状態とすることにより、ゲーム開始前からゲーム終了後までの期間に亘って兼用表示部66にて「00」の付与数表示が実行されている状態が継続されてしまうことを防止できる。
ストップボタン42~44の操作が有効化されるタイミングよりも前のタイミングにおいて兼用表示部66の全消灯状態を終了する構成において、役の抽選処理(図18)の結果とは無関係に、兼用表示部66を全消灯状態とするための処理を実行する。このため、役の抽選処理(図18)が実行されるタイミングよりも前のタイミングにおいて兼用表示部66を全消灯状態とするための処理を実行することができる。これにより、当該全消灯状態の継続時間を長く確保することができる。
<第8の実施形態>
本実施形態では、兼用表示部66にて停止順対応表示が実行されないゲームであることを条件として、リール32L,32M,32Rの加速制御の開始時に兼用表示部66が一時的に全消灯状態とされることが上記第7の実施形態と相違している。以下、上記第7の実施形態と相違する構成について説明する。なお、上記第7の実施形態と同一の構成については基本的にその説明を省略する。
上記第7の実施形態において既に説明したとおり、兼用表示部66にて停止順対応表示が実行される条件は、遊技状態が疑似ボーナス状態ST4又はAT状態ST5であるとともにベット数が「3」であるゲームの役の抽選処理(図18)において、「1」~「9」のいずれかのインデックス値IVに当選することである。全消灯状態では、上記第7の実施形態と同様に、兼用表示部66における左側の7セグメント表示器66a及び右側の7セグメント表示器66bが非表示となる。上記第1の実施形態において既に説明したとおり、兼用表示部66にて停止順対応表示が実行されるゲームでは、画像表示装置63にて停止順報知が実行される。
上記第7の実施形態において既に説明したとおり、兼用表示部66が全消灯状態となる条件は、主側RAM74の付与数カウンタ74eに消灯データである「255」が設定されていることである。兼用表示部66の全消灯状態は、ゲームが実行されている期間においてのみ発生する。兼用表示部66を全消灯状態とする場合、上記第7の実施形態と同様に、主側MPU72は、主側RAM74の付与数カウンタ74eに消灯データである「255」をセットする。これにより、次回のポート出力処理(図91)において兼用表示部66を全消灯状態とするための処理(ステップS5401、ステップS5402及びステップS5411の処理)が実行される状態とすることができる。
上述したとおり、兼用表示部66における停止順対応表示の実行条件が成立しなかった場合、リール32L,32M,32Rの加速制御の開始時に兼用表示部66が一時的に全消灯状態となる。上記第7の実施形態と同様に、小役入賞が成立することなく前回のゲームが終了した場合、付与数カウンタ74eの値は「0」となり兼用表示部66では当該付与数カウンタ74eの値に対応する「00」の付与数表示が実行される。その後、ゲームを開始するためのベット操作又はメダル投入が行われても付与数カウンタ74eの値が「0」である状態が継続されるとともに、兼用表示部66にて当該付与数カウンタ74eの値に対応する「00」の付与数表示が継続される。上記第1の実施形態と同様に、兼用表示部66にて停止順対応表示が実行されないゲームでは、兼用表示部66にて「00」の付与数表示が実行されている状態で、リール制御処理(図22)のステップS1015にて入賞判定処理(図26)が実行される。停止順対応表示が実行されないゲームにおいて、ゲーム開始から入賞判定処理(図26)までの期間に兼用表示部66の表示態様を変化させない構成とすると、当該ゲームにおいて小役入賞が成立しなかった場合には、付与数カウンタ74eの値が「0」である状態が継続されるとともに、兼用表示部66にて当該付与数カウンタ74eの値に対応する「00」の付与数表示が継続される。このように、兼用表示部66にて停止順対応表示が実行されないゲームにおいて、ゲーム開始から入賞判定処理(図26)までの期間に兼用表示部66の表示態様を変化させない構成とすると、ゲーム開始前からゲーム終了後までの期間に亘って兼用表示部66に「00」が表示されている状態が継続され、兼用表示部66の表示に基づいて当該ゲームが開始されたことを把握できない場合が生じてしまう。これに対して、兼用表示部66における停止順対応表示の実行条件が成立しなかった場合にはリール32L,32M,32Rの加速制御の開始時に兼用表示部66を一時的に全消灯状態とする構成とすることにより、ベット操作又はメダル投入が行われてから入賞判定処理(図26)が実行されるまでの期間に亘って兼用表示部66に「00」が表示されている状態が継続されてしまうことを防止できる。これにより、兼用表示部66にて停止順対応表示が実行されないゲームにおいて、当該ゲームが開始されたことに対応する態様で兼用表示部66の表示態様を変化させることができる。
図94(a)は主側RAM74の構成を説明するための説明図である。図94(a)に示すように、主側RAM74には消灯時間カウンタ74δが設けられている。消灯時間カウンタ74δは、兼用表示部66における全消灯状態の終了タイミングを主側MPU72にて把握可能とするカウンタである。消灯時間カウンタ74δは1バイトからなる。主側MPU72は、付与数カウンタ74eに消灯データである「255」を設定した場合、消灯時間カウンタ74δに全消灯状態の継続時間の情報として「221」を設定する。「221」は、全消灯状態を約330ミリ秒とするための数値情報である。上記第1の実施形態において既に説明したとおり、1.49ミリ秒の周期でタイマ割込み処理(図11)が実行されるとともに、当該タイマ割込み処理のステップS208にてタイマ減算処理が実行される。本実施形態におけるタイマ減算処理(図95)の詳細については後述するが、消灯時間カウンタ74δの値は、当該タイマ減算処理において1減算されることにより更新され、付与数カウンタ74eに消灯データが設定されたタイミングから約330ミリ秒後に「0」となる。
上記第1の実施形態において既に説明したとおり、通常処理(図13)のステップS408にてリール制御処理(図22)が実行される。本実施形態において、リール32L,32M,32Rの加速制御が実行される加速期間は約300ミリ秒である。上記第1の実施形態において既に説明したとおり、リール制御処理(図22)では、リール32L,32M,32Rの加速期間が終了した場合(ステップS1002:YES)に、ストップボタン42~44の操作が有効化される。また、上記第1の実施形態において既に説明したとおり、リール制御処理(図22)では、いずれかのリール32L,32M,32Rに対して停止指令が発生した場合、停止させるべきリール32L,32M,32Rの到達図柄の図柄番号と停止図柄の図柄番号が等しくなった状態でリール32L,32M,32Rの回転を停止させるリール停止処理(ステップS1012)が実行される。当該リール停止処理では、停止させるべきリール32L,32M,32Rに対して停止用の励磁パルスが出力される。具体的には、リール32L,32M,32Rの加速制御及び定速回転制御において1相励磁及び2相励磁の励磁パルスが出力される構成において、リール停止処理(ステップS1012)では、停止用の励磁パルスとして、当該1相励磁及び2相励磁よりも励磁力が弱い4相励磁の励磁パルスが出力される。当該停止用の励磁パルスが出力されている状態は、タイマ割込み処理(図11)の100割込み分(約149ミリ秒)に亘って継続される。
上記第1の実施形態において既に説明したとおり、リール制御処理(図22)のステップS1015にて実行される入賞判定処理(図26)では、いずれかの小役入賞が成立した場合(ステップS1204:YES)、主側RAM74の付与数カウンタ74eに当該小役入賞に対応する付与数の情報がセットされる(ステップS1205)。付与数カウンタ74eに当該付与数の情報が設定されている状態においてポート出力処理(図91)が実行されることにより兼用表示部66にて当該付与数の表示が開始される。兼用表示部66にて停止順対応表示が実行されないゲームにおいていずれかの小役入賞が成立する場合、兼用表示部66にて「00」の付与数表示が実行されている状態→兼用表示部66が全消灯状態である状態→兼用表示部66にて「00」の付与数表示が実行されている状態→兼用表示部66において当該成立した小役入賞に対応する付与数の表示が実行されている状態の順番で、兼用表示部66の表示態様が変化する。また、入賞判定処理(図26)では、停止順対応表示が実行されないゲームにおいていずれの小役入賞も成立しなかった場合、付与数カウンタ74eの値が「0」である状態が維持されるとともに、兼用表示部66にて「00」の付与数表示が実行されている状態が維持される。このように、兼用表示部66にて停止順対応表示が実行されないゲームにおいていずれの小役入賞も成立しない場合、兼用表示部66にて「00」の付与数表示が実行されている状態→兼用表示部66が全消灯状態である状態→兼用表示部66にて「00」の付与数表示が実行されている状態の順番で、兼用表示部66の表示態様が変化する。
次に、主側MPU72にて実行される抽選結果対応処理について図94(b)のフローチャートを参照しながら説明する。上記第1の実施形態において既に説明したとおり、抽選結果対応処理は役の抽選処理(図18)のステップS914にて実行される。
抽選結果対応処理では、ステップS5501~ステップS5506にて上記第1の実施形態における抽選結果対応処理(図25)のステップS1101~ステップS1106と同様の処理を実行する。具体的には、現状の遊技状態が疑似ボーナス状態ST4である場合(ステップS5501:YES)又はAT状態ST5である場合(ステップS5502:YES)には、主側RAM74におけるベット数設定カウンタ74bの値が「3」であるか否かを判定する(ステップS5503)。ベット数設定カウンタ74bの値が「3」である場合(ステップS5503:YES)、すなわち今回のゲームのベット数が「3」である場合には、主側RAM74におけるインデックス値カウンタ74fを参照することにより役の抽選処理(図18)にて「1」~「9」のいずれかのインデックス値IVに当選しているか否かを判定する(ステップS5504)。
ステップS5504にて肯定判定を行った場合には、インデックス値カウンタ74fの値を主側RAM74の停止順種別カウンタ74mにセットする(ステップS5505)。ステップS5505にて停止順種別カウンタ74mに「1」~「9」のいずれかの停止順種別番号が設定されることにより、次回のポート出力処理(図91)において兼用表示部66にて停止順対応表示を実行するための処理(ステップS5403~ステップS5405及びステップS5411の処理)が実行される状態とすることができる。次回のポート出力処理にて停止順対応表示を実行するための処理が実行されることにより、兼用表示部66における表示内容が「00」の付与数表示から停止順種別カウンタ74mに設定された「1」~「9」のいずれかの停止順種別番号に対応する停止順対応表示に切り替わる。ステップ5505の処理は、停止順種別カウンタ74mに「1」~「9」のいずれかの停止順種別番号をセットする処理であるとともに、兼用表示部66にて付与数表示が実行されている状態から停止順対応表示が実行されている状態に切り替えるための処理である。このため、停止順種別カウンタ74mに「1」~「9」のいずれかの停止順種別番号を設定するステップS5505の処理に加えて、当該処理とは別の処理として、兼用表示部66にて付与数表示が実行されている状態から停止順対応表示が実行されている状態に切り替えるための処理が設定されている構成と比較して、停止順種別カウンタ74mに「1」~「9」のいずれかの停止順種別番号をセットするとともに兼用表示部66にて付与数表示が実行されている状態から停止順対応表示が実行されている状態に切り替えるための処理構成を簡素化することができる。
ステップS5502、ステップS5503又はステップS5504にて否定判定を行った場合、すなわち兼用表示部66にて停止順対応表示が実行されないことが特定された場合には、停止順種別カウンタ74mの値を「0」クリアする(ステップS5506)。これにより、今回のゲームは兼用表示部66における停止順対応表示及び画像表示装置63における停止順報知が実行されないゲームとなる。
その後、付与数カウンタ74eに消灯データである「255」をセットする(ステップS5507)。これにより、次回のポート出力処理(図91)において兼用表示部66を全消灯状態とするため処理(ステップS5401、ステップS5402及びステップS5411の処理)が実行される状態とすることができる。次回のポート出力処理にて兼用表示部66を全消灯状態とするため処理が実行されることにより、兼用表示部66にて「00」の付与数表示が実行されている状態から兼用表示部66が全消灯状態である状態に切り替わる。ステップS5507の処理は、付与数カウンタ74eに消灯データ(「255」)をセットする処理であるとともに、兼用表示部66にて「00」の付与数表示が実行されている状態から兼用表示部66が全消灯状態である状態に切り替えるための処理である。このため、付与数カウンタ74eに消灯データをセットするステップS5507の処理に加えて、当該処理とは別の処理として、兼用表示部66にて「00」の付与数表示が実行されている状態から兼用表示部66が全消灯状態である状態に切り替えるための処理が設定されている構成と比較して、付与数カウンタ74eに消灯データをセットするとともに兼用表示部66にて「00」の付与数表示が実行されている状態から兼用表示部66が全消灯状態である状態に切り替えるための処理構成を簡素化することができる。
その後、全消灯状態の継続期間(約330ミリ秒)に対応する「221」という数値情報を主側RAM74の消灯時間カウンタ74δにセットする(ステップS5508)。これにより、兼用表示部66における全消灯時間の継続時間として約330ミリ秒を設定することができる。上述したとおり、消灯時間カウンタ74δの値は、後述するタイマ減算処理(図95)において1減算されることにより更新され、付与数カウンタ74eに消灯データが設定されたタイミングから約330ミリ秒後に「0」となる。ステップS5505又はステップS5508の処理を行った場合には、主側RAM74に設けられた開始時コマンドフラグに「1」をセットして(ステップS5509)、本抽選結果対応処理を終了する。
このように、兼用表示部66における停止順対応表示の実行条件が成立しなかった場合(ステップS5502、ステップS5503又はステップS5504にて否定判定が行われた場合)には、兼用表示部66を全消灯状態とするための処理(ステップS5507の処理)が実行される。一方、兼用表示部66における停止順対応表示の実行条件が成立した場合(ステップS5501又はステップS5502:YES、ステップS5503:YES、ステップS5504:YES)には、兼用表示部66を全消灯状態とするための処理(ステップS5507の処理)が実行されることはなく、兼用表示部66にて停止順対応表示を実行実行するための処理(ステップS5505の処理)が実行される。
兼用表示部66にて停止順対応表示を実行する条件が成立しなかった場合に兼用表示部66を全消灯状態とする構成である。既に説明したとおり、リール制御処理(図22)では、リール32L,32M,32Rの加速期間が終了したことに基づいてストップボタン42~44の操作が有効化される。兼用表示部66における停止順対応表示の有無とは無関係に兼用表示部66を全消灯状態とする構成とするとともに、ストップボタン42~44の操作が有効化されるタイミング又は当該タイミングよりも前のタイミングで停止順対応表示を開始する構成とすると、ストップボタン42~44の操作が有効化されるタイミング又は当該タイミングよりも前のタイミングで全消灯状態を終了する必要が生じてしまう。これに対して、兼用表示部66にて停止順対応表示を実行する条件が成立しなかった場合に兼用表示部66を全消灯状態とする構成であることにより、リール32L,32M,32Rの加速期間が終了してストップボタン42~44の操作が有効化されるタイミングとは無関係に、兼用表示部66における全消灯状態の終了タイミングを設定することができる。
停止順対応表示の実行条件が成立した場合(ステップS5501又はステップS5502:YES、ステップS5503:YES、ステップS5504:YES)には、「1」~「9」のいずれかの停止順種別番号が停止順種別カウンタ74mにセットされ(ステップS5505)、次回のポート出力処理(図91)において兼用表示部66にて停止順対応表示を実行するための処理が実行される状態となる。そして、次回のポート出力処理が実行されることにより、兼用表示部66が全消灯状態である状態から兼用表示部66にて停止順対応表示が実行されている状態に切り替わる。このため、兼用表示部66にて停止順対応表示が実行されるゲームではリール32L,32M,32Rの加速制御の開始時に兼用表示部66を全消灯状態とするための処理が実行されない構成としても、ベット操作又はメダル投入が行われてから入賞判定処理(図26)が実行されるまでの期間に亘って兼用表示部66に「00」が表示されている状態が継続されてしまうことを防止できる。これにより、兼用表示部66にてゲームが開始されたことに対応する態様で兼用表示部66の表示態様を変化させることができる。
次に、主側MPU72にて実行されるタイマ減算処理について図95のフローチャートを参照しながら説明する。既に説明したとおり、タイマ減算処理はタイマ割込み処理(図11)のステップS208にて実行される。
タイマ減算処理では、主側RAM74における消灯時間カウンタ74δ(図94(a))の値が「1」以上である場合(ステップS5601:YES)、消灯時間カウンタ74δの値を1減算し(ステップS5602)、当該1減算後における消灯時間カウンタ74δの値が「0」であるか否かを判定する(ステップS5603)。
ステップS5603にて肯定判定を行った場合、すなわち兼用表示部66における全消灯状態の継続時間が終了した場合には、付与数カウンタ74eの値を「0」クリアする(ステップS5604)。既に説明したとおり、抽選結果対応処理(図94(b))では、兼用表示部66にて停止順対応表示が実行されないことが特定された場合(ステップS5502、ステップS5503又はステップS5504にて否定判定が行われた場合)に、付与数カウンタ74eに消灯データが設定される(ステップS5507)とともに、全消灯状態の継続時間に対応する「221」という数値情報が消灯時間カウンタ74δに設定される(ステップS5508)。このため、ステップS5601にて肯定判定が行われる状態は付与数カウンタ74eに消灯データが設定されている状態である。ステップS5604の処理は、付与数カウンタ74eに消灯データが設定されている状態において実行される処理であり、当該ステップS5604にて付与数カウンタ74eの値を「0」クリアすることにより、付与数カウンタ74eに消灯データが設定されている状態を終了させることができるとともに、次回のポート出力処理(図91)において兼用表示部66にて「00」の付与数表示を実行するための処理(ステップS5409~ステップS5411の処理)が実行される状態とすることができる。次回のポート出力処理にて「00」の付与数表示を実行するための処理が実行されることにより、兼用表示部66が全消灯状態である状態から兼用表示部66にて「00」の付与数表示が実行されている状態に切り替わる。ステップS5604の処理は、付与数カウンタ74eに設定されている消灯データをクリアする処理であるとともに、兼用表示部66が全消灯状態である状態から兼用表示部66にて「00」の付与数表示が実行されている状態に切り替えるための処理である。このため、付与数カウンタ74eに設定されている消灯データをクリアするステップS5604の処理に加えて、当該処理とは別の処理として、兼用表示部66が全消灯状態である状態から兼用表示部66にて付与数表示が実行されている状態に切り替えるための処理が設定されている構成と比較して、付与数カウンタ74eに設定されている消灯データをクリアするとともに兼用表示部66が全消灯状態である状態から兼用表示部66にて付与数表示が実行されている状態に切り替えるための処理構成を簡素化することができる。一方、兼用表示部66にて停止順対応表示が実行されるゲームでは、ステップS5604にて付与数カウンタ74eの値が「0」クリアされても停止順種別カウンタ74mに「1」~「9」のいずれかの停止順種別番号が設定されている状態が維持されるため、兼用表示部66にて停止順対応処理が実行されている状態が継続される。
ステップS5601にて否定判定を行った場合、ステップS5603にて否定判定を行った場合、又はステップS5604の処理を行った場合には、その他のタイマ減算処理を実行して(ステップS5605)、本タイマ減算処理を終了する。その他のタイマ減算処理(ステップS5605)では、消灯時間カウンタ以外の各カウンタやタイマの値を減算する。
このように、兼用表示部66にて停止順対応表示が実行されないゲームにおいて付与数カウンタ74eにセットされた消灯データは、主側RAM74における消灯時間カウンタ74δの値が「0」となったことに基づいてクリアされる。そして、付与数カウンタ74eにセットされていた消灯データがクリアされた状態で、ポート出力処理(図91)が実行されることにより、兼用表示部66が全消灯状態である状態から兼用表示部66にて「00」の付与数表示が実行されている状態に切り替わる。
最初の(1つ目の)停止指令が発生するタイミングは遊技者によるストップボタン42~44の操作タイミングに応じて変動するが、全消灯状態が終了するタイミングは1つ目の停止指令が発生するタイミングに影響されない。このため、全消灯状態の継続期間(約330ミリ秒)に対応する数値情報(「221」)が消灯時間カウンタ74δにセットされてから約330ミリ秒が経過するタイミングよりも前のタイミングで1つ目の停止指令が発生する場合、全消灯状態の継続期間に対応する数値情報が消灯時間カウンタ74δにセットされてから約330ミリ秒が経過するタイミングで1つ目の停止指令が発生する場合、及び全消灯状態の継続期間に対応する数値情報が消灯時間カウンタ74δにセットされてから約330ミリ秒が経過するタイミングよりも後のタイミングで1つ目の停止指令が発生する場合のいずれにおいても、全消灯状態の継続期間を約330ミリ秒で固定することができる。これにより、1つ目の停止指令が発生するタイミングに影響されて全消灯状態の継続期間が短縮されてしまうことを防止できるとともに、いずれの場合においても遊技者や遊技ホールの管理者が認識可能な態様で兼用表示部66を全消灯状態とすることができる。
次に、兼用表示部66にて停止順対応表示が行われないゲームにおいて兼用表示部66が全消灯状態となる様子について図96のタイムチャートを参照しながら説明する。図96(a)は兼用表示部66が全消灯状態となる期間を示し、図96(b)兼用表示部66における付与数表示の実行期間を示し、図96(c)は付与数カウンタ74eに消灯データである「255」が設定されている期間を示し、図96(d)はリール32L,32M,32Rの加速期間を示し、図96(e)はゲームが実行されていない状態においてベット操作又は最初のメダル投入が行われるタイミングを示し、図96(f)は抽選結果対応処理(図94(b))が実行されるタイミングを示し、図96(g)はストップボタン42~44の操作が有効化されるタイミングを示し、図96(h)は1つ目のリールの停止制御が終了するタイミングを示し、図96(i)はリール制御処理(図22)のステップS1015にて入賞判定処理(図26)が実行されるタイミングを示し、図96(j)はポート出力処理(図91)が実行されるタイミングを示す。本明細書において1つ目のリールの停止制御とは、左リール32L、中リール32M及び右リール32Rのうち最初の(1番目の)停止指令が発生したリールの停止制御のことである。
付与数カウンタ74eの値が「0」であるとともに兼用表示部66にて「00」の付与数表示が実行されているt1のタイミングで、図96(e)に示すようにベット操作又は最初のメダル投入が行われると、付与数カウンタ74eの値が「0」である状態が維持される。その後、図96(j)に示すようにt2のタイミングでポート出力処理が実行されると、図96(b)に示すように兼用表示部66にて「00」の付与数表示が実行されている状態が継続される。
その後、ゲームが開始され、t3のタイミングで図96(f)に示すように抽選結果対応処理が実行されると、図96(c)に示すように付与数カウンタ74eに消灯データ(「255」)が設定される。その後、図96(d)に示すように、t4のタイミングでリール32L,32M,32Rの加速期間が開始される。その後、t5のタイミングで、図96(j)に示すようにポート出力処理が実行されると、図96(a),(b)に示すように、兼用表示部66にて付与数表示(「00」の表示)が実行されている状態から兼用表示部66が全消灯状態である状態に切り替わる。
その後、t6のタイミングで、図96(d)に示すようにリール32L,32M,32Rの加速期間が終了するとともに、図96(g)に示すようにストップボタン42~44の操作が有効化される。その後、兼用表示部66における全消灯状態の継続期間(約330ミリ秒)が経過するt7のタイミングで、図96(c)に示すように付与数カウンタ74eの値が「0」クリアされる。これにより、付与数カウンタ74eに消灯データが設定されていない状態となる。その後、t8のタイミングで、図96(j)に示すようにポート出力処理が実行されると、図96(a),(b)に示すように、兼用表示部66が全消灯状態である状態から兼用表示部66にて付与数表示(「00」の表示)が実行されている状態に切り替わる。付与数カウンタ74eに消灯データが設定されている期間(約330ミリ秒)は、リール32L,32M,32Rの加速期間(約300ミリ秒)よりも約30ミリ秒長い期間である。付与数カウンタ74eに消灯データを設定する処理(抽選結果対応処理(図94(b))におけるステップS5507の処理)が実行された後にリール32L,32M,32Rの加速制御を実行する処理(リール制御処理(図22)におけるステップS1001の処理)が実行される構成であるが、付与数カウンタ74eに消灯データが設定されている期間とリール32L,32M,32Rの加速期間との差(約30ミリ秒)は、付与数カウンタ74eに消灯データを設定する処理が実行されるt3のタイミングからリール32L,32M,32Rの加速制御が開始されるt4のタイミングまでの期間よりも長い。このため、リール32L,32M,32Rの加速制御が終了した後に、付与数カウンタ74eに消灯データが設定されている状態が終了する。
その後、図96(h)に示すように、t9のタイミングで1つ目のリールの停止制御が終了する。既に説明したとおり、各リール32L,32M,32Rの停止制御には少なくとも約149ミリ秒(4相励磁の励磁パルスが出力される期間)を要する。リール32L,32M,32Rの加速期間(約300ミリ秒)と1つ目のリールの停止制御に要する期間(少なくとも約149ミリ秒)との合計期間(少なくとも約449ミリ秒)は、付与数カウンタ74eに消灯データが設定されている期間(約330ミリ秒)と当該期間が終了してからポート出力処理が実行されるまでの期間(最大で約1.49ミリ秒)との合計期間(最大で約331.5ミリ秒)よりも長い期間である。また、リール32L,32M,32Rの加速制御が開始されるt4のタイミングは、付与数カウンタ74eに消灯データが設定されるt3のタイミングよりも後のタイミングである。このため、兼用表示部66における全消灯状態が終了するt8のタイミングは、1つ目のリールの停止制御が終了するt9のタイミングよりも前のタイミングとなる。
その後、図96(i)に示すように、t10のタイミングで入賞判定処理(図26)が実行される。上述したとおり、兼用表示部66の全消灯状態が終了するとともに兼用表示部66にて「00」の付与数表示が開始されるt8のタイミングの後に1つ目のリールの停止制御が終了する。そして、1つ目のリールの停止制御が終了するt9のタイミングから入賞判定処理にて小役入賞の成立の有無が特定されるt10のタイミングまでの間に、2つ目のリール及び3つ目のリールの停止制御が実行される。本明細書において2つ目のリールの停止制御とは、左リール32L、中リール32M及び右リール32Rのうち2番目の停止指令が発生したリールの停止制御のことであるとともに、3つ目のリールの停止制御とは、左リール32L、中リール32M及び右リール32Rのうち最後の(3番目の)停止指令が発生したリールの停止制御のことである。2つ目のリールの停止制御が実行される期間(約149ミリ秒)及び3つ目のリールの停止制御が実行される期間(約149ミリ秒)の合計期間は約298ミリ秒である。このため、全消灯状態の終了後に兼用表示部66にて「00」の付与数表示が実行される時間として、少なくとも、2つ目のリールの停止制御が実行される期間(約149ミリ秒)及び3つ目のリールの停止制御が実行される期間(約149ミリ秒)の合計期間(約298ミリ秒)を確保することができる。これにより、遊技者や遊技ホールの管理者が当該「00」の付与数表示を把握し易くすることができる。
図96(i)に示すようにt10のタイミングで実行される入賞判定処理にていずれの小役入賞も成立していないと判定されると、付与数カウンタ74eの値が「0」である状態が維持される。その後、t11のタイミングで、図96(j)に示すようにポート出力処理が実行されても、図96(b)に示すように兼用表示部66にて「00」の付与数表示が実行されている状態が継続される。
上記のとおり、ベット操作又はメダル投入が行われてから抽選結果対応処理(図94(b))が実行されるまでの間(t1のタイミング~t3のタイミング)、兼用表示部66では「00」の付与数表示が実行される。停止順対応表示が実行されない場合、兼用表示部66はリール32L,32M,32Rの加速制御の開始時に一時的に全消灯状態となる。当該全消灯状態が終了してから入賞判定処理(図26)が実行されるまでの間(t8のタイミング~t10のタイミング)、兼用表示部66では「00」の付与数表示が実行される。このように、兼用表示部66にて停止順対応表示が実行されないゲームにおいていずれの小役入賞も成立しない場合には、兼用表示部66にて「00」の付与数表示が実行されている状態→兼用表示部66が全消灯状態である状態→兼用表示部66にて「00」の付与数表示が実行されている状態の順番で、兼用表示部66の表示態様が変化する。ベット操作又はメダル投入が行われたことに基づいて兼用表示部66にて「00」の付与数表示が実行されるとともに、兼用表示部66にて「00」の付与数表示が実行されている状態で入賞判定処理(図26)が実行される構成において、リール32L,32M,32Rの加速制御の開始時に兼用表示部66を一時的に全消灯状態とすることにより、ベット操作又はメダル投入が行われてから入賞判定処理(図26)が実行されるまでの期間に亘って兼用表示部66にて「00」の付与数表示が実行されている状態が継続されてしまうことを防止できる。これにより、兼用表示部66にて停止順対応表示が実行されないゲームにおいても当該ゲームが開始されたことに対応する態様で兼用表示部66の表示態様を変化させることができる。
兼用表示部66の全消灯状態が終了するt8のタイミングは、リール32L,32M,32Rの加速期間が終了してストップボタン42~44の操作が有効化されるt6のタイミングよりも後のタイミングである。このため、ストップボタン42~44の操作が有効化されるタイミング又は当該タイミングよりも前のタイミングで兼用表示部66の全消灯状態が終了する構成と比較して、兼用表示部66が全消灯状態となる期間を長く設定することができる。これにより、遊技者や遊技ホールの管理者が兼用表示部66の全消灯状態を把握し易くすることができる。
ストップボタン42~44の操作が有効化されるタイミング(t6のタイミング)よりも後のタイミング(t8のタイミング)で兼用表示部66の全消灯状態が終了する構成において、当該全消灯状態は1つ目のリールの停止制御が終了するt9のタイミングよりも前のタイミング(t8のタイミング)において終了する。このため、全消灯状態の終了後に兼用表示部66にて「00」の付与数表示が実行される時間として、少なくとも、2つ目のリールの停止制御が実行される期間(約149ミリ秒)及び3つ目のリールの停止制御が実行される期間(約149ミリ秒)の合計期間(約298ミリ秒)を確保することができる。これにより、遊技者や遊技ホールの管理者が当該「00」の付与数表示を把握し易くすることができる。
兼用表示部66の全消灯状態は、ストップボタン42~44の操作が有効化されるタイミングよりも後のタイミングであるとともに1つ目のリールの停止制御が終了するタイミングよりも前のタイミングにおいて終了する。このため、兼用表示部66にて停止順対応表示が実行されないゲームにおいて、兼用表示部66が全消灯状態となっている状態、及び当該全消灯状態が終了してから入賞判定処理(図26)が実行されるまでの期間に兼用表示部66にて「00」の付与数表示が実行されている状態を、遊技者や遊技ホールの管理者が認識可能な態様で作り出すことができる。
以上詳述した本実施形態によれば、以下の優れた効果を奏する。
兼用表示部66にて停止順対応表示が実行されないゲームでは、ベット操作又はメダル投入が行われたことに基づいて兼用表示部66にて「00」の付与数表示が実行されるとともに、兼用表示部66にて「00」の付与数表示が実行されている状態で入賞判定処理(図26)が実行される構成において、リール32L,32M,32Rの加速制御の開始時に兼用表示部66を一時的に全消灯状態とすることにより、ベット操作又はメダル投入が行われてから入賞判定処理(図26)が実行されるまでの期間に亘って兼用表示部66にて「00」の付与数表示が実行されている状態が継続されてしまうことを防止できる。これにより、兼用表示部66にて停止順対応表示が実行されないゲームにおいて、当該ゲームが開始されたことに対応する態様で兼用表示部66の表示態様を変化させることができる。
兼用表示部66を一時的に全消灯状態とするための処理(ステップS5507の処理)は、兼用表示部66にて停止順対応表示が実行されないことが特定された場合に実行される。このため、当該全消灯状態の終了タイミングは、リール32L,32M,32Rの加速期間が終了してストップボタン42~44の操作が有効化されるタイミングとは無関係に設定することができる。ストップボタン42~44の操作が有効化されるタイミングよりも後のタイミングで兼用表示部66の全消灯状態が終了する構成とすることにより、ストップボタン42~44の操作が有効化されるタイミング又は当該タイミングよりも前のタイミングで兼用表示部66の全消灯状態が終了する構成と比較して、兼用表示部66が全消灯状態となる期間を長く設定することができる。これにより、遊技者や遊技ホールの管理者が兼用表示部66の全消灯状態を把握し易くすることができる。
ストップボタン42~44の操作が有効化されるタイミングよりも後のタイミングで兼用表示部66の全消灯状態が終了する構成において、当該全消灯状態は1つ目のリールの停止制御が終了するタイミングよりも前のタイミングにおいて終了する。このため、全消灯状態の終了後に兼用表示部66にて「00」の付与数表示が実行される時間として、少なくとも、2つ目のリールの停止制御が実行される期間(約149ミリ秒)及び3つ目のリールの停止制御が実行される期間(約149ミリ秒)の合計期間(約298ミリ秒)を確保することができる。これにより、遊技者や遊技ホールの管理者が当該「00」の付与数表示を把握し易くすることができる。
兼用表示部66の全消灯状態は、ストップボタン42~44の操作が有効化されるタイミングよりも後のタイミングであるとともに1つ目のリールの停止制御が終了するタイミングよりも前のタイミングにおいて終了する。このため、兼用表示部66にて停止順対応表示が実行されないゲームにおいて、兼用表示部66が全消灯状態となっている状態、及び当該全消灯状態が終了してから入賞判定処理(図26)が実行されるまでの期間に兼用表示部66にて「00」の付与数表示が実行されている状態を、遊技者や遊技ホールの管理者が認識可能な態様で作り出すことができる。
リール32L,32M,32Rの加速制御の開始時に兼用表示部66を全消灯状態とするための処理(ステップS5507の処理)は、兼用表示部66にて停止順対応表示が実行されないゲームにおいて実行される一方、停止順対応表示が実行されるゲームにおいては実行されない。停止順対応表示が実行されるゲームでは、役の抽選処理(図18)の結果に基づいて、ストップボタン42~44の操作が有効化されるタイミングよりも前のタイミングで、停止順種別カウンタ74mに「1」~「9」のいずれかの停止順種別番号がセットされるとともにポート出力処理(図28)が実行される。これにより、兼用表示部66にて「00」の付与数表示が実行されている状態から兼用表示部66にて当該停止順種別番号に対応する停止順対応表示が実行されている状態に切り替わる。このため、停止順対応表示が実行されるゲームではリール32L,32M,32Rの加速制御の開始時に兼用表示部66を全消灯状態とするための処理が実行されない構成としても、ベット操作又はメダル投入が行われてから入賞判定処理(図26)が実行されるまでの期間に亘って兼用表示部66に「00」が表示されている状態が継続されてしまうことを防止できる。これにより、ゲームの開始時に当該ゲームが開始されたことに対応する態様で兼用表示部66の表示態様を変化させることができる。
<第9の実施形態>
本実施形態では、停止順対応表示が行われないゲームにおいて兼用表示部66にて当該停止順対応表示が行われないことを示す非誘導表示が行われることが上記第1の実施形態と相違している。以下、上記第1の実施形態と相違する構成について説明する。なお、上記第1の実施形態と同一の構成については基本的にその説明を省略する。
図97(a)は兼用表示部66における非誘導表示の表示態様を説明するための説明図である。図97(a)に示すように、非誘導表示では、右側の7セグメント表示器66bにて停止順対応表示が実行されないゲームであることを示す表示が実行されるとともに、左側の7セグメント表示器66aが非表示状態となる。このように、兼用表示部66にて停止順対応表示が行われないゲームでは兼用表示部66にて非誘導表示を行う構成とすることにより、兼用表示部66の表示に基づいて停止順対応表示が行われないゲームであることを識別し易くすることができる。
上記第1の実施形態において既に説明したとおり、主側ROM73には停止順対応表示データテーブル73aが記憶されており、当該停止順対応表示データテーブル73aには、「1」~「9」の停止順種別番号に対応する停止順対応表示用の表示データが設定されている。また、本実施形態において、停止順対応表示データテーブル73aには、「10」の非誘導データに対応する非誘導表示用の表示データが設定されている。主側MPU72は、兼用表示部66にて非誘導表示を行う場合、停止順対応表示データテーブル73aを読み出し、非誘導表示用の表示データを右側兼用表示部表示エリア74qにセットするとともに、左側兼用表示部表示エリア74pに非表示用データをセットする。兼用表示部表示エリア74p,74qに設定されたこれらの表示データ及び非表示用データが兼用表示部66に出力されることにより、兼用表示部66にて非誘導表示が実行される。
図97(b)は兼用表示部66にて非誘導表示が実行される条件、停止順対応表示が実行される条件、比率表示が実行される条件及び付与数表示が実行される条件を説明するための説明図である。図97(b)に示すように、兼用表示部66は、ゲームが実行されている期間において、非誘導表示が実行されている状態、停止順対応表示が実行されている状態及び付与数表示が実行されている状態のいずれかとなるとともに、ゲームが実行されていない期間において、比率表示が実行されている状態又は付与数表示が実行されている状態となる。ここで、ゲームが実行されている期間とは、主側RAM74のゲーム中フラグに「1」がセットされている期間であるとともに、ゲームが実行されていない期間とは、当該ゲーム中フラグの値が「0」である期間である。
ゲームが実行されている期間においては、主側RAM74の停止順種別カウンタ74mに非誘導データである「10」が設定されていることを条件として、兼用表示部66にて非誘導表示が実行される。非誘導データは、後述する抽選結果対応処理(図97(c))において、兼用表示部66にて停止順対応表示が行われないゲームであると判定された場合に停止順種別カウンタ74mに設定される。ゲームが実行されている期間においては、主側RAM74における停止順種別カウンタ74mに「1」~「9」のいずれかの停止順種別番号が設定されている状態であることを条件として、兼用表示部66にて停止順対応表示が行われる。上記第1の実施形態において既に説明したとおり、停止順種別カウンタ74mは、入賞判定処理(図26)のステップS1208にて「0」クリアされる。これにより、兼用表示部66にて非誘導表示が実行されていた場合には当該非誘導表示が終了して付与数表示が開始されるとともに、兼用表示部66にて停止順対応表示が実行されていた場合には当該停止順対応表示が終了して付与数表示が開始される。
ゲームが実行されていない期間においては、比率表示カウンタ74nに「0」~「100」のいずれかの演算結果データが設定されていることを条件として、兼用表示部66にて比率表示が実行される。ゲームが実行されている期間及びゲームが実行されていない期間のいずれにおいても、停止順種別カウンタ74mに「1」~「9」の停止順種別番号及び「10」の非誘導データが設定されていない状態であり、比率表示カウンタ74nに「0」~「100」の演算結果データが設定されていない状態であることを条件として、兼用表示部66にて付与数表示が実行される。
停止順種別カウンタ74mに「1」~「9」のいずれかの停止順種別番号又は「10」の非誘導データが設定される期間は、ゲームの実行中に発生するとともに当該ゲームの実行中に終了する。一方、上記第1の実施形態において既に説明したとおり、比率表示カウンタ74nには、ゲームが実行されていない状態において比率表示の開始操作が行われた場合に「0」~「100」の演算結果データが設定される。このため、停止順種別カウンタ74mに「1」~「9」のいずれかの停止順種別番号又は「10」の非誘導データが設定されている状態と、比率表示カウンタ74nに「0」~「100」の演算結果データが設定されている状態とが重複して発生することはない。
上述したとおり、主側MPU72は、停止順種別カウンタ74mに「1」~「9」のいずれかの停止順種別番号が設定されている場合には兼用表示部66にて停止順対応表示が行われるようにするとともに、停止順種別カウンタ74mに非誘導データである「10」が設定されている場合には兼用表示部66にて非誘導表示が行われるようにする。停止順種別カウンタ74mは、「1」~「9」のいずれかの停止順種別番号が設定されるカウンタであるとともに、兼用表示部66にて非誘導表示を実行するための非誘導データ(「10」)が設定されるカウンタである。このため、停止順種別番号が設定される停止順種別カウンタ74mに加えて、主側RAM74に兼用表示部66にて非誘導表示を実行すべき状態であることを主側MPU72にて把握可能とするためのフラグ等が設けられている構成と比較して、兼用表示部66にて非誘導表示を実行するために主側RAM74に設けられる記憶エリアのデータ容量を低減することができる。
上述したとおり、兼用表示部66における停止順対応表示の実行条件が成立しなかった場合、リール32L,32M,32Rの加速制御の開始時に兼用表示部66にて非誘導表示が実行される。上記第7の実施形態と同様に、小役入賞が成立することなく前回のゲームが終了した場合、付与数カウンタ74eの値は「0」となり兼用表示部66では当該付与数カウンタ74eの値に対応する「00」の付与数表示が実行される。その後、ゲームを開始するためのベット操作又はメダル投入が行われても付与数カウンタ74eの値が「0」である状態が継続されるとともに、兼用表示部66にて当該付与数カウンタ74eの値に対応する「00」の付与数表示が継続される。兼用表示部66にて停止順対応表示が実行されないゲームにおいて、ゲーム開始から入賞判定処理(図26)までの期間に兼用表示部66の表示態様を変化させない構成とすると、当該ゲームにおいて小役入賞が成立しなかった場合には、付与数カウンタ74eの値が「0」である状態が継続されるとともに、兼用表示部66にて当該付与数カウンタ74eの値に対応する「00」の付与数表示が継続される。このように、兼用表示部66にて停止順対応表示が実行されないゲームにおいて、ゲーム開始から入賞判定処理(図26)までの期間に兼用表示部66の表示態様を変化させない構成とすると、ゲーム開始前からゲーム終了後までの期間に亘って兼用表示部66に「00」が表示されている状態が継続され、兼用表示部66の表示に基づいて当該ゲームが開始されたことを把握できない場合が生じてしまう。これに対して、兼用表示部66における停止順対応表示の実行条件が成立しなかった場合にはリール32L,32M,32Rの加速制御の開始時に兼用表示部66にて非誘導表示を実行する構成とすることにより、ベット操作又はメダル投入が行われてから入賞判定処理(図26)が実行されるまでの期間に亘って兼用表示部66に「00」が表示されている状態が継続されてしまうことを防止できる。これにより、兼用表示部66にて停止順対応表示が実行されないゲームにおいても兼用表示部66の表示態様に基づいてゲームが開始されたことを把握可能とすることができる。
上記第1の実施形態において既に説明したとおり、停止順対応表示が実行されるゲームでは、リール32L,32M,32Rの加速制御が開始されるタイミングよりも前のタイミングで兼用表示部66にて停止順対応表示が実行される。これにより、兼用表示部66における表示内容が「00」の付与数表示から停止順種別カウンタ74mに設定された「1」~「9」のいずれかの停止順種別番号に対応する停止順対応表示に切り替わる。このため、兼用表示部66にて停止順対応表示が実行されるゲームでは、ベット操作又はメダル投入が行われてから入賞判定処理(図26)が実行されるまでの期間に亘って兼用表示部66に「00」が表示されている状態が継続されてしまうことを防止できる。これにより、兼用表示部66の表示態様に基づいてゲームが開始されたことを把握可能とすることができる。
図97(c)は主側MPU72にて実行される抽選結果対応処理を示すフローチャートである。上記第1の実施形態において既に説明したとおり、抽選結果対応処理は役の抽選処理(図18)のステップS914にて実行される。
抽選結果対応処理では、ステップS5701~ステップS5705にて、上記第1の実施形態における抽選結果対応処理(図25)のステップS1101~ステップS1105と同様の処理を実行する。具体的には、現状の遊技状態が疑似ボーナス状態ST4である場合(ステップS5701:YES)又はAT状態ST5である場合(ステップS5702:YES)、主側RAM74におけるベット数設定カウンタ74bの値が「3」であるか否かを判定する(ステップS5703)。ベット数設定カウンタ74bの値が「3」である場合(ステップS5703:YES)、すなわち今回のゲームのベット数が「3」である場合には、主側RAM74のインデックス値カウンタ74fを参照することにより役の抽選処理(図18)にて「1」~「9」のいずれかのインデックス値IVに当選しているか否かを判定する(ステップS5704)。
ステップS5704にて肯定判定を行った場合には、インデックス値カウンタ74fの値を主側RAM74における停止順種別カウンタ74mにセットする(ステップS5705)。これにより、次回のポート出力処理(図98)において兼用表示部66にて停止順対応表示を実行するための処理が実行される状態とすることができる。次回のポート出力処理にて停止順対応表示を実行するための処理が実行されることにより、兼用表示部66にて「00」の付与数表示が実行されている状態から停止順対応表示が実行されている状態に切り替わる。ステップS5705の処理は、停止順種別カウンタ74mに「1」~「9」のいずれかの停止順種別番号をセットする処理であるとともに、兼用表示部66にて付与数表示が実行されている状態から停止順対応表示が実行されている状態に切り替えるための処理である。このため、停止順種別カウンタ74mに「1」~「9」のいずれかの停止順種別番号を設定するステップS5705の処理に加えて、当該処理とは別の処理として、兼用表示部66にて付与数表示が実行されている状態から停止順対応表示が実行されている状態に切り替えるための処理が設定されている構成と比較して、停止順種別カウンタ74mに「1」~「9」のいずれかの停止順種別番号をセットするとともに兼用表示部66にて付与数表示が実行されている状態から停止順対応表示が実行されている状態に切り替えるための処理構成を簡素化することができる。上記第1の実施形態において図24(b)を参照しながら既に説明したとおり、疑似ボーナス状態ST4又はAT状態ST5であるとともにベット数が「3」であるゲームの役の抽選処理(図18)にて「n」(「n」は「1」~「9」のいずれかの整数)のインデックス値IVに当選した場合、停止順種別カウンタ74mには「n」がセットされる。これにより、兼用表示部66における停止順対応表示の表示内容が第n停止順対応表示となる。
ステップS5702、ステップS5703又はステップS5704にて否定判定を行った場合には、停止順種別カウンタ74mに兼用表示部66にて非誘導表示を行うための非誘導データである「10」をセットする(ステップS5706)。これにより、次回のポート出力処理(図98)において兼用表示部66にて非誘導表示を実行するための処理が実行される状態とすることができる。次回のポート出力処理にて非誘導表示を実行するための処理が実行されることにより、兼用表示部66にて「00」の付与数表示が実行されている状態から非誘導表示が実行されている状態に切り替えることができる。ステップS5706の処理は、停止順種別カウンタ74mに「10」という非誘導データをセットする処理であるとともに、兼用表示部66にて付与数表示が実行されている状態から非誘導表示が実行されている状態に切り替えるための処理である。このため、停止順種別カウンタ74mに「10」という非誘導データを設定するステップS5706の処理に加えて、当該処理とは別の処理として、兼用表示部66にて付与数表示が実行されている状態から非誘導表示が実行されている状態に切り替えるための処理が設定されている構成と比較して、停止順種別カウンタ74mに非誘導データをセットするとともに兼用表示部66にて付与数表示が実行されている状態から非誘導表示が実行されている状態に切り替えるための処理構成を簡素化することができる。
ステップS5705又はステップS5706の処理を行った場合には、上記第1の実施形態における抽選結果対応処理(図25)のステップS1107と同様に、主側RAM74の開始時コマンドフラグに「1」をセットして(ステップS5707)、本抽選結果対応処理を終了する。
このように、兼用表示部66にて停止順対応表示が実行されるゲームでは、リール32L,32M,32Rの加速制御が開始されるタイミングよりも前のタイミングにおいて、停止順種別カウンタ74mに「1」~「9」のいずれかの停止順種別番号が設定されることにより、次回のポート出力処理において兼用表示部66にて停止順対応表示を実行するための処理が実行される状態となる。また、兼用表示部66にて停止順対応表示が実行されないゲームでは、リール32L,32M,32Rの加速制御が開始されるタイミングよりも前のタイミングにおいて、停止順種別カウンタ74mに「10」という非誘導データが設定されることにより、次回のポート出力処理において兼用表示部66にて非誘導表示を実行するための処理が実行される状態となる。
停止順対応表示が実行されるゲームでは、停止順種別カウンタ74mに停止順種別番号が設定されていることに基づいて兼用表示部66にて停止順対応表示が実行されるとともに、当該停止順対応表示を終了させるために停止順種別カウンタ74mの値を「0」クリアする処理(入賞判定処理(図26)におけるステップS1208の処理)が実行される。また、停止順対応表示が実行されるゲームでは、停止順種別カウンタ74mに非誘導データが設定されていることに基づいて兼用表示部66にて非誘導表示が実行されるとともに、当該非誘導表示を終了させるために停止順種別カウンタ74mの値を「0」クリアする処理(入賞判定処理(図26)におけるステップS1208の処理)が実行される。入賞判定処理(図26)におけるステップS1208の処理は、停止順対応表示が実行されるゲームにおいて当該停止順対応表示を終了させるために実行される処理であるとともに、停止順対応表示が実行されないゲームにおいて非誘導表示を終了させるために実行される処理である。このため、停止順対応表示を終了させるための処理とは別の処理として非誘導表示を終了させるための処理が設定されている構成と比較して、停止順対応表示及び非誘導表示を終了させるための処理構成を簡素化することができる。
次に、主側MPU72にて実行されるポート出力処理について図98のフローチャートを参照しながら説明する。上記第1の実施形態において既に説明したとおり、ポート出力処理はタイマ割込み処理(図11)のステップS211にて実行される。
ポート出力処理では、まず上記第1の実施形態におけるポート出力処理(図28)のステップS1401と同様に、主側RAM74の停止順種別カウンタ74mに「1」~「9」のいずれかの停止順種別番号が設定されているか否かを判定する(ステップS5801)。停止順種別カウンタ74mに「1」~「9」の停止順種別番号が設定されていない場合(ステップS5801:NO)には、主側RAM74の停止順種別カウンタ74mに非誘導データである「10」がセットされているか否かを判定する(ステップS5802)。
停止順種別カウンタ74mに「1」~「9」のいずれかの停止順種別番号が設定されている場合(ステップS5801:YES)、又は停止順種別カウンタ74mに非誘導データがセットされている場合(ステップS5802:YES)には、主側ROM73に記憶されている停止順対応表示データテーブル73aを読み出し(ステップS5803)、当該読み出した停止順対応表示データテーブル73aを参照して停止順種別カウンタ74mの値に対応する表示データを兼用表示部表示エリア74p,74qにセットする(ステップS5804)。ステップS5804では、停止順種別カウンタ74mに「1」~「9」のいずれかの停止順種別番号が設定されている場合、停止順種別カウンタ74mの値に対応する表示データを右側兼用表示部表示エリア74qにセットするとともに、非表示用データを左側兼用表示部表示エリア74pにセットする。兼用表示部表示エリア74p,74qに設定されたこれらの表示データ及び非表示用データが後述するステップS5810にて兼用表示部66に出力されることにより兼用表示部66にて停止順対応表示を実行することができる。また、停止順種別カウンタ74mに非誘導データである「10」が設定されている場合、非誘導表示用の表示データを右側兼用表示部表示エリア74qにセットするとともに、非表示用データを左側兼用表示部表示エリア74pにセットする。兼用表示部表示エリア74p,74qに設定されたこれらの表示データ及び非表示用データが後述するステップS5810にて兼用表示部66に出力されることにより兼用表示部66にて非誘導表示を実行することができる。
ステップS5805~ステップS5812では、上記第1の実施形態におけるポート出力処理(図28)のステップS1404~ステップS1411と同様の処理を実行する。具体的には、ステップS5802にて否定判定を行った後、比率表示カウンタ74nに「0」~「100」のいずれかの演算結果データが設定されている場合(ステップS5805:YES)には、主側ROM73に記憶されている数字表示データテーブル73bを読み出す(ステップS5806)。その後、ステップS5806にて読み出した数字表示データテーブル73bを参照して比率表示カウンタ74nの値に対応する表示データを左側兼用表示部表示エリア74p及び右側兼用表示部表示エリア74qにセットする(ステップS5807)。兼用表示部表示エリア74p,74qに設定されたこれらの表示データが後述するステップS5810にて兼用表示部66に出力されることにより兼用表示部66にて比率表示を実行することができる。
停止順種別カウンタ74mに「1」~「9」の停止順種別番号及び非誘導データが設定されていない状態(ステップS5801:NO、ステップS5802:NO)であるとともに比率表示カウンタ74nに「0」~「100」の演算結果データが設定されていない状態(ステップS5805:NO)である場合には、兼用表示部66にて付与数表示を行うための処理(ステップS5808~ステップS5809の処理)を実行する。具体的には、ステップS5806と同様に、主側ROM73に記憶されている数字表示データテーブル73bを読み出し(ステップS5808)、当該読み出した数字表示データテーブル73bを参照して付与数カウンタ74eの値に対応する表示データを左側兼用表示部表示エリア74p及び右側兼用表示部表示エリア74qにセットする(ステップS5809)。兼用表示部表示エリア74p,74qに設定されたこれらの表示データが後述するステップS5810にて兼用表示部66に出力されることにより兼用表示部66にて付与数表示を実行することができる。
ステップS5804、ステップS5807又はステップS5809の処理を行った場合には、左側兼用表示部表示エリア74p及び右側兼用表示部表示エリア74qに設定されているデータ(表示データ又は非表示用データ)を兼用表示部66に出力する(ステップS5810)。これにより、左側兼用表示部表示エリア74pに非表示用データが設定されているとともに右側兼用表示部表示エリア74qに停止順対応表示用の表示データが設定されている場合には兼用表示部66にて停止順対応表示が実行される。また、左側兼用表示部表示エリア74pに非表示用データが設定されているとともに右側兼用表示部表示エリア74qに非誘導表示用の表示データが設定されている場合には兼用表示部66にて非誘導表示が実行される。さらにまた、左側兼用表示部表示エリア74pに非表示用データ又は比率表示用の表示データが設定されているとともに右側兼用表示部表示エリア74qに比率表示用の表示データが設定されている場合には兼用表示部66にて比率表示が実行される。また、兼用表示部表示エリア74p,74qに付与数表示用の表示データが設定されている場合には兼用表示部66にて付与数表示が実行される。
その後、クレジット表示部65の表示制御処理を実行し(ステップS5811)、その他のポート出力処理を実行して(ステップS5812)、本ポート出力処理を終了する。ステップS5812におけるその他のポート出力処理では、入出力ポートからI/O装置に対応するデータを出力する。
次に、兼用表示部66にて非誘導表示が実行される様子について図99のタイムチャートを参照しながら説明する。図99(a)は兼用表示部66にて非誘導表示が実行される期間を示し、図99(b)は兼用表示部66にて「00」の付与数表示が実行される期間を示し、図99(c)は停止順種別カウンタ74mに非誘導データである「10」が設定されている期間を示し、図99(d)はゲームが実行されていない状態においてベット操作又は最初のメダル投入が行われるタイミングを示し、図99(e)はゲームが開始されるタイミングを示し、図99(f)はストップボタン42~44の操作が有効化されるタイミングを示し、図99(g)は入賞判定処理(図26)が実行されるタイミングを示し、図99(h)はポート出力処理(図98)が実行されるタイミングを示す。
付与数カウンタ74eの値が「0」であるとともに兼用表示部66にて「00」の付与数表示が実行されているt1のタイミングで、図99(d)に示すようにベット操作又は最初のメダル投入が行われると、付与数カウンタ74eの値が「0」である状態が維持される。その後、図99(h)に示すようにt2のタイミングでポート出力処理が実行されると、図99(b)に示すように兼用表示部66にて「00」の付与数表示が実行されている状態が継続される。
その後、図99(e)に示すようにt3のタイミングでゲームが開始される。その後、図99(c)に示すようにt4のタイミングで停止順種別カウンタ74mに非誘導データである「10」がセットされる。その後、t5のタイミングで、図99(h)に示すようにポート出力処理が実行されることにより、図99(a),(b)に示すように兼用表示部66の表示内容が「00」の付与数表示から非誘導表示に切り替わる。その後、t6のタイミングで図99(f)に示すようにストップボタン42~44の操作が有効化される。
その後、t7のタイミングで図99(g)に示すように入賞判定処理(図26)が実行され、当該入賞判定処理においていずれの小役入賞も成立していないと判定されると、付与数カウンタ74eの値が「0」である状態が維持される。また、当該t7のタイミングで、図99(c)に示すように、入賞判定処理(図26)のステップS1208の処理が実行されることにより停止順種別カウンタ74mの値が「0」クリアされる。その後、t8のタイミングで、図99(h)に示すようにポート出力処理が実行されることにより、図99(a),(b)に示すように兼用表示部66における表示内容が非誘導表示から「00」の付与数表示に切り替わる。
上記のとおり、ベット操作又はメダル投入が行われたことに基づいて兼用表示部66にて「00」の付与数表示が実行されるとともに兼用表示部66にて「00」の付与数表示が実行されている状態で入賞判定処理(図26)が実行される。兼用表示部66にて停止順対応表示が実行されないゲームでは、リール32L,32M,32Rの加速制御が開始されるタイミングよりも前のタイミングであるt4のタイミングにおいて、兼用表示部66にて非誘導表示を実行するための処理(停止順種別カウンタ74mに非誘導データを設定する処理)が実行される。これにより、ベット操作又はメダル投入が行われてから入賞判定処理(図26)が実行されるまでの期間に亘って兼用表示部66にて「00」の付与数表示が実行されている状態が継続されてしまうことを防止できる。よって、兼用表示部66にて停止順対応表示が実行されないゲームにおいても兼用表示部66の表示態様に基づいてゲームが開始されたことを把握可能とすることができる。
以上詳述した本実施形態によれば、以下の優れた効果を奏する。
ベット操作又はメダル投入が行われたことに基づいて兼用表示部66にて「00」の付与数表示が実行されるとともに兼用表示部66にて「00」の付与数表示が実行されている状態で入賞判定処理(図26)が実行される構成において、兼用表示部66にて停止順対応表示が実行されないゲームでは、リール32L,32M,32Rの加速制御の開始時に兼用表示部66にて非誘導表示が実行される。これにより、ベット操作又はメダル投入が行われてから入賞判定処理(図26)が実行されるまでの期間に亘って兼用表示部66にて「00」の付与数表示が実行されている状態が継続されてしまうことを防止できる。よって、兼用表示部66にて停止順対応表示が実行されないゲームにおいても兼用表示部66の表示態様に基づいてゲームが開始されたことを把握可能とすることができる。
主側MPU72は、停止順種別カウンタ74mに「1」~「9」のいずれかの停止順種別番号が設定されている場合には兼用表示部66にて停止順対応表示が行われるようにするとともに、停止順種別カウンタ74mに非誘導データである「10」が設定されている場合には兼用表示部66にて非誘導表示が行われるようにする。停止順種別カウンタ74mは、「1」~「9」のいずれかの停止順種別番号が設定されるカウンタであるとともに、兼用表示部66にて非誘導表示を実行するための非誘導データが設定されるカウンタである。このため、停止順種別番号が設定される停止順種別カウンタ74mに加えて、主側RAM74に兼用表示部66にて非誘導表示を実行すべき状態であることを主側MPU72にて把握可能とするためのフラグ等が設けられている構成と比較して、兼用表示部66にて非誘導表示を実行するために主側RAM74に設けられる記憶エリアのデータ容量を低減することができる。
停止順対応表示が実行されるゲームでは、停止順種別カウンタ74mに停止順種別番号が設定されていることに基づいて兼用表示部66にて停止順対応表示が実行されるとともに、当該停止順対応表示を終了させるために停止順種別カウンタ74mの値を「0」クリアする処理(入賞判定処理(図26)におけるステップS1208の処理)が実行される。また、停止順対応表示が実行されるゲームでは、停止順種別カウンタ74mに非誘導データが設定されていることに基づいて兼用表示部66にて非誘導表示が実行されるとともに、当該非誘導表示を終了させるために停止順種別カウンタ74mの値を「0」クリアする処理(入賞判定処理(図26)におけるステップS1208の処理)が実行される。入賞判定処理(図26)におけるステップS1208の処理は、停止順対応表示が実行されるゲームにおいて当該停止順対応表示を終了させるために実行される処理であるとともに、停止順対応表示が実行されないゲームにおいて非誘導表示を終了させるために実行される処理である。このため、停止順対応表示を終了させるための処理とは別の処理として非誘導表示を終了させるための処理が設定されている構成と比較して、停止順対応表示及び非誘導表示を終了させるための処理構成を簡素化することができる。
兼用表示部66にて停止順対応表示が行われないゲームでは兼用表示部66にて非誘導表示を行う構成とすることにより、兼用表示部66の表示に基づいて停止順対応表示が行われないゲームであることを識別し易くすることができる。
<第10の実施形態>
本実施形態では、開始時上乗せ用処理の処理内容及び当該開始時上乗せ用処理を実行するためのプログラム内容が上記第1の実施形態と相違している。以下、上記第1の実施形態と相違する構成について説明する。なお、上記第1の実施形態と同一の構成については基本的にその説明を省略する。
上記第1の実施形態において既に説明したとおり、主側MPU72では、ゲーム開始時の有利状態用処理(図40)におけるステップS2310にて開始時上乗せ用処理が実行される。上記第1の実施形態と同様に、開始時上乗せ用処理はAT状態ST5において実行される。本実施形態における開始時上乗せ用処理では、役の抽選処理(図18)において第1スイカ当選データが設定されているインデックス値IV(「11」)、第2スイカ当選データが設定されているインデックス値IV(「12」)、第1チャンスリプレイ当選データが設定されているインデックス値IV(「14」)、又は第2チャンスリプレイ当選データが設定されているインデックス値IV(「15」)に当選している場合には、上乗せ抽選における参照対象の抽選テーブルとして第1上乗せ抽選テーブル73d(図43(a))が選択される。また、役の抽選処理(図18)においてチェリー当選データが設定されているインデックス値IV(「13」)に当選している場合には、上乗せ抽選における参照対象の抽選テーブルとして、当該第1上乗せ抽選テーブル73dよりも遊技者にとって有利な第2上乗せ抽選テーブル73e(図43(b))が選択される。
図100は主側MPU72にて実行される開始時上乗せ用処理のプログラム内容の説明図である。上記第1の実施形態において既に説明したとおり、開始時上乗せ用処理はゲーム開始時の有利状態用処理(図40)におけるステップS2310にて実行される。図100に示すように本プログラムには、行番号として「1401」~「1409」が設定されている。プログラムの命令は、コール命令又はジャンプ命令が実行される場合を除いて、行番号の小さい方から大きい方に向かう順番で実行される。
行番号「1401」~行番号「1405」には、上記第1の実施形態における開始時上乗せ用処理のプログラム(図69(b))の行番号「1301」~行番号「1305」と同様の命令が設定されている。具体的には、「1401」の行番号には、「LD A,(INDXCNT)」という命令が設定されている。「LD」は8ビットデータの転送命令としてのLD命令であり、「A」はAレジスタ101bであり、「(INDXCNT)」は転送元として主側RAM74のインデックス値カウンタ74fを指定する内容である。行番号「1401」にて「LD A,(INDXCNT)」という命令が実行されることによりインデックス値カウンタ74fのデータがAレジスタ101bに転送される。これにより、役の抽選処理(図18)にて「1」~「17」のいずれかのインデックス値IVに当選している場合には当該インデックス値IVがAレジスタ101bに設定されるとともに、役の抽選処理(図18)にていずれのインデックス値IVにも当選していない場合には「0」がAレジスタ101bに設定される。
「1402」の行番号には、「SUB A,0BH」という命令が設定されている。「SUB」は8ビットデータの減算命令としてのSUB命令であり、「A」はAレジスタ101bであり、「0BH」は「11」を示す1バイトの数値情報である。既に説明したとおり、「11」は第1抽選対象範囲である「11」~「15」の最小値である。行番号「1402」にて「SUB A,0BH」という命令が実行されることにより、Aレジスタ101bの値から「11」を減算する演算が行われ、当該演算の結果がAレジスタ101bに書き込まれる。当該演算において最上位ビット目(第7ビット目)への桁借りが発生した場合にはキャリーフラグCFに「1」がセットされるとともに、当該演算において最上位ビット目(第7ビット目)への桁借りが発生しなかった場合にはキャリーフラグCFの値が「0」となる。上記第1の実施形態において図69(a)を参照しながら既に説明したとおり、インデックス値カウンタ74fの値が第1抽選対象範囲である「11」~「15」のいずれかである場合にはAレジスタ101bの値が「5」未満の値となるとともに、インデックス値カウンタ74fの値が第1抽選対象範囲である「11」~「15」のいずれでもない場合にはAレジスタ101bの値が「5」以上の値となる。
「1403」の行番号には「CP A,05H」という命令が設定されている。「CP」は8ビットデータの比較命令としてのCP命令であり、「A」はAレジスタ101bであり、「05H」は「5」を示す1バイトの数値情報である。行番号「1403」にて「CP A,05H」という命令が実行されることにより、Aレジスタ101bの値から「5」を減算する演算が行われる。上記第1の実施形態において既に説明したとおり、CP命令が実行された場合、ジャンプフラグJFの値はキャリーフラグCFの値と同一の値となる。「5」減算前のAレジスタ101bの値が「5」未満である場合、すなわちインデックス値カウンタ74fの値が第1抽選対象範囲(「11」~「15」)に含まれている場合には、当該演算において最上位ビット目(第0~第7ビットにおける第7ビット目)への桁借りが生じてキャリーフラグCFの値が「1」となるとともに、ジャンプフラグJFの値も「1」となる。一方、「5」減算前のAレジスタ101bの値が「5」以上である場合、すなわちインデックス値カウンタ74fの値が第1抽選対象範囲に含まれていない「0」~「10」及び「16」~「17」のいずれかである場合には、当該演算において最上位ビット目(第0~第7ビットにおける第7ビット目)への桁借りが生じないため、キャリーフラグCFの値が「0」となるとともに、ジャンプフラグJFの値も「0」となる。Aレジスタ101bの値から「5」を減算する演算の演算結果は、Aレジスタ101bには書き込まれない。「CP A,05H」という命令が実行されてもAレジスタ101bの値は変化しない。このため、行番号「1402」にて「11」を減算する演算を実行してAレジスタ101bに格納されたデータを後述する行番号「1406」においても利用可能とすることができる。
「1404」の行番号には「RET NC」という命令が設定されている。「RET」はサブルーチンからの復帰命令としてのRET命令であり、「NC」はサブルーチンから復帰するための条件として、キャリーフラグCFの値が「0」であること、という条件を設定する内容である。行番号「1404」にて「RET NC」という命令が実行されることにより、キャリーフラグCFの値が「0」であることを条件として、ゲーム開始時の有利状態用処理(図40)のステップS2310にて呼び出した開始時上乗せ用処理を終了し、ステップS2310の次のステップS2311に復帰する。上述したとおり、インデックス値カウンタ74fの値が第1抽選対象範囲(「11」~「15」)に含まれていない「0」~「10」及び「16」~「17」のいずれかである場合には、行番号「1403」の命令が実行されることによりキャリーフラグCFの値が「0」となる。このため、行番号「1404」にて「RET NC」という命令が実行されることにより、開始時上乗せ用処理を終了し、ゲーム開始時の有利状態用処理(図40)におけるステップS2311に復帰する。一方、上述したとおり、インデックス値カウンタ74fの値が第1抽選対象範囲(「11」~「15」)に含まれている場合には、行番号「1403」の命令が実行されることによりキャリーフラグCFの値が「1」となる。このため、行番号「1404」に「RET NC」という命令が設定されていても開始時上乗せ用処理を終了することはなく、次の行番号「1405」に進む。
「1405」の行番号には「LD HL,KSADD01」という命令が設定されている。「LD」は16ビット転送命令としてのLD命令であり、「HL」は転送先としてHLレジスタ104を設定する内容であり、「KSADD01」は主側ROM73における第1上乗せ抽選テーブル73dの開始アドレスである。行番号「1405」にて「LD HL,KSADD01」という命令が実行されることにより第1上乗せ抽選テーブル73dの開始アドレスがHLレジスタ104に転送される。これにより、上乗せ抽選における参照対象の抽選テーブルとして第1上乗せ抽選テーブル73dを設定することができる。このように、AT状態ST5であるとともに役の抽選処理(図18)にて第1抽選対象範囲(「11」~「15」)のインデックス値IVに当選している場合には、参照対象の抽選テーブルとして第1上乗せ抽選テーブル73dが設定される。
「1406」の行番号には「CP A,02H」という命令が設定されている。「CP」は8ビットデータの比較命令としてのCP命令であり、「A」はAレジスタ101bであり、「02H」は「2」を示す1バイトの数値情報である。上述したとおり、Aレジスタ101bには、行番号「1402」における「11」を減算する演算により算出された1バイトの数値情報が格納されている。具体的には、インデックス値カウンタ74fの値が「13」である場合にはAレジスタ101bの値は「2」であるとともに、インデックス値カウンタ74fの値が「11」、「12」、「14」又は「15」である場合にはAレジスタ101bの値は「0」、「1」、「3」又は「4」である。行番号「1406」にて「CP A,02H」という命令が実行されることにより、Aレジスタ101bの値から「2」を減算する演算が行われる。「2」減算前のAレジスタ101bの値が「2」である場合、すなわちインデックス値カウンタ74fの値が「13」である場合には、当該演算の演算結果が「0」となるとともにゼロフラグZFに「1」がセットされる。一方、「2」減算前のAレジスタ101bの値が「2」ではない場合、すなわちインデックス値カウンタ74fの値が「11」、「12」、「14」又は「15」である場合には、当該演算の演算結果が「0」にはならないため、ゼロフラグZFの値は「0」となる。
「1407」の行番号には「JR NZ,ADR142」という命令が設定されている。「JR」は語長2バイトの条件付きジャンプ命令であり、「NZ」はジャンプの条件として、ゼロフラグZFの値が「0」であること、という条件を指定する内容であり、「ADR142」はジャンプ先のプログラムアドレスとして行番号「1409」の「ADR142」というプログラムアドレスを指定する内容である。行番号「1407」の命令は「ADR141」というプログラムアドレスに設定されている。行番号「1407」のJR命令では、当該JR命令が設定されているプログラムアドレス(ADR141)及び当該JR命令に設定されている差分の情報(8ビット)に基づいて、2バイトのジャンプ先のプログラムアドレス(ADR142)が相対的に特定される。語長2バイトのJR命令を利用してジャンプ先のプログラムアドレスにジャンプする構成であることにより、語長3バイトのJP命令を利用する構成と比較して、ジャンプ先のプログラムアドレスにジャンプするためのジャンプ命令の機械語のデータ容量が低減されている。上述したとおり、インデックス値カウンタ74fの値が「11」、「12」、「14」又は「15」である場合には、行番号「1406」の命令が実行されることによりゼロフラグZFの値が「0」となっている。このため、行番号「1407」にて「JR NZ,ADR142」という命令が実行されることにより「ADR142」という行番号「1409」のプログラムアドレスにジャンプする。一方、上述したとおり、インデックス値カウンタ74fの値が「13」である場合には、行番号「1406」の命令が実行されることによりゼロフラグZFに「1」がセットされている状態となっている。このため、行番号「1407」に「JR NZ,ADR142」という命令が設定されていてもプログラムアドレスがジャンプすることはなく、次の行番号「1408」に進む。
行番号「1408」の命令は、AT状態ST5であるとともに役の抽選処理(図18)にて「13」のインデックス値IVに当選した場合に実行される。「1408」の行番号には「LD HL,KSADD02」という命令が設定されている。「LD」は16ビット転送命令としてのLD命令であり、「HL」は転送先としてHLレジスタ104を設定する内容であり、「KSADD02」は主側ROM73における第2上乗せ抽選テーブル73eの開始アドレスである。行番号「1408」にて「LD HL,KSADD02」という命令が実行されることにより第2上乗せ抽選テーブル73eの開始アドレスがHLレジスタ104に転送される。これにより、上乗せ抽選における参照対象の抽選テーブルを第2上乗せ抽選テーブル73eに変更することができる。このように、AT状態ST5であるとともに役の抽選処理(図18)にて「13」のインデックス値IVに当選した場合には、参照対象の抽選テーブルが第1上乗せ抽選テーブル73dから当該第1上乗せ抽選テーブル73dよりも遊技者にとって有利な第2上乗せ抽選テーブル73eに変更される。
行番号「1409」に設定されている命令は、行番号「1407」から行番号「1409」のプログラムアドレスにジャンプした場合、又は行番号「1408」の命令を実行して行番号「1409」に進んだ場合に実行される。具体的には、AT状態ST5において、役の抽選処理(図18)にて第1抽選対象範囲(「11」~「15」)に含まれているとともに「13」ではないインデックス値IVに当選している場合には、行番号「1407」のJR命令により行番号「1409」のプログラムアドレスにジャンプして当該行番号「1409」の命令が実行される。また、AT状態ST5において、役の抽選処理(図18)にて第1抽選対象範囲(「11」~「15」)に含まれている「13」のインデックス値IVに当選している場合には、行番号「1408」のLD命令を実行した後に、行番号「1409」の命令が実行される。
「1409」の行番号には、「JP ADR133」という命令が設定されている。「JP」は語長3バイトの無条件ジャンプ命令としてのJP命令であり、「ADR133」は解除ゲーム数抽選処理(図35(b))におけるステップS1802の処理を実行するための命令が設定されているプログラムアドレス(2バイト)である。行番号「1409」にて「JP ADR133」という命令が実行されることにより当該「ADR133」というプログラムアドレスにジャンプする。そして、解除ゲーム数抽選処理(図35(b))のステップS1802~ステップS1807の処理(抽選実行処理)が実行されることにより、AT状態ST5における残りの継続ゲーム数の上乗せ抽選が実行される。既に説明したとおり、AT状態ST5であるとともに役の抽選処理(図18)にて第1抽選対象範囲(「11」~「15」)に含まれているとともに「13」ではないインデックス値IVに当選している場合には、参照対象の抽選テーブルとして第1上乗せ抽選テーブル73dが設定されている状態で上乗せ抽選が実行される。また、AT状態ST5であるとともに役の抽選処理(図18)にて第1抽選対象範囲(「11」~「15」)に含まれている「13」のインデックス値IVに当選している場合には、参照対象の抽選テーブルとして第2上乗せ抽選テーブル73eが設定されている状態で上乗せ抽選が実行される。
行番号「1409」のJP命令は、行番号「1408」にて参照対象の抽選テーブルを第2上乗せ抽選テーブル73eに変更した後に「ADR133」というプログラムアドレスにジャンプするための命令であるとともに、行番号「1407」のJR命令で行番号「1409」のプログラムアドレスにジャンプした場合に確実に「ADR133」というプログラムアドレスにジャンプすることを可能とする命令である。このため、行番号「1408」にて参照対象の抽選テーブルを第2上乗せ抽選テーブル73eに変更した後に「ADR133」というプログラムアドレスにジャンプするための命令とは別の命令として、行番号「1407」のJR命令でジャンプした場合に確実に「ADR133」というプログラムアドレスにジャンプさせるための命令が設定されている構成と比較して、開始時上乗せ用処理を実行するために主側ROM73に記憶されるプログラムのデータ容量を低減することができる。
既に説明したとおり、解除ゲーム数抽選処理(図35)では、ステップS1801にて参照対象の抽選テーブルとして解除ゲーム数抽選テーブル73cを設定した後、サブルーチンのプログラムを呼び出すことなくステップS1802~ステップS1807の抽選実行処理が実行される。抽選実行処理(ステップS1802~ステップS1807)は、解除ゲーム数抽選処理(図35)にてステップS1801の処理を実行した後に実行される処理であるとともに、開始時上乗せ用処理(図100(a))における行番号「1409」のJP命令でジャンプした場合に実行される処理である。当該抽選実行処理(ステップS1802~ステップS1807)が、解除ゲーム数抽選処理(図35)及び開始時上乗せ用処理(図100(a))において呼び出される共通のサブルーチンである構成とすると、解除ゲーム数抽選処理(図35)ではステップS1801の処理を実行するための命令の次に抽選実行処理を呼び出すCALL命令(3バイト)を設定する必要が生じてしまう。当該構成において、開始時上乗せ用処理(図100(a))の行番号「1409」にはJP命令に代えてCALL命令が設定されることとなるが、CALL命令の語長(3バイト)はJP命令の語長(3バイト)と同一である。このため、解除ゲーム数抽選処理(図35)及び開始時上乗せ用処理(図100(a))において抽選実行処理という共通のサブルーチンが呼び出される構成とすると、解除ゲーム数抽選処理(図35)に設定されるCALL命令の分だけ、解除ゲーム数抽選処理(図35)及び開始時上乗せ用処理(図100(a))を実行するために主側ROM73に記憶されるプログラムのデータ容量が増大してしまう。
本実施形態では、開始時上乗せ用処理(図100(a))の行番号「1409」にて「JP ADR133」というJP命令を実行することにより解除ゲーム数抽選処理(図35(b))のステップS1802の処理を実行するための命令が設定されているプログラムアドレス(ADR133)にジャンプする処理構成であるとともに、解除ゲーム数抽選処理(図35(b))にてステップS1801の処理を実行した場合にサブルーチンのプログラムを呼び出すことなくステップS1802の処理を実行する処理構成である。このため、解除ゲーム数抽選処理(図35)及び開始時上乗せ用処理(図100(a))において抽選実行処理という共通のサブルーチンが呼び出される構成と比較して、解除ゲーム数抽選処理(図35)及び開始時上乗せ用処理(図100(a))を実行するために主側ROM73に記憶されるプログラムのデータ容量を低減することができる。
図100(b)は開始時上乗せ用処理のプログラム(図100(a))において「ADR141」というプログラムアドレス及び「ADR142」というプログラムアドレスから「ADR133」というプログラムアドレスにジャンプするために設定されているジャンプ命令を説明するための説明図である。開始時上乗せ用処理のプログラム(図100(a))では、行番号「1409」に「JP ADR133」という命令が設定されている。既に説明したとおり、JP命令はジャンプ先のプログラムアドレス(2バイト)の全体を指定する語長3バイトのジャンプ命令である。このため、JP命令を利用することにより「ADR142」という行番号「1409」のJP命令が設定されているプログラムアドレスから「ADR133」というプログラムアドレスにジャンプすることができる。開始時上乗せ用処理のプログラム(図100(a))は、行番号「1407」に語長2バイトのJR命令を設定し、行番号「1407」から行番号「1409」にジャンプし、当該ジャンプ先のプログラムアドレス(ADR142)に設定されているJP命令を利用して「ADR133」というプログラムアドレスにジャンプする処理構成である。
図100(c)は開始時上乗せ用処理の第3比較例において「ADR141」というプログラムアドレス及び「ADR142」というプログラムアドレスから「ADR133」というプログラムアドレスにジャンプするために設定されているジャンプ命令を説明するための説明図である。開始時上乗せ用処理の第3比較例(図100(c))では、「ADR141」というプログラムアドレスに「JP NZ,ADR133」という命令が設定されている。「JP」は語長3バイトの条件付きジャンプ命令であり、「NZ」はジャンプの条件として、ゼロフラグZFの値が「0」であること、という条件を指定する内容であり、「ADR133」はジャンプ先のプログラムアドレスとして「ADR133」というプログラムアドレスを指定する内容である。既に説明したとおり、行番号「1406」にて「CP A,02H」という命令が実行されることにより、インデックス値カウンタ74fの値が「13」である場合にはゼロフラグZFに「1」がセットされる。一方、インデックス値カウンタ74fの値が「11」、「12」、「14」又は「15」である場合にはゼロフラグZFの値が「0」となる。インデックス値カウンタ74fの値が「11」、「12」、「14」又は「15」である場合、行番号「1407」にて「JP NZ,ADR133」という命令が実行されることにより「ADR133」というプログラムアドレスに直接ジャンプする。一方、インデックス値カウンタ74fの値が「13」である場合には、ジャンプすることなく次の行番号「1408」に進む。
上述したとおり、行番号「1409」のJP命令は、行番号「1408」にて参照対象の抽選テーブルを第2上乗せ抽選テーブル73eに変更した後に「ADR133」というプログラムアドレスにジャンプするための命令である。このため、行番号「1407」から「ADR133」というプログラムアドレスに直接ジャンプする構成においても当該行番号「1409」のJP命令を省略することはできない。
図100(c)に示すように、開始時上乗せ用処理の第3比較例(図100(c))において「ADR141」というプログラムアドレス及び「ADR142」というプログラムアドレスから「ADR133」というプログラムアドレスにジャンプするために設定されているジャンプ命令の語長の合計は6バイトである。これに対して、図100(b)に示すように、開始時上乗せ用処理のプログラム(図100(a))において「ADR141」というプログラムアドレス及び「ADR142」というプログラムアドレスから「ADR133」というプログラムアドレスにジャンプするために設定されているジャンプ命令の語長の合計は5バイトである。
上述したとおり、開始時上乗せ用処理のプログラム(図100(a))は、行番号「1407」にてゼロフラグZFの値が「0」であることを条件として語長2バイトのJR命令により行番号「1409」にジャンプし、当該ジャンプ先の行番号「1409」に設定されているJP命令を利用して「ADR133」というプログラムアドレスにジャンプする処理構成である。これにより、開始時上乗せ用処理の第3比較例(図100(c))のように、行番号「1407」にてゼロフラグZFの値が「0」であることを条件として語長3バイトのJP命令により「ADR133」というプログラムアドレスに直接ジャンプする処理構成と比較して、「ADR141」というプログラムアドレスから「ADR133」というプログラムアドレスにジャンプするために設定するジャンプ命令の語長の合計を低減することができる。よって、開始時上乗せ用処理を実行するために主側ROM73に記憶されるプログラム(図100(a))のデータ容量を低減することができる。
以上詳述した本実施形態によれば、以下の優れた効果を奏する。
開始時上乗せ用処理のプログラム(図100(a))は、行番号「1407」にてゼロフラグZFの値が「0」であることを条件として語長2バイトのJR命令により行番号「1409」にジャンプし、当該ジャンプ先の行番号「1409」に設定されているJP命令を利用して「ADR133」というプログラムアドレスにジャンプする処理構成である。これにより、開始時上乗せ用処理の第3比較例(図100(c))のように、行番号「1407」にてゼロフラグZFの値が「0」であることを条件として語長3バイトのJP命令により「ADR133」というプログラムアドレスに直接ジャンプする処理構成と比較して、「ADR141」というプログラムアドレスから「ADR133」というプログラムアドレスにジャンプするために設定するジャンプ命令の語長の合計を低減することができる。よって、開始時上乗せ用処理を実行するために主側ROM73に記憶されるプログラム(図100(a))のデータ容量を低減することができる。
<第11の実施形態>
本実施形態では、開始時上乗せ用処理の処理内容及び当該開始時上乗せ用処理を実行するためのプログラム内容が上記第1の実施形態と相違している。以下、上記第1の実施形態と相違する構成について説明する。なお、上記第1の実施形態と同一の構成については基本的にその説明を省略する。
図101(a)は本実施形態における主側MPU72が備えているジャンプ命令の実行回路を説明するための説明図である。図101(a)に示すように、主側MPU72は、上記第1の実施形態において図61(a)を参照しながら既に説明したJP実行回路105及びJR実行回路106を備えている。主側MPU72は、ジャンプ命令として、JP命令及びJR命令を実行可能である。主側MPU72は、上記第1の実施形態におけるJRS実行回路107を不具備である。
本実施形態において、キャリーフラグCFの値は、語長2バイトの条件付きジャンプ命令であるJR命令が実行されても変化しない。JR命令に設定されているジャンプの条件が満たされてジャンプ先のプログラムアドレスにジャンプした場合、ジャンプ前のキャリーフラグCFの値を維持したまま、ジャンプ先のプログラムアドレスに設定されている命令を実行することができる。また、JR命令に設定されているジャンプの条件が満たされずに当該JR命令の次に設定されている命令に進んだ場合、キャリーフラグCFの値を維持したまま、当該JR命令の次に設定されている命令を実行することができる。
キャリーフラグCFの値は、16ビット転送命令としてのLD命令が実行されても変化しない。LD命令(16ビット転送命令)を実行して当該LD命令の次に設定されている命令に進んだ場合、当該LD命令が実行される前のキャリーフラグCFの値を維持したまま、当該LD命令の次に設定されている命令を実行することができる。
上記第1の実施形態において既に説明したとおり、開始時上乗せ用処理はゲーム開始時の有利状態用処理(図40)のステップS2310にて実行される。開始時上乗せ用処理はAT状態ST5において実行される。本実施形態では、AT状態ST5にて実行されたゲームにおける役の抽選処理(図18)にて第1チャンスリプレイ当選データ又は第2チャンスリプレイ当選データが設定されているインデックス値IV(「14」又は「15」)に当選した場合に第1上乗せ抽選が実行され、AT状態ST5にて実行されたゲームにおける役の抽選処理(図18)にて第1スイカ当選データ又は第2スイカ当選データが設定されているインデックス値IV(「11」又は「12」)に当選した場合に第2上乗せ抽選が実行され、AT状態ST5にて実行されたゲームにおける役の抽選処理(図18)にてチェリー当選データが設定されているインデックス値IV(「13」)に当選した場合に第3上乗せ抽選が実行される。
図101(b)は上乗せ抽選を実行するための主側ROM73の構成を説明するための説明図である。図101(b)に示すように、主側ROM73には、第1上乗せ抽選において参照対象の抽選テーブルとして選択される第1上乗せ抽選テーブル73d、第2上乗せ抽選において参照対象の抽選テーブルとして選択される第2上乗せ抽選テーブル73e、及び第3上乗せ抽選において参照対象の抽選テーブルとして選択される第3上乗せ抽選テーブル73hが記憶されている。
上記第1の実施形態において図43(a),(b)を参照しながら既に説明したとおり、第1上乗せ抽選テーブル73d及び第2上乗せ抽選テーブル73eには、10ゲーム、20ゲーム及び50ゲームの上乗せゲーム数が設定されている。また、第1上乗せ抽選テーブル73dには判定値として「16」が設定されているとともに、第2上乗せ抽選テーブル73eには判定値として「32」が設定されている。上記第1の実施形態と同様に、第1上乗せ抽選テーブル73dを参照対象の抽選テーブルとして第1上乗せ抽選が実行される場合、1/16の確率で10ゲームが選択され、1/16の確率で20ゲームが選択され、1/16の確率で50ゲームが選択され、13/16の確率で外れとなる。また、上記第1の実施形態と同様に、第2上乗せ抽選テーブル73eを参照対象の抽選テーブルとして第2上乗せ抽選が実行される場合、1/8の確率で10ゲームが選択され、1/8の確率で20ゲームが選択され、1/8の確率で50ゲームが選択され、5/8の確率で外れとなる。上記第1の実施形態と同様に、第2上乗せ抽選テーブル73eにおいて10ゲーム、20ゲーム又は50ゲームの上乗せゲーム数に当選する確率は、第1上乗せ抽選テーブル73dにおいて10ゲーム、20ゲーム又は50ゲームの上乗せゲーム数に当選する確率よりも高く設定されている。第2上乗せ抽選テーブル73eは第1上乗せ抽選テーブル73dよりも遊技者にとって有利な抽選テーブルである。
図101(c)は第3上乗せ抽選テーブル73hの内容を説明するための説明図である。図101(c)に示すように、第3上乗せ抽選テーブル73hには、上乗せゲーム数として20ゲーム、40ゲーム及び80ゲームが設定されているとともに、判定値として「32」が設定されている。第3上乗せ抽選テーブル73hを参照対象の抽選テーブルとして第3上乗せ抽選が実行される場合、1/8の確率で20ゲームが選択され、1/8の確率で40ゲームが選択され、1/8の確率で80ゲームが選択され、5/8の確率で外れとなる。第3上乗せ抽選テーブル73hにおいて20ゲーム、40ゲーム又は80ゲームの上乗せゲーム数に当選する確率は、第2上乗せ抽選テーブル73eにおいて10ゲーム、20ゲーム又は50ゲームの上乗せゲーム数に当選する確率と同一である。上述したとおり、第2上乗せ抽選テーブル73eは第1上乗せ抽選テーブル73dよりも遊技者にとって有利な抽選テーブルであるが、第3上乗せ抽選テーブル73hは当該第2上乗せ抽選テーブル73eよりもさらに遊技者にとって有利な抽選テーブルである。
開始時上乗せ用処理(図102(a))の説明に先立ち、第1~第3上乗せ抽選の中から実行対象の上乗せ抽選を選択する処理の内容について説明する。本実施形態における開始時上乗せ用処理(図102(a))では、インデックス値カウンタ74fの値が「11」~「15」のいずれかである場合、まず参照対象の抽選テーブルとして第1上乗せ抽選テーブル73dを選択する。その後、インデックス値カウンタ74fの値が「11」又は「12」であると判定した場合には、参照対象の抽選テーブルを第2上乗せ抽選テーブル73eに変更する。これにより、上記第1の実施形態において既に説明した解除ゲーム数抽選処理(図35(b))のステップS1802~ステップS1807(抽選実行処理)にて第2上乗せ抽選を実行することができる。また、インデックス値カウンタ74fの値が「13」であると判定した場合には、参照対象の抽選テーブルを第3上乗せ抽選テーブル73hに変更する。これにより、当該解除ゲーム数抽選処理(図35(b))のステップS1802~ステップS1807(抽選実行処理)にて第3上乗せ抽選を実行することができる。さらにまた、インデックス値カウンタ74fの値が「14」又は「15」である場合には、参照対象の抽選テーブルとして第1上乗せ抽選テーブル73dが選択されている状態が維持される。これにより、当該解除ゲーム数抽選処理(図35(b))のステップS1802~ステップS1807(抽選実行処理)にて第1上乗せ抽選を実行することができる。
上記第1の実施形態において図69(a)を参照しながら既に説明したとおり、インデックス値カウンタ74fのデータをAレジスタ101bに転送した後に当該Aレジスタ101bの値から「11」を減算する演算が実行されると、当選となったインデックス値IVが「11」~「15」の数値範囲に含まれている場合、当該インデックス値IVを「11」だけ小さい側に変動させた値がAレジスタ101bに格納される。「11」を減算する演算の実行後にAレジスタ101bに格納されている1バイトの数値情報は、インデックス値カウンタ74fの値が「11」である場合に「0」となり、インデックス値カウンタ74fの値が「12」である場合に「1」となり、インデックス値カウンタ74fの値が「13」である場合に「2」となり、インデックス値カウンタ74fの値が「14」である場合に「3」となり、インデックス値カウンタ74fの値が「15」である場合に「4」となる。本実施形態における開始時上乗せ用処理(図102(a))では、当該「11」を減算する演算の実行後に、後述する行番号「1506」にて「CP A,02H」という命令を実行することによりAレジスタ101bの値(「0」~「4」)から「2」を減算する演算を実行する。当該「2」は、「11」~「15」の数値範囲を「11」だけ小さい側に変動させた「0」~「4」の数値範囲における最小値(「0」)及び最大値(「4」)以外の数値である。
図101(d)はインデックス値カウンタ74fの値と、「2」を減算する演算の実行後におけるゼロフラグZF及びキャリーフラグCFの値との関係を説明するための説明図である。図101(d)に示すように、行番号「1506」では、役の抽選処理(図18)にて第1スイカ当選データ又は第2スイカ当選データが設定されているインデックス値IVに当選している場合、すなわちインデックス値カウンタ74fの値が「11」又は「12」である場合、Aレジスタ101bに格納されている「0」又は「1」から「2」を減算する演算が実行される。当該演算の実行中には最上位ビット目(第0~第7ビットにおける第7ビット目)への桁借りが生じる。このため、当該演算の実行後におけるゼロフラグZFの値は「0」となるとともにキャリーフラグCFの値は「1」となる。主側MPU72は、ゼロフラグZFの値が「0」であるとともにキャリーフラグCFの値が「1」であることに基づいて参照対象の抽選テーブルを第2上乗せ抽選テーブル73eに変更する。これにより、第2上乗せ抽選を実行することが可能となる。
行番号「1506」では、役の抽選処理(図18)にてチェリー当選データが設定されているインデックス値IVに当選している場合、すなわちインデックス値カウンタ74fの値が「13」である場合、Aレジスタ101bに格納されている「2」から「2」を減算する演算が実行される。当該演算の演算結果は「0」であり、当該演算の実行中に最上位ビット目(第7ビット目)への桁借りは生じない。このため、当該演算の実行後におけるゼロフラグZFの値は「1」となるとともにキャリーフラグCFの値は「0」となる。主側MPU72は、ゼロフラグZFの値が「1」であることに基づいて参照対象の抽選テーブルを第3上乗せ抽選テーブル73hに変更する。これにより、第3上乗せ抽選を実行することが可能となる。
行番号「1506」では、役の抽選処理(図18)にて第1チャンスリプレイ当選データ又は第2チャンスリプレイ当選データが設定されているインデックス値IVに当選している場合、すなわちインデックス値カウンタ74fの値が「14」又は「15」である場合、Aレジスタ101bに格納されている「3」又は「4」から「2」を減算する演算が実行される。当該演算の演算結果は「1」又は「2」であり、当該演算の実行中に最上位ビット目(第7ビット目)への桁借りは生じない。このため、当該演算の実行後におけるゼロフラグZFの値及びキャリーフラグCFの値は「0」となる。主側MPU72は、ゼロフラグZFの値及びキャリーフラグCFの値が「0」である場合には参照対象の抽選テーブルとして第1上乗せ抽選テーブル73dが選択されている状態を維持する。これにより、第1上乗せ抽選を実行することが可能となる。
当選となったインデックス値IVが「11」~「12」である場合、当選となったインデックス値IVが「13」である場合、及び当選となったインデックス値IVが「14」~「15」である場合のいずれであるかを特定するために、「11」減算前のインデックス値IVから「13」を減算する演算を行う構成を考えると、減算される値は「13」となる。これに対して、「11」~「15」の数値範囲を「11」だけ小さい側に変動させる演算(「11」減算する演算)を行った後に、当該演算後の値から、「13」を「11」だけ小さい側に変動させた値である「2」を減算する演算を行う構成とすることにより、減算される値を「13」よりも小さい値である「2」とすることができる。当選となったインデックス値IVが「11」~「12」である場合、当選となったインデックス値IVが「13」である場合、及び当選となったインデックス値IV「14」~「15」である場合のいずれであるかを特定するために、インデックス値IVを「11」だけ小さい側に変動させた値から減算される「2」という値を表すために必要なビット数は「2」であり、当該ビット数は、変動前のインデックス値IVから減算される「13」という値を表すために必要なビット数(「4」)よりも小さい。このように、インデックス値IVが「11」~「15」の数値範囲に含まれていることを特定するためにインデックス値IVを「11」減算する演算が行われる構成において、インデックス値IVを「11」だけ小さい側に変動させた後の値を利用して、変動前のインデックス値が「11」~「12」である場合、変動前のインデックス値IVが「13」である場合、及び変動前のインデックス値IVが「14」~「15」である場合のいずれであるかを特定するための判定を行う構成とすることにより、当該判定を行うための演算において減算される値を表すためのビット数を低減することができる。これにより、当該値を記憶するためのデータ容量を低減することができる。
次に、主側MPU72にて実行される開始時上乗せ用処理のプログラム内容について図102(a)の説明図を参照しながら説明する。既に説明したとおり、開始時上乗せ用処理はゲーム開始時の有利状態用処理(図40)のステップS2310にて実行される。図102(a)に示すように本プログラムには、行番号として「1501」~「1511」が設定されている。プログラムの命令は、コール命令又はジャンプ命令が実行される場合を除いて、行番号の小さい方から大きい方に向かう順番で実行される。
行番号「1501」~行番号「1505」には、上記第1の実施形態における開始時上乗せ用処理(図69(b))の行番号「1301」~行番号「1305」と同様の命令が設定されている。具体的には、「1501」の行番号には、「LD A,(INDXCNT)」という命令が設定されている。「LD」は8ビットデータの転送命令としてのLD命令であり、「A」はAレジスタ101bであり、「(INDXCNT)」は転送元として主側RAM74のインデックス値カウンタ74fを指定する内容である。行番号「1501」にて「LD A,(INDXCNT)」という命令が実行されることによりインデックス値カウンタ74fのデータがAレジスタ101bに転送される。これにより、役の抽選処理(図18)にて「1」~「17」のいずれかのインデックス値IVに当選している場合には当該インデックス値IVがAレジスタ101bに設定されるとともに、役の抽選処理(図18)にていずれのインデックス値IVにも当選していない場合には「0」がAレジスタ101bに設定される。
「1502」の行番号には、「SUB A,0BH」という命令が設定されている。「SUB」は8ビットデータの減算命令としてのSUB命令であり、「A」はAレジスタ101bであり、「0BH」は第1抽選対象範囲(「11」~「15」)の最小値である「11」を示す1バイトの数値情報である。行番号「1502」にて「SUB A,0BH」という命令が実行されることにより、Aレジスタ101bの値から「11」を減算する演算が行われ、当該演算の結果がAレジスタ101bに書き込まれる。当該演算において最上位ビット目(第7ビット目)への桁借りが発生した場合にはキャリーフラグCFに「1」がセットされるとともに、当該演算において最上位ビット目(第7ビット目)への桁借りが発生しなかった場合にはキャリーフラグCFの値が「0」となる。上記第1の実施形態において図69(a)を参照しながら既に説明したとおり、インデックス値カウンタ74fの値が「11」~「15」のいずれかである場合にはAレジスタ101bの値が「5」未満の値となるとともに、インデックス値カウンタ74fの値が「11」~「15」に含まれていない「0」~「10」及び「16」~「17」のいずれかである場合にはAレジスタ101bの値が「5」以上となる。
「1503」の行番号には「CP A,05H」という命令が設定されている。「CP」は8ビットデータの比較命令としてのCP命令であり、「A」はAレジスタ101bであり、「05H」は第1抽選対象範囲(「11」~「15」)の最大値である「15」から「11」を減算する演算により算出される値である「4」よりも「1」大きい値(「5」)を示す1バイトの数値情報である。行番号「1503」にて「CP A,05H」という命令が実行されることにより、Aレジスタ101bの値から「5」を減算する演算が行われる。上記第1の実施形態において既に説明したとおり、CP命令が実行された場合、ジャンプフラグJFの値はキャリーフラグCFの値と同一の値となる。「5」減算前のAレジスタ101bの値が「5」未満である場合、すなわちインデックス値カウンタ74fの値が「11」~「15」のいずれかである場合には、当該演算において最上位ビット目(第7ビット目)への桁借りが生じてキャリーフラグCFの値が「1」となるとともに、ジャンプフラグJFの値も「1」となる。一方、「5」減算前のAレジスタ101bの値が「5」以上である場合、すなわちインデックス値カウンタ74fの値が「11」~「15」に含まれていない「0」~「10」及び「16」~「17」のいずれかである場合には、当該演算において最上位ビット目(第7ビット目)への桁借りが生じないため、キャリーフラグCFの値が「0」となるとともに、ジャンプフラグJFの値も「0」となる。Aレジスタ101bの値から「5」を減算する演算の演算結果は、Aレジスタ101bには書き込まれない。「CP A,05H」という命令が実行されてもAレジスタ101bの値は変化しない。このため、行番号「1502」にて「11」を減算する演算を実行してAレジスタ101bに格納されたデータを後述する行番号「1506」においても利用可能とすることができる。
「1504」の行番号には「RET NC」という命令が設定されている。「RET」はサブルーチンからの復帰命令としてのRET命令であり、「NC」はサブルーチンから復帰するための条件として、キャリーフラグCFの値が「0」であること、という条件を設定する内容である。行番号「1504」にて「RET NC」という命令が実行されることにより、キャリーフラグCFの値が「0」であることを条件として、ゲーム開始時の有利状態用処理(図40)のステップS2310にて呼び出した開始時上乗せ用処理を終了し、ステップS2310の次のステップS2311に復帰する。上述したとおり、インデックス値カウンタ74fの値が「11」~「15」に含まれていない「0」~「10」及び「16」~「17」のいずれかである場合には、行番号「1503」の命令が実行されることによりキャリーフラグCFの値が「0」となる。このため、行番号「1504」にて「RET NC」という命令が実行されることにより、開始時上乗せ用処理を終了し、ゲーム開始時の有利状態用処理(図40)におけるステップS2311に復帰する。一方、上述したとおり、インデックス値カウンタ74fの値が「11」~「15」のいずれかである場合には、行番号「1503」の命令が実行されることによりキャリーフラグCFの値が「1」となる。このため、行番号「1504」に「RET NC」という命令が設定されていても開始時上乗せ用処理を終了することはなく、次の行番号「1505」に進む。
行番号「1505」の命令は、AT状態ST5であるとともに役の抽選処理(図18)にて「11」~「15」のいずれかのインデックス値IVに当選している場合に実行される。「1505」の行番号には「LD HL,KSADD01」という命令が設定されている。「LD」は16ビット転送命令としてのLD命令であり、「HL」は転送先としてHLレジスタ104を設定する内容であり、「KSADD01」は主側ROM73における第1上乗せ抽選テーブル73dの開始アドレスである。行番号「1505」にて「LD HL,KSADD01」という命令が実行されることにより第1上乗せ抽選テーブル73dの開始アドレスがHLレジスタ104に転送される。これにより、上乗せ抽選における参照対象の抽選テーブルとして第1上乗せ抽選テーブル73dを設定することができる。このように、AT状態ST5であるとともに役の抽選処理(図18)にて「11」~「15」のいずれかのインデックス値IVに当選している場合には、参照対象の抽選テーブルとしてまず第1上乗せ抽選テーブル73dが設定される。
「1506」の行番号には「CP A,02H」という命令が設定されている。「CP」は8ビットデータの比較命令としてのCP命令であり、「A」はAレジスタ101bである。「02H」は、「11」~「15」の数値範囲を「11」だけ小さい側に変動させた「0」~「4」の数値範囲における最小値(「0」)及び最大値(「4」)以外の数値である「2」を示す1バイトの数値情報である。上述したとおり、Aレジスタ101bには、行番号「1502」における「11」を減算する演算により算出された1バイトの数値情報が格納されている。行番号「1506」の命令は役の抽選処理(図18)にて「11」~「15」のいずれかのインデックス値IVに当選している場合に実行されるため、Aレジスタ101bの値は「0」~「4」のいずれかである。行番号「1506」にて「CP A,02H」という命令が実行されることにより、Aレジスタ101bの値から「2」を減算する演算が行われる。図101(d)を参照しながら既に説明したとおり、インデックス値カウンタ74fの値が「11」又は「12」である場合、Aレジスタ101bに格納されている「0」又は「1」から「2」を減算する演算が実行される。当該演算の実行中には最上位ビット目(第0~第7ビットにおける第7ビット目)への桁借りが生じる。このため、当該演算の実行後におけるゼロフラグZFの値は「0」となるとともにキャリーフラグCFの値は「1」となる。インデックス値カウンタ74fの値が「13」である場合、Aレジスタ101bに格納されている「2」から「2」を減算する演算が実行される。当該演算の演算結果は「0」であり、当該演算の実行中に最上位ビット目(第7ビット目)への桁借りは生じない。このため、当該演算の実行後におけるゼロフラグZFの値は「1」となるとともにキャリーフラグCFの値は「0」となる。インデックス値カウンタ74fの値が「14」又は「15」である場合、Aレジスタ101bに格納されている「3」又は「4」から「2」を減算する演算が実行される。当該演算の演算結果は「1」又は「2」であり、当該演算の実行中に最上位ビット目(第7ビット目)への桁借りは生じない。このため、当該演算の実行後におけるゼロフラグZFの値及びキャリーフラグCFの値は「0」となる。上述したとおり、インデックス値IVを「11」だけ小さい側に変動させた後の値を利用して変動前のインデックス値が「11」~「12」である場合、変動前のインデックス値IVが「13」である場合、及び変動前のインデックス値IVが「14」~「15」である場合のいずれであるかを特定するための判定を行う構成とすることにより、当該判定を行うための演算において減算される値(「2」)を表すためのビット数を低減することができる。これにより、当該値を記憶するためのデータ容量を低減することができる。
「1507」の行番号には、「JR NZ,ADR152」という命令が設定されている。「JR」は語長2バイトの条件付きジャンプ命令であり、「NZ」はジャンプの条件としてゼロフラグZFの値が「0」であること、という条件を設定する内容であり、「ADR152」はジャンプ先として「ADR152」という行番号「1509」のプログラムアドレスを設定する内容である。行番号「1507」の命令は「ADR151」というプログラムアドレスに設定されている。既に説明したとおり、JR命令でジャンプできる範囲は、「(当該JR命令が設定されているプログラムアドレス)+2-128」~「(当該JR命令が設定されているプログラムアドレス)+2+127」の範囲である。図102(a)に示すように、「ADR151」というプログラムアドレスと「ADR152」というプログラムアドレスとの間に存在するプログラムアドレスに設定されている命令(行番号「1508」のLD命令)の語長は3バイトである。「ADR152」は、「(ADR151)+2+3」であり、行番号「1507」のJR命令が設定されているプログラムアドレス(ADR151)を基準として当該JR命令におけるジャンプ先のプログラムアドレスとして指定可能なプログラムアドレスである。
上述したとおり、インデックス値カウンタ74fの値が「11」、「12」、「14」又は「15」である場合には、行番号「1506」の命令が実行されることによりゼロフラグZFの値が「0」となっている。このため、行番号「1507」にて「JR NZ,ADR152」という命令が実行されることにより「ADR152」という行番号「1509」のプログラムアドレスにジャンプする。一方、上述したとおり、インデックス値カウンタ74fの値が「13」である場合には、行番号「1506」の命令が実行されることによりゼロフラグZFの値が「1」となっている。このため、行番号「1507」に「JR NZ,ADR152」という命令が設定されていてもプログラムアドレスがジャンプすることはなく、次の行番号「1508」に進む。
行番号「1508」の命令は、AT状態ST5であるとともに役の抽選処理(図18)にて「13」のインデックス値IVに当選している場合に実行される。「1508」の行番号には、「LD HL,KSADD03」という命令が設定されている。「LD」は16ビット転送命令としてのLD命令であり、「HL」は転送先としてHLレジスタ104を設定する内容であり、「KSADD03」は主側ROM73における第3上乗せ抽選テーブル73h(図101(b))の開始アドレスである。行番号「1508」にて「LD HL,KSADD03」という命令が実行されることにより第3上乗せ抽選テーブル73hの開始アドレスがHLレジスタ104に転送される。これにより、参照対象の抽選テーブルを第1上乗せ抽選テーブル73dから第3上乗せ抽選テーブル73hに変更することができる。既に説明したとおり、第3上乗せ抽選テーブル73hは、第1上乗せ抽選テーブル73d及び第2上乗せ抽選テーブル73eよりも遊技者にとって有利な抽選テーブルである。このように、AT状態ST5であるとともに役の抽選処理(図18)にて「13」のインデックス値IVに当選している場合には、上乗せ抽選における参照対象の抽選テーブルとして第3上乗せ抽選テーブル73hが設定される。
行番号「1509」に設定されている命令は、行番号「1507」のJR命令により行番号「1509」にジャンプした場合、又は行番号「1508」のLD命令を実行して行番号「1509」に進んだ場合に実行される。具体的には、AT状態ST5において、役の抽選処理(図18)にて「11」、「12」、「14」又は「15」のインデックス値IVに当選している場合には、行番号「1507」のJR命令により行番号「1509」のプログラムアドレスにジャンプして当該行番号「1509」の命令が実行される。既に説明したとおり、キャリーフラグCFの値は、語長2バイトの条件付きジャンプ命令としてのJR命令が実行されても変化しない。このため、行番号「1506」のCP命令が実行されることによりキャリーフラグCFに設定された値が維持されたまま行番号「1509」の命令が実行される。上述したとおり、「11」又は「12」のインデックス値IVに当選している場合には行番号「1506」の命令が実行されることによりキャリーフラグCFの値が「1」となるとともに、「14」又は「15」のインデックス値IVに当選している場合には行番号「1506」の命令が実行されることによりキャリーフラグCFの値が「0」となる。また、AT状態ST5において、役の抽選処理(図18)にて「13」のインデックス値IVに当選している場合には、行番号「1508」のLD命令を実行した後に、行番号「1509」の命令が実行される。既に説明したとおり、キャリーフラグCFの値は、語長2バイトの条件付きジャンプ命令としてのJR命令に設定されているジャンプ条件が満たされずに当該JR命令の次に設定されている命令に進んだ場合に維持されるとともに、16ビット転送命令としてのLD命令が実行された場合に維持される。このため、行番号「1506」のCP命令が実行されることによりキャリーフラグCFに設定された値が維持されたまま行番号「1509」の命令が実行される。上述したとおり、「13」インデックス値IVに当選している場合には行番号「1506」の命令が実行されることによりキャリーフラグCFの値が「0」となる。
「1509」の行番号には、「JR NC,ADR153」という命令が設定されている。「JR」は語長2バイトの条件付きジャンプ命令であり、「NC」はジャンプの条件としてキャリーフラグCFの値が「0」であること、という条件を設定する内容であり、「ADR153」はジャンプ先として「ADR153」という行番号「1511」のプログラムアドレスを設定する内容である。上述したとおり、行番号「1509」の命令は「ADR152」というプログラムアドレスに設定されている。既に説明したとおり、JR命令でジャンプできる範囲は、「(当該JR命令が設定されているプログラムアドレス)+2-128」~「(当該JR命令が設定されているプログラムアドレス)+2+127」の範囲である。図102(a)に示すように、「ADR152」というプログラムアドレスと「ADR153」というプログラムアドレスとの間に存在するプログラムアドレスに設定されている命令(行番号「1510」のLD命令)の語長は3バイトである。「ADR153」は、「(ADR152)+2+3」であり、行番号「1509」のJR命令が設定されているプログラムアドレス(ADR152)を基準として当該JR命令におけるジャンプ先のプログラムアドレスとして指定可能なプログラムアドレスである。
上述したとおり、インデックス値カウンタ74fの値が「13」~「15」のいずれかである場合には、キャリーフラグCFの値が「0」である状態が維持されている。このため、このため、行番号「1509」にて「JR NZ,ADR153」という命令が実行されることにより「ADR153」という行番号「1511」のプログラムアドレスにジャンプする。一方、上述したとおり、インデックス値カウンタ74fの値が「11」又は「12」である場合には、キャリーフラグCFの値が「1」である状態が維持されている。このため、行番号「1509」に「JR NZ,ADR153」という命令が設定されていてもプログラムアドレスがジャンプすることはなく、次の行番号「1510」に進む。
行番号「1510」の命令は、AT状態ST5であるとともに役の抽選処理(図18)にて「14」又は「15」のインデックス値IVに当選している場合に実行される。「1510」の行番号には、「LD HL,KSADD02」という命令が設定されている。「LD」は16ビット転送命令としてのLD命令であり、「HL」は転送先としてHLレジスタ104を設定する内容であり、「KSADD02」は主側ROM73における第2上乗せ抽選テーブル73eの開始アドレスである。行番号「1510」にて「LD HL,KSADD02」という命令が実行されることにより第2上乗せ抽選テーブル73eの開始アドレスがHLレジスタ104に転送される。これにより、参照対象の抽選テーブルを第1上乗せ抽選テーブル73dから第2上乗せ抽選テーブル73eに変更することができる。既に説明したとおり、第2上乗せ抽選テーブル73eは、第1上乗せ抽選テーブル73dよりも遊技者にとって有利な抽選テーブルであるとともに、第3上乗せ抽選テーブル73hよりも遊技者にとって不利な抽選テーブルである。このように、AT状態ST5であるとともに役の抽選処理(図18)にて「11」又は「12」のインデックス値IVに当選している場合には、上乗せ抽選における参照対象の抽選テーブルとして第2上乗せ抽選テーブル73eが設定される。
行番号「1511」の命令は、行番号「1509」のJR命令により行番号「1511」のプログラムアドレスにジャンプした場合、又は行番号「1510」のLD命令を実行して行番号「1511」に進んだ場合に実行される。「1511」の行番号には、上記第1の実施形態における開始時上乗せ用処理(図69(b))の行番号「1309」と同様に、「JP ADR133」という命令が設定されている。「JP」は語長3バイトの無条件ジャンプ命令としてのJP命令であり、「ADR133」は解除ゲーム数抽選処理(図35(b))におけるステップS1802の処理を実行するための命令が設定されているプログラムアドレス(2バイト)である。行番号「1511」にて「JP ADR133」という命令が実行されることにより当該「ADR133」というプログラムアドレスにジャンプする。そして、解除ゲーム数抽選処理(図35(b))のステップS1802~ステップS1807の処理が実行されることにより、第1~第3上乗せ抽選のいずれかが実行される。既に説明したとおり、AT状態ST5において、役の抽選処理(図18)にて「14」又は「15」のインデックス値IVに当選している場合には第1上乗せ抽選テーブル73dに基づいて第1上乗せ抽選が実行され、役の抽選処理(図18)にて「11」又は「12」のインデックス値IVに当選している場合には第2上乗せ抽選テーブル73eに基づいて第2上乗せ抽選が実行され、役の抽選処理(図18)にて「13」のインデックス値IVに当選している場合には第3上乗せ抽選テーブル73hに基づいて第3上乗せ抽選が実行される。
図102(b)は開始時上乗せ用処理の第4比較例におけるプログラム内容を説明するための説明図である。図102(b)に示すように本プログラムには、行番号として「8201」~「8212」が設定されている。プログラムの命令は、コール命令又はジャンプ命令が実行される場合を除いて、行番号の小さい方から大きい方に向かう順番で実行される。
開始時上乗せ用処理の第4比較例は、第1~第3上乗せ抽選テーブル73d,73e,73hを選択するために、「11」~「15」のインデックス値IVに当選していることを条件としてHLレジスタ104に第2上乗せ抽選テーブル73eの開始アドレスを設定した後、当選しているインデックス値IVが「13」以上であると判定した場合に参照対象の抽選テーブルを当該第2上乗せ抽選テーブル73eから第3上乗せ抽選テーブル73hに変更し、当選しているインデックス値IVが「14」以上であると判定した場合に参照対象の抽選テーブルを当該第3上乗せ抽選テーブル73hからさらに第1上乗せ抽選テーブル73dに変更する処理構成である。
図102(b)に示すように、開始時上乗せ用処理の第4比較例における行番号「8201」~行番号「8204」には、図102(a)を参照しながら既に説明した開始時上乗せ用処理の行番号「1501」~行番号「1504」と同様の命令が設定されている。行番号「8201」にて「LD A,(INDXCNT)」という命令が実行されることによりインデックス値カウンタ74fのデータがAレジスタ101bに転送される。これにより、役の抽選処理(図18)にて「1」~「17」のいずれかのインデックス値IVに当選している場合には当該インデックス値IVがAレジスタ101bに設定されるとともに、役の抽選処理(図18)にていずれのインデックス値IVにも当選していない場合には「0」がAレジスタ101bに設定される。行番号「8202」にて「SUB A,0BH」という命令が実行されることにより、Aレジスタ101bの値から「11」を減算する演算が行われ、当該演算の結果がAレジスタ101bに書き込まれる。インデックス値カウンタ74fの値が「11」~「15」のいずれかである場合にはAレジスタ101bの値が「5」未満の値となるとともに、インデックス値カウンタ74fの値が「11」~「15」に含まれていない「0」~「10」及び「16」~「17」のいずれかである場合にはAレジスタ101bの値が「5」以上となる。行番号「8203」にて「CP A,05H」という命令が実行されることにより、Aレジスタ101bの値から「5」を減算する演算が行われる。「5」減算前のAレジスタ101bの値が「5」未満である場合、すなわちインデックス値カウンタ74fの値が「11」~「15」のいずれかである場合には、当該演算において最上位ビット目(第7ビット目)への桁借りが生じてキャリーフラグCFの値が「1」となるとともに、ジャンプフラグJFの値も「1」となる。一方、「5」減算前のAレジスタ101bの値が「5」以上である場合、すなわちインデックス値カウンタ74fの値が「11」~「15」に含まれていない「0」~「10」及び「16」~「17」のいずれかである場合には、当該演算において最上位ビット目(第7ビット目)への桁借りが生じないため、キャリーフラグCFの値が「0」となるとともに、ジャンプフラグJFの値も「0」となる。
行番号「8204」にて「RET NC」という命令が実行されることにより、キャリーフラグCFの値が「0」であることを条件として、ゲーム開始時の有利状態用処理(図40)のステップS2310にて呼び出した開始時上乗せ用処理を終了し、ステップS2310の次のステップS2311に復帰する。上述したとおり、インデックス値カウンタ74fの値が「0」~「10」及び「16」~「17」のいずれかである場合には、行番号「8203」の命令が実行されることによりキャリーフラグCFの値が「0」となる。このため、行番号「8204」にて「RET NC」という命令が実行されることにより、開始時上乗せ用処理を終了し、ゲーム開始時の有利状態用処理(図40)におけるステップS2311に復帰する。一方、上述したとおり、インデックス値カウンタ74fの値が「11」~「15」のいずれかである場合には、行番号「8203」の命令が実行されることによりキャリーフラグCFの値が「1」となる。このため、行番号「8204」に「RET NC」という命令が設定されていても開始時上乗せ用処理を終了することはなく、次の行番号「8205」に進む。
行番号「8205」の命令は、AT状態ST5であるとともに役の抽選処理(図18)にて「11」~「15」のいずれかのインデックス値IVに当選している場合に実行される。「8205」の行番号には「LD HL,KSADD02」という命令が設定されている。「LD」は16ビット転送命令としてのLD命令であり、「HL」は転送先としてHLレジスタ104を設定する内容であり、「KSADD02」は主側ROM73における第2上乗せ抽選テーブル73eの開始アドレスである。行番号「8205」にて「LD HL,KSADD02」という命令が実行されることにより第2上乗せ抽選テーブル73eの開始アドレスがHLレジスタ104に転送される。これにより、上乗せ抽選における参照対象の抽選テーブルとして第2上乗せ抽選テーブル73eが設定される。
行番号「8206」には、開始時上乗せ用処理(図102(a))の行番号「1506」と同様に、「CP A,02H」という命令が設定されている。行番号「8206」の命令は役の抽選処理(図18)にて「11」~「15」のいずれかのインデックス値IVに当選している場合に実行されるため、Aレジスタ101bの値は「0」~「4」のいずれかである。行番号「8206」にて「CP A,02H」という命令が実行されることにより、Aレジスタ101bの値から「2」を減算する演算が行われる。インデックス値カウンタ74fの値が「11」又は「12」である場合、Aレジスタ101bに格納されている「0」又は「1」から「2」を減算する演算が実行される。当該演算の実行中には最上位ビット目(第7ビット目)への桁借りが生じる。このため、当該演算の実行後におけるキャリーフラグCFの値は「1」となる。一方、インデックス値カウンタ74fの値が「13」~「15」のいずれかである場合、Aレジスタ101bに格納されている「2」~「4」のいずれかから「2」を減算する演算が実行される。当該演算の演算結果は「0」~「2」のいずれかであり、当該演算の実行中に最上位ビット目(第7ビット目)への桁借りは生じない。このため、当該演算の実行後におけるキャリーフラグCFの値は「0」となる。
「8207」の行番号には、「JR C,ADR823」という命令が設定されている。「JR」は語長2バイトの条件付きジャンプ命令であり、「C」はジャンプの条件としてキャリーフラグCFの値が「1」であること、という条件を設定する内容であり、「ADR823」はジャンプ先として「ADR823」という行番号「8212」のプログラムアドレスを設定する内容である。行番号「8207」の命令は「ADR821」というプログラムアドレスに設定されている。「ADR823」は、行番号「8207」のJR命令が設定されているプログラムアドレス(ADR821)を基準として当該JR命令におけるジャンプ先のプログラムアドレスとして指定可能なプログラムアドレスである。上述したとおり、インデックス値カウンタ74fの値が「11」又は「12」である場合には、行番号「8206」の命令が実行されることによりキャリーフラグCFの値が「1」となっている。このため、行番号「8207」にて「JR C,ADR823」という命令が実行されることにより「ADR823」という行番号「8212」のプログラムアドレスにジャンプする。一方、上述したとおり、インデックス値カウンタ74fの値が「13」~「15」のいずれかである場合には、行番号「8206」の命令が実行されることによりキャリーフラグCFの値が「0」となっている。このため、行番号「8207」に「JR C,ADR823」という命令が設定されていてもプログラムアドレスがジャンプすることはなく、次の行番号「8208」に進む。
行番号「8208」の命令は、AT状態ST5であるとともに役の抽選処理(図18)にて「13」~「15」のいずれかのインデックス値IVに当選している場合に実行される。「8208」の行番号には「LD HL,KSADD03」という命令が設定されている。「LD」は16ビット転送命令としてのLD命令であり、「HL」は転送先としてHLレジスタ104を設定する内容であり、「KSADD03」は主側ROM73における第3上乗せ抽選テーブル73hの開始アドレスである。行番号「8208」にて「LD HL,KSADD03」という命令が実行されることにより第3上乗せ抽選テーブル73hの開始アドレスがHLレジスタ104に転送される。これにより、上乗せ抽選における参照対象の抽選テーブルが第2上乗せ抽選テーブル73eから第3上乗せ抽選テーブル73hに変更される。
行番号「8209」には、「CP A,03H」という命令が設定されている。「CP」は8ビットデータの比較命令としてのCP命令であり、「A」はAレジスタ101bであり、「03H」は「3」を示す1バイトの数値情報である。行番号「8209」の命令は役の抽選処理(図18)にて「13」~「15」のいずれかのインデックス値IVに当選している場合に実行されるため、Aレジスタ101bの値は「2」~「4」のいずれかである。行番号「8209」にて「CP A,03H」という命令が実行されることにより、Aレジスタ101bの値から「3」を減算する演算が行われる。インデックス値カウンタ74fの値が「13」である場合、Aレジスタ101bに格納されている「2」から「3」を減算する演算が実行される。当該演算の実行中には最上位ビット目(第7ビット目)への桁借りが生じる。このため、当該演算の実行後におけるキャリーフラグCFの値は「1」となる。一方、インデックス値カウンタ74fの値が「14」又は「15」のいずれかである場合、Aレジスタ101bに格納されている「3」又は「4」から「3」を減算する演算が実行される。当該演算の演算結果は「0」又は「1」であり、当該演算の実行中に最上位ビット目(第7ビット目)への桁借りは生じない。このため、当該演算の実行後におけるキャリーフラグCFの値は「0」となる。
「8210」の行番号には、上述した行番号「8207」と同様に、「JR C,ADR823」という命令が設定されている。行番号「8210」の命令は「ADR822」というプログラムアドレスに設定されている。「ADR823」は、行番号「8210」のJR命令が設定されているプログラムアドレス(ADR822)を基準として当該JR命令におけるジャンプ先のプログラムアドレスとして指定可能なプログラムアドレスである。上述したとおり、インデックス値カウンタ74fの値が「13」である場合には、行番号「8209」の命令が実行されることによりキャリーフラグCFの値が「1」となっている。このため、行番号「8210」にて「JR C,ADR823」という命令が実行されることにより「ADR823」という行番号「8212」のプログラムアドレスにジャンプする。一方、上述したとおり、インデックス値カウンタ74fの値が「14」又は「15」である場合には、行番号「8209」の命令が実行されることによりキャリーフラグCFの値が「0」となっている。このため、行番号「8209」に「JR C,ADR823」という命令が設定されていてもプログラムアドレスがジャンプすることはなく、次の行番号「8211」に進む。
行番号「8211」の命令は、AT状態ST5であるとともに役の抽選処理(図18)にて「14」又は「15」のインデックス値IVに当選している場合に実行される。「8211」の行番号には、既に説明した開始時上乗せ用処理(図102(a))の行番号「1505」と同様に、「LD HL,KSADD01」という命令が設定されている。行番号「8211」にて「LD HL,KSADD01」という命令が実行されることにより第1上乗せ抽選テーブル73dの開始アドレスがHLレジスタ104に転送される。これにより、上乗せ抽選における参照対象の抽選テーブルが第3上乗せ抽選テーブル73hから第1上乗せ抽選テーブル73dに変更される。
行番号「8212」の命令は、行番号「8207」のJR命令により行番号「8212」のプログラムアドレスにジャンプした場合、行番号「8210」のJR命令により行番号「8212」のプログラムアドレスにジャンプした場合、又は行番号「8211」のLD命令を実行して行番号「8212」に進んだ場合に実行される。「8212」の行番号には、既に説明した開始時上乗せ用処理(図102(a))の行番号「1511」と同様に、「JP ADR133」という命令が設定されている。行番号「8212」にて「JP ADR133」という命令が実行されることにより当該「ADR133」というプログラムアドレスにジャンプする。そして、解除ゲーム数抽選処理(図35(b))のステップS1802~ステップS1807の処理が実行されることにより、第1~第3上乗せ抽選のいずれかが実行される。
図102(c)は開始時上乗せ用処理及び開始時上乗せ用処理の第4比較例において、第1~第3上乗せ抽選テーブル73d,73e,73hを選択するために設定されている命令を説明するための説明図である。開始時上乗せ用処理(図102(a))において、第1~第3上乗せ抽選テーブル73d,73e,73hを選択するための命令は、行番号「1505」~行番号「1510」に設定されている。また、開始時上乗せ用処理の第4比較例(図102(b))において、第1~第3上乗せ抽選テーブル73d,73e,73hを選択するための命令は、行番号「8205」~行番号「8211」に設定されている。
図102(c)に示すように、開始時上乗せ用処理の第4比較例(図102(b))における行番号「8205」~行番号「8211」には、3バイトのLD命令が3つ設定されており、2バイトのCP命令が2つ設定されており、2バイトのJR命令が2つ設定されている。行番号「8205」~行番号「8211」に設定されている命令の語長の合計は17バイトである。これに対して、開始時上乗せ用処理(図102(a))の行番号「1505」~行番号「1510」には、3バイトのLD命令が3つ設定されており、2バイトのCP命令が1つ設定されており、2バイトのJR命令が2つ設定されている。行番号「1505」~行番号「1510」に設定されている命令の語長の合計は15バイトである。
既に説明したとおり、開始時上乗せ用処理(図102(a))は、Aレジスタ101bに「0」~「4」のいずれかの数値情報が設定されている状態において、参照対象の抽選テーブルとして第1上乗せ抽選テーブル73dを設定する処理及びAレジスタ101bの値から「2」を減算する演算を実行し、当該「2」を減算する演算によりゼロフラグZF及びキャリーフラグCFに設定された値の組合せに基づいて、参照対象の抽選テーブルを第3上乗せ抽選テーブル73hに変更する場合と、参照対象の抽選テーブルを第2上乗せ抽選テーブル73eに変更する場合と、参照対象の抽選テーブルが第1上乗せ抽選テーブル73dである状態を維持する場合と、を生じさせる処理構成である。これにより、開始時上乗せ用処理の第4比較例(図102(b))のように、Aレジスタ101bに「0」~「4」のいずれかの数値情報が設定されている状態において、参照対象の抽選テーブルとして第2上乗せ抽選テーブル73eを設定する処理を実行し、Aレジスタ101bの値が「2」以上であるか否かの判定処理において肯定判定を行った場合には参照対象の抽選テーブルを当該第2上乗せ抽選テーブル73eから第3上乗せ抽選テーブル73hに変更し、Aレジスタ101bの値が「3」以上であるか否かの判定処理において肯定判定を行った場合には参照対象の抽選テーブルを当該第3上乗せ抽選テーブル73hからさらに第1上乗せ抽選テーブル73dに変更する処理構成と比較して、第1~第3上乗せ抽選テーブル73d,73e,73hを選択するために設定されている命令の語長の合計を低減することができる。よって、開始時上乗せ用処理(図102(a))を実行するために主側ROM73に記憶されるプログラムのデータ容量を低減することができる。
キャリーフラグCFの値は、JR命令の実行前後で維持されるとともに、LD命令の実行前後で維持される。このため、開始時上乗せ用処理(図102(a))では、行番号「1506」のCP命令を実行することによりゼロフラグZF及びキャリーフラグCFに設定された値を利用して、当該ゼロフラグZFの値が「1」である場合に参照対象の抽選テーブルを第3上乗せ抽選テーブル73hに変更する処理を実行することができるとともに、当該キャリーフラグCFの値が「1」である場合に参照対象の抽選テーブルを第2上乗せ抽選テーブル73eに変更する処理を実行することができる。これにより、開始時上乗せ用処理の第4比較例(図102(b))のように、1つ目のCP命令(行番号「8206」)実行することによりキャリーフラグCFに設定された値を利用して当該キャリーフラグCFの値が「0」である場合に参照対象の抽選テーブルを第3上乗せ抽選テーブル73hに変更する処理を実行し、2つ目のCP命令(行番号「8209」)を実行することによりキャリーフラグCFに設定された値を利用して当該キャリーフラグCFの値が「0」である場合に参照対象の抽選テーブルを第1上乗せ抽選テーブル73dに変更する処理を実行する処理構成と比較して、CP命令の数を低減することができる。
以上詳述した本実施形態によれば、以下の優れた効果を奏する。
開始時上乗せ用処理(図102(a))は、Aレジスタ101bに「0」~「4」のいずれかの数値情報が設定されている状態において、参照対象の抽選テーブルとして第1上乗せ抽選テーブル73dを設定する処理及びAレジスタ101bの値から「2」を減算する演算を実行し、当該「2」を減算する演算によりゼロフラグZF及びキャリーフラグCFに設定された値の組合せに基づいて、参照対象の抽選テーブルを第3上乗せ抽選テーブル73hに変更する場合と、参照対象の抽選テーブルを第2上乗せ抽選テーブル73eに変更する場合と、参照対象の抽選テーブルが第1上乗せ抽選テーブル73dである状態を維持する場合と、を生じさせる処理構成である。これにより、開始時上乗せ用処理の第4比較例(図102(b))のように、Aレジスタ101bに「0」~「4」のいずれかの数値情報が設定されている状態において、参照対象の抽選テーブルとして第2上乗せ抽選テーブル73eを設定する処理を実行し、Aレジスタ101bの値が「2」以上であるか否かの判定処理において肯定判定を行った場合には参照対象の抽選テーブルを当該第2上乗せ抽選テーブル73eから第3上乗せ抽選テーブル73hに変更し、Aレジスタ101bの値が「3」以上であるか否かの判定処理において肯定判定を行った場合には参照対象の抽選テーブルを当該第3上乗せ抽選テーブル73hからさらに第1上乗せ抽選テーブル73dに変更する処理構成と比較して、第1~第3上乗せ抽選テーブル73d,73e,73hを選択するために設定されている命令の語長の合計を低減することができる。よって、開始時上乗せ用処理(図102(a))を実行するために主側ROM73に記憶されるプログラムのデータ容量を低減することができる。
キャリーフラグCFの値は、JR命令の実行前後で維持されるとともに、LD命令の実行前後で維持される。このため、開始時上乗せ用処理(図102(a))では、行番号「1506」のCP命令を実行することによりゼロフラグZF及びキャリーフラグCFに設定された値を利用して、当該ゼロフラグZFの値が「1」である場合に参照対象の抽選テーブルを第3上乗せ抽選テーブル73hに変更する処理を実行することができるとともに、当該キャリーフラグCFの値が「1」である場合に参照対象の抽選テーブルを第2上乗せ抽選テーブル73eに変更する処理を実行することができる。これにより、開始時上乗せ用処理の第4比較例(図102(b))のように、1つ目のCP命令(行番号「8206」)実行することによりキャリーフラグCFに設定された値を利用して当該キャリーフラグCFの値が「0」である場合に参照対象の抽選テーブルを第3上乗せ抽選テーブル73hに変更する処理を実行し、2つ目のCP命令(行番号「8209」)を実行することによりキャリーフラグCFに設定された値を利用して当該キャリーフラグCFの値が「0」である場合に参照対象の抽選テーブルを第1上乗せ抽選テーブル73dに変更する処理を実行する処理構成と比較して、CP命令の数を低減することができる。
インデックス値IVが「11」~「15」の数値範囲に含まれていることを特定するためにインデックス値IVを「11」減算する演算が行われる構成において、インデックス値IVを「11」だけ小さい側に変動させた後の値を利用して変動前のインデックス値が「11」~「12」である場合、変動前のインデックス値IVが「13」である場合、及び変動前のインデックス値IVが「14」~「15」である場合のいずれであるかを特定するための判定を行う。「11」~「15」の数値範囲を「11」だけ小さい側に変動させる演算(「11」減算する演算)を行った後に、当該演算後の値から、「13」を「11」だけ小さい側に変動させた値である「2」を減算する演算を行う構成とすることにより、減算される値を「13」よりも小さい値である「2」とすることができる。当選となったインデックス値IVが「11」~「12」である場合、当選となったインデックス値IVが「13」である場合、及び当選となったインデックス値IV「14」~「15」である場合のいずれであるかを特定するための判定を行うために、インデックス値IVを「11」だけ小さい側に変動させた値から減算される「2」という値を表すために必要なビット数は「2」であり、当該ビット数は、「13」という値を表すために必要なビット数(「4」)よりも小さい。これにより、当該判定を行うための演算において減算される値を表すためのビット数を低減することができる。よって、当該値を記憶するためのデータ容量を低減することができる。
<第12の実施形態>
本実施形態では、上乗せ抽選が実行される場合に画像表示装置63にてAT状態ST5における残りの継続ゲーム数の上乗せが発生することを期待させる抽選演出が実行されることが上記第1の実施形態と相違している。以下、上記第1の実施形態と相違する構成について説明する。なお、上記第1の実施形態と同一の構成については基本的にその説明を省略する。
上乗せ抽選は、AT状態ST5において、ベット数が「3」であるゲームの役の抽選処理(図18)にて「11」~「15」のいずれかのインデックス値IVに当選したことを条件として実行される。図103(a)は本実施形態における上乗せ抽選を実行するための主側ROM73の構成を説明するための説明図である。図103(a)に示すように、主側ROM73には第1上乗せ抽選テーブル73d、第2上乗せ抽選テーブル73e及び第3上乗せ抽選テーブル73hが記憶されている。
本実施形態では、役の抽選処理(図18)にて「11」、「12」、「14」又は「15」のインデックス値IVに当選した場合、参照対象の抽選テーブルを第1上乗せ抽選テーブル73dとする第1上乗せ抽選が実行される。また、役の抽選処理(図18)にて「13」のインデックス値IVに当選した場合、AT状態ST5においてベット数を「3」とするゲームが実行された回数が「10」以外であることを条件として参照対象の抽選テーブルを第2上乗せ抽選テーブル73eとする第2上乗せ抽選が実行されるとともに、AT状態ST5においてベット数を「3」とするゲームが実行された回数が「10」であることを条件として参照対象の抽選テーブルを第3上乗せ抽選テーブル73hとする第3上乗せ抽選が実行される。
上記第1の実施形態において図43(a),(b)を参照しながら既に説明したとおり、第1上乗せ抽選テーブル73d及び第2上乗せ抽選テーブル73eには、10ゲーム、20ゲーム及び50ゲームの上乗せゲーム数が設定されている。また、第1上乗せ抽選テーブル73dには判定値として「16」が設定されているとともに、第2上乗せ抽選テーブル73eには判定値として「32」が設定されている。上記第1の実施形態と同様に、第1上乗せ抽選テーブル73dを参照対象の抽選テーブルとして第1上乗せ抽選が実行される場合、1/16の確率で10ゲームが選択され、1/16の確率で20ゲームが選択され、1/16の確率で50ゲームが選択され、13/16の確率で外れとなる。また、上記第1の実施形態と同様に、第2上乗せ抽選テーブル73eを参照対象の抽選テーブルとして第2上乗せ抽選が実行される場合、1/8の確率で10ゲームが選択され、1/8の確率で20ゲームが選択され、1/8の確率で50ゲームが選択され、5/8の確率で外れとなる。上記第1の実施形態と同様に、第2上乗せ抽選テーブル73eにおいて10ゲーム、20ゲーム又は50ゲームの上乗せゲーム数に当選する確率は、第1上乗せ抽選テーブル73dにおいて10ゲーム、20ゲーム又は50ゲームの上乗せゲーム数に当選する確率よりも高く設定されている。第2上乗せ抽選テーブル73eは第1上乗せ抽選テーブル73dよりも遊技者にとって有利な抽選テーブルである。
上記第11の実施形態において図101(c)を参照しながら既に説明したとおり、第3上乗せ抽選テーブル73hには、上乗せゲーム数として20ゲーム、40ゲーム及び80ゲームが設定されているとともに、判定値として「32」が設定されている。第3上乗せ抽選テーブル73hを参照対象の抽選テーブルとして第3上乗せ抽選が実行される場合、1/8の確率で20ゲームが選択され、1/8の確率で40ゲームが選択され、1/8の確率で80ゲームが選択され、5/8の確率で外れとなる。第3上乗せ抽選テーブル73hにおいて20ゲーム、40ゲーム又は80ゲームの上乗せゲーム数に当選する確率は、第2上乗せ抽選テーブル73eにおいて10ゲーム、20ゲーム又は50ゲームの上乗せゲーム数に当選する確率と同一である。上述したとおり、第2上乗せ抽選テーブル73eは第1上乗せ抽選テーブル73dよりも遊技者にとって有利な抽選テーブルであるが、第3上乗せ抽選テーブル73hは当該第2上乗せ抽選テーブル73eよりもさらに遊技者にとって有利な抽選テーブルである。
上述したとおり、上乗せ抽選が実行される場合には、画像表示装置63にてAT状態ST5における残りの継続ゲーム数の上乗せが発生することを期待させる抽選演出が実行される。第1上乗せ抽選が実行される場合には第1抽選演出が実行される。第1抽選演出では、上乗せが発生する可能性があることを示すカットイン画像が画像表示装置63に表示される。第1上乗せ抽選よりも遊技者にとって有利な第2上乗せ抽選が実行される場合には第2抽選演出が実行される。第2抽選演出では、上乗せが発生する可能性が高いことを示すカットイン画像が画像表示装置63に表示される。第2上乗せ抽選よりも遊技者にとって有利な第3上乗せ抽選が実行される場合には第3抽選演出が実行される。第3抽選演出では、第2抽選演出と同様に、上乗せが発生する可能性が高いことを示すカットイン画像が画像表示装置63に表示される。また、第3抽選演出では、スピーカ62から上乗せの発生を期待させる抽選音が出力される。
図103(b)は抽選演出を実行するための主側RAM74の構成を説明するための説明図である。図103(b)に示すように、主側RAM74には、ATゲーム数カウンタ141、画像種別カウンタ142及び音種別カウンタ143が設けられている。ATゲーム数カウンタ141は、AT状態ST5においてベット数を「3」とするゲームが実行された回数を主側MPU72にて把握可能とする2バイトのカウンタである。ATゲーム数カウンタ141の値は、AT状態ST5においてベット数を「3」とするゲームが実行される度に1加算され、AT状態ST5が終了した場合に「0」クリアされる。
画像種別カウンタ142は、第1~第3抽選演出において画像表示装置63に表示されるカットイン画像の種類を示す画像種別番号が設定される1バイトのカウンタである。画像種別カウンタ142には、第1抽選演出が実行される場合に「1」の画像種別番号が設定され、第2抽選演出又は第3抽選演出が実行される場合に「2」~「6」のいずれかの画像種別番号が設定される。音種別カウンタ143は、第3抽選演出においてスピーカ62から出力される抽選音の種類を示す音種別番号が設定される1バイトのカウンタである。音種別カウンタ143には、第3抽選演出が実行される場合に「1」~「5」のいずれかの音種別番号が設定される。
画像種別カウンタ142に設定された画像種別番号及び音種別カウンタ143に設定された音種別番号は、演出側MPU92に送信される抽選演出コマンドに設定される。演出側MPU92は、抽選演出コマンドを受信した場合、当該抽選演出コマンドに設定されている画像種別番号に対応するカットイン画像が表示されるように画像表示装置63の表示制御を実行する。また、抽選演出コマンドに「1」~「5」のいずれかの音種別番号が設定されている場合には、当該音種別番号に対応する抽選音が出力されるようにスピーカ62の音出力制御を実行する。上記第1の実施形態と同様に、演出側MPU92は、主側MPU72から受信した開始時コマンドに基づいてAT状態ST5における残りの継続ゲーム数の上乗せが発生したことを特定した場合、第1~第3抽選演出の後に上乗せ演出を実行する。上乗せ演出では、上乗せゲーム数に対応するカットイン画像が画像表示装置63に表示される。これにより、遊技者に上乗せゲーム数が報知される。
次に、主側MPU72にて実行されるAT用処理について図103(c)のフローチャートを参照しながら説明する。上記第1の実施形態において既に説明したとおり、AT用処理は遊技終了時の対応処理(図32)におけるステップS1506にて実行される。遊技終了時の対応処理は1ゲームにおけるリール32L,32M,32Rの回転が全て停止した後に実行されるため、AT用処理も1ゲームにおけるリール32L,32M,32Rの回転が全て停止した後に実行される。
AT用処理では、まず上記第1の実施形態におけるAT用処理(図42)のステップS2501と同様に、主側RAM74におけるベット数設定カウンタ74bを参照して今回のゲームのベット数が「3」であるか否かを判定する(ステップS5901)。今回のゲームのベット数が「3」である場合(ステップS5901:YES)には、主側RAM74におけるATゲーム数カウンタ141の値を1加算する(ステップS5902)。これにより、AT状態ST5においてベット数を「3」とするゲームが実行された回数を主側MPU72にて把握可能とすることができる。
その後、ステップS5903~ステップS5904では、上記第1の実施形態におけるAT用処理(図42)のステップS2502~ステップS2503と同様の処理を実行する。具体的には、主側RAM74におけるAT継続カウンタ74uの値を1減算し(ステップS5903)、その1減算後のAT継続カウンタ74uの値が「0」となっているか否かを判定する(ステップS5904)。AT継続カウンタ74uの値が「0」となっている場合(ステップS5904:YES)、主側RAM74におけるATゲーム数カウンタ141の値を「0」クリアする(ステップS5905)。これにより、AT状態ST5が終了する場合にATゲーム数カウンタ141の値を「0」クリアすることができる。
その後、ステップS5906~ステップS5912では、上記第1の実施形態におけるAT用処理(図42)のステップS2504~ステップS2510と同様の処理を実行する。具体的には、主側RAM74の遊技状態エリア77における第1エンディングフラグ76b及び第2エンディングフラグ76cの値が共に「0」である場合(ステップS5906:NO)、主側RAM74の遊技状態エリア77におけるAT状態フラグ77dを「0」クリアする(ステップS5907)。これにより、AT状態ST5が終了したことを主側MPU72にて把握可能とすることができる。その後、CALL命令により解除ゲーム数抽選処理というサブルーチンのプログラムを呼び出すことにより解除ゲーム数抽選処理を実行する(ステップS5908)。その後、解除ゲーム数カウンタの設定処理を実行する(ステップS5909)。解除ゲーム数カウンタの設定処理では、解除ゲーム数抽選テーブル73c(図35(a))を参照し、判定対象カウンタの値に対応する解除ゲーム数を主側RAM74の解除ゲーム数カウンタにセットする。その後、判定対象カウンタの値を「0」クリアして(ステップS5910)、本AT用処理を終了する。
第1エンディングフラグ76b及び第2エンディングフラグ76cのいずれかに「1」がセットされている場合(ステップS5906:YES)、終了準備状態ST6の設定処理を実行する(ステップS5911)。終了準備状態ST6の設定処理では、主側RAM74の遊技状態エリア77におけるAT状態フラグ77dを「0」クリアする。また、当該終了準備状態ST6の設定処理では、主側RAM74の遊技状態エリア77における終了準備状態フラグ77eに「1」をセットする。その後、主側RAM74の終了準備完了フラグを「0」クリアして(ステップS5912)、本AT用処理を終了する。
次に、主側MPU72にて実行される開始時上乗せ用処理について図104のフローチャートを参照しながら説明する。上記第1の実施形態において既に説明したとおり、開始時上乗せ用処理はゲーム開始時の有利状態用処理(図40)のステップS2310にて実行される。上記第1の実施形態と同様に、開始時上乗せ用処理はAT状態ST5において実行される。
開始時上乗せ用処理では、まず主側RAM74における画像種別カウンタ142及び音種別カウンタ143を「0」クリアする(ステップS6001)。その後、ステップS6002~ステップS6006では、上記第1の実施形態における開始時上乗せ用処理(図69(b))の行番号「1301」~行番号「1305」に設定されている命令と同様の命令を実行する。具体的には、まず「LD A,(INDXCNT)」という命令を実行する(ステップS6001)。「LD」は8ビットデータの転送命令としてのLD命令であり、「A」はAレジスタ101bであり、「(INDXCNT)」は転送元として主側RAM74のインデックス値カウンタ74fを指定する内容である。ステップS6001にて「LD A,(INDXCNT)」という命令が実行されることによりインデックス値カウンタ74fのデータがAレジスタ101bに転送される。これにより、役の抽選処理(図18)にて「1」~「17」のいずれかのインデックス値IVに当選している場合には当該インデックス値IVがAレジスタ101bに設定されるとともに、役の抽選処理(図18)にていずれのインデックス値IVにも当選していない場合には「0」がAレジスタ101bに設定される。
その後、「SUB A,0BH」という命令を実行する(ステップS6002)。「SUB」は8ビットデータの減算命令としてのSUB命令であり、「A」はAレジスタ101bであり、「0BH」は第1抽選対象範囲(「11」~「15」)の最小値である「11」を示す1バイトの数値情報である。ステップS6002にて「SUB A,0BH」という命令が実行されることにより、Aレジスタ101bの値から「11」を減算する演算が行われ、当該演算の結果がAレジスタ101bに書き込まれる。当該演算において最上位ビット目(第7ビット目)への桁借りが発生した場合にはキャリーフラグCFに「1」がセットされるとともに、当該演算において最上位ビット目(第7ビット目)への桁借りが発生しなかった場合にはキャリーフラグCFの値が「0」となる。上記第1の実施形態において図69(a)を参照しながら既に説明したとおり、インデックス値カウンタ74fの値が第1抽選対象範囲(「11」~「15」)に含まれている場合にはAレジスタ101bの値が「5」未満の値となるとともに、インデックス値カウンタ74fの値が第1抽選対象範囲(「11」~「15」)に含まれていない「0」~「10」及び「16」~「17」のいずれかである場合にはAレジスタ101bの値が「5」以上となる。
その後、「CP A,05H」という命令を実行する(ステップS6004)。「CP」は8ビットデータの比較命令としてのCP命令であり、「A」はAレジスタ101bであり、「05H」は第1抽選対象範囲(「11」~「15」)の最大値である「15」から「11」を減算する演算により算出される値である「4」よりも「1」大きい値(「5」)を示す1バイトの数値情報である。ステップS6004にて「CP A,05H」という命令が実行されることにより、Aレジスタ101bの値から「5」を減算する演算が行われる。「5」減算前のAレジスタ101bの値が「5」未満である場合、すなわちインデックス値カウンタ74fの値が第1抽選対象範囲(「11」~「15」)に含まれている場合には、当該演算において最上位ビット目(第0~第7ビットにおける第7ビット目)への桁借りが生じてキャリーフラグCFの値が「1」となる。一方、「5」減算前のAレジスタ101bの値が「5」以上である場合、すなわちインデックス値カウンタ74fの値が第1抽選対象範囲(「11」~「15」)に含まれていない「0」~「10」及び「16」~「17」のいずれかである場合には、当該演算において最上位ビット目(第0~第7ビットにおける第7ビット目)への桁借りが生じないため、キャリーフラグCFの値が「0」となる。Aレジスタ101bの値から「5」を減算する演算の演算結果は、Aレジスタ101bには書き込まれない。「CP A,05H」という命令が実行されてもAレジスタ101bの値は変化しない。このため、ステップS6003にて「11」を減算する演算を実行してAレジスタ101bに格納されたデータを後述するステップS6008においても利用可能とすることができる。
その後、「RET NC」という命令を実行する(ステップS6005)。「RET」はサブルーチンからの復帰命令としてのRET命令であり、「NC」はサブルーチンから復帰するための条件として、キャリーフラグCFの値が「0」であること、という条件を設定する内容である。ステップS6005にて「RET NC」という命令が実行されることにより、キャリーフラグCFの値が「0」であることを条件として、ゲーム開始時の有利状態用処理(図40)のステップS2310にて呼び出した開始時上乗せ用処理を終了し、ステップS2310の次のステップS2311に復帰する。上述したとおり、インデックス値カウンタ74fの値が「0」~「10」及び「16」~「17」のいずれかである場合には、ステップS6004の処理が実行されることによりキャリーフラグCFの値が「0」となる。このため、ステップS6005にて「RET NC」という命令が実行されることにより、開始時上乗せ用処理を終了し、ゲーム開始時の有利状態用処理(図40)におけるステップS2311に復帰する。一方、上述したとおり、インデックス値カウンタ74fの値が第1抽選対象範囲(「11」~「15」)に含まれている場合には、ステップS6004の処理が実行されることによりキャリーフラグCFの値が「1」となる。このため、ステップS6005に「RET NC」という命令が設定されていても開始時上乗せ用処理を終了することはなく、次のステップS6006に進む。
ステップS6006の命令は、AT状態ST5であるとともに役の抽選処理(図18)にて「11」~「15」のいずれかのインデックス値IVに当選している場合に実行される。ステップS6006では、「LD HL,KSADD01」という命令を実行する。「LD」は16ビット転送命令としてのLD命令であり、「HL」は転送先としてHLレジスタ104を設定する内容であり、「KSADD01」は主側ROM73における第1上乗せ抽選テーブル73dの開始アドレスである。ステップS6006にて「LD HL,KSADD01」という命令が実行されることにより第1上乗せ抽選テーブル73dの開始アドレスがHLレジスタ104に転送される。これにより、上乗せ抽選における参照対象の抽選テーブルとして第1上乗せ抽選テーブル73dを設定することができる。このように、AT状態ST5であるとともに役の抽選処理(図18)にて「11」~「15」のいずれかのインデックス値IVに当選している場合には、参照対象の抽選テーブルとして第1上乗せ抽選テーブル73dが設定される。
その後、主側RAM74の画像種別カウンタ142に「1」をセットする(ステップS6007)。その後、「CP A,02H」という命令を実行する(ステップS6008)。「CP」は8ビットデータの比較命令としてのCP命令であり、「A」はAレジスタ101bであり、「02H」は第2上乗せ抽選又は第3上乗せ抽選の実行対象となる「13」のインデックス値IVから「11」を減算する演算により算出される値である「2」を示す1バイトの数値情報である。ステップS6008にて「CP A,02H」という命令が実行されることにより、Aレジスタ101bの値から「2」を減算する演算が行われる。「2」減算前のAレジスタ101bの値が「2」である場合、すなわち第2上乗せ抽選又は第3上乗せ抽選の実行対象である場合には、当該演算の演算結果が「0」となるため、ゼロフラグZFの値が「1」となる。一方、「2」減算前のAレジスタ101bの値が「0」、「1」、「3」又は「4」である場合、すなわち第1上乗せ抽選の実行対象である場合には、当該演算の演算結果が「0」にはならないため、ゼロフラグZFの値が「0」となる。Aレジスタ101bの値から「2」を減算する演算の演算結果は、Aレジスタ101bには書き込まれない。「CP A,02H」という命令が実行されてもAレジスタ101bの値は変化しない。このため、ステップS6003にて「11」を減算する演算を実行してAレジスタ101bに格納されたデータを後述するステップS6014においても利用可能とすることができる。
その後、「JR NZ,ADR162」という命令を実行する(ステップS6009)。「JR」は語長2バイトの条件付きジャンプ命令であり、「NZ」はジャンプの条件として、ゼロフラグZFの値が「0」であること、という条件を指定する内容であり、「ADR162」はジャンプ先のプログラムアドレスとしてステップS6015の「ADR162」というプログラムアドレスを指定する内容である。ステップS6009の命令は「ADR161」というプログラムアドレスに設定されている。ステップS6009のJR命令では、当該JR命令が設定されているプログラムアドレス(ADR161)及び当該JR命令に設定されている差分の情報(8ビット)に基づいて、2バイトのジャンプ先のプログラムアドレス(ADR162)が相対的に特定される。語長2バイトのJR命令を利用してジャンプ先のプログラムアドレスにジャンプする構成であることにより、語長3バイトのJP命令を利用する構成と比較して、ジャンプ先のプログラムアドレスにジャンプするためのジャンプ命令の機械語のデータ容量が低減されている。「ADR162」は、ステップS6009のJR命令が設定されているプログラムアドレス(ADR161)を基準として当該JR命令におけるジャンプ先のプログラムアドレスとして指定可能な範囲に存在しているプログラムアドレスである。上述したとおり、第1上乗せ抽選の実行対象である場合には、ステップS6008の処理が実行されることによりゼロフラグZFの値が「0」となっている。このため、ステップS6009にて「JR NZ,ADR162」という命令が実行されることにより「ADR162」というステップS6015のプログラムアドレスにジャンプする。一方、上述したとおり、第2上乗せ抽選又は第3上乗せ抽選の実行対象である場合には、ステップS6008の処理が実行されることによりゼロフラグZFに「1」がセットされている状態となっている。このため、ステップS6009に「JR NZ,ADR162」という命令が設定されていてもプログラムアドレスがジャンプすることはなく、次のステップS6010に進む。
ステップS6010では、「LD HL,KSADD02」という命令を実行する。「LD」は16ビット転送命令としてのLD命令であり、「HL」は転送先としてHLレジスタ104を設定する内容であり、「KSADD02」は主側ROM73における第2上乗せ抽選テーブル73eの開始アドレスである。ステップS6010にて「LD HL,KSADD02」という命令が実行されることにより第2上乗せ抽選テーブル73eの開始アドレスがHLレジスタ104に転送される。これにより、参照対象の抽選テーブルが第1上乗せ抽選テーブル73dから第2上乗せ抽選テーブル73eに変更される。
その後、画像種別抽選処理を実行する(ステップS6011)。画像種別抽選処理では、主側ROM73に設けられた画像種別抽選用テーブル及び主側RAM74において定期的に更新される抽選カウンタを利用して、第2抽選演出又は第3抽選演出におけるカットイン画像の種類を決定する。画像種別抽選処理では、「2」の画像種別番号が5/16の確率で選択され、「3」の画像種別番号が1/4の確率で選択され、「4」の画像種別番号が3/16の確率で選択され、「5」の画像種別番号が1/8の確率で選択され、「6」の画像種別番号が1/8の確率で選択される。その後、画像種別カウンタ142の設定処理を実行する(ステップS6012)。画像種別カウンタ142の設定処理では、画像種別抽選処理(ステップS6011)にて選択された「2」~「6」のいずれかの画像種別番号を主側RAM74の画像種別カウンタ142に設定する。
その後、主側RAM74におけるATゲーム数カウンタ141のデータをAレジスタ101bに設定する(ステップS6013)。これにより、AT状態ST5においてベット数を「3」とするゲームが実行された回数がAレジスタ101bに設定されている状態となる。その後、「CP A,0AH」という命令を実行する(ステップS6014)。「CP」は8ビットデータの比較命令としてのCP命令であり、「A」はAレジスタ101bであり、「0AH」は「10」を示す1バイトの数値情報である。ステップS6014にて「CP A,0AH」という命令が実行されることにより、Aレジスタ101bの値から「10」を減算する演算が行われる。「10」減算前のAレジスタ101bの値が「10」である場合、すなわちAT状態ST5においてベット数を「3」とするゲームが実行された回数が「10」である場合には、当該演算の演算結果が「0」となるため、ゼロフラグZFの値が「1」となる。一方、「10」減算前のAレジスタ101bの値が「10」以外の数値情報である場合、すなわちAT状態ST5においてベット数を「3」とするゲームが実行された回数が「10」以外である場合には、当該演算の演算結果が「0」にはならないため、ゼロフラグZFの値が「0」となる。
ステップS6015の処理は、ステップS6009のJR命令によりステップS6015のプログラムアドレスにジャンプした場合、又はステップS6014の処理を実行してステップS6015に進んだ場合に実行される。まずステップS6009のJR命令によりステップS6015のプログラムアドレスにジャンプした場合について説明する。上述したとおり、ステップS6009では、第1上乗せ抽選の実行対象である場合にステップS6015のプログラムアドレスにジャンプする。ステップS6015では、「JR NZ,ADR163」という命令を実行する。「JR」は語長2バイトの条件付きジャンプ命令であり、「NZ」はジャンプの条件として、ゼロフラグZFの値が「0」であること、という条件を指定する内容であり、「ADR163」はジャンプ先のプログラムアドレスとしてステップS6019の「ADR163」というプログラムアドレスを指定する内容である。ステップS6015の命令は「ADR162」というプログラムアドレスに設定されている。ステップS6015のJR命令では、当該JR命令が設定されているプログラムアドレス(ADR162)及び当該JR命令に設定されている差分の情報(8ビット)に基づいて、2バイトのジャンプ先のプログラムアドレス(ADR163)が相対的に特定される。語長2バイトのJR命令を利用してジャンプ先のプログラムアドレスにジャンプする構成であることにより、語長3バイトのJP命令を利用する構成と比較して、ジャンプ先のプログラムアドレスにジャンプするためのジャンプ命令の機械語のデータ容量が低減されている。既に説明したとおり、ゼロフラグZFの値は、語長2バイトの条件付きジャンプ命令であるJR命令が実行されても維持される。このため、ゼロフラグZFの値が「0」であることを条件としてステップS6009のプログラムアドレス(ADR161)からステップS6015のプログラムアドレス(ADR162)にジャンプした場合には、ステップS6015におけるJR命令のジャンプ条件が必ず満たされて、ステップS6019のプログラムアドレス(ADR163)にジャンプする。「ADR163」は、ステップS6015のJR命令が設定されているプログラムアドレス(ADR162)を基準として当該JR命令におけるジャンプ先のプログラムアドレスとして指定可能な範囲に存在しているプログラムアドレスであるとともに、ステップS6009のJR命令が設定されているプログラムアドレス(ADR161)を基準として当該JR命令におけるジャンプ先のプログラムアドレスとして指定可能な範囲には存在していないプログラムアドレスである。
次に、ステップS6014の処理を実行してステップS6015に進んだ場合について説明する。上述したとおり、AT状態ST5においてベット数を「3」とするゲームが実行された回数が「10」以外である場合には、ステップS6015の処理が実行されることによりゼロフラグZFの値が「0」となっている。このため、ステップS6016にて「JR NZ,ADR163」という命令が実行されることにより「ADR163」というステップS6019のプログラムアドレスにジャンプする。一方、上述したとおり、AT状態ST5においてベット数を「3」とするゲームが実行された回数が「10」である場合には、ステップS6015の処理が実行されることによりゼロフラグZFに「1」がセットされている状態となっている。このため、ステップS6016に「JR NZ,ADR163」という命令が設定されていてもプログラムアドレスがジャンプすることはなく、次のステップS6016に進む。
ステップS6016では、「LD HL,KSADD03」という命令を実行する。「LD」は16ビット転送命令としてのLD命令であり、「HL」は転送先としてHLレジスタ104を設定する内容であり、「KSADD03」は主側ROM73における第3上乗せ抽選テーブル73hの開始アドレスである。ステップS6016にて「LD HL,KSADD03」という命令が実行されることにより第3上乗せ抽選テーブル73hの開始アドレスがHLレジスタ104に転送される。これにより、参照対象の抽選テーブルが第2上乗せ抽選テーブル73eから第3上乗せ抽選テーブル73hに変更される。
その後、音種別抽選処理を実行する(ステップS6017)。音種別抽選処理では、主側ROM73に設けられた音種別抽選用テーブル及び主側RAM74において定期的に更新される抽選カウンタを利用して、第3抽選演出における抽選音の種類を決定する。音種別抽選処理では、「1」の音種別番号が5/16の確率で選択され、「2」の音種別番号が1/4の確率で選択され、「3」の音種別番号が3/16の確率で選択され、「4」の音種別番号が1/8の確率で選択され、「5」の音種別番号が1/8の確率で選択される。その後、音種別カウンタ143の設定処理を実行する(ステップS6018)。音種別カウンタ143の設定処理では、音種別抽選処理(ステップS6017)にて選択された「1」~「5」のいずれかの音種別番号を主側RAM74の音種別カウンタ143に設定する。
ステップS6015のJR命令によりステップS6019のプログラムアドレス(ADR163)にジャンプした場合、又はステップS6018の処理を実行した場合には、抽選演出コマンドの送信設定処理を実行する(ステップS6019)。抽選演出コマンドの送信設定処理では、主側RAM74に設けられた抽選演出コマンドフラグに「1」をセットする。抽選演出コマンドフラグは、抽選演出コマンドを演出側MPU92に送信すべきことを主側MPU72にて把握可能とするフラグである。抽選演出コマンドフラグに「1」をセットすることにより、タイマ割込み処理(図11)のステップS210におけるコマンド出力処理にて抽選演出コマンドを演出側MPU92に送信する処理が実行される。既に説明したとおり、演出側MPU92は、抽選演出コマンドを受信した場合、当該抽選演出コマンドに設定されている画像種別番号に対応するカットイン画像が表示されるように画像表示装置63の表示制御を実行する。また、抽選演出コマンドに「1」~「5」のいずれかの音種別番号が設定されている場合には、当該音種別番号に対応する抽選音が出力されるようにスピーカ62の音出力制御を実行する。
その後、上記第1の実施形態における開始時上乗せ用処理(図69(b))の行番号「1309」と同様に、「JP ADR133」という命令を実行する(ステップS6020)。「JP」は語長3バイトの無条件ジャンプ命令としてのJP命令であり、「ADR133」は解除ゲーム数抽選処理(図35(b))におけるステップS1802の処理を実行するための命令が設定されているプログラムアドレス(2バイト)である。ステップS6020にて「JP ADR133」という命令が実行されることにより当該「ADR133」というプログラムアドレスにジャンプする。そして、解除ゲーム数抽選処理(図35(b))のステップS1802~ステップS1807の処理が実行されることにより、第1~第3上乗せ抽選のいずれかが実行される。既に説明したとおり、役の抽選処理(図18)にて「11」、「12」、「14」又は「15」のインデックス値IVに当選している場合には第1上乗せ抽選テーブル73dに基づいて第1上乗せ抽選が実行される。また、役の抽選処理(図18)にて「13」のインデックス値IVに当選している場合、AT状態ST5においてベット数を「3」とするゲームが実行された回数が「10」以外であることを条件として参照対象の抽選テーブルを第2上乗せ抽選テーブル73eとする第2上乗せ抽選が実行されるとともに、AT状態ST5においてベット数を「3」とするゲームが実行された回数が「10」であることを条件として参照対象の抽選テーブルを第3上乗せ抽選テーブル73hとする第3上乗せ抽選が実行される。
図105(a)は開始時上乗せ用処理(図104)において「ADR161」というプログラムアドレス及び「ADR162」というプログラムアドレスから「ADR163」というプログラムアドレスにジャンプするために設定されているジャンプ命令を説明するための説明図である。既に説明したとおり、JR命令でジャンプできる範囲は、「(当該JR命令が設定されているプログラムアドレス)+2-128」~「(当該JR命令が設定されているプログラムアドレス)+2+127」の範囲である。上述したとおり、「ADR163」は、ステップS6015のJR命令が設定されているプログラムアドレス(ADR162)を基準として当該JR命令におけるジャンプ先のプログラムアドレスとして指定可能な範囲に存在しているプログラムアドレスであるとともに、ステップS6009のJR命令が設定されているプログラムアドレス(ADR161)を基準として当該JR命令におけるジャンプ先のプログラムアドレスとして指定可能な範囲には存在していないプログラムアドレスである。
既に説明したとおり、ゼロフラグZFの値は、語長2バイトの条件付きジャンプ命令であるJR命令が実行されても維持される。開始時上乗せ用処理(図104)では、ゼロフラグZFの値が「0」であることを条件としてステップS6009のプログラムアドレス(ADR161)からステップS6015のプログラムアドレス(ADR162)にジャンプした場合には、ステップS6015におけるJR命令のジャンプ条件が必ず満たされて、ステップS6019のプログラムアドレス(ADR163)にジャンプする。
図105(b)は開始時上乗せ用処理の第5比較例において「ADR161」というプログラムアドレス及び「ADR162」というプログラムアドレスから「ADR163」というプログラムアドレスにジャンプするために設定されているジャンプ命令を説明するための説明図である。開始時上乗せ用処理の第5比較例(図105(b))では、「ADR161」というステップS6009のプログラムアドレスに「JP NZ,ADR163」という命令が設定されている。「JP」は語長3バイトのジャンプ命令であり、「NZ」はジャンプの条件として、ゼロフラグZFの値が「0」であること、という条件を指定する内容であり、「ADR163」はジャンプ先のプログラムアドレスとして「ADR163」というプログラムアドレスを指定する内容である。開始時上乗せ用処理の第5比較例(図105(b))では、「ADR161」というプログラムアドレスに「JP NZ,ADR163」という命令が設定されているため、ゼロフラグZFの値が「0」であることを条件として、「ADR161」から「ADR162」というプログラムアドレスを経由することなく「ADR163」というプログラムアドレスに直接ジャンプする。
上述したとおり、ステップS6015のJR命令は、第3抽選演出の実行対象ではない場合に「ADR162」というプログラムアドレスから「ADR163」というプログラムアドレスにジャンプするための命令である。このため、「ADR161」というプログラムアドレスから「ADR163」というプログラムアドレスに直接ジャンプする構成においても当該ステップS6015のJR命令を省略することはできない。
図105(b)に示すように、開始時上乗せ用処理の第5比較例(図105(b))において「ADR161」というプログラムアドレス及び「ADR162」というプログラムアドレスから「ADR163」というプログラムアドレスにジャンプするために設定されているジャンプ命令の語長の合計は5バイトである。これに対して、図105(a)に示すように、開始時上乗せ用処理(図104)において「ADR161」というプログラムアドレス及び「ADR162」というプログラムアドレスから「ADR163」というプログラムアドレスにジャンプするために設定されているジャンプ命令の語長の合計は4バイトである。
上述したとおり、開始時上乗せ用処理(図104)は、ステップS6009にてゼロフラグZFの値が「0」であることを条件として語長2バイトのJR命令によりステップS6015のプログラムアドレスにジャンプし、ゼロフラグZFの値はJR命令が実行されても維持されることを利用して、当該ジャンプ先のステップS6015に設定されているJR命令により「ADR163」というプログラムアドレスにジャンプする処理構成である。これにより、開始時上乗せ用処理の第5比較例(図105(b))のように、ステップS6009にてゼロフラグZFの値が「0」であることを条件として語長3バイトのJP命令により「ADR163」というプログラムアドレスに直接ジャンプする処理構成と比較して、「ADR161」というプログラムアドレス及び「ADR162」というプログラムアドレスから「ADR163」というプログラムアドレスにジャンプするために設定するジャンプ命令の語長の合計を低減することができる。よって、開始時上乗せ用処理(図104)を実行するために主側ROM73に記憶されるプログラムのデータ容量を低減することができる。
以上詳述した本実施形態によれば、以下の優れた効果を奏する。
ゼロフラグZFの値は、語長2バイトの条件付きジャンプ命令としてのJR命令が実行されても維持される。開始時上乗せ用処理(図104)は、ステップS6009にてゼロフラグZFの値が「0」であることを条件として語長2バイトのJR命令によりステップS6015のプログラムアドレスにジャンプし、ゼロフラグZFの値はJR命令が実行されても維持されることを利用して、当該ジャンプ先のステップS6015に設定されているJR命令により「ADR163」というプログラムアドレスにジャンプする処理構成である。これにより、開始時上乗せ用処理の第5比較例(図105(b))のように、ステップS6009にてゼロフラグZFの値が「0」であることを条件として語長3バイトのJP命令により「ADR163」というプログラムアドレスに直接ジャンプする処理構成と比較して、「ADR161」というプログラムアドレス及び「ADR162」というプログラムアドレスから「ADR163」というプログラムアドレスにジャンプするために設定するジャンプ命令の語長の合計を低減することができる。よって、開始時上乗せ用処理(図104)を実行するために主側ROM73に記憶されるプログラムのデータ容量を低減することができる。
<第13の実施形態>
本実施形態では、CALL命令により抽選実行処理が呼び出されることが上記第1の実施形態と相違している。以下、上記第1の実施形態と相違する構成について説明する。なお、上記第1の実施形態と同一の構成については基本的にその説明を省略する。
本実施形態における開始時上乗せ用処理は、解除ゲーム数抽選処理(図35(b))のステップS1802~ステップS1807の処理を抽選実行処理というサブルーチンの処理として呼び出す処理構成である。本実施形態では、解除ゲーム数抽選処理(図35(b))においても、ステップS1801の処理を実行した後に、当該抽選実行処理というサブルーチンの処理を呼び出す。
図106(a)は本実施形態における開始時上乗せ用処理のプログラム内容を説明するための説明図である。上記第1の実施形態において既に説明したとおり、開始時上乗せ用処理は、ゲーム開始時の有利状態用処理(図40)のステップS2310にて実行される。上記第1の実施形態と同様に、開始時上乗せ用処理はAT状態ST5において実行される。図106(a)に示すように本プログラムには、行番号として「1601」~「1609」が設定されている。プログラムの命令は、コール命令又はジャンプ命令が実行される場合を除いて、行番号の小さい方から大きい方に向かう順番で実行される。
行番号「1601」~行番号「1608」では、上記第1の実施形態における開始時上乗せ用処理(図69(b))の行番号「1301」~行番号「1308」と同様の処理を実行する。「1601」の行番号には、「LD A,(INDXCNT)」という命令が設定されている。「LD」は8ビットデータの転送命令としてのLD命令であり、「A」はAレジスタ101bであり、「(INDXCNT)」は転送元として主側RAM74のインデックス値カウンタ74fを指定する内容である。行番号「1601」にて「LD A,(INDXCNT)」という命令が実行されることによりインデックス値カウンタ74fのデータがAレジスタ101bに転送される。これにより、役の抽選処理(図18)にて「1」~「17」のいずれかのインデックス値IVに当選している場合には当該インデックス値IVがAレジスタ101bに設定されるとともに、役の抽選処理(図18)にていずれのインデックス値IVにも当選していない場合には「0」がAレジスタ101bに設定される。
「1602」の行番号には、「SUB A,0BH」という命令が設定されている。「SUB」は8ビットデータの減算命令としてのSUB命令であり、「A」はAレジスタ101bであり、「0BH」は第1抽選対象範囲(「11」~「15」)の最小値である「11」を示す1バイトの数値情報である。行番号「1602」にて「SUB A,0BH」という命令が実行されることにより、Aレジスタ101bの値から「11」を減算する演算が行われ、当該演算の結果がAレジスタ101bに書き込まれる。当該演算において最上位ビット目(第7ビット目)への桁借りが発生した場合にはキャリーフラグCFに「1」がセットされるとともに、当該演算において最上位ビット目(第7ビット目)への桁借りが発生しなかった場合にはキャリーフラグCFの値が「0」となる。上記第1の実施形態において図69(a)を参照しながら既に説明したとおり、インデックス値カウンタ74fの値が第1抽選対象範囲(「11」~「15」)に含まれている場合にはAレジスタ101bの値が「5」未満の値となるとともに、インデックス値カウンタ74fの値が第1抽選対象範囲(「11」~「15」)に含まれていない「0」~「10」及び「16」~「17」のいずれかである場合にはAレジスタ101bの値が「5」以上となる。また、上記第1の実施形態において図69(a)を参照しながら既に説明したとおり、インデックス値カウンタ74fの値が第1抽選対象範囲(「11」~「15」)に含まれているとともに第2抽選対象範囲(「14」~「15」)には含まれていない「11」~「13」のいずれかである場合にはAレジスタ101bの値が「3」未満の値となるとともに、インデックス値カウンタ74fの値が第1抽選対象範囲(「11」~「15」)に含まれているとともに第2抽選対象範囲にも含まれている「14」又は「15」である場合にはAレジスタ101bの値が「3」以上の値となる。
「1603」の行番号には「CP A,05H」という命令が設定されている。「CP」は8ビットデータの比較命令としてのCP命令であり、「A」はAレジスタ101bであり、「05H」は第1抽選対象範囲(「11」~「15」)の最大値である「15」から「11」を減算する演算により算出される値である「4」よりも「1」大きい値(「5」)を示す1バイトの数値情報である。行番号「1603」にて「CP A,05H」という命令が実行されることにより、Aレジスタ101bの値から「5」を減算する演算が行われる。「5」減算前のAレジスタ101bの値が「5」未満である場合、すなわちインデックス値カウンタ74fの値が第1抽選対象範囲(「11」~「15」)に含まれている場合には、当該演算において最上位ビット目(第0~第7ビットにおける第7ビット目)への桁借りが生じてキャリーフラグCFの値が「1」となる。一方、「5」減算前のAレジスタ101bの値が「5」以上である場合、すなわちインデックス値カウンタ74fの値が第1抽選対象範囲(「11」~「15」)に含まれていない「0」~「10」及び「16」~「17」のいずれかである場合には、当該演算において最上位ビット目(第0~第7ビットにおける第7ビット目)への桁借りが生じないため、キャリーフラグCFの値が「0」となる。Aレジスタ101bの値から「5」を減算する演算の演算結果は、Aレジスタ101bには書き込まれない。「CP A,05H」という命令が実行されてもAレジスタ101bの値は変化しない。このため、行番号「1602」にて「11」を減算する演算を実行してAレジスタ101bに格納されたデータを後述する行番号「1606」においても利用可能とすることができる。
「1604」の行番号には「RET NC」という命令が設定されている。「RET」はサブルーチンからの復帰命令としてのRET命令であり、「NC」はサブルーチンから復帰するための条件として、キャリーフラグCFの値が「0」であること、という条件を設定する内容である。行番号「1604」にて「RET NC」という命令が実行されることにより、キャリーフラグCFの値が「0」であることを条件として、ゲーム開始時の有利状態用処理(図40)のステップS2310にて呼び出した開始時上乗せ用処理を終了し、ステップS2310の次のステップS2311に復帰する。上述したとおり、インデックス値カウンタ74fの値が第1抽選対象範囲(「11」~「15」)に含まれていない「0」~「10」及び「16」~「17」のいずれかである場合には、行番号「1603」の命令が実行されることによりキャリーフラグCFの値が「0」となる。このため、行番号「1604」にて「RET NC」という命令が実行されることにより、開始時上乗せ用処理を終了し、ゲーム開始時の有利状態用処理(図40)におけるステップS2311に復帰する。一方、上述したとおり、インデックス値カウンタ74fの値が第1抽選対象範囲(「11」~「15」)に含まれている場合には、行番号「1603」の命令が実行されることによりキャリーフラグCFの値が「1」となる。このため、行番号「1604」に「RET NC」という命令が設定されていても開始時上乗せ用処理を終了することはなく、次の行番号「1605」に進む。
行番号「1605」の命令は、AT状態ST5であるとともに役の抽選処理(図18)にて第1抽選対象範囲(「11」~「15」)のインデックス値IVに当選している場合に実行される。「1605」の行番号には「LD HL,KSADD01」という命令が設定されている。「LD」は16ビット転送命令としてのLD命令であり、「HL」は転送先としてHLレジスタ104を設定する内容であり、「KSADD01」は主側ROM73における第1上乗せ抽選テーブル73dの開始アドレスである。行番号「1605」にて「LD HL,KSADD01」という命令が実行されることにより第1上乗せ抽選テーブル73dの開始アドレスがHLレジスタ104に転送される。これにより、上乗せ抽選における参照対象の抽選テーブルとして第1上乗せ抽選テーブル73dを設定することができる。このように、AT状態ST5であるとともに役の抽選処理(図18)にて第1抽選対象範囲(「11」~「15」)のインデックス値IVに当選している場合には、参照対象の抽選テーブルとして第1上乗せ抽選テーブル73dが設定される。
「1606」の行番号には「CP A,03H」という命令が設定されている。「CP」は8ビットデータの比較命令としてのCP命令であり、「A」はAレジスタ101bであり、「03H」は第2抽選対象範囲(「14」~「15」)の最小値である「14」から「11」を減算する演算により算出される値(「3」)を示す1バイトの数値情報である。上述したとおり、Aレジスタ101bには、行番号「1602」における「11」を減算する演算により算出された1バイトの数値情報が格納されている。行番号「1606」の命令は役の抽選処理(図18)にて第1抽選対象範囲(「11」~「15」)のインデックス値IVに当選している場合に実行されるため、Aレジスタ101bの値は「0」~「4」のいずれかである。行番号「1606」にて「CP A,03H」という命令が実行されることにより、Aレジスタ101bの値から「3」を減算する演算が行われる。既に説明したとおり、CP命令が実行された場合、ジャンプフラグJFの値はキャリーフラグCFの値と同一の値となる。「3」減算前のAレジスタ101bの値が「3」未満である場合、すなわちインデックス値カウンタ74fの値が第2抽選対象範囲(「14」~「15」)には含まれていない「11」~「13」のいずれかである場合には、当該演算において最上位ビット目(第0~第7ビットにおける第7ビット目)への桁借りが生じてキャリーフラグCFの値が「1」となるとともに、ジャンプフラグJFの値も「1」となる。一方、「3」減算前のAレジスタ101bの値が「3」以上である場合、すなわちインデックス値カウンタ74fの値が第2抽選対象範囲に含まれている「14」又は「15」である場合には、当該演算において最上位ビット目(第0~第7ビットにおける第7ビット目)への桁借りが生じないため、キャリーフラグCFの値が「0」となるとともに、ジャンプフラグJFの値も「0」となる。
「1607」の行番号には、「JRS 1,ADR172」という命令が設定されている。「JRS」は語長1バイトの条件付きジャンプ命令であり、「1」はジャンプの条件としてジャンプフラグJFの値が「1」であること、という条件を設定する内容であり、「ADR172」はジャンプ先として「ADR172」という行番号「1609」のプログラムアドレスを設定する内容である。行番号「1607」の命令は「ADR171」というプログラムアドレスに設定されている。既に説明したとおり、JRS命令でジャンプできる範囲は、「(当該JRS命令が設定されているプログラムアドレス)+1-16」~「(当該JRS命令が設定されているプログラムアドレス)+1+15」の範囲である。図106(a)に示すように、「ADR171」というプログラムアドレスと「ADR172」というプログラムアドレスとの間に存在するプログラムアドレスに設定されている命令(行番号「1608」のLD命令)の語長は3バイトである。「ADR172」は、「(ADR171)+1+3」であり、行番号「1607」のJRS命令が設定されているプログラムアドレス(ADR171)を基準として当該JRS命令におけるジャンプ先のプログラムアドレスとして指定可能なプログラムアドレスである。
上述したとおり、インデックス値カウンタ74fの値が第1抽選対象範囲(「11」~「15」)に含まれているとともに第2抽選対象範囲(「14」~「15」)には含まれていない「11」~「13」のいずれかである場合には、行番号「1606」の命令が実行されることによりジャンプフラグJFの値が「1」となっている。このため、行番号「1607」にて「JRS 1,ADR172」という命令が実行されることにより「ADR172」という行番号「1609」のプログラムアドレスにジャンプする。一方、上述したとおり、インデックス値カウンタ74fの値が第1抽選対象範囲(「11」~「15」)に含まれているとともに第2抽選対象範囲(「14」~「15」)にも含まれている「14」又は「15」である場合には、行番号「1606」の命令が実行されることによりジャンプフラグJFの値が「0」となっている。このため、行番号「1607」に「JRS 1,ADR172」という命令が設定されていてもプログラムアドレスがジャンプすることはなく、次の行番号「1608」に進む。
行番号「1608」の命令は、AT状態ST5であるとともに役の抽選処理(図18)にて第2抽選対象範囲(「14」~「15」)のインデックス値IVに当選している場合に実行される。「1608」の行番号には、「LD HL,KSADD02」という命令が設定されている。「LD」は16ビット転送命令としてのLD命令であり、「HL」は転送先としてHLレジスタ104を設定する内容であり、「KSADD02」は主側ROM73における第2上乗せ抽選テーブル73e(図43(b))の開始アドレスである。行番号「1608」にて「LD HL,KSADD02」という命令が実行されることにより第2上乗せ抽選テーブル73eの開始アドレスがHLレジスタ104に転送される。これにより、参照対象の抽選テーブルを第1上乗せ抽選テーブル73dから当該第1上乗せ抽選テーブル73dよりも遊技者にとって有利な第2上乗せ抽選テーブル73eに変更することができる。このように、AT状態ST5であるとともに役の抽選処理(図18)にて第2抽選対象範囲(「14」~「15」)のインデックス値IVに当選している場合には、上乗せ抽選における参照対象の抽選テーブルとして第2上乗せ抽選テーブル73eが設定される。
行番号「1609」に設定されている命令は、行番号「1607」のJRS命令により行番号「1609」にジャンプした場合、又は行番号「1608」のLD命令を実行して行番号「1609」に進んだ場合に実行される。具体的には、AT状態ST5において、役の抽選処理(図18)にて第1抽選対象範囲(「11」~「15」)に含まれているとともに第2抽選対象範囲(「14」~「15」)には含まれていないインデックス値IVに当選している場合には、行番号「1607」のJRS命令により行番号「1609」のプログラムアドレスにジャンプして当該行番号「1609」の命令が実行される。また、AT状態ST5において、役の抽選処理(図18)にて第1抽選対象範囲(「11」~「15」)に含まれているとともに第2抽選対象範囲(「14」~「15」)にも含まれているインデックス値IVに当選している場合には、行番号「1608」のLD命令を実行した後に、行番号「1609」の命令が実行される。
「1609」の行番号に「CALL TYSJSR」という命令が設定されている。「TYSJSR」は抽選実行処理(解除ゲーム数抽選処理(図35(b)におけるステップS1802~ステップS1807の処理)であり、「CALL」は当該抽選実行処理のサブルーチンを呼び出すCALL命令である。行番号「1609」にて「CALL TYSJSR」という命令が実行されることにより抽選実行処理のサブルーチンが呼び出される。抽選実行処理が実行されることにより、役の抽選処理(図18)にて「11」~「13」のいずれかのインデックス値IVに当選している場合には第1上乗せ抽選テーブル73dに基づいて上乗せ抽選が実行されるとともに、役の抽選処理(図18)にて「14」又は「15」のインデックス値IVに当選している場合には第2上乗せ抽選テーブル73eに基づいて上乗せ抽選が実行される。
図106(b)は開始時上乗せ用処理(図106(a))において抽選実行処理を呼び出すために設定されている命令を説明するための説明図である。図106(b)に示すように、開始時上乗せ用処理(図106(a))では、ジャンプフラグJFの値が「1」であることを条件として、行番号「1607」に設定されている語長1バイトの条件付きジャンプ命令であるJRS命令により行番号「1609」のプログラムアドレス(ADR172)にジャンプし、当該ジャンプ先の行番号「1609」に設定されている語長3バイトのCALL命令により抽選実行処理を呼び出す。抽選実行処理を呼び出すために行番号「1607」及び行番号「1609」に設定されている命令の語長の合計は4バイトである。
図106(c)は開始時上乗せ用処理の第6比較例において抽選実行処理を呼び出すために設定されている命令を説明するための説明図である。図106(c)に示すように、開始時上乗せ用処理の第6比較例では、行番号「1607」にも行番号「1609」と同様に、「CALL TYSJSR」という命令が設定されている。開始時上乗せ用処理の第6比較例において、抽選実行処理を呼び出すために行番号「1607」及び行番号「1609」に設定されている命令の語長の合計は6バイトである。
開始時上乗せ用処理(図106(a))は、ジャンプフラグJFの値が「1」であることを条件として、行番号「1607」に設定されている語長1バイトの条件付きジャンプ命令であるJRS命令により行番号「1609」のプログラムアドレス(ADR172)にジャンプし、当該ジャンプ先の行番号「1609」に設定されている語長3バイトのCALL命令により抽選実行処理を呼び出す構成である。これにより、開始時上乗せ用処理の第6比較例(図106(c))のように、行番号「1607」にも抽選実行処理を呼び出すために語長3バイトのCALL命令が設定されている構成と比較して、抽選実行処理を呼び出すために設定される命令の語長の合計を低減することができる。
以上詳述した本実施形態によれば、以下の優れた効果を奏する。
開始時上乗せ用処理(図106(a))は、ジャンプフラグJFの値が「1」であることを条件として、行番号「1607」に設定されている語長1バイトの条件付きジャンプ命令であるJRS命令により行番号「1609」のプログラムアドレス(ADR172)にジャンプし、当該ジャンプ先の行番号「1609」に設定されている語長3バイトのCALL命令により抽選実行処理を呼び出す構成である。これにより、開始時上乗せ用処理の第6比較例(図106(c))のように、行番号「1607」にも抽選実行処理を呼び出すために語長3バイトのCALL命令が設定されている構成と比較して、抽選実行処理を呼び出すために設定される命令の語長の合計を低減することができる。よって、開始時上乗せ用処理を実行するために主側ROM73に記憶するプログラムのデータ容量を低減することができる。
<他の実施形態>
なお、上述した各実施形態の記載内容に限定されず、本発明の趣旨を逸脱しない範囲内で種々の変形改良が可能である。例えば以下のように変更してもよい。ちなみに、以下の別形態の構成を、上記各実施形態の構成に対して個別に適用してもよく、組み合わせて適用してもよい。また、上記各実施形態の構成を相互に組み合わせて適用してもよく、上記各実施形態の構成を相互に組み合わせた構成に対して以下の別形態の構成を個別に又は組み合わせて適用してもよい。
(1)上記各実施形態において、第2区間SC2の滞在比率が設定値毎に算出されるとともに、兼用表示部66にて各設定値における第2区間SC2の滞在比率の演算結果データに対応する比率表示が実行される構成としてもよい。主側RAM74には「1」~「6」の設定値に対応する合計ゲーム数カウンタ及び「1」~「6」の設定値に対応する第2区間ゲーム数カウンタが設けられている。比率表示の開始操作が行われた場合、まず「1」の設定値に対応する合計ゲーム数カウンタ及び「1」の設定値に対応する第2区間ゲーム数カウンタを参照して「1」の設定値における第2区間SC2の滞在比率を算出する演算を実行し、当該演算結果データが比率表示カウンタ74nに設定される。これにより、兼用表示部66にて「1」の設定値に対応する比率表示が開始される。その後、比率表示の更新操作(例えばいずれかのストップボタン42~44の操作)が行われた場合には、参照対象の合計ゲーム数カウンタ及び第2区間ゲーム数カウンタを更新する。そして、当該更新後に参照対象となった合計ゲーム数カウンタ及び第2区間ゲーム数カウンタを参照して「n」(nは1~6のいずれかの整数)の設定値における第2区間SC2の滞在比率を算出する演算を実行し、当該演算結果データが比率表示カウンタ74nに設定する。これにより、兼用表示部66にて「n」の設定値に対応する比率表示が開始される。兼用表示部66では、「1」→「2」→「3」→「4」→「5」→「6」→「1」の順番で、比率表示の更新操作が行われる度に比率表示の対象となる設定値が更新される。これにより、兼用表示部66の比率表示に基づいて各設定値における第2区間SC2の滞在比率を確認可能とすることができる。
(2)上記各実施形態において、主側RAM74において「0001H」~「0006H」のアドレス範囲に設定されている記憶エリアにおける最上位ビットのデータを主側MPU72のレジスタ(例えばBレジスタ102a)に集約し、当該レジスタに集約したデータを送信待機バッファ112に設定する構成としてもよい。これにより、「0001H」~「0006H」のアドレス範囲に設定されている記憶エリアにおける最上位ビットのデータを集約するための記憶エリアを主側RAM74に設けることを不要としながら、開始時コマンド及び終了時コマンドに最上位集約フレームSFを設定することができる。
(3)上記第1の実施形態において、最上位集約処理(図51)にてビット指定カウンタ117を参照することによりデータの転送回数を把握する構成としてもよい。具体的には、最上位集約処理にて、転送元の記憶エリアにおける最上位ビットのデータを転送先ビットに転送した後、ビット指定カウンタ117の値が「5」であるか否かを判定し、ビット指定カウンタ117の値が「5」である場合に当該最上位集約処理を終了する。上記第1の実施形態において既に説明したとおり、ビット指定カウンタ117の値は、転送元の記憶エリアにおける最上位ビットのデータを転送先ビットに転送する処理が実行される度に1加算されて更新される。このため、転送元の記憶エリアにおける最上位ビットのデータを転送先ビットに転送する処理を実行した後にビット指定カウンタ117の値が「5」である場合には、主側RAM74における「0001H」~「0006H」のアドレス範囲に設定されている記憶エリアにおける最上位ビットのデータが最上位集約用エリア74vの第0~第5ビットに設定されたことを意味する。このように、ビット指定カウンタ117を参照することによりデータの転送回数を把握する構成とすることにより、最上位集約処理の処理構成を簡素化することができる。
(4)上記第1の実施形態において、最上位集約処理における転送対象範囲に含まれている記憶エリアの最上位ビットに格納されているデータを転送する処理が汎用のレジスタに事前に設定した情報を利用して実行される構成としてもよい。具体的には、BCレジスタ102に転送元の記憶エリアのアドレスを設定するとともに、Eレジスタ103bに転送回数の情報を設定する。また、HLレジスタ104に転送先の記憶エリアのアドレスを設定するとともに、Dレジスタ103aに転送先ビットの情報を設定する。主側RAM74には、転送元の記憶エリアのアドレス、転送回数の情報、転送先の記憶エリアのアドレス及び転送先ビットの情報を設定するための専用の記憶エリアは設けられていない。最上位集約処理における転送対象範囲に含まれている記憶エリアにおける最上位ビットに格納されているデータを転送する処理において、主側MPU72は、BCレジスタ102に設定されているデータに基づいて転送元の記憶エリアのアドレスを把握することができるとともに、Eレジスタ103bに設定されているデータに基づいて転送回数の情報を把握することができる。また、HLレジスタ104に設定されているデータに基づいて転送先の記憶エリアのアドレスを把握することができるとともに、Dレジスタ103aに設定されているデータに基づいて転送先ビットの情報を把握することができる。このように、転送元の記憶エリアのアドレス、転送回数の情報、転送先の記憶エリアのアドレス及び転送先ビットの情報を汎用のレジスタに設定するとともに、主側RAM74にこれらの情報を設定するための専用の記憶エリアを設けない構成とすることにより、主側RAM74に必要な記憶領域の容量を低減することができる。
(5)上記第1の実施形態において、共通コマンド送信処理における転送対象範囲に含まれている記憶エリアに格納されているデータを送信待機バッファ112に転送する処理が汎用のレジスタに事前に設定した情報を利用して実行される構成としてもよい。具体的には、BCレジスタ102に転送元の記憶エリアのアドレスを設定するとともに、Eレジスタ103bに転送回数を設定する。主側RAM74には、転送元の記憶エリアのアドレス及び転送回数の情報を設定するための専用の記憶エリアは設けられていない。共通コマンド送信処理における転送対象範囲に含まれている記憶エリアに格納されているデータを送信待機バッファ112に転送する処理において、主側MPU72は、BCレジスタ102に設定されているデータに基づいて転送元の記憶エリアのアドレスを把握することができるとともに、Eレジスタ103bに設定されているデータに基づいて転送回数を把握することができる。このように、転送元の記憶エリアのアドレス及び転送回数の情報を汎用のレジスタに設定するとともに、主側RAM74にこれらの情報を設定するための専用の記憶エリアを設けない構成とすることにより、主側RAM74に必要な記憶領域の容量を低減することができる。
(6)上記第5の実施形態において、共通データテーブル73f(図79(a))の第1設定範囲及び第2設定範囲に設定されているアドレスにより特定される主側RAM74の記憶エリアに格納されているデータに加えて、第1除外範囲に設定されているアドレスにより特定される主側RAM74の記憶エリアに格納されているデータも開始時コマンドに設定される構成としてもよい。これにより、共通データテーブル73fにおいて、開始時コマンドにデータが設定される主側RAM74の記憶エリアを特定するアドレスが設定されているアドレス範囲を、共通データテーブル73fが設定されているアドレス範囲(「9101H」~「911AH」)の一部であるとともに、連続する「9101H」~「9114H」のアドレス範囲とすることができる。よって、主側RAM74の記憶エリアに格納されているデータを開始時コマンドに設定するための処理構成を簡素化することができる。また、共通データテーブル73f(図79(a))の第3設定範囲及び第4設定範囲に設定されているアドレスにより特定される主側RAM74の記憶エリアに格納されているデータに加えて、第4除外範囲に設定されているアドレスにより特定される主側RAM74の記憶エリアに格納されているデータも終了時コマンドに設定される構成としてもよい。これにより、共通データテーブル73fにおいて、終了時コマンドにデータが設定される主側RAM74の記憶エリアを特定するアドレスが設定されているアドレス範囲を、共通データテーブル73fが設定されているアドレス範囲(「9101H」~「911AH」)の一部であるとともに、連続する「9105H」~「911AH」のアドレス範囲とすることができる。よって、主側RAM74の記憶エリアに格納されているデータを終了時コマンドに設定するための処理構成を簡素化することができる。
(7)上記第6の実施形態において、共通データテーブル73g(図84(a))における第1集約範囲と第2集約範囲とが連続するアドレス範囲に設定されている構成としてもよい。具体的には、AT継続カウンタ74uの下位エリア及び上位エリアに格納されているデータも終了時コマンドに設定される構成であり、演出側MPU92は、終了時受信対応処理において、当該AT継続カウンタ74uの下位エリア及び上位エリアに格納されているデータを利用する。本構成では、共通データテーブル73gにおいて、「9101H」~「9102H」のアドレス範囲にベット数設定カウンタ74bのアドレスが設定されており、「9103H」~「9104H」のアドレス範囲に停止順種別カウンタ74mのアドレスが設定されており、「9105H」~「9106H」のアドレス範囲に遊技状態エリア77のアドレスが設定されており、「9107H」~「9108H」のアドレス範囲に最上位集約用エリア74vのアドレスが設定されており、「9109H」~「910AH」のアドレス範囲にAT継続カウンタ74uの下位エリアのアドレスが設定されており、「910BH」~「910CH」のアドレス範囲にAT継続カウンタ74uの上位エリアのアドレスが設定されている。本構成において、開始時コマンドに設定されるデータが格納されている主側RAM74の記憶エリアのアドレスは、連続する「9101H」~「910CH」のアドレス範囲に設定されている。開始時コマンドに設定されるデータが格納されている主側RAM74の記憶エリアのうち、最上位ビットのデータが最上位集約用エリア74vに設定される記憶エリアのアドレスは、連続する「9109H」~「910CH」のアドレス範囲に設定されている。これにより、主側RAM74の記憶エリアに格納されているデータを開始時コマンドに設定するための処理構成を簡素化することができる。終了時コマンドに設定されるデータが格納されている主側RAM74の記憶エリアのアドレスは、連続する「9105H」~「911AH」のアドレス範囲に設定されている。終了時コマンドに設定されるデータが格納されている主側RAM74の記憶エリアのうち、最上位ビットのデータが最上位集約用エリア74vに設定される記憶エリアのアドレスは、連続する「9109H」~「9114H」のアドレス範囲に設定されている。これにより、主側RAM74の記憶エリアに格納されているデータを終了時コマンドに設定するための処理構成を簡素化することができる。このように、AT継続カウンタ74uの下位エリア及び上位エリアのアドレスが設定されている第1集約範囲を「9109H」~「910CH」のアドレス範囲とすることにより、連続する「9109H」~「9114H」のアドレス範囲に第1集約範囲及び第2集約範囲が設定されている構成とすることができる。これにより、第1集約範囲及び第2集約範囲に含まれている主側RAM74の記憶エリアにおける最上位ビットのデータを最上位集約用エリア74vに集約するための処理構成を簡素化することができる。
(8)上記第1~第4の実施形態において、演出側MPU92が終了時コマンドを受信した場合には当該終了時コマンドに設定されている全ての情報を利用して終了時受信対応処理を実行する構成であるとともに、演出側MPU92が開始時コマンドを受信した場合には当該開始時コマンドに設定されている情報のうち一部の情報のみを利用して開始時受信対応処理を実行する構成としてもよい。
(9)上記第1~第4の実施形態において、受信した開始時コマンドに開始時受信対応処理では利用しないデータが設定されている場合であっても開始時コマンドから開始時受信対応処理に必要なデータのみを抽出する処理を実行せずに、演出側MPU92が受信した開始時コマンドをそのまま演出側RAM94のコマンド格納バッファ126に格納する構成としてもよい。また、受信した終了時コマンドに終了時受信対応処理では利用しないデータが設定されている場合であっても終了時コマンドから終了時受信対応処理に必要なデータのみを抽出する処理を実行せずに、演出側MPU92が受信した終了時コマンドをそのまま演出側RAM94のコマンド格納バッファ126に格納する構成としてもよい。これにより、受信した開始時コマンドをコマンド格納バッファ126に格納するまでの演出側MPU92の処理負荷を軽減することができるとともに、開始時コマンドを受信してから当該開始時コマンドがコマンド格納バッファ126に格納されて演出側MPU92にて利用可能になるまでに要する時間を短縮することができる。また、受信した終了時コマンドをコマンド格納バッファ126に格納するまでの演出側MPU92の処理負荷を軽減することができるとともに、終了時コマンドを受信してから当該終了時コマンドがコマンド格納バッファ126に格納されて演出側MPU92にて利用可能になるまでに要する時間を短縮することができる。
(10)上記第1~第4の実施形態において、開始時コマンドの第1~第15フレームFR1~FR15を含む変換後開始時コマンドが生成される構成としてもよく、終了時コマンドの第1~第15フレームFR1~FR15を含む変換後終了時コマンドが生成される構成としてもよい。演出側MPU92は、開始時コマンドを受信した場合、当該開始時コマンドに含まれている最上位集約フレームSFにおける第0~第5ビットのデータを対応する第2~第7フレームFR2~FR7の最上位ビットに設定することにより変換後開始時コマンドを生成し、当該生成した変換後開始時コマンドをコマンド格納バッファ126に格納する。これにより、開始時コマンドを変換後開始時コマンドに変換するための演出側MPU92の処理負荷を軽減しながら、第2~第7フレームFR2~FR7の最上位ビットに「1」がセットされ得る変換後開始時コマンドを演出側MPU92にて利用可能とすることができる。
演出側MPU92は、終了時コマンドを受信した場合、当該終了時コマンドに含まれている最上位集約フレームSFにおける第0~第5ビットのデータを対応する第2~第7フレームFR2~FR7の最上位ビットに設定することにより変換後終了時コマンドを生成し、当該生成した変換後終了時コマンドをコマンド格納バッファ126に格納する。これにより、終了時コマンドを変換後終了時コマンドに変換するための演出側MPU92の処理負荷を軽減しながら、第2~第7フレームFR2~FR7の最上位ビットに「1」がセットされ得る変換後終了時コマンドを演出側MPU92にて利用可能とすることができる。
(11)上記第1~第3の実施形態における共通コマンド送信処理において、共通コマンド送信処理における転送対象範囲の終了アドレス及び転送回数の情報に基づいて、当該転送対象範囲に含まれている記憶エリアに格納されているデータを送信待機バッファ112に設定する処理が実行される構成としてもよい。具体的には、上記第1の実施形態において、共通コマンド送信処理(図50)における転送対象範囲(「0001H」~「000DH」)の終了アドレスである「000DH」を主側RAM74の転送元カウンタ116にセットするとともに、当該転送対象範囲に含まれている記憶エリアの数である「13」を主側RAM74の転送回数カウンタ114にセットする。そして、転送回数カウンタ114の値が「0」となるまで、ステップS2811~ステップS2816の処理を繰り返し実行する。本構成では、ステップS2816にて転送元の記憶エリアを更新する場合に、転送元カウンタ116の値を1減算する。これにより、ステップS2816では、「000DH」→「000CH」→「000BH」→…→「0002H」→「0001H」の順番で、転送元エリアとなる記憶エリアのアドレスを更新することができる。このように、共通コマンド送信処理における転送対象範囲の終了アドレス及び転送回数の情報が設定されている状態において、転送回数カウンタ114の値が「0」となるまでステップS2811~ステップS2816の処理を繰り返し実行する構成とすることによっても、当該転送対象範囲に含まれている記憶エリアに格納されているデータを送信待機バッファ112に設定することができる。
(12)上記第1~第3の実施形態における最上位集約処理において、最上位集約処理における転送対象範囲の終了アドレス及び転送回数の情報に基づいて、当該転送対象範囲に含まれている記憶エリアの最上位ビットに格納されているデータを最上位集約用エリア74vに集約する処理が実行される構成としてもよい。具体的には、上記第1の実施形態において、最上位集約処理(図51)における転送対象範囲(「0001H」~「0006H」)の終了アドレスである「0006H」を主側RAM74の転送元カウンタ116にセットするとともに、当該転送対象範囲に含まれている記憶エリアの数である「6」を主側RAM74の転送回数カウンタ114にセットする。そして、転送回数カウンタ114の値が「0」となるまで、ステップS2906~ステップS2910の処理を繰り返し実行する。本構成では、ステップS2909にて転送元の記憶エリアを更新する場合に、転送元カウンタ116の値を1減算する。これにより、ステップS2909では、「0006H」→「0005H」→「0004H」→…→「0002H」→「0001H」の順番で、転送元エリアとなる記憶エリアのアドレスを更新することができる。このように、最上位集約処理における転送対象範囲の終了アドレス及び転送回数の情報が設定されている状態において、転送回数カウンタ114の値が「0」となるまでステップS2906~ステップS2910の処理を繰り返し実行する構成とすることによっても、当該転送対象範囲に含まれている記憶エリアに格納されているデータを送信待機バッファ112に設定することができる。
(13)上記第6の実施形態における共通コマンド送信処理(図86)において、開始時コマンドを送信する場合に、共通データテーブル73gにおける第11設定範囲の最後尾に存在する記憶エリアの開始アドレスと転送回数の情報とに基づいて、当該第11設定対象範囲に含まれている主側RAM74の記憶エリアに格納されているデータを送信待機バッファ112に設定する処理が実行される構成とするとともに、終了時コマンドを送信する場合に、共通データテーブル73gにおける第12設定範囲の最後尾に存在する記憶エリアの開始アドレスと転送回数の情報とに基づいて、当該第12設定対象範囲に含まれている主側RAM74の記憶エリアに格納されているデータを送信待機バッファ112に設定する処理が実行される構成としてもよい。具体的には、開始時コマンドを送信する場合、第11設定範囲(「9101H」~「910CH」)の最後尾(「910BH」~「910CH」)に存在する記憶エリアの開始アドレスである「910BH」を主側RAM74の転送元アドレスカウンタ132にセットするとともに、第11設定範囲に含まれている主側RAM74の記憶エリアの数である「6」を主側RAM74の転送回数カウンタ114にセットする。そして、転送回数カウンタ114の値が「0」となるまで、ステップS4915~ステップS4920の処理を繰り返し実行する。本構成では、ステップS4920にて転送元の記憶エリアを更新する場合に、転送元アドレスカウンタ132の値を2減算する。これにより、ステップS4920では、開始時コマンドを送信する場合に「910BH」→「9109H」→…→「9103H」→「9101H」の順番で、転送元アドレスカウンタ132に格納されているアドレスが更新される。このように、第11設定範囲の最後尾に存在する記憶エリアの開始アドレスと転送回数の情報とが設定されている状態において、転送回数カウンタ114の値が「0」となるまでステップS4915~ステップS4920の処理を繰り返し実行する構成とすることによっても、当該第11設定範囲に含まれている主側RAM74の記憶エリアに格納されているデータを送信待機バッファ112に設定することができる。また、終了時コマンドを送信する場合、第12設定範囲(「9109H」~「911AH」)の最後尾(「9119H」~「911AH」)に存在する記憶エリアの開始アドレスである「9119H」を主側RAM74の転送元アドレスカウンタ132にセットするとともに、第12設定範囲に含まれている主側RAM74の記憶エリアの数である「9」を主側RAM74の転送回数カウンタ114にセットする。そして、転送回数カウンタ114の値が「0」となるまで、ステップS4915~ステップS4920の処理を繰り返し実行する。上述したとおり、本構成では、ステップS4920にて転送元の記憶エリアを更新する場合に、転送元アドレスカウンタ132の値を2減算する。これにより、ステップS4920では、終了時コマンドを送信する場合に「9119H」→「9117H」→…→「910BH」→「9109H」の順番で、転送元アドレスカウンタ132に格納されているアドレスが更新される。このように、第12設定範囲の最後尾に存在する記憶エリアの開始アドレスと転送回数の情報とが設定されている状態において、転送回数カウンタ114の値が「0」となるまでステップS4915~ステップS4920の処理を繰り返し実行する構成とすることによっても、当該第12設定範囲に含まれている主側RAM74の記憶エリアに格納されているデータを送信待機バッファ112に設定することができる。
(14)上記第6の実施形態における最上位集約処理(図87)において、開始時コマンドを送信する場合に、共通データテーブル73gにおける第1集約範囲の最後尾に存在する記憶エリアの開始アドレスと転送回数の情報とに基づいて、当該第1集約範囲に含まれている主側RAM74の記憶エリアにおける最上位ビットに格納されているデータを最上位集約用エリア74vに設定する処理が実行される構成とするとともに、終了時コマンドを送信する場合に、共通データテーブル73gにおける第2集約範囲の最後尾に存在する記憶エリアの開始アドレスと転送回数の情報とに基づいて、当該第2集約範囲に含まれている主側RAM74の記憶エリアにおける最上位ビットに格納されているデータを最上位集約用エリア74vに設定する処理が実行される構成としてもよい。具体的には、開始時コマンドを送信する場合、第1集約範囲(「9101H」~「9104H」)の最後尾(「9103H」~「9104H」)に存在する記憶エリアの開始アドレスである「9103H」を主側RAM74の転送元アドレスカウンタ132にセットするとともに、第1集約範囲に含まれている主側RAM74の記憶エリアの数である「2」を主側RAM74の転送回数カウンタ114にセットする。そして、転送回数カウンタ114の値が「0」となるまで、ステップS5009~ステップS5013の処理を繰り返し実行する。本構成では、ステップS5012にて転送元の記憶エリアを更新する場合に、転送元アドレスカウンタ132の値を2減算する。これにより、ステップS5012では、開始時コマンドを送信する場合に「9103H」→「9101H」の順番で、転送元アドレスカウンタ132に格納されているアドレスが更新される。このように、第1集約範囲の最後尾に存在する記憶エリアの開始アドレスと転送回数の情報とが設定されている状態において、転送回数カウンタ114の値が「0」となるまでステップS5009~ステップS5013の処理を繰り返し実行する構成とすることによっても、当該第1集約範囲に含まれている主側RAM74の記憶エリアに格納されているデータを送信待機バッファ112に設定することができる。また、終了時コマンドを送信する場合、第2集約範囲(「910DH」~「9114H」)の最後尾(「9113H」~「9114H」)に存在する記憶エリアの開始アドレスである「9113H」を主側RAM74の転送元アドレスカウンタ132にセットするとともに、第2集約範囲に含まれている主側RAM74の記憶エリアの数である「4」を主側RAM74の転送回数カウンタ114にセットする。そして、転送回数カウンタ114の値が「0」となるまで、ステップS5009~ステップS5013の処理を繰り返し実行する。上述したとおり、本構成では、ステップS5012にて転送元の記憶エリアを更新する場合に、転送元アドレスカウンタ132の値を2減算する。これにより、ステップS5012では、終了時コマンドを送信する場合に「9113H」→「9111H」→「910FH」→「910DH」の順番で、転送元アドレスカウンタ132に格納されているアドレスが更新される。このように、第2集約範囲の最後尾に存在する記憶エリアの開始アドレスと転送回数の情報とが設定されている状態において、転送回数カウンタ114の値が「0」となるまでステップS5009~ステップS5013の処理を繰り返し実行する構成とすることによっても、当該第2集約範囲に含まれている主側RAM74の記憶エリアに格納されているデータを送信待機バッファ112に設定することができる。
(15)上記各実施形態において、主側MPU72から演出側MPU92に送信されるコマンド(例えば開始時コマンド及び終了時コマンド)においてヘッダHDのデータが設定されているフレーム(第1フレームFR1)の最上位ビットには「0」が設定されているとともに、ヘッダHDのデータが設定されているフレーム以外のフレームの最上位ビットには「1」がセットされている構成としてもよい。当該構成においても、フレームにおける最上位ビットのデータに基づいて、ヘッダHDのデータが設定されているフレームとヘッダHDのデータが設定されているフレーム以外のフレームとを識別可能とすることができる。
(16)上記各実施形態において、主側MPU72から演出側MPU92に送信されるコマンド(例えば開始時コマンド及び終了時コマンド)においてヘッダHDのデータが設定されているフレーム(第1フレームFR1)とヘッダHDのデータが設定されているフレーム以外のフレームとを識別可能とする「0」又は「1」のデータが設定されるビットが第0~第6ビットのいずれかに設定されている構成としてもよい。具体的には、ヘッダHDのデータが設定されているフレームの最下位ビット(第0ビット)には「1」が設定されているとともに、ヘッダHDのデータが設定されているフレーム以外のフレームの最下位ビット(第0ビット)には「0」が設定されている。当該構成においても、フレームにおける最下位ビットのデータに基づいて、ヘッダHDのデータが設定されているフレームとヘッダHDのデータが設定されているフレーム以外のフレームとを識別可能とすることができる。
(17)上記各実施形態において、主側RAM74における1バイトの記憶エリア毎にアドレスが設定されている構成に限定されることはなく、複数バイトの記憶エリア毎にアドレスが設定されている構成としてもよい。具体的には、主側RAM74には2バイトの記憶エリアが複数設けられており、主側RAM74において2バイトの記憶エリア毎にアドレスが設定されている。上記第1の実施形態において既に説明したとおり、主側MPU72から演出側MPU92に送信されるコマンド(具体的には開始時コマンド及び終了時コマンド)は1バイトのフレームFRmを複数含んでいる。主側RAM74における2バイトの記憶エリアに格納されている情報は、コマンドにおいて連続する2つのフレームに亘って設定される。なお、主側RAM74に3バイト以上の所定のバイト数からなる記憶エリアが複数設けられており、主側RAM74において当該所定のバイト数の記憶エリア毎にアドレスが設定されている構成としてもよい。
(18)上記各実施形態において、主側RAM74における1バイトの記憶エリア毎に設定されているアドレスのデータ容量が2バイトである構成に限定されることはなく、当該アドレスのデータ容量が2バイトよりも小さい構成としてもよく、当該アドレスのデータ容量が2バイトよりも大きい構成としてもよい。主側RAM74における1バイトの記憶エリア毎に2バイトよりも大きいバイト数(例えば3バイト)のアドレスが設定されている構成とすることにより、主側RAM74に設けることが可能な1バイトの記憶エリアの数を増加させることができる。また、主側RAM74における1バイトの記憶エリア毎に2バイトよりも小さいバイト数(例えば1バイト)のアドレスが設定されている構成とすることにより、開始時コマンド及び終了時コマンドを送信する場合に参照される共通データテーブル73f,73gに設定されるアドレスのデータ容量を低減することができるとともに、当該共通データテーブル73f,73gのデータ容量を低減することができる。
(19)上記各実施形態において、主側RAM74に設けられている1バイトの記憶エリアにおける最上位ビット以外のビットの集約が行われる構成としてもよい。具体的には、主側RAM74には、1バイトの記憶エリアとして、最下位ビット(第0~第7ビットにおける第0ビット)に第2区間フラグ76aが設定されている第2区間エリア、最下位ビットに第1エンディングフラグ76bが設定されている第1エンディングエリア、及び最下位ビットに第2エンディングフラグ76cが設定されている第2エンディングエリアが設けられている。当該3つのエリアは、主側RAM74において連続するアドレス範囲に設けられている。主側MPU72は、第2区間フラグ76a、第1エンディングフラグ76b及び第2エンディングフラグ76cに格納されているデータを演出側MPU92に送信するコマンドに設定する場合、主側RAM74において連続するアドレス範囲に設けられている当該3つのエリアにおける最下位ビットに格納されている情報を集約した1バイトの集約データを生成し、当該集約データをコマンドに設定する。これにより、当該3つのエリアに格納されている合計3バイトのデータをコマンドに設定する場合と比較して、演出側MPU92に送信するコマンドのデータ容量を低減することができる。
(20)上記各実施形態において、主側MPU72から演出側MPU92に送信されるコマンドの種類を示す情報(ヘッダHDのデータ)が先頭のフレーム以外のフレームに設定されている構成としてもよい。具体的には、開始時コマンドにおける最後尾のフレームに開始時コマンドであることを示す情報が設定されている構成としてもよい。本構成においても、開始時コマンドにおける先頭のフレームの最上位ビットに「1」がセットされているとともに、先頭以外のフレームの最上位ビットに「0」がセットされている構成とすることにより、最上位ビットに格納されている情報に基づいて先頭のフレームであるか否かを識別可能とすることができる。
(21)上記第7の実施形態において、兼用表示部66における全消灯状態の開始契機は、ゲームが開始されるという事象に限定されることはない。具体的には、役の抽選処理(図18)が開始されるという事象を契機として全消灯状態が開始される構成としてもよい。兼用表示部66における停止順対応表示の有無とは無関係に兼用表示部66を一時的に全消灯状態とする構成において、停止順対応表示の有無が特定されるタイミング、すなわち役の抽選処理(図18)の抽選結果が特定されるタイミングよりも前のタイミングで全消灯状態を開始させることができる。これにより、役の抽選処理(図18)の抽選結果が特定されるタイミング、又は当該タイミングよりも後のタイミングで全消灯状態を開始させる構成と比較して、ストップボタン42~44の操作が有効化されるタイミングを基準として全消灯状態の終了タイミングを後ろにずらすことなく、全消灯状態の継続時間を延ばすことができる。
(22)上記第8の実施形態において、兼用表示部66における全消灯状態の継続時間が変動する構成としてもよい。具体的には、1つ目の停止指令が発生したことに基づいて全消灯状態が終了する構成としてもよい。上記第8の実施形態では、既に説明したとおり、兼用表示部66にて停止順対応表示が実行されないゲームであることが特定された場合に、兼用表示部66が一時的に全消灯状態となる。1つ目の停止指令が発生するタイミングは、遊技者がストップボタン42~44を操作するタイミングに応じて変動する。1つ目の停止指令が発生したことに基づいて全消灯状態が終了する構成とすることにより、全消灯状態の継続時間を計測するためのカウンタを不具備としながら、ストップボタン42~44の操作が有効化された後に全消灯状態を終了することができるとともに、1つ目の停止指令が発生してから全てのリールが停止するまでの間に「00」の付与数表示を実行することができる。
(23)上記第8の実施形態において、兼用表示部66における全消灯状態の開始契機は、リール32L,32M,32Rの加速制御が開始されるという事象に限定されることはない。具体的には、リール32L,32M,32Rの加速制御が約150ミリ秒の前半加速期間と、当該前半加速期間に続く約150ミリ秒の後半加速期間とにおいて実行される構成において、前半加速期間が終了するという事象が発生したことを契機として兼用表示部66を全消灯状態とする構成としてもよい。兼用表示部66にて停止順対応表示が実行されないゲームのみにおいて兼用表示部66を一時的に全消灯状態とする構成においては、ストップボタン42~44の操作が有効化されるタイミングよりも後のタイミングにおいて全消灯状態が終了する構成とすることも可能である。このため、リール32L,32M,32Rの加速制御が開始されるタイミングよりも後に発生する事象を契機として全消灯状態が開始される構成としても、遊技者や遊技ホールの管理者が認識可能な態様で兼用表示部66を全消灯状態とすることができる。
(24)上記第8の実施形態において、ストップボタン42~44の操作が有効化されるタイミング、又は当該タイミングよりも前のタイミングにて兼用表示部66の全消灯状態が終了する構成としてもよい。遊技者や遊技ホールの管理者が認識できる態様で兼用表示部66を全消灯状態とする構成であれば、ゲームが開始前からゲーム終了後までの期間に亘って兼用表示部66にて「00」の付与数表示が継続されてしまうことを防止できる。
(25)上記各実施形態において、比率表示の開始操作がリセットボタン56の操作ではない構成としてもよい。具体的には、スロットマシン10の動作電力が供給されているとともにメイン処理(図10)のステップS107における設定値更新処理が実行されていない状況において、前面扉12が開放状態とされていずれかのストップボタン42~44が操作された場合に比率表示の開始操作が行われたことを主側MPU72が把握する構成としてもよい。これにより、全部クリア処理(ステップS106)を実行するためのリセットボタン56の操作及び設定値更新処理(ステップS107)にて設定値を更新するためのリセットボタン56の操作と、比率表示の開始操作とを識別し易くすることができる。
(26)上記各実施形態において、受信回路87がヘッダHDを受信してからフッタFTを受信することなく次のヘッダHDを受信した場合に通信エラーが発生したことを把握する構成としてもよい。受信回路87は通信エラーの発生を特定した場合、送信回路に対して再送要求信号を出力する。送信回路は、コマンドの送信が終了した後、再送要求信号を受信しなかった場合には、今回送信が終了したコマンドのデータを送信待機バッファ112から削除する。そして、送信待機バッファ112に次のコマンドが設定されている場合には、当該次のコマンドの送信を開始する。一方、コマンドの送信が終了した後に再送要求信号を受信した場合には、送信待機バッファ112に格納されているコマンドを再び送信する。受信回路87には連続して発生した通信エラーの回数をカウントする通信エラーカウンタが設けられている。通信エラーカウンタには「0」~「3」の数値情報が格納される。受信回路87は、再送要求信号を出力した場合に通信エラーカウンタの値を1加算し、当該再送要求信号の出力後に受信したコマンドについて通信エラーの発生が確認されなかった場合に通信エラーカウンタを「0」クリアする。演出側MPU92は、通信エラーカウンタの値が「3」に達した場合、通信エラー報知が行われるように上部ランプ61の発光制御、スピーカ62の音出力制御及び画像表示装置63の表示制御を行う。これにより、主側MPU72から演出側MPU92へのコマンドの送信が正常に行われない状態であることを遊技ホールの管理者に報知することができる。このように、受信回路87がヘッダHDを受信してからフッタFTを受信することなく次のヘッダHDを受信した場合に通信エラーが発生したことを把握する構成とすることにより、主側MPU72が送信待機バッファ112に設定したコマンドに含まれていたデータとは異なるデータが演出側MPU92にて利用されてしまうことを防止することができる。
(27)画像表示装置63にてリール32L,32M,32Rの停止順報知が実行されるとともに兼用表示部66にてリール32L,32M,32Rの停止順対応表示が実行されるゲームにおいて、画像表示装置63における停止順報知は当該ゲームにおいて全てのリール32L,32M,32Rに対して停止指令が発生した場合に終了するとともに、兼用表示部66における停止順対応表示は遊技終了時の対応処理(図32)におけるステップS1510にて主側RAM74のゲーム中フラグが「0」クリアされた場合に終了する構成としてもよい。また、兼用表示部66における停止順対応表示は当該ゲームにおいて全てのリール32L,32M,32Rに対して停止指令が発生した場合に終了するとともに、画像表示装置63における停止順報知は遊技終了時の対応処理(図32)におけるステップS1510にて主側RAM74のゲーム中フラグが「0」クリアされた場合に終了する構成としてもよい。
(28)上記各実施形態において、JRS命令でジャンプできる範囲が、「当該JRS命令が設定されているプログラムアドレス+1-p(pは2~16のいずれかの整数)」~「当該JRS命令が設定されているプログラムアドレス+1+q(qは1~15のいずれかの整数)」の範囲である構成としてもよい。このうち、「+1」はJRS命令自体の語長(1バイト)に対応するものである。また、「-p~q」は符号1ビット及び数値4ビットの合計5ビットで指定可能な数値範囲である。
(29)上記各実施形態において、JRS命令のジャンプ先として指定できるアドレスとして当該JRS命令が設定されているプログラムアドレスよりも値が大きいプログラムアドレスのみが設定されている構成としてもよい。具体的には、上記第1の実施形態において既に説明したとおり、JRS命令では、当該JRS命令が設定されているプログラムアドレス及び当該JRS命令に設定されている差分の情報(5ビット)に基づいてジャンプ先のプログラムアドレス(2バイト)が相対的に特定される。本構成において、JRS命令に設定されている差分の情報(5ビット)に符号のビットは含まれておらず、当該差分の情報は5ビットの数値情報(「0」~「31」のいずれか)である。これにより、JRS命令でジャンプできる範囲を、「(当該JRS命令が設定されているプログラムアドレス)+1+0」~「(当該JRS命令が設定されているプログラムアドレス)+1+31」の範囲とすることができる。また、上記各実施形態において、JRS命令のジャンプ先として指定できるアドレスとして当該JRS命令が設定されているプログラムアドレスよりも値が小さいプログラムアドレスのみが設定されている構成としてもよい。本構成において、JRS命令に設定されている差分の情報(5ビット)に符号のビットは含まれておらず、当該差分の情報は5ビットの数値情報(「0」~「31」のいずれか)である。これにより、JRS命令でジャンプできる範囲を、「(当該JRS命令が設定されているプログラムアドレス)-1-0」~「(当該JRS命令が設定されているプログラムアドレス)-1-31」の範囲とすることができる。
(30)上記各実施形態において、JR命令でジャンプできる範囲が、「当該JR命令が設定されているプログラムアドレス+2-s(sは3~128のいずれかの整数)」~「当該JRS命令が設定されているプログラムアドレス+2+t(tは1~127のいずれかの整数)」の範囲である構成としてもよい。このうち、「+2」はJR命令自体の語長(2バイト)に対応するものである。また、「-s~t」は符号1ビット及び数値7ビットの合計8ビットで指定可能な数値範囲である。
(31)上記各実施形態において、JR命令のジャンプ先として指定できるアドレスとして当該JR命令が設定されているプログラムアドレスよりも値が大きいプログラムアドレスのみが設定されている構成としてもよい。具体的には、上記第1の実施形態において既に説明したとおり、JR命令では、当該JR命令が設定されているプログラムアドレス及び当該JR命令に設定されている差分の情報(8ビット)に基づいてジャンプ先のプログラムアドレス(2バイト)が相対的に特定される。本構成において、JR命令に設定されている差分の情報(8ビット)に符号のビットは含まれておらず、当該差分の情報は8ビットの数値情報(「0」~「255」のいずれか)である。これにより、JR命令でジャンプできる範囲を、「(当該JR命令が設定されているプログラムアドレス)+2+0」~「(当該JRS命令が設定されているプログラムアドレス)+2+255」の範囲とすることができる。また、上記各実施形態において、JR命令のジャンプ先として指定できるアドレスとして当該JR命令が設定されているプログラムアドレスよりも値が小さいプログラムアドレスのみが設定されている構成としてもよい。本構成において、JR命令に設定されている差分の情報(8ビット)に符号のビットは含まれておらず、当該差分の情報は8ビットの数値情報(「0」~「255」のいずれか)である。これにより、JR命令でジャンプできる範囲を、「(当該JR命令が設定されているプログラムアドレス)-2-0」~「(当該JR命令が設定されているプログラムアドレス)-2-255」の範囲とすることができる。
(32)上記各実施形態において、疑似ボーナス状態ST4の終了条件がゲーム数で規定されている構成に限定されることはなく、疑似ボーナス状態ST4の終了条件が払出枚数で規定されている構成、疑似ボーナス状態ST4の終了条件が純増枚数で規定されている構成、又は疑似ボーナス状態ST4の終了条件が条件付き純増枚数で規定されている構成としてもよい。疑似ボーナス状態ST4の終了条件が払出枚数で規定されている構成において、疑似ボーナス状態ST4は、疑似ボーナス状態ST4が継続している状況で実行されたゲームにより付与された遊技媒体の合計数が終了基準の払出枚数(例えば「100」)となった場合、又は第2区間SC2のエンディング条件が成立した場合に終了する。疑似ボーナス状態ST4の終了条件が純増枚数で規定されている構成において、疑似ボーナス状態ST4は、「疑似ボーナス状態ST4が継続されている状況において実行されたゲームにより付与された遊技媒体の合計数(遊技媒体の付与が発生していない状況では「0」)」から「疑似ボーナス状態ST4が継続されている状況でゲームを実行するために消化された遊技媒体の合計数(ゲームが実行されていない状況では「0」)」を減算した値(疑似ボーナス状態ST4における合計純増枚数)が終了基準の純増枚数(例えば「50」)に達した場合、又は第2区間SC2のエンディング条件が成立した場合に終了する。疑似ボーナス状態ST4の終了条件が条件付き純増枚数で規定されている構成において、疑似ボーナス状態ST4は、当該疑似ボーナス状態ST4における遊技媒体の条件付き純増枚数が終了基準の条件付き純増枚数(例えば「50」)に達した場合、又は第2区間SC2のエンディング条件が成立した場合に終了する。疑似ボーナス状態ST4における遊技媒体の条件付き純増枚数とは、「疑似ボーナス状態ST4が継続している状況で実行されたゲームにより付与された遊技媒体の合計数(遊技媒体の付与が発生していない状況では「0」)」から「疑似ボーナス状態ST4が継続されている状況でゲームを実行するために消化された遊技媒体の合計数(ゲームが実行されていない状況では「0」)」を減算した値を疑似ボーナス状態ST4における差枚数とした場合において、当該疑似ボーナス状態ST4における差枚数の最小値を基準値として、当該基準値からの上記疑似ボーナス状態ST4における差枚数の増加分の枚数である。
(33)上記各実施形態において、AT状態ST5の終了条件がゲーム数で規定されている構成に限定されることはなく、AT状態ST5の終了条件が払出枚数で規定されている構成、AT状態ST5の終了条件が純増枚数で規定されている構成、又はAT状態ST5の終了条件が条件付き純増枚数で規定されている構成としてもよい。AT状態ST5の終了条件が払出枚数で規定されている構成において、AT状態ST5は、AT状態ST5が継続している状況で実行されたゲームにより付与された遊技媒体の合計数が終了基準の払出枚数(例えば「100」)となった場合、又は第2区間SC2のエンディング条件が成立した場合に終了する。AT状態ST5の終了条件が純増枚数で規定されている構成において、AT状態ST5は、「AT状態ST5が継続されている状況において実行されたゲームにより付与された遊技媒体の合計数(遊技媒体の付与が発生していない状況では「0」)」から「AT状態ST5が継続されている状況でゲームを実行するために消化された遊技媒体の合計数(ゲームが実行されていない状況では「0」)」を減算した値(AT状態ST5における合計純増枚数)が終了基準の純増枚数(例えば「50」)に達した場合、又は第2区間SC2のエンディング条件が成立した場合に終了する。AT状態ST5の終了条件が条件付き純増枚数で規定されている構成において、AT状態ST5は、当該AT状態ST5における遊技媒体の条件付き純増枚数が終了基準の条件付き純増枚数(例えば「50」)に達した場合、又は第2区間SC2のエンディング条件が成立した場合に終了する。AT状態ST5における遊技媒体の条件付き純増枚数とは、「AT状態ST5が継続している状況で実行されたゲームにより付与された遊技媒体の合計数(遊技媒体の付与が発生していない状況では「0」)」から「AT状態ST5が継続されている状況でゲームを実行するために消化された遊技媒体の合計数(ゲームが実行されていない状況では「0」)」を減算した値をAT状態ST5における差枚数とした場合において、当該AT状態ST5における差枚数の最小値を基準値として、当該基準値からの上記AT状態ST5における差枚数の増加分の枚数である。
なお、AT状態ST5の終了条件が払出枚数で規定されている構成において上記終了基準の払出枚数を増加させるか否かを判定する上乗せ抽選が実行され、当該上乗せ抽選にて上乗せ当選となった場合には当該終了基準の払出枚数に所定の枚数(例えば「10」)が上乗せされる構成としてもよい。また、AT状態ST5の終了条件が純増枚数で規定されている構成において上記終了基準の純増枚数を増加させるか否かを判定する上乗せ抽選が実行され、当該上乗せ抽選にて上乗せ当選となった場合には当該終了基準の純増枚数に所定の枚数(例えば「10」)が上乗せされる構成としてもよい。さらにまた、AT状態ST5の終了条件が条件付き純増枚数で規定されている構成において上記終了基準の条件付き払出枚数を増加させるか否かを判定する上乗せ抽選が実行され、当該上乗せ抽選にて上乗せ当選となった場合には当該終了基準の条件付き純増枚数に所定の枚数(例えば「10」)が上乗せされる構成としてもよい。
(34)上記各実施形態において、主側ROM73のデータ構成は、1バイトの記憶エリア毎に2バイトのアドレスが設定されている構成に限定されることはなく、例えば2バイトの記憶エリア毎に2バイトのアドレスが設定されている構成としてもよく、1バイトの記憶エリア毎に1バイトのアドレスが設定されている構成としてもよい。
(35)有効ラインがメインラインMLの1本のみである構成に限定されることはなく、有効ラインが2本、3本又は4本以上である構成としてもよい。この場合、ベットされた遊技媒体の数が多いほど有効ラインの数が多くなる構成としてもよく、ベットされた遊技媒体の数とは無関係に最大数の有効ラインが設定される構成としてもよい。
(36)主側MPU72から演出側MPU92に送信される情報の種類は上記各実施形態におけるものに限定されることはなく、例えば遊技媒体の付与に対応する入賞が成立した場合、その入賞により付与される遊技媒体の数の情報が主側MPU72から演出側MPU92に送信される構成としてもよい。この場合、入賞により付与される遊技媒体の数の情報を画像表示装置63などにおいて報知することが可能となる。また、全てのリール32L,32M,32Rが停止していない状況であっても一部のリール32L,32M,32Rの回転が停止される場合又は停止された場合に、それに対応する情報が主側MPU72から演出側MPU92に送信される構成としてもよい。この場合、リール32L,32M,32Rの回転状況に対応する演出を画像表示装置63などにおいて行うことが可能となる。
(37)上記各実施形態では、小役入賞が成立した場合にメダルを払い出す特典を付与する構成としたが、かかる構成に限定されるものではなく、遊技者に何らかの特典が付与される構成であればよい。例えば、小役入賞が成立した場合にメダル以外の賞品を払い出す構成であってもよい。また、現実のメダル投入やメダル払出機能を有さず、遊技者の所有するメダルをクレジット管理するスロットマシンにおいては、クレジットされたメダルの増加が特典の付与に相当する。
(38)本発明を所謂Bタイプのスロットマシンに適用してもよく、またCタイプ、AタイプとCタイプの複合タイプ、BタイプとCタイプの複合タイプ、さらにはRTゲーム、CTゲーム又はATゲームを備えたタイプなど、どのようなスロットマシンにこの発明を適用してもよい。また、遊技者に有利なボーナス状態が存在している構成としてもよい。
(39)各リール32L,32M,32Rの図柄としては、絵、数字、文字等に限らず、幾何学的な線や図形等であってもよい。また、光や色等によって図柄を構成することも可能であるし、立体的形状等によっても図柄を構成し得るし、これらを複合したものであっても図柄を構成し得る。即ち、図柄は識別性を有した情報としての機能を有するものであればよい。
(40)上記各実施形態では、スロットマシン10について具体化した例を示したが、遊技媒体として遊技球を利用して遊技が行われるパチンコ機に対して適用してもよく、スロットマシンとパチンコ機とを融合した形式の遊技機に適用してもよい。
<上記実施形態から抽出される発明群について>
以下、上述した実施形態から抽出される発明群の特徴について、必要に応じて効果等を示しつつ説明する。なお、以下においては理解の容易のため上記実施形態において対応する構成を括弧書き等で適宜示すが、この括弧書き等で示した具体的構成に限定されるものではない。
<特徴A群>
特徴A1.アドレスと対応付けて設定された記憶領域(記憶エリア)を複数有する所定記憶手段(主側ROM73又は主側RAM74)と、
当該所定記憶手段に設けられた複数の記憶領域のうち所定範囲(第1~第3の実施形態において開始時コマンド又は終了時コマンドを送信する場合における主側RAM74の「0001H」~「000DH」のアドレス範囲、第3の実施形態においてBB移行コマンドを送信する場合における主側RAM74の「0021H」~「0028H」のアドレス範囲、第4の実施形態において開始時コマンド又は終了時コマンドを送信する場合における共通データテーブル73fの「9101H」~「911AH」のアドレス範囲、第6の実施形態において開始時コマンドを送信する場合における共通データテーブル73gの「9101H」~「910CH」のアドレス範囲、終了時コマンドを送信する場合における共通データテーブル73gの「9109H」~「911AH」のアドレス範囲)の記憶領域に記憶されている情報を含む各種情報を利用して設定された所定情報群(開始時コマンド、終了時コマンド、BB移行コマンド)を送信する所定送信手段(主側MPU72の共通コマンド送信処理を実行する機能)と、
を備え、
前記所定範囲の記憶領域は、連続するアドレス範囲に設定されていることを特徴とする遊技機。
特徴A1によれば、所定範囲の記憶領域が連続するアドレス範囲に設定されていることにより、当該所定範囲の記憶領域を把握し易くすることができる。これにより、所定情報群を送信する場合に、所定範囲の記憶領域に記憶されている情報を利用して所定情報群に情報を設定するための処理構成を簡素化することができる。
特徴A2.前記所定情報群は、前記所定範囲の記憶領域に記憶されている情報を利用して前記所定情報群に設定される所定単位データ(第1~第4の実施形態における開始時コマンド及び終了時コマンドの第2~第7フレームFR2~FR7及び第9~第14フレームFR9~FR14、第6の実施形態における開始時コマンドの第2~第6フレームFR2~FR6、終了時コマンドの第2フレームFR2及び第4~第10フレームFR4~FR10)を含む単位データ(1バイト単位のフレームFRm)を複数有しており、
前記所定情報群において先頭の前記単位データにおける所定位置のビット(最上位ビット)の情報は特定ビット情報(「1」という情報)であり、
前記所定情報群において先頭以外の前記単位データにおける前記所定位置のビットの情報は前記特定ビット情報以外の情報(「0」という情報)であることを特徴とする特徴A1に記載の遊技機。
特徴A2によれば、所定位置のビットの情報に基づいて、所定情報群における先頭の単位データと先頭以外の単位データとを識別可能とすることができる。これにより、所定情報群と他の情報群との区切り位置を把握可能とすることができる。
特徴A3.前記単位データにおける前記所定位置のビットは、前記単位データにおける最上位のビット(第0~第7ビットにおける第7ビット)であることを特徴とする特徴A2に記載の遊技機。
特徴A3によれば、最上位のビットの情報に基づいて、所定情報群における先頭の単位データと先頭以外の単位データとを識別可能とすることができる。所定位置のビットを最上位のビットとすることにより、先頭の単位データと先頭以外の単位データとを識別するために参照されるビットの位置を把握し易い位置とすることができる。これにより、先頭の単位データと先頭以外の単位データとを識別するための処理構成を簡素化することができる。
特徴A4.前記所定送信手段は、前記所定範囲の記憶領域に格納されている情報を前記所定情報群に設定する所定情報設定手段(第1~第3の実施形態における主側MPU72の共通コマンド送信処理を実行する機能)を備えていることを特徴とする特徴A1乃至A3のいずれか1に記載の遊技機。
特徴A4によれば、連続するアドレス範囲に設定されている所定範囲の記憶領域に格納されている情報を含む所定情報群を送信することができる。
特徴A5.前記所定情報設定手段は、前記所定範囲に含まれている複数の記憶領域のうち少なくとも一部の記憶領域を含む範囲である集約対象範囲(第1~第3の実施形態における主側RAM74の「0001H」~「0006H」のアドレス範囲、第3の実施形態における主側RAM74の「0021H」~「0027H」のアドレス範囲)に含まれている複数の記憶領域における所定位置のビットに格納されている情報が集約された集約情報(最上位集約用エリア74vに設定される情報、BB最上位集約用エリア74βに設定される情報)を前記所定情報群に設定する集約設定手段(第1~第3の実施形態における主側MPU72の最上位集約処理を実行する機能)を備えていることを特徴とする特徴A4に記載の遊技機。
特徴A5によれば、所定情報群を受信した場合に、当該所定情報群に設定されている集約情報に基づいて、集約対象範囲に含まれている複数の記憶領域における所定位置のビットに格納されていた情報を把握可能とすることができる。上記特徴A1の構成を備え、所定範囲の記憶領域が連続するアドレス範囲に設定されている構成において、集約対象範囲は、所定範囲に含まれている複数の記憶領域のうち少なくとも一部の記憶領域を含む範囲である。このため、集約対象範囲に含まれている記憶領域を把握し易くすることができる。これにより、集約情報を生成するための処理構成を簡素化することができる。
特徴A6.前記所定範囲の記憶領域のうち前記集約対象範囲には含まれていない記憶領域(第1~第3の実施形態では「0008H」~「000DH」のアドレス範囲に含まれている主側RAM74の記憶エリア)における前記所定位置のビットに格納される情報は特定ビット情報(「1」という情報)以外の情報(「0」という情報)であり、当該所定位置のビットに格納されている前記特定ビット情報以外の情報の集約は行われないことを特徴とする特徴A5に記載の遊技機。
特徴A6によれば、所定範囲の記憶領域のうち集約対象範囲には含まれていない記憶領域については所定位置のビットに格納されている情報の集約が行われない構成とすることにより、所定範囲に含まれている記憶領域の全てについて所定位置のビットに格納されている情報の集約が行われる構成と比較して、所定位置のビットに格納されている情報の集約を行うための処理負荷を軽減することができる。
特徴A7.前記集約対象範囲には、前記所定位置のビットに特定ビット情報(「1」という情報)が格納され得る記憶領域(AT継続カウンタ74uの下位エリア、継続ゲーム数カウンタ74rの下位エリア、合計獲得数カウンタ74sの下位エリア)が含まれていることを特徴とする特徴A5又はA6に記載の遊技機。
特徴A7によれば、所定位置のビットに特定ビット情報が格納され得る記憶領域を含む範囲を集約対象範囲とすることにより、所定情報群を受信した後に、集約対象範囲に含まれている記憶領域における所定位置のビットに特定ビット情報が格納されていたか否かを把握可能とすることができる。
特徴A8.前記所定範囲の記憶領域には、前記集約情報が設定される記憶領域(最上位集約用エリア74v、BB最上位集約用エリア74β)が含まれていることを特徴とする特徴A5乃至A7のいずれか1に記載の遊技機。
特徴A8によれば、上記特徴A1の構成を備え、所定範囲の記憶領域が連続するアドレス範囲に設定されている構成において、当該所定範囲の記憶領域には集約情報が設定される記憶領域が含まれている。このため、所定範囲の記憶領域に格納されている情報を所定情報群に設定する処理を実行することにより集約情報を所定情報群に設定することができる。これにより、集約情報を所定情報群に設定するための処理構成を簡素化することができる。
特徴A9.前記所定範囲の記憶領域には、前記所定情報群に設定される情報が格納されている記憶領域を特定するためのアドレス情報(主側RAM74の記憶エリアを特定するためのアドレス情報)が記憶されており、
前記所定送信手段は、前記所定範囲の記憶領域に記憶されている前記アドレス情報により特定される記憶領域(主側RAM74の記憶エリア)に格納されている情報を前記所定情報群に設定する特定情報設定手段(第4~第6の実施形態における主側MPU72の共通コマンド送信処理を実行する機能)を備えていることを特徴とする特徴A1乃至A3のいずれか1に記載の遊技機。
特徴A9によれば、所定範囲の記憶領域に設定されているアドレス情報により特定される記憶領域に格納されている情報を含む所定情報群を送信することができる。所定情報群に設定される情報が格納されている記憶領域を特定するためのアドレスが連続していない場合においても、連続する所定範囲の記憶領域に記憶されているアドレス情報により所定情報群に設定される情報が格納されている記憶領域を特定する構成とすることにより、所定情報群に設定される情報が格納されている記憶領域を把握し易くすることができる。これにより、所定情報群に情報を設定するための処理構成を簡素化することができる。
特徴A10.前記特定情報設定手段は、前記所定範囲に含まれている複数の記憶領域のうち少なくとも一部の記憶領域を含む範囲である集約対象範囲(第4の実施形態における共通データテーブル73fの「9101H」~「910CH」、第6の実施形態において開始時コマンドを送信する場合における共通データテーブル73gの第1集約範囲、終了時コマンドを送信する場合における共通データテーブル73gの第2集約範囲)に含まれている複数の記憶領域に記憶されている前記アドレス情報により特定される記憶領域における所定位置のビット(最上位ビット)に格納されている情報が集約された集約情報(最上位集約用エリア74vに設定される情報)を前記所定情報群に設定する集約設定手段(第4及び第6の実施形態における主側MPU72の最上位集約処理を実行する機能)を備えていることを特徴とする特徴A9に記載の遊技機。
特徴A10によれば、所定情報群を受信した場合に、当該所定情報群に設定されている集約情報に基づいて、集約対象範囲に含まれている複数の記憶領域に記憶されているアドレス情報により特定される記憶領域における所定位置のビットに格納されていた情報を把握可能とすることができる。上記特徴A1の構成を備え、所定範囲の記憶領域が連続するアドレス範囲に設定されている構成において、集約対象範囲は、所定範囲に含まれている複数の記憶領域のうち少なくとも一部の記憶領域を含む範囲である。このため、集約対象範囲に含まれている記憶領域を把握し易くすることができる。これにより、集約情報を生成するための処理構成を簡素化することができる。
特徴A11.前記所定範囲の記憶領域のうち前記集約対象範囲には含まれていない記憶領域(第4の実施形態では「910FH」~「911AH」のアドレス範囲に格納されているアドレス情報により特定される記憶エリア、第6の実施形態において開始時コマンドを送信する場合には「9105H」~「910CH」のアドレス範囲に格納されているアドレス情報により特定される記憶エリア、終了時コマンドを送信する場合には「9109H」~「910CH」及び「9115H」~「911AH」のアドレス範囲に格納されているアドレス情報により特定される記憶エリア)に記憶されているアドレス情報により特定される記憶領域における前記所定位置のビットに格納される情報は特定ビット情報(「1」という情報)以外の情報(「0」という情報)であり、当該所定位置のビットに格納されている前記特定ビット情報以外の情報の集約は行われないことを特徴とする特徴A10に記載の遊技機。
特徴A11によれば、所定範囲の記憶領域のうち集約対象範囲には含まれていない記憶領域に記憶されているアドレス情報により特定される記憶領域については所定位置のビットに格納されている情報の集約が行われない構成とすることにより、所定範囲に含まれている記憶領域に記憶されているアドレス情報により特定される記憶領域の全てについて所定位置のビットに格納されている情報の集約が行われる構成と比較して、所定位置のビットに格納されている情報の集約を行うための処理負荷を軽減することができる。
特徴A12.前記集約対象範囲には、前記所定位置のビットに特定ビット情報(「1」という情報)が格納され得る記憶領域(AT継続カウンタ74uの下位エリア、継続ゲーム数カウンタ74rの下位エリア、合計獲得数カウンタ74sの下位エリア)を特定するためのアドレス情報が記憶されている記憶領域が含まれていることを特徴とする特徴A10又はA11に記載の遊技機。
特徴A12によれば、所定位置のビットに特定ビット情報が格納され得る記憶領域を特定するためのアドレス情報が記憶されている記憶領域を含む範囲を集約対象範囲とすることにより、所定情報群を受信した後に、集約対象範囲の記憶領域に記憶されているアドレス情報により特定される記憶領域における所定位置のビットに特定ビット情報が格納されていたか否かを把握可能とすることができる。
特徴A13.前記所定範囲の記憶領域には、前記集約情報が設定される記憶領域(最上位集約用エリア74v、BB最上位集約用エリア74β)を特定するためのアドレス情報が記憶されている記憶領域が含まれていることを特徴とする特徴A10乃至A12のいずれか1に記載の遊技機。
特徴A13によれば、上記特徴A1の構成を備え、所定範囲の記憶領域が連続するアドレス範囲に設定されている構成において、当該所定範囲の記憶領域には集約情報が設定される記憶領域を特定するためのアドレス情報が記憶されている記憶領域が含まれている。このため、所定範囲の記憶領域に記憶されているアドレス情報により特定される記憶領域に格納されている情報を所定情報群に設定する処理を実行することにより集約情報を所定情報群に設定することができる。これにより、集約情報を所定情報群に設定するための処理構成を簡素化することができる。
特徴A14.前記所定送信手段は、
第1送信契機(遊技媒体がベットされた状態でスタートレバー41の操作が行われること)が発生したことに基づいて、前記所定情報群として、前記所定範囲の記憶領域に記憶されている情報を含む各種情報を利用して設定された第1所定情報群(開始時コマンド)を送信する第1所定送信手段(第1の実施形態における主側MPU72のステップS1107の処理を実行する機能、第1~第4及び第6の実施形態における主側MPU72の共通コマンド送信処理を実行する機能)と、
第2送信契機(全てのリール32L,32M,32Rの停止制御が終了すること)が発生したことに基づいて、前記所定情報群として、前記第1所定情報群を送信する場合の前記所定範囲と同一の範囲である前記所定範囲の記憶領域に記憶されている情報を含む各種情報を利用して設定された第2所定情報群(終了時コマンド)を送信する第2所定送信手段(第1の実施形態における主側MPU72のステップS1508の処理を実行する機能、第1~第4及び第6の実施形態における主側MPU72の共通コマンド送信処理を実行する機能)と、
を備え、
前記集約設定手段は、
前記集約情報を前記第1所定情報群に設定する第1集約設定手段(第1の実施形態における主側MPU72のステップS2811~ステップS2816の処理を実行する機能、第2の実施形態における主側MPU72のステップS4011~ステップS4015の処理を実行する機能、第3の実施形態における主側MPU72のステップS4207~ステップS4212の処理を実行する機能、第4の実施形態における主側MPU72のステップS4412~ステップS4416の処理を実行する機能)と、
前記第1所定情報群に設定される前記集約情報と同一の前記集約情報を前記第2所定情報群に設定する第2集約設定手段(第1の実施形態における主側MPU72のステップS2811~ステップS2816の処理を実行する機能、第2の実施形態における主側MPU72のステップS4011~ステップS4015の処理を実行する機能、第3の実施形態における主側MPU72のステップS4207~ステップS4212の処理を実行する機能、第4の実施形態における主側MPU72のステップS4412~ステップS4416の処理を実行する機能)と、
を備えていることを特徴とする特徴A5乃至A8及び特徴A10乃至A13のいずれか1に記載の遊技機。
特徴A14によれば、第2送信契機が発生したことに基づいて第2所定情報群を送信する場合における所定範囲は、第1送信契機が発生したことに基づいて第1所定情報群を送信する場合における所定範囲と同一の範囲である。このため、所定範囲の記憶領域に記憶されている情報を利用して情報を第1所定情報群に設定する処理と、当該所定範囲の記憶領域に記憶されている情報を利用して情報を第2所定情報群に設定する処理とを共通のプログラムを利用して実行することができる。これにより、第1所定情報群を送信する処理及び第2所定情報群を送信する処理を実行するためのプログラムのデータ容量を低減することができる。
第2所定情報群に設定される集約情報は、第1所定情報群に設定される集約情報と同一の情報である。このため、第1所定情報群を送信する場合に集約情報を生成する処理と、第2所定情報群を送信する場合に集約情報を生成する処理とを共通のプログラムを利用して実行することができる。これにより、第1所定情報群を送信する処理及び第2所定情報群を送信する処理を実行するためのプログラムのデータ容量を低減することができる。
特徴A15.前記第1所定情報群及び前記第2所定情報群のそれぞれは、前記所定範囲の記憶領域に記憶されている情報を利用して設定される所定単位データ(第1~第3の実施形態における開始時コマンド及び終了時コマンドの第2~第7フレームFR2~FR7及び第9~第14フレームFR9~FR14)及び前記集約情報が設定されている集約単位データ(最上位集約フレームSF)を含む単位データ(1バイト単位のフレームFRm)を複数有しており、
前記第1所定情報群を受信した場合に当該第1所定情報群に含まれている複数の前記所定単位データのうち一部の前記所定単位データを利用して第1所定処理(開始時受信対応処理)を実行する第1所定処理実行手段(演出側MPU92におけるステップS3301~ステップS3320の処理を実行する機能)と、
前記第2所定情報群を受信した場合に当該第2所定情報群に含まれている複数の前記所定単位データのうち一部の前記所定単位データを利用して第2所定処理(終了時受信対応処理)を実行する第2所定処理実行手段(演出側MPU92におけるステップS3501~ステップS3521の処理を実行する機能)と、
を備えていることを特徴とする特徴A14に記載の遊技機。
特徴A15によれば、上記特徴A14の構成を備え、第2送信契機が発生したことに基づいて第2所定情報群を送信する場合における所定範囲が、第1送信契機が発生したことに基づいて第1所定情報群を送信する場合における所定範囲と同一の範囲である構成としながら、第1送信契機が発生した場合には第1所定情報群に基づいて第1所定処理を実行することができるとともに、第2送信契機が発生した場合には第2所定情報群に基づいて第2所定処理を実行することができる。
特徴A16.前記第1所定処理実行手段が前記第1所定処理を実行する場合に利用する前記所定単位データには、前記集約対象範囲に含まれている複数の記憶領域のうち一部の記憶領域に記憶されている情報を利用して設定された第1利用対象情報(AT継続カウンタ74uに格納されている情報)が含まれており、
前記第2所定処理実行手段が前記第2所定処理を実行する場合に利用する前記所定単位データには、前記集約対象範囲に含まれている複数の記憶領域のうち一部の記憶領域に記憶されている情報を利用して設定された第2利用対象情報(継続ゲーム数カウンタ74rに格納されている情報、合計獲得数カウンタ74sに格納されている情報)が含まれていることを特徴とする特徴A15に記載の遊技機。
特徴A16によれば、上記特徴A14の構成を備え、第2送信契機が発生したことに基づいて第2所定情報群を送信する場合における所定範囲が、第1送信契機が発生したことに基づいて第1所定情報群を送信する場合における所定範囲と同一の範囲である構成としながら、第1送信契機が発生した場合には集約対象範囲に含まれている複数の記憶領域のうち一部の記憶領域に記憶されている情報を利用して設定された第1利用対象情報を利用して第1所定処理を実行することができるとともに、第2送信契機が発生した場合には集約対象範囲に含まれている複数の記憶領域のうち一部の記憶領域に記憶されている情報を利用して設定された第2利用対象情報を利用して第2所定処理を実行することができる。
特徴A17.前記所定送信手段は、
第1送信契機(遊技媒体のベットされている状態においてスタートレバー41の操作が行われること)が発生したことに基づいて、前記所定記憶手段に設けられた複数の記憶領域のうち第1所定情報群(第6の実施形態における開始時コマンド)を送信する場合における前記所定範囲である第1所定範囲(第6の実施形態における共通データテーブル73gの「9101H」~「910CH」のアドレス範囲に含まれている記憶エリアに格納されているアドレス情報により特定される主側RAM74の記憶エリア)の記憶領域に記憶されている情報を含む各種情報を利用して設定された前記第1所定情報群を送信する第1所定送信手段(第6の実施形態における主側MPU72の共通コマンド送信処理を実行する機能)と、
第2送信契機(全てのリール32L,32M,32Rの停止制御が終了すること)が発生したことに基づいて、前記所定記憶手段に設けられた複数の記憶領域のうち第2所定情報群(第6の実施形態における終了時コマンド)を送信する場合における前記所定範囲である第2所定範囲(第6の実施形態における共通データテーブル73gの「910DH」~「911AH」のアドレス範囲に含まれている記憶エリアに格納されているアドレス情報により特定される主側RAM74の記憶エリア)の記憶領域に記憶されている情報を含む各種情報を利用して設定された前記第2所定情報群を送信する第2所定送信手段(第6の実施形態における主側MPU72の共通コマンド送信処理を実行する機能)と、
を備えており、
前記第1所定範囲に含まれている記憶領域のうち一部の記憶領域は、前記第2所定範囲にも含まれており、
前記第1所定範囲の記憶領域及び前記第2所定範囲の記憶領域のそれぞれは、連続するアドレス範囲に設定されていることを特徴とする特徴A1乃至A16のいずれか1に記載の遊技機。
特徴A17によれば、第1所定範囲に含まれている複数の記憶領域のうち一部の記憶領域が第2所定範囲にも含まれている構成において、第1所定範囲の記憶領域が連続するアドレス範囲に設定されていることにより当該第1所定範囲の記憶領域を把握し易くすることができるとともに、第2所定範囲の記憶領域が連続するアドレス範囲に設定されていることにより当該第2所定範囲の記憶領域を把握し易くすることができる。これにより、第1所定情報群を送信する場合に第1所定範囲の記憶領域に記憶されている情報を利用して第1所定情報群に情報を設定するための処理構成を簡素化することができるとともに、第2所定情報群を送信する場合に第2所定範囲の記憶領域に記憶されている情報を利用して第2所定情報群に情報を設定するための処理構成を簡素化することができる。
特徴A18.前記所定送信手段は、
前記所定範囲に含まれている一の記憶領域を特定するためのアドレスである所定基準アドレス(第1~第4の実施形態では共通コマンド送信処理における転送対象範囲の開始アドレス、第6の実施形態において開始時コマンドを送信する場合には「9101H」、終了時コマンドを送信する場合には「9109H」)を所定設定対象アドレス(第1~第3の実施形態では転送元の記憶エリア、第4及び第6の実施形態では転送元の記憶エリアを特定するためのアドレス情報が設定される記憶エリア)に設定する所定基準アドレス設定手段(第1の実施形態における主側MPU72のステップS2809の処理を実行する機能、第2の実施形態における主側MPU72のステップS4009の処理を実行する機能、第3の実施形態における主側MPU72のステップS4205の処理を実行する機能、第4の実施形態における主側MPU72のステップS4410の処理を実行する機能、第6の実施形態における主側MPU72のステップS4907及びステップS4912の処理を実行する機能)と、
前記所定設定対象アドレスにより特定される記憶領域に記憶されている情報を利用して所定単位データ(フレームFRmのデータ)を前記所定情報群に設定する所定単位データ設定処理(第1の実施形態におけるステップS2811の処理、第2の実施形態におけるステップS4011の処理、第3の実施形態におけるステップS4207の処理、第4の実施形態におけるステップS4412の処理、第6の実施形態におけるステップS4915の処理)を実行する所定単位データ設定手段(第1の実施形態における主側MPU72のステップS2811の処理を実行する機能、第2の実施形態における主側MPU72のステップS4011の処理を実行する機能、第3の実施形態における主側MPU72のステップS4207の処理を実行する機能、第4の実施形態における主側MPU72のステップS4412の処理を実行する機能、第6の実施形態における主側MPU72のステップS4915の処理を実行する機能)と、
前記所定設定対象アドレスを更新する所定更新処理(第1の実施形態におけるステップS2816の処理、第2の実施形態におけるステップS4015の処理、第3の実施形態におけるステップS4212の処理、第4の実施形態におけるステップS4416の処理、第6の実施形態におけるステップS4920の処理)を、前記所定単位データ設定処理が実行される度に実行する所定更新手段(第1の実施形態における主側MPU72のステップS2816の処理を実行する機能、第2の実施形態における主側MPU72のステップS4015の処理を実行する機能、第3の実施形態における主側MPU72のステップS4212の処理を実行する機能、第4の実施形態における主側MPU72のステップS4416の処理を実行する機能、第6の実施形態における主側MPU72のステップS4920の処理を実行する機能)と、
を備えており、
前記所定単位データ設定手段は、前記所定基準アドレスが前記所定設定対象アドレスに設定された後に、前記所定範囲に含まれている記憶領域の数に対応する回数(第1~第4の実施形態では13回、第6の実施形態において開始時コマンドを送信する場合には6回、終了時コマンドを送信する場合には9回)に亘って前記所定単位データ設定処理を実行することを特徴とする特徴A1乃至A17のいずれか1に記載の遊技機。
特徴A18によれば、所定基準アドレスが所定設定対象アドレスに設定された後に、所定範囲に含まれている記憶領域の数に対応する回数に亘って所定単位データ設定処理を実行することにより所定単位データを所定情報群に設定することができる。所定単位データ設定処理を繰り返し実行する構成であることにより、所定単位データを所定情報群に設定するための処理構成を簡素化することができる。
特徴A19.前記所定送信手段は、
第1送信契機(遊技媒体のベットされている状態においてスタートレバー41の操作が行われること)が発生したことに基づいて、前記所定記憶手段に設けられた複数の記憶領域のうち第1所定情報群(第6の実施形態における開始時コマンド)を送信する場合における前記所定範囲である第1所定範囲(第6の実施形態における共通データテーブル73gの「9101H」~「910CH」のアドレス範囲に含まれている記憶エリアに格納されているアドレス情報により特定される主側RAM74の記憶エリア)の記憶領域に記憶されている情報を含む各種情報を利用して設定された前記第1所定情報群を送信する第1所定送信手段(第6の実施形態における主側MPU72の共通コマンド送信処理を実行する機能)と、
第2送信契機(全てのリール32L,32M,32Rの停止制御が終了すること)が発生したことに基づいて、前記所定記憶手段に設けられた複数の記憶領域のうち第2所定情報群(第6の実施形態における終了時コマンド)を送信する場合における前記所定範囲である第2所定範囲(第6の実施形態における共通データテーブル73gの「910DH」~「911AH」のアドレス範囲に含まれている記憶エリアに格納されているアドレス情報により特定される主側RAM74の記憶エリア)の記憶領域に記憶されている情報を含む各種情報を利用して設定された前記第2所定情報群を送信する第2所定送信手段(第6の実施形態における主側MPU72の共通コマンド送信処理を実行する機能)と、
を備えており、
前記所定基準アドレス設定手段は、
前記第1所定範囲に含まれている一の記憶領域を特定するためのアドレスである第1所定基準アドレス(第6の実施形態において開始時コマンドを送信する場合における「9101H」)を前記所定設定対象アドレスに設定する第1所定基準アドレス設定手段(第6の実施形態における主側MPU72のステップS4907の処理を実行する機能)と、
前記第2所定範囲に含まれている一の記憶領域を特定するためのアドレスである第2所定基準アドレス(第6の実施形態において終了時コマンドを送信する場合における「9109H」)を前記所定設定対象アドレスに設定する第2所定基準アドレス設定手段(第6の実施形態における主側MPU72のステップS4912の処理を実行する機能)と、
を備えており、
前記所定単位データ設定手段は、
前記所定単位データ設定処理として、前記所定設定対象アドレスにより特定される記憶領域に記憶されている情報を利用して前記所定単位データを前記第1所定情報群に設定する第1所定単位データ設定処理(第6の実施形態におけるステップS4915の処理)を実行する第1所定単位データ設定手段(第6の実施形態における主側MPU72のステップS4915の処理を実行する機能)と、
前記所定単位データ設定処理として、前記所定設定対象アドレスにより特定される記憶領域に記憶されている情報を利用して前記所定単位データを前記第2所定情報群に設定する第2所定単位データ設定処理(第6の実施形態におけるステップS4915の処理)を実行する第2所定単位データ設定手段(第6の実施形態における主側MPU72のステップS4915の処理を実行する機能)と、
を備えており、
前記所定更新手段は、
前記所定更新処理を、前記第1所定単位データ設定処理が実行される度に実行する第1所定更新手段(第6の実施形態における主側MPU72のステップS4920の処理を実行する機能)と、
前記所定更新処理を、前記第2所定単位データ設定処理が実行される度に実行する第2所定更新手段(第6の実施形態における主側MPU72のステップS4920の処理を実行する機能)と、
を備えており、
前記第1所定単位データ設定手段は、前記第1所定基準アドレスが前記所定設定対象アドレスに設定された後に、前記第1所定範囲に含まれている記憶領域の数に対応する回数(第6の実施形態において開始時コマンドを送信する場合における6回)に亘って前記第1所定単位データ設定処理を実行し、
前記第2所定単位データ設定手段は、前記第2所定基準アドレスが前記所定設定対象アドレスに設定された後に、前記第2所定範囲に含まれている記憶領域の数に対応する回数(第6の実施形態において終了時コマンドを送信する場合における9回)に亘って前記第2所定単位データ設定処理を実行し、
前記第2所定単位データ設定処理は、前記第1所定単位データ設定処理を実行するためのプログラムを利用して実行され、
前記第2所定更新手段による前記所定更新処理は、前記第1所定更新手段が前記所定更新処理を実行するためのプログラムを利用して実行されることを特徴とする特徴A18に記載の遊技機。
特徴A19によれば、第1所定基準アドレスが所定設定対象アドレスに設定された後に、第1所定範囲に含まれている記憶領域の数に対応する回数に亘って第1所定単位データ設定処理を実行することにより、所定単位データを第1所定情報群に設定することができる。第1所定単位データ設定処理を繰り返し実行する構成であることにより、所定単位データを第1所定情報群に設定するための処理構成を簡素化することができる。また、第2所定基準アドレスが所定設定対象アドレスに設定された後に、第2所定範囲に含まれている記憶領域の数に対応する回数に亘って第2所定単位データ設定処理を実行することにより、所定単位データを第2所定情報群に設定することができる。第2所定単位データ設定処理を繰り返し実行する構成であることにより、所定単位データを第2所定情報群に設定するための処理構成を簡素化することができる。
第1所定単位データ設定処理を実行するためのプログラムを利用して第2所定単位データ設定処理を実行する構成であることにより、第1所定単位データ設定処理を実行するためのプログラムとは別のプログラムとして第2所定単位データ設定処理を実行するためのプログラムが設けられている構成と比較して、これら2つの処理を実行するためのプログラムのデータ容量を低減することができる。第1所定更新手段が所定更新処理を実行するためのプログラムを利用して第2所定更新手段が所定更新処理を実行する構成であることにより、第1所定更新手段が所定更新処理を実行するためにプログラムとは別のプログラムとして第2所定更新手段が所定更新処理を実行するためのプログラムが設けられている構成と比較して、所定更新処理を実行するためのプログラムのデータ容量を低減することができる。
なお、特徴A1~A19の構成に対して、特徴A1~A19、特徴B1~B9、特徴C1~C13、特徴D1~D7、特徴E1~E6、特徴F1~F9、特徴G1~G7のうちいずれか1又は複数の構成を適用してもよい。これにより、その組み合わせた構成による相乗的な効果を奏することが可能となる。
<特徴B群>
特徴B1.第1送信契機(遊技媒体がベットされた状態でスタートレバー41の操作が行われること)が発生したことに基づいて、複数の単位データを有する第1情報群(開始時コマンド)を送信する第1送信手段(第4~第6の実施形態における主側MPU72の共通コマンド送信処理を実行する機能)と、
第2送信契機(全リール32L,32M,32Rの停止制御が終了すること)が発生したことに基づいて、複数の単位データを有する第2情報群(終了時コマンド)を送信する第2送信手段(第4~第6の実施形態における主側MPU72の共通コマンド送信処理を実行する機能)と、
を備え、
前記第1送信手段は、所定参照情報群(第4の実施形態では共通データテーブル73fの「9101H」~「911AH」、第5の実施形態では共通データテーブル73fの「910DH」~「910EH」及び「9113H」~「9114H」、第6の実施形態では共通データテーブル73gの「9109H」~「910CH」)を参照することにより前記第1情報群として送信する単位データ(第4の実施形態では「9101H」~「911AH」のアドレス範囲に設定されているアドレス情報により特定される主側RAM74の記憶エリアに格納されている情報、第5の実施形態では「910DH」~「910EH」及び「9113H」~「9114H」のアドレス範囲に設定されているアドレス情報により特定される主側RAM74の記憶エリアに格納されている情報、第6の実施形態では「9109H」~「910CH」のアドレス範囲に設定されているアドレス情報により特定される主側RAM74の記憶エリアに格納されている情報)を特定する第1特定手段(第4の実施形態における主側MPU72のステップS4410~ステップS4416の処理を実行する機能、第5の実施形態における主側MPU72のステップS4610~ステップS4618の処理を実行する機能、第6の実施形態における主側MPU72のステップS4907~ステップS4909及びステップS4915~ステップS4920の処理を実行する機能)を備え、
前記第2送信手段は、前記所定参照情報群を参照することにより前記第2情報群として送信する単位データ(第4の実施形態では「9101H」~「911AH」のアドレス範囲に設定されているアドレス情報により特定される主側RAM74の記憶エリアに格納されている情報、第5の実施形態では「910DH」~「910EH」及び「9113H」~「9114H」のアドレス範囲に設定されているアドレス情報により特定される主側RAM74の記憶エリアに格納されている情報、第6の実施形態では「9109H」~「910CH」のアドレス範囲に設定されているアドレス情報により特定される主側RAM74の記憶エリアに格納されている情報)を特定する第2特定手段(第4の実施形態における主側MPU72のステップS4410~ステップS4416の処理を実行する機能、第5の実施形態における主側MPU72のステップS4610~ステップS4618の処理を実行する機能、第6の実施形態における主側MPU72のステップS4907~ステップS4909及びステップS4915~ステップS4920の処理を実行する機能)を備えていることを特徴とする遊技機。
特徴B1によれば、所定参照情報群は、第1情報群として送信する単位データを特定するために参照されるとともに、第2情報群として送信する単位データを特定するために参照される。このため、第2情報群として送信する単位データを特定するために参照する情報群が、第1情報群として送信する単位データを特定するために参照される所定参照情報群とは別の情報群として記憶されている構成と比較して、第1情報群として送信する単位データ及び第2情報群として送信する単位データを特定可能とするために記憶しておく情報群のデータ容量を低減することができる。
特徴B2.アドレスと対応付けて設定された記憶領域(主側ROM73の記憶エリア)を複数有する情報記憶手段(主側ROM73)を備え、
前記所定参照情報群は、前記情報記憶手段において連続する所定アドレス範囲(第4の実施形態では「9101H」~「911AH」)の記憶領域に記憶されていることを特徴とする特徴B1に記載の遊技機。
特徴B2によれば、所定参照情報群を参照することにより第1情報群として送信する単位データを特定するための処理構成を簡素化することができるとともに、所定参照情報群を参照することにより第2情報群として送信する単位データを特定するための処理構成を簡素化することができる。
特徴B3.前記第1特定手段は、
前記所定アドレス範囲のうち一のアドレスである所定基準アドレス(第4の実施形態では共通データテーブル73fの開始アドレス)を所定設定対象アドレス(転送元の記憶エリア)に設定する所定基準アドレス設定手段(第4の実施形態における主側MPU72のステップS4410の処理を実行する機能)と、
前記所定設定対象アドレスに基づいて前記第1情報群として送信する単位データを特定する所定データ特定処理(第4の実施形態におけるステップS4412の処理)を実行する特定処理実行手段(第4の実施形態における主側MPU72のステップS4412の処理を実行する機能)と、
前記所定設定対象アドレスを更新する所定更新処理(第4の実施形態におけるステップS4416の処理)を、前記所定データ特定処理が実行される度に実行する所定更新手段(第4の実施形態における主側MPU72のステップS4416の処理を実行する機能)と、
を備えており、
前記特定処理実行手段は、前記所定設定対象アドレスとして前記所定基準アドレスが設定された後に、前記所定アドレス範囲に含まれている記憶領域の数に対応する回数(第4の実施形態では13回)に亘って前記所定データ特定処理を実行することを特徴とする特徴B2に記載の遊技機。
特徴B3によれば、第1送信契機が発生したことに基づいて、所定基準アドレスが所定設定対象アドレスに設定された後に、所定アドレス範囲に含まれている記憶領域の数に対応する回数に亘って所定データ特定処理を実行することにより第1情報群として送信する単位データを特定することができる。所定データ特定処理を繰り返し実行する構成であることにより、第1情報群として送信する単位データを特定するための処理構成を簡素化することができる。
特徴B4.前記第1送信手段は、前記情報記憶手段において前記所定参照情報群が記憶されている複数の記憶領域のうち少なくとも一部の記憶領域を含む所定集約対象範囲(第4の実施形態における「9101H」~「910CH」)に含まれている複数の記憶領域を参照することにより特定される情報における所定位置のビット(最上位ビット)の情報が集約された所定集約情報(最上位集約用エリア74vに格納されているデータ)を、前記第1情報群として送信する単位データとして特定する所定集約情報特定手段(第4の実施形態における主側MPU72のステップS4412~ステップS4416の処理を実行する機能)を備えていることを特徴とする特徴B2又はB3のいずれか1に記載の遊技機。
特徴B4によれば、所定集約対象範囲に含まれている複数の記憶領域を参照することにより特定される情報における所定位置のビットの情報を把握可能な態様で、第1情報群を送信することができる。上記特徴B2の構成を備え、所定参照情報群が情報記憶手段において連続するアドレス範囲の記憶領域に記憶されている構成において、所定集約対象範囲は情報記憶手段において所定参照対象情報群が記憶されている複数の記憶領域のうち少なくとも一部の記憶領域を含む範囲である。このため、所定集約対象範囲に含まれている記憶領域を把握し易くすることができる。これにより、所定集約情報を生成するための処理構成を簡素化することができる。
特徴B5.アドレスと対応付けて設定された記憶領域(主側RAM74の記憶エリア)を複数有する所定記憶手段(主側RAM74)を備え、
前記所定参照情報群には、前記第1情報群として送信する単位データ及び前記第2情報群として送信する単位データを特定するために参照される情報として、前記所定記憶手段における複数の記憶領域のうち一部の記憶領域に対応するアドレスの情報(共通データテーブル73fに設定されている主側RAM74のアドレスの情報)が設定されており、
前記第1送信手段は、前記第1情報群として送信する単位データとして、前記所定参照情報群に設定されている前記アドレスの情報に対応する前記所定記憶手段の記憶領域に格納されている情報を特定し、
前記第2送信手段は、前記第2情報群として送信する単位データとして、前記所定参照情報群に設定されている前記アドレスの情報に対応する前記所定記憶手段の記憶領域に格納されている情報を特定することを特徴とする特徴B1乃至B4のいずれか1に記載の遊技機。
特徴B5によれば、第1情報群として送信する単位データとして、当該第1情報群が送信されるタイミングにおいて所定記憶手段における複数の記憶領域のうち一部の記憶領域に格納されている情報を特定することができるとともに、第2情報群として送信する単位データとして、当該第2情報群が送信されるタイミングにおいて所定記憶手段における複数の記憶領域のうち一部の記憶領域に格納されている情報を特定することができる。
特徴B6.前記第1送信手段は、第1所定参照情報群(第5の実施形態における共通データテーブル73fの「9101H」~「9104H」、「910FH」~「9112H」及び「9113H」~「9114H」、第6の実施形態における共通データテーブル73gの「9101H」~「9108H」)を参照することにより前記第1情報群として送信する単位データを特定する第3特定手段(第5の実施形態における主側MPU72のステップS4610~ステップS4618の処理を実行する機能、第6の実施形態における主側MPU72のステップS4907~ステップS4909及びステップS4915~ステップS4920の処理を実行する機能)を備え、
前記第2送信手段は、第2所定参照情報群(第5の実施形態における共通データテーブル73fの「9105H」~「910CH」及び「9115H」~「911AH」、第6の実施形態における共通データテーブル73gの「910DH」~「911AH」)を参照することにより前記第2情報群として送信する単位データを特定する第4特定手段(第5の実施形態における主側MPU72のステップS4610~ステップS4618の処理を実行する機能、第6の実施形態における主側MPU72のステップS4907~ステップS4909及びステップS4915~ステップS4920の処理を実行する機能)を備え、
前記第1情報群は、前記第1特定手段により特定された単位データ及び前記第3特定手段により特定された単位データを有しており、
前記第2情報群は、前記第2特定手段により特定された単位データ及び前記第4特定手段により特定された単位データを有していることを特徴とする特徴B1に記載の遊技機。
特徴B6によれば、第1情報群として送信する単位データとして、所定参照情報群を参照することにより特定される単位データに加えて、第1所定参照情報群を参照することにより特定される単位データを特定することができる。また、第2情報群として送信する単位データとして、所定参照情報群を参照することにより特定される単位データに加えて、第2所定参照情報群を参照することにより特定される単位データを特定することができる。第1情報群として送信する単位データを特定する場合及び第2情報群として送信する単位データを特定する場合に所定参照情報群が共通して参照される構成であるため、第1情報群として送信する単位データを特定する場合に参照される情報群と第2情報群として送信する単位データを特定する場合に参照される情報群とに重複箇所が存在しない構成と比較して、第1情報群として送信する単位データ及び第2情報群として送信する単位データを特定可能とするために記憶しておく情報群のデータ容量を低減することができる。
特徴B7.アドレスと対応付けて設定された記憶領域(主側ROM73の記憶エリア)を複数有する情報記憶手段(主側ROM73)を備え、
前記所定参照情報群は、前記情報記憶手段において連続する所定アドレス範囲(第6の実施形態における共通データテーブル73gの「9109H」~「910CH」)の記憶領域に記憶されており、
前記第1所定参照情報群は、前記情報記憶手段において連続する第1所定アドレス範囲(共通データテーブル73gの「9101H」~「9108H」)の記憶領域に記憶されており、
前記第2所定参照情報群は、前記情報記憶手段において連続する第2所定アドレス範囲(共通データテーブル73gの「910DH」~「911AH」)の記憶領域に記憶されており、
前記所定アドレス範囲及び前記第1所定アドレス範囲は、連続するアドレス範囲(共通データテーブル73gの第11設定範囲)であり、
前記所定アドレス範囲及び前記第2所定アドレス範囲は、連続するアドレス範囲(共通データテーブル73gの第12設定範囲)であることを特徴とする特徴B6に記載の遊技機。
特徴B7によれば、所定アドレス範囲及び第1所定アドレス範囲が連続するアドレス範囲であるため、所定参照情報群及び第1所定参照情報群を参照することにより第1情報群として送信する単位データを特定するための処理構成を簡素化することができる。また、所定アドレス範囲及び第2所定アドレス範囲が連続するアドレス範囲であるため、所定参照情報群及び第2所定参照情報群を参照することにより第2情報群として送信する単位データを特定するための処理構成を簡素化することができる。
特徴B8.前記第1特定手段は、
連続する前記所定アドレス範囲及び前記第1所定アドレス範囲のうち一のアドレスである第1所定基準アドレス(第6の実施形態では共通データテーブル73gにおける「9101H」)を所定設定対象アドレス(転送元の記憶エリアを特定するためのアドレス)に設定する第1所定基準アドレス設定手段(第6の実施形態における主側MPU72のステップS4907の処理を実行する機能)と、
前記所定設定対象アドレスに基づいて前記第1情報群として送信する単位データを特定する第1所定データ特定処理(第6の実施形態におけるステップS4915の処理)を実行する第1特定処理実行手段(第6の実施形態における主側MPU72のステップS4915の処理を実行する機能)と、
前記所定設定対象アドレスを更新する所定更新処理(第6の実施形態におけるステップS4920の処理)を、前記第1所定データ特定処理が実行される度に実行する第1所定更新手段(第6の実施形態における主側MPU72のステップS4920の処理を実行する機能)と、
を備えており、
前記第2特定手段は、
連続する前記所定アドレス範囲及び前記第2所定アドレス範囲のうち一のアドレスである第2所定基準アドレス(第6の実施形態では共通データテーブル73gにおける「9109H」)を前記所定設定対象アドレスに設定する第2所定基準アドレス設定手段(第6の実施形態における主側MPU72のステップS4912の処理を実行する機能)と、
前記所定設定対象アドレスに基づいて前記第2情報群として送信する単位データを特定する第2所定データ特定処理(第6の実施形態におけるステップS4915の処理)を実行する第2特定処理実行手段(第6の実施形態における主側MPU72のステップS4915の処理を実行する機能)と、
前記所定更新処理を、前記第2所定データ特定処理が実行される度に実行する第2所定更新手段(第6の実施形態における主側MPU72のステップS4920の処理を実行する機能)と、
を備えており、
前記第1特定処理実行手段は、前記所定設定対象アドレスとして前記第1所定基準アドレスが設定された後に、前記第1所定アドレス範囲に含まれている記憶領域の数に対応する回数(第6の実施形態において開始時コマンドを送信する場合には6回)に亘って前記第1所定データ特定処理を実行し、
前記第2特定処理実行手段は、前記所定設定対象アドレスとして前記第2所定基準アドレスが設定された後に、前記第2所定アドレス範囲に含まれている記憶領域の数に対応する回数(第6の実施形態において終了時コマンドを送信する場合には9回)に亘って前記第2所定データ特定処理を実行し、
前記第2所定データ特定処理は、前記第1所定データ特定処理を実行するためのプログラムを利用して実行され、
前記第2所定更新手段による前記所定更新処理は、前記第1所定更新手段が前記所定更新処理を実行するためのプログラムを利用して実行されることを特徴とする特徴B7に記載の遊技機。
特徴B8によれば、第1所定基準アドレスが所定設定対象アドレスに設定された後に、所定アドレス範囲及び第1所定アドレス範囲に含まれている記憶領域の数に対応する回数に亘って第1所定データ特定処理を実行することにより、第1情報群として送信する単位データを特定することができる。第1所定データ特定処理を繰り返し実行する構成であることにより、第1情報群として送信する単位データを特定するための処理構成を簡素化することができる。また、第2所定基準アドレスが所定設定対象アドレスに設定された後に、所定アドレス範囲及び第2所定アドレス範囲に含まれている記憶領域の数に対応する回数に亘って第2所定データ特定処理を実行することにより、第2情報群として送信する単位データを特定することができる。第2所定データ特定処理を繰り返し実行する構成であることにより、第2情報群として送信する単位データを特定するための処理構成を簡素化することができる。
第1所定データ特定処理を実行するためのプログラムを利用して第2所定データ特定処理を実行する構成であることにより、第1所定データ特定処理を実行するためのプログラムとは別のプログラムとして第2所定データ特定処理を実行するためのプログラムが設けられている構成と比較して、これら2つの処理を実行するためのプログラムのデータ容量を低減することができる。第1所定更新手段が所定更新処理を実行するためのプログラムを利用して第2所定更新手段が所定更新処理を実行する構成であることにより、第1所定更新手段が所定更新処理を実行するためにプログラムとは別のプログラムとして第2所定更新手段が所定更新処理を実行するためのプログラムが設けられている構成と比較して、所定更新処理を実行するためのプログラムのデータ容量を低減することができる。
特徴B9.前記第1情報群を受信した場合に当該第1情報群に含まれている複数の単位データのうち一部の単位データを利用して第1所定処理(開始時受信対応処理)を実行する第1所定処理実行手段(演出側MPU92におけるステップS3301~ステップS3320の処理を実行する機能)と、
前記第2情報群を受信した場合に当該第2情報群に含まれている複数の単位データのうち一部の単位データを利用して第2所定処理(終了時受信対応処理)を実行する第2所定処理実行手段(演出側MPU92におけるステップS3501~ステップS3521の処理を実行する機能)と、
を備えていることを特徴とする特徴B1乃至B8のいずれか1に記載の遊技機。
特徴B9によれば、上記特徴B1の構成を備え、所定参照情報群を参照することにより第1情報群として送信する単位データが特定されるとともに、当該所定参照情報群を参照することにより第2情報群として送信する単位データが特定される構成において、第1情報群を受信した場合には当該第1情報群に含まれている複数の単位データのうち一部の単位データを利用して第1所定処理を実行することができるとともに、第2情報群を受信した場合には当該第2情報群に含まれている複数の単位データのうち一部の単位データを利用して第2所定処理を実行することができる。
なお、特徴B1~B9の構成に対して、特徴A1~A19、特徴B1~B9、特徴C1~C13、特徴D1~D7、特徴E1~E6、特徴F1~F9、特徴G1~G7のうちいずれか1又は複数の構成を適用してもよい。これにより、その組み合わせた構成による相乗的な効果を奏することが可能となる。
上記特徴A群及び上記特徴B群の特徴に係る発明によれば、以下の課題を解決することが可能である。
遊技機としてパチンコ遊技機やスロットマシンが知られている。例えば、パチンコ遊技機では、遊技球を貯留する貯留部を備えており、当該貯留部に貯留された遊技球が遊技球発射装置に案内されて、遊技者の発射操作に応じて遊技領域に向けて発射される。そして、例えば遊技領域に設けられた入球部に遊技球が入球した場合に、例えば抽選処理が実行されたり、例えば遊技者が使用可能な遊技球の数を増加させるための処理が実行される。
スロットマシンでは、メダルなどの遊技価値がベットされている状況でスタートレバーが操作されて新たなゲームが開始される場合に制御手段にて抽選処理が実行される。また、抽選処理が実行された場合には制御手段にて回転開始制御が実行されることによりリールの回転が開始され、当該リールの回転中にストップボタンが操作された場合には制御手段にて回転停止制御が実行されることによりリールの回転が停止される。そして、リールの回転停止後の停止結果が抽選処理の当選役に対応したものである場合には、当該当選役に対応した特典が遊技者に付与される。
ここで、上記例示等のような遊技機においては、情報群の送信が好適に実行される必要があり、この点について未だ改良の余地がある。
<特徴C群>
特徴C1.表示手段(兼用表示部66)を表示制御する表示制御手段(第1の実施形態における主側MPU72のステップS1401~ステップS1409の処理を実行する機能、第7の実施形態における主側MPU72のステップS5401~ステップS5411の処理を実行する機能、第9の実施形態における主側MPU72のステップS5801~ステップS5810の処理を実行する機能)と、
前記表示手段において所定表示(停止順種別カウンタ74mの値に対応する停止順対応表示)を行わせることを可能とする所定表示情報(「1」~「9」の停止順種別番号)を第1記憶手段(停止順種別カウンタ74m)に記憶させる第1記憶実行手段(第1の実施形態における主側MPU72のステップS1101~ステップS1105の処理を実行する機能、第8の実施形態における主側MPU72のステップS5501~ステップS5505の処理を実行する機能、第9の実施形態における主側MPU72のステップS5701~ステップS5705の処理を実行する機能)と、
前記表示手段において特定表示(付与数カウンタ74eの値に対応する付与数表示)を行わせることを可能とする特定表示情報(「0」、「1」、「2」、「5」又は「15」)を第2記憶手段(付与数カウンタ74e)に記憶させる第2記憶実行手段(第1の実施形態における主側MPU72のステップS604~ステップS612の処理を実行する機能、主側MPU72のステップS1204~ステップS1205の処理を実行する機能、第7の実施形態における主側MPU72のステップS5303~ステップS5304の処理を実行する機能、第8の実施形態における主側MPU72のステップS5601~ステップS5604の処理を実行する機能)と、
を備え、
前記表示制御手段は、
前記第1記憶手段に前記所定表示情報が記憶されている場合に前記表示手段にて前記所定表示を行わせる第1表示制御手段(第1の実施形態における主側MPU72のステップS1401~ステップS1403及びステップS1409の処理を実行する機能、第7の実施形態における主側MPU72のステップS5403~ステップS5405及びステップS5411の処理を実行する機能、第9の実施形態における主側MPU72のステップS5801、ステップS5803、ステップS5804及びステップS5810の処理を実行する機能)と、
前記第1記憶手段に前記所定表示情報が記憶されていない場合において、前記第2記憶手段に記憶されている前記特定表示情報に基づいて前記表示手段にて前記特定表示を行わせる第2表示制御手段(第1の実施形態における主側MPU72のステップS1407~ステップS1409の処理を実行する機能、第7の実施形態における主側MPU72のステップS5409~ステップS5411の処理を実行する機能、第9の実施形態における主側MPU72のステップS5808~ステップS5810の処理を実行する機能)と、
を備えていることを特徴とする遊技機。
特徴C1によれば、第1記憶手段に所定表示情報が記憶されていることに基づいて表示手段にて所定表示を実行すべき状況であることを把握可能とすることができるとともに、第1記憶手段に所定表示情報が記憶されていないことに基づいて表示手段にて特定表示を実行すべき状況であることを把握可能とすることができる。これにより、表示手段にて所定表示が行われている状態と特定表示が行われている状態との切り替えを行うための情報が設定される専用のフラグ等の記憶手段を不具備としながら、これらの状態の切り替えを行うことができるとともに、これらの状態の切り替えを行うための処理構成を簡素化することができる。
特徴C2.前記第1記憶実行手段は、所定状況(主側RAM74のゲーム中フラグに「1」が設定されている状況)において前記所定表示情報を前記第1記憶手段に記憶させることにより前記表示手段にて前記所定表示が行われるようにする所定表示情報設定手段(第1の実施形態における主側MPU72のステップS1101~ステップS1105の処理を実行する機能、第8の実施形態における主側MPU72のステップS5501~ステップS5505の処理を実行する機能、第9の実施形態における主側MPU72のステップS5701~ステップS5705の処理を実行する機能)を備えており、
前記所定状況の終了契機(3つ目の停止指令が発生すること)が発生したことに基づいて、前記第2記憶手段に記憶されている前記特定表示情報に基づいて前記表示手段にて前記特定表示を行わせる第3表示実行手段(第1の実施形態における主側MPU72のステップS1407~ステップS1409の処理を実行する機能、第7の実施形態における主側MPU72のステップS5409~ステップS5411の処理を実行する機能、第9の実施形態における主側MPU72のステップS5808~ステップS5810の処理を実行する機能)を備え、
前記第2表示制御手段は、前記所定状況において前記第1記憶手段に前記所定表示情報が記憶されていない場合に、前記第2記憶手段に記憶されている前記特定表示情報に基づいて前記表示手段にて前記特定表示を行わせる特定表示実行手段(第1の実施形態における主側MPU72のステップS1407~ステップS1409の処理を実行する機能、第7の実施形態における主側MPU72のステップS5409~ステップS5411の処理を実行する機能、第9の実施形態における主側MPU72のステップS5808~ステップS5810の処理を実行する機能)を備えていることを特徴とする特徴C1に記載の遊技機。
特徴C2によれば、所定状況の終了契機が発生したことに基づいて表示手段にて特定表示が行われるとともに、所定状況において所定表示が行われない場合には表示手段にて特定表示が行われる構成において、所定状況において第1記憶手段に所定表示情報が設定されることにより所定表示が行われる場合がある。所定状況において所定表示を行うことにより、表示手段にて特定表示が行われている状態が長く継続してしまうことを防止できる。
特徴C3.前記表示手段を所定状態(第7及び第8の実施形態では全消灯状態、第9の実施形態では兼用表示部66にて非誘導表示が実行されている状態)とする所定状態発生手段(第7の実施形態における主側MPU72のステップS5401、ステップS5402及びステップS5411の処理を実行する機能、第9の実施形態における主側MPU72のステップS5801~ステップS5804及びステップS5810の処理を実行する機能)を備え、
当該所定状態発生手段は、前記所定状況の終了契機が発生したことに基づいて前記特定表示が行われた後、当該所定状況の次に開始された前記所定状況において前記所定表示が行われない場合に、当該次に開始された前記所定状況において前記特定表示実行手段が前記特定表示を開始させる前に、前記表示手段を前記所定状態とする所定状態実行手段(第7の実施形態における主側MPU72のステップS5201の処理を実行する機能、主側MPU72のステップS5401、ステップS5402及びステップS5411の処理を実行する機能、第8の実施形態における主側MPU72のステップS5507の処理を実行する機能、第9の実施形態における主側MPU72のステップS5706の処理を実行する機能、主側MPU72のステップS5801~ステップS5804及びステップS5810の処理を実行する機能)を備えていることを特徴とする特徴C2に記載の遊技機。
特徴C3によれば、所定状況の終了契機が発生したことに基づいて表示手段にて特定表示が行われるとともに、当該所定状況の次に開始された所定状況において表示手段にて所定表示が行われない場合には特定表示が行われる構成において、所定状況の終了契機が発生したことに基づいて行われる特定表示と、当該所定状況の次に開始された所定状況において行われる特定表示との間で表示手段を所定状態とすることにより、所定表示が行われない所定状況の開始前後において、表示手段にて特定表示が行われている状態が長く継続してしまうことを防止できる。
特徴C4.前記所定状態発生手段は、前記表示手段を前記所定状態とするための所定状態情報(第8の実施形態において付与数カウンタ74eに設定される消灯データである「255」)を前記第2記憶手段に記憶させる所定記憶実行手段(第7の実施形態における主側MPU72のステップS5201の処理を実行する機能、第8の実施形態における主側MPU72のステップS5507の処理を実行する機能)を備えており、
前記所定状態実行手段は、前記第2記憶手段に前記所定状態情報が記憶されていることに基づいて前記表示手段を前記所定状態とすることを特徴とする特徴C3に記載の遊技機。
特徴C4によれば、所定状態情報が第2記憶手段に記憶される構成であることにより、第1記憶手段及び第2記憶手段に加えて所定状態情報を設定するための専用の記憶手段を設けることを不要としながら、表示手段を所定状態とすることができる。また、表示手段にて特定表示が行われている状態から表示手段が所定状態である状態への切り替え、及び表示手段が所定状態である状態から表示手段にて特定表示が行われている状態への切り替えを行うための処理構成を簡素化することができる。
特徴C5.絵柄を変動表示する絵柄表示手段(リール32L,32M,32R)と、
当該絵柄表示手段における絵柄の変動表示を開始させるべく操作される開始操作手段(スタートレバー41)と、
前記開始操作手段の操作が行われたことに基づいて前記絵柄表示手段の加速制御(第1の実施形態におけるステップS1001~ステップS1002の処理、第7の実施形態におけるステップS5301~ステップS5305の処理)を実行する所定加速制御手段(第1の実施形態における主側MPU72のステップS1001~ステップS1002の処理を実行する機能、第7の実施形態における主側MPU72のステップS5301~ステップS5305の処理を実行する機能)と、
を備え、
前記所定状況は、前記開始操作手段の操作が行われたことに基づいて、前記絵柄表示手段の加速制御が開始されるタイミングよりも前のタイミングにおいて開始される状況であり、
前記所定状態は、前記次に開始された所定状況において前記絵柄表示手段の加速制御が完了する前に終了することを特徴とする特徴C3又はC4に記載の遊技機。
特徴C5によれば、絵柄表示手段の加速制御が完了する前に表示手段が所定状態である状態を終了させることにより、絵柄表示手段の加速制御が完了する前に表示手段にて特定表示を行うことが可能な状態とすることができる。
特徴C6.前記絵柄表示手段における絵柄の変動表示を停止させるべく操作される停止操作手段(ストップボタン42~44)を備え、
前記所定表示情報は、前記停止操作手段の操作態様(ストップボタン42~44を操作する順序)の種類を示す情報であり、
前記所定表示は、前記停止操作手段の操作態様を報知する表示であり、
前記特定表示実行手段は、前記所定状況において前記停止操作手段の操作態様が報知されない場合に、前記表示手段にて前記特定表示を行わせることを特徴とする特徴C5に記載の遊技機。
特徴C6によれば、表示手段にて所定表示を行うことにより停止操作手段の操作態様を報知することができる。また、表示手段にて特定表示が行われる。上記特徴C5を備え、所定状態は絵柄表示手段の加速制御が完了する前に終了するため、所定状況において停止操作手段の操作態様の報知が行われない場合には、表示手段にて特定表示が行われている状態で絵柄表示手段の加速制御が完了するようにすることができる。
特徴C7.前記表示手段を所定状態(第7及び第8の実施形態では全消灯状態、第9の実施形態では兼用表示部66にて非誘導表示が実行されている状態)とする所定状態発生手段を備え、
前記所定状態発生手段は、前記表示手段にて前記特定表示が行われている状態から前記表示手段が所定状態である状態への切り替えを行う所定状態切替手段(第7の実施形態における主側MPU72のステップS5201の処理を実行する機能、第8の実施形態における主側MPU72のステップS5507の処理を実行する機能、第9の実施形態における主側MPU72のステップS5706の処理を実行する機能)を備えており、
前記第2記憶実行手段は、前記表示手段が前記所定状態である状態において前記第2記憶手段に前記特定表示情報を記憶させることにより前記表示手段が前記所定状態である状態から前記表示手段にて前記特定表示が行われている状態への切り替えが行われるようにする特定表示情報設定手段(第1の実施形態における主側MPU72のステップS1208の処理を実行する機能、第7の実施形態における主側MPU72のステップS5304の処理を実行する機能、第8の実施形態における主側MPU72のステップS5604の処理を実行する機能)を備えていることを特徴とする特徴C1乃至C6のいずれか1に記載の遊技機。
特徴C7によれば、表示手段にて特定表示が行われている状態の途中で表示手段が所定状態である状態とすることにより、表示手段にて特定表示が行われている状態が長時間に亘って継続されてしまうことを防止できる。
特徴C8.前記所定状態切替手段は、前記第2記憶手段に所定状態情報(第8の実施形態において付与数カウンタ74eに設定される消灯データである「255」)が記憶されていることに基づいて、前記表示手段を前記所定状態とする手段(主側MPU72のステップS5401、ステップS5402及びステップS5411の処理を実行する機能)、又は前記第1記憶手段に所定状態情報(第9の実施形態において停止順種別カウンタ74mに設定される非誘導データである「10」)が記憶されていることに基づいて、前記表示手段を前記所定状態とする手段(主側MPU72におけるステップS5802~ステップS5804及びステップS5810の処理を実行する機能)を備えていることを特徴とする特徴C7に記載の遊技機。
特徴C8によれば、所定状態情報が第1記憶手段に記憶される構成及び所定状態情報が第2記憶手段に記憶される構成のいずれにおいても、第1記憶手段及び第2記憶手段に加えて所定状態情報を設定するための専用の記憶手段を設けることを不要としながら、表示手段を所定状態とすることができる。所定状態情報が第2記憶手段に記憶される構成では、表示手段にて特定表示が行われている状態から表示手段が所定状態である状態への切り替え、及び表示手段が所定状態である状態から表示手段にて特定表示が行われている状態への切り替えを行うための処理構成を簡素化することができる。
特徴C9.前記表示手段にて前記特定表示が行われている状態において、前記所定表示の実行条件が成立したか否かを判定する所定表示判定処理(第8の実施形態におけるステップS5501~ステップS5503の処理、第9の実施形態におけるステップS5701~ステップS5703の処理)を実行する所定表示判定手段(第8の実施形態における主側MPU72のステップS5501~ステップS5503の処理を実行する機能、第9の実施形態における主側MPU72のステップS5701~ステップS5703の処理の処理を実行する機能)を備え、
前記第1記憶実行手段は、前記所定表示判定処理にて前記所定表示の実行条件が成立したと判定された場合に、前記第1記憶手段に前記所定表示情報を記憶させることにより前記表示手段にて前記特定表示が行われている状態から前記表示手段にて前記所定表示が行われている状態への切り替えが行われるようにし、
前記所定状態切替手段は、前記所定表示判定処理にて前記所定表示の実行条件が成立しなかったと判定された場合に、前記表示手段にて前記特定表示が行われている状態から前記表示手段が前記所定状態である状態への切り替えを行うことを特徴とする特徴C7又はC8に記載の遊技機。
特徴C9によれば、表示手段にて特定表示が行われている状態において所定判定処理が実行され、当該所定判定処理にて所定表示の実行条件が成立したと判定された場合には、表示手段にて特定表示が行われている状態から表示手段にて所定表示が行われている状態への切り替えが行われる。これにより、表示手段にて特定表示が長く継続されてしまうことを防止できる。また、所定判定処理にて所定表示の実行条件が成立しなかった判定された場合には、表示手段にて特定表示が行われている状態から表示手段が所定状態である状態への切り替えが行われる。これにより、所定表示の実行条件が成立しなかったと判定されて表示手段にて所定表示が実行されない場合においても、表示手段にて特定表示が行われている状態が長く継続してしまうことを防止することができる。
特徴C10.絵柄を変動表示する絵柄表示手段(リール32L,32M,32R)と、
当該絵柄表示手段における絵柄の変動表示を開始させるべく操作される開始操作手段(スタートレバー41)と、
前記絵柄表示手段における絵柄の変動表示を停止させるべく操作される停止操作手段(ストップボタン42~44)と、
前記絵柄の変動表示が開始された後に前記停止操作手段の操作が行われることにより当該絵柄の変動表示を停止させることが可能な特定状況(ストップボタン42~44の操作が有効化されている状況)を開始させる特定状況開始手段(第1の実施形態における主側MPU72のステップS1002~ステップS1003の処理を実行する機能)と、
を備え、
前記特定表示情報設定手段は、前記所定表示判定処理にて前記所定表示の実行条件が成立しなかったと判定された場合に、前記特定状況が開始されるタイミングよりも後のタイミング(第8の実施形態において全消灯状態の継続時間が経過して消灯時間カウンタ74δの値が「0」となるタイミング)において、前記第2記憶手段に前記特定表示情報を記憶させることにより前記表示手段が前記所定状態である状態から前記表示手段にて前記特定表示が行われている状態への切り替えを行うことを特徴とする特徴C9に記載の遊技機。
特徴C10によれば、特定状況が開始されるタイミングよりも後のタイミングにおいて、表示手段が所定状態である状態から表示手段にて特定表示が行われている状態への切り替えが行われる構成とすることにより、特定状況が開始されるタイミング又は当該タイミングよりも前のタイミングにおいて表示手段が所定状態である状態から表示手段にて特定表示が行われている状態への切り替えが行われる構成と比較して、表示手段が所定状態である状態を長く継続させることができる。これにより、表示手段が所定状態である状態を遊技者や遊技ホールの管理者に認識され易くすることができる。
特徴C11.絵柄を変動表示する絵柄表示手段(リール32L,32M,32R)と、
当該絵柄表示手段における絵柄の変動表示を開始させるべく操作される開始操作手段(スタートレバー41)と、
前記絵柄表示手段における絵柄の変動表示を停止させるべく操作される停止操作手段(ストップボタン42~44)と、
を備え、
前記所定表示情報は、前記停止操作手段の操作態様(ストップボタン42~44を操作する順序)の種類を示す情報であり、
前記所定表示は、前記停止操作手段の操作態様を報知する表示であることを特徴とする特徴C1乃至C10のいずれか1に記載の遊技機。
特徴C11によれば、表示手段にて行われる所定表示の表示内容に基づいて、停止操作手段の操作態様を把握可能とすることができる。
特徴C12.前記特定表示情報は、遊技者に付与された遊技価値(メダル、仮想メダル、遊技媒体)の数を示す情報であり、
前記特定表示は、遊技者に付与された前記遊技価値の数を報知する表示であることを特徴とする特徴C1乃至C11のいずれか1に記載の遊技機。
特徴C12によれば、表示手段にて行われる特定表示の表示内容に基づいて、遊技者に付与された遊技価値の数を把握可能とすることができる。
特徴C13.前記第2記憶実行手段は、前記特定表示情報として、遊技者に前記遊技価値が付与されなかったことを示す第1特定表示情報(付与数カウンタ74eに設定される「0」という情報)を前記第2記憶手段に記憶させる第1特定表示情報設定手段(第1の実施形態における主側MPU72のステップS607及びステップS612の処理を実行する機能)を備えており、
前記第2表示制御手段は、前記第1記憶手段に前記所定表示情報が記憶されていない状態であり、且つ前記第2記憶手段に前記第1特定表示情報が記憶されている状態である場合に、当該第1特定表示情報に基づいて前記表示手段にて、前記特定表示として、遊技者に前記遊技価値が付与されなかったことを示す第1特定表示(「00」の付与数表示)を行わせることを特徴とする特徴C12に記載の遊技機。
特徴C13によれば、表示手段にて行われる第1特定表示を確認することにより、遊技者に遊技価値が付与されなかったことを把握可能とすることができる。上記特徴C1及び上記特徴C12の構成を備え、第1記憶手段に所定表示情報が記憶されていない場合において、第2記憶手段に記憶されている特定表示情報に基づいて表示手段にて遊技者に付与された遊技価値の数を報知する特定表示が行われる構成において、遊技者に遊技価値が付与されなかった場合にも第2記憶手段に記憶されている第1特定表示情報に基づいて表示手段にて第1特定表示が行われる。これにより、第1記憶手段に所定表示情報が記憶されていない場合において、第2記憶手段に記憶されている特定表示情報に基づいて表示手段にて特定表示を行うための処理構成を簡素化することができる。
なお、特徴C1~C13の構成に対して、特徴A1~A19、特徴B1~B9、特徴C1~C13、特徴D1~D7、特徴E1~E6、特徴F1~F9、特徴G1~G7のうちいずれか1又は複数の構成を適用してもよい。これにより、その組み合わせた構成による相乗的な効果を奏することが可能となる。
上記特徴C群の特徴に係る発明によれば、以下の課題を解決することが可能である。
遊技機としてパチンコ遊技機やスロットマシンが知られている。例えば、パチンコ遊技機では、遊技球を貯留する貯留部を備えており、当該貯留部に貯留された遊技球が遊技球発射装置に案内されて、遊技者の発射操作に応じて遊技領域に向けて発射される。そして、例えば遊技領域に設けられた入球部に遊技球が入球した場合に、例えば抽選処理が実行されたり、例えば遊技者が使用可能な遊技球の数を増加させるための処理が実行される。
スロットマシンでは、メダルなどの遊技価値がベットされている状況でスタートレバーが操作されて新たなゲームが開始される場合に制御手段にて抽選処理が実行される。また、抽選処理が実行された場合には制御手段にて回転開始制御が実行されることによりリールの回転が開始され、当該リールの回転中にストップボタンが操作された場合には制御手段にて回転停止制御が実行されることによりリールの回転が停止される。そして、リールの回転停止後の停止結果が抽選処理の当選役に対応したものである場合には、当該当選役に対応した特典が遊技者に付与される。
ここで、上記例示等のような遊技機においては、表示手段の表示制御が好適に実行される必要があり、この点について未だ改良の余地がある。
<特徴D群>
特徴D1.判定対象の数値情報(インデックス値カウンタ74fの値)が、所定の最小値(第1,第10~第13の実施形態では「0」)と所定の最大値(第1,第10~第13の実施形態では「255」)との間の数値範囲のうちこれら所定の最小値及び最大値の両方を含まない基準数値範囲(第1の実施形態における抽選結果対応処理では「1」~「9」の数値範囲、第1,第10~第13の実施形態における開始時上乗せ用処理では「11」~「15」の数値範囲)に含まれているか否かを特定する数値特定手段(第1の実施形態における主側MPU72の行番号「1213」~行番号「1215」の命令を実行する機能、主側MPU72の行番号「1302」~行番号「1304」の命令を実行する機能、第10の実施形態における主側MPU72の行番号「1402」~行番号「1404」の命令を実行する機能、第11の実施形態における主側MPU72の行番号「1502」~行番号「1504」の命令を実行する機能、第12の実施形態における主側MPU72のステップS6003~ステップS6005の処理を実行する機能、第13の実施形態における主側MPU72の行番号「1602」~行番号「1604」の命令を実行する機能)と、
当該数値特定手段により前記判定対象の数値情報が前記基準数値範囲に含まれていることが特定されたことに基づいて、所定の処理(第1の実施形態における行番号「1216」~行番号「1217」の命令を実行する処理、行番号「1305」~行番号「1309」の命令を実行する処理、第10の実施形態における行番号「1405」~行番号「1409」の命令を実行する処理、第11の実施形態における行番号「1505」~行番号「1511」の命令を実行する処理、第12の実施形態におけるステップS6006~ステップS6020の処理、第13の実施形態における行番号「1605」~行番号「1609」の命令を実行する処理)を実行する所定処理実行手段(第1の実施形態における主側MPU72の行番号「1216」~行番号「1217」の命令を実行する機能、主側MPU72の行番号「1305」~行番号「1309」の命令を実行する機能、第10の実施形態における主側MPU72の行番号「1405」~行番号「1409」の命令を実行する機能、第11の実施形態における主側MPU72の行番号「1505」~行番号「1511」の命令を実行する機能、第12の実施形態における主側MPU72のステップS6006~ステップS6020の処理を実行する機能、第13の実施形態における主側MPU72の行番号「1605」~行番号「1609」の命令を実行する機能)と、
を備え、
前記数値特定手段は、
前記基準数値範囲の最小値及び最大値のうち一方である第1境界値(抽選結果対応処理では「9」、開始時上乗せ用処理では「11」)が前記所定の最小値及び前記所定の最大値のうち大小関係において対応する側の値(抽選結果対応処理では「255」、開始時上乗せ用処理では「0」)となり前記基準数値範囲の最小値及び最大値のうち他方である第2境界値(抽選結果対応処理では「1」、開始時上乗せ用処理では「15」)が前記第1境界値を前記対応する側の値とするための変動分、変動させた変動後境界値(抽選結果対応処理では「247」、開始時上乗せ用処理では「4」)となるようにすることを可能とする所定演算(第1の実施形態における行番号「1302」のSUB命令を実行する処理、行番号「1213」のADD命令を実行する処理、第10の実施形態における行番号「1402」のSUB命令を実行する処理、第11の実施形態における行番号「1502」のSUB命令を実行する処理、第12の実施形態におけるステップS6003の処理、第13の実施形態における行番号「1602」のSUB命令を実行する処理)を前記判定対象の数値情報に対して実行する所定演算実行手段(第1の実施形態における主側MPU72の行番号「1302」のSUB命令を実行する機能、主側MPU72の行番号「1213」のADD命令を実行する機能、第10の実施形態における主側MPU72の行番号「1402」のSUB命令を実行する機能、第11の実施形態における主側MPU72の行番号「1502」のSUB命令を実行する機能、第12の実施形態における主側MPU72のステップS6003の処理を実行する機能、第13の実施形態における主側MPU72の行番号「1602」のSUB命令を実行する機能)と、
前記判定対象の数値情報に対する前記所定演算の実行後の演算結果(演算後にAレジスタ101bに格納されている数値情報)と前記変動後境界値との大小関係を特定することで、前記判定対象の数値情報が前記基準数値範囲に含まれているか否かを特定する特定実行手段(第1の実施形態における主側MPU72の行番号「1214」~行番号「1215」の命令を実行する機能、主側MPU72の行番号「1303」~行番号「1304」の命令を実行する機能、第10の実施形態における主側MPU72の行番号「1403」~行番号「1404」の命令を実行する機能、第11の実施形態における主側MPU72の行番号「1503」~行番号「1504」の命令を実行する機能、第12の実施形態における主側MPU72のステップS6004~ステップS6005の処理を実行する機能、第13の実施形態における主側MPU72の行番号「1603」~行番号「1604」の命令を実行する機能)と、
を備えていることを特徴とする遊技機。
特徴D1によれば、判定対象の数値情報に対して所定演算を実行し、当該所定演算の実行後の演算結果と変動後境界値との大小関係を特定することで、判定対象の数値情報が基準数値範囲に含まれているか否かを特定することにより、判定対象の数値情報が基準数値範囲に含まれているか否かを特定するために当該判定対象の数値情報が基準数値範囲の最小値以上であるか否かを特定する処理を実行するとともに当該判定対象の数値情報が基準数値範囲の最大値以下であるか否かを特定する処理を実行する構成と比較して、判定対象の数値情報が基準数値範囲であるか否かを特定するための処理構成を簡素化することができる。
特徴D2.前記所定演算実行手段は、前記所定演算として、前記判定対象の数値情報から前記基準数値範囲の最小値である前記第1境界値を減算する所定算術演算(第1の実施形態における行番号「1302」のSUB命令、第10の実施形態における行番号「1402」のSUB命令、第11の実施形態における行番号「1502」のSUB命令、第12の実施形態におけるステップS6003の処理、第13の実施形態における行番号「1602」のSUB命令)を実行する所定算術演算実行手段(第1の実施形態における主側MPU72の行番号「1302」の命令を実行する機能、第10の実施形態における主側MPU72の行番号「1402」の命令を実行する機能、第11の実施形態における主側MPU72の行番号「1502」の命令を実行する機能、第12の実施形態における主側MPU72のステップS6003の処理を実行する機能、第13の実施形態における主側MPU72の行番号「1602」の命令を実行する機能)を備えており、
前記所定算術演算は、前記判定対象の数値情報が前記第1境界値以上の数値情報である場合には当該判定対象の数値情報よりも前記第1境界値だけ小さい数値情報が前記所定算術演算の実行後の演算結果となり、前記判定対象の数値情報が前記基準数値範囲の最大値である前記第2境界値である場合には当該第2境界値よりも前記第1境界値だけ小さい前記変動後境界値が前記所定算術演算の実行後の演算結果となり、前記判定対象の数値情報が前記第1境界値未満の数値情報である場合には前記変動後境界値よりも大きい数値情報が前記所定算術演算の実行後の演算結果となる演算であり、
前記特定実行手段は、前記判定対象の数値情報に対する前記所定算術演算の実行後の演算結果が前記変動後境界値以下であることを特定することで、前記判定対象の数値範囲が前記基準数値範囲に含まれていることを特定する数値範囲特定手段(第1の実施形態における主側MPU72の行番号「1303」~行番号「1304」の命令を実行する機能、第10の実施形態における主側MPU72の行番号「1403」~行番号「1404」の命令を実行する機能、第11の実施形態における主側MPU72の行番号「1503」~行番号「1504」の命令を実行する機能、第12の実施形態における主側MPU72のステップS6004~ステップS6005の処理を実行する機能、第13の実施形態における主側MPU72の行番号「1603」~行番号「1604」の命令を実行する機能)を備えていることを特徴とする特徴D1に記載の遊技機。
特徴D2によれば、判定対象の数値情報が基準数値範囲の最大値である第2境界値よりも大きい数値情報である場合には変動後境界値よりも大きい数値情報が所定算術演算の実行後の演算結果となる。また、判定対象の数値情報が基準数値範囲の最小値未満の数値情報である場合には変動後境界値よりも大きい数値情報が所定算術演算の実行後の演算結果となる。このため、判定対象の数値情報が基準数値範囲に含まれていない数値情報である場合には、変動後境界値よりも大きい数値情報を所定算術演算の実行後の演算結果とすることができる。一方、判定対象の数値情報が基準数値範囲に含まれている数値情報(第1境界値以上であるとともに第2境界値以下である数値情報)である場合には変動後境界値以下の数値情報が所定算術演算の実行後の演算結果となる。このため、所定算術演算の実行後の演算結果が変動後境界以下であるか否かの判定を行い、当該判定において所定算術演算の実行後の演算結果が変動後境界以下であることを特定することにより判定対象の数値範囲が基準数値範囲に含まれていることを特定することができる。これにより、判定対象の数値情報が基準数値範囲の最小値以上であるか否かの判定及び判定対象の数値情報が基準数値範囲の最大値以下であるか否かの判定、という2回の判定を行う構成と比較して、判定対象の数値情報が基準数値範囲に含まれていることを特定するために必要となる判定処理の回数を低減することができるとともに、判定対象の数値情報が基準数値範囲に含まれていることを特定するための処理構成を簡素化することができる。
特徴D3.前記所定算術演算の実行後の演算結果と、前記所定の最小値よりも大きい値であり且つ前記変動後境界値未満の値である所定境界値(第1の実施形態における開始時上乗せ用処理では「3」)と、の大小関係に基づいて、前記判定対象の数値情報が前記基準数値範囲のうち前記第1境界値を含む第1基準数値範囲(第1の実施形態における開始時上乗せ用処理では「11」~「13」の数値範囲)及び前記第2境界値を含む第2基準数値範囲(第1の実施形態における開始時上乗せ用処理では「14」~「15」の数値範囲)のいずれに含まれているかを特定する所定数値特定手段(第1の実施形態における主側MPU72の行番号「1306」及び行番号「1307」の命令を実行する機能)を備えていることを特徴とする特徴D2に記載の遊技機。
特徴D3によれば、所定算術演算の実行後の演算結果に基づいて判定対象の数値情報が基準数値範囲に含まれていることを特定した後、当該所定算術演算の実行後の演算結果と所定境界値との大小関係に基づいて、判定対象の数値情報が基準数値範囲のうち第1基準数値範囲及び第2基準数値範囲のいずれに含まれているかを特定することにより、判定対象の数値情報が所定基準数値範囲の最小値以上であるか否かの判定及び判定対象の数値情報が所定基準数値範囲の最大値以下であるか否かの判定、という2つの判定を行う構成と比較して、判定対象の数値情報が基準数値範囲のうち第1基準数値範囲及び第2基準数値範囲のいずれに含まれているかを特定するための処理構成を簡素化することができる。
特徴D4.前記所定境界値を表すために必要なビット数(第1の実施形態における開始時上乗せ用処理では2ビット)は、前記第1基準数値範囲と前記第2基準数値範囲との境界値(「14」)を表すために必要なビット数(4ビット)よりも少ないビット数であることを特徴とする特徴D3に記載の遊技機。
特徴D4によれば、上記特徴D2の構成を備え、所定算術演算は判定対象の数値情報から基準数値範囲の最小値を減算する演算であることにより、所定境界値を表すために必要なビット数を、第1基準数値範囲と第2基準数値範囲との境界値を表すために必要なビット数よりも少ないビット数とすることが可能となっている。所定境界値を示す情報のビット数を抑えることにより、所定算術演算の実行後の演算結果が所定境界値以上であるか否かを判定する処理を実行するために記憶しておく情報のデータ容量を低減することができる。
特徴D5.前記所定算術演算の実行後の演算結果から、前記所定の最小値よりも大きい値であり且つ前記変動後境界値未満の値である特定境界値(第11の実施形態では「2」)を減算する特定算術演算(第11の実施形態における行番号「1506」のCP命令)を実行する特定算術演算手段(第11の実施形態における主側MPU72の行番号「1506」の命令を実行する機能)と、
前記特定算術演算の結果を利用して特定の処理(第11の実施形態における第1上乗せ抽選、第2上乗せ抽選又は第3上乗せ抽選を実行するための処理)を実行する特定処理実行手段(第11の実施形態における主側MPU72の行番号「1505」~行番号「1511」の命令を実行する機能)と、
を備えていることを特徴とする特徴D2に記載の遊技機。
特徴D5によれば、所定算術演算の実行後の演算結果を用いて特定の処理を実行するために利用する情報(特定算術演算の結果)を生成することにより、所定算術演算とは無関係に判定対象の数値情報を用いて特定の処理を実行するために利用する情報を生成する構成と比較して、特定の処理を実行するために利用する情報を生成するための処理構成を簡素化することができる。
特徴D6.前記所定算術演算の実行後の演算結果が前記特定境界値と同一の数値情報である場合に前記特定算術演算において発生する第1事象(行番号「1506」におけるCP命令の演算結果が「0」となる事象)が発生したことに基づいて特定情報(「1」という情報)が設定される第1情報記憶領域(ゼロフラグZF)と、
前記所定算術演算の実行後の演算結果が前記特定境界値未満の数値情報である場合に前記特定算術演算において発生する第2事象(行番号「1506」におけるCP命令の実行中に最大ビット目への桁借りが発生する事象)が発生したことに基づいて前記特定情報が設定される第2情報記憶領域(キャリーフラグCF)と、
を備え、
前記特定処理実行手段は、
前記特定算術演算の実行後に、前記第1情報記憶領域に前記特定情報が設定されている場合に第1特定処理(第11の実施形態における第3上乗せ抽選を実行するための処理)を実行する第1特定処理実行手段(第11の実施形態における主側MPU72の行番号「1508」、行番号「1509」及び行番号「1511」の命令を実行する機能)と、
前記特定算術演算の実行後に、前記第2情報記憶領域に前記特定情報が設定されている場合に第2特定処理(第11の実施形態における第2上乗せ抽選を実行するための処理)を実行する第2特定処理実行手段(第11の実施形態における第3上乗せ抽選を実行するための処理)を実行する第2特定処理実行手段(第11の実施形態における主側MPU72の行番号「1510」及び行番号「1511」の命令を実行する機能)と、
前記特定算術演算の実行後に、前記第1情報記憶領域及び前記第2情報記憶領域のいずれにも前記特定情報が設定されていない場合に第3特定処理(第11の実施形態における第1上乗せ抽選処理を実行するための処理)を実行する第3特定処理実行手段(第11の実施形態における主側MPU72の行番号「1505」、行番号「1507」、行番号「1509」及び行番号「1511」の命令を実行する機能)と、
を備えていることを特徴とする特徴D5に記載の遊技機。
特徴D6によれば、判定対象の数値情報に対応する態様で、第1特定処理が実行される場合、第2特定処理が実行される場合及び第3特定処理が実行される場合を生じさせることができる。所定算術演算の実行後の演算結果に基づいて判定対象の数値情報が基準数値範囲に含まれていることを特定した場合に、当該所定算術演算の実行後の演算結果を利用して特定算術演算を行い、当該特定算術演算の実行後における第1情報記憶領域及び第2情報記憶領域の状態に基づいて第1特定処理、第2特定処理及び第3特定処理のいずれかを実行する構成である。このため、判定対象の数値情報が基準数値範囲の最小値よりも特定境界値だけ大きい値未満であるか否かを判定するための演算、及び判定対象の数値情報が基準数値範囲の最小値よりも特定境界値だけ大きい値であるか否かを判定するための演算、という2つの演算を行う構成と比較して、判定対象の数値情報が基準数値範囲に含まれている場合に当該判定対象の数値情報に対応する態様で、第1特定処理が実行される場合、第2特定処理が実行される場合及び第3特定処理が実行される場合を生じさせるために必要となる演算の数を低減することができる。これにより、判定対象の数値情報が基準数値範囲に含まれている場合に当該判定対象の数値情報に対応する態様で第1特定処理が実行される場合、第2特定処理が実行される場合及び第3特定処理が実行される場合を生じさせるための処理構成を簡素化することができる。
特徴D7.前記特定境界値を表すために必要なビット数(第11の実施形態では2ビット)は、前記基準数値範囲の最小値よりも前記特定境界値だけ大きい値(第11の実施形態では「11」)を表すために必要なビット数(4ビット)よりも少ないビット数であることを特徴とする特徴D5又はD6に記載の遊技機。
特徴D7によれば、上記特徴D2の構成を備え、所定算術演算は判定対象の数値情報から基準数値範囲の最小値を減算する演算であることにより、特定境界値を表すために必要なビット数を、基準数値範囲の最小値よりも特定境界値だけ大きい値を表すために必要なビット数よりも少ないビット数とすることが可能となっている。特定境界値を示す情報のビット数を抑えることにより、特定算術演算を実行するために記憶しておく情報のデータ容量を低減することができる。
なお、特徴D1~D7の構成に対して、特徴A1~A19、特徴B1~B9、特徴C1~C13、特徴D1~D7、特徴E1~E6、特徴F1~F9、特徴G1~G7のうちいずれか1又は複数の構成を適用してもよい。これにより、その組み合わせた構成による相乗的な効果を奏することが可能となる。
<特徴E群>
特徴E1.実行される命令の内容に応じて第1状態(第1の実施形態における電源遮断待機処理ではジャンプフラグJFの値が「1」である状態、AT状態信号設定処理ではジャンプフラグJFの値が「0」である状態)及び第2状態(電源遮断待機処理ではジャンプフラグJFの値が「0」である状態、AT状態信号設定処理ではジャンプフラグJFの値が「1」である状態)のいずれかの状態をとる所定記憶領域(ジャンプフラグJF)と、
前記所定記憶領域が前記第1状態である状態において所定ジャンプ命令(第1の実施形態における行番号「1002」のJRS命令、行番号「1110」のJRS命令)が実行対象の命令となった場合には当該所定ジャンプ命令にジャンプ先として設定されている所定プログラムアドレス(電源遮断待機処理では「ADR101」、AT状態信号設定処理では「ADR114」)までジャンプし、前記所定記憶領域が前記第2状態である状態において前記所定ジャンプ命令が実行対象の命令となった場合には当該所定ジャンプ命令にジャンプ先として設定されている前記所定プログラムアドレスにジャンプすることなく当該所定ジャンプ命令の次の命令が設定されているプログラムアドレスに進む所定ジャンプ命令実行手段(JRS実行回路107、主側MPU72における行番号「1002」のJRS命令を実行する機能、主側MPU72における行番号「1110」のJRS命令を実行する機能)と、
を備え、
前記所定ジャンプ命令が設定されている所定プログラム(電源遮断待機処理のプログラム、AT状態信号設定処理のプログラム)には、前記所定ジャンプ命令よりも先に実行対象となる命令として、所定処理(第1の実施形態における行番号「1001」の命令を実行する処理、行番号「1109」の命令を実行する処理)を実行するための所定命令(第1の実施形態における主側MPU72にて実行される行番号「1001」のOUT命令、行番号「1109」のXOR命令)が設定されており、
前記所定記憶領域は、前記所定命令が実行された場合に前記第1状態となることを特徴とする遊技機。
特徴E1によれば、所定記憶領域が第1状態である状態において所定ジャンプ命令が実行対象の命令となった場合に所定プログラムアドレスまでジャンプする構成において、所定記憶領域は所定命令が実行された場合に第1状態となる。また、所定プログラムにおいて、当該所定命令は所定ジャンプ命令よりも先に実行対象となる。このため、所定プログラムにおいて所定ジャンプ命令が実行対象となった場合にジャンプ先の所定プログラムアドレスにジャンプさせることができる。所定命令は、所定処理を実行するための命令であるとともに、所定ジャンプ命令が実行対象となる前に所定記憶領域が第1状態である状態とするための命令である。このため、所定処理を実行するための命令とは別の命令として所定ジャンプ命令が実行対象となる前に所定記憶領域を第1状態とするための命令が設けられている構成と比較して、所定処理を実行するとともに所定ジャンプ命令が実行対象となる前に所定記憶領域が第1状態である状態とするためのプログラムのデータ容量を低減することができる。
特徴E2.前記所定命令が実行された場合には、当該所定命令の実行前における前記所定記憶領域の状態とは無関係に、前記所定記憶領域が前記第1状態となることを特徴とする特徴E1に記載の遊技機。
特徴E2によれば、所定命令の実行前における所定記憶領域の状態が第1状態である場合及び所定命令の実行前における所定記憶領域の状態が第2状態である場合のいずれにおいても、所定ジャンプ命令が実行対象となった場合に所定プログラムアドレスまでジャンプさせることができる。
特徴E3.前記所定プログラムアドレスは、前記所定プログラムが当該所定プログラムにおける先頭のプログラムアドレスから実行された場合に前記所定ジャンプ命令よりも先に実行対象となる命令が設定されているプログラムアドレスであり、
前記所定プログラムアドレスから前記所定ジャンプ命令が設定されているプログラムアドレスまでの間に設定されている命令が繰り返し実行されることを特徴とする特徴E1又はE2に記載の遊技機。
特徴E3によれば、一の所定ジャンプ命令を利用して、所定プログラムアドレスから所定ジャンプ命令が設定されているプログラムアドレスまでの間に設定されている命令を繰り返し実行することができる。上記特徴E1の構成を備え、所定プログラムには、所定ジャンプ命令よりも先に実行対象となる命令として所定命令が設定されており、当該所定命令が実行された場合に所定記憶領域は第1状態となる構成であるため、所定プログラムアドレスから所定ジャンプ命令が設定されているプログラムアドレスまでの間に設定されている命令が繰り返し実行されている状態において、当該所定ジャンプ命令が実行対象となっても所定プログラムアドレスにジャンプしない場合が生じることを防止できる。
特徴E4.前記所定プログラムアドレスから前記所定ジャンプ命令が設定されているプログラムアドレスまでの間に設定されている命令は、動作電力の供給が停止されるまで繰り返し実行されることを特徴とする特徴E3に記載の遊技機。
特徴E4によれば、一の所定ジャンプ命令を利用して、動作電力の供給が停止されるまで、所定プログラムアドレスから所定ジャンプ命令が設定されているプログラムアドレスまでの間に設定されている命令が繰り返し実行されている状態とすることができる。これにより、動作電力の供給が停止されるタイミングとは無関係に、動作電力の供給再開時に異常が発生しない態様で、当該動作電力の供給が停止されるようにすることができる。
特徴E5.所定の事象(ウォッチドッグタイマ86aに初期値が設定される事象)が発生しない状態が所定期間(240ミリ秒間)に亘って継続された場合に、特定状態(プログラムがリセットされた状態)とする特定状態発生手段(異常監視回路86)を備え、
前記所定プログラムアドレスから前記所定ジャンプ命令が設定されているプログラムアドレスまでの間に設定されている命令には、前記所定の事象を発生させるための命令(第1の実施形態における行番号「1001」の命令)が含まれていることを特徴とする特徴E4に記載の遊技機。
特徴E5によれば、所定プログラムアドレスから所定ジャンプ命令が設定されているプログラムアドレスまでの間に設定されている命令が繰り返し実行されている状態となった場合に、所定の事象が発生しない状態が所定期間に亘って継続してしまうことを防止できる。これにより、所定プログラムアドレスから所定ジャンプ命令が設定されているプログラムアドレスまでの間に設定されている命令が繰り返し実行されている状態となった後、動作電力の供給が停止されるタイミングよりも前のタイミングにおいて特定状態とされてしまうことを防止できる。
特徴E6.前記所定命令は、前記所定プログラムアドレスにジャンプした後に、所定の記憶手段(AT状態信号カウンタ74w)に設定される情報(「0」という値)を生成するための命令であることを特徴とする特徴E1乃至E5のいずれか1に記載の遊技機。
特徴E6によれば、所定命令は、所定の記憶手段に設定される情報を生成するための命令であるとともに、所定ジャンプ命令が実行対象となる前に所定記憶領域が第1状態である状態とするための命令である。このため、所定の記憶手段に設定される情報を生成するための命令とは別の命令として所定ジャンプ命令が実行対象となる前に所定記憶領域を第1状態とするための命令が設けられている構成と比較して、所定の記憶手段に設定される情報を生成するとともに所定ジャンプ命令が実行対象となる前に所定記憶領域が第1状態である状態とするためのプログラムのデータ容量を低減することができる。
なお、特徴E1~E6の構成に対して、特徴A1~A19、特徴B1~B9、特徴C1~C13、特徴D1~D7、特徴E1~E6、特徴F1~F9、特徴G1~G7のうちいずれか1又は複数の構成を適用してもよい。これにより、その組み合わせた構成による相乗的な効果を奏することが可能となる。
<特徴F群>
特徴F1.特定プログラム(開始時上乗せ用処理のプログラム)において、第1所定プログラムアドレス(第1の実施形態では「ADR131」、第10の実施形態では「ADR141」、第11の実施形態では「ADR152」、第13の実施形態では「ADR171」)には、第2所定プログラムアドレス(第1の実施形態では「ADR132」、第10の実施形態では「ADR142」、第11の実施形態では「ADR153」、第13の実施形態では「ADR172」)をジャンプ先とする第1所定ジャンプ命令(第1の実施形態では行番号「1307」のJRS命令、第10の実施形態では行番号「1407」のJR命令、第11の実施形態では行番号「1509」のJR命令、第13の実施形態では行番号「1607」のJRS命令)が設定されており、
前記第2所定プログラムアドレスには、第3所定プログラムアドレス(第1、第10及び第11の実施形態では「ADR133」、第13の実施形態では抽選実行処理のプログラムの開始アドレス)をジャンプ先とする第2所定ジャンプ命令(第1の実施形態では行番号「1309」のJP命令、第10の実施形態では「1409」のJP命令、第11の実施形態では行番号「1511」のJP命令、第13の実施形態では行番号「1609」のCALL命令)が設定されていることを特徴とする遊技機。
特徴F1によれば、第2所定プログラムアドレスに第3所定プログラムアドレスをジャンプ先とする第2所定ジャンプ命令が設定されている構成において、第1所定プログラムアドレスに第2所定プログラムアドレスをジャンプ先とする第1所定ジャンプ命令を設定することにより、第1所定プログラムアドレスに第3所定プログラムアドレスをジャンプ先とするジャンプ命令を設定しなくても、第3所定プログラムアドレスにジャンプするまでプログラムアドレスを変更する処理以外の処理が実行されない態様で、第1所定プログラムアドレスから第2所定プログラムアドレスを経由して第3所定プログラムアドレスまで、ジャンプさせることができる。これにより、第1所定プログラムアドレスから第3所定プログラムアドレスまでジャンプさせるために当該第1所定プログラムアドレスに設定する第1所定ジャンプ命令として、第2所定プログラムアドレスをジャンプ先に設定することが可能であるとともに第3所定プログラムアドレスをジャンプ先に設定することが不可であるジャンプ命令を選択可能とすることができる。
特徴F2.前記第1所定プログラムアドレスに設定されている前記第1所定ジャンプ命令が実行されることにより前記第2所定プログラムアドレスにジャンプして前記第2所定ジャンプ命令が実行対象となった場合、前記第3所定プログラムアドレスにジャンプすることを特徴とする特徴F1に記載の遊技機。
特徴F2によれば、上記特徴F1の構成を備え、第1所定プログラムアドレスには第3所定プログラムアドレスではなく第2所定プログラムアドレスをジャンプ先とする第1所定ジャンプ命令が設定されている構成において、第1所定ジャンプ命令により第2所定プログラムアドレスにジャンプした場合には、第3所定プログラムアドレスにジャンプしない場合を生じさせることなく、第3所定プログラムアドレスにジャンプさせることができる。
特徴F3.前記第2所定ジャンプ命令は、当該第2所定ジャンプ命令が実行対象となった場合に無条件で前記第3所定プログラムアドレスにジャンプする命令(無条件ジャンプ命令としてのJP命令)であることを特徴とする特徴F1又はF2に記載の遊技機。
特徴F3によれば、第2所定ジャンプ命令が実行対象となった場合に第3所定プログラムアドレスにジャンプしない場合を生じさせることなく当該第3所定プログラムアドレスにジャンプさせることができる状況とするための命令を特定プログラムに設定することを不要としながら、第2所定ジャンプ命令が実行対象となった場合に無条件で第3所定プログラムアドレスにジャンプさせることができる。このため、第1所定プログラムアドレスから第1所定ジャンプ命令により第2所定プログラムアドレスにジャンプして当該第2所定プログラムアドレスに設定されている第2所定ジャンプ命令が実行対象となった場合に第3所定プログラムアドレスにジャンプしない場合を生じさせることなく当該第3所定プログラムアドレスにジャンプさせるための処理構成を簡素化することができる。また、第1所定プログラムアドレスから第1所定ジャンプ命令により第2所定プログラムアドレスにジャンプすることなく当該第2所定プログラムアドレスに設定されている第2所定ジャンプ命令が実行対象となった場合にも、第3所定プログラムアドレスにジャンプしない場合を生じさせることなく当該第3所定プログラムアドレスにジャンプさせることができる。
特徴F4.前記第2所定ジャンプ命令は、前記第1所定ジャンプ命令が実行されて前記第2所定プログラムアドレスにジャンプした場合以外の場合にも実行対象となることを特徴とする特徴F1乃至F3のいずれか1に記載の遊技機。
特徴F4によれば、第2所定ジャンプ命令は、第1所定プログラムアドレスから第1所定ジャンプ命令により第2所定プログラムアドレスにジャンプした場合にさらに第3所定プログラムアドレスにジャンプさせるためだけに設定されている命令ではない。第1所定プログラムアドレスから第1所定ジャンプ命令により第2所定プログラムアドレスにジャンプした場合以外の場合にも実行対象となる命令を利用して、第1所定プログラムアドレスから第1所定ジャンプ命令により第2所定プログラムアドレスにジャンプした場合にさらに第3所定プログラムアドレスにジャンプさせる構成とすることにより、特定プログラムに設定されているジャンプ命令の数を抑えながら、第2所定プログラムアドレスに設定されている第2所定ジャンプ命令により第3所定プログラムアドレスまでジャンプさせることができる。
特徴F5.前記第1所定ジャンプ命令には、当該第1所定ジャンプ命令が設定されている前記第1所定プログラムアドレスを基準としてジャンプ先の前記第2所定プログラムアドレスを特定するための情報(1ビットの符号及び4ビットの数値情報を含む差分の情報)が設定されていることを特徴とする特徴F1乃至F4のいずれか1に記載の遊技機。
特徴F5によれば、第1所定ジャンプ命令に第2所定プログラムアドレスの全体を示す情報が設定されている構成と比較して、第2所定プログラムアドレスを特定可能とするために第1所定ジャンプ命令に設定される情報のデータ容量を低減することができる。これにより、第1所定ジャンプ命令のデータ容量を低減することができるとともに、当該第1所定ジャンプ命令が設定されている特定プログラムのデータ容量を低減することができる。
特徴F6.前記第1所定ジャンプ命令は、当該第1所定ジャンプ命令が設定されている前記第1所定プログラムアドレスを基準として所定プログラムアドレス範囲(「JRS命令が設定されているプログラムアドレス+1-16」~「JRS命令が設定されているプログラムアドレス+1+15」の範囲)に存在しているプログラムアドレスをジャンプ先に設定可能な命令であり、
前記第3所定プログラムアドレスは、前記第1所定プログラムアドレスを基準として前記所定プログラムアドレス範囲には存在していないプログラムアドレスであることを特徴とする特徴F1乃至F5のいずれか1に記載の遊技機。
特徴F6によれば、第1所定ジャンプ命令のジャンプ先として設定可能なプログラムアドレスが第1所定プログラムアドレスを基準として所定プログラムアドレス範囲に存在しているプログラムアドレスであるとともに、当該所定プログラムアドレス範囲には第3所定プログラムアドレスが存在していない構成において、第1所定プログラムアドレスに設定されている第1所定ジャンプ命令により第2所定プログラムアドレスにジャンプし、当該第2所定プログラムアドレスに設定されている第2所定ジャンプ命令により第3所定プログラムアドレスにジャンプさせることができる。このため、第1所定プログラムアドレスから他のプログラムアドレスを経由することなく直接的に第3所定プログラムアドレスにジャンプさせることが可能なジャンプ命令を第1所定プログラムアドレスに設定することを不要とすることができる。これにより、第1所定プログラムアドレスに設定されるジャンプ命令のデータ容量を低減することができる。
特徴F7.前記第2所定ジャンプ命令には、ジャンプ先の前記第3所定プログラムアドレスの全体を示す情報が設定されていることを特徴とする特徴F1乃至F6のいずれか1に記載の遊技機。
特徴F7によれば、第2所定ジャンプ命令を利用することにより、当該第2所定ジャンプ命令が設定されているプログラムアドレス(第2所定プログラムアドレス)とは無関係に、ジャンプ先のプログラムアドレス(第3所定プログラムアドレス)を指定することができる。このため、第1所定プログラムアドレスから第1所定ジャンプ命令ではジャンプ先として指定することができないプログラムアドレス(第3所定プログラムアドレス)が存在している場合においても、第1所定プログラムアドレスに設定されている第1所定ジャンプ命令により第2所定プログラムアドレスにジャンプさせることにより、第1所定プログラムアドレスから第1所定ジャンプ命令ではジャンプ先として指定することができないプログラムアドレスまで、第2所定ジャンプ命令によりジャンプさせることができる。これにより、ジャンプ先を指定するための情報として第3所定プログラムアドレスの全体を示す情報が設定されているジャンプ命令が第1所定プログラムアドレスに設定されている構成と比較して、第1所定プログラムアドレスに設定されるジャンプ命令のデータ容量を低減することができる。
特徴F8.実行される命令の内容に応じて所定状態(第1及び第13の実施形態ではジャンプフラグJFの値が「1」である状態、第10の実施形態ではゼロフラグZFの値が「1」である状態、第11の実施形態ではキャリーフラグCFの値が「1」である状態)及び特定状態(第1及び第13の実施形態ではジャンプフラグJFの値が「0」である状態、第10の実施形態ではゼロフラグZFの値が「0」である状態、第11の実施形態ではキャリーフラグCFの値が「0」である状態)のいずれかの状態をとる所定記憶領域(第1及び第13の実施形態ではジャンプフラグJF、第10の実施形態ではゼロフラグZF、第11の実施形態ではキャリーフラグCF)を備え、
前記第1所定ジャンプ命令は、前記所定記憶領域の状態が前記所定状態であるというジャンプ条件が満たされた場合にジャンプ先の前記第2所定プログラムアドレスにジャンプする命令であることを特徴とする特徴F1乃至F7のいずれか1に記載の遊技機。
特徴F8によれば、第1所定ジャンプ命令の前に実行される命令により所定記憶領域の状態が所定状態となっている状態において第1所定ジャンプ命令が実行対象となった場合には、第2所定プログラムアドレスまでジャンプし、当該第2所定プログラムアドレスに設定されている第2所定ジャンプ命令により第3所定プログラムアドレスまでジャンプさせることができる。また、第1所定ジャンプ命令の前に実行される命令により所定記憶領域の状態が特定状態となっている状態において第1所定ジャンプ命令が実行対象となった場合には、第2所定プログラムアドレスまでジャンプしないようにすることができる。第1所定ジャンプ命令が実行対象となる場合における所定記憶領域の状態に応じて、第1所定プログラムアドレスから第2所定プログラムアドレスを経由して第3所定プログラムアドレスまでジャンプする場合と、第2所定プログラムアドレスにジャンプしない場合とを生じさせることができる。これにより、第1所定ジャンプ命令が実行対象となる場合における所定記憶領域の状態に応じて異なる処理が実行されるようにすることができる。
特徴F9.前記特定プログラムにおいて、前記第1所定ジャンプ命令が実行対象の命令となった状態において当該第1所定ジャンプ命令に設定されているジャンプ条件が成立しなかった場合には、当該第1所定ジャンプ命令の次以降に設定されている命令に基づいて所定設定処理(行番号「1308」のLD命令)を実行した後に、前記第2所定ジャンプ命令が設定されている前記第2所定プログラムアドレスに進むことを特徴とする特徴F1乃至F8のいずれか1に記載の遊技機。
特徴F9によれば、第1所定ジャンプ命令が実行対象となった状況に応じて、所定設定処理を実行することなく第2プログラムアドレスにジャンプする場合と、所定設定処理を実行した後に当該第2プログラムアドレスに進む場合とを生じさせることができる。これにより、所定設定処理が実行されていない状態で第3所定プログラムアドレスにジャンプする場合と、所定設定処理が実行された後に第3所定プログラムアドレスにジャンプする場合とを生じさせることができる。
なお、特徴F1~F9の構成に対して、特徴A1~A19、特徴B1~B9、特徴C1~C13、特徴D1~D7、特徴E1~E6、特徴F1~F9、特徴G1~G7のうちいずれか1又は複数の構成を適用してもよい。これにより、その組み合わせた構成による相乗的な効果を奏することが可能となる。
<特徴G群>
特徴G1.所定のプログラム(第1の実施形態における抽選結果対応処理を実行するためのプログラム、第11及び第12の実施形態における開始時上乗せ用処理を実行するためのプログラム)において、所定の第1プログラムアドレス(第1の実施形態では「ADR122」、第11の実施形態では「ADR151」、第12の実施形態では「ADR161」)には、所定の第2プログラムアドレス(第1の実施形態では「ADR125」、第11の実施形態では「ADR162」、第12の実施形態では「ADR162」)をジャンプ先とする所定の第1ジャンプ命令(第1の実施形態では行番号「1208」のJRS命令、第11の実施形態では行番号「1507」のJR命令、第12の実施形態ではステップS6009のJR命令)が設定されており、
前記所定の第2プログラムアドレス又は前記所定の第2プログラムアドレスに設定されている命令が実行対象となった後に実行対象となるプログラムアドレスには、所定の第3プログラムアドレス(第1の実施形態では「ADR126」、第11の実施形態では「ADR153」、第12の実施形態では「ADR163」)をジャンプ先とする所定の第2ジャンプ命令(第1の実施形態では行番号「1215」のJRS命令、第11の実施形態では行番号「1509」のJR命令、第12の実施形態ではステップS6015のJR命令)が設定されており、
前記所定の第1ジャンプ命令が実行対象の命令となった場合、及び前記所定の第2ジャンプ命令が実行対象の命令となった場合に、ジャンプ条件が成立しているか否かを特定するために参照される所定参照記憶領域(ゼロフラグZF、キャリーフラグCF、ジャンプフラグJF)を備え、
前記所定参照記憶領域の状態は、前記所定の第1ジャンプ命令の実行前後で維持されることを特徴とする遊技機。
特徴G1によれば、所定の第2プログラムアドレスに所定の第3プログラムアドレスをジャンプ先とする所定の第2ジャンプ命令が設定されている構成では、所定の第1プログラムアドレスに所定の第2プログラムアドレスをジャンプ先とする所定の第1ジャンプ命令を設定することにより、所定の第1プログラムアドレスに所定の第3プログラムアドレスをジャンプ先とするジャンプ命令を設定しなくても、所定の第3プログラムアドレスにジャンプするまでプログラムアドレスを変更する処理以外の処理が実行されない態様で、所定の第1プログラムアドレスから所定の第2プログラムアドレスを経由して所定の第3プログラムアドレスまで、ジャンプさせることができる。これにより、所定の第1プログラムアドレスから所定の第3プログラムアドレスまでジャンプさせるために当該所定の第1プログラムアドレスに設定する所定の第1ジャンプ命令として、所定の第2プログラムアドレスをジャンプ先に設定することが可能であるとともに所定の第3プログラムアドレスをジャンプ先に設定することが不可であるジャンプ命令を選択可能とすることができる。
所定参照記憶領域の状態が所定の第1ジャンプ命令の実行前後において維持される構成であることにより、所定の第1ジャンプ命令が実行対象となったタイミングにおける所定参照記憶領域の状態に基づいて、所定の第2ジャンプ命令が実行対象となった場合に当該所定の第2ジャンプ命令におけるジャンプ条件の成立の有無が特定される。これにより、所定の第1プログラムアドレスにおいて所定の第1ジャンプ命令におけるジャンプ条件が満たされて所定の第2プログラムアドレスにジャンプした場合に、所定の第2ジャンプ命令のジャンプ条件が満たされて所定の第3プログラムアドレスにジャンプするようにするための処理構成を簡素化することができる。
所定の第2プログラムアドレスが実行対象となった後に実行対象となるプログラムアドレスに所定の第3プログラムアドレスをジャンプ先とする所定の第2ジャンプ命令が設定されている構成では、所定の第1プログラムアドレスから所定の第2プログラムアドレスにジャンプし、当該所定の第2プログラムアドレスから所定の第2ジャンプ命令が設定されているプログラムアドレスの1つ前のプログラムアドレスまでに設定されている命令を実行した後に、所定の第3プログラムアドレスにジャンプさせることができる。所定参照記憶領域の状態が所定の第1ジャンプ命令の実行前後において維持される構成であるため、所定の第2プログラムアドレスから所定の第2ジャンプ命令が設定されているプログラムアドレスの1つ前のプログラムアドレスまでに設定されている命令の実行前後において所定参照記憶領域の状態が維持される場合、所定の第1ジャンプ命令が実行対象となったタイミングにおける所定参照記憶領域の状態に基づいて、所定の第2ジャンプ命令が実行対象となった場合に当該所定の第2ジャンプ命令におけるジャンプ条件の成立の有無が特定される。これにより、所定の第1プログラムアドレスにおいて所定の第1ジャンプ命令におけるジャンプ条件が満たされて所定の第2プログラムアドレスにジャンプし、所定の第2プログラムアドレスから所定の第2ジャンプ命令が設定されているプログラムアドレスの1つ前のプログラムアドレスまでに設定されている命令を実行した後に、所定の第2ジャンプ命令のジャンプ条件が満たされて所定の第3プログラムアドレスにジャンプするようにするための処理構成を簡素化することができる。
特徴G2.前記所定の第2ジャンプ命令が実行対象となった場合に参照されるのは、前記所定の第1ジャンプ命令が実行対象となった場合に参照される前記所定参照記憶領域と同一の前記所定参照記憶領域であり、
前記所定の第2ジャンプ命令においてジャンプ条件が満たされる前記所定参照記憶領域の状態(ジャンプフラグJFの値が「1」である状態)は、前記所定の第1ジャンプ命令においてジャンプ条件が満たされる前記所定参照記憶領域の状態と同一の状態(ジャンプフラグJFの値が「1」である状態)であることを特徴とする特徴G1に記載の遊技機。
特徴G2によれば、所定の第2ジャンプ命令が実行対象となった場合に参照されるのは、所定の第1ジャンプ命令が実行対象となった場合に参照される所定参照記憶領域と同一の所定参照記憶領域であるため、所定の第1ジャンプ命令が実行対象となった場合に参照される所定参照記憶領域とは別の所定参照記憶領域として所定の第2ジャンプ命令が実行対象となった場合に参照される所定参照記憶領域が設定されている構成と比較して、所定参照記憶領域のデータ容量を低減することができる。
所定の第2プログラムアドレスに所定の第2ジャンプ命令が設定されている構成では、所定の第1プログラムアドレスに所定の第2プログラムアドレスをジャンプ先とする所定の第1ジャンプ命令が設定されている構成としながら、所定の第1ジャンプ命令におけるジャンプ条件が満たされて所定の第2プログラムアドレスにジャンプした場合に、所定の第2ジャンプ命令におけるジャンプ条件が満たされない場合を生じさせることなく、所定の第2ジャンプ命令におけるジャンプ条件も満たされて所定の第3プログラムアドレスにジャンプするようにすることができる。これにより、所定の第1プログラムアドレスから所定の第2プログラムアドレスにジャンプさせる所定の第1ジャンプ命令のデータ容量が、所定の第1プログラムアドレスから他のプログラムアドレスを経由することなく直接的に所定の第3プログラムアドレスにジャンプさせることが可能なジャンプ命令のデータ容量よりも小さい場合には、所定の第1プログラムアドレスに設定されるジャンプ命令のデータ容量を低減することができる。
特徴G3.前記所定の第1ジャンプ命令が実行対象となった場合に参照される前記所定参照記憶領域の状態は、当該所定の第1ジャンプ命令が実行対象となる前に実行される命令の内容に応じて変化することを特徴とする特徴G1又はG2に記載の遊技機。
特徴G3によれば、所定の第1ジャンプ命令が実行対象となる前に実行される命令の内容に応じて変化する所定参照記憶領域の状態に応じて、所定の第1プログラムアドレスから所定の第2プログラムアドレスを経由して所定の第3プログラムアドレスまでジャンプする場合と、当該所定の第2プログラムアドレスにはジャンプしない場合とを生じさせることができる。これにより、所定の第1ジャンプ命令が実行対象となる前に実行される命令とは別の命令として所定参照記憶領域の状態を変化させる命令を設ける必要がある構成と比較して、所定の第1プログラムアドレスから所定の第2プログラムアドレスを経由して所定の第3プログラムアドレスまでジャンプする場合と、当該所定の第2プログラムアドレスにはジャンプしない場合とを生じさせるための処理構成を簡素化することができるとともに、所定のプログラムのデータ容量を低減することができる。
特徴G4.前記所定の第1ジャンプ命令が実行対象となり、当該所定の第1ジャンプ命令におけるジャンプ条件が満たされなかった場合には、所定の処理(行番号「1209」~行番号「1214」に設定されている命令を実行する処理)を実行した後に、前記所定の第2プログラムアドレスに進むことを特徴とする特徴G1乃至G3のいずれか1に記載の遊技機。
特徴G4によれば、所定の第1ジャンプ命令が実行対象となった場合に、所定の第1プログラムアドレスから所定の処理を実行することなく所定の第2プログラムアドレスにジャンプする場合と、所定の処理を実行した後に所定の第2プログラムアドレスに進む場合とを生じさせることができる。これにより、所定の第1ジャンプ命令が実行対象となった状況に対応する処理を実行することができる。所定の処理を実行した後に実行対象となるジャンプ命令(所定の第2ジャンプ命令)は、所定の第1プログラムアドレスから所定の処理を実行することなく所定の第2プログラムアドレスにジャンプした場合に実行対象となるジャンプ命令(所定の第2ジャンプ命令)と同一のジャンプ命令である。このため、所定の第1プログラムアドレスから所定の処理を実行することなく所定の第2プログラムアドレスにジャンプした場合に実行対象となるジャンプ命令とは別のジャンプ命令として所定の処理を実行した後に実行対象となるジャンプ命令が設定されている構成と比較して、ジャンプ命令の数を抑えることができるとともに、所定のプログラムのデータ容量を低減することができる。
特徴G5.前記所定の第1ジャンプ命令には、当該所定の第1ジャンプ命令が設定されている前記所定の第1プログラムアドレスを基準としてジャンプ先である前記所定の第2プログラムアドレスを特定するための情報(JRS命令では1ビットの符号及び4ビットの数値情報を含む差分の情報、JR命令では1ビットの符号及び7ビットの数値情報を含む差分の情報)が設定されていることを特徴とする特徴G1乃至G4のいずれか1に記載の遊技機。
特徴G5によれば、所定の第1ジャンプ命令に、所定の第1プログラムアドレスを基準として所定の第2プログラムアドレスを特定するための情報が設定されている構成であることにより、所定の第2プログラムアドレスの全体を示す情報が設定されている構成と比較して、ジャンプ先のプログラムアドレスを指定するために所定の第1ジャンプ命令に設定されている情報のデータ容量を低減することができる。これにより、所定の第1ジャンプ命令のデータ容量を低減することができるとともに、当該所定の第1ジャンプ命令が設定されている所定のプログラムのデータ容量を低減することができる。
特徴G6.前記所定の第1ジャンプ命令は、当該所定の第1ジャンプ命令が設定されている前記所定の第1プログラムアドレスを基準として所定プログラムアドレス範囲(「JRS命令が設定されているプログラムアドレス+1-16」~「JRS命令が設定されているプログラムアドレス+1+15」の範囲、「JR命令が設定されているプログラムアドレス+2-128」~「JR命令が設定されているプログラムアドレス+2+127」の範囲)に存在しているプログラムアドレスをジャンプ先に設定可能な命令であり、
前記所定の第2ジャンプ命令のジャンプ先として設定されている前記所定の第3プログラムアドレスは、前記所定の第1ジャンプ命令が設定されている前記所定の第1プログラムアドレスを基準として前記所定プログラムアドレス範囲には存在しないプログラムアドレスであることを特徴とする特徴G5に記載の遊技機。
特徴G6によれば、所定の第1プログラムアドレスから他のプログラムアドレスを経由することなく直接的に所定の第3プログラムアドレスにジャンプさせることが可能なジャンプ命令を所定の第1プログラムアドレスに設定しなくても、所定の第2プログラムアドレスをジャンプ先とする所定の第1ジャンプ命令を所定の第1プログラムアドレスに設定することにより、所定の第2プログラムアドレスに設定されている所定の第2ジャンプ命令を利用して、所定の第1プログラムアドレスから、当該所定の第1プログラムアドレスを基準として所定プログラムアドレス範囲には存在しない第3所定プログラムアドレスまでジャンプさせることができる。このため、所定の第1プログラムアドレスから所定の第2プログラムアドレスにジャンプさせる所定の第1ジャンプ命令のデータ容量が、所定の第1プログラムアドレスから他のプログラムアドレスを経由することなく直接的に所定の第3プログラムアドレスにジャンプさせることが可能なジャンプ命令のデータ容量よりも小さい場合には、所定の第1プログラムアドレスに設定されるジャンプ命令のデータ容量を低減することができる。
特徴G7.前記所定の第2ジャンプ命令には、当該所定の第2ジャンプ命令が設定されているプログラムアドレスを基準としてジャンプ先である前記所定の第3プログラムアドレスを特定するための情報(JRS命令では1ビットの符号及び4ビットの数値情報を含む差分の情報、JR命令では1ビットの符号及び7ビットの数値情報を含む差分の情報)が設定されていることを特徴とする特徴G1乃至G6のいずれか1に記載の遊技機。
特徴G7によれば、所定の第2ジャンプ命令に、所定の第2プログラムアドレスを基準として所定の第3プログラムアドレスを特定するための情報が設定されている構成であることにより、所定の第3プログラムアドレスの全体を示す情報が設定されている構成と比較して、ジャンプ先のプログラムアドレスを指定するために所定の第2ジャンプ命令に設定されている情報のデータ容量を低減することができる。これにより、所定の第2ジャンプ命令のデータ容量を低減することができるとともに、当該所定の第2ジャンプ命令が設定されている所定のプログラムのデータ容量を低減することができる。
なお、特徴G1~G7の構成に対して、特徴A1~A19、特徴B1~B9、特徴C1~C13、特徴D1~D7、特徴E1~E6、特徴F1~F9、特徴G1~G7のうちいずれか1又は複数の構成を適用してもよい。これにより、その組み合わせた構成による相乗的な効果を奏することが可能となる。
上記特徴D群、上記特徴E群、上記特徴F群及び上記特徴G群の特徴に係る発明によれば、以下の課題を解決することが可能である。
遊技機としてパチンコ遊技機やスロットマシンが知られている。例えば、パチンコ遊技機では、遊技球を貯留する貯留部を備えており、当該貯留部に貯留された遊技球が遊技球発射装置に案内されて、遊技者の発射操作に応じて遊技領域に向けて発射される。そして、例えば遊技領域に設けられた入球部に遊技球が入球した場合に、例えば抽選処理が実行されたり、例えば遊技者が使用可能な遊技球の数を増加させるための処理が実行される。
スロットマシンでは、メダルなどの遊技価値がベットされている状況でスタートレバーが操作されて新たなゲームが開始される場合に制御手段にて抽選処理が実行される。また、抽選処理が実行された場合には制御手段にて回転開始制御が実行されることによりリールの回転が開始され、当該リールの回転中にストップボタンが操作された場合には制御手段にて回転停止制御が実行されることによりリールの回転が停止される。そして、リールの回転停止後の停止結果が抽選処理の当選役に対応したものである場合には、当該当選役に対応した特典が遊技者に付与される。
ここで、上記例示等のような遊技機においては、処理が好適に実行される必要があり、この点について未だ改良の余地がある。
以下に、以上の各特徴を適用し得る遊技機の基本構成を示す。
パチンコ遊技機:遊技者が操作する操作手段と、その操作手段の操作に基づいて遊技球を発射する遊技球発射手段と、その発射された遊技球を所定の遊技領域に導く球通路と、遊技領域内に配置された各遊技部品とを備え、それら各遊技部品のうち所定の通過部を遊技球が通過した場合に遊技者に特典を付与する遊技機。
スロットマシン等の回胴式遊技機:始動操作手段の操作に基づき周回体の回転を開始させ、停止操作手段の操作に基づき周回体の回転を停止させ、その停止後の絵柄に応じて遊技者に特典を付与する遊技機。
10…スロットマシン、32L…左リール、32M…中リール、32R…右リール、41…スタートレバー、42~44…ストップボタン、66…兼用表示部、72…主側MPU、73…主側ROM、73f…共通データテーブル、73g…共通データテーブル、74…主側RAM、74e…付与数カウンタ、74f…インデックス値カウンタ、74m…停止順種別カウンタ、74r…継続ゲーム数カウンタ、74s…合計獲得数カウンタ、74u…AT継続カウンタ、74v…最上位集約用エリア、74w…AT状態信号カウンタ、74β…BB最上位集約用エリア、74δ…消灯時間カウンタ、86…異常監視回路、86a…ウォッチドッグタイマ、92…演出側MPU、101b…Aレジスタ、107…JRS実行回路、CF…キャリーフラグ、FRm…第mフレーム、JF…ジャンプフラグ、SF…最上位フレーム、ZF…ゼロフラグ。

Claims (1)

  1. 判定対象の数値情報が、所定の最小値と所定の最大値との間の数値範囲のうちこれら所定の最小値及び所定の最大値の両方を含まない基準数値範囲に含まれているか否かを特定する数値特定手段と、
    当該数値特定手段により前記判定対象の数値情報が前記基準数値範囲に含まれていることが特定されたことに基づいて、所定の処理を実行する所定処理実行手段と、
    を備え、
    前記数値特定手段は、
    前記基準数値範囲の最小値である第1境界値が前記所定の最小値となり、前記基準数値範囲の最大値である第2境界値が前記第1境界値を前記所定の最小値とするための変動分、変動させた変動後境界値となるようにすることを可能とする所定算術演算を前記判定対象の数値情報に対して実行する所定演算実行手段と、
    前記判定対象の数値情報に対する前記所定算術演算の実行後の演算結果と前記変動後境界値との大小関係を特定することで、前記判定対象の数値情報が前記基準数値範囲に含まれているか否かを特定する特定実行手段と、
    を備え、
    前記所定算術演算は、前記判定対象の数値情報が前記第1境界値以上の数値情報である場合には当該判定対象の数値情報よりも前記第1境界値だけ小さい数値情報が前記所定算術演算の実行後の演算結果となり、前記判定対象の数値情報が前記基準数値範囲の最大値である前記第2境界値である場合には当該第2境界値よりも前記第1境界値だけ小さい前記変動後境界値が前記所定算術演算の実行後の演算結果となり、前記判定対象の数値情報が前記第1境界値未満の数値情報である場合には前記変動後境界値よりも大きい数値情報が前記所定算術演算の実行後の演算結果となる演算であり、
    前記特定実行手段は、前記判定対象の数値情報に対する前記所定算術演算の実行後の演算結果が前記変動後境界値以下であることを特定することで、前記判定対象の数値情報が前記基準数値範囲に含まれていることを特定する数値範囲特定手段を備え、
    本遊技機は、前記所定算術演算の実行後の演算結果と、前記所定の最小値よりも大きい値であり且つ前記変動後境界値未満の値である所定境界値と、の大小関係に基づいて、前記判定対象の数値情報が前記基準数値範囲のうち前記第1境界値を含む第1基準数値範囲及び前記第2境界値を含む第2基準数値範囲のいずれに含まれているかを特定する手段を備えていることを特徴とする遊技機。
JP2020159372A 2020-09-24 2020-09-24 遊技機 Active JP7354973B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2020159372A JP7354973B2 (ja) 2020-09-24 2020-09-24 遊技機
JP2023151811A JP2023164622A (ja) 2020-09-24 2023-09-20 遊技機

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020159372A JP7354973B2 (ja) 2020-09-24 2020-09-24 遊技機

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2023151811A Division JP2023164622A (ja) 2020-09-24 2023-09-20 遊技機

Publications (2)

Publication Number Publication Date
JP2022052869A JP2022052869A (ja) 2022-04-05
JP7354973B2 true JP7354973B2 (ja) 2023-10-03

Family

ID=80963172

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2020159372A Active JP7354973B2 (ja) 2020-09-24 2020-09-24 遊技機
JP2023151811A Pending JP2023164622A (ja) 2020-09-24 2023-09-20 遊技機

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2023151811A Pending JP2023164622A (ja) 2020-09-24 2023-09-20 遊技機

Country Status (1)

Country Link
JP (2) JP7354973B2 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009095498A (ja) 2007-10-17 2009-05-07 Daiichi Shokai Co Ltd 回胴式遊技機
JP2016129555A (ja) 2015-01-13 2016-07-21 株式会社三共 遊技機
JP2017176626A (ja) 2016-03-31 2017-10-05 サミー株式会社 スロットマシン
JP2018082816A (ja) 2016-11-22 2018-05-31 山佐株式会社 遊技機

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009095498A (ja) 2007-10-17 2009-05-07 Daiichi Shokai Co Ltd 回胴式遊技機
JP2016129555A (ja) 2015-01-13 2016-07-21 株式会社三共 遊技機
JP2017176626A (ja) 2016-03-31 2017-10-05 サミー株式会社 スロットマシン
JP2018082816A (ja) 2016-11-22 2018-05-31 山佐株式会社 遊技機

Also Published As

Publication number Publication date
JP2023164622A (ja) 2023-11-10
JP2022052869A (ja) 2022-04-05

Similar Documents

Publication Publication Date Title
JP2023024776A (ja) 遊技機
JP2023040265A (ja) 遊技機
JP7354973B2 (ja) 遊技機
JP7354974B2 (ja) 遊技機
JP7247997B2 (ja) 遊技機
JP7247998B2 (ja) 遊技機
JP7264137B2 (ja) 遊技機
JP2022171908A (ja) 遊技機
JP2023162394A (ja) 遊技機
JP7136072B2 (ja) 遊技機
JP2022052868A (ja) 遊技機
JP7491433B2 (ja) 遊技機
JP7308524B2 (ja) 遊技機
JP2023105057A (ja) 遊技機
JP2023076704A (ja) 遊技機
JP2024051063A (ja) 遊技機
JP2023029515A (ja) 遊技機
JP2022059130A (ja) 遊技機
JP2022059134A (ja) 遊技機
JP2022059128A (ja) 遊技機
JP2022059129A (ja) 遊技機
JP2022059135A (ja) 遊技機
JP2022085000A (ja) 遊技機
JP2022085002A (ja) 遊技機
JP2022084997A (ja) 遊技機

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220404

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20221118

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221129

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230127

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230328

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230526

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230822

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230904

R150 Certificate of patent or registration of utility model

Ref document number: 7354973

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150