(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-04-17
(45)【発行日】2023-04-25
(54)【発明の名称】遊技機
(51)【国際特許分類】
A63F 7/02 20060101AFI20230418BHJP
A63F 5/04 20060101ALI20230418BHJP
【FI】
A63F7/02 332B
A63F5/04 611B
(21)【出願番号】P 2020110024
(22)【出願日】2020-06-25
【審査請求日】2021-08-18
【前置審査】
(73)【特許権者】
【識別番号】000154679
【氏名又は名称】株式会社平和
(74)【代理人】
【識別番号】110000936
【氏名又は名称】弁理士法人青海国際特許事務所
(72)【発明者】
【氏名】田村 純一
(72)【発明者】
【氏名】杉山 純也
(72)【発明者】
【氏名】久保田 智裕
【審査官】荒井 誠
(56)【参考文献】
【文献】特開2018-126414(JP,A)
【文献】特開平05-265707(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
A63F 7/02
A63F 5/04
(57)【特許請求の範囲】
【請求項1】
遊技の進行に用いられる所定の基板において、CPUと、前記CPUに用いられるプログラムが格納されたROMと、前記プログラムにより更新される変数を保持するRAMと、を備える遊技機であって、
前記CPUは、
前記ROMから前記プログラムを読み出し、
前記プログラムに基づいて、
遊技の進行に基づいて変化する被乗数に乗数を乗算して、遊技利益に関する比率を求め、
前記被乗数は、3バイトで表され、
前記被乗数と前記乗数との乗算は、
16ビット乗算器における被乗数設定レジスタに前記被乗数のうちの2バイトを設定し、前記16ビット乗算器における乗数設定レジスタに前記乗数を設定することで、所定の時間後、第1乗算結果が生成され、
前記被乗数の残りの1バイトと前記乗数とを用いた8ビットの乗算命令により第2乗算結果が生成され、
前記第1乗算結果と前記第2乗算結果とを積算することで実行される遊技機。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、遊技者に遊技上の利益を付与するか否かを抽選により決定する遊技機に関する。
【背景技術】
【0002】
遊技機としてのパチンコ機では、遊技者のハンドル操作により遊技盤内の遊技領域に向かって遊技球が発射され、遊技領域を流下した遊技球が始動口に入球したことを条件に特別図柄に係る抽選が実行される。そして、特別図柄表示器に大当たりであることを示す特定の特別図柄が停止表示されると、通常の遊技に比べて遊技者に有利な大役遊技が開始され、遊技者は多くの賞球(遊技媒体、遊技価値)の払出を受けることが可能となる。また、遊技機としてのスロットマシンでは、遊技者によるメダル(遊技媒体、遊技価値)のベットおよびスタートスイッチの操作に応じて、当選役の抽選を行うとともに、種々の図柄が記された複数のリールが回転する。そして、抽選結果と遊技者によるストップスイッチの操作に応じてリールが順次停止され、払い出しの対象となるライン上である有効ライン上に、当選役に対応する図柄組み合わせが表示されると、所定枚数のメダルが払い出されるなど、遊技上の利益(以下、単に遊技利益という)が遊技者に付与されることとなる。
【0003】
しかし、例えば、スロットマシンでは、ボーナス遊技状態への移行頻度が偏ると射倖性が過度に高まってしまう懸念がある。そこで、メダルの投入枚数、払出枚数、リプレイ役の入賞の成否といった遊技情報を記憶し、その履歴を監視する技術が知られている(例えば、特許文献1)。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
上述したスロットマシンにおいて、ボーナス遊技状態のようなメダルの獲得性能が高い遊技状態が偏っているか否か判定するには、統括的かつ画一的な判断基準が必要である。例えば、ボーナス遊技等、役物の作動に基づいて払い出されたメダルの数である役物払出数を、総払出数で除算した役物比率を導出し、それが所定の範囲に含まれているか否かを判定することで、スロットマシンの適正さを把握できる。また、このような役物比率等を、管理者が、所定の確認処理を通じて目視できる構成とすることで、不正行為を防止することが可能となる。
【0006】
しかし、スロットマシンで用いられる演算装置は処理能力が低く、かかる演算装置で利用可能な乗算命令や除算命令は、被乗数、乗数、被除数、および、除数となる数値の範囲が制限されており、上記の役物払出数や総払出数が、その数値範囲を超えてしまうと、乗算命令や除算命令を単純に利用することができない。この場合、人が筆算で乗算や除算を行うのと同様、加算および減算を繰り返すプログラムを別途準備しなければならず、処理負荷の増大を招く場合がある。
【0007】
本発明は、このような課題に鑑み、処理負荷の増大を抑えつつ、遊技情報を適切に得ることが可能な遊技機を提供することを目的としている。
【課題を解決するための手段】
【0008】
上記課題を解決するために、遊技の進行に用いられる所定の基板において、CPUと、前記CPUに用いられるプログラムが格納されたROMと、前記プログラムにより更新される変数を保持するRAMと、を備える本発明の遊技機では、前記CPUは、前記ROMから前記プログラムを読み出し、前記プログラムに基づいて、遊技の進行に基づいて変化する被乗数に乗数を乗算して、遊技利益に関する比率を求め、前記被乗数は、3バイトで表され、前記被乗数と前記乗数との乗算は、16ビット乗算器における被乗数設定レジスタに前記被乗数のうちの2バイトを設定し、前記16ビット乗算器における乗数設定レジスタに前記乗数を設定することで、所定の時間後、第1乗算結果が生成され、前記被乗数の残りの1バイトと前記乗数とを用いた8ビットの乗算命令により第2乗算結果が生成され、前記第1乗算結果と前記第2乗算結果とを積算することで実行される。
【0009】
上記課題を解決するために、遊技の進行に用いられる所定の基板において、CPUと、前記CPUに用いられるプログラムが格納されたROMと、前記プログラムにより更新される変数を保持するRAMと、を備える本発明の他の遊技機では、前記CPUは、前記ROMから前記プログラムを読み出し、前記プログラムに基づいて、遊技の進行に基づいて変化する被乗数に乗数を乗算し、乗算した演算結果を被除数とし、前記被除数を除数で除算して、前記除数に対する前記被乗数の比率を求め、前記乗算は、被乗数設定レジスタに前記被乗数、乗数設定レジスタに前記乗数を設定することで、所定の時間後、乗算結果レジスタに乗算結果が生成される16ビット乗算器により実行され、前記被乗数および前記乗数の少なくとも一方は2バイトとなる。
【発明の効果】
【0010】
本発明によれば、処理負荷の増大を抑えつつ、遊技情報を適切に得ることが可能となる。
【図面の簡単な説明】
【0011】
【
図1】同時回し参考例に係る扉が開放された状態を示す遊技機の斜視図である。
【
図2】同時回し参考例に係る遊技機の正面図である。
【
図3】同時回し参考例に係る第2大入賞口を説明する図である。
【
図4】同時回し参考例に係る遊技の進行を制御する制御手段の内部構成を示すブロック図である。
【
図5】同時回し参考例に係るメインCPUが用いるメモリ領域のアドレスマップである。
【
図6】同時回し参考例に係る低確時大当たり決定乱数判定テーブルを説明する図である。
【
図7】同時回し参考例に係る高確時大当たり決定乱数判定テーブルを説明する図である。
【
図8】同時回し参考例に係る当たり図柄乱数判定テーブルおよび小当たり図柄乱数判定テーブルを説明する図である。
【
図9】同時回し参考例に係るリーチグループ決定乱数判定テーブルを説明する図である。
【
図10】同時回し参考例に係るリーチモード決定乱数判定テーブルを説明する図である。
【
図11】同時回し参考例に係る変動パターン乱数判定テーブルを説明する図である。
【
図12】同時回し参考例に係る変動時間決定テーブルを説明する図である。
【
図13】同時回し参考例に係る遊技状態および変動時間を説明する図である。
【
図14】同時回し参考例に係る特別電動役物作動ラムセットテーブルを説明する第1の図である。
【
図15】同時回し参考例に係る特別電動役物作動ラムセットテーブルを説明する第2の図である。
【
図16】同時回し参考例に係る遊技状態設定テーブルを説明する図である。
【
図17】同時回し参考例に係る当たり決定乱数判定テーブルを説明する図である。
【
図18】(a)は同時回し参考例に係る普通図柄変動時間データテーブルを説明する図であり、(b)は同時回し参考例に係る開閉制御パターンテーブルを説明する図である。
【
図19】同時回し参考例に係る本来の遊技性に則った遊技状態の遷移を説明する図である。
【
図20】同時回し参考例に係る適切に遊技が行われなかった場合の遊技状態の遷移を説明する図である。
【
図21】同時回し参考例に係る遊技機状態フラグを説明する図である。
【
図22】同時回し参考例に係る主制御基板におけるCPU初期化処理を説明する第1のフローチャートである。
【
図23】同時回し参考例に係る主制御基板におけるCPU初期化処理を説明する第2のフローチャートである。
【
図24】同時回し参考例に係る主制御基板におけるサブコマンド群セット処理を説明するフローチャートである。
【
図25】同時回し参考例に係る主制御基板における電源断時退避処理を説明するフローチャートである。
【
図26】同時回し参考例に係る主制御基板におけるタイマ割込み処理を説明するフローチャートである。
【
図27】同時回し参考例に係る主制御基板における設定関連処理を説明するフローチャートである。
【
図28】同時回し参考例に係る主制御基板におけるスイッチ管理処理を説明するフローチャートである。
【
図29】同時回し参考例に係る主制御基板におけるゲート通過処理を説明するフローチャートである。
【
図30】同時回し参考例に係る主制御基板における第1始動口通過処理を説明するフローチャートである。
【
図31】同時回し参考例に係る主制御基板における第2始動口通過処理を説明するフローチャートである。
【
図32】同時回し参考例に係る主制御基板における特別図柄乱数取得処理を説明するフローチャートである。
【
図33】同時回し参考例に係る主制御基板における取得時演出判定処理を説明するフローチャートである。
【
図34】同時回し参考例に係る主制御基板における大入賞口通過処理を説明するフローチャートである。
【
図35】同時回し参考例に係る特別遊技管理フェーズおよび特別電動役物遊技管理フェーズを説明する図である。
【
図36】同時回し参考例に係る主制御基板における特別遊技管理処理を説明するフローチャートである。
【
図37】同時回し参考例に係る主制御基板における特別図柄変動待ち処理を説明するフローチャートである。
【
図38】同時回し参考例に係る主制御基板における特別図柄当たり判定処理を説明するフローチャートである。
【
図39】同時回し参考例に係る主制御基板における特別図柄変動番号決定処理を説明するフローチャートである。
【
図40】同時回し参考例に係る主制御基板における回数切り管理処理を説明するフローチャートである。
【
図41】同時回し参考例に係る主制御基板における特別図柄変動中処理を説明するフローチャートである。
【
図42】同時回し参考例に係る主制御基板における図柄強制停止処理を説明するフローチャートである。
【
図43】同時回し参考例に係る主制御基板における特別図柄停止図柄表示処理を説明するフローチャートである。
【
図44】同時回し参考例に係る主制御基板における特別電動役物遊技管理処理を説明するフローチャートである。
【
図45】同時回し参考例に係る主制御基板における大入賞口開放前処理を説明するフローチャートである。
【
図46】同時回し参考例に係る主制御基板における大入賞口開閉切替処理を説明するフローチャートである。
【
図47】同時回し参考例に係る主制御基板における大入賞口開放制御処理を説明するフローチャートである。
【
図48】同時回し参考例に係る主制御基板における大入賞口閉鎖有効処理を説明するフローチャートである。
【
図49】同時回し参考例に係る主制御基板における大入賞口終了ウェイト処理を説明するフローチャートである。
【
図50】同時回し参考例に係る普通遊技管理フェーズを説明する図である。
【
図51】同時回し参考例に係る主制御基板における普通遊技管理処理を説明するフローチャートである。
【
図52】同時回し参考例に係る主制御基板における普通図柄変動待ち処理を説明するフローチャートである。
【
図53】同時回し参考例に係る主制御基板における普通図柄変動中処理を説明するフローチャートである。
【
図54】同時回し参考例に係る主制御基板における普通図柄停止図柄表示処理を説明するフローチャートである。
【
図55】同時回し参考例に係る主制御基板における普通電動役物入賞口開放前処理を説明するフローチャートである。
【
図56】同時回し参考例に係る主制御基板における普通電動役物入賞口開閉切替処理を説明するフローチャートである。
【
図57】同時回し参考例に係る主制御基板における普通電動役物入賞口開放制御処理を説明するフローチャートである。
【
図58】同時回し参考例に係る主制御基板における普通電動役物入賞口閉鎖有効処理を説明するフローチャートである。
【
図59】同時回し参考例に係る主制御基板における普通電動役物入賞口終了ウェイト処理を説明するフローチャートである。
【
図60】演出参考例に係るリーチなし変動パターンの変動演出の一例を説明する図である。
【
図61】演出参考例に係るノーマルリーチ変動パターンの変動演出の一例を説明する図である。
【
図62】演出参考例に係るハズレ時の発展リーチ変動パターンの変動演出の一例を説明する図である。
【
図63】演出参考例に係る大当たり時の発展リーチ変動パターンの変動演出の一例を説明する図である。
【
図64】演出参考例に係るリーチ発展演出が2回実行される場合の変動演出の一例を説明する図である。
【
図65】演出参考例に係る擬似連続リーチ変動パターンの変動演出の一例を説明する図である。
【
図66】演出参考例に係る変動演出決定テーブルを説明する図である。
【
図67】演出参考例に係る保留表示演出の一例を説明する図である。
【
図68】(a)は演出参考例に係る最終保留表示パターン決定テーブルを説明する図であり、(b)は演出参考例に係る1つ前保留表示パターン決定テーブルを説明する図である。
【
図69】演出参考例に係る副制御基板におけるサブCPU初期化処理を説明するフローチャートである。
【
図70】演出参考例に係る副制御基板におけるサブタイマ割込み処理を説明するフローチャートである。
【
図71】演出参考例に係る副制御基板における先読み指定コマンド受信処理を説明するフローチャートである。
【
図72】演出参考例に係る副制御基板における変動コマンド受信処理を説明するフローチャートである。
【
図73】スロットマシンの概略的な機械的構成を説明するための外観図である。
【
図74】スロットマシンの概略的な機械的構成を説明するための前面扉を開いた状態での外観図である。
【
図75】リールの図柄配列および有効ラインを説明する図である。
【
図76】スロットマシンの概略的な電気的構成を示したブロック図である。
【
図80】遊技状態の遷移を説明するための説明図である。
【
図81】演出状態の遷移を説明するための説明図である。
【
図82】主制御基板におけるCPU初期化処理を説明するフローチャートである。
【
図83】主制御基板におけるコールドスタート処理を説明するフローチャートである。
【
図84】主制御基板におけるエラー停止処理を説明するフローチャートである。
【
図85】主制御基板における設定値切り替え処理を説明するフローチャートである。
【
図86】主制御基板における初期化スタート処理を説明するフローチャートである。
【
図87】主制御基板における状態復帰処理を説明するフローチャートである。
【
図88】主制御基板における遊技開始処理を説明するフローチャートである。
【
図89】主制御基板における遊技メダル投入処理を説明するフローチャートである。
【
図90】主制御基板における内部抽選処理を説明するフローチャートである。
【
図91】主制御基板における図柄コード設定処理を説明するフローチャートである。
【
図92】主制御基板における回胴回転中処理を説明するフローチャートである。
【
図93】主制御基板における回胴停止処理を説明するフローチャートである。
【
図94】主制御基板における表示判定処理を説明するフローチャートである。
【
図95】主制御基板における払出処理を説明するフローチャートである。
【
図96】主制御基板における遊技移行処理を説明するフローチャートである。
【
図97】主制御基板における電源断時退避処理を説明するフローチャートである。
【
図98】主制御基板におけるタイマ割込み処理を説明するフローチャートである。
【
図99】メインCPU周辺の電気的な接続を説明するための図である。
【
図100】CPUコアの内部構成を示したブロック図である。
【
図103】主制御基板の外観を示した説明図である。
【
図104】比率表示部の表示態様を説明するための説明図である。
【
図105】役物比率の第1の演算例を示すフローチャートである。
【
図106】8ビットMUL命令のみを用いた第1の演算例を説明するための説明図である。
【
図107】第1の演算例を実現するための具体的な処理を示したフローチャートである。
【
図108】第1の演算例を実現するための具体的なコマンドの一例を示した図である。
【
図109】16ビット乗算器を用いた第2の演算例を説明するための説明図である。
【
図110】第2の演算例を実現するための具体的な処理を示したフローチャートである。
【
図111】第2の演算例を実現するための具体的なコマンドの一例を示した図である。
【
図112】第1の演算例を実現するための具体的なコマンドの一例を示した図である。
【
図113】2の累乗数を乗じた数の繰り返し減算を用いた第3の演算例を説明するための説明図である。
【
図114】第3の演算例を実現するための具体的な処理を示したフローチャートである。
【
図115】第3の演算例を実現するための具体的なコマンドの一例を示した図である。
【
図116】第4の演算例を実現するための具体的な処理を示したフローチャートである。
【
図117】第4の演算例を実現するための具体的なコマンドの一例を示した図である。
【
図118】第5の演算例を実現するための具体的な処理を示したフローチャートである。
【
図119】第5の演算例を実現するための具体的なコマンドの一例を示した図である。
【
図120】第6の演算例を実現するための具体的な処理を示したフローチャートである。
【
図121】第6の演算例を実現するための具体的なコマンドの一例を示した図である。
【
図123】主制御基板における電子部品の固定を説明する図である。
【
図124】主制御基板におけるビアホールを説明する図である。
【発明を実施するための形態】
【0012】
以下に添付図面を参照しながら、本発明の好適な実施形態について詳細に説明する。かかる実施形態に示す寸法、材料、その他具体的な数値等は、発明の理解を容易とするための例示にすぎず、特に断る場合を除き、本発明を限定するものではない。なお、本明細書および図面において、実質的に同一の機能、構成を有する要素については、同一の符号を付することにより重複説明を省略し、また本発明に直接関係のない要素は図示を省略する。
【0013】
本発明の実施形態では、遊技機として、パチンコ機とスロットマシンとをその順に例示し、その後、具体的な処理を詳述する。
【0014】
<パチンコ機>
本発明の実施例の理解を容易にするため、まず、同時回し参考例として、所謂同時回し機の機械的構成および電気的構成、および、各基板における具体的な処理を説明する。そして、演出参考例として、同時回し機において実行可能な具体的な演出や当該演出に係る具体的な処理を説明する。その後、本発明の実施例として、各参考例と異なる構成について具体的に説明する。
【0015】
<同時回し参考例>
図1は、同時回し参考例に係る遊技機100の斜視図であり、扉が開放された状態を示している。図示のように、遊技機100は、略矩形状に組まれた四辺によって囲繞空間が形成される外枠102と、この外枠102にヒンジ機構によって開閉自在に取り付けられた中枠104と、この中枠104に、ヒンジ機構によって開閉自在に取り付けられた前枠106と、を備えている。
【0016】
中枠104は、外枠102と同様に、略矩形状に組まれた四辺によって囲繞空間が形成されており、この囲繞空間に遊技盤108が保持されている。また、前枠106には、ガラス製または樹脂製の透過板110が保持されている。そして、これら中枠104および前枠106を外枠102に対して閉じると、遊技盤108と透過板110とが所定の間隔を維持して略平行に対面するとともに、遊技機100の正面側から、透過板110を介して遊技盤108が視認可能となる。
【0017】
図2は、同時回し参考例に係る遊技機100の正面図である。この図に示すように、前枠106の下部には、遊技機100の正面側に突出する操作ハンドル112が設けられている。この操作ハンドル112は、遊技者が回転操作可能に設けられており、遊技者が操作ハンドル112を回転させて発射操作を行うと、当該操作ハンドル112の回転角度に応じた強度で、不図示の発射機構によって遊技球が発射される。このようにして発射された遊技球は、遊技盤108に設けられたレール114a、114b間を上昇して遊技領域116に導かれることとなる。
【0018】
遊技領域116は、遊技盤108と透過板110との間隔に形成される空間であって、遊技球が流下または転動可能な領域である。遊技盤108には、多数の釘や風車(不図示)が設けられており、遊技領域116に導かれた遊技球が釘や風車に衝突して、不規則な方向に流下、転動するようにしている。
【0019】
遊技領域116は、発射機構の発射強度に応じて遊技球の進入度合いを互いに異にし、遊技球の打ち分けが可能な第1遊技領域116aおよび第2遊技領域116bを備えている。第1遊技領域116aは、遊技機100に正対した遊技者から見て遊技領域116の左側に位置し、第2遊技領域116bは、遊技機100に正対した遊技者から見て遊技領域116の右側に位置している。レール114a、114bが遊技領域116の左側にあることから、発射機構によって所定の強度未満の発射強度で発射された遊技球は第1遊技領域116aに進入し、所定の強度以上の発射強度で発射された遊技球は第2遊技領域116bに進入することとなる。
【0020】
また、遊技領域116には、遊技球が入球可能な一般入賞口118、第1固定始動口120A、第1可変始動口120B、第2始動口122、普図作動口125が設けられており、これら一般入賞口118、第1固定始動口120A、第1可変始動口120B、第2始動口122、普図作動口125に遊技球が入球すると、それぞれ所定の賞球が遊技者に払い出される。なお、以下では、第1固定始動口120Aおよび第1可変始動口120Bを総称して第1始動口120と呼ぶ。
【0021】
詳しくは後述するが、第1始動口120内には第1始動領域が設けられ、また、第2始動口122内には第2始動領域が設けられている。そして、第1始動口120または第2始動口122に遊技球が入球して第1始動領域または第2始動領域に遊技球が進入すると、予め設けられた複数の特別図柄の中からいずれか1の特別図柄を決定するための抽選が行われる。各特別図柄には、遊技者にとって有利な大役遊技や小当たり遊技の実行可否が対応付けられている。したがって、遊技者は、第1始動口120または第2始動口122に遊技球が入球すると、所定の賞球を獲得するのと同時に、種々の遊技利益を受ける権利獲得の機会を獲得することとなる。
【0022】
また、第1固定始動口120A、第2始動口122および普図作動口125は、遊技球が常時入球可能に開口した固定始動口で構成される。一方、第1可変始動口120Bには、可動片120bが開閉可能に設けられており、この可動片120bの状態に応じて、第1可変始動口120Bへの遊技球の進入容易性が変化する可変始動口で構成されている。具体的には、可動片120bは、通常、閉状態に維持されており、この間は、第1可変始動口120Bへの遊技球の入球が困難もしくは不可能となる。
【0023】
これに対して、遊技領域116(第2遊技領域116b)に設けられたゲート124を遊技球が通過するか、普図作動口125に遊技球が入球すると、後述する普通図柄の抽選が行われ、この抽選によって当たりに当選すると、可動片120bが所定時間、開状態に制御される。可動片120bが開状態になると、第1可変始動口120Bへの遊技球の入球が可能となる。このように、可動片120bは、第1可変始動口120Bへの遊技球の入球を可能とする開状態、および、開状態よりも第1可変始動口120Bへの遊技球の入球が困難もしくは不可能となる閉状態に変移する可動部材(始動可変入賞装置)として機能する。
【0024】
なお、第1固定始動口120Aは、第1遊技領域116aを流下する遊技球のみが入球可能となり、第1可変始動口120Bおよび第2始動口122は、第2遊技領域116bを流下する遊技球のみが入球可能となる位置に配されている。なお、第1固定始動口120Aは、第2遊技領域116bを流下する遊技球が入球してもよいが、この場合には、第1遊技領域116aを流下する遊技球の方が、第2遊技領域116bを流下する遊技球よりも入球しやすい位置に配することが望ましい。
【0025】
同様に、第1可変始動口120Bおよび第2始動口122は、第1遊技領域116aを流下する遊技球が入球してもよいが、この場合には、第2遊技領域116bを流下する遊技球の方が、第1遊技領域116aを流下する遊技球よりも入球しやすい位置に配することが望ましい。いずれにしても、第1固定始動口120Aは、少なくとも第1遊技領域116aを流下する遊技球が入球可能な位置に配され、第1可変始動口120Bおよび第2始動口122は、少なくとも第2遊技領域116bを流下する遊技球が入球可能な位置に配されるとよい。
【0026】
さらに、第2遊技領域116bには、第1大入賞口126および第2大入賞口128が設けられている。第1大入賞口126および第2大入賞口128は、第2遊技領域116bを流下する遊技球のみが入球可能な位置に配される。ただし、第1大入賞口126および第2大入賞口128は、第1遊技領域116aおよび第2遊技領域116bを流下するいずれの遊技球も入球可能に配されてもよい。
【0027】
第1大入賞口126には、開閉扉126bが開閉可能に設けられており、通常、開閉扉126bが第1大入賞口126を閉鎖して、第1大入賞口126への遊技球の入球が不可能となっている。具体的には、開閉扉126bは、閉鎖状態において、遊技盤108の盤面と面一の状態となり、第1大入賞口126の前を遊技球が流下する。これに対して、前述の大役遊技が実行されると、開閉扉126bが開放されて遊技球を第1大入賞口126に導く受け皿として機能し、第1大入賞口126への遊技球の入球が可能となる。そして、第1大入賞口126に遊技球が入球すると、所定の賞球が遊技者に払い出される。
【0028】
第2大入賞口128は、第2遊技領域116bにおいて、第1大入賞口126の下方に設けられる。第2大入賞口128は、可動片128bを備えており、通常、可動片128bが閉状態に維持されている。これに対して、後述の小当たり遊技が実行されると、可動片128bが開状態に制御され、第2大入賞口128への遊技球の入球が可能となる。なお、以下では、第1大入賞口126および第2大入賞口128をまとめて単に大入賞口ともよぶ。
【0029】
図3は、同時回し参考例に係る第2大入賞口128を説明する図である。第2遊技領域116bには、遊技盤108の正面側に突出する構造物129が設けられている。この構造物129は、遊技機100の左右方向と前後方向とに位置する四辺、および、底辺が囲繞されており、上部に開口が形成されている。この構造物129の上部に形成される開口が、第2大入賞口128となる。構造物129の上部には、可動片128bが設けられており、通常、
図3(a)に示すように、可動片128bは、第2大入賞口128を閉鎖する閉状態に維持されている。
【0030】
可動片128bは、遊技機100の上方に臨むようにして、遊技球が転動、流下する遊技領域116に突出している。したがって、可動片128bが閉状態に維持されている場合には、遊技領域116(第2遊技領域116b)を流下する遊技球が、可動片128b上に落下することとなる。ここで、構造物129は、底辺が水平方向に略平行であり、遊技機100の右側の側面は、左側の側面よりも高さ方向に僅かに長い寸法関係となっている。したがって、第2大入賞口128は、遊技機100の左側が右側よりも僅かに低く、閉状態に維持された可動片128bは、遊技機100の左側が右側よりも僅かに低い位置になるように傾斜している。そのため、可動片128bが閉状態にあるときには、
図3(a)に矢印で示すように、可動片128b上に落下した遊技球が、可動片128b上を右方から左方へとゆっくりと転動することになる。
【0031】
そして、後述の小当たり遊技が実行されると、可動片128bは、第2大入賞口128を開放する開状態に変移する。ここで、可動片128bは、
図3(b)に示すように、遊技盤108の背面側に向けてスライドすることで、閉状態から開状態へと変移する。その結果、閉状態から開状態に変移する際に、可動片128b上を転動している遊技球が、第2大入賞口128内に自重で落下する。
【0032】
このように、同時回し参考例では、可動片128bを僅かに傾斜させ、可動片128b上を遊技球が転動する時間を長く確保する。そして、可動片128bが閉状態から開状態に変移することで、可動片128b上を転動している遊技球を第2大入賞口128内に導く。上記の構成により、可動片128bを開状態に維持する時間を僅かに設定したとしても、第2大入賞口128内に所定数の遊技球を導くことができる。換言すれば、第2大入賞口128内に所定数の遊技球を入球させるために必要となる、可動片128bを開状態に維持する時間を短時間とすることができる。なお、構造物129の背面には、遊技盤108の背面側に連通する孔が形成されており、第2大入賞口128に入球した遊技球は、遊技盤108の背面側に排出される。そして、第2大入賞口128に遊技球が入球すると、所定の賞球が遊技者に払い出される。
【0033】
なお、ここでは、第2大入賞口128の構成について説明したが、第1可変始動口120Bも、第2大入賞口128と同様の構成である。すなわち、第1可変始動口120Bの可動片120bは、閉状態において、遊技盤108の前面側に突出しており、可動片120b上を遊技球が転動する。そして、可動片120bの開状態では、可動片120bが遊技盤108の背面側にスライドし、第1可変始動口120Bへの遊技球の入球が可能となる。ただし、
図2に示すように、可動片128bは、遊技機100の正面視で右側が左側よりも高い位置にあるのに対して、可動片120bは、遊技機100の正面視で左側が右側よりも高い位置にある。
【0034】
ここで、第2遊技領域116bの盤面構成について詳述する。同時回し参考例では、第2遊技領域116bの最上部に、第2始動口122とゲート124とが並列して配置されている。第2遊技領域116bに導かれた遊技球は、全て、第2始動口122に入球するか、ゲート124を通過して下方に流下する。同時回し参考例では、第2始動口122は、1個の遊技球の入球に対して1個の遊技球が賞球として払い出される。
【0035】
第2始動口122に遊技球が入球すると、賞球として1個の遊技球が払い出されるとともに、大役遊技あるいは小当たり遊技の実行有無等を決定する抽選が行われる。また、ゲート124を遊技球が通過すると、第1可変始動口120B(可動片120b)を開状態とするか否かを決定する抽選が行われる。
【0036】
第2始動口122およびゲート124の直下には、第1大入賞口126が設けられている。第1大入賞口126が開状態にある場合には、ゲート124を通過して下方に流下した遊技球の全てが第1大入賞口126に入球するように配置されている。同時回し参考例では、第1大入賞口126は、大役遊技においてのみ開放される。つまり、第1大入賞口126は、大役遊技専用の大入賞口と言える。大役遊技中に第1大入賞口126に遊技球が入球すると、1個の遊技球の入球に対して2個以上の所定数(ここでは15個)の遊技球が賞球として払い出される。
【0037】
第1大入賞口126の下方には第1可変始動口120Bが設けられている。また、第1大入賞口126と第1可変始動口120Bとの間にはアウト口131が設けられている。アウト口131は、遊技領域116から遊技球を排出するための通路の入口であり、アウト口131に遊技球が入球したとしても、賞球が払い出されることはない。
【0038】
第2遊技領域116bには、第1大入賞口126よりも下方に流下した遊技球の多く(例えば9割以上)が、可動片120b上に落下するように釘が配されている。また、これらの釘により、第1大入賞口126よりも下方に流下した遊技球の一部(例えば1%~10%)が、アウト口131に導かれる。
【0039】
第1可変始動口120Bの閉状態では、可動片120b上を遊技球が転動する。可動片120b上を遊技球が転動しているときに可動片120bが開状態になると、可動片120b上の遊技球は全て第1可変始動口120B内に導かれる。第1可変始動口120Bに遊技球が入球すると、1個の遊技球の入球に対して1個の遊技球が賞球として払い出されるとともに、大役遊技あるいは小当たり遊技の実行有無等を決定する抽選が行われる。
【0040】
第1可変始動口120Bに入球しなかった遊技球は、可動片120b上から遊技機100の正面視で右側に落下する。第1可変始動口120Bの下方には、第2大入賞口128が設けられており、可動片120b上から落下した遊技球の殆どが、第2大入賞口128の可動片128b上を転動する。可動片128b上の遊技球は、可動片128bの傾斜により、遊技機100の正面視で右側から左側に向けてゆっくりと転動する。
【0041】
詳しくは後述するが、同時回し参考例では、第2大入賞口128は、小当たり遊技においてのみ開放される。つまり、第2大入賞口128は、小当たり遊技専用の大入賞口と言える。可動片128b上を遊技球が転動しているときに可動片128bが開状態になると、可動片128b上の遊技球は全て第2大入賞口128内に導かれる。小当たり遊技中に第2大入賞口128に遊技球が入球すると、1個の遊技球の入球に対して2個以上の所定数(ここでは15個)の遊技球が賞球として払い出される。
【0042】
第2大入賞口128の左下方には、普図作動口125が設けられている。ここでは、第2大入賞口128上から下方に落下した遊技球の殆ど全てが普図作動口125に入球するように、第2遊技領域116bに釘が配されている。同時回し参考例では、普図作動口125は、1個の遊技球の入球に対して1個の遊技球が賞球として払い出される「特定の入賞口」を構成している。また、普図作動口125に遊技球が入球すると、ゲート124を遊技球が通過した場合と同様に、第1可変始動口120B(可動片120b)を開状態とするか否かを決定する抽選が行われる。
【0043】
なお、遊技領域116の最下部には、一般入賞口118、第1始動口120、第2始動口122、普図作動口125、および、大入賞口のいずれにも入球しなかった遊技球を、遊技領域116から遊技盤108の背面側に排出する排出口130が設けられている。
【0044】
そして、遊技機100には、遊技の進行中等に演出を行う演出装置として、液晶表示装置からなる演出表示装置200、可動装置からなる演出役物装置202、さまざまな点灯態様や発光色に制御されるランプからなる演出照明装置204、スピーカからなる音声出力装置206、遊技者の操作を受け付ける演出操作装置208が設けられている。
【0045】
演出表示装置200は、画像を表示する画像表示部からなるメイン演出表示部200aを備えており、このメイン演出表示部200aを、遊技盤108の略中央部分において、遊技機100の正面側から視認可能に配置している。このメイン演出表示部200aには、図示のように、3つの演出図柄210a、210b、210cが変動表示される等、種々の演出が実行されることとなる。
【0046】
演出役物装置202は、メイン演出表示部200aよりも前面に配置され、通常、遊技盤108の背面側の原点位置において、複数の構成部材に分割された状態で退避しており、遊技者が視認できないようになっている。そして、上記の演出図柄210a、210b、210cの変動表示中などに、アクチュエータの駆動により、メイン演出表示部200aの前面にある可動位置まで各構成部材が移動すると、メイン演出表示部200aの前面で各構成部材が合体して、遊技者に大当たりの期待感を付与する。
【0047】
演出照明装置204は、演出役物装置202や遊技盤108等に設けられており、メイン演出表示部200aに表示される画像等に合わせて、さまざまに点灯制御される。
【0048】
音声出力装置206は、前枠106の上部位置や外枠102の最下部位置に設けられ、メイン演出表示部200aに表示される画像等に合わせて、遊技機100の正面側に向けてさまざまな音声を出力する。
【0049】
演出操作装置208は、遊技者の押下操作を受け付けるボタンで構成され、遊技機100の幅方向略中央位置であって、かつ、透過板110よりも下方位置に設けられている。この演出操作装置208は、メイン演出表示部200aに表示される画像等に合わせて有効化されるものであり、操作有効時間内に遊技者の操作を受け付けると、当該操作に応じて、さまざまな演出が実行される。
【0050】
なお、図中符号132は、遊技機100から払い出される賞球や、遊技球貸出装置から貸し出される遊技球が導かれる上皿であり、この上皿132が遊技球で一杯になると、遊技球は下皿134に導かれることとなる。また、この下皿134の底面には、当該下皿134から遊技球を排出するための球抜き孔(不図示)が形成されている。この球抜き孔は、通常、開閉板(不図示)によって閉じられているが、球抜きつまみ134aを押下することにより、当該球抜きつまみ134aと一体となって開閉板がスライドし、球抜き孔から下皿134の下方に遊技球を排出することが可能となっている。
【0051】
また、遊技盤108には、遊技領域116の外方であって、かつ、遊技者が視認可能な位置に、第1特別図柄表示器160、第2特別図柄表示器162、第1特別図柄保留表示器164、第2特別図柄保留表示器166、普通図柄表示器168、普通図柄保留表示器170、右打ち報知表示器172が設けられている。これら各表示器160~172は、遊技に係る種々の状況を表示するための装置であるが、その詳細については後述する。
【0052】
(制御手段の内部構成)
図4は、同時回し参考例に係る遊技の進行を制御する制御手段の内部構成を示すブロック図である。
【0053】
主制御基板300は遊技の基本動作を制御する。この主制御基板300は、メインCPU300a、メインROM300b、メインRAM300cを備えている。メインCPU300aは、各検出スイッチやタイマからの入力信号に基づいて、メインROM300bに格納されたプログラムを読み出して演算処理を行うとともに、各装置や表示器を直接制御したり、あるいは演算処理の結果に応じて他の基板にコマンドを送信したりする。メインRAM300cは、メインCPU300aの演算処理時におけるデータのワークエリアとして機能する。
【0054】
上記主制御基板300には、一般入賞口118に遊技球が入球したことを検出する一般入賞口検出スイッチ118s、第1固定始動口120Aに遊技球が入球したことを検出する第1固定始動口検出スイッチ120As、第1可変始動口120Bに遊技球が入球したことを検出する第1可変始動口検出スイッチ120Bs、第2始動口122に遊技球が入球したことを検出する第2始動口検出スイッチ122s、ゲート124を遊技球が通過したことを検出するゲート検出スイッチ124s、普図作動口125に遊技球が入球したことを検出する普図作動口検出スイッチ125s、第1大入賞口126に遊技球が入球したことを検出する第1大入賞口検出スイッチ126s、第2大入賞口128に遊技球が入球したことを検出する第2大入賞口検出スイッチ128sが接続されており、これら各検出スイッチから主制御基板300に検出信号が入力されるようになっている。
【0055】
また、主制御基板300には、第1可変始動口120Bの可動片120bを作動する普通電動役物ソレノイド120cと、第1大入賞口126を開閉する開閉扉126bを作動する第1大入賞口ソレノイド126cと、第2大入賞口128を開閉する可動片128bを作動する第2大入賞口ソレノイド128cと、が接続されており、主制御基板300によって、第1可変始動口120B、第1大入賞口126、第2大入賞口128の開閉制御がなされるようになっている。
【0056】
さらに、主制御基板300には、第1特別図柄表示器160、第2特別図柄表示器162、第1特別図柄保留表示器164、第2特別図柄保留表示器166、普通図柄表示器168、普通図柄保留表示器170、右打ち報知表示器172が接続されており、主制御基板300によって、これら各表示器の表示制御がなされるようになっている。
【0057】
さらに、遊技盤108の背面には、設定変更スイッチ180sが設けられている。設定変更スイッチ180sは、専用の鍵によってアクセス可能に構成されている。設定変更スイッチ180sがオンしていることを条件として、設定値を変更、確認する操作が可能となる。詳しくは後述するが、同時回し参考例の遊技機100は、有利度合いが異なる6段階の設定値のいずれかが設定値バッファに登録設定値として記憶され、記憶されている登録設定値に応じて遊技が進行する。なお、ここでは、設定値が6段階であることとするが、設定値は高設定および低設定の2段階のみが設けられてもよいし、他の複数段階で設けられてもよい。さらには、設定値は必須ではなく、有利度合いが変更されなくてもよい。
【0058】
また、遊技盤108の背面には、RAMクリアボタンが押下操作可能に設けられており、このRAMクリアボタンの押下操作がRAMクリアスイッチ182sによって検出される。RAMクリアスイッチ182sは主制御基板300に接続されており、RAMクリアスイッチ182sから主制御基板300にRAMクリア操作信号が入力される。電源投入時にRAMクリアスイッチ182sからRAMクリア操作信号が入力されている場合、メインCPU300aは、メインRAM300cをクリアする。
【0059】
また、遊技盤108の背面には、性能表示モニタ184が設けられている。主制御基板300により、性能表示モニタ184に登録設定値やベース比率が表示される。
【0060】
また、同時回し参考例の遊技機100は、主に第1始動口120または第2始動口122への遊技球の入球によって開始される特別遊技と、ゲート124への遊技球の通過、あるいは、普図作動口125への遊技球の入球によって開始される普通遊技とに大別される。そして、主制御基板300のメインROM300bには、特別遊技および普通遊技を進行するための種々のプログラムや、各種の遊技に必要なデータ、テーブルが記憶されている。
【0061】
また、主制御基板300には、払出制御基板310および副制御基板330が接続されている。払出制御基板310は、遊技球を発射させるための制御、および、賞球を払い出すための制御を行う。この払出制御基板310も、CPU、ROM、RAMを備えており、主制御基板300に対して双方向に通信可能に接続されている。この払出制御基板310には遊技情報出力端子板312が接続されており、主制御基板300から出力される遊技進行上の種々の情報が、払出制御基板310および遊技情報出力端子板312を介して、遊技店のホールコンピュータ等に出力されることとなる。
【0062】
また、払出制御基板310には、貯留部に貯留された遊技球を賞球として遊技者に払い出すための払出モータ314が接続されている。払出制御基板310は、主制御基板300から送信された払出個数指定コマンドに基づいて払出モータ314を制御して所定の賞球を遊技者に払い出すように制御する。このとき、払い出された遊技球数が払出球計数スイッチ316sによって検出され、払い出すべき賞球が遊技者に払い出されたかが把握されるようになっている。
【0063】
また、払出制御基板310には、下皿134の満タン状態を検出する皿満タン検出スイッチ318sが接続されている。この皿満タン検出スイッチ318sは、賞球として払い出される遊技球を下皿134に導く通路に設けられており、遊技球検出信号が払出制御基板310に入力されるようになっている。
【0064】
そして、下皿134に所定量以上の遊技球が貯留されて満タン状態になると、下皿134に向かう通路内に遊技球が滞留し、皿満タン検出スイッチ318sから払出制御基板310に向けて、遊技球検出信号が連続的に入力される。払出制御基板310は、遊技球検出信号が所定時間連続して入力された場合に、下皿134が満タン状態であると判断し、皿満タンコマンドを主制御基板300に送信する。一方、皿満タンコマンドを送信した後、遊技球検出信号の連続入力が途絶えた場合には、満タン状態が解除されたと判断し、皿満タン解除コマンドを主制御基板300に送信する。
【0065】
また、払出制御基板310には、遊技球の発射制御を行う発射制御回路320が設けられている。払出制御基板310には、操作ハンドル112に設けられ、当該操作ハンドル112に遊技者が触れたことを検出するタッチセンサ112sと、操作ハンドル112の操作角度を検出する操作ボリューム112aと、が接続されている。そして、タッチセンサ112sおよび操作ボリューム112aから信号が入力されると、発射制御回路320において、遊技球発射装置に設けられた発射用ソレノイド112cを通電して遊技球を発射させる制御がなされる。
【0066】
副制御基板330は、主に遊技中や待機中等の各演出を制御する。この副制御基板330は、サブCPU330a、サブROM330b、サブRAM330cを備えており、主制御基板300に対して、当該主制御基板300から副制御基板330への一方向に通信可能に接続されている。サブCPU330aは、主制御基板300から送信されたコマンドやタイマからの入力信号等に基づいて、サブROM330bに格納されたプログラムを読み出して演算処理を行うとともに、演出を実行制御する。このとき、サブRAM330cは、サブCPU330aの演算処理時におけるデータのワークエリアとして機能する。
【0067】
具体的には、副制御基板330では、サブCPU330a、サブROM330b、サブRAM330cが協働して、サブメイン、画像制御部、役物制御部、照明制御部、音声制御部として機能する。サブメインは、各種入力コマンドに応じて、実行する演出の内容を決定したり、演出の実行を管理、統括したりする。画像制御部は、上記メイン演出表示部200aに画像を表示させる画像表示制御を行う。サブROM330bには、メイン演出表示部200aに表示される図柄や背景、字幕等の画像データが多数格納されており、画像制御部が、画像データをサブROM330bから不図示のVRAMに読み出して、メイン演出表示部200aの画像表示を制御する。
【0068】
また、役物制御部は、サブメインによる演出の管理にしたがってアクチュエータを駆動し、演出役物装置202を可動制御する。照明制御部は演出照明装置204を点灯制御する。また、音声制御部は、上記音声出力装置206から音声を出力させる音声出力制御を行う。サブROM330bには、音声出力装置206から出力される音声や楽曲等の音声データが多数格納されており、音声制御部が、音声データをサブROM330bから読み出して、音声出力装置206の音声出力を制御する。
【0069】
さらに、副制御基板330では、演出操作装置208が押下操作または回転操作されたことを検出する演出操作装置検出スイッチ208sから操作検出信号が入力された際に、所定の演出を実行する。
【0070】
なお、各基板には、不図示の電源基板が接続されており、電源基板を介して商用電源から各基板に電力供給がなされている。また、電源基板にはコンデンサからなるバックアップ電源が設けられている。
【0071】
図5は、同時回し参考例に係るメインCPU300aが用いるメモリ領域のアドレスマップである。なお、
図5において、アドレスは16進数で示しており、「H」は16進数であることを示している。
図5に示すように、メインCPU300aが用いるメモリ領域は、メインROM300bに割り当てられたメモリ領域(0000H~2FFFH)と、メインRAM300cに割り当てられたメモリ領域(F000H~F3FFH)とを含んでいる。
【0072】
メインROM300bのメモリ領域は、遊技の進行を制御するためのプログラムおよびデータを格納する使用領域(0000H~1BF3H)と、使用領域以外の領域であって、遊技機規則で定める試験を行うための処理や、性能表示モニタ184を表示するための処理(性能表示モニタ184に表示するベース比率を算出するための処理を含む)を実行するためのプログラムおよびデータを格納する使用外領域(2000H~2BFFH)とが設けられている。
【0073】
メインROM300bの使用領域には、遊技の進行を制御するためのプログラムが格納されるプログラム領域(0000H~0A89H)、未使用領域(0A8AH~11FFH)、プログラム以外のデータが格納されるデータ領域(1200H~1BF3H)が設けられている。なお、使用領域は、未使用領域(0A8AH~0FFFH)を含めないようにしてもよい。
【0074】
メインROM300bの使用外領域には、遊技機規則で定める試験を行うための処理や、性能表示モニタ184を表示するための処理を実行するためのプログラムが格納されるプログラム領域(2000H~27FFH)、これらのプログラム以外のデータが格納されるデータ領域(2800H~2BFFH)が設けられている。
【0075】
また、メインROM300bのメモリ領域には、使用領域および使用外領域以外にも、未使用領域(1A7BH~1DFFH)、プログラムのタイトル、バージョン等の任意のデータが格納されるROMコメント領域(1E00H~1EFFH)、未使用領域(1F00H~1FFFH)、未使用領域(2C00H~2FBFH)、メインCPU300aがプログラムを実行するために必要な情報が格納されるプログラム管理領域(2FC0H~2FFFH)が設けられている。
【0076】
メインRAM300cのメモリ領域は、遊技の進行を制御するためのプログラムが実行されている際に一時的に用いられる使用領域(F000H~F1FFH)と、使用領域以外の領域であって、遊技機規則で定める試験を行うための処理や、性能表示モニタ184を表示するための処理のプログラムが実行されている際に一時的に用いられる使用外領域(F210H~F228H)とが設けられている。
【0077】
メインRAM300cの使用領域には、遊技の進行を制御するためのプログラムが実行されている際に一時的に用いられるワーク領域(F000H~F12AH)、未使用領域(F12BH~F1D7H)、遊技の進行を制御するためのプログラムの実行中にデータを一時的に退避させるスタック領域(F1D8H~F1FFH)が設けられている。なお、使用領域は、未使用領域(F12BH~F1D7H)を含めないようにしてもよい。
【0078】
メインRAM300cの使用外領域には、遊技機規則で定める試験を行うための処理や、性能表示モニタ184を表示するための処理のプログラムが実行されている際に一時的に用いられるワーク領域(F210H~F21FH)、これらのプログラムが実行されている際にデータを一時的に退避させるスタック領域(F220H~F228H)が設けられている。
【0079】
また、メインRAM300cのメモリ領域には、使用領域および使用外領域以外にも、未使用領域(F200H~F20FH)、未使用領域(F229H~F3FFH)が設けられている。
【0080】
このように、メインROM300bおよびメインRAM300cでは、遊技の進行を制御するために用いられる使用領域と、遊技機規則で定める試験を行うための処理や、性能表示モニタ184の表示制御をするための処理を実行するために用いられる使用外領域とが分かれて設けられている。
【0081】
そして、メインRAM300cでは、使用領域と使用外領域との間に、16バイトの未使用領域(F200H~F20FH)が設けられている。この未使用領域(F200H~F20FH)は、使用領域および使用外領域を分ける境界領域として設定されており、使用領域と使用外領域との境界が明確となり、遊技の進行を制御するためのプログラムが実行されている際に使用外領域が用いられること、および、遊技機規則で定める試験を行うための処理や、性能表示モニタ184の表示制御をするための処理のプログラムが実行されている際に使用領域が用いられることを防止している。
【0082】
なお、使用領域と使用外領域との間に設けられる未使用領域は、少なくとも1バイト以上であればよく、不正防止の観点から、4バイト以上であることが望ましく、16バイト以上に設定されることがより望ましい。また、未使用領域は、データの書き込みおよび読み出しが禁止されているが、不正防止の観点から、所定のタイミングでクリアするようにしてもよい。
【0083】
また、FE00h~FEFFhのメモリ空間には入出力部が割り当てられている。かかる入出力部については後程詳述する。
【0084】
次に、同時回し参考例の遊技機100における遊技について、メインROM300bに記憶されている各種テーブルと併せて説明する。
【0085】
前述したように、同時回し参考例の遊技機100は、特別遊技と普通遊技の2種類の遊技が並行して進行するものである。特別遊技は、低確率遊技状態および高確率遊技状態のいずれかの遊技状態にて遊技が進行し、普通遊技は、非時短遊技状態、中時短遊技状態、時短遊技状態のいずれかの遊技状態にて遊技が進行する。
【0086】
各遊技状態の詳細については後述するが、低確率遊技状態というのは、大入賞口が開放される大役遊技を実行する権利獲得の確率が低く設定された遊技状態であり、高確率遊技状態というのは、大役遊技を実行する権利獲得の確率が高く設定された遊技状態である。また、非時短遊技状態というのは、可動片120bが開状態になりにくく、第1可変始動口120Bに遊技球が入球し難い遊技状態であり、中時短遊技状態というのは、非時短遊技状態よりも可動片120bが開状態になりやすく、第1可変始動口120Bに遊技球が入球しやすい遊技状態である。また、時短遊技状態というのは、中時短遊技状態よりも、さらに、可動片120bが開状態になりやすく、第1可変始動口120Bに遊技球が最も入球しやすい遊技状態である。なお、時短遊技状態では、遊技中に第2遊技領域116bに向けて遊技球を発射し続けている場合に、僅かに遊技球が減少するか、遊技球が殆ど減少しないように設定されている。
【0087】
上記のように、特別遊技と普通遊技とは同時並行して進行することから、同時回し参考例では、低確率遊技状態または高確率遊技状態と、非時短遊技状態、中時短遊技状態、時短遊技状態のいずれかとが組み合わされた遊技状態となる。以下では、理解を容易とするため、特別遊技に係る遊技状態、すなわち、低確率遊技状態および高確率遊技状態を特別遊技状態と呼び、普通遊技に係る遊技状態、すなわち、非時短遊技状態、中時短遊技状態、時短遊技状態を普通遊技状態と呼ぶ場合がある。遊技機100の初期状態は、低確率遊技状態および非時短遊技状態に設定されている。
【0088】
遊技者が操作ハンドル112を操作して遊技領域116に遊技球を発射させるとともに、遊技領域116を流下する遊技球が第1始動口120または第2始動口122に入球すると、遊技者に遊技利益を付与するか否かの抽選(以下、「大役抽選」という)が行われる。この大役抽選において、大当たりに当選すると、大入賞口が開放されるとともに当該大入賞口への遊技球の入球が可能となる大役遊技が実行され、また、当該大役遊技の終了後の遊技状態が、上記のいずれかの遊技状態に設定される。以下では、大役抽選方法について説明する。
【0089】
なお、詳しくは後述するが、第1始動口120または第2始動口122に遊技球が入球すると、大役抽選に係る種々の乱数値(大当たり決定乱数、当たり図柄乱数、リーチグループ決定乱数、リーチモード決定乱数、変動パターン乱数)が取得されるとともに、これら各乱数値がメインRAM300cの特図保留記憶領域に記憶される。以下では、第1始動口120に遊技球が入球して特図保留記憶領域に記憶された種々の乱数を総称して特1保留とよび、第2始動口122に遊技球が入球して特図保留記憶領域に記憶された種々の乱数を総称して特2保留とよぶ。
【0090】
メインRAM300cの特図保留記憶領域は、第1特図保留記憶領域と第2特図保留記憶領域とを備えている。第1特図保留記憶領域および第2特図保留記憶領域は、それぞれ4つの記憶部(第1~第4記憶部)を有している。そして、第1始動口120に遊技球が入球すると、特1保留を第1特図保留記憶領域の第1記憶部から順に記憶し、第2始動口122に遊技球が入球すると、特2保留を第2特図保留記憶領域の第1記憶部から順に記憶する。
【0091】
例えば、第1始動口120に遊技球が入球したとき、第1特図保留記憶領域の第1~第4記憶部のいずれにも保留が記憶されていない場合には、第1記憶部に特1保留を記憶する。また、例えば、第1記憶部~第3記憶部に特1保留が記憶されている状態で、第1始動口120に遊技球が入球した場合には、特1保留を第4記憶部に記憶する。また、第2始動口122に遊技球が入球した場合にも、上記と同様に、第2特図保留記憶領域の第1記憶部~第4記憶部の中で、特2保留が記憶されていない、最も番号(序数)の小さい記憶部に特2保留が記憶される。
【0092】
ただし、第1特図保留記憶領域および第2特図保留記憶領域に記憶可能な特1保留数(X1)および特2保留数(X2)は、それぞれ4つに設定されている。したがって、例えば、第1始動口120に遊技球が入球したときに、第1特図保留記憶領域に既に4つの特1保留が記憶されている場合には、当該第1始動口120への遊技球の入球によって新たに特1保留が記憶されることはない。同様に、第2始動口122に遊技球が入球したときに、第2特図保留記憶領域に既に4つの特2保留が記憶されている場合には、当該第2始動口122への遊技球の入球によって新たに特2保留が記憶されることはない。
【0093】
図6は、同時回し参考例に係る低確時大当たり決定乱数判定テーブルを説明する図である。第1始動口120または第2始動口122に遊技球が入球すると、0~65535の範囲内から1つの大当たり決定乱数が取得される。そして、大役抽選を開始するとき、すなわち、大当たりの判定を行うときの遊技状態に応じて大当たり決定乱数判定テーブルが選択され、当該選択された大当たり決定乱数判定テーブルと取得された大当たり決定乱数とによって大役抽選が行われる。
【0094】
低確率遊技状態において、特1保留および特2保留について大役抽選を開始する場合には、低確時大当たり決定乱数判定テーブルが参照される。ここで、同時回し参考例では、有利度合いを異にする6段階の設定値が設けられており、低確時大当たり決定乱数判定テーブルは、設定値ごとに設けられている。遊技中は、設定値が6段階のうちのいずれかに設定されており、現在設定されている設定値(設定値バッファに記憶されている登録設定値)に対応する低確時大当たり決定乱数判定テーブルを参照して大役抽選が行われる。
【0095】
低確率遊技状態であって、設定値=1に設定されている場合(登録設定値=1)には、
図6(a)に示す低確時大当たり決定乱数判定テーブルaを参照して大役抽選が行われる。この低確時大当たり決定乱数判定テーブルaによれば、大当たり決定乱数が10001~10218であった場合に大当たりと判定し、大当たり決定乱数が20001~38996であった場合に小当たりと判定し、その他の大当たり決定乱数であった場合にはハズレと判定する。したがって、この場合の大当たり確率は約1/300.6となり、小当たり確率は約1/3.45となる。
【0096】
低確率遊技状態であって、設定値=2に設定されている場合(登録設定値=2)には、
図6(b)に示す低確時大当たり決定乱数判定テーブルbを参照して大役抽選が行われる。この低確時大当たり決定乱数判定テーブルbによれば、大当たり決定乱数が10001~10225であった場合に大当たりと判定し、大当たり決定乱数が20001~38996であった場合に小当たりと判定し、その他の大当たり決定乱数であった場合にはハズレと判定する。したがって、この場合の大当たり確率は約1/291.2となり、小当たり確率は約1/3.45となる。
【0097】
低確率遊技状態であって、設定値=3に設定されている場合(登録設定値=3)には、
図6(c)に示す低確時大当たり決定乱数判定テーブルcを参照して大役抽選が行われる。この低確時大当たり決定乱数判定テーブルcによれば、大当たり決定乱数が10001~10232であった場合に大当たりと判定し、大当たり決定乱数が20001~38996であった場合に小当たりと判定し、その他の大当たり決定乱数であった場合にはハズレと判定する。したがって、この場合の大当たり確率は約1/282.4となり、小当たり確率は約1/3.45となる。
【0098】
低確率遊技状態であって、設定値=4に設定されている場合(登録設定値=4)には、
図6(d)に示す低確時大当たり決定乱数判定テーブルdを参照して大役抽選が行われる。この低確時大当たり決定乱数判定テーブルdによれば、大当たり決定乱数が10001~10239であった場合に大当たりと判定し、大当たり決定乱数が20001~38996であった場合に小当たりと判定し、その他の大当たり決定乱数であった場合にはハズレと判定する。したがって、この場合の大当たり確率は約1/274.2となり、小当たり確率は約1/3.45となる。
【0099】
低確率遊技状態であって、設定値=5に設定されている場合(登録設定値=5)には、
図6(e)に示す低確時大当たり決定乱数判定テーブルeを参照して大役抽選が行われる。この低確時大当たり決定乱数判定テーブルeによれば、大当たり決定乱数が10001~10246であった場合に大当たりと判定し、大当たり決定乱数が20001~38996であった場合に小当たりと判定し、その他の大当たり決定乱数であった場合にはハズレと判定する。したがって、この場合の大当たり確率は約1/266.4となり、小当たり確率は約1/3.45となる。
【0100】
低確率遊技状態であって、設定値=6に設定されている場合(登録設定値=6)には、
図6(f)に示す低確時大当たり決定乱数判定テーブルfを参照して大役抽選が行われる。この低確時大当たり決定乱数判定テーブルfによれば、大当たり決定乱数が10001~10253であった場合に大当たりと判定し、大当たり決定乱数が20001~38996であった場合に小当たりと判定し、その他の大当たり決定乱数であった場合にはハズレと判定する。したがって、この場合の大当たり確率は約1/259.0となり、小当たり確率は約1/3.45となる。
【0101】
図7は、同時回し参考例に係る高確時大当たり決定乱数判定テーブルを説明する図である。高確率遊技状態において、特1保留および特2保留について大役抽選を開始する場合には、高確時大当たり決定乱数判定テーブルが参照される。高確時大当たり決定乱数判定テーブルも、低確時大当たり決定乱数判定テーブルと同様に設定値ごとに設けられている。
【0102】
高確率遊技状態であって、設定値=1に設定されている場合(登録設定値=1)には、
図7(a)に示す高確時大当たり決定乱数判定テーブルaを参照して大役抽選が行われる。この高確時大当たり決定乱数判定テーブルaによれば、大当たり決定乱数が10001~10620であった場合に大当たりと判定し、大当たり決定乱数が20001~38996であった場合に小当たりと判定し、その他の大当たり決定乱数であった場合にはハズレと判定する。したがって、この場合の大当たり確率は約1/105.7となり、小当たり確率は約1/3.45となる。
【0103】
同様に、高確率遊技状態であって、設定値=2~6に設定されている場合(登録設定値=2~6)には、
図7(b)~(f)に示す高確時大当たり決定乱数判定テーブルb~fを参照して大役抽選が行われる。これら高確時大当たり決定乱数判定テーブルb~fによれば、それぞれ大当たり決定乱数が図示の値であった場合に大当たりと判定する。したがって、設定値=2~6の場合の大当たり確率は、それぞれ約1/102.4~1/91.0となり、小当たり確率は約1/3.45となる。
【0104】
以上のように、大役抽選は、登録設定値に応じて行われる。このとき、登録設定値に応じて大当たりの当選確率が異なっており、登録設定値が大きい場合の方が、小さい場合に比べて、大当たりに当選しやすくなっている。なお、ここでは、登録設定値が異なっても、小当たりの当選確率は変わらないこととしたが、登録設定値ごとに小当たりの当選確率を異ならせてもよい。また、小当たりは必須ではなく、大役抽選において、大当たりおよびハズレのいずれかのみが決定されてもよい。
【0105】
また、ここでは、低確率遊技状態および高確率遊技状態の双方における大当たりの当選確率が、登録設定値に応じて異なることとしたが、低確率遊技状態および高確率遊技状態のいずれか一方における大当たりの当選確率のみが、登録設定値に応じて異なることとしてもよい。
【0106】
図8は、同時回し参考例に係る当たり図柄乱数判定テーブルおよび小当たり図柄乱数判定テーブルを説明する図である。第1始動口120または第2始動口122に遊技球が入球すると、0~99の範囲内から1つの当たり図柄乱数が取得される。そして、上記の大役抽選により「大当たり」の判定結果が導出された場合に、取得している当たり図柄乱数と当たり図柄乱数判定テーブルとによって、特別図柄の種別が決定される。このとき、特1保留によって「大当たり」に当選した場合には、
図8(a)に示すように、特1用当たり図柄乱数判定テーブルaが選択され、特2保留によって「大当たり」に当選した場合には、
図8(b)に示すように、特2用当たり図柄乱数判定テーブルbが選択され、特1保留によって「小当たり」に当選した場合には、
図8(c)に示すように、特1用小当たり図柄乱数判定テーブルaが選択され、特2保留によって「小当たり」に当選した場合には、
図8(d)に示すように、特2用小当たり図柄乱数判定テーブルbが選択される。以下では、当たり図柄乱数によって決定される特別図柄、すなわち、大当たりの判定結果が得られた場合に決定される特別図柄を大当たり図柄と呼び、小当たりの判定結果が得られた場合に決定される特別図柄を小当たり図柄と呼び、ハズレの判定結果が得られた場合に決定される特別図柄をハズレ図柄と呼ぶ。
【0107】
図8(a)に示す特1用当たり図柄乱数判定テーブルa、および、
図8(b)に示す特2用当たり図柄乱数判定テーブルbによれば、取得した当たり図柄乱数の値に応じて、図示のとおり、特別図柄として大当たり図柄(特別図柄A~J)が決定される。また、
図8(c)に示す特1用小当たり図柄乱数判定テーブルa、および、
図8(d)に示す特2用小当たり図柄乱数判定テーブルbによれば、取得した当たり図柄乱数の値に応じて、図示のとおり、特別図柄として小当たり図柄(特別図柄Z1~Z6)が決定される。
【0108】
なお、大役抽選結果が「ハズレ」であった場合に、当該抽選結果が特1保留によって導出されたときは、抽選を行うことなくハズレ図柄として特別図柄Xが決定され、当該抽選結果が特2保留によって導出されたときは、抽選を行うことなくハズレ図柄として特別図柄Yが決定される。つまり、当たり図柄乱数判定テーブルは、大役抽選結果が「大当たり」であった場合にのみ参照され、大役抽選結果が「ハズレ」または「小当たり」であった場合に参照されることはない。また、小当たり図柄乱数判定テーブルは、大役抽選結果が「小当たり」であった場合にのみ参照され、大役抽選結果が「大当たり」または「ハズレ」であった場合に参照されることはない。なお、小当たり図柄である特別図柄Z1~Z6をまとめて単に特別図柄Zともよぶ。
【0109】
図9は、同時回し参考例に係るリーチグループ決定乱数判定テーブルを説明する図である。このリーチグループ決定乱数判定テーブルは複数設けられており、保留種別、保留数、遊技状態等に応じて、予め設定されたテーブルが選択される。第1始動口120または第2始動口122に遊技球が入球すると、0~10006の範囲内から1つのリーチグループ決定乱数が取得される。上記のように、大役抽選結果が導出されると、当該大役抽選結果を報知する変動演出パターンを決定する処理が行われる。同時回し参考例では、大役抽選結果が「ハズレ」であった場合に、変動演出パターンを決定するにあたって、まず、リーチグループ決定乱数とリーチグループ決定乱数判定テーブルとによってグループ種別が決定される。
【0110】
例えば、遊技状態が詳しくは後述する通常状態に設定されているときに、特1保留に基づいて「ハズレ」の大役抽選結果が導出された場合において、大役抽選を行うときの特1保留の保留数(以下、単に「保留数」という)が0個であれば、
図9(a)に示すように、リーチグループ決定乱数判定テーブル1が選択される。同様に、通常状態に設定されているときに、特1保留に基づいて「ハズレ」の大役抽選結果が導出された場合において、大役抽選を行うときの保留数が1~2個であれば、
図9(b)に示すように、リーチグループ決定乱数判定テーブル2が選択され、保留数が3個であれば、
図9(c)に示すように、リーチグループ決定乱数判定テーブル3が選択される。なお、
図9において、グループ種別の欄に記載しているグループxは、任意のグループ番号を示している。したがって、取得したリーチグループ決定乱数と、参照するリーチグループ決定乱数判定テーブルの種類とに応じて、グループ種別として種々のグループ番号が決定されることとなる。
【0111】
なお、ここでは、通常状態において、特1保留に基づいて「ハズレ」の大役抽選結果が導出されたときに参照されるリーチグループ決定乱数判定テーブルについて説明したが、メインROM300bには、この他にも多数のリーチグループ決定乱数判定テーブルが記憶されている。
【0112】
なお、大役抽選結果が「大当たり」または「小当たり」であった場合には、変動演出パターンを決定するにあたってグループ種別を決定することはない。つまり、リーチグループ決定乱数判定テーブルは、大役抽選結果が「ハズレ」であった場合にのみ参照され、大役抽選結果が「大当たり」または「小当たり」であった場合に参照されることはない。
【0113】
図10は、同時回し参考例に係るリーチモード決定乱数判定テーブルを説明する図である。このリーチモード決定乱数判定テーブルは、大役抽選結果が「ハズレ」であった場合に選択されるハズレ時リーチモード決定乱数判定テーブルと、大役抽選結果が「大当たり」であった場合に選択される大当たり時リーチモード決定乱数判定テーブルと、大役抽選結果が「小当たり」であった場合に選択される小当たり時リーチモード決定乱数判定テーブルとに大別される。なお、ハズレ時リーチモード決定乱数判定テーブルは、上記のように決定されたグループ種別ごとに設けられており、大当たり時リーチモード決定乱数判定テーブルおよび小当たり時リーチモード決定乱数判定テーブルは、遊技状態、保留種別ごとに設けられている。
【0114】
また、各リーチモード決定乱数判定テーブルは、遊技状態や図柄の種別ごとにも設けられている。ここでは、所定の遊技状態および図柄種別において参照されるグループx用ハズレ時リーチモード決定乱数判定テーブルの一例を
図10(a)に示し、特1用大当たり時リーチモード決定乱数判定テーブルの一例を
図10(b)に示し、特2用大当たり時リーチモード決定乱数判定テーブルの一例を
図10(c)に示し、特1用小当たり時リーチモード決定乱数判定テーブルの一例を
図10(d)に示し、特2用小当たり時リーチモード決定乱数判定テーブルの一例を
図10(e)に示す。
【0115】
第1始動口120または第2始動口122に遊技球が入球すると、0~250の範囲内から1つのリーチモード決定乱数が取得される。そして、上記の大役抽選の結果が「ハズレ」であった場合には、
図10(a)に示すように、上記のグループ種別の抽選により決定されたグループ種別に対応するハズレ時リーチモード決定乱数判定テーブルが選択され、選択されたハズレ時リーチモード決定乱数判定テーブルとリーチモード決定乱数とに基づいて、変動モード番号が決定される。また、上記の大役抽選の結果が「大当たり」であった場合には、
図10(b)、(c)に示すように、大当たり当選時の遊技状態、および、読み出された保留種別に対応する大当たり時リーチモード決定乱数判定テーブルが選択され、選択された大当たり時リーチモード決定乱数判定テーブルとリーチモード決定乱数とに基づいて、変動モード番号が決定される。
【0116】
さらに、上記の大役抽選の結果が「小当たり」であった場合には、
図10(d)、(e)に示すように、小当たり当選時の遊技状態、および、読み出された保留種別に対応する小当たり時リーチモード決定乱数判定テーブルが選択され、選択された小当たり時リーチモード決定乱数判定テーブルとリーチモード決定乱数とに基づいて、変動モード番号が決定される。
【0117】
また、各リーチモード決定乱数判定テーブルにおいては、リーチモード決定乱数に、変動モード番号とともに、後述する変動パターン乱数判定テーブルが対応付けられており、変動モード番号が決定されるのと同時に、変動パターン乱数判定テーブルが決定される。なお、
図10において、変動パターン乱数判定テーブルの欄に記載しているテーブルxは、任意のテーブル番号を示している。したがって、取得したリーチグループ決定乱数と、参照するリーチモード決定乱数判定テーブルの種類とに応じて、変動モード番号と、変動パターン乱数判定テーブルのテーブル番号とが決定されることとなる。また、同時回し参考例において、変動モード番号および後述する変動パターン番号は、16進数で設定されている。以下において、16進数を示す場合には「H」を付するが、
図10~
図12に○○Hと記載しているのは、16進数で示される任意の値を示すものである。
【0118】
以上のように、大役抽選結果が「ハズレ」であった場合には、まず、
図9に示すリーチグループ決定乱数判定テーブルとリーチグループ決定乱数とによってグループ種別が決定される。そして、決定されたグループ種別と遊技状態に応じ、
図10(a)に示すハズレ時リーチモード決定乱数判定テーブルとリーチモード決定乱数とによって、変動モード番号および変動パターン乱数判定テーブルが決定される。
【0119】
一方、大役抽選結果が「大当たり」または「小当たり」であった場合には、決定された大当たり図柄または小当たり図柄(特別図柄の種別)、大当たり、または、小当たり当選時の遊技状態等に対応する、
図10に示す大当たり時リーチモード決定乱数判定テーブルを参照し、リーチモード決定乱数を用いて、変動モード番号、変動パターン乱数判定テーブルが決定されることとなる。
【0120】
図11は、同時回し参考例に係る変動パターン乱数判定テーブルを説明する図である。ここでは、所定のテーブル番号xの変動パターン乱数判定テーブルxを示すが、変動パターン乱数判定テーブルは、この他にも、テーブル番号ごとに多数設けられている。
【0121】
第1始動口120または第2始動口122に遊技球が入球すると、0~238の範囲内から1つの変動パターン乱数が取得される。そして、上記の変動モード番号と同時に決定された変動パターン乱数判定テーブルと、取得した変動パターン乱数とに基づいて、図示のように変動パターン番号が決定される。
【0122】
このように、大役抽選が行われると、大役抽選結果、決定された図柄種別、遊技状態、保留数、保留種別等に応じて、変動モード番号、変動パターン番号が決定される。これら変動モード番号、変動パターン番号は、変動演出パターンを特定するものであり、そのそれぞれに、変動演出の態様および時間が対応付けられている。
【0123】
図12は、同時回し参考例に係る変動時間決定テーブルを説明する図である。上記のように、変動モード番号が決定されると、
図12(a)に示す変動時間1決定テーブルにしたがって変動時間1が決定される。この変動時間1決定テーブルによれば、変動モード番号ごとに変動時間1が対応付けられており、決定された変動モード番号に応じて、対応する変動時間1が決定される。
【0124】
また、上記のように、変動パターン番号が決定されると、
図12(b)に示す変動時間2決定テーブルにしたがって変動時間2が決定される。この変動時間2決定テーブルによれば、変動パターン番号ごとに変動時間2が対応付けられており、決定された変動パターン番号に応じて、対応する変動時間2が決定される。このようにして決定された変動時間1、2の合計時間が、大役抽選結果を報知する変動演出の時間、すなわち、変動時間となる。この変動時間というのは、決定された特別図柄を、第1特別図柄表示器160または第2特別図柄表示器162に停止表示させるまでの時間である。
【0125】
詳しくは後述するが、特1保留に基づいて特別図柄が決定されるとともに、変動モード番号および変動パターン番号すなわち変動時間が決定されると、当該決定された変動時間に亘って第1特別図柄表示器160において図柄の変動表示が行われ、変動時間が経過すると、第1特別図柄表示器160に、決定された特別図柄が停止表示される。また、特2保留に基づいて特別図柄が決定されるとともに、変動パターン番号すなわち変動時間が決定されると、当該決定された変動時間に亘って第2特別図柄表示器162において図柄の変動表示が行われ、変動時間が経過すると、第2特別図柄表示器162に、決定された特別図柄が停止表示される。このとき、ハズレ図柄が第1特別図柄表示器160に停止表示されることで、大役抽選の結果としてハズレが確定し、次の特1保留に基づく大役抽選が実行可能となり、ハズレ図柄が第2特別図柄表示器162に停止表示されることで、大役抽選の結果としてハズレが確定し、次の特2保留に基づく大役抽選が実行可能となる。一方、大当たり図柄が第1特別図柄表示器160または第2特別図柄表示器162に停止表示されると、大役抽選の結果として大当たりが確定し、大役遊技が実行され、小当たり図柄が第1特別図柄表示器160または第2特別図柄表示器162に停止表示されると、大役抽選の結果として小当たりが確定し、小当たり遊技が実行されることとなる。
【0126】
このように、変動時間は、第1特別図柄表示器160または第2特別図柄表示器162における図柄の変動表示の時間、換言すれば、大役抽選の結果を確定させるまでの時間を規定するものとなる。
【0127】
以上のようにして変動モード番号が決定されると、当該決定された変動モード番号に対応する変動モードコマンドが副制御基板330に送信され、変動パターン番号が決定されると、当該決定された変動パターン番号に対応する変動パターンコマンドが副制御基板330に送信される。副制御基板330においては、受信した変動モードコマンドに基づいて、主に変動演出の前半の態様が決定され、受信した変動パターンコマンドに基づいて、主に変動演出の後半の態様が決定されることとなるが、その詳細については後述する。なお、以下では、変動モード番号および変動パターン番号を総称して変動情報と呼び、変動モードコマンドおよび変動パターンコマンドを総称して変動コマンドと呼ぶ場合がある。
【0128】
図13は、同時回し参考例に係る遊技状態および変動時間を説明する図である。上述のように、特別遊技状態と普通遊技状態とが組み合わされて1の遊技状態となり、設定中の遊技状態に応じて遊技の進行制御がなされる。既に説明したように、特別遊技状態は、大当たりの当選確率を異にする低確率遊技状態および高確率遊技状態の2種類が設けられている。また、普通遊技状態は、互いに第1可変始動口120Bへの遊技球の入球容易性(入球頻度)を異にする非時短遊技状態、中時短遊技状態、時短遊技状態の3種類が設けられている。
【0129】
ここで、普通遊技において、第1可変始動口120Bへの遊技球の入球容易性は、当選確率、変動時間、開放時間の3つの要素によって決定される。詳しくは後述するが、普通遊技では、ゲート124を遊技球が通過するか、あるいは、普図作動口125に遊技球が入球すると普図保留が記憶される。そして、記憶された普図保留に基づいて、可動片120bを開放するか否かを決定する普図抽選が行われる。この普図抽選の結果は、所定の変動時間が経過したところで確定する。普図抽選の結果として当たりが確定すると、可動片120bが開放される。このとき、普図抽選における当選確率、変動時間、および、可動片120bを開放する際の開放時間が、それぞれ普通遊技状態ごとに設定されている。
【0130】
同時回し参考例では、
図13(a)に示すように、特別遊技状態および普通遊技状態の組み合わせにより6種類の遊技状態が設けられる。遊技機100の初期状態は、低確率遊技状態および非時短遊技状態となっている。なお、非時短遊技状態では、普図抽選における当選確率が低く、変動時間が長く、可動片120bの開放時間が短い。同時回し参考例では、低確率遊技状態および非時短遊技状態が組み合わされた遊技状態を通常状態と呼ぶ。
【0131】
また、同時回し参考例では、高確率遊技状態および非時短遊技状態に設定される場合があり、この両者が組み合わされた遊技状態を最優位状態と呼ぶ。なお、この最優位状態は、6つの遊技状態の中で最も有利度合いが高く、適切に遊技球を発射していると、大当たりに当選せずとも、遊技中に徐々に遊技球が増加していくように設定されている。
【0132】
また、同時回し参考例では、低確率遊技状態および時短遊技状態に設定される場合がある。なお、時短遊技状態では、普図抽選における当選確率が高く、変動時間が短く、可動片120bの開放時間が長い。以下では、低確率遊技状態および時短遊技状態が組み合わされた遊技状態を低確時短状態と呼ぶ。
【0133】
また、同時回し参考例では、高確率遊技状態および時短遊技状態に設定される場合がある。以下では、高確率遊技状態および時短遊技状態が組み合わされた遊技状態を高確時短状態または高確前兆状態と呼ぶ。なお、高確時短状態および高確前兆状態について、詳しくは後述する。
【0134】
また、同時回し参考例では、高確率遊技状態および中時短遊技状態に設定される場合がある。なお、中時短遊技状態では、普図抽選における当選確率が、非時短遊技状態よりも高く時短遊技状態よりも低く、変動時間が短く、可動片120bの開放時間が長い。この遊技状態は、適切に遊技球を発射させなかった場合等、不測の事態が生じた場合に設定され得るものである。以下では、高確率遊技状態および中時短遊技状態が組み合わされた遊技状態をペナルティ状態と呼ぶ。
【0135】
なお、副制御基板330においては、主制御基板300で設定されている遊技状態に対応する演出モードが設定される。演出モードというのは、メイン演出表示部200aに表示される背景画像やBGM等を規定するものであり、演出モードごとに、演出の内容が異なっている。つまり、遊技者は、演出モードによって、現在の遊技状態を識別することができる。
【0136】
以上のように、同時回し参考例では、6つの遊技状態が設けられている。そして、上記したように、大役抽選が行われたときの遊技状態、保留種別、当該遊技状態における変動回数、図柄の種別に応じて、変動モード番号および変動パターン番号、すなわち、変動時間が決定される。
【0137】
ここで、遊技機100では、遊技状態ごとに、実質変動対象が設定されている。実質変動対象というのは、本来、大役抽選を行うべき保留の種別を示しており、遊技状態ごとに、特1保留および特2保留のいずれかが実質変動対象に設定されている。通常状態では、特1保留が実質変動対象に設定されている。また、通常状態では、普通遊技状態が非時短遊技状態であるため、第1可変始動口120Bが殆ど開放されることがない。したがって、通常状態では、遊技者は、第1固定始動口120Aに遊技球を入球させるべく、第1遊技領域116aに向けて遊技球を発射させる必要がある。
【0138】
通常状態において、実質変動対象である特1保留によって大役抽選が行われ、ハズレ図柄もしくは小当たり図柄が決定されると、3~100秒の範囲内で変動時間が決定される。また、通常状態において、特1保留によって大役抽選が行われ、大当たり図柄が決定されると、40~100秒の範囲内で変動時間が決定される。
【0139】
一方、通常状態において、実質変動対象ではない特2保留によって大役抽選が行われた場合には、決定された図柄種別に拘わらず、変動時間が必ず10分に決定される。このように、変動時間を10分といった長時間に設定することで、通常状態では、仮に遊技者が第2始動口122に遊技球を入球させたとしても、特2保留に基づく大役抽選の実行機会が極めて少なくなる。
【0140】
具体的に説明すると、第2始動口122が第2遊技領域116bに設けられており、また、第2始動口122は、常に遊技球が入球可能となる固定始動口で構成されている。さらに、遊技機100の遊技性により、第2始動口122は、第1始動口120よりも、容易に遊技球が入球する位置に配されている。そのため、仮に、通常状態において、特2保留に係る変動時間を短時間としてしまうと、大役抽選の機会が必要以上に遊技者に与えられてしまう。そこで、通常状態における本来の遊技性に則り、適切に第1遊技領域116aに向けて遊技球を発射させるべく、変動時間を10分といった長時間に設定している。
【0141】
最優位状態では、特2保留が実質変動対象に設定されている。したがって、最優位状態では、遊技者は、第2始動口122に遊技球を入球させるべく、第2遊技領域116bに向けて遊技球を発射させる必要がある。最優位状態において、実質変動対象ではない特1保留によって大役抽選が行われた場合には、決定された図柄種別に拘わらず、変動時間が必ず10秒に決定される。なお、最優位状態において実質変動対象ではない特1保留によって大役抽選が行われる場合の方が、通常状態で実質変動対象ではない特2保留によって大役抽選が行われる場合に比べて、遊技性に与える影響が小さい。そのため、最優位状態では、実質変動対象ではない特1保留によって大役抽選が行われた場合の変動時間を、10秒と短く設定している。
【0142】
最優位状態において、実質変動対象である特2保留によって大役抽選が行われ、ハズレ図柄または小当たり図柄が決定されると、1秒~3秒の範囲内で変動時間が決定される。また、最優位状態において、特2保留によって大役抽選が行われ、大当たり図柄が決定されると、変動時間が3秒~10秒の範囲内で決定される。
【0143】
低確時短状態、高確時短状態では、いずれも特1保留が実質変動対象に設定されている。また、低確時短状態、高確時短状態では、普通遊技状態が時短遊技状態に設定されており、第1可変始動口120Bが頻繁に開状態に制御される。したがって、これら2つの遊技状態では、遊技者は、第1可変始動口120Bに遊技球を入球させるべく、第2遊技領域116bに向けて遊技球を発射させる必要がある。これら2つの遊技状態では、いずれも同一の変動パターン乱数判定テーブルが選択されるが、これら2つの遊技状態は、普通遊技状態が時短遊技状態である点で共通している。つまり、普通遊技状態が時短遊技状態である場合において、実質変動対象である特1保留によって大役抽選が行われ、ハズレ図柄もしくは小当たり図柄が決定されると、必ず1秒の変動時間が決定される。また、低確時短状態、高確時短状態である場合において、特1保留によって大役抽選が行われ、大当たり図柄が決定されると、変動時間が必ず30秒に決定される。
【0144】
高確前兆状態では、特1保留が実質変動対象に設定されている。また、高確前兆状態では、普通遊技状態が時短遊技状態に設定されており、第1可変始動口120Bが頻繁に開状態に制御される。したがって、高確前兆状態では、遊技者は、第1可変始動口120Bに遊技球を入球させるべく、第2遊技領域116bに向けて遊技球を発射させる必要がある。高確前兆状態において、実質変動対象である特1保留によって大役抽選が行われ、ハズレ図柄もしくは小当たり図柄が決定されると、3秒~10秒の範囲内で変動時間が決定される。また、高確前兆状態において、特1保留によって大役抽選が行われ、大当たり図柄が決定されると、変動時間が必ず30秒に決定される。
【0145】
一方、低確時短状態、高確時短状態および高確前兆状態、すなわち、普通遊技状態が時短遊技状態である場合において、実質変動対象ではない特2保留によって大役抽選が行われた場合には、決定された図柄種別に拘わらず、変動時間が必ず10分に決定される。
【0146】
ペナルティ状態では、特1保留が実質変動対象に設定されている。また、ペナルティ状態では、普通遊技状態が中時短遊技状態に設定されており、第1可変始動口120Bが一定の頻度で開状態に制御される。したがって、ペナルティ状態では、遊技者は、第1可変始動口120Bに遊技球を入球させるべく、第2遊技領域116bに向けて遊技球を発射させる必要がある。ペナルティ状態において、実質変動対象である特1保留によって大役抽選が行われ、ハズレ図柄または小当たり図柄が決定されると、3~100秒の範囲内で変動時間が決定される。また、ペナルティ状態において、特1保留によって大役抽選が行われ、大当たり図柄が決定されると、40~100秒の範囲内で変動時間が決定される。
【0147】
一方、ペナルティ状態において、実質変動対象ではない特2保留によって大役抽選が行われた場合には、決定された図柄種別に拘わらず、変動時間が必ず10分に決定される。
【0148】
以上のように、遊技状態ごとに実質変動対象が設定されており、実質変動対象としての保留種別に基づく大役抽選が行われた場合には、最長でも変動時間が100秒となっている。一方、実質変動対象ではない保留種別に基づく大役抽選が行われた場合には、変動時間が概ね10分となり、本来の遊技性に反した遊技が行われないようにしている。
【0149】
なお、同時回し参考例では、高確時短状態の変動時間の平均が、高確前兆状態の変動時間の平均よりも短い場合について説明するが、高確時短状態の変動時間の平均が、高確前兆状態の変動時間の平均よりも長くてもよい。つまり、高確時短状態の変動時間の平均と、高確前兆状態の変動時間の平均とが異なっていてもよい。
【0150】
図14は、同時回し参考例に係る特別電動役物作動ラムセットテーブルを説明する第1の図であり、
図15は、同時回し参考例に係る特別電動役物作動ラムセットテーブルを説明する第2の図である。なお、特別電動役物作動ラムセットテーブルは、大役遊技または小当たり遊技を制御するための各種データが記憶されたものであり、大役遊技中および小当たり遊技中は、特別電動役物作動ラムセットテーブルを参照して、第1大入賞口ソレノイド126cまたは第2大入賞口ソレノイド128cが通電制御される。なお、実際は、特別電動役物作動ラムセットテーブルは、特別図柄(大当たり図柄および小当たり図柄)の種別ごとに複数設けられており、決定された特別図柄の種別に応じて、対応するテーブルが大役遊技または小当たり遊技の開始時にセットされるが、ここでは、説明の都合上、図柄の種別ごとに特別図柄の制御データを示す。
【0151】
図14に示すように、大役遊技は、大入賞口が所定回数開閉される複数回のラウンド遊技で構成され、小当たり遊技は、ラウンド遊技が1回のみ実行される。この特別電動役物作動ラムセットテーブルによれば、オープニング時間(最初のラウンド遊技が開始されるまでの待機時間)、特別電動役物最大作動回数(1回の大役遊技または小当たり遊技中に実行されるラウンド遊技の回数)、特別電動役物開閉切替回数(1ラウンド中の大入賞口の開放回数)、ソレノイド通電時間(大入賞口の開放回数ごとの第1大入賞口ソレノイド126cまたは第2大入賞口ソレノイド128cの通電時間、すなわち、1回の大入賞口の開放時間)、規定数(1回のラウンド遊技における大入賞口への最大入賞可能数)、大入賞口閉鎖有効時間(ラウンド遊技間の大入賞口の閉鎖時間、すなわち、インターバル時間)、エンディング時間(最後のラウンド遊技が終了してから、通常の特別遊技(後述する図柄の変動表示)が再開されるまでの待機時間)が、制御データとして、特別図柄の種別ごとに、図示のように予め記憶されている。
【0152】
なお、特1保留によって大当たりに当選し、大当たり図柄として特別図柄A、B、Dが決定された場合には、4回のラウンド遊技で構成される大役遊技が実行される。この大役遊技においては、1~4回目のラウンド遊技において第1大入賞口126がそれぞれ1回のみ開放される。各ラウンド遊技では、第1大入賞口126が最大で29.0秒開放され、この間に規定数の遊技球が入球するか、もしくは、最大開放時間(29.0秒)が経過すると、第1大入賞口126が閉鎖されて1回のラウンド遊技が終了となる。
【0153】
また、特1保留によって大当たりに当選し、大当たり図柄として特別図柄C、Eが決定された場合には、10回のラウンド遊技で構成される大役遊技が実行される。これらの大役遊技においては、1~10回目のラウンド遊技において第1大入賞口126がそれぞれ1回のみ開放される。各ラウンド遊技では、第1大入賞口126が最大で29.0秒開放され、この間に規定数の遊技球が入球するか、もしくは、最大開放時間(29.0秒)が経過すると、第1大入賞口126が閉鎖されて1回のラウンド遊技が終了となる。
【0154】
また、特1保留によって小当たりに当選し、小当たり図柄として特別図柄Z1~Z3が決定された場合には、1回のラウンド遊技で構成される小当たり遊技が実行される。この小当たり遊技では、1回のラウンド遊技において、第2大入賞口128が0.1秒×1回開放される。
【0155】
また、
図15に示すように、特2保留によって大当たりに当選し、大当たり図柄として特別図柄F、G、Iが決定された場合には、4回のラウンド遊技で構成される大役遊技が実行される。この大役遊技においては、1~4回目のラウンド遊技において第1大入賞口126がそれぞれ1回のみ開放される。各ラウンド遊技では、第1大入賞口126が最大で29.0秒開放され、この間に規定数の遊技球が入球するか、もしくは、最大開放時間(29.0秒)が経過すると、第1大入賞口126が閉鎖されて1回のラウンド遊技が終了となる。
【0156】
また、特2保留によって大当たりに当選し、大当たり図柄として特別図柄H、Jが決定された場合には、10回のラウンド遊技で構成される大役遊技が実行される。この大役遊技においては、1~10回目のラウンド遊技において第1大入賞口126がそれぞれ1回のみ開放される。各ラウンド遊技では、第1大入賞口126が最大で29.0秒開放され、この間に規定数の遊技球が入球するか、もしくは、最大開放時間(29.0秒)が経過すると、第1大入賞口126が閉鎖されて1回のラウンド遊技が終了となる。
【0157】
また、特2保留によって小当たりに当選し、小当たり図柄として特別図柄Z4~Z6が決定された場合にも、1回のラウンド遊技からなる小当たり遊技が実行される。ここで、小当たり図柄として特別図柄Z4が決定された場合の小当たり遊技では、1回のラウンド遊技において、第2大入賞口128が0.1秒×2回開放される。なお、第2大入賞口128の2回の開放の間の休止時間であるラウンド中インターバル時間は、1.78秒に設定されている。遊技球は最短で0.6秒間隔で発射されるため、第2大入賞口128の開放時間と、遊技球の発射間隔とから考えると、この小当たり遊技中に遊技球が第2大入賞口128に入球する確率は低い。
【0158】
しかしながら、同時回し参考例では、第2大入賞口128を閉状態に維持する可動片128b上に遊技球が滞留しやすい構造となっており、可動片128bが開状態に変移することで、可動片128b上に滞留する遊技球が第2大入賞口128内に導かれる。そのため、第2大入賞口128の0.1秒×2回の開放により、平均で2~3個の遊技球が第2大入賞口128に入球することとなる。
【0159】
また、小当たり図柄として特別図柄Z5が決定された場合の小当たり遊技では、1回のラウンド遊技において、第2大入賞口128が0.1秒×3回開放される。なお、この場合のラウンド中インターバル時間は、0.84秒に設定されている。この小当たり遊技においては、平均で3~4個の遊技球が第2大入賞口128に入球する。
【0160】
さらに、小当たり図柄として特別図柄Z6が決定された場合の小当たり遊技では、1回のラウンド遊技において、第2大入賞口128が0.1秒×12回開放される。なお、この場合のラウンド中インターバル時間は、0.84秒に設定されている。この小当たり遊技においては、第2遊技領域116bに向けて遊技球を発射し続けることにより、ほぼ確実に規定数(例えば10個)の遊技球を第2大入賞口128に入球させることができる。
【0161】
なお、遊技機100の設計段階では、遊技球の発射球数と、払い出された賞球数との比率である発射賞球比率を厳密に管理、調整する必要がある。そのため、同時回し参考例では、小当たり遊技において0.1秒の開放が2回なされる特別図柄Z4と、小当たり遊技において0.1秒の開放が3回なされる特別図柄Z5とを設け、これらの選択比率を変更するだけで、発射賞球比率を容易に調整、変更することができるようにしている。
【0162】
図16は、同時回し参考例に係る大役遊技の終了後の遊技状態を設定するための遊技状態設定テーブルを説明する図である。同時回し参考例においては、大役遊技が実行された場合、大当たり当選時の遊技状態、保留種別、特別図柄(大当たり図柄)の種別に応じて、遊技状態設定テーブルを参照し、大役遊技の終了後の遊技状態を設定する。
【0163】
大当たり当選時の遊技状態が通常状態またはペナルティ状態である場合、実質変動対象である特1保留によって大当たりに当選すると、大当たり図柄の種別に応じて大役遊技後の遊技状態が設定される。具体的には、大当たり図柄として特別図柄Aが決定された場合には、低確時短状態(特別遊技状態が低確率遊技状態、普通遊技状態が時短遊技状態)に設定される。このとき、時短遊技状態の継続回数(以下、「時短回数」という)は100回に設定される。これは、大役抽選が100回行われるまで、時短遊技状態が継続することを意味している。ただし、上記した時短回数は1の時短遊技状態における最大継続回数を示すものであり、上記の継続回数に到達するまでの間に大当たりに当選した場合には、再度、遊技状態の設定が行われることとなる。したがって、大役遊技の終了後に時短遊技状態に設定された場合に、当該時短遊技状態において大当たりの抽選結果が導出されることなく、大当たり以外の抽選結果が100回導出されると、非時短遊技状態(通常状態)に遊技状態が変更されることとなる。
【0164】
また、大当たり図柄として特別図柄B、Dが決定された場合には、高確時短状態(特別遊技状態が高確率遊技状態、普通遊技状態が時短遊技状態)に設定される。このとき、高確回数として「次回」が設定され、高確率遊技状態は、次回の大当たりに当選するまで継続する。また、時短回数として「次回」が設定され、時短遊技状態は、次回の大当たりに当選するまで継続する。したがって、特別図柄B、Dが決定された場合には、大役遊技後、次回の大当たりに当選するまで、高確時短状態が継続することとなる。
【0165】
また、大当たり図柄として特別図柄C、Eが決定された場合には、高確前兆状態(特別遊技状態が高確率遊技状態、普通遊技状態が時短遊技状態)に設定される。このとき、高確回数として「次回」が設定され、時短回数が100回に設定される。特別図柄C、Eが決定された場合には、次回の大当たりの当選まで高確率遊技状態が継続する一方で、時短遊技状態は100回で終了となる。したがって、特別図柄C、Eが決定された場合には、大役遊技後、大役抽選の結果が100回導出されたところで、遊技状態が最優位状態に移行することとなる。
【0166】
また、大当たり当選時の遊技状態が通常状態またはペナルティ状態である場合、実質変動対象ではない特2保留によって大当たりに当選すると、大役遊技後の遊技状態が次のように設定される。すなわち、大当たり図柄として特別図柄Fが決定された場合には、通常状態(特別遊技状態が低確率遊技状態、普通遊技状態が非時短遊技状態)に設定される。また、大当たり図柄として特別図柄G~Jが決定された場合には、ペナルティ状態(特別遊技状態が高確率遊技状態、普通遊技状態が中時短遊技状態)に設定される。このとき、高確回数および時短回数は、いずれも「次回」に設定される。
【0167】
また、大当たり当選時の遊技状態が最優位状態である場合、実質変動対象ではない特1保留によって大当たりに当選すると、大役遊技後の遊技状態が次のように設定される。すなわち、大当たり図柄として特別図柄Aが決定された場合には、低確時短状態(特別遊技状態が低確率遊技状態、普通遊技状態が時短遊技状態)に設定される。このとき、時短回数は100回に設定される。また、大当たり図柄として特別図柄B~Eが決定された場合には、通常状態およびペナルティ状態と同様に、大役遊技後の遊技状態が設定される。
【0168】
一方、大当たり当選時の遊技状態が最優位状態である場合、実質変動対象である特2保留によって大当たりに当選すると、大役遊技後の遊技状態が次のように設定される。すなわち、大当たり図柄として特別図柄Fが決定された場合には、低確時短状態(特別遊技状態が低確率遊技状態、普通遊技状態が時短遊技状態)に設定される。このとき、時短回数は100回に設定される。また、大当たり図柄として特別図柄G、Iが決定された場合には、高確時短状態(特別遊技状態が高確率遊技状態、普通遊技状態が時短遊技状態)に設定される。このとき、高確回数および時短回数が「次回」に設定される。
【0169】
また、大当たり図柄として特別図柄H、Jが決定された場合には、高確前兆状態(特別遊技状態が高確率遊技状態、普通遊技状態が時短遊技状態)に設定される。このとき、高確回数が「次回」に設定され、時短回数が100回に設定される。
【0170】
また、大当たり当選時の遊技状態が低確時短状態、高確時短状態、高確前兆状態である場合、つまり、普通遊技状態が時短遊技状態である場合、大役遊技後の遊技状態は、通常状態およびペナルティ状態と同様に設定される。
【0171】
図17は、同時回し参考例に係る当たり決定乱数判定テーブルを説明する図である。遊技領域116を流下する遊技球がゲート124を通過するか、もしくは、普図作動口125に入球すると、第1可変始動口120Bの可動片120bを通電制御するか否かが対応付けられた普通図柄の判定処理(以下、「普図抽選」という)が行われる。
【0172】
なお、詳しくは後述するが、遊技球がゲート124を通過するか、もしくは、普図作動口125に入球すると、0~99の範囲内から1つの当たり決定乱数が取得されるとともに、この乱数値がメインRAM300cの普図保留記憶領域に4つを上限として記憶される。つまり、普図保留記憶領域は、当たり決定乱数をセーブする4つの記憶部を備えている。したがって、普図保留記憶領域の4つの記憶部全てに当たり決定乱数が記憶された状態で、遊技球がゲート124を通過するか、もしくは、普図作動口125に入球した場合には、当該遊技球の通過に基づいて当たり決定乱数が記憶されることはない。以下では、ゲート124を遊技球が通過するか、もしくは、普図作動口125に遊技球が入球して普図保留記憶領域に記憶された当たり決定乱数を普図保留とよぶ。
【0173】
普通遊技状態が非時短遊技状態であるときに普図抽選を開始する場合には、
図17(a)に示すように、非時短遊技状態用当たり決定乱数判定テーブルが参照される。この非時短遊技状態用当たり決定乱数判定テーブルによれば、当たり決定乱数が0であった場合に、普通図柄の種別として当たり図柄が決定され、当たり決定乱数が1~99であった場合に、普通図柄の種別としてハズレ図柄が決定される。したがって、非時短遊技状態において当たり図柄が決定される確率、すなわち、当選確率は1/100となる。詳しくは後述するが、この普図抽選において当たり図柄が決定されると、第1可変始動口120Bの可動片120bが開状態に制御され、ハズレ図柄が決定された場合には、第1可変始動口120Bの可動片120bが閉状態に維持される。
【0174】
また、中時短遊技状態において普図抽選を開始する場合には、
図17(b)に示すように、中時短遊技状態用当たり決定乱数判定テーブルが参照される。この中時短遊技状態用当たり決定乱数判定テーブルによれば、当たり決定乱数が0~49であった場合に、普通図柄の種別として当たり図柄が決定され、当たり決定乱数が50~99であった場合に、普通図柄の種別としてハズレ図柄が決定される。したがって、中時短遊技状態において当たり図柄が決定される確率、すなわち、当選確率は50/100となる。
【0175】
また、時短遊技状態において普図抽選を開始する場合には、
図17(c)に示すように、時短遊技状態用当たり決定乱数判定テーブルが参照される。この時短遊技状態用当たり決定乱数判定テーブルによれば、当たり決定乱数が0~98であった場合に、普通図柄の種別として当たり図柄が決定され、当たり決定乱数が99であった場合に、普通図柄の種別としてハズレ図柄が決定される。したがって、時短遊技状態において当たり図柄が決定される確率、すなわち、当選確率は99/100となる。
【0176】
図18(a)は、同時回し参考例に係る普通図柄変動時間データテーブルを説明する図であり、
図18(b)は、同時回し参考例に係る開閉制御パターンテーブルを説明する図である。上記のように、普図抽選が行われると、普通図柄の変動時間が決定される。普通図柄変動時間データテーブルは、普図抽選によって当たり図柄もしくはハズレ図柄が決定されたときに、当該普通図柄の変動時間を決定する際に参照されるものである。この普通図柄変動時間データテーブルによれば、遊技状態が非時短遊技状態および中時短遊技状態に設定されている場合には変動時間が10秒に決定され、遊技状態が時短遊技状態に設定されている場合には変動時間が1秒に決定される。このようにして変動時間が決定されると、当該決定された時間にわたって普通図柄表示器168が変動表示(点滅表示)される。そして、当たり図柄が決定された場合には普通図柄表示器168が点灯し、ハズレ図柄が決定された場合には普通図柄表示器168が消灯する。
【0177】
そして、普図抽選によって当たり図柄が決定されるとともに、普通図柄表示器168が点灯した場合には、第1可変始動口120Bの可動片120bが、
図18(b)に示すように、開閉制御パターンテーブルを参照して通電制御される。なお、実際は、開閉制御パターンテーブルは、遊技状態ごとに設けられており、普通図柄が決定されたときの遊技状態に応じて、対応するテーブルが普通電動役物ソレノイド120cの通電開始時にセットされる。
【0178】
当たり図柄が決定されると、
図18(b)に示すように、開閉制御パターンテーブルを参照して第1可変始動口120Bが開閉制御される。この開閉制御パターンテーブルによれば、普電開放前時間(第1可変始動口120Bの開放が開始されるまでの待機時間)、普通電動役物最大開閉切替回数(第1可変始動口120Bの開放回数)、ソレノイド通電時間(第1可変始動口120Bの開放回数ごとの普通電動役物ソレノイド120cの通電時間、すなわち、1回の第1可変始動口120Bの開放時間)、規定数(第1可変始動口120Bの全開放中における第1可変始動口120Bへの最大入賞可能数)、普電閉鎖有効時間(第1可変始動口120Bの各開放間の閉鎖時間、すなわち、休止時間)、普電有効状態時間(第1可変始動口120Bの最後の開放終了からの待機時間)、普電終了ウェイト時間(普電有効状態時間の経過後、後述する普通図柄の変動表示が再開されるまでの待機時間)が、第1可変始動口120Bの制御データとして、遊技状態ごとに、図示のように予め記憶されている。
【0179】
このように、普通図柄の当選確率、変動時間および開放時間を設定することにより、
図18(b)の下部に示すように、発射賞球比率(遊技領域116に発射される遊技球に対して第1可変始動口120B、第2始動口122、普図作動口125および大入賞口に遊技球が入球して遊技者に払い出される賞球数の比率)は、非時短遊技状態では発射数:賞球数=100:20、中時短遊技状態では発射数:賞球数=100:40、時短遊技状態では発射数:賞球数=100:99となる。
【0180】
なお、第1可変始動口120Bの開閉条件は、普通図柄の当選確率、普通図柄の変動表示の時間、第1可変始動口120Bの開放時間の3つの要素を規定するものである。つまり、普通図柄の当選確率、普通図柄の変動表示の時間、第1可変始動口120Bの開放時間の3つの要素を組み合わせることにより、非時短遊技状態、中時短遊技状態、時短遊技状態それぞれにおける、第1可変始動口120Bへの遊技球の入球頻度や、発射賞球比率を設定可能である。いずれにしても、ここに示した3つの要素の組み合わせは一例にすぎず、非時短遊技状態よりも時短遊技状態の方が、発射賞球比率が高くなるように、3つの要素を組み合わせればよい。
【0181】
図19は、同時回し参考例に係る本来の遊技性に則った遊技状態の遷移を説明する図である。上記の構成により、遊技機100は、次のような遊技性を実現する。なお、ここでは、登録設定値が「1」に設定されている場合について説明する。まず、遊技機100の初期状態では、
図19の(a)に示す通常状態に設定されている。通常状態では、実質変動対象が特1保留に設定されているため、遊技者は第1固定始動口120Aに遊技球を入球させるべく、第1遊技領域116aに向けて遊技球を発射させる。第1遊技領域116aは、遊技盤108の左側に位置することから、遊技者は、通常状態において、所謂「左打ち」を行うこととなる。
【0182】
第1固定始動口120Aに遊技球が入球すると特1保留が第1特図保留記憶領域に記憶される。第1特図保留記憶領域に記憶された特1保留は、始動条件の成立により順次読み出され、読み出した特1保留に基づく大役抽選が行われる。このとき、大当たりの当選確率は約1/300.6に設定されている。通常状態では、この特1保留に基づく大役抽選において、大当たりに当選することを目的として遊技を行うこととなる。なお、第1遊技領域116aに向けて遊技球を発射した場合の発射賞球比率は100:20に設定されており、遊技中に遊技球が減少していくことになる。
【0183】
そして、通常状態において、特1保留による大役抽選で大当たりに当選すると、大役遊技が実行される。この大役遊技では、第1大入賞口126が開放されるラウンド遊技が4回または10回実行され、遊技者は4ラウンドまたは10ラウンド分の賞球を獲得することができる。そして、特1保留によって大当たりに当選した場合には、大当たり図柄として特別図柄A~Eのいずれかが決定される。
【0184】
通常状態において、第1特別図柄表示器160に停止表示された大当たり図柄が特別図柄Aであった場合、大役遊技後の遊技状態は、
図19の(b)に示す低確時短状態となる。特1保留で大当たりに当選した場合に、大当たり図柄として特別図柄Aが決定される確率は30%である。したがって、通常状態で大当たりに当選した場合、30%の確率で、遊技状態が低確時短状態に移行する。低確時短状態では、実質変動対象が特1保留に設定されているが、普通遊技状態が時短遊技状態であるため、遊技者は第1可変始動口120Bに遊技球を入球させるべく、第2遊技領域116bを狙った右打ちを行うこととなる。
【0185】
つまり、この低確時短状態では、通常状態と同様、特1保留に基づく大役抽選において、大当たりに当選することを目的として遊技を行うこととなる。なお、低確時短状態は、大当たりの当選確率が約1/300.6であるが、普通遊技状態が時短遊技状態であることから、可動片120bが頻繁に開状態となる。そのため、発射賞球比率は100:99となり、遊技者は、遊技球の費消を低減しながら、大当たりの当選を狙うことができる。
【0186】
なお、低確時短状態に移行すると、時短回数が100回に設定され、100回の大役抽選で大当たりに当選しなかった場合には、遊技状態が再び通常状態に移行することとなる(時短抜け)。
【0187】
また、通常状態において、第1特別図柄表示器160に停止表示された大当たり図柄が特別図柄B、Dであった場合、大役遊技後の遊技状態は、
図19の(c)に示す高確時短状態となる。特1保留で大当たりに当選した場合に、大当たり図柄として特別図柄B、Dが決定される確率は35%である。したがって、通常状態で大当たりに当選した場合、35%の確率で、遊技状態が高確時短状態に移行する。高確時短状態では、実質変動対象が特1保留に設定されているが、普通遊技状態が時短遊技状態であるため、遊技者は第1可変始動口120Bに遊技球を入球させるべく、第2遊技領域116bを狙った右打ちを行うこととなる。
【0188】
つまり、この高確時短状態では、通常状態と同様、特1保留に基づく大役抽選において、大当たりに当選することを目的として遊技を行うこととなる。なお、高確時短状態は、大当たりの当選確率が約1/105.7であり、普通遊技状態が時短遊技状態であることから、可動片120bが頻繁に開状態となる。そのため、発射賞球比率は100:99となり、遊技者は、遊技球の費消を低減しながら、大役抽選を行うことができる。したがって、高確時短状態では、実質上、次回の大当たりの当選が確約された状態と言える。
【0189】
また、通常状態において、第1特別図柄表示器160に停止表示された大当たり図柄が特別図柄C、Eであった場合、大役遊技後の遊技状態は、
図19の(d)に示す高確前兆状態となる。特1保留で大当たりに当選した場合に、大当たり図柄として特別図柄C、Eが決定される確率は35%である。したがって、通常状態で大当たりに当選した場合、35%の確率で、遊技状態が高確前兆状態に移行する。高確前兆状態では、実質変動対象が特1保留に設定されているが、普通遊技状態が時短遊技状態であるため、遊技者は第1可変始動口120Bに遊技球を入球させるべく、第2遊技領域116bを狙った右打ちを行うこととなる。
【0190】
そして、特別図柄C、Eが決定された場合には、高確前兆状態に設定されるとともに、時短回数が100回に設定される。このとき、大役遊技後の変動回数が100回に到達すると、時短遊技状態が終了し、普通遊技状態が非時短遊技状態となる。その結果、時短抜けにより、遊技状態が
図19の(e)に示す最優位状態に移行することとなる。詳しくは後述するように、最優位状態では、第2遊技領域116bに向けて遊技球を発射し続けるだけで、遊技球を増加させることができる。したがって、高確前兆状態では、大当たりの当選が遊技の目的となるのではなく、大当たりに当選せずに、時短抜けすることが遊技の目的となる。
【0191】
上記の高確前兆状態、高確時短状態、低確時短状態における実質変動対象の特1保留によれば、大当たりに当選した場合に、大当たり図柄として特別図柄A~Eが決定される。特別図柄Aが決定されると、大役遊技において4回のラウンド遊技が実行されるとともに、大役遊技後の遊技状態が、
図19の(b)に示す低確時短状態となる。また、特別図柄B、Dが決定された場合、大役遊技において4回または10回のラウンド遊技が実行されるとともに、大役遊技後の遊技状態が高確時短状態となる。また、特別図柄C、Eが決定された場合、大役遊技において4回または10回のラウンド遊技が実行されるとともに、大役遊技後の遊技状態が、高確前兆状態となる。
【0192】
最優位状態では、第2始動口122に遊技球が入球すると特2保留が第2特図保留記憶領域に記憶される。第2特図保留記憶領域に記憶された特2保留は、始動条件の成立により順次読み出され、読み出した特2保留に基づく大役抽選が行われる。このとき、大当たりの当選確率は約1/105.7に設定されており、また、小当たりの当選確率は約1/3.45に設定されている。最優位状態では、この特2保留に基づく大役抽選において、小当たりに当選することが遊技の最大の目的となる。
【0193】
具体的には、第2遊技領域116bに遊技球を発射させた場合、発射球数に対する、第2始動口122への遊技球の入球によって払い出される賞球の比率は、100:60~80程度に設定されている。そして、最優位状態では、特2保留による大役抽選において、約1/3.45の確率で小当たりに当選するため、小当たり遊技が頻繁に行われる。ここで、特2保留によって小当たりに当選した場合には、小当たり図柄Z4~Z6が決定される。上記したように、小当たり図柄Z4が第2特別図柄表示器162に停止表示された場合の小当たり遊技では、平均2~3個の遊技球が第2大入賞口128に入球する。小当たり図柄Z5が第2特別図柄表示器162に停止表示された場合の小当たり遊技では、平均3~4個の遊技球が第2大入賞口128に入球する。さらに、小当たり図柄Z6が第2特別図柄表示器162に停止表示された場合の小当たり遊技では、ほぼ規定数の遊技球が第2大入賞口128に入球する。
【0194】
第2大入賞口128に遊技球が入球すると、例えば、1個の遊技球の入球に対して15個の賞球が払い出される。これにより、最優位状態では、発射球数に対する全ての賞球数の比率である発射賞球比率が100:120となり、第2遊技領域116bに向けて遊技球を発射し続けるだけで、遊技球を増加させることができる。
【0195】
なお、この最優位状態では、普通遊技状態が非時短遊技状態となっており、可動片120bが開状態となることは殆どない。また、最優位状態では、特別遊技状態が高確率遊技状態となっており、最優位状態における大当たりの当選確率が約1/105.7であることから、最優位状態では、実質上、次回の大当たりの当選が確約された状態と言える。
【0196】
この最優位状態における実質変動対象の特2保留によれば、大当たりに当選した場合に、大当たり図柄として特別図柄F~Jが決定される。特別図柄Fが決定された場合、大役遊技において4回のラウンド遊技が実行されるとともに、大役遊技後の遊技状態が、
図19の(b)に示す低確時短状態となる。また、特別図柄G、Iが決定された場合、大役遊技において4回または10回のラウンド遊技が実行されるとともに、大役遊技後の遊技状態が高確時短状態となる。また、特別図柄H、Jが決定された場合、大役遊技において4回または10回のラウンド遊技が実行されるとともに、大役遊技後の遊技状態が、高確前兆状態となる。
【0197】
最優位状態は、他の遊技状態に比べて、有利度合いが極めて高いため、遊技機100における遊技の最大の目的は、遊技状態を最優位状態に移行させることとなる。上記のとおり、遊技はまず、通常状態で開始されるが、この通常状態から一気に最優位状態に移行することはない。そのため、高確前兆状態を経由して最優位状態へ移行するという移行ルートが、遊技機100における最優位状態への移行ルートとなる。
【0198】
さらに、同時回し参考例では、高確前兆状態における時短抜けとは別に、特定の小当たり図柄に当選することが、高確前兆状態から最優位状態への移行条件として設定されている。具体的には、高確前兆状態における実質変動対象である特1保留によって小当たりに当選した場合、小当たり図柄として、特別図柄Z1が1%、特別図柄Z2が69%、特別図柄Z3が30%の確率で決定される(
図8(c)参照)。
【0199】
このとき、小当たり図柄として特別図柄Z1が決定されると、小当たり遊技の終了に伴って時短遊技状態が終了し、その結果、遊技状態が最優位状態へと移行することとなる。
【0200】
このように、特定の小当たりの当選によって最優位状態に移行することから、変動回数が規定回数(100回)に達したときにのみ最優位状態に移行する場合に比べて、遊技者に対して、常時、期待感と緊張感とが付与される。
【0201】
なお、上記の高確前兆状態、高確時短状態、低確時短状態においては、約1/3.45の確率で小当たりに当選する。そのため、高確前兆状態、高確時短状態、低確時短状態においても、最優位状態と同様に、頻繁に小当たり遊技が実行される。しかしながら、高確前兆状態、高確時短状態、低確時短状態は、いずれも普通遊技状態が時短遊技状態である。また、詳しくは後述するが、小当たり遊技中も、普通遊技状態は時短遊技状態に維持されている。そのため、小当たり遊技中に第2大入賞口128が開放されるものの、この間に、第1可変始動口120Bも開放されてしまう。
【0202】
上記したように、第1可変始動口120Bは、第2大入賞口128よりも上方に設けられており、しかも、時短遊技状態では、第1可変始動口120Bの開放時間が、第2大入賞口128の開放時間よりも極めて長い。そのため、高確前兆状態、高確時短状態、低確時短状態においては、第2遊技領域116bを流下する遊技球の殆どが第1可変始動口120Bに入球し、第2大入賞口128には殆ど遊技球が入球することはない。その結果、高確前兆状態、高確時短状態、低確時短状態においては、最優位状態とは異なり、遊技中に右打ちを行ったとしても、遊技球が徐々に減少することとなる。
【0203】
以上のように、本来の遊技性に則って実質変動対象によって遊技が進行すると、大当たりに当選した場合、大役遊技後の遊技状態が、低確時短状態、高確時短状態、高確前兆状態のいずれかに設定される。そして、高確時短状態および高確前兆状態は、特別遊技状態が高確率遊技状態であり、普通遊技状態が時短遊技状態であることが共通している。一方で、高確時短状態は、次回の大当たりに当選するまで継続するのに対して、高確前兆状態は、特定の小当たり(特別図柄Z1)に当選するか、時短抜けすることで、遊技状態が最優位状態に移行される点で相違する。
【0204】
また、高確時短状態では、小当たり時およびハズレ時の変動時間が1秒に設定されるのに対して、高確前兆状態では、小当たり時およびハズレ時の変動時間が3~10秒の範囲内で設定される点で相違する(
図13(b)参照)。つまり、高確時短状態における変動時間の平均は、高確前兆状態における変動時間の平均よりも短く設定される。
【0205】
したがって、高確時短状態では、小当たり時およびハズレ時の変動時間が相対的に短いため、大当たりに当選するまで、実質変動対象を高速で消化することができる。詳しい説明は省略するが、特別図柄の変動時間では、副制御基板330において演出図柄210a、210b、210cの変動表示が行われる。高確時短状態では、演出図柄210a、210b、210cの変動表示も相対的に短くなる。そのため、高確時短状態では、特1保留が記憶され続ける限り、特1保留(演出図柄210a、210b、210cの変動表示)が高速で消化され続けることになり、大当たりに当選するまでの時間を短くすることができ、遊技者にストレスを感じさせることなく(低減して)、次回の大当たりまで遊技を行わせることができる。
【0206】
一方、高確前兆状態では、小当たり時およびハズレ時の変動時間が相対的に長いが、副制御基板330においては、最優位状態に移行するか否かの演出が行われる。そのため、遊技者は最優位状態に移行するのではないかと期待しながら遊技を行うことができる。
【0207】
このように、高確時短状態では、特定の小当たり(特別図柄Z1)に当選しても最優位状態に移行することはないが、変動時間の平均が短く設定されることで、次回の大当たりの当選までの時間を短くでき、遊技者へのストレスを低減することができる。また、高確前兆状態では、高確時短状態と比べて変動時間の平均が長く設定されているが、その変動時間で、最優位状態に移行するか否かの演出を行うことができ、遊技者に期待感と緊張感とを付与することができる。
【0208】
以上のように、特別遊技状態が高確率遊技状態であり、普通遊技状態が時短遊技状態であることが共通している高確時短状態および高確前兆状態が設けられ、高確時短状態の変動時間の平均を高確前兆状態の変動時間の平均よりも短くすることで、新たな遊技性を提供することができる。
【0209】
図20は、同時回し参考例に係る適切に遊技が行われなかった場合の遊技状態の遷移を説明する図である。上記のように、遊技機100では、第1特別図柄表示器160における図柄の変動表示と、第2特別図柄表示器162における図柄の変動表示とが、同時並行して行われる。このとき、実質変動対象以外の保留によって大役抽選が行われた結果、遊技者に不利益が生じる可能性がある場合については、変動時間を10分といった長時間に設定している。しかしながら、実質変動対象以外の保留によって大役抽選が行われた後、例えば、遊技を中断してしまう等した結果、実質変動対象以外の保留による大当たりが確定してしまうこともある。この場合には、
図20に示すように遊技状態が遷移することとなる。
【0210】
以下に、上記の遊技性を実現するための、主制御基板300の主な処理について説明する。
【0211】
図21は、同時回し参考例に係る遊技機状態フラグを説明する図である。主制御基板300においては、遊技を進行可能な状態であるか否かが遊技機状態フラグにより管理される。遊技機状態フラグには、00H~05Hの6種類のフラグ値のいずれかがセットされる。遊技機状態フラグのフラグ値=00Hは遊技可能状態を示しており、遊技機状態フラグが00Hである場合に、遊技が進行制御され、遊技機状態フラグが00H以外である場合には、遊技が停止される。
【0212】
遊技機状態フラグのフラグ値=01Hは設定変更状態を示しており、遊技機状態フラグが01Hである場合には、登録設定値の変更操作が可能となる。遊技機状態フラグのフラグ値=02Hは設定確認状態を示しており、遊技機状態フラグが02Hである場合には、登録設定値が性能表示モニタ184に表示される等して、登録設定値を確認することが可能となる。遊技機状態フラグのフラグ値=03Hは設定異常状態を示しており、遊技機状態フラグが03Hである場合には、登録設定値が異常であるとして遊技が停止される。遊技機状態フラグのフラグ値=04HはRAM異常状態を示しており、遊技機状態フラグが04Hである場合には、遊技が停止される。遊技機状態フラグのフラグ値=05Hはチェックサム異常状態を示しており、遊技機状態フラグが05Hである場合には、遊技が停止される。電源が投入されると、遊技機状態フラグがいずれかのフラグ値にセットされ、遊技機状態フラグに応じた処理が行われる。
【0213】
(主制御基板300のCPU初期化処理)
図22は、同時回し参考例に係る主制御基板300におけるCPU初期化処理を説明する第1のフローチャートであり、
図23は、同時回し参考例に係る主制御基板300におけるCPU初期化処理を説明する第2のフローチャートである。
【0214】
電源基板より電源が供給されると、メインCPU300aにシステムリセットが発生し、メインCPU300aは、以下のCPU初期化処理(S100)を行う。
【0215】
(ステップS100-1)
メインCPU300aは、電源投入に応じて、初期設定処理として、メインROM300bから起動プログラムを読み込むとともに、各種処理を実行するために必要な設定処理を行う。
【0216】
(ステップS100-3)
メインCPU300aは、タイマカウンタにウェイト処理時間を設定する。
【0217】
(ステップS100-5)
メインCPU300aは、電源断予告信号を検出しているかを判定する。なお、主制御基板300には、電源断検知回路が設けられており、電源電圧が所定値以下になると、電源断検知回路から電源断予告信号が出力される。電源断予告信号を検出している場合には、上記ステップS100-3に処理を移し、電源断予告信号を検出していない場合には、ステップS100-7に処理を移す。
【0218】
(ステップS100-7)
メインCPU300aは、上記ステップS100-3で設定したウェイト時間が経過したか否かを判定する。その結果、ウェイト時間が経過したと判定した場合にはステップS100-9に処理を移し、ウェイト時間は経過していないと判定した場合には上記ステップS100-5に処理を移す。
【0219】
(ステップS100-9)
メインCPU300aは、メインRAM300cへのアクセスを許可するために必要な処理を実行する。
【0220】
(ステップS100-11)
メインCPU300aは、Dレジスタに電源断前の遊技機状態フラグのフラグ値をロードする。
【0221】
(ステップS100-13)
メインCPU300aは、チェックサムを算出するとともに、算出したチェックサムが、電源断時に保存されたチェックサムと一致する(正常である)か、ならびに、バックアップフラグが正常であるかを判定する。その結果、バックアップフラグおよびチェックサムが正常であると判定した場合にはステップS100-15に処理を移し、いずれか一方または双方が正常ではないと判定した場合にはステップS100-25に処理を移す。
【0222】
(ステップS100-15)
メインCPU300aは、メインRAM300cのクリア対象の先頭アドレスに、設定値および遊技機状態フラグを含まない番地をセットする。
【0223】
(ステップS100-17)
メインCPU300aは、RAMクリアスイッチ182sからRAMクリア操作信号が入力されているか(RAMクリアボタンが押下操作されているか)を判定する。その結果、RAMクリア操作信号が入力されていると判定した場合にはステップS100-31に処理を移し、RAMクリア操作信号は入力されていないと判定した場合にはステップS100-19に処理を移す。
【0224】
(ステップS100-19)
メインCPU300aは、上記ステップS100-11でロードした遊技機状態フラグのフラグ値が00H(遊技可能状態)であり、設定変更スイッチ180sがオンしており、かつ、中枠104が開放しているかを判定する。その結果、3つの条件をすべて満たすと判定した場合にはステップS100-21に処理を移し、3つの条件の1つでも満たされないと判定した場合にはステップS100-23に処理を移す。
【0225】
(ステップS100-21)
メインCPU300aは、遊技機状態フラグに02H(設定確認状態)をセットする。すなわち、中枠104が開放されており、設定変更スイッチ180sがオンしており、RAMクリアボタンが押下されていない状態で正常に電源投入がなされると、設定確認状態となる。
【0226】
(ステップS100-23)
メインCPU300aは、メインRAM300cのうち、上記ステップS100-15でセットされた先頭アドレス以降の領域である電源復帰時のクリア対象をクリアする初期化処理を実行し、ステップS100-49に処理を移す。
【0227】
(ステップS100-25)
メインCPU300aは、Dレジスタに05H(チェックサム異常状態)をセットする。
【0228】
(ステップS100-27)
メインCPU300aは、使用外領域のリードライトメモリのチェックおよびクリアを行う領域外リードライトチェック処理を行う。
【0229】
(ステップS100-29)
メインCPU300aは、メインRAM300cのクリア対象の先頭アドレスに、設定値および遊技機状態フラグを含む番地をセットする。
【0230】
(ステップS100-31)
メインCPU300aは、使用領域のリードライトメモリのチェックおよびクリアを行う。
【0231】
(ステップS100-33)
メインCPU300aは、上記ステップS100-31におけるリードライトメモリのチェック結果が正常であるかを判定する。その結果、正常であると判定した場合にはステップS100-37に処理を移し、正常ではないと判定した場合にはステップS100-35に処理を移す。
【0232】
(ステップS100-35)
メインCPU300aは、Dレジスタに04H(RAM異常状態)をセットし、ステップS100-45に処理を移す。
【0233】
(ステップS100-37)
メインCPU300aは、Dレジスタに02H(設定確認状態)がセットされているかを判定する。その結果、02Hがセットされていると判定した場合にはステップS100-39に処理を移し、02Hはセットされていないと判定した場合にはステップS100-41に処理を移す。
【0234】
(ステップS100-39)
メインCPU300aは、Dレジスタに00H(遊技可能状態)をセットする。
【0235】
(ステップS100-41)
メインCPU300aは、設定変更条件を満たしているかを判定する。その結果、設定変更条件を満たしていると判定した場合にはステップS100-43に処理を移し、設定変更条件は満たしていないと判定した場合にはステップS100-45に処理を移す。なお、ここでは、設定変更条件に、設定変更スイッチ180sがオンしていること、中枠104が開放していること、および、RAMクリアスイッチ182sからRAMクリア操作信号が入力されていることが少なくとも含まれる。
【0236】
(ステップS100-43)
メインCPU300aは、Dレジスタに01H(設定変更状態)をセットする。
【0237】
(ステップS100-45)
メインCPU300aは、Dレジスタにセットされている値を遊技機状態フラグにセーブする。
【0238】
(ステップS100-47)
メインCPU300aは、メインRAM300cのうち、RAMクリア時のクリア対象をクリアする初期化処理を実行し、ステップS100-49に処理を移す。
【0239】
(ステップS100-49)
メインCPU300aは、メインRAM300cがクリアされたことを払出制御基板310に伝達するための払出コマンド(RAMクリア指定コマンド)の送信処理(RAMクリア指定コマンドを送信バッファに格納)を行う。
【0240】
(ステップS100-51)
メインCPU300aは、遊技機状態フラグをロードする。
【0241】
(ステップS100-53)
メインCPU300aは、上記ステップS100-51でロードした遊技機状態フラグが00H(遊技可能状態)であるかを判定する。その結果、00Hであると判定した場合にはステップS110に処理を移し、00Hではないと判定した場合にはステップS100-55に処理を移す。
【0242】
(ステップS110)
メインCPU300aは、サブコマンド群セット処理を行う。なお、このサブコマンド群セット処理については後述する。
【0243】
(ステップS100-55)
メインCPU300aは、所定のコマンドを副制御基板330に送信するためのサブコマンドセット処理を行う。
【0244】
(ステップS100-57)
メインCPU300aは、タイマ割込みの周期を設定する。
【0245】
(ステップS100-59)
メインCPU300aは、割込みを禁止するための処理を行う。
【0246】
(ステップS100-61)
メインCPU300aは、当たり図柄乱数用初期値更新乱数を更新する。なお、当たり図柄乱数用初期値更新乱数は、当たり図柄乱数の初期値および終了値を決定するためのものである。つまり、後述する当たり図柄乱数の更新処理によって当たり図柄乱数が、当たり図柄乱数用初期値更新乱数から、当該当たり図柄乱数用初期値更新乱数-1まで1周すると、当たり図柄乱数は、そのときの当たり図柄乱数用初期値更新乱数に更新されることとなる。
【0247】
(ステップS100-63)
メインCPU300aは、払出制御基板310から受信した受信データ(主コマンド)を解析し、受信データに応じた種々の処理を実行する。
【0248】
(ステップS100-65)
メインCPU300aは、送信バッファに格納されているサブコマンドを副制御基板330に送信するための処理を行う。
【0249】
(ステップS100-67)
メインCPU300aは、割込みを許可するための処理を行う。
【0250】
(ステップS100-69)
メインCPU300aは、リーチグループ決定乱数、リーチモード決定乱数、変動パターン乱数を更新し、以後、上記ステップS100-59から処理を繰り返す。なお、以下では、変動演出パターンを決定するためのリーチグループ決定乱数、リーチモード決定乱数、変動パターン乱数を総称して変動演出用乱数と呼ぶ。
【0251】
図24は、同時回し参考例に係る主制御基板300におけるサブコマンド群セット処理(S110)を説明するフローチャートである。
【0252】
(ステップS110-1)
メインCPU300aは、遊技機状態フラグのフラグ値をロードする。
【0253】
(ステップS110-3)
メインCPU300aは、所定のコマンドを副制御基板330に送信するためのサブコマンドセット処理を行う。
【0254】
(ステップS110-5)
メインCPU300aは、遊技機100の機種情報を示す機種コマンドを送信バッファにセットする機種コマンド設定処理を行う。
【0255】
(ステップS110-7)
メインCPU300aは、登録設定値を示す設定値指定コマンドを送信バッファにセットする設定値指定コマンド設定処理を行う。
【0256】
(ステップS110-9)
メインCPU300aは、特1保留数を示す特
図1保留指定コマンドを送信バッファにセットする特
図1保留指定コマンド設定処理を行う。
【0257】
(ステップS110-11)
メインCPU300aは、特2保留数を示す特
図2保留指定コマンドを送信バッファにセットする特
図2保留指定コマンド設定処理を行う。
【0258】
(ステップS110-13)
メインCPU300aは、時短遊技状態の残り回数を示す回数コマンドを送信バッファにセットする回数コマンド設定処理を行う。
【0259】
(ステップS110-15)
メインCPU300aは、変動パターン選択状態を示す変動パターン選択状態指定コマンドを送信バッファにセットする変動パターン選択状態指定コマンド設定処理を行う。
【0260】
(ステップS110-17)
メインCPU300aは、特別遊技管理フェーズを示す特図フェーズ指定コマンドを送信バッファにセットする特図フェーズ指定コマンド設定処理を行う。なお、特別遊技管理フェーズについては後述する。
【0261】
(ステップS110-19)
メインCPU300aは、特別遊技管理フェーズが特別図柄変動待ち状態であるかを判定する。その結果、特別図柄変動待ち状態であると判定した場合にはステップS110-21に処理を移し、特別図柄変動待ち状態ではないと判定した場合には当該サブコマンド群セット処理を終了する。
【0262】
(ステップS110-21)
メインCPU300aは、客待ち指定コマンドを送信バッファにセットし、当該サブコマンド群セット処理を終了する。
【0263】
次に、主制御基板300における割込み処理について説明する。ここでは、電源断時退避処理(XINT割込み処理)およびタイマ割込み処理について説明する。
【0264】
(主制御基板300の電源断時退避処理(XINT割込み処理))
図25は、同時回し参考例に係る主制御基板300における電源断時退避処理(XINT割込み処理)を説明するフローチャートである。メインCPU300aは、電源断検知回路を監視しており、電源電圧が所定値以下になると、CPU初期化処理に割り込んで電源断時退避処理を実行する。
【0265】
(ステップS300-1)
電源断予告信号が入力されると、メインCPU300aは、レジスタを退避する。
【0266】
(ステップS300-3)
メインCPU300aは、電源断予告信号をチェックする。
【0267】
(ステップS300-5)
メインCPU300aは、電源断予告信号を検出しているかを判定する。その結果、電源断予告信号を検出していると判定した場合にはステップS300-11に処理を移し、電源断予告信号を検出していないと判定した場合にはステップS300-7に処理を移す。
【0268】
(ステップS300-7)
メインCPU300aは、レジスタを復帰させる。
【0269】
(ステップS300-9)
メインCPU300aは、割込みを許可するための処理を行い、当該電源断時退避処理を終了する。
【0270】
(ステップS300-11)
メインCPU300aは、出力ポートの出力を停止する出力ポートクリア処理を実行する。
【0271】
(ステップS300-13)
メインCPU300aは、チェックサムを算出して保存するチェックサム設定処理を実行する。
【0272】
(ステップS300-15)
メインCPU300aは、メインRAM300cへのアクセスを禁止するために必要なRAMプロテクト設定処理を実行する。
【0273】
(ステップS300-17)
メインCPU300aは、電源断発生監視時間を設定すべく、ループカウンタのカウンタ値に所定の電源断検出信号検出回数をセットする。
【0274】
(ステップS300-19)
メインCPU300aは、電源断予告信号をチェックする。
【0275】
(ステップS300-21)
メインCPU300aは、電源断予告信号を検出しているかを判定する。その結果、電源断予告信号を検出していると判定した場合にはステップS300-17に処理を移し、電源断予告信号を検出していないと判定した場合にはステップS300-23に処理を移す。
【0276】
(ステップS300-23)
メインCPU300aは、上記ステップS300-17でセットしたループカウンタの値を1減算する。
【0277】
(ステップS300-25)
メインCPU300aは、ループカウンタのカウンタ値が0でないかを判定する。その結果、カウンタ値が0ではないと判定した場合にはステップS300-19に処理を移し、カウンタ値が0であると判定した場合には上記したCPU初期化処理(ステップS100)に移行する。
【0278】
なお、実際に電源断が生じた場合には、ステップS300-17~ステップS300-25をループしている間に遊技機100の稼働が停止する。
【0279】
(主制御基板300のタイマ割込み処理)
図26は、同時回し参考例に係る主制御基板300におけるタイマ割込み処理を説明するフローチャートである。主制御基板300には、所定の周期(同時回し参考例では4ミリ秒、以下「4ms」という)毎にクロックパルスを発生させるリセット用クロックパルス発生回路が設けられている。そして、リセット用クロックパルス発生回路によって、クロックパルスが発生すると、CPU初期化処理(ステップS100)に割り込んで、以下のタイマ割込み処理が実行される。
【0280】
(ステップS400-1)
メインCPU300aは、レジスタを退避する。
【0281】
(ステップS400-3)
メインCPU300aは、割込みを許可するための処理を行う。
【0282】
(ステップS400-5)
メインCPU300aは、コモン出力バッファにセットされたコモンデータを出力ポートに出力し、第1特別図柄表示器160、第2特別図柄表示器162、第1特別図柄保留表示器164、第2特別図柄保留表示器166、普通図柄表示器168、普通図柄保留表示器170、右打ち報知表示器172、性能表示モニタ184を点灯制御するダイナミックポート出力処理を実行する。
【0283】
(ステップS400-7)
メインCPU300aは、各種の入力ポート情報を読み込み、最新のスイッチ状態を正確に取得するためのポート入力処理を実行する。
【0284】
(ステップS400-9)
メインCPU300aは、遊技機状態フラグのフラグ値をロードする。
【0285】
(ステップS400-11)
メインCPU300aは、上記ステップS400-9でロードしたフラグ値が00H(遊技可能状態)であるかを判定する。その結果、00Hであると判定した場合にはステップS400-15に処理を移し、00Hではないと判定した場合にはステップS400-13に処理を移す。
【0286】
(ステップS400-13)
メインCPU300aは、上記ステップS400-9でロードしたフラグ値が03H(設定異常状態)以上であるかを判定する。その結果、03H以上であると判定した場合にはステップS400-29に処理を移し、03H以上ではないと判定した場合にはステップS450に処理を移す。
【0287】
(ステップS450)
メインCPU300aは、設定関連処理を実行し、ステップS400-29に処理を移す。なお、設定関連処理については後述する。
【0288】
(ステップS400-15)
メインCPU300aは、各種タイマカウンタを更新するタイマ更新処理を行う。ここで、各種タイマカウンタは、特に断る場合を除き、当該主制御基板300のタイマ割込み処理の度に減算され、0になると減算を停止する。
【0289】
(ステップS400-17)
メインCPU300aは、上記ステップS100-61と同様、当たり図柄乱数用初期値更新乱数の更新処理を実行する。
【0290】
(ステップS400-19)
メインCPU300aは、当たり図柄乱数を更新する処理を行う。具体的には、乱数カウンタを1加算して更新し、加算した結果が乱数範囲の最大値を超えた場合には、乱数カウンタを0に戻し、乱数カウンタが1周した場合には、その時の当たり図柄乱数用初期値更新乱数の値から乱数を更新する。
【0291】
なお、詳しい説明は省略するが、同時回し参考例では、大当たり決定乱数および当たり決定乱数は、主制御基板300に内蔵されたハードウェア乱数生成部によって更新されるハードウェア乱数を用いている。ハードウェア乱数生成部は、大当たり決定乱数および当たり決定乱数を、いずれも一定の規則にしたがって更新し、乱数列が一巡するごとに自動的に乱数列を変更するとともに、システムリセット毎にスタート値を変更している。
【0292】
(ステップS500)
メインCPU300aは、第1固定始動口検出スイッチ120As、第1可変始動口検出スイッチ120Bs、第2始動口検出スイッチ122s、ゲート検出スイッチ124s、普図作動口検出スイッチ125s、第1大入賞口検出スイッチ126s、第2大入賞口検出スイッチ128sから信号の入力があったか否か判定するスイッチ管理処理を実行する。なお、このスイッチ管理処理の詳細については後述する。
【0293】
(ステップS600)
メインCPU300aは、特別遊技のうちの特2保留に基づく特別図柄の変動表示を進行制御するための特別遊技管理処理を実行する。なお、この特別遊技管理処理の詳細については後述する。
【0294】
(ステップS600)
メインCPU300aは、特別遊技のうちの特1保留に基づく特別図柄の変動表示を進行制御するための特別遊技管理処理を実行する。なお、ここでは、特2保留に基づく特別図柄の変動表示を進行制御するための特別遊技管理処理と同一のプログラム(モジュール)が読み出されて、特1保留に基づく特別図柄の変動表示を進行制御するための特別遊技管理処理が実行されることになる。
【0295】
(ステップS700)
メインCPU300aは、特別遊技における大役遊技および小当たり遊技を進行制御するための特別電動役物遊技管理処理を実行する。なお、この特別電動役物遊技管理処理の詳細については後述する。
【0296】
(ステップS800)
メインCPU300aは、上記の普通遊技を進行制御するための普通遊技管理処理を実行する。なお、この普通遊技管理処理の詳細については後述する。
【0297】
(ステップS400-21)
メインCPU300aは、各種エラーの判定およびエラー判定結果に応じた設定を行うためのエラー管理処理を実行する。
【0298】
(ステップS400-23)
メインCPU300aは、一般入賞口検出スイッチ118s、第1始動口検出スイッチ120s、第2始動口検出スイッチ122s、第1大入賞口検出スイッチ126s、第2大入賞口検出スイッチ128sのチェックを行い、該当する賞球制御用のカウンタ等を加算するための入賞口スイッチ処理を実行する。
【0299】
(ステップS400-25)
メインCPU300aは、上記ステップS400-23でセットされた賞球制御用のカウンタのカウンタ値等に基づく払出コマンドの作成および送信を行うための払出制御管理処理を実行する。
【0300】
(ステップS400-27)
メインCPU300aは、遊技球の発射位置、すなわち、第1遊技領域116aおよび第2遊技領域116bのどちらに遊技球を発射させるかを指示する発射位置指定コマンドを副制御基板330に送信するための発射位置指定管理処理を実行する。
【0301】
(ステップS400-29)
メインCPU300aは、遊技情報出力端子板312から外部へ出力する外部情報用の出力データをセットするための外部情報管理処理を実行する。
【0302】
(ステップS400-31)
メインCPU300aは、第1特別図柄表示器160、第2特別図柄表示器162、第1特別図柄保留表示器164、第2特別図柄保留表示器166、普通図柄表示器168、普通図柄保留表示器170、右打ち報知表示器172等の各種表示器(LED)を点灯制御するための表示データを、各コモンに対応した出力バッファにセットするLED表示設定処理を実行する。
【0303】
(ステップS400-33)
メインCPU300aは、普通電動役物ソレノイド120c、第1大入賞口ソレノイド126c、第2大入賞口ソレノイド128cのソレノイド出力イメージを合成し、出力ポートバッファに格納するためのソレノイド出力イメージ合成処理を実行する。
【0304】
(ステップS400-35)
メインCPU300aは、各出力ポートバッファに格納されたコモン出力バッファの値を出力ポートに出力するためのポート出力処理を実行する。
【0305】
(ステップS400-37)
メインCPU300aは、割込みを禁止するための処理を行う。
【0306】
(ステップS400-39)
メインCPU300aは、メインRAM300cの使用外領域を用いて、性能表示モニタ184に表示するベース比率を算出するための処理を行い、算出したベース比率を性能表示モニタ184に表示するためのコモンデータをコモン出力バッファにセットする性能表示モニタ制御処理を実行する。なお、性能表示モニタ制御処理においては、所定期間ごとにベース比率が算出される。ここで、性能表示モニタ184には、現在の期間のベース比率と、それ以前の期間のベース比率とが所定時間ごとに切り替え表示されてもよい。また、所定の操作に応じて、性能表示モニタ184に表示されるベース比率が切り替わってもよい。
【0307】
(ステップS400-41)
メインCPU300aは、レジスタを復帰してタイマ割込み処理を終了する。
【0308】
図27は、同時回し参考例に係る設定関連処理(S450)を説明するフローチャートである。
【0309】
(ステップS450-1)
メインCPU300aは、遊技機状態フラグのフラグ値が01H(設定変更状態)であるかを判定する。その結果、01Hであると判定した場合にはステップS450-3に処理を移し、01Hではないと判定した場合にはステップS450-15に処理を移す。
【0310】
(ステップS450-3)
メインCPU300aは、設定値バッファに記憶されている登録設定値を所定の処理領域にロードする。
【0311】
(ステップS450-5)
メインCPU300aは、RAMクリアスイッチ182sが押下されたか(RAMクリア操作信号が入力されているか)を判定する。その結果、RAMクリアスイッチ182sが押下されていると判定した場合にはステップS450-7に処理を移し、RAMクリアスイッチ182sが押下されていないと判定した場合にはステップS450-9に処理を移す。
【0312】
(ステップS450-7)
メインCPU300aは、処理領域の設定値に1を加算する。
【0313】
(ステップS450-9)
メインCPU300aは、処理領域の設定値が1~6の範囲であるかを判定する。その結果、設定値が1~6の範囲であると判定した場合にはステップS450-13に処理を移し、設定値が1~6の範囲ではないと判定した場合にはステップS450-11に処理を移す。
【0314】
(ステップS450-11)
メインCPU300aは、処理領域の設定値を1にセットする。
【0315】
(ステップS450-13)
メインCPU300aは、処理領域の設定値を設定値バッファにセットする。
【0316】
(ステップS450-15)
メインCPU300aは、設定変更スイッチ180sがオンしているかを判定する。その結果、設定変更スイッチ180sがオンしていると判定した場合には当該設定関連処理を終了し、設定変更スイッチ180sはオンしていないと判定した場合にはステップS450-17に処理を移す。
【0317】
(ステップS450-17)
メインCPU300aは、設定関連処理の終了を示す設定関連終了指定コマンドを送信バッファにセットする。
【0318】
(ステップS110)
メインCPU300aは、
図24のサブコマンド群セット処理を実行する。すなわち、設定関連処理が実行された場合、その終了時に、機種コマンド、設定値指定コマンド、特
図1保留指定コマンド、特
図2保留指定コマンド、回数コマンド、変動パターン選択状態指定コマンド、特図フェーズ指定コマンド、客待ち指定コマンドが副制御基板330に送信されることとなる。
【0319】
(ステップS450-19)
メインCPU300aは、遊技機状態フラグに00H(遊技可能状態)をセットし、当該設定関連処理を終了する。
【0320】
以上のように、同時回し参考例によれば、中枠104が開放され、設定変更スイッチ180sがオンされ、RAMクリアボタンが押下操作された状態で、正常に電源投入がなされると、CPU初期化処理(
図22)において、遊技機状態フラグに01H(設定変更状態)がセットされる。その後、タイマ割込み処理が実行されるが、遊技機状態フラグに01H(設定変更状態)がセットされているため、遊技の進行に係る全ての処理(
図26のステップS400-15~ステップS400-27)が停止され、設定関連処理が実行される。
【0321】
設定関連処理は、設定変更スイッチ180sがオンしている間、繰り返し実行され、この設定関連処理中は、RAMクリアボタンの押下操作が、登録設定値の設定変更操作として受け付けられる。すなわち、設定変更操作を受け付ける設定変更処理(S450-1~S450-13)中は、設定変更操作に応じて、設定値バッファに記憶する登録設定値が、複数段階設けられた設定値のいずれかに切り替えられる。
【0322】
そして、遊技機状態フラグに01H(設定変更状態)がセットされている状態で、設定変更スイッチ180sがオフに切り替わると、設定変更処理が終了となり、遊技機状態フラグに00H(遊技可能状態)がセットされる。これにより、次のタイマ割込み処理から、遊技の進行に係る処理が実行可能となる。
【0323】
ここで、同時回し参考例の設定関連処理では、RAMクリアボタンの押下操作、すなわち、登録設定値の設定変更操作の受け付け終了後に、サブコマンド群セット処理において、登録設定値に対応する設定値指定コマンドが副制御基板330に送信される。一方で、設定変更操作の受け付け中は、設定値指定コマンドが副制御基板330に送信されることはない。このように、設定変更操作の受け付け中は、設定値指定コマンドを送信せずに、設定変更操作の受け付けが終了し、遊技の進行が可能な状態に移行する場合に、設定値指定コマンドを送信することで、登録設定値が不正に取得されるリスクを低減することができる。
【0324】
また、同時回し参考例では、01H(設定変更状態)を少なくとも含む複数のフラグ値が切り替えられる。そして、遊技機状態フラグに01H(設定変更状態)がセットされている場合に設定関連処理が実行可能となり、かつ、遊技の進行が停止される。このように、遊技の進行中に設定関連処理が実行されることがないため、遊技の進行中に設定値指定コマンドが送信されることもなく、登録設定値が不正に取得されるリスクが低減される。
【0325】
次に、上記したタイマ割込み処理のうち、ステップS500のスイッチ管理処理、ステップS600の特別遊技管理処理、ステップS700の特別電動役物遊技管理処理、ステップS800の普通遊技管理処理について、詳細に説明する。
【0326】
図28は、同時回し参考例に係る主制御基板300におけるスイッチ管理処理(ステップS500)を説明するフローチャートである。
【0327】
(ステップS500-1)
メインCPU300aは、ゲート検出スイッチオン検出時であるか、すなわち、ゲート124を遊技球が通過してゲート検出スイッチ124sからの検出信号がオンされたかを判定する。その結果、ゲート検出スイッチオン検出時であると判定した場合にはステップS510に処理を移し、ゲート検出スイッチオン検出時ではないと判定した場合にはステップS500-7に処理を移す。
【0328】
(ステップS510)
メインCPU300aは、ゲート124への遊技球の通過に基づいてゲート通過処理を実行する。なお、このゲート通過処理の詳細については後述する。
【0329】
(ステップS500-3)
メインCPU300aは、普図作動口検出スイッチオン検出時であるか、すなわち、普図作動口125に遊技球が入球して普図作動口検出スイッチ125sからの検出信号がオンされたかを判定する。その結果、普図作動口検出スイッチオン検出時であると判定した場合にはステップS510に処理を移し、普図作動口検出スイッチオン検出時ではないと判定した場合にはステップS500-5に処理を移す。
【0330】
(ステップS510)
メインCPU300aは、普図作動口125への遊技球の入球に基づいてゲート通過処理を実行する。
【0331】
(ステップS500-5)
メインCPU300aは、第1固定始動口検出スイッチオン検出時であるか、すなわち、第1固定始動口120Aに遊技球が入球して第1固定始動口検出スイッチ120Asから検出信号が入力されたかを判定する。その結果、第1固定始動口検出スイッチオン検出時であると判定した場合にはステップS520に処理を移し、第1固定始動口検出スイッチオン検出時ではないと判定した場合にはステップS500-7に処理を移す。
【0332】
(ステップS520)
メインCPU300aは、第1固定始動口120Aへの遊技球の入球に基づいて第1始動口通過処理を実行する。なお、この第1始動口通過処理の詳細については後述する。
【0333】
(ステップS500-7)
メインCPU300aは、第1可変始動口検出スイッチオン検出時であるか、すなわち、第1可変始動口120Bに遊技球が入球して第1可変始動口検出スイッチ120Bsから検出信号が入力されたかを判定する。その結果、第1可変始動口検出スイッチオン検出時であると判定した場合にはステップS520に処理を移し、第1可変始動口検出スイッチオン検出時ではないと判定した場合にはステップS500-11に処理を移す。
【0334】
(ステップS520)
メインCPU300aは、第1可変始動口120Bへの遊技球の入球に基づいて第1始動口通過処理を実行する。なお、この第1始動口通過処理の詳細については後述する。
【0335】
(ステップS500-9)
メインCPU300aは、第1可変始動口120Bへの遊技球の入球が適正になされたものであるかを判定し、遊技球の入球が適正になされていないと判定した場合には、第1可変始動口120Bへの不正な遊技球の入球を示す普電不正入賞エラー発生指定コマンドを副制御基板330に送信するための普通電動役物入賞時確認処理を実行する。
【0336】
(ステップS500-11)
メインCPU300aは、第2始動口検出スイッチオン検出時であるか、すなわち、第2始動口122に遊技球が入球して第2始動口検出スイッチ122sから検出信号が入力されたかを判定する。その結果、第2始動口検出スイッチオン検出時であると判定した場合にはステップS530に処理を移し、第2始動口検出スイッチオン検出時ではないと判定した場合にはステップS500-13に処理を移す。
【0337】
(ステップS530)
メインCPU300aは、第2始動口122への遊技球の入球に基づいて第2始動口通過処理を実行する。なお、この第2始動口通過処理の詳細については後述する。
【0338】
(ステップS500-13)
メインCPU300aは、大入賞口検出スイッチオン検出時であるか、すなわち、第1大入賞口126または第2大入賞口128に遊技球が入球して第1大入賞口検出スイッチ126sまたは第2大入賞口検出スイッチ128sから検出信号が入力されたかを判定する。その結果、大入賞口検出スイッチオン検出時であると判定した場合にはステップS540に処理を移し、大入賞口検出スイッチオン検出時ではないと判定した場合には当該スイッチ管理処理を終了する。
【0339】
(ステップS540)
メインCPU300aは、第1大入賞口126または第2大入賞口128への遊技球の入球が適正になされたものであるかを判定し、遊技球の入球が適正になされたと判定した場合には、第1大入賞口126または第2大入賞口128への遊技球の入球を示す大入賞口入球コマンドを副制御基板330に送信するための大入賞口通過処理を実行する。なお、この大入賞口通過処理の詳細については後述する。
【0340】
図29は、同時回し参考例に係る主制御基板300におけるゲート通過処理(ステップS510)を説明するフローチャートである。
【0341】
(ステップS510-1)
メインCPU300aは、ハードウェア乱数生成部によって更新された当たり決定乱数をロードする。
【0342】
(ステップS510-3)
メインCPU300aは、普通図柄保留球数カウンタのカウンタ値が最大値以上であるか、つまり、普通図柄保留球数カウンタのカウンタ値が4以上であるかを判定する。その結果、普通図柄保留球数カウンタのカウンタ値が最大値以上であると判定した場合には当該ゲート通過処理を終了し、普通図柄保留球数カウンタは最大値以上ではないと判定した場合にはステップS510-5に処理を移す。
【0343】
(ステップS510-5)
メインCPU300aは、普通図柄保留球数カウンタのカウンタ値を、現在のカウンタ値に「1」加算した値に更新する。
【0344】
(ステップS510-7)
メインCPU300aは、普図保留記憶領域の4つの記憶部のうち、取得した当たり決定乱数をセーブする対象となる対象記憶部を算定する。
【0345】
(ステップS510-9)
メインCPU300aは、上記ステップS510-1で取得した当たり決定乱数を、上記ステップS510-7で算定した対象記憶部にセーブする。
【0346】
(ステップS510-11)
メインCPU300aは、普図保留記憶領域に記憶されている普図保留数を示す普図保留指定コマンドを送信バッファにセットし、当該ゲート通過処理を終了する。
【0347】
図30は、同時回し参考例に係る主制御基板300における第1始動口通過処理(ステップS520)を説明するフローチャートである。
【0348】
(ステップS520-1)
メインCPU300aは、特別図柄識別値として「00H」をセットする。なお、特別図柄識別値は、保留種別として特1保留および特2保留のいずれであるかを識別するためのもので、特別図柄識別値(00H)は特1保留を示し、特別図柄識別値(01H)は特2保留を示す。
【0349】
(ステップS520-3)
メインCPU300aは、特別図柄1保留球数カウンタのアドレスをセットする。
【0350】
(ステップS535)
メインCPU300aは、特別図柄乱数取得処理を実行し、当該第1始動口通過処理を終了する。なお、この特別図柄乱数取得処理は、第2始動口通過処理(ステップS530)と共通のモジュールを利用して実行される。したがって、特別図柄乱数取得処理の詳細は、第2始動口通過処理の説明後に説明する。
【0351】
図31は、同時回し参考例に係る主制御基板300における第2始動口通過処理(ステップS530)を説明するフローチャートである。
【0352】
(ステップS530-1)
メインCPU300aは、特別図柄識別値として「01H」をセットする。
【0353】
(ステップS530-3)
メインCPU300aは、特別図柄2保留球数カウンタのアドレスをセットする。
【0354】
(ステップS535)
メインCPU300aは、後述する特別図柄乱数取得処理を実行し、当該第2始動口通過処理を終了する。
【0355】
図32は、同時回し参考例に係る主制御基板300における特別図柄乱数取得処理(ステップS535)を説明するフローチャートである。この特別図柄乱数取得処理は、上記した第1始動口通過処理(ステップS520)および第2始動口通過処理(ステップS530)において、共通のモジュールを用いて実行される。
【0356】
(ステップS535-1)
メインCPU300aは、上記ステップS520-1またはステップS530-1でセットした特別図柄識別値をロードする。
【0357】
(ステップS535-3)
メインCPU300aは、対象特別図柄保留球数をロードする。ここでは、上記ステップS535-1でロードした特別図柄識別値が「00H」であれば、特別図柄1保留球数カウンタのカウンタ値、すなわち、特1保留数をロードする。また、上記ステップS535-1でロードした特別図柄識別値が「01H」であれば、特別図柄2保留球数カウンタのカウンタ値、すなわち、特2保留数をロードする。
【0358】
(ステップS535-5)
メインCPU300aは、ハードウェア乱数生成部によって更新された大当たり決定乱数をロードする。
【0359】
(ステップS535-7)
メインCPU300aは、上記ステップS535-3でロードした対象特別図柄保留球数が上限値以上であるかを判定する。その結果、上限値以上であると判定した場合には、当該特別図柄乱数取得処理を終了し、上限値以上ではないと判定した場合には、ステップS535-9に処理を移す。
【0360】
(ステップS535-9)
メインCPU300aは、対象特別図柄保留球数カウンタのカウンタ値を、現在のカウンタ値に「1」加算した値に更新する。
【0361】
(ステップS535-11)
メインCPU300aは、特図保留記憶領域の記憶部のうち、取得した大当たり決定乱数をセーブする対象となる対象記憶部を算定する。
【0362】
(ステップS535-13)
メインCPU300aは、上記ステップS535-5でロードした大当たり決定乱数、上記ステップS400-19で更新された当たり図柄乱数、上記ステップS100-69で更新された変動パターン乱数を取得し、上記ステップS535-11で算定した対象記憶部に格納する。
【0363】
(ステップS535-15)
メインCPU300aは、特別図柄1保留球数カウンタおよび特別図柄2保留球数カウンタのカウンタ値をロードする。
【0364】
(ステップS535-17)
メインCPU300aは、上記ステップS535-15でロードしたカウンタ値に基づいて、特図保留指定コマンドを送信バッファにセットする。ここでは、特別図柄1保留球数カウンタのカウンタ値(特1保留数)に基づいて特
図1保留指定コマンドをセットし、特別図柄2保留球数カウンタのカウンタ値(特2保留数)に基づいて特
図2保留指定コマンドをセットする。これにより、特1保留または特2保留が記憶されるたびに、特1保留数および特2保留数が副制御基板330に伝達されることとなる。
【0365】
(ステップS536)
メインCPU300aは、取得時演出判定処理を行い、当該特別図柄乱数取得処理を終了する。この取得時演出判定処理では、大役抽選の結果や、変動パターン番号等が仮判定され、仮判定の結果に応じた先読み指定コマンドを副制御基板330に送信する。この取得時演出判定処理について、
図33を用いて説明する。
【0366】
図33は、同時回し参考例に係る主制御基板300における取得時演出判定処理(ステップS536)を説明するフローチャートである。
【0367】
(ステップS536-1)
メインCPU300aは、設定中の設定値に基づいて、対応する大当たり決定乱数判定テーブルを選択する。具体的には、現在の遊技状態、および、設定中の設定値に基づいて、対応する大当たり決定乱数判定テーブルを選択する。そして、選択したテーブルと、上記ステップS535-13で対象記憶部に記憶した大当たり決定乱数とに基づいて、大当たり、小当たり、ハズレのいずれかを仮判定する特別図柄当たり仮判定処理を行う。
【0368】
(ステップS536-3)
メインCPU300aは、特別図柄を仮決定するための特別図柄図柄仮判定処理を実行する。ここでは、上記ステップS536-1の仮大役抽選の結果(特別図柄当たり仮判定処理によって導出された結果)が大当たりまたは小当たりであった場合には、上記ステップS535-13で対象記憶部に記憶した当たり図柄乱数、当選種別(大当たりであるか小当たりであるか)、保留種別をロードし、対応する当たり図柄乱数判定テーブルを選択して特別図柄判定データを抽出し、抽出した特別図柄判定データ(大当たり図柄または小当たり図柄の種別)をセーブする。また、上記ステップS536-1の仮大役抽選の結果がハズレであった場合には、所定のハズレ用の特別図柄判定データ(ハズレ図柄の種別)をセーブする。
【0369】
(ステップS536-5)
メインCPU300aは、ステップS536-3でセーブした特別図柄判定データに対応する先読み図柄種別指定コマンド(先読み指定コマンド)を送信バッファにセットする。
【0370】
(ステップS536-7)
メインCPU300aは、上記ステップS536-1の特別図柄当たり仮判定処理によって導出された結果が、大当たりまたは小当たりであるかを判定する。その結果、大当たりまたは小当たりであると判定した場合にはステップS536-9に処理を移し、大当たりまたは小当たりではない(ハズレである)と判定した場合にはステップS536-11に処理を移す。
【0371】
(ステップS536-9)
メインCPU300aは、大当たり時リーチモード決定乱数判定テーブル(
図10(b)、(c)参照)または小当たり時リーチモード決定乱数判定テーブル(
図10(d)、(e))をセットし、ステップS536-19に処理を移す。
【0372】
(ステップS536-11)
メインCPU300aは、上記ステップS535-13で対象記憶部に記憶したリーチグループ決定乱数をロードする。
【0373】
(ステップS536-13)
メインCPU300aは、上記ステップS536-11でロードしたリーチグループ決定乱数が固定値(9000以上)であるかを判定する。ここで、グループ種別は、リーチグループ決定乱数判定テーブルを参照して決定されるが、このリーチグループ決定乱数判定テーブルは、記憶されている保留数に応じて選択される。このとき、リーチグループ決定乱数は、0~10006の範囲から取得され、リーチグループ決定乱数の値が9000以上であれば、保留数に拘わらず、同一のリーチグループ決定乱数判定テーブルが選択され、リーチグループ決定乱数の値が9000未満であれば、保留数に応じて異なるリーチグループ決定乱数判定テーブルが選択される。以下では、リーチグループ決定乱数のうち、保留数に応じて異なるリーチグループ決定乱数判定テーブルが選択される0~8999の範囲の値を不定値とし、保留数に拘わらず同一のリーチグループ決定乱数判定テーブルが選択される9000~10006の範囲の値を固定値と呼ぶ。上記ステップS536-11でロードしたリーチグループ決定乱数が固定値(9000以上)であると判定した場合にはステップS536-15に処理を移し、上記ステップS536-11でロードしたリーチグループ決定乱数が固定値(9000以上)ではないと判定した場合にはステップS536-27に処理を移す。
【0374】
(ステップS536-15)
メインCPU300aは、リーチグループ決定乱数判定テーブル(
図9参照)をセットする。なお、リーチグループ決定乱数判定テーブルは、保留数に応じて複数種類設けられているが、ここでは、保留数が0のときに用いられるテーブルが選択される。そして、セットしたリーチグループ決定乱数判定テーブルと、上記ステップS535-13で対象記憶部に記憶したリーチグループ決定乱数とに基づいて、リーチグループ(グループ種別)を仮決定する。
【0375】
(ステップS536-17)
メインCPU300aは、上記ステップS536-15で仮決定されたグループ種別に対応するハズレ時リーチモード決定乱数判定テーブル(
図10(a)参照)をセットし、ステップS536-19に処理を移す。
【0376】
(ステップS536-19)
メインCPU300aは、上記ステップS536-9または上記ステップS536-17でセットしたリーチモード決定乱数判定テーブルと、上記ステップS535-13で対象記憶部に記憶したリーチモード決定乱数とに基づいて、変動モード番号を仮決定する。また、ここでは、変動モード番号とともに、変動パターン乱数判定テーブルが仮決定される。
【0377】
(ステップS536-21)
メインCPU300aは、上記ステップS536-19で仮決定した変動モード番号に対応する先読み指定変動モードコマンド(先読み指定コマンド)を送信バッファにセットする。
【0378】
(ステップS536-23)
メインCPU300aは、上記ステップS536-19で仮決定した変動パターン乱数判定テーブルと、上記ステップS535-13で対象記憶部に記憶した変動パターン乱数とに基づいて、変動パターン番号を仮決定する。
【0379】
(ステップS536-25)
メインCPU300aは、上記ステップS536-23で仮決定した変動パターン番号に対応する先読み指定変動パターンコマンド(先読み指定コマンド)を送信バッファにセットし、当該取得時演出判定処理を終了する。
【0380】
(ステップS536-27)
メインCPU300aは、対象記憶部に新たに記憶された保留について、当該保留が読み出されたときの保留数に応じて、グループ種別、すなわち、変動演出パターンが変化することを示す不定値コマンド(先読み指定変動モードコマンドおよび先読み指定変動パターンコマンド=7FH)を送信バッファにセットし、当該取得時演出判定処理を終了する。
【0381】
図34は、同時回し参考例に係る主制御基板300における大入賞口通過処理(ステップS540)を説明するフローチャートである。
【0382】
(ステップS540-1)
メインCPU300aは、上記ステップS500-13で大入賞口検出スイッチオン検出時であると判定した場合には、詳しくは後述する特別電動役物遊技管理フェーズをロードする。なお、詳しくは後述するが、特別電動役物遊技管理フェーズは、大役遊技または小当たり遊技の実行処理の段階、すなわち、大役遊技または小当たり遊技の進行状況を示すものであり、大役遊技または小当たり遊技の実行処理の段階に応じて更新される。
【0383】
(ステップS540-3)
メインCPU300aは、上記ステップS540-1でロードした特別電動役物遊技管理フェーズが、大入賞口開放前処理以上の実行処理の段階を示すものであるかを判定する。なお、特別電動役物遊技管理フェーズは、00H~08Hの9段階が設けられており、このうち、01H~08Hが、大入賞口開放前処理以上の実行処理の段階に相当する。大役遊技または小当たり遊技は、特別電動役物遊技管理フェーズが01H~08Hである場合に実行されることから、ここでは、現在、大役遊技中または小当たり遊技中であるかを判定することとなる。特別電動役物遊技管理フェーズが、大入賞口開放前処理以上の実行処理の段階を示すものであると判定した場合にはステップS540-5に処理を移し、特別電動役物遊技管理フェーズは、大入賞口開放前処理以上の実行処理の段階を示すものではないと判定した場合にはステップS540-7に処理を移す。
【0384】
(ステップS540-5)
メインCPU300aは、第1大入賞口126または第2大入賞口128に適正に遊技球が入球したことを示す大入賞口入球コマンドを送信バッファにセットし、大入賞口通過処理を終了する。
【0385】
(ステップS540-7)
メインCPU300aは、第1大入賞口126または第2大入賞口128への遊技球の入球が不適切なものであるとして、所定のエラー処理を実行し、大入賞口通過処理を終了する。
【0386】
図35は、同時回し参考例に係る特別遊技管理フェーズを説明する図である。既に説明したとおり、同時回し参考例では、第1始動口120または第2始動口122への遊技球の入球を契機とする特別遊技と、ゲート124への遊技球の通過もしくは普図作動口125への遊技球の入球を契機とする普通遊技とが、同時並行して進行する。特別遊技に係る処理は、段階的に、かつ、繰り返し実行されるが、主制御基板300では、こうした特別遊技に係る各処理を特別遊技管理フェーズおよび特別電動役物遊技管理フェーズによって管理している。
【0387】
図35に示すように、メインROM300bには、特別遊技のうちの特別図柄の変動表示を実行制御するための複数の特別遊技制御モジュールが格納されており、これら特別遊技制御モジュールごとに、特別遊技管理フェーズが対応付けられている。具体的には、特別遊技管理フェーズが「00H」である場合には、「特別図柄変動待ち処理」を実行するためのモジュールがコールされ、特別遊技管理フェーズが「01H」である場合には、「特別図柄変動中処理」を実行するためのモジュールがコールされ、特別遊技管理フェーズが「02H」である場合には、「特別図柄停止図柄表示処理」を実行するためのモジュールがコールされる。
【0388】
また、メインROM300bには、特別遊技のうちの大役遊技および小当たり遊技を実行制御するための複数の特別電動役物遊技制御モジュールが格納されており、これら特別電動役物遊技制御モジュールごとに、特別電動役物遊技管理フェーズが対応付けられている。具体的には、特別電動役物遊技管理フェーズが「01H」または「05H」である場合には、「大入賞口開放前処理」を実行するためのモジュールがコールされ、特別電動役物遊技管理フェーズが「02H」または「06H」である場合には、「大入賞口開放制御処理」を実行するためのモジュールがコールされ、特別電動役物遊技管理フェーズが「03H」または「07H」である場合には、「大入賞口閉鎖有効処理」を実行するためのモジュールがコールされ、特別電動役物遊技管理フェーズが「04H」または「08H」である場合には、「大入賞口終了ウェイト処理」を実行するためのモジュールがコールされる。なお、特別電動役物遊技管理フェーズが「00H」である場合には、いずれの特別電動役物遊技制御モジュールもコールされることはない。
【0389】
図36は、同時回し参考例に係る主制御基板300における特別遊技管理処理(ステップS600)を説明するフローチャートである。
【0390】
(ステップS600-1)
メインCPU300aは、特別電動役物遊技管理フェーズをロードする。
【0391】
(ステップS600-3)
メインCPU300aは、上記ステップS600-1でロードした特別電動役物遊技管理フェーズが、「00H」以外であるかを判定する。すなわち、ここでは、現在、大役遊技中または小当たり遊技中であるかを判定することとなる。特別電動役物遊技管理フェーズが「00H」以外であると判定した場合には当該特別遊技管理処理を終了し、特別電動役物遊技管理フェーズが「00H」以外でないと判定した場合にはステップS600-5に処理を移す。
【0392】
(ステップS600-5)
メインCPU300aは、特別遊技特別図柄判定フラグをロードする。なお、特別遊技特別図柄判定フラグは、特別遊技管理処理の対象となる保留種別として特1保留および特2保留のいずれであるかを判定するためのものであり、特別遊技特別図柄判定フラグ(00H)は特1保留を示し、特別遊技特別図柄判定フラグ(01H)は特2保留を示す。
【0393】
(ステップS600-7)
メインCPU300aは、上記ステップS600-5でロードした特別遊技特別図柄判定フラグを反転する。ここでは、特別遊技特別図柄判定フラグが「00H」であった場合には「01H」に反転し、特別遊技特別図柄判定フラグが「01H」であった場合には「00H」に反転する。特別遊技特別図柄判定フラグは初期値が「00H」に設定されているため、
図26に示した2回の特別遊技管理処理S600のうち、1回目の特別遊技管理処理S600で特別遊技特別図柄判定フラグが「01H」にされ、特2保留について後続の処理が実行され、2回目の特別遊技管理処理S600で特別遊技特別図柄判定フラグが「00H」にされ、特1保留について後続の処理が実行される。つまり、特2保留が優先して処理されることになる。
【0394】
(ステップS600-9)
メインCPU300aは、上記ステップS600-7で反転した特別遊技特別図柄判定フラグをセーブする。
【0395】
(ステップS600-11)
メインCPU300aは、特別遊技管理フェーズをロードする。
【0396】
(ステップS600-13)
メインCPU300aは、上記ステップS600-11でロードした特別遊技管理フェーズに対応する特別遊技制御モジュールを選択する。
【0397】
(ステップS600-15)
メインCPU300aは、上記ステップS600-13で選択した特別遊技制御モジュールをコールして処理を開始する。
【0398】
(ステップS600-17)
メインCPU300aは、特別遊技の制御時間を管理する特別遊技タイマをロードし、当該特別遊技管理処理を終了する。
【0399】
図37は、同時回し参考例に係る主制御基板300における特別図柄変動待ち処理を説明するフローチャートである。この特別図柄変動待ち処理は、特別遊技管理フェーズが「00H」であった場合に実行される。
【0400】
(ステップS610-1)
メインCPU300aは、特別遊技管理処理の対象となる保留(特1保留または特2保留、以下、対象保留と呼ぶ)の特別図柄保留球数が1以上であるかを判定する。その結果、特別図柄保留球数が1以上であると判定した場合にはステップS610-3に処理を移し、特別図柄保留球数が1以上ではないと判定した場合には当該特別図柄変動待ち処理を終了する。
【0401】
(ステップS610-3)
メインCPU300aは、特別遊技管理処理の対象となっていない保留(特2保留または特1保留、以下、非対象保留と呼ぶ)に基づく特別図柄(以下、非対象特別図柄と呼ぶ)が確定中であるかを判定する。その結果、非対象特別図柄が確定中であると判定した場合にはステップS610-5に処理を移し、非対象特別図柄に基づく特別図柄が確定中ではないと判定した場合にはステップS610-9に処理を移す。
【0402】
(ステップS610-5)
メインCPU300aは、非対象特別図柄が大当たり図柄であるかを判定する。その結果、大当たり図柄であると判定した場合には当該特別図柄変動待ち処理を終了し、大当たり図柄でないと判定した場合にはステップS610-7に処理を移す。
【0403】
(ステップS610-7)
メインCPU300aは、非対象特別図柄が小当たり図柄であるかを判定する。その結果、小当たり図柄であると判定した場合には当該特別図柄変動待ち処理を終了し、小当たり図柄でないと判定した場合にはステップS610-9に処理を移す。
【0404】
(ステップS610-9)
メインCPU300aは、対象保留に対応する特図保留記憶領域の第1記憶部~第4記憶部に記憶されている対象保留を、1つ序数の小さい記憶部にブロック転送する。具体的には、第2記憶部~第4記憶部に記憶されている対象保留を、第1記憶部~第3記憶部に転送する。また、メインRAM300cには、処理対象となる第0記憶部が設けられており、第1記憶部に記憶されている対象保留を、第0記憶部にブロック転送する。なお、この特別図柄記憶エリアシフト処理においては、対象保留に対応する対象特別図柄保留球数カウンタのカウンタ値を「1」減算するとともに、対象保留が「1」減算されたことを示す、保留減指定コマンドを送信バッファにセットする。
【0405】
(ステップS611)
メインCPU300aは、大役抽選を行う特別図柄当たり判定処理を実行する。この特別図柄当たり判定処理については後述する。
【0406】
(ステップS610-11)
メインCPU300aは、特別図柄を決定するための特別図柄図柄判定処理を実行する。ここでは、上記ステップS611における大役抽選の結果が大当たりまたは小当たりであった場合、第0記憶部に転送された当たり図柄乱数、保留種別をロードし、対応する当たり図柄乱数判定テーブルまたは小当たり図柄乱数判定テーブルを選択して特別図柄判定データを抽出し、抽出した特別図柄判定データ(大当たり図柄の種別)をセーブする。また、上記ステップS611における大役抽選の結果がハズレであった場合には、ハズレ用の特別図柄判定データをセーブする。そして、特別図柄判定データをセーブしたら、当該特別図柄判定データに対応する図柄種別指定コマンドを送信バッファにセットする。
【0407】
(ステップS610-13)
メインCPU300aは、上記ステップS610-11で抽出した特別図柄判定データに対応する特別図柄停止図柄番号をセーブする。なお、第1特別図柄表示器160および第2特別図柄表示器162は、それぞれ7セグで構成されており、7セグを構成する各セグメントには番号(カウンタ値)が対応付けられている。ここで決定する特別図柄停止図柄番号は、最終的に点灯するセグメントの番号(カウンタ値)を示すものである。
【0408】
(ステップS612)
メインCPU300aは、変動モード番号および変動パターン番号を決定する特別図柄変動番号決定処理を実行する。この特別図柄変動番号決定処理の詳細は後述する。
【0409】
(ステップS610-15)
メインCPU300aは、上記ステップS612で決定された変動モード番号および変動パターン番号をロードするとともに、変動時間決定テーブルを参照して、変動時間1および変動時間2を決定する。そして、決定した変動時間1、2の合計時間を、特別図柄変動タイマにセットする。
【0410】
(ステップS610-17)
メインCPU300aは、大役抽選の結果が大当たりであるか否かを判定し、大当たりであった場合には、上記ステップS610-11でセーブした特別図柄判定データをロードして、大当たり図柄の種別を確認する。そして、遊技状態設定テーブルおよび現在の遊技状態を参照して、大役遊技終了後に設定される遊技状態および高確回数、時短回数を判定し、その判定結果を特別図柄確率状態予備フラグ、時短状態予備フラグ、および、高確回数切り予備カウンタ、時短回数切り予備カウンタにセーブする。なお、ハズレ図柄がセーブされている場合には、当該処理を実行することなく、次の処理に移行する。
【0411】
(ステップS610-19)
メインCPU300aは、第1特別図柄表示器160または第2特別図柄表示器162において、特別図柄の変動表示を開始するために、特別図柄表示図柄カウンタを設定する処理を実行する。第1特別図柄表示器160および第2特別図柄表示器162を構成する7セグの各セグメントにはカウンタ値が対応付けられており、特別図柄表示図柄カウンタに設定されたカウンタ値に対応するセグメントが点灯制御される。ここでは、特別図柄の変動表示の開始時に点灯させるセグメントに対応するカウンタ値が特別図柄表示図柄カウンタに設定されることとなる。なお、特別図柄表示図柄カウンタは、第1特別図柄表示器160に対応する特別図柄1表示図柄カウンタと、第2特別図柄表示器162に対応する特別図柄2表示図柄カウンタとが別個に設けられており、ここでは、保留種別に対応するカウンタにカウンタ値が設定される。
【0412】
(ステップS613)
メインCPU300aは、回数切り管理処理を実行する。ここでは、変動回数に応じて時短遊技状態を終了させるための処理が行われる。この回数切り管理処理については後述する。
【0413】
(ステップS610-21)
メインCPU300aは、高確回数および時短回数が0になるまでの残り回数(実残り回数)を示す回数コマンドを送信バッファにセットする。
【0414】
(ステップS610-23)
メインCPU300aは、特別図柄の変動表示の開始時の遊技状態を示す遊技状態変化指定コマンドを送信バッファにセットする。
【0415】
(ステップS610-25)
メインCPU300aは、特別遊技管理フェーズを「01H」に更新し、当該特別図柄変動待ち処理を終了する。
【0416】
図38は、同時回し参考例に係る特別図柄当たり判定処理(S611)を説明するフローチャートである。
【0417】
(ステップS611-1)
メインCPU300aは、特別図柄確率状態フラグをロードする。
【0418】
(ステップS611-3)
メインCPU300aは、設定値バッファの登録設定値をロードする。
【0419】
(ステップS611-5)
メインCPU300aは、上記ステップS611-3でロードした登録設定値が正常範囲内の値であるかを判定する。その結果、正常範囲内の値であると判定した場合にはステップS611-11に処理を移し、正常範囲内の値ではないと判定した場合にはステップS611-7に処理を移す。
【0420】
(ステップS611-7)
メインCPU300aは、遊技機状態フラグに03H(設定異常状態)をセットする。
【0421】
(ステップS611-9)
メインCPU300aは、設定異常状態コマンド(サブコマンド)を送信バッファにセットし、当該特別図柄当たり判定処理を終了する。この設定異常状態コマンドが副制御基板330に送信されると、設定異常である旨の報知がなされる。
【0422】
(ステップS611-11)
メインCPU300aは、上記ステップS611-1およびステップS611-3でロードした情報に対応する大当たり決定乱数判定テーブルを参照し、大当たりまたは小当たりと判定する際の下限値および上限値をそれぞれセットする。
【0423】
(ステップS611-13)
メインCPU300aは、第0記憶部に転送された大当たり決定乱数と、上記の下限値および上限値とを比較し、大当たりまたは小当たりの当選有無を判定する判定処理(大役抽選)を行う。
【0424】
(ステップS611-15)
メインCPU300aは、非対象特別図柄が大当たり図柄であるかを判定する。その結果、大当たり図柄であると判定した場合にはステップS611-17に処理を移し、大当たり図柄でないと判定した場合にはステップS611-21に処理を移す。
【0425】
(ステップS611-17)
メインCPU300aは、上記ステップS611-13における大役抽選結果が小当たりまたはハズレであるかを判定する。その結果、小当たりまたはハズレであると判定した場合にはステップS611-21に処理を移し、小当たりおよびハズレでないと判定した場合にはステップS611-19に処理を移す。
【0426】
(ステップS611-19)
メインCPU300aは、上記ステップS611-13における大役抽選結果をハズレに変更する。
【0427】
(ステップS611-21)
メインCPU300aは、上記ステップS611-13の判定処理の結果、または、上記ステップS611-19で変更された結果を判定情報としてセットし、当該特別図柄当たり判定処理を終了する。
【0428】
図39は、同時回し参考例に係る主制御基板300における特別図柄変動番号決定処理(ステップS612)を説明するフローチャートである。
【0429】
(ステップS612-1)
メインCPU300aは、上記ステップS611における大役抽選の結果が大当たりまたは小当たりであるかを判定する。その結果、大当たりまたは小当たりであると判定した場合にはステップS612-3に処理を移し、大当たりおよび小当たりのいずれでもない(ハズレである)と判定した場合にはステップS612-5に処理を移す。
【0430】
(ステップS612-3)
メインCPU300aは、現在の遊技状態および保留種別に対応するリーチモード決定乱数判定テーブルをセットする。
【0431】
(ステップS612-5)
メインCPU300aは、読み出した保留の保留種別が特2保留である場合には、特別図柄2保留球数カウンタのカウンタ値を確認し、読み出した保留の保留種別が特1保留である場合には、特別図柄1保留球数カウンタのカウンタ値を確認する。
【0432】
(ステップS612-7)
メインCPU300aは、現在の遊技状態、上記ステップS612-5で確認した保留数、保留種別に基づいて、対応するリーチグループ決定乱数判定テーブルをセットする。そして、セットしたリーチグループ決定乱数判定テーブルと、上記ステップS610-9で第0記憶部に転送したリーチグループ決定乱数とに基づいて、リーチグループ(グループ種別)を決定する。
【0433】
(ステップS612-9)
メインCPU300aは、上記ステップS612-7で決定されたグループ種別に対応するハズレ時リーチモード決定乱数判定テーブルをセットする。
【0434】
(ステップS612-11)
メインCPU300aは、上記ステップS612-3または上記ステップS612-9でセットしたリーチモード決定乱数判定テーブルと、上記ステップS610-9で第0記憶部に転送したリーチモード決定乱数とに基づいて、変動モード番号を決定する。また、ここでは、変動モード番号とともに、変動パターン乱数判定テーブルが決定される。
【0435】
(ステップS612-13)
メインCPU300aは、上記ステップS612-11で決定した変動モード番号に対応する変動モードコマンドを送信バッファにセットする。
【0436】
(ステップS612-15)
メインCPU300aは、上記ステップS612-11で決定した変動パターン乱数判定テーブルと、上記ステップS610-9で第0記憶部に転送した変動パターン乱数とに基づいて、変動パターン番号を決定する。
【0437】
(ステップS612-17)
メインCPU300aは、上記ステップS612-15で決定した変動パターン番号に対応する変動パターンコマンドを送信バッファにセットして、当該特別図柄変動番号決定処理を終了する。
【0438】
図40は、同時回し参考例に係る主制御基板300における回数切り管理処理(ステップS613)を説明するフローチャートである。
【0439】
(ステップS613-1)
メインCPU300aは、時短回数、すなわち、時短回数切りカウンタのカウンタ値が0よりも大きいかを判定する。その結果、時短回数が0よりも大きいと判定した場合にはステップS613-3に処理を移し、時短回数が0であると判定した場合には、当該回数切り管理処理を終了する。
【0440】
(ステップS613-3)
メインCPU300aは、時短回数切りカウンタをデクリメントする。
【0441】
(ステップS613-5)
メインCPU300aは、上記ステップS613-3において、カウンタ値(時短回数)が0に更新されたかを判定する。その結果、時短回数が0であると判定した場合にはステップS613-7に処理を移し、時短回数は0ではないと判定した場合には当該回数切り管理処理を終了する。
【0442】
(ステップS613-7)
メインCPU300aは、普通遊技状態を非時短遊技状態に設定するべく、時短状態フラグの設定を行う。これにより、普通遊技状態が時短遊技状態に設定された後、変動回数が時短回数(ここでは50回または100回)に到達したときの変動開始時に、普通遊技状態が非時短遊技状態に変更されることとなる。例えば、高確前兆状態に設定されていた場合には、最優位状態に設定されることとなる。
【0443】
(ステップS613-9)
メインCPU300aは、時短終了フラグをオンして、当該回数切り管理処理を終了する。
【0444】
図41は、同時回し参考例に係る主制御基板300における特別図柄変動中処理を説明するフローチャートである。
【0445】
(ステップS620-1)
メインCPU300aは、中断中フラグがオンしているかを判定する。なお、詳しくは後述するが、同時回し参考例では、第1特別図柄表示器160における図柄の変動表示中に、第2特別図柄表示器162に小当たり図柄が停止表示される場合がある。この場合、第2特別図柄表示器162に小当たり図柄が停止表示されると、小当たり遊技が実行されるが、この間、第1特別図柄表示器160における特別図柄の変動時間の減算が中断され、小当たり遊技の終了後に、第1特別図柄表示器160における図柄の変動表示が再開される。中断中フラグは、第2特別図柄表示器162に小当たり図柄が停止表示されたときに、第1特別図柄表示器160において図柄の変動表示中であった場合にオンされる。ここでは、中断中フラグがオンであると判定した場合には当該特別図柄変動中処理を終了し、中断中フラグがオンではないと判定した場合にはステップS620-3に処理を移す。
【0446】
(ステップS620-3)
メインCPU300aは、特別図柄変動ベースカウンタを更新する処理を実行する。なお、特別図柄変動ベースカウンタは、所定周期(例えば100ms)で1周するようにカウンタ値が設定される。具体的には、特別図柄変動ベースカウンタのカウンタ値が「0」であった場合には、所定のカウンタ値(例えば25)がセットされ、カウンタ値が「1」以上であった場合には、現在のカウンタ値から「1」減算した値にカウンタ値を更新する。
【0447】
(ステップS620-5)
メインCPU300aは、上記ステップS620-3で更新した特別図柄変動ベースカウンタのカウンタ値が「0」であるかを判定する。その結果、カウンタ値が「0」であった場合にはステップS620-7に処理を移し、カウンタ値が「0」ではなかった場合にはステップS620-11に処理を移す。
【0448】
(ステップS620-7)
メインCPU300aは、上記ステップS610-15で設定された特別図柄変動タイマのタイマ値を所定値減算する特別図柄変動タイマ更新処理を行う。
【0449】
(ステップS620-9)
メインCPU300aは、上記ステップS620-7で更新した特別図柄変動タイマのタイマ値が「0」であるかを判定する。その結果、タイマ値が「0」であった場合にはステップS620-17に処理を移し、タイマ値が「0」ではなかった場合にはステップS620-11に処理を移す。
【0450】
(ステップS620-11)
メインCPU300aは、第1特別図柄表示器160および第2特別図柄表示器162を構成する7セグの各セグメントの点灯時間を計時する特別図柄表示タイマを更新する。具体的には、特別図柄表示タイマのタイマ値が「0」であった場合には、所定のタイマ値がセットされ、タイマ値が「1」以上であった場合には、現在のタイマ値から「1」減算した値にタイマ値を更新する。
【0451】
(ステップS620-13)
メインCPU300aは、特別図柄表示タイマのタイマ値が「0」であるかを判定する。その結果、特別図柄表示タイマのタイマ値が「0」であると判定した場合にはステップS620-15に処理を移し、特別図柄表示タイマのタイマ値が「0」でないと判定した場合には当該特別図柄変動中処理を終了する。
【0452】
(ステップS620-15)
メインCPU300aは、更新対象の特別図柄表示図柄カウンタのカウンタ値を更新し、当該特別図柄変動中処理を終了する。これにより、7セグを構成する各セグメントが、所定時間おきに順次点灯することとなる。
【0453】
(ステップS620-17)
メインCPU300aは、非対象特別図柄が変動表示中であるかを判定する。その結果、非対象特別図柄が変動表示中であると判定した場合にはステップS621に処理を移し、非対象特別図柄が変動表示中でないと判定した場合にはステップS620-19に処理を移す。
【0454】
(ステップS621)
メインCPU300aは、図柄強制停止処理を実行する。この図柄強制停止処理については、
図42を用いて後述する。
【0455】
(ステップS620-19)
メインCPU300aは、特別遊技管理フェーズを「02H」に更新する。
【0456】
(ステップS620-21)
メインCPU300aは、対象の特別図柄表示図柄カウンタに、上記ステップS610-13で決定した特別図柄停止図柄番号(カウンタ値)をセーブする。これにより、第1特別図柄表示器160または第2特別図柄表示器162に、決定された特別図柄が停止表示されることとなる。
【0457】
(ステップS620-23)
メインCPU300aは、第1特別図柄表示器160または第2特別図柄表示器162に特別図柄が停止表示されたことを示す特図停止指定コマンドを送信バッファにセットする。
【0458】
(ステップS620-25)
メインCPU300aは、特別図柄を停止表示する時間である特別図柄変動停止時間を特別遊技タイマにセットし、当該特別図柄変動中処理を終了する。
【0459】
図42は、同時回し参考例に係る主制御基板300における図柄強制停止処理(ステップS621)を説明するフローチャートである。
【0460】
(ステップS621-1)
メインCPU300aは、停止表示中(当該)の特別図柄が小当たり図柄であるかを判定する。その結果、小当たり図柄であると判定した場合にはステップS621-3に処理を移し、小当たり図柄ではないと判定した場合にはステップS621-11に処理を移す。
【0461】
(ステップS621-3)
メインCPU300aは、特別遊技特別図柄判定フラグが00Hであるか、つまり、小当たり図柄が停止表示されたのが、第1特別図柄表示器160であるかを判定する。その結果、特別遊技特別図柄判定フラグが00Hであると判定した場合にはステップS621-11に処理を移し、特別遊技特別図柄判定フラグが00Hではないと判定した場合にはステップS621-5に処理を移す。
【0462】
(ステップS621-5)
メインCPU300aは、変動表示中(他方)の特別図柄が大当たり図柄であるかを判定する。その結果、大当たり図柄であると判定した場合にはステップS621-11に処理を移し、大当たり図柄ではないと判定した場合にはステップS621-7に処理を移す。
【0463】
(ステップS621-7)
メインCPU300aは、中断中フラグをオンする。
【0464】
(ステップS621-9)
メインCPU300aは、特別図柄の変動表示を中断する変動中断処理を実行し、当該図柄強制停止処理を終了する。ここでは、変動時間の残り時間や、特別図柄にかかる情報を一時的に所定の記憶領域に退避させる処理を行う。
【0465】
(ステップS621-11)
メインCPU300aは、図柄が変動表示されている第1特別図柄表示器160または第2特別図柄表示器162にハズレ図柄を強制停止させるとともに、残りの変動時間を強制的に終了させるための変動時間特殊停止フラグをオンにする処理を行い、当該図柄強制停止処理を終了する。
【0466】
上記の処理により、第1特別図柄表示器160に小当たり図柄が停止表示された場合には、第2特別図柄表示器162にハズレ図柄が強制停止表示される。また、第2特別図柄表示器162に小当たり図柄が停止表示された場合、大当たり図柄が第1特別図柄表示器160に最終的に停止表示される変動表示中であれば、第1特別図柄表示器160にハズレ図柄が強制停止表示される。一方、第2特別図柄表示器162に小当たり図柄が停止表示された場合、小当たり図柄またはハズレ図柄が第1特別図柄表示器160に最終的に停止表示される変動表示中であれば、第1特別図柄表示器160における変動表示が一時的に中断されることとなる。
【0467】
図43は、同時回し参考例に係る主制御基板300における特別図柄停止図柄表示処理を説明するフローチャートである。
【0468】
(ステップS630-1)
メインCPU300aは、上記ステップS620-25でセットした特別遊技タイマのタイマ値が「0」でないかを判定する。その結果、特別遊技タイマのタイマ値が「0」ではないと判定した場合には当該特別図柄停止図柄表示処理を終了し、特別遊技タイマのタイマ値が「0」であると判定した場合にはステップS630-3に処理を移す。
【0469】
(ステップS630-3)
メインCPU300aは、変動時間特殊停止フラグがオンであるかを判定する。その結果、変動時間特殊停止フラグがオンであると判定した場合にはステップS630-5に処理を移し、変動時間特殊停止フラグがオンでないと判定した場合には当該特別図柄停止図柄表示処理を終了する。
【0470】
(ステップS630-5)
メインCPU300aは、大役抽選の結果を確認する。
【0471】
(ステップS630-7)
メインCPU300aは、大役抽選の結果がハズレであるかを判定する。その結果、ハズレであると判定した場合にはステップS630-27に処理を移し、ハズレではないと判定した場合にはステップS630-9に処理を移す。
【0472】
(ステップS630-9)
メインCPU300aは、遊技状態を更新する遊技状態更新処理を行う。ここでは、停止表示中の特別図柄が大当たり図柄である場合に遊技状態を初期状態に設定し、停止表示中の特別図柄が小当たり図柄である場合には、そのまま次の処理に移る。
【0473】
(ステップS630-11)
メインCPU300aは、確定した特別図柄の種別に応じて、特別電動役物作動ラムセットテーブルのデータをセットする。なお、メインCPU300aは、変動時間特殊停止フラグがオンである場合にはオフにする。
【0474】
(ステップS630-13)
メインCPU300aは、特別電動役物最大作動回数設定処理を行う。具体的には、上記ステップS630-11でセットしたデータを参照し、特別電動役物最大作動回数カウンタに、カウンタ値として所定数(特別図柄の種別に対応するカウンタ値=ラウンド数)をセットする。なお、この特別電動役物最大作動回数カウンタは、これから開始する大役遊技において実行可能なラウンド数を示すものである。一方、メインRAM300cには、特別電動役物連続作動回数カウンタが設けられており、各ラウンド遊技の開始時に、特別電動役物連続作動回数カウンタのカウンタ値を「1」加算することで、現在のラウンド遊技数が管理される。ここでは、大役遊技の開始に伴って、この特別電動役物連続作動回数カウンタのカウンタ値をリセット(「0」に更新)する処理が併せて実行される。
【0475】
(ステップS630-15)
メインCPU300aは、上記ステップS630-11でセットしたデータを参照し、特別電動役物遊技タイマに、タイマ値として所定のオープニング時間をセーブする。
【0476】
(ステップS630-17)
メインCPU300aは、大役遊技の開始を副制御基板330に伝達するためのオープニング指定コマンドを送信バッファにセットする。
【0477】
(ステップS630-19)
メインCPU300aは、大役遊技を開始する場合には特別電動役物遊技管理フェーズを「01H」に更新し、小当たり遊技を開始する場合には特別電動役物遊技管理フェーズを「05H」に更新する。
【0478】
(ステップS630-21)
メインCPU300aは、特別遊技管理フェーズを「00H」に更新する。
【0479】
(ステップS630-23)
メインCPU300aは、上記ステップS630-19で更新した特別電動役物遊技管理フェーズが「01H」であるか、すなわち、大当たりかを判定する。その結果、特別電動役物遊技管理フェーズが「01H」であると判定した場合にはステップS630-25に処理を移し、特別電動役物遊技管理フェーズは「01H」ではないと判定した場合には、ステップS630-27に処理を移す。
【0480】
(ステップS630-25)
メインCPU300aは、遊技情報出力端子板312から大当たり信号を出力するための大当たり信号出力開始処理を行い、当該特別図柄停止図柄表示処理を終了する。この処理により、大役遊技(オープニング)の開始に伴って大当たり信号が出力されることとなる。なお、遊技情報出力端子板312から出力される信号は複数設けられているが、ここでは、所定の大当たり信号についてのみ説明する。
【0481】
(ステップS630-27)
メインCPU300aは、特別図柄が確定したときの遊技状態を示す特図確定時遊技状態確認指定コマンドを送信バッファにセットする。
【0482】
(ステップS630-29)
メインCPU300aは、時短終了フラグがオンしているかを判定する。上記したように、時短終了フラグは、時短遊技状態から非時短遊技状態に変更される際の変動開始時に、
図40のステップS613-9においてオンされる。すなわち、ここで時短終了フラグがオンしている場合というのは、高確前兆状態における50回目もしくは100回目の変動開始時に、時短抜けによって、普通遊技状態が時短遊技状態から非時短遊技状態に変更された場合である。つまり、ここでは、時短抜け時の変動が終了するときに限り、時短終了フラグがオンしていると判定されることとなる。時短終了フラグがオンしていると判定した場合には、ステップS630-31に処理を移し、時短終了フラグはオンしていないと判定した場合にはステップS630-35に処理を移す。
【0483】
(ステップS630-31)
メインCPU300aは、遊技情報出力端子板312から出力されている大当たり信号を停止するための大当たり信号出力停止処理を行う。すなわち、大当たり信号は、大役遊技中もしくは時短遊技状態中に出力されることとなる。
【0484】
(ステップS630-33)
メインCPU300aは、時短終了フラグをオフする。
【0485】
(ステップS630-35)
メインCPU300aは、特別遊技管理フェーズを「00H」に更新し、当該特別図柄停止図柄表示処理を終了する。
【0486】
図44は、同時回し参考例に係る主制御基板300における特別電動役物遊技管理処理(ステップS700)を説明するフローチャートである。
【0487】
(ステップS700-1)
メインCPU300aは、特別電動役物遊技管理フェーズをロードする。
【0488】
(ステップS700-3)
メインCPU300aは、上記ステップS700-1でロードした特別電動役物遊技管理フェーズが、「00H」であるかを判定する。すなわち、ここでは、現在、大役遊技中および小当たり遊技中でないかを判定することとなる。特別電動役物遊技管理フェーズが「00H」であると判定した場合には当該特別電動役物遊技管理処理を終了し、特別電動役物遊技管理フェーズが「00H」でないと判定した場合にはステップS700-5に処理を移す。
【0489】
(ステップS700-5)
メインCPU300aは、上記ステップS700-1でロードした特別電動役物遊技管理フェーズに対応する特別電動役物遊技制御モジュールを選択する。
【0490】
(ステップS700-7)
メインCPU300aは、上記ステップS700-5で選択した特別電動役物遊技制御モジュールをコールして処理を開始する。
【0491】
(ステップS700-9)
メインCPU300aは、特別電動役物遊技の制御時間を管理する特別電動役物遊技タイマをロードし、当該特別電動役物遊技管理処理を終了する。
【0492】
図45は、同時回し参考例に係る主制御基板300における大入賞口開放前処理を説明するフローチャートである。この大入賞口開放前処理は、特別電動役物遊技管理フェーズが「01H」、「05H」であった場合に実行される。
【0493】
(ステップS710-1)
メインCPU300aは、上記ステップS630-15等でセットした特別電動役物遊技タイマのタイマ値が「0」でないかを判定する。その結果、特別電動役物遊技タイマのタイマ値が「0」ではないと判定した場合には当該大入賞口開放前処理を終了し、特別電動役物遊技タイマのタイマ値が「0」であると判定した場合にはステップS710-3に処理を移す。
【0494】
(ステップS710-3)
メインCPU300aは、特別電動役物連続作動回数カウンタのカウンタ値を、現在のカウンタ値に「1」加算した値に更新する。
【0495】
(ステップS710-5)
メインCPU300aは、大入賞口の開放開始(ラウンド遊技の開始)を副制御基板330に伝達するための大入賞口開放指定コマンドを送信バッファにセットする。
【0496】
(ステップS711)
メインCPU300aは、大入賞口開閉切替処理を実行する。この大入賞口開閉切替処理については後述する。
【0497】
(ステップS710-7)
メインCPU300aは、特別電動役物遊技管理フェーズを、現在の値に01Hを加算した値(「02H」または「06H」)に更新し、当該大入賞口開放前処理を終了する。
【0498】
図46は、同時回し参考例に係る主制御基板300における大入賞口開閉切替処理(S711)を説明するフローチャートである。
【0499】
(ステップS711-1)
メインCPU300aは、特別電動役物開閉切替回数カウンタのカウンタ値が、特別電動役物開閉切替回数(1回のラウンド遊技中における大入賞口の開閉回数)の上限値であるかを判定する。その結果、カウンタ値が上限値であると判定した場合には当該大入賞口開閉切替処理を終了し、カウンタ値は上限値ではないと判定した場合にはステップS711-3に処理を移す。
【0500】
(ステップS711-3)
メインCPU300aは、特別電動役物作動ラムセットテーブルのデータを参照し、特別電動役物開閉切替回数カウンタのカウンタ値に基づいて、第1大入賞口ソレノイド126c、第2大入賞口ソレノイド128cを通電制御するためのソレノイド制御データ、および、通電時間もしくは通電停止時間であるタイマデータを抽出する。
【0501】
(ステップS711-5)
メインCPU300aは、上記ステップS711-3で抽出したソレノイド制御データに基づいて、第1大入賞口ソレノイド126cまたは第2大入賞口ソレノイド128cの通電を開始するか、もしくは、通電を停止するための大入賞口ソレノイド通電制御処理を実行する。この大入賞口ソレノイド通電制御処理の実行により、上記ステップS400-33およびステップS400-35において、第1大入賞口ソレノイド126cまたは第2大入賞口ソレノイド128cの通電開始もしくは通電停止の制御がなされることとなる。
【0502】
(ステップS711-7)
メインCPU300aは、上記ステップS711-3で抽出したタイマデータに基づくタイマ値を、特別電動役物遊技タイマにセーブする。なお、ここで特別電動役物遊技タイマにセーブされるタイマ値は、大入賞口の1回の最大開放時間となる。
【0503】
(ステップS711-9)
メインCPU300aは、第1大入賞口ソレノイド126cまたは第2大入賞口ソレノイド128cの通電開始状態か、すなわち、上記ステップS711-5において、第1大入賞口ソレノイド126cまたは第2大入賞口ソレノイド128cの通電を開始する制御処理がなされたかを判定する。その結果、通電開始状態であると判定した場合にはステップS711-11に処理を移し、通電開始状態ではないと判定した場合には当該大入賞口開閉切替処理を終了する。
【0504】
(ステップS711-11)
メインCPU300aは、特別電動役物開閉切替回数カウンタのカウンタ値を、現在のカウンタ値に「1」加算した値に更新し、当該大入賞口開閉切替処理を終了する。
【0505】
図47は、同時回し参考例に係る主制御基板300における大入賞口開放制御処理を説明するフローチャートである。この大入賞口開放制御処理は、特別電動役物遊技管理フェーズが「02H」、「06H」であった場合に実行される。
【0506】
(ステップS720-1)
メインCPU300aは、上記ステップS711-7でセーブした特別電動役物遊技タイマのタイマ値が「0」でないかを判定する。その結果、特別電動役物遊技タイマのタイマ値が「0」ではないと判定した場合にはステップS720-5に処理を移し、特別電動役物遊技タイマのタイマ値が「0」であると判定した場合にはステップS720-3に処理を移す。
【0507】
(ステップS720-3)
メインCPU300aは、特別電動役物開閉切替回数カウンタのカウンタ値が、特別電動役物開閉切替回数の上限値であるかを判定する。その結果、カウンタ値が上限値であると判定した場合にはステップS720-7に処理を移し、カウンタ値は上限値ではないと判定した場合にはステップS711に処理を移す。
【0508】
(ステップS711)
上記ステップS720-3において、特別電動役物開閉切替回数カウンタのカウンタ値が、特別電動役物開閉切替回数の上限値ではないと判定した場合には、メインCPU300aは、上記ステップS711の処理を実行する。
【0509】
(ステップS720-5)
メインCPU300aは、上記ステップS500-9で更新された大入賞口入賞球数カウンタのカウンタ値が規定数に到達していないか、すなわち、大入賞口に、1ラウンド中の最大入賞可能数と同数の遊技球が入球していないかを判定する。その結果、規定数に到達していないと判定した場合には当該大入賞口開放制御処理を終了し、規定数に到達したと判定した場合にはステップS720-7に処理を移す。
【0510】
(ステップS720-7)
メインCPU300aは、第1大入賞口ソレノイド126cまたは第2大入賞口ソレノイド128cの通電を停止して大入賞口を閉鎖するために必要な大入賞口閉鎖処理を実行する。これにより、大入賞口は閉鎖状態となる。
【0511】
(ステップS720-9)
メインCPU300aは、大入賞口閉鎖有効時間(インターバル時間)を特別電動役物遊技タイマにセーブする。
【0512】
(ステップS720-11)
メインCPU300aは、特別電動役物遊技管理フェーズを、現在の値に01Hを加算した値(「03H」または「07H」)に更新する。
【0513】
(ステップS720-13)
メインCPU300aは、大入賞口が閉鎖されたことを示す大入賞口閉鎖指定コマンドを送信バッファにセットし、当該大入賞口開放制御処理を終了する。
【0514】
図48は、同時回し参考例に係る主制御基板300における大入賞口閉鎖有効処理を説明するフローチャートである。この大入賞口閉鎖有効処理は、特別電動役物遊技管理フェーズが「03H」、「07H」であった場合に実行される。
【0515】
(ステップS730-1)
メインCPU300aは、上記ステップS720-9でセーブした特別電動役物遊技タイマのタイマ値が「0」でないかを判定する。その結果、特別電動役物遊技タイマのタイマ値が「0」でないと判定した場合には当該大入賞口閉鎖有効処理を終了し、特別電動役物遊技タイマのタイマ値が「0」であると判定した場合にはステップS730-3に処理を移す。
【0516】
(ステップS730-3)
メインCPU300aは、特別電動役物連続作動回数カウンタのカウンタ値が、特別電動役物最大作動回数カウンタのカウンタ値と一致するか、すなわち、予め設定された回数のラウンド遊技が終了したかを判定する。その結果、特別電動役物連続作動回数カウンタのカウンタ値が、特別電動役物最大作動回数カウンタのカウンタ値と一致すると判定した場合にはステップS730-9に処理を移し、一致しないと判定した場合にはステップS730-5に処理を移す。
【0517】
(ステップS730-5)
メインCPU300aは、特別電動役物遊技管理フェーズを「01H」に更新する。なお、特別電動役物遊技管理フェーズが07Hである場合、すなわち、小当たり遊技の制御中は、小当たり遊技のラウンド遊技回数が「1」であることから、上記ステップS730-3で必ずYESと判定され、当該ステップに処理が移行することはない。
【0518】
(ステップS730-7)
メインCPU300aは、所定の大入賞口閉鎖時間を特別遊技タイマにセーブし、当該大入賞口閉鎖有効処理を終了する。これにより、次のラウンド遊技が開始されることとなる。
【0519】
(ステップS730-9)
メインCPU300aは、エンディング時間を特別電動役物遊技タイマにセーブするエンディング時間設定処理を実行する。
【0520】
(ステップS730-11)
メインCPU300aは、特別電動役物遊技管理フェーズを、現在の値に01Hを加算した値(「04H」または「08H」)に更新する。
【0521】
(ステップS730-13)
メインCPU300aは、エンディングの開始を示すエンディング指定コマンドを送信バッファにセットし、当該大入賞口閉鎖有効処理を終了する。
【0522】
図49は、同時回し参考例に係る主制御基板300における大入賞口終了ウェイト処理を説明するフローチャートである。この大入賞口終了ウェイト処理は、特別電動役物遊技管理フェーズが「04H」、「08H」であった場合に実行される。
【0523】
(ステップS740-1)
メインCPU300aは、上記ステップS730-9でセーブした特別電動役物遊技タイマのタイマ値が「0」でないかを判定する。その結果、特別電動役物遊技タイマのタイマ値が「0」ではないと判定した場合には当該大入賞口終了ウェイト処理を終了し、特別電動役物遊技タイマのタイマ値が「0」であると判定した場合にはステップS740-3に処理を移す。
【0524】
(ステップS740-3)
メインCPU300aは、特別電動役物遊技管理フェーズが「08H」であるか、すなわち、小当たり遊技の終了であるかを判定する。その結果、特別電動役物遊技管理フェーズが「08H」であると判定した場合にはステップS740-11に処理を移し、特別電動役物遊技管理フェーズは「08H」ではないと判定した場合にはステップS740-5に処理を移す。
【0525】
(ステップS740-5)
メインCPU300aは、大役遊技終了後の遊技状態を設定するための状態設定処理を実行する。ここでは、上記ステップS610-17で予備領域に設定した遊技状態や高確回数、時短回数をロードし、大役遊技後の遊技状態として各フラグの設定やカウンタ値をセットする。
【0526】
(ステップS740-7)
メインCPU300aは、上記ステップS740-5において、普通遊技状態が非時短遊技状態に設定されたかを判定する。その結果、非時短遊技状態に設定されたと判定した場合にはステップS740-9に処理を移し、非時短遊技状態に設定されていないと判定した場合にはステップS740-21に処理を移す。
【0527】
(ステップS740-9)
メインCPU300aは、遊技情報出力端子板312から出力されている大当たり信号を停止するための大当たり信号出力停止処理を行う。すなわち、大役遊技後に最優位状態に設定される場合には、大役遊技の終了とともに、大当たり信号の出力が停止されることとなる。
【0528】
(ステップS740-11)
メインCPU300aは、現在の遊技状態が高確前兆状態(高確率遊技状態かつ時短遊技状態)であるかを判定する。その結果、高確前兆状態であると判定した場合にはステップS740-13に処理を移し、高確前兆状態ではないと判定した場合にはステップS740-21に処理を移す。
【0529】
(ステップS740-13)
メインCPU300aは、停止表示された小当たり図柄が特別図柄Z1であるかを判定する。その結果、特別図柄Z1であると判定した場合にはステップS740-15に処理を移し、特別図柄Z1ではないと判定した場合にはステップS740-21に処理を移す。
【0530】
(ステップS740-15)
メインCPU300aは、普通遊技状態を非時短遊技状態に変更するべく、時短状態フラグをセットする。これにより、高確前兆状態において特別図柄Z1が決定された場合には、その小当たり遊技の終了時に、遊技状態が最優位状態に変更されることとなる。
【0531】
(ステップS740-17)
メインCPU300aは、時短回数カウンタをリセットするカウンタリセット処理を行う。
【0532】
(ステップS740-19)
メインCPU300aは、遊技情報出力端子板312から出力されている大当たり信号を停止するための大当たり信号出力停止処理を行う。すなわち、特別図柄Z1に当選して小当たり遊技後に最優位状態に設定される場合には、小当たり遊技の終了とともに、大当たり信号の出力が停止されることとなる。
【0533】
(ステップS740-21)
メインCPU300aは、大役遊技の終了後に設定される遊技状態を伝達するための遊技状態変化指定コマンドを送信バッファにセットする。
【0534】
(ステップS740-23)
メインCPU300aは、高確回数、時短回数に対応する回数コマンドを送信バッファにセットする。
【0535】
(ステップS740-25)
メインCPU300aは、特別電動役物遊技管理フェーズを「00H」に更新し、当該大入賞口終了ウェイト処理を終了する。これにより、特1保留または特2保留が記憶されている場合には、図柄の変動表示が再開されることとなる。
【0536】
図50は、同時回し参考例に係る普通遊技管理フェーズを説明する図である。既に説明したとおり、同時回し参考例では、ゲート124への遊技球の通過もしくは普図作動口125への遊技球の入球を契機とする普通遊技に係る処理が、段階的に、かつ、繰り返し実行されるが、主制御基板300では、こうした普通遊技に係る各処理を普通遊技管理フェーズによって管理している。
【0537】
図50に示すように、メインROM300bには、普通遊技を実行制御するための複数の普通遊技制御モジュールが格納されており、これら普通遊技制御モジュールごとに、普通遊技管理フェーズが対応付けられている。具体的には、普通遊技管理フェーズが「00H」である場合には、「普通図柄変動待ち処理」を実行するためのモジュールがコールされ、普通遊技管理フェーズが「01H」である場合には、「普通図柄変動中処理」を実行するためのモジュールがコールされ、普通遊技管理フェーズが「02H」である場合には、「普通図柄停止図柄表示処理」を実行するためのモジュールがコールされ、普通遊技管理フェーズが「03H」である場合には、「普通電動役物入賞口開放前処理」を実行するためのモジュールがコールされ、普通遊技管理フェーズが「04H」である場合には、「普通電動役物入賞口開放制御処理」を実行するためのモジュールがコールされ、普通遊技管理フェーズが「05H」である場合には、「普通電動役物入賞口閉鎖有効処理」を実行するためのモジュールがコールされ、普通遊技管理フェーズが「06H」である場合には、「普通電動役物入賞口終了ウェイト処理」を実行するためのモジュールがコールされる。
【0538】
図51は、同時回し参考例に係る主制御基板300における普通遊技管理処理(ステップS800)を説明するフローチャートである。
【0539】
(ステップS800-1)
メインCPU300aは、普通遊技管理フェーズをロードする。
【0540】
(ステップS800-3)
メインCPU300aは、上記ステップS800-1でロードした普通遊技管理フェーズに対応する普通遊技制御モジュールを選択する。
【0541】
(ステップS800-5)
メインCPU300aは、上記ステップS800-3で選択した普通遊技制御モジュールをコールして処理を開始する。
【0542】
(ステップS800-7)
メインCPU300aは、普通遊技の制御時間を管理する普通遊技タイマをロードする。
【0543】
図52は、同時回し参考例に係る主制御基板300における普通図柄変動待ち処理を説明するフローチャートである。この普通図柄変動待ち処理は、普通遊技管理フェーズが「00H」であった場合に実行される。
【0544】
(ステップS810-1)
メインCPU300aは、普通図柄保留球数カウンタのカウンタ値をロードし、カウンタ値が「0」であるか、すなわち、普図保留が「0」であるかを判定する。その結果、カウンタ値が「0」であると判定した場合には当該普通図柄変動待ち処理を終了し、カウンタ値は「0」ではないと判定した場合にはステップS810-3に処理を移す。
【0545】
(ステップS810-3)
メインCPU300aは、普図保留記憶領域の第1記憶部~第4記憶部に記憶されている普図保留(当たり決定乱数)を、1つ序数の小さい記憶部にブロック転送する。具体的には、第2記憶部~第4記憶部に記憶されている普図保留を、第1記憶部~第3記憶部に転送する。また、メインRAM300cには、処理対象となる第0記憶部が設けられており、第1記憶部に記憶されている普図保留を、第0記憶部に転送する。なお、この普通図柄記憶エリアシフト処理においては、普通図柄保留球数カウンタのカウンタ値を「1」減算するとともに、普図保留が「1」減算したことを示す、普図保留減指定コマンドを送信バッファにセットする。
【0546】
(ステップS810-5)
メインCPU300aは、第0記憶部に転送された当たり決定乱数をロードし、現在の遊技状態に対応する当たり決定乱数判定テーブルを選択して普図抽選を行い、その抽選結果を記憶する普通図柄当たり判定処理を実行する。
【0547】
(ステップS810-7)
メインCPU300aは、上記ステップS810-5の普図抽選の結果に対応する普通図柄停止図柄番号をセーブする。なお、同時回し参考例では、普通図柄表示器168は1つのLEDランプで構成されており、当たりの場合には普通図柄表示器168を点灯させ、ハズレの場合には普通図柄表示器168を消灯させる。ここで決定する普通図柄停止図柄番号は、最終的に普通図柄表示器168を点灯するか否かを示すものであり、例えば、当たりに当選した場合には、普通図柄停止図柄番号として「0」が決定され、ハズレの場合には、普通図柄停止図柄番号として「1」が決定される。
【0548】
(ステップS810-9)
メインCPU300aは、現在の遊技状態を確認し、対応する普通図柄変動時間データテーブルを選択してセットする。
【0549】
(ステップS810-11)
メインCPU300aは、上記ステップS810-3で第0記憶部に転送した当たり決定乱数と、上記ステップS810-9でセットした普通図柄変動時間データテーブルとに基づいて、普通図柄変動時間を決定する。
【0550】
(ステップS810-13)
メインCPU300aは、上記ステップS810-11で決定した普通図柄変動時間を普通遊技タイマにセーブする。
【0551】
(ステップS810-15)
メインCPU300aは、普通図柄表示器168において、普通図柄の変動表示を開始するために、普通図柄表示図柄カウンタを設定する処理を実行する。この普通図柄表示図柄カウンタに、カウンタ値として例えば「0」が設定されている場合には普通図柄表示器168が点灯制御され、カウンタ値として「1」が設定されている場合には普通図柄表示器168が消灯制御される。ここでは、普通図柄の変動表示の開始時に所定のカウンタ値が普通図柄表示図柄カウンタに設定されることとなる。
【0552】
(ステップS810-17)
メインCPU300aは、普図保留記憶領域に記憶されている普図保留数を示す普図保留指定コマンドを送信バッファにセットする。
【0553】
(ステップS810-19)
メインCPU300aは、上記ステップS810-7で決定された普通図柄停止図柄番号、すなわち、普通図柄当たり判定処理によって決定された図柄種別(当たり図柄またはハズレ図柄)に基づいて、普通図柄指定コマンドを送信バッファにセットする。
【0554】
(ステップS810-21)
メインCPU300aは、普通遊技管理フェーズを「01H」に更新し、当該普通図柄変動待ち処理を終了する。
【0555】
図53は、同時回し参考例に係る主制御基板300における普通図柄変動中処理を説明するフローチャートである。この普通図柄変動中処理は、普通遊技管理フェーズが「01H」であった場合に実行される。
【0556】
(ステップS820-1)
メインCPU300aは、上記ステップS810-13でセーブした普通遊技タイマのタイマ値が「0」であるかを判定する。その結果、タイマ値が「0」であった場合にはステップS820-9に処理を移し、タイマ値が「0」ではなかった場合にはステップS820-3に処理を移す。
【0557】
(ステップS820-3)
メインCPU300aは、普通図柄表示器168の点灯時間および消灯時間を計時する普通図柄表示タイマを更新する。具体的には、普通図柄表示タイマのタイマ値が「0」であった場合には、所定のタイマ値がセットされ、タイマ値が「1」以上であった場合には、現在のタイマ値から「1」減算した値にタイマ値を更新する。
【0558】
(ステップS820-5)
メインCPU300aは、普通図柄表示タイマのタイマ値が「0」であるかを判定する。その結果、普通図柄表示タイマのタイマ値が「0」であると判定した場合にはステップS820-7に処理を移し、普通図柄表示タイマのタイマ値が「0」でないと判定した場合には当該普通図柄変動中処理を終了する。
【0559】
(ステップS820-7)
メインCPU300aは、普通図柄表示図柄カウンタのカウンタ値を更新する。ここでは、普通図柄表示図柄カウンタのカウンタ値が、普通図柄表示器168の消灯を示すカウンタ値であった場合には点灯を示すカウンタ値に更新し、普通図柄表示器168の点灯を示すカウンタ値であった場合には消灯を示すカウンタ値に更新し、当該普通図柄変動中処理を終了する。これにより、普通図柄表示器168は、普通図柄変動時間に亘って、所定時間おきに点灯、消灯を繰り返す(点滅する)こととなる。
【0560】
(ステップS820-9)
メインCPU300aは、普通図柄表示図柄カウンタに、上記ステップS810-7で決定した普通図柄停止図柄番号(カウンタ値)をセーブする。これにより、普通図柄表示器168が最終的に点灯もしくは消灯制御され、普図抽選の結果が報知されることとなる。
【0561】
(ステップS820-11)
メインCPU300aは、普通図柄を停止表示する時間である普通図柄変動停止時間を普通遊技タイマにセットする。
【0562】
(ステップS820-13)
メインCPU300aは、普通図柄の停止表示が開始されたことを示す普図停止指定コマンドを送信バッファにセットする。
【0563】
(ステップS820-15)
メインCPU300aは、普通遊技管理フェーズを「02H」に更新し、当該普通図柄変動中処理を終了する。
【0564】
図54は、同時回し参考例に係る主制御基板300における普通図柄停止図柄表示処理を説明するフローチャートである。この普通図柄停止図柄表示処理は、普通遊技管理フェーズが「02H」であった場合に実行される。
【0565】
(ステップS830-1)
メインCPU300aは、上記ステップS820-11でセットした普通遊技タイマのタイマ値が「0」でないかを判定する。その結果、普通遊技タイマのタイマ値が「0」ではないと判定した場合には当該普通図柄停止図柄表示処理を終了し、普通遊技タイマのタイマ値が「0」であると判定した場合にはステップS830-3に処理を移す。
【0566】
(ステップS830-3)
メインCPU300aは、普図抽選の結果を確認する。
【0567】
(ステップS830-5)
メインCPU300aは、普図抽選の結果が当たりであるかを判定する。その結果、当たりであると判定した場合にはステップS830-9に処理を移し、当たりではない(ハズレである)と判定した場合にはステップS830-7に処理を移す。
【0568】
(ステップS830-7)
メインCPU300aは、普通遊技管理フェーズを「00H」に更新し、当該普通図柄停止図柄表示処理を終了する。これにより、1の普図保留に基づく普通遊技管理処理が終了し、普図保留が記憶されている場合には、次の保留に基づく普通図柄の変動表示を開始するための処理が行われることとなる。
【0569】
(ステップS830-9)
メインCPU300aは、開閉制御パターンテーブルのデータを参照し、普通遊技タイマに、タイマ値として普電開放前時間をセーブする。
【0570】
(ステップS830-11)
メインCPU300aは、普通遊技管理フェーズを「03H」に更新し、当該普通図柄停止図柄表示処理を終了する。これにより、第1可変始動口120Bの開閉制御が開始されることとなる。
【0571】
図55は、同時回し参考例に係る主制御基板300における普通電動役物入賞口開放前処理を説明するフローチャートである。この普通電動役物入賞口開放前処理は、普通遊技管理フェーズが「03H」であった場合に実行される。
【0572】
(ステップS840-1)
メインCPU300aは、上記ステップS830-9でセットした普通遊技タイマのタイマ値が「0」でないかを判定する。その結果、普通遊技タイマのタイマ値が「0」ではないと判定した場合には当該普通電動役物入賞口開放前処理を終了し、普通遊技タイマのタイマ値が「0」であると判定した場合にはステップS841に処理を移す。
【0573】
(ステップS841)
メインCPU300aは、普通電動役物入賞口開閉切替処理を実行する。この普通電動役物入賞口開閉切替処理については後述する。
【0574】
(ステップS840-3)
メインCPU300aは、普通遊技管理フェーズを「04H」に更新し、当該普通電動役物入賞口開放前処理を終了する。
【0575】
図56は、同時回し参考例に係る主制御基板300における普通電動役物入賞口開閉切替処理を説明するフローチャートである。
【0576】
(ステップS841-1)
メインCPU300aは、普通電動役物開閉切替回数カウンタのカウンタ値が、普通電動役物開閉切替回数(1回の開閉制御中における第1可変始動口120Bの可動片120bの開閉回数)の上限値であるかを判定する。その結果、カウンタ値が上限値であると判定した場合には当該普通電動役物入賞口開閉切替処理を終了し、カウンタ値は上限値ではないと判定した場合にはステップS841-3に処理を移す。
【0577】
(ステップS841-3)
メインCPU300aは、開閉制御パターンテーブルのデータを参照し、普通電動役物開閉切替回数カウンタのカウンタ値に基づいて、普通電動役物ソレノイド120cを通電制御するためのソレノイド制御データ(通電制御データまたは通電停止制御データ)、および、普通電動役物ソレノイド120cの通電時間(ソレノイド通電時間)もしくは通電停止時間(普電閉鎖有効時間=休止時間)であるタイマデータを抽出する。
【0578】
(ステップS841-5)
メインCPU300aは、上記ステップS841-3で抽出したソレノイド制御データに基づいて、普通電動役物ソレノイド120cの通電を開始するか、もしくは、普通電動役物ソレノイド120cの通電を停止するための普通電動役物ソレノイド通電制御処理を実行する。この普通電動役物ソレノイド通電制御処理の実行により、上記ステップS400-33およびステップS400-35において、普通電動役物ソレノイド120cの通電開始もしくは通電停止の制御がなされることとなる。
【0579】
(ステップS841-7)
メインCPU300aは、上記ステップS841-3で抽出したタイマデータに基づくタイマ値を、普通遊技タイマにセーブする。なお、ここで普通遊技タイマにセーブされるタイマ値は、第1可変始動口120Bの1回の最大開放時間となる。
【0580】
(ステップS841-9)
メインCPU300aは、普通電動役物ソレノイド120cの通電開始状態か、すなわち、上記ステップS841-5において、普通電動役物ソレノイド120cの通電を開始する制御処理がなされたかを判定する。その結果、通電開始状態であると判定した場合にはステップS841-11に処理を移し、通電開始状態ではないと判定した場合には当該普通電動役物入賞口開閉切替処理を終了する。
【0581】
(ステップS841-11)
メインCPU300aは、普通電動役物開閉切替回数カウンタのカウンタ値を、現在のカウンタ値に「1」加算した値に更新する。
【0582】
図57は、同時回し参考例に係る主制御基板300における普通電動役物入賞口開放制御処理を説明するフローチャートである。この普通電動役物入賞口開放制御処理は、普通遊技管理フェーズが「04H」であった場合に実行される。
【0583】
(ステップS850-1)
メインCPU300aは、上記ステップS841-7でセーブした普通遊技タイマのタイマ値が「0」でないかを判定する。その結果、普通遊技タイマのタイマ値が「0」ではないと判定した場合にはステップS850-5に処理を移し、普通遊技タイマのタイマ値が「0」であると判定した場合にはステップS850-3に処理を移す。
【0584】
(ステップS850-3)
メインCPU300aは、普通電動役物開閉切替回数カウンタのカウンタ値が、普通電動役物開閉切替回数の上限値であるかを判定する。その結果、カウンタ値が上限値であると判定した場合にはステップS850-7に処理を移し、カウンタ値は上限値ではないと判定した場合にはステップS841に処理を移す。
【0585】
(ステップS841)
上記ステップS850-3において、普通電動役物開閉切替回数カウンタのカウンタ値が、普通電動役物開閉切替回数の上限値ではないと判定した場合には、メインCPU300aは、上記ステップS841の処理を実行する。
【0586】
(ステップS850-5)
メインCPU300aは、上記ステップS530-9で更新された普通電動役物入賞球数カウンタのカウンタ値が規定数に到達していないか、すなわち、第1可変始動口120Bに、1回の開閉制御中の最大入賞可能数と同数の遊技球が入球していないかを判定する。その結果、規定数に到達していないと判定した場合には当該普通電動役物入賞口開放制御処理を終了し、規定数に到達したと判定した場合にはステップS850-7に処理を移す。
【0587】
(ステップS850-7)
メインCPU300aは、普通電動役物ソレノイド120cの通電を停止して第1可変始動口120Bを閉鎖するために必要な普通電動役物閉鎖処理を実行する。これにより、第1可変始動口120Bが閉鎖状態となる。
【0588】
(ステップS850-9)
メインCPU300aは、普電有効状態時間を普通遊技タイマにセーブする。
【0589】
(ステップS850-11)
メインCPU300aは、普通遊技管理フェーズを「05H」に更新し、当該普通電動役物入賞口開放制御処理を終了する。
【0590】
図58は、同時回し参考例に係る主制御基板300における普通電動役物入賞口閉鎖有効処理を説明するフローチャートである。この普通電動役物入賞口閉鎖有効処理は、普通遊技管理フェーズが「05H」であった場合に実行される。
【0591】
(ステップS860-1)
メインCPU300aは、上記ステップS850-9でセーブした普通遊技タイマのタイマ値が「0」でないかを判定する。その結果、普通遊技タイマのタイマ値が「0」ではないと判定した場合には当該普通電動役物入賞口閉鎖有効処理を終了し、普通遊技タイマのタイマ値が「0」であると判定した場合にはステップS860-3に処理を移す。
【0592】
(ステップS860-3)
メインCPU300aは、普電終了ウェイト時間を普通遊技タイマにセーブする。
【0593】
(ステップS860-5)
メインCPU300aは、普通遊技管理フェーズを「06H」に更新し、当該普通電動役物入賞口閉鎖有効処理を終了する。
【0594】
図59は、同時回し参考例に係る主制御基板300における普通電動役物入賞口終了ウェイト処理を説明するフローチャートである。この普通電動役物入賞口終了ウェイト処理は、普通遊技管理フェーズが「06H」であった場合に実行される。
【0595】
(ステップS870-1)
メインCPU300aは、上記ステップS860-3でセーブした普通遊技タイマのタイマ値が「0」でないかを判定する。その結果、普通遊技タイマのタイマ値が「0」ではないと判定した場合には当該普通電動役物入賞口終了ウェイト処理を終了し、普通遊技タイマのタイマ値が「0」であると判定した場合にはステップS870-3に処理を移す。
【0596】
(ステップS870-3)
メインCPU300aは、普通遊技管理フェーズを「00H」に更新し、当該普通電動役物入賞口終了ウェイト処理を終了する。これにより、普図保留が記憶されている場合には、普通図柄の変動表示が再開されることとなる。次に、演出参考例として、上記した一種遊技機、一種二種遊技機、および、同時回し機において実行可能な具体的な演出や当該演出に係る具体的な処理を説明する。
【0597】
<演出参考例>
図60は、演出参考例に係るリーチなし変動パターンの変動演出の一例を説明する図である。上記のように、主制御基板300において大役抽選が行われると、特別図柄の変動表示中、すなわち、特別図柄の変動時間に亘って、大役抽選の結果を報知する変動演出が実行される。この変動演出においては、メイン演出表示部200aにおいて種々の背景画像が表示されるとともに、この背景画像に重畳して、演出図柄210a、210b、210cが表示される。なお、変動演出中は、メイン演出表示部200aに表示される画像に伴って、音声出力装置206から音声が出力されるとともに、演出照明装置204が点灯制御され、また、演出役物装置202が可動制御されるが、ここでは詳細な説明は省略する。
【0598】
演出参考例に係る変動演出は、リーチなし変動パターン、リーチ変動パターンに大別される。リーチなし変動パターンの変動演出では、メイン演出表示部200aに背景画像(図示を省略)が表示されるとともに、この背景画像に演出図柄210a、210b、210cが重畳して変動表示される。例えば、
図60(a)に示すように、大役抽選結果がハズレであったことを示す組み合わせで演出図柄210a、210b、210cが停止表示されているとする。この状態で、新たに特別図柄の変動表示が行われると、当該特別図柄の変動表示の開始に伴って、
図60(b)に示すように、3つの演出図柄210a、210b、210cが変動表示(スクロール表示)を開始する。なお、図中下向きの白抜き矢印は、演出図柄210a、210b、210cが高さ方向にスクロール表示されていることを示している。
【0599】
そして、
図60(c)に示すように、まず、演出図柄210aが停止表示され、その後、
図60(d)に示すように、演出図柄210aと異なる演出図柄210cが停止表示される。そして、特別図柄の変動表示が終了して、第1特別図柄表示器160または第2特別図柄表示器162に特別図柄が停止表示するのとほぼ同じタイミングで、
図60(e)に示すように、演出図柄210bが停止表示され、このときの3つの演出図柄210a、210b、210cの最終的な停止表示態様によって、大役抽選結果が遊技者に報知される。
【0600】
図61は、演出参考例に係るノーマルリーチ変動パターンの変動演出の一例を説明する図である。演出参考例では、リーチ変動パターンが、ノーマルリーチ変動パターン、発展リーチ変動パターン、擬似連続リーチ変動パターンに大別される。ノーマルリーチ変動パターンの変動演出は、リーチなし変動パターンの変動演出と同様に、特別図柄の変動表示の開始に伴って、演出図柄210a、210b、210cの変動表示が開始され、
図61(a)に示すように、演出図柄210aがまず停止表示される。その後、
図61(b)に示すように、演出図柄210aと同一の演出図柄210cが停止表示される。
【0601】
このように、メイン演出表示部200aにおいて、同一の演出図柄210a、210cが停止表示されるリーチ態様で表示されると、
図61(c)に示すように、メイン演出表示部200aにおいて、演出図柄210a、210cに重畳して「リーチ」と表示される。なお、リーチ態様は複数種類設けられており、「1」~「9」のいずれかの数字が記された同一の演出図柄210a、210cが停止表示される。その後、
図61(d)に示すように、演出図柄210a、210cの形状を、リーチ態様になる前と異にして変動表示が継続される。そして、
図61(e)に示すように、最終的に、演出図柄210a、210cと異なる演出図柄210bが停止表示され、大役抽選の結果がハズレであったことが遊技者に報知される。
【0602】
図62は、演出参考例に係るハズレ時の発展リーチ変動パターンの変動演出の一例を説明する図であり、
図63は、演出参考例に係る大当たり時の発展リーチ変動パターンの変動演出の一例を説明する図である。発展リーチ変動パターンの変動演出は、
図62(a)~(d)および
図63(a)~(d)に示すように、ノーマルリーチ変動パターンの変動演出と同様に、メイン演出表示部200aにおいて、演出図柄210a、210cがリーチ態様で表示され、その後、所定の発展画像(動画)が再生表示されるリーチ発展演出が実行される。このリーチ発展演出では、例えば、
図62(e)および
図63(e)に示すように、メイン演出表示部200aにミッションが表示されるとともに、
図62(f)、(g)および
図63(f)、(g)に示すように、ミッションの達成に向けた画像が表示される。
【0603】
ここで、リーチ発展演出用の発展画像は、ハズレパターンと大当たりパターンとに大別され、ハズレパターンの発展画像では、
図62(h)に示すように、ミッションの失敗を示す画像が最終的に表示され、その後、
図62(i)に示すように、演出図柄210a、210b、210cがハズレを報知する組み合わせで停止表示される。一方、大当たりパターンの発展画像では、
図63(h)に示すように、ミッションの成功を示す画像が最終的に表示され、その後、
図63(i)に示すように、演出図柄210a、210b、210cが大当たりを報知する組み合わせで停止表示される。
【0604】
なお、リーチ発展演出は、例えば、上記のように、ミッションに挑む内容の発展画像が表示されるミッション演出と、味方キャラクタと敵キャラクタとが対戦する発展画像が表示されるバトル演出と、が設けられている。そして、ミッション演出は、ミッションの内容を異にする複数の実行パターンが設けられており、バトル演出は、登場キャラクタや対戦方法を異にする複数の実行パターンが設けられている。また、上記のように、ミッション演出の実行パターンは、ミッションを達成する大当たりパターンと、ミッションに失敗するハズレパターンとに大別されるが、バトル演出の実行パターンも同様に、味方キャラクタが敵キャラクタに勝利する大当たりパターンと、味方キャラクタが敵キャラクタに敗北するハズレパターンとに大別される。
【0605】
大当たりパターンとハズレパターンとは、演出の終盤までは同一内容で構成されており、最終的に味方キャラクタが勝利するか敗北するか、あるいは、ミッションを達成するか否かといった点を異にしている。したがって、リーチ発展演出中は、変動演出の終盤まで、大役抽選の結果を遊技者が識別することができず、遊技者に大当たりの期待感が付与されることとなる。
【0606】
なお、大当たりパターンは、大役抽選の結果が大当たりであった場合にのみ選択され、ハズレパターンは、大役抽選の結果がハズレであった場合にのみ選択される。ただし、1回の変動演出において、リーチ発展演出が2回実行されることもあり、この場合には、1回目のリーチ発展演出がハズレパターンで実行され、2回目のリーチ発展演出が、ハズレパターンまたは大当たりパターンで実行される。以下に、1回の変動演出において、リーチ発展演出が2回実行される場合の演出の流れについて説明する。
【0607】
図64は、演出参考例に係るリーチ発展演出が2回実行される場合の変動演出の一例を説明する図である。例えば、演出図柄210a、210cがリーチ態様で表示された後、
図64(a)、(b)に示すように、ミッション演出が実行されたとする。ここまでは、1回の変動演出においてリーチ発展演出が1回のみ実行される場合と相違はないが、ミッションを達成できなかったことが報知された直後に、
図64(c)に示すように、メイン演出表示部200aに「REACH UP」と表示される。
【0608】
その後、メイン演出表示部200aには、
図64(d)に示すように、バトル演出用の発展画像が表示されており、2回目のリーチ発展演出が開始される。このバトル演出用の発展画像は、味方キャラクタと敵キャラクタとが対戦する内容となっており、大当たり当選時には、
図64(e)に示すように、最終的に味方キャラクタが敵キャラクタに勝利するとともに、
図64(f)に示すように、演出図柄210a、210b、210cが大当たりを報知する組み合わせで停止表示される。一方、ハズレ時には、
図64(g)に示すように、最終的に味方キャラクタが敵キャラクタに敗北するとともに、
図64(h)に示すように、演出図柄210a、210b、210cがハズレを報知する組み合わせで停止表示される。
【0609】
図65は、演出参考例に係る擬似連続リーチ変動パターンの変動演出の一例を説明する図である。擬似連続リーチ変動パターンの変動演出は、
図65(a)に示すように、演出図柄210a、210b、210cの変動表示が開始されると、
図65(b)に示すように、演出図柄210a、210b、210cが、予め設けられた複数種類の擬似態様のうちのいずれかで仮停止表示される。この擬似態様は、例えば、同一の演出図柄210a、210bと、これら演出図柄210a、210bよりも、「2」大きな数字が記された演出図柄210cとが仮停止表示されるものである。
【0610】
演出図柄210a、210b、210cが擬似態様で仮停止表示されると、
図65(c)に示すように、演出図柄210a、210b、210cの変動表示が再開される。つまり、擬似態様は、演出図柄210a、210b、210cの再変動表示を示すものと言える。その後、
図65(d)に示すように、演出図柄210a、210b、210cが、再び擬似態様で仮停止表示される。
【0611】
そして、
図65(e)に示すように、演出図柄210a、210b、210cの変動表示が再開されると、
図65(f)に示すように、演出図柄210a、210cがリーチ態様で表示され、以後、
図65(g)~(i)に示すように、発展リーチ変動パターンと同様にリーチ発展演出が実行され、大役抽選の結果が遊技者に報知される。
【0612】
このように、擬似連続リーチ変動パターンの変動演出は、演出図柄210a、210cがリーチ態様となるまでの内容が、発展リーチ変動パターンの変動演出と異なっており、リーチ態様となった後は、発展リーチ変動パターンと同様に変動演出が進行されることとなる。
【0613】
なお、擬似連続リーチ変動パターンにおいて、リーチ態様となるまでの演出図柄210a、210b、210cの変動表示パターンは複数パターン設けられており、変動表示パターンごとに、演出図柄210a、210b、210cの仮停止表示の回数、換言すれば、演出図柄210a、210b、210cの変動表示回数が異なっている。この変動表示パターンは、変動モードコマンドによって決定され、演出図柄210a、210b、210cの仮停止表示(変動表示)の回数が多くなるほど、最終的に大当たりの当選が報知される可能性(以下「信頼度」という)が高くなるように、大当たり当選時およびハズレ時における変動モードコマンドの選択比率が設定されている。
【0614】
具体的には、大役抽選の結果が大当たりであった場合には、変動表示回数の多い変動モードコマンドの選択比率が、変動表示回数の少ない変動モードコマンドの選択比率よりも高く設定されており、大役抽選の結果がハズレであった場合には、変動表示回数の少ない変動モードコマンドの選択比率が、変動表示回数の多い変動モードコマンドの選択比率よりも高く設定されている。
【0615】
また、主制御基板300においては、擬似連続リーチ変動パターンの信頼度が、発展リーチ変動パターンの信頼度よりも高くなるように設定されている。したがって、演出図柄210a、210b、210cの仮停止表示(変動表示)の回数によって信頼度が示唆されることとなり、遊技者は、演出図柄210a、210b、210cがより多く仮停止表示(変動表示)されることを期待しながら、演出の行方を見守ることとなる。
【0616】
上記した変動演出の実行パターンは、主制御基板300で決定された変動コマンドに基づいて、副制御基板330において決定、実行制御される。つまり、変動演出の実行パターンは、主制御基板300と副制御基板330とで協働して決定されると言える。
【0617】
図66は、演出参考例に係る変動演出決定テーブルを説明する図であり、
図66(a)には前半変動演出決定テーブルを示し、
図66(b)には後半変動演出決定テーブルを示す。上記したように、主制御基板300において大役抽選が行われると、大役抽選の結果に基づいて、変動コマンドが決定され、決定された各コマンドが副制御基板330に送信される。副制御基板330においては、変動モードコマンドを受信すると、0~249の範囲から1の演出乱数を取得するとともに、前半変動演出決定テーブルを参照して、取得した演出乱数と、受信した変動モードコマンドとに基づいて、前半の変動演出の実行パターンを決定する。また、変動パターンコマンドを受信すると、0~249の範囲から1の演出乱数を取得するとともに、後半変動演出決定テーブルを参照して、取得した演出乱数と、受信した変動パターンコマンドとに基づいて、後半の変動演出の実行パターンを決定する。なお、
図66においては、前半変動演出決定テーブルおよび後半変動演出決定テーブルの一部のみを抽出して示している。
【0618】
図66に示すように、前半変動演出決定テーブルによれば、変動モード番号(変動モードコマンド)ごとに、前半の変動演出の実行パターンについての選択比率がそれぞれ設定され、後半変動演出決定テーブルによれば、変動パターン番号(変動パターンコマンド)ごとに、後半の変動演出の実行パターンについての選択比率がそれぞれ設定されている。そして、決定された前半および後半の変動演出の実行パターンを組み合わせて実行することで、1回の変動演出が実行されることとなる。
【0619】
リーチなし変動パターンの変動演出は、前半の実行パターンとして、前半の変動演出を実行しないことを示す「なし」が決定され、後半の実行パターンとして、リーチなし変動パターンに対応する「ノーマルハズレ1」、「ノーマルハズレ2」、「特殊ハズレ1」、「特殊ハズレ2」が決定された場合に実行される。例えば、前半の変動演出が実行されないことを示す「01H」の変動モード番号に対応する変動モードコマンドを受信すると、副制御基板330では、必ず、前半の実行パターンとして「なし」が決定される。また、このとき、同時に受信し得る変動パターンコマンドには、「ノーマルハズレ1」、「ノーマルハズレ2」、「特殊ハズレ1」、「特殊ハズレ2」のいずれかのみが決定されるように、後半変動演出決定テーブルにおいて選択比率の設定がなされている。したがって、前半の実行パターンとして「なし」が決定され、後半の実行パターンとして「ノーマルハズレ1」、「ノーマルハズレ2」、「特殊ハズレ1」、「特殊ハズレ2」が決定されることで、変動演出の実行パターンは、上記のリーチなし変動パターンに決定されることとなる。
【0620】
一方、リーチ変動パターンの変動演出は、前半の実行パターンとして「なし」以外が決定され、後半の実行パターンとして、いずれかのリーチ発展演出(図中、発展1~5で示す)が決定された場合に実行される。換言すれば、メイン演出表示部200aにおいて、リーチ変動パターンの変動演出が実行される場合には、必ず、変動モード番号=01H以外の変動モード番号に対応する変動モードコマンドを受信しており、発展1~5のいずれかが決定される変動パターン番号に対応する変動パターンコマンドを受信していることとなる。
【0621】
ここで、
図66(a)において、前半の実行パターンにおける「ノーマルリーチ1」や「ノーマルリーチ2」等は、それぞれ、ノーマルリーチ変動パターンの変動演出のうち、演出図柄210a、210b、210cがリーチ態様になるまで、より詳細には、リーチ発展演出が開始されるまでの、メイン演出表示部200aに表示される背景画像や演出図柄210a、210b、210cの変動表示パターンを示している。これらの画像パターンは、変動モード番号に対応付けられた特別図柄の変動表示の時間と一致するように予め設計されており、例えば、「ノーマルリーチ1」が決定されると、
図61(a)~(d)に示す画像がメイン演出表示部200aに表示されることとなる。
【0622】
また、
図66(a)において、前半の実行パターンにおける「擬似2a」等は、擬似連続リーチ変動パターンの変動演出のうち、リーチ発展演出が開始されるまでの、メイン演出表示部200aに表示される主変動演出画像の表示パターン、すなわち、演出図柄210a、210b、210cが変動表示される図柄表示演出の実行パターンを示している。例えば、「擬似2a」は、演出図柄210a、210b、210cの変動表示回数が2回である「擬似2」の擬似連続リーチ変動パターンであって、主変動演出画像が表示パターンaであることを示している。また、「擬似3b」は、演出図柄210a、210b、210cの変動表示回数が3回である「擬似3」の擬似連続リーチ変動パターンであって、主変動演出画像が表示パターンbであることを示している。
【0623】
なお、
図66に示す前半変動演出決定テーブルおよび後半変動演出決定テーブルにおいては、リーチなし変動パターンおよびノーマルリーチ変動パターンの変動演出は、大役抽選の結果がハズレであった場合にのみ実行されるように、選択比率の設定がなされている。また、発展リーチ変動パターンおよび擬似連続リーチ変動パターンは、ハズレ時および大当たり時の双方で決定されるが、発展リーチ変動パターンは、擬似連続リーチ変動パターンよりも、ハズレ時の選択比率が高く、大当たり時の選択比率が低く設定されている。このように、ハズレ時と大当たり時とで選択比率を設定することにより、擬似連続リーチ変動パターンは、発展リーチ変動パターンよりも、信頼度が高く設定されることとなる。
【0624】
さらに、擬似連続リーチ変動パターンの中でも、擬似回数が多くなるほど、大当たり時の選択比率が高く、ハズレ時の選択比率が低く設定されており、擬似回数が多くなるほど、信頼度が高くなるように設定がなされている。
【0625】
以上のように、変動演出決定テーブルにより、変動演出の大まかな流れが決定されるが、変動演出の開始時には、変動モードコマンドまたは変動パターンコマンドに基づいて、変動演出を構成するさまざまな要素演出の実行可否および実行パターンがさらに決定される。ここで、要素演出というのは、例えば、上記のように、メイン演出表示部200aにおける演出図柄210a、210b、210cの変動表示や、リーチ発展演出でメイン演出表示部200aに表示される発展画像、さらには、演出役物装置202を可動させる演出等、変動演出を構成する全ての演出をいう。実施例では、変動演出を構成する要素演出として、変動演出中のさまざまなタイミングで予告演出(示唆演出)が実行される。
【0626】
この予告演出というのは、変動演出の開始時や、擬似連続リーチ変動パターンの変動演出における演出図柄210a、210b、210cの再変動表示時、さらには、リーチ発展演出中等に、メイン演出表示部200aに所定の画像を表示したり、所定のタイミングで演出役物装置202を可動したりする演出であり、予告演出ごとに、その実行可否や実行パターンが決定される。各予告演出には、それぞれ実行パターンが複数種類設けられ、複数種類の実行パターンそれぞれについて、変動パターンコマンドや変動モードコマンドごとに、換言すれば、大当たりの当選可否ごとに選択比率が設定され、この選択比率によって、実行パターンごとに期待値が設定されている。
【0627】
以上説明したように、副制御基板330においては、変動コマンドを受信すると、変動演出の実行パターンや各要素演出の実行可否、実行パターンが決定され、特別図柄の変動表示中に変動演出が実行されることとなる。このように、変動演出は、1回の特別図柄の変動表示に対して1回行われるが、実施例では、複数回の特別図柄の変動表示に跨る演出も実行される。
【0628】
図67は、演出参考例に係る保留表示演出の一例を説明する図である。メイン演出表示部200aの下部には保留表示領域211が設けられる。
図60~
図65では図示を省略したが、保留表示領域211は、変動演出中や遊技の待機中もメイン演出表示部200aに常時表示されている。そして、変動演出中は、この保留表示領域211において保留表示演出が行われる。保留表示演出では、大役抽選の際に処理領域(第0記憶部)に読み出された保留を示す当該保留表示212a、第1特図保留記憶領域の第1記憶部~第4記憶部に記憶されている保留をそれぞれ示す、第1保留表示212b、第2保留表示212c、第3保留表示212d、第4保留表示212eが保留表示領域211に表示される。なお、以下では、当該保留表示212aおよび第1保留表示212b~第4保留表示212eを総称して、保留表示212と呼ぶ。
【0629】
例えば、特別図柄の変動表示中であって、しかも、メインRAM300cに4つの特1保留が記憶されている場合には、
図67(a)に示すように、当該保留表示212a、第1保留表示212b~第4保留表示212eの合計5つの保留表示212が保留表示領域211に表示される。そして、この状態から、特別図柄の変動表示が終了し、第1記憶部に記憶されている特1保留が処理領域(第0記憶部)に読み出されて大役抽選が行われるとともに、メインRAM300cの保留シフト処理が実行されると、
図67(b)に示すように、当該保留表示212aが消去されるとともに、第1保留表示212b~第4保留表示212eが1つ左に移動表示される。また、さらにこの状態から次なる特1保留が読み出されると、
図67(c)に示すように、さらに各保留表示212が移動表示される。このように、保留表示演出は、メインRAM300cに記憶されている特1保留数を遊技者に報知する演出となっている。
【0630】
また、保留表示212の表示パターンは複数設けられており、表示パターンごとに表示色を異ならせている。主制御基板300においては、保留が記憶されたときに取得時演出判定処理(ステップS536)が実行され、新たに記憶された保留が第0記憶部に読み出された際に決定される変動情報を示す先読み指定コマンドを副制御基板330に送信する。副制御基板330においては、先読み指定コマンドを受信すると、当該受信コマンドに基づいて、新たに記憶された保留に対応する保留表示212の表示パターンを決定する。このとき、先読み指定コマンドごとに、つまり、新たに記憶された保留が大役抽選で読み出された際に決定される変動情報ごとに、各表示パターンの選択比率が設定されている。つまり、大当たりの当選可否や、変動演出の実行パターンに応じて各表示パターンの選択比率が設定されていることから、保留表示212の表示パターンによって、大当たりの信頼度(期待値)が示唆されることとなる。
【0631】
図68(a)は最終保留表示パターン決定テーブルを説明する図であり、
図68(b)は1つ前保留表示パターン決定テーブルを説明する図である。上記したように、主制御基板300における取得時演出判定処理では、新たに記憶された保留が読み出された際に決定される変動モード番号および変動パターン番号を示す先読み指定コマンドを副制御基板330に送信する。つまり、先読み指定コマンドは、保留が読み出されたときに決定される変動モード番号および変動パターン番号を副制御基板330に伝達するコマンドである。最終保留表示パターン決定テーブルによれば、先読み指定コマンド(変動パターン番号)ごとに、保留表示212の表示パターンの選択比率がそれぞれ設定されており、先読み指定コマンドを受信すると、保留表示212の最終の表示パターン、すなわち、当該保留表示212aの最終的な表示パターンが決定される。
【0632】
図68(a)に示す最終保留表示パターン決定テーブルによれば、「デフォルト(白)」、「点滅」、「青」、「黄」、「緑」、「黒」「赤」、「プレミア(虹)」の8種類の表示パターンのいずれかが決定される。そして、当該保留表示212aの最終的な表示パターンが決定されると、それ以前に表示される保留表示212の表示パターンが、
図68(b)に示す1つ前保留表示パターン決定テーブルを参照して決定される。この1つ前保留表示パターン決定テーブルによれば、保留表示212の表示パターンごとに、移動表示前に表示する保留表示212の表示パターンの選択比率が設定されている。
【0633】
例えば、主制御基板300において、第1特図保留記憶領域の第2記憶部に保留が記憶された場合に、最終保留表示パターン決定テーブルを参照して、当該保留表示212aの最終的な表示パターンが決定されたとする。この場合には、次に、第1保留表示212bの表示パターンを、1つ前保留表示パターン決定テーブルを参照して決定する。このとき、第1保留表示212bの表示パターンは、先に決定された当該保留表示212aの最終的な表示パターンに基づいて決定される。例えば、当該保留表示212aの最終的な表示パターンが「青」であった場合、1つ前保留表示パターン決定テーブルによれば、第1保留表示212bの表示パターンとして、「点滅」が200/250の確率で決定され、「青」が50/250の確率で決定され。
【0634】
このようにして、第1保留表示212bの表示パターンが決定されると、次に、先に決定された第1保留表示212bの表示パターンに基づいて、再び、1つ前保留表示パターン決定テーブルを参照して、第2保留表示212cの表示パターンが決定される。
【0635】
以上のように、保留が記憶されると、まず、当該保留表示212aの最終的な表示パターンが決定され、その後、決定された当該保留表示212aの最終的な表示パターンに基づいて、第1保留表示212bの表示パターンが決定される等、表示順序を逆方向に遡るように、表示パターンが順次決定されることとなる。なお、1つ前保留表示パターン決定テーブルによれば、先に決定されている保留表示212の表示パターンと同じか、もしくは、信頼度の低い表示パターンのみが決定されるように、選択比率が設定されている。
【0636】
上記のように、保留表示演出では、保留表示212について、所定の遊技利益の付与に対する期待値が異なる複数の表示パターンが設けられている。そして、保留表示212は、メイン演出表示部200aに最初に表示されてから最終的に消去されるまでの間、1の表示パターンで表示される場合もあれば、表示期間中に表示パターンが変化する場合もある。
【0637】
演出参考例において、保留表示212の表示パターンの変化が生じるタイミングは、新たに記憶された特1保留(以下、対象保留ともいう)が、第1保留表示212b~第3保留表示212dに移動表示されたタイミングと、対象保留に係る対象変動演出中とに大別される。
【0638】
次に、上記の変動演出を実行するための副制御基板330における処理について説明する。なお、以下では、副制御基板330における処理のうち、変動演出と関係のない処理については説明を省略する。
【0639】
(副制御基板330のサブCPU初期化処理)
図69は、演出参考例に係る副制御基板330のサブCPU初期化処理(S1000)を説明するフローチャートである。
【0640】
(ステップS1000-1)
サブCPU330aは、電源投入に応じて、サブROM330bからCPU初期化処理プログラムを読み込むとともに、サブRAM330cに記憶されるフラグ等の初期化、設定処理を行う。
【0641】
(ステップS1000-3)
次に、サブCPU330aは、各演出乱数を更新する処理を行うとともに、以後は、割込み処理が行われるまで当該ステップS1000-3の処理を繰り返し行う。なお、演出乱数は複数種類設けられており、ここでは、それぞれの演出乱数が非同期的に更新されている。
【0642】
(副制御基板330のサブタイマ割込み処理)
図70は、演出参考例に係る副制御基板330のサブタイマ割込み処理(S1100)を説明するフローチャートである。副制御基板330には、所定の周期(1秒間に30回)でクロックパルスを発生するリセット用クロックパルス発生回路(不図示)が設けられている。そして、このリセット用クロックパルス発生回路によるクロックパルスの発生により、サブCPU330aはタイマ割込み処理プログラムを読み込んで当該サブタイマ割込み処理を開始する。
【0643】
(ステップS1100-1)
サブCPU330aは、レジスタを退避する。
【0644】
(ステップS1100-3)
サブCPU330aは、割込みを許可するための処理を行う。
【0645】
(ステップS1100-5)
サブCPU330aは、副制御基板330で用いられる各種タイマカウンタの更新処理を行う。ここで、各種タイマカウンタは、特に断る場合を除き、当該副制御基板330のサブタイマ割込み処理の度に1ずつ減算され、0になると減算を停止する。
【0646】
(ステップS1200)
サブCPU330aは、サブRAM330cの受信バッファに格納されているコマンドを解析するとともに、受信したコマンドに応じた種々の処理を行う。副制御基板330においては、主制御基板300からコマンドが送信されると、コマンド受信割込み処理が行われ、主制御基板300から送信されたコマンドが受信バッファに格納される。ここでは、コマンド受信割込み処理によって受信バッファに格納されたコマンドを解析することとなる。
【0647】
(ステップS1100-7)
サブCPU330aは、タイムテーブルを参照して、当該タイムテーブルに記憶された該当時間に対応する処理を実行するタイムスケジュール管理処理を行う。ここでは、タイムテーブルにセットされたタイムデータに基づいて、各種のフラグをオン、オフしたり、あるいは、各演出デバイスにコマンドを送信したりすることで、変動演出や大役演出をはじめとする各演出の実行を制御することとなる。
【0648】
(ステップS1100-9)
サブCPU330aは、レジスタを復帰して当該サブタイマ割込み処理を終了する。
【0649】
図71は、上記コマンド解析処理のうち、先読み指定コマンドを受信した際に実行される演出参考例に係る先読み指定コマンド受信処理を説明するフローチャートである。上記したとおり、先読み指定コマンド(先読み指定変動パターンコマンド)は、主制御基板300において、取得時演出判定処理(
図33のステップS536-21、ステップS536-25、ステップS536-27)でセットされた後、サブコマンド送信処理(
図23のステップS100-65)によって副制御基板330に送信される。
【0650】
(ステップS1210-1)
サブCPU330aは、まず、受信した先読み指定コマンドを解析する。
【0651】
(ステップS1210-3)
サブCPU330aは、上記ステップS1210-1の解析結果に基づいて、事前判定情報を記憶する。なお、副制御基板330のサブRAM330cには、主制御基板300の第1特図保留記憶領域に対応する第1事前判定情報記憶部と、第2特図保留記憶領域に対応する第2事前判定情報記憶部とが設けられている。第1事前判定情報記憶部は第1記憶部~第4記憶部の4つの記憶部を備えている。これら第1事前判定情報記憶部の第1記憶部~第4記憶部は、第1特図保留記憶領域の第1記憶部~第4記憶部にそれぞれ対応している。同様に、第2事前判定情報記憶部は第1記憶部~第4記憶部の4つの記憶部を備えており、これら第2事前判定情報記憶部の第1記憶部~第4記憶部は、第2特図保留記憶領域の第1記憶部~第4記憶部にそれぞれ対応している。ここでは、主制御基板300の第1特図保留記憶領域または第2特図保留記憶領域の第1記憶部~第4記憶部のうち、新たに保留が記憶された記憶部に対応する記憶部に事前判定情報が記憶される。
【0652】
(ステップS1210-5)
サブCPU330aは、保留表示212の最終の表示パターンを決定する最終保留表示パターン決定処理を行う。ここでは、受信した先読み指定コマンドに基づき、最終保留表示パターン決定テーブル(
図68(a))を参照し、当該保留表示212aの最終の表示パターンを決定して記憶する。
【0653】
(ステップS1210-7)
サブCPU330aは、保留が記憶された記憶部に基づいて、保留表示212の表示パターンを決定する回数、すなわち保留表示212の変化タイミングを導出し、導出した回数だけ、1つ前保留表示パターン決定テーブル(
図68(b))を参照して、保留表示212の表示パターンを決定する。そして、決定した保留表示212の表示パターン情報を所定の記憶部に記憶し、ステップS1210-9に処理を移す。
【0654】
(ステップS1210-9)
サブCPU330aは、上記ステップS1210-5およびステップS1210-7の決定に基づいて、保留表示212の表示を開始させる保留表示開始処理を行い、当該先読み指定コマンド受信処理を終了する。これにより、保留が記憶されたときに、対応する保留表示212の表示が開始されることとなる。
【0655】
図72は、演出参考例に係る上記コマンド解析処理のうち、変動コマンドを受信した際に実行される変動コマンド受信処理を説明するフローチャートである。上記したとおり、変動コマンドは、主制御基板300において、特別図柄変動番号決定処理(
図39のステップS612-13、S612-17)でセットされた後、サブコマンド送信処理(
図23のステップS100-65)によって副制御基板330に送信される。
【0656】
(ステップS1220-1)
変動コマンドを受信すると、サブCPU330aは、まず、受信した変動パターンコマンドを解析して、記憶する。
【0657】
(ステップS1220-3)
サブCPU330aは、上記ステップS1000-3で更新された演出乱数(0~249)を取得し、当該取得した演出乱数および上記ステップS1220-1における解析結果に基づいて、後半の変動演出の実行パターンを決定、記憶する。
【0658】
(ステップS1220-5)
サブCPU330aは、受信した変動モードコマンドを解析して、記憶する。
【0659】
(ステップS1220-7)
サブCPU330aは、上記ステップS1000-3で更新された演出乱数(0~249)を取得し、当該取得した演出乱数および上記ステップS1220-5における解析結果に基づいて、前半の変動演出の実行パターンを決定、記憶する。
【0660】
(ステップS1220-9)
サブCPU330aは、上記ステップS1000-3で更新された演出乱数(0~249)を予告演出ごとに取得し、当該取得した演出乱数および上記ステップS1220-1、ステップS1220-5における解析結果に基づいて、各予告演出決定テーブルを参照して、各予告演出の実行有無ならびに実行パターンを決定、記憶する。
【0661】
(ステップS1220-11)
サブCPU330aは、事前判定情報記憶部に記憶されている事前判定情報をシフトするシフト処理を実行する。ここでは、特1保留に基づく変動演出を開始する場合には、第1事前判定情報記憶部の第4記憶部~第2記憶部に記憶されている事前判定情報を、それぞれ第1事前判定情報記憶部の第3記憶部~第1記憶部にシフトし、特2保留に基づく変動演出を開始する場合には、第2事前判定情報記憶部の第4記憶部~第2記憶部に記憶されている事前判定情報を、それぞれ第2事前判定情報記憶部の第3記憶部~第1記憶部にシフトする。
【0662】
(ステップS1220-13)
サブCPU330aは、保留表示212を移動表示させる保留表示シフト処理を行う。また、ここでは、保留表示212の表示パターンが変化する場合には、所定のタイミングで表示パターンを変化させるための実行データをセットする。
【0663】
(ステップS1220-15)
サブCPU330aは、上記各ステップの決定に基づいてタイムテーブルのタイムデータをセットして、当該変動コマンド受信処理を終了する。なお、ここでセットされたタイムテーブルに基づき、上記ステップS1100-7において、変動演出用の画像をメイン演出表示部200aに表示する処理や、音声出力処理、演出照明装置204の点灯制御処理等の演出実行制御がなされることとなる。
【0664】
<スロットマシン400>
図73および
図74の外観図に示すように、遊技機としてのスロットマシン400は、前面が開口した筐体402と、筐体402の前面一端に回動可能に上下に並んで配置される前面上扉404および前面下扉406とが設けられている。前面上扉404の下部略中央には、ガラス板や透明樹脂板等で構成された無色透明の図柄表示窓408が設けられており、筐体402内の図柄表示窓408に対応する位置には、3つのリール410(左リール410a、中リール410b、右リール410c)が、それぞれ独立して回動可能に設けられている。左リール410a、中リール410b、右リール410cの外周面には、
図75(a)の図柄配列に示すように、20に等分された各領域に複数種類の図柄がそれぞれ配列されており、遊技者は、図柄表示窓408を通じて、上段、中段、下段に位置する、左リール410a、中リール410b、右リール410cそれぞれの3つの連続する合計9個の図柄を視認することができる。
【0665】
前面下扉406の上部には操作部設置台412が形成され、操作部設置台412には、メダル投入部414、ベットスイッチ416、スタートスイッチ418、ストップスイッチ420、演出スイッチ422等が設けられている。メダル投入部414は、メダル投入口414aを通じて遊技価値としてのメダルの投入を受け付ける。ベットスイッチ416は、スロットマシン400の内部に電気的に貯留(以下、単にクレジットという)されているメダルのうち、1遊技で必要とされる規定数のメダルを投入(ベット)する。
【0666】
スタートスイッチ418は、例えば傾倒操作を検出可能なレバーで構成され、遊技者による遊技の開始操作を検出する。ストップスイッチ420(ストップスイッチ420a、ストップスイッチ420b、ストップスイッチ420c)は、左リール410a、中リール410b、右リール410cそれぞれに対応して設けられており、遊技者の停止操作を検出する。なお、ストップスイッチ420の停止操作が可能な状態で、遊技者が、ストップスイッチ420a、ストップスイッチ420b、ストップスイッチ420cのいずれかを最初に停止操作することを第1停止といい、第1停止の後、停止操作されていない2つのストップスイッチ420のいずれかを停止操作することを第2停止といい、第2停止の後、最後に残ったストップスイッチ420を停止操作することを第3停止という。演出スイッチ422は、例えば、押圧スイッチと、その周囲に回転自在に配されたジョグダイヤルスイッチとから構成され、遊技者の押圧操作や回転操作を検出する。
【0667】
前面上扉404の上部略中央には、演出に伴う様々な画像を表示する液晶表示部424が設けられている。また、前面上扉404の上部や左右には、例えば高輝度の発光ダイオード(LED)によって構成される演出用ランプ426が設けられる。また、前面上扉404の裏面における液晶表示部424の左右位置や前面下扉406の裏面における左右位置には、効果音や楽音等による聴覚的な演出を行うスピーカ428が設けられている。
【0668】
操作部設置台412には、メインクレジット表示部430およびメイン払出表示部432が設けられている。また、図柄表示窓408と操作部設置台412との間には、サブクレジット表示部434およびサブ払出表示部436が設けられている。これらメインクレジット表示部430およびサブクレジット表示部434にはクレジットされているメダルの枚数(クレジット枚数)が表示され、メイン払出表示部432およびサブ払出表示部436にはメダルの払出枚数が表示される。
【0669】
筐体402内におけるリール410の下方には、メダル排出口440aからメダルを払い出すためのメダル払出装置(メダルホッパー)442が設けられている。また、前面下扉406の前面下部には、メダル排出口440aから払い出されたメダルを貯留するための受け皿部440が設けられている。また、筐体402内には、電源スイッチ444が設けられている。電源スイッチ444は、スロットマシン400を管理する管理者が操作し、電源の切断状態と電源の投入状態の2つの状態を切り換えるために用いられる。
【0670】
また、筐体402内には、後述する主制御基板500に、図示しない設定キーおよび設定変更スイッチ(これらを合わせて設定値設定手段という)が設けられている。スロットマシン400では、設定キーに所定の鍵(操作キー)が挿入されてOFFの位置からONの位置へ回転された状態で電源スイッチ444を介して電源が投入されると設定変更モードに移行し、設定値の変更(単に設定変更ともいう)が可能な状態となる。設定値は、遊技者の有利度合(機械割)を段階的に示したものであり、例えば、1~6の6段階で表され、一般に、設定値の数値が大きいほど遊技全体として有利度合が高い(期待獲得枚数が高い)ように設定されている。そして、設定変更が可能な状態において設定変更スイッチが押下される度に設定値が1ずつ加算され、例えば、6段階の設定値のうちのいずれかの設定値に変更され、スタートスイッチ418が操作されると、設定値が確定し、設定キーを元の位置(OFFの位置)に戻すことで設定変更モードが終了して遊技が可能となる。なお、設定変更は、電源スイッチ444が操作されて電源の投入状態となってから一定期間のみ可能となっている。
【0671】
スロットマシン400では、遊技が開始可能となり、規定数のメダルがベットされると、有効ラインAが有効化するとともに、スタートスイッチ418に対する操作が有効となる。ここで、ベットは、ベットスイッチ416の操作を通じてクレジットされているメダルを投入する場合と、メダル投入部414を通じてメダルを投入する場合と、詳しくは後述するリプレイ役が有効ラインA上に表示されたことに基づいてメダルを自動投入する場合のいずれも含む。また、有効ラインAは、当選役の入賞を判定するためのラインであり、本実施形態では1本である。有効ラインAは、
図75(b)に示すように、図柄表示窓408に臨む9つの図柄(3リール×上中下の3段)のうち、左リール410aの中段、中リール410bの中段、右リール410cの上段に停止する図柄に対応する位置を結んだラインに設定されている。無効ラインは、有効ラインA上に表示された図柄組み合わせのみでは当選役を把握しにくい場合に、当選役の把握を容易にする他の図柄組み合わせを表示する、当選役の入賞判定には用いられない有効ラインA以外のラインであり、本実施形態では、
図75(b)に示す5つの無効ラインB1、B2、B3、C1、C2を想定している。
【0672】
そして、遊技者によりスタートスイッチ418が操作されると、遊技が開始され、左リール410a、中リール410b、右リール410cが回転されるとともに、当選種別抽選等が実行される。その後、ストップスイッチ420a、420b、420cの操作に応じて、対応する左リール410a、中リール410b、右リール410cをそれぞれ停止させる。そして、当選種別抽選の抽選結果および有効ラインAに表示された図柄の組み合わせによって、メダルの払い出しを受け得る当選役が入賞した場合にはメダルの払い出しが実行され、メダルの払い出しを受け得る当選種別に不当選であった場合または当選したが入賞しなかった場合には左リール410a、中リール410b、右リール410cが全て停止したことをもって、遊技が終了する。
【0673】
なお、本実施形態において、上記1遊技は、メダル投入部414を通じたメダルの投入、ベットスイッチ416の操作を通じたクレジットされているメダルの投入、または、リプレイ役が有効ラインA上に表示されたことに基づくメダルの自動投入のいずれかが行われてから、遊技者によるスタートスイッチ418の操作に応じて、左リール410a、中リール410b、右リール410cが回転制御されるとともに当選種別抽選が実行され、当選種別抽選の抽選結果および遊技者による複数のストップスイッチ420a、420b、420cの操作に応じて、操作されたストップスイッチ420a、420b、420cに対応する左リール410a、中リール410b、右リール410cがそれぞれ停止制御され、メダルの払い出しを受け得る当選役が入賞した場合、そのメダルの払い出しが実行されるまでの遊技をいう。また、メダルの払い出しを受け得る当選種別に不当選であった場合または当選したが入賞しなかった場合、左リール410a、中リール410b、右リール410cが全て停止したことをもって1遊技が終了する。ただし、1遊技の開始を、上記のメダルの投入、または、リプレイ役の当選の代わりに、遊技者によるスタートスイッチ418の操作と読み替えてもよい。また、かかる1遊技が繰り返される数を遊技数とする。
【0674】
図76は、スロットマシン400の概略的な電気的構成を示したブロック図である。
図76に示すように、スロットマシン400は、遊技の進行を制御する主制御基板500(主制御部)と、遊技の進行に応じた演出を制御する副制御基板502(副制御部)とを含む制御基板が設けられている。また、主制御基板500と副制御基板502との間の電気的な信号の伝達は、不正防止等の観点から、主制御基板500から副制御基板502への一方向のみに制限される。
【0675】
(主制御基板500)
主制御基板500は、中央処理装置であるメインCPU500a、プログラム等が格納されたメインROM500b、ワークエリアとして機能するメインRAM500c等を含む半導体集積回路を有し、スロットマシン400全体を統括的に制御する。なお、メインRAM500cは、電源が切断された場合においても、設定変更が行われてRAMクリアが実行されない限り、データが消去されることなく保持される。
【0676】
また、主制御基板500は、メインCPU500aが、メインROM500bに格納されたプログラムに基づきメインRAM500cと協働することで機能する、初期化手段600、ベット手段602、当選種別抽選手段604、リール制御手段606、判定手段608、払出制御手段610、遊技状態制御手段612、演出状態制御手段614、コマンド送信手段616等の機能部を有する。
【0677】
主制御基板500では、メダル投入口414aへのメダルの投入を検出する投入メダル検出部414b、ベットスイッチ416、スタートスイッチ418およびストップスイッチ420a、420b、420cから各種の検出信号を受信しており、受信した検出信号に基づいて、メインCPU500aが種々の処理を実行する。
【0678】
初期化手段600は、主制御基板500における初期化処理を実行する。ベット手段602は、遊技に使用するためのメダルをベットする。当選種別抽選手段604は、スタートスイッチ418の操作に基づき、詳しくは後述するように、当選役の当否、より詳しくは、当選役が含まれる当選種別の当否を決定する当選種別抽選を行う。
【0679】
リール制御手段606は、スタートスイッチ418の操作に応じて、左リール410a、中リール410b、右リール410cを回転制御し、回転している左リール410a、中リール410b、右リール410cにそれぞれ対応したストップスイッチ420a、420b、420cの操作に応じて、対応する左リール410a、中リール410b、右リール410cを停止制御する。また、リール制御手段606は、スタートスイッチ418の操作に応じて、前回の遊技においてストップスイッチ420a、420b、420cの操作を有効化してから、当選種別抽選の抽選結果を表示するために遊技者によるストップスイッチ420a、420b、420cの操作を有効化するまで(前回の遊技におけるストップスイッチ420a、420b、420cの操作完了により無効化されている)の時間を規定の時間より延長し、その間、リール410a、410b、410cを多彩な態様で回転させるリール演出(フリーズ演出)を行う場合がある。リール演出は、本来有効となるべき任意のスイッチを所定時間有効にしなかったり、本来実行されるべき処理を所定時間保留したり、本来送受信されるべき任意のスイッチの信号を所定時間送信または受信させなかったりすることで実現できる。
【0680】
また、主制御基板500には、リール駆動制御部450が接続されている。このリール駆動制御部450は、スタートスイッチ418の操作信号に応じ、リール制御手段606から送信される、左リール410a、中リール410b、右リール410cの回転開始信号に基づいて、ステッピングモータ452を駆動する。また、リール駆動制御部450は、ストップスイッチ420の操作信号に応じ、リール制御手段606から送信される、左リール410a、中リール410b、右リール410cそれぞれの停止信号および回転位置検出回路454の検出信号に基づいて、ステッピングモータ452の駆動を停止する。
【0681】
判定手段608は、当選役に対応する図柄組み合わせが有効ラインA上に表示されたか否か判定する。ここで、当選役に対応する図柄組み合わせが有効ラインA上に表示されることを単に入賞という場合がある。払出制御手段610は、当選役に対応する図柄組み合わせが有効ラインA上に表示されたこと(入賞したこと)に基づいて、当該当選役に対応する数(価値量)だけメダルを払い出す。また、主制御基板500には、メダル払出装置442が接続されており、払出制御手段610は、メダルの払出枚数を計数しながらメダルを排出する。
【0682】
遊技状態制御手段612は、当選種別抽選の結果や判定手段608の判定結果を参照し、複数種類の遊技状態のいずれかに遊技状態を移行させる。また、演出状態制御手段614は、当選種別抽選の結果、判定手段608の判定結果、遊技状態の遷移情報を参照し、複数種類の演出状態のいずれかに演出状態を移行させる。
【0683】
コマンド送信手段616は、ベット手段602、当選種別抽選手段604、リール制御手段606、判定手段608、払出制御手段610、遊技状態制御手段612、演出状態制御手段614等の動作に伴う、遊技に関するコマンドを順次決定し、決定したコマンドを副制御基板502に順次送信する。
【0684】
また、主制御基板500には、乱数発生器(乱数生成手段)500dが設けられる。乱数発生器500dは、計数値を順次インクリメントし、所定の数値範囲内でループさせ、所定の時点における計数値を抽出することで乱数を得る。主制御基板500の乱数発生器500dによって生成される乱数(以下、当選種別抽選乱数という)は、遊技者に付与する遊技利益、例えば、当選種別抽選手段604が当選種別を決定するために用いられる。
【0685】
(副制御基板502)
また、副制御基板502は、主制御基板500と同様に、中央処理装置であるサブCPU502a、プログラム等が格納されたサブROM502b、ワークエリアとして機能するサブRAM502c等を含む各種半導体集積回路を有し、主制御基板500からのコマンドに基づき、特に演出を制御する。また、サブRAM502cにもメインRAM500c同様、不図示のバックアップ電源が接続されており、電源が切断された場合においても、データが消去されることなく保持される。なお、副制御基板502にも、主制御基板500同様、乱数発生器(乱数生成手段)502dが設けられており、乱数発生器502dによって生成される乱数(以下、演出抽選乱数という)は、主に演出の態様を決定するために用いられる。
【0686】
また、副制御基板502では、サブCPU502aが、サブROM502bに格納されたプログラムに基づき、サブRAM502cと協働することで機能する、初期化決定手段630、コマンド受信手段632、演出制御手段634等の機能部を有する。
【0687】
初期化決定手段630は、副制御基板502における初期化処理を実行する。コマンド受信手段632は、主制御基板500等、他の制御基板からのコマンドを受信し、コマンドに対する処理を行う。演出制御手段634は、演出スイッチ422から検出信号を受信するとともに、受信されたコマンドに基づいて液晶表示部424、スピーカ428、演出用ランプ426の各デバイスで行われる遊技の演出を決定する。具体的に、演出制御手段634は、液晶表示部424に表示される画像データや、演出用ランプ426、サブクレジット表示部434、サブ払出表示部436等の電飾機器を通じた演出のための電飾データを決定するとともに、スピーカ428から出力すべき音声を構成する音声データを決定する。そして、演出制御手段634は、決定した遊技の演出を実行する。なお、演出には、補助演出も含まれる。補助演出は、当選種別抽選において、正解役(特定の役)と不正解役とが重複した選択当選種別に当選したときに、その正解役の入賞条件となるストップスイッチ420a、420b、420cの正解操作態様を報知する演出である。かかる補助演出により、遊技者は、正解役に対応する図柄組み合わせを、遊技者が有効ラインA上に容易に表示させることができる。かかる補助演出を実行する演出状態をAT(アシストタイム)演出状態という。また、AT演出状態とリプレイ役の当選確率が高いRT(リプレイタイム)遊技状態が並行して進行される所謂ART遊技状態を用いることもある。
【0688】
なお、以下では、液晶表示部424、演出用ランプ426、スピーカ428、サブクレジット表示部434、サブ払出表示部436といった、副制御基板502を含む、主制御基板500以外の基板で管理される報知手段を他報知手段という場合がある。これに対し、メインクレジット表示部430、メイン払出表示部432といった、主制御基板500で管理される報知手段を主報知手段(指示モニタ)という場合がある。また、補助演出を実行可能な主報知手段および他報知手段を合わせて補助演出実行手段という場合もある。演出状態制御手段614は、AT演出状態において、補助演出を補助演出実行手段に実行させる。
【0689】
(主制御基板500で用いられるテーブル)
図77は、当選役を説明するための説明図であり、
図78および
図79は、当選種別抽選テーブルを説明するための説明図である。
【0690】
スロットマシン400においては、詳しくは後述するように、複数種類の遊技状態および演出状態が設けられており、遊技の進行に応じて遊技状態および演出状態が移行される。そして、主制御基板500では、遊技状態制御手段612により管理、制御される遊技状態に対応する複数の当選種別抽選テーブル等がメインROM500bに格納されている。当選種別抽選手段604は、メインRAM500cに記憶された現在の設定値(遊技利益を得る容易性を段階的に示したもの)と現在の遊技状態に応じて、対応する当選種別抽選テーブルをメインROM500bから抽出し、抽出した当選種別抽選テーブルに基づき、スタートスイッチ418の操作信号に応じて取得された当選種別抽選乱数が当選種別抽選テーブル内のいずれの当選種別に対応するか判定する。
【0691】
ここで、当選種別抽選テーブルで抽出される当選種別を構成する当選役には、リプレイ役、小役、ボーナス役が含まれる。リプレイ役は、リプレイ役に対応する図柄組み合わせが有効ラインA上に表示されると、遊技者によるメダルの新たなるベットを行わずして再度遊技を実行できる役である。小役は、その小役に対応する図柄組み合わせが有効ラインA上に表示されることにより、図柄組み合わせに応じて所定枚数のメダルの払い出しを受けることができる役である。また、ボーナス役は、そのボーナス役に対応する図柄組み合わせが有効ラインA上に表示されることにより、遊技状態制御手段612により管理される遊技状態をボーナス遊技状態(後述するRBB作動中遊技状態)に移行させることができる役である。
【0692】
本実施形態における当選役は、
図77に示すように、リプレイ役として、当選役「リプレイ1」~「リプレイ7」が設けられている。また、小役として、当選役「小役1」~「小役39」が設けられている。また、ボーナス役として、当選役「RBB」が設けられている。
図77では、左リール410a、中リール410b、右リール410cそれぞれに、各当選役を構成する1または複数の図柄が対応付けられている。
【0693】
ここで、本実施形態においては、遊技者によってストップスイッチ420が操作されたときに、入賞可能な当選役に対応する図柄組み合わせを構成する図柄が有効ラインA上にある場合には、リール制御手段606によって、当該図柄が有効ラインA上に停止するように停止制御がなされる。また、ストップスイッチ420が操作されたときに、入賞可能な当選役に対応する図柄組み合わせを構成する図柄が、有効ラインA上にはないが、リール410の回転方向と反対の方向の図柄4コマ分に相当する範囲(引込範囲)内に存在している場合には、リール制御手段606によって、離れている図柄数が滑りコマ数となり、当該当選役に対応する図柄組み合わせを構成する図柄を有効ラインA上に引き込むように滑りコマ数分回転を維持した後に停止するように停止制御がなされる。また、入賞可能な当選役に対応する図柄がリール410中に複数あり、いずれもリール410の引込範囲内に存在している場合には、予め定められた優先順位に従っていずれの図柄を有効ラインA上に引き込むか決定され、当該優先された図柄を有効ラインA上に引き込むように滑りコマ数分回転を維持した後に停止するように停止制御がなされる。なお、ストップスイッチ420が押圧操作されたときに、入賞可能な当選役以外の当選役に対応する図柄組み合わせを構成する図柄が有効ラインA上にある場合には、リール制御手段606によって、その図柄を有効ラインA上に停止させないようにする、所謂蹴飛ばし処理も並行して実行される。また、後述するように、当選種別に含まれる当選役に操作態様(操作順や操作タイミング)が入賞条件として設定されている場合、リール制御手段606は、遊技者の操作態様に応じて当選役に対応する図柄組み合わせを有効ラインA上に表示可能に停止制御する。
【0694】
そして、例えば、当選役「リプレイ1」~「リプレイ4」、当選役「小役1」~「小役6」、「小役35」~「小役39」に対応する図柄組み合わせを構成する図柄は、各リール410において、上記の停止制御によって、必ず有効ラインA上に表示可能なように配列されている。このような当選役をPB=1と表す場合がある。一方、例えば、当選役「リプレイ5」~「リプレイ7」、当選役「小役7」~「小役34」、当選役「RBB」に対応する図柄組み合わせを構成する図柄は、各リール410において、上記の停止制御によって、必ずしも有効ラインA上に表示可能なように配列されていないので、所謂とりこぼしが発生する場合がある。このような当選役をPB≠1と表す場合がある。
【0695】
図78および
図79に示すように、当選種別抽選テーブルでは、複数の当選領域が区画されており、各遊技状態によって抽選の対象となる当選種別が異なったり、不当選(ハズレ)の有無が異なったりする。
図78および
図79では、各遊技状態(非内部遊技状態(非内部)、RBB内部中遊技状態(RBB内部中)、RBB作動中遊技状態(RBB作動中))毎に割り当てられた当選領域(当選種別)を「◎」や「○」で表しているが、実際には、複数の遊技状態それぞれに対応する当選種別抽選テーブルがメインROM500bに記憶されている。なお、「◎」は有利区間に移行させる抽選を行うことが可能な有利区間抽選可当選種別であることを示し、「○」は有利区間に移行させる抽選を行うことが不可な有利区間抽選不可当選種別であることを示している。
【0696】
当選種別抽選テーブルでは、区画化された各当選領域にはそれぞれ当選範囲を示す数値である所定の置数(当選範囲値)と当選種別が対応付けられており、遊技状態毎に割り当てられた全ての当選領域の置数を合計すると当選種別抽選乱数の総数(65536)となる。したがって、当選種別それぞれが決定される確率は、当選領域に対応付けられた置数を当選種別抽選乱数の総数で除算した値となる。当選種別抽選手段604は、その時点の遊技状態に基づいて、当該当選種別抽選テーブルにおける複数の当選領域のうち番号の高い方から、順次、置数を取得し、その置数を当選種別抽選乱数から減算して、減算後の値が0未満となると、その時点の当選領域に対応付けられた当選種別を当選種別抽選の抽選結果としている。また、当選領域1以上の全ての当選領域の置数を当選種別抽選乱数から減算して、減算後の値が0以上となっていれば、当選領域0の当選種別「ハズレ」が当選種別抽選の抽選結果となる。
【0697】
ここで、当選種別「RBB」を構成する当選役「RBB」について補足する。所定の第1種特別役物RBは、規定数ごとの入賞に係る図柄の組み合わせの数を増加させ、または規定数ごとの入賞に係る条件装置が作動する確率を上昇させる役物で、あらかじめ定められた場合に作動し、12回を超えない回数の遊技の結果が得られるまで作動を継続することができるものをいう。ここで、条件装置は、その作動が入賞、再遊技、役物または役物連続作動装置の作動に係る図柄の組み合わせが表示されるために必要な条件とされている装置で、当選種別抽選(遊技機内で行われる電子計算機によるくじ)に当選した場合に作動するもの、すなわち、当選フラグを意味する。そして、当選種別「RBB」を構成する第1種特別役物に係る役物連続作動装置(当選役「RBB」)は、第1種特別役物RBを連続して作動させることができる装置であり、特定の図柄の組み合わせが表示された場合に作動し、あらかじめ定められた場合に作動を終了するものをいう。
【0698】
図78の当選種別抽選テーブルによれば、例えば当選領域0には、当選種別「ハズレ」が対応付けられており、かかる当選種別に当選すると、
図77に示したいずれの当選役に対応する図柄組み合わせも有効ラインA上に表示されることはなく、メダルの払い出し等が行われることはない。ただし、後述するように、RBB内部当選フラグが次遊技に持ち越されている場合、当選種別「ハズレ」の当選により、当選役「RBB」に対応する図柄組み合わせを有効ラインA上に表示させることが可能となる。
【0699】
また、当選領域1には、当選役「小役1」~「小役39」が重複して含まれる当選種別「小役ALL」が対応付けられており、当選領域2には、当選役「小役11」~「小役39」が重複して含まれる当選種別「1枚ALLA」が対応付けられており、当選領域3には、当選役「小役12」~「小役27」が重複して含まれる当選種別「1枚ALLB」が対応付けられている。また、当選領域4には、当選役「小役12」、「小役20」が重複して含まれる当選種別「択1枚1」が対応付けられ、当選領域5には、当選役「小役13」、「小役21」が重複して含まれる当選種別「択1枚2」が対応付けられ、当選領域6には、当選役「小役14」、「小役22」が重複して含まれる当選種別「択1枚3」が対応付けられ、当選領域7には、当選役「小役15」、「小役23」が重複して含まれる当選種別「択1枚4」が対応付けられている。また、当選領域8には、当選役「小役35」、「小役36」が重複して含まれる当選種別「弱チェリー」が対応付けられ、当選領域9には、当選役「小役37」~「小役39」が重複して含まれる当選種別「強チェリー」が対応付けられ、当選領域10には、当選役「小役7」、「小役8」、「小役11」が重複して含まれる当選種別「スイカA」が対応付けられ、当選領域11には、当選役「小役7」~「小役10」が重複して含まれる当選種別「スイカB」が対応付けられ、当選領域12には、当選役「小役1」、「小役3」、「小役5」が重複して含まれる当選種別「強ベル」が対応付けられている。また、当選領域13には、当選役「小役1」~「小役6」が重複して含まれる当選種別「共通ベルA」が対応付けられ、当選領域14には、当選役「小役1」~「小役6」、「小役11」が重複して含まれる当選種別「共通ベルB」が対応付けられている。
【0700】
また、当選領域15~26には、払出枚数が11枚となる正解役(当選役「小役1」~「小役6」)と、払出枚数が1枚の不正解役(当選役「小役12」~「小役34」)が重複して含まれる選択当選種別(当選種別「打順ベル1A」~「打順ベル6A」、「打順ベル1B」~「打順ベル6B」)がそれぞれ対応付けられている。
【0701】
また、
図79の当選種別抽選テーブルによれば、当選領域27~39には、当選役「リプレイ1」~「リプレイ7」が重複して含まれる当選種別「シンボルリプレイA1」~「シンボルリプレイA7」、「シンボルリプレイB1」~「シンボルリプレイB6」が対応付けられている。また、当選領域40には、当選役「リプレイ1」、「リプレイ2」が重複して含まれる当選種別「通常リプレイ」が対応付けられている。
【0702】
また、当選領域41~46には、当選役「RBB」が単独、または、他の小役と重複して含まれる当選種別「RBB1」~「RBB6」が対応付けられている。
【0703】
そして、複数の当選役が重複して含まれる当選種別に当選した場合には、いずれの当選役に対応する図柄組み合わせを有効ラインA上に優先的に表示させるかについての入賞条件、例えば、ストップスイッチ420a、420b、420cが操作される順番が設定されている。
【0704】
以下の説明において、左リール410a、中リール410b、右リール410cの順にリールを停止させるストップスイッチ420a、420b、420cの操作を「打順1」とし、左リール410a、右リール410c、中リール410bの順にリールを停止させるストップスイッチ420a、420b、420cの操作を「打順2」とし、中リール410b、左リール410a、右リール410cの順にリールを停止させるストップスイッチ420a、420b、420cの操作を「打順3」とし、中リール410b、右リール410c、左リール410aの順にリールを停止させるストップスイッチ420a、420b、420cの操作を「打順4」とし、右リール410c、左リール410a、中リール410bの順にリールを停止させるストップスイッチ420a、420b、420cの操作を「打順5」とし、右リール410c、中リール410b、左リール410aの順にリールを停止させるストップスイッチ420a、420b、420cの操作を「打順6」とする。
【0705】
例えば、非内部遊技状態において、当選領域15の当選種別「打順ベル1A」に当選し、正解操作態様(打順1)による操作が行われた場合、払出枚数が11枚の正解役である当選役「小役1」に対応する図柄組み合わせが有効ラインA上に優先的に表示されるように停止制御がなされる。また、打順2による操作が行われた場合、払出枚数1枚の不正解役である当選役「小役28」に対応する図柄組み合わせが有効ラインA上に優先的に表示されるように停止制御がなされ、打順3、4による操作が行われた場合、払出枚数1枚の不正解役である当選役「小役12」に対応する図柄組み合わせが有効ラインA上に優先的に1/4の確率で表示されるように停止制御がなされ、打順5、6による操作が行われた場合、払出枚数1枚の不正解役である当選役「小役16」に対応する図柄組み合わせが有効ラインA上に優先的に1/4の確率で表示されるように停止制御がなされる。
【0706】
なお、当選領域15~26の各当選種別の当選確率(置数)は等しくなるように設定されている。遊技者は、通常、いずれの当選種別に当選しているのかを知ることができないため、上記のような当選領域15~26を設けることにより、正解役を入賞させにくくしている。また、上記のように、不正解役が優先的に表示される打順でストップスイッチ420a、420b、420cが操作されても、必ずしも不正解役に対応する図柄組み合わせを有効ラインA上に表示させられるとは限らないので、その操作態様によっては、とりこぼしが発生することがある(PB≠1)。
【0707】
なお、上述したいずれかの当選種別に当選すると、それぞれの当選種別に対応する内部当選フラグが成立(ON)するとともに、この内部当選フラグの成立状況に応じて、各リール410の停止制御がなされることとなる。このとき、小役が含まれる当選種別に当選したものの、これら当選役に対応する図柄組み合わせを、その遊技内で有効ラインA上に表示させることができなかった場合には、当該遊技の終了後に内部当選フラグがOFFされる。つまり、小役の当選の権利は小役が含まれる当選種別に当選した遊技内のみに限られ、当該権利を次遊技に持ち越すことはできない。これに対して、当選役「RBB」が含まれる当選種別に当選した場合には、RBB内部当選フラグが成立(ON)するとともに、当選役「RBB」に対応する図柄組み合わせが有効ラインA上に表示されるまで、RBB内部当選フラグが遊技を跨いで持ち越される。なお、リプレイ役が含まれる当選種別に対応する内部当選フラグが成立した場合には、その当選種別に含まれるリプレイ役のうちのいずれかのリプレイ役に対応する図柄組み合わせが必ず有効ラインA上に表示され、メダルを要することなく次遊技を行うために必要となる処理が行われた後に、当該内部当選フラグがOFFされる。
【0708】
(遊技状態の遷移)
ここで、
図80を用い、遊技状態の遷移について説明する。ここでは、非内部遊技状態、RBB内部中遊技状態、RBB作動中遊技状態といった複数の遊技状態が準備されている。各遊技状態は、後述するように、ボーナス役の当選、入賞(作動)、終了に応じて遷移させる。
【0709】
非内部遊技状態は、複数の遊技状態における初期状態に相当する遊技状態である。かかる非内部遊技状態では、リプレイ役の当選確率が約1/7.3に設定されている。また、非内部遊技状態では、当選役「RBB」が所定の確率(例えば約1/30)で決定されている。
【0710】
遊技状態制御手段612は、当選役「RBB」の当選に応じて遊技状態を遷移させる。例えば、当選役「RBB」が当選した遊技において、当選役「RBB」に対応する図柄組み合わせが有効ラインA上に表示されると、遊技状態制御手段612は、遊技状態をRBB作動中遊技状態に移行させる(1)。
【0711】
RBB作動中遊技状態では、リプレイ役の当選確率が0に設定されている。なお、かかるRBB作動中遊技状態では、当選可能な当選種別として、当選領域1に当選種別「小役ALL」が、当選領域2、3に当選種別「1枚ALLA」、「1枚ALLB」が設定されている。当選種別「小役ALL」に当選すると、当選役「小役1」~「小役39」のいずれかに対応する図柄組み合わせが有効ラインA上に表示され、当選種別「1枚ALL」に当選すると、当選役「小役11」~「小役39」のいずれかに対応する図柄組み合わせが有効ラインA上に表示されるように停止制御される。ここでは、かかる小役の構成によりRBB作動中遊技状態での単位遊技当たりの期待獲得枚数を低くしている。
【0712】
RBB作動中遊技状態の終了条件を満たすと、すなわち、獲得枚数が所定枚数に到達すると、遊技状態制御手段612は、遊技状態を非内部遊技状態に移行させる(2)。
【0713】
一方、当選役「RBB」が当選した遊技において、当選役「RBB」に対応する図柄組み合わせを有効ラインA上に表示することができなかった場合、遊技状態制御手段612は、遊技状態をRBB内部中遊技状態(特別遊技状態)に移行させる(3)。
【0714】
RBB内部中遊技状態では、リプレイ役の当選確率が約1/5.9に設定されている。また、RBB内部中遊技状態では当選種別「ハズレ」に当選することはない。換言すれば、当選役「RBB」の当選遊技で当選役「RBB」に対応する図柄組み合わせを有効ラインA上に表示することができなかった場合、その後は、当選役「RBB」より小役やリプレイ役の方が優先して有効ラインA上に停止制御されるので、当選役「RBB」に対応する図柄組み合わせを有効ラインA上に表示することができない。したがって、一旦、遊技状態がRBB内部中遊技状態に移行すると、その後、遊技状態が遷移することなく、RBB内部中遊技状態が維持されることとなる。ここでは、かかるRBB内部中遊技状態を維持しつつ、そのRBB内部中遊技状態においてAT演出状態を実現する。
【0715】
ここでは、RBB内部中遊技状態において、複数種類の正解役が互いに重複せずに当選するため、正解役を入賞させることができる機会を多くすることができ、その結果、例えば、RBB内部中遊技状態におけるAT演出状態において補助演出が行われることで、メダルを獲得しやすくできる。一方、RBB作動中遊技状態では、複数種類の正解役が重複して当選するため、正解役を入賞させることができる機会が少ないので、他の遊技状態におけるAT演出状態よりも正解役を入賞させることができる機会が減り、遊技者が所有するメダルを増やしにくくしている。したがって、RBB内部中遊技状態よりも入賞に係る当選役の当選確率が高いというRBB作動中遊技状態の機能を備えつつ、メダルの獲得性能の面ではRBB作動中遊技状態がRBB内部中遊技状態に劣るという仕様(アクセルRBB)を実現することができる。
【0716】
(演出状態の遷移)
図81は、演出状態の遷移を説明するための説明図である。以下、主制御基板500において演出状態制御手段614により遷移される演出状態(非AT演出状態、AT演出状態)について詳述する。なお、以下では、遊技状態がRBB内部中遊技状態である場合について説明する。
【0717】
ここで、メダルの獲得性能が高い遊技状態が偏っているか否かを統括的かつ画一的に判定すべく、指示機能に係る性能を有する遊技区間、すなわち、補助演出(指示機能)を実行する遊技区間等を含む、遊技者にとって有利な遊技区間を有利区間(特定区間)として定義する。なお、有利区間は、主制御基板500で補助演出の作動に係る抽選等を行った結果、補助演出が作動した場合には、主制御基板500において指示の内容が識別できるよう、例えば、主報知手段に表示したときに限り、指示情報を、副制御基板502等の周辺基板に送信してもよい遊技区間である。また、有利区間と異なる遊技区間を非有利区間とする。したがって、複数の演出状態(非AT演出状態、AT演出状態)は、遊技区間である有利区間および非有利区間のいずれかに属することとなる。本実施形態では、ほぼ全ての演出状態が有利区間に属し、非AT演出状態の一部の演出状態(ここでは非有利演出状態)で非有利区間を実現している。
【0718】
なお、有利区間において、補助演出がないと正解役を取りこぼしてしまう当選態様のうち、正解役の配当が最大(ここでは、11枚)となる選択当選種別において、正解役の入賞を補助する補助演出(最大払出枚数を獲得できる補助演出)を行う場合、例えば、区間表示器160を点灯させることによって、その旨を報知しなければならない。
【0719】
また、非有利区間においては、当選種別の当選確率を設定値毎に異ならせることは可能であるが、同一の当選種別において補助演出を伴う演出状態(AT演出状態)への移行を決定する確率は設定値毎に異ならせてはならない。一方、有利区間においては、当選種別の当選確率、および、同一の当選種別における補助演出を伴う演出状態(AT演出状態)への移行(または追加)を決定する確率のいずれも設定値毎に異ならせることは可能である。
【0720】
したがって、演出状態制御手段614は、演出状態の移行の管理に加え、非有利区間と有利区間との移行も管理することとなる。また、有利区間は、このような管理に拘わらず、以下の終了条件を満たすことで強制的に終了する。例えば、有利区間において計数される値が所定値に達したこと(例えば、滞在遊技数(遊技実行回数)が1500遊技に達したり、獲得枚数(純増枚数)が2400枚を超えたこと)に基づいて強制的に終了する。いずれの場合においても、演出状態制御手段614は、有利区間から非有利区間に移行することで、有利区間で更新された情報(指示機能に係る性能に影響を及ぼす全ての変数)を全てリセットする。
【0721】
(非AT演出状態、AT演出状態)
非AT演出状態においては、AT演出状態より、補助演出の実行頻度が極めて低く、補助演出がほぼ行われないので、獲得できるメダルの枚数が制限される。ここでは、非AT演出状態として通常演出状態、非有利演出状態、準備演出状態、第1インターバル演出状態、継続抽選演出状態、第2インターバル演出状態といった6つの演出状態が設けられている。
【0722】
AT演出状態においては、選択当選種別全ての当選時において補助演出実行手段に補助演出を実行させることで、メダルの消費を抑えつつ、多くのメダルを獲得することが可能となる。したがって、遊技者は、AT演出状態に移行することで、非AT演出状態と比べ、遊技を有利に進行することができる。ここでは、AT演出状態として、擬似ボーナス演出状態が設けられている。以下、各演出状態(通常演出状態、擬似ボーナス演出状態、非有利演出状態、準備演出状態、第1インターバル演出状態、継続抽選演出状態、第2インターバル演出状態)について個々に説明する。
【0723】
(各演出状態)
通常演出状態は、複数の演出状態のうち、初期状態に相当する演出状態である。演出状態制御手段614は、通常演出状態においてAT抽選を行う。AT抽選は、AT演出状態への移行を決定する抽選であり、演出状態制御手段614は、当選種別抽選により決定された当選種別ごとに異なる確率でAT抽選を行う。そして、AT抽選に当選した場合、演出状態制御手段614は、所定の前兆遊技数が経過した後に、演出状態をAT演出状態である擬似ボーナス演出状態に移行させる(1)。また、擬似ボーナス演出状態に移行することなく通常演出状態で所定の天井条件(例えば、通常演出状態を連続して所定遊技数消化)が満たされると(所謂、天井到達)、演出状態制御手段614は、演出状態を擬似ボーナス演出状態へ移行させる(1)。
【0724】
擬似ボーナス演出状態では、所定の終了条件(例えば、消化した遊技数が所定遊技数に到達すること)を満たすまで、補助演出が実行され、遊技者は、擬似ボーナス演出状態において、例えば、期待獲得枚数3.5枚を得ることができる。なお、擬似ボーナス演出状態では、主として2つの終了条件が準備されている。例えば、終了条件が、消化した遊技数が所定遊技数に到達することであった場合、所定遊技数として、30と80の2段階設けられ、いずれかが抽選により決定される。擬似ボーナス演出状態では、当然、消化した遊技数が多いほど、遊技者は、多くの遊技利益を得ることになる。したがって、遊技者は、所定遊技数が30ではなく80であることを望むこととなる。ただし、所定遊技数として30が決定された場合であっても、その消化中に補助演出の所定遊技数を30から80に増加させる昇格抽選も行われる。なお、ここでは、擬似ボーナス演出状態の終了条件として、消化した遊技数が所定遊技数に到達したことを例示しているが、これに代えて、最大払出枚数を獲得できる補助演出の回数が所定数に到達することや、獲得枚数(純増枚数)が所定数に到達することを採用してもよい。
【0725】
そして、擬似ボーナス演出状態において、所定の終了条件を満たすと、演出状態制御手段614は、演出状態を非有利演出状態に移行する場合がある(2)。このとき、演出状態制御手段614は、有利区間を、一旦、非有利区間に移行し、有利区間で更新された情報を全てリセットする。例えば、前段の擬似ボーナス演出状態が初回の擬似ボーナス演出状態であった場合、すなわち、通常演出状態から移行した直後の擬似ボーナス演出状態であれば、演出状態制御手段614は、演出状態を非有利演出状態に移行するとともに、有利区間を、一旦、非有利区間に移行する。また、前段の擬似ボーナス演出状態が、通常演出状態を経由しない3の倍数(3、6、…)回目の擬似ボーナス演出状態であった場合も、演出状態制御手段614は、有利区間を、一旦、非有利区間に移行するとともに、有利区間を、一旦、非有利区間に移行する。
【0726】
そして、演出状態制御手段614は、有利区間への移行を高確率(例えば、1/2)で抽選し、数遊技を消化後、有利区間に戻すとともに、演出状態を準備演出状態に移行する(3)。これは、有利区間において計数される値が所定値に達することにより、擬似ボーナス演出状態が強制的に終了することを回避するためである。
【0727】
一方、前段の擬似ボーナス演出状態が初回ではない、もしくは、通常演出状態を経由しない3の倍数回目の擬似ボーナス演出状態ではない場合、演出状態制御手段614は、演出状態を非有利演出状態に移行することなく、直接、準備演出状態に移行する(4)。これは、有利区間において計数される値が所定値に達することにより擬似ボーナス演出状態が強制的に終了することを回避しつつ、不要に有利区間を終了させないためである。
【0728】
準備演出状態において、演出状態制御手段614は、第1インターバル演出状態への移行を高確率(例えば、1/2)で抽選し、第1インターバル演出状態への移行の決定に基づいて、演出状態を第1インターバル演出状態に移行する(5)。
【0729】
第1インターバル演出状態は、所定の終了条件(例えば、40遊技の消化)を満たすまで継続し、その間、擬似ボーナス演出状態の継続抽選が実行される。かかる第1インターバル演出状態は、擬似ボーナス演出状態と異なり、単位遊技当たりの期待獲得枚数が少なく、負の値となる場合もある。なお、本実施形態では、非有利区間において有利区間に当選した場合、演出状態が必ず第1インターバル演出状態となるように設定されている。したがって、擬似ボーナス演出状態の終了後は、有利区間が継続した場合であっても、上記のように、一旦、非有利区間に移行した場合であっても、第1インターバル演出状態に移行することとなる。そして、第1インターバル演出状態における所定の終了条件を満たすと、演出状態制御手段614は、演出状態を継続抽選演出状態に移行する(6)。
【0730】
継続抽選演出状態は、所定の終了条件(例えば、5遊技の消化)を満たすまで継続し、最終的に、第1インターバル演出状態における、擬似ボーナス演出状態の継続抽選の結果が報知される。かかる継続抽選演出状態も、擬似ボーナス演出状態と異なり、単位遊技当たりの期待獲得枚数が少なく、負の値となる場合もある。第1インターバル演出状態において、擬似ボーナス演出状態への移行(継続)が決定されていれば、演出状態制御手段614は、演出状態を擬似ボーナス演出状態への移行し(7)、擬似ボーナス演出状態への移行が決定されていなければ、演出状態制御手段614は、演出状態を通常演出状態へ戻す(8)。
【0731】
このように、本実施形態では、一旦、擬似ボーナス演出状態に移行すると、継続抽選演出状態の継続抽選に漏れない限り、擬似ボーナス演出状態→準備演出状態→第1インターバル演出状態→継続抽選演出状態の移行を繰り返すことで、遊技者は、メダルを蓄積できる。
【0732】
なお、準備演出状態において、演出状態制御手段614は、第1インターバル演出状態への移行抽選に加え、第2インターバル演出状態への移行抽選も行っている。ただし、第1インターバル演出状態への移行確率(例えば、1/2)より、第2インターバル演出状態への移行確率(例えば、1/20)の方が小さく設定されている。準備演出状態において、第1インターバル演出状態への移行が決定する前に、第2インターバル演出状態への移行が決定されると、演出状態制御手段614は、第2インターバル演出状態への移行の決定に基づいて、演出状態を第2インターバル演出状態に移行する(9)。なお、ここでは、準備演出状態において第2インターバル演出状態への移行抽選を行う例を挙げているが、同様に、非有利演出状態において第2インターバル演出状態への移行抽選を行ってもよい。
【0733】
第2インターバル演出状態は、第1インターバル演出状態同様、所定の終了条件(例えば、40遊技の消化)を満たすまで継続し、その間、擬似ボーナス演出状態の継続抽選が実行される。かかる第2インターバル演出状態は、第1インターバル演出状態同様、擬似ボーナス演出状態と異なり、単位遊技当たりの期待獲得枚数が少なく、負の値となる場合もある。
【0734】
ただし、第2インターバル演出状態は、第1インターバル演出状態より高確率で擬似ボーナス演出状態が決定される。例えば、第1インターバル演出状態においては、40遊技間、擬似ボーナス演出状態を毎遊技1/58で決定し(当選確率50%)、第2インターバル演出状態においては、40遊技間、擬似ボーナス演出状態を毎遊技1/25で決定する(当選確率80%)。そして、所定の終了条件を満たすと、演出状態制御手段614は、演出状態を継続抽選演出状態に移行する(10)。なお、一旦、第2インターバル演出状態への移行が決定されると、その後は、継続抽選演出状態に漏れるまで、非有利演出状態、準備演出状態、第1インターバル演出状態に移行することはなく、擬似ボーナス演出状態からは第2インターバル演出状態にしか移行しない(11)。したがって、遊技者は、常に、高確率で継続抽選を受けることができる。また、一旦、第2インターバル演出状態への移行が決定されると、継続抽選演出状態において擬似ボーナス演出状態への移行が決定されなかった場合でも、演出状態制御手段614は、直ちに、演出状態を通常演出状態に戻すことなく、非有利演出状態に移行させる(12)。したがって、継続抽選演出状態において擬似ボーナス演出状態への移行が決定されなかった場合、再度、継続抽選演出状態の継続抽選に漏れるまで、擬似ボーナス演出状態→準備演出状態→第1インターバル演出状態→継続抽選演出状態の移行を繰り返すことができる。このように、一旦、第2インターバル演出状態に移行すると、高確率で、擬似ボーナス演出状態→第2インターバル演出状態→継続抽選演出状態の移行を繰り返すことができ、さらに、継続抽選演出状態において擬似ボーナス演出状態への移行が決定されなくとも、少なくとも、再度、擬似ボーナス演出状態→準備演出状態→第1インターバル演出状態→継続抽選演出状態の移行を繰り返すことができるので、遊技者は、より多くのメダルを蓄積することが可能となる。つまり、第2インターバル演出状態は、第1インターバル演出状態よりも有利な状態といえる。
【0735】
また、上記のように、演出状態制御手段614は、擬似ボーナス演出状態から第2インターバル演出状態に移行する際には、第1インターバル演出状態への移行と異なり、非有利区間に移行させることがない。本実施形態においては、擬似ボーナス演出状態が初回の擬似ボーナス演出状態であった場合、演出状態制御手段614は、第2インターバル演出状態に移行させることはなく、有利区間を、一旦、非有利区間に移行して、必ず、第1インターバル演出状態へ移行させる。そうすると、有利区間が一旦リセットされていることになる。したがって、第2インターバル演出状態へ移行する際に有利区間をリセットしなくても、第2インターバル演出状態を経由する擬似ボーナス演出状態が有利区間の制限により短期に終了することはなく、遊技者は、擬似ボーナス演出状態→第2インターバル演出状態→継続抽選演出状態のループにより、多くのメダルを得ることができる。
【0736】
以下、主制御基板500、副制御基板502における具体的処理をフローチャートに基づいて説明する。
【0737】
(主制御基板500のCPU初期化処理)
図82は、主制御基板500におけるCPU初期化処理を説明するフローチャートである。電源基板より電源が供給されると、メインCPU500aにシステムリセットが発生し、メインCPU500aは、以下のCPU初期化処理(S2000)を行う。
【0738】
(ステップS2000-1)
メインCPU500aは、電源投入に応じて、初期設定処理として、メインROM500bから起動プログラムを読み込むとともに、各種処理を実行するために必要な設定処理を行う。
【0739】
(ステップS2000-3)
メインCPU500aは、タイマカウンタにウェイト処理時間を設定する。
【0740】
(ステップS2000-5)
メインCPU500aは、電源断予告信号を検出しているかを判定する。なお、主制御基板500には、電源断検知回路が設けられており、電源電圧が所定値以下になると、電源断検知回路から電源断予告信号が出力される。電源断予告信号を検出している場合には、上記ステップS2000-3に処理を移し、電源断予告信号を検出していない場合には、ステップS2000-7に処理を移す。
【0741】
(ステップS2000-7)
メインCPU500aは、上記ステップS2000-3で設定したウェイト処理時間が経過したか否かを判定する。その結果、ウェイト処理時間が経過したと判定した場合にはステップS2000-9に処理を移し、ウェイト時間は経過していないと判定した場合には上記ステップS2000-5に処理を移す。
【0742】
(ステップS2000-9)
メインCPU500aは、メインRAM500cへのアクセスを許可するために必要な処理を実行する。
【0743】
(ステップS2000-11)
メインCPU500aは、チェックサム確認処理を実行する。ここでは、メインCPU500aは、チェックサムを算出し、算出したチェックサムが、電源断時に保存されたチェックサムと一致しない(異常である)か、ならびに、バックアップが異常であるかを判定する。そして、メインCPU500aは、バックアップおよびチェックサムのいずれか一方または双方が異常であると判定した場合、バックアップ異常フラグをオンにし、バックアップおよびチェックサムの双方が異常でないと判定した場合、バックアップ異常フラグをオフにする。
【0744】
(ステップS2000-13)
メインCPU500aは、バックアップ異常フラグがオンであるかを判定する。その結果、バックアップ異常フラグがオンであると判定した場合にはステップS2010に処理を移し、バックアップ異常フラグがオンでないと判定した場合にはステップS2020に処理を移す。
【0745】
(ステップS2010)
メインCPU500aは、コールドスタート処理を実行する。なお、このコールドスタート処理については後述する。
【0746】
(ステップS2020)
メインCPU500aは、設定値を切り替える設定値切り替え処理を実行する。なお、この設定値切り替え処理については後述する。
【0747】
(ステップS2030)
メインCPU500aは、電源断直前の状態に戻す状態復帰処理を実行する。なお、この状態復帰処理については後述する。
【0748】
図83は、主制御基板500におけるコールドスタート処理(S2010)を説明するフローチャートである。
【0749】
(ステップS2010-1)
メインCPU500aは、メインRAM500cにおける使用領域をクリアするとともに、使用領域の異常を検出する使用領域RAMチェック処理を実行する。
【0750】
(ステップS2010-3)
メインCPU500aは、メインRAM500cにおける別領域(使用外領域)をクリアするとともに、別領域の異常を検出する別領域RAMチェック処理を実行する。なお、別領域RAMチェック処理において別領域に異常が検出された場合、メインCPU500aは、RAMリードライトエラーフラグをオンにする。
【0751】
(ステップS2010-5)
メインCPU500aは、メインRAM500cの異常を示すエラーコード「EA」をセットする。
【0752】
(ステップS2010-7)
メインCPU500aは、上記ステップS2010-1において異常が検出されたかを判定する。その結果、上記ステップS2010-1において異常が検出されたと判定した場合にはステップS2011に処理を移し、上記ステップS2010-1において異常が検出されていないと判定された場合にはステップS2010-9に処理を移す。
【0753】
(ステップS2010-9)
メインCPU500aは、上記ステップS2010-3において異常が検出されたときにオンになるRAMリードライトエラーフラグを取得する。
【0754】
(ステップS2010-11)
メインCPU500aは、RAMリードライトエラーフラグがオンであるかを判定する。その結果、RAMリードライトエラーフラグがオンであると判定した場合にはステップS2011に処理を移し、RAMリードライトエラーフラグがオンでないと判定された場合にはステップS2020に処理を移す。
【0755】
(ステップS2020)
メインCPU500aは、設定値を切り替える設定値切り替え処理を実行する。なお、この設定値切り替え処理については後述する。
【0756】
(ステップS2010-13)
メインCPU500aは、バックアップエラーであることを示すエラーコード「E7」をセットする。
【0757】
(ステップS2011)
メインCPU500aは、エラーにより遊技の進行を停止させるためのエラー停止処理を実行する。なお、このエラー停止処理については後述する。
【0758】
図84は、主制御基板500におけるエラー停止処理(S2011)を説明するフローチャートである。
【0759】
(ステップS2011-1)
メインCPU500aは、スタックポインタのアドレスとして、初期スタックポインタ値をセットする。
【0760】
(ステップS2011-3)
メインCPU500aは、エラー表示および警告音設定を行うエラー設定処理を実行する。
【0761】
(ステップS2011-5)
メインCPU500aは、外部信号1~3に対応するビットの出力イメージをオフにする外部信号1~3出力ビットオフをセットする。
【0762】
(ステップS2011-7)
メインCPU500aは、上記ステップS2011-5でセットしたビットについて、出力イメージを更新する出力ポートイメージセット処理を実行する。
【0763】
(ステップS2011-9)
メインCPU500aは、永久ループに移行する。これにより、遊技の進行が停止することになる。
【0764】
図85は、主制御基板500における設定値切り替え処理(S2020)を説明するフローチャートである。
【0765】
(ステップS2020-1)
メインCPU500aは、入力ポート1の信号を取得し、取得した入力ポート1の信号に基づいて、設定値切り替え条件が成立していないかを判定する。その結果、設定値切り替え条件が成立していないと判定した場合には当該設定値切り替え処理を終了し、設定値切り替え条件が成立していると判定した場合にはステップS2020-3に処理を移す。ここで、入力ポート1の信号には、前面上扉404および前面下扉406が開放されているか否かを示す信号、および、設定キーがオンにされているか否かを示す信号が含まれる。そして、ここでは、前面上扉404および前面下扉406が開放されていていることを示す信号、ならびに、設定キーがオンにされていることを示す信号を取得した場合に、設定値切り替え条件が成立していると判定している。
【0766】
(ステップS2020-3)
メインCPU500aは、メインRAM500cにおいて設定変更時にクリアすべき使用領域をクリアするRAMクリア処理を実行する。
【0767】
(ステップS2020-5)
メインCPU500aは、設定値切り替え時データテーブルのテーブルデータをメインRAM500cに転送するテーブル内容セット処理を実行する。
【0768】
(ステップS2020-7)
メインCPU500aは、設定値の変更を開始することを示す設定変更開始コマンドを送信バッファにセットする。
【0769】
(ステップS2020-9)
メインCPU500aは、入力ポートの信号の立ち上がりエッジ(オンエッジ)、および、立ち下がりエッジ(オフエッジ)を検出するエッジチェック処理を実行する。
【0770】
(ステップS2020-11)
メインCPU500aは、現在の設定値を示す設定値データを取得する。
【0771】
(ステップS2020-13)
メインCPU500aは、上記ステップS2020-9において設定変更スイッチのオンエッジを検出していないかを判定する。その結果、設定変更スイッチのオンエッジを検出していないと判定した場合にはステップS2020-17に処理を移し、設定変更スイッチのオンエッジを検出したと判定した場合にはステップS2020-15に処理を移す。
【0772】
(ステップS2020-15)
メインCPU500aは、設定値データを1インクリメントする。
【0773】
(ステップS2020-17)
メインCPU500aは、設定値データが、設定値として設定可能な範囲(1~6)内であるかを判定する。その結果、設定値データが範囲内であると判定した場合にはステップS2020-21に処理を移し、設定値データが範囲内でないと判定した場合にはステップS2020-19に処理を移す。
【0774】
(ステップS2020-19)
メインCPU500aは、設定値データを0にセットする。
【0775】
(ステップS2020-21)
メインCPU500aは、上記ステップS2020-15または上記ステップS2020-19でインクリメントまたはセットされた値に設定値データを更新する。
【0776】
(ステップS2020-23)
メインCPU500aは、設定値をメインクレジット表示部430に表示する表示データ変換処理を実行する。
【0777】
(ステップS2020-25)
メインCPU500aは、設定変更スイッチのオンエッジを検出していないかを判定する。その結果、設定変更スイッチのオンエッジを検出していないと判定した場合にはステップS2020-31に処理を移し、設定変更スイッチのオンエッジを検出していると判定した場合にはステップS2020-27に処理を移す。
【0778】
(ステップS2020-27)
メインCPU500aは、設定変更スイッチがオンであるかを判定する。その結果、設定変更スイッチがオンであると判定した場合にはステップS2020-27に処理を移し、設定変更スイッチがオンでないと判定した場合にはステップS2020-29に処理を移す。
【0779】
(ステップS2020-29)
メインCPU500aは、設定値変更スイッチ間隔タイマをセットする。
【0780】
(ステップS2020-31)
メインCPU500aは、設定変更スイッチ間隔タイマが0になるまで待つタイマウェイト処理を実行する。
【0781】
(ステップS2020-33)
メインCPU500aは、スタートスイッチ418のオンエッジを検出していないかを判定する。その結果、スタートスイッチ418のオンエッジを検出していないと判定した場合にはステップS2020-9に処理を移し、スタートスイッチ418のオンエッジを検出していると判定した場合にはステップS2020-35に処理を移す。
【0782】
(ステップS2020-35)
メインCPU500aは、設定キーがオフであるかを判定する。その結果、設定キーがオフであると判定した場合にはステップS2020-35に処理を移し、設定キーがオフでないと判定した場合にはステップS2020-37に処理を移す。
【0783】
(ステップS2020-37)
メインCPU500aは、設定キーがオンであるかを判定する。その結果、設定キーがオンであると判定した場合にはステップS2020-37に処理を移し、設定キーがオンでないと判定した場合にはステップS2021に処理を移す。
【0784】
(ステップS2021)
メインCPU500aは、初期化スタートを開始する初期化スタート処理を実行する。なお、この初期化スタート処理については後述する。
【0785】
図86は、主制御基板500における初期化スタート処理(S2021)を説明するフローチャートである。
【0786】
(ステップS2021-1)
メインCPU500aは、設定値の変更が終了したことを示す設定変更終了コマンドを送信バッファにセットする。
【0787】
(ステップS2021-3)
メインCPU500aは、設定値の変更が終了したときの状態を示す設定変更状態コマンドを送信バッファにセットする。
【0788】
(ステップS2021-5)
メインCPU500aは、初期化スタート時ウェイトタイマをセットする。
【0789】
(ステップS2021-7)
メインCPU500aは、初期化スタート時ウェイトタイマが0になるまで待つタイマウェイト処理を実行する。
【0790】
(ステップS2021-9)
メインCPU500aは、メインRAM500cのうちの別領域をクリアする設定変更時RAMクリア処理を実行する。
【0791】
(ステップS2021-11)
メインCPU500aは、メインRAM500cにおいて設定変更時にクリアすべき使用領域をクリアするRAMクリア処理を実行する。
【0792】
(ステップS2021-13)
メインCPU500aは、現在の遊技状態を示す遊技状態コマンドを送信バッファにセットする。
【0793】
(ステップS2100)
メインCPU500aは、遊技を開始するための遊技開始処理を実行する。なお、この遊技開始処理については後述する。
【0794】
図87は、主制御基板500における状態復帰処理(S2030)を説明するフローチャートである。
【0795】
(ステップS2030-1)
メインCPU500aは、スタックポインタを復帰させる。
【0796】
(ステップS2030-3)
メインCPU500aは、メインRAM500cのうちの未使用領域をクリアする未使用領域クリア処理を実行する。
【0797】
(ステップS2030-5)
メインCPU500aは、スタックポインタ保存バッファをクリアする。
【0798】
(ステップS2030-7)
メインCPU500aは、電源断復帰後フラグを設定(オン)する。
【0799】
(ステップS2030-9)
メインCPU500aは、入力ポートのイメージを更新するポート入力処理を実行する。
【0800】
(ステップS2030-11)
メインCPU500aは、上記ステップS2030-9で更新された入力ポートのイメージに基づいて、操作対象ビットの情報を抽出する操作対象ビット抽出処理を実行する。
【0801】
(ステップS2030-13)
メインCPU500aは、上記ステップS2030-11で抽出した操作対象ビットを、前回状態の操作対象ビットとしてセットする。
【0802】
(ステップS2030-15)
メインCPU500aは、リール410a、410b、410cのモータフェーズを取得する。ここで、リール410a、410b、410cの状態として、モータフェーズが設定されている。モータフェーズは、リール410a、410b、410cの動作状態、すなわち、加速中、定常回転中、停止中、待機中を示す。具体的に、モータフェーズに割り当てられた1バイト(記憶単位)の変数が、そのステッピングモータ452の動作状態に応じて、加速中=3、定常回転中=2、停止中=1、待機中=0といった値に変化する。
【0803】
(ステップS2030-17)
メインCPU500aは、上記ステップS2030-15で取得したモータフェーズに基づいて、リール410a、410b、410cのいずれもが定常回転中および加速中でないかを判定する。その結果、リール410a、410b、410cのいずれもが定常回転中および加速中でないと判定した場合にはステップS2030-21に処理を移し、リール410a、410b、410cのいずれかが定常回転中または加速中であると判定した場合にはステップS2030-19に処理を移す。
【0804】
(ステップS2030-19)
メインCPU500aは、リール410a、410b、410cのエラー検出時の設定を行う回転エラー処理を実行する。
【0805】
(ステップS2030-21)
メインCPU500aは、退避していたレジスタ群を復帰させる。
【0806】
(ステップS2030-23)
メインCPU500aは、割込みを許可し、当該状態復帰処理を終了する。これにより、メインCPU500aは、電源断直前の状態に復帰する。
【0807】
図88は、主制御基板500における遊技開始処理(S2100)を説明するフローチャートである。
【0808】
(ステップS2100-1)
メインCPU500aは、再遊技であるか否かを示す再遊技状態識別信号を出力するための再遊技状態識別信号出力設定処理を実行する。
【0809】
(ステップS2100-3)
メインCPU500aは、メダルの投入枚数(ベット枚数)を表示する投入枚数表示器に対応するビットをオフ(消灯)するための投入枚数表示器出力ビットオフをセットする。
【0810】
(ステップS2100-5)
メインCPU500aは、上記ステップS2100-3でセットしたビットについて、出力イメージを更新する出力ポートイメージセット処理を実行する。
【0811】
(ステップS2100-7)
メインCPU500aは、遊技開始ウェイトタイマをセットする。
【0812】
(ステップS2100-9)
メインCPU500aは、遊技開始ウェイトタイマが0になるまで待つタイマウェイト処理を実行する。
【0813】
(ステップS2100-11)
メインCPU500aは、メインRAM500cにおける使用領域のうち、1遊技毎にクリアすべき領域をクリアする1遊技RAMクリア処理を実行する。
【0814】
(ステップS2100-13)
メインCPU500aは、ボーナス信号を設定するボーナス信号設定処理を実行する。
【0815】
(ステップS2100-15)
メインCPU500aは、入力ポートイメージのエッジ情報をクリアするエッジクリア処理を実行する。
【0816】
(ステップS2200)
メインCPU500aは、メダルの投入を受け付ける遊技メダル投入処理を実行する。なお、この遊技メダル投入処理については後述する。
【0817】
図89は、主制御基板500における遊技メダル投入処理(S2200)を説明するフローチャートである。
【0818】
(ステップS2200-1)
メインCPU500aは、各種エラーの検出結果の確認を行うエラー確認処理を実行する。
【0819】
(ステップS2200-3)
メインCPU500aは、入力ポートの信号の立ち上がりエッジ(オンエッジ)、および、立ち下がりエッジ(オフエッジ)を検出するエッジチェック処理を実行する。
【0820】
(ステップS2200-5)
メインCPU500aは、前面上扉404または前面下扉406が開放されているときに1が立つドア開放エラー検出フラグを取得する。
【0821】
(ステップS2200-7)
メインCPU500aは、上記ステップS2200-5で取得したドア開放エラー検出フラグに基づき、前面上扉404および前面下扉406が閉鎖されているかを判定する。その結果、前面上扉404および前面下扉406が閉鎖されていると判定した場合にはステップS2200-17に処理を移し、前面上扉404または前面下扉406の少なくとも一方が閉鎖されていないと判定した場合にはステップS2200-9に処理を移す。
【0822】
(ステップS2200-9)
メインCPU500aは、前面上扉404または前面下扉406の少なくとも一方が開放されていることを示すエラーコード「E8」をセットする。
【0823】
(ステップS2200-11)
メインCPU500aは、エラー表示、警告音の要求、ならびに、エラー復帰待ちを行うエラーウェイト処理を実行する。
【0824】
(ステップS2200-13)
メインCPU500aは、設定値を確認する設定値確認処理を実行する。
【0825】
(ステップS2200-15)
メインCPU500aは、入力ポートイメージのエッジ情報をクリアするエッジクリア処理を実行する。
【0826】
(ステップS2200-17)
メインCPU500aは、貯留(クレジット)されているメダルを払い戻すためのクレジットスイッチ(不図示)が押下されている場合に、貯留されているメダルを払い戻すクレジットボタンチェック処理を実行する。
【0827】
(ステップS2200-19)
メインCPU500aは、メダルをベットする遊技メダル投入ボタン関連処理を実行する。ここでは、ベットスイッチ416が押下された場合に、貯留(クレジット)されているメダルを規定数までベットするとともに、ベットした枚数分だけ貯留枚数を減算する。また、メダル投入口414aを通じてメダルが投入された場合、規定数までメダルをベットし、規定数よりも多くメダルが投入された場合、その分だけ貯留枚数に加算する。
【0828】
(ステップS2200-21)
メインCPU500aは、投入枚数が規定数であるかを確認する遊技メダル取得処理を実行する。
【0829】
(ステップS2200-23)
メインCPU500aは、上記ステップS2200-21の確認結果に基づき、投入枚数が規定数でないかを判定する。その結果、投入枚数が規定数でないと判定した場合にはステップS2200-1に処理を移し、投入枚数が規定数であると判定した場合にはステップS2200-25に処理を移す。
【0830】
(ステップS2200-25)
メインCPU500aは、スタートスイッチ418の操作が有効になったか否かを示すスタート表示器(不図示)をオン(点灯)するためのスタート表示器出力ビットをセットする。
【0831】
(ステップS2200-27)
メインCPU500aは、スタートスイッチ418の立ち下がりエッジ(押下)を検出していなかを判定する。その結果、スタートスイッチ418の立ち下がりエッジを検出していないと判定した場合にはステップS2200-1に処理を移し、スタートスイッチ418の立ち下がりエッジを検出していると判定した場合にはステップS2200-29に処理を移す。
【0832】
(ステップS2200-29)
メインCPU500aは、メイン払出表示部432の表示をクリアするためにメイン払出表示部バッファをクリアする。
【0833】
(ステップS2200-31)
メインCPU500aは、再遊技状態識別信号をクリアする再遊技状態識別信号クリア処理を実行する。
【0834】
(ステップS2200-33)
メインCPU500aは、スタート表示器をオフ(消灯)するためのブロッカー閉塞前処理を実行する。
【0835】
(ステップS2200-35)
メインCPU500aは、スタートスイッチ418が押下されたことを示すレバー押下コマンドを送信バッファにセットする。
【0836】
(ステップS2300)
メインCPU500aは、当選種別抽選を行う内部抽選処理を実行する。なお、この内部抽選処理については後述する。
【0837】
図90は、主制御基板500における内部抽選処理(S2300)を説明するフローチャートである。
【0838】
(ステップS2300-1)
メインCPU500aは、設定値データを取得する。
【0839】
(ステップS2300-3)
メインCPU500aは、設定値異常エラーを示すエラーコード「EC」をセットする。
【0840】
(ステップS2300-5)
メインCPU500aは、上記ステップS2300-1で取得した設定値データが異常であるかを判定する。その結果、設定値データが異常であると判定した場合にはステップS2011に処理を移し、設定値データが異常でないと判定した場合にはステップS2300-7に処理を移す。
【0841】
(ステップS2300-7)
メインCPU500aは、乱数発生器500dによって更新された当選種別抽選乱数を取得する。
【0842】
(ステップS2300-9)
メインCPU500aは、遊技状態に係るオフセット値を取得する状態オフセット取得処理を実行する。
【0843】
(ステップS2300-11)
メインCPU500aは、内部抽選エリア定義テーブル(当選種別抽選テーブル)のアドレスをセットする。
【0844】
(ステップS2300-13)
メインCPU500aは、上記ステップS2300-11でセットしたアドレスに対して、上記ステップS2300-9で取得したオフセット値を加算したアドレスに示される値を当選領域の初期値としてセットする。ここでは、現在の遊技状態の当選種別抽選テーブルにおける最初の当選領域が初期値としてセットされることになる。
【0845】
(ステップS2300-15)
メインCPU500aは、その当選領域の当選範囲を示す数値である抽選データを取得するとともに、当選領域を1ずらす抽選データ取得処理を実行する。
【0846】
(ステップS2300-17)
メインCPU500aは、当選種別抽選を行わないかを判定する。その結果、当選種別抽選を行わないと判定した場合にはステップS2300-21に処理を移し、当選種別抽選を行うと判定した場合にはステップS2300-19に処理を移す。
【0847】
(ステップS2300-19)
メインCPU500aは、乱数値から抽選データを減算する。
【0848】
(ステップS2300-21)
メインCPU500aは、上記ステップS2300-19の減算結果が負であるか、すなわち、当選種別抽選によって、その当選領域に当選しているかを判定する。その結果、当選種別抽選に当選していると判定した場合にはステップS2400に処理を移し、当選種別抽選に当選していないと判定した場合にはステップS2300-23に処理を移す。
【0849】
(ステップS2300-23)
メインCPU500aは、当選種別抽選が終了でないかを判定する。その結果、当選種別抽選が終了でないと判定した場合にはステップS2300-15に処理を移し、当選種別抽選が終了であると判定した場合にはステップS2300-25に処理を移す。
【0850】
(ステップS2300-25)
メインCPU500aは、トリガー役種別をクリアする。
【0851】
(ステップS2400)
メインCPU500aは、当選領域および遊技状態に基づいて、図柄コードを設定する図柄コード設定処理を実行する。なお、この図柄コード設定処理については後述する。
【0852】
図91は、主制御基板500における図柄コード設定処理(S2400)を説明するフローチャートである。
【0853】
(ステップS2400-1)
メインCPU500aは、上記ステップS2300で当選した当選領域を取得し、取得した当選領域にボーナス役が含まれる場合には遊技状態を内部中遊技状態に設定する遊技状態設定処理を実行する。
【0854】
(ステップS2400-3)
メインCPU500aは、上記ステップS2400-1で取得した当選領域を停止制御番号として設定する。
【0855】
(ステップS2400-5)
メインCPU500aは、上記ステップS2400-1で取得した当選領域に基づいて、当選種別を決定(設定)する。
【0856】
(ステップS2400-7)
メインCPU500aは、上記ステップS2400-3で設定した停止制御番号に基づいて、表示可能な図柄、および、引き込み対象の図柄を示す図柄コードを設定する図柄コード初期設定処理を実行する。
【0857】
(ステップS2400-9)
メインCPU500aは、表示図柄ビットを設定する表示図柄ビット初期値設定処理を実行する。
【0858】
(ステップS2400-11)
メインCPU500aは、実行フラグの設定、演出状態に関する各種処理、補助演出に関する処理等を行う実行フラグ設定処理を実行する。
【0859】
(ステップS2400-13)
メインCPU500aは、有利区間に関するコマンドである演出コマンドを送信バッファにセットする。
【0860】
(ステップS2400-15)
メインCPU500aは、当選種別を示す当選情報コマンドを送信バッファにセットする。
【0861】
(ステップS2400-17)
メインCPU500aは、1遊技間タイマを確認する。
【0862】
(ステップS2400-19)
メインCPU500aは、リール410a、410b、410cが回転前であることを示す回胴回転前コマンドを送信バッファにセットする。
【0863】
(ステップS2400-21)
メインCPU500aは、ステッピングモータ452の励磁解放を待つ励磁解放待ち処理を実行する。
【0864】
(ステップS2400-23)
メインCPU500aは、1遊技間タイマが0でないかを判定する。その結果、1遊技間タイマが0でないと判定した場合にはステップS2400-23に処理を移し、1遊技間タイマが0であると判定した場合にはステップS2400-25に処理を移す。
【0865】
(ステップS2400-25)
メインCPU500aは、リール410a、410b、410cの回転を開始させるための回胴開始処理を実行する。ここでは、リール410a、410b、410cのモータフェーズを加速中に設定して各リールの回転を開始させたり、1遊技間タイマを4.1秒に相当する値にセットしたりする。
【0866】
(ステップS2400-27)
メインCPU500aは、リール410a、410b、410cの回転が開始したことを示す回胴開始コマンドを送信バッファにセットする。
【0867】
(ステップS2500)
メインCPU500aは、リール410a、410b、410cの回転中の処理である回胴回転中処理を実行する。なお、この回胴回転中処理については後述する。
【0868】
図92は、主制御基板500における回胴回転中処理(S2500)を説明するフローチャートである。
【0869】
(ステップS2500-1)
メインCPU500aは、ストップスイッチ420a、420b、420cの表示器(不図示)に対応するビットをオフ(消灯)するために停止表示器出力ビットオフ(出力イメージ)をセットする。ここで、停止表示器出力ビットは、3ビットのビット列で構成され、各ビットがそれぞれ3つのストップスイッチ420a、420b、420cの発光色に対応付けられており、青色=1、赤色=0で表される。
【0870】
(ステップS2500-3)
メインCPU500aは、上記ステップS2500-1でセットしたビットについて、出力イメージを更新する出力ポートイメージセット処理を実行する。
【0871】
(ステップS2500-5)
メインCPU500aは、各種エラーの検出結果の確認を行うエラー確認処理を実行する。
【0872】
(ステップS2500-7)
メインCPU500aは、インデックスフラグを参照し、回転しているリール410a、410b、410cのインデックスを取得する。なお、インデックスフラグは、リール410a、410b、410cが定速回転速度に到達した後にしか立たないので、換言すれば、インデックスフラグが立っているということは、リール410a、410b、410cが定速回転速度に到達していることも示すこととなる。
【0873】
(ステップS2500-9)
メインCPU500aは、リール410a、410b、410c全てのインデックスフラグを検出済みでないかを判定する。その結果、全てのインデックスフラグを検出済みでないと判定した場合にはステップS2500-1に処理を移し、全てのインデックスフラグを検出済みであると判定した場合にはステップS2500-11に処理を移す。
【0874】
(ステップS2500-11)
メインCPU500aは、停止または停止開始しているリール410a、410b、410cを示す停止回胴ビットを取得する。ここで、停止回胴ビットは、3ビットのビット列で構成され、各ビットがそれぞれ3つのリール410a、410b、410cのいずれかに対応付けられており、定速状態=1、加速状態、減速状態または停止状態=0で表される。
【0875】
(ステップS2500-13)
メインCPU500aは、上記ステップS2500-11で取得した停止回胴ビットを回胴回転中フラグとして保存する。
【0876】
(ステップS2500-15)
メインCPU500aは、ストップスイッチ420a、420b、420cの表示器(不図示)に対応するビットをオン(消灯)するために停止表示器出力ビットオン(出力イメージ)をセットする。
【0877】
(ステップS2500-17)
メインCPU500aは、入力ポート0のイメージを取得し、取得したイメージから、操作対象ビットを抽出する操作対象ビット抽出処理を実行する。ここで、操作対象ビットは、3ビットのビット列で構成され、各ビットがそれぞれ3つのストップスイッチ420a、420b、420cのいずれかに対応付けられており、操作されている=1、操作されていない=0で表される。
【0878】
(ステップS2500-19)
メインCPU500aは、上記ステップS2500-13で取得した回胴回転中フラグと、上記ステップS2500-17で抽出した操作対象ビットとの論理積を演算する。ここで、リール410が回転中であり、かつ、そのリールに対応するストップスイッチ420が操作されていれば、すなわち、操作したストップスイッチ420が有効に回転しているリール410に対応していれば、論理積は1となる。
【0879】
(ステップS2500-21)
メインCPU500aは、上記ステップS2500-19で演算した論理積が0である、すなわち、回転しているリール410に対応したストップスイッチ420が操作されていないかを判定する。その結果、回転しているリール410に対応したストップスイッチ420が操作されていないと判定した場合にはステップS2500-3に処理を移し、回転しているリール410に対応したストップスイッチ420が操作されていると判定した場合にはステップS2500-23に処理を移す。
【0880】
(ステップS2500-23)
メインCPU500aは、停止表示器出力ビットが含まれる出力イメージを取得し、取得した出力イメージと、上記ステップS2500-19で演算した論理積との論理積を演算する。ここでは、操作されたストップスイッチ420が、赤色点灯中である場合に論理積のビットが0となり、青色点灯中である場合に論理積のビットが1となる。
【0881】
(ステップS2500-25)
メインCPU500aは、上記ステップS2500-23で演算した論理積が0であるか、すなわち、操作されたストップスイッチ420が赤色点灯中であるかを判定する。その結果、操作されたストップスイッチ420が赤色点灯中であると判定した場合にはステップS2500-1に処理を移し、操作されたストップスイッチ420が赤色点灯中でないと判定した場合にはステップS2500-27に処理を移す。
【0882】
(ステップS2500-27)
メインCPU500aは、操作されたストップスイッチ420が有効でないかを判定する。その結果、操作されたストップスイッチ420が有効でないと判定した場合にはステップS2500-1に処理を移し、操作されたストップスイッチ420が有効であると判定した場合にはステップS2500-29に処理を移す。なお、ここでは、操作されたストップスイッチ420が1つであるか否かを判定している。そして、操作されたストップスイッチ420が1つであると判定した場合にはステップS2500-29に処理を移し、操作されたストップスイッチ420が1つでない、すなわち、2つ以上であると判定した場合にはステップS2500-1に処理を移す。
【0883】
(ステップS2500-29)
メインCPU500aは、操作されたストップスイッチ420に対応するリール410を停止させるための各種パラメータを取得する停止制御回胴設定処理を実行する。
【0884】
(ステップS2500-31)
メインCPU500aは、割込みを禁止する。
【0885】
(ステップS2500-33)
メインCPU500aは、有効ラインA上に位置する図柄の図柄番号を押下基準位置として導出する押下基準位置取得処理を実行する。
【0886】
(ステップS2500-35)
メインCPU500aは、リール410の滑りコマ数を決定する滑りコマ数取得処理を実行する。
【0887】
(ステップS2600)
メインCPU500aは、操作されたストップスイッチ420に対応するリール410を停止させる回胴停止処理を実行する。なお、この回胴停止処理については後述する。
【0888】
図93は、主制御基板500における回胴停止処理(S2600)を説明するフローチャートである。
【0889】
(ステップS2600-1)
メインCPU500aは、上記ステップS2500-35で導出した押下基準位置を取得する。
【0890】
(ステップS2600-3)
メインCPU500aは、上記ステップS2600-1で取得した押下基準位置に対して、上記ステップS2500-37で決定した滑りコマ数を補正することにより、停止要求番号を算定する。
【0891】
(ステップS2600-5)
メインCPU500aは、停止要求フラグを設定する(1にする)。停止要求フラグは、並行して動作するプログラムに対し、対象となるリール410の停止処理を要求するためのフラグであり、停止要求フラグを1とすることで、停止要求番号に対応する図柄を有効ラインA上に停止することが可能となる。かかる停止要求フラグおよび上記の停止要求番号は、並行して動作するプログラムにより読み出され、リール410の停止処理が行われる。なお、停止処理が完了すると、そのプログラムによって、停止要求フラグは0(OFF)にリセットされる。
【0892】
(ステップS2600-7)
メインCPU500aは、割込みを許可する。
【0893】
(ステップS2600-9)
メインCPU500aは、リール410の停止順序を示す停止情報コマンドを送信バッファにセットする。
【0894】
(ステップS2600-11)
メインCPU500aは、ストップスイッチ420の表示器(不図示)に対応するビットをオフ(消灯)するために停止表示器出力ビットオフ(出力イメージ)をセットする。
【0895】
(ステップS2600-13)
メインCPU500aは、上記ステップS2600-11でセットしたビットについて、出力イメージを更新する出力ポートイメージセット処理を実行する。
【0896】
(ステップS2600-15)
メインCPU500aは、表示図柄ビットを設定する表示図柄ビット設定処理を実行する。
【0897】
(ステップS2600-17)
メインCPU500aは、次のリール410を停止させるための次回胴設定前処理を実行する。
【0898】
(ステップS2600-19)
メインCPU500aは、全てのリール410の停止処理が終了済みでないかを判定する。その結果、全てのリール410の停止処理が終了済みでないと判定した場合にはステップS2500に処理を移し、全てのリール410の停止処理が終了済みであると判定した場合にはステップS2600-21に処理を移す。
【0899】
(ステップS2600-21)
メインCPU500aは、いずれかのリール410について停止要求フラグがオンである、すなわち、全てのリール410が停止済みでないかを判定する。その結果、全てのリール410が停止済みでないと判定した場合にはステップS2600-21に処理を移し、全てのリール410が停止済みであると判定した場合にはステップS2600-23に処理を移す。
【0900】
(ステップS2600-23)
メインCPU500aは、各種エラーの検出結果の確認を行うエラー確認処理を実行する。
【0901】
(ステップS2600-25)
メインCPU500aは、操作対象ビットの情報を抽出する操作対象ビット抽出処理を実行する。
【0902】
(ステップS2600-27)
メインCPU500aは、上記ステップS2600-25で取得した操作対象ビットに基づいて、ストップスイッチ420が押下されているかを判定する。その結果、ストップスイッチ420が押下されていると判定した場合にはステップS2600-23に処理を移し、ストップスイッチ420が押下されていないと判定した場合にはステップS2700に処理を移す。
【0903】
(ステップS2700)
メインCPU500aは、入賞した当選役を判定する表示判定処理を実行する。なお、この表示判定処理については後述する。
【0904】
図94は、主制御基板500における表示判定処理(S2700)を説明するフローチャートである。
【0905】
(ステップS2700-1)
メインCPU500aは、メイン払出表示部432のバッファをクリアする。
【0906】
(ステップS2700-3)
メインCPU500aは、有効ラインA上に表示された図柄組み合わせと、有効ラインA上に表示許可された図柄組み合わせとが一致するか否かによって、表示判定異常が発生しているかを判定する表示判定異常検出処理を実行する。
【0907】
(ステップS2700-5)
メインCPU500aは、表示判定異常(エラー)であることを示すエラーコード「EE」をセットする。
【0908】
(ステップS2700-7)
メインCPU500aは、上記ステップS2700-3の判定結果に基づき、表示判定異常であるかを判定する。その結果、表示判定異常であると判定した場合にはステップS2011に処理を移し、表示判定異常でないと判定した場合にはステップS2700-9に処理を移す。
【0909】
(ステップS2700-9)
メインCPU500aは、有効ラインA上に停止(表示)された図柄組み合わせに基づいて、入賞した当選役を決定する表示図柄識別生成処理を実行する。
【0910】
(ステップS2700-11)
メインCPU500aは、払出枚数の初期値として0をセットする。
【0911】
(ステップS2700-13)
メインCPU500aは、小役が入賞したかを判定する。その結果、小役が入賞したと判定した場合にはステップS2700-15に処理を移し、小役が入賞していないと判定した場合にはステップS2700-35に処理を移す。
【0912】
(ステップS2700-15)
メインCPU500aは、小役が入賞したことを示す入賞フラグをオンにする。
【0913】
(ステップS2700-17)
メインCPU500aは、入賞した小役に応じた払出枚数を設定する払出枚数設定処理を実行する。
【0914】
(ステップS2700-19)
メインCPU500aは、有利区間でないかを判定する。その結果、有利区間でないと判定した場合にはステップS2800に処理を移し、有利区間であると判定した場合にはステップS2700-21に処理を移す。
【0915】
(ステップS2700-21)
メインCPU500aは、有利区間中の純増枚数をカウントする有利区間MYカウンタの値を取得する。
【0916】
(ステップS2700-23)
メインCPU500aは、上記ステップS2700-23で取得した有利区間MYカウンタの値に払出枚数を加算する。
【0917】
(ステップS2700-25)
メインCPU500aは、当該遊技の投入枚数を取得する。
【0918】
(ステップS2700-27)
メインCPU500aは、上記ステップS2700-23で加算した値から投入枚数を減算する。
【0919】
(ステップS2700-29)
メインCPU500aは、上記ステップS2700-27の減算結果が負でないかを判定する。その結果、減算結果が負でないと判定した場合にはステップS2700-33に処理を移し、減算結果が負であると判定した場合にはステップS2700-31に処理を移す。
【0920】
(ステップS2700-31)
メインCPU500aは、有利区間MYカウンタの値をクリアする(0にする)。
【0921】
(ステップS2700-33)
メインCPU500aは、上記ステップS2700-27で減算した値、または、上記ステップS2700-31でクリアした値に、有利区間MYカウンタの値を更新する。
【0922】
(ステップS2700-35)
メインCPU500aは、リプレイ役が入賞していなかを判定する。その結果、リプレイ役が入賞していないと判定した場合にはステップS2800に処理を移し、リプレイ役が入賞していると判定した場合にはステップS2700-37に処理を移す。
【0923】
(ステップS2700-37)
メインCPU500aは、払出枚数に投入枚数をセットする。
【0924】
(ステップS2700-39)
メインCPU500aは、再遊技作動中フラグをオンにする。
【0925】
(ステップS2700-41)
メインCPU500aは、自動投入枚数をセットする。
【0926】
(ステップS2800)
メインCPU500aは、メダルを払い出す払出処理を実行する。なお、この払出処理については後述する。
【0927】
図95は、主制御基板500における払出処理(S2800)を説明するフローチャートである。
【0928】
(ステップS2800-1)
メインCPU500aは、再遊技作動中フラグを取得する。
【0929】
(ステップS2800-3)
メインCPU500aは、メダルの払い出しが開始されたことを示す払出開始コマンドを送信バッファにセットする。
【0930】
(ステップS2800-5)
メインCPU500aは、上記ステップS2800-1で取得した再遊技作動中フラグに基づいて、リプレイ役が入賞したかを判定する。その結果、リプレイ役が入賞したと判定した場合にはステップS2800-41に処理を移し、リプレイ役が入賞していないと判定した場合にはステップS2800-7に処理を移す。
【0931】
(ステップS2800-7)
メインCPU500aは、メイン払出表示部432に0を表示するためのメイン表示器表示処理を実行する。
【0932】
(ステップS2800-9)
メインCPU500aは、払い出しがない(払出枚数が0枚)を判定する。その結果、払い出しがないと判定した場合にはステップS2800-35に処理を移し、払い出しがあると判定した場合にはステップS2800-11に処理を移す。
【0933】
(ステップS2800-11)
メインCPU500aは、貯留枚数が50枚以上であるかを判定する。その結果、貯留枚数が50枚以上であると判定した場合にはステップS2800-13に処理を移し、貯留枚数が50枚以上でないと判定した場合にはステップS2800-15に処理を移す。
【0934】
(ステップS2800-13)
メインCPU500aは、メダル払出装置442からメダルを1枚払い出させるメダル払出装置制御処理を実行し、ステップS2800-23に処理を移す。
【0935】
(ステップS2800-15)
メインCPU500aは、払出開始間隔タイマをセットする。
【0936】
(ステップS2800-17)
メインCPU500aは、払出開始タイマが0でない、すなわち、初回払出時であるかを判定する。その結果、初回払出時であると判定した場合にはステップS2800-21に処理を移し、初回払出時でないと判定した場合にはステップS2800-19に処理を移す。
【0937】
(ステップS2800-19)
メインCPU500aは、払出開始間隔タイマが0になるまで待つタイマウェイト処理を実行する。
【0938】
(ステップS2800-21)
メインCPU500aは、貯留枚数を1インクリメントする。
【0939】
(ステップS2800-23)
メインCPU500aは、1枚のメダルが払い出されたことを示す払出実行コマンドを送信バッファにセットする。
【0940】
(ステップS2800-25)
メインCPU500aは、既に払い出された払出枚数をメイン払出表示部432に表示するためのメイン表示器表示前処理を実行する。
【0941】
(ステップS2800-27)
メインCPU500aは、ボーナス遊技状態でないかを判定する。その結果、ボーナス遊技状態でないと判定した場合にはステップS2800-31に処理を移し、ボーナス遊技状態であると判定した場合にはステップS2800-29に処理を移す。
【0942】
(ステップS2800-29)
メインCPU500aは、ボーナス遊技状態において払い出されたメダルの枚数であるボーナス作動中獲得枚数を1インクリメントする。
【0943】
(ステップS2800-31)
メインCPU500aは、払出枚数のメダルの払い出しが終了していないかを判定する。その結果、払い出しが終了していないと判定した場合にはステップS2800-11に処理を移し、払い出しが終了していると判定した場合にはステップS2800-33に処理を移す。
【0944】
(ステップS2800-33)
メインCPU500aは、メダルの払い出しを終了するための払出終了処理を実行する。
【0945】
(ステップS2800-35)
メインCPU500aは、オーバーエラーが検出されていないかを判定する。その結果、オーバーエラーが検出されていないと判定した場合にはステップS2800-41に処理を移し、オーバーエラーが検出されていると判定した場合にはステップS2800-37に処理を移す。
【0946】
(ステップS2800-37)
メインCPU500aは、オーバーエラーを示すエラーコード「E5」をセットする。
【0947】
(ステップS2800-39)
メインCPU500aは、エラー表示、警告音の要求、ならびに、エラー復帰待ちを行うエラーウェイト処理を実行する。
【0948】
(ステップS2800-41)
メインCPU500aは、メダルの払い出しが終了したことを示す払出終了コマンドを送信バッファにセットする。
【0949】
(ステップS2900)
メインCPU500aは、遊技状態の移行、有利区間を管理する処理等を行う遊技移行処理を実行する。なお、この遊技移行処理については後述する。
【0950】
図96は、主制御基板500における遊技移行処理(S2900)を説明するフローチャートである。
【0951】
(ステップS2900-1)
メインCPU500aは、再遊技作動中フラグを取得し、取得した再遊技作動中フラグに基づいて、次遊技が再遊技であることを示すリプレイ表示器(不図示)に対応するビットをオンまたはオフするために停止表示器出力ビットオフ(出力イメージ)をセットし、セットした出力イメージの出力ビットを更新するリプレイ表示器制御処理を実行する。
【0952】
(ステップS2900-3)
メインCPU500aは、ボーナス役が入賞した場合に、ボーナス遊技状態を制御するための各種パラメータを設定する役物作動図柄表示処理を実行する。
【0953】
(ステップS2900-5)
メインCPU500aは、ボーナス遊技状態において、ボーナス作動中獲得枚数が所定枚数に到達した場合に、遊技状態を非内部遊技状態に移行させるボーナス作動終了処理を実行する。
【0954】
(ステップS2900-7)
メインCPU500aは、有利区間を管理する有利区間更新処理を実行する。
【0955】
(ステップS2900-9)
メインCPU500aは、次遊技がAT演出状態でないかを判定する。その結果、次遊技がAT演出状態でないと判定した場合にはステップS2900-15に処理を移し、次遊技がAT演出状態であると判定した場合にはステップS2900-11に処理を移す。
【0956】
(ステップS2900-11)
メインCPU500aは、ボーナス遊技状態でないかを判定する。その結果、ボーナス遊技状態でないと判定した場合にはステップS2900-15に処理を移し、ボーナス遊技状態であると判定した場合にはステップS2900-13に処理を移す。
【0957】
(ステップS2900-13)
メインCPU500aは、区間表示器160を点灯させるための有利ランプフラグをオンにセットする。
【0958】
(ステップS2900-15)
メインCPU500aは、有利区間に関するコマンドである演出コマンドを送信バッファにセットする演出コマンド設定処理を実行する。
【0959】
(ステップS2900-17)
メインCPU500aは、1遊技が終了したことを示す遊技終了コマンドを送信バッファにセットする。
【0960】
(ステップS2900-19)
メインCPU500aは、外部信号を出力するための端子板信号出力処理を実行する。
【0961】
(ステップS2900-21)
メインCPU500aは、上記ステップS2900-7において有利区間を終了させるときに設定される演出用ウェイトタイマが0でないかを判定する。その結果、演出用ウェイトタイマが0でないと判定した場合にはステップS2900-21に処理を移し、演出用ウェイトタイマが0であると判定した場合にはステップS2900-23に処理を移す。
【0962】
(ステップS2900-23)
メインCPU500aは、遊技状態を示す遊技状態コマンドを送信バッファにセットする。
【0963】
(ステップS2900-25)
メインCPU500aは、次遊技の開始を示す遊技開始コマンドを送信バッファにセットし、ステップS2100に処理を移す。
【0964】
ステップS2100からステップS2900までの一連の処理を通じて1遊技が実行される。以後は、ステップS2100からステップS2900までを繰り返すこととなる。
【0965】
次に、主制御基板500における電源断時退避処理およびタイマ割込み処理について説明する。
【0966】
(主制御基板500の電源断時退避処理)
図97は、主制御基板500における電源断時退避処理を説明するフローチャートである。メインCPU500aは、電源断検知回路を監視しており、電源電圧が所定値以下になると、割り込んで電源断時退避処理を実行する。
【0967】
(ステップS3000-1)
電源断予告信号が入力されると、メインCPU500aは、レジスタを退避する。
【0968】
(ステップS3000-3)
メインCPU500aは、電源断予告信号をチェックする。
【0969】
(ステップS3000-5)
メインCPU500aは、電源断予告信号を検出しているかを判定する。その結果、電源断予告信号を検出していると判定した場合にはステップS3000-11に処理を移し、電源断予告信号を検出していないと判定した場合にはステップS3000-7に処理を移す。
【0970】
(ステップS3000-7)
メインCPU500aは、レジスタを復帰させる。
【0971】
(ステップS3000-9)
メインCPU500aは、割込みを許可するための処理を行い、当該電源断時退避処理を終了する。
【0972】
(ステップS3000-11)
メインCPU500aは、出力ポートの出力を停止する出力ポートクリア処理を実行する。
【0973】
(ステップS3000-13)
メインCPU500aは、別領域についての電源断時の退避処理を実行する。
【0974】
(ステップS3000-15)
メインCPU500aは、メインRAM300cへのアクセスを禁止するために必要なRAMプロテクト設定処理を実行する。
【0975】
(ステップS3000-17)
メインCPU500aは、電源断発生監視時間を設定すべく、ループカウンタのカウンタ値に所定の電源断検出信号検出回数をセットする。
【0976】
(ステップS3000-19)
メインCPU500aは、上記ステップS3000-17でセットしたループカウンタの値を1減算する。
【0977】
(ステップS3000-21)
メインCPU500aは、ループカウンタのカウンタ値が0でないかを判定する。その結果、カウンタ値が0ではないと判定した場合にはステップS3000-19に処理を移し、カウンタ値が0であると判定した場合には上記したCPU初期化処理(ステップS1000)に移行する。
【0978】
なお、実際に電源断が生じた場合には、ステップS3000-19~ステップS3000-21をループしている間にスロットマシン400の稼働が停止する。
【0979】
(主制御基板500のタイマ割込み処理)
図98は、主制御基板500におけるタイマ割込み処理を説明するフローチャートである。主制御基板500には、所定の周期(同時回し参考例では1.49ミリ秒、以下「1.49ms」という)毎にクロックパルスを発生させるリセット用クロックパルス発生回路が設けられている。そして、リセット用クロックパルス発生回路によって、クロックパルスが発生すると、割り込んで、以下のタイマ割込み処理が実行される。
【0980】
(ステップS3100-1)
メインCPU500aは、レジスタを退避する。
【0981】
(ステップS3100-3)
メインCPU500aは、割込みフラグをクリアする。
【0982】
(ステップS3100-5)
メインCPU500aは、各種の入力ポートイメージを読み込み、最新のスイッチ状態を正確に取得するためのポート入力処理を実行する。
【0983】
(ステップS3100-7)
メインCPU500aは、セットされた出力イメージを出力ポートに出力し、メインクレジット表示部430、メイン払出表示部432、投入枚数表示器、スタート表示器、ストップスイッチ420a、420b、420cの表示器、リプレイ表示器、区間表示器160を点灯制御するダイナミックポート出力処理を実行する。
【0984】
(ステップS3100-9)
メインCPU500aは、タイマ割込み用フェーズを更新する。なお、タイマ割込み用フェーズは、0~3のいずれかであり、ここでは、タイマ割込み用フェーズが0、1、2の場合には1加算され、タイマ割込み用フェーズが3の場合には0に変更される。
【0985】
(ステップS3100-11)
メインCPU500aは、送信バッファに格納されたコマンドを副制御基板502に送信するためのサブコマンド送信処理を行う。
【0986】
(ステップS3100-13)
メインCPU500aは、ステッピングモータ452を制御するステッピングモータ制御処理を実行する。
【0987】
(ステップS3100-15)
メインCPU500aは、メダル払出装置442へ出力する出力イメージを出力する出力ポートイメージ出力処理を実行する。
【0988】
(ステップS3100-17)
メインCPU500aは、各種乱数を更新する乱数更新処理を実行する。
【0989】
(ステップS3100-19)
メインCPU500aは、エラーに対応する外部信号(外部信号4、5)を外部に出力するためにエラーを検出する不正監視処理を実行する。
【0990】
(ステップS3100-21)
メインCPU500aは、上記ステップS3100-9で更新したタイマ割込み処理用フェーズに対応するモジュール(サブルーチン)を実行する。ここで、タイマ割込み処理用フェーズは0~3のいずれかに設定されており、タイマ割込み処理用フェーズ0~3それぞれに対応するモジュールが1つずつ設けられているため(合計4つ)、1つのモジュールは、タイマ割込み処理の4回に1回(5.96ms毎に)実行されることになる。例えば、各種タイマを減算する時間監視処理を実行するモジュールが1つのタイマ割込み処理用フェーズに対応付けられている。
【0991】
(ステップS3100-23)
メインCPU500aは、試験信号を外部に出力する試験信号出力処理を実行する。
【0992】
(ステップS3100-25)
メインCPU500aは、各種の入力ポートイメージを読み込み、最新のスイッチ状態を正確に取得するためのポート入力処理を実行する。
【0993】
(ステップS3100-27)
メインCPU500aは、レジスタを復帰する。
【0994】
(ステップS3100-29)
メインCPU300aは、割込みを許可し、当該タイマ割込み処理を終了する。
【0995】
また、上述した実施形態では、主制御基板500と副制御基板502とが、遊技を進行するための機能部を分担するように配したが、主制御基板500の機能部を副制御基板502に配しても、副制御基板502の機能部を主制御基板500に配してもよく、また、全ての機能部を1の制御基板に纏めて配することもできる。
【0996】
また、上述した実施形態では、AT演出状態が1種類のみ設けられるようにしたが、例えば、AT演出状態の継続遊技数の上乗せ特化ゾーンなど、複数種類のAT演出状態が設けられるようにしてもよい。
【0997】
また、上記した実施形態では、遊技価値としてのメダルを用いて遊技を行うようにしたが、遊技価値は電気的な情報であってもよい(所謂メダルレスであってもよい)。この場合、当選役が入賞したときに、当選役に対応する価値量を遊技者に電気的な情報で付与すればよい。
【0998】
また、上述した主制御基板500および副制御基板502が行う各処理は、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいはサブルーチンによる処理を含んでもよい。
【0999】
また、上述した主制御基板500および副制御基板502が行う各処理は、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいはサブルーチンによる処理を含んでもよい。
【1000】
<主制御基板のCPU周辺の構成>
図99は、メインCPU300a周辺の電気的な接続を説明するための図である。メインCPU300aは、CPUコア700とバスコントローラ702とを含む。CPUコア700は、BC端子から出力されるバス制御信号(Bus Cont)を通じてバスコントローラ702を制御し、メインROM300b、メインRAM300c、もしくは、入出力部704からデータを読み出し、または、メインRAM300cにデータを書き込む。なお、ここでは、CPU300aとして、Z80系CPUをベースとするエルイーテック(LETech)社が販売するマイクロプロセッサを用いている。なお、ここでは、パチンコ機のメインCPU300a、メイン、ROM300b、メインRAM300cを挙げて説明するが、スロットマシン400のメインCPU500a、メイン、ROM500b、メインRAM500cに置き換え可能なのは言うまでもない。
【1001】
例えば、メインROM300b、メインRAM300c、または、入出力部704からデータを読み出す場合、バスコントローラ702は、16ビットのアドレス(A[16])信号を出力し、デコーダ706a、706b、706cを通じてメインROM300b、メインRAM300c、または、入出力部704のいずれかを特定するとともに、リード(RD)信号を制御して、メインROM300b、メインRAM300c、または、入出力部704からデータ(D[8])信号を読み出す。また、メインRAM300c、または、入出力部704にデータを書き込む場合、バスコントローラ702は、アドレス(A[16])信号およびデータ(D[8])信号を出力し、デコーダ706b、706cを通じてメインRAM300c、または、入出力部704のいずれかを特定するとともに、ライト(WR)信号を制御して、メインRAM300c、または、入出力部704にデータ(D[8])信号を書き込む。
【1002】
ここでは、後述するように、入出力部704のアドレス空間を、メインROM300bおよびメインRAM300cのアドレス空間と一体化している。したがって、従来、メモリとI/Oのいずれをアクセスするかを特定するための信号を出力するメモリリクエスト(MREQ)端子およびI/Oリクエスト(IORQ)端子を設けていない。かかる2端子を任意の他の信号に割り当て直すことで、プログラム開発の自由度を高めることができる。
【1003】
また、CPUコア700には、割込処理の開始トリガとなる割り込み/待ち(INT/WAIT)信号、最優先で割込処理を実行できるマスク不可割込(NMI)信号、バス信号をハイインピーダンスに遷移可能なバスリクエスト(BUSREQ)信号等の外部信号も入力される。
【1004】
図100は、CPUコア700の内部構成を示したブロック図である。CPUコア700は、外部入力ユニット710、状態制御ユニット712、中央制御ユニット714、レジスタユニット716、算術論理演算装置(ALU)718を含む。外部入力ユニット710は、外部信号を受信し、その外部信号に基づいた制御情報を状態制御ユニット712および中央制御ユニット714に出力する。
【1005】
状態制御ユニット712は、内部状態(RESET、命令フェッチ、命令デコード、演算、メモリロード、メモリストア、HALT等)を管理および遷移させてCPUコア700の動作状態を決定するとともに、その内部状態に基づいた制御情報を中央制御ユニット714に出力する。
【1006】
中央制御ユニット714は、バスコントローラ702を経由して入力された入力データ(DI[8])からオペコード(命令)を抽出し、命令デコーダによってデコードしたコマンドに基づいてALU718を制御する。また、中央制御ユニット714は、デコードしたコマンドによりレジスタユニット716の各レジスタから必要な情報を取得したり、各レジスタを更新したりする。
【1007】
レジスタユニット716は、セレクタポート722a、722b、722c、入力側バンクセレクタ724、第1レジスタバンク726、第2レジスタバンク728、出力側バンクセレクタ730、アドレスポート732、個別レジスタ734を含む。なお、個別レジスタ734には、次に実行すべきプログラムのアドレスを示す16ビットのプログラムカウンタ(PC)、割込モード時に使用される8ビットのインタラプト(I)レジスタ、オペコードフェッチサイクルを計数する8ビットのリフレッシュ(R)レジスタ、割込の許可/禁止を制御する8ビットの割込許可(IFF)レジスタが含まれる。
【1008】
また、レジスタユニット716には、大役抽選に係る種々の乱数値(大当たり決定乱数、当たり図柄乱数、リーチグループ決定乱数、リーチモード決定乱数、変動パターン乱数、当たり決定乱数)を取得するための乱数発生器(図示せず)が対応付け、入力ポート(FE73h~FE9Ch)を介してラッチされた乱数値が取得される。
【1009】
乱数発生器は、システムクロック(外部入力を2分周したクロック)で動作し、所定の最大値未満の乱数を発生する。なお、乱数発生器は、乱数の最大値を設定可能な乱数発生器である最大値設定乱数発生器として、16ビットの最大値を設定可能な乱数発生が4チャンネル、8ビットの最大値を設定可能な乱数発生が8チャンネル準備されている。ここで、16ビットの最大値設定乱数発生器は、乱数更新周期が32~47クロックの範囲で選択でき、最大値の設定範囲が256~65535の範囲で設定できる。また、8ビットの最大値設定乱数発生器は、乱数更新周期が16~31クロックの範囲で選択でき、最大値の設定範囲が4チャンネルで16~255の範囲で設定でき、他の4チャンネルで64~255の範囲で設定できる。また、乱数の最大値が固定された乱数発生器である最大値固定乱数発生器として、16ビットの最大値を設定可能な乱数発生が4チャンネル、8ビットの最大値を設定可能な乱数発生が8チャンネル準備されている。ここで、16ビットの最大値固定乱数発生器は、乱数更新周期が1クロックに、最大値が65535に固定されている。また、8ビットの最大値固定乱数発生器は、乱数更新周期が1クロックに、最大値が255に固定されている。
【1010】
なお、乱数の種類が足りない場合、ハードウェア乱数生成部(乱数発生器)から取得した乱数値に、プログラム内において所定の数値を乗じ、また、除算することで他の乱数を生成する(ソフトウェア乱数生成部)ことも可能である。
【1011】
図101は、レジスタの構成を説明した図である。第1レジスタバンク726および第2レジスタバンク728は、いずれも、8ビットのレジスタ(Q、U、A、F、B、C、D、E、H、L)と、16ビットのレジスタ(IX、IY、SP)が設けられる。また、第1レジスタバンク726および第2レジスタバンク728のレジスタには、表レジスタと、裏レジスタとがある。CPU300a、500aは、Fレジスタにおけるレジスタバンク指定レジスタRBの示すレジスタバンクの表レジスタのみにアクセスでき、裏レジスタにはアクセスできない。
【1012】
図101に示すレジスタのうち、Qレジスタは、遊技機用拡張仕様の8ビット専用レジスタである。かかるQレジスタはF0h固定で、F000h~F0FFhのメインRAM300cのアクセスに利用する。Uレジスタは、遊技機用拡張仕様の8ビット専用レジスタである。かかるUレジスタはFEh固定で、FE00h~FEFFhの入出力部704に接続された内蔵デバイス(タイマ、乱数発生器、乗算器、除算器、外部入出力回路等)へのアクセスに利用する。なお、当該入出力部704に接続された乗算器は、16ビット×16ビットの乗算を実行可能であり、除算器は、32ビット÷32ビットの除算(32ビット除算器)が可能である。Aレジスタは、演算処理やデータ転送に使う8ビットのアキュムレータである。Fレジスタは、各種演算結果を保持する8ビットのフラグレジスタである。ここで、Fレジスタの各ビットは、
図101に示すように、最上位ビット(MSB:Most Significant Bit)から最下位ビット(LSB:Least Significant Bit)にかけて、Sは、演算結果が負のとき1にセットされるサインフラグであり、Zは、演算の結果、全ビットが0のとき1にセットされるゼロフラグ(第1ゼロフラグ)であり、TZは、データ転送命令(LD;ロード)の実行により、全ビットが0のとき1にセットされる(値の変わる)遊技機用拡張仕様の特定ビットフラグ(第2ゼロフラグ)であり、ティーゼットフラグと呼ぶ場合もある。Hは、プログラマーが関与できないハーフキャリーフラグであり、RBは、現在のレジスタバンク(第1レジスタバンク726=0、第2レジスタバンク728=1)を示すレジスタバンクモニタであり、P/Vは、パリティオーバーフローフラグであり、Nは、プログラマーが関与できない加減算フラグであり、Cは、演算の結果、桁上げまたはボロー発生時に1がセットされるキャリーフラグである。なお、Fレジスタは、AレジスタとペアレジスタAFを構成する。
【1013】
また、Bレジスタ、Cレジスタ、Dレジスタ、Eレジスタ、Hレジスタ、Lレジスタは、8ビットの汎用レジスタであり、それぞれ予め組合せが定められている16ビットのペアレジスタBC、DE、HLを構成する。IXレジスタ、IYレジスタは、インデックスアドレッシング用16ビット専用レジスタである。SP(スタックポインタ)レジスタは、16ビットであり、スタックポインタとなるアドレスを格納する。Q’レジスタ、A’レジスタ、F’レジスタ、B’レジスタ、C’レジスタ、D’レジスタ、E’レジスタ、H’レジスタ、L’レジスタ、IX’レジスタ、IY’レジスタは、Qレジスタ、Aレジスタ、Fレジスタ、Bレジスタ、Cレジスタ、Dレジスタ、Eレジスタ、Hレジスタ、Lレジスタ、IXレジスタ、IYレジスタの表レジスタとの交換命令によりデータ(内容)交換可能な裏レジスタであり、A’レジスタとF’レジスタでペアレジスタAF’を構成し、B’レジスタとC’レジスタでペアレジスタBC’を構成し、D’レジスタとE’レジスタでペアレジスタDE’を構成し、H’レジスタとL’レジスタでペアレジスタHL’を構成する。裏レジスタは、表レジスタと、入れ替え命令などによって互いにどちらかのレジスタを選択して入れ替えて使用することができる。一方、レジスタU、レジスタSPについては、裏レジスタを持たない単一のレジスタである。このように、裏レジスタは、割込処理の発生時に表レジスタのスタック領域として機能する。
【1014】
ところで、上述したように、主制御基板300、500においては、メインCPU300aが、メインROM300bに格納されたプログラムに基づきメインRAM300cと協働して遊技の進行を制御する。これらの機能部を実行するためのプログラムは、メインROM300bおよびメインRAM300cの所定の領域(使用領域)に配される。
【1015】
図102は、メモリマップを示す説明図である。なお、パチンコ機におけるメモリマップについては、
図5を用いて既に説明されているので、ここでは、スロットマシン400のメモリマップを挙げて説明する。メインROM500bには、0000h~3FFFh(12kbyte)のメモリ空間が割り当てられ、メインRAM500cには、F000h~F3FFh(1kbyte)のメモリ空間が割り当てられ、入出力部704には、FE00h~FEFFh(256byte)のメモリ空間が割り当てられている。なお、プログラムの命令コードはアセンブラ言語で記述されている。ここで、プログラムは、命令コードで構成されたものであり、コンピュータに読み出され、データやワークエリアと協働して所定の処理を実現することができる。
【1016】
メインROM500bの0000h~1DF3hのメモリ空間には使用領域が割り当てられている。使用領域は、遊技の進行を制御する遊技制御処理を実行するためのプログラムやデータを格納する領域である。具体的に、0000h~11FFh(4.5kbyte)に制限されたメモリ空間(制御領域)に、初期化手段600、ベット手段602、当選種別抽選手段604、リール制御手段606、判定手段608、払出制御手段610、遊技状態制御手段612、演出状態制御手段614、コマンド送信手段616を機能させて遊技の進行を制御する遊技制御処理を実行するためのプログラムの命令コードが格納され、1200h~1DF3h(3.0kbyte)に制限されたメモリ空間(データ領域)に、遊技制御処理のプログラムに用いられるデータが格納されている。また、1E00h~1FFFhのメモリ空間にはコメント領域が割り当てられ、3FC0h~3FFFhのメモリ空間にはプログラム管理領域が割り当てられている。また、2000h~3FBFhのメモリ空間には別領域(使用外領域)が割り当てられている。別領域は、後述するように、使用領域に格納することが定められていないプログラムやデータを格納する領域である。具体的に、2000h~3FBFhのメモリ空間には、遊技の進行に影響を及ぼさない、遊技機用試験処理やセキュリティ関連処理のうち一部または全部の処理を遂行するプログラムの命令コードおよびプログラムデータが格納されている。遊技機用試験処理は、回胴式遊技機用試験機の接続仕様書(第四版)に記載されているスロットマシン400の試験処理である。セキュリティ関連処理は、第三者の不正防止や不具合発見を目的とした異常状態を特定する処理であり、例えば、上述したバックアップフラグの判定やチェックサムの実行も含まれる。なお、別領域に記憶容量の制限はなく、
図102の例では、使用領域、コメント領域、および、プログラム管理領域以外の記憶領域に、自由に割り当てることができる。
【1017】
上記のように、メインCPU500aは、遊技制御処理のみならず、遊技機用試験処理、セキュリティ関連処理も遂行する場合がある。しかし、使用領域の記憶容量は予め定められており、例えば、
図102に示したように、制御領域が4.5kbyteに制限され、データ領域が3.0kbyteに制限されている。したがって、遊技制御処理のみならず、遊技機用試験処理、セキュリティ関連処理のプログラムやデータまでも使用領域に配すると、その分、遊技制御処理を行うための記憶領域が制限されてしまう。ここで、遊技制御処理を実行するためのプログラム(使用プログラム)やデータは、必ず使用領域に格納しなければならないが、遊技制御処理以外の遊技の進行に影響を及ぼさない(直接関係のない)処理(遊技機用試験処理、セキュリティ関連処理等)を実行するためのプログラム(別プログラム)やデータは使用領域および別領域のいずれにも格納することができる。そこで、セキュリティ関連処理に該当する処理であるバックアップフラグの判定処理やチェックサムの実行処理を実行するためのプログラムやデータの少なくとも一部を、使用領域とは異なる(使用領域以外の)記憶領域のうちの一部である別領域に記述している。
【1018】
このように使用領域で遂行される処理(ここでは、遊技制御処理)と、必ずしも使用領域で行わなくてよい処理(ここでは、セキュリティ関連処理)とが混在している場合には、遊技制御処理を実行するためのプログラム(使用プログラム)やデータを使用領域に格納し、使用領域で行わなくてよい、遊技制御処理以外の遊技の進行に影響を及ぼさない処理(セキュリティ関連処理)を実行するためのプログラム(別プログラム)やデータを別領域に格納することが望ましい。このように記憶領域を複数に区分することで、別領域に移動させたプログラムの分だけ使用領域の記憶領域(容量)に余裕が生じる。したがって、その分、使用領域を遊技制御処理(使用プログラム)に割り当てることが可能となる。
【1019】
ただし、上記のように記憶領域を、使用領域、別領域とで役割分担した場合においても、遊技機の公正さは担保されなくてはならない。そこで、遊技機の公正さを担保しつつ、使用領域と別領域とで適切に役割分担するために、以下の(1)~(6)の条件を規定する。
【1020】
条件(1)、別領域に配置するプログラムについては、遊技機の試験に必要な信号の出力(遊技機用試験処理)および不正防止(セキュリティ関連処理)を目的として使用され、遊技の公正を害さない(損なわない)ものであること。条件(2)、使用領域と別領域の制御領域およびデータ領域については、それぞれを明示的に区別された領域に配置すること。条件(3)、別領域に配置するプログラム(別プログラム)は、使用領域のプログラム(使用プログラム)から静的に呼び出された上で実行されること。また、その際のプログラムリストにおいては、呼び出し先アドレスが明らかに記載されていること。条件(4)、別領域に配置するプログラムは機能ごとにモジュール化し、呼び出された際には、使用領域で利用している全レジスタの内容を保護すること。条件(5)、使用領域または別領域から互いの領域にあるRAMへのアクセスは参照のみ可能とし、更新は不可とすること。条件(6)、別領域の制御領域から使用領域の制御領域にあるサブルーチンを呼び出すことは不可とすること。なお、使用領域に割込処理を行うサブルーチンを設けることから、別領域の制御領域を使用する際には、割込禁止にする必要が生じる。なお、遊技制御処理を適切に遂行するために、割込禁止を行ってから割込禁止を解除するまでの時間は、遊技制御処理における割込処理の間隔(例えば1.49msec)以内とならなければならない。したがって、別領域の制御領域を使用するサブルーチンを呼び出す場合、その1回の呼び出しにかかる総時間は、遊技制御処理の割込処理の間隔以内となるように設定することとなる。
【1021】
また、メインRAM500cのF000h~F1FFhのメモリ空間には使用領域が割り当てられている。具体的に、F000h~F13Fhのメモリ空間には、上記遊技制御処理のワークエリアが割り当てられ、タイマ、カウンタ、フラグ等の変数管理に用いられる。F1C0h~F1FFhのメモリ空間には、上記遊技制御処理のスタック領域が割り当てられている。また、メインRAM500cのF200h~F3FFhのメモリ空間には別領域が割り当てられている。具体的に、F210h~F22Fhのメモリ空間には、上記セキュリティ関連処理のうち一部または全部の処理のワークエリアが割り当てられ、タイマ、カウンタ、フラグ等の変数管理に用いられる。F230h~F246hのメモリ空間には、上記セキュリティ関連処理のうち一部または全部の処理のスタック領域が割り当てられている。
【1022】
また、FE00h~FEFFhのメモリ空間には入出力部704が割り当てられている。従来、入出力部704に対応するデバイスにアクセスするため、メモリ空間と独立して256バイトのI/O空間が設けられていた。これに対し、本実施形態では、MREQ、IORQの信号をなくし、メモリ、入出力部704へのアクセスを共通してRD、WR信号で行うこととした。また、入出力部704に接続されたデバイスにアクセスするための上位8ビットのアドレスを指定するハードウェアとしてのUレジスタを設け、ここに予め8ビットの上位アドレスを指定しておく。これにより、メモリ空間とは独立して設けられていたI/O空間を、メモリ空間に統合して一つのアドレス空間とし、IN命令、OUT命令を実行するとメモリ空間に割り当てられた入出力部704に対し、上位8ビットをUレジスタで指定し下位8ビットはIN命令、OUT命令のオペランドで指定した下位8ビットを用いてアクセス可能とした。
【1023】
本実施形態では、LDQ命令ではQレジスタを用いてメモリ空間(主にデータエリア、ワークエリア)をアクセスし、IN命令、OUT命令ではUレジスタを用いてデバイス(タイマ、乱数発生器、外部入出力回路等)のI/Oをアクセスするようにプログラムを記述できるようになる。かかる構成により、設計時にプログラムを把握し易くなる。また、メモリおよびI/Oを、16ビットのアドレスで特定してアクセスしていたものを下位8ビットのオペランドでアクセスすることが可能になり、プログラム容量を圧縮することができる。さらにQレジスタ、Q’レジスタ、Uレジスタと複数の上位指定レジスタを持つことにより、上位レジスタが1つだけの時よりも上位レジスタの使い回しによる入れ替えの回数が少なくなり、プログラム容量をさらに圧縮することができる。
【1024】
上記の例ではIN命令、OUT命令でI/O空間に対応するメモリ空間にアクセスしたが、IN命令、OUT命令で直接メモリ空間にアクセスしてもよい。このことは、例えばメモリ上の3つの256バイト領域をアクセスする場合にQレジスタ、Q’レジスタ、Uレジスタにそれぞれの上位8ビットを指定しておき、LDQ命令とIN命令OUT命令でそれぞれの領域をアクセスすることで実現できる。
【1025】
(遊技情報の表示)
ところで、遊技機、例えば、スロットマシン400では、上述したようなボーナス遊技状態やAT演出状態への移行頻度が偏ると射倖性が過度に高まってしまう懸念がある。そこで、メダルの獲得性能が高い遊技状態が偏っているか否かを統括的かつ画一的に判定すべく、有利区間比率、指示込役物比率、連続役物比率、役物比率、役物等状態比率といった判断基準を設ける。有利区間比率は、初回起動時から、有利区間に滞在している遊技数である滞在遊技数を、遊技数の総数である総遊技数で除算し、%で示した値を言い、指示込役物比率は、初回起動時から、所定の基準集計期間における、ボーナス遊技等、役物の作動および指示機能作動に基づいて払出制御手段610が払い出したメダルの枚数である指示込役物払出数を、払出制御手段610が払い出したメダルの総数である総払出数で除算し、%で示した値を言い、連続役物比率は、初回起動時から、所定の基準集計期間における、レギュラーボーナス遊技等、第1種特別役物の作動によって払出制御手段610が払い出したメダルの枚数である連続役物払出数を、払出制御手段610が払い出したメダルの総数である総払出数で除算し、%で示した値を言い、役物比率は、初回起動時から、所定の基準集計期間における、ボーナス遊技等、役物の作動に基づいて払出制御手段610が払い出したメダルの枚数である役物払出数を、払出制御手段610が払い出したメダルの総数である総払出数で除算し、%で示した値を言い、役物等状態比率は、初回起動時から、所定の基準集計期間における、ボーナス遊技等、役物が作動した遊技数である作動遊技数を、遊技数の総数である総遊技数で除算し、%で示した値を言う。なお、有利区間比率、指示込役物比率、連続役物比率、役物比率、役物等状態比率は、設定変更によってはクリアされない。
【1026】
このような、有利区間比率、指示込役物比率、連続役物比率、役物比率、役物等状態比率の表示は、
図98に示したタイマ割込み処理S3100のダイナミックポート出力処理(SYNMOUTモジュール)S3100-7における使用領域該役比表示取得処理(E_SDPSTモジュール)において実行される。
【1027】
ここで、有利区間は、非AT演出状態のうちの一部の演出状態(ここでは非有利演出状態)を除く全ての演出状態に滞在している区間を言う。なお、有利区間に対し、非有利演出状態を非有利区間という場合もある。ただし、有利区間として、AT演出状態や非AT演出状態に限らず、遊技者に対し有利に遊技が進行する遊技状態および演出状態のいずれかを任意に設定してもよい。
【1028】
また、役物は、入賞を容易にするための装置であり、レギュラーボーナス(RB)、チャレンジボーナス(CB)、シングルボーナス(SB)等が該当する。また、かかる役物のうち、レギュラーボーナス(RB)が第1種特別役物に対応する。なお、レギュラービッグボーナス(RBB)は、第1種特別役物であるレギュラーボーナス(RB)の入賞形態を示す図柄組合せの表示によらずにレギュラーボーナス(RB)が連続で作動するものであり、チャレンジビッグボーナス(CBB)は、第2種特別役物(役物のうちの一つ)であるチャレンジボーナス(CB)の入賞形態を示す図柄組合せの表示によらずにチャレンジボーナス(CB)が連続で作動するものである。したがって、連続役物比率は、所定の基準集計期間において払い出された総払出数に対する第1種特別役物の作動によって払い出された連続役物払出数の比率を表すこととなり、役物比率は、所定の基準集計期間において払い出された総払出数に対する役物の作動によって払い出された役物払出数の比率を表すこととなる。
【1029】
なお、基準集計期間は、払出制御手段610が払い出したメダルの枚数を累積する対象期間である。本実施形態では、例えば、有限の値である6000遊技や、当該スロットマシン400を遊技場(ホール)に設置してから全ての期間(以下、「総累計」という)の2通りを挙げる。したがって、連続役物比率としては、6000遊技の連続役物比率と、総累計の連続役物比率とを導出し、役物比率としては、6000遊技の役物比率と、総累計の役物比率とを導出する。ただし、基準集計期間として、任意の遊技数を設定できるのは言うまでもない。
【1030】
このような、有利区間比率、指示込役物比率、連続役物比率、役物比率、役物等状態比率を求めるべく、累積手段(図示せず)は、総遊技数、滞在遊技数、作動遊技数、総払出数、指示込役物払出数、連続役物払出数、役物払出数を累積する。このとき、総遊技数、滞在遊技数、作動遊技数、総払出数、指示込役物払出数、連続役物払出数、役物払出数それぞれには、カウンタが対応付けられている。具体的に、累積手段は、1遊技が開始されると、総遊技数を示す総遊技数カウンタを1だけインクリメントする。そして、現在の遊技が有利区間における遊技であるか否か判定し、有利区間における遊技であれば、滞在遊技数を示す滞在遊技数カウンタを1だけインクリメントする。なお、滞在遊技数カウンタの更新は、非有利区間である場合において有利区間に当選した遊技(有利区間への移行処理が行われた遊技)の次遊技から開始される。ただし、レギュラービッグボーナス(RBB)またはチャレンジビッグボーナス(CBB)の当選に基づいて有利区間に当選した場合には当該ボーナスが入賞した遊技(有利区間への移行処理が行われた遊技)の次遊技から開始される。また、現在の遊技が、役物が作動した遊技であるか否か判定し、役物が作動した遊技であれば、作動遊技数を示す作動遊技数カウンタを1だけインクリメントする。
【1031】
また、累積手段は、その遊技でメダルが払い出されると、総払出数を示す総払出数カウンタを、その払出枚数分だけインクリメントする。そして、当該メダルの払い出しが役物の作動および指示機能作動に基づいていれば、指示込役物払出数を示す指示込役物払出数カウンタを、その払出枚数分だけインクリメントし、当該メダルの払い出しが役物に基づいていれば、役物払出数を示す役物払出数カウンタを、その払出枚数分だけインクリメントし、さらに、当該メダルの払い出しが第1種特別役物に基づいていれば、連続役物払出数を示す連続役物払出数カウンタを、その払出枚数分だけインクリメントする。
【1032】
なお、総累計については、かかるカウンタのみで計数できるが、連続役物比率および役物比率に関しては、総累計のみならず、基準集計期間、ここでは、6000遊技といった限られた期間も対象にしなければならない。そこで、6000遊技を、例えば、400遊技毎に均等に区分けし、400遊技ずつ計数する複数(例えば15個)のカウンタを設け、リングバッファとして利用する。なお、ここでは、6000遊技を400遊技毎に区分けして計数する例を挙げているが、6000の因数(約数)であれば、区分けする遊技数を任意に設定可能なのは言うまでもない。
【1033】
具体的に、累積手段は、その遊技でメダルが払い出されると、総払出数カウンタ、連続役物払出数カウンタ、役物払出数カウンタを更新する処理を400遊技まで行い、400遊技に到達すると、過去に計数した14個のカウンタと合算して、総払出数、連続役物払出数、役物払出数を導出する。そして、14個のカウンタのうち最も古い遊技で計数したカウンタを初期化し、その初期化したカウンタによって、新たに400遊技分、総払出数カウンタ、連続役物払出数カウンタ、役物払出数カウンタを更新する。こうして、400遊技毎に、新たな400遊技分の遊技情報と、過去の5600遊技分の遊技情報とを参照することができるので、直近の6000遊技の総払出数、連続役物払出数、役物払出数を導出することが可能となる。なお、かかるカウンタによる計数は、規定数や設定値に拘わらず常に実行される。このようにして、総遊技数、滞在遊技数、作動遊技数、総払出数、指示込役物払出数、連続役物払出数、役物払出数がそれぞれ累積される。
【1034】
続いて、比率導出手段(図示せず)は、累積手段が累積した、総遊技数、滞在遊技数、作動遊技数、総払出数、指示込役物払出数、連続役物払出数、役物払出数に基づいて有利区間比率、指示込役物比率、連続役物比率、役物比率、役物等状態比率を導出する。具体的に、比率導出手段は、滞在遊技数を総遊技数で除算し、%換算して有利区間比率を導出し、総累計の指示込役物払出数を総累計の総払出数で除算し、%換算して総累計の指示込役物比率を導出し、総累計の連続役物払出数を総累計の総払出数で除算し、%換算して総累計の連続役物比率を導出し、総累計の役物払出数を総累計の総払出数で除算し、%換算して総累計の役物比率を導出し、作動遊技数を総遊技数で除算し、%換算して役物等状態比率を導出する。また、比率導出手段は、400遊技毎に、6000遊技の連続役物払出数を6000遊技の総払出数で除算し、%換算して6000遊技の連続役物比率を導出し、6000遊技の役物払出数を6000遊技の総払出数で除算し、%換算して6000遊技の役物比率を導出する。
【1035】
次に、比率表示手段(図示せず)は、所定の表示指令に基づいて、比率導出手段が導出した有利区間比率、指示込役物比率、6000遊技の連続役物比率、6000遊技の役物比率、総累計の連続役物比率、総累計の役物比率、役物等状態比率を比率表示部860に表示する。
【1036】
図103は、主制御基板500の外観を示した説明図である。
図103(a)に示すように、主制御基板500の端側には複数のコネクタ870が設けられ、また、主制御基板500の中央近傍には比率表示部860が設けられている。比率表示部860は、十進のアラビア数字を表すことができる7つのセグメントと、その右下に位置するドットセグメント(DP)とからなる7セグメントを4つ並置して構成される。そして、主制御基板500をスロットマシン400に組み込む際には、
図103(b)のように、主制御基板500を基板ケース872に収容し、基板ケース872の前面部位872aに主制御基板500の背面からビス874で固定する。基板ケース872の前面部位872aにおける、比率表示部860に対応する位置には、比率表示部860を視認可能な透過窓872bが設けられている。したがって、管理者は、
図74に示したように、前面上扉404を開放した状態で、当該透過窓872bを通じ、比率表示部860の表示内容を視認することができる。なお、かかる透過窓872bの代わりに、基板ケース872全体を透過または半透過な材質で形成してもよい。
【1037】
ここでは、比率表示部860を構成する4つの7セグメントのみで、有利区間比率、6000遊技の連続役物比率、6000遊技の役物比率、総累計の連続役物比率、総累計の役物比率といった5つの遊技情報を表示するため、各比率に識別子を対応付け、比率表示部860には、その識別子と各比率とを順次表示することとする。なお、各比率は、0~99の範囲で示される。したがって、4つの7セグメントのうち、左側に位置する2つの7セグメントで識別子を示し、右側に位置する2つの7セグメントで比率を示す。
【1038】
図104は、比率表示部860の表示態様を説明するための説明図である。電源スイッチ444をONすると、
図104(a)のように、比率表示手段は、有利区間比率に対応する識別子である「7U」と、その比率である、例えば「70」%とを一度に表示する(所謂7Uタイプ)。また、スロットマシン100によっては、有利区間比率の代わりに指示込役物比率を表示することもできる。この場合、比率表示手段は、指示込役物比率に対応する識別子である「7P」と、その比率である、例えば「70」%とを一度に表示する(所謂7Pタイプ)。ここで、7Uタイプでは、設定差のある当選種別を参照して有利区間に移行させる抽選を行うことは可能であるが、設定値を直接参照して有利区間に移行させる抽選を行うことはできない。一方、7Pタイプでは、設定差のある当選種別、および、設定値のいずれも参照して有利区間に移行させる抽選を行うことが可能である。なお、比率表示手段は、比率表示部860の2つめの7セグメントのドットセグメントを点灯することで識別子と比率とを区切っている。
【1039】
この状態で、所定時間(例えば5.0sec)が経過すると、
図104(b)ように、比率表示手段は、6000遊技の連続役物比率に対応する識別子である「6Y」と、その比率である「60」%とを一度に表示する。そして、所定時間が経過する度に、
図104(c)のような、6000遊技の役物比率に対応する識別子である「7Y」と、その比率である「70」%との組み合わせ、
図104(d)のような、総累計の連続役物比率に対応する識別子である「6A」と、その比率である「60」%との組み合わせ、
図104(e)のような、総累計の役物比率に対応する識別子である「7A」と、その比率である「70」%との組み合わせ、
図104(f)のような、役物等状態比率に対応する識別子である「5H」と、その比率である「50」%との組み合わせが順次表示される。また、
図104(f)のように、役物等状態比率に対応する識別子である「5H」と、その比率である「50」%との組み合わせが表示されている状態で、さらに所定時間が経過すると、
図104(a)に示した、有利区間比率に対応する識別子である「7U」と、その比率である「70」%とが再度表示され、以後、所定時間が経過する度に、有利区間比率(指示込役物比率)、6000遊技の連続役物比率、6000遊技の役物比率、総累計の連続役物比率、総累計の役物比率、役物等状態比率の順で表示が切り換わる。
【1040】
なお、ここでは、4つの7セグメントで識別子と比率を同時に示す例を挙げて説明したが、2つの7セグメントのみを用い、識別子と比率とを切り換えて表示することもできる。この場合、比率表示手段は、比率表示部860において、所定時間が経過する度に、例えば、「7U」→「70」→「6Y」→「60」→「7Y」→「70」→「6A」→「60」→「7A」→「70」→「5H」→「50」といった順に表示を切り替える。
【1041】
なお、比率表示手段は、主制御基板500の比率表示部860に代えて、4つの7セグメントに対応する既存の表示部(メインクレジット表示部430およびメイン払出表示部432)に識別子と比率とを切り換えて表示することもできる。この場合、1遊技の結果が報知された後、次の遊技の開始までに、前面上扉404を開放し、その状態で、既存のスイッチ、例えば、設定値を設定または変更する操作を実行するスイッチを操作することで、有利区間比率に対応する識別子と、その比率が表示され、以後、所定時間が経過する度に、有利区間比率(指示込役物比率)→6000遊技の連続役物比率→6000遊技の役物比率→総累計の連続役物比率→総累計の役物比率→指示込役物比率の順で表示が繰り返し切り換わることとなる。なお、比率表示手段が既存の表示部に、有利区間比率(指示込役物比率)、6000遊技の連続役物比率、6000遊技の役物比率、総累計の連続役物比率、総累計の役物比率、役物等状態比率を表示している間であっても、メダルの投入等、スロットマシン400の状態に変化があった場合には、その表示を削除する。
【1042】
管理者は、このような比率表示部860または既存の表示部を通じて、有利区間比率、指示込役物比率、6000遊技の連続役物比率、6000遊技の役物比率、総累計の連続役物比率、総累計の役物比率、役物等状態比率といった遊技情報を視認することができる。そして、遊技情報が適切な範囲に収まっているか否かを判定し、スロットマシン400が適正に動作しているかを判断することが可能となる。
【1043】
かかる適切な範囲は、例えば、有利区間比率<70%、、指示込役物比率<70%、6000遊技の連続役物比率<60%、6000遊技の役物比率<70%、総累計の連続役物比率<60%、総累計の役物比率<70%、役物等状態比率<50%と設定している。かかる適切な範囲を逸脱している場合、比率表示手段は、その対象となる比率に関し、比率表示部860の各セグメントを例えば0.6sec周期で点滅させるとしてもよい。かかる点滅表示により、管理者は、適切な範囲を逸脱している識別子およびその比率を迅速に把握することが可能となる。
【1044】
ところで、上述したように、比率導出手段は、滞在遊技数を総遊技数で除算して有利区間比率を導出し、総累計の指示込役物払出数を総累計の総払出数で除算して総累計の指示込役物払出数を導出し、総累計の連続役物払出数を総累計の総払出数で除算して総累計の連続役物払出数を導出し、総累計の役物払出数を総累計の総払出数で除算して総累計の役物払出数を導出し、作動遊技数を総遊技数で除算して役物等状態比率を導出している。しかし、主制御基板500におけるメインCPU500aは処理能力が低く、かかるメインCPU500aで利用可能な乗算命令や除算命令は、被乗数、乗数、被除数、および、除数となる数値の範囲が制限されている。例えば、メインCPU500aでの演算命令として予め準備されている、除算を実行するDIV命令には、被除数および除数のいずれも数値範囲が2バイトに制限される場合があり、つまり、0~65535までの範囲までしか取り扱うことができない場合がある。そうすると、総遊技数が、例えば175000遊技以上となる場合、数値範囲を超えてしまい、単純に2バイトのDIV命令を利用することができない。この場合、人が筆算で除算を行うのと同様、加算および減算を繰り返すプログラムを別途準備しなければならず、処理負荷の増大を招くこととなる。そこで、本実施形態では、処理負荷の増大を抑えつつ、遊技情報を適切に得ることを目的とする。
【1045】
なお、上記では、スロットマシン400において、例えば、有利区間比率、指示込役物比率、6000遊技の連続役物比率、6000遊技の役物比率、総累計の連続役物比率、総累計の役物比率、役物等状態比率といった遊技情報を比率表示部860に表示する例を挙げて説明した。パチンコ機においては、例えば、所定の基準集計期間における、賞球数(低確時かつ時短無し時の払出個数である低確払出個数)を、アウト数(低確時かつ時短無し時のアウト個数である低確アウト個数)で除算し、%で示したベース値を性能表示モニタ(比率表示部860)に表示するとしてもよい。なお、パチンコ機におけるベース値では、スロットマシン400のように、小数点以下を切り捨てしないで、四捨五入する。
【1046】
(各比率の導出処理)
ここでは、各比率(有利区間比率、指示込役物比率、連続役物比率、役物比率、役物等状態比率)を導出する処理例を複数挙げて説明するが、まず、その複数の処理に共通する部分を詳述する。本実施形態では、有利区間比率、指示込役物比率、連続役物比率、役物比率、役物等状態比率として、最終的に%に換算された値を求めることとなる。これは、除算した結果に対し、小数点以下2桁のみが必要であることを示す。また、スロットマシン400では、%に換算した場合の小数点以下の値は切り捨てとしている。これは、除算した結果に対し、小数点以下2桁のみを導出できれば、小数点以下3桁以降の演算を要さないことを意味する。したがって、本実施形態では、除算の結果を2桁繰上すべく、所定の乗数(ここでは100)を乗じる。なお、ここでは、小数点2桁のみが必要なので乗数として「100」を乗じる例を挙げたが、小数点3桁が必要な場合は乗数として「1000」を乗じる等、必要な桁数に応じて乗数を変更することができる。
【1047】
また、ここでは、導出処理の対象として「役物比率」を挙げて説明するが、有利区間比率、指示込役物比率、連続役物比率、役物等状態比率にも同様の処理が適用できるのは言うまでもない。役物比率は、上述したように、役物払出数を総払出数で除算し、%換算して導出される。かかる「%換算する」点が乗数「100」を乗じることに相当する。したがって、役物比率=役物払出数÷総払出数×100といった式で表すことができる。しかし、役物払出数≦総払出数となるので、役物払出数=総払出数ではない限り、この式の順では役物払出数÷総払出数の時点で必ず小数点以下の値となってしまい、例えば、メインCPU500aでは演算不能となる。
【1048】
そこで、演算順を変更し、役物比率=役物払出数×100÷総払出数といった順、すなわち、まず、役物払出数に乗数(100)を乗じ、その後、乗数を乗じた結果(被除数)を総払出数で除算する順で演算を行う。こうすることで、小数点以下の演算を行うこと無く、整数のみで演算結果を完結することが可能となり、結果的に、小数点以下の切り捨てが簡易に実現される。
【1049】
図105は、役物比率の演算例を示すフローチャートである。
図105の例では、仮に、役物払出数が「7123」、総払出数が「10000」であるとして役物比率を導出する。ここでは、例えば、除算を減算に置き換えることで、数値範囲(0~65535)を超えた数の除算を実現している。かかる図におけるステップSの数値は、本図の説明においてのみ用いることとする。
【1050】
まず、比率導出手段は、役物払出数が総払出数より大きいか否か判定する(S1)。その結果、役物払出数が総払出数より大きいと判定されれば(S1におけるYES)、役物払出数または総払出数が適正な数値ではないとして、役物比率が異常であるという結果を導出し、当該演算処理を終了する(S2)。役物払出数が総払出数以下であると判定されれば(S1におけるNO)、比率導出手段は、総払出数が0であるか否か判定する(S3)。その結果、総払出数が0、すなわち、まだメダルの払い出しが行われていない状態であれば(S3におけるYES)、役物比率が0%であると決定して当該演算処理を終了する(S4)。総払出数が0ではないと判定されれば(S3におけるNO)、比率導出手段は、役物払出数と総払出数とが等しいか否か判定する(S5)。その結果、役物払出数と総払出数とが等しいと判定されれば(S5におけるYES)、役物比率が99%であると決定して当該演算処理を終了する(S6)。このように、本実施形態では、役物払出数と総払出数とが等しい場合、役物比率として本来100%と示すところ、99%と表している。こうすることで、役物比率を全て2桁で表すことが可能となる。
【1051】
役物払出数と総払出数とが等しくないと判定されれば(S5におけるNO)、比率導出手段は、役物払出数「7123」に乗数「100」を乗じ(=「712300」)、被除数(変数)として保持する(S7)。続いて、比率導出手段は、被除数「712300」を除数である総払出数「10000」で除算して商(=「71」)を求める(S8)。かかる商「71」が役物比率となる。これは、役物払出数「7123」を総払出数「10000」で除算した結果を%換算した71.23%の整数部分に相当するので、かかる演算が正しいことが理解できる。
【1052】
このような役物比率の演算例により、加算、減算、乗算といった簡易な演算のみで、また、整数のみにより、除算を実現することが可能となる。
【1053】
なお、上記では、役物比率の小数点以下を切り捨てることを前提としたが、かかる場合に限らず、役物比率の小数点以下を四捨五入する場合、負となる最終的な被除数の値(ここでは「-7700」)の絶対値が、除数(総払出数、ここでは「10000」)の1/2より大きければ切り捨て、1/2以下であれば切り上げるとすることで実現できる。
【1054】
ここでは、さらに、役物比率を算出する際の2段階の演算手順、すなわち、役物払出数×乗数の演算(
図105のS7)と、乗算結果÷総払出数(
図105のS8)とに分けて、有効な演算手順を模索する。具体的に、まず、役物払出数×乗数を実行する複数の演算手順の有効性を検討し、次に、乗算結果÷総払出数を実行する複数の演算手順の有効性を検討する。
【1055】
(役物払出数×乗数)
役物払出数を数値として表す場合、その数値範囲から、最大値は3バイトとなり、メモリ容量として3バイト(24ビット)を要す。また、乗数は、ここでは100なので、1バイト(8ビット)で表すことができる。そうすると、役物払出数×乗数の演算は、24ビット×8ビットの演算となる。ここで、メインCPU500aは、8ビット×8ビットの乗算で16ビットの演算結果を得られる8ビットMUL命令を用いて24ビット×8ビットの演算を実行することができる。
【1056】
また、メインCPU500aには、上述したように、内蔵デバイスとしてメインCPU500aと独立かつ並行して演算を実行可能な乗算器および除算器が内蔵されている。ここで、乗算器は、コマンドの処理と並行して、例えば16ビット×16ビットの乗算を行うものであり、内蔵レジスタの指定のアドレス(被乗数設定レジスタ)に被乗数を書き込み、他の指定のアドレス(乗数設定レジスタ)に乗数を書き込むと、乗算器内で乗算が実行され、所定の時間後、異なる指定のアドレス(乗算結果レジスタ)に、例えば32ビットの乗算結果が設定される機能部である。また、除算器は、コマンドの処理と並行して、例えば32ビット÷32ビットの除算を行うものであり、内蔵レジスタの指定のアドレス(被除数設定レジスタ)に被除数を書き込み、他の指定のアドレス(除数設定レジスタ)に除数を書き込むと、除算器内で除算が実行され、所定の時間後、異なる指定のアドレス(除算結果レジスタ)に、例えば32ビットの除算結果が設定される機能部である。したがって、メインCPU500aでは、上記の8ビットMUL命令に加え、16ビット×16ビットの乗算器(以下、単に16ビット乗算器という)を採用することができる。
【1057】
ここでは、8ビットMUL命令のみを用いた第1の演算例と、16ビット乗算器を用いた第2の演算例を挙げ、その有効性を比較する。
【1058】
(役物払出数×乗数を実行する第1の演算例)
図106は、8ビットMUL命令のみを用いた第1の演算例を説明するための説明図である。8ビットMUL命令のみを用いた第1の演算例では、被乗数(3バイト)×乗数(1バイト)の演算をするため、
図106に示すように、被乗数をBCDレジスタ(BCレジスタ、および、Dレジスタ)に格納し、8ビットMUL命令を用い、1バイト単位に分離されたDレジスタの値、Cレジスタの値、Bレジスタの値それぞれと乗数(100)とを、その順に乗算する。そして、乗算した結果である、Dレジスタの値×100、Cレジスタの値×100、Bレジスタの値×100それぞれを加算(積算)することで、BCDレジスタの値×100の演算結果(4バイト)を得ることができる。
【1059】
図107は、第1の演算例を実現するための具体的な処理を示したフローチャートであり、
図108は、第1の演算例を実現するための具体的なコマンドの一例を示した図である。かかる
図107の説明におけるステップSの数値は、本図の説明においてのみ用いることとする。
【1060】
図107に示すように、まず、累計役物カウンタの値をBCDレジスタに読み出す(S1)。具体的に、
図108の2行目のコマンド「LD A,(_EX_YAKR)」によって、アドレス「_EX_YAKR」に格納されている1バイト値がAレジスタに読み出され、3行目のコマンド「LD D,A」によって、Aレジスタの値がDレジスタに複製され、4行目のコマンド「LD BC,(_EX_YAKR+1)」によって、アドレス「_EX_YAKR+1」に格納されている2バイト値がBCレジスタに読み出される。
【1061】
次に、
図107に示すように、BCDレジスタに格納された累計役物カウンタの値が0であるか否か判定され(S2)、0であれば(S2におけるYES)、乗数を乗じても結果が変わらないので(0なので)、当該第1の演算例を終了する。具体的に、
図108の5行目のコマンド「OR A,B」によって、Dレジスタの値と等しいAレジスタの値とBレジスタの値との論理和を演算し、
図108の6行目のコマンド「OR A,C」によって、5行目の演算結果であるAレジスタの値とCレジスタの値との論理和を演算し、7行目のコマンド「JR Z,E_PYSAV28」によって、BCDレジスタの論理和が0であれば、他の処理を示す指標「E_PYSAV28」(図示せず)に移動する。なお、コマンド「JR Z,E_PYSAV28」等、Fレジスタの内容によって処理が異なる場合、サイクル数も異なることとなる。例えば、コマンド「JR Z,E_PYSAV28」は、移動を伴う場合、
図108のサイクル数のスラッシュより左に示すように3サイクルとなり、移動を伴わない場合、サイクル数のスラッシュより右に示すように2サイクルとなる。以下のコマンドについても、Fレジスタの内容によって処理が異なる場合は同様の表示をしている。
【1062】
続いて、
図107に示すように、被乗数の最下位バイトであるDレジスタの値と乗数(100)とを乗じ(S3)、その演算結果をDEレジスタに設定する(S4)。具体的に、
図108の8行目のコマンド「LD A,D」によって、Dレジスタの値をAレジスタに複製し、9行目のコマンド「MUL HL,A,100」によって、Aレジスタの値と100とを乗じた結果をHLレジスタに保持し、10行目のコマンド「EX DE,HL」によって、HLレジスタの値をDEレジスタに設定する。
【1063】
次に、
図107に示すように、被乗数の中位バイトであるCレジスタの値と乗数(100)とを乗じ(S5)、その演算結果にDレジスタの値を加算した結果をDレジスタに戻し(S6)、メインRAM500cに設定する(S7)。具体的に、
図108の11行目のコマンド「LD A,C」によって、Cレジスタの値をAレジスタに複製し、12行目のコマンド「MUL HL,A,100」によって、Aレジスタの値と100とを乗じた結果をHLレジスタに保持し、13行目のコマンド「ADDWB HL,D」によって、乗算結果のHLレジスタに、10行目のコマンド「EX DE,HL」によって設定されたDEレジスタのうちの上位1バイト(Dレジスタの値)のみを加算し、14行目のコマンド「LD D,L」によって、加算結果のうち下位1バイトをDレジスタに戻し、15行目のコマンド「EX DE,HL」によって、乗算結果の下位2バイトに相当するDEレジスタの値をHLレジスタに移動し、16行目のコマンド「LD (_EX_WRK2),HL」によって、HLレジスタの2バイト値をアドレス「_EX_WRK2」に格納する。
【1064】
続いて、
図107に示すように、被乗数の最上位バイトであるBレジスタの値と乗数(100)とを乗じ(S8)、その演算結果に、ステップS6の演算結果のうち上位1バイト(Hレジスタの値)とを加算し(S9)、メインRAM500cに設定する(S10)。具体的に、
図108の17行目のコマンド「LD A,B」によって、Bレジスタの値をAレジスタに複製し、18行目のコマンド「MUL HL,A,100」によって、Aレジスタの値と100とを乗じた結果をHLレジスタに保持し、19行目のコマンド「ADDWB HL,D」によって、乗算結果のHLレジスタに、15行目のコマンド「EX DE,HL」によって設定されたDEレジスタ(13行目のコマンド「ADDWB HL,D」の演算結果)のうちの上位1バイト(Dレジスタの値)のみを加算し、20行目のコマンド「LD (_EX_WRK2+2),HL」によって、HLレジスタの2バイト値をアドレス「_EX_WRK2+2」に格納する。こうして、アドレス「_EX_WRK2」に、4バイトのBCDレジスタの値×100の演算結果を得ることができる。
【1065】
ここで、当該コマンド例では、
図108に示すように、コマンドサイズの合計は38バイトとなり、サイクル数の単純合計(移動命令を考慮することなく単純にサイクル数を合計したもの)は49/48サイクルとなる。
【1066】
(役物払出数×乗数を実行する第2の演算例)
図109は、16ビット乗算器を用いた第2の演算例を説明するための説明図である。16ビット乗算器を用いた第2の演算では、被乗数(3バイト)×乗数(1バイト)の演算をするため、
図109に示すように、被乗数をBCDレジスタ(BCレジスタおよびDレジスタ)に格納し、BCレジスタの値(2バイト値)と乗数(100)とを16ビット乗算器を用いて乗算するとともに、Dレジスタの値それぞれと乗数(100)とを8ビットMUL命令を用いて乗算する。そして、乗算した結果、BCレジスタの値×100、Dレジスタの値×100を加算することで、4バイトのBCDレジスタの値×100の演算結果を得ることができる。
【1067】
図110は、第2の演算例を実現するための具体的な処理を示したフローチャートであり、
図111は、第2の演算例を実現するための具体的なコマンドの一例を示した図である。かかる
図110の説明におけるステップSの数値は、本図の説明においてのみ用いることとする。
【1068】
図110に示すように、まず、累計役物カウンタの値をBCDレジスタに読み出す(S1)。具体的に、
図111の2行目のコマンド「LD A,(_EX_YAKR)」によって、アドレス「_EX_YAKR」に格納されている1バイト値がAレジスタに読み出され、3行目のコマンド「LD D,A」によって、Aレジスタの値がDレジスタに複製され、4行目のコマンド「LD BC,(_EX_YAKR+1)」によって、アドレス「_EX_YAKR+1」に格納されている2バイト値がBCレジスタに読み出される。
【1069】
次に、
図110に示すように、BCDレジスタに格納された累計役物カウンタの値が0であるか否か判定され(S2)、0であれば(S2におけるYES)、乗数を乗じても結果が変わらないので(0なので)、当該第2の演算例を終了する。具体的に、
図111の5行目のコマンド「OR A,B」によって、Dレジスタの値と等しいAレジスタの値とBレジスタの値との論理和を演算し、
図111の6行目のコマンド「OR A,C」によって、5行目の演算結果であるAレジスタの値とCレジスタの値との論理和を演算し、7行目のコマンド「JR Z,E_PYSAV28」によって、BCDレジスタの論理和が0であれば、他の処理を示す指標「E_PYSAV28」(図示せず)に移動する。
【1070】
続いて、
図110に示すように、被乗数の上位2バイトを被乗数設定レジスタに設定し(S3)、乗数(100)を乗数設定レジスタに設定して、乗算を実行する(S4)。具体的に、
図111の8行目のコマンド「LD (@MULA16_),BC」によって、BCレジスタの値を被乗数設定レジスタ「@MULA16_」に設定し、9行目のコマンド「LD A,100」によって、Aレジスタに乗数「100」を設定し、10行目のコマンド「OUT (LOW @MULB16_),A」によって、Uレジスタの値をアドレスの上位1バイトとし、アドレス「@MULB16_」を下位1バイトとし、そのアドレスで示される乗数設定レジスタにAレジスタの値を出力する。なお、乗数設定レジスタ「@MULB16_」の上位1バイトにはデフォルト値として「00H」が設定されている。こうして、16ビット乗算器を動作させ、乗算結果レジスタに乗算結果が格納される。
【1071】
次に、
図110に示すように、乗数の最下位バイトであるDレジスタの値と乗数(100)とを乗じる(S5)。具体的に、
図111の11行目のコマンド「LD A,D」によって、Dレジスタの値をAレジスタに複製し、12行目のコマンド「MUL HL,A,100」によって、Aレジスタの値と100とを乗じた結果をHLレジスタに保持する。
【1072】
続いて、
図110に示すように、乗算結果レジスタに格納された乗算結果の下位3バイトをDEAレジスタに読み出し(S6)、Aレジスタの値と、ステップS5の乗算結果のうち上位1バイト(Hレジスタの値)とを加算し(S7)、メインRAM500cに設定する(S8)。具体的に、
図111の13行目のコマンド「IN A,(LOW @MUL32__+0」によって、Uレジスタの値をアドレスの上位1バイトとし、アドレス「@MULB32__+0」を下位1バイトとし、そのアドレスで示される乗算結果レジスタの値をAレジスタに読み出し、14行目のコマンド「LD ED,(LOW @MUL32__+1」によって、乗算結果レジスタの最下位から2バイト目と3バイト目をDEレジスタに読み出し、15行目のコマンド「ADD A,H」によって、Aレジスタの値に、12行目のコマンド「MUL HL,A,100」によって設定された乗算結果の上位1バイト(Hレジスタの値)を加算し、16行目のコマンド「LD H,A」によって、加算結果(Aレジスタの値)をHレジスタに戻し、17行目のコマンド「OUT (LOW @DIVA32_+0),HL」によって、Uレジスタの値をアドレスの上位1バイトとし、アドレス「@DIVA32_」を下位1バイトとし、そのアドレスで示される被除数設定レジスタ「@DIVA32_」にHLレジスタの値を出力する。
【1073】
次に、
図110に示すように、ステップS6で設定したDEレジスタの値をHLレジスタに複製し(S9)、ステップS7の加算において値が繰り上げされたか否か判定され(S10)、繰り上げされていれば(S10におけるYES)、HLレジスタに繰り上げ分を加算し(S11)、メインRAM500cに設定する(S12)。具体的に、
図111の18行目のコマンド「EX DE,HL」によって、DEレジスタの値をHLレジスタに設定し、19行目のコマンド「JR NC,E_PYSAVX1」によって、15行目のコマンド「ADD A,H」によりキャリーフラグが立っているか否か判断され、キャリーフラグが立っていなかったら、21行目の指標「E_PYSAVX1」に移動し、キャリーフラグが立っていれば、20行目のコマンド「INC HL」によって、HLレジスタの値が1だけインクリメントされ、22行目のコマンド「OUT (LOW @DIVA32_+2),HL」によって、Uレジスタの値をアドレスの上位1バイトとし、アドレス「@DIVA32_+2」を下位1バイトとし、そのアドレスで示される除数設定レジスタにHLレジスタの値を出力する。
【1074】
ここで、当該コマンド例では、
図111に示すように、コマンドサイズの合計は43バイトとなり、サイクル数の単純合計は59/57サイクルとなる。
【1075】
以上説明したように、役物払出数×乗数を実行する第1の演算例と、役物払出数×乗数を実行する第2の演算例とを比較すると、コマンドサイズの合計およびサイクル数の単純合計のいずれも第1の演算例の方が小さくなる。したがって、スロットマシン400で役物払出数×乗数を実行する場合、
図106~
図108を用いて説明したように、8ビットMUL命令のみによって実行する方が好ましい。
【1076】
なお、上述した第1の演算例では、
図108の16行目および20行目のコマンドとしてコマンド「LD」を用いたが、それ以後の処理態様に応じ、
図112のように、これに代えて、16行目および20行目のコマンドとしてコマンド「OUT」を用いてもよい。
図112の場合でも、
図108同様、コマンドサイズの合計は38バイトとなり、サイクル数の単純合計は49/48サイクルとなる。
【1077】
(乗算結果÷総払出数)
次に、役物比率を算出する際の複数段階の演算手順のうち、(役物払出数×乗数の)乗算結果÷総払出数について有効性を検討する。上述したように、役物払出数(3バイト)×乗数(1バイト)の乗算結果は、最大4バイトとなるため、メモリの容量として4バイト以上を要する。したがって、ここでは、乗算結果を4バイト(32ビット)で表す。また、総払出数も、最大値が3バイトとなるため、メモリ容量として3バイト以上を要する。したがって、総払出数も4バイトで表す。そうすると、乗算結果÷総払出数の演算は32ビット÷32ビットの演算となる。メインCPU500aは、乗算結果から総払出数を繰り返し減算し、その減算回数で32ビット÷32ビットの演算を実現することができる。
【1078】
しかし、単純に、乗算結果から総払出数を繰り返し減算していく方法では、役物比率に相当する回数分、繰り返し乗算結果から総払出数を減算しなければならない。そうすると、減算処理が最大で100回実行されることになる。そこで、除数である総払出数を整数倍して減算することで減算処理の回数を削減することが考えられる。例えば、役物払出数が「7123」、総払出数が「10000」であった場合に、被除数である乗算結果「712300」から総払出数「10000」を単純に減算せず、総払出数「10000」に整数「10」を乗じた「100000」を減算することで、役物比率の2桁目(10の桁)に相当する「7」を導出することができる。また、更新された(減算された)乗算結果から元の総払出数「10000」を減算することで、役物比率の1桁目(1の桁)に相当する「1」を導出することができる。このように、総払出数(除数)を整数倍することで、ここでは、減算処理を多くとも20回に削減することが可能となる。
【1079】
ただし、メインCPU500aでは、2進数で演算が行われるので、ここでは、10進数の桁上がりに相当する数「10」の代わりに、2進数の桁上がりに対応する数「2」を用いる。したがって、ここでは、乗算結果「712300」から、総払出数「10000」に、2の累乗数である所定の整数「64(2の6乗)」を乗じた数を減算し、以降、整数を「32(2の5乗)」→「16(2の4乗)」→「8(2の3乗)」→「4(2の2乗)」→「2(2の1乗)」→「1(2の0乗)」の順に変更して総払出数を乗じ、乗算結果から減算する。ここで、総払出数に乗じる整数を、2の累乗数である64から開始しているのは、役物比率が0~99の範囲に収まるため、「128(2の7乗)」以上の数値を減算する必要がないからである。
【1080】
また、上述したように、メインCPU500aには、例えば、32ビット÷32ビットの除算器(以下、単に32ビット除算器という)が内蔵されている。したがって、メインCPU500aでは、上記の乗算結果から、総払出数に2の累乗数を乗じた数を繰り返し減算する演算(以下、単に2の累乗数を乗じた数の繰り返し減算という)の代わりに、32ビット除算器を採用することができる。
【1081】
ここでは、2の累乗数を乗じた数の繰り返し減算を用いた第3の演算例と、32ビット除算器を用いた第4の演算例を挙げ、その有効性を比較する。
【1082】
(乗算結果÷総払出数を実行する第3の演算例)
図113は、2の累乗数を乗じた数の繰り返し減算を用いた第3の演算例を説明するための説明図である。2の累乗数を乗じた数の繰り返し減算を用いた第3の演算例では、乗算結果である被乗数(4バイト)÷総払出数である除数(4バイト)の演算例を示す。ここで、被除数は「712300」、除数は本来の除数「10000」に64を乗じた「64×10000」と仮定する。
【1083】
図113に示すように、1回目の判定において、被除数≧除数と判定されれば、被乗数から除数を減算できるので、比率導出手段は、被除数「712300」から除数「64×10000」を減算して被除数を「72300」に更新するとともに、商「0」に「64」を加算して商を「64(2進数で表すと1000000B)」に更新する。2回目~4回目の判定では、被除数<除数なので、除数の減算を行わない。5回目の判定において、被除数≧除数と判定されれば、比率導出手段は、被除数「72300」から除数「4×10000」を減算して被除数を「32300」に更新するとともに、商「64」に「4」を加えて商を「68(2進数で表すと1000100B)」に更新する。同様に、6回目の判定において、被除数≧除数と判定されれば、比率導出手段は、被除数「32300」から除数「2×10000」を減算して被除数を「12300」に更新するとともに、商「68」に「2」を加えて商を「70(2進数で表すと1000110B)」に更新する。7回目の判定において、被除数≧除数と判定されれば、比率導出手段は、被除数「12300」から除数「1×10000」を減算して被除数を「2300」に更新するとともに、商「70」に「1」を加えて商を「71(2進数で表すと1000111B)」に更新する。
【1084】
整数=「64」から、減算ステップおよび加算ステップを7回繰り返すと、整数は小数点以下が切り捨てられて0(<1)となるので、演算処理が終了し、役物比率は、その時点の商「71」となる。これは、役物払出数「7123」を総払出数「10000」で除算した結果を%換算した71.23%の整数部分に相当するので、かかる演算が正しいことが理解できる。
【1085】
図114は、第3の演算例を実現するための具体的な処理を示したフローチャートであり、
図115は、第3の演算例を実現するための具体的なコマンドの一例を示した図である。かかる
図114の説明におけるステップSの数値は、本図の説明においてのみ用いることとする。なお、ここでは、4バイトの除数を格納しているアドレス「_EX_WRK1」と、4バイトの被除数を格納しているアドレス「_EX_WRK2」とが連続して配置されているとする。
【1086】
図114に示すように、まず、商を0に、整数(2の累乗数)を64に初期化し(S1)、被除数の上位2バイトと除数の上位2バイトを読み出し(S2)、被除数の上位2バイトが除数の上位2バイト未満であるか否か判定する(S3)。そして被除数の上位2バイトが除数の上位2バイト未満であれば(S3におけるYES)、ステップS10に移動する。具体的に、
図115の1行目のコマンド「XOR A,A」によって商を示すAレジスタに「0」を設定し、2行目のコマンド「LD C,64」によって整数を示すCレジスタに「64」を設定し、4行目のコマンド「LD HL,_EX_WRK2+2」によって、被除数(役物払出数×乗数の乗算結果)を格納しているアドレス「_EX_WRK2」の値に2を加算した値(上位2バイトの値)をHLレジスタに読み出し、5行目のコマンド「LD DE,(HL-4)」によって、被除数を格納しているアドレス「_EX_WRK2」の4バイト下位に位置するアドレス「_EX_WRK1」に格納された除数の上位2バイトをDEレジスタに読み出し、6行目のコマンド「JCP C,(HL),DE,E_PYSAV27」によって、HLレジスタで示されるアドレスの値(被除数の上位2バイト)と、DEレジスタの値(除数の上位2バイト)とが比較され、キャリーフラグが立っていれば、すなわち、被除数の上位2バイトが除数の上位2バイト未満であれば、20行目の指標「E_PYSAV27」に移動する。
【1087】
次に、
図114に示すように、被除数の上位2バイトが除数の上位2バイト以上であれば(S3におけるNO)、後段の計算のため、被除数の下位2バイトと除数の下位2バイトを読み出し(S4)、被除数の上位2バイトと除数の上位2バイトとが等しくないか否か、すなわち、被除数の上位2バイトが除数の上位2バイトより大きいか否か判定する(S5)。そして被除数の上位2バイトと除数の上位2バイトとが等しくなければ(S5におけるYES)、ステップS8に移動する。具体的に、
図115の7行目のコマンド「LD HL,_EX_WRK1」によって、除数を格納しているアドレス「_EX_WRK1」の下位2バイトをHLレジスタに読み出し、8行目のコマンド「LD DE,(HL+4)」によって、除数を格納しているアドレス「_EX_WRK1」の4バイト上位に位置するアドレス「_EX_WRK2」に格納された被除数の下位2バイトをDEレジスタに読み出し、9行目のコマンド「JR NZ,E_PYSAV26」によって、6行目のコマンドの実行によってゼロフラグが立っていなければ、12行目の指標「E_PYSAV26」に移動する。
【1088】
続いて、
図114に示すように、ステップS4で読み出した被除数の下位2バイトが除数の下位2バイトより大きいか否か判定し(S6)、被除数の下位2バイトが除数の下位2バイトより大きい場合(S6におけるYES)、ステップS8に移動し、除数の下位2バイトが除数の下位2バイト以下の場合(S6におけるNO)、ステップS6において、被除数の下位2バイトと除数の下位2バイトとが等しくないか否か、すなわち、被除数の下位2バイトが除数の下位2バイト未満であるか否か判定する(S7)。そして被除数の下位2バイトと除数の下位2バイトとが等しくなければ(S7におけるYES)、ステップS10に移動する。具体的に、
図115の10行目のコマンド「JCP C,(HL),DE,E_PYSAV26」によって、HLレジスタで示されるアドレスの値(除数の下位2バイト)と、DEレジスタの値(被除数の下位2バイト)とが比較され、キャリーフラグが立っていれば、すなわち、被除数の下位2バイトが被除数の下位2バイトより大きいと、12行目の指標「E_PYSAV26」に移動し、11行目のコマンド「JR NZ,E_PYSAV27」によって、10行目のコマンドの実行によってゼロフラグが立っていなければ、20行目の指標「E_PYSAV27」に移動する。
【1089】
次に、
図114に示すように、被除数が除数以上であれば、商に、現在の整数を加算し(S8)、被除数から除数を減算して、その減算結果を新たな被除数として更新する(S9)。具体的に、
図115の13行目のコマンド「ADD A,C」によって、商を示すAレジスタに、整数を示すCレジスタの値を加算し、14行目のコマンド「SUB DE,(HL)」によって、被除数の下位2バイトが格納されたDEレジスタの値から、HLレジスタで示されるアドレスに格納された除数の下位2バイトの値を減算してDEレジスタを更新し、15行目のコマンド「LD (HL+4),DE」によって、HLレジスタで示される除数を格納しているアドレスの4バイト上位に位置する被除数を示すアドレスに、減算結果である更新された被除数の下位2バイトを格納し、16行目のコマンド「LD DE,(HL+2)」によって、HLレジスタで示されるアドレスに格納された除数の上位2バイトをDEレジスタに読み出し、17行目のコマンド「LD HL,(HL+6)」によって、HLレジスタで示される除数を格納しているアドレスの6バイト上位に位置する被除数の上位2バイトをHLレジスタに読み出し、18行目のコマンド「SBC HL,DE」によって、被除数の上位2バイトが格納されたHLレジスタの値から、除数の上位2バイトが格納されたDEレジスタの値を減算してHLレジスタを更新し、19行目のコマンド「LD (_EX_WRK2+2),HL」によって、アドレス「_EX_WRK2」が示す被除数の上位2バイトに、減算結果である更新された被除数の上位2バイトを格納する。
【1090】
続いて、
図114に示すように、除数を2で除算(右にビットシフト)し、新たな除数として更新し(S10)、整数を2で除算(右にビットシフト)し、新たな整数として更新し(S11)、整数が0ではないか否か判定し(S12)、0でなければ(S12におけるYES)、ステップS2からの処理を繰り返し、0であれば(S12におけるNO)、役物比率をメインRAM500cに設定し(S13)、当該2の累乗数を乗じた数を繰り返し減算する処理を終了する。具体的に、
図115の21行目のコマンド「LD HL,_EX_WRK1+3」によって、除数の最上位1バイトを示すアドレス「_EX_WRK1+3」をHLレジスタに読み出し、22行目のコマンド「SRL (HL)」によってHLレジスタで示されるアドレスの値(除数の4バイト目)が右に1だけビットシフトされ、23行目のコマンド「DEC HL」によって、HLレジスタの値が1だけデクリメントされ、24行目のコマンド「RR (HL)」によってHLレジスタで示されるアドレスの値(除数の下位から3バイト目)が右に1だけビットシフトされ、25行目のコマンド「DEC HL」によって、HLレジスタの値が1だけデクリメントされ、26行目のコマンド「RR (HL)」によってHLレジスタで示されるアドレスの値(除数の下位から2バイト目)が右に1だけビットシフトされ、27行目のコマンド「DEC HL」によって、HLレジスタの値が1だけデクリメントされ、28行目のコマンド「RR (HL)」によってHLレジスタで示されるアドレスの値(除数の最下位1バイト)が右に1だけビットシフトされ、29行目のコマンド「SRL C」によって、整数を示すCレジスタの値が右に1だけビットシフトされ、30行目のコマンド「JR NZ,E_PYSAV25」によって、29行目のコマンドの実行によってゼロフラグが立っていなければ、3行目の指標「E_PYSAV25」に移動し、32行目の「LD (_EX_DPA7),A」によって、商であるAレジスタの値をアドレス「_EX_DPA7」に格納する。
【1091】
かかる第3の演算例により、加算、減算、乗算といった簡易な演算のみで、また、整数のみにより、除算を実現することが可能となる。また、ここでは、減算および加算処理を7回繰り返せば足りるので、演算処理を迅速に行うことができる。さらに、役物比率の小数点以下を切り捨てることを前提とすると、誤差が生じないので、役物比率を正確に導出することが可能となる。
【1092】
ここで、当該コマンド例では、
図115に示すように、コマンドサイズの合計は59バイトとなり、サイクル数の単純合計は95/90サイクルとなる。また、実際のサイクル数は、以下のようになる。すなわち、当該処理では、指標「E_PYSAV25」の次のコマンド(4行目)から指標「E_PYSAV28」の直前のコマンド(30行目)までを7回ループすることとなる。このとき、7回全てのループにおいて、6行目のコマンド「JCP C,(HL),DE,E_PYSAV27」で指標「E_PYSAV27」に移動した場合、7行目~19行目のコマンドを実行しないので、サイクル数は最小の321(3+45(最初の6ループ)×6+44(7ループ目)+4)サイクルとなる。一方、全ループにおいて、6行目のコマンド「JCP C,(HL),DE,E_PYSAV27」で指標「E_PYSAV27」に移動しなかった場合、サイクル数は最大となる。ただし、役物比率は100%を越えることはなく、95%および63%のときの処理負荷が最大になることを勘案すると、サイクル数の最大は566(3+61(初回ループ)+83(残りの6ループ)×6+4)サイクルとなる。したがって、サイクル数の実質的な合計は、321~566サイクルの範囲となる。
【1093】
なお、ここでも、役物比率の小数点以下を切り捨てることを前提としたが、かかる場合に限らず、役物比率の小数点以下を四捨五入する場合、減算および加算処理を8回繰り返し、8回目の判定において、被除数≧除数と判定されれば、商に1を加えるとすることで実現できる。
【1094】
(乗算結果÷総払出数を実行する第4の演算例)
図116は、第4の演算例を実現するための具体的な処理を示したフローチャートであり、
図117は、第4の演算例を実現するための具体的なコマンドの一例を示した図である。かかる
図116の説明におけるステップSの数値は、本図の説明においてのみ用いることとする。なお、ここでは、
図112を用いて説明したように、役物払出数×乗数の乗算結果である被除数は、すでに被除数設定レジスタ「DIVA32」に設定されているとする。
【1095】
図116に示すように、まず、累計役物カウンタの値をレジスタに呼び出し、除数設定レジスタ「DIVB32」に設定する(S1)。具体的に、
図117の1行目のコマンド「LD HL,(_EX_PRZR)」によって、累計役物カウンタを示すアドレス「_EX_PRZR」に格納されている値がHLレジスタに読み出され、2行目のコマンド「LD A,(_EX_PRZR+2)」によって、累計役物カウンタの上位1バイトを示すアドレス「_EX_PRZR+2」に格納されている値がAレジスタに読み出され、3行目のコマンド「OUT (LOW @DIVB32_+0),HL」によって、Uレジスタの値をアドレスの上位1バイトとし、アドレス「@DIVB32_」を下位1バイトとし、そのアドレスに、HLレジスタの値を出力し、4行目のコマンド「OUT (LOW @DIVB32_+2),A」によって、Uレジスタの値をアドレスの上位1バイトとし、アドレス「@DIVB32_+2」を下位1バイトとし、そのアドレスに、Aレジスタの値を出力する。なお、除数設定レジスタ「@DIVB32_」の上位1バイトにはデフォルト値として「00H」が設定されている。
【1096】
次に、
図116に示すように、除算の時間待ちを行い(S2)、所定時間経過後、演算結果をメインRAM500cに設定する(S3)。具体的に、
図117の5~8行目のコマンド「NOP」によって4サイクルの時間を消費させ、9行目のコマンド「IN A,(LOW @DIV32__+0)によって、Uレジスタの値をアドレスの上位1バイトとし、アドレス「@DIV32__+0」を下位1バイトとし、そのアドレスで示される除算結果レジスタの値をAレジスタに読み出し、11行目の「LD (_EX_DPA7),A」によって、商であるAレジスタの値をアドレス「_EX_DPA7」に格納する。
【1097】
ここで、当該コマンド例では、
図117に示すように、コマンドサイズの合計は20バイトとなり、サイクル数の合計は28サイクルとなる。
【1098】
以上説明したように、乗算結果÷総払出数を実行する第3の演算例と、乗算結果÷総払出数を実行する第4の演算例とを比較すると、コマンドサイズの合計およびサイクル数の合計のいずれも第4の演算例の方が小さくなる。したがって、スロットマシン400で乗算結果÷総払出数を実行する場合、
図116、
図117を用いて説明したように、32ビット除算器を用いて実行する方が好ましい。
【1099】
以上、第1の演算例~第4の演算例を挙げて、スロットマシン400における役物比率の演算態様を説明した。以下、パチンコ機におけるベース値について説明する。なお、スロットマシン400における有利区間比率、指示込役物比率、連続役物比率、役物比率、役物等状態比率については、全て小数点以下を切り捨てるとしているが、パチンコ機におけるベース値(賞球数/アウト数)は小数点以下を四捨五入する。そこで、パチンコ機においては、賞球数の乗数として「100」ではなく「200」を採用し、小数点以下が0.5以上であるか否かを整数(最下位ビット)に置き換えて判断する。したがって、ベース値は、賞球数に乗数(200)を乗じ、その後、乗数を乗じた結果(被除数)をアウト数で除算し、最下位ビット(MLB)に応じて切り上げまたは切り捨てを判断する。
【1100】
ここでは、8ビットMUL命令および2の累乗数を乗じた数の繰り返し減算を用いた第5の演算例と、16ビット乗算器および32ビット除算器を用いた第6の演算例を挙げ、その有効性を比較する。
【1101】
(賞球数×乗数÷アウト数を実行する第5の演算例)
図118は、8ビットMUL命令および2の累乗数を乗じた数の繰り返し減算を用いた第5の演算例を実現するための具体的な処理を示したフローチャートであり、
図119は、第5の演算例を実現するための具体的なコマンドの一例を示した図である。かかる
図118の説明におけるステップSの数値は、本図の説明においてのみ用いることとする。なお、ここでは、3バイトの被除数(賞球数に乗数を乗じた演算結果)を格納しているアドレス「R_ERW_BF1」と、3バイトの除数(アウト数)を格納しているアドレス「R_ERW_BF2」とが連続して配置されているとする。
【1102】
図118に示すように、まず、通常賞球カウンタの値をBCレジスタに読み出し(S1)、通常アウトカウンタの値をHLレジスタに読み出し(S2)、HLレジスタが0であるか否か判定され(S3)、0であれば(S3におけるYES)、ステップS23に移行する。具体的に、
図119の2行目のコマンド「XOR A,A」によって、後程、除数の計算に用いられるAレジスタの値を初期化し、3行目の「LD BC,(R_ERW_TJS)」によって、アドレス「R_ERW_TJS」で示される通常賞球カウンタの値(賞球数)がBCレジスタに読み出され、4行目のコマンド「LD HL,(R_ERW_TJO」によって、アドレス「R_ERW_TJO」で示される通常アウトカウンタの値(アウト数)がHLレジスタに読み出され、5行目のコマンド「JR TZ,E_SHYMT_60」によって、HLレジスタの値が0であれば、49行目の指標「E_SHYMT_60」に移動する。
【1103】
次に、
図118に示すように、アウト数に整数(2の累乗数、ここでは128)を乗じ(S4)、その演算結果を除数バッファとしてメインRAM500cに格納する(S5)。具体的に、
図119の6行目のコマンド「SRL H」によって、Hレジスタの値が右に1だけビットシフトされ、7行目のコマンド「RR L」によって、Hレジスタからのキャリアも含めLレジスタの値が右に1だけビットシフトされ、8行目のコマンド「RRA」によって、Lレジスタからのキャリアも含めAレジスタの値が右に1だけビットシフトされる。ここで、HLAレジスタという単位で数値を判断すると、HLレジスタの値に256を乗じ、その後に右に1だけビットシフトされていると見做せるので、アウト数に128(256/2)を乗じたこととなり、これが除数となる。そして、
図119の9行目のコマンド「LD (R_ERW_BF2),A」によって、除数の下位バイトであるAレジスタの値をアドレス「R_ERW_BF2」に格納し、10行目のコマンド「LD (R_ERW_BF2+1),HL」によって、除数の上位2バイトであるHLレジスタの値をアドレス「R_ERW_BF2+1」に格納する。
【1104】
続いて、
図118に示すように、被乗数(賞球数)の下位バイトであるCレジスタの値と乗数(200)とを乗じ(S6)、その演算結果をDEレジスタに設定する(S7)。具体的に、
図119の11行目のコマンド「LD A,C」によって、Cレジスタの値をAレジスタに複製し、12行目のコマンド「MUL HL,A,200」によって、Aレジスタの値と200とを乗じた結果をHLレジスタに保持し、13行目のコマンド「EX DE,HL」によって、HLレジスタの値をDEレジスタに設定する。
【1105】
次に、
図118に示すように、被乗数の上位バイトであるBレジスタの値と乗数(200)とを乗じ(S8)、その演算結果にDレジスタの値を加算して演算結果を更新し(S9)、その演算結果を被除数バッファとしてメインRAM500cに格納する(S10)。具体的に、
図119の14行目のコマンド「LD A,B」によって、Bレジスタの値をAレジスタに複製し、15行目のコマンド「MUL HL,A,200」によって、Aレジスタの値と200とを乗じた結果をHLレジスタに保持し、16行目のコマンド「ADDWB HL,D」によって、乗算結果のHLレジスタに、13行目のコマンド「EX DE,HL」によって設定されたDEレジスタのうちの上位1バイト(Dレジスタの値)のみを加算し、17行目のコマンド「LD A,E」によって、13行目のコマンド「EX DE,HL」によって設定されたDEレジスタのうち下位1バイトをAレジスタに設定し、18行目のコマンド「LD (R_ERW_BF1),A」によって、被除数の下位バイトであるAレジスタの値をアドレス「R_ERW_BF1」に格納し、19行目のコマンド「LD (R_ERW_BF1+1),HL」によって、被除数の上位2バイトであるHLレジスタの値をアドレス「R_ERW_BF1+1」に格納する。
【1106】
続いて、
図118に示すように、ループ回数を8に、商を0に初期化し(S11)、商を2倍し(S12)、被除数の上位2バイトと除数の上位2バイトを読み出し(S13)、被除数の上位2バイトが除数の上位2バイト未満であるか否か判定する(S14)。そして被除数の上位2バイトが除数の上位2バイト未満であれば(S14におけるYES)、ステップS20に移動する。具体的に、
図119の20行目のコマンド「LD BC,8*256+0」によって、ループ回数を示すBレジスタに8を、商を示すCレジスタに0を設定し、22行目のコマンド「SLA C」によって、Cレジスタの値を左に1ビットシフトし(MSBには0が入る)、23行目のコマンド「LD HL,R_ERW_BF1+1」によって、被除数(賞球数×乗数の乗算結果)を格納しているアドレス「R_ERW_BF1」の値に1を加算した値をHLレジスタに読み出し、24行目のコマンド「LD DE,(HL+3)」によって、被除数を格納しているアドレス「R_ERW_BF1」の3バイト上位に位置するアドレス「R_ERW_BF2」に格納された除数の上位2バイトをDEレジスタに読み出し、25行目のコマンド「JCP C,(HL),DE,E_SHYMT_55」によって、HLレジスタで示されるアドレスの値(被除数の上位2バイト)と、DEレジスタの値(除数の上位2バイト)とが比較され、キャリーフラグが立っていれば、すなわち、被除数の上位2バイトが除数の上位2バイト未満であれば、38行目の指標「E_SHYMT_55」に移動する。
【1107】
次に、
図118に示すように、被除数の上位2バイトが除数の上位2バイト以上であれば(S14におけるNO)、後段の計算のため、除数の下位1バイトと被除数の下位1バイトを読み出し(S15)、ステップS14において、被除数の上位2バイトと除数の上位2バイトとが等しくないか否か、すなわち、被除数の上位2バイトが除数の上位2バイトより大きいか否か判定する(S16)。そして被除数の上位2バイトと除数の上位2バイトとが等しくなければ(S16におけるYES)、ステップS18に移動し、被除数の上位2バイトと除数の上位2バイトとが等しければ(S16におけるNO)、被除数の下位1バイトが除数の下位1バイト未満であるか否か判定する(S17)。そして被除数の下位1バイトが除数の下位1バイト未満であれば(S17におけるYES)、ステップS20に移動し、被除数の下位1バイトが除数の下位1バイト以上であれば(S17におけるNO)、ステップS18に移動する。具体的に、
図119の26行目のコマンド「LD L,LOW R_ERW_BF2」によって、除数を格納しているアドレス「R_ERW_BF2」の下位1バイトをLレジスタに読み出し(なお、Hレジスタには、23行目のコマンド「LD HL,R_ERW_BF1+1」によって、既に「R_ERW_BF2」の上位1バイトが保持されている)、27行目のコマンド「LD A,(HL-3)」によって、除数を格納しているアドレス「R_ERW_BF2」の3バイト下位に位置するアドレス「R_ERW_BF1」に格納された被除数の下位1バイトをAレジスタに読み出し、28行目のコマンド「JR NZ,E_SHYMT_50」によって、25行目のコマンドの実行によってゼロフラグが立っていなければ、31行目の指標「E_SHYMT_50」に移動し、29行目のコマンド「CP A,(HL)」によって、Aレジスタの値(被除数の下位1バイト)と、HLレジスタで示されるアドレスの値(除数の下位1バイト)とが比較され、30行目のコマンド「JR C,E_SHYMT_55」によって、キャリーフラグが立っていれば、すなわち、被除数の下位1バイトが除数の下位1バイト未満であれば、38行目の指標「E_SHYMT_55」に移動する。
【1108】
続いて、
図118に示すように、被除数が除数以上であれば、被除数から除数を減算して、その減算結果を新たな被除数として更新し(S18)、商に1を加算する(S19)。具体的に、
図119の32行目のコマンド「SUB A,(HL)」によって、被除数の下位1バイトが格納されたAレジスタの値から、HLレジスタで示される除数の下位1バイトの値を減算し、33行目のコマンド「LD (HL-3),A」によって、HLレジスタで示される除数を格納しているアドレスの3バイト下位に位置する被除数を示すアドレスに、減算結果である更新された被除数の下位1バイトを格納し、34行目のコマンド「LD HL,(HL-2)」によって、HLレジスタで示される除数を格納しているアドレスの2バイト下位に位置する被除数の上位2バイトを示すアドレスをHLレジスタに読み出し、35行目のコマンド「SBC HL,DE」によって、被除数の上位2バイトが格納されたHLレジスタの値から、除数の上位2バイトが格納されたDEレジスタの値を減算し、36行目のコマンド「LD (R_ERW_BF1+1),HL」によって、アドレス「R_ERW_BF1」が示す被除数の上位2バイトに、減算結果である更新された被除数の上位2バイトを格納し、37行目のコマンド「INC C」によって、商を示すCレジスタの値を1だけインクリメントする。
【1109】
次に、
図118に示すように、除数を2で除算(右にビットシフト)し、新たな除数として更新し(S20)、ループ回数を減算し、そのループ回数が0ではないか否か判定し(S21)、0でなければ(S21におけるYES)、ステップS12からの処理を繰り返し、0であれば(S21におけるNO)、四捨五入を実行し(S22)、ベース値をメインRAM500cに設定して(S23)、当該処理を終了する。具体的に、
図119の39行目のコマンド「LD HL,R_ERW_BF2+2」によって、除数の上位1バイトを示すアドレス「R_ERW_BF2+2」をHLレジスタに読み出し、40行目のコマンド「SRL (HL)」によってHLレジスタで示されるアドレスの値(除数の3バイト目)が右に1だけビットシフトされ、41行目のコマンド「DEC HL」によって、HLレジスタの値が1だけデクリメントされ、42行目のコマンド「RR (HL)」によってHLレジスタで示されるアドレスの値(除数の2バイト目)が右に1だけビットシフトされ、43行目のコマンド「DEC HL」によって、HLレジスタの値が1だけデクリメントされ、44行目のコマンド「RR (HL)」によってHLレジスタで示されるアドレスの値(除数の1バイト目)が右に1だけビットシフトされ、45行目のコマンド「DJNZ E_SHYMT_45」によって、ループ回数を示すBレジスタの値が1だけデクリメントされ、その値が0でなければ、21行目の指標「E_SHYMT_45」へ移動する。一方、ループ回数が0となると、
図119の46行目のコマンド「LD A,C」によって、商を示すCレジスタの値がAレジスタに複製され、47行目のコマンド「SRL A」によってAレジスタで示されるアドレスの値が右に1だけビットシフトされ、48行目のコマンド「ADC A,0」によって、47行目のコマンド「SRL A」によってキャリーフラグが立っていれば、すなわち、小数点以下が0.5以上であれば、Aレジスタに1が加算され、50行目のコマンド「LD HL,R_ERW_BAS」によって、ベース値を示すアドレス「R_ERW_BAS」がHLレジスタに設定され、51行目のコマンド「LD (HL),A」によって、ベース値を示すAレジスタの値がアドレス「R_ERW_BAS」に格納される。
【1110】
かかる第5の演算例により、加算、減算、乗算といった簡易な演算のみで、また、2の累乗数を乗じた数の繰り返し減算を用いてベース値を導出することが可能となる。
【1111】
ここで、当該コマンド例では、
図119に示すように、コマンドサイズの合計は97バイトとなり、サイクル数の単純合計は136/131サイクルとなる。また、実際のサイクル数は、以下のようになる。すなわち、当該処理では、指標「E_SHYMT_45」の次のコマンド(22行目)から45行目のコマンド「DJNZ E_SHYMT_45」までを8回ループすることとなる。このとき、8回全てのループにおいて、25行目のコマンド「JCP C,(HL),DE,E_SHYMT_55」で指標「E_SHYMT_55」に移動した場合、26行目~37行目のコマンドを実行しないので、サイクル数は最小の367(54+38(最初の7ループ)×7+37(8回目のループ)+10)サイクルとなる。一方、全ループにおいて、25行目のコマンド「JCP C,(HL),DE,E_SHYMT_55」で指標「E_SHYMT_55」に移動しなかった場合、サイクル数は最大となる。ただし、取り得る数値の関係で、1、2回目のループでは、25行目のコマンド「JCP C,(HL),DE,E_SHYMT_55」で移動せず、28行目のコマンド「JR NZ,E_SHYMT_50」で移動し、3~8回目のループでは、25行目のコマンド「JCP C,(HL),DE,E_SHYMT_55」、28行目のコマンド「JR NZ,E_SHYMT_50」、30行目のコマンド「JR C,E_SHYMT_55」のいずれにおいても移動しない場合が最大となることを勘案すると、サイクル数の最大は601(54+65(最初の2ループ)×2+68(その後の5ループ)×5+67(8回目のループ)+10)サイクルとなる。したがって、サイクル数の実質的な合計は、367~601サイクルの範囲となる。
【1112】
(賞球数×乗数÷アウト数を実行する第6の演算例)
図120は、16ビット乗算器および32ビット除算器を用いた第6の演算例を実現するための具体的な処理を示したフローチャートであり、
図121は、第6の演算例を実現するための具体的なコマンドの一例を示した図である。かかる
図120の説明におけるステップSの数値は、本図の説明においてのみ用いることとする。
【1113】
図120に示すように、まず、賞球数を被乗数レジスタに設定し(S1)、乗数「200」を乗数レジスタに設定する(S2)。具体的に、
図121の1行目のコマンド「LD HL,(R_ERW_TJS)」によって、アドレス「R_ERW_TJS」で示される通常賞球カウンタの値(賞球数)がHLレジスタに読み出され、2行目のコマンド「OUT (LOW @MULA16_)によって、Uレジスタの値をアドレスの上位1バイトとし、アドレス「@MULA16_」を下位1バイトとし、そのアドレスで示される乗数設定レジスタにHLレジスタの値を出力し、3行目のコマンド「EX DE,HL」によって、HLレジスタの値をDEレジスタに複製し、4行目のコマンド「LD A,200」によって、Aレジスタに乗数「200」を設定し、5行目のコマンド「OUT (LOW @MULB16_),A」によって、Uレジスタの値をアドレスの上位1バイトとし、アドレス「@MULB16_」を下位1バイトとし、そのアドレスで示される乗数設定レジスタにAレジスタの値を出力する。なお、乗数設定レジスタ「@MULB16_」の上位1バイトにはデフォルト値として「00H」が設定されている。
【1114】
次に、
図120に示すように、通常賞球カウンタが0である場合を想定し、ベース値の初期値として0を設定し(S3)、アウト数が0であるか否か判定され(S4)、0であれば(S4におけるYES)、乗数を乗じても結果が変わらないので(0なので)、ステップS13に移動し、0でなければ(S4におけるNO)、ベース値を100に設定し(S5)、アウト数が賞球数未満であるか否か判定し(S6)、アウト数が賞球数未満であれば(S6におけるYES)、ステップS13に移動する。具体的に、
図121の6行目のコマンド「XOR A,A」によってベース値を示すAレジスタの値を0に設定し、7行目のコマンド「LD HL,(R_ERW_TJO)」によって、アドレス「R_ERW_TJO」で示される通常アウトカウンタの値(アウト数)がHLレジスタに読み出され、8行目のコマンド「JR TZ,E_SHYMT_60」によって、HLレジスタの値が0であれば、23行目の指標「E_SHYMT_60」に移動し、9行目のコマンド「LD A,100」によって、ベース値を示すAレジスタに初期値として100を設定し、10行目のコマンド「JCP C,HL,DE,E_SHYMT_60」によって、HLレジスタの値(アウト数)と、DEレジスタの値(賞球数)とが比較され、キャリーフラグが立っていれば、すなわち、アウト数が賞球数未満であれば、23行目の指標「E_SHYMT_60」に移動する。
【1115】
続いて、
図120に示すように、アウト数を除数設定レジスタに設定し(S7)、16ビット乗算器による乗算結果をHLAレジスタ(HLレジスタおよびAレジスタ)に読み出し(S8)、それを被除数設定レジスタに設定する(S9)。具体的に、
図121の11行目のコマンド「OUT (LOW @DIVB32_),HL」によって、Uレジスタの値をアドレスの上位1バイトとし、アドレス「@DIVB32_」を下位1バイトとし、そのアドレスで示される除数設定レジスタ「@DIVB32_」にHLレジスタの値を出力し、12行目のコマンド「IN A,(LOW @MUL32__」によって、Uレジスタの値をアドレスの上位1バイトとし、アドレス「@MULB32__」を下位1バイトとし、そのアドレスで示される乗算結果レジスタの1バイト値をAレジスタに読み出し、13行目のコマンド「IN HL,(LOW @MUL32__+1」によって、Uレジスタの値をアドレスの上位1バイトとし、アドレス「@MULB32__+1」を下位1バイトとし、そのアドレスで示される乗算結果レジスタの2バイト値をHLレジスタに読み出し、14行目のコマンド「OUT (LOW @DIVA32_+0),A」によって、Uレジスタの値をアドレスの上位1バイトとし、アドレス「@DIVA32_」を下位1バイトとし、そのアドレスで示される被除数設定レジスタ「@DIVA32_」にAレジスタの値を出力し、15行目のコマンド「OUT (LOW @DIVA32_+1),HL」によって、Uレジスタの値をアドレスの上位1バイトとし、アドレス「@DIVA32_+1」を下位1バイトとし、そのアドレスで示される被除数設定レジスタ「@DIVA32_+1」にHLレジスタの値を出力する。こうして、16ビット乗算器を動作させ、乗算結果レジスタに乗算結果が格納される。
【1116】
次に、
図120に示すように、除算の時間待ちを行い(S10)、所定時間経過後、演算結果をAレジスタに読み出し(S11)、四捨五入を実行し(S12)、ベース値をメインRAM500cに設定して(S13)、当該処理を終了する。具体的に、
図121の16~19行目のコマンド「NOP」によって4サイクルの時間を消費させ、20行目のコマンド「IN A,(LOW @DIV32__+0)によって、除算器から演算結果をAレジスタに読み出し、21行目のコマンド「SRL A」によってAレジスタで示されるアドレスの値が右に1だけビットシフトされ、22行目のコマンド「ADC A,0」によって、21行目のコマンド「SRL A」によってキャリーフラグが立っていれば、すなわち、小数点以下が0.5以上であれば、Aレジスタに1が加算され、24行目のコマンド「LD HL,R_ERW_BAS」によって、ベース値を示すアドレス「R_ERW_BAS」がHLレジスタに設定され、25行目のコマンド「LD (HL),A」によって、ベース値を示すAレジスタの値がアドレス「R_ERW_BAS」に格納される。
【1117】
ここで、当該コマンド例では、
図121に示すように、コマンドサイズの合計は49バイトとなり、サイクル数の単純合計は68/66サイクルとなる。
【1118】
以上説明したように、ベース値を導出する第5の演算例と、ベース値を導出する第6の演算例とを比較すると、コマンドサイズの合計およびサイクル数の単純合計のいずれも、16ビット乗算器および32ビット除算器を用いた第6の演算例の方が小さくなる。したがって、パチンコ機でベース値を実行する場合、
図120、
図121を用いて説明したように、16ビット乗算器および32ビット除算器を用いて実行する方が好ましい。
【1119】
以上、説明したように、本実施形態によると、処理負荷の増大を抑えることで、タイマ割込みの禁止区間を短縮化することができ、遊技情報を適切に得つつ、遊技機としての動作を安定化することが可能となる。
【1120】
以上、添付図面を参照しながら本発明の好適な実施形態について説明したが、本発明はかかる実施形態に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
【1121】
例えば、上述した実施形態においては、第4の演算例や第6の演算例において、32ビット除算器による除算の時間待ちに1サイクルの時間を消費する「NOP」を4回連続して利用している。しかし、かかる場合に限らず、4サイクルを確保しさえすれば、他のコマンドでもよい。例えば、コマンドサイズ1バイトで2サイクルのコマンドを2回連続して利用するか、コマンドサイズ1バイトで4サイクルのコマンドや、コマンドサイズ2バイトで4サイクルのコマンドを利用するとしてもよい。こうして、コマンドサイズを削減することができる。
【1122】
また、上述した実施形態においては、役物払出数×乗数を実行する演算例として8ビットMUL命令のみを用いた第1の演算例と、16ビット乗算器を用いた第2の演算例を挙げ、また、乗算結果÷総払出数を実行する演算例として2の累乗数を乗じた数の繰り返し減算を用いた第3の演算例と、32ビット除算器を用いた第4の演算例を挙げた。上述した実施形態においては、役物払出数×乗数を行った後、その乗算結果を用いて乗算結果÷総払出数を実行するので、第1の演算例または第2の演算例と、第3の演算例または第4の演算例とを組み合わせて演算することになる。かかる演算例の組み合わせは任意に設定できる。例えば、第1の演算例と第3の演算例との組み合わせ、第1の演算例と第4の演算例との組み合わせ、第2の演算例と第3の演算例との組み合わせ、第2の演算例と第4の演算例との組み合わせを採用することができる。また、第5の演算例および第6の演算例は、いずれも、役物払出数×乗数と、乗算結果÷総払出数とに分けることができ、かかる演算例の組み合わせは任意に設定できる。例えば、上述した第5の演算例の役物払出数×乗数と、第5の演算例の乗算結果÷総払出数との組み合わせ、第6の演算例の役物払出数×乗数と、第6の演算例の乗算結果÷総払出数との組み合わせに加え、第5の演算例の役物払出数×乗数と、第6の演算例の乗算結果÷総払出数との組み合わせ、第6の演算例の役物払出数×乗数と、第5の演算例の乗算結果÷総払出数との組み合わせを採用することができる。
【1123】
また、上述した実施形態においては、スロットマシン400の役物比率を例に挙げて、様々な演算(第1の演算例~第4の演算例)を実行したが、かかる場合に限らず、スロットマシン400の各比率(有利区間比率、指示込役物比率、6000遊技の連続役物比率、6000遊技の役物比率、総累計の連続役物比率、総累計の役物比率、役物等状態比率)に適用できるのは言うまでもない。また、スロットマシン400に限らず、第5の演算例や第6の演算例を用いて説明したように、パチンコ機のベース値にも適用可能である。
【1124】
<ビアホール>
また、上述した実施形態において、遊技の基本動作を制御する主制御基板300、500自体の電気的構成および機械的構成について、特に限定していないが、その態様によっては、回路動作の安定性に影響を及ぼす場合がある。
【1125】
遊技機では、主制御基板300、500の表面および裏面に配線パターンが形成された両面基板が用いられる場合がある。両面基板では、表面に形成された配線パターンと、裏面に形成された配線パターンとを導通させるためにビアホールが設けられている。
【1126】
ビアホールは、両面基板を貫通する貫通孔の内周面に銅メッキが施されることにより、表面に形成された配線パターンと、裏面に形成された配線パターンとを導通させるようになされている。
【1127】
しかしながら、ビアホールは、中空となっているため、表面および裏面に形成された配線パターンよりもパターン幅(断面積)が狭い。そのため、ビアホールは、表面および裏面に形成された配線パターンよりもインピーダンス(主に、抵抗)が高くなってしまい、回路動作の安定性を欠くおそれがあった。そこで、インピーダンスを低下させ、回路動作の安定性を向上する。
【1128】
図122は、主制御基板300の構成を説明する図である。ここでは、主制御基板300、500のうち主制御基板300を挙げて説明する。なお、
図122は、主制御基板300を表面340a(一面)から見た正面図を示す。また、
図122では、説明の便宜上、主制御基板300に配置される電子部品の一部を図示しており、実際には、主制御基板300には不図示の電子部品も配置されている。また、
図122では、説明の便宜上、主制御基板300に形成される配線パターンを省略している。主制御基板300は、量産品の遊技機100に搭載されるものであり、都道府県の公安委員会等の検査において、不正な改造がされていないかや、型式試験で適合したものと同一の見た目となっているかが判別可能であることが望ましい。
【1129】
主制御基板300には、基板本体部340が設けられる。基板本体部340は、表面340aおよび裏面340b(他面、
図123参照)に配線パターンが形成された両面基板である。基板本体部340の表面340aには、複数の電子部品が配置されている。基板本体部340に配置される電子部品としては、例えば、メインCPU300a(メインROM300bおよびメインRAM300cを内蔵)、IC342、抵抗344、コンデンサ346、LED348、コネクタ350、スイッチ352、インダクタ(不図示)などである。
【1130】
ここで、電子部品同士を表面340aのみに形成された配線パターンによって接続しようとしても、パターンが交差してしまい電気的に区分けすることができない場合が生じ得る。そこで、これらの電子部品同士は、基板本体部340の表面340aおよび裏面340bに形成された配線パターンによって接続されている。
【1131】
また、基板本体部340には、表面340aに形成された配線パターンと、裏面340bに形成された配線パターンとを導通させるためのビアホール354が複数形成されている。なお、ビアホール354の詳細について、詳しくは後述する。
【1132】
主制御基板300は、配設可能な電気部品が、規則上、片面実装のDIP(Dual Inline Package)型の電気部品でないと型式試験に適合しないことから、電気部品の占有面積が増大する傾向にある。ここで、単に、占有面積が増加すると、その分、基板本体部340が大きくなったり、基板本体部340が大きくなることで配置設計が困難になる場合がある。そこで、基板本体部340における電気部品の配置を工夫することで、占有面積の増大を抑制する。
【1133】
メインCPU300aおよびIC342は、トランジスタやダイオード、抵抗、コンデンサなどの電気部品を集積した集積回路である。また、メインCPU300aおよびIC342は、平板状に形成された本体と、本体の長辺の側面から外方に突出する3以上のリード356(
図123参照)で構成される。かかるリード356は、本体の2つの長辺側面に同数かつ均等間隔に配されており、正面視で左下から右下まで横方向に端子番号が順次付され、さらに、右上から左上まで横方向に端子番号が順次付されている。
【1134】
このようにメインCPU300aおよびIC342は、正面視で上下対称的に形成されるので、上下方向を誤認識しないために様々な手段がとられている。例えば、正面視で1番端子を左下とする配置(正配置)で、その本体の中央において、正面視で正方向となるように、長手方向に不図示の文字列が印刷される。かかる文字列は、アルファベット、数字、カナ、漢字、記号等、様々な表記を適用できる。
【1135】
また、メインCPU300aでは、正面視で1番端子を左下とする配置で、短辺の左側面に、左辺の一部を半円状に切り欠いた識別子が形成されている。また、IC342では、正面視で1番端子を左下とする配置で、その1番端子の近傍に1番端子の位置を示す円状の識別子が形成されている。
【1136】
抵抗344、コンデンサ346、インダクタは、円柱状や角柱状の本体と、その両端部からそれぞれ外方に突出するリード356で構成される。抵抗344、コンデンサ346、インダクタは、基板本体部340の表面340aに対して平行に(表面340aに沿うように)配置されている。また、抵抗344、コンデンサ346、インダクタには、柱状の本体における側面部分に、端子が突出している方向(突出方向)と交差する方向に延びる色彩を有する無端状の帯が、突出方向に並んで複数印刷されている。そして、突出方向に並ぶ帯の色の組み合わせ(カラーコード)により、抵抗344の抵抗値と精度、コンデンサ346の静電容量と精度、インダクタのインダクタンスと精度を特定することができる。なお、抵抗344およびインダクタには極性がないが、コンデンサ346には極性がないものと有るものがある。抵抗344、コンデンサ346、インダクタは、カラーコードの値を読み解くことなく、目視したときに同一性能であることが判別できることが望ましい。そのため、同一のカラーコードを有する抵抗344、コンデンサ346、インダクタの向きを揃えて配置することで、カラーコードから値を読み解かなくても、目視したときに同一の電子部品であることが一目瞭然となっている。
【1137】
ここで、電子部品は、全て、基板本体部340の一面(表面340a)に配置される例を挙げている。また、電子部品の実装種別は、DIP型の例を挙げているが、かかる場合に限らず、SIP(Single Inline Package)、SOP(Small Outline Package)、QFP(Quad Flat Package)等、様々な実装種別を採用することができる。なお、DIPでは、端子間の距離が規格化されているので、電子部品単体で、ある程度の面積を占有してしまう。したがって、以下に示すような電子部品の配置を工夫することによる占有面積の削減効果がDIP型の電子部品に対し顕著に生じ易い。
【1138】
また、基板本体部340には、実装されるメインCPU300a、IC342、抵抗344、コンデンサ346、LED348、コネクタ350、スイッチ352に対応する識別表示(CPU、IC1~IC11、R1~R9、C1~C11、LED1~LED5、CN1~CN5、SW1)が、その近傍に印刷されている。ここでは、電気部品の実装箇所を視認できるので、誤った実装を防止できる。また、かかる識別表示は、電気部品を実装した後でも正面から視認できる(隠れない)位置に配置されている。したがって、実装後の確認においても作業性を向上することが可能となる。また、識別表示は、正面視でIC342の1番端子を左下とする配置で正方向となるように文字列が印刷されている。したがって、IC342の実装方向の誤認識を防止することもできる。
【1139】
また、表面340a上では、このような電気部品の識別表示(CPU、IC1~IC11、R1~R9、C1~C11、LED1~LED5、CN1~CN5、SW1)の表示方向を可能な限り統一する。こうすることで、実装後の確認においても作業性を向上することができる。また、主制御基板300を封入する樹脂ケース(図示せず)が遊技機100に取り付けられている状態で、メインCPU300aの識別表示(CPU)およびIC342の識別表示(IC1~IC11)が、全て正面視で正方向となるように、主制御基板300の表面に取り付けられている。これにより、作業者は、主制御基板300を封入する樹脂ケースが遊技機100に取り付けられている状態においても、識別番号を容易に視認でき、実装後の確認においても作業性を向上することが可能となる。
【1140】
また、表面340a上では、実装するメインCPU300aおよびIC342の取り付け方向の誤認を防止するための案内表示が印刷されている。例えば、正面視でメインCPU300aの1番端子を左下とする配置で、短手方向の左側面に、左辺の一部を半円状に切り欠いた識別子が形成されている場合、メインCPU300aを基板上に正しく配置できるよう、半円状の切り欠きの近傍の基板上に、その切り欠いた形状を模した案内表示が印刷される。また、IC342の1番端子を左下とする配置で、その1番端子の近傍で1番端子の位置を示す円状の識別子が形成されている場合、IC342を基板上に正しく配置できるよう、その円状の識別子の近傍の基板上に、三角(△)の案内表示が印刷される。こうすることで、IC342の実装方向の誤認識を防止することができ、また、実装後の確認においても作業性を向上することが可能となる。なお、コンデンサに極性がある場合、コンデンサの正極の近傍の基板上に、正極を示すプラス(+)の案内表示を印刷してもよい。
【1141】
また、IC342に対し、その入力電力を平滑化するため、それぞれコンデンサ346が配置されている。このように、IC342には、1または複数の電気部品を対応付けて配置する場合がある。なお、IC342にコンデンサ346を配置する場合、入力電力を平滑化させるためには、可能な限り、コンデンサ346をIC342に近づける必要がある。
【1142】
そこで、主制御基板300では、IC342の近傍に、それぞれコンデンサ346を配置し、そのIC342とコンデンサ346を1単位として捉えた(一体的に観察した)場合に、1単位の長辺×短辺の面積が小さくなる位置および姿勢でコンデンサ346を配置する。例えば、
図122の例では、コンデンサ346の長手方向をIC342の短手方向に沿うように配置する。ここでは、コンデンサ346の長辺とIC342の短辺の長さが近似(長さが等しいことも含む)しており、コンデンサ346の長手方向をIC342の短手方向に沿うように配置したとしても矩形形状を大凡維持でき、その面積も、IC342の短辺×(IC342の長辺+コンデンサの短辺)となるので、占有面積を削減することが可能となる。
【1143】
また、IC342では、本体の2つの長手方向側面に極性を異とする電源端子がそれぞれ配置されている(例えば、IC342では正極が20番端子、負極が10番端子)ことが多い。したがって、コンデンサ346の長手方向をIC342の短手方向に沿うように配置することで、極性を異とする電源端子とコンデンサ346の両端子とをそれぞれ結ぶ結線を最短とすることができ、配線パターンの最小化を図ることもできる。
【1144】
なお、ここでは、1のIC342に対し、1のコンデンサ346を対応付ける例を挙げて説明したが、かかる場合に限らず、1のIC342に対し、複数の電気部品(抵抗344、コンデンサ346、コンダクタンス)を対応付けてもよい。この場合、複数の電気部品の長手方向が平行となるように並置し、全ての電気部品の長手方向をIC342の短手方向に沿うように配置するとよい。また、ここでは、1のIC342に対し、1のコンデンサ346を対応付ける例を挙げて説明したが、電気部品の種類や数は問われない。
【1145】
また、1のIC342に対し、複数(例えば2つ)の電気部品を対応付ける場合に、複数の電気部品を、その長手方向が等しくなるように直列に並置し、複数の電気部品の長手方向をIC342の長手方向に沿うように配置してもよい。ここでは、複数の電気部品を直列に配置した場合の長辺とIC342の長辺の長さが近似(長さが等しいことも含む)しており、複数の電気部品の長手方向をIC342の長手方向に沿うように配置したとしても矩形形状を大凡維持でき、その面積も、IC342の長辺×(IC342の短辺+電気部品の短辺)となるので、占有面積を削減することが可能となる。
【1146】
また、
図122の基板においては、IC342に対し、プルアップ抵抗やプルダウン抵抗として、複数の抵抗344(ここでは9つ)を併設した抵抗群を配置する場合がある。この場合も、プルアップ抵抗やプルダウン抵抗の機能を十分に活かすため、可能な限り、抵抗群をIC342に近づける必要がある。
【1147】
そこで、
図122の例では、IC342(IC7)の近傍に、複数の抵抗344を配置し、そのIC342と抵抗群を1単位として捉えた(一体的に観察した)場合に、1単位の長辺×短辺の面積が小さくなる位置および姿勢で抵抗群を配置する。例えば、
図122の例では、複数の抵抗344の長手方向が平行となるように並置し、その並置方向が、IC342の長手方向に沿うように配置する。ここでは、抵抗の短辺がIC342の端子間距離より短く、抵抗群の並置方向の長さとIC342の長辺の長さが近似(長さが等しいことも含む)しており、抵抗群の並置方向をIC342の長手に沿うように配置したとしても矩形形状を大凡維持でき、その面積も、IC342の長辺×(IC342の短辺+抵抗の長辺)となるので、占有面積を削減することが可能となる。
【1148】
また、IC342では、入出力等の機能を等しくする端子が連続して配置されている場合がある。したがって、抵抗群の並置方向をIC342の長手に沿うように配置することで、IC342の連続する端子と、複数の抵抗の一端とをそれぞれ結ぶ結線を最短とすることができ、配線パターンの最小化を図ることもできる。
【1149】
なお、ここでは、1のIC342に対し、9つの電気部品(抵抗344)を併設した電気部品群を対応付ける例を挙げて説明したが、かかる場合に限らず、電気部品の数は任意に決定することができる。また、ここでは、1のIC342に対し、複数の抵抗344を併設した抵抗群を対応付ける例を挙げて説明したが、電気部品の形状や機能が等しければ、種類や数は問われない。また、ここでは、別体の抵抗344を併設した抵抗群を適用しているが、例えば、予め複数の抵抗をモールディング等により一体形成した抵抗アレイ(集合抵抗)を適用してもよい。
【1150】
また、上記のように占有面積を削減することで、単位面積当たりの電気部品の密度を高めることができる。しかし、電気部品の密度が高まると、電気部品の実装位置を把握したり、実装後に実装位置を確認するのに時間を要し、作業性が低下する。ここでは、その識別性を向上することで、作業性を向上する。
【1151】
例えば、
図122の基板における破線で示した領域においては、IC342と、コンデンサ346とを規則的に配置している。具体的に、正面視でIC342の左短辺の位置を左右方向で合わせる(等しくするまたはほぼ等しくする)。また、正面視でIC342の左短辺の位置を上下方向で合わせる(等しくするまたはほぼ等しくする)。また、正面視でコンデンサ346の位置を左右方向で合わせる(等しくするまたはほぼ等しくする)。また、正面視でコンデンサ346の位置を上下方向で合わせる(等しくするまたはほぼ等しくする)。そして、正面視左側からコンデンサ346とIC342とを順に(交互に)、その中央位置を上下方向で合わせる(等しくするまたはほぼ等しくする)。また、IC342に対し、それぞれ添え字が等しいコンデンサ346を対応させている。
【1152】
ここでは、電気部品を規則的に配置することで、その法則に従い、1の電気部品から他の電気部品の位置を予測することが可能となる。したがって、その識別性が向上し、電気部品の実装位置を把握したり、実装後に実装位置を確認するのが容易になり、作業性を向上することができる。
【1153】
なお、極性がない電気部品、例えば、抵抗344、コンデンサ346、インダクタについては、2つの端子を上下(左右)のいずれの方向に取り付けても問題ない。しかし、ここでは、その方向を同機能の電気部品同士で揃える(統一する)。例えば、
図122において、抵抗344やコンデンサ346のカラーコードの並び(見た目)が正面視で同一となるように配置されている。このような配置により、電気部品同士が等しいこと、または、電気部品同士が異なることを容易に識別することができ、作業性を向上することが可能となる。
【1154】
また、ここでは、主制御基板300全てにおいて、抵抗344同士、または、コンデンサ346同士のカラーコードの並びが同一となるように配置する例を挙げて説明したが、かかる場合に限らず、主制御基板300の少なくとも一部において、複数の電子部品のカラーコードの並びが正面視で同一となるように配置されればよい。
【1155】
また、主制御基板300に取り付けられている電気素子の検査時、例えば、遊技機100の製造ラインにおける動作検査時、公安委員会の指定試験機関である保安通信協会(保通協)の型式試験での検査時、警察等による遊技場への立入検査時、遊技機100が故障した際の故障部位を特定する検査時等における作業性の向上を図ることができる。
【1156】
図123は、主制御基板300における電子部品の接合を説明する図である。
図123(a)では、基板本体部340を断面で示している。
図123(b)は、
図123(a)の部分拡大図である。ここでは、電子部品としてIC342を例に挙げて説明するが、他の電子部品も同様にして接合されている。
【1157】
図123(a)に示すように、IC342には、複数のリード356が設けられている。なお、リード356の数は、電子部品ごとに異なる。
【1158】
また、基板本体部340には、IC342のリード356を挿通させるために、表面340aから裏面340bまで貫通したスルーホール358が形成されている。スルーホール358は、リード356が挿通可能な内径に形成されている。また、スルーホール358には、表面340aに形成された配線パターン、および、裏面340bに形成された配線パターンの少なくとも一方と、IC342のリード356とを導通させるために銅メッキが内周面に亘って施されている。
【1159】
そして、IC342が基板本体部340に接合される際、IC342が表面340a側から基板本体部340に配置され、IC342のリード356がスルーホール358に挿通される。スルーホール358に挿通されたリード356は、先端が裏面340bから突出する。その後、裏面340bから突出したリード356に、導電性のハンダ360がフロー方式によってハンダ付けされる。これにより、IC342が基板本体部340に接合され、IC342が基板本体部340に固定されるとともに、IC342が主制御基板300に形成された配線パターンと電気的に接続される。
【1160】
なお、主制御基板300では、基板本体部340の表面340aに全ての電子部品が配置された後、すなわち、全ての電子部品のリード356がスルーホール358に挿通された後、基板本体部340の裏面340bを溶解ハンダに浸すことで、リード356とスルーホール358との間に溶解ハンダが流れ込み、基板本体部340に電子部品が接合される。
【1161】
ところで、
図123(b)に示すように、裏面340bは、配線パターン362が形成されるとともに、絶縁性のレジスト364で覆われている。レジスト364は、配線パターン362を覆う一方で、スルーホール358の周囲(環状)には施されていない。
【1162】
そして、スルーホール358の周囲は、配線パターン362が露出したランド366として機能する。ハンダ360は、ランド366を覆うようにしてリード356を基板本体部340に接合する。これにより、リード356は、ハンダ360を介して配線パターン362と導通する。
【1163】
図124は、ビアホール354を説明する図である。
図124に示すように、ビアホール354は、表面340aから裏面340bまで貫通する貫通孔によって形成される。ビアホール354の内径は、例えば0.2~0.3mmである。ビアホール354は、基板本体部340の表面340aに施された配線パターン362と、裏面340bに施された配線パターン362とに接続されている。
【1164】
ビアホール354は、基板本体部340の表面340aに施された配線パターン362と、裏面340bに施された配線パターン362とを導通させるための銅メッキ368が内周面に亘って施されている。つまり、ビアホール354は、銅メッキ368によって、基板本体部340の表面340aに施された配線パターン362と、裏面340bに施された配線パターン362とを導通させている。
【1165】
ここで、ビアホール354は、通常、中空となっている。しかしながら、ビアホール354が中空であると、配線パターン362よりも銅メッキ368のパターン幅、すなわち断面積が狭いため、インピーダンスが配線パターン362よりも高い。より具体的には、ビアホール354は、配線パターン362よりも抵抗が高くなるとともに、インダクタンスおよびキャパシタンスが若干高くなる。
【1166】
そうすると、ビアホール354において、高周波信号への影響や、電流が流れる際の電圧降下が起こってしまい、回路動作が不安定になるおそれがある。
【1167】
そこで、本実施形態の主制御基板300では、ビアホール354の周囲(環状)に配線パターン362が露出するように、基板本体部340の表面340aおよび裏面340bがレジスト364で覆われている。そして、配線パターン362が露出した部分がランド370として機能する。
【1168】
また、ビアホール354の内部は、導電性のハンダ372で埋められている。主制御基板300では、基板本体部340に配置された電子部品がフロー方式によりハンダ付けされる際に、溶解ハンダの熱によって、裏面340bに形成されたランド370が加熱されるとともに、銅メッキ368が加熱される。そうすると、溶解ハンダは、ランド370に付着するとともに、銅メッキ368に表面張力により流れ込んでいき、ビアホール354の内部がハンダ372で埋められる。したがって、電子部品の接合とともにビアホール354をハンダ372で埋めることができるので、ビアホール354をハンダ372で容易に埋めることができる。なお、ハンダ372は、少なくともランド370(裏面340b)を覆えばよい。
【1169】
このようにして、ビアホール354の内部をハンダ372で埋めることにより、基板本体部340の表面340aおよび裏面340bに形成された配線パターン362よりもビアホール354のパターン幅(断面積)を広くすることができる。これにより、ビアホール354のインピーダンスを配線パターン362よりも下げることができ、回路動作の安定性を向上することができる。
【1170】
なお、主制御基板300に設けられた全てのビアホール354について、ハンダ372で埋められていることが理想的であるが、一部のビアホール354のみがハンダ372で埋められていてもインピーダンスを下げる効果がある。
【1171】
また、ビアホール354が表面340aから裏面340bに亘って全てハンダ372で埋められていることが理想的であるが、表面340aから裏面340bにかけての一部のみがハンダ372で埋められていてもインピーダンスを下げる効果がある。
【1172】
なお、上述した実施形態では、ビアホール354をハンダ372で埋めるようにした。しかしながら、ビアホール354を導電性の部材(導電性部材)で埋めるようにすれば、ハンダ372でなく、他の導電性部材であってもよい。また、ビアホール354は、電子部品とは異なる方法(フロー方式でない方法)によって導電性部材が埋められるようにしてもよい。
【1173】
また、上述した実施形態では、主制御基板300に形成されたビアホール354を導電性部材(ハンダ372)で埋めるようにした。しかしながら、払出制御基板310や副制御基板330に形成されたビアホール354を導電性部材(ハンダ372)で埋めるようにしてもよい。
【1174】
また、上記実施形態では、両面基板である主制御基板300においてビアホール354を導電性部材で埋めるようにした。しかしながら、3層以上の層に配線パターン362が形成された多層基板において、異なる層に形成された配線パターン362同士を導通させるビアホール354を導電性部材で埋めるようにしてもよい。
【1175】
以上、示したように、主制御基板300は、配線パターンが形成された複数の層を有する基板本体部と、基板本体部を貫通し、異なる層に形成された配線パターン同士を導通させるビアホールと、を備え、ビアホールは、内部が導電性部材で埋められている。また、払出制御基板(遊技価値付与制御基板)310は、配線パターンが形成された複数の層を有する基板本体部と、基板本体部を貫通し、異なる層に形成された配線パターン同士を導通させるビアホールと、を備え、ビアホールは、内部が導電性部材で埋められている。また、基板は、配線パターンが形成された複数の層を有する基板本体部と、基板本体部を貫通し、異なる層に形成された配線パターン同士を導通させるビアホールと、を備え、ビアホールは、内部が導電性部材で埋められている。また、基板本体部は、電子部品のリードが挿通されるスルーホールが形成されており、一面側から電子部品のリードがスルーホールに挿通され、基板本体部の他面におけるビアホールの周囲は、配線パターンが露出したランドが形成されてもよい。なお、遊技価値付与制御基板には、遊技価値を付与する基板であり、払出制御基板310、スロットマシン400においてメダルを払い出す払出制御基板、所謂管理遊技機における枠制御基板、所謂メダルレス遊技機におけるメダル制御基板が含まれる。
【1176】
<面実装部品>
また、上記では、主制御基板300において、片面実装のDIP(Dual Inline Package)型の電気部品(DIP部品)を配設する例を挙げて説明した。しかし、主基板(主制御基板300、中継基板等のメイン系基板、払出制御基板310、電源基板等)において、その電気部品を特定するために表示された番号、記号、その他の符号を、装着した状態で判別できることを条件に、面実装(Surface Mount)型の電気部品(面実装部品)を配設してもよい。したがって、例えば、主制御基板300に、DIP部品のみを配設してもよいし、面実装部品のみを配設してもよいし、DIP部品および面実装部品を混在させて配設することもできる。
【1177】
上述したように、単に、電気部品の占有面積が増加すると、その分、基板本体部340が大きくなることで配置設計が困難になる場合がある。しかし、一般に、面実装部品は、DIP部品より、占有面積が小さい。また、面実装部品は、DIP部品と異なり、表面340aから裏面340bまで貫通するビアホール354を必要としない。さらに、面実装部品は、面実装部品本体のみならず端子も表面340aでのみ配置されるので、裏面340bに端子が突出しない。したがって、裏面340bに他の面実装部品を配置することが可能となり、部品の占有効率を高めることができる。したがって、主制御基板300には、面実装部品のみを配設することが望まれる。
【1178】
しかし、抵抗等、所定の部品については、面実装部品を利用するのが非効率な場合がある。そこで、1の主制御基板300に、DIP部品および面実装部品を混在させて配設する。例えば、抵抗等、DIP部品とするのが適当な電気部品の場合、DIP部品を配設し、他の電気部品であり、面実装部品が存在するものについては、面実装部品を配設する。かかる構成により、電気部品の動作の安定性を確保しつつ、占有面積の増大を抑制することが可能となる。
【1179】
また、面実装部品には、BGA(Ball Grid Array)、QFP(Quad Flat Package)、SOP(Small Outline Package)等、様々な実装態様が準備され、その大きさも複数から選択できる。ここでは、主制御基板300に用いられる電気部品の面実装部品について、実装態様を統一したり、その大きさや、配設方向を合わせることで、占有面積の増大をより抑制することが可能となる。
【1180】
また、面実装部品では端子間が狭いので、端子に直接テストリードを当てて電気的情報を得ることがし難く、テストリードが他の端子に接触するおそれもある。そこで、主基板ケースに密封されている主制御基板300に限り、テストポイントであることを示す番号、記号等を表示(シルク印刷)することを条件に、テストポイントを設けることもできる。また、面実装部品であり、端子に測定器のテストリードを当てることができないもの(電気部品を基板に装着した状態で端子が表に現れないもの)については、該当する全ての端子についてテストポイントを設けなければならない。ここで、テストポイント間の距離は1.64mm以上とする。
【符号の説明】
【1181】
100 遊技機
300、500 主制御基板
300a、500a メインCPU
300b、500b メインROM
300c、500c メインRAM
330、502 副制御基板
330a、502a サブCPU
330b、502b サブROM
330c、502c、 サブRAM
400 スロットマシン