JP7744589B2 - 遊技機 - Google Patents
遊技機Info
- Publication number
- JP7744589B2 JP7744589B2 JP2023096132A JP2023096132A JP7744589B2 JP 7744589 B2 JP7744589 B2 JP 7744589B2 JP 2023096132 A JP2023096132 A JP 2023096132A JP 2023096132 A JP2023096132 A JP 2023096132A JP 7744589 B2 JP7744589 B2 JP 7744589B2
- Authority
- JP
- Japan
- Prior art keywords
- control board
- command
- main control
- management device
- game
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02E—REDUCTION OF GREENHOUSE GAS [GHG] EMISSIONS, RELATED TO ENERGY GENERATION, TRANSMISSION OR DISTRIBUTION
- Y02E60/00—Enabling technologies; Technologies with a potential or indirect contribution to GHG emissions mitigation
- Y02E60/10—Energy storage using batteries
Landscapes
- Slot Machines And Peripheral Devices (AREA)
Description
本発明は、
遊技媒体(電子メダル)をベット可能であるか否かを示すベット要求ランプ(79d)を有し、
試験信号に関する処理として、遊技媒体をベット可能であるか否かを示すベット要求ランプ信号を出力するための処理(図150中、ステップS1321、S1329)を実行可能とし、
試験信号に関する処理として、遊技媒体の付与数(払出し数)に対応した付与カウント信号(払出しカウント信号)を出力するための処理(図150中、ステップS1322、S1323、S1336~S1342)を実行可能とし、
付与カウント信号を出力するための処理を実行している状況下であっても、ベット要求ランプを点灯可能とし(図151)、
付与カウント信号を出力するための処理を実行している状況下では、ベット要求ランプ信号を出力するための処理を実行せず(図151)、
付与カウント信号を出力するための処理を実行している状況下で、遊技機と貸出しユニットとの接続がなされなくなっても、付与カウント信号を出力するための処理を実行可能とする
ことを特徴とする。
「遊技価値(遊技媒体)」とは、遊技の用に供する媒体をいい、本実施形態では「電子情報(電子メダル)」である。
また、「電子情報(電子メダル)」とは、管理装置(CRユニット)200に金銭(紙幣)を投入すると、その金額に応じた電子情報に変換され、その電子情報の一部又は全部が遊技機で遊技を行うための遊技価値として遊技機にクレジット可能となるものである。
さらに、「貸出し」とは、管理装置200から遊技機に遊技価値としての電子情報を移し、遊技機の内部にクレジットすることをいう。
さらにまた、「クレジット」とは、遊技機の内部に遊技価値としての電子情報を貯留することをいう。
さらに、「ベット」とは、遊技を行うために遊技価値としての電子情報を賭けることをいう。ベットスイッチ40を操作すると、クレジットされている遊技価値としての電子情報がベットされる。
また、「払出し」とは、役の入賞に基づき、入賞役の配当に応じた数の遊技価値としての電子情報をクレジット数に加算するこという。
さらにまた、「ベットメダル」とは、遊技を行うためにベットされている遊技価値としての電子情報をいう。
さらに、「貯留メダル」とは、クレジット(貯留)されている遊技価値としての電子情報をいう。
さらにまた、「自動ベット」とは、リプレイが入賞したときに、遊技機としてのスロットマシン10の制御処理により、前回遊技でベットされていた数の遊技価値としての電子情報を自動でベットすることをいう。
また、「返却」とは、管理装置200の内部に貯留されている遊技価値としての電子情報をカード(磁気カードやICカード等)に記憶し、そのカードをカードリーダライタ205から排出することをいう。返却スイッチ203を操作すると、電子情報がカードに記憶されてカードリーダライタ205から排出される。
ただし、2進数、10進数、及び16進数のいずれであるかが明確であるときは、それぞれ「(B)」、「(D)」、「(H)」の末尾記号を省略する場合がある。
<第1実施形態>
第1実施形態における遊技機の一例であるスロットマシン10は、遊技価値(遊技媒体)として、物理的な(有体物としての)メダルを使用せずに、電子情報(電子メダル)を使用するものである。このため、本実施形態のスロットマシン10は、メダル投入口、メダルセレクタ、及びメダル払出し装置等を備えていない。
図1に示すように、本実施形態では、スロットマシン10は、代表的な制御基板として、メイン制御基板50、サブ制御基板80、及び払出制御基板100(クレジット数管理基板)を備えている。
また、図1に示すように、メイン制御基板50は、入力ポート51及び出力ポート52を有し、RWM53、ROM54及びメインCPU55等を備えている(図1で図示したもののみを備える意味ではない)。
入力ポート51は、操作スイッチ等の信号が入力される接続部であり、出力ポート52は、モータ32等の周辺機器に対して信号を送信する接続部である。
図1中、入力用の周辺機器は、その周辺機器からの信号がメイン制御基板50に向かう矢印で表示しており、出力用の周辺機器は、メイン制御基板50からその周辺機器に向かう矢印で示している(サブ制御基板80も同様である)。
さらにまた、ROM54は、遊技の進行に必要なプログラムや各種データ(たとえば、データテーブル)等を記憶しておく記憶媒体である。
さらに、メインCPU55は、メイン制御基板50上に設けられたCPU(演算機能を備えるIC)を指し、遊技の進行に必要なプログラムの実行、演算等を行い、具体的には、役の抽選、リール31の駆動制御、及び入賞時の払出し等を実行する。
なお、後述するサブ制御基板80上においても、RWM83、ROM84、及びサブCPU85を含むMPUが搭載される。なお、RWM83及びROM84は、MPU内部に搭載されるもの以外に、外部に備えてもよい。
そして、ベットスイッチ40、スタートスイッチ41、(左、中、右)ストップスイッチ42、及びキャンセルスイッチ46については、メイン制御基板50と電気的に接続されており、計数スイッチ47については、メイン制御基板50ではなく、後述する払出制御基板100(クレジット数管理基板)と電気的に接続されている。
操作スイッチがオフ状態であるときは、たとえば発光素子からの光が受光素子に入射し続けている(受光素子が光を検知し続けているときは、操作スイッチはオフ状態にある。)。そして、遊技者等により操作スイッチ(の操作体)が操作されると、発光素子からの光が受光素子に入射しない状態となる。この状態を検知したときに、操作スイッチがオン状態になったことを示す電気信号をメイン制御基板50に送信する。なお、上記とは逆に、操作スイッチがオフ状態であるときは発光素子からの光が受光素子に入射せず、発光素子からの光が受光素子に入射したときにオン状態となるように構成してもよい。
本実施形態では、ベットスイッチ40として、1回の操作で1枚の電子メダルをベットするための1ベットスイッチ40aと、1回の操作で3枚(最大数、規定数)の電子メダルをベットするための3ベットスイッチ40bとを備えている。
なお、ベットスイッチ40を1個のみ備え、このベットスイッチ40を1回操作することで、クレジットされている電子メダルのうち3枚(最大数、規定数)の電子メダルがベットされるようにしてもよい。
さらにまた、ストップスイッチ42は、3つ(左、中、右)のリール31に対応して3つ設けられており、対応するリール31を停止させるときに遊技者に操作される操作スイッチである。
キャンセルスイッチ46を操作すると、ベットされている電子メダルがクレジットに戻される。このとき、ベット数が「0」になり、その分、クレジット数に加算される。たとえば、3枚の電子メダルがベットされている状況下で、キャンセルスイッチ46を操作すると、ベット数が「3」から「0」になり、クレジット数に「3」が加算される。
設定キースイッチ12は、設定変更時や設定確認時に操作されるスイッチである。
設定キー挿入口に設定キーを挿入し、時計回りに90度回転させると、設定キースイッチ12がオンになる。
また、電源スイッチ11をオフにした状態(電源断の状態)で、設定キースイッチ12をオンにし、この状態で、電源スイッチ11をオンにすると、設定変更中、すなわち設定変更モードになる。
さらにまた、電源スイッチ11がオンの状態で、設定キースイッチ12をオンにすると、設定確認中、すなわち設定確認モードになる。
設定変更中に設定スイッチ13を1回操作するごとに、設定値が「1」加算される。
本実施形態では、設定値は、設定1から設定6まで有し、設定変更中は、設定スイッチ13を1回操作するごとに、設定値が、「1」→「2」→・・・→「6」→「1」→・・・と切り替わる。
なお、設定変更中にはいずれかの設定値が所定の表示装置に表示されており、スタートスイッチ41を操作すると、表示されている設定値が確定する。
リセットスイッチ14をオンにした状態で電源スイッチ11をオンにすると、初期化処理が行われ、RWM53に記憶されている所定のデータがクリアされる。
また、エラーの原因を除去し、リセットスイッチ14を操作(オン)すると、エラーが解除される。
ここで、「外部信号」とは、外部集中端子板190を介してスロットマシン10の外部(ホールコンピュータ300や、ホールに設置されているデータカウンタ等)に出力するための信号である。
図1に示すように、メイン制御基板50は、外部集中端子板190を介して、ホールコンピュータ300と電気的に接続されている。そして、メイン制御基板50から外部集中端子板190に対して一方向で信号を送信し、外部集中端子板190からホールコンピュータ300に対して一方向で信号を送信する。
そして、獲得数表示LED78は、メイン制御基板50と電気的に接続されており、クレジット数表示LED76は、メイン制御基板50ではなく、後述する払出制御基板100(クレジット数管理基板)と電気的に接続されている。
獲得数表示LED78は、役の入賞時に、電子メダルの払出し枚数(遊技者の獲得数)を表示するLEDであり、上位桁及び下位桁の2桁から構成されている。
なお、獲得数表示LED78は、払い出される電子メダルがないときは、消灯するように制御してもよい。あるいは、上位桁を消灯し、下位桁のみを「0」表示してもよい。
さらにまた、獲得数表示LED78は、AT中に押し順を報知する遊技では、押し順指示情報を表示する(有利な押し順を報知する)LEDとして機能する。
よって、本実施形態における獲得数表示LED78は、払出し枚数(獲得数)、エラー内容、及び押し順指示情報の表示を兼ねるLEDである。ただし、これに限らず、押し順指示情報を表示する専用のLED等を設けてもよいのはもちろんである。
なお、AT中において、有利な押し順の報知は、サブ制御基板80に接続された画像表示装置23によっても実行される。
図柄表示装置は、図柄を表示する(本実施形態では3つの)リール31と、各リール31をそれぞれ駆動するモータ32と、リール31の位置を検出するためのリールセンサ33とを含む。
ここで、リール31は、左リール31、中リール31、右リール31からなり、左リール31を停止させるときに操作するストップスイッチ42が左ストップスイッチ42であり、中リール31を停止させるときに操作するストップスイッチ42が中ストップスイッチ42であり、右リール31を停止させるときに操作するストップスイッチ42が右ストップスイッチ42である。
また、各リール31には、1個(2個以上であってもよい)のインデックスが設けられている。インデックスは、リール31のたとえば周側面に凸状に設けられており、リール31が所定位置を通過したか否かや、1回転したか否か等を検出するときに用いられる。そして、各インデックスは、リールセンサ33によって検知される。
また、リールセンサ33がリール31のインデックスを検知した瞬間の基準位置上の図柄を予めROM54に記憶している。これにより、インデックスを検知した瞬間の基準位置上の図柄を検知することができる。さらに、リールセンサ33がリール31のインデックスを検知した瞬間から、(ステッピング)モータ32を何パルス駆動すれば、前記基準位置上の図柄から数えて何図柄先の図柄を有効ライン上に停止させることができるかを識別可能となる。
ストップスイッチ42が操作されると、そのときに発生する信号がメイン制御基板50に入力される。メイン制御基板50は、この信号を受信すると、そのストップスイッチ42に対応するモータ32を駆動制御して、役抽選手段61の抽選結果(内部抽せん手段により決定した結果)に対応するように、そのモータ32に係るリール31の停止制御を行う。そして、すべてのリール31の停止時における図柄組合せにより、今回遊技の遊技結果を表示する。さらに、いずれかの役に対応する図柄組合せが有効ラインに停止したとき(その役の入賞となったとき)は、入賞した役に対応する電子メダルの払出し等が行われる。
図1に示すように、メイン制御基板50のメインCPU55は、以下の役抽選手段61等を備える。本実施形態における以下の各手段は例示であり、本実施形態で示した手段に限定されるものではない。
役抽選手段61は、当選番号の抽選(決定、選択)を行う。ここで、「役抽選手段61による当選番号の抽選」は、風営法規則(遊技機の認定及び型式の検定等に関する規則。以下、単に「規則」という。)における「内部抽せん」と同じであり、役抽選手段61による抽選結果は、規則における「内部抽せんにより決定した結果」と同じである。したがって、役抽選手段61を、規則に合わせた表現で、「内部抽せん手段61」とも称する。
役抽選手段61は、たとえば、抽選用の乱数発生手段(ハードウェア乱数等)と、この乱数発生手段が発生する乱数を抽出する乱数抽出手段と、乱数抽出手段が抽出した乱数値に基づいて、当選番号を決定する当選番号決定手段とを備えている。
乱数抽出手段は、乱数発生手段によって発生した乱数を、所定の時、本実施形態では遊技者によりスタートスイッチ41が操作(オン)された時に抽出する。
当選番号決定手段は、乱数抽出手段により抽出された乱数値を、抽選テーブルと照合することにより、その乱数値が属する領域に対応する当選番号を決定する。
本実施形態では、すべての役について、役ごとに当選フラグを備える。そして、役抽選手段61による抽選においていずれかの役の当選となったときは、その役の当選フラグをオンにする(当選フラグを立てる)。なお、役の当選には、当選役が1つである場合(単独当選)と、当選役が複数ある場合(重複当選)とが挙げられる。
また、リール制御手段65は、役抽選手段61により当選番号の決定が行われた後、今回遊技における当選フラグのオン/オフを参照して、当選フラグのオン/オフに対応する停止位置決定テーブルを選択するとともに、ストップスイッチ42が操作されたときに、ストップスイッチ42の操作(オン)を検知したときのタイミングに基づいて、そのストップスイッチ42に対応するリール31の停止位置を決定するとともに、モータ32を駆動制御して、その決定した位置にそのリール31を停止させるように制御する。
ここで、「リール31の停止制御の範囲内」とは、ストップスイッチ42が操作された瞬間からリール31が実際に停止するまでの時間又はリール31の回転量(移動図柄(コマ)数)の範囲内を意味する。
そして、ストップスイッチ42が操作されたときは、MB作動中の所定のリール31(たとえば、中リール31)を除き、ストップスイッチ42が操作された瞬間からリール31を停止させるまでの時間が190ms以内に設定されている。これにより、本実施形態では、MB作動中の所定のリール31を除き、ストップスイッチ42が操作された瞬間の図柄からリール31が停止するまでの最大移動図柄数が4図柄に設定されている。
一方、MB作動中の所定のリール31については、ストップスイッチ42が操作された瞬間からリール31を停止させるまでの時間が75ms以内に設定されている。これにより、MB作動中の所定のリール31については、ストップスイッチ42が操作された瞬間の図柄からリール31が停止するまでの最大移動図柄数が1図柄に設定されている。
すなわち、ストップスイッチ42が操作された瞬間に直ちにリール31を停止させると、当選番号に対応する役の図柄が所定の有効ラインに停止しないときには、リール31を停止させるまでの間に、リール31の停止制御の範囲内においてリール31を回転移動制御することで、当選番号に対応する役の図柄をできる限り所定の有効ラインに停止させるように制御する(引込み停止制御)。
さらに、複数の役に当選している遊技(たとえば、押し順ベル当選時)では、ストップスイッチ42の押し順や、ストップスイッチ42の操作タイミングに応じて、入賞させる役の優先順位が予め定められており、所定の優先順位によって、最も優先する役に係る図柄の引込み停止制御を行う。
ここで、入賞判定手段66は、実際に、役に対応する図柄組合せが有効ラインに停止したか否かを検知することはない。具体的には、当該遊技で作動した条件装置と、ストップスイッチ42の押し順及び/又はストップスイッチ42の操作タイミングとから、リール31が実際に停止する前に有効ラインに停止する図柄組合せを予め判断するか、又はリール31の停止後に有効ラインに停止した図柄組合せを予め判断する。
また、払出し手段67は、リプレイの入賞時には、電子メダルをクレジット数に加算することなく、今回遊技で投入された枚数の電子メダルを自動投入(自動ベット)するように制御する。
制御コマンドとしては、たとえば、ベットスイッチ40が操作されたときの情報、スタートスイッチ41が操作されたときの情報、役の抽選結果(内部抽せんにより決定した結果)に関する情報、ストップスイッチ42が操作されたときの情報、入賞した役の情報等が挙げられる。
ここで、メイン制御基板50とサブ制御基板80とは、電気的に接続されており、メイン制御基板50は、シリアル通信によってサブ制御基板80に一方向で、演出の出力に必要な情報(制御コマンド)を送信する。
なお、メイン制御基板50とサブ制御基板80とは、電気的に接続されることに限らず、光通信手段を用いた接続であってもよい。さらに、電気的接続及び光通信接続のいずれにおいても、シリアル通信に限らず、パラレル通信であってもよく、シリアル通信とパラレル通信とを併用してもよい。
サブ制御基板80には、入力ポート81又は出力ポート82を介して、図1に示すような以下の演出ランプ21等の演出用周辺機器が電気的に接続されている。ただし、演出用の周辺機器は、これらに限られるものではない。
また、ROM84は、演出用データとして、演出に係る抽選を行うとき等のプログラムや各種データ等を記憶しておく記憶媒体である。
さらに、サブCPU85は、サブ制御基板80上に設けられたCPU(演算機能を備えるIC)を指し、遊技中及び遊技待機中における演出の出力に必要なプログラムの実行、演算等を行う。
なお、演出ランプ21には、各リール31の内周側に配置され、リール31に表示された図柄(表示窓から見える上下に連続する3図柄)を背後から照らすためのバックランプ、リール31の上部からリール31上の図柄を照光する蛍光灯、スロットマシン10のフロントドア前面に配置され、役の入賞時等に点滅する枠ランプ等が含まれる。
さらにまた、スピーカ22は、遊技中に各種の演出を行うべく、所定の条件を満たしたときに、所定のサウンドを出力するものである。
また、サブ制御基板80のサブCPU85は、演出出力制御手段91を備える。そして、演出出力制御手段91は、メイン制御基板50から送信された制御コマンドに基づいて、どのようなタイミングで、どのような演出を出力するかを決定し、この決定に基づいて、演出用の周辺機器から各種の演出を出力するように制御する。
また、払出制御基板100は、電子メダルのクレジット数を管理するものである。
ここで、メイン制御基板50と払出制御基板100とは、電気的に接続されており、双方向での通信が可能に形成されている。
なお、メイン制御基板50と払出制御基板100とは、電気的に接続されることに限らず、光通信手段を用いた接続であってもよい。
また、電気的接続及び光通信接続のいずれにおいても、シリアル通信としてもよく、パラレル通信としてもよく、シリアル通信とパラレル通信とを併用してもよい。
また、払出制御基板100には、入力ポート101又は出力ポート102を介して、メイン制御基板50、操作スイッチとしての計数スイッチ47、枚数表示装置としてのクレジット数表示LED76、及びスロットマシン10の外部の管理装置(CRユニット)200等が電気的に接続されている。
また、ROM104は、クレジット数を管理するときのプログラムや各種データ等を記憶しておく記憶媒体である。
さらに、クレジット数管理CPU105は、払出制御基板100上に設けられたCPU(演算機能を備えるIC)を指し、クレジット数の管理に必要なプログラムの実行、演算等を行う。
計数スイッチ47を操作すると、スロットマシン10の内部にクレジットされている電子メダルが管理装置200に戻される。このとき、クレジット数が「0」になり、その分、管理装置200において管理する電子メダルの枚数が加算される。
たとえば、スロットマシン10の内部に100枚の電子メダルがクレジットされている状況下で、計数スイッチ47を操作すると、クレジット数が「100」から「0」になり、管理装置200において管理する電子メダルの枚数に「100」が加算される。
このように、本実施形態では、遊技者が遊技をやめるときに、ベットされている電子メダルがあれば、まず、キャンセルスイッチ46を操作して、ベットされている電子メダルをクレジットに戻し、その後に、計数スイッチ47を操作して、クレジットされている電子メダルを管理装置200に戻す。
なお、ベットスイッチ40の操作に基づきベットされた電子メダル、及びリプレイ入賞に基づき自動ベットされた電子メダルの双方とも、キャンセルスイッチ46の操作によりクレジットに戻すことができるようにしてもよい。
たとえば、3枚の電子メダルがベットされ、かつ100枚の電子メダルがクレジットされている状況下で、計数スイッチ47を操作すると、ベットされている電子メダル及びクレジットされている電子メダルが管理装置200に戻され、ベット数及びクレジット数が「0」になるとともに、管理装置200において管理する電子メダルの枚数に「103」が加算されるようにしてもよい。
この場合、キャンセルスイッチ46を設けてもよく、設けなくてもよい。
本実施形態では、最大で1万枚の電子メダルをクレジット可能とされている。すなわち、クレジット数の上限値は「10000」に設定されている。このため、クレジット数表示LED76は、5桁から構成されている。
なお、クレジット数の上限値は「10000」に限らず、たとえば、「15000」としてもよく、「30000」としてもよく、「50000」としてもよい。
また、クレジット数表示LED76の桁数は、5桁に限らず、クレジット数の上限値にあわせて適宜設定することができる。
本実施形態では、クレジット数が上限値に到達すると、すなわち、クレジット数表示LED76の表示が「10000」に到達すると、イネーブル信号をオフにする。そして、イネーブル信号がオフになると、メイン制御基板50は、ベットスイッチ40及びスタートスイッチ41の操作を受付け不可にするように制御する。
なお、クレジット数が「15000」、「30000」又は「50000」に到達したときにイネーブル信号をオフにするようにしてもよい。
なお、払出制御基板100と管理装置200とは、遊技球等貸出装置接続端子板を介して接続される。
また、払出制御基板100と管理装置200は、電気的に接続されることに限らず、光通信手段を用いた接続であってもよい。
さらにまた、電気的接続及び光通信接続のいずれにおいても、シリアル通信としてもよく、パラレル通信としてもよく、シリアル通信とパラレル通信とを併用してもよい。
そして、管理装置200と払出制御基板100との間の通信により、管理装置200から払出制御基板100に電子メダルを移行(貸出し)可能とされ、貸し出された電子メダルを払出制御基板100にクレジット可能とされている。
さらに、遊技者が遊技をやめるときは、管理装置200と払出制御基板100との間の通信により、払出制御基板100にクレジットされている電子メダルを管理装置200に移行(払戻し)可能とされている。
紙幣投入口201は、電子メダルの貸出しに必要な紙幣(たとえば千円札)を挿入するための投入口である。
紙幣投入口201から管理装置200内に挿入された紙幣が正しく認識されると、投入された紙幣に対応する度数が度数表示部204に表示される。度数表示部204は、たとえば3桁の7セグから構成される。たとえば千円札を投入したときは、度数として「10」と表示され、一万円札を投入したときは、度数として「100」と表示される。
たとえば、貸出スイッチ202が1回押されるごとに、度数「10」に相当する電子メダルの貸出しが行われるようにすることができる。
ここで、たとえば、紙幣投入口201から管理装置200内に千円札を投入したときに度数表示部204に表示される度数が「10」であり、度数「1」あたり貸し出される電子メダルの枚数が5枚であるとする。この場合、度数表示部204の表示が「10」のときに貸出スイッチ202を操作すると、50枚の電子メダルが貸し出される。そして、管理装置200と払出制御基板100との間の通信により、貸し出された50枚の電子メダルが払出制御基板100にクレジットされる。
このように、本実施形態では、物理的な(有体物としての)メダルが遊技者に貸し出されることはなく、管理装置200と払出制御基板100との間の通信により、貸し出された電子メダルが管理装置200から払出制御基板100に移行してクレジットされる。
スロットマシン10の計数スイッチ47を操作すると、スロットマシン10から管理装置に電子メダルが戻される。そして、管理装置200の返却スイッチ203を操作すると、スロットマシン10から管理装置200に戻された電子メダルの枚数、及び度数表示部204に表示された度数に相当する電子メダルの枚数が、電子データとしてカード(磁気カードやICカード等)に記憶され、そのカードがカードリーダライタ205の排出口から排出される。
また、図1に示すように、管理装置200は、ホールコンピュータ300と電気的に接続されている。そして、管理装置200からホールコンピュータ300に対して電子メダルの貸出しや払戻し等に関する情報が一方向で送信される。
図1では図示を省略したが、図2に示すように、スロットマシン10は、電源基板150を備えている。また、電源基板150には、蓄電用のコンデンサ151が搭載されており、払出制御基板100にも、蓄電用のコンデンサ106が搭載されている。
さらにまた、電源基板150とメイン制御基板50とは、ハーネスA161で接続されており、このハーネスA161を通じて、電源基板150からメイン制御基板50に電力を供給可能とされている。
電源基板150には、外部から交流で電力が供給される。そして、電源基板150で交流を直流に変換して、メイン制御基板50及び払出制御基板100に電力を供給する。
また、メイン制御基板50と払出制御基板100とは、ハーネスB162で接続されており、このハーネスB162を通して、メイン制御基板50から払出制御基板100に、又は払出制御基板100からメイン制御基板50に、電力を供給可能とされている。
払出制御基板100は、電子メダルのクレジット数を管理する制御基板であり、その安定性は遊技者の利益に大きくかかわるため、電源基板150からハーネスC163を通じて払出制御基板100に直接電力を供給するようにしている。
さらにまた、払出制御基板100には蓄電用のコンデンサ106が搭載されており、電源基板150からの電力供給が途絶えたときは、コンデンサ106から払出制御基板100に電力を供給可能とされている。
このように、例1では、払出制御基板100にバックアップ電源用のコンデンサ106を搭載しており、ハーネスA161やハーネスC163の切断等により電源基板150からの電力供給が途絶えてしまったとしても、払出制御基板100やメイン制御基板50が駆動するようにし、電断時の処理を確実に実行できるようにして、遊技者に不利益を及ぼさないようにしている。
図3に示すように、例2では、電源基板150には、コンデンサが搭載されておらず、払出制御基板100には、蓄電用のコンデンサA107及びコンデンサB108が搭載されている。
また、電源基板150とメイン制御基板50とは、ハーネスE165で接続されており、このハーネスE165を通じて、電源基板150からメイン制御基板50に電力を供給可能とされている。
さらに、メイン制御基板50と払出制御基板100とは、ハーネスF166で接続されており、このハーネスF166を通して、メイン制御基板50から払出制御基板100に、又は払出制御基板100からメイン制御基板50に、電力を供給可能とされている。
そして、ハーネスG167が切れてしまったときは、電源基板150から、ハーネスE165、メイン制御基板50、及びハーネスF166を介して、払出制御基板100に電力を供給可能とされている。
さらに、ハーネスE165及びハーネスG167が切れてしまったときは、コンデンサA107及びコンデンサB108から払出制御基板100に電力を供給するとともに、コンデンサA107からハーネスF166を通してメイン制御基板50に電力を供給可能とされている。
ただし、例2では、コンデンサB108を、払出制御基板100専用のバックアップ電源としている。これにより、ハーネスE165やハーネスG167の切断等により電源基板150からの電力供給が途絶えてしまったとしても、電子メダルのクレジット数を管理する払出制御基板100が確実に駆動するようにし、電断時の処理を確実に実行できるようにして、遊技者に不利益を及ぼさないようにしている。
また、本実施形態では、電源断時には、メイン制御基板50上のプログラムより先に払出制御基板100上のプログラムが停止するように設定されている。
さらに、本実施形態では、電源断からの復帰時には、メイン制御基板50上のプログラムより先に払出制御基板100上のプログラムが起動するように設定されている。
図4は、メイン制御基板50から払出制御基板100に送信されるコマンドの一覧を示す図であり、図5は、払出制御基板100からメイン制御基板50に送信されるコマンドの一覧を示す図である。
また、図6は、管理装置200から払出制御基板100に送信されるコマンドの一覧を示す図であり、図7は、払出制御基板100から管理装置200に送信されるコマンドの一覧を示す図である。
また、払出制御基板100からメイン制御基板50に送信されるコマンドを総称して「払出制御コマンド」という。
さらにまた、払出制御基板100から管理装置200に送信されるコマンドを総称して「遊技機コマンド」という。
さらに、管理装置200から払出制御基板100に送信されるコマンドを総称して「管理装置コマンド」という。
また、メイン制御コマンド、払出制御コマンド、遊技機コマンド、管理装置コマンドは、いずれも、先行コマンド(上位8ビット)及び後続コマンド(下位8ビット)から構成されている。
すなわち、先行コマンド及び後続コマンドからなる16ビット(2バイト)のデータで1つのメイン制御コマンド、払出制御コマンド、遊技機コマンド、管理装置コマンドが構成されている。
また、先行コマンドは、コマンドの種別を示すデータであり、後続コマンドは、パラメータ(変数)を示すデータである。
そして、本実施形態では、メイン制御基板50と払出制御基板100との間、及び払出制御基板100と管理装置200との間では、シリアル通信でコマンドの送受信を行う。
メイン制御コマンドとして、図4中の「内容」の欄に記載されている8種類のコマンドを挙げることができる。また、これら8種類のコマンドのうち、設定変更開始コマンド、設定変更終了コマンド、遊技開始+RT状態コマンド、遊技終了+遊技状態コマンドを総称して「遊技情報コマンド」と称する。さらにまた、投入要求コマンド、払出要求コマンド、返却要求コマンドを総称して「演算要求コマンド」と称する。
遊技機コマンドとして、図7中の「内容」の欄に記載されている13種類のコマンドを挙げることができる。また、貸出要求コマンドのACK応答は「貸出復唱コマンド」とも称する。
メイン制御基板50は、電源投入時に、払出制御基板100に対し、起動確認コマンドを送信する。また、払出制御基板100は、起動確認コマンドを受信すると、これをそのままメイン制御基板50に送り返す(図5に示す起動確認コマンドのACK応答)。
そして、メイン制御基板50側では、送信した起動確認コマンドがそのまま払出制御基板100から送り返されることにより、メイン制御基板50と払出制御基板100との間の通信が正常であると判断することができる。
ここで、電源投入時、すなわち、電源断からの復帰時には、メイン制御基板50から払出制御基板100に対し起動確認コマンドを送信するが、払出制御基板100上のプログラムの方が先に起動するため、起動確認コマンドを確実に受信することができる。そして、メイン制御基板50は、送信した起動確認コマンドがそのまま払出制御基板100から送り返されることにより、メイン制御基板50と払出制御基板100との間の通信が正常であると判断すると、その後の処理を進めるように設定されている。
メイン制御基板50は、設定変更モードへの移行時に、払出制御基板100に対し、設定変更開始コマンドを送信する。また、払出制御基板100は、設定変更開始コマンドを受信すると、これをそのままメイン制御基板50に送り返し(図5に示す設定変更開始コマンドのACK応答)、さらに、管理装置200に対しても設定変更開始コマンドを送信する(図7)。すなわち、払出制御基板100は、メイン制御基板50及び管理装置200の双方に設定変更開始コマンドを送信する。
メイン制御基板50は、設定変更モードの終了時に、払出制御基板100に対し、設定変更終了コマンドを送信する。また、払出制御基板100は、設定変更終了コマンドを受信すると、これをそのままメイン制御基板50に送り返し(図5に示す設定変更終了コマンドのACK応答)、さらに、管理装置200に対しても設定変更終了コマンドを送信する(図7)。すなわち、払出制御基板100は、メイン制御基板50及び管理装置200の双方に設定変更終了コマンドを送信する。
メイン制御基板50は、スタートスイッチ41のオン時に、払出制御基板100に対し、遊技開始+RT状態コマンドを送信する。また、払出制御基板100は、遊技開始+RT状態コマンドを受信すると、これをそのままメイン制御基板50に送り返し(図5に示す遊技開始+RT状態コマンドのACK応答)、さらに、管理装置200に対しても遊技開始+RT状態コマンドを送信する(図7)。すなわち、払出制御基板100は、メイン制御基板50及び管理装置200の双方に遊技開始+RT状態コマンドを送信する。
メイン制御基板50は、第3ストップスイッチ42がオンからオフになった(遊技者が第3ストップスイッチ42から手を離した)時に、払出制御基板100に対し、遊技終了+遊技状態コマンドを送信する。また、払出制御基板100は、遊技終了+遊技状態コマンドを受信すると、これをそのままメイン制御基板50に送り返し(図5に示す遊技終了+遊技状態コマンドのACK応答)、さらに、管理装置200に対しても遊技終了+遊技状態コマンドを送信する(図7)。すなわち、払出制御基板100は、メイン制御基板50及び管理装置200の双方に遊技終了+遊技状態コマンドを送信する。
また、投入要求コマンドの後続コマンドは、ベット数(ベットスイッチ40の操作に基づきクレジット数から減算することを要求する数)を示す。
また、メイン制御基板50は、3ベットスイッチ40bのオン時に、払出制御基板100に対し、投入要求コマンドとして、クレジット数からベット数「3」を減算することを要求する「2003H」(3枚投入要求コマンド)を送信する。
なお、3ベットスイッチ40bのオン時に、払出制御基板100に対し、投入要求コマンドとして、1枚投入要求コマンドを3回送信してもよい。
そして、投入要求を受付け可能であると判断したとき、すなわち、クレジット数がベット数以上であると判断したときは、払出制御基板100は、クレジット数からベット数を減算する処理を実行し、クレジット数表示LED76の表示を更新する処理を実行し、投入復唱コマンドをメイン制御基板50に送信する(受信した投入要求コマンドをそのままメイン制御基板50に送り返す(図5に示す投入要求コマンドのACK応答))。
これに対し、投入要求を受付け不可であると判断したとき、すなわち、クレジット数がベット数未満であると判断した(たとえば、クレジット数が「2」の状況下で、3枚投入要求コマンド「2003H」を受信した)ときは、払出制御基板100は、クレジット数からベット数を減算する処理は実行せずに、投入不可コマンドをメイン制御基板50に送信する(図5に示す投入要求コマンドのNAK応答)。
これに対し、投入不可コマンドを受信したときは、メイン制御基板50は、ベット数をクレジット数から減算する要求が許可されなかったと判断し、電子メダルのベットに応じた処理を実行しない。
また、投入要求コマンドを送信した後、所定時間を経過しても、投入復唱コマンド及び投入不可コマンドのいずれも受信しないと、タイムアウトとなり、メイン制御基板50は、払出制御基板100に対し、再度、投入要求コマンドを送信する。
これにより、電子メダルのベットに関する処理がメイン制御基板50及び払出制御基板100の双方で確実に実行され、クレジット数の管理が正確に行われるので、遊技者に不利益を与えないようにすることができる。
さらにまた、メイン制御基板50は、ベットスイッチ40のオン時に、払出制御基板100に投入要求コマンドを送信し、払出制御基板100は、投入要求コマンドの受信時に、投入要求を受付け可能であれば、メイン制御基板50に投入復唱コマンドを送信し、投入要求を受付け不可であれば、メイン制御基板50に投入不可コマンドを送信する。
ここで、メイン制御基板50が払出制御基板100に投入要求コマンドを送信した後、払出制御基板100が投入要求コマンドを受信する前に、電源断が発生し、払出制御基板100上のプログラムが停止したとする。この場合、メイン制御基板50は、投入復唱コマンド及び投入不可コマンドのいずれも受信しないことになり、電源断からの復帰後に、払出制御基板100に対し、再度、投入要求コマンドを送信することになるため、メイン制御基板50と払出制御基板100との間で確実にコマンドを送受信できる。
また、払出要求コマンドの後続コマンドは、払出し枚数(役の入賞に基づきクレジット数に加算することを要求する数)を示す。
なお、役の非入賞時にも、メイン制御基板50は、第3ストップスイッチ42がオンからオフになった時に、払出制御基板100に、払出要求コマンドを送信する。この場合、払出し枚数は「0」であるので、払出要求コマンドは「2100H」となる。
そして、払出し要求を受付け可能であると判断したとき、すなわち、クレジット数に払出し枚数を加算してもクレジット数の上限値以下であると判断したときは、払出制御基板100は、クレジット数に払出し枚数を加算する処理を実行し、クレジット数表示LED76の表示を更新する処理を実行し、払出復唱コマンドをメイン制御基板50に送信する(受信した払出要求コマンドをそのままメイン制御基板50に送り返す(図5に示す払出要求コマンドのACK応答))。
これに対し、払出不可コマンドを受信したときは、メイン制御基板50は、払出し枚数をクレジット数に加算することの要求が許可されなかったと判断し、役の入賞に基づく電子メダルの払出しに応じた処理を実行しない。
これにより、役の入賞に基づく電子メダルの払出しに関する処理がメイン制御基板50及び払出制御基板100の双方で確実に実行され、クレジット数の管理が正確に行われるので、遊技者に不利益を与えないようにすることができる。
また、返却要求コマンドの後続コマンドは、返却枚数(電子メダルの返却に基づきクレジット数に加算することを要求する数)を示す。
たとえば、3枚の電子メダルがベットされた状態でキャンセルスイッチ46が操作されると、メイン制御基板50は、キャンセルスイッチ46のオン時に、払出制御基板100に対し、返却要求コマンドとして、クレジット数に返却枚数「3」を加算することを要求する「2203H」を送信する。
そして、返却要求を受付け可能であると判断したとき、すなわち、クレジット数に返却枚数を加算してもクレジット数の上限値以下であると判断したときは、払出制御基板100は、クレジット数に返却枚数を加算する処理を実行し、クレジット数表示LED76の表示を更新する処理を実行し、返却復唱コマンドをメイン制御基板50に送信する(受信した返却要求コマンドをそのままメイン制御基板50に送り返す(図5に示す返却要求コマンドのACK応答))。
これに対し、返却不可コマンドを受信したときは、メイン制御基板50は、返却枚数をクレジット数に加算することの要求が許可されなかったと判断し、電子メダルの返却に応じた処理を実行しない。
これにより、電子メダルの返却に関する処理がメイン制御基板50及び払出制御基板100の双方で確実に実行され、クレジット数の管理が正確に行われるので、遊技者に不利益を与えないようにすることができる。
また、貸出要求コマンドの後続コマンドは、貸出し枚数(電子メダルの貸出しに基づきクレジット数に加算することを要求する数)を示す。
そして、貸出し要求を受付け可能であると判断したとき、すなわち、クレジット数に貸出し枚数を加算してもクレジット数の上限値以下であると判断したときは、払出制御基板100は、管理装置200に対し、貸出復唱コマンドを送信する(受信した貸出要求コマンドをそのまま管理装置200に送り返す(図7に示す貸出要求コマンドのACK応答))。
また、貸出指示コマンドを受信すると、払出制御基板100は、クレジット数に貸出し枚数を加算する処理を実行し、クレジット数表示LED76の表示を更新する処理を実行する。
たとえば、クレジット数が「50」のときに、貸出指示コマンド「4132H」(貸出し枚数「50」)を受信すると、払出制御基板100は、クレジット数「50」に、貸出指示コマンド「4132H」の後続コマンドが示す貸出し枚数「50」を加算する処理を実行し、クレジット数表示LEDの表示を「50」から「100」に変更する。
これにより、電子メダルの貸出しに関する処理が管理装置200及び払出制御基板100の双方で確実に実行され、クレジット数の管理が正確に行われるので、遊技者に不利益を与えないようにすることができる。
また、下位計数要求コマンドの後続コマンドは、払戻し枚数(クレジット数)を16ビット(2バイト)で表したときの下位8ビットを示す。
さらにまた、上位計数要求コマンドの後続コマンドは、払戻し枚数(クレジット数)を16ビットで表したときの上位8ビットを示す。
すなわち、下位計数要求コマンドの後続コマンド、及び上位計数要求コマンドの後続コマンドから、払戻し枚数が特定される。
そして、払戻し要求を受付け可能であると判断したときは、管理装置200は、払出制御基板100に対し、下位計数復唱コマンドを送信する(受信した下位計数要求コマンドをそのまま払出制御基板100に送り返す(図6に示す下位計数要求コマンドのACK応答))。
これに対し、払戻し要求を受付け不可であると判断したときは、管理装置200は、払出制御基板100に対し、エラーコマンド「E000H」を送信する(図6に示す異常時のNAK応答)。この場合、管理装置200は、待機状態に戻るように制御する。
これに対し、エラーコマンドを受信したときは、払出制御基板100は、上位計数要求コマンドを送信せずに、待機状態に戻るように制御する。
さらにまた、上位計数復唱コマンドを受信した(送信した上位計数要求コマンドがそのまま管理装置200から送り返された)ときは、払出制御基板100は、管理装置200に対し、計数指示コマンドを送信し、さらに、クレジット数をクリアする(「0」にする)処理を実行し、クレジット数表示LED76の表示を更新する(「0」にする)処理を実行する。
その後、返却スイッチ203が操作されると、管理装置200は、計数スイッチ47の操作によりスロットマシン10(払出制御基板100)から管理装置200に戻された電子メダルの枚数、及び度数表示部204に表示された度数に相当する電子メダルの枚数を、電子データとしてカード(磁気カードやICカード等)に記憶し、そのカードをカードリーダライタ205の排出口から排出する。
これにより、電子メダルの払戻しに関する処理が払出制御基板100及び管理装置200の双方で確実に実行され、クレジット数の管理が正確に行われるので、遊技者に不利益を与えないようにすることができる。
払出制御基板100は、電源投入時に、管理装置200に対し、CPU固有ID1バイト目~4バイト目を順次送信する。
さらにまた、ホールコンピュータ300は、CPU固有ID1バイト目~4バイト目を受信すると、これらを所定の記憶領域に記憶(保存)する。
さらに、管理装置200及びホールコンピュータ300は、記憶したCPU固有ID1バイト目~4バイト目を履歴として残しておくことが可能とされている。
このため、管理装置200及びホールコンピュータ300に記憶されているCPU固有ID1バイト目~4バイト目が途中で変わっていないか否かをチェックすることにより、払出制御基板100が不正に交換されたか否かを判断することができる。
払出制御基板100のメインルーチンでは、ステップS101において入力ポート101にいずれかの信号が入力されると、次のステップS102に進み、払出制御基板100は、入力された信号が計数スイッチ47のオン信号であるか否かの判断処理を実行する。
ここで、計数スイッチ47のオン信号であると判断したときは、次のステップS103に進み、計数要求フラグをオンにする処理を実行する。そして、次のステップS104に進む。
これに対し、計数スイッチ47のオン信号でないと判断したときは、ステップS103をスキップして、ステップS104に進む。
ここで、管理装置(CRユニット)200から払出制御基板100にVL信号(直流18Vの信号)が供給されていれば、ステップS104では、VL信号はオンであると判断し、管理装置200と払出制御基板100とが正常に接続されていると判断して、ステップS105に進み、VLエラーフラグをクリアする処理を実行する。そして、ステップS107に進む。
これに対し、管理装置200から払出制御基板100にVL信号が供給されていなければ、ステップS104では、VL信号はオフであると判断し、管理装置200と払出制御基板100とが正常に接続されていないと判断して、ステップS106に進み、VLエラーフラグをセットする処理を実行する。そして、ステップS107に進む。
ここで、入力された信号がメイン制御コマンドであると判断したときは、次のステップS108に進み、払出制御基板100は、入力されたメイン制御コマンドをRWM103の所定の記憶領域に記憶(保存)する。そして、次のステップS109に進む。
これに対し、入力された信号がメイン制御コマンドでないと判断したときは、ステップS108をスキップして、ステップS109に進む。
ここで、記憶したコマンドがメイン制御コマンドであると判断したときは、次のステップS110に進み、払出制御基板100は、メイン制御コマンド解析処理(図9及び図10)を実行する。メイン制御コマンド解析処理の詳細は後述する。そして、メイン制御コマンド解析処理を実行すると、次のステップS111に進む。
ここで、計数処理は、後述するステップS116で「Yes」となったときに開始される処理であり、その詳細については後述する。また、計数処理を実行中に、この計数処理と並行して、払出制御基板100のメインルーチンを実行可能とされている。このため、払出制御基板100のメインルーチンのステップS111において、計数処理を実行中であるか否かの判断処理を実行する。
なお、計数処理の開始時に、計数処理中フラグをセットし、計数処理の終了時に、計数処理中フラグをクリアする。これにより、計数処理中フラグのオン/オフをチェックすることで、計数処理を実行中であるか否かを判断することができる。
なお、ステップS111において、計数処理を実行中であると判断したときは、その後、実行中の計数処理を続ける。
これに対し、ステップS111において、計数処理を実行中でないと判断したときは、ステップS113に進み、払出制御基板100は、貸出処理(図11)を実行中であるか否かの判断処理を実行する。
なお、貸出処理の開始時に、貸出処理中フラグをセットし、貸出処理の終了時に、貸出処理中フラグをクリアする。これにより、貸出処理中フラグのオン/オフをチェックすることで、貸出処理を実行中であるか否かを判断することができる。
なお、ステップS113において、貸出処理を実行中であると判断したときは、その後、実行中の貸出処理を続ける。
これに対し、ステップS113において、貸出処理を実行中でないと判断したときは、ステップS115に進み、払出制御基板100は、遊技機コマンドを送信中であるか否かの判断処理を実行する。
そして、ステップS115において、遊技機コマンド送信処理を実行中であると判断したときは、ステップS116以降の処理を実行することなく、本フローチャートによる処理を終了する。
これに対し、ステップS115において、遊技機コマンド送信処理を実行中でないと判断したときは、ステップS116に進み、払出制御基板100は、計数要求フラグがオンであるか否かの判断処理を実行する。
これに対し、ステップS116において計数要求フラグがオフであると判断したときは、ステップS118に進み、払出制御基板100は、入力ポート101に入力された(受信した)信号が貸出要求コマンドであるか否かの判断処理を実行する。
これに対し、入力された信号が貸出要求コマンドでないと判断したときは、ステップS120に進み、払出制御基板100は、遊技機コマンド送信処理を実行する。この処理は、遊技機コマンドを管理装置200に送信する処理である。そして、本フローチャートによる処理を終了する。
また、ステップS116において計数要求フラグがオンであるか否かを判断し、計数要求フラグがオンであると判断したときはステップS117に進んで計数処理を開始し、計数要求フラグがオフであると判断したときはステップS118に進んで貸出要求コマンドを受信したか否かを判断する。
ここで、計数スイッチ47が操作されると、払出制御基板100は、計数処理を実行する。
また、貸出スイッチ202が操作され、管理装置200から払出制御基板100に貸出要求コマンドが送信されると、払出制御基板100は、貸出処理を実行する。
一旦貸し出した電子メダルを払い戻すと、電子メダルを貨幣に等価で交換できない場合には、遊技者に不利益を与えてしまうことになるが、計数処理を優先し、貸出処理を実行せずに、計数処理を実行することにより、遊技者に不利益を与えないようにすることができる。
すなわち、払出制御基板100は、貸出処理の実行中やリール31の回転中を含め、いかなるときも、計数スイッチ47の操作を受け付けることができ、そして、計数スイッチ47の操作を受け付けておくことにより、その後の適切なタイミングで計数処理を実行することができる。
これにより、計数スイッチ47を1回操作すれば、電子メダルの払戻しが必ず行われるようにすることができ、計数スイッチ47の再操作を不要にすることができるので、遊技者に煩わしい思いをさせないようにすることができる。
上述したように、メイン制御基板50から払出制御基板100に送信されるコマンドを総称してメイン制御コマンドという。
また、メイン制御コマンドとして、図4中の「内容」の欄に記載されている8種類のコマンドを挙げることができる。
そして、メイン制御コマンド解析処理では、8種類のコマンドのうち、いずれのコマンドを受信したかを判断し、受信したコマンドに応じた処理を実行する。
そして、エラーフラグがオンであると判断したときは、ステップS132に進み、払出制御基板100は、メイン制御基板50に対し、エラーコマンドを送信する処理を実行する。そして、本フローチャートによる処理を終了する。
これに対し、エラーフラグがオフであると判断したときは、ステップS133に進む。
そして、受信したコマンドが起動確認コマンドであると判断したときは、ステップS134に進み、払出制御基板100は、受信した起動確認コマンドをそのままメイン制御基板50に送り返す処理を実行する(起動確認コマンドのACK応答)。
これに対し、受信したコマンドが起動確認コマンドでないと判断したときは、ステップS135に進む。
そして、受信したコマンドが投入要求コマンド、返却要求コマンド、又は払出要求コマンドのいずれかであると判断したとき、すなわち、演算要求コマンドであると判断したときは、図10のステップS138に進む。
これに対し、受信したコマンドが投入要求コマンド、返却要求コマンド、及び払出要求コマンドのいずれでもないと判断したとき、すなわち、演算要求コマンドでないと判断したときは、ステップS136に進む。
なお、ステップS136で遊技情報コマンドを管理装置送信用コマンドバッファにセットする処理が実行されると、この処理以降に実行される払出制御基板100上の割込み処理により、管理装置送信用コマンドバッファに記憶されている遊技情報コマンドが管理装置200に送信されることとなる。
そして、受信したコマンドが投入要求コマンドであると判断したときは、ステップS139に進み、払出制御基板100は、投入要求コマンドの後続コマンド(下位8ビット)を「03H(00000011B)」でマスクする処理を実行する。
上述したように、投入要求コマンドの後続コマンドは、ベット数を示す。また、ベット数の最大値は「3」に設定されており、3枚投入時には、投入要求コマンドの後続コマンドは「03H(00000011B)」となる。すなわち、ベット数の最大値は、投入要求コマンドの後続コマンドにおけるD0~D1ビットで表すことができる。
これにより、投入要求コマンドの後続コマンドにおけるD0~D1ビット以外のビットを「0」にすることができ、仮に投入要求コマンドの後続コマンドにおけるD2~D7ビットにノイズで「1」が入っても、これを「0」にすることができるので、投入時にクレジット数から「3」を超える数を誤って減算しないようにすることができる。
そして、クレジット数がベット数未満であると判断したときは、ステップS141に進み、払出制御基板100は、投入不可コマンドをメイン制御基板50に送信する処理を実行する(投入要求コマンドのNAK応答)。そして、本フローチャートによる処理を終了する。
そして、受信したコマンドが払出要求コマンドであると判断したときは、ステップS145に進み、払出制御基板100は、払出要求コマンドの後続コマンド(下位8ビット)を「0FH(00001111B)」でマスクする処理を実行する。
上述したように、払出要求コマンドの後続コマンドは、払出し枚数を示す。また、払出し枚数の最大値は「15」に設定されており、15枚払出し時には、払出要求コマンドの後続コマンドは「0EH(00001110B)」となる。すなわち、払出し枚数の最大値は、払出要求コマンドの後続コマンドにおけるD0~D3ビットで表すことができる。
そして、クレジット数に払出し枚数を加算するとクレジット数の上限値を超えると判断したときは、ステップS147に進み、払出制御基板100は、払出不可コマンドをメイン制御基板50に送信する処理を実行する(払出要求コマンドのNAK応答)。そして、本フローチャートによる処理を終了する。
そして、受信したコマンドが返却要求コマンドであると判断したときは、ステップS151に進み、払出制御基板100は、返却要求コマンドの後続コマンド(下位8ビット)を「03H(00000011B)」でマスクする処理を実行する。
上述したように、返却要求コマンドの後続コマンドは、返却枚数を示す。また、ベット数の最大値は「3」であるから、返却枚数の最大値も「3」となる。そして、3枚返却時には、返却要求コマンドの後続コマンドは「03H(00000011B)」となる。すなわち、返却枚数の最大値は、ベット数の最大値と同様に、返却要求コマンドの後続コマンドにおけるD0~D1ビットで表すことができる。
そして、クレジット数に返却枚数を加算するとクレジット数の上限値を超えると判断したときは、ステップS153に進み、払出制御基板100は、返却不可コマンドをメイン制御基板50に送信する処理を実行する(返却要求コマンドのNAK応答)。そして、本フローチャートによる処理を終了する。
なお、本フローチャートによる処理を終了すると、図8に示すステップS111の処理に進む。
図8のステップS118で貸出要求コマンドを受信したと判断すると、図8のステップS119に進む。これにより、図11の貸出処理を開始する。また、貸出処理では、ステップS161において、払出制御基板100は、貸出復唱コマンドを管理装置200に送信する(受信した貸出要求コマンドをそのまま管理装置200に送り返す)処理を実行する(貸出要求コマンドのACK応答)。そして、次のステップS162に進む。
ステップS163に進むと、払出制御基板100は、管理装置コマンドを受信したか否かの判断処理を実行する。上述したように、管理装置コマンドは、管理装置200から払出制御基板100に送信されるコマンドの総称である。
そして、ステップS163において、管理装置コマンドを受信したと判断したときは、ステップS164に進み、受信した管理装置コマンドが貸出指示コマンドであるか否かの判断処理を実行する。
ここで、ステップS168において、タイムアウトであると判断したときは、ステップS169に進み、払出制御基板100は、エラーフラグをセットする。そして、本フローチャートによる処理を終了する。
これに対し、ステップS168において、タイムアウトでないと判断したときは、再度、ステップS163の処理を実行する。
ここで、ステップS165において、一致しないと判断したときは、次のステップS166に進み、払出制御基板100は、貸出指示コマンドの後続コマンド(下位8ビット)を払出し枚数としてRWM103の所定の記憶領域に記憶(保存)する。そして、次のステップS167に進む。
これに対し、ステップS165において、一致すると判断したときは、ステップS166をスキップして、ステップS167に進む。
また、ステップS164において、受信した管理装置コマンドが貸出指示コマンドでないと判断したときは、ステップS169に進み、払出制御基板100は、エラーフラグをセットする。そして、本フローチャートによる処理を終了する。
なお、ステップS169でエラーフラグがセットされると、この処理以降に実行される図9のメイン制御コマンド解析処理のステップS131で「Yes」と判断されて、ステップS132に進む。そして、メイン制御基板50にエラーコマンドが送信される。
図8のステップS116で計数要求フラグがオンであると判断すると、図8のステップS117に進む。これにより、図12の計数処理を開始する。また、計数処理では、ステップS181において、払出制御基板100は、下位計数要求コマンドを管理装置200に送信する処理を実行する。そして、次のステップS182に進む。
ステップS183に進むと、払出制御基板100は、管理装置コマンドを受信したか否かの判断処理を実行する。
そして、ステップS183において、管理装置コマンドを受信したと判断したときは、ステップS184に進み、受信したコマンドと送信したコマンドとが一致するか否かの判断処理を実行する。すなわち、送信した下位計数要求コマンドがそのまま管理装置200から送り返された(下位計数復唱コマンドを受信した)か否かの判断処理を実行する。
ここで、ステップS192において、タイムアウトであると判断したときは、ステップS194に進み、払出制御基板100は、エラーフラグをセットする。そして、本フローチャートによる処理を終了する。
これに対し、ステップS192において、タイムアウトでないと判断したときは、再度、ステップS183の処理を実行する。
これに対し、ステップS184において、受信したコマンドと送信したコマンドとが一致しないと判断したときは、ステップS194に進み、払出制御基板100は、エラーフラグをセットする。そして、本フローチャートによる処理を終了する。
ステップS187に進むと、払出制御基板100は、管理装置コマンドを受信したか否かの判断処理を実行する。
そして、ステップS187において、管理装置コマンドを受信したと判断したときは、ステップS188に進み、受信したコマンドと送信したコマンドとが一致するか否かの判断処理を実行する。すなわち、送信した上位計数要求コマンドがそのまま管理装置200から送り返された(上位計数復唱コマンドを受信した)か否かの判断処理を実行する。
ここで、ステップS193において、タイムアウトであると判断したときは、ステップS194に進み、払出制御基板100は、エラーフラグをセットする。そして、本フローチャートによる処理を終了する。
これに対し、ステップS193において、タイムアウトでないと判断したときは、再度、ステップS187の処理を実行する。
これに対し、ステップS188において、受信したコマンドと送信したコマンドとが一致しないと判断したときは、ステップS194に進み、払出制御基板100は、エラーフラグをセットする。そして、本フローチャートによる処理を終了する。
ステップS191に進むと、払出制御基板100は、クレジット数をクリアする(「0」にする)処理を実行する。そして、本フローチャートによる処理を終了する。
なお、ステップS194でエラーフラグがセットされると、この処理以降に実行される図9のメイン制御コマンド解析処理のステップS131で「Yes」と判断されて、ステップS132に進む。そして、メイン制御基板50にエラーコマンドが送信される。
メイン制御基板50においては、電源が投入されると、ステップS201において、電源投入処理が行われる。そして、次のステップS202に進む。
ステップS202に進むと、設定キースイッチ12がオンであるか否かの判断処理を実行する。
これに対し、ステップS202において、設定キースイッチ12がオフであると判断したときは、ステップS204に進み、遊技復帰処理を実行する。そして、遊技復帰処理が終了すると、ステップS211に進む。
ステップS211に進むと、3枚ベット又は1枚ベットの判断処理を実行する。そして、3枚ベットと判断したときは、ステップS205に進み、1枚ベットと判断したときは、ステップS206に進む。
ステップS206に進むと、1枚ベット処理(図17)を実行する。この処理は、1ベットスイッチ40aの操作に基づいて、クレジットされている電子メダルを1枚ベットする処理である。1枚ベット処理の詳細は後述する。そして、1枚ベット処理が終了すると、ステップS212に進む。
ステップS207に進むと、遊技開始処理(図18)を実行する。この処理は、スタートスイッチ41の操作に基づいて、遊技を開始する処理である。遊技開始処理の詳細は後述する。そして、遊技開始処理が終了すると、次のステップS208に進む。
ステップS210に進むと、返却処理(図21)を実行する。この処理は、キャンセルスイッチ46の操作に基づいて、ベットされた電子メダルをクレジットに戻す処理である。そして、返却処理が終了すると、ステップS211に戻る。
図14中、左側のフローチャートは、メイン制御基板50における電源投入処理の流れを示し、右側のフローチャートは、払出制御基板100における電源投入処理1の流れを示す。なお、「電源投入処理1」としているのは、図14では、払出制御基板100における電源投入処理の一部の処理であることを示している。当該電源投入処理の他の一部については、後述する図22(「電源投入処理2」と称する。)で図示している。また、図14中、左右のフローチャートの間の矢印は、電源投入処理時にメイン制御基板50と払出制御基板100との間で送受信されるコマンドの送信方向を示す。
そして、この図14及び後述する図15~図21は、メイン制御基板50と払出制御基板100との間のコマンド送受信状況を示すものである。
また、後述する図23~図25は、払出制御基板100と管理装置200との間のコマンド送受信状況を示すものである。
ステップS301において、メイン制御基板50は、初期化処理を実行する。そして、初期化処理が終了すると、次のステップS302に進む。
ステップS302に進むと、メイン制御基板50は、起動確認コマンドを払出制御基板100に送信する処理を実行する。そして、次のステップS303に進む。
ステップS303では、メイン制御基板50は、応答待機処理を実行する。この処理は、払出制御基板100による起動確認コマンドのACK応答を待つ処理である。
これに対し、起動確認コマンドを送信してから所定時間が経過しても起動確認コマンドのACK応答がない(タイムアウトとなる)か、又は払出制御基板100からエラーコマンドが送信される(NAK応答がある)と、ステップS304に進み、メイン制御基板50は、再送カウンタを減算する処理を実行する。
再送カウンタは、起動確認コマンドの再送回数をカウントするためのカウンタであり、起動確認コマンドの最初の送信時に初期値として「2」が設定される。
なお、再送カウンタの初期値は「2」に限らず、たとえば「3」としてもよい。
ここで、再送カウンタが「0」であると判断したときは、次のステップS306に進み、メイン制御基板50は、エラー処理を実行する。
これに対し、再送カウンタが「0」でないと判断したときは、再度、ステップS302を実行する。
ステップS401において、払出制御基板100は、初期化処理を実行する。そして、初期化処理が終了すると、次のステップS402に進む。
ステップS402では、払出制御基板100は、コマンド受信処理を実行する。この処理は、メイン制御基板50から送信される起動確認コマンドを受信する処理である。そして、起動確認コマンドを受信すると、次のステップS403に進み、払出制御基板100は、受信した起動確認コマンドをそのままメイン制御基板50に送り返す処理を実行する(起動確認コマンドのACK応答)。そして、受信した起動確認コマンドをそのままメイン制御基板50に送り返すと、本フローチャートによる処理を終了する。
図15中、左側のフローチャートは、メイン制御基板50における設定変更処理の流れを示し、右側のフローチャートは、払出制御基板100における設定変更処理の流れを示す。また、図15中、左右のフローチャートの間の矢印は、設定変更処理時にメイン制御基板50と払出制御基板100との間で送受信されるコマンドの送信方向を示す。
電源投入時に設定キースイッチ12がオンであると、メイン制御基板50は、設定変更処理を実行する。この設定変更処理では、ステップS311において、設定変更開始コマンドを払出制御基板100に送信する処理を実行する。そして、次のステップS312に進む。
ステップS312では、メイン制御基板50は、応答待機処理を実行する。この処理は、払出制御基板100による設定変更開始コマンドのACK応答を待つ処理である。
ここで、送信した設定変更開始コマンドがそのまま払出制御基板100から送り返されると、メイン制御基板50は、払出制御基板100による設定変更開始コマンドのACK応答があったと判断し、ステップS203の設定値変更中処理に進む。この処理は、設定スイッチ13が操作されるごとに、設定値の表示を「1」→「2」→・・・→「6」→「1」→・・・と切り替えていき、スタートスイッチ41が操作されると、表示中の設定値で確定させる処理である。そして、設定値変更中処理が終了すると、ステップS313に進む。
また、ステップS313に進むと、メイン制御基板50は、設定変更終了コマンドを払出制御基板100に送信する処理を実行する。そして、次のステップS314に進む。
ここで、送信した設定変更終了コマンドがそのまま払出制御基板100から送り返されると、メイン制御基板50は、払出制御基板100による設定変更終了コマンドのACK応答があったと判断し、本フローチャートによる処理を終了する。なお、本フローチャートによる処理を終了すると、図13に示すステップS211の処理に進む。
これに対し、設定変更終了コマンドを送信してから所定時間が経過しても設定変更終了コマンドのACK応答がない(タイムアウトとなる)か、又は払出制御基板100からエラーコマンドが送信される(NAK応答がある)と、ステップS313に戻り、メイン制御基板50は、再度、設定変更終了コマンドを払出制御基板100に送信する処理を実行する。
ステップS411において、払出制御基板100は、コマンド受信処理を実行する。この処理は、メイン制御基板50から送信される設定変更開始コマンドを受信する処理である。そして、設定変更開始コマンドを受信すると、次のステップS412に進み、払出制御基板100は、受信した設定変更開始コマンドをそのままメイン制御基板50に送り返す処理を実行する(設定変更開始コマンドのACK応答)。そして、次のステップS413に進む。
図16中、左側のフローチャートは、メイン制御基板50における3枚ベット処理の流れを示し、右側のフローチャートは、払出制御基板100における3枚ベット処理の流れを示す。また、図16中、左右のフローチャートの間の矢印は、3枚ベット処理時にメイン制御基板50と払出制御基板100との間で送受信されるコマンドの送信方向を示す。
なお、3枚ベット処理時に、1枚投入要求コマンドを3回送信することに限らず、クレジット数からベット数「3」を減算することを要求する3枚投入要求コマンド(「2003H」)を1回送信してもよい。
ステップS321において、メイン制御基板50は、規定数の電子メダルがベット済であるか否かの判断処理を実行する。そして、規定数の電子メダルがベット済であると判断したときは、本フローチャートによる処理を終了する。これに対し、規定数の電子メダルがベット済でないと判断したときは、次のステップS322で3ベットスイッチ40bの操作(オン)が検知されると、その次のステップS323に進む。
ステップS323では、メイン制御基板50は、投入要求コマンドとして、1枚投入要求コマンドを払出制御基板100に送信する処理を実行する。そして、次のステップS324に進む。
そして、1枚投入復唱コマンドを受信する(送信した1枚投入要求コマンドがそのまま払出制御基板100から送り返される)と、メイン制御基板50は、払出制御基板100による1枚投入要求コマンドのACK応答があったと判断し、ステップS325に進む。
その後、メイン制御基板50は、ステップS325及びS326、並びにステップS327及びS328において、ステップS323及びS324と同様の処理を実行する。すなわち、ステップS323及びS324と同様の処理を3回繰り返し実行する。そして、本フローチャートによる処理を終了する。なお、本フローチャートによる処理を終了すると、図13に示すステップS212の処理に進む。
ステップS421において、払出制御基板100は、コマンド受信処理を実行する。この処理は、メイン制御基板50から送信される1枚投入要求コマンドを受信する処理である。そして、1枚投入要求コマンドを受信すると、次のステップS422に進み、払出制御基板100は、1枚投入復唱コマンドをメイン制御基板50に送信する(受信した1枚投入要求コマンドをそのままメイン制御基板50に送り返す)処理を実行する(1枚投入要求コマンドのACK応答)。そして、次のステップS423に進む。
その後、払出制御基板100は、ステップS423及びS424、並びにステップS425及びS426において、ステップS421及びS422と同様の処理を実行する。すなわち、ステップS421及びS422と同様の処理を3回繰り返し実行する。そして、本フローチャートによる処理を終了する。
図17中、左側のフローチャートは、メイン制御基板50における1枚ベット処理の流れを示し、右側のフローチャートは、払出制御基板100における1枚ベット処理の流れを示す。また、図17中、左右のフローチャートの間の矢印は、1枚ベット処理時にメイン制御基板50と払出制御基板100との間で送受信されるコマンドの送信方向を示す。
ステップS331において、メイン制御基板50は、規定数の電子メダルがベット済であるか否かの判断処理を実行する。そして、規定数の電子メダルがベット済であると判断したときは、本フローチャートによる処理を終了する。これに対し、規定数の電子メダルがベット済でないと判断したときは、次のステップS332で1ベットスイッチ40aの操作(オン)が検知されると、その次のステップS333に進む。
ステップS333では、メイン制御基板50は、投入要求コマンドとして、1枚投入要求コマンドを払出制御基板100に送信する処理を実行する。そして、次のステップS334に進む。
そして、1枚投入復唱コマンドを受信する(送信した1枚投入要求コマンドがそのまま払出制御基板100から送り返される)と、メイン制御基板50は、払出制御基板100による1枚投入要求コマンドのACK応答があったと判断し、本フローチャートによる処理を終了する。なお、本フローチャートによる処理を終了すると、図13に示すステップS212の処理に進む。
ステップS431において、払出制御基板100は、コマンド受信処理を実行する。この処理は、メイン制御基板50から送信される1枚投入要求コマンドを受信する処理である。そして、1枚投入要求コマンドを受信すると、次のステップS432に進み、払出制御基板100は、1枚投入復唱コマンドをメイン制御基板50に送信する(受信した1枚投入要求コマンドをそのままメイン制御基板50に送り返す)処理を実行する(1枚投入要求コマンドのACK応答)。そして、本フローチャートによる処理を終了する。
図18中、左側のフローチャートは、メイン制御基板50における遊技開始処理の流れを示し、右側のフローチャートは、払出制御基板100における遊技開始処理の流れを示す。また、図18中、左右のフローチャートの間の矢印は、遊技開始処理時にメイン制御基板50と払出制御基板100との間で送受信されるコマンドの送信方向を示す。
ステップS351において、メイン制御基板50は、規定数の電子メダルがベット済であるか否かの判断処理を実行する。そして、規定数の電子メダルがベット済でないと判断したときは、本フローチャートによる処理を終了する。これに対し、規定数の電子メダルがベット済であると判断したときは、次のステップS352でスタートスイッチ41の操作(オン)が検知されると、その次のステップS353に進む。
ステップS353では、メイン制御基板50は、遊技開始+RT状態コマンドを払出制御基板100に送信する処理を実行する。そして、次のステップS354に進む。
ステップS354では、メイン制御基板50は、応答待機処理を実行する。この処理は、払出制御基板100から遊技開始+RT状態コマンドが送り返されること(ACK応答)を待つ処理である。
これに対し、ステップS353で遊技開始+RT状態コマンドを送信してから所定時間が経過してもACK応答がない(タイムアウトとなる)か、又は払出制御基板100からエラーコマンドが送信される(NAK応答がある)と、ステップS353に戻り、メイン制御基板50は、再度、遊技開始+RT状態コマンドを払出制御基板100に送信する処理を実行する。
ステップS451において、払出制御基板100は、コマンド受信処理を実行する。この処理は、メイン制御基板50から送信される遊技開始+RT状態コマンドを受信する処理である。そして、遊技開始+RT状態コマンドを受信すると、次のステップS452に進み、払出制御基板100は、受信した遊技開始+RT状態コマンドをそのままメイン制御基板50に送り返す処理を実行する(ACK応答)。そして、本フローチャートによる処理を終了する。
図19中、左側のフローチャートは、メイン制御基板50における遊技終了処理の流れを示し、右側のフローチャートは、払出制御基板100における遊技終了処理の流れを示す。また、図19中、左右のフローチャートの間の矢印は、遊技終了処理時にメイン制御基板50と払出制御基板100との間で送受信されるコマンドの送信方向を示す。
ステップS361において、メイン制御基板50は、第3ストップスイッチ42(最後に停止するリール31に対応するストップスイッチ42)がオンからオフになったか否かの判断処理を実行する。そして、第3ストップスイッチ42がオフになっていないと判断したときは、本フローチャートによる処理を終了する。これに対し、第3ストップスイッチ42がオフになったと判断したときは、ステップS362に進む。
ステップS362に進むと、メイン制御基板50は、遊技終了+遊技状態コマンドを払出制御基板100に送信する処理を実行する。そして、次のステップS363に進む。
ステップS363では、メイン制御基板50は、応答待機処理を実行する。この処理は、払出制御基板100から遊技終了+遊技状態コマンドが送り返されること(ACK応答)を待つ処理である。
これに対し、ステップS362で遊技終了+遊技状態コマンドを送信してから所定時間が経過してもACK応答がない(タイムアウトとなる)か、又は払出制御基板100からエラーコマンドが送信される(NAK応答がある)と、ステップS362に戻り、メイン制御基板50は、再度、遊技終了+遊技状態コマンドを払出制御基板100に送信する処理を実行する。
ステップS461において、払出制御基板100は、コマンド受信処理を実行する。この処理は、メイン制御基板50から送信される遊技終了+遊技状態コマンドを受信する処理である。そして、遊技終了+遊技状態コマンドを受信すると、次のステップS462に進み、払出制御基板100は、受信した遊技終了+遊技状態コマンドをそのままメイン制御基板50に送り返す処理を実行する(ACK応答)。そして、本フローチャートによる処理を終了する。
図20中、左側のフローチャートは、メイン制御基板50における払出処理の流れを示し、右側のフローチャートは、払出制御基板100における払出処理の流れを示す。また、図20中、左右のフローチャートの間の矢印は、払出処理時にメイン制御基板50と払出制御基板100との間で送受信されるコマンドの送信方向を示す。
ステップS371において、メイン制御基板50は、払出要求コマンドを払出制御基板100に送信する処理を実行する。そして、次のステップS372に進む。
ステップS372では、メイン制御基板50は、応答待機処理を実行する。この処理は、払出制御基板100から払出復唱コマンドが送信されること(払出要求コマンドのACK応答)を待つ処理である。
これに対し、ステップS371で払出要求コマンドを送信してから所定時間が経過しても払出復唱コマンドを受信しない(タイムアウトとなる)か、又は払出制御基板100からエラーコマンドが送信される(NAK応答がある)と、ステップS371に戻り、メイン制御基板50は、再度、払出要求コマンドを払出制御基板100に送信する処理を実行する。
ステップS471において、払出制御基板100は、コマンド受信処理を実行する。この処理は、メイン制御基板50から送信される払出要求コマンドを受信する処理である。そして、払出要求コマンドを受信すると、次のステップS472に進み、払出制御基板100は、払出復唱コマンドをメイン制御基板50に送信する(受信した払出要求コマンドをそのままメイン制御基板50に送り返す)処理を実行する(払出要求コマンドのACK応答)。そして、本フローチャートによる処理を終了する。
図21中、左側のフローチャートは、メイン制御基板50における返却処理の流れを示し、右側のフローチャートは、払出制御基板100における返却処理の流れを示す。また、図21中、左右のフローチャートの間の矢印は、返却処理時にメイン制御基板50と払出制御基板100との間で送受信されるコマンドの送信方向を示す。
ステップS341において、メイン制御基板50は、ベットされている電子メダルがあるか否かの判断処理を実行する。そして、ベットされている電子メダルがないと判断したときは、本フローチャートによる処理を終了する。これに対し、ベットされている電子メダルがあると判断したときは、次のステップS342でキャンセルスイッチ46の操作(オン)が検知されると、その次のステップS343に進む。
ステップS343では、メイン制御基板50は、返却要求コマンドを払出制御基板100に送信する処理を実行する。そして、次のステップS344に進む。
ステップS344では、メイン制御基板50は、応答待機処理を実行する。この処理は、払出制御基板100から返却復唱コマンドが送信されること(返却要求コマンドのACK応答)を待つ処理である。
これに対し、ステップS343で返却要求コマンドを送信してから所定時間が経過しても返却復唱コマンドを受信しない(タイムアウトとなる)か、又は払出制御基板100からエラーコマンドが送信される(NAK応答がある)と、ステップS343に戻り、メイン制御基板50は、再度、返却要求コマンドを払出制御基板100に送信する処理を実行する。
ステップS441において、払出制御基板100は、コマンド受信処理を実行する。この処理は、メイン制御基板50から送信される返却要求コマンドを受信する処理である。そして、返却要求コマンドを受信すると、次のステップS442に進み、払出制御基板100は、返却復唱コマンドをメイン制御基板50に送信する(受信した返却要求コマンドをそのままメイン制御基板50に送り返す)処理を実行する(返却要求コマンドのACK応答)。そして、本フローチャートによる処理を終了する。
図22中、左側のフローチャートは、払出制御基板100における電源投入処理2の流れを示し、右側のフローチャートは、管理装置200における電源投入処理の流れを示す。また、図22中、左右のフローチャートの間の矢印は、電源投入処理時に払出制御基板100と管理装置200との間で送受信されるコマンドの送信方向を示す。
スロットマシン10及び管理装置200の電源が投入されると、スロットマシン10の払出制御基板100上のプログラムが起動するとともに、管理装置200上のプログラムが起動する。このとき、スロットマシン10の払出制御基板100において電源投入処理が実行されるとともに、管理装置200において電源投入処理が実行される。
ただし、図14中の右側に示す払出制御基板100における電源投入処理1では、メイン制御基板50と払出制御基板100との間におけるコマンドの送受信を説明するために必要な処理を抽出して図示し、それ以外の処理の図示を省略している。
これに対し、図22中の左側に示す払出制御基板100における電源投入処理2では、払出制御基板100と管理装置200との間におけるコマンドの送受信を説明するために必要な処理を抽出して図示し、それ以外の処理の図示を省略している。
ステップS401において、払出制御基板100は、初期化処理を実行する。そして、初期化処理が終了すると、次のステップS502に進む。なお、図22中のステップS401と、図14中のステップS401とは、同一の内容の処理である。
ステップS502に進むと、払出制御基板100は、CPU固有ID1バイト目~4バイト目を払出制御基板100に順次送信する処理を実行する。そして、次のステップS503に進む。
ステップS503では、メイン制御基板50は、CPU固有ID4バイト目の送信を完了したか否かの判断処理を実行する。そして、CPU固有ID4バイト目の送信を完了したと判断すると、本フローチャートによる処理を終了する。これに対し、CPU固有ID4バイト目の送信を完了していないと判断したときは、ステップS502に戻り、払出制御基板100は、再度、CPU固有ID1バイト目~4バイト目を払出制御基板100に順次送信する処理を実行する。
ステップS601において、管理装置200は、初期化処理を実行する。そして、初期化処理が終了すると、次のステップS602に進む。
ステップS602では、管理装置200は、コマンド受信処理を実行する。この処理は、払出制御基板100から送信されるCPU固有ID1バイト目~4バイト目を受信する処理である。そして、CPU固有ID1バイト目~4バイト目を受信すると、次のステップS603に進み、管理装置200は、受信したコマンドがCPU固有IDであるか否かの判断処理を実行する。
これに対し、ステップS603において、受信したコマンドがCPU固有IDでないと判断すると、本フローチャートによる処理を終了する。
そして、ステップS605において、CPU固有ID4バイト目の受信を完了したと判断したときは、次のステップS606に進み、管理装置200は、CPU固有ID1バイト目~4バイト目をホールコンピュータ300に送信する処理を実行する。そして、本フローチャートによる処理を終了する。
これに対し、ステップS605において、CPU固有ID4バイト目の受信を完了していないと判断したときは、ステップS606をスキップして、本フローチャートによる処理を終了する。
図23中、左側のフローチャートは、払出制御基板100における貸出処理2の流れを示し、右側のフローチャートは、管理装置200における貸出処理の流れを示す。また、図23中、左右のフローチャートの間の矢印は、貸出処理時に払出制御基板100と管理装置200との間で送受信されるコマンドの送信方向を示す。
ただし、図11に示す払出制御基板100における貸出処理1では、貸出処理時の処理を詳細に図示している。
これに対し、図23中の左側に示す払出制御基板100における貸出処理2では、払出制御基板100と管理装置200との間におけるコマンドの送受信を説明するために必要な処理を抽出して図示し、それ以外の処理の図示を省略している。
ステップS611において、貸出スイッチ202の操作(オン)が検知されると、次のステップS612に進み、管理装置200は、貸出可LEDを消灯させる処理、貸出スイッチ202の操作を無効(受付け不可)にする処理、及び返却スイッチ203の操作を無効(受付け不可)にする処理を実行する。そして、次のステップS613に進む。
なお、貸出可LEDは、電子メダルの貸出しが可能であるか否かを示すLEDであって、点灯時には電子メダルの貸出しが可能であることを示し、消灯時には電子メダルの貸出しが不可であることを示すものである。
ステップS614では、管理装置200は、応答待機処理を実行する。この処理は、払出制御基板100から貸出復唱コマンドが送信されること(貸出要求コマンドのACK応答)を待つ処理である。
また、払出制御基板100からエラーコマンドが送信される(NAK応答がある)と、ステップS617に進む。
さらにまた、ステップS613で貸出要求コマンドを送信してから所定時間が経過しても貸出復唱コマンドを受信しない(タイムアウトとなる)と、ステップS618に進み、管理装置200は、エラー処理を実行する。
ステップS616では、管理装置200は、貸出し枚数を減算する処理を実行する。そして、次のステップS617に進む。
ステップS617に進むと、管理装置200は、貸出可LEDを点灯させる処理、貸出スイッチ202の操作を有効(受付け可能)にする処理、及び返却スイッチ203の操作を有効(受付け可能)にする処理を実行する。そして、本フローチャートによる処理を終了する。
ステップS511において、払出制御基板100は、コマンド受信処理を実行する。この処理は、管理装置200から送信される貸出要求コマンドを受信する処理である。そして、貸出要求コマンドを受信すると、ステップS118に進む。
ここで、受信したコマンドが貸出要求コマンドであると判断したときは、ステップS513に進み、払出制御基板100は、受信した貸出要求コマンドをRWM103の所定の記憶領域に記憶(保存)する処理を実行する。そして、次のステップS514に進む。
これに対し、受信したコマンドが貸出要求コマンドでないと判断したときは、本フローチャートによる処理を終了する。
ここで、ステップS514において、貸出し要求を受付け可能であると判断したとき、すなわち、クレジット数に貸出し枚数を加算してもクレジット数の上限値以下であると判断したときは、ステップS161に進み、払出制御基板100は、貸出復唱コマンドを管理装置200に送信する(受信した貸出要求コマンドをそのまま管理装置200に送り返す)処理を実行する(貸出要求コマンドのACK応答)。そして、ステップS164に進む。
ここで、ステップS164において、貸出指示コマンドを受信したと判断したときは、ステップS167に進み、払出制御基板100は、クレジット数に貸出し枚数を加算する処理を実行する。そして、本フローチャートによる処理を終了する。
なお、図23中のステップS161、S164、S167及びS169と、図11中のステップS161、S164、S167及びS169とは、それぞれ同一の内容の処理である。
図24及び図25中、左側のフローチャートは、払出制御基板100における計数処理の流れを示し、右側のフローチャートは、管理装置200における計数処理の流れを示す。また、図24及び図25中、左右のフローチャートの間の矢印は、計数処理時に払出制御基板100と管理装置200との間で送受信されるコマンドの送信方向を示す。
ただし、図12に示す払出制御基板100における計数処理1では、計数処理時の処理を詳細に図示している。
これに対し、図24及び図25中の左側に示す払出制御基板100における計数処理2では、払出制御基板100と管理装置200との間におけるコマンドの送受信を説明するために必要な処理を抽出して図示し、それ以外の処理の図示を省略している。
ステップS181において、払出制御基板100は、下位計数要求コマンドを管理装置200に送信する。そして、ステップS533に進む。
ステップS533では、払出制御基板100は、応答待機処理を実行する。この処理は、管理装置200から下位計数復唱コマンドが送信されること(下位計数要求コマンドのACK応答)を待つ処理である。
また、管理装置200からエラーコマンドが送信される(NAK応答がある)と、本フローチャートによる処理を終了する。
さらにまた、ステップS181で下位計数要求コマンドを送信してから所定時間が経過しても下位計数復唱コマンドを受信しない(タイムアウトとなる)と、ステップS194に進み、払出制御基板100は、エラーフラグをセットする処理を実行する。そして、本フローチャートによる処理を終了する。
ステップS535では、払出制御基板100は、応答待機処理を実行する。この処理は、管理装置200から上位計数復唱コマンドが送信されること(上位計数要求コマンドのACK応答)を待つ処理である。
これに対し、管理装置200からエラーコマンドが送信される(NAK応答がある)か、又は図24のステップS185で上位計数要求コマンドを送信してから所定時間が経過しても上位計数復唱コマンドを受信しない(タイムアウトとなる)と、ステップS194に進み、払出制御基板100は、エラーフラグをセットする処理を実行する。そして、本フローチャートによる処理を終了する。
なお、図24のステップS538のエラー処理と、図25のステップS538のエラー処理とは、同一の処理である。
ステップS191では、クレジット数をクリアする(「0」にする)処理を実行する。そして、本フローチャートによる処理を終了する。
なお、図24及び図25中のステップS181、S185、S189、S191及びS194と、図12中のステップS181、S185、S189、S191及びS194とは、それぞれ同一の内容の処理である。
ステップS631において、管理装置200は、コマンド受信処理を実行する。この処理は、払出制御基板100から送信される下位計数要求コマンドを受信する処理である。そして、下位計数要求コマンドを受信すると、次のステップS632に進む。
ここで、ステップS632において、受信したコマンドが下位計数要求コマンドであると判断したときは、次のステップS633に進み、管理装置200は、受信した下位計数要求コマンドを所定の記憶領域に記憶(保存)する処理を実行する。そして、次のステップS634に進む。
これに対し、ステップS632において、受信したコマンドが下位計数要求コマンドでないと判断したときは、本フローチャートによる処理を終了する。
ここで、ステップS634において、計数(払戻し)要求を受付け可能であると判断したときは、ステップS636に進み、管理装置200は、貸出可LEDを消灯させる処理、貸出スイッチ202の操作を無効(受付け不可)にする処理、及び返却スイッチ203の操作を無効(受付け不可)にする処理を実行する。そして、次のステップS637に進む。
これに対し、ステップS634において、計数(払戻し)要求を受付け不可であると判断したときは、ステップS635に進み、管理装置200は、エラーコマンドを払出制御基板100に送信する(NAK応答)。そして、本フローチャートによる処理を終了する。
ステップS638では、管理装置200は、コマンド受信処理を実行する。この処理は、払出制御基板100から送信される上位計数要求コマンドを受信する処理である。そして、上位計数要求コマンドを受信すると、図25のステップS639に進む。
ここで、ステップS639において、受信したコマンドが上位計数要求コマンドであると判断したときは、ステップS641に進み、管理装置200は、受信した上位計数要求コマンドを所定の記憶領域に記憶(保存)する処理を実行する。そして、ステップS642に進む。
これに対し、ステップS639において、受信したコマンドが上位計数要求コマンドでないと判断したときは、ステップS640に進み、管理装置200は、エラーコマンドを払出制御基板100に送信する(NAK応答)。そして、ステップS647に進み、管理装置200は、エラー処理を実行する。
ステップS643では、管理装置200は、コマンド受信処理を実行する。この処理は、払出制御基板100から送信される計数指示コマンドを受信する処理である。そして、計数指示コマンドを受信すると、次のステップS644に進む。
ここで、受信したコマンドが計数指示コマンドであると判断したときは、次のステップS645に進み、管理装置200は、下位計数要求コマンド及び上位計数要求コマンドから特定される払戻し枚数を、管理装置200側で管理する電子メダルの枚数に反映させる処理を実行する。そして、次のステップS646に進む。
これに対し、受信したコマンドが計数指示コマンドでないと判断したときは、ステップS647に進み、管理装置200は、エラー処理を実行する。
図23~図25では、払出制御基板100と管理装置200との間で送受信されるコマンドとして、貸出要求コマンド、下位計数要求コマンド、上位計数要求コマンド等を示したが、これらのコマンドは、上述したように、先行コマンド(上位8ビット)及び後続コマンド(下位8ビット)から構成されている。
図26に示すように、払出制御基板100と管理装置200との間では、データ信号をD0ビット(DB0)からD7ビット(DB7)まで1ビットずつ送信するとともに、これらをストローブ信号がオンのタイミングで1ビットずつ読み取らせるようにしている。
図23では、電子メダル貸出し時に払出制御基板100と管理装置200との間で送受信されるコマンドを示したが、図27は、電子メダル貸出し時における払出制御基板100及び管理装置200の各信号のオン/オフのタイミングを示している。
その後、スロットマシン10の払出制御基板100及び管理装置200のデータ信号が「0」になり、スロットマシン10の払出制御基板100及び管理装置200のストローブ信号がオフになる。
その後、管理装置200の貸出スイッチ202の操作が受付け可能になり、動作状態が待機状態から通常状態となる。なお、通常状態は、管理装置200による電子メダルの貸出しが可能であり、スロットマシン10での遊技の進行が可能な状態を意味する。
その後、スロットマシン10の払出制御基板100から管理装置200に貸出復唱コマンドの先行コマンド及び後続コマンドが順次送信される。
その後、管理装置200からスロットマシン10の払出制御基板100に貸出指示コマンドの先行コマンド及び後続コマンドが順次送信される。
そして、貸出指示コマンドの送信が完了すると、管理装置200の貸出スイッチ202及び返却スイッチ203の操作が受付け可能になる。
図24及び図25では、電子メダル計数時に払出制御基板100と管理装置200との間で送受信されるコマンドを示したが、図28は、電子メダル計数時における払出制御基板100及び管理装置200の各信号のオン/オフのタイミングを示している。
その後、スロットマシン10の払出制御基板100及び管理装置200のデータ信号が「0」になり、スロットマシン10の払出制御基板100及び管理装置200のストローブ信号がオフになる。
その後、管理装置200の貸出スイッチ202の操作が受付け可能になり、動作状態が待機状態から通常状態となる。ここまでは、図27と同様である。
その後、管理装置200からスロットマシン10の払出制御基板100に下位計数復唱コマンドの先行コマンド及び後続コマンドが順次送信される。
その後、管理装置200からスロットマシン10の払出制御基板100に上位計数復唱コマンドの先行コマンド及び後続コマンドが順次送信される。
その後、スロットマシン10の払出制御基板100から管理装置200に計数指示コマンドの先行コマンド及び後続コマンドが順次送信される。
そして、計数指示コマンドの送信が完了すると、管理装置200の貸出スイッチ202及び返却スイッチ203の操作が受付け可能になる。
(1)本実施形態では、図4~図7に示す各種コマンドは、先行コマンド(上位8ビット)及び後続コマンド(下位8ビット)からなる16ビットのデータで構成されるとしたが、これに限らず、たとえば、8ビットとしてもよく、32ビットとしてもよい。
(3)本実施形態では、メイン制御基板50は、3ベットスイッチ40bのオン時に、払出制御基板100に対し、1枚投入要求コマンドを3回送信する例を示したが、これに限らず、3枚投入要求コマンドを1回送信してもよい。
(5)本実施形態では、メイン制御基板50は、役の非入賞時にも、第3ストップスイッチ42がオンからオフになった時に、払出制御基板100に対し、払出し枚数が「0」である払出要求コマンドを送信したが、これに限らず、役の非入賞時には、払出要求コマンドを送信しなくてもよい。
(7)本明細書に記載のすべての実施形態及び各種の変形例は、単独で実施されることに限らず、適宜組み合わせて実施することが可能である。
第2実施形態の遊技機10は、第1実施形態と同様に、有体物としてのメダルを用いないメダルレス遊技機である。
ここで、「メダルレス遊技機」の称呼における「メダルレス」とは、有体物としてのメダルを用いないことを意味する。
このため、「メダルレス遊技機」であっても、遊技の用に供する遊技媒体(遊技価値)を用いることは従来の遊技機と同様であり、メダルレス遊技機における遊技の用に供する遊技媒体についても単に「メダル」と称する場合がある。
したがって、「メダル」と称するときは、有体物としてのメダルだけに限らず、無体物としてのメダル(たとえば、電子データ)を指す場合もある。
また、無体物としてのメダルは、遊技媒体、遊技価値、得点(又は単に「点」)、電子メダル、電子データ、電子情報、電子遊技媒体、電子遊技価値等と称する場合がある。以下の第2実施形態の説明では、遊技機10(メダルレス遊技機)に用いられる無体物としての「メダル」を「遊技媒体」と称する。
「クレジット」とは、遊技機10に遊技媒体を記憶(貯留、クレジット)することをいう。「クレジットされている遊技媒体」とは、遊技媒体数制御基板100のRWM103に記憶されているデータに相当する。
「ベット」とは、遊技を行うために遊技媒体を賭けることをいう。ベットスイッチ40(1ベットスイッチ40a又は3ベットスイッチ40b)を操作すると、遊技媒体数制御基板100のRWM103に記憶されているデータに相当する遊技媒体から、所定数の遊技媒体がベットされる。
「ベット」は、「投入」とも称される。なお、「投入」とは、実際のメダルをメダル投入口から遊技機内に入れることのみを指すのではなく、ベットスイッチ40の操作により、遊技媒体(電子メダル)をベットすることも含まれる。
遊技媒体が遊技媒体数制御基板100のRWM103内にデータとして記憶(クレジット)されている状況下で、ベットスイッチ40が操作されると、所定数の遊技媒体がベットされ(ベット数として加算され)、ベットされた数だけ遊技媒体数制御基板100のRWM103のデータ(クレジット数)が減算される。一方、遊技媒体がベットされている状況下において精算スイッチ46が操作されると、それまでのベット数(遊技媒体数)が「0」になり、かつ、それまでのベット数が遊技媒体数制御基板100のRWM103に加算される(クレジットに戻される)。
「付与」は、「払出し」とも称する。なお、「払出し」とは、実際のメダルをメダル返却口から排出することのみを指すのではなく、小役の入賞時に、遊技媒体数制御基板100のRWM103に記憶された遊技媒体数に、当該小役の入賞に対応する数の遊技媒体数を加算する処理も、「払出し(処理)」に含まれる。
第2実施形態では、第1実施形態における「払出し手段67」を、「付与数制御手段67」と称する。
「計数」とは、遊技機10(遊技媒体数制御基板100のRWM103)に記憶されている(クレジットされている)遊技媒体を、貸出ユニット200に戻すことをいい、計数スイッチ47の操作によって行われる。計数スイッチ47が操作されると、遊技機10に記憶された所定数の遊技媒体が減算されるとともに、減算された分の遊技媒体が貸出ユニット300側に加算される。
なお、上述したように、「精算」を「返却」と称する場合があると説明したが、第2実施形態において「返却」というときは、貸出ユニット200に記憶されている遊技媒体数を、遊技媒体数記憶媒体に記憶して、外部(遊技者)に排出することをいうものとする。
以下では、たとえば遊技機情報通知を「送信する」と称する場合もあり、あるいは、たとえば遊技機情報を「通知する」と称する場合もある。
また、(主、副等の)制御基板を「制御手段」と称する場合もある。さらに、CPUを「制御手段」と称する場合もある。
また、第1実施形態では「メイン制御基板50」と称したが、第2実施形態では「主制御基板50」と称する。同様に、第1実施形態では「サブ制御基板80」と称したが、第2実施形態では「副制御基板80」と称する。ただし、主制御基板をメイン制御基板と称してもよく、副制御基板をサブ制御基板と称してもよい(いずれも同じ意味である)。
また、第1実施形態では「払出制御基板100」と称したが、第2実施形態では「遊技媒体数制御基板100」と称する。ただし、遊技媒体数制御基板を払出制御基板と称してもよく、両者は同じ意味である。
さらに、第1実施形態では「獲得数表示LED78」と称したが、第2実施形態では「付与数表示部78」と称する。両者は同じ機能を有し、たとえば2桁のLEDから構成されている。
また、遊技媒体数制御基板100のRWM103、ROM104、CPU105は、それぞれ第2主制御RWM103、第2主制御ROM14、第2主制御CPU105と称される場合がある。
1つの遊技機10に対して1つの貸出ユニット200が設けられている。換言すれば、1つの貸出ユニット200は、1つの遊技機10専用の装置である。
これに対し、貸出ユニット200と電気的に接続されているホールコンピュータ300は、貸出ユニット200ごとに設けられていてもよく、あるいは複数の貸出ユニット200あたり1つのホールコンピュータ300が設けられていてもよい。
同様に、貸出ユニット200と電気的に接続されている管理コンピュータ400は、貸出ユニット200ごとに設けられていてもよく(貸出ユニット200と管理コンピュータ400とが一対一接続であってもよく)、あるいは複数の貸出ユニット200あたり1つの管理コンピュータ400が設けられていてもよい。
管理コンピュータ400は、外部(ホール外のたとえば外部センタ)に情報を送信するためのコンピュータである。なお、管理コンピュータ400についても、ホールコンピュータ300と同様に、ホール内に設置されている。
図29では、ホールコンピュータ300と管理コンピュータ400とを別に設けているが、これらが1つになったコンピュータとしてもよい。
ベット数記憶手段53aは、現時点でのベット数を記憶するものである。
一方、主制御基板50には、ベット数表示部77が接続されている。ベット数表示部77は、ベット数記憶手段53aに記憶されているベット数を表示する装置であり、たとえば2桁のLEDから構成されている。
また、付与数記憶手段53bは、小役の入賞に基づき所定数の遊技媒体が付与されたときに、遊技媒体の付与数を記憶するものである。
一方、主制御基板50には、付与数表示部78が接続されている。付与数表示部78は、付与数記憶手段53bに記憶されている付与数を表示する装置であり、たとえば2桁のLEDから構成されている。
また、遊技を開始するために遊技媒体がベットされると、ベット数に対応する遊技媒体数だけ、遊技媒体数記憶手段103aの遊技媒体(データ)が更新(減算)される。
たとえば、遊技媒体数記憶手段103aに遊技媒体数として「100」が記憶されていると仮定する。この場合に、遊技媒体数表示部121には「100」と表示される。
ベット数記憶手段53aにベット数が記憶され、ベット数表示部77にベット数が表示されている状況下において、スタートスイッチ41を操作する前(遊技を開始する前)に精算スイッチ46が操作されたときは、ベット数を返却する(元に戻す)。
たとえば上記例のように、ベット数記憶手段53aに「3」が記憶され、かつ、遊技媒体数記憶手段103aに「97」が記憶されている状況下において、精算スイッチ46が操作されると、ベット数記憶手段53aに記憶されているベット数は「3」から「0」に更新される。これにより、ベット数表示部77の表示は「3」から「0」に更新される。
また、ベット数記憶手段53aにベット数が記憶されていない状況において精算スイッチ46が操作されても、ベット数記憶手段53aに記憶されているベット数は「0」のままであり、かつ、遊技媒体数記憶手段103aに記憶されている遊技媒体数もそのままである。
このような精算処理を開始するために、精算スイッチ46が操作されているか否かを判断し、精算スイッチ46が操作されていない場合は精算処理を開始せず、精算スイッチ46が操作されている場合は、ベット数記憶手段53aに記憶されているベット数が「0」であるか否かを判断する。さらに、ベット数記憶手段53aに記憶されているベット数が「0」である場合は精算処理を開始せず、ベット数記憶手段53aに記憶されているベット数が「0」でない場合は精算処理を開始するように構成されている。
これにより、精算スイッチ46が操作されている状況とベット数記憶手段53aに記憶されているベット数が「0」である状況とを比較したときに、精算スイッチ46が操作されている状況の方が相対的に少ないため、精算スイッチ46が操作されているか否かを先に判断することで、処理負担を軽減することが可能となる。
また、遊技媒体が付与されると、付与(払出し)信号が主制御基板50から遊技媒体数制御基板100に送信される。遊技媒体数制御基板100は、付与信号を受信したときは、付与信号に対応する遊技媒体数だけ、遊技媒体数記憶手段103aに記憶されている遊技媒体数に加算する。本例では、遊技媒体数記憶手段103aに記憶されている遊技媒体数は、「97」から「105」に更新される。遊技媒体数記憶手段103aに記憶されている遊技媒体数が「97」から「105」に更新されると、遊技媒体数表示部121の表示も「97」から「105」に更新される。
この場合、遊技媒体数表示部121に表示されている遊技媒体数に替えてエラー情報を表示してもよいが、遊技媒体数とエラー情報とを交互に表示してもよい。たとえば、遊技媒体数を「3」秒表示→エラー情報を「3」秒表示→遊技媒体数を「3」秒表示→・・・のようにしてもよい。なお、遊技媒体数表示部121が5桁のLEDから構成される場合において、表示するエラー情報がたとえば「E1」であるときは、「000E1」、「---E1」、「E1000」、「E1---」等と表示することが挙げられる。
計数スイッチ47が操作されると、遊技媒体数記憶手段103aに記憶されている遊技媒体(情報)を、接続端子板130を介して貸出ユニット200に送信可能に構成されている。たとえば、遊技媒体数記憶手段103aに遊技媒体数「200」が記憶されている状況下において、計数スイッチ47が操作されると、計数値として「200」という情報が接続端子板130に送信され、その後、貸出ユニット200に計数値として「200」という情報が送信され得るように構成されている。そして、計数スイッチ47が操作され、計数値を送信した後の遊技媒体数記憶手段103aには「0」が記憶されるように構成されている。
なお、総遊技媒体数クリアスイッチ112の操作によりクリアされる情報は、遊技媒体数記憶手段103aに記憶されている総遊技媒体数のみであり、他の情報はクリアされない。
同様に、貸出ユニット200の貸出可能遊技媒体数記憶手段206に、貸出可能遊技媒体数として「50」が記憶されており、かつ、遊技媒体数記憶手段103aに記憶されている遊技媒体数が「1000」であるときに、総遊技媒体数クリアスイッチ112が操作されると、貸出可能遊技媒体数記憶手段206に記憶されている貸出可能遊技媒体数は「50」のままであるが、遊技媒体数記憶手段103aに記憶されている遊技媒体数は「0」となる。換言すると、総遊技媒体数クリアスイッチ112が操作されたことにより、貸出可能遊技媒体数記憶手段206に記憶されている貸出可能遊技媒体数はクリアされない。
総遊技媒体数クリアスイッチ112が操作されたことにより遊技媒体数がクリアされた場合は、総遊技媒体数クリアステータスをオンにし、1遊技が終了するまで総遊技媒体数クリアステータスのオンを維持し、当該1遊技の終了後に総遊技媒体数クリアステータスをオフにする。
総遊技媒体数クリアステータスの情報は、貸出ユニット200に送信してもよい。貸出ユニット200が総遊技媒体数クリアステータスがオンである情報を受信した場合は、貸出ユニット200で記憶している総遊技媒体数をクリアする。また、遊技機10において総遊技媒体数クリアステータスがオンの状況下で、貸出ユニット200から貸出遊技媒体が付与された場合、総遊技媒体数クリアステータスはオンのまま、新たに遊技媒体数記憶手段103aに、貸出遊技媒体数を加算する。
そして、4割込みが1周期となって、役比モニタ113の4桁のLEDをダイナミック点灯させる。具体的には、たとえばLED表示カウンタを設け、割込みごとに、
「00000001(B)」
「00000010(B)」
「00000100(B)」
「00001000(B)」
を循環するように構成する。
そして、第2実施形態では、役比モニタ113には、比率として、以下の(1)~(6)の6項目の情報を所定時間ごとに繰り返し表示する。
(1)指示込役物比率(累計)(7P.)、又は有利区間比率(累計)(7U.)
(2)連続役物比率(6000遊技)(6y.)
(3)役物比率(6000遊技)(7y.)
(4)連続役物比率(累計)(6A.)
(5)役物比率(累計)(7A.)
(6)役物等状態比率(累計)(5H.)
上記の表記中、たとえば「P.」とは、識別セグの一の位の7セグメントにより「P」を表示し、かつ、当該7セグメントのDPセグメントを点灯させることを意味する。
ここで、「累計」とは、それまでにカウントし続けた数値の総和を指し、本実施形態では、少なくとも「175000」遊技回数以上になるまではカウントする。
なお、「175000」遊技回数以上となった後も、RWM103の所定アドレスの記憶領域に記憶可能な値(上限値)に到達するまで加算し続ける。
また、「6000遊技」とは、1セットを「400」遊技回数とし、その15セットを合計した遊技回数である。
(1)指示込役物比率(累計)
「指示込役物比率(累計)」とは、累計付与数(「付与数」とは、遊技媒体の付与数を指す。以下同じ。)を分母とし、役物(RB、CB、SB)の作動により付与された累計の役物作動時付与数と指示機能の作動により付与された累計の指示付与数の合算を分子とした比率である。
なお、上記の「合算」とは、第1に、役物作動時の付与数を記憶する記憶領域と、指示付与数を記憶する記憶領域とを別個に設けた場合には、双方の記憶領域に記憶された値の合計値に相当する。また第2に、役物作動時の付与数と指示機能の作動時の付与数との双方(以下、「指示込役物付与数」と称する。)を記憶する一記憶領域(指示込役物カウンタ)を設けた場合には、当該一記憶領域の値に相当する。
なお、役物を搭載していない遊技機10では、「指示込役物比率」は、指示機能の作動により付与された累計の指示付与数を総付与数で割った値となる。
これに対し、指示機能を作動させた遊技において、表示した押し順と異なる押し順でストップスイッチ42が操作されたために、たとえば付与数「3」の小役が入賞したときは、指示込役物付与数及び総付与数に「3」を加算する。
また、指示機能を作動させた遊技において、表示した押し順と異なる押し順でストップスイッチ42が操作されたために、当選役を取りこぼしたとき(役の非入賞時)には、指示込役物付与数及び総付与数は、前回遊技と同じ値となる。
「有利区間比率(累計)」とは、累計の遊技回数を分母とし、累計の有利区間遊技回数を分子とした比率である。たとえば、累計の遊技回数が「20000」、累計の有利区間遊技回数が「18000」の場合には、有利区間比率は「90」と算出される。
なお、「累計」とは、必ずしも全遊技の累計とは限らない。たとえば、累計の遊技回数が予め定められた上限値(たとえば「65535」)に達した場合には、それ以降の遊技では、累計の遊技回数、及び有利区間遊技回数が更新されないように構成されている。
上記の「指示込役物比率(累計)」又は「有利区間比率(累計)」は、遊技機10の仕様に応じていずれか一方を表示する。具体的には、指示機能を搭載した遊技機では「指示込役物比率(累計)」を表示し、「有利区間比率(累計)」の表示は不要である。これに対し、指示機能非搭載の遊技機では「有利区間比率(累計)」を表示し、「指示込役物比率(累計)」は表示しない。
「連続役物比率(6000遊技)」とは、遊技回数「6000」での付与数を分母とし、遊技回数「6000」中、連続役物(RB)作動時の付与数を分子とした比率である。
また、「連続役物比率(累計)」とは、累計の遊技回数における付与数を分母とし、累計の遊技回数において、連続役物(RB)作動時の付与数を分子とした比率である。たとえば、累計の遊技回数が所定回数(たとえば、17500回)以上であって、累計の遊技回数における付与数が「20000」、累計の連続役物作動時の付与数が「10000」の場合には、連続役物比率(累計)は「50」と算出される。
なお、「累計」とは、必ずしも全遊技の累計とは限らない。たとえば、累計の付与数が予め定められた上限値(たとえば「65535」)に達した場合や、累計の付与数に今回遊技の付与数を加算した結果、上限値を超えてしまう場合には、それ以降の遊技では、累計の付与数、及び累計の連続役物作動時の遊技媒体の付与数は更新されないように構成されている。
「役物比率(6000遊技)」とは、遊技回数「6000」での付与数を分母とし、遊技回数「6000」中、役物(RB、CB、SB)作動時の付与数を分子とした比率である。
また、「役物比率(累計)」とは、累計の遊技回数における付与数を分母とし、累計の遊技回数において、役物(RB、CB、SB)作動時の付与数を分子とした比率である。たとえば、累計の遊技回数が所定回数(たとえば、17500回)以上であって、累計の付与数が「20000」、累計の役物作動時の付与数が「10000」の場合には、役物比率(累計)は「50」と算出される。
なお、「累計」とは、必ずしも全遊技の累計とは限らない。たとえば、累計の付与数が予め定められた上限値(たとえば「65535」)に達した場合や、累計の付与数に今回遊技の付与数を加算した結果、上限値を超えてしまう場合には、それ以降の遊技では、累計の付与数、及び、累計の役物作動時の遊技媒体の付与数は更新されないように構成されている。
「役物等状態比率(累計)」とは、累計の遊技回数を分母とし、役物(RB、CB、SB)が作動している遊技回数、又は連続役物(1BB、2BB)が作動している遊技回数を分子とした比率である。たとえば、累計の遊技回数が「20000」、累計の役物作動時又は連続役物作動時の遊技回数が「5000」の場合には、役物等状態比率(累計)は「25」と算出される。
なお、累計とは、必ずしも全遊技の累計とは限らない。たとえば、累計の遊技回数が予め定められた上限値(たとえば「175000」)に達した場合には、それ以降の遊技では、累計の遊技回数、並びに役物作動時及び連続役物作動時の遊技回数は更新されないように構成されている。
たとえば、「RB(第一種特別役物)」を備えていない場合には、連続役物比率は存在しないので、「連続役物比率(6000遊技)」及び「連続役物比率(累計)」の表示時には、比率セグを「--」と点灯表示する。
さらに、比率を計算した結果、「100」であったときは「99」と表示する。
また、比率を計算した結果、「10」未満の場合には、十の位には「0」を表示する。具体的には、比率を計算した結果、「9」%であったときは、「09」と表示する。
第1に、比率が閾値以上の場合には、比率セグを点滅表示する。
各比率の閾値(%)は、以下の通りである。
(1)指示込役物比率(累計)又は有利区間比率(累計):70
(2)連続役物比率(6000遊技):60
(3)役物比率(6000遊技):70
(4)連続役物比率(累計):60
(5)役物比率(累計):70
(6)役物等状態比率(累計):50
したがって、たとえば指示込役物比率(累計)が「69」であるときは指示込役物比率(累計)の表示時に比率セグの「69」は点灯表示されるが、「70」であるときは点滅表示される。
各比率の基準遊技数は、以下の通りである。
(1)指示込役物比率(累計)又は有利区間比率(累計):175000
(2)連続役物比率(6000遊技):6000
(3)役物比率(6000遊技):6000
(4)連続役物比率(累計):17500
(5)役物比率(累計):17500
(6)役物等状態比率(累計):175000
また、累計遊技数が集計単位1セットあたりの遊技回数「400」に満たない場合には、比率セグには「00」を表示する。
第2実施形態では、点滅表示における点灯と消灯との切替えを以下のように管理(制御)する。
まず、点滅切替え時間を管理するタイマ領域として、RWM103に「点滅切替え時間(_TM_CHG_FLS )」(2バイト)を備える。
また、点灯であるか消灯であるかを判断するためのフラグとして、RWM103に「点滅切替えフラグ(_FL_CHG_FLS )」(1バイト)を備える。
点滅切替えフラグは、電源投入時に初期化され(「0」が記憶され)、その後、「300」msごとに、「0」と「1」とが切り替わる。「0」の場合は点灯を指し、「1」の場合は「消灯」を指す。
例1)初期値「0」であるときに更新処理を行うと、「0-299=298」となる。このとき、桁下がりが発生するために、キャリーフラグが「1」となる。
例2)点滅切替え時間が「298」のときに更新処理を行うと、「298-299=1」となる。このとき、桁下がりが発生するために、キャリーフラグが「1」となる。
例3)点滅切替え時間が「299」のときに更新処理を行うと、「299-299=0」となる。このとき、桁下がりが発生しないために、キャリーフラグは「0」となる。
例1)点滅切替えフラグが「0」(点灯)であるとき、更新処理を行うと「1」(消灯)になる。
例2)点滅切替えフラグが「1」(消灯)であるとき、更新処理を行うと「0」(点灯)になる。
テストパターンは、電源を投入にした後、上記のキャリーフラグが「0」となった回数が「16」になるまで、すなわち「300ms×16回=4800ms」を経過するまで、「8.8.8.8.」(全LEDの全セグメント素子(セグメントDPを含む))を表示する。
なお、役比モニタ113の4桁の各LEDは、1割込みごと(1ms)ごとにダイナミック点灯されるので、厳密には4個のすべてのLEDが同時に点灯しているわけではない。
よって、
電源投入
↓
(0)テストパターン表示(4800ms)
↓
(1)指示込役物比率(累計)又は有利区間比率(累計)表示(4800ms)
↓
(2)連続役物比率(6000遊技)表示(4800ms)
↓
(3)役物比率(6000遊技)表示(4800ms)
↓
(4)連続役物比率(累計)表示(4800ms)
↓
(5)役物比率(累計)表示(4800ms)
↓
(6)役物等状態比率(累計)表示(4800ms)
↓
(1)指示込役物比率(累計)又は有利区間比率(累計)表示(4800ms)
↓
:
となる。
なお、上記(1)~(6)の各比率についても、テストパターンと同様に、上記キャリーフラグが「0」となった回数が「16」になるまで(300ms×16回=4800ms)表示する。
そして、点灯又は消灯時間をT1とし、テストパターン又は比率の表示時間をT2としたとき、
T2=T1×2×n(nは、自然数)
に設定すれば、点灯と消灯との切替えタイミングと、テストパターン表示又は比率表示の切替えタイミングとを一致させることができ、見栄えのよい表示を行うことができ、役比モニタ113を見る人に対して故障しているかもしれないと誤認させないようにすることができる。
上記において、「T1」を「300」msに設定したとき、「T2」は、「600」msの倍数となるが、各比率表示時間を「5000ms±10%」にするためには、「T2」を「4800」msとすればよい。
テストパターン(300ms間点灯。累計300ms。)
↓
テストパターン(300ms間消灯。累計600ms。)
↓
:
↓
テストパターン(300ms間点灯。累計4500ms。)
↓
テストパターン(300ms間消灯。累計4800ms。テストパターン表示終了。)
↓
有利区間比率(300ms間点灯)
↓
有利区間比率(300ms間消灯)
↓
:
となる。
副制御基板80は、第1実施形態(図1)のサブ制御基板80と同様であるので説明を省略する。ただし、副制御基板80のRWM83、ROM84、CPU85を、それぞれ副制御RWM83、副制御ROM84、副制御CPU85と称する場合がある。
副制御基板80に電気的に接続されている演出ランプ21、スピーカ22、画像表示装置23についても第1実施形態と同様である。
接続端子板(「遊技球等貸出装置接続端子板」とも称される。)130は、遊技機10と貸出ユニット200との間での双方向通信を行うための中継基板としての役割を有する。
また、貸出可能遊技媒体数表示部204は、第1実施形態における度数表示部204に相当し、貸出ユニット200から遊技機10に対して貸し出すことが可能な遊技媒体数の最大値を表示するものであり、たとえば3桁のLEDから構成されている。
なお、遊技媒体数制御基板100の遊技媒体数記憶手段103aに「0」を超える遊技媒体数が記憶されており、かつ、貸出ユニット200の貸出可能遊技媒体数記憶手段206には遊技媒体数が記憶されていない状況下では、返却スイッチ203を操作しても遊技媒体数記憶媒体は排出されない。換言すれば、遊技媒体数制御基板100の遊技媒体数記憶手段103aに遊技媒体数が記憶されている場合であっても、貸出ユニット200の貸出可能遊技媒体数記憶手段206に遊技媒体数が記憶されていなければ、返却スイッチ203を操作しても、遊技媒体数記憶媒体は排出されない。
電文の種類としては、図30に示すように、
1.遊技機情報通知
2.計数通知
3.貸出通知
4.貸出受領結果応答
が設けられている。
これらの電文のうち、遊技機情報通知、計数通知、貸出受領結果応答は、遊技機10から貸出ユニット200に送信される電文である。
一方、貸出通知は、貸出ユニット200から遊技機10に送信される電文である。
(1)電文長
(2)コマンド
(3)通番、計数通番、又は貸出通番
(4)データ部
(5)チェックサム
上記5つからなるデータ群を「電文」と称し、1回の送信によって送信される。すなわち、分割送信は行わない。
「電文長」とは、電文長、コマンド、通番(通番、計数通番、又は貸出通番)、データ部、チェックサムの5つからなるデータのデータ長の長さを示したものであり、1バイトデータで構成される。たとえば、電文長が1バイト、コマンドが1バイト、通番が1バイト、データ部が14バイト、チェックサムが1バイトの場合、電文は18バイトとなり、電文長は18バイトに対応したデータ(12h)となる。
「コマンド」とは、遊技機情報通知、計数通知、貸出通知、貸出受領結果応答のうち、どの電文であるかの種別を通知するためのデータであり、1バイトデータで構成される。
たとえば、図30に示すように、遊技機情報通知のコマンドは「01h」、計数通知のコマンドは「02h」、貸出通知のコマンドは「13h」、貸出受領結果応答のコマンドは「03h」に設定されている。
電文の受信側は、コマンドの値を判定すれば、電文の種類を識別することができる。
「通番」とは、遊技機情報通知、計数通知、貸出通知、貸出受領結果応答に含まれる番号を指すデータである。遊技機情報通知に含まれる通番を「通番」、計数通知に含まれる通番を「計数通番」、貸出通知に含まれる通番を「貸出通番」、貸出受領結果応答に含まれる通番を「貸出通番」と称する。これらの各種の通番は、「0」~「FFh」の範囲内の数値であり、1バイトデータで構成される。
通番は、遊技機10の電源投入時は、「00h」を通知するように制御する。
また、電源投入以降は、通知するごとに通番を更新(+1)する。
通番が「FFh」の次の値は、「01h」に更新(+1を2回)する(「0」にはならない)。
「データ部」とは、遊技機情報通知、計数通知、貸出通知、貸出受領結果応答に対応したデータに相当する。各電文のデータ部の詳細については、後述する。
(5)チェックサム
「チェックサム」とは、電文長、コマンド、通番、データ部、チェックサムの5つからなるデータを加算し、総計の下位1バイトを示す値である。このチェックサムを用いて、受信側は、通信中のデータの破損等を把握することができ、たとえばチェックサムが一致しなかった電文の数を遊技機10や貸出ユニット200がカウントして、通信の不具合状況等を確認することができる。たとえば遊技機10においては、チェックサムが一致しなかった電文の数を、所定の状況(設定値を確認可能な設定確認モード中や設定値を変更可能な設定変更モード中)に画像表示装置23等で表示可能としてもよい。
1.遊技機情報通知のデータ部
遊技機情報通知のデータ部は、図30に示すように、遊技機種類、遊技機情報種別、遊技機情報から構成される。
a)遊技機種類
「遊技機種類」とは、遊技機10の種類等を識別するための情報である。この情報は、たとえば管理媒体、団体区分、遊技機種類等を通知するデータである。
「遊技機情報種別」とは、今回通知する遊技機情報通知の遊技機情報が、遊技機性能情報、遊技機設置情報、又はホールコン・不正監視情報のいずれであるかを識別するための情報である。遊技機性能情報を通知する場合には「00h」、遊技機設置情報を通知する場合には「01h」、ホールコン・不正監視情報を通知する場合には「02h」を通知する。
「遊技機情報」は、遊技機性能情報、遊技機設置情報、ホールコン・不正監視情報から構成される。遊技機情報としては、遊技機性能情報、遊技機設置情報、ホールコン・不正監視情報のうち、いずれか1つを送信する。
ここで、ホールコン・不正監視情報は、原則として「300」msごと(遊技機情報通知の送信ごと)に送信する。
また、遊技機設置情報は、「60」秒ごとに送信する。
さらにまた、遊技機性能情報は、原則として「180」秒ごとに送信する。
上記において、「原則として」とは、複数の遊技機情報の送信タイミングが重なった場合には、優先順位の高い方の遊技機情報を送信することを意味する。換言すれば、遊技機性能情報、遊技機設置情報、及びホールコン・不正監視情報の送信タイミングが重なった場合には、優先度に応じていずれか1つを送信する。図30に示すように、「60」秒ごとに送信する遊技機設置情報が第1優先であり、「180」秒ごとに送信する遊技機性能情報が第2優先である。
同様に、遊技機設置情報の送信周期である「60」秒は、「60」~「62」秒の範囲内であればよい。
さらに同様に、遊技機性能情報の送信周期である「180」秒は、「180」~「186」秒の範囲内であればよい。
ただし、上述した送信周期の範囲は、毎回ランダムな値をとるわけではなく、あらかじめ定められた値で送信する。
(ア)遊技機性能情報
遊技機性能情報は、以下の総投入数等の情報から構成されている。
a)総投入数
「総投入数」とは、電源が投入されてから累積した遊技媒体の投入数である。なお、電源断が発生し、その後、電源が投入された場合には、総投入数として「0」が出力され得る。たとえば、累計「1000」回の遊技において、遊技媒体の累計投入数が「2000」であった場合には、総投入数は「2000」となり、総投入数として「2000」が出力され得る。そして、電源断が発生し、その後、電源が投入された場合には総投入数として「0」が出力され得る。なお、役抽選によりリプレイに当選し、リプレイに対応した図柄組合せが停止表示した場合には、その遊技の次回遊技のベット数は総投入数には含めない。
「総付与数」とは、電源が投入されてから累積した遊技媒体の付与数である。電源断が発生し、その後、電源が投入された場合には、総付与数として「0」が出力され得る。たとえば、累計「1000」回の遊技において、付与された遊技媒体の累計数が「2000」であった場合には、総付与数は「2000」となり、総付与数として「2000」が出力され得る。そして、電源断が発生し、その後、電源が投入された場合には、総付与数として「0」が出力され得る。
なお、リプレイに対応する図柄組合せが停止表示したことに基づいて、当該遊技におけるベット数の遊技媒体が自動ベットされた場合には、その自動ベットされた遊技媒体は「付与数」には含めない。
「MY」は、「差数」、「差枚数」とも称される。
「MY」とは、電源が投入されてからの遊技媒体の付与数と投入数とから算出可能な最大差数の情報である。電源断が発生し、その後、電源が投入された場合には、MYとして「0」が出力され得る。具体的には、遊技の結果が得られたときの遊技媒体数が最も減少したときを基準として、当該基準からの遊技媒体数の増加数(総付与数から総投入数を引いた数)である最大差数を「MY」と称する。たとえば、累計「1000」回の遊技において、「100」回目の遊技が最も遊技媒体数の差数が少なく、そのときの遊技媒体数が「-200」であり、その時点から「800」回目の遊技が最も遊技媒体数の差数が多く、そのときの遊技媒体数が「+800」であるときには、MYは「+1000」となり、MYとして「1000」が出力され得る。そして、電源断が発生し、その後、電源が投入された場合には、MYとして「0」が出力され得る。
「役物総付与数」とは、電源が投入されてからの役物(シングルボーナス(SB)、レギュラーボーナス(RB)、及びチャレンジボーナス(CB))の作動により付与された遊技媒体の総数(累積数)である。電源断が発生し、その後、電源が投入された場合には、役物総付与数として「0」が出力され得る。たとえば、累計「1000」回の遊技において、役物の作動により得られた総遊技媒体数が「100」であった場合には、役物総付与数は「100」となり、役物総付与数として「100」が出力され得る。そして、電源断が発生し、その後、電源が投入された場合には役物総付与数として「0」が出力され得る。
「連続役物総付与数」とは、電源が投入されてからの連続役物(第一種特別役物。レギュラーボーナス(RB)とも称する。)の作動により付与された遊技媒体の総数(累積数)である。電源断が発生し、その後、電源が投入された場合には、連続役物総付与数として「0」が出力され得る。たとえば、累計「1000」回の遊技において、連続役物の作動により得られた総遊技媒体数が「100」であった場合には、連続役物総付与数は「100」となり、連続役物総付与数として「100」が出力され得る。そして、電源断が発生し、その後、電源が投入された場合には連続役物総付与数として「0」が出力され得る。
なお、第一種特別役物連続作動装置(「1種BB」とも称される。)による第一種特別役物の作動により付与される遊技媒体の付与数も、連続役物総付与数として累積される。
上述したように、役比モニタ113によって表示される役物比率(累計)の値である。累計の遊技回数が所定回数(たとえば、17500回)未満であるときは、役物比率(累計)として「FFh」を出力するように構成されている。
g)連続役物比率
上述したように、役比モニタ113によって表示される連続役物比率(累計)の値である。累計の遊技回数が所定回数(たとえば、17500回)未満であるときは、連続役物比率(累計)として「FFh」を出力するように構成されている。
上述したように、役比モニタ113によって表示される有利区間比率(累計)の値である。累計の遊技回数が所定回数(たとえば、175000回)未満においては、有利区間比率として「FFh」を出力するように構成されている。また、有利区間を備えていない遊技機においても、「FFh」を出力するように構成されている。
i)指示込役物比率
上述したように、役比モニタ113によって表示される指示込役物比率(累計)の値である。累計の遊技回数が所定回数(たとえば、175000回)未満においては、指示込役物比率として「FFh」を出力するように構成されている。また、役物や指示機能を備えていない遊技機においても、「FFh」を出力するように構成されている。
上述したように、役比モニタ113によって表示される役物等状態比率(累計)の値である。累計の遊技回数が所定回数(たとえば、175000回)未満においては、役物等状態比率として「FFh」を出力するように構成されている。また、役物を備えていない遊技機においても、「FFh」を出力するように構成されている。
k)遊技回数
「遊技回数」とは、遊技機10の電源が投入されてからの累積した遊技回数である。遊技機10の電源が投入されたときにクリアされる(「0」が記憶される)。
l)その他
上記以外の情報として、貸出ユニット200で使用される情報等、複数種類の情報が挙げられるが、本実施形態では説明を割愛する。
遊技機設置情報は、以下の主制御チップID番号等の情報から構成されている。
a)主制御チップID番号
「主制御チップID番号」とは、主制御基板50に設けられたCPU55、RWM53、及びROM54が一体となった主制御チップを識別するためのチップ個別ナンバーを含む情報であり、同一機種であっても遊技機10ごとに異なる情報となる。
b)主制御チップメーカコード
「主制御チップメーカコード」とは、主制御チップの内蔵メモリに記憶した遊技機メーカを示す情報である。
「主制御チップ製品コード」とは、主制御チップの内蔵メモリに記憶した遊技機10の機種名を示す情報である。
上述した主制御チップID番号、主制御チップメーカコード、及び主制御チップ製品コードは、遊技機10の電源が投入されたときの電源投入処理において、主制御基板50から遊技媒体数制御基板100に送信されるように構成されている。そして、遊技媒体数制御基板100のRWM103に、それぞれ、主制御チップID番号、主制御チップメーカコード、及び主制御チップ製品コードを記憶するように構成されている。
「遊技媒体数制御チップID番号」とは、遊技媒体数制御基板100に設けられたCPU105、RWM103、及びROM104が一体となった遊技媒体数制御チップを識別するためのチップ個別ナンバーを含む情報であり、同一機種であっても遊技機10ごとに異なる情報となる。
なお、遊技媒体数制御基板100を搭載していない遊技機の場合には、遊技媒体数制御チップID番号として「000000000000000000h」を貸出ユニット200に出力可能とする。
「遊技媒体数制御チップメーカコード」とは、遊技媒体数制御チップの内蔵メモリ(ROM54)に記憶した遊技機メーカを示す情報である。
なお、遊技媒体数制御基板100を搭載していない遊技機の場合には、遊技媒体数制御チップメーカコードとして「000000h」を貸出ユニット200に出力可能とする。
f)遊技媒体数制御チップ製品コード
「遊技媒体数制御チップ製品コード」とは、主制御チップの内蔵メモリ(ROM54)に記憶した遊技機10の機種名を示す情報である。
なお、遊技媒体数制御基板100を搭載していない遊技機の場合には、遊技媒体数制御チップ製品コードとして「0000000000000000h」を貸出ユニットに向けて出力可能とする。
ホールコン・不正監視情報は、以下の遊技媒体数等の情報から構成されている。
a)遊技媒体数
「遊技媒体数」とは、遊技媒体数制御基板100に記憶されている現在の遊技媒体数(総数)を示す情報であり、遊技媒体の投入(ベット)により減じられ、小役の入賞に基づく遊技媒体の付与により加算される。現在の遊技媒体数は、遊技媒体数記憶手段103aに記憶されており、遊技媒体数表示部121に表示される。遊技媒体数としてたとえば「2000」を記憶している場合には、遊技媒体数として「0007D0h」を貸出ユニット200に出力可能とする。なお、遊技媒体数制御基板100で記憶可能な遊技媒体数の上限値は「16383(D)」としている。
なお、現在の遊技媒体数を(「300」msごとに)貸出ユニット200に送信することで、貸出ユニット200側でも遊技媒体数を管理することが可能となる。これにより、セキュリティ性をより強化することができる。
「投入数」とは、投入(ベット)されている遊技媒体数を示す情報である。たとえば遊技媒体数「3」を投入(ベット)した場合には、「03h」を貸出ユニット200に出力可能とする。また、「3」を投入した状況から遊技を開始する前に(スタートスイッチ41が操作される前に)精算スイッチ46の操作により投入数「3」を遊技媒体数制御基板100に戻す場合には、「-3」に相当する「FDh」を貸出ユニット200に出力可能とする。換言すると、「-3」(FDh)~+3(03h)の情報を貸出ユニット200に出力可能とする。
「付与数」とは、すべてのリール31が停止した後、有効ライン上に停止した(入賞した)図柄組合せの態様によって、付与された遊技媒体数(配当)を示す情報である。たとえば、遊技媒体数「8」が付与された場合には「08h」の情報を出力可能とし、「15」が付与され場合には「0Fh」を貸出ユニット200に出力可能とする。
このように、遊技機10は、上述した「遊技媒体数」、「投入数」、「付与数」を貸出ユニット200に送信することで、貸出ユニット200側では、遊技媒体数の異常を検知可能となっている。
「主制御状態1」とは、遊技状態に関する状態を示す情報である。具体的には、1バイトのデータのうち、ビットごとにどの遊技状態であるかを割り当てられている。たとえば、D0ビットが「1」のときにはRB状態であることをし、また、たとえばD1ビットが「1」のときにはBB状態であることを示し、さらにまた、たとえばD2ビットが「1」であるときはAT状態であることを示す。そして、遊技機10は、これらの情報を貸出ユニット200に出力可能とする。
「主制御状態2」とは、主制御状態1と同様に、遊技状態に関する状態を示す情報である。D0ビットからD2ビットは、遊技機状態信号5~7に対応している。遊技状態信号5~7は、遊技機10の種類に応じて使用用途を変更したり、使用しなかったりすることができる。たとえば、特定のRT状態(再遊技確率変動(高確率)状態)に移行した場合に、遊技状態信号5を出力することなどが挙げられる。D3~D7ビットは未使用であり、遊技機10の種類にかかわらず「0」が出力可能となるように構成されている。このように構成することによって、たとえば特定のRT状態へ移行した際には、「00000001B」を貸出ユニット200に出力可能とする。
「遊技機エラー状態」とは、遊技機10で発生中のエラーを示すエラーコード等を含む情報である。
具体的には、D0~D5ビットでエラーコードを示す。D6ビットで遊技媒体数制御基板100のエラー(この場合には、D6ビットは「0」)であるか、又は主制御基板50のエラー(この場合にはD6ビットは「1」)であるかを示す。D7ビットで貸出ユニット200にてエラー報知のみを行うもの(この場合にはD7ビットは「0」)であるか、又は貸出ユニット200にてエラー報知を行うとともに、貸出ユニット200を通じてホールコンピュータ300にもエラーコードを通知するもの(この場合にはD7ビットが「1」)であるかを示す。
「遊技機不正1(主制御)」とは、主制御基板50に係る不正の検知や主制御基板50に係る状態に関する情報である。なお、遊技機不正1(主制御)の信号は、ホールコンピュータ300用の信号として扱う。換言すると、遊技機10から出力された遊技機不正1(主制御)の各信号は、貸出ユニット200を通じて、ホールコンピュータ300へ出力されるようになっている。
まず、D0ビットには設定変更中信号が割り当てられている。D0ビットが「1」であるときは、設定変更中(設定変更モード中)及び設定変更が行われたことを示す。設定変更中信号は、設定変更中~設定変更後の1遊技終了時(たとえば、全リール31が停止し、遊技媒体の付与処理が終了したとき)まではD0ビットが「1」となる。設定変更中~設定変更後の1遊技終了時以外の状況では、D0ビットは「0」となる。
D1ビットには設定確認中信号が割り当てられている。設定確認中(設定確認モード中)のときはD1ビットが「1」となり、設定確認中以外の状況ではD1ビットが「0」となる。
D5ビットにはセキュリティ信号が割り当てられている。具体的には、不正検知信号を出力しているとき、設定変更中信号を出力しているとき、設定確認中信号を出力しているときのいずれかの状況下でD5ビットが「1」となり、それ以外の状況ではD5ビットは「0」となる。
D6及びD7ビットは未使用であり、いずれの「0」となる。
「遊技機不正2(主制御又は遊技媒体数制御)」とは、主制御基板50又は遊技媒体数制御基板100に係る不正の検知や主制御基板50又は遊技媒体数制御基板100に係る状態を示す情報である。なお、遊技機不正2(主制御又は遊技媒体数制御)の信号は、ホールコンピュータ300用の信号として扱う。換言すると、遊技機10から出力された遊技機不正2(主制御又は遊技媒体数制御)の各信号は、貸出ユニット200を通じて、ホールコンピュータ300へ出力されるようになっている。
D0ビットには、設定ドアオープン信号が割り当てられている。「設定ドアオープン信号」とは、設定変更を行うための設定キースイッチ12をカバーする設定キースイッチカバーが開放しているか否かを示す信号である。設定キースイッチカバーが開放しているときにはD0ビットが「1」となり、設定キースイッチカバーが閉鎖しているときにはD0ビットが「0」となる。なお、設定キースイッチカバーを設けていない遊技機や、設定キースイッチカバーの開放を検知する機能を有していない遊技機においては、D0ビットが「0」となる。
D2ビットは未使用であり、「0」である。
D3ビットには、遊技媒体数クリア検知が割り当てられている。「遊技媒体数クリア検知」とは、遊技媒体数制御基板100に設けられた総遊技媒体数クリアスイッチ112が操作された(総遊技媒体数がクリアされた)ことの検知である。
総遊技媒体数クリアスイッチ112の操作を検出した場合にはD3ビットが「1」となり、総遊技媒体数クリアスイッチ112の操作を検出していない場合にはD3ビットが「0」となる。なお、総遊技媒体数クリアスイッチ112を備えていない遊技機の場合には、D3ビットは「0」となる。
D4~D7ビットは未使用であり、これらのビットは「0」となる。
「遊技機不正3」とは、予備として設けられ、主制御基板50又は遊技媒体数制御基板100に係る不正の検知や、主制御基板50又は遊技媒体数制御基板100に係る状態の情報を示す。
本実施形態の遊技機10においては、遊技機不正3(主制御又は遊技媒体数制御)は未使用であり、D0~D7ビットは「0」となる。
さらに、図31では図示していないが、ホールコン・不正監視情報として、他にも情報が設けられているが、本実施形態では説明を割愛する。
2.計数通知のデータ部
計数通知のデータ部は、計数遊技媒体数と、計数累積遊技媒体数とから構成される。
a)計数遊技媒体数
「計数遊技媒体数」は、計数スイッチ47が操作されたことに基づいて遊技機10から貸出ユニット200に送信する(戻す)遊技媒体数である。計数遊技媒体数は、「0x00h」から「0x32h」までの範囲となっており、1回の計数通知では最大「50(D)」を貸出ユニット200に送信可能となっている。また、遊技媒体数制御基板100が記憶している遊技媒体数が「50」以上である場合は、「50」を示す「0x32h」のデータが送信されるが、遊技媒体数制御基板100が記憶している遊技媒体数が「50」未満である場合は遊技媒体数制御基板100が記憶している現在の遊技媒体数に応じたデータが送信される。たとえば、遊技媒体数制御基板100が記憶している遊技媒体数が「30(D)」である場合には、「0x1Eh」のデータが送信される。
ここで、「計数スイッチ47の短押し操作を受け付けた」とは、たとえば、遊技媒体数制御基板100が計数スイッチ47の操作受け付けに関するレベルデータがオンを示す値となっている期間(割込み処理で計数スイッチ47の操作受付がオンを示す値となっている期間)が所定期間未満(たとえば「1」秒未満)である場合が挙げられる。すなわち、前記所定期間未満の時間で計数スイッチ47の操作が受け付けられた場合には、計数スイッチ47の短押し操作を受け付けたと判断し、計数遊技媒体数を「1」とする。
「計数累積遊技媒体数」とは、遊技機10の電源投入時からの計数遊技媒体数の累積値である。計数累積遊技媒体数は、「0x0000h」から「0xFFFFh」までの範囲であり、計数が行われるごとにその計数遊技媒体数を加算する。なお、計数累積遊技媒体数が「0xFFFFh」を超える場合は「0xFFFFh」の次の値を「0x0000h」とする。また、遊技機10の電源投入があった場合は、計数累積遊技媒体数をクリアする(「0」にする)。
貸出通知のデータ部である「貸出遊技媒体数」は、貸出ユニット200の貸出スイッチ202が操作されることで、貸出ユニット200から遊技機10に送信される貸出しに関する遊技媒体数である。貸出遊技媒体数は、「0x00h」から「0x32h」までの範囲であり、1回の貸出通知では最大「50(D)」を遊技機10に送信可能となっている。また、貸出ユニット200側に記憶されている貸出可能遊技媒体数が「50」以上である場合は、「50」を示す「0x32h」のデータが遊技機10に送信される。これに対し、貸出ユニット200側に記憶されている貸出可能遊技媒体数が「50」未満である場合は、貸出ユニット200側に記憶されている現在の貸出可能遊技媒体数に応じたデータが送信される。たとえば、貸出可能遊技媒体数が「20」の場合は「20」を示す「0x14h」のデータが送信される。
貸出受領結果応答のデータ部である「貸出遊技媒体数受領結果」は、貸出ユニット200から遊技機10に送信される貸出遊技媒体数のデータを受信したことに基づいて、遊技機10から貸出ユニット200に送信されるデータである。貸出ユニット200から受信したデータが正常であるときは「0x00h」となり、異常であるときは「0x01h」となる。
異常となる場合としては、たとえば、
a)貸出ユニット200から通知された貸出通番が連続していない場合、
b)遊技媒体数制御基板100のRWM103の異常等により遊技機10側が貸出不可能な状態である場合、
c)遊技媒体数制御基板100が記憶している総遊技媒体数と貸出遊技媒体数とを加算した値が遊技媒体数制御基板100が記憶する遊技媒体数の記憶上限値を超える場合
等が挙げられる。
また、その他の要因で「0x00h」、「0x01h」以外の値となったときも貸出ユニット200は異常と判断する。
図32は、遊技機10と貸出ユニット200との間の基本通信シーケンスを示すタイムチャートである。
遊技機10は、遊技機10の起動が完了したときから、貸出ユニット200に対し、遊技機情報通知を「300」msごとに送信する。図32の例では、通番「n」の遊技機情報通知を送信した後、「300」ms経過後に、通番「n+1」の遊技機情報通知を送信している。
なお、遊技機情報通知の遊技機情報中、図30に示したように、遊技機性能情報は「180」秒ごとに送信し、遊技機設置情報は「60」秒ごとに送信し、ホールコン・不正監視情報は「300」msごとに送信するが、その点については、後述する。
また、貸出ユニット200は、計数通知を受信した後、「170」ms以内に、遊技機10に対して貸出通知を送信する。そして、遊技機10は、貸出通知を受信した後、「10」ms以内に貸出受領結果応答を貸出ユニット200に送信する。
遊技機10は、遊技機情報通知を送信してから「300」ms後に次の遊技機情報通知を送信するため、貸出受領結果応答を送信してから次の遊技機情報通知を送信するまでの間は、「20」ms以上となる。
遊技機10、及び貸出ユニット200の双方の電源がオフ(「電源断」と同義である。以下同じ。)の場合は、遊技機10と貸出ユニット200とのVL信号及びPSI信号はオフとなっている。
VL信号は、遊技機10が遊技可能(遊技媒体をベット可能)となったときにオンになる信号であり、貸出ユニット200が起動するまでオフとなっている信号である。
また、PSI信号は、遊技機10と貸出ユニット200との接続信号であり、貸出ユニット200が起動するまでオフとなっている信号である。
この状況下において、遊技機10は、電文通知のプログラムに従って、最初の電文、すなわち遊技機情報通知を貸出ユニット200に送信し、さらに上述したように、遊技機情報通知の送信から「100」ms後に計数通知を送信する。しかし、遊技機情報通知及び計数通知の送信時には、貸出ユニット200の起動がまだ完了していないので、貸出ユニット200は、この遊技機情報通知及び計数通知を受信できない。図中、「?」印は、遊技機10が遊技機情報通知及び計数通知を送信したものの、貸出ユニット200がこれらの通知を受信できないことを示している。
さらに、貸出ユニット200が未だ起動しておらず、かつ計数通知を受信していないので、貸出ユニット200から遊技機10に対して貸出通知が送信されることもない。よって、遊技機10は、貸出受領結果応答を送信することもない。
さらに、遊技機10は、受信した貸出通知に基づいて貸出受領結果応答を貸出ユニット200に送信可能となる。図33の例では、遊技機10は、貸出通番「k」の貸出通知を受信したことに基づいて、貸出通番「k」の貸出受領結果応答を貸出ユニット200に送信した例を示している。
遊技機10の電源がオフの状態において、貸出ユニット200の電源のみがオンにされると、貸出ユニット200のみが起動を開始する。貸出ユニット200の起動中は、VL信号及びPSI信号はオフである。
そして、貸出ユニット200の起動が完了すると、貸出ユニット200のVL信号及びPSI信号がオンになる。
そして、遊技機10の起動が完了すると、遊技機10及び貸出ユニット200双方のVL信号及びPSI信号がオンになり、遊技機10のベットスイッチ40の操作及び計数スイッチ47の操作が有効になる。
貸出ユニット200は、計数通知を受信したときは、「170」ms以内に貸出通知を遊技機10に送信する。さらに、遊技機10は、貸出通知を受信すると、「10」ms以内に、貸出受領結果応答を貸出ユニット200に送信する。
以上のようにして、遊技機10の起動完了時にすでに貸出ユニット200の起動が完了している場合には、貸出ユニット200は、遊技機10から送信される最初の電文(通番「0」の遊技機情報通知)から受信することができる。
図35中、遊技機10の起動完了後、最初の遊技機情報通知を「A0」とし、それ以降の遊技機情報通知を、「A1」、「A2」、・・・と称する。
同様に、計数通知を「B0」、「B1」、「B2」、・・・と称し、貸出通知を「C0」、「C1」、「C2」、・・・と称し、貸出受領結果応答を「D0」、「D1」、「D2」、・・・と称する。
図32で示したように、遊技機10は、貸出ユニット200に対し、「300」msごとに、遊技機情報通知を送信する。
ここで、図30に示したように、
(1)遊技機性能情報:180秒ごと(第2優先)
(2)遊技機設置情報:60秒ごと(第1優先)
(3)ホールコン・不正監視情報:300msごと
に、いずれかの遊技機情報を含む遊技機情報通知を送信する。
図35において、遊技機10の起動後、「200」回目の遊技機情報通知(図中、「A199」)の送信は、最初の遊技機情報通知の送信時から「60」秒経過時となる(300ms×200=60000ms)。
したがって、「A199」の遊技機情報通知の送信タイミングでは、ホールコン・不正監視情報よりも優先して、遊技機設置情報を含む遊技機情報通知を送信する。そして、その送信から「300」ms後の「A200」の遊技機情報通知の送信タイミングでは、ホールコン・不正監視情報を含む遊技機情報通知を送信する。
図35において、「A599」の遊技機情報通知の送信タイミングは、最初の遊技機情報通知の送信時から、「60」秒経過時かつ「180」秒経過時である(300ms×600=180000ms)。なお、「180」秒経過時は、常に「60」秒経過時に相当する。
したがって、ホールコン・不正監視情報、遊技機設置情報、遊技機性能情報は、いずれも、送信する直前の最新の情報を送信する。
遊技機情報通知のうち、遊技機設置情報は、主制御チップID番号等であるため、時間の経過(遊技の進行)とともに変化する情報ではなく、固定的情報である。
一方、ホールコン・不正監視情報は、図31に示したように、遊技媒体数、投入数、付与数等を含む情報であるから、遊技の進行(時間経過)によって変化する情報である。
そこで、ホールコン・不正監視情報の送信時には、実際に送信する直前に、ホールコン・不正監視情報を取得し、送信用レジスタに記憶するようにしている。
ここで、遊技機設置情報の送信タイミングの時点でホールコン・不正監視情報を取得しておき、遊技機設置情報の送信タイミングから「300」ms経過後にホールコン・不正監視情報を送信すると、「300」ms前のホールコン・不正監視情報を送信することになってしまう。
そこで、ホールコン・不正監視情報の送信時には、実際に送信する直前に、ホールコン・不正監視情報を取得し、送信用レジスタに記憶するようにしている。
そして、遊技機設置情報と遊技機性能情報との送信周期が重なったときは、遊技機設置情報が遊技機性能情報よりも優先して送信されるため、遊技機情報通知の送信周期(「300」ms)が到来したときから、「300」ms経過後に、遊技機性能情報が送信される。
この場合、遊技機設置情報の送信タイミングの時点で遊技機性能情報を取得しておき、遊技機設置情報の送信タイミングから「300」ms経過後に遊技機性能情報を送信すると、「300」ms前の遊技機性能情報を送信することになってしまう。
そこで、遊技機性能情報の送信時には、実際に送信する直前に遊技機性能情報を取得し、送信用レジスタに記憶するようにしている。
換言すると、「300」msごとの遊技機情報通知の送信タイミングでは、今回の割込み処理で送信する遊技機情報通知の遊技機情報(ホールコン・不正監視情報、遊技機設置情報、又は遊技機性能情報のいずれか)のみを、送信用レジスタに記憶する。
遊技者が遊技を終了するとき等に、計数スイッチ47が操作されると、遊技機10側の遊技媒体を貸出ユニット200に送信する(戻す、返却する)処理を実行する。
なお、計数処理は、遊技機10側の遊技媒体データを貸出ユニット200に実際に伝送ないし転送処理を実行するわけではなく、遊技機10の遊技媒体数記憶手段103aに記憶された遊技媒体数の減算処理を実行し、かつ、貸出ユニット200の貸出可能遊技媒体数記憶手段206に記憶された遊技媒体数の加算処理を実行するものである。
図36の例では、計数スイッチ47の操作を受け付ける前の状況として、遊技媒体数制御基板100(遊技媒体数記憶手段103a)に記憶されている(総)遊技媒体数が「200」であり、貸出ユニット200に記憶されている貸出可能遊技媒体数は「20」であるものとする。
さらに、遊技機10は、計数通知を貸出ユニット200に更新する。このときの計数通知の計数通番は「m」であるものとする。また、このときの計数通知における計数遊技媒体数は「50」である。この例では、計数スイッチ47の操作が検知されると、1回の計数通知の送信で計数遊技媒体数「50」を送信するものとする。
続いて、貸出ユニット200は、貸出通知を遊技機10に送信する。この貸出通知の貸出通番は「k」であるものとする。また、この貸出通知における貸出遊技媒体数は「0」である。ここで、貸出遊技媒体数「0」を送信するのは、貸出スイッチ202が操作されていないためである。
そして、貸出通知が示す情報と前回の貸出通知が示す情報との整合性をチェックした結果、正常であると判断したときは、遊技機10は、貸出通番を「k」、貸出点受領結果を「正常」とする貸出受領結果応答を貸出ユニット200に送信する。
図36は、通番「n」の遊技機情報通知が送信された後、「300」msを経過して、次の通番「n+1」の遊技機情報通知が送信される際にも、計数スイッチ47のオン状態が維持されている(計数スイッチ47が長押しされている)例である。したがって、計数通知として、計数通番「m+1」、計数遊技媒体数「50」、計数累積遊技媒体数「100」を送信する。これにより、貸出ユニット200側では、貸出可能遊技媒体数は「120」に更新される。
また、貸出ユニット200から遊技機10に対し、貸出通知として、貸出通番「k+1」、貸出遊技媒体数「0」を遊技機10に送信する。さらに、遊技機10は、当該貸出通知を受信すると、貸出ユニット200に対し、貸出受領結果応答として、貸出通番「k+1」、貸出点受領結果「正常」を送信する。
なお、計数スイッチ47は、遊技媒体数制御基板100と接続されているため、遊技媒体数制御基板100の割込み処理ごとに入力ポート101をチェックし、計数スイッチ47を示す入力ポート101にオンを示す情報が入力されていた場合は、計数スイッチ47の操作を受け付ける。その後、計数スイッチ47を示す入力ポート101にオフを示す情報が入力されていた場合は、計数スイッチ47の操作受付けを終了する。
この場合、遊技機10は、通番「n+2」の遊技機情報通知の送信時には、遊技媒体数「100」を送信する。
また、計数通知として、計数通番「m+2」、計数遊技媒体数「0」、計数累積遊技媒体数「100」を送信する。さらにまた、貸出ユニット200から遊技機10に対する貸出通知として、貸出通番「k+2」、貸出遊技媒体数「0」を遊技機10に送信する。さらに、遊技機10から貸出ユニット200に対する貸出受領結果応答として、貸出通番「k+2」、貸出点受領結果「正常」を送信する。
また、遊技機10の遊技媒体数記憶手段103aに遊技媒体が記憶されていない状況下では、計数スイッチ47が操作されても、計数遊技媒体数が「0」である計数通知が「300」msごとに送信される。
図37は、第2実施形態における計数処理を示すフローチャートである。
なお、図29では図示していないが、遊技媒体数制御基板100のRWM103には、以下の記憶領域を備える。
計数中フラグ(_FL_CAL_EXE )は、計数中であるか否かを示すデータを記憶する記憶領域である。
計数値記憶領域(_CT_CAL_VAL )は、計数通知時に送信する計数値(計数遊技媒体数)を記憶する記憶領域である。
計数累積値記憶領域(_CT_CAL_ALL )は、計数累積値(計数累積遊技媒体数)を記憶する記憶領域である。
計数通番記憶領域(_NB_CAL_NUM)は、計数通番を記憶する記憶領域である。
なお、遊技媒体数制御基板100を備えていない遊技機の場合には、主制御基板50のRWM53に上記各記憶領域を備えるようにしてもよい。
計数通知タイミングであると判断されたときはステップS702に進み、計数通知タイミングでないと判断されたときは本フローチャートによる処理を終了する。
なお、計数スイッチ47が操作された場合には、遊技媒体数制御基板100の入力ポート101に計数スイッチ信号がオンとなって入力される。そして、入力ポート101に計数スイッチ信号がオンとなって入力された場合には、計数スイッチ信号がオンとなって入力された(計数スイッチ47が操作された)ことを示す情報(操作された場合には「1」、操作されていない場合には「0」)を遊技媒体数制御基板100のRWM103内の所定記憶領域に記憶する。なお、入力ポート101に入力された信号をRWM103に記憶するのは、1msごとのタイマ割込み処理で実行している。
ステップS703において計数スイッチ47が操作されたと判断したときはステップS704に進み、計数スイッチ47が操作されていないと判断したときはステップS712に進む。
このように、最初に計数スイッチ47が操作されたか否かを判断し、計数スイッチ47が操作されていない場合は計数処理を開始せず、計数スイッチ47が操作されている場合には、遊技媒体数記憶手段103aに記憶された(総)遊技媒体数が「0」であるか否かを判断する。そして、遊技媒体数記憶手段103aに記憶された(総)遊技媒体数が「0」である場合は計数処理を開始せず、(総)遊技媒体数が「0」でない場合は計数処理を開始するように構成されている。
これにより、計数スイッチ47が操作されている状況と遊技媒体数記憶手段103aに記憶された(総)遊技媒体数が「0」である状況とを比較したときに、計数スイッチ47が操作されている状況の方が相対的に少ないため、計数スイッチ47が操作されているか否かを先に判断することで、計数処理での処理負担を軽減することが可能となる。
次にステップS706に進み、遊技媒体数記憶手段103aに記憶された遊技媒体数と計数値「50」とを比較する演算処理(減算する演算処理)を実行する。この演算処理の結果、遊技媒体数記憶手段103aに記憶された遊技媒体数が計数値以上であると判断したときはステップS708に進み、遊技媒体数記憶手段103aに記憶された遊技媒体数が計数値未満であると判断したときはステップS707に進む。
ステップS707では、遊技媒体数記憶手段103aに記憶された遊技媒体数を取得する。
次のステップS708では、計数値を保存する。この処理は、ステップS706で「Yes」と判断された(遊技媒体数が計数値以上であると判断された)ときは、ステップS705でセットした計数値「50」を計数値記憶領域に保存する。一方、ステップS706で「No」と判断されたとき(遊技媒体数が計数値未満であるとき)は、ステップS707で取得した、遊技媒体数記憶手段103aに記憶された遊技媒体数を計数値として計数値記憶領域に保存する。
次にステップS710に進み、計数累積値記憶領域に、計数値記憶領域に記憶されている計数値を加算して、計数累積値記憶領域に記憶された値を更新する。
次にステップS711に進み、計数を行うことが決まっているので、計数中フラグをセット(「FFh」を記憶)する。
その後、ステップS713に進み、計数値記憶領域に記憶されている計数値をクリアする。なお、計数累積値記憶領域に記憶されている値は、計数通知を出力する(した)タイミングではクリアしない。
しかし、遊技媒体をベット可能な状況下で計数スイッチ47が操作された場合には、計数スイッチ47の操作に基づいた演出を実行するが、設定変更モード中や設定確認モード中に計数スイッチ47が操作された場合には、計数スイッチ47の操作に基づく演出を実行しないようにしてもよい。このように構成にするのは、設定変更モード中や設定確認モード中に計数スイッチ47が操作されるような場合には、ホール店員が計数している可能性が高いため(遊技者ではない可能性が高いため)である。
しかし、遊技媒体をベット可能な状況下で計数スイッチ47が操作された場合には、計数スイッチ47の操作に基づいた演出を実行するが、エラー中に計数スイッチ47が操作された場合には、計数スイッチ47の操作に基づく演出を実行しないようにしてもよい。このように構成にするのは、エラー中に計数スイッチ47が操作されるような場合には、不正行為が行われているおそれがあるためである。
なお、エラーには、復帰不可能エラー(たとえば、RWM異常エラーや乱数更新エラーなどの設定値の再設定(電源のオン/オフを含む)を必要とするエラー。)と復帰可能エラー(たとえば、フロントドアのドアオープンエラーなど)とが挙げられるが、エラーの種類に応じて計数処理が不可能な状況と可能な状況とを設けてもよい。たとえば、復帰不可能エラーの発生中は計数処理を不可能とし、復帰可能エラーの発生中は計数処理を可能とすることが挙げられる。
しかし、遊技媒体をベット可能な状況下で計数スイッチ47が操作された場合には、計数スイッチ47の操作に基づいた演出を実行するが、遊技中に計数スイッチ47が操作された場合には、計数スイッチ47の操作に基づく演出を実行しないようにしてもよい。このように構成にするのは、遊技中に計数スイッチ47が操作されるような場合には、不正行為が行われているおそれがあるためである。
図38の例では、貸出スイッチ202のオンを検知する前(貸出スイッチ202の操作を受け付ける前)の状況として、遊技媒体数制御基板100の遊技媒体数記憶手段103aには遊技媒体数「10」が記憶され、貸出ユニット200の貸出可能遊技媒体数記憶手段206には貸出可能遊技媒体数「120」が記憶されている状況下であるものとする。なお、遊技媒体数制御基板100の遊技媒体数記憶手段103aに記憶された遊技媒体数が「50」未満であるため、計数スイッチ47が操作されると「10」が計数される状況でもある。
次に、計数通知として計数通番「m」、計数遊技媒体数「0」を送信する。この計数通知を受信した後、貸出通知として貸出通番「k」、貸出遊技媒体数「50」を送信する。貸出ユニット200は、貸出遊技媒体数「50」を送信した後は、貸出可能遊技媒体数を「120-50=70」に更新する。なお、貸出ユニット200が貸出可能遊技媒体数を更新するタイミングは、貸出受領結果応答を受信したタイミングであってもよい。
次に、遊技機10は、貸出通知を受信してから貸出受領結果応答を送信するまでの間に遊技媒体数を「10+50=60」に更新する。
遊技機10が次に貸出ユニット200に対して遊技機情報通知を送信するタイミングでは、遊技機情報通知として通番「n+1」、遊技媒体数「60」を貸出ユニット200に送信する。さらに、計数通知として、計数通番「m+1」、計数遊技媒体数「0」、計数累積遊技媒体数「0」を送信する。
一方、貸出ユニット200から遊技機10に対し、貸出通番「k+1」の貸出通知を送信するタイミングで、貸出スイッチ202のオフが検知されているときは、貸出遊技媒体数「0」の貸出通知を遊技機10に送信する(図中、「*2」)。この場合は、貸出可能遊技媒体数は「70」のままである。また、遊技機10の遊技媒体数も「60」のままである。
さらにまた、貸出ユニット200が貸出スイッチ202の操作受付けフラグを記憶する場合に、貸出スイッチ202の操作受付けに関するフラグが記憶されているときに再度貸出スイッチ202が操作されたときは2回操作されたフラグに書き換えてもよいし、2回目以降の操作を無効にしてもよい。
具体的には、貸出通知情報記憶領域に貸出通番として「k」を記憶しており、貸出ユニット200から送信された貸出通知の貸出通番が「k+1」である場合に、記憶している「k」をインクリメントして「k+1」を生成し、受信した貸出通番「k+1」と比較する。この場合、生成した貸出通番と受信した貸出通番とが一致しているので、受信した貸出通番「k+1」を貸出通知情報記憶領域に記憶する。
また、貸出通番の上限は「255」であるため、貸出通番が「255」である状況でインクリメントすると、貸出通番は「0」となる。ただし、貸出通番「0」は貸出ユニット200の起動直後にのみ遊技機10に送信され得る貸出通番であるため、再度インクリメントして貸出通番を「1」とする。換言すれば、貸出通番が「255」の状況下で貸出通番を更新する際は、インクリメントを2回行うことにより、次の貸出通番を「1」にする。
また、貸出ユニット200から受信した貸出通番から遊技機10が記憶している貸出通番を減算し、結果が「1」となるか否かで判断してもよい。
図39は、遊技機情報通知タイマ及び遊技機情報通知要求フラグを示す図である。
遊技機情報通知タイマは、遊技機情報通知タイマA(_TM_INF_CTL_A )、遊技機情報通知タイマB(_TM_INF_CTL_B )、及び遊技機情報通知タイマC(_TM_INF_CTL_C )を備える。
遊技機情報通知タイマAは、ホールコン・不正監視情報を「300」msごとに送信するタイミングを判断するためのタイマである。
遊技機情報通知タイマBは、遊技機設置情報を「60」秒ごとに送信するタイミングを判断するためのタイマである。
遊技機情報通知タイマCは、遊技機性能情報を「180」秒ごとに送信するタイミングを判断するためのタイマである。
遊技機情報通知タイマAの記憶領域は「2」バイトからなり、遊技機情報通知タイマB及びCは「1」バイトからなる。
遊技機情報通知タイマA~Cの各記憶領域は、電源投入時に初期化(クリア、「0」が記憶)される。
なお、上述したように、役比モニタ113の点滅切替え周期は「300」msであり、点滅切替え時間を管理するタイマ領域として、RWM103に「点滅切替え時間(_TM_CHG_FLS )」を備え、さらに、点灯であるか消灯であるかを判断するためのフラグとして、RWM103に「点滅切替えフラグ(_FL_CHG_FLS )」を備えている。
一方、遊技機情報通知タイマAは、点滅切替え周期と同じ「300」msを計測するものの、点滅切替え時間とは別個のタイマ領域となっている。
さらに、遊技機情報通知タイマAの記憶領域に記憶された値、遊技機情報通知タイマBの記憶領域に記憶された値、遊技機情報通知タイマCの記憶領域に記憶された値を、それぞれ単に遊技機情報通知タイマAの値、遊技機情報通知タイマBの値、遊技機情報通知タイマCの値と略称する。
遊技機情報通知タイマAは、デクリメントタイマであり、上述のように電源投入時にはその値として「0」が記憶される。遊技機情報通知タイマAの値は、「0」~「300(D)」の範囲を循環する。
したがって、遊技機情報通知タイマAの値は、電源投入時は「0」にされ、最初のタイマ割込みが実行されると、「300」に更新され、さらに次のタイマ割込みが実行されると「299」に更新される。
さらに、電源投入時のように更新前の値が「0」である状況下の割込み処理において「1」減算されると「300」に更新され、次の割込み処理で「1」減算されると「299」に更新される。
これに対し、更新前の値が「1」である割込み処理において、「1」減算されると減算結果は「0」になるが、この場合には当該割込み処理ですぐに「300」が記憶される。
したがって、
「0」→「300」→「299」→・・・→「2」→「1」→(「0」→)「300」→「299」→・・・
のように更新される。
したがって、
「0」→「1」→「2」→・・・→「198」→「199」→「0」→「1」→・・・
のように更新される。
遊技機情報通知タイマBの値は、遊技機情報通知タイマAの値が「300」となったときに「+1」される。ただし、電源投入時に遊技機情報通知タイマAの値が初期化されることにより「0」が記憶され、最初のタイマ割込み処理で遊技機情報通知タイマAの値が「300」になったときは、遊技機情報通知タイマBの値は更新されずに「0」のままである。この制御については後述する。
したがって、
「0」→「1」→「2」→「0」→「1」→・・・
のように更新される。
遊技機情報通知タイマCの値は、遊技機情報通知タイマBの値が「0」になったときに「+1」される。ただし、電源投入時に遊技機情報通知タイマBの値が初期化されることにより「0」が記憶されたときは、遊技機情報通知タイマCの値についても初期化された「0」のままであり、この時点では「1」に更新されることはない。
遊技機情報通知要求フラグは、電源が投入されたときの初期化処理によって、初期値(全ビット「0」)が記憶される。
遊技機情報通知要求フラグとして、遊技機性能情報通知要求フラグと、遊技機設置情報通知要求フラグとを備える。
また、遊技機設置情報通知要求フラグとは、遊技機情報通知のうち遊技機設置情報を送信する周期(タイミング)が到来したときに「0」から「1」となるフラグであり、遊技機情報通知要求フラグの「D1」ビットを使用する。「D0」ビットが「1」であるときは遊技機設置情報を送信する周期が到来していることを示し、「0」であるときは遊技機設置情報を送信する周期が到来していないことを示す。また、遊技機設置情報通知が送信されたときは、「1」から「0」に更新される。
なお、遊技機性能情報通知要求フラグを1バイトの記憶領域とし、遊技機設置情報通知要求フラグを他の1バイトの記憶領域とすることも可能である。ただし、本実施形態のように遊技機情報通知要求フラグを1バイトの記憶領域として設け、この1バイト記憶領域のビットに遊技機性能情報通知要求フラグと遊技機設置情報通知要求フラグとを割り当てれば、記憶容量を削減することができる。
図40中、遊技機情報通知タイマAの値に基づくホールコン・不正監視情報を含む遊技機情報通知を「通知A」と称し、遊技機情報通知タイマBの値に基づく遊技機設置情報を含む遊技機情報通知を「通知B」と称し、遊技機情報通知タイマCの値に基づく遊技機性能情報を含む遊技機情報通知を「通知C」と称する。
まず、遊技機10の電源が投入されると、遊技媒体数制御基板100のRWM103の初期化処理が実行され、これによって遊技機情報通知タイマA、B、及びCの各値がクリアされる(「0」が記憶される)。
キャリーフラグは、演算処理の結果、「0」未満となったとき、換言すれば桁下がりが生じたときに「1」になるフラグである。
また、ゼロフラグは、演算処理の結果、「0」となったときに「1」になるフラグである。
例1)遊技機情報通知タイマAの値が「10」であるときに「1」減算されると、遊技機情報通知タイマAの値は「9」に更新される。このとき、ゼロフラグ及びキャリーフラグは変化しない(「0」のままである)。
例2)遊技機情報通知タイマAの値が「1」であるときに「1」減算されると、遊技機情報通知タイマAの値は「0」に更新される。これにより、ゼロフラグは「1」となる。一方、キャリーフラグは変化しない(「0」のままである)。ここで、本実施形態の演算処理では、遊技機情報通知タイマAの値が「1」から「0」に更新され、ゼロフラグが「1」となったときは、その直後に(「1」を減算した結果、「0」に更新された割込み処理中に)「300」に更新される。
なお、減算前の遊技機情報通知タイマAの値が「0」であるのは、電源投入後に初期化されたときのみである。したがって、電源投入後の最初の割込み処理において遊技機情報通知タイマAの値が「0」から「300」に更新されたときにキャリーフラグが「1」になる。
なお、上述したように、電源投入後の最初の割込み処理でのみ、遊技機情報通知タイマAの値の更新によりキャリーフラグが「1」となるが、その後に、遊技機情報通知タイマAの値の更新によりキャリーフラグが「1」になることはない。
第1に、遊技機情報通知タイマAの値が「1」から「0」に更新され(さらに「300」に更新され)、ゼロフラグ(Z)が「1」になる(図中、「*3」)。したがって、通知Aの送信タイミングが到来したと判断する。
第2に、遊技機情報通知タイマBが「199」から「0」に更新される。遊技機情報通知タイマBの値が更新された結果、「0」となったときは、通知Bの送信タイミングが到来したと判断し、遊技機設置情報通知要求フラグ(D1ビット)は「1」に更新される。
そして、そのタイミングから「300」ms経過後に、遊技機情報通知タイマAの値が再度「1」から「0」に更新され(さらに「300」に更新され)、ゼロフラグ(Z)が「1」になる。ゼロフラグ(Z)が「1」になったことに基づいて、通知Aの送信タイミングが到来したと判断し、通知Aが送信される(図中、「*5」)。
ここで、図中「*5」のタイミングで通知Aが送信されるときは、その送信直前に取得されたホールコン・不正監視情報が所定の送信用レジスタに記憶され、そのホールコン・不正監視情報を含む遊技機情報通知が送信される。
換言すれば、図中「*3」の送信タイミングでホールコン・不正監視情報が取得され、所定の送信用レジスタに記憶された後、図中「*5」のタイミングで当該ホールコン・不正監視情報が送信されるのではない。
第1に、遊技機情報通知タイマAの値が「1」から「0」に更新され(さらに「300」に更新され)、ゼロフラグ(Z)が「1」になる(図中「*6」)。ゼロフラグ(Z)が「1」になったことに基づいて、通知Aの送信タイミングが到来したと判断する。
第3に、遊技機情報通知タイマCが「2」から「0」に更新される。遊技機情報通知タイマCの値が更新された結果、「0」となったときは、通知Cの送信タイミングが到来したと判断し、遊技機性能情報通知要求フラグ(D0ビット)は「1」に更新される(図中「*8」)。
また、このタイミングでは、遊技機性能情報通知要求フラグ(D0ビット)は「1」となっている。よって、通知Cの送信タイミングが到来している。そして、通知Aと通知Cの送信タイミングが重なったときは、通知Cの送信が優先されるので、通知Cが送信される(図中「*10」)。換言すれば、当該タイミングでは通知Aは送信されない。通知Cが送信されると、遊技機性能情報通知要求フラグ(D0ビット)は「0」に更新される。
したがって、上述した役比モニタ113において、点滅切替え時間を更新した結果、キャリーフラグが「0」になったときに点灯と消灯とを切り替える制御とは相違する。
ここで、「遊技機情報管理」とは、遊技機10から遊技機情報通知を貸出ユニット200に送信するための制御処理である。図41の処理は、遊技媒体数制御基板100によって実行されるタイマ割込み処理内の1つのサブルーチンである。換言すると、タイマ割込み処理が実行されるごとに(「1」msの周期で)、遊技機情報管理が実行される。
まず、ステップS721では、遊技機情報通知タイマAから「1」を減算する(遊技機情報通知タイマAを更新する)。次にステップS722に進み、更新前の遊技機情報通知タイマAの値が「0」であるか否かを判断する。ステップS721の減算処理においてキャリーフラグが「1」となったときは、更新前の遊技機情報通知タイマAの値が「0」であると判断する。なお、更新前の遊技機情報通知タイマAの値が「0」であったためにキャリーフラグが「1」となるのは、電源投入時に遊技機情報通知タイマAの値が「0」にされた(初期化された)後に「1」減算された場合に相当する。更新前の遊技機情報通知タイマAが「0」であると判断したときはステップS733に進み、「0」でないと判断したときはステップS723に進む。
更新前の遊技機情報通知タイマAの値が「1」であるときは、「300」ms周期のタイミング、すなわちホールコン・不正監視情報を含む遊技機情報通知の送信タイミングであることを意味する。
なお、たとえば遊技媒体数制御基板100のタイマ割込みの周期が「2」msである場合には、遊技機情報通知タイマAに「150(D)」を記憶すればよい。
また、たとえば遊技媒体数制御基板100のタイマ割り込みの周期を「2.235」msとした場合は、遊技機情報通知タイマAに「135」~「138」の範囲のいずれかの値を記憶すればよい。このように、「遊技機情報通知の送信周期/タイマ割込み周期」が整数にならない場合(割り切れない場合)は、遊技機情報通知の送信タイミングが「300」ms~「310」msの間となる任意の値を初期値に設定することができる。
このように、電源投入時の初期化処理により、遊技機情報通知タイマAの値が「0」にされるが、それ以外は、ステップS721の処理後からステップS724の処理前の期間を除き、遊技機情報通知タイマAの値が「0」になることはない(異常時を除く)。
例1)遊技機情報通知タイマBに「0」が記憶されている場合において、「1」を加算する特殊加算命令を用いた演算処理を行うと、「1」となる。
例2)遊技機情報通知タイマBに「100」が記憶されている場合において、「1」を加算する特殊加算命令を用いた演算処理を行うと、遊技機情報通知タイマBは「101」となる。
例3)遊技機情報通知タイマBに「199」が記憶されている場合において、「1」を加算する特殊加算命令を用いた演算処理を行うと、遊技機情報通知タイマBの値は「200」にならずに「0」になる。たとえば、上述した図40中、「*4」のタイミングにおける演算に相当する。
また、遊技機情報通知タイマBに「199」が記憶されているときに「1」を加算する状況とは、遊技機情報通知タイマAが「0」となった契機が「200」回到来した状況に相当する。換言すれば、割込み処理が「300」回実行されるごとに遊技機情報通知タイマBが「1」ずつ加算されるため、「300回×200回=60000回」の割込み処理が実行された(「60」秒が経過した)状況である。
また、遊技機情報通知タイマBに「1」加算する演算命令としては、ICPLD命令が挙げられる。
なお、上記例では遊技機情報通知タイマBに「1」加算する命令を実行しているが、「1」減算する命令としてもよい。減算命令の場合は、電源投入時に遊技機情報通知タイマBに初期値として「200」を記憶し、その後「0」となったときに「200」を記憶してもよい。あるいは、電源投入時に遊技機情報通知タイマBに初期値として「199」を記憶し、その後、キャリーフラグが「1」となったときに「200」を記憶してもよい。
遊技機情報通知タイマBの時間が経過したと判断したときはステップS727に進み、経過していないと判断したときはステップS731に進む。
ステップS727では、遊技機情報通知タイマCに「1」加算する処理を実行する。
ここでの加算処理は、特殊加算命令が用いられる。具体的には、遊技機情報通知タイマBに「2」未満の値が記憶されているときは遊技機情報通知タイマCの値に「1」を加算し、遊技機情報通知タイマCの値が「2」未満でないとき(すなわち、正常動作状況下において「3」が記憶されているとき)は、遊技機情報通知タイマCに「0」を記憶する演算処理である。
例1)遊技機情報通知タイマCに「0」が記憶されている場合において、「1」を加算する特殊加算命令を用いた演算処理を行うと、「1」となる。
例2)遊技機情報通知タイマCに「1」が記憶されている場合において、「1」を加算する特殊加算命令を用いた演算処理を行うと、遊技機情報通知タイマCは「2」となる。
例3)遊技機情報通知タイマCに「2」が記憶されている場合において、「1」を加算する特殊加算命令を用いた演算処理を行うと、遊技機情報通知タイマBの値は「3」にならずに「0」になる。たとえば、上述した図40中、「*8」のタイミングにおける演算に相当する。
また、遊技機情報通知タイマCに「2」が記憶されているときに「1」を加算する状況とは、遊技機情報通知タイマBが「0」となった契機が「3」回到来した状況に相当する。換言すれば、割込み処理が「300」回実行されるごとに遊技機情報通知タイマBが「1」加算され、遊技機情報通知タイマBが「200」回更新されるごとに遊技機情報通知タイマCに「1」が加算されることから、「300回×200回×3回=180000回」の割込み処理が実行された(「180」秒が経過した)状況である。
また、遊技機情報通知タイマCに「1」加算する演算命令としては、上述したICPLD命令が挙げられる。
なお、上記例では遊技機情報通知タイマCに「1」加算する命令を実行しているが、減算命令としてもよい。減算命令の場合は、電源投入時に遊技機情報通知タイマCの値として初期値「3」を記憶し、その後「0」となったときに「3」を記憶してもよい。あるいは、電源投入時に遊技機情報通知タイマCの値として初期値「2」を記憶し、その後、キャリーフラグが「1」となったときに「3」を記憶してもよい。
遊技機情報通知タイマCの時間が経過したと判断したときはステップS729に進み、経過していないと判断したときはステップS730に進む。
すなわち、遊技機情報通知タイマCの時間が経過したと判断されたときは、「180」秒の周期が到来したときであり、「180」秒の周期には「60」秒の周期が含まれるため、遊技機性能情報を通知するタイミングが到来し、かつ遊技機設置情報を通知するタイミングが到来したときである。したがって、遊技機情報通知要求フラグの「D0」及び「D1」ビットの双方を「1」にする。
遊技機設置情報の通知要求があると判断したときはステップS734に進み、遊技機設置情報の通知要求がないと判断したときはステップS732に進む。
ステップS732では、遊技機性能情報の通知要求があるか否かを判断する。ここでは、遊技機性能情報通知要求フラグがセットされているか否かを判断する。したがって、遊技機情報通知要求フラグの「D0」ビットが「1」であれば遊技機性能情報の通知要求があると判断し、遊技機情報通知要求フラグの「D0」ビットが「1」でなければ遊技機性能情報の通知要求がないと判断する。
遊技機性能情報の通知要求があると判断したときはステップS736に進み、遊技機性能情報の通知要求がないと判断したときはステップS733に進む。
なお、ステップS722において、遊技機情報通知タイマAの更新前の値が「0」であると判断したときは、遊技機情報通知タイマBや遊技機情報通知タイマCの時間が経過したか否かの判断(ステップS726やステップS728の処理)を実行することなく、ホールコン・不正監視情報の送信処理を実行する。その理由は、遊技機情報通知タイマAの更新前の値が「0」であるのは、電源投入直後の最初の割込み処理での減算処理時に限られるからである。換言すれば、電源投入直後の最初の割込み処理での減算処理時に、「60」秒や「180」秒が経過していることはあり得ないからである。このような場合には、遊技機情報通知タイマBや遊技機情報通知タイマCの時間が経過したか否かの判断を実行することなくホールコン・不正監視情報の送信処理を実行することで、処理の迅速化(送信処理の高速化)を図ることができる。
たとえば、ホールコン・不正監視情報に含まれる(総)遊技媒体数は、送信時点における遊技媒体数記憶手段103a(_NB_MEDAL )に記憶されている情報を送信する。換言すれば、ホールコン・不正監視情報の送信タイミングである「300」msごとの送信タイミングにおいて遊技機設置情報や遊技機性能情報の送信タイミングと重なった場合には、遊技機設置情報や遊技機性能情報の送信が優先されるため、当該タイミングではホールコン・不正監視情報を送信せず、次の「300」ms経過後(遊技機設置情報の送信タイミングと重なった場合)又は「600」ms経過後(遊技機設置情報及び遊技機性能情報の送信タイミングと重なった場合)にホールコン・不正監視情報を送信する。この「「300」ms経過後又は「600」ms経過後に送信するホールコン・不正監視情報」については、遊技機設置情報の送信タイミングと重なった時点でのホールコン・不正監視情報ではなく、「300」ms経過後又は「600」ms経過後にホールコン・不正監視情報を送信するタイミングで取得したホールコン・不正監視情報である。したがって、ホールコン・不正監視情報の送信タイミングが遅れても、最新の情報を送信することが可能となる。
一方、ステップS732からステップS736に進むと、遊技機性能情報の送信処理を実行する。このときに送信する内容は、このタイミングで取得した遊技媒体数制御基板100に記憶されている情報である。次にステップS735に進み、遊技機性能情報通知要求フラグをクリアする。具体的には、遊技機情報通知要求フラグの「D0」ビットを「0」にする。また、遊技機性能情報の送信処理が終了した後には、通番を更新(「1」加算)する。そして本フローチャートによる処理を終了する。
遊技機情報通知タイマA~Cの各記憶領域は、上述したように、遊技媒体数制御基板100のRWM103に設けられている。そして、電源投入時の初期化処理により、これらの記憶領域はクリア(「0」が記憶)される。
一方、遊技媒体数制御基板100のRWM103には、役比モニタ113の点灯制御に必要なデータ記憶領域として、上記で説明したデータ記憶領域以外に、たとえば以下のようなデータ記憶領域が設けられている。
「400」遊技回数カウンタ(「400」遊技をカウントするためのカウンタ)
総付与数リングバッファ「0」~「14」(それぞれ、「400」遊技間の総付与数をカウントするバッファ)
連続役物付与数リングバッファ「0」~「14」(それぞれ、「400」遊技間の連続役物付与数をカウントするバッファ)
役物付与数リングバッファ「0」~「14」(それぞれ、「400」遊技間の役物付与数をカウントするバッファ)
総遊技回数カウンタ(総遊技回数のカウント値の記憶領域)
有利区間遊技回数カウンタ(有利区間の遊技回数の記憶領域)
総付与数カウンタ(総付与数のカウント値の記憶領域)
指示付与数カウンタ(指示機能作動時における付与数の記憶領域)
連続役物付与数カウンタ(連続役物作動時における付与数の記憶領域)
役物付与数カウンタ(役物作動時における付与数の記憶領域)
指示込役物比率データ(算出した指示込役物比率の記憶領域)
有利区間比率データ(算出した有利区間比率の記憶領域)
連続役物比率データ(算出した連続役物比率の記憶領域)
役物比率データ(算出した役物比率の記憶領域)
役物等状態比率データ(算出した役物等状態比率の記憶領域)
点滅切替え時間(点滅切替え時間に係るカウント値の記憶領域)(上述)
点滅切替えフラグ(点灯又は消灯を判断するフラグの記憶領域)(上述)
なお、上記のデータ記憶領域は、役比モニタ113の点灯制御に必要なデータ記憶領域の一部であり、上記に限定されるものではない。
ただし、RWM異常エラーのような復帰不可能エラーが発生した場合には、上記の記憶領域をすべて初期化する。復帰後に不正なデータを残さないようにするためである。
一方、点滅切替え時間及び点滅切替えフラグは、電源のオン/オフや設定変更処理により初期化(クリア)する。これにより、電源投入時は、毎回、テストパターンの表示を「4800」ms実行することができる。また、電源投入後において、点滅表示を行う場合でも、最初の点灯「3」秒間から開始することができる。
入力ポートレベルデータ(各スイッチが操作されている状態であるか否かを判断するデータの記憶領域)
入力ポート立ち上がりデータ(各スイッチが操作されたか否かを判断するデータの記憶領域)
区間種別番号(有利区間を管理するための番号の記憶領域)
MYカウンタ(差数の記憶領域)
入賞及びリプレイ条件装置番号(当該遊技で作動する賞及びリプレイ条件装置の番号の記憶領域)
役物条件装置番号(当該遊技で作動する役物条件装置の番号の記憶領域)
最小遊技期間(1遊技の最小遊技期間(「4.1」秒)を監視するためのタイマ値の記憶領域)
遊技待機表示時間(遊技待機に移行するまでの時間を計測するタイマ値の記憶領域)
なお、上記のデータ記憶領域は、RWM53のデータ記憶領域の一部であり、上記に限定されるものではない。
ブロッカ信号(ブロッカのオン/オフの記憶領域)
ホッパーモータ駆動信号(ホッパーモータのオン/オフの記憶領域)
払出しセンサチェック時間(メダル詰まりを検出するタイマ値の記憶領域)
ブロッカ監視時間(ブロッカのオン/オフの待機時間を示すタイマ値の記憶領域)
メダル払出し制御時間(メダル払出し装置の制御時間を示すタイマ値の記憶領域)
このため、最小遊技時間と、遊技機情報通知タイマA~Cとは、いずれも時間を計測するためのタイマ値を記憶する点で共通するが、電源のオン/オフにより初期化されるか否かは、相違する。
(1)第2実施形態において、遊技媒体数制御基板100と接続端子板130を介して遊技機10と貸出ユニット200とを通信可能としているがこれに限らず、主制御基板50と接続端子板130とを接続し、主制御基板50と接続端子板130を介して遊技機10と貸出ユニット200とを通信可能としてもよい。上記のように構成し、遊技媒体数制御基板100を搭載しなければ、生産コストを下げることができる。
なお、この場合には、遊技媒体数制御基板100が制御する処理はすべて主制御基板50が行うこととなる。また、主制御基板50の機能と遊技媒体数制御基板100の機能とを同一の基板で実現する場合は、主制御基板50の機能を制御するCPU55と遊技媒体数制御基板100の機能を制御するCPU105とを別個に備えることで、上述した実施形態と同様な処理を実現することが可能となる。
ここで、「使用領域内」とは、RWMの記憶領域中、遊技の進行に関係するデータを記憶するための領域を指す。
一方、「使用領域外」とは、RWMの記憶領域中、遊技の進行に関係しないデータを記憶するための領域を指す。
したがって、役比モニタ113の表示制御に関するデータは、遊技の進行に関係しないデータであることから、RWMの使用領域外に記憶されるのが一般的である。
たとえば、主制御基板50で役比モニタの表示制御を実行する場合には、RWM53の使用領域外に、役比モニタの表示制御に関するデータが記憶される。これにより、RWM53の使用領域内の記憶容量を圧迫しようにすることができる。
(4)上記実施形態では、遊技機10として、スロットマシン(回胴式遊技機)の例をしめしたが、これに限らず、カジノマシン等の様々な遊技用の機種に適用することが可能である。
第3実施形態は、メインCPU55の構造、及び命令に関するものである。第3実施形態では、第1実施形態と同様に、メイン制御基板50上に、RWM53、ROM54、メインCPU55を備える。
図42は、第3実施形態におけるメインCPU55の内蔵メモリを示す図である。図中、(A)は内蔵メモリの概要を示す図であり、(B)は内蔵メモリ内の記憶領域のうち内蔵レジスタ領域を示す図である。図42では、内蔵メモリのうち、本実施形態に係る部分のみを示しており、内蔵メモリのすべてを示しているわけではない。
ROM54の領域中、第1プログラム領域及び第1データ領域は、使用領域内(遊技の進行に関係するプログラム及びデータを記憶するための領域)に相当し、第2プログラム領域及び第2データ領域は、使用領域外(遊技の進行に関係しないプログラム及びデータを記憶するための領域。たとえば、役比モニタの表示制御に関するプログラム及びデータや、試験信号の出力制御に関するプログラム及びデータを記憶するための領域。)に相当する。
なお、「プログラム領域」は「制御領域」とも称される。
さらに、RWM53中、第1作業領域及び第1スタック領域は、第1プログラム領域に記憶された第1プログラム(遊技の進行に関係するプログラム)の実行中に使用される(更新される、参照される)記憶領域である。同様に、第2作業領域及び第2スタック領域は、第2プログラム領域に記憶された第2プログラム(遊技の進行に関係しないプログラム。たとえば、役比モニタの表示に関するプログラム。)の実行中に使用される(更新される、参照される)記憶領域である。
また、第1プログラム領域に記憶された第1プログラムでは、第2作業領域及び第2スタック領域のデータを更新できないが、第2作業領域及び第2スタック領域のデータを参照することは可能である。
同様に、第2プログラム領域に記憶された第2プログラムでは、第1作業領域及び第1スタック領域のデータを更新できないが、第1作業領域及び第1スタック領域のデータを参照することは可能である。
以下の説明では、サブレジスタについては割愛し、「レジスタ」と称するときはメインレジスタを指すものとする。
Fレジスタは、フラグレジスタであり、その構造については後述する。
B、C、D、E、H、及びLレジスタは、汎用レジスタである。
IX及びIYレジスタは、インデックスレジスタであり、たとえばアドレスを指定するとき等に使用される。
SPレジスタは、スタックポインタレジスタである。SPレジスタは、データをスタック領域に退避させるときにどのアドレスに退避させるかを指定し、かつ、データをスタック領域から復帰させるときにどのアドレスのデータを復帰させるかを指定するレジスタである。
具体的には、レジスタバンク0のSPレジスタは、第1スタック領域(「F1D0h」~「F1FFh」の範囲)のアドレスを指定する。同様に、レジスタバンク1のSPレジスタは、第2スタック領域(「F3E8h」~「F3FFh」の範囲)のアドレスを指定する。
Iレジスタは、インタラプトレジストであり、割込み処理を実行するときに使用される。
Rレジスタは、リフレッシュレジスタであり、RWM53のリフレッシュに使用される。
PCレジスタは、プログラムカウンタであり、メモリ上の現在実行中のアドレスを保持するレジスタである。
また、ノンマルカブル割込み受付け時、又はCALLEX命令の実行時に、IFF1レジスタはクリア(割込み処理を禁止する値(「0」)に設定)され、マスカブル割込みは禁止され、IFF2レジスタはこのときの状態(ノンマルカブル割込み受付け時、又はCALLEX命令の実行時において割込み禁止状態であったか割込み許可状態であったか)を保持する。また、RET命令又はRETEX命令の実行により、IFF2レジスタ値がIFF1レジスタに移され、マスカブル割込みの受付け状態を以前の状態に復帰する。
(1)D0ビット:キャリーフラグ(C)
キャリーフラグは、演算の結果、桁上がり、又は桁下がりが発生すれば「1」になり、桁上がり、又は桁下がりが発生しなければ「0」になるフラグである。
(2)D1ビット:減算フラグ(N)
減算フラグは、サブトラクトフラグとも称する。直前に実行された命令が減算命令であれば「1」になり、減算命令でなければ「0」になるフラグである。
パリティ/オーバーフローフラグは、演算結果中、「1」のビットの数(パリティ)が偶数であれば「1」になり、奇数であれば「0」になるフラグである。また、演算の結果、オーバーフローが生じたときは「1」になり、オーバーフローが生じなければ「0」になるフラグである。
(4)D3ビット:レジスタバンクモニタ(RB)
レジスタバンクモニタは、レジスタバンク0の使用中は「0」になり、レジスタバンク1の使用中は「1」になるフラグである。したがって、FレジスタのD3ビットを参照することにより、使用中のレジスタバンクが0又は1のいずれであるかを判断可能となる。
ハーフキャリーフラグは、演算時、下位4ビットから上位4ビットに桁上がりがあったときは「1」になり、桁上がりがないときは「0」になるフラグである。
(6)D5ビット:第2ゼロフラグ(TZ)
第2ゼロフラグは、演算結果が「0」であるときは「1」になり、演算結果が「0」でなければ「0」になるフラグである。
(7)D6ビット:ゼロフラグ(Z)
ゼロフラグは、上記と同様に、演算結果が「0」であるときは「1」になり、演算結果が「0」でなければ「0」になるフラグである。
(8)D7ビット:サインフラグ(S)
サインフラグは、演算結果が正(プラス)であれば「0」になり、負(マイナス)であれば「1」になるフラグである。
上述したように、第1スタック領域にデータを記憶する(積む、退避する、スタックする等とも称する。)場合には、最終アドレスから昇順(逆順)に積んでいく。たとえば、第1スタック領域に、最初に2バイトのデータを積む場合には、「F1FFh」及び「F1FEh」にデータを記憶する。
第2スタック領域についても上記と同様であり、最終アドレス(F3FFh)から順に積んでいく。
次に、何らかのプログラム(CALL命令(「第1の呼出し命令」とも称する。)、CALLEX命令(「第2の呼出し命令」とも称する。)、PUSH命令(「レジスタの退避命令」とも称する。)等)が実行されて、第1スタック領域の「F1FFh」及び「F1FEh」の2バイト領域にデータを積んだ場合には、レジスタバンク0のSPレジスタ値は「F1FEh」に更新される。なお、図44の例では、「CALL mn」が実行された例を示している。
次に、第1スタック領域の「F1FFh」及び「F1FEh」に記憶されたデータを呼び出す場合には、何らかのプログラム(RET命令(「第1の戻り命令」とも称する。)、RETEX命令(「第2の戻り命令」とも称する。)、POP命令(「レジスタの復帰命令」とも称する。)等)を実行する。そして、当該命令により、「F1FEh」及び「F1FFh」の2バイト記憶領域に記憶されたデータが呼び出される。たとえば、RET命令(図44の例)によりCALL後の命令に戻る(スタック領域に保存されているプログラムカウンタのプログラムに戻る(戻り番地のプログラムに戻る))とともに、レジスタバンク0のSPレジスタ値は「F1FEh」から「F200h」に更新される。
レジスタバンク1のSPレジスタには、電源投入時に、「LD SP,F400h」の命令により、初期値「F400h」が記憶される。
次に、何らかのプログラム(CALL命令、PUSH命令等)が実行されて、第2スタック領域の「F3FFh」にデータを積んだ場合には、レジスタバンク1のSPレジスタ値は「F1FFh」に更新される。
次に、第2スタック領域の「F3FFh」に記憶されたデータを呼び出す場合には、何らかのプログラム(RET命令、RETEX命令、POP命令等)を実行する。そして、当該命令により、「F3FFh」の1バイト記憶領域に記憶されたデータが呼び出され、RET命令又はRETEX命令によりCALL後の命令に戻るとともに、レジスタバンク1のSPレジスタ値は「F3FFh」から「F400h」に更新される。
また、RETEX命令は、第1プログラム(レジスタバンク0のとき)には有さない命令であり、第2プログラム(レジスタバンク1のとき)には有する命令である。
図中(A)は、LDF命令を示す。
図45において、まず、命令文におけるオペコードとオペランドについて説明する。
図中(A)に示すように、命令が「LDF HL,mn」であるとき、前半の「LDF」をオペコード(関数)と称し、後半の「HL,mn」をオペランド(引数)と称する場合がある。LDF命令は、LD(ロード)命令の一態様(特殊形。なぜ特殊であるかについては後述する。)である。また、「HL」は、HLレジスタを示し、「mn」は、アドレスを示す。そして、「LDF HL,mn」の命令は、アドレス「mn」値をHLレジスタに記憶することを指示する命令である。
なお、後述するように、LDF命令は、アドレス値を所定のレジスタに記憶することを指示する命令に限らず、所定値(ただし、「所定値」は、所定の範囲内に限られる(後述)。)を所定のレジスタに記憶することを指示する命令の場合もある。
1200h=0001/0010/0000/0000(4ビットごとに「/」を入れている。以下同じ。)
であるので、
Hレジスタ値=0001/0010
Lレジスタ値=0000/0000
となる。
すなわち、
LDF HL,mn (mn=1200h~1DFFh)
LD HL,mn (mn≠1200h~1DFFh)
である。
これに対し、第2データ領域は、アドレス「2600h」~「2FBEh」の範囲である。したがって、第2データ領域のアドレスを指定するロード命令の場合には、オペコード「LDF」を使用することができず、オペコード「LD」を使用する。
図46中、(A)は、アドレス「1200h」~「1DF3h」の範囲(第1データ領域)を指定するLDF命令を示し、(B)は、アドレス「2600h」~「2FBEh」の範囲(第2データ領域)を指定するLD命令を示す。
図46(C)は、LDF命令を用いて所定値「xy」(「1200h」~「1DFFh」の範囲内)をHLレジスタに記憶する命令である「LDF HL,xy」を示している。このように、「xy」の値が「1200h」~「1DFFh」の範囲内であるときは、当該値を所定レジスタに記憶する命令についても、LDF命令を用いることができる。
たとえば、タイマ値「5000(D)」(1388h)をHLレジスタに記憶する命令の場合には、「LDF HL,1388h」となる。
さらにまた、図46(D)は、LD命令を用いて所定のレジスタ値(この例ではHLレジスタ値)を他の所定のレジスタ(この例ではAレジスタ)に記憶する命令である「LD A,(HL)」を示している。所定のレジスタ値を他の所定のレジスタにコピーするような命令において、コピー元の所定のレジスタ値又は所定値が「1200h」~「1DFFh」の範囲外であるような場合には、(LDF命令ではなく)LD命令が用いられる。
ここで、第3実施形態では、「LDF HL,mn」のコードサイズは2バイトであり、「LD HL,mn」のコードサイズは3バイトである。
まず、「LDF HL,mn」の命令の場合には、「mn」の範囲は、「1200h」~「1DFFh」であるが、「1200h」及び「1DFFh」(いずれも16進数)を、それぞれ10進数及び2進数で表すと、
1200h=4608(D)=0001/0010/0000/0000(B)
1DFFh=7679(D)=0001/1101/1111/1111(B)
となる。
そこで、LDF命令において、アドレス値を指定するためのオペコードでは、「1200h」を値「0」とする。これにより、アドレス値「mn」(mn=「1200h」~「1DFFh」)を指定するためには、12ビットで足りることとなる。
この場合、
3000(D)=1011/1011/1000(B)(12ビット)
であるので、「0000/0000/0000(B)」~「1011/1011/1000(B)」に割り当てることができる。
そして、特に重要な命令、具体的にはたとえば使用頻度の高い命令の場合には、小さい値を割り当てる。本実施形態では、「LDF HL」のコード値を「1101」に割り当てる(4ビット)。
よって、「LDF HL」が4ビットであり、「mn」が12ビットであるので、合計で16ビットすなわち2バイトとなる。よって、「LDF HL,mn(mn=1200h~1DFFh)」のコードサイズは、2バイトとなる。
第2データ領域の範囲のうち、アドレス値が最も大きいのは、「2FBEh」であるので、
「2FBEh」-「1200h」
=1DBEh
=1/1101/1011/1110(B)
となり、13ビットとなる。
すなわち、上記のように「1200h」を基準値「0」としたとき、「2FBEh」は13ビットで表すことができる。
そこで、「LD HL」をコード化したときには、上記「LDF HL」と同様に4ビットとし、「LD HL,mn」(mn≠1200h~1DFFh)については、「4+13=17ビット(3バイト)」で表す。
なお、「LD HL,mn」のコードサイズが3バイトとするのであれば、「LD HL」については、必ずしも4ビットである必要はなく、11ビット以下であれば、「mn」(mn≠1200h~1DFFh)が13ビットであるから、これらの合計で24ビット(3バイト)以内に収めることが可能となる。
LDF HL,mn(mn=1200h~1DFFh):2バイト(16ビット)
LD HL,mn(mn≠1200h~1DFFh):3バイト(17ビット)
LD A,(HL)(「A」や「HL」は任意):3バイト
となる。
これにより、第1データ領域のアドレスを指定してHLレジスタに記憶する「LDF HL,mn(mn=1200h~1DFFh)」のコードサイズは、他のロード命令のコードサイズよりも1バイト少なくて済むので、第1プログラム領域の記憶容量を節約することが可能となる。
一方、第2プログラム領域に記憶されるプログラムのうち、第2データ領域内のアドレスを指定するロード命令のオペコードは、すべて「LD」で統一される。これにより、第2プログラム領域に記憶されるプログラムでは、プログラムソースの正当性の確認をより容易に行うことができる。換言すれば、プログラム容量(コードサイズ)の削減よりも、プログラムの見やすさを重視した設計とすることが可能となる。
また、LD命令であっても、2バイトデータをHLレジスタに記憶する命令とすることができる。しかし、LDF命令で2バイトデータをHLレジスタに記憶する方がコードサイズを小さくすることができる。ただし、LDF命令の場合には、2バイトデータの範囲に制限がある。
ぱちんこ遊技機においても、スロットマシンと同様に、第1プログラム領域と第2プログラム領域を備えており、第1プログラム領域には遊技の進行に関係するプログラムを記憶し、第2プログラム領域には遊技の進行に関係しないプログラム(たとえば、ベース(通常時において「賞球払出数/総排出数×100」で算出される値を指す。以下同じ。)を表示するベースモニタに関するプログラム。)を記憶する。このため、第1プログラム領域の方が第2プログラム領域よりも容量が増大しやすい傾向にある。したがって、第1プログラム領域に記憶するプログラムにLDF命令を採用することによる容量圧縮効果が期待できる。
特に、ぱちんこ遊技機のベースモニタの表示制御と、スロットマシンの役比モニタの表示制御とでは、表示内容を算出する過程において違いはあるが、最終的に遊技情報をデータとして表示する点において類似する表示制御が行われる。
なお、上記に限らず、スロットマシン及びぱちんこ遊技のいずれにおいても、メインCPUで制御されるその他の処理でLDF命令を使用することは、もちろん可能である。
図45(B)は、CALLEX命令を示す。CALLEX命令は、コール(CALL、呼出し)命令の1つである。
「CALLEX mn」の命令が実行されると、
(1)その時点において割込み許可状態であるか割込み禁止状態であるかにかかわらず、ノンマスカブル割込み(NMI)及びマスカブル割込み(INT)を禁止し、
(2)レジスタバンクを「1」に切り替え、
(3)mnで指定されるアドレスにコールする(呼び出す)
ことを実行する。
本実施形態では、第1プログラム領域内のプログラムから第2プログラム領域内のプログラムを実行する際に、CALLEX命令を実行することによって、第2プログラム領域内のプログラムを実行可能とする。
ここで、第2プログラム領域は、図42に示すように、アドレス「2000h」~「25FFh」の範囲である。そして、CALLEX命令では、アドレス「2000h」~「25FFh」のうち、アドレス「2000h」~「20FFh」の範囲を呼び出す場合の「CALLEX mn」のコードサイズは2バイトとなり、アドレス「2000h」~「20FFh」以外の範囲を呼び出す場合の「CALLEX mn」のコードサイズは、4バイトとなるように構成されている。
また、「CALLEX」のオペコードをコード化する場合に、第3実施形態では、当該コードを「0100/1000」すなわち1バイトに設定する。これにより、「CALLEX mn」(mn=2000h~20FFh)のコードサイズを2バイトに設定することができる。
図中(A)は、「CALLEX 2000h」を示す。この場合の「2000h」に対応するコード値は、上述したように「0000/0000」である。また、「mn」の範囲が「2000h」~「20FFh」である場合の「CALLEX」のコード値は、「0100/1000」である。したがって、「CALLEX 2000h」のコードは、
0100/1000/0000/0000
となる。
この命令が実行されると、第2プログラム領域のアドレス「2000h」の命令を呼び出す。
0100/1000/1111/1111
となる。
この命令が実行されると、第2プログラム領域のアドレス「20FFh」の命令を呼び出す。
0000/0001/0000/0000
となる。
1010/0000/1000/0000
としている。
よって、「mn」=「2100h」であるときの「CALLEX mn」のコードは、
1010/0000/1000/0000/0000/0001/0000/0000
となる。
この命令が実行されると、第2プログラム領域のアドレス「2100h」の命令を呼び出す。
「2000h」のコードを「0」としたとき、「25FFh」は、
0000/0101/1111/1111
となる。
よって、「CALLEX 25FFh」のコードは、
1010/0000/1000/0000/0000/0101/1111/1111
となる。
この命令が実行されると、第2プログラム領域のアドレス「25FFh」の命令を呼び出す。
よって、呼び出す回数が多い命令ほど、アドレス「2000h」~「20FFh」の範囲内に集約しておけば、それだけ、コードサイズが2バイトで済む命令が多くなる。これにより、命令を記憶するROM54の記憶容量を節約することが可能となる。
また、第2プログラム領域のアドレス「2000h」~「25FFh」の範囲のうち、アドレス「2000h」~「20FFh」の範囲に、第1プログラムから第2プログラムを呼び出す際のアドレスを収めておくことによって、第2プログラムを確認するときに、第1プログラムから呼び出されるプログラムであることを容易に把握することができる。
図45(C)は、RETEX命令を示す。このRETEX命令は、従来のリターン命令に対応する命令である。
RETEX命令は、
(1)ノンマスカブル割込み(NMI)、及びマスカブル割込み(INT)をCALLEX命令前の状態にし、
(2)レジスタバンクを「0」に切り替え、
(3)リターン(RET)する(CALLEX前の状態(CALLEXの次の命令(戻り番地のプログラム))に戻る)
ことを実行する。
これにより、第1プログラム領域内のプログラムを実行可能とする。
なお、CALLEX命令時の状態が割込み許可状態であるときは、RETEX命令によって割込み許可状態にする。一方、CALLEX命令時の状態が割込み禁止状態であるときは、RETEX命令によって割込み禁止状態にする。
これに対し、本実施形態では、CALLEX命令においてプログラムを呼び出し、当該プログラムを実行した後、RETEX命令によって当該CALLEX命令後に戻るものである。
以上の点について、より詳しく説明する。
この例では、第1プログラムの実行中に、第2プログラムを呼び出す例を示している。
第1プログラムの実行中に第2プログラムを呼び出す場合には、少なくとも、以下の処理を実行する必要がある。
「1」割込み管理処理
処理の煩雑化を防ぐため、第2プログラムの実行中は、割込み処理が実行されないようにする。
「2」SPレジスタ切替え処理
第2プログラムで用いるスタック領域は、第1プログラムで用いるスタック領域と異なるため、SPレジスタを切り替える必要がある。
「3」レジスタ管理処理
第2プログラムの実行中にレジスタを使用したときは、そのレジスタ値を引き継いで第1プログラムに戻らないようにする必要がある。
まず、第1プログラムの実行中に第2プログラムを実行するときは、割込み処理を禁止する。割込み禁止命令は、図中、DI命令である。これが、上記「1」に対応する命令である。なお、割込み禁止命令であるDI命令と対をなすのが、割込み許可命令であるEI命令である。なお、DI命令ではマスカブル割込み処理を禁止することはできるが、ノンマスカブル割込み処理(NMI)を禁止することはできない。
次の「CALL S_CHERR_CHK」命令は、第2プログラムの1つである「S_CHERR_CHK」(投入・払出しセンサ異常管理)を呼び出す命令である。この例では、第2プログラムとして「S_CHERR_CHK」を挙げている。
この「S_CHERR_CHK」(第2プログラム)を終了すると、「POP AF」命令により、退避していたAFレジスタを復帰させる。この命令は、スタック領域のデータを呼び出す命令であり、上記「3」に対応する命令である。次に、EI命令により、割込み処理を許可する(上記「1」に対応する命令)。
次の「LD SP,@STACK2」は、第2プログラム用のSPレジスタをセットする命令(上記「2」に対応する命令)である。
次に、「PUSH GPR」及び「PUSH QI」をそれぞれ実行し、レジスタを退避させる。ここで、「GPR」は、退避するレジスタの種類を示し、A、F、B、C、D、E、H、及びLレジスタに相当する。また、「GPR」には、Q及びIレジスタが含まれないため、「PUSH GPR」に加えて「PUSH QI」を実行し、Q及びIレジスタを退避させる(上記「3」に対応する命令)。
次に、「LD SP,(_SB_STACK2)」により、SPレジスタを復帰させる(上記「2」に対応する命令)。
そして、RETにより、CALL命令前の状態に戻す。
DI
PUSH AF
POP AF
EI
を実行する必要がある。
また、第2プログラムでは、
LD (),SP
PUSH GPR
PUSH QI
POP QI
POP GPR
LD SP,()
を実行する必要がある。
また、RETEX命令では、割込みをCALLEX命令前の状態にする処理と、レジスタバンクを1から0に切り替える処理とを含んでいる。したがって、RETEX命令(1命令)によって第1プログラム領域内のプログラムに戻ることができ、割込みを元に戻すための割込み許可命令(EI命令)や、レジスタを復帰させる命令(POP命令)を独立して設ける必要がない。
よって、プログラム容量を削減することが可能となる。
したがって、CALLEX命令直前の状態が割込み許可状態であれば、第2プログラムの実行後、RETEX命令により、割込み許可状態の第1プログラムに戻ることができる。
一方、CALLEX命令直前の状態が割込み禁止状態であれば、第2プログラムの実行後、RETEX命令により、割込み禁止状態の第1プログラムに戻ることができる。
このため、CALLEX命令が実行されると、レジスタバンク0及び1のFレジスタのD3ビットは「0」から「1」に更新される。また、RETEX命令が実行されると、レジスタバンク0及び1のFレジスタのD3ビットは「1」から「0」に更新される。
なお、CALLEX命令が実行されたときは、レジスタバンク0又は1のいずれか一方のFレジスタのD3ビットが「0」から「1」に更新されるようにしてもよい。
この点を具体例を挙げて説明する。
以下の説明において、レジスタバンク0のA、B、H、及びLレジスタを、それぞれ、0A、0B、0H、0Lレジスタと称する。
また、レジスタバンク1のA、B、H、及びLレジスタを、それぞれ、1A、1B、1H、1Lレジスタと称する。
現時点で、レジスタバンク0及び1の各レジスタには、以下のデータが記憶されているものとする。
0Aレジスタ:00000001(B)
0Bレジスタ:00000000(B)
0Hレジスタ:11110001(B)
0Lレジスタ:00000001(B)
1Aレジスタ:00000000(B)
1Bレジスタ:00000011(B)
1Hレジスタ:11110010(B)
1Lレジスタ:00000001(B)
次に、第2プログラムの実行により、1A、1H、1Lレジスタが使用され、たとえば、
1Aレジスタ:00000011(B)
1Bレジスタ:00000011(B)
1Hレジスタ:11110001(B)
1Lレジスタ:00000000(B)
となったと仮定する。
0Aレジスタ:00000001(B)
0Bレジスタ:00000000(B)
0Hレジスタ:11110001(B)
0Lレジスタ:00000001(B)
である。
なお、0Hレジスタ値は、CALLEX命令直前の値が維持されているものであり、1Hレジスタ値と入れ替わったわけではない。
そして、第1プログラムの実行により、たとえば0Aレジスタ値の「1」加算処理が実行されると、
0Aレジスタ:00000010(B)
となる。
図49は、第3実施形態におけるプログラム開始(M_PRG_START )を示すフローチャートである。図49中、第3実施形態特有のステップ番号にはアンダーラインを付している。
プログラム開始(M_PRG_START )は、電源投入後に最初に実行されるメイン制御基板50のプログラムであり、設定変更モードへの移行条件を満たすか否か、電源断復帰異常がないか否か等が判断される。
電源断復帰異常があると判断されたときは、ステップS2801の復帰不可能エラー処理(C_ERROR_STOP)又はステップS2731の初期化処理(M_INI_SET )に移行する。
また、設定変更モードへの移行が可能であると判断されたときはステップS2731の初期化処理に移行し、この初期化処理後、設定変更モードに移行可能となる。
一方、設定変更モードに移行せず、かつ電源断復帰異常がないと判断されたときはステップS2721の電源復帰処理(M_POWER_ON)に移行する。
また、ステップS2851では、第2に、「CALLEX 2000h」を実行する。なお、この例では、ステップS2852におけるRWMチェックサム算出命令の開始アドレスが「2000h」であるものとする。
次にステップS2852に進み、「CALLEX 2000h」に基づき第2プログラム(RWMチェックサム算出)を開始する。電源投入後に第2プログラムを最初に開始するときには、レジスタバンク1のSPレジスタに初期値をセットする。電源投入時は、レジスタバンク1のSPレジスタ値は「0」である。ここでは、「LD SP,F400h」の命令により、レジスタバンク1のSPレジスタに「F400h」を記憶する。
さらに、RWMチェックサム算出を終了すると、RETEXを実行し、第1プログラム内のプログラム(命令)であって、ステップS2851のCALLEX後のプログラム(S2705)に戻る。そして、ステップS2075以降の処理に進む。ステップS2705以降の処理は、説明を省略する。
上記のように、第3実施形態では、CALLEX命令がレジスタ退避を含む命令であるので、別途、レジスタ退避命令(「PUSH AF」、「PUSH GPR」、及び「PUSH QI」)を定める必要がない。同様に、RETEX命令がレジスタ復帰を含む命令であるので、別途、レジスタ復帰命令(「POP AF」、「POP GPR」、及び「POP QI」)を定める必要がない。
換言すると、電源投入時を起点として、第2プログラムの最初の実行時にはレジスタバンク1のSPレジスタに初期値「F400h」を記憶する処理(命令)を実行するが、それ以降の第2プログラムの実行時にはレジスタバンク1のSPレジスタに初期値「F400h」を記憶する処理(命令)を実行しなくてよい。これにより、第2プログラムの容量を削減することが可能となる。
電源投入後の最初の第2プログラムの実行時に、レジスタバンク1のSPレジスタに初期値「F400h」を記憶し、第2プログラムを実行すると仮定する。そして、第2プログラムの実行中に、第2スタック領域にデータを記憶する場合、レジスタバンク1のSPレジスタ値が更新される。
第2プログラムが終了し、第1プログラムに戻ると、レジスタバンク0のSPレジスタが使用される。レジスタバンク0のSPレジスタ値は、第2プログラムに移行する直前の値を維持している。たとえば、第2プログラムに移行する直前のレジスタバンク0のSPレジスタ値が「F1FDh」であれば、第2プログラムを終了して第1プログラムに戻ると、レジスタバンク0のSPレジスタ値は「F1FDh」となる。
図50は、CALLEX命令及びJR命令(ジャンプ命令)を使用した例を示す図である。
上述したように、CALLEX命令は、呼び出すアドレスの範囲が「2000h」~「20FFh」であれば2バイトの命令とすることができるので、第1プログラムから第2プログラムを呼び出す際には、CALLEX命令をできるだけ多く使用すれば、それだけ、命令に係る記憶容量を節約することができる。
たとえば、アドレス「2000h」には、「JR 2200h」を記憶しておく。なお、「JR 2200h」の命令である場合、アドレス「2200h」に飛ぶ(ジャンプする)ことを意味する。これにより、「CALLEX 2000h」が実行されると、アドレス「2000h」が呼び出されるが、アドレス「2000h」には「JR 2200h」が記憶されているので、さらにアドレス「2200h」にジャンプすることになる。そして、アドレス「2200h」以降に実際のプログラム(図50中、「プログラムA」)を記憶しておけば、実際のプログラム(プログラムA)をアドレス「2000h」~「20FFh」の範囲外に置くことができる。
2000h JR mn1(図50の例では、mn1=2200h)
2003h JR mn2(図50の例では、mn2=2250h)
2006h JR mn3(図50の例では、mn3=22A0h)
:
のように、3バイト刻みでJR命令を配置している。
2000h JR mn1
2002h JR mn2
2004h JR mn3
:
となる。
また、「JR mn(mn=2000h~20FFh)」命令に要するコードサイズが4バイトとなるような場合には、
2000h JR mn1
2004h JR mn2
2008h JR mn3
:
となる。
(1)2000h JR mn1
(2)2003h JR mn2
(3)2006h JR mn3
:
(84)20F9h JR mn84
(85)20FCh JR mn85
(86)20FFh JR mn86
とすることができる。したがって、アドレス「2000h」~「20FFh」の範囲内に、3バイトからなるJR命令を合計で86個記憶することが可能となる。
2000h JR 2200h
とし、アドレス「2000h」の実際のプログラム(プログラムA)をアドレス「2200h」~「224Fh」の範囲内に記憶した。
また、
2003h JR 2250h
とし、アドレス「2003h」の実際のプログラム(プログラムB)をアドレス「2250h」~「229Fh」の範囲内に記憶した。
2006h JR 22A0h
とし、アドレス「2006h」の実際のプログラム(プログラムC)をアドレス「22A0h」以降に記憶した。
このように、コードサイズが2バイトで可能となるCALLEX命令のアドレス範囲「2000h」~「20FFh」にはCALLEX命令で実行したい実際のプログラムは、ほとんど記憶しないことが望ましい。換言すると、CALLEX命令で呼び出される第2プログラムのアドレスは、アドレス範囲「2000h」~「20FFh」に収めている。ただし、後述するように、CALLEX命令で呼び出される第2プログラムであって、アドレス範囲「2000h」~「20FFh」のうちアドレス「20FFh」に最も近いプログラムに関しては、JR命令を使用しなくてもよい。このように、CALLEX命令で呼び出される第2プログラムの命令のうち過半数(「ほとんど」又は「すべて」を含む。)はJR命令を使用し、実際のプログラムをアドレス「2100h」以降に記憶すれば、第2プログラム領域を効率よく使用することができる。
一方、CALLEX命令の数にかかわらず、アドレス範囲「2000h」~「20FFh」にはJR命令しか記憶しないように定め、JR命令(CALLEX命令)が上限の86個を大幅に下回っていても、アドレス「20FFh」より前の記憶領域は予備として空けておくようにしてもよい。
したがって、「CALLEX命令2バイト+JR命令3バイト」であるので、合計5バイトとなり、アドレス「2000h」~「20FFh」の範囲外を呼び出すCALLEX命令のコードサイズ(4バイト)よりも大きくなる。
したがって、第2プログラム領域に記憶するJR命令の3バイト分が増加しても、第1プログラム領域に記憶するCALLEX命令のコードサイズを2バイトにする方が、第1プログラム領域の効率的な使用の点では有利となる。
上述のように、アドレス「2000h」以降に3バイトのJR命令を順次配置した場合には、アドレス「20FFh」に「JR mn86」の命令を記憶することになる。なお、この場合には、アドレス「20FFh」~「2101h」の3バイト記憶領域に「JR mn86」の命令が記憶される。
このため、図50に示す例では、アドレス「20FFh」にはJR命令を置かず、アドレス「20FFh」からプログラム(プログラムD)が記憶されるようにしている。
これにより、「CALLEX 20FFh」が実行されると、アドレス「20FFh」以降に記憶されているプログラムDが実行されることとなる。
具体的には、アドレス「20FDh」~「20FFh」の3バイト記憶領域にJR命令を記憶し、かつ他の記憶領域にプログラムを記憶するよりも、アドレス「20FDh」以降に直接プログラムを記憶した方が記憶容量の節約の点で好ましいといえる。
同様に、アドレス「20FEh」~「2100h」の3バイト記憶領域にJR命令を記憶し、かつ他の記憶領域にプログラムを記憶するよりも、アドレス「20FEh」以降に直接プログラムを記憶した方が記憶容量の節約の点で好ましいといえる。
(1)図42において、ROM54にはプログラム管理領域や未使用領域を備えたが、これに限らず、ROM54内には、少なくとも、第1プログラム領域、第1データ領域、第2プログラム領域、第2データ領域を備えるものであればよい。また、これらの各記憶領域に対し、図42では、先頭アドレス及び末尾アドレスを示したが、図42で示す記憶容量は一例であり、これに限られるものではない。したがって、図42で示した各記憶領域の先頭アドレス及び末尾アドレスも一例にすぎず、任意に設定可能である。
たとえば、第2プログラム領域のアドレス範囲が「2150h」~「264Fh」である場合、CALLEX命令のコードサイズを2バイトとすることが可能なアドレス範囲は、「2150h」~224Fh」となる。
RWM53についても同様に、作業領域及びスタック領域の順に配置されていることに限らず、スタック領域及び作業領域の順に配置されていてもよい。また、第1作業領域、第1スタック領域、第2作業領域、第2スタック領域の順に配置したが、これに限られるものではなく、たとえば第2作業領域及び第2スタック領域が第1作業領域及び第1スタック領域よりも先に配置されていてもよい。さらにまた、RWM53の先頭アドレス(図42中、第1作業領域の前)に、所定の管理領域等が配置されていてもよい。
(4)図43において、FレジスタのD3ビットにレジスタバンクモニタを割り当てたが、これに限られるものではなく、どのビットに割り当ててもよい。たとえば第2ゼロフラグを使用しない場合には、D5ビットでもよい。
また、Fレジスタ内の特定ビットにレジスタバンクモニタを割り当てるのではなく、レジスタバンクモニタ専用のレジスタを設けることも可能である。
ここで、
1200h=0000/0000/0000(B)
としたとき、
1111/1111/1111(B)=FFFh
である。
そして、
1200h+FFFh=21FFh
である。
このため、第1データ領域の範囲が「1200h」~「21FFh」の範囲内であれば、「mn」の範囲を12ビットで表すことができ、「LDF HL,mn」のコードサイズを2バイトで構成可能となる。
(8)第1~第3実施形態、及び第1~第3実施形態で示した各種の変形例は、単独で実施されることに限らず、適宜組み合わせて実施することが可能である。
第4実施形態における遊技機10は、第1及び第2実施形態と同様に、メダルレス遊技機(管理遊技機、封入式遊技機)である。
第4実施形態では、主制御基板50に設けられた1チップマイクロプロセッサ500が遊技媒体数制御を含む制御を実行するものである。
また、第4実施形態では、第3実施形態で説明したCALLEX命令、RETEX命令、及びレジスタバンク等を使用する。
図51は、第4実施形態における遊技機10を示すブロック図であり、図29(第2実施形態)に対応する図である。
第2実施形態の遊技機10では、図29で示したように、主制御基板50に加え、遊技媒体数制御基板100を備えていた。これに対し、第4実施形態の遊技機10は、遊技媒体数制御基板100を備えていない。
さらにまた、遊技媒体数制御ROM502は、遊技媒体数に関する制御(遊技媒体の付与数の算出、遊技媒体の付与処理等)を行うためのプログラムやデータを記憶する記憶手段であり、遊技媒体数制御RWM503は、遊技媒体数に関する制御を行う際にデータを一時的に記憶しておくための記憶手段である。
(1)貸し出され若しくは入賞により獲得された遊技媒体(メダル等)を受け皿に送出するための制御(遊技媒体(メダル)が有体物である場合)、
又は、
(2)貸し出され若しくは入賞により獲得された遊技媒体数を示す信号を遊技媒体数表示装置(遊技球数表示装置又はメダル数表示装置)に送信するための制御(遊技媒体(メダル)が無体物である場合)
をいう。
遊技媒体数制御ROM504に記憶されているプログラム、並びに遊技媒体数制御ROM504及び遊技媒体数制御RWM505に記憶されているデータについては、遊技媒体数制御のみを行うために設けられており、遊技媒体数制御以外の制御を行うことはない。
さらに、「主制御基板50に装着されるROM及びRWMであって、遊技媒体数制御のためのものの総数は、すべての主基板を通じてそれぞれ1個を超えるものでないこと」と規定されている。
よって、
主制御ROM502:1個
主制御RWM503:1個
遊技媒体数制御ROM504:1個
遊技媒体数制御RWM505:1個
と定められる。
なお、上記4個の記憶手段は、物理的に分離していることを意味するものではなく、後述するように、1つの内蔵メモリ内に設けられている。
ここで、「使用領域外」とは、遊技機10の試験に必要な信号の出力制御及び不正防止を目的として使用される記憶領域をいう。さらに、「不正防止を目的として使用される」プログラム及びデータとは、たとえば役比モニタ113の表示制御に必要なプログラム及びデータが挙げられる。使用領域外のROMやRWMに配置するプログラム及びデータは、遊技の公正を害さないものであることが必要である。
なお、「使用領域」以外の領域が「使用領域外」となり、「使用領域」は「使用領域内」とも称される。
したがって、主制御ROM502及び遊技媒体数制御ROM504は、使用領域内ROMである。
また、主制御RWM503及び遊技媒体数制御RWM505は、使用領域内RWMである。
換言すると、当該内蔵メモリ内に、主制御ROM502、主制御RWM503、遊技媒体数制御ROM504、遊技媒体数制御RWM505、使用領域外ROM506、及び使用領域外RWM507がそれぞれ分割して配置されている。
ただし、主制御ROM502、遊技媒体数制御ROM504、使用領域外ROM506については、それぞれが明示的に区分された領域に配置されている。
同様に、主制御RWM503、遊技媒体数制御RWM505、使用領域外RWM507についても、それぞれが明示的に区分された領域に配置されている。
また、遊技媒体数表示基板(遊技媒体数表示装置)120は、第2実施形態では遊技媒体数制御基板100と電気的に接続されているが、第4実施形態では主制御基板50と電気的に接続されている。遊技媒体数表示部121に遊技媒体数を表示するための制御は、遊技媒体数制御ROM504及び遊技媒体数制御RWM505に記憶されたプログラム及びデータに基づいて実行される。
接続端子板130は、第2実施形態では遊技媒体数制御基板100と電気的に接続されているが、第4実施形態では主制御基板50と電気的に接続されている。
なお、第2実施形態の図29では、副制御基板80の副制御RWM83、副制御ROM84、及び副制御CPU85を図示しているが、これらは主制御基板50と同様に副制御基板80の1チップマイクロプロセッサに内蔵されているものである。このため、図51では、主制御基板50の1チップマイクロプロセッサ500と同様に、副制御基板80の1チップマイクロプロセッサ80aを図示している。
なお、第3実施形態の図42中、「プログラム領域」と、図52等における「制御領域」は、称呼が異なるが、機能は同一である。
主制御ROM502及び遊技媒体数制御ROM504は、使用領域のROMであるので、遊技の進行に関係する(遊技媒体数の制御を含む)プログラム及びデータを記憶するための領域に相当する。これに対し、使用領域外ROM506は、使用領域外のROMであるので、遊技の進行に関係しないプログラム及びデータを記憶するための領域に相当する。特に本実施形態では、使用領域外ROM506は、役比モニタ113の表示制御に関するプログラム及びデータを記憶するための記憶領域、並びに試験信号の出力制御に関するプログラム及びデータを記憶するための記憶領域に相当する。
ここで、「データ領域」とは、プログラム以外の情報のみが記憶され、又は記憶されることとなる記憶領域をいう。
第4実施形態では、主制御に関する記憶領域を「領域1」とし、遊技媒体数制御に関する記憶領域を「領域2」とし、使用領域外の記憶領域を「領域3」と称する。
また、遊技媒体数制御ROM504の記憶領域は、制御領域2及びデータ領域2の合計で「2.5K」バイト以下に設定されている。
RWMの領域は、全体として「1024K」バイト以下に設定されている。さらに、RWM領域1及びRWM領域2は、それぞれ「512K」バイト以下に設定されている。
同様に、主制御RWM503、遊技媒体数制御RWM505、及び使用領域外RWM507は連続するアドレスで配置されていてもよく(図52の例)、あるいは主制御RWM503、遊技媒体数制御RWM505、及び使用領域外RWM507の各間に未使用領域等が介在していてもよい。
具体的には、たとえば以下のように振り分けることが挙げられる。
(1)パターン1
レジスタバンク0:制御領域1に記憶されたプログラムを実行しているときに使用
レジスタバンク1:制御領域2及び制御領域3に記憶されたプログラムを実行しているときに使用
(2)パターン2
レジスタバンク0:制御領域1及び制御領域2に記憶されたプログラムを実行しているときに使用
レジスタバンク1:制御領域3に記憶されたプログラムを実行しているときに使用
レジスタバンク0:制御領域1及び制御領域3に記憶されたプログラムを実行しているときに使用
レジスタバンク1:制御領域2に記憶されたプログラムを実行しているときに使用
(4)その他のパターン
本実施形態では2つのレジスタバンクを設けているが、たとえばレジスタバンクを3つ(制御領域ごとに)設け、
レジスタバンク0:制御領域1に記憶されたプログラムを実行しているときに使用
レジスタバンク1:制御領域2に記憶されたプログラムを実行しているときに使用
レジスタバンク2:制御領域3に記憶されたプログラムを実行しているときに使用
とすることも可能である。
さらに、主制御ROM502のプログラム、遊技媒体数制御ROM504のプログラム、及び使用領域外ROM506のプログラムは、いずれも、対応するスタック領域(たとえば主制御ROM502のプログラムではスタック領域1)以外のスタック領域を使用しないように構成されている。具体的には、たとえば主制御ROM502のプログラムがスタック領域3を使用するようなことはしない。
(1)「制御領域1」、「データ領域1」とは、主制御ROM502(使用領域)の記憶領域を指し、
(2)「制御領域2」、「データ領域2」とは、遊技媒体数制御ROM504(使用領域)の記憶領域を指し、
(3)「制御領域3」、「データ領域3」とは、使用領域外ROM506の記憶領域を指し、
(4)「RWM領域1」とは主制御RWM503(使用領域)の記憶領域を指し、「スタック領域1」とはRWM領域1のスタック領域を指し、
(5)「RWM領域2」とは、遊技媒体数制御RWM505(使用領域)の記憶領域を指し、「スタック領域2」とはRWM領域2のスタック領域を指し、
(6)「RWM領域3」とは、使用領域外RWM507の記憶領域を指し、「スタック領域3」とはRWM領域3のスタック領域を指す
ものとする。
図中(A)の例1では、主制御領域内には使用領域外を設けないようにしたものである。換言すれば、主制御領域及び遊技媒体数制御領域の外部に使用領域外を設けたものである。
この場合には、
(1)主制御領域
遊技の進行に関するプログラム及びデータを記憶するための記憶領域(主制御ROM502及び主制御RWM503)を含み、遊技機10の試験に必要な信号の出力制御及び不正防止を目的として使用される記憶領域(使用領域外ROM506及び使用領域外RWM507)を含まない。
(2)遊技媒体数制御領域
遊技媒体数の制御に係るプログラム及びデータを記憶するための記憶領域(遊技媒体数制御ROM504、遊技媒体数制御RWM505)
(3)使用領域外領域
遊技機10の試験に必要な信号の出力制御及び不正防止を目的として使用される記憶領域(使用領域外ROM506及び使用領域外RWM507)
となる。
この場合には、
(1)主制御領域
遊技の進行に関するプログラム及びデータを記憶するための記憶領域(主制御ROM502及び主制御RWM503)、及び遊技機10の試験に必要な信号の出力制御及び不正防止を目的として使用される記憶領域(使用領域外ROM506及び使用領域外RWM507)
(2)遊技媒体数制御領域
遊技媒体数の制御に係るプログラム及びデータを記憶するための記憶領域(遊技媒体数制御ROM504、遊技媒体数制御RWM505)
となる。
主制御基板50に搭載される1チップマイクロプロセッサ500の1個の主CPU501におけるプログラムの実行は、主制御ROM502の制御領域1のプログラムを主とする。また、遊技媒体数制御ROM504の使用領域のプログラム及び使用領域外ROM506の領域のプログラムは、主制御ROM502の制御領域1のプログラムから、予め定められたアドレスを(換言すれば、「静的に」)呼び出された上で実行される。その際のプログラムリストにおいては、呼出し先アドレスが明らかに記載されているように構成されている。
また、遊技媒体数制御ROM504のプログラム及び使用領域外ROM506のプログラムは、機能ごとにモジュール化されており、主制御ROM502のプログラムによって呼び出された際には、主制御ROM502のプログラムで利用している全レジスタ(「全レジスタ」とは、複数のレジスタを指すため、「複数のレジスタ」とも称する。以下同じ。)が保護されるように構成されている。全レジスタを保護する場合には、以下の方法が挙げられる。
主制御ROM502のプログラムで使用するレジスタバンクと、遊技媒体数制御ROM504のプログラム及び使用領域外ROM506のプログラムで使用するレジスタバンクとを異ならせる。換言すれば、主制御ROM502のプログラムから、遊技媒体数制御ROM504のプログラム又は使用領域外ROM506のプログラムを呼び出し、遊技媒体数制御ROM504のプログラム又は使用領域外ROM506のプログラムを実行する場合には、レジスタバンクを切り替える。
主制御ROM502のプログラムで使用するレジスタバンクと、遊技媒体数制御ROM504のプログラム又は使用領域外ROM506のプログラムで使用するレジスタバンクとを同一にする。この場合には、主制御ROM502のプログラムから遊技媒体数制御ROM504のプログラム又は使用領域外ROM506のプログラムを呼出して実行する際に、全レジスタの退避命令を実行する。
全レジスタを保護するプログラムについては後述する。
同様に、制御領域2に記憶されたプログラムは、データ領域2に記憶されたデータを参照可能であり、RWM領域2に記憶されたデータを参照・更新可能である。
さらに、制御領域3に記憶されたプログラムは、データ領域3に記憶されたデータを参照可能であり、RWM領域3に記憶されたデータを参照・更新可能である。
同様に、制御領域1のプログラムのCALLEX命令又はCALL命令に基づいて、制御領域3のプログラムを呼び出し、実行することが可能である。また、制御領域3のプログラムのRETEX命令又はRET命令に基づいて、制御領域3の当該プログラムの実行後に、制御領域1のプログラムの当該CALLEX命令又はCALL命令直後に復帰することが可能である。
同様に、制御領域1のプログラムにより、データ領域3のデータを直接参照することはできない。この場合には、制御領域1のプログラムから制御領域3のプログラムを呼び出し、制御領域3のプログラムによってデータ領域3のデータを参照する。
同様に、制御領域2のプログラムにより、RWM領域1のデータを更新することはできないが、RWM領域1のデータを参照することは可能であるように構成されている。
また、制御領域1のプログラムにより、RWM領域3のデータを更新することはできないが、RWM領域3のデータを参照することは可能であるように構成されている。
同様に、制御領域3のプログラムにより、RWM領域1のデータを更新することはできないが、RWM領域1のデータを参照することは可能であるように構成されている。
同様に、制御領域3のプログラムにより、RWM領域2のデータを更新することはできないが、RWM領域2のデータを参照することは可能であるように構成されている。
仮に、制御領域「N」のプログラムにより、RWM領域「M」のデータを更新可能とすると、図52に示すように、RWM領域1及びRWM領域2の容量の上限を「512K」バイトと定めた趣旨から逸脱してしまうことになるためである。
なお、「モジュール」とは、目的ごとのプログラムのまとまりを指す。
また、「サブルーチン」とは、CALLEX命令やCALL命令等によりメインルーチンから呼び出され、RETEX命令又はRET命令等により必ず呼出し直後に戻るプログラムのまとまりを指す。したがって、サブルーチンは、モジュールの下位概念であるといえる。
以下の図55~図57の例では、
制御領域1:主制御領域の使用領域
制御領域2:遊技媒体数制御領域(使用領域)
制御領域3:主制御領域の使用領域外
とする。
図55は、制御領域1、制御領域2、及び制御領域3のプログラムの例1を示す図である。例1では、制御領域1のプログラムはレジスタバンク0を使用し、制御領域2及び制御領域3のプログラムはレジスタバンク1を使用する。したがって、制御領域1のプログラムから制御領域2又は制御領域3のプログラムを呼び出し、制御領域2又は制御領域3のプログラムを実行する場合には、レジスタバンクをレジスタバンク0からレジスタバンク1に切り替える必要がある。
さらに、制御領域2又は制御領域3のプログラムを終了し、制御領域1のプログラムに復帰する場合には、レジスタバンクをレジスタバンク1からレジスタバンク0に切り替える(戻す)必要がある。
また、禁止することができない割込み(NMI)は使用しないように構成されている。
最初の「ORG 0000h」は、制御領域1の先頭アドレスが「0000h」であることを示す。
次の「M1_aaaaa」は、制御領域1の最初のプログラムを示す。
このプログラムにおいて、最初の「LD SP,@STACK1」は、SPレジスタ(スタックポインタレジスタ。ここでは、レジスタバンク0のSPレジスタを指す。)にスタック1をセットすることを示す。スタック1の初期値(@STACK1)は、図55に示すように「F200h」であり、この値をレジスタバンク0のSPレジスタに書き込む。
「CALLEX mn」の命令が実行されると、
(1)その時点において割込み許可状態であるか割込み禁止状態であるかにかかわらず、割込みを禁止し、
(2)レジスタバンクをレジスタバンク0からレジスタバンク1に切り替え、
(3)指定されるアドレスにコールする(呼び出す)
ことを実行する。
このように、第1制御領域のプログラムから第2制御領域又は第3制御領域のプログラムを実行する際に、CALLEX命令を実行することによって、第2制御領域又は第3制御領域のプログラムを実行可能とする。
換言すると、制御領域1のプログラムの実行時と制御領域2のプログラムの実行時とで、異なるレジスタバンク(異なるレジスタ)を用いることにより、制御領域2のプログラムの終了後、制御領域1のプログラムに復帰したときに、制御領域2のプログラムの呼出し直前のレジスタ値に戻すことができる。
また、CALLEX命令により他のプログラムが実行され、当該他のプログラムの終了時に実行されるRETEX命令には割込みを許可する命令を含むので、当該他のプログラムの終了時にはEI(割込み許可)命令を設けていない。
制御領域2のプログラム「M2_nnnnn」において、先頭アドレスの「LD SP,@STACK2」は、SPレジスタ(ここでは、レジスタバンクが切り替えられた後、すなわちレジスタバンク1のSPレジスタを意味する。)にスタック2をセットすることを示す。スタック2の初期値(@STACK2)は、図55に示すように「F300h」であり、この値をレジスタバンク1のSPレジスタに書き込む。
RETEX命令は、
(1)割込み状態をCALLEX命令前の状態にし、
(2)レジスタバンクをレジスタバンク1からレジスタバンク0に切り替え、
(3)リターン(RET)する(「CALLEX M2_nnnnn」の次の命令(戻り番地のプログラム))に戻る)
ことを実行する。
一方、RET命令は、RETEX命令とは異なり、割込み状態を変化させない。また、レジスタバンクの切替えを行わない。
なお、CALLEX命令時の状態が割込み許可状態であるときは、RETEX命令によって割込み許可状態となる。一方、CALLEX命令時の状態が割込み禁止状態であるときは、RETEX命令によって割込み禁止状態となる。
制御領域1のプログラム「M1_aaaaa」において、「LD SP,@STACK1」により、
SP=F200h(レジスタバンク0)
となる。
SP=F1FEh(レジスタバンク0)
に更新される。
このSPレジスタ値の状態で「CALLEX M2_nnnnn」が実行されると、制御領域2におけるプログラム「M2_nnnnn」の「LD SP,@STACK2」により、
SP=F300h(レジスタバンク1)
となる。
SP=F2FCh(レジスタバンク1)
に更新される。
このSPレジスタ値の状態でプログラム「M2_ooooo」が終了し、RETEX命令により制御領域1のプログラムに戻ると、制御領域1のプログラムで使用するレジスタバンクはレジスタバンク0となり、その時点におけるSPレジスタ値は「F1FEh」となる。
なお、制御領域2のプログラム「M2_ooooo」が終了し、RETEX命令により制御領域1のプログラムに戻ったときでも、レジスタバンク1のSPレジスタ値は「F2FCh」のままである。
なお、この「CALLEX M3_xxxxx」により、再度、レジスタバンクは、レジスタバンク0からレジスタバンク1に切り替えられる。
「CALLEX M3_xxxxx」の実行により、制御領域3の「M3_xxxxx」の先頭アドレスに飛ぶ。なお、制御領域3の冒頭にある「ORG 2A00h」は、制御領域3の先頭アドレスが「2A00h」であることを示す。
次の「CALL M3_yyyyy」は、プログラム「M3_yyyyy」を呼び出す命令である。プログラム「M3_yyyyy」は、制御領域3に記憶されている。上記と同様に、このCALL命令では、レジスタバンクは切り替わらない。
一方、例1では、制御領域2のプログラム「M2_nnnnn」が実行された後、制御領域3のプログラム「M3_xxxxx」が実行される。そして、制御領域2のプログラムと制御領域3のプログラムでは、いずれも、レジスタバンク1が使用される。このため、制御領域2のプログラムで使用されたレジスタ値が、制御領域3のプログラムの実行により変わるおそれがある。
制御領域2のプログラムにおいて、
PUSH ALL
CALL M2_ooooo
POP ALL
とするか、又は、
制御領域3のプログラムにおいて、
PUSH ALL
CALL M3_yyyyy
POP ALL
とする。
ここで、第3実施形態と同様に、「PUSH ALL」は全レジスタをスタック領域に退避させる命令文であり、「POP ALL」は退避した全レジスタをスタック領域から復帰させる命令文である。
また、後述する「PUSH AF」はAFレジスタをスタック領域に退避させる命令文であり、「POP AF」は退避したAFレジスタをスタック領域から復帰させる命令文である。
なお、スタック領域に退避させたり、スタック領域から復帰させたりする場合のスタック領域とは、制御領域1の命令として「PUSH ALL」、「POP ALL」、「PUSH AF」、「POP AF」を行った場合には、図52で示したスタック領域1が該当し、制御領域2の命令として「PUSH ALL」、「POP ALL」、「PUSH AF」、「POP AF」を行った場合には、図52で示したスタック領域2が該当し、制御領域3の命令として「PUSH ALL」、「POP ALL」、「PUSH AF」、「POP AF」を行った場合には、図52で示したスタック領域3が該当する。
最初の「ORG 0000h」は、例1と同様である。
「M1_aaaaa」は、制御領域1の先頭アドレスのプログラムを示す。
このプログラムにおいて、「LD SP,@STACK1」は、例1と同様に、SPレジスタにスタック1をセットする命令である。
その後、制御領域2のプログラム「M2_nnnnn」を実行するが、制御領域1のプログラムと制御領域2のプログラムとはいずれもレジスタバンク0を使用するので、レジスタバンクの切替えを伴うCALLEX命令は用いない。換言すると、この場合にはCALL命令を用いる。CALL命令ではレジスタバンクの切替えは行われない。
DI命令の実行後、AFレジスタを退避する(スタック領域に格納する)ため、「PUSH AF」を実行する。その後、「CALL M2_nnnnn」により、制御領域2のプログラム「M2_nnnnn」を実行する。
ここで、AFレジスタを退避させる理由は、以下の通りである。制御領域2のプログラム「M2_nnnnn」に飛ぶと、後述するように、スタックポインタをセットする命令「LD SP,@STACK2」が実行される。このLD命令が実行されると、フラグ(F)レジスタの第2ゼロフラグ(図43参照)の値が変化してしまうか、変化してしまうおそれがある。そこで、制御領域2のプログラムに飛ぶ前に、AFレジスタを退避させている。
制御領域2の「M2_nnnnn」において、「LD (BF_STACK),SP」は、スタックポインタを退避する命令である。この処理は、現在のSPレジスタ値を、図52に示すRWM領域2の所定の記憶領域(BF_STACK)に記憶する処理に相当する。制御領域1のプログラムと制御領域2のプログラムとで同一のレジスタバンク0を使用するため、制御領域1のプログラムから制御領域2のプログラムに飛んだときに、制御領域1のプログラムを実行していたときのスタックポインタを退避させ、かつ、制御領域2のプログラムのためのスタックポインタをセットするためである。
「PUSH ALL」は、上述のように、全レジスタを退避する命令である。
次の「CALL M2_ooooo」は、プログラム「M2_ooooo」を呼び出す命令である。プログラム「M2_ooooo」は、制御領域2に記憶されている。通常のCALL命令では、レジスタバンクは切り替わらないので、プログラム「M2_ooooo」の実行中もレジスタバンク0のままである。
プログラム「M2_ooooo」を終了すると、「POP ALL」により、退避していた全レジスタを復帰させる。
その後、RET命令により、制御領域1のプログラムに戻る。
制御領域1のプログラムに戻ると、「POP AF」により、退避させていたAFレジスタを復帰させる。これにより、プログラム「M2_nnnnn」が実行される前の値にAFレジスタが戻る。
次に、EI命令により、禁止していた割込みを再開する。
まず、制御領域1のプログラム「M1_aaaaa」において、「LD SP,@STACK1」により、
SP=F200h(レジスタバンク0)
となる。
次に何らかのプログラムが実行され、「F200h」にたとえば1バイトデータが積まれると、
SP=F1FFh(レジスタバンク0)
に更新される。
このSPレジスタ値の状態で「CALL M2_nnnnn」が実行され、制御領域2のプログラム「M2_nnnnn」が実行されると、「LD (BF_STACK),SP」によって、制御領域1のプログラムでのスタックポインタ「F1FFh」を退避させる。この場合、RWM領域2の所定の記憶領域に「F1FFh」を記憶する。
SP=F300h(レジスタバンク0)
となる。
よって、SPがそれまでの「F1FFh」から「F300h」に更新される。
そして、プログラム「M2_ooooo」の実行により、たとえば2バイトのスタックが積まれると、
SP=F2FEh(レジスタバンク0)
に更新される。
よって、
SP=F1FFh(レジスタバンク0)
となる。
制御領域3の冒頭にある「ORG 2A00h」は、例1と同じである。
制御領域3の「M3_xxxxx」において、「LD SP,@STACK3」では、SPレジスタ(レジスタバンク1のSPレジスタ)にスタック3(F400h)をセットする。
次の「CALL M3_yyyyy」は、プログラム「M3_yyyyy」を呼び出す命令である。プログラム「M3_yyyyy」は、制御領域3に記憶されている。上記と同様に、このCALL命令では、レジスタバンクは切り替わらない。
最初の「ORG 0000h」は、例1と同様である。
次の「M1_aaaaa」において、「LD SP,@STACK1」は、例1と同様に、SPレジスタにスタック1(F200h)をセットする命令である。
次の「CALLEX M2_nnnnn」は、制御領域2のプログラム「M2_nnnnn」を呼び出す命令である。このCALLEX命令により、割込みを禁止し、レジスタバンクをレジスタバンク0からレジスタバンク1に切り替える。
「CALLEX M2_nnnnn」の実行により、制御領域2のプログラム「M2_nnnnn」に飛ぶ。なお、制御領域2の冒頭にある「ORG 2000h」は、例1と同じである。
制御領域2の「M2_nnnnn」において、「LD SP,@STACK2」は、例1と同様に、SPレジスタ(レジスタバンク1のSPレジスタ)にスタック2(F300h)をセットする命令である。
プログラム「M2_ooooo」を終了(RET命令)した後にRETEX命令を実行する。RETEX命令により、割込み状態をCALLEX命令前の状態にし、レジスタバンクをレジスタバンク1からレジスタバンク0に切り替え、リターン(RET)する。これにより、制御領域1の「CALLEX M2_nnnnn」の次の命令(戻り番地のプログラム)に戻る。そして、再度、第1制御領域内のプログラムを実行可能とする。
制御領域1のプログラムと制御領域3のプログラムとはいずれもレジスタバンク0を使用するので、レジスタバンクの切替えを伴うCALLEX命令は用いない。
制御領域1のプログラムの実行中に制御領域3のプログラムを実行するときは、まず、DI命令により割込み処理を禁止する。
DI命令の実行後、「PUSH AF」命令によりAFレジスタを退避する(スタック領域に格納する)。その後、「CALL M3_xxxxx」により、制御領域3のプログラム「M3_xxxxx」を実行する。
制御領域3の「M3_xxxxx」において、「LD (BF_STACK),SP」は、スタックポインタを退避する命令である。この処理は、現在のSPレジスタ値を、図52に示すRWM領域3の所定の記憶領域(BF_STACK)に記憶する処理に相当する。制御領域1のプログラムと制御領域3のプログラムとで同一のレジスタバンク0を使用するため、制御領域1のプログラムから制御領域3のプログラムに飛んだときに、制御領域1のプログラムを実行していたときのスタックポインタを退避させ、かつ、制御領域3のプログラムのためのスタックポインタをセットするためである。
次に、「PUSH ALL」により、全レジスタを退避する。
次の「CALL M3_yyyyy」は、プログラム「M3_yyyyy」を呼び出す命令である。プログラム「M3_yyyyy」は、制御領域3に記憶されている。CALL命令では、レジスタバンクは切り替わらないので、プログラム「M3_yyyyy」の実行中もレジスタバンク0のままである。
プログラム「M3_yyyyy」を終了すると、「POP ALL」により、退避していた全レジスタを復帰させる。
その後、RET命令により、制御領域1のプログラムに戻る。
制御領域1のプログラムに戻ると、「POP AF」により、退避させていたAFレジスタを復帰させる。これにより、AFレジスタがプログラム「M2_nnnnn」が実行される前の値に戻る。
そして、EI命令により、禁止していた割込みを再開する。
第4実施形態において、各命令のコードサーズは、以下の通りである。
CALLEX mn(mn=2000h~20FFh):2バイト
CALLEX mn(mn≠2000h~20FFh):4バイト
RETEX:2バイト
CALL mn:3バイト
RET:1バイト
DI:1バイト
EI:1バイト
PUSH AF:1バイト
POP AF:1バイト
CALLEX命令において、アドレス「2000h」~「20FFh」の範囲を呼び出す場合の「CALLEX mn」のコードサイズは2バイトとなり、アドレス「2000h」~「20FFh」以外の範囲を呼び出す場合の「CALLEX mn」のコードサイズは、4バイトとなるように構成されている。
また、「CALLEX」のオペコードをコード化する場合に、当該コードを1バイトに設定する。これにより、「CALLEX mn」(mn=2000h~20FFh)のコードサイズを2バイトに設定することができる。
よって、呼び出す回数が多い命令ほど、制御領域2のアドレス「2000h」~「20FFh」の範囲内に集約しておけば、それだけ、コードサイズが2バイトで済む命令が多くなる。これにより、制御領域1の記憶容量を節約することが可能となる。
また、第2制御領域のアドレス「2000h」~「25FFh」の範囲のうち、アドレス「2000h」~「20FFh」の範囲に、制御領域1のプログラムから制御領域2のプログラムを呼び出す際のアドレスをできるだけ多く収めておくことによって、制御領域2を確認するときに、制御領域1のプログラムから呼び出されるプログラムであることを容易に把握することができる。
図55に示すように、制御領域2の先頭アドレスは「2000h」である。また、制御領域3の先頭アドレスは「2A00h」である。よって、たとえば制御領域2のプログラム「M2_nnnnn」を、アドレス「2000h」~「20FFh」の範囲内に配置しておけば、制御領域1のプログラム「CALLEX M2_nnnnn」を2バイトから構成することができる。
また、制御領域2のプログラム「M2_nnnnn」では、「LD SP,@STACK2」の後、「CALL M2_ooooo」を実行することにより、制御領域2のプログラム「M2_ooooo」を呼び出している。なお、プログラム「M2_ooooo」は、アドレス「2000h」~「20FFh」の範囲内である必要はない。
しかし、制御領域2のプログラムにおいて、実際に実行するプログラム「M2_ooooo」をアドレス「2100h」以降に配置し、アドレス「2000h」~「20FFh」の範囲には、制御領域1のCALLEX命令によって呼び出されるプログラムの先頭プログラムを多く配置しておけば、それだけ、制御領域1のプログラムで2バイトのCALLEX命令を多く設けることが可能となる。よって、制御領域1のプログラム容量を節約することが可能となる。換言すると、制御領域1のプログラムから制御領域2のプログラムを呼び出すのは、1回に限られるものではなく、複数回呼び出されるように構成されていてもよい。
DI(1バイト)
PUSH AF(1バイト)
CALL M3_xxxxx(3バイト)
POP AF(1バイト)
EI(1バイト)
となり、合計7バイトとなり、4バイトのCALLEX命令よりも大きくなる。よって、制御領域1のプログラムから制御領域3のプログラムを呼び出す場合であっても、CALL命令ではなくCALLEX命令を用いた方が容量を少なくすることができる。
(1)制御領域1のプログラムにおいて、2バイトからなる「CALLEX mn(mn=2000h~20FFh)」をより多く設けるために、第3実施形態の図50で示したJR(ジャンプ)命令を用いてもよい。
図58は、この場合のプログラム例を示す図である。JR命令のコードサイズは、第3実施形態と同様に3バイトであるものとする。
「JR mn」命令は3バイト要するため、制御領域2のアドレス「2000h」以降では、3バイト刻みで「JR mn」を配置している。
そして、制御領域2のアドレス「2100h」以降に、実際のプログラムを配置すればよい。
このように設定すれば、制御領域1のプログラムにおいて、2バイトのCALLEX命令をできるだけ多く設けることができる。
たとえば、制御領域2のプログラムを実行した後、制御領域1のプログラムを実行し、ある処理タイミングで制御領域3のプログラムを実行することや、制御領域3のプログラムを実行した後、制御領域1のプログラムを実行し、ある処理タイミングで制御領域2のプログラムを実行すること等が挙げられる。
また、上述したように、制御領域1のプログラムから制御領域2のプログラムを呼出す回数は、1回に限らず、複数回でもよい。同様に、制御領域1のプログラムから制御領域3のプログラムを呼出す回数は、1回に限らず、複数回でもよい。
(4)第1~第4実施形態、及び第1~第4実施形態で示した各種の変形例は、単独で実施されることに限らず、適宜組み合わせて実施することが可能である。
続いて、本発明の第5実施形態について説明する。第5実施形態では、「主制御手段」と「遊技媒体数制御手段」という用語を用いる。
第5実施形態において、主制御基板(たとえば図29中、「主制御基板50」)、遊技媒体数制御基板(たとえば、図29中、「遊技媒体数制御基板100」)、及びこれらの制御基板に搭載されるCPUと、その場合の主制御手段及び遊技媒体数制御手段としては、以下の第1例~第3例が挙げられる。
(1)第1例
図29(第2実施形態)で示したように、主制御基板50と遊技媒体数制御基板100とに分けられ、主制御基板50上には主制御CPU(図29中、「第1主制御CPU55」に相当)が搭載され、遊技媒体数制御基板100には遊技媒体数制御CPU(図29中、「第2主制御CPU105」に相当)が搭載されたものが挙げられる。
この場合には、主制御CPUが本実施形態における「主制御手段」に相当し、遊技媒体数制御CPUが「遊技媒体数制御手段」に相当する。
図51(第4実施形態)で示したように、遊技媒体数制御基板は設けられておらず、主制御基板50が設けられており、さらに、図51の構成とは異なるが、主制御基板50上に主制御CPUと遊技媒体数制御CPUとを別体で搭載することが挙げられる。
この場合には、主制御CPUが本実施形態の「主制御手段」に相当し、遊技媒体数制御CPUが本実施形態の「遊技媒体数制御手段」に相当する。
図51(第4実施形態)で示したように、遊技媒体数制御基板は設けられておらず、主制御基板50が設けられており、さらに図51に示すように、主制御基板50上に1つのCPU(図51中、「主CPU501」に相当)のみが搭載されている(遊技媒体数制御CPUは搭載されていない)ものが挙げられる。
この場合には、主CPU501が有する手段のうち、遊技の進行を制御する手段が本実施形態における「主制御手段」に相当する。また、主CPU501が有する手段のうち、遊技媒体を制御する手段が本実施形態における「遊技媒体数制御手段」に相当する。
さらに、「遊技媒体数制御RWM」とは、遊技媒体数の制御に係るデータを記憶しており、遊技媒体数制御手段によってアクセス可能なRWMを指し、たとえば図29中、第2主制御RWM103や、図51中、遊技媒体数制御RWM505に相当する。
また、「遊技媒体数制御ROM」とは、遊技媒体数の制御に係るデータやプログラムを記憶しており、遊技媒体数制御手段によってアクセス可能なROMを指し、たとえば、図29中、第2主制御ROM104や、図51中、遊技媒体数制御ROM504に相当する。
さらにまた、「副制御ROM」とは、副制御(演出)に係るデータやプログラムを記憶しており、副制御手段によってアクセス可能なROMを指し、たとえば図51の副制御ROM84に相当する。
第5実施形態においては、遊技媒体数制御手段は、総遊技媒体数が上限値を超えたか否か、及び閾値に到達したか否かを判断し、その判断結果に基づいて所定の処理を実行する。換言すれば、遊技媒体数制御手段は、総遊技媒体数が上限値を下回ったか否か、及び閾値を下回ったか否かを判断し、その判断結果に基づいて所定の処理を実行する。
遊技媒体数制御手段は、総遊技媒体数に所定数の遊技媒体を加算するときに、上限値に到達したか否か及び閾値に到達したか否かを判断する。
ここで、「総遊技媒体数の加算」は、第1に、入賞した小役に対応する遊技媒体を付与するときに実行される。また第2に、遊技媒体がベットされている場合において精算スイッチ46が操作されたときに実行される。さらにまた第3に、貸出しユニット200から遊技媒体が貸し出されるときに実行される。ここで、上限値に到達したか否か及び閾値に到達したか否かの判断は、遊技媒体の「1」加算時でもよく、所定数の遊技媒体の加算処理が終了したときでもよい。
また、「総遊技媒体数の減算」は、第1に、ベット処理に基づいて実行される。また第2に、計数処理に基づいて実行される。さらに、上限値を下回ったか否か及び閾値を下回ったか否かの判断は、遊技媒体の「1」減算時でもよく、所定数の遊技媒体のベット処理又は計数処理が終了したときでもよい。
さらにまた、以下の説明では、閾値は「15000」とする。ただし、閾値「15000」は例示であり、上記の上限値未満の値であれば、任意に設定可能である。たとえば、閾値は、「上限値(16383)-1回分の計数値(50)」未満(「16333」未満)の値であれば任意に設定可能である。
たとえば、遊技媒体の「1」加算前の総遊技媒体数が「16382」であるときは、遊技媒体を「1」加算して総遊技媒体数を「16383(上限値)」に更新することは可能である。これに対し、遊技媒体の「1」加算前の総遊技媒体数が「16383(上限値)」であるときは、遊技媒体の「1」加算処理を行わない。
また、第5実施形態では、総遊技媒体数が閾値「15000」に到達したときは、所定の制御処理(たとえば報知処理や、遊技媒体の貸出し禁止処理)を実行可能とし、総遊技媒体数が閾値未満になったときは、前記所定の制御処理を終了可能とする。
主制御手段及び遊技媒体数制御手段は、総遊技媒体数が上限値に到達しているか(上限値以上であるか)否かを判断するための上限値到達フラグをそれぞれ有している。上限値到達フラグは、主制御RWM、及び遊技媒体数制御RWMの所定記憶領域にそれぞれ設けられている。
遊技媒体数制御手段は、総遊技媒体数に「1」を加算した結果、上限値に到達したと判断したときは、上限値到達フラグを「1」にする。遊技媒体数制御手段は、上限値到達フラグを「1」にしたときは、主制御手段に対し、上限値到達情報を送信する。
副制御手段は、上限値報知フラグを有している。上限値報知フラグは、副制御RWMの所定記憶領域に設けられている。副制御手段は、主制御手段から上限値到達情報を受信したときは、上限値報知フラグを「1」にする。
副制御手段は、上限値報知フラグが「1」であるときは、演出ランプ21、スピーカ22、又は画像表示装置23の少なくとも1つによって、総遊技媒体数が上限値に到達した旨の報知(以下、「上限値到達報知」という。また、「エラー報知」ともいう。)を実行する。
遊技媒体数制御手段は、計数スイッチ47の操作に基づいて総遊技媒体数から「1」を減算した結果、総遊技媒体数が上限値未満になったと判断したときは、上限値到達フラグを「0」にする。遊技媒体数制御手段は、上限値到達フラグを「0」にしたときは、主制御手段に対し、上限値未到達情報を送信する。
主制御手段は、上限値未到達情報を遊技媒体数制御手段から受信したときは、上限値到達フラグを「0」にする。主制御手段は、上限値到達フラグを「0」にしたときは、副制御手段に対し、上限値未到達情報を送信する。
副制御手段は、上限値報知フラグが「1」から「0」になったときは、直ちに上限値到達報知を終了してもよいが、上限値報知フラグが「1」から「0」になった直後は上限値到達報知を継続し、上限値報知フラグが「1」から「0」になってから所定期間を経過した後等、所定の条件を満たしたときに、上限値到達報知を終了してもよい。
副制御手段は、前記所定タイマ値記憶領域の値が「0」でないときは、上限値到達報知を継続する。副制御手段は、前記所定タイマ値記憶領域の値が「0」になったときは、上限値到達報知の前記所定の終了条件を満たすと判断し、上限値到達報知を終了する。
図59は、主制御手段による遊技媒体付与処理を示すフローチャートである。
この遊技媒体付与処理は、有効ライン上に停止した図柄組合せを判断し、その判断結果に基づいて付与する遊技媒体数が決定された後に実行される処理である。たとえば、有効ライン上に、遊技媒体数「8」を付与可能な所定(小役)の図柄組合せが停止表示したと判断したときは、後述する付与遊技媒体数記憶領域に「8」が記憶され、その後、この遊技媒体付与処理が実行される。
遊技媒体付与タイマ値が「0」でないときは「0」になるまでステップS742における判断をループし、「0」であると判断したときはステップS743に進む。換言すると、ステップS742の処理は、ステップS743以降に進むこと(後述するステップS744の付与要求コマンドセット)を遅延させる処理となる。
たとえば、遊技媒体の付与数が「8」の場合において、最初の遊技媒体「1」を付与するときは、遊技媒体付与タイマ値に基づく待機処理は実行されない。図59のフローチャートの処理に移行した時点では、遊技媒体付与タイマ値は「0」であり、ステップS742において「Yes」と判断されるので、すぐに最初の遊技媒体「1」の付与処理が実行されるためである。これにより、主制御手段は、遊技媒体数制御手段に最初の遊技媒体「1」を総遊技媒体数に加算させるための処理を迅速に実行させることができる。
また、上記例では、ステップS743の処理において遊技媒体付与タイマ値として「27」を記憶したが、遊技媒体数表示部121に表示されている総遊技媒体が「1」ずつ更新されていく様子を遊技者に視認可能となる任意の数値(たとえば、「10」~「200」程度の範囲内の数値)を記憶してもよい。
ここで、第5実施形態では、遊技媒体数制御手段からの応答コマンドとして、少なくとも以下の2つを有する。
1)付与許可コマンド
付与許可コマンドは、遊技媒体数「1」を加算することを示す(許可する)コマンドである。
具体的には、遊技媒体数制御手段は、遊技媒体数「1」を付与することを示す付与要求コマンドを受信した後、総遊技媒体数に「1」を加算する場合に、加算前の総遊技媒体数が上限値に達していないと判断した場合には、主制御手段に対し、総遊技媒体数に「1」を加算することを示す付与許可コマンドを送信する。
付与拒否コマンドは、遊技媒体数「1」を加算しない(加算を許可しない、加算を禁止する)ことを示すコマンドである。
具体的には、遊技媒体数制御手段は、遊技媒体数「1」を付与することを示す付与要求コマンドを受信した後、総遊技媒体数に「1」を加算する場合に、加算前の総遊技媒体数が上限値に達していると判断した場合には、主制御手段に対し、総遊技媒体数に「1」を加算できないことを示す付与拒否コマンドを送信する。ここで、遊技媒体数制御手段は、付与要求コマンドを受信した場合において、加算前の総遊技媒体数が上限値に達していると判断したときは、総遊技媒体数に「1」を加算することなく、付与拒否コマンドを主制御手段に送信する。
また、「1」ずつ遊技媒体を付与する処理が高速で行われると、遊技者は、遊技媒体が「1」ずつ付与されたことを認識できなくなってしまう。このため、遊技媒体を「1」付与した後に遊技媒体付与タイマ値として「60.35」ms分(割込み処理「27」回分)をセットし、遊技媒体を「1」付与するごとに遊技媒体付与タイマ値を更新し、「60.35」msを経過した後に再度遊技媒体を「1」付与するようにしている。このように構成することにより、遊技者は、遊技媒体が「1」ずつ付与されたことを認識することができ、遊技の興趣を向上させることが可能となる。
まず、ステップS751において、遊技媒体数制御手段は、主制御手段から送信されてくる付与要求コマンドを受信したか否かを判断する。図59中、ステップS744において付与要求コマンドが送信されると、遊技媒体数制御手段は、ステップS751において付与要求コマンドを受信する。
付与要求コマンドを受信したときはステップS752に進む。ステップS752では、遊技媒体数制御手段は、遊技媒体数に「1」を加算する前の総遊技媒体数が上限値であるか否かを判断する。上限値でないと判断したときはステップS753に進み、すでに上限値であると判断したときはステップS755に進む。
一方、ステップS755に進んだときは、遊技媒体数制御手段は、付与拒否コマンドを主制御手段に送信する。そして本フローチャートによる処理を終了する。したがって、この場合には、総遊技媒体数の更新(「1」加算処理)は行われない。
たとえば、主制御手段が遊技媒体数「8」を付与する場合に、遊技媒体数制御手段に対し、遊技媒体数「8」を総遊技媒体数に加算可能であるか否かの付与要求コマンドを送信する。遊技媒体数制御手段は、当該付与要求コマンドを受信すると、総遊技媒体数に「8」を加算すると上限値を超えるか否かを判断し(「総遊技媒体数+付与数>16383」が「Yes」となるか否かを判断し)、上限値を超える場合(「Yes」と判断した場合)は、総遊技媒体数に「8」を加算不可能である旨のコマンド(付与拒否コマンド)を主制御手段に送信する。主制御手段は、当該付与拒否コマンドを受信したときは、再度、遊技媒体数制御手段に対し、総遊技媒体数に「8」を加算可能であるか否かの付与要求コマンドを送信する。
一方、上限値を超えないと判断した場合は、総遊技媒体数に「8」を加算可能である旨の付与許可コマンドを主制御手段に送信する。そして、遊技媒体数制御手段は、総遊技媒体数に「8」を加算して、遊技媒体付与処理を終了する。
遊技媒体数制御手段及び主制御手段は、それぞれ、総遊技媒体数が閾値に到達しているか否かを判断するための閾値到達フラグを有している。主制御手段の閾値到達フラグは主制御RWMに設けられ、遊技媒体数制御手段の閾値到達フラグは遊技媒体数制御RWMに設けられている。
遊技媒体数制御手段は、総遊技媒体数に「1」を加算した結果、閾値に到達したと判断したときは、閾値到達フラグを「1」にする。
遊技媒体数制御手段は、閾値到達フラグを「1」にしたときは、主制御手段に対し、閾値到達情報(コマンド)を送信する。
主制御手段は、閾値到達情報を遊技媒体数制御手段から受信したときは、閾値到達フラグを「1」にする。
主制御手段は、閾値到達フラグを「1」にしたときは、副制御手段に対し、閾値到達情報(コマンド)を送信する。なお、ここでの「閾値到達情報」は、換言すれば、報知要求情報である。
副制御手段は、主制御手段から閾値到達情報を受信したときは、閾値報知フラグを「1」にする。
副制御手段は、閾値報知フラグが「1」であるときは、演出ランプ21、スピーカ22、画像表示装置23の少なくとも1つによって、閾値到達報知を行うことを可能とする。ここでの「閾値到達報知」は、換言すれば、注意喚起報知である。
また、遊技媒体数制御手段は、総遊技媒体数が閾値に到達しているときは、貸出ユニット200に送信する貸出受領結果応答として、異常を送信する。
遊技媒体数制御手段は、総遊技媒体数から「1」を減算した結果、閾値未満になったと判断したときは、閾値到達フラグを「0」にする。
遊技媒体数制御手段は、閾値到達フラグが「0」であるときは、主制御手段に対し、閾値未到達情報を送信する。
主制御手段は、閾値未到達情報を遊技媒体数制御手段から受信したときは、閾値到達フラグを「0」にする。
主制御手段は、閾値到達フラグが「0」であるときは、副制御手段に対し、閾値未到達情報を送信する。
副制御手段は、閾値未到達情報を主制御手段から受信したときは、閾値報知フラグを「0」にする。
副制御手段は、閾値報知フラグが「0」であるときは、閾値到達報知行わなくてもよい。
この場合、副制御手段は、閾値報知フラグが「1」から「0」になったと判断したときは、副制御RWMに設けた所定のタイマ値記憶領域に所定値を記憶し、副制御手段における割込み処理ごと(たとえば「1」msごと)に「1」を減算する処理を実行する。
副制御手段は、当該所定のタイマ値が「0」でないときは、閾値到達報知を継続する。
副制御手段は、当該所定のタイマ値が「0」になったときは、閾値到達報知の終了条件を満たすと判断して閾値到達報知を終了可能とする。
たとえば、到達情報のうち、閾値到達情報をD0ビットとし、「1」であるときは閾値に到達していることを示す情報とする。また、上限値到達情報をD1ビットとし、「1」であるときは上限値に到達していることを示す情報とする。
この場合、到達情報が「00000001(B)」であるときは、閾値到達情報が「1」、上限値到達情報が「0」であるので、閾値には到達しているが上限値には到達していないことを示す情報となる。
また、到達情報が「00000011(B)」であるときは、閾値到達情報が「1」、かつ上限値到達情報が「1」であるので、閾値及び上限値に到達していることを示す情報となる。
なお、上限値に到達しているときは閾値に到達していることは明らかであるから、上限値(及び閾値)に到達しているときの到達情報を「00000010(B)」としてもよい。
たとえば、主制御手段は、「上限値(16383)-現在の総遊技媒体数=余裕数」を演算し、余裕数を副制御手段に送信する。副制御手段は、受信した余裕数を画像表示する。あるいは、主制御手段は、副制御手段に対して、現在の総遊技媒体数の情報のみを送信する。副制御手段は、主制御手段から送信されてきた現在の総遊技媒体数を受信した場合において、閾値到達情報が「1」であるときは、「上限値(16383)-現在の総遊技媒体数=余裕数」を演算し、演算結果(余裕数)を画像表示することが挙げられる。
ただし、これに限らず、副制御手段は、主制御手段から送信されてきた到達情報が「0」であるか否かを判断し、「0」でないと判断したときは、計数スイッチを促す旨の報知を行ってもよい。この場合には、上限値に到達したか否かは判断せず、少なくとも閾値に到達していると判断する。
この場合、副制御手段は、到達情報を受信しても、閾値に到達したことは判断できるが、上限値に到達しているか否かは判断できない。このため、副制御手段は、閾値到達時と上限値到達時とで、報知演出(報知内容)を異ならせることはできない。したがって、副制御手段は、「1」の到達情報を受信したときは、閾値に到達したとき及び上限値に到達したときとで共通する報知を行う。この場合には、副制御手段は、単に「計数スイッチを操作してください。」と画像表示装置23に表示することが挙げられる。このようにすれば、主制御手段が副制御手段に送信するコマンドの容量を小さくできるため、プログラム容量を削減することが可能となる。
遊技媒体数制御手段は、総遊技媒体数が閾値に到達したと判断したときは、オーバーフロー信号をオンにする(オーバーフロー信号を立ち上げる)。オーバーフロー信号のオン状態は、総遊技媒体数が閾値未満になるまで維持される。遊技媒体数制御手段は、総遊技媒体数が閾値未満になったと判断したときは、オーバーフロー信号をオフにする(オーバーフロー信号を立ち下げる)。
遊技媒体数制御手段は、オーバーフロー信号を主制御手段に送信する。主制御手段は、オーバーフロー信号がオンになっていると判断したときは、試験用IF(インタフェース)基板にオーバーフロー試験信号を出力するための処理を行う。
そして、試験用IF基板にオーバーフロー試験信号を出力するための処理が実行されているときは、計数スイッチ47が操作されたものとみなし、計数処理が実行される。
主制御手段は、オーバーフロー試験信号を出力するための処理を開始するとき、換言すれば、オーバーフロー試験信号をオンにするときは、オーバーフロー試験信号タイマ値を記憶する。オーバーフロー試験信号タイマ値は、オーバーフロー試験信号をオンにする時間を管理するためのものであり、主制御RWMに設けられている。オーバーフロー試験信号を出力するための処理は、オーバーフロー試験信号タイマ値が「0」であると判断されるまで実行される。
遊技媒体数制御手段は、総遊技媒体数が閾値未満になったと判断したときは、主制御手段へのオーバーフロー信号の送信処理を終了する。
主制御手段は、オーバーフロー信号がオフになったと判断したとき(オーバーフロー信号の立ち下がりを検出したとき)は、オーバーフロー試験信号タイマ値の減算を開始する。オーバーフロー試験信号は、オーバーフロー信号がオフになった後もオーバーフロー試験信号タイマ値が「0」になるまで、オンの状態が維持され、オーバーフロー試験信号タイマ値が「0」となったときにオフになる。オーバーフロー試験信号タイマ値の減算は、たとえば主制御手段において割込み処理ごと(「2.235」msごと)に「1」減算することが挙げられる。
上述した例では、主制御手段が、減算前のオーバーフロー試験信号タイマ値が「0」であるか否かを判断し、減算前のオーバーフロー試験信号タイマ値が「0」でないと判断したときはオーバーフロー試験信号をオンにしている例を説明した。しかし、これに限らず、減算後のオーバーフロー試験信号タイマ値が「0」であるか否かを判断し、減算後のオーバーフロー試験信号タイマ値が「0」でないと判断したときはオーバーフロー試験信号をオンにしてもよい。
つまり、遊技媒体数制御手段がオーバーフロー信号をオンにして主制御手段がオーバーフロー試験信号をオンにしたときに計数スイッチ信号がオンになり、計数遊技媒体数として「50」が計数され、その後、遊技媒体数制御手段による計数処理が実行されたことにより総遊技媒体数が閾値である「15000」を下回る。
さらに、遊技媒体数制御手段がオーバーフロー信号をオフにした後も主制御手段の割込み処理「1209」回にわたってオーバーフロー試験信号のオンが維持されるため、計数スイッチ47が「2702.115」ms間、オンになっている疑似状態とすることできる。これにより、遊技機情報通知の9回分の計数遊技媒体数として「450」が計数されることになる。
これにより、試射試験中に総遊技媒体数が閾値「15000」以上となった後に、計数遊技媒体数「500」を総遊技媒体数から減算できるため、オーバーフロー信号がオフになった後にすぐにオーバーフロー信号がオンになってしまうこと(総遊技媒体数が閾値未満になった後、すぐにまた閾値に到達してしまうこと)を防止でき、試射試験中の遊技機10がATや役物作動時等の有利な状態であっても総遊技媒体数が閾値「15000」以上となったことによる計数処理の実施頻度を少なくできるので、遊技機10の誤作動や試射機試験中のエラー音の出力頻度を少なくすることができる。
また、上述した例では、主制御手段は、毎割込み処理ごとにオーバーフロー試験信号タイマ値を更新する例を説明したが、これに限らず、2割込みに1回や3割込みに1回の頻度でオーバーフロー試験信号タイマ値を更新してもよい。この場合には、オーバーフロー試験信号タイマ値を小さい値にすることができる。たとえば主制御手段が5割込みに1回オーバーフロー試験信号タイマ値を更新する場合、オーバーフロー試験信号タイマ値として、上記例「1209」に代えて、「242」にすることが可能となる。このようにすれば、オーバーフロー試験信号タイマ値を1バイト以内にすることができ(主制御RWMの容量を節約でき)、かつ、オーバーフロー試験信号をオンにする時間を「2704.35」msとすることができる。
遊技媒体数制御手段は、「1」msごとに割込み処理を実行する。ただし、これに限らず、主制御手段と同じ「2.235」msごとに実行してもよい。
図61は、遊技媒体数制御手段の割込み処理(I_INTR)を示すフローチャートである。なお、図61では、第5実施形態に関係する処理を抜粋して示したものであり、図61に記載された処理に限られるものではない。
図61において、ステップS801では、遊技媒体数制御手段は、入力ポート読込み処理(I_IN_READ )を実行する。この処理は、後述する図62に示す処理であり、特に第5実施形態では、計数スイッチ47が操作されたか否かを検知し、計数スイッチ47の操作態様に応じた処理を実行する。
次のステップS803では、遊技媒体数制御手段は、計数制御(I_CAL_CTL )を実行する。この処理は、後述する図68に示す処理であり、計数通知を送信するタイミングが到来したか否かを判断し、計数通知を送信するタイミングが到来したと判断したときは、計数通知を送信する処理を実行するものである。
次のステップS805では、遊技媒体数制御手段は、貸出制御(I_LEN_CTL )を実行する。この処理は、後述する図69(例1)~図72(例4)のいずれか1つに相当する処理であり、受信した貸出通知に基づいて、総遊技媒体数の更新処理や貸出受領結果応答の送信処理等を実行するものである。
図62において、ステップS811では、遊技媒体数制御手段は、計数スイッチ47が操作されたか否かを判断する。ここでは、計数スイッチ47が操作されたときにオンになるレベルデータ(計数スイッチ信号)が「1」であるか否かを判断する。計数スイッチ47が操作されていないと判断したときはステップS812に進み、計数スイッチ47が操作されていると判断したときはステップS816に進む。
ステップS812において計数実行タイマ値が「0」であると判断したときはステップS815に進み、計数実行タイマ値が「0」でないと判断したときはステップS813に進む。
具体的に説明すると、計数スイッチ47が操作された(オンにされた)後、計数実行タイマ値が「500」に到達する前に計数スイッチ47がオフにされたときは、ステップS814において計数実行フラグが「1」になる。なお、遊技媒体数制御手段によるタイマ割込み処理ごと(「1」msごと)に計数実行タイマ値がステップS817で「1」加算されるので、計数スイッチ47がオンにされた後、計数実行タイマ値が「500」に到達するのは、約「500」ms後である。
ステップS814では、遊技媒体数制御手段は、計数実行フラグに「1」を保存する。換言すれば、計数スイッチ47が(オンから)オフになり、計数実行タイマ値が「0」でなく、かつ、計数実行フラグが「0」であるときは、計数スイッチ47が短押しされたことを意味するので、計数実行フラグを「1」にする。次にステップS815に進み、計数実行タイマをクリアする。そして本フローチャートによる処理を終了する。
なお、後述する計数処理が実行されると、計数実行フラグがクリアされる(図68のステップS846)。
ステップS817では、遊技媒体数制御手段は、計数実行タイマ値に「1」を加算する。次にステップS818に進み、遊技媒体数制御手段は、計数実行タイマ値(ステップS817で「1」加算後の値)を保存する。そして本フローチャートによる処理を終了する。
一方、ステップS816において計数実行タイマ値が「500」に到達したと判断され、ステップS819に進むと、遊技媒体数制御手段は、計数実行フラグに「2」を保存する。そして本フローチャートによる処理を終了する。
一方、計数スイッチ信号がオンになった後、計数実行タイマ値が「500」に到達する前に計数スイッチ信号がオフになったときは、計数実行フラグが「1」になる。そして、その後は計数実行タイマ値は更新されない。
ここで、第2実施形態における遊技機情報管理(図41)と第5実施形態における遊技機情報管理(図631)との相違点について説明する。
第2実施形態では、遊技機情報通知の遊技機情報の優先度は、例外なく、第1優先が遊技機設置情報(「60」秒ごと)、第2優先が遊技機性能情報(「180」秒ごと)、最後にホールコン・不正監視情報(「300」msごと)であった。
これに対し、第5実施形態では、
(a)主制御状態に変化がなく、遊技媒体のベット(投入)がなく、かつ、遊技媒体の付与(払出し)がない場合には、
第1優先:遊技機設置情報
第2優先:遊技機性能情報
最後:ホールコン・不正監視情報
である(第2実施形態と同じ)。
(b)主制御状態に変化があった場合、遊技媒体のベット(投入)があった場合、又は遊技媒体の付与(払出し)があった場合のいずれかである場合には、
第1優先:ホールコン・不正監視情報
第2優先:遊技機設置情報
最後:遊技機性能情報
である。
以下、図63の遊技機情報管理について、第2実施形態(図41)と重複する部分も含めて改めて説明する。
まず、ステップS721では、遊技機情報通知タイマAから「1」を減算する(遊技機情報通知タイマAを更新する)。次にステップS722に進み、更新前の遊技機情報通知タイマAの値が「0」であるか否かを判断する。ステップS721の減算処理においてキャリーフラグが「1」となったときは、更新前の遊技機情報通知タイマAの値が「0」であると判断する。なお、更新前の遊技機情報通知タイマAの値が「0」であったためにキャリーフラグが「1」となるのは、電源投入時に遊技機情報通知タイマAの値が「0」にされた(初期化された)後に「1」減算された場合に相当する。更新前の遊技機情報通知タイマAが「0」であると判断したときはステップS823に進み、「0」でないと判断したときはステップS723に進む。
更新前の遊技機情報通知タイマAの値が「1」であるときは、「300」ms周期のタイミング、すなわちホールコン・不正監視情報を含む遊技機情報通知の送信タイミングであることを意味する。
このように、電源投入時の初期化処理により、遊技機情報通知タイマAの値が「0」にされるが、それ以外は、ステップS721の処理後からステップS724の処理前の期間を除き、遊技機情報通知タイマAの値が「0」になることはない(異常時を除く)。
また、遊技機情報通知タイマBに「199」が記憶されているときに「1」を加算する状況とは、遊技機情報通知タイマAが「0」となった契機が「200」回到来した状況に相当する。換言すれば、割込み処理が「300」回実行されるごとに遊技機情報通知タイマBが「1」ずつ加算されるため、「300回×200回=60000回」の割込み処理が実行された(「60」秒が経過した)状況である。
また、遊技機情報通知タイマBに「1」加算する演算命令としては、ICPLD命令が挙げられる。
なお、上記例では遊技機情報通知タイマBに「1」加算する命令を実行しているが、「1」減算する命令としてもよい。減算命令の場合は、電源投入時に遊技機情報通知タイマBに初期値として「200」を記憶し、その後「0」となったときに「200」を記憶してもよい。あるいは、電源投入時に遊技機情報通知タイマBに初期値として「199」を記憶し、その後、キャリーフラグが「1」となったときに「200」を記憶してもよい。
遊技機情報通知タイマBの時間が経過したと判断したときはステップS727に進み、経過していないと判断したときはステップS821に進む。
ステップS727では、遊技機情報通知タイマCに「1」加算する処理を実行する。
ここでの加算処理は、特殊加算命令が用いられる。具体的には、遊技機情報通知タイマBに「2」未満の値が記憶されているときは遊技機情報通知タイマCの値に「1」を加算し、遊技機情報通知タイマCの値が「2」未満でないとき(すなわち、正常動作状況下において「3」が記憶されているとき)は、遊技機情報通知タイマCに「0」を記憶する演算処理である。
また、遊技機情報通知タイマCに「2」が記憶されているときに「1」を加算する状況とは、遊技機情報通知タイマBが「0」となった契機が「3」回到来した状況に相当する。換言すれば、割込み処理が「300」回実行されるごとに遊技機情報通知タイマBが「1」加算され、遊技機情報通知タイマBが「200」回更新されるごとに遊技機情報通知タイマCに「1」が加算されることから、「300回×200回×3回=180000回」の割込み処理が実行された(「180」秒が経過した)状況である。
また、遊技機情報通知タイマCに「1」加算する演算命令としては、上述したICPLD命令が挙げられる。
なお、上記例では遊技機情報通知タイマCに「1」加算する命令を実行しているが、減算命令としてもよい。減算命令の場合は、電源投入時に遊技機情報通知タイマCの値として初期値「3」を記憶し、その後「0」となったときに「3」を記憶してもよい。あるいは、電源投入時に遊技機情報通知タイマCの値として初期値「2」を記憶し、その後、キャリーフラグが「1」となったときに「3」を記憶してもよい。
遊技機情報通知タイマCの時間が経過したと判断したときはステップS729に進み、経過していないと判断したときはステップS730に進む。
すなわち、遊技機情報通知タイマCの時間が経過したと判断されたときは、「180」秒の周期が到来したときであり、「180」秒の周期には「60」秒の周期が含まれるため、遊技機性能情報を通知するタイミングが到来し、かつ遊技機設置情報を通知するタイミングが到来したときである。したがって、遊技機情報通知要求フラグの「D0」及び「D1」ビットの双方を「1」にする。
主制御手段は、遊技媒体数制御手段に対し、主制御状態の送信タイミングが到来するごと(たとえばタイマ割込み処理ごと)に、主制御状態の情報を送信する。
一方、遊技媒体数制御手段は、新主制御状態記憶領域と、旧主制御状態記憶領域とを有している。遊技媒体数制御手段は、主制御手段から主制御状態の情報を受信したときは、新主制御状態記憶領域に受信した主制御状態の情報を記憶する。一方、後述するホールコン・不正監視情報セットが実行されると、遊技媒体数制御手段は、新主制御状態記憶領域に記憶されている主制御状態の情報を、旧主制御状態記憶領域に記憶する(後述する図64のステップS793及びS794)。このため、ステップS821の判断時には、新主制御状態記憶領域と旧主制御状態記憶領域の双方に、主制御状態の情報が記憶されている。
このように、主制御手段から受信した主制御状態の情報を、新主制御状態記憶領域と旧主制御状態記憶領域とに分けて記憶しておくことにより、主制御手段から主制御状態の情報を受信していなくても、主制御状態に変化がないことを判断することができ、遊技機情報の優先度を把握することができる。
たとえば新主制御状態記憶領域に「0」が記憶され、旧主制御状態記憶領域に「0」が記憶されているとする。
この状態において、ステップS821の判断タイミングが到来すると、新主制御状態記憶領域の値(「0」)と旧主制御状態記憶領域の値(「0」)は同一であるので、主制御状態に変化はないと判断される。
また、ホールコン・不正監視情報セットが実行されると、新主制御状態記憶領域の値「0」が取得され、旧主制御状態記憶領域に保存される。ただし、この処理が実行されても、新主制御状態記憶領域の値及び旧主制御状態記憶領域の値は「0」のままである。
この状態において、ステップS821の判断タイミングが到来すると、新主制御状態記憶領域の値(「1」)と旧主制御状態記憶領域の値(「0」)は異なるので、主制御状態に変化があると判断される。
したがって、「300」ms経過後に再度遊技機情報管理が実行されると、ステップS821では、新主制御状態記憶領域の値及び旧主制御状態記憶領域の値はいずれも「1」であるから主制御状態に変化はないと判断される。
このように、主制御状態に変化があったときは、主制御状態に変化ありと判断されるのは1回だけとなる。
第5実施形態では、遊技媒体数制御RWMには、今回遊技のベット数情報を記憶するベット数情報記憶領域と、今回遊技の遊技媒体の付与数情報を記憶する付与数情報記憶領域とを有している。これらのベット数情報記憶領域や付与数情報記憶領域は、ベット処理や付与処理で用いられる記憶領域や、役比モニタで用いられるベット数や付与数の記憶領域とは異なる記憶領域であり、遊技機情報管理で用いられるための記憶領域である。
また、主制御手段は、全リールが停止したと判断したときは、全リール停止コマンドを遊技媒体数制御手段に送信する。遊技媒体数制御手段は、全リール停止コマンドを受信したときに、遊技媒体の付与数を生成して付与数情報記憶領域に付与数情報を記憶する。
なお、遊技媒体が付与されてから「300」ms以内に次回遊技が開始されたり、遊技が開始されてから「300」ms以内に遊技媒体が付与されたりすれば、次回の遊技機情報管理においてもステップS822で「Yes」と判断されることになるが、そのような事象は稀であると考えられる。
遊技機設置情報の通知要求があると判断したときはステップS825に進み、遊技機設置情報の通知要求がないと判断したときはステップS732に進む。
遊技機性能情報の通知要求があると判断したときはステップS824に進み、遊技機性能情報の通知要求がないと判断したときはステップS823に進む。
なお、ステップS722において、遊技媒体数制御手段は、遊技機情報通知タイマAの更新前の値が「0」であると判断したときは、遊技機情報通知タイマBや遊技機情報通知タイマCの時間が経過したか否かの判断(ステップS726やステップS728の処理)を実行することなく、ホールコン・不正監視情報セットを実行する。その理由は、遊技機情報通知タイマAの更新前の値が「0」であるのは、電源投入直後の最初の割込み処理での減算処理時に限られるからである。換言すれば、電源投入直後の最初の割込み処理での減算処理時に、「60」秒や「180」秒が経過していることはあり得ないからである。このような場合には、遊技機情報通知タイマBや遊技機情報通知タイマCの時間が経過したか否かの判断を実行することなくホールコン・不正監視情報セットを実行することで、処理の迅速化(送信処理の高速化)を図ることができる。
たとえば、ホールコン・不正監視情報に含まれる総遊技媒体数は、送信時点における遊技媒体数記憶手段103a(_NB_MEDAL )に記憶されている情報を送信する。換言すれば、ホールコン・不正監視情報の送信タイミングである「300」msごとの送信タイミングにおいて遊技機設置情報や遊技機性能情報の送信タイミングと重なった場合には、ステップS821又はステップS822で「Yes」と判断される場合を除き、遊技機設置情報や遊技機性能情報の送信が優先されるため、当該タイミングではホールコン・不正監視情報を送信せず、次の「300」ms経過後(遊技機設置情報の送信タイミングと重なった場合)又は「600」ms経過後(遊技機設置情報及び遊技機性能情報の送信タイミングと重なった場合)にホールコン・不正監視情報を送信する。
この「「300」ms経過後又は「600」ms経過後に送信するホールコン・不正監視情報」については、遊技機設置情報の送信タイミングと重なった時点でのホールコン・不正監視情報ではなく、「300」ms経過後又は「600」ms経過後にホールコン・不正監視情報を送信するタイミングで取得したホールコン・不正監視情報である。したがって、ホールコン・不正監視情報の送信タイミングが遅れても、最新の情報を送信することが可能となる。
一方、ステップS732からステップS824に進むと、遊技媒体数制御手段は、遊技機性能情報セット(I_INF_INJ )を実行する。この処理は、後述する図65に示す処理であり、遊技機性能情報を含む遊技機情報通知を出力する処理である。また、このときに送信する内容は、このタイミングで取得した遊技媒体数制御RWM等に記憶されている情報である。
これに対し、ステップS821及びS822の判断タイミングで、主制御状態に変化がある場合、又は遊技媒体のベット数情報が「0」でない場合若しくは付与数情報が「0」でない場合は、ホールコン・不正監視情報が、遊技機設置情報及び遊技機性能情報より優先して送信される。
まず、ステップS791では、遊技媒体数制御手段は、ホールコン・不正監視情報をセットする。この処理は、ホールコン・不正監視情報を含む遊技機情報通知を送信する処理である。
次のステップS792では、遊技媒体数制御手段は、ベット数情報及び付与数情報をクリアする。この処理は、上述したベット数情報記憶領域に記憶されているベット数情報及び付与数情報記憶領域に記憶されている付与数情報を「0」にする処理である。
同様に、ホールコン・不正監視情報セットが実行されるごとに付与数情報がクリアされるので、次の遊技情報通知を送信するタイミングでは、付与数情報が「0」でないことに基づいてホールコン・不正監視情報の送信が優先されることはない。
まず、ステップS851では、遊技媒体数制御手段は、遊技機性能情報をセットする。この処理は、遊技機能性情報を含む遊技機情報通知を送信する処理である。次にステップS852に進み、遊技媒体数制御手段は、遊技機性能情報通知要求フラグをクリアする。具体的には、遊技機情報通知要求フラグの「D0」ビットを「0」にする。この処理は、図41のステップS737の処理と同じである。その後、ステップS853に進み、遊技媒体数制御手段は、通番を更新(「1」加算)する。そして本フローチャートによる処理を終了する。
まず、ステップS855では、遊技媒体数制御手段は、遊技機設置情報をセットする。この処理は、遊技機設置情報を含む遊技機情報通知を送信する処理である。次にステップS856に進み、遊技媒体数制御手段は、遊技機設置情報通知要求フラグをクリアする。具体的には、遊技機情報通知要求フラグの「D1」ビットを「0」にする。この処理は、図41のステップS735の処理と同じである。その後、ステップS857に進み、遊技媒体数制御手段は、通番を更新(「1」加算)する。そして本フローチャートによる処理を終了する。
図67は、第5実施形態における遊技機情報通知タイマの更新シーケンスを示す図(タイムチャート)であり、第2実施形態の図40に相当する図である。図63中、ステップS821で「No」と判断され、かつステップS822で「No」と判断される場合は、遊技機情報通知の優先度は第2実施形態と同じであり、図40に示す更新シーケンスと同じである。
これに対し、図67では、ホールコン・不正監視情報が遊技機設置情報や遊技機性能情報よりも優先される場合の例を示している。
図67において、「T1」のタイミングで、ホールコン・不正監視情報送信用タイマ値が「1」から「300」になった例を示しており、さらにこのタイミングにおいて、主制御状態が変化していたものとする。さらに「T1」のタイミングでは、遊技機設置情報送信用タイマ値が「199」から「0」になり、遊技機設置情報通知要求フラグ(D1ビット)が「1」になった例を示している(図中「*2」)。換言すれば、「T1」のタイミングでは、ホールコン・不正監視情報及び遊技機設置情報の送信タイミングが重複して到来している例である。
同様に、「T3」のタイミングでは、遊技機性能情報通知要求フラグ(D0ビット)が「1」になるものの、遊技機性能情報は送信されない(図中「*7」)。
この場合、当該ホールコン・不正監視情報と遊技機性能情報とでは、遊技機性能情報の送信が優先される。このため、「T5」のタイミングでは、ホールコン・不正監視情報は送信されず(図中「*11」)、遊技機性能情報が送信される(図中「*12」)。そして、この送信後に遊技機性能情報通知要求フラグ(D0ビット)が「0」になる。
なお、第2実施形態と同様に、第5実施形態においても、遊技媒体数制御RWMには以下の記憶領域を備える。
(a)計数中フラグ(_FL_CAL_EXE )
計数中であるか否かを示すデータを記憶する記憶領域である。
(b)計数値記憶領域(_CT_CAL_VAL )
計数通知時に送信する計数値(計数遊技媒体数)を記憶する記憶領域である。
(c)計数累積値記憶領域(_CT_CAL_ALL )
計数累積値(計数累積遊技媒体数)を記憶する記憶領域である。
(d)計数通番記憶領域(_NB_CAL_NUM)
計数通番を記憶する記憶領域である。
計数通知タイミングであると判断されたときはステップS832に進み、計数通知タイミングでないと判断されたときは本フローチャートによる処理を終了する。
ステップS834では、遊技媒体数制御手段は、総遊技媒体数が「0」であるか否かを判断する。総遊技媒体数が「0」でないと判断したときはステップS835に進み、総遊技媒体数が「0」であると判断したときはステップS848に進む。
次にステップS836に進み、遊技媒体数制御手段は、計数実行フラグが「2」であるか否かを判断する。なお、計数実行フラグが「2」であるというのは、計数スイッチ47が長押しされたことを意味する。計数実行フラグが「2」であると判断されたときはステップS837に進み、計数実行フラグが「2」でないと判断されたときはステップS847に進む。
ステップS838では、総遊技媒体数を計数値としてセットする。そして次のステップS839に進んで計数値を保存する。
一方、ステップS833において計数実行フラグが「0」である(計数スイッチ47が操作されていない)と判断され、ステップS848に進むと、遊技媒体数制御手段は、計数値として「0」をセットする。そしてステップS839に進んで計数値「0」を保存する。
なお、本処理が開始される前は、計数値は「0」であるので(前回処理のステップS844で計数値がクリアされているため)、ステップS848の処理はなくてもよい。したがって、ステップS833で「Yes」と判断されたときは、ステップS839に進むようにしてもよい。
(1)計数スイッチ47が操作されていないときは、計数値「0」がセットされる。
(2)計数スイッチ47が操作された場合であっても、総遊技媒体数が「0」であるときは、計数値「0」がセットされる。
(3)計数スイッチ47が短押しされた場合において、総遊技媒体数が「0」でないときは、計数値「1」がセットされる。
(4)計数スイッチ47が長押しされた場合において、総遊技媒体数が「50」以上であるときは、計数値「50」がセットされる。
(5)計数スイッチ47が長押しされた場合において、総遊技媒体数が「50」未満であるときは、総遊技媒体数が計数値としてセットされる。
こととなる。
次にステップS841に進み、遊技媒体数制御手段は、計数累積値記憶領域の値に計数値を加算して、計数累積値記憶領域の値を更新する。
次にステップS842に進み、遊技媒体数制御手段は、計数中フラグをセット(「FFh」を記憶)する。
次のステップS844では、遊技媒体数制御手段は、計数値をクリアする。なお、計数累積値記憶領域に記憶されている値は、計数通知を出力する(した)タイミングではクリアしない。
また、遊技媒体数制御手段は、計数中フラグに基づいた情報を主制御手段に送信する。これにより、主制御手段は、計数中であることを判断することができる。また、たとえば主制御手段から副制御手段に対して計数中であることを示す情報を送信することにより、副制御手段は、計数中に対応した演出を行うことができる。
次にステップS846に進み、計数実行フラグをクリアする(「0」にする)。そして本フローチャートによる処理を終了する。
しかし、遊技媒体をベット可能な状況下で計数スイッチ47が操作された場合には、計数スイッチ47の操作に基づいた演出を実行するが、設定変更モード中や設定確認モード中に計数スイッチ47が操作された場合には、計数スイッチ47の操作に基づく演出を実行しないようにしてもよい。このように構成にするのは、設定変更モード中や設定確認モード中に計数スイッチ47が操作されるような場合には、ホール店員が計数している可能性が高いため(遊技者ではない可能性が高いため)である。
しかし、遊技媒体をベット可能な状況下で計数スイッチ47が操作された場合には、計数スイッチ47の操作に基づいた演出を実行するが、エラー中に計数スイッチ47が操作された場合には、計数スイッチ47の操作に基づく演出を実行しないようにしてもよい。このように構成にするのは、エラー中に計数スイッチ47が操作されるような場合には、不正行為が行われているおそれがあるためである。
さらに、エラーの種類に応じて計数処理が不可能な状況と可能な状況とを設けてもよい。たとえば、復帰不可能エラーの発生中は計数処理を不可能とし、復帰可能エラーの発生中は計数処理を可能とすることが挙げられる。
しかし、遊技媒体をベット可能な状況下で計数スイッチ47が操作された場合には、計数スイッチ47の操作に基づいた演出を実行するが、遊技中に計数スイッチ47が操作された場合には、計数スイッチ47の操作に基づく演出を実行しないようにしてもよい。このように構成にするのは、遊技中に計数スイッチ47が操作されるような場合には、不正行為が行われているおそれがあるためである。
第5実施形態では、総遊技媒体が閾値「15000」に到達したときは、貸出しユニット200による遊技媒体の貸出しを新規又は制限し、総遊技媒体が閾値「15000」未満になったことに基づいて、再度、貸出しユニット200による遊技媒体の貸出しを許可可能とする。
遊技媒体数制御手段は、総遊技媒体数が閾値「15000」に到達したことに基づいて、貸出ユニット200からの貸出通知に対応する貸出受領結果応答として、「異常」を送信可能とする。図30に示すように、貸出遊技媒体数受領結果が正常であるときは貸出受領結果応答として「0」を送信し、貸出遊技媒体数受領結果が異常であるときは貸出し領結果応答として「1」を送信する。
遊技が消化され、総遊技媒体数が閾値「15000」未満になったときは、遊技媒体数制御手段は、貸出ユニット200からの貸出通知に対応する貸出受領結果応答として、正常を送信する。
貸出ユニット200は、貸出受領結果応答が正常であるときは、貸出しスイッチ202の操作を有効にする。
ステップS861では、遊技媒体数制御手段は、貸出通番を取得する。この処理は、遊技媒体数制御RWMに記憶している貸出通番(前回の貸出受領結果応答で送信した貸出通番)を読み込む処理である。次にステップS862に進み、読み込んだ貸出通番に「1」を加算する。次のステップS863では、「1」加算した貸出通番が「0」であるか否かを判断し、「0」でなければステップS864に進み、「0」であればステップS862に戻って再度「1」を加算してステップS863の処理を実行する。貸出通番は、電源投入直後のみが「0」であり、それ以外は「1」以上の値をとるためである。
次のステップS866では、遊技媒体数制御手段は、貸出遊技媒体数が「0」であるか否かを判断する。貸出遊技媒体数は、貸出しユニット200から送信されてくる貸出通知中に含まれる(図30)。貸出遊技媒体数が「0」であると判断したときはステップS871に進み、貸出遊技媒体数が「0」でないと判断したときはステップS8671に進む。
ステップS867では、遊技媒体数制御手段は、総遊技媒体数を取得する。そして次のステップS868において、取得した総遊技媒体数が閾値「15000」以上であるか否かを判断する。閾値「15000」以上でないと判断したときはステップS869に進み、閾値「15000」以上であると判断したときはステップS874に進む。
一方、ステップS864において貸出通番が正常でないと判断したときは、ステップS873に進んで通番異常フラグをセットする。さらに次のステップS874において、貸出遊技媒体数受領結果として、異常(「1」)を保存する。したがって、総遊技媒体数にかかわらず、貸出通番が異常であったときは、貸出遊技媒体数受領結果として異常をセットする。
以下に、具体例を挙げて説明する。
貸出しユニット200のその時点における貸出可能遊技媒体数が「N」であり、貸出しユニット200が貸出遊技媒体数「50」のデータを含む貸出通知を送信した場合に、遊技媒体数制御手段は、貸出通番が正常であり、かつ総遊技媒体数(この時点における総遊技媒体数を「M」とする。)が閾値未満であると判断したときは、総遊技媒体数を「M+50」に更新し、貸出遊技媒体数受領結果が正常である旨の貸出受領結果応答を貸出しユニット200に送信する。貸出しユニット200は、当該貸出受領結果応答を受信したときは、貸出可能遊技媒体数を「N-50」に更新する。
図70において、ステップS868で総遊技媒体数が閾値「15000」以上でないと判断したときはステップS881に進む。ステップS881では、遊技媒体数制御手段は、ベット処理中であるか否かを判断する。遊技媒体数制御手段は、ベット処理を開始したときは、ベット処理中フラグ(遊技媒体数制御RWMに設けられている)をオンにし、ベット処理を終了したときは、ベット処理中フラグをオフにする。
ステップS882では、ベット前の総遊技媒体数を取得する。ここでは、たとえば第1に、ベット処理を開始する前に、ベット処理直前の総遊技媒体数を記憶しておくことが挙げられる。あるいは第2に、その時点でのベット数を取得し、総遊技媒体数に当該ベット数を加算することにより、ベット前の総遊技媒体数を算出することが挙げられる。
以上の処理により、ステップS868において総遊技媒体数が閾値「15000」以上でないと判断された場合であっても、ベット処理中であって、ベット前の総遊技媒体数が閾値「15000」以上である場合には、総遊技媒体数に貸出遊技媒体数は加算されず、貸出遊技媒体数受領結果として異常が保存され、貸出しユニット200に送信される。このため、貸出しユニット200側では、貸出しスイッチ202の操作が無効になり、遊技媒体の貸出しは禁止される。また、貸出通知にて送信された貸出遊技媒体は遊技機10に保存されないので、貸出しユニット200側でも貸出可能遊技媒体数は更新されない。
一方、ベット処理が終了したときは、ステップS881で「No」となるので、ベット処理後の総遊技媒体数が閾値「15000」未満であれば、総遊技媒体数は更新される(貸出遊技媒体数がそれまでの総遊技媒体数に加算される)。
たとえばベット前の総遊技媒体数が「15001」であり、ベット処理により遊技媒体数「3」がベットされる場合において、遊技媒体数「2」のベット処理の実行後、最後の「1」ベット処理前に図70の処理が実行されたと仮定する。
この場合、総遊技媒体数「15001」からベット数「2」が減算されているので、ステップS868の判断時点における総遊技媒体数は「14999」となり、ステップS868では「No」と判断される。次にステップS881に進むと、ベット処理中であるので「Yes」と判断される。次のステップS882では、ベット前総遊技媒体数として「15001」が取得されるので、ステップS883では「Yes」と判断される。これにより、貸出しユニット200に対し、貸出受領結果応答として貸出遊技媒体数受領結果が異常である旨のデータが送信されるので、貸出しユニット200は、遊技媒体の貸出しを許可しない(貸出しスイッチ202を無効にする)。
このように処理すれば、ベット処理中に、貸出し許可/不許可が切り替えられることを防止し、貸出し数を正確に把握することができる。
この場合、総遊技媒体数「15001」からベット数「3」が減算されているので、ステップS868の判断時点における総遊技媒体数は「14998」となり、ステップS868では「No」と判断される。次にステップS881に進むと、ベット処理中でないので「No」と判断される。これにより、貸出しユニット200に対し、貸出受領結果応答として貸出遊技媒体数受領結果が正常である旨のデータが送信されるので、貸出しユニット200は、遊技媒体の貸出しを許可する。
たとえば、総遊技媒体数「15000」の状態において「3」ベット処理が開始された場合において、最初の「1」ベット処理後に総遊技媒体数は「14999」となり、閾値を下回る。その結果、図69中、ステップS868で「No」と判断される。したがって、ベット処理中であっても総遊技媒体数が閾値を下回った時点で貸出しユニット200に対し、貸出受領結果応答として貸出遊技媒体数受領結果が正常である旨のデータが送信される。これにより、貸出しユニット200は、遊技媒体の貸出しを許可する。
このように処理すれば、いち早く、遊技媒体の貸出し許可を行うことができる。
図71において、ステップS868で総遊技媒体数が閾値「15000」以上でないと判断したときはステップS884に進む。ステップS884では、遊技媒体数制御手段は、ベットされている遊技媒体を有するか否か(ベット数が「0」であるか否か)を判断する。ここで、遊技媒体がベットされたときは、遊技媒体数制御RWMのベット数記憶手段(たとえば図29中、ベット数記憶手段53a)に記憶されるので、このベット数記憶手段の値により、ベットされている遊技媒体を有するか否かを判断する。
ベットされている遊技媒体があると判断したときはステップS885に進み、ベットされている遊技媒体がないと判断したときはステップS869に進む。
ステップS885では、ベット数と総遊技媒体数とを加算した値を取得する。
以上の処理により、ステップS868において総遊技媒体数が閾値「15000」以上でないと判断された場合であっても、ベット数と総遊技媒体数との合計が閾値「15000」以上である場合には、総遊技媒体数に貸出遊技媒体数は加算されず、貸出遊技媒体数受領結果として異常が保存され、貸出しユニット200に送信される。このため、貸出しユニット200側では、貸出しスイッチ202の操作が無効になり、遊技媒体の貸出しは禁止される。また、貸出通知にて送信された貸出遊技媒体は遊技機10に保存されないので、貸出しユニット200側でも貸出可能遊技媒体数は更新されない。
たとえば総遊技媒体数が「14999」であり、ベット数が「3」である場合には、ステップS868では「No」と判断される。次にステップS884に進むと、ベット数を有するので「Yes」と判断される。次のステップS885では、「14999+3=15002」が取得され、次のステップS886では「Yes」と判断される。これにより、貸出しユニット200に対し、貸出受領結果応答として貸出遊技媒体数受領結果が異常である旨のデータが送信されるので、貸出しユニット200は、遊技媒体の貸出しを禁止する(貸出しスイッチ202を無効にする)。
このように処理すれば、精算処理(ベットされている遊技媒体を総遊技媒体に戻す処理)とベット処理とを繰り返すことにより、貸出し許可と貸出し禁止とを繰り返してしまうことを防止できる。
このように処理すれば、遊技媒体の貸出しを可能な限り認めることができる。
図72において、ステップS868で総遊技媒体数が閾値「15000」以上でないと判断したときはステップS891に進む。
ステップS891では、付与中フラグが「1」であるか否かを判断する。遊技媒体数制御RWMには、付与中フラグが設けられている。付与中フラグは、遊技媒体の付与処理が開始されたときにオンになり、付与処理が終了したときにオフになるフラグである。
したがって、小役が入賞し、遊技媒体が付与されるときは、付与中フラグが「1」にされた後、遊技媒体の付与処理が実行される。
ステップS891において、付与中フラグが「1」であると判断したときはステップS892に進み、付与中フラグが「1」でないと判断したときはステップS874に進む。
ステップS892では、遊技媒体数制御手段は、今回遊技で遊技媒体が付与される前の総遊技媒体数が閾値「15000」未満であったか否かを判断する。「Yes」と判断したときはステップS869に進み、「No」と判断したときはステップS874に進む。
これに対し、総遊技媒体数が閾値「15000」以上である場合であっても、遊技媒体の付与中であり、今回遊技の遊技媒体の付与により総遊技媒体数が閾値「15000」以上になったときは、総遊技媒体数に貸出遊技媒体数が加算され、貸出しユニット200に対し、貸出受領結果応答として貸出遊技媒体数受領結果が正常である旨のデータが送信される。これにより、貸出しユニット200は、遊技媒体の貸出しを許可する。
たとえば今回遊技の遊技開始時における総遊技媒体数が「14998」であり、遊技媒体数「5」に対応する小役が入賞したと仮定する。そして、遊技媒体の付与処理が実行され、付与される遊技媒体数「5」のうち、「2」の遊技媒体の付与処理まで終了し、総遊技媒体数が「15000」に到達したとする。この時点において、総遊技媒体数が閾値「15000」以上になり、図72中、ステップS868では「Yes」と判断される。次にステップS891に進むと、遊技媒体の付与処理中であるので、「Yes」と判断される。さらに次のステップS892に進むと、今回遊技での遊技媒体の付与前の総遊技媒体数は「14998」であり、閾値未満であるから、ステップS892では「Yes」と判断される。これにより、貸出しユニット200に対し、貸出受領結果応答として貸出遊技媒体数受領結果が正常である旨のデータが送信されるので、貸出しユニット200は、遊技媒体の貸出しを許可する。
このように処理すれば、遊技媒体の付与処理中に遊技媒体の貸出し許可/禁止が切り替わらないようにすることができる。また、遊技媒体の付与処理中に貸出しが許可から禁止に切り替わると、遊技機10や貸出しユニット200が故障したのではないかと遊技者に誤解を与えるおそれがあるが、そのような誤解が生じることをなくすことができる。
このように処理すれば、貸出しにより総遊技媒体数が閾値以上になることを防止することができる。また、総遊技媒体数が閾値以上になったときに、迅速に遊技媒体の貸出しを禁止にすることができる。
第5実施形態では、副制御手段は、総遊技媒体数が閾値に到達したことに基づいて、所定の報知を実行可能とする。
図73及び図74は、主制御手段による閾値処理を示すフローであり、図73は例1を示し、図74は例2を示す。図74では、図73と異なるステップ番号にアンダーラインを付している。
図73の例1において、ステップS901では、主制御手段は、総遊技媒体数が閾値「15000」に達したか否かを判断する。総遊技媒体数が閾値「15000」に達していないと判断したときはステップS902に進み、総遊技媒体数が閾値「15000」に達していると判断したときはステップS904に進む。
これに対し、ステップS901において総遊技媒体数が閾値に到達していると判断されてステップS904に進むと、主制御手段は、閾値到達フラグを「1」にする。次にステップS905に進み、閾値到達情報をセットする。
主制御手段は、副制御手段に対し、閾値未到達情報(閾値到達フラグが「0」であるとき)又は閾値到達情報(閾値到達フラグが「1」であるとき)を送信する。ステップS903及びステップS905において閾値(未到達、到達)情報がセットされると、所定のタイミングで、主制御手段は、副制御手段に対し、閾値(未到達、到達)情報を送信する。そして本フローチャートによる処理を終了する。
ステップS912では、主制御手段は、ベット数と総遊技媒体数とを加算した値を取得する。次にステップS913に進み、主制御手段は、ベット数と総遊技媒体数とを加算した値が閾値「15000」以上であるか否かを判断する。ベット数と総遊技媒体数とを加算した値が閾値「15000」以上でないと判断したときはステップS902に進む。ステップS902以降の処理は図73(例1)と同様であるので説明を省略する。
これに対し、ステップS913においてベット数と総遊技媒体数とを加算した値が閾値「15000」以上であると判断したときはステップS904に進む。
これに対し、図74の例2では、総遊技媒体数が閾値「15000」未満であっても、ベット数が「3」であるときは、双方の合計が閾値「15000」以上となるので、閾値到達情報が副制御手段に送信される。
詳細は後述するが、閾値到達情報が副制御手段に送信されると、副制御手段は、総遊技媒体数が閾値に到達していることを示す報知を実行可能とする。したがって、図73の例1では、ベット数が「3」であり、総遊技媒体数が「14999」である場合には、総遊技媒体数が閾値に到達していることを示す報知は実行されない。これに対し、図74の例2では、ベット数が「3」であり、総遊技媒体数が「14999」である場合には、総遊技媒体数が閾値に到達していることを示す報知を実行可能とする。
ここで、「閾値報知」とは、総遊技媒体数が閾値に到達したことを遊技者に知らせる(注意喚起)報知や、総遊技媒体数が閾値に到達しているので計数スイッチ47の操作を遊技者に対して促す報知に相当する。
図75の例1において、ステップS921では、副制御手段は、閾値報知フラグが「1」であるか否かを判断する。ここで、副制御RWMには、閾値報知フラグが設けられている。閾値報知フラグは、「1」であるときは閾値に到達していることを示し、「0」であるときは閾値に到達していないことを示すフラグである。閾値報知フラグが「1」であるときは、閾値に到達していることを示す報知を実行可能とする。
ステップS922では、副制御手段は、主制御手段から閾値到達情報を受信したか否かを判断する。閾値到達情報を受信していないときは(報知を行うことなく)本フローチャートによる処理を終了する。閾値到達情報を受信したと判断したときはステップS923に進む。ステップS923では、副制御手段は、閾値報知フラグを「1」にする。そしてステップS924に進み、総遊技媒体数が閾値に到達していることを示す報知を出力し、本フローチャートによる処理を終了する。
以上のようにして、例1では、総遊技媒体数が閾値未満になると、直ちに報知を終了する。
したがって、例2では、副制御手段は、主制御手段から閾値未到達情報を受信し、総遊技媒体数が閾値未満になったと判断したときであっても報知を継続し、その後、所定条件を満たしたときに当該報知を終了する。
(1)所定数(たとえば「50」)の遊技媒体が計数されたとき
主制御手段は、遊技者により計数スイッチ47が操作され、所定数の遊技媒体が計数されたと判断したときは、その旨のコマンドを副制御手段に送信する。副制御手段は、閾値報知フラグが「1」であり、閾値未到達情報を受信した後は、所定数の遊技媒体が計数された旨のコマンドを受信したときに、所定条件を満たすと判断してステップS926に進む。これにより、報知が終了する。
このようにすれば、総遊技媒体数が閾値からある程度の数だけ下回らないと、報知が終了しない。これにより、総遊技媒体数が閾値を一旦下回った後、すぐに閾値に到達して再度報知が行われてしまうことを防止することができる。換言すれば、報知有り/無しが短時間に繰り返されてしまうことを抑制することができる。
副制御手段は、主制御手段から送信されてくる総遊技媒体数の情報を受信し、総遊技媒体数を更新し続ける。そして、副制御手段は、閾値報知フラグが「1」であり、閾値未到達情報を受信した後は、総遊技媒体数が所定値を下回ったときに所定条件を満たすと判断してステップS926以降の処理に進む。これにより、報知が終了する。
このようにすれば、総遊技媒体数が所定値を下回り、一旦報知が終了したときは、すぐに報知が再開されてしまうことを防止することができる。換言すれば、報知有り/無しが短時間に繰り返されてしまうことを防止することができる。さらに、遊技者に対し、計数スイッチ47の操作を促すことも可能となる。
主制御手段は、1遊技を終了したとき(全リール31が停止し、遊技媒体を付与する場合には遊技媒体の付与処理が終了したとき)は、副制御手段に対し、遊技終了コマンドを送信する。副制御手段は、閾値報知フラグが「1」であり、閾値未到達情報を受信した後は、遊技終了コマンドを受信したときに、所定条件を満たすと判断してステップS926以降の処理に進む。これにより、報知が終了する。
このようにすれば、遊技をしていないとき(遊技待機中)にも報知され続けることを防止できる。
(1)上記実施形態では、閾値「15000」に到達したか否か(閾値「15000」を下回ったか否か)を判断した。しかし、これに限らず、閾値「15000」を上回ったか否か(閾値「15000」以下になったか否か)を判断してもよい。
同様に、本実施形態では、上限値「16383」に到達したか否かを判断した。しかし、これに限らず、上限値「16383」を上回ったか否かを判断するようにしてもよい。
なお、閾値「15000」や上限値「16383」は一例であり、この値に限られるものではないことは、上述した通りである。
あるいは、総遊技媒体数が閾値に到達した後であっても、貸出しスイッチ202が長押しされると一度に遊技媒体数「50」を貸し出すが、閾値に到達した後に一旦遊技媒体数「50」を貸し出した後は、所定時間(たとえば300秒)を経過しないと再度の貸出しを行わないように制御することも可能である。
これとは逆に、役物作動やATに係る画像表示(レイヤー)を後側に配置し、閾値に到達した旨の画像表示(レイヤー)を前側に配置すれば、閾値に到達した旨の注意喚起を確実に遊技者に知らせることができる。ただし、この場合であっても、獲得数の表示領域や残り遊技回数の表示領域については、閾値に到達した旨の表示領域と被らないことが好ましい。
また、上限値に到達したとき専用の演出出力装置(たとえば回転灯(パトランプ))を設け、閾値に到達したときは当該演出出力装置を作動させないが、上限値に到達したときは当該演出出力装置を作動させることも可能である。
図77は、第6実施形態における遊技機10を示すブロック図である。図51(第4実施形態)と同一部分には同一符号を付している。
なお、第6実施形態では、第4実施形態における「遊技媒体」を「メダル」と称する。ただし、第6実施形態においても遊技機10はメダルレス遊技機(スマート遊技機、スマートパチスロ)であり、遊技媒体は電子メダル(電子遊技媒体)であることは、他の実施形態と同一である。
図51の第4実施形態では、主制御基板50上には、1つの1チップマイクロプロセッサ500を搭載した。これに対し、図77の第6実施形態では、主制御基板50上に、主制御用の1チップマイクロプロセッサと、メダル数制御用の1チップマイクロプロセッサとを備える。
また、メダル数制御用の1チップマイクロプロセッサは、メダル数制御CPU520と、メダル数制御ROM521及びメダル数制御RWM522(内蔵メモリ)を備える。メダル数制御ROM521及びメダル数制御RWM522は、それぞれ、第4実施形態(図51)における遊技媒体数制御ROM504及び遊技媒体数制御RWM505に相当する。
なお、主制御用の1チップマイクロプロセッサ又は主制御CPU510を「主制御手段510」と称する場合がある。また、メダル数制御用の1チップマイクロプロセッサ又はメダル数制御CPU520を「メダル数制御手段520」と称する場合がある。
あるいは、第4実施形態のように、メダル数制御の機能を備える主制御基板50とし、主制御基板50上に1つの1チップマイクロプロセッサ(主CPU)を設け、かつ、この主CPUが主制御CPU及びメダル数制御CPUの機能を備えるようにしてもよい。
さらには、本実施形態のように、主制御基板50上に主制御用の1チップマイクロプロセッサとメダル数制御用の1チップマイクロプロセッサとを搭載してもよい。
また、図77に示すように、副制御基板80上には副制御用の1チップマイクロプロセッサが搭載されている。副制御用の1チップマイクロプロセッサは、副制御CPU85と、副制御ROM84及び副制御RWM83(内蔵メモリ)を備える。
図77の第6実施形態において、その他は図51の第4実施形態と同一であるので、説明を省略する。
図78及び図79は、メダル数制御RWM522に設けられた記憶領域であって、役比モニタ113に表示する比率の算出用記憶領域を示す図である。
比率(有利区間比率、指示込役物比率等、役比モニタ113に表示する比率)等、役比モニタ113の表示制御に関する情報の記憶領域は、メダル数制御RWM522の使用領域外に設けられている。
また、遊技機情報通知の電文生成及び送信用の記憶領域は、メダル数制御RWM522の使用領域に設けられている。
したがって、たとえば役比モニタ113に表示するための比率の情報は、メダル数制御RWM522の使用領域外に記憶されるが、遊技機情報通知(遊技機性能情報)の一部として貸出しユニット(「専用ユニット」ともいう。)200に送信される比率の情報は、メダル数制御RWM522の使用領域に記憶される。換言すれば、比率の情報を記憶する記憶領域として、複数設けられている。
(1)累計指示込役物比率(7P.)、又は累計有利区間比率(7U.)
(2)6000遊技連続役物比率(6y.)
(3)6000遊技役物比率(7y.)
(4)累計連続役物比率(6A.)
(5)累計役物比率(7A.)
(6)累計役物等状態比率(5H.)
の6項目の比率を表示する。
なお、上記順序は、役比モニタ113への表示順である。
そこで、「400」遊技については、「400」遊技総払出し、「400」遊技連続役物総払出し、「400」遊技役物総払出し、「400」遊技指示込役物総払出しを記憶する。
また、「6000」遊技については、「6000」遊技総払出し、「6000」遊技連続役物総払出し、「6000」遊技役物総払出しを記憶する。
ここで、総払出しとは、遊技中に払い出されたすべての払出し(ただし、リプレイを除く)である。
また、連続役物総払出しとは、第一種特別役物(RB)の作動による払出しである。
さらにまた、役物総払出しとは、役物(RB、CB、SB等、連続役物を含むすべての役物)の作動による払出しである。
さらに、指示込役物総払出しとは、役物の作動及び指示機能の作動による払出しである。
一方、リングポインタは、今回遊技ではどのセットを集計するかを指定するためのポインタである。リングポインタは、「400」遊技ごとに「1」加算され、「0」~「14」を循環する。たとえばリングポインタが「0」であるときは、「400」遊技総払出し「0」、「400」遊技連続役物総払出し「0」、「400」遊技役物総払出し「0」に今回遊技の払出し数を加算可能とする。
一方、指示込役物総払出しは、「6000」遊技の集計を行わないため、「2」バイトのバッファを「1」個(「400」遊技指示込役物総払出し)備える。
図79において、遊技数カウンタは、「400」遊技回数をカウントするカウンタである。遊技数カウンタが「399」から「0」に更新されたときに、リングポインタが「1」加算される。
さらに、「400」遊技総払出し、「400」遊技連続役物総払出し、「400」遊技役物総払出しについて、それぞれ、「15」個すべてのバッファの合計値を、「6000」遊技総払出し、「6000」遊技連続役物総払出し、「6000」遊技役物総払出しとして算出する。
累計総払出し、累計連続役物総払出し、累計役物総払出し、及び累計指示込役物総払出しは、総遊技数の総払出し、総遊技数の連続役物総払出し、総遊技数の役物総払出し、総遊技数の指示込役物総払出しに相当する。これらは、リングポインタや「6000」遊技回数とは無関係に、すべての払出し数の累積値である。
また、累計役物等状態比率、及び累計有利区間比率(必要な場合)は、毎遊技算出する。
これに対し、累計指示込役物比率、「6000」遊技連続役物比率、「6000」遊技役物比率、累計連続役物比率、累計役物比率は、「400」遊技ごとに1回算出する。
図79は、バッファのアドレス順に表示している。本実施形態では、図79に示すように、バッファのアドレスにおいて、毎遊技算出する比率を最初に配置し、次に、「400」遊技ごとに1回算出する比率を配置している。このようにバッファを配置することにより、比率の算出制御を簡素化することが可能となる。
一方、役比モニタ113における各比率の巡回表示順は、上述したように、
(1)累計指示込役物比率(7P)又は累計有利区間比率(7U)
(2)「6000」遊技連続役物比率
(3)「6000遊技」役物比率
(4)累計連続役物比率
(5)累計役物比率
(6)累計役物等状態比率
である。
そして、図79に示すように、比率のバッファのアドレスは、巡回表示順となっている。このようにバッファを配置することにより、点灯制御を簡素化することが可能となる。
なお、総遊技数上限フラグに「FFh」が記憶された後、総遊技数上限フラグが「FFh」であると判断されたときは、総遊技数上限フラグを更新しなくてもよく、あるいは総遊技数上限フラグを「FFh」に更新し直してもよい。
総払出し数上限フラグは、累計総払出しがカウント上限値に達したか否かを判断するためのフラグである。カウント上限値に達していないときは「00h」を記憶し、カウント上限値に達しているとき(達したとき)は「FFh」を記憶する。
累計総払出しは、「4」バイトのバッファであるので、カウント上限値は「FFFFFFFFh」(以下、「「4」バイトフル」ともいう。)である。そして、累計総払出しの値が「4」バイトフルに到達したときは、総払出し数上限フラグを「FFh」にする。
なお、上記総遊技数上限フラグと同様に、総払出し数上限フラグに「FFh」が記憶された後、総払出し数上限フラグが「FFh」であると判断されたときは、総払出し数上限フラグを更新しなくてもよく、あるいは総払出し数上限フラグを「FFh」に更新し直してもよい。
あるいは、累計総払出しの値を「FFFFFFFEh」から「4」バイトフルに更新し、かつ、総払出し数上限フラグを「FFh」にしてもよい。
あるいは、累計総払出しの値を「FFFFFFFEh」から「00000001h」に更新し(桁上がりとし)、総払出し数上限フラグを「FFh」にしてもよい。
なお、「4」バイトフルは、10進数で約「43」億であるため、累計総払出しが「4」バイトフルになることは、実際には起こり得ない。
なお、上述と同様に、「4」バイトフルは、10進数で約「43」億であるため、総遊技数が「4」バイトフルになることは、実際には起こり得ない。
役物等状態遊技数は、役物が作動している遊技回数と、連続役物が作動している遊技回数との合計値を記憶するバッファである。
また、有利区間遊技数は、有利区間の遊技回数を記憶するバッファである。
上記の役物等状態遊技数及び利区間遊技数についても、「4」バイトの記憶領域であり、「4」バイトフルになることは実際には起こり得ない。
一方、比率を算出した結果、「100」であるときは、「100」を記憶する。そして、役比モニタ113に当該比率を表示するときは「99」に補正して表示する。これにより、表示に適した2桁の近似値に補正することができる。なお、後述するように、この比率を含む遊技機情報を送信するときは、補正前の値である「100」を送信するので、より正確な値を送信することができる。
(1)比率を算出した結果、「100」を超え、かつ、「255(FFh)」未満である場合には、算出された値を補正することなく役比モニタ情報算出・表示用記憶領域に記憶することが挙げられる。この場合に比率を表示する際には、比率の十の位に、数字ではなく記号が表示されるように構成してもよい。
たとえば、比率として「110(D)」が記憶されているときは、役比モニタ113による表示時に、「y.0」と表示されるように構成することが挙げられる。したがって、表示対象の比率がたとえば累計指示込役物比率であれば、役比モニタ113には「7P.y.0」と表示される。
このように、比率の十の位が記号で表示されれば、当該比率は異常値であると判断することができる。
(2)比率を算出した結果、「100」を超え、かつ、「255(FFh)」未満である場合において、比率を表示する際には、「01」~「50」の範囲内の数値が表示されるように構成してもよい。
算出した比率がたとえば「200(D)」であり、役比モニタ情報算出・表示用記憶領域には「200(D)」を記憶し、その値に基づく比率を表示する際には「40」と表示すると仮定する。ここで比率が「40」である場合には、通常であれば正常値の範囲内と判断される。しかし、記憶された比率は「200(D)」であるので、どの比率であっても点滅表示となる。したがって、比率が「40」と表示されている場合であっても点滅表示であれば、異常値であると判断することができる。
一方、除数が「0」である場合には、役比モニタ情報算出・表示用記憶領域には「0」を記憶してもよい。
(1)比率を算出した結果、「0」~「99(D)」以外の値となった場合には、役比モニタ情報算出・表示用記憶領域の値を更新しないことが挙げられる。
(2)比率を算出した結果、「100(D)」の値である場合には、「99(D)」に補正して役比モニタ情報算出・表示用記憶領域に記憶することが挙げられる。
(3)比率を算出した結果、「100(D)」を超え、かつ、「255(D)(FFh)」未満である場合には、「99(D)」に補正して役比モニタ情報算出・表示用記憶領域に記憶することが挙げられる。
この処理は、主制御CPU510の処理であり、使用領域外に記憶されたプログラムによって実行される。
なお、第6実施形態のフローチャートにおいて、累計有利区間比率を算出・表示する遊技機10を「7U」タイプと称し、累計指示込役物比率を算出・表示する遊技機10を「7P」タイプと称する。
そして、図中、「7Uタイプのみ」と表示されているステップは、累計有利区間比率を算出・表示する遊技機10でのみ実行される。一方、「7Pタイプのみ」と表示されているステップは、累計指示込役物比率を算出・表示する遊技機10でのみ実行される(以下のフローチャートについても同様である。)。
まず、ステップS672では、リングポインタに対応する「400」遊技総払出しに、今回遊技の払出し数を加算する。
ここで、「リングポインタに対応する」とは、以下の意味である。
上述したように、リングポインタは、「0」~「14」の範囲をとる。これに対応して、「400」遊技総払出しは、「400」遊技総払出し「0」~「400」遊技総払出し「14」の15個のバッファから構成されている。
同様に、「400」遊技連続役物総払出しについても、「400」遊技連続役物総払出し「0」~「400」遊技連続役物総払出し「14」の15個のバッファから構成されている。
さらに同様に、「400」遊技役物総払出しについても、「400」遊技役物総払出し「0」~「400」遊技役物総払出し「14」の15個のバッファから構成されている。
そして、ステップS672では、リングポインタが「n(n=0~14)」であるときは、「400」遊技総払出し「n」に今回遊技の払出し数を加算することを意味する。
ステップS674では、「400」遊技指示込役物払出しに今回遊技の払出し数を加算する。そしてステップS675に進む。
ステップS678では、リングポインタに対応する「400」遊技役物総払出しに今回遊技の払出し数を加算する。上記と同様に、リングポインタが「n」であるときは、「400」遊技役物総払出し「n」に今回遊技の払出し数を加算する。そしてステップS679に進む。
ステップS679では、総遊技数上限フラグの値が「FFh」であるか否かを判断する。総遊技数上限フラグの値が「FFh」であると判断したときは図81のステップS687に進み、そうでないと判断したときはステップS680に進む。
ステップS680では、総遊技数に「1」を加算する。次のステップS681では、総遊技数に「1」を加算した後の総遊技数が「FFFFFFFFh(4バイトフル)」を超えるか否か(桁あふれが発生したか否か)を判断する。「FFFFFFFFh」を超えたと判断したときはステップS682に進み、「FFFFFFFFh」を超えていないと判断したときは図81のステップS683に進む。
ステップS682では、総遊技数を「FFFFFFFFh」にし、かつ、総遊技数上限フラグを「FFh」にする。そしてステップS687に進む。
ステップS684では、役物等状態遊技数に「1」を加算する。そしてステップS685に進む。
ステップS685では、今回遊技が有利区間中であるか否かを判断する。今回遊技が有利区間中であると判断したときはステップS686に進み、今回遊技が有利区間中でないと判断したときはステップS687に進む。ステップS686では、有利区間遊技数に「1」を加算する。そしてステップS687に進む。
ステップS687では、累計役物等状態比率を算出し、算出した値を記憶する。
次にステップS688に進み、累計有利区間比率を算出し、算出した値を記憶する。このようにして、累計役物等状態比率の算出・記憶と、累計有利区間比率の算出・記憶は、毎遊技実行する。
次にステップS689に進み、遊技数カウンタに「1」を加算する。次のステップS690では、遊技数カウンタの値が「400」遊技に達したか否かを判断する。「400」遊技に達したと判断したときはステップS691(図82)に進み、「400」遊技毎比率算出を実行する。これに対し、「400」遊技に達してしないと判断したときは本フローチャートによる処理を終了する。
以上のように、総遊技数上限フラグが「FFh」であるか否かにかかわらず、リングポインタに対応する「400」遊技総払出し、「400」遊技指示込役物総払出し、リングポインタに対応する「400」遊技連続役物総払出し、及びリングポインタに対応する「400」遊技役物総払出しについては、更新処理が実行される。
一方、総遊技数上限フラグが「FFh」である場合には、役物等状態遊技数、及び有利区間遊技数については、更新処理が実行されない。
また、総遊技数上限フラグが「FFh」であっても、累計役物等状態比率、累計有利区間比率については、更新処理が実行される。
これに対し、ステップS687やS688で算出した比率が「100(D)」を超える場合には「0」を記憶する。そして、役比モニタ113による表示時には「00」と表示する。
まず、ステップS760では、遊技数カウンタを初期化する。遊技数カウンタは、「0」~「399」の範囲をカウントするカウンタであるため、初期化することにより値を「0」にする。
次にステップS761に進み、「400」遊技総払出しの15セット合計値(「400」遊技総払出し「0」~「400」遊技総払出し「14」の合計値)を、「6000」遊技総払出しに設定する。次のステップS766では、ステップS765と同様にして、「400」遊技連続役物総払出しの15セット合計値(「400」遊技連続役物総払出し「0」~「400」遊技連続役物総払出し「14」の合計値)を、「6000」遊技連続役物総払出しに設定する。さらに次のステップS767では、ステップS761と同様にして、「400」遊技役物総払出しの15セット合計値(「400」遊技役物総払出し「0」~「400」遊技役物総払出し「14」の合計値)を、「6000」遊技役物総払出しに設定する。
次のステップS764では、総払出し数上限フラグが「FFh」であるか否かを判断する。総払出し数上限フラグが「FFh」でないと判断したときはステップS765に進み、総払出し数上限フラグが「FFh」であると判断したときは図83のステップS772に進む。
ステップS765では、リングポインタに対応する「400」遊技総払出しを累計総払出しに仮加算する。そして、次のステップS762で、ステップS761での仮加算の結果、「FFFFFFFFh」を超えたか否かを判断する。「FFFFFFFFh」を超えたと判断したときはステップS768に進み、「FFFFFFFFh」を超えていないと判断したときはステップS767に進む。
ステップS768では、総払出し数上限フラグに「FFh」を設定する。そしてステップS772に進む。
次のステップS770では、リングポインタに対応する「400」遊技役物総払出しを累計役物総払出しに加算する。
次のステップS771では、「400」遊技指示込役物総払出しを累計指示込役物総払出しに加算する。そしてステップS772に進む。なお、この例では、「400」遊技ごとに、「400」遊技指示込役物総払出しを累計指示込役物総払出しに加算したが、これに限らず、毎遊技、役物作動中又は指示モニタ表示中であるとき(図80のステップS673で「Yes」のとき)は、今回遊技の払出し数を累計指示込役物総払出しに加算してもよい。
ステップS774では、リングポインタの値を初期化する(「0」にする)。そしてステップS775に進む。
ステップS775では、リングポインタに対応する「400」遊技総払出しを初期化する(「0」にする)。
次のステップS776では、リングポインタに対応する「400」遊技連続役物総払出しを初期化する(「0」にする)。
次のステップS777では、リングポインタに対応する「400」遊技役物総払出しを初期化する(「0」にする)。
次にステップS779に進み、累計指示込役物比率を算出し、その値を記憶する。次のステップS780では、「6000」遊技連続役物比率を算出し、その値を記憶する。
また、次のステップS781では、「6000」遊技連続役物比率を算出し、その値を記憶する。次のステップS782では、累計連続役物比率を算出し、その値を記憶する。次のステップS783では、累計役物比率を算出し、その値を記憶する。そして本フローチャートによる処理を終了する。
以上のように、総払出し数上限フラグが「FFh」であるか否かにかかわらず、「6000」遊技総払出し、「6000」遊技連続役物総払出し、及び「6000」遊技役物総払出しについては、更新処理が実行される。
一方、総払出し数上限フラグが「FFh」である場合には、累計総払出し、累計連続役物総払出し、累計役物総払出し、累計指示込役物総払出しについては、更新処理が実行されない。
また、総払出し数上限フラグが「FFh」であっても、累計指示込役物比率、「6000」遊技連続役物比率、「6000」遊技役物比率、累計連続役物比率、及び累計役物比率については、更新処理が実行される。
これに対し、ステップS779~S783で算出した比率が「100(D)」を超える場合には「0」を記憶する。そして、役比モニタ113による表示時には「00」と表示する。
遊技機10の電源が投入されてからの差数の最小値を「0」としたときに、差数が「+19000(枚)」に到達したときは、コンプリート機能の作動条件を満たすと判断し、コンプリート機能を作動可能とする。これにより、過度に射幸性が高くなることを防止することができる。
第6実施形態では、第1に、差数カウンタにより有利区間における差数をカウントする。
ここで、「有利区間における差数」とは、有利区間の開始時を「0」としたときの差枚数を指す。換言すれば、有利区間中の差数の最小値ではなく、有利区間の開始時を「0」としたときの差数である。このため、有利区間中に差数がマイナスの値となったときは、マイナス値をカウントする。また、差数カウンタは、通常区間中は差数をカウントしない。
たとえば差数カウンタは、2バイトのデクリメントカウンタとする。そして、有利区間中の差数が「+2400(枚)」を超えたときは、有利区間の終了条件を満たすと判断する。
具体的に説明すると、まず、有利区間の開始時に「+2415」を設定し、1遊技目の差数が「-3(枚)」(ベット数「3」、払出し数「0」)であったときは、差数カウンタに「3」を加算して差数カウンタを「+2418」に更新する。これに対し、1遊技目の差数が「+11(枚)」(ベット数「3」、払出し数「14」)であったときは、差数カウンタから「11」を減算し、差数カウンタを「+2404」に更新する。
そして、差数カウンタが「0」となったときは、有利区間中の差数が「+2400(枚)」を超えたと判断し、有利区間を終了する。
なお、後述する図85の例における差数カウンタは、今回遊技における差数が増加すると差数カウンタ値が増加するものとする。
そして、上記第1の例及び第2の例のいずれも、有利区間を終了したときは、差数カウンタをクリアする。
MYカウンタは、電源投入時に初期化され、「0000h」となる。
そして、たとえば電源投入時から、
1遊技目:ベット数「3」、払出し数「0」、MYカウンタ「0000h」
2遊技目:ベット数「3」、払出し数「14」、MYカウンタ「000Bh」
3遊技目:ベット数「3」、払出し数「0」、MYカウンタ「0008h」
4遊技目:ベット数「3」、払出し数「0」、MYカウンタ「0005h」
5遊技目:ベット数「3」、払出し数「0」、MYカウンタ「0002h」
6遊技目:ベット数「3」、払出し数「0」、MYカウンタ「0000h」
:
となる。
ここで、上記の1遊技目では、差数は「-3」であるので、MYカウンタの初期値「0000h」に差数「-3」を加算すると、「FFFDh」となるが、桁下がりが生じたときは、その都度「0000h」に補正する。すなわち、最小値を「0」とする。
6遊技目も同様に、差数は「-3」であるので、MYカウンタ「0002h」に差数「-3」を加算すると、「FFFFh」となるが、補正により「0000h」となる。
そして、電源投入時からのMYカウンタの値が「+19000」(4A38h)に到達したときは、コンプリート機能を作動可能とし、その遊技機10を打止めとし、その後の遊技(当日の稼働)を終了する。
また、MYカウンタ値が「+19000」となった時点でその遊技の払出し処理を終了するのではなく、その遊技での払出しはすべて実行される。
たとえばMYカウンタ値が「+18999」であり、今回遊技のベット数が「3」、払出し数が「14」であるときでも、今回遊技の「14」枚の払出しが実行された後、コンプリート機能が作動する。
そして、MYカウンタは、差数カウンタと異なり、通常区間であってもMYをカウントする。
なお、第6実施形態では、遊技機10の電源が投入された後の遊技回数をカウントするが、その遊技回数が上限値「65535(FFFFh)」に到達した場合でも、コンプリート機能を作動させるか否かを判断するためのMYカウンタは更新し続ける。これにより、たとえば遊技機10の電源をオンのままにしておくホールがあったとしても、コンプリート機能を作動させるか否かを判断するためのMYカウンタは更新し続けるので、遊技機10の電源が投入された後の遊技回数が上限値「65535(FFFFh)」に到達した場合であっても、MYカウンタの値が「+19000」に到達したときは、コンプリート機能を作動させることができる。
これに対し、後述するように、遊技機性能情報送信用記憶領域のMY(後述する図90)については、遊技機10の電源が投入された後の遊技回数がカウント上限値「65535(FFFFh)」に到達した場合には、当該MYは更新しない。
まず、電源をオンにしたとき(図中、「A」)は、差数及びMYの双方ともに「0」である。
そして、図中「B」の地点で通常区間から有利区間に移行したとする。よって、この「B」時点(有利区間の開始時)では、差数カウンタは「0」である(通常区間中は、差数カウンタは更新されないため)。
そして、その後、有利区間においてサブボーナス等が実行されることにより差数が増加し、「D」地点に到達したときに、差数カウンタ(D-B)が「2400」を超えたとすると、「D」地点で有利区間の終了条件を満たし、有利区間を終了する、また、差数カウンタはクリアされる(「0」になる)。そして、次回遊技は通常区間となり、さらに通常区間において有利区間への移行条件を満たすと、再度有利区間に移行する。
図85に示すように、差数カウンタが「0」から開始し、差数カウンタの値がマイナスになっても、MYカウンタの最小値は「0」である。
また、図中「A」地点において、差数カウンタの値が「2400」を超えると有利区間を終了し、差数カウンタはクリアされ、「0」になる。一方、MYカウンタは変化しない。
その後の通常区間では、MYカウンタは更新されるが、差数カウンタは更新されない。そして、通常区間から有利区間に移行すると、差数カウンタも更新が開始される。
次に、図中「B」地点において、電源をオフし、その後、図中「C」地点において電源をオンにした場合には、MYカウンタはクリアされて「0」となる。
これに対し、電源のオン/オフによって差数カウンタはクリアされない。よって、図中「C」地点の差数カウンタの値は、図中「B」地点での差数カウンタの値となる。
上述したように、RWMクリアなしでの電源のオン/オフでは、差数カウンタの値は保持されるが、MYカウンタはクリアされる。これに対し、RWMクリアあり時の電源のオン/オフ(たとえば設定変更時)では、差数カウンタ及びMYカウンタのいずれも、クリアされる。
さらにまた、「コンプリート機能仮フラグ」とは、MYカウンタが「19000」に到達したが、コンプリート機能を作動させることができない状況、たとえば特別遊技状態(いずれかの役物作動中)であるときにオンとなるフラグであり、たとえば1バイトデータから構成され、オフのときは「00h」、オンのときは「FFh」となるフラグである。
これらのコンプリート機能作動フラグ及びコンプリート機能仮フラグは、RWMクリアなしの電源のオン/オフではクリアされないように構成されている。
ただし、RWMクリアあり時の電源のオン/オフ(設定変更時)では、コンプリート機能作動フラグ及びコンプリート機能仮フラグのいずれもクリアされる。
まず、ステップS541で電源がオンにされると、次のステップS542では、電源投入処理を実行する。この電源投入処理の1つとして、所定記憶領域の初期化処理を有する。ここで、RWMクリアなしの電源オンの場合には、初期化処理の1つとして、MYカウンタの初期化処理(クリア処理)を実行する。これに対し、差数カウンタ、コンプリート機能作動フラグ、コンプリート機能仮フラグの初期化処理は実行されない。
一方、RWMクリアありの電源オンの場合には、MYカウンタ、差数カウンタ、コンプリート機能作動フラグ、及びコンプリート機能仮フラグのすべてが初期化される。
次にステップS543に進んでエラー処理(後述する図87)を実行する。このエラー処理の中で、後述するコンプリート機能に係る処理が実行される。
また、たとえばベット数「3」の状況下において精算スイッチ46の操作を検知したときには精算コマンドをメダル数制御CPU520に送信し、メダル数制御CPU520からベット数を「0」とするコマンドを受信する処理である。具体例を挙げると、ベット数が「3」、メダル数表示部121に表示されているメダル数が「497」のときに精算スイッチ46の操作を検知した場合には、ベット数が「0」となり、メダル数表示部121に表示されているメダル数は「500」となる。
次のステップS546では、スタートスイッチ41が操作されたか否かを判断し、スタートスイッチ41が操作されたと判断するとステップS547に進む。
ステップS547では、役(当選番号)の抽選を実行する。そして次のステップS548で、リール31の回転を開始する。
ステップS549では、ストップスイッチ42が操作されたか否かを判断し、ストップスイッチ42が操作されたと判断するとステップS550に進み、操作されたストップスイッチ42に対応するリール31を停止制御する。
なお、以上のようなメダル数表示部121の表示制御は、メダル数制御CPU520によって実行される。
次にステップS555に進み、コンプリート機能算出処理を実行する。この処理はMYカウンタの更新等の処理であり、後述する図88に示す処理である。
次にステップS556に進み、遊技状態更新処理を実行する。そして、ステップS543に戻る。
まず、ステップS561では、特別遊技状態(役物作動中)であるか否かを判断する。本実施形態では、特別遊技状態でコンプリート機能の作動条件(打止め条件)を満たしてもコンプリート機能は作動させないためである。特別遊技状態であると判断したときはステップS567に進み、コンプリート作動に係る処理以外の他のエラー処理を実行する。一方、ステップS561において特別遊技状態でないと判断したときはステップS562に進む。ステップS562では、コンプリート機能作動フラグを読み込む。そして次のステップS563においてコンプリート機能作動フラグが「FFh」(オン)であるか否かを判断する。「FFh」であると判断したときはステップS564に進み、「FFh」でないと判断したときはステップS567に進む。
次にステップS566に進み、コンプリート信号を外部に出力する。これによりエラー処理を終了する。なお、コンプリート信号は「30」秒間出力し、その後にコンプリート信号をオフにする。ただし、コンプリート信号を何秒間出力するかや、コンプリート信号をどのようなタイミングでオフにするかは任意に設定可能である。また、ステップS566に進んだときは、図86中、ステップS545以降の処理には進まない。これにより、操作スイッチ(ベットスイッチ40、スタートスイッチ41、ストップスイッチ42)の受付けは行われないので、遊技を進行することができなくなる。
なお、この例では、ステップS543のエラー処理内でコンプリート機能の作動に係る処理を実行したが、これに限らず、たとえばエラー処理の次の処理として独立してコンプリート機能作動に係る処理を設け、図87のステップS561~S566の処理を実行してもよい。
まず、ステップS571において、コンプリート機能仮フラグがオン(FFh)であるか否かを判断する。コンプリート機能仮フラグがオンでないと判断したときはステップS572に進み、オンであると判断したときはステップS578に進む。
ステップS572では、コンプリート機能作動フラグがオン(FFh)であるか否かを判断する。コンプリート機能作動フラグがオンである、つまり、すでにコンプリート機能が作動していると判断したときは本フローチャートによる処理を終了する。コンプリート機能がすでに作動している場合にはMYカウンタの更新処理等を実行しないためである。
ステップS572においてコンプリート機能作動フラグがオンでないと判断し、ステップS573に進むと、再遊技作動中であるか否かを判断する。本実施形態では再遊技作動中はMYカウンタを更新しないため、再遊技作動中であると判断したときは本フローチャートによる処理を終了する。
再遊技作動中でないと判断したときはステップS574に進む。
なお、ステップS574の処理は、実際のMYカウンタ(主制御RWM512)を更新するのではなく、MYカウンタ値をレジスタに記憶し、レジスタ上で演算を行う。
次のステップS575では、MYカウンタ値が「0」未満となったか否かを判断する。MYカウンタ値が「0」未満でないと判断したときはステップS576に進み、「0」未満であると判断したときはステップS581に進む。
ステップS581では、MYカウンタ(主制御RWM512)を「0」に更新する。そして本フローチャートによる処理を終了する。
ここで、MYカウンタ値が「19000」に到達していないと判断したときは、ステップS574の演算結果(レジスタ値)をMYカウンタ(主制御RWM512)に保存してから本フローチャートによる処理を終了する。
一方、レジスタ上のMYカウンタ値が「19000」に到達したと判断したときは、その後、当該レジスタ値をMYカウンタに保存してもよく、保存しなくてもよい。
特別遊技状態であると判断されたときは本フローチャートによる処理を終了する。したがって、特別遊技状態では、MYカウンタが「19000」に到達したときにステップS577においてコンプリート機能仮フラグがオンとなるが、ステップS579を経由しないのでコンプリート機能作動フラグはオン(FFh)にならない。このため、特別遊技状態ではコンプリート機能は作動しない。
また、特別遊技状態において、ステップS577でコンプリート機能仮フラグがオンになったときは、特別遊技状態が終了するまでコンプリート機能仮フラグがオンのまま(コンプリート機能作動フラグはオフ)となり、特別遊技状態が終了するとコンプリート機能作動フラグがオン(ステップS579)、コンプリート機能仮フラグがオフ(ステップS580)となる。
MYカウンタが「19000」に到達したときに突然コンプリート機能を作動させると、遊技者への不意打ちとなってしまう。そこで、コンプリート機能の作動が近づいているときは、遊技者に対し、コンプリート機能作動を予告する。
図89(a)は、コンプリート機能作動を予告(事前報知)する画像を示す図である。
副制御基板80は、電源投入後、独立してMYをカウントしている。ただしこれに限らず、主制御基板50から副制御基板80に対し、毎遊技の終了時にMYカウンタ値を送信するようにしてもよい。
図89(a)に示すように、たとえば「コンプリート機能作動まで残り500枚」と表示する。
そして、次回遊技でMYがたとえば「+11」枚増加したときは、コンプリート機能作動の予告画像は、「コンプリート機能作動まで残り489枚」という表示に更新される。このように、コンプリート機能作動の予告は、コンプリート機能の作動条件(MYカウンタが「19000」に到達したこと)を満たすまでの定量的な変化が視覚的に認識できるように行われる。
なお、残り「500」枚からコンプリート機能作動の予告を開始するのではなく、残り「300」枚、残り「100」枚等、種々の設定が可能である。
図89(a)中、コンプリート機能作動の予告画像の領域をドットパターンで示しているが、このドットパターン領域は、最前のレイヤを表す。したがって、たとえば画面中の所定の表示とコンプリート機能作動の予告画像とが重なる領域を有する場合には、当該重なる領域についてはコンプリート機能作動の予告画像が表示され、所定の画像(後方レイヤ)は表示されない。ただし、コンプリート機能作動の予告画像領域を透過性とし、その後方の画像(演出画像等)を視認可能としてもよい。
図89(b)の例においても、ドットパターンで示す領域は、最前のレイヤを指す。
また、コンプリート機能作動時には、計数スイッチ47を操作して全メダルを貸出しユニット200に送信する必要がある。したがって、計数を促す表示を併せて実行する。
ここで、コンプリート機能作動を予告した後、MYカウンタの値が減少することなく「19000」に到達する場合には、MYカウンタが「18900」に到達した後、「19000」に到達するまでの間はずっとコンプリート機能作動を予告する。
これに対し、MYカウンタが「18900」に到達した後、MYカウンタの値が減少した場合において、MYカウンタの値が所定値となったときは、コンプリート機能作動の予告を終了する。
そして、MYカウンタが「18900」を閾値として遊技の進行とともに上下した場合には、コンプリート機能作動を予告している状態と予告していない状態とが頻繁に入れ替わることとなり、たとえばコンプリート機能作動の予告画像が表示されたり表示されなかったりしてしまう。
そこで、本実施形態では、一旦、コンプリート機能作動を予告したときは、MYカウンタが所定値(たとえば「18850」)未満になるまでは、コンプリート機能作動の予告を維持する。
第6実施形態では、上述した第2実施形態等と同様に、遊技機10は、遊技機情報通知として、ホールコン・不正監視情報、遊技機設置情報、及び遊技機性能情報を貸出しユニット200に送信する。
図90及び図91は、メダル数制御RWM522の使用領域に設けられた記憶領域であって、貸出しユニット200への遊技機情報通知の送信用として設けられた記憶領域である。図90及び図91の記憶領域の一部は、上述した図78及び図79に示す記憶領域と同一の情報を記憶する記憶領域を含むが、送信処理の効率化のため、送信用の記憶領域として別個に設けられている。
図90は、遊技機情報通知のうち、遊技機性能情報の送信用の記憶領域及び遊技機設置情報の送信用の記憶領域を示す。図90中、遊技機性能情報の送信用の記憶領域は、アドレスが連番になっているものとする。同様に、遊技機設置情報の送信用の記憶領域は、アドレスが連番になっているものとする。
また、図31に示すホールコン・不正監視情報、遊技機設置情報、及び遊技機性能情報は、いずれも、電文のデータ順に並べているが、この電文のデータ順に対応するように送信用の記憶領域が設けられている。
たとえば、遊技機性能情報の電文は、先頭から、
(1)総投入数:3バイト
(2)総払出し数:3バイト
(3)MY:3バイト
:
のデータ順となっているが、このデータ順に一致するように、記憶領域のアドレスが並んでいる。これにより、遊技機情報通知の生成処理を簡素化することができる。
特に、遊技機性能情報において、各比率は、図90に示す順序で並んでいるが、この順序は、役比モニタ113の表示順とは相違するため、図79に示す各比率のアドレス順序と相違する。
以上のように、遊技機情報通知の電文のデータ順に遊技機情報通知の送信用記憶領域のアドレスを並べることにより、送信用記憶領域のアドレスを所定間隔ずつ(「1」ずつ)ずらして送信することで遊技機情報通知の電文のデータとなるため、送信処理を簡素化することが可能となる。
さらにまた、図91に示すホールコン・不正監視情報送信用記憶領域についても、図31中、ホールコン・不正監視情報のデータ順に設けられている。
ここで、図31の第2実施形態では、ホールコン・不正監視情報のうち、遊技機不正1のD6ビットは未使用とした。これに対し、本実施形態では、このD6ビットはコンプリート信号として用いられる。
コンプリート信号は、コンプリート機能が作動したことを示す信号である。本信号は、コンプリート機能が作動し、遊技停止となってからオン(「1」)となる。さらに、コンプリート信号は、約「30」秒間オンにし、その後、オフ(「0」)にする。
また、遊技機不正1のD5ビットは、セキュリティ信号であるが、設定変更中信号(D0)、設定確認中信号(D1)、不正検知信号1~3(D2~D4)、及びコンプリート信号(D6)のいずれかがオンであることを示す(論理和出力)。
(1)総投入数
(2)総払出し数
(3)MY
(4)役物総払出し数
(5)連続役物総払出し数
(6)遊技回数
の6項目については、役比モニタ情報算出・表示用記憶領域のデータ更新にかかわらず、遊技機情報通知の送信用として独自に更新する。更新タイミングは、毎遊技の終了時である。
なお、主制御CPU510は、MYカウンタが「19000」以上となったときは、コンプリート機能(打止め機能)を作動させる必要がある。コンプリート機能を作動させるか否かを判断するのがMYカウンタの値である。したがって、主制御CPU510の主制御RWM512にMYカウンタを備えている。このMYカウンタは、電源投入後の値であるので、遊技機性能情報送信用記憶領域のMYと同一値となる。したがって、遊技機性能情報送信用記憶領域のMYは、独自にカウントするのではなく、主制御CPU510からMYカウンタの値を受信し、遊技機性能情報送信用記憶領域のMYに保存してもよい。
(1)累計役物比率
(2)累計連続役物比率
(3)累計有利区間比率
(4)累計指示込役物比率
(5)累計役物等状態比率
の5項目については、役比モニタ情報算出・表示用記憶領域(図79)の更新に基づいて更新する。
詳細については後述するが、役比モニタ情報算出・表示用記憶領域の各比率において、累計有利区間比率及び累計役物等状態比率については、毎遊技更新する。これに対し、累計役物比率、累計連続役物比率、及び累計指示込役物比率については、「400」遊技ごとに更新する。
このため、累計有利区間比率及び累計役物等状態比率については、毎遊技、役比モニタ情報算出・表示用記憶領域の値が更新されることに伴い、遊技機性能情報送信用記憶領域の累計有利区間比率及び累計役物等状態比率を更新する。
これに対し、累計役物比率、累計連続役物比率、及び累計指示込役物比率については、「400」遊技ごとに、役比モニタ情報算出・表示用記憶領域の値が更新されることに伴い、遊技機性能情報送信用記憶領域の累計役物比率、累計連続役物比率、及び累計指示込役物比率を更新する。
各累計比率の基準遊技数は、以下の通りである。
(1)累計指示込役物比率又は累計有利区間比率:175000
(2)累計連続役物比率:17500
(3)累計役物比率:17500
(4)累計役物等状態比率:175000
そこで、役比モニタ情報算出・表示用記憶領域の総遊技数の値を取得し、累計指示込役物比率又は累計有利区間比率、及び累計役物等状態比率については、総遊技数が「175000」未満であれば「FFh」を記憶し、総遊技数が「175000」以上であれば役比モニタ情報算出・表示用記憶領域に記憶された値をそれぞれ記憶する。
同様に、累計連続役物比率及び累計役物比率にいては、総遊技数が「17500」未満であれば「FFh」を記憶し、総遊技数が「17500」以上であれば役比モニタ情報算出・表示用記憶領域に記憶された値をそれぞれ記憶する。
たとえば、役物(RB、SB、CB)を一切有さない遊技機では、累計役物比率、及び役物等状態比率は非該当項目となり、「FFh」を記憶する。
また、連続役物(RB)を有さない遊技機では、累計連続役物比率は非該当項目となり、「FFh」を記憶する。
さらにまた、有利区間を備える遊技機では、「7U」タイプ又は「7P」タイプのいずれかとなる。「7U」タイプは、有利区間比率を70%以下とする仕様の遊技機であり、この遊技機では累計有利区間比率を記憶する(指示込役物比率は非該当項目となるので「FFh」を記憶する。)。
これに対し、「7P」タイプは、指示込役物比率(総払出し数に対する、指示機能の作動及び役物作動によって払い出された払出し数の比率)を70%以下とする仕様の遊技機であり、この遊技機では累計指示込役物比率を記憶する(累計有利区間比率は非該当項目となるので「FFh」を記憶する。)。
なお、比率を算出した結果、「100(D)」となったときは、役比モニタ情報算出・表示用記憶領域には「100(D)」が記憶されるので、遊技機性能情報送信用記憶領域にも当該比率については「100(D)」が記憶される。
したがって、この場合には当該比率が「100(D)」であることを含む遊技機性能情報が送信される。これにより、当該比率の表示時には「99」となるが、貸出しユニット200に送信する場合には、「99」に補正されていない「100(D)」の比率(より正確な値の比率)を送信することができる。これにより、役比モニタ113に「99」と表示されているときに、本当の比率は「100(D)」であるが補正によって役比モニタ113に「99」と表示されているのか、それとも、本当の比率が「99(D)」であって役比モニタ113に「99」と表示されているのかを、遊技機性能情報から判別することができる。
(1)総投入数
(2)総払出し数
(3)MY
(4)役物総払出し数
(5)連続役物総払出し数
(6)遊技回数
の6項目については更新しない。
一方、
(1)累計役物比率
(2)累計連続役物比率
(3)累計有利区間比率
(4)累計指示込役物比率
(5)累計役物等状態比率
の5項目については、遊技回数の値にかかわらず、役比モニタ情報算出・表示用記憶領域の値に基づいて、毎遊技ごと又は「400」遊技ごとに更新する。
さらに、遊技回数が「FFFFh」に到達し、遊技機性能情報送信用記憶領域の総投入数等の値を更新しない場合であっても、遊技機性能情報の送信タイミングが到来したときは、遊技機性能情報を貸出しユニット200に送信する。
図92は、メダル数制御CPU520のメイン処理を示すフローチャートである。
電源が投入され、ステップS221においてメダル数制御CPUのプログラムが開始されると、ステップS222では、メダル数制御RWM522の初期化処理が実行される。この処理は、たとえば、図90及び図91に示す遊技機情報通知の送信用の記憶領域を初期化する処理である。
これに対し、図78及び図79に示す役比モニタ情報算出・表示用記憶領域は、初期化しない。
次にステップS223に進み、主制御起動待機タイマM1に「3000」をセットする。なお、ここで主制御起動待機タイマM1に「3000」がセットされると、その後、割込み処理ごと(「1」msごと)に「1」減算される。したがって、「3000」ms後に主制御起動待機タイマM1が「0」となる。
電源が投入されると、それぞれ独立して主制御CPU510及びメダル数制御CPU520の立ち上げ処理が実行されるが、本実施形態では、メダル数制御CPU520の方が主制御CPU510よりも先に立ち上がるように構成されている。そこで、主制御CPU510が立ち上がるまで待機すべく、主制御起動待機タイマM1をセットする(「3000」ms間の待機処理を実行する。)。
次のステップS224では、メダル数制御CPU520による割込み処理を禁止する。このように制御することにより、後述するステップS227において割込み処理が許可されるまで、メダル数制御CPU520の割込み処理が実行されないようにすることができる。換言すれば、主制御起動待機タイマM1に「3000」をセットした後に割込み処理が開始されるようにすることができる。
次のステップS225では、コマンド受信処理を実行する。この処理は、主制御CPU510等から送信される各種コマンドを受信する処理である。
1)主制御CPU510から、電源オン時に、主制御CPU510が起動した旨のコマンドを受信する。
2)主制御CPU510から、電源オン時に、主制御チップID番号、主制御チップメーカコード、主制御チップ製品コード(遊技機設置情報を生成するために必要なコマンド)を受信する。
3)主制御CPU510から、電源オン時に、役比モニタ113表示の種別を指定するための役比タイプ(「7U」タイプか「7P」タイプか)のコマンドを受信する。
4)主制御CPU510から、スタートスイッチ41受付け時に、投入数のコマンドを受信する。
5)主制御CPU510から、全リール31の停止時に、払出し数のコマンドを受信する。
6)主制御CPU510から、全リール31の停止時に、役物等作動状態のコマンドを受信する。
7)主制御CPU510から、随時、主制御状態1、主制御状態2、遊技機エラー状態、不正検出状態1(遊技機不正1)、不正検出状態2(遊技機不正2)、不正検出状態3(遊技機不正3)(ホールコン・不正監視情報を生成するために必要なコマンド)を受信する。
8)貸出しユニット200から、随時、貸出し通知(図32参照)を受信する。
ステップS228では、電断断処理を実行する。電源断処理では、チェックサム算出を行い、その後、電源落ち待ち(ループ)を実行する。
一方、ステップS227に進むと、メダル数制御CPU520による割込み処理を許可する。そして、ステップS224に進む。
このように割込み処理を許可することにより、ステップS228の電源断処理に移行すると、メダル数制御CPU520による割込み処理が実行されないようにすることができる(ステップS224の割込み禁止が続いている。)。したがって、ステップS228の電源断処理に移行し、チェックサムの算出等のときに割込み処理が実行されないので、メダル数制御RWM522のデータがチェックサムの算出中に更新されてしまうのを防止することができる。
ここで、主制御起動待機タイマM1がセットされた後、「3000」msが経過する前であっても主制御CPU510からコマンドを受信している場合がある。したがって、電源断を検知したときは、主制御CPU510から受信したコマンドをバックアップする処理を含む電源断処理が実行される。
ステップS231において割込み処理が開始されると、まず、ステップS232では、電断断信号を検知したか否かを判断する。電源断信号を検知していないと判断したときはステップS234に進み、電源断信号を検知したと判断したときはステップS233に進む。ステップS233では、電源断フラグをオンにする。そしてステップS234に進む。
このステップS232及びS233の処理は、主制御起動待機タイマM1が「0」となったか否か、VL信号がオンであるか否か、及び接続確認後待機タイマM2が「100」以上となったか否かにかかわらず実行される。これにより、電源断処理の実行条件を満たしたと判断したときは、速やかに電源断処理に移行することが可能となる。
ステップS234では、主制御起動待機タイマM1を更新する。この処理は、主制御起動待機タイマM1の値を「1」減算する処理である。そして次のステップS235において、主制御起動待機タイマM1が「0」となったか否かを判断する。主制御起動待機タイマM1が「0」となったと判断したときはステップS236以降の処理に進み、主制御起動待機タイマM1が「0」でないと判断したときは本フローチャートによる処理を終了する。主制御起動待機タイマM1は、図92のステップS223で初期値「3000」がセットされた後、「1」msごとの割込み処理で「1」減算されるので、初期値「3000」がセットされた後、「3000」ms経過時に「0」となる。したがって、メダル数制御CPU520のプログラムが開始された後、「3000」msが経過するまでは、ステップS236以降の処理(ステップS244の遊技機情報管理やステップS248の役比モニタ表示制御等)は実行されない。
次にステップS237に進み、VL信号がオンであるか否かを判断する。VL信号がオンであるときはステップS238に進み、VL信号がオンでないと判断したときはステップS242に進む。
ここで、貸出しユニット200から遊技機10にVL信号(直流18Vの信号)が供給されていれば、VL信号はオンであると判断し、貸出しユニット200と遊技機10とが正常に接続されていると判断される。VL信号がオンであるときは、遊技機10が遊技可能(メダルをベット可能)であることを示す。
このように制御する理由としては、本実施形態の貸出しユニット200は、VL信号がオンになってから「100」ms間はコマンドを受信しても無視する仕様となっている。したがって、VL信号がオンになってから、遊技機10側で「100」ms待機するようにしている。
なお、VL信号が一旦オンになった後に、遊技機10や貸出しユニット200の電源をオフにするか、遊技機10と貸出しユニット200とを繋ぐケーブルを外さない限り、原則、VL信号がオフになることはない。したがって、ステップS242及びS243の処理は、設けなくてもよい。
しかし、ゴト行為等によって、遊技機10や貸出しユニット200の電源が切断される(遊技機10と貸出しユニット200との通信が切断される)おそれがある。このため、毎割込み処理ごとにVL信号のオン/オフを確認し、VL信号がオフであると判断したときは、接続確認後待機タイマM2を「0」にし、接続済みフラグをオフにする処理を行う。後述するように、接続済みフラグがオンでなければ、遊技機情報通知が遊技機10から貸出しユニット200に送信されないように構成されている。
ステップS241では、接続済みフラグをオンにする。そしてステップS244に進む。
ここで、遊技機情報管理により遊技機情報通知が送信されると、図32に示すように、その時点から「100」以内に計数通知が送信され、貸出しユニット200は、計数通知の受信から「170」ms以内に貸出し通知を遊技機10に送信する。遊技機10は、貸出し通知を受信すると貸出受領結果応答を貸出しユニット200に送信する。したがって、遊技機情報通知を実行可能な状況でなければ、貸出しユニット200の貸出しスイッチ202を操作してもメダルは貸し出されないように構成されている。
このため、
(1)主制御起動待機タイマM1が「0」になるまで(ステップS235で「Yes」と判断されるまで)は、貸出しスイッチ202を操作してもメダルは貸し出されない。
(2)VLがオンになった後、接続確認後待機タイマM2が「100」以上になるまで(ステップS240で「Yes」と判断されるまで)は、貸出しスイッチ202を操作してもメダルは貸し出されない。
次にステップS245に進み、主制御CPU510に対し、状態を送信する。この処理は、計数スイッチ47の状態(オン/オフ)、総メダル数クリアスイッチ112の状態(オン/オフ)を送信する処理である。
次にステップS246に進み、メダル数表示部121の表示制御を実行する。この処理は、メダルの投入処理、払出し処理、計数処理に基づいて、メダル数表示部121の表示(総メダル数)を更新する処理である。
次のステップS247では、比率(役比モニタ113に表示する比率)の更新処理を実行する。ここで、1遊技の終了時(全リール31が停止し、払出しを有するときは払出し処理の終了時)に、主制御CPU510からメダル数制御CPU520に対し、遊技終了コマンドが送信されるように構成されている(図92中、ステップS225で受信する)。この遊技終了コマンドを受信したときには、比率更新フラグをオンにする。そして、ステップS247において比率更新フラグがオンであるときは、比率の更新処理を行う。ここでの比率の更新処理は、役比モニタ113に係る比率の更新処理(図80~図83に示す処理)に相当する。また、ステップS247の処理後、比率更新フラグをオフにする。
(1)累計指示込役物比率:400遊技ごと
(1)累計有利区間比率:毎遊技ごと
(2)6000遊技連続役物比率:400遊技ごと
(3)6000遊技役物比率:400遊技ごと
(4)累計連続役物比率:400遊技ごと
(5)累計役物比率:400遊技ごと
(6)累計役物等状態比率:毎遊技ごと
次にステップS248に進み、役比モニタ113の表示制御を実行する。この処理は、他の実施形態で説明したように、4割込みが1周期となって、役比モニタ113の4桁のLEDをダイナミック点灯させる処理である。
ステップS249において管理しているタイマの種類としては、たとえば、
(1)設定変更中信号(ホールコン・不正監視情報中、遊技機不正1のD0ビット)の出力時間を管理しているタイマ(3000ms)
(2)設定確認中信号(ホールコン・不正監視情報中、遊技機不正1のD1ビット)の出力時間を管理しているタイマ(3000ms)
(3)不正検知信号(ホールコン・不正監視情報中、遊技機不正1のD2~D4ビット)の出力時間を管理しているタイマ(3000ms)
(4)コンプリート信号(ホールコン・不正監視情報中、遊技機不正1のD6ビット)の出力時間を管理しているタイマ(30000ms)
(5)設定ドアオープン信号(ホールコン・不正監視情報中、遊技機不正2のD0ビット)の出力時間を管理しているタイマ(3000ms)
(6)ドアオープン信号(ホールコン・不正監視情報中、遊技機不正2のD1ビット)の出力時間を管理しているタイマ(3000ms)
(7)メダル数クリア検知信号(ホールコン・不正監視情報中、遊技機不正2のD3ビット)の出力時間を管理しているタイマ(3000ms)
等が挙げられる。
上記のうち、設定変更中信号の最小出力時間は、遊技可能となってから「3000」ms間と定めており、この時間をタイマで管理する。
また、コンプリート信号は、コンプリート機能が作動し、遊技停止となってからオンとなり、「30000」ms後にオフにするため、この時間をタイマで管理する。
その他の信号は、信号を検知してから出力時間として「3000」ms間と定めており、この時間をタイマで管理する。
ここで、第2実施形態における遊技機情報管理(図41)、第5実施形態における遊技機情報管理(図63)との相違点について説明する。
第2実施形態では、遊技機情報通知において遊技機情報の送信優先度は、例外なく、第1優先が遊技機設置情報(「60」秒ごと)、第2優先が遊技機性能情報(「180」秒ごと)、第3優先がホールコン・不正監視情報(「300」msごと)であった。
また、第5実施形態では、
(a)主制御状態に変化がなく、メダルの投入又は払出しがない場合には、
第1優先:遊技機設置情報
第2優先:遊技機性能情報
第3優先:ホールコン・不正監視情報
である(第2実施形態と同じ)。
(b)主制御状態に変化があった場合、又はメダルの投入若しくは払出しがあった場合には、
第1優先:ホールコン・不正監視情報
第2優先:遊技機設置情報
第3優先:遊技機性能情報
である。
このように制御するのは、以下の理由による。
ホールにおいて遊技機を変更した(遊技台を入れ替えた)後、電源をオンにし、1回目の遊技設置情報(主制御チップメーカコード等)を送信する前に遊技機側でエラーが発生し、エラーコードを貸出しユニット200に送信してしまうと、貸出しユニット200側では、変更(入替え)前の遊技機についてエラーコードを受信したと判断してしまう。そこで、電源をオンした後、最初に送信する遊技機情報通知は、遊技機設置情報とした。
また、上述したように、貸出しユニット200は、VL信号がオンになってから「100」ms間は、遊技機10からのコマンドを受信しても無視する仕様となっている。このため、最初に遊技機設置情報を送信する場合には、VL信号がオンになった後、「100」ms経過後である。
また、メダル数制御RWM522に記憶される主制御チップID番号等は、電源オン時にクリアされる。そして、主制御CPU510から主制御チップID番号等のコマンドを受信する前に貸出しユニット200に対して主制御チップID番号等を含む遊技機設置情報を送信してしまうと、クリアデータを送信してしまうことになる。このため、主制御CPU510が立ち上がり、かつ、主制御CPU510からのコマンドをメダル数制御CPU520が受信するまでの時間として「3000」msを担保するようにしている。換言すると、主制御CPU510が立ち上がった後、メダル数制御CPU520に対して主制御チップID番号等のコマンドの送信処理を終了するまで待機処理を実行している。
以上より、電源投入後、主制御起動待機タイマM1が「3000」をカウントし(「3000」ms経過し)、かつ、VL信号がオンになった後、接続確認後待機タイマM2が「100」をカウントした後(「100」ms経過後)に、最初の遊技機情報通知(遊技機設置情報)を送信するように構成されている。
このように構成することにより、貸出しユニット200が遊技機情報通知を確実に受信できるようになってから、正確な遊技機情報通知を送信することが可能となる。
そして、遊技機10の電源投入時に、これら3つのタイマA、B、及びCは、すべて「0」に初期化される。
ステップS262では、ホールコン・不正監視情報送信タイマAから「1」を減算する。次にステップS263に進み、更新前のタイマAの値が「0」であるか否かを判断する。ステップS262の減算処理においてキャリーフラグが「1」となったときは、更新前のタイマAの値が「0」であると判断する。なお、更新前のタイマAの値が「0」であったためにキャリーフラグが「1」となるのは、電源投入時にタイマAの値が「0」にされた(初期化された)後に「1」減算された場合に相当する。更新前のタイマAが「0」であると判断したときはステップS265に進み、「0」でないと判断したときはステップS264に進む。
更新前のタイマAの値が「1」であるときは、「300」ms周期のタイミング、すなわちホールコン・不正監視情報の送信タイミングであることを意味する。
一方、更新前のタイマAの値が「1」でないときは、ホールコン・不正監視情報の送信タイミングでない(「300」ms周期のタイミングでない)ので、「60」秒周期の送信タイミングでもなく、かつ、「180」秒周期の送信タイミングでもない。換言すれば、遊技機設置情報の送信タイミングでもなく、かつ、遊技機性能情報の送信タイミングでもない。したがって、ホールコン・不正監視情報の送信タイミングでないと判断したときは、遊技機設置情報の送信タイミングであるか否かや、遊技機性能情報の送信タイミングであるか否かを判断することなく、遊技機情報管理を終了するようにしている。これにより、プログラム処理を簡素化できるとともに、遊技機情報管理の高速化を図ることができる。
次に、ステップS266に進み、遊技機設置情報を送信する。そして本フローチャートによる処理を終了する。
すなわち、ステップS263において更新前のタイマAが「0」である場合には、電源投入後、最初にタイマAに「300」がセットされるタイミングであり、遊技機情報通知を未だ送信していない状態である。したがって、このタイミングで、最初の遊技機情報通知として遊技機設置情報を送信する。
なお、電源投入時の初期化処理により、タイマAの値が「0」にされるが、それ以外は、ステップS265の処理前の期間を除き、タイマAの値が「0」になることはない(異常時を除く)。
次のステップS268では、タイマBの値を「1」加算する処理を実行する。ここで、タイマBに「199」未満の値が記憶されているときはタイマBの値に「1」を加算し、タイマBの値が「199」未満でないとき(すなわち、正常動作状況下において「199」が記憶されているとき)は、タイマBに「0」を記憶する演算処理を行う(特殊加算命令)。
また、タイマBに「199」が記憶されているときに「1」を加算する状況とは、タイマAが「0」となった契機が「200」回到来した状況に相当する。換言すれば、割込み処理が「300」回実行されるごとにタイマBが「1」ずつ加算されるため、「300回×200回=60000回」の割込み処理が実行された(「60」秒が経過した)状況である。
なお、上記例ではタイマBに「1」加算する命令を実行しているが、「1」減算する命令としてもよい。減算命令の場合は、電源投入時にタイマBに初期値として「200」を記憶し、その後「0」となったときに「200」を記憶してもよい。あるいは、電源投入時にタイマBに初期値として「199」を記憶し、その後、キャリーフラグが「1」となったときに「200」を記憶してもよい。
また、タイマBの更新を加算命令としているため、減算命令にした場合と比べて、初期値をセットする処理を省略できる(電源投入時の初期化処理により初期値は「0」となる)分、処理速度の向上やプログラム容量を削減することができる。
タイマBの時間が経過したと判断したときはステップS270に進み、経過していないと判断したときはステップS274に進む。
ステップS270では、タイマCに「1」加算する処理を実行する。
ここでは、タイマCに「2」未満の値が記憶されているときはタイマCの値に「1」を加算し、タイマCの値が「2」未満でないとき(すなわち、正常動作状況下において「3」が記憶されているとき)はタイマCに「0」を記憶する演算処理である(特殊加算命令)。
また、タイマCに「2」が記憶されているときに「1」を加算する状況とは、タイマBが「0」となった契機が「3」回到来した状況に相当する。換言すれば、割込み処理が「300」回実行されるごとにタイマBが「1」加算され、タイマBが「200」回更新されるごとにタイマCに「1」が加算されることから、「300回×200回×3回=180000回」の割込み処理が実行された(「180」秒が経過した)状況である。
なお、上記例ではタイマCに「1」加算する命令を実行しているが、減算命令としてもよい。減算命令の場合は、電源投入時にタイマCの値として初期値「3」を記憶し、その後「0」となったときに「3」を記憶してもよい。あるいは、電源投入時にタイマCの値として初期値「2」を記憶し、その後、キャリーフラグが「1」となったときに「3」を記憶してもよい。
ただし、本実施形態のようにタイマCの更新を加算命令とすれば、減算命令にした場合と比べて、初期値をセットする処理を省略できる(電源投入時の初期化処理により初期値は「0」となる)分、処理速度の向上やプログラム容量を削減することができる。
タイマCの時間が経過したと判断したときはステップS272に進み、経過していないと判断したときはステップS273に進む。
すなわち、タイマCの時間が経過したと判断されたときは、「180」秒の周期が到来したときであり、「180」秒の周期には「60」秒の周期が含まれるため、遊技機性能情報を通知するタイミングが到来し、かつ、遊技機設置情報を通知するタイミングが到来したときである。したがって、遊技機情報通知要求フラグの「D0」及び「D1」ビットの双方を「1」にする。
主制御CPU510は、メダル数制御CPU520に対し、主制御状態の送信タイミングが到来するごと(たとえばタイマ割込み処理ごと)に、主制御状態の情報を送信する。
一方、メダル数制御CPU520は、新主制御状態記憶領域と、旧主制御状態記憶領域とを有している。メダル数制御CPU520は、主制御CPU510から主制御状態の情報を受信したときは、新主制御状態記憶領域に受信した主制御状態の情報を記憶する。一方、後述するホールコン・不正監視情報セットが実行されると、メダル数制御CPU520は、新主制御状態記憶領域に記憶されている主制御状態の情報を、旧主制御状態記憶領域に記憶する。このため、ステップS274の判断時には、新主制御状態記憶領域と旧主制御状態記憶領域の双方に、主制御状態の情報が記憶されている。
このように、主制御CPU510から受信した主制御状態の情報を、新主制御状態記憶領域と旧主制御状態記憶領域とに分けて記憶しておくことにより、主制御CPU510から主制御状態の情報を受信していなくても、主制御状態に変化がないことを判断することができ、遊技機情報の優先度を把握することができる。
さらにステップS274では、メダル数制御CPU520は、投入メダル数が「0」でないか否か、及び払出しメダル数が「0」でないか否かを判断する。
図91に示すように、メダル数制御RWM522のホールコン・不正監視情報送信用記憶領域には、今回遊技の投入メダル数と、今回遊技の払出しメダル数とを記憶する記憶領域を有している。これらの記憶領域は、ベット処理や払出し処理で用いられる記憶領域や、役比モニタで用いられるベット数や払出し数の記憶領域とは異なる記憶領域であり、遊技機情報管理で用いられるための記憶領域である。
また、主制御CPU510は、全リール31が停止したと判断したときは、全リール停止コマンドをメダル数制御CPU520に送信する。メダル数制御CPU520は、全リール停止コマンドを受信したときに、払出しメダル数を生成し、記憶する。
なお、メダルが払い出されてから「300」ms以内に次回遊技が開始されたり、遊技が開始されてから「300」ms以内にメダルが払い出されたりすれば、次回の遊技機情報管理においてもステップS274で「Yes」と判断されることになるが、そのような事象は稀であると考えられる。
遊技機設置情報の通知要求があると判断したときはステップS280に進み、遊技機設置情報の通知要求がないと判断したときはステップS277に進む。
遊技機性能情報の通知要求があると判断したときはステップS278に進み、遊技機性能情報の通知要求がないと判断したときはステップS275に進む。
すなわち、遊技機設置情報の通知要求がなく、かつ、遊技機性能情報の通知要求がないときは、ホールコン・不正監視情報を送信する。
一方、ステップS277からステップS278に進むと、遊技機性能情報を送信する。そして次のステップS279で、遊技機情報通知要求フラグの「D0」ビットを「0」にし、本フローチャートによる処理を終了する。
以上のようにして、ステップS274の判断タイミングで、主制御状態に変化がなく、かつ、投入メダル数及び払出しメダル数が「0」であるときは、遊技機設置情報及び遊技機性能情報がホールコン・不正監視情報より優先して送信される。
これに対し、ステップS274の判断タイミングで、主制御状態に変化がある場合、又は投入メダル数若しくは払出しメダル数が「0」でないときは、ホールコン・不正監視情報が、遊技機設置情報及び遊技機性能情報より優先して送信される。
このように処理を実行することにより、遊技機情報通知では、優先度の高い遊技機情報を送信することが可能となる。そして、優先度の高い遊技機情報を送信できるようにしつつ、プログラムを複雑にすることなく(プログラム容量を大きくすることなく)、処理の高速化を図ることができる。
図95の例は、主制御状態が変化せず、かつ、投入メダル数及び払出しメダル数が「0」である例である。これに対し、図96の例は、主制御状態が変化するか、又は投入メダル数若しくは払出しメダル数が「0」でない場合を有する例である。
図95において、まず、遊技機10の電源が投入されると、メダル数制御RWM522の初期化処理が実行され、これによってタイマA、タイマB、及びタイマCの各値がクリアされる(「0」が記憶される)。換言すると、タイマA、タイマB、及びタイマCには、初期値として「0」がセットされる。この時点でのタイミングを「T0」とする。
また、上述したように、タイミング「T0」において、主制御起動待機タイマM1に「3000」がセットされる(図92のステップS223)。
タイミング「T1」では、接続確認後待機タイマM2のカウントを開始する。
次に、タイミング「T1」から「100」msを経過してタイミング「T2」になると、接続確認後待機タイマM2の値は「100」となる。このタイミング「T2」は、図93中、ステップS240で「Yes」と判断されるタイミングに相当する。
そして、接続済みフラグがオン(図93のステップS241)、かつ、更新前のタイマAの値が「0」であるので(図94のステップS263で「Yes」)、タイミング「T2」では、図94のステップS266に進み、遊技機設置情報が送信される。図中、「(送信)」は、遊技機情報通知が送信されることを意味する。また、タイミング「T2」から、タイマBは、「60」秒をカウントする。
また、タイミング「T2」から「60」秒を経過してタイミング「T4」になると、タイマBの値は「199」から「0」に更新され、遊技機設置情報通知要求フラグ(D1ビット)が「1」となり、遊技機設置情報の送信条件を満たす。さらに、タイミング「T4」では、タイマAの値は「1」から「300」に更新され、ホールコン・不正監視情報の送信条件を満たす。したがって、タイミング「T4」では、優先順位より、遊技機設置情報が送信される。なお、遊技機設置情報が送信されると遊技機設置情報通知要求フラグ(D1ビット)が「0」になる。
そして、タイミング「T4」から「300」msを経過したタイミング「T5」において、ホールコン・不正監視情報が送信される。
よって、タイミング「T6」では、ホールコン・不正監視情報、遊技機性能情報、遊技機設置情報のすべての送信条件を満たす。したがって、優先順位より、タイミング「T6」では、遊技機設置情報が送信される。遊技機設置情報が送信されると遊技機設置情報通知要求フラグ(D1ビット)が「0」になる。これに対し、遊技機性能情報は送信条件を満たすものの未だ送信されていないので、遊技機性能情報通知要求フラグ(D0ビット)は「1」を維持する。
したがって、優先順位より、タイミング「T7」では、遊技機性能情報が送信される。遊技機性能情報が送信されると遊技機性能情報通知要求フラグ(D0ビット)が「0」になる。
次に、タイミング「T7」から「300」msが経過してタイミング「T8」になると、この時点では、タイマAの値は「1」から「300」に更新され、ホールコン・不正監視情報の送信条件を満たす。なお、遊技機設置情報及び遊技機性能情報の送信条件は満たさない。
したがって、タイミング「T7」では、ホールコン・不正監視情報が送信される。
図96において、タイミング「T4」では、上述と同様に、ホールコン・不正監視情報、及び遊技機設置情報の送信条件を満たす。そして、原則としては、遊技機設置情報の送信が優先される。しかし、タイミング「T4」が到来したときに、主制御状態が変化しているか、又は投入メダル数若しくは払出しメダル数が「0」でないことから、ホールコン・不正監視情報の送信が優先される。換言すれば、タイミング「T4」において、図94中、ステップS274で「Yes」と判断される場合に相当する。
したがって、タイミング「T4」では(ステップS275に進んで)ホールコン・不正監視情報が送信される。また、タイミング「T4」では遊技機設置情報は送信されないので、遊技機設置情報通知要求フラグ(D1ビット)は「1」のままである。
そして、タイミング「T4」から「300」msを経過し、タイミング「T5」になったときは、(主制御状態が変化しておらず、かつ、投入メダル数及び払出しメダル数が「0」であることを条件として)遊技機設置情報が送信される。
次に、タイミング「T6」から「300」msが経過してタイミング「T7」になると、この時点では、タイマAの値は「1」から「300」に更新され、ホールコン・不正監視情報の送信条件を満たす。遊技機設置情報通知要求フラグ(D1ビット)は「1」であるので遊技機設置情報の送信条件を満たし、かつ、遊技機性能情報通知要求フラグ(D0ビット)が「1」であるので遊技機性能情報の送信条件を満たす。
したがって、タイミング「T7」では、(主制御状態が変化しておらず、かつ、投入メダル数及び払出しメダル数が「0」であることを条件として)遊技機設置情報が送信される。これにより、遊技機設置情報通知要求フラグ(D1ビット)は「0」に更新されるが、遊技機性能情報通知要求フラグ(D0ビット)は「1」を維持する。
よって、タイミング「T7」において、主制御状態が変化しておらず、かつ、投入メダル数及び払出しメダル数が「0」であれば、遊技機情報通知の優先順位より、遊技機性能情報が送信される。これにより、遊技機性能情報通知要求フラグ(D0ビット)は「0」に更新される。
そして、タイミング「T8」から「300」msを経過してタイミング「T9」になると、タイマAの値は「1」から「300」に更新され、ホールコン・不正監視情報の送信条件を満たす。なお、遊技機設置情報及び遊技機性能情報の送信条件は満たさない。
したがって、タイミング「T9」では、ホールコン・不正監視情報が送信される。
そして、タイミング「T8」から「300」msを経過してタイミング「T9」になったときに、遊技機性能情報通知要求フラグ(D0ビット)が「1」であることから遊技機性能情報の送信条件を満たす。そして、タイミング「T9」において、主制御状態が変化しておらず、かつ、投入メダル数及び払出しメダル数が「0」であれば、遊技機情報通知の優先順位より、遊技機性能情報が送信される。これにより、遊技機性能情報通知要求フラグ(D0ビット)は「0」に更新される。
図90に示すように、遊技性能情報送信用記憶領域において、遊技回数の記憶領域は2バイトである。したがって、遊技回数として「65535」まで記憶可能である。一方、遊技機10をホールの営業時間内で1日(13~14時間程度)稼働させたときの遊技回数は「10000」程度である。このため、1日で遊技回数が「65535」に到達することはあり得ない。
しかし、ホールによっては、遊技機10の電源のオン/オフを毎日行わない場合がある。このため、数日間にわたり遊技回数がリセットされない可能性がある。
一方、遊技回数の2バイトの記憶容量が桁あふれを起こすと、正確な遊技機性能情報を送信できなくなる。
そこで、第6実施形態では、上述したように、遊技回数の2バイトの記憶領域が「FFFFh」に到達したときは、
(1)総投入数
(2)総払出し数
(3)MY
(4)累計役物総払出し数
(5)累計連続役物総払出し数
(6)遊技回数
の6項目については更新しないようにする。
これにより、遊技機10の電源をオンにし続けるホールがあったとしても、その遊技機10から送信される遊技機性能情報が異常値となってしまうことを防止することができる。
この処理は、主制御CPU510から送信される1遊技が終了したことを示すコマンド(たとえば、主制御CPU510が払出しコマンドの送信タイミングの後の所定タイミングで送信するコマンド)を受信したことに基づいて実行される。また、この処理は、図93では図示していないが、メダル数制御CPU520の割込み処理において実行される。
まず、ステップS652では、メダル数制御CPU520は、遊技機性能情報送信用記憶領域の遊技回数が「65535(FFFFh)」であるか否かを判断する。「65535」でないと判断されたときはステップS653に進み、「65535」であると判断されたときは本フローチャートによる処理を終了する。換言すると、遊技回数が「65535」であると判断されたときは、ステップS653以降における各値の更新を実行しない。
ステップS653では、遊技回数に「1」を加算する。次のステップS654では、今回遊技において再遊技作動図柄が停止したか否かを判断する。再遊技作動図柄が停止していないと判断したときはステップS655に進み、停止したと判断したときは本フローチャートによる処理を終了する。換言すると、再遊技作動図柄が停止したと判断されたときは、遊技回数の更新のみを行い、ステップS655以降の更新を実行しない。
次にステップS657に進み、今回遊技が役物作動中の遊技であるか否かを判断する。役物作動中の遊技であると判断したときはステップS658に進み、役物作動中の遊技でないと判断したときはステップS661に進む。
ステップS658では、役物総払出し数に今回遊技の払出し数を加算する。次のステップS659では、今回遊技が第一種特別役物の作動中の遊技であるか否かを判断する。第一種特別役物の作動中の遊技であると判断したときはステップS660に進み、第一種特別役物の作動中の遊技でないと判断したときはステップS661に進む。
ステップS660では、連続役物総払出し数に今回遊技の払出し数を加算する。そしてステップS661に進む。
ステップS661では、MYから今回遊技の規定数を減算し、かつ、今回遊技の払出し数を加算する演算を実行する。なお、この処理は、MYの記憶領域を直接更新するのではなく、MY値をレジスタに記憶し、レジスタ上においてMYから規定数を減算し、かつ、払出し数を加算する処理を行う。
そして、当該演算結果が「0」未満であるか否かを判断する。「0」未満であると判断したときはステップS662に進み、「0」未満でないと判断したときはステップS663に進む。
一方、ステップS663では、ステップS661の演算後のMY(演算前MY-規定数+払出し数)が演算前のMYよりも大きいか否かを判断する。大きいと判断したときはステップS664に進み、大きくないと判断したときは本フローチャートによる処理を終了する。
ステップS664では、MYを、演算後のMY値に更新する。そして本フローチャートによる処理を終了する。
ただし、図94で示したように、電源オン後の遊技回数が上限値「65535(FFFFh)」に到達した場合であっても、遊技機性能情報の送信タイミングとなったときは、遊技機性能情報(遊技回数、総投入数、総払出し数、役物総払出し数、連続役物総払出し数、MYを含む)が貸出しユニット200に送信される。
また、累計役物比率、累計連続役物比率、累計有利区間比率、累計指示込役物比率、累計役物等状態比率は、遊技機性能情報送信用記憶領域の遊技回数が上限値「65535(FFFFh)」に到達した場合であっても算出され、遊技機性能情報送信用記憶領域に記憶される。そして、その算出結果は、遊技機性能情報として(電源オン後の遊技回数が上限値「65535(FFFFh)」に到達したか否かにかかわらず)貸出しユニット200に送信される。
そして、上記遊技機性能情報に限らず、遊技機設置情報についても、その送信タイミングが到来したときは、電源オン後の遊技回数が上限値「65535(FFFFh)」に到達したか否かにかかわらず、貸出しユニット200に送信される。
さらにまた、上記遊技機性能情報に限らず、ホールコン・不正監視情報についても、その送信タイミングが到来したときは、電源オン後の遊技回数が上限値「65535(FFFFh)」に到達したか否かにかかわらず、貸出しユニット200に送信される。
特に、電源オン後の遊技回数が上限値「65535(FFFFh)」に到達した場合であっても、遊技の進行に応じて投入メダル数や払出しメダル数を更新し、ホールコン・不正監視情報として貸出しユニット200に送信することで、不正等を防止することができる。
これに対し、累計役物比率、累計連続役物比率、累計有利区間比率、累計指示込役物比率、累計役物等状態比率については、役比モニタ情報算出・表示用記憶領域に記憶された値に基づいて、遊技機性能情報送信用記憶領域に記憶する。
なお、上述したように、対象比率が非該当であるとき、又は規定遊技数に到達していないときは、役比モニタ情報算出・表示用記憶領域に記憶された値に代えて「FFh」が記憶される。
以上のようにして、遊技回数が上限値「65535(FFFFh)」に到達したときは、総投入数、総払出し数、役物総払出し数、連続役物総払出し数、MYを更新しないので、突飛な値が記憶されてしまうことを防止することができる。
一方、これらの更新を中止した後も、送信タイミングが到来したときには遊技機情報通知を送信することができる。
まず、ステップS522では、図79中、役比モニタ情報算出・表示用記憶領域の累計役物等状態比率のRWMアドレスをセットする。この例では、RWMアドレスと各比率とを、
F201h:累計役物等状態比率
F202h:累計有利区間比率
F203h:累計指示込役物比率
F204h:「6000」遊技連続役物比率
F205h:「6000」遊技役物比率
F206h:累計連続役物比率
F207h:累計役物比率
とする。
次のステップS525では、次のRWMアドレスをセットする。この処理は、それまでのRWMアドレスに「1」を加算したRWMアドレスをセットする処理である。
次にステップS526に進み、全比率の更新処理を終了したか否かを判断する。この処理は、たとえばステップS523における比率の取得を「7」回行った否かを判断してもよいし、ステップS525において次のRWMアドレスをセットする前のRWMアドレスが「F207h」であるか否かを判断してもよい。
全比率の更新処理が終了したと判断したときは本フローチャートによる処理を終了する。全比率の更新処理が終了していないと判断したときはステップS523に戻る。
まず、ステップS591では、取得した比率が累計役物比率であるか否かを判断する。ここでは、たとえば取得した比率のアドレス値が「F207h」であるか否かを判断することにより、取得した比率が累計役物比率であるか否かを判断することが挙げられる。取得した比率が累計役物比率であると判断したときはステップS597に進み、累計役物比率でないと判断したときはステップS592に進む。ステップS592では、取得した比率が累計連続役物比率であるか否か(取得した比率のアドレス値が「F206h」であるか否か)を判断する。取得した比率が累計連続役物比率であると判断したときはステップS597に進み、累計連続役物比率でないと判断したときはステップS593に進む。
ステップS593では、取得した比率が累計有利区間比率であるか否か(取得した比率のアドレス値が「F202h」であるか否か)を判断する。取得した比率が累計有利区間比率であると判断したときはステップS596に進み、累計有利区間比率でないと判断したときはステップS594に進む。ステップS594では、取得した比率が累計指示込役物比率であるか否か(取得した比率のアドレス値が「F203h」であるか否か)を判断する。取得した比率が累計指示込役物比率であると判断したときはステップS596に進み、累計指示込役物比率でないと判断したときはステップS595に進む。ステップS595では、取得した比率が累計役物等状態比率であるか否か(取得した比率のアドレス値が「F201h」であるか否か)を判断する。取得した比率が累計役物等状態比率であると判断したときはステップS596に進み、累計役物等状態比率でないと判断したときは本フローチャートによる処理を終了する。
総遊技数が「175000」以上であると判断したときはステップS598に進み、総遊技数が「175000」以上でないと判断したときはステップS600に進む。
一方、ステップS591又はS592からステップS597に進むと、総遊技数が「17500(規定遊技数)」以上であるか否かを判断する。総遊技数が「17500」以上であると判断したときはステップS598に進み、総遊技数が「17500」以上でないと判断したときはステップS600に進む。
一方、ステップS599では、取得した比率を遊技機性能情報送信用記憶領域の対象比率に記憶する。そして本フローチャートによる処理を終了する。
以上より、
a)累計有利区間比率、累計指示込役物比率、累計役物等状態比率については、総遊技数が「175000(規定遊技数)」未満であるか又は非該当項目であるときには「FFh」が記憶され、それ以外の場合には取得した比率が記憶される。
b)累計役物比率、累計連続役物比率については、総遊技数が「17500(規定遊技数)」未満であるか又は非該当項目であるときには「FFh」が記憶され、それ以外の場合には取得した比率が記憶される。
このようにして、総遊技数が規定数未満であるとき又は非該当項目であるときは「FFh」を記憶するので、その比率が遊技性能情報として送信されることにより、当該比率が規定数未満の比率であること又は非該当項目であることを貸出しユニット200側で判断可能となる。
なお、役比モニタ113の表示では、総遊技数が規定数未満であるときは識別セグを点滅表示する。また、当該比率が非該当項目であるときは、比率セグに「--」を表示する。
このように、役比モニタ113で表示する情報と遊技機性能情報として送信する情報とが相違する場合があるので、役比モニタ情報算出・表示用記憶領域とは別に遊技機性能情報送信用記憶領域を設けておく方が情報処理を軽減することができる。
また、図98及び図99から明らかなように、図98のステップS523では、アドレス「F204h」の「6000」遊技連続役物比率や、アドレス「F205h」の「6000」遊技役物比率が取得される場合があるが、図99の処理に進むと、ステップS591~S595のいずれの比率にも該当しないので、取得した比率は記憶されることなく処理を終了する。
(1)図80において、総遊技数に「1」を加算した結果、4バイトフルになったときは、その時点で総遊技数上限フラグを「FFh」にし、かつ、それ以降の処理を中止してもよい。
あるいは、総遊技数に「1」を加算した結果、4バイトフルになったときは、その時点で総遊技数上限フラグを「FFh」にするが、それ以降の処理を継続してもよい。
型式試験において、コンプリート機能が作動してしまうと、遊技の進行が停止するので、試験の続行ができなくなる。このため、コンプリート機能が作動する前に試験機に対して遊技中断信号を送信する。試験機は、遊技中断信号を受信すると、テストモードを中止する。そして、試験機の電源をオフし、再度オンにすることによって試験が再開可能となる(電源をオン/オフすれば、MYカウンタがリセットされるため)。これによりコンプリート機能を作動させずに試験を行うことが可能となる。
なお、上記の「18500」は例示であり、「18000」、「18800」、「18900」等、種々設定することができる。
しかし、これに限らず、他の例として、以下の例1~例4の方法が挙げられる。
(例1)
図90に示す遊技機設置情報送信用記憶領域は、電源オン時に初期化(クリア)されるので、その時点での主制御チップID番号の値は「0」となる。その後、主制御CPU510から主制御チップID番号が送信されると遊技機設置情報送信用記憶領域に記憶される。
したがって、遊技機設置情報送信用記憶領域の主制御チップID番号が「0」であるか否かを判断することにより、主制御CPU510から主制御チップID番号を受信したか否かを判断可能となる。換言すれば、主制御CPU510が立ち上がったか否かを判断可能となる。
よって、主制御起動待機タイマM1を設けず、遊技機設置情報送信用記憶領域の主制御チップID番号が「0」でないか否かを判断することにより、主制御CPU510がコマンド(主制御チップID番号)を送信する処理(所定の処理)を終了したか否か(主制御CPU510が立ち上がったか否か)を判断してもよい。
さらに、遊技機設置情報送信用記憶領域の主制御チップID番号に限らず、主制御チップメーカコード、又は主制御チップ製品コードの少なくとも1つが「0」でないか否かを判断することにより、主制御CPU510がコマンドを送信する処理を終了したか否かを判断してもよい。
また、主制御起動待機タイマM1が「0」になり、かつ、遊技機設置情報送信用記憶領域の主制御チップID番号、主制御チップメーカコード、又は主制御チップ製品コードの少なくとも1つが「0」でないか否かを判断することにより、主制御CPU510がコマンドを送信する処理を終了したか否か(主制御CPU510が立ち上がったか否か)を判断してもよい。
(例3)
さらにまた、第6実施形態では、主制御CPU510は、電源オン後、メダル数制御CPU520に対し、
1)主制御チップID番号
2)主制御チップメーカコード
3)主制御チップ製品コード
4)役比タイプ
の順にコマンドを送信するように構成されている。
ここで「役比タイプ」とは、役比モニタの表示の種別を指定するためのデータであり、「0」は役比モニタなし、「1」は「7U」タイプ、「2」は「7P」タイプを示す。
このため、主制御CPU510から役比タイプのコマンドを受信したときは、上記1)~4)のすべてのコマンドを受信したと判断することができる。
そこで、主制御起動待機タイマM1を設けず、役比タイプを受信したときは、主制御CPU510がコマンドを送信する処理を終了した(主制御CPU510が立ち上がった)と判断してもよい。
あるいは、主制御起動待機タイマM1が「0」になり、かつ、役比タイプを受信したときは、主制御CPU510がコマンドを送信する処理を終了した(主制御CPU510が立ち上がった)と判断してもよい。
(例4)
主制御CPU510が起動時におけるすべてのコマンドの送信を完了したときに、送信完了を示す専用のコマンドを主制御CPU510からメダル数制御CPU520に送信するように構成する。この場合に、メダル数制御CPU520は、当該専用のコマンドを受信したときに、主制御CPU510がコマンドを送信する処理を終了した(主制御CPU510が立ち上がった)と判断してもよい。
たとえば電源断信号を1回でも検知すれば電源断が発生したと判断してもよい。あるいは、複数回(たとえば2回)の連続する割込み処理において電源断信号を検知したことを条件として電源断が発生したと判断してもよい。
電源断信号を1回でも検知すれば電源断が発生したと判断する場合には、電源断をより早期に検知できるが、誤検知する(電源断が現に発生していないにもかかわらず電源断処理を実行してしまう)おそれがある。
これに対し、複数回の連続する割込み処理で電源断信号を検知したときに電源断が発生したと判断する場合には、1回の電源断信号の検知で電源断と判断する場合よりも判断までの時間は遅延するが、電源断の判断の信頼性を高めることができる。
一方、上記実施形態では、コンプリート機能仮フラグがオンになった後、コンプリート機能作動フラグがオンになったときはコンプリート機能仮フラグをオフにした。しかし、これに限らず、コンプリート機能作動フラグがオンになった後もコンプリート機能仮フラグをオンのままとしてもよい。
(6)主制御起動待機タイマM1及び接続確認後待機タイマM2は、必ずしも備える必要ではない。たとえば、主制御起動待機タイマM1を備えるが接続確認後待機タイマM2を備えていないもの、主制御起動待機タイマM1を備えていないが接続確認後待機タイマM2を備えるもの、主制御起動待機タイマM1及び接続確認後待機タイマM2の双方を備えていないもの、のいずれであってもよい。
これらのいずれであっても、電源投入後に最初に送信される遊技機情報通知は、遊技機設置情報を含む遊技機情報通知である。
また、図98及び図99に示す遊技機性能情報送信用記憶領域への比率記憶処理(遊技機性能情報送信用記憶領域中、累計役物比率、累計連続役物比率、累計有利区間比率、累計指示込役物比率、累計役物等状態比率の更新)は、遊技機性能情報の送信時ごとに実行した。
しかし、これに限らず、上記処理のいずれも、メダル数制御CPU520の割込み処理ごと、所定回数の割込み処理ごと(たとえば割込み処理100回に1回の割合)、所定タイミングごと(たとえば1遊技の終了時ごと)に実行してもよい。
さらに、図98及び図99に示す処理は、図80~図83に示す処理(比率算出処理)が実行されるごと(1遊技ごと、又は「400」遊技(複数遊技)ごと)に実行してもよい。
(8)図80において、総遊技数上限フラグが「FFh」であると判断されたときはステップS682の処理をスキップしたが、これに限らず、総遊技数上限フラグが「FFh」であると判断されたときは総遊技数上限フラグを「FFh」に更新し直す処理を実行してもよい。
同様に、図82において、総払出し数上限フラグが「FFh」であると判断されたときはステップS768の処理をスキップしたが、これに限らず、総払出し数上限フラグが「FFh」であると判断されたときは総払出し数上限フラグを「FFh」に更新し直す処理を実行してもよい。
続いて、第7実施形態について説明する。
第7実施形態においても、第6実施形態と同様に、「遊技媒体」を「メダル」と称する。ただし、第7実施形態においても遊技機10はメダルレス遊技機(スマート遊技機、スマートパチスロ)であり、遊技媒体は電子メダル(電子遊技媒体)であることは、他の実施形態と同一である。
また、第7実施形態のハードウェア構成(ブロック図)は、図77(第6実施形態)と同じである。換言すると、主制御基板50上に2つの1チップマイクロプロセッサが搭載され、その1つが主制御CPU510であり、他の1つがメダル数制御CPU520である。
さらに、メダル数制御RWM522の使用領域は、図90~図91(第6実施形態)と同じである。
なお、遊技機10の電源が投入されたときは、メダル数制御CPU520が先に立ち上がり、次に主制御CPU510が立ち上がるように構成されている。
一方、電源断されたときは、最初に主制御CPU510が遮断され、次にメダル数制御CPU520が遮断されるように構成されている。
さらに、第7実施形態では、メダル数制御RWM522に記憶された総メダル数が「16368(10進数)」を超えた場合には、主制御CPU510は、エラー状態とし、遊技進行不可(スタートスイッチ41の操作受付け無効、ベットスイッチ40の操作受付け無効、精算スイッチ43の操作受付け無効)とする。
以下の説明では、総メダル数「16368」を「遊技進行可能な(総メダル数の)上限値」と称し、総メダル数「16383」を「メダル数制御RWM522に記憶可能な(総メダル数の)上限値」と称する。
なお、「16383>16368」であるので、総メダル数が「16383」に到達する前に「16368」に到達し、遊技進行が不可となる。このため、原則としては総メダル数が「16383」に到達することはない。ただし、ノイズ等の何らかの不具合が発生し、総メダル数が「16368」を超えてしまう可能性がある。
一方、総メダル数が「15000」以上となったときは、主制御CPU510から副制御CPU85に対してコマンドを送信し、副制御CPU85は、計数を促す報知を行うように構成している。このように構成するため、メダル数制御CPU520→主制御CPU510→副制御CPU85(副制御基板80)の流れで、総メダル数が「15000」以上、かつ遊技進行可能な上限値以下であることを示す情報を送信する。なお、総メダル数が「15000」以上となったときは、貸出しユニット200からのメダルの貸出しは不可(貸出しスイッチ202が操作されても無効)となる。換言すると、メダル貸出し可能な総メダル数の上限値は「14999」である。
なお、総メダル数が「15000」以上となり、計数を促す報知が実行されている間も、総メダル数が遊技進行可能な上限値「16368」以下であれば、遊技進行が可能である。
また、総メダル数が遊技進行可能な上限値を超えたときは、その情報を副制御CPU85に送信し、副制御CPU85は、総メダル数が遊技進行可能な上限値を超えたために遊技進行が停止していることを報知してもよい。このようにするため、メダル数制御CPU520→主制御CPU510→副制御CPU85(副制御基板80)の流れで、総メダル数が遊技進行可能な上限値を超えたことを示す情報を送信する。
図100は、第7実施形態において、主制御CPU510(「主制御手段510」、「主制御チップ510」とも称する。)とメダル数制御CPU520(「メダル(遊技媒体)数制御手段520」、「メダル(遊技媒体)数制御チップ520」とも称する。)との間における(ベット、精算、付与)コマンドの送受信を示す図であり、(a)は概要を示し、(b)はコマンドの内容を示す。
主制御CPU510からメダル数制御CPU520に対しては、主制御コマンドを送信し、主制御コマンドの1つとして要求コマンドを有する。第7実施形態における主たる要求コマンドは、ベット要求コマンド、精算要求コマンド、付与要求コマンドである。
なお、以下の説明では、要求コマンドと称するときは、特に説明をしない限り、ベット要求コマンド、精算要求コマンド、又は付与要求コマンドの少なくとも1つを指す。
主制御CPU510は、ベットスイッチ40(1ベットスイッチ40a又は3ベットスイッチ40b)が操作されたことを検知したときに、操作されたベットスイッチ40に対応するメダル数のベット(「投入」ともいう。)(総メダル数からの減算)を要求するベット要求コマンドをメダル数制御CPU520に送信する。
また、主制御CPU510は、精算スイッチ46が操作されたことを検知したときに、現時点でベットされているメダル数を総メダル数に戻すこと(総メダル数への加算)を要求する精算要求コマンドをメダル数制御CPU520に送信する。
さらにまた、主制御CPU510は、メダルの付与(「払出し」ともいう。)を有する小役に対応する図柄組合せが停止表示したときに、メダルの付与(総メダル数への加算)を要求する付与要求コマンドをメダル数制御CPU520に送信する。
具体的には、現在のベット数が「0」の状況下で1ベットスイッチ40aの操作を検知したときは、主制御CPU510は、メダル数「1」のベット要求コマンドを送信する。
同様に、現在のベット数が「0」の状況下で3ベットスイッチ40bの操作を検知したときは、主制御CPU510は、メダル数「3」のベット要求コマンドを送信する。また、現在のベット数が「1」の状況下で3ベットスイッチ40bの操作を検知したときは、主制御CPU510は、メダル数「2」のベット要求コマンドを送信する。さらにまた、現在のベット数が「2」の状況下で3ベットスイッチ40bの操作を検知したときは、主制御CPU510は、メダル数「1」のベット要求コマンドを送信する。なお、現在のベット数が「3」の状況下で1ベットスイッチ40a又は3ベットスイッチ40bの操作を検知したときは、主制御CPU510は、ベット要求コマンドを送信しない。
また、精算スイッチ46の操作を検知した場合において、現時点でのベット数が「x」(「x」は、「1」~「3」のいずれか)であるときは、主制御CPU510は、精算数「x」の精算要求コマンドを送信する。なお、現在のベット数が「0」の状況下で精算スイッチ46の操作を検知したときは、主制御CPU510は、精算要求コマンドを送信しない。
ただし、上記に限らず、ベット要求コマンド及び精算要求コマンドは、メダル数「1」ずつ送信してもよい。たとえば現在のベット数が「0」の状況下で3ベットスイッチ40bの操作を検知したときは、主制御CPU510は、メダル数「1」のベット要求コマンドを3回送信してもよい。同様に、現時点でのベット数が「3」である場合において、精算スイッチ46の操作を検知したときは、主制御CPU510は、メダル数「1」の精算求コマンドを3回送信してもよい。
一方、付与数「x」(「x」は、「1」~「15」のいずれか)である小役に対応する図柄組合せが停止表示したときは、主制御CPU510は、メダル数「1」の付与要求コマンドを「x」回送信する。ただし、これに限らず、付与数「x」である小役に対応する図柄組合せが停止表示したときは、主制御CPU510は、メダル数「x」の付与要求コマンドを1回送信してもよい。なお、小役に対応する図柄組合せが停止表示せず遊技媒体の付与数が「0」であるとき、又はリプレイに対応する図柄組合せが停止表示したときは、主制御CPU510は、付与要求コマンドを送信しない。
さらに、下位バイト「0xH」の「0」を下位バイトの上位桁と称し、「x」を下位バイトの下位桁と称する。
要求コマンドの上位1バイトは、ベット、精算、付与のいずれの要求コマンドであるかを識別するための値となっている。ベット要求コマンドの上位バイトは「A0H」、精算要求コマンドの上位バイトは「A1H」、付与要求コマンドの上位バイトは「A2H」である。
また、下位1バイトの下位桁は、メダル数「x」を示す値である。たとえばメダル数「1」の場合は「1H」であり、メダル数「3」の場合は「3H」である。
よって、たとえばメダル数「1」のベット要求コマンドは「A001H」である。また、たとえばメダル数「3」の精算要求コマンドは「A103H」である。
メダル数制御CPU520は、主制御CPU510から要求コマンドを受信すると、すぐに主制御CPU510に対して応答コマンド(ベット要求コマンドに対してはベット要求応答コマンド、精算要求コマンドに対しては精算要求応答コマンド、付与要求コマンドに対しては付与要求応答コマンド)を送信する。応答コマンドは、2バイトから構成され、上位バイトは、要求コマンドと同一値とする。したがって、ベット要求応答コマンドの上位1バイトは「A0H」、精算要求応答コマンドの上位1バイトは「A1H」、付与要求応答コマンドの上位1バイトは「A2H」である。
さらに、応答コマンドの下位1バイトは、正常に要求コマンドを受け付けたことを示す要求応答コマンドである場合には、受信した要求コマンドの下位1バイトと同一値となる。したがって、受信した要求コマンドの下位1バイトが「0xH」であるときは、原則として、応答コマンドの下位1バイトは「0xH」となる。
具体的には、たとえば主制御CPU510がベット要求コマンド「A001H」(ベット数「1」)を送信したが、主制御CPU510とメダル数制御CPU520との通信間でノイズ等が発生し、メダル数制御CPU520が受信したベット要求コマンドが「A003H」(ベット数「3」)である場合が挙げられる。この場合には、メダル数制御CPU520は、主制御CPU510が送信したベット要求コマンドと受信したベット要求コマンドとの値が異なるとは判断できない。このため、受信したベット要求コマンドのベット数が正常値である限り、受信したベット要求コマンドの値をベット要求応答コマンドとして主制御CPU510に送信する。
これに対し、メダル数制御CPU520が応答コマンドを送信する時点で、メダル数制御CPU520と貸出しユニット200との間でVL信号オフ(通信不可能状態)であるときは、下位バイトの上位桁の値を「8」、換言すると下位1バイトのD7(最上位)ビットを「1」とする。したがって、応答コマンドの下位1バイトは「8xH」となる。
よって、たとえばベット要求応答コマンド「A003H」を受信し、ベット要求応答コマンド送信時のVL信号がオンであるときは、ベット要求応答コマンドは、「A003H」となる。
これに対し、ベット要求応答コマンド「A003H」を受信し、ベット要求応答コマンド送信時のVL信号がオフであるときは、ベット要求応答コマンドは、「A083H」となる。
したがって、たとえば総メダル数が「2」である場合において、メダル数制御CPU520は、ベット要求コマンド「A003H」を受信した場合には、ベット要求応答コマンドとして「A083H」を送信する。
なお、上述したように、総メダル数が「16368」を超えたときは遊技進行不可となり、精算も不可となるので、主制御CPU510からメダル数制御CPU520に精算要求コマンドが送信されることはない。しかし、何らかの不具合が生じ、遊技が進行できてしまう(たとえば、総メダル数「13368」を超えたことを示す情報がノイズ等で主制御CPU510に送信されなかった場合等)可能性がある。
ここで、総メダル数が「16368」を超えても遊技が進行できてしまった場合において、
ベット数「0」、総メダル数「16369」
の場合にベットスイッチ40が操作され、
ベット数「3」、総メダル数「16366」
となった後、精算スイッチ46が操作されたときは、主制御CPU510はメダル数制御CPU520に対して精算要求コマンド「A103H」を送信する。メダル数制御CPU520は、精算要求コマンド「A103H」を受信したときは、総メダル数(図91)を「16369」に更新し、ベット数(図91)を「0」に更新し、かつ、正常に精算要求コマンド「A103H」を受け付けた旨の精算要求応答コマンド「A103H」を主制御CPU510に送信する。
換言すると、メダル数制御CPU520が精算要求応答コマンド「A183H」を送信するのは、VL信号がオフである場合を除き、総メダル数が「16383」を超える場合である。このため、総メダル数が「16368」を超えたとしても「16383」を超えていなければ、メダル数制御CPU520は、精算要求応答コマンド「A183H」を送信しない。
なお、総メダル数が「16368」である場合に、主制御CPU510は、付与数「1」の付与要求コマンド「A201H」をメダル数制御CPU520に送信可能である。メダル数制御CPU520は、当該付与要求コマンド「A201H」を受信すると、正常に付与要求コマンドを受け付けたとして付与要求応答コマンド「A201H」を主制御CPU510に送信する。これにより、総メダル数は「16369」になる。総メダル数が「16369」になったときは、主制御CPU510は、遊技の進行を停止する。換言すると、総メダル数が「16369」になる場合でもメダルの付与処理は正常に実行される。
さらに、何らかの不具合が生じて総メダル数が「16368」を超えても遊技が継続され、今回遊技で付与数「1」の小役が入賞し、主制御CPU510が付与数「1」の付与要求コマンド「A201H」をメダル数制御CPU520に送信し、メダル数制御CPU520が当該付与要求コマンド「A201H」を受信した場合には、正常に付与要求コマンドを受け付けたとして付与要求応答コマンド「A201H」を主制御CPU510に送信する。換言すると、メダル数制御CPU520が付与要求コマンド「A281H」を送信するのは、VL信号がオフである場合を除き、総メダル数が「16383」を超えた場合であり、総メダル数が「16368」を超えた場合ではない。
たとえば、受信したベット要求コマンド又は精算要求コマンドの下位1バイトの値が「01H」、「02H」、又は「03H」のいずれかであるときは正常と判断し、「00H」又は「04H」以上の値であるときは異常と判断する。
また、受信した付与要求コマンドの下位1バイトの値が「01H」であるときは正常と判断し、「01H」以外であるときは異常と判断する。
図101(1)は、ベット要求コマンド及びベット要求応答コマンドの正常な送受信を示す図である。3ベットスイッチ40bが操作される前の総メダル数は「10000」とする。
図101(1)において、主制御CPU510が3ベットスイッチ40bの操作を検知すると、ベット要求コマンド「A003H」を送信する。なお、この例では、総メダル数は「10000」であり、操作されたベットスイッチ40に対応するベット数のメダルを保有しているものとする。
そして、メダル数制御CPU520は、ベット要求コマンド「A003H」を受信すると、
1)ベット可否判断(要求されたベット数が正常値の範囲内であるか否か、及び、総メダル数が要求されたベット数以上であるか否か)
2)VL信号がオンであるか否か
を判断する。要求されたベット数が正常値の範囲内であり、総メダル数が要求されたベット数以上であり、かつ、VL信号がオンであるときは、ベット可能であると判断し、総メダル数を「10000」から「9997」に更新し、ベット数を「0」から「3」に更新する。
なお、ベット要求コマンド(精算要求コマンドも同様)の受信に基づき更新される総メダル数及びベット数は、メダル数制御CPU520が貸出しユニット200に送信する遊技機情報通知中、ホールコン・不正監視情報を生成するためのデータ(図91参照)である。図91中、3バイトのメダル数が「総メダル数」に相当し、投入メダル数が「ベット数」に相当する。以下の説明において、「総メダル数及びベット数(図91)」というときは、上記のデータを指すものとする。
そして、メダル数制御CPU520は、ベット要求コマンドを正常に受け付けたことを示すベット要求応答コマンド「A003H」を送信する。
主制御CPU510は、正常なベット要求応答コマンド「A003H」を受信すると、3枚ベット処理を実行する。
ここで、ベット数は主制御CPU510によって管理されている。メダル数制御CPU520が更新するベット要求コマンドの受信に基づいて更新するベット数は、遊技機情報通知用のデータ(図91)である。
また、ここでのベット処理とは、主制御RWM512に記憶されているベット数データの更新処理(「0」から「3」に更新する処理)、ベット数表示部77(図77参照)の表示(7セグメントLED)の更新処理や、状態表示LED(図示せず)の点灯更新処理が挙げられる。
1)1ベット表示ランプ(ベット数「1」~「3」のときに点灯するLED。)
2)2ベット表示ランプ(ベット数「2」又は「3」のときに点灯するLED。)
3)3ベット表示ランプ(ベット数「3」のときに点灯するLED。)
4)遊技開始表示ランプ(規定数のメダルがベットされ、スタートスイッチ41を操作可能な状態となったときに点灯するLED。リプレイの自動ベット時には点灯せず、リプレイの自動ベット後に点灯する。)
5)ベット要求表示ランプ(「インサートランプ」、「投入表示ランプ」ともいう。メダルをベット可能な状態(いわゆるベット待ち状態(ベット数が「0」~「2」の状態))のときに点灯するLED。)
6)リプレイ表示ランプ(リプレイの停止表示後に点灯するLED。)
が挙げられる。
そして、上記の主制御CPU510によるベット処理における状態表示LEDの点灯更新処理とは、ベット表示ランプの点灯処理、遊技開始表示ランプの点灯処理、ベット要求表示ランプの消灯処理等が挙げられる。
なお、詳細は後述するが、ベットスイッチ40が操作された時点でVL信号がオフである場合には、ベット要求コマンドを送信できないように構成されている。主制御CPU510は、メダル数CPU520から送信されるコマンドによりVL信号の状態を判断している。
したがって、この例では、主制御CPU510がベット要求コマンドを送信する時点ではVL信号がオンであったが、メダル数制御CPU520がベット要求応答コマンドを送信する時点ではVL信号がオフであった例である。
主制御CPU510は、3ベットスイッチ40bの操作を検知すると、ベット要求コマンド「A003H」を送信する。
この場合、メダル数制御CPU520は、総メダル数及びベット数(図91)を更新しない。
主制御CPU510は、「A083H」のベット要求応答コマンドを受信すると、ベット要求コマンドが正常に受け付けられなかったと判断し、ベット処理を実行しない。
ただし、この場合に主制御CPU510はエラー処理を実行しない。本実施形態では、VL信号がオフであるときや、要求ベット数が総メダル数を超える場合には、異常に該当しないものとしている。このように、ベット処理は実行しないがエラー処理も実行しないことで、遊技者に不快感を与えないようにすることができる。なお、これに限らず、VL信号がオフであるときでも何らかのエラー処理を実行してもよい。
ただし、主制御CPU510は、メダル数制御CPU520からVL信号オフを受信したときは、その後、メダル数制御CPU520からVL信号オンを受信するまで、ベットスイッチ40を操作してもベット要求コマンドは送信されない。
ベット数が「0」の状況下で主制御CPU510が3ベットスイッチ40bの操作を検知すると、ベット要求コマンド「A003H」を送信する。しかし、メダル数制御CPU520がベット要求コマンドを受信するまでの間にノイズ等が生じたりして、ベット数が正常値の範囲内(「1」~「3」)でない場合がある。この例は、ベット数「4」を意味する「A004H」のベット要求コマンドを受信した例である。このように、ベット数が異常値のベット要求コマンドを受信した場合には、メダル数制御CPU520は、ベット要求応答コマンドを主制御CPU510に送信しない。
また、メダル数制御CPU520は、総メダル数及びベット数(図91)を更新しない。
そして、主制御CPU510は、ベット要求コマンド「A003H」を送信した後、所定期間内にベット要求応答コマンドを受信しなかったときは、異常と判断し、エラー処理を実行する。なお、この場合に主制御CPU510はベット処理を実行しないのは勿論である。
ここで主制御CPU510が実行するエラー処理としては、以下の処理が挙げられる。
(1)エラー番号を主制御RWM512に記憶(保存)する。この例では投入要求エラーであるので、たとえば「E0」を記憶する。なお、精算要求エラーの場合には「E1」、付与要求エラーの場合には「E2」を記憶する。このように、エラーの種類ごとに異なる値を記憶する。
(2)エラーコマンドを副制御CPU85に送信する。エラーの報知を開始するためである。
(3)状態表示LEDのうち、遊技開始表示ランプの消灯処理を行う。この処理は、遊技開始表示ランプの点灯データに、消灯を意味する「0」を記憶する処理である。
(4)リセットスイッチ14が立ち上がるまで待機する。
(5)リセットスイッチ14の立ち上がりを検知したときは、上記(1)で記憶したエラー番号の値をクリアする(「0」にする)。
(6)次に、エラー解除コマンドを副制御CPU85に送信する。エラーの報知を終了するためである。
以上は、投入要求エラー時に限らず、精算要求エラー時(たとえば図104(3)の場合)、付与要求エラー時も同様に実行される。以下の説明において、(1)~(6)に示すエラー処理を行う場合には、「上述のエラー処理」と称する。
このように、メダル数制御CPU520は、異常値のベット要求コマンドを受信したときは、ベット要求応答コマンドを主制御CPU510に送信しないが、主制御CPU510は、ベット要求応答コマンドを受け取らなくても、所定期間内にベット要求応答コマンドを受信しないことから、ベット要求コマンドに係るエラーが発生したことを知ることができる。後述する精算要求応答コマンド、及び付与要求応答コマンドについても同様である。
なお、主制御CPU510がエラー処理を実行した後は、リセットスイッチ14の操作が行われないと遊技を進行できないループ処理を実行する(後述する他の例のエラー処理についても同様である。)。
ベット数が「0」の状況下で主制御CPU510がベットスイッチ40の操作を検知すると、ベット要求コマンドを送信する。しかし、主制御CPU510からメダル数制御CPU520との間で通信障害が生じ、ベット要求コマンドがメダル数制御CPU520まで送信されない場合がある。この場合、メダル数制御CPU520は、主制御CPU510からベット要求応答コマンドが送信されたことを知らないので、ベット要求応答コマンドを送信する処理を行うことはない。
この場合、メダル数制御CPU520は、総メダル数及びベット数(図91)を更新しないのは勿論である。
一方、主制御CPU510は、ベット要求コマンドを送信した後、所定期間内にベット要求応答コマンドを受信しないので、異常と判断し、エラー処理を実行する。ベット処理は実行しない。
この例では、総メダル数が「3」以上であるものとする。
ベット数が0「の」状況下で主制御CPU510が1ベットスイッチ40aの操作を検知すると、ベット要求コマンド「A001H」(ベット数「1」)を送信する。しかし、主制御CPU510からメダル数制御CPU520との間の通信にノイズ等が発生し、メダル数制御CPU520が受信したベット要求コマンドが「A003H」(ベット数「3」)であったとする。この場合、メダル数制御CPU520は主制御CPU510から「A001H」のベット要求コマンドを送信されたことは知らず、また、総メダル数が「3」以上であるのでベットが可能である。このため、メダル数制御CPU520は、「3」ベット可能であると判断し、「A003H」のベット要求コマンドを正常であると判断する。このため、メダル数制御CPU520は、総メダル数及びベット数(図91)を更新する。その後、メダル数制御CPU520は、主制御CPU510に対し、ベット要求応答コマンド「A003H」を送信する。すなわち、主制御CPU510はメダル数制御CPU520に対して「A001H」のベット要求コマンドを送信したが、メダル数制御CPU520は、主制御CPU510に対し、「A003H」のベット要求応答コマンドを送信することとなる。
そして、主制御CPU510は、「A003H」のベット要求応答コマンドを受信すると、送信したベット要求コマンドのベット数と受信したベット要求応答コマンドのベット数とが一致しないので異常と判断し、上述のエラー処理を実行する。なお、主制御CPU510は、ベット処理を実行しない。
主制御CPU510が1ベットスイッチ40aの操作を検知すると、ベット要求コマンド「A001H」(ベット数「1」)を送信する。しかし、主制御CPU510からメダル数制御CPU520との間の通信にノイズ等が発生し、メダル数制御CPU520が受信したベット要求コマンドが「A003H」(ベット数「3」)であったとする。この場合、総メダル数は「1」であるので、「3」ベットを行うことができない。このため、メダル数制御CPU520は、総メダル数及びベット数(図91)を更新しない。
そして、メダル数制御CPU520は、主制御CPU510に対し、ベット要求応答コマンド「A083H」を送信する。
主制御CPU510は、ベット要求応答コマンド「A083H」を受信すると、送信したベット要求コマンドのベット数と受信したベット要求応答コマンドのベット数とが異なるので異常であると判断し、上述のエラー処理を実行する。なお、主制御CPU510は、ベット処理を実行しない。
遊技待機中にVL信号がオフになり、主制御CPU510がVL信号オフを認識している場合には、主制御CPU510がVL信号オンを認識するまで、遊技を進行することができなくなる。具体的には、ベットスイッチ40が操作されてもその操作は無効であり、精算スイッチ46が操作されてもその操作は無効であり、スタートスイッチ41が操作されてもその操作は無効である。
したがって、主制御CPU510は、ベットスイッチ40の操作を検知しても、ベット要求コマンドをメダル数制御CPU520に送信しない。よって、ベット処理は実行されない。また、エラー処理も実行されない。
また、図103(8)は、総メダル数を超えたベット操作が行われた場合の例である。なお、この例でのVL信号はオンであるものとする。
詳細は後述するが、メダル数制御CPU520は、割込み処理ごとに、総メダル数の情報(2ビット)を含むコマンド(2バイト(16ビット)のコマンド)を主制御CPU510に送信する。総メダル数の2ビットの情報は、
1)総メダル数が「0」である場合:「00B」(ベット不可)
2)総メダル数が「1」である場合:「01B」(「1」ベット可)
3)総メダル数が「2」である場合:「10B」(「1」又は「2」ベット可)
4)総メダル数が「3」以上である場合:「11B」(「1」~「3」ベット可)
である。
したがって、主制御CPU510は、総メダル数を把握可能となっている。
たとえば総メダル数が「0」であるときにはベット不可である。また、総メダル数が「1」又は「2」であるときに3ベットスイッチ40bが操作された場合は、ベット不可である。このように、ベット要求数が総メダル数を上回る場合にはベット不可となり、主制御CPU510は、ベットスイッチ40が操作されてもその操作を無効とし、ベット要求コマンドをメダル数制御CPU520に送信しない。また、主制御CPU510は、ベット処理を実行せず、エラー処理も実行しない。
図104(1)は、精算要求コマンド及び精算要求応答コマンドの正常な送受信を示す。なお、この例では、総メダル数が「10000」であるものとする。また、VL信号はオンであるものとする。
主制御CPU510は、ベット数「3」の状況下で精算スイッチ46が操作されたことを検知すると、精算数「3」の精算要求コマンド「A103H」をメダル数制御CPU520に送信する。メダル数制御CPU520は、当該精算要求コマンドを受信すると、
1)精算可否判断(要求された精算数が正常値の範囲内であるか否か、及び、精算後の総メダル数がメダル数上限値を超えないか否か)
2)VL信号がオンであるか否か
を判断する。
メダル数制御CPU520は、要求された精算数が正常値の範囲内であり、精算後の総メダル数がメダル数上限値を超えず、かつ、VL信号がオンであると判断したときは、精算可能であると判断する。これにより、メダル数制御CPU520は、総メダル数及びベット数(図91)を更新する。具体的には、総メダル数を「10000」から「100003」に更新し(「3」加算し)、ベット数を「3」から「0」に更新する(「3」減算する)。その後、メダル数制御CPU520は、精算要求コマンドを正常に受け付けたことを示す精算要求応答コマンド「A103H」(精算要求コマンドと同じ値)を主制御CPU510に送信する。
主制御CPU510は、当該精算要求応答コマンドを受信すると、精算処理を実行する。精算処理としては、後述する図111に示すように、ベット表示ランプの表示データのクリア処理や、ベット数データを「3」から「0」に更新する(クリアする)処理等が挙げられる。
上述したベット要求コマンドの場合と同様に、主制御CPU510が精算要求コマンドを送信する時点でVL信号がオフである場合には、精算要求コマンドを送信しない。
したがって、この例では、主制御CPU510が精算要求コマンドを送信する時点ではVL信号がオンであったが、メダル数制御CPU520が精算要求応答コマンドを送信する時点ではVL信号がオフであった例である。
ベット数が「3」である状況下において、主制御CPU510は、精算スイッチ46の操作を検知すると、精算要求コマンド「A103H」を送信する。
次に、メダル数制御CPU520は、精算要求コマンドを受信する。しかし、メダル数制御CPU520は、VL信号がオフであると判断する。この場合には、メダル数制御CPU520は、VL信号がオフであることに対応するベット要求応答コマンド「A183H」を送信する。
主制御CPU510は、「A183H」のベット要求応答コマンドを受信すると、VL信号がオフであると判断するので、精算処理を実行しない。
ただし、主制御CPU510は、エラー処理は実行しない。ベット処理と同様に、VL信号がオフであるときは、異常に該当しないものとしている。ただし、これに限らず、VL信号がオフであるときでもエラー処理を実行してもよい。
ベット数「3」である状況下において、主制御CPU510は、精算スイッチ46の操作を検知すると、精算要求コマンド「A103H」を送信する。しかし、メダル数制御CPU520が精算要求コマンドを受信するまでの間にノイズが生じたり、不正行為(ゴト行為)が行われる等して、精算数が正常値の範囲内(「1」~「3」)でない場合がある。この例では、メダル数制御CPU520が精算数「5」を意味する「A105H」のベット要求コマンドを受信したものとする。このように、精算数が異常値である精算要求コマンドを受信した場合には、メダル数制御CPU520は、精算要求応答コマンドを主制御CPU510に送信しない。また、当然であるが、メダル数制御CPU520は総メダル数及びベット数(図91)を更新しない。
そして、主制御CPU510は、精算要求コマンドを送信した後、所定期間内に精算要求応答コマンドを受信しなかったときは、異常と判断し、上述のエラー処理を実行する。
ベット数「1」の場合において精算スイッチ46が操作されると、主制御CPU510は、精算数「1」の精算要求コマンド「A101H」をメダル数制御CPU520に送信する。しかし、メダル数制御CPU520が当該精算要求コマンドを受信するまでの間にノイズ等が発生し、メダル数制御CPU520が受信した精算要求コマンドの精算数が「3」である「A103H」であったとする。この場合には、精算数としては正常値の範囲内であるが、総メダル数が記憶可能な上限値「16383」を超えるので精算不可能である。よって、メダル数制御CPU520は、精算要求応答コマンド「A183H」を送信する。また、当然であるが、メダル数制御CPU520は、総メダル数及びベット数(図91)を更新しない。
主制御CPU510は、精算要求応答コマンド「A183H」を受信すると、送信した精算要求コマンドの精算数と受信した精算要求応答コマンドの精算数とが異なることから、異常と判断する。よって、上述のエラー処理を実行する。精算処理は実行しない。
ベット数「3」である状況下において、精算スイッチ46が操作されると、主制御CPU510は、精算数「3」の精算要求コマンド「A103H」をメダル数制御CPU520に送信する。しかし、当該精算要求コマンドをメダル数制御CPU520が受信するまでの間にノイズ等が発生し、メダル数制御CPU520が受信した精算要求コマンドが、精算数「1」である「A101H」であったとする。この場合、メダル数制御CPU520は、精算可能であると判断し、総メダル数及びベット数(図91)を更新する。具体的には、総メダル数に「1」を加算し、ベット数を「1」減算する。そして、精算数「1」である精算要求応答コマンド「A101H」を主制御CPU510に送信する。
主制御CPU510は、精算要求応答コマンド「A101H」を受信すると、送信した精算要求コマンドの精算数と受信した精算要求応答コマンドの精算数とが異なることから異常であると判断し、上述のエラー処理を実行する。また、精算処理は実行しない。
ベット数「3」である状況下において、精算スイッチ46が操作されると、主制御CPU510は、精算数「3」の精算要求コマンド「A103H」をメダル数制御CPU520に送信する。メダル数制御CPU520は、この精算要求コマンドを受信すると、精算可否を判断するが、現在の総メダル数「16381」に精算数「3」を加算すると、総メダル数が記憶可能な上限値「16383」を超えるので精算不可と判断する。これにより、メダル数制御CPU520は、総メダル数を更新することなく、精算要求応答コマンド「A183H」を主制御CPU510に送信する。
主制御CPU510は、精算要求応答コマンド「A183H」を受信すると、精算処理を実行しない。また、上述のエラー処理は実行しない。
図106(1)は、付与要求コマンドを送信した場合に、メダル数制御CPU520が付与要求応答コマンドを送信する時点でVL信号がオフであるときの例である。
第7実施形態では、スタートスイッチ41が操作されたときにVL信号がオフであるときは、遊技を進行しない。しかし、スタートスイッチ41が操作された後にVL信号がオフになり、VL信号がオフであるときにストップスイッチ42が操作されてもその操作を有効とし、リール31を停止させる。さらに、VL信号がオフであるときに小役に対応する図柄組合せが停止表示してもメダルの付与処理を実行する。このように、スタートスイッチ41の操作後にVL信号がオフになったときは、ストップスイッチ42が操作されればリール31を停止させ、小役に対応する図柄組合せが停止表示したときは付与処理を実行する。これにより、遊技者に不利益を与えないようにすることができる。
図106(1)において、スタートスイッチ41の操作時にVL信号がオンである場合には、遊技を開始(リール31の回転を開始)する。そして、遊技の途中でVL信号がオンからオフとなり、全停時にVL信号がオフであったとする。全停時に小役に対応する図柄組合せが停止表示されたときは、当該小役に対応する付与処理を実行する。したがって、主制御CPU510は、小役に対応する図柄組合せが停止表示されたと判断したときは、付与要求コマンド「A201H」をメダル数制御CPU520に送信する。なお、遊技媒体の付与数が「1」である小役の図柄組合せが停止表示したときは、主制御CPU510は、付与要求コマンド「A201H」を1回メダル数制御CPU520に送信する。また、遊技媒体の付与数が「10」である小役の図柄組合せが停止表示したときは、主制御CPU510は、付与要求コマンド「A201H」を10回メダル数制御CPU520に送信する。
主制御CPU510は、付与要求応答コマンド「A201H」を受信すると、付与処理を実行する。付与処理は、後述する図114に示す処理である。また、VL信号がオフであってもエラー処理は実行しない。ただし、主制御CPU510は、VL信号オフに基づいて、付与処理の終了後は遊技の進行を停止する。
なお、メダル数制御CPU520は、VL信号のオフを検知すると、メダル数制御割込み処理においてVL信号がオフである旨のコマンドを主制御CPU510に送信する(後述する図121中、ステップS1146)。主制御CPU510は、主制御割込み処理においてVL信号がオフである旨のコマンドを受信する(後述する図115中、ステップS1042)。
また、VL信号がオフであるときに付与処理が実行されたときは、副制御CPU85は、付与音を出力しない。付与音は出力されないが、払出数表示部78(7セグメントLED)の表示は更新される。
以上のようにして、スタートスイッチ41が操作された後は、その遊技の途中でVL信号がオンからオフになっても、付与処理まで実行することにより、その遊技の進行を停止しないようにすることができる。これにより、たとえば遊技途中でフリーズが発生したと遊技者に誤認させてしまうことを防止することができる。換言すると、遊技途中でVL信号がオフになった瞬間に遊技の進行を中断すると、遊技者は、フリーズが発生したと誤認してしまう可能性があるからである。
上述したベット要求コマンド及び精算要求コマンドは、1回の送信でそれぞれベット要求数及び精算要求数を含む要求コマンドを送信する。たとえばベット数「1」の場合はベット要求コマンド「A001H」、ベット数「3」の場合はベット要求コマンド「A003H」、精算数「1」の場合は精算要求コマンド「A101H」、精算数「3」の場合は精算要求コマンド「A103H」を送信する。
これに対し、付与要求コマンドの場合には、付与数「1」の付与要求コマンドを、付与数だけ送信する。換言すると、付与数「x」の場合には、付与要求コマンド「A201H」を「x」回送信する。
したがって、全リール31が停止して3枚小役が入賞したと仮定すると、主制御CPU510は、まず、1回目の付与要求応答コマンド「A201H」をメダル数制御CPU520に送信する。メダル数制御CPU520は、この付与要求コマンドを正常に受け付けると、付与要求応答コマンド「A201H」を主制御CPU510に送信する。主制御CPU510は、付与要求応答コマンド「A201H」を受信すると、「1」枚の付与処理を実行する。
主制御CPU510は、2回目の付与要求コマンド「A201H」を送信すると、メダル数制御CPU520は、付与要求コマンド「A201H」を正常に受け付けると、付与要求応答コマンド「A201H」を主制御CPU510に送信する。主制御CPU510は、付与要求応答コマンド「A201H」を受信すると、2回目の「1」枚付与処理を実行する。
さらに、所定期間の経過後、主制御CPU510は、3回目の付与要求コマンド「A201H」を送信する。メダル数制御CPU520は、付与要求コマンド「A201H」を正常に受け付けると、付与要求応答コマンド「A201H」を主制御CPU510に送信する。主制御CPU510は、付与要求応答コマンド「A201H」を受信すると、3回目の「1」枚付与処理を実行する。
以上のようにして、付与処理についてはメダル「1」枚ずつ実行し、かつ、メダルの付与処理と次のメダルの付与処理との間に所定期間を設けているので、払出数表示部78の表示は、カウントアップされるように、具体的には、「0」→「1」→(所定期間経過後)「2」→(所定期間経過後)「3」と加算され、一時に「0」→「3」と加算されない。よって、メダルレスの遊技機であっても、ホッパーからメダルが払い出されるときのようなタイミングでメダルを加算することが可能となる。
付与数「1」の小役が入賞した状況下において、主制御CPU510は、付与要求コマンド「A201H」をメダル数制御CPU520に送信する。メダル数制御CPU520は、付与要求コマンド「A201H」を受信すると、総メダル数への加算が可能であるか否かを判断する。この例では、総メダル数「16383」に「1」加算すると記憶可能な上限値を超えるので、加算不可であると判断する。したがって、メダル数制御CPU520は、総メダル数の更新を実行することなく、付与要求応答コマンド「A281H」を主制御CPU510に送信する。主制御CPU510は、付与要求応答コマンド「A281H」を受信したときは、付与処理を実行しない。ただし、上述のエラー処理は実行しない。
なお、以下に示すフローチャートでは、第7実施形態の主要な点(要求コマンド、要求応答コマンド等)を中心に説明している。
主制御CPU510は、1遊技で1回実行される主制御メイン処理(主メインループとも称する。)を実行する。また、主制御メイン処理と並行して、「1.1175」msごとに主制御割込み処理を実行する。
メダル数制御CPU520においても、主制御メイン処理と独立して、メダル数制御メイン処理を実行し、かつ、メダル数制御メイン処理と並行して、「1」msごとにメダル数制御割込み処理を実行する。
図108は、第7実施形態における主制御メイン処理を示すフローチャートである。
まず、ステップS931では、主制御CPU510は、遊技状態コマンドセット処理を実行する。この処理は、たとえば、コンプリート機能作動フラグ、RT状態、特別遊技中やAT遊技中の残メダル数等、副制御CPU85に送信する制御コマンドをコマンドバッファに格納等する処理である。
次のステップS932では、主制御CPU510は、遊技開始セット処理を実行する。この処理は後述する図109に示す処理である。
次にステップS934に進み、主制御CPU510は、今回の遊技が再遊技作動時であるか(前回遊技でリプレイに対応する図柄組合せが停止表示したか)否かを判断する。再遊技作動時であるときはステップS937に進み、再遊技作動時でないときはステップS935に進む。
ステップS935では、主制御CPU510は精算処理を実行する。この処理は、後述する図111に示す処理であり、精算スイッチ46の操作に基づいて、ベットメダルを総メダルに戻す処理である。この精算処理において、上述した精算要求コマンドの送信及び精算要求応答コマンドの受信処理を実行する。次のステップS934では、ベット処理を実行する。この処理は、後述する図113に示す処理であり、ベットスイッチ40の操作に基づいてベット処理を実行する。このベット処理において、上述したベット要求コマンドの送信及びベット要求応答コマンドの受信処理を実行する。
次にステップS937に進み、主制御CPU510はベット数が規定数(遊技を開始するのに必要なベット数)と一致するか否かを判断する。第7実施形態の規定数は「3」である。ベット数が規定数と一致すると判断したときはステップS938に進み、ベット数が規定数と一致しないと判断したときはステップS933に進む。
ステップS938では、主制御CPU510は、スタートスイッチ信号の立ち上がりがあるか(スタートスイッチ41が操作されたか)否かを判断し、スタートスイッチ信号の立ち上がりがあると判断したときはステップS939に進み、スタートスイッチ信号の立ち上がりがないと判断したときはステップS933に進む。なお、主制御割込み処理において、スタートスイッチ41の操作が検知され、スタートスイッチ41の操作が検知されたときはスタートスイッチ41の立ち上がり信号がオン(「1」)となる。
ステップS939では、主制御CPU510は、役(当選番号)の抽選を実行する。そして次のステップS940で、主制御CPU510は、リール31の回転を開始する。
ステップS941では、主制御CPU510は、ストップスイッチ42が操作されたか否かを判断し、ストップスイッチ42が操作されたと判断するとステップS942に進み、主制御CPU510は、操作されたストップスイッチ42に対応するリール31を停止制御する。
次にステップS555に進み、コンプリート機能算出処理を実行する。この処理はMYカウンタの更新等の処理であり、上述した図88に示す処理である。
次にステップS944に進み、遊技状態更新処理(「遊技終了処理」とも称する。)を実行する。この処理は、作動状態フラグの更新等の処理である。そして、ステップS931に戻る。
ステップS951では、主制御CPU510は、前回遊技においてリプレイが停止表示したか否かを判断する。リプレイが停止表示したと判断したときはステップS952に進み、リプレイが停止表示していないと判断したときは本フローチャートによる処理を終了する。
ステップS952では、主制御CPU510は、VL信号がオンであるか否かを判断する。VL信号がオンであるときはステップS953に進み、VL信号がオンでないときはVL信号がオンになるまでループする。
ステップS953では、前回遊技のベットメダル数を読み込む。次のステップS954では、自動ベット数データをセットする。この処理は、ステップS953で読み込んだメダル数を自動ベット数(主制御RWM512の所定記憶領域)に記憶する処理である。次にステップS955に進み、リプレイ表示ランプの点灯処理を実行する。この処理は、リプレイ表示ランプの点灯データ(主制御RWM512の所定記憶領域)に「1」(点灯)に記憶する処理である。リプレイ表示ランプの実際の点灯処理は、後述する図115の主制御割込み処理におけるステップS1052(LED表示制御)で実行される。
上述したように、第7実施形態では、VL信号がオフのときに小役に対応する図柄組合せが停止表示したときは付与処理が実行される。これに対し、リプレイに対応する図柄組合せが停止表示した場合において、VL信号がオンであるときに自動ベット処理が実行される。一方、リプレイに対応する図柄組合せが停止表示した場合において、VL信号がオフであるときは、図109中、ステップS952をループする。換言すると、VL信号オフの状態で自動ベットは行われない。これにより、次回遊技を即座に開始できると遊技者が誤認してしまうことを防止することができる。
まず、ステップS961では、主制御CPU510は、メダルがベットされているかを判断する。メダルがベットされていると判断したときはステップS966に進み、メダルがベットされていないと判断したときはステップS962に進む。第7実施形態では、ベット無し時に設定確認モードに移行可能となっている。
ステップS962では、主制御CPU510は、フロントドアが開放され、かつ、設定キーがオンであるか否かを判断する。フロントドアが開放され、かつ、設定キーがオンであると判断したときはステップS963に進み、そうでない場合にはステップS966に進む。なお、図77では図示していないが、遊技機10のフロントドアが開放されるとドアスイッチがオンになるように構成されている。また、設定キーが挿入され、オンにされる(所定方向に回転される)と、設定キースイッチ12がオンになるように構成されている。
ステップS963では、主制御CPU510は設定値表示処理を実行する。ステップS963~S965を、設定確認モードと称する場合がある。ステップS963の処理は、図77中、設定値表示手段73(7セグメントLED)に現在の設定値が表示可能となる設定を行うものである。この設定値の表示は、主制御割込み処理(図115)におけるステップS1052(LED表示制御)でダイナミック点灯される。
次にステップS964に進み、フロントドアが開放され、かつ、設定キーがオフであるか否かを判断する。フロントドアが開放され、かつ、設定キーがオフであると判断したときはステップS965に進み、そうでない場合にはステップS964(設定値表示状態)をループする。ステップS965に進むと、主制御CPU510は設定値表示を終了する処理を行う。
次のステップS966では、主制御CPU510は、コンプリート機能が作動しているか(コンプリート機能作動フラグが「FFH」であるか)、VL信号がオフであるか、総メダル数が遊技進行可能な上限値(「16368」)を超えているか否かを判断する。これらの少なくとも1つの条件を満たしているときはステップS966をループする。一方、コンプリート機能が作動しておらず(コンプリート機能作動フラグが「00H」であり)、VL信号がオンであり、かつ、総メダル数が遊技進行可能な上限値(「16368」)以下であるときは、本フローチャートによる処理を終了する。
以上より、遊技終了後のコンプリート算出処理(図108中、ステップS555)において、MYカウンタが「19000」に到達し、コンプリート機能作動フラグが「FFH」となったとき(図88中、ステップS579)は、このベット待ち処理においてループ処理が実行される。よって、電源をオン/オフしない限り、その後の遊技はできないことになる。
また、VL信号がオフであるときは、このベット待ち処理においてループ処理が実行される。よって、その後、VL信号がオンにならない限り、その後の遊技の進行は中断する。
さらにまた、総メダル数が遊技進行可能な上限値「16368」を超えているときは、このベット待ち処理においてループ処理が実行される。よって、その後、計数スイッチ47が操作され、総メダル数が遊技進行可能な上限値「16368」以下にならない限り、その後の遊技の進行は中断する。
ステップS971では、主制御CPU510は、精算スイッチ46が操作されたか否か(精算スイッチの立ち上がり信号がオンとなったか否か)を判断する。精算スイッチ46が操作されたと判断したときはステップS972に進み、精算スイッチ46が操作されていないと判断したときは本フローチャートによる処理を終了する。
ステップS972では、主制御CPU510は、ベットメダルを読み込む。現在のベット数データは、主制御RWM512に記憶されている。次にステップS973に進み、ベットメダルを有するか否か(ベット数データが「1」以上であるか否か)を判断する。ベットメダルを有すると判断したときはステップS974に進み、ベットメダルを有さないと判断したときは本フローチャートによる処理を終了する。すなわち、ベットメダルを有さない状態で精算スイッチ46が操作されたときは、ステップS974以降の処理に進まないので、精算要求コマンドが送信されたり、精算処理が実行されることはない。
ステップS974では、主制御CPU510は精算要求コマンドをセットする。この処理は、精算要求コマンドとして、上位1バイトの値「A1」をDレジスタにセットする処理である。次にステップS975に進み、メダル数制御CPU520からの要求応答コマンド(ここでは、精算要求応答コマンド)受信待ち処理を実行する。この処理は、後述する図112に示す処理であり、セットした要求コマンドを送信した後、メダル数制御CPU520から送信されてくる要求応答コマンドを待ち、受信した要求応答コマンドをコマンドバッファに記憶する処理である。
正常に受信したと判断した場合にはステップS977に進み、正常に受信していないと判断した場合には本フローチャートによる処理を終了する。
ステップS977では、主制御CPU510は、ベット表示ランプの表示データをクリアし、ベット数データをクリア(「0」に)する。これらのデータは主制御RWM512に記憶されている。ベット表示ランプの表示データがクリアされることにより、主制御割込み処理のLED表示制御によって1~3ベット表示ランプが消灯される。また、ベット数データがクリアされることにより、主制御割込み処理のLED表示制御によってベット数表示部77の表示は「0」にされる。
次にステップS978に進み、主制御CPU510は、副制御CPU85に送信する精算コマンドをセットする。そして次のステップS979で、主制御CPU510は、制御コマンドセット1処理を行う。この処理は、ステップS978でセットした精算コマンドをコマンドバッファに書き込む処理である。この処理により、次の主制御割込み処理(図115中、ステップS1049)において、精算コマンドが副制御基板80に送信される。そして本フローチャートによる処理を終了する。
図112において、ステップS981では、主制御CPU510は、要求コマンドを送信する。精算処理の場合には精算要求コマンド、ベット処理の場合にはベット要求コマンド、付与処理の場合には付与要求コマンドを送信する。
次にステップS982に進み、主制御CPU510は、要求コマンドの送信が完了したか否かを判断し、送信が完了したと判断したときはステップS983に進む。ステップS983では、主制御CPU510は、割込み待ち処理を実行する。この処理は、ステップS982の後、主制御割込み処理が1回実行されるまで待機する処理である。ステップS982において要求コマンドを送信すると、その後の最初の主制御割込み処理(図115のステップS1042)で要求応答コマンドを受信するように構成されている。
要求応答コマンドを受信すると、主制御RWM512のコマンドバッファに記憶されるように構成されている。このため、次のステップS984では、主制御CPU510は、当該コマンドバッファから受信した要求応答コマンドを取得する。次のステップS985では、当該コマンドバッファをクリアする。
精算要求応答コマンドを正常に受信したと判断したときは本フローチャートによる処理を終了する。一方、正常に受信していないと判断したときはステップS987に進む。
ステップS987では、受信した精算要求応答コマンドの精算数が送信した精算要求コマンドと同一値であり、かつ、VL信号オフに対応する精算要求応答コマンドであるか(精算要求応答コマンドの下位バイトの上位桁が「8H」であるか)否かを判断する。ステップS987で「Yes」と判断したときは、VL信号がオフの場合に相当するので、エラー処理を実行することなく本フローチャートによる処理を終了する。一方、ステップS987で「No」と判断したときはステップS988に進み、エラー表示を実行する。そして本フローチャートによる処理を終了する。
ステップS991では、主制御CPU510は、メダル数の限界チェックを行う。この処理は、現時点でベット数が限界値(本実施形態では「3」)に到達しているか否かを判断する。メダル数が限界である場合にはベット不可であるので、本フローチャートを終了し、メダル数が限界でない(ベット可能である)と判断したときはステップS993に進む。ステップS993では、ベット要求表示ランプの点灯処理を行う。この処理は、ベット要求表示ランプを点灯させるか否かを定めるデータ(たとえば点灯時は「1」)を主制御RWM512に記憶する処理である。なお、実際のベット要求表示ランプの点灯は、主制御割込み処理におけるLED表示制御(図115のステップS1052)で実行する。
次のステップS994では、主制御CPU510は、ベットスイッチ40が操作されたか否かを判断し、操作されたと判断したときはステップS995に進み、操作されていないと判断したときは本フローチャートによる処理を終了する。
ステップS995では、主制御CPU510は、1ベットスイッチ40aが操作されたか否かを判断する。1ベットスイッチ40aが操作されたと判断したときはステップS996に進み、操作されていない(3ベットスイッチ40bが操作された)と判断したときはステップS997に進む。
ステップS996では、主制御CPU510は、ベット要求枚数として「1」をセットする。次のステップS997では、主制御CPU510は、3ベットスイッチ40bの操作に対応して、ベット数が「3」となるようにベット要求枚数の最大値をセットする。ステップS996及びS997の処理により、ベット要求コマンドのベット数がセットされる。
次にステップS999に進み、主制御CPU510は、ベット要求応答コマンドを正常に受信したか否かを判断する。正常に受信したと判断したときはステップS1000に進み、正常に受信していないと判断したときは本フローチャートによる処理を終了する。
ここで、「正常に受信した」とは、ベット要求コマンドとベット要求応答コマンドとの値が一致する場合に相当する。たとえばベット数の値が異なる場合(下位バイトの下位桁が、ベット要求コマンドとベット要求応答コマンドとで一致しない場合)や、下位バイトの上位桁が「8」である場合や、上位バイトの値が「A0」でない場合は、ベット要求応答コマンドを正常に受信していないと判断する。
ただし、ステップS1000及びS1001の処理は、たとえば待機処理を行うことなく一気に(瞬時に)実行されるので、遊技者から見ると、ベット数が更新前から更新後に瞬間的に変化するように見える。このため、ベット数表示部77の表示は、たとえば「0」→「1」→「2」→「3」と変化するのではなく、「0」→「3」と瞬間的に変化するように見える。この点が上述した付与処理と相違する。
次のステップS1002では、主制御CPU510は、ベットコマンドを副制御CPU85に送信する処理を行う。なお、ベットコマンドを副制御CPU85に送信する処理とは、コマンドバッファへの記憶を指す(他のステップで実行する場合も同様である)。この後の主制御割込み処理において、図115のステップS1049の処理によりベットコマンドが副制御CPU85に送信される。そして本フローチャートによる処理を終了する。
図114において、ステップS1021では、主制御CPU510は、副制御CPU85に付与コマンドを送信する(コマンドバッファに記憶する)。ここでの「付与コマンド」は、今回遊技の総付与数を指し、たとえば10枚小役が入賞したときは、付与コマンドは、付与数として「10」を含むコマンドである。
次のステップS1022では、主制御CPU510は、今回遊技で遊技媒体の付与を有するか否かを判断する。付与有りと判断したときはステップS1023に進み、付与なしと判断したときは本フローチャートによる処理を終了する。
ステップS1023では、主制御CPU510は割込み待ち処理を実行する。この処理は、主制御割込み処理が1回実行されるまで待機する処理である。次のステップS1024では、主制御CPU510は、付与時間を経過したか否かを判断する。ここで、「付与時間」は、ステップS1025において主制御RWM512に記憶されており、ステップS1024の処理は、主制御CPU510は、主制御割込み処理ごとに付与時間から「1」を減算し、減算後の付与時間が「0」になったか否かを判断する。ステップS1024では減算後の付与時間が「0」になるまでループする。そして、主制御CPU510は、減算後の付与時間が「0」になったと判断したときは付与時間を経過したと判断してステップS1025に進む。
次のステップS1026では、主制御CPU510は、付与要求コマンドをセットする。この処理は、Dレジスタに「A2」をセットする処理である。そしてステップS975に進み、メダル数制御CPU520からの付与要求応答コマンドの受信待ちを実行する。
ステップS1027において正常に受信したと判断したときはステップS1028に進み、正常に受信していないと判断したときは本フローチャートによる処理を終了する。
ステップS1028では、主制御CPU510は、獲得数に「1」を加算する。この処理は、主制御RWM512に記憶されている獲得数に「1」を加算する処理である。次のステップS1029では、特別遊技状態での獲得数から「1」を減算する。この処理は、主制御RWM512に記憶されている特別遊技状態での獲得数から「1」を減算する処理である。
さらに次のステップS1030では、付与数データから「1」を減算する。この処理は、主制御RWM512に記憶されている付与数データから「1」を減算する処理である。
なお、ステップS1028における「獲得数」は、払出数表示部78に表示するためのデータとなる。
さらにまた、ステップS1030の「付与数データ」は、付与処理に用いられるデータである。図114では図示を省略しているが、付与数データが減算される前に、今回遊技の付与数(たとえば10枚小役の入賞時は「10」)がセットされている。
ステップS1031では、主制御CPU510は、主制御RWM512に記憶されている付与数データが「0」になったか否かを判断する。付与数データが「0」でないと判断したときはステップS1024に戻り、付与数データが「0」であると判断したときはステップS1032に進む。
ステップS1032では、主制御CPU510は、副制御CPU85に付与コマンド(付与が終了した旨のコマンド)を送信する(コマンドバッファに記憶する)。そして本フローチャートによる処理を終了する。
以上のように、付与処理の場合には、所定の付与時間が経過するごとに、獲得数の「1」加算処理が実行されるので、払出数表示部78の表示は、遊技者から見てカウントアップされるように見える。この点で上述したベット処理時におけるベット数表示部77の更新処理と相違する。
具体的には、たとえばその時点でのメダル数表示部121の表示(総メダル数)が「10000」であるとすると、3ベット時のメダル数表示部121の表示は、「10000」から「9997」に一括で更新される。同様に、3ベットを精算するときは、メダル数表示部121の表示は「10000」から「10003」に一括で更新される。
これに対し、付与数「3」を加算するときのメダル数表示部121の表示は、「10000」→「10001」→「10002」→「10003」と段階的に更新される。
まず、ステップS1041では、主制御CPU510は、初期処理を行う。この処理は、重複割込禁止等の処理である。次にステップS1042に進み、主制御CPU510は、メダル数制御CPU520からのコマンドを受信し、主制御RWM512に保存する。ここで受信するコマンドは、要求応答コマンド(ベット要求応答コマンド、精算要求応答コマンド、付与要求応答コマンド)や、試験用計数信号の出力条件を満たすか否かのコマンド(後述)等が挙げられる。
次にステップS1043に進み、主制御CPU510は、電源断信号を検知したか否かを判断する。電源断が発生して電圧が低下し、電圧に関する所定条件を満たすと、電源断信号が主制御CPU510に入力されるように構成されている。電源断信号を検知していないと判断したときはステップS1045に進み、電源断信号を検知したと判断したときはステップS1044に進んで電源断処理を実行する。ステップS1044に進んで電源断処理が実行される場合には、ステップS1045以降の処理は実行されない。
また、電源断信号の検知(ステップS1043)よりも先にメダル数制御CPU520からのコマンドを受信して主制御RWM512に保存する処理を実行するので、今回の割込み処理において電源断信号が検知されても、今回の割込み処理でのメダル数制御CPU520からのコマンドを正しく記憶することが可能となる。
たとえば、ベットスイッチ40の操作が検知されたときはベットスイッチ40の立ち上がりデータが「1」となり、図113のステップS994で「Yes」と判断される。また、精算スイッチ46の操作が検知されたときは精算スイッチ46の立ち上がりデータが「1」となり、図111のステップS971で「Yes」と判断される。さらにまた、スタートスイッチ41の操作が検知されたときは、スタートスイッチ41の立ち上がりデータが「1」となり、図108のステップS938で「Yes」と判断される。同様に、ストップスイッチ42の操作が検知されたときはストップスイッチ42の立ち上がりデータが「1」となり、図108のステップS941で「Yes」と判断される。
次のステップS1048では、主制御CPU510は、メダル数制御CPU520に対して主制御状態コマンドを送信する。ここで送信される「主制御状態コマンド」とは、コンプリート作動の有無、指示モニタ表示の有無、フロントドア開放の有無等が挙げられる。ここで送信される主制御状態コマンドは、図116のステップS1062で受信される。
次のステップS1049では、主制御CPU510は、副制御CPU85に対し主制御コマンドを送信する。ここで送信される「主制御コマンド」とは、コマンドバッファに記憶(保存)されているコマンドであり、コマンドの1つとして、VL信号(オン/オフ)も含まれる。さらに、コマンドバッファにコマンドが格納されていない場合には、このステップS1049のタイミングで、主制御RWM512に記憶された計数を促すか否かの情報(たとえば、総メダル数が「15000」以上、かつ、遊技進行可能な上限値「16368」以下であることを示す情報)を送信する。ここで、主制御RWM512には、「計数を促すか否かの情報」が記憶されている。計数を促すか否かの情報は、総メダル数が「15000」未満であるときは「0」(計数を促さないことを指す)であり、総メダル数が「15000」以上、かつ、遊技進行可能な上限値「16368」以下であるときは「1」(計数を促すことを指す)である。そして、副制御CPU85は、「計数を促す」に相当するコマンドを受信したときは、画像表示装置23に「計数してください」等と画像表示し、所定音を出力する。なお、総メダル数が遊技進行可能な上限値「16368」を超えても、計数処理が実行されていないときは計数を促す報知が継続される。
次のステップS1051では、主制御CPU510は、復帰不可能エラーチェックを行う。復帰不可能エラーチェックとしては、たとえば設定値エラーチェックが挙げられる。主制御RWM512には現在の設定値が記憶されているので、その設定値が正常な値の範囲内であるか否かを判断する。仮に、正常な値でないと判断したときは、図115では図示を省略しているが、復帰不可能エラー(電源をオフにし、設定値を再設定しなければ復帰できないエラー)処理に移行する。
次のステップS1052では、主制御CPU510は、LED表示制御を行う。この処理は、遊技機10の状態に応じて、設定値表示手段73、ベット数表示部77、払出数表示部78、上述した状態表示LEDのダイナミック点灯処理を行うものである。
次のステップS1053では、主制御CPU510は、試験信号管理を行う。この処理は、主制御RWM512に記憶されているデータに基づいて出力ポートにデータを書き込む(セットする)ことにより、遊技機10が法律に従って適切に設計されているか否かを判断するための試験信号を試験機に対して送信する処理である。そして本フローチャートによる処理を終了する。
まず、メダル数制御CPU520側で管理している総メダル数が「15000」未満であるときは、メダル数制御CPU520は、試験用計数信号の出力条件を満たさない旨のコマンドを主制御CPU510に送信する(図121のステップS1146)、一方、総メダル数が「15000」以上、かつ、遊技進行可能な上限値「16368」以下であるときは、メダル数制御CPU520は、試験用計数信号の出力条件を満たす旨のコマンドを主制御CPU510に送信する。
ここで、総メダル数が「15000」~「16368」である場合に、試験用計数信号を「3500」msの間、出力することが求められる。
なお、総メダル数が「15000」~「16368」である場合には、副制御基板80により計数を促す報知を実行する(報知は実行するが、遊技は継続可能である)。さらに、総メダル数が「15000」以上である場合にはメダルの貸出し処理は不可とし、貸出受領結果応答で異常を報知する。
なお、総メダル数が遊技進行可能な上限値「16368」を超えるときは、主制御のエラー状態として遊技不可(ベットスイッチ40、精算スイッチ46、スタートスイッチ41の受付不可)とする。
ステップS1061では、メダル数制御CPU520は、メダル数制御割込み処理(図121)を禁止する。次にステップS1062に進み、メダル数制御CPU520は、主制御コマンドの受信処理を実行する。この処理は、主制御CPU510から送信される各種コマンドを受信する処理である。
1)主制御CPU510が起動した旨のコマンド(電源オン時)
2)主制御チップID番号、主制御チップメーカコード、主制御チップ製品コード(遊技機設置情報を生成するために必要なコマンド)(電源オン時)
3)役比モニタ113表示の種別を指定するための役比タイプ(「7U」タイプか「7P」タイプか)のコマンド(電源オン時)
4)上述した要求コマンド(ベット要求コマンド、精算要求コマンド、付与要求コマンド)
5)スタートスイッチ受付コマンド
6)主制御状態(役物作動状態等)のコマンド
7)主制御状態1、主制御状態2、遊技機エラー状態、不正検出状態1(遊技機不正1)、不正検出状態2(遊技機不正2)、不正検出状態3(遊技機不正3)(ホールコン・不正監視情報を生成するために必要なコマンド)
8)遊技終了コマンド
等が挙げられる。
なお、メダル数制御CPU520は、これらのコマンドを主制御CPU510から受信しても、応答コマンドを主制御CPU510に送信しない。遊技者がメダルを失う(損をする)おそれがない場合には、応答コマンドを送信しないことで、プログラム処理を簡素化し、プログラム容量を削減することができる。
ただし、これに限らず、重要なコマンドを受信した場合には、遊技者がメダルを失うおそれの有無にかかわらず、応答コマンドを送信するように構成することも可能である。
ステップS1064では、メダル数制御CPU520は、メダル数制御割込み処理を許可する。そしてステップS1061に戻る。
一方、ステップS1065に進むと、メダル数制御CPU520は、電断断処理を実行する。電源断処理では、チェックサム算出を行い、その後、電源断待ち処理(ループ)を実行する。
このようにメダル数制御割込み処理を許可することにより、ステップS1065の電源断処理に移行すると、メダル数制御CPU520によるメダル数制御割込み処理が実行されないようにすることができる(ステップS1061のメダル数制御割込み処理の禁止状態が続いている。)。したがって、ステップS1065の電源断処理に移行し、チェックサムの算出等のときにメダル数制御割込み処理が実行されないので、メダル数制御RWM522のデータがチェックサムの算出中に更新されてしまうのを防止することができる。
まず、ステップS1071では、メダル数制御CPU520は、受信コマンドの上位バイトデータをDレジスタに記憶する。次にステップS1072に進み、メダル数制御CPU520は、受信コマンドの下位バイトデータをAレジスタに記憶する。さらに次のステップS1073では、メダル数制御CPU520は、受信コマンドの下位バイトデータをEレジスタに記憶する。
以上のステップS1071~S1073の処理により、
Dレジスタ値:受信コマンドの上位バイトデータ
Aレジスタ値:受信コマンドの下位バイトデータ
Eレジスタ値:受信コマンドの下位バイトデータ
となる。
次のステップS1074では、メダル数制御CPU520は、Dレジスタ値が「A0H」であるか否かを判断する。Dレジスタ値が「A0H」であるというのは、ベット要求コマンドの場合である。Dレジスタ値が「A0H」であると判断したときは、ステップS1077に進んでベット要求コマンド受信処理(後述する図118の処理)を実行する。一方、ステップS1074においてDレジスタ値が「A0H」でないと判断したときはステップS1075に進む。ステップS1075では、メダル数制御CPU520は、Dレジスタ値が「A1H」であるか否かを判断する。Dレジスタ値が「A1H」であるというのは、精算要求コマンドの場合である。Dレジスタ値が「A1H」であると判断したときは、ステップS1078に進んで精算要求コマンド受信処理(後述する図119の処理)を実行する。一方、ステップS1075においてDレジスタ値が「A1H」でないと判断したときはステップS1076に進む。ステップS1076では、メダル数制御CPU520は、Dレジスタ値が「A2H」であるか否かを判断する。Dレジスタ値が「A2H」であるというのは、付与要求コマンドの場合である。Dレジスタ値が「A2H」であると判断したときは、ステップS1079に進んで付与要求コマンド受信処理(後述する図120の処理)を実行する。一方、ステップS1076においてDレジスタ値が「A2H」でないと判断したときは、他の主制御コマンド受信処理に進む。
1)主制御CPU510が起動した旨のコマンド
2)主制御チップID番号、主制御チップメーカコード、主制御チップ製品コード
3)役比モニタ113表示の種別を指定するための役比タイプのコマンド
4)スタートスイッチ受付コマンド
5)主制御状態(役物作動状態等)のコマンド
6)主制御状態1、主制御状態2、遊技機エラー状態、不正検出状態1(遊技機不正1)、不正検出状態2(遊技機不正2)、不正検出状態3(遊技機不正3)
8)遊技終了コマンド
等が挙げられるが、第7実施形態では説明を省略する。
Dレジスタ値=A0
Aレジスタ値=ベット要求数
Eレジスタ値=ベット要求数
となっている。
ステップS1081では、メダル数制御CPU520は、Aレジスタ値が「0」であるか否かを判断する。Aレジスタ値が「0」であると判断したときは本フローチャートによる処理を終了し、「0」でないと判断したときはステップS1082に進む。
ステップS1082では、Aレジスタ値が「4」未満であるか否かを判断する。「4」未満であると判断したときはステップS1083に進み、「4」未満でないと判断したときは本フローチャートによる処理を終了する。ここで、Aレジスタ値が「4」未満でない場合は、ベット要求コマンドが異常値であるので、ベット要求応答コマンドの送信処理等を実行しない。
ステップS1083では、メダル数制御CPU520は、VL値が「0」(VL信号がオン)であるか否かを判断する。なお、メダル数制御CPU520と貸出しユニット200とは常時通電可能となっており、現時点でのVL信号状態がメダル数制御RWM522に記憶されているので、その値を読み込んで判断する。
VL値が「0」であると判断したときはステップS1084に進み、VL値が「0」でない(VL信号がオフである)と判断したときはステップS1090に進む。
次にステップS1085に進み、メダル数制御CPU520は、総メダル数であるHLレジスタ値から、ベット要求数であるAレジスタ値を減算する。そして次のステップS1086において、メダル数制御CPU520は、(ベット要求数を減算前の)総メダル数がベット要求数未満であるか否かを判断する。減算前の総メダル数がベット要求数未満である場合には、ベット不可であるためである。このステップS1085では、総メダル数(HLレジスタ値)からベット要求数(Aレジスタ値)を減算した結果、キャリーフラグ(CY)が「1」となったか否かを判断する。キャリーフラグが「1」でない場合(減算前の総メダル数がベット要求数以上である場合)はステップS1087に進み、キャリーフラグが「1」である場合(減算前の総メダル数がベット要求数未満である場合)はステップS1090に進む。
一方、ステップS1083においてVL値が「0」でない(オフである)場合、又はステップS1086で「Yes」の場合(減算前の総メダル数がベット要求数未満である場合)にステップS1090に進むと、メダル数制御CPU520は、Eレジスタ値のD7ビットに「1」をセットする。そしてステップS1089に進む。
ステップS1089では、メダル数制御CPU520は、Dレジスタ値を上位バイトとし、Eレジスタ値を下位バイトするベット要求応答コマンドを主制御CPU510に送信する。そして本フローチャートによる処理を終了する。
ここで、Dレジスタ値は上述したように「A0H」である。また、Eレジスタ値は、受信したベット要求数を「x」としたとき、「0xH」又は「8xH」である。よって、ベット要求応答コマンドは「A00xH」又は「A08xH」となる。
Dレジスタ値=A1
Aレジスタ値=精算要求数
Eレジスタ値=精算要求数
となっている。
ステップS1101では、メダル数制御CPU520は、Aレジスタ値が「0」であるか否かを判断する。Aレジスタ値が「0」であると判断したときは本フローチャートによる処理を終了し、「0」でないと判断したときはステップS1102に進む。
ステップS1102では、Aレジスタ値が「4」未満であるか否かを判断する。「4」未満であると判断したときはステップS1103に進み、「4」未満でないと判断したときは本フローチャートによる処理を終了する。ここで、Aレジスタ値が「4」未満でない場合は、精算要求コマンドの精算数が異常値であるので、精算要求応答コマンドの送信処理等を実行しない。
ステップS1103では、メダル数制御CPU520は、VL値が「0」(VL信号がオン)であるか否かを判断する。VL値が「0」であると判断したときはステップS1104に進み、VL値が「0」でない(VL信号がオフである)と判断したときはステップS1110に進む。
一方、ステップS1103においてVL値が「0」でない(オフである)場合、又はステップS1106で「No」の場合(総メダル数に精算要求数を加算するとメダル数上限値以上となる場合)にステップS1109に進むと、メダル数制御CPU520は、Eレジスタ値のD7ビットに「1」をセットする。そしてステップS1109に進む。
ステップS1109では、メダル数制御CPU520は、Dレジスタ値を上位バイトとし、Eレジスタ値を下位バイトする精算要求応答コマンドを主制御CPU510に送信する。そして本フローチャートによる処理を終了する。
ここで、Dレジスタ値は上述したように「A1H」である。また、Eレジスタ値は、受信した精算要求数を「x」としたとき、「0xH」又は「8xH」である。よって、精算要求応答コマンドは「A10xH」又は「A18xH」となる。
Dレジスタ値=A2
Aレジスタ値=付与要求数
Eレジスタ値=付与要求数
となっている。
ステップS1121では、メダル数制御CPU520は、Aレジスタ値が「0」であるか否かを判断する。Aレジスタ値が「0」であると判断したときは本フローチャートによる処理を終了し、「0」でないと判断したときはステップS1122に進む。
ステップS1122では、Aレジスタ値が「2」未満であるか否かを判断する。「2」未満であると判断したときはステップS1123に進み、「2」未満でないと判断したときは本フローチャートによる処理を終了する。ここで、Aレジスタ値が「2」未満でない場合は、付与要求コマンドの付与数が異常値であるので、付与要求応答コマンドの送信処理等を実行しない。
一方、ステップS1125において総メダル数に付与要求数を加算するとメダル数上限値以上となるためにステップS1129に進むと、メダル数制御CPU520は、Eレジスタ値のD7ビットに「1」をセットする。そしてステップS1128に進む。
ステップS1128では、メダル数制御CPU520は、Dレジスタ値を上位バイトとし、Eレジスタ値を下位バイトする付与要求応答コマンドを主制御CPU510に送信する。そして本フローチャートによる処理を終了する。
ここで、Dレジスタ値は上述したように「A2H」である。また、Eレジスタ値は、「01H」又は「81H」である。よって、精算要求応答コマンドは「A201H」又は「A281H」となる。
第7実施形態では、主制御割込み処理と同じように、メダル数制御割込み処理の周期は、「1」msである。
ステップS1140においてメダル数制御割込み処理が開始されると、ステップS1141では、メダル数制御CPU520は、電断断信号を検知したか否かを判断する。電源断信号を検知していないと判断したときはステップS1143に進み、電源断信号を検知したと判断したときはステップS1142に進む。ステップS1142では、電源断フラグをオンにし、ステップS1143に進む。
ステップS1143では、メダル数制御CPU520は、入力ポートのチェックを行う。この処理は、計数スイッチ47の信号、主制御CPU510が立ち上がったことを示すVL信号、総メダル数クリアスイッチ112の信号等のチェックを行う。
次にステップS1144に進み、メダル数制御CPU520は、VL信号がオンであるか否かを判断する。VL信号がオンであるときはステップS244に進み、VL信号がオンでないと判断したときはステップS1145に進む。
ここで、貸出しユニット200から遊技機10にVL信号(直流18Vの信号)が供給されていれば、VL信号はオンであると判断し、貸出しユニット200と遊技機10とが正常に接続されていると判断される。
ここで、遊技機情報管理により遊技機情報通知が送信されると、図32に示すように、その時点から「100」以内に計数通知が送信され、貸出しユニット200は、計数通知の受信から「170」ms以内に貸出し通知を遊技機10に送信する。遊技機10は、貸出し通知を受信すると貸出受領結果応答を貸出しユニット200に送信する。したがって、遊技機情報通知を実行可能な状況でなければ、貸出しユニット200の貸出しスイッチ202を操作してもメダルは貸し出されないように構成されている。
なお、ステップS1145で接続済みフラグがオフになったときは、ステップS244に進むと、図94のステップS261において「No」と判断され、遊技機情報通知の送信処理は実行されない。換言すれば、接続済みフラグがオンでなければ、遊技機情報通知が遊技機10から貸出しユニット200に送信されないように構成されている。
なお、メダル数制御CPU520から主制御CPU510に対してVL信号の情報が送信されるので、VL信号がオフであるときは、ベットスイッチ40、精算スイッチ46、スタートスイッチ41の操作受付けは無視される。したがって、VL信号がオフの状態でベットスイッチ40が操作されても、主制御CPU510は、ベット要求コマンドを送信しない(図103(7))。同様に、VL信号がオフの状態で精算スイッチ46が操作されても、主制御CPU510は、精算要求コマンドを送信しない。
また、メダル数制御CPU520から主制御CPU510に対して総メダル数の情報が送信されるので、たとえば総メダル数が「0」であれば、主制御CPU510は、ベットスイッチ40が操作されてもベット要求コマンドを送信しない(図103(8)。同様に、総メダル数が「2」以下であれば、主制御CPU510は、3ベットスイッチ40bが操作されてもベット要求コマンドを送信しない。ステップS1146で送信されるメダル数制御コマンドは、図115のステップS1042のタイミングで受信される。
なお、上述したように、ベットスイッチ40が操作されるとメダル数表示部121の表示は一括で更新される。同様に、精算スイッチ46が操作されるとメダル数表示部121の表示は一括で更新される。これに対し、メダルの付与時には、メダル数表示部121の表示は「1」ずつ(順次)更新される。
次のステップS1148では、メダル数制御CPU520は、比率(役比モニタ113に表示する比率)の更新処理を実行する。ここで、1遊技の終了時(全リール31が停止し、メダルの付与を有するときは付与処理の終了時)に、主制御CPU510からメダル数制御CPU520に対し、遊技終了コマンドが送信されるように構成されている(図116中、ステップS1062で受信する)。この遊技終了コマンドを受信したときには、比率更新フラグをオンにする。そして、ステップS1148において比率更新フラグがオンであるときは、比率の更新処理を行う。ここでの比率の更新処理は、役比モニタ113に係る比率の更新処理(図80~図83に示す処理)に相当する。また、ステップS1148の処理後、比率更新フラグをオフにする。
次にステップS1149に進み、メダル数制御CPU520は、役比モニタ113の表示制御を実行する。この処理は、メダル数制御割込み処理の4割込みが1周期となって、役比モニタ113の4桁のLEDをダイナミック点灯させる処理である。
次にステップS1150に進み、メダル数制御CPU520は、タイマ管理を行う。この処理は、信号の出力時間を管理しているタイマを更新する処理である。そして本フローチャートによる処理を終了する。
図122は、VL信号がオフとなったときの画像表示装置23の画像表示例、及び通信エラーが発生したときの画像表示装置23の画像表示例を示す図である。
図122(a)は、VL信号がオン、かつ、エラーが発生していないときの状況を示し、通常遊技画面(遊技待機画面又は遊技中画面)である。この状況下では、スピーカ22からの出力音は通常音であり、枠ランプ(演出ランプ21の一部であってフロントマスク前面の外枠に設けられたランプを指す。)は通常の点灯状態である。
この状況下において、VL信号がオンからオフになると、図中(b)に示すように、たとえば「貸出しユニットとの接続を確認してください」のような注意文を表示した画像表示とする。なお、VL信号がオフになると、VL信号がオフであるときの画像表示レイヤーがそれまでの通常遊技画面のレイヤーよりも前面に表示されるので、たとえばそれまでの通常遊技画面は見えなくなる。ここで、それまでの通常遊技画面が全く見えなくなるようにしてもよいが、あるいは図122(b)に示す画像表示を半透過型とし、その後方レイヤーである通常遊技画面がうっすらと見えるようにしてもよい。あるいは、VL信号がオフであるときの画像表示は、画像表示領域の一部の領域に設け、VL信号がオフであることを示す画像表示領域を除いた他の画像表示領域では通常遊技画面の一部が見えるようにしてもよい。すなわち、通常遊技画面の視認性が低下するか、あるいは通常遊技画面の視認が困難となる。
また、VL信号がオフであるときは、遊技機10にエラー(異常)が発生しているわけではないことから、出力音及び枠ランプの点灯は、通常遊技画面の状態が維持される。ただし、これに限らず、それまでの出力音に加えて、あるいはそれまでの出力音を中断し、上述した「貸出しユニットとの接続を確認してください」という音声をスピーカ22から出力してもよい。さらに、枠ランプの点灯態様を、VL信号がオフであるとき特有の点灯態様としてもよい。
また、たとえばAT遊技中に遊技が開始された後、ストップスイッチ42の有利な(適切な)操作態様(たとえば押し順)を画像表示した後にVL信号がオフになったときは、当該押し順画像が遊技者に認識可能となるようにVL信号がオフである画像表示をしてもよい。一方、当該押し順画像が見えないようにVL信号がオフである画像表示をしてもよい。なお、押し順画像の視認性が低下したり視認が困難になっても、指示モニタによってストップスイッチ42の有利な操作態様を遊技者に報知するので、遊技者は、指示モニタを見ることにより有利な操作態様でストップスイッチ42を操作することができる。よって、遊技者に不利益は生じない。
そして、このような状況下では、VL信号がオフであることの報知に加えて、通信エラーが発生したことを示す報知を実行する。また、スピーカ22からの出力音は警報音(エラー音、異常発生音)とし、枠ランプを点滅させる。これにより、通信エラーが発生したことを外部に知らしめることができる。
なお、VL信号がオフであることを示す報知音を出力している場合において通信エラーが発生したときは、VL信号がオフであることを示す報知音に加えて通信エラーの警報音を出力してもよい。この場合には、VL信号がオフであることを示す報知音よりも通信エラーの警報音の方が音量を大きくすることが好ましい。
あるいは、VL信号がオフであることを示す報知音を出力している場合において通信エラーが発生したときは、VL信号がオフであることを示す報知音を中断し、通信エラーの警報音を出力してもよい。この場合には、それまで出力していたVL信号がオフであることを示す報知音よりも大きな音量で通信エラーの警報音を出力することが好ましい。
一方、図122(c)の状況下において、通信エラーが継続しているが、VL信号がオフからオンになったときは、図122(d)の報知態様に移行し、VL信号がオフである報知を終了する。ただし、通信エラーが継続しているので、警報音が出力され続け、枠ランプも点滅状態のままである。そして、図122(d)の状況下でリセットスイッチ14の操作により通信エラーが解消されると、図中(a)の状態に戻る。
以上のように、VL信号がオフであることを示す報知を実行している状況下で通信エラー等が発生したときは、VL信号がオフであることを示す報知に加えて、あるいはVL信号がオフであることを示す報知よりも優先して、通信エラー等の報知を実行する。これにより、VL信号がオフであることを示す報知を利用してゴト行為を試みても、エラーが検知されたときにはエラー報知が実行されるので、そのようなゴト行為を抑制することができる。
図123(a)は、コンプリート機能が作動しており、かつ、VL信号がオフのときの画像表示装置23の画像表示状態を示す図である。図に示すように、コンプリート機能が作動したときの画像レイヤーは、VL信号がオフのときの画像レイヤーよりも後方に位置するように構成されている。このため、VL信号がオフのときにコンプリート機能が作動しても、コンプリート機能が作動したことを示す画像は見えず、VL信号がオフのときの画像のみが見えている。
そして、VL信号がオフからオンになると、VL信号がオフのときの画像表示が終了し、コンプリート機能が作動したときの画像が見えるようになる。図123(b)は、このときの画像表示を示す図である。また、VL信号がオフであるときの音は終了し、たとえば無音となる。また、コンプリート機能が作動したときは、枠ランプは消灯するように構成されている。
なお、VL信号がオフからオンになったときには、自動で図123(a)の状態から(b)の状態に移行してもよく、あるいは、ホール店員による所定の操作により図123(a)の状態から(b)の状態に移行してもよい。
このように、VL信号がオフであるときにコンプリート機能が作動したときには、VL信号がオフのときの画像のみが見えるようにして、コンプリート機能の作動を遊技者に知らせないようにすることができる。これにより、遊技者が、コンプリート機能の作動の報知に基づいて計数スイッチ47を操作しないようにすることができる。
なお、VL信号がオフであるときには操作スイッチの操作受付けは無効となっている。このため、VL信号がオフであるときには計数スイッチ47が操作されても計数処理は実行されない。したがって、VL信号がオフであるときに計数スイッチ47を操作したにもかかわらず計数処理が実行されないことにより、遊技機10や貸出しユニット200が故障していると遊技者に誤認させないようにすることができる。
(1)図100で例示したベット要求コマンド、ベット要求応答コマンド、精算要求コマンド、精算要求応答コマンド、付与要求コマンド、付与要求応答コマンドの各値(2バイト値)は例示であり、これに限定されるものではない。たとえばベット数、精算数、付与数の値を上位バイトに設けてもよい。また、VLオフであるときの値は、下位バイトのD7ビットを「1」にしたが、これに限らず、たとえば上位バイトの所定ビットを「1」にしてもよい。
(3)図103(8)において、総メダル数の情報をメダル数制御CPU520から主制御CPU510に送信しなくてもよい。この場合には、ベット要求数が総メダル数を上回る場合でも、主制御CPU510は総メダル数を判断せず、ベット要求コマンドをメダル数制御CPU520に送信してもよい。そして、メダル数制御CPU520がベット不可と判断した場合には、ベット不可であること(あるいは、要求ベット数が総メダル数を超えること)を示すベット要求応答コマンドを主制御CPU510に送信してもよい。
この場合のその後の処理としては、たとえば主制御CPU510は、精算要求応答コマンド「A101H」を受信し、エラーが発生したと判断すると、メダル数制御CPU520に対し、受信した精算要求応答コマンドがエラーである旨のコマンド(総メダル数の更新を取り消すためのコマンド)を送信することが挙げられる。これにより、メダル数制御CPU520は、総メダル数から「1」を減算し、精算前の総メダル数に戻す処理を実行すればよい。
(6)一方、図106(1)に示すように、スタートスイッチ41が操作された後は、遊技途中でVL信号がオフになっても付与処理を実行するようにした。しかし、これに限らず、遊技媒体の付与処理の開始時にVL信号がオフであるときは付与処理を実行せず、VL信号がオンになってから付与処理を開始してもよい。
ただし、スタートスイッチ41の操作後にVL信号がオフになった場合には、ストップスイッチ42の操作受付けを有効とし、ストップスイッチ42の操作に基づいてリール31を停止させることが好ましい。遊技者に不便をかけないためである。
(8)図110のベット待ち処理では、フロントドアが開放されていないにもかかわらず設定キーのオンを検知したときの処理については説明を省略した。仮に、フロントドアが開放されていないにもかかわらず設定キーのオンを検知したときには、ゴト行為の可能性が高いことから、エラー処理(エラー報知を含む)とすることが挙げられる。
(9)1つの付与要求コマンドの付与数を「1」とし、付与数が「x」である場合には、付与数「1」の付与要求コマンドを「x」回送信するようにした。しかし、これに限らず、付与数「x」の情報を含む付与要求コマンドを1回送信してもよい。これにより、処理の簡素化を図ることができる。ただし、この場合であっても、メダル数表示部121の表示は、待機処理等を用いて順次更新されるようにすることが好ましい。たとえば、付与数「10」の場合には、「00100」→「00101」→「00102」→・・・→「00109」→「00110」のようにカウントアップされるようにする。
たとえば、
a)正常に受信し、かつ、受付け可能であるときは、下位バイトの値を「00」にした応答コマンを送信する。
b)正常に受信し、かつ、受付け不能であるときは、下位バイトの値を「01」にした応答コマンを送信する。
c)異常値(たとえば範囲外の値)を含む要求コマンドを受信したときは、下位バイトの値を「02」にした応答コマンドを送信する。
こと等が挙げられる。
(11)図101(3)の例のように所定期間内に(ベット、精算、付与)応答コマンドを受信しなかったときや、図102(6)の例のように異常値の(ベット、精算、付与要求コマンド)応答コマンドを受信した場合には、いずれも副制御CPU83にエラーコマンドを送信する。
この場合に副制御CPU85に送信するエラーコマンドとしては、
a)ベット、精算、付与のいずれも、エラーコマンドとして同一のコマンドを送信する。
b)それぞれベットエラーコマンド、精算エラーコマンド、付与エラーコマンド(異なるコマンド)を送信する。
ことが挙げられる。
上記a)のように構成すれば、エラーコマンドの種類を1種類にすることができるので、プログラム容量の削減及び処理の簡素化を図ることができる。
一方、上記b)のように構成すれば、副制御CPU85がエラー報知をする際に、ベット、精算、又は付与のうち、どのエラーであるかを(エラーの種類まで)報知可能となる。
また、発生したエラーを主制御側で表示する(たとえば、払出数表示部78に表示する)場合、ベット、精算、付与のいずれも同一のエラー番号を表示する方法と、ベット、精算、付与ごとに異なるエラー番号を表示する方法とが挙げられる。
(12)第7実施形態は、単独で実施されることに限らず、第1実施形態~第6実施形態の少なくとも一部と適宜組み合わせて実施することが可能である。
第8実施形態は、エラー発生時の処理に関するものである。
第8実施形態は、上記第6及び第7実施形態と同様に、「遊技媒体」を「メダル」と称する。ただし、第8実施形態においても遊技機10はメダルレス遊技機(スマート遊技機、スマートパチスロ)であり、遊技媒体は電子メダル(電子遊技媒体)である。
また、第8実施形態のハードウェア構成(ブロック図)は、図77(第6実施形態)と同じである。換言すると、主制御基板50上に2つの1チップマイクロプロセッサが搭載され、その一つが主制御用の1チップマイクロプロセッサであり、他の一つがメダル数制御用の1チップマイクロプロセッサである。なお、副制御基板85上には、副制御(演出制御)用の1チップマイクロプロセッサが1つ搭載されている。
その他の構成は、特に言及がない限り、第6及び第7実施形態と同じである。ただし、第8実施形態の構成は、第6及び第7実施形態と同じ構成に限定されるという意味ではなく、その他の実施形態を適宜採用可能である。
図124において、ステップS2701でプログラムが開始されると、主制御CPU510は、主制御RWM512から電源断復帰データを取得し、レジスタ(たとえばAレジスタ)に記憶する。そして、次のステップS2706に進む。
ここで、主制御CPU510は、後述する図127の主制御割込み処理において電源断を検知しており(ステップS1043)、電源断を検知したときはステップS1044の電源断処理で電源断復帰データ(バックアップデータ又はチェックサムデータともいう。)を作成し、主制御RWM512に記憶する。
そして、次に電源がオンされると、主制御CPU510は主制御RWM512に記憶した電源断復帰データを読み取り、当該電源断復帰データが正常値であるか否かを判断する。電源断が正常に行われたときは、正しい電源断復帰データが作成され、それが主制御RWM512に記憶されるので、次に電源がオンされたときは、当該電源断復帰データが主制御RWM512から取得され、電源断復帰データは正常値であると判断される。
これに対し、電源断が異常であった場合には、正常値でない電源断復帰データが記憶されたり、あるいは電源断復帰データが記憶されなかったりする。この場合に次に電源がオンされたときは、電源断復帰データは正常値でないと判断される。
ステップS2707では、主制御CPU510は、設定キースイッチ信号がオンであるか否かを判断する。設定キースイッチ信号がオンであると判断したときは、ステップS2711に進む。これに対し、設定キースイッチ信号がオフであると判断したときは、ステップS2708に進む。
復帰不可能エラーが発生したときは、所定の表示器に復帰不可能エラーが発生していることを表示し、電源断まで待機する。復帰不可能エラーが発生したときは、電源をオフし、その後電源をオンにし、設定変更モードを経てを復帰可能となる。
復帰不可能エラーが発生して電源断され、設定変更モードへの移行を伴う状態で電源がオンされると、ステップS2731に進んで初期化処理が実行される。
ステップS2710に進むと、主制御CPU510は、リセットスイッチ信号がオンであるか否かを判断する。本実施形態では、リセットスイッチ14がRWMクリアスイッチと一体になっており、リセットスイッチ14(RWMクリアスイッチ)がオンであるときは、リセットスイッチ信号がオンになり、ステップS2713に進む。これに対し、リセットスイッチ(RWMクリアスイッチ)14がオフであるときは、ステップS2721の電源復帰処理に進む。
ステップS2721に進み、電源復帰処理が開始されると、電源復帰処理での所定のタイミングで主制御割込み処理(図127)を開始する。その後、ステップS930に進んで主制御メイン処理(図108)に移行する。
一方、ステップS2707からステップS2711に進むと、主制御CPU510は、電源断復帰異常時用の主制御RWM512の初期化範囲をセットする。本実施形態では、電源断復帰が異常であるときは、主制御RWM512のアドレスの設定値データを含む、使用領域及び使用領域外の全範囲を初期化範囲としてセットする。そして、次のステップS2712に進む。
ステップS2714では、主制御CPU510は、設定変更可であるか否かを判断する。本実施形態では、設定変更不可フラグが設けられており、設定変更不可フラグがオンでるときは設定変更不可と判断する。なお、スタートスイッチ受付処理が開始された後、リール31の回転中、及び遊技終了チェック処理の間は、設定変更不可に設定されており、この間は、設定変更不可フラグがオンになっている。ただし、電源オンの直後にこれらの状況になっていることはない。なお、設定変更不可の期間を設けず(換言すると、設定変更不可フラグを設けず)に、常時、設定変更可能にしてもよい。
ステップS2714において設定変更不可であると判断されたときはステップS2715に進み、設定変更可能であると判断されたときはステップS2731に進む。
ステップS2715に進むと、主制御CPU510は、主制御の電源断復帰が異常であるか否かを判断する。この処理はステップS2708と同様である。そして、主制御の電源断復帰が異常であると判断したときはステップS2801の復帰不可能エラー処理に進み、主制御の電源断復帰が正常であると判断したときは、ステップS2721の電源復帰処理に進む。
なお、主制御RWM512が異常であるか否かの判断は、後述する図127の主制御割込み処理中にも実行可能である。この点については後述する。
ステップS981では、主制御CPU510は、要求コマンドを送信する。精算処理の場合には精算要求コマンド、ベット処理の場合にはベット要求コマンド、付与処理の場合には付与要求コマンドを送信する。
次にステップS982に進み、主制御CPU510は、要求コマンドの送信が完了したか否かを判断し、送信が完了したと判断したときはステップS983に進む。ステップS983では、主制御割込み処理待ちを行う。この処理は、主制御割込み処理が1回実行されるまで待機する処理である。主制御割込み処理は、本実施形態では「1.12」ms周期で実行される。
そして、主制御割込み処理が1回実行された後、次のステップS1163に進み、主制御CPU510は、ステップS981で送信した要求コマンドに対応する要求応答コマンドを受信したか否かを判断する。ステップS1163で受信したと判断したときはステップS984に進み、受信していないと判断したときはステップS1164に進み、後述する主制御エラー表示処理を実行する。
ステップS987では、受信した要求応答コマンドのうち、上位バイトの値(要求応答コマンドの識別値)や下位バイトの下位桁(メダル数に係る値)が正常値であり、かつ、VL信号オフに対応する要求応答コマンドであるか否かを判断する。第8実施形態では、第7実施形態と同様に、要求応答コマンドの下位バイトの上位桁が「8」である場合にはVL信号がオフであると判断する。ステップS987で「Yes」と判断したときは、VL信号がオフの場合に相当するので、主制御エラー表示処理を実行することなく本フローチャートによる処理を終了する。一方、ステップS987で「No」と判断したときはステップS1164に進み、主制御エラー表示処理を実行する。そして本フローチャートによる処理を終了する。
以上のようにして、要求応答コマンドを受信しなかったときや、受信した要求応答コマンドが異常値であるときは、ステップS1164に進んで主制御エラー表示処理を行う。
ます、ステップS1165では、主制御CPU510は、発生したエラーに対応する番号を生成する。次にステップSステップS1166に進み、主制御CPU510は、ステップS1165で生成したエラー番号を主制御RWM512の所定記憶領域に記憶する。
次にステップS1167に進み、主制御CPU510は、副制御CPU85に、エラー表示コマンドを送信する。副制御CPU85は、当該エラー表示コマンドを受信すると、当該エラー表示コマンドに対応する画像表示や音声出力等を実行する。
次のステップS1168では、主制御CPU510は、遊技開始表示ランプの消灯処理を実行する。この処理は、遊技開始表示ランプの点灯/消灯を示すデータを記憶している主制御RWM512の所定記憶領域のデータを、消灯に対応するデータに更新する処理である。
ステップS1169では、主制御CPU510は、リセットスイッチ信号がオンになるまでループし、リセットスイッチ信号がオンであると判断したときはステップS1170に進む。ステップS1170では、主制御CPU510は、ステップS1166で保存したエラー番号をクリアする。そして本フローチャートによる処理を終了する。
以上のようにして、主制御CPU510は、メダル数制御CPU520とのコマンド通信エラーが発生したと判断したときは、エラー表示を実行し、リセットスイッチ14が操作されると当該エラー表示を終了する。換言すると、主制御CPU510は、メダル数制御CPU520とのコマンド通信エラーが発生しても、主制御メイン処理や主制御割込み処理を中断等することはない。
第8実施形態において、主制御割込み処理の割込み周期は、「1.12」msである。ただし、この割込み周期に限られるものではない。なお、メダル数制御割込み処理(後述する図132)は、「1」ms周期で実行される。
主制御割込み処理が開始されると、ステップS1041では、主制御CPU510は、初期処理を行う。この処理は、重複割込禁止等の処理である。次にステップS1042に進み、主制御CPU510は、メダル数制御CPU520からのコマンドを受信し、主制御RWM512に保存する。ここで受信するコマンドは、要求応答コマンド(ベット要求応答コマンド、精算要求応答コマンド、付与要求応答コマンド)、試験用計数コマンド(試験用計数信号の出力条件を満たすか否かのコマンド)等が挙げられる。
次にステップS1043に進み、主制御CPU510は、電源断信号を検知したか否かを判断する。電源断が発生して電圧が低下し、電圧に関する所定条件を満たすと、電源断信号が主制御CPU510に入力されるように構成されている。電源断信号を検知していないと判断したときはステップS1045に進み、電源断信号を検知したと判断したときはステップS1044に進んで電源断処理を実行する。ステップS1044に進んで電源断処理が実行される場合には、ステップS1045以降の処理は実行されない。
また、電源断信号の検知(ステップS1043)よりも先にメダル数制御CPU520からのコマンドを受信して主制御RWM512に保存する処理を実行するので、今回の主制御割込み処理において電源断信号が検知されても、今回の主制御割込み処理でのメダル数制御CPU520からのコマンドを正しく記憶することが可能となる。
たとえば、ベットスイッチ40の操作が検知されたときはベットスイッチ40の立ち上がりデータが「1」となり、図113のステップS994で「Yes」と判断される。また、精算スイッチ46の操作が検知されたときは精算スイッチ46の立ち上がりデータが「1」となり、図111のステップS971で「Yes」と判断される。さらにまた、スタートスイッチ41の操作が検知されたときは、スタートスイッチ41の立ち上がりデータが「1」となり、図108のステップS938で「Yes」と判断される。同様に、ストップスイッチ42の操作が検知されたときはストップスイッチ42の立ち上がりデータが「1」となり、図108のステップS941で「Yes」と判断される。
さらに、リセットスイッチ14の操作が検知されたときはリセットスイッチ14の立ち上がりデータが「1」となり、図126のステップS1169で「Yes」と判断される。
次のステップS1048では、主制御CPU510は、メダル数制御CPU520に対して主制御状態コマンドを送信する。ここで送信される「主制御状態コマンド」とは、コンプリート作動の有無、指示モニタ表示の有無、フロントドア開放の有無等のコマンドが挙げられる。ここで送信される主制御状態コマンドは、後述する図130(メダル数制御メイン処理)のステップS1188で受信される。
次のステップS1172では、主制御CPU510は、設定値エラーの有無をチェックする。ここでは、主制御CPU510は、主制御RWM512の記憶されている設定値データを読み込み、ステップS1173に進む。ステップS1173では、設定値エラーの有無を判断する。この処理は、読み込んだ設定値データが「0(設定1)」~「5(設定6)」の範囲内であるときは設定値が正常であると判断し、それ以外の値であるときは設定値エラーと判断する。設定値エラーであると判断したときはステップS1176に進み、設定値エラーでないと判断したときはステップS1174に進む。
ステップS1174では、主制御CPU510は、内蔵乱数エラーをチェックする。本実施形態では、内蔵乱数にエラーが発生するとオンになるフラグが設けられており、このフラグがオンであるか否かが判断される。具体的には、たとえば役抽選用の乱数のクロック周波数異常(乱数更新が遅い場合等)を検知したときは、当該エラーフラグがオンにされる。次にステップS1175に進み、主制御CPU510は、内蔵乱数エラーが発生しているか否か(エラーフラグがオンか否か)を判断し、内蔵乱数エラーが発生していないと判断されたときはステップS1052に進み、内蔵乱数エラーが発生していると判断したときはステップS1176に進む。
ここで、ステップS1172~S1175のプログラムは、主制御ROM511の使用領域外に記憶されている。このため、主制御ROM511の使用領域外に復帰不可能エラー処理2のプログラムを記憶し、ステップS1173又はS1175からステップS1176に進んだときは、主制御ROM511の使用領域外のプログラム(第2プログラム)である復帰不可能エラー処理2を実行している。
復帰不可能エラー処理2に進むと、図124のステップS2801と同様に、復帰不可能エラーが発生したことを表示し(たとえば所定の表示器にエラー番号を表示し)、電源がオフされるまで待機する。復帰不可能エラー処理2に進んだときは、復帰不可能エラー処理と同様に、電源をオフにした後、設定変更モードへの移行を伴う電源のオンにより復帰可能となる。
すなわち、復帰不可能エラー処理及び復帰不可能エラー処理2のいずれも、電源をオフにし、設定変更モードを経由しないと主制御メイン処理には移行できないように構成されている。
なお、主制御割込み処理に移行したときにはステップS1041において重複割込みが禁止されるので、復帰不可能エラー処理2に移行した後は、電源をオフし、設定変更モードを経て再起動しない限り、主制御割込み処理は実行されない。
次のステップS1053では、主制御CPU510は、試験信号管理を行う。この処理は、主制御RWM512に記憶されているデータに基づいて出力ポート52にデータを書き込む(セットする)ことにより、遊技機10が法律に従って適切に設計されているか否かを判断するための試験信号を試験機に対して送信する処理である。そして本フローチャートによる処理を終了する。
具体的には、たとえばステップS1175で「No」と判断されたときは、主制御CPU510は、主制御RWM512が正常であるか否かを判断する。主制御RWM512が正常であるか否かは、たとえば主制御RWM512にデータを正常に書き込むことができるか否かを判断することが挙げられる。そして、主制御RWM512が正常であると判断したときはステップS1052に進み、主制御RWM512が異常であると判断したときはステップS1176に進むことが挙げられる。
これに対し、主制御CPU510が、メダル数制御CPU520との通信エラーを検知したときは、リセットスイッチ14の操作により解除可能なエラー(換言すると、復帰可能エラー)とし、当該エラーの発生中も主制御メイン処理及び主制御割込み処理を実行する。
ここで、遊技機10の電源が投入されると、主制御CPU510及びメダル数制御CPU520の双方が起動するが、第8実施形態では、メダル数制御CPU520の方が先に立ち上がるように構成されている。
なお、主制御CPU510及びメダル数制御CPU520の起動時に、主制御CPU510が図124中、ステップS2801の復帰不可能エラー処理に進んだときは、主制御CPU510は電源断待ち状態となるが、当該状況下でも、メダル数制御CPU520は、メダル数制御側にエラーが発生しなければ正常に立ち上がり、ステップS1186においてメダル数制御割込み処理を開始し、かつ、ステップS1187のメダル数制御メイン処理に移行する。
ここで、メダル数制御CPU520は、電源断を検知すると、後述する図130のステップS1065において電源断処理を実行するが、この電源断処理において電源断復帰データ(バックアップデータ、チェックサムデータともいう。)を作成し、メダル数制御RWM522に記憶する。
そして、次に電源がオンされると、メダル数制御CPU520はメダル数制御RWM522に記憶した電源断復帰データを取得する。
ステップS1183では、メダル数制御CPU520は、メダル数制御エラー表示処理を実行する。この処理は、後述する図129に示す処理である。
ステップS1183の後はステップS1184に進み、メダル数制御CPU520は、メダル数制御の電源断復帰異常時のメダル数制御RWM522の初期化処理を実行する。この初期化処理は、遊技機情報通知送信用の記憶領域(図90及び図91)を加えた所定記憶領域(たとえばすべての領域)を初期化する処理である。
これに対し、ステップS1182においてメダル数制御の電源断復帰が正常であると判断され、ステップS1185に進むと、メダル数制御CPU520は、電源断復帰正常時の初期化処理を実行する。この初期化処理は、遊技機情報通知送信用の記憶領域(図90及び図91)を初期化する処理である。
そして、ステップS1184及びステップS1185の後、ステップS1186に進んで電源復帰処理を実行する。この電源復帰処理中の所定のタイミングで、メダル数制御割込み処理(後述する図132)が開始される。そしてステップS1187に進み、メダル数制御メイン処理(後述する図130)に移行する。
なお、メダル数制御RWM522が異常であるか否かの判断は、後述する図130のメダル数制御メイン処理中や図132のメダル数制御割込み処理でも実行可能である。この点については後述する。
まず、ステップS291では、メダル数制御CPU520は、発生したエラーに対応する番号を生成する。次にステップSステップS292に進み、メダル数制御CPU520は、ステップS291で生成したエラー番号をメダル数制御RWM522の所定記憶領域に記憶する。
次にステップS293に進み、メダル数制御CPU520は、副制御CPU85に、エラー表示コマンドを送信する。副制御CPU85は、当該エラー表示コマンドを受信すると、当該エラー表示コマンドに対応する画像表示や音声出力等を実行する。
次のステップS294では、メダル数制御CPU520は、リセットスイッチ信号がオンになったか否かを判断する。
したがって、電源投入後、メダル数制御プログラム開始処理において、メダル数制御の電源断復帰異常が検知されると図129のメダル数制御エラー表示処理に移行するので、リセットスイッチ14が操作されるまでメダル数制御プログラム開始処理はストップする。
これに対し、メダル数制御プログラム開始処理では、メダル数制御CPU520は、メダル数制御の電源断復帰異常を検知すると、メダル数制御エラー表示処理に移行し、リセットスイッチ14が操作されるのを待ち、リセットスイッチ14が操作されるとメダル数制御RWM522を初期化して復帰するように構成されている。
これにより、電源投入時に、主制御の電源断復帰異常が検知されず、かつ、メダル数制御の電源断復帰異常のみが検知されたときは、電源のオン/オフをしなくても、リセットスイッチ14の操作のみで速やかにメダル数制御を復帰させ、遊技待機状態(遊技開始可能状態)に移行することができる。
しかし、これに限らず、以下のような処理を実行することも可能である。
第1の方法としては、図128のステップS1182においてメダル数制御の電源断復帰異常を検知したときは、電源断復帰異常フラグを設けておき、当該フラグをオンにする。しかし、その後はステップS1187に進んでメダル数制御メイン処理を開始することが挙げられる。また、メダル数制御メイン処理の開始前に、メダル数制御割込み処理も開始する。
そして、メダル数制御メイン処理中にリセットスイッチ信号を検知した場合において、前記電源断復帰異常フラグが「1」である場合には、図128のステップS1184におけるメダル数制御RWM522の初期化処理を実行する。
また、前記電源断復帰異常フラグがオンである間は、そのことを示す表示を所定の表示器に行ってもよい。また、リセットスイッチ信号を検知して初期化処理に進んだ場合には、初期化処理中であることを示す表示を所定の表示器に行ってもよい。
さらにまた、第2の方法としては、図128のステップS1182においてメダル数制御の電源断復帰異常を検知したときは、リセットスイッチ14の操作を待たずにステップS1184に進み、メダル数制御RWM522の初期化処理を実行することが挙げられる。なお、この場合には、メダル数制御CPU520は、メダル数制御の電源断復帰異常を検知したことや初期化処理中であることを示す表示を所定の表示器に行ってもよい。
ステップS1061では、メダル数制御CPU520は、メダル数制御割込み処理(後述する図132)を禁止する。次にステップS1188に進み、メダル数制御CPU520は、主制御コマンドの受信処理を実行する。この処理は、主制御CPU510から送信される各種コマンドを受信する処理であり、後述する図131に示す処理である。
1)主制御CPU510が起動した旨のコマンド(電源オン時)
2)主制御チップID番号、主制御チップメーカーコード、主制御チップ製品コード(遊技機設置情報を生成するために必要なコマンド)(電源オン時)
3)役比モニタ113表示の種別を指定するための役比タイプ(「7U」タイプか「7P」タイプか)のコマンド(電源オン時)
4)要求コマンド(ベット要求コマンド、精算要求コマンド、付与要求コマンド)
5)スタートスイッチ受付コマンド
6)主制御状態1、主制御状態2、遊技機エラー状態、遊技機不正1、遊技機不正2、遊技機不正3(ホールコン・不正監視情報を生成するために必要なコマンド。図91参照。)
7)遊技終了コマンド
等が挙げられる。
なお、上記のコマンドは例示であり、上記コマンドに限られるものではない。
また、メダル数制御CPU520は、上記コマンドのうち、4)以外のコマンドを主制御CPU510から受信しても、受信したコマンドに対応する応答コマンドを主制御CPU510に送信しない。
そして、メダル数制御CPU520は、ステップS1189でエラーフラグがオンであると判断したときはステップS1190に進み、エラーフラグがオンでないと判断したときはステップS1063に進む。
ステップS1190では、メダル数制御CPU520は、リセットスイッチ信号がオンであるか否か(リセットスイッチ14が操作されたか否か)が判断される。リセットスイッチ信号がオンであると判断したときはステップS1191に進み、リセットスイッチ信号がオンでないと判断したときはステップS1163に進む。
ステップS1191では、メダル数制御CPU520は、エラー表示終了処理を実行する。この処理は、メダル数制御RWM522に記憶されたエラーフラグをオフにし、かつ、副制御CPU85に、エラー表示の終了コマンドを送信等する処理である。そしてステップS1063に進む。
ステップS1064では、メダル数制御CPU520は、メダル数制御割込み処理を許可する。そしてステップS1061に戻る。
一方、ステップS1065に進むと、メダル数制御CPU520は、電断断処理を実行する。電源断処理では、チェックサム算出を行い、電源断復帰データ(バックアップデータ、チェックサムデータ)をメダル数制御RWM522に記憶し、その後、電源断待ち処理(ループ)を実行する。
このようにメダル数制御割込み処理を許可することにより、ステップS1065の電源断処理に移行すると、メダル数制御CPU520によるメダル数制御割込み処理が実行されないようにすることができる(ステップS1061のメダル数制御割込み処理の禁止状態が続いている。)。したがって、ステップS1065の電源断処理に移行し、チェックサムの算出等のときにメダル数制御割込み処理が実行されないので、メダル数制御RWM522のデータがチェックサムの算出中に更新されてしまうのを防止することができる。
また、コマンド受信エラー等が発生してエラーフラグがオンとなっても、メダル数制御メイン処理の進行が中断されることはない。このため、メダル数制御CPU520は、メイン処理を中断することなく、ステップS1188において主制御コマンド受信処理を実行することができる。なお、ステップS1061~S1064間のループ処理は、「1」ms未満である。
まず、ステップS1071では、メダル数制御CPU520は、受信コマンドの上位バイトデータをDレジスタに記憶する。次にステップS1072に進み、メダル数制御CPU520は、受信コマンドの下位バイトデータをAレジスタに記憶する。さらに次のステップS1073では、メダル数制御CPU520は、受信コマンドの下位バイトデータをEレジスタに記憶する。
以上のステップS1071~S1073の処理により、
Dレジスタ値:受信コマンドの上位バイトデータ
Aレジスタ値:受信コマンドの下位バイトデータ
Eレジスタ値:受信コマンドの下位バイトデータ
となる。
次のステップS1074では、メダル数制御CPU520は、Dレジスタ値が「A0H」であるか否かを判断する。Dレジスタ値が「A0H」であるというのは、ベット要求コマンドの場合である。Dレジスタ値が「A0H」であると判断したときは、ステップS1077に進んでベット要求コマンド受信処理(図118の処理)を実行する。一方、ステップS1074においてDレジスタ値が「A0H」でないと判断したときはステップS1075に進む。ステップS1075では、メダル数制御CPU520は、Dレジスタ値が「A1H」であるか否かを判断する。Dレジスタ値が「A1H」であるというのは、精算要求コマンドの場合である。Dレジスタ値が「A1H」であると判断したときは、ステップS1078に進んで精算要求コマンド受信処理(図119の処理)を実行する。一方、ステップS1075においてDレジスタ値が「A1H」でないと判断したときはステップS1076に進む。
ステップS1076では、メダル数制御CPU520は、Dレジスタ値が「A2H」であるか否かを判断する。Dレジスタ値が「A2H」であるというのは、付与要求コマンドの場合である。Dレジスタ値が「A2H」であると判断したときは、ステップS1079に進んで付与要求コマンド受信処理(図120の処理)を実行する。一方、ステップS1076においてDレジスタ値が「A2H」でないと判断したときは、ステップS1201に進む。
その他の主制御コマンドとしては、上述したように、
1)主制御CPU510が起動した旨のコマンド(電源オン時)
2)主制御チップID番号、主制御チップメーカーコード、主制御チップ製品コード(遊技機設置情報を生成するために必要なコマンド)(電源オン時)
3)役比モニタ113表示の種別を指定するための役比タイプ(「7U」タイプか「7P」タイプか)のコマンド(電源オン時)
4)要求コマンド(ベット要求コマンド、精算要求コマンド、付与要求コマンド)
5)スタートスイッチ受付コマンド
6)主制御状態1、主制御状態2、遊技機エラー状態、遊技機不正1、遊技機不正2、遊技機不正3(ホールコン・不正監視情報を生成するために必要なコマンド。図91参照。)
7)遊技終了コマンド
等が挙げられる。
ここで、メダル数制御ROM521には、予め(工場出荷時に)チップメーカーコードが記憶されている。一方、主制御ROM511にも上記のチップメーカーコードが記憶されている。
そして、主制御CPU510は、電源オン時に主制御ROM511に記憶されているチップメーカーコードを読み込み、当該コードデータをメダル数制御CPU520に送信する。メダル数制御CPU520は、当該コードデータを受信すると、メダル数制御ROM521に記憶されているチップメーカーコードとを対比し、同一のチップメーカーコードであるか否かを判断する。仮に同一でないと判断した場合には、後述する「計数無効エラー」(計数処理を無効とすべきエラー)とする。計数無効エラーとなった場合には、たとえば計数無効フラグを設けておき、当該フラグをオンにする。
ステップS1202において未受信の主制御コマンドありと判断したときはステップS1203に進み、未受信の主制御コマンドなしと判断したときは本フローチャートによる処理を終了する。
ステップS1203では、メダル数制御CPU520は、エラー表示開始処理を実行する。この処理は、たとえば未受信の主制御コマンドに対応するエラー番号をメダル数制御RWM522の所定記憶領域に記憶し、エラーフラグをオンにし、副制御CPU85に、エラー表示の開始コマンドを送信等する処理である。そして本フローチャートによる処理を終了する。
ここで、エラー番号がメダル数制御RWM522の所定記憶領域に記憶されると、メダル数制御CPU520が制御する表示装置にエラー番号に対応するエラー表示が実行される。また、画像表示装置23に、エラー番号に対応するエラー表示が実行される。
これに対し、主制御CPU510は、「1.12」ms周期で実行される主制御割込み処理(図127)において、ステップS1042で要求応答コマンドを受信する。そして、図125における要求応答コマンド受信待ち処理において、要求応答コマンドを正常に受信できないと判断したときは主制御エラー表示処理を実行する。
以上より、メダル数制御CPU520が(主制御CPU510との)コマンド通信エラーを検知する時間(「1」ms未満。以下「t1」という。)は、主制御CPU510が(メダル数制御CPU520との)コマンド通信エラーを検知する時間(主制御割込み処理の周期である「1.12」ms。以下「t2」という。)よりも短時間(t1<t2)である。
これにより、主制御CPU510とメダル数制御CPU520との間で通信エラーが発生した場合には、メダル数制御CPU520は、主制御CPU510による主制御割込み処理の周期よりも早く当該通信エラーを検知することが可能となる。
まず、ステップS1141では、メダル数制御CPU520は、電断断信号を検知したか否かを判断する。電源断信号を検知していないと判断したときはステップS1211に進み、電源断信号を検知したと判断したときはステップS1142に進む。ステップS1142では、電源断フラグをオンにし、ステップS1211に進む。
ステップS1211では、メダル数制御CPU520は、入力ポートのチェックを行う。この処理は、計数スイッチ47の信号、主制御CPU510が立ち上がったことを示すVL信号、総メダル数クリアスイッチ112の信号等のチェックを行う。
次にステップS1144に進み、メダル数制御CPU520は、VL信号がオンであるか否かを判断する。VL信号がオンであるときはステップS244に進み、VL信号がオンでないと判断したときはステップS1145に進む。
ここで、貸出しユニット200から遊技機10にVL信号(直流18Vの信号)が供給されていれば、VL信号はオンであると判断し、貸出しユニット200と遊技機10とが正常に接続されていると判断される。
ステップS244では、メダル数制御CPU520は、遊技機情報管理を実行する。この処理は、図94に示す処理であり、遊技機情報通知を貸出しユニット200に送信する処理である。
ここで、遊技機情報管理により遊技機情報通知が送信されると、図32に示すように、その時点から「100」ms以内に計数通知が送信され、貸出しユニット200は、計数通知の受信から「170」ms以内に貸出し通知を遊技機10に送信する。遊技機10は、貸出し通知を受信すると貸出受領結果応答を貸出しユニット200に送信する。したがって、遊技機情報通知を実行可能な状況でなければ、貸出しユニット200の貸出しスイッチ202を操作してもメダルは貸し出されないように構成されている。
なお、ステップS1145で接続済みフラグがオフになったときは、ステップS244に進むと、図94のステップS261において「No」と判断され、遊技機情報通知の送信処理は実行されない。換言すれば、接続済みフラグがオンでなければ、遊技機情報通知が遊技機10から貸出しユニット200に送信されないように構成されている。
なお、メダル数制御CPU520から主制御CPU510に対してVL信号の情報が送信されるので、VL信号がオフであるときは、ベットスイッチ40、精算スイッチ46、スタートスイッチ41の操作受付けは無視される。したがって、VL信号がオフの状態でベットスイッチ40が操作されても、主制御CPU510は、ベット要求コマンドを送信しない(図103(7))。同様に、VL信号がオフの状態で精算スイッチ46が操作されても、主制御CPU510は、精算要求コマンドを送信しない。
また、メダル数制御CPU520から主制御CPU510に対して総メダル数の情報が送信されるので、たとえば総メダル数が「0」であれば、主制御CPU510は、ベットスイッチ40が操作されてもベット要求コマンドを送信しない(図103(8))。同様に、総メダル数が「2」以下であれば、主制御CPU510は、3ベットスイッチ40bが操作されてもベット要求コマンドを送信しない。ステップS1146で送信されるメダル数制御コマンドは、図127のステップS1042のタイミングで受信される。
なお、上述したように、ベットスイッチ40が操作されるとメダル数表示部121の表示は一括で更新される。同様に、精算スイッチ46が操作されるとメダル数表示部121の表示は一括で更新される。これに対し、メダルの付与時には、メダル数表示部121の表示は「1」ずつ(順次)更新される。
次のステップS1148では、メダル数制御CPU520は、比率(役比モニタ113に表示する比率)の更新処理を実行する。ここで、1遊技の終了時(全リール31が停止し、メダルの付与を有するときは付与処理の終了時)に、主制御CPU510からメダル数制御CPU520に対し、遊技終了コマンドが送信されるように構成されている(図130中、ステップS1188で受信する)。この遊技終了コマンドを受信したときには、比率更新フラグをオンにする。そして、ステップS1148において比率更新フラグがオンであるときは、比率の更新処理を行う。ここでの比率の更新処理は、役比モニタ113に係る比率の更新処理(図80~図83に示す処理)に相当する。また、ステップS1148の処理後、比率更新フラグをオフにする。
次にステップS1150に進み、メダル数制御CPU520は、タイマ更新処理を行う。この処理は、メダル数制御割込み処理ごとに、メダル数制御RWM522の所定記憶領域に記憶されたタイマ値を更新(「1」減算等)する処理である。
次のステップS1212では、メダル数制御CPU520は、計数制御を実行する。この処理は、後述する図134に示す処理であり、計数通知を送信するタイミングが到来したか否かを判断し、計数通知を送信するタイミングが到来したと判断したときは、計数通知を送信する処理を実行するものである。
次のステップS805では、メダル数制御CPU520は、貸出制御を実行する。この処理は、たとえば図69~図72の処理のうちのいずれか1つに相当する処理であり、受信した貸出通知に基づいて、総遊技媒体数の更新処理や貸出受領結果応答の送信処理等を実行するものである。
なお、図132の例では図示していないが、メダル数制御割込み処理においてメダル数制御RWM522が異常であるか否かを判断してもよい。たとえばメダル数制御RWM522にデータを正常に書き込むことができない場合にはメダル数制御RWM522が異常であると判断する。そして、メダル数制御CPU520は、メダル数制御RWM522が異常であると判断したときは、それに対応するフラグをオンにする。
一方、メダル数制御メイン処理のループ処理では、メダル数制御RWM522の異常に対応したフラグがオンであるか否かを判断し、オンであるときはメダル数制御RWM522が異常であることの表示を行い、リセットスイッチ14の操作を待ち、リセットスイッチ14が操作されたときはメダル数制御RWM522の初期化処理(図128のステップS1184と同じ処理)を実行することが挙げられる。
まず、ステップS811では、メダル数制御CPU520は、計数スイッチ信号がオンであるか否か(計数スイッチ47が操作されたか否か)を判断する。計数スイッチ信号がオンであると判断されたときはステップS1221に進み、計数スイッチ信号がオンでないと判断したときはステップS812に進む。
ステップS812では、メダル数制御CPU520は、計数実行タイマ値が「0」であるか否かを判断する。計数実行タイマは、メダル数制御RWM522の所定記憶領域に記憶されており、ここでは当該値が「0」であるか否かが判断される。計数スイッチ47が操作されていないときは計数実行タイマ値は「0」であり、計数スイッチ47が操作されていると判断されたときは、計数実行タイマ値に「1」が加算される。そして、計数実行タイマ値が「500」になるまで計数実行タイマ値が加算される。
ステップS812において計数実行タイマ値が「0」であると判断したときはステップS815に進み、計数実行タイマ値が「0」でないと判断したときはステップS813に進む。
このため、たとえば、計数スイッチ47が操作された(オンにされた)後、計数実行タイマ値が「500」に到達する前に計数スイッチ47がオフにされたときは、ステップS812で「No」かつステップS813で「Yes」となるので、ステップS814に進んで計数実行フラグが「1」になる。なお、メダル数制御割込み処理ごと(「1」msごと)に計数実行タイマ値がステップS817で「1」加算されるので、計数スイッチ47がオンにされた後、計数実行タイマ値が「500」に到達するのは、約「500」ms後である。
ステップS814では、メダル数制御CPU520は、計数実行フラグに「1」を保存する。換言すれば、計数スイッチ47が(オンから)オフになり、計数実行タイマ値が「0」でなく、かつ、計数実行フラグが「0」であるときは、計数スイッチ47が短押しされたことを意味するので、計数実行フラグを「1」にする。次にステップS815に進み、計数実行タイマをクリアする。そして本フローチャートによる処理を終了する。
なお、計数処理が実行されると、計数実行フラグがクリアされる(後述する図134のステップS846)。
計数無効エラーは、第8実施形態では、VL異常である場合、チップメーカーコードエラー、メダル数制御RWMエラーである。
ステップS1221からステップS816に進むと、メダル数制御CPU520は、計数実行タイマ値が「500」に到達したか否かを判断する。計数実行タイマ値が「500」に到達していないと判断したときはステップS817に進み、計数実行タイマ値が「500」に到達したと判断したときはステップS819に進む。
ステップS817では、メダル数制御CPU520は、計数実行タイマ値に「1」を加算する。次にステップS818に進み、メダル数制御CPU520は、計数実行タイマ値(ステップS817で「1」加算後の値)を保存する。そして本フローチャートによる処理を終了する。
一方、ステップS816において計数実行タイマ値が「500」に到達したと判断され、ステップS819に進むと、メダル数制御CPU520は、計数実行フラグに「2」を保存する。そして本フローチャートによる処理を終了する。
一方、計数スイッチ信号がオンになった後、計数実行タイマ値が「500」に到達する前に計数スイッチ信号がオフになったときは、計数実行フラグが「1」になる。そして、その後は計数実行タイマ値は更新されない。
これに対し、次の図134の例では、計数無効エラーの発生時は、計数値を一律「0」にセットする例である。
図134は、図132のステップS1212における計数制御を示すフローチャートである。
まず、ステップS831では、メダル数制御CPU520は、計数通知タイミングであるか否かを判断する。「計数通知タイミング」とは、図32に示すように、遊技機情報通知を送信した後から「100」ms経過後であるタイミングを指す。
計数通知タイミングであると判断されたときはステップS832に進み、計数通知タイミングでないと判断されたときは本フローチャートによる処理を終了する。
ステップS833では、メダル数制御CPU520は、計数実行フラグが「0」であるか(計数スイッチ47が操作されていないか)否かを判断する。計数実行フラグが「0」でないと判断されたときはステップS834に進み、計数実行フラグが「0」であると判断されたときはステップS848に進む。
ステップS834では、メダル数制御CPU520は、総メダル数が「0」であるか否かを判断する。総メダル数が「0」でないと判断したときはステップS835に進み、総メダル数が「0」であると判断したときはステップS848に進む。
ステップS835では、メダル数制御CPU520は、計数値(計数メダル数)として「50」をセットする。
次にステップS836に進み、メダル数制御CPU520は、計数実行フラグが「2」であるか(計数スイッチ47が長押しされたか)否かを判断する。計数実行フラグが「2」であると判断されたときはステップS837に進み、計数実行フラグが「2」でないと判断されたときはステップS847に進む。
ステップS838では、メダル数制御CPU520は、総メダル数を計数値としてセットする。そして次のステップS839に進んで計数値を保存する。
一方、ステップS1231において計数無効エラーが発生していると判断されたとき、ステップS833において計数実行フラグが「0」である(計数スイッチ47が操作されていない)と判断されたとき、及びステップS834において総メダル数が「0」であると判断されたときは、それぞれステップS848に進み、計数値として「0」をセットする。そしてステップS839に進んで計数値「0」を保存する。
また、ステップS836において計数実行フラグが「2」でないと判断したときはステップS847に進み、メダル数制御CPU520は計数値として「1」をセットする。そしてステップS839に進み、メダル数制御CPU520は計数値「1」を保存する。ここで、ステップS833で「No」と判断され、かつステップS836で「No」と判断されるのは、計数実行フラグが「1」のときであるので、計数スイッチ47が短押しされたことを意味する。
(1)計数スイッチ47が操作されていないときは、計数値「0」がセットされる。
(2)計数スイッチ47が操作された場合であっても、総メダル数が「0」であるときは、計数値「0」がセットされる。
(3)計数スイッチ47が短押しされた場合において、総メダル数が「0」でないときは、計数値「1」がセットされる。
(4)計数スイッチ47が長押しされた場合において、総メダル数が「50」以上であるときは、計数値「50」がセットされる。
(5)計数スイッチ47が長押しされた場合において、総メダル数が「50」未満であるときは、総メダル数が計数値としてセットされる。
(6)計数無効エラーが発生しているときは、計数スイッチ47が操作されたか否か、さらに計数スイッチ47が短押しされたか長押しされたかにかかわらず、計数値「0」がセットされる。
こととなる。
次にステップS841に進み、メダル数制御CPU520は、計数累積値記憶領域の値に計数値を加算して、計数累積値記憶領域の値を更新する。
次にステップS842に進み、メダル数制御CPU520は、計数中フラグをセット(「FFh」を記憶)する。
次のステップS844では、メダル数制御CPU520は、計数値をクリアする。なお、計数累積値記憶領域に記憶されている値は、計数通知を出力する(した)タイミングではクリアしない。
また、メダル数制御CPU520は、計数中フラグに基づいた情報を主制御CPU510に送信する。これにより、主制御CPU510は、計数中であることを判断することができる。また、たとえば主制御CPU510から副制御CPU85に対して計数中であることを示す情報を送信することにより、副制御CPU85は、計数中に対応した演出を行うことができる。
次にステップS846に進み、計数実行フラグをクリアする(「0」にする)。そして本フローチャートによる処理を終了する。
しかし、メダルをベット可能な状況下で計数スイッチ47が操作された場合には、計数スイッチ47の操作に基づいた演出を実行するが、設定変更モード中や設定確認モード中に計数スイッチ47が操作された場合には、計数スイッチ47の操作に基づく演出を実行しないようにしてもよい。このように構成にするのは、設定変更モード中や設定確認モード中に計数スイッチ47が操作されるような場合には、ホール店員が計数している可能性が高いため(遊技者ではない可能性が高いため)である。
また、どのようなエラーを計数無効エラーとするか(実質上の計数処理を実行しないようにするか)は、種々設定することができる。
たとえば、当該コマンド通信エラーが発生した場合には、図131のステップS1203に示すようにエラー表示開始処理(エラーが発生したことを報知する処理)が実行されるが、当該コマンド通信エラーの発生中もメダル数制御割込み処理を実行し、計数スイッチ47の操作が検知されたときは計数処理を実行する。
したがって、所定エラーの発生中であっても、図133中、ステップS1221では「No」と判断され、図134中、ステップS1231では「No」と判断される。
なお、計数無効エラーや所定エラーの発生中に計数スイッチ47が操作された場合には、その旨を画像表示装置23等の所定の表示器で表示することや、スピーカ22から音声を出力してもよい。このようにすれば、ホール店員に、計数無効エラーや所定エラーの発生中に計数スイッチ47が操作されたことを知らせることができる。計数無効エラーの発生中に計数スイッチ47が操作された場合の報知態様と、所定エラーの発生中に計数スイッチ47が操作された場合の報知態様とは、同一態様であってもよく、異なる態様であってもよい。
(1)メダル数制御プログラム開始処理では、リセットスイッチ14の操作のみで復帰可能とした。しかし、これに限らず、電源のオン/オフを要件としてもよい。電源のオン/オフにより、図128中、ステップS1184の初期化処理を実行するように構成する。
(2)主制御割込み処理の周期、メダル数制御割込み処理の周期、メダル数制御メイン処理のループ周期は、本実施形態で示した値に限らず、種々設定することができる。ただし、上述したように、メダル数制御メイン処理のループ周期は、主制御割込み処理の周期よりも短い方が好ましい。
(3)計数無効エラー(計数処理を無効にすべきエラー)の例として、VL異常、チップメーカーコードエラー、メダル数制御RWMエラーを例示したが、これに限られるものではない。たとえばVL異常については計数無効エラーとしないことも可能である。
あるいは、その他の所定のエラーについて、計数無効エラーの1つとしてもよい。
また、主制御に生じたエラーの解除用のリセットスイッチ14(以下「リセットスイッチ14A」という。)と、メダル数制御に生じたエラーの解除用のリセットスイッチ14(以下「リセットスイッチ14B」という。)とを別個に備えてもよい。この場合、リセットスイッチ14Aが操作されるとその信号は主制御CPU510に入力されるがメダル数制御CPU520には入力されない。同様に、リセットスイッチ14Bが操作されるとその信号はメダル数制御CPU520に入力されるが主制御CPU510には入力されない。
(6)上述したように、メダル数制御CPU520が主制御CPU510とのコマンド通信エラーを検知する時間を「t1」(「1」ms未満)とし、主制御CPU510がメダル数制御CPU520とのコマンド通信エラーを検知する時間を「t2」(主制御割込み処理の周期である「1.12」ms)としたとき、「t1<t2」である。
このため、主制御割込み処理が複数回実行されるごとに1回の割合で、主制御CPU510がメダル数制御CPU520とのコマンド通信エラーを検知してもよい。このようにしても、メダル数制御CPU520が主制御CPU510とのコマンド通信エラーを検知する時間は、主制御CPU510がメダル数制御CPU520とのコマンド通信エラーを検知する時間よりも短いことには変わりはない。
一方、メダル数制御CPU520がメダル数制御メイン処理において主制御CPU510とのコマンド通信エラーを検知する場合において、メダル数制御メイン処理のループ処理が複数回実行されるごとに1回の割合で、メダル数制御CPU520が主制御CPU510とのコマンド通信エラーを検知してもよい。メダル数制御メイン処理のループ処理の周期がたとえば「0.5」msである場合には、メダル数制御メイン処理の2回のループごとに当該コマンド通信エラーを検知しても、メダル数制御CPU520が主制御CPU510とのコマンド通信エラーを検知する時間は、主制御CPU510がメダル数制御CPU520とのコマンド通信エラーを検知する時間よりも短くなる。
なお、第8実施形態では、メダル数制御CPU520がメダル数制御メイン処理において主制御CPU510とのコマンド通信エラーを検知するように構成したが、これに限らず、メダル数制御CPU520は、メダル数制御割込み処理で主制御CPU510とのコマンド通信エラーを検知することも可能である。この場合、メダル数制御割込み処理の周期を「t1」とし、主制御割込み処理の周期を「t2」としたとき、「t1<t2」であれば、メダル数制御CPU520が主制御CPU510とのコマンド通信エラーを検知する時間は、主制御CPU510がメダル数制御CPU520とのコマンド通信エラーを検知する時間よりも短くなる。
(7)第8実施形態は、単独で実施されることに限らず、第1実施形態~第7実施形態の少なくとも一部と適宜組み合わせて実施することが可能である。
第9実施形態は、上記第6~第8実施形態と同様に、「遊技媒体」を「メダル」と称する。ただし、第8実施形態においても遊技機10はメダルレス遊技機(スマート遊技機、スマートパチスロ)であり、遊技媒体は電子メダル(電子遊技媒体)である。なお、説明の便宜上、メダル数を「メダル枚数」と称する場合がある。
また、第9実施形態における「規定数(遊技を開始するのに必要なベット数。「賭け数」ともいう。)は「3」とする。ただし、規定数は「3」に限らず、「1」、「2」、又は「4」以上であっても第9実施形態を適用可能である。
さらに、第9実施形態では、規定数は「3」の1つとするが、規定数を複数(たとえば「2」及び「3」の2つ、あるいは「1」~「3」の3つ)有する場合でも第9実施形態を適用可能である。規定数を複数有する場合に、規定数の最大数を「最大規定数(「最大賭け数」ともいう。)」と称する。
遊技機10は、「風俗営業等の規制及び業務の適正化等に関する法律」の適用を受ける第4号営業店に設置される回胴式遊技機であるときは、保安通信協会(保通協)その他の試験機関によって行われる型式試験に適合している必要がある。
型式試験は、遊技機10と試射試験機とを接続し、遊技機10と試射試験機との間で信号の送受信を行い、適合しているか否かを判定する。
そして、第9実施形態は、遊技機10から試射試験機600に対して送信する試験信号に関するものである。
なお、主制御割込み処理(図127)では、試射試験機600に対して試験信号を送信するための処理(ステップS1053)を実行するが、遊技機10と試射試験気300とが接続されているときには、実際に試験信号が試射試験機600に対して入力される。
これに対し、遊技機10がホール等に設置されたときは、遊技機10と試射試験機600とは接続されていないため、遊技機10から試射試験機600に対して試験信号が入力されない。ただし、遊技機10は、試射試験機600と接続して試験が行われたプログラムと同一のプログラムを有するため、遊技機10がホール等に設置された場合であっても、主制御割込み処理において試験信号を出力するための処理(ステップS1053)がそのまま実行される。
以下の説明では、特に言及がない限り、第9実施形態のブロック図は図77と同じである。ただし、第9実施形態のブロック図は、図77と同じ構成に限定されるという意味ではなく、その他の実施形態の構成を適宜採用可能である。
図135において、獲得数表示部78は、図77の払出し数表示部78と同様のものであり、たとえば2桁のLED(7セグメントLED)から構成されている。以下では、獲得数表示部78で表示される2桁の値のうち、十の位を「上位桁」と称し、一の位を「下位桁」とする。
獲得数表示部78は、小役に対応する図柄組合せが停止表示すると、当該小役に対応するメダル払出し数(遊技者のメダル獲得数)を表示する。たとえば払出し数「8」枚の小役入賞時には「08」と表示する。
また、獲得数表示部78は、遊技機10にエラーが発生したときに、発生したエラー番号を表示するエラー番号表示部としての機能を有する。たとえば復帰可能エラーの発生時にはエラーの種類に応じて「E0」、「E1」、・・・と表示する。また、復帰不可能エラーの発生時には「88」と表示する。
さらにまた、獲得数表示部78は、AT等、指示機能を作動させる(有利な押し順を報知する)遊技において、指示番号(有利な押し順の情報)を表示する指示モニタとしての機能を有する。たとえば有利な押し順が「213(中左右)」であるときは、「*1」(「*」は消灯を意味する。以下同じ。)と表示する。
ここで、第9実施形態では、状態表示ランプ79が設けられている。状態表示ランプ79は、1ベット表示ランプ(LED)79a、2ベット表示ランプ(LED)79b、3ベット表示ランプ(LED)79c、投入要求ランプ(LED)79d、遊技開始表示ランプ(LED)79e、リプレイ表示ランプ(LED)79fの6つのLEDを備える。
そして、1ベットスイッチ40aが1回操作されてメダル数「1」がベットされると、1ベット表示ランプ79aが点灯する(2ベット表示ランプ79b及び3ベット表示ランプ79cは消灯)。また、1ベットスイッチ40aが2回操作されてメダル数「2」がベットされると、1ベット表示ランプ79a及び2ベット表示ランプ79bが点灯する(3ベット表示ランプ79cは消灯)。さらにまた、1ベットスイッチ40aが3回操作されるか又は3ベットスイッチ40bが1回操作されてメダル数「3」がベットされると、1ベット表示ランプ79a、2ベット表示ランプ79b、及び3ベット表示ランプ79cが点灯する。
遊技開始表示ランプ79eは、規定数のメダルがベットされ、スタートスイッチ41を操作可能な状態となったときに点灯するランプである。また、リプレイの自動ベット後にも点灯する。
リプレイ表示ランプ79fは、リプレイの停止表示後(再遊技作動時)に点灯するランプである。
その他のブロック図の構成は、図77と同じであるので説明を省略する。
(1)投入要求ランプ信号
投入要求ランプ信号は、投入要求ランプ79dの点灯/消灯に対応する試験信号である。
投入要求ランプ信号は、メダルの投入が可能な状況か否かを示す信号であり、メダルが投入可能となっている間は常時オンにする。そして、スタートスイッチ41が操作されたことによりメダルの投入が不可能になったとき、あるいは、ベット数が最大規定数となり、それ以上のメダルの投入が不可能になったときに、オフにする。なお、規定数のメダルが投入されたが最大規定数でない場合に、投入要求ランプ信号をオンにするか否かは任意である。
ここで、詳細は後述するが、第9実施形態では、投入要求ランプ79dの点灯/消灯と、投入要求ランプ信号のオン/オフとが常に対応しているものではない。
たとえば投入要求ランプ信号がオフであっても、投入要求ランプ79dが点灯している状況を有する。
なお、再遊技作動時は、投入要求ランプ信号はオフとなる。
スタート可能ランプ信号は、スタートスイッチ41の操作が行われた場合に遊技が開始可能な状況であるか否かを示す信号であり、遊技開始表示ランプ79eの点灯/消灯に対応する試験信号である。
スタート可能ランプ信号は、規定数のメダルが投入され、スタートスイッチ41の操作が可能な状況であるときにオンにし、スタートスイッチ41のオンを検知したときにオフにする。
なお、規定数のメダルが投入されたが最大規定数でない場合に、スタート可能ランプ信号をオンにするか否かは任意である。
スタート可能ランプ信号は、試射試験の都合上、遊技機10からではなく、インターフェースボード601で生成し、出力する場合を有する。ただし、これに限らず、遊技機10から出力してもよい。
また、再遊技作動時は、上述したように投入要求ランプ信号はオフになるが、スタート可能ランプ信号はオンになる。
再遊技状態識別信号は、リプレイ(再遊技役)の当選(抽選)確率が「0」以外に変動する性能を有する場合に、当該変動状態を識別するための信号であり、リプレイの当選確率が異なる遊技状態(RT)ごとに出力する信号である。なお、リプレイの当選確率が変動しない場合の再遊技状態識別信号は、「00H」(すべてオフ状態)を出力する。
再遊技状態識別信号は、1バイトデータからなり、ビット0が再遊技状態識別信号1、ビット1が再遊技状態識別信号2、・・・、ビット7が再遊技状態識別信号8に割り当てられる。よって、再遊技状態識別信号として、「00H」~「FFH」の255種類の信号を送信可能である。
(4)有利区間中信号
有利区間中の遊技であるか否かを示す信号であり、有利区間の遊技開始時にオン(有利区間中の遊技であることを示す)になり、有利区間の遊技終了時にオフ(有利区間中の遊技ではないことを示す)になる。有利区間が複数回の遊技で連続する場合には、その遊技間はオンのままとなる(遊技間で一旦オフにならない。)。
(5)再遊技中信号
再遊技(リプレイ)の作動中である(前回遊技においてリプレイに対応する図柄組合せが停止表示された)か否かを示す信号であり、再遊技が作動する遊技開始時にオン(再遊技の作動中の遊技であることを示す)になり、再遊技の作動が終了する遊技終了時にオフ(再遊技の作動中の遊技でないことを示す)になる。
なお、再遊技が複数回の遊技で連続する場合の遊技間は、オンのままとなる(遊技間で一旦オフにならない。)。
役物連続作動装置が作動中であるか否かを示す信号であり、役物連続作動装置の作動が開始する遊技開始時にオン(役物連続作動装置が作動していることを示す)になり、役物連続作動装置の作動が終了する遊技終了時にオフ(役物連続作動装置が作動していないことを示す)になる。
役物連続作動装置としては、たとえば、第一種特別役物に係る第一種役物連続作動装置(1BB)と、第二種特別役物に係る第二種役物連続作動装置(2BB)とが挙げられる。
したがって、上記の場合の役物連続作動装置中信号は、第一種特別役物に係る役物連続作動装置中信号と、第二種特別役物に係る役物連続作動装置中信号とが挙げられる。
(7)役物中信号
役物としては、たとえば、第一種特別役物(RB)、第二種特別役物(CB)、普通役物(SB)が挙げられる。
役物中信号は、これらの役物が作動中であるか否かを示す信号である。具体的には、第一種特別役物(RB)の作動中を示す第一種特別役物信号、第二種特別役物(CB)の作動中を示す第二種特別役物信号、普通役物(SB)の作動中を示す普通役物信号である。
これらの信号は、それぞれ、役物の作動が開始する遊技開始時にオン(役物が作動していることを示す)になり、当該役物の作動が終了する遊技終了時にオフ(役物が作動していないことを示す)になる。
条件装置信号は、役物条件装置、又は入賞及びリプレイ条件装置の作動状況(当選状況)を示す信号である。条件装置が作動していない場合の条件装置信号は、「00H」(すべてオフ状態)を出力する。条件装置信号の出力方式は種々挙げられるが、本実施形態では詳細な説明を省略する。
(9)ストップ可能ランプ信号
ストップ可能ランプ信号は、リール31が回転し、リール31が停止可能な状態になったことを示す信号である。ストップ可能ランプ信号は、リール31が停止可能になったときにオンになり、ストップスイッチ信号のオンを検知したときにオフになる。
(10)払出しカウント信号
払出しカウント信号は、メダルの払出しを伴う小役が入賞したときに、メダル払出し数を試射試験機600に知らせるために出力する信号である。詳細は後述するが、メダル1枚分につき、所定時間のオン信号及び同一時間のオフ信号からなる1パルスで払出し数「1」とした信号を出力し、当該信号を払出し数分だけ繰返し出力する。
上記「所定時間」としては種々設定できるが、たとえば「5」msや「50」msとすることが挙げられる。なお、「5」msや「50」msに限らず、「10」ms、「20」ms、あるいは「50」msを超える値等、種々設定可能である。
なお、上記「所定時間」は、実際には主制御割込み処理の割込み処理回数として設定するため、正確には整数にはならない。本実施形態において所定時間を「T」msと記すときは、約「T」msを意味するものとする。
たとえば、上記「所定時間」を「5」msとした場合において、払出し数「1」の払出しカウント信号(オン/オフ信号)が「10」msである場合、払出し数「3」に対応する払出しカウント信号は、
オン(5ms)→オフ(5ms)→オン(5ms)→オフ(5ms)→オン(5ms)→オフ(5ms)
となる。
同様に、上記「所定時間」を「50」msとした場合において、払出し数「1」の払出しカウント信号(オン/オフ信号)が「100」msである場合、払出し数「3」に対応する払出しカウント信号は、
オン(50ms)→オフ(50ms)→オン(50ms)→オフ(50ms)→オン(50ms)→オフ(50ms)
となる。
位相信号は、左、中、右リール31に係るモータ(ステッピングモータ)32の位相を示す信号であり、モータ32の駆動中に出力される。
(12)図柄停止信号の生成に必要な信号等、及び停止図柄信号等
本実施形態では、遊技機10から、図柄停止信号の生成に必要な信号等をインターフェースボード602に出力し、インターフェースボード602から、試射試験機600に対し、停止図柄信号等を出力する。
停止図柄信号は、リプレイの当選確率が「0」以外に変動する性能を有する遊技機において、遊技者が、最大の出玉を得ることができるリール31の押し順(停止順序)及び停止操作を行う位置等を出力するための信号である。
(13)投入スイッチ信号
メダルの投入を示す信号であり、メダル数「1」の投入に対し、1パルスの信号が遊技機10に出力される。
遊技機10が1パルス分の投入スイッチ信号を受信すると、メダル数「1」が投入された場合と同様の処理を実行する。
(14)スタートスイッチ信号
リール31の回転を開始する(モータ32、図柄表示装置を作動させる)ための信号であり、スタート可能ランプ信号がオンであるときに出力される。
遊技機10がスタートスイッチ信号を受信すると、スタートスイッチ41が操作された場合と同様の処理を実行する。
(15)ストップスイッチ信号
リール31の回転を停止する(モータ32、図柄表示装置の作動を停止させる)ための信号であり、ストップ可能ランプ信号がオンであるときに出力される。
また、試射試験機600から遊技機10に出力される試験信号として、上記以外に、打ち止め解除スイッチ信号等が挙げられるが、本実施形態では説明を省略する。
なお、説明の都合上、以下ではアドレス順には説明しないが、アドレスが「F000H」~「F1FFH」が使用領域であり、「F200H」以降が使用領域外である。そして、試験信号に関するデータの記憶領域は使用領域外に設けられている。
図137において、アドレス「F05BH」の作動状態フラグ(_FL_ACTION)は、作動状態フラグのデータ等を記憶するための領域であり、役物に対応したいずれかのビットが「1」であるか否かで、役物作動中であるか否かを判断するフラグである。作動状態フラグは、本実施形態では、主制御メイン処理(図140)の最後の処理(ステップS1248)で更新される。
本実施形態では、D0ビットに疑似遊技演出、D3ビットに1BB、D4ビットにRBが割り当てられている。
たとえば疑似遊技演出の実行中は、D0ビットが「1」にされる。また、1BBが入賞したときは、1BBの作動状態になるとともに、RBの作動状態となり、遊技状態をセットするときに、D3ビット及びD4ビットが「1」となる。そして、1BBの終了条件を満たしたときは、D3ビット及びD4ビットが「0」となる。
ここで、「疑似遊技演出」とは、リール31の回転開始後、リール31の回転速度が一定となるまでの間において、回転中のリール31に対して、回転停止装置を作動させるためのストップスイッチ42の操作を契機としてリール31を疑似的に停止(この場合の停止を「仮停止」又は「疑似停止」とも称する。以下では「仮停止」と称する。)させ、任意の図柄組合せを表示させる演出をいう。「疑似遊技演出」は、「リール演出」とも称される。
一方、「疑似遊技演出」に対し、遊技結果としての図柄組合せ(役抽選結果に対応する図柄組合せ)を表示するための遊技を「本遊技」と称する。
疑似遊技演出によって仮停止した図柄組合せは、遊技結果を表示したものではない。疑似遊技演出によって図柄組合せが仮停止した後、本遊技によって図柄組合せが停止表示されることにより遊技結果が表示される。
アドレス「F02DH」のLED表示データ(_PT_STS_LED )は、状態表示ランプ79、すなわち1ベット表示ランプ79a(D0)、2ベット表示ランプ79b(D1)、3ベット表示ランプ79c(D2)、投入要求ランプ79d(D3)、遊技開始表示ランプ79e(D4)、リプレイ表示ランプ79f(D5)のオン/オフを記憶するための記憶領域である。たとえば、遊技開始前のメダルを投入可能な状態では、LED表示データのD3ビットが「1」となり、投入要求ランプ79dが点灯可能な状態になる。
また、たとえば再遊技作動状態になる(リプレイ図柄が停止表示する)と、LED表示データのD5ビットが「1」となり、リプレイ表示ランプ79fが点灯可能な状態になる。
アドレス「F061H」の指示番号(_NB_ORD_INF )は、偏り役(押し順ベル)の当選時に指示機能を作動させる遊技において、指示番号を記憶しておく記憶領域である。図中、「213」は「中左右」の押し順を示し、「231」は「中右左」の押し順を示し、「312」は「右左中」の押し順を示し、「321」は「右中左」の押し順を示す。
たとえばAT中に押し順「213」の偏りベルに当選したときは、「00000001B」を記憶する。
アドレス「F02EH」のベット数データ(_NB_PLAY_MEDAL)は、現在のベット数に対応する値が記憶される記憶領域である。たとえばベット数が「0」であるときはベット数データは「0」であり、ベット数が「3」であるときはベット数データには「3H」が記憶される。
アドレス「F02FH」の自動ベット数データ(_NB_REP_MEDAL )は、再遊技作動時(リプレイ図柄組合せの停止表示時)に自動ベットされるメダル数が記憶される記憶領域である。
また、所定のエラー(復帰可能エラー又は復帰不可能エラー)が発生したときは、獲得数表示部78にエラー番号を表示する。このため、所定のエラーが発生したときは、獲得数データには、エラー番号を表示するためのエラー番号データが記憶される。たとえば、表示するエラー番号が「E0」であるときは、「E0」と表示するためのエラー番号データが獲得数データに記憶される。
さらにまた、AT中において指示機能を作動させる遊技(偏り役の当選時等)には、獲得数表示部78に(有利な押し順の)指示番号を表示する。換言すると、指示機能を作動させる遊技では、獲得数表示部78は指示モニタとして機能する。獲得数表示部78に指示番号を表示するときは、獲得数データに指示番号データを記憶する。たとえば、有利な押し順が「213(中左右)」の押し順ベルに当選した遊技において、指示機能を作動させるときは、獲得数データには指示番号データ「01B」が記憶される。これにより、獲得数表示部78には「*1」と表示される。
なお、本実施形態では詳細な説明を省略するが、設定変更モード中には獲得数表示部78に所定値(たとえば「88」)と表示してもよい。この場合には、設定変更モード中には、獲得数データに「88」と表示するためのデータが記憶される。メダルの払出し数上限値は「15」であるので、獲得数表示部78に「88」と表示されたときは、払出し数の表示ではないと判断することができる。
たとえばリール31が回転して遊技が開始され、すべてのストップスイッチ42の操作受付けが可能な状態になると、D0、D1,D2ビットの全てが操作可能を示す値「1」となる。
次に、たとえば左ストップスイッチ42が操作されると、D0ビットは「1」から「0」に更新される。この時点ではD1及びD2ビットは「1」のままである。
アドレス「F026H」の入賞及びリプレイ条件装置番号(_NB_CND_NOR )は、入賞及びリプレイ条件装置の作動状態を管理する番号を記憶する記憶領域であり、役の抽選が行われた後、抽選結果(当選番号)に対応する入賞及びリプレイ条件装置の番号が記憶される。
アドレス「F027H」の再遊技状態識別情報フラグ(_FL_RT_INF)は、再遊技状態識別信号を出力するタイミングであるか否かのデータを記憶する記憶領域である。再遊技状態識別信号の出力時には「FFH(オン)」の値が記憶され、それ以外は「00H(オフ)」の値が記憶される。
再遊技状態識別情報フラグは、遊技開始時にオンとされ、スタートスイッチ受付け時にオフにされる。
アドレス「F028H」のRT状態番号(_NB_RT_STS)は、現在のRT(再遊技状態)がどのRTであるかを識別するための番号を記憶する記憶領域である。RTがたとえば非RT、RT1、・・・を備える場合において、非RTであるときはRT番号として「00000000B」が記憶され、RT1であるときはRT番号として「00000001B」が記憶される。RT状態番号は、試験信号における「再遊技状態識別信号」となる。
LED表示カウンタ1は、獲得数表示部78の上位桁、獲得数表示部78の下位桁、及び状態表示ランプ79をダイナミック点灯させるためのカウンタであり、主制御割込み処理(図127中、ステップS1052のLED表示制御)において1割込みごとに更新され続ける。
本実施形態では、LED表示カウンタ1は、初期値として、「00000100B」の値をとる。そして、LED表示カウンタ1は、主制御割込み処理ごとに、LED表示カウンタ1のビット「1」を一桁右シフトするように更新する。また、LED表示カウンタ1の値が「00000001B」であるときに一桁右シフトすると「00000000B」となるが、当該主制御割込み処理時に、LED表示カウンタ1の初期化処理を行い、LED表示カウンタ1を「00000100B」にする。これにより、主制御割込み処理ごとに、LED表示カウンタ1は、
「N」割込み目 :00000100B
「N+1」割込み目:00000010B
「N+2」割込み目:00000001B
「N+3」割込み目:00000000B→00100000B(カウンタ初期化処理。「N」割込み目と同一値。)
「N+4」割込み目:00000010B
:
となる。
よって、主制御割込み処理の3割込みで1周期となる。
また、LED表示カウンタ1の値に対応する点灯対象となるランプは、
00000100B:獲得数表示部78の上位桁
00000010B:獲得数表示部78の下位桁
00000001B:状態表示ランプ79
である。そして、主制御割込み処理では、LED表示カウンタ1で「1」となっているビットに対応するランプを点灯させるように、ダイナミック点灯を行う。
状態表示ランプ79を点灯させるための信号は、LED表示データ中、ビットが「1」となっているランプに点灯信号を出力する。たとえばLED表示データが「00110111B」(リプレイ停止表示時)である場合には、1ベット表示ランプ79a、2ベット表示ランプ79b、3ベット表示ランプ79c、遊技開始表示ランプ79e、及びリプレイ表示ランプ79fを点灯させるための信号を出力する(投入要求ランプ79dは消灯)。
本実施形態の主制御割込み処理の周期は、第8実施形態と同様に「1.12」msである。よって、払出しカウント信号の1つのオン信号又はオフ信号を約「5」msにする(ただし、「5」ms未満にならないようにする)場合には、前記所定の初期値を「5D」とすることが挙げられる。これにより、所定の初期値が「5D」から「0」になるまでの時間は、「5.6」msとなる。この場合には、払出しカウント信号として、「5.6」ms間オン信号が出力され、次に、「5.6」ms間オフ信号が出力される。
同様に、払出しカウント信号の1つのオン信号又はオフ信号を約「50」msにする(ただし、「50」ms未満にならないようにする)場合には、前記所定の初期値を「45D」とすることが挙げられる。これにより、所定の初期値が「45D」から「0」になるまでの時間は、「50.4」msとなる。この場合には、払出しカウント信号として、「50.4」ms間オン信号が出力され、次に、「50.4」ms間オフ信号が出力される。
以上のように、払出しカウント信号の1つのオン信号又はオフ信号の出力時間を約「T1」msにする(ただし、「T1」ms未満にならないようにする)場合に、主制御割込み処理の周期を「T2」msとすると、前記所定の初期値「N」は、
N=[T1/T2]+1(ここで、[、]は、整数の商(整数の最大値)を表すガウス記号)
とすることが挙げられる。
たとえば、払出しカウント信号の1つのオン信号又はオフ信号の出力時間「T1」を約「5」msにする(ただし、「5」ms未満にならないようにする)場合に、主制御割込み処理の周期「T2」が「1.12」msであるときは、
N=[5/1.12]+1=5
となる。この場合の払出しカウント信号の1つのオン信号又はオフ信号の出力時間は「5.4」msである。
また、払出しカウント信号の1つのオン信号又はオフ信号の出力時間「T1」を約「10」msにする(ただし、「10」ms未満にならないようにする)場合に、主制御割込み処理の周期「T2」が「1.12」msである場合には、
N=[10/1.12]=9
となる。この場合の払出しカウント信号の1つのオン信号又はオフ信号の出力時間は「10.08」msである。
さらにまた、払出しカウント信号の1つのオン信号又はオフ信号の出力時間「T1」を約「50」msにする(ただし、「50」ms未満にならないようにする)場合に、主制御割込み処理の周期「T2」が「1.12」msである場合には、
N=[50/1.12]=45
となる。この場合の払出しカウント信号の1つのオン信号又はオフ信号の出力時間は「50.4」msである。
さらに、払出しカウント信号の1つのオン信号又はオフ信号の出力時間を約「T1」msにする場合であって「T1」ms未満となっても可の場合には、主制御割込み処理の周期を「T2」msとすると、前記所定の初期値「N」を、
N=[T1/T2](ここで、[、]は、整数の商(整数の最大値)を表すガウス記号)
とすることが挙げられる。
そして、払出しカウント信号の1つのオン信号又はオフ信号の出力が完了すると、払出しカウント信号出力回数から「1」減算されるように構成されている。上述したように、払出しカウント信号出力時間の値が「0」から「1」を減算したタイミングで、払出しカウント信号出力回数の値が「1」減算されるように構成されている。
本実施形態の遊技機10は、総メダル数(メダル数表示部121に表示される総メダル(遊技者の持ちメダル)数)が「15000」以上となったときは、
(1)遊技者に対し,計数を促す報知を行う(報知は行うが、遊技自体は継続可能)
(2)貸出しユニット200によるメダルの貸出し処理を不可の状態とする(貸出し受領結果応答を異常で通知する)
(3)試験機に対し、「3500」ms間、試験用計数信号を出力する
ように構成されている。
さらに、総メダル数が「16369」以上となったときは、
(4)主制御のエラー状態として遊技不可とする(スタートスイッチ41、ベットスイッチ40、精算スイッチ46の受付不可とする)
ように構成されている。
このため、総メダル数が「15000」以上となったときは、試験機に対して試験用計数信号を出力するため、試験用計数信号の出力時間を管理するための値を試験用計数信号出力時間に記憶する。記憶される初期値は「2418D」である。そして、主制御割込み処理ごとに当該値が「1」減算され、当該値が「0」になるまで、試験用計数信号が出力される。これにより、「2418×1.12=2708.16」ms間、試験用計数信号が出力される。
D0ビット(制御状態信号1)及びD1ビット(制御状態信号2)は、これら2ビットで現在のメダルのベット数を示す。たとえばベット数「0」である場合にはD0ビット及びD1ビットが「0」となり、ベット数「1」である場合にはD0が「1」かつD1ビットが「0」となり、ベット数「2」である場合にはD0が「0」かつD1ビットが「1」となり、ベット数「3」以上の場合にはD0ビット及びD1ビットが「1」となる。
D2ビット(制御状態信号3)は、初期設定異常のエラー解除後において、総メダル数クリアスイッチ112のオンを検出中の間、「1」が記憶される記憶領域である。
D3ビット(制御状態信号)は、初期設定異常のエラー解除後において、計数スイッチ信号のオンを検出中の間、「1」が記憶される記憶領域である。
D4ビット(制御状態信号5)は、計数メダル数が「0」以外の計数通知の送信から、計数メダル数が「0」の計数通知の送信までの間、「1」が記憶される記憶領域である。
D5ビット(制御状態信号6)は、貸出メダル数が「1」~「50」で貸出通知を受信したときに、貸出受領結果応答の貸出メダル数受領結果を正常で送信してから「200」msの間、「1」が記憶される記憶領域である。
D6ビット(制御状態信号7)は、本実施形態では未使用であり、常時「0」が記憶される記憶領域である。
D7ビット(制御状態信号8)は、初期設定異常のエラー検出中に「1」が記憶される記憶領域である。
D0ビット(制御状態信号9)は、貸出しユニット200との間の接続異常エラーを検出している間以外に「1」が記憶される記憶領域である。
D1ビット(制御状態信号10)は、遊技不可メダル数のエラー検出中、「1」が記憶される記憶領域である。
D2ビット(制御状態信号11)は、総メダル数が「15000」以上となったときに「1」が記憶される記憶領域である。
D3ビット(制御状態信号12)は、受信したメダル数制御コマンドが異常である場合、当該異常コマンド受信時から「200」msの間、「1」が記憶される記憶領域である。
ただし、初期設定異常のエラー検出中に受信したメダル数制御コマンドが異常である場合、当該異常コマンドの受信から初期設定異常のエラー解除後「200」msを経過するまでの間、「1」が記憶される。
D4ビット(制御状態信号13)は、貸出しユニット200との通信異常のエラーを検出している間、「1」が記憶される記憶領域である。
D5ビット(制御状態信号14)は、電源投入時において、総メダル数クリアスイッチ信号がオンである場合、初期設定異常のエラー検出中、及び総メダル数クリア表示中の間、「1」が記憶される記憶領域である。
D6ビット(制御状態信号15)は、電源投入時において、RWMチェックデータが異常である場合、RWMチェックデータの異常を判定してから初期設定異常のエラー解除後「60000」msを経過するまでの間、「1」が記憶される記憶領域である。
なお、当該信号がオンの間に電断及び電源投入を行った場合には、電源投入から初期設定異常のエラー解除後「60000」msを経過するまでの間、「1」が記憶される。
D7ビット(制御状態信号16)は、主制御CPU510とメダル数制御CPU520との送受信において、メダル数が「4」以上の減少又は「16」以上の増加が発生した場合、又はメダル数制御CPU520と貸出しユニット200との送受信において、メダル数が「51」以上の減少又は「51」以上の増加が発生した場合に、発生から「200」msの間、「1」が記憶される記憶領域である。
第9実施形態におけるフローチャートの図番は、以下の通りである。
1.主制御プログラム開始処理:図124(第8実施形態)
2.主制御メイン処理:図140
(1)遊技開始セット処理:図141
(2)ベット待ち処理:図142
(3)精算処理:図143
(4)メダル数制御からの要求コマンド受信待ち:図125(第8実施形態)
(5)主制御エラー表示処理:図126(第8実施形態)
(6)ベット処理:図144
(7)スタートスイッチ受付け処理:図145
(8)払出しカウント信号セット:図146
(9)付与処理:図147
(10)遊技終了チェック処理:図148
3.主制御割込み処理:図127(第8実施形態)
(1)LED表示制御:図149
(2)試験信号管理:図150
4.メダル数制御プログラム開始処理:図128(第8実施形態)
5.メダル数制御エラー表示処理:図129(第8実施形態)
6.メダル数制御メイン処理:図130(第8実施形態)
(1)主制御コマンド受信処理:図131(第8実施形態)
7.メダル数制御割込み処理:図132(第8実施形態)
図140において、ステップS931では、主制御CPU510は、遊技状態コマンドセット処理を実行する。この処理は、たとえば、コンプリート機能作動フラグ、RT状態、特別遊技中やAT遊技中の残メダル数等、副制御CPU85に送信する制御コマンドをコマンドバッファに格納等する処理である。
次のステップS932では、主制御CPU510は、遊技開始セット処理を実行する。この処理は後述する図141に示す処理である。
次にステップS934に進み、主制御CPU510は、今回の遊技が再遊技作動時であるか(前回遊技でリプレイに対応する図柄組合せが停止表示したか)否かを判断する。ここでは、再遊技作動状態フラグ(_FL_REPLAY)の値が「1」であるか否かを判断し、「1」であるときは再遊技作動時であると判断する。再遊技作動時であるときはステップS937に進み、再遊技作動時でないときはステップS935に進む。
ステップS935では、主制御CPU510は精算処理を実行する。この処理は、後述する図143に示す処理であり、精算スイッチ46の操作に基づいて、ベットメダルを総メダルに戻す処理である。次のステップS934では、ベット処理を実行する。この処理は、後述する図143に示す処理であり、ベットスイッチ40の操作に基づいてベット処理を実行する。
次にステップS937に進み、主制御CPU510はベット数が規定数(遊技を開始するのに必要なベット数)と一致するか否かを判断する。第7実施形態の規定数は「3」である。ベット数が規定数と一致すると判断したときはステップS938に進み、ベット数が規定数と一致しないと判断したときはステップS933に戻る。
ステップS1241では、主制御CPU510は、スタートスイッチ受付け処理を実行する。この処理は、後述する図145に示す処理であり、抽選処理や状態表示ランプ79の消灯等を行う処理である。
次のステップS1243では、主制御CPU510は、ステップS1241での抽選結果に基づいて、押し順指示番号を決定し、指示番号に記憶する。この処理は、今回遊技がAT中であって指示機能を作動させる遊技であり、かつ、有利な押し順を有する役(偏り役)に当選したときに、当該有利な押し順に対応する指示番号を取得し、指示番号(_NB_ORD_INF )に記憶する。
次にステップS1244に進み、主制御CPU510は、演出グループ番号をセットする。この処理は、ステップS1241の抽選結果に対応する演出グループ番号を取得し、主制御RWM512の所定領域に記憶等する処理である。なお、取得した演出グループ番号は、副制御基板80に送信される。
そして次のステップS940で、主制御CPU510は、リール31の回転を開始する。なお、リール31の回転を開始した後、ストップスイッチ42の受付けが可能な状態となったときは、主制御CPU510は、停止受付け情報データ(_PT_STOP_STS)のD0~D2ビットを「1」にする処理が実行される。
次にステップS1245に進み、主制御CPU510は、払出しカウント信号セット処理を実行する。この処理は、後述する図146に示す処理であり、試射試験機600に対して出力する払出しカウント信号の出力回数及び出力時間をセットする処理である。
そしてステップS1246に進み、主制御CPU510は、入賞役に対応する付与処理を実行する。この処理は、後述する図147に示す処理である。
次にステップS555に進み、コンプリート機能算出処理を実行する。この処理はMYカウンタの更新等の処理であり、上述した図88に示す処理である。
次にステップS1247に進み、主制御CPU510は、遊技終了チェック処理を実行する。この処理は、後述する図148に示す処理である。
次にステップS1248に進み、主制御CPU510は、作動状態フラグをセットする。この処理は、役物や再遊技の作動に応じて、作動状態フラグ(_FL_ACTION)及び再遊技作動状態フラグ(_FL_REPLAY)を更新する処理である。そして、ステップS931に戻る。
まず、ステップS1251では、主制御CPU510は、再遊技状態識別情報フラグ(_FL_RT_INF)をオン(「FFH」を記憶)する。なお、本実施形態では「FFH」を記憶しているが、再遊技状態識別信号を出力する状況であるか否かを把握可能な情報であれば、いかなる値を記憶してもよい。
次にステップS1252に進み、主制御CPU510は、主制御割込み処理が「4」回発生したか否かを判断する。主制御割込み処理が「4」回発生していないときは主制御割込み処理が「4」回発生するまで待機し、主制御割込み処理が「4」回発生したと判断したときはステップS951に進む。
換言すると、ステップS1252により、「4」回の主制御割込み処理が発生するまで待機する待機処理(「ウェイト処理」ともいう。)が実行される。この処理により「4.48」ms以上の時間の待機処理が実行されるが、このように待機処理を設けるのは以下の理由による。
なお、上記例では、待機処理としての主制御割込み処理回数を「4」としたが、「4」に限られるものではない。
再遊技状態識別信号は、遊技開始時に出力される。再遊技状態識別信号の出力を開始した後は、「2」ms以上のセットアップ時間が経過してから、投入要求ランプ信号又はスタート可能ランプ信号がオンになるようにする。
なお、遊技開始時に投入要求ランプ信号がオンになるのは、再遊技非作動時(前回遊技でリプレイに対応した図柄組合せが停止表示されなかった場合)である。また、遊技開始時にスタート可能ランプ信号がオンになるのは、再遊技作動時(前回遊技でリプレイに対応した図柄組合せが停止表示された場合)である。
このような出力タイミングに設定することにより、再遊技状態識別信号と、投入要求ランプ信号又はスタート可能ランプ信号との区別を明確して、試射試験機600に出力することができる。
ステップS952では、主制御CPU510は、VL信号がオンであるか否かを判断する。VL信号がオンであるときはステップS953に進み、VL信号がオンでないときはVL信号がオンになるまでループする。
ステップS953では、前回遊技のベットメダル数を読み込む。この処理は、主制御RM512のベット数データ(_NB_PLAY_MEDAL)の値を読み込む処理である。次のステップS954では、自動ベット数データをセットする。この処理は、ステップS953で読み込んだメダル数を、主制御RM512の自動ベット数データ(_NB_REP_MEDAL )に記憶する処理である。
次にステップS955に進み、主制御CPU510は、リプレイ表示ランプ79fの点灯処理を実行する。この処理は、LED表示データ(_PT_STS_LED )のD5ビットに「1」を記憶する処理である。これにより、その後の主制御割込み処理において、LED表示カウンタ1が「00000001B」となったタイミングで、リプレイ表示ランプ79fに対応する出力ポートから点灯信号が出力される。
なお、VL信号がオフのときに小役に対応する図柄組合せが停止表示したときは付与処理が実行される。これに対し、リプレイに対応する図柄組合せが停止表示した場合において、VL信号がオンであるときに自動ベット処理が実行される。一方、リプレイに対応する図柄組合せが停止表示した場合において、VL信号がオフであるときは、ステップS952をループする。換言すると、VL信号オフの状態で自動ベット処理は実行されない。これにより、次回遊技を即座に開始できると遊技者が誤認してしまうことを防止することができる。
次にステップS1254に進み、主制御CPU510は、遊技開始表示ランプ79eの点灯処理を行う。この処理は、LED表示データ(_PT_STS_LED )のD4ビットを「1」にする処理である。ステップS1254において遊技開始表示ランプ79eの点灯処理が実行された後、主制御割込み処理において、LED表示カウンタが「00000001B」であるときに、遊技開始表示ランプ79eに対応する点灯信号が出力ポートから出力される。そして本フローチャートによる処理を終了する。
まず、ステップS961では、主制御CPU510は、ベット数データ(_NB_PLAY_MEDAL)を読み込み、「1」以上であるか(メダルがベットされているか)を判断する。当該データが「1」以上であり、メダルがベットされていると判断したときはステップS966に進む。一方、当該データが「0」であり、メダルがベットされていないと判断したときはステップS962に進む。第9実施形態では、第7実施形態と同様に、ベット無し時に設定確認モードに移行可能となっている。
ステップS962では、主制御CPU510は、フロントドアが開放され、かつ、設定キーがオンであるか否かを判断する。フロントドアが開放され、かつ、設定キーがオンであると判断したときは、ステップS1261以降の設定確認モードに移行し、そうでない場合にはステップS966に進む。なお、遊技機10のフロントドアが開放されるとドアスイッチがオンになるように構成されている。また、設定キーが挿入され、オンにされる(所定方向に回転される)と、設定キースイッチ12がオンになるように構成されている。
ステップS1261では、主制御CPU510は、投入要求ランプ79dの消灯処理を実行する。設定確認モードでは、遊技者に対し、メダルをベットできないことを示すためである。この処理は、LED表示データ(_PT_STS_LED )のD3ビットを「0」にする処理である。
次のステップS963では、主制御CPU510は設定値表示処理を実行する。ステップS963の処理は、図135中、設定値表示手段73(7セグメントLED)に現在の設定値が表示可能となる設定を行うものである。この設定値の表示は、主制御割込み処理(図127)におけるステップS1052(LED表示制御)で実行される(後述する図149では具体的処理を省略する)。
次にステップS964に進み、フロントドアが開放され、かつ、設定キーがオフであるか否かを判断する。フロントドアが開放され、かつ、設定キーがオフであると判断したときはステップS965に進み、そうでない場合にはステップS964(設定値表示状態)をループする。ステップS965に進むと、主制御CPU510は設定値表示を終了する処理を行う。
次のステップS966では、主制御CPU510は、コンプリート機能が作動しているか(コンプリート機能作動フラグが「FFH」であるか)、VL信号がオフであるか、総メダル数が遊技進行可能な上限値(「16368」)を超えているか否かを判断する。これらの少なくとも1つの条件を満たしているときはステップS966をループする。一方、コンプリート機能が作動しておらず(コンプリート機能作動フラグが「00H」であり)、VL信号がオンであり、かつ、総メダル数が遊技進行可能な上限値(「16368」)以下であるときは、本フローチャートによる処理を終了する。
以上より、遊技終了後のコンプリート算出処理(図140中、ステップS555)において、MYカウンタが「19000」に到達し、コンプリート機能作動フラグが「FFH」となったとき(図88中、ステップS579)は、このベット待ち処理においてループ処理が実行される。よって、電源をオン/オフしない限り、その後の遊技はできないことになる。
また、VL信号がオフであるときは、このベット待ち処理においてループ処理が実行される。よって、その後、VL信号がオンにならない限り、その後の遊技の進行は中断する。
さらにまた、総メダル数が遊技進行可能な上限値「16368」を超えているときは、このベット待ち処理においてループ処理が実行される。よって、その後、計数スイッチ47が操作され、総メダル数が遊技進行可能な上限値「16368」以下にならない限り、その後の遊技の進行は中断する。
ステップS971では、主制御CPU510は、精算スイッチ46が操作されたか否か(精算スイッチの立ち上がり信号がオンとなったか否か)を判断する。精算スイッチ46が操作されたと判断したときはステップS972に進み、精算スイッチ46が操作されていないと判断したときは本フローチャートによる処理を終了する。
ステップS972では、主制御CPU510は、ベットメダルを読み込む。この処理は、ベット数データ(_NB_PLAY_MEDAL)の値を読み込む処理である。次にステップS973に進み、ベットメダルを有するか(ベット数データが「1」以上であるか)否かを判断する。ベットメダルを有すると判断したときはステップS974に進み、ベットメダルを有さないと判断したときは本フローチャートによる処理を終了する。すなわち、ベットメダルを有さない状態で精算スイッチ46が操作されたときは、ステップS974以降の処理に進まないので、精算要求コマンドが送信されたり、精算処理が実行されることはない。
ステップS974では、主制御CPU510は精算要求コマンドをセットする。次にステップS975に進み、メダル数制御CPU520からの要求応答コマンド(ここでは、精算要求応答コマンド)受信待ち処理を実行する。この処理は、図125に示す処理である。
正常に受信したと判断した場合にはステップS1271に進み、正常に受信していないと判断した場合には本フローチャートによる処理を終了する。
なお、このステップS976の前のステップS975(図125)において、精算要求応答コマンドを正常に受信しなかったとき(精算要求応答コマンドを受信しなかったときや、精算要求応答コマンドを受信したが正常値でないとき(VL信号がオンであり、かつ精算数が異常値であるとき))は、図125のステップS1164(図126)で主制御エラー表示処理が実行される。
ステップS1271では、主制御CPU510は、ベット数データ(_NB_PLAY_MEDAL)をクリアする(「0」を記憶する)。次のステップS1272では、主制御CPU510は、ベット表示ランプの消灯処理を行う。この処理は、LED表示データ(_PT_STS_LED )のD0、D1、及びD2ビットを「0」にする処理である。
次のステップS1273では、主制御CPU510は、遊技開始表示ランプ79eの消灯処理を行う。この処理は、LED表示データ(_PT_STS_LED )のD4ビットに「0」を記憶する処理である。
なお、ステップS1272及びS1273を一時に実行してもよい。たとえばLED表示データ(_PT_STS_LED )と「11101000B」とをAND演算し、D0~D2及びD4ビットをクリアする処理を一時に実行することも可能である。
次にステップS1274に進み、主制御CPU510は、投入要求ランプ79dの点灯処理を行う。この処理は、LED表示データ(_PT_STS_LED )のD3ビットを「1」する処理である。
次のステップS978では、主制御CPU510は、副制御CPU85に送信する精算コマンドをセットする。そして次のステップS979で、主制御CPU510は、制御コマンドセット1処理を行う。この処理は、ステップS978でセットした精算コマンドをコマンドバッファに書き込む処理である。この処理により、次の主制御割込み処理又はそれ以降の主制御割込み処理において、精算コマンドが副制御基板80に送信される。そして本フローチャートによる処理を終了する。
まず、ステップS991では、主制御CPU510は、メダル数の限界チェックを行う。この処理は、ベット数データ(_NB_PLAY_MEDAL)の値を読み込む処理である。次のステップS992では、主制御CPU510は、メダル数が限界であるか否かを判断する。読み込んだベット数データが「3」であるときはメダル数が限界であると判断し、ステップS1283に進み、メダル数が限界でないと判断したときはステップS1281に進む。
ステップS1281では、投入要求ランプ79dの点灯処理を行う。この処理は、LED表示データ(_PT_STS_LED )のD3ビットを「1」にする処理である。次にステップS1282に進み、主制御CPU510は、遊技開始表示ランプ79eの消灯処理を行う。この処理は、LED表示データ(_PT_STS_LED )のD4ビットを「0」にする処理である。ステップS1281及びS1282の後、主制御割込み処理のLED表示制御において、投入要求ランプ79dに対応する点灯信号と、遊技開始表示ランプ79eに対応する消灯信号が出力される。
次のステップS994では、主制御CPU510は、ベットスイッチ40が操作されたか否かを判断し、操作されたと判断したときはステップS995に進み、操作されていないと判断したときは本フローチャートによる処理を終了する。
ステップS995では、主制御CPU510は、1ベットスイッチ40aが操作されたか否かを判断する。1ベットスイッチ40aが操作されたと判断したときはステップS996に進み、操作されていない(3ベットスイッチ40bが操作された)と判断したときはステップS997に進む。
ステップS996では、主制御CPU510は、ベット要求数として「1」をセットする。次のステップS997では、主制御CPU510は、3ベットスイッチ40bの操作に対応して、ベット数が「3」となるようにベット要求数の最大値をセットする。ステップS996及びS997の処理により、ベット要求コマンドのベット数がセットされる。
次にステップS999に進み、主制御CPU510は、ベット要求応答コマンドを正常に受信したか否かを判断する。正常に受信したと判断したときはステップS1285に進み、正常に受信していないと判断したときは本フローチャートによる処理を終了する。
なお、このステップS999の前のステップS975(図125)において、ベット要求応答コマンドを正常に受信しなかったとき(ベット要求応答コマンドを受信しなかったときや、ベット要求応答コマンドを受信したが正常値でないとき(VL信号がオンであり、かつベット数が異常値であるとき))は、図125のステップS1164(図126)で主制御エラー表示処理が実行される。
ステップS1285では、主制御CPU510は、ベット数データを更新する。この処理は、ベット数データ(_NB_PLAY_MEDAL)の値を「1」加算する処理である。次にステップS1286に進み、主制御CPU510は、ベット表示ランプ79a~79cの値の更新処理を行う。この処理は、LED表示データ(_PT_STS_LED )のD0~D2ビットの値を、加算後のベット数に対応する値に更新する処理である。たとえば更新前のLED表示データ(_PT_STS_LED )のD0~D2ビットの値が「000B」であるときは「001B」に更新し、更新前の値が「001B」であるときは「011B」に更新し、更新前の値が「011B」であるときは「111B」に更新する。
ステップS1002では、主制御CPU510は、ベットコマンドを副制御CPU85に送信する処理を行う。なお、ベットコマンドを副制御CPU85に送信する処理とは、コマンドバッファへの記憶を指す(他のステップで実行する場合も同様である)。この後の主制御割込み処理において、図127のステップS1049の処理によりベットコマンドが副制御CPU85に送信される。そして本フローチャートによる処理を終了する。
一方、ステップS992においてメダル数が限界であると判断され、ステップS1283に進むと、主制御CPU510は、投入要求ランプ79dの消灯処理を行う。この処理は、LED表示データ(_PT_STS_LED )のD3ビットを「0」にする処理である。次にステップS1284に進み、主制御CPU510は、遊技開始表示ランプ79eの点灯処理を行う。この処理は、LED表示データ(_PT_STS_LED )のD4ビットを「1」にする処理である。なお、ステップS1283の処理とステップS1284の処理順序は逆でもよい。また、ステップS1283とS1284の処理を同時に行うことも可能である。
まず、ステップS1351では、主制御CPU510は、役抽選のための乱数値を取得する。なお、ステップS1351の時点では、乱数値を取得するのみで、取得した乱数値に基づく当選判定は未だ実行していない。
次にステップS1352に進み、主制御CPU510は、遊技開始表示ランプ79eを消灯する。この処理は、LED表示データ(_PT_STS_LED )中、D4ビットを「0」にする処理である。
さらに次のステップS1353では、主制御CPU510は、投入要求ランプ79dを消灯する。この処理は、LED表示データ(_PT_STS_LED )中、D3ビットを「0」にする処理である。
次のステップS1354では、主制御CPU510は、獲得数データ(_NB_PAYOUT)をクリアする。この処理により、前回遊技において獲得数データに獲得数が記憶されたときでも、今回遊技の遊技開始時にクリアされる。
次にステップS1355に進み、主制御CPU510は、再遊技状態識別情報フラグ(_FL_RT_INF)をオフ(「0」)にする。なお、再遊技状態識別情報フラグは、図141のステップS1251(遊技開始セット処理)でオンとなっている。そして、スタートスイッチ信号のオンを検知したときは、再遊技状態識別信号をオフにするため、スタートスイッチ信号のオンを検知したことに基づいて再遊技状態識別情報フラグを「0」にする。再遊技状態識別情報フラグが「0」となったときは、主制御割込み処理において再遊技状態識別信号が出力されない(後述する図150のステップS1343)。
なお、第9実施形態では、乱数値の取得と内部抽選(取得した乱数に基づく当選番号の決定)との間に、ステップS1352及びS1353の処理を実行している。これにより、スタートスイッチ受付け時処理に移行したときは、できるだけ早く、投入要求ランプ79d及び遊技開始表示ランプ79eを消灯する処理を実行するようにしている。これにより、スタートスイッチ信号のオンを検知したときは、早期に、投入要求ランプ信号及びスタート可能ランプ信号をオフにすることが可能となる。
ステップS1358では、主制御CPU510は、最小遊技時間を保存する。この処理は、上述の主制御RWM512の最小遊技時間に「3661D」を記憶する処理である。この最小遊技時間は、主制御割込み処理ごとに「1」ずつ減算される。したがって、「1.12ms×3661=4100.32ms」経過すると「0」となる。
そして本フローチャートによる処理を終了する。
まず、ステップS1311では、主制御CPU510は、払出しカウント信号出力時間(_ST1_OUT_CNT)に所定の初期値を記憶する。「所定の初期値」は、上述したように、たとえば払出しカウント信号の1つのオン信号又はオフ信号を「5」msにする場合には「5D」であり、払出しカウント信号の1つのオン信号又はオフ信号を「50」msにする場合には「45D」である。そしてステップS1312に進み、主制御CPU510は、主制御CPU510は、払出し数バッファ(_BF_PAY_MEDAL )の値をAレジスタに記憶する。
次のステップS1313では、主制御CPU510は、Aレジスタ値を2倍にした値(Aレジスタ値+Aレジスタ値)を払出しカウント信号出力回数(_SC_MEDAL_OUT )に記憶する。そして本フローチャートによる処理を終了する。
ここで記憶された払出しカウント信号出力時間(_ST1_OUT_CNT)は、主制御割込み処理ごとに「1」減算される。また、払出し数バッファの値(今回遊技の払出し数)を2倍にするのは、払出しカウント信号としてオンの信号とオフの信号の1パルスで払出し数「1」の払出しカウント信号とするためである。
図147において、ステップS1381では、主制御CPU510は、払出し数バッファ(_BF_PAY_MEDAL )の値を取得する。さらに、主制御CPU510は、取得した値をEレジスタに記憶する。
次にステップS1382に進み、主制御CPU510は、副制御CPU85に付与コマンドを送信する(コマンドバッファに記憶する)。ここでの「付与コマンド」は、今回遊技の総付与数に対応するコマンドである。たとえば10枚小役が入賞したときは、付与コマンドは、付与数として「10」を含むコマンドである。
次のステップS1383では、主制御CPU510は、今回遊技で遊技媒体の付与を有するか否かを判断する。ここでは、Eレジスタ値が「0」でないときは付与ありと判断する。付与ありと判断したときはステップS1384に進み、付与なしと判断したときは本フローチャートによる処理を終了する。
ステップS1384では、主制御CPU510は、付与要求コマンドをセットする。ここで、第7実施形態では、図100に示すように、付与要求コマンドは、付与数「1」を示す「A201H」であった。これに対し、第9実施形態では、今回遊技の付与数を「N」としたとき、「A20NH」の付与要求コマンドを送信する。たとえば今回遊技の付与数が「10」であるときは、「A20AH」となる。このため、主制御CPU510は、Dレジスタに「A2」をセットし、DEレジスタ値を付与要求コマンドとして送信する。次にステップS975に進み、主制御CPU510は、メダル数制御CPU520からの付与要求応答コマンドの受信待ち(図125)を実行する。
ステップS1386において付与処理の受付けが不可であると判断したときはステップS1384に戻り、付与処理の受付けが可能であると判断したときはステップS1387に進む。この処理により、付与処理の受付けが不可であると判断したときは、再度、ステップS1384に戻って付与要求コマンドの送信処理が実行される。
上記処理中、ステップS975におけるメダル数制御からの要求応答コマンド受信待ち処理(図125)において、図125中、ステップS986及びS987で「No」と判断され、ステップS1164に進むと、主制御エラー表示処理(図126)に進む。そして、図126のステップS1169に示すように、リセットスイッチ14が操作されるまでエラー状態を維持する。このエラー状態が解除されると、図147中、ステップS975からステップS1386に進むと「Yes」(付与処理の受付け不可)と判断されるので、ステップS1384に戻って、再度、付与要求コマンドがセットされる。このようにして、付与要求応答コマンドを正常に受信できなかったときは、付与要求応答コマンドを正常に受信するまで、付与要求コマンドの送信を繰り返す。
このように、付与要求応答コマンドを正常に受信できなかったときは、付与要求応答コマンドを正常に受信するまで付与要求コマンドの送信を繰り返すことで、遊技者に不利益を与えないようにすることができる。
これに対し、ベット処理や精算処理については、要求応答コマンドを正常に受信することができず、ベット処理や精算処理が実行されなかったとしても遊技者に不利益を与えないので、ベット要求コマンドや精算要求コマンドの送信を繰り返さなくてもよい。
次にステップS1388に進み、主制御CPU510は、特別遊技状態での獲得数から「1」を減算する。この処理は、主制御RWM512に記憶されている特別遊技状態での獲得数から「1」を減算する処理である。
さらに次のステップS13890では、主制御CPU510は、付与数データから「1」を減算する。この処理は、Eレジスタ値から「1」を減算する処理である。
次のステップS1390では、主制御CPU510は、Eレジスタ値が「0」になったか否かを判断する。Eレジスタ値が「0」でないと判断したときはステップS1388に戻り、Eレジスタ値が「0」であると判断したときは本フローチャートによる処理を終了する。
以上のようにして、第9実施形態では、獲得数表示部78に表示される値は、カウントアップされることなく直ちに表示される。この点で第7実施形態の付与処理(図114)と相違する。
まず、ステップS1291では、主制御CPU510は、作動状態フラグ(_FL_ACTION)を取得し、Aレジスタに記憶する。次にステップS1292に進み、主制御CPU510は有利区間ビットデータを生成する。この処理は、有利区間フラグ(_FL_ADV_STS )に記憶されている値(有利区間中である場合にはD1ビットが「1」となっている)とAレジスタ値とを論理和(OR)演算し、演算結果をAレジスタ値とする処理である。
この時点でのAレジスタ値は、
D0:疑似遊技演出中
D1:有利区間
D2:未使用
D3:1BB
D4:RB
D5:未使用
D6:未使用
D7:未使用
となる。
次のステップS1293では、主制御CPU510は、今回遊技の指示番号が「0」であるか否かを判断する。ここでは、指示番号(_NB_ORD_INF )の値が「0」であるか否かを判断し、「0」でないと判断したときはステップS1294に進み、「0」であると判断したときはステップS1295に進む。
D0:指示発生
D1:有利区間
D2:未使用
D3:1BB
D4:RB
D5:未使用
D6:未使用
D7:未使用
となる。
次にステップS1296に進み、主制御CPU510は、Dレジスタ値を上位バイトとし、Eレジスタ値を下位バイトとした2バイトデータをメダル数制御CPU520に送信する。メダル数制御CPU520は、この2バイトデータを受信した場合において、上位バイトデータが「C0H」であるときは、下位バイトデータが「指示発生、有利区間、役物」のデータであると判断可能となる。
次のステップS1296では、主制御CPU510は、払出し数バッファ(_BF_PAY_MEDAL )の値を取得し、Aレジスタに記憶する。なお、それ以前のAレジスタ値はクリアされ、クリア後のAレジスタに払出し数バッファ値が記憶される。
次にステップS1298に進み、主制御CPU510は、今回遊技でリプレイが停止表示したか否かを判断する。この処理は、図柄組合せ表示フラグ(_FL_WIN )のD0ビットが「1」であるか否かを判断し、「1」であるときは、今回遊技でリプレイが停止表示したと判断する。今回遊技でリプレイが停止表示したと判断したときはステップS1299に進み、リプレイが停止表示していないと判断したときはステップS1301に進む。
ステップS1299では、主制御CPU510はベット数を読み込む。この処理は、ベット数データ(_NB_PLAY_MEDAL)の値をAレジスタに記憶する処理である。なお、リプレイが停止表示した遊技での払出し数バッファ値は「0」であるので、ステップS1297を経由してもAレジスタ値はその時点では「0」である。
ステップS1301では、主制御CPU510は、遊技終了コマンドをセットする。この処理は、EレジスタにAレジスタ値を記憶し、さらに、Dレジスタに「CFH」を記憶する処理する処理である。
そしてステップS1302に進み、ステップS1296と同様に、主制御CPU510は、Dレジスタ値を上位バイトとし、Eレジスタ値を下位バイトとした2バイトデータをメダル数制御CPU520に送信する。
よって、たとえばベット数「3」で遊技を行い、リプレイが停止表示したときは、2バイトデータは「CF83H」となる。
また、たとえば3枚小役が入賞したときは、2バイトデータは「CF03H」となる。
さらにまた、たとえば10枚小役が入賞したときは、2バイトデータは「CF0AH」となる。
これにより、メダル数制御CPU520は、この2バイトデータを受信した場合において、2バイトデータの下位バイトのデータを読み込めば、リプレイの停止表示の有無(リプレイの停止表示時にはベット数)や払出し数を判断可能となる。
次にステップS1303に進み、主制御CPU510は、打ち止め監視処理を行う。この処理は、MYカウンタが「19000」以上であるときに、コンプリート機能作動フラグをオン(FFH)にする処理である。この処理は、図88(第6実施形態)のステップS579の処理に相当する。
次にステップS1304に進み、主制御CPU510は、リプレイ表示ランプ79fの消灯処理を行う。この処理は、LED表示データ(_PT_STS_LED )のD5ビットを「0」にする処理である。そして本フローチャートによる処理を終了する。
上述したように、主制御メイン処理では、状態表示ランプ79の点灯処理及び消灯処理を実行する。状態表示ランプ79の点灯処理は、LED表示データ(_PT_STS_LED )の所定のビットに「1」を記憶する処理であり、状態表示ランプ79の消灯処理は、LED表示データ(_PT_STS_LED )の所定のビットに「0」を記憶する処理である。
ただし、これらの処理により状態表示ランプ79が直ちに点灯又は消灯するわけではない。主制御割込み処理において以下に示すLED表示制御が実行された場合に、LED表示カウンタ1が状態表示ランプ79の点灯タイミングであるときに、所定の出力ポートから、状態表示ランプ79の点灯信号及び消灯信号が出力されることにより、状態表示ランプ79の各ランプ79a~79fが点灯制御又は消灯制御される。
以上は、獲得数表示部78についても同様である。LED表示制御が実行された場合に、LED表示カウンタ1が獲得数表示部78の上位桁の点灯タイミングであるときに、所定の出力ポートから、獲得数表示部78の上位桁の点灯信号及び消灯信号が出力されることにより、獲得数表示部78の上位桁の各セグメントが点灯制御又は消灯制御される。
同様に、LED表示制御が実行された場合に、LED表示カウンタ1が獲得数表示部78の下位桁の点灯タイミングであるときに、所定の出力ポートから獲得数表示部78の下位桁の点灯信号及び消灯信号が出力されることにより、獲得数表示部78の下位桁の各セグメントが点灯制御又は消灯制御される。
たとえば、
デジット1:獲得数表示部78の上位桁のLED
デジット2:獲得数表示部78の下位桁のLED
デジット3:状態表示ランプ79
とする。
また、セグメント信号は、7セグメントのうちのどのセグメントを点灯させるかを定める信号となる。ここで、本実施形態の状態表示ランプ79は、6種類から構成されているが、これら6つのランプをそれぞれ7セグメントの個々のセグメントと見立てて点灯させる。
たとえば、
セグメントA:1ベット表示ランプ79a
セグメントB:2ベット表示ランプ79b
セグメントC:3ベット表示ランプ79c
セグメントD:投入要求ランプ79d
セグメントE:遊技開始表示ランプ79e
セグメントF:リプレイ表示ランプ79f
セグメントG:未使用
とする。
次のステップS1362では、主制御CPU510は、LED表示カウンタ1を更新する。LED表示カウンタ1の更新は、ビット「1」を右に一桁シフトする処理である。この更新後の値を、LED表示カウンタ1(_CT_LED_DSP1)に記憶する。そして、ステップS1363に進む。
ステップS1363では、主制御CPU510は、LED表示カウンタ1の値が「00000000B」であるか否かを判断する。そして、「00000000B」であると判断したときはステップS1364に進み、「00000000B」でないと判断したときはステップS1365に進む。
ステップS1365では、主制御CPU510は、LED表示カウンタ1(_CT_LED_DSP1)に記憶された値を取得する。ここでは、LED表示カウンタ1の値をEレジスタに記憶する。
次にステップS1336に進み、主制御CPU510は、獲得数データ(_NB_PAYOUT)の値を読み込み、Aレジスタに記憶する。
次のステップS1367では、主制御CPU510は、Eレジスタ値(LED表示カウンタ1の値)が「00000100B」であるか否かを判断する。「00000100B」であると判断したときはステップS1368に進み、「00000100B」でないと判断したときはステップS1369に進む。
ステップS1368では、主制御CPU510は、獲得数データの上位桁データを取得する。この処理は、Aレジスタ値(獲得数データ)を「10(10進数)」で割る演算を実行し、Cレジスタに商の値を記憶する処理である。そして、ステップS1372に進む。
ステップS1370では、主制御CPU510は、獲得数データの下位桁データを取得する。この処理は、Aレジスタ値(獲得数データ)を「10(10進数)」で割る演算を実行し、Cレジスタに余りの値を記憶する処理である。そしてステップS1372に進む。
一方、ステップS1371に進んだときは、主制御CPU510は、LED表示データ(_PT_STS_LED )の値を取得し、Cレジスタに記憶する。そしてステップS1372に進む。
ステップS1372では、主制御CPU510は、セグメントデータを取得する。具体的には、Cレジスタ値及び所定のLEDセグメントテーブル(図示せず)を用いて、7セグメントのうちどのセグメントを点灯させるかを示すデータに変換する。そしてこのセグメントデータをDレジスタに記憶する。
たとえば、出力ポート3からデジット2信号が出力され、かつ、出力ポート4からセグメントB及びC信号が出力されたときは、獲得数表示部78の下位桁のLEDに「1」と表示される。
また、たとえば出力ポート3からデジット3信号が出力され、かつ、出力ポート4からセグメントD信号が出力されたときは、投入要求ランプ79dが点灯する。
まず、ステップS1321では、主制御CPU510は、スタート可能ランプ信号及び投入要求ランプ信号をセットする。この処理は、LED表示データ(_PT_STS_LED )の値をAレジスタに記憶し、Aレジスタ値と「00011000」(D3、D4ビットが「1」のデータ)との論理積(AND)演算を行い、その演算結果をAレジスタに記憶する処理である。これにより、LED表示データのD3及びD4ビット以外がマスクされたデータがAレジスタに記憶される。
換言すると、スタート可能ランプ信号は、LED表示データ(_PT_STS_LED )のD4ビットの値に相当し、投入要求ランプ信号は、D3ビットの値に相当する。
次のステップS1322では、主制御CPU510は、払出しカウント信号出力回数(_SC_MEDAL_OUT )が「0」であるか否かを判断する。「0」でないと判断したときはステップS1323に進み、「0」であると判断したときはステップS1324に進む。
ステップS1323では、主制御CPU510は、スタート可能ランプ信号及び投入要求ランプ信号をクリアする。この処理は、Aレジスタ値を「0」にする処理である。たとえばAレジスタ値とAレジスタ値との排他的論理和(XOR)により「0」にする。
よって、払出しカウント信号出力回数が「0」であるとき(払出しカウント信号を出力しないとき)はスタート可能ランプ信号及び投入要求ランプ信号が出力可能な状態となり、払出しカウント信号出力回数が「0」でないとき(払出しカウント信号を出力するとき)はスタート可能ランプ信号及び投入要求ランプ信号は出力しない。
ここでは、以下の処理を実行する。
1)Aレジスタ値を2倍にする(Aレジスタ値とAレジスタ値とを加算し、加算後の値をAレジスタ値とする。)。
2)Aレジスタ値と停止受付け情報データ(_PT_STOP_STS)の値との論理和演算(OR)を行い、演算結果をAレジスタに記憶する。
ここで、上記1)のAレジスタ値を2倍にすることにより、それまでのD3ビット値はD4ビットにシフトし、D4ビット値はD5ビットにシフトする。これにより、この時点でのAレジスタ値は、
D0:左ストップ可能ランプ信号
D1:中ストップ可能ランプ信号
D2:右ストップ可能ランプ信号
D3:0
D4:投入要求ランプ信号
D5:スタート可能ランプ信号
D6:0
D7:0
となる。
ステップS1326では、主制御CPU510は再遊技中信号をセットする。この処理は、AレジスタのD6ビットを「1」にする処理である。
よって、この時点でのAレジスタ値は、
D0:左ストップ可能ランプ信号
D1:中ストップ可能ランプ信号
D2:右ストップ可能ランプ信号
D3:0
D4:投入要求ランプ信号
D5:スタート可能ランプ信号
D6:再遊技中信号
D7:0
となる。
次のステップS1327では、主制御CPU510は、有利区間フラグ(_FL_ADV_STS )が「0」であるか否かを判断する。「0」でないと判断したときはステップS1328に進み、「0」であると判断したときはステップS1329に進む。
ステップS1328では、主制御CPU510は、有利区間中情報をセットする。この処理は、AレジスタのD7ビットを「1」にする処理である。
よって、この時点でのAレジスタ値は、
D0:左ストップ可能ランプ信号
D1:中ストップ可能ランプ信号
D2:右ストップ可能ランプ信号
D3:0
D4:投入要求ランプ信号
D5:スタート可能ランプ信号
D6:再遊技中信号
D7:有利区間中信号
となる。
そして、ステップS1329で、主制御CPU510は、Aレジスタの値を出力ポート10に出力するための処理(OUT命令)を実行する。これにより、ストップ可能ランプ信号、投入要求ランプ信号、スタート可能ランプ信号、再遊技中信号、有利区間中信号が試験信号として出力される。
また、これらの試験信号の出力後は、Aレジスタ値を「0」にする。たとえばAレジスタ値とAレジスタ値との排他的論理和(XOR)を行う。
次にステップS1331に進み、主制御CPU510は、制御状態信号11(メダル数制御状態2データ(_PT_PSTS2 )のD2ビット)がオフ(「0」)であるか否かを判断する。オフでないと判断したときはステップS1332に進み、オフであると判断したときはステップS1333に進む。
ステップS1332では、主制御CPU510は、試験用計数信号出力時間を保存する。この処理は、HLレジスタ値が示すアドレス(試験用計数信号出力時間(_ST2_EXP_CAL)に「2418D」を記憶する処理である。ここで記憶された値は、主制御割込み処理ごとに「1」減算される。したがって、「2418」が「0」になるまでの時間は、「2418×1.12(ms)=2708.16(ms)」である。
次のステップS1333では、主制御CPU510は、試験用計数信号出力時間を減算する。この処理は、HLレジスタ値が示すアドレス(試験用計数信号出力時間(_ST2_EXP_CAL)に記憶された値を「1」減算する処理である。なお、ここでの減算は、「0」から「1」を減算しても「0」となる命令を用いる。
ステップS1335では、主制御CPU510は、試験用計数信号をセットする。この処理は、AレジスタのD0ビットに「1」をセットする処理である。
よって、この時点でのAレジスタ値は、
D0:試験用計数信号
D1:0
D2:0
D3:0
D4:0
D5:0
D6:0
D7:0
となる。
次のステップS1336では、主制御CPU510は、払出しカウント信号出力時間を更新する。この処理は、払出しカウント信号出力時間(_ST1_OUT_CNT)に記憶されている値を「1」減算する処理である。ここで、「0」から「1」を減算した場合には、払出しカウント信号出力時間(_ST1_OUT_CNT)に「44D」をセットする。
次のステップS1337では、主制御CPU510は、払出しカウント出力回数の更新タイミングであるか否かを判断する。この処理は、ステップS1336での更新の結果、キャリーフラグが「1」であるとき(「0」から「44D」となったとき)は、更新タイミングであると判断する。更新タイミングであると判断したときはステップS1338に進み、更新タイミングでないと判断したときはステップS1339に進む。
次にステップS1339に進み、主制御CPU510は、払出しカウント信号出力回数(_SC_MEDAL_OUT )に記憶された値が「0」であるか否かを判断する。「0」であると判断したときはステップS1342に進み、「0」でないと判断したときはステップS1340に進む。
ステップS1340では、主制御CPU510は、払出しカウント信号の出力時であるか否かを判断する。ここでは、払出しカウント信号出力回数(_SC_MEDAL_OUT )のD0ビット値が0」であるときは払出しカウント信号の出力時であると判断する。換言すると、D0ビット値が「0」であるとき(偶数値であるとき)は払出しカウント信号の出力時であると判断し、D0ビット値が「1」であるとき(奇数値であるとき)は払出しカウント信号の出力時でないと判断する。ステップS1340において払出しカウント信号の出力時であると判断したときはステップS1341に進み、出力時でないと判断したときはステップS1342に進む。ステップS1341では、主制御CPU510は、払出しカウント信号をセットする。この処理は、AレジスタのD1ビットに「1」を記憶する処理である。
よって、この時点でのAレジスタ値は、
D0:試験用計数信号
D1:払出しカウント信号
D2:0
D3:0
D4:0
D5:0
D6:0
D7:0
となる。
次にステップS1342に進み、主制御CPU510は、Aレジスタ値を出力ポート11に出力させるための処理(OUT命令)を実行する。
この処理により、試験用計数信号及び払出しカウント信号が試験信号として試射試験機600に出力される。
ステップS1344では、主制御CPU510は、条件装置信号をセットする。この処理は、この処理の詳細は省略するが、所定のタイマ値に応じて、「0」データ、役物条件装置信号データ、又は入賞及びリプレイ条件装置信号データをセットする。役物条件装置信号データを試験信号として出力するタイミングであるときは、役物条件装置番号(_NB_CND_BNS )のデータを読み込み、Aレジスタに記憶する。また、入賞及びリプレイ条件装置信号データの出力タイミングであるときは、入賞及びリプレイ条件装置番号(_NB_CND_NOR )のデータを読み込み、Aレジスタに記憶する。
一方、ステップS1343からステップS1345に進んだときは、主制御CPU510は、再遊技状態識別信号として、RT状態番号(_NB_RT_STS)を読み込み、Aレジスタに記憶する。たとえば現在のRTがRT1であるときは、RT状態番号(_NB_RT_STS)はたとえば「00000001B」となっているので、このデータを読み込んでAレジスタに記憶する。
次にステップS1346に進み、主制御CPU510は、Aレジスタ値を出力ポート12に出力させるための処理(OUT命令)を実行する。
この処理により、条件装置信号又は再遊技状態識別信号が試験信号として試射試験機600に出力される。そして本フローチャートによる処理を終了する。
<払出しカウント信号と他の処理との関係>
主制御メイン処理(図140)に示すように、ステップS1245における払出しカウント信号セットは、ステップS1246の付与処理よりも前に実行される。
ステップS1246の付与処理(図147)では、副制御CPU85に付与コマンドが送信される(ステップS1382)。また、メダル数制御CPU520に対して付与要求コマンドを送信し、付与要求応答コマンドを正常に受信すると(ステップS1386で「No」)、付与処理が実行される。
よって、副制御CPU85による付与音の出力や、メダル数制御CPU520によるメダル数表示部121の更新処理を実行するための主制御メイン処理よりも先に、払出しカウント信号を出力するための主制御メイン処理が実行される。
図150に示す試験信号管理では、最初にステップS1321においてスタート可能ランプ信号及び投入要求ランプ信号をセットし、払出しカウント信号出力回数が「0」であるとき(払出しカウント信号を出力しないとき(払出しカウント信号の出力が完了したとき、又は払出しカウント信号の出力を行わないとき))はスタート可能ランプ信号及び/又は投入要求ランプ信号を出力するための処理を実行可能とし、払出しカウント信号出力回数が「0」でないとき(払出しカウント信号を出力するとき(払出しカウント信号の出力が完了していないとき))はスタート可能ランプ信号及び/又は投入要求ランプ信号を出力するための処理を実行しないように構成されている。
よって、払出しカウント信号と、スタート可能ランプ信号や投入要求ランプ信号が同時に出力されることはない。
払出しを有する小役が入賞したときは、図140中、ステップS1246において付与処理が行われ、付与処理(図147)では、付与要求コマンドをセットし(ステップS1384)、ステップS975において付与要求応答コマンドの受信を待つ。そして、付与要求応答コマンドを正常に受信しなかったときは、図125中、ステップS1164で主制御エラー表示処理が実行される。主制御エラー表示処理に進むと、図126のステップS1169においてリセットスイッチ14の操作待ちとなる。
この状況、すなわち付与要求応答コマンドを正常に受信できずに主制御エラー表示処理の実行中でも、主制御割込み処理(図127)は「1.12」msごとに実行され、試験信号管理(ステップS1053)において払出しカウント信号が出力される。
よって、付与要求応答コマンドを正常に受信したか否かにかかわらず、払出しカウント信号を出力するための処理が実行される。
そして、付与要求応答コマンドが正常に受信していないときは、メダル数制御CPU520は、メダル数表示部121の表示を更新しない。すなわち、メダル数表示部121の表示の更新の有無にかかわらず払出しカウント信号を出力するための処理を実行するので、情報処理の負担を軽減することができる。同様に、付与要求応答コマンドが正常に受信していないときは主制御エラー表示状態となるが、主制御エラー表示状態となっている間も払出しカウント信号を出力するための処理を実行するので、情報処理の負担を軽減することができる。
なお、払出しカウント信号の出力中(払出しカウント信号の出力が完了する前)に、ベット要求応答コマンドや精算要求応答コマンドを正常に受信せずにエラー状態となったときも、上記と同様である。ベット要求応答コマンドや精算要求応答コマンドを正常に受信したか否かにかかわらず、払出しカウント信号を出力するための処理が実行される。
払出しカウント信号を出力するための処理が開始された後、主制御メイン処理のループ処理においてベット待ち処理(図140中ステップS933、及び図142)に進み、VL信号がオフであるときは、図142のステップS966の待機状態(VL信号がオンになるまで待機するループ処理。換言すると、主制御メイン処理の進行を中断する処理。)となるが、このような待機状態となっても、主制御割込み処理が実行されるので、払出しカウント信号を出力するための処理は実行される。
なお、VL信号がオフとなって図142のステップS966に示す待機状態となったときは、ベット処理は実行できない。
<払出しカウント信号と復帰不可能エラーとの関係>
払出しカウント信号の出力中(払出しカウント信号の出力が完了する前)に、設定値エラー又は内蔵乱数エラーが発生すると(図127中、ステップS1173又はS1175で「Yes」)、復帰不可能エラーとなる(ステップS1176)。
復帰不可能エラーは、通常では起こり得ない重大なエラーである。このため、復帰不可能エラーとなったときは、異常なデータに基づく処理(入力ポート51からの入力信号に基づく主制御RWM512データの更新や、副制御基板80への制御コマンドの送信、主制御RWM512のデータに基づく出力ポート52からの信号出力に基づく制御)等を実行しない。したがって、復帰不可能エラーとなったときは、主制御割込み処理は実行されず、払出しカウント信号を出力するための処理は中止される。
払出しカウント信号のオン信号の出力中に復帰不可能エラーとなったときは、電源がオフにされない限り、試験信号の出力ポートが切り替わらないことから、払出しカウント信号は、前回の主制御割込み処理での信号状態(オン信号)が維持される。
同様に、払出しカウント信号のオフ信号の出力中に復帰不可能エラーとなったときは、電源がオフにされない限り、試験信号の出力ポートが切り替わらないことから、払出しカウント信号は、前回の主制御割込み処理での信号状態(オフ信号)が維持される。
一方、復帰不可能エラーとなったときに試験信号の出力ポートをクリアする処理を実行するのであれば、払出しカウント信号はオフ信号となる。
復帰不可能エラーが発生したときは、電源をオフし、その後、設定変更モードへの移行を伴う状態で電源がオンされると、図124中、ステップS2731に進んで初期化処理が実行される。
初期化処理が実行されると、主制御RWM512に記憶されているデータは初期化されるので、払出しカウント信号出力回数(_SC_MEDAL_OUT )及び払出しカウント信号出力時間(_ST1_OUT_CNT)のデータもクリアされる。
このように、払出しカウント信号の出力が完了する前であって、払出しカウント信号出力回数(_SC_MEDAL_OUT )及び払出しカウント信号出力時間(_ST1_OUT_CNT)の各データが「0」でないときに復帰不可能エラーが発生したときは、設定変更モードを経由して復帰すると、払出しカウント信号出力回数(_SC_MEDAL_OUT )及び払出しカウント信号出力時間(_ST1_OUT_CNT)の各データは「0」になる。このため、復帰不可能エラーの発生前の払出しカウント信号出力回数(_SC_MEDAL_OUT )及び払出しカウント信号出力時間(_ST1_OUT_CNT)の値に基づく払出しカウント信号は出力されない。
これにより、試射試験機600側では、復帰不可能エラーが発生したことを知ることができる。
ただし、電源をオンしたときに主制御RWM512にエラー(RWM異常)が発生したときは(図124中、ステップS2708で「Yes」)、復帰不可能エラーとなる(ステップS2801)。この場合には、その後、復帰不可能エラーが解消されない限り主制御割込み処理は実行されないので、払出しカウント信号は出力されない。さらに、復帰不可能エラーが解消されたときは、その前に上述したように初期化処理が実行されるので、復帰不可能エラーの発生前の払出しカウント信号出力回数(_SC_MEDAL_OUT )及び払出しカウント信号出力時間(_ST1_OUT_CNT)の値に基づく払出しカウント信号は出力されない。
払出しカウント信号の出力中(払出しカウント信号の出力が完了する前)にベット待ち処理に移行した場合において、フロントドアが開放され、かつ、設定キーがオンとなったときは、図142に示すように設定確認モードに移行する。
このように、払出しカウント信号の出力中(払出しカウント信号の出力が完了する前)に設定確認モードに移行した場合であっても、払出しカウント信号を出力するための処理は継続される。
なお、図142の例では、設定確認モード中は、投入要求ランプ79dを消灯するため、設定確認モード中に払出しカウント信号の出力が完了しても、投入要求ランプ信号は出力されない。
ただし、これに限らず、設定確認モード中に投入要求ランプ79dを点灯し続けてもよく、この場合には設定確認モードにおいて払出しカウント信号の出力完了後は投入要求ランプ信号が出力される。
また、払出しカウント信号の出力中に、規定数がベットされ、遊技開始表示ランプ79eが点灯した後、設定確認モードに移行したときは、遊技開始表示ランプ79eは消灯する。したがって、この場合に払出しカウント信号の出力が完了した後でも、スタート可能ランプ信号は出力されない。
払出しカウント信号の出力中(払出しカウント信号の出力が完了する前)に電源をオフし、設定キーをオンにした状態で電源をオンにすると、図124中、ステップS2711を経由してステップS2731に進み、設定変更開始時用の主制御RWM512の初期化処理が実行される。この初期化処理では、主制御RWM512の払出しカウント信号出力回数(_SC_MEDAL_OUT )及び払出しカウント信号出力時間(_ST1_OUT_CNT)も初期化される。
したがって、設定変更モード後に復帰すると、払出しカウント信号出力回数(_SC_MEDAL_OUT )及び払出しカウント信号出力時間(_ST1_OUT_CNT)のいずれも「0」が記憶されていることから、払出しカウント信号は出力されない。
リプレイの停止表示時の遊技では、払出し数バッファ(_BF_PAY_MEDAL )は「0」であるので、払出しカウント信号出力回数(_SC_MEDAL_OUT )は「0」であり(図150中、ステップS1322で「Yes」となり)、当該遊技に基づく払出しカウント信号は出力されない。
また、リプレイ停止表示時の遊技では、払出し数バッファ(_BF_PAY_MEDAL )は「0」であるため、図147の付与処理中、ステップS1383で「No」となるので、付与要求コマンドはメダル数制御CPU520に送信されない。これにより、メダル数表示部121は、リプレイ停止表示の遊技終了時に更新(加算)されない。
さらにまた、主制御CPU510は、遊技終了チェック処理において遊技終了コマンドをメダル数制御CPU520に送信するが(図148中、ステップS1301)、リプレイ停止表示時には、再遊技識別ビットを「1」とし、払出し数をベット数とした遊技終了コマンドを送信する(図148中、ステップS1298~S1301)。
一方、リプレイの停止表示に基づいて、メダル数制御CPU520は、ホールコン・不正監視情報の遊技情報として、当該遊技のベット数を払出し数とした情報を出力するための処理を実行する。
ここで、ホールコン・不正監視情報として、図91では示していない情報として「遊技情報」が挙げられる。
さらに、当該遊技情報の1つに「カウント情報」を有する。ここで、カウント情報は、払出し数を送信する。払出し数は、当該遊技の払出し数を指すが、再遊技作動時には、当該遊技の規定数を払出し数として送信する。
このように、再遊技作動時に、払出しカウント信号(試験信号)としては規定数を払出し数として送信することは行わない。一方、再遊技作動時に、ホールコン・不正監視情報の遊技情報として、規定数を払出し数とした情報を送信する。
よって、再遊技作動時における試験信号の出力とホールコン・不正監視情報の出力とで相違している。
なお、第9実施形態において、ホールコン・不正監視情報を含む遊技機情報通知の送信は、メダル数制御割込み処理の遊技機情報管理(図132のステップS244)で実行される。この処理は、図94の処理に相当し、図94中、ステップS275においてホールコン・不正監視情報が出力される。
図151は、払出しカウント信号及び投入要求ランプ信号の出力と、投入要求ランプの点灯処理及び点灯信号出力処理の各タイミングを示すタイムチャートである。
図151に示すように、払出しカウント信号は、オン信号とオフ信号とからなる1パルスでメダル数「1」に対応する信号となる。
図140のステップS944で入賞判定処理が実行され、払出しあり(小役が入賞した)と判断されたときは、次のステップS1245(図146)において払出しカウント信号の出力回数及び出力時間がセットされる。
払出しカウント信号出力回数は、1つのオン信号で「1」、1つのオフ信号で「1」とカウントされる。このため、メダル数「1」あたりの払出しカウント信号出力回数は「2」となり、払出しカウント信号出力回数の総数は「払出し数×2」となる。たとえば払出し数「3」の小役が入賞した場合には、払出しカウント信号出力回数は「6」となる。
風営法規則における最大払出し数は「15」であるから、払出しカウント信号の1つのオン信号又は1つのオフ信号の出力時間が「50」msの場合(所定の初期値「N」が「45D」の場合)には、払出しカウント信号出力時間は、「15×2×45×1.12(ms)=1512(ms)」となる。
同様に、最大払出し数が「15」である場合において、払出しカウント信号の1つのオン信号又は1つのオフ信号の出力時間が「5」msの場合(所定の初期値「N」が「5D」の場合)には、払出しカウント信号出力時間は、「15×2×5×1.12(ms)=168(ms)」となる。
ここで、払出しカウント信号は、全リール31の停止後、次回遊技の開始時まで(投入要求ランプ信号又はスタート可能ランプ信号をオンにするまで)に出力を完了する必要がある。換言すると、払出しカウント信号の出力期間と、投入要求ランプ信号又はスタート可能ランプ信号の出力期間とか重ならないようにする。
ここで、全リール31が停止し、払出しカウント信号が出力されている間に主制御メイン処理のループ処理が実行されると、払出しカウント信号の出力が完了する前に、図140中、ステップS931に戻る。そうすると、図141(遊技開始セット処理)中、ステップS1253において投入要求ランプ79dの点灯処理を行う必要があるが、この時点で払出しカウント信号の出力が完了していない可能性がある。
同様に、主制御メイン処理のループ処理でステップS931に戻った後、規定数がベットされたときは、遊技開始表示ランプ79eを点灯させる必要がある。
一方、前回遊技の払出しカウント信号の出力が完了した後にスタート可能ランプ信号を出力する必要がある。このため、遊技開始表示ランプ79eの点灯条件を満たした時点で、スタート可能ランプ信号を出力できない可能性がある。
このようにすることで、遊技の進行(主制御メイン処理)が遅延しないようにすることができる。
ただし、投入要求ランプ信号の出力処理やスタート可能ランプ信号の出力処理は、払出しカウント信号の出力が完了した後に実行する。払出しカウント信号と、投入要求ランプ信号やスタート可能ランプ信号との同時出力をしないためである。
具体的には、図150の試験信号管理において、ステップS1321ではスタート可能ランプ信号及び投入要求ランプ信号がセットされるが、ステップS1322において払出しカウント信号の出力回数が「0」であるか否かが判断され、「0」でないときはステップS1323に進んでステップS1321でセットしたスタート可能ランプ信号及び投入要求ランプ信号がクリアされるように構成されている。
一方、今回遊技が終了して次回遊技に進むと、図140(主制御メイン処理)のステップS932で遊技開始セット処理が実行されるが、図141に示すように、遊技開始セット処理ではステップS1253において投入要求ランプ79dの点灯処理が実行される。この点灯処理は、払出しカウント信号出力回数(_SC_MEDAL_OUT )が「0」であるか否かと無関係である。
ステップS1253においてLED表示データ(_PT_STS_LED )のD3ビットに「1」が記憶されると、その後、LED表示カウンタ1が「00000001B」である主制御割込み処理(図127)のLED表示制御(図149)のステップS1371において、LED表示データ(_PT_STS_LED )の値が取得され、投入要求ランプ79dの点灯信号が出力される。
一方、払出しカウント信号の出力中(払出カウント信号の出力が完了する前)であるか否かにかかわらず、主制御メイン処理のリープ処理の最初に戻ると、投入要求ランプ79dの点灯処理(LED表示データ(_PT_STS_LED )のD3ビットに「1」を記憶する処理)が実行される。
その後の主制御割込み処理において、LED表示カウンタ1が「00000001B」となったタイミングで、投入要求ランプ79dの点灯信号の出力処理が実行される。
よって、払出しカウント信号の出力が完了する前に投入要求ランプ79dの点灯処理及び点灯信号の出力処理が実行される場合を有する。
一方、図150に示すように、払出しカウント信号の出力中(払出カウント信号の出力が完了する前)であっても、再遊技中信号、有利区間中信号、試験用計数信号、条件装置信号、再遊技状態識別信号の出力は可能である。
払出しカウント信号の出力中(払出カウント信号の出力が完了する前)に、主制御メイン処理の最初に戻り、規定数のベット処理が実行されると、投入要求ランプ79dの消灯処理、及び遊技開始表示ランプ79eの点灯処理が実行される。その後に払出しカウント信号の出力が完了した場合には、その時点で投入要求ランプ79dは消灯しているので、投入要求ランプ信号は出力されない。また、遊技開始表示ランプ79eが点灯しているので、スタート可能ランプ信号が出力される。
投入要求ランプ79dが消灯、及び遊技開始表示ランプ79eが点灯となっている状況下では、LED表示データ(_PT_STS_LED )のD3ビットが「0」、D4ビットが「1」となり、図150のステップS1321においてこのLED表示データが読み込まれ、払出しカウント信号が「0」であるとき(ステップS1322で「Yes」のとき)は、ステップS1329において、スタート可能ランプ信号がオン(投入要求ランプ信号はオフ)である試験信号が出力される。
払出しカウント信号の出力中に、規定数がベットされると図144のステップS1283により、LED表示データ(_PT_STS_LED )のD3ビットに「0」が記憶される。
さらにスタートスイッチ41が操作されると、図145のステップS1352により、LED表示データ(_PT_STS_LED )のD4ビットに「0」が記憶される。
よって、その後に払出しカウント信号の出力が完了すると、図150のステップS1321では、投入要求ランプ信号が「0」、スタート可能ランプ信号が「0」となるので、投入要求ランプ信号はオフ信号となり(出力されず)、かつ、スタート可能ランプ信号もオフ信号となる(出力されない)。
上述したように、払出し数の最大数は「15」であり、払出しカウント信号の1つのオン信号又は1つのオフ信号の出力時間が「50」msの場合(所定の初期値「N」が「45D」の場合)を例に挙げると、払出しカウント信号の出力時間は、「15×2×45×1.12(ms)=1512(ms)」である。
一方、本実施形態において、遊技間の最短時間は、図145のステップS1357及びS1358で示したように、「4.1秒」である。
よって、本実施形態では、今回遊技の払出しカウント信号の完了前に、次回遊技の払出しカウント信号出力回数が記憶されることはない。
しかし、たとえば遊技間の最短時間が「4.1秒」よりも短い仕様が可能であるときや、払出しカウント信号の1回のオン信号又はオフ信号の時間が「50」msよりもさらに長く設定した場合や、処理が意図しない挙動をして、払出しカウント信号を管理する主制御RWM512(たとえば、払出しカウント信号出力回数(_SC_MEDAL_OUT )や払出しカウント信号出力時間(_ST1_OUT_CNT)))の更新が正常のタイミングで行われなかった場合には、今回遊技の払出しカウント信号の出力が完了する前に、次回遊技の払出しカウント信号出力回数が記憶される可能性を有する。
仮に、このような場合が生じたときは、それまでの払出しカウント信号出力回数に、新たな払出しカウント信号出力回数を上書きする。これにより、払出しカウント信号出力回数が加算されてしまい、払出し数が「15」を超えてしまうことがないようにすることができる。換言すると、「15」を超える払出しカウント信号が出力されないようにし、試験機関側が疑念を抱いてしまうことがないようにすることができる。
なお、払出しカウント信号の出力中に電源断が生じたときは、払出しカウント信号出力回数(_SC_MEDAL_OUT )はバックアップされ、次の電源投入時に、バックアップされた払出しカウント信号出力回数(_SC_MEDAL_OUT )が記憶される。よって、次の電源投入後は、出力されていない払出しカウント信号を出力することができる。換言すると、電源断の前後合わせて、正しい回数の払出しカウント信号を出力することができる。
この場合の払出しカウント信号の出力時間は、「15×2×5×1.12(ms)=168(ms)」である。
一方、本実施形態における遊技間の最短時間は、上述したように「4.1秒」である。
よって、本実施形態では、今回遊技の払出しカウント信号の完了前に、次回遊技の払出しカウント信号出力回数が記憶されることはない。
しかし、たとえば遊技間の最短時間が「4.1秒」よりも短い仕様が可能であるときや、処理が意図しない挙動をして、払出しカウント信号を管理する主制御RWM512(たとえば、払出しカウント信号出力回数(_SC_MEDAL_OUT )や払出しカウント信号出力時間(_ST1_OUT_CNT)))の更新が正常のタイミングで行われなかった場合には、今回遊技の払出しカウント信号の出力が完了する前に、次回遊技の払出しカウント信号出力回数が記憶される可能性を有する。
仮に、このような場合が生じたときは、それまでの払出しカウント信号出力回数に、新たな払出しカウント信号出力回数を上書きする。これにより、払出しカウント信号出力回数が加算されてしまい、払出し数が「15」を超えてしまうことがないようにすることができる。換言すると、「15」を超える払出しカウント信号が出力されないようにし、試験機関側が疑念を抱いてしまうことがないようにすることができる。
なお、払出しカウント信号の出力中(払出しカウント信号の出力が完了する前)に電源断が生じたときは、払出しカウント信号出力回数(_SC_MEDAL_OUT )はバックアップされ、次の電源投入時に、バックアップされた払出しカウント信号出力回数(_SC_MEDAL_OUT )が記憶される。よって、次の電源投入後は、出力されていない払出しカウント信号を出力することができる。換言すると、電源断の前後合わせて、正しい回数の払出しカウント信号を出力することができる。
(1)第9実施形態では説明を省略したが、メダル数制御RWM522の使用領域にLED表示カウンタ2(5回のメダル数制御割込み処理で一巡するカウンタ)を設けており、メダル数表示部121(5桁のLED)のダイナミック点灯をメダル数制御割込み処理で実行している(図132のステップS1147)。
また、メダル数制御RWM522の使用領域外にLED表示カウンタ3(4回のメダル数制御割込み処理で一巡するカウンタ)を設けており、役比モニタ113(4桁のLED)のダイナミック点灯をメダル数制御割込み処理で実行している(図132のステップS1149)。
たとえば、1回のLED表示制御において、下記a)~c)のすべてを実行することも可能である。
a)獲得数上位桁データを取得し、当該データに対応するセグメントデータを取得し、獲得数表示部78の上位桁のデジット信号を出力ポート3から出力し、かつ、獲得数表示部78の上位桁のセグメント信号を出力ポート4から出力する。
b)獲得数下位桁データを取得し、当該データに対応するセグメントデータを取得し、獲得数表示部78の下位桁のデジット信号を出力ポート3から出力し、かつ、獲得数表示部78の下位桁のセグメント信号を出力ポート4から出力する。
c)LED表示データ(_PT_STS_LED )を取得し、当該データに対応するセグメントデータを取得し、状態表示ランプ79のデジット信号を出力ポート3から出力し、かつ、状態表示ランプ79のセグメント信号を出力ポート4から出力する。
このように構成すれば、LED表示カウンタ1を設ける必要がないので、主制御RWM512の容量を節約することができ、かつ、LED表示カウンタ1の更新処理や初期処理を設ける必要がないので、主制御割込み処理の簡素化及び高速化を図ることができる。
また、ベット有りの状況下でも設定確認モードに移行可能としてもよい。この場合に、規定数未満がベットされている状況(投入要求ランプ79dが点灯している状況)において設定確認モードに移行したときは、投入要求ランプ79dを消灯してもよく、消灯しなくてもよい。
さらにまた、ベット有りの状況下でも設定確認モードに移行可能な場合に、規定数がベットされており、遊技開始表示ランプ79eが点灯している状況において設定確認モードに移行したときは、遊技開始表示ランプ79eを消灯する処理を実行する。この場合には、ステップS1261において遊技開始表示ランプ79eの消灯処理(LED表示データ(_PT_STS_LED )のD4ビットを「0」にする処理)を実行し、ステップS1262において遊技開始表示ランプ79eの点灯処理(前記D4ビットを「1」にする処理)を実行すればよい。
(4)払出しカウント信号の出力中に復帰不可能エラー状態となった場合には、一律に、払出しカウント信号をオンにする処理を実行してもよい。
あるいは、払出しカウント信号の出力中に復帰不可能エラー状態となった場合には、一律に、払出しカウント信号をオフにする処理を実行してもよい。
さらにまた、規定数は1つに限らず、複数設けてもよい。たとえば通常遊技における規定数を「1」、「2」、又は「3」とし、いずれの規定数であっても遊技を開始可能としてもよい。
ここで、複数種類の規定数を有する場合において、規定数の最大数(上記例では「3」)を「最大規定数」と称するとき、
a)ベット数が最大規定数でない場合には、投入要求ランプ79dを点灯させる。ただし、ベット数が最大規定数でない場合でも遊技を開始可能であるので、遊技開始表示ランプ79eも点灯させる。
b)ベット数が最大規定数でない場合には、投入要求ランプ79dを点灯させる。一方、遊技者に対して最大規定数の投入を促す意味で、遊技自体は開始可能であるものの遊技開始表示ランプ79eを消灯する。
c)ベット数が最大規定数でない場合でも、遊技自体は開始可能であるので遊技開始表示ランプ79eを点灯させる。一方、遊技開始表示ランプ79eを点灯させたときは投入要求ランプ79dを消灯する。
のいずれであってもよい。
上記例は、払出しカウント信号の出力中であるか否かにかかわらない。
これに対し、払出しカウント信号の出力中は、投入要求ランプ信号及びスタート可能ランプ信号は出力しない。
払出しカウント信号の出力完了後において、上記a)~c)のいずれの例でも、最大規定数とするためにメダルを追加投入可能であり、かつ、最大規定数でない場合も遊技を開始可能であることから、投入要求ランプ信号及びスタート可能ランプ信号との双方を出力する。この場合には、図150の試験信号管理において、して1329では、D3ビット(投入要求ランプ信号)及びD4ビット(スタート可能ランプ信号)がいずれも「1」である試験信号が出力される。
換言すると、「投入」を「ベット」と称してもよく、あるいは、「ベット」を「投入」と称してもよい。
さらには、「要求」を「表示」と称してもよい。これにより、「投入表示ランプ」、「ベット表示ランプ」、「投入表示ランプ信号」、「ベット表示ランプ信号」と称することも可能である。
なお、「投入要求ランプ79d」は「インサートランプ79d」とも称される。このため、「投入要求ランプ信号」を「インサートランプ信号」と称してもよい。
また、「規定数」とは、当該遊技で遊技を開始(実行)可能なベット数をいうが、「規定数」を「ベット数」又は「投入数」と称してもよい。
ただし、「遊技媒体(電子メダル)の投入」は、メダルを投げ入れることを意味するものではなく、遊技媒体(電子メダル)をベットする(今回遊技のために賭ける)ことを指す。
(7)第9実施形態では「遊技開始表示ランプ79e」と称し、遊技開始表示ランプ79eに対応する試験信号を「スタート可能ランプ信号」と称した。
ただし、これに限らず、「遊技開始表示ランプ79e」を「スタート可能ランプ79e」と称してもよい。一方、「スタート可能ランプ信号」を「遊技開始表示ランプ信号」と称してもよい。
一方、「払出し数バッファ」を「付与数バッファ」と称し、「払出しカウント信号」を「付与カウント信号」と称し、「払出しカウント信号出力時間」を「付与カウント信号出力時間」と称し、「払出しカウント信号出力回数」を「付与カウント信号出力回数」と称してもよい。
換言すると、「付与」を「払出し」と称してもよく、あるいは、「払出し」を「付与」と称してもよい。
ただし、「遊技媒体(電子メダル)の払出し」は、メダルを払い出すことを意味するものではなく、今回遊技の遊技媒体(電子メダル)の付与数(払出し数)をメダル数制御RWM522の総メダル数に加算すること(さらには、メダル数表示部121の表示を更新すること)を意味する。
そして、上記エラーに限らず、払出しカウント信号を出力するめの処理の実行中に復帰可能エラーとなったときは、総じて、払出しカウント信号を出力するめの処理を継続可能としてもよい。
たとえば遊技機10のフロントドアを開放するとドア開放エラー(復帰可能エラー)となるが、ドア開放エラー中も払出しカウント信号を出力するめの処理を実行可能とする。
なお、有体物としてのメダルを用いる遊技機の場合に、復帰可能エラーとなったときは、ホッパーの駆動を停止するため、復帰可能エラー中にメダル払出しカウント信号を出力するための処理は実行しない。
これに対し、本発明のようなスマート遊技機の場合は、ホッパーを有さないので、復帰可能エラー中であってもメダル払出しカウント信号を出力するための処理を継続可能とする。
そして、1ベットスイッチ40aの操作が有効であるときは1ベットランプが点灯し、1ベットスイッチ40aの操作が不可能であるときは1ベットランプが消灯する。
同様に、3ベットスイッチ40bの操作が有効であるときは3ベットランプが点灯し、3ベットスイッチ40bの操作が不可能であるときは3ベットランプが消灯する。
上記のようなベットランプを備える場合において、投入要求ランプ79dが点灯しているときは、1ベットランプ又は3ベットランプの少なくとも一方を点灯可能とする。
一方、投入要求ランプ79dが消灯しているときは、1ベットランプ及び3ベットランプの双方を消灯する。
なお、ベットランプの点灯/消灯は、主制御側又は副制御側のいずれで実行してもよい。
(11)遊技機10の電源が投入された後、VL信号のオンを未だ検知していないとき(VL信号のオフを検知しているとき)は、画像表示装置23にたとえば「接続準備中」のような画像表示を実行可能とする。そして、この状況下では、エラー(警告)音を出力しない。その後、VL信号のオンを検知したときは、当該画像表示を終了可能とし、遊技に関する画面を表示する。ここで「遊技に関する画面」とは、たとえば遊技待機画面、ベット待ち画面、遊技情報(たとえばベット数)を表示する画面、特定遊技中(特別遊技状態やAT中)に電源断が発生した場合には電源断発生前の特定遊技中画面等、正常時の画面である(以下同じ)。
一方、遊技機10の電源が投入された後、VL信号のオンを検知し、その後、VL信号のオフを検知したときは、遊技に関する画面の表示から、たとえば「接続異常」のような画像表示を実行可能とする。さらに、この状況下では、エラー(警告)音を出力可能とする。
その後、VL信号のオンを検知したときは、当該画像表示及びエラー(警告)音を終了し、遊技に関する画面の表示に復帰する。「接続異常」の画像表示及びエラー(警告)音の終了処理は、自動で行ってもよく、あるいは何らかの操作(たとえばリセットスイッチ14の操作)によって行ってもよい。
VL信号のオン/オフを検知するのは主制御基板50である。主制御基板50は、VL信号のオン/オフを検知したときは、副制御基板80に、VL信号のオン/オフを示すコマンドを送信する。副制御基板80は、当該コマンドを受信したときは、当該コマンドを受信したときの状況に応じて上記のような報知制御を実行する。
本願の当初明細書等に記載した発明(当初発明)は、たとえば以下の当初発明1~13を挙げることができる。ただし、本明細書に記載した発明は、当初発明1~13に限ることを意味するものではない。
1.当初発明1
従来技術において、払出しカウント信号の出力が完了した後、投入要求ランプ信号を出力することが知られている(特開2023-045428号公報)。
しかし、払出しカウント信号の出力が完了するまでに時間を要すると、次回遊技をスムーズに進行できないという問題がある。
なお、払出しカウント信号のパルス時間を短くしてしまうと、試射試験機側で正確に受信できなくなるおそれがある。
本発明が解決しようとする課題は、払出しカウント信号の十分なパルス時間を確保しつつ、遊技の進行をスムーズに行うことである。
当初発明1は、
遊技媒体(電子メダル)をベット可能であるか否かを示す投入要求ランプ(79d)を備え、
試験信号として、遊技媒体をベット可能であるか否かを示す投入要求ランプ信号を出力するための処理(図150中、ステップS1321、S1329)を実行可能とし、
試験信号として、遊技媒体の付与数(払出し数)に対応した付与カウント信号(払出しカウント信号)を出力するための処理(図150中、ステップS1322、S1323、S1336~S1342)を実行可能とし、
試験信号として、付与カウント信号を出力するための処理を実行している状況下であっても、投入要求ランプを点灯可能とし(図151)、
試験信号として、付与カウント信号を出力するための処理を実行している状況下では、投入要求ランプ信号を出力するための処理を実行しない(図151)
ことを特徴とする。
当初発明1によれば、試験信号の出力によって遊技の進行を遅延させないことが可能となる。
当初発明2は、
遊技媒体(電子メダル)をベット可能であるか否かを示す投入要求ランプ(79d)を備え、
試験信号として、遊技媒体をベット可能であるか否かを示す投入要求ランプ信号を出力するための処理(図150中、ステップS1321、S1329)を実行可能とし、
試験信号として、遊技媒体の付与数(払出し数)に対応した付与カウント信号(払出しカウント信号)を出力するための処理(図150中、ステップS1322、S1323、S1336~S1342)を実行可能とし、
試験信号として、付与カウント信号を出力するための処理を実行している状況下であっても、投入要求ランプを点灯可能とし(図151)、
試験信号として、付与カウント信号を出力するための処理を実行している状況下では、投入要求ランプ信号を出力するための処理を実行せず(図151)、
所定数(規定数(実施形態では「3」)又は最大規定数)の遊技媒体がベットされたときに投入要求ランプの消灯処理(図144中、ステップS1283)を実行可能とし、
付与カウント信号を出力するための処理を実行している状況下において所定数の遊技媒体がベットされることにより投入要求ランプの消灯処理が実行されたときは、付与カウント信号を出力するための処理を終了した後に、投入要求ランプ信号を出力するための処理を実行しない(図152)
ことを特徴とする。
当初発明2によれば、試験信号の出力によって遊技の進行を遅延させないようにすることができる。また、遊技の進行に即した試験信号の出力処理を実行可能となる。
当初発明3は、
遊技媒体(電子メダル)をベット可能であるか否かを示す投入要求ランプ(79d)を備え、
試験信号として、遊技媒体をベット可能であるか否かを示す投入要求ランプ信号を出力するための処理(図150中、ステップS1321、S1329)を実行可能とし、
試験信号として、遊技媒体の付与数(払出し数)に対応した付与カウント信号(払出しカウント信号)を出力するための処理(図150中、ステップS1322、S1323、S1336~S1342)を実行可能とし、
試験信号として、付与カウント信号を出力するための処理を実行している状況下であっても、投入要求ランプを点灯可能とし(図151)、
試験信号として、付与カウント信号を出力するための処理を実行している状況下では、投入要求ランプ信号を出力するための処理を実行せず(図151)、
規定数(規定数(実施形態では「3」)又は最大規定数)の遊技媒体がベットされ、遊技を開始可能であるか否かを示す遊技開始表示ランプ(79e)を備え、
試験信号として、遊技を開始可能であるか否かを示すスタート可能ランプ信号を出力するための処理(図150中、ステップS1321、S1329)を実行可能とし、
付与カウント信号を出力するための処理を実行している状況下において規定数の遊技媒体がベットされ、かつ、スタートスイッチ(41)が操作されたときは、付与カウント信号を出力するための処理を終了した後に、投入要求ランプ信号を出力するための処理を実行せず、かつ、スタート可能ランプ信号を出力するための処理を実行しない(図153)
ことを特徴とする。
当初発明3によれば、試験信号の出力によって遊技の進行を遅延させないようにすることができる。また、遊技の進行に即した試験信号の出力処理を実行可能となる。
当初発明4は、
試験信号として、遊技媒体(電子メダル)の付与数(払出し数)に対応した付与カウント信号(払出しカウント信号)を出力するための処理(図150中、ステップS1322、S1323、S1336~S1342)を実行可能とし、
或る遊技において、遊技媒体の付与数に対応した付与カウント信号を出力するための処理を実行している状況下で、前記或る遊技の次回遊技が開始され、前記次回遊技の遊技媒体の付与数が決定された場合には、その後、前記或る遊技の遊技媒体の付与数に対応した付与カウント信号を出力するための処理を実行せず、前記次回遊技における遊技媒体の付与数に対応した付与カウント信号を出力するための処理を実行可能とする(図154)
ことを特徴とする。
当初発明4によれば、払出しカウント信号が、上限遊技媒体数(「15」)を超えないようにすることが可能となる。
当初発明5は、
試験信号として、遊技媒体(電子メダル)の付与数(払出し数)に対応した付与カウント信号(払出しカウント信号)を出力するための処理(図150中、ステップS1322、S1323、S1336~S1342)を実行可能とし、
付与カウント信号の出力回数に関する値を記憶可能な第1記憶手段(払出しカウント信号出力回数(_SC_MEDAL_OUT ))と、
付与カウント信号の出力時間に関する値を記憶可能な第2記憶手段(払出しカウント信号出力時間(_ST1_OUT_CNT))とを備え、
第2記憶手段に記憶された値に応じて第1記憶手段に記憶された値を更新可能とし(図150中、ステップS1336~S1338)、
遊技媒体をベット可能であるか否かを示す投入要求ランプ(79d)を備え、
投入要求ランプの点灯情報を記憶可能な第3記憶手段(LED表示データ(_PT_STS_LED )のD3ビット)を備え、
試験信号として、遊技媒体をベット可能であるか否かを示す投入要求ランプ信号を出力するための処理(図150中、ステップS1321、S1329)を実行可能とし、
第1記憶手段に記憶された値が「0」であり、第3記憶手段に投入要求ランプの点灯に対応する値が記憶されている場合には、投入要求ランプ信号を出力するための処理を実行可能とし(図150中、ステップS1321、S1322、ステップS1329)、
第1記憶手段に記憶された値が「0」であり、第3記憶手段に投入要求ランプの消灯に対応する値が記憶されている場合には、投入要求ランプ信号を出力するための処理を実行せず(図150中、ステップS1321、S1322、ステップS1329)、
第1記憶手段に記憶されている値に応じて、付与カウント信号としてオンを示す信号又はオフを示す信号を出力可能とする(図150中、ステップS1339~S1342)
ことを特徴とする。
当初発明5によれば、第1記憶手段に記憶された値に応じて、投入要求ランプ信号を出力するか否かを判断可能であるので、処理負担の軽減が可能となる。
当初発明6は、
主制御手段(主制御CPU510、又は主制御CPU510を含む1チップマイクロプロセッサ)と遊技媒体数制御手段(メダル数制御CPU520、又はメダル数制御CPU520を含む1チップマイクロプロセッサ)とを備え、
主制御手段は、遊技媒体(電子メダル)の付与数(払出し数)が決定したときは、遊技媒体数制御手段に対し、付与数コマンド(付与要求コマンド)を送信可能とし(図147中、ステップS1384及びS1385)、
遊技媒体数制御手段は、主制御手段から付与数コマンドを受信したときは、付与数コマンドに対応する付与数応答コマンド(付与要求応答コマンド)を主制御手段に送信可能とし(図120中、ステップS1128)、
主制御手段は、遊技媒体数制御手段から付与数応答コマンドを受信したか否かにかかわらず、試験信号として、遊技媒体の付与数に対応した付与カウント信号を出力するための処理を実行可能とする
ことを特徴とする。
当初発明6によれば、たとえば、付与数応答コマンドを受信せずにエラー状態等となり、主制御手段における付与処理ができない場合であっても、試験信号の出力を中断等することなく、付与カウント信号を出力することが可能となる。
当初発明7は、
主制御手段(主制御CPU510、又は主制御CPU510を含む1チップマイクロプロセッサ)を備え、
主制御手段は、所定のエラー(復帰可能エラー)を検出すると所定のエラー状態(図126の主制御エラー表示処理)に移行可能とし、
主制御手段は、所定のエラー状態において所定のエラー解除操作が行われたと判断したとき(図126中、ステップS1169で「Yes」と判断したとき)は、所定のエラー状態を解除可能とし、
主制御手段は、所定のエラー状態であっても、試験信号として、遊技媒体(電子メダル)の付与数(払出し数)に対応した付与カウント信号を出力するための処理を実行可能とする
ことを特徴とする。
当初発明7によれば、所定のエラー状態となっても試験信号の出力を制限しないので、処理負担の軽減が可能となる。
当初発明8は、
主制御手段(主制御CPU510、又は主制御CPU510を含む1チップマイクロプロセッサ)と遊技媒体数制御手段(メダル数制御CPU520、又はメダル数制御CPU520を含む1チップマイクロプロセッサ)とを備え、
遊技媒体制御手段と貸出しユニットとが通信可能な第1の状況(VLオンの状況)と、遊技媒体制御手段と貸出しユニットとが通信不可能な第2の状況(VLオフの状況)とを有し、
主制御手段は、試験信号として、遊技媒体(電子メダル)の付与数(払出し数)に対応した付与カウント信号(払出しカウント信号)を出力するための処理(図150中、ステップS1322、S1323、S1336~S1342)を実行可能とし、
主制御手段は、付与カウント信号を出力するための処理を実行している状況下であって遊技媒体をベット可能な状況において、第2の状況となったときは、遊技媒体のベット処理を実行せず(図142中、ステップS966で「Yes」となったときは、ベット処理に移行せず)、
主制御手段は、付与カウント信号を出力するための処理を実行している状況下であって遊技媒体をベット可能な状況において、第2の状況となったときであっても、付与カウント信号を出力するための処理を実行可能とする
ことを特徴とする。
当初発明8によれば、第2の状況となっても試験信号の出力を制限しないので、処理負担の軽減が可能となる。
当初発明9は、
主制御手段(主制御CPU510、又は主制御CPU510を含む1チップマイクロプロセッサ)を備え、
主制御手段は、試験信号として、遊技媒体(電子メダル)の付与数(払出し数)に対応した付与カウント信号(払出しカウント信号)を出力するための処理(図150中、ステップS1322、S1323、S1336~S1342)を実行可能とし、
主制御手段は、特定のエラー(復帰不可能エラー)を検知可能とし、
主制御手段は、試験信号として、遊技媒体の付与数に対応した付与カウント信号を出力している状況下で特定のエラーを検知したとき(図127中、ステップS1173又はS1175で「Yes」となったとき)は、特定のエラー状態(図127中、ステップS1176)に移行可能とし、
主制御手段は、付与カウント信号としてオンを示す信号を出力するための処理を実行しているときは、特定のエラー状態であっても付与カウント信号としてオンを示す信号を出力するための処理を実行可能とし、
主制御手段は、付与カウント信号としてオフを示す信号を出力するための処理を実行しているときは、特定のエラー状態であっても付与カウント信号としてオフを示す信号を出力するための処理を実行可能とする
ことを特徴とする。
当初発明9によれば、試射試験機側で、特定のエラーとなったことを知ることが可能となる。
当初発明10は、
主制御手段(主制御CPU510、又は主制御CPU510を含む1チップマイクロプロセッサ)を備え、
主制御手段は、試験信号として、遊技媒体(電子メダル)の付与数(払出し数)に対応した付与カウント信号(払出しカウント信号)を出力するための処理(図150中、ステップS1322、S1323、S1336~S1342)を実行可能とし、
主制御手段は、遊技媒体の付与処理(払出し処理)を終了した後に設定確認モードへの移行条件を満たした場合(図142中、ステップS962で「Yes」の場合)には設定確認モード(図142中、ステップS1261~S1262の処理)に移行可能とし、
主制御手段は、設定確認モードに移行した場合であっても、試験信号として、遊技媒体の付与数に対応した付与カウント信号を出力するための処理を実行可能とする
ことを特徴とする。
当初発明10によれば、設定確認モード中であっても試験信号の出力を制限しないので、処理負担の軽減が可能となる。
当初発明11は、
主制御手段(主制御CPU510、又は主制御CPU510を含む1チップマイクロプロセッサ)を備え、
主制御手段は、試験信号として、遊技媒体(電子メダル)の付与数(払出し数)に対応した付与カウント信号(払出しカウント信号)を出力するための処理(図150中、ステップS1322、S1323、S1336~S1342)を実行可能とし、
主制御手段は、付与カウント信号を出力するための処理を実行している状況下で電源断を検知したとき(図127中、ステップS1043で「Yes」のとき)は電源断処理(図127中、ステップS1044)を実行可能とし、
主制御手段は、電源断からの復帰時に設定変更モードへの移行条件を満たしたときは、付与カウント信号を出力するための処理を実行しない(図124中、ステップS2731の初期化処理により、払出しカウント信号出力時間(_ST1_OUT_CNT)及び払出しカウント信号出力回数(_SC_MEDAL_OUT )を初期化する)
ことを特徴とする。
当初発明11によれば、設定変更モードに移行し、設定変更モードに移行する前のデータとともに、払出しカウント信号に関するデータもクリアされる。
当初発明12は、
主制御手段(主制御CPU510、又は主制御CPU510を含む1チップマイクロプロセッサ)と遊技媒体数制御手段(メダル数制御CPU520、又はメダル数制御CPU520を含む1チップマイクロプロセッサ)とを備え、
主制御手段は、試験信号として、遊技媒体(電子メダル)の付与数(払出し数)に対応した付与カウント信号(払出しカウント信号)を出力するための処理(図150中、ステップS1322、S1323、S1336~S1342)を実行可能とし、
主制御手段は、リプレイに対応する図柄組合せが停止表示した場合には、付与カウント信号を出力するための処理を実行せず(図146のステップS1313において払出しカウント信号出力回数(_SC_MEDAL_OUT )に「0」が保存されるので、図150中、払出しカウント信号はセットされない)、
遊技媒体数制御手段は、リプレイに対応する図柄組合せが停止表示した場合には、リプレイに対応する図柄組合せが停止表示した遊技における遊技媒体のベット数を付与数とした情報(ホールコン・不正監視情報)を貸出しユニット(200)に出力するための処理(図94中、ステップS275)を実行可能とする
ことを特徴とする。
当初発明12によれば、リプレイの停止表示時に、試射試験機には付与数「0」の情報が送信され、貸出しユニットにはベット数を付与数とした情報が送信される。これにより、試射試験機とホールコンピュータ等とで、それぞれに合った出玉率を算出可能となる。
当初発明13は、
主制御手段(主制御CPU510、又は主制御CPU510を含む1チップマイクロプロセッサ)と遊技媒体数制御手段(メダル数制御CPU520、又はメダル数制御CPU520を含む1チップマイクロプロセッサ)とを備え、
主制御手段は、遊技媒体(電子メダル)の付与(払出し)を伴う図柄組合せが停止表示した場合には、遊技媒体数制御手段に対し、付与数コマンド(付与要求コマンド)を送信可能とし(図147中、ステップS1384及びS1385)、
遊技媒体数制御手段は、主制御手段から付与数コマンドを受信した場合には、遊技媒体数表示装置(メダル数表示部121)の更新(図132中、ステップS1147)を実行可能とし、
主制御手段は、リプレイに対応する図柄組合せが停止表示した場合には、遊技媒体数制御手段に対し、付与数コマンドを送信せず(図147中、ステップS1383で「No」)、
主制御手段は、リプレイに対応する図柄組合せが停止表示した場合には、遊技媒体数制御手段に対し、リプレイに対応する図柄組合せが停止表示した遊技における遊技媒体のベット数のコマンドを送信可能とし(図148中、ステップS1298~S1302)、
主制御手段は、リプレイに対応する図柄組合せが停止表示した場合には、試験信号として、遊技媒体の付与数に対応した付与カウント信号(払出しカウント信号)を出力するための処理を実行せず(図146のステップS1313において払出しカウント信号出力回数(_SC_MEDAL_OUT )に「0」が保存されるので、図150中、払出しカウント信号はセットされない)、
遊技媒体数制御手段は、リプレイに対応する図柄組合せが停止表示した場合には、リプレイに対応する図柄組合せが停止表示した遊技における遊技媒体のベット数を付与数とした情報(ホールコン・不正監視情報)を貸出しユニット(200)に出力するための処理(図94中、ステップS275)を実行可能とする
ことを特徴とする。
当初発明13によれば、リプレイの停止表示時に、遊技媒体数制御手段、試射試験機、貸出しユニット(ホールコンピュータ)にそれぞれ適切なデータを出力可能となる。
これにより、試射試験機とホールコンピュータとで、それぞれに合った出玉率を算出可能となる。
11 電源スイッチ
12 設定キースイッチ
13 設定スイッチ
14 リセットスイッチ
21 演出ランプ
22 スピーカ
23 画像表示装置
31 リール
32 モータ
33 リールセンサ
40a 1ベットスイッチ
40b 3ベットスイッチ
41 スタートスイッチ
42 ストップスイッチ
46 キャンセルスイッチ、精算スイッチ
47 計数スイッチ
50 メイン制御基板(メイン制御手段)、主制御基板(主制御手段)
51 入力ポート
52 出力ポート
53 (第1主制御)RWM
53a ベット数記憶手段
53b 付与数記憶手段
54 (第1主制御)ROM
55 メインCPU、(第1主制御)CPU
61 役抽選手段
62 当選フラグ制御手段
65 リール制御手段
66 入賞判定手段
67 付与手段
73 設定値表示手段
76 クレジット数表示LED
77 ベット数表示部
78 獲得数表示LED、付与数表示部
80 サブ制御基板(サブ制御手段)、副制御基板(副制御手段)
80a 1チップマイクロプロセッサ
81 入力ポート
82 出力ポート
83 (副制御)RWM
84 (副制御)ROM
85 サブCPU、(副制御)CPU
91 演出出力制御手段
100 払出制御基板(クレジット数管理基板)、遊技媒体数制御基板
101 入力ポート
102 出力ポート
103 (第2主制御)RWM
103a 遊技媒体数記憶手段
104 (第2主制御)ROM
105 クレジット数管理CPU、(第2主制御)CPU
106 コンデンサ
107 コンデンサA
108 コンデンサB
111 クレジット数管理手段
112 総遊技媒体数(総メダル数)クリアスイッチ
113 役比モニタ
120 遊技媒体数(メダル数)表示基板(遊技媒体数表示装置)
121 遊技媒体数(メダル数)表示部
130 接続端子板
150 電源基板
151 コンデンサ
161 ハーネスA
162 ハーネスB
163 ハーネスC
164 ハーネスD
165 ハーネスE
166 ハーネスF
167 ハーネスG
168 ハーネスH
190 外部集中端子板
200 管理装置(CRユニット)、貸出ユニット(専用ユニット)
201 紙幣投入口
202 貸出スイッチ
203 返却スイッチ
204 度数表示部(貸出可能遊技媒体数(メダル数)表示部)
205 カードリーダライタ
206 貸出可能遊技媒体数(メダル数)記憶手段
300 ホールコンピュータ
400 管理コンピュータ
500 1チップマイクロプロセッサ
501 主CPU
502 主制御ROM
503 主制御RWM
504 遊技媒体数制御ROM
505 遊技媒体数制御RWM
506 使用領域外ROM
507 使用領域外RWM
510 主制御CPU(主制御手段)
511 主制御ROM
512 主制御RWM
520 メダル数制御CPU(メダル数制御手段)
521 メダル数制御ROM
522 メダル数制御RWM
600 試射試験機
601 インターフェースボード
602 インターフェースボード
Claims (1)
- 遊技媒体をベット可能であるか否かを示すベット要求ランプを有し、
試験信号に関する処理として、遊技媒体をベット可能であるか否かを示すベット要求ランプ信号を出力するための処理を実行可能とし、
試験信号に関する処理として、遊技媒体の付与数に対応した付与カウント信号を出力するための処理を実行可能とし、
付与カウント信号を出力するための処理を実行している状況下であっても、ベット要求ランプを点灯可能とし、
付与カウント信号を出力するための処理を実行している状況下では、ベット要求ランプ信号を出力するための処理を実行せず、
付与カウント信号を出力するための処理を実行している状況下で、遊技機と貸出しユニットとの接続がなされなくなっても、付与カウント信号を出力するための処理を実行可能とする
ことを特徴とする遊技機。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2023096132A JP7744589B2 (ja) | 2023-06-12 | 2023-06-12 | 遊技機 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2023096132A JP7744589B2 (ja) | 2023-06-12 | 2023-06-12 | 遊技機 |
Publications (3)
| Publication Number | Publication Date |
|---|---|
| JP2024177793A JP2024177793A (ja) | 2024-12-24 |
| JP2024177793A5 JP2024177793A5 (ja) | 2025-02-28 |
| JP7744589B2 true JP7744589B2 (ja) | 2025-09-26 |
Family
ID=93933431
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2023096132A Active JP7744589B2 (ja) | 2023-06-12 | 2023-06-12 | 遊技機 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP7744589B2 (ja) |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2006034571A (ja) | 2004-07-27 | 2006-02-09 | Sankyo Kk | 遊技機 |
| JP2017000375A (ja) | 2015-06-09 | 2017-01-05 | サミー株式会社 | 遊技機 |
| JP2019013692A (ja) | 2017-07-10 | 2019-01-31 | サミー株式会社 | 回胴式遊技機 |
| JP2023045428A (ja) | 2021-09-22 | 2023-04-03 | 株式会社平和 | 遊技機 |
-
2023
- 2023-06-12 JP JP2023096132A patent/JP7744589B2/ja active Active
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2006034571A (ja) | 2004-07-27 | 2006-02-09 | Sankyo Kk | 遊技機 |
| JP2017000375A (ja) | 2015-06-09 | 2017-01-05 | サミー株式会社 | 遊技機 |
| JP2019013692A (ja) | 2017-07-10 | 2019-01-31 | サミー株式会社 | 回胴式遊技機 |
| JP2023045428A (ja) | 2021-09-22 | 2023-04-03 | 株式会社平和 | 遊技機 |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2024177793A (ja) | 2024-12-24 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP7769236B2 (ja) | 遊技機 | |
| JP7744589B2 (ja) | 遊技機 | |
| JP7744592B2 (ja) | 遊技機 | |
| JP7744590B2 (ja) | 遊技機 | |
| JP7744593B2 (ja) | 遊技機 | |
| JP7744591B2 (ja) | 遊技機 | |
| JP7769234B2 (ja) | 遊技機 | |
| JP7769235B2 (ja) | 遊技機 | |
| JP7799200B2 (ja) | 遊技機 | |
| JP7799199B2 (ja) | 遊技機 | |
| JP7780098B2 (ja) | 遊技機 | |
| JP7791445B2 (ja) | 遊技機 | |
| JP7799201B2 (ja) | 遊技機 | |
| JP7799202B2 (ja) | 遊技機 | |
| JP7780099B2 (ja) | 遊技機 | |
| JP2024177803A (ja) | 遊技機 | |
| JP2024177804A (ja) | 遊技機 | |
| JP2024177801A (ja) | 遊技機 | |
| JP2024177800A (ja) | 遊技機 | |
| JP2024177805A (ja) | 遊技機 | |
| JP2024177799A (ja) | 遊技機 | |
| JP2024177802A (ja) | 遊技機 | |
| JP2024177798A (ja) | 遊技機 | |
| JP2024112162A (ja) | 遊技機 | |
| JP2024112166A (ja) | 遊技機 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20250219 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20250305 |
|
| A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20250307 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20250711 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20250812 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20250825 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7744589 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |