JP2024060357A - 遊技機 - Google Patents

遊技機 Download PDF

Info

Publication number
JP2024060357A
JP2024060357A JP2022167682A JP2022167682A JP2024060357A JP 2024060357 A JP2024060357 A JP 2024060357A JP 2022167682 A JP2022167682 A JP 2022167682A JP 2022167682 A JP2022167682 A JP 2022167682A JP 2024060357 A JP2024060357 A JP 2024060357A
Authority
JP
Japan
Prior art keywords
control board
command
main control
game
management device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2022167682A
Other languages
English (en)
Inventor
浩一 岡本
Koichi Okamoto
一紀 中村
Kazunori Nakamura
侑磯 谷口
Yuki Taniguchi
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sammy Corp
Original Assignee
Sammy Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sammy Corp filed Critical Sammy Corp
Priority to JP2022167682A priority Critical patent/JP2024060357A/ja
Publication of JP2024060357A publication Critical patent/JP2024060357A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02EREDUCTION OF GREENHOUSE GAS [GHG] EMISSIONS, RELATED TO ENERGY GENERATION, TRANSMISSION OR DISTRIBUTION
    • Y02E60/00Enabling technologies; Technologies with a potential or indirect contribution to GHG emissions mitigation
    • Y02E60/10Energy storage using batteries

Landscapes

  • Slot Machines And Peripheral Devices (AREA)

Abstract

【課題】比率を遊技機情報として送信する際に、規定遊技回数未満の比率であるか否かを判別可能な情報を送信する。【解決手段】遊技機性能情報送信用記憶領域とを備える。役比モニタに表示するための比率として算出された値が「X(「X」は数値)」であっても、規定遊技数が「17500」に到達していないときは、累計役物比率、累計連続役物比率については「FFh」を記憶する。また、規定遊技数が「175000」に到達していないときは、累計有利区間比率、累計指示込役物比率、累計役物等状態比率については「FFh」を記憶する。【選択図】図90

Description

本発明は、遊技機に関するものである。
従来より、遊技価値(遊技媒体)として、物理的な(有体物としての)メダルを用いずに、電子情報(電子メダル)を用いる遊技機(「スマート遊技機」、「メダルレス遊技機」、「管理遊技機」、「封入式遊技機」等と称される。)が知られている(たとえば、特許文献1参照)。
特開2015-062558号公報
本発明が解決しようとする課題は、遊技価値として電子情報を用いる遊技機において、適切な情報処理を実行可能とすることである。
本発明は、以下の解決手段によって上述の課題を解決する(かっこ書きで、対応する実施形態の構成を示す。)。なお、本願の当初請求項に係る発明は、後述する当初発明1~11のうち、当初発明7に相当する。
本発明は、
遊技履歴に関する所定の比率を表示可能な所定の表示手段(役比モニタ113)と、
所定の表示手段に表示する遊技履歴に関する所定の比率(図79中、累計役物等状態比率~累計役物比率の6つ)を記憶可能な第1記憶手段(図79の役比モニタ情報算出・表示用記憶領域(メダル数制御RWM522))と、
遊技履歴に関する所定の比率を含む遊技機情報(遊技機性能情報)を外部に送信する際に用いられ、遊技履歴に関する所定の比率を記憶可能な第2記憶手段(図90の遊技機性能情報送信用記憶領域)と
を備え、
第1記憶手段に記憶された値が「X(「X」は数値)」であっても、規定遊技回数に達していないときは、第2記憶手段には「FFh」を記憶可能とする(規定遊技数が「17500」に到達していないときは、累計役物比率、累計連続役物比率には「FFh」を記憶する。また、規定遊技数が「175000」に到達していないときは、累計有利区間比率、累計指示込役物比率、累計役物等状態比率には「FFh」を記憶する。図99中、ステップS695。)
ことを特徴とする。
本発明によれば、適切な情報処理を実行可能となる。
第1実施形態において、遊技機の一例であるスロットマシンの制御の概略を示すブロック図である。 第1実施形態において、電力供給経路の例1を示す図である。 第1実施形態において、電力供給経路の例2を示す図である。 第1実施形態において、メイン制御基板から払出制御基板に送信されるコマンド(メイン制御コマンド)の一覧を示す図である。 第1実施形態において、払出制御基板からメイン制御基板に送信されるコマンド(払出制御コマンド)の一覧を示す図である。 第1実施形態において、管理装置から払出制御基板に送信されるコマンド(管理装置コマンド)の一覧を示す図である。 第1実施形態において、払出制御基板から管理装置に送信されるコマンド(遊技機コマンド)の一覧を示す図である。 第1実施形態において、払出制御基板におけるメインルーチンの処理の流れを示すフローチャートである。 図8のステップS110におけるメイン制御コマンド解析処理の流れを示すフローチャートである。 図8のステップS110におけるメイン制御コマンド解析処理の流れを示すフローチャートであり、図9に続くフローチャートである。 図8のステップS119における貸出処理の流れを示すフローチャートである。 図8のステップS117における計数処理の流れを示すフローチャートである。 第1実施形態において、メイン制御基板におけるメインルーチンの処理の流れを示すフローチャートである。 第1実施形態において、メイン制御基板及び払出制御基板における電源投入処理の流れを示すフローチャートである。 第1実施形態において、メイン制御基板及び払出制御基板における設定変更処理の流れを示すフローチャートである。 第1実施形態において、メイン制御基板及び払出制御基板における3枚ベット処理の流れを示すフローチャートである。 第1実施形態において、メイン制御基板及び払出制御基板における1枚ベット処理の流れを示すフローチャートである。 第1実施形態において、メイン制御基板及び払出制御基板における遊技開始処理の流れを示すフローチャートである。 第1実施形態において、メイン制御基板及び払出制御基板における遊技終了処理の流れを示すフローチャートである。 第1実施形態において、メイン制御基板及び払出制御基板における払出処理の流れを示すフローチャートである。 第1実施形態において、メイン制御基板及び払出制御基板における返却処理の流れを示すフローチャートである。 第1実施形態において、払出制御基板及び管理装置における電源投入処理の流れを示すフローチャートである。 第1実施形態において、払出制御基板及び管理装置における貸出処理の流れを示すフローチャートである。 第1実施形態において、払出制御基板及び管理装置における計数処理の流れを示すフローチャートである。 第1実施形態において、払出制御基板及び管理装置における計数処理の流れを示すフローチャートであり、図24に続くフローチャートである。 第1実施形態において、払出制御基板と管理装置との間におけるシリアル通信のデータ信号及びストローブ信号の波形を示す図である。 第1実施形態において、電子メダル貸出し時における各信号のオン/オフを示すタイミングチャートである。 第1実施形態において、電子メダル計数(払戻し)時における各信号のオン/オフを示すタイミングチャートである。 第2実施形態において、遊技機の制御の概略を示すブロック図である。 第2実施形態において、遊技機と貸出ユニットとの間の電文を説明する図である。 第2実施形態において、遊技機性能情報、遊技機設置情報、ホールコン・不正監視情報を説明する図である。 第2実施形態において、基本通信シーケンスを示すタイムチャートである。 第2実施形態において、起動シーケンスの例1(遊技機が先に起動した場合)を示すタイムチャートである。 第2実施形態において、起動シーケンスの例2(貸出ユニットが先に起動した場合)を示すタイムチャートである。 第2実施形態において、遊技機情報通知の基本シーケンスを示すタイムチャートである。 第2実施形態において、計数通知シーケンスを示すタイムチャートである。 第2実施形態において、計数処理を示すフローチャートである。 第2実施形態において、貸出通知シーケンスを示すタイムチャートである。 第2実施形態において、遊技機情報通知タイマ及び遊技機情報通知要求フラグを示す図である。 第2実施形態において、遊技機情報通知タイマの更新シーケンスを示すタイムチャートである。 第2実施形態において、遊技機情報管理を示すフローチャートである。 第3実施形態におけるメインCPU55の内蔵メモリを示す図であり、(A)は内蔵メモリの概要を示し、(B)は内蔵レジスタ領域を示す。 Fレジスタの詳細な構成を示す図である。 第3実施形態におけるスタック領域を示す図である。 第3実施形態における主要な命令を示す図である。 LDF命令及びLD命令の態様を示す図である。 CALLEX命令の態様を示す図である。 従来のCALL命令及びRET命令の一例を示す図である。 第3実施形態におけるプログラム開始(M_PRG_SET )を示すフローチャートである。 CALLEX命令及びジャンプ命令を使用した例を示す図である。 第4実施形態における遊技機の制御の概略を示すブロック図である。 第4実施形態における内蔵メモリのメモリマップを示す図である。 第4実施形態における領域の区分を示す図であり、(A)は例1を示し、(B)は例2を示す。 第4実施形態における領域間の通信を説明する図である。 制御領域1~3のプログラム例(例1)を示す図である。 制御領域1~3のプログラム例(例2)を示す図である。 制御領域1~3のプログラム例(例3)を示す図である。 制御領域1~3のプログラムの変形例を示す図である。 第5実施形態において、主制御手段の遊技媒体数付与処理を示すフローチャートである。 第5実施形態において、遊技媒体数制御手段の遊技媒体数付与処理を示すフローチャートである。 第5実施形態において、遊技媒体数制御手段の割込み処理(I_INTR)を示すフローチャートである。 図61のステップS801における入力ポート読込み処理(I_IN_READ )を示すフローチャートである。 図61のステップS802における遊技機情報管理(I_INF_CTL )を示すフローチャートである。 図63のステップS823におけるホールコン・不正監視情報セット(I_INF_INJ )を示すフローチャートである。 図63のステップS824における遊技機性能情報セット(I_INF_ABI )を示すフローチャートである。 図63のステップS825における遊技機設置情報セット(I_INF_INS )を示すフローチャートである。 第5実施形態において、遊技機情報通知タイマの更新シーケンスを示す図である。 図61のステップS803における計数制御(I_CAL_CTL )を示すフローチャートである。 図61のステップS805における貸出制御(I_LEN_CTL )の例1を示すフローチャートである。 図61のステップS805における貸出制御(I_LEN_CTL )の例2を示すフローチャートである。 図61のステップS805における貸出制御(I_LEN_CTL )の例3を示すフローチャートである。 図61のステップS805における貸出制御(I_LEN_CTL )の例4を示すフローチャートである。 第5実施形態において、主制御手段の閾値処理の例1を示すフローチャートである。 第5実施形態において、主制御手段の閾値処理の例2を示すフローチャートである。 第5実施形態において、副制御手段の閾値報知処理の例1を示すフローチャートである。 第5実施形態において、副制御手段の閾値報知処理の例2を示すフローチャートである。 第6実施形態における遊技機を示すブロック図である。 第6実施形態において、メダル数制御RWMに設けられた記憶領域を示す図である。 第6実施形態において、メダル数制御RWMに設けられた記憶領域を示す図である。 第6実施形態において、比率算出処理を示すフローチャートである。 第6実施形態において、比率算出処理を示すフローチャートである。 図81中、ステップS691における400遊技毎比率算出を示すフローチャートである。 図81中、ステップS691における400遊技毎比率算出を示すフローチャートである。 第6実施形態における差数及びMYの推移を示す図である。 第6実施形態において、差数カウンタ及びMYカウンタの推移と電源オン/オフとの関係を示す図である。 第6実施形態において、電源オン時からメイン処理までの流れを示すフローチャートである。 図86のステップS543におけるエラー処理を示すフローチャートである。 図86のステップS555におけるコンプリート機能算出処理を示すフローチャートである。 第6実施形態において、(a)は、コンプリート機能作動を予告する画像を示す図であり、(b)は、コンプリート機能作動を画像表示する例を示す図である。 第6実施形態において、遊技機性能情報送信用記憶領域、及び遊技機設置情報送信用記憶領域を示す図である。 第6実施形態において、ホールコン・不正監視情報送信用記憶領域を示す図である。 第6実施形態において、メダル数制御CPUのメイン処理を示すフローチャートである。 第6実施形態において、メダル数制御CPUによる割込み処理を示すフローチャートである。 図93中、ステップS244の遊技機情報管理を示すフローチャートである。 第6実施形態において、遊技機情報通知タイマの更新シーケンスを示すタイムチャートである。 第6実施形態において、遊技機情報通知タイマの更新シーケンスを示すタイムチャートである。 第6実施形態において、遊技機性能情報の生成を示すフローチャートである。 第6実施形態において、遊技機性能情報送信用記憶領域に比率を記憶する際の処理を示すフローチャートである。 図98のステップS675における比率更新処理を示すフローチャートである。
本明細書において、用語の意味は、以下の通りである。
「遊技価値(遊技媒体)」とは、遊技の用に供する媒体をいい、本実施形態では「電子情報(電子メダル)」である。
また、「電子情報(電子メダル)」とは、管理装置(CRユニット)200に金銭(紙幣)を投入すると、その金額に応じた電子情報に変換され、その電子情報の一部又は全部が遊技機で遊技を行うための遊技価値として遊技機にクレジット可能となるものである。
さらにまた、「管理装置(CRユニット)200」とは、遊技価値としての電子情報の貸出し及び払戻しの管理を行うための装置であり、遊技機1台ごとに設けられ、その遊技機に隣接して配置されるものである。ホールでは、管理装置200は、遊技機の間に配置されることから、サンドと称される。また、遊技機と、その遊技機に対応する管理装置200とから、「遊技システム」が構成される。
さらに、「貸出し」とは、管理装置200から遊技機に遊技価値としての電子情報を移し、遊技機の内部にクレジットすることをいう。
また、「計数」とは、遊技機の内部にクレジットされている遊技価値としての電子情報を管理装置200に戻すことをいう。計数スイッチ47を操作すると、遊技機の内部にクレジットされている遊技価値としての電子情報が管理装置200に戻される。このとき、クレジット数が「0」になり、その分、管理装置200において管理する電子情報が加算される。
さらにまた、「クレジット」とは、遊技機の内部に遊技価値としての電子情報を貯留することをいう。
さらに、「ベット」とは、遊技を行うために遊技価値としての電子情報を賭けることをいう。ベットスイッチ40を操作すると、クレジットされている遊技価値としての電子情報がベットされる。
「規定数」とは、当該遊技で遊技を開始(実行)可能なベット数をいう。
また、「払出し」とは、役の入賞に基づき、入賞役の配当に応じた数の遊技価値としての電子情報をクレジット数に加算するこという。
さらにまた、「ベットメダル」とは、遊技を行うためにベットされている遊技価値としての電子情報をいう。
さらに、「貯留メダル」とは、クレジット(貯留)されている遊技価値としての電子情報をいう。
また、「貯留ベット」とは、ベットスイッチ40を操作することにより、当該遊技でベット可能な範囲内において、遊技機の内部にクレジットされている遊技価値としての電子情報の一部又は全部を、遊技を行うためにベットすることをいう。
さらにまた、「自動ベット」とは、リプレイが入賞したときに、遊技機としてのスロットマシン10の制御処理により、前回遊技でベットされていた数の遊技価値としての電子情報を自動でベットすることをいう。
さらに、「キャンセル」とは、キャンセルスイッチ46を操作することにより、ベットされている遊技価値としての電子情報(ベットメダル)をクレジットに戻すことをいう。キャンセルスイッチ46を操作すると、ベットされている遊技価値としての電子情報がクレジットに戻される。このとき、ベットメダルの数が「0」になり、その分、クレジット数に加算される。
また、「返却」とは、管理装置200の内部に貯留されている遊技価値としての電子情報をカード(磁気カードやICカード等)に記憶し、そのカードをカードリーダライタ205から排出することをいう。返却スイッチ203を操作すると、電子情報がカードに記憶されてカードリーダライタ205から排出される。
また、「N-1」遊技目、「N」遊技目、「N+1」遊技目、・・・(「N」は、2以上の整数)と遊技が進行する場合において、現在の遊技が「N」遊技目であるとき、「N」遊技目の遊技を「今回遊技」と称する。また、「N-1」遊技目の遊技を「前回遊技」と称する。さらにまた、「N+1」遊技目の遊技を「次回遊技」と称する。
本明細書において、数字の末尾(特に、8ビット)に「(B)」を付した数値は、2進数を意味する。同様に、数字の末尾に「(H)」を付した数値は、16進数を意味する。具体的には、たとえば10進数で「16」を示す数値は、2進数では「00010000(B)」と表記し、16進数では「10(H)」と表記する。また、10進数を意味する数値については、必要に応じて「16(D)」と表記する。
ただし、2進数、10進数、及び16進数のいずれであるかが明確であるときは、それぞれ「(B)」、「(D)」、「(H)」の末尾記号を省略する場合がある。
以下、図面等を参照して、本発明の一実施形態について説明する。
<第1実施形態>
第1実施形態における遊技機の一例であるスロットマシン10は、遊技価値(遊技媒体)として、物理的な(有体物としての)メダルを使用せずに、電子情報(電子メダル)を使用するものである。このため、本実施形態のスロットマシン10は、メダル投入口、メダルセレクタ、及びメダル払出し装置等を備えていない。
また、第1実施形態では、スロットマシン10に隣接して、管理装置(CRユニット)200が配置されており、さらに、スロットマシン10と管理装置200とは、双方向で通信可能に接続されている。そして、スロットマシン10と管理装置200との間で通信により電子メダルを移行可能とされており、スロットマシン10においては、管理装置200から移行された電子メダルを使用して遊技を実行可能とされている。
図1は、第1実施形態における遊技機の一例であるスロットマシン10の制御の概略を示すブロック図である。図1では、スロットマシン10とともに、管理装置(CRユニット)200、及びホールコンピュータ300を示している。
図1に示すように、本実施形態では、スロットマシン10は、代表的な制御基板として、メイン制御基板50、サブ制御基板80、及び払出制御基板100(クレジット数管理基板)を備えている。
図1中、実線部がデータのやりとりを示す通信線であり、矢印の向きは、データの流れる方向を示している。たとえば、メイン制御基板50と払出制御基板100とは、双方向で通信可能に形成されている。これに対し、メイン制御基板50とサブ制御基板80とは、メイン制御基板50からサブ制御基板80に対して一方向の通信となっている。
また、図1に示すように、メイン制御基板50は、入力ポート51及び出力ポート52を有し、RWM53、ROM54及びメインCPU55等を備えている(図1で図示したもののみを備える意味ではない)。
さらにまた、図1に示すように、メイン制御基板50と、ベットスイッチ40等の操作スイッチを含む遊技進行用の周辺機器とは、入力ポート51又は出力ポート52を介して電気的に接続されている。
入力ポート51は、操作スイッチ等の信号が入力される接続部であり、出力ポート52は、モータ32等の周辺機器に対して信号を送信する接続部である。
図1中、入力用の周辺機器は、その周辺機器からの信号がメイン制御基板50に向かう矢印で表示しており、出力用の周辺機器は、メイン制御基板50からその周辺機器に向かう矢印で示している(サブ制御基板80も同様である)。
また、RWM53は、遊技の進行等に基づいた各種データ(変数)を記憶(更新)可能な記憶媒体である。
さらにまた、ROM54は、遊技の進行に必要なプログラムや各種データ(たとえば、データテーブル)等を記憶しておく記憶媒体である。
さらに、メインCPU55は、メイン制御基板50上に設けられたCPU(演算機能を備えるIC)を指し、遊技の進行に必要なプログラムの実行、演算等を行い、具体的には、役の抽選、リール31の駆動制御、及び入賞時の払出し等を実行する。
また、メイン制御基板50上には、RWM53、ROM54、メインCPU55及びレジスタを含むMPUが搭載される。なお、RWM53及びROM54は、MPU内部に搭載されるもの以外に、外部に備えていてもよい。
なお、後述するサブ制御基板80上においても、RWM83、ROM84、及びサブCPU85を含むMPUが搭載される。なお、RWM83及びROM84は、MPU内部に搭載されるもの以外に、外部に備えてもよい。
また、図1に示すように、本実施形態では、スロットマシン10は、遊技者が操作する操作スイッチとして、ベットスイッチ40、スタートスイッチ41、(左、中、右)ストップスイッチ42、キャンセルスイッチ46、及び計数スイッチ47を備えている。
そして、ベットスイッチ40、スタートスイッチ41、(左、中、右)ストップスイッチ42、及びキャンセルスイッチ46については、メイン制御基板50と電気的に接続されており、計数スイッチ47については、メイン制御基板50ではなく、後述する払出制御基板100(クレジット数管理基板)と電気的に接続されている。
ここで、「操作スイッチ(又は、単に、「スイッチ」)」とは、遊技者(操作者)による操作体の操作に基づいて(外部からの力を受け)、電気信号のオン/オフを切り替える装置(電気回路及び/又は電気部品を含む)を指し、遊技者が操作する操作体の形状を限定するものではない。
操作スイッチがオフ状態であるときは、たとえば発光素子からの光が受光素子に入射し続けている(受光素子が光を検知し続けているときは、操作スイッチはオフ状態にある。)。そして、遊技者等により操作スイッチ(の操作体)が操作されると、発光素子からの光が受光素子に入射しない状態となる。この状態を検知したときに、操作スイッチがオン状態になったことを示す電気信号をメイン制御基板50に送信する。なお、上記とは逆に、操作スイッチがオフ状態であるときは発光素子からの光が受光素子に入射せず、発光素子からの光が受光素子に入射したときにオン状態となるように構成してもよい。
本実施形態では、スタートスイッチ41の操作体は、レバー(棒)状であり(このため、「スタートレバー(スイッチ)41」とも称される。)、ベットスイッチ40、ストップスイッチ42、キャンセルスイッチ46、計数スイッチ47の操作体は、押しボタン状である(このため、「ベットボタン(スイッチ)40」、「停止(ストップ)ボタン(スイッチ)42」、「キャンセルボタン(スイッチ)46」、「計数ボタン(スイッチ)47」とも称される)。
また、図1では図示しないが、操作スイッチの操作体及び/又はその周囲若しくは近傍には、LED(発光手段)が設けられている。そして、その操作スイッチの操作受付けが許可状態にあるときは、たとえばその操作スイッチに対応するLED等を青色発光し、その操作スイッチの操作受付けが不許可状態にあるときは、たとえばその操作スイッチのLED等を赤色発光することにより、その操作スイッチの許可/不許可状態を遊技者に示すようにしている。
ベットスイッチ40は、スロットマシン10の内部にクレジットされている電子メダルを今回遊技のためにベットするときに遊技者に操作される操作スイッチである。
本実施形態では、ベットスイッチ40として、1回の操作で1枚の電子メダルをベットするための1ベットスイッチ40aと、1回の操作で3枚(最大数、規定数)の電子メダルをベットするための3ベットスイッチ40bとを備えている。
なお、ベットスイッチ40を1個のみ備え、このベットスイッチ40を1回操作することで、クレジットされている電子メダルのうち3枚(最大数、規定数)の電子メダルがベットされるようにしてもよい。
また、スタートスイッチ41は、(左、中、右のすべての)リール31を始動(リール31の回転を開始)させるときに遊技者に操作される操作スイッチである。
さらにまた、ストップスイッチ42は、3つ(左、中、右)のリール31に対応して3つ設けられており、対応するリール31を停止させるときに遊技者に操作される操作スイッチである。
さらに、キャンセルスイッチ46は、ベットされている電子メダル(ベットメダル)をクレジットに戻すときに遊技者に操作される操作スイッチである。
キャンセルスイッチ46を操作すると、ベットされている電子メダルがクレジットに戻される。このとき、ベット数が「0」になり、その分、クレジット数に加算される。たとえば、3枚の電子メダルがベットされている状況下で、キャンセルスイッチ46を操作すると、ベット数が「3」から「0」になり、クレジット数に「3」が加算される。
電源スイッチ11は、スロットマシン10の電源のオン/オフを行うときに操作されるスイッチである。
設定キースイッチ12は、設定変更時や設定確認時に操作されるスイッチである。
設定キー挿入口に設定キーを挿入し、時計回りに90度回転させると、設定キースイッチ12がオンになる。
また、電源スイッチ11をオフにした状態(電源断の状態)で、設定キースイッチ12をオンにし、この状態で、電源スイッチ11をオンにすると、設定変更中、すなわち設定変更モードになる。
さらにまた、電源スイッチ11がオンの状態で、設定キースイッチ12をオンにすると、設定確認中、すなわち設定確認モードになる。
設定スイッチ13は、設定値を変更するときに操作されるスイッチである。
設定変更中に設定スイッチ13を1回操作するごとに、設定値が「1」加算される。
本実施形態では、設定値は、設定1から設定6まで有し、設定変更中は、設定スイッチ13を1回操作するごとに、設定値が、「1」→「2」→・・・→「6」→「1」→・・・と切り替わる。
なお、設定変更中にはいずれかの設定値が所定の表示装置に表示されており、スタートスイッチ41を操作すると、表示されている設定値が確定する。
リセットスイッチ14は、RWM53を初期化するときやエラーを解除するときに操作されるスイッチである。
リセットスイッチ14をオンにした状態で電源スイッチ11をオンにすると、初期化処理が行われ、RWM53に記憶されている所定のデータがクリアされる。
また、エラーの原因を除去し、リセットスイッチ14を操作(オン)すると、エラーが解除される。
また、メイン制御基板50は、出力ポート52の一部から、外部集中端子板190に対し、外部信号(外端信号)を出力する。
ここで、「外部信号」とは、外部集中端子板190を介してスロットマシン10の外部(ホールコンピュータ300や、ホールに設置されているデータカウンタ等)に出力するための信号である。
図1に示すように、メイン制御基板50は、外部集中端子板190を介して、ホールコンピュータ300と電気的に接続されている。そして、メイン制御基板50から外部集中端子板190に対して一方向で信号を送信し、外部集中端子板190からホールコンピュータ300に対して一方向で信号を送信する。
また、図1に示すように、本実施形態では、スロットマシン10は、枚数表示装置として、獲得数表示LED78、及びクレジット数表示LED76を備えている。
そして、獲得数表示LED78は、メイン制御基板50と電気的に接続されており、クレジット数表示LED76は、メイン制御基板50ではなく、後述する払出制御基板100(クレジット数管理基板)と電気的に接続されている。
獲得数表示LED78は、役の入賞時に、電子メダルの払出し枚数(遊技者の獲得数)を表示するLEDであり、上位桁及び下位桁の2桁から構成されている。
なお、獲得数表示LED78は、払い出される電子メダルがないときは、消灯するように制御してもよい。あるいは、上位桁を消灯し、下位桁のみを「0」表示してもよい。
また、獲得数表示LED78は、通常は電子メダルの払出し枚数(獲得数)を表示するが、エラー発生時にはエラーの内容(種類)を表示するLEDとして機能する。
さらにまた、獲得数表示LED78は、AT中に押し順を報知する遊技では、押し順指示情報を表示する(有利な押し順を報知する)LEDとして機能する。
よって、本実施形態における獲得数表示LED78は、払出し枚数(獲得数)、エラー内容、及び押し順指示情報の表示を兼ねるLEDである。ただし、これに限らず、押し順指示情報を表示する専用のLED等を設けてもよいのはもちろんである。
なお、AT中において、有利な押し順の報知は、サブ制御基板80に接続された画像表示装置23によっても実行される。
また、図1に示すように、メイン制御基板50には、図柄表示装置のモータ32(本実施形態ではステッピングモータ)等が電気的に接続されている。
図柄表示装置は、図柄を表示する(本実施形態では3つの)リール31と、各リール31をそれぞれ駆動するモータ32と、リール31の位置を検出するためのリールセンサ33とを含む。
モータ32は、リール31を回転させるための駆動手段となるものであり、各リール31の回転中心部に連結され、リール制御手段65によって制御される。
ここで、リール31は、左リール31、中リール31、右リール31からなり、左リール31を停止させるときに操作するストップスイッチ42が左ストップスイッチ42であり、中リール31を停止させるときに操作するストップスイッチ42が中ストップスイッチ42であり、右リール31を停止させるときに操作するストップスイッチ42が右ストップスイッチ42である。
リール31は、リング状のものであって、その外周面には複数種類の図柄(役に対応する図柄組合せを構成している図柄)を印刷したリールテープを貼付したものである。
また、各リール31には、1個(2個以上であってもよい)のインデックスが設けられている。インデックスは、リール31のたとえば周側面に凸状に設けられており、リール31が所定位置を通過したか否かや、1回転したか否か等を検出するときに用いられる。そして、各インデックスは、リールセンサ33によって検知される。
リールセンサ33は、メイン制御基板50に電気的に接続されている。そして、リールセンサ33がインデックスを検知すると、その入力信号がメイン制御基板50に入力され、そのリール31が所定位置を通過したことが検知される。
また、リールセンサ33がリール31のインデックスを検知した瞬間の基準位置上の図柄を予めROM54に記憶している。これにより、インデックスを検知した瞬間の基準位置上の図柄を検知することができる。さらに、リールセンサ33がリール31のインデックスを検知した瞬間から、(ステッピング)モータ32を何パルス駆動すれば、前記基準位置上の図柄から数えて何図柄先の図柄を有効ライン上に停止させることができるかを識別可能となる。
遊技者は、遊技を開始するときは、クレジットされている電子メダルをベットスイッチ40の操作によりベットする。そして、当該遊技の規定数の電子メダルがベットされた状態でスタートスイッチ41が操作されると、そのときに発生する信号がメイン制御基板50に入力される。メイン制御基板50は、この信号を受信すると、役抽選手段61(内部抽せん手段)による抽選を行うとともに、すべてのモータ32を駆動制御して、すべてのリール31を回転させるように制御する。このようにしてリール31がモータ32によって回転されることで、リール31上の図柄は、所定の速度で表示窓内で上下方向に移動表示される。
そして、遊技者は、ストップスイッチ42を操作することで、そのストップスイッチ42に対応するリール31(たとえば、左ストップスイッチ42に対応する左リール31)の回転を停止させる。
ストップスイッチ42が操作されると、そのときに発生する信号がメイン制御基板50に入力される。メイン制御基板50は、この信号を受信すると、そのストップスイッチ42に対応するモータ32を駆動制御して、役抽選手段61の抽選結果(内部抽せん手段により決定した結果)に対応するように、そのモータ32に係るリール31の停止制御を行う。そして、すべてのリール31の停止時における図柄組合せにより、今回遊技の遊技結果を表示する。さらに、いずれかの役に対応する図柄組合せが有効ラインに停止したとき(その役の入賞となったとき)は、入賞した役に対応する電子メダルの払出し等が行われる。
次に、メイン制御基板50の具体的構成について説明する。
図1に示すように、メイン制御基板50のメインCPU55は、以下の役抽選手段61等を備える。本実施形態における以下の各手段は例示であり、本実施形態で示した手段に限定されるものではない。
役抽選手段61は、当選番号の抽選(決定、選択)を行う。ここで、「役抽選手段61による当選番号の抽選」は、風営法規則(遊技機の認定及び型式の検定等に関する規則。以下、単に「規則」という。)における「内部抽せん」と同じであり、役抽選手段61による抽選結果は、規則における「内部抽せんにより決定した結果」と同じである。したがって、役抽選手段61を、規則に合わせた表現で、「内部抽せん手段61」とも称する。
役抽選手段61により当選番号が決定されると、その当選番号に基づいて、入賞及びリプレイ条件装置番号、並びに役物条件装置番号が決定され、当該遊技で作動可能となる入賞及びリプレイ条件装置、並びに役物条件装置が定まることとなる。このため、役抽選手段61は、条件装置番号の決定(抽選又は選択)手段、当選役決定(抽選又は選択)手段等とも称される。
役抽選手段61は、たとえば、抽選用の乱数発生手段(ハードウェア乱数等)と、この乱数発生手段が発生する乱数を抽出する乱数抽出手段と、乱数抽出手段が抽出した乱数値に基づいて、当選番号を決定する当選番号決定手段とを備えている。
乱数発生手段は、所定の領域(たとえば10進数で「0」~「65535」)の乱数を発生させる。乱数は、たとえば200n(ナノ)secで1カウントを行うカウンターが「0」~「65535」の範囲を1サイクルとしてカウントし続ける乱数であり、スロットマシン10の電源が投入されている間は、乱数をカウントし続ける。
乱数抽出手段は、乱数発生手段によって発生した乱数を、所定の時、本実施形態では遊技者によりスタートスイッチ41が操作(オン)された時に抽出する。
当選番号決定手段は、乱数抽出手段により抽出された乱数値を、抽選テーブルと照合することにより、その乱数値が属する領域に対応する当選番号を決定する。
当選フラグ制御手段62は、役抽選手段61による抽選結果に基づいて、各役に対応する当選フラグのオン/オフを制御するものである。
本実施形態では、すべての役について、役ごとに当選フラグを備える。そして、役抽選手段61による抽選においていずれかの役の当選となったときは、その役の当選フラグをオンにする(当選フラグを立てる)。なお、役の当選には、当選役が1つである場合(単独当選)と、当選役が複数ある場合(重複当選)とが挙げられる。
リール制御手段65は、リール31の回転開始命令を受けたとき、特に本実施形態ではスタートスイッチ41の操作(オン)を検知したときに、すべて(3つ)のリール31の回転を開始するように制御する。
また、リール制御手段65は、役抽選手段61により当選番号の決定が行われた後、今回遊技における当選フラグのオン/オフを参照して、当選フラグのオン/オフに対応する停止位置決定テーブルを選択するとともに、ストップスイッチ42が操作されたときに、ストップスイッチ42の操作(オン)を検知したときのタイミングに基づいて、そのストップスイッチ42に対応するリール31の停止位置を決定するとともに、モータ32を駆動制御して、その決定した位置にそのリール31を停止させるように制御する。
たとえば、リール制御手段65は、少なくとも1つの当選フラグがオンである遊技では、リール31の停止制御の範囲内において、当選役(当選フラグがオンになっている役)に対応する図柄組合せを有効ラインに停止可能にリール31を停止制御するとともに、当選役以外の役(当選フラグがオフになっている役)に対応する図柄組合せを有効ラインに停止させないようにリール31を停止制御する。
ここで、「リール31の停止制御の範囲内」とは、ストップスイッチ42が操作された瞬間からリール31が実際に停止するまでの時間又はリール31の回転量(移動図柄(コマ)数)の範囲内を意味する。
本実施形態では、リール31は、定速時は1分間で約80回転する速度で回転される。
そして、ストップスイッチ42が操作されたときは、MB作動中の所定のリール31(たとえば、中リール31)を除き、ストップスイッチ42が操作された瞬間からリール31を停止させるまでの時間が190ms以内に設定されている。これにより、本実施形態では、MB作動中の所定のリール31を除き、ストップスイッチ42が操作された瞬間の図柄からリール31が停止するまでの最大移動図柄数が4図柄に設定されている。
一方、MB作動中の所定のリール31については、ストップスイッチ42が操作された瞬間からリール31を停止させるまでの時間が75ms以内に設定されている。これにより、MB作動中の所定のリール31については、ストップスイッチ42が操作された瞬間の図柄からリール31が停止するまでの最大移動図柄数が1図柄に設定されている。
そして、ストップスイッチ42の操作を検知した瞬間に、リール31の停止制御の範囲内にある図柄のいずれかが所定の有効ラインに停止させるべき図柄であるときは、ストップスイッチ42が操作されたときに、その図柄が所定の有効ラインに停止するように制御される。
すなわち、ストップスイッチ42が操作された瞬間に直ちにリール31を停止させると、当選番号に対応する役の図柄が所定の有効ラインに停止しないときには、リール31を停止させるまでの間に、リール31の停止制御の範囲内においてリール31を回転移動制御することで、当選番号に対応する役の図柄をできる限り所定の有効ラインに停止させるように制御する(引込み停止制御)。
また逆に、ストップスイッチ42が操作された瞬間に直ちにリール31を停止させると、当選番号に対応しない役の図柄組合せが有効ラインに停止してしまうときは、リール31の停止時に、リール31の停止制御の範囲内においてリール31を回転移動制御することで、当選番号に対応しない役の図柄組合せを有効ラインに停止させないように制御する(蹴飛ばし停止制御)。
さらに、複数の役に当選している遊技(たとえば、押し順ベル当選時)では、ストップスイッチ42の押し順や、ストップスイッチ42の操作タイミングに応じて、入賞させる役の優先順位が予め定められており、所定の優先順位によって、最も優先する役に係る図柄の引込み停止制御を行う。
入賞判定手段66は、リール31の停止時に、有効ラインに停止したリール31の図柄組合せが、いずれかの役に対応する図柄組合せであるか否かを判断するものである。
ここで、入賞判定手段66は、実際に、役に対応する図柄組合せが有効ラインに停止したか否かを検知することはない。具体的には、当該遊技で作動した条件装置と、ストップスイッチ42の押し順及び/又はストップスイッチ42の操作タイミングとから、リール31が実際に停止する前に有効ラインに停止する図柄組合せを予め判断するか、又はリール31の停止後に有効ラインに停止した図柄組合せを予め判断する。
払出し手段67は、入賞判定手段66により、リール31の停止時に有効ラインに停止した図柄組合せがいずれかの役に対応する図柄組合せと一致すると判断され、その役の入賞となったときに、その入賞役に応じた枚数の電子メダルをクレジット数に加算する処理を行うものである。
また、払出し手段67は、リプレイの入賞時には、電子メダルをクレジット数に加算することなく、今回遊技で投入された枚数の電子メダルを自動投入(自動ベット)するように制御する。
メイン制御基板50は、サブ制御基板80に対し、サブ制御基板80で出力する演出に必要な情報(制御コマンド)を送信する。
制御コマンドとしては、たとえば、ベットスイッチ40が操作されたときの情報、スタートスイッチ41が操作されたときの情報、役の抽選結果(内部抽せんにより決定した結果)に関する情報、ストップスイッチ42が操作されたときの情報、入賞した役の情報等が挙げられる。
サブ制御基板80は、遊技中及び遊技待機中における演出(情報)の選択や出力等を制御するものである。
ここで、メイン制御基板50とサブ制御基板80とは、電気的に接続されており、メイン制御基板50は、シリアル通信によってサブ制御基板80に一方向で、演出の出力に必要な情報(制御コマンド)を送信する。
なお、メイン制御基板50とサブ制御基板80とは、電気的に接続されることに限らず、光通信手段を用いた接続であってもよい。さらに、電気的接続及び光通信接続のいずれにおいても、シリアル通信に限らず、パラレル通信であってもよく、シリアル通信とパラレル通信とを併用してもよい。
サブ制御基板80は、メイン制御基板50と同様に、入力ポート81、出力ポート82、RWM83、ROM84、及びサブCPU85等を備える。
サブ制御基板80には、入力ポート81又は出力ポート82を介して、図1に示すような以下の演出ランプ21等の演出用周辺機器が電気的に接続されている。ただし、演出用の周辺機器は、これらに限られるものではない。
RWM83は、サブCPU85が演出を制御するときに取り込んだデータ等を一時的に記憶可能な記憶媒体である。
また、ROM84は、演出用データとして、演出に係る抽選を行うとき等のプログラムや各種データ等を記憶しておく記憶媒体である。
さらに、サブCPU85は、サブ制御基板80上に設けられたCPU(演算機能を備えるIC)を指し、遊技中及び遊技待機中における演出の出力に必要なプログラムの実行、演算等を行う。
また、演出ランプ21は、たとえばLED等からなり、所定の条件を満たしたときに、それぞれ所定のパターンで点灯又は点滅する。
なお、演出ランプ21には、各リール31の内周側に配置され、リール31に表示された図柄(表示窓から見える上下に連続する3図柄)を背後から照らすためのバックランプ、リール31の上部からリール31上の図柄を照光する蛍光灯、スロットマシン10のフロントドア前面に配置され、役の入賞時等に点滅する枠ランプ等が含まれる。
さらにまた、スピーカ22は、遊技中に各種の演出を行うべく、所定の条件を満たしたときに、所定のサウンドを出力するものである。
さらに、画像表示装置23は、液晶ディスプレイ、有機ELディスプレイ、ドットディスプレイ等からなるものであり、遊技中に各種の演出画像(正解押し順、当該遊技で作動する条件装置に対応する演出等)や、遊技情報(役物作動時や有利区間(AT)中の遊技回数や獲得枚数等)等を表示するものである。
また、サブ制御基板80のサブCPU85は、演出出力制御手段91を備える。そして、演出出力制御手段91は、メイン制御基板50から送信された制御コマンドに基づいて、どのようなタイミングで、どのような演出を出力するかを決定し、この決定に基づいて、演出用の周辺機器から各種の演出を出力するように制御する。
図1に示すように、本実施形態では、スロットマシン10は、払出制御基板100(クレジット数管理基板)を備えている。
また、払出制御基板100は、電子メダルのクレジット数を管理するものである。
ここで、メイン制御基板50と払出制御基板100とは、電気的に接続されており、双方向での通信が可能に形成されている。
なお、メイン制御基板50と払出制御基板100とは、電気的に接続されることに限らず、光通信手段を用いた接続であってもよい。
また、電気的接続及び光通信接続のいずれにおいても、シリアル通信としてもよく、パラレル通信としてもよく、シリアル通信とパラレル通信とを併用してもよい。
払出制御基板100は、メイン制御基板50やサブ制御基板80と同様に、入力ポート101、出力ポート102、RWM103、ROM104、及びクレジット数管理CPU105等を備える。
また、払出制御基板100には、入力ポート101又は出力ポート102を介して、メイン制御基板50、操作スイッチとしての計数スイッチ47、枚数表示装置としてのクレジット数表示LED76、及びスロットマシン10の外部の管理装置(CRユニット)200等が電気的に接続されている。
RWM103は、クレジット数管理CPU105がクレジット数を管理するときに取り込んだデータ等を一時的に記憶可能な記憶媒体である。
また、ROM104は、クレジット数を管理するときのプログラムや各種データ等を記憶しておく記憶媒体である。
さらに、クレジット数管理CPU105は、払出制御基板100上に設けられたCPU(演算機能を備えるIC)を指し、クレジット数の管理に必要なプログラムの実行、演算等を行う。
また、計数スイッチ47は、スロットマシン10の内部にクレジットされている電子メダルを管理装置200に戻すときに遊技者に操作される操作スイッチである。
計数スイッチ47を操作すると、スロットマシン10の内部にクレジットされている電子メダルが管理装置200に戻される。このとき、クレジット数が「0」になり、その分、管理装置200において管理する電子メダルの枚数が加算される。
たとえば、スロットマシン10の内部に100枚の電子メダルがクレジットされている状況下で、計数スイッチ47を操作すると、クレジット数が「100」から「0」になり、管理装置200において管理する電子メダルの枚数に「100」が加算される。
また、たとえば、3枚の電子メダルがベットされ、かつ100枚の電子メダルがクレジットされている状況下で、キャンセルスイッチ46を操作すると、ベットされている電子メダルがクレジットに戻される。このとき、ベット数が「3」から「0」になり、クレジット数が「100」から「103」になる。その後、計数スイッチ47を操作すると、クレジット数が「103」から「0」になり、管理装置200において管理する電子メダルの枚数に「103」が加算される。
このように、本実施形態では、遊技者が遊技をやめるときに、ベットされている電子メダルがあれば、まず、キャンセルスイッチ46を操作して、ベットされている電子メダルをクレジットに戻し、その後に、計数スイッチ47を操作して、クレジットされている電子メダルを管理装置200に戻す。
ただし、前回遊技でリプレイが入賞し、前回遊技でベットした枚数の電子メダルが自動ベットされたときは、キャンセルスイッチ46を操作しても、この自動ベットされた電子メダルをクレジットに戻すことができないように設定されている。すなわち、自動ベットされた電子メダルについては、キャンセルスイッチ46を操作しても、クレジットに戻すことができないように設定されている。
なお、ベットスイッチ40の操作に基づきベットされた電子メダル、及びリプレイ入賞に基づき自動ベットされた電子メダルの双方とも、キャンセルスイッチ46の操作によりクレジットに戻すことができるようにしてもよい。
また、計数スイッチ47の操作により、ベットされている電子メダル及びクレジットされている電子メダルが管理装置200に戻されるようにしてもよい。
たとえば、3枚の電子メダルがベットされ、かつ100枚の電子メダルがクレジットされている状況下で、計数スイッチ47を操作すると、ベットされている電子メダル及びクレジットされている電子メダルが管理装置200に戻され、ベット数及びクレジット数が「0」になるとともに、管理装置200において管理する電子メダルの枚数に「103」が加算されるようにしてもよい。
この場合、キャンセルスイッチ46を設けてもよく、設けなくてもよい。
また、クレジット数表示LED76は、スロットマシン10の内部にクレジットされている電子メダルの枚数を表示するLEDである。
本実施形態では、最大で1万枚の電子メダルをクレジット可能とされている。すなわち、クレジット数の上限値は「10000」に設定されている。このため、クレジット数表示LED76は、5桁から構成されている。
なお、クレジット数の上限値は「10000」に限らず、たとえば、「15000」としてもよく、「30000」としてもよく、「50000」としてもよい。
また、クレジット数表示LED76の桁数は、5桁に限らず、クレジット数の上限値にあわせて適宜設定することができる。
また、払出制御基板100からメイン制御基板50にイネーブル信号を送信可能とされている。そして、メイン制御基板50は、イネーブル信号がオンのときは、各種処理を実行可能とされ、イネーブル信号がオフのときは、所定の処理を実行不可とされるように設定されている。
本実施形態では、クレジット数が上限値に到達すると、すなわち、クレジット数表示LED76の表示が「10000」に到達すると、イネーブル信号をオフにする。そして、イネーブル信号がオフになると、メイン制御基板50は、ベットスイッチ40及びスタートスイッチ41の操作を受付け不可にするように制御する。
なお、クレジット数が「15000」、「30000」又は「50000」に到達したときにイネーブル信号をオフにするようにしてもよい。
また、たとえば、通常遊技と、通常遊技より遊技者にとって有利となる特別遊技(1BB遊技;第一種ビッグボーナスゲーム;第一種役物連続作動装置の作動)とを実行可能とし、通常遊技から特別遊技に移行したときは、特別遊技の終了時に、打ち止めとなり、遊技を進行させることができなくなるようにしてもよい。すなわち、打ち止め機能を備えてもよい。また、打ち止めとなる条件は、特別遊技の終了時に限らず、適宜設定することができる。そして、打ち止めとなる条件を満たしたときに、イネーブル信号をオフにするようにしてもよい。
この場合、打ち止め機能を有効(打ち止め有り)にするか又は無効(打ち止め無し)にするかを設定する(切り替える)ための打ち止め有無設定スイッチを備えることができる。また、打ち止めを解除するための打ち止め解除スイッチを備えることができる。そして、打ち止めとなる条件を満たしたときは、打ち止め解除スイッチを操作することにより、打ち止めを解除して、遊技を進行可能にするとともに、イネーブル信号をオンにすることができる。また、打ち止め解除スイッチは、たとえば、設定スイッチ13やリセットスイッチ14などの他のスイッチと兼用にすることができる。
また、払出制御基板100のクレジット数管理CPU105は、クレジット数管理手段111を備える。そして、クレジット数管理手段111は、メイン制御基板50から送信された制御コマンド、管理装置200から送信された制御コマンド、及び計数スイッチ47の操作に基づいて、クレジット数を管理(加算又は減算)するとともに、クレジット数表示LED76におけるクレジット数の表示を制御する。
また、管理装置(CRユニット)200は、電子メダルの貸出し及び払戻しの管理を行うための装置である。1台のスロットマシン10につき、1台の管理装置200が設置される。ホールでは、管理装置200は、スロットマシン10の間に配置されることから、サンドと称される。また、スロットマシン10と、そのスロットマシン10に対応する管理装置200とから、1つの遊技システムが構成される。
図1に示すように、スロットマシン10の払出制御基板100と管理装置200とは、電気的に接続されており、双方向での通信が可能に形成されている。
なお、払出制御基板100と管理装置200とは、遊技球等貸出装置接続端子板を介して接続される。
また、払出制御基板100と管理装置200は、電気的に接続されることに限らず、光通信手段を用いた接続であってもよい。
さらにまた、電気的接続及び光通信接続のいずれにおいても、シリアル通信としてもよく、パラレル通信としてもよく、シリアル通信とパラレル通信とを併用してもよい。
また、図1に示すように、払出制御基板100は、メイン制御基板50との間で双方向通信が可能とされているとともに、管理装置200との間でも双方向通信が可能とされている。
そして、管理装置200と払出制御基板100との間の通信により、管理装置200から払出制御基板100に電子メダルを移行(貸出し)可能とされ、貸し出された電子メダルを払出制御基板100にクレジット可能とされている。
また、払出制御基板100とメイン制御基板50との間の通信により、払出制御基板100にクレジットされている電子メダルをベットして遊技を実行可能とされ、役の入賞時には、払い出された電子メダルを払出制御基板100にクレジット可能とされている。
さらに、遊技者が遊技をやめるときは、管理装置200と払出制御基板100との間の通信により、払出制御基板100にクレジットされている電子メダルを管理装置200に移行(払戻し)可能とされている。
図1に示すように、管理装置200は、紙幣投入口201、貸出スイッチ202、返却スイッチ203、度数表示部204、及びカードリーダライタ205等を備えている。
紙幣投入口201は、電子メダルの貸出しに必要な紙幣(たとえば千円札)を挿入するための投入口である。
紙幣投入口201から管理装置200内に挿入された紙幣が正しく認識されると、投入された紙幣に対応する度数が度数表示部204に表示される。度数表示部204は、たとえば3桁の7セグから構成される。たとえば千円札を投入したときは、度数として「10」と表示され、一万円札を投入したときは、度数として「100」と表示される。
貸出スイッチ202は、度数表示部204に残度数が表示されていることを条件として、電子メダルを貸し出すときに遊技者に操作されるスイッチである。
たとえば、貸出スイッチ202が1回押されるごとに、度数「10」に相当する電子メダルの貸出しが行われるようにすることができる。
ここで、たとえば、紙幣投入口201から管理装置200内に千円札を投入したときに度数表示部204に表示される度数が「10」であり、度数「1」あたり貸し出される電子メダルの枚数が5枚であるとする。この場合、度数表示部204の表示が「10」のときに貸出スイッチ202を操作すると、50枚の電子メダルが貸し出される。そして、管理装置200と払出制御基板100との間の通信により、貸し出された50枚の電子メダルが払出制御基板100にクレジットされる。
払出制御基板100にクレジットされている電子メダルの枚数は、クレジット数表示LED76に表示される。たとえば、クレジット数が「0」のときに、50枚の電子メダルが貸し出されると、クレジット数表示LED76の表示が「0」から「50」になる。
このように、本実施形態では、物理的な(有体物としての)メダルが遊技者に貸し出されることはなく、管理装置200と払出制御基板100との間の通信により、貸し出された電子メダルが管理装置200から払出制御基板100に移行してクレジットされる。
返却スイッチ203は、遊技をやめるときに遊技者に操作されるスイッチである。
スロットマシン10の計数スイッチ47を操作すると、スロットマシン10から管理装置に電子メダルが戻される。そして、管理装置200の返却スイッチ203を操作すると、スロットマシン10から管理装置200に戻された電子メダルの枚数、及び度数表示部204に表示された度数に相当する電子メダルの枚数が、電子データとしてカード(磁気カードやICカード等)に記憶され、そのカードがカードリーダライタ205の排出口から排出される。
たとえば、管理装置200の度数表示部204に、度数「10」(電子メダル50枚分に相当する。)が表示されているとする。さらに、スロットマシン10の計数スイッチ47を操作することにより、150枚の電子メダルがスロットマシン10から管理装置200に戻されたとする。このとき、管理装置200の返却スイッチ203が操作されると、電子メダル200枚分に相当する電子データがカードに記憶されてカードリーダライタ205の排出口から排出される。
また、図1に示すように、管理装置200は、ホールコンピュータ300と電気的に接続されている。そして、管理装置200からホールコンピュータ300に対して電子メダルの貸出しや払戻し等に関する情報が一方向で送信される。
図2は、電力供給経路の例1を示す図である。
図1では図示を省略したが、図2に示すように、スロットマシン10は、電源基板150を備えている。また、電源基板150には、蓄電用のコンデンサ151が搭載されており、払出制御基板100にも、蓄電用のコンデンサ106が搭載されている。
さらにまた、電源基板150とメイン制御基板50とは、ハーネスA161で接続されており、このハーネスA161を通じて、電源基板150からメイン制御基板50に電力を供給可能とされている。
さらに、電源基板150と払出制御基板100とは、ハーネスC163で接続されており、このハーネスC163を通じて、電源基板150から払出制御基板100に電力を供給可能とされている。
電源基板150には、外部から交流で電力が供給される。そして、電源基板150で交流を直流に変換して、メイン制御基板50及び払出制御基板100に電力を供給する。
また、メイン制御基板50と払出制御基板100とは、ハーネスB162で接続されており、このハーネスB162を通して、メイン制御基板50から払出制御基板100に、又は払出制御基板100からメイン制御基板50に、電力を供給可能とされている。
さらにまた、メイン制御基板50と払出制御基板100とは、ハーネスD164で接続されており、このハーネスD164を通して、メイン制御基板50と払出制御基板100との間で双方向でコマンドの通信が可能とされている。
払出制御基板100は、電子メダルのクレジット数を管理する制御基板であり、その安定性は遊技者の利益に大きくかかわるため、電源基板150からハーネスC163を通じて払出制御基板100に直接電力を供給するようにしている。
また、ハーネスC163が切れてしまったときは、電源基板150から、ハーネスA161、メイン制御基板50、及びハーネスB162を介して、払出制御基板100に電力を供給可能とされている。
さらにまた、払出制御基板100には蓄電用のコンデンサ106が搭載されており、電源基板150からの電力供給が途絶えたときは、コンデンサ106から払出制御基板100に電力を供給可能とされている。
さらに、ハーネスA161及びハーネスC163が切れてしまったときは、コンデンサ106から払出制御基板100に電力を供給するとともに、ハーネスB162を通して、払出制御基板100からメイン制御基板50に電力を供給可能とされている。
このように、例1では、払出制御基板100にバックアップ電源用のコンデンサ106を搭載しており、ハーネスA161やハーネスC163の切断等により電源基板150からの電力供給が途絶えてしまったとしても、払出制御基板100やメイン制御基板50が駆動するようにし、電断時の処理を確実に実行できるようにして、遊技者に不利益を及ぼさないようにしている。
図3は、電力供給経路の例2を示す図である。
図3に示すように、例2では、電源基板150には、コンデンサが搭載されておらず、払出制御基板100には、蓄電用のコンデンサA107及びコンデンサB108が搭載されている。
また、電源基板150とメイン制御基板50とは、ハーネスE165で接続されており、このハーネスE165を通じて、電源基板150からメイン制御基板50に電力を供給可能とされている。
さらにまた、電源基板150と払出制御基板100とは、ハーネスG167で接続されており、このハーネスG167を通じて、電源基板150から払出制御基板100に電力を供給可能とされている。
さらに、メイン制御基板50と払出制御基板100とは、ハーネスF166で接続されており、このハーネスF166を通して、メイン制御基板50から払出制御基板100に、又は払出制御基板100からメイン制御基板50に、電力を供給可能とされている。
また、メイン制御基板50と払出制御基板100とは、ハーネスH168で接続されており、このハーネスH168を通して、メイン制御基板50と払出制御基板100との間で双方向でコマンドの通信が可能とされている。
そして、ハーネスG167が切れてしまったときは、電源基板150から、ハーネスE165、メイン制御基板50、及びハーネスF166を介して、払出制御基板100に電力を供給可能とされている。
また、払出制御基板100には蓄電用のコンデンサA107及びコンデンサB108が搭載されており、電源基板150からの電力供給が途絶えたときは、コンデンサA107及びコンデンサB108から払出制御基板100に電力を供給可能とされている。
さらに、ハーネスE165及びハーネスG167が切れてしまったときは、コンデンサA107及びコンデンサB108から払出制御基板100に電力を供給するとともに、コンデンサA107からハーネスF166を通してメイン制御基板50に電力を供給可能とされている。
例2においても、電源基板150からの電力供給が途絶えたときに、払出制御基板100に搭載されたバックアップ電源用のコンデンサから払出制御基板100及びメイン制御基板50に電力を供給することは、例1と同様である。
ただし、例2では、コンデンサB108を、払出制御基板100専用のバックアップ電源としている。これにより、ハーネスE165やハーネスG167の切断等により電源基板150からの電力供給が途絶えてしまったとしても、電子メダルのクレジット数を管理する払出制御基板100が確実に駆動するようにし、電断時の処理を確実に実行できるようにして、遊技者に不利益を及ぼさないようにしている。
なお、例2では、コンデンサB108の電気容量を、コンデンサA107の電気容量より大きく設定することが好ましい。これにより、遊技者の利益に大きくかかわる払出制御基板100に対してバックアップの電力を確実に供給し、電断時の処理を確実に実行できるようにすることができる。
また、本実施形態では、電源断時には、メイン制御基板50上のプログラムより先に払出制御基板100上のプログラムが停止するように設定されている。
さらに、本実施形態では、電源断からの復帰時には、メイン制御基板50上のプログラムより先に払出制御基板100上のプログラムが起動するように設定されている。
図4~図7は、コマンド一覧を示す図である。
図4は、メイン制御基板50から払出制御基板100に送信されるコマンドの一覧を示す図であり、図5は、払出制御基板100からメイン制御基板50に送信されるコマンドの一覧を示す図である。
また、図6は、管理装置200から払出制御基板100に送信されるコマンドの一覧を示す図であり、図7は、払出制御基板100から管理装置200に送信されるコマンドの一覧を示す図である。
ここで、メイン制御基板50から払出制御基板100に送信されるコマンドを総称して「メイン制御コマンド」という。
また、払出制御基板100からメイン制御基板50に送信されるコマンドを総称して「払出制御コマンド」という。
さらにまた、払出制御基板100から管理装置200に送信されるコマンドを総称して「遊技機コマンド」という。
さらに、管理装置200から払出制御基板100に送信されるコマンドを総称して「管理装置コマンド」という。
本実施形態では、メイン制御コマンド、払出制御コマンド、遊技機コマンド、管理装置コマンドは、いずれも、16ビット(2バイト)のデータで構成されている。
また、メイン制御コマンド、払出制御コマンド、遊技機コマンド、管理装置コマンドは、いずれも、先行コマンド(上位8ビット)及び後続コマンド(下位8ビット)から構成されている。
すなわち、先行コマンド及び後続コマンドからなる16ビット(2バイト)のデータで1つのメイン制御コマンド、払出制御コマンド、遊技機コマンド、管理装置コマンドが構成されている。
また、先行コマンドは、コマンドの種別を示すデータであり、後続コマンドは、パラメータ(変数)を示すデータである。
そして、本実施形態では、メイン制御基板50と払出制御基板100との間、及び払出制御基板100と管理装置200との間では、シリアル通信でコマンドの送受信を行う。
図4~図7中、「先行」の欄のデータは、先行コマンド(上位8ビット)を示しており、「後続」の欄のデータは、後続コマンド(下位8ビット)を示している。また、先行コマンド及び後続コマンドは、いずれも、16進数で表している。
メイン制御コマンドとして、図4中の「内容」の欄に記載されている8種類のコマンドを挙げることができる。また、これら8種類のコマンドのうち、設定変更開始コマンド、設定変更終了コマンド、遊技開始+RT状態コマンド、遊技終了+遊技状態コマンドを総称して「遊技情報コマンド」と称する。さらにまた、投入要求コマンド、払出要求コマンド、返却要求コマンドを総称して「演算要求コマンド」と称する。
払出制御コマンドとして、図5中の「内容」の欄に記載されている12種類のコマンドを挙げることができる。また、投入要求コマンドのACK応答は「投入復唱コマンド」とも称し、投入要求コマンドのNAK応答は「投入不可コマンド」とも称する。同様に、払出要求コマンドのACK応答、同NAK応答、返却要求コマンドのACK応答、同NAK応答は、それぞれ「払出復唱コマンド」、「払出不可コマンド」、「返却復唱コマンド」、「返却不可コマンド」とも称する。さらにまた、異常時のNAK応答は「エラーコマンド」とも称する。
管理装置コマンドとして、図6中の「内容」の欄に記載されている5種類のコマンドを挙げることができる。また、下位計数要求コマンドのACK応答は「下位計数復唱コマンド」とも称し、上位計数要求コマンドのACK応答は「上位計数復唱コマンド」とも称する。
遊技機コマンドとして、図7中の「内容」の欄に記載されている13種類のコマンドを挙げることができる。また、貸出要求コマンドのACK応答は「貸出復唱コマンド」とも称する。
図4中、起動確認コマンドは、メイン制御基板50と払出制御基板100との間の通信が正常であるか否かをメイン制御基板50側で確認するためのコマンドであって、電源投入時にメイン制御基板50から払出制御基板100に対して送信されるコマンドである。
メイン制御基板50は、電源投入時に、払出制御基板100に対し、起動確認コマンドを送信する。また、払出制御基板100は、起動確認コマンドを受信すると、これをそのままメイン制御基板50に送り返す(図5に示す起動確認コマンドのACK応答)。
そして、メイン制御基板50側では、送信した起動確認コマンドがそのまま払出制御基板100から送り返されることにより、メイン制御基板50と払出制御基板100との間の通信が正常であると判断することができる。
また、上述したように、電源断時には、メイン制御基板50上のプログラムより先に払出制御基板100上のプログラムが停止し、電源断からの復帰時には、メイン制御基板50上のプログラムより先に払出制御基板100上のプログラムが起動する。
ここで、電源投入時、すなわち、電源断からの復帰時には、メイン制御基板50から払出制御基板100に対し起動確認コマンドを送信するが、払出制御基板100上のプログラムの方が先に起動するため、起動確認コマンドを確実に受信することができる。そして、メイン制御基板50は、送信した起動確認コマンドがそのまま払出制御基板100から送り返されることにより、メイン制御基板50と払出制御基板100との間の通信が正常であると判断すると、その後の処理を進めるように設定されている。
図4中、設定変更開始コマンドは、設定変更モードに移行したことを払出制御基板100側に伝達するためのコマンドであって、設定変更モードへの移行時にメイン制御基板50から払出制御基板100に対して送信されるコマンドである。また、後続の「01H」は、設定キースイッチ12がオン状態であることを示している。
メイン制御基板50は、設定変更モードへの移行時に、払出制御基板100に対し、設定変更開始コマンドを送信する。また、払出制御基板100は、設定変更開始コマンドを受信すると、これをそのままメイン制御基板50に送り返し(図5に示す設定変更開始コマンドのACK応答)、さらに、管理装置200に対しても設定変更開始コマンドを送信する(図7)。すなわち、払出制御基板100は、メイン制御基板50及び管理装置200の双方に設定変更開始コマンドを送信する。
これにより、払出制御基板100側では、設定変更モードに移行したと判断することができる。また、メイン制御基板50側では、送信した設定変更開始コマンドがそのまま払出制御基板100から送り返されることにより、設定変更モードへの移行を払出制御基板100に伝達できたと判断することができる。さらに、管理装置200側でも、設定変更モードに移行したと判断することができる。
図4中、設定変更終了コマンドは、設定変更モードが終了したことを払出制御基板100側に伝達するためのコマンドであって、設定変更モードの終了時にメイン制御基板50から払出制御基板100に対して送信されるコマンドである。また、後続の「00H」は、設定キースイッチ12がオフ状態であることを示している。
メイン制御基板50は、設定変更モードの終了時に、払出制御基板100に対し、設定変更終了コマンドを送信する。また、払出制御基板100は、設定変更終了コマンドを受信すると、これをそのままメイン制御基板50に送り返し(図5に示す設定変更終了コマンドのACK応答)、さらに、管理装置200に対しても設定変更終了コマンドを送信する(図7)。すなわち、払出制御基板100は、メイン制御基板50及び管理装置200の双方に設定変更終了コマンドを送信する。
これにより、払出制御基板100側では、設定変更モードが終了したと判断することができる。また、メイン制御基板50側では、送信した設定変更終了コマンドがそのまま払出制御基板100から送り返されることにより、設定変更モードの終了を払出制御基板100に伝達できたと判断することができる。さらに、管理装置200側でも、設定変更モードが終了したと判断することができる。
図4中、遊技開始+RT状態コマンドは、遊技が開始したこと及びRT状態を払出制御基板100側に伝達するためのコマンドであって、スタートスイッチ41のオン時にメイン制御基板50から払出制御基板100に送信されるコマンドである。
メイン制御基板50は、スタートスイッチ41のオン時に、払出制御基板100に対し、遊技開始+RT状態コマンドを送信する。また、払出制御基板100は、遊技開始+RT状態コマンドを受信すると、これをそのままメイン制御基板50に送り返し(図5に示す遊技開始+RT状態コマンドのACK応答)、さらに、管理装置200に対しても遊技開始+RT状態コマンドを送信する(図7)。すなわち、払出制御基板100は、メイン制御基板50及び管理装置200の双方に遊技開始+RT状態コマンドを送信する。
これにより、払出制御基板100側では、遊技が開始したこと、及びRT状態を判断することができる。また、メイン制御基板50側では、送信した遊技開始+RT状態コマンドがそのまま払出制御基板100から送り返されることにより、遊技開始及びRT状態を払出制御基板100に伝達できたと判断することができる。さらに、管理装置200側でも、遊技が開始したこと、及びRT状態を判断することができる。
図4中、遊技終了+遊技状態コマンドは、遊技が終了したこと及び遊技状態を払出制御基板100側に伝達するためのコマンドであって、第3ストップスイッチ42(最後に停止するリール31に対応するストップスイッチ42)がオンからオフになった時にメイン制御基板50から払出制御基板100に送信されるコマンドである。
メイン制御基板50は、第3ストップスイッチ42がオンからオフになった(遊技者が第3ストップスイッチ42から手を離した)時に、払出制御基板100に対し、遊技終了+遊技状態コマンドを送信する。また、払出制御基板100は、遊技終了+遊技状態コマンドを受信すると、これをそのままメイン制御基板50に送り返し(図5に示す遊技終了+遊技状態コマンドのACK応答)、さらに、管理装置200に対しても遊技終了+遊技状態コマンドを送信する(図7)。すなわち、払出制御基板100は、メイン制御基板50及び管理装置200の双方に遊技終了+遊技状態コマンドを送信する。
これにより、払出制御基板100側では、遊技が終了したこと、及び遊技状態を判断することができる。また、メイン制御基板50側では、送信した遊技終了+遊技状態コマンドがそのまま払出制御基板100から送り返されることにより、遊技終了及び遊技状態を払出制御基板100に伝達できたと判断することができる。さらに、管理装置200側でも、遊技が終了したこと、及び遊技状態を判断することができる。
図4中、投入要求コマンドは、ベット数をクレジット数から減算することを払出制御基板100に要求するコマンドであって、ベットスイッチ40のオン時にメイン制御基板50から払出制御基板100に送信されるコマンドである。
また、投入要求コマンドの後続コマンドは、ベット数(ベットスイッチ40の操作に基づきクレジット数から減算することを要求する数)を示す。
本実施形態では、メイン制御基板50は、1ベットスイッチ40aのオン時に、払出制御基板100に対し、投入要求コマンドとして、クレジット数からベット数「1」を減算することを要求する「2001H」(1枚投入要求コマンド)を送信する。
また、メイン制御基板50は、3ベットスイッチ40bのオン時に、払出制御基板100に対し、投入要求コマンドとして、クレジット数からベット数「3」を減算することを要求する「2003H」(3枚投入要求コマンド)を送信する。
なお、3ベットスイッチ40bのオン時に、払出制御基板100に対し、投入要求コマンドとして、1枚投入要求コマンドを3回送信してもよい。
また、払出制御基板100は、投入要求コマンドを受信すると、投入要求を受付け可能であるか否か、具体的には、クレジット数がベット数(投入要求コマンドの後続コマンドが示す数)以上であるか否かを判断する。
そして、投入要求を受付け可能であると判断したとき、すなわち、クレジット数がベット数以上であると判断したときは、払出制御基板100は、クレジット数からベット数を減算する処理を実行し、クレジット数表示LED76の表示を更新する処理を実行し、投入復唱コマンドをメイン制御基板50に送信する(受信した投入要求コマンドをそのままメイン制御基板50に送り返す(図5に示す投入要求コマンドのACK応答))。
たとえば、クレジット数が「50」のときに、3枚投入要求コマンド「2003H」を受信すると、払出制御基板100は、クレジット数「50」から、3枚投入要求コマンド「2003H」の後続コマンドが示すベット数「3」を減算する処理を実行し、クレジット数表示LED76の表示を「50」から「47」に変更し、投入復唱コマンドをメイン制御基板50に送信する。
これに対し、投入要求を受付け不可であると判断したとき、すなわち、クレジット数がベット数未満であると判断した(たとえば、クレジット数が「2」の状況下で、3枚投入要求コマンド「2003H」を受信した)ときは、払出制御基板100は、クレジット数からベット数を減算する処理は実行せずに、投入不可コマンドをメイン制御基板50に送信する(図5に示す投入要求コマンドのNAK応答)。
さらに、投入復唱コマンドを受信した(送信した投入要求コマンドがそのまま払出制御基板100から送り返された)ときは、メイン制御基板50は、ベット数をクレジット数から減算する要求が許可されたと判断し、電子メダルのベットに応じた処理(たとえば、1ベット表示LED~3ベット表示LEDを点灯させる処理、及びスタートスイッチ41の操作を受付け可能にする処理)を実行する。
これに対し、投入不可コマンドを受信したときは、メイン制御基板50は、ベット数をクレジット数から減算する要求が許可されなかったと判断し、電子メダルのベットに応じた処理を実行しない。
また、投入要求コマンドを送信した後、所定時間を経過しても、投入復唱コマンド及び投入不可コマンドのいずれも受信しないと、タイムアウトとなり、メイン制御基板50は、払出制御基板100に対し、再度、投入要求コマンドを送信する。
このように、クレジット数からベット数を減算することを払出制御基板100に要求するときは、メイン制御基板50と払出制御基板100との間で一往復のコマンド通信を行う。
これにより、電子メダルのベットに関する処理がメイン制御基板50及び払出制御基板100の双方で確実に実行され、クレジット数の管理が正確に行われるので、遊技者に不利益を与えないようにすることができる。
また、上述したように、電源断時には、メイン制御基板50上のプログラムより先に払出制御基板100上のプログラムが停止し、電源断からの復帰時には、メイン制御基板50上のプログラムより先に払出制御基板100上のプログラムが起動する。
さらにまた、メイン制御基板50は、ベットスイッチ40のオン時に、払出制御基板100に投入要求コマンドを送信し、払出制御基板100は、投入要求コマンドの受信時に、投入要求を受付け可能であれば、メイン制御基板50に投入復唱コマンドを送信し、投入要求を受付け不可であれば、メイン制御基板50に投入不可コマンドを送信する。
さらに、メイン制御基板50は、投入復唱コマンドを受信したときは、電子メダルのベットに応じた処理を実行し、投入不可コマンドを受信したときは、電子メダルのベットに応じた処理を実行せず、投入復唱コマンド及び投入不可コマンドのいずれも受信しないと、払出制御基板100に対し、再度、投入要求コマンドを送信する。
ここで、メイン制御基板50が払出制御基板100に投入要求コマンドを送信した後、払出制御基板100が投入要求コマンドを受信する前に、電源断が発生し、払出制御基板100上のプログラムが停止したとする。この場合、メイン制御基板50は、投入復唱コマンド及び投入不可コマンドのいずれも受信しないことになり、電源断からの復帰後に、払出制御基板100に対し、再度、投入要求コマンドを送信することになるため、メイン制御基板50と払出制御基板100との間で確実にコマンドを送受信できる。
また、メイン制御基板50が払出制御基板100に投入要求コマンドを送信し、払出制御基板100が投入要求コマンドを受信したが、メイン制御基板50に投入復唱コマンド又は投入不可コマンドを送信する前に、電源断が発生し、払出制御基板100上のプログラムが停止したとする。この場合、電源断からの復帰後に、払出制御基板100は、メイン制御基板50に対し、投入復唱コマンド又は投入不可コマンドを送信するので、メイン制御基板50と払出制御基板100との間で確実にコマンドを送受信できる。
なお、電源投入時、すなわち、電源断からの復帰時には、メイン制御基板50は、払出制御基板100に、起動確認コマンドを送信し、払出制御基板100は、起動確認コマンドを受信すると、これをそのままメイン制御基板50に送り返す。そして、メイン制御基板50は、送信した起動確認コマンドがそのまま払出制御基板100から送り返されると、メイン制御基板50と払出制御基板100との間の通信が正常であると判断する。その後、払出制御基板100は、メイン制御基板50に、投入復唱コマンド又は投入不可コマンドを送信する。このため、電源断からの復帰時には、メイン制御基板50上のプログラムより先に払出制御基板100上のプログラムが起動するが、メイン制御基板50は、投入復唱コマンド又は投入不可コマンドを確実に受信することができる。
また、メイン制御基板50が払出制御基板100に投入要求コマンドを送信し、払出制御基板100が投入要求コマンドを受信して、メイン制御基板50に投入復唱コマンド又は投入不可コマンドを送信した後に、電源断が発生し、払出制御基板100のプログラムが停止したとする。この場合、払出制御基板100上のプログラムが停止した後にメイン制御基板50上のプログラムが停止するため、メイン制御基板50は、払出制御基板100が送信した投入復唱コマンド又は投入不可コマンドを受信することができるので、メイン制御基板50と払出制御基板100との間で確実にコマンドを送受信できる。
図4中、払出要求コマンドは、払出し枚数をクレジット数に加算することを払出制御基板100に要求するコマンドであって、第3ストップスイッチ42がオンからオフになった時にメイン制御基板50から払出制御基板100に送信されるコマンドである。
また、払出要求コマンドの後続コマンドは、払出し枚数(役の入賞に基づきクレジット数に加算することを要求する数)を示す。
たとえば、10枚役の入賞時には、メイン制御基板50は、第3ストップスイッチ42がオンからオフになった時に、払出制御基板100に対し、払出要求コマンドとして、クレジット数に払出し枚数「10」を加算することを要求する「210AH」を送信する。
なお、役の非入賞時にも、メイン制御基板50は、第3ストップスイッチ42がオンからオフになった時に、払出制御基板100に、払出要求コマンドを送信する。この場合、払出し枚数は「0」であるので、払出要求コマンドは「2100H」となる。
また、払出制御基板100は、払出要求コマンドを受信すると、払出し要求を受付け可能であるか否か、具体的には、クレジット数に払出し枚数(払出要求コマンドの後続コマンドが示す数)を加算することによりクレジット数の上限値(本実施形態では「10000」)を超えるか否かを判断する。
そして、払出し要求を受付け可能であると判断したとき、すなわち、クレジット数に払出し枚数を加算してもクレジット数の上限値以下であると判断したときは、払出制御基板100は、クレジット数に払出し枚数を加算する処理を実行し、クレジット数表示LED76の表示を更新する処理を実行し、払出復唱コマンドをメイン制御基板50に送信する(受信した払出要求コマンドをそのままメイン制御基板50に送り返す(図5に示す払出要求コマンドのACK応答))。
たとえば、クレジット数が「50」のときに、払出要求コマンド「210AH」(10枚払出し)を受信すると、払出制御基板100は、クレジット数「50」に、払出要求コマンド「210AH」の後続コマンドが示す払出し枚数「10」を加算する処理を実行し、クレジット数表示LEDの表示を「50」から「60」に変更し、払出復唱コマンドをメイン制御基板50に送信する。
これに対し、払出し要求を受付け不可であると判断したとき、すなわち、クレジット数に払出し枚数を加算するとクレジット数の上限値を超えると判断した(たとえば、クレジット数が「9995」の状況下で、払出要求コマンド「210AH」(10枚払出し)を受信した)ときは、払出制御基板100は、クレジット数に払出し枚数を加算する処理を実行せずに、払出不可コマンドをメイン制御基板50に送信する(図5に示す払出要求コマンドのNAK応答)。
さらに、払出復唱コマンドを受信した(送信した払出要求コマンドがそのまま払出制御基板100から送り返された)ときは、メイン制御基板50は、払出し枚数をクレジット数に加算することの要求が許可されたと判断し、役の入賞に基づく電子メダルの払出しに応じた処理(たとえば、獲得数表示LED78に電子メダルの払出し枚数を表示する処理)を実行する。
これに対し、払出不可コマンドを受信したときは、メイン制御基板50は、払出し枚数をクレジット数に加算することの要求が許可されなかったと判断し、役の入賞に基づく電子メダルの払出しに応じた処理を実行しない。
このように、入賞役に応じた払出し枚数をクレジット数に加算することを払出制御基板100に要求するときは、メイン制御基板50と払出制御基板100との間で一往復のコマンド通信を行う。
これにより、役の入賞に基づく電子メダルの払出しに関する処理がメイン制御基板50及び払出制御基板100の双方で確実に実行され、クレジット数の管理が正確に行われるので、遊技者に不利益を与えないようにすることができる。
図4中、返却要求コマンドは、ベットされた電子メダルをクレジットに戻すことを払出制御基板100に要求するコマンドであって、キャンセルスイッチ46のオン時にメイン制御基板50から払出制御基板100に送信されるコマンドである。
また、返却要求コマンドの後続コマンドは、返却枚数(電子メダルの返却に基づきクレジット数に加算することを要求する数)を示す。
たとえば、3枚の電子メダルがベットされた状態でキャンセルスイッチ46が操作されると、メイン制御基板50は、キャンセルスイッチ46のオン時に、払出制御基板100に対し、返却要求コマンドとして、クレジット数に返却枚数「3」を加算することを要求する「2203H」を送信する。
また、払出制御基板100は、返却要求コマンドを受信すると、返却要求を受付け可能であるか否か、具体的には、クレジット数に返却枚数(返却要求コマンドの後続コマンドが示す数)を加算することによりクレジット数の上限値(本実施形態では「10000」)を超えるか否かを判断する。
そして、返却要求を受付け可能であると判断したとき、すなわち、クレジット数に返却枚数を加算してもクレジット数の上限値以下であると判断したときは、払出制御基板100は、クレジット数に返却枚数を加算する処理を実行し、クレジット数表示LED76の表示を更新する処理を実行し、返却復唱コマンドをメイン制御基板50に送信する(受信した返却要求コマンドをそのままメイン制御基板50に送り返す(図5に示す返却要求コマンドのACK応答))。
たとえば、クレジット数が「100」のときに、返却要求コマンド「2203H」を受信すると、払出制御基板100は、クレジット数「100」に、返却要求コマンド「2203H」の後続コマンドが示す返却枚数「3」を加算する処理を実行し、クレジット数表示LEDの表示を「100」から「103」に変更し、返却復唱コマンドをメイン制御基板50に送信する。
これに対し、返却要求を受付け不可であると判断したとき、すなわち、クレジット数に返却枚数を加算するとクレジット数の上限値を超えると判断した(たとえば、クレジット数が「9999」の状況下で、返却要求コマンド「2203H」を受信した(3枚の電子メダルの返却要求があった))ときは、払出制御基板100は、クレジット数に返却枚数を加算する処理を実行せずに、返却不可コマンドをメイン制御基板50に送信する(図5に示す返却要求コマンドのNAK応答)。
さらに、返却復唱コマンドを受信した(送信した返却要求コマンドがそのまま払出制御基板100から送り返された)ときは、メイン制御基板50は、返却枚数をクレジット数に加算することの要求が許可されたと判断し、電子メダルの返却に応じた処理(たとえば、1ベット表示LED~3ベット表示LEDを消灯させる処理、及びスタートスイッチ41の操作を受付け不可にする処理)を実行する。
これに対し、返却不可コマンドを受信したときは、メイン制御基板50は、返却枚数をクレジット数に加算することの要求が許可されなかったと判断し、電子メダルの返却に応じた処理を実行しない。
このように、ベットされた電子メダルをクレジットに戻すことを払出制御基板100に要求するときは、メイン制御基板50と払出制御基板100との間で一往復のコマンド通信を行う。
これにより、電子メダルの返却に関する処理がメイン制御基板50及び払出制御基板100の双方で確実に実行され、クレジット数の管理が正確に行われるので、遊技者に不利益を与えないようにすることができる。
図6中、貸出要求コマンドは、貸出し枚数をクレジット数に加算することを払出制御基板100に要求するコマンドであって、貸出スイッチ202のオン時に管理装置(CRユニット)200から払出制御基板100に送信されるコマンドである。
また、貸出要求コマンドの後続コマンドは、貸出し枚数(電子メダルの貸出しに基づきクレジット数に加算することを要求する数)を示す。
たとえば、管理装置200の紙幣投入口201に千円札が投入されて、度数表示部204に度数「10」が表示された状況下で、貸出スイッチ202が操作されると、管理装置200は、貸出スイッチ202のオン時に、払出制御基板100に対し、貸出要求コマンドとして、クレジット数に貸出し枚数「50」を加算することを要求する「4032H」を送信する。
また、払出制御基板100は、貸出要求コマンドを受信すると、貸出し要求を受付け可能であるか否か、具体的には、クレジット数に貸出し枚数(貸出要求コマンドの後続コマンドが示す数)を加算することによりクレジット数の上限値(本実施形態では「10000」)を超えるか否かを判断する。
そして、貸出し要求を受付け可能であると判断したとき、すなわち、クレジット数に貸出し枚数を加算してもクレジット数の上限値以下であると判断したときは、払出制御基板100は、管理装置200に対し、貸出復唱コマンドを送信する(受信した貸出要求コマンドをそのまま管理装置200に送り返す(図7に示す貸出要求コマンドのACK応答))。
これに対し、貸出し要求を受付け不可であると判断したとき、すなわち、クレジット数に貸出し枚数を加算するとクレジット数の上限値を超えると判断した(たとえば、クレジット数が「9955」の状況下で、貸出要求コマンド「4032H」(貸出し枚数「50」)を受信した)ときは、払出制御基板100は、管理装置200に対し、エラーコマンド「E000H」を送信する(図7に示す異常時のNAK応答)。
また、貸出復唱コマンドを受信した(送信した貸出要求コマンドがそのまま払出制御基板100から送り返された)ときは、管理装置200は、払出制御基板100に対し、貸出し要求の実行を指示する貸出指示コマンドを送信し、さらに、貸出し枚数に応じて度数表示部204の表示を更新する処理を実行する。
たとえば、管理装置200から払出制御基板100に対して貸出要求コマンドとして「4032H」(貸出し枚数「50」)を送信し、その後、払出制御基板100から管理装置200に対して貸出復唱コマンドとして「4032H」(貸出要求コマンドのACK応答)を送信したときは、管理装置200は、払出制御基板100に対し、貸出指示コマンドとして、クレジット数に貸出し枚数「50」を加算することを指示する「4132H」を送信する。さらに、管理装置200は、度数表示部204に表示中の数値から、貸出し枚数「50」に応じた度数「10」を減算する処理を実行する。
これに対し、エラーコマンドを受信したときは、管理装置200は、待機状態に戻るように制御する。
また、貸出指示コマンドを受信すると、払出制御基板100は、クレジット数に貸出し枚数を加算する処理を実行し、クレジット数表示LED76の表示を更新する処理を実行する。
たとえば、クレジット数が「50」のときに、貸出指示コマンド「4132H」(貸出し枚数「50」)を受信すると、払出制御基板100は、クレジット数「50」に、貸出指示コマンド「4132H」の後続コマンドが示す貸出し枚数「50」を加算する処理を実行し、クレジット数表示LEDの表示を「50」から「100」に変更する。
このように、管理装置200からスロットマシン10の払出制御基板100に電子メダルを貸し出すときは、管理装置200と払出制御基板100との間で一往復半のコマンド通信を行う。
これにより、電子メダルの貸出しに関する処理が管理装置200及び払出制御基板100の双方で確実に実行され、クレジット数の管理が正確に行われるので、遊技者に不利益を与えないようにすることができる。
図7中、下位計数要求コマンド及び上位計数要求コマンドは、電子メダルの払戻しを管理装置(CRユニット)200に要求するコマンドであって、計数スイッチ47のオン時に払出制御基板100から管理装置200に送信されるコマンドである。
また、下位計数要求コマンドの後続コマンドは、払戻し枚数(クレジット数)を16ビット(2バイト)で表したときの下位8ビットを示す。
さらにまた、上位計数要求コマンドの後続コマンドは、払戻し枚数(クレジット数)を16ビットで表したときの上位8ビットを示す。
すなわち、下位計数要求コマンドの後続コマンド、及び上位計数要求コマンドの後続コマンドから、払戻し枚数が特定される。
上述したように、本実施形態では、クレジット数の上限値は「10000(D)」に設定されている。また、クレジット数の上限値「10000(D)」は、2進数で表すと「10011100010000(B)」であり、16進数で表すと「2710(H)」である。このように、クレジット数の上限値「10000(D)」は、8ビット(1バイト)で表すことができない。このため、本実施形態では、下位計数要求コマンドの後続コマンド、及び上位計数要求コマンドの後続コマンドの16ビット(2バイト)で、払戻し枚数(クレジット数)を特定するようにしている。
たとえば、払出制御基板100に1000枚の電子メダルがクレジットされている(クレジット数「1000(D)」の)状況下で、計数スイッチ47が操作されたとする。ここで、クレジット数「1000(D)」は、2進数で表すと「1111101000(B)」であり、16進数で表すと「03E8(H)」である。この場合、下位計数要求コマンドは、「50E8(H)」となり、上位計数要求コマンドは、「5103(H)」となる。そして、払出制御基板100は、計数スイッチ47のオン時に、管理装置200に対し、下位計数要求コマンドとして、「50E8(H)」を送信する。
また、下位計数要求コマンドを受信すると、管理装置200は、払戻し要求を受付け可能であるか否かを判断する。
そして、払戻し要求を受付け可能であると判断したときは、管理装置200は、払出制御基板100に対し、下位計数復唱コマンドを送信する(受信した下位計数要求コマンドをそのまま払出制御基板100に送り返す(図6に示す下位計数要求コマンドのACK応答))。
これに対し、払戻し要求を受付け不可であると判断したときは、管理装置200は、払出制御基板100に対し、エラーコマンド「E000H」を送信する(図6に示す異常時のNAK応答)。この場合、管理装置200は、待機状態に戻るように制御する。
また、下位計数復唱コマンドを受信した(送信した下位計数要求コマンドがそのまま管理装置200から送り返された)ときは、払出制御基板100は、管理装置200に対し、上位計数要求コマンドとして、「5103(H)」を送信する。
これに対し、エラーコマンドを受信したときは、払出制御基板100は、上位計数要求コマンドを送信せずに、待機状態に戻るように制御する。
また、上位計数要求コマンドを受信すると、管理装置200は、払出制御基板100に対し、上位計数復唱コマンドを送信する(受信した上位計数要求コマンドをそのまま払出制御基板100に送り返す(図6に示す上位計数要求コマンドのACK応答))。
さらにまた、上位計数復唱コマンドを受信した(送信した上位計数要求コマンドがそのまま管理装置200から送り返された)ときは、払出制御基板100は、管理装置200に対し、計数指示コマンドを送信し、さらに、クレジット数をクリアする(「0」にする)処理を実行し、クレジット数表示LED76の表示を更新する(「0」にする)処理を実行する。
さらに、計数指示コマンドを受信すると、管理装置200は、下位計数要求コマンド及び上位計数要求コマンドから特定される払戻し枚数を、管理装置200側で管理する電子メダルの枚数に反映させる処理を実行するように制御する。
その後、返却スイッチ203が操作されると、管理装置200は、計数スイッチ47の操作によりスロットマシン10(払出制御基板100)から管理装置200に戻された電子メダルの枚数、及び度数表示部204に表示された度数に相当する電子メダルの枚数を、電子データとしてカード(磁気カードやICカード等)に記憶し、そのカードをカードリーダライタ205の排出口から排出する。
このように、スロットマシン10の払出制御基板100から管理装置200に電子メダルを払い戻すときは、払出制御基板100と管理装置200との間で一往復半のコマンド通信を行う。
これにより、電子メダルの払戻しに関する処理が払出制御基板100及び管理装置200の双方で確実に実行され、クレジット数の管理が正確に行われるので、遊技者に不利益を与えないようにすることができる。
また、本実施形態では、クレジット数管理CPU105には、4バイトのデータからなる固有のIDが設定されている。そして、図7中、CPU固有ID1バイト目~4バイト目は、クレジット数管理CPU105に固有のIDの1バイト目~4バイト目を管理装置200に伝達するコマンドである。
払出制御基板100は、電源投入時に、管理装置200に対し、CPU固有ID1バイト目~4バイト目を順次送信する。
また、管理装置200は、CPU固有ID1バイト目~4バイト目を受信すると、これらを所定の記憶領域に記憶(保存)し、かつこれらをホールコンピュータ300に順次送信する。
さらにまた、ホールコンピュータ300は、CPU固有ID1バイト目~4バイト目を受信すると、これらを所定の記憶領域に記憶(保存)する。
さらに、管理装置200及びホールコンピュータ300は、記憶したCPU固有ID1バイト目~4バイト目を履歴として残しておくことが可能とされている。
たとえば、払出制御基板100が不正に交換されると、払出制御基板100に搭載されているクレジット数管理CPU105が変わるため、交換を境に、管理装置200及びホールコンピュータ300に記憶されているCPU固有ID1バイト目~4バイト目も変わることになる。
このため、管理装置200及びホールコンピュータ300に記憶されているCPU固有ID1バイト目~4バイト目が途中で変わっていないか否かをチェックすることにより、払出制御基板100が不正に交換されたか否かを判断することができる。
図8は、払出制御基板100におけるメインルーチンの処理の流れを示すフローチャートである。
払出制御基板100のメインルーチンでは、ステップS101において入力ポート101にいずれかの信号が入力されると、次のステップS102に進み、払出制御基板100は、入力された信号が計数スイッチ47のオン信号であるか否かの判断処理を実行する。
ここで、計数スイッチ47のオン信号であると判断したときは、次のステップS103に進み、計数要求フラグをオンにする処理を実行する。そして、次のステップS104に進む。
これに対し、計数スイッチ47のオン信号でないと判断したときは、ステップS103をスキップして、ステップS104に進む。
ステップS104では、払出制御基板100は、VL信号がオンであるか否かの判断処理を実行する。
ここで、管理装置(CRユニット)200から払出制御基板100にVL信号(直流18Vの信号)が供給されていれば、ステップS104では、VL信号はオンであると判断し、管理装置200と払出制御基板100とが正常に接続されていると判断して、ステップS105に進み、VLエラーフラグをクリアする処理を実行する。そして、ステップS107に進む。
これに対し、管理装置200から払出制御基板100にVL信号が供給されていなければ、ステップS104では、VL信号はオフであると判断し、管理装置200と払出制御基板100とが正常に接続されていないと判断して、ステップS106に進み、VLエラーフラグをセットする処理を実行する。そして、ステップS107に進む。
ステップS107では、払出制御基板100は、入力ポート101に入力された(受信した)信号がメイン制御コマンドであるか否かの判断処理を実行する。
ここで、入力された信号がメイン制御コマンドであると判断したときは、次のステップS108に進み、払出制御基板100は、入力されたメイン制御コマンドをRWM103の所定の記憶領域に記憶(保存)する。そして、次のステップS109に進む。
これに対し、入力された信号がメイン制御コマンドでないと判断したときは、ステップS108をスキップして、ステップS109に進む。
ステップS109では、払出制御基板100は、記憶したコマンドがメイン制御コマンドであるか否かの判断処理を実行する。
ここで、記憶したコマンドがメイン制御コマンドであると判断したときは、次のステップS110に進み、払出制御基板100は、メイン制御コマンド解析処理(図9及び図10)を実行する。メイン制御コマンド解析処理の詳細は後述する。そして、メイン制御コマンド解析処理を実行すると、次のステップS111に進む。
ステップS111では、払出制御基板100は、計数処理(図12)を実行中であるか否かの判断処理を実行する。
ここで、計数処理は、後述するステップS116で「Yes」となったときに開始される処理であり、その詳細については後述する。また、計数処理を実行中に、この計数処理と並行して、払出制御基板100のメインルーチンを実行可能とされている。このため、払出制御基板100のメインルーチンのステップS111において、計数処理を実行中であるか否かの判断処理を実行する。
なお、計数処理の開始時に、計数処理中フラグをセットし、計数処理の終了時に、計数処理中フラグをクリアする。これにより、計数処理中フラグのオン/オフをチェックすることで、計数処理を実行中であるか否かを判断することができる。
そして、ステップS111において、計数処理を実行中であると判断したときは、ステップS113以降の処理を実行することなく、本フローチャートによる処理を終了する。
なお、ステップS111において、計数処理を実行中であると判断したときは、その後、実行中の計数処理を続ける。
これに対し、ステップS111において、計数処理を実行中でないと判断したときは、ステップS113に進み、払出制御基板100は、貸出処理(図11)を実行中であるか否かの判断処理を実行する。
ここで、貸出処理は、後述するステップS118で「Yes」となったときに開始される処理であり、その詳細については後述する。また、貸出処理を実行中に、この貸出処理と並行して、払出制御基板100のメインルーチンを実行可能とされている。このため、払出制御基板100のメインルーチンのステップS113において、貸出処理を実行中であるか否かの判断処理を実行する。
なお、貸出処理の開始時に、貸出処理中フラグをセットし、貸出処理の終了時に、貸出処理中フラグをクリアする。これにより、貸出処理中フラグのオン/オフをチェックすることで、貸出処理を実行中であるか否かを判断することができる。
そして、ステップS113において、貸出処理を実行中であると判断したときは、ステップS115以降の処理を実行することなく、本フローチャートによる処理を終了する。
なお、ステップS113において、貸出処理を実行中であると判断したときは、その後、実行中の貸出処理を続ける。
これに対し、ステップS113において、貸出処理を実行中でないと判断したときは、ステップS115に進み、払出制御基板100は、遊技機コマンドを送信中であるか否かの判断処理を実行する。
ここで、遊技機コマンド送信処理は、後述するステップS118で「No」となったときに実行される処理である。また、遊技機コマンド送信処理を実行中に、この遊技機コマンド送信処理と並行して、払出制御基板100のメインルーチンを実行可能とされている。このため、払出制御基板100のメインルーチンのステップS115において、遊技機コマンド送信処理を実行中であるか否かの判断処理を実行する。
そして、ステップS115において、遊技機コマンド送信処理を実行中であると判断したときは、ステップS116以降の処理を実行することなく、本フローチャートによる処理を終了する。
これに対し、ステップS115において、遊技機コマンド送信処理を実行中でないと判断したときは、ステップS116に進み、払出制御基板100は、計数要求フラグがオンであるか否かの判断処理を実行する。
また、ステップS116において計数要求フラグがオンであると判断したときは、ステップS117に進み、払出制御基板100は、計数処理(図12)を開始する。そして、本フローチャートによる処理を終了する。
これに対し、ステップS116において計数要求フラグがオフであると判断したときは、ステップS118に進み、払出制御基板100は、入力ポート101に入力された(受信した)信号が貸出要求コマンドであるか否かの判断処理を実行する。
ここで、入力された(受信した)信号が貸出要求コマンドであると判断したときは、ステップS119に進み、払出制御基板100は、貸出処理(図11)を開始する。そして、本フローチャートによる処理を終了する。
これに対し、入力された信号が貸出要求コマンドでないと判断したときは、ステップS120に進み、払出制御基板100は、遊技機コマンド送信処理を実行する。この処理は、遊技機コマンドを管理装置200に送信する処理である。そして、本フローチャートによる処理を終了する。
上述したように、ステップS111において計数処理を実行中であるか否かを判断し、計数処理を実行中であると判断したときは、ステップS113以降の処理を実行することなく、実行中の計数処理を続け、計数処理を実行中でないと判断したときは、ステップS113に進んで貸出処理を実行中であるか否かを判断する。
また、ステップS116において計数要求フラグがオンであるか否かを判断し、計数要求フラグがオンであると判断したときはステップS117に進んで計数処理を開始し、計数要求フラグがオフであると判断したときはステップS118に進んで貸出要求コマンドを受信したか否かを判断する。
このように、払出制御基板100は、計数処理(電子メダルの払戻しに関する処理)及び貸出処理(電子メダルの貸出しに関する処理)を実行可能であり、かつ計数処理を実行中であるか否かの判断処理を、貸出処理を実行中であるか否かの判断処理より先に行うとともに、計数要求フラグがオンであるか否かの判断処理を、貸出要求コマンドを受信したか否かの判断処理より先に行うことにより、計数処理を貸出処理より優先して実行するように設定されている。
ここで、計数スイッチ47が操作されると、払出制御基板100は、計数処理を実行する。
また、貸出スイッチ202が操作され、管理装置200から払出制御基板100に貸出要求コマンドが送信されると、払出制御基板100は、貸出処理を実行する。
さらにまた、計数スイッチ47と貸出スイッチ202とが同時に操作されると、払出制御基板100は、計数処理を優先するため、計数処理を実行し、貸出処理は実行しない。
一旦貸し出した電子メダルを払い戻すと、電子メダルを貨幣に等価で交換できない場合には、遊技者に不利益を与えてしまうことになるが、計数処理を優先し、貸出処理を実行せずに、計数処理を実行することにより、遊技者に不利益を与えないようにすることができる。
さらに、貸出処理を実行中に、計数スイッチ47が操作されると、払出制御基板100は、計数スイッチ47の操作を受け付けるとともに、実行中の貸出処理を継続し、貸出処理が終了すると、計数処理を実行する。
すなわち、払出制御基板100は、貸出処理の実行中やリール31の回転中を含め、いかなるときも、計数スイッチ47の操作を受け付けることができ、そして、計数スイッチ47の操作を受け付けておくことにより、その後の適切なタイミングで計数処理を実行することができる。
これにより、計数スイッチ47を1回操作すれば、電子メダルの払戻しが必ず行われるようにすることができ、計数スイッチ47の再操作を不要にすることができるので、遊技者に煩わしい思いをさせないようにすることができる。
図9及び図10は、図8のステップS110におけるメイン制御コマンド解析処理のサブルーチンを示している。図10は、図9に続くフローチャートである。
上述したように、メイン制御基板50から払出制御基板100に送信されるコマンドを総称してメイン制御コマンドという。
また、メイン制御コマンドとして、図4中の「内容」の欄に記載されている8種類のコマンドを挙げることができる。
そして、メイン制御コマンド解析処理では、8種類のコマンドのうち、いずれのコマンドを受信したかを判断し、受信したコマンドに応じた処理を実行する。
具体的には、メイン制御コマンド解析処理では、ステップS131において、エラーフラグがオンであるか(エラーが発生しているか)否かの判断処理を実行する。
そして、エラーフラグがオンであると判断したときは、ステップS132に進み、払出制御基板100は、メイン制御基板50に対し、エラーコマンドを送信する処理を実行する。そして、本フローチャートによる処理を終了する。
これに対し、エラーフラグがオフであると判断したときは、ステップS133に進む。
ステップS133では、払出制御基板100は、受信したコマンドが起動確認コマンドであるか否かの判断処理を実行する。
そして、受信したコマンドが起動確認コマンドであると判断したときは、ステップS134に進み、払出制御基板100は、受信した起動確認コマンドをそのままメイン制御基板50に送り返す処理を実行する(起動確認コマンドのACK応答)。
これに対し、受信したコマンドが起動確認コマンドでないと判断したときは、ステップS135に進む。
ステップS135に進むと、払出制御基板100は、受信したコマンドが投入要求コマンド、返却要求コマンド、又は払出要求コマンドのいずれかであるか否か、すなわち、演算要求コマンドであるか否かの判断処理を実行する。
そして、受信したコマンドが投入要求コマンド、返却要求コマンド、又は払出要求コマンドのいずれかであると判断したとき、すなわち、演算要求コマンドであると判断したときは、図10のステップS138に進む。
これに対し、受信したコマンドが投入要求コマンド、返却要求コマンド、及び払出要求コマンドのいずれでもないと判断したとき、すなわち、演算要求コマンドでないと判断したときは、ステップS136に進む。
ここで、受信したコマンドが起動確認コマンドであれば、ステップS133で「Yes」となってステップS134に進み、また、受信したコマンドが演算要求コマンド(投入要求コマンド、返却要求コマンド、又は払出要求コマンド)であれば、ステップS135で「Yes」となって図10のステップS138に進む。このため、ステップS135で「No」となってステップS136に進むのは、図4の「内容」の欄に示す8種類のコマンドのうち、設定変更開始コマンド、設定変更終了コマンド、遊技開始+RT状態コマンド、又は遊技終了+遊技状態コマンドを受信したとき、すなわち、遊技情報コマンドを受信したときとなる。
そして、払出制御基板100は、ステップS136では、受信した遊技情報コマンド(設定変更開始コマンド、設定変更終了コマンド、遊技開始+RT状態コマンド、又は遊技終了+遊技状態コマンド)を管理装置送信用コマンドバッファにセットする処理を実行し、次のステップS137では、受信した遊技情報コマンドをそのままメイン制御基板50に送り返す処理を実行する(遊技情報コマンドのACK応答)。そして、本フローチャートによる処理を終了する。
なお、ステップS136で遊技情報コマンドを管理装置送信用コマンドバッファにセットする処理が実行されると、この処理以降に実行される払出制御基板100上の割込み処理により、管理装置送信用コマンドバッファに記憶されている遊技情報コマンドが管理装置200に送信されることとなる。
また、図10のステップS138に進むと、払出制御基板100は、受信したコマンドが投入要求コマンドであるか否かの判断処理を実行する。
そして、受信したコマンドが投入要求コマンドであると判断したときは、ステップS139に進み、払出制御基板100は、投入要求コマンドの後続コマンド(下位8ビット)を「03H(00000011B)」でマスクする処理を実行する。
上述したように、投入要求コマンドの後続コマンドは、ベット数を示す。また、ベット数の最大値は「3」に設定されており、3枚投入時には、投入要求コマンドの後続コマンドは「03H(00000011B)」となる。すなわち、ベット数の最大値は、投入要求コマンドの後続コマンドにおけるD0~D1ビットで表すことができる。
このため、ステップS139では、投入要求コマンドの後続コマンドを「03H(00000011B)」でマスクする処理を実行する。すなわち、投入要求コマンドの後続コマンドと「03H(00000011B)」とをAND演算する。
これにより、投入要求コマンドの後続コマンドにおけるD0~D1ビット以外のビットを「0」にすることができ、仮に投入要求コマンドの後続コマンドにおけるD2~D7ビットにノイズで「1」が入っても、これを「0」にすることができるので、投入時にクレジット数から「3」を超える数を誤って減算しないようにすることができる。
また、ステップS139の処理を実行すると、ステップS140に進み、払出制御基板100は、「(クレジット数-ベット数)<0」か否か、すなわち、クレジット数がベット数未満であるか否かの判断処理を実行する。
そして、クレジット数がベット数未満であると判断したときは、ステップS141に進み、払出制御基板100は、投入不可コマンドをメイン制御基板50に送信する処理を実行する(投入要求コマンドのNAK応答)。そして、本フローチャートによる処理を終了する。
これに対し、クレジット数がベット数以上であると判断したときは、払出制御基板100は、ステップS142に進み、クレジット数からベット数を減算する処理を実行し、次のステップS143では、投入復唱コマンドをメイン制御基板50に送信する(受信した投入要求コマンドをそのままメイン制御基板50に送り返す)処理を実行する(投入要求コマンドのACK応答)。そして、本フローチャートによる処理を終了する。
また、ステップS138において、受信したコマンドが投入要求コマンドでないと判断したときは、ステップS144に進み、払出制御基板100は、受信したコマンドが払出要求コマンドであるか否かの判断処理を実行する。
そして、受信したコマンドが払出要求コマンドであると判断したときは、ステップS145に進み、払出制御基板100は、払出要求コマンドの後続コマンド(下位8ビット)を「0FH(00001111B)」でマスクする処理を実行する。
上述したように、払出要求コマンドの後続コマンドは、払出し枚数を示す。また、払出し枚数の最大値は「15」に設定されており、15枚払出し時には、払出要求コマンドの後続コマンドは「0EH(00001110B)」となる。すなわち、払出し枚数の最大値は、払出要求コマンドの後続コマンドにおけるD0~D3ビットで表すことができる。
このため、ステップS145では、払出要求コマンドの後続コマンドを「0FH(00001111B)」でマスクする処理を実行する。すなわち、払出要求コマンドの後続コマンドと「0FH(00001111B)」とをAND演算する。これにより、払出要求コマンドの後続コマンドにおけるD0~D3ビット以外のビットを「0」にすることができ、仮に払出要求コマンドの後続コマンドにおけるD4~D7ビットにノイズで「1」が入っても、これを「0」にすることができるので、払出し時にクレジット数に「15」を超える数を誤って加算しないようにすることができる。
また、ステップS145の処理を実行すると、ステップS146に進み、払出制御基板100は、「(クレジット数+払出し枚数)>上限値」か否か、すなわち、クレジット数に払出し枚数を加算するとクレジット数の上限値(本実施形態では「10000」)を超えるか否かの判断処理を実行する。
そして、クレジット数に払出し枚数を加算するとクレジット数の上限値を超えると判断したときは、ステップS147に進み、払出制御基板100は、払出不可コマンドをメイン制御基板50に送信する処理を実行する(払出要求コマンドのNAK応答)。そして、本フローチャートによる処理を終了する。
これに対し、クレジット数に払出し枚数を加算してもクレジット数の上限値を超えないと判断したときは、払出制御基板100は、ステップS148に進み、クレジット数に払出し枚数を加算する処理を実行し、次のステップS149では、払出復唱コマンドをメイン制御基板50に送信する(受信した払出要求コマンドをそのままメイン制御基板50に送り返す)処理を実行する(払出要求コマンドのACK応答)。そして、本フローチャートによる処理を終了する。
また、ステップS144において、受信したコマンドが払出要求コマンドでないと判断したときは、ステップS150に進み、払出制御基板100は、受信したコマンドが返却要求コマンドであるか否かの判断処理を実行する。
そして、受信したコマンドが返却要求コマンドであると判断したときは、ステップS151に進み、払出制御基板100は、返却要求コマンドの後続コマンド(下位8ビット)を「03H(00000011B)」でマスクする処理を実行する。
上述したように、返却要求コマンドの後続コマンドは、返却枚数を示す。また、ベット数の最大値は「3」であるから、返却枚数の最大値も「3」となる。そして、3枚返却時には、返却要求コマンドの後続コマンドは「03H(00000011B)」となる。すなわち、返却枚数の最大値は、ベット数の最大値と同様に、返却要求コマンドの後続コマンドにおけるD0~D1ビットで表すことができる。
このため、ステップS151では、返却要求コマンドの後続コマンドを「03H(00000011B)」でマスクする処理を実行する。すなわち、返却要求コマンドの後続コマンドと「03H(00000011B)」とをAND演算する。これにより、返却要求コマンドの後続コマンドにおけるD0~D1ビット以外のビットを「0」にすることができ、仮に返却要求コマンドの後続コマンドにおけるD2~D7ビットにノイズで「1」が入っても、これを「0」にすることができるので、返却時にクレジット数に「3」を超える数を誤って加算しないようにすることができる。
また、ステップS151の処理を実行すると、ステップS152に進み、払出制御基板100は、「(クレジット数+返却枚数)>上限値」か否か、すなわち、クレジット数に返却枚数を加算するとクレジット数の上限値(本実施形態では「10000」)を超えるか否かの判断処理を実行する。
そして、クレジット数に返却枚数を加算するとクレジット数の上限値を超えると判断したときは、ステップS153に進み、払出制御基板100は、返却不可コマンドをメイン制御基板50に送信する処理を実行する(返却要求コマンドのNAK応答)。そして、本フローチャートによる処理を終了する。
これに対し、クレジット数に返却枚数を加算してもクレジット数の上限値を超えないと判断したときは、払出制御基板100は、ステップS154に進み、クレジット数に返却枚数を加算する処理を実行し、次のステップS155では、返却復唱コマンドをメイン制御基板50に送信する(受信した返却要求コマンドをそのままメイン制御基板50に送り返す)処理を実行する(返却要求コマンドのACK応答)。そして、本フローチャートによる処理を終了する。
なお、本フローチャートによる処理を終了すると、図8に示すステップS111の処理に進む。
図11は、図8のステップS119における貸出処理のサブルーチンを示している。なお、図11において「貸出処理1」としているのは、図8のステップS119における貸出処理の一部の処理であることを示している。当該貸出処理の他の一部については、後述する図23(「貸出処理2」と称する。)で図示している。
図8のステップS118で貸出要求コマンドを受信したと判断すると、図8のステップS119に進む。これにより、図11の貸出処理を開始する。また、貸出処理では、ステップS161において、払出制御基板100は、貸出復唱コマンドを管理装置200に送信する(受信した貸出要求コマンドをそのまま管理装置200に送り返す)処理を実行する(貸出要求コマンドのACK応答)。そして、次のステップS162に進む。
ステップS162では、払出制御基板100は、貸出復唱コマンドの送信を完了したか否かの判断処理を「Yes」となるまで繰り返し実行し、ステップS162で「Yes」となると、ステップS163に進む。
ステップS163に進むと、払出制御基板100は、管理装置コマンドを受信したか否かの判断処理を実行する。上述したように、管理装置コマンドは、管理装置200から払出制御基板100に送信されるコマンドの総称である。
そして、ステップS163において、管理装置コマンドを受信したと判断したときは、ステップS164に進み、受信した管理装置コマンドが貸出指示コマンドであるか否かの判断処理を実行する。
これに対し、ステップS163において、管理装置コマンドを受信していないと判断したときは、ステップS168に進み、払出制御基板100は、タイムアウト(貸出復唱コマンドを送信してから所定時間が経過した)か否かの判断処理を実行する。
ここで、ステップS168において、タイムアウトであると判断したときは、ステップS169に進み、払出制御基板100は、エラーフラグをセットする。そして、本フローチャートによる処理を終了する。
これに対し、ステップS168において、タイムアウトでないと判断したときは、再度、ステップS163の処理を実行する。
また、ステップS164において、受信した管理装置コマンドが貸出指示コマンドであると判断したときは、ステップS165に進み、払出制御基板100は、貸出し枚数(貸出要求コマンドの後続コマンド(下位8ビット)と貸出指示コマンドの後続コマンド(下位8ビット)とが一致するか否かの判断処理を実行する。
ここで、ステップS165において、一致しないと判断したときは、次のステップS166に進み、払出制御基板100は、貸出指示コマンドの後続コマンド(下位8ビット)を払出し枚数としてRWM103の所定の記憶領域に記憶(保存)する。そして、次のステップS167に進む。
これに対し、ステップS165において、一致すると判断したときは、ステップS166をスキップして、ステップS167に進む。
ステップS167に進むと、払出制御基板100は、クレジット数に貸出し枚数を加算する処理を実行する。そして、本フローチャートによる処理を終了する。
また、ステップS164において、受信した管理装置コマンドが貸出指示コマンドでないと判断したときは、ステップS169に進み、払出制御基板100は、エラーフラグをセットする。そして、本フローチャートによる処理を終了する。
なお、ステップS169でエラーフラグがセットされると、この処理以降に実行される図9のメイン制御コマンド解析処理のステップS131で「Yes」と判断されて、ステップS132に進む。そして、メイン制御基板50にエラーコマンドが送信される。
図12は、図8のステップS117における計数処理のサブルーチンを示している。なお、図12において「計数処理1」としているのは、図8のステップS117における計数処理の一部の処理であることを示している。当該計数処理の他の一部については、後述する図24(「計数処理2」と称する。)で図示している。
図8のステップS116で計数要求フラグがオンであると判断すると、図8のステップS117に進む。これにより、図12の計数処理を開始する。また、計数処理では、ステップS181において、払出制御基板100は、下位計数要求コマンドを管理装置200に送信する処理を実行する。そして、次のステップS182に進む。
ステップS182では、払出制御基板100は、下位計数要求コマンドの送信を完了したか否かの判断処理を「Yes」となるまで繰り返し実行し、ステップS182で「Yes」となると、ステップS183に進む。
ステップS183に進むと、払出制御基板100は、管理装置コマンドを受信したか否かの判断処理を実行する。
そして、ステップS183において、管理装置コマンドを受信したと判断したときは、ステップS184に進み、受信したコマンドと送信したコマンドとが一致するか否かの判断処理を実行する。すなわち、送信した下位計数要求コマンドがそのまま管理装置200から送り返された(下位計数復唱コマンドを受信した)か否かの判断処理を実行する。
これに対し、ステップS183において、管理装置コマンドを受信していないと判断したときは、ステップS192に進み、払出制御基板100は、タイムアウト(下位計数要求コマンドを送信してから所定時間が経過した)か否かの判断処理を実行する。
ここで、ステップS192において、タイムアウトであると判断したときは、ステップS194に進み、払出制御基板100は、エラーフラグをセットする。そして、本フローチャートによる処理を終了する。
これに対し、ステップS192において、タイムアウトでないと判断したときは、再度、ステップS183の処理を実行する。
また、ステップS184において、受信したコマンドと送信したコマンドとが一致する(送信した下位計数要求コマンドがそのまま管理装置200から送り返された)と判断したときは、ステップS185に進み、払出制御基板100は、上位計数要求コマンドを管理装置200に送信する処理を実行する。そして、次のステップS186に進む。
これに対し、ステップS184において、受信したコマンドと送信したコマンドとが一致しないと判断したときは、ステップS194に進み、払出制御基板100は、エラーフラグをセットする。そして、本フローチャートによる処理を終了する。
ステップS186に進むと、払出制御基板100は、上位計数要求コマンドの送信を完了したか否かの判断処理を「Yes」となるまで繰り返し実行し、ステップS186で「Yes」となると、ステップS187に進む。
ステップS187に進むと、払出制御基板100は、管理装置コマンドを受信したか否かの判断処理を実行する。
そして、ステップS187において、管理装置コマンドを受信したと判断したときは、ステップS188に進み、受信したコマンドと送信したコマンドとが一致するか否かの判断処理を実行する。すなわち、送信した上位計数要求コマンドがそのまま管理装置200から送り返された(上位計数復唱コマンドを受信した)か否かの判断処理を実行する。
これに対し、ステップS187において、管理装置コマンドを受信していないと判断したときは、ステップS193に進み、払出制御基板100は、タイムアウト(上位計数要求コマンドを送信してから所定時間が経過した)か否かの判断処理を実行する。
ここで、ステップS193において、タイムアウトであると判断したときは、ステップS194に進み、払出制御基板100は、エラーフラグをセットする。そして、本フローチャートによる処理を終了する。
これに対し、ステップS193において、タイムアウトでないと判断したときは、再度、ステップS187の処理を実行する。
また、ステップS188において、受信したコマンドと送信したコマンドとが一致する(送信した上位計数要求コマンドがそのまま管理装置200から送り返された)と判断したときは、ステップS189に進み、払出制御基板100は、計数指示コマンドを管理装置200に送信する処理を実行する。そして、次のステップS190に進む。
これに対し、ステップS188において、受信したコマンドと送信したコマンドとが一致しないと判断したときは、ステップS194に進み、払出制御基板100は、エラーフラグをセットする。そして、本フローチャートによる処理を終了する。
ステップS190に進むと、払出制御基板100は、計数指示コマンドの送信を完了したか否かの判断処理を「Yes」となるまで繰り返し実行し、ステップS190で「Yes」となると、ステップS191に進む。
ステップS191に進むと、払出制御基板100は、クレジット数をクリアする(「0」にする)処理を実行する。そして、本フローチャートによる処理を終了する。
なお、ステップS194でエラーフラグがセットされると、この処理以降に実行される図9のメイン制御コマンド解析処理のステップS131で「Yes」と判断されて、ステップS132に進む。そして、メイン制御基板50にエラーコマンドが送信される。
図13は、メイン制御基板50におけるメインルーチンの処理の流れを示すフローチャートである。
メイン制御基板50においては、電源が投入されると、ステップS201において、電源投入処理が行われる。そして、次のステップS202に進む。
ステップS202に進むと、設定キースイッチ12がオンであるか否かの判断処理を実行する。
ここで、ステップS202において、設定キースイッチ12がオンであると判断したときは、ステップS203に進み、設定変更処理を実行する。そして、設定変更処理が終了すると、ステップS211に進む。
これに対し、ステップS202において、設定キースイッチ12がオフであると判断したときは、ステップS204に進み、遊技復帰処理を実行する。そして、遊技復帰処理が終了すると、ステップS211に進む。
ステップS211に進むと、3枚ベット又は1枚ベットの判断処理を実行する。そして、3枚ベットと判断したときは、ステップS205に進み、1枚ベットと判断したときは、ステップS206に進む。
ステップS205に進むと、3枚ベット処理(図16)を実行する。この処理は、3ベットスイッチ40bの操作に基づいて、クレジットされている電子メダルを3枚ベットする処理である。3枚ベット処理の詳細は後述する。そして、3枚ベット処理が終了すると、ステップS212に進む。
ステップS206に進むと、1枚ベット処理(図17)を実行する。この処理は、1ベットスイッチ40aの操作に基づいて、クレジットされている電子メダルを1枚ベットする処理である。1枚ベット処理の詳細は後述する。そして、1枚ベット処理が終了すると、ステップS212に進む。
ステップS212に進むと、スタート又はキャンセルの判断処理を実行する。そして、スタートと判断したときは、ステップS207に進み、キャンセルと判断したときは、ステップS210に進む。
ステップS207に進むと、遊技開始処理(図18)を実行する。この処理は、スタートスイッチ41の操作に基づいて、遊技を開始する処理である。遊技開始処理の詳細は後述する。そして、遊技開始処理が終了すると、次のステップS208に進む。
ステップS208では、遊技終了処理(図19)を実行する。この処理は、ストップスイッチ42が操作され、すべてのリール31の回転が停止したことに基づいて、遊技を終了する処理である。遊技終了処理の詳細は後述する。そして、遊技終了処理が終了すると、次のステップS209に進み、払出処理(図20)を実行する。この処理は、役の入賞に基づいて、電子メダルを払い出す処理である。そして、払出処理が終了すると、ステップS211に戻る。
ステップS210に進むと、返却処理(図21)を実行する。この処理は、キャンセルスイッチ46の操作に基づいて、ベットされた電子メダルをクレジットに戻す処理である。そして、返却処理が終了すると、ステップS211に戻る。
図14は、メイン制御基板50及び払出制御基板100における電源投入処理の流れを示すフローチャートである。
図14中、左側のフローチャートは、メイン制御基板50における電源投入処理の流れを示し、右側のフローチャートは、払出制御基板100における電源投入処理1の流れを示す。なお、「電源投入処理1」としているのは、図14では、払出制御基板100における電源投入処理の一部の処理であることを示している。当該電源投入処理の他の一部については、後述する図22(「電源投入処理2」と称する。)で図示している。また、図14中、左右のフローチャートの間の矢印は、電源投入処理時にメイン制御基板50と払出制御基板100との間で送受信されるコマンドの送信方向を示す。
そして、この図14及び後述する図15~図21は、メイン制御基板50と払出制御基板100との間のコマンド送受信状況を示すものである。
また、後述する図23~図25は、払出制御基板100と管理装置200との間のコマンド送受信状況を示すものである。
スロットマシン10の電源が投入されると、電源基板150からメイン制御基板50及び払出制御基板100に電力が供給される。そして、メイン制御基板50上のプログラムが起動するとともに、払出制御基板100上のプログラムが起動する。このとき、メイン制御基板50において電源投入処理が実行されるとともに、払出制御基板100において電源投入処理1が実行される。
まず、図14中の左側に示すメイン制御基板50における電源投入処理について説明する。図14中の左側に示すフローチャートは、図13のステップS201における電源投入処理のサブルーチンを示している。
ステップS301において、メイン制御基板50は、初期化処理を実行する。そして、初期化処理が終了すると、次のステップS302に進む。
ステップS302に進むと、メイン制御基板50は、起動確認コマンドを払出制御基板100に送信する処理を実行する。そして、次のステップS303に進む。
ステップS303では、メイン制御基板50は、応答待機処理を実行する。この処理は、払出制御基板100による起動確認コマンドのACK応答を待つ処理である。
そして、送信した起動確認コマンドがそのまま払出制御基板100から送り返される(ACK応答がある)と、本フローチャートによる処理を終了する。なお、本フローチャートによる処理を終了すると、図13に示すステップS202の処理に進む。
これに対し、起動確認コマンドを送信してから所定時間が経過しても起動確認コマンドのACK応答がない(タイムアウトとなる)か、又は払出制御基板100からエラーコマンドが送信される(NAK応答がある)と、ステップS304に進み、メイン制御基板50は、再送カウンタを減算する処理を実行する。
再送カウンタは、起動確認コマンドの再送回数をカウントするためのカウンタであり、起動確認コマンドの最初の送信時に初期値として「2」が設定される。
なお、再送カウンタの初期値は「2」に限らず、たとえば「3」としてもよい。
また、再送カウンタの減算処理が終了すると、次のステップS305に進み、メイン制御基板50は、再送カウンタが「0」か否かの判断処理を実行する。
ここで、再送カウンタが「0」であると判断したときは、次のステップS306に進み、メイン制御基板50は、エラー処理を実行する。
これに対し、再送カウンタが「0」でないと判断したときは、再度、ステップS302を実行する。
次に、図14中の右側に示す払出制御基板100における電源投入処理1について説明する。
ステップS401において、払出制御基板100は、初期化処理を実行する。そして、初期化処理が終了すると、次のステップS402に進む。
ステップS402では、払出制御基板100は、コマンド受信処理を実行する。この処理は、メイン制御基板50から送信される起動確認コマンドを受信する処理である。そして、起動確認コマンドを受信すると、次のステップS403に進み、払出制御基板100は、受信した起動確認コマンドをそのままメイン制御基板50に送り返す処理を実行する(起動確認コマンドのACK応答)。そして、受信した起動確認コマンドをそのままメイン制御基板50に送り返すと、本フローチャートによる処理を終了する。
図15は、メイン制御基板50及び払出制御基板100における設定変更処理の流れを示すフローチャートである。
図15中、左側のフローチャートは、メイン制御基板50における設定変更処理の流れを示し、右側のフローチャートは、払出制御基板100における設定変更処理の流れを示す。また、図15中、左右のフローチャートの間の矢印は、設定変更処理時にメイン制御基板50と払出制御基板100との間で送受信されるコマンドの送信方向を示す。
まず、図15中の左側に示すメイン制御基板50における設定変更処理について説明する。図15中の左側に示すフローチャートは、図13のステップS203における設定変更処理のサブルーチンを示している。
電源投入時に設定キースイッチ12がオンであると、メイン制御基板50は、設定変更処理を実行する。この設定変更処理では、ステップS311において、設定変更開始コマンドを払出制御基板100に送信する処理を実行する。そして、次のステップS312に進む。
ステップS312では、メイン制御基板50は、応答待機処理を実行する。この処理は、払出制御基板100による設定変更開始コマンドのACK応答を待つ処理である。
ここで、送信した設定変更開始コマンドがそのまま払出制御基板100から送り返されると、メイン制御基板50は、払出制御基板100による設定変更開始コマンドのACK応答があったと判断し、ステップS203の設定値変更中処理に進む。この処理は、設定スイッチ13が操作されるごとに、設定値の表示を「1」→「2」→・・・→「6」→「1」→・・・と切り替えていき、スタートスイッチ41が操作されると、表示中の設定値で確定させる処理である。そして、設定値変更中処理が終了すると、ステップS313に進む。
これに対し、設定変更開始コマンドを送信してから所定時間が経過しても設定変更開始コマンドのACK応答がない(タイムアウトとなる)か、又は払出制御基板100からエラーコマンドが送信される(NAK応答がある)と、ステップS311に戻り、メイン制御基板50は、再度、設定変更開始コマンドを払出制御基板100に送信する処理を実行する。
また、ステップS313に進むと、メイン制御基板50は、設定変更終了コマンドを払出制御基板100に送信する処理を実行する。そして、次のステップS314に進む。
ステップS314では、メイン制御基板50は、応答待機処理を実行する。この処理は、払出制御基板100による設定変更終了コマンドのACK応答を待つ処理である。
ここで、送信した設定変更終了コマンドがそのまま払出制御基板100から送り返されると、メイン制御基板50は、払出制御基板100による設定変更終了コマンドのACK応答があったと判断し、本フローチャートによる処理を終了する。なお、本フローチャートによる処理を終了すると、図13に示すステップS211の処理に進む。
これに対し、設定変更終了コマンドを送信してから所定時間が経過しても設定変更終了コマンドのACK応答がない(タイムアウトとなる)か、又は払出制御基板100からエラーコマンドが送信される(NAK応答がある)と、ステップS313に戻り、メイン制御基板50は、再度、設定変更終了コマンドを払出制御基板100に送信する処理を実行する。
次に、図15中の右側に示す払出制御基板100における設定変更処理の流れについて説明する。
ステップS411において、払出制御基板100は、コマンド受信処理を実行する。この処理は、メイン制御基板50から送信される設定変更開始コマンドを受信する処理である。そして、設定変更開始コマンドを受信すると、次のステップS412に進み、払出制御基板100は、受信した設定変更開始コマンドをそのままメイン制御基板50に送り返す処理を実行する(設定変更開始コマンドのACK応答)。そして、次のステップS413に進む。
ステップS413に進むと、払出制御基板100は、コマンド受信処理を実行する。この処理は、メイン制御基板50から送信される設定変更終了コマンドを受信する処理である。そして、設定変更終了コマンドを受信すると、次のステップS414に進み、払出制御基板100は、受信した設定変更終了コマンドをそのままメイン制御基板50に送り返す処理を実行する(設定変更終了コマンドのACK応答)。そして、受信した設定変更終了コマンドをそのままメイン制御基板50に送り返すと、本フローチャートによる処理を終了する。
図16は、メイン制御基板50及び払出制御基板100における3枚ベット処理の流れを示すフローチャートである。
図16中、左側のフローチャートは、メイン制御基板50における3枚ベット処理の流れを示し、右側のフローチャートは、払出制御基板100における3枚ベット処理の流れを示す。また、図16中、左右のフローチャートの間の矢印は、3枚ベット処理時にメイン制御基板50と払出制御基板100との間で送受信されるコマンドの送信方向を示す。
また、図16では、3枚ベット処理時に、投入要求コマンドとして、クレジット数からベット数「1」を減算することを要求する1枚投入要求コマンド(「2001H」)を3回送信する例を示している。
なお、3枚ベット処理時に、1枚投入要求コマンドを3回送信することに限らず、クレジット数からベット数「3」を減算することを要求する3枚投入要求コマンド(「2003H」)を1回送信してもよい。
まず、図16中の左側に示すメイン制御基板50における3枚ベット処理について説明する。図16中の左側に示すフローチャートは、図13のステップS205における3枚ベット処理のサブルーチンを示している。
ステップS321において、メイン制御基板50は、規定数の電子メダルがベット済であるか否かの判断処理を実行する。そして、規定数の電子メダルがベット済であると判断したときは、本フローチャートによる処理を終了する。これに対し、規定数の電子メダルがベット済でないと判断したときは、次のステップS322で3ベットスイッチ40bの操作(オン)が検知されると、その次のステップS323に進む。
ステップS323では、メイン制御基板50は、投入要求コマンドとして、1枚投入要求コマンドを払出制御基板100に送信する処理を実行する。そして、次のステップS324に進む。
ステップS324では、メイン制御基板50は、応答待機処理を実行する。この処理は、払出制御基板100から1枚投入復唱コマンドが送信されること(1枚投入要求コマンドのACK応答)を待つ処理である。
そして、1枚投入復唱コマンドを受信する(送信した1枚投入要求コマンドがそのまま払出制御基板100から送り返される)と、メイン制御基板50は、払出制御基板100による1枚投入要求コマンドのACK応答があったと判断し、ステップS325に進む。
これに対し、ステップS323で1枚投入要求コマンドを送信してから所定時間が経過しても1枚投入復唱コマンドを受信しない(タイムアウトとなる)か、又は払出制御基板100からエラーコマンドが送信される(NAK応答がある)と、ステップS323に戻り、メイン制御基板50は、再度、1枚投入要求コマンドを払出制御基板100に送信する処理を実行する。
その後、メイン制御基板50は、ステップS325及びS326、並びにステップS327及びS328において、ステップS323及びS324と同様の処理を実行する。すなわち、ステップS323及びS324と同様の処理を3回繰り返し実行する。そして、本フローチャートによる処理を終了する。なお、本フローチャートによる処理を終了すると、図13に示すステップS212の処理に進む。
次に、図16中の右側に示す払出制御基板100における3枚ベット処理について説明する。
ステップ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及び払出制御基板100における1枚ベット処理の流れを示すフローチャートである。
図17中、左側のフローチャートは、メイン制御基板50における1枚ベット処理の流れを示し、右側のフローチャートは、払出制御基板100における1枚ベット処理の流れを示す。また、図17中、左右のフローチャートの間の矢印は、1枚ベット処理時にメイン制御基板50と払出制御基板100との間で送受信されるコマンドの送信方向を示す。
まず、図17中の左側に示すメイン制御基板50における1枚ベット処理について説明する。図17中の左側に示すフローチャートは、図13のステップS206における1枚ベット処理のサブルーチンを示している。
ステップS331において、メイン制御基板50は、規定数の電子メダルがベット済であるか否かの判断処理を実行する。そして、規定数の電子メダルがベット済であると判断したときは、本フローチャートによる処理を終了する。これに対し、規定数の電子メダルがベット済でないと判断したときは、次のステップS332で1ベットスイッチ40aの操作(オン)が検知されると、その次のステップS333に進む。
ステップS333では、メイン制御基板50は、投入要求コマンドとして、1枚投入要求コマンドを払出制御基板100に送信する処理を実行する。そして、次のステップS334に進む。
ステップS334では、メイン制御基板50は、応答待機処理を実行する。この処理は、払出制御基板100から1枚投入復唱コマンドが送信されること(1枚投入要求コマンドのACK応答)を待つ処理である。
そして、1枚投入復唱コマンドを受信する(送信した1枚投入要求コマンドがそのまま払出制御基板100から送り返される)と、メイン制御基板50は、払出制御基板100による1枚投入要求コマンドのACK応答があったと判断し、本フローチャートによる処理を終了する。なお、本フローチャートによる処理を終了すると、図13に示すステップS212の処理に進む。
これに対し、ステップS333で1枚投入要求コマンドを送信してから所定時間が経過しても1枚投入復唱コマンドを受信しない(タイムアウトとなる)か、又は払出制御基板100からエラーコマンドが送信される(NAK応答がある)と、ステップS333に戻り、メイン制御基板50は、再度、1枚投入要求コマンドを払出制御基板100に送信する処理を実行する。
次に、図17中の右側に示す払出制御基板100における1枚ベット処理について説明する。
ステップS431において、払出制御基板100は、コマンド受信処理を実行する。この処理は、メイン制御基板50から送信される1枚投入要求コマンドを受信する処理である。そして、1枚投入要求コマンドを受信すると、次のステップS432に進み、払出制御基板100は、1枚投入復唱コマンドをメイン制御基板50に送信する(受信した1枚投入要求コマンドをそのままメイン制御基板50に送り返す)処理を実行する(1枚投入要求コマンドのACK応答)。そして、本フローチャートによる処理を終了する。
図18は、メイン制御基板50及び払出制御基板100における遊技開始処理の流れを示すフローチャートである。
図18中、左側のフローチャートは、メイン制御基板50における遊技開始処理の流れを示し、右側のフローチャートは、払出制御基板100における遊技開始処理の流れを示す。また、図18中、左右のフローチャートの間の矢印は、遊技開始処理時にメイン制御基板50と払出制御基板100との間で送受信されるコマンドの送信方向を示す。
まず、図18中の左側に示すメイン制御基板50における遊技開始処理について説明する。図18中の左側に示すフローチャートは、図13のステップS207における遊技開始処理のサブルーチンを示している。
ステップS351において、メイン制御基板50は、規定数の電子メダルがベット済であるか否かの判断処理を実行する。そして、規定数の電子メダルがベット済でないと判断したときは、本フローチャートによる処理を終了する。これに対し、規定数の電子メダルがベット済であると判断したときは、次のステップS352でスタートスイッチ41の操作(オン)が検知されると、その次のステップS353に進む。
ステップS353では、メイン制御基板50は、遊技開始+RT状態コマンドを払出制御基板100に送信する処理を実行する。そして、次のステップS354に進む。
ステップS354では、メイン制御基板50は、応答待機処理を実行する。この処理は、払出制御基板100から遊技開始+RT状態コマンドが送り返されること(ACK応答)を待つ処理である。
そして、送信した遊技開始+RT状態コマンドがそのまま払出制御基板100から送り返される)と、メイン制御基板50は、払出制御基板100によるACK応答があったと判断し、本フローチャートによる処理を終了する。なお、本フローチャートによる処理を終了すると、図13に示すステップS208の処理に進む。
これに対し、ステップS353で遊技開始+RT状態コマンドを送信してから所定時間が経過してもACK応答がない(タイムアウトとなる)か、又は払出制御基板100からエラーコマンドが送信される(NAK応答がある)と、ステップS353に戻り、メイン制御基板50は、再度、遊技開始+RT状態コマンドを払出制御基板100に送信する処理を実行する。
次に、図18中の右側に示す払出制御基板100における遊技開始処理について説明する。
ステップS451において、払出制御基板100は、コマンド受信処理を実行する。この処理は、メイン制御基板50から送信される遊技開始+RT状態コマンドを受信する処理である。そして、遊技開始+RT状態コマンドを受信すると、次のステップS452に進み、払出制御基板100は、受信した遊技開始+RT状態コマンドをそのままメイン制御基板50に送り返す処理を実行する(ACK応答)。そして、本フローチャートによる処理を終了する。
図19は、メイン制御基板50及び払出制御基板100における遊技終了処理の流れを示すフローチャートである。
図19中、左側のフローチャートは、メイン制御基板50における遊技終了処理の流れを示し、右側のフローチャートは、払出制御基板100における遊技終了処理の流れを示す。また、図19中、左右のフローチャートの間の矢印は、遊技終了処理時にメイン制御基板50と払出制御基板100との間で送受信されるコマンドの送信方向を示す。
まず、図19中の左側に示すメイン制御基板50における遊技終了処理について説明する。図19中の左側に示すフローチャートは、図13のステップS208における遊技終了処理のサブルーチンを示している。
ステップS361において、メイン制御基板50は、第3ストップスイッチ42(最後に停止するリール31に対応するストップスイッチ42)がオンからオフになったか否かの判断処理を実行する。そして、第3ストップスイッチ42がオフになっていないと判断したときは、本フローチャートによる処理を終了する。これに対し、第3ストップスイッチ42がオフになったと判断したときは、ステップS362に進む。
ステップS362に進むと、メイン制御基板50は、遊技終了+遊技状態コマンドを払出制御基板100に送信する処理を実行する。そして、次のステップS363に進む。
ステップS363では、メイン制御基板50は、応答待機処理を実行する。この処理は、払出制御基板100から遊技終了+遊技状態コマンドが送り返されること(ACK応答)を待つ処理である。
そして、送信した遊技終了+遊技状態コマンドがそのまま払出制御基板100から送り返される)と、メイン制御基板50は、払出制御基板100によるACK応答があったと判断し、本フローチャートによる処理を終了する。なお、本フローチャートによる処理を終了すると、図13に示すステップS209の処理に進む。
これに対し、ステップS362で遊技終了+遊技状態コマンドを送信してから所定時間が経過してもACK応答がない(タイムアウトとなる)か、又は払出制御基板100からエラーコマンドが送信される(NAK応答がある)と、ステップS362に戻り、メイン制御基板50は、再度、遊技終了+遊技状態コマンドを払出制御基板100に送信する処理を実行する。
次に、図19中の右側に示す払出制御基板100における遊技終了処理について説明する。
ステップS461において、払出制御基板100は、コマンド受信処理を実行する。この処理は、メイン制御基板50から送信される遊技終了+遊技状態コマンドを受信する処理である。そして、遊技終了+遊技状態コマンドを受信すると、次のステップS462に進み、払出制御基板100は、受信した遊技終了+遊技状態コマンドをそのままメイン制御基板50に送り返す処理を実行する(ACK応答)。そして、本フローチャートによる処理を終了する。
図20は、メイン制御基板50及び払出制御基板100における払出処理の流れを示すフローチャートである。
図20中、左側のフローチャートは、メイン制御基板50における払出処理の流れを示し、右側のフローチャートは、払出制御基板100における払出処理の流れを示す。また、図20中、左右のフローチャートの間の矢印は、払出処理時にメイン制御基板50と払出制御基板100との間で送受信されるコマンドの送信方向を示す。
まず、図20中の左側に示すメイン制御基板50における払出処理について説明する。図20中の左側に示すフローチャートは、図13のステップS209における払出処理のサブルーチンを示している。
ステップS371において、メイン制御基板50は、払出要求コマンドを払出制御基板100に送信する処理を実行する。そして、次のステップS372に進む。
ステップS372では、メイン制御基板50は、応答待機処理を実行する。この処理は、払出制御基板100から払出復唱コマンドが送信されること(払出要求コマンドのACK応答)を待つ処理である。
そして、払出復唱コマンドを受信する(送信した払出要求コマンドがそのまま払出制御基板100から送り返される)と、メイン制御基板50は、払出制御基板100による払出要求コマンドのACK応答があったと判断し、本フローチャートによる処理を終了する。なお、本フローチャートによる処理を終了すると、図13に示すステップS211の処理に戻る。
これに対し、ステップS371で払出要求コマンドを送信してから所定時間が経過しても払出復唱コマンドを受信しない(タイムアウトとなる)か、又は払出制御基板100からエラーコマンドが送信される(NAK応答がある)と、ステップS371に戻り、メイン制御基板50は、再度、払出要求コマンドを払出制御基板100に送信する処理を実行する。
次に、図20中の右側に示す払出制御基板100における払出処理について説明する。
ステップS471において、払出制御基板100は、コマンド受信処理を実行する。この処理は、メイン制御基板50から送信される払出要求コマンドを受信する処理である。そして、払出要求コマンドを受信すると、次のステップS472に進み、払出制御基板100は、払出復唱コマンドをメイン制御基板50に送信する(受信した払出要求コマンドをそのままメイン制御基板50に送り返す)処理を実行する(払出要求コマンドのACK応答)。そして、本フローチャートによる処理を終了する。
図21は、メイン制御基板50及び払出制御基板100における返却処理の流れを示すフローチャートである。
図21中、左側のフローチャートは、メイン制御基板50における返却処理の流れを示し、右側のフローチャートは、払出制御基板100における返却処理の流れを示す。また、図21中、左右のフローチャートの間の矢印は、返却処理時にメイン制御基板50と払出制御基板100との間で送受信されるコマンドの送信方向を示す。
まず、図21中の左側に示すメイン制御基板50における返却処理について説明する。図20中の左側に示すフローチャートは、図13のステップS210における返却処理のサブルーチンを示している。
ステップS341において、メイン制御基板50は、ベットされている電子メダルがあるか否かの判断処理を実行する。そして、ベットされている電子メダルがないと判断したときは、本フローチャートによる処理を終了する。これに対し、ベットされている電子メダルがあると判断したときは、次のステップS342でキャンセルスイッチ46の操作(オン)が検知されると、その次のステップS343に進む。
ステップS343では、メイン制御基板50は、返却要求コマンドを払出制御基板100に送信する処理を実行する。そして、次のステップS344に進む。
ステップS344では、メイン制御基板50は、応答待機処理を実行する。この処理は、払出制御基板100から返却復唱コマンドが送信されること(返却要求コマンドのACK応答)を待つ処理である。
そして、返却復唱コマンドを受信する(送信した返却要求コマンドがそのまま払出制御基板100から送り返される)と、メイン制御基板50は、払出制御基板100による返却要求コマンドのACK応答があったと判断し、本フローチャートによる処理を終了する。なお、本フローチャートによる処理を終了すると、図13に示すステップS211の処理に戻る。
これに対し、ステップS343で返却要求コマンドを送信してから所定時間が経過しても返却復唱コマンドを受信しない(タイムアウトとなる)か、又は払出制御基板100からエラーコマンドが送信される(NAK応答がある)と、ステップS343に戻り、メイン制御基板50は、再度、返却要求コマンドを払出制御基板100に送信する処理を実行する。
次に、図21中の右側に示す払出制御基板100における返却処理について説明する。
ステップS441において、払出制御基板100は、コマンド受信処理を実行する。この処理は、メイン制御基板50から送信される返却要求コマンドを受信する処理である。そして、返却要求コマンドを受信すると、次のステップS442に進み、払出制御基板100は、返却復唱コマンドをメイン制御基板50に送信する(受信した返却要求コマンドをそのままメイン制御基板50に送り返す)処理を実行する(返却要求コマンドのACK応答)。そして、本フローチャートによる処理を終了する。
図22は、払出制御基板100及び管理装置200における電源投入処理の流れを示すフローチャートである。
図22中、左側のフローチャートは、払出制御基板100における電源投入処理2の流れを示し、右側のフローチャートは、管理装置200における電源投入処理の流れを示す。また、図22中、左右のフローチャートの間の矢印は、電源投入処理時に払出制御基板100と管理装置200との間で送受信されるコマンドの送信方向を示す。
スロットマシン10及び管理装置200の電源が投入されると、スロットマシン10の払出制御基板100上のプログラムが起動するとともに、管理装置200上のプログラムが起動する。このとき、スロットマシン10の払出制御基板100において電源投入処理が実行されるとともに、管理装置200において電源投入処理が実行される。
ここで、図14中の右側に示す払出制御基板100における電源投入処理1、及び図22中の左側に示す払出制御基板100における電源投入処理2は、いずれも、電源投入時に払出制御基板100において実行される処理であり、一部の処理が重複している。そして、同一の内容の処理には、同一のステップ番号を付している。
ただし、図14中の右側に示す払出制御基板100における電源投入処理1では、メイン制御基板50と払出制御基板100との間におけるコマンドの送受信を説明するために必要な処理を抽出して図示し、それ以外の処理の図示を省略している。
これに対し、図22中の左側に示す払出制御基板100における電源投入処理2では、払出制御基板100と管理装置200との間におけるコマンドの送受信を説明するために必要な処理を抽出して図示し、それ以外の処理の図示を省略している。
まず、図22中の左側に示す払出制御基板100における電源投入処理2について説明する。
ステップ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に順次送信する処理を実行する。
次に、図22中の右側に示す管理装置200における電源投入処理について説明する。
ステップS601において、管理装置200は、初期化処理を実行する。そして、初期化処理が終了すると、次のステップS602に進む。
ステップS602では、管理装置200は、コマンド受信処理を実行する。この処理は、払出制御基板100から送信されるCPU固有ID1バイト目~4バイト目を受信する処理である。そして、CPU固有ID1バイト目~4バイト目を受信すると、次のステップS603に進み、管理装置200は、受信したコマンドがCPU固有IDであるか否かの判断処理を実行する。
ここで、ステップS603において、受信したコマンドがCPU固有IDであると判断したときは、次のステップS604に進み、管理装置200は、受信したCPU固有ID1バイト目~4バイト目を所定の記憶領域に記憶(保存)する処理を実行する。そして、次のステップS605に進む。
これに対し、ステップS603において、受信したコマンドがCPU固有IDでないと判断すると、本フローチャートによる処理を終了する。
ステップS605に進むと、管理装置200は、CPU固有ID4バイト目の受信を完了したか否かの判断処理を実行する。
そして、ステップS605において、CPU固有ID4バイト目の受信を完了したと判断したときは、次のステップS606に進み、管理装置200は、CPU固有ID1バイト目~4バイト目をホールコンピュータ300に送信する処理を実行する。そして、本フローチャートによる処理を終了する。
これに対し、ステップS605において、CPU固有ID4バイト目の受信を完了していないと判断したときは、ステップS606をスキップして、本フローチャートによる処理を終了する。
図23は、払出制御基板100及び管理装置200における貸出処理の流れを示すフローチャートである。
図23中、左側のフローチャートは、払出制御基板100における貸出処理2の流れを示し、右側のフローチャートは、管理装置200における貸出処理の流れを示す。また、図23中、左右のフローチャートの間の矢印は、貸出処理時に払出制御基板100と管理装置200との間で送受信されるコマンドの送信方向を示す。
ここで、図11に示す払出制御基板100における貸出処理1、及び図23中の左側に示す払出制御基板100における貸出処理2は、いずれも、図8のステップS119における貸出処理のサブルーチンを示しており、一部の処理が重複している。そして、同一の内容の処理には、同一のステップ番号を付している。
ただし、図11に示す払出制御基板100における貸出処理1では、貸出処理時の処理を詳細に図示している。
これに対し、図23中の左側に示す払出制御基板100における貸出処理2では、払出制御基板100と管理装置200との間におけるコマンドの送受信を説明するために必要な処理を抽出して図示し、それ以外の処理の図示を省略している。
まず、図23中の右側に示す管理装置200における貸出処理について説明する。
ステップS611において、貸出スイッチ202の操作(オン)が検知されると、次のステップS612に進み、管理装置200は、貸出可LEDを消灯させる処理、貸出スイッチ202の操作を無効(受付け不可)にする処理、及び返却スイッチ203の操作を無効(受付け不可)にする処理を実行する。そして、次のステップS613に進む。
なお、貸出可LEDは、電子メダルの貸出しが可能であるか否かを示すLEDであって、点灯時には電子メダルの貸出しが可能であることを示し、消灯時には電子メダルの貸出しが不可であることを示すものである。
ステップS613に進むと、管理装置200は、貸出要求コマンドを払出制御基板100に送信する。そして、次のステップS614に進む。
ステップS614では、管理装置200は、応答待機処理を実行する。この処理は、払出制御基板100から貸出復唱コマンドが送信されること(貸出要求コマンドのACK応答)を待つ処理である。
そして、貸出復唱コマンドを受信する(送信した貸出要求コマンドがそのまま払出制御基板100から送り返される)と、管理装置200は、払出制御基板100による貸出要求コマンドのACK応答があったと判断し、次のステップS615に進む。
また、払出制御基板100からエラーコマンドが送信される(NAK応答がある)と、ステップS617に進む。
さらにまた、ステップS613で貸出要求コマンドを送信してから所定時間が経過しても貸出復唱コマンドを受信しない(タイムアウトとなる)と、ステップS618に進み、管理装置200は、エラー処理を実行する。
ステップS615に進むと、管理装置200は、貸出指示コマンドを払出制御基板100に送信する。そして、次のステップ616に進む。
ステップS616では、管理装置200は、貸出し枚数を減算する処理を実行する。そして、次のステップS617に進む。
ステップS617に進むと、管理装置200は、貸出可LEDを点灯させる処理、貸出スイッチ202の操作を有効(受付け可能)にする処理、及び返却スイッチ203の操作を有効(受付け可能)にする処理を実行する。そして、本フローチャートによる処理を終了する。
次に、図23中の左側に示す払出制御基板100における貸出処理2について説明する。
ステップS511において、払出制御基板100は、コマンド受信処理を実行する。この処理は、管理装置200から送信される貸出要求コマンドを受信する処理である。そして、貸出要求コマンドを受信すると、ステップS118に進む。
ステップS118に進むと、払出制御基板100は、受信したコマンドが貸出要求コマンドであるか否かの判断処理を実行する。なお、図23中のステップS118と、図8中のステップS118とは、同一の内容の処理である。
ここで、受信したコマンドが貸出要求コマンドであると判断したときは、ステップS513に進み、払出制御基板100は、受信した貸出要求コマンドをRWM103の所定の記憶領域に記憶(保存)する処理を実行する。そして、次のステップS514に進む。
これに対し、受信したコマンドが貸出要求コマンドでないと判断したときは、本フローチャートによる処理を終了する。
ステップS514に進むと、払出制御基板100は、貸出し要求を受付け可能であるか否か、具体的には、クレジット数に貸出し枚数(貸出要求コマンドの後続コマンドが示す数)を加算することによりクレジット数の上限値を超えるか否かの判断処理を実行する。
ここで、ステップS514において、貸出し要求を受付け可能であると判断したとき、すなわち、クレジット数に貸出し枚数を加算してもクレジット数の上限値以下であると判断したときは、ステップS161に進み、払出制御基板100は、貸出復唱コマンドを管理装置200に送信する(受信した貸出要求コマンドをそのまま管理装置200に送り返す)処理を実行する(貸出要求コマンドのACK応答)。そして、ステップS164に進む。
これに対し、ステップS514において、貸出し要求を受付け不可であると判断したとき、すなわち、クレジット数に貸出し枚数を加算するとクレジット数の上限値を超えると判断したときは、ステップS515に進み、払出制御基板100は、エラーコマンドを管理装置200に送信する(NAK応答)。そして、ステップS169に進み、払出制御基板100は、エラーフラグをセットする処理を実行する。そして、本フローチャートによる処理を終了する。
ステップS164に進むと、払出制御基板100は、貸出指示コマンドを受信したか否かの判断処理を実行する。
ここで、ステップS164において、貸出指示コマンドを受信したと判断したときは、ステップS167に進み、払出制御基板100は、クレジット数に貸出し枚数を加算する処理を実行する。そして、本フローチャートによる処理を終了する。
これに対し、ステップS164において、貸出指示コマンドを受信していないと判断したときは、ステップS169に進み、払出制御基板100は、エラーフラグをセットする処理を実行する。そして、本フローチャートによる処理を終了する。
なお、図23中のステップS161、S164、S167及びS169と、図11中のステップS161、S164、S167及びS169とは、それぞれ同一の内容の処理である。
図24及び図25は、払出制御基板100及び管理装置200における計数処理の流れを示すフローチャートである。図25は、図24に続くフローチャートである。
図24及び図25中、左側のフローチャートは、払出制御基板100における計数処理の流れを示し、右側のフローチャートは、管理装置200における計数処理の流れを示す。また、図24及び図25中、左右のフローチャートの間の矢印は、計数処理時に払出制御基板100と管理装置200との間で送受信されるコマンドの送信方向を示す。
ここで、図12に示す払出制御基板100における計数処理1、並びに図24及び図25中の左側に示す払出制御基板100における計数処理2は、いずれも、図8のステップS117における計数処理のサブルーチンを示しており、一部の処理が重複している。そして、同一の内容の処理には、同一のステップ番号を付している。
ただし、図12に示す払出制御基板100における計数処理1では、計数処理時の処理を詳細に図示している。
これに対し、図24及び図25中の左側に示す払出制御基板100における計数処理2では、払出制御基板100と管理装置200との間におけるコマンドの送受信を説明するために必要な処理を抽出して図示し、それ以外の処理の図示を省略している。
まず、図24及び図25中の左側に示す払出制御基板100における計数処理について説明する。
ステップS181において、払出制御基板100は、下位計数要求コマンドを管理装置200に送信する。そして、ステップS533に進む。
ステップS533では、払出制御基板100は、応答待機処理を実行する。この処理は、管理装置200から下位計数復唱コマンドが送信されること(下位計数要求コマンドのACK応答)を待つ処理である。
そして、下位計数復唱コマンドを受信する(送信した下位計数要求コマンドがそのまま管理装置200から送り返される)と、払出制御基板100は、管理装置200による下位計数要求コマンドのACK応答があったと判断し、ステップS185に進む。
また、管理装置200からエラーコマンドが送信される(NAK応答がある)と、本フローチャートによる処理を終了する。
さらにまた、ステップS181で下位計数要求コマンドを送信してから所定時間が経過しても下位計数復唱コマンドを受信しない(タイムアウトとなる)と、ステップS194に進み、払出制御基板100は、エラーフラグをセットする処理を実行する。そして、本フローチャートによる処理を終了する。
ステップS185に進むと、払出制御基板100は、上位計数要求コマンドを管理装置200に送信する。そして、図25のステップS535に進む。
ステップS535では、払出制御基板100は、応答待機処理を実行する。この処理は、管理装置200から上位計数復唱コマンドが送信されること(上位計数要求コマンドのACK応答)を待つ処理である。
そして、上位計数復唱コマンドを受信する(送信した上位計数要求コマンドがそのまま管理装置200から送り返される)と、払出制御基板100は、管理装置200による上位計数要求コマンドのACK応答があったと判断し、ステップS189に進む。
これに対し、管理装置200からエラーコマンドが送信される(NAK応答がある)か、又は図24のステップS185で上位計数要求コマンドを送信してから所定時間が経過しても上位計数復唱コマンドを受信しない(タイムアウトとなる)と、ステップS194に進み、払出制御基板100は、エラーフラグをセットする処理を実行する。そして、本フローチャートによる処理を終了する。
なお、図24のステップS538のエラー処理と、図25のステップS538のエラー処理とは、同一の処理である。
ステップS189に進むと、払出制御基板100は、計数指示コマンドを管理装置200に送信し、ステップS191に進む。
ステップS191では、クレジット数をクリアする(「0」にする)処理を実行する。そして、本フローチャートによる処理を終了する。
なお、図24及び図25中のステップS181、S185、S189、S191及びS194と、図12中のステップS181、S185、S189、S191及びS194とは、それぞれ同一の内容の処理である。
次に、図24及び図25中の右側に示す管理装置200における計数処理について説明する。
ステップS631において、管理装置200は、コマンド受信処理を実行する。この処理は、払出制御基板100から送信される下位計数要求コマンドを受信する処理である。そして、下位計数要求コマンドを受信すると、次のステップS632に進む。
ステップS632に進むと、管理装置200は、受信したコマンドが下位計数要求コマンドであるか否かの判断処理を実行する。
ここで、ステップS632において、受信したコマンドが下位計数要求コマンドであると判断したときは、次のステップS633に進み、管理装置200は、受信した下位計数要求コマンドを所定の記憶領域に記憶(保存)する処理を実行する。そして、次のステップS634に進む。
これに対し、ステップS632において、受信したコマンドが下位計数要求コマンドでないと判断したときは、本フローチャートによる処理を終了する。
ステップS634に進むと、管理装置200は、計数(払戻し)要求を受付け可能であるか否かの判断処理を実行する。
ここで、ステップS634において、計数(払戻し)要求を受付け可能であると判断したときは、ステップS636に進み、管理装置200は、貸出可LEDを消灯させる処理、貸出スイッチ202の操作を無効(受付け不可)にする処理、及び返却スイッチ203の操作を無効(受付け不可)にする処理を実行する。そして、次のステップS637に進む。
これに対し、ステップS634において、計数(払戻し)要求を受付け不可であると判断したときは、ステップS635に進み、管理装置200は、エラーコマンドを払出制御基板100に送信する(NAK応答)。そして、本フローチャートによる処理を終了する。
ステップS637に進むと、管理装置200は、下位計数復唱コマンドを払出制御基板100に送信する(受信した下位計数要求コマンドをそのまま払出制御基板100に送り返す)処理を実行する(下位計数要求コマンドのACK応答)。そして、次のステップS638に進む。
ステップS638では、管理装置200は、コマンド受信処理を実行する。この処理は、払出制御基板100から送信される上位計数要求コマンドを受信する処理である。そして、上位計数要求コマンドを受信すると、図25のステップS639に進む。
ステップS639に進むと、管理装置200は、受信したコマンドが上位計数要求コマンドであるか否かの判断処理を実行する。
ここで、ステップS639において、受信したコマンドが上位計数要求コマンドであると判断したときは、ステップS641に進み、管理装置200は、受信した上位計数要求コマンドを所定の記憶領域に記憶(保存)する処理を実行する。そして、ステップS642に進む。
これに対し、ステップS639において、受信したコマンドが上位計数要求コマンドでないと判断したときは、ステップS640に進み、管理装置200は、エラーコマンドを払出制御基板100に送信する(NAK応答)。そして、ステップS647に進み、管理装置200は、エラー処理を実行する。
ステップS642に進むと、管理装置200は、上位計数復唱コマンドを払出制御基板100に送信する(受信した上位計数要求コマンドをそのまま払出制御基板100に送り返す)処理を実行する(ACK応答)。そして、次のステップS643に進む。
ステップS643では、管理装置200は、コマンド受信処理を実行する。この処理は、払出制御基板100から送信される計数指示コマンドを受信する処理である。そして、計数指示コマンドを受信すると、次のステップS644に進む。
ステップS644に進むと、管理装置200は、受信したコマンドが計数指示コマンドであるか否かの判断処理を実行する。
ここで、受信したコマンドが計数指示コマンドであると判断したときは、次のステップS645に進み、管理装置200は、下位計数要求コマンド及び上位計数要求コマンドから特定される払戻し枚数を、管理装置200側で管理する電子メダルの枚数に反映させる処理を実行する。そして、次のステップS646に進む。
これに対し、受信したコマンドが計数指示コマンドでないと判断したときは、ステップS647に進み、管理装置200は、エラー処理を実行する。
ステップS646に進むと、管理装置200は、貸出可LEDを点灯させる処理、貸出スイッチ202の操作を有効(受付け可能)にする処理、及び返却スイッチ203の操作を有効(受付け可能)にする処理を実行する。そして、本フローチャートによる処理を終了する。
図26は、払出制御基板100と管理装置200との間におけるシリアル通信のデータ信号及びストローブ信号の波形を示す図である。
図23~図25では、払出制御基板100と管理装置200との間で送受信されるコマンドとして、貸出要求コマンド、下位計数要求コマンド、上位計数要求コマンド等を示したが、これらのコマンドは、上述したように、先行コマンド(上位8ビット)及び後続コマンド(下位8ビット)から構成されている。
そして、図26では、これらのコマンドを構成する先行コマンドや後続コマンドを1つの単位とし、そのデータ信号及びストローブ信号の波形を示している。
図26に示すように、払出制御基板100と管理装置200との間では、データ信号をD0ビット(DB0)からD7ビット(DB7)まで1ビットずつ送信するとともに、これらをストローブ信号がオンのタイミングで1ビットずつ読み取らせるようにしている。
図27は、電子メダル貸出し時における各信号のオン/オフを示すタイミングチャートである。
図23では、電子メダル貸出し時に払出制御基板100と管理装置200との間で送受信されるコマンドを示したが、図27は、電子メダル貸出し時における払出制御基板100及び管理装置200の各信号のオン/オフのタイミングを示している。
図27に示すように、スロットマシン10及び管理装置200の電源がオンになると、その後、管理装置200の返却スイッチ203の操作が受付け可能になる。
その後、スロットマシン10の払出制御基板100及び管理装置200のデータ信号が「0」になり、スロットマシン10の払出制御基板100及び管理装置200のストローブ信号がオフになる。
その後、管理装置200の貸出スイッチ202の操作が受付け可能になり、動作状態が待機状態から通常状態となる。なお、通常状態は、管理装置200による電子メダルの貸出しが可能であり、スロットマシン10での遊技の進行が可能な状態を意味する。
そして、管理装置200の貸出スイッチ202の操作(オン)が検知されると、まず、管理装置200の貸出スイッチ202及び返却スイッチ203の操作が受付け不可になり、その後、管理装置200からスロットマシン10の払出制御基板100に貸出要求コマンドの先行コマンド及び後続コマンドが順次送信される。
その後、スロットマシン10の払出制御基板100から管理装置200に貸出復唱コマンドの先行コマンド及び後続コマンドが順次送信される。
その後、管理装置200からスロットマシン10の払出制御基板100に貸出指示コマンドの先行コマンド及び後続コマンドが順次送信される。
そして、貸出指示コマンドの送信が完了すると、管理装置200の貸出スイッチ202及び返却スイッチ203の操作が受付け可能になる。
図28は、電子メダル計数(払戻し)時における各信号のオン/オフを示すタイミングチャートである。
図24及び図25では、電子メダル計数時に払出制御基板100と管理装置200との間で送受信されるコマンドを示したが、図28は、電子メダル計数時における払出制御基板100及び管理装置200の各信号のオン/オフのタイミングを示している。
図28に示すように、スロットマシン10及び管理装置200の電源がオンになると、その後、管理装置200の返却スイッチ203の操作が受付け可能になる。
その後、スロットマシン10の払出制御基板100及び管理装置200のデータ信号が「0」になり、スロットマシン10の払出制御基板100及び管理装置200のストローブ信号がオフになる。
その後、管理装置200の貸出スイッチ202の操作が受付け可能になり、動作状態が待機状態から通常状態となる。ここまでは、図27と同様である。
そして、スロットマシン10の計数スイッチ47の操作(オン)が検知されると、まず、管理装置200の貸出スイッチ202及び返却スイッチ203の操作が受付け不可になり、その後、スロットマシン10の払出制御基板100から管理装置200に下位計数要求コマンドの先行コマンド及び後続コマンドが順次送信される。
その後、管理装置200からスロットマシン10の払出制御基板100に下位計数復唱コマンドの先行コマンド及び後続コマンドが順次送信される。
その後、スロットマシン10の払出制御基板100から管理装置200に上位計数要求コマンドの先行コマンド及び後続コマンドが順次送信される。
その後、管理装置200からスロットマシン10の払出制御基板100に上位計数復唱コマンドの先行コマンド及び後続コマンドが順次送信される。
その後、スロットマシン10の払出制御基板100から管理装置200に計数指示コマンドの先行コマンド及び後続コマンドが順次送信される。
そして、計数指示コマンドの送信が完了すると、管理装置200の貸出スイッチ202及び返却スイッチ203の操作が受付け可能になる。
以上、本発明の第1実施形態について説明したが、本発明は、上述した内容に限定されるものではなく、たとえば以下のような種々の変形が可能である。
(1)本実施形態では、図4~図7に示す各種コマンドは、先行コマンド(上位8ビット)及び後続コマンド(下位8ビット)からなる16ビットのデータで構成されるとしたが、これに限らず、たとえば、8ビットとしてもよく、32ビットとしてもよい。
(2)本実施形態では、メイン制御基板50と払出制御基板100との間、及び払出制御基板100と管理装置200との間では、シリアル通信でコマンドの送受信を行うとしたが、これに限らず、パラレル通信としてもよく、シリアル通信とパラレル通信とを併用してもよい。
(3)本実施形態では、メイン制御基板50は、3ベットスイッチ40bのオン時に、払出制御基板100に対し、1枚投入要求コマンドを3回送信する例を示したが、これに限らず、3枚投入要求コマンドを1回送信してもよい。
(4)本実施形態では、メイン制御基板50は、第3ストップスイッチ42がオンからオフになった時に、払出制御基板100に対し、払出要求コマンドを送信したが、これに限らず、全リール31停止時に、払出要求コマンドを送信してもよい。
(5)本実施形態では、メイン制御基板50は、役の非入賞時にも、第3ストップスイッチ42がオンからオフになった時に、払出制御基板100に対し、払出し枚数が「0」である払出要求コマンドを送信したが、これに限らず、役の非入賞時には、払出要求コマンドを送信しなくてもよい。
(6)本実施形態では、遊技機の1つとしてスロットマシン10を例に挙げたが、スロットマシン10は、風営法の適用を受ける第4号営業店に設置される「回胴式遊技機」(いわゆる「パチスロ遊技機」)に限られるものではなく、たとえばカジノマシンにも適用することができる。また、本発明をぱちんこ遊技機に適用してもよい。
(7)本明細書に記載のすべての実施形態及び各種の変形例は、単独で実施されることに限らず、適宜組み合わせて実施することが可能である。
<第2実施形態>
第2実施形態の遊技機10は、第1実施形態と同様に、有体物としてのメダルを用いないメダルレス遊技機である。
ここで、「メダルレス遊技機」の称呼における「メダルレス」とは、有体物としてのメダルを用いないことを意味する。
このため、「メダルレス遊技機」であっても、遊技の用に供する遊技媒体(遊技価値)を用いることは従来の遊技機と同様であり、メダルレス遊技機における遊技の用に供する遊技媒体についても単に「メダル」と称する場合がある。
したがって、「メダル」と称するときは、有体物としてのメダルだけに限らず、無体物としてのメダル(たとえば、電子データ)を指す場合もある。
また、無体物としてのメダルは、遊技媒体、遊技価値、得点(又は単に「点」)、電子メダル、電子データ、電子情報、電子遊技媒体、電子遊技価値等と称する場合がある。以下の第2実施形態の説明では、遊技機10(メダルレス遊技機)に用いられる無体物としての「メダル」を「遊技媒体」と称する。
「貸出し」とは、遊技に必要な遊技媒体を、貸出ユニット200から遊技機10に送信することをいう。
「クレジット」とは、遊技機10に遊技媒体を記憶(貯留、クレジット)することをいう。「クレジットされている遊技媒体」とは、遊技媒体数制御基板100のRWM103に記憶されているデータに相当する。
「ベット」とは、遊技を行うために遊技媒体を賭けることをいう。ベットスイッチ40(1ベットスイッチ40a又は3ベットスイッチ40b)を操作すると、遊技媒体数制御基板100のRWM103に記憶されているデータに相当する遊技媒体から、所定数の遊技媒体がベットされる。
「ベット」は、「投入」とも称される。なお、「投入」とは、実際のメダルをメダル投入口から遊技機内に入れることのみを指すのではなく、ベットスイッチ40の操作により、遊技媒体(電子メダル)をベットすることも含まれる。
「精算」とは、ベットされている遊技媒体を遊技媒体数制御基板100のRWM103に(クレジットに)戻すことをいい、精算スイッチ46を操作することにより行う。「精算」は、「返却」や「キャンセル」と称される場合がある。したがって、「精算スイッチ46」を「返却スイッチ46」や「キャンセルスイッチ46」と称する場合がある。
遊技媒体が遊技媒体数制御基板100のRWM103内にデータとして記憶(クレジット)されている状況下で、ベットスイッチ40が操作されると、所定数の遊技媒体がベットされ(ベット数として加算され)、ベットされた数だけ遊技媒体数制御基板100のRWM103のデータ(クレジット数)が減算される。一方、遊技媒体がベットされている状況下において精算スイッチ46が操作されると、それまでのベット数(遊技媒体数)が「0」になり、かつ、それまでのベット数が遊技媒体数制御基板100のRWM103に加算される(クレジットに戻される)。
「付与」とは、役の入賞に基づき、入賞役の配当に対応する数の遊技媒体を遊技機10に記憶されているクレジット数に加算するこという。
「付与」は、「払出し」とも称する。なお、「払出し」とは、実際のメダルをメダル返却口から排出することのみを指すのではなく、小役の入賞時に、遊技媒体数制御基板100のRWM103に記憶された遊技媒体数に、当該小役の入賞に対応する数の遊技媒体数を加算する処理も、「払出し(処理)」に含まれる。
第2実施形態では、第1実施形態における「払出し手段67」を、「付与数制御手段67」と称する。
「計数」とは、遊技機10(遊技媒体数制御基板100のRWM103)に記憶されている(クレジットされている)遊技媒体を、貸出ユニット200に戻すことをいい、計数スイッチ47の操作によって行われる。計数スイッチ47が操作されると、遊技機10に記憶された所定数の遊技媒体が減算されるとともに、減算された分の遊技媒体が貸出ユニット300側に加算される。
貸出ユニット200からの遊技媒体の「返却」とは、貸出ユニット200に記憶されている遊技媒体数を、遊技媒体数記憶媒体(磁気カード、ICカード、ICコイン等)に記憶して、外部(遊技者)に排出することをいう。貸出ユニット200に記憶されている遊技媒体数を遊技媒体数記憶媒体に記憶する場合には、リーダライタが用いられる(貸出ユニット200には、リーダライタが内蔵されている)。
なお、上述したように、「精算」を「返却」と称する場合があると説明したが、第2実施形態において「返却」というときは、貸出ユニット200に記憶されている遊技媒体数を、遊技媒体数記憶媒体に記憶して、外部(遊技者)に排出することをいうものとする。
第2実施形態で用いられる設定値表示手段73や役比モニタ113等のLEDは、各桁が7セグメントから構成されている。そして、「7セグメント」とは、7つのセグメント素子に加え、DP(デシマルポイント)セグメントを有するものである。
「通知」とは、遊技機10から貸出ユニット200に対して、又は貸出ユニット200から遊技機10に対して電文を送信(出力)することに相当し、「送信」、「出力」と同義である。
以下では、たとえば遊技機情報通知を「送信する」と称する場合もあり、あるいは、たとえば遊技機情報を「通知する」と称する場合もある。
RWMやROMの記憶域の少なくとも一部を、「記憶領域」と称する場合と「記憶手段」と称する場合とがあり、両者は、同義である。
また、(主、副等の)制御基板を「制御手段」と称する場合もある。さらに、CPUを「制御手段」と称する場合もある。
図29は、第2実施形態における遊技機10(スロットマシン)のブロック図を示す図である。なお、第1実施形態では「スロットマシン10」と称したが、第2実施形態では「遊技機10」と称する。
また、第1実施形態では「メイン制御基板50」と称したが、第2実施形態では「主制御基板50」と称する。同様に、第1実施形態では「サブ制御基板80」と称したが、第2実施形態では「副制御基板80」と称する。ただし、主制御基板をメイン制御基板と称してもよく、副制御基板をサブ制御基板と称してもよい(いずれも同じ意味である)。
また、第1実施形態では「払出制御基板100」と称したが、第2実施形態では「遊技媒体数制御基板100」と称する。ただし、遊技媒体数制御基板を払出制御基板と称してもよく、両者は同じ意味である。
さらにまた、第1実施形態では「クレジット数表示LED76」と称したが、第2実施形態では「遊技媒体数表示部121」と称する。両者は同じ機能を有し、たとえば5桁のLEDから構成されている。
さらに、第1実施形態では「獲得数表示LED78」と称したが、第2実施形態では「付与数表示部78」と称する。両者は同じ機能を有し、たとえば2桁のLEDから構成されている。
主制御基板50を主制御基板の1つと見たとき、遊技媒体数制御基板100は、主制御基板の他の1つである。このため、主制御基板50のRWM53、ROM54、CPU55は、それぞれ第1主制御RWM53、第1主制御ROM54、第1主制御CPU55と称される場合がある。
また、遊技媒体数制御基板100のRWM103、ROM104、CPU105は、それぞれ第2主制御RWM103、第2主制御ROM14、第2主制御CPU105と称される場合がある。
さらにまた、第1実施形態では「管理装置(CRユニット)200」と称したが、第2実施形態では「貸出ユニット200」と称する。両者は同じ機能を有する。また、貸出ユニット200は「専用ユニット200」と称される場合もある。
1つの遊技機10に対して1つの貸出ユニット200が設けられている。換言すれば、1つの貸出ユニット200は、1つの遊技機10専用の装置である。
これに対し、貸出ユニット200と電気的に接続されているホールコンピュータ300は、貸出ユニット200ごとに設けられていてもよく、あるいは複数の貸出ユニット200あたり1つのホールコンピュータ300が設けられていてもよい。
同様に、貸出ユニット200と電気的に接続されている管理コンピュータ400は、貸出ユニット200ごとに設けられていてもよく(貸出ユニット200と管理コンピュータ400とが一対一接続であってもよく)、あるいは複数の貸出ユニット200あたり1つの管理コンピュータ400が設けられていてもよい。
ホールコンピュータ300は、ホール営業のためのデータ収集用のコンピュータである。たとえば当日の遊技回数、イン(投入)数、アウト(付与)数、MY(差数、差枚数)、役物作動回数、貸出数等を集計する。
管理コンピュータ400は、外部(ホール外のたとえば外部センタ)に情報を送信するためのコンピュータである。なお、管理コンピュータ400についても、ホールコンピュータ300と同様に、ホール内に設置されている。
図29では、ホールコンピュータ300と管理コンピュータ400とを別に設けているが、これらが1つになったコンピュータとしてもよい。
主制御基板50において、RWM53の記憶領域の一部として、ベット数記憶手段53a及び付与数記憶手段53bが設けられている。
ベット数記憶手段53aは、現時点でのベット数を記憶するものである。
一方、主制御基板50には、ベット数表示部77が接続されている。ベット数表示部77は、ベット数記憶手段53aに記憶されているベット数を表示する装置であり、たとえば2桁のLEDから構成されている。
また、付与数記憶手段53bは、小役の入賞に基づき所定数の遊技媒体が付与されたときに、遊技媒体の付与数を記憶するものである。
一方、主制御基板50には、付与数表示部78が接続されている。付与数表示部78は、付与数記憶手段53bに記憶されている付与数を表示する装置であり、たとえば2桁のLEDから構成されている。
さらにまた、第1実施形態(図1)では図示していないが、主制御基板50上には、設定値表示手段73が搭載されている。設定値表示手段73はたとえば1桁のLEDから構成され、設定変更状態や設定確認状態において、現設定値を表示可能とする。一方、後述する役比モニタ113は、主制御基板50ではなく遊技媒体数制御基板100上に搭載されている。ただし、これに限らず、主制御基板50上に役比モニタ113を搭載してもよい。
遊技媒体数制御基板100は、第2主制御基板(手段)、払出制御基板(手段)、メダル数制御基板(手段)、メダル数表示制御基板(手段)、又は遊技媒体数表示制御基板(手段)等とも称される。遊技媒体数制御基板100は、主制御基板50と同様に、不正防止のためのセキュリティ性が求められるため、基板ケース内に収容され、カシメ(封印部材)により封印することによって、基板ケースの開放(遊技媒体数制御基板100内へのアクセス)が困難となるように構成されている。
遊技媒体数制御基板100は、主制御基板50と同様に、独立したRWM103、ROM104、CPU105を備える。これらのRWM103、ROM104、CPU105は、1つのチップ内に内蔵されていてもよい。遊技媒体数制御基板100は、遊技媒体数表示部121の表示制御や、接続端子板130を介して貸出ユニット200に対して情報を送信したり、接続端子板130を介して貸出ユニット200から情報を受信可能となるように構成されている。また、主制御基板50に対して情報を送信したり、主制御基板50から情報を受信可能となるように構成されている。図29中、各基板間の矢印の向きが情報の送受信方向を示している。したがって、主制御基板50と遊技媒体数制御基板100とは双方向通信が可能に構成されている。
なお、図29では、主制御基板50と遊技媒体数制御基板100とを別体から構成しているが、1つの主制御基板から構成することも可能である。ただし、この場合も、1基板上に、第1主制御RWM53、第1主制御ROM54、第1主制御CPU55、第2主制御RWM103、第2主制御ROM104、第2主制御CPU105が設けられることになる。
遊技媒体数制御基板100のRWM103には、遊技媒体数(クレジット数)を記憶する遊技媒体数記憶手段103a(「遊技媒体数記憶領域(_NB_MEDAL )」とも称する。)を備える。小役の入賞により遊技媒体が付与されるときには、遊技媒体数記憶手段103aの遊技媒体数(データ)が更新(加算)される。
また、遊技を開始するために遊技媒体がベットされると、ベット数に対応する遊技媒体数だけ、遊技媒体数記憶手段103aの遊技媒体(データ)が更新(減算)される。
また、遊技媒体数制御基板100には、遊技媒体数表示基板120が電気的に接続されている。この遊技媒体数表示基板120上には、遊技媒体数表示部121が搭載されている。遊技媒体数表示部121は、遊技媒体数記憶手段103aに記憶されている遊技媒体数を表示するものであり、たとえば5桁のLEDから構成される。
たとえば、遊技媒体数記憶手段103aに遊技媒体数として「100」が記憶されていると仮定する。この場合に、遊技媒体数表示部121には「100」と表示される。
遊技を開始するために3ベットスイッチ40bが操作されると、そのベット操作信号が主制御基板50から遊技媒体数制御基板100に送信される。遊技媒体数制御基板100は、遊技媒体数記憶手段103aに記憶された遊技媒体数に基づいて、当該ベットが可能であるか否かを判断し、ベット可能であると判断したときは、主制御基板50に対してベット信号を送信する。主制御基板50は、当該ベット信号を受信すると、ベット処理を実行し、ベット数記憶手段53aにベット数を記憶する。ベット数記憶手段53aに記憶されたベット数が「0」から「3」に更新されると、ベット数表示部77の表示(下一桁)も「0」から「3」に更新される。
また、遊技媒体数制御基板100は、上記のように主制御基板50に対してベット信号を送信すると、遊技媒体数記憶手段103aに記憶された遊技媒体数を更新する。この例では、遊技媒体数を「100」から「97」に更新する。遊技媒体数記憶手段103aに記憶された遊技媒体数が「100」から「97」に更新されると、遊技媒体数表示部121の表示も「100」から「97」に更新される。
主制御基板50には、精算スイッチ46が接続されている。精算スイッチ46は、ベットされている遊技媒体を戻す(換言すれば、ベット数を「0」にする)ときに操作されるスイッチである。
ベット数記憶手段53aにベット数が記憶され、ベット数表示部77にベット数が表示されている状況下において、スタートスイッチ41を操作する前(遊技を開始する前)に精算スイッチ46が操作されたときは、ベット数を返却する(元に戻す)。
たとえば上記例のように、ベット数記憶手段53aに「3」が記憶され、かつ、遊技媒体数記憶手段103aに「97」が記憶されている状況下において、精算スイッチ46が操作されると、ベット数記憶手段53aに記憶されているベット数は「3」から「0」に更新される。これにより、ベット数表示部77の表示は「3」から「0」に更新される。
また、精算スイッチ46が操作されたことに基づいて、精算信号(ベット数「3」を戻すことに相当する信号)が主制御基板50から遊技媒体数制御基板100に送信される。遊技媒体数制御基板100は、この精算信号を受信すると、遊技媒体数記憶手段103aに記憶されている遊技媒体数を「97」から「100」に更新する。これにより、遊技媒体数表示部121の表示は「97」から「100」に更新される。
このように、精算スイッチ46は、ベットされた遊技媒体を元に戻す(ベット数を「0」にする)ときに使用される。したがって、精算スイッチ46が操作されても、遊技媒体数記憶手段103aに記憶されている遊技媒体数が減算されることはない。
また、ベット数記憶手段53aにベット数が記憶されていない状況において精算スイッチ46が操作されても、ベット数記憶手段53aに記憶されているベット数は「0」のままであり、かつ、遊技媒体数記憶手段103aに記憶されている遊技媒体数もそのままである。
このような精算処理を開始するために、精算スイッチ46が操作されているか否かを判断し、精算スイッチ46が操作されていない場合は精算処理を開始せず、精算スイッチ46が操作されている場合は、ベット数記憶手段53aに記憶されているベット数が「0」であるか否かを判断する。さらに、ベット数記憶手段53aに記憶されているベット数が「0」である場合は精算処理を開始せず、ベット数記憶手段53aに記憶されているベット数が「0」でない場合は精算処理を開始するように構成されている。
これにより、精算スイッチ46が操作されている状況とベット数記憶手段53aに記憶されているベット数が「0」である状況とを比較したときに、精算スイッチ46が操作されている状況の方が相対的に少ないため、精算スイッチ46が操作されているか否かを先に判断することで、処理負担を軽減することが可能となる。
ベット数が「3」である状況下でスタートスイッチ41が操作されると、当該遊技でのベット数が確定するとともに、遊技が開始される(リール31の回転が開始する)。この場合、ベット数記憶手段53aに記憶されているベット数は、スタートスイッチ41の操作時(遊技の開始時)にクリアしてもよく、あるいは、全リール31の停止時にクリアしてもよい。ベット数記憶手段53aに記憶されているベット数がクリアされると、ベット数表示部77の表示も「0」に更新される。
当該遊技において、たとえば付与数「8」の小役が入賞したときには、主制御基板50は、付与数記憶手段53bに「8」を記憶する。付与数記憶手段53bに記憶された値が「8」に更新されると、付与数表示部78の表示(下一桁)も「0」から「8」に更新される。
また、遊技媒体が付与されると、付与(払出し)信号が主制御基板50から遊技媒体数制御基板100に送信される。遊技媒体数制御基板100は、付与信号を受信したときは、付与信号に対応する遊技媒体数だけ、遊技媒体数記憶手段103aに記憶されている遊技媒体数に加算する。本例では、遊技媒体数記憶手段103aに記憶されている遊技媒体数は、「97」から「105」に更新される。遊技媒体数記憶手段103aに記憶されている遊技媒体数が「97」から「105」に更新されると、遊技媒体数表示部121の表示も「97」から「105」に更新される。
また、付与数記憶手段53bに付与数が記憶された後は、次回遊技のスタートスイッチ41の操作時(遊技の開始時)や、次回遊技の全リール31の停止時等に、付与数記憶手段53bに記憶された付与数をクリアする。付与数記憶手段53bに記憶されている付与数がクリアされると、付与数表示部78の表示も「0」に更新される。
なお、遊技媒体数表示部121に、発生したエラーに対応するエラー情報を表示するように構成されている。
この場合、遊技媒体数表示部121に表示されている遊技媒体数に替えてエラー情報を表示してもよいが、遊技媒体数とエラー情報とを交互に表示してもよい。たとえば、遊技媒体数を「3」秒表示→エラー情報を「3」秒表示→遊技媒体数を「3」秒表示→・・・のようにしてもよい。なお、遊技媒体数表示部121が5桁のLEDから構成される場合において、表示するエラー情報がたとえば「E1」であるときは、「000E1」、「---E1」、「E1000」、「E1---」等と表示することが挙げられる。
ここで、遊技媒体数表示部121に、発生したエラーに対応するエラー情報を表示させない場合には、付与数表示部78に、発生したエラーに対応するエラー情報を表示してもよい。この場合、付与数表示部78には、付与した遊技媒体数の表示後に、エラー情報を表示するようにしてもよい。たとえば、上記のように、付与数が「8」である場合、付与数表示部78に、「00」→「01」→「02」→・・・「07」→「08」と表示(カウントアップ)した後、「E1」(エラーコードの一例)と表示する態様が挙げられる。
計数スイッチ47は、遊技媒体数制御基板100と電気的に接続されている。図示しないが、計数スイッチ47は、たとえばベットスイッチ40等と同様に、遊技機10のコントロールパネル上等に設けられている。
計数スイッチ47が操作されると、遊技媒体数記憶手段103aに記憶されている遊技媒体(情報)を、接続端子板130を介して貸出ユニット200に送信可能に構成されている。たとえば、遊技媒体数記憶手段103aに遊技媒体数「200」が記憶されている状況下において、計数スイッチ47が操作されると、計数値として「200」という情報が接続端子板130に送信され、その後、貸出ユニット200に計数値として「200」という情報が送信され得るように構成されている。そして、計数スイッチ47が操作され、計数値を送信した後の遊技媒体数記憶手段103aには「0」が記憶されるように構成されている。
また、計数スイッチ47が操作される前の遊技媒体数表示部121には「200」と表示されている状況下において、計数スイッチ47が操作され、貸出ユニット200に計数値として「200」という情報が送信されると、遊技媒体数表示部121の表示は「0」に更新される。
遊技媒体数制御基板100には、総遊技媒体数クリアスイッチ112が設けられている。総遊技媒体数クリアスイッチ112が操作されると、遊技媒体数制御基板100の遊技媒体数記憶手段103aに記憶されている(総)遊技媒体数をクリア可能としている(「0」を記憶する)。遊技媒体数記憶手段103aに記憶されている遊技媒体数がクリアされると、遊技媒体数表示部121に表示されている遊技媒体数も「0」に更新される。
なお、総遊技媒体数クリアスイッチ112の操作によりクリアされる情報は、遊技媒体数記憶手段103aに記憶されている総遊技媒体数のみであり、他の情報はクリアされない。
たとえば、ベット数記憶手段53aに記憶されているベット数が「3」であり、遊技媒体数記憶手段103aに記憶されている遊技媒体数が「1000」であるときに、総遊技媒体数クリアスイッチ112が操作されると、ベット数記憶手段53aに記憶されているベット数は「3」のままであるが、遊技媒体数記憶手段103aに記憶されている遊技媒体数は「0」となる。換言すると、総遊技媒体数クリアスイッチ112が操作されたことにより、ベット数記憶手段53aに記憶されているベット数はクリアされない。
同様に、貸出ユニット200の貸出可能遊技媒体数記憶手段206に、貸出可能遊技媒体数として「50」が記憶されており、かつ、遊技媒体数記憶手段103aに記憶されている遊技媒体数が「1000」であるときに、総遊技媒体数クリアスイッチ112が操作されると、貸出可能遊技媒体数記憶手段206に記憶されている貸出可能遊技媒体数は「50」のままであるが、遊技媒体数記憶手段103aに記憶されている遊技媒体数は「0」となる。換言すると、総遊技媒体数クリアスイッチ112が操作されたことにより、貸出可能遊技媒体数記憶手段206に記憶されている貸出可能遊技媒体数はクリアされない。
総遊技媒体数クリアスイッチ112の操作方法は、1回押すことでもよいし、所定時間長押しすることでもよいし、押下されている状況下で電源を投入することでもよい。なお、総遊技媒体数クリアスイッチ112は、遊技者が操作できない位置、たとえば遊技媒体数制御基板100上や、遊技機10の筐体内部や、遊技機10のフロントドアの背面部等に配置されている。
総遊技媒体数クリアスイッチ112が操作されたことにより遊技媒体数がクリアされた場合は、総遊技媒体数クリアステータスをオンにし、1遊技が終了するまで総遊技媒体数クリアステータスのオンを維持し、当該1遊技の終了後に総遊技媒体数クリアステータスをオフにする。
総遊技媒体数クリアステータスの情報は、貸出ユニット200に送信してもよい。貸出ユニット200が総遊技媒体数クリアステータスがオンである情報を受信した場合は、貸出ユニット200で記憶している総遊技媒体数をクリアする。また、遊技機10において総遊技媒体数クリアステータスがオンの状況下で、貸出ユニット200から貸出遊技媒体が付与された場合、総遊技媒体数クリアステータスはオンのまま、新たに遊技媒体数記憶手段103aに、貸出遊技媒体数を加算する。
また、総遊技媒体数クリアスイッチ112は、遊技中に操作されても無効であり、遊技待機中(遊技開始前や遊技終了後)に総遊技媒体数クリアスイッチ112が操作されることにより有効となる。この場合、遊技媒体数制御基板100は、主制御基板50から送信された遊技開始情報と遊技終了情報とに基づいて遊技中であるか否かを判定し、遊技中であるときの総遊技媒体数クリアスイッチ112の操作を無効にする。
ただし、総遊技媒体数クリアスイッチ112は、遊技中の操作で有効となるようにしてもよい。この場合は、総遊技媒体数クリアステータスは、総遊技媒体数クリアスイッチ112が操作された遊技の次回遊技の終了に基づいてオンからオフにする。換言すると、総遊技媒体数クリアスイッチ112が操作された当該遊技の終了では総遊技媒体数クリアステータスのオンを維持し、その次回遊技が終了すると総遊技媒体数クリアステータスをオフにする。これにより総遊技媒体数クリアステータスが短時間だけオンとなるようなタイミング(遊技終了直前に総遊技媒体数クリアスイッチ112が操作されたタイミング)であっても次回遊技に総遊技媒体数クリアステータスのオンを維持できるので、総遊技媒体数をクリアするような不正を抑制できる。
なお、総遊技媒体数クリアスイッチ112が操作された遊技の終了後に総遊技媒体数クリアステータスをオフにしてもよく、この場合は、総遊技媒体数クリアステータスを更新するプログラムを共通化することによる容量削減が可能となる。
役比モニタ113は、所定の比率を表示するものであり、たとえば4桁のLED(7セグメント(DPセグメントあり))から構成されている。第2実施形態において、遊技媒体数制御基板100の割込み周期は「1」msに設定されている。なお、主制御基板50の割込み周期は「2.235」msである。
そして、4割込みが1周期となって、役比モニタ113の4桁のLEDをダイナミック点灯させる。具体的には、たとえばLED表示カウンタを設け、割込みごとに、
「00000001(B)」
「00000010(B)」
「00000100(B)」
「00001000(B)」
を循環するように構成する。
そして、LED表示カウンタが「00000001(B)」のときは役比モニタ113の一の位のLEDを点灯可能(他のLEDは消灯)とし、LED表示カウンタが「00000010(B)」のときは役比モニタ113の十の位のLEDを点灯可能(他のLEDは消灯)とし、LED表示カウンタが「00000100(B)」のときは役比モニタ113の百の位のLEDを点灯可能(他のLEDは消灯)とし、LED表示カウンタが「00001000(B)」のときは役比モニタ113の千の位のLEDを点灯可能(他のLEDは消灯)とする。
役比モニタ113を構成する4個のLEDのうち、左側(千及び百の位)の2個のLEDは、「識別セグ」と称するものであり、情報種別を表示する。また、右側(十及び一の位)の2個のLEDは、「比率セグ」と称するものであり、算出した比率を表示する。
そして、第2実施形態では、役比モニタ113には、比率として、以下の(1)~(6)の6項目の情報を所定時間ごとに繰り返し表示する。
(1)指示込役物比率(累計)(7P.)、又は有利区間比率(累計)(7U.)
(2)連続役物比率(6000遊技)(6y.)
(3)役物比率(6000遊技)(7y.)
(4)連続役物比率(累計)(6A.)
(5)役物比率(累計)(7A.)
(6)役物等状態比率(累計)(5H.)
なお、識別セグ及び比率セグによりいずれかの比率を表示する場合には、識別セグの一の位のDPセグメントを点灯させ、識別セグと比率セグとの境目を明確にする。このときには、識別セグの十の位、比率セグの十の位及び一の位の各DPセグメントは点灯させない。
上記の表記中、たとえば「P.」とは、識別セグの一の位の7セグメントにより「P」を表示し、かつ、当該7セグメントのDPセグメントを点灯させることを意味する。
たとえば、指示込役物比率(累計)を表示する場合において、その比率が「50」%であるときは、指示込役物比率(累計)を示す記号「7P.」を識別セグに表示し、「50」を比率セグに表示する。
ここで、「累計」とは、それまでにカウントし続けた数値の総和を指し、本実施形態では、少なくとも「175000」遊技回数以上になるまではカウントする。
なお、「175000」遊技回数以上となった後も、RWM103の所定アドレスの記憶領域に記憶可能な値(上限値)に到達するまで加算し続ける。
また、「6000遊技」とは、1セットを「400」遊技回数とし、その15セットを合計した遊技回数である。
以下に、上記の6項目の比率について説明する。
(1)指示込役物比率(累計)
「指示込役物比率(累計)」とは、累計付与数(「付与数」とは、遊技媒体の付与数を指す。以下同じ。)を分母とし、役物(RB、CB、SB)の作動により付与された累計の役物作動時付与数と指示機能の作動により付与された累計の指示付与数の合算を分子とした比率である。
なお、上記の「合算」とは、第1に、役物作動時の付与数を記憶する記憶領域と、指示付与数を記憶する記憶領域とを別個に設けた場合には、双方の記憶領域に記憶された値の合計値に相当する。また第2に、役物作動時の付与数と指示機能の作動時の付与数との双方(以下、「指示込役物付与数」と称する。)を記憶する一記憶領域(指示込役物カウンタ)を設けた場合には、当該一記憶領域の値に相当する。
たとえば、遊技回数が「175000」回以上であって、累計付与数が「200000」、累計の指示込役物付与数が「100000」の場合には、指示込役物比率は「50」と算出される。なお、「累計」とは、必ずしも全遊技の累計とは限らない。たとえば、累計の付与数が予め定められた上限値(たとえば「1677215」)に達した場合や、累計の遊技回数に今回遊技の遊技回数を加算した結果、上限値を超えてしまう場合には、それ以降の遊技では、累計の付与数、及び累計の役物作動時付与数と累計の指示付与数の合算が更新されないように構成されている。
また、「指示機能の作動」とは、ストップスイッチ42の操作態様に応じて遊技結果に有利/不利が生じる役(当選番号)の抽選結果となった遊技において、有利な遊技結果を得るためのストップスイッチ42の操作態様を報知(指示)した遊技に相当する。たとえばいわゆる押し順ベル当選時に正解押し順を報知した遊技に相当する。
なお、役物を搭載していない遊技機10では、「指示込役物比率」は、指示機能の作動により付与された累計の指示付与数を総付与数で割った値となる。
「指示機能を作動させた遊技での付与数」については、指示機能を作動させた遊技において、表示した押し順でストップスイッチ42が操作されたことに基づいて、たとえば付与数「15」の小役が入賞したときは、指示込役物付与数及び総付与数に「15」を加算する。
これに対し、指示機能を作動させた遊技において、表示した押し順と異なる押し順でストップスイッチ42が操作されたために、たとえば付与数「3」の小役が入賞したときは、指示込役物付与数及び総付与数に「3」を加算する。
また、指示機能を作動させた遊技において、表示した押し順と異なる押し順でストップスイッチ42が操作されたために、当選役を取りこぼしたとき(役の非入賞時)には、指示込役物付与数及び総付与数は、前回遊技と同じ値となる。
なお、指示機能を作動させた遊技において、表示した押し順と異なる押し順でストップスイッチ42が操作されたために、当選役を取りこぼしたときは、指示込役物付与数及び総付与数に「0」を加算する処理を実行することにより、両付与数(カウンタ)の値が前回遊技と同じ値になるようにしてもよい。
(2)有利区間比率(累計)
「有利区間比率(累計)」とは、累計の遊技回数を分母とし、累計の有利区間遊技回数を分子とした比率である。たとえば、累計の遊技回数が「20000」、累計の有利区間遊技回数が「18000」の場合には、有利区間比率は「90」と算出される。
なお、「累計」とは、必ずしも全遊技の累計とは限らない。たとえば、累計の遊技回数が予め定められた上限値(たとえば「65535」)に達した場合には、それ以降の遊技では、累計の遊技回数、及び有利区間遊技回数が更新されないように構成されている。
上記の「指示込役物比率(累計)」又は「有利区間比率(累計)」は、遊技機10の仕様に応じていずれか一方を表示する。具体的には、指示機能を搭載した遊技機では「指示込役物比率(累計)」を表示し、「有利区間比率(累計)」の表示は不要である。これに対し、指示機能非搭載の遊技機では「有利区間比率(累計)」を表示し、「指示込役物比率(累計)」は表示しない。
(3)連続役物比率(6000遊技)、連続役物比率(累計)
「連続役物比率(6000遊技)」とは、遊技回数「6000」での付与数を分母とし、遊技回数「6000」中、連続役物(RB)作動時の付与数を分子とした比率である。
また、「連続役物比率(累計)」とは、累計の遊技回数における付与数を分母とし、累計の遊技回数において、連続役物(RB)作動時の付与数を分子とした比率である。たとえば、累計の遊技回数が所定回数(たとえば、17500回)以上であって、累計の遊技回数における付与数が「20000」、累計の連続役物作動時の付与数が「10000」の場合には、連続役物比率(累計)は「50」と算出される。
なお、「累計」とは、必ずしも全遊技の累計とは限らない。たとえば、累計の付与数が予め定められた上限値(たとえば「65535」)に達した場合や、累計の付与数に今回遊技の付与数を加算した結果、上限値を超えてしまう場合には、それ以降の遊技では、累計の付与数、及び累計の連続役物作動時の遊技媒体の付与数は更新されないように構成されている。
(4)役物比率(6000遊技)、役物比率(累計)
「役物比率(6000遊技)」とは、遊技回数「6000」での付与数を分母とし、遊技回数「6000」中、役物(RB、CB、SB)作動時の付与数を分子とした比率である。
また、「役物比率(累計)」とは、累計の遊技回数における付与数を分母とし、累計の遊技回数において、役物(RB、CB、SB)作動時の付与数を分子とした比率である。たとえば、累計の遊技回数が所定回数(たとえば、17500回)以上であって、累計の付与数が「20000」、累計の役物作動時の付与数が「10000」の場合には、役物比率(累計)は「50」と算出される。
なお、「累計」とは、必ずしも全遊技の累計とは限らない。たとえば、累計の付与数が予め定められた上限値(たとえば「65535」)に達した場合や、累計の付与数に今回遊技の付与数を加算した結果、上限値を超えてしまう場合には、それ以降の遊技では、累計の付与数、及び、累計の役物作動時の遊技媒体の付与数は更新されないように構成されている。
(5)役物等状態比率(累計)
「役物等状態比率(累計)」とは、累計の遊技回数を分母とし、役物(RB、CB、SB)が作動している遊技回数、又は連続役物(1BB、2BB)が作動している遊技回数を分子とした比率である。たとえば、累計の遊技回数が「20000」、累計の役物作動時又は連続役物作動時の遊技回数が「5000」の場合には、役物等状態比率(累計)は「25」と算出される。
なお、累計とは、必ずしも全遊技の累計とは限らない。たとえば、累計の遊技回数が予め定められた上限値(たとえば「175000」)に達した場合には、それ以降の遊技では、累計の遊技回数、並びに役物作動時及び連続役物作動時の遊技回数は更新されないように構成されている。
また、上記6項目において、その項目に該当する機能を備えていない遊技機では、比率セグを「--」と点灯表示する。
たとえば、「RB(第一種特別役物)」を備えていない場合には、連続役物比率は存在しないので、「連続役物比率(6000遊技)」及び「連続役物比率(累計)」の表示時には、比率セグを「--」と点灯表示する。
さらにまた、比率を計算した結果、小数点以下が存在する場合には小数点以下を切り捨てて表示する。たとえば比率を計算した結果、「49.99」であるときは、「49」と表示する。
さらに、比率を計算した結果、「100」であったときは「99」と表示する。
また、比率を計算した結果、「10」未満の場合には、十の位には「0」を表示する。具体的には、比率を計算した結果、「9」%であったときは、「09」と表示する。
役比モニタ113の識別セグや比率セグを点滅表示する場合がある。
第1に、比率が閾値以上の場合には、比率セグを点滅表示する。
各比率の閾値(%)は、以下の通りである。
(1)指示込役物比率(累計)又は有利区間比率(累計):70
(2)連続役物比率(6000遊技):60
(3)役物比率(6000遊技):70
(4)連続役物比率(累計):60
(5)役物比率(累計):70
(6)役物等状態比率(累計):50
したがって、たとえば指示込役物比率(累計)が「69」であるときは指示込役物比率(累計)の表示時に比率セグの「69」は点灯表示されるが、「70」であるときは点滅表示される。
また第2に、累計遊技数が基準遊技数に満たない場合には、識別セグを点滅表示する。
各比率の基準遊技数は、以下の通りである。
(1)指示込役物比率(累計)又は有利区間比率(累計):175000
(2)連続役物比率(6000遊技):6000
(3)役物比率(6000遊技):6000
(4)連続役物比率(累計):17500
(5)役物比率(累計):17500
(6)役物等状態比率(累計):175000
したがって、たとえば累積遊技数が「6000」であるときは、連続役物比率(6000遊技)の表示時に識別セグ(6y.)は点灯表示される。これに対し、たとえば累積遊技数が「5999」であるときは、連続役物比率(6000遊技)の表示時に識別セグ(6y.)は点滅表示される。
また、累計遊技数が集計単位1セットあたりの遊技回数「400」に満たない場合には、比率セグには「00」を表示する。
さらにまた、識別セグや比率セグを点滅表示する場合には、点灯時間「0.3」秒と消灯時間「0.3」秒からなる点滅1周期を「0.6」秒とし、許容差を±10%とすることが好ましい。
第2実施形態では、点滅表示における点灯と消灯との切替えを以下のように管理(制御)する。
まず、点滅切替え時間を管理するタイマ領域として、RWM103に「点滅切替え時間(_TM_CHG_FLS )」(2バイト)を備える。
点滅切替え時間は、遊技機10の電源投入時に初期化され(「0」が記憶され)、1割込みごとに「1」ずつ加算される。上述したように、1割込み時間は「1」msである。さらに、点滅切替え時間は、「0」~「299」を循環するように構成されている。
また、点灯であるか消灯であるかを判断するためのフラグとして、RWM103に「点滅切替えフラグ(_FL_CHG_FLS )」(1バイト)を備える。
点滅切替えフラグは、電源投入時に初期化され(「0」が記憶され)、その後、「300」msごとに、「0」と「1」とが切り替わる。「0」の場合は点灯を指し、「1」の場合は「消灯」を指す。
点滅切替え時間の更新では、現タイマ値から「299」を減算する処理を行う。具体的には、以下のようになる。
例1)初期値「0」であるときに更新処理を行うと、「0-299=298」となる。このとき、桁下がりが発生するために、キャリーフラグが「1」となる。
例2)点滅切替え時間が「298」のときに更新処理を行うと、「298-299=1」となる。このとき、桁下がりが発生するために、キャリーフラグが「1」となる。
例3)点滅切替え時間が「299」のときに更新処理を行うと、「299-299=0」となる。このとき、桁下がりが発生しないために、キャリーフラグは「0」となる。
そして、点滅切替え時間を更新した結果、キャリーフラグが「1」であるときは点滅切替えフラグを更新せず、キャリーフラグが「0」であるときは点滅切替えフラグを更新する。これにより、「300」msごとに、点滅切替えフラグが切り替わる。具体的には、以下のようになる。
例1)点滅切替えフラグが「0」(点灯)であるとき、更新処理を行うと「1」(消灯)になる。
例2)点滅切替えフラグが「1」(消灯)であるとき、更新処理を行うと「0」(点灯)になる。
さらにまた、役比モニタ113は、各LEDのセグメント素子が正常に作動するか否かを確認できるようにするために、テストパターンを表示する。
テストパターンは、電源を投入にした後、上記のキャリーフラグが「0」となった回数が「16」になるまで、すなわち「300ms×16回=4800ms」を経過するまで、「8.8.8.8.」(全LEDの全セグメント素子(セグメントDPを含む))を表示する。
なお、役比モニタ113の4桁の各LEDは、1割込みごと(1ms)ごとにダイナミック点灯されるので、厳密には4個のすべてのLEDが同時に点灯しているわけではない。
テストパターンを「4800」ms間表示した後は、上述の(1)有利区間比率(累計)又は指示込役物比率(累計)~(6)役物等状態比率(累計)の表示に移行し、(1)~(6)は、それぞれ「4800」ms間表示し、それを繰り返す。
よって、
電源投入

(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)表示する。
ここで、上述したように、識別セグや比率セグを点滅表示する場合には、「300」msの点灯と「300」msの消灯を繰り返す(1周期「600」ms)。
そして、点灯又は消灯時間を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間消灯)


となる。
このようにすれば、何らかの情報の点灯表示を行うときは、「300」ms間、点灯状態を維持することができる。換言すれば、何らかの情報の点灯表示を開始した後、「300」msを経過する前に消灯してしまうことをなくすことができる。さらにいえば、何らかの情報の点灯表示を開始した後、当該情報がすぐに消えてしまうこと(故障しているかもしれないと誤認させること)をなくすことができる。
説明を図29のブロック図に戻す。
副制御基板80は、第1実施形態(図1)のサブ制御基板80と同様であるので説明を省略する。ただし、副制御基板80のRWM83、ROM84、CPU85を、それぞれ副制御RWM83、副制御ROM84、副制御CPU85と称する場合がある。
副制御基板80に電気的に接続されている演出ランプ21、スピーカ22、画像表示装置23についても第1実施形態と同様である。
接続端子板(「遊技球等貸出装置接続端子板」とも称される。)130は、遊技機10と貸出ユニット200との間での双方向通信を行うための中継基板としての役割を有する。
貸出ユニット200は、第1実施形態(図1)における管理装置200に相当する。第1実施形態と同様に、貸出スイッチ202、及び返却スイッチ203等が設けられている。
また、貸出可能遊技媒体数表示部204は、第1実施形態における度数表示部204に相当し、貸出ユニット200から遊技機10に対して貸し出すことが可能な遊技媒体数の最大値を表示するものであり、たとえば3桁のLEDから構成されている。
さらにまた、貸出可能遊技媒体数記憶手段206は、貸出ユニット200から遊技機10に対して貸し出すことができる遊技媒体数の最大値を記憶しておくものであり、たとえば貸出ユニット200の内部に備えるRWMから構成されている。貸出可能遊技媒体数記憶手段206に記憶されている貸出可能遊技媒体数が貸出可能遊技媒体数表示部204に表示される。
貸出可能遊技媒体数記憶手段206に貸出可能遊技媒体数「400」が記憶されている状況下において、貸出スイッチ202が操作され、1回の貸出スイッチ202の操作により遊技媒体数「50」を貸出ユニット200から遊技機10に貸し出す仕様の場合には、貸出通知が送信された後、遊技媒体数記憶手段103aに記憶されている遊技媒体数に「50」が加算される。一方、貸出可能遊技媒体数記憶手段206の貸出可能遊技媒体数は、「400」から「350」に更新される。
また、返却スイッチ203が操作されると、貸出ユニット200の貸出可能遊技媒体数記憶手段206に記憶されている遊技媒体数を、遊技媒体数記憶媒体(磁気カード、ICカード、ICコイン等)に記憶し、当該遊技媒体数記憶媒体を貸出ユニット200から排出する。
なお、遊技媒体数制御基板100の遊技媒体数記憶手段103aに「0」を超える遊技媒体数が記憶されており、かつ、貸出ユニット200の貸出可能遊技媒体数記憶手段206には遊技媒体数が記憶されていない状況下では、返却スイッチ203を操作しても遊技媒体数記憶媒体は排出されない。換言すれば、遊技媒体数制御基板100の遊技媒体数記憶手段103aに遊技媒体数が記憶されている場合であっても、貸出ユニット200の貸出可能遊技媒体数記憶手段206に遊技媒体数が記憶されていなければ、返却スイッチ203を操作しても、遊技媒体数記憶媒体は排出されない。
したがって、上記の場合には、計数スイッチ47を操作することにより、遊技媒体数記憶手段103aに記憶された遊技媒体数を貸出ユニット200に送信し、貸出可能遊技媒体数記憶手段206に遊技媒体数を記憶する。その後、返却スイッチ203を操作すれば、貸出可能遊技媒体数記憶手段206に記憶された遊技媒体数が遊技媒体数記憶媒体に記憶され、貸出ユニット200から排出される。貸出可能遊技媒体数記憶手段206に記憶された遊技媒体数が遊技媒体数記憶媒体に記憶されると、貸出可能遊技媒体数記憶手段206に記憶された貸出可能遊技媒体数は「0」に更新される。
図30は、遊技機10と貸出ユニット200との間の通信に用いられる電文を説明する図である。
電文の種類としては、図30に示すように、
1.遊技機情報通知
2.計数通知
3.貸出通知
4.貸出受領結果応答
が設けられている。
これらの電文のうち、遊技機情報通知、計数通知、貸出受領結果応答は、遊技機10から貸出ユニット200に送信される電文である。
一方、貸出通知は、貸出ユニット200から遊技機10に送信される電文である。
また、各電文は、下記の5つのデータから構成されている。
(1)電文長
(2)コマンド
(3)通番、計数通番、又は貸出通番
(4)データ部
(5)チェックサム
上記5つからなるデータ群を「電文」と称し、1回の送信によって送信される。すなわち、分割送信は行わない。
(1)電文長
「電文長」とは、電文長、コマンド、通番(通番、計数通番、又は貸出通番)、データ部、チェックサムの5つからなるデータのデータ長の長さを示したものであり、1バイトデータで構成される。たとえば、電文長が1バイト、コマンドが1バイト、通番が1バイト、データ部が14バイト、チェックサムが1バイトの場合、電文は18バイトとなり、電文長は18バイトに対応したデータ(12h)となる。
(2)コマンド
「コマンド」とは、遊技機情報通知、計数通知、貸出通知、貸出受領結果応答のうち、どの電文であるかの種別を通知するためのデータであり、1バイトデータで構成される。
たとえば、図30に示すように、遊技機情報通知のコマンドは「01h」、計数通知のコマンドは「02h」、貸出通知のコマンドは「13h」、貸出受領結果応答のコマンドは「03h」に設定されている。
電文の受信側は、コマンドの値を判定すれば、電文の種類を識別することができる。
(3)通番
「通番」とは、遊技機情報通知、計数通知、貸出通知、貸出受領結果応答に含まれる番号を指すデータである。遊技機情報通知に含まれる通番を「通番」、計数通知に含まれる通番を「計数通番」、貸出通知に含まれる通番を「貸出通番」、貸出受領結果応答に含まれる通番を「貸出通番」と称する。これらの各種の通番は、「0」~「FFh」の範囲内の数値であり、1バイトデータで構成される。
通番は、遊技機10の電源投入時は、「00h」を通知するように制御する。
また、電源投入以降は、通知するごとに通番を更新(+1)する。
通番が「FFh」の次の値は、「01h」に更新(+1を2回)する(「0」にはならない)。
(4)データ部
「データ部」とは、遊技機情報通知、計数通知、貸出通知、貸出受領結果応答に対応したデータに相当する。各電文のデータ部の詳細については、後述する。
(5)チェックサム
「チェックサム」とは、電文長、コマンド、通番、データ部、チェックサムの5つからなるデータを加算し、総計の下位1バイトを示す値である。このチェックサムを用いて、受信側は、通信中のデータの破損等を把握することができ、たとえばチェックサムが一致しなかった電文の数を遊技機10や貸出ユニット200がカウントして、通信の不具合状況等を確認することができる。たとえば遊技機10においては、チェックサムが一致しなかった電文の数を、所定の状況(設定値を確認可能な設定確認モード中や設定値を変更可能な設定変更モード中)に画像表示装置23等で表示可能としてもよい。
続いて、遊技機情報通知、計数通知、貸出通知、貸出受領結果応答の各データ部について、それぞれ説明する。
1.遊技機情報通知のデータ部
遊技機情報通知のデータ部は、図30に示すように、遊技機種類、遊技機情報種別、遊技機情報から構成される。
a)遊技機種類
「遊技機種類」とは、遊技機10の種類等を識別するための情報である。この情報は、たとえば管理媒体、団体区分、遊技機種類等を通知するデータである。
b)遊技機情報種別
「遊技機情報種別」とは、今回通知する遊技機情報通知の遊技機情報が、遊技機性能情報、遊技機設置情報、又はホールコン・不正監視情報のいずれであるかを識別するための情報である。遊技機性能情報を通知する場合には「00h」、遊技機設置情報を通知する場合には「01h」、ホールコン・不正監視情報を通知する場合には「02h」を通知する。
c)遊技機情報
「遊技機情報」は、遊技機性能情報、遊技機設置情報、ホールコン・不正監視情報から構成される。遊技機情報としては、遊技機性能情報、遊技機設置情報、ホールコン・不正監視情報のうち、いずれか1つを送信する。
ここで、ホールコン・不正監視情報は、原則として「300」msごと(遊技機情報通知の送信ごと)に送信する。
また、遊技機設置情報は、「60」秒ごとに送信する。
さらにまた、遊技機性能情報は、原則として「180」秒ごとに送信する。
上記において、「原則として」とは、複数の遊技機情報の送信タイミングが重なった場合には、優先順位の高い方の遊技機情報を送信することを意味する。換言すれば、遊技機性能情報、遊技機設置情報、及びホールコン・不正監視情報の送信タイミングが重なった場合には、優先度に応じていずれか1つを送信する。図30に示すように、「60」秒ごとに送信する遊技機設置情報が第1優先であり、「180」秒ごとに送信する遊技機性能情報が第2優先である。
さらに、ホールコン・不正監視情報の送信周期である「300」msは、「300」~「310」msの範囲内であればよい。
同様に、遊技機設置情報の送信周期である「60」秒は、「60」~「62」秒の範囲内であればよい。
さらに同様に、遊技機性能情報の送信周期である「180」秒は、「180」~「186」秒の範囲内であればよい。
ただし、上述した送信周期の範囲は、毎回ランダムな値をとるわけではなく、あらかじめ定められた値で送信する。
図31は、遊技機情報通知の遊技機情報である遊技機性能情報、遊技機設置情報、及びホールコン・不正監視情報の具体的構成を説明する図である。
(ア)遊技機性能情報
遊技機性能情報は、以下の総投入数等の情報から構成されている。
a)総投入数
「総投入数」とは、電源が投入されてから累積した遊技媒体の投入数である。なお、電源断が発生し、その後、電源が投入された場合には、総投入数として「0」が出力され得る。たとえば、累計「1000」回の遊技において、遊技媒体の累計投入数が「2000」であった場合には、総投入数は「2000」となり、総投入数として「2000」が出力され得る。そして、電源断が発生し、その後、電源が投入された場合には総投入数として「0」が出力され得る。なお、役抽選によりリプレイに当選し、リプレイに対応した図柄組合せが停止表示した場合には、その遊技の次回遊技のベット数は総投入数には含めない。
b)総付与数
「総付与数」とは、電源が投入されてから累積した遊技媒体の付与数である。電源断が発生し、その後、電源が投入された場合には、総付与数として「0」が出力され得る。たとえば、累計「1000」回の遊技において、付与された遊技媒体の累計数が「2000」であった場合には、総付与数は「2000」となり、総付与数として「2000」が出力され得る。そして、電源断が発生し、その後、電源が投入された場合には、総付与数として「0」が出力され得る。
なお、リプレイに対応する図柄組合せが停止表示したことに基づいて、当該遊技におけるベット数の遊技媒体が自動ベットされた場合には、その自動ベットされた遊技媒体は「付与数」には含めない。
c)MY(差数)
「MY」は、「差数」、「差枚数」とも称される。
「MY」とは、電源が投入されてからの遊技媒体の付与数と投入数とから算出可能な最大差数の情報である。電源断が発生し、その後、電源が投入された場合には、MYとして「0」が出力され得る。具体的には、遊技の結果が得られたときの遊技媒体数が最も減少したときを基準として、当該基準からの遊技媒体数の増加数(総付与数から総投入数を引いた数)である最大差数を「MY」と称する。たとえば、累計「1000」回の遊技において、「100」回目の遊技が最も遊技媒体数の差数が少なく、そのときの遊技媒体数が「-200」であり、その時点から「800」回目の遊技が最も遊技媒体数の差数が多く、そのときの遊技媒体数が「+800」であるときには、MYは「+1000」となり、MYとして「1000」が出力され得る。そして、電源断が発生し、その後、電源が投入された場合には、MYとして「0」が出力され得る。
d)役物総付与数
「役物総付与数」とは、電源が投入されてからの役物(シングルボーナス(SB)、レギュラーボーナス(RB)、及びチャレンジボーナス(CB))の作動により付与された遊技媒体の総数(累積数)である。電源断が発生し、その後、電源が投入された場合には、役物総付与数として「0」が出力され得る。たとえば、累計「1000」回の遊技において、役物の作動により得られた総遊技媒体数が「100」であった場合には、役物総付与数は「100」となり、役物総付与数として「100」が出力され得る。そして、電源断が発生し、その後、電源が投入された場合には役物総付与数として「0」が出力され得る。
e)連続役物総付与数
「連続役物総付与数」とは、電源が投入されてからの連続役物(第一種特別役物。レギュラーボーナス(RB)とも称する。)の作動により付与された遊技媒体の総数(累積数)である。電源断が発生し、その後、電源が投入された場合には、連続役物総付与数として「0」が出力され得る。たとえば、累計「1000」回の遊技において、連続役物の作動により得られた総遊技媒体数が「100」であった場合には、連続役物総付与数は「100」となり、連続役物総付与数として「100」が出力され得る。そして、電源断が発生し、その後、電源が投入された場合には連続役物総付与数として「0」が出力され得る。
なお、第一種特別役物連続作動装置(「1種BB」とも称される。)による第一種特別役物の作動により付与される遊技媒体の付与数も、連続役物総付与数として累積される。
f)役物比率
上述したように、役比モニタ113によって表示される役物比率(累計)の値である。累計の遊技回数が所定回数(たとえば、17500回)未満であるときは、役物比率(累計)として「FFh」を出力するように構成されている。
g)連続役物比率
上述したように、役比モニタ113によって表示される連続役物比率(累計)の値である。累計の遊技回数が所定回数(たとえば、17500回)未満であるときは、連続役物比率(累計)として「FFh」を出力するように構成されている。
h)有利区間比率
上述したように、役比モニタ113によって表示される有利区間比率(累計)の値である。累計の遊技回数が所定回数(たとえば、175000回)未満においては、有利区間比率として「FFh」を出力するように構成されている。また、有利区間を備えていない遊技機においても、「FFh」を出力するように構成されている。
i)指示込役物比率
上述したように、役比モニタ113によって表示される指示込役物比率(累計)の値である。累計の遊技回数が所定回数(たとえば、175000回)未満においては、指示込役物比率として「FFh」を出力するように構成されている。また、役物や指示機能を備えていない遊技機においても、「FFh」を出力するように構成されている。
j)役物等状態比率
上述したように、役比モニタ113によって表示される役物等状態比率(累計)の値である。累計の遊技回数が所定回数(たとえば、175000回)未満においては、役物等状態比率として「FFh」を出力するように構成されている。また、役物を備えていない遊技機においても、「FFh」を出力するように構成されている。
k)遊技回数
「遊技回数」とは、遊技機10の電源が投入されてからの累積した遊技回数である。遊技機10の電源が投入されたときにクリアされる(「0」が記憶される)。
l)その他
上記以外の情報として、貸出ユニット200で使用される情報等、複数種類の情報が挙げられるが、本実施形態では説明を割愛する。
(イ)遊技機設置情報
遊技機設置情報は、以下の主制御チップID番号等の情報から構成されている。
a)主制御チップID番号
「主制御チップID番号」とは、主制御基板50に設けられたCPU55、RWM53、及びROM54が一体となった主制御チップを識別するためのチップ個別ナンバーを含む情報であり、同一機種であっても遊技機10ごとに異なる情報となる。
b)主制御チップメーカコード
「主制御チップメーカコード」とは、主制御チップの内蔵メモリに記憶した遊技機メーカを示す情報である。
c)主制御チップ製品コード
「主制御チップ製品コード」とは、主制御チップの内蔵メモリに記憶した遊技機10の機種名を示す情報である。
上述した主制御チップID番号、主制御チップメーカコード、及び主制御チップ製品コードは、遊技機10の電源が投入されたときの電源投入処理において、主制御基板50から遊技媒体数制御基板100に送信されるように構成されている。そして、遊技媒体数制御基板100のRWM103に、それぞれ、主制御チップID番号、主制御チップメーカコード、及び主制御チップ製品コードを記憶するように構成されている。
d)遊技媒体数制御チップID番号
「遊技媒体数制御チップID番号」とは、遊技媒体数制御基板100に設けられたCPU105、RWM103、及びROM104が一体となった遊技媒体数制御チップを識別するためのチップ個別ナンバーを含む情報であり、同一機種であっても遊技機10ごとに異なる情報となる。
なお、遊技媒体数制御基板100を搭載していない遊技機の場合には、遊技媒体数制御チップID番号として「000000000000000000h」を貸出ユニット200に出力可能とする。
e)遊技媒体数制御チップメーカコード
「遊技媒体数制御チップメーカコード」とは、遊技媒体数制御チップの内蔵メモリ(ROM54)に記憶した遊技機メーカを示す情報である。
なお、遊技媒体数制御基板100を搭載していない遊技機の場合には、遊技媒体数制御チップメーカコードとして「000000h」を貸出ユニット200に出力可能とする。
f)遊技媒体数制御チップ製品コード
「遊技媒体数制御チップ製品コード」とは、主制御チップの内蔵メモリ(ROM54)に記憶した遊技機10の機種名を示す情報である。
なお、遊技媒体数制御基板100を搭載していない遊技機の場合には、遊技媒体数制御チップ製品コードとして「0000000000000000h」を貸出ユニットに向けて出力可能とする。
(ウ)ホールコン・不正監視情報
ホールコン・不正監視情報は、以下の遊技媒体数等の情報から構成されている。
a)遊技媒体数
「遊技媒体数」とは、遊技媒体数制御基板100に記憶されている現在の遊技媒体数(総数)を示す情報であり、遊技媒体の投入(ベット)により減じられ、小役の入賞に基づく遊技媒体の付与により加算される。現在の遊技媒体数は、遊技媒体数記憶手段103aに記憶されており、遊技媒体数表示部121に表示される。遊技媒体数としてたとえば「2000」を記憶している場合には、遊技媒体数として「0007D0h」を貸出ユニット200に出力可能とする。なお、遊技媒体数制御基板100で記憶可能な遊技媒体数の上限値は「16383(D)」としている。
なお、現在の遊技媒体数を(「300」msごとに)貸出ユニット200に送信することで、貸出ユニット200側でも遊技媒体数を管理することが可能となる。これにより、セキュリティ性をより強化することができる。
b)投入数
「投入数」とは、投入(ベット)されている遊技媒体数を示す情報である。たとえば遊技媒体数「3」を投入(ベット)した場合には、「03h」を貸出ユニット200に出力可能とする。また、「3」を投入した状況から遊技を開始する前に(スタートスイッチ41が操作される前に)精算スイッチ46の操作により投入数「3」を遊技媒体数制御基板100に戻す場合には、「-3」に相当する「FDh」を貸出ユニット200に出力可能とする。換言すると、「-3」(FDh)~+3(03h)の情報を貸出ユニット200に出力可能とする。
c)付与数
「付与数」とは、すべてのリール31が停止した後、有効ライン上に停止した(入賞した)図柄組合せの態様によって、付与された遊技媒体数(配当)を示す情報である。たとえば、遊技媒体数「8」が付与された場合には「08h」の情報を出力可能とし、「15」が付与され場合には「0Fh」を貸出ユニット200に出力可能とする。
このように、遊技機10は、上述した「遊技媒体数」、「投入数」、「付与数」を貸出ユニット200に送信することで、貸出ユニット200側では、遊技媒体数の異常を検知可能となっている。
d)主制御状態1
「主制御状態1」とは、遊技状態に関する状態を示す情報である。具体的には、1バイトのデータのうち、ビットごとにどの遊技状態であるかを割り当てられている。たとえば、D0ビットが「1」のときにはRB状態であることをし、また、たとえばD1ビットが「1」のときにはBB状態であることを示し、さらにまた、たとえばD2ビットが「1」であるときはAT状態であることを示す。そして、遊技機10は、これらの情報を貸出ユニット200に出力可能とする。
D3~D6ビットは、遊技機状態信号1~4に対応している。遊技機状態信号1~4は、遊技機10の種類に応じて使用用途を変更したり、使用しなかったりすることができる。たとえばATで付与した遊技媒体数が「100」に達するごとに、遊技機状態信号1を出力可能とすることが挙げられる。D7ビットは未使用であり、遊技機10の種類にかかわらず「0」が出力可能となるように構成されている。このように構成することによって、たとえば、AT状態であることを報知する場合には、「00000100B」を貸出ユニット200に出力可能とする。
e)主制御状態2
「主制御状態2」とは、主制御状態1と同様に、遊技状態に関する状態を示す情報である。D0ビットからD2ビットは、遊技機状態信号5~7に対応している。遊技状態信号5~7は、遊技機10の種類に応じて使用用途を変更したり、使用しなかったりすることができる。たとえば、特定のRT状態(再遊技確率変動(高確率)状態)に移行した場合に、遊技状態信号5を出力することなどが挙げられる。D3~D7ビットは未使用であり、遊技機10の種類にかかわらず「0」が出力可能となるように構成されている。このように構成することによって、たとえば特定のRT状態へ移行した際には、「00000001B」を貸出ユニット200に出力可能とする。
f)遊技機エラー状態
「遊技機エラー状態」とは、遊技機10で発生中のエラーを示すエラーコード等を含む情報である。
具体的には、D0~D5ビットでエラーコードを示す。D6ビットで遊技媒体数制御基板100のエラー(この場合には、D6ビットは「0」)であるか、又は主制御基板50のエラー(この場合にはD6ビットは「1」)であるかを示す。D7ビットで貸出ユニット200にてエラー報知のみを行うもの(この場合にはD7ビットは「0」)であるか、又は貸出ユニット200にてエラー報知を行うとともに、貸出ユニット200を通じてホールコンピュータ300にもエラーコードを通知するもの(この場合にはD7ビットが「1」)であるかを示す。
たとえば、エラーの種類として乱数異常エラーと、電波異常エラーとを検出可能な遊技機10であるとする。このとき、エラーコードとして、乱数異常エラーを「00001B」とし、電波異常エラーを「00010B」と定め、このエラーコードを含む情報を出力することが可能となる。具体的には、乱数異常エラーは、主制御基板50のエラーであって、貸出ユニット200でエラー報知のみを行う場合には、「01000001B」を貸出ユニット200に出力可能とする。また、電波異常エラーは、遊技媒体数制御基板100のエラーであって、貸出ユニット200でエラー報知を行い、さらにホールコンピュータ300にもエラーコードを通知する場合には、「10000010B」を貸出ユニット200に出力可能とする。なお、エラーが未発生の場合や、エラーコードを有していない遊技機の場合には、「00000000B」を貸出ユニット200に出力可能とする。
g)遊技機不正1(主制御)
「遊技機不正1(主制御)」とは、主制御基板50に係る不正の検知や主制御基板50に係る状態に関する情報である。なお、遊技機不正1(主制御)の信号は、ホールコンピュータ300用の信号として扱う。換言すると、遊技機10から出力された遊技機不正1(主制御)の各信号は、貸出ユニット200を通じて、ホールコンピュータ300へ出力されるようになっている。
遊技機不正1(主制御)を構成する各信号は、以下の通りである。
まず、D0ビットには設定変更中信号が割り当てられている。D0ビットが「1」であるときは、設定変更中(設定変更モード中)及び設定変更が行われたことを示す。設定変更中信号は、設定変更中~設定変更後の1遊技終了時(たとえば、全リール31が停止し、遊技媒体の付与処理が終了したとき)まではD0ビットが「1」となる。設定変更中~設定変更後の1遊技終了時以外の状況では、D0ビットは「0」となる。
D1ビットには設定確認中信号が割り当てられている。設定確認中(設定確認モード中)のときはD1ビットが「1」となり、設定確認中以外の状況ではD1ビットが「0」となる。
D2ビットには不正検知信号1、D3ビットには不正検知信号2、D4ビットには不正検知信号3がそれぞれ割り当てられている。たえとば、乱数異常を不正とした遊技機10において、乱数異常の検知を不正検知信号1に割り当てた場合に、乱数異常を検知した場合にはD2ビットが「1」となり、乱数異常を検知していない場合にはD2ビットが「0」となる。
D5ビットにはセキュリティ信号が割り当てられている。具体的には、不正検知信号を出力しているとき、設定変更中信号を出力しているとき、設定確認中信号を出力しているときのいずれかの状況下でD5ビットが「1」となり、それ以外の状況ではD5ビットは「0」となる。
D6及びD7ビットは未使用であり、いずれの「0」となる。
h)遊技機不正2(主制御又は遊技媒体数制御)
「遊技機不正2(主制御又は遊技媒体数制御)」とは、主制御基板50又は遊技媒体数制御基板100に係る不正の検知や主制御基板50又は遊技媒体数制御基板100に係る状態を示す情報である。なお、遊技機不正2(主制御又は遊技媒体数制御)の信号は、ホールコンピュータ300用の信号として扱う。換言すると、遊技機10から出力された遊技機不正2(主制御又は遊技媒体数制御)の各信号は、貸出ユニット200を通じて、ホールコンピュータ300へ出力されるようになっている。
遊技機不正2(主制御又は遊技媒体数制御)を構成する各信号は、以下の通りである。
D0ビットには、設定ドアオープン信号が割り当てられている。「設定ドアオープン信号」とは、設定変更を行うための設定キースイッチ12をカバーする設定キースイッチカバーが開放しているか否かを示す信号である。設定キースイッチカバーが開放しているときにはD0ビットが「1」となり、設定キースイッチカバーが閉鎖しているときにはD0ビットが「0」となる。なお、設定キースイッチカバーを設けていない遊技機や、設定キースイッチカバーの開放を検知する機能を有していない遊技機においては、D0ビットが「0」となる。
D1ビットには、ドアオープン信号が割り当てられている。「ドアオープン信号」とは、遊技機10の扉(「前扉」、「フロントドア」とも称される。)が開放しているか否かを示す情報である。遊技機10の扉が開放しているときにはD1ビットが「1」となり、遊技機10の扉が閉鎖しているときにはD1ビットが「0」となる。
D2ビットは未使用であり、「0」である。
D3ビットには、遊技媒体数クリア検知が割り当てられている。「遊技媒体数クリア検知」とは、遊技媒体数制御基板100に設けられた総遊技媒体数クリアスイッチ112が操作された(総遊技媒体数がクリアされた)ことの検知である。
総遊技媒体数クリアスイッチ112の操作を検出した場合にはD3ビットが「1」となり、総遊技媒体数クリアスイッチ112の操作を検出していない場合にはD3ビットが「0」となる。なお、総遊技媒体数クリアスイッチ112を備えていない遊技機の場合には、D3ビットは「0」となる。
D4~D7ビットは未使用であり、これらのビットは「0」となる。
i)遊技機不正3(主制御又は遊技媒体数制御)
「遊技機不正3」とは、予備として設けられ、主制御基板50又は遊技媒体数制御基板100に係る不正の検知や、主制御基板50又は遊技媒体数制御基板100に係る状態の情報を示す。
本実施形態の遊技機10においては、遊技機不正3(主制御又は遊技媒体数制御)は未使用であり、D0~D7ビットは「0」となる。
さらに、図31では図示していないが、ホールコン・不正監視情報として、他にも情報が設けられているが、本実施形態では説明を割愛する。
説明を図30に戻す。
2.計数通知のデータ部
計数通知のデータ部は、計数遊技媒体数と、計数累積遊技媒体数とから構成される。
a)計数遊技媒体数
「計数遊技媒体数」は、計数スイッチ47が操作されたことに基づいて遊技機10から貸出ユニット200に送信する(戻す)遊技媒体数である。計数遊技媒体数は、「0x00h」から「0x32h」までの範囲となっており、1回の計数通知では最大「50(D)」を貸出ユニット200に送信可能となっている。また、遊技媒体数制御基板100が記憶している遊技媒体数が「50」以上である場合は、「50」を示す「0x32h」のデータが送信されるが、遊技媒体数制御基板100が記憶している遊技媒体数が「50」未満である場合は遊技媒体数制御基板100が記憶している現在の遊技媒体数に応じたデータが送信される。たとえば、遊技媒体数制御基板100が記憶している遊技媒体数が「30(D)」である場合には、「0x1Eh」のデータが送信される。
なお、上述した計数遊技媒体数の例は、計数スイッチ47の操作を1回のみ受け付けた(以下、「短押し操作」と称する場合がある。)ときに「50」を通知する場合の例であるが、計数スイッチ47の短押し操作を受け付けた場合は計数遊技媒体数として「1」を通知し、計数スイッチ47の長押し操作を受け付けた場合は計数遊技媒体数として「50」を通知してもよい。
ここで、「計数スイッチ47の短押し操作を受け付けた」とは、たとえば、遊技媒体数制御基板100が計数スイッチ47の操作受け付けに関するレベルデータがオンを示す値となっている期間(割込み処理で計数スイッチ47の操作受付がオンを示す値となっている期間)が所定期間未満(たとえば「1」秒未満)である場合が挙げられる。すなわち、前記所定期間未満の時間で計数スイッチ47の操作が受け付けられた場合には、計数スイッチ47の短押し操作を受け付けたと判断し、計数遊技媒体数を「1」とする。
計数スイッチ47が1回操作されたときに、一律に遊技媒体数「50」を計数すると、遊技者の意思で遊技媒体数「50」未満、たとえば遊技媒体数「1」を取り出すことができなくなる。したがって、計数スイッチ47のたとえば短押し操作により、最小単位の遊技媒体数「1」を取り出すことができれば、「遊技媒体を自由に取り出すことができる性能を有する」という計数スイッチ47の趣旨に合致するものとなる。
一方、「計数スイッチ47の長押し操作を受け付けた」とは、たとえば、遊技媒体数制御基板100が計数スイッチ47の操作受付けに関するレベルデータがオンを示す値となっている期間(割込み処理で計数スイッチ47の操作受付がオンを示す値となっている期間)が所定期間以上(たとえば「1」秒以上)である場合が挙げられる。すなわち、所定期間以上の時間、計数スイッチ47の操作が受け付けられた場合に、計数スイッチ47の長押し操作を受け付けたとして、計数遊技媒体数を「50」とする。
なお、計数通知において計数遊技媒体数「50」を貸出ユニット200に送信した後、次に計数通知を送信するタイミングにおいて計数スイッチ47が未だ長押しされている場合は、計数通知として計数遊技媒体数「50」を貸出ユニット200に送信する。すなわち、一度長押し判定した後は、計数スイッチ47の操作がなくなるまで(計数スイッチ47の操作受付けに関するレベルデータがオフを示す値となるまで)計数通知において計数遊技媒体数「50」を貸出ユニット200に送信し続ける。この場合、計数スイッチ47が長押し操作されていると判断するまでの間(たとえば「1」秒間)は計数されないことになる。
b)計数累積遊技媒体数
「計数累積遊技媒体数」とは、遊技機10の電源投入時からの計数遊技媒体数の累積値である。計数累積遊技媒体数は、「0x0000h」から「0xFFFFh」までの範囲であり、計数が行われるごとにその計数遊技媒体数を加算する。なお、計数累積遊技媒体数が「0xFFFFh」を超える場合は「0xFFFFh」の次の値を「0x0000h」とする。また、遊技機10の電源投入があった場合は、計数累積遊技媒体数をクリアする(「0」にする)。
3.貸出通知のデータ部
貸出通知のデータ部である「貸出遊技媒体数」は、貸出ユニット200の貸出スイッチ202が操作されることで、貸出ユニット200から遊技機10に送信される貸出しに関する遊技媒体数である。貸出遊技媒体数は、「0x00h」から「0x32h」までの範囲であり、1回の貸出通知では最大「50(D)」を遊技機10に送信可能となっている。また、貸出ユニット200側に記憶されている貸出可能遊技媒体数が「50」以上である場合は、「50」を示す「0x32h」のデータが遊技機10に送信される。これに対し、貸出ユニット200側に記憶されている貸出可能遊技媒体数が「50」未満である場合は、貸出ユニット200側に記憶されている現在の貸出可能遊技媒体数に応じたデータが送信される。たとえば、貸出可能遊技媒体数が「20」の場合は「20」を示す「0x14h」のデータが送信される。
4.貸出受領結果応答のデータ部
貸出受領結果応答のデータ部である「貸出遊技媒体数受領結果」は、貸出ユニット200から遊技機10に送信される貸出遊技媒体数のデータを受信したことに基づいて、遊技機10から貸出ユニット200に送信されるデータである。貸出ユニット200から受信したデータが正常であるときは「0x00h」となり、異常であるときは「0x01h」となる。
異常となる場合としては、たとえば、
a)貸出ユニット200から通知された貸出通番が連続していない場合、
b)遊技媒体数制御基板100のRWM103の異常等により遊技機10側が貸出不可能な状態である場合、
c)遊技媒体数制御基板100が記憶している総遊技媒体数と貸出遊技媒体数とを加算した値が遊技媒体数制御基板100が記憶する遊技媒体数の記憶上限値を超える場合
等が挙げられる。
また、その他の要因で「0x00h」、「0x01h」以外の値となったときも貸出ユニット200は異常と判断する。
続いて、遊技機10と貸出ユニット200との間の通信について説明する。
図32は、遊技機10と貸出ユニット200との間の基本通信シーケンスを示すタイムチャートである。
遊技機10は、遊技機10の起動が完了したときから、貸出ユニット200に対し、遊技機情報通知を「300」msごとに送信する。図32の例では、通番「n」の遊技機情報通知を送信した後、「300」ms経過後に、通番「n+1」の遊技機情報通知を送信している。
なお、遊技機情報通知の遊技機情報中、図30に示したように、遊技機性能情報は「180」秒ごとに送信し、遊技機設置情報は「60」秒ごとに送信し、ホールコン・不正監視情報は「300」msごとに送信するが、その点については、後述する。
さらに、遊技機10は、貸出ユニット200に対し、遊技機情報通知を送信した後、「100」ms後に計数通知を送信する。
また、貸出ユニット200は、計数通知を受信した後、「170」ms以内に、遊技機10に対して貸出通知を送信する。そして、遊技機10は、貸出通知を受信した後、「10」ms以内に貸出受領結果応答を貸出ユニット200に送信する。
遊技機10は、遊技機情報通知を送信してから「300」ms後に次の遊技機情報通知を送信するため、貸出受領結果応答を送信してから次の遊技機情報通知を送信するまでの間は、「20」ms以上となる。
図33は、遊技機10と貸出ユニット200との起動シーケンスの例1を説明するタイムチャートであり、遊技機10が先に起動した場合を示す。
遊技機10、及び貸出ユニット200の双方の電源がオフ(「電源断」と同義である。以下同じ。)の場合は、遊技機10と貸出ユニット200とのVL信号及びPSI信号はオフとなっている。
VL信号は、遊技機10が遊技可能(遊技媒体をベット可能)となったときにオンになる信号であり、貸出ユニット200が起動するまでオフとなっている信号である。
また、PSI信号は、遊技機10と貸出ユニット200との接続信号であり、貸出ユニット200が起動するまでオフとなっている信号である。
電源がオンにされた後、遊技機10の起動が完了した時点で、貸出ユニット200の起動は未だ完了していない。
この状況下において、遊技機10は、電文通知のプログラムに従って、最初の電文、すなわち遊技機情報通知を貸出ユニット200に送信し、さらに上述したように、遊技機情報通知の送信から「100」ms後に計数通知を送信する。しかし、遊技機情報通知及び計数通知の送信時には、貸出ユニット200の起動がまだ完了していないので、貸出ユニット200は、この遊技機情報通知及び計数通知を受信できない。図中、「?」印は、遊技機10が遊技機情報通知及び計数通知を送信したものの、貸出ユニット200がこれらの通知を受信できないことを示している。
さらに、貸出ユニット200が未だ起動しておらず、かつ計数通知を受信していないので、貸出ユニット200から遊技機10に対して貸出通知が送信されることもない。よって、遊技機10は、貸出受領結果応答を送信することもない。
遊技機10の起動が完了した後、最初に送信する遊技機情報通知の通番と計数通知の計数通番は、「0x00h」を送信する。また、通番や計数通番は、遊技機10と貸出ユニット200とが接続されているか否かにかかわらず更新されるため、次に送信するタイミング(遊技機10の起動完了後、最初に送信した遊技機情報通知の「300」ms後に送信するタイミング)では、通番及び計数通番として「0x01h」を送信する。
その後、貸出ユニット200の起動が完了すると、VL信号及びPSI信号がオンになり、遊技機10のベットスイッチ40の操作及び計数スイッチ47の操作が有効になる。また、遊技機10から送信した情報を貸出ユニット200が受信可能となる。貸出ユニット200は、その起動後は、計数通知の受信に基づいて貸出通知を遊技機10に送信可能となる。図33の例では、計数通番「m」の計数通知を遊技機10が貸出ユニット200に送信し、貸出ユニット200が当該通知を受信すると、貸出通番「k」の貸出通知を遊技機10に送信する例を示している。
さらに、遊技機10は、受信した貸出通知に基づいて貸出受領結果応答を貸出ユニット200に送信可能となる。図33の例では、遊技機10は、貸出通番「k」の貸出通知を受信したことに基づいて、貸出通番「k」の貸出受領結果応答を貸出ユニット200に送信した例を示している。
上述したように、遊技機10は、貸出ユニット200が起動しているか否かにかかわらず、遊技機情報通知や計数通知を送信するため、貸出ユニット200は、貸出ユニット200の起動が完了した後に遊技機10から送信された遊技機情報通知の通番、及び計数通知の計数通番から管理する。このように構成することで、遊技機10は、貸出ユニット200の状況を判断することなく電文を送信できるため、貸出ユニット200の状況を判断するためのプログラム容量を削減することができる。
図34は、遊技機10と貸出ユニット200との起動シーケンスの例2を説明するタイムチャートであり、貸出ユニット200が先に起動した場合を示す。
遊技機10の電源がオフの状態において、貸出ユニット200の電源のみがオンにされると、貸出ユニット200のみが起動を開始する。貸出ユニット200の起動中は、VL信号及びPSI信号はオフである。
そして、貸出ユニット200の起動が完了すると、貸出ユニット200のVL信号及びPSI信号がオンになる。
図34では、貸出ユニット200のVL信号及びPSI信号がオンになった後に、遊技機10の電源がオンにされた例を示している。
そして、遊技機10の起動が完了すると、遊技機10及び貸出ユニット200双方のVL信号及びPSI信号がオンになり、遊技機10のベットスイッチ40の操作及び計数スイッチ47の操作が有効になる。
そして、図33の例と同様に、遊技機10は、電文通知のプログラムに従って、最初の電文、すなわち遊技機情報通知を貸出ユニット200に送信し、さらに、遊技機情報通知の送信から「100」ms後に計数通知を送信する。この時点で貸出ユニット200の起動は完了しているので、貸出ユニット200は、最初の遊技機情報通知及び計数通知を受信可能である。
貸出ユニット200は、計数通知を受信したときは、「170」ms以内に貸出通知を遊技機10に送信する。さらに、遊技機10は、貸出通知を受信すると、「10」ms以内に、貸出受領結果応答を貸出ユニット200に送信する。
以上のようにして、遊技機10の起動完了時にすでに貸出ユニット200の起動が完了している場合には、貸出ユニット200は、遊技機10から送信される最初の電文(通番「0」の遊技機情報通知)から受信することができる。
図35は、遊技機情報通知の基本シーケンスを説明するタイムチャートである。
図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ごと
に、いずれかの遊技機情報を含む遊技機情報通知を送信する。
ホールコン・不正監視情報は、原則として「300」msごとに送信するが、「60」秒ごとに送信する遊技機設置情報の送信周期と重なり、かつ「180」秒ごとに送信する遊技機性能情報の送信周期と重ならない場合には、当該送信タイミングでは、遊技機設置情報を優先して送信し、遊技機設置情報の送信後の次の送信タイミング(「300」ms後)に、ホールコン・不正監視情報を送信する。
図35において、遊技機10の起動後、「200」回目の遊技機情報通知(図中、「A199」)の送信は、最初の遊技機情報通知の送信時から「60」秒経過時となる(300ms×200=60000ms)。
したがって、「A199」の遊技機情報通知の送信タイミングでは、ホールコン・不正監視情報よりも優先して、遊技機設置情報を含む遊技機情報通知を送信する。そして、その送信から「300」ms後の「A200」の遊技機情報通知の送信タイミングでは、ホールコン・不正監視情報を含む遊技機情報通知を送信する。
さらに、「60」秒周期である遊技機設置情報の送信周期と重なり、かつ「180」秒周期である遊技機性能情報の送信周期と重なる場合には、第1優先として、遊技機設置情報を送信し、その次の送信周期(遊技機設置情報の送信から「300」ms後)に、第2優先として遊技機性能情報を送信する。さらに、その次の送信周期(遊技機性能情報の送信から「300」ms後)に、ホールコン・不正監視情報を送信する。
図35において、「A599」の遊技機情報通知の送信タイミングは、最初の遊技機情報通知の送信時から、「60」秒経過時かつ「180」秒経過時である(300ms×600=180000ms)。なお、「180」秒経過時は、常に「60」秒経過時に相当する。
したがって、「A599」の遊技機情報通知の送信タイミングでは、第1優先として、遊技機設置情報を送信する。さらに、その時点から「300」ms経過後の「A600」の遊技機情報通知の送信タイミングでは、第2優先として、遊技機性能情報を送信する。さらに、その時点から「300」ms経過後の「A601」の遊技機情報通知の送信タイミングでは、ホールコン・不正監視情報を送信する。
遊技機情報通知を送信するときは、遊技機情報(ホールコン・不正監視情報、遊技機設置情報、遊技機性能情報)を取得し(RWMやROM等から読込み)、送信用レジスタに記憶し、所定の出力ポートから送信する。
したがって、ホールコン・不正監視情報、遊技機設置情報、遊技機性能情報は、いずれも、送信する直前の最新の情報を送信する。
遊技機情報通知のうち、遊技機設置情報は、主制御チップID番号等であるため、時間の経過(遊技の進行)とともに変化する情報ではなく、固定的情報である。
一方、ホールコン・不正監視情報は、図31に示したように、遊技媒体数、投入数、付与数等を含む情報であるから、遊技の進行(時間経過)によって変化する情報である。
そして、遊技機設置情報、遊技機性能情報、ホールコン・不正監視情報の送信周期がすべて重なったときは、遊技機設置情報、遊技機性能情報、ホールコン・不正監視情報の優先順位で送信されるため、遊技機情報通知の送信周期(「300」ms)が到来した時から、最長で、「600」ms、ホールコン・不正監視情報の送信が遅れる。
この場合、遊技機設置情報の送信タイミングの時点でホールコン・不正監視情報を取得しておき、遊技機設置情報の送信タイミングから「600」ms経過後(遊技機設置情報の送信後、かつ遊技機性能情報の送信後)にホールコン・不正監視情報を送信すると、「600」ms前のホールコン・不正監視情報を送信することになってしまう。
そこで、ホールコン・不正監視情報の送信時には、実際に送信する直前に、ホールコン・不正監視情報を取得し、送信用レジスタに記憶するようにしている。
以上は、遊技機設置情報とホールコン・不正監視情報の送信周期が重なったときも同様である。この場合には、遊技機情報通知の送信周期(「300」ms)が到来したときから、「300」ms後に、ホールコン・不正監視情報が送信される。
ここで、遊技機設置情報の送信タイミングの時点でホールコン・不正監視情報を取得しておき、遊技機設置情報の送信タイミングから「300」ms経過後にホールコン・不正監視情報を送信すると、「300」ms前のホールコン・不正監視情報を送信することになってしまう。
そこで、ホールコン・不正監視情報の送信時には、実際に送信する直前に、ホールコン・不正監視情報を取得し、送信用レジスタに記憶するようにしている。
また、遊技機性能情報は、図31に示したように、総投入数、総付与数、MY等を含む情報であるから、遊技の進行(時間経過)によって変化する。
そして、遊技機設置情報と遊技機性能情報との送信周期が重なったときは、遊技機設置情報が遊技機性能情報よりも優先して送信されるため、遊技機情報通知の送信周期(「300」ms)が到来したときから、「300」ms経過後に、遊技機性能情報が送信される。
この場合、遊技機設置情報の送信タイミングの時点で遊技機性能情報を取得しておき、遊技機設置情報の送信タイミングから「300」ms経過後に遊技機性能情報を送信すると、「300」ms前の遊技機性能情報を送信することになってしまう。
そこで、遊技機性能情報の送信時には、実際に送信する直前に遊技機性能情報を取得し、送信用レジスタに記憶するようにしている。
換言すると、「300」msごとの遊技機情報通知の送信タイミングでは、今回の割込み処理で送信する遊技機情報通知の遊技機情報(ホールコン・不正監視情報、遊技機設置情報、又は遊技機性能情報のいずれか)のみを、送信用レジスタに記憶する。
図36は、計数通知シーケンスを説明するタイムチャートである。
遊技者が遊技を終了するとき等に、計数スイッチ47が操作されると、遊技機10側の遊技媒体を貸出ユニット200に送信する(戻す、返却する)処理を実行する。
なお、計数処理は、遊技機10側の遊技媒体データを貸出ユニット200に実際に伝送ないし転送処理を実行するわけではなく、遊技機10の遊技媒体数記憶手段103aに記憶された遊技媒体数の減算処理を実行し、かつ、貸出ユニット200の貸出可能遊技媒体数記憶手段206に記憶された遊技媒体数の加算処理を実行するものである。
図36の例では、計数スイッチ47の操作を受け付ける前の状況として、遊技媒体数制御基板100(遊技媒体数記憶手段103a)に記憶されている(総)遊技媒体数が「200」であり、貸出ユニット200に記憶されている貸出可能遊技媒体数は「20」であるものとする。
遊技機10及び貸出ユニット200の起動が完了しており、遊技機10と貸出ユニット200との通信が可能な状況下において、計数スイッチ47の操作(オン)を検知した後の最初の遊技機情報通知を貸出ユニット200に送信するタイミングでは、遊技機情報通知の通番は「n」であるものとする。また、この時点で遊技媒体数制御基板100に記憶されている遊技媒体数は「200」であるので、遊技媒体数「200」を貸出ユニット200に送信する。
さらに、遊技機10は、計数通知を貸出ユニット200に更新する。このときの計数通知の計数通番は「m」であるものとする。また、このときの計数通知における計数遊技媒体数は「50」である。この例では、計数スイッチ47の操作が検知されると、1回の計数通知の送信で計数遊技媒体数「50」を送信するものとする。
また、当該計数に係る処理が遊技機10の起動が完了してから初めての計数に係る処理であるとすると、計数通知として計数累積遊技媒体数「50」を送信する。なお、遊技機10は、計数通知を送信する処理を実行する前に、遊技媒体数から計数遊技媒体数を減算する。したがって、計数通知を送信する処理を実行する前に、遊技媒体数制御基板100に記憶されている遊技媒体数は、「200」から「150」に更新される。また、貸出ユニット200は、計数通知を受信すると、貸出ユニット200の貸出可能遊技媒体数記憶手段206に記憶されている貸出可能遊技媒体数に、計数遊技媒体を加算する。したがって、図36の例では、貸出可能遊技媒体数は、「20」から「70」に更新される。
続いて、貸出ユニット200は、貸出通知を遊技機10に送信する。この貸出通知の貸出通番は「k」であるものとする。また、この貸出通知における貸出遊技媒体数は「0」である。ここで、貸出遊技媒体数「0」を送信するのは、貸出スイッチ202が操作されていないためである。
また、遊技機10は、貸出ユニット200から貸出通知を受信したときは、貸出通知が示す情報と前回の貸出通知が示す情報との整合性をチェックする。
そして、貸出通知が示す情報と前回の貸出通知が示す情報との整合性をチェックした結果、正常であると判断したときは、遊技機10は、貸出通番を「k」、貸出点受領結果を「正常」とする貸出受領結果応答を貸出ユニット200に送信する。
次の通番「n+1」の遊技機情報通知の送信時には、通番「n+1」、遊技媒体数「150」を送信する。
図36は、通番「n」の遊技機情報通知が送信された後、「300」msを経過して、次の通番「n+1」の遊技機情報通知が送信される際にも、計数スイッチ47のオン状態が維持されている(計数スイッチ47が長押しされている)例である。したがって、計数通知として、計数通番「m+1」、計数遊技媒体数「50」、計数累積遊技媒体数「100」を送信する。これにより、貸出ユニット200側では、貸出可能遊技媒体数は「120」に更新される。
また、貸出ユニット200から遊技機10に対し、貸出通知として、貸出通番「k+1」、貸出遊技媒体数「0」を遊技機10に送信する。さらに、遊技機10は、当該貸出通知を受信すると、貸出ユニット200に対し、貸出受領結果応答として、貸出通番「k+1」、貸出点受領結果「正常」を送信する。
このように、遊技機10に遊技媒体が記憶されている状況下において、計数スイッチ47のオンを検知してからオフを検知するまでの間(計数スイッチ47が長押しされている間)は、「300」msごとに、遊技機10から貸出ユニット200に対して、所定数の計数遊技媒体を含む計数通知を送信し続ける。このように構成することにより、複雑な操作をさせることなく(長押しするのみ)、「300」msごとに一定量(本例では「50」)の計数遊技媒体数を貸出ユニット200に送信可能となるため、計数操作の負担を軽減することができる。
なお、計数スイッチ47は、遊技媒体数制御基板100と接続されているため、遊技媒体数制御基板100の割込み処理ごとに入力ポート101をチェックし、計数スイッチ47を示す入力ポート101にオンを示す情報が入力されていた場合は、計数スイッチ47の操作を受け付ける。その後、計数スイッチ47を示す入力ポート101にオフを示す情報が入力されていた場合は、計数スイッチ47の操作受付けを終了する。
図36の例では、通番「n+1」の遊技機情報通知が送信された後、通番「n+2」の遊技機情報通知が送信される前に、計数スイッチ47のオフを検知した例を示している。
この場合、遊技機10は、通番「n+2」の遊技機情報通知の送信時には、遊技媒体数「100」を送信する。
また、計数通知として、計数通番「m+2」、計数遊技媒体数「0」、計数累積遊技媒体数「100」を送信する。さらにまた、貸出ユニット200から遊技機10に対する貸出通知として、貸出通番「k+2」、貸出遊技媒体数「0」を遊技機10に送信する。さらに、遊技機10から貸出ユニット200に対する貸出受領結果応答として、貸出通番「k+2」、貸出点受領結果「正常」を送信する。
なお、計数通知は、遊技機情報通知の送信後、「100」ms後に送信されるものである。換言すれば、計数通知は「300」msごとに送信される。このため、計数スイッチ47が操作されていない状況下においても、計数遊技媒体数が「0」である計数通知が「300」msごとに送信される。
また、遊技機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に上記各記憶領域を備えるようにしてもよい。
まず、ステップS701では、計数通知タイミングであるか否かが判断される。ここで、「計数通知タイミング」とは、遊技機情報通知を送信した後から「100」ms経過後であるタイミングを指す。なお、「100」ms経過後とは、「90」ms~「100」msの範囲内であればよい。
計数通知タイミングであると判断されたときはステップS702に進み、計数通知タイミングでないと判断されたときは本フローチャートによる処理を終了する。
計数通知タイミングであると判断され、ステップS702に進むと、遊技媒体数制御基板100は、計数中フラグをクリア(「0」に)する。次にステップS703に進み、計数を実行するか否かを判断する。ここでは、計数スイッチ47が操作されたか否かを判断する。
なお、計数スイッチ47が操作された場合には、遊技媒体数制御基板100の入力ポート101に計数スイッチ信号がオンとなって入力される。そして、入力ポート101に計数スイッチ信号がオンとなって入力された場合には、計数スイッチ信号がオンとなって入力された(計数スイッチ47が操作された)ことを示す情報(操作された場合には「1」、操作されていない場合には「0」)を遊技媒体数制御基板100のRWM103内の所定記憶領域に記憶する。なお、入力ポート101に入力された信号をRWM103に記憶するのは、1msごとのタイマ割込み処理で実行している。
ステップS703において計数スイッチ47が操作されたと判断したときはステップS704に進み、計数スイッチ47が操作されていないと判断したときはステップS712に進む。
ステップS704では、遊技媒体数制御基板100の遊技媒体数記憶手段103aに記憶された(総)遊技媒体数が「0」であるか否かを判断する。遊技媒体数が「0」でないと判断したときはステップS705に進み、「0」であると判断したときはステップS712に進む。
このように、最初に計数スイッチ47が操作されたか否かを判断し、計数スイッチ47が操作されていない場合は計数処理を開始せず、計数スイッチ47が操作されている場合には、遊技媒体数記憶手段103aに記憶された(総)遊技媒体数が「0」であるか否かを判断する。そして、遊技媒体数記憶手段103aに記憶された(総)遊技媒体数が「0」である場合は計数処理を開始せず、(総)遊技媒体数が「0」でない場合は計数処理を開始するように構成されている。
これにより、計数スイッチ47が操作されている状況と遊技媒体数記憶手段103aに記憶された(総)遊技媒体数が「0」である状況とを比較したときに、計数スイッチ47が操作されている状況の方が相対的に少ないため、計数スイッチ47が操作されているか否かを先に判断することで、計数処理での処理負担を軽減することが可能となる。
ステップS705では、計数値(計数遊技媒体数)として「50」をセットする。
次にステップS706に進み、遊技媒体数記憶手段103aに記憶された遊技媒体数と計数値「50」とを比較する演算処理(減算する演算処理)を実行する。この演算処理の結果、遊技媒体数記憶手段103aに記憶された遊技媒体数が計数値以上であると判断したときはステップS708に進み、遊技媒体数記憶手段103aに記憶された遊技媒体数が計数値未満であると判断したときはステップS707に進む。
ステップS707では、遊技媒体数記憶手段103aに記憶された遊技媒体数を取得する。
次のステップS708では、計数値を保存する。この処理は、ステップS706で「Yes」と判断された(遊技媒体数が計数値以上であると判断された)ときは、ステップS705でセットした計数値「50」を計数値記憶領域に保存する。一方、ステップS706で「No」と判断されたとき(遊技媒体数が計数値未満であるとき)は、ステップS707で取得した、遊技媒体数記憶手段103aに記憶された遊技媒体数を計数値として計数値記憶領域に保存する。
次のステップS709では、遊技媒体数記憶手段103aに記憶された(総)遊技媒体数を更新する。この処理は、遊技媒体数記憶手段103aに記憶された遊技媒体数から、計数値記憶領域に保存された計数値を減算する処理である。したがって、遊技媒体数記憶手段103aに記憶された遊技媒体数が「50」以上であると判断され、計数値記憶領域に「50」が記憶されているときは、遊技媒体数記憶手段103aに記憶された遊技媒体数から「50」を減算し、遊技媒体数を更新する。一方、遊技媒体数記憶手段103aに記憶された遊技媒体数が「50」未満であり、計数値記憶領域に、遊技媒体数記憶手段103aに記憶された遊技媒体数が記憶されているときは、遊技媒体数記憶手段103aに記憶された遊技媒体数は「0」に更新される。
次にステップS710に進み、計数累積値記憶領域に、計数値記憶領域に記憶されている計数値を加算して、計数累積値記憶領域に記憶された値を更新する。
次にステップS711に進み、計数を行うことが決まっているので、計数中フラグをセット(「FFh」を記憶)する。
そして、ステップS712に進んで計数通知を出力する。具体的には、電文長として「0x07h」を出力し、コマンドとして「0x02h」を出力し、計数通番として、計数通番記憶領域に記憶されている計数通番を出力し、計数値として、計数値記憶領域に記憶されている計数値を出力し、計数累積値として、計数累積値記憶領域に記憶されている計数累積値を出力し、出力した各種データのチェックサム値(1バイト)を出力する。
その後、ステップS713に進み、計数値記憶領域に記憶されている計数値をクリアする。なお、計数累積値記憶領域に記憶されている値は、計数通知を出力する(した)タイミングではクリアしない。
次にステップS714に進み、計数通番を更新する処理(「+1」にする処理)を実行する。なお、計数通番が「255(D)」であるときに「+1」をした結果は「0」となるため、「0」となった場合には、再度、計数通番を更新する処理(「+1」する処理)を実行する。換言すると、計数通番が「255」であるときは、計数通番を更新する処理を2回実行することにより、計数通番を「1」に更新する。また、計数通番が「255」未満の値(たとえば「10」)であるときには、計数通番を更新する処理(「+1」する処理)を実行した結果が「0」とならないため、計数通番を更新する処理は1回だけ実行する。上記例では、計数通番は「11」に更新される。
また、計数中フラグに基づいた情報を主制御基板50に送信する。これにより、主制御基板50は、計数中であることを判断することができる。また、たとえば主制御基板50から副制御基板80に対して計数中であることを示す情報を送信することにより、副制御基板80により、計数中に対応した演出を行うことができる。
なお、本実施形態では、設定変更モード中や設定確認モード中においても、計数スイッチ47の操作に基づく計数が可能である。
しかし、遊技媒体をベット可能な状況下で計数スイッチ47が操作された場合には、計数スイッチ47の操作に基づいた演出を実行するが、設定変更モード中や設定確認モード中に計数スイッチ47が操作された場合には、計数スイッチ47の操作に基づく演出を実行しないようにしてもよい。このように構成にするのは、設定変更モード中や設定確認モード中に計数スイッチ47が操作されるような場合には、ホール店員が計数している可能性が高いため(遊技者ではない可能性が高いため)である。
一方、設定変更モード中や設定確認モード中に計数スイッチ47が操作された場合には、設定変更モード中や設定確認モード中の専用の画面を画像表示装置23に表示したり、音声を出力してもよい。このようにすれば、ホール店員に、必要な情報を提供することができる。さらに、設定変更モード中や設定確認モード中の専用の画面を表示しつつ、計数中であることを示す報知(たとえば「計数中です」と画面に表示すること)を行ってもよい。この場合の報知は、上述した(遊技者に対する)計数中の演出とは異なるように構成されている。このような報知により、注意喚起を行うことができる。
また、本実施形態では、エラー中(予め定められた一部の(所定の)エラーでもよく、すべてのエラーでもよい。)であっても、計数スイッチ47の操作に基づく計数が可能である。
しかし、遊技媒体をベット可能な状況下で計数スイッチ47が操作された場合には、計数スイッチ47の操作に基づいた演出を実行するが、エラー中に計数スイッチ47が操作された場合には、計数スイッチ47の操作に基づく演出を実行しないようにしてもよい。このように構成にするのは、エラー中に計数スイッチ47が操作されるような場合には、不正行為が行われているおそれがあるためである。
なお、エラーには、復帰不可能エラー(たとえば、RWM異常エラーや乱数更新エラーなどの設定値の再設定(電源のオン/オフを含む)を必要とするエラー。)と復帰可能エラー(たとえば、フロントドアのドアオープンエラーなど)とが挙げられるが、エラーの種類に応じて計数処理が不可能な状況と可能な状況とを設けてもよい。たとえば、復帰不可能エラーの発生中は計数処理を不可能とし、復帰可能エラーの発生中は計数処理を可能とすることが挙げられる。
一方、エラー中に計数スイッチ47が操作された場合には、エラー中の専用の画面を画像表示装置23で表示することや、音声を出力してもよい。このようにすれば、ホール店員に、必要な情報を提供することができる。さらに、エラー中の専用の画面を表示しつつ計数中であることを示す報知(たとえば「計数中です」と画面に表示すること)を行ってもよい。この場合の報知は、上述した(遊技者に対する)計数中の演出とは異なるように構成されている。このような報知により、注意喚起を行うことができる。なお、このときに、精算スイッチ46によるベット数の返却はできないように構成されていてもよい。
また、本実施形態では、遊技中(たとえばリール31が回転している状況下)においても計数スイッチ47の操作に基づく計数が可能である。
しかし、遊技媒体をベット可能な状況下で計数スイッチ47が操作された場合には、計数スイッチ47の操作に基づいた演出を実行するが、遊技中に計数スイッチ47が操作された場合には、計数スイッチ47の操作に基づく演出を実行しないようにしてもよい。このように構成にするのは、遊技中に計数スイッチ47が操作されるような場合には、不正行為が行われているおそれがあるためである。
図38は、遊技機10と貸出ユニット200との貸出通知シーケンスを説明するタイムチャートである。
図38の例では、貸出スイッチ202のオンを検知する前(貸出スイッチ202の操作を受け付ける前)の状況として、遊技媒体数制御基板100の遊技媒体数記憶手段103aには遊技媒体数「10」が記憶され、貸出ユニット200の貸出可能遊技媒体数記憶手段206には貸出可能遊技媒体数「120」が記憶されている状況下であるものとする。なお、遊技媒体数制御基板100の遊技媒体数記憶手段103aに記憶された遊技媒体数が「50」未満であるため、計数スイッチ47が操作されると「10」が計数される状況でもある。
遊技機10と貸出ユニット200の起動が完了しており、遊技機10と貸出ユニット200との通信が可能な状況下において、貸出ユニット200の貸出スイッチ202のオンを検知した後(操作を受け付けた後)に、遊技機10から、遊技機情報通知として通番「n」、遊技媒体数「10」の遊技機情報通知が送信された例を示している。
次に、計数通知として計数通番「m」、計数遊技媒体数「0」を送信する。この計数通知を受信した後、貸出通知として貸出通番「k」、貸出遊技媒体数「50」を送信する。貸出ユニット200は、貸出遊技媒体数「50」を送信した後は、貸出可能遊技媒体数を「120-50=70」に更新する。なお、貸出ユニット200が貸出可能遊技媒体数を更新するタイミングは、貸出受領結果応答を受信したタイミングであってもよい。
遊技機10は、貸出通知を受信すると、貸出通知が示す情報と前回の貸出通知が示す情報との整合性をチェックし、チェック結果が正常の場合には(この例では正常であるものとする)、貸出受領結果応答として貸出通番「k」、貸出点受領結果「正常」を貸出ユニット200に送信する。
次に、遊技機10は、貸出通知を受信してから貸出受領結果応答を送信するまでの間に遊技媒体数を「10+50=60」に更新する。
遊技機10が次に貸出ユニット200に対して遊技機情報通知を送信するタイミングでは、遊技機情報通知として通番「n+1」、遊技媒体数「60」を貸出ユニット200に送信する。さらに、計数通知として、計数通番「m+1」、計数遊技媒体数「0」、計数累積遊技媒体数「0」を送信する。
この時点において、貸出ユニット200の貸出スイッチ202のオンが継続して検知されているときは、貸出ユニット200から遊技機10に対する貸出通知として貸出通番「k+1」、貸出遊技媒体数「50」を遊技機10に送信する(図中、「*1」)。そして、貸出可能遊技媒体数を「70-50=20」に更新する。さらに、遊技機10から貸出ユニット200に対する貸出受領結果応答として貸出通番「k+1」、貸出点受領結果「正常」(チェック結果は正常であったものとする)を送信する。また、遊技機10は、当該貸出通知を受信してから貸出受領結果応答を送信するまでの間に遊技媒体数を「60+50=110」に更新する。
一方、貸出ユニット200から遊技機10に対し、貸出通番「k+1」の貸出通知を送信するタイミングで、貸出スイッチ202のオフが検知されているときは、貸出遊技媒体数「0」の貸出通知を遊技機10に送信する(図中、「*2」)。この場合は、貸出可能遊技媒体数は「70」のままである。また、遊技機10の遊技媒体数も「60」のままである。
なお、貸出ユニット200は、貸出スイッチ202がオフからオンになったことを検知する方法として、貸出通知を送信するごと(すなわち、「300」msごと)に貸出スイッチ202のレベルデータのオン/オフを判断してもよい。これに対し、本実施形態では、貸出通知を送信するごとに、貸出スイッチ202の立ち上がりデータのオン/オフを判断する。したがって、この場合は、貸出スイッチ202が継続してオンにされているときであっても最初に操作されたタイミングでのみ貸出操作を受け付けることになるため、貸出スイッチ202が継続してオンにされていても、2回目以降の貸出通知を送信するタイミングでは貸出遊技媒体数を「0」として送信する。よって、図38の例では、貸出通番「k+1」の貸出通知が送信されるタイミングで貸出スイッチ202のオンが継続して検知されている場合であっても、貸出遊技媒体数「0」の貸出通知を遊技機10に送信する。
また、貸出スイッチ202のオンを検知したときの遊技機10から送信される計数通知として計数遊技媒体数が「1」以上であるとき(すなわち、貸出スイッチ202と計数スイッチ47との双方が操作されたとき)は、貸出ユニット200は、当該計数通知の直後に送信する貸出通知の貸出遊技媒体数を「0」とする。このときに受け付けた貸出スイッチ202については無効としてもよく、あるいは、貸出ユニット200が貸出スイッチ202の操作受付フラグを記憶しておき、計数通知の計数遊技媒体数が「0」となった後に送信する貸出通知において貸出遊技媒体数を「50」として送信してもよい。
さらにまた、貸出ユニット200が貸出スイッチ202の操作受付けフラグを記憶する場合に、貸出スイッチ202の操作受付けに関するフラグが記憶されているときに再度貸出スイッチ202が操作されたときは2回操作されたフラグに書き換えてもよいし、2回目以降の操作を無効にしてもよい。
また、貸出ユニット200が貸出通知を遊技機10に送信し、遊技機10が貸出通知を受信したときは、遊技媒体数制御基板100のRWM103に設けられた貸出通知情報記憶領域に貸出通知の情報をすべて記憶する。これにより、遊技機10が貸出受領結果応答を送信する際に貸出点受領結果の情報を「正常」とするか「異常」とするかを判断することができる。
具体的には、貸出通知情報記憶領域に貸出通番として「k」を記憶しており、貸出ユニット200から送信された貸出通知の貸出通番が「k+1」である場合に、記憶している「k」をインクリメントして「k+1」を生成し、受信した貸出通番「k+1」と比較する。この場合、生成した貸出通番と受信した貸出通番とが一致しているので、受信した貸出通番「k+1」を貸出通知情報記憶領域に記憶する。
また、貸出通知情報記憶領域に貸出通番として「k」を記憶しており、貸出ユニット200から送信された貸出通知の貸出通番が「k+2」である場合、記憶している「k」をインクリメントして「k+1」を生成し、受信した貸出通番「k+2」と比較する。この場合、生成した貸出通番と受信した貸出通番とが一致しないので、受信した貸出通番「k+2」を記憶しない(貸出通知情報記憶領域の貸出通番は「k」のままである。)。
また、貸出通番の上限は「255」であるため、貸出通番が「255」である状況でインクリメントすると、貸出通番は「0」となる。ただし、貸出通番「0」は貸出ユニット200の起動直後にのみ遊技機10に送信され得る貸出通番であるため、再度インクリメントして貸出通番を「1」とする。換言すれば、貸出通番が「255」の状況下で貸出通番を更新する際は、インクリメントを2回行うことにより、次の貸出通番を「1」にする。
なお、上述した例では、遊技機10に記憶された貸出通番と受信した貸出通知の貸出通番とを比較する手法として、遊技機10に記憶された貸出通番をインクリメントしてから、貸出ユニット200から受信した貸出通番と一致するか否かを判断した。しかし、これに限らず、貸出ユニット200から受信した貸出通番をデクリメントしてから遊技機10が記憶している貸出通番と一致するか否かを比較してもよい。
また、貸出ユニット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」秒ごとに送信するタイミングを判断するためのタイマである。
遊技媒体数制御基板100のRWM103に、遊技機情報通知タイマA~Cの各記憶領域が設けられ、各記憶領域にはタイマ値が記憶される。
遊技機情報通知タイマ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の記憶領域に記憶された値、遊技機情報通知タイマBの記憶領域に記憶された値、遊技機情報通知タイマCの記憶領域に記憶された値を、それぞれ単に遊技機情報通知タイマAの値、遊技機情報通知タイマBの値、遊技機情報通知タイマCの値と略称する。
第2実施形態では、遊技媒体数制御基板100のCPU105は、「1」msごとにタイマ割込み処理を実行する。そして、このタイマ割込みが行われるごと(「1」msごと)に遊技機情報通知タイマAの値が更新される。
遊技機情報通知タイマ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」→・・・
のように更新される。
遊技機情報通知タイマBは、インクリメントタイマであり、上述のように電源投入時にはその値として「0」が記憶される。遊技機情報通知タイマBの値は、「0」~「199(D)」の範囲を循環する。
したがって、
「0」→「1」→「2」→・・・→「198」→「199」→「0」→「1」→・・・
のように更新される。
遊技機情報通知タイマBの値は、遊技機情報通知タイマAの値が「300」となったときに「+1」される。ただし、電源投入時に遊技機情報通知タイマAの値が初期化されることにより「0」が記憶され、最初のタイマ割込み処理で遊技機情報通知タイマAの値が「300」になったときは、遊技機情報通知タイマBの値は更新されずに「0」のままである。この制御については後述する。
遊技機情報通知タイマCは、インクリメントタイマであり、上述のように電源投入時にはその値として「0」が記憶される。遊技機情報通知タイマCの値は、「0」~「2(D)」の範囲を循環する。
したがって、
「0」→「1」→「2」→「0」→「1」→・・・
のように更新される。
遊技機情報通知タイマCの値は、遊技機情報通知タイマBの値が「0」になったときに「+1」される。ただし、電源投入時に遊技機情報通知タイマBの値が初期化されることにより「0」が記憶されたときは、遊技機情報通知タイマCの値についても初期化された「0」のままであり、この時点では「1」に更新されることはない。
遊技機情報通知要求フラグ(_FL_INF_CTL )とは、遊技機性能情報を通知するタイミング(180秒ごとのタイミング)であるか否か、及び遊技機設置情報を通知するタイミング(60秒ごとのタイミング)であるか否かを示すフラグであり、遊技媒体数制御基板100のRWM103において1バイトの記憶領域として設けられている。
遊技機情報通知要求フラグは、電源が投入されたときの初期化処理によって、初期値(全ビット「0」)が記憶される。
遊技機情報通知要求フラグとして、遊技機性能情報通知要求フラグと、遊技機設置情報通知要求フラグとを備える。
遊技機性能情報通知要求フラグとは、遊技機情報通知のうち遊技機性能情報を送信する周期(タイミング)が到来したときに「0」から「1」となるフラグであり、遊技機情報通知要求フラグの「D0」ビットを使用する。「D0」ビットが「1」であるときは遊技機性能情報を送信する周期が到来していることを示し、「0」であるときは遊技機性能情報を送信する周期が到来していないことを示す。また、遊技機性能情報通知が送信されたときは、「1」から「0」に更新される。
また、遊技機設置情報通知要求フラグとは、遊技機情報通知のうち遊技機設置情報を送信する周期(タイミング)が到来したときに「0」から「1」となるフラグであり、遊技機情報通知要求フラグの「D1」ビットを使用する。「D0」ビットが「1」であるときは遊技機設置情報を送信する周期が到来していることを示し、「0」であるときは遊技機設置情報を送信する周期が到来していないことを示す。また、遊技機設置情報通知が送信されたときは、「1」から「0」に更新される。
なお、遊技機性能情報通知要求フラグを1バイトの記憶領域とし、遊技機設置情報通知要求フラグを他の1バイトの記憶領域とすることも可能である。ただし、本実施形態のように遊技機情報通知要求フラグを1バイトの記憶領域として設け、この1バイト記憶領域のビットに遊技機性能情報通知要求フラグと遊技機設置情報通知要求フラグとを割り当てれば、記憶容量を削減することができる。
図40は、遊技機情報通知タイマA、B、及びCの各値の更新シーケンスを示すタイムチャートである。
図40中、遊技機情報通知タイマAの値に基づくホールコン・不正監視情報を含む遊技機情報通知を「通知A」と称し、遊技機情報通知タイマBの値に基づく遊技機設置情報を含む遊技機情報通知を「通知B」と称し、遊技機情報通知タイマCの値に基づく遊技機性能情報を含む遊技機情報通知を「通知C」と称する。
まず、遊技機10の電源が投入されると、遊技媒体数制御基板100のRWM103の初期化処理が実行され、これによって遊技機情報通知タイマA、B、及びCの各値がクリアされる(「0」が記憶される)。
遊技媒体数制御基板100のCPU105は、フラグレジスタ(Fレジスタ)を備える。フラグレジスタには、キャリーフラグ(CY)及びゼロフラグ(Z)を備える。なお、フラグレジスタには、これらのフラグ以外のフラグも備えているが、本実施形態では説明を省略する。
キャリーフラグは、演算処理の結果、「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」に更新される。
例3)遊技機情報通知タイマAの値が「0」であるときに「1」減算されると、遊技機情報通知タイマAの値は「300」に更新される。このとき、ゼロフラグは変化しない(「0」のままである)。一方、キャリーフラグは「1」となる。
なお、減算前の遊技機情報通知タイマAの値が「0」であるのは、電源投入後に初期化されたときのみである。したがって、電源投入後の最初の割込み処理において遊技機情報通知タイマAの値が「0」から「300」に更新されたときにキャリーフラグが「1」になる。
遊技機情報通知タイマAの値を更新した結果、キャリーフラグ又はゼロフラグのいずれかが「1」となったときは、通知Aの送信タイミングが到来したと判断する。これにより、遊技機10は、貸出ユニット200に対し、通知Aを送信可能とする。図40では、電源のオンにより遊技機情報通知タイマAが初期化されて「0」になった後、最初の割込み処理により遊技機情報通知タイマAの値が「0」から「300」に更新され、キャリーフラグ(CY)が「1」となったときに通知Aが送信されることを示している(図中、「*1」)。
次に、「1」msごとに割込みが実行され、遊技機情報通知タイマAの値が「299」、「298」、・・・と更新されていくが、キャリーフラグ又はゼロフラグのいずれかが「1」にならなければ、通知Aの送信タイミングが到来したと判断されないので、通知Aは送信されない。「60」秒及び「180」秒も「300」msの倍数であるから、当然に、通知Bや通知Cも送信されない。
なお、上述したように、電源投入後の最初の割込み処理でのみ、遊技機情報通知タイマAの値の更新によりキャリーフラグが「1」となるが、その後に、遊技機情報通知タイマAの値の更新によりキャリーフラグが「1」になることはない。
最初の通知Aが送信されたとき(図中、「*1」)から割込み回数が「300」回に到達すると(すなわち、「300」msを経過すると)、遊技機情報通知タイマAの値は、「1」から「0」に更新され(さらに「300」に更新され)、ゼロフラグ(Z)が「1」になる。したがって、通知Aの送信タイミングが到来したと判断する。これにより、遊技機10は、貸出ユニット200に対し、通知Aを送信する(図中、「*2」)。
次に、最初の通知Aの送信時(図中「*1」)から割込み回数が「6000」回となったとき、すなわち「60」秒経過時には、以下のようにタイマ値等が更新される。
第1に、遊技機情報通知タイマAの値が「1」から「0」に更新され(さらに「300」に更新され)、ゼロフラグ(Z)が「1」になる(図中、「*3」)。したがって、通知Aの送信タイミングが到来したと判断する。
第2に、遊技機情報通知タイマBが「199」から「0」に更新される。遊技機情報通知タイマBの値が更新された結果、「0」となったときは、通知Bの送信タイミングが到来したと判断し、遊技機設置情報通知要求フラグ(D1ビット)は「1」に更新される。
この時点では、通知Aの送信タイミングが到来し、かつ、通知Bの送信タイミングが到来している。したがって、通知Bが通知Aよりも優先して送信されることから、このタイミングでは通知Bが送信される(図中、「*4」)。通知Bが送信されると、遊技機設置情報通知要求フラグ(D1ビット)は「0」に更新される。
そして、そのタイミングから「300」ms経過後に、遊技機情報通知タイマAの値が再度「1」から「0」に更新され(さらに「300」に更新され)、ゼロフラグ(Z)が「1」になる。ゼロフラグ(Z)が「1」になったことに基づいて、通知Aの送信タイミングが到来したと判断し、通知Aが送信される(図中、「*5」)。
このように、図中「*3」の送信タイミングにおいて、通知Bの送信が優先されるときは、そのタイミングでは通知Aが送信されず、そのタイミングから「300」ms経過後の「*5」のタイミングで通知Aが送信される。
ここで、図中「*5」のタイミングで通知Aが送信されるときは、その送信直前に取得されたホールコン・不正監視情報が所定の送信用レジスタに記憶され、そのホールコン・不正監視情報を含む遊技機情報通知が送信される。
換言すれば、図中「*3」の送信タイミングでホールコン・不正監視情報が取得され、所定の送信用レジスタに記憶された後、図中「*5」のタイミングで当該ホールコン・不正監視情報が送信されるのではない。
図中「*3」の送信タイミングで通知Aが送信されないと判断されたときは、その時点でのホールコン・不正監視情報を所定の送信用レジスタに記憶しないように構成してもよい。ただし、処理の簡素化から、通知Aの送信タイミングが到来したときは、一律、その時点でのホールコン・不正監視情報を所定の送信用レジスタに記憶する。そして、「300」msごとに、換言すればゼロフラグ(Z)が「1」になるごとに、その時点でのホールコン・不正監視情報を所定の送信用レジスタに記憶(上書き)すればよい。
次に、最初の通知Aの送信時(図中「*1」)から割込み回数が「18000」回となったとき、すなわち「180」秒経過時には、以下のようにタイマ値等が更新される。
第1に、遊技機情報通知タイマAの値が「1」から「0」に更新され(さらに「300」に更新され)、ゼロフラグ(Z)が「1」になる(図中「*6」)。ゼロフラグ(Z)が「1」になったことに基づいて、通知Aの送信タイミングが到来したと判断する。
第2に、遊技機情報通知タイマBが「199」から「0」に更新される。遊技機情報通知タイマBの値が更新された結果、「0」となったときは、通知Bの送信タイミングが到来したと判断し、遊技機設置情報通知要求フラグ(D1ビット)は「1」に更新される(図中「*7」)。
第3に、遊技機情報通知タイマCが「2」から「0」に更新される。遊技機情報通知タイマCの値が更新された結果、「0」となったときは、通知Cの送信タイミングが到来したと判断し、遊技機性能情報通知要求フラグ(D0ビット)は「1」に更新される(図中「*8」)。
この時点では、通知Aの送信タイミングが到来し、通知Bの送信タイミングが到来し、かつ、通知Cの送信タイミングが到来している。したがって、通知A、通知B、及び通知Cの送信タイミングがすべて重なっている。この場合には、通知Bが第1優先で送信されることから、このタイミングでは通知Bが送信される(図中「*7」)。換言すれば、当該タイミングでは通知A及び通知Cは送信されない。通知Bが送信されると、遊技機設置情報通知要求フラグ(D1ビット)は「0」に更新される。なお、この時点では通知Cは送信されていないので、遊技機性能情報通知要求フラグ(D0ビット)は「1」のままである。
このタイミングから「300」msが経過し、遊技機情報通知の送信タイミングが到来すると、遊技機情報通知タイマAの値が「1」から「0」に更新され(さらに「300」に更新され)、ゼロフラグ(Z)が「1」になる(図中、「*9」)。ゼロフラグ(Z)が「1」になったことに基づいて、通知Aの送信タイミングが到来したと判断される。
また、このタイミングでは、遊技機性能情報通知要求フラグ(D0ビット)は「1」となっている。よって、通知Cの送信タイミングが到来している。そして、通知Aと通知Cの送信タイミングが重なったときは、通知Cの送信が優先されるので、通知Cが送信される(図中「*10」)。換言すれば、当該タイミングでは通知Aは送信されない。通知Cが送信されると、遊技機性能情報通知要求フラグ(D0ビット)は「0」に更新される。
この時点から「300」msを経過すると、遊技機情報通知タイマAの値が「1」から「0」に更新され(さらに「300」に更新され)、ゼロフラグ(Z)が「1」になる(図中「*11」)。ゼロフラグ(Z)が「1」になったことに基づいて、通知Aの送信タイミングが到来したと判断される。さらに、この時点では、遊技機設置情報通知要求フラグ(D1ビット)及び遊技機性能情報通知要求フラグ(D0ビット)はいずれも「0」であるので、通知Bの送信タイミングでなく、かつ、通知Cの送信タイミングでもない。したがって、このタイミングでは、通知Aが送信される(図中「*11」)。
図中「*11」のタイミングで通知Aが送信されるときは、その送信直前に取得されたホールコン・不正監視情報が所定の送信用レジスタに記憶され、そのホールコン・不正監視情報を含む遊技機情報通知が送信される。換言すれば、図中「*6」や「*9」のタイミングで取得されたホールコン・不正監視情報ではない。
以上のように、キャリーフラグ又はゼロフラグのいずれか一方が「1」になったときに、通知Aの送信タイミングが到来したと判断する。
したがって、上述した役比モニタ113において、点滅切替え時間を更新した結果、キャリーフラグが「0」になったときに点灯と消灯とを切り替える制御とは相違する。
図41は、遊技機情報管理を示すフローチャートである。
ここで、「遊技機情報管理」とは、遊技機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に進む。
ステップS723では、更新前の遊技機情報通知タイマAの値が「1」であるか否かを判断する。換言すれば、更新によって遊技機情報通知タイマAの値が「0」なったか否か、さらに換言すれば、更新によってゼロフラグが「1」となったか否かを判断する。更新前の遊技機情報通知タイマAの値が「1」であると判断したときはステップS724に進み、「0」でないと判断したときは本フローチャートによる処理を終了する。
更新前の遊技機情報通知タイマAの値が「1」であるときは、「300」ms周期のタイミング、すなわちホールコン・不正監視情報を含む遊技機情報通知の送信タイミングであることを意味する。
一方、通知Aの送信タイミングでないときは、「300」ms周期のタイミングではないので、「60」秒周期の送信タイミングでもなく、かつ、「180」秒周期の送信タイミングでもない。換言すれば、遊技機設置情報を含む遊技機情報通知の送信タイミングでもなく、かつ、遊技機性能情報を含む遊技機設置情報の送信タイミングでもない。したがって、ホールコン・不正監視情報を含む遊技機設置情報の送信タイミングでないと判断したときは、遊技機設置情報を含む遊技機情報通知の送信タイミングであるか否かや、遊技機性能情報を含む遊技機設置情報の送信タイミングであるか否かを判断することなく、遊技機情報管理を終了するようにしている。これにより、プログラム処理を簡素化できるとともに、遊技機情報管理の高速化を図ることができる。
ステップS724では、遊技機情報通知タイマAの値に初期値を保存する。ここで、初期値は「300(D)」である。本実施形態における遊技媒体数制御基板100のタイマ割込みの周期は「1」msであるため、遊技機情報通知タイマAの値として「300(D)」を記憶することで、「300」msのカウントが可能となっている。したがって、ステップS721における減算で演算結果が「0」になったときは、すぐにステップS724で「300」が記憶される。
なお、たとえば遊技媒体数制御基板100のタイマ割込みの周期が「2」msである場合には、遊技機情報通知タイマAに「150(D)」を記憶すればよい。
また、たとえば遊技媒体数制御基板100のタイマ割り込みの周期を「2.235」msとした場合は、遊技機情報通知タイマAに「135」~「138」の範囲のいずれかの値を記憶すればよい。このように、「遊技機情報通知の送信周期/タイマ割込み周期」が整数にならない場合(割り切れない場合)は、遊技機情報通知の送信タイミングが「300」ms~「310」msの間となる任意の値を初期値に設定することができる。
なお、上述したステップS721の演算命令としては、DCPWLD命令が挙げられる。DCPWLD命令は、「1」減算した結果としてキャリーフラグが「1」となった場合に、所定値を記憶する命令である。本実施形態における所定値は「300」としている。したがって、電源投入後、遊技機情報通知タイマAが初期化されて「0」にされた後、最初の割込み処理における遊技機情報管理処理において、ステップS721で「1」が減算されると、キャリーフラグが「1」となり、所定値「300」が記憶される。
このように、電源投入時の初期化処理により、遊技機情報通知タイマAの値が「0」にされるが、それ以外は、ステップS721の処理後からステップS724の処理前の期間を除き、遊技機情報通知タイマAの値が「0」になることはない(異常時を除く)。
次のステップS725では、遊技機情報通知タイマBの値を「1」加算する処理を実行する。ここでの加算処理は、特殊加算命令が用いられる。具体的には、遊技機情報通知タイマBに「199」未満の値が記憶されているときは遊技機情報通知タイマBの値に「1」を加算し、遊技機情報通知タイマBの値が「199」未満でないとき(すなわち、正常動作状況下において「199」が記憶されているとき)は、遊技機情報通知タイマBに「0」を記憶する演算処理である。
具体例を挙げると、以下の通りである。
例1)遊技機情報通知タイマBに「0」が記憶されている場合において、「1」を加算する特殊加算命令を用いた演算処理を行うと、「1」となる。
例2)遊技機情報通知タイマBに「100」が記憶されている場合において、「1」を加算する特殊加算命令を用いた演算処理を行うと、遊技機情報通知タイマBは「101」となる。
例3)遊技機情報通知タイマBに「199」が記憶されている場合において、「1」を加算する特殊加算命令を用いた演算処理を行うと、遊技機情報通知タイマBの値は「200」にならずに「0」になる。たとえば、上述した図40中、「*4」のタイミングにおける演算に相当する。
このように、遊技機情報通知タイマBに「1」を加算する特殊加算命令を用いた演算処理を行うと、遊技機情報通知タイマBの値として「0」~「199」を循環させることができる。
また、遊技機情報通知タイマBに「199」が記憶されているときに「1」を加算する状況とは、遊技機情報通知タイマAが「0」となった契機が「200」回到来した状況に相当する。換言すれば、割込み処理が「300」回実行されるごとに遊技機情報通知タイマBが「1」ずつ加算されるため、「300回×200回=60000回」の割込み処理が実行された(「60」秒が経過した)状況である。
そして、本来であれば、「60000」回の割込み処理が実行されたか否かを計測するためには「2」バイトの記憶領域を設けなければならない。しかし、遊技機情報通知タイマAの値に基づいて遊技機情報通知タイマBを更新することにより、遊技機情報通知タイマBの記憶領域を「1」バイトとすることができ、RWM103の記憶容量を削減することができる。
また、遊技機情報通知タイマBに「1」加算する演算命令としては、ICPLD命令が挙げられる。
なお、上記例では遊技機情報通知タイマBに「1」加算する命令を実行しているが、「1」減算する命令としてもよい。減算命令の場合は、電源投入時に遊技機情報通知タイマBに初期値として「200」を記憶し、その後「0」となったときに「200」を記憶してもよい。あるいは、電源投入時に遊技機情報通知タイマBに初期値として「199」を記憶し、その後、キャリーフラグが「1」となったときに「200」を記憶してもよい。
また、遊技機情報通知タイマBの更新を加算命令としているため、減算命令にした場合と比べて、初期値をセットする処理を省略できる(電源投入時の初期化処理により初期値は「0」となる)分、処理速度の向上やプログラム容量を削減することができる。
ステップS726では、遊技機情報通知タイマBの時間が経過したか否かを判断する。ここでは、遊技機情報通知タイマBの値が「1」加算により「0」となったときは、遊技機情報通知タイマBの時間が経過したと判断する。一方、遊技機情報通知タイマBの値が「1」加算により「0」にならなかったときは、遊技機情報通知タイマBの時間が経過していないと判断する。
遊技機情報通知タイマ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に「1」を加算する特殊加算命令を用いた演算処理を行うと、遊技機情報通知タイマCの値として「0」~「2」を循環させることができる。
また、遊技機情報通知タイマCに「2」が記憶されているときに「1」を加算する状況とは、遊技機情報通知タイマBが「0」となった契機が「3」回到来した状況に相当する。換言すれば、割込み処理が「300」回実行されるごとに遊技機情報通知タイマBが「1」加算され、遊技機情報通知タイマBが「200」回更新されるごとに遊技機情報通知タイマCに「1」が加算されることから、「300回×200回×3回=180000回」の割込み処理が実行された(「180」秒が経過した)状況である。
そして、本来であれば、「180000」回の割込み処理が実行されたか否かを計測するためには「3」バイトの記憶領域を設けなければならないが、遊技機情報通知タイマAの値に基づいて遊技機情報通知タイマBの値を更新し、さらに遊技機情報通知タイマBの値に基づいて遊技機情報通知タイマCの値を更新するので、遊技機情報通知タイマCの記憶領域を「1」バイトとすることができ、RWM103の記憶容量を削減することができる。
また、遊技機情報通知タイマCに「1」加算する演算命令としては、上述したICPLD命令が挙げられる。
なお、上記例では遊技機情報通知タイマCに「1」加算する命令を実行しているが、減算命令としてもよい。減算命令の場合は、電源投入時に遊技機情報通知タイマCの値として初期値「3」を記憶し、その後「0」となったときに「3」を記憶してもよい。あるいは、電源投入時に遊技機情報通知タイマCの値として初期値「2」を記憶し、その後、キャリーフラグが「1」となったときに「3」を記憶してもよい。
ただし、本実施形態のように、遊技機情報通知タイマCの更新を加算命令とすれば、減算命令にした場合と比べて、初期値をセットする処理を省略できる(電源投入時の初期化処理により初期値は「0」となる)分、処理速度の向上やプログラム容量を削減することができる。
ステップS728では、遊技機情報通知タイマCの時間が経過したか否かを判断する。ここでは、遊技機情報通知タイマCの値が「1」加算により「0」となったときは、遊技機情報通知タイマCの時間が経過したと判断する。一方、遊技機情報通知タイマCの値が「1」加算により「0」にならなかったときは、遊技機情報通知タイマCの時間が経過していないと判断する。
遊技機情報通知タイマCの時間が経過したと判断したときはステップS729に進み、経過していないと判断したときはステップS730に進む。
なお、ステップS726で「Yes」と判断されたときに限り、ステップS727の処理を実行するようにしている。遊技機情報通知タイマCを更新するタイミングは、遊技機情報通知タイマBが「0」になったときに限られるからである。さらに、その次のステップS728において遊技機情報通知タイマCの時間が経過したか否かを判断するのは、ステップS726で「Yes」と判断された場合に限られる。遊技機情報通知タイマCの時間が経過したか否かは、「180」秒の周期が到来したか否かであり、「180」秒の周期が到来するのは、必ず「60」秒の周期が到来している(遊技機情報通知タイマBの時間が経過している)からである。
ステップS729では、遊技機性能情報通知要求フラグをセットする。この処理は、遊技機情報通知要求フラグの「D0」ビットに「1」を記憶する処理である。次のステップS730では、遊技機設置情報通知要求フラグをセットする。この処理は、遊技機情報通知要求フラグの「D1」ビットに「1」を記憶する処理である。
すなわち、遊技機情報通知タイマCの時間が経過したと判断されたときは、「180」秒の周期が到来したときであり、「180」秒の周期には「60」秒の周期が含まれるため、遊技機性能情報を通知するタイミングが到来し、かつ遊技機設置情報を通知するタイミングが到来したときである。したがって、遊技機情報通知要求フラグの「D0」及び「D1」ビットの双方を「1」にする。
これに対し、ステップS726において遊技機情報通知タイマBの時間が経過したと判断され、かつ、遊技機情報通知タイマCの時間が経過していないと判断されたときは、「60」秒の周期(遊技機設置情報を通知するタイミング)が到来しているが、「180」秒の周期(遊技機性能情報を通知するタイミング)が到来していないときである。したがって、この場合には、ステップS729の処理を実行せず、ステップS730の処理のみを実行し、遊技機情報通知要求フラグの「D1」ビットだけを「1」にする。
このように、遊技機設置情報を送信するタイミング、及び遊技機性能情報を送信するタイミングをフラグで管理するため、ホールコン・不正監視情報と、遊技機設置情報と、遊技機性能情報とを送信する処理を簡略化できる。換言すれば、各種情報に対応したタイマを連動させることで、個別に管理することなく送信することが可能となる。さらに、ホールコン・不正監視情報と、遊技機設置情報と、遊技機性能情報とを送信するためのタイマの計測開始タイミングがずれることがないため、正確に送信することが可能となる。
次のステップS731では、遊技機設置情報の通知要求があるか否かを判断する。ここでは、遊技機設置情報通知要求フラグがセットされているか否かを判断する。したがって、遊技機情報通知要求フラグの「D1」ビットが「1」であれば遊技機設置情報の通知要求があると判断し、遊技機情報通知要求フラグの「D1」ビットが「1」でなければ遊技機設置情報の通知要求がないと判断する。
遊技機設置情報の通知要求があると判断したときはステップS734に進み、遊技機設置情報の通知要求がないと判断したときはステップS732に進む。
ステップS732では、遊技機性能情報の通知要求があるか否かを判断する。ここでは、遊技機性能情報通知要求フラグがセットされているか否かを判断する。したがって、遊技機情報通知要求フラグの「D0」ビットが「1」であれば遊技機性能情報の通知要求があると判断し、遊技機情報通知要求フラグの「D0」ビットが「1」でなければ遊技機性能情報の通知要求がないと判断する。
遊技機性能情報の通知要求があると判断したときはステップS736に進み、遊技機性能情報の通知要求がないと判断したときはステップS733に進む。
ステップS733では、ホールコン・不正監視情報の送信処理を実行する。ここでは、遊技媒体数制御基板100のRWM103に記憶されているホールコン・不正監視情報を取得し、当該情報を送信用レジスタに記憶し、当該情報を送信する。そして、送信後、本フローチャートによる処理を終了する。
なお、ステップS722において、遊技機情報通知タイマAの更新前の値が「0」であると判断したときは、遊技機情報通知タイマBや遊技機情報通知タイマCの時間が経過したか否かの判断(ステップS726やステップS728の処理)を実行することなく、ホールコン・不正監視情報の送信処理を実行する。その理由は、遊技機情報通知タイマAの更新前の値が「0」であるのは、電源投入直後の最初の割込み処理での減算処理時に限られるからである。換言すれば、電源投入直後の最初の割込み処理での減算処理時に、「60」秒や「180」秒が経過していることはあり得ないからである。このような場合には、遊技機情報通知タイマBや遊技機情報通知タイマCの時間が経過したか否かの判断を実行することなくホールコン・不正監視情報の送信処理を実行することで、処理の迅速化(送信処理の高速化)を図ることができる。
また、ステップS731で遊技機設置情報の通知要求があるか否かを判断し、遊技機設置情報の通知要求がないと判断したときは、ステップS732に進んで遊技機性能情報の通知要求があるか否かを判断する処理順序となっている。このような処理順序にすることにより、遊技機設置情報通知要求フラグと遊技機性能情報通知要求フラグの両方がセットされている状況(「180」秒周期が到来した状況)においては、先に、遊技機設置情報の通知要求があるか否かを判断することにより、遊技機性能情報の送信処理よりも先に遊技機設置情報の送信処理を実行できる(優先できる)ように構成している。
さらにまた、上述したように、ステップS733におけるホールコン・不正監視情報の送信では、その時点での最新の情報が送信される。
たとえば、ホールコン・不正監視情報に含まれる(総)遊技媒体数は、送信時点における遊技媒体数記憶手段103a(_NB_MEDAL )に記憶されている情報を送信する。換言すれば、ホールコン・不正監視情報の送信タイミングである「300」msごとの送信タイミングにおいて遊技機設置情報や遊技機性能情報の送信タイミングと重なった場合には、遊技機設置情報や遊技機性能情報の送信が優先されるため、当該タイミングではホールコン・不正監視情報を送信せず、次の「300」ms経過後(遊技機設置情報の送信タイミングと重なった場合)又は「600」ms経過後(遊技機設置情報及び遊技機性能情報の送信タイミングと重なった場合)にホールコン・不正監視情報を送信する。この「「300」ms経過後又は「600」ms経過後に送信するホールコン・不正監視情報」については、遊技機設置情報の送信タイミングと重なった時点でのホールコン・不正監視情報ではなく、「300」ms経過後又は「600」ms経過後にホールコン・不正監視情報を送信するタイミングで取得したホールコン・不正監視情報である。したがって、ホールコン・不正監視情報の送信タイミングが遅れても、最新の情報を送信することが可能となる。
また、ホールコン・不正監視情報の送信処理が終了した後は、通番を更新(「1」加算)する。当該通番も、計数通番等と同様に、電源復帰直後の送信時には通番として「0」を送信し、それ以降は、「1」~「255」のいずれかを送信できるように(「1」~「255」を循環するように)更新している。この通番は、ホールコン・不正監視情報、遊技機設置情報、遊技機性能情報の3つの情報のうちいずれかを送信したときに更新される通番である。換言すれば、ホールコン・不正監視情報、遊技機設置情報、遊技機性能情報で同じ通番を用いているため、電源が投入されている状況下においては、「300」msの周期で通番が更新されるように構成されている。
ステップS731からステップS734に進むと、遊技機設置情報の送信処理を実行する。このときに送信する内容は、このタイミングで取得した遊技媒体数制御基板100に記憶されている情報である。次にステップS735に進み、遊技機設置情報通知要求フラグをクリアする。具体的には、遊技機情報通知要求フラグの「D1」ビットを「0」にする。また、遊技機設置情報の送信処理が終了した後には、通番を更新(「1」加算)する。そして本フローチャートによる処理を終了する。
一方、ステップS732からステップS736に進むと、遊技機性能情報の送信処理を実行する。このときに送信する内容は、このタイミングで取得した遊技媒体数制御基板100に記憶されている情報である。次にステップS735に進み、遊技機性能情報通知要求フラグをクリアする。具体的には、遊技機情報通知要求フラグの「D0」ビットを「0」にする。また、遊技機性能情報の送信処理が終了した後には、通番を更新(「1」加算)する。そして本フローチャートによる処理を終了する。
続いて、遊技機情報通知タイマA~Cと、主制御基板50のRWM53に記憶された情報との関係について説明する。
遊技機情報通知タイマA~Cの各記憶領域は、上述したように、遊技媒体数制御基板100のRWM103に設けられている。そして、電源投入時の初期化処理により、これらの記憶領域はクリア(「0」が記憶)される。
一方、遊技媒体数制御基板100のRWM103には、役比モニタ113の点灯制御に必要なデータ記憶領域として、上記で説明したデータ記憶領域以外に、たとえば以下のようなデータ記憶領域が設けられている。
「400」遊技回数カウンタ(「400」遊技をカウントするためのカウンタ)
総付与数リングバッファ「0」~「14」(それぞれ、「400」遊技間の総付与数をカウントするバッファ)
連続役物付与数リングバッファ「0」~「14」(それぞれ、「400」遊技間の連続役物付与数をカウントするバッファ)
役物付与数リングバッファ「0」~「14」(それぞれ、「400」遊技間の役物付与数をカウントするバッファ)
総遊技回数カウンタ(総遊技回数のカウント値の記憶領域)
有利区間遊技回数カウンタ(有利区間の遊技回数の記憶領域)
総付与数カウンタ(総付与数のカウント値の記憶領域)
指示付与数カウンタ(指示機能作動時における付与数の記憶領域)
連続役物付与数カウンタ(連続役物作動時における付与数の記憶領域)
役物付与数カウンタ(役物作動時における付与数の記憶領域)
指示込役物比率データ(算出した指示込役物比率の記憶領域)
有利区間比率データ(算出した有利区間比率の記憶領域)
連続役物比率データ(算出した連続役物比率の記憶領域)
役物比率データ(算出した役物比率の記憶領域)
役物等状態比率データ(算出した役物等状態比率の記憶領域)
点滅切替え時間(点滅切替え時間に係るカウント値の記憶領域)(上述)
点滅切替えフラグ(点灯又は消灯を判断するフラグの記憶領域)(上述)
なお、上記のデータ記憶領域は、役比モニタ113の点灯制御に必要なデータ記憶領域の一部であり、上記に限定されるものではない。
上記の各記憶領域のうち、リングバッファ、遊技回数カウンタ、付与数カウンタ、比率データの各記憶領域は、電源のオン/オフや、設定変更処理では初期化されない。電源のオン/オフや、設定変更処理が行われたとしても、過去の遊技履歴を反映させた正しい比率表示を行うためである。
ただし、RWM異常エラーのような復帰不可能エラーが発生した場合には、上記の記憶領域をすべて初期化する。復帰後に不正なデータを残さないようにするためである。
一方、点滅切替え時間及び点滅切替えフラグは、電源のオン/オフや設定変更処理により初期化(クリア)する。これにより、電源投入時は、毎回、テストパターンの表示を「4800」ms実行することができる。また、電源投入後において、点滅表示を行う場合でも、最初の点灯「3」秒間から開始することができる。
また、主制御基板50のRWM53には、図29で示したベット数記憶手段53a、付与数記憶手段53b以外に、たとえば以下のようなデータの記憶領域が設けられている。
入力ポートレベルデータ(各スイッチが操作されている状態であるか否かを判断するデータの記憶領域)
入力ポート立ち上がりデータ(各スイッチが操作されたか否かを判断するデータの記憶領域)
区間種別番号(有利区間を管理するための番号の記憶領域)
MYカウンタ(差数の記憶領域)
入賞及びリプレイ条件装置番号(当該遊技で作動する賞及びリプレイ条件装置の番号の記憶領域)
役物条件装置番号(当該遊技で作動する役物条件装置の番号の記憶領域)
最小遊技期間(1遊技の最小遊技期間(「4.1」秒)を監視するためのタイマ値の記憶領域)
遊技待機表示時間(遊技待機に移行するまでの時間を計測するタイマ値の記憶領域)
なお、上記のデータ記憶領域は、RWM53のデータ記憶領域の一部であり、上記に限定されるものではない。
また、第2実施形態の遊技機10は、メダルレス遊技機であるので、有体物としてのメダルを用いる遊技機で設けられていた、たとえば以下の記憶領域は、設けられていない。
ブロッカ信号(ブロッカのオン/オフの記憶領域)
ホッパーモータ駆動信号(ホッパーモータのオン/オフの記憶領域)
払出しセンサチェック時間(メダル詰まりを検出するタイマ値の記憶領域)
ブロッカ監視時間(ブロッカのオン/オフの待機時間を示すタイマ値の記憶領域)
メダル払出し制御時間(メダル払出し装置の制御時間を示すタイマ値の記憶領域)
以上のRWM53の記憶領域において、たとえば、最小遊技時間は、電源のオン/オフにより初期化されない。したがって、最初遊技時間の計測途中で電源がオフにされたときは、その後に電源が投入されると、最小遊技時間の計測を再開し、最小遊技時間を経過したと判断したときは、遊技の開始(リール31の回転開始)を許可する。
このため、最小遊技時間と、遊技機情報通知タイマA~Cとは、いずれも時間を計測するためのタイマ値を記憶する点で共通するが、電源のオン/オフにより初期化されるか否かは、相違する。
以上、本発明の第2実施形態について説明したが、本発明は、上述した内容に限定されるものではなく、たとえば以下のような種々の変形が可能である。
(1)第2実施形態において、遊技媒体数制御基板100と接続端子板130を介して遊技機10と貸出ユニット200とを通信可能としているがこれに限らず、主制御基板50と接続端子板130とを接続し、主制御基板50と接続端子板130を介して遊技機10と貸出ユニット200とを通信可能としてもよい。上記のように構成し、遊技媒体数制御基板100を搭載しなければ、生産コストを下げることができる。
なお、この場合には、遊技媒体数制御基板100が制御する処理はすべて主制御基板50が行うこととなる。また、主制御基板50の機能と遊技媒体数制御基板100の機能とを同一の基板で実現する場合は、主制御基板50の機能を制御するCPU55と遊技媒体数制御基板100の機能を制御するCPU105とを別個に備えることで、上述した実施形態と同様な処理を実現することが可能となる。
(2)上記実施形態では、「60」秒ごとに送信する遊技機設置情報を第1優先とし、次に、「180」秒ごとに送信する遊技機性能情報を第2優先とした。しかし、これは例示であり、たとえば「T1」秒ごとに送信する遊技機情報通知1と、「T2」秒(T2>T1)ごとに送信する遊技機情報通知2とを有する場合に、遊技機情報通知2を遊技機情報通知1よりも優先して送信する仕様であってもよい。
(3)主制御基板50のRWM53や、遊技媒体数制御基板100のRWM103の記憶領域は、一般に、使用領域内と使用領域外とに分けられている。
ここで、「使用領域内」とは、RWMの記憶領域中、遊技の進行に関係するデータを記憶するための領域を指す。
一方、「使用領域外」とは、RWMの記憶領域中、遊技の進行に関係しないデータを記憶するための領域を指す。
したがって、役比モニタ113の表示制御に関するデータは、遊技の進行に関係しないデータであることから、RWMの使用領域外に記憶されるのが一般的である。
たとえば、主制御基板50で役比モニタの表示制御を実行する場合には、RWM53の使用領域外に、役比モニタの表示制御に関するデータが記憶される。これにより、RWM53の使用領域内の記憶容量を圧迫しようにすることができる。
しかし、これに限らず、遊技媒体数制御基板100で役比モニタ113の表示制御を実行する場合には、役比モニタ113の表示制御に関するデータによってRWM103の使用領域内の記憶容量を圧迫するおそれが少ないことから、役比モニタ113の表示制御に関するデータ記憶領域を、RWM103の使用領域内に設けることも可能である。
(4)上記実施形態では、遊技機10として、スロットマシン(回胴式遊技機)の例をしめしたが、これに限らず、カジノマシン等の様々な遊技用の機種に適用することが可能である。
<第3実施形態>
第3実施形態は、メインCPU55の構造、及び命令に関するものである。第3実施形態では、第1実施形態と同様に、メイン制御基板50上に、RWM53、ROM54、メインCPU55を備える。
図42は、第3実施形態におけるメインCPU55の内蔵メモリを示す図である。図中、(A)は内蔵メモリの概要を示す図であり、(B)は内蔵メモリ内の記憶領域のうち内蔵レジスタ領域を示す図である。図42では、内蔵メモリのうち、本実施形態に係る部分のみを示しており、内蔵メモリのすべてを示しているわけではない。
ROM54の領域中、第1プログラム領域及び第1データ領域は、使用領域内(遊技の進行に関係するプログラム及びデータを記憶するための領域)に相当し、第2プログラム領域及び第2データ領域は、使用領域外(遊技の進行に関係しないプログラム及びデータを記憶するための領域。たとえば、役比モニタの表示制御に関するプログラム及びデータや、試験信号の出力制御に関するプログラム及びデータを記憶するための領域。)に相当する。
なお、「プログラム領域」は「制御領域」とも称される。
ROM54は、アドレス「0000h」~「2FFFh」の範囲を有し、「12K」バイトの記憶領域を有する。この記憶領域中、第1プログラム領域は「4.5K」バイト、第1データ領域は「3.0K」バイトに設定されている。
さらに、RWM53中、第1作業領域及び第1スタック領域は、第1プログラム領域に記憶された第1プログラム(遊技の進行に関係するプログラム)の実行中に使用される(更新される、参照される)記憶領域である。同様に、第2作業領域及び第2スタック領域は、第2プログラム領域に記憶された第2プログラム(遊技の進行に関係しないプログラム。たとえば、役比モニタの表示に関するプログラム。)の実行中に使用される(更新される、参照される)記憶領域である。
また、第1プログラム領域に記憶された第1プログラムでは、第2作業領域及び第2スタック領域のデータを更新できないが、第2作業領域及び第2スタック領域のデータを参照することは可能である。
同様に、第2プログラム領域に記憶された第2プログラムでは、第1作業領域及び第1スタック領域のデータを更新できないが、第1作業領域及び第1スタック領域のデータを参照することは可能である。
また、内蔵レジスタ領域(内蔵レジスタエリアと同義)には、レジスタバンク0とレジスタバンク1とを備える。そして、各レジスタバンク内に、メインレジスタ(表レジスタ)とサブレジスタ(裏レジスタ)とを備えている。メインレジスタは、いわゆる汎用レジスタを含むものである。
以下の説明では、サブレジスタについては割愛し、「レジスタ」と称するときはメインレジスタを指すものとする。
レジスタバンク0の各レジスタは、第1プログラム領域に記憶されたプログラムを実行しているときに使用されるレジスタである。同様に、レジスタバンク1の各レジスタは、第2プログラム領域に記憶されたプログラムを実行しているときに使用されるレジスタである。たとえば、Aレジスタ、Fレジスタ等は、それぞれ、レジスタバンク0及びレジスタバンク1の双方に設けられている。換言すれば、レジスタバンク0のAレジスタと、レジスタバンク1のAレジスタは、異なるレジスタである。
Aレジスタは、アキュムレータである。
Fレジスタは、フラグレジスタであり、その構造については後述する。
B、C、D、E、H、及びLレジスタは、汎用レジスタである。
IX及びIYレジスタは、インデックスレジスタであり、たとえばアドレスを指定するとき等に使用される。
SPレジスタは、スタックポインタレジスタである。SPレジスタは、データをスタック領域に退避させるときにどのアドレスに退避させるかを指定し、かつ、データをスタック領域から復帰させるときにどのアドレスのデータを復帰させるかを指定するレジスタである。
具体的には、レジスタバンク0のSPレジスタは、第1スタック領域(「F1D0h」~「F1FFh」の範囲)のアドレスを指定する。同様に、レジスタバンク1のSPレジスタは、第2スタック領域(「F3E8h」~「F3FFh」の範囲)のアドレスを指定する。
レジスタバンク0及び1の外には、I、R、PC、IFFレジスタを備える。
Iレジスタは、インタラプトレジストであり、割込み処理を実行するときに使用される。
Rレジスタは、リフレッシュレジスタであり、RWM53のリフレッシュに使用される。
PCレジスタは、プログラムカウンタであり、メモリ上の現在実行中のアドレスを保持するレジスタである。
IFFレジスタは、割込み許可レジスタである。IFFレジスタには、マスカブル割込み(INT)の許可及び禁止を決定するIFF1レジスタと、ノンマスカブル割込み(NMI)の処理後にIFF1を復帰させるためのIFF2レジスタとから構成されている。IFF2レジスタは、ノンマスカブル割込み処理からの復帰以外に、CALLEX命令(後述)の実行後のRETEX命令(後述)による復帰にも使用される。
また、ノンマルカブル割込み受付け時、又はCALLEX命令の実行時に、IFF1レジスタはクリア(割込み処理を禁止する値(「0」)に設定)され、マスカブル割込みは禁止され、IFF2レジスタはこのときの状態(ノンマルカブル割込み受付け時、又はCALLEX命令の実行時において割込み禁止状態であったか割込み許可状態であったか)を保持する。また、RET命令又はRETEX命令の実行により、IFF2レジスタ値がIFF1レジスタに移され、マスカブル割込みの受付け状態を以前の状態に復帰する。
図43は、Fレジスタの詳細な構成を示す図である。Fレジスタは、1バイト(8ビット。図中、「D0」~「D7」で示す。)から構成されている。Fレジスタの構造は、以下の通りである。
(1)D0ビット:キャリーフラグ(C)
キャリーフラグは、演算の結果、桁上がり、又は桁下がりが発生すれば「1」になり、桁上がり、又は桁下がりが発生しなければ「0」になるフラグである。
(2)D1ビット:減算フラグ(N)
減算フラグは、サブトラクトフラグとも称する。直前に実行された命令が減算命令であれば「1」になり、減算命令でなければ「0」になるフラグである。
(3)D2ビット:パリティ/オーバーフローフラグ(P/V)
パリティ/オーバーフローフラグは、演算結果中、「1」のビットの数(パリティ)が偶数であれば「1」になり、奇数であれば「0」になるフラグである。また、演算の結果、オーバーフローが生じたときは「1」になり、オーバーフローが生じなければ「0」になるフラグである。
(4)D3ビット:レジスタバンクモニタ(RB)
レジスタバンクモニタは、レジスタバンク0の使用中は「0」になり、レジスタバンク1の使用中は「1」になるフラグである。したがって、FレジスタのD3ビットを参照することにより、使用中のレジスタバンクが0又は1のいずれであるかを判断可能となる。
(5)D4ビット:ハーフキャリーフラグ(H)
ハーフキャリーフラグは、演算時、下位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」になるフラグである。
図44は、第3実施形態におけるスタック領域を示す図である。図42に示すように、RWM53には、第1プログラム用の第1スタック領域(「F1D0h」~「F1FFh」)と、第2プログラム用の第2スタック領域(「F3E8h」~「F3FFh」)とを備える。
上述したように、第1スタック領域にデータを記憶する(積む、退避する、スタックする等とも称する。)場合には、最終アドレスから昇順(逆順)に積んでいく。たとえば、第1スタック領域に、最初に2バイトのデータを積む場合には、「F1FFh」及び「F1FEh」にデータを記憶する。
第2スタック領域についても上記と同様であり、最終アドレス(F3FFh)から順に積んでいく。
また、スタック領域のうち、どのアドレスにデータを積むかを示す値を記憶しておくものが、SPレジスタである。SPレジスタは、図42に示すように、レジスタバンク0及び1の双方に設けられ、レジスタバンク0内のSPレジスタが、第1スタック領域のどのアドレスにデータを積むかを記憶する。同様に、レジスタバンク1内のSPレジスタが、第2スタック領域のどのアドレスにデータを積むかを記憶する。
図44に示すように、レジスタバンク0のSPレジスタには、電源投入時に、「LD SP,F200h」の命令により、初期値「F200h」が記憶される。
次に、何らかのプログラム(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」に更新される。
第2スタック領域についても上記と同様である。
レジスタバンク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」に更新される。
ここで、命令の詳細は後述するが、本実施形態においては、CALLEX命令は、第1プログラム(レジスタバンク0のとき)には有する命令であり、第2プログラム(レジスタバンク1のとき)には有さない命令である。
また、RETEX命令は、第1プログラム(レジスタバンク0のとき)には有さない命令であり、第2プログラム(レジスタバンク1のとき)には有する命令である。
図45は、第3実施形態における主要な命令を示す図である。第3実施形態において、命令の種類は数千にも及ぶが、このうち、図45では、代表的な3種類を示している。
図中(A)は、LDF命令を示す。
図45において、まず、命令文におけるオペコードとオペランドについて説明する。
図中(A)に示すように、命令が「LDF HL,mn」であるとき、前半の「LDF」をオペコード(関数)と称し、後半の「HL,mn」をオペランド(引数)と称する場合がある。LDF命令は、LD(ロード)命令の一態様(特殊形。なぜ特殊であるかについては後述する。)である。また、「HL」は、HLレジスタを示し、「mn」は、アドレスを示す。そして、「LDF HL,mn」の命令は、アドレス「mn」値をHLレジスタに記憶することを指示する命令である。
なお、後述するように、LDF命令は、アドレス値を所定のレジスタに記憶することを指示する命令に限らず、所定値(ただし、「所定値」は、所定の範囲内に限られる(後述)。)を所定のレジスタに記憶することを指示する命令の場合もある。
具体的には、たとえば「LDF HL,1200h」が実行されると、
1200h=0001/0010/0000/0000(4ビットごとに「/」を入れている。以下同じ。)
であるので、
Hレジスタ値=0001/0010
Lレジスタ値=0000/0000
となる。
さらにまた、LDF命令は、「1200h」~「1DFF」の範囲の値をレジスタ(この例ではHLレジスタ)に記憶する命令に限られる。それ以外のロード命令のオペコードは、「LDF」ではなく「LD」を用いる。
すなわち、
LDF HL,mn (mn=1200h~1DFFh)
LD HL,mn (mn≠1200h~1DFFh)
である。
図46は、LDF命令及びLD命令の態様を示す図である。図42に示すように、第1データ領域の範囲は、アドレス「1200h」~「1DF3h」である。したがって、第1データ領域のアドレスを指定するロード命令の場合には、すべてLDF命令で実行可能である。
これに対し、第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命令が用いられる。
また、「LDF HL,mn」や「LD HL,mn」のようなすべての命令は、実際には符号化されてROM54のプログラム領域に記憶される。
ここで、第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)
となる。
そして、「1200h」を基準値「0」としたとき、「1DFFh」は、「3070(D)」又は「1011/1111/1110(B)」(12ビット)となる。
そこで、LDF命令において、アドレス値を指定するためのオペコードでは、「1200h」を値「0」とする。これにより、アドレス値「mn」(mn=「1200h」~「1DFFh」)を指定するためには、12ビットで足りることとなる。
また、命令のすべての数がたとえば「3000」であると仮定し、各命令ごとに固有の値を割り当てると仮定する。
この場合、
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バイトとなる。
一方、ロード命令のうち、「mn」の範囲が「1200h」~「1DFFh」の範囲外である場合、特に、第2データ領域の範囲「2600h」~「2FBEh」を指定する場合には、以下のようになる。
第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 A,(HL)」等のような場合でも、上記と同様に、コードサイズは3バイトとする。
なお、「LD HL,mn」のコードサイズが3バイトとするのであれば、「LD HL」については、必ずしも4ビットである必要はなく、11ビット以下であれば、「mn」(mn≠1200h~1DFFh)が13ビットであるから、これらの合計で24ビット(3バイト)以内に収めることが可能となる。
以上より、第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プログラム領域の記憶容量を節約することが可能となる。
特に、第1プログラム領域には、遊技の進行に関係するプログラムを記憶するので、第2プログラム領域に記憶するプログラム、換言すれば遊技の進行に関係しないプログラム(役比モニタに関するプログラム)よりも容量が増大しやすい。たとえば、遊技に関する抽選処理や、遊技状態を移行するための処理、リールを駆動するための処理、遊技の結果(停止表示した図柄組合せ)に応じて遊技価値(遊技媒体)を付与する処理などは、第1プログラムで実行している。そこで、第1プログラム領域に記憶するロード命令のうち、アドレス「1200h」~「1DFFh」を呼び出すロード命令のコードサイズを小さくすることによって、第1プログラム領域に、より多くのプログラムを記憶することが可能となる。
一方、第2プログラム領域に記憶されるプログラムのうち、第2データ領域内のアドレスを指定するロード命令のオペコードは、すべて「LD」で統一される。これにより、第2プログラム領域に記憶されるプログラムでは、プログラムソースの正当性の確認をより容易に行うことができる。換言すれば、プログラム容量(コードサイズ)の削減よりも、プログラムの見やすさを重視した設計とすることが可能となる。
第2プログラムで参照するROM54のデータ領域は、「1200h」~「1DFFh」の範囲外である。したがって、第2プログラムで参照するROM54のデータ領域のアドレスを指定する際には、「LD HL,mn」(mn≠1200h~1DFF)を使用する。
LD命令(LDをオペコードとした命令。「第1のロード命令」とも称する。)は、第1プログラムを構成する命令として複数有し、第2プログラムを構成する命令としても複数有する。しかし、LDF命令(LDFをオペコードとした命令。「第2のロード命令」又は「特殊ロード命令」とも称する。)は、第1プログラムを構成する命令として複数有するが、第2プログラムを構成する命令としては有さない。
また、LD命令であっても、2バイトデータをHLレジスタに記憶する命令とすることができる。しかし、LDF命令で2バイトデータをHLレジスタに記憶する方がコードサイズを小さくすることができる。ただし、LDF命令の場合には、2バイトデータの範囲に制限がある。
上述したLDF命令及びLD命令は、スロットマシン(たとえば風営法上の回胴式遊技機)における各種処理でのみ適用される命令ではなく、ぱちんこ遊技機における汎用的な各種処理においても問題なく適用可能である。
ぱちんこ遊技機においても、スロットマシンと同様に、第1プログラム領域と第2プログラム領域を備えており、第1プログラム領域には遊技の進行に関係するプログラムを記憶し、第2プログラム領域には遊技の進行に関係しないプログラム(たとえば、ベース(通常時において「賞球払出数/総排出数×100」で算出される値を指す。以下同じ。)を表示するベースモニタに関するプログラム。)を記憶する。このため、第1プログラム領域の方が第2プログラム領域よりも容量が増大しやすい傾向にある。したがって、第1プログラム領域に記憶するプログラムにLDF命令を採用することによる容量圧縮効果が期待できる。
また、ぱちんこ遊技機において第1プログラム領域に記憶されるプログラムとしては、たとえば、当否抽選に係る処理、特別図柄の変動停止制御に係る処理、特別図柄又は普通図柄の表示に係る処理、遊技情報(遊技状態、エラー状態、ベース等)の表示に係る処理、大当り制御に係る処理、各種可動物(大入賞口、開放延長機能を作動させる電動役物等)の可動制御に係る処理、払出制御に係る処理等が挙げられる。これらのプログラムに対して、LDF命令を使用することができる。
特に、ぱちんこ遊技機のベースモニタの表示制御と、スロットマシンの役比モニタの表示制御とでは、表示内容を算出する過程において違いはあるが、最終的に遊技情報をデータとして表示する点において類似する表示制御が行われる。
なお、上記に限らず、スロットマシン及びぱちんこ遊技のいずれにおいても、メインCPUで制御されるその他の処理でLDF命令を使用することは、もちろん可能である。
説明を図45に戻す。
図45(B)は、CALLEX命令を示す。CALLEX命令は、コール(CALL、呼出し)命令の1つである。
「CALLEX mn」の命令が実行されると、
(1)その時点において割込み許可状態であるか割込み禁止状態であるかにかかわらず、ノンマスカブル割込み(NMI)及びマスカブル割込み(INT)を禁止し、
(2)レジスタバンクを「1」に切り替え、
(3)mnで指定されるアドレスにコールする(呼び出す)
ことを実行する。
本実施形態では、第1プログラム領域内のプログラムから第2プログラム領域内のプログラムを実行する際に、CALLEX命令を実行することによって、第2プログラム領域内のプログラムを実行可能とする。
上述したロード命令では、mnの範囲に応じて、LDF命令又はLD命令のいずれかとしたが、第3実施形態のコール命令では、mnの範囲にかかわらず、CALLEX命令を使用する。CALLEX命令は、第1プログラムから第2プログラムを読み出すときに用いられる。
ここで、第2プログラム領域は、図42に示すように、アドレス「2000h」~「25FFh」の範囲である。そして、CALLEX命令では、アドレス「2000h」~「25FFh」のうち、アドレス「2000h」~「20FFh」の範囲を呼び出す場合の「CALLEX mn」のコードサイズは2バイトとなり、アドレス「2000h」~「20FFh」以外の範囲を呼び出す場合の「CALLEX mn」のコードサイズは、4バイトとなるように構成されている。
ここで、アドレス「2000h」~「20FFh」の範囲は、「FFh」、すなわち1バイトである。この場合に、アドレス値「2000h」のコード値を「0h」にする。これにより、アドレス値「20FFh」を呼び出すときのコード値を「FFh」にすることができるので、アドレス「2000h」~「20FFh」の範囲のいずれを呼び出す場合であっても、「mn」のコードサイズを1バイトに設定することができる。
また、「CALLEX」のオペコードをコード化する場合に、第3実施形態では、当該コードを「0100/1000」すなわち1バイトに設定する。これにより、「CALLEX mn」(mn=2000h~20FFh)のコードサイズを2バイトに設定することができる。
図47は、CALLEX命令の態様を示す図である。
図中(A)は、「CALLEX 2000h」を示す。この場合の「2000h」に対応するコード値は、上述したように「0000/0000」である。また、「mn」の範囲が「2000h」~「20FFh」である場合の「CALLEX」のコード値は、「0100/1000」である。したがって、「CALLEX 2000h」のコードは、
0100/1000/0000/0000
となる。
この命令が実行されると、第2プログラム領域のアドレス「2000h」の命令を呼び出す。
また、図中(B)は、「CALLEX 20FFh」を示す。この場合の「20FFh」に対応するコード値は、「1111/1111」である。また、上述と同様に、「mn」の範囲が「2000h」~「20FFh」である場合の「CALLEX」のコード値は、「0100/1000」である。したがって、「CALLEX 20FFh」のコードは、
0100/1000/1111/1111
となる。
この命令が実行されると、第2プログラム領域のアドレス「20FFh」の命令を呼び出す。
さらにまた、図中(C)は、「CALLEX 2100h」を示す。ここで、「mn」が「20FFh」から「2100h」になると、桁上がりが生じ、「mn」を1バイトで表すことができなくなり、「mn」のコードサイズは2バイトとなる。「mn」=「2100h」の場合には、「mn」のコードは、
0000/0001/0000/0000
となる。
さらに、この場合の「CALLEX」のコードも異なる。「mn」の範囲が「2000h」~「20FFh」である場合の「CALLEX」のコードを1バイトとしたが、「mn」の範囲が「2100h」~「25FFh」であるときには、「CALLEX」のコードとして1バイトを用いずに2バイトとする。上述したように、オペコードを1バイトから構成する場合には、数千の命令のうち、256個に限られるため、「mn」の範囲が「2000h」~「20FFh」である場合の「CALLEX」のコードとして1バイトのコードを割り当てたが、「mn」の範囲が「2000h」~「20FFh」でない場合には、「CALLEX」のコードとして2バイトのコードを割り当てている。図47の例では、この場合の「CALLEX」のコードを、
1010/0000/1000/0000
としている。
よって、「mn」=「2100h」であるときの「CALLEX mn」のコードは、
1010/0000/1000/0000/0000/0001/0000/0000
となる。
この命令が実行されると、第2プログラム領域のアドレス「2100h」の命令を呼び出す。
さらに、図中(D)は、「CALLEX 25FFh」(第2プログラム領域の最後のアドレスを指定する命令)を示す。第2プログラム領域のアドレスを指定するときの最大値が「25FFh」となる。
「2000h」のコードを「0」としたとき、「25FFh」は、
0000/0101/1111/1111
となる。
よって、「CALLEX 25FFh」のコードは、
1010/0000/1000/0000/0000/0101/1111/1111
となる。
この命令が実行されると、第2プログラム領域のアドレス「25FFh」の命令を呼び出す。
以上のように、第3実施形態の「CALLEX mn」命令では、「mn」の範囲が「2000h」~「20FFh」の範囲内であればコードサイズが2バイトの命令となり、「mn」の範囲が上記範囲以外であればコードサイズが4バイトの命令となる。
よって、呼び出す回数が多い命令ほど、アドレス「2000h」~「20FFh」の範囲内に集約しておけば、それだけ、コードサイズが2バイトで済む命令が多くなる。これにより、命令を記憶するROM54の記憶容量を節約することが可能となる。
また、第2プログラム領域のアドレス「2000h」~「25FFh」の範囲のうち、アドレス「2000h」~「20FFh」の範囲に、第1プログラムから第2プログラムを呼び出す際のアドレスを収めておくことによって、第2プログラムを確認するときに、第1プログラムから呼び出されるプログラムであることを容易に把握することができる。
説明を図45に戻す。
図45(C)は、RETEX命令を示す。このRETEX命令は、従来のリターン命令に対応する命令である。
RETEX命令は、
(1)ノンマスカブル割込み(NMI)、及びマスカブル割込み(INT)をCALLEX命令前の状態にし、
(2)レジスタバンクを「0」に切り替え、
(3)リターン(RET)する(CALLEX前の状態(CALLEXの次の命令(戻り番地のプログラム))に戻る)
ことを実行する。
これにより、第1プログラム領域内のプログラムを実行可能とする。
なお、CALLEX命令時の状態が割込み許可状態であるときは、RETEX命令によって割込み許可状態にする。一方、CALLEX命令時の状態が割込み禁止状態であるときは、RETEX命令によって割込み禁止状態にする。
従来の一般的なコール(CALL)/リターン(RET)命令では、コール命令によってプログラムを呼び出し、当該プログラムを実行した後、リターン命令によって当該コール命令後に戻るものである。
これに対し、本実施形態では、CALLEX命令においてプログラムを呼び出し、当該プログラムを実行した後、RETEX命令によって当該CALLEX命令後に戻るものである。
以上の点について、より詳しく説明する。
図48は、従来のCALL命令及びRET命令の一例を示す図である。
この例では、第1プログラムの実行中に、第2プログラムを呼び出す例を示している。
第1プログラムの実行中に第2プログラムを呼び出す場合には、少なくとも、以下の処理を実行する必要がある。
「1」割込み管理処理
処理の煩雑化を防ぐため、第2プログラムの実行中は、割込み処理が実行されないようにする。
「2」SPレジスタ切替え処理
第2プログラムで用いるスタック領域は、第1プログラムで用いるスタック領域と異なるため、SPレジスタを切り替える必要がある。
「3」レジスタ管理処理
第2プログラムの実行中にレジスタを使用したときは、そのレジスタ値を引き継いで第1プログラムに戻らないようにする必要がある。
以上を遵守するため、図48で例示したプログラムには、以下に示す命令が含まれる。
まず、第1プログラムの実行中に第2プログラムを実行するときは、割込み処理を禁止する。割込み禁止命令は、図中、DI命令である。これが、上記「1」に対応する命令である。なお、割込み禁止命令であるDI命令と対をなすのが、割込み許可命令であるEI命令である。なお、DI命令ではマスカブル割込み処理を禁止することはできるが、ノンマスカブル割込み処理(NMI)を禁止することはできない。
DI命令の実行後、AFレジスタを退避するため、「PUSH AF」を実行する。この命令は、上記「3」に対応する命令である。なお、PUSH命令とは、スタック領域にデータを格納する命令である。すなわち、Aレジスタ値及びFレジスタ値をスタック領域に記憶する命令を実行する。
次の「CALL S_CHERR_CHK」命令は、第2プログラムの1つである「S_CHERR_CHK」(投入・払出しセンサ異常管理)を呼び出す命令である。この例では、第2プログラムとして「S_CHERR_CHK」を挙げている。
この「S_CHERR_CHK」(第2プログラム)を終了すると、「POP AF」命令により、退避していたAFレジスタを復帰させる。この命令は、スタック領域のデータを呼び出す命令であり、上記「3」に対応する命令である。次に、EI命令により、割込み処理を許可する(上記「1」に対応する命令)。
「S_CHERR_CHK」(第2プログラム)において、「LD (_SB_STACK2),SP」は、第1プログラム用のSPレジスタ値を第2スタック領域の所定の番地に退避(記憶)する命令(上記「2」に対応する命令)である。
次の「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」に対応する命令)。
そして、当該第2プログラムの実行後、レジスタ及びSPレジスタを復帰させる。「POP QI」により、Q及びIレジスタを復帰させる。さらに、「POP GPR」により、A、F、B、C、D、E、H、及びLレジスタを復帰させる(これらは、上記「3」に対応する命令)。
次に、「LD SP,(_SB_STACK2)」により、SPレジスタを復帰させる(上記「2」に対応する命令)。
そして、RETにより、CALL命令前の状態に戻す。
以上のようにして、一般的なコール/リターン命令では、上記「1」~「3」に対応する命令として、第1プログラムでは、
DI
PUSH AF
POP AF
EI
を実行する必要がある。
また、第2プログラムでは、
LD (),SP
PUSH GPR
PUSH QI
POP QI
POP GPR
LD SP,()
を実行する必要がある。
これに対し、本実施形態におけるCALLEX命令では、上述したように、割込みを禁止する処理と、レジスタバンクを0から1に切り替える処理とを含んでいる。したがって、CALLEX命令(1命令)によって第2プログラム領域内のプログラムを実行でき、割込み禁止命令(DI命令)やレジスタの退避命令(PUSH命令)を独立して設ける必要がない。
また、RETEX命令では、割込みをCALLEX命令前の状態にする処理と、レジスタバンクを1から0に切り替える処理とを含んでいる。したがって、RETEX命令(1命令)によって第1プログラム領域内のプログラムに戻ることができ、割込みを元に戻すための割込み許可命令(EI命令)や、レジスタを復帰させる命令(POP命令)を独立して設ける必要がない。
よって、プログラム容量を削減することが可能となる。
さらにまた、CALLEX命令及びRETEX命令により、第2プログラムを実行する直前の第1プログラムの割込み状態に戻ることができる。
したがって、CALLEX命令直前の状態が割込み許可状態であれば、第2プログラムの実行後、RETEX命令により、割込み許可状態の第1プログラムに戻ることができる。
一方、CALLEX命令直前の状態が割込み禁止状態であれば、第2プログラムの実行後、RETEX命令により、割込み禁止状態の第1プログラムに戻ることができる。
また、CALLEX命令が実行されると、レジスタバンクが0から1に切り替えられる。さらに、RETEX命令が実行されると、レジスタバンクが1から0に切り替えられる。
このため、CALLEX命令が実行されると、レジスタバンク0及び1のFレジスタのD3ビットは「0」から「1」に更新される。また、RETEX命令が実行されると、レジスタバンク0及び1のFレジスタのD3ビットは「1」から「0」に更新される。
なお、CALLEX命令が実行されたときは、レジスタバンク0又は1のいずれか一方のFレジスタのD3ビットが「0」から「1」に更新されるようにしてもよい。
また、レジスタバンク0及び1の各レジスタに記憶されているデータは、FレジスタのD3ビットを除き、CALLEX命令及びRETEX命令自体によって更新されることはない。
この点を具体例を挙げて説明する。
以下の説明において、レジスタバンク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)
この状態において、CALLEX命令が実行されると、それまでの0A、0B、0H、0Lレジスタを使用する状態から、1A、1B、1H、1Lレジスタを使用する状態に切り替わる。そして、CALLEX命令の直前及び直後で、0A、0B、0H、0L、1A、1B、1H、1Lレジスタの各レジスタ値は変化しない。上述したように、更新されるのはFレジスタのD3ビットだけである。
次に、第2プログラムの実行により、1A、1H、1Lレジスタが使用され、たとえば、
1Aレジスタ:00000011(B)
1Bレジスタ:00000011(B)
1Hレジスタ:11110001(B)
1Lレジスタ:00000000(B)
となったと仮定する。
そして、第2プログラムの終了に基づいてRETEX命令が実行されると、上記の1A、1B、1H、1Lレジスタの各値はそのままで、0A、0B、0H、0Lレジスタを使用する状態に切り替わる。この時点での0A、0B、0H、0Lレジスタの各値は、CALLEX命令直前の値、すなわち、
0Aレジスタ:00000001(B)
0Bレジスタ:00000000(B)
0Hレジスタ:11110001(B)
0Lレジスタ:00000001(B)
である。
なお、0Hレジスタ値は、CALLEX命令直前の値が維持されているものであり、1Hレジスタ値と入れ替わったわけではない。
そして、第1プログラムの実行により、たとえば0Aレジスタ値の「1」加算処理が実行されると、
0Aレジスタ:00000010(B)
となる。
以上より、特定レジスタ(たとえばAレジスタ)に着目すると、CALLEX命令直前の特定レジスタ値が「x」である場合、CALLEX命令の実行によって特定レジスタ値は「y」となる。これは、CALLEX命令によって特定レジスタ値が変化したわけではなく、使用する特定レジスタが、レジスタバンク0の特定レジスタからレジスタバンク1の特定レジスタに変わったためである。
そして、第2プログラム領域のプログラムが実行されることにより、特定レジスタが使用され、特定レジスタ値が「y」から「y’」に更新されたと仮定する。その後、RETEX命令が実行されると、使用する特定レジスタは、レジスタバンク1の特定レジスタからレジスタバンク0の特定レジスタに切り替わる。よって、RETEX命令直後の特定レジスタ値は、CALLEX命令直前の値、すなわち「x」になる。なお、RETEX命令の直後も、レジスタバンク1の特定レジスタ値は「y’」のままである。
上述したCALLEX命令及びRETEX命令は、具体的には、たとえば以下のように使用される。
図49は、第3実施形態におけるプログラム開始(M_PRG_START )を示すフローチャートである。図49中、第3実施形態特有のステップ番号にはアンダーラインを付している。
プログラム開始(M_PRG_START )は、電源投入後に最初に実行されるメイン制御基板50のプログラムであり、設定変更モードへの移行条件を満たすか否か、電源断復帰異常がないか否か等が判断される。
電源断復帰異常があると判断されたときは、ステップS2801の復帰不可能エラー処理(C_ERROR_STOP)又はステップS2731の初期化処理(M_INI_SET )に移行する。
また、設定変更モードへの移行が可能であると判断されたときはステップS2731の初期化処理に移行し、この初期化処理後、設定変更モードに移行可能となる。
一方、設定変更モードに移行せず、かつ電源断復帰異常がないと判断されたときはステップS2721の電源復帰処理(M_POWER_ON)に移行する。
図49において、プログラム開始(M_PRG_START )処理が開始されると、まず、ステップS2851において、第1に、レジスタバンク0のSPレジスタに初期値をセットする。電源投入時は、レジスタバンク0のSPレジスタ値は「0」である。ここでは、「LD SP,F200h」の命令により、レジスタバンク0のSPレジスタに「F200h」を記憶する。
ここで記憶される値「F200h」は、図44で示したように、第1スタック領域の最後のアドレスに「1」を加算した値となる。そして、レジスタバンク0のSPレジスタ値が「F200h」であるときは、「F1FFh」にデータを記憶する(積む)ことを示すものとなる。
また、ステップS2851では、第2に、「CALLEX 2000h」を実行する。なお、この例では、ステップS2852におけるRWMチェックサム算出命令の開始アドレスが「2000h」であるものとする。
次にステップS2852に進み、「CALLEX 2000h」に基づき第2プログラム(RWMチェックサム算出)を開始する。電源投入後に第2プログラムを最初に開始するときには、レジスタバンク1のSPレジスタに初期値をセットする。電源投入時は、レジスタバンク1のSPレジスタ値は「0」である。ここでは、「LD SP,F400h」の命令により、レジスタバンク1のSPレジスタに「F400h」を記憶する。
ここで記憶される値「F400h」は、図44で示したように、第2スタック領域の最後のアドレス「F3FFh」に「1」を加算した値となる。そして、レジスタバンク1のSPレジスタ値が「F400h」であるときは、「F3FFh」にデータを記憶する(積む)ことを示すものとなる。
さらに、RWMチェックサム算出を終了すると、RETEXを実行し、第1プログラム内のプログラム(命令)であって、ステップS2851のCALLEX後のプログラム(S2705)に戻る。そして、ステップS2075以降の処理に進む。ステップS2705以降の処理は、説明を省略する。
上記のように、第3実施形態では、CALLEX命令がレジスタ退避を含む命令であるので、別途、レジスタ退避命令(「PUSH AF」、「PUSH GPR」、及び「PUSH QI」)を定める必要がない。同様に、RETEX命令がレジスタ復帰を含む命令であるので、別途、レジスタ復帰命令(「POP AF」、「POP GPR」、及び「POP QI」)を定める必要がない。
また、電源投入後の最初の第2プログラムの実行時(ステップS2852)に、レジスタバンク1のSPレジスタに初期値「F400h」を記憶した後は、その後に第1プログラムに戻り、再度、第2プログラムを実行する際には、改めてレジスタバンク1のSPレジスタに初期値「F400h」を記憶する必要がない。
換言すると、電源投入時を起点として、第2プログラムの最初の実行時にはレジスタバンク1のSPレジスタに初期値「F400h」を記憶する処理(命令)を実行するが、それ以降の第2プログラムの実行時にはレジスタバンク1のSPレジスタに初期値「F400h」を記憶する処理(命令)を実行しなくてよい。これにより、第2プログラムの容量を削減することが可能となる。
ただし、これに限らず、第2プログラムの実行時ごとに、レジスタバンク1のSPレジスタに初期値「F400h」を記憶する処理(命令)を実行してもよい。あるいは、第2プログラムの実行時であって特定の条件を満たすときに、レジスタバンク1のSPレジスタに初期値「F400h」を記憶する処理(命令)を実行してもよい。
電源投入後の最初の第2プログラムの実行時に、レジスタバンク1のSPレジスタに初期値「F400h」を記憶し、第2プログラムを実行すると仮定する。そして、第2プログラムの実行中に、第2スタック領域にデータを記憶する場合、レジスタバンク1のSPレジスタ値が更新される。
上述したように、たとえば最初に2バイトのデータを第2スタック領域に記憶した場合には、レジスタバンク1のSPレジスタ値は「F400h」から「F3FEh」に更新される。その後、第2プログラムを終了するまでに第2スタック領域からデータが戻されるのが通常である。したがって、第2プログラムの終了時には、通常、レジスタバンク1のSPレジスタ値は「F400h」になっている。
第2プログラムが終了し、第1プログラムに戻ると、レジスタバンク0のSPレジスタが使用される。レジスタバンク0のSPレジスタ値は、第2プログラムに移行する直前の値を維持している。たとえば、第2プログラムに移行する直前のレジスタバンク0のSPレジスタ値が「F1FDh」であれば、第2プログラムを終了して第1プログラムに戻ると、レジスタバンク0のSPレジスタ値は「F1FDh」となる。
次に、CALLEX命令の利用方法(応用例)について説明する。
図50は、CALLEX命令及びJR命令(ジャンプ命令)を使用した例を示す図である。
上述したように、CALLEX命令は、呼び出すアドレスの範囲が「2000h」~「20FFh」であれば2バイトの命令とすることができるので、第1プログラムから第2プログラムを呼び出す際には、CALLEX命令をできるだけ多く使用すれば、それだけ、命令に係る記憶容量を節約することができる。
たとえば、「CALLEX 2000h」の命令を設け、この命令が実行されると、アドレス「2000h」に記憶されたプログラムが呼び出されるが、アドレス「2000h」からそのプログラムの記述(記憶)が開始され、そのプログラムがアドレス「2000h」~「20FDh」の多くを占めてしまうと、CALLEX命令を多く設けることができない。極論すれば、アドレス「2000h」からプログラムが開始され、当該プログラムがアドレス「20FFh」まで続くような場合、換言すればアドレス「2000h」~「20FFh」の範囲に1プログラムしか有さないときには、2バイトのCALLEX命令は1つしか設けることができなくなる。
そこで、図50の例では、アドレス「2000h」~「20FFh」の範囲には、JR(ジャンプ)命令を配置し、そのJR命令の飛ぶ先をアドレス「2000h」~「20FFh」の範囲外に指定し、かつ、JR命令の飛ぶ先に実際のプログラムを記憶するようにした。
たとえば、アドレス「2000h」には、「JR 2200h」を記憶しておく。なお、「JR 2200h」の命令である場合、アドレス「2200h」に飛ぶ(ジャンプする)ことを意味する。これにより、「CALLEX 2000h」が実行されると、アドレス「2000h」が呼び出されるが、アドレス「2000h」には「JR 2200h」が記憶されているので、さらにアドレス「2200h」にジャンプすることになる。そして、アドレス「2200h」以降に実際のプログラム(図50中、「プログラムA」)を記憶しておけば、実際のプログラム(プログラムA)をアドレス「2000h」~「20FFh」の範囲外に置くことができる。
なお、本実施形態では、「JR mn(mn=2000h~20FFh)」命令に要するコードサイズは3バイトである。このため、図50に示すように、
2000h JR mn1(図50の例では、mn1=2200h)
2003h JR mn2(図50の例では、mn2=2250h)
2006h JR mn3(図50の例では、mn3=22A0h)

のように、3バイト刻みでJR命令を配置している。
ただし、これに限らず、「JR mn(mn=2000h~20FFh)」命令に要するコードサイズが2バイトから構成可能である場合には、
2000h JR mn1
2002h JR mn2
2004h JR mn3

となる。
また、「JR mn(mn=2000h~20FFh)」命令に要するコードサイズが4バイトとなるような場合には、
2000h JR mn1
2004h JR mn2
2008h JR mn3

となる。
図50の例において、極論すれば、アドレス「2000h」~「20FFh」の範囲には、すべてJR命令を置くことも可能である。この場合には、
(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個記憶することが可能となる。
図50の例では、
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命令が10個しかないような場合には、1~9個目のCALLEX命令に対応するアドレスにはJR命令を記憶しておくが、10個目のCALLEX命令に対応するアドレスには、JR命令を使用せずに実際のプログラムを直接記憶しておいてもよい。
一方、CALLEX命令の数にかかわらず、アドレス範囲「2000h」~「20FFh」にはJR命令しか記憶しないように定め、JR命令(CALLEX命令)が上限の86個を大幅に下回っていても、アドレス「20FFh」より前の記憶領域は予備として空けておくようにしてもよい。
なお、上述したように、CALLEX命令では、アドレス「2000h」~「20FFh」の範囲内の呼び出しの場合はコードサイズが2バイトであり、アドレス「2000h」~「20FFh」の範囲外の呼び出しの場合はコードサイズが4バイトである。
したがって、「CALLEX命令2バイト+JR命令3バイト」であるので、合計5バイトとなり、アドレス「2000h」~「20FFh」の範囲外を呼び出すCALLEX命令のコードサイズ(4バイト)よりも大きくなる。
しかし、風営法規則に従う遊技機(回胴式遊技機やぱちんこ遊技機等)のチップにおいては、第1プログラム領域の記憶容量には余裕がなく、第2プログラム領域の記憶容量には余裕があるのが実情である。
したがって、第2プログラム領域に記憶するJR命令の3バイト分が増加しても、第1プログラム領域に記憶するCALLEX命令のコードサイズを2バイトにする方が、第1プログラム領域の効率的な使用の点では有利となる。
また、アドレス「20FFh」に近づく最後の方では、JR命令を設けることなく、プログラムそのものを記憶してもよい。
上述のように、アドレス「2000h」以降に3バイトのJR命令を順次配置した場合には、アドレス「20FFh」に「JR mn86」の命令を記憶することになる。なお、この場合には、アドレス「20FFh」~「2101h」の3バイト記憶領域に「JR mn86」の命令が記憶される。
しかし、アドレス「20FFh」以降の3バイト記憶領域にJR命令を記憶し、他の記憶領域に当該命令に対する実際のプログラムを記憶するよりも、アドレス「20FFh」から直接プログラムを記憶する方が、記憶容量の節約になる。
このため、図50に示す例では、アドレス「20FFh」にはJR命令を置かず、アドレス「20FFh」からプログラム(プログラムD)が記憶されるようにしている。
これにより、「CALLEX 20FFh」が実行されると、アドレス「20FFh」以降に記憶されているプログラムDが実行されることとなる。
なお、上記は、アドレス「20FFh」を例に挙げたが、アドレス「20FDh」や「20FEh」にJR命令を配置するようなケースについても当てはまる。
具体的には、アドレス「20FDh」~「20FFh」の3バイト記憶領域にJR命令を記憶し、かつ他の記憶領域にプログラムを記憶するよりも、アドレス「20FDh」以降に直接プログラムを記憶した方が記憶容量の節約の点で好ましいといえる。
同様に、アドレス「20FEh」~「2100h」の3バイト記憶領域にJR命令を記憶し、かつ他の記憶領域にプログラムを記憶するよりも、アドレス「20FEh」以降に直接プログラムを記憶した方が記憶容量の節約の点で好ましいといえる。
以上、本発明の第3実施形態について説明したが、本発明は、上記実施形態に限定されるものではなく、たとえば以下のような種々の変形が可能である。
(1)図42において、ROM54にはプログラム管理領域や未使用領域を備えたが、これに限らず、ROM54内には、少なくとも、第1プログラム領域、第1データ領域、第2プログラム領域、第2データ領域を備えるものであればよい。また、これらの各記憶領域に対し、図42では、先頭アドレス及び末尾アドレスを示したが、図42で示す記憶容量は一例であり、これに限られるものではない。したがって、図42で示した各記憶領域の先頭アドレス及び末尾アドレスも一例にすぎず、任意に設定可能である。
したがって、図42の例では、第2プログラム領域のアドレス範囲は「2000h」~「25FFh」であることから、CALLEX命令のコードサイズを2バイトとすることが可能なアドレス範囲として、「2000h」~20FFh」を例示したが、第2プログラム領域のアドレス範囲が変われば、CALLEX命令のコードサイズを2バイトとすることが可能なアドレス範囲も変わる。
たとえば、第2プログラム領域のアドレス範囲が「2150h」~「264Fh」である場合、CALLEX命令のコードサイズを2バイトとすることが可能なアドレス範囲は、「2150h」~224Fh」となる。
(2)図42の例では、ROM54内において、第1プログラム領域、第1データ領域、第2プログラム領域、第2データ領域の順に配置したが、これに限られるものではなく、たとえば第2プログラム領域及び第2データ領域が第1プログラム領域及び第1データ領域よりも先に配置されていてもよい。また、ROM54の先頭アドレス(図42中、第1プログラム領域の前)に、所定の管理領域等が配置されていてもよい。
RWM53についても同様に、作業領域及びスタック領域の順に配置されていることに限らず、スタック領域及び作業領域の順に配置されていてもよい。また、第1作業領域、第1スタック領域、第2作業領域、第2スタック領域の順に配置したが、これに限られるものではなく、たとえば第2作業領域及び第2スタック領域が第1作業領域及び第1スタック領域よりも先に配置されていてもよい。さらにまた、RWM53の先頭アドレス(図42中、第1作業領域の前)に、所定の管理領域等が配置されていてもよい。
(3)内蔵レジスタ領域において、各レジスタバンクには、それぞれメインレジスタとサブレジスタとを設けたが、これに限らず、少なくともメインレジスタを備えるものであればよい。
(4)図43において、FレジスタのD3ビットにレジスタバンクモニタを割り当てたが、これに限られるものではなく、どのビットに割り当ててもよい。たとえば第2ゼロフラグを使用しない場合には、D5ビットでもよい。
また、Fレジスタ内の特定ビットにレジスタバンクモニタを割り当てるのではなく、レジスタバンクモニタ専用のレジスタを設けることも可能である。
(5)図42の例では、第1データ領域のアドレス範囲を「1200h」~「1DF3h」とし、当該範囲内であれば「mn」の範囲を12ビットで表すことができると説明した。
ここで、
1200h=0000/0000/0000(B)
としたとき、
1111/1111/1111(B)=FFFh
である。
そして、
1200h+FFFh=21FFh
である。
このため、第1データ領域の範囲が「1200h」~「21FFh」の範囲内であれば、「mn」の範囲を12ビットで表すことができ、「LDF HL,mn」のコードサイズを2バイトで構成可能となる。
(6)図42に示す第1スタック領域、及び第2スタック領域のアドレス範囲及び大きさは一例であり、これに限られるものではない。たとえば第1スタック領域の範囲がアドレス「F1D0h」~「F2FFh」である場合には、図49のステップS2851では、「LD SP,F300h」となる。
(7)第3実施形態は、メダルレス遊技機に限らず、風営法上の回胴式遊技機や、ぱちんこ遊技機にも適用することができる。さらには、遊技球を用いるパロット、カジノマシンにも適用することができる。
(8)第1~第3実施形態、及び第1~第3実施形態で示した各種の変形例は、単独で実施されることに限らず、適宜組み合わせて実施することが可能である。
<第4実施形態>
第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を備えていない。
図51において、主制御基板50には、1チップマイクロプロセッサ500が設けられている。1チップマイクロプロセッサ500は、CPU(マイクロプロセッサ。図51では「主CPU501」と称する。)、ROM(リードオンメモリ)、及びRWM(リードライトメモリ)を1チップ化することにより外部からの不正なアクセスを遮断し、高いセキュリティ性を確保したものである。
図51において、主CPU501は、図29(第2実施形態)の「第1主制御CPU55」に相当する。ここで、図29における第1主制御CPU55は、遊技媒体数に関する制御を実行しなかった。第2実施形態において、遊技媒体数に関する制御は、遊技媒体数制御基板100に設けられた第2主制御CPU105によって実行した。
これに対し、第4実施形態では、上述したように遊技媒体数制御基板100、すなわち第2主制御CPU105は設けられていない。このため、第4実施形態では、主CPU501が遊技媒体数に関する制御を実行する。なお、主CPU501は、他の実施形態におけるメイン制御基板50上のCPU55(第1実施形態におけるメインCPU55、第2実施形態における第1主制御CPU55)と同様に、遊技の進行に関する制御(リールの駆動制御、役抽選等)、その他の制御(試験機に対する試験信号の出力制御、役比モニタ113の表示制御等)を行うことはもちろんである。
図51において、主制御ROM502は、遊技の進行に関する制御を行うためのプログラムやデータを記憶する記憶手段であり、主制御RWM503は、遊技の進行に関する制御を行う際にデータを一時的に記憶しておくための記憶手段である。
さらにまた、遊技媒体数制御ROM502は、遊技媒体数に関する制御(遊技媒体の付与数の算出、遊技媒体の付与処理等)を行うためのプログラムやデータを記憶する記憶手段であり、遊技媒体数制御RWM503は、遊技媒体数に関する制御を行う際にデータを一時的に記憶しておくための記憶手段である。
「遊技媒体数制御」とは、
(1)貸し出され若しくは入賞により獲得された遊技媒体(メダル等)を受け皿に送出するための制御(遊技媒体(メダル)が有体物である場合)、
又は、
(2)貸し出され若しくは入賞により獲得された遊技媒体数を示す信号を遊技媒体数表示装置(遊技球数表示装置又はメダル数表示装置)に送信するための制御(遊技媒体(メダル)が無体物である場合)
をいう。
遊技媒体数制御ROM504に記憶されているプログラム、並びに遊技媒体数制御ROM504及び遊技媒体数制御RWM505に記憶されているデータについては、遊技媒体数制御のみを行うために設けられており、遊技媒体数制御以外の制御を行うことはない。
なお、「遊技媒体数制御」は、「メダル数制御」と称する場合もある。この場合には「メダル数制御ROM」、「メダル数制御RWM」等と称される。ただし、第2実施形態でも説明したように、メダルレス遊技機は、有体物としてのメダルを用いない。このため、メダルレス遊技機における「メダル」とは、遊技の用に供する遊技媒体(遊技価値)を指す。したがって、「メダル」と称するときは、現行風営法上の回胴式遊技機で用いられるメダル(遊技メダル)を指す場合と、無体物としてのメダル(たとえば、電子データ)を指す場合とを有する。なお、無体物としてのメダルは、遊技媒体、遊技価値、得点(又は単に「点」)、電子メダル、電子データ、電子情報、電子遊技媒体、電子遊技価値等と称する場合がある。
さらに、「遊技媒体数制御」における「遊技媒体」は、風営法上のぱちんこ遊技機で用いられる遊技媒体(遊技球)を含むものである。換言すれば、第4実施形態における「遊技媒体数制御」は、ぱちんこ遊技機に適用可能であることはもちろんである。
現行の風営法規則では、「主制御基板50に装着されるROM及びRWMの総数は、すべての主基板を通じてそれぞれ1個を超えるものでないこと(ただし、遊技媒体数制御に規定するものを除く。)」と規定されている。
さらに、「主制御基板50に装着されるROM及びRWMであって、遊技媒体数制御のためのものの総数は、すべての主基板を通じてそれぞれ1個を超えるものでないこと」と規定されている。
よって、
主制御ROM502:1個
主制御RWM503:1個
遊技媒体数制御ROM504:1個
遊技媒体数制御RWM505:1個
と定められる。
なお、上記4個の記憶手段は、物理的に分離していることを意味するものではなく、後述するように、1つの内蔵メモリ内に設けられている。
使用領域外ROM506は、使用領域内ROMに記憶されるプログラム又はデータ以外の記憶手段であり、使用領域外RWM507は、使用領域内RWMに記憶されるデータ以外を記憶する記憶手段である。
ここで、「使用領域外」とは、遊技機10の試験に必要な信号の出力制御及び不正防止を目的として使用される記憶領域をいう。さらに、「不正防止を目的として使用される」プログラム及びデータとは、たとえば役比モニタ113の表示制御に必要なプログラム及びデータが挙げられる。使用領域外のROMやRWMに配置するプログラム及びデータは、遊技の公正を害さないものであることが必要である。
なお、「使用領域」以外の領域が「使用領域外」となり、「使用領域」は「使用領域内」とも称される。
したがって、主制御ROM502及び遊技媒体数制御ROM504は、使用領域内ROMである。
また、主制御RWM503及び遊技媒体数制御RWM505は、使用領域内RWMである。
以上の主制御ROM502、主制御RWM503、遊技媒体数制御ROM504、遊技媒体数制御RWM505、使用領域外ROM506、及び使用領域外RWM507は、1チップマイクロプロセッサ500内部の内蔵メモリとして設けられている。詳細は後述するが、これらのROM及びRWMは、アドレス順に所定の順序で並べられている。
換言すると、当該内蔵メモリ内に、主制御ROM502、主制御RWM503、遊技媒体数制御ROM504、遊技媒体数制御RWM505、使用領域外ROM506、及び使用領域外RWM507がそれぞれ分割して配置されている。
ただし、主制御ROM502、遊技媒体数制御ROM504、使用領域外ROM506については、それぞれが明示的に区分された領域に配置されている。
同様に、主制御RWM503、遊技媒体数制御RWM505、使用領域外RWM507についても、それぞれが明示的に区分された領域に配置されている。
第4実施形態では、第2実施形態のように遊技媒体数制御基板100が設けられていないことから、第2実施形態における遊技媒体数制御基板100に設けられていた総遊技媒体数クリアスイッチ112及び役比モニタ113は、主制御基板50に設けられている。なお、上述したように、役比モニタ113に所定の比率を表示するための制御は、使用領域外ROM506及び使用領域外RWM507に記憶されたプログラム及びデータに基づいて実行される。なお、総遊技媒体数クリアスイッチ112は、主制御基板50に直接設けられている場合だけでなく、主制御基板50と電気的に接続されている(たとえば、総遊技媒体数クリアスイッチ112を搭載した基板と主制御基板50とが電気的に接続されている)ように構成されていてもよい。
また、遊技媒体数表示基板(遊技媒体数表示装置)120は、第2実施形態では遊技媒体数制御基板100と電気的に接続されているが、第4実施形態では主制御基板50と電気的に接続されている。遊技媒体数表示部121に遊技媒体数を表示するための制御は、遊技媒体数制御ROM504及び遊技媒体数制御RWM505に記憶されたプログラム及びデータに基づいて実行される。
計数スイッチ47は、第2実施形態では遊技媒体数制御基板100と電気的に接続されているが、第4実施形態では主制御基板50と電気的に接続されている。
接続端子板130は、第2実施形態では遊技媒体数制御基板100と電気的に接続されているが、第4実施形態では主制御基板50と電気的に接続されている。
なお、第2実施形態の図29では、副制御基板80の副制御RWM83、副制御ROM84、及び副制御CPU85を図示しているが、これらは主制御基板50と同様に副制御基板80の1チップマイクロプロセッサに内蔵されているものである。このため、図51では、主制御基板50の1チップマイクロプロセッサ500と同様に、副制御基板80の1チップマイクロプロセッサ80aを図示している。
図52は、主制御基板50の1チップマイクロプロセッサ500内に設けられた内蔵メモリ(ROM及びRWM等)のメモリマップを示す図である。図52では、内蔵メモリのうち、本実施形態に係る部分のみを示しており、内蔵メモリのすべてを示しているわけではない。
なお、第3実施形態の図42中、「プログラム領域」と、図52等における「制御領域」は、称呼が異なるが、機能は同一である。
また、記憶領域の区分については後述するが、図52において、主制御ROM502及び遊技媒体数制御ROM504は使用領域のROMとし、これら以外に、使用領域外ROM506を設けている。同様に、主制御RWM503及び遊技媒体数制御RWM505は使用領域のRWMとし、これら以外に、使用領域外RWM507を設けている。
主制御ROM502及び遊技媒体数制御ROM504は、使用領域のROMであるので、遊技の進行に関係する(遊技媒体数の制御を含む)プログラム及びデータを記憶するための領域に相当する。これに対し、使用領域外ROM506は、使用領域外のROMであるので、遊技の進行に関係しないプログラム及びデータを記憶するための領域に相当する。特に本実施形態では、使用領域外ROM506は、役比モニタ113の表示制御に関するプログラム及びデータを記憶するための記憶領域、並びに試験信号の出力制御に関するプログラム及びデータを記憶するための記憶領域に相当する。
主制御ROM502、遊技媒体数制御ROM504、及び使用領域外ROM506の各記憶領域は、いずれも、制御領域とデータ領域とを備える。
ここで、「データ領域」とは、プログラム以外の情報のみが記憶され、又は記憶されることとなる記憶領域をいう。
第4実施形態では、主制御に関する記憶領域を「領域1」とし、遊技媒体数制御に関する記憶領域を「領域2」とし、使用領域外の記憶領域を「領域3」と称する。
ROMは、アドレス「0000h」~「2FFFh」の範囲を少なくとも有し、「16K」バイト以下の記憶領域を有する。この記憶領域中、主制御ROM502の制御領域1は「4.5K」バイト以下、データ領域1は「3.0K」バイト以下に設定されている。
また、遊技媒体数制御ROM504の記憶領域は、制御領域2及びデータ領域2の合計で「2.5K」バイト以下に設定されている。
さらに、RWM中、主制御RWM503の記憶領域であるRWM領域1は、制御領域1に記憶されたプログラム(遊技の進行に関するプログラム)の実行中に使用される(更新される、参照される)記憶領域である。同様に、遊技媒体数制御RWM505の記憶領域であるRWM領域2は、制御領域2に記憶されたプログラム(遊技媒体数の制御に関するプログラム)の実行中に使用される(更新される、参照される)記憶領域である。さらに、使用領域外RWM507の記憶領域であるRWM領域3は、制御領域3に記憶されたプログラムの実行中に使用される(更新される、参照される)記憶領域である。
RWMの領域は、全体として「1024K」バイト以下に設定されている。さらに、RWM領域1及びRWM領域2は、それぞれ「512K」バイト以下に設定されている。
主制御ROM502、遊技媒体数制御ROM504、及び使用領域外ROM506の各間には、未使用領域が介在していてもよく(図52の例)、あるいは主制御ROM502、遊技媒体数制御ROM504、及び使用領域外ROM506が連続するアドレスで配置されていてもよい。
同様に、主制御RWM503、遊技媒体数制御RWM505、及び使用領域外RWM507は連続するアドレスで配置されていてもよく(図52の例)、あるいは主制御RWM503、遊技媒体数制御RWM505、及び使用領域外RWM507の各間に未使用領域等が介在していてもよい。
また、内蔵メモリ内には、1つの内蔵レジスタ領域を備えている。さらにこの内蔵レジスタ領域には、レジスタバンク0とレジスタバンク1とを備える。レジスタバンク0及びレジスタバンク1は、図42(第3実施形態)で説明したレジスタバンク0及びレジスタバンク1と同様のものであり、それぞれのレジスタバンクには各種のレジスタ(図42(B)参照)を備える。
詳細は後述するが、レジスタバンク0又はレジスタバンク1の各レジスタは、制御領域1、制御領域2、又は制御領域3のいずれかに記憶されたプログラムを実行しているときに使用される。
具体的には、たとえば以下のように振り分けることが挙げられる。
(1)パターン1
レジスタバンク0:制御領域1に記憶されたプログラムを実行しているときに使用
レジスタバンク1:制御領域2及び制御領域3に記憶されたプログラムを実行しているときに使用
(2)パターン2
レジスタバンク0:制御領域1及び制御領域2に記憶されたプログラムを実行しているときに使用
レジスタバンク1:制御領域3に記憶されたプログラムを実行しているときに使用
(3)パターン3
レジスタバンク0:制御領域1及び制御領域3に記憶されたプログラムを実行しているときに使用
レジスタバンク1:制御領域2に記憶されたプログラムを実行しているときに使用
(4)その他のパターン
本実施形態では2つのレジスタバンクを設けているが、たとえばレジスタバンクを3つ(制御領域ごとに)設け、
レジスタバンク0:制御領域1に記憶されたプログラムを実行しているときに使用
レジスタバンク1:制御領域2に記憶されたプログラムを実行しているときに使用
レジスタバンク2:制御領域3に記憶されたプログラムを実行しているときに使用
とすることも可能である。
また、図52に示すように、RWM領域1、RWM領域2、RWM領域3には、それぞれ固有のスタック領域1、スタック領域2、スタック領域3が設けられている。主制御ROM502のプログラムはスタック領域1を利用し、遊技媒体数制御ROM504のプログラムはスタック領域2を利用し、使用領域外ROM506のプログラムはスタック領域3を利用する。そして、主制御ROM502のプログラム、遊技媒体数制御ROM504のプログラム、及び使用領域外ROM506のプログラムは、それぞれ、スタック領域を共用しないように構成されている。具体的には、たとえば主制御ROM502のプログラムと遊技媒体数制御ROM504のプログラムとでスタック領域1を共用するようなことはしない。
さらに、主制御ROM502のプログラム、遊技媒体数制御ROM504のプログラム、及び使用領域外ROM506のプログラムは、いずれも、対応するスタック領域(たとえば主制御ROM502のプログラムではスタック領域1)以外のスタック領域を使用しないように構成されている。具体的には、たとえば主制御ROM502のプログラムがスタック領域3を使用するようなことはしない。
以上説明したように、第4実施形態では、
(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のスタック領域を指す
ものとする。
図53は、主制御領域、遊技媒体数制御領域、使用領域外領域の区分例を示す図であり、(A)は例1を示し、(B)は例2を示す。
図中(A)の例1では、主制御領域内には使用領域外を設けないようにしたものである。換言すれば、主制御領域及び遊技媒体数制御領域の外部に使用領域外を設けたものである。
この場合には、
(1)主制御領域
遊技の進行に関するプログラム及びデータを記憶するための記憶領域(主制御ROM502及び主制御RWM503)を含み、遊技機10の試験に必要な信号の出力制御及び不正防止を目的として使用される記憶領域(使用領域外ROM506及び使用領域外RWM507)を含まない。
(2)遊技媒体数制御領域
遊技媒体数の制御に係るプログラム及びデータを記憶するための記憶領域(遊技媒体数制御ROM504、遊技媒体数制御RWM505)
(3)使用領域外領域
遊技機10の試験に必要な信号の出力制御及び不正防止を目的として使用される記憶領域(使用領域外ROM506及び使用領域外RWM507)
となる。
また、図中(B)の例2では、主制御領域に、使用領域及び使用領域外を設けたものである。なお、遊技媒体数制御領域は、使用領域のみであり、使用領域外を有さない。上述したように、遊技媒体数制御領域は、遊技媒体数に係る制御のみを実行するためのプログラム及びデータを記憶する記憶領域であるためである。さらに、主制御領域及び遊技媒体数制御領域の外部に使用領域外を有さない。
この場合には、
(1)主制御領域
遊技の進行に関するプログラム及びデータを記憶するための記憶領域(主制御ROM502及び主制御RWM503)、及び遊技機10の試験に必要な信号の出力制御及び不正防止を目的として使用される記憶領域(使用領域外ROM506及び使用領域外RWM507)
(2)遊技媒体数制御領域
遊技媒体数の制御に係るプログラム及びデータを記憶するための記憶領域(遊技媒体数制御ROM504、遊技媒体数制御RWM505)
となる。
図54は、主制御領域(使用領域、使用領域外)及び遊技媒体数制御領域間における通信を示す図である。図54の例では、図53(B)の例2による記憶領域の区分をしている。すなわち、主制御領域内に使用領域と使用領域外とを備える。
主制御基板50に搭載される1チップマイクロプロセッサ500の1個の主CPU501におけるプログラムの実行は、主制御ROM502の制御領域1のプログラムを主とする。また、遊技媒体数制御ROM504の使用領域のプログラム及び使用領域外ROM506の領域のプログラムは、主制御ROM502の制御領域1のプログラムから、予め定められたアドレスを(換言すれば、「静的に」)呼び出された上で実行される。その際のプログラムリストにおいては、呼出し先アドレスが明らかに記載されているように構成されている。
また、遊技媒体数制御ROM504のプログラム及び使用領域外ROM506のプログラムは、機能ごとにモジュール化されており、主制御ROM502のプログラムによって呼び出された際には、主制御ROM502のプログラムで利用している全レジスタ(「全レジスタ」とは、複数のレジスタを指すため、「複数のレジスタ」とも称する。以下同じ。)が保護されるように構成されている。全レジスタを保護する場合には、以下の方法が挙げられる。
(1)第1の方法
主制御ROM502のプログラムで使用するレジスタバンクと、遊技媒体数制御ROM504のプログラム及び使用領域外ROM506のプログラムで使用するレジスタバンクとを異ならせる。換言すれば、主制御ROM502のプログラムから、遊技媒体数制御ROM504のプログラム又は使用領域外ROM506のプログラムを呼び出し、遊技媒体数制御ROM504のプログラム又は使用領域外ROM506のプログラムを実行する場合には、レジスタバンクを切り替える。
(2)第2の方法
主制御ROM502のプログラムで使用するレジスタバンクと、遊技媒体数制御ROM504のプログラム又は使用領域外ROM506のプログラムで使用するレジスタバンクとを同一にする。この場合には、主制御ROM502のプログラムから遊技媒体数制御ROM504のプログラム又は使用領域外ROM506のプログラムを呼出して実行する際に、全レジスタの退避命令を実行する。
全レジスタを保護するプログラムについては後述する。
主制御領域の使用領域において、制御領域1に記憶されたプログラムは、データ領域1に記憶されたデータを参照可能である。また、制御領域1に記憶されたプログラムは、RWM領域1に記憶されたデータを参照・更新可能である。
同様に、制御領域2に記憶されたプログラムは、データ領域2に記憶されたデータを参照可能であり、RWM領域2に記憶されたデータを参照・更新可能である。
さらに、制御領域3に記憶されたプログラムは、データ領域3に記憶されたデータを参照可能であり、RWM領域3に記憶されたデータを参照・更新可能である。
一方、制御領域1のプログラムは、制御領域2のプログラムを呼び出すことが可能であり、制御領域3のプログラムを呼び出すことが可能である。具体的には、制御領域1のプログラムのCALLEX命令又はCALL命令に基づいて、制御領域2のプログラムを呼び出し、実行することが可能である。また、制御領域2のプログラムのRETEX命令又はRET命令に基づいて、制御領域2の当該プログラムの実行後に、制御領域1のプログラムの当該CALLEX命令又はCALL命令直後に復帰することが可能である。
同様に、制御領域1のプログラムのCALLEX命令又はCALL命令に基づいて、制御領域3のプログラムを呼び出し、実行することが可能である。また、制御領域3のプログラムのRETEX命令又はRET命令に基づいて、制御領域3の当該プログラムの実行後に、制御領域1のプログラムの当該CALLEX命令又はCALL命令直後に復帰することが可能である。
これに対し、制御領域2のプログラムから制御領域1のプログラム(サブルーチン)を呼び出したり、制御領域2のプログラムから制御領域3のプログラム(サブルーチン)を呼び出すことはできないように構成されている。仮に、制御領域2のプログラムから制御領域1又は制御領域3のプログラム(サブルーチン)の呼出しを可能にすると、プログラムの構成が煩雑になるためである。また、主制御ROM502及び遊技媒体数制御ROM504の記憶容量に上限を設けた趣旨から逸脱するおそれがあるためである。
同様に、制御領域3のプログラムから制御領域1のプログラム(サブルーチン)を呼び出したり、制御領域3のプログラムから制御領域2のプログラム(サブルーチン)を呼び出すことはできないように構成されている。仮に、制御領域3のプログラムから、制御領域1又は制御領域2のプログラム(サブルーチン)の呼出しを可能にすると、プログラムの構成が煩雑になるためである。また、主制御ROM502及び遊技媒体数制御ROM504の記憶容量に上限を設けた趣旨から逸脱するおそれがあるためである。
さらにまた、制御領域1のプログラムにより、データ領域2のデータを直接参照することはできない。この場合には、制御領域1のプログラムから制御領域2のプログラムを呼び出し、制御領域2のプログラムによってデータ領域2のデータを参照する。
同様に、制御領域1のプログラムにより、データ領域3のデータを直接参照することはできない。この場合には、制御領域1のプログラムから制御領域3のプログラムを呼び出し、制御領域3のプログラムによってデータ領域3のデータを参照する。
さらに、制御領域1のプログラムにより、RWM領域2のデータを更新することはできないが、RWM領域2のデータを参照することは可能であるように構成されている。
同様に、制御領域2のプログラムにより、RWM領域1のデータを更新することはできないが、RWM領域1のデータを参照することは可能であるように構成されている。
また、制御領域1のプログラムにより、RWM領域3のデータを更新することはできないが、RWM領域3のデータを参照することは可能であるように構成されている。
同様に、制御領域3のプログラムにより、RWM領域1のデータを更新することはできないが、RWM領域1のデータを参照することは可能であるように構成されている。
さらにまた、制御領域2のプログラムにより、RWM領域3のデータを更新することはできないが、RWM領域3のデータを参照することは可能であるように構成されている。
同様に、制御領域3のプログラムにより、RWM領域2のデータを更新することはできないが、RWM領域2のデータを参照することは可能であるように構成されている。
以上のように、制御領域「N」(「N」は、「1」、「2」、又は「3」のいずれか)のプログラムにより、RWM領域「M」(「M」は、「N」以外とする。)のデータを更新することができないように(参照は可能に)構成されている。
仮に、制御領域「N」のプログラムにより、RWM領域「M」のデータを更新可能とすると、図52に示すように、RWM領域1及びRWM領域2の容量の上限を「512K」バイトと定めた趣旨から逸脱してしまうことになるためである。
また、制御領域1のプログラムの使用量削減のため、制御領域2又は制御領域3に、共通の汎用サブルーチンを設けないように構成されている。制御領域1のプログラムで使用可能な汎用サブルーチンを制御領域2又は制御領域3に設けると、制御領域1に記憶されるべきプログラムを実質的に制御領域2又は制御領域3に記憶可能となってしまい、制御領域1の記憶容量に上限(「4.5K」バイト以下)を設けた趣旨から逸脱してしまうおそれがあるためである。
さらにまた、制御領域1、制御領域2、及び制御領域3の各プログラムのモジュールは、必ずサブルーチン形式で呼び出し、サブルーチン終了後はRETEX命令又はRET命令により呼出し直後に戻るように構成されている。さらに、モジュールは、目的ごとに1つ設けられる。このように構成することにより、プログラムの構成の明確化を図ることができる。
なお、「モジュール」とは、目的ごとのプログラムのまとまりを指す。
また、「サブルーチン」とは、CALLEX命令やCALL命令等によりメインルーチンから呼び出され、RETEX命令又はRET命令等により必ず呼出し直後に戻るプログラムのまとまりを指す。したがって、サブルーチンは、モジュールの下位概念であるといえる。
続いて、制御領域1、制御領域2、及び制御領域3のプログラムの具体例を説明する。
以下の図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に切り替える(戻す)必要がある。
なお、制御領域1のプログラム以外のプログラム(制御領域2のプログラムや制御領域3のプログラム)の実行中は、割込み処理が入ることにより他の領域のRWM領域のデータが更新されないように、割込み処理が禁止される。
また、禁止することができない割込み(NMI)は使用しないように構成されている。
図55において、制御領域1のプログラムは、以下の通りである。
最初の「ORG 0000h」は、制御領域1の先頭アドレスが「0000h」であることを示す。
次の「M1_aaaaa」は、制御領域1の最初のプログラムを示す。
このプログラムにおいて、最初の「LD SP,@STACK1」は、SPレジスタ(スタックポインタレジスタ。ここでは、レジスタバンク0のSPレジスタを指す。)にスタック1をセットすることを示す。スタック1の初期値(@STACK1)は、図55に示すように「F200h」であり、この値をレジスタバンク0のSPレジスタに書き込む。
「CALLEX M2_nnnnn」は、プログラム「M2_nnnnn」を呼び出す命令である。この例では、プログラム「M2_nnnnn」は、制御領域2に記憶されている。
「CALLEX mn」の命令が実行されると、
(1)その時点において割込み許可状態であるか割込み禁止状態であるかにかかわらず、割込みを禁止し、
(2)レジスタバンクをレジスタバンク0からレジスタバンク1に切り替え、
(3)指定されるアドレスにコールする(呼び出す)
ことを実行する。
このように、第1制御領域のプログラムから第2制御領域又は第3制御領域のプログラムを実行する際に、CALLEX命令を実行することによって、第2制御領域又は第3制御領域のプログラムを実行可能とする。
ここで、一般的なCALL命令を用いるのではなくCALLEX命令を用いているのは、制御領域1のプログラム「M1_aaaaa」から制御領域2のプログラム「M2_nnnnn」を呼び出す(実行する)ので、レジスタバンクを切り替える必要があるためである。
換言すると、制御領域1のプログラムの実行時と制御領域2のプログラムの実行時とで、異なるレジスタバンク(異なるレジスタ)を用いることにより、制御領域2のプログラムの終了後、制御領域1のプログラムに復帰したときに、制御領域2のプログラムの呼出し直前のレジスタ値に戻すことができる。
また、CALLEX命令は、上述したように、対象となるプログラムを呼び出す前に割込みが禁止されることから、DI(割込み禁止)命令を設けていない。
また、CALLEX命令により他のプログラムが実行され、当該他のプログラムの終了時に実行されるRETEX命令には割込みを許可する命令を含むので、当該他のプログラムの終了時にはEI(割込み許可)命令を設けていない。
「CALLEX M2_nnnnn」の実行により、制御領域2の「M2_nnnnn」の先頭アドレスに飛ぶ。なお、制御領域2のプログラムの冒頭にある「ORG 2000h」は、制御領域2の先頭アドレスが「2000h」であることを示す。
制御領域2のプログラム「M2_nnnnn」において、先頭アドレスの「LD SP,@STACK2」は、SPレジスタ(ここでは、レジスタバンクが切り替えられた後、すなわちレジスタバンク1のSPレジスタを意味する。)にスタック2をセットすることを示す。スタック2の初期値(@STACK2)は、図55に示すように「F300h」であり、この値をレジスタバンク1のSPレジスタに書き込む。
次の「CALL M2_ooooo」は、プログラム「M2_ooooo」を呼び出す命令である。プログラム「M2_ooooo」は、制御領域2(同一領域)に記憶されている。ここで、同一の制御領域2内のプログラム「M2_ooooo」の呼出しであることから、レジスタバンクを切り替える必要はない。このため、CALLEX命令ではなくCALL命令を用いている(CALL命令では、CALLEX命令と異なり、レジスタバンクは切り替わらない。)。図55の例1では、制御領域2及び制御領域3のプログラムを実行する場合には、いずれもレジスタバンク1を使用する。そして、レジスタバンク0からレジスタバンク1への切替えは、上述した「CALLEX M2_nnnnn」によって実行済みである。
プログラム「M2_ooooo」を終了(RET命令)した後にRETEX命令を実行する。このRETEX命令は、制御領域1のプログラムで実行された「CALLEX M2_nnnnn」に対応する命令である。
RETEX命令は、
(1)割込み状態をCALLEX命令前の状態にし、
(2)レジスタバンクをレジスタバンク1からレジスタバンク0に切り替え、
(3)リターン(RET)する(「CALLEX M2_nnnnn」の次の命令(戻り番地のプログラム))に戻る)
ことを実行する。
一方、RET命令は、RETEX命令とは異なり、割込み状態を変化させない。また、レジスタバンクの切替えを行わない。
これにより、再度、制御領域1のプログラムに戻る。
なお、CALLEX命令時の状態が割込み許可状態であるときは、RETEX命令によって割込み許可状態となる。一方、CALLEX命令時の状態が割込み禁止状態であるときは、RETEX命令によって割込み禁止状態となる。
以上のプログラムの流れにおいて、たとえばレジスタバンク0及びレジスタバンク1のSPレジスタは、以下のようになる。
制御領域1のプログラム「M1_aaaaa」において、「LD SP,@STACK1」により、
SP=F200h(レジスタバンク0)
となる。
次に何らかのプログラムが実行され、スタック領域1にたとえば2バイトデータが積まれると、
SP=F1FEh(レジスタバンク0)
に更新される。
このSPレジスタ値の状態で「CALLEX M2_nnnnn」が実行されると、制御領域2におけるプログラム「M2_nnnnn」の「LD SP,@STACK2」により、
SP=F300h(レジスタバンク1)
となる。
そして、制御領域2のプログラム「M2_ooooo」の実行により、スタック領域2にたとえば4バイトのスタックが詰まれると、
SP=F2FCh(レジスタバンク1)
に更新される。
このSPレジスタ値の状態でプログラム「M2_ooooo」が終了し、RETEX命令により制御領域1のプログラムに戻ると、制御領域1のプログラムで使用するレジスタバンクはレジスタバンク0となり、その時点におけるSPレジスタ値は「F1FEh」となる。
なお、制御領域2のプログラム「M2_ooooo」が終了し、RETEX命令により制御領域1のプログラムに戻ったときでも、レジスタバンク1のSPレジスタ値は「F2FCh」のままである。
次に、制御領域1におけるプログラム「M1_aaaaa」において、「CALLEX M3_xxxxx」は、プログラム「M3_xxxxx」を呼び出す命令である。この例では、プログラム「M3_xxxxx」は、制御領域3に記憶されている。
なお、この「CALLEX M3_xxxxx」により、再度、レジスタバンクは、レジスタバンク0からレジスタバンク1に切り替えられる。
「CALLEX M3_xxxxx」の実行により、制御領域3の「M3_xxxxx」の先頭アドレスに飛ぶ。なお、制御領域3の冒頭にある「ORG 2A00h」は、制御領域3の先頭アドレスが「2A00h」であることを示す。
制御領域3のプログラム「M3_xxxxx」において、「LD SP,@STACK3」は、SPレジスタ(ここでは、レジスタバンク1のSPレジスタを意味する。)にスタック3をセットすることを示す。スタック3の初期値(@STACK3)は、図55に示すように「F400h」であり、この値をレジスタバンク1のSPレジスタに書き込む。よって、上述したように、「LD SP,@STACK3」の直前におけるレジスタバンク1のSPレジスタ値は「F2FCh」であるが、この値が「F400h」に上書きされる。
次の「CALL M3_yyyyy」は、プログラム「M3_yyyyy」を呼び出す命令である。プログラム「M3_yyyyy」は、制御領域3に記憶されている。上記と同様に、このCALL命令では、レジスタバンクは切り替わらない。
そして、プログラム「M3_yyyyy」が終了(RET命令)した後にRETEX命令により、割込み状態を「CALLEX M3_xxxxx」命令前の状態にし、レジスタバンクをレジスタバンク1からレジスタバンク0に切り替え、リターン(RET)する。これにより、「CALLEX M3_xxxxx」の次の命令(戻り番地のプログラム)に戻る。
以上のようにして、制御領域1のプログラムから制御領域2又は制御領域3のプログラムに飛ぶときは、CALLEX命令によってレジスタバンクが切り替えられる。これにより、制御領域1のプログラムで使用していたレジスタバンク0の各レジスタは保護される。
一方、例1では、制御領域2のプログラム「M2_nnnnn」が実行された後、制御領域3のプログラム「M3_xxxxx」が実行される。そして、制御領域2のプログラムと制御領域3のプログラムでは、いずれも、レジスタバンク1が使用される。このため、制御領域2のプログラムで使用されたレジスタ値が、制御領域3のプログラムの実行により変わるおそれがある。
制御領域2のプログラムと制御領域3のプログラムとの往来で、レジスタ値を保護する必要がない場合には、レジスタ値を保護するための命令は不要である。これに対し、制御領域2のプログラムの実行後に制御領域3のプログラムを実行したとき、あるいは制御領域3のプログラムの実行後に制御領域2のプログラムを実行したときに、レジスタ値が変化しないようにレジスタを保護する場合には、制御領域2におけるプログラム「CALL M2_ooooo」の前後、あるいは制御領域3におけるプログラム「CALL M3_yyyyy」の前後に、レジスタを保護する命令を加える。
具体的には、
制御領域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が該当する。
図56は、制御領域1、制御領域2、及び制御領域3のプログラムの例2を示す図である。例2では、制御領域1及び制御領域2のプログラムはレジスタバンク0を使用し、制御領域3のプログラムはレジスタバンク1を使用する。したがって、制御領域1のプログラムから制御領域2のプログラムを呼び出して実行する場合には、レジスタバンク0のままである。これに対し、制御領域1のプログラムから制御領域3のプログラムを呼び出して実行する場合にはレジスタバンクをレジスタバンク0からレジスタバンク1に切り替える。そして、制御領域3のプログラムを終了し、制御領域1のプログラムに復帰する場合には、レジスタバンクをレジスタバンク1からレジスタバンク0に切り替える(戻す)。
図56において、制御領域1のプログラムは、以下の通りである。
最初の「ORG 0000h」は、例1と同様である。
「M1_aaaaa」は、制御領域1の先頭アドレスのプログラムを示す。
このプログラムにおいて、「LD SP,@STACK1」は、例1と同様に、SPレジスタにスタック1をセットする命令である。
その後、制御領域2のプログラム「M2_nnnnn」を実行するが、制御領域1のプログラムと制御領域2のプログラムとはいずれもレジスタバンク0を使用するので、レジスタバンクの切替えを伴うCALLEX命令は用いない。換言すると、この場合にはCALL命令を用いる。CALL命令ではレジスタバンクの切替えは行われない。
制御領域1のプログラムの実行中に制御領域2のプログラムを実行するときは、割込み処理を禁止する。割込み禁止命令は、図中、DI命令である。
DI命令の実行後、AFレジスタを退避する(スタック領域に格納する)ため、「PUSH AF」を実行する。その後、「CALL M2_nnnnn」により、制御領域2のプログラム「M2_nnnnn」を実行する。
ここで、AFレジスタを退避させる理由は、以下の通りである。制御領域2のプログラム「M2_nnnnn」に飛ぶと、後述するように、スタックポインタをセットする命令「LD SP,@STACK2」が実行される。このLD命令が実行されると、フラグ(F)レジスタの第2ゼロフラグ(図43参照)の値が変化してしまうか、変化してしまうおそれがある。そこで、制御領域2のプログラムに飛ぶ前に、AFレジスタを退避させている。
制御領域2の冒頭の「ORG 2000h」は、例1と同様である。
制御領域2の「M2_nnnnn」において、「LD (BF_STACK),SP」は、スタックポインタを退避する命令である。この処理は、現在のSPレジスタ値を、図52に示すRWM領域2の所定の記憶領域(BF_STACK)に記憶する処理に相当する。制御領域1のプログラムと制御領域2のプログラムとで同一のレジスタバンク0を使用するため、制御領域1のプログラムから制御領域2のプログラムに飛んだときに、制御領域1のプログラムを実行していたときのスタックポインタを退避させ、かつ、制御領域2のプログラムのためのスタックポインタをセットするためである。
換言すると、CALL命令によってレジスタバンクの切替えが行われず、制御領域1のプログラムと制御領域2のプログラムとで同一のレジスタバンクのレジスタ(たとえばSPレジスタ)を使用することになるため、「LD (BF_STACK),SP」によってレジスタを退避させないと、制御領域1のプログラムで使用していたレジスタポインタが、制御領域2のプログラムの実行によって書き換えられてしまい、制御領域2のプログラムの終了後に制御領域1のプログラムに復帰したときに、制御領域1のプログラムでの正しいスタックポインタを指定できなくなってしまうからである。
次の「LD SP,@STACK2」は、上記例1と同様に、SPレジスタにスタック2(F300h)をセットすることを示す。
「PUSH ALL」は、上述のように、全レジスタを退避する命令である。
次の「CALL M2_ooooo」は、プログラム「M2_ooooo」を呼び出す命令である。プログラム「M2_ooooo」は、制御領域2に記憶されている。通常のCALL命令では、レジスタバンクは切り替わらないので、プログラム「M2_ooooo」の実行中もレジスタバンク0のままである。
プログラム「M2_ooooo」を終了すると、「POP ALL」により、退避していた全レジスタを復帰させる。
次の「LD SP,(BF_STACK)」は、退避していたスタックポインタを復帰する命令である。この処理は、図52に示すRWM領域2の所定の記憶領域(BF_STACK)に記憶していたデータをSPレジスタに記憶する(SPレジスタ値にする)処理に相当する。これにより、スタックポインタは、「LD (BF_STACK),SP」の命令前の値、換言すれば、制御領域1のプログラムが実行されていたときの値に戻る。
その後、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」を記憶する。
次に、「LD SP,@STACK2」により、
SP=F300h(レジスタバンク0)
となる。
よって、SPがそれまでの「F1FFh」から「F300h」に更新される。
そして、プログラム「M2_ooooo」の実行により、たとえば2バイトのスタックが積まれると、
SP=F2FEh(レジスタバンク0)
に更新される。
次に、プログラム「M2_ooooo」を終了し、「LD SP,(BF_STACK)」が実行されると、上記所定の記憶領域に記憶されている「F1FFh」を読み込み、SPに記憶(上書き)する。換言すると、SPはそれまでの「F2FEh」から「F1FFh」に更新される。
よって、
SP=F1FFh(レジスタバンク0)
となる。
次に、制御領域1のプログラムにおいて、「CALLEX M3_xxxxx」の実行により、制御領域3の「M3_xxxxx」に飛ぶ。また、このCALLEX命令により、割込みが禁止されるとともに、レジスタバンクがレジスタバンク0からレジスタバンク1に切り替えられる。
制御領域3の冒頭にある「ORG 2A00h」は、例1と同じである。
制御領域3の「M3_xxxxx」において、「LD SP,@STACK3」では、SPレジスタ(レジスタバンク1のSPレジスタ)にスタック3(F400h)をセットする。
次の「CALL M3_yyyyy」は、プログラム「M3_yyyyy」を呼び出す命令である。プログラム「M3_yyyyy」は、制御領域3に記憶されている。上記と同様に、このCALL命令では、レジスタバンクは切り替わらない。
そして、プログラム「M3_yyyyy」が終了(RET命令)した後にRETEX命令により、割込み状態を「CALLEX M3_xxxxx」命令前の状態にし、レジスタバンクをレジスタバンク1からレジスタバンク0に切り替え、リターン(RET)する。これにより、「CALLEX M3_xxxxx」の次の命令(戻り番地のプログラム)に戻る。
図57は、制御領域1、制御領域2、及び制御領域3のプログラムの例3を示す図である。例3では、制御領域1及び制御領域3のプログラムはレジスタバンク0を使用し、制御領域2のプログラムはレジスタバンク1を使用する。したがって、制御領域1のプログラムから制御領域3のプログラムを呼び出して実行する場合にはレジスタバンク0のままである。これに対し、制御領域1のプログラムから制御領域2のプログラムを呼び出して実行する場合にはレジスタバンクをレジスタバンク0からレジスタバンク1に切り替える。そして、制御領域2のプログラムを終了し、制御領域1のプログラムに復帰する場合には、レジスタバンクをレジスタバンク1からレジスタバンク0に切り替える(戻す)。
図56において、制御領域1のプログラムは、以下の通りである。
最初の「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)をセットする命令である。
次の「CALL M2_ooooo」は、プログラム「M2_ooooo」を呼び出す命令である。プログラム「M2_ooooo」は、制御領域2に記憶されている。CALL命令では、レジスタバンクは切り替わらない。
プログラム「M2_ooooo」を終了(RET命令)した後にRETEX命令を実行する。RETEX命令により、割込み状態をCALLEX命令前の状態にし、レジスタバンクをレジスタバンク1からレジスタバンク0に切り替え、リターン(RET)する。これにより、制御領域1の「CALLEX M2_nnnnn」の次の命令(戻り番地のプログラム)に戻る。そして、再度、第1制御領域内のプログラムを実行可能とする。
制御領域1において、プログラム「M2_nnnnn」の実行後、制御領域3のプログラム「M3_xxxxx」を実行する。
制御領域1のプログラムと制御領域3のプログラムとはいずれもレジスタバンク0を使用するので、レジスタバンクの切替えを伴うCALLEX命令は用いない。
制御領域1のプログラムの実行中に制御領域3のプログラムを実行するときは、まず、DI命令により割込み処理を禁止する。
DI命令の実行後、「PUSH AF」命令によりAFレジスタを退避する(スタック領域に格納する)。その後、「CALL M3_xxxxx」により、制御領域3のプログラム「M3_xxxxx」を実行する。
制御領域3の冒頭にある「ORG 2A00h」は、例1と同じである。
制御領域3の「M3_xxxxx」において、「LD (BF_STACK),SP」は、スタックポインタを退避する命令である。この処理は、現在のSPレジスタ値を、図52に示すRWM領域3の所定の記憶領域(BF_STACK)に記憶する処理に相当する。制御領域1のプログラムと制御領域3のプログラムとで同一のレジスタバンク0を使用するため、制御領域1のプログラムから制御領域3のプログラムに飛んだときに、制御領域1のプログラムを実行していたときのスタックポインタを退避させ、かつ、制御領域3のプログラムのためのスタックポインタをセットするためである。
「LD SP,@STACK3」は、上記例1と同様に、SPレジスタにスタック3(F400h)をセットすることを示す。
次に、「PUSH ALL」により、全レジスタを退避する。
次の「CALL M3_yyyyy」は、プログラム「M3_yyyyy」を呼び出す命令である。プログラム「M3_yyyyy」は、制御領域3に記憶されている。CALL命令では、レジスタバンクは切り替わらないので、プログラム「M3_yyyyy」の実行中もレジスタバンク0のままである。
プログラム「M3_yyyyy」を終了すると、「POP ALL」により、退避していた全レジスタを復帰させる。
次の「LD SP,(BF_STACK)」は、退避していたスタックポインタを復帰する命令である。この処理は、図52に示すRWM領域3の所定の記憶領域(BF_STACK)に記憶していたデータをSPレジスタに記憶する(SPレジスタ値にする)処理に相当する。これにより、スタックポインタは、「LD (BF_STACK),SP」の命令前の値、換言すれば、制御領域1のプログラムが実行されていたときの値に戻る。
その後、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命令のコードサイズは、第3実施形態と同じであるが、改めて説明する。
CALLEX命令において、アドレス「2000h」~「20FFh」の範囲を呼び出す場合の「CALLEX mn」のコードサイズは2バイトとなり、アドレス「2000h」~「20FFh」以外の範囲を呼び出す場合の「CALLEX mn」のコードサイズは、4バイトとなるように構成されている。
アドレス「2000h」~「20FFh」の範囲は、「FFh」、すなわち1バイトである。この場合に、アドレス値「2000h」のコード値を「0h」にする。これにより、アドレス値「20FFh」を呼び出すときのコード値を「FFh」にすることができるので、アドレス「2000h」~「20FFh」の範囲のいずれを呼び出す場合であっても、「mn」のコードサイズを1バイトに設定することができる。
また、「CALLEX」のオペコードをコード化する場合に、当該コードを1バイトに設定する。これにより、「CALLEX mn」(mn=2000h~20FFh)のコードサイズを2バイトに設定することができる。
一方、「mn」が「2100h」以上になると、「mn」のコードサイズは2バイトとなる。さらに、「mn」の範囲が「2000h」~「20FFh」でない場合には、「CALLEX」のコードを2バイトから構成する。オペコードを1バイトから構成する場合には、数千の命令のうち、256個に限られるため、「mn」の範囲が「2000h」~「20FFh」である場合の「CALLEX」のコードとして1バイトのコードを割り当てたが、「mn」の範囲が「2000h」~「20FFh」でない場合には、「CALLEX」のコードとして2バイトのコードを割り当てている。
以上のように、「CALLEX mn」命令では、「mn」の範囲が「2000h」~「20FFh」の範囲内であればコードサイズが2バイトの命令となり、「mn」の範囲が上記範囲以外であればコードサイズが4バイトの命令となる。
よって、呼び出す回数が多い命令ほど、制御領域2のアドレス「2000h」~「20FFh」の範囲内に集約しておけば、それだけ、コードサイズが2バイトで済む命令が多くなる。これにより、制御領域1の記憶容量を節約することが可能となる。
また、第2制御領域のアドレス「2000h」~「25FFh」の範囲のうち、アドレス「2000h」~「20FFh」の範囲に、制御領域1のプログラムから制御領域2のプログラムを呼び出す際のアドレスをできるだけ多く収めておくことによって、制御領域2を確認するときに、制御領域1のプログラムから呼び出されるプログラムであることを容易に把握することができる。
図55(例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」の範囲内である必要はない。
ここで、制御領域1のプログラムにおいて、「CALLEX M2_nnnnn」ではなく、直接、「CALLEX M2_ooooo」とすることも考えられる。
しかし、制御領域2のプログラムにおいて、実際に実行するプログラム「M2_ooooo」をアドレス「2100h」以降に配置し、アドレス「2000h」~「20FFh」の範囲には、制御領域1のCALLEX命令によって呼び出されるプログラムの先頭プログラムを多く配置しておけば、それだけ、制御領域1のプログラムで2バイトのCALLEX命令を多く設けることが可能となる。よって、制御領域1のプログラム容量を節約することが可能となる。換言すると、制御領域1のプログラムから制御領域2のプログラムを呼び出すのは、1回に限られるものではなく、複数回呼び出されるように構成されていてもよい。
また、制御領域3のプログラムの先頭アドレスは「2A00h」であり、「20FFh」以降である。したがって、制御領域3のプログラム「M3_xxxxx」は、アドレス「20FFh」以降に配置されている。このため、制御領域1のプログラム「CALLEX M3_xxxxx」は4バイトとなる。換言すると、制御領域3のアドレスには「2000h」~「20FFh」の範囲が存在しないので、制御領域1のプログラムから制御領域3のプログラムを呼び出す場合のCALLEX命令のコードサイズは、すべて4バイトとなる。なお、制御領域1のプログラムから制御領域3のプログラムを呼び出すのは、1回に限られるものではなく、複数回呼び出されるように構成されていてもよい。
ここで、通常のCALL命令によりプログラム「M3_xxxxx」を呼び出す場合には、
DI(1バイト)
PUSH AF(1バイト)
CALL M3_xxxxx(3バイト)
POP AF(1バイト)
EI(1バイト)
となり、合計7バイトとなり、4バイトのCALLEX命令よりも大きくなる。よって、制御領域1のプログラムから制御領域3のプログラムを呼び出す場合であっても、CALL命令ではなくCALLEX命令を用いた方が容量を少なくすることができる。
以上、本発明の第4実施形態について説明したが、本発明は、上記実施形態に限定されるものではなく、たとえば以下のような種々の変形が可能である。
(1)制御領域1のプログラムにおいて、2バイトからなる「CALLEX mn(mn=2000h~20FFh)」をより多く設けるために、第3実施形態の図50で示したJR(ジャンプ)命令を用いてもよい。
図58は、この場合のプログラム例を示す図である。JR命令のコードサイズは、第3実施形態と同様に3バイトであるものとする。
そして、制御領域1のCALLEX命令で指定した制御領域2のアドレスには、JR命令を配置する。たとえば制御領域1のプログラムにおいて「CALLEX 2000h」とした場合には、制御領域2のアドレス「2000h」には、「JR 2100h」を置く。すなわち、ジャンプ先アドレスは「2100h」以降に設定されている。
「JR mn」命令は3バイト要するため、制御領域2のアドレス「2000h」以降では、3バイト刻みで「JR mn」を配置している。
そして、制御領域2のアドレス「2100h」以降に、実際のプログラムを配置すればよい。
このように設定すれば、制御領域1のプログラムにおいて、2バイトのCALLEX命令をできるだけ多く設けることができる。
(2)図55の例1~図57の例3は、制御領域1において、制御領域2のプログラム「M2_nnnnn」を呼び出し、この「M2_nnnnn」を終了してから制御領域3のプログラム「M3_xxxxx」を呼び出し、この「M3_xxxxx」を実行したが、制御領域2のプログラムや、制御領域3のプログラムを実行する処理の順序や処理のタイミングは、適宜、設計変更することが可能である。
たとえば、制御領域2のプログラムを実行した後、制御領域1のプログラムを実行し、ある処理タイミングで制御領域3のプログラムを実行することや、制御領域3のプログラムを実行した後、制御領域1のプログラムを実行し、ある処理タイミングで制御領域2のプログラムを実行すること等が挙げられる。
また、上述したように、制御領域1のプログラムから制御領域2のプログラムを呼出す回数は、1回に限らず、複数回でもよい。同様に、制御領域1のプログラムから制御領域3のプログラムを呼出す回数は、1回に限らず、複数回でもよい。
(3)第4実施形態は、メダルレス遊技機に限らず、風営法上の回胴式遊技機やぱちんこ遊技機にも適用することができる。さらには、遊技球を用いるパロットや、カジノマシンにも適用することができる。
(4)第1~第4実施形態、及び第1~第4実施形態で示した各種の変形例は、単独で実施されることに限らず、適宜組み合わせて実施することが可能である。
<第5実施形態>
続いて、本発明の第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が「遊技媒体数制御手段」に相当する。
(2)第2例
図51(第4実施形態)で示したように、遊技媒体数制御基板は設けられておらず、主制御基板50が設けられており、さらに、図51の構成とは異なるが、主制御基板50上に主制御CPUと遊技媒体数制御CPUとを別体で搭載することが挙げられる。
この場合には、主制御CPUが本実施形態の「主制御手段」に相当し、遊技媒体数制御CPUが本実施形態の「遊技媒体数制御手段」に相当する。
(3)第3例
図51(第4実施形態)で示したように、遊技媒体数制御基板は設けられておらず、主制御基板50が設けられており、さらに図51に示すように、主制御基板50上に1つのCPU(図51中、「主CPU501」に相当)のみが搭載されている(遊技媒体数制御CPUは搭載されていない)ものが挙げられる。
この場合には、主CPU501が有する手段のうち、遊技の進行を制御する手段が本実施形態における「主制御手段」に相当する。また、主CPU501が有する手段のうち、遊技媒体を制御する手段が本実施形態における「遊技媒体数制御手段」に相当する。
さらにまた、「主制御RWM」とは、主制御に係るデータを記憶しており、主制御手段によってアクセス可能なRWMを指し、たとえば図51中、主制御RWM503に相当する。また、「主制御ROM」とは、主制御に係るデータやプログラムを記憶しており、主制御手段によってアクセス可能なROMを指し、たとえば図51中、主制御ROM502に相当する。
さらに、「遊技媒体数制御RWM」とは、遊技媒体数の制御に係るデータを記憶しており、遊技媒体数制御手段によってアクセス可能なRWMを指し、たとえば図29中、第2主制御RWM103や、図51中、遊技媒体数制御RWM505に相当する。
また、「遊技媒体数制御ROM」とは、遊技媒体数の制御に係るデータやプログラムを記憶しており、遊技媒体数制御手段によってアクセス可能なROMを指し、たとえば、図29中、第2主制御ROM104や、図51中、遊技媒体数制御ROM504に相当する。
さらに、第5実施形態の説明では、図29や図51における副制御CPU85(演出を制御する手段)を「副制御手段」と称する。また、「副制御RWM」は、副制御(演出)に係るデータを記憶しており、副制御手段によってアクセス可能なRWMを指し、たとえば図51の副制御RWM83に相当する。
さらにまた、「副制御ROM」とは、副制御(演出)に係るデータやプログラムを記憶しており、副制御手段によってアクセス可能なROMを指し、たとえば図51の副制御ROM84に相当する。
遊技媒体数制御手段は、(クレジット(貯留)されている)総遊技媒体数を管理する。
第5実施形態においては、遊技媒体数制御手段は、総遊技媒体数が上限値を超えたか否か、及び閾値に到達したか否かを判断し、その判断結果に基づいて所定の処理を実行する。換言すれば、遊技媒体数制御手段は、総遊技媒体数が上限値を下回ったか否か、及び閾値を下回ったか否かを判断し、その判断結果に基づいて所定の処理を実行する。
遊技媒体数制御手段は、総遊技媒体数に所定数の遊技媒体を加算するときに、上限値に到達したか否か及び閾値に到達したか否かを判断する。
ここで、「総遊技媒体数の加算」は、第1に、入賞した小役に対応する遊技媒体を付与するときに実行される。また第2に、遊技媒体がベットされている場合において精算スイッチ46が操作されたときに実行される。さらにまた第3に、貸出しユニット200から遊技媒体が貸し出されるときに実行される。ここで、上限値に到達したか否か及び閾値に到達したか否かの判断は、遊技媒体の「1」加算時でもよく、所定数の遊技媒体の加算処理が終了したときでもよい。
また、「総遊技媒体数の減算」は、第1に、ベット処理に基づいて実行される。また第2に、計数処理に基づいて実行される。さらに、上限値を下回ったか否か及び閾値を下回ったか否かの判断は、遊技媒体の「1」減算時でもよく、所定数の遊技媒体のベット処理又は計数処理が終了したときでもよい。
以下の説明では、上限値は「16383」とする。ただし、上限値「16383」は例示であり、これに限られない。たとえば「32767」でもよいし、「65535」でもよい。
さらにまた、以下の説明では、閾値は「15000」とする。ただし、閾値「15000」は例示であり、上記の上限値未満の値であれば、任意に設定可能である。たとえば、閾値は、「上限値(16383)-1回分の計数値(50)」未満(「16333」未満)の値であれば任意に設定可能である。
第5実施形態では、総遊技媒体数が上限値に到達したときは、総遊技媒体数のさらなる加算を行わない。具体的には、遊技媒体の付与処理中に総遊技媒体数が上限値に到達したときは、総遊技媒体数が上限値未満になるまで付与処理を中断する。さらに、総遊技媒体数が上限値に到達したときは、総遊技媒体数が上限値未満になるまで遊技媒体の貸出し処理を行わない。
たとえば、遊技媒体の「1」加算前の総遊技媒体数が「16382」であるときは、遊技媒体を「1」加算して総遊技媒体数を「16383(上限値)」に更新することは可能である。これに対し、遊技媒体の「1」加算前の総遊技媒体数が「16383(上限値)」であるときは、遊技媒体の「1」加算処理を行わない。
また、第5実施形態では、総遊技媒体数が閾値「15000」に到達したときは、所定の制御処理(たとえば報知処理や、遊技媒体の貸出し禁止処理)を実行可能とし、総遊技媒体数が閾値未満になったときは、前記所定の制御処理を終了可能とする。
次に、遊技媒体数の上限値に対する具体的な制御処理について説明する。
主制御手段及び遊技媒体数制御手段は、総遊技媒体数が上限値に到達しているか(上限値以上であるか)否かを判断するための上限値到達フラグをそれぞれ有している。上限値到達フラグは、主制御RWM、及び遊技媒体数制御RWMの所定記憶領域にそれぞれ設けられている。
遊技媒体数制御手段は、総遊技媒体数に「1」を加算した結果、上限値に到達したと判断したときは、上限値到達フラグを「1」にする。遊技媒体数制御手段は、上限値到達フラグを「1」にしたときは、主制御手段に対し、上限値到達情報を送信する。
主制御手段は、上限値到達情報を遊技媒体数制御手段から受信したときは、上限値到達フラグを「1」にする。主制御手段は、上限値到達フラグを「1」にしたときは、副制御手段に対し、上限値到達情報(「報知要求情報」ともいう。以下同じ。)を送信する。
副制御手段は、上限値報知フラグを有している。上限値報知フラグは、副制御RWMの所定記憶領域に設けられている。副制御手段は、主制御手段から上限値到達情報を受信したときは、上限値報知フラグを「1」にする。
副制御手段は、上限値報知フラグが「1」であるときは、演出ランプ21、スピーカ22、又は画像表示装置23の少なくとも1つによって、総遊技媒体数が上限値に到達した旨の報知(以下、「上限値到達報知」という。また、「エラー報知」ともいう。)を実行する。
一方、遊技媒体数制御手段は、計数スイッチ47の操作を検知すると、計数スイッチ47の操作に対応する遊技媒体数を、総遊技媒体数から減算する。
遊技媒体数制御手段は、計数スイッチ47の操作に基づいて総遊技媒体数から「1」を減算した結果、総遊技媒体数が上限値未満になったと判断したときは、上限値到達フラグを「0」にする。遊技媒体数制御手段は、上限値到達フラグを「0」にしたときは、主制御手段に対し、上限値未到達情報を送信する。
主制御手段は、上限値未到達情報を遊技媒体数制御手段から受信したときは、上限値到達フラグを「0」にする。主制御手段は、上限値到達フラグを「0」にしたときは、副制御手段に対し、上限値未到達情報を送信する。
副制御手段は、上限値未到達情報を主制御手段から受信したときは、上限値報知フラグを「0」にする。副制御手段は、上限値報知フラグが「0」であるときは、上限値到達報知(エラー報知)を行わなくてもよい。したがって、副制御手段は、上限値報知フラグが「1」から「0」に変化したときは、上限値到達報知を終了可能とする。
副制御手段は、上限値報知フラグが「1」から「0」になったときは、直ちに上限値到達報知を終了してもよいが、上限値報知フラグが「1」から「0」になった直後は上限値到達報知を継続し、上限値報知フラグが「1」から「0」になってから所定期間を経過した後等、所定の条件を満たしたときに、上限値到達報知を終了してもよい。
具体的な処理としては、副制御手段は、上限値報知フラグが「1」から「0」になったと判断したときは、副制御RWMに設けられた所定タイマ値記憶領域に所定値を記憶し、副制御手段における割込み処理ごと(たとえば「1」msごと)に「1」を減算する処理を実行する。
副制御手段は、前記所定タイマ値記憶領域の値が「0」でないときは、上限値到達報知を継続する。副制御手段は、前記所定タイマ値記憶領域の値が「0」になったときは、上限値到達報知の前記所定の終了条件を満たすと判断し、上限値到達報知を終了する。
次に、遊技媒体の付与処理について説明する。
図59は、主制御手段による遊技媒体付与処理を示すフローチャートである。
この遊技媒体付与処理は、有効ライン上に停止した図柄組合せを判断し、その判断結果に基づいて付与する遊技媒体数が決定された後に実行される処理である。たとえば、有効ライン上に、遊技媒体数「8」を付与可能な所定(小役)の図柄組合せが停止表示したと判断したときは、後述する付与遊技媒体数記憶領域に「8」が記憶され、その後、この遊技媒体付与処理が実行される。
図59において、ステップS741では、主制御手段は、付与する遊技媒体があるか否か(遊技媒体を付与可能な図柄組合せが停止表示したか否か)を判断し、付与する遊技媒体がないと判断した場合には、本フローチャートによる処理を終了する。具体的には、主制御RWMは、付与数が決定されたときに付与数が記憶される付与数記憶領域を有しており、この付与数記憶領域の値が「0」であるか否かを判断する。付与数記憶領域の値が「0」であると判断したときは、本フローチャートによる処理を終了する。一方、付与数記憶領域の値が「0」でないと判断したときは、ステップS742に進む。
ステップS742では、遊技媒体付与タイマ値が「0」であるか否かを判断する。遊技媒体付与タイマは、主制御RWMの所定記憶領域に設けられている。
遊技媒体付与タイマ値が「0」でないときは「0」になるまでステップS742における判断をループし、「0」であると判断したときはステップS743に進む。換言すると、ステップS742の処理は、ステップS743以降に進むこと(後述するステップS744の付与要求コマンドセット)を遅延させる処理となる。
遊技媒体付与タイマ値が「0」であると判断され、ステップS743に進むと、主制御手段は、遊技媒体付与タイマ値として初期値「27」を記憶する。遊技媒体付与タイマ値は、主制御手段のタイマ割込み処理の実行に応じて更新可能に構成されている(たとえば、1回のタイマ割込処理が実行されたときに、「1」減算するように構成されている)。なお、主制御手段でのタイマ割込みは、約「2.235」msの周期で実行可能に構成されている。そのため、遊技媒体付与タイマ値として「27」を記憶することは、約「60」msに対応する時間を保存することと同義である。また、遊技媒体付与タイマ値が「0」であるときにタイマ割込み処理が実行されたとしても、遊技媒体付与タイマ値は「0」を維持する。
このように、ステップS742における遊技媒体付与時間を経過したか否かの後に、ステップS743における遊技媒体付与時間の保存処理を実行することにより、複数の遊技媒体数を付与する場合において、後述するステップS744の付与要求コマンドセット処理が、所定期間間隔(上記例では、約「60」ms間隔)で実行されることとなる。
たとえば、遊技媒体の付与数が「8」の場合において、最初の遊技媒体「1」を付与するときは、遊技媒体付与タイマ値に基づく待機処理は実行されない。図59のフローチャートの処理に移行した時点では、遊技媒体付与タイマ値は「0」であり、ステップS742において「Yes」と判断されるので、すぐに最初の遊技媒体「1」の付与処理が実行されるためである。これにより、主制御手段は、遊技媒体数制御手段に最初の遊技媒体「1」を総遊技媒体数に加算させるための処理を迅速に実行させることができる。
一方、最初の遊技媒体「1」を付与するときに、ステップS743において遊技媒体付与タイマ値として「27」が記憶されるので、遊技媒体の「2」から「8」に対応する各付与要求コマンドセットは、遊技媒体付与タイマ値が「27」から「0」になった後に実行可能となっている。換言すると、遊技媒体の「2」から「8」の付与に対応する各付与要求コマンドセット(ステップS744)は、約「60」msに1回の間隔で実行可能となる。つまり、付与要求コマンドセットに基づいた遊技媒体数制御手段による総遊技媒体の更新は、約「60」msごとに実行可能となり、総遊技媒体数を表示可能な遊技媒体数表示部121の表示更新も、約「60」msごとに更新可能となる。このように構成することによって、遊技媒体数表示部121に表示されている総遊技媒体数が「1」ずつ更新されていく(カウントアップする)様子を遊技者に視認可能とすることができる。
なお、図59の例とは異なり、ステップS743の遊技媒体付与時間保存の後に、ステップS742の遊技媒体付与時間が経過したかの処理を実行してもよい。この場合には、複数の遊技媒体を付与する場合における最初の遊技媒体の付与についても、主制御手段は遊技媒体付与時間(遊技媒体付与タイマ値)に対応した待機処理を実行した後に遊技媒体数制御手段が総遊技媒体数に「1」を加算することになる。
また、上記例では、ステップS743の処理において遊技媒体付与タイマ値として「27」を記憶したが、遊技媒体数表示部121に表示されている総遊技媒体が「1」ずつ更新されていく様子を遊技者に視認可能となる任意の数値(たとえば、「10」~「200」程度の範囲内の数値)を記憶してもよい。
次のステップS744では、主制御手段は、遊技媒体数「1」を付与することを示す付与要求コマンドを、主制御手段のコマンドバッファに記憶する。主制御手段のコマンドバッファに記憶したコマンドは、主制御手段側でのタイマ割込み処理によって、遊技媒体数制御手段に送信されるように構成されている。そのため、ステップS744の処理は、主制御手段から遊技媒体数制御手段に対して、遊技媒体数「1」を付与することを示す付与要求コマンドを送信することと同義である。
たとえば、遊技媒体数「8」を付与可能な図柄組合せが停止表示した場合には、遊技媒体数制御手段に対して、遊技媒体数「1」を付与することを示す付与要求コマンドを8回送信することにより、総遊技媒体数の更新を行うように構成している。このように、総遊技媒体数を「1」ずつ更新するように構成することにより、付与する遊技媒体数をすべて総遊技媒体数に加算すると総遊技媒体数の上限値(16383)を超えてしまう場合であっても、総遊技媒体数が上限値に到達するまでは遊技媒体を付与可能となる。
次のステップS745では、主制御手段は、応答コマンドを受信する。ステップS744において付与要求コマンドを遊技媒体数制御手段に送信し、遊技媒体数制御手段が当該コマンドを受信すると、主制御手段に対し、付与要求コマンドに対応する応答コマンドを送信する。
ここで、第5実施形態では、遊技媒体数制御手段からの応答コマンドとして、少なくとも以下の2つを有する。
1)付与許可コマンド
付与許可コマンドは、遊技媒体数「1」を加算することを示す(許可する)コマンドである。
具体的には、遊技媒体数制御手段は、遊技媒体数「1」を付与することを示す付与要求コマンドを受信した後、総遊技媒体数に「1」を加算する場合に、加算前の総遊技媒体数が上限値に達していないと判断した場合には、主制御手段に対し、総遊技媒体数に「1」を加算することを示す付与許可コマンドを送信する。
2)付与拒否コマンド
付与拒否コマンドは、遊技媒体数「1」を加算しない(加算を許可しない、加算を禁止する)ことを示すコマンドである。
具体的には、遊技媒体数制御手段は、遊技媒体数「1」を付与することを示す付与要求コマンドを受信した後、総遊技媒体数に「1」を加算する場合に、加算前の総遊技媒体数が上限値に達していると判断した場合には、主制御手段に対し、総遊技媒体数に「1」を加算できないことを示す付与拒否コマンドを送信する。ここで、遊技媒体数制御手段は、付与要求コマンドを受信した場合において、加算前の総遊技媒体数が上限値に達していると判断したときは、総遊技媒体数に「1」を加算することなく、付与拒否コマンドを主制御手段に送信する。
次のステップS746では、主制御手段は、遊技媒体数制御手段から受信したコマンドが、付与拒否コマンドであるか否かを判断し、付与拒否コマンドであったときはステップS742に進み、付与拒否コマンドでないときはステップS747に進む。なお、ステップS746では、主制御手段は、遊技媒体数制御手段から受信したコマンドが付与許可コマンドであるか否かを判断し、付与許可コマンドでなかったときはステップS742に進み、付与許可コマンドであるときはステップS747に進むようにしてもよい。
このように構成することにより、主制御手段は、ステップS746において遊技媒体の付与不可であると判断したときは、遊技媒体数制御手段による計数処理が実行され(総遊技媒体数の一部又は全部が計数され)、総遊技媒体数が上限値未満になるまで、ステップS742からステップS746の間をループする。その結果、次回遊技を開始するためのベット処理に進行しない(ベット処理を行うことができない)ようにしている。なお、このようなループ状況が発生した場合であっても、遊技媒体数制御手段による計数処理が実行され、総遊技媒体数が上限値未満になった場合には、遊技媒体数制御手段は、主制御手段に対して付与許可コマンドを送信するので、ステップS746の判断で「No」となり、ステップS747の処理に進行することが可能となる。
換言すれば、遊技媒体付与処理の途中(付与する遊技媒体の一部がまだ残っている状況)で総遊技媒体数が上限値「16383」に達した状況下においても、遊技媒体付与処理は終了せずにループ状況が発生することになる。また、このループ状況においても、遊技者による計数スイッチ47の操作により計数処理が実行されることにより、総遊技媒体数を上限値「16383」未満にすることが可能となる。つまり、総遊技媒体数が上限値「16383」未満になった場合には、遊技媒体付与処理のループ状況を脱することができ(ステップS746の判断で「No」となり)、遊技媒体付与処理を進行できるようになる。このような構成とすることにより、遊技媒体付与処理の途中で総遊技媒体数が上限値「16383」に達した場合であっても、付与する遊技媒体を破棄することがないため、遊技者に不利益を与えることを防止することができる。
なお、上述したループ状況は、本例に限らず、たとえばステップS746において「Yes」と判断した場合には、ステップS744(付与要求コマンドセット)、ステップS745(コマンド受信)、及びステップS746(付与不可であるか否かの判断)をループしてもよい。
ステップS747では、主制御手段は、付与数記憶領域の値を「1」減算する。たとえば、付与数記憶領域の値として「8」が記憶されていた場合には、当該処理によって、付与数記憶領域の値が「7」となる。また、付与数記憶領域の値が「1」が記憶されていた場合には、当該処理によって、付与数記憶領域の値が「0」となる。
次にステップS748に進み、主制御手段は、付与数記憶領域の値が「0」であるか否かを判断する。付与数記憶領域の値が「0」でない場合には、ステップS742に戻る。一方、ステップS748において付与数記憶領域の値が「0」であると判断したときは本フローチャートによる処理を終了する。
以上のような遊技媒体付与処理を実行することにより、総遊技媒体数を上限値以下に制御することができる。
また、「1」ずつ遊技媒体を付与する処理が高速で行われると、遊技者は、遊技媒体が「1」ずつ付与されたことを認識できなくなってしまう。このため、遊技媒体を「1」付与した後に遊技媒体付与タイマ値として「60.35」ms分(割込み処理「27」回分)をセットし、遊技媒体を「1」付与するごとに遊技媒体付与タイマ値を更新し、「60.35」msを経過した後に再度遊技媒体を「1」付与するようにしている。このように構成することにより、遊技者は、遊技媒体が「1」ずつ付与されたことを認識することができ、遊技の興趣を向上させることが可能となる。
図60は、遊技媒体数制御手段の遊技媒体付与処理を示すフローチャートである。
まず、ステップS751において、遊技媒体数制御手段は、主制御手段から送信されてくる付与要求コマンドを受信したか否かを判断する。図59中、ステップS744において付与要求コマンドが送信されると、遊技媒体数制御手段は、ステップS751において付与要求コマンドを受信する。
付与要求コマンドを受信したときはステップS752に進む。ステップS752では、遊技媒体数制御手段は、遊技媒体数に「1」を加算する前の総遊技媒体数が上限値であるか否かを判断する。上限値でないと判断したときはステップS753に進み、すでに上限値であると判断したときはステップS755に進む。
ステップS753では、遊技媒体数制御手段は、付与許可コマンドを主制御手段に送信する。次にステップS754に進み、総遊技媒体数に「1」を加算し、総遊技媒体数を更新する。そして本フローチャートによる処理を終了する。なお、ステップS753とステップS754の処理は、逆であってもよい。
一方、ステップS755に進んだときは、遊技媒体数制御手段は、付与拒否コマンドを主制御手段に送信する。そして本フローチャートによる処理を終了する。したがって、この場合には、総遊技媒体数の更新(「1」加算処理)は行われない。
なお、上述の例では遊技媒体数を「1」ずつ加算しているが、これに限らず、「2」以上(複数)の遊技媒体をまとめて加算してもよい。
たとえば、主制御手段が遊技媒体数「8」を付与する場合に、遊技媒体数制御手段に対し、遊技媒体数「8」を総遊技媒体数に加算可能であるか否かの付与要求コマンドを送信する。遊技媒体数制御手段は、当該付与要求コマンドを受信すると、総遊技媒体数に「8」を加算すると上限値を超えるか否かを判断し(「総遊技媒体数+付与数>16383」が「Yes」となるか否かを判断し)、上限値を超える場合(「Yes」と判断した場合)は、総遊技媒体数に「8」を加算不可能である旨のコマンド(付与拒否コマンド)を主制御手段に送信する。主制御手段は、当該付与拒否コマンドを受信したときは、再度、遊技媒体数制御手段に対し、総遊技媒体数に「8」を加算可能であるか否かの付与要求コマンドを送信する。
ここで、計数処理がなされていない場合は総遊技媒体数が減少していないので、遊技媒体数制御手段は、再度、総遊技媒体数に「8」を加算不可能である旨のコマンドを主制御手段に送信することになり、主制御手段と遊技媒体数制御手段との間で遊技媒体付与処理がループすることになる。つまり、遊技媒体数「8」を加算するまでループするように構成している。このような構成とすることにより、付与する遊技媒体を破棄することがないため、遊技者に不利益を与えることを防止することができる。
一方、上限値を超えないと判断した場合は、総遊技媒体数に「8」を加算可能である旨の付与許可コマンドを主制御手段に送信する。そして、遊技媒体数制御手段は、総遊技媒体数に「8」を加算して、遊技媒体付与処理を終了する。
次に、遊技媒体数の閾値(15000)について説明する。
遊技媒体数制御手段及び主制御手段は、それぞれ、総遊技媒体数が閾値に到達しているか否かを判断するための閾値到達フラグを有している。主制御手段の閾値到達フラグは主制御RWMに設けられ、遊技媒体数制御手段の閾値到達フラグは遊技媒体数制御RWMに設けられている。
遊技媒体数制御手段は、総遊技媒体数に「1」を加算した結果、閾値に到達したと判断したときは、閾値到達フラグを「1」にする。
遊技媒体数制御手段は、閾値到達フラグを「1」にしたときは、主制御手段に対し、閾値到達情報(コマンド)を送信する。
主制御手段は、閾値到達情報を遊技媒体数制御手段から受信したときは、閾値到達フラグを「1」にする。
主制御手段は、閾値到達フラグを「1」にしたときは、副制御手段に対し、閾値到達情報(コマンド)を送信する。なお、ここでの「閾値到達情報」は、換言すれば、報知要求情報である。
一方、副制御手段は、閾値報知フラグを有している。副制御手段の閾値報知フラグは、、副制御RWMに設けられている。
副制御手段は、主制御手段から閾値到達情報を受信したときは、閾値報知フラグを「1」にする。
副制御手段は、閾値報知フラグが「1」であるときは、演出ランプ21、スピーカ22、画像表示装置23の少なくとも1つによって、閾値到達報知を行うことを可能とする。ここでの「閾値到達報知」は、換言すれば、注意喚起報知である。
また、遊技媒体数制御手段は、総遊技媒体数が閾値に到達しているときは、貸出ユニット200に送信する貸出受領結果応答として、異常を送信する。
遊技媒体数制御手段は、計数スイッチ47の操作を検知すると、計数スイッチ47の操作に対応する遊技媒体数を、総遊技媒体数から減算する。
遊技媒体数制御手段は、総遊技媒体数から「1」を減算した結果、閾値未満になったと判断したときは、閾値到達フラグを「0」にする。
遊技媒体数制御手段は、閾値到達フラグが「0」であるときは、主制御手段に対し、閾値未到達情報を送信する。
主制御手段は、閾値未到達情報を遊技媒体数制御手段から受信したときは、閾値到達フラグを「0」にする。
主制御手段は、閾値到達フラグが「0」であるときは、副制御手段に対し、閾値未到達情報を送信する。
副制御手段は、閾値未到達情報を主制御手段から受信したときは、閾値報知フラグを「0」にする。
副制御手段は、閾値報知フラグが「0」であるときは、閾値到達報知行わなくてもよい。
なお、副制御手段は、閾値報知フラグが「1」から「0」になったときは、直ちに閾値到達報知を終了してもよいが、閾値報知フラグが「1」から「0」になった後、所定期間の経過後に閾値到達報知を終了してもよい。したがって、閾値報知フラグが「0」になってから前記所定期間を経過するまでは閾値到達報知が継続される。
この場合、副制御手段は、閾値報知フラグが「1」から「0」になったと判断したときは、副制御RWMに設けた所定のタイマ値記憶領域に所定値を記憶し、副制御手段における割込み処理ごと(たとえば「1」msごと)に「1」を減算する処理を実行する。
副制御手段は、当該所定のタイマ値が「0」でないときは、閾値到達報知を継続する。
副制御手段は、当該所定のタイマ値が「0」になったときは、閾値到達報知の終了条件を満たすと判断して閾値到達報知を終了可能とする。
主制御手段から副制御手段に対して送信する上限値到達情報及び閾値到達情報は、たとえば1バイトの到達情報(コマンド)として送信し、到達情報のうちの特定ビットを上限値到達情報とし、他の特定ビットを閾値到達情報とすることが挙げられる。
たとえば、到達情報のうち、閾値到達情報をD0ビットとし、「1」であるときは閾値に到達していることを示す情報とする。また、上限値到達情報をD1ビットとし、「1」であるときは上限値に到達していることを示す情報とする。
この場合、到達情報が「00000001(B)」であるときは、閾値到達情報が「1」、上限値到達情報が「0」であるので、閾値には到達しているが上限値には到達していないことを示す情報となる。
また、到達情報が「00000011(B)」であるときは、閾値到達情報が「1」、かつ上限値到達情報が「1」であるので、閾値及び上限値に到達していることを示す情報となる。
なお、上限値に到達しているときは閾値に到達していることは明らかであるから、上限値(及び閾値)に到達しているときの到達情報を「00000010(B)」としてもよい。
このように、上限値到達情報に対応するビットと、閾値到達情報に対応するビットとを異ならせれば、副制御手段は、到達情報の値に基づいて異なる報知を行うことが可能となる。たとえば、副制御手段は、閾値到達情報が「1」、かつ上限値到達情報が「0」である到達情報を受信したときは、「あと○○で上限値に到達します。計数スイッチを操作してください。」と画像表示装置23に表示することが可能となる。また、副制御手段は、閾値到達情報が「1」、かつ上限値到達情報が「1」である到達情報を受信したときは、「上限値に到達しましたので遊技を中断します。計数スイッチを操作してください。」と画像表示装置23に表示可能となる。
また、閾値到達時と上限値到達時とで異なる報知を行う場合において、副制御手段は、上限値に到達するまでの残り遊技媒体数を画像表示することも可能である。
たとえば、主制御手段は、「上限値(16383)-現在の総遊技媒体数=余裕数」を演算し、余裕数を副制御手段に送信する。副制御手段は、受信した余裕数を画像表示する。あるいは、主制御手段は、副制御手段に対して、現在の総遊技媒体数の情報のみを送信する。副制御手段は、主制御手段から送信されてきた現在の総遊技媒体数を受信した場合において、閾値到達情報が「1」であるときは、「上限値(16383)-現在の総遊技媒体数=余裕数」を演算し、演算結果(余裕数)を画像表示することが挙げられる。
ただし、これに限らず、副制御手段は、主制御手段から送信されてきた到達情報が「0」であるか否かを判断し、「0」でないと判断したときは、計数スイッチを促す旨の報知を行ってもよい。この場合には、上限値に到達したか否かは判断せず、少なくとも閾値に到達していると判断する。
さらに、主制御手段は、副制御手段に対し、「1」又は「0」の到達情報を送信してもよい。閾値に到達していないときは「0」の到達情報を送信し、閾値に到達しているとき(上限値に到達しているか否かは不問)は「1」の到達情報を送信する。
この場合、副制御手段は、到達情報を受信しても、閾値に到達したことは判断できるが、上限値に到達しているか否かは判断できない。このため、副制御手段は、閾値到達時と上限値到達時とで、報知演出(報知内容)を異ならせることはできない。したがって、副制御手段は、「1」の到達情報を受信したときは、閾値に到達したとき及び上限値に到達したときとで共通する報知を行う。この場合には、副制御手段は、単に「計数スイッチを操作してください。」と画像表示装置23に表示することが挙げられる。このようにすれば、主制御手段が副制御手段に送信するコマンドの容量を小さくできるため、プログラム容量を削減することが可能となる。
副制御手段は、閾値到達時と上限値到達時とで同一の報知演出を行う場合には、閾値に到達したことに基づいて報知演出を行った後、上限値に到達したときに突然報知演出の態様が変化したりすることはない。これにより、小役の入賞の結果、遊技媒体が付与され、上限値を超えたとしても、上限値を超えた分の遊技媒体を失ったと遊技者に誤解させないようにすることができる(緊急性がないように見せることができる)。
次に、オーバーフロー信号及びオーバーフロー試験信号について説明する。
遊技媒体数制御手段は、総遊技媒体数が閾値に到達したと判断したときは、オーバーフロー信号をオンにする(オーバーフロー信号を立ち上げる)。オーバーフロー信号のオン状態は、総遊技媒体数が閾値未満になるまで維持される。遊技媒体数制御手段は、総遊技媒体数が閾値未満になったと判断したときは、オーバーフロー信号をオフにする(オーバーフロー信号を立ち下げる)。
遊技媒体数制御手段は、オーバーフロー信号を主制御手段に送信する。主制御手段は、オーバーフロー信号がオンになっていると判断したときは、試験用IF(インタフェース)基板にオーバーフロー試験信号を出力するための処理を行う。
試射試験では、総遊技媒体数が閾値に到達したときは、閾値未満となるように制御する。なお、試験用IF基板は、計数スイッチ47と接続されている。
そして、試験用IF基板にオーバーフロー試験信号を出力するための処理が実行されているときは、計数スイッチ47が操作されたものとみなし、計数処理が実行される。
主制御手段は、オーバーフロー試験信号を出力するための処理を開始するとき、換言すれば、オーバーフロー試験信号をオンにするときは、オーバーフロー試験信号タイマ値を記憶する。オーバーフロー試験信号タイマ値は、オーバーフロー試験信号をオンにする時間を管理するためのものであり、主制御RWMに設けられている。オーバーフロー試験信号を出力するための処理は、オーバーフロー試験信号タイマ値が「0」であると判断されるまで実行される。
主制御手段は、オーバーフロー試験信号を出力するための処理を開始するときは、オーバーフロー試験信号タイマ値として初期値を記憶した後、オーバーフロー試験信号がオフになったと判断するまでは、オーバーフロー試験信号タイマ値を減算しない。試射試験中にオーバーフロー信号が出力されている間は、計数スイッチ信号がオフになることはない。
遊技媒体数制御手段は、総遊技媒体数が閾値未満になったと判断したときは、主制御手段へのオーバーフロー信号の送信処理を終了する。
主制御手段は、オーバーフロー信号がオフになったと判断したとき(オーバーフロー信号の立ち下がりを検出したとき)は、オーバーフロー試験信号タイマ値の減算を開始する。オーバーフロー試験信号は、オーバーフロー信号がオフになった後もオーバーフロー試験信号タイマ値が「0」になるまで、オンの状態が維持され、オーバーフロー試験信号タイマ値が「0」となったときにオフになる。オーバーフロー試験信号タイマ値の減算は、たとえば主制御手段において割込み処理ごと(「2.235」msごと)に「1」減算することが挙げられる。
主制御手段は、減算前のオーバーフロー試験信号タイマ値が「0」であるか否かを判断し、減算前のオーバーフロー試験信号タイマ値が「0」でないと判断したときはオーバーフロー試験信号をオンにし、減算前のオーバーフロー試験信号タイマ値が「0」であると判断したときはオーバーフロー試験信号をオフにする。
上述した例では、主制御手段が、減算前のオーバーフロー試験信号タイマ値が「0」であるか否かを判断し、減算前のオーバーフロー試験信号タイマ値が「0」でないと判断したときはオーバーフロー試験信号をオンにしている例を説明した。しかし、これに限らず、減算後のオーバーフロー試験信号タイマ値が「0」であるか否かを判断し、減算後のオーバーフロー試験信号タイマ値が「0」でないと判断したときはオーバーフロー試験信号をオンにしてもよい。
オーバーフロー試験信号をオンにしたときに記憶するオーバーフロー試験信号タイマ値の初期値としては、たとえば「1209」にすることが挙げられる。主制御手段の割込み時間間隔が「2.235」msであるため、割込み処理を「1209」回実行すると、「2702.115」msが経過する。したがって、オーバーフロー信号がオフになった後、オーバーフロー試験信号が「2702.115」ms間、出力されることとなる。
遊技媒体数制御手段が貸出ユニット200に向けて送信する遊技機情報通知の送信間隔は、「300」msである。このため、「2702.115」ms間に、遊技機情報通知が9回送信される。
つまり、遊技媒体数制御手段がオーバーフロー信号をオンにして主制御手段がオーバーフロー試験信号をオンにしたときに計数スイッチ信号がオンになり、計数遊技媒体数として「50」が計数され、その後、遊技媒体数制御手段による計数処理が実行されたことにより総遊技媒体数が閾値である「15000」を下回る。
さらに、遊技媒体数制御手段がオーバーフロー信号をオフにした後も主制御手段の割込み処理「1209」回にわたってオーバーフロー試験信号のオンが維持されるため、計数スイッチ47が「2702.115」ms間、オンになっている疑似状態とすることできる。これにより、遊技機情報通知の9回分の計数遊技媒体数として「450」が計数されることになる。
よって、試験用IF基板と主制御手段が接続されている場合(試射試験が実行されている場合)には、遊技媒体数制御手段が一度オーバーフロー信号をオンにしたときに、計数スイッチ信号もオンになることで、オーバーフロー信号がオンになったとき実行される計数処理1回分(計数遊技媒体数「50」)に加えて、オーバーフロー信号がオフになった後も計数処理を9回実行できるため、計数遊技媒体数として「500」が計数されることになる。
これにより、試射試験中に総遊技媒体数が閾値「15000」以上となった後に、計数遊技媒体数「500」を総遊技媒体数から減算できるため、オーバーフロー信号がオフになった後にすぐにオーバーフロー信号がオンになってしまうこと(総遊技媒体数が閾値未満になった後、すぐにまた閾値に到達してしまうこと)を防止でき、試射試験中の遊技機10がATや役物作動時等の有利な状態であっても総遊技媒体数が閾値「15000」以上となったことによる計数処理の実施頻度を少なくできるので、遊技機10の誤作動や試射機試験中のエラー音の出力頻度を少なくすることができる。
なお、オーバーフロー試験信号タイマ値は、上述した値に限られず、遊技機情報通知を1回送信するための時間(300ms)以上の値であれば、任意に設定できる。つまり、割込み処理ごとにオーバーフロー試験信号タイマ値を更新(減算)する場合は、オーバーフロー試験信号タイマ値として「135」(2.235ms×135=301.725ms)以上の任意の値を設定できる。
また、上述した例では、主制御手段は、毎割込み処理ごとにオーバーフロー試験信号タイマ値を更新する例を説明したが、これに限らず、2割込みに1回や3割込みに1回の頻度でオーバーフロー試験信号タイマ値を更新してもよい。この場合には、オーバーフロー試験信号タイマ値を小さい値にすることができる。たとえば主制御手段が5割込みに1回オーバーフロー試験信号タイマ値を更新する場合、オーバーフロー試験信号タイマ値として、上記例「1209」に代えて、「242」にすることが可能となる。このようにすれば、オーバーフロー試験信号タイマ値を1バイト以内にすることができ(主制御RWMの容量を節約でき)、かつ、オーバーフロー試験信号をオンにする時間を「2704.35」msとすることができる。
また、遊技機10は、計数処理中であっても遊技の進行(ベット処理、スタートスイッチ41の操作に基づく抽選処理及び遊技の開始、ストップスイッチ42の操作によるリール31の停止制御処理等)が可能であるため、試射機試験中に総遊技媒体数が閾値に到達して計数処理が実行されても、試射試験を中断することがない。このため、試射試験をスムーズに実行させることができる。
次に、遊技媒体数制御手段の(タイマ)割込み処理について説明する。
遊技媒体数制御手段は、「1」msごとに割込み処理を実行する。ただし、これに限らず、主制御手段と同じ「2.235」msごとに実行してもよい。
図61は、遊技媒体数制御手段の割込み処理(I_INTR)を示すフローチャートである。なお、図61では、第5実施形態に関係する処理を抜粋して示したものであり、図61に記載された処理に限られるものではない。
図61において、ステップS801では、遊技媒体数制御手段は、入力ポート読込み処理(I_IN_READ )を実行する。この処理は、後述する図62に示す処理であり、特に第5実施形態では、計数スイッチ47が操作されたか否かを検知し、計数スイッチ47の操作態様に応じた処理を実行する。
次のステップS802では、遊技媒体数制御手段は、遊技機情報管理(I_INF_CTL )を実行する。この処理は、後述する図63に示す処理であり、第2実施形態の図41に相当する処理である。この処理は、遊技機情報通知を送信するタイミングが到来したか否かを判断し、遊技機情報通知を送信するタイミングが到来したと判断したときは遊技機情報通知の送信処理等を実行するものである。
次のステップS803では、遊技媒体数制御手段は、計数制御(I_CAL_CTL )を実行する。この処理は、後述する図68に示す処理であり、計数通知を送信するタイミングが到来したか否かを判断し、計数通知を送信するタイミングが到来したと判断したときは、計数通知を送信する処理を実行するものである。
次のステップS804では、遊技媒体数制御手段は、貸出通知を受信する。ステップS803で計数通知を送信すると、図32に示すように、「170」ms以内に貸出しユニット200から貸出通知が送信されてくるので、それを受信する処理を実行する。
次のステップS805では、遊技媒体数制御手段は、貸出制御(I_LEN_CTL )を実行する。この処理は、後述する図69(例1)~図72(例4)のいずれか1つに相当する処理であり、受信した貸出通知に基づいて、総遊技媒体数の更新処理や貸出受領結果応答の送信処理等を実行するものである。
図62は、図61のステップS801における入力ポート読込み(I_IN_READ )を示すフローチャートである。ここで、図61に示す処理は、入力ポート読込み処理のうち、計数に係る主たる部分を抜粋したものである。したがって、入力ポート読込み処理では、図62に示す処理以外も種々の処理が実行される。さらに、入力ポート読込み処理のうちの計数に係る処理についても、図62に示した処理に限定されるものではない。
図62において、ステップS811では、遊技媒体数制御手段は、計数スイッチ47が操作されたか否かを判断する。ここでは、計数スイッチ47が操作されたときにオンになるレベルデータ(計数スイッチ信号)が「1」であるか否かを判断する。計数スイッチ47が操作されていないと判断したときはステップS812に進み、計数スイッチ47が操作されていると判断したときはステップS816に進む。
ステップS812では、遊技媒体数制御手段は、計数実行タイマ値が「0」であるか否かを判断する。計数実行タイマは、遊技媒体数制御RWMに設けられており、計数実行タイマ値が「0」であるか否かを判断する。計数スイッチ47が操作されていないときは計数実行タイマ値は「0」であり、計数スイッチ47が操作されていると判断されたときは、計数実行タイマ値に「1」が加算される。そして、計数実行タイマ値が「500」になるまで計数実行タイマ値が加算される。
ステップS812において計数実行タイマ値が「0」であると判断したときはステップS815に進み、計数実行タイマ値が「0」でないと判断したときはステップS813に進む。
ステップS813では、遊技媒体数制御手段は、計数実行フラグが「0」であるか否かを判断する。ここで、計数実行フラグは、遊技媒体数制御RWMに設けられており、計数実行フラグの値が「0」であるか否かを判断する。計数実行フラグは、計数スイッチ47が操作されていないときは「0」となり、短押し(約「500」ms以下)されたときは「1」となり、長押し(約「500」ms以上)されたときは「2」になるフラグである。
具体的に説明すると、計数スイッチ47が操作された(オンにされた)後、計数実行タイマ値が「500」に到達する前に計数スイッチ47がオフにされたときは、ステップS814において計数実行フラグが「1」になる。なお、遊技媒体数制御手段によるタイマ割込み処理ごと(「1」msごと)に計数実行タイマ値がステップS817で「1」加算されるので、計数スイッチ47がオンにされた後、計数実行タイマ値が「500」に到達するのは、約「500」ms後である。
ステップS813において計数実行フラグが「0」でないと判断したときはステップS815に進み、計数実行フラグが「0」であると判断したときはステップS814に進む。
ステップS814では、遊技媒体数制御手段は、計数実行フラグに「1」を保存する。換言すれば、計数スイッチ47が(オンから)オフになり、計数実行タイマ値が「0」でなく、かつ、計数実行フラグが「0」であるときは、計数スイッチ47が短押しされたことを意味するので、計数実行フラグを「1」にする。次にステップS815に進み、計数実行タイマをクリアする。そして本フローチャートによる処理を終了する。
なお、後述する計数処理が実行されると、計数実行フラグがクリアされる(図68のステップS846)。
これに対し、ステップS811において計数スイッチ47がオンであると判断され、ステップS816に進むと、遊技媒体数制御手段は、計数実行タイマ値が「500」に到達したか否かを判断する。計数実行タイマ値が「500」に到達していないと判断したときはステップS817に進み、計数実行タイマ値が「500」に到達したと判断したときはステップS819に進む。
ステップS817では、遊技媒体数制御手段は、計数実行タイマ値に「1」を加算する。次にステップS818に進み、遊技媒体数制御手段は、計数実行タイマ値(ステップS817で「1」加算後の値)を保存する。そして本フローチャートによる処理を終了する。
一方、ステップS816において計数実行タイマ値が「500」に到達したと判断され、ステップS819に進むと、遊技媒体数制御手段は、計数実行フラグに「2」を保存する。そして本フローチャートによる処理を終了する。
以上より、計数スイッチ信号がオンの(計数スイッチ47のオンが検知されている)状況下で、計数実行タイマ値が「500」に到達するまでは、計数実行フラグは変更されず、計数実行タイマ値が更新され続ける。そして、計数スイッチ47のオンが検知されている状況下で、計数実行タイマ値が「500」に到達すると、計数実行フラグが「2」になり、その後は計数実行タイマ値は更新されない。その後、計数スイッチ47がオフにされると、ステップS811で「No」、ステップS812で「No」、ステップS813で「Yes]と判断され、ステップS815に進んで計数実行タイマ値がクリアされる。
一方、計数スイッチ信号がオンになった後、計数実行タイマ値が「500」に到達する前に計数スイッチ信号がオフになったときは、計数実行フラグが「1」になる。そして、その後は計数実行タイマ値は更新されない。
図63は、図61のステップS802に示す遊技機情報管理(I_INF_CTL )を示すフローチャートである。
ここで、第2実施形態における遊技機情報管理(図41)と第5実施形態における遊技機情報管理(図631)との相違点について説明する。
第2実施形態では、遊技機情報通知の遊技機情報の優先度は、例外なく、第1優先が遊技機設置情報(「60」秒ごと)、第2優先が遊技機性能情報(「180」秒ごと)、最後にホールコン・不正監視情報(「300」msごと)であった。
これに対し、第5実施形態では、
(a)主制御状態に変化がなく、遊技媒体のベット(投入)がなく、かつ、遊技媒体の付与(払出し)がない場合には、
第1優先:遊技機設置情報
第2優先:遊技機性能情報
最後:ホールコン・不正監視情報
である(第2実施形態と同じ)。
(b)主制御状態に変化があった場合、遊技媒体のベット(投入)があった場合、又は遊技媒体の付与(払出し)があった場合のいずれかである場合には、
第1優先:ホールコン・不正監視情報
第2優先:遊技機設置情報
最後:遊技機性能情報
である。
図63において、図41と同一処理については同一ステップ番号を付しており、図41と相違するステップ番号にはアンダーラインを引いている。
以下、図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に進む。
ステップS723では、更新前の遊技機情報通知タイマAの値が「1」であるか否かを判断する。換言すれば、更新によって遊技機情報通知タイマAの値が「0」なったか否か、さらに換言すれば、更新によってゼロフラグが「1」となったか否かを判断する。更新前の遊技機情報通知タイマAの値が「1」であると判断したときはステップS724に進み、「0」でないと判断したときは本フローチャートによる処理を終了する。
更新前の遊技機情報通知タイマAの値が「1」であるときは、「300」ms周期のタイミング、すなわちホールコン・不正監視情報を含む遊技機情報通知の送信タイミングであることを意味する。
一方、通知Aの送信タイミングでないときは、「300」ms周期のタイミングではないので、「60」秒周期の送信タイミングでもなく、かつ、「180」秒周期の送信タイミングでもない。換言すれば、遊技機設置情報を含む遊技機情報通知の送信タイミングでもなく、かつ、遊技機性能情報を含む遊技機設置情報の送信タイミングでもない。したがって、ホールコン・不正監視情報を含む遊技機設置情報の送信タイミングでないと判断したときは、遊技機設置情報を含む遊技機情報通知の送信タイミングであるか否かや、遊技機性能情報を含む遊技機設置情報の送信タイミングであるか否かを判断することなく、遊技機情報管理を終了するようにしている。これにより、プログラム処理を簡素化できるとともに、遊技機情報管理の高速化を図ることができる。
ステップS724では、遊技機情報通知タイマAの値に初期値を保存する。ここで、初期値は「300」である。遊技媒体数制御手段のタイマ割込みの周期は「1」msであるため、遊技機情報通知タイマAの値として「300」を記憶することで、「300」msのカウントが可能となっている。したがって、ステップS721における減算で演算結果が「0」になったときは、すぐにステップS724で「300」が記憶される。
なお、上述したステップS721の演算命令としては、DCPWLD命令が挙げられる。DCPWLD命令は、「1」減算した結果としてキャリーフラグが「1」となった場合に、所定値を記憶する命令である。本実施形態における所定値は「300」としている。したがって、電源投入後、遊技機情報通知タイマAが初期化されて「0」にされた後、最初の割込み処理における遊技機情報管理処理において、ステップS721で「1」が減算されると、キャリーフラグが「1」となり、所定値「300」が記憶される。
このように、電源投入時の初期化処理により、遊技機情報通知タイマAの値が「0」にされるが、それ以外は、ステップS721の処理後からステップS724の処理前の期間を除き、遊技機情報通知タイマAの値が「0」になることはない(異常時を除く)。
次のステップS725では、遊技機情報通知タイマBの値を「1」加算する処理を実行する。ここでの加算処理は、特殊加算命令が用いられる。具体的には、遊技機情報通知タイマBに「199」未満の値が記憶されているときは遊技機情報通知タイマBの値に「1」を加算し、遊技機情報通知タイマBの値が「199」未満でないとき(すなわち、正常動作状況下において「199」が記憶されているとき)は、遊技機情報通知タイマBに「0」を記憶する演算処理である。
遊技機情報通知タイマBに「1」を加算する特殊加算命令を用いた演算処理を行うと、遊技機情報通知タイマBの値として「0」~「199」を循環させることができる。
また、遊技機情報通知タイマBに「199」が記憶されているときに「1」を加算する状況とは、遊技機情報通知タイマAが「0」となった契機が「200」回到来した状況に相当する。換言すれば、割込み処理が「300」回実行されるごとに遊技機情報通知タイマBが「1」ずつ加算されるため、「300回×200回=60000回」の割込み処理が実行された(「60」秒が経過した)状況である。
そして、本来であれば、「60000」回の割込み処理が実行されたか否かを計測するためには「2」バイトの記憶領域を設けなければならない。しかし、遊技機情報通知タイマAの値に基づいて遊技機情報通知タイマBを更新することにより、遊技機情報通知タイマBの記憶領域を「1」バイトとすることができ、遊技媒体数制御RWMの容量を削減することができる。
また、遊技機情報通知タイマBに「1」加算する演算命令としては、ICPLD命令が挙げられる。
なお、上記例では遊技機情報通知タイマBに「1」加算する命令を実行しているが、「1」減算する命令としてもよい。減算命令の場合は、電源投入時に遊技機情報通知タイマBに初期値として「200」を記憶し、その後「0」となったときに「200」を記憶してもよい。あるいは、電源投入時に遊技機情報通知タイマBに初期値として「199」を記憶し、その後、キャリーフラグが「1」となったときに「200」を記憶してもよい。
また、遊技機情報通知タイマBの更新を加算命令としているため、減算命令にした場合と比べて、初期値をセットする処理を省略できる(電源投入時の初期化処理により初期値は「0」となる)分、処理速度の向上やプログラム容量を削減することができる。
ステップS726では、遊技機情報通知タイマBの時間が経過したか否かを判断する。ここでは、遊技機情報通知タイマBの値が「1」加算により「0」となったときは、遊技機情報通知タイマBの時間が経過したと判断する。一方、遊技機情報通知タイマBの値が「1」加算により「0」にならなかったときは、遊技機情報通知タイマBの時間が経過していないと判断する。
遊技機情報通知タイマBの時間が経過したと判断したときはステップS727に進み、経過していないと判断したときはステップS821に進む。
ステップS727では、遊技機情報通知タイマCに「1」加算する処理を実行する。
ここでの加算処理は、特殊加算命令が用いられる。具体的には、遊技機情報通知タイマBに「2」未満の値が記憶されているときは遊技機情報通知タイマCの値に「1」を加算し、遊技機情報通知タイマCの値が「2」未満でないとき(すなわち、正常動作状況下において「3」が記憶されているとき)は、遊技機情報通知タイマCに「0」を記憶する演算処理である。
遊技機情報通知タイマCに「1」を加算する特殊加算命令を用いた演算処理を行うと、遊技機情報通知タイマCの値として「0」~「2」を循環させることができる。
また、遊技機情報通知タイマCに「2」が記憶されているときに「1」を加算する状況とは、遊技機情報通知タイマBが「0」となった契機が「3」回到来した状況に相当する。換言すれば、割込み処理が「300」回実行されるごとに遊技機情報通知タイマBが「1」加算され、遊技機情報通知タイマBが「200」回更新されるごとに遊技機情報通知タイマCに「1」が加算されることから、「300回×200回×3回=180000回」の割込み処理が実行された(「180」秒が経過した)状況である。
そして、本来であれば、「180000」回の割込み処理が実行されたか否かを計測するためには「3」バイトの記憶領域を設けなければならないが、遊技機情報通知タイマAの値に基づいて遊技機情報通知タイマBの値を更新し、さらに遊技機情報通知タイマBの値に基づいて遊技機情報通知タイマCの値を更新するので、遊技機情報通知タイマCの記憶領域を「1」バイトとすることができ、RWM103の記憶容量を削減することができる。
また、遊技機情報通知タイマCに「1」加算する演算命令としては、上述したICPLD命令が挙げられる。
なお、上記例では遊技機情報通知タイマCに「1」加算する命令を実行しているが、減算命令としてもよい。減算命令の場合は、電源投入時に遊技機情報通知タイマCの値として初期値「3」を記憶し、その後「0」となったときに「3」を記憶してもよい。あるいは、電源投入時に遊技機情報通知タイマCの値として初期値「2」を記憶し、その後、キャリーフラグが「1」となったときに「3」を記憶してもよい。
ただし、本実施形態のように、遊技機情報通知タイマCの更新を加算命令とすれば、減算命令にした場合と比べて、初期値をセットする処理を省略できる(電源投入時の初期化処理により初期値は「0」となる)分、処理速度の向上やプログラム容量を削減することができる。
ステップS728では、遊技機情報通知タイマCの時間が経過したか否かを判断する。ここでは、遊技機情報通知タイマCの値が「1」加算により「0」となったときは、遊技機情報通知タイマCの時間が経過したと判断する。一方、遊技機情報通知タイマCの値が「1」加算により「0」にならなかったときは、遊技機情報通知タイマCの時間が経過していないと判断する。
遊技機情報通知タイマCの時間が経過したと判断したときはステップS729に進み、経過していないと判断したときはステップS730に進む。
なお、ステップS726で「Yes」と判断されたときに限り、ステップS727の処理を実行するようにしている。遊技機情報通知タイマCを更新するタイミングは、遊技機情報通知タイマBが「0」になったときに限られるからである。さらに、その次のステップS728において遊技機情報通知タイマCの時間が経過したか否かを判断するのは、ステップS726で「Yes」と判断された場合に限られる。遊技機情報通知タイマCの時間が経過したか否かは、「180」秒の周期が到来したか否かであり、「180」秒の周期が到来するのは、必ず「60」秒の周期が到来している(遊技機情報通知タイマBの時間が経過している)からである。
ステップS729では、遊技機性能情報通知要求フラグをセットする。この処理は、遊技機情報通知要求フラグの「D0」ビットに「1」を記憶する処理である。次のステップS730では、遊技機設置情報通知要求フラグをセットする。この処理は、遊技機情報通知要求フラグの「D1」ビットに「1」を記憶する処理である。
すなわち、遊技機情報通知タイマCの時間が経過したと判断されたときは、「180」秒の周期が到来したときであり、「180」秒の周期には「60」秒の周期が含まれるため、遊技機性能情報を通知するタイミングが到来し、かつ遊技機設置情報を通知するタイミングが到来したときである。したがって、遊技機情報通知要求フラグの「D0」及び「D1」ビットの双方を「1」にする。
これに対し、ステップS726において遊技機情報通知タイマBの時間が経過したと判断され、かつ、遊技機情報通知タイマCの時間が経過していないと判断されたときは、「60」秒の周期(遊技機設置情報を通知するタイミング)が到来しているが、「180」秒の周期(遊技機性能情報を通知するタイミング)が到来していないときである。したがって、この場合には、ステップS729の処理を実行せず、ステップS730の処理のみを実行し、遊技機情報通知要求フラグの「D1」ビットだけを「1」にする。
このように、遊技機設置情報を送信するタイミング、及び遊技機性能情報を送信するタイミングをフラグで管理するため、ホールコン・不正監視情報と、遊技機設置情報と、遊技機性能情報とを送信する処理を簡略化できる。換言すれば、各種情報に対応したタイマを連動させることで、個別に管理することなく送信することが可能となる。さらに、ホールコン・不正監視情報と、遊技機設置情報と、遊技機性能情報とを送信するためのタイマの計測開始タイミングがずれることがないため、正確に送信することが可能となる。
ステップS821では、遊技媒体数制御手段は、主制御状態に変化があったか否かを判断する。ここで、「主制御状態」とは、本実施形態では役物非作動時(非特別(BB、RB、CB等)遊技)や役物作動時(特別遊技)が挙げられる。さらには、非ATやATを含めてもよい。
主制御手段は、遊技媒体数制御手段に対し、主制御状態の送信タイミングが到来するごと(たとえばタイマ割込み処理ごと)に、主制御状態の情報を送信する。
一方、遊技媒体数制御手段は、新主制御状態記憶領域と、旧主制御状態記憶領域とを有している。遊技媒体数制御手段は、主制御手段から主制御状態の情報を受信したときは、新主制御状態記憶領域に受信した主制御状態の情報を記憶する。一方、後述するホールコン・不正監視情報セットが実行されると、遊技媒体数制御手段は、新主制御状態記憶領域に記憶されている主制御状態の情報を、旧主制御状態記憶領域に記憶する(後述する図64のステップS953及びS954)。このため、ステップS821の判断時には、新主制御状態記憶領域と旧主制御状態記憶領域の双方に、主制御状態の情報が記憶されている。
このように、主制御手段から受信した主制御状態の情報を、新主制御状態記憶領域と旧主制御状態記憶領域とに分けて記憶しておくことにより、主制御手段から主制御状態の情報を受信していなくても、主制御状態に変化がないことを判断することができ、遊技機情報の優先度を把握することができる。
そして、ステップS821では、遊技媒体数制御手段は、新主制御状態記憶領域に記憶された主制御状態の情報と旧主制御状態記憶領域に記憶された主制御状態の情報とを対比し、両者が同一であるときは主制御状態に変化なしと判断し、両者が異なるときは主制御状態に変化ありと判断する。主制御状態に変化があると判断したときはステップS823に進み、変化がないと判断したときはステップS822に進む。
ここで、主制御状態に応じた処理を具体的に説明する。
たとえば新主制御状態記憶領域に「0」が記憶され、旧主制御状態記憶領域に「0」が記憶されているとする。
この状態において、ステップS821の判断タイミングが到来すると、新主制御状態記憶領域の値(「0」)と旧主制御状態記憶領域の値(「0」)は同一であるので、主制御状態に変化はないと判断される。
また、ホールコン・不正監視情報セットが実行されると、新主制御状態記憶領域の値「0」が取得され、旧主制御状態記憶領域に保存される。ただし、この処理が実行されても、新主制御状態記憶領域の値及び旧主制御状態記憶領域の値は「0」のままである。
主制御手段は、主制御状態が変化すると(ここでは、「0」の状態から「1」の状態に変化したものとする)、遊技媒体数制御手段に対し、主制御状態の情報「1」を送信する。遊技媒体数制御手段は、主制御状態の情報「1」を受信すると、新主制御状態記憶領域に保存する。これにより、新主制御状態記憶領域の値は、「0」から「1」に更新される。
この状態において、ステップS821の判断タイミングが到来すると、新主制御状態記憶領域の値(「1」)と旧主制御状態記憶領域の値(「0」)は異なるので、主制御状態に変化があると判断される。
また、ホールコン・不正監視情報セットが実行されると、新主制御状態記憶領域の値「1」が取得され、旧主制御状態記憶領域に保存される。これにより、新主制御状態記憶領域の値及び旧主制御状態記憶領域の値はいずれも「1」となる。
したがって、「300」ms経過後に再度遊技機情報管理が実行されると、ステップS821では、新主制御状態記憶領域の値及び旧主制御状態記憶領域の値はいずれも「1」であるから主制御状態に変化はないと判断される。
このように、主制御状態に変化があったときは、主制御状態に変化ありと判断されるのは1回だけとなる。
次のステップS822では、遊技媒体数制御手段は、遊技媒体のベット数情報が「0」でないか否か、及び遊技媒体の付与数情報が「0」でないか否かを判断する。
第5実施形態では、遊技媒体数制御RWMには、今回遊技のベット数情報を記憶するベット数情報記憶領域と、今回遊技の遊技媒体の付与数情報を記憶する付与数情報記憶領域とを有している。これらのベット数情報記憶領域や付与数情報記憶領域は、ベット処理や付与処理で用いられる記憶領域や、役比モニタで用いられるベット数や付与数の記憶領域とは異なる記憶領域であり、遊技機情報管理で用いられるための記憶領域である。
遊技媒体数制御手段は、遊技媒体がベットされただけではベット数情報記憶領域にベット数情報を記憶しない。主制御手段は、遊技が開始されると、スタートスイッチ受付けコマンドを遊技媒体数制御手段に送信する。遊技媒体数制御制御手段は、スタートスイッチ受付けコマンドを受信したとき(ベット数が確定したとき)にベット数を生成し、ベット数情報記憶領域にベット数情報を記憶する。
また、主制御手段は、全リールが停止したと判断したときは、全リール停止コマンドを遊技媒体数制御手段に送信する。遊技媒体数制御手段は、全リール停止コマンドを受信したときに、遊技媒体の付与数を生成して付与数情報記憶領域に付与数情報を記憶する。
そして、ステップS822のタイミングにおいて、遊技媒体数制御手段は、ベット数情報記憶領域に記憶された値が「0」でないか否か、及び付与数情報記憶領域に記憶された値が「0」でないか否かを判断する。ベット数情報記憶領域に記憶された値が「0」でないとき、又は付与数情報記憶領域に記憶された値が「0」でないときは、ステップS823に進む。これに対し、ベット数情報記憶領域に記憶された値が「0」であり、かつ、付与数情報記憶領域に記憶された値が「0」である場合には、ステップS731に進む。
なお、ホールコン・不正監視情報セットが実行されると、後述する図64のステップS952において、ベット数情報記憶領域に記憶されているベット数情報及び付与数情報記憶領域に記憶されている付与数情報がクリアされる。このため、ステップS822においてベット数情報又は付与数情報が「0」でないと判断された後、「300」ms経過後に再度遊技機情報管理が実行されると、ステップS822では、ベット数情報及び付与数情報はいずれも「0」であるから「No」と判断される。
なお、遊技媒体が付与されてから「300」ms以内に次回遊技が開始されたり、遊技が開始されてから「300」ms以内に遊技媒体が付与されたりすれば、次回の遊技機情報管理においてもステップS822で「Yes」と判断されることになるが、そのような事象は稀であると考えられる。
ステップS731では、遊技媒体数制御手段は、遊技機設置情報の通知要求があるか否かを判断する。ここでは、遊技機設置情報通知要求フラグがセットされているか否かを判断する。したがって、遊技機情報通知要求フラグの「D1」ビットが「1」であれば遊技機設置情報の通知要求があると判断し、遊技機情報通知要求フラグの「D1」ビットが「1」でなければ遊技機設置情報の通知要求がないと判断する。
遊技機設置情報の通知要求があると判断したときはステップS825に進み、遊技機設置情報の通知要求がないと判断したときはステップS732に進む。
ステップS732では、遊技媒体数制御手段は、遊技機性能情報の通知要求があるか否かを判断する。ここでは、遊技機性能情報通知要求フラグがセットされているか否かを判断する。したがって、遊技機情報通知要求フラグの「D0」ビットが「1」であれば遊技機性能情報の通知要求があると判断し、遊技機情報通知要求フラグの「D0」ビットが「1」でなければ遊技機性能情報の通知要求がないと判断する。
遊技機性能情報の通知要求があると判断したときはステップS824に進み、遊技機性能情報の通知要求がないと判断したときはステップS823に進む。
ステップS823では、遊技媒体数制御手段は、ホールコン・不正監視情報セット(I_INF_INJ )を実行する。この処理は、後述する図64に示す処理であり、ホールコン・不正監視情報を含む遊技機情報通知を出力する処理である。
なお、ステップS722において、遊技媒体数制御手段は、遊技機情報通知タイマAの更新前の値が「0」であると判断したときは、遊技機情報通知タイマBや遊技機情報通知タイマCの時間が経過したか否かの判断(ステップS726やステップS728の処理)を実行することなく、ホールコン・不正監視情報セットを実行する。その理由は、遊技機情報通知タイマAの更新前の値が「0」であるのは、電源投入直後の最初の割込み処理での減算処理時に限られるからである。換言すれば、電源投入直後の最初の割込み処理での減算処理時に、「60」秒や「180」秒が経過していることはあり得ないからである。このような場合には、遊技機情報通知タイマBや遊技機情報通知タイマCの時間が経過したか否かの判断を実行することなくホールコン・不正監視情報セットを実行することで、処理の迅速化(送信処理の高速化)を図ることができる。
また、ステップS731で遊技機設置情報の通知要求があるか否かを判断し、遊技機設置情報の通知要求がないと判断したときは、ステップS732に進んで遊技機性能情報の通知要求があるか否かを判断する処理順序となっている。このような処理順序にすることにより、遊技機設置情報通知要求フラグと遊技機性能情報通知要求フラグの両方がセットされている状況(「180」秒周期が到来した状況)においては、先に、遊技機設置情報の通知要求があるか否かを判断することにより、遊技機性能情報の送信処理よりも先に遊技機設置情報の送信処理を実行できる(優先できる)ように構成している。
さらにまた、ステップS823におけるホールコン・不正監視情報セットでは、その時点での最新の情報が送信される。
たとえば、ホールコン・不正監視情報に含まれる総遊技媒体数は、送信時点における遊技媒体数記憶手段103a(_NB_MEDAL )に記憶されている情報を送信する。換言すれば、ホールコン・不正監視情報の送信タイミングである「300」msごとの送信タイミングにおいて遊技機設置情報や遊技機性能情報の送信タイミングと重なった場合には、ステップS821又はステップS822で「Yes」と判断される場合を除き、遊技機設置情報や遊技機性能情報の送信が優先されるため、当該タイミングではホールコン・不正監視情報を送信せず、次の「300」ms経過後(遊技機設置情報の送信タイミングと重なった場合)又は「600」ms経過後(遊技機設置情報及び遊技機性能情報の送信タイミングと重なった場合)にホールコン・不正監視情報を送信する。
この「「300」ms経過後又は「600」ms経過後に送信するホールコン・不正監視情報」については、遊技機設置情報の送信タイミングと重なった時点でのホールコン・不正監視情報ではなく、「300」ms経過後又は「600」ms経過後にホールコン・不正監視情報を送信するタイミングで取得したホールコン・不正監視情報である。したがって、ホールコン・不正監視情報の送信タイミングが遅れても、最新の情報を送信することが可能となる。
ステップS731からステップS825に進むと、遊技媒体数制御手段は、遊技機設置情報セット(I_INF_INS )を実行する。この処理は、後述する図66に示す処理であり、遊技機設置情報を含む遊技機情報通知を出力する処理である。また、このときに送信する内容は、このタイミングで取得した遊技媒体数制御ROM等に記憶されている情報である。
一方、ステップS732からステップS824に進むと、遊技媒体数制御手段は、遊技機性能情報セット(I_INF_INJ )を実行する。この処理は、後述する図65に示す処理であり、遊技機性能情報を含む遊技機情報通知を出力する処理である。また、このときに送信する内容は、このタイミングで取得した遊技媒体数制御RWM等に記憶されている情報である。
以上のようにして、ステップS821及びS822の判断タイミングで、主制御状態に変化がなく、かつ遊技媒体のベット数情報が「0」及び付与数情報が「0」であるときは、遊技機設置情報及び遊技機性能情報がホールコン・不正監視情報より優先して送信される。
これに対し、ステップS821及びS822の判断タイミングで、主制御状態に変化がある場合、又は遊技媒体のベット数情報が「0」でない場合若しくは付与数情報が「0」でない場合は、ホールコン・不正監視情報が、遊技機設置情報及び遊技機性能情報より優先して送信される。
図63に示す処理を実行することにより、遊技機情報通知では、優先度の高い遊技機情報を送信することが可能となる。そして、優先度の高い遊技機情報を送信できるようにしつつ、プログラムを複雑にすることなく(プログラム容量を大きくすることなく)、処理の高速化を図ることができる。
図64は、図63のステップS823におけるホールコン・不正監視情報セット(I_INF_INJ )を示すフローチャートである。
まず、ステップS951では、遊技媒体数制御手段は、ホールコン・不正監視情報をセットする。この処理は、ホールコン・不正監視情報を含む遊技機情報通知を送信する処理である。
次のステップS952では、遊技媒体数制御手段は、ベット数情報及び付与数情報をクリアする。この処理は、上述したベット数情報記憶領域に記憶されているベット数情報及び付与数情報記憶領域に記憶されている付与数情報を「0」にする処理である。
このように、ホールコン・不正監視情報セットが実行されるごとにベット数情報がクリアされるので、次の遊技情報通知を送信するタイミングでは、ベット数情報が「0」でないことに基づいてホールコン・不正監視情報の送信が優先されることはない。
同様に、ホールコン・不正監視情報セットが実行されるごとに付与数情報がクリアされるので、次の遊技情報通知を送信するタイミングでは、付与数情報が「0」でないことに基づいてホールコン・不正監視情報の送信が優先されることはない。
次のステップS953では、遊技媒体数制御手段は、新主制御状態記憶領域に記憶されている主制御状態を取得する。そして、次のステップS954に進み、ステップS953で取得した主制御状態を、旧主制御状態記憶領域に保存する。これらのステップS953及びS954の処理により、旧主制御状態記憶領域に記憶される主制御状態が更新される。換言すれば、ホールコン・不正監視情報が実行されるごとに、旧主制御状態記憶領域に記憶される主制御状態が更新される。
次にステップS955に進み、遊技媒体数制御手段は、通番を更新(「1」加算)する。当該通番も、計数通番等と同様に、電源復帰直後の送信時には通番として「0」を送信し、それ以降は、「1」~「255」のいずれかを送信できるように(「1」~「255」を循環するように)更新している。この通番は、ホールコン・不正監視情報、遊技機設置情報、遊技機性能情報の3つの情報のうちいずれかを送信したときに更新される通番である。換言すれば、ホールコン・不正監視情報、遊技機設置情報、遊技機性能情報で同じ通番を用いているため、電源が投入されている状況下においては、「300」msの周期で通番が更新されるように構成されている。そして本フローチャートによる処理を終了する。
図65は、図63のステップS824における遊技機性能情報セット(I_INF_ABI )を示すフローチャートである。
まず、ステップS971では、遊技媒体数制御手段は、遊技機性能情報をセットする。この処理は、遊技機能性情報を含む遊技機情報通知を送信する処理である。次にステップS972に進み、遊技媒体数制御手段は、遊技機性能情報通知要求フラグをクリアする。具体的には、遊技機情報通知要求フラグの「D0」ビットを「0」にする。この処理は、図41のステップS737の処理と同じである。その後、ステップS973に進み、遊技媒体数制御手段は、通番を更新(「1」加算)する。そして本フローチャートによる処理を終了する。
図66は、図63のステップS825における遊技機設置情報セット(I_INF_INS )を示すフローチャートである。
まず、ステップS981では、遊技媒体数制御手段は、遊技機設置情報をセットする。この処理は、遊技機設置情報を含む遊技機情報通知を送信する処理である。次にステップS982に進み、遊技媒体数制御手段は、遊技機設置情報通知要求フラグをクリアする。具体的には、遊技機情報通知要求フラグの「D1」ビットを「0」にする。この処理は、図41のステップS735の処理と同じである。その後、ステップS983に進み、遊技媒体数制御手段は、通番を更新(「1」加算)する。そして本フローチャートによる処理を終了する。
続いて、第5実施形態における遊技機情報通知の送信を時系列で説明する。
図67は、第5実施形態における遊技機情報通知タイマの更新シーケンスを示す図(タイムチャート)であり、第2実施形態の図40に相当する図である。図63中、ステップS821で「No」と判断され、かつステップS822で「No」と判断される場合は、遊技機情報通知の優先度は第2実施形態と同じであり、図40に示す更新シーケンスと同じである。
これに対し、図67では、ホールコン・不正監視情報が遊技機設置情報や遊技機性能情報よりも優先される場合の例を示している。
図67において、「T1」のタイミングで、ホールコン・不正監視情報送信用タイマ値が「1」から「300」になった例を示しており、さらにこのタイミングにおいて、主制御状態が変化していたものとする。さらに「T1」のタイミングでは、遊技機設置情報送信用タイマ値が「199」から「0」になり、遊技機設置情報通知要求フラグ(D1ビット)が「1」になった例を示している(図中「*2」)。換言すれば、「T1」のタイミングでは、ホールコン・不正監視情報及び遊技機設置情報の送信タイミングが重複して到来している例である。
そして、主制御状態が変化しているホールコン・不正監視情報と遊技機設置情報とでは、主制御状態が変化しているホールコン・不正監視情報の送信が優先される。したがって、「T1」のタイミングでは、ホールコン・不正監視情報が送信される(図中「*1」)。このため、「T1」のタイミングでは、遊技機設置情報通知要求フラグ(D1ビット)が「1」になるものの、遊技機設置情報は送信されない(図中「*2」)。
次に、「T1」のタイミングから「300」msを経過し、「T2」のタイミングになったときは、主制御状態に変化はなく、かつベット数情報及び付与数情報のいずれも「0」であるものとする。この場合、ホールコン・不正監視情報と遊技機設置情報とでは、遊技機設置情報の送信が優先される。このため、「T2」のタイミングでは、ホールコン・不正監視情報は送信されず(図中「*3」)、遊技機設置情報が送信される(図中「*4」)。そして、この送信後に遊技機設置情報通知要求フラグ(D1ビット)が「0」になる。
次に、「T3」のタイミングで、ホールコン・不正監視情報送信用タイマ値が「1」から「300」になった例を示しており、さらにこのタイミングにおいて付与数情報が「0」でないものとする。また、「T3」のタイミングでは、遊技機設置情報送信用タイマ値が「199」から「0」になり、遊技機設置情報通知要求フラグ(D1ビット)が「1」になった例を示している(図中「*6」)。さらに「T3」のタイミングでは、遊技機性能情報送信用タイマ値が「2」から「0」になり、遊技機性能情報通知要求フラグ(D0ビット)が「1」になった例を示している(図中「*7」)。換言すれば、「T3」のタイミングでは、ホールコン・不正監視情報、遊技機設置情報、及び遊技機性能情報の送信タイミングが重複して到来している例である。
そして、付与数情報が「0」でないホールコン・不正監視情報、遊技機設置情報、及び遊技機性能情報では、付与数情報が「0」でないホールコン・不正監視情報の送信が優先される。したがって、「T3」のタイミングでは、ホールコン・不正監視情報が送信される(図中「*5」)。このため、「T3」のタイミングでは、遊技機設置情報通知要求フラグ(D1ビット)が「1」になるものの、遊技機設置情報は送信されない(図中「*6」)。
同様に、「T3」のタイミングでは、遊技機性能情報通知要求フラグ(D0ビット)が「1」になるものの、遊技機性能情報は送信されない(図中「*7」)。
次に、「T3」のタイミングから「300」msを経過し、「T4」のタイミングになったときは、主制御状態に変化はなく、かつベット数情報及び付与数情報のいずれも「0」であるものとする。この場合、当該ホールコン・不正監視情報、遊技機設置情報、及び遊技機性能情報では、遊技機設置情報の送信が優先される。このため、「T4」のタイミングでは、ホールコン・不正監視情報は送信されず(図中「*8」)、かつ遊技機性能情報は送信されず(図中「*10」)、遊技機設置情報が送信される(図中「*9」)。そして、この送信後に遊技機設置情報通知要求フラグ(D1ビット)が「0」になる。
さらに「T4」のタイミングから「300」msを経過し、「T5」のタイミングになったときは、主制御状態に変化はなく、かつベット数情報及び付与数情報のいずれも「0」であるものとする。なお、「T5」のタイミングでは、遊技機設置情報通知要求フラグ(D1ビット)は「0」であるので、遊技機設置情報の送信タイミングではない。一方、「T5」のタイミングでは、遊技機性能情報通知要求フラグ(D0ビット)は「1」であるので、遊技機性能情報の送信タイミングである。
この場合、当該ホールコン・不正監視情報と遊技機性能情報とでは、遊技機性能情報の送信が優先される。このため、「T5」のタイミングでは、ホールコン・不正監視情報は送信されず(図中「*11」)、遊技機性能情報が送信される(図中「*12」)。そして、この送信後に遊技機性能情報通知要求フラグ(D0ビット)が「0」になる。
図68は、図61のステップS803における計数制御(I_CAL_CTL )を示すフローチャートである。この処理は、第2実施形態の図37に相当する処理である。以下、第5実施形態の計数処理について、改めて説明する。
なお、第2実施形態と同様に、第5実施形態においても、遊技媒体数制御RWMには以下の記憶領域を備える。
(a)計数中フラグ(_FL_CAL_EXE )
計数中であるか否かを示すデータを記憶する記憶領域である。
(b)計数値記憶領域(_CT_CAL_VAL )
計数通知時に送信する計数値(計数遊技媒体数)を記憶する記憶領域である。
(c)計数累積値記憶領域(_CT_CAL_ALL )
計数累積値(計数累積遊技媒体数)を記憶する記憶領域である。
(d)計数通番記憶領域(_NB_CAL_NUM)
計数通番を記憶する記憶領域である。
まず、ステップS831では、遊技媒体数制御手段は、計数通知タイミングであるか否かを判断する。「計数通知タイミング」とは、図32に示すように、遊技機情報通知を送信した後から「100」ms経過後であるタイミングを指す。
計数通知タイミングであると判断されたときはステップS832に進み、計数通知タイミングでないと判断されたときは本フローチャートによる処理を終了する。
計数通知タイミングであると判断され、ステップS832に進むと、遊技媒体数制御手段は、計数中フラグをクリア(「0」に)する。次にステップS833に進み、遊技媒体数制御手段は、計数実行フラグが「0」であるか否かを判断する。計数実行フラグが「0」でないと判断されたときはステップS834に進み、計数実行フラグが「0」であると判断されたときはステップS848に進む。なお、計数実行フラグが「0」であるというのは、計数スイッチ47が操作されていないことを意味する。
ステップS834では、遊技媒体数制御手段は、総遊技媒体数が「0」であるか否かを判断する。総遊技媒体数が「0」でないと判断したときはステップS835に進み、総遊技媒体数が「0」であると判断したときはステップS848に進む。
ステップS835では、計数値(計数遊技媒体数)として「50」をセットする。
次にステップS836に進み、遊技媒体数制御手段は、計数実行フラグが「2」であるか否かを判断する。なお、計数実行フラグが「2」であるというのは、計数スイッチ47が長押しされたことを意味する。計数実行フラグが「2」であると判断されたときはステップS837に進み、計数実行フラグが「2」でないと判断されたときはステップS847に進む。
ステップS837では、遊技媒体数制御手段は、総遊技媒体数が「50」以上であるか否かを判断する。総遊技媒体数が「50」以上であると判断したときはステップS839に進み、総遊技媒体数が「50」以上でないと判断したときはステップS838に進む。
ステップS838では、総遊技媒体数を計数値としてセットする。そして次のステップS839に進んで計数値を保存する。
一方、ステップS833において計数実行フラグが「0」である(計数スイッチ47が操作されていない)と判断され、ステップS848に進むと、遊技媒体数制御手段は、計数値として「0」をセットする。そしてステップS839に進んで計数値「0」を保存する。
また、ステップS836において計数実行フラグが「2」でないと判断したときはステップS847に進み、計数値「1」をセットする。そしてステップS839に進んで計数値「1」を保存する。ここで、ステップS833で「No」と判断され、かつステップS836で「No」と判断されるのは、計数実行フラグが「1」のときであるので、計数スイッチ47が短押しされたことを意味する。
なお、本処理が開始される前は、計数値は「0」であるので(前回処理のステップS844で計数値がクリアされているため)、ステップS848の処理はなくてもよい。したがって、ステップS833で「Yes」と判断されたときは、ステップS839に進むようにしてもよい。
以上より、
(1)計数スイッチ47が操作されていないときは、計数値「0」がセットされる。
(2)計数スイッチ47が操作された場合であっても、総遊技媒体数が「0」であるときは、計数値「0」がセットされる。
(3)計数スイッチ47が短押しされた場合において、総遊技媒体数が「0」でないときは、計数値「1」がセットされる。
(4)計数スイッチ47が長押しされた場合において、総遊技媒体数が「50」以上であるときは、計数値「50」がセットされる。
(5)計数スイッチ47が長押しされた場合において、総遊技媒体数が「50」未満であるときは、総遊技媒体数が計数値としてセットされる。
こととなる。
次のステップS840では、遊技媒体数制御手段は、総遊技媒体数を更新する。この処理は、総遊技媒体数から計数値を減算する処理である。
次にステップS841に進み、遊技媒体数制御手段は、計数累積値記憶領域の値に計数値を加算して、計数累積値記憶領域の値を更新する。
次にステップS842に進み、遊技媒体数制御手段は、計数中フラグをセット(「FFh」を記憶)する。
そして、ステップS843に進んで、遊技媒体数制御手段は、計数通知を出力する。具体的には、電文長として「0x07h」を出力し、コマンドとして「0x02h」を出力し、計数通番として、計数通番記憶領域に記憶されている計数通番を出力し、計数値として、計数値記憶領域に記憶されている計数値を出力し、計数累積値として、計数累積値記憶領域に記憶されている計数累積値を出力し、出力した各種データのチェックサム値(1バイト)を出力する(図30参照)。
次のステップS844では、遊技媒体数制御手段は、計数値をクリアする。なお、計数累積値記憶領域に記憶されている値は、計数通知を出力する(した)タイミングではクリアしない。
次にステップS845に進み、遊技媒体数制御手段は、計数通番を更新する処理(「+1」にする処理)を実行する。なお、計数通番が「255(D)」であるときに「+1」をした結果は「0」となるため、「0」となった場合には、再度、計数通番を更新する処理(「+1」する処理)を実行する。
また、遊技媒体数制御手段は、計数中フラグに基づいた情報を主制御手段に送信する。これにより、主制御手段は、計数中であることを判断することができる。また、たとえば主制御手段から副制御手段に対して計数中であることを示す情報を送信することにより、副制御手段は、計数中に対応した演出を行うことができる。
次にステップS846に進み、計数実行フラグをクリアする(「0」にする)。そして本フローチャートによる処理を終了する。
なお、第5実施形態においても、第2実施形態と同様に、設定変更モード中や設定確認モード中においても、計数スイッチ47の操作に基づく計数が可能である。
しかし、遊技媒体をベット可能な状況下で計数スイッチ47が操作された場合には、計数スイッチ47の操作に基づいた演出を実行するが、設定変更モード中や設定確認モード中に計数スイッチ47が操作された場合には、計数スイッチ47の操作に基づく演出を実行しないようにしてもよい。このように構成にするのは、設定変更モード中や設定確認モード中に計数スイッチ47が操作されるような場合には、ホール店員が計数している可能性が高いため(遊技者ではない可能性が高いため)である。
一方、設定変更モード中や設定確認モード中に計数スイッチ47が操作された場合には、設定変更モード中や設定確認モード中の専用の画面を画像表示装置23に表示したり、音声を出力してもよい。このようにすれば、ホール店員に、必要な情報を提供することができる。さらに、設定変更モード中や設定確認モード中の専用の画面を表示しつつ、計数中であることを示す報知(たとえば「計数中です」と画面に表示すること)を行ってもよい。この場合の報知は、上述した(遊技者に対する)計数中の演出とは異なるように構成されている。このような報知により、注意喚起を行うことができる。
また、本実施形態では、エラー中(予め定められた一部の(所定の)エラーでもよく、すべてのエラーでもよい。)であっても、計数スイッチ47の操作に基づく計数が可能である。
しかし、遊技媒体をベット可能な状況下で計数スイッチ47が操作された場合には、計数スイッチ47の操作に基づいた演出を実行するが、エラー中に計数スイッチ47が操作された場合には、計数スイッチ47の操作に基づく演出を実行しないようにしてもよい。このように構成にするのは、エラー中に計数スイッチ47が操作されるような場合には、不正行為が行われているおそれがあるためである。
さらに、エラーの種類に応じて計数処理が不可能な状況と可能な状況とを設けてもよい。たとえば、復帰不可能エラーの発生中は計数処理を不可能とし、復帰可能エラーの発生中は計数処理を可能とすることが挙げられる。
一方、エラー中に計数スイッチ47が操作された場合には、エラー中の専用の画面を画像表示装置23で表示することや、音声を出力してもよい。このようにすれば、ホール店員に、必要な情報を提供することができる。さらに、エラー中の専用の画面を表示しつつ計数中であることを示す報知(たとえば「計数中です」と画面に表示すること)を行ってもよい。この場合の報知は、上述した(遊技者に対する)計数中の演出とは異なるように構成されている。このような報知により、注意喚起を行うことができる。なお、このときに、精算スイッチ46によるベット数の返却はできないように構成されていてもよい。
また、第5実施形態においても、第2実施形態と同様に、遊技中(たとえばリール31が回転している状況下)であっても計数スイッチ47の操作に基づく計数が可能である。
しかし、遊技媒体をベット可能な状況下で計数スイッチ47が操作された場合には、計数スイッチ47の操作に基づいた演出を実行するが、遊技中に計数スイッチ47が操作された場合には、計数スイッチ47の操作に基づく演出を実行しないようにしてもよい。このように構成にするのは、遊技中に計数スイッチ47が操作されるような場合には、不正行為が行われているおそれがあるためである。
図69~図72は、それぞれ、図61のステップS805における貸出制御(I_LEN_CTL )の例1、例2、例3、及び例4を示すフローチャートである。すなわち、第5実施形態の貸出制御として4つを例示する。図69~図72において、同一の処理には同一ステップ番号を付している。
第5実施形態では、総遊技媒体が閾値「15000」に到達したときは、貸出しユニット200による遊技媒体の貸出しを新規又は制限し、総遊技媒体が閾値「15000」未満になったことに基づいて、再度、貸出しユニット200による遊技媒体の貸出しを許可可能とする。
遊技媒体数制御手段は、総遊技媒体数が閾値「15000」に到達したことに基づいて、貸出ユニット200からの貸出通知に対応する貸出受領結果応答として、「異常」を送信可能とする。図30に示すように、貸出遊技媒体数受領結果が正常であるときは貸出受領結果応答として「0」を送信し、貸出遊技媒体数受領結果が異常であるときは貸出し領結果応答として「1」を送信する。
貸出ユニット200は、貸出受領結果応答が異常であるときは、貸出しスイッチ202の操作を無効にする。具体的には、貸出スイッチ202が操作され、貸出し可能な遊技媒体を有する場合であっても、遊技媒体の貸出しを行わないようにする(貸出しを禁止する)。
遊技が消化され、総遊技媒体数が閾値「15000」未満になったときは、遊技媒体数制御手段は、貸出ユニット200からの貸出通知に対応する貸出受領結果応答として、正常を送信する。
貸出ユニット200は、貸出受領結果応答が正常であるときは、貸出しスイッチ202の操作を有効にする。
まず、図69の例1について説明する。
ステップS861では、遊技媒体数制御手段は、貸出通番を取得する。この処理は、遊技媒体数制御RWMに記憶している貸出通番(前回の貸出受領結果応答で送信した貸出通番)を読み込む処理である。次にステップS862に進み、読み込んだ貸出通番に「1」を加算する。次のステップS863では、「1」加算した貸出通番が「0」であるか否かを判断し、「0」でなければステップS864に進み、「0」であればステップS862に戻って再度「1」を加算してステップS863の処理を実行する。貸出通番は、電源投入直後のみが「0」であり、それ以外は「1」以上の値をとるためである。
ステップS864では、貸出通番が正常であるか否かを判断する。この処理は、貸出ユニット200から送信されてきた貸出通知中の貸出通番と、ステップS862で「1」加算した貸出通番とが一致するか否かを確認する処理である。貸出通番が正常であると判断したときはステップS865に進み、正常でないと判断したときはステップS873に進む。
ステップS865では、通番異常フラグをクリアする。貸出通番が正常でないと判断されたときは、遊技媒体数制御RWMに設けられた通番異常フラグの記憶領域に通番異常フラグ「1」をセットする(後述するステップS873)ので、すでに「1」が記憶されているか否かにかかわらず通番異常フラグをクリアする処理を実行する。
次のステップS866では、遊技媒体数制御手段は、貸出遊技媒体数が「0」であるか否かを判断する。貸出遊技媒体数は、貸出しユニット200から送信されてくる貸出通知中に含まれる(図30)。貸出遊技媒体数が「0」であると判断したときはステップS871に進み、貸出遊技媒体数が「0」でないと判断したときはステップS8671に進む。
ステップS867では、遊技媒体数制御手段は、総遊技媒体数を取得する。そして次のステップS868において、取得した総遊技媒体数が閾値「15000」以上であるか否かを判断する。閾値「15000」以上でないと判断したときはステップS869に進み、閾値「15000」以上であると判断したときはステップS874に進む。
ステップS869では、総遊技媒体数に貸出遊技媒体数を加算する。次のステップS870では、ステップS869で算出した総遊技媒体数を保存する。次のステップS871では、ステップS862で更新した貸出通番を保存する。さらに次のステップS872では、貸出遊技媒体数受領結果として、正常(「0」)を保存する。ステップS871で保存した貸出通番及びステップS872で保存した貸出遊技媒体数受領結果は、貸出受領結果応答に用いられる。
次にステップS875に進み、次に送信する貸出受領結果応答の電文長をセットする。そして次のステップS876において貸出受領結果応答をセットする。貸出受領結果応答は、図30に示したデータ構造を有する。そしてステップS877に進み、貸出制御コマンドセット処理を行う。この処理により、遊技媒体数制御手段は、図32に示すように、貸出しユニット200から貸出通知を受領したときは、「10」ms以内に、貸出受領結果応答を貸出しユニット200に送信する。
一方、ステップS864において貸出通番が正常でないと判断したときは、ステップS873に進んで通番異常フラグをセットする。さらに次のステップS874において、貸出遊技媒体数受領結果として、異常(「1」)を保存する。したがって、総遊技媒体数にかかわらず、貸出通番が異常であったときは、貸出遊技媒体数受領結果として異常をセットする。
また、ステップS868において、総遊技媒体数が閾値「15000」以上であると判断されたときも、ステップS874に進んで貸出遊技媒体数受領結果として異常をセットする。ステップS868において総遊技媒体数が閾値「15000」以上であると判断されたときは、ステップS869以降の処理には進まないので、総遊技媒体数に貸出遊技媒体数は加算されない。したがって、たとえば、貸出しユニット200から貸出遊技媒体数として「50」を示す貸出通知を受信した場合であっても、その時点で総遊技媒体数が閾値以上であるときは、総遊技媒体数に貸出遊技媒体数を加算する処理(総遊技媒体数を更新する処理)を行わない。
また、遊技媒体数制御手段から貸出しユニット200に対し、貸出遊技媒体数受領結果が異常である旨の貸出受領結果応答が送信され、貸出しユニット200がこれを受信したときは、貸出しユニット200は、貸出通知で送信した貸出遊技媒体数を減算しない。
以下に、具体例を挙げて説明する。
貸出しユニット200のその時点における貸出可能遊技媒体数が「N」であり、貸出しユニット200が貸出遊技媒体数「50」のデータを含む貸出通知を送信した場合に、遊技媒体数制御手段は、貸出通番が正常であり、かつ総遊技媒体数(この時点における総遊技媒体数を「M」とする。)が閾値未満であると判断したときは、総遊技媒体数を「M+50」に更新し、貸出遊技媒体数受領結果が正常である旨の貸出受領結果応答を貸出しユニット200に送信する。貸出しユニット200は、当該貸出受領結果応答を受信したときは、貸出可能遊技媒体数を「N-50」に更新する。
これに対し、貸出しユニット200のその時点における貸出可能遊技媒体数が「N」であり、貸出しユニット200が貸出遊技媒体数「50」のデータを含む貸出通知を送信した場合に、遊技媒体数制御手段は、総遊技媒体数「M」が閾値以上であると判断したときは、総遊技媒体数「M」を更新せず、かつ、貸出遊技媒体数受領結果が異常である旨の貸出受領結果応答を貸出しユニット200に送信する。貸出しユニット200は、当該貸出受領結果応答を受信したときは、貸出可能遊技媒体数「N」を維持する。
次に、図70(例2)について説明する。図70において、図69と異なる処理については、ステップ番号にアンダーラインを付している。以下、図69と異なる点について説明する。
図70において、ステップS868で総遊技媒体数が閾値「15000」以上でないと判断したときはステップS881に進む。ステップS881では、遊技媒体数制御手段は、ベット処理中であるか否かを判断する。遊技媒体数制御手段は、ベット処理を開始したときは、ベット処理中フラグ(遊技媒体数制御RWMに設けられている)をオンにし、ベット処理を終了したときは、ベット処理中フラグをオフにする。
そして、ステップS881では、遊技媒体数制御手段は、ベット処理中フラグがオンであるか否かを判断する。ベット処理中でないと判断したときはステップS869に進み、ベット処理中であると判断したときはステップS882に進む。
ステップS882では、ベット前の総遊技媒体数を取得する。ここでは、たとえば第1に、ベット処理を開始する前に、ベット処理直前の総遊技媒体数を記憶しておくことが挙げられる。あるいは第2に、その時点でのベット数を取得し、総遊技媒体数に当該ベット数を加算することにより、ベット前の総遊技媒体数を算出することが挙げられる。
次にステップS883に進み、ベット前の総遊技媒体数が閾値「15000」以上であるか否かを判断する。ベット前の総遊技媒体数が閾値「15000」以上であると判断したときはステップS874に進み、ベット前の総遊技媒体数が閾値「15000」以上でないと判断したときはステップS869に進む。
以上の処理により、ステップ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」がベットされる場合において、遊技媒体数「3」のベット処理後に、図70の処理が実行されたと仮定する。
この場合、総遊技媒体数「15001」からベット数「3」が減算されているので、ステップS868の判断時点における総遊技媒体数は「14998」となり、ステップS868では「No」と判断される。次にステップS881に進むと、ベット処理中でないので「No」と判断される。これにより、貸出しユニット200に対し、貸出受領結果応答として貸出遊技媒体数受領結果が正常である旨のデータが送信されるので、貸出しユニット200は、遊技媒体の貸出しを許可する。
これに対し、図69の例では、図70と異なり、ステップS881~S883の処理を有さない。このため、ベット処理中であっても、総遊技媒体数が閾値「15000」未満となった時点で、ステップS868で「No」と判断されるので、貸出しユニット200に対し、貸出受領結果応答として貸出遊技媒体数受領結果が正常である旨のデータが送信される。これにより、貸出しユニット200は、遊技媒体の貸出しを許可する。
たとえば、総遊技媒体数「15000」の状態において「3」ベット処理が開始された場合において、最初の「1」ベット処理後に総遊技媒体数は「14999」となり、閾値を下回る。その結果、図69中、ステップS868で「No」と判断される。したがって、ベット処理中であっても総遊技媒体数が閾値を下回った時点で貸出しユニット200に対し、貸出受領結果応答として貸出遊技媒体数受領結果が正常である旨のデータが送信される。これにより、貸出しユニット200は、遊技媒体の貸出しを許可する。
このように処理すれば、いち早く、遊技媒体の貸出し許可を行うことができる。
次に、図71(例3)について説明する。図71において、図69と異なる処理については、ステップ番号にアンダーラインを付している。以下、図69と異なる点について説明する。
図71において、ステップS868で総遊技媒体数が閾値「15000」以上でないと判断したときはステップS884に進む。ステップS884では、遊技媒体数制御手段は、ベットされている遊技媒体を有するか否か(ベット数が「0」であるか否か)を判断する。ここで、遊技媒体がベットされたときは、遊技媒体数制御RWMのベット数記憶手段(たとえば図29中、ベット数記憶手段53a)に記憶されるので、このベット数記憶手段の値により、ベットされている遊技媒体を有するか否かを判断する。
ベットされている遊技媒体があると判断したときはステップS885に進み、ベットされている遊技媒体がないと判断したときはステップS869に進む。
ステップS885では、ベット数と総遊技媒体数とを加算した値を取得する。
次にステップS886に進み、ベット数と総遊技媒体数とを加算した値が閾値「15000」以上であるか否かを判断する。当該値が閾値「15000」以上であると判断したときはステップS874に進み、当該値が閾値「15000」以上でないと判断したときはステップS869に進む。
以上の処理により、ステップS868において総遊技媒体数が閾値「15000」以上でないと判断された場合であっても、ベット数と総遊技媒体数との合計が閾値「15000」以上である場合には、総遊技媒体数に貸出遊技媒体数は加算されず、貸出遊技媒体数受領結果として異常が保存され、貸出しユニット200に送信される。このため、貸出しユニット200側では、貸出しスイッチ202の操作が無効になり、遊技媒体の貸出しは禁止される。また、貸出通知にて送信された貸出遊技媒体は遊技機10に保存されないので、貸出しユニット200側でも貸出可能遊技媒体数は更新されない。
以下に具体例を挙げて説明する。
たとえば総遊技媒体数が「14999」であり、ベット数が「3」である場合には、ステップS868では「No」と判断される。次にステップS884に進むと、ベット数を有するので「Yes」と判断される。次のステップS885では、「14999+3=15002」が取得され、次のステップS886では「Yes」と判断される。これにより、貸出しユニット200に対し、貸出受領結果応答として貸出遊技媒体数受領結果が異常である旨のデータが送信されるので、貸出しユニット200は、遊技媒体の貸出しを禁止する(貸出しスイッチ202を無効にする)。
このように処理すれば、精算処理(ベットされている遊技媒体を総遊技媒体に戻す処理)とベット処理とを繰り返すことにより、貸出し許可と貸出し禁止とを繰り返してしまうことを防止できる。
一方、図69の例では、図71と異なり、ステップS884~S886の処理を有さない。このため、総遊技媒体数が「14999」であり、かつベット数が「3」である場合には、図69中、ステップS868で「No」と判断されるので、貸出しユニット200に対し、貸出受領結果応答として貸出遊技媒体数受領結果が正常である旨のデータが送信される。これにより、貸出しユニット200は、遊技媒体の貸出しを許可する。
このように処理すれば、遊技媒体の貸出しを可能な限り認めることができる。
次に、図72(例4)について説明する。図72において、図69と異なる処理については、ステップ番号にアンダーラインを付している。以下、図69と異なる点について説明する。
図72において、ステップS868で総遊技媒体数が閾値「15000」以上でないと判断したときはステップS891に進む。
ステップS891では、付与中フラグが「1」であるか否かを判断する。遊技媒体数制御RWMには、付与中フラグが設けられている。付与中フラグは、遊技媒体の付与処理が開始されたときにオンになり、付与処理が終了したときにオフになるフラグである。
したがって、小役が入賞し、遊技媒体が付与されるときは、付与中フラグが「1」にされた後、遊技媒体の付与処理が実行される。
ステップS891において、付与中フラグが「1」であると判断したときはステップS892に進み、付与中フラグが「1」でないと判断したときはステップS874に進む。
ステップS892では、遊技媒体数制御手段は、今回遊技で遊技媒体が付与される前の総遊技媒体数が閾値「15000」未満であったか否かを判断する。「Yes」と判断したときはステップS869に進み、「No」と判断したときはステップS874に進む。
これにより、総遊技媒体数が閾値「15000」以上である場合において、遊技媒体の付与中でないとき、又は遊技媒体の付与中であっても付与前の総遊技媒体数が既に閾値「15000」以上であるときは、総遊技媒体数に貸出遊技媒体数は加算されず、貸出しユニット200に対し、貸出受領結果応答として貸出遊技媒体数受領結果が異常である旨のデータが送信される。これにより、貸出しユニット200は、遊技媒体の貸出しを禁止する。
これに対し、総遊技媒体数が閾値「15000」以上である場合であっても、遊技媒体の付与中であり、今回遊技の遊技媒体の付与により総遊技媒体数が閾値「15000」以上になったときは、総遊技媒体数に貸出遊技媒体数が加算され、貸出しユニット200に対し、貸出受領結果応答として貸出遊技媒体数受領結果が正常である旨のデータが送信される。これにより、貸出しユニット200は、遊技媒体の貸出しを許可する。
以下に具体例を挙げて説明する。
たとえば今回遊技の遊技開始時における総遊技媒体数が「14998」であり、遊技媒体数「5」に対応する小役が入賞したと仮定する。そして、遊技媒体の付与処理が実行され、付与される遊技媒体数「5」のうち、「2」の遊技媒体の付与処理まで終了し、総遊技媒体数が「15000」に到達したとする。この時点において、総遊技媒体数が閾値「15000」以上になり、図72中、ステップS868では「Yes」と判断される。次にステップS891に進むと、遊技媒体の付与処理中であるので、「Yes」と判断される。さらに次のステップS892に進むと、今回遊技での遊技媒体の付与前の総遊技媒体数は「14998」であり、閾値未満であるから、ステップS892では「Yes」と判断される。これにより、貸出しユニット200に対し、貸出受領結果応答として貸出遊技媒体数受領結果が正常である旨のデータが送信されるので、貸出しユニット200は、遊技媒体の貸出しを許可する。
このように処理すれば、遊技媒体の付与処理中に遊技媒体の貸出し許可/禁止が切り替わらないようにすることができる。また、遊技媒体の付与処理中に貸出しが許可から禁止に切り替わると、遊技機10や貸出しユニット200が故障したのではないかと遊技者に誤解を与えるおそれがあるが、そのような誤解が生じることをなくすことができる。
一方、図69の例では、図72と異なり、ステップS891及びS892の処理を有さない。このため、今回遊技の遊技開始時(遊技媒体の付与処理前)の総遊技媒体数が「14998」であり、遊技媒体数「5」に対応する小役が入賞した場合において、「2」の遊技媒体が付与された時点で総遊技媒体数が閾値「15000」以上となり、ステップS868からステップS874に進む。したがって、貸出しユニット200に対し、貸出受領結果応答として貸出遊技媒体数受領結果が異常である旨のデータが送信される。これにより、貸出しユニット200は、遊技媒体の貸出しを禁止する。
このように処理すれば、貸出しにより総遊技媒体数が閾値以上になることを防止することができる。また、総遊技媒体数が閾値以上になったときに、迅速に遊技媒体の貸出しを禁止にすることができる。
続いて、副制御手段による閾値報知について説明する。
第5実施形態では、副制御手段は、総遊技媒体数が閾値に到達したことに基づいて、所定の報知を実行可能とする。
図73及び図74は、主制御手段による閾値処理を示すフローであり、図73は例1を示し、図74は例2を示す。図74では、図73と異なるステップ番号にアンダーラインを付している。
図73の例1において、ステップS901では、主制御手段は、総遊技媒体数が閾値「15000」に達したか否かを判断する。総遊技媒体数が閾値「15000」に達していないと判断したときはステップS902に進み、総遊技媒体数が閾値「15000」に達していると判断したときはステップS904に進む。
ステップS902では、主制御手段は、閾値到達フラグを「0」にする。閾値到達フラグは、主制御RWMに設けられており、閾値に到達していないときは「0」を記憶し、閾値に到達しているときは「1」を記憶する。次にステップS903に進み、閾値未到達情報をセットする。
これに対し、ステップS901において総遊技媒体数が閾値に到達していると判断されてステップS904に進むと、主制御手段は、閾値到達フラグを「1」にする。次にステップS905に進み、閾値到達情報をセットする。
主制御手段は、副制御手段に対し、閾値未到達情報(閾値到達フラグが「0」であるとき)又は閾値到達情報(閾値到達フラグが「1」であるとき)を送信する。ステップS903及びステップS905において閾値(未到達、到達)情報がセットされると、所定のタイミングで、主制御手段は、副制御手段に対し、閾値(未到達、到達)情報を送信する。そして本フローチャートによる処理を終了する。
また、図74の例2では、ステップS901において、主制御手段は、総遊技媒体数が閾値「15000」に達したか否かを判断する。総遊技媒体数が閾値「15000」に達していないと判断したときはステップS911に進み、総遊技媒体数が閾値「15000」に達していると判断したときはステップS904に進む。ステップS904に進んだ後の処理は図73(例1)と同様であるので説明を省略する。
ステップS911では、主制御手段は、遊技媒体がベットされているか否かを判断する。遊技媒体がベットされていると判断したときはステップS912に進み、ベットされていないと判断したときはステップS902に進む。
ステップS912では、主制御手段は、ベット数と総遊技媒体数とを加算した値を取得する。次にステップS913に進み、主制御手段は、ベット数と総遊技媒体数とを加算した値が閾値「15000」以上であるか否かを判断する。ベット数と総遊技媒体数とを加算した値が閾値「15000」以上でないと判断したときはステップS902に進む。ステップS902以降の処理は図73(例1)と同様であるので説明を省略する。
これに対し、ステップS913においてベット数と総遊技媒体数とを加算した値が閾値「15000」以上であると判断したときはステップS904に進む。
以上の処理により、図73の例1では、総遊技媒体数が閾値「15000」未満では閾値到達情報が副制御手段に送信されることはない。したがって、たとえばベット数が「3」であり、総遊技媒体数が「14999」である場合には、閾値未到達情報が副制御手段に送信される。
これに対し、図74の例2では、総遊技媒体数が閾値「15000」未満であっても、ベット数が「3」であるときは、双方の合計が閾値「15000」以上となるので、閾値到達情報が副制御手段に送信される。
詳細は後述するが、閾値到達情報が副制御手段に送信されると、副制御手段は、総遊技媒体数が閾値に到達していることを示す報知を実行可能とする。したがって、図73の例1では、ベット数が「3」であり、総遊技媒体数が「14999」である場合には、総遊技媒体数が閾値に到達していることを示す報知は実行されない。これに対し、図74の例2では、ベット数が「3」であり、総遊技媒体数が「14999」である場合には、総遊技媒体数が閾値に到達していることを示す報知を実行可能とする。
図75及び図76は、副制御手段による閾値報知処理を示すフローチャートであり、図75は例1を示し、図76は例2を示す。図76では、図75と異なるステップ番号にアンダーラインを付している。
ここで、「閾値報知」とは、総遊技媒体数が閾値に到達したことを遊技者に知らせる(注意喚起)報知や、総遊技媒体数が閾値に到達しているので計数スイッチ47の操作を遊技者に対して促す報知に相当する。
図75の例1において、ステップS921では、副制御手段は、閾値報知フラグが「1」であるか否かを判断する。ここで、副制御RWMには、閾値報知フラグが設けられている。閾値報知フラグは、「1」であるときは閾値に到達していることを示し、「0」であるときは閾値に到達していないことを示すフラグである。閾値報知フラグが「1」であるときは、閾値に到達していることを示す報知を実行可能とする。
ステップS921において閾値報知フラグが「1」でないと判断したときはステップS922に進み、「1」であると判断したときはステップS925に進む。
ステップS922では、副制御手段は、主制御手段から閾値到達情報を受信したか否かを判断する。閾値到達情報を受信していないときは(報知を行うことなく)本フローチャートによる処理を終了する。閾値到達情報を受信したと判断したときはステップS923に進む。ステップS923では、副制御手段は、閾値報知フラグを「1」にする。そしてステップS924に進み、総遊技媒体数が閾値に到達していることを示す報知を出力し、本フローチャートによる処理を終了する。
これに対し、ステップS921において閾値到達フラグが「1」であると判断され、ステップS925に進むと、副制御手段は、主制御手段から閾値未到達情報を受信したか否かを判断する。閾値未到達情報を受信していないと判断したときはステップS924に進み、閾値未到達情報を受信したと判断したときはステップS926に進む。ステップS926では、副制御手段は、閾値報知フラグを「0」にする。そしてステップS927に進み、出力中の報知を終了し、本フローチャートによる処理を終了する。
以上のようにして、例1では、総遊技媒体数が閾値未満になると、直ちに報知を終了する。
これに対し、図76の例2では、ステップS925において閾値未到達情報を受信したと判断したときはステップS928に進む。ステップS928では、副制御手段は、所定条件を満たすか否かを判断し、所定条件を満たすと判断したときはステップS926に進んで報知を終了する。これに対し、所定条件を満たしていないと判断したときはステップS924に進んで報知を継続する。
したがって、例2では、副制御手段は、主制御手段から閾値未到達情報を受信し、総遊技媒体数が閾値未満になったと判断したときであっても報知を継続し、その後、所定条件を満たしたときに当該報知を終了する。
ここで、ステップS928における「所定条件」としては、たとえば以下の条件が挙げられる。
(1)所定数(たとえば「50」)の遊技媒体が計数されたとき
主制御手段は、遊技者により計数スイッチ47が操作され、所定数の遊技媒体が計数されたと判断したときは、その旨のコマンドを副制御手段に送信する。副制御手段は、閾値報知フラグが「1」であり、閾値未到達情報を受信した後は、所定数の遊技媒体が計数された旨のコマンドを受信したときに、所定条件を満たすと判断してステップS926に進む。これにより、報知が終了する。
このようにすれば、総遊技媒体数が閾値からある程度の数だけ下回らないと、報知が終了しない。これにより、総遊技媒体数が閾値を一旦下回った後、すぐに閾値に到達して再度報知が行われてしまうことを防止することができる。換言すれば、報知有り/無しが短時間に繰り返されてしまうことを抑制することができる。
(2)総遊技媒体数が所定値(たとえば「14500」)を下回ったとき
副制御手段は、主制御手段から送信されてくる総遊技媒体数の情報を受信し、総遊技媒体数を更新し続ける。そして、副制御手段は、閾値報知フラグが「1」であり、閾値未到達情報を受信した後は、総遊技媒体数が所定値を下回ったときに所定条件を満たすと判断してステップS926以降の処理に進む。これにより、報知が終了する。
このようにすれば、総遊技媒体数が所定値を下回り、一旦報知が終了したときは、すぐに報知が再開されてしまうことを防止することができる。換言すれば、報知有り/無しが短時間に繰り返されてしまうことを防止することができる。さらに、遊技者に対し、計数スイッチ47の操作を促すことも可能となる。
(3)1遊技が終了したとき
主制御手段は、1遊技を終了したとき(全リール31が停止し、遊技媒体を付与する場合には遊技媒体の付与処理が終了したとき)は、副制御手段に対し、遊技終了コマンドを送信する。副制御手段は、閾値報知フラグが「1」であり、閾値未到達情報を受信した後は、遊技終了コマンドを受信したときに、所定条件を満たすと判断してステップS926以降の処理に進む。これにより、報知が終了する。
このようにすれば、遊技をしていないとき(遊技待機中)にも報知され続けることを防止できる。
以上、本発明の第5実施形態について説明したが、本発明は、上述した実施形態に限定されることなく、たとえば以下のような種々の変形が可能である。
(1)上記実施形態では、閾値「15000」に到達したか否か(閾値「15000」を下回ったか否か)を判断した。しかし、これに限らず、閾値「15000」を上回ったか否か(閾値「15000」以下になったか否か)を判断してもよい。
同様に、本実施形態では、上限値「16383」に到達したか否かを判断した。しかし、これに限らず、上限値「16383」を上回ったか否かを判断するようにしてもよい。
なお、閾値「15000」や上限値「16383」は一例であり、この値に限られるものではないことは、上述した通りである。
(2)総遊技媒体数が閾値に到達したときは、遊技媒体の貸出しを禁止したが、これに限らず、遊技媒体の貸出しを禁止しないが制限するようにしてもよい。たとえば、総遊技媒体数が閾値に到達するまでは貸出しスイッチ202の長押しにより一度に「50」の遊技媒体を貸し出すように制御するが、総遊技媒体数が閾値に到達した後は、貸出しスイッチ202が長押しされたときに一度に貸し出す遊技媒体数をたとえば「10」(本来の数「50」よりも少ない数)に制限することも可能である。
あるいは、総遊技媒体数が閾値に到達した後であっても、貸出しスイッチ202が長押しされると一度に遊技媒体数「50」を貸し出すが、閾値に到達した後に一旦遊技媒体数「50」を貸し出した後は、所定時間(たとえば300秒)を経過しないと再度の貸出しを行わないように制御することも可能である。
(3)役物作動時(特別遊技中)やAT中に総遊技媒体数が閾値に到達し、閾値に到達したことの報知が行われると、役物作動やATに係る演出と、閾値に到達したことの報知(演出)とが被る。この場合、役物作動やATに係る画像表示(レイヤー)を前側に配置し、閾値に到達した旨の画像表示(レイヤー)を後側に配置すれば、役物作動やATに係る画像表示が閾値に到達した旨の画像表示に遮らないようにすることができる。
これとは逆に、役物作動やATに係る画像表示(レイヤー)を後側に配置し、閾値に到達した旨の画像表示(レイヤー)を前側に配置すれば、閾値に到達した旨の注意喚起を確実に遊技者に知らせることができる。ただし、この場合であっても、獲得数の表示領域や残り遊技回数の表示領域については、閾値に到達した旨の表示領域と被らないことが好ましい。
(4)総遊技媒体数が閾値に到達したときや上限値に到達したときに実行する報知において、画像表示や音声の内容を異ならせるだけでなく、音量を異ならせてもよい。たとえば閾値に到達したときの報知音量を「N1」デシベルとし、上限値に到達したときの報知音量を「N2」(N2>N1)デシベルとすることが挙げられる。
また、上限値に到達したとき専用の演出出力装置(たとえば回転灯(パトランプ))を設け、閾値に到達したときは当該演出出力装置を作動させないが、上限値に到達したときは当該演出出力装置を作動させることも可能である。
<第6実施形態>
図77は、第6実施形態における遊技機10を示すブロック図である。図51(第4実施形態)と同一部分には同一符号を付している。
なお、第6実施形態では、第4実施形態における「遊技媒体」を「メダル」と称する。ただし、第6実施形態においても遊技機10はメダルレス遊技機(スマート遊技機、スマートパチスロ)であり、遊技媒体は電子メダル(電子遊技媒体)であることは、他の実施形態と同一である。
図51の第4実施形態では、主制御基板50上には、1つの1チップマイクロプロセッサ500を搭載した。これに対し、図77の第6実施形態では、主制御基板50上に、主制御CPU510及びメダル数制御CPU520を備える。なお、主制御CPU510を「主制御手段510」と称する場合がある。また、メダル数制御CPU520を「メダル数制御手段520」と称する場合がある。一方、主制御基板50を「主制御手段50」と称する場合もある。
主制御CPU510は、1チップマイクロプロセッサであり、内蔵された主制御ROM511及び主制御RWM512を備える。主制御ROM511及び主制御RWM512は、それぞれ、第4実施形態(図51)における主制御ROM502及び主制御RWM503に相当する。
また、メダル数制御CPU520は、1チップマイクロプロセッサであり、内蔵されたメダル数制御ROM521及びメダル数制御RWM522を備える。メダル数制御ROM521及びメダル数制御RWM522は、それぞれ、第4実施形態(図51)における遊技媒体数制御ROM504及び遊技媒体数制御RWM505に相当する。
なお、図29(第2実施形態)に示すように、主制御基板50と遊技媒体(メダル)数制御基板100のように2種類の制御基板を設け、主制御基板50上に主制御CPU(1チップマイクロプロセッサ)を搭載し、かつ、遊技媒体(メダル)数制御基板100上にメダル数制御CPU(1チップマイクロプロセッサ)を搭載してもよい。
あるいは、第4実施形態のように、メダル数制御の機能を備える主制御基板50とし、主制御基板50上に1つの1チップマイクロプロセッサ(主CPU)を設け、かつ、この主CPUが主制御CPU及びメダル数制御CPUの機能を備えるようにしてもよい。
さらには、本実施形態のように、主制御基板50上に主制御CPU510(1チップマイクロプロセッサ)とメダル数制御CPU520(1チップマイクロプロセッサ)とを搭載してもよい。
図77の第6実施形態において、その他は図51の第4実施形態と同一であるので、説明を省略する。
第6実施形態では、主制御ROM511、主制御RWM512、メダル数制御ROM521、メダル数制御RWM522のいずれも、使用領域及び使用領域外を備える。
図78及び図79は、メダル数制御RWM522に設けられた記憶領域であって、役比モニタ113に表示する比率の算出用記憶領域を示す図である。
比率(有利区間比率、指示込役物比率等、役比モニタ113に表示する比率)等、役比モニタ113の表示制御に関する情報の記憶領域は、メダル数制御RWM522の使用領域外に設けられている。
また、遊技機情報通知の電文生成及び送信用の記憶領域は、メダル数制御RWM522の使用領域に設けられている。
したがって、たとえば役比モニタ113に表示するための比率の情報は、メダル数制御RWM522の使用領域外に記憶されるが、遊技機情報通知(遊技機性能情報)の一部として貸出しユニット(「専用ユニット」ともいう。)200に送信される比率の情報は、メダル数制御RWM522の使用領域に記憶される。換言すれば、比率の情報を記憶する記憶領域として、複数設けられている。
役比モニタ113の表示は、基本的には第2実施形態で説明したものと同じであり、
(1)累計指示込役物比率(7P.)、又は累計有利区間比率(7U.)
(2)6000遊技連続役物比率(6y.)
(3)6000遊技役物比率(7y.)
(4)累計連続役物比率(6A.)
(5)累計役物比率(7A.)
(6)累計役物等状態比率(5H.)
の6項目の比率を表示する。
なお、上記順序は、役比モニタ113への表示順である。
「6000」遊技間の比率を算出するためには、「400」遊技を1セットとし、15セットを合計して「6000」遊技の比率を算出する。
そこで、「400」遊技については、「400」遊技総払出し、「400」遊技連続役物総払出し、「400」遊技役物総払出し、「400」遊技指示込役物総払出しを記憶する。
また、「6000」遊技については、「6000」遊技総払出し、「6000」遊技連続役物総払出し、「6000」遊技役物総払出しを記憶する。
ここで、総払出しとは、遊技中に払い出されたすべての払出し(ただし、リプレイを除く)である。
また、連続役物総払出しとは、第一種特別役物(RB)の作動による払出しである。
さらにまた、役物総払出しとは、役物(RB、CB、SB等、連続役物を含むすべての役物)の作動による払出しである。
さらに、指示込役物総払出しとは、役物の作動及び指示機能の作動による払出しである。
さらに、「400」遊技総払出し、「400」遊技連続役物総払出し、「400」遊技役物総払出しについては、それぞれ、「2」バイトのバッファを「15」個備える。以下、必要に応じて、これらのバッファを、「400」遊技総払出し「0」~「400」遊技総払出し「14」、「400」遊技連続役物総払出し「0」~「400」遊技連続役物総払出し「14」、及び、「400」遊技役物総払出し「0」~「400」遊技役物総払出し「14」と称する。
一方、リングポインタは、今回遊技ではどのセットを集計するかを指定するためのポインタである。リングポインタは、「400」遊技ごとに「1」加算され、「0」~「14」を循環する。たとえばリングポインタが「0」であるときは、「400」遊技総払出し「0」、「400」遊技連続役物総払出し「0」、「400」遊技役物総払出し「0」に今回遊技の払出し数を加算可能とする。
一方、指示込役物総払出しは、「6000」遊技の集計を行わないため、「2」バイトのバッファを「1」個(「400」遊技指示込役物総払出し)備える。
図79において、遊技数カウンタは、「400」遊技回数をカウントするカウンタである。遊技数カウンタが「399」から「0」に更新されたときに、リングポインタが「1」加算される。
具体的には、「400」遊技総払出し「0」に払出し数を加算している状況において、遊技数カウンタが「399」から「0」に更新され、リングポインタが「1」加算されたときは、次回遊技から、「400」遊技総払出し「0」への払出し数の加算をやめ、「400」遊技総払出し「1」をクリアし、「400」遊技総払出し「1」への払出し数の加算を開始する。
さらに、「400」遊技総払出し、「400」遊技連続役物総払出し、「400」遊技役物総払出しについて、それぞれ、「15」個すべてのバッファの合計値を、「6000」遊技総払出し、「6000」遊技連続役物総払出し、「6000」遊技役物総払出しとして算出する。
累計総払出し、累計連続役物総払出し、累計役物総払出し、及び累計指示込役物総払出しは、総遊技数の総払出し、総遊技数の連続役物総払出し、総遊技数の役物総払出し、総遊技数の指示込役物総払出しに相当する。これらは、リングポインタや「6000」遊技回数とは無関係に、すべての払出し数の累積値である。
図79において、累計役物等状態比率、累計有利区間比率、累計指示込役物比率、「6000」遊技連続役物比率、「6000」遊技役物比率、累計連続役物比率、累計役物比率は、上述した6項目の比率に相当し、それぞれ、算出した比率を保存するためのバッファである。ただし、「7P」タイプの遊技機である場合には、累計有利区間比率の算出は不要であり、バッファも不要である。
また、累計役物等状態比率、及び累計有利区間比率(必要な場合)は、毎遊技算出する。
これに対し、累計指示込役物比率、「6000」遊技連続役物比率、「6000」遊技役物比率、累計連続役物比率、累計役物比率は、「400」遊技ごとに1回算出する。
図79は、バッファのアドレス順に表示している。本実施形態では、図79に示すように、バッファのアドレスにおいて、毎遊技算出する比率を最初に配置し、次に、「400」遊技ごとに1回算出する比率を配置している。このようにバッファを配置することにより、比率の算出制御を簡素化することが可能となる。
一方、役比モニタ113における各比率の巡回表示順は、上述したように、
(1)累計指示込役物比率(7P)又は累計有利区間比率(7U)
(2)「6000」遊技連続役物比率
(3)「6000遊技」役物比率
(4)累計連続役物比率
(5)累計役物比率
(6)累計役物等状態比率
である。
そして、図79に示すように、比率のバッファのアドレスは、巡回表示順となっている。このようにバッファを配置することにより、点灯制御を簡素化することが可能となる。
図79において、総遊技数上限フラグは、後述する総遊技数がカウント上限値に達したか否かを判断するためのフラグである。カウント上限値に達していないときは「00h」を記憶し、カウント上限値に達しているとき(達したとき)は「FFh」を記憶する。
なお、総遊技数上限フラグに「FFh」が記憶された後、総遊技数上限フラグが「FFh」であると判断されたときは、総遊技数上限フラグを更新しなくてもよく、あるいは総遊技数上限フラグを「FFh」に更新し直してもよい。
総払出し数上限フラグは、累計総払出しがカウント上限値に達したか否かを判断するためのフラグである。カウント上限値に達していないときは「00h」を記憶し、カウント上限値に達しているとき(達したとき)は「FFh」を記憶する。
累計総払出しは、「4」バイトのバッファであるので、カウント上限値は「FFFFFFFFh」(以下、「「4」バイトフル」ともいう。)である。そして、累計総払出しの値が「4」バイトフルに到達したときは、総払出し数上限フラグを「FFh」にする。
なお、上記総遊技数上限フラグと同様に、総払出し数上限フラグに「FFh」が記憶された後、総払出し数上限フラグが「FFh」であると判断されたときは、総払出し数上限フラグを更新しなくてもよく、あるいは総払出し数上限フラグを「FFh」に更新し直してもよい。
なお、累計総払出しの値がたとえば「FFFFFFFEh」である場合において、今回遊技で「3」枚の払出しがあったときは、累計総払出しの値を更新することなく(「FFFFFFFEh」のままとして)総払出し数上限フラグを「FFh」にしてもよい。
あるいは、累計総払出しの値を「FFFFFFFEh」から「4」バイトフルに更新し、かつ、総払出し数上限フラグを「FFh」にしてもよい。
あるいは、累計総払出しの値を「FFFFFFFEh」から「00000001h」に更新し(桁上がりとし)、総払出し数上限フラグを「FFh」にしてもよい。
なお、「4」バイトフルは、10進数で約「43」億であるため、累計総払出しが「4」バイトフルになることは、実際には起こり得ない。
総遊技数は、すべての遊技回数をカウントするカウンタであり、「4」バイトの記憶領域から構成される。そして、総遊技数が「4」バイトフルになったときは、上述した総遊技数上限フラグに「FFh」を記憶する。
なお、上述と同様に、「4」バイトフルは、10進数で約「43」億であるため、総遊技数が「4」バイトフルになることは、実際には起こり得ない。
役物等状態遊技数は、役物が作動している遊技回数と、連続役物が作動している遊技回数との合計値を記憶するバッファである。
また、有利区間遊技数は、有利区間の遊技回数を記憶するバッファである。
上記の役物等状態遊技数及び利区間遊技数についても、「4」バイトの記憶領域であり、「4」バイトフルになることは実際には起こり得ない。
また、図79に示すように、比率を算出した結果、「100」を超えるときは、「0」を記憶する。比率で「100」を超えることはないことから、ノイズ等の要因により異常値が算出されたときは当該異常値を記憶するのではなく、「0」を記憶する。これにより、役比モニタ113に当該比率が表示されるときも「00」と表示される。したがって、比率が「00」と表示されることで、当該比率が異常値であることを判断可能となる。
一方、比率を算出した結果、「100」であるときは、「100」を記憶する。そして、役比モニタ113に当該比率を表示するときは「99」に補正して表示する。これにより、表示に適した2桁の近似値に補正することができる。なお、後述するように、この比率を含む遊技機情報を送信するときは、補正前の値である「100」を送信するので、より正確な値を送信することができる。
なお、上記の方法以外の方法として、ノイズ等の要因により異常値である比率が算出された場合には、たとえば以下のように構成してもよい。
(1)比率を算出した結果、「100」を超え、かつ、「255(FFh)」未満である場合には、算出された値を補正することなく役比モニタ情報算出・表示用記憶領域に記憶することが挙げられる。この場合に比率を表示する際には、比率の十の位に、数字ではなく記号が表示されるように構成してもよい。
たとえば、比率として「110(D)」が記憶されているときは、役比モニタ113による表示時に、「y.0」と表示されるように構成することが挙げられる。したがって、表示対象の比率がたとえば累計指示込役物比率であれば、役比モニタ113には「7P.y.0」と表示される。
このように、比率の十の位が記号で表示されれば、当該比率は異常値であると判断することができる。
(2)比率を算出した結果、「100」を超え、かつ、「255(FFh)」未満である場合において、比率を表示する際には、「01」~「50」の範囲内の数値が表示されるように構成してもよい。
算出した比率がたとえば「200(D)」であり、役比モニタ情報算出・表示用記憶領域には「200(D)」を記憶し、その値に基づく比率を表示する際には「40」と表示すると仮定する。ここで比率が「40」である場合には、通常であれば正常値の範囲内と判断される。しかし、記憶された比率は「200(D)」であるので、どの比率であっても点滅表示となる。したがって、比率が「40」と表示されている場合であっても点滅表示であれば、異常値であると判断することができる。
(3)比率は「被除数/除数」で算出されるが、除数が「0」である場合には、理論上、除算を実行できないので、比率を算出できない。このような場合には、算出結果が記憶されるレジスタの値が「FFh」となるように構成することが挙げられる。そして、算出結果が記憶されるレジスタの値が「FFh」である場合には、役比モニタ情報算出・表示用記憶領域の値を更新しないように構成することが挙げられる。
一方、除数が「0」である場合には、役比モニタ情報算出・表示用記憶領域には「0」を記憶してもよい。
また、上記以外の方法としては、たとえば以下のような方法が挙げられる。
(1)比率を算出した結果、「0」~「99(D)」以外の値となった場合には、役比モニタ情報算出・表示用記憶領域の値を更新しないことが挙げられる。
(2)比率を算出した結果、「100(D)」の値である場合には、「99(D)」に補正して役比モニタ情報算出・表示用記憶領域に記憶することが挙げられる。
(3)比率を算出した結果、「100(D)」を超え、かつ、「255(D)(FFh)」未満である場合には、「99(D)」に補正して役比モニタ情報算出・表示用記憶領域に記憶することが挙げられる。
図80及び図81は、比率算出処理を示すフローチャートである。図81は、図80に続くフローチャートである。
この処理は、主制御CPU510の処理であり、使用領域外に記憶されたプログラムによって実行される。
なお、第6実施形態のフローチャートにおいて、累計有利区間比率を算出・表示する遊技機10を「7U」タイプと称し、累計指示込役物比率を算出・表示する遊技機10を「7P」タイプと称する。
そして、図中、「7Uタイプのみ」と表示されているステップは、累計有利区間比率を算出・表示する遊技機10でのみ実行される。一方、「7Pタイプのみ」と表示されているステップは、累計指示込役物比率を算出・表示する遊技機10でのみ実行される(以下のフローチャートについても同様である。)。
まず、ステップS672では、リングポインタに対応する「400」遊技総払出しに、今回遊技の払出し数を加算する。
ここで、「リングポインタに対応する」とは、以下の意味である。
上述したように、リングポインタは、「0」~「14」の範囲をとる。これに対応して、「400」遊技総払出しは、「400」遊技総払出し「0」~「400」遊技総払出し「14」の15個のバッファから構成されている。
同様に、「400」遊技連続役物総払出しについても、「400」遊技連続役物総払出し「0」~「400」遊技連続役物総払出し「14」の15個のバッファから構成されている。
さらに同様に、「400」遊技役物総払出しについても、「400」遊技役物総払出し「0」~「400」遊技役物総払出し「14」の15個のバッファから構成されている。
そして、ステップS672では、リングポインタが「n(n=0~14)」であるときは、「400」遊技総払出し「n」に今回遊技の払出し数を加算することを意味する。
次のステップS673では、今回遊技が役物作動中又は指示モニタの表示中(指示機能の作動中)であるか否かを判断する。今回遊技が役物作動中又は指示モニタの表示中であると判断したときはステップS674に進み、そうでないと判断したときはステップS675に進む。
ステップS674では、「400」遊技指示込役物払出しに今回遊技の払出し数を加算する。そしてステップS675に進む。
ステップS675では、今回遊技が第一種特別役物(連続役物)の作動中であるか否かを判断する。第一種特別役物の作動中であると判断したときはステップS676に進み、そうでないと判断したときはステップS677に進む。ステップS676では、リングポインタに対応する「400」遊技連続役物総払出しに今回遊技の払出し数を加算する。上記と同様に、リングポインタが「n」であるときは、「400」遊技連続役物総払出し「n」に今回遊技の払出し数を加算する。そしてステップS677に進む。
ステップS677では、今回遊技が役物作動中であるか否かを判断する。今回遊技が役物作動中であると判断したときはステップS678に進み、そうでないと判断したときはステップS679に進む。
ステップS678では、リングポインタに対応する「400」遊技役物総払出しに今回遊技の払出し数を加算する。上記と同様に、リングポインタが「n」であるときは、「400」遊技役物総払出し「n」に今回遊技の払出し数を加算する。そしてステップS679に進む。
ステップS679では、総遊技数上限フラグの値が「FFh」であるか否かを判断する。総遊技数上限フラグの値が「FFh」であると判断したときは図81のステップS687に進み、そうでないと判断したときはステップS680に進む。
ステップS680では、総遊技数に「1」を加算する。次のステップS681では、総遊技数に「1」を加算した後の総遊技数が「FFFFFFFFh(4バイトフル)」を超えるか否か(桁あふれが発生したか否か)を判断する。「FFFFFFFFh」を超えたと判断したときはステップS682に進み、「FFFFFFFFh」を超えていないと判断したときは図81のステップS683に進む。
ステップS682では、総遊技数を「FFFFFFFFh」にし、かつ、総遊技数上限フラグを「FFh」にする。そしてステップS687に進む。
図81のステップS683では、役物作動中又は役物連続作動装置の作動中であるか否かを判断する。役物作動中又は役物連続作動装置の作動中であると判断したときはステップS684に進み、そうでないと判断したときはステップS685に進む。
ステップS684では、役物等状態遊技数に「1」を加算する。そしてステップS685に進む。
ステップS685では、今回遊技が有利区間中であるか否かを判断する。今回遊技が有利区間中であると判断したときはステップS686に進み、今回遊技が有利区間中でないと判断したときはステップS687に進む。ステップS686では、有利区間遊技数に「1」を加算する。そしてステップS687に進む。
ステップS687では、累計役物等状態比率を算出し、算出した値を記憶する。
次にステップS688に進み、累計有利区間比率を算出し、算出した値を記憶する。このようにして、累計役物等状態比率の算出・記憶と、累計有利区間比率の算出・記憶は、毎遊技実行する。
次にステップS689に進み、遊技数カウンタに「1」を加算する。次のステップS690では、遊技数カウンタの値が「400」遊技に達したか否かを判断する。「400」遊技に達したと判断したときはステップS691(図82)に進み、「400」遊技毎比率算出を実行する。これに対し、「400」遊技に達してしないと判断したときは本フローチャートによる処理を終了する。
以上のように、総遊技数上限フラグが「FFh」であるか否かにかかわらず、リングポインタに対応する「400」遊技総払出し、「400」遊技指示込役物総払出し、リングポインタに対応する「400」遊技連続役物総払出し、及びリングポインタに対応する「400」遊技役物総払出しについては、更新処理が実行される。
一方、総遊技数上限フラグが「FFh」である場合には、役物等状態遊技数、及び有利区間遊技数については、更新処理が実行されない。
また、総遊技数上限フラグが「FFh」であっても、累計役物等状態比率、累計有利区間比率については、更新処理が実行される。
なお、上述したように、ステップS687やS688で算出した比率が「100(D)」の場合には「100(D)」を記憶する。そして、役比モニタ113による表示時には「99」と表示する。
これに対し、ステップS687やS688で算出した比率が「100(D)」を超える場合には「0」を記憶する。そして、役比モニタ113による表示時には「00」と表示する。
図82及び図83は、図81中、ステップS691における400遊技毎比率算出を示すフローチャートである。図83は、図82に続くフローチャートである。
まず、ステップS760では、遊技数カウンタを初期化する。遊技数カウンタは、「0」~「399」の範囲をカウントするカウンタであるため、初期化することにより値を「0」にする。
次にステップS761に進み、「400」遊技総払出しの15セット合計値(「400」遊技総払出し「0」~「400」遊技総払出し「14」の合計値)を、「6000」遊技総払出しに設定する。次のステップS766では、ステップS765と同様にして、「400」遊技連続役物総払出しの15セット合計値(「400」遊技連続役物総払出し「0」~「400」遊技連続役物総払出し「14」の合計値)を、「6000」遊技連続役物総払出しに設定する。さらに次のステップS767では、ステップS761と同様にして、「400」遊技役物総払出しの15セット合計値(「400」遊技役物総払出し「0」~「400」遊技役物総払出し「14」の合計値)を、「6000」遊技役物総払出しに設定する。
次のステップS764では、総払出し数上限フラグが「FFh」であるか否かを判断する。総払出し数上限フラグが「FFh」でないと判断したときはステップS765に進み、総払出し数上限フラグが「FFh」であると判断したときは図83のステップS772に進む。
ステップS765では、リングポインタに対応する「400」遊技総払出しを累計総払出しに仮加算する。そして、次のステップS762で、ステップS761での仮加算の結果、「FFFFFFFFh」を超えたか否かを判断する。「FFFFFFFFh」を超えたと判断したときはステップS768に進み、「FFFFFFFFh」を超えていないと判断したときはステップS767に進む。
ステップS768では、総払出し数上限フラグに「FFh」を設定する。そしてステップS772に進む。
ステップS767では、ステップS765での仮加算値を累計総払出しに設定する。次にステップS769に進み、リングポインタに対応する「400」遊技連続役物総払出しを累計連続役物総払出しに加算する。
次のステップS770では、リングポインタに対応する「400」遊技役物総払出しを累計役物総払出しに加算する。
次のステップS771では、「400」遊技指示込役物総払出しを累計指示込役物総払出しに加算する。そしてステップS772に進む。なお、この例では、「400」遊技ごとに、「400」遊技指示込役物総払出しを累計指示込役物総払出しに加算したが、これに限らず、毎遊技、役物作動中又は指示モニタ表示中であるとき(図80のステップS673で「Yes」のとき)は、今回遊技の払出し数を累計指示込役物総払出しに加算してもよい。
ステップS772では、リングポインタに「1」を加算する。次にステップS773に進み、リングポインタの「1」加算の結果、「15」になったか否かを判断する。「15」になったと判断したときはステップS774に進み、「15」になっていないと判断したときはステップS775に進む。
ステップS774では、リングポインタの値を初期化する(「0」にする)。そしてステップS775に進む。
ステップS775では、リングポインタに対応する「400」遊技総払出しを初期化する(「0」にする)。
次のステップS776では、リングポインタに対応する「400」遊技連続役物総払出しを初期化する(「0」にする)。
次のステップS777では、リングポインタに対応する「400」遊技役物総払出しを初期化する(「0」にする)。
次のステップS778では、400遊技指示込役物総払出しを初期化する(「0」にする)。
次にステップS779に進み、累計指示込役物比率を算出し、その値を記憶する。次のステップS780では、「6000」遊技連続役物比率を算出し、その値を記憶する。
また、次のステップS781では、「6000」遊技連続役物比率を算出し、その値を記憶する。次のステップS782では、累計連続役物比率を算出し、その値を記憶する。次のステップS783では、累計役物比率を算出し、その値を記憶する。そして本フローチャートによる処理を終了する。
以上のように、総払出し数上限フラグが「FFh」であるか否かにかかわらず、「6000」遊技総払出し、「6000」遊技連続役物総払出し、及び「6000」遊技役物総払出しについては、更新処理が実行される。
一方、総払出し数上限フラグが「FFh」である場合には、累計総払出し、累計連続役物総払出し、累計役物総払出し、累計指示込役物総払出しについては、更新処理が実行されない。
また、総払出し数上限フラグが「FFh」であっても、累計指示込役物比率、「6000」遊技連続役物比率、「6000」遊技役物比率、累計連続役物比率、及び累計役物比率については、更新処理が実行される。
なお、上述したように、ステップS779~S783で算出した比率が「100(D)」の場合には「100(D)」を記憶する。そして、役比モニタ113による表示時には「99」と表示する。
これに対し、ステップS779~S783で算出した比率が「100(D)」を超える場合には「0」を記憶する。そして、役比モニタ113による表示時には「00」と表示する。
続いて、第6実施形態におけるコンプリート機能について説明する。「コンプリート機能」とは、遊技機の打止め機能(当日のそれ以降の遊技を終了すること)に相当する。
遊技機10の電源が投入されてからの差数の最小値を「0」としたときに、差数が「+19000(枚)」に到達したときは、コンプリート機能の作動条件を満たすと判断し、コンプリート機能を作動可能とする。これにより、過度に射幸性が高くなることを防止することができる。
第6実施形態では、第1に、差数カウンタにより有利区間における差数をカウントする。
ここで、「有利区間における差数」とは、有利区間の開始時を「0」としたときの差枚数を指す。換言すれば、有利区間中の差数の最小値ではなく、有利区間の開始時を「0」としたときの差数である。このため、有利区間中に差数がマイナスの値となったときは、マイナス値をカウントする。また、差数カウンタは、通常区間中は差数をカウントしない。
たとえば差数カウンタは、2バイトのデクリメントカウンタとする。そして、有利区間中の差数が「+2400(枚)」を超えたときは、有利区間の終了条件を満たすと判断する。
ここで、差数カウンタの第1の例としては、有利区間の開始時に初期として「+2415」(枚)(16進数では、「096Fh」)を設定し、今回遊技の差数がマイナスであるときは差数カウンタに当該差数を加算し、今回遊技の差数がプラスであるときは差数カウンタから当該差数を減算する方法が挙げられる。
具体的に説明すると、まず、有利区間の開始時に「+2415」を設定し、1遊技目の差数が「-3(枚)」(ベット数「3」、払出し数「0」)であったときは、差数カウンタに「3」を加算して差数カウンタを「+2418」に更新する。これに対し、1遊技目の差数が「+11(枚)」(ベット数「3」、払出し数「14」)であったときは、差数カウンタから「11」を減算し、差数カウンタを「+2404」に更新する。
そして、差数カウンタが「0」となったときは、有利区間中の差数が「+2400(枚)」を超えたと判断し、有利区間を終了する。
なお、後述する図85の例における差数カウンタは、今回遊技における差数が増加すると差数カウンタ値が増加するものとする。
また、差数カウンタの第2の例としては、有利区間の開始時の差数を「0」とし、差数カウンタが「+2400(枚)」を超えたとき(具体的には、16進数では差数カウンタ値が「0961h」以上となったとき)に、有利区間の終了条件を満たすと判断する方法が挙げられる。
そして、上記第1の例及び第2の例のいずれも、有利区間を終了したときは、差数カウンタをクリアする。
また、第6実施形態では、第2に、MYカウンタ(「打止めカウンタ」とも称される。)により、電源投入時からのMYをカウントする。ここで、「MY」とは、差数の最小値を「0」としたときの値(上述した他の実施形態における差数カウンタと同じ)である。
MYカウンタは、電源投入時に初期化され、「0000h」となる。
そして、たとえば電源投入時から、
1遊技目:ベット数「3」、払出し数「0」、MYカウンタ「0000h」
2遊技目:ベット数「3」、払出し数「14」、MYカウンタ「000Bh」
3遊技目:ベット数「3」、払出し数「0」、MYカウンタ「0008h」
4遊技目:ベット数「3」、払出し数「0」、MYカウンタ「0005h」
5遊技目:ベット数「3」、払出し数「0」、MYカウンタ「0002h」
6遊技目:ベット数「3」、払出し数「0」、MYカウンタ「0000h」

となる。
ここで、上記の1遊技目では、差数は「-3」であるので、MYカウンタの初期値「0000h」に差数「-3」を加算すると、「FFFDh」となるが、桁下がりが生じたときは、その都度「0000h」に補正する。すなわち、最小値を「0」とする。
6遊技目も同様に、差数は「-3」であるので、MYカウンタ「0002h」に差数「-3」を加算すると、「FFFFh」となるが、補正により「0000h」となる。
そして、電源投入時からのMYカウンタの値が「+19000」(4A38h)に到達したときは、コンプリート機能を作動可能とし、その遊技機10を打止めとし、その後の遊技(当日の稼働)を終了する。
また、MYカウンタ値が「+19000」となった時点でその遊技の払出し処理を終了するのではなく、その遊技での払出しはすべて実行される。
たとえばMYカウンタ値が「+18999」であり、今回遊技のベット数が「3」、払出し数が「14」であるときでも、今回遊技の「14」枚の払出しが実行された後、コンプリート機能が作動する。
そして、MYカウンタは、差数カウンタと異なり、通常区間であってもMYをカウントする。
なお、第6実施形態では、遊技機10の電源が投入された後の遊技回数をカウントするが、その遊技回数が上限値「65535(FFFFh)」に到達した場合でも、コンプリート機能を作動させるか否かを判断するためのMYカウンタは更新し続ける。これにより、たとえば遊技機10の電源をオンのままにしておくホールがあったとしても、コンプリート機能を作動させるか否かを判断するためのMYカウンタは更新し続けるので、遊技機10の電源が投入された後の遊技回数が上限値「65535(FFFFh)」に到達した場合であっても、MYカウンタの値が「+19000」に到達したときは、コンプリート機能を作動させることができる。
これに対し、後述するように、遊技機性能情報送信用記憶領域のMY(後述する図90)については、遊技機10の電源が投入された後の遊技回数がカウント上限値「65535(FFFFh)」に到達した場合には、当該MYは更新しない。
図84は、第6実施形態における差数及びMYの推移を示す図である。この例では、電源オン時は通常区間であるものとする。図84中、実線が有利区間中であり、波線が通常区間中である。なお、このグラフは、差数(MY)の推移を示すものであり、差数カウンタやMYカウンタの値ではない。
まず、電源をオンにしたとき(図中、「A」)は、差数及びMYの双方ともに「0」である。
そして、図中「B」の地点で通常区間から有利区間に移行したとする。よって、この「B」時点(有利区間の開始時)では、差数カウンタは「0」である(通常区間中は、差数カウンタは更新されないため)。
さらに、図中「B」地点から差数が減少し、「C」地点に到達すると、この「C」地点における差数カウンタの値は「B-C」である。また、MYカウンタは最小値「0」である。
そして、その後、有利区間においてサブボーナス等が実行されることにより差数が増加し、「D」地点に到達したときに、差数カウンタ(D-B)が「2400」を超えたとすると、「D」地点で有利区間の終了条件を満たし、有利区間を終了する、また、差数カウンタはクリアされる(「0」になる)。そして、次回遊技は通常区間となり、さらに通常区間において有利区間への移行条件を満たすと、再度有利区間に移行する。
一方、電源投入後、差数の最小値は「C」地点であり、その後、差数の最小値は「C」地点を下回ることなく差数が増加したものとする。やがて図中、「E」地点に到達したときに、この「E」地点でのMYは「E-C」である。そして、「E」地点に到達したときに、MYカウンタの値(E-C)が「19000」に到達したとする。これにより、コンプリート機能が作動可能となり、遊技機10は打止め可能となる。
図85は、差数カウンタ及びMYカウンタの推移と電源オン/オフとの関係を示す図である。図中、実線が差数カウンタの推移を示し、波線がMYカウンタの推移を示す。なお、図85における電源のオン/オフは、単純な電源のオン/オフであり、RWMクリア(設定変更)はされていないものとする。また、図85では、最初から有利区間であるものとする。
図85に示すように、差数カウンタが「0」から開始し、差数カウンタの値がマイナスになっても、MYカウンタの最小値は「0」である。
また、図中「A」地点において、差数カウンタの値が「2400」を超えると有利区間を終了し、差数カウンタはクリアされ、「0」になる。一方、MYカウンタは変化しない。
その後の通常区間では、MYカウンタは更新されるが、差数カウンタは更新されない。そして、通常区間から有利区間に移行すると、差数カウンタも更新が開始される。
次に、図中「B」地点において、電源をオフし、その後、図中「C」地点において電源をオンにした場合には、MYカウンタはクリアされて「0」となる。
これに対し、電源のオン/オフによって差数カウンタはクリアされない。よって、図中「C」地点の差数カウンタの値は、図中「B」地点での差数カウンタの値となる。
また、図85中、下の表は、RWMクリアなし時の電源オン/オフ(たとえば、設定変更モードに移行することなく電源復帰した場合)と、RWMクリアあり時(たとえば、設定変更モードに移行する電源復帰の場合)の電源オン/オフとにおける差数カウンタ及びMYカウンタの状況を示している。
上述したように、RWMクリアなしでの電源のオン/オフでは、差数カウンタの値は保持されるが、MYカウンタはクリアされる。これに対し、RWMクリアあり時の電源のオン/オフ(たとえば設定変更時)では、差数カウンタ及びMYカウンタのいずれも、クリアされる。
また、「コンプリート機能作動フラグ」とは、MYカウンタが「19000」に到達し、かつ、コンプリート機能を作動させたときにオンとなるフラグであり、たとえば1バイトデータから構成され、オフのときは「00h」、オンのときは「FFh」となるフラグである。
さらにまた、「コンプリート機能仮フラグ」とは、MYカウンタが「19000」に到達したが、コンプリート機能を作動させることができない状況、たとえば特別遊技状態(いずれかの役物作動中)であるときにオンとなるフラグであり、たとえば1バイトデータから構成され、オフのときは「00h」、オンのときは「FFh」となるフラグである。
これらのコンプリート機能作動フラグ及びコンプリート機能仮フラグは、RWMクリアなしの電源のオン/オフではクリアされないように構成されている。
したがって、特別遊技状態中にMYカウンタが「19000」に到達したときは、コンプリート機能作動フラグはオフのままであるが、コンプリート機能仮フラグがオンとなる。そして、特別遊技状態が終了する前に電源をオフにし、その後電源をオンにしたときは、MYカウンタが「0」となっても、コンプリート機能仮フラグがオンの状態で復帰するので、電源断からの復帰後に特別遊技状態が終了したときは、コンプリート機能作動フラグをオンにして、コンプリート機能を作動させることができる。
ただし、RWMクリアあり時の電源のオン/オフ(設定変更時)では、コンプリート機能作動フラグ及びコンプリート機能仮フラグのいずれもクリアされる。
図86は、主制御CPU510による電源オン時からメイン処理までの流れを示すフローチャートであり、コンプリート機能に係る処理を含むものである。
まず、ステップS541で電源がオンにされると、次のステップS542では、電源投入処理を実行する。この電源投入処理の1つとして、所定記憶領域の初期化処理を有する。ここで、RWMクリアなしの電源オンの場合には、初期化処理の1つとして、MYカウンタの初期化処理(クリア処理)を実行する。これに対し、差数カウンタ、コンプリート機能作動フラグ、コンプリート機能仮フラグの初期化処理は実行されない。
一方、RWMクリアありの電源オンの場合には、MYカウンタ、差数カウンタ、コンプリート機能作動フラグ、及びコンプリート機能仮フラグのすべてが初期化される。
次にステップS543に進んでエラー処理(後述する図87)を実行する。このエラー処理の中で、後述するコンプリート機能に係る処理が実行される。
次のステップS545では、投入・精算の受付け処理を実行する。ここでの処理は、たとえば3ベットスイッチ40bの操作を検知したときには3ベットコマンドをメダル数制御CPU520に送信し、メダル数制御CPU520からベット数を「3」とするコマンドを受信する処理である。具体例を挙げると、ベット数が「0」、メダル数表示部(「遊技メダル数表示部」、「メダル数表示装置」、「遊技メダル数表示装置」とも称する。)121に表示されているメダル数(「総得点数」とも称する。)が「500」のときに3ベットスイッチ40bの操作を検知した場合には、ベット数が「3」となり、メダル数表示部121に表示されているメダル数は「497」となる。
また、たとえばベット数「3」の状況下において精算スイッチ46の操作を検知したときには精算コマンドをメダル数制御CPU520に送信し、メダル数制御CPU520からベット数を「0」とするコマンドを受信する処理である。具体例を挙げると、ベット数が「3」、メダル数表示部121に表示されているメダル数が「497」のときに精算スイッチ46の操作を検知した場合には、ベット数が「0」となり、メダル数表示部121に表示されているメダル数は「500」となる。
次のステップS546では、スタートスイッチ41が操作されたか否かを判断し、スタートスイッチ41が操作されたと判断するとステップS547に進む。
ステップS547では、役(当選番号)の抽選を実行する。そして次のステップS548で、リール31の回転を開始する。
ステップS549では、ストップスイッチ42が操作されたか否かを判断し、ストップスイッチ42が操作されたと判断するとステップS550に進み、操作されたストップスイッチ42に対応するリール31を停止制御する。
次のステップS551では、全リール31が停止したか否かを判断し、全リール31が停止していないと判断したときはステップS549に戻り、全リール31が停止したと判断したときはステップS552に進む。ステップS552では、入賞役の判定を行う。そしてステップS553に進み、入賞役に対応するメダルの払出しを行う。ここでの処理は、払出し数に対応するコマンドをメダル数制御CPU520に送信する処理である。メダル数制御CPU520は、払出しコマンドを受信すると、メダル数表示部121の表示を更新する。具体例を挙げると、メダル数表示部121に表示されているメダル数が「497」の場合にメダル払出し数(付与数)が「14」であるときは、メダル数表示部121に表示されるメダル数は「511」に更新される。
なお、以上のようなメダル数表示部121の表示制御は、メダル数制御CPU520によって実行される。
次にステップS555に進み、コンプリート機能算出処理を実行する。この処理はMYカウンタの更新等の処理であり、後述する図88に示す処理である。
次にステップS556に進み、遊技状態更新処理を実行する。そして、ステップS543に戻る。
図87は、図86のステップS543におけるエラー処理を示すフローチャートである。
まず、ステップS561では、特別遊技状態(役物作動中)であるか否かを判断する。本実施形態では、特別遊技状態でコンプリート機能の作動条件(打止め条件)を満たしてもコンプリート機能は作動させないためである。特別遊技状態であると判断したときはステップS567に進み、コンプリート作動に係る処理以外の他のエラー処理を実行する。一方、ステップS561において特別遊技状態でないと判断したときはステップS562に進む。ステップS562では、コンプリート機能作動フラグを読み込む。そして次のステップS563においてコンプリート機能作動フラグが「FFh」(オン)であるか否かを判断する。「FFh」であると判断したときはステップS564に進み、「FFh」でないと判断したときはステップS567に進む。
ステップS564では、コンプリート機能の作動を報知する。この処理は、副制御基板80に対してコンプリート機能の作動信号を送信し、画像表示装置23等でコンプリート機能の作動報知を行う。
次にステップS566に進み、コンプリート信号を外部に出力する。これによりエラー処理を終了する。なお、コンプリート信号は「30」秒間出力し、その後にコンプリート信号をオフにする。ただし、コンプリート信号を何秒間出力するかや、コンプリート信号をどのようなタイミングでオフにするかは任意に設定可能である。また、ステップS566に進んだときは、図86中、ステップS545以降の処理には進まない。これにより、操作スイッチ(ベットスイッチ40、スタートスイッチ41、ストップスイッチ42)の受付けは行われないので、遊技を進行することができなくなる。
なお、この例では、ステップS543のエラー処理内でコンプリート機能の作動に係る処理を実行したが、これに限らず、たとえばエラー処理の次の処理として独立してコンプリート機能作動に係る処理を設け、図87のステップS561~S566の処理を実行してもよい。
図88は、図86のステップS555におけるコンプリート機能算出処理を示すフローチャートである。
まず、ステップS571において、コンプリート機能仮フラグがオン(FFh)であるか否かを判断する。コンプリート機能仮フラグがオンでないと判断したときはステップS572に進み、オンであると判断したときはステップS578に進む。
ステップS572では、コンプリート機能作動フラグがオン(FFh)であるか否かを判断する。コンプリート機能作動フラグがオンである、つまり、すでにコンプリート機能が作動していると判断したときは本フローチャートによる処理を終了する。コンプリート機能がすでに作動している場合にはMYカウンタの更新処理等を実行しないためである。
ステップS572においてコンプリート機能作動フラグがオンでないと判断し、ステップS573に進むと、再遊技作動中であるか否かを判断する。本実施形態では再遊技作動中はMYカウンタを更新しないため、再遊技作動中であると判断したときは本フローチャートによる処理を終了する。
再遊技作動中でないと判断したときはステップS574に進む。
ステップS574では、今回遊技のベット数及び払出し数に基づいてMYカウンタ値を更新する。
なお、ステップS574の処理は、実際のMYカウンタ(主制御RWM512)を更新するのではなく、MYカウンタ値をレジスタに記憶し、レジスタ上で演算を行う。
次のステップS575では、MYカウンタ値が「0」未満となったか否かを判断する。MYカウンタ値が「0」未満でないと判断したときはステップS576に進み、「0」未満であると判断したときはステップS581に進む。
ステップS581では、MYカウンタ(主制御RWM512)を「0」に更新する。そして本フローチャートによる処理を終了する。
一方、ステップS575からステップS576に進むと、MYカウンタ値が「19000」に到達したか否かを判断する。上述したように、MYカウンタ値が「4A38h」以上であるときは、「19000」に到達したと判断する。MYカウンタが「19000」に到達したと判断したときはステップS577に進み、「19000」に到達していないと判断したときは本フローチャートによる処理を終了する。
ここで、MYカウンタ値が「19000」に到達していないと判断したときは、ステップS574の演算結果(レジスタ値)をMYカウンタ(主制御RWM512)に保存してから本フローチャートによる処理を終了する。
一方、レジスタ上のMYカウンタ値が「19000」に到達したと判断したときは、その後、当該レジスタ値をMYカウンタに保存してもよく、保存しなくてもよい。
ステップS577では、コンプリート機能仮フラグをオン(FFh)にする。次にステップS578に進み、今回遊技が特別遊技状態(1BB遊技中やRB遊技中など)であるか否かを判断する。なお、今回遊技で特別遊技状態が終了したとき(たとえば1BB遊技の最終遊技であったとき)は、ステップS578の時点では特別遊技状態が終了しているので、特別遊技状態でないと判断される。
特別遊技状態であると判断されたときは本フローチャートによる処理を終了する。したがって、特別遊技状態では、MYカウンタが「19000」に到達したときにステップS577においてコンプリート機能仮フラグがオンとなるが、ステップS579を経由しないのでコンプリート機能作動フラグはオン(FFh)にならない。このため、特別遊技状態ではコンプリート機能は作動しない。
一方、ステップS578において特別遊技状態でないと判断されたときはステップS579に進む。ステップS579では、コンプリート機能作動フラグをオン(FFh)にする。次にステップS580に進み、コンプリート機能仮フラグをオフ(00h)にする。そして本フローチャートによる処理を終了する。ステップS579でコンプリート機能作動フラグがオンにされたときは、次回遊技の開始時に、図86のステップS543及び図87により、コンプリート機能が作動する。
また、特別遊技状態において、ステップS577でコンプリート機能仮フラグがオンになったときは、特別遊技状態が終了するまでコンプリート機能仮フラグがオンのまま(コンプリート機能作動フラグはオフ)となり、特別遊技状態が終了するとコンプリート機能作動フラグがオン(ステップS579)、コンプリート機能仮フラグがオフ(ステップS580)となる。
次に、コンプリート機能に関するサブ制御基板80による画像制御について説明する。
MYカウンタが「19000」に到達したときに突然コンプリート機能を作動させると、遊技者への不意打ちとなってしまう。そこで、コンプリート機能の作動が近づいているときは、遊技者に対し、コンプリート機能作動を予告する。
図89(a)は、コンプリート機能作動を予告(事前報知)する画像を示す図である。
副制御基板80は、電源投入後、独立してMYをカウントしている。ただしこれに限らず、主制御基板50から副制御基板80に対し、毎遊技の終了時にMYカウンタ値を送信するようにしてもよい。
副制御基板80は、MYが「18500」に到達したとき、換言すればコンプリート機能が作動するまで残り「500」枚(以下)となったときは、コンプリート機能作動を予告する。
図89(a)に示すように、たとえば「コンプリート機能作動まで残り500枚」と表示する。
そして、次回遊技でMYがたとえば「+11」枚増加したときは、コンプリート機能作動の予告画像は、「コンプリート機能作動まで残り489枚」という表示に更新される。このように、コンプリート機能作動の予告は、コンプリート機能の作動条件(MYカウンタが「19000」に到達したこと)を満たすまでの定量的な変化が視覚的に認識できるように行われる。
なお、残り「500」枚からコンプリート機能作動の予告を開始するのではなく、残り「300」枚、残り「100」枚等、種々の設定が可能である。
図89(a)中、コンプリート機能作動の予告画像の領域をドットパターンで示しているが、このドットパターン領域は、最前のレイヤを表す。したがって、たとえば画面中の所定の表示とコンプリート機能作動の予告画像とが重なる領域を有する場合には、当該重なる領域についてはコンプリート機能作動の予告画像が表示され、所定の画像(後方レイヤ)は表示されない。ただし、コンプリート機能作動の予告画像領域を透過性とし、その後方の画像(演出画像等)を視認可能としてもよい。
図89(b)の例においても、ドットパターンで示す領域は、最前のレイヤを指す。
また、図89(b)は、MYカウンタが「19000」に到達し、コンプリート機能作動を画像表示する例を示す図である。図89中、(a)の状態においてMYカウンタが「19000」に到達すると、図89(b)の表示に切り替わる。ここで、コンプリート機能作動の画像は、画像表示領域の一部を占めるようにしているが、これに限らず、画像表示領域の全領域を占めるようにコンプリート機能作動の画像を配置してもよい。
また、コンプリート機能作動時には、計数スイッチ47を操作して全メダルを貸出しユニット200に送信する必要がある。したがって、計数を促す表示を併せて実行する。
なお、MYカウンタが「19000」に到達したときにコンプリート機能を作動させる場合に、この例では、MYカウンタが「18900」に到達したときにコンプリート機能作動を予告した。
ここで、コンプリート機能作動を予告した後、MYカウンタの値が減少することなく「19000」に到達する場合には、MYカウンタが「18900」に到達した後、「19000」に到達するまでの間はずっとコンプリート機能作動を予告する。
これに対し、MYカウンタが「18900」に到達した後、MYカウンタの値が減少した場合において、MYカウンタの値が所定値となったときは、コンプリート機能作動の予告を終了する。
そして、MYカウンタが「18900」を閾値として遊技の進行とともに上下した場合には、コンプリート機能作動を予告している状態と予告していない状態とが頻繁に入れ替わることとなり、たとえばコンプリート機能作動の予告画像が表示されたり表示されなかったりしてしまう。
そこで、本実施形態では、一旦、コンプリート機能作動を予告したときは、MYカウンタが所定値(たとえば「18850」)未満になるまでは、コンプリート機能作動の予告を維持する。
続いて、遊技機情報通知について説明する。
第6実施形態では、上述した第2実施形態等と同様に、遊技機10は、遊技機情報通知として、ホールコン・不正監視情報、遊技機設置情報、及び遊技機性能情報を貸出しユニット200に送信する。
図90及び図91は、メダル数制御RWM522の使用領域に設けられた記憶領域であって、貸出しユニット200への遊技機情報通知の送信用として設けられた記憶領域である。図90及び図91の記憶領域の一部は、上述した図78及び図79に示す記憶領域と同一の情報を記憶する記憶領域を含むが、送信処理の効率化のため、送信用の記憶領域として別個に設けられている。
図90は、遊技機情報通知のうち、遊技機性能情報の送信用の記憶領域及び遊技機設置情報の送信用の記憶領域を示す。図90中、遊技機性能情報の送信用の記憶領域は、アドレスが連番になっているものとする。同様に、遊技機設置情報の送信用の記憶領域は、アドレスが連番になっているものとする。
第2実施形態において、図31では、貸出しユニット200に送信する遊技機性能情報、遊技機設置情報、及びホールコン・不正監視情報を示したが、これらの送信用情報を生成するための記憶領域として、図90及び図91に示す記憶領域を有している(図31の「付与」を、図90及び図91では「払出し」と記載している。)。
また、図31に示すホールコン・不正監視情報、遊技機設置情報、及び遊技機性能情報は、いずれも、電文のデータ順に並べているが、この電文のデータ順に対応するように送信用の記憶領域が設けられている。
たとえば、遊技機性能情報の電文は、先頭から、
(1)総投入数:3バイト
(2)総払出し数:3バイト
(3)MY:3バイト

のデータ順となっているが、このデータ順に一致するように、記憶領域のアドレスが並んでいる。これにより、遊技機情報通知の生成処理を簡素化することができる。
特に、遊技機性能情報において、各比率は、図90に示す順序で並んでいるが、この順序は、役比モニタ113の表示順とは相違するため、図79に示す各比率のアドレス順序と相違する。
また、遊技機設置情報送信用の記憶領域についても、図31中、遊技機設置情報の電文のデータ順に設けられている。
以上のように、遊技機情報通知の電文のデータ順に遊技機情報通知の送信用記憶領域のアドレスを並べることにより、送信用記憶領域のアドレスを所定間隔ずつ(「1」ずつ)ずらして送信することで遊技機情報通知の電文のデータとなるため、送信処理を簡素化することが可能となる。
さらにまた、図91に示すホールコン・不正監視情報送信用記憶領域についても、図31中、ホールコン・不正監視情報のデータ順に設けられている。
ここで、図31の第2実施形態では、ホールコン・不正監視情報のうち、遊技機不正1のD6ビットは未使用とした。これに対し、本実施形態では、このD6ビットはコンプリート信号として用いられる。
コンプリート信号は、コンプリート機能が作動したことを示す信号である。本信号は、コンプリート機能が作動し、遊技停止となってからオン(「1」)となる。さらに、コンプリート信号は、約「30」秒間オンにし、その後、オフ(「0」)にする。
また、遊技機不正1のD5ビットは、セキュリティ信号であるが、設定変更中信号(D0)、設定確認中信号(D1)、不正検知信号1~3(D2~D4)、及びコンプリート信号(D6)のいずれかがオンであることを示す(論理和出力)。
図90の遊技機性能情報送信用記憶領域において、
(1)総投入数
(2)総払出し数
(3)MY
(4)役物総払出し数
(5)連続役物総払出し数
(6)遊技回数
の6項目については、役比モニタ情報算出・表示用記憶領域のデータ更新にかかわらず、遊技機情報通知の送信用として独自に更新する。更新タイミングは、毎遊技の終了時である。
なお、主制御CPU510は、MYカウンタが「19000」以上となったときは、コンプリート機能(打止め機能)を作動させる必要がある。コンプリート機能を作動させるか否かを判断するのがMYカウンタの値である。したがって、主制御CPU510の主制御RWM512にMYカウンタを備えている。このMYカウンタは、電源投入後の値であるので、遊技機性能情報送信用記憶領域のMYと同一値となる。したがって、遊技機性能情報送信用記憶領域のMYは、独自にカウントするのではなく、主制御CPU510からMYカウンタの値を受信し、遊技機性能情報送信用記憶領域のMYに保存してもよい。
一方、遊技機性能情報送信用記憶領域において
(1)累計役物比率
(2)累計連続役物比率
(3)累計有利区間比率
(4)累計指示込役物比率
(5)累計役物等状態比率
の5項目については、役比モニタ情報算出・表示用記憶領域(図79)の更新に基づいて更新する。
詳細については後述するが、役比モニタ情報算出・表示用記憶領域の各比率において、累計有利区間比率及び累計役物等状態比率については、毎遊技更新する。これに対し、累計役物比率、累計連続役物比率、及び累計指示込役物比率については、「400」遊技ごとに更新する。
このため、累計有利区間比率及び累計役物等状態比率については、毎遊技、役比モニタ情報算出・表示用記憶領域の値が更新されることに伴い、遊技機性能情報送信用記憶領域の累計有利区間比率及び累計役物等状態比率を更新する。
これに対し、累計役物比率、累計連続役物比率、及び累計指示込役物比率については、「400」遊技ごとに、役比モニタ情報算出・表示用記憶領域の値が更新されることに伴い、遊技機性能情報送信用記憶領域の累計役物比率、累計連続役物比率、及び累計指示込役物比率を更新する。
また、第2実施形態で説明したように、役比モニタ113の比率の表示において、累計遊技数が基準遊技数に満たない場合には、識別セグを点滅表示する。
各累計比率の基準遊技数は、以下の通りである。
(1)累計指示込役物比率又は累計有利区間比率:175000
(2)累計連続役物比率:17500
(3)累計役物比率:17500
(4)累計役物等状態比率:175000
そこで、役比モニタ情報算出・表示用記憶領域の総遊技数の値を取得し、累計指示込役物比率又は累計有利区間比率、及び累計役物等状態比率については、総遊技数が「175000」未満であれば「FFh」を記憶し、総遊技数が「175000」以上であれば役比モニタ情報算出・表示用記憶領域に記憶された値をそれぞれ記憶する。
同様に、累計連続役物比率及び累計役物比率にいては、総遊技数が「17500」未満であれば「FFh」を記憶し、総遊技数が「17500」以上であれば役比モニタ情報算出・表示用記憶領域に記憶された値をそれぞれ記憶する。
また、比率が非該当項目となる場合には、「FFh」を記憶する。
たとえば、役物(RB、SB、CB)を一切有さない遊技機では、累計役物比率、及び役物等状態比率は非該当項目となり、「FFh」を記憶する。
また、連続役物(RB)を有さない遊技機では、累計連続役物比率は非該当項目となり、「FFh」を記憶する。
さらにまた、有利区間を備える遊技機では、「7U」タイプ又は「7P」タイプのいずれかとなる。「7U」タイプは、有利区間比率を70%以下とする仕様の遊技機であり、この遊技機では累計有利区間比率を記憶する(指示込役物比率は非該当項目となるので「FFh」を記憶する。)。
これに対し、「7P」タイプは、指示込役物比率(総払出し数に対する、指示機能の作動及び役物作動によって払い出された払出し数の比率)を70%以下とする仕様の遊技機であり、この遊技機では累計指示込役物比率を記憶する(累計有利区間比率は非該当項目となるので「FFh」を記憶する。)。
なお、比率を算出した結果、「100(D)」となったときは、役比モニタ情報算出・表示用記憶領域には「100(D)」が記憶されるので、遊技機性能情報送信用記憶領域にも当該比率については「100(D)」が記憶される。
したがって、この場合には当該比率が「100(D)」であることを含む遊技機性能情報が送信される。これにより、当該比率の表示時には「99」となるが、貸出しユニット200に送信する場合には、「99」に補正されていない「100(D)」の比率(より正確な値の比率)を送信することができる。これにより、役比モニタ113に「99」と表示されているときに、本当の比率は「100(D)」であるが補正によって役比モニタ113に「99」と表示されているのか、それとも、本当の比率が「99(D)」であって役比モニタ113に「99」と表示されているのかを、遊技機性能情報から判別することができる。
また、図90に示すように、遊技回数の記憶領域は「2」バイトである。このため、遊技回数としてカウント可能な範囲は、「0」~「65535(FFFFh)」である。そこで、遊技回数の記憶領域が「FFFFh」に達するまでは、遊技機性能情報送信用記憶領域の各値を更新するが、遊技回数の記憶領域が「FFFFh」に達した後は、
(1)総投入数
(2)総払出し数
(3)MY
(4)役物総払出し数
(5)連続役物総払出し数
(6)遊技回数
の6項目については更新しない。
一方、
(1)累計役物比率
(2)累計連続役物比率
(3)累計有利区間比率
(4)累計指示込役物比率
(5)累計役物等状態比率
の5項目については、遊技回数の値にかかわらず、役比モニタ情報算出・表示用記憶領域の値に基づいて、毎遊技ごと又は「400」遊技ごとに更新する。
さらに、遊技回数が「FFFFh」に到達し、遊技機性能情報送信用記憶領域の総投入数等の値を更新しない場合であっても、遊技機性能情報の送信タイミングが到来したときは、遊技機性能情報を貸出しユニット200に送信する。
次に、メダル数制御CPU520による情報処理(特に、遊技機情報通知の送信処理)について説明する。
図92は、メダル数制御CPU520のメイン処理を示すフローチャートである。
電源が投入され、ステップS221においてメダル数制御CPUのプログラムが開始されると、ステップS222では、メダル数制御RWM522の初期化処理が実行される。この処理は、たとえば、図90及び図91に示す遊技機情報通知の送信用の記憶領域を初期化する処理である。
これに対し、図78及び図79に示す役比モニタ情報算出・表示用記憶領域は、初期化しない。
次にステップS223に進み、主制御起動待機タイマM1に「3000」をセットする。なお、ここで主制御起動待機タイマM1に「3000」がセットされると、その後、割込み処理ごと(「1」msごと)に「1」減算される。したがって、「3000」ms後に主制御起動待機タイマM1が「0」となる。
電源が投入されると、それぞれ独立して主制御CPU510及びメダル数制御CPU520の立ち上げ処理が実行されるが、本実施形態では、メダル数制御CPU520の方が主制御CPU510よりも先に立ち上がるように構成されている。そこで、主制御CPU510が立ち上がるまで待機すべく、主制御起動待機タイマM1をセットする(「3000」ms間の待機処理を実行する。)。
次のステップS224では、メダル数制御CPU520による割込み処理を禁止する。このように制御することにより、後述するステップS227において割込み処理が許可されるまで、メダル数制御CPU520の割込み処理が実行されないようにすることができる。換言すれば、主制御起動待機タイマM1に「3000」をセットした後に割込み処理が開始されるようにすることができる。
次のステップS225では、コマンド受信処理を実行する。この処理は、主制御CPU510等から送信される各種コマンドを受信する処理である。
コマンド受信処理としては、たとえば以下の事項が挙げられる。
1)主制御CPU510から、電源オン時に、主制御CPU510が起動した旨のコマンドを受信する。
2)主制御CPU510から、電源オン時に、主制御チップID番号、主制御チップメーカコード、主制御チップ製品コード(遊技機設置情報を生成するために必要なコマンド)を受信する。
3)主制御CPU510から、電源オン時に、役比モニタ113表示の種別を指定するための役比タイプ(「7U」タイプか「7P」タイプか)のコマンドを受信する。
4)主制御CPU510から、スタートスイッチ41受付け時に、投入数のコマンドを受信する。
5)主制御CPU510から、全リール31の停止時に、払出し数のコマンドを受信する。
6)主制御CPU510から、全リール31の停止時に、役物等作動状態のコマンドを受信する。
7)主制御CPU510から、随時、主制御状態1、主制御状態2、遊技機エラー状態、不正検出状態1(遊技機不正1)、不正検出状態2(遊技機不正2)、不正検出状態3(遊技機不正3)(ホールコン・不正監視情報を生成するために必要なコマンド)を受信する。
8)貸出しユニット200から、随時、貸出し通知(図32参照)を受信する。
次のステップS226では、電断断フラグがオンであるか否かを判断する。電源断フラグがオンでないと判断したときはステップS227に進み、電源断フラグがオンであると判断したときはステップS228に進む。
ステップS228では、電断断処理を実行する。電源断処理では、チェックサム算出を行い、その後、電源落ち待ち(ループ)を実行する。
一方、ステップS227に進むと、メダル数制御CPU520による割込み処理を許可する。そして、ステップS224に進む。
このように割込み処理を許可することにより、ステップS228の電源断処理に移行すると、メダル数制御CPU520による割込み処理が実行されないようにすることができる(ステップS224の割込み禁止が続いている。)。したがって、ステップS228の電源断処理に移行し、チェックサムの算出等のときに割込み処理が実行されないので、メダル数制御RWM522のデータがチェックサムの算出中に更新されてしまうのを防止することができる。
なお、図92において、主制御起動待機タイマM1がセットされた後、主制御起動待機タイマM1が「0」になる前に電源断を検知したときも、ステップS228の電源断処理に移行する。
ここで、主制御起動待機タイマM1がセットされた後、「3000」msが経過する前であっても主制御CPU510からコマンドを受信している場合がある。したがって、電源断を検知したときは、主制御CPU510から受信したコマンドをバックアップする処理を含む電源断処理が実行される。
図93は、メダル数制御CPU520による割込み処理を示すフローチャートである。なお、メダル数制御CPU520による割込み周期は、「1」msであるものとする。
ステップS231において割込み処理が開始されると、まず、ステップS232では、電断断信号を検知したか否かを判断する。電源断信号を検知していないと判断したときはステップS234に進み、電源断信号を検知したと判断したときはステップS233に進む。ステップS233では、電源断フラグをオンにする。そしてステップS234に進む。
このステップS232及びS233の処理は、主制御起動待機タイマM1が「0」となったか否か、VL信号がオンであるか否か、及び接続確認後待機タイマM2が「100」以上となったか否かにかかわらず実行される。これにより、電源断処理の実行条件を満たしたと判断したときは、速やかに電源断処理に移行することが可能となる。
ステップS234では、主制御起動待機タイマM1を更新する。この処理は、主制御起動待機タイマM1の値を「1」減算する処理である。そして次のステップS235において、主制御起動待機タイマM1が「0」となったか否かを判断する。主制御起動待機タイマM1が「0」となったと判断したときはステップS236以降の処理に進み、主制御起動待機タイマM1が「0」でないと判断したときは本フローチャートによる処理を終了する。主制御起動待機タイマM1は、図92のステップS223で初期値「3000」がセットされた後、「1」msごとの割込み処理で「1」減算されるので、初期値「3000」がセットされた後、「3000」ms経過時に「0」となる。したがって、メダル数制御CPU520のプログラムが開始された後、「3000」msが経過するまでは、ステップS236以降の処理(ステップS244の遊技機情報管理やステップS248の役比モニタ表示制御等)は実行されない。
ステップS235において主制御起動待機タイマM1が「0」であると判断され、ステップS236に進むと、入力ポートのチェックを行う。この処理は、精算スイッチ46の信号、計数スイッチ47の信号、主制御CPU510が立ち上がったことを示すVL信号、総メダル数クリアスイッチ112の信号のチェックを行う。
次にステップS237に進み、VL信号がオンであるか否かを判断する。VL信号がオンであるときはステップS238に進み、VL信号がオンでないと判断したときはステップS242に進む。
ここで、貸出しユニット200から遊技機10にVL信号(直流18Vの信号)が供給されていれば、VL信号はオンであると判断し、貸出しユニット200と遊技機10とが正常に接続されていると判断される。VL信号がオンであるときは、遊技機10が遊技可能(メダルをベット可能)であることを示す。
メダル数制御CPU520は、接続確認後待機タイマM2及び接続済みフラグを備える。接続確認後待機タイマM2は、VL信号がオフからオンになったと判断されてから「100」msをカウントするためのタイマである。接続確認後待機タイマM2は、VL信号がオフのときは「0」である。そして、VL信号がオフからオンになった後、毎割込み処理ごとに「1」加算される。また、接続済みフラグは、接続確認後待機タイマM2が「100」をカウントしたときにオンになるフラグである。換言すれば、VL信号がオンになった後、「100」msを経過したときにオンになる。
このように制御する理由としては、本実施形態の貸出しユニット200は、VL信号がオンになってから「100」ms間はコマンドを受信しても無視する仕様となっている。したがって、VL信号がオンになってから、遊技機10側で「100」ms待機するようにしている。
ステップS237においてVL信号がオンでないと判断され、ステップS242に進むと、接続確認後待機タイマM2を「0」に(クリア)する。次にステップS243に進み、接続済みフラグをオフ(「0」)にする。そしてステップS244に進む。
なお、VL信号が一旦オンになった後に、遊技機10や貸出しユニット200の電源をオフにするか、遊技機10と貸出しユニット200とを繋ぐケーブルを外さない限り、原則、VL信号がオフになることはない。したがって、ステップS242及びS243の処理は、設けなくてもよい。
しかし、ゴト行為等によって、遊技機10や貸出しユニット200の電源が切断される(遊技機10と貸出しユニット200との通信が切断される)おそれがある。このため、毎割込み処理ごとにVL信号のオン/オフを確認し、VL信号がオフであると判断したときは、接続確認後待機タイマM2を「0」にし、接続済みフラグをオフにする処理を行う。後述するように、接続済みフラグがオンでなければ、遊技機情報通知が遊技機10から貸出しユニット200に送信されないように構成されている。
一方、ステップS237においてVL信号がオンであると判断され、ステップS238に進むと、接続済みフラグがオンであるか否かが判断される。接続済みフラグがオンであるというのは、接続確認後待機タイマM2が「100」をカウントした後であることを意味する。接続済みフラグがオンであると判断したときはステップS244に進み、接続済みフラグがオンでないと判断したときはステップS239に進む。ステップS239では、接続確認後待機タイマM2を更新(「1」を加算)する。次のステップS240では、接続確認後待機タイマM2が「100」以上となったか否かを判断する。接続確認後待機タイマM2が「100」以上であると判断したときはステップS241に進み、接続確認後待機タイマM2が「100」以上でないと判断したときはステップS244に進む。
ステップS241では、接続済みフラグをオンにする。そしてステップS244に進む。
ステップS244では遊技機情報管理を実行する。この処理は、後述する図94に示す処理であり、遊技機情報通知を貸出しユニット200に送信する処理である。
ここで、遊技機情報管理により遊技機情報通知が送信されると、図32に示すように、その時点から「100」以内に計数通知が送信され、貸出しユニット200は、計数通知の受信から「170」ms以内に貸出し通知を遊技機10に送信する。遊技機10は、貸出し通知を受信すると貸出受領結果応答を貸出しユニット200に送信する。したがって、遊技機情報通知を実行可能な状況でなければ、貸出しユニット200の貸出しスイッチ202を操作してもメダルは貸し出されないように構成されている。
このため、
(1)主制御起動待機タイマM1が「0」になるまで(ステップS235で「Yes」と判断されるまで)は、貸出しスイッチ202を操作してもメダルは貸し出されない。
(2)VLがオンになった後、接続確認後待機タイマM2が「100」以上になるまで(ステップS240で「Yes」と判断されるまで)は、貸出しスイッチ202を操作してもメダルは貸し出されない。
次にステップS245に進み、主制御CPU510に対し、状態を送信する。この処理は、計数スイッチ47の状態(オン/オフ)、総メダル数クリアスイッチ112の状態(オン/オフ)を送信する処理である。
次にステップS246に進み、メダル数表示部121の表示制御を実行する。この処理は、メダルの投入処理、払出し処理、計数処理に基づいて、メダル数表示部121の表示(総メダル数)を更新する処理である。
次のステップS247では、比率(役比モニタ113に表示する比率)の更新処理を実行する。ここで、1遊技の終了時(全リール31が停止し、払出しを有するときは払出し処理の終了時)に、主制御CPU510からメダル数制御CPU520に対し、遊技終了コマンドが送信されるように構成されている(図92中、ステップS225で受信する)。この遊技終了コマンドを受信したときには、比率更新フラグをオンにする。そして、ステップS247において比率更新フラグがオンであるときは、比率の更新処理を行う。ここでの比率の更新処理は、役比モニタ113に係る比率の更新処理(図80~図83に示す処理)に相当する。また、ステップS247の処理後、比率更新フラグをオフにする。
ここで、各比率の更新頻度は、以下の通りである。
(1)累計指示込役物比率:400遊技ごと
(1)累計有利区間比率:毎遊技ごと
(2)6000遊技連続役物比率:400遊技ごと
(3)6000遊技役物比率:400遊技ごと
(4)累計連続役物比率:400遊技ごと
(5)累計役物比率:400遊技ごと
(6)累計役物等状態比率:毎遊技ごと
次にステップS248に進み、役比モニタ113の表示制御を実行する。この処理は、他の実施形態で説明したように、4割込みが1周期となって、役比モニタ113の4桁のLEDをダイナミック点灯させる処理である。
次にステップS249に進み、タイマ管理を行う。この処理は、信号の出力時間を管理しているタイマを更新する処理である。そして本フローチャートによる処理を終了する。
ステップS249において管理しているタイマの種類としては、たとえば、
(1)設定変更中信号(ホールコン・不正監視情報中、遊技機不正1のD0ビット)の出力時間を管理しているタイマ(3000ms)
(2)設定確認中信号(ホールコン・不正監視情報中、遊技機不正1のD1ビット)の出力時間を管理しているタイマ(3000ms)
(3)不正検知信号(ホールコン・不正監視情報中、遊技機不正1のD2~D4ビット)の出力時間を管理しているタイマ(3000ms)
(4)コンプリート信号(ホールコン・不正監視情報中、遊技機不正1のD6ビット)の出力時間を管理しているタイマ(30000ms)
(5)設定ドアオープン信号(ホールコン・不正監視情報中、遊技機不正2のD0ビット)の出力時間を管理しているタイマ(3000ms)
(6)ドアオープン信号(ホールコン・不正監視情報中、遊技機不正2のD1ビット)の出力時間を管理しているタイマ(3000ms)
(7)メダル数クリア検知信号(ホールコン・不正監視情報中、遊技機不正2のD3ビット)の出力時間を管理しているタイマ(3000ms)
等が挙げられる。
上記のうち、設定変更中信号の最小出力時間は、遊技可能となってから「3000」ms間と定めており、この時間をタイマで管理する。
また、コンプリート信号は、コンプリート機能が作動し、遊技停止となってからオンとなり、「30000」ms後にオフにするため、この時間をタイマで管理する。
その他の信号は、信号を検知してから出力時間として「3000」ms間と定めており、この時間をタイマで管理する。
図94は、図93中、ステップS244の遊技機情報管理を示すフローチャートである。
ここで、第2実施形態における遊技機情報管理(図41)、第5実施形態における遊技機情報管理(図63)との相違点について説明する。
第2実施形態では、遊技機情報通知において遊技機情報の送信優先度は、例外なく、第1優先が遊技機設置情報(「60」秒ごと)、第2優先が遊技機性能情報(「180」秒ごと)、第3優先がホールコン・不正監視情報(「300」msごと)であった。
また、第5実施形態では、
(a)主制御状態に変化がなく、メダルの投入又は払出しがない場合には、
第1優先:遊技機設置情報
第2優先:遊技機性能情報
第3優先:ホールコン・不正監視情報
である(第2実施形態と同じ)。
(b)主制御状態に変化があった場合、又はメダルの投入若しくは払出しがあった場合には、
第1優先:ホールコン・不正監視情報
第2優先:遊技機設置情報
第3優先:遊技機性能情報
である。
これに対し、第6実施形態では、第5実施形態に加えて、電源投入後、最初に送信する遊技機情報通知は、遊技機設置情報とする。
このように制御するのは、以下の理由による。
ホールにおいて遊技機を変更した(遊技台を入れ替えた)後、電源をオンにし、1回目の遊技設置情報(主制御チップメーカコード等)を送信する前に遊技機側でエラーが発生し、エラーコードを貸出しユニット200に送信してしまうと、貸出しユニット200側では、変更(入替え)前の遊技機についてエラーコードを受信したと判断してしまう。そこで、電源をオンした後、最初に送信する遊技機情報通知は、遊技機設置情報とした。
また、上述したように、貸出しユニット200は、VL信号がオンになってから「100」ms間は、遊技機10からのコマンドを受信しても無視する仕様となっている。このため、最初に遊技機設置情報を送信する場合には、VL信号がオンになった後、「100」ms経過後である。
さらに、上述したように、遊技機10の電源が投入されると、主制御CPU510よりも先にメダル数制御CPU520が立ち上がるように構成されている。主制御CPU510からのコマンドを取りこぼさないようにするためである。
また、メダル数制御RWM522に記憶される主制御チップID番号等は、電源オン時にクリアされる。そして、主制御CPU510から主制御チップID番号等のコマンドを受信する前に貸出しユニット200に対して主制御チップID番号等を含む遊技機設置情報を送信してしまうと、クリアデータを送信してしまうことになる。このため、主制御CPU510が立ち上がり、かつ、主制御CPU510からのコマンドをメダル数制御CPU520が受信するまでの時間として「3000」msを担保するようにしている。換言すると、主制御CPU510が立ち上がった後、メダル数制御CPU520に対して主制御チップID番号等のコマンドの送信処理を終了するまで待機処理を実行している。
以上より、電源投入後、主制御起動待機タイマM1が「3000」をカウントし(「3000」ms経過し)、かつ、VL信号がオンになった後、接続確認後待機タイマM2が「100」をカウントした後(「100」ms経過後)に、最初の遊技機情報通知(遊技機設置情報)を送信するように構成されている。
このように構成することにより、貸出しユニット200が遊技機情報通知を確実に受信できるようになってから、正確な遊技機情報通知を送信することが可能となる。
図94では、ホールコン・不正監視情報を送信するためのタイマ(「300」msをカウントするタイマ)を「ホールコン・不正監視情報送信タイマA」とし(必要に応じて「タイマA」と略称する。)、遊技機設置情報を送信するためのタイマ(「60」秒をカウントするタイマ)を「遊技機設置情報送信タイマB」とし(必要に応じて「タイマB」と略称する。)、遊技機性能情報を送信するためのタイマ(「180」秒をカウントするタイマ)を「遊技機性能情報送信タイマC」(必要に応じて「タイマC」と略称する。)とする。
そして、遊技機10の電源投入時に、これら3つのタイマA、B、及びCは、すべて「0」に初期化される。
図94において、ステップS261では、接続済みフラグがオンであるか否かを判断する。接続済みフラグがオンであると判断したときはステップS262に進み、接続済みフラグがオンでないと判断したときは本フローチャートによる処理を終了する。換言すれば、接続済みフラグがオンでなければ遊技機情報通知を送信しない。
ステップS262では、ホールコン・不正監視情報送信タイマAから「1」を減算する。次にステップS263に進み、更新前のタイマAの値が「0」であるか否かを判断する。ステップS262の減算処理においてキャリーフラグが「1」となったときは、更新前のタイマAの値が「0」であると判断する。なお、更新前のタイマAの値が「0」であったためにキャリーフラグが「1」となるのは、電源投入時にタイマAの値が「0」にされた(初期化された)後に「1」減算された場合に相当する。更新前のタイマAが「0」であると判断したときはステップS265に進み、「0」でないと判断したときはステップS264に進む。
ステップS264では、更新前のタイマAの値が「1」であるか否かを判断する。ここでは、タイマAの更新時にゼロフラグが「1」となったか否かを判断する。更新前のタイマAの値が「1」であると判断したときはステップS267に進み、「0」でないと判断したときは本フローチャートによる処理を終了する。
更新前のタイマAの値が「1」であるときは、「300」ms周期のタイミング、すなわちホールコン・不正監視情報の送信タイミングであることを意味する。
一方、更新前のタイマAの値が「1」でないときは、ホールコン・不正監視情報の送信タイミングでない(「300」ms周期のタイミングでない)ので、「60」秒周期の送信タイミングでもなく、かつ、「180」秒周期の送信タイミングでもない。換言すれば、遊技機設置情報の送信タイミングでもなく、かつ、遊技機性能情報の送信タイミングでもない。したがって、ホールコン・不正監視情報の送信タイミングでないと判断したときは、遊技機設置情報の送信タイミングであるか否かや、遊技機性能情報の送信タイミングであるか否かを判断することなく、遊技機情報管理を終了するようにしている。これにより、プログラム処理を簡素化できるとともに、遊技機情報管理の高速化を図ることができる。
これに対し、ステップS263において更新前のタイマAの値が「0」であると判断され、ステップS265に進むと、タイマAに「300」をセットする。上述したように、メダル数制御CPU520のタイマ割込み周期は「1」msであるので、タイマAの初期値として「300」を記憶し、割込み処理ごとに「1」を減算すれば、「300」msをカウントすることができる。
次に、ステップS266に進み、遊技機設置情報を送信する。そして本フローチャートによる処理を終了する。
すなわち、ステップS263において更新前のタイマAが「0」である場合には、電源投入後、最初にタイマAに「300」がセットされるタイミングであり、遊技機情報通知を未だ送信していない状態である。したがって、このタイミングで、最初の遊技機情報通知として遊技機設置情報を送信する。
なお、電源投入時の初期化処理により、タイマAの値が「0」にされるが、それ以外は、ステップS265の処理前の期間を除き、タイマAの値が「0」になることはない(異常時を除く)。
ステップS264からステップS267に進むと、タイマAの値に「300」をセットする。ここで、タイマAの更新前「1」から「300」がセットされたタイミングが、「300」msの周期に相当し、ホールコン・不正監視情報の送信可能タイミングとなる。
次のステップS268では、タイマBの値を「1」加算する処理を実行する。ここで、タイマBに「199」未満の値が記憶されているときはタイマBの値に「1」を加算し、タイマBの値が「199」未満でないとき(すなわち、正常動作状況下において「199」が記憶されているとき)は、タイマBに「0」を記憶する演算処理を行う(特殊加算命令)。
タイマBに「1」を加算する特殊加算命令を用いた演算処理を行うと、タイマBの値として「0」~「199」を循環させることができる。
また、タイマBに「199」が記憶されているときに「1」を加算する状況とは、タイマAが「0」となった契機が「200」回到来した状況に相当する。換言すれば、割込み処理が「300」回実行されるごとにタイマBが「1」ずつ加算されるため、「300回×200回=60000回」の割込み処理が実行された(「60」秒が経過した)状況である。
ここで、本来であれば、「60000」回の割込み処理が実行されたか否かを計測するためには「2」バイトの記憶領域を設けなければならない。しかし、タイマAの値に基づいてタイマBを更新することにより、タイマBの記憶領域を「1」バイトとすることができ、メダル数制御RWM522の容量を削減することができる。
なお、上記例ではタイマBに「1」加算する命令を実行しているが、「1」減算する命令としてもよい。減算命令の場合は、電源投入時にタイマBに初期値として「200」を記憶し、その後「0」となったときに「200」を記憶してもよい。あるいは、電源投入時にタイマBに初期値として「199」を記憶し、その後、キャリーフラグが「1」となったときに「200」を記憶してもよい。
また、タイマBの更新を加算命令としているため、減算命令にした場合と比べて、初期値をセットする処理を省略できる(電源投入時の初期化処理により初期値は「0」となる)分、処理速度の向上やプログラム容量を削減することができる。
ステップS269では、タイマBの時間が経過したか否かを判断する。ここでは、タイマBの値が「1」加算により「0」となったときは、タイマBの時間が経過したと判断する。一方、タイマBの値が「1」加算により「0」にならなかったときは、タイマBの時間が経過していないと判断する。
タイマBの時間が経過したと判断したときはステップS270に進み、経過していないと判断したときはステップS274に進む。
ステップS270では、タイマCに「1」加算する処理を実行する。
ここでは、タイマCに「2」未満の値が記憶されているときはタイマCの値に「1」を加算し、タイマCの値が「2」未満でないとき(すなわち、正常動作状況下において「3」が記憶されているとき)はタイマCに「0」を記憶する演算処理である(特殊加算命令)。
タイマCに「1」を加算する特殊加算命令を用いた演算処理を行うと、タイマCの値として「0」~「2」を循環させることができる。
また、タイマCに「2」が記憶されているときに「1」を加算する状況とは、タイマBが「0」となった契機が「3」回到来した状況に相当する。換言すれば、割込み処理が「300」回実行されるごとにタイマBが「1」加算され、タイマBが「200」回更新されるごとにタイマCに「1」が加算されることから、「300回×200回×3回=180000回」の割込み処理が実行された(「180」秒が経過した)状況である。
ここで、本来であれば、「180000」回の割込み処理が実行されたか否かを計測するためには「3」バイトの記憶領域を設けなければならないが、タイマAの値に基づいてタイマBの値を更新し、さらにタイマBの値に基づいてタイマCの値を更新するので、タイマCの記憶領域を「1」バイトとすることができ、メダル数制御RWM522の記憶容量を削減することができる。
なお、上記例ではタイマCに「1」加算する命令を実行しているが、減算命令としてもよい。減算命令の場合は、電源投入時にタイマCの値として初期値「3」を記憶し、その後「0」となったときに「3」を記憶してもよい。あるいは、電源投入時にタイマCの値として初期値「2」を記憶し、その後、キャリーフラグが「1」となったときに「3」を記憶してもよい。
ただし、本実施形態のようにタイマCの更新を加算命令とすれば、減算命令にした場合と比べて、初期値をセットする処理を省略できる(電源投入時の初期化処理により初期値は「0」となる)分、処理速度の向上やプログラム容量を削減することができる。
ステップS271では、タイマCの時間が経過したか否かを判断する。ここでは、タイマCの値が「1」加算により「0」となったときは、タイマCの時間が経過したと判断する。一方、タイマCの値が「1」加算により「0」にならなかったときはタイマCの時間が経過していないと判断する。
タイマCの時間が経過したと判断したときはステップS272に進み、経過していないと判断したときはステップS273に進む。
なお、ステップS269で「Yes」と判断されたときに限り、ステップS271の処理を実行するようにしている。タイマCを更新するタイミングは、タイマBが「0」になったときに限られるからである。タイマCの時間が経過したか否かは、「180」秒の周期が到来したか否かであり、「180」秒の周期が到来するのは、必ず「60」秒の周期が到来している(タイマBの時間が経過している)からである。
ステップS272では、遊技機性能情報通知要求フラグをセットする。この処理は、遊技機情報通知要求フラグの「D0」ビットに「1」を記憶する処理である。次のステップS273では、遊技機設置情報通知要求フラグをセットする。この処理は、遊技機情報通知要求フラグの「D1」ビットに「1」を記憶する処理である。
すなわち、タイマCの時間が経過したと判断されたときは、「180」秒の周期が到来したときであり、「180」秒の周期には「60」秒の周期が含まれるため、遊技機性能情報を通知するタイミングが到来し、かつ、遊技機設置情報を通知するタイミングが到来したときである。したがって、遊技機情報通知要求フラグの「D0」及び「D1」ビットの双方を「1」にする。
これに対し、ステップS269においてタイマBの時間が経過したと判断され、かつ、タイマCの時間が経過していないと判断されたときは、「60」秒の周期(遊技機設置情報を通知するタイミング)が到来しているが、「180」秒の周期(遊技機性能情報を通知するタイミング)が到来していないときである。したがって、この場合には、ステップS272の処理を実行せず、ステップS273の処理のみを実行し、遊技機情報通知要求フラグの「D1」ビットだけを「1」にする。
このように、遊技機設置情報を送信するタイミング、及び遊技機性能情報を送信するタイミングをフラグで管理するため、ホールコン・不正監視情報と、遊技機設置情報と、遊技機性能情報とを送信する処理を簡略化できる。換言すれば、各種情報に対応したタイマを連動させることで、個別に管理することなく送信することが可能となる。さらに、ホールコン・不正監視情報と、遊技機設置情報と、遊技機性能情報とを送信するためのタイマの計測開始タイミングがずれることがないため、正確に送信することが可能となる。
次にステップS274に進み、主制御状態に変化があったか否か、又は投入数若しくは払出し数情報があるか否かを判断する。ここで、「主制御状態」とは、本実施形態では役物非作動時(非特別(BB、RB、CB等)遊技)や役物作動時(特別遊技)が挙げられる。さらには、非ATやATを含めてもよい。
主制御CPU510は、メダル数制御CPU520に対し、主制御状態の送信タイミングが到来するごと(たとえばタイマ割込み処理ごと)に、主制御状態の情報を送信する。
一方、メダル数制御CPU520は、新主制御状態記憶領域と、旧主制御状態記憶領域とを有している。メダル数制御CPU520は、主制御CPU510から主制御状態の情報を受信したときは、新主制御状態記憶領域に受信した主制御状態の情報を記憶する。一方、後述するホールコン・不正監視情報セットが実行されると、メダル数制御CPU520は、新主制御状態記憶領域に記憶されている主制御状態の情報を、旧主制御状態記憶領域に記憶する。このため、ステップS274の判断時には、新主制御状態記憶領域と旧主制御状態記憶領域の双方に、主制御状態の情報が記憶されている。
このように、主制御CPU510から受信した主制御状態の情報を、新主制御状態記憶領域と旧主制御状態記憶領域とに分けて記憶しておくことにより、主制御CPU510から主制御状態の情報を受信していなくても、主制御状態に変化がないことを判断することができ、遊技機情報の優先度を把握することができる。
そして、ステップS274では、新主制御状態記憶領域に記憶された主制御状態の情報と旧主制御状態記憶領域に記憶された主制御状態の情報とを対比し、両者が同一であるときは主制御状態に変化なしと判断する。一方、両者が異なるときは主制御状態に変化ありと判断してステップS275に進む。
さらにステップS274では、メダル数制御CPU520は、投入メダル数が「0」でないか否か、及び払出しメダル数が「0」でないか否かを判断する。
図91に示すように、メダル数制御RWM522のホールコン・不正監視情報送信用記憶領域には、今回遊技の投入メダル数と、今回遊技の払出しメダル数とを記憶する記憶領域を有している。これらの記憶領域は、ベット処理や払出し処理で用いられる記憶領域や、役比モニタで用いられるベット数や払出し数の記憶領域とは異なる記憶領域であり、遊技機情報管理で用いられるための記憶領域である。
メダル数制御CPU520は、メダルがベットされただけでは投入メダル数を記憶しない。主制御CPU510は、遊技が開始されると、スタートスイッチ受付けコマンドをメダル数制御CPU520に送信する。メダル数制御CPU520は、スタートスイッチ受付けコマンドを受信したとき(投入メダル数が確定したとき)に投入メダル数を生成し、記憶する。
また、主制御CPU510は、全リール31が停止したと判断したときは、全リール停止コマンドをメダル数制御CPU520に送信する。メダル数制御CPU520は、全リール停止コマンドを受信したときに、払出しメダル数を生成し、記憶する。
そして、ステップS274のタイミングにおいて、投入メダル数が「0」でないか否か、及び払出しメダル数が「0」でないか否かを判断する。投入メダル数又は払出しメダル数が「0」でないときはステップS275に進む。これに対し、投入メダル数が「0」であり、かつ、払出しメダル数が「0」であって、上述した主制御状態に変化がないときは、ステップS276に進む。
ステップS275に進むと、ホールコン・不正監視情報を送信する。ここで、ホールコン・不正監視情報が送信されると、投入メダル数及び払出しメダル数はクリアされる。このため、ステップS274において投入メダル数又は払出しメダル数が「0」でないと判断された後、「300」ms経過後に再度遊技機情報管理が実行されると、ステップS274では、投入メダル数及び払出しメダル数はいずれも「0」であるから「No」と判断される。
なお、メダルが払い出されてから「300」ms以内に次回遊技が開始されたり、遊技が開始されてから「300」ms以内にメダルが払い出されたりすれば、次回の遊技機情報管理においてもステップS274で「Yes」と判断されることになるが、そのような事象は稀であると考えられる。
一方、ステップS274からステップS276に進むと、遊技機設置情報の通知要求があるか否かを判断する。ここでは、遊技機情報通知要求フラグの「D1」ビットが「1」であれば遊技機設置情報の通知要求があると判断し、遊技機情報通知要求フラグの「D1」ビットが「1」でなければ遊技機設置情報の通知要求がないと判断する。
遊技機設置情報の通知要求があると判断したときはステップS280に進み、遊技機設置情報の通知要求がないと判断したときはステップS277に進む。
ステップS277では、遊技機性能情報の通知要求があるか否かを判断する。ここでは、遊技機情報通知要求フラグの「D0」ビットが「1」であれば遊技機性能情報の通知要求があると判断し、遊技機情報通知要求フラグの「D0」ビットが「1」でなければ遊技機性能情報の通知要求がないと判断する。
遊技機性能情報の通知要求があると判断したときはステップS278に進み、遊技機性能情報の通知要求がないと判断したときはステップS275に進む。
すなわち、遊技機設置情報の通知要求がなく、かつ、遊技機性能情報の通知要求がないときは、ホールコン・不正監視情報を送信する。
また、ステップS276で遊技機設置情報の通知要求があるか否かを判断し、遊技機設置情報の通知要求がないと判断したときは、ステップS277に進んで遊技機性能情報の通知要求があるか否かを判断する処理順序となっている。このような処理順序にすることにより、遊技機設置情報通知要求フラグと遊技機性能情報通知要求フラグの両方がセットされている状況(「180」秒周期が到来した状況)においては、先に、遊技機設置情報の通知要求があるか否かを判断することにより、遊技機性能情報の送信処理よりも先に遊技機設置情報の送信処理を実行できる(優先できる)ように構成している。
ステップS276からステップS280に進むと、遊技機設置情報を送信する。そして次のステップS279で、遊技機情報通知要求フラグの「D1」ビットを「0」にし、本フローチャートによる処理を終了する。
一方、ステップS277からステップS278に進むと、遊技機性能情報を送信する。そして次のステップS279で、遊技機情報通知要求フラグの「D0」ビットを「0」にし、本フローチャートによる処理を終了する。
以上のようにして、ステップS274の判断タイミングで、主制御状態に変化がなく、かつ、投入メダル数及び払出しメダル数が「0」であるときは、遊技機設置情報及び遊技機性能情報がホールコン・不正監視情報より優先して送信される。
これに対し、ステップS274の判断タイミングで、主制御状態に変化がある場合、又は投入メダル数若しくは払出しメダル数が「0」でないときは、ホールコン・不正監視情報が、遊技機設置情報及び遊技機性能情報より優先して送信される。
このように処理を実行することにより、遊技機情報通知では、優先度の高い遊技機情報を送信することが可能となる。そして、優先度の高い遊技機情報を送信できるようにしつつ、プログラムを複雑にすることなく(プログラム容量を大きくすることなく)、処理の高速化を図ることができる。
なお、図87に示したように、コンプリート機能が作動した場合には、主制御CPU510のメイン処理を中止するので、その後の遊技の進行は不可となる。しかし、コンプリート機能が作動した後も、メダル数制御CPU520の割込み処理(図93)は実行可能である。したがって、当該割込み処理により、送信タイミングが到来した遊技機情報通知を貸出しユニット200に送信可能である。
図95及び図96は、遊技機情報通知タイマの更新シーケンスを示すタイムチャートである。
図95の例は、主制御状態が変化せず、かつ、投入メダル数及び払出しメダル数が「0」である例である。これに対し、図96の例は、主制御状態が変化するか、又は投入メダル数若しくは払出しメダル数が「0」でない場合を有する例である。
図95において、まず、遊技機10の電源が投入されると、メダル数制御RWM522の初期化処理が実行され、これによってタイマA、タイマB、及びタイマCの各値がクリアされる(「0」が記憶される)。換言すると、タイマA、タイマB、及びタイマCには、初期値として「0」がセットされる。この時点でのタイミングを「T0」とする。
また、上述したように、タイミング「T0」において、主制御起動待機タイマM1に「3000」がセットされる(図92のステップS223)。
次に、タイミング「T0」から「3000」msを経過してタイミング「T1」になると、主制御起動待機タイマM1の値は「0」となる。なお、タイミング「T0」から「T1」までの間にVLはオンになるものとする。
タイミング「T1」では、接続確認後待機タイマM2のカウントを開始する。
次に、タイミング「T1」から「100」msを経過してタイミング「T2」になると、接続確認後待機タイマM2の値は「100」となる。このタイミング「T2」は、図93中、ステップS240で「Yes」と判断されるタイミングに相当する。
そして、接続済みフラグがオン(図93のステップS241)、かつ、更新前のタイマAの値が「0」であるので(図94のステップS263で「Yes」)、タイミング「T2」では、図94のステップS266に進み、遊技機設置情報が送信される。図中、「(送信)」は、遊技機情報通知が送信されることを意味する。また、タイミング「T2」から、タイマBは、「60」秒をカウントする。
次に、タイミング「T2」から「300」msが経過してタイミング「T3」になると、タイマAの値は「1」から「300」に更新され、ホールコン・不正監視情報の送信条件を満たす。また、遊技機設置情報や遊技機性能情報は送信条件を満たさない。したがって、タイミング「T3」では、ホールコン・不正監視情報が送信される。
また、タイミング「T2」から「60」秒を経過してタイミング「T4」になると、タイマBの値は「199」から「0」に更新され、遊技機設置情報通知要求フラグ(D1ビット)が「1」となり、遊技機設置情報の送信条件を満たす。さらに、タイミング「T4」では、タイマAの値は「1」から「300」に更新され、ホールコン・不正監視情報の送信条件を満たす。したがって、タイミング「T4」では、優先順位より、遊技機設置情報が送信される。なお、遊技機設置情報が送信されると遊技機設置情報通知要求フラグ(D1ビット)が「0」になる。
そして、タイミング「T4」から「300」msを経過したタイミング「T5」において、ホールコン・不正監視情報が送信される。
次に、タイミング「T6」は、タイミング「T2」から「180」秒経過したタイミングである。このタイミング「T6」では、タイマCが「2」から「0」に更新され、遊技機性能情報通知要求フラグ(D0ビット)が「1」となり、遊技機性能情報の送信条件を満たす。また、タイミング「T6」では、タイマBが「199」から「0」に更新され、遊技機設置情報通知要求フラグ(D1ビット)が「1」となり、遊技機設置情報の送信条件を満たす。さらにまた、タイミング「T6」では、タイマAの値は「1」から「300」に更新され、ホールコン・不正監視情報の送信条件を満たす。
よって、タイミング「T6」では、ホールコン・不正監視情報、遊技機性能情報、遊技機設置情報のすべての送信条件を満たす。したがって、優先順位より、タイミング「T6」では、遊技機設置情報が送信される。遊技機設置情報が送信されると遊技機設置情報通知要求フラグ(D1ビット)が「0」になる。これに対し、遊技機性能情報は送信条件を満たすものの未だ送信されていないので、遊技機性能情報通知要求フラグ(D0ビット)は「1」を維持する。
次に、タイミング「T6」から「300」msが経過してタイミング「T7」になると、この時点では、遊技機性能情報通知要求フラグ(D0ビット)が「1」であることから遊技機性能情報の送信条件を満たす。また、タイミング「T7」では、タイマAの値は「1」から「300」に更新され、ホールコン・不正監視情報の送信条件を満たす。
したがって、優先順位より、タイミング「T7」では、遊技機性能情報が送信される。遊技機性能情報が送信されると遊技機性能情報通知要求フラグ(D0ビット)が「0」になる。
次に、タイミング「T7」から「300」msが経過してタイミング「T8」になると、この時点では、タイマAの値は「1」から「300」に更新され、ホールコン・不正監視情報の送信条件を満たす。なお、遊技機設置情報及び遊技機性能情報の送信条件は満たさない。
したがって、タイミング「T7」では、ホールコン・不正監視情報が送信される。
以上は、主制御状態が変化せず、かつ、投入メダル数又は払出しメダル数が「0」である例である。これに対し、主制御状態が変化するか、又は投入メダル数若しくは払出しメダル数が「0」でない場合を有するときは、図96に示す更新シーケンスとなる。
図96において、タイミング「T4」では、上述と同様に、ホールコン・不正監視情報、及び遊技機設置情報の送信条件を満たす。そして、原則としては、遊技機設置情報の送信が優先される。しかし、タイミング「T4」が到来したときに、主制御状態が変化しているか、又は投入メダル数若しくは払出しメダル数が「0」でないことから、ホールコン・不正監視情報の送信が優先される。換言すれば、タイミング「T4」において、図94中、ステップS274で「Yes」と判断される場合に相当する。
したがって、タイミング「T4」では(ステップS275に進んで)ホールコン・不正監視情報が送信される。また、タイミング「T4」では遊技機設置情報は送信されないので、遊技機設置情報通知要求フラグ(D1ビット)は「1」のままである。
そして、タイミング「T4」から「300」msを経過し、タイミング「T5」になったときは、(主制御状態が変化しておらず、かつ、投入メダル数及び払出しメダル数が「0」であることを条件として)遊技機設置情報が送信される。
次に、タイミング「T6」では、ホールコン・不正監視情報、遊技機設置情報、及び遊技機性能情報のすべての送信条件を満たしている。そして、この例では、タイミング「T6」が到来したときに、主制御状態が変化しているか、又は投入メダル数若しくは払出しメダル数が「0」でない例を示している。したがって、タイミング「T6」では、ホールコン・不正監視情報の送信が優先されるので、ホールコン・不正監視情報が送信される。したがって、遊技機設置情報通知要求フラグ(D1ビット)は「1」を維持し、かつ、遊技機性能情報通知要求フラグ(D0ビット)は「1」を維持する。
次に、タイミング「T6」から「300」msが経過してタイミング「T7」になると、この時点では、タイマAの値は「1」から「300」に更新され、ホールコン・不正監視情報の送信条件を満たす。遊技機設置情報通知要求フラグ(D1ビット)は「1」であるので遊技機設置情報の送信条件を満たし、かつ、遊技機性能情報通知要求フラグ(D0ビット)が「1」であるので遊技機性能情報の送信条件を満たす。
したがって、タイミング「T7」では、(主制御状態が変化しておらず、かつ、投入メダル数及び払出しメダル数が「0」であることを条件として)遊技機設置情報が送信される。これにより、遊技機設置情報通知要求フラグ(D1ビット)は「0」に更新されるが、遊技機性能情報通知要求フラグ(D0ビット)は「1」を維持する。
次に、タイミング「T7」から「300」msを経過してタイミング「T8」になると、遊技機性能情報通知要求フラグ(D0ビット)が「1」であることから遊技機性能情報の送信条件を満たす。また、タイミング「T8」では、タイマAの値は「1」から「300」に更新され、ホールコン・不正監視情報の送信条件を満たす。
よって、タイミング「T7」において、主制御状態が変化しておらず、かつ、投入メダル数及び払出しメダル数が「0」であれば、遊技機情報通知の優先順位より、遊技機性能情報が送信される。これにより、遊技機性能情報通知要求フラグ(D0ビット)は「0」に更新される。
そして、タイミング「T8」から「300」msを経過してタイミング「T9」になると、タイマAの値は「1」から「300」に更新され、ホールコン・不正監視情報の送信条件を満たす。なお、遊技機設置情報及び遊技機性能情報の送信条件は満たさない。
したがって、タイミング「T9」では、ホールコン・不正監視情報が送信される。
なお、タイミング「T8」において、主制御状態が変化しているか、又は投入メダル数若しくは払出しメダル数が「0」でない場合には、ホールコン・不正監視情報の送信が優先されるので、ホールコン・不正監視情報が送信される。したがって、この場合にはタイミング「T8」では遊技機性能情報は送信されず、遊技機性能情報通知要求フラグ(D0ビット)は「1」を維持する。
そして、タイミング「T8」から「300」msを経過してタイミング「T9」になったときに、遊技機性能情報通知要求フラグ(D0ビット)が「1」であることから遊技機性能情報の送信条件を満たす。そして、タイミング「T9」において、主制御状態が変化しておらず、かつ、投入メダル数及び払出しメダル数が「0」であれば、遊技機情報通知の優先順位より、遊技機性能情報が送信される。これにより、遊技機性能情報通知要求フラグ(D0ビット)は「0」に更新される。
ここで、遊技機性能情報の送信条件を満たしたときは、図90に示す遊技機性能情報送信用記憶領域に記憶されている値に基づいて、遊技機性能情報が生成される。
図90に示すように、遊技性能情報送信用記憶領域において、遊技回数の記憶領域は2バイトである。したがって、遊技回数として「65535」まで記憶可能である。一方、遊技機10をホールの営業時間内で1日(13~14時間程度)稼働させたときの遊技回数は「10000」程度である。このため、1日で遊技回数が「65535」に到達することはあり得ない。
しかし、ホールによっては、遊技機10の電源のオン/オフを毎日行わない場合がある。このため、数日間にわたり遊技回数がリセットされない可能性がある。
一方、遊技回数の2バイトの記憶容量が桁あふれを起こすと、正確な遊技機性能情報を送信できなくなる。
そこで、第6実施形態では、上述したように、遊技回数の2バイトの記憶領域が「FFFFh」に到達したときは、
(1)総投入数
(2)総払出し数
(3)MY
(4)累計役物総払出し数
(5)累計連続役物総払出し数
(6)遊技回数
の6項目については更新しないようにする。
これにより、遊技機10の電源をオンにし続けるホールがあったとしても、その遊技機10から送信される遊技機性能情報が異常値となってしまうことを防止することができる。
図97は、遊技機性能情報の生成において、遊技回数、総投入数、総払出し数、役物総払出し数、連続役物総払出し数、MYの更新処理を示すフローチャートである。
この処理は、主制御CPU510から送信される1遊技が終了したことを示すコマンド(たとえば、主制御CPU510が払出しコマンドの送信タイミングの後の所定タイミングで送信するコマンド)を受信したことに基づいて実行される。また、この処理は、図93では図示していないが、メダル数制御CPU520の割込み処理において実行される。
まず、ステップS652では、メダル数制御CPU520は、遊技機性能情報送信用記憶領域の遊技回数が「65535(FFFFh)」であるか否かを判断する。「65535」でないと判断されたときはステップS653に進み、「65535」であると判断されたときは本フローチャートによる処理を終了する。換言すると、遊技回数が「65535」であると判断されたときは、ステップS653以降における各値の更新を実行しない。
ステップS653では、遊技回数に「1」を加算する。次のステップS654では、今回遊技において再遊技作動図柄が停止したか否かを判断する。再遊技作動図柄が停止していないと判断したときはステップS655に進み、停止したと判断したときは本フローチャートによる処理を終了する。換言すると、再遊技作動図柄が停止したと判断されたときは、遊技回数の更新のみを行い、ステップS655以降の更新を実行しない。
ステップS655では、総投入数に今回遊技の規定数(投入数)を加算する。次のステップS656では、総払出し数に今回遊技の払出し数を加算する。払出しなしの場合には「0」を加算する(以下同じ)。
次にステップS657に進み、今回遊技が役物作動中の遊技であるか否かを判断する。役物作動中の遊技であると判断したときはステップS658に進み、役物作動中の遊技でないと判断したときはステップS661に進む。
ステップS658では、役物総払出し数に今回遊技の払出し数を加算する。次のステップS659では、今回遊技が第一種特別役物の作動中の遊技であるか否かを判断する。第一種特別役物の作動中の遊技であると判断したときはステップS660に進み、第一種特別役物の作動中の遊技でないと判断したときはステップS661に進む。
ステップS660では、連続役物総払出し数に今回遊技の払出し数を加算する。そしてステップS661に進む。
ステップS661では、MYから今回遊技の規定数を減算し、かつ、今回遊技の払出し数を加算する演算を実行する。なお、この処理は、MYの記憶領域を直接更新するのではなく、MY値をレジスタに記憶し、レジスタ上においてMYから規定数を減算し、かつ、払出し数を加算する処理を行う。
そして、当該演算結果が「0」未満であるか否かを判断する。「0」未満であると判断したときはステップS662に進み、「0」未満でないと判断したときはステップS663に進む。
ステップS662では、MYを「0」に更新する。そして本フローチャートによる処理を終了する。
一方、ステップS663では、ステップS661の演算後のMY(演算前MY-規定数+払出し数)が演算前のMYよりも大きいか否かを判断する。大きいと判断したときはステップS664に進み、大きくないと判断したときは本フローチャートによる処理を終了する。
ステップS664では、MYを、演算後のMY値に更新する。そして本フローチャートによる処理を終了する。
以上のように、電源オン後の遊技回数が上限値「65535(FFFFh)」に到達したときは、次回遊技以降は、遊技回数、総投入数、総払出し数、累計役物総払出し数、累計連続役物総払出し数、MYは、更新されない。
ただし、図94で示したように、電源オン後の遊技回数が上限値「65535(FFFFh)」に到達した場合であっても、遊技機性能情報の送信タイミングとなったときは、遊技機性能情報(遊技回数、総投入数、総払出し数、役物総払出し数、連続役物総払出し数、MYを含む)が貸出しユニット200に送信される。
また、累計役物比率、累計連続役物比率、累計有利区間比率、累計指示込役物比率、累計役物等状態比率は、遊技機性能情報送信用記憶領域の遊技回数が上限値「65535(FFFFh)」に到達した場合であっても算出され、遊技機性能情報送信用記憶領域に記憶される。そして、その算出結果は、遊技機性能情報として(電源オン後の遊技回数が上限値「65535(FFFFh)」に到達したか否かにかかわらず)貸出しユニット200に送信される。
また、図90に示すように、遊技機設置情報送信用記憶領域に記憶された各データ(主制御チップID番号等)は、電源オン後に変化するものではない。よって、主制御CPU510からメダル数制御CPU520に送信されてきた主制御チップID番号等は、遊技機設置情報送信用記憶領域に記憶されると、電源オフまで同一値が維持される。
そして、上記遊技機性能情報に限らず、遊技機設置情報についても、その送信タイミングが到来したときは、電源オン後の遊技回数が上限値「65535(FFFFh)」に到達したか否かにかかわらず、貸出しユニット200に送信される。
さらにまた、上記遊技機性能情報に限らず、ホールコン・不正監視情報についても、その送信タイミングが到来したときは、電源オン後の遊技回数が上限値「65535(FFFFh)」に到達したか否かにかかわらず、貸出しユニット200に送信される。
特に、電源オン後の遊技回数が上限値「65535(FFFFh)」に到達した場合であっても、遊技の進行に応じて投入メダル数や払出しメダル数を更新し、ホールコン・不正監視情報として貸出しユニット200に送信することで、不正等を防止することができる。
なお、電源オン後、遊技回数が上限値「65535(FFFFh)」に到達する前に主制御RWM512のMYカウンタ(遊技機性能情報送信用記憶領域のMYも同じ)が「19000」に到達したときは、上述したようにコンプリート機能が作動可能となり、遊技の進行が停止可能となる(図87)。遊技の進行が停止するとメダル数制御CPU520の割込み処理も実行されないので、遊技機情報通知が貸出しユニット200に送信されることもない。
図97に示すように、遊技機性能情報のうち、遊技回数、総投入数、総払出し数、役物総払出し数、連続役物総払出し数、MYについては、役比モニタ情報の算出とは別個に独自に算出し、遊技機性能情報送信員用記憶領域に記憶する。
これに対し、累計役物比率、累計連続役物比率、累計有利区間比率、累計指示込役物比率、累計役物等状態比率については、役比モニタ情報算出・表示用記憶領域に記憶された値に基づいて、遊技機性能情報送信用記憶領域に記憶する。
なお、上述したように、対象比率が非該当であるとき、又は規定遊技数に到達していないときは、役比モニタ情報算出・表示用記憶領域に記憶された値に代えて「FFh」が記憶される。
以上のようにして、遊技回数が上限値「65535(FFFFh)」に到達したときは、総投入数、総払出し数、役物総払出し数、連続役物総払出し数、MYを更新しないので、突飛な値が記憶されてしまうことを防止することができる。
一方、これらの更新を中止した後も、送信タイミングが到来したときには遊技機情報通知を送信することができる。
図98は、遊技機性能情報送信用記憶領域に比率を記憶する際の処理を示すフローチャートである。この処理は、メダル数制御CPU520の割込み処理において、遊技機性能情報を送信する際(図94のステップS278)において実行される。すなわち、原則として「180」秒ごとに実行される。
まず、ステップS672では、図79中、役比モニタ情報算出・表示用記憶領域の累計役物等状態比率のRWMアドレスをセットする。この例では、RWMアドレスと各比率とを、
F201h:累計役物等状態比率
F202h:累計有利区間比率
F203h:累計指示込役物比率
F204h:「6000」遊技連続役物比率
F205h:「6000」遊技役物比率
F206h:累計連続役物比率
F207h:累計役物比率
とする。
したがって、ステップS672では、アドレス「F201h」をセットする。次のステップS673では、ステップS672でセットしたRWMアドレスの値(比率)を取得する。この例では、アドレス「F201h」に記憶された値(すなわち、累計役物等状態比率)を取得する。次にステップS674に進み、比率更新処理を実行する。この処理は、図99に示す処理であり、取得した値に基づいて送信用の比率を遊技機性能情報送信用記憶領域の対象比率(図90)に記憶する処理である。
次のステップS675では、次のRWMアドレスをセットする。この処理は、それまでのRWMアドレスに「1」を加算したRWMアドレスをセットする処理である。
次にステップS676に進み、全比率の更新処理を終了したか否かを判断する。この処理は、たとえばステップS673における比率の取得を「7」回行った否かを判断してもよいし、ステップS675において次のRWMアドレスをセットする前のRWMアドレスが「F207h」であるか否かを判断してもよい。
全比率の更新処理が終了したと判断したときは本フローチャートによる処理を終了する。全比率の更新処理が終了していないと判断したときはステップS673に戻る。
図99は、図98のステップS674における比率更新処理を示すフローチャートである。
まず、ステップS681では、取得した比率が累計役物比率であるか否かを判断する。ここでは、たとえば取得した比率のアドレス値が「F207h」であるか否かを判断することにより、取得した比率が累計役物比率であるか否かを判断することが挙げられる。取得した比率が累計役物比率であると判断したときはステップS687に進み、累計役物比率でないと判断したときはステップS682に進む。ステップS682では、取得した比率が累計連続役物比率であるか否か(取得した比率のアドレス値が「F206h」であるか否か)を判断する。取得した比率が累計連続役物比率であると判断したときはステップS687に進み、累計連続役物比率でないと判断したときはステップS683に進む。
ステップS683では、取得した比率が累計有利区間比率であるか否か(取得した比率のアドレス値が「F202h」であるか否か)を判断する。取得した比率が累計有利区間比率であると判断したときはステップS686に進み、累計有利区間比率でないと判断したときはステップS684に進む。ステップS684では、取得した比率が累計指示込役物比率であるか否か(取得した比率のアドレス値が「F203h」であるか否か)を判断する。取得した比率が累計指示込役物比率であると判断したときはステップS686に進み、累計指示込役物比率でないと判断したときはステップS685に進む。ステップS685では、取得した比率が累計役物等状態比率であるか否か(取得した比率のアドレス値が「F201h」であるか否か)を判断する。取得した比率が累計役物等状態比率であると判断したときはステップS686に進み、累計役物等状態比率でないと判断したときは本フローチャートによる処理を終了する。
ステップS686では、総遊技数を読み込み、総遊技数が「175000(規定遊技数)」以上であるか否かを判断する。ここでの「総遊技数」とは、遊技機性能情報送信用記憶領域に記憶されている「遊技回数(電源オン後の遊技回数)」ではなく、役比モニタ情報算出・表示用記憶領域に記憶されている「総遊技数」である(後述するステップS687も同様である。)。
総遊技数が「175000」以上であると判断したときはステップS688に進み、総遊技数が「175000」以上でないと判断したときはステップS690に進む。
一方、ステップS681又はS682からステップS687に進むと、総遊技数が「17500(規定遊技数)」以上であるか否かを判断する。総遊技数が「17500」以上であると判断したときはステップS688に進み、総遊技数が「17500」以上でないと判断したときはステップS690に進む。
ステップS688では、当該比率が非該当項目であるか否かを判断する。当該比率が非該当項目であると判断したときはステップS690に進み、非該当項目でないと判断したときはステップS689に進む。ステップS690では、比率として「FFh」を記憶する。そして本フローチャートによる処理を終了する。
一方、ステップS689では、取得した比率を遊技機性能情報送信用記憶領域の対象比率に記憶する。そして本フローチャートによる処理を終了する。
以上より、
a)累計有利区間比率、累計指示込役物比率、累計役物等状態比率については、総遊技数が「175000(規定遊技数)」未満であるか又は非該当項目であるときには「FFh」が記憶され、それ以外の場合には取得した比率が記憶される。
b)累計役物比率、累計連続役物比率については、総遊技数が「17500(規定遊技数)」未満であるか又は非該当項目であるときには「FFh」が記憶され、それ以外の場合には取得した比率が記憶される。
このようにして、総遊技数が規定数未満であるとき又は非該当項目であるときは「FFh」を記憶するので、その比率が遊技性能情報として送信されることにより、当該比率が規定数未満の比率であること又は非該当項目であることを貸出しユニット200側で判断可能となる。
なお、役比モニタ113の表示では、総遊技数が規定数未満であるときは識別セグを点滅表示する。また、当該比率が非該当項目であるときは、比率セグに「--」を表示する。
このように、役比モニタ113で表示する情報と遊技機性能情報として送信する情報とが相違する場合があるので、役比モニタ情報算出・表示用記憶領域とは別に遊技機性能情報送信用記憶領域を設けておく方が情報処理を軽減することができる。
また、図98及び図99から明らかなように、図98のステップS673では、アドレス「F204h」の「6000」遊技連続役物比率や、アドレス「F205h」の「6000」遊技役物比率が取得される場合があるが、図99の処理に進むと、ステップS681~S685のいずれの比率にも該当しないので、取得した比率は記憶されることなく処理を終了する。
以上、本発明の第6実施形態について説明したが、本発明は、上述した実施形態に限定されることなく、たとえば以下のような種々の変形が可能である。
(1)図80において、総遊技数に「1」を加算した結果、4バイトフルになったときは、その時点で総遊技数上限フラグを「FFh」にし、かつ、それ以降の処理を中止してもよい。
あるいは、総遊技数に「1」を加算した結果、4バイトフルになったときは、その時点で総遊技数上限フラグを「FFh」にするが、それ以降の処理を継続してもよい。
(2)MYカウンタが「19000」に到達する前、たとえば「18500」に到達したときは、試験信号として遊技中断信号を試験機に出力するための処理を実行することが好ましい。
型式試験において、コンプリート機能が作動してしまうと、遊技の進行が停止するので、試験の続行ができなくなる。このため、コンプリート機能が作動する前に試験機に対して遊技中断信号を送信する。試験機は、遊技中断信号を受信すると、テストモードを中止する。そして、試験機の電源をオフし、再度オンにすることによって試験が再開可能となる(電源をオン/オフすれば、MYカウンタがリセットされるため)。これによりコンプリート機能を作動させずに試験を行うことが可能となる。
なお、上記の「18500」は例示であり、「18000」、「18800」、「18900」等、種々設定することができる。
(3)図92において、メダル数制御CPU520のプログラムが開始した後、主制御起動待機タイマM1(「3000」ms)をセットした。この「3000」msの間に、主制御CPU510が立ち上がり、主制御CPU510からのコマンドを受信できるようになると考えられるからである。
しかし、これに限らず、他の例として、以下の例1~例4の方法が挙げられる。
(例1)
図90に示す遊技機設置情報送信用記憶領域は、電源オン時に初期化(クリア)されるので、その時点での主制御チップID番号の値は「0」となる。その後、主制御CPU510から主制御チップID番号が送信されると遊技機設置情報送信用記憶領域に記憶される。
したがって、遊技機設置情報送信用記憶領域の主制御チップID番号が「0」であるか否かを判断することにより、主制御CPU510から主制御チップID番号を受信したか否かを判断可能となる。換言すれば、主制御CPU510が立ち上がったか否かを判断可能となる。
よって、主制御起動待機タイマM1を設けず、遊技機設置情報送信用記憶領域の主制御チップID番号が「0」でないか否かを判断することにより、主制御CPU510がコマンド(主制御チップID番号)を送信する処理(所定の処理)を終了したか否か(主制御CPU510が立ち上がったか否か)を判断してもよい。
さらに、遊技機設置情報送信用記憶領域の主制御チップID番号に限らず、主制御チップメーカコード、又は主制御チップ製品コードの少なくとも1つが「0」でないか否かを判断することにより、主制御CPU510がコマンドを送信する処理を終了したか否かを判断してもよい。
(例2)
また、主制御起動待機タイマM1が「0」になり、かつ、遊技機設置情報送信用記憶領域の主制御チップID番号、主制御チップメーカコード、又は主制御チップ製品コードの少なくとも1つが「0」でないか否かを判断することにより、主制御CPU510がコマンドを送信する処理を終了したか否か(主制御CPU510が立ち上がったか否か)を判断してもよい。
(例3)
さらにまた、第6実施形態では、主制御CPU510は、電源オン後、メダル数制御CPU520に対し、
1)主制御チップID番号
2)主制御チップメーカコード
3)主制御チップ製品コード
4)役比タイプ
の順にコマンドを送信するように構成されている。
ここで「役比タイプ」とは、役比モニタの表示の種別を指定するためのデータであり、「0」は役比モニタなし、「1」は「7U」タイプ、「2」は「7P」タイプを示す。
このため、主制御CPU510から役比タイプのコマンドを受信したときは、上記1)~4)のすべてのコマンドを受信したと判断することができる。
そこで、主制御起動待機タイマM1を設けず、役比タイプを受信したときは、主制御CPU510がコマンドを送信する処理を終了した(主制御CPU510が立ち上がった)と判断してもよい。
あるいは、主制御起動待機タイマM1が「0」になり、かつ、役比タイプを受信したときは、主制御CPU510がコマンドを送信する処理を終了した(主制御CPU510が立ち上がった)と判断してもよい。
(例4)
主制御CPU510が起動時におけるすべてのコマンドの送信を完了したときに、送信完了を示す専用のコマンドを主制御CPU510からメダル数制御CPU520に送信するように構成する。この場合に、メダル数制御CPU520は、当該専用のコマンドを受信したときに、主制御CPU510がコマンドを送信する処理を終了した(主制御CPU510が立ち上がった)と判断してもよい。
(4)図93におけるメダル数制御CPU520の割込み処理において、電源断が発生したと判断する条件は、種々設定することが可能である。
たとえば電源断信号を1回でも検知すれば電源断が発生したと判断してもよい。あるいは、複数回(たとえば2回)の連続する割込み処理において電源断信号を検知したことを条件として電源断が発生したと判断してもよい。
電源断信号を1回でも検知すれば電源断が発生したと判断する場合には、電源断をより早期に検知できるが、誤検知する(電源断が現に発生していないにもかかわらず電源断処理を実行してしまう)おそれがある。
これに対し、複数回の連続する割込み処理で電源断信号を検知したときに電源断が発生したと判断する場合には、1回の電源断信号の検知で電源断と判断する場合よりも判断までの時間は遅延するが、電源断の判断の信頼性を高めることができる。
(5)上記実施形態では、コンプリート機能仮フラグを設けたが、これに限らず、コンプリート機能仮フラグを設けなくてもよい。この場合には、特別遊技状態においてMYカウンタが「+19000」に到達した遊技の終了時にコンプリート機能が作動し、遊技機10が打止めなる。したがって、特別遊技状態の途中であってもMYカウンタが「+19000」に到達した遊技の終了時に打止め(遊技終了)となる。
一方、上記実施形態では、コンプリート機能仮フラグがオンになった後、コンプリート機能作動フラグがオンになったときはコンプリート機能仮フラグをオフにした。しかし、これに限らず、コンプリート機能作動フラグがオンになった後もコンプリート機能仮フラグをオンのままとしてもよい。
(6)主制御起動待機タイマM1及び接続確認後待機タイマM2は、必ずしも備える必要ではない。たとえば、主制御起動待機タイマM1を備えるが接続確認後待機タイマM2を備えていないもの、主制御起動待機タイマM1を備えていないが接続確認後待機タイマM2を備えるもの、主制御起動待機タイマM1及び接続確認後待機タイマM2の双方を備えていないもの、のいずれであってもよい。
これらのいずれであっても、電源投入後に最初に送信される遊技機情報通知は、遊技機設置情報を含む遊技機情報通知である。
(7)図97に示す遊技機性能情報生成(遊技機性能情報送信用記憶領域中、遊技回数、総投入数、総払出し数、役物総払出し数、連続役物総払出し数、MYの更新)は、1遊技の終了時ごとに実行した。
また、図98及び図99に示す遊技機性能情報送信用記憶領域への比率記憶処理(遊技機性能情報送信用記憶領域中、累計役物比率、累計連続役物比率、累計有利区間比率、累計指示込役物比率、累計役物等状態比率の更新)は、遊技機性能情報の送信時ごとに実行した。
しかし、これに限らず、上記処理のいずれも、メダル数制御CPU520の割込み処理ごと、所定回数の割込み処理ごと(たとえば割込み処理100回に1回の割合)、所定タイミングごと(たとえば1遊技の終了時ごと)に実行してもよい。
さらに、図98及び図99に示す処理は、図80~図83に示す処理(比率算出処理)が実行されるごと(1遊技ごと、又は「400」遊技(複数遊技)ごと)に実行してもよい。
(8)図80において、総遊技数上限フラグが「FFh」であると判断されたときはステップS682の処理をスキップしたが、これに限らず、総遊技数上限フラグが「FFh」であると判断されたときは総遊技数上限フラグを「FFh」に更新し直す処理を実行してもよい。
同様に、図82において、総払出し数上限フラグが「FFh」であると判断されたときはステップS768の処理をスキップしたが、これに限らず、総払出し数上限フラグが「FFh」であると判断されたときは総払出し数上限フラグを「FFh」に更新し直す処理を実行してもよい。
(9)第6実施形態は、単独で実施されることに限らず、第1実施形態~第5実施形態の少なくとも一部と適宜組み合わせて実施することが可能である。
<付記>
本願の当初明細書等に記載した発明(当初発明)は、たとえば以下の当初発明1~11を挙げることができ、それぞれ、当初発明が解決しようとする課題、当初発明に係る課題を解決するための手段及び当初発明の効果は、以下の通りである。ただし、本明細書に記載した発明は、当初発明1~11に限ることを意味するものではない。
1.当初発明1
当初発明1は、
電源投入後の総遊技回数を記憶可能な第1記憶手段(図90中、遊技機性能情報送信用記憶領域の遊技回数)と、
電源投入後の遊技媒体の総投入数を記憶可能な第2記憶手段(図90中、遊技機性能情報送信用記憶領域の総投入数)と、
電源投入後の遊技媒体の総付与数を記憶する第3記憶手段(図90中、遊技機性能情報送信用記憶領域の総払出し数)と
を備え、
第1記憶手段に記憶されている総遊技回数、第2記憶手段に記憶されている遊技媒体の総投入数、及び第3記憶手段に記憶されている総付与数を含む遊技機情報(遊技機性能情報)を外部に送信可能とし(図94のステップS278)、
第1記憶手段に記憶されている総遊技回数が所定の上限値(65535(FFFFh))に達し、その後、新たな遊技が実行された場合には、第1記憶手段に記憶されている総遊技回数を更新せず(図97のステップS652)、
第1記憶手段に記憶されている総遊技回数が所定の上限値に達し、その後、新たな遊技が実行された場合には、第2記憶手段に記憶されている総投入数を更新せず(図97)、
第1記憶手段に記憶されている総遊技回数が所定の上限値に達し、その後、新たな遊技が実行された場合には、第3記憶手段に記憶されている総付与数を更新せず(図97)、
第1記憶手段に記憶されている総遊技回数が所定の上限値に達した後も、遊技機情報の送信タイミングが到来したときは、遊技機情報を外部に送信可能とする(図94のステップS278)
ことを特徴とする。
当初発明1によれば、遊技回数が上限値に達したときは、それ以降の更新を行わないので、突飛な値が記憶されてしまうことを防止することができる。
一方、第1~第3記憶手段の更新を中止した後も、送信タイミングが到来したときには遊技機情報を送信することができる。
2.当初発明2
当初発明2は、
電源投入後の総遊技回数を記憶可能な第1記憶手段(図90中、遊技機性能情報送信用記憶領域の遊技回数)と、
電源投入後の遊技媒体の総投入数を記憶可能な第2記憶手段(図90中、遊技機性能情報送信用記憶領域の総投入数)と、
電源投入後の遊技媒体の総付与数を記憶する第3記憶手段(図90中、遊技機性能情報送信用記憶領域の総払出し数)と、
を備え、
第1記憶手段に記憶されている総遊技回数、第2記憶手段に記憶されている遊技媒体の総投入数、及び第3記憶手段に記憶されている総付与数を含む第1の遊技機情報(遊技機性能情報)を外部に送信可能とし(図94のステップS278)、
遊技媒体のベット数(投入メダル数)及び遊技媒体の付与数(払出しメダル数)を含む第2の遊技機情報(ホールコン・不正監視情報)を外部に送信可能とし(図94のステップS275)、
第1記憶手段に記憶されている総遊技回数が所定の上限値(65535(FFFFh))に達し、その後、新たな遊技が実行された場合には、第1記憶手段に記憶されている総遊技回数を更新せず(図97)、
第1記憶手段に記憶されている総遊技回数が所定の上限値に達し、その後、新たな遊技が実行された場合には、第2記憶手段に記憶されている総投入数を更新せず(図97)、
第1記憶手段に記憶されている総遊技回数が所定の上限値に達し、その後、新たな遊技が実行された場合には、第3記憶手段に記憶されている総付与数を更新せず(図97)、
第1記憶手段に記憶されている総遊技回数が所定の上限値に達した後も、第1の遊技機情報の送信タイミングが到来したときは、第1の遊技機情報を外部に送信可能とし(図94のステップS278)、
第1記憶手段に記憶されている総遊技回数が所定の上限値に達した後も、第2の遊技機情報の送信タイミングが到来したときは、第2の遊技機情報を外部に送信可能とする(図94のステップS275)
ことを特徴とする。
当初発明2によれば、遊技回数が上限値に達したときは、それ以降の更新を行わないので、突飛な値が記憶されてしまうことを防止することができる。
一方、第1~第3記憶手段の更新を中止した後も、送信タイミングが到来したときには遊技機情報を送信することができる。
3.当初発明3
当初発明3は、
電源投入後の総遊技回数を記憶可能な第1記憶手段(図90中、遊技機性能情報送信用記憶領域の遊技回数)と、
電源投入後の遊技媒体の投入数と付与数との差数の累積値であって最小値を「0」とした最大差数を記憶可能な第2記憶手段(図90中、遊技機性能情報送信用記憶領域のMY)と
を備え、
第1記憶手段に記憶されている総遊技回数、及び第2記憶手段に記憶されている最大差数を含む遊技機情報(遊技機性能情報)を外部に送信可能とし(図94のステップS278)、
第1記憶手段に記憶されている総遊技回数が所定の上限値(65535(FFFFh))に達し、その後、新たな遊技が実行された場合には、第1記憶手段に記憶された総遊技回数を更新せず(図97)、
第1記憶手段に記憶されている総遊技回数が所定の上限値に達し、その後、新たな遊技が実行された場合には、第2記憶手段に記憶されている最大差数を更新せず(図97)、
第1記憶手段に記憶されている総遊技回数が所定の上限値に達した後も、遊技機情報の送信タイミングが到来したときは、遊技機情報を外部に送信可能とする(図94のステップS278)
ことを特徴とする。
当初発明3によれば、遊技回数が上限値に達したときは、それ以降の更新を行わないので、突飛な値が記憶されてしまうことを防止することができる。
一方、遊技回数及び最大差数の更新を中止した後も、送信タイミングが到来したときには遊技機情報を送信することができる。
4.当初発明4
当初発明4は、
電源投入後の総遊技回数を記憶可能な第1記憶手段(図90中、遊技機性能情報送信用記憶領域の遊技回数)と、
電源投入後の遊技媒体の投入数と付与数との差数の累積値であって最小値を「0」とした最大差数を記憶可能な第2記憶手段(図90中、遊技機性能情報送信用記憶領域のMY)と
を備え、
第1記憶手段に記憶されている総遊技回数、及び第2記憶手段に記憶されている最大差数を含む遊技機情報(遊技機性能情報)を外部に送信可能とし(図94のステップS278)、
第1記憶手段に記憶されている総遊技回数が所定の上限値(65535(FFFFh))に達し、その後、新たな遊技が実行された場合には、第2記憶手段に記憶されている最大差数を更新せず(図97)、
第1記憶手段に記憶されている総遊技回数が所定の上限値に達した後も、遊技機情報の送信タイミングが到来したときは、遊技機情報を外部に送信可能とし(図94のステップS278)、
第1記憶手段に記憶されている総遊技回数が所定の上限値に達したか否かにかかわらず、電源投入後からの遊技媒体の投入数と付与数との差数の累積値であって最小値を「0」とした最大差数を記憶可能な第3記憶手段(MYカウンタ(図85)、図88のステップS574)を備え、
第3記憶手段に記憶されている最大差数が特定値(19000)に達したときは、コンプリート機能を作動可能とする(図87のステップS564、S566等)
ことを特徴とする。
当初発明4によれば、遊技回数が上限値に達したときは、それ以降の遊技機情報に係る最大差数の更新を行わないので、突飛な値が送信されてしまうことを防止することができる。
一方、遊技機情報に係る最大差数の更新を中止した後も、送信タイミングが到来したときには遊技機情報を送信することができる。
また、最大差数が特定値に達したときは、コンプリート機能を作動させることによりその後の遊技を中止するので、過度に射幸性が高くなることを防止することができる。
5.当初発明5
当初発明5は、
遊技履歴に関する所定の比率(図79中、累計役物等状態比率等)を記憶可能な所定の記憶手段(図79の役比モニタ情報算出・表示用記憶領域(メダル数制御RWM522))と、
遊技履歴に関する所定の比率を表示可能な所定の表示手段(役比モニタ113)と
を備え、
遊技履歴に関する所定の比率を算出した結果、「100(10進数)」以下の値であったときは、算出した値を所定の記憶手段に記憶可能とし、
遊技履歴に関する所定の比率を算出した結果、「100(10進数)」を超える値であったときは、所定の記憶手段に特定値(「0」)を記憶可能とし、
所定の記憶手段に記憶された値に基づいて、所定の表示手段に遊技履歴に関する所定の比率を表示可能とする
ことを特徴とする。
当初発明5によれば、所定の比率を算出した結果、異常値となったときは特定値を記憶し、当該特定値に対応する表示を行うことによって、当該所定の比率が異常値であることを示すことが可能となる。
6.当初発明6
当初発明6は、
遊技履歴に関する所定の比率(図79中、累計役物等状態比率等)を記憶可能な所定の記憶手段(図79の役比モニタ情報算出・表示用記憶領域(メダル数制御RWM522))と、
遊技履歴に関する所定の比率を表示可能な所定の表示手段(役比モニタ113)と
を備え、
遊技履歴に関する所定の比率を算出した結果、「100(10進数)」であったときは、所定の記憶手段に「100(10進数)」を記憶可能とし、
所定の記憶手段に記憶された値が「100(10進数)」であるときは、遊技履歴に関する所定の比率として「99(10進数)」を所定の表示手段に表示可能とし、
遊技履歴に関する所定の比率を含む遊技機情報(遊技機性能情報)を外部に送信可能とし、
所定の記憶手段に遊技履歴に関する所定の比率として「100(10進数)」が記憶されているときは、遊技履歴に関する所定の比率が「100(10進数)」であることを含む遊技機情報を外部に送信可能とする
ことを特徴とする。
当初発明6によれば、算出した所定の比率が「100」である場合に、当該所定の比率を表示するときは、表示に適した2桁の近似値に補正することができる。
一方、当該所定の比率を含む遊技機情報を送信するときは、補正前の値を送信するので、より正確な値を送信することができる。
7.当初発明7
当初発明7は、
遊技履歴に関する所定の比率を表示可能な所定の表示手段(役比モニタ113)と、
所定の表示手段に表示する遊技履歴に関する所定の比率(図79中、累計役物等状態比率~累計役物比率の6つ)を記憶可能な第1記憶手段(図79の役比モニタ情報算出・表示用記憶領域(メダル数制御RWM522))と、
遊技履歴に関する所定の比率を含む遊技機情報(遊技機性能情報)を外部に送信する際に用いられ、遊技履歴に関する所定の比率を記憶可能な第2記憶手段(図90の遊技機性能情報送信用記憶領域)と
を備え、
第1記憶手段に記憶された値が「X(「X」は数値)」であっても、規定遊技回数に達していないときは、第2記憶手段には「FFh」を記憶可能とする(規定遊技数が「17500」に到達していないときは、累計役物比率、累計連続役物比率には「FFh」を記憶する。また、規定遊技数が「175000」に到達していないときは、累計有利区間比率、累計指示込役物比率、累計役物等状態比率には「FFh」を記憶する。図99中、ステップS695。)
ことを特徴とする。
当初発明7によれば、所定の比率を遊技機情報として送信する際に、規定遊技回数未満の比率であるか否かを判別可能な情報を送信することができる。
8.当初発明8
当初発明8は、
遊技機情報(ホールコン・不正監視情報、遊技機性能情報、遊技機設置情報)を送信可能とし、
電源投入後、遊技機情報の送信先(貸出しユニット200)との接続を確認し、
遊技機情報の送信先との接続を確認した後(図93のステップS237で「Yes」)、所定期間(「100」ms)の経過後(図93のステップS240で「Yes」)に、最初の遊技機情報(遊技機設置情報)を送信可能とする
ことを特徴とする。
当初発明8によれば、遊技機情報の送信先が遊技機情報を確実に受信できるようになってから遊技機情報を送信することができる。
9.当初発明9
当初発明9は、
第1の送信タイミングが到来したとき(図95中、ホールコン・不正監視情報タイマAが「300」になったとき)に、第1の遊技機情報(ホールコン・不正監視情報)を外部に送信可能とし、
第2の送信タイミングが到来したとき(図95中、遊技機設置情報送信タイマBが「0」になったとき)に、第2の遊技機情報(遊技機設置情報)を外部に送信可能とし、
電源投入後、遊技機情報を送信可能なタイミングとなったとき(図95中、タイミング「T2」)は、最初に第2の遊技機情報を外部に送信可能とし、その後、第1の送信タイミングが到来したとき(図95中、タイミング「T3」)に第1の遊技機情報を外部に送信可能とする
ことを特徴とする。
当初発明9によれば、電源投入後、本来であれば第1の送信タイミングの方が第2の送信タイミングよりも先に到来する場合であっても、電源投入後の最初の遊技機情報の送信タイミングでは第2の遊技機情報を先に送信することで、一番最初に送信すべき遊技機情報を送信することが可能となる。
10.当初発明10
当初発明10は、
遊技の進行を制御する主制御手段(主制御CPU510)と、
遊技媒体数を管理する遊技媒体数制御手段(メダル数制御CPU520)と
を備え、
遊技媒体数制御手段は、電源投入後、所定の待機処理(図93中、主制御起動待機タイマM1が「0」であると判断されるまで、ステップS236以降の処理に進まないこと)を開始可能とし、
主制御手段は、所定の待機処理が終了する前に、所定の処理(主制御CPU510からメダル数制御CPU520に対して、主制御チップID番号等を送信すること)を終えているように構成されており、
遊技媒体数制御手段は、所定の待機処理が終了した後、遊技機情報を外部(貸出しユニット200)に送信可能とする
ことを特徴とする。
当初発明10によれば、主制御手段が所定の処理を実行するまで遊技媒体数制御手段が待機し、主制御手段が所定の処理を実行した後に遊技機情報を外部に送信可能とすることで、正確な遊技機情報を外部に送信可能となる。
11.当初発明11
当初発明11は、
遊技の進行を制御する主制御手段(主制御CPU510)と、
遊技媒体数を管理する遊技媒体数制御手段(メダル数制御CPU520)と
を備え、
遊技媒体数制御手段は、電源投入後、所定の待機処理(図93中、主制御起動待機タイマM1が「0」であると判断されるまで、ステップS236以降の処理に進まないこと)を開始可能とし、
主制御手段は、遊技媒体数制御手段による所定の待機処理が終了する前に、所定の処理(主制御CPU510からメダル数制御CPU520に対して、主制御チップID番号等を送信すること)を終えているように構成されており、
遊技媒体数制御手段は、所定の待機処理が終了した後、遊技機情報を外部(貸出しユニット200)に送信可能とし、
遊技媒体制御手段は、所定の待機処理が終了する前であっても、電源断処理の実行条件を満たしたか否かを判断可能とし(図93中、ステップS232)、
遊技媒体制御手段は、所定の待機処理が終了する前に電源断処理の実行条件を満たしたと判断したときは、所定の待機処理が終了する前であっても電源断処理(図93中、ステップS233の電源断フラグをオンにする処理)を実行可能とする
ことを特徴とする。
当初発明11によれば、所定の待機処理が終了したか否かにかかわらず電源断処理を実行可能であるので、電源断処理の実行条件を満たしたと判断したときは、速やかに電源断処理に移行することが可能となる。
10 スロットマシン、遊技機
11 電源スイッチ
12 設定キースイッチ
13 設定スイッチ
14 リセットスイッチ
21 演出ランプ
22 スピーカ
23 画像表示装置
31 リール
32 モータ
33 リールセンサ
40a 1ベットスイッチ
40b 3ベットスイッチ
41 スタートスイッチ
42 ストップスイッチ
46 キャンセルスイッチ、精算スイッチ
47 計数スイッチ
50 メイン制御基板(メイン制御手段)、主制御基板(主制御手段)
51 入力ポート
52 出力ポート
53 (第1主制御)RWM
53a ベット数記憶手段
53b 付与数記憶手段
54 (第1主制御)ROM
55 メインCPU、(第1主制御)CPU
61 役抽選手段
62 当選フラグ制御手段
65 リール制御手段
66 入賞判定手段
67 付与手段
73 設定値表示手段
76 クレジット数表示LED
77 ベット数表示部
78 獲得数表示LED、付与数表示部
80 サブ制御基板(サブ制御手段)、副制御基板(副制御手段)
80a 1チップマイクロプロセッサ
81 入力ポート
82 出力ポート
83 (副制御)RWM
84 (副制御)ROM
85 サブCPU、(副制御)CPU
91 演出出力制御手段
100 払出制御基板(クレジット数管理基板)、遊技媒体数制御基板
101 入力ポート
102 出力ポート
103 (第2主制御)RWM
103a 遊技媒体数記憶手段
104 (第2主制御)ROM
105 クレジット数管理CPU、(第2主制御)CPU
106 コンデンサ
107 コンデンサA
108 コンデンサB
111 クレジット数管理手段
112 総遊技媒体数(総メダル数)クリアスイッチ
113 役比モニタ
120 遊技媒体数(メダル数)表示基板(遊技媒体数表示装置)
121 遊技媒体数(メダル数)表示部
130 接続端子板
150 電源基板
151 コンデンサ
161 ハーネスA
162 ハーネスB
163 ハーネスC
164 ハーネスD
165 ハーネスE
166 ハーネスF
167 ハーネスG
168 ハーネスH
190 外部集中端子板
200 管理装置(CRユニット)、貸出ユニット(専用ユニット)
201 紙幣投入口
202 貸出スイッチ
203 返却スイッチ
204 度数表示部(貸出可能遊技媒体数(メダル数)表示部)
205 カードリーダライタ
206 貸出可能遊技媒体数(メダル数)記憶手段
300 ホールコンピュータ
400 管理コンピュータ
500 1チップマイクロプロセッサ
501 主CPU
502 主制御ROM
503 主制御RWM
504 遊技媒体数制御ROM
505 遊技媒体数制御RWM
506 使用領域外ROM
507 使用領域外RWM
510 主制御CPU(主制御手段)
511 主制御ROM
512 主制御RWM
520 メダル数制御CPU(メダル数制御手段)
521 メダル数制御ROM
522 メダル数制御RWM

Claims (1)

  1. 遊技履歴に関する所定の比率を表示可能な所定の表示手段と、
    所定の表示手段に表示する遊技履歴に関する所定の比率を記憶可能な第1記憶手段と、
    遊技履歴に関する所定の比率を含む遊技機情報を外部に送信する際に用いられ、遊技履歴に関する所定の比率を記憶可能な第2記憶手段と
    を備え、
    第1記憶手段に記憶された値が「X(「X」は数値)」であっても、規定遊技回数に達していないときは、第2記憶手段には「FFh」を記憶可能とする
    ことを特徴とする遊技機。
JP2022167682A 2022-10-19 2022-10-19 遊技機 Pending JP2024060357A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2022167682A JP2024060357A (ja) 2022-10-19 2022-10-19 遊技機

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2022167682A JP2024060357A (ja) 2022-10-19 2022-10-19 遊技機

Publications (1)

Publication Number Publication Date
JP2024060357A true JP2024060357A (ja) 2024-05-02

Family

ID=90828837

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022167682A Pending JP2024060357A (ja) 2022-10-19 2022-10-19 遊技機

Country Status (1)

Country Link
JP (1) JP2024060357A (ja)

Similar Documents

Publication Publication Date Title
JP7415175B2 (ja) 遊技機
JP7534607B2 (ja) 遊技機
JP7448456B2 (ja) 遊技機
JP7564458B2 (ja) 遊技機
JP2024060357A (ja) 遊技機
JP2024060358A (ja) 遊技機
JP2024060352A (ja) 遊技機
JP2024060356A (ja) 遊技機
JP2024060359A (ja) 遊技機
JP2024060360A (ja) 遊技機
JP2024060353A (ja) 遊技機
JP2024060355A (ja) 遊技機
JP2024060361A (ja) 遊技機
JP2024060354A (ja) 遊技機
JP7448451B2 (ja) 遊技機
JP7448455B2 (ja) 遊技機
JP7415174B2 (ja) 遊技機
JP7448452B2 (ja) 遊技機
JP7448449B2 (ja) 遊技機
JP7448454B2 (ja) 遊技機
JP7448448B2 (ja) 遊技機
JP7448453B2 (ja) 遊技機
JP7448450B2 (ja) 遊技機
JP2024112170A (ja) 遊技機
JP2024112171A (ja) 遊技機