JP7883136B2 - 遊技機 - Google Patents
遊技機Info
- Publication number
- JP7883136B2 JP7883136B2 JP2023017048A JP2023017048A JP7883136B2 JP 7883136 B2 JP7883136 B2 JP 7883136B2 JP 2023017048 A JP2023017048 A JP 2023017048A JP 2023017048 A JP2023017048 A JP 2023017048A JP 7883136 B2 JP7883136 B2 JP 7883136B2
- Authority
- JP
- Japan
- Prior art keywords
- control board
- command
- main control
- game
- management device
- 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
本発明は、
遊技履歴を表示可能な所定の表示装置(役比モニタ113)を有し、
遊技機(10)の電源がオンとなり、貸出しユニット(200)との接続を所定期間確認した後(図93中、ステップS240で「Yes」)に、貸出しユニットと接続していることを示す情報(接続済みフラグがオンである情報)を記憶可能とし(図93中、ステップS241)、
貸出しユニットと接続していることを示す情報が記憶された後(図94中、ステップS261で「Yes」)に、遊技機情報通知を貸出しユニットに送信可能とし(図94中、ステップS275、S278、S280)、
前記所定の表示装置は、算出された役物比率を表示可能に構成され、
役物比率を算出した結果が「100」である場合には、役物比率を「99」として表示処理を実行可能とし、
役物比率を算出した結果が「100」である場合には、貸出しユニットに送信する情報に含まれる役物比率を「100」として送信処理を実行可能とし、
役物比率を算出した結果が「100」を超えた特定値である場合には、貸出しユニットに送信する情報に含まれる役物比率を特定値とは異なる所定値(所定値は「100」以下の値)として送信処理を実行可能とする
ことを特徴とする。
「遊技価値(遊技媒体)」とは、遊技の用に供する媒体をいい、本実施形態では「電子情報(電子メダル)」である。
また、「電子情報(電子メダル)」とは、管理装置(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のステップS953及びS954)。このため、ステップ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」でない場合は、ホールコン・不正監視情報が、遊技機設置情報及び遊技機性能情報より優先して送信される。
まず、ステップS951では、遊技媒体数制御手段は、ホールコン・不正監視情報をセットする。この処理は、ホールコン・不正監視情報を含む遊技機情報通知を送信する処理である。
次のステップS952では、遊技媒体数制御手段は、ベット数情報及び付与数情報をクリアする。この処理は、上述したベット数情報記憶領域に記憶されているベット数情報及び付与数情報記憶領域に記憶されている付与数情報を「0」にする処理である。
同様に、ホールコン・不正監視情報セットが実行されるごとに付与数情報がクリアされるので、次の遊技情報通知を送信するタイミングでは、付与数情報が「0」でないことに基づいてホールコン・不正監視情報の送信が優先されることはない。
まず、ステップS971では、遊技媒体数制御手段は、遊技機性能情報をセットする。この処理は、遊技機能性情報を含む遊技機情報通知を送信する処理である。次にステップS972に進み、遊技媒体数制御手段は、遊技機性能情報通知要求フラグをクリアする。具体的には、遊技機情報通知要求フラグの「D0」ビットを「0」にする。この処理は、図41のステップS737の処理と同じである。その後、ステップS973に進み、遊技媒体数制御手段は、通番を更新(「1」加算)する。そして本フローチャートによる処理を終了する。
まず、ステップS981では、遊技媒体数制御手段は、遊技機設置情報をセットする。この処理は、遊技機設置情報を含む遊技機情報通知を送信する処理である。次にステップS982に進み、遊技媒体数制御手段は、遊技機設置情報通知要求フラグをクリアする。具体的には、遊技機情報通知要求フラグの「D1」ビットを「0」にする。この処理は、図41のステップS735の処理と同じである。その後、ステップS983に進み、遊技媒体数制御手段は、通番を更新(「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上に、主制御CPU510及びメダル数制御CPU520を備える。なお、主制御CPU510を「主制御手段510」と称する場合がある。また、メダル数制御CPU520を「メダル数制御手段520」と称する場合がある。一方、主制御基板50を「主制御手段50」と称する場合もある。
また、メダル数制御CPU520は、1チップマイクロプロセッサであり、内蔵されたメダル数制御ROM521及びメダル数制御RWM522を備える。メダル数制御ROM521及びメダル数制御RWM522は、それぞれ、第4実施形態(図51)における遊技媒体数制御ROM504及び遊技媒体数制御RWM505に相当する。
あるいは、第4実施形態のように、メダル数制御の機能を備える主制御基板50とし、主制御基板50上に1つの1チップマイクロプロセッサ(主CPU)を設け、かつ、この主CPUが主制御CPU及びメダル数制御CPUの機能を備えるようにしてもよい。
さらには、本実施形態のように、主制御基板50上に主制御CPU510(1チップマイクロプロセッサ)とメダル数制御CPU520(1チップマイクロプロセッサ)とを搭載してもよい。
図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を更新しないので、突飛な値が記憶されてしまうことを防止することができる。
一方、これらの更新を中止した後も、送信タイミングが到来したときには遊技機情報通知を送信することができる。
まず、ステップS672では、図79中、役比モニタ情報算出・表示用記憶領域の累計役物等状態比率のRWMアドレスをセットする。この例では、RWMアドレスと各比率とを、
F201h:累計役物等状態比率
F202h:累計有利区間比率
F203h:累計指示込役物比率
F204h:「6000」遊技連続役物比率
F205h:「6000」遊技役物比率
F206h:累計連続役物比率
F207h:累計役物比率
とする。
次のステップS675では、次のRWMアドレスをセットする。この処理は、それまでのRWMアドレスに「1」を加算したRWMアドレスをセットする処理である。
次にステップS676に進み、全比率の更新処理を終了したか否かを判断する。この処理は、たとえばステップS673における比率の取得を「7」回行った否かを判断してもよいし、ステップS675において次のRWMアドレスをセットする前のRWMアドレスが「F207h」であるか否かを判断してもよい。
全比率の更新処理が終了したと判断したときは本フローチャートによる処理を終了する。全比率の更新処理が終了していないと判断したときはステップS673に戻る。
まず、ステップS681では、取得した比率が累計役物比率であるか否かを判断する。ここでは、たとえば取得した比率のアドレス値が「F207h」であるか否かを判断することにより、取得した比率が累計役物比率であるか否かを判断することが挙げられる。取得した比率が累計役物比率であると判断したときはステップS687に進み、累計役物比率でないと判断したときはステップS682に進む。ステップS682では、取得した比率が累計連続役物比率であるか否か(取得した比率のアドレス値が「F206h」であるか否か)を判断する。取得した比率が累計連続役物比率であると判断したときはステップS687に進み、累計連続役物比率でないと判断したときはステップS683に進む。
ステップS683では、取得した比率が累計有利区間比率であるか否か(取得した比率のアドレス値が「F202h」であるか否か)を判断する。取得した比率が累計有利区間比率であると判断したときはステップS686に進み、累計有利区間比率でないと判断したときはステップS684に進む。ステップS684では、取得した比率が累計指示込役物比率であるか否か(取得した比率のアドレス値が「F203h」であるか否か)を判断する。取得した比率が累計指示込役物比率であると判断したときはステップS686に進み、累計指示込役物比率でないと判断したときはステップS685に進む。ステップS685では、取得した比率が累計役物等状態比率であるか否か(取得した比率のアドレス値が「F201h」であるか否か)を判断する。取得した比率が累計役物等状態比率であると判断したときはステップS686に進み、累計役物等状態比率でないと判断したときは本フローチャートによる処理を終了する。
総遊技数が「175000」以上であると判断したときはステップS688に進み、総遊技数が「175000」以上でないと判断したときはステップS690に進む。
一方、ステップS681又はS682からステップS687に進むと、総遊技数が「17500(規定遊技数)」以上であるか否かを判断する。総遊技数が「17500」以上であると判断したときはステップS688に進み、総遊技数が「17500」以上でないと判断したときはステップS690に進む。
一方、ステップS689では、取得した比率を遊技機性能情報送信用記憶領域の対象比率に記憶する。そして本フローチャートによる処理を終了する。
以上より、
a)累計有利区間比率、累計指示込役物比率、累計役物等状態比率については、総遊技数が「175000(規定遊技数)」未満であるか又は非該当項目であるときには「FFh」が記憶され、それ以外の場合には取得した比率が記憶される。
b)累計役物比率、累計連続役物比率については、総遊技数が「17500(規定遊技数)」未満であるか又は非該当項目であるときには「FFh」が記憶され、それ以外の場合には取得した比率が記憶される。
このようにして、総遊技数が規定数未満であるとき又は非該当項目であるときは「FFh」を記憶するので、その比率が遊技性能情報として送信されることにより、当該比率が規定数未満の比率であること又は非該当項目であることを貸出しユニット200側で判断可能となる。
なお、役比モニタ113の表示では、総遊技数が規定数未満であるときは識別セグを点滅表示する。また、当該比率が非該当項目であるときは、比率セグに「--」を表示する。
このように、役比モニタ113で表示する情報と遊技機性能情報として送信する情報とが相違する場合があるので、役比モニタ情報算出・表示用記憶領域とは別に遊技機性能情報送信用記憶領域を設けておく方が情報処理を軽減することができる。
また、図98及び図99から明らかなように、図98のステップS673では、アドレス「F204h」の「6000」遊技連続役物比率や、アドレス「F205h」の「6000」遊技役物比率が取得される場合があるが、図99の処理に進むと、ステップS681~S685のいずれの比率にも該当しないので、取得した比率は記憶されることなく処理を終了する。
(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実施形態の少なくとも一部と適宜組み合わせて実施することが可能である。
本願の当初明細書等に記載した発明(当初発明)は、たとえば以下の当初発明1~14を挙げることができる。ただし、本明細書に記載した発明は、当初発明1~14に限ることを意味するものではない。
当初発明1は、
主制御手段(主制御CPU510)と遊技媒体数制御手段(メダル数制御CPU520)とを備え、
遊技媒体制御手段と貸出しユニット(200)とが通信可能な第1の状況(VL信号がオンの状況)と、遊技媒体制御手段と貸出しユニットとが通信不可能な第2の状況(VL信号がオフの状況)とを有し、
遊技媒体数制御手段は、第1の状況において、主制御手段から所定数の遊技媒体のベット要求コマンドを受信した場合に、当該ベット要求コマンドに基づく遊技媒体数のベットが可能であるときは、総遊技媒体数を更新可能とし、かつ、所定数の遊技媒体のベット要求コマンドを正常に受け付けたことを示す第1の応答コマンド(ベット要求応答コマンド)を主制御手段に送信可能とし、
主制御手段は、所定数の遊技媒体のベット要求コマンドを送信した後、第1の応答コマンドを受信したときは、遊技媒体のベットに関する処理を実行可能とし、(図101(1))
遊技媒体数制御手段は、第2の状況において、主制御手段から所定数の遊技媒体のベット要求コマンドを受信したときは、当該ベット要求コマンドを正常に受け付けることができないことを示す第2の応答コマンド(ベット要求応答コマンド)を主制御手段に送信可能とし、
主制御手段は、所定数の遊技媒体のベット要求コマンドを送信した後、第2の応答コマンドを受信したときは、遊技媒体のベットに関する処理を実行しない(図101(2))
ことを特徴とする。
当初発明1によれば、主制御手段は、第2の状況であっても第2の応答コマンドを受信可能であるので、第2の状況であることを把握可能となり、遊技媒体のベットに関する処理を実行しないようにすることができる。
また、第2の状況であるだけではエラーに関する処理を実行しないようにすれば、遊技者に不快感を与えないようにすることができる。
当初発明2は、
主制御手段(主制御CPU510)と遊技媒体数制御手段(メダル数制御CPU520)とを備え、
遊技媒体数制御手段は、所定の状況(VL信号がオンの状況)において、主制御手段から所定数の遊技媒体のベット要求コマンドを受信した場合に、当該ベット要求コマンドに基づく遊技媒体数のベットが可能であるときは、総遊技媒体数を更新可能とし、かつ、所定数の遊技媒体のベット要求コマンドを正常に受け付けたことを示す第1の応答コマンド(ベット要求応答コマンド)を主制御手段に送信可能とし、
主制御手段は、所定数の遊技媒体のベット要求コマンドを送信した後、第1の応答コマンドを受信したときは、遊技媒体のベットに関する処理を実行可能とし(図101(1))、
遊技媒体数制御手段は、所定の状況において、主制御手段からベット要求コマンドを受信した場合において、当該ベット要求コマンドが異常なコマンド(たとえばベット数が「4」)であるときは、当該ベット要求コマンドに対応する応答コマンドを主制御手段に送信せず、
主制御手段は、ベット要求コマンドを送信した後、所定期間内に応答コマンドを受信しなかったときは、所定のエラー処理を実行可能とする(図101(3))
ことを特徴とする。
当初発明2によれば、遊技媒体制御手段が異常なコマンドを受信したときに、主制御手段に応答コマンドを送信する処理を実行しなくても、主制御手段は、異常が発生したことを認識可能となり、この認識に基づいて所定のエラー処理を実行し、異常の発生を報知等することが可能となる。
当初発明3は、
主制御手段(主制御CPU510)と遊技媒体数制御手段(メダル数制御CPU520)とを備え、
遊技媒体数制御手段は、所定の状況(VL信号がオンの状況)において、主制御手段から送信された遊技媒体のベット数「x」のベット要求コマンドを受信した場合に、遊技媒体のベット数「x」をベット可能であるときは、総遊技媒体数から「x」を減算し、かつ、遊技媒体のベット数「x」のベット要求コマンドを正常に受け付けたことを示す第1の応答コマンドを主制御手段に送信可能とし、
主制御手段は、遊技媒体のベット数「x」のベット要求コマンドを送信した後、第1の応答コマンドを受信したときは、遊技媒体のベット数「x」のベットに関する処理を実行可能とし(図101(1))、
遊技媒体数制御手段は、所定の状況において、主制御手段から遊技媒体のベット数「x」のベット要求コマンドが送信されたが遊技媒体のベット数「y(「y」は「x」以外の数)」のベット要求コマンドを受信した場合に、遊技媒体のベット数「y」をベット可能であるときは、総遊技媒体数から「y」を減算し、かつ、遊技媒体のベット数「y」のベット要求コマンドを正常に受け付けたことを示す第2の応答コマンドを主制御手段に送信可能とし、
主制御手段は、遊技媒体のベット数「x」のベット要求コマンドを送信した後、第2の応答コマンドを受信したときは、所定のエラー処理を実行可能とする(図102(5))
ことを特徴とする。
当初発明3によれば、送信したベット要求コマンドと異なるベット数の応答コマンドを受信したときは、所定のエラー処理を実行することにより、異常の発生を報知等することが可能となる。
当初発明4は、
主制御手段(主制御CPU510)と遊技媒体数制御手段(メダル数制御CPU520)とを備え、
遊技媒体数制御手段は、所定の状況(VL信号がオンの状況)において、主制御手段から送信された遊技媒体のベット数「x」のベット要求コマンドを受信した場合に、遊技媒体のベット数「x」をベット可能であるときは、総遊技媒体数から「x」を減算し、かつ、遊技媒体のベット数「x」のベット要求コマンドを正常に受け付けたことを示す第1の応答コマンドを主制御手段に送信可能とし、
主制御手段は、遊技媒体のベット数「x」のベット要求コマンドを送信した後、第1の応答コマンドを受信したときは、遊技媒体のベット数「x」のベットに関する処理を実行可能とし(図101(1))、
遊技媒体数制御手段は、所定の状況において、主制御手段から遊技媒体のベット数「x」のベット要求コマンドが送信されたが遊技媒体のベット数「y(「y」は「x」以外の数)」のベット要求コマンドを受信した場合に、遊技媒体のベット数「y」が総遊技媒体数を上回るときは、応答コマンドを送信せず、
主制御手段は、ベット要求コマンドを送信した後、所定期間内に応答コマンドを受信しなかったときは、所定のエラー処理を実行可能とする(図102(6))
ことを特徴とする。
当初発明4によれば、主制御手段から送信したベット要求コマンドのベット数と異なるベット数のベット要求コマンドを遊技媒体制御手段が受信した可能性を有するため、所定のエラー処理を実行することにより、異常の発生を報知等することが可能となる。
当初発明5は、
主制御手段(主制御CPU510)と遊技媒体数制御手段(メダル数制御CPU520)とを備え、
遊技媒体制御手段と貸出しユニット(200)とが通信可能な第1の状況(VL信号がオンの状況)と、遊技媒体制御手段と貸出しユニットとが通信不可能な第2の状況(VL信号がオフの状況)とを有し、
遊技媒体数制御手段は、第1の状況において、主制御手段から遊技媒体の精算数「x」の精算要求コマンドを受信した場合に、遊技媒体の精算数「x」の精算が可能であるときは、総遊技媒体数を更新可能とし、かつ、遊技媒体の精算数「x」の精算要求コマンドを正常に受け付けたことを示す第1の応答コマンドを主制御手段に送信可能とし、
主制御手段は、遊技媒体の精算数「x」の精算要求コマンドを送信した後、第1の応答コマンドを受信したときは、精算に関する処理を実行可能とし(図104(1))、
遊技媒体数制御手段は、第2の状況において、主制御手段から精算要求コマンドを受信したときは、当該精算要求コマンドを正常に受け付けることができないことを示す第2の応答コマンドを主制御手段に送信可能とし、
主制御手段は、精算要求コマンドを送信した後、第2の応答コマンドを受信したときは、精算に関する処理を実行しない(図104(2))
ことを特徴とする。
当初発明5によれば、主制御手段は、第2の状況であっても第2の応答コマンドを受信可能であるので、第2の状況であることを把握可能となり、精算に関する処理を実行しないようにすることができる。
また、第2の状況であるだけではエラーに関する処理を実行しないようにすれば、遊技者に不快感を与えないようにすることができる。
当初発明6は、
主制御手段(主制御CPU510)と遊技媒体数制御手段(メダル数制御CPU520)とを備え、
遊技媒体数制御手段は、所定の状況(VL信号がオンの状況)において、主制御手段から遊技媒体の精算数「x」の精算要求コマンドを受信した場合に、遊技媒体の精算数「x」の精算が可能であるときは、総遊技媒体数を更新可能とし、かつ、遊技媒体の精算数「x」の精算要求コマンドを正常に受け付けたことを示す第1の応答コマンドを主制御手段に送信可能とし、
主制御手段は、遊技媒体の精算数「x」の精算要求コマンドを送信した後、第1の応答コマンドを受信したときは、精算に関する処理を実行可能とし(図104(1))、
遊技媒体数制御手段は、所定の状況において、主制御手段から精算要求コマンドを受信した場合に、当該精算要求コマンドが異常なコマンド(たとえば精算数が「5」であるコマンド)であるときは、総遊技媒体数を更新せず、かつ、当該精算要求コマンドに対応する応答コマンドを主制御手段に送信せず、
主制御手段は、精算要求コマンドを送信した後、所定期間内に応答コマンドを受信しなかったときは、所定のエラー処理を実行可能とする(図104(3))
ことを特徴とする。
当初発明6によれば、遊技媒体制御手段が異常値なコマンドを受信したときに、主制御手段に応答コマンドを送信する処理を実行しなくても、主制御手段は、異常が生じたことを認識可能となり、この認識に基づいて所定のエラー処理を実行し、異常の発生を報知等することが可能となる。
当初発明7は、
主制御手段(主制御CPU510)と遊技媒体数制御手段(メダル数制御CPU520)とを備え、
遊技媒体数制御手段は、所定の状況(VL信号がオンの状況)において、主制御手段から送信された遊技媒体の精算数「x」の精算要求コマンドを受信した場合に、遊技媒体の精算数「x」を精算可能であるときは、総遊技媒体数を更新可能とし、かつ、遊技媒体の精算数「x」の精算要求コマンドを正常に受け付けたことを示す第1の応答コマンド(精算要求応答コマンド)を主制御手段に送信可能とし、
主制御手段は、遊技媒体の精算数「x」の精算要求コマンドを送信した後、第1の応答コマンドを受信したときは、精算に関する処理を実行可能とし(図104(1))、
遊技媒体数制御手段は、所定の状況において、主制御手段から遊技媒体の精算数「x」の精算要求コマンドが送信されたが遊技媒体の精算数「y(「y」は「x」以外の数)」の精算要求コマンドを受信した場合において、遊技媒体の精算数「y」の精算を実行すると総遊技媒体数の上限値(記憶可能な上限値「16383」)を超えるときは、遊技媒体の精算数「y」の精算が不可能であることを示す第2の応答コマンド(精算要求応答コマンド)を送信可能とし、
主制御手段は、遊技媒体の精算数「x」の精算要求コマンドを送信した後、第2の応答コマンドを受信したときは、所定のエラー処理を実行可能とする(図105(4))
ことを特徴とする。
当初発明7によれば、主制御手段から送信した精算要求コマンドの精算数と異なる精算数の精算要求コマンドを遊技媒体数制御手段が受信した可能性を有するため、所定のエラー処理を実行することにより、異常の発生を報知等することが可能となる。
当初発明8は、
主制御手段(主制御CPU510)と遊技媒体数制御手段(メダル数制御CPU520)とを備え、
遊技媒体数制御手段は、所定の状況(VL信号がオンの状況)において、主制御手段から送信された遊技媒体の精算数「x」の精算要求コマンドを受信した場合において、遊技媒体の精算数「x」の精算を実行すると総遊技媒体数の上限値(記憶可能な上限値「16383」)を超えるときは、遊技媒体の精算数「x」の精算が不可能であることを示す第1の応答コマンド(精算要求応答コマンド)を送信可能とし、
主制御手段は、遊技媒体の精算数「x」の精算要求コマンドを送信した後、第1の応答コマンドを受信したときは、精算に関する処理を実行せず(図105(6))、
遊技媒体数制御手段は、所定の状況において、主制御手段から遊技媒体の精算数「x」の精算要求コマンドが送信されたが遊技媒体の精算数「y(「y」は「x」以外の数)」の精算要求コマンドを受信した場合に、遊技媒体の精算数「y」を精算可能であるときは、遊技媒体の精算数「y」の精算要求コマンドを正常に受け付けたことを示す第2の応答コマンド(精算要求応答コマンド)を主制御手段に送信可能とし、
主制御手段は、遊技媒体の精算数「x」の精算要求コマンドを送信した後、第2の応答コマンドを受信したときは、所定のエラー処理を実行可能とする(図105(5))
ことを特徴とする。
当初発明8によれば、遊技媒体数制御手段が正常な精算要求コマンドを受信したときであっても精算不可能な精算要求コマンドであるときは、その旨を主制御手段に知らせることができる。この場合にはエラー処理を実行しないようにすることが可能となる。
一方、主制御手段から送信した精算要求コマンドの精算数と異なる精算数の精算要求コマンドを遊技媒体数制御手段が受信した可能性を有するときは、所定のエラー処理を実行することにより、異常の発生を報知等することが可能となる。
当初発明9は、
主制御手段(主制御CPU510)と遊技媒体数制御手段(メダル数制御CPU520)とを備え、
遊技媒体制御手段と貸出しユニット(200)とが通信不可能な特定の状況(VL信号がオフの状況)を有し、
遊技媒体数制御手段は、特定の状況において、正常な精算要求コマンドを受信した場合には、正常に受け付けることができないことを示す第1の応答コマンド(精算要求応答コマンド)を主制御手段に送信可能とし、
主制御手段は、精算要求コマンドを送信した後、第1の応答コマンドを受信したときは、精算に関する処理を実行せず(図104(2))、
遊技媒体数制御手段は、特定の状況において、正常な付与要求コマンドを受信した場合には、正常に受け付けたことを示す第2の応答コマンド(付与要求応答コマンド)を主制御手段に送信可能とし、
主制御手段は、付与要求コマンドを送信した後、第2の応答コマンドを受信したときは、付与に関する処理を実行可能とする(図106(1))
ことを特徴とする。
当初発明9によれば、特定の状況であるときには、遊技中でないときの精算処理は実行しないが、遊技中の付与処理は実行可能とすることにより、遊技の進行を停止させないようにすることができる。これにより、遊技中にフリーズが発生したと遊技者に誤認させてしまうことを防止することができる。
当初発明10は、
主制御手段(主制御CPU510)と遊技媒体数制御手段(メダル数制御CPU520)とを備え、
遊技媒体数制御手段と貸出しユニット(200)とが通信不可能な特定の状況(VL信号がオフの状況)を有し、
主制御手段は、特定の状況において、遊技媒体を付与可能な(小役に対応する)図柄組合せが停止表示したときは、遊技媒体の付与処理を実行可能とし(図106(1))、
主制御手段は、特定の状況において、リプレイに対応する図柄組合せが停止表示したときは、自動ベット処理を実行しない(図109)
ことを特徴とする。
当初発明10によれば、特定の状況である場合にリプレイに対応する図柄組合せが停止表示したときは、遊技者に対し、次回遊技(再遊技)が実行可能であると誤認させてしまうことを防止することができる。
当初発明11は、
総遊技媒体数を表示可能な所定の表示手段(メダル数表示部121)を備え、
所定の表示手段に総遊技媒体数「x(「x」は値)」が表示されている状況において、遊技媒体のベット数が「y(「y」は2以上の値)」であるときに精算スイッチが操作されたときは、所定の表示手段に途中経過を表示することなく、総遊技媒体数の表示を「x+y」に更新可能とし(図113中、ステップS1000及びS1001)、
所定の表示手段に「x」が表示されている状況において、遊技媒体の付与数が「z(「z」は2以上の値)」である図柄組合せが停止表示されたときは、所定の表示手段に途中経過を表示して、総遊技媒体数の表示を「x+z」に更新可能とする(図114中、ステップS1024~S1031)
ことを特徴とする。
当初発明11によれば、精算処理時には総遊技媒体数の表示を瞬時に更新後の値にして処理の高速化を図り、付与与処理の場合には遊技者に対して付与数がカウントアップされるように見せることができる。
当初発明12は、
主制御手段(主制御CPU510)と遊技媒体数制御手段(メダル数制御CPU520)とを備え、
主制御手段は、割込み処理ごとに、遊技媒体数制御手段から受信したコマンドを記憶する処理を実行可能とし(図115のステップS1042)、
主制御手段は、割込み処理ごとに、電源断検知処理(ステップS1043)を実行可能とし、
主制御手段は、遊技媒体数制御手段から受信したコマンドを記憶する処理(ステップS1042)を実行した後、電源断検知処理(ステップS1043)を実行可能とする
ことを特徴とする。
当初発明12によれば、遊技媒体数制御手段から受信したコマンドを保存した後に電源断検知処理を行うことで、仮に電源断を検知して電源断処理に移行したとしても、当該割込み処理で受信した遊技媒体数制御手段からのコマンドを保存してから電源断処理を実行するので、電源復帰時にエラーとなる事象(コマンド落ち)を少なくすることが可能となる。
当初発明13は、
主制御手段(主制御CPU510)と、遊技媒体数制御手段(メダル数制御CPU520)と、副制御手段(副制御CPU85)とを備え、
遊技媒体数制御手段と貸出しユニット(200)とが通信可能な第1の状況(VL信号がオンの状況)と、遊技媒体数制御手段と貸出しユニットとが通信不可能な第2の状況(VL信号がオフの状況)とを有し、
副制御手段は、第2の状況では、第2の状況に対応する第1の報知を実行可能とし(図122(b))、
副制御手段は、第1の報知を実行している場合(図122(b))において、主制御手段が遊技媒体数制御手段から異常なコマンドを受信したときは、第1の報知と、異常なコマンドを受信したことに対応する第2の報知とを実行可能とし(図122(c))、
副制御手段は、第1の報知と第2の報知とを実行している場合に、第2の状況から第1の状況となったときは、第1の報知を終了し、第2の報知を継続可能とする(図122(d))
ことを特徴とする。
当初発明13によれば、第2の状況下で異常なコマンドを受信したときは、第2の状況である報知と異常なコマンドを受信したことの報知との双方を実行することができる。これにより、たとえば第2の状況であることを利用してゴト行為を行っても、当該ゴト行為に基づく異常を報知可能となる。
当初発明14は、
主制御手段(主制御CPU510)と、遊技媒体数制御手段(メダル数制御CPU520)と、副制御手段(副制御CPU85)とを備え、
遊技媒体数制御手段と貸出しユニット(200)とが通信可能な第1の状況(VL信号がオンの状況)と、遊技媒体数制御手段と貸出しユニットとが通信不可能な第2の状況(VL信号がオフの状況)とを有し、
副制御手段は、第2の状況では、第2の状況に対応する報知を実行可能とし、
主制御手段は、第2の状況において、遊技媒体を付与可能な図柄組合せが停止表示したときは、遊技媒体の付与処理を実行可能とし、
主制御手段は、第2の状況において、遊技媒体の付与処理を実行したことに基づいて、コンプリート機能の作動条件を満たしたときは、遊技を中止し(図110のステップS966)、
副制御手段は、第2の状況においてコンプリート機能の作動条件を満たした(図123(a))後、第2の状況から第1の状況となったときは、第2の状況に対応する報知を終了し、コンプリート機能の作動条件を満たしたことを示す報知を実行可能とする(図123(b))
ことを特徴とする。
当初発明14によれば、第2の状況においてコンプリート機能の作動条件を満たした場合には、第2の状況に対応する報知を継続し、第1の状況になってからコンプリート機能の作動条件を満たしたことを示す報知を実行することにより、第2の状況であるときには遊技者に計数スイッチを操作させないようにすることができる。
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
Claims (1)
- 遊技履歴を表示可能な所定の表示装置を有し、
遊技機の電源がオンとなり、貸出しユニットとの接続を所定期間確認した後に、貸出しユニットと接続していることを示す情報を記憶可能とし、
貸出しユニットと接続していることを示す情報が記憶された後に、遊技機情報通知を貸出しユニットに送信可能とし、
前記所定の表示装置は、算出された役物比率を表示可能に構成され、
役物比率を算出した結果が「100」である場合には、役物比率を「99」として表示処理を実行可能とし、
役物比率を算出した結果が「100」である場合には、貸出しユニットに送信する情報に含まれる役物比率を「100」として送信処理を実行可能とし、
役物比率を算出した結果が「100」を超えた特定値である場合には、貸出しユニットに送信する情報に含まれる役物比率を特定値とは異なる所定値(所定値は「100」以下の値)として送信処理を実行可能とする
ことを特徴とする遊技機。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2023017048A JP7883136B2 (ja) | 2023-02-07 | 2023-02-07 | 遊技機 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2023017048A JP7883136B2 (ja) | 2023-02-07 | 2023-02-07 | 遊技機 |
Publications (3)
| Publication Number | Publication Date |
|---|---|
| JP2024112161A JP2024112161A (ja) | 2024-08-20 |
| JP2024112161A5 JP2024112161A5 (ja) | 2025-03-27 |
| JP7883136B2 true JP7883136B2 (ja) | 2026-07-01 |
Family
ID=92423933
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2023017048A Active JP7883136B2 (ja) | 2023-02-07 | 2023-02-07 | 遊技機 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP7883136B2 (ja) |
Citations (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2006087711A (ja) | 2004-09-24 | 2006-04-06 | Sankyo Kk | 遊技機 |
| JP2006223585A (ja) | 2005-02-17 | 2006-08-31 | Daiman:Kk | 遊技機 |
| JP2013128618A (ja) | 2011-12-21 | 2013-07-04 | Sophia Co Ltd | 遊技機 |
| JP2013141539A (ja) | 2012-01-11 | 2013-07-22 | Fujishoji Co Ltd | 遊技機 |
| JP2018038645A (ja) | 2016-09-08 | 2018-03-15 | 株式会社オリンピア | 遊技機 |
| JP2018175165A (ja) | 2017-04-07 | 2018-11-15 | 株式会社ユニバーサルエンターテインメント | 遊技機 |
| JP2021083524A (ja) | 2019-11-25 | 2021-06-03 | 株式会社平和 | 遊技機 |
| JP2021145925A (ja) | 2020-03-19 | 2021-09-27 | サミー株式会社 | 遊技機 |
-
2023
- 2023-02-07 JP JP2023017048A patent/JP7883136B2/ja active Active
Patent Citations (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2006087711A (ja) | 2004-09-24 | 2006-04-06 | Sankyo Kk | 遊技機 |
| JP2006223585A (ja) | 2005-02-17 | 2006-08-31 | Daiman:Kk | 遊技機 |
| JP2013128618A (ja) | 2011-12-21 | 2013-07-04 | Sophia Co Ltd | 遊技機 |
| JP2013141539A (ja) | 2012-01-11 | 2013-07-22 | Fujishoji Co Ltd | 遊技機 |
| JP2018038645A (ja) | 2016-09-08 | 2018-03-15 | 株式会社オリンピア | 遊技機 |
| JP2018175165A (ja) | 2017-04-07 | 2018-11-15 | 株式会社ユニバーサルエンターテインメント | 遊技機 |
| JP2021083524A (ja) | 2019-11-25 | 2021-06-03 | 株式会社平和 | 遊技機 |
| JP2021145925A (ja) | 2020-03-19 | 2021-09-27 | サミー株式会社 | 遊技機 |
Non-Patent Citations (1)
| Title |
|---|
| 「専用PIF仕様書(ソフトウェア編) 第6.0版」,日本遊技機工業組合提供の技術資料「スマートパチンコ」,日本遊技機工業組合,2022年06月27日,p.1,3,46-51 |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2024112161A (ja) | 2024-08-20 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20250318 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20250415 |
|
| A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20250416 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20250822 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20250930 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20251127 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20260120 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20260312 |
|
| 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: 20260519 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20260601 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7883136 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |