(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-10-28
(45)【発行日】2022-11-08
(54)【発明の名称】遊技機
(51)【国際特許分類】
A63F 7/02 20060101AFI20221031BHJP
【FI】
A63F7/02 326Z
(21)【出願番号】P 2018105885
(22)【出願日】2018-06-01
【審査請求日】2021-03-10
(73)【特許権者】
【識別番号】391010943
【氏名又は名称】株式会社藤商事
(74)【代理人】
【識別番号】100154014
【氏名又は名称】正木 裕士
(74)【代理人】
【識別番号】100154520
【氏名又は名称】三上 祐子
(72)【発明者】
【氏名】井上 孝司
【審査官】奥田 雄介
(56)【参考文献】
【文献】特開2018-057580(JP,A)
【文献】特開2018-029737(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
A63F 7/02
(57)【特許請求の範囲】
【請求項1】
複数のコール命令のうち何れかのコール命令で呼び出されるサブルーチンを含む遊技プログラムが格納されているROMを備えた遊技機であって、
前記ROMは、少なくとも、遊技処理時に使用される通常用プログラムが格納された第1プログラム領域と、遊技価値に関する所定の値を計測する際に使用される計測用プログラムが格納された第2プログラム領域に区分され、
前記複数のコール命令は、第1コール命令と第2コール命令と第3コール命令とを含み、
前記第1プログラム領域には、前記第1コール命令で呼び出される第1サブルーチンと、前記第2コール命令で呼び出される第2サブルーチンとが格納され、
前記第2プログラム領域には、前記通常用プログラムにて実行される処理の中で、前記第3コール命令で呼び出される
際に、フラグレジスタの値を退避させた上で呼び出される第3サブルーチンが格納され、
前記第1コール命令は、前記複数のコール命令のうち、最小のプログラムコードのデータ量であり、
前記第1コール命令は、前記通常用プログラムにおいて、
所定時間毎に発生するタイマ割込み信号に基づいて実行される割込み処理内の遊技プログラムで用いられると共に、初期処理から該割込み処理が呼び出されるメインループ処理が実行される前までの遊技プログラムでも用いられ、この際、前記割込み処理内の遊技プログラムで用いられる割合が、初期処理から該割込み処理が呼び出されるメインループ処理が実行される前までの遊技プログラムで用いられる割合より高くなっている遊技機。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、パチンコ機、アレンジボール機、雀球遊技機、スロットなどの遊技機に関し、より詳しくは、プログラムの処理負荷軽減と、プログラム容量の削減を図ることができる遊技機に関する。
【背景技術】
【0002】
従来のパチンコ機等の遊技機として、例えば特許文献1に記載のような遊技機が知られている。この遊技機は、処理負荷を軽減するように工夫しているものである。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記のような遊技機は、処理負荷を軽減するように工夫しているものの、サブルーチンを群として複数のサブルーチンを状況に合わせて呼び出すようにしているため、プログラム容量を削減するための改善の余地があり、プログラムの処理負荷軽減と、プログラム容量の削減を図ることができていないという問題があった。
【0005】
そこで本発明は、上記問題に鑑み、プログラムの処理負荷軽減と、プログラム容量の削減を図ることができる遊技機を提供することを目的としている。
【課題を解決するための手段】
【0006】
上記本発明の目的は、以下の手段によって達成される。なお、括弧内は、後述する実施形態の参照符号を付したものであるが、本発明はこれに限定されるものではない。
【0007】
請求項1の発明に係る遊技機によれば、複数のコール命令(例えば、CALL_S命令、CALL_M命令、CALL_L命令、CALL命令)のうち何れかのコール命令で呼び出されるサブルーチンを含む遊技プログラムが格納されているROM(例えば、
図9(b)に示す主制御ROM600b)を備えた遊技機であって、
前記ROM(例えば、
図9(b)に示す主制御ROM600b)は、少なくとも、遊技処理時に使用される通常用プログラムが格納された第1プログラム領域(例えば、
図9(b)に示す通常用プログラム領域600ba)と、遊技価値に関する所定の値を計測する際に使用される計測用プログラムが格納された第2プログラム領域(例えば、
図9(b)に示す計測用プログラム領域600be)に区分され、
前記複数のコール命令(例えば、CALL_S命令、CALL_M命令、CALL_L命令、CALL命令)は、第1コール命令(例えば、CALL_S命令)と第2コール命令(例えば、CALL_M命令)と第3コール命令
(例えば、CALL_L命令)とを含み、
前記第1プログラム領域(例えば、
図9(b)に示す通常用プログラム領域600ba)には、前記第1コール命令(例えば、CALL_S命令)で呼び出される第1サブルーチン(例えば、
図14(b)に示すデータセット処理、コマンド送信処理)と、前記第2コール命令(例えば、CALL_M命令)で呼び出される第2サブルーチン(例えば、
図14(f)に示す各種乱数更新処理)とが格納され、
前記第2プログラム領域(例えば、
図9(b)に示す計測用プログラム領域600be)には、前記通常用プログラムにて実行される処
理の中で、前記第3コール命令
(例えば、CALL_L命令)で呼び出される
際に、フラグレジスタの値を退避させた上で呼び出される第3サブルーチ
ンが格納され
(例えば、明細書段落[0135]参照)、
前記第1コール命令(例えば、CALL_S命令)は、前記複数のコール命令(例えば、CALL_S命令、CALL_M命令、CALL_L命令、CALL命令)のうち、最小のプログラムコードのデータ量であり、
前記第1コール命令(例えば、CALL_S命令)は、前記通常用プログラムにおいて、
所定時間毎に発生するタイマ割込み信号に基づいて実行される割込み処理内の遊技プログラムで用いられると共に、初期処理から該割込み処理が呼び出されるメインループ処理が実行される前までの遊技プログラムでも用いられ、この際、前記割込み処理内の遊技プログラムで用いられる割合が、初期処理から該割込み処理が呼び出されるメインループ処理が実行される前までの遊技プログラムで用いられる割合より高くなっている(例えば、明細書段落[0133]参照)ことを特徴としている。
【発明の効果】
【0009】
本発明によれば、プログラムの処理負荷軽減と、プログラム容量の削減を図ることができる。
【図面の簡単な説明】
【0010】
【
図1】本発明の一実施形態に係る遊技機の外観を示す斜視図である。
【
図2】同実施形態に係る遊技盤を装着する前の遊技機の扉を開放した状態を示す正面側の斜視図である。
【
図3】同実施形態に係る遊技盤を装着する前の遊技機の扉を開放した状態を示す正面図である。
【
図4】同実施形態に係る遊技機の外観を示す背面側の斜視図である。
【
図6】
図5に示すX部分を拡大表示した正面斜視図である。
【
図7】同実施形態に係る遊技機の制御装置を示すブロック図である。
【
図8】(a)は同実施形態に係る計測表示装置の詳細図、(b)は同実施形態に係る設定表示装置の詳細図である。
【
図9】(a)は同実施形態に係る主制御RAMのメモリ領域を示し、(b)は同実施形態に係る主制御ROMのメモリ領域を示すメモリマップを説明する説明図である。
【
図10】(a)は主制御ROMの従来のデータ配置を示し、(b)は同実施形態に係る主制御ROMのデータ配置を示す説明図である。
【
図11】(a)は
図10(b)に示すデータ配置をする際のプログラム例を示し、(b)は
図10(b)に示すデータを読み出す際のプログラム例を示す図である。
【
図12】
図11(a)に示すプログラム例とは異なる他の実施形態を示すプログラム例を示す図である。
【
図13】(a)は従来のカウンタプログラムの例を示し、(b)は同実施形態に係るカウンタプログラムの例を示し、(c)は(b)に示すカウンタプログラムを汎用モジュール化した場合のプログラム例を示し、(d)は、(c)に示す汎用モジュール化したプログラムを呼び出す際のプログラムの例を示す図である。
【
図14】(a)はCALL_S命令で呼び出すことができるサブルーチンのテーブルアドレスのプログラム例を示し、(b)は主制御の初期化処理の一部を示すプログラム例を示し、(c)は(b)に示すCTCの設定テーブルのプログラム例を示し、(d)は(b)に示すデータセット処理のプログラム例を示し、(e)は(b)に示すコマンド送信処理のプログラム例を示し、(f)は主制御のメインループ処理のプログラム例を示す図である。
【
図15】同実施形態に係る主制御のメイン処理を説明するフローチャート図である。
【
図16】
図15に示すメイン処理中入力管理処理を説明するフローチャート図である。
【
図17】
図15に示す賞球入賞数管理処理1を説明するフローチャート図である。
【
図18】
図17に示す計測用RAM領域の初期設定を説明するフローチャート図である。
【
図19】
図17に示すカウント処理を説明するフローチャート図である。
【
図20】
図17に示す計数処理を説明するフローチャート図である。
【
図21】
図20に示す計数処理とは異なる他の実施形態の計数処理を説明するフローチャート図である。
【
図22】同実施形態に係る主制御のタイマ割込み処理を説明するフローチャート図である。
【
図23】
図22に示すスイッチ入力処理を説明するフローチャート図である。
【
図24】
図23に示す入賞無効処理を説明するフローチャート図である。
【
図25】
図22に示す賞球管理処理を説明するフローチャート図である。
【
図26】
図22に示す普通図柄処理を説明するフローチャート図である。
【
図27】
図22に示す特別図柄処理を説明するフローチャート図である。
【
図28】
図27に示す始動口チェック処理1(2)を説明するフローチャート図である。
【
図29】(a)は普通図柄の当否抽選を実行する際に使用される普通図柄当たり判定テーブルを示し、(b)は特別図柄の当否抽選を実行する際に使用される特別図柄大当たり判定テーブルを示し、(c)は特別図柄の当否抽選を実行する際に使用される特別図柄小当たり判定テーブルを示す図である。
【
図30】
図22に示す設定確認処理を説明するフローチャート図である。
【
図31】
図22に示す賞球入賞数管理処理2を説明するフローチャート図である。
【
図32】
図31に示す表示更新処理を説明するフローチャート図である。
【
図33】コモン設定、7セグメント出力処理を説明するフローチャート図である。
【
図34】計測表示装置用設定処理を説明するフローチャート図である。
【
図35】計測表示装置用出力処理を説明するフローチャート図である。
【
図36】スロット遊技機におけるカウント処理を説明するフローチャート図である。
【
図37】
図36に示す計数処理を説明するフローチャート図である。
【
図38】スロット遊技機における表示更新処理を説明するフローチャート図である。
【発明を実施するための形態】
【0011】
以下、本発明に係る遊技機の一実施形態を、パチンコ遊技機を例にして、図面を参照して具体的に説明する。なお、以下の説明において、上下左右の方向を示す場合は、図示正面から見た場合の上下左右をいうものとする。
【0012】
<パチンコ遊技機外観構成の説明>
まず、
図1~
図6を参照して、本実施形態に係るパチンコ遊技機の外観構成を説明する。
【0013】
<パチンコ遊技機前面の外観構成の説明>
図1に示すように、パチンコ遊技機1は、木製の外枠2と、この外枠2の前面に、左側面に設けられているヒンジ4a(
図2参照)を介して縦軸心廻りに開閉自在及び着脱自在に枢着された矩形状の前面枠3とを備えている。
【0014】
この前面枠3は、
図2及び
図3に示すように、上部装着部5と、この上部装着部5の下側に設けられた下部装着部6とを備えている。この上部装着部5の前側には、上記ヒンジ4aを介して縦軸心廻りに開閉自在及び着脱自在に枢着された透明ガラスを支持した上部開閉扉7が設けられ、下部装着部6の前側には、下部開閉扉8がヒンジ4aと同じ側に設けられたヒンジ4bにより開閉自在及び着脱自在に枢着されている。
【0015】
そして、この下部開閉扉8には、
図1に示すように、排出された遊技球を貯留する上受け皿9と、この上受け皿9が満杯になったときにその余剰球を受けて貯留する下受け皿10とが一体形成されている。また、下部開閉扉8には、球貸しボタン11及びプリペイドカード排出ボタン12(カード返却ボタン12)が設けられ、そして、上受け皿9の上皿表面部分には、内蔵ランプ(図示せず)点灯時に押下することにより演出効果を変化させることができる押しボタン式の演出ボタン装置13が設けられている。また、この上受け皿9には、当該上受け皿9に貯留された遊技球を下方に抜くための球抜きボタン14が設けられ、さらに、略十字キーからなる設定ボタン15が設けられている。この設定ボタン15は、遊技者による操作が可能なもので、中央部に設けられた円形の決定キー15aと、その決定キー15aの図示上側に設けられた三角形状の上キー15bと、その決定キー15aの図示左側に設けられた三角形状の左キー15cと、その決定キー15aの図示右側に設けられた三角形状の右キー15dと、その決定キー15aの図示下側に設けられた三角形状の下キー15eとで構成されている。
【0016】
一方、下部開閉扉8の右端部側には、
図1に示すように、発射ユニットを作動させるための発射ハンドル16が設けられ、
図1~
図3に示すように、前面枠3の上部両側面側及び発射ハンドル16の近傍には、BGM(Background music)あるいは効果音を発するスピーカ17が設けられている。そして、上部開閉扉7及び下部開閉扉8の各所には、光の装飾による演出効果を現出するLEDランプ等の装飾ランプが配置されている。
【0017】
他方、上部装着部5には、
図2及び
図3に示すように、遊技盤装着枠18が設けられており、この遊技盤装着枠18に遊技盤YB(
図1参照)が、
図5に示す遊技領域40を前面に臨ませた状態で装着され、遊技盤装着枠18内に固定されることとなる。すなわち、
図3に示すように、上部装着部5には、右側面側下部に複数の接続用コネクタ19(図示では4個)が設けられているため、これら接続用コネクタ19に、遊技盤YBの背面に設けられた被接続用コネクタ(図示せず)が接続されることで、遊技盤装着枠18内に遊技盤YBが装着される。そして、右側面側上下方向に設けられた固定具20a,20bによって遊技盤装着枠18内に遊技盤YBが固定されることとなる。これにより、遊技盤装着枠18内に遊技盤YBが装着され、もって、その遊技盤YBの遊技領域40の前側に、透明ガラスを支持した上部開閉扉7が設けられることとなる(
図1参照)。なお、上記遊技領域40は、遊技盤YBの面上に配置された球誘導レールUR(
図5参照)で囲まれた領域からなるものである。
【0018】
一方、下部装着部6には、
図2及び
図3に示すように、左右方向略中央に発射機構21が配置され、その発射機構21の右側には、スピーカ17が配置されている。この発射機構21は、
図3に示すように、板金製の支持板22と、この支持板22の前面に装着された発射レール23と、支持板22の前面に装着され且つ発射用の遊技球を発射レール23上の発射待機位置24に保持する球保持部25と、支持板22の前面で前後方向の駆動軸26廻りに揺動自在に支持された打撃槌27と、支持板22の裏側に装着され、且つ、打撃槌27を、駆動軸26を介して打撃方向に駆動する発射モータを備えた発射制御基板71とを備えている。
【0019】
<遊技盤の外観構成の説明>
他方、上記遊技盤YBの遊技領域40には、
図5に示すように、略中央部にLCD(Liquid Crystal Display)等からなる液晶表示装置41が配置されている。この液晶表示装置41は、表示エリアを左、中、右の3つのエリアに分割し、独立して数字やキャラクタ、文字(キャラクタの会話や歌詞テロップ等)あるいは特別図柄の変動表示が可能なものである。そしてこのような液晶表示装置41の周囲には、装飾用の上飾り42a、左飾り42b、右飾り42cが設けられており、この上飾り42a、左飾り42b、右飾り42cの背面側には可動役物装置43が配置されている。
【0020】
この可動役物装置43は、
図5に示すように、遊技の進行に伴い所定の演出動作を行う上可動役物43aと、左可動役物43bと、右可動役物43cと、左上可動役物43dと、さらに、上・左・右・左上可動役物43a~43dを、夫々、駆動する2相のステッピングモータ等のモータ(図示せず)とで構成されている。なお、これら上・左・右・左上可動役物43a~43dには、光の装飾により演出効果を現出するLEDランプ等の装飾ランプが配置されている。
【0021】
一方、液晶表示装置41の真下には、特別図柄1始動口44が配置され、その内部には入賞球を検出する特別図柄1始動口スイッチ44a(
図7参照)が設けられている。そしてこの特別図柄1始動口スイッチ44a(
図7参照)が検出した有効入賞球数、すなわち、第1始動保留球数が所定数(例えば、4個)液晶表示装置41に表示されることとなる。なお、この第1始動保留球数は、特別図柄1始動口44へ遊技球が入賞し、特別図柄1始動口スイッチ44a(
図7参照)にて検出されると、1加算(+1)され、数字やキャラクタあるいは図柄(装飾図柄)等の特別図柄の変動表示が開始されると、1減算(-1)されるというものである。
【0022】
他方、液晶表示装置41の右下部側には、特別図柄2始動口45が配置され、その内部には入賞球を検出する特別図柄2始動口スイッチ45a(
図7参照)が設けられている。そしてこの特別図柄2始動口スイッチ45a(
図7参照)が検出した有効入賞球数、すなわち、第2始動保留球数が所定数(例えば、4個)液晶表示装置41に表示されることとなる。なお、この第2始動保留球数は、特別図柄2始動口45へ遊技球が入賞し、特別図柄2始動口スイッチ45a(
図7参照)にて検出されると、1加算(+1)され、数字やキャラクタあるいは図柄(装飾図柄)等の特別図柄の変動表示が開始されると、1減算(-1)されるというものである。
【0023】
一方、この特別図柄2始動口45は、
図5に示すように、開閉部材45bを備えており、この開閉部材45bが開放した場合に遊技球が入賞し易い状態となる。この開閉部材45bは、後述する普通図柄の抽選に当選した場合に、所定回数、所定時間開放するもので、普通電動役物ソレノイド45c(
図7参照)によって開閉動作が制御されている。なお、以下では、このような開閉部材45b及び普通電動役物ソレノイド45cを合せた装置を普通電動役物と称することがある。
【0024】
他方、特別図柄1始動口44の右側には、
図5に示すように、入賞装置46が配置されている。この入賞装置46は、後述する特別図柄の抽選に当選したとき、すなわち大当たりしたことにより発生する特別遊技状態の際、開閉扉46aにて閉止されている図示しない大入賞口が開放するように開閉扉46aが特別電動役物ソレノイド46b(
図7参照)によって駆動制御され、遊技球が大入賞口(図示せず)に入球可能となる。なお、この大入賞口(図示せず)に入球した遊技球は入賞球として大入賞口(図示せず)内部に設けられている大入賞口スイッチ46c(
図7参照)によって検出される。
【0025】
一方、特別図柄の抽選に当選していないとき、すなわち、特別遊技状態でない場合は、特別電動役物ソレノイド46b(
図7参照)によって開閉扉46aが駆動制御され、大入賞口(図示せず)が閉止される。これにより、大入賞口(図示せず)内に遊技球が入球することができなくなる。なお、以下では、このような開閉扉46a及び特別電動役物ソレノイド46bを合せた装置を特別電動役物と称することがある。
【0026】
他方、液晶表示装置41の右上部には、
図5に示すように、ゲートからなる普通図柄始動口47が配置され、その内部には、遊技球の通過を検出する普通図柄始動口スイッチ47a(
図7参照)が設けられている。また、上記入賞装置46の右側及び上記特別図柄1始動口44の左側には、一般入賞口48が夫々配置されている。この一般入賞口48は、上記入賞装置46の右側に配置されている右上一般入賞口48aと、上記特別図柄1始動口44の左側に配置されている左上一般入賞口48bと、左中一般入賞口48cと、左下一般入賞口48dとで構成されている。そして、右上一般入賞口48aの内部には遊技球の通過を検出する右上一般入賞口スイッチ48a1(
図7参照)が設けられ、左上一般入賞口48bの内部には遊技球の通過を検出する左上一般入賞口スイッチ48b1(
図7参照)が設けられ、左中一般入賞口48cの内部には遊技球の通過を検出する左中一般入賞口スイッチ48c1(
図7参照)が設けられ、左下一般入賞口48dの内部には遊技球の通過を検出する左下一般入賞口スイッチ48d1(
図7参照)が設けられている。
【0027】
一方、特別図柄1始動口44の真下には、入賞することなく遊技領域40最下流部まで流下してきた遊技球(アウト球)が入球されるアウト口49が配置されている。なお、このアウト口49に入球した遊技球は非入賞球として内部に設けられているアウト口スイッチ49a(
図7参照)によって検出され、さらに、上述した入賞球も遊技盤4の背面側を通って最下流部まで流下することとなるため、アウト口スイッチ49a(
図7参照)によって検出されることとなる。それゆえ、アウト口スイッチ49a(
図7参照)は、排出されたアウト総数、すなわち、発射ハンドル16にて遊技領域40に発射された遊技球と同数の遊技球を検出することとなる。
【0028】
他方、上記遊技盤4の遊技領域40の右下周縁部には、7セグメントが3個並べて構成されており、そのうち2個の7セグメントが特別図柄表示装置50であり、他の7セグメントは特別図柄1や特別図柄2の始動保留球数を表示するものである。この特別図柄表示装置50は、
図5に示すように、特別図柄1表示装置50aと特別図柄2表示装置50bとで構成されており、その特別図柄1表示装置50aの左側には、2個のLEDからなる普通図柄表示装置51が設けられている。なお、上記遊技盤4の遊技領域40には、図示はしないが複数の遊技釘が配置され、遊技球の落下方向変換部材としての風車52が配置されている。
【0029】
ところで、上記の説明においては、発射ハンドル16にて遊技領域40に発射された遊技球と同数の遊技球を検出するにあたり、アウト口スイッチ49a(
図7参照)にて、排出されたアウト総数を検出する例を示したが、それに限らず、
図6に示すように、球誘導レールURに遊技球検出スイッチUR1aを備えた遊技球検出装置UR1を設けても良い。すなわち、
図6に示すように、発射ハンドル16にて遊技領域40に向って発射された遊技球YKは、球誘導レールURに沿って矢印Y1方向に移動することとなる。そして、その矢印Y1方向に移動した遊技球YKが、遊技球検出スイッチUR1aに接触すると、遊技球検出装置UR1は、発射ハンドル16にて発射された遊技球を検出することとなる。しかして、このようにしても、発射ハンドル16にて遊技領域40に発射された遊技球と同数の遊技球を検出することができる。
【0030】
ところで、このような遊技球検出スイッチUR1aを備えた遊技球検出装置UR1を設けるにあたり、発射ハンドル16にて遊技領域40に向って発射された遊技球YKが球誘導レールURの先端部URaに移動し、遊技領域40内に到達すれば何ら問題はないが、発射ハンドル16にて遊技領域40に向って発射された遊技球YKの勢いが弱く、
図6に示す矢印Y2方向に遊技球YKが落下し、球誘導レールUR内に侵入した際、遊技球YKは、
図6に示す矢印Y3方向・矢印Y4方向に移動しながら、遊技領域40内に到達することとなる。この際、球誘導レールUR内に侵入した遊技球YKが遊技球検出装置UR1に接触(衝突)すると、遊技球検出装置UR1が遊技球検出スイッチUR1aに遊技球YKが接触したと勘違いし、誤検出する可能性がある。
【0031】
そこで、本実施形態においては、遊技球検出装置UR1に遊技球YKが接触(衝突)しないよう、遊技球検出装置UR1の上部側(図示右側)、すなわち、球誘導レールUR内に位置する部分を覆うように防護壁UR2を設けている。これにより、球誘導レールUR内に侵入した遊技球YKは、遊技球検出装置UR1に接触(衝突)せず、防護壁UR2に接触(衝突)することとなるから、誤検出を防止することできる。
【0032】
一方、誤検出を防止する方法として、防護壁UR2を設けず、プログラム処理で対応することも可能である。すなわち、遊技球検出装置UR1が遊技球検出スイッチUR1aに遊技球YKが接触したことを検出した後、一定期間(例えば、400ms)検出無効期間を設けるようにしても良い。このようにしても、球誘導レールUR内に侵入した遊技球YKが遊技球検出装置UR1に接触(衝突)する場合、上記の検出無効期間内に接触(衝突)する可能性が高いため、もって、誤検出を防止することができる。なお、この一定期間(例えば、400ms)は、発射ハンドル16にて遊技領域40に発射される間隔(例えば、600ms)よりも短くするのが好ましい。また、遊技球検出装置UR1に何らかの不具合が発生し、例えば、1000ms区間、遊技球検出装置UR1が遊技球検出スイッチUR1aに遊技球YKが接触したことを検出し続けていた場合、遊技球検出装置UR1に何らかの不具合が発生したとし、エラーを報知するようにしても良い。
【0033】
<パチンコ遊技機背面の外観構成の説明>
かくして、このように構成されるパチンコ遊技機1の背面は、
図4に示すように、遊技盤装着枠18を覆って遊技盤YBを裏側から押さえる枠体状の裏機構板53が取付けられている。そして、この裏機構板53の上部右側寄りには、パチンコホール側島設備の遊技球補給装置(図示せず)から供給される遊技球を貯留する遊技球貯留タンク54が設けられ、さらには、その遊技球貯留タンク54から球を導出するタンクレール55が設けられている。
【0034】
このタンクレール55の傾斜下端には、払出し装置56と払出し通路57とが装着されており、遊技球が大入賞口(図示せず)等の入賞口に入賞した時、又は、遊技球貸出装置(図示せず)から球貸し指令があった時に、遊技球貯留タンク54内の遊技球を、タンクレール55を経て払出し装置56により払出し、その遊技球を、払出し通路57を経て上受け皿9(
図1参照)に案内するようになっている。
【0035】
また、裏機構板53の略中央には、遊技盤YBの裏側に着脱自在に装着された透明の裏カバー58(
図3も参照)が装着されており、この裏カバー58内には、演出制御基板90を収納した透明の演出制御基板ケース90aと、液晶制御基板120を収納した透明の液晶基板ケース120aとが着脱自在に設けられている。そして、演出制御基板ケース90aの下方には、内部に主制御基板60を収納した透明な主制御基板ケース60aが着脱自在に設けられ、この主制御基板ケース60aの下方には、払出制御基板70を収納した透明な払出制御基板ケース70aが着脱自在に設けられている。さらに、この主制御基板ケース60aの下方には、電源基板130を収納した電源基板ケース130aが着脱自在に設けられている。
【0036】
<制御装置の説明>
次に、上記のような外観構成からなるパチンコ遊技機1内に設けられる遊技の進行状況に応じて電子制御を行う制御装置を、
図7を用いて説明する。この制御装置は、
図7に示すように、遊技動作全般の制御を司る主制御基板60と、その主制御基板60からの制御コマンドに基づいて遊技球を払出す払出制御基板70と、画像と光と音についての制御を行うサブ制御基板80とで主に構成されている。なお、サブ制御基板80は、
図7に示すように、演出制御基板90と、装飾ランプ基板100と、液晶制御基板120とで構成されている。
【0037】
<主制御基板に関する説明>
主制御基板60は、主制御CPU600aと、一連の遊技制御手順を記述した遊技プログラム等を格納した主制御ROM600bと、作業領域やバッファメモリ等として機能する主制御RAM600cとで構成されたワンチップマイクロコンピュータ600と、低確時(当たり抽選確率が通常の低確率状態)に幾らの賞球がされたかの比率等に関する内容を表示する7セグメントからなる計測表示装置610と、遊技者に有利な特別遊技状態を発生させる確率の設定内容を表示する7セグメントからなる設定表示装置620と、RAMクリアスイッチ630と、設定キースイッチ640と、設定変更スイッチ650と、を主に搭載している。
【0038】
そして、このように構成される主制御基板60には、払出モータMを制御して遊技球を払出す払出制御基板70が接続されている。そしてさらには、特別図柄1始動口44への入賞を検出する特別図柄1始動口スイッチ44aと、特別図柄2始動口45への入賞を検出する特別図柄2始動口スイッチ45aと、普通図柄始動口47の通過を検出する普通図柄始動口スイッチ47aと、一般入賞口48(右上一般入賞口48a,左上一般入賞口48b,左中一般入賞口48c,左下一般入賞口48d)への入賞を検出する右上一般入賞口スイッチ48a1,左上一般入賞口スイッチ48b1,左中一般入賞口スイッチ48c1,左下一般入賞口スイッチ48d1と、開閉扉46aによって開放又は閉止される大入賞口(図示せず)の入賞を検出する大入賞口スイッチ46cと、発射ハンドル16にて遊技領域40に発射された遊技球と同数の遊技球を検出可能なアウト口スイッチ49aとが接続されている。またさらには、開閉部材45bの動作を制御する普通電動役物ソレノイド45cと、開閉扉46aの動作を制御する特別電動役物ソレノイド46bと、特別図柄1表示装置50aと、特別図柄2表示装置50bと、普通図柄表示装置51とが接続されている。
【0039】
このように構成される主制御基板60は、特別図柄1始動口スイッチ44a又は特別図柄2始動口スイッチ45aあるいは普通図柄始動口スイッチ47aからの信号を主制御CPU600aにて受信すると、遊技者に有利な特別遊技状態を発生させるか(いわゆる「当たり」)、あるいは、遊技者に有利な特別遊技状態を発生させないか(いわゆる「ハズレ」)の抽選を行い、その抽選結果である当否情報に応じて特別図柄の変動パターンや停止図柄あるいは普通図柄の表示内容を決定し、その決定した情報を特別図柄1表示装置50a又は特別図柄2表示装置50bあるいは普通図柄表示装置51に送信する。これにより、特別図柄1表示装置50a又は特別図柄2表示装置50bあるいは普通図柄表示装置51に抽選結果が表示されることとなる。そしてさらに、主制御基板60、すなわち、主制御CPU600aは、その決定した情報を含む演出制御コマンドDI_CMDを生成し、演出制御基板90に送信する。なお、主制御基板60、すなわち、主制御CPU600aが、特別図柄1始動口スイッチ44a、特別図柄2始動口スイッチ45a、右上一般入賞口スイッチ48a1、左上一般入賞口スイッチ48b1、左中一般入賞口スイッチ48c1、左下一般入賞口スイッチ48d1、大入賞口スイッチ46cからの信号を受信した場合は、遊技者に幾らの遊技球を払い出すかを決定し、その決定した情報を含む払出制御コマンドPAY_CMDを払出制御基板70に送信することで、払出制御基板70が遊技者に遊技球を払出すこととなる。
【0040】
また、抽選を行った結果、普通図柄の抽選に当選した場合、開閉部材45bが所定回数、所定時間開放するように普通電動役物ソレノイド45cが駆動制御され、特別図柄の抽選に当選した場合、特別電動役物ソレノイド46bが大入賞口(図示せず)を開放するように制御される。
【0041】
一方、主制御基板60、すなわち、主制御CPU600aは、特別図柄1始動口スイッチ44a、特別図柄2始動口スイッチ45a、右上一般入賞口スイッチ48a1、左上一般入賞口スイッチ48b1、左中一般入賞口スイッチ48c1、左下一般入賞口スイッチ48d1、大入賞口スイッチ46cからの信号を受信する毎に、賞球数を計測し、アウト口スイッチ49aからの信号を受信する毎に、排出された遊技球の総数を計測する。そして、主制御基板60、すなわち、主制御CPU600aは、この計測した賞球数及び排出された遊技球の総数に基づき、低確時に幾らの賞球がされたかの比率等に関する内容を計測表示装置610に出力する。これにより、計測表示装置610に低確時に幾らの賞球がされたかの比率等に関する内容が表示されることとなる。
【0042】
この計測表示装置610についてより詳しく説明すると、計測表示装置610は、
図8(a)に示すように、7セグメントからなる第1の計測表示装置610Aと、7セグメントからなる第2の計測表示装置610Bと、7セグメントからなる第3の計測表示装置610Cと、7セグメントからなる第4の計測表示装置610Dと、で構成されており、この第1の計測表示装置610A、第2の計測表示装置610B、第3の計測表示装置610C、第4の計測表示装置610Dに低確時に幾らの賞球がされたかの比率等に関する内容が表示されることとなる。
【0043】
一方、設定表示装置620は、
図8(b)に示すように、1個の7セグメントからなり、遊技者に有利な特別遊技状態を発生させる確率の設定内容を、例えば、「1」~「6」の6段階で表示することができるようになっている。しかして、このような設定内容を変更するにあたっては、設定キースイッチ640に専用キーを挿入し、ONされると、設定変更スイッチ650にて、遊技者に有利な特別遊技状態を発生させる確率の設定内容を例えば「1」~「6」の6段階で設定変更することができるようになっている(例えば、設定「6」が、遊技者に有利な特別遊技状態を発生させる確率が最も高く、設定「1」が、遊技者に有利な特別遊技状態を発生させる確率が最も低くなっている)。そして、その設定変更内容は、設定表示装置620に表示され、設定変更内容が確定すると、7セグメントの右下側にあるドットが点灯し、設定内容が確定したことが表示されるようになっている。なお、以下の説明において、設定変更スイッチ650は、遊技者に有利な特別遊技状態を発生させる確率の設定内容を変更させる機能(設定変更機能)と、その設定変更内容を確定させる機能(設定変更完了機能)を両方合わせ持つことを前提に説明するが、勿論、設定変更スイッチ650は、遊技者に有利な特別遊技状態を発生させる確率の設定内容を変更させる機能だけを備え、その設定変更内容の確定は、別のスイッチを設けて行うようにしても良い。
【0044】
他方、RAMクリアスイッチ630は、RAMクリアスイッチ630が押下されると、主制御RAM600c(
図7参照)のメモリ領域は全てクリアされず、一部のメモリ領域のみクリアされるようになっている。すなわち、主制御RAM600cは、
図9(a)に示すように、メモリ空間アドレス0000H番地~0200H番地のうち、メモリ空間アドレス0000H番地~0100H番地までが、抽選処理等の遊技処理時の作業領域等として使用される通常用RAM領域600caで、メモリ空間アドレス0100H番地~0110H番地までが、未使用領域600cbで、メモリ空間アドレス0110H番地~0130H番地までが、抽選処理等の遊技処理時に使用される通常用スタック領域600ccで、メモリ空間アドレス0130H番地~0150H番地までが、未使用領域600cdで、メモリ空間アドレス0150H番地~0190H番地までが、主制御基板60、すなわち、主制御CPU600にて計測した賞球数,非入賞数を含む遊技領域40に発射された遊技球の総数等を記憶する計測用RAM領域600ceで、メモリ空間アドレス0190H番地~01E0H番地までが、未使用領域600cfで、メモリ空間アドレス01E0H番地~0200H番地までが、賞球数,非入賞数を含む遊技領域40に発射された遊技球の総数等を計測する等の際に使用される計測用スタック領域600cgで構成されている。
【0045】
かくして、このように構成された主制御RAM600cは、RAMクリアスイッチ630が押下された際、主制御RAM600cの計測用RAM領域600ce,計測用スタック領域600cgはクリアされず、通常用RAM領域600ca,通常用スタック領域600ccがクリアされるようになっている。しかして、このようにすれば、計測した賞球数,非入賞数を含む遊技領域40に発射された遊技球の総数等が誤ってクリアされる事態を防止することができる。なお、本実施形態においては、RAMクリアスイッチ630が押下された際、通常用RAM領域600ca,通常用スタック領域600ccがクリアされる例を示したが、それに限らず、未使用領域600cb,600cdを含めて、メモリ空間アドレス0000H番地~0150H番地までクリアされるようにしてもよい。
【0046】
また、通常用RAM領域600ca,通常用スタック領域600cc,計測用RAM領域600ce,計測用スタック領域600cgの各領域を下1桁が0から始まる番地から開始し、通常用RAM領域600caと通常用スタック領域600ccとの間に未使用領域600cbを設け、又、通常用スタック領域600ccと計測用RAM領域600ceとの間に未使用領域600cdを設け、さらに、計測用RAM領域600ceと計測用スタック領域600cgとの間に未使用領域600cfを設けることによって、領域毎の区別をつけるようにしている。これにより、プログラムが暴走した際に、他の領域に影響が出ないようにすることができる。
【0047】
一方、主制御ROM600bは、
図9(b)に示すように、メモリ空間アドレス8000H番地~A800H番地のうち、メモリ空間アドレス8000H番地~8B90H番地までが、抽選処理等の遊技処理時に使用されるプログラムが格納されている通常用プログラム領域600baで、メモリ空間アドレス8B90H番地~9000H番地までが、未使用領域600bbで、メモリ空間アドレス9000H番地~9A00H番地までが、抽選処理等の遊技処理時に使用されるデータが格納されている通常用データ領域600bcで、メモリ空間アドレス9A00H番地~9C00H番地までが、未使用領域600bdで、メモリ空間アドレス9C00H番地~A010H番地までが、賞球数,非入賞数を含む遊技領域40に発射された遊技球の総数等を計測する際に使用されるプログラムが格納されている計測用プログラム領域600beで、メモリ空間アドレスA010H番地~A200H番地までが、未使用領域600bfで、メモリ空間アドレスA200H番地~A320H番地までが、賞球数,非入賞数を含む遊技領域40に発射された遊技球の総数等を計測する際に使用されるデータが格納されている計測用データ領域600bgで、メモリ空間アドレスA320H番地~A780H番地までが、未使用領域600bhで、メモリ空間アドレスA780H番地~A800H番地までが、ベクタテーブル領域600biで構成されている。なお、このベクタテーブル領域600biは、後述する複数のコール命令のうち、CALL_S命令で呼び出すことができるサブルーチンのテーブルアドレスが格納されているものである。
【0048】
しかして、このように構成された主制御RAM600cは、通常用プログラム領域600ba,通常用データ領域600bc,計測用プログラム領域600be,計測用データ領域600bg,ベクタテーブル領域600biの各領域を下1桁が0から始まる番地から開始し、通常用プログラム領域600baと通常用データ領域600bcとの間に未使用領域600bbを設け、又、通常用データ領域600bcと計測用プログラム領域600beとの間に未使用領域600bdを設け、さらに、計測用プログラム領域600beと計測用データ領域600bgとの間に未使用領域600bfを設け、そしてさらに、計測用データ領域600bgとベクタテーブル領域600biとの間に未使用領域600bhを設けることによって、領域毎の区別をつけるようにしている。これにより、プログラムが暴走した際に、他の領域に影響が出ないようにすることができる。
【0049】
<払出制御基板に関する説明>
払出制御基板70は、上記主制御基板60(主制御CPU600a)からの払出制御コマンドPAY_CMDを受信し、その受信した払出制御コマンドPAY_CMDに基づいて払出モータ信号を生成する。そして、その生成した払出モータ信号にて、払出モータMを制御し、遊技者に遊技球を払出す。そしてさらに、払出制御基板70は、遊技球の払出動作を示す賞球計数信号や払出動作の異常に係るステイタス信号を送信し、遊技者の操作に応答して遊技球を発射させる発射制御基板71の動作を開始又は停止させる発射制御信号を送信する処理を行う。
【0050】
<演出制御基板に関する説明>
演出制御基板90は、上記主制御基板60(主制御CPU600a)からの演出制御コマンドDI_CMDを受けて各種演出を実行制御する演出制御CPU900と、演出制御手順を記述した制御プログラム等が格納されているフラッシュメモリからなる演出制御ROM910と、作業領域やバッファメモリ等として機能する演出制御RAM920とで構成されている。そしてさらに、演出制御基板90は、所望のBGMや効果音を生成する音LSI930と、BGMや効果音等の音データ等が予め格納されている音ROM940とが搭載されている。
【0051】
このように構成される演出制御基板90には、ランプ演出効果を現出するLEDランプ等の装飾ランプが搭載されている装飾ランプ基板100が接続され、さらに、内蔵されているランプ(図示せず)点灯時に遊技者が押下することにより演出効果を変化させることができる押しボタン式の演出ボタン装置13が接続され、BGMや効果音等を発するスピーカ17が接続されている。そしてさらに、演出制御基板90には、遊技の進行に伴い所定の演出動作を行う可動役物装置43が接続され、各種設定が可能な設定ボタン15が接続され、液晶表示装置41を制御する液晶制御基板120が接続されている。なお、言うまでもないが、この装飾ランプ基板100には、上・左・右・左上可動役物43a~43dに配置されている装飾ランプも搭載されている。
【0052】
かくして、このように構成される演出制御基板90は、主制御基板60(主制御CPU600a)より送信される大当たり抽選結果(大当たりかハズレの別)に基づく特別図柄変動パターン、現在の遊技状態、第1始動保留球数、第2始動保留球数、抽選結果に基づき停止させる装飾図柄等に必要となる基本情報を含んだ演出制御コマンドDI_CMDを演出制御CPU900にて受信する。そして、演出制御CPU900は、受信した演出制御コマンドDI_CMDに対応した演出パターンを、演出制御ROM910内に予め格納しておいた多数の演出パターンの中から抽選により決定し、その決定した演出パターンを実行指示する制御信号を演出制御RAM920内に一時的に格納する。
【0053】
そして、演出制御CPU900は、演出制御RAM920内に格納しておいた演出パターンを実行指示する制御信号のうち、音に関する制御信号を音LSI930に送信する。これを受けて音LSI930は、当該制御信号に対応する音データを音ROM940より読み出し、スピーカ17に出力する。これにより、スピーカ17より上記決定された演出パターンに対応したBGMや効果音が発せられることとなる。
【0054】
また、演出制御CPU900は、演出制御RAM920内に格納しておいた演出パターンを実行指示する制御信号のうち、光に関する制御信号を装飾ランプ基板100に送信する。これにより、装飾ランプ基板100が、ランプ演出効果を現出するLEDランプ等の装飾ランプを点灯又は消灯する制御を行うため、上記決定された演出パターンに対応したランプ演出が実行されることとなる。
【0055】
さらに、演出制御CPU900は、演出制御RAM920内に格納しておいた演出パターンを実行指示する制御信号のうち、画像に関する液晶制御コマンドLCD_CMDを液晶制御基板120に送信する。これにより、液晶制御基板120が、当該液晶制御コマンドLCD_CMDに基づく画像を表示させるように液晶表示装置41を制御することにより、上記決定された演出パターンに対応した画像が液晶表示装置41に表示されることとなる。なお、液晶制御基板120には演出内容に沿った画像を表示するための種々の画像データが記憶されており、さらに、演出出力全般の制御を担うVDP(Video Display Processor)が搭載されている。
【0056】
またさらに、演出制御CPU900は、演出制御RAM920内に格納しておいた演出パターンを実行指示する制御信号のうち、可動役物に関する制御信号を可動役物装置43に送信する。これにより、可動役物装置43は、上記決定された演出パターンに対応した可動をすることとなる。
【0057】
ところで、上記説明した各基板への電源供給は、
図7に示す電源基板130より供給されている。この電源基板130は、電圧生成部1300と、電圧監視部1310と、システムリセット生成部1320とを含んで構成されている。この電圧生成部1300は、遊技店に設置された図示しない変圧トランスから供給される外部電源である交流電圧AC24Vを受けて複数種類の直流電圧を生成するもので、その生成された直流電圧は、図示はしないが各基板に供給されている。
【0058】
また、電圧監視部1310は、上記交流電圧AC24Vの電圧を監視するもので、この電圧が遮断されたり、停電が発生したりして電圧異常を検出した場合に電圧異常信号ALARMを主制御基板60に出力するものである。なお、電圧異常信号ALARMは、電圧異常時には「L」レベルの信号を出力し、正常時には「H」レベルの信号を出力する。
【0059】
また、一方、システムリセット生成部1320は、電源投入時のシステムリセット信号を生成するもので、その生成されたシステムリセット信号は、図示はしないが各基板に出力されている。
【0060】
<主制御ROMのデータ配置の説明>
ここで、上記説明した主制御ROM600bのうち、通常用データ領域600bc,計測用データ領域600bgに格納されるデータ配置について、
図10を参照して説明することとする。
【0061】
従来、主制御ROM600bのデータ配置は、1バイト単位で構成されている為、データの種類によっては、1バイトを構成する8ビットの内、未使用となるビットも含めたデータ配置となっている。この点、
図10(a)に示す、特別図柄の変動時間データのデータ配置を例にして、具体的に説明することとする。
【0062】
特別図柄の変動時間のデータとして、10秒の第1変動時間と、30秒の第2変動時間と、50秒の第3変動時間と、120秒の第4変動時間とが存在したとする。この際、10秒は、10000ミリ秒で、後述するように4ms毎に定期的にタイマ割込みが発生すると1カウントすることとなるため、10000/4=2500となり、これを16進数にすると、09C4Hとなる。しかして、このようにして計算していくと、30秒は、1D4CH、50秒は、30D4H、120秒は、7530Hとなる。
【0063】
かくして、10秒に相当する第1変動時間データは、09C4Hであって、2進数にすると、「0000 1001 1100 0100」となり、
図10(a)に示すように、主制御ROM600bの通常用データ領域600bcにおける従来の変動時間データのデータ配置では、メモリ空間アドレス9000H番地に、下位8ビットである「1100 0100」が配置され、次のメモリ空間アドレス9001H番地に、上位8ビットである「0000 1001」が配置されることとなる。
【0064】
次いで、30秒に相当する第2変動時間データは、1D4CHであって、2進数にすると、「0001 1101 0100 1100」となり、
図10(a)に示すように、主制御ROM600bの通常用データ領域600bcにおける従来の変動時間データのデータ配置では、メモリ空間アドレス9002H番地に、下位8ビットである「0100 1100」が配置され、次のメモリ空間アドレス9003H番地に、上位8ビットである「0001 1101」が配置されることとなる。
【0065】
次いで、50秒に相当する第3変動時間データは、30D4Hであって、2進数にすると、「0011 0000 1101 0100」となり、
図10(a)に示すように、主制御ROM600bの通常用データ領域600bcにおける従来の変動時間データのデータ配置では、メモリ空間アドレス9004H番地に、下位8ビットである「1101 0100」が配置され、次のメモリ空間アドレス9005H番地に、上位8ビットである「0011 0000」が配置されることとなる。
【0066】
次いで、120秒に相当する第4変動時間データは、7530Hであって、2進数にすると、「0111 0101 0011 0000」となり、
図10(a)に示すように、主制御ROM600bの通常用データ領域600bcにおける従来の変動時間データのデータ配置では、メモリ空間アドレス9006H番地に、下位8ビットである「0011 0000」が配置され、次のメモリ空間アドレス9007H番地に、上位8ビットである「0111 0101」が配置されることとなる。
【0067】
かくして、このようにして、従来の変動時間データのデータ配置では、メモリ空間アドレス番地毎にデータが配置されることとなる。
【0068】
しかしながら、このようなデータ配置では、10秒の第1変動時間と、30秒の第2変動時間と、50秒の第3変動時間と、120秒の第4変動時間いずれも、最上位ビットである16ビット目が何れも「0」であるから、本来であれば、変動時間データとして15ビットしか必要でないにもかかわらず、無駄な1ビットを、
図10(a)に示すように、メモリ空間アドレス9001H番地の8ビット目、メモリ空間アドレス9003H番地の8ビット目、メモリ空間アドレス9005H番地の8ビット目、メモリ空間アドレス9007H番地の8ビット目に配置していることとなる。それゆえ、従来のデータ配置では、主制御ROM600bのデータ配置を効率的に行えておらず、もって、主制御ROM600bのデータ容量の削減を図れていないといった問題があった。
【0069】
そこで、本実施形態においては、主制御ROM600bのデータ配置を効率的に行うために、通常用データ領域600bcに格納されるデータを、
図10(b)に示すようなデータ配置としている。
【0070】
すなわち、10秒に相当する第1変動時間データは、09C4Hであって、使用する15ビット分のデータを2進数で表すと、「000 1001 1100 0100」となり、
図10(b)に示すように、メモリ空間アドレス9000H番地に、下位8ビットである「1100 0100」が配置され、次のメモリ空間アドレス9001H番地に、上位7ビットである「000 1001」が配置されることとなる。
【0071】
次いで、30秒に相当する第2変動時間データは、1D4CHであって、使用する15ビット分のデータを2進数で表すと、「001 1101 0100 1100」となり、
図10(b)に示すように、メモリ空間アドレス9001H番地の8ビット目に、下位8ビットのうち最下位ビットである「0」が配置され、次のメモリ空間アドレス9002H番地に、下位8ビットのうち残り7ビットである「0100 110」が配置され、メモリ空間アドレス9002H番地の8ビット目に、上位7ビットのうち、最下位ビットである「1」が配置され、次のメモリ空間アドレス9003H番地に、上位7ビットのうち残り6ビットである「001 110」が配置されることとなる。
【0072】
次いで、50秒に相当する第3変動時間データは、30D4Hであって、使用する15ビット分のデータを2進数で表すと、「011 0000 1101 0100」となり、
図10(b)に示すように、メモリ空間アドレス9003H番地の8ビット目、7ビット目に、下位8ビットのうち下位2ビットである「00」が配置され、次のメモリ空間アドレス9004H番地に、下位8ビットのうち残り6ビットである「1101 01」が配置され、メモリ空間アドレス9004H番地の8ビット目、7ビット目に、上位7ビットのうち、下位2ビットである「00」が配置され、次のメモリ空間アドレス9005H番地に、上位7ビットのうち残り5ビットである「011 00」が配置されることとなる。
【0073】
次いで、120秒に相当する第4変動時間データは、7530Hであって、使用する15ビット分のデータを2進数で表すと、「111 0101 0011 0000」となり、
図10(b)に示すように、メモリ空間アドレス9005H番地の8ビット目~6ビット目に、下位8ビットのうち下位3ビットである「000」が配置され、次のメモリ空間アドレス9006H番地に、下位8ビットのうち残り5ビットである「0011 0」が配置され、メモリ空間アドレス9006H番地の8ビット目~6ビット目に、上位7ビットのうち、下位3ビットである「101」が配置され、次のメモリ空間アドレス9007H番地に、上位7ビットのうち残り4ビットである「111 0」が配置されることとなる。
【0074】
かくして、このようにして、連続するアドレス番地に跨ってデータを配置するようにし、且つ、データを詰めて配置するようにすれば、メモリ空間アドレス9007H番地の8ビット目~5ビット目が空き領域となり、もって、データ容量の削減を図ることができることとなる。
【0075】
ところで、
図10(b)に示すようなデータ配置をするにあたっては、例えば、
図11(a)に示すようなプログラムが用いられる。以下、このプログラムについて説明することとする。なお、このプログラムは、
図9(b)に示す主制御ROM600bの通常用プログラム領域600baに格納されているものである。
【0076】
図11(a)に示すように、まず、データ配置を行う通常用データ領域600bc(
図9(b)参照)の先頭のメモリ空間アドレス番地9000Hを定義し(ORG 9000H)、その定義したラベルをD_HEDOUTIMEとする。
【0077】
次いで、格納するサイズを15ビットにする宣言をし(START EQU SIZE{15})、10秒の第1変動時間に相当するデータ09C4H、30秒の第2変動時間に相当するデータ1D4CH、50秒の第3変動時間に相当するデータ30D4H、120秒の第4変動時間に相当するデータ7530Hを記載し、格納するサイズを15ビットにするデータがここまでであることを宣言する(END EQU SIZE)。これにより、プログラムをアセンブルしてROMデータが作成される際、通常用データ領域600bc(
図9(b)参照)に、
図10(b)に示すように、上記プログラムに記載したデータが格納されていくこととなる。
【0078】
かくして、このようにプログラムで格納するサイズを指定したデータ配置にすることによって、
図10(b)に示すようなデータ配置がされることとなる。なお、09C4H、1D4CH、30D4H、7530Hのデータは16ビット形式で記載しているものの、格納するサイズを15ビットにする宣言をしていることから、プログラムをアセンブルしてROMデータが作成される際、
図10(b)に示すように、9000H番地を先頭に15ビット分のデータが格納されていくこととなる。
【0079】
一方、主制御ROM600bの通常用データ領域600bc(
図9(b)参照)に格納されているデータを取得するにあたっては、例えば、
図11(b)に示すようなプログラムが用いられる。以下、このプログラムについて説明することとする。なお、このプログラムは、
図9(b)に示す主制御ROM600bの通常用プログラム領域600baに格納されているものである。
【0080】
まず、このプログラムの処理が開始される前の処理として、主制御CPU600aにて特別図柄の変動パターン(特別図柄の変動時間)抽選が行われ、この抽選の結果、120秒の第4変動時間の変動パターンが選択され、その選択された変動パターンの番号を示す「04H」が、
図11(b)に示すW_HENDOUNoに格納されているものとして説明することとする。
【0081】
図11(b)に示すように、まず、選択された変動パターンの番号(「04H」)が格納されているW_HENDOUNoから選択された変動パターンの番号(「04H」)を取得する(LD A、(W_HENDOUNo)-1)。
【0082】
次いで、取得した変動パターンの番号からディクリメント(-1)された番号(「03H」)に15をかけて、オフセット値を計算する(MUL A、15)。
【0083】
次いで、呼び出すビット位置に合わせるために、上記で計算したオフセット値をインクリメント(+1)する(INC A)。
【0084】
次いで、変動時間が格納されている先頭のアドレス番地(
図11(a)に示す、D_HENDOUTIME(9000H))に、上記で計算したオフセット値を加算したアドレスから15ビット分のデータをHLレジスタにセットする(LD(15) HL、D_HENDOUTIME、A)。これにより、主制御CPU600aは、
図10(b)に示す、メモリ空間アドレス9000H番地からオフセット値46ビット目のデータから15ビット分のデータ、すなわち、メモリ空間アドレス9005H番地の6ビット目からメモリ空間アドレス9007H番地の4ビット目まで格納されているデータ(111 0101 0011 0000)をHLレジスタにセットすることとなる。しかして、このようにして、120秒に相当する第4変動時間データが、主制御ROM600bの通常用データ領域600bc(
図9(b)参照)より取得されることとなる。なお、主制御CPU600aの内部レジスタ(Aレジスタ、HLレジスタ等)は、1バイト単位で構成されている。そのため、主制御CPU600aは、プログラム上、主制御CPU600aの内部レジスタ(Aレジスタ、HLレジスタ等)に合わせて1バイト単位で処理を行うため、2バイトのHLレジスタに15ビットのデータ(111 0101 0011 0000)をセットする際、最上位ビットに0を付加し、2バイトのHLレジスタに16ビットのデータ(0111 0101 0011 0000)をセットすることとなる。それゆえ、プログラムでは、読み込んだデータサイズが15ビットであることを気にせず、処理が行えることとなる。
【0085】
ところで、本実施形態においては、通常用データ領域600bcのみを例に説明したが、もちろん、計測用データ領域600bgであっても、同様のデータ配置が可能である。また、通常用データ領域600bc,計測用データ領域600bgとして、上記説明したデータ配置の領域のみで構成しても良いし、上記説明したデータ配置の領域と、従来のデータ配置の領域とに分けて構成するようにしても良い。このようにすれば、状況に応じたプログラムを組むことができ、もって、最適なプログラム処理が可能となる。
【0086】
また、本実施形態においては、特別図柄の変動時間データのデータ配置を例にして説明したが、これに限らず、変動パターンの振分け値と、選択される変動パターンの番号の振分けテーブルデータ、大当りの種別抽選の振分け値と、振分けテーブルデータ、その他大当り制御に関わる設定値データなど、どのようなデータにも適用可能である。
【0087】
一方、本実施形態においては、15ビットのデータサイズを定義、すなわち、1つのデータサイズを定義する例を示したが、複数のデータに対し、それぞれ別のビットサイズを定義することも可能である。この点、変動パターン乱数の判定値と、その時選択される変動パターンの番号データを定義する場合のプログラムを例にして、
図12を参照して具体的に説明する。
【0088】
図12に示すように、当該データ配置を行う通常用データ領域600bc(
図9(b)参照)の先頭のメモリ空間アドレス番地9100Hを定義し(ORG 9100H)、その定義したラベルをD_HEDOUHANTEIとする。
【0089】
次いで、格納するサイズを14ビット、4ビットにする宣言(START EQU SIZE{14,4})をする。そして、変動パターン乱数が0~255(=0100H-1)の場合、変動パターンの番号01Hを選択することを示す「0100H、01H」を記載し、変動パターン乱数が256~511(=0200H-1)の場合、変動パターンの番号02Hを選択することを示す「0200H、02H」を記載し、変動パターン乱数が512~4999(=1388H-1)の場合、変動パターンの番号04Hを選択することを示す「1388H、04H」を記載し、変動パターン乱数が5000~10000(=2710H-1)の場合、変動パターンの番号08Hを選択することを示す「2710H、08H」を記載し、格納するサイズを14ビット、4ビットにするデータがここまであることを宣言する(END EQU SIZE)。これにより、主制御CPU600aは、通常用データ領域600bc(
図9(b)参照)のメモリ空間アドレス番地9100H番地から順に、14ビット、4ビットのデータを格納していくこととなる。なお、0100H、0200H、1388H、2710Hのデータは16ビット形式で記載し、01H、02H、04H、08Hのデータは8ビット形式で記載しているものの、格納するサイズを14ビット、4ビットにする宣言をしていることから、主制御CPU600aは、9100H番地を先頭に14ビット分、4ビット分のデータを格納していくこととなる。
【0090】
かくして、このようにして、複数のデータに対し、それぞれ別のビットサイズを定義することができる。
【0091】
<カウンタの更新処理の説明>
次に、後述する当否抽選に使用する普通図柄、特別図柄等の乱数の更新、コモンカウンタ等のカウンタの更新処理について、
図13を参照して説明することとする。
【0092】
従来、プログラムで所定範囲を循環するカウンタを更新する際、所定範囲を超えたら0に戻すという処理のプログラムを組む必要があった。この点、
図13(a)に示す、0~99の範囲で更新するカウンタプログラムを例にして、具体的に説明することとする。
【0093】
図13(a)に示すように、ラベルM_INCEXのカウンタプログラムでは、まず、指定された上限値をもとにカウンタを更新、すなわち、W_COUNTERのワークの値をAレジスタにセットする(LD A、(W_COUNTER))。
【0094】
次いで、Aレジスタの値をインクリメント(+1)する(INC A)。
【0095】
次いで、100と比較し(CP 100)、100を超えていれば、Aレジスタを0にする(XOR A)。
【0096】
一方、100と比較し(CP 100)、100を超えていなければ、ラベルXXXへ飛ぶ(JR C、XXX)。そして、このラベルXXXでは、更新したカウント値をW_COUNTERのワークに格納する(LD (W_COUNTER)、A)。
【0097】
かくして、上記のようなプログラムを繰り返し行うことで、0~99の範囲でカウント値を更新することとなる。
【0098】
しかして、このように従来においては、プログラムで0~99を循環するカウンタを更新する際、99を超えたら0に戻すという処理のプログラムを上記のように組む必要があった。
【0099】
しかしながら、上記のようなプログラムでは、比較命令を必ず用いて分岐処理を行わなければならず、プログラムの処理負荷軽減と、プログラム容量の削減を図ることができていないという問題があった。
【0100】
そこで、本実施形態においては、比較命令を用いて分岐することなく、所定範囲を循環するカウンタを更新可能なカウンタプログラムを組むようにしている。この点、
図13(b)に示す、0~63の範囲で更新するカウンタプログラムを例にして、具体的に説明することとする。なお、このカウンタプログラムは、
図9(b)に示す主制御ROM600bの通常用プログラム領域600ba、計測用プログラム領域600beに格納されているものである。
【0101】
図13(b)に示すように、ラベルM_INCEXのカウンタプログラムでは、まず、指定された上限値をもとにカウンタを更新、すなわち、W_COUNTERのワークの値をAレジスタにセットする(LD A、(W_COUNTER))。
【0102】
次いで、Aレジスタの値をインクリメント(+1)すると共に、下位6ビットを「0011 1111」でマスクする(AND A+、0011 1111B)。
【0103】
次いで、更新したカウント値をW_COUNTERのワークに格納する(LD (W_COUNTER)、A)。
【0104】
かくして、上記のようなプログラムを繰り返し行うことで、0~63の範囲でカウント値を更新することとなる。
【0105】
しかして、上記のようなプログラムを用いれば、カウント値が63(=0011 1111)からインクリメント(+1)し、64(=0100 0000)になったとしても、加算後の値に対して「0011 1111」でマスクすることにより(AND A+、0011 1111B)、カウント値が0(=0000 0000)となる。それゆえ、上記説明したプログラムのように63から64へ値が変化するときだけに限らず、常に「0011 1111」でマスクすることにより、従来のように、プログラムで比較命令を用いた分岐処理を設けることなく、所定範囲を循環するカウンタを更新することができる。これにより、プログラムの処理負荷軽減と、プログラム容量の削減を図ることができることとなる。
【0106】
なお、本実施形態においては、総数が64、すなわち、総数が2のべき乗で構成されるカウント値を例に説明したが、それに限らず、上記プログラムは、どのようなカウント値にも適用可能である。しかしながら、総数が2のべき乗で構成されるカウント値を更新するカウンタプログラムに用いた方が好ましい。マスク処理がしやすいためである。
【0107】
ところで、上記説明したカウンタプログラムは、汎用モジュールとして使用することもできる。この点、
図13(c)~(d)を参照して具体的に説明する。
【0108】
図13(c)に示すように、ラベルM_INCEXのカウンタプログラムでは、まず、指定された上限値をもとにカウンタを更新、すなわち、HLレジスタの値をAレジスタにセットする(LD A、(HL))。
【0109】
次いで、Aレジスタの値をインクリメント(+1)すると共に、Bレジスタの値でマスクする(AND A+、B)。
【0110】
次いで、更新したカウント値をHLレジスタに格納する(LD (HL)、A)。
【0111】
かくして、上記のように汎用モジュール化されたラベルM_INCEXのカウンタプログラムは、
図13(d)に示すように、W_COUNTERのワークの値をHLレジスタにセットし(LD HL、W_COUNTER)、「0011 1111」の値をBレジスタにセットした上で、ラベルM_INCEXのカウンタプログラムを読み出す(CALL M_INCEX)ことで使用することができる。
【0112】
しかして、このように、上記説明したカウンタプログラムを汎用モジュールとして使用することにより、複数のカウント値を更新する際に使用することが可能となる。
【0113】
<コール命令の説明>
次に、
図9(b)に示す、主制御ROM600bのベクタテーブル領域600biに格納されているCALL_S命令で呼び出すことができるサブルーチンのテーブルアドレスに関するコール命令について、
図14を参照して説明することとする。
【0114】
本実施形態においては、主制御CPU600aが実行可能なコール命令として、CALL_S命令、CALL_M命令、CALL_L命令、CALL命令の複数のコール命令を備えている。このCALL_S命令は、複数のコール命令の中で最小のプログラムコードのデータ量(例えば、1バイト)である。そして、このCALL_S命令で呼び出すサブルーチンは、
図9(b)に示す、主制御ROM600bのベクタテーブル領域600biに格納されているアドレスデータテーブルの格納番号を使って呼び出されるようになっている。このアドレスデータテーブルとしては、
図14(a)に示すように、データセット処理(DW M_DTSET)、コマンド送信処理(DW M_CMDOUT)等のCALL_S命令で呼び出すサブルーチンの先頭アドレスデータ、が2バイトで格納されている。なお、この格納された順番がそのままCALL_S命令で呼び出される際の格納番号となる。これにより、プログラムでは格納番号を意識することなく、このアドレスデータテーブルで宣言したサブルーチンの名前を使用すれば良いこととなる。
【0115】
しかして、このようなアドレスデータテーブルに格納されている処理を呼び出すために、
図14(b)に示すように、CALL_S命令が使用されることとなる。より具体的に説明すると、
図14(b)に示すプログラムは、後述する初期化処理の一部を示すもので、主制御CPU600aの内部に設けられている一定周期のパルス出力を作成する機能や時間計測の機能等を有するCTC(Counter Timer Circuit)の設定テーブル(D_CTCSET)をHLレジスタにセットし(LD HL、D_CTCSET)、データセット処理(M_DTSET)をCALL_S命令でコールするようにしているものである(CALL_S M_DTSET)。
【0116】
ところで、このCTCの設定テーブルは、
図14(c)に示すような内容が格納されている。すなわち、前半部分(LOW W_CTC1~3)がセットされる
図9(a)に示す主制御RAM600cの通常用RAM領域600caを示し、後半部分(001H、010H、080H)が通常用RAM領域600caにセットされるデータを示し、そして、最後に、データセット終了を示す終了コードが格納されている(DB 0FFH)。
【0117】
一方、データセット処理は、
図14(d)に示すような処理が行われる。具体的には、まず、HLレジスタの中をAレジスタに移行した後、HLレジスタをインクリメント(+1)する(LD A、(HL+))。
【0118】
次いで、データセットの終了か否かをチェックするために、Aレジスタと0FFHを比較する(CP 0FFH)。
【0119】
次いで、Dレジスタに通常用RAM領域600caの上位アドレスをセットする(LD D、00H)。
【0120】
次いで、EレジスタにCTCの設定テーブル(
図14(c)に示すD_CTCSET)で読み込んだ通常用RAM領域600caの下位アドレスをセットする(LD E、A)。
【0121】
次いで、CTCの設定テーブル(
図14(c)に示すD_CTCSET)からセットするデータの値をAレジスタに読み込む(LD A、(HL+))。
【0122】
次いで、DEレジスタにセットされたワークアドレスにデータをセットし(LD (DE)、A)、データセット処理の最初の処理に戻る(JR M_DTSET)。
【0123】
かくして、このようにして、CALL_S命令で呼び出されたデータセット処理が実行されることとなる。
【0124】
一方、
図14(b)に示す後述する初期化処理の一部を示すプログラムは、データセット処理(M_DTSET)をCALL_S命令でコールした後、液晶表示装置41(
図5参照)に待機画面を表示させる待機画面表示コマンド(0BA01H)をDEレジスタにセットする(LD DE、0BA01H)。
【0125】
次いで、コマンド送信処理(M_CMDOUT)をCALL_S命令でコールする(CALL_S M_CMDOUT)。このコマンド送信処理は、
図14(e)に示すような処理が行われる。
【0126】
具体的には、
LD A、D
OUT (CMDPORT)、A
とプログラムし、コマンドの上位バイトデータをコマンドポートから出力する。
【0127】
次いで、
LD B、1000
WAIT:
DJNZ WAIT
とプログラムし、演出制御CPU900がコマンドデータを受信するまでしばらく待機する。
【0128】
次いで、
LD A、E
OUT (CMDPORT)、A
とプログラムし、コマンドの下位バイトデータをコマンドポートから出力する。
【0129】
かくして、このようにして、CALL_S命令で呼び出されたコマンド送信処理が実行されることとなる。
【0130】
しかして、このようにして、初期化処理にてCALL_S命令が使用されることとなる。
【0131】
ただし、上記プログラムはあくまで一例であるため、CALL_S命令は初期化処理に限らず、後述するタイマ割込みでも使用される。すなわち、コマンド送信処理は、初期化処理に限らず、タイマ割込み処理で実行される始動保留球の増加時、特別図柄の変動開始時、大当たり開始時、エラー発生時など様々な状況でコマンド送信が実行される。そのため、CALL_S命令はタイマ割込みでも使用される。
【0132】
しかして、上記プログラムにて説明したように、汎用性が高い処理を、CALL_S命令に対応するサブルーチンとすることで、プログラムのデータ量の増加を抑制することができる。それゆえ、プログラムの処理負荷軽減と、プログラム容量の削減を図ることができる。
【0133】
また、コマンド送信処理は、タイマ割込み処理で実行される始動保留球の増加時、特別図柄の変動開始時、大当たり開始時、エラー発生時など様々な状況でコマンド送信が実行されることとなるため、CALL_S命令が使用される割合は、タイマ割込み処理で使用される割合の方が、初期化処理からタイマ割込み処理を呼び出すメインループ処理までに使用される割合より高くなる。それゆえ、よりプログラムの処理負荷軽減と、プログラム容量の削減を図ることができる。
【0134】
ところで、複数のコール命令のうちCALL_M命令は、予め決められたアドレス番地の範囲内にあるサブルーチンをコールする際に使用される。具体的には、後述するタイマ割込み処理で実行される特別図柄処理、普通図柄処理、タイマ管理処理等の各サブルーチンをコールする際に使用される。汎用性が高いサブルーチンを呼び出す際は、CALL_S命令が用いられるため、1回しか呼び出されないタイマ割込み処理内で実行される各サブルーチンなどは、CALL_M命令が使用される。なお、CALL_M命令は、呼び出すサブルーチンのアドレス番地によってプログラムコードのデータ量が異なるようになっている(例えば、2バイト~3バイト)。
【0135】
一方、複数のコール命令のうちCALL_L命令は、サブルーチンをコールする際、プログラムカウンタ(実行しているプログラムのアドレス)を、
図9(a)に示す主制御RAM600cの通常用スタック領域600cc、計測用スタック領域600cgに退避させるだけでなく、フラグレジスタの値も
図9(a)に示す主制御RAM600cの通常用スタック領域600cc、計測用スタック領域600cgに退避させる。それゆえ、CALL_L命令は、サブルーチンを呼び出す前にフラグを保持した上で、サブルーチン内でフラグの値が変化する場合に使用される。なお、このCALL_L命令は、例えば、2バイトで構成されるものである。
【0136】
また一方、複数のコール命令のうちCALL命令は、呼び出すサブルーチンのアドレス番地に制限がないものであるため、主に、
図9(b)に示す主制御ROM600bの計測用プログラム領域600beに格納されている賞球数,非入賞数を含む遊技領域40に発射された遊技球の総数等を計測する際に使用されるプログラムを呼び出す際に使用される。すなわち、賞球数,非入賞数を含む遊技領域40に発射された遊技球の総数等を計測する際に使用されるプログラムのアドレス番地を呼び出す場合には、他のコール命令では読み出すことができないアドレス番地にサブルーチンを配置している可能性があるため、賞球数,非入賞数を含む遊技領域40に発射された遊技球の総数等を計測する際に使用されるプログラムを呼び出す際にCALL命令が使用される。なお、上述したCALL_M命令では、賞球数,非入賞数を含む遊技領域40に発射された遊技球の総数等を計測する際に使用されるプログラムを呼び出すことができない。上述したCALL_M命令は、HLレジスタ等の2バイトのレジスタにサブルーチンのアドレス番地をセットして呼び出すことができないため、直接アドレス番地を指定して呼び出すこととなるが、そのアドレス番地の値に制限がある。それゆえ、CALL命令は、呼び出すサブルーチンのアドレス番地に制限がないため、賞球数,非入賞数を含む遊技領域40に発射された遊技球の総数等を計測する際に使用されるプログラムを呼び出すことができる。なお、このCALL命令は、例えば、4バイトで構成されるものである。
【0137】
ここで、上述したCALL_M命令とCALL命令の使用例について、
図14(f)に示すプログラムを例にして説明する。
図14(f)に示すプログラムは、後述するメインループ処理を示すもので、割込み禁止処理(DI)をした後、
図9(b)に示す主制御ROM600bの計測用プログラム領域600beに格納されている賞球数,非入賞数を含む遊技領域40に発射された遊技球の総数等を計測する際に使用されるプログラムである後述する賞球入賞数管理処理1(M_SHOUKYU1)をCALL命令でコールし(CALL M_SHOUKYU1)、
図9(b)に示す主制御ROM600bの通常用プログラム領域600baに格納されている抽選処理等の遊技処理時に使用されるプログラムである後述する各種乱数更新処理(M_RANSU)をCALL_M命令でコールし(CALL M_SHOUKYU1)、割込み許可(EI)をするという処理を繰り返し行うものである。
【0138】
かくして、このようにして、CALL_M命令とCALL命令が使用されることとなる。
【0139】
しかして、上述したように、複数のコール命令のうちCALL_M命令で呼び出されるサブルーチンと、CALL_S命令で呼び出されるサブルーチンは、
図9(b)に示す主制御ROM600bの通常用プログラム領域600baに格納されており、CALL命令で呼び出されるサブルーチンは、
図9(b)に示す主制御ROM600bの計測用プログラム領域600beに格納されている。しかるに、このように、複数のコール命令を状況に応じて使い分けることにより、プログラムの処理負荷軽減と、プログラム容量の削減を図ることができる。
【0140】
<プログラムの説明>
ここで、上記説明した
図9(b)に示す主制御ROM600bの通常用プログラム領域600baに格納されている抽選処理等の遊技処理時に使用されるプログラム、主制御ROM600bの計測用プログラム領域600beに格納されている賞球数,非入賞数を含む遊技領域40に発射された遊技球の総数等を計測する際に使用されるプログラムの概要を
図15~
図35を参照して説明する。
【0141】
<メイン処理の説明>
まず、パチンコ遊技機1に電源が投入されると、電源基板130(
図7参照)の電圧生成部1300にて生成された直流電圧が各制御基板に投入された旨の電源投入信号が送られ、その信号を受けて、主制御CPU600a(
図7参照)は、
図9(b)に示す主制御ROM600bの通常用プログラム領域600baに格納されているプログラムを読み出し、
図15に示す主制御メイン処理を行う。この際、主制御CPU600aは、まず、最初に自らを割込み禁止状態に設定する(ステップS1)。
【0142】
次いで、主制御CPU600aは、当該主制御CPU600a内のレジスタ値等の初期設定を行う(ステップS2)。
【0143】
続いて、主制御CPU600aは、サブ制御基板80の起動待ち時間をセットし(ステップS3)、セットした待ち時間をデクリメント(-1)し(ステップS4)、図示しないウォッチドックタイマ(WDT)をクリアする(ステップS5)。
【0144】
次いで、主制御CPU600aは、セットした待ち時間が「0」になったか否かを確認し(ステップS6)、「0」になっていなければ(ステップS6:≠0)、ステップS4の処理に戻り、「0」になっていれば(ステップS6:=0)、ステップS7の処理に進む。
【0145】
次いで、主制御CPU600aは、電源基板130(電圧監視部1310)(
図7参照)より出力されている電圧異常信号ALARM(
図7参照)を2回取得し、その2回取得した電圧異常信号ALARMのレベルが一致するか否かを確認した上で図示しない当該主制御CPU600aの内部レジスタ内に格納し、その電圧異常信号ALARMのレベルを確認する(ステップS7)。そして電圧異常信号ALARMのレベルが「L」レベルであれば(ステップS8:YES)、ステップS7の処理に戻り、電圧異常信号ALARMのレベルが「H」レベルであれば(ステップS8:NO)、ステップS9の処理に進む。すなわち、主制御CPU600aは、電圧異常信号ALARMが正常レベル(すなわち「H」レベル)に変化するまで同一の処理を繰り返す(ステップS7~S8)。このように、電圧異常信号ALARMを2回取得することで、正確な信号を読み込むことができる。
【0146】
次いで、主制御CPU600aは、図示しないウォッチドックタイマ(WDT)をクリアし(ステップS9)、払出制御基板70から電源が投入された旨の信号(電源投入信号)が来たか否かを確認する(ステップS10)。電源投入信号が来ていなければ(ステップS10:OFF)、ステップS9の処理に戻り、電源投入信号が来ていれば(ステップS10:ON)、主制御CPU600aの内部に設けられている一定周期のパルス出力を作成する機能や時間計測の機能等を有するCTC(Counter Timer Circuit)の設定を行う。すなわち、主制御CPU600aは、4ms毎に定期的にタイマ割込みがかかるように上記CTCの時間定数レジスタを設定する(ステップS11)。
【0147】
なお、このCTCの設定処理が、
図14(b)に示す、CTCの設定テーブル(D_CTCSET)をHLレジスタにセットし(LD HL、D_CTCSET)、データセット処理(M_DTSET)をCALL_S命令でコールするようにしているプログラムで処理されるものである。
【0148】
<メイン処理:設定表示装置に関する説明>
次いで、主制御CPU600aは、
図7に示す設定キースイッチ640に専用キーが挿入され、ONされているか否かを確認する(ステップS12)。設定キースイッチ640がONされていれば(ステップS12:YES)、主制御CPU600aは、
図2に示すように、上部開閉扉7、下部開放扉8が開放されているか否かを確認する(ステップS13)。上部開閉扉7、下部開放扉8が開放されていれば(ステップS13:YES)、主制御CPU600aは、
図9(a)に示す主制御RAM600cの通常用RAM領域600ca、通常用スタック領域600ccを全てクリアする(ステップS14)。ただし、後述する設定値に関するデータが格納されているRAM領域は、前回の設定値を元に変更することも考慮して、クリアせずに保持しておいたほうが望ましい。
【0149】
次いで、主制御CPU600aは、設定変更中フラグをONに設定し(ステップS15)、主制御RAM600c(
図7参照)へのデータ書込みを許可する(ステップS16)。
【0150】
次いで、主制御CPU600aは、演出制御基板90に液晶表示装置41に設定変更中であることを表示させるような処理コマンド(演出制御コマンドDI_CMD)を送信し(ステップS17)、主制御RAM600c(
図7参照)内に記憶されている遊技者に有利な特別遊技状態を発生させる確率の設定値(例えば「1」~「6」の設定値)を取得する(ステップS18)。なお、この設定変更中であることを表示させるような処理コマンド(演出制御コマンドDI_CMD)送信処理は、CALL_S命令でコールして処理されることとなる。
【0151】
次いで、主制御CPU600aは、取得した設定値の値が、「1」~「6」の何れかの値を示しているか否かを確認する(ステップS19)。取得した設定値の値が、「1」~「6」の何れかの値を示していなければ(ステップS19:NO)、取得した設定値に「1」を設定する(ステップS20)。一方、取得した設定値の値が、「1」~「6」の何れかの値を示していれば(ステップS19:YES)、ステップS21の処理に進む。
【0152】
次いで、主制御CPU600aは、上記設定値を設定表示装置620(
図7、
図8(b)参照)に表示させる処理を行う(ステップS21)。これにより、設定表示装置620に、「1」~「6」の何れかの値が表示させることとなる。
【0153】
次いで、主制御CPU600aは、メイン処理中入力管理処理を実行する(ステップS22)。
【0154】
<メイン処理中入力管理処理の説明>
このメイン処理中入力管理処理について、
図16を参照して具体的に説明する。
図16に示すように、主制御CPU600aは、まず、図示しないウォッチドックタイマ(WDT)をクリアする(ステップS50)。
【0155】
次いで、主制御CPU600aは、4msのウェイトがかかるように、主制御CPU600a内のレジスタに所定値をセットして、カウントダウンする処理を行う(ステップS51)。なお、この処理は、設定変更スイッチ650(
図7参照)のレベルデータの変化を確認する際、前回のスイッチレベルの取得から少なくとも4msの時間をおくことで、ノイズ等のイレギュラーによるレベルデータの変化ではないことを確認するための処理である。
【0156】
次いで、主制御CPU600aは、設定変更スイッチ650(
図7参照)のスイッチレベルの変化を確認することができる主制御CPU600aの入力ポート(スイッチポート)から今回のスイッチレベルデータを取得する(ステップS52)。
【0157】
次いで、主制御CPU600aは、前回と今回のスイッチレベルデータからスイッチエッジデータを作成する(ステップ53)。なお、主制御CPU600aは、作成したエッジデータを主制御RAM600cの通常用RAM領域600ca(
図9(a)参照)に格納する。
【0158】
次いで、主制御CPU600aは、電圧監視処理を実行し(ステップS54)、メイン処理中入力管理処理を終える。この電圧監視処理は、電源基板130(
図7参照)から出力される電圧異常信号ALARMのレベルを判定し、電圧異常信号ALARMが「L」レベル(異常レベル)であれば、主制御CPU600aの出力ポートのクリア、演出制御基板90への電断コマンド(演出制御コマンドDI_CMD)送信など、バックアップ処理が目的ではなく、通常遊技時の電断時処理を実行することを目的としている。なお、この電断コマンド(演出制御コマンドDI_CMD)送信処理は、CALL_S命令でコールして処理されることとなる。
【0159】
かくして、このようなメイン処理中入力管理処理を実行することにより、主制御CPU600aが、設定変更スイッチ650(
図7参照)にて設定が変更されていないにも係らず、誤ってノイズ等のデータを取得して設定が変更されたと誤認し、誤った設定変更がされないようにしている。
【0160】
<メイン処理:設定表示装置に関する説明>
次いで、主制御CPU600aは、主制御RAM600cの通常用RAM領域600ca(
図9(a)参照)に格納している作成したエッジデータを確認し、設定変更スイッチ650(
図7参照)にて設定変更完了機能がONされているか否かを確認する(ステップS23)。設定変更スイッチ650(
図7参照)にて設定変更完了機能がONされていなければ(ステップS23:NO)、主制御CPU600aは、設定変更スイッチ650(
図7参照)にて設定変更機能がONされているか否かを確認する(ステップS24)。設定変更スイッチ650(
図7参照)にて設定変更機能がONされていなければ(ステップS24:NO)、主制御CPU600aは、ステップS22の処理に戻り、設定変更スイッチ650(
図7参照)にて設定変更機能がONされていれば(ステップS24:YES)、主制御CPU600aは、現在の設定値をインクリメント(+1)し(ステップS25)、ステップS19の処理に戻る。
【0161】
一方、主制御CPU600aは、設定変更スイッチ650(
図7参照)にて設定変更完了機能がONされていれば(ステップS23:YES)、現在の設定値を主制御RAM600c(
図7参照)内(
図9(a)に示す主制御RAM600cの通常用RAM領域600ca)に記憶させ(ステップS26)、設定表示装置620(
図7、
図8(b)参照)に設定値が確定したことを示す表示をさせる処理を行う(ステップS27)。これにより、設定表示装置620(
図8(b)参照)を構成する7セグメントの右下側にあるドットが点灯し、設定内容が確定したことが表示されることとなる。
【0162】
次いで、主制御CPU600aは、図示しないウォッチドックタイマ(WDT)をクリアする(ステップS28)。
【0163】
次いで、主制御CPU600aは、
図7に示す設定キースイッチ640がOFFされているか否かを確認する(ステップS29)。OFFされていなければ(ステップS29:NO)、OFFされるまでステップS28~ステップS29の処理を繰り返し行い、OFFされれば(ステップS29:YES)、演出制御基板90に設定された設定値を示す設定値コマンド(演出制御コマンドDI_CMD)を送信し(ステップS30)、設定変更中フラグをOFFに設定し(ステップS31)、ステップS40の処理に進む。なお、この設定値コマンド(演出制御コマンドDI_CMD)送信処理は、CALL_S命令でコールして処理されることとなる。
【0164】
<メイン処理の説明>
他方、主制御CPU600aは、設定キースイッチ640(
図7参照)がOFF(ステップS12:NO)、
図2に示すように、上部開閉扉7、下部開放扉8が開放されていなければ(ステップS13:NO)、主制御CPU600aは、主制御RAM600c(
図7参照)へのデータ書込みを許可し(ステップS32)、演出制御基板90に液晶表示装置41に待機画面を表示させるような処理コマンド(演出制御コマンドDI_CMD)を送信する(ステップS33)。
【0165】
なお、この待機画面表示コマンド送信の設定処理が、
図14(b)に示す、液晶表示装置41(
図5参照)に待機画面を表示させる待機画面表示コマンド(0BA01H)をDEレジスタにセットし(LD DE、0BA01H)、コマンド送信処理(M_CMDOUT)をCALL_S命令でコールする(CALL_S M_CMDOUT)プログラムで処理されるものである。
【0166】
次いで、主制御CPU600aは、バックアップフラグBFLの内容を確認する(ステップS34)。なお、このバックアップフラグBFLとは、
図22に示す電圧監視処理において、停電等による電圧低下を検出した場合に、バックアップの処理が実行されたか否かを示すデータである。
【0167】
このバックアップフラグBFLがOFF状態(ステップS34:OFF)であれば、後述する
図22に示す電圧監視処理において、停電等による電圧低下を検出した場合に、バックアップの処理が実行されていないこととなり、主制御CPU600aは、演出制御基板90にRAMエラーであることを示す処理コマンド(演出制御コマンドDI_CMD)を送信し(ステップS35)、無限ループ処理を行う。なお、このRAMエラーであることを示す処理コマンド(演出制御コマンドDI_CMD)送信処理は、CALL_S命令でコールして処理されることとなる。
【0168】
一方、バックアップフラグBFLがON状態(ステップS34:ON)であれば、後述する
図22に示す電圧監視処理において、停電等による電圧低下を検出した場合に、バックアップの処理が実行されていることとなるため、主制御CPU600aは、チェックサム値を算出するためのチェックサム演算を行う。そして、主制御CPU600aは、上記チェックサム値が算出されたら、この演算結果を主制御RAM600c内のSUM番地の記憶値と比較する処理を行う(ステップS36)。なお、チェックサム演算とは、主制御RAM600cを対象とする8ビット加算演算であり、記憶された演算結果は、主制御RAM600c内に記憶されている他のデータと共に、
図7に示す電源基板130にて生成されるバックアップ電源によって維持されている。
【0169】
このSUM番地の記憶値と算出されたチェックサム値が不一致(ステップS36:NO)であれば、主制御CPU600aは、演出制御基板90にRAMエラーであることを示す処理コマンド(演出制御コマンドDI_CMD)を送信し(ステップS35)、無限ループ処理を行う。なお、上述したように、このRAMエラーであることを示す処理コマンド(演出制御コマンドDI_CMD)送信処理は、CALL_S命令でコールして処理されることとなる。
【0170】
一方、一致(ステップS36:YES)していれば、主制御CPU600aは、RAMクリアスイッチ630(
図7参照)の内容を確認する(ステップS37)。RAMクリアスイッチ630のエッジデータがONであれば(ステップS37:ON)、主制御CPU600aは、RAMクリアスイッチ630が押下されたと判断し、主制御RAM600cの計測用RAM領域600ce(
図9(a)参照)、計測用スタック領域600cg(
図9(a)参照)はクリアせず、主制御RAM600cの通常用RAM領域600ca(
図9(a)参照)、通常用スタック領域600cc(
図9(a)参照)をクリアし(ステップS39)、ステップS40の処理に進む。
【0171】
かくして、上述したように、バックアップフラグがOFFの場合(ステップS34:OFF)や、チェックサム値が一致していない場合(ステップS36:NO)、RAMクリアスイッチ630(
図7参照)がONとなっていても、主制御RAM600cの通常用RAM領域600ca、通常用スタック領域600cc(
図9(a)参照)がクリアされることはない。これは、バックアップ処理に異常があった場合やチェックサム値が異常の場合、設定表示装置620(
図7、
図8(b)参照)に表示される設定値が異常となっている可能性が高いためである。それゆえ、本実施形態にて示すように、ステップS35の処理後、無限ループ処理を実行し、再度、電源投入をし直し、設定値の変更処理を行ってからでないと遊技を再開できないようにすることで、遊技者及び遊技場(ホール)側が不利益となる事態を防止することができる。
【0172】
一方、RAMクリアスイッチ630のエッジデータがOFFであれば(ステップS37:OFF)、主制御CPU600aは、RAMクリアスイッチ630が押下されていないと判断し、主制御RAM600c内に記憶されているデータに基づいて電源遮断時の遊技動作に復帰させる処理を行う(ステップS38)。
【0173】
かくして、主制御CPU600aは、上記ステップS38又はステップS39の処理を終えた後、主制御RAM600c(
図7参照)へのデータ書込みを許可し(ステップS40)、図示しないウォッチドックタイマ(WDT)をクリアする(ステップS41)。
【0174】
次いで、主制御CPU600aは、発射制御信号をONに設定し、払出制御基板70に送信する(ステップS42)。これにより、払出制御基板70は、発射制御基板71の動作を開始させるように制御する。
【0175】
次いで、主制御CPU600aは、自身への割込みを禁止状態にセットした状態(ステップS43)で、
図9(b)に示す主制御ROM600bの計測用プログラム領域600beに格納されているプログラムを読み出し、後述する賞球入賞数管理処理1の処理を行う(ステップS44)。そして、主制御CPU600aは、
図9(b)に示す主制御ROM600bの通常用プログラム領域600baに格納されているプログラムに基づいて、各種の乱数カウンタの更新処理を行った後(ステップS45)、割込み許可状態に戻して(ステップS46)、ステップS43に戻り、ステップS43~ステップS46の処理を繰り返し行うループ処理を行う。
【0176】
なお、このステップS43~ステップS46の処理が、
図14(f)に示す、割込み禁止処理(DI)をした後、賞球入賞数管理処理1(M_SHOUKYU1)をCALL命令でコールし(CALL M_SHOUKYU1)、各種乱数更新処理(M_RANSU)をCALL_M命令でコールし(CALL M_SHOUKYU1)、割込み許可(EI)をするという処理を繰り返し行うプログラムで処理されるものである。
【0177】
しかして、このように、RAMクリアスイッチ630(
図7参照)が押下されていた際、主制御RAM600cの計測用RAM領域600cb、計測用スタック領域600cg(
図9(a)参照)はクリアせず、主制御RAM600cの通常用RAM領域600ca、通常用スタック領域600cc(
図9(a)参照)をクリアするようにすれば、計測した賞球数,非入賞数を含む遊技領域40に発射された遊技球の総数等が誤ってクリアされる事態を防止することができる。すなわち、何らかの異常等が発生し電源が遮断され、その後、電源遮断復帰したとしても、計測した賞球数,非入賞数を含む遊技領域40に発射された遊技球の総数等が誤ってクリアされる事態を防止することができるため、計測表示装置610(
図7、
図8(a)参照)に表示される正確な情報を生成することができ、もって、電源遮断復帰時に正確な情報を生成することができる。
【0178】
<賞球入賞数管理処理1の説明>
次に、
図17~
図20を参照して、上記賞球入賞数管理処理1について詳細に説明する。この賞球入賞管理処理1は、
図9(b)に示す主制御ROM600bの計測用プログラム領域600beに格納されているプログラムを読み出し処理されるものである。
【0179】
図17に示すように、賞球入賞数管理処理1は、先ず、主制御CPU600a内のレジスタ群の内容を主制御RAM600cの計測用スタック領域600cg(
図9(a)参照)に退避させる退避処理を実行する(ステップS60)。
【0180】
次いで、主制御CPU600aは、主制御RAM600cの計測用RAM領域600ce(
図9(a)参照)の初期設定を行う(ステップS61)。
【0181】
<計測用RAM領域の初期設定の説明>
この点、
図18を参照してより詳しく説明すると、この初期設定は、
図18に示すように、まず、主制御CPU600a(
図7参照)は、RAMエラーフラグを確認する(ステップS100)。RAMエラーフラグがONに設定されていれば、「1」~「6」の何れかの値を示していないと判断し(ステップS100:YES)、主制御RAM600cに異常が発生(RAMエラー)として、ステップS101、ステップS102の処理をせず、ステップS103の処理に移行する。
【0182】
一方、主制御CPU600aは、RAMエラーフラグがOFFに設定されていれば、「1」~「6」の何れかの値を示していると判断し(ステップS100:NO)、初期化済みフラグの値を取得する(ステップS101)。次いで、主制御CPU600aは、その取得した初期化済みフラグの値が5AHか否かの確認を行う(ステップS102)。5AHでなければ(ステップS102:NO)、初期化済みフラグに5AHをセットし(ステップS103)、計測用RAM領域600ce(
図9(a)参照)を初期化(クリア)し(ステップS104)、計測用RAM領域600ce(
図9(a)参照)の初期設定処理を終える。一方、5AHであれば(ステップS102:YES)、既に計測用RAM領域600ce(
図9(a)参照)が初期化されていると判断し、計測用RAM領域の初期設定処理を終える。
【0183】
しかして、このように、取得した設定値の値が、「1」~「6」の何れかの値を示していない場合、現在の設定値に応じた計測(後述する)が正常に行われていない可能性があるため、初期化済みであったとしても、主制御RAM600cの計測用RAM領域600ce(
図9(a)参照)をクリアするようにすれば良い。
【0184】
なお、本実施形態においては、計測用RAM領域600ceを全てクリアする例を示したが、それに限らず、後述する計数処理(
図17示すステップS63)にて算出されるy6役物比率が格納される計測用RAM領域600ceのy6役物比率ワーク領域及び後述する計数処理(
図17に示すステップS63)にて算出されるyA役物比率が格納される計測用RAM領域600ceのyA役物比率ワーク領域のワーク領域のみクリアするようにしても良い。
【0185】
<賞球入賞数管理処理1の説明>
かくして、主制御CPU600aは、
図17に示すように、主制御RAM600cの計測用RAM領域600ce(
図9(a)参照)の初期設定を行った(ステップS61)後、カウント処理を実行する(ステップS62)。
【0186】
<カウント処理の説明>
この点、
図19を参照してより詳しく説明すると、
図19に示すように、主制御CPU600aは、主制御RAM600c(
図7参照)内に記憶されている遊技者に有利な特別遊技状態を発生させる確率の設定値(例えば「1」~「6」の設定値)を取得し、現在の設定値をオフセットとして、設定値に応じた計数カウンタテーブルを選択する(ステップS120)。
【0187】
ところで、この計数カウンタテーブルには、設定値1~6に応じた内容が格納されている。
【0188】
すなわち、設定値1用計数カウンタテーブルには、
設定値1用総賞球カウンタ1、
設定値1用総賞球カウンタ2、
設定値1用第1役物累積賞球カウンタ1、
設定値1用第1役物累積賞球カウンタ2、
設定値1用第2役物累積賞球カウンタ1、
設定値1用第2役物累積賞球カウンタ2、
設定値1用累積アウトカウンタ1、
設定値1用累積アウトカウンタ2、
が格納されている。
【0189】
設定値2用計数カウンタテーブルには、
設定値2用総賞球カウンタ1、
設定値2用総賞球カウンタ2、
設定値2用第1役物累積賞球カウンタ1、
設定値2用第1役物累積賞球カウンタ2、
設定値2用第2役物累積賞球カウンタ1、
設定値2用第2役物累積賞球カウンタ2、
設定値2用累積アウトカウンタ1、
設定値2用累積アウトカウンタ2、
が格納されている。
【0190】
設定値3用計数カウンタテーブルには、
設定値3用総賞球カウンタ1、
設定値3用総賞球カウンタ2、
設定値3用第1役物累積賞球カウンタ1、
設定値3用第1役物累積賞球カウンタ2、
設定値3用第2役物累積賞球カウンタ1、
設定値3用第2役物累積賞球カウンタ2、
設定値3用累積アウトカウンタ1、
設定値3用累積アウトカウンタ2、
が格納されている。
【0191】
設定値4用計数カウンタテーブルには、
設定値4用総賞球カウンタ1、
設定値4用総賞球カウンタ2、
設定値4用第1役物累積賞球カウンタ1、
設定値4用第1役物累積賞球カウンタ2、
設定値4用第2役物累積賞球カウンタ1、
設定値4用第2役物累積賞球カウンタ2、
設定値4用累積アウトカウンタ1、
設定値4用累積アウトカウンタ2、
が格納されている。
【0192】
設定値5用計数カウンタテーブルには、
設定値5用総賞球カウンタ1、
設定値5用総賞球カウンタ2、
設定値5用第1役物累積賞球カウンタ1、
設定値5用第1役物累積賞球カウンタ2、
設定値5用第2役物累積賞球カウンタ1、
設定値5用第2役物累積賞球カウンタ2、
設定値5用累積アウトカウンタ1、
設定値5用累積アウトカウンタ2、
が格納されている。
【0193】
設定値6用計数カウンタテーブルには、
設定値6用総賞球カウンタ1、
設定値6用総賞球カウンタ2、
設定値6用第1役物累積賞球カウンタ1、
設定値6用第1役物累積賞球カウンタ2、
設定値6用第2役物累積賞球カウンタ1、
設定値6用第2役物累積賞球カウンタ2、
設定値6用累積アウトカウンタ1、
設定値6用累積アウトカウンタ2、
が格納されている。
【0194】
それゆえ、例えば、現在の設定値が「2」であれば、設定値2用計数カウンタテーブルが選択されることとなる。なお、上述した設定値に応じた計数カウンタテーブルは、主制御RAM600cの計測用RAM領域600ce(
図9(a)参照)に格納されている。
【0195】
次いで、主制御CPU600aは、後述する
図31に示すステップS552にて、主制御RAM600cの計測用RAM領域600ce(
図9(a)参照)に格納しておいた右上一般入賞口スイッチ48a1の入力フラグ,左上一般入賞口スイッチ48b1の入力フラグ,左中一般入賞口スイッチ48c1の入力フラグ,左下一般入賞口スイッチ48d1の入力フラグ,特別図柄1始動口スイッチ44aの入力フラグを取得する(ステップS121)。そして、これら入力フラグを確認し(ステップS122)、入力フラグが何れもOFF状態であれば(ステップS122:NO)、ステップS126の処理に進み、何れか1つの入力フラグがON状態であれば(ステップS122:YES)、ステップS120にて選択された設定値1~6用計数カウンタテーブルの設定値1~6用総賞球カウンタ1(例えば、現在の設定値が「2」であれば、設定値2用総賞球カウンタ1)の値に加算する(ステップS123)。具体的には、右上一般入賞口スイッチ48a1の入力フラグがON状態であれば、5個賞球されるため、設定値1~6用総賞球カウンタ1(例えば、現在の設定値が「2」であれば、設定値2用総賞球カウンタ1)の値に+5加算する。そして、左上一般入賞口スイッチ48b1,左中一般入賞口スイッチ48c1,左下一般入賞口スイッチ48d1の入力フラグがON状態であれば、ON状態の入力フラグ一つに対して、10個賞球されるため、設定値1~6用総賞球カウンタ1(例えば、現在の設定値が「2」であれば、設定値2用総賞球カウンタ1)の値に+10(×ON状態の入力フラグ数分)加算する。そしてさらに、特別図柄1始動口スイッチ44aの入力フラグがON状態であれば、3個賞球されるため、設定値1~6用総賞球カウンタ1(例えば、現在の設定値が「2」であれば、設定値2用総賞球カウンタ1)の値に+3(×ON状態の入力フラグ数分)加算する。
【0196】
次いで、主制御CPU600aは、低確(当たり抽選確率が通常の低確率状態)の遊技状態か否かを確認する(ステップS124)。遊技状態が低確状態でなければ(ステップS124:NO)、ステップS126の処理に進む。
【0197】
一方、主制御CPU600aは、遊技状態が低確状態であれば(ステップS124:YES)、累積賞球カウンタの値に加算する(ステップS125)。具体的には、右上一般入賞口スイッチ48a1の入力フラグがON状態であれば、5個賞球されるため、累積賞球カウンタの値に+5加算する。そして、左上一般入賞口スイッチ48b1,左中一般入賞口スイッチ48c1,左下一般入賞口スイッチ48d1の入力フラグがON状態であれば、ON状態の入力フラグ一つに対して、10個賞球されるため、累積賞球カウンタの値に+10(×ON状態の入力フラグ数分)加算する。そしてさらに、特別図柄1始動口スイッチ44aの入力フラグがON状態であれば、3個賞球されるため、累積賞球カウンタの値に+3(×ON状態の入力フラグ数分)加算する。なお、この累積賞球カウンタは、主制御RAM600cの計測用RAM領域600ce(
図9(a)参照)に格納されることとなる。
【0198】
次いで、主制御CPU600aは、
図31に示すステップS552にて、主制御RAM600cの計測用RAM領域600ce(
図9(a)参照)に格納しておいた特別図柄2始動口スイッチ45aの入力フラグを取得する(ステップS126)。この入力フラグがOFF状態であれば(ステップS127:NO)、ステップS132の処理に進み、この入力フラグがON状態であれば(ステップS127:YES)、ステップS120にて選択された設定値1~6用計数カウンタテーブルの設定値1~6用第1役物累積賞球カウンタ1(例えば、現在の設定値が「2」であれば、設定値2用第1役物累積賞球カウンタ1)の値に加算し(ステップS128)、ステップS120にて選択された設定値1~6用計数カウンタテーブルの設定値1~6用総賞球カウンタ1(例えば、現在の設定値が「2」であれば、設定値2用総賞球カウンタ1)の値に加算する(ステップS129)。具体的には、特別図柄2始動口スイッチ45aの入力フラグがON状態であれば、3個賞球されるため、設定値1~6用第1役物累積賞球カウンタ1(例えば、現在の設定値が「2」であれば、設定値2用第1役物累積賞球カウンタ1)の値に+3加算し、設定値1~6用計数カウンタテーブルの設定値1~6用総賞球カウンタ1(例えば、現在の設定値が「2」であれば、設定値2用総賞球カウンタ1)の値に+3加算する。
【0199】
次いで、主制御CPU600aは、低確(当たり抽選確率が通常の低確率状態)の遊技状態か否かを確認する(ステップS130)。遊技状態が低確状態でなければ(ステップS130:NO)、ステップS132の処理に進む。
【0200】
一方、主制御CPU600aは、遊技状態が低確状態であれば(ステップS130:YES)、第1役物累積賞球カウンタの値に加算する(ステップS131)。具体的には、特別図柄2始動口スイッチ45aの入力フラグがON状態であれば、3個賞球されるため、第1役物累積賞球カウンタの値に+3加算する。なお、この第1役物累積賞球カウンタは、主制御RAM600cの計測用RAM領域600ce(
図9(a)参照)に格納されることとなる。
【0201】
次いで、主制御CPU600aは、
図31に示すステップS552にて、主制御RAM600cの計測用RAM領域600ce(
図9(a)参照)に格納しておいた大入賞口スイッチ46cの入力フラグを取得する(ステップS132)。この入力フラグがOFF状態であれば(ステップS133:NO)、ステップS138の処理に進み、この入力フラグがON状態であれば(ステップS133:YES)、ステップS120にて選択された設定値1~6用計数カウンタテーブルの設定値1~6用第2役物累積賞球カウンタ1(例えば、現在の設定値が「2」であれば、設定値2用第2役物累積賞球カウンタ1)の値に加算し(ステップS134)、ステップS120にて選択された設定値1~6用計数カウンタテーブルの設定値1~6用総賞球カウンタ1(例えば、現在の設定値が「2」であれば、設定値2用総賞球カウンタ1)の値に加算する(ステップS135)。具体的には、大入賞口スイッチ46cの入力フラグがON状態であれば、15個賞球されるため、設定値1~6用第2役物累積賞球カウンタ1(例えば、現在の設定値が「2」であれば、設定値2用第2役物累積賞球カウンタ1)の値に+15加算し、設定値1~6用計数カウンタテーブルの設定値1~6用総賞球カウンタ1(例えば、現在の設定値が「2」であれば、設定値2用総賞球カウンタ1)の値に+15加算する。
【0202】
次いで、主制御CPU600aは、低確(当たり抽選確率が通常の低確率状態)の遊技状態か否かを確認する(ステップS136)。遊技状態が低確状態でなければ(ステップS136:NO)、ステップS138の処理に進む。
【0203】
一方、主制御CPU600aは、遊技状態が低確状態であれば(ステップS136:YES)、第2役物累積賞球カウンタの値に加算する(ステップS137)。具体的には、大入賞口スイッチ46cの入力フラグがON状態であれば、15個賞球されるため、第2役物累積賞球カウンタの値に+15加算する。なお、この第2役物累積賞球カウンタは、主制御RAM600cの計測用RAM領域600ce(
図9(a)参照)に格納されることとなる。
【0204】
次いで、主制御CPU600aは、
図31に示すステップS552にて、主制御RAM600cの計測用RAM領域600ce(
図9(a)参照)に格納しておいたアウト口スイッチ49aの入力フラグを取得する(ステップS138)、この入力フラグがOFF状態であれば(ステップS139:NO)、ステップS142の処理に進み、この入力フラグがON状態であれば(ステップS139:YES)、累積アウトカウンタの値をインクリメント(+1)し(ステップS140)、ステップS120にて選択された設定値1~6用計数カウンタテーブルの設定値1~6用累積アウトカウンタ1(例えば、現在の設定値が「2」であれば、設定値2用累積アウトカウンタ1)の値をインクリメント(+1)する(ステップS141)。なお、累積アウトカウンタは、主制御RAM600cの計測用RAM領域600ce(
図9(a)参照)に格納されることとなる。
【0205】
次いで、主制御CPU600aは、累積アウトカウンタの値を確認し(ステップS142)、累積アウト総数が所定値(60000個)に達していなければ(ステップS142:NO)、ステップS148の処理に進み、累積アウト総数が所定値(60000個)に達していれば(ステップS142:YES)、ステップS120にて選択された設定値1~6用計数カウンタテーブルの設定値1~6用総賞球カウンタ1(例えば、現在の設定値が「2」であれば、設定値2用総賞球カウンタ1)の値を、ステップS120にて選択された設定値1~6用計数カウンタテーブルの設定値1~6用総賞球カウンタ2(例えば、現在の設定値が「2」であれば、設定値2用総賞球カウンタ2)に記憶し(ステップS143)、ステップS120にて選択された設定値1~6用計数カウンタテーブルの設定値1~6用第1役物累積賞球カウンタ1(例えば、現在の設定値が「2」であれば、設定値2用第1役物累積賞球カウンタ1)の値を、ステップS120にて選択された設定値1~6用計数カウンタテーブルの設定値1~6用第1役物累積賞球カウンタ2(例えば、現在の設定値が「2」であれば、設定値2用第1役物累積賞球カウンタ2)に記憶し(ステップS144)、ステップS120にて選択された設定値1~6用計数カウンタテーブルの設定値1~6用第2役物累積賞球カウンタ1(例えば、現在の設定値が「2」であれば、設定値2用第2役物累積賞球カウンタ1)の値を、ステップS120にて選択された設定値1~6用計数カウンタテーブルの設定値1~6用第2役物累積賞球カウンタ2(例えば、現在の設定値が「2」であれば、設定値2用第2役物累積賞球カウンタ2)に記憶し(ステップS145)、ステップS120にて選択された設定値1~6用計数カウンタテーブルの設定値1~6用累積アウトカウンタ1(例えば、現在の設定値が「2」であれば、設定値2用累積アウトカウンタ1)の値を、ステップS120にて選択された設定値1~6用計数カウンタテーブルの設定値1~6用累積アウトカウンタ2(例えば、現在の設定値が「2」であれば、設定値2用累積アウトカウンタ2)に記憶する(ステップS146)。
【0206】
次いで、主制御CPU600aは、ステップS120にて選択された設定値1~6用計数カウンタテーブルの設定値1~6用総賞球カウンタ1(例えば、現在の設定値が「2」であれば、設定値2用総賞球カウンタ1)、ステップS120にて選択された設定値1~6用計数カウンタテーブルの設定値1~6用第1役物累積賞球カウンタ1(例えば、現在の設定値が「2」であれば、設定値2用第1役物累積賞球カウンタ1)、ステップS120にて選択された設定値1~6用計数カウンタテーブルの設定値1~6用第2役物累積賞球カウンタ1(例えば、現在の設定値が「2」であれば、設定値2用第2役物累積賞球カウンタ1)、ステップS120にて選択された設定値1~6用計数カウンタテーブルの設定値1~6用累積アウトカウンタ1(例えば、現在の設定値が「2」であれば、設定値2用累積アウトカウンタ1)の値をクリアする(ステップS147)。
【0207】
次いで、主制御CPU600aは、低確(当たり抽選確率が通常の低確率状態)の遊技状態か否かを確認する(ステップS148)。遊技状態が低確状態でなければ(ステップS148:NO)、カウント処理を終え、遊技状態が低確状態であれば(ステップS148:YES)、低確累積アウトカウンタをインクリメント(+1)し(ステップS149)、カウント処理を終える。なお、低確累積アウトカウンタは、主制御RAM600cの計測用RAM領域600ce(
図9(a)参照)に格納されることとなる。
【0208】
<賞球入賞数管理処理1の説明>
かくして、主制御CPU600aは、
図17に示すように、カウント処理を実行した後(ステップS62)、計数処理を実行する(ステップS63)。
【0209】
<計数処理の説明>
この点、
図20を参照してより詳しく説明すると、
図20に示すように、主制御CPU600aは、低確累積アウトカウンタの値を確認する(ステップS160)。低確累積アウトカウンタの値が0であれば(ステップS160:YES)、計数処理を終える。
【0210】
一方、低確累積アウトカウンタの値が0でなければ(ステップS160:NO)、主制御CPU600aは、累積賞球カウンタと第1役物累積賞球カウンタと第2役物累積賞球カウンタの値を加算し、その加算した値を低確累積アウトカウンタの値で除算することにより、低確時に幾らの賞球がされたかのベース値を算出し、主制御RAM600cの計測用RAM領域600ce(
図9(a)参照)のbLベースモニタワーク領域に格納する(ステップS161)。
【0211】
次いで、主制御CPU600aは、累積アウトカウンタの値を確認する(ステップS162)。累積アウトカウンタの値が0であれば(ステップS162:YES)、計数処理を終える。
【0212】
一方、累積アウトカウンタが0でなければ(ステップS162:NO)、主制御CPU600aは、累積賞球カウンタと第1役物累積賞球カウンタと第2役物累積賞球カウンタの値を加算し、その加算した値を累積アウトカウンタの値で除算することにより、幾らの賞球がされたかのベース値を算出し、主制御RAM600cの計測用RAM領域600ce(
図9(a)参照)のb6ベースモニタワーク領域に格納する(ステップS163)。
【0213】
次いで、主制御CPU600aは、
図19に示すステップS120にて選択された設定値1~6用計数カウンタテーブルの設定値1~6用累積アウトカウンタ2(例えば、現在の設定値が「2」であれば、設定値2用累積アウトカウンタ2)の値を確認する(ステップS164)。
【0214】
図19に示すステップS120にて選択された設定値1~6用計数カウンタテーブルの設定値1~6用累積アウトカウンタ2(例えば、現在の設定値が「2」であれば、設定値2用累積アウトカウンタ2)の値が60000に達していれば(ステップS164:YES)、主制御CPU600aは、
図19に示すステップS120にて選択された設定値1~6用計数カウンタテーブルの設定値1~6用第1役物累積賞球カウンタ2(例えば、現在の設定値が「2」であれば、設定値2用第1役物累積賞球カウンタ2)と、
図19に示すステップS120にて選択された設定値1~6用計数カウンタテーブルの設定値1~6用第2役物累積賞球カウンタ2(例えば、現在の設定値が「2」であれば、設定値2用第2役物累積賞球カウンタ2)の値を加算し、その加算した値を
図19に示すステップS120にて選択された設定値1~6用計数カウンタテーブルの設定値1~6用総賞球カウンタ2(例えば、現在の設定値が「2」であれば、設定値2用総賞球カウンタ2)の値で除算することにより、役物比率を算出し、主制御RAM600cの計測用RAM領域600ce(
図9(a)参照)のy6役物比率ワーク領域に格納する(ステップS165)。
【0215】
次いで、主制御CPU600aは、
図19に示すステップS120にて選択された設定値1~6用計数カウンタテーブルの設定値1~6用第2役物累積賞球カウンタ2(例えば、現在の設定値が「2」であれば、設定値2用第2役物累積賞球カウンタ2)の値を
図19に示すステップS120にて選択された設定値1~6用計数カウンタテーブルの設定値1~6用総賞球カウンタ2(例えば、現在の設定値が「2」であれば、設定値2用総賞球カウンタ2)の値で除算することにより、大入賞口に関する役物比率を算出し、主制御RAM600cの計測用RAM領域600ce(
図9(a)参照)のyA役物比率ワーク領域に格納し(ステップS166)、計数処理を終える。
【0216】
一方、
図19に示すステップS120にて選択された設定値1~6用計数カウンタテーブルの設定値1~6用累積アウトカウンタ2(例えば、現在の設定値が「2」であれば、設定値2用累積アウトカウンタ2)の値が60000に達していなければ(ステップS164:NO)、主制御CPU600aは、
図19に示すステップS120にて選択された設定値1~6用計数カウンタテーブルの設定値1~6用第1役物累積賞球カウンタ1(例えば、現在の設定値が「2」であれば、設定値2用第1役物累積賞球カウンタ1)と、
図19に示すステップS120にて選択された設定値1~6用計数カウンタテーブルの設定値1~6用第2役物累積賞球カウンタ1(例えば、現在の設定値が「2」であれば、設定値2用第2役物累積賞球カウンタ1)の値を加算し、その加算した値を
図19に示すステップS120にて選択された設定値1~6用計数カウンタテーブルの設定値1~6用総賞球カウンタ1(例えば、現在の設定値が「2」であれば、設定値2用総賞球カウンタ1)の値で除算することにより、役物比率を算出し、主制御RAM600cの計測用RAM領域600ce(
図9(a)参照)のy6役物比率ワーク領域に格納する(ステップS167)。
【0217】
次いで、主制御CPU600aは、
図19に示すステップS120にて選択された設定値1~6用計数カウンタテーブルの設定値1~6用第2役物累積賞球カウンタ1(例えば、現在の設定値が「2」であれば、設定値2用第2役物累積賞球カウンタ1)の値を
図19に示すステップS120にて選択された設定値1~6用計数カウンタテーブルの設定値1~6用総賞球カウンタ1(例えば、現在の設定値が「2」であれば、設定値2用総賞球カウンタ1)の値で除算することにより、大入賞口に関する役物比率を算出し、主制御RAM600cの計測用RAM領域600ce(
図9(a)参照)のyA役物比率ワーク領域に格納し(ステップS168)、計数処理を終える。
【0218】
<計数処理の別実施形態の説明>
ところで、計数処理は、
図20に示すような処理方法に限らず、
図21に示すような処理でも良い。
【0219】
すなわち、
図21(a)に示すように、主制御CPU600aは、後述する
図32に示す表示カウンタの値を確認し(ステップS170)、5秒に相当する値(第1所定値)に達していなければ(ステップS170:<第1所定値)、bL算出処理を行う(ステップS171)。
【0220】
すなわち、
図21(b)に示すように、主制御CPU600aは、低確累積アウトカウンタの値を確認する(ステップS171a)。低確累積アウトカウンタの値が0であれば(ステップS171a:YES)、計数処理を終える。
【0221】
一方、低確累積アウトカウンタの値が0でなければ(ステップS171a:NO)、主制御CPU600aは、累積賞球カウンタと第1役物累積賞球カウンタと第2役物累積賞球カウンタの値を加算し、その加算した値を低確累積アウトカウンタの値で除算することにより、低確時に幾らの賞球がされたかのベース値を算出し、主制御RAM600cの計測用RAM領域600ce(
図9(a)参照)のbLベースモニタワーク領域に格納し(ステップS171b)、計数処理を終える。
【0222】
一方、主制御CPU600aは、
図21(a)に示すように、後述する
図32に示す表示カウンタの値が、5秒に相当する値(第1所定値)に達し、10秒に相当する値(第2所定値)に達していなければ(ステップS170:<第2所定値)、b6算出処理を行う(ステップS172)。
【0223】
すなわち、
図21(c)に示すように、主制御CPU600aは、累積アウトカウンタの値を確認する(ステップS172a)。累積アウトカウンタの値が0であれば(ステップS172a:YES)、計数処理を終える。
【0224】
一方、累積アウトカウンタが0でなければ(ステップS172a:NO)、主制御CPU600aは、累積賞球カウンタと第1役物累積賞球カウンタと第2役物累積賞球カウンタの値を加算し、その加算した値を累積アウトカウンタの値で除算することにより、幾らの賞球がされたかのベース値を算出し、主制御RAM600cの計測用RAM領域600ce(
図9(a)参照)のb6ベースモニタワーク領域に格納し(ステップS172b)、計数処理を終える。
【0225】
一方、主制御CPU600aは、
図21(a)に示すように、後述する
図32に示す表示カウンタの値が、10秒に相当する値(第2所定値)に達し、15秒に相当する値(第3所定値)に達していなければ(ステップS170:<第3所定値)、y6算出処理を行う(ステップS173)。
【0226】
すなわち、
図21(d)に示すように、主制御CPU600aは、
図19に示すステップS120にて選択された設定値1~6用計数カウンタテーブルの設定値1~6用累積アウトカウンタ2(例えば、現在の設定値が「2」であれば、設定値2用累積アウトカウンタ2)の値を確認する(ステップS173a)。
【0227】
図19に示すステップS120にて選択された設定値1~6用計数カウンタテーブルの設定値1~6用累積アウトカウンタ2(例えば、現在の設定値が「2」であれば、設定値2用累積アウトカウンタ2)の値が60000に達していれば(ステップS173a:YES)、主制御CPU600aは、
図19に示すステップS120にて選択された設定値1~6用計数カウンタテーブルの設定値1~6用第1役物累積賞球カウンタ2(例えば、現在の設定値が「2」であれば、設定値2用第1役物累積賞球カウンタ2)と、
図19に示すステップS120にて選択された設定値1~6用計数カウンタテーブルの設定値1~6用第2役物累積賞球カウンタ2(例えば、現在の設定値が「2」であれば、設定値2用第2役物累積賞球カウンタ2)の値を加算し、その加算した値を
図19に示すステップS120にて選択された設定値1~6用計数カウンタテーブルの設定値1~6用総賞球カウンタ2(例えば、現在の設定値が「2」であれば、設定値2用総賞球カウンタ2)の値で除算することにより、役物比率を算出し、主制御RAM600cの計測用RAM領域600ce(
図9(a)参照)のy6役物比率ワーク領域に格納し(ステップS173b)、計数処理を終える。
【0228】
一方、
図19に示すステップS120にて選択された設定値1~6用計数カウンタテーブルの設定値1~6用累積アウトカウンタ2(例えば、現在の設定値が「2」であれば、設定値2用累積アウトカウンタ2)の値が60000に達していなければ(ステップS173a:NO)、主制御CPU600aは、
図19に示すステップS120にて選択された設定値1~6用計数カウンタテーブルの設定値1~6用第1役物累積賞球カウンタ1(例えば、現在の設定値が「2」であれば、設定値2用第1役物累積賞球カウンタ1)と、
図19に示すステップS120にて選択された設定値1~6用計数カウンタテーブルの設定値1~6用第2役物累積賞球カウンタ1(例えば、現在の設定値が「2」であれば、設定値2用第2役物累積賞球カウンタ1)の値を加算し、その加算した値を
図19に示すステップS120にて選択された設定値1~6用計数カウンタテーブルの設定値1~6用総賞球カウンタ1(例えば、現在の設定値が「2」であれば、設定値2用総賞球カウンタ1)の値で除算することにより、役物比率を算出し、主制御RAM600cの計測用RAM領域600ce(
図9(a)参照)のy6役物比率ワーク領域に格納し(ステップS173c)、計数処理を終える。
【0229】
一方、主制御CPU600aは、
図21(a)に示すように、後述する
図32に示す表示カウンタの値が、15秒に相当する値(第3所定値)に達し、20秒に相当する値(第4所定値)に達していなければ(ステップS170:<第4所定値)、yA算出処理を行う(ステップS174)。
【0230】
すなわち、主制御CPU600aは、
図21(e)に示すように、
図19に示すステップS120にて選択された設定値1~6用計数カウンタテーブルの設定値1~6用累積アウトカウンタ2(例えば、現在の設定値が「2」であれば、設定値2用累積アウトカウンタ2)の値を確認する(ステップS174a)。
【0231】
図19に示すステップS120にて選択された設定値1~6用計数カウンタテーブルの設定値1~6用累積アウトカウンタ2(例えば、現在の設定値が「2」であれば、設定値2用累積アウトカウンタ2)の値が60000に達していれば(ステップS174a:YES)、主制御CPU600aは、
図19に示すステップS120にて選択された設定値1~6用計数カウンタテーブルの設定値1~6用第2役物累積賞球カウンタ2(例えば、現在の設定値が「2」であれば、設定値2用第2役物累積賞球カウンタ2)の値を
図19に示すステップS120にて選択された設定値1~6用計数カウンタテーブルの設定値1~6用総賞球カウンタ2(例えば、現在の設定値が「2」であれば、設定値2用総賞球カウンタ2)の値で除算することにより、大入賞口に関する役物比率を算出し、主制御RAM600cの計測用RAM領域600ce(
図9(a)参照)のyA役物比率ワーク領域に格納し(ステップS174b)、計数処理を終える。
【0232】
一方、
図19に示すステップS120にて選択された設定値1~6用計数カウンタテーブルの設定値1~6用累積アウトカウンタ2(例えば、現在の設定値が「2」であれば、設定値2用累積アウトカウンタ2)の値が60000に達していなければ(ステップS174a:NO)、主制御CPU600aは、
図19に示すステップS120にて選択された設定値1~6用計数カウンタテーブルの設定値1~6用第2役物累積賞球カウンタ1(例えば、現在の設定値が「2」であれば、設定値2用第2役物累積賞球カウンタ1)の値を
図19に示すステップS120にて選択された設定値1~6用計数カウンタテーブルの設定値1~6用総賞球カウンタ1(例えば、現在の設定値が「2」であれば、設定値2用総賞球カウンタ1)の値で除算することにより、大入賞口に関する役物比率を算出し、主制御RAM600cの計測用RAM領域600ce(
図9(a)参照)のyA役物比率ワーク領域に格納し(ステップS174c)、計数処理を終える。
【0233】
しかして、
図21に示すような計数処理をすれば、計測表示装置610(
図7、
図8(a)参照)に表示予定の値のみ算出することとなり、もって、算出処理に係る時間を短縮することができる。
【0234】
なお、
図20,
図21に示す計数処理では、
図19に示すステップS120にて選択された設定値1~6用計数カウンタテーブルの設定値1~6用累積アウトカウンタ2(例えば、現在の設定値が「2」であれば、設定値2用累積アウトカウンタ2)の値が60000に達していない場合でも算出する例を示したが、それに限らず、
図20に示すステップS167,ステップS168、
図21(d)に示すステップS173c、
図21(e)に示すステップS174cの算出をしないようにしても良い。
【0235】
<賞球入賞数管理処理1の説明>
かくして、上記のような処理を終えた後、主制御CPU600aは、
図17に示すように、計数処理を実行し(ステップS63)、主制御RAM600cの計測用スタック領域600cg(
図9(a)参照)に退避させておいたレジスタの内容を復帰させ(ステップS64)、賞球入賞数管理処理1を終える。
【0236】
しかして、このように賞球入賞数管理処理1を、
図15に示すように、メインループ処理にて実行し、このメインループ処理は、設定表示装置620(
図7、
図8(b)参照)に表示される設定値を変更中は実行されることがないため、設定変更中、賞球入賞数管理処理1を実行しない等の分岐処理を設ける必要がなくなり、もって、プログラム容量の削減を図れると共に、処理速度を向上させることができる。
【0237】
<タイマ割込み処理の説明>
次に、
図22を参照して、上述したメイン処理を中断させて、4ms毎に開始されるタイマ割込みプログラムについて説明する。なお、このプログラムは、
図9(b)に示す主制御ROM600bの通常用プログラム領域600baに格納されているプログラムを読み出して実行するものである。
【0238】
このタイマ割込みが生じると、主制御CPU600a内のレジスタ群の内容を主制御RAM600cの通常用スタック領域600cc(
図9(a)参照)に退避させる退避処理を実行し(ステップS200)、その後電圧監視処理を実行する(ステップS201)。この電圧監視処理は、電源基板130(
図7参照)から出力される電圧異常信号ALARMのレベルを判定し、電圧異常信号ALARMが「L」レベル(異常レベル)であれば、主制御RAM600c内に記憶されているデータのバックアップ処理、すなわち、当該データのチェックサム値を算出し、その算出したチェックサム値をバックアップデータとして主制御RAM600c内に保存する処理を行うものである。
【0239】
次いで、主制御CPU600aは、上記電圧監視処理(ステップS201)が終了すると、各遊技動作の時間を管理している各種タイマ(普通図柄変動タイマ、普通図柄役物タイマ等)のタイマ減算処理を行う(ステップS202)。
【0240】
続いて、主制御CPU600aには、特別図柄1始動口スイッチ44a(
図7参照)と、特別図柄2始動口スイッチ45a(
図7参照)と、普通図柄始動口スイッチ47a(
図7参照)と、右上一般入賞口スイッチ48a1(
図7参照),左上一般入賞口スイッチ48b1(
図7参照),左中一般入賞口スイッチ48c1(
図7参照),左下一般入賞口スイッチ48d1(
図7参照)と、アウト口スイッチ49a(
図7参照)と、大入賞口スイッチ46c(
図7参照)を含む各種スイッチ類のON/OFF信号が入力され、主制御RAM600c内の作業領域にON/OFF信号レベルや、その立ち上がり状態が記憶される(ステップS203)。なお、この処理の詳細は後述することとする。
【0241】
次いで、主制御CPU600aは、乱数管理処理を行う(ステップS204)。具体的には、当否抽選に使用する普通図柄、特別図柄等の乱数を更新する処理を行うものである。なお、この際、上述した
図13(b)~(d)に示すようなカウンタプログラムが実行されることとなる。
【0242】
次いで、主制御CPU600aは、エラー管理処理を行う(ステップS205)。なお、エラー管理処理は、遊技球の補給が停止したり、あるいは、遊技球が詰まったり、特別図柄1始動口スイッチ44a(
図7参照)、特別図柄2始動口スイッチ45a(
図7参照)、普通図柄始動口スイッチ47a(
図7参照)、右上一般入賞口スイッチ48a1(
図7参照)、左上一般入賞口スイッチ48b1(
図7参照)、左中一般入賞口スイッチ48c1(
図7参照)、左下一般入賞口スイッチ48d1(
図7参照)、アウト口スイッチ49a(
図7参照)、大入賞口スイッチ46c(
図7参照)の断線など、機器内部に異常が生じていないかの判定を行うものである。なお、何らかのエラーが発生した際、演出制御基板90へ、そのエラーに応じたコマンド(演出制御コマンドDI_CMD)が送信されることとなり、このコマンド(演出制御コマンドDI_CMD)送信処理は、CALL_S命令でコールして処理されることとなる。
【0243】
次いで、主制御CPU600aは、主制御RAM600c(
図7参照)内に記憶されている遊技者に有利な特別遊技状態を発生させる確率の設定値が「1」~「6」の範囲内か否かを示すRAMエラーフラグを確認する(ステップS206)。RAMエラーフラグがONに設定されていれば(ステップS206:YES)、主制御CPU600aは、主制御RAM600c(
図7参照)内に記憶されている遊技者に有利な特別遊技状態を発生させる確率の設定値が「1」~「6」の範囲外となっていると判断し、図柄に関連する処理をスキップし、ステップS219の処理に進む。一方、RAMエラーフラグがOFFに設定されていれば(ステップS206:NO)、主制御CPU600aは、主制御RAM600c(
図7参照)内に記憶されている遊技者に有利な特別遊技状態を発生させる確率の設定値が「1」~「6」の範囲内となっていると判断し、ステップS207の処理に進む。
【0244】
次いで、主制御CPU600aは、設定変更中フラグを確認する(ステップS207)。設定変更中フラグがONに設定されていれば(ステップS207:YES)、主制御CPU600aは、本来電源投入時でしか変更できない設定値の変更状態となっているイレギュラー状態と判断し、ステップS217の処理に進む。一方、設定変更中フラグがOFFに設定されていれば(ステップS207:NO)、主制御CPU600aは、遊技者に有利な特別遊技状態を発生させる確率の設定値が変更中でないと判断し、ステップS208の処理に進む。
【0245】
次いで、主制御CPU600aは、設定確認フラグを確認する(ステップS208)。設定確認フラグがONに設定されていれば(ステップS208:YES)、主制御CPU600aは、遊技者に有利な特別遊技状態を発生させる確率の設定値を確認中であると判断し、ステップS214の処理に進む。一方、設定確認フラグがOFFに設定されていれば(ステップS208:NO)、主制御CPU600aは、遊技者に有利な特別遊技状態を発生させる確率の設定値を確認中でないと判断し、ステップS209の処理に進む。
【0246】
次いで、主制御CPU600aは、賞球管理処理を実行する(ステップS209)。この賞球管理処理は、払出制御基板70(
図7参照)に払出し動作を行わせるための払出制御コマンドPAY_CMDを出力している。なお、この処理の詳細は後述することとする。
【0247】
次いで、主制御CPU600aは、普通図柄処理を実行する(ステップS210)。この普通図柄処理は、普通図柄の当否抽選を実行し、その抽選結果に基づいて普通図柄の変動パターンや普通図柄の停止表示状態を決定したりするものである。なお、この処理の詳細は後述することとする。
【0248】
次いで、主制御CPU600aは、普通電動役物管理処理を実行する(ステップS2111)。この普通電動役物管理処理は、普通図柄処理(ステップS210)の抽選結果に基づき、普通電動役物開放遊技発生に必要な普通電動役物ソレノイド45c(
図7参照)の制御に関する信号が生成されるものである。
【0249】
次いで、主制御CPU600aは、特別図柄処理を実行する(ステップS212)。この特別図柄処理では、特別図柄の当否抽選を実行し、その抽選の結果に基づいて特別図柄の変動パターンや特別図柄の停止表示態様を決定するものである。なお、この処理の詳細は後述することとする。
【0250】
ところで、特別図柄処理を実行する際、主制御CPU600aは、特別図柄の当否抽選に関し、主制御RAM600c(
図7参照)内に記憶されている遊技者に有利な特別遊技状態を発生させる確率の設定値に基づいて、特別図柄の当否抽選を行う。そのため、主制御CPU600aは、主制御RAM600c(
図7参照)内に記憶されている遊技者に有利な特別遊技状態を発生させる確率の設定値が「1」~「6」の範囲内であるか否かを確認し、範囲外であれば、RAMエラーフラグにONを設定する。
【0251】
次いで、主制御CPU600aは、特別電動役物管理処理を実行する(ステップS213)。この特別電動役物管理処理では、主に、大当たり抽選結果が「大当たり」又は「小当たり」であった場合、その当りに対応した当り遊技を実行制御するために必要な設定処理を行うものである。この際、特別電動役物ソレノイド46b(
図7参照)の制御に関する信号も生成される。なお、大当たり抽選結果が「大当たり」又は「小当たり」であった場合、それに関するコマンド(演出制御コマンドDI_CMD)が演出制御基板90に送信される。なお、このコマンド(演出制御コマンドDI_CMD)送信処理は、CALL_S命令でコールして処理されることとなる。
【0252】
次いで、主制御CPU600aは、主制御RAM600c(
図7参照)内に記憶されている遊技者に有利な特別遊技状態を発生させる確率の設定値を確認する処理を行う(ステップS214)。なお、この処理の詳細は後述することとする。
【0253】
次いで、主制御CPU600aは、賞球入賞数管理処理2を実行する(ステップS215)。この賞球入賞数管理処理2では、
図15に示すステップS44の賞球入賞数管理処理1にて算出した値を計測表示装置610(
図7、
図8(a)参照)に表示させる処理を行うものである。なお、この処理の詳細は後述することとする。
【0254】
ところで、賞球入賞数管理処理2は、
図22に示すように、RAMエラー(
図22に示すステップS206)、設定値の変更状態となっているイレギュラー状態(
図22に示すステップS207)は処理されないこととなる。なお、賞球入賞数管理処理2は、CALL命令でコールされて処理されることとなる。
【0255】
次いで、主制御CPU600aは、ソレノイド駆動処理を行う(ステップS216)。この際、主制御CPU600aは、普通電動役物管理処理(ステップS211)にて生成された普通電動役物ソレノイド45c(
図7参照)の制御に関する信号を確認すると共に、特別電動役物管理処理(ステップS213)にて生成された特別電動役物ソレノイド46b(
図7参照)の制御に関する信号を確認する。そしてこの信号に基づき、普通電動役物ソレノイド45c又は特別電動役物ソレノイド46bの作動/停止が制御され、開閉部材45b(
図5参照)が開放又は閉止、あるいは、大入賞口(図示せず)が開放又は閉止するように開閉扉46a(
図5参照)が動作することとなる。
【0256】
次いで、主制御CPU600aは、LED管理処理を実行する(ステップS217)。このLED管理処理は、処理の進行状態に応じて、特別図柄表示装置50(
図5参照)や普通図柄表示装置51(
図5参照)への出力データを生成したり、当該データに基づく制御信号を出力したり、あるいは、設定変更中フラグ、設定確認フラグがONに設定されている場合は、設定表示装置620(
図7、
図8(b)参照)への出力データを生成したり、当該データに基づく制御信号を出力したりする処理である。この処理により、特別図柄表示装置50、普通図柄表示装置51に抽選結果が表示され、設定表示装置620に遊技者に有利な特別遊技状態を発生させる確率の設定値が表示されることとなる。
【0257】
次いで、主制御CPU600aは、外部端子管理処理を実行する(ステップS218)。この外部端子管理処理では、遊技場の遊技島管理に使用されるホールコンピュータ(図示せず)に、当り遊技中、当りの発生回数、特別図柄の変動回数、入賞口への入賞球検出情報など、所定の遊技情報が出力されるものである。また、設定変更中フラグ、設定確認フラグがONに設定されている場合は、セキュリティ信号の出力が行われる。
【0258】
次いで、主制御CPU600aは、割込み許可状態に戻し(ステップS219)、主制御RAM600cの通常用スタック領域600cc(
図9(a)参照)に退避させておいたレジスタの内容を復帰させタイマ割込みを終える(ステップS220)。これにより、割込み処理ルーチンからメイン処理(
図15参照)に戻ることとなる。
【0259】
なお、タイマ割込み処理にて実行される電圧監視処理(ステップS201)~エラー管理処理(ステップS205)、賞球管理処理(ステップS209)~外部端子管理処理(ステップS218)は、CALL_M命令でコールされて処理されることとなる。
【0260】
<スイッチ入力処理の説明>
次に、
図23~
図24を参照して、上記スイッチ入力処理について詳細に説明する。スイッチ入力処理は、
図23に示すように、先ず、各入力ポートの入力データを取得する。すなわち、主制御CPU600aは、右上一般入賞口スイッチ48a1,左上一般入賞口スイッチ48b1,左中一般入賞口スイッチ48c1,左下一般入賞口スイッチ48d1,大入賞口スイッチ46c,アウト口スイッチ49a,特別図柄1始動口スイッチ44a,特別図柄2始動口スイッチ45a,普通図柄始動口スイッチ47aを含む各種スイッチ類のON/OFF信号のデータを入力ポートより取得し、その取得した各種スイッチ類のON/OFF信号のデータに基づいて各種スイッチ類のエッジデータを作成する。そして、主制御CPU600aは、その作成した各種スイッチ類のエッジデータを主制御RAM600cの通常用RAM領域600ca(
図9(a)参照)に格納する(ステップS250)。
【0261】
次いで、主制御CPU600aは、不正入賞があったか否かを確認、すなわち、例えば、大入賞口(図示せず)が開閉扉46aに閉止していなければならない遊技状態にもかかわらず開放されているか否かを確認し、開放されていれば、不正入賞であると判断し、上記主制御RAM600c領域に格納しておいた各種スイッチ類のエッジデータのうち不正入賞であると判断したデータに関し無効にする処理を行う(ステップS251)。
【0262】
<入賞無効処理の説明>
この点、
図24を参照して、より詳しく説明すると、
図24に示すように、主制御CPU600aは、先ず、普電開放延長状態フラグの値を確認する(ステップS260)。普電開放延長状態フラグの値が05AHであれば(ステップS260:=05AH)、開閉部材45b(
図5参照)が特別図柄2始動口45(
図5参照)を延長して開放している状態であると判断し、主制御CPU600aは、ステップS267の処理に進む。
【0263】
一方、普電開放延長状態フラグの値が05AHでなければ(ステップS260:≠05AH)、普電作動中フラグの値を確認する(ステップS261)。普電作動中フラグの値が05AHであれば(ステップS261:=05AH)、開閉部材45b(
図5参照)が作動中(特別図柄2始動口45が開閉されている状態)であると判断し、主制御CPU600aは、ステップS267の処理に進む。
【0264】
他方、普電作動中フラグの値が05AHでなければ(ステップS261:≠05AH)、開閉部材45b(
図5参照)の作動が終了している状態であると判断し、普電入賞有効タイマの値を確認する(ステップS262)。普電入賞有効タイマの値が0でなければ(ステップS262:≠0)、開閉部材45b(
図5参照)が、特別図柄2始動口45(
図5参照)を閉止しようとしている状態であると判断し、主制御CPU600aは、ステップS267の処理に進む。
【0265】
一方、普電入賞有効タイマの値が0であれば(ステップS262:=0)、開閉部材45b(
図5参照)が、特別図柄2始動口45(
図5参照)を閉止している状態であると判断し、
図23に示すステップS250にて主制御RAM600cの通常用RAM領域600ca(
図9(a)参照)に格納した特別図柄2始動口スイッチ45aのエッジデータを取得する(ステップS263)。そして、そのエッジデータを確認し(ステップS264)、OFFであれば(ステップS264:NO)、特別図柄2始動口45への入賞がなく不正が行われていないと判断し、主制御CPU600aは、ステップS267の処理に進む。
【0266】
一方、エッジデータがONであれば(ステップS264:YES)、開閉部材45b(
図5参照)によって特別図柄2始動口45(
図5参照)が閉止されているにも係らず、特別図柄2始動口45(
図5参照)への入賞がされているため、不正が行われていると判断し、主制御CPU600aは、特別図柄2始動口スイッチ45aのエッジデータをクリアし、OFFにする処理を行い、主制御RAM600cの通常用RAM領域600ca(
図9(a)参照)に格納する(ステップS265)。
【0267】
次いで、主制御CPU600aは、不正情報タイマに30sをセットする処理を行う(ステップS266)。なお、この不正情報タイマが0でない期間中、エラー管理処理(
図22に示すステップS205)において、スピーカ17(
図1参照)から警報音を発する等のエラー処理が行われる。
【0268】
次いで、主制御CPU600aは、上記のような処理を終えた後、主制御RAM600cの通常用RAM領域600ca(
図9(a)参照)に格納した大入賞口スイッチ46cのエッジデータを取得する(ステップS267)。そして、そのエッジデータを確認し(ステップS268)、そのエッジデータがOFFであれば(ステップS268:NO)、大入賞口(図示せず)への入賞がなく不正が行われていないと判断し、入賞無効処理を終える。
【0269】
一方、エッジデータがONであれば(ステップS268:YES)、特別電動役物作動フラグの値を確認する(ステップS269)。特別電動役物作動フラグの値が05AHであれば(ステップS269:=05AH)、大入賞口(図示せず)が開閉扉46a(
図5参照)によって、開放されている状態であり、不正が行われていないと判断し、入賞無効処理を終える。
【0270】
他方、特別電動役物作動フラグの値が05AHでなければ(ステップS269:≠05AH)、大入賞口(図示せず)が開閉扉46a(
図5参照)によって閉止されている状態であるにも係らず入賞があるため、不正が行われていると判断し、主制御CPU600aは、大入賞口スイッチ46cのエッジデータをクリアし、OFFにする処理を行い、主制御RAM600cの通常用RAM領域600ca(
図9(a)参照)に格納する(ステップS270)。
【0271】
次いで、主制御CPU600aは、不正情報タイマに30sをセットし(ステップS271)、入賞無効処理を終える。
【0272】
<スイッチ入力処理の説明>
かくして、上記のような処理を終えた後、主制御CPU600aは、主制御RAM600cの通常用RAM領域600ca(
図9(a)参照)に格納しておいた各種スイッチ類のエッジデータを取得する(ステップS252)。これらエッジデータが全てOFF状態(ステップS252:NO)であれば、スイッチ入力処理を終える。
【0273】
一方、これらエッジデータのうちいずれか一つのデータがON状態(ステップS252:YES)であれば、主制御CPU600aは、賞球数毎に対応した入賞カウンタを加算する処理を行う(ステップS253)。
【0274】
具体的には、右上一般入賞口スイッチ48a1に遊技球が入賞(エッジデータがON)すると、第1入賞カウンタをインクリメント(+1)する処理を行う。そして、左上一般入賞口スイッチ48b1,左中一般入賞口スイッチ48c1,左下一般入賞口スイッチ48d1の何れかに遊技球が入賞(エッジデータがON)すると、入賞した数だけ、第2入賞カウンタをインクリメント(+1)する処理を行う。さらに、大入賞口スイッチ46cに遊技球が入賞(エッジデータがON)すると、第3入賞カウンタをインクリメント(+1)する処理を行う。そしてさらに、特別図柄1始動口スイッチ44a,特別図柄2始動口スイッチ45aの何れかに遊技球が入賞(エッジデータがON)すると、入賞した数だけ、第4入賞カウンタをインクリメント(+1)する処理を行う。
【0275】
かくして、主制御CPU600aは、上記の処理をした後、スイッチ入力処理を終える。
【0276】
<賞球管理処理の説明>
次に、
図25を参照して、上記賞球管理処理について詳細に説明する。賞球管理処理は、
図25に示すように、先ず、入賞カウンタの総数をループカウンタにセットする(ステップS280)。すなわち、本実施形態において、入賞カウンタは、第1入賞カウンタ,第2入賞カウンタ,第3入賞カウンタ,第4入賞カウンタの4つが存在する(
図23に示すステップS253の説明参照)ため、ループカウンタに4がセットされる。
【0277】
次いで、主制御CPU600aは、入賞カウンタの番号に1をセットする。より詳しく説明すると、本実施形態においては、第1入賞カウンタ,第2入賞カウンタ,第3入賞カウンタ,第4入賞カウンタの4つの入賞カウンタが存在しているため、それぞれの入賞カウンタに番号が割り当てられることとなる。すなわち、第1入賞カウンタの番号は1、第2入賞カウンタの番号は2、第3入賞カウンタの番号は3、第4入賞カウンタの番号は4というように番号が割り当てられることとなり、その割り当てられた番号を示す数値がNで、その数値Nに1がセットされるというものである(ステップS281)。
【0278】
次いで、主制御CPU600aは、その数値Nにセットされた番号を確認し、その番号に該当する入賞カウンタの値を確認する(ステップS282)。すなわち、数値Nに1がセットされていた場合は、第1入賞カウンタの値が0か否かを確認し、数値Nに2がセットされていた場合は、第2入賞カウンタの値が0か否かを確認し、数値Nに3がセットされていた場合は、第3入賞カウンタの値が0か否かを確認し、数値Nに4がセットされていた場合は、第4入賞カウンタの値が0か否かを確認する。
【0279】
そして、入賞カウンタの値が0であれば(ステップS282:=0)、主制御CPU600aは、数値Nをインクリメント(+1)する処理を行い(ステップS283)、ループカウンタの値を減算(-1)する処理を行う(ステップS284)。そしてその処理によって、ループカウンタの値が0(ステップS285:=0)になれば、賞球管理処理を終え、0でなければ(ステップS285:≠0)、ステップS282に戻り、ステップS282~ステップS285の処理を繰り返す。
【0280】
一方、主制御CPU600aは、入賞カウンタの値が0でなければ(ステップS282:≠0)、数値Nに1がセットされていた場合、第1入賞カウンタの値を減算(-1)する処理を行い、数値Nに2がセットされていた場合、第2入賞カウンタの値を減算(-1)する処理を行い、数値Nに3がセットされていた場合、第3入賞カウンタの値を減算(-1)する処理を行い、数値Nに4がセットされていた場合、第4入賞カウンタの値を減算(-1)する処理を行う(ステップS286)。
【0281】
そして、この処理の後、主制御CPU600aは、払出個数を指定した払出制御コマンドPAY_CMDを払出制御基板70(
図7参照)に送信する。具体的には、上記ステップS286の処理にて、第1入賞カウンタの値を減算した場合は、そのカウンタ値を減算した値、すなわち、1に対応した遊技球(例えば、5個)を払出すよう指定した払出制御コマンドPAY_CMDを払出制御基板70(
図7参照)に送信する。そして、第2入賞カウンタの値を減算した場合は、そのカウンタ値を減算した値、すなわち、1に対応した遊技球(例えば、10個)を払出すよう指定した払出制御コマンドPAY_CMDを払出制御基板70(
図7参照)に送信する。そしてさらに、第3入賞カウンタの値を減算した場合は、そのカウンタ値を減算した値、すなわち、1に対応した遊技球(例えば、15個)を払出すよう指定した払出制御コマンドPAY_CMDを払出制御基板70(
図7参照)に送信する。またさらに、第4入賞カウンタの値を減算した場合は、そのカウンタ値を減算した値、すなわち、1に対応した遊技球(例えば、3個)を払出すよう指定した払出制御コマンドPAY_CMDを払出制御基板70(
図7参照)に送信する(ステップS287)。これにより、払出制御基板70は、当該払出制御コマンドPAY_CMDに基づいて、払出モータMを制御して遊技球を払出すこととなる。なお、この払出制御コマンドPAY_CMDの送信処理は、CALL_S命令でコールして処理されることとなる。
【0282】
かくして、主制御CPU600aは、上記処理を終えた後、賞球管理処理を終える。
【0283】
<普通図柄処理の説明>
次に、
図26を参照して、上記普通図柄処理について詳細に説明する。
【0284】
図26に示すように、普通図柄処理は、先ず、ゲートからなる普通図柄始動口47(
図5参照)において、遊技球の通過を検出したか否かを確認、すなわち、普通図柄始動口47の普通図柄始動口スイッチ47a(
図7参照)の信号レベルを確認する(ステップS300)。そして遊技球の通過を検出した場合(ステップS300:YES)、主制御CPU600aは、普通図柄の始動保留球数が例えば4以上か否かを判断するため、普通図柄の始動保留球数が格納されている主制御RAM600cの通常用RAM領域600ca(
図9(a)参照)を確認する(ステップS301)。その際、普通図柄の始動保留球数が4未満であれば(ステップS301:≠MAX)、普通図柄の始動保留球数を1加算する(ステップS302)。その後、主制御CPU600aは、普通図柄の当否抽選に用いられる普通図柄当り判定用乱数値を普通図柄の始動保留球数が格納されている主制御RAM600cの通常用RAM領域600ca(
図9(a)参照)に格納した上で(ステップS303)、ステップS304の処理に進む。
【0285】
一方、ステップS300にて、遊技球の通過を検出しなかった場合(ステップS300:NO)、ステップS301にて、普通図柄の始動保留球数が4以上であると判断した場合(ステップS301:=MAX)には、ステップS302~S303の処理は行わず、ステップS304の処理に進む。
【0286】
主制御CPU600aは、ステップS304の処理に進むと、普通図柄当たり作動フラグがONに設定されているか、すなわち、普通図柄当たり作動フラグに5AHが設定されているかを確認する(ステップS304)。普通図柄当たり作動フラグに5AHが設定されていれば(ステップS304:ON)、普通図柄が当たり中であると判断し、普通図柄の表示データの更新を行った後(ステップS313)、普通図柄処理を終える。
【0287】
一方、普通図柄当たり作動フラグに5AHが設定されていなければ(ステップS304:OFF)、普通図柄の挙動を示す処理状態、すなわち、普通図柄動作ステータスフラグの値を確認する(ステップS305)。そして、普通図柄動作ステータスフラグが00Hであれば、主制御CPU600aは、普通図柄の変動開始前の状態であると判断し、ステップS306に進み、普通図柄の始動保留球数が0か否かを確認する(ステップS306)。
【0288】
主制御CPU600aは、普通図柄の始動保留球数が格納されている主制御RAM600cの通常用RAM領域600ca(
図9(a)参照)を確認した上で、0であると判断した場合(ステップS306:=0)は、普通図柄の表示データの更新を行った後(ステップS313)、普通図柄処理を終える。一方、0でないと判断した場合(ステップS306:≠0)は、普通図柄の始動保留球数を1減算する(ステップS307)。
【0289】
その後、主制御CPU600aは、
図29(a)に示す普通図柄当たり判定テーブルNPP_TBLを用いて主制御RAM600cの通常用RAM領域600ca(
図9(a)参照)に格納されている普通図柄の始動保留球数に対応した乱数値の当たり判定を行う。すなわち、主制御CPU600aは、遊技状態を示す普通図柄確変フラグがOFFであれば、当該乱数値が、
図29(a)に示す普通図柄当たり判定テーブルNPP_TBL(通常状態)の下限値(図示では、249)以上で上限値(図示では、250)以下か否かを判定し、下限値以上で上限値以下であれば、普通図柄当たり判定フラグに5AHをセットし、ONにする。それ以外の場合は、普通図柄当たり判定フラグをOFFにする。
【0290】
一方、遊技状態を示す普通図柄確変フラグがONであれば、当該乱数値が、
図29(a)に示す普通図柄当たり判定テーブルNPP_TBL(確変状態)の下限値(図示では、4)以上で上限値(図示では、250)以下か否かを判定し、下限値以上で上限値以下であれば、普通図柄当たり判定フラグに5AHをセットし、ONにする。それ以外の場合は、普通図柄当たり判定フラグをOFFにセットする処理を行う(ステップS308)。
【0291】
そして、主制御CPU600aは、上記乱数抽選処理にて決定した抽選結果に基づいて、停止図柄(普通図柄停止図柄)を決定する(ステップS309)。
【0292】
次いで、主制御CPU600aは、普通図柄の変動時間を短くする普通図柄時短フラグがONに設定されているかを確認し、ONに設定されていれば、普通図柄変動タイマにそれに応じた変動時間を設定し、OFFに設定されていれば、普通図柄変動タイマに通常の変動時間を設定する処理を行う(ステップS310)。
【0293】
次いで、主制御CPU600aは、普通図柄の始動保留球数に対応した普通図柄の当否抽選に用いられる乱数値が格納されている主制御RAM600cの通常用RAM領域600ca(
図9(a)参照)の記憶領域をシフトする(ステップS311)。すなわち、普通図柄の始動保留球数を最大で4個保留できるとすると、普通図柄の始動保留球数4に対応した普通図柄の当否抽選に用いられる乱数値を普通図柄の始動保留球数3に対応した普通図柄の当否抽選に用いられる乱数値が格納されていた主制御RAM600cの通常用RAM領域600ca(
図9(a)参照)にシフトし、普通図柄の始動保留球数3に対応した普通図柄の当否抽選に用いられる乱数値を普通図柄の始動保留球数2に対応した普通図柄の当否抽選に用いられる乱数値が格納されていた主制御RAM600cの通常用RAM領域600ca(
図9(a)参照)にシフトし、普通図柄の始動保留球数2に対応した普通図柄の当否抽選に用いられる乱数値を普通図柄の始動保留球数1に対応した普通図柄の当否抽選に用いられる乱数値が格納されていた主制御RAM600cの通常用RAM領域600ca(
図9(a)参照)にシフトするという処理を行う。
【0294】
この処理の後、主制御CPU600aは、上記ステップS305にて用いた普通図柄動作ステータスフラグに01Hを設定し、普通図柄の始動保留球数4に対応した普通図柄の当否抽選に用いられる乱数値が格納されていた主制御RAM600cの通常用RAM領域600ca(
図9(a)参照)に00Hを設定する処理を行う(ステップS312)。
【0295】
そして、主制御CPU600aは、上記ステップS312の処理を終えた後、普通図柄の表示データの更新を行い(ステップS313)、普通図柄処理を終える。
【0296】
他方、主制御CPU600aは、上記ステップS305にて、普通図柄の挙動を示す処理状態、すなわち、普通図柄動作ステータスフラグの値が01Hであれば、主制御CPU600aは、普通図柄が変動中であると判断し、ステップS314に進み、普通図柄変動タイマが0か否かを確認する(ステップS314)。普通図柄変動タイマが0でなければ(ステップS314:≠0)、普通図柄の表示データの更新を行い(ステップS313)、普通図柄処理を終える。そして、普通図柄変動タイマが0であれば(ステップS314:=0)、主制御CPU600aは、上記ステップS305にて用いた普通図柄動作ステータスフラグに02Hを設定し、普通図柄の当否抽選結果を一定時間維持させるために、普通図柄変動タイマに例えば約600msの時間が設定される(ステップS315)。
【0297】
主制御CPU600aは、上記ステップS315の処理を終えた後、普通図柄の表示データの更新を行い(ステップS313)、普通図柄処理を終える。
【0298】
一方、主制御CPU600aは、上記ステップS305にて、普通図柄の挙動を示す処理状態、すなわち、普通図柄動作ステータスフラグの値が02Hであれば、主制御CPU600aは、普通図柄が確認時間中(普通図柄の変動が終了して停止中)であると判断し、ステップS316に進み、普通図柄変動タイマが0か否かを確認する(ステップS316)。普通図柄変動タイマが0でなければ(ステップS316:≠0)、普通図柄の表示データの更新を行い(ステップS313)、普通図柄処理を終える。そして、普通図柄変動タイマが0であれば(ステップS316:=0)、主制御CPU600aは、上記ステップS305にて用いた普通図柄動作ステータスフラグに00Hを設定し(ステップS317)、普通図柄当たり判定フラグがONに設定(5AHが設定)されているかを確認する(ステップS318)。
【0299】
これにより、普通図柄当たり判定フラグがOFFに設定(5AHが設定されていない)されていれば(ステップS318:OFF)、主制御CPU600aは、普通図柄の表示データの更新を行い(ステップS313)、普通図柄処理を終える。そして、普通図柄当たり判定フラグがONに設定(5AHが設定)されていれば(ステップS318:ON)、主制御CPU600aは、ステップS304にて用いられる普通図柄当たり作動フラグをON(5AHを設定)に設定した(ステップS319)後、普通図柄処理を終える。
【0300】
<特別図柄処理の説明>
次に、
図27及び
図28を参照して、上記特別図柄処理について詳細に説明する。
【0301】
図27に示すように、特別図柄処理は、先ず、特別図柄1始動口44(
図5参照)の特別図柄1始動口スイッチ44a(
図7参照)において、遊技球の入球(入賞球)を検出した否かを確認し(ステップS400)、さらに、特別図柄2始動口45(
図5参照)の特別図柄2始動口スイッチ45a(
図7参照)において、遊技球の入球(入賞球)を検出したか否かを確認する(ステップS401)。
【0302】
<特別図柄処理:始動口チェック処理の説明>
この処理について、
図28を用いて詳しく説明すると、主制御CPU600aは、特別図柄1始動口44又は特別図柄2始動口45に遊技球が入球(入賞)したか否かを確認、すなわち、特別図柄1始動口44の特別図柄1始動口スイッチ44a又は特別図柄2始動口45の特別図柄2始動口スイッチ45aのレベルを確認する(ステップS450)。これにより、遊技球の入球(入賞)を検出しなければ(ステップS450:NO)、特別図柄処理を終える。
【0303】
一方、遊技球の入球(入賞)を検出すれば(ステップS450:YES)、主制御CPU600aは、特別図柄の変動契機となる始動保留球数が所定数、主制御RAM600cの通常用RAM領域600ca(
図9(a)参照)に格納されているか否かを確認する(ステップS451)。その始動保留球数が、4未満であれば(ステップS451:≠MAX)、当該始動保留球数を1加算(+1)する(ステップS452)。
【0304】
次いで、主制御CPU600aは、特別図柄停止の際用いられる乱数値及び変動パターン用乱数値並びに大当たり判定用乱数値を特別図柄の変動契機となる始動保留球数が格納されている主制御RAM600cの通常用RAM領域600ca(
図9(a)参照)に格納する(ステップ453)。
【0305】
次いで、主制御CPU600aは、現在の遊技状態(特別図柄大当たり判定フラグがONに設定されているか否か等)を確認し、先読み禁止状態か否かを判定する(ステップS454)。そして、先読み禁止状態でなければ(ステップS454:NO)、主制御CPU600aは、上記ステップS453にて主制御RAM600cの通常用RAM領域600ca(
図9(a)参照)に格納した特別図柄の当否抽選に用いられる大当たり判定用乱数値を取得し(ステップS455)、さらに、図示しない始動口入賞時乱数判定テーブルを取得する(ステップS456)。
【0306】
次いで、主制御CPU600aは、上記ステップS455にて取得した大当たり判定用乱数値及びステップS456にて取得した始動口入賞時乱数判定テーブル(図示せず)を用いて、大当たり抽選を行い、さらに、上記ステップS453にて主制御RAM600cの通常用RAM領域600ca(
図9(a)参照)に格納した特別図柄用乱数値を用いて、大当たりの種類(ランクアップボーナス当り,通常の大当り等)を決定し、変動パターン用乱数値を用いて、変動パターンを決定し、それに応じた特別図柄始動口入賞コマンドを生成する(ステップS457)。なお、この特別図柄始動口入賞コマンドを生成する際、
図11(b)に示すような変動時間を取得するプログラムが実行されることとなる。
【0307】
次いで、主制御CPU600aは、上記生成された特別図柄始動口入賞コマンドに応じた下位バイトの始動保留加算コマンドを生成する(ステップS458)。
【0308】
一方、主制御CPU600aは、上記ステップS458の処理を終えるか、又は、上記ステップS451にて特別図柄1又は2の始動保留球数が4以上であるか(ステップS451:=MAX)、あるいは、先読み禁止状態であれば(ステップS454:YES)、増加した始動保留球数に応じた上位バイトの始動保留加算コマンドを生成する(ステップS459)。
【0309】
次いで、主制御CPU600aは、上記ステップS458にて生成した下位バイトの始動保留加算コマンドと、上記ステップS459にて生成した上位バイトの始動保留加算コマンドとを結合した上で、始動保留加算コマンド(演出制御コマンドDI_CMD)として、演出制御基板90に送信する処理を行う(ステップS460)。この始動保留加算コマンド(演出制御コマンドDI_CMD)送信処理は、CALL_S命令でコールして処理されることとなる。
【0310】
<特別図柄処理の説明>
かくして、
図27に示すステップS400及びステップS401の処理を終えると、主制御CPU600aは、特別図柄小当たり作動フラグがONに設定されているか、すなわち、特別図柄小当たり作動フラグに5AHが設定されているかを確認する(ステップS402)。特別図柄小当たり作動フラグに5AHが設定されていれば(ステップS402:ON)、特別図柄が小当たり中であると判断し、特別図柄の表示データの更新を行った後(ステップS408)、特別図柄処理を終える。
【0311】
一方、特別図柄小当たり作動フラグに5AHが設定されていなければ(ステップS402:OFF)、特別図柄大当たり作動フラグがONに設定されているか、すなわち、特別図柄大当たり作動フラグに5AHが設定されているかを確認する(ステップS403)。特別図柄大当たり作動フラグに5AHが設定されていれば(ステップS403:ON)、特別図柄が大当たり中であると判断し、特別図柄の表示データの更新を行った後(ステップS408)、特別図柄処理を終える。
【0312】
一方、特別図柄大当たり作動フラグに5AHが設定されていなければ(ステップS403:OFF)、特別図柄の挙動を示す処理状態、すなわち、特別図柄動作ステータスフラグの値を確認する(ステップS404)。より詳しく説明すると、主制御CPU600aは、特別図柄動作ステータスフラグの値が00H又は01Hであれば、特別図柄変動待機中(特別図柄の変動が行われておらず次回の変動のための待機状態であることを示す)であると判定し、特別図柄変動開始処理を行う(ステップS405)。
【0313】
この特別図柄変動開始処理にて、変動開始コマンド(演出制御コマンドDI_CMD)、始動保留球減算コマンド(演出制御コマンドDI_CMD)、特別図柄変動パターンのコマンド(演出制御コマンドDI_CMD)が演出制御基板90に送信されることとなる。それゆえ、これらコマンド(演出制御コマンドDI_CMD)送信処理は、CALL_S命令でコールして処理されることとなる。
【0314】
また、この特別図柄変動開始処理にて、
図28に示すステップS453にて主制御RAM600cの通常用RAM領域600ca(
図9(a)参照)に格納した各始動保留球数(始動保留1~4)に対応した乱数値(大当たり判定用乱数値)が、特別図柄の大当たりか小当たりかを
図29(b)に示す特別図柄大当たり判定テーブルSDH_TBL、
図29(c)に示す特別図柄小当たり判定テーブルSDP_TBLを用いて判定する。すなわち、主制御CPU600aは、遊技状態を示す特別図柄確変フラグがOFFであれば、大当たり判定用乱数値が、
図29(b)に示す特別図柄大当たり判定テーブルSDH_TBL(通常状態)の下限値(図示では、10001)以上で上限値(図示では、10164)以下か否かを判定し、下限値以上で上限値以下であれば、特別図柄大当たり判定フラグに5AHをセットし、ONにする。それ以外の場合は、特別図柄大当たり判定フラグをOFFにする。
【0315】
一方、遊技状態を示す特別図柄確変フラグがONであれば、大当たり判定用乱数値が、
図29(b)に示す特別図柄大当たり判定テーブルSDH_TBL(確変状態)の下限値(図示では、10001)以上で上限値(図示では、11640)以下か否かを判定し、下限値以上で上限値以下であれば、特別図柄大当たり判定フラグに5AHをセットし、ONにする。それ以外の場合は、特別図柄大当たり判定フラグをOFFにセットする処理を行う。
【0316】
他方、主制御CPU600aは、特別図柄2変動中フラグがOFFであれば、大当たり判定用乱数値が、
図29(c)に示す特別図柄小当たり判定テーブルSDP_TBL(特別図柄1)の下限値(図示では、20001)以上で上限値(図示では、20164)以下か否かを判定し、下限値以上で上限値以下であれば、特別図柄小当たり判定フラグに5AHをセットし、ONにする。それ以外の場合は、特別図柄小当たり判定フラグをOFFにセットする処理を行う。
【0317】
一方、特別図柄2変動中フラグがONであれば、大当たり判定用乱数値が、
図29(c)に示す特別図柄小当たり判定テーブルSDP_TBL(特別図柄2)の下限値(図示では、20001)以上で上限値(図示では、20082)以下か否かを判定し、下限値以上で上限値以下であれば、特別図柄小当たり判定フラグに5AHをセットし、ONにする。それ以外の場合は、特別図柄小当たり判定フラグをOFFにセットする処理を行う。
【0318】
他方、特別図柄動作ステータスフラグの値が02Hの場合、主制御CPU600aは、特別図柄変動中(特別図柄が現在変動中であることを示す)であると判定し、特別図柄変動中処理を行う(ステップS406)。この特別図柄変動中処理にて、特別図柄の変動停止コマンド(演出制御コマンドDI_CMD)が演出制御基板90に送信される。これにより、液晶表示装置41に表示される特別図柄が上記特別図柄変動開始処理にて生成された特別図柄の停止図柄の内容にて停止することとなる。なお、特別図柄の変動停止コマンド(演出制御コマンドDI_CMD)送信処理は、CALL_S命令でコールして処理されることとなる。なおまた、このような処理を終えた後、特別図柄動作ステータスフラグの値に03Hがセットされることとなる。
【0319】
一方、特別図柄動作ステータスフラグの値が03Hの場合、主制御CPU600は、特別図柄確認中(特別図柄の変動が終了して停止中であることを示す)であると判定し、特別図柄確認時間中処理を行う(ステップS407)。なお、このような処理を終えた後、特別図柄動作ステータスフラグの値に00Hがセットされることとなる。
【0320】
このように、上記ステップS405、ステップS406、ステップS407のいずれかの処理を終えると、主制御CPU600aは、特別図柄の表示データの更新を行った後(ステップS408)、特別図柄処理を終える。
【0321】
<設定確認処理の説明>
次に、
図30を参照して、上記設定確認処理について詳細に説明する。設定確認処理は、
図30に示すように、主制御CPU600aは、先ず、遊技者に有利な特別遊技状態を発生させる確率の設定値を確認中か否かを示す設定確認フラグがONに設定されているか否かを確認する(ステップS500)。設定確認フラグがONに設定されていれば(ステップS500:YES)、遊技者に有利な特別遊技状態を発生させる確率の設定値を確認中であると判断し、ステップS502の処理に進み、設定確認フラグがOFFに設定されていれば(ステップS500:NO)、遊技者に有利な特別遊技状態を発生させる確率の設定値を確認中でないと判断し、ステップS501の処理に進む。
【0322】
次いで、主制御CPU600aは、遊技者に有利な特別遊技状態を発生させる確率の設定値を確認しても良い条件が成立しているか否かを確認する(ステップS501)。すなわち、設定値を確認しても良い条件とは、設定変更スイッチ650(
図7参照)が押下されていないか、又は、上部開閉扉7、下部開放扉8が開放されている以外のエラーが発生中でないか、又は、特別図柄の変動が停止(始動保留球が無い状態、液晶表示装置41に待機画面が表示されている状態)、又は、普通図柄の変動が停止(始動保留球が無い状態)等の条件をいうものである。
【0323】
かくして、主制御CPU600aは、上記例示した条件のうち、何れかの条件が成立していないと(ステップS501:NO)、設定確認処理を終える一方、上記例示した条件のうち、何れかの条件が成立していると(ステップS501:YES)、
図2に示すように、上部開閉扉7、下部開放扉8が開放されているか否かを確認する(ステップS502)。
【0324】
主制御CPU600aは、上部開閉扉7、下部開放扉8が開放されていれば(ステップS502:YES)、
図7に示す設定キースイッチ640に専用キーが挿入され、ONされているか否かを確認する(ステップS503)。設定キースイッチ640がONされていれば(ステップS503:YES)、主制御CPU600aは、設定確認フラグをONにセットし(ステップS504)、この事を示す処理コマンド(演出制御コマンドDI_CMD)を演出制御基板90に送信する(ステップS505)。なお、この処理コマンド(演出制御コマンドDI_CMD)送信処理は、CALL_S命令でコールして処理されることとなる。
【0325】
次いで、主制御CPU600aは、発射制御信号をOFFに設定し、それを払出制御基板70に送信し(ステップS506)、設定確認処理を終える。これにより、払出制御基板70は、発射制御基板71の動作を停止させるように制御する。
【0326】
一方、主制御CPU600aは、上部開閉扉7、下部開放扉8が開放されていないか(ステップS502:NO)、又は、
図7に示す設定キースイッチ640がOFFされていれば(ステップS503:NO)、設定確認フラグをOFFにセットし(ステップS507)、この事を示す処理コマンド(演出制御コマンドDI_CMD)を演出制御基板90に送信する(ステップS508)。なお、この処理コマンド(演出制御コマンドDI_CMD)送信処理は、CALL_S命令でコールして処理されることとなる。
【0327】
次いで、主制御CPU600aは、発射制御信号をONに設定し、それを払出制御基板70に送信し(ステップS509)、設定確認処理を終える。これにより、払出制御基板70は、発射制御基板71の動作を開始させるように制御する。
【0328】
<賞球入賞数管理処理2の説明>
次に、
図31~
図32を参照して、上記賞球入賞数管理処理2について詳細に説明する。この賞球入賞管理処理2は、
図9(b)に示す主制御ROM600bの計測用プログラム領域600beに格納されているプログラムを読み出し処理されるものである。
【0329】
図31に示すように、賞球入賞数管理処理2は、先ず、主制御CPU600a内のレジスタ群の内容を主制御RAM600cの計測用スタック領域600cg(
図9(a)参照)に退避させる退避処理を実行する(ステップS550)。
【0330】
次いで、主制御CPU600aは、主制御RAM600cの計測用RAM領域600ce(
図9(a)参照)の初期設定を行う(ステップS551)。なお、この初期設定は、
図18を参照して説明した内容と同一であるため、説明は省略する。
【0331】
次いで、主制御CPU600aは、スイッチ確認処理を行う(ステップS552)。スイッチ確認処理では、
図23に示すステップS250にて、主制御RAM600cの通常用RAM領域600ca(
図9(a)参照)に格納されている右上一般入賞口スイッチ48a1,左上一般入賞口スイッチ48b1,左中一般入賞口スイッチ48c1,左下一般入賞口スイッチ48d1,大入賞口スイッチ46c,アウト口スイッチ49a,特別図柄1始動口スイッチ44a,特別図柄2始動口スイッチ45a,普通図柄始動口スイッチ47aのON/OFF信号を主制御CPU600aにて読み出し、主制御CPU600aは、右上一般入賞口スイッチ48a1の入力フラグのON/OFF設定を行い、左上一般入賞口スイッチ48b1の入力フラグのON/OFF設定を行い、左中一般入賞口スイッチ48c1の入力フラグのON/OFF設定を行い、左下一般入賞口スイッチ48d1の入力フラグのON/OFF設定を行い、大入賞口スイッチ46cの入力フラグのON/OFF設定を行い、アウト口スイッチ49aの入力フラグのON/OFF設定を行い、特別図柄1始動口スイッチ44aの入力フラグのON/OFF設定を行い、特別図柄2始動口スイッチ45aの入力フラグのON/OFF設定を行い、普通図柄始動口スイッチ47aの入力フラグのON/OFF設定を行い、各入力フラグを主制御RAM600cの計測用RAM領域600ce(
図9(a)参照)に格納する。
【0332】
かくして、この各入力フラグが、
図19に示すカウント処理にて使用されることとなる。しかして、このように、各入力フラグを主制御RAM600cの計測用RAM領域600ce(
図9(a)参照)に格納しておけば、
図19に示すカウント処理が実行される前に、右上一般入賞口スイッチ48a1,左上一般入賞口スイッチ48b1,左中一般入賞口スイッチ48c1,左下一般入賞口スイッチ48d1,大入賞口スイッチ46c,アウト口スイッチ49a,特別図柄1始動口スイッチ44a,特別図柄2始動口スイッチ45a,普通図柄始動口スイッチ47aの何れかのエッジデータがONとなった後、何らかの異常等が発生し電源が遮断されたとしても、このエッジデータのON/OFFの内容は各入力フラグのON/OFFの内容として主制御RAM600cの計測用RAM領域600ce(
図9(a)参照)に格納されることとなるから、その後、電源遮断復帰したとしても、上述したように、主制御RAM600cの計測用RAM領域600ce(
図9(a)参照)はクリアされないため、各入力フラグの内容はクリアされないこととなり、もって、
図19に示すカウント処理にて使用されれば、電源遮断復帰時に正確な情報を生成することができることとなる。
【0333】
次いで、主制御CPU600aは、表示更新処理を実行し(ステップS553)、主制御RAM600cの計測用スタック領域600cg(
図9(a)参照)に退避させておいたレジスタの内容を復帰させ(ステップS554)、賞球入賞数管理処理2を終える。
【0334】
<表示更新処理の説明>
この表示更新処理について、
図32を参照してより詳しく説明すると、主制御CPU600aは、RAMエラーフラグを確認する(ステップS600)。RAMエラーフラグがONに設定されていれば、「1」~「6」の何れかの値を示していないと判断し(ステップS600:YES)、主制御RAM600cに異常が発生(RAMエラー)として、主制御CPU600aは、計測表示装置610(
図7参照)の第1の計測表示装置610A(
図8(a)参照)、第2の計測表示装置610B(
図8(a)参照)、第3の計測表示装置610C(
図8(a)参照)、第4の計測表示装置610D(
図8(a)参照)に「― ― ― ―」を表示又は「0000」を表示させるデータを出力し(ステップS601)表示更新処理を終える。これにより、計測表示装置610(
図7参照)の第1の計測表示装置610A(
図8(a)参照)、第2の計測表示装置610B(
図8(a)参照)、第3の計測表示装置610C(
図8(a)参照)、第4の計測表示装置610D(
図8(a)参照)に「― ― ― ―」が表示又は「0000」が表示されることとなる。
【0335】
一方、RAMエラーフラグがOFFに設定されていれば、「1」~「6」の何れかの値が示されていると判断し(ステップS600:NO)、主制御RAM600cに異常が発生(RAMエラー)として、主制御CPU600aは、初期設定済みフラグがONに設定されているか否かを確認する(ステップS602)。初期設定済みフラグがONに設定されていなければ(ステップS602:NO)、主制御RAM600cの計測用RAM領域600ce(
図9(a)参照)に格納されている累積アウトカウンタを取得し、所定数(例えば、300個)に達したか否かを確認する(ステップS603)。累積アウトカウンタが所定数(例えば、300個)に達していなければ(ステップS603:NO)、主制御CPU600aは、計測表示装置610(
図7、
図8(a)参照)に表示させるリアルタイム計測表示データを作成し、主制御RAM600cの計測用RAM領域600ce(
図9(a)参照)に格納する(ステップS604)。そしてさらに、主制御CPU600aは、計測表示装置610(
図7、
図8(a)参照)に表示させる前回の計測結果表示データを作成し、主制御RAM600cの計測用RAM領域600ce(
図9(a)参照)に格納する(ステップS605)。
【0336】
次いで、主制御CPU600aは、表示カウンタをインクリメント(+1)する(ステップS606)。
【0337】
次いで、主制御CPU600aは、表示カウンタが5秒に相当する値(第1所定値)に達したか否かを確認し(ステップS607)、第1所定値に達していなければ(ステップS607:NO)、ステップS604にて作成されたリアルタイム計測表示データを計測表示装置610(
図7、
図8(a)参照)に出力する(ステップS608)。これにより、計測表示装置610(
図7、
図8(a)参照)の第4の計測表示装置610D,第3の計測表示装置610C(
図8(a)参照)の7セグメントには、識別情報「bL」が点滅表示され、第2の計測表示装置610B,第1の計測表示装置610A(
図8(b)参照)の7セグメントには、比率情報「- -」が点灯表示されることとなる。なお、点滅表示は、点灯0.3秒、消灯0.3秒の0.6秒周期である。
【0338】
一方、第1所定値に達していれば(ステップS607:YES)、主制御CPU600aは、表示カウンタが10秒に相当する値(第2所定値)に達したか否かを確認し(ステップS609)、第2所定値に達していなければ(ステップS609:NO)、ステップS605にて作成された前回の計測結果表示データを計測表示装置610(
図7、
図8(a)参照)に出力する(ステップS610)。これにより、計測表示装置610(
図7、
図8(a)参照)の第4の計測表示装置610D,第3の計測表示装置610C(
図8(a)参照)の7セグメントには、識別情報「b6」が点滅表示され、第2の計測表示装置610B,第1の計測表示装置610A(
図8(a)参照)の7セグメントには、比率情報「- -」が点灯表示されることとなる。なお、点滅表示は、点灯0.3秒、消灯0.3秒の0.6秒周期である。
【0339】
他方、第2所定値に達していれば(ステップS609:YES)、主制御CPU600aは、表示カウンタに0を設定する(ステップS611)。
【0340】
かくして、このようにすれば、計測表示装置610(
図7、
図8(a)参照)の表示内容が5秒毎に、リアルタイム計測表示データ(第4の計測表示装置610D,第3の計測表示装置610C(
図8(a)参照)の7セグメントには、識別情報「bL」が点滅表示され、第2の計測表示装置610B,第1の計測表示装置610A(
図8(a)参照)の7セグメントには、比率情報「- -」が点灯表示)、前回の計測結果表示データ(第4の計測表示装置610D,第3の計測表示装置610C(
図8(a)参照)の7セグメントには、識別情報「b6」が点滅表示され、第2の計測表示装置610B,第1の計測表示装置610A(
図8(a)参照)の7セグメントには、比率情報「- -」が点灯表示)に切り替えられることとなる。
【0341】
なお、上記ステップS608、ステップS610、ステップS611の処理後、主制御CPU600aは、表示処理を終える。
【0342】
一方、主制御CPU600aは、累積アウトカウンタが所定数(例えば、300個)に達していれば(ステップS603:YES)、初期設定済みフラグにONを設定(ステップS612)し、ステップS613の処理に進む。また、主制御CPU600aは、初期設定済みフラグがONに設定されていれば(ステップS602:YES)、ステップS613の処理に進む。
【0343】
次いで、主制御CPU600aは、主制御RAM600cの計測用RAM領域600ce(
図9(a)参照)に格納されている低確累積アウトカウンタを取得し、所定数(例えば、6000個)に達したか否かを確認する(ステップS613)。低確累積アウトカウンタが所定数(例えば、6000個)に達していなければ(ステップS613:NO)、主制御CPU600aは、主制御RAM600cの計測用RAM領域600ce(
図9(a)参照)のbLベースモニタワーク領域に格納されている値に基づき、計測表示装置610(
図7、
図8(a)参照)に表示させるリアルタイム計測点滅表示データを作成し、主制御RAM600cの計測用RAM領域600ce(
図9(a)参照)に格納する(ステップS614)。これにより、計測表示装置610(
図7、
図8(a)参照)の第4の計測表示装置610D,第3の計測表示装置610C(
図8(a)参照)の7セグメントには、識別情報「bL」が点滅表示され、第2の計測表示装置610B,第1の計測表示装置610A(
図8(a)参照)の7セグメントには、
図20又は
図21にて算出した比率情報が点灯表示されることとなる。なお、点滅表示は、点灯0.3秒、消灯0.3秒の0.6秒周期である。
【0344】
一方、主制御CPU600aは、低確累積アウトカウンタが所定数(例えば、6000個)に達していれば(ステップS613:YES)、主制御CPU600aは、主制御RAM600cの計測用RAM領域600ce(
図9(a)参照)のbLベースモニタワーク領域に格納されている値に基づき、計測表示装置610(
図7、
図8(a)参照)に表示させるリアルタイム計測表示データを作成し、主制御RAM600cの計測用RAM領域600ce(
図9(a)参照)に格納する(ステップS615)。これにより、計測表示装置610(
図7、
図8(a)参照)の第4の計測表示装置610D,第3の計測表示装置610C(
図8(a)参照)の7セグメントには、識別情報「bL」が点灯表示され、第2の計測表示装置610B,第1の計測表示装置610A(
図8(a)参照)の7セグメントには、
図20又は
図21にて算出した比率情報が点灯表示されることとなる。
【0345】
次いで、主制御CPU600aは、主制御RAM600cの計測用RAM領域600ce(
図9(a)参照)に格納されている累積アウトカウンタを取得し、所定数(例えば、60000個)に達したか否かを確認する(ステップS616)。累積アウトカウンタが所定数(例えば、60000個)に達していなければ(ステップS616:NO)、主制御CPU600aは、計測回数を示す計測回数フラグを確認する(ステップS617)。計測回数フラグが1以上であれば(ステップS617:YES)、主制御CPU600aは、主制御RAM600cの計測用RAM領域600ce(
図9(a)参照)のb6ベースモニタワーク領域に格納されている値に基づき、計測表示装置610(
図7、
図8(a)参照)に表示させる前回の計測結果表示データを作成し、主制御RAM600cの計測用RAM領域600ce(
図9(a)参照)に格納する(ステップS618)。これにより、計測表示装置610(
図7、
図8(a)参照)の第4の計測表示装置610D,第3の計測表示装置610C(
図8(a)参照)の7セグメントには、識別情報「b6」が点灯表示され、第2の計測表示装置610B,第1の計測表示装置610A(
図8(a)参照)の7セグメントには、前回の計測結果である比率情報が点灯表示されることとなる。
【0346】
一方、計測回数フラグが1以上でなければ(ステップS617:NO)、主制御CPU600aは、主制御RAM600cの計測用RAM領域600ce(
図9(a)参照)のb6ベースモニタワーク領域に格納されている値に基づき、計測表示装置610(
図7、
図8(a)参照)に表示させる前回の計測結果点滅表示データを作成し、主制御RAM600cの計測用RAM領域600ce(
図9(a)参照)に格納する(ステップS619)。これにより、計測表示装置610(
図7、
図8(a)参照)の第4の計測表示装置610D,第3の計測表示装置610C(
図8(a)参照)の7セグメントには、識別情報「b6」が点滅表示され、第2の計測表示装置610B,第1の計測表示装置610A(
図8(a)参照)の7セグメントには、比率情報「- -」が点灯表示されることとなる。なお、点滅表示は、点灯0.3秒、消灯0.3秒の0.6秒周期である。
【0347】
他方、主制御CPU600aは、累積アウトカウンタが所定数(例えば、60000個)に達していれば(ステップS616:YES)、計測回数フラグをインクリメント(+1)し(ステップS620)、累積アウトカウンタ、低確累積アウトカウンタ、累積賞球カウンタ、第1役物累積賞球カウンタ、第2役物累積賞球カウンタの値をクリアする(ステップS621)。
【0348】
次いで、主制御CPU600aは、上記ステップS618、ステップS619、ステップS621の何れかの処理を終えた後、
図19に示すステップS120にて選択された設定値1~6用計数カウンタテーブルの設定値1~6用累積アウトカウンタ2(例えば、現在の設定値が「2」であれば、設定値2用累積アウトカウンタ2)の値を確認する(ステップS622)。
【0349】
図19に示すステップS120にて選択された設定値1~6用計数カウンタテーブルの設定値1~6用累積アウトカウンタ2(例えば、現在の設定値が「2」であれば、設定値2用累積アウトカウンタ2)の値が60000に達していなければ(ステップS622:NO)、主制御CPU600aは、計測表示装置610(
図7参照)の第1の計測表示装置610A(
図8(a)参照)、第2の計測表示装置610B(
図8(a)参照)、第3の計測表示装置610C(
図8(a)参照)、第4の計測表示装置610D(
図8(a)参照)に「― ― ― ―」を表示させるデータを作成し、主制御RAM600cの計測用RAM領域600ce(
図9(a)参照)に格納する(ステップS623)。これにより、計測表示装置610(
図7参照)の第1の計測表示装置610A(
図8(a)参照)、第2の計測表示装置610B(
図8(a)参照)、第3の計測表示装置610C(
図8(a)参照)、第4の計測表示装置610D(
図8(a)参照)に「― ― ― ―」が表示されることとなる。
【0350】
一方、
図19に示すステップS120にて選択された設定値1~6用計数カウンタテーブルの設定値1~6用累積アウトカウンタ2(例えば、現在の設定値が「2」であれば、設定値2用累積アウトカウンタ2)の値が60000に達していれば(ステップS622:YES)、主制御CPU600aは、主制御RAM600cの計測用RAM領域600ce(
図9(a)参照)のy6役物比率ワーク領域に格納されている値を確認する(ステップS624)。その値が所定値(例えば、60%)以上であれば(ステップS624:YES)、遊技規則に反していると判断し、主制御CPU600aは、主制御RAM600cの計測用RAM領域600ce(
図9(a)参照)のy6役物比率ワーク領域に格納されている値に基づき、計測表示装置610(
図7、
図8(a)参照)に表示させるy6役物比率点滅表示データを作成し、主制御RAM600cの計測用RAM領域600ce(
図9(a)参照)に格納する(ステップS625)。これにより、計測表示装置610(
図7、
図8(a)参照)の第4の計測表示装置610D,第3の計測表示装置610C(
図8(a)参照)の7セグメントには、識別情報「y6」が点滅表示され、第2の計測表示装置610B,第1の計測表示装置610A(
図8(a)参照)の7セグメントには、
図20又は
図21にて算出した役物比率情報が点灯表示されることとなる。なお、点滅表示は、点灯0.3秒、消灯0.3秒の0.6秒周期である。
【0351】
一方、主制御RAM600cの計測用RAM領域600ce(
図9(a)参照)のy6役物比率ワーク領域に格納されている値が所定値(例えば、60%)以上でなければ(ステップS624:NO)、遊技規則に反していないと判断し、主制御CPU600aは、主制御RAM600cの計測用RAM領域600ce(
図9(a)参照)のy6役物比率ワーク領域に格納されている値に基づき、計測表示装置610(
図7、
図8(a)参照)に表示させるy6役物比率表示データを作成し、主制御RAM600cの計測用RAM領域600ce(
図9(a)参照)に格納する(ステップS626)。これにより、計測表示装置610(
図7、
図8(a)参照)の第4の計測表示装置610D,第3の計測表示装置610C(
図8(a)参照)の7セグメントには、識別情報「y6」が表示され、第2の計測表示装置610B,第1の計測表示装置610A(
図8(a)参照)の7セグメントには、
図20又は
図21にて算出した役物比率情報が点灯表示されることとなる。
【0352】
次いで、主制御CPU600aは、上記ステップS625又はステップS626の処理を終えた後、主制御RAM600cの計測用RAM領域600ce(
図9(a)参照)のyA役物比率ワーク領域に格納されている値を確認する(ステップS627)。その値が所定値(例えば、60%)以上であれば(ステップS627:YES)、遊技規則に反していると判断し、主制御CPU600aは、主制御RAM600cの計測用RAM領域600ce(
図9(a)参照)のyA役物比率ワーク領域に格納されている値に基づき、計測表示装置610(
図7、
図8(a)参照)に表示させるyA役物比率点滅表示データを作成し、主制御RAM600cの計測用RAM領域600ce(
図9(a)参照)に格納する(ステップS628)。これにより、計測表示装置610(
図7、
図8(a)参照)の第4の計測表示装置610D,第3の計測表示装置610C(
図8(a)参照)の7セグメントには、識別情報「yA」が点滅表示され、第2の計測表示装置610B,第1の計測表示装置610A(
図8(a)参照)の7セグメントには、
図20又は
図21にて算出した役物比率情報が点灯表示されることとなる。なお、点滅表示は、点灯0.3秒、消灯0.3秒の0.6秒周期である。
【0353】
一方、主制御RAM600cの計測用RAM領域600ce(
図9(a)参照)のyA役物比率ワーク領域に格納されている値が所定値(例えば、60%)以上でなければ(ステップS627:NO)、遊技規則に反していないと判断し、主制御CPU600aは、主制御RAM600cの計測用RAM領域600ce(
図9(a)参照)のyA役物比率ワーク領域に格納されている値に基づき、計測表示装置610(
図7、
図8(a)参照)に表示させるyA役物比率表示データを作成し、主制御RAM600cの計測用RAM領域600ce(
図9(a)参照)に格納する(ステップS629)。これにより、計測表示装置610(
図7、
図8(a)参照)の第4の計測表示装置610D,第3の計測表示装置610C(
図8(a)参照)の7セグメントには、識別情報「yA」が表示され、第2の計測表示装置610B,第1の計測表示装置610A(
図8(a)参照)の7セグメントには、
図20又は
図21にて算出した役物比率情報が点灯表示されることとなる。
【0354】
次いで、主制御CPU600aは、上記ステップS623、ステップS628、ステップS629の何れかの処理を終えた後、表示カウンタをインクリメント(+1)する(ステップS630)。
【0355】
次いで、主制御CPU600aは、表示カウンタが5秒に相当する値(第1所定値)に達したか否かを確認し(ステップS631)、第1所定値に達していなければ(ステップS631:NO)、ステップS614、又は、ステップS615にて作成されたリアルタイム計測表示データを計測表示装置610(
図7、
図8(a)参照)に出力する(ステップS632)。これにより、低確累積アウトカウンタが所定数(例えば、6000個)に達するまでは、計測表示装置610(
図7、
図8(a)参照)の第4の計測表示装置610D,第3の計測表示装置610C(
図8(a)参照)の7セグメントには、識別情報「bL」が点滅表示され、第2の計測表示装置610B,第1の計測表示装置610A(
図8(a)参照)の7セグメントには、算出した比率情報が点灯表示されることとなる。そして、低確累積アウトカウンタが所定数(例えば、6000個)に達すると、計測表示装置610(
図7、
図8(a)参照)の第4の計測表示装置610D,第3の計測表示装置610C(
図8(a)参照)の7セグメントには、識別情報「bL」が点灯表示され、第2の計測表示装置610B,第1の計測表示装置610A(
図8(a)参照)の7セグメントには、算出した比率情報が点灯表示されることとなる。
【0356】
一方、第1所定値に達していれば(ステップS631:YES)、主制御CPU600aは、表示カウンタが10秒に相当する値(第2所定値)に達したか否かを確認し(ステップS633)、第2所定値に達していなければ(ステップS633:NO)、ステップS618、又は、ステップS619にて作成された前回の計測結果表示データを計測表示装置610(
図7、
図8(a)参照)に出力する(ステップS634)。これにより、1回目の累積アウト総数が60000個に達するまでは、計測表示装置610(
図7、
図8(a)参照)の第4の計測表示装置610D,第3の計測表示装置610C(
図8(a)参照)の7セグメントには、識別情報「b6」が点滅表示され、第2の計測表示装置610B,第1の計測表示装置610A(
図8(a)参照)の7セグメントには、比率情報「- -」が点灯表示されることとなる。そして、1回目の累積アウト総数が60000個に達すると、それ以降は、計測表示装置610(
図7、
図8(a)参照)の第4の計測表示装置610D,第3の計測表示装置610C(
図8(a)参照)の7セグメントには、識別情報「b6」が点灯表示され、第2の計測表示装置610B,第1の計測表示装置610A(
図8(a)参照)の7セグメントには、前回の計測結果である比率情報が点灯表示されることとなる。なお、点滅表示は、点灯0.3秒、消灯0.3秒の0.6秒周期である。
【0357】
他方、第2所定値に達していれば(ステップS633:YES)、主制御CPU600aは、表示カウンタが15秒に相当する値(第3所定値)に達したか否かを確認し(ステップS635)、第3所定値に達していなければ(ステップS635:NO)、ステップS623、又は、ステップS625、又は、ステップS626にて作成されたy6役物比率表示データを計測表示装置610(
図7、
図8(a)参照)に出力する(ステップS636)。これにより、
図19に示すステップS120にて選択された設定値1~6用計数カウンタテーブルの設定値1~6用累積アウトカウンタ2(例えば、現在の設定値が「2」であれば、設定値2用累積アウトカウンタ2)の値が60000に達するまでは、計測表示装置610(
図7参照)の第1の計測表示装置610A(
図8(a)参照)、第2の計測表示装置610B(
図8(a)参照)、第3の計測表示装置610C(
図8(a)参照)、第4の計測表示装置610D(
図8(a)参照)に「― ― ― ―」が表示されることとなる。そして、
図19に示すステップS120にて選択された設定値1~6用計数カウンタテーブルの設定値1~6用累積アウトカウンタ2(例えば、現在の設定値が「2」であれば、設定値2用累積アウトカウンタ2)の値が60000に達し、主制御RAM600cの計測用RAM領域600ce(
図9(a)参照)のy6役物比率ワーク領域に格納されている値が所定値(例えば、60%)以上であれば、計測表示装置610(
図7、
図8(a)参照)の第4の計測表示装置610D,第3の計測表示装置610C(
図8(a)参照)の7セグメントには、識別情報「y6」が点滅表示され、第2の計測表示装置610B,第1の計測表示装置610A(
図8(a)参照)の7セグメントには、算出した役物比率情報が点灯表示されることとなる。そしてさらに、
図19に示すステップS120にて選択された設定値1~6用計数カウンタテーブルの設定値1~6用累積アウトカウンタ2(例えば、現在の設定値が「2」であれば、設定値2用累積アウトカウンタ2)の値が60000に達し、主制御RAM600cの計測用RAM領域600ce(
図9(a)参照)のy6役物比率ワーク領域に格納されている値が所定値(例えば、60%)以上でなければ、計測表示装置610(
図7、
図8(a)参照)の第4の計測表示装置610D,第3の計測表示装置610C(
図8(a)参照)の7セグメントには、識別情報「y6」が点灯表示され、第2の計測表示装置610B,第1の計測表示装置610A(
図8(a)参照)の7セグメントには、算出した役物比率情報が点灯表示されることとなる。
【0358】
一方、第3所定値に達していれば(ステップS635:YES)、主制御CPU600aは、表示カウンタが20秒に相当する値(第4所定値)に達したか否かを確認し(ステップS637)、第4所定値に達していなければ(ステップS637:NO)、ステップS623、又は、ステップS628、又は、ステップS629にて作成されたyA役物比率表示データを計測表示装置610(
図7、
図8(a)参照)に出力する(ステップS638)。これにより、
図19に示すステップS120にて選択された設定値1~6用計数カウンタテーブルの設定値1~6用累積アウトカウンタ2(例えば、現在の設定値が「2」であれば、設定値2用累積アウトカウンタ2)の値が60000に達するまでは、計測表示装置610(
図7参照)の第1の計測表示装置610A(
図8(a)参照)、第2の計測表示装置610B(
図8(a)参照)、第3の計測表示装置610C(
図8(a)参照)、第4の計測表示装置610D(
図8(a)参照)に「― ― ― ―」が表示されることとなる。そして、
図19に示すステップS120にて選択された設定値1~6用計数カウンタテーブルの設定値1~6用累積アウトカウンタ2(例えば、現在の設定値が「2」であれば、設定値2用累積アウトカウンタ2)の値が60000に達し、主制御RAM600cの計測用RAM領域600ce(
図9(a)参照)のyA役物比率ワーク領域に格納されている値が所定値(例えば、60%)以上であれば、計測表示装置610(
図7、
図8(a)参照)の第4の計測表示装置610D,第3の計測表示装置610C(
図8(a)参照)の7セグメントには、識別情報「yA」が点滅表示され、第2の計測表示装置610B,第1の計測表示装置610A(
図8(a)参照)の7セグメントには、算出した役物比率情報が点灯表示されることとなる。そしてさらに、
図19に示すステップS120にて選択された設定値1~6用計数カウンタテーブルの設定値1~6用累積アウトカウンタ2(例えば、現在の設定値が「2」であれば、設定値2用累積アウトカウンタ2)の値が60000に達し、主制御RAM600cの計測用RAM領域600ce(
図9(a)参照)のyA役物比率ワーク領域に格納されている値が所定値(例えば、60%)以上でなければ、計測表示装置610(
図7、
図8(a)参照)の第4の計測表示装置610D,第3の計測表示装置610C(
図8(a)参照)の7セグメントには、識別情報「yA」が点灯表示され、第2の計測表示装置610B,第1の計測表示装置610A(
図8(a)参照)の7セグメントには、算出した役物比率情報が点灯表示されることとなる。
【0359】
他方、第4所定値に達していれば(ステップS637:YES)、主制御CPU600aは、表示カウンタに0を設定する(ステップS639)。
【0360】
かくして、このようにすれば、計測表示装置610(
図7、
図8(a)参照)の表示内容が5秒毎に、リアルタイム計測表示データ、前回の計測結果表示データ、y6役物比率表示データ、yA役物比率表示データに切り替えられることとなる。なお、主制御CPU600aは、上記ステップS632、ステップS634、ステップS636、ステップS638、ステップS639の処理を終えた後、表示処理を終えることとなる。
【0361】
<コモン設定、7セグメント出力処理の説明>
ここで、計測表示装置610に所定の表示をさせるにあたっての処理(
図32に示すステップS604、ステップS605、ステップS608、ステップS610、ステップS614、ステップS615、ステップS618、ステップS619、ステップS623、ステップS625、ステップS626、ステップS628、ステップS629、ステップS632、ステップS634、ステップS636、ステップS638)について、
図33を参照して具体的に説明することとする。なお、この
図33に示す処理は、2個の7セグメントからなる特別図柄表示装置50を点灯表示させる際の処理と共通化しているため、
図22に示すステップS217のLED管理処理にて処理されるものとなる。
【0362】
主制御CPU600aは、特別図柄表示装置50、計測表示装置610に所定の表示をさせるにあたって、
図33に示すように、まず、コモンカウンタを更新する(ステップS700)。なお、この際、上述した
図13(b)~(d)に示すようなカウンタプログラムが実行されることとなる。
【0363】
次いで、主制御CPU600aは、コモンカウンタをオフセットとし、特別図柄表示装置50、計測表示装置610を点灯させるにあたっての信号を選択すると共に、例えば、「0」~「9」,「-」の表示パターンが格納されている出力LEDデータテーブル(図示せず)を選択する(ステップS701)。
【0364】
次いで、主制御CPU600aは、特別図柄表示装置50、計測表示装置610を点灯させるにあたっての信号を、図示しないLEDドライバより出力させる(ステップS702)。
【0365】
次いで、主制御CPU600aは、「0」~「9」、「-」の表示パターンが格納されている出力LEDデータテーブル(図示せず)と、主制御RAM600cの通常用RAM領域600ca(
図9(a)参照)をオフセットとし、主制御RAM600cの通常用RAM領域600ca(
図9(a)参照)内に格納されている特別図柄表示装置50に関する出力LEDビットデータを選択する(ステップS703)。
【0366】
次いで、主制御CPU600aは、選択した出力LEDビットデータを図示しないLEDドライバより出力させる。これにより、特別図柄表示装置50に抽選結果が表示されることとなる。
【0367】
<計測表示装置用設定処理の説明>
次に、
図34を参照して、計測表示装置610の表示内容を設定するための処理について説明する。
【0368】
主制御CPU600aは、
図34に示すように、第3の計測表示装置610C(
図8(a)参照)、第4の計測表示装置610D(
図8(a)参照)を消灯させるか否かを確認する。すなわち、
図32に示すステップS604、ステップS605、ステップS614、ステップS619、ステップS625、ステップS628の点滅表示をさせる際に、第4の計測表示装置610D,第3の計測表示装置610C(
図8(a)参照)を消灯させるか否かを確認する(ステップS750)。消灯させる際(ステップS750:YES)、主制御CPU600aは、消灯のビットデータを設定し(ステップS751)、ステップS758の処理に進む。
【0369】
一方、消灯させない場合(ステップS750:NO)、主制御CPU600aは、
図32に示すステップS608、ステップS610、ステップS632、ステップS634、ステップS636、ステップS638に基づいて、第4の計測表示装置610D,第3の計測表示装置610C(
図8(a)参照)に設定内容を確認する(ステップS752)。「bL」であれば(ステップS752:=bL)、「bL」のビットデータを設定し(ステップS753)、「b6」であれば(ステップS752:=b6)、「b6」のビットデータを設定し(ステップS754)、「y6」であれば(ステップS752:=y6)、「y6」のビットデータを設定し(ステップS755)、「yA」であれば(ステップS752:=yA)、「yA」のビットデータを設定し(ステップS756)、何れでもなければ(ステップS752:「-」or「0」)、「-」のビットデータ又は「0」を表示させる場合は、「0」のビットデータを設定し(ステップS757)、ステップS758の処理に進む。
【0370】
かくして、主制御CPU600aは、上記ステップS751、ステップS753、ステップS754、ステップS755、ステップS756、ステップS757の処理を終えた後、主制御RAM600cの計測用RAM領域600ce(
図9(a)参照)のbLベースモニタワーク領域、b6ベースモニタワーク領域、y6役物比率ワーク領域、yA役物比率ワーク領域をオフセットとして、例えば、「0」~「9」、「-」の表示パターンが格納されている出力LEDデータテーブル(図示せず)から出力LEDビットデータを選択する(ステップS758)。
【0371】
次いで、主制御CPU600aは、選択した出力LEDビットデータを第2の計測表示装置610B,第1の計測表示装置610A(
図8(a)参照)に表示させる内容として設定する(ステップS759)。
【0372】
<計測表示装置用出力処理の説明>
次に、
図35を参照して、
図34にて設定した表示内容を計測表示装置610に出力するための処理について説明する。
【0373】
主制御CPU600aは、
図35に示すように、
図33に示すステップS700にて更新するコモンカウンタをオフセットとし、出力する桁(すなわち、第1の計測表示装置610A,第2の計測表示装置610B,第3の計測表示装置610C,第4の計測表示装置610Dの何れか)を主制御RAM600cの計測用RAM領域600ce(
図9(a)参照)より選択し、これを出力対象のRAM領域とする(ステップS800)。
【0374】
次いで、主制御CPU600aは、出力対象のRAM領域より出力LEDビットデータを図示しないLEDドライバに出力する(ステップS801)。これにより、第1の計測表示装置610A⇒第2の計測表示装置610B⇒第3の計測表示装置610C⇒第4の計測表示装置610D⇒第1の計測表示装置610A⇒・・・・の順にタイマ割込み処理毎に点灯又は消灯表示されることとなる。
【0375】
しかして、このような処理をすることにより、計測表示装置610(
図7、
図8(a)参照)の表示内容を5秒毎に、リアルタイム計測表示データ、前回の計測結果表示データ、y6役物比率表示データ、yA役物比率表示データの4パターンの表示を交互に切り替えることができる。また、このy6役物比率表示データ、yA役物比率表示データは、
図19に示すステップS120にて選択された設定値1~6用計数カウンタテーブルに基づいて算出されているため、設定値毎の算出又は表示が可能となる。
【0376】
また、賞球入賞数管理処理2は、タイマ割り込み処理内で、
図15に示すステップS44の賞球入賞数管理処理1にて算出した値を計測表示装置610(
図7、
図8(a)参照)に表示させる処理を行っているため、設定表示装置620(
図7、
図8(b)参照)に表示される設定値を変更中(
図15参照)、賞球入賞数管理処理1が実行されなくとも、計測表示装置610(
図7、
図8(a)参照)に何らかの表示がされることとなるが、
図15に示すステップS44の賞球入賞数管理処理1自体が実行されていないため、計測表示装置610(
図7、
図8(a)参照)に不正確な表示がされる事態を防止することができる。
【0377】
<計測表示に関する変形例の説明>
ところで、本実施形態においては、計測表示装置610(
図7、
図8(a)参照)の表示内容を5秒毎に、リアルタイム計測表示データ、前回の計測結果表示データ、y6役物比率表示データ、yA役物比率表示データの4パターンの表示を交互に切り替えるようにしたが、設定値毎のy6役物比率表示データ、yA役物比率表示データを表示させるようにしても良い。例えば、リアルタイム計測表示データ⇒前回の計測結果表示データ⇒設定値1用y6役物比率表示データ⇒設定値1用yA役物比率表示データ⇒リアルタイム計測表示データ⇒前回の計測結果表示データ⇒設定値2用y6役物比率表示データ⇒設定値2用yA役物比率表示データ⇒・・・というように表示させるか、あるいは、任意に表示させても良い。またこの際、所定時間ごとに表示を切替えるのではなく、設定変更スイッチ650(
図7参照)の押下によって、表示を切替えるようにしても良い。
【0378】
また、本実施形態においては、現在の設定値に応じた内容を表示させるだけでよいため、プログラム容量の削減を図るべく、主制御RAM600cの計測用RAM領域600ce(
図9(a)参照)のy6役物比率ワーク領域、yA役物比率ワーク領域には、現在の設定値の算出値のみを格納する例を示したが、設定値毎の算出値を格納しても良い。このようにすれば、上記説明した設定値毎のy6役物比率表示データ、yA役物比率表示データを表示させることが可能となる。
【0379】
一方、本実施形態においては、賞球入賞数管理処理2の処理(
図22に示すステップS215)を設定確認処理(
図22に示すステップS214)後に処理する例を示したが、それに限らず、外部端子管理処理(
図22にステップS218)後に処理しても良い。このようにすれば、RAMエラー(
図22に示すステップS206)、設定変更中(
図22に示すステップS207)、設定確認中(
図22に示すステップS208)であっても、計測表示装置610(
図7、
図8(a)参照)の表示処理を実行することが可能となる。なお、設定変更中は、計測表示装置610(
図7、
図8(a)参照)の表示を非表示にするか、又は、設定変更スイッチ650(
図7参照)が押下される度に、設定値に応じたy6役物比率表示データ、yA役物比率表示データを表示させるようにしても良い。また、設定確認中は、計測表示装置610(
図7、
図8(a)参照)の表示を非表示にするか、又は、設定変更スイッチ650(
図7参照)が押下される度に、設定値毎のy6役物比率表示データ、yA役物比率表示データを表示させるようにしても良い。
【0380】
また、本実施形態において説明した、
図19に示すカウント処理では、賞球数等をカウンタの値に加算する例を示したが、それに限らず、賞球数等をカウンタの値に加算しその値を加工するようにしても良い。
【0381】
また、計測表示装置610(
図7、
図8(a)参照)の第2の計測表示装置610B,第1の計測表示装置610A(
図8(a)参照)の7セグメントに表示される比率情報は、算出した値に小数点以下の数字がある場合、四捨五入して表示するようにし、算出した値が1ケタの場合、十の位には0を表示し、算出した値が100の場合は、99を表示するようにすれば良い。
【0382】
ところで、本実施形態においては、設定表示装置620の表示方法として点灯表示している例しか示していないが、それに限らず、設定変更中、設定表示装置620の表示を点滅表示させるようにしても良い。
【0383】
また、本実施形態においては、計測表示装置610と設定表示装置620とを別々に設ける例を示したが、これに限らず、計測表示装置610を構成する4個の7セグメントの1個を設定表示装置620とし、計測表示装置610と設定表示装置620とを兼用させても良い。このようにすれば、部品点数を削減させることができる。なお、このように計測表示装置610と設定表示装置620とを兼用させる際、電源投入後の設定変更期間中は、設定値を表示させるようにし、それ以外の期間は、低確時(当たり抽選確率が通常の低確率状態)に幾らの賞球がされたかの比率等に関する内容を表示させるのが好ましい。また、設定変更期間中に限らず、設定確認期間中は、現在の設定値を表示させるのが好ましい。さらに、設定変更期間中、設定値を表示させている場合には、低確時(当たり抽選確率が通常の低確率状態)に幾らの賞球がされたかの比率等に関する内容を計測するための計数処理(
図17に示すステップS63)を実行するようにしても良いし、実行しないようにしても良い。またさらに、カウント処理(
図17に示すステップS62)についても同様に、実行するようにしても良いし、実行しないようにしても良い。しかるに、計数処理(
図17に示すステップS63)の実行の有無と、カウント処理(
図17に示すステップS62)の実行の有無を任意に組み合わせることにより、設定変更期間中に、設定値を表示させている期間においても、低確時(当たり抽選確率が通常の低確率状態)に幾らの賞球がされたかの比率等に関する内容を計測させるか否かを任意に構成することが可能となる。
【0384】
また、本実施形態において、設定変更スイッチ650は、遊技者に有利な特別遊技状態を発生させる確率の設定内容を変更させる機能だけを備え、その設定変更内容の確定は、別のスイッチを設けて行うようにしても良い旨説明したが、そのスイッチは、ゲートからなる普通図柄始動口47に遊技球を通過させ、普通図柄始動口スイッチ47a(
図7参照)にてその遊技球を検出させることによって、設定変更内容を確定するようにしても良い。このようにすれば、部品点数を削減することができる。
【0385】
また、本実施形態おいては、設定キースイッチ640に専用キーが挿入され、ONされると、設定変更スイッチ650にて、遊技者に有利な特別遊技状態を発生させる確率の設定内容を例えば「1」~「6」の6段階で設定変更することができるようになっている旨説明したが、それに限らず、発射ハンドル16(
図1参照)を回す動作、或いは、発射ハンドル16に設けられている図示しない発射停止スイッチの押下により、設定の変更又は設定の確定をするようにしても良い。このようにすれば、部品点数を削減することができる。
【0386】
また、本実施形態においては、設定表示装置620を1個の7セグメントで構成する例を示したが、それに限らず、複数のLEDを組み合わせる構成にしても良い。
【0387】
また、本実施形態においては、設定表示装置620と、設定キースイッチ640と、設定変更スイッチ650とを別々の部品で構成する例を示したが、それに限らず、設定表示装置620と、設定キースイッチ640と、設定変更スイッチ650をユニット化して1つの部品としても良い。このようにすれば、部品点数を削減することができる。
【0388】
また、本実施形態においては、設定表示装置620に設定内容を表示する例を示したが、遊技者に有利な特別遊技状態を発生させる確率の設定が設けられていないパチンコ遊技機1においては、遊技者に有利な特別遊技状態を発生させる確率の設定内容を表示しないようにしておくこともできる。
【0389】
また、本実施形態においては、設定変更スイッチ650にて、遊技者に有利な特別遊技状態を発生させる確率の設定内容を例えば「1」~「6」の6段階で設定変更できる旨を例示したが、それに限らず、主制御基板60に搭載されているRAMクリアスイッチ630又は図示しない音量変更用のスイッチ等で変更できるようにしても良い。このようにすれば、設定変更スイッチ650を新たに設ける必要がなくなり、もって、部品点数を削減することができる。なお、設定変更できるスイッチに関しては、クリック感があるものが好ましい。
【0390】
また、本実施形態においては、
図15に示すように、遊技者に有利な特別遊技状態を発生させる確率の設定値を変更する前に、4ms毎に定期的にタイマ割込みがかかるようにCTCの時間定数レジスタを設定する例を示したが、それに限らず、遊技者に有利な特別遊技状態を発生させる確率の設定値を変更した後に、4ms毎に定期的にタイマ割込みがかかるようにCTCの時間定数レジスタを設定しても良い。例えば、ステップS33又はステップS34の処理後に設ければ良い。
【0391】
また、本実施形態においては、計測表示装置610に所定の表示をさせる処理と特別図柄表示装置50を点灯表示させる処理とを共通化しているため、
図22に示すステップS217のLED管理処理にて処理されるものとなる例を示したが、共通化せず、別々の処理としても良い。すなわち、
図22に示すステップS217のLED管理処理は、特別図柄表示装置50を点灯表示させる際の処理とし、計測表示装置610に所定の表示をさせる際は、また別の処理を設けても良い。
【0392】
<スロット遊技機の例>
ところで、本実施形態においては、パチンコ遊技機を例に説明したが、勿論、スロット遊技機にも適用可能である。例えば、スロット遊技機では、
図36~
図38に示すような処理をすることができる。
【0393】
<カウント処理>
図36に示す処理は、主制御のメイン処理にて実行されるもので、主制御CPU600aは、先ず、回胴遊技が終了したか否かを確認する(ステップS1000)。回胴遊技が終了していなければ(ステップS1000:NO)、カウント処理を終える。
【0394】
一方、回胴遊技が終了していれば(ステップS1000:YES)、RAMエラーフラグを確認する(ステップS1001)。RAMエラーフラグがONに設定されていれば、「1」~「6」の何れかの値を示していないと判断し(ステップS1001:YES)、カウント処理を終える。
【0395】
一方、RAMエラーフラグがOFFに設定されていれば、「1」~「6」の何れかの値を示していると判断し(ステップS1001:NO)、現在の設定値をオフセットとして、設定値に応じた計数カウンタテーブルを選択する(ステップS1002)。
【0396】
ところで、この計数カウンタテーブルには、設定値1~6に応じた内容が格納されている。
【0397】
すなわち、設定値1用計数カウンタテーブルには、
設定値1用総払出カウンタ、
設定値1用累計総払出カウンタ、
設定値1用役物払出カウンタ、
設定値1用累計役物払出カウンタ、
設定値1用役物連続払出カウンタ、
設定値1用累計役物連続払出カウンタ、
設定値1用遊技回数カウンタ、
設定値1用有利区間遊技回数カウンタ、
が格納されている。
【0398】
設定値2用計数カウンタテーブルには、
設定値2用総払出カウンタ、
設定値2用累計総払出カウンタ、
設定値2用役物払出カウンタ、
設定値2用累計役物払出カウンタ、
設定値2用役物連続払出カウンタ、
設定値2用累計役物連続払出カウンタ、
設定値2用遊技回数カウンタ、
設定値2用有利区間遊技回数カウンタ、
が格納されている。
【0399】
設定値3用計数カウンタテーブルには、
設定値3用総払出カウンタ、
設定値3用累計総払出カウンタ、
設定値3用役物払出カウンタ、
設定値3用累計役物払出カウンタ、
設定値3用役物連続払出カウンタ、
設定値3用累計役物連続払出カウンタ、
設定値3用遊技回数カウンタ、
設定値3用有利区間遊技回数カウンタ、
が格納されている。
【0400】
設定値4用計数カウンタテーブルには、
設定値4用総払出カウンタ、
設定値4用累計総払出カウンタ、
設定値4用役物払出カウンタ、
設定値4用累計役物払出カウンタ、
設定値4用役物連続払出カウンタ、
設定値4用累計役物連続払出カウンタ、
設定値4用遊技回数カウンタ、
設定値4用有利区間遊技回数カウンタ、
が格納されている。
【0401】
設定値5用計数カウンタテーブルには、
設定値5用総払出カウンタ、
設定値5用累計総払出カウンタ、
設定値5用役物払出カウンタ、
設定値5用累計役物払出カウンタ、
設定値5用役物連続払出カウンタ、
設定値5用累計役物連続払出カウンタ、
設定値5用遊技回数カウンタ、
設定値5用有利区間遊技回数カウンタ、
が格納されている。
【0402】
設定値6用計数カウンタテーブルには、
設定値6用総払出カウンタ、
設定値6用累計総払出カウンタ、
設定値6用役物払出カウンタ、
設定値6用累計役物払出カウンタ、
設定値6用役物連続払出カウンタ、
設定値6用累計役物連続払出カウンタ、
設定値6用遊技回数カウンタ、
設定値6用有利区間遊技回数カウンタ、
が格納されている。
【0403】
それゆえ、例えば、現在の設定値が「2」であれば、設定値2用計数カウンタテーブルが選択されることとなる。なお、上述した設定値に応じた計数カウンタテーブルは、主制御RAM600cの計測用RAM領域600ce(
図9(a)参照)に格納されている。
【0404】
次いで、主制御CPU600aは、ベル、スイカ、チェリーなどの小役、第1種特別役物(例えば、レギュラーボーナス(RB))、第2種特別役物(例えば、チャレンジタイム(CT))、普通役物(例えば、シングルボーナス(SB))による払出があるか否かを確認する(ステップS1003)。払出がなければ(ステップS1003:NO)、主制御CPU600aは、ステップS1006の処理に移行する。
【0405】
一方、払出があれば(ステップS1003:YES)、ステップS1002にて選択された設定値1~6用計数カウンタテーブルの設定値1~6用総払出カウンタ(例えば、現在の設定値が「2」であれば、設定値2用総払出カウンタ)の値に払出数分加算する(ステップS1004)。なお、設定値1~6用計数カウンタテーブルの設定値1~6用総払出カウンタは、リングバッファとなっており、最新の6000ゲームの払出をカウントできるようになっている。
【0406】
次いで、主制御CPU600aは、ステップS1002にて選択された設定値1~6用計数カウンタテーブルの設定値1~6用累計総払出カウンタ(例えば、現在の設定値が「2」であれば、設定値2用累計総払出カウンタ)の値に払出数分加算する(ステップS1005)。
【0407】
次いで、主制御CPU600aは、第1種特別役物(例えば、レギュラーボーナス(RB))、第2種特別役物(例えば、チャレンジタイム(CT))、普通役物(例えば、シングルボーナス(SB))による払出があるか否かを確認する(ステップS1006)。払出がなければ(ステップS1006:NO)、主制御CPU600aは、ステップS1009の処理に移行する。
【0408】
一方、払出があれば(ステップS1006:YES)、ステップS1002にて選択された設定値1~6用計数カウンタテーブルの設定値1~6用役物払出カウンタ(例えば、現在の設定値が「2」であれば、設定値2用役物払出カウンタ)の値に払出数分加算する(ステップS1007)。なお、設定値1~6用計数カウンタテーブルの設定値1~6用役物払出カウンタは、リングバッファとなっており、最新の6000ゲームの払出をカウントできるようになっている。
【0409】
次いで、主制御CPU600aは、ステップS1002にて選択された設定値1~6用計数カウンタテーブルの設定値1~6用累計役物払出カウンタ(例えば、現在の設定値が「2」であれば、設定値2用累計役物払出カウンタ)の値に払出数分加算する(ステップS1008)。
【0410】
次いで、主制御CPU600aは、第1種特別役物(例えば、レギュラーボーナス(RB)、ビッグボーナス(BB))による払出があるか否かを確認する(ステップS1009)。払出がなければ(ステップS1009:NO)、主制御CPU600aは、ステップS1012の処理に移行する。
【0411】
一方、払出があれば(ステップS1009:YES)、ステップS1002にて選択された設定値1~6用計数カウンタテーブルの設定値1~6用役物連続払出カウンタ(例えば、現在の設定値が「2」であれば、設定値2用役物連続払出カウンタ)の値に払出数分加算する(ステップS1010)。
【0412】
次いで、主制御CPU600aは、ステップS1002にて選択された設定値1~6用計数カウンタテーブルの設定値1~6用累計役物連続払出カウンタ(例えば、現在の設定値が「2」であれば、設定値2用累計役物連続払出カウンタ)の値に払出数分加算する(ステップS1011)。
【0413】
次いで、主制御CPU600aは、回胴遊技が実行されたか否かを確認し(ステップS1012)、回胴遊技があれば(ステップS1012:YES)、ステップS1002にて選択された設定値1~6用計数カウンタテーブルの設定値1~6用遊技回数カウンタ(例えば、現在の設定値が「2」であれば、設定値2用遊技回数カウンタ)の値をインクリメント(+1)する(ステップS1013)一方、回胴遊技がなければ(ステップS1012:NO)、ステップS1014の処理に移行する。
【0414】
次いで、主制御CPU600aは、有利区間回胴遊技が実行されたか否かを確認し(ステップS1014)、有利区間回胴遊技があれば(ステップS1014:YES)、ステップS1002にて選択された設定値1~6用計数カウンタテーブルの設定値1~6用有利区間遊技回数カウンタ(例えば、現在の設定値が「2」であれば、設定値2用有利区間遊技回数カウンタ)の値をインクリメント(+1)する(ステップS1013)一方、有利区間回胴遊技がなければ(ステップS1014:NO)、ステップS1016の処理に移行する。なお、この有利区間とは、リプレイ(再遊技)が高確率で当選して遊技者に有利な条件で回胴遊技を行うことができるRT遊技、所定の遊技回数の間、回胴の停止操作順序(押し順)が合致することにより入賞可能なAT役の押し順を事前に報知したり、あるいは当選役の種別を事前に報知したりしてAT役の入賞機会を増加させるAT遊技、又はRT遊技とAT遊技とを併用して、通常遊技状態よりもリプレイ(再遊技)の当選頻度が高くなって使用メダルを消費しにくく、且つ当選した小役がナビされることによって入賞が得られやすくなるART遊技の何れかの遊技状態を示すものである。
【0415】
次いで、主制御CPU600aは、計数処理を実行(ステップS1016)し、カウント処理を終える。
【0416】
<計数処理の説明>
この計数処理について、
図37を参照して説明すると、主制御CPU600aは、まず、RAMエラーフラグを確認する(ステップS1100)。RAMエラーフラグがONに設定されていれば、「1」~「6」の何れかの値を示していないと判断し(ステップS1100:YES)、計数処理を終える。
【0417】
一方、RAMエラーフラグがOFFに設定されていれば、「1」~「6」の何れかの値を示していると判断し(ステップS1100:NO)、主制御CPU600aは、
図36に示すステップS1002にて選択された設定値1~6用計数カウンタテーブルの設定値1~6用有利区間遊技回数カウンタ(例えば、現在の設定値が「2」であれば、設定値2用有利区間遊技回数カウンタ)の値を
図36に示すステップS1002にて選択された設定値1~6用計数カウンタテーブルの設定値1~6用遊技回数カウンタ(例えば、現在の設定値が「2」であれば、設定値2用遊技回数カウンタ)の値で除算することにより、有利区間比率を算出し、主制御RAM600cの計測用RAM領域600ce(
図9(a)参照)の有利区間比率ワーク領域に格納する(ステップS1101)。
【0418】
次いで、主制御CPU600aは、
図36に示すステップS1002にて選択された設定値1~6用計数カウンタテーブルの設定値1~6用連続役物払出カウンタ(例えば、現在の設定値が「2」であれば、設定値2用連続役物払出カウンタ)の値を
図36に示すステップS1002にて選択された設定値1~6用計数カウンタテーブルの設定値1~6用総払出カウンタ(例えば、現在の設定値が「2」であれば、設定値2用総払出カウンタ)の値で除算することにより、最新の6000ゲームの連続役物比率を算出し、主制御RAM600cの計測用RAM領域600ce(
図9(a)参照)の連続役物比率ワーク領域に格納する(ステップS1102)。
【0419】
次いで、主制御CPU600aは、
図36に示すステップS1002にて選択された設定値1~6用計数カウンタテーブルの設定値1~6用役物払出カウンタ(例えば、現在の設定値が「2」であれば、設定値2用役物払出カウンタ)の値を
図36に示すステップS1002にて選択された設定値1~6用計数カウンタテーブルの設定値1~6用総払出カウンタ(例えば、現在の設定値が「2」であれば、設定値2用総払出カウンタ)の値で除算することにより、最新の6000ゲームの役物比率を算出し、主制御RAM600cの計測用RAM領域600ce(
図9(a)参照)の役物比率ワーク領域に格納する(ステップS1103)。
【0420】
次いで、主制御CPU600aは、
図36に示すステップS1002にて選択された設定値1~6用計数カウンタテーブルの設定値1~6用累計連続役物払出カウンタ(例えば、現在の設定値が「2」であれば、設定値2用累計連続役物払出カウンタ)の値を
図36に示すステップS1002にて選択された設定値1~6用計数カウンタテーブルの設定値1~6用累計総払出カウンタ(例えば、現在の設定値が「2」であれば、設定値2用累計総払出カウンタ)の値で除算することにより、累積連続役物比率を算出し、主制御RAM600cの計測用RAM領域600ce(
図9(a)参照)の累積連続役物比率ワーク領域に格納する(ステップS1104)。
【0421】
次いで、主制御CPU600aは、
図36に示すステップS1002にて選択された設定値1~6用計数カウンタテーブルの設定値1~6用累計役物払出カウンタ(例えば、現在の設定値が「2」であれば、設定値2用累計役物払出カウンタ)の値を
図36に示すステップS1002にて選択された設定値1~6用計数カウンタテーブルの設定値1~6用累計総払出カウンタ(例えば、現在の設定値が「2」であれば、設定値2用累計総払出カウンタ)の値で除算することにより、累積役物比率を算出し、主制御RAM600cの計測用RAM領域600ce(
図9(a)参照)の累積役物比率ワーク領域に格納する(ステップS1105)。
【0422】
<表示更新処理の説明>
次に、
図37に示す計数処理にて算出した値を、計測表示装置610(
図7、
図8(a)参照)に表示する処理を、
図38を参照して説明する。なお、この処理は、主制御のタイマ割り込み処理にて実行される。
【0423】
図38に示すように、主制御CPU600aは、まず、RAMエラーフラグを確認する(ステップS1200)。RAMエラーフラグがONに設定されていれば、「1」~「6」の何れかの値を示していないと判断し(ステップS1200:YES)、主制御CPU600aは、計測表示装置610(
図7参照)の第1の計測表示装置610A(
図8(a)参照)、第2の計測表示装置610B(
図8(a)参照)、第3の計測表示装置610C(
図8(a)参照)、第4の計測表示装置610D(
図8(a)参照)に「― ― ― ―」を表示又は非表示データを作成し(ステップS1201)、ステップS1218の処理に移行する。これにより、計測表示装置610(
図7、
図8(a)参照)の第4の計測表示装置610D,第3の計測表示装置610C(
図8(a)参照)の7セグメントには、「― ― ― ―」が表示又は非表示されることとなる。
【0424】
一方、RAMエラーフラグがOFFに設定されていれば、「1」~「6」の何れかの値を示していると判断し(ステップS1200:NO)、主制御CPU600aは、計数タイマの値を確認する(ステップS1202)。計数タイマが5秒に相当する値となっていなければ(ステップS1202:NO)、計数タイマの値をインクリメント(+1)し(ステップS1203)、ステップS1208の処理に移行する。
【0425】
一方、計数タイマが5秒に相当する値となっていれば(ステップS1202:YES)、計数タイマをクリアし(ステップS1204)、表示切替カウンタの値をインクリメント(+1)する(ステップS1205)。
【0426】
次いで、主制御CPU600aは、表示切替カウンタの値を確認し(ステップS1206)、5以上であれば(ステップS1206:YES)、表示切替カウンタをクリアし(ステップS1207)、5以上でなければ(ステップS1206:NO)、ステップS1208の処理に移行する。
【0427】
次いで、主制御CPU600aは、上記ステップS1203、ステップS1206:NO、ステップS1207の何れかの処理を終えた後、表示切替カウンタの値を確認する(ステップS1208)。表示切替カウンタ値が0であれば(ステップS1208:0)、主制御CPU600aは、主制御RAM600cの計測用RAM領域600ce(
図9(a)参照)の有利区間比率ワーク領域に格納されている値に基づき、計測表示装置610(
図7、
図8(a)参照)に表示させる表示データを作成し、主制御RAM600cの計測用RAM領域600ce(
図9(a)参照)に格納する(ステップS1209)。これにより、計測表示装置610(
図7、
図8(a)参照)の第4の計測表示装置610D,第3の計測表示装置610C(
図8(a)参照)の7セグメントには、識別情報「7U」が表示され、第2の計測表示装置610B,第1の計測表示装置610A(
図8(a)参照)の7セグメントには、
図37にて算出した比率情報が表示されることとなる。
【0428】
一方、表示切替カウンタ値が1であれば(ステップS1208:1)、主制御CPU600aは、主制御RAM600cの計測用RAM領域600ce(
図9(a)参照)の連続役物比率ワーク領域に格納されている値に基づき、計測表示装置610(
図7、
図8(a)参照)に表示させる表示データを作成し、主制御RAM600cの計測用RAM領域600ce(
図9(a)参照)に格納する(ステップS1210)。これにより、計測表示装置610(
図7、
図8(a)参照)の第4の計測表示装置610D,第3の計測表示装置610C(
図8(a)参照)の7セグメントには、識別情報「6Y」が表示され、第2の計測表示装置610B,第1の計測表示装置610A(
図8(a)参照)の7セグメントには、
図37にて算出した比率情報が表示されることとなる。
【0429】
また、表示切替カウンタ値が2であれば(ステップS1208:2)、主制御CPU600aは、主制御RAM600cの計測用RAM領域600ce(
図9(a)参照)の役物比率ワーク領域に格納されている値に基づき、計測表示装置610(
図7、
図8(a)参照)に表示させる表示データを作成し、主制御RAM600cの計測用RAM領域600ce(
図9(a)参照)に格納する(ステップS1211)。これにより、計測表示装置610(
図7、
図8(a)参照)の第4の計測表示装置610D,第3の計測表示装置610C(
図8(a)参照)の7セグメントには、識別情報「7Y」が表示され、第2の計測表示装置610B,第1の計測表示装置610A(
図8(a)参照)の7セグメントには、
図37にて算出した比率情報が表示されることとなる。
【0430】
また、表示切替カウンタ値が3であれば(ステップS1208:3)、主制御CPU600aは、主制御RAM600cの計測用RAM領域600ce(
図9(a)参照)の累計連続役物比率ワーク領域に格納されている値に基づき、計測表示装置610(
図7、
図8(a)参照)に表示させる表示データを作成し、主制御RAM600cの計測用RAM領域600ce(
図9(a)参照)に格納する(ステップS1212)。これにより、計測表示装置610(
図7、
図8(a)参照)の第4の計測表示装置610D,第3の計測表示装置610C(
図8(a)参照)の7セグメントには、識別情報「6A」が表示され、第2の計測表示装置610B,第1の計測表示装置610A(
図8(a)参照)の7セグメントには、
図37にて算出した比率情報が表示されることとなる。
【0431】
また、表示切替カウンタ値が4であれば(ステップS1208:4)、主制御CPU600aは、主制御RAM600cの計測用RAM領域600ce(
図9(a)参照)の累計役物比率ワーク領域に格納されている値に基づき、計測表示装置610(
図7、
図8(a)参照)に表示させる表示データを作成し、主制御RAM600cの計測用RAM領域600ce(
図9(a)参照)に格納する(ステップS1213)。これにより、計測表示装置610(
図7、
図8(a)参照)の第4の計測表示装置610D,第3の計測表示装置610C(
図8(a)参照)の7セグメントには、識別情報「7A」が表示され、第2の計測表示装置610B,第1の計測表示装置610A(
図8(a)参照)の7セグメントには、
図37にて算出した比率情報が表示されることとなる。
【0432】
かくして、上記ステップS1209~ステップS1213の何れかの処理を終えた後、主制御CPU600aは、表示数値の値を確認する(ステップS1214)。すなわち、有利区間比率を表示させる場合、その比率が70%以上、又は、連続役物比率を表示させる場合、その比率が60%以上、又は、役物比率を表示させる場合、その比率が70%以上の場合(ステップS1214:YES)、主制御CPU600aは、比率情報の点滅表示データを作成し、主制御RAM600cの計測用RAM領域600ce(
図9(a)参照)に格納する(ステップS1215)。これにより、計測表示装置610(
図7、
図8(a)参照)の第2の計測表示装置610B,第1の計測表示装置610A(
図8(a)参照)の7セグメントに表示される比率情報が点滅表示されることとなる。なお、点滅表示は、点灯0.3秒、消灯0.3秒の0.6秒周期である。
【0433】
一方、有利区間比率を表示させる場合、その比率が70%以上でなく、又は、連続役物比率を表示させる場合、その比率が60%以上でなく、又は、役物比率を表示させる場合、その比率が70%以上でない場合(ステップS1214:NO)、主制御CPU600aは、ステップS1216の処理に移行する。
【0434】
次いで、主制御CPU600aは、上記ステップS1214:NO、ステップS1215の何れかの処理後、ゲーム数を確認する(ステップS1216)。すなわち、
図36に示すステップS1002にて選択された設定値1~6用計数カウンタテーブルの設定値1~6用遊技回数カウンタ(例えば、現在の設定値が「2」であれば、設定値2用遊技回数カウンタ)を確認する(ステップS1216)。連続役物比率又は役物比率を表示させる場合、6000ゲームに到達していないか、又は、累計連続役物比率又は累計役物比率を表示させる場合、175000ゲームに到達していない場合(ステップS1216:NO)、主制御CPU600aは、識別情報の点滅表示データを作成し、主制御RAM600cの計測用RAM領域600ce(
図9(a)参照)に格納する(ステップS1217)。これにより、計測表示装置610(
図7、
図8(a)参照)の第4の計測表示装置610D,第3の計測表示装置610C(
図8(a)参照)の7セグメントに表示される識別情報が点滅表示されることとなる。なお、点滅表示は、点灯0.3秒、消灯0.3秒の0.6秒周期である。
【0435】
一方、連続役物比率又は役物比率を表示させる場合、6000ゲームに到達しているか、又は、累計連続役物比率又は累計役物比率を表示させる場合、175000ゲームに到達している場合(ステップS1216:YES)、主制御CPU600aは、ステップS1218の処理に移行する。
【0436】
次いで、主制御CPU600aは、上記ステップS1216:NO、ステップS1217の処理後、ステップS1201、ステップS1209~ステップS1213、ステップS1215、ステップS1217にて作成した表示データが、計測表示装置610(
図7、
図8(a)参照)が出力され(ステップS1218)、表示更新処理を終える。これにより、算出したデータが計測表示装置610(
図7、
図8(a)参照)に表示されることとなる。
【0437】
しかして、上記のような処理をすれば、スロット遊技機でも、パチンコ遊技機での処理と同様の処理が可能となる。
【0438】
しかして、以上説明した本実施形態によれば、ROMのデータ配置を効率的に行うことができ、もって、ROMのデータ容量の削減を図ることができる。
【0439】
また、本実施形態によれば、プログラムの処理負荷軽減と、プログラム容量の削減を図ることができる。
【0440】
さらに、本実施形態によれば、
図9(b)に示す主制御ROM600bの通常用プログラム領域600baに格納されている上述したプログラムの概要で説明したように、CALL_S命令が使用される割合は、タイマ割込み処理で使用される割合の方が、初期化処理からタイマ割込み処理を呼び出すメインループ処理までに使用される割合より高くなっている。それゆえ、よりプログラムの処理負荷軽減と、プログラム容量の削減を図ることができる。
【符号の説明】
【0441】
1 パチンコ遊技機
60 主制御基板
600 ワンチップマイクロコンピュータ
600a 主制御CPU
600b 主制御ROM
600ba 通常用プログラム領域(第1プログラム領域)
600be 計測用プログラム領域(第2プログラム領域)
600c 主制御RAM