JP7448452B2 - 遊技機 - Google Patents
遊技機 Download PDFInfo
- Publication number
- JP7448452B2 JP7448452B2 JP2020160499A JP2020160499A JP7448452B2 JP 7448452 B2 JP7448452 B2 JP 7448452B2 JP 2020160499 A JP2020160499 A JP 2020160499A JP 2020160499 A JP2020160499 A JP 2020160499A JP 7448452 B2 JP7448452 B2 JP 7448452B2
- Authority
- JP
- Japan
- Prior art keywords
- control board
- command
- payout control
- main control
- game
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 claims description 1165
- 230000008569 process Effects 0.000 claims description 1157
- 238000003860 storage Methods 0.000 claims description 448
- 238000012545 processing Methods 0.000 claims description 362
- 238000009434 installation Methods 0.000 claims description 156
- 238000012544 monitoring process Methods 0.000 claims description 140
- 238000007726 management method Methods 0.000 description 299
- 230000004044 response Effects 0.000 description 166
- 230000005540 biological transmission Effects 0.000 description 148
- 230000001186 cumulative effect Effects 0.000 description 132
- 230000008859 change Effects 0.000 description 130
- 238000012360 testing method Methods 0.000 description 87
- 238000010586 diagram Methods 0.000 description 65
- 230000006854 communication Effects 0.000 description 53
- 238000004891 communication Methods 0.000 description 53
- QMBJSIBWORFWQT-DFXBJWIESA-N Chlormadinone acetate Chemical compound C1=C(Cl)C2=CC(=O)CC[C@]2(C)[C@@H]2[C@@H]1[C@@H]1CC[C@@](C(C)=O)(OC(=O)C)[C@@]1(C)CC2 QMBJSIBWORFWQT-DFXBJWIESA-N 0.000 description 46
- 238000012790 confirmation Methods 0.000 description 46
- 230000000694 effects Effects 0.000 description 46
- 230000004397 blinking Effects 0.000 description 37
- 238000003780 insertion Methods 0.000 description 37
- 230000037431 insertion Effects 0.000 description 37
- 230000005856 abnormality Effects 0.000 description 33
- 238000004364 calculation method Methods 0.000 description 33
- 230000006870 function Effects 0.000 description 32
- 230000001276 controlling effect Effects 0.000 description 25
- 239000003990 capacitor Substances 0.000 description 24
- 230000015654 memory Effects 0.000 description 24
- 230000004913 activation Effects 0.000 description 22
- 230000002829 reductive effect Effects 0.000 description 17
- 230000002159 abnormal effect Effects 0.000 description 15
- 238000001514 detection method Methods 0.000 description 11
- 238000003825 pressing Methods 0.000 description 11
- 238000004458 analytical method Methods 0.000 description 10
- 230000002093 peripheral effect Effects 0.000 description 10
- 238000013500 data storage Methods 0.000 description 9
- 238000004519 manufacturing process Methods 0.000 description 9
- 238000012986 modification Methods 0.000 description 8
- 230000004048 modification Effects 0.000 description 8
- FFBHFFJDDLITSX-UHFFFAOYSA-N benzyl N-[2-hydroxy-4-(3-oxomorpholin-4-yl)phenyl]carbamate Chemical compound OC1=C(NC(=O)OCC2=CC=CC=C2)C=CC(=C1)N1CCOCC1=O FFBHFFJDDLITSX-UHFFFAOYSA-N 0.000 description 7
- 238000009825 accumulation Methods 0.000 description 6
- 230000005611 electricity Effects 0.000 description 6
- 230000000873 masking effect Effects 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 6
- 238000000605 extraction Methods 0.000 description 5
- 238000010304 firing Methods 0.000 description 5
- 238000011084 recovery Methods 0.000 description 5
- 101100125350 Candida albicans (strain SC5314 / ATCC MYA-2876) HYR3 gene Proteins 0.000 description 4
- 101100193926 Candida albicans (strain SC5314 / ATCC MYA-2876) RBR3 gene Proteins 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000009191 jumping Effects 0.000 description 4
- 230000007704 transition Effects 0.000 description 4
- 230000003247 decreasing effect Effects 0.000 description 3
- 230000003111 delayed effect Effects 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 241000287531 Psittacidae Species 0.000 description 2
- 230000007175 bidirectional communication Effects 0.000 description 2
- 230000010365 information processing Effects 0.000 description 2
- 230000002427 irreversible effect Effects 0.000 description 2
- 230000007257 malfunction Effects 0.000 description 2
- 239000004576 sand Substances 0.000 description 2
- 101100004297 Caenorhabditis elegans bet-1 gene Proteins 0.000 description 1
- 239000004380 Cholic acid Substances 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000002788 crimping Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 238000007789 sealing Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Landscapes
- Slot Machines And Peripheral Devices (AREA)
Description
本発明は、
総得点記憶手段(遊技媒体数記憶手段103a)は、現在の遊技媒体数を示す総得点が記憶可能であるよう構成されており、
遊技媒体に関するベット処理に応じて、総得点記憶手段に記憶されている総得点が更新可能であるよう構成されており、
遊技媒体に関する付与処理に応じて、総得点記憶手段に記憶されている総得点が更新可能であるよう構成されており、
遊技媒体に関する貸出処理に応じて、総得点記憶手段に記憶されている総得点が更新可能であるよう構成されており、
総得点記憶手段に記憶されている総得点が所定値(15000)以上、かつ上限値(16383)未満の値である或る値の場合は、遊技媒体に関する貸出処理が不可である状態とするよう構成されており、
総得点記憶手段に記憶されている総得点が或る値(前記或る値は、所定値(15000)以上、かつ上限値(16383)未満の値)の場合は、遊技媒体に関する貸出処理が不可である状態とするよう構成されており、
総得点記憶手段に記憶されている総得点が前記或る値の場合は、遊技媒体に関するベット処理が可能である状態とするよう構成されており、
総得点記憶手段に記憶されている総得点が前記或る値の場合は、遊技媒体に関する付与処理が可能である状態とするよう構成されており、
遊技機の起動が完了したときからホールコン・不正監視情報が第1の期間(300ms)ごとに貸出ユニット(200)側に出力可能であるように構成されており、
遊技機の起動が完了したときから遊技機設置情報が第2の期間(60秒)ごとに貸出ユニット側に出力可能であるように構成されており、
第1の期間は第2の期間よりも短い期間であるように構成されており、
第2の期間は第1の期間の倍数であり、
遊技機の起動が完了したときから第2の期間が経過した第1タイミング(図35中、「A199」)が遊技機の起動が完了したときから第1の期間がX(199)回経過したタイミングであり、当該第1タイミングで遊技機設置情報を出力するときは、当該第1タイミングから第1の期間が経過したときに(図35中、「A200」のタイミングのときに)ホールコン・不正監視情報が出力可能となるように構成されており、
ホールコン・不正監視情報を貸出ユニット側に出力可能な所定タイミングにて第1遊技状態であり、遊技媒体のベット数が0であり、遊技媒体の付与数が0であった後、当該所定タイミングから第1の期間が経過したタイミングであって遊技機の起動が完了したときから第2の期間が経過した特定タイミングにて第1遊技状態であり、ベット数が0であり、付与数が0であった場合(図63中、ステップS821で「No」、ステップS822で「No」)は、当該特定タイミングにおいて遊技機設置情報を貸出ユニット側に出力可能であるよう構成されており、
ホールコン・不正監視情報を貸出ユニット側に出力可能な所定タイミングにて第1遊技状態であり、遊技媒体のベット数が0であり、遊技媒体の付与数が0であった後、当該所定タイミングから第1の期間が経過したタイミングであって遊技機の起動が完了したときから第2の期間が経過した特定タイミングにて第2遊技状態であり、ベット数が0であり、付与数が0であった場合(図63中、ステップS821で「Yes」)は、当該特定タイミングにおいてホールコン・不正監視情報を貸出ユニット側に出力可能であるよう構成されている
遊技機である。
「遊技価値(遊技媒体)」とは、遊技の用に供する媒体をいい、本実施形態では「電子情報(電子メダル)」である。
また、「電子情報(電子メダル)」とは、管理装置(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(第1種特別役物)」を備えていない場合には、連続役物比率は存在しないので、「連続役物比率(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に係る画像表示(レイヤー)を後側に配置し、閾値に到達した旨の画像表示(レイヤー)を前側に配置すれば、閾値に到達した旨の注意喚起を確実に遊技者に知らせることができる。ただし、この場合であっても、獲得数の表示領域や残り遊技回数の表示領域については、閾値に到達した旨の表示領域と被らないことが好ましい。
また、上限値に到達したとき専用の演出出力装置(たとえば回転灯(パトランプ))を設け、閾値に到達したときは当該演出出力装置を作動させないが、上限値に到達したときは当該演出出力装置を作動させることも可能である。
本願の当初明細書等に記載した発明(当初発明)は、たとえば以下の当初発明1~11を挙げることができ、それぞれ、当初発明が解決しようとする課題、当初発明に係る課題を解決するための手段及び当初発明の効果は、以下の通りである。ただし、本明細書に記載した発明は、当初発明1~11に限ることを意味するものではない。
(a)当初発明1が解決しようとする課題
当初発明は、メダルレス遊技機(「管理遊技機」、「封入式遊技機」等とも称する。)に関するものである。
従来より、貸出しユニットから遊技機に対して遊技媒体を貸し出すことを可能としたメダルレス遊技機が知られている(たとえば、特開2019-198565号公報参照)。
しかし、前述の従来の技術において、必要以上に遊技媒体の貸出しができるため、遊技機側の総遊技媒体数が過度になる場合があった。
当初発明が解決しようとする課題は、遊技媒体の貸出しを適切に制御することである。
当初発明(第5実施形態)は、
遊技媒体数制御手段(たとえば図29中、第2主制御CPU105)と、
総遊技媒体数を記憶可能な総遊技媒体数記憶手段(たとえば図29中、遊技媒体数記憶手段103a)と
を備え、
前記遊技媒体数制御手段は、総遊技媒体数が閾値(15000)に到達した状況下になったときは、遊技媒体の貸出しを禁止又は制限するための処理を実行可能とし(図69中、ステップS868、S874)、
前記遊技媒体数制御手段は、総遊技媒体数が閾値に到達した状況下において遊技媒体がベットされたことにより総遊技媒体数が閾値に到達していない状況下になったとき(図69中、ステップS868で「No」)は、遊技媒体の貸出しを許可するための処理(ステップS869、S870、S872)を実行可能とする
ことを特徴とする。
当初発明によれば、総遊技媒体数が閾値に到達したか否かに基づいて遊技媒体の貸出しを禁止又は制限するので、遊技機側の総遊技媒体数が過度になることを防止することができる。また、ベットされることにより総遊技媒体数が閾値に到達していない状況下になったときは遊技媒体の貸出しを許可するので、遊技媒体の貸出しをできる限り認めることができる。
(a)当初発明2が解決しようとする課題
当初発明1と同じ。
(b)当初発明2の課題を解決するための手段(なお、かっこ書きで、対応する実施形態を記載する。)
当初発明(第5実施形態)は、
遊技媒体数制御手段(たとえば図29中、第2主制御CPU105)と、
総遊技媒体数を記憶可能な総遊技媒体数記憶手段(たとえば図29中、遊技媒体数記憶手段103a)と
を備え、
前記遊技媒体数制御手段は、総遊技媒体数が閾値(15000)に到達した状況下になったときは、遊技媒体の貸出しを禁止又は制限するための処理を実行可能とし(図71中、ステップS868、S874)、
前記遊技媒体数制御手段は、総遊技媒体数が閾値に到達した状況下において遊技媒体がベットされたことにより総遊技媒体数が閾値に到達していない状況下になっても、遊技媒体の貸出しを禁止又は制限するための処理を維持する(図71中、ステップS884、S885、S886、S874)
ことを特徴とする。
(c)当初発明2の効果
当初発明によれば、総遊技媒体数が閾値に到達したか否かに基づいて遊技媒体の貸出しを禁止又は制限するので、遊技機側の総遊技媒体数が過度になることを防止することができる。また、ベットされることにより総遊技媒体数が閾値に到達していない状況下になっても遊技媒体の貸出しの禁止又は制限を維持するので、遊技媒体の貸出しの禁止又は制限と、貸出しの許可とが短期間で繰り返されることを防止することができる。
(a)当初発明3が解決しようとする課題
当初発明1と同じ。
(b)当初発明3の課題を解決するための手段(なお、かっこ書きで、対応する実施形態を記載する。)
当初発明(第5実施形態)は、
遊技媒体数制御手段(たとえば図29中、第2主制御CPU105)と、
総遊技媒体数を記憶可能な総遊技媒体数記憶手段(たとえば図29中、遊技媒体数記憶手段103a)と、
前記総遊技媒体数記憶手段に記憶されている遊技媒体を払い戻すときに操作される計数スイッチ(たとえば図29中、計数スイッチ47)と、
報知手段(たとえば図29中、演出ランプ21、スピーカ22、画像表示装置23)と
を備え、
前記遊技媒体数制御手段は、前記計数スイッチの操作に基づいて、総遊技媒体数を減算するための計数処理を実行可能とし(図68)、
前記報知手段は、総遊技媒体数が閾値に到達した状況下になったときは、前記計数スイッチの操作を促す報知を実行可能とし(図75)、
前記報知手段は、総遊技媒体数が閾値に到達した状況下において遊技媒体がベットされたことにより総遊技媒体数が閾値に到達していない状況下になったとき(図75中、ステップS925で「Yes」)は、前記計数スイッチの操作を促す報知を終了可能とする
ことを特徴とする。
当初発明によれば、総遊技媒体数が閾値に到達したことを遊技者に確実に知らせることができる。また、当該報知を最小限にすることができる。
(a)当初発明4が解決しようとする課題
当初発明1と同じ。
(b)当初発明4の課題を解決するための手段(なお、かっこ書きで、対応する実施形態を記載する。)
当初発明(第5実施形態)は、
遊技媒体数制御手段(たとえば図29中、第2主制御CPU105)と、
総遊技媒体数を記憶可能な総遊技媒体数記憶手段(たとえば図29中、遊技媒体数記憶手段103a)と、
前記総遊技媒体数記憶手段に記憶されている遊技媒体を払い戻すときに操作される計数スイッチ(たとえば図29中、計数スイッチ47)と、
報知手段(たとえば図29中、演出ランプ21、スピーカ22、画像表示装置23)と
を備え、
前記遊技媒体数制御手段は、前記計数スイッチの操作に基づいて、総遊技媒体数を減算するための計数処理を実行可能とし(図68)、
前記報知手段は、総遊技媒体数が閾値に到達した状況下になったときは、前記計数スイッチの操作を促す報知を実行可能とし(図75)、
前記報知手段は、総遊技媒体数が閾値に到達した状況下において遊技媒体がベットされたことにより総遊技媒体数が閾値に到達していない状況下になっても、前記計数スイッチの操作を促す報知を維持する(図74のステップS911、S913、S905)
ことを特徴とする。
当初発明によれば、総遊技媒体数が閾値に到達したことを遊技者に確実に知らせることができる。また、ベットされたことにより総遊技媒体数が閾値を下回っただけでは報知を終了しないので、報知/非報知が短期間に繰り返されてしまうことを防止することができる。
(a)当初発明5が解決しようとする課題
当初発明1と同じ。
(b)当初発明5の課題を解決するための手段(なお、かっこ書きで、対応する実施形態を記載する。)
当初発明(第5実施形態)は、
遊技媒体数制御手段(たとえば図29中、第2主制御CPU105)と、
総遊技媒体数を記憶可能な総遊技媒体数記憶手段(たとえば図29中、遊技媒体数記憶手段103a)と
を備え、
前記遊技媒体数制御手段は、総遊技媒体数が閾値に到達した状況下になったときは、遊技媒体の貸出しを禁止又は制限するための処理を実行可能とし(図70のステップS868、S874)、
前記遊技媒体数制御手段は、総遊技媒体数が閾値に到達した状況下において遊技媒体のベット操作が行われ、ベット処理の途中で総遊技媒体数が閾値に到達していない状況下になったときは、当該ベット処理の終了後に遊技媒体の貸出しを許可するための処理を実行可能とする(図70のステップS881、S883)
ことを特徴とする。
当初発明によれば、総遊技媒体数が閾値に到達したか否かに基づいて遊技媒体の貸出しを禁止又は制限するので、遊技機側の総遊技媒体数が過度になることを防止することができる。また、ベット処理の途中で遊技媒体の貸出し禁止又は制限から貸出し許可に切り変わることを防止することができる。
(a)当初発明6が解決しようとする課題
当初発明1と同じ。
(b)当初発明6の課題を解決するための手段(なお、かっこ書きで、対応する実施形態を記載する。)
当初発明(第5実施形態)は、
遊技媒体数制御手段(たとえば図29中、第2主制御CPU105)と、
総遊技媒体数を記憶可能な総遊技媒体数記憶手段(たとえば図29中、遊技媒体数記憶手段103a)と
を備え、
前記遊技媒体数制御手段は、総遊技媒体数が閾値に到達した状況下になったときは、遊技媒体の貸出しを禁止又は制限するための処理を実行可能とし(図69のステップS868、S874)、
前記遊技媒体数制御手段は、総遊技媒体数が閾値に到達した状況下において遊技媒体のベット操作が行われ、ベット処理の途中で総遊技媒体数が閾値に到達していない状況下になったときは、当該ベット処理が終了する前に遊技媒体の貸出しを許可するための処理を実行可能とする(図69のステップS868、S872)
ことを特徴とする。
当初発明によれば、総遊技媒体数が閾値に到達したか否かに基づいて遊技媒体の貸出しを禁止又は制限するので、遊技機側の総遊技媒体数が過度になることを防止することができる。また、ベット処理の途中で総遊技媒体数が閾値に到達していない状況下になったときは遊技媒体の貸出しを許可することで、遊技媒体の貸出し禁止又は制限の期間を最小限にすることができる。
(a)当初発明7が解決しようとする課題
当初発明1と同じ。
(b)当初発明7の課題を解決するための手段(なお、かっこ書きで、対応する実施形態を記載する。)
当初発明(第5実施形態)は、
遊技媒体数制御手段(たとえば図29中、第2主制御CPU105)と、
総遊技媒体数を記憶可能な総遊技媒体数記憶手段(たとえば図29中、遊技媒体数記憶手段103a)と
を備え、
前記遊技媒体数制御手段は、総遊技媒体数が閾値に到達した状況下になったときは、遊技媒体の貸出しを禁止又は制限するための処理を実行可能とし(図72のステップS868、S874)、
前記遊技媒体数制御手段は、総遊技媒体数が閾値に到達していない状況下において遊技媒体の付与処理が行われ、付与処理の途中で総遊技媒体数が閾値に到達した状況下になったときは、当該付与処理の終了後に遊技媒体の貸出しを禁止又は制限するための処理を実行可能とする(図72のステップS891、S892)
ことを特徴とする。
当初発明によれば、総遊技媒体数が閾値に到達したか否かに基づいて遊技媒体の貸出しを禁止又は制限するので、遊技機側の総遊技媒体数が過度になることを防止することができる。また、遊技媒体の付与処理の途中で遊技媒体の貸出し許可から貸出し禁止又は制限に切り変わることを防止することができる。
(a)当初発明8が解決しようとする課題
当初発明1と同じ。
(b)当初発明8の課題を解決するための手段(なお、かっこ書きで、対応する実施形態を記載する。)
当初発明(第5実施形態)は、
遊技媒体数制御手段(たとえば図29中、第2主制御CPU105)と、
総遊技媒体数を記憶可能な総遊技媒体数記憶手段(たとえば図29中、遊技媒体数記憶手段103a)と
を備え、
前記遊技媒体数制御手段は、総遊技媒体数が閾値に到達した状況下になったときは、遊技媒体の貸出しを禁止又は制限するための処理を実行可能とし(図69のステップS868、S874)、
前記遊技媒体数制御手段は、総遊技媒体数が閾値に到達していない状況下において遊技媒体の付与処理が行われ、付与処理の途中で総遊技媒体数が閾値に到達した状況下になったときは、当該付与処理が終了する前に遊技媒体の貸出しを禁止又は制限するための処理を実行可能とする(図69のステップS868、S874)
ことを特徴とする。
当初発明によれば、総遊技媒体数が閾値に到達したか否かに基づいて遊技媒体の貸出しを禁止又は制限するので、遊技機側の総遊技媒体数が過度になることを防止することができる。また、総遊技媒体数が閾値に到達したときは、遊技媒体の貸出し禁止又は制限を直ちに実行することができる。
(a)当初発明9が解決しようとする課題
当初発明は、メダルレス遊技機(「管理遊技機」、「封入式遊技機」等とも称する。)に関するものである。
従来より、計数スイッチの操作により遊技機に記憶された遊技媒体数を払い戻す(計数処理をする)ことを可能としたメダルレス遊技機が知られている(たとえば、特開2019-198565号公報参照)。
しかし、前述の従来の技術では、遊技者が希望する遊技媒体数の計数処理を簡素な方法で行うことができない。
当初発明が解決しようとする課題は、遊技者が希望する遊技媒体数の計数処理を簡素な方法で実行可能にすることである。
当初発明(第5実施形態)は、
遊技媒体数制御手段(たとえば図29中、第2主制御CPU105)と、
総遊技媒体数を記憶可能な総遊技媒体数記憶手段(たとえば図29中、遊技媒体数記憶手段103a)と、
前記総遊技媒体数記憶手段に記憶されている遊技媒体を払い戻すときに操作される計数スイッチ(たとえば図29中、計数スイッチ47)と
を備え、
前記遊技媒体数制御手段は、前記計数スイッチがオンにされてからオフにされるまでの期間を計測可能とし(図62のステップS811、S817)、
前記遊技媒体数制御手段は、前記計数スイッチがオンにされてからオフにされるまでの期間に応じた計数値を導出し(図68のステップS835、S838、S847、S848)、
前記遊技媒体数制御手段は、総遊技媒体数から、導出した計数値を減算する計数処理を実行可能とする(図68のステップS839、S840、S841等)
ことを特徴とする。
当初発明によれば、計数スイッチがオンにされてからオフにされるまでの期間に応じた計数値の計数処理を実行可能となるので、遊技者が希望する遊技媒体数の計数処理を簡素な方法で実行することが可能となる。
(a)当初発明10が解決しようとする課題
当初発明は、メダルレス遊技機(「管理遊技機」、「封入式遊技機」等とも称する。)に関するものである。
従来より、メダルレス遊技機において、「300」ms、「60」秒、及び「180」秒ごとに、遊技機から貸出ユニットに対して遊技機情報を送信することが知られている(たとえば、特開2019-198565号公報参照)。
また、これらの遊技機情報の送信タイミングが重なったときは、優先度に応じて送信することも知られている。
しかし、前述の従来の技術において、送信する遊技機情報の優先度は、遊技状況等に応じて異なる場合があり、一律に定めると本来であれば優先度が高いにもかかわらず送信が後回しとなってしまうおそれがある。
当初発明が解決しようとする課題は、送信する遊技機情報の優先度に応じて適切な送信処理を実行することである。
当初発明(第5実施形態)は、
少なくとも第1の遊技機情報(ホールコン・不正監視情報)と第2の遊技機情報(たとえば遊技機設置情報)とを送信可能とし、
第1の遊技機情報の送信タイミング(「300」msごと)と第2の遊技機情報の送信タイミング(「60」秒ごと)とが重なる場合を有し、
第1の遊技機情報の送信タイミングと第2の遊技機情報の送信タイミングとが重なった場合において、前回の第1の遊技機情報の送信後、遊技媒体に関する所定の情報が変化していないとき(図63中、ステップS822で「No」のとき)は、第2の遊技機情報を送信可能とし(図63中、ステップS825)、第2の遊技機情報を送信した後、次回の第1の遊技機情報の送信タイミングが到来したときに第1の遊技機情報を送信可能とし(図63中、ステップS823)、
第1の遊技機情報の送信タイミングと第2の遊技機情報の送信タイミングとが重なった場合において、前回の第1の遊技機情報の送信後、遊技媒体に関する所定の情報が変化しているとき(図63中、ステップS822で「Yes」のとき)は、第1の遊技機情報を送信可能とし(図63中、ステップS823)、第1の遊技機情報を送信した後、次回の第1の遊技機情報の送信タイミングが到来したときに第2の遊技機情報を送信可能とする(図63中、ステップS825)
ことを特徴とする。
当初発明によれば、遊技媒体に関する情報が変化したか否かに応じて、第1の遊技機情報の優先度を変更することができるので、送信する遊技機情報の優先度に応じて適切な送信処理を実行することができる。
(a)当初発明11が解決しようとする課題
当初発明は、メダルレス遊技機(「管理遊技機」、「封入式遊技機」等とも称する。)に関するものである。
従来より、メダルレス遊技機が知られている(たとえば、特開2019-198565号公報参照)。
しかし、前述の従来の技術において、遊技媒体数制御手段が主制御状態の変化をどのように把握するかが問題となる。
当初発明が解決しようとする課題は、遊技媒体数制御手段が主制御状態の変化を正しく判断可能とすることである。
当初発明(第5実施形態)は、
主制御状態を制御する主制御手段(たとえば、図29中、第1主制御CPU55)と、
遊技媒体数を制御する遊技媒体数制御手段(たとえば図29中、第2主制御CPU105)と
を備え、
主制御手段は、主制御状態に関する情報を遊技媒体数制御手段に送信可能とし、
遊技媒体数制御手段は、主制御状態に関する情報を受信したときは、第1の記憶領域(新主制御状態記憶領域)に記憶可能とし(図64中、ステップS953)、
遊技媒体数制御手段は、所定の遊技機情報を送信したときは、第1の記憶領域に記憶されている主制御状態に関する情報を第2の記憶領域(旧主制御状態記憶領域)に記憶可能とする(図64中、ステップS954)
ことを特徴とする。
当初発明によれば、第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 カードリーダライタ
300 ホールコンピュータ
400 管理コンピュータ
500 1チップマイクロプロセッサ
501 主CPU
502 主制御ROM
503 主制御RWM
504 遊技媒体数制御ROM
505 遊技媒体数制御RWM
506 使用領域外ROM
507 使用領域外RWM
Claims (1)
- 総得点記憶手段は、現在の遊技媒体数を示す総得点が記憶可能であるよう構成されており、
遊技媒体に関するベット処理に応じて、総得点記憶手段に記憶されている総得点が更新可能であるよう構成されており、
遊技媒体に関する付与処理に応じて、総得点記憶手段に記憶されている総得点が更新可能であるよう構成されており、
遊技媒体に関する貸出処理に応じて、総得点記憶手段に記憶されている総得点が更新可能であるよう構成されており、
総得点記憶手段に記憶されている総得点が所定値以上、かつ上限値未満の値である或る値の場合は、遊技媒体に関する貸出処理が不可である状態とするよう構成されており、
総得点記憶手段に記憶されている総得点が前記或る値の場合は、遊技媒体に関するベット処理が可能である状態とするよう構成されており、
総得点記憶手段に記憶されている総得点が前記或る値の場合は、遊技媒体に関する付与処理が可能である状態とするよう構成されており、
遊技機の起動が完了したときからホールコン・不正監視情報が第1の期間ごとに貸出ユニット側に出力可能であるように構成されており、
遊技機の起動が完了したときから遊技機設置情報が第2の期間ごとに貸出ユニット側に出力可能であるように構成されており、
第1の期間は第2の期間よりも短い期間であるように構成されており、
第2の期間は第1の期間の倍数であり、
遊技機の起動が完了したときから第2の期間が経過した第1タイミングが遊技機の起動が完了したときから第1の期間がX回経過したタイミングであり、当該第1タイミングで遊技機設置情報を出力するときは、当該第1タイミングから第1の期間が経過したときにホールコン・不正監視情報が出力可能となるように構成されており、
ホールコン・不正監視情報を貸出ユニット側に出力可能な所定タイミングにて第1遊技状態であり、遊技媒体のベット数が0であり、遊技媒体の付与数が0であった後、当該所定タイミングから第1の期間が経過したタイミングであって遊技機の起動が完了したときから第2の期間が経過した特定タイミングにて第1遊技状態であり、ベット数が0であり、付与数が0であった場合は、当該特定タイミングにおいて遊技機設置情報を貸出ユニット側に出力可能であるよう構成されており、
ホールコン・不正監視情報を貸出ユニット側に出力可能な所定タイミングにて第1遊技状態であり、遊技媒体のベット数が0であり、遊技媒体の付与数が0であった後、当該所定タイミングから第1の期間が経過したタイミングであって遊技機の起動が完了したときから第2の期間が経過した特定タイミングにて第2遊技状態であり、ベット数が0であり、付与数が0であった場合は、当該特定タイミングにおいてホールコン・不正監視情報を貸出ユニット側に出力可能であるよう構成されている
遊技機。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020160499A JP7448452B2 (ja) | 2020-09-25 | 2020-09-25 | 遊技機 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020160499A JP7448452B2 (ja) | 2020-09-25 | 2020-09-25 | 遊技機 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2022053713A JP2022053713A (ja) | 2022-04-06 |
JP2022053713A5 JP2022053713A5 (ja) | 2023-08-24 |
JP7448452B2 true JP7448452B2 (ja) | 2024-03-12 |
Family
ID=80994111
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020160499A Active JP7448452B2 (ja) | 2020-09-25 | 2020-09-25 | 遊技機 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7448452B2 (ja) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019122456A (ja) | 2018-01-12 | 2019-07-25 | 株式会社三共 | 遊技機 |
JP2019166350A (ja) | 2019-06-03 | 2019-10-03 | 株式会社三共 | 遊技機 |
JP2019195517A (ja) | 2018-05-10 | 2019-11-14 | 株式会社三共 | 遊技機 |
JP2019198565A (ja) | 2018-05-18 | 2019-11-21 | 株式会社三共 | 遊技用装置 |
JP2019198564A (ja) | 2018-05-18 | 2019-11-21 | 株式会社三共 | 遊技機 |
JP2020065706A (ja) | 2018-10-24 | 2020-04-30 | サミー株式会社 | 遊技機 |
JP2021058364A (ja) | 2019-10-04 | 2021-04-15 | 株式会社平和 | 遊技機 |
JP2021104099A (ja) | 2019-12-26 | 2021-07-26 | 株式会社三洋物産 | 遊技機 |
-
2020
- 2020-09-25 JP JP2020160499A patent/JP7448452B2/ja active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019122456A (ja) | 2018-01-12 | 2019-07-25 | 株式会社三共 | 遊技機 |
JP2019195517A (ja) | 2018-05-10 | 2019-11-14 | 株式会社三共 | 遊技機 |
JP2019198565A (ja) | 2018-05-18 | 2019-11-21 | 株式会社三共 | 遊技用装置 |
JP2019198564A (ja) | 2018-05-18 | 2019-11-21 | 株式会社三共 | 遊技機 |
JP2020065706A (ja) | 2018-10-24 | 2020-04-30 | サミー株式会社 | 遊技機 |
JP2019166350A (ja) | 2019-06-03 | 2019-10-03 | 株式会社三共 | 遊技機 |
JP2021058364A (ja) | 2019-10-04 | 2021-04-15 | 株式会社平和 | 遊技機 |
JP2021104099A (ja) | 2019-12-26 | 2021-07-26 | 株式会社三洋物産 | 遊技機 |
Also Published As
Publication number | Publication date |
---|---|
JP2022053713A (ja) | 2022-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7415175B2 (ja) | 遊技機 | |
JP7534607B2 (ja) | 遊技機 | |
JP7448456B2 (ja) | 遊技機 | |
JP7448452B2 (ja) | 遊技機 | |
JP7415174B2 (ja) | 遊技機 | |
JP7448449B2 (ja) | 遊技機 | |
JP7448451B2 (ja) | 遊技機 | |
JP7448454B2 (ja) | 遊技機 | |
JP7448455B2 (ja) | 遊技機 | |
JP7448448B2 (ja) | 遊技機 | |
JP7448453B2 (ja) | 遊技機 | |
JP7448450B2 (ja) | 遊技機 | |
JP7564458B2 (ja) | 遊技機 | |
JP7534608B2 (ja) | 遊技機 | |
JP2024060360A (ja) | 遊技機 | |
JP2024060352A (ja) | 遊技機 | |
JP2024060355A (ja) | 遊技機 | |
JP2024060357A (ja) | 遊技機 | |
JP2024060359A (ja) | 遊技機 | |
JP2024060361A (ja) | 遊技機 | |
JP2024060358A (ja) | 遊技機 | |
JP2024060356A (ja) | 遊技機 | |
JP2024060353A (ja) | 遊技機 | |
JP2024060354A (ja) | 遊技機 | |
JP2024112171A (ja) | 遊技機 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230720 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230816 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20230908 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20231121 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20240109 |
|
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: 20240227 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20240229 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7448452 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |