JP6095021B1 - 遊技機 - Google Patents

遊技機 Download PDF

Info

Publication number
JP6095021B1
JP6095021B1 JP2015229806A JP2015229806A JP6095021B1 JP 6095021 B1 JP6095021 B1 JP 6095021B1 JP 2015229806 A JP2015229806 A JP 2015229806A JP 2015229806 A JP2015229806 A JP 2015229806A JP 6095021 B1 JP6095021 B1 JP 6095021B1
Authority
JP
Japan
Prior art keywords
sub
command
control command
data
setting
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2015229806A
Other languages
English (en)
Other versions
JP2017093848A (ja
Inventor
洋七郎 鈴木
洋七郎 鈴木
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 JP2015229806A priority Critical patent/JP6095021B1/ja
Application granted granted Critical
Publication of JP6095021B1 publication Critical patent/JP6095021B1/ja
Publication of JP2017093848A publication Critical patent/JP2017093848A/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】メイン制御手段側から送信されたコマンドに基づいて、サブ制御手段側で設定変更又は設定確認に関するエラーの有無を適切に判断して報知する。【解決手段】設定キースイッチ、設定ドアスイッチ、ドアスイッチがすべてオンであると判断し(S801で「Yes」)、設定変更又は設定確認中でないと判断し(S802で「No」)、設定変更又は設定確認不可エラー中でないと判断したときに(S803で「No」)、エラー監視用タイマが「0」より大きくないと(S804で「No」)、エラー監視用タイマに「4」をセットする(S811)。エラー監視用タイマが「0」になったときに(S806で「Yes」)、電源投入から所定時間経過していないと(S807で「No」)、設定変更不可エラーを報知し(S808)、電源投入から所定時間経過していると(S807で「Yes」)、設定確認不可エラーを報知する(S809)。【選択図】図26

Description

本発明は、メイン制御手段側から送信されたコマンドに基づいてサブ制御手段側でエラーの報知を行う遊技機に関するものである。
従来より、メイン制御手段側から送信されたコマンドに基づいてサブ制御手段側でエラーの報知を行う遊技機が知られている(たとえば、特許文献1参照)。
特開2015−029877号公報
ここで、遊技機では、セキュリティの関係上、メイン制御手段側のメモリの容量に一定の制限がある。
このため、遊技の進行の制御とは関係のない設定変更又は設定確認に関するエラーの有無をサブ制御手段側で判断することが考えられる。
しかし、設定変更又は設定確認に関するエラーの有無をサブ制御手段側で判断しようとすると、設定変更又は設定確認時にメイン制御手段からサブ制御手段に送信するコマンドが増加することになるため、サブ制御手段側での処理に混乱が生じるおそれがある。
本発明が解決しようとする課題は、メイン制御手段側から送信されたコマンドに基づいて、サブ制御手段側において設定変更又は設定確認に関するエラーの有無を適切に判断して報知することである。
本発明は、以下の解決手段によって上述の課題を解決する。なお、かっこ書きで、対応する実施形態の構成を示す。
請求項1の発明は、
遊技の進行を制御するメイン制御手段(メイン制御基板60)と、
演出を制御するサブ制御手段(サブ制御基板80)と、
前記メイン制御手段と電気的に接続され、遊技者にとっての有利度に係る設定値の変更が可能な設定変更モード又は前記設定値の確認が可能な設定確認モードに移行させるときに操作する設定スイッチ(設定キースイッチ52)と、
前記メイン制御手段から前記サブ制御手段に対して一方向でコマンドを送信可能な通信線と
を備え、
前記サブ制御手段に送信するコマンドとして、第1コマンド(第1制御コマンド、第2制御コマンド)及び第2コマンド(第3制御コマンド)を有し、
前記通信線として、第1コマンドを送信可能な第1通信線(サブ制御データ信号1〜8用の通信線、サブ制御データ信号9〜16用の通信線)、及び第2コマンドを送信可能な第2通信線(サブ制御データ信号17〜24用の通信線)を有し、
前記メイン制御手段は、
前記設定スイッチがオンの状態で電源がオフからオンにされたことを条件に前記設定変更モードへの移行を可能とし、
電源がオンの状態で前記設定スイッチがオフからオンにされたことを条件に前記設定確認モードへの移行を可能とし、
前記設定変更モードに移行したときは、前記設定変更モードであることを示す第1コマンドを第1通信線を通して前記サブ制御手段に送信し、
前記設定確認モードに移行したときは、前記設定確認モードであることを示す第1コマンドを第1通信線を通して前記サブ制御手段に送信し、
前記設定スイッチがオンの状態であることを検知したときは、前記設定スイッチがオンの状態であることを示す第2コマンドを第2通信線を通して前記サブ制御手段に送信し、
前記サブ制御手段は、前記設定変更モード又は前記設定確認モードであることを示す第1コマンドを受信することなく、前記設定スイッチがオンの状態であることを示す第2コマンドを受信してから所定時間(64ms)が経過したときは、電源がオンにされてからの経過時間(2秒が経過したか否か)に応じた内容の情報を報知する
ことを特徴とする。
本発明によれば、設定スイッチがオンの状態のときは、通常は、設定変更モード又は設定確認モードに移行する。このため、設定スイッチがオンの状態であることを示す第2コマンドを受信してから所定時間が経過しても、設定変更モード又は設定確認モードであることを示す第1コマンドを受信しないと、エラーが発生したと判断することができる。
また、設定変更モードに移行させるときは、設定スイッチがオンの状態で電源をオンにし、設定確認モードに移行させるときは、電源がオンの状態で設定スイッチをオンにする。このため、エラーが発生したと判断したときは、電源オンからの経過時間によって、エラーの種類(設定変更又は設定確認のいずれのエラーか)を判断することができる。
したがって、本発明によれば、設定変更又は設定確認に関するエラーの有無を適切に判断して報知することができる。
本実施形態におけるスロットマシンの制御の概略を示すブロック図である。 メイン制御基板からサブ制御基板に対してコマンドを送信するための通信線を示す回路図である。 メイン制御基板に設けられた入力ポート0〜2を示す図である。 メイン制御基板に設けられた出力ポート0〜2を示す図である。 メイン制御基板に設けられた出力ポート3〜6を示す図である。 メイン制御基板に設けられた出力ポート7〜10を示す図である。 RWMの記憶領域の一部のデータ(制御コマンド等)を示す図である。 プログラム開始処理(M_PRG_START )を示すフローチャートである。 設定変更処理(M_RANK_SET)を示すフローチャートである。 電源復帰処理(M_POWER_ON)を示すフローチャートである。 メイン処理(M_MAIN)処理を示すフローチャートである。 遊技開始セット(MS_GAME_SET )処理を示すフローチャートである。 メダル投入待ち(MS_STANDBY_DSP)を示すフローチャートである。 制御コマンド連続セット(M_CMD_LIST )を示すフローチャートである。 制御コマンドセット1(R_CMD_SET )を示すフローチャートである。 制御コマンドセット2(C_CMD_SET)を示すフローチャートである。 割込み処理(I_INTR)を示すフローチャートである。 電源断処理(IS_POWER_DOWN )を示すフローチャートである。 制御コマンド送信(I_CMD_OUT )を示すフローチャートである。 サブ制御データストローブ信号、及びサブ制御データ信号1〜16の送信を示すタイムチャートである。 サブ報知データ出力(I_SUB_INF )を示すフローチャートである。 メダル限界チェック(C_MDLMAX_CHK)を示すフローチャートである。 メダル限界セット(M_MDLMAZ_SET)を示すフローチャートである。 メダル読込み(R_PLYMDL_READ )を示すフローチャートである。 貯留枚数読込み(R_CREDIT_READ )を示すフローチャートである。 エラー報知処理を示すフローチャートである。 第2実施形態を示す図であって、メイン制御基板からサブ制御基板に対してコマンドを送信するための通信線を示す回路図である。 第2実施形態を示す図であって、サブ制御データ信号の波形を示す図である。
本明細書において、用語の意味は、以下の通りである。
「RT」とは、リプレイを含む条件装置の種類、数及びその当選確率が特有の遊技状態であることを意味する。
「メイン遊技状態」とは、RTとは異なる概念であって、いわゆる通常中/AT前兆中/AT準備中/AT中や、非内部中/内部中、通常中/特別遊技中のいずれであるかを示す概念である。
「遊技媒体」とは、遊技の用に供する媒体をいい、本実施形態では「メダル」である。ただしこれに限らず、遊技球を使用することも可能である。また、遊技媒体には、実際のメダルの他に、遊技機内部に電気的に貯留(クレジット、記憶)された遊技媒体(遊技媒体に係るデータ)も含まれる。
「ベット」とは、遊技を行うためにメダル(遊技媒体)を賭けることをいう。本実施形態において、ベット可能な最大(限界)枚数は、いずれのRTであっても「3」枚に設定されている。ただし、これに限らず、通常遊技(非特別遊技)では「3」枚に設定し、特別遊技(1BB遊技等)は「2」枚に設定すること等が挙げられる。
「貯留」とは、上記「ベット」とは異なり、スロットマシン10内部にメダルをクレジットすることをいう。「貯留」は、ベットを含む意味で用いられる場合もあるが、本明細書では、「貯留」というときは、「ベット」を含まない意味で使用する。本実施形態において、貯留可能な最大(限界)枚数は、遊技状態等にかかわらず、「50」枚に設定されている。
「手入れ」とは、遊技者が、後述するメダル投入口43からメダルを直接投入することをいう。
「手入れベット」とは、遊技者が、メダル投入口43からメダルを手入れすることにより、メダルをベットすることをいう。
「手入れ貯留」とは、遊技者が、メダル投入口43からメダルを手入れすることにより、メダルを貯留する(クレジットを加算する)ことをいう。
「ベットメダル」とは、ベットされているメダルをいう。
「貯留メダル」とは、クレジットとして貯留されているメダルをいう。
「貯留ベット」とは、遊技者が後述するベットスイッチ40を操作することにより、当該遊技でベット可能な範囲内において、クレジットとして貯留されているメダルの一部又は全部を、遊技を行うためにベットすることをいう。
「自動ベット」とは、リプレイが入賞したときに、スロットマシン10の内部制御処理により、前回遊技でベットされていた数のメダルを自動でベットすることをいう。
「投入」とは、上記の手入れベット、手入れ貯留、貯留ベット、及び自動ベットを含み、メダルをベット又は貯留することをいう。
「精算」とは、ベットメダル及び/又は貯留メダルを遊技者に対して払い出すことをいう。
「払出し」とは、役の入賞に基づきメダルを遊技者に払い出すこと、又は上記精算によりメダルを払い出すことをいう。役の入賞に基づきメダルを遊技者に払い出すときは、クレジットとして貯留すること、及び払出し口(図示せず)から実際のメダルを払い出すことの双方を含む。本実施形態における払出しは、「50」枚を限界枚数としてクレジットに貯留し、貯留数が「50」を超えた分のメダルは、遊技者に対して実際に払い出すように制御する。
本明細書において、末尾(特に、8ビット)に「B」を付した数値は、2進数を意味する。同様に、末尾に「H」を付した数値は、16進数を意味する。具体的には、たとえば10進数で「16」を示す数値は、2進数では「00010000B」又は「00010000(B)」と表記し、16進数では「10H」又は「10(H)」と表記する。
ただし、8ビットの数値以外の2進数表記については、「B」の末尾は省略する。たとえば、「レジスタ値が「0」」のような表記における「0」は、実際には「00000000B」の2進数を意味している。したがって、末尾に「B」を付していない数値は常に2進数でないことを意味するものではない。同様に、末尾に「H」を付していない数値は常に16進数でないことを意味するものではない。
「パラレル通信」とは、複数本の通信線を用いて、複数ビットの信号を並列に送信する通信方式を意味する。
「ストローブ信号」とは、パラレル通信で送信される信号の取得(読込み)タイミングを示す信号を意味する。
「シリアル通信」とは、1本の通信線を用いて、複数ビットの信号を1ビットずつ逐次的に送信する通信方式を意味する。
「出力ポート」とは、CPUが周辺機器に対して信号を送信するときに用いる回路であって、ビット値「0」又は「1」を出力することができる回路を意味する。
「入力ポート」とは、CPUが周辺機器から信号を受信するときに用いる回路であって、ビット値「0」又は「1」を取得する(読み込む)ことができる回路を意味する。
「信号をオンにする」とは、ビット値「1」を出力すること、すなわち、電圧を「High」レベルにすることを意味する。
「信号をオフにする」とは、ビット値「0」を出力すること、すなわち、電圧を「Low」レベルにすることを意味する。
以下、図面等を参照して、本発明の一実施形態について説明する。
図1は、本実施形態におけるスロットマシン10の制御の概略を示すブロック図である。
スロットマシン10に設けられた代表的な制御基板として、メイン制御基板60とサブ制御基板80とを備える。
メイン制御基板60は、入力ポート(0〜2)及び出力ポート(0〜10)を有し、RWM(メインメモリ)61、ROM62、メインCPU63等を備える(図1で図示したもののみを備える意味ではない)。
RWM61は、遊技の進行等に基づいた各種データ(変数)を記憶(更新)可能な記憶媒体である。
ROM62は、遊技の進行に必要なプログラムや各種データ(たとえば、データテーブル)等を記憶しておく記憶媒体である。
メインCPU63は、メイン制御基板60上に設けられたCPUを指し、遊技の進行に必要なプログラムの実行、演算等を行い、具体的には、役の抽選、リール31の駆動制御、及び入賞時の払出し等を実行する。
メインCPU63は、レジスタを内蔵する。特に本実施形態では、レジスタは複数設けられている。
図1において、メイン制御基板60と、図1で図示したベットスイッチ40等の操作スイッチを含む遊技進行用の周辺機器とは、入力ポート又は出力ポートを介して電気的に接続されている。入力ポートは、操作スイッチ等の信号が入力される接続部であり、出力ポートは、モータ32等の周辺機器に対して信号を送信する接続部である。
図1中、入力用の周辺機器は、その周辺機器からの信号がメイン制御基板60に向かう矢印で表示しており、出力用の周辺機器は、メイン制御基板60からその周辺機器に向かう矢印で示している(サブ制御基板80も同様である)。
なお、サブ制御基板80と接続されたプッシュボタン25(「プッシュボタンユニット」ともいう。)は、双方向で信号の送受信が可能となっている。具体的には、プッシュボタン25の操作に基づいてサブ制御基板80に操作が行われた旨の信号を送信し、サブ制御基板80からプッシュボタン25に設けられたランプを発光させる。
図1において、メダル投入口43から投入されたメダルは、メダルセレクタを通過するように構成されている。
メダルセレクタは、図1に示すように、通路センサ43a、ブロッカ45、投入センサ44a及び44bを備え(ただし、これらに限定されるものではない)、メイン制御基板60と電気的に接続されている。
メダル投入口43からメダルが投入されると、最初に、通路センサ43aにより検知されるように構成されている。
さらに、通路センサ43aの下流側には、ブロッカ45が設けられている。ブロッカ45は、メダルの投入を許可/不許可にするためのものであり、メダルの投入が不許可状態のときは、メダル投入口43から投入されたメダルを払出し口から返却するメダル通路を形成する。これに対し、メダルの投入が許可状態のときは、メダル投入口43から投入されたメダルをホッパー35aに案内するメダル通路を形成する。
ここで、ブロッカ45は、遊技中(リール31の回転開始時から、全リール31が停止し、役の入賞時には入賞役に対応する払出しの終了時まで)は、メダルの投入を不許可状態とする。すなわち、ブロッカ45がメダルの投入を許可するのは、少なくとも遊技が行われていないときである。
ブロッカ45のさらに下流側には、投入センサ44a及び44b(光学センサ)が設けられている。したがって、メダル投入口43から投入されたメダルは、通路センサ43aによって検知された後、さらに、投入センサ44a(上流側)及び44b(下流側)により検知されるように構成されている。なお、上流側の投入センサ44aを投入センサ1、下流側の投入センサ44bを投入センサ2と称する場合もある。
また、図1に示すように、メイン制御基板60には、遊技者が操作する操作スイッチとして、ベットスイッチ40、スタートスイッチ41、(左、中、右)ストップスイッチ42、及び精算スイッチ46が電気的に接続されている。
ベットスイッチ40(40a又は40b)は、貯留されたメダルを当該遊技のためにベットするときに遊技者が操作するスイッチである。本実施形態では、1枚のメダルを投入するための1ベットスイッチ40aと、3枚(最大数)のメダルを投入するための3ベットスイッチ40bとを備える。
さらに、これに限らず、2枚ベット用のベットスイッチを設けてもよい。
また、スタートスイッチ41は、(左、中、右のすべての)リール31を始動させるときに遊技者が操作するスイッチである。
さらにまた、ストップスイッチ42は、3つ(左、中、右)のリール31に対応して3つ設けられ、対応するリール31を停止させるときに遊技者が操作するスイッチである。
さらに、精算スイッチ46は、スロットマシン10内部に貯留(クレジット)されたメダルを払い戻す(ペイアウトする)ときに遊技者が操作するスイッチである。
この表示基板70には、貯留数表示LED71、獲得数表示LED72、及び状態表示LED73が接続されている。これらのLED71〜73は、遊技者が操作する操作スイッチの近傍に設けられ、遊技者が常に視認できる位置に設けられている。なお、1つの表示基板70上にすべてのLED71〜73が設けられている必要はなく、たとえば表示基板70A、70B、・・・のように複数の表示基板70を備え、いずれかの表示基板70にいずれかのLED71〜73が設けられていればよい。
貯留数表示LED71は、スロットマシン10内部に貯留されたメダル枚数を表示するLEDである。
本実施形態では、貯留数表示LED71は、「00」〜「50」(整数)の間の数字を表示する。
たとえば、メダルが全くベット及び貯留されていない状態では、貯留数表示LED71の表示は、「00」となっている。ここで、1枚のメダルが手入れされると、当該遊技のためにその1枚のメダルがベットされる。さらに2枚を追加投入すると、当該遊技のために3枚のメダルがベットされる(ベット限界枚数が3枚の場合)。したがって、手入れされたメダルが3枚までのときは、そのメダルはベットされ、貯留されない。さらにメダルが手入れされ続けると、スロットマシン10内部にメダルが貯留されるとともに、その貯留枚数が貯留数表示LED71によって表示される。
本実施形態では、最大で50枚までのメダルを貯留可能となっている。したがって、貯留枚数が50枚となったとき(貯留数表示LED71に「50」と表示されたとき)は、それ以上、メダルは貯留されない。この状態で、仮に、メダル投入口43からメダルが手入れされると、ブロッカ45により、手入れされたメダルは、払出し口から返却される。
ここで、メダル払出しのある役(リプレイを除く)が入賞してその役に対応するメダルが払い出されるときは、払出し口から実際にメダルが払い出されることよりも優先して、スロットマシン10内部にメダルが貯留される。たとえば、役入賞前の貯留枚数が「10」である場合において、9枚役が入賞すると、貯留数表示LED71の表示が「10」から「19」に更新される。
さらにまた、役の入賞時に、貯留枚数が「50」を超えるときは、「50」を超えた分については払出し口から実際に払い出さされる。たとえば、役の入賞前に貯留枚数が「47」であり、9枚役の入賞によって9枚のメダルが払い出されるとき、3枚は貯留されて貯留枚数が「50」となり、「50」を超える6枚については払出し口から払い出される。
さらに、リプレイの入賞時は、メダルの貯留及び払出しは行われず、当該遊技でベットされていた枚数のメダルが再遊技のために自動ベットされる。たとえば、当該遊技を3ベット(3枚)で行い、リプレイが入賞したときは、3枚のメダルが自動ベットされる。そして、リプレイの入賞に基づく自動ベットは、再遊技を行うためのメダルの投入であるので、その後に精算(返却)操作を行っても、当該メダルを精算することはできない。
なお、「遊技機の認定及び型式の検定等に関する規則」では、リプレイに対応する図柄の組合せが有効ラインに停止したときは、再遊技に係る条件装置の作動であって「入賞」ではないと解釈されている。しかし、本明細書では、リプレイについても役の1つとして扱い(再遊技役)、リプレイに対応する図柄の組合せが有効ラインに停止したことを「リプレイの入賞」と称する。
獲得数表示LED72は、役の入賞時に、払出し数(遊技者の獲得数)を表示するLEDである。
メダルの払出しがないときは、獲得数表示LED72の表示は「00」であるが、たとえば9枚役が入賞して9枚のメダルが払い出されるときは、獲得数表示LED72の表示は「09」となる。
また、獲得数表示LED72は、通常は獲得数を表示するが、エラー発生時にはエラーの内容(種類)を表示するLEDとして機能する。よって、本実施形態における獲得数表示LED72は、獲得数、及びエラー内容の表示を兼ねるLEDである。
状態表示LED73は、7個のLED(73a〜73g)から構成されている。
リプレイ表示LED73aは、リプレイの入賞時に点灯するLEDである。リプレイの入賞に基づく自動ベットが行われると、リプレイ表示LED73aが点灯し、自動ベット状態であることを遊技者に知らせる。
投入可表示LED73bは、メダルを投入可能な状態のときに点灯するLEDである。すなわち、遊技が終了し、次遊技に移行するためのメダルが投入される前に点灯し、いわゆるベット待ち状態を示す。なお、本実施形態ではリプレイが作動した後であっても貯留枚数に応じてベット可能なときには点灯する。
精算表示LED73cは、本実施形態では、精算処理中に点灯するLEDである。貯留メダル及び/又はベットメダル(リプレイ入賞時の自動ベットを除く)を有する状態で、精算スイッチ46がオンされたときに、メダルを実際に払い出している最中に点灯する。
遊技開始LED73dは、メダルが投入され、スタートスイッチ41を操作可能な状態となったときに点灯するLEDである。したがって、メダルがベットされていない(又はリプレイの自動投入がされていない)状態では点灯しない。
(1枚、2枚、3枚)投入表示LED73e〜73gは、それぞれ、ベットされているメダル枚数を表示するLEDであり、1枚のメダルがベットされたときは「1BET(1枚投入表示LED73e)」が点灯し、2枚のメダルがベットされたときは、「1BET(1枚投入表示LED73e)」及び「2BET(2枚投入表示LED73f)」が点灯し、3枚のメダルがベットされたときは、「1BET(1枚投入表示LED73e)」、「2BET(2枚投入表示LED73f)」及び「3BET(3枚投入表示LED73g)」が点灯する。
メイン制御基板60には、図柄表示装置30が電気的に接続されている。
図柄表示装置30は、図柄を表示する(本実施形態では3つの)リール31と、各リール31をそれぞれ駆動するモータ32と、リール31の位置を検出するためのリールセンサ39とを含む。
モータ32は、リール31を回転させるためのものであり、各リール31の回転中心部に連結され、後述するリール制御手段63gによって制御される。
ここで、リール31は、左リール31、中リール31、右リール31からなり、左リール31を停止させるときに操作するストップスイッチ42が左ストップスイッチ42であり、中リール31を停止させるときに操作するストップスイッチ42が中ストップスイッチ42であり、右リール31を停止させるときに操作するストップスイッチ42が右ストップスイッチ42である。
リール31は、リング状のものであって、その外周面には複数種類の図柄(役に対応する図柄の組合せを構成している図柄)を印刷したリールテープを貼付したものである。
また、各リール31には、1個(2個以上であってもよい)のインデックスが設けられている。インデックスは、リール31の例えば周側面に凸状に設けられており、リール31が所定位置を通過したか否かや、1回転したか否か等を検出するときに用いられる。
また、各インデックスは、リールセンサ39により検知される。さらに、リールセンサ39は、メイン制御基板60に電気的に接続されている。そして、リールセンサ39がインデックスを検知すると、その入力信号がメイン制御基板60に入力され、そのリール31が所定位置を通過したことが検知される。
また、リールセンサ39がリール31のインデックスを検知した瞬間の基準位置上の図柄を予めROM62に記憶している。これにより、インデックスを検知した瞬間の基準位置上の図柄を検知することができる。
メイン制御基板60には、メダル払出し装置35が電気的に接続されている。
メダル払出し装置35は、メダルを溜めておくためのホッパー35aと、ホッパー35aのメダルを払出し口から払い出すときに駆動するホッパーモータ36と、ホッパー35aから払い出されたメダルを検出するための払出しセンサ37a及び37bを備える。
メダル投入口43から手入れされ、受け付けられたメダルは、所定の通路(「シュート部」とも称する。)を通してホッパー35a内に収容されるように形成されている。
払出しセンサ37a及び37bは、投入センサ44a及び44bと同様に、上流側に払出しセンサ37aが設けられ、下流側に払出しセンサ37bが設けられている。
なお、上流側の払出しセンサ37aを払出しセンサ1、下流側の払出しセンサ37bを払出しセンサ2と称する場合もある。
払出しセンサ37aと37bとは、所定距離を隔てて配置され、メダルが払出しセンサ37aにより検知されてから所定時間を経過した後に払出しセンサ37bにより検知されるように構成されている。そして、払出しセンサ37a及び37bがそれぞれオン/オフとなるタイミングに基づいて、メダルが正しく払い出されたか否かを判断する。
たとえば、ホッパーモータ36が駆動しているにもかかわらず、払出しセンサ37a及び37bの信号がいずれもオフであるときは、メダルが払い出されていないと判断し、ホッパーエラー(メダルなし)と検知される。
一方、払出しセンサ37a又は37bの信号の少なくとも1つがオンのままとなったときは、メダル詰まりが生じたと検知する。なお、払出しセンサ37を1つだけ設け、上記エラーを検知するようにしてもよい。
満杯センサ38は、ホッパー35aから溢れたメダルを収容するサブタンク35bの満杯を検知するセンサであり、サブタンク35bのメダルが満杯となったときにメダルが接触することで通電する回路から構成される。
ドアスイッチ16は、スロットマシン10のフロントカバー(図示せず)の開閉を検知するためのスイッチであり、フロントカバーを開けたときにオンとなり、フロントカバーを閉じたときにオフとなるように構成されている。
電源スイッチ51は、スロットマシン10の電源のオン/オフを行うスイッチである。
設定キースイッチ52は、設定変更時又は設定確認時に用いられるスイッチであり、設定キー挿入口から設定キーが挿入され、右90度に回転しているときにオンとなるように構成されている。
設定変更/リセットスイッチ53は、1つのスイッチで設定変更スイッチとリセットスイッチとを兼ねているスイッチである。なお、設定変更スイッチとリセットスイッチとは、別々に設けられていてもよい。
設定変更/リセットスイッチ53は、設定値を変更するときに操作される。また、設定キースイッチ52をオンにしつつ電源スイッチ51がオンにされると、リセットすなわち初期化処理が行われ、RWM61に記憶されている所定のデータがクリアされる。
設定ドアスイッチ54は、設定キースイッチ52及び設定変更/リセットスイッチ53を覆う設定ドア(図示せず)の開閉を検知するためのスイッチであり、設定ドアを開けたときにオンとなり、設定ドアを閉じたときにオフとなるように構成されている。
なお、たとえば設定ドアスイッチ54がオフ、すなわち設定ドアが開けられていない状態で、設定キースイッチ52がオンであるとき等は、エラーとなる。
図2は、メイン制御基板60からサブ制御基板80に対してコマンドを送信するための通信線を示す回路図である。コマンドは、メイン制御基板60からサブ制御基板80に対して一方向で送信する。
図2に示すように、メイン制御基板60上には、メインCPU63、4つのフリップフロップ(フリップフロップ1〜4)、及びLED可視ランプが搭載されている。
また、サブ制御基板80上には、サブCPU83、2つのインバータバッファ(インバータバッファ1及び2)、トランシーババッファ、及びバッファが搭載されている。
なお、メイン制御基板60及びサブ制御基板80上には、これら以外にも電子部品が搭載されているが、本実施形態では図示を省略している。
メインCPU63は、D0〜D7出力端子を有している。
フリップフロップ1は、出力ポート2を構成するものであり、フリップフロップ2は、出力ポート7を構成するものであり、フリップフロップ3は、出力ポート8を構成するものであり、フリップフロップ4は、出力ポート6を構成するものである。
また、フリップフロップ1は、1D〜8D入力端子及び1Q〜8Q出力端子を有しており、これらはそれぞれ対応している。フリップフロップ2〜4についても、フリップフロップ1と同様に、1D〜8D入力端子及び1Q〜8Q出力端子を有しており、これらはそれぞれ対応している。
そして、メインCPU63のD0〜D7出力端子は、フリップフロップ1の1D〜8D入力端子、フリップフロップ2の1D〜8D入力端子、フリップフロップ3の1D〜8D入力端子、及びフリップフロップ4の1D〜8D入力端子にそれぞれ接続されている。
また、フリップフロップ1の1Q出力端子(出力ポート2のD0ビット)は、3枚投入表示LED73gに接続されている。同様に、2Q出力端子(D1ビット)は、2枚投入表示LED73fに接続され、3Q出力端子(D2ビット)は、1枚投入表示LED73eに接続されている。
そして、フリップフロップ1の1Q出力端子からは、3枚投入表示LED73gを点灯させるための3枚投入表示LED信号が出力される。同様に、2Q出力端子からは、2枚投入表示LED73fを点灯させるための2枚投入表示LED信号が出力され、3Q出力端子からは、1枚投入表示LED73eを点灯させるための1枚投入表示LED信号が出力される。3枚投入表示LED信号、2枚投入表示LED信号、及び1枚投入表示LED信号を総称して、投入枚数表示LED信号という。
なお、フリップフロップ1の4Q〜7Q出力端子は、未使用(NC)である。
また、フリップフロップ1の8Q出力端子(出力ポート2のD7ビット)は、サブ制御基板80上のインバータバッファ1の3A入力端子に接続されている。さらにまた、インバータバッファ1の3A入力端子と3Y出力端子とが対応しているとともに、インバータバッファ2の2A入力端子と2Y出力端子とが対応している。さらに、インバータバッファ1の3Y出力端子は、インバータバッファ2の2A入力端子に接続され、インバータバッファ2の2Y出力端子は、サブCPU83のIRQ5入力端子に接続されている。
そして、フリップフロップ1の8Q出力端子からは、後述するサブ制御データ信号1〜16(第1制御コマンド及び第2制御コマンド)の取得(読込み)タイミングを示すサブ制御データストローブ信号が出力される。
なお、インバータバッファ1及びインバータバッファ2を直列に接続しているが、これはサブ制御データストローブ信号にノイズが入るのを防止するためである。
ここで、サブ制御データストローブ信号は、1ビットの信号である。これに対し、サブ制御データストローブ信号を出力する出力ポート2(フリップフロップ1)は、D0〜D7ビット(1Q〜8Q出力端子)の8ビットを有している。
このため、出力ポート2のD7ビット以外(D0〜D6ビット)の7ビットを、メイン制御基板60に接続された他の周辺機器(たとえば、貯留数表示LED71、獲得数表示LED72、状態表示LED73、モータ32、又はホッパーモータ36等)を制御するための信号の出力端子として用いている。
具体的には、上述したように、出力ポート2のD0ビットは、3枚投入表示LED信号の出力端子として用い、出力ポート2のD1ビットは、2枚投入表示LED信号の出力端子として用い、出力ポート2のD2ビットは、1枚投入表示LED信号の出力端子として用いている。
これにより、サブ制御データストローブ信号の出力ポートと、3枚投入表示LED信号、2枚投入表示LED信号、及び1枚投入表示LED信号の出力ポートとを兼用にしている。
そして、後述するように、サブ制御データストローブ信号、3枚投入表示LED信号、2枚投入表示LED信号、及び1枚投入表示LED信号を含む8ビットのデータを出力ポート2に出力する。
すなわち、出力ポート2に出力する8ビットのデータで、3枚投入表示LED73g、2枚投入表示LED73f、及び1枚投入表示LED73eの点灯又は消灯を制御するとともに、サブ制御データ信号1〜16(第1制御コマンド及び第2制御コマンド)の取得(読込み)タイミングをサブ制御基板80に伝える。
また、フリップフロップ2の1Q〜8Q出力端子(出力ポート7のD0〜D7ビット)は、サブ制御基板80上のトランシーババッファの2A8〜2A1入力端子にそれぞれ接続されている。さらにまた、トランシーババッファの2A8〜2A1入力端子と2B8〜2B1出力端子とがそれぞれ対応している。さらに、トランシーババッファの2B8〜2B1出力端子は、サブCPU83のD0〜D7入力端子にそれぞれ接続されている。そして、フリップフロップ2の1Q〜8Q出力端子からは、サブ制御データ信号1〜8(第2制御コマンド)がそれぞれ出力される。
同様に、フリップフロップ3の1Q〜8Q出力端子(出力ポート8のD0〜D7ビット)は、サブ制御基板80上のトランシーババッファの1A8〜1A1入力端子にそれぞれ接続されている。さらにまた、トランシーババッファの1A8〜1A1入力端子と1B8〜1B1出力端子とがそれぞれ対応している。さらに、トランシーババッファの1B8〜1B1出力端子は、サブCPU83のD8〜D15入力端子にそれぞれ接続されている。そして、フリップフロップ3の1Q〜8Q出力端子からは、サブ制御データ信号9〜16(第1制御コマンド)がそれぞれ出力される。
このように、フリップフロップ2の1Q〜8Q出力端子(出力ポート7のD0〜D7ビット)とトランシーババッファの2A8〜2A1入力端子とを繋ぐ通信線により、サブ制御データ信号1〜8(第2制御コマンド)が8ビットのパラレル通信で送信されるとともに、フリップフロップ3の1Q〜8Q出力端子(出力ポート8のD0〜D7ビット)とトランシーババッファの1A8〜1A1入力端子とを繋ぐ通信線により、サブ制御データ信号9〜16(第1制御コマンド)が8ビットのパラレル通信で送信される。
なお、上述したように、第1制御コマンド及び第2制御コマンドの取得(読込み)タイミングを示すサブ制御データストローブ信号は、第1制御コマンドを送信するための8ビットのパラレル通信線及び第2制御コマンドを送信するための8ビットのパラレル通信線とは別の通信線で送信される。
また、フリップフロップ4の1Q〜8Q出力端子(出力ポート6のD0〜D7ビット)は、サブ制御基板80上のバッファのA1〜A8入力端子にそれぞれ接続されている。さらにまた、バッファのA1〜A8入力端子とY1〜Y8出力端子とがそれぞれ対応している。さらに、バッファのY1〜Y8出力端子は、サブCPU83のD0〜D7入力端子にそれぞれ接続されている。そして、フリップフロップ4の1Q〜8Q出力端子からは、サブ制御データ信号17〜24(第3制御コマンド)がそれぞれ出力される。
このように、フリップフロップ4の1Q〜8Q出力端子(出力ポート6のD0〜D7ビット)とバッファのA1〜A8入力端子とを繋ぐ通信線により、サブ制御データ信号17〜24(第3制御コマンド)が8ビットのパラレル通信で送信される。
すなわち、第3制御コマンドは、第1制御コマンドを送信するための8ビットのパラレル通信線及び第2制御コマンドを送信するための8ビットのパラレル通信線とは別の8ビットのパラレル通信線で送信される。
また、LED可視ランプのA端子(アノード)は、メイン制御基板60上の+5Vの電源端子に接続され、LED可視ランプのK端子(カソード)は、コネクタ接続モニタと称する配線を介して、サブ制御基板80上のGND端子(グランド)に接続されている。
このコネクタ接続モニタは、メイン制御基板60とサブ制御基板80との接続不良をチェックするためのものである。このコネクタ接続モニタが抜けると、LED可視ランプが点灯するように構成されている。これにより、メイン制御基板60とサブ制御基板80との間で接続不良が生じていることがわかるようにしている。
図3は、メイン制御基板60に設けられた入力ポート0〜2を示す図である。また、図4〜図6は、メイン制御基板60に設けられた出力ポート0〜10を示す図である。
本実施形態の入力ポート0〜2及び出力ポート0〜10は、D0〜D7の8ビットが入力又は出力可能な1バイトのポートである。
なお、入力ポート及び出力ポートは、上記以外にも設けられているが、本実施形態では説明を省略する。
また、図3〜図6中、未使用と表示したポートは、実際に使用されていないか、又は本実施形態において説明を省略する信号の入出力ポートを意味する(信号の入出力がないポートは、すべて未使用という意味ではない)。
図3において、入力ポート0は、精算スイッチ46、ベットスイッチ40(1ベットスイッチ40a及び3ベットスイッチ40b)、スタートスイッチ41、及びストップスイッチ42のオン/オフを示す信号が入力される。たとえば、入力ポート0のD0ビットが「0」のときは、精算スイッチ46がオフであることを示し、「1」のときは、オンであることを示す。D1〜D3及びD5〜D7ビットについてもD0ビットと同様に、「0」のときはオフであることを示し、「1」のときはオンであることを示す。
なお、図3の例では、1ベットスイッチ信号(D1ビット)と3ベットスイッチ信号(D2ビット)とを分けているが、3ベットスイッチ40のみが設けられる仕様のスロットマシン10であるときは、入力ポート0のD1ビットは未使用となる。
入力ポート1には、通路センサ43a、ドアスイッチ16、設定ドアスイッチ54、設定キースイッチ52、設定変更/リセットスイッチ53、(左、中、右)リールセンサ39のオン/オフを示す信号が入力される。「0」のときはオフであることを示し、「1」のときはオンであることを示すことは、入力ポート0のD0ビットと同様である。
入力ポート2には、電源断信号(電源断が発生したときに出力される信号)、投入センサ1(44a)及び2(44b)の信号、払出しセンサ1(37a)及び2(37b)の信号、満杯センサ38の信号が入力される。入力ポート2のD0ビットが「0」のときは、電源断が発生していないことを示し、「1」のときは、電源断が発生したことを示す。入力ポート2のD1〜D5ビットについては、入力ポート0のD0ビットと同様に、「0」のときはオフであることを示し、「1」のときはオンであることを示す。
なお、設定ドアスイッチ54を設けていない仕様のスロットマシン10であるときには、入力ポート1のD2ビットは未使用となる。
そして、後述するように、遊技を進行する情報処理として、1遊技あたり1回行うメイン処理(後述する図11;M_MAIN)(メインループともいう。)が設けられている。メイン処理では、投入されたメダルの検知や、全リール31が停止した後の入賞処理等が行われる処理である。
このメイン処理中に、メイン処理を一旦抜けて、割込み処理(タイマ割込み処理)を実行する(後述する図17;I_INTR)。そして、割込み処理では、入力ポート0〜2を検知する処理(図17中、ステップS607)を実行し、その処理の実行後、再度、メイン処理に戻る処理を定期的に行っている。その割込み処理の間隔は、本実施形態では2.235msである。すなわち、2.235ms間隔の割込み処理ごとに、入力ポート0〜2のデータを取得する。
そして、取得したデータに基づいて、入力ポート0〜2のそれぞれについて、レベルデータ(各ビットのオン/オフを示すデータ)、入力ポートの立ち上がりデータ(前回割込み時がオフで、今回割込み時がオンになったデータがどのビットであるかを示すデータ)、入力ポートの立ち下がりデータ(前回割込み時がオンで、今回割込み時がオフになったデータがどのビットであるかを示すデータ)を生成し、記憶する。したがって、これらのデータは、2.235msごとに更新されていく。
また、割込み処理がいつ行われたかにかかわらず、入力ポート0〜2のD0〜D7ビットのすべてを検知する。たとえば、リール31の回転中(ストップスイッチ42が操作される前)は、遊技者によってベットスイッチ40が操作されることはあり得ないので、必ずしも入力ポート0のD1及びD2ビットのデータを取得する必要はないが、本実施形態では、すべてのビットのデータを取得する。そして、全ビットのデータを取得すれば、エラー判定を行うことも可能となる。たとえばリール31の回転中にベットスイッチ40の立ち上がりデータがオンになった場合が挙げられる。
また、たとえば入力ポート0の1バイトデータ(8ビット)を取得すれば、すべての操作スイッチのオン/オフの状況を知ることができる。
図4の出力ポート0では、D0〜D3ビットからは、左リール31のモータ32のφ0〜φ3の各信号が出力される。本実施形態のモータ32は、1−2相励磁によりリール31を回転するように構成されており、φ0〜φ3の4相の励磁の組合せでリール31を駆動するようにしているため、各相の信号がそれぞれ所定のビットから出力される。
また、出力ポート0のD6ビットからは、ブロッカ45を制御する信号(ブロッカ信号)が出力される。さらにまた、出力ポート0のD7ビットからは、ホッパーモータ36を駆動させるためのホッパーモータ駆動信号が出力される。
ここで、ブロッカ45は、ブロッカ信号が「1」(オン)であるときは、メダル投入口43とホッパー35aとを連結するメダル通路を形成し、「0」(オフ)であるときは、メダル投入口43と払出し口とを連結する通路(返却通路)を形成する。
そして、割込み処理により、ブロッカ45の駆動時には、出力ポート0のD6ビットからブロッカ信号として「1」を出力し、ブロッカ45の非駆動時には、出力ポート0のD6ビットからブロッカ信号として「0」を出力する。
出力ポート1のD0〜D3ビットからは、中リール31のモータ32のφ0〜φの各信号が出力される。同様に、D4〜D7ビットからは、右リール31のモータ32のφ0〜φの各信号が出力される。
出力ポート2のD0ビットからは、3枚投入表示LED73gを点灯させるための3枚投入表示LED信号が出力され、D1ビットからは、2枚投入表示LED73fを点灯させるための2枚投入表示LED信号が出力され、D2ビットからは、1枚投入表示LED73eを点灯させるための1枚投入表示LED信号が出力される。
出力ポート2のD7ビットからは、サブ制御データストローブ信号が出力される。
ここで、サブ制御データストローブ信号とは、後述するサブ制御データ信号1〜16(第1制御コマンド及び第2制御コマンド)とともにサブ制御基板80に送信する信号であって、サブ制御データ信号1〜16の取得(読込み)タイミングを示す信号である。
サブ制御基板80は、サブ制御データストローブ信号を受信すると、このサブ制御データストローブ信号の立ち上がりに基づいて、サブ制御データ信号1〜16のデータをサブ制御基板80に設けられたバッファから取得するように制御する。なお、信号の送信タイミング等については後述する(図20)。
出力ポート3は、LEDデジット信号の出力用に用いられる。また、出力ポート4は、LEDセグメント信号の出力用に用いられる。これらのLEDデジット信号及びLEDセグメント信号は、設定値表示LED64、貯留数表示LED71、獲得数表示LED72、状態表示LED73を点灯/消灯させるための信号である。出力ポート3でどのデジットを点灯させるかを定め、出力ポート4でどのセグメントを点灯させるかを定める。
ここで、「デジット」とは、表示部(ディスプレイ)を意味する。本実施形態では、デジットは、セブンセグメントディスプレイ(セブンセグメント表示部)から構成されている。また、セブンセグメントディスプレイは、8個のセグメントを備える。
そして、LEDデジット信号は、複数個のセブンセグメントディスプレイのうち、いずれのセブンセグメントディスプレイを点灯させるかを示す。また、LEDセグメント信号は、LEDデジット信号が示すセブンセグメントディスプレイが備える8個のセグメントのうち、いずれのセグメントを点灯させるかを示す。
出力ポート5からは、外部信号1〜5、メダル払出し信号、及びメダル投入(ベット)信号が出力される。「外部信号」とは、外部集中端子板100を介してスロットマシン10の外部(ホールコンピュータや、ホールに設置されているデータカウンタ等)に出力するための信号である。
出力ポート6〜8は、サブ制御データ信号(サブ制御基板80に送信する制御コマンド)を出力するポートである。
出力ポート6のD0〜D7ビットからは、サブ制御データ信号17〜24(第3制御コマンド)が出力され、出力ポート7のD0〜D7ビットからは、サブ制御データ信号1〜8(第2制御コマンド)が出力され、出力ポート8のD0〜D7ビットからは、サブ制御データ9〜16(第1制御コマンド)が出力される。
本実施形態では、第1制御コマンド(サブ制御データ信号9〜16)及び第2制御コマンド(サブ制御データ信号1〜8)の2バイト(16ビット)で1つのコマンドを構成する。また、第1制御コマンド(上位1バイト)は、コマンドの種別を示し、第2制御コマンド(下位1バイト)は、その内容を示す。さらにまた、コマンドの種別として、たとえば、各種スイッチのオン/オフの状態を示す状態コマンド、各種エラーの検知/未検知を示すエラーコマンド、設定変更中又は設定確認中であるか否かを示す管理コマンド等を挙げることができる。
また、第1制御コマンドとして、状態コマンドを示すデータが設定されているときは、第2制御コマンドについては、サブ制御データ信号1(D0ビット)は、右ストップスイッチ42のオン/オフの状態を示す。同様に、サブ制御データ信号2(D1ビット)は、中ストップスイッチ42のオン/オフの状態を示し、サブ制御データ信号3(D2ビット)は、左ストップスイッチ42のオン/オフの状態を示し、サブ制御データ信号4(D3ビット)は、3ベットスイッチ40bのオン/オフの状態を示し、サブ制御データ信号5(D4ビット)は、スタートスイッチ41のオン/オフの状態を示す。
この場合、サブ制御データ信号1が「0」のときは、右ストップスイッチ42がオフの状態であることを示し、「1」のときは、オンの状態であることを示す。サブ制御データ信号2〜5についてもサブ制御データ信号1と同様に、「0」のときはオフの状態であることを示し、「1」のときはオンの状態であることを示す。
なお、サブ制御データ信号6〜8(D5〜D7ビット)についても所定の情報が割り当てられているが、本実施形態では説明を省略する。
また、第1制御コマンドとして、エラーコマンドを示すデータが設定されているときは、第2制御コマンドについては、サブ制御データ信号1は、通路センサーエラーの検知/未検知を示し、サブ制御データ信号2は、投入センサーエラーの検知/未検知を示し、サブ制御データ信号3は、払出しセンサーエラーの検知/未検知を示す。
この場合、サブ制御データ信号1が「0」のときは、通路センサエラーを検知していない(未検知である)ことを示し、「1」のときは、通路センサエラーを検知したことを示す。サブ制御データ信号2及び3についてもサブ制御データ信号1と同様に、「0」のときは未検知を示し、「1」のときは検知を示す。
なお、サブ制御データ信号4〜8についても所定の情報が割り当てられているが、本実施形態では説明を省略する。
また、第1制御コマンドとして、管理コマンドを示すデータが設定されているときは、第2制御コマンドについては、サブ制御データ信号1は、設定変更中であるか否かを示し、サブ制御データ信号2は、設定確認中であるか否かを示す。
この場合、サブ制御データ信号1が「0」のときは、設定変更中でないことを示し、「1」のときは、設定変更中であることを示す。同様に、サブ制御データ信号2が「0」のときは、設定確認中でないことを示し、「1」のときは、設定確認中であることを示す。
なお、サブ制御データ信号3〜8についても所定の情報が割り当てられているが、本実施形態では説明を省略する。
第3制御コマンドは、1バイト(8ビット)で1つのコマンドを構成する。第3制御コマンドについては、サブ制御データ信号17(D0ビット)は、右ストップスイッチ42が操作を受付け可能な状態であるか否かを示し、サブ制御データ信号18(D1ビット)は、中ストップスイッチ42が操作を受付け可能な状態であるか否かを示し、サブ制御データ信号19(D2ビット)は、左ストップスイッチ42が操作を受付け可能な状態であるか否かを示す。
また、サブ制御データ信号20(D3ビット)は、3ベットスイッチ40bが操作を受付け可能な状態であるか否かを示す。
さらにまた、サブ制御データ信号21(D4ビット)は、設定変更/リセットスイッチ53のオン/オフの状態を示し、サブ制御データ信号22(D5ビット)は、設定キースイッチ52のオン/オフの状態を示し、サブ制御データ信号23(D6ビット)は、ドアスイッチ16のオン/オフの状態を示し、サブ制御データ信号24(D7ビット)は、設定ドアスイッチ54のオン/オフの状態を示す。
そして、サブ制御データ信号17が「0」のときは、右ストップスイッチ42が操作を受付け不可の状態であることを示し、「1」のときは、操作を受付け可能な状態であることを示す。サブ制御データ信号18〜20についてもサブ制御データ信号17と同様に、「0」のときは操作を受付け不可の状態であることを示し、「1」のときは操作を受付け可能な状態であることを示す。
また、サブ制御データ信号21が「0」のときは、設定変更/リセットスイッチ53がオフの状態であることを示し、「1」のときは、オンの状態であることを示す。サブ制御データ信号22〜24についてもサブ制御データ信号21と同様に、「0」のときはオフの状態であることを示し、「1」のときはオンの状態であることを示す。
たとえば、左、中、及び右ストップスイッチ42が操作を受付け可能な状態であり、かつ3ベットスイッチ40bが操作を受付け不可の状態であり、かつ設定変更/リセットスイッチ53、設定キースイッチ52、ドアスイッチ16、及び設定ドアスイッチ54がオフの状態であるとする。
この場合、出力ポート6からは、第3制御コマンド(サブ制御データ信号17〜24)として、「00000111B」が出力される。
出力ポート9及び10は、試験機に対して所定の信号(情報)を送信するポートに設定されている。ここで、「試験信号」とは、スロットマシン10(遊技機)と試験機とを接続し、スロットマシン10から試験機に対して所定の信号を送信することで、スロットマシン10が「遊技機の認定及び型式の検定等に関する規則」に則って設計されているかを確認するために用いられる信号である。なお、スロットマシン10と試験機との接続は、直接接続されるものだけでなく、中継するためのインターフェイスボードを介して接続してもよい。
出力ポート9には、条件装置1〜8信号が割り当てられている。ここで、「条件装置」とは、いわゆる当選番号(当選の種類)を示すものである。出力ポート9から信号を出力することにより、当該遊技ではどの条件装置がオンであるか(どの当選となったか)を外部に知らせることができる。
また、出力ポート10は、試験信号1〜8の出力ポートである。
以上のようにして、一割込み内で、入力ポート0〜2の信号に基づくデータ(「レベルデータ」と称する。)を記憶するとともに、出力ポート0〜10に対しては、記憶されている制御データに基づき信号を出力する。
図7は、RWM61に記憶されるデータの格納アドレス(番地)とその内容を示す図である。なお、RWM61に記憶されるデータは、図7に示すデータに限られるものではない。
図7において、アドレス「F113」〜「F153」の「_BF_SUBCMD」は、制御コマンドバッファ(リングバッファ)の記憶領域であり、サブ制御基板80に送信する制御コマンドが記憶される。この記憶領域は、「F113」〜「F153」(H)の64バイト確保されている。制御コマンドバッファには、アドレス順に制御コマンドが記憶されていき、アドレス「F153」に制御コマンドが記憶されると、次に制御コマンドが記憶されるアドレスは、「F113」となる。
アドレス「F017」の「_NB_CMDREAD 」は、制御コマンド読み込みポインタ値の記憶領域である。この値は、制御コマンドバッファのどのアドレスを読み込めばよいかを記憶する値であり、当該アドレスの制御コマンドバッファのデータが読み込まれると、「1」インクリメントされる。
アドレス「F018」の「_NB_CMDSTORE」は、制御コマンド書き込みポインタ値の記憶領域である。この値は、制御コマンドバッファのどのアドレスに制御コマンドを書き込めばよいかを記憶する値であり、当該アドレスの制御コマンドバッファに制御コマンドが書き込まれると、「1」インクリメントされる。
ここで、スロットマシン10での遊技の進行の概略を示す。
遊技の開始時には、遊技者は、ベットスイッチ40を操作して予め貯留されたメダルを投入するか、又はメダル投入口43からメダルを投入し、スタートスイッチ41を操作(オン)する。スタートスイッチ41が操作されると、そのときに発生する信号がメイン制御基板60に入力される。メイン制御基板60(具体的には、後述するリール制御手段63g)は、この信号を受信すると、すべてのモータ32を駆動制御して、すべてのリール31を回転させるように制御する。このようにしてリール31がモータ32によって回転することで、リール31上の図柄は所定の速度で表示窓内で上下方向に移動表示される。
そして、遊技者は、ストップスイッチ42を押すことで、そのストップスイッチ42に対応するリール31(たとえば、左ストップスイッチ42に対応する左リール31)の回転を停止させる。ストップスイッチ42が操作されると、そのときに発生する信号がメイン制御基板60に入力される。メイン制御基板60(具体的には、後述するリール制御手段63g)は、この信号を受信すると、そのストップスイッチ42に対応するモータ32を駆動制御して、そのモータ32に係るリール31の停止制御を行う。
そして、すべてのリール31の停止時における図柄の組合せにより、当該遊技の遊技結果を表示する。さらに、いずれかの役に対応する図柄の組合せが有効ラインに停止したとき(その役の入賞となったとき)は、入賞した役に対応するメダルの払出し等が行われる。
次に、メイン制御基板60の具体的構成について説明する。
図1に示すように、メイン制御基板60のメインCPU63は、以下の設定変更手段63a等を備える。なお、本実施形態における以下の各手段は例示であり、本実施形態で示した手段に限定されるものではない。
設定変更手段63aは、設定値を変更・決定する手段である。
ここで、設定値とは、遊技者の有利度、より具体的にはメダルの投入枚数に対する払出し枚数の期待値(遊技者が獲得できるメダル)の程度を定めるものであり、本実施形態では設定1〜設定6の6段階を設けている。
そして、設定値が高くなるほど、少なくとも一部の役(特に、特別役)の当選確率が高く設定される等、遊技者にとっての有利度が高くなるように設定している。
また、設定値が高くなるほど、ATに当選する確率が高くなるように設定している。
なお、ATに移行する確率を高くすることのみに限られるものではなく、たとえばAT中の遊技回数や払出し枚数を上乗せする確率を高くしたり、ATを継続する確率を高くしてもよい。
設定値を設定・変更するには、電源スイッチ51、設定キースイッチ52、設定変更/リセットスイッチ53が用いられる。
本実施形態では、電源スイッチ51を一旦オフにし、電源断をした後に、設定キー挿入口に設定キーを差し込み、これを時計回りに90度回転させると、設定キースイッチ52がオンとなる。この状態で電源スイッチ51を再度オンにすると、設定変更中、すなわち設定変更モードになる。この場合、通常の立ち上げ処理は行われない。したがって、設定変更中にするためには、電源スイッチ51のオン/オフ操作が必要である。
設定変更モードでは、設定変更手段63aは、設定値表示LED64に、現在の設定値を表示する。
また、設定変更手段63aは、設定変更/リセットスイッチ53が1回操作(オン)されるごとに、設定値の表示を、・・・→「1」→「2」→「3」→「4」→「5」→「6」→「1」→「2」→・・・と順次変化させる。
さらに、設定変更手段63aは、スタートスイッチ41がオンにされると、このときに設定値表示LED64に表示していた数値で設定値を決定し、設定値が決定されたことを示す「0」を設定値表示LED64に表示する。ここで決定された設定値は、RWM61の所定記憶領域に、設定値データとして記憶される。
そして、設定キーを反時計回りに90度回転させて設定キースイッチ52をオフにすると、設定変更後の設定値で遊技が可能となる。
なお、本実施形態では、設定キースイッチ52のオフの判定は、設定キースイッチ52の立ち下がりデータに基づいて実行されるように構成されているが、設定キースイッチ52のオン/オフの状態に基づいて実行されるように構成してもよい。
また、設定キー挿入口から設定キーを抜かなければ設定変更後の設定値で遊技ができないように構成してもよい。
さらに、設定キーを反時計回りに90度回転させて設定キースイッチ52をオフにし、設定キー挿入口から設定キーを抜き、この状態で電源スイッチ51を一旦オフにした後に再度オンにしなければ、設定変更後の設定値で遊技ができないように構成してもよい。
また、メダルがベットされていない状態で、かつ役抽選が行われていない状態(スタートスイッチ41の操作前)で、設定キーが設定キー挿入口に挿入され、設定キースイッチ52がオンにされると、設定確認中、すなわち、設定確認モードになる。このように、設定値を確認するだけの場合には、電源スイッチ51のオン/オフは不要である。設定確認中は、設定変更中と同様に、現時点での設定値が設定表示LED64に表示される。
さらにまた、設定キースイッチ52がオンにされた状態で、電源スイッチ51がオンにされると、リセット、すなわち初期化処理が行われる。
条件装置抽選手段63bは、条件装置(すなわち、当選役)の抽選(決定、選択)を行う。ここで、「条件装置」とは、1又は複数の役からなる役抽選対象であり、たとえば一つの条件装置に当選(決定、選択)すると、その条件装置に含まれる役の当選となる。
したがって、条件装置抽選手段63bは、役抽選手段、当選役決定(又は選択)手段、等とも称される。
また、「条件装置の当選」は、役抽選結果、当選番号、当選結果、等とも称される。
条件装置抽選手段63bは、たとえば、抽選用の乱数発生手段(ハードウェア乱数等)と、この乱数発生手段が発生する乱数を抽出する乱数抽出手段と、乱数抽出手段が抽出した乱数値に基づいて、条件装置の当選の有無及び当選した条件装置を判定する判定手段とを備えている。
乱数発生手段は、所定の領域(たとえば10進数で「0」〜「65535」)の乱数を発生させる。乱数は、たとえば200n(ナノ)secで1カウントを行うカウンターが「0」〜「65535」の範囲を1サイクルとしてカウントし続ける乱数であり、スロットマシン10の電源が投入されている間は、乱数をカウントし続ける。
乱数抽出手段は、乱数発生手段によって発生した乱数を、所定の時、本実施形態では遊技者によりスタートスイッチ41が操作(オン)された時に抽出する。判定手段は、乱数抽出手段により抽出された乱数値を、条件装置抽選テーブルと照合することにより、その乱数値が属する領域に対応する条件装置を決定する。
当選フラグ制御手段63cは、条件装置抽選手段63bによる抽選結果に基づいて、各役に対応する当選フラグのオン/オフを制御するものである。本実施形態では、すべての役について、各役ごとに当選フラグを備える。そして、条件装置抽選手段63bによる抽選においていずれかの条件装置の当選となったときは、その条件装置に含まれる役の当選フラグをオンにする(当選フラグを立てる)。
また、特別役以外の小役及びリプレイの当選は持ち越されないので、当該遊技で小役又はリプレイに当選し、これらの役の当選フラグがオンにされても、当該遊技の終了時にその当選フラグがオフにされる。
これに対し、特別役の当選は持ち越されるので、当該遊技で特別役に当選し、当選した特別役に係る当選フラグが一旦オンになったときは、その特別役が入賞するまでオンの状態が維持され、その特別役が入賞した時点でオフにされる。
リール制御手段63gは、リール31の回転開始命令を受けたとき、本実施形態ではスタートスイッチ41が操作(オン)されたときに、すべて(3つ)のリール31の回転を開始するように制御する。さらに、リール制御手段63gは、条件装置抽選手段63bにより条件装置の抽選が行われた後、当該遊技における当選フラグのオン/オフを参照して、当選フラグのオン/オフに対応する停止位置決定テーブルを選択するとともに、ストップスイッチ42が操作されたときに、ストップスイッチ42が操作されたときのタイミングに基づいて、そのストップスイッチ42に対応するリール31の停止位置を決定するとともに、モータ32を駆動制御して、その決定した位置にそのリール31を停止させるように制御する。
たとえば、リール制御手段63gは、少なくとも1つの当選フラグがオンである遊技では、リール31の停止制御の範囲内において、当選役(当選フラグがオンになっている役)に対応する図柄の組合せを有効ラインに停止可能にリール31を停止制御するとともに、当選役以外の役(当選フラグがオフになっている役)に対応する図柄の組合せを有効ラインに停止させないようにリール31を停止制御する。
ここで、「リール31の停止制御の範囲内」とは、ストップスイッチ42が操作された瞬間からリール31が実際に停止するまでの時間又はリール31の回転量(移動コマ(図柄)数)の範囲内を意味する。
本実施形態では、リール31は、定速時は1分間で約80回転する速度で回転する。また、ストップスイッチ42が操作されたときは、ストップスイッチ42が操作された瞬間からリール31を停止させるまでの時間が190ms以内に設定されている。これにより、本実施形態では、ストップスイッチ42が操作された瞬間の図柄からリール31が停止するまでの最大移動コマ数が4コマに設定されている。
そして、ストップスイッチ42の操作を検知した瞬間に、リール31の停止制御の範囲内にある図柄のいずれかが所定の有効ラインに停止させるべき図柄であるときは、ストップスイッチ42が操作されたときに、その図柄が所定の有効ラインに停止するように制御する。
すなわち、ストップスイッチ42が操作された瞬間に直ちにリール31を停止させると、当選役に係るその図柄が所定の有効ラインに停止しないときには、リール31を停止させるまでの間に、リール31の停止制御の範囲内においてリール31を回転移動制御することで、当選役に係る図柄をできる限り所定の有効ラインに停止させるように制御する(引込み停止制御)。
また逆に、ストップスイッチ42が操作された瞬間に直ちにリール31を停止させると、当選していない役に対応する図柄の組合せが有効ラインに停止してしまうときは、リール31の停止時に、リール31の停止制御の範囲内においてリール31を回転移動制御することで、当選していない役に対応する図柄の組合せを有効ラインに停止させないように制御する(蹴飛ばし停止制御)。
さらに、複数の役に当選している遊技では、ストップスイッチ42の押し順や、ストップスイッチ42の操作タイミング等に応じて、入賞させる役の優先順位が予め定められており、所定の優先順位によって、最も優先する図柄の引込み停止制御を行う。
さらに、リール制御手段63gは、ストップスイッチ42の押し順(操作順番)を検出する。リール制御手段63gは、遊技者によりストップスイッチ42が操作されたときに、左、中、及び右ストップスイッチ42のうち、いずれが操作されたかを検出する。
ストップスイッチ42が操作されると、そのストップスイッチ42が操作された旨の信号がリール制御手段63gに入力される。この信号を判別することで、リール制御手段63gは、どのストップスイッチ42が操作されたかを検出する。そして、操作されたストップスイッチ42に対応するリール31の停止制御を実行する。
さらに、リール制御手段63gは、各条件装置ごとに停止位置決定テーブルを備える。停止位置決定テーブルは、ストップスイッチ42が操作された瞬間のリール31の位置に対する、リール31の停止位置を定めたものである。そして、各停止位置決定テーブルには、たとえば1番の図柄が中段を通過する瞬間にストップスイッチ42が操作されたときは、何図柄だけ移動制御して(何コマスベリで)、何番の図柄を中段に停止させる、というように停止位置が事前に定められている。
また、適切なリール31の位置で(対象図柄を最大移動コマ数の範囲内において有効ラインに停止可能な操作タイミングで)ストップスイッチ42を操作しなければ、対象図柄を有効ラインに停止させる(有効ラインまで引き込む)ことができないことを、「PB(引込み率)≠1」と称する。
これに対し、ストップスイッチ42が操作された瞬間のリール31がどの位置であっても(ストップスイッチ42の操作タイミングにかかわらず)、対象図柄を常に有効ラインに停止させる(引き込む)ことができることを、「PB=1」と称する。
そして、「PB=1」は、その役について、全リール31がそのようになっている場合と、特定の(一部の)リール31についてのみそのようになっている場合とを有する。
本実施形態では、最大移動コマ数は「4」であるので、5図柄以内の間隔で対象図柄が配列されているときは、「PB=1」となり、5図柄を超える(6図柄以上の)間隔で配列されているときは、「PB≠1」となる。
また、複数の小役が同時に当選(重複当選)している場合のリール31を停止制御する方法としては、以下の方法が挙げられる。
第1優先として、当選している図柄の組合せを構成する(当該リール31の)図柄のすべてを有効ラインに停止可能であるときは、その位置でリール31を停止させる。
次に、「当選している図柄の組合せを構成する図柄のすべてを有効ラインに停止させる」ことができないとき(第1優先を採用することができないとき)は、第2優先として、「枚数優先」又は「個数優先」のいずれかによりリール31を停止制御する。
ここで、「枚数優先」とは、重複当選している図柄の組合せのうち、払出し枚数の最も多い図柄の組合せを構成する当該リール31の図柄を優先して有効ラインに停止させる(引き込む)ことをいう。
一方、「個数優先」とは、有効ラインに停止可能となる図柄の組合せ数が最も多くなるように、当該リール31の図柄を有効ラインに停止させることをいう。
入賞判定手段63hは、リール31の停止時に、有効ラインに停止したリール31の図柄の組合せが、いずれかの役に対応する図柄の組合せと一致するか否か(いずれかの役が入賞したか否か)を判断するものである。入賞判定手段63hは、たとえばモータ32の停止時の角度やステップ数等を検知することにより、有効ライン上の図柄を判断する。
払出し手段63iは、入賞判定手段63hにより、リール31の停止時に有効ラインに停止した図柄の組合せがいずれかの役に対応する図柄の組合せと一致すると判断され、その役の入賞となったときに、その入賞役に応じて所定枚数のメダルを遊技者に対して払い出すか、又はクレジットの加算等の処理を行うものである。また、リプレイの入賞時には、メダルを払い出すことなく、当該遊技で投入されたメダル枚数を自動投入するように制御する。
サブ制御基板80は、遊技中及び遊技待機中における演出(情報)の選択や出力等を制御するものである。
メイン制御基板60とサブ制御基板80とは、電気的に接続されており、メイン制御基板60から、パラレル通信によってサブ制御基板80に一方向で演出等に必要な情報(制御コマンド等)を送信する。
また、メイン制御基板60と同様に、サブ制御基板80は、RWM81、ROM(サブROM)82、及びサブCPU83等を備える。
RWM(サブメモリ)81は、サブCPU83が演出を制御するときに取り込んだデータ等を一時的に記憶可能な記憶媒体である。
また、ROM(サブROM)82は、演出用データとして、演出に係る抽選を行うとき等のプログラムや各種データ等を記憶しておく記憶媒体である。
サブ制御基板80には、入力ポート又は出力ポート(図1では図示を省略する)を介して、図1に示すような以下の演出用の周辺機器が電気的に接続されている。ただし、演出用の周辺機器は、これらに限られるものではない。
演出ランプ21は、たとえばLED等からなり、所定の条件を満たしたときに、それぞれ所定のパターンで点灯する。なお、演出ランプ21には、各リール31の内周側に配置され、リール31に表示された図柄(表示窓から見える上下に連続する3図柄)を背後から照らすためのバックランプ、リール31の上部からリール31上の図柄を照光する蛍光灯、スロットマシン10のフロントカバー前面に配置され、役の入賞時等に点滅する枠ランプ等が含まれる。
また、スピーカ22は、遊技中に各種の演出を行うべく、所定の条件を満たしたときに、所定のサウンドを出力するものである。
さらにまた、画像表示装置23は、液晶ディスプレイ、有機ELディスプレイ、ドットディスプレイ等からなるものであり、遊技中に各種の演出画像(1BB遊技中及びAT中の押し順、条件装置の抽選結果に対応する演出等)や、遊技情報(1BB遊技及びAT中の遊技回数や獲得枚数等)等を表示するものである。
また、十字キー24及びプッシュボタン25は、遊技者が意図する情報を表示させたりするときや、ホール管理者(店長等)が各種の設定を変更するとき等に用いられる。
サブCPU83は、演出出力制御手段83aを備える。
演出出力制御手段83aは、メイン制御基板60から送信されてくる制御コマンドに基づいて、どのようなタイミングで(スタートスイッチ41の操作時や各ストップスイッチ42の操作時等)、どのような演出を出力するか(ランプ21をどのように点灯、点滅又は消灯させるか、スピーカ22からどのようなサウンドを出力するか、及び画像表示装置23にどのような画像を表示させるか等)の具体的な演出内容を抽選によって決定する。
そして、演出出力制御手段83aは、その決定に従い、演出ランプ21、スピーカ22、画像表示装置23の出力を制御する。また、1BB遊技中やAT中は、ストップスイッチ42の押し順、獲得枚数、残り遊技回数等を画像表示する。
さらに、演出出力制御手段83aは、AT中に、メイン制御基板60から送信される押し順指示番号を受信すると、受信した押し順指示番号に対応する正解押し順を報知する。
続いて、メイン制御基板60(メインCPU63)による情報処理について、フローチャートに基づき説明する。
図8は、メイン制御基板60によるプログラムを開始するときの処理(M_PRG_START )を示すフローチャートである。
図8において、ステップS11でプログラムが開始されると、次のステップS12において、メイン制御基板60は、レジスタを初期化する。
次にステップS13に進み、メイン制御基板60は、電源断処理済フラグが正常値であるか否かを判断する。本実施形態では、電源断時に、後述するステップS652(図18)において、電源断処理済みフラグ(RWM61の所定のアドレスに記憶される。本実施形態では図示を省略する。)を記憶する。この電源断処理済みフラグは、電源オン時に、前回の電源断が正常に行われたか否かを判断するためのフラグである。そして、ステップS13において、電源断処理済みフラグが正常値であると判断したときは、ステップS14に進み、正常値でないと判断したときは、ステップS14及びS15のチェックサムデータの算出を行うことなくステップS16に進む。
ステップS14では、RWM61のチェックサムの算出を実行する。具体的には、電源断処理時に実行したRWM61のチェックサム(図18のステップS653)と同範囲(たとえば、プログラムで使用する作業領域、未使用領域、スタックエリア)のチェックサム算出(対象となるアドレスのデータ値の加算)を実行する。
本実施形態では、RWM61の所定範囲のチェックサムを行うとともに、チェックサムによってデータが「0」となるように、RWM61のチェックサムデータが設定されている。
ステップS15では、チェックサムを算出するRWM61の範囲が完了したか否かを判定する。具体的には、現時点でのチェックサムを算出したRWM61のアドレスから次のアドレスを指定し、次のアドレスがチェックサムを算出するアドレスであるか否かを判断する。チェックサムの算出が終了していないと判断したときはステップS14に進む。一方、チェックサムを算出するRWM61の範囲が完了したと判断したときはステップS16に進む。
なお、以降の処理においてもRWM61の複数範囲(アドレス)に記憶されたデータを初期化する場合には、本実施形態では指定されたRWM61の範囲で同様の処理を実行するものとする。
ステップS16では、メイン制御基板60は、電源断復帰データを所定のレジスタに記憶する。ここで、電源断処理済みフラグが正常値であり、かつRWM61のチェックサムデータが正常値であると判断したときは、電源断復帰データとして正常値を記憶する。一方、電源断処理済みフラグが異常値であったとき(ステップS13で「No」のとき)、及び/又はRWM61のチェックサムデータが異常値である(ステップS14で算出された、全範囲のチェックサムデータ値が「0」でない)と判断したときは、電源断復帰データとして異常値を記憶する。
次のステップS17では、入力ポート1(図3)のレベルデータを所定のレジスタに記憶する。次にステップS18に進み、入力ポート1のレベルデータに基づいて、指定スイッチがオンであるか否かを判断する。ここで「指定スイッチ」とは、本実施形態では、入力ポート1のうち、ドアスイッチ16の信号(D1)、設定ドアスイッチ54の信号(D2)、設定キースイッチ52の信号(D3)の3つである。
そして、ドアスイッチ16の信号がオンであり(フロントカバー(筐体)が開けられており)、設定ドアスイッチ54の信号がオンであり(設定ドアが開けられており、)、かつ、設定キースイッチ52の信号がオンであるとき(設定キーが挿入されているとき)に限り設定変更を許可する。3個全ての指定スイッチがオンであるときは、ステップS22の設定変更処理に移行可能となるが、少なくとも1つの指定スイッチがオンでないときは、ステップS22の設定変更処理に移行することを許可しない。
つまり、ドアスイッチ16の信号がオフのときや(フロントカバーが閉じられている)、設定ドアスイッチ54の信号がオフのとき(設定ドアが閉じられている)にもかかわらず、設定キースイッチ52の信号がオンになることはあり得ず、不正の可能性が高いことから、設定変更処理への移行を許可しない。
したがって、ステップS18で全指定スイッチがオンであると判断したときはステップS19に進み、オンでないと判断したときはステップS21に進む。
ステップS19では、メイン制御基板60は、電源断復帰データが異常値であるか否かを判断する。この電源断復帰データは、ステップS16でレジスタに記憶したデータである。
そして、電源断復帰データが異常値であると判断したときは、電源断復帰データが異常値である旨(ステップS16で記憶したデータ)を保持しつつステップS22の設定変更処理に進み、異常値でないと判断したときはステップS20に進む。ステップS20では、設定変更不可フラグがオンであるか否かを判断する。ここで、設定変更不可フラグは、条件装置の抽選処理(ステップS50)〜遊技終了チェック処理(ステップS73)までの間は不可にされるフラグである。そして、設定変更不可フラグがオンであるときはステップS21に進み、オンでないときは電源断復帰データが正常値である旨(ステップS16で記憶したデータ)を保持しつつステップS22の設定変更処理に進む。このようにして、本実施形態では、電源断復帰データが異常値であるときの設定変更処理と、電源断復帰データが正常値であるときの設定変更処理とを有する。
なお、本実施形態では、設定変更不可フラグを設けたが、常時設定変更が可能に構成されている場合には、設定変更不可フラグを設けなくてもよい。その場合、ステップS20に相当する処理は不要となる。
ステップS21では、メイン制御基板60は、電源断復帰データが正常値であるか否かを判断する。この処理は、ステップS19と同等の処理であり、ステップS16でレジスタに記憶したデータを参照する。そして、電源断復帰データが正常値であると判断したときはステップS23に進んで電源復帰処理(M_POWER_ON;図10)を行う。これに対し、電源断復帰データが正常値でないと判断したときはステップS24に進んで復帰不可能エラー処理を行う。ステップS21において電源断復帰データが正常値でないと判断されたときのエラーは、本実施形態では「E1」エラーと称し、「E1」である旨を所定のデジットに表示する。復帰不可能エラーは、設定変更処理が実行されないと解除されないエラーである。
以上のように、プログラム開始処理(M_PRG_START )では、電源断復帰データが正常値である場合及び異常値である場合のいずれも、設定変更が可能なときは設定変更処理に進む。
また、指定スイッチがオンでない場合(ステップS18で「No」)又は設定変更が不可である場合において、電源断復帰データが異常値であるとき(ステップS21で「No」)は復帰不可能エラー処理に進み、電源断復帰データが正常値であるとき(ステップS21で「Yes」)は電源復帰処理(M_POWER_ON)に進む。
図9は、ステップS22における設定変更処理(M_RANK_SET)を示すフローチャートである。
先ず、ステップS131において、RWM61の初期化範囲として、「所定範囲」をレジスタに記憶する。ここでは、電源断処理が正常に実行されたと判断した場合に備えるためのセットであり、設定値データ、遊技状態(たとえば、RT状態)、当選フラグを初期化しないようにした初期化範囲を「所定範囲」とする。
次にステップS132に進み、メイン制御基板60は、電源断復帰データ(ステップS16で記憶した値)が正常値であるか否かを判断する。電源断復帰データが正常値であると判断されたときは、ステップS134に進み、ステップS131における「所定範囲」の記憶を維持する。一方、ステップS132において電源断復帰データが正常値でないと判断されたときはステップS133に進み、メイン制御基板60は、RWM61の初期化範囲として、「特定範囲」をレジスタに記憶する。ここで、電源断が正常でないと判断したときは、設定値データ、遊技状態、当選フラグについても初期化の対象とした初期化範囲として、「特定範囲」とする。
そして、ステップS134に進み、ステップS131でセットした所定範囲又はステップS133でセットした特定範囲の初期化を開始する。次のステップS135では、ステップS134で開始した初期化が終了したか否かを判断する。初期化が終了したと判断したときはステップS136に進む。
ステップS136では、割込み処理の起動設定を行う。ここでは、ステップS12で指定した割込み処理に対応する各種レジスタの設定を行う。本実施形態では割込み処理としてタイマ割込み処理を使用しているため、タイマ割込みの周期(本実施形態では、「2.235ms」)を設定する処理等が対応する。そして、このステップS136の処理後に割込み処理が実行される。いいかえれば、「割込み起動」前は、割込み処理が実行されないように構成されている。次のステップS137では、設定変更開始時の出力要求セットを行う。この処理は、設定変更処理を開始することをサブ制御基板80側に知らせるために、サブ制御基板80に送信する制御コマンドをレジスタにセット(記憶)する処理である。
なお、「出力要求セット」は、以下に説明する処理においてもしばしば実行されるものであるが、このステップS137と同様に、サブ制御基板80に送信するための制御コマンドをセットする処理を意味する。また、ここでの制御コマンドは、実際に送信するコマンドのみを意味しているものではなく、実際に送信するコマンドの元となるコマンドも意味している。
次にステップS138に進み、メインCPU62は、制御コマンドセット1(R_CMD_SET )を実行する。この処理は、制御コマンドバッファ(リングバッファ(RWM61のアドレス「F113」〜「F153」の_BF_SUBCMD))に、サブ制御基板80に送信する制御コマンドをセットする処理である。
なお、「制御コマンドセット1」は、以下に説明する処理においてもしばしば実行されるものであるが、このステップS138と同様に、サブ制御基板80に送信するための制御コマンドをセットする処理を意味する。
上述したように、本実施形態では、第1制御コマンド及び第2制御コマンドの2バイト(16ビット)で1つのコマンドを構成する。また、第1制御コマンド(上位1バイト)は、コマンドの種別を示し、第2制御コマンド(下位1バイト)は、その内容を示す。
そして、制御コマンドセット1では、第1制御コマンド及び第2制御コマンドを制御コマンドバッファにセットする。また、出力要求に応じて、種別及び内容が異なる第1制御コマンド及び第2制御コマンドを制御コマンドバッファにセットする。
次にステップS139に進み、メイン制御基板60は、待ち時間をセットし、次のステップS140においてその待ち時間の間、ウェイト処理を実行する。本実施形態では、待ち時間として、割込み回数「224」がセットされる。そして、ステップS140において、割込み回数が「224」をカウントするまで(割込み回数ごとに1減算し、セットされた割込み回数が「0」となるまで)ウェイト処理が実行される。
これにより、1割込みあたり、上述したように「2.235ms」であるので、「2.235ms×224回=500.64ms(約0.5秒)」のウェイト処理が行われることとなる。
以降、「ウェイト処理」とは、所定の時間が経過するまで次の処理(ステップ)を実行しないように待機する処理を指す。ただし、図17の割込み処理は実行される。
この処理は、メイン制御基板60側におけるRWM61の初期化処理(ステップS134)は比較的短時間で終了するのに対し、サブ制御基板80側のRWM81の初期化処理には時間がかかるため、メイン制御基板60側でウェイト処理を実行している。特に、メイン制御基板60側では、サブ制御基板80側で初期化処理が終了したか否かを知り得ないからである。
したがって、サブ制御基板80側で未だ初期化処理中のときに、メイン制御基板60側では初期化を既に終了し、さらに処理が進んで、メイン制御基板60の制御処理の進行と、サブ制御基板80の制御処理の進行とが同期しなくなることを防止することができる。
また、設定変更開始時の出力要求セット及び制御コマンドセット1の実行後、サブ制御基板80がRWM81の初期化を開始するが、RWM81の初期化が終了するために十分な時間をウェイト時間として設定する。これにより、サブ制御基板80側でRWM81の初期化処理を終了した後に、メイン制御基板60側でステップS141以降の処理に進むようにする。
なお、ステップS137及びステップS138においてセットした設定変更開始時の制御コマンドは、ステップS140のウェイト処理中であってもサブ制御基板80に送信される。ただし、ステップS140でウェイト処理が実行されている間は、ステップS141以降の処理には進まない(メインループが進行しない)。
このように構成することによって、サブ制御基板80に対し、設定変更開始時の制御コマンドを送信することができる。また、ステップS141以降の処理(設定変更の終了や、遊技の開始等)を、ウェイト時間だけ遅延させることができる。さらにまた、ステップS141以降の処理の遅延により、ステップS141以降の処理に付随する各種制御コマンド(設定変更終了時のコマンド、ベットスイッチ40の操作時のコマンド、スタートスイッチ41の操作に基づく役抽選結果に関するコマンド等)の送信タイミングを遅らせることができる。これにより、サブ制御基板80は、メイン制御基板60の処理と同期したタイミングで、各種コマンドに基づいて演出の制御及び出力が可能となる。
これに対し、ステップS140のウェイト処理を実行しなかった場合には、メイン制御基板60の処理が先に実行されてしまう。その結果、たとえばスタートスイッチ41の操作に基づき役抽選結果Aとなり、リール31の回転開始時に演出aを出力したいとき、リール31の回転開始のタイミングで演出aが出力されず、少し遅れて演出aが出力されてしまう。
ウェイト処理の終了後、ステップS141に進み、設定値が正常範囲であるか否かを判断する。本実施形態では、設定値は、「1」〜「6」のいずれか(整数)であるので、これら「1」〜「6」のいずれかであるかを判断する。設定値が正常範囲であると判断したときはステップS143に進み、設定値が正常範囲でない(設定値を記憶するRWM61の記憶領域に「7」や「255」などを示す値が記憶されている)と判断したときはステップS142に進む。ステップS142では、設定値として「1」を記憶する。
ステップS143では、設定変更中に特有のLED表示制御を行う。具体的には、出力ポート3から所定のLEDデジット信号を出力するとともに、出力ポート4から所定のLEDセグメント信号を出力することにより、設定値表示LED64に設定値を表示可能とする。
次にステップS144に進み、設定変更/リセットスイッチ53の操作を検出したか否かを判断する。ここでは、入力ポート1の立ち上がりデータを判断し、D4ビットが「1」となったか否かを判断する。設定変更/リセットスイッチ53の操作を検出したと判断したときはステップS145に進み、検出していないと判断したときはステップS146に進む。
ステップS145では、設定値を更新する。具体的には、設定値をRWM61の所定領域に記憶(更新)する。また、設定値が更新された後に割込み処理が実行されることにより、設定値表示LED64の表示値は更新された値を表示する。
次のステップS146では、スタートスイッチ41の操作を検出したか否かを判断する。本実施形態では、設定変更中にスタートスイッチ41が操作されたときは、その時点における設定値を確定させる。
スタートスイッチ41が操作されたと判断したときはステップS147に進み、操作されていないと判断したときはステップS144に戻る。
ステップS147では、設定キースイッチ52がオフにされたか否かを判断する。設定キースイッチ52がオフにされたと判断すると、ステップS148に進み、設定変更中に特有のLED表示制御を終了する。
次にステップS149に進み、ステップS137と同様に、設定変更終了時の出力要求セットを行う。この処理は、設定変更処理を終了すること、及び決定された設定値をサブ制御基板80側に知らせる制御コマンドをセットする処理である。次に、ステップS150に進み、ステップS138と同様に、メインCPU62は、制御コマンドセット1を実行する。そして、ステップS40のメイン処理(M_MAIN)(図11)に移行する。
図10は、電源復帰処理(M_POWER_ON)を示すフローチャートである。
先ず、ステップS831では、スタックポインタを復帰させる。ここで、スタックポインタとは、レジスタの1つであって、電源断が生じた場合に、電源断発生時のデータ(例えば、レジスタ値、割込み処理前のメイン処理の命令処理(戻り番地)等)を保存するRWM61の領域(スタック領域とも称する)のうち、次に保存されるRWM61のアドレスを指す。つまり、スタックポインタの復帰とは、電源断時に記憶されたスタックポインタを一度RWM61に記憶しておき、RWM61に記憶しておいたデータをスタックポインタに再度記憶し直す処理を指す。
次のステップS832では、RWM61の所定のアドレス(本実施形態では図示せず。)に記憶されている設定値データを読み込み、設定値の範囲が正常範囲であるか(「1」〜「6」の範囲内であるか)否かを判断する。設定値が正常範囲であると判断したときはステップS833に進み、設定値が正常範囲でないと判断したときはステップS839に進み、復帰不可能エラー処理に移行する。この場合のエラーは、本実施形態では「E6」エラーと称し、「E6」である旨を獲得数表示LED72に表示する。
ステップS833に進むと、RWM61の未使用領域の初期化範囲をレジスタにセットする。そして次のステップS834において、ステップS833でセットした範囲のRWM61の初期化を実行する。ここで、未使用領域であってもノイズ等によりRWM61に値が記憶されてしまうことが考えられる。万が一、未使用領域に値が記憶されると、不正等のゴトにつながる可能性があるため、未使用領域は電源の投入時に(通常であれば1日に1回)初期化するようにしている。
次のステップS835では、RWM61の初期化を終了したか否かを判断し、終了したと判断したときはステップS836に進む。ステップS836では、入力ポート0〜2の読み込みを行う。この処理は、電源断前の入力ポートの各データ(レベルデータ、立ち上がりデータ、立ち下がりデータ)を最新のデータに更新するための処理である。
次にステップS837に進み、割込みを起動させる。この処理は、たとえばタイマ割込みの周期を設定する処理等であり、当該処理以降から所定の周期(本実施形態では、2.235ms)ごとに割込み処理が実行される。
次にステップS838に進み、上述した電源断処理済フラグをクリア、すなわち「0」にする。そして本フローチャートによる処理を終了する。
上記の電源復帰処理においては、入力ポート0〜2の読み込みを実行した(ステップS836)後に、割込み処理を起動(ステップS837)させている。その理由は、以下の通りである。
本実施形態では、遊技待機中に、設定キーを挿入して、設定値の確認ができるように構成されている。ここで、設定キースイッチ52の立ち下がり信号が「1」になったときに、設定値の確認を終了したと判断している。
しかし、たとえば設定確認中に電源断が生じ、この電源断中に設定キースイッチ52をオフにして(設定キーを抜いて)電源を立ち上げたと仮定する。
この場合、電源断復帰後の割込み処理により、設定キースイッチ52がオフであることに基づいて、設定キースイッチ52の立ち下がり信号が「1」になるので、設定キースイッチの立ち下がりが検知される。
その結果、電源断復帰時の状態と、電源断前の状態とで、異なる状態となってしまう。具体的には、電源断前の状態では、設定キースイッチ52の立ち下がり信号が「0」であるのに対し、電源断復帰時に、設定キースイッチ52の立ち下がり信号が「1」となる。
よって、このように、電源断前後で異なる状態となってしまうことを回避するために、電源断復帰時には、入力ポート0〜2のRWM61の値を最新の状態に更新する。そこで、入力ポート0〜2読み込み処理を実行した後、割込み処理を起動させている。
図11は、本実施形態におけるメイン処理(M_MAIN)処理を示すフローチャートである。そして、このメイン処理中に、2.235msごとに割込み処理(I_INTR;図17)を行う。
図11において、ステップS41では、スタックポインタをセットする。ここでのスタックポインタのセットは、上述したステップS831の処理と同様の処理を実行する。
次のステップS42では、遊技開始セット処理(MS_GAME_SET )を行う。ステップS42に進むと、後述する図12の処理に移行する。
次のステップS43ではベットメダルの読み込みを行う。この処理は、現時点においてベットされているメダル枚数が何枚であるかを読み込む処理である。
次のステップS44では、ステップS43で読み込んだベット枚数に基づき、ベットメダルの有無を判断する。
ステップS44でベットメダルありと判断したときはステップS46に進み、ベットメダルなしと判断したときはステップS45に進んでメダル投入待ち処理を行い、ステップS46に進む。
ステップS46では、投入されたメダルの管理処理を行う。この処理の詳細については説明を省略するが、その概要は、投入センサ44及び44b、ベットスイッチ40の信号の立ち上がり、精算スイッチ46の信号の立ち上がりを検知し、投入センサ44a及び44bによりメダル投入を検知したときは、メダル手入れチェック処理に進み、正常なメダル手入れであると判断したときは、ベット処理又は貯留加算処理に進む。また、ベットスイッチ40の信号の立ち上がりを検知したときは、貯留ベット処理に進み、精算スイッチ46の信号の立ち上がりを検知したときは、精算処理に進む。
次のステップS47では、ソフト乱数の更新処理を行う。この処理は、条件装置抽選手段63bで使用する乱数(ハード乱数、又は内蔵乱数)に加工(演算処理)するための加工用乱数を更新(たとえば「1」ずつ加算)する処理である。ソフト乱数は、0〜65535の範囲を有する16ビット乱数である。なお、更新方法として、更新前の値に、割込みカウント値(割込み時にインクリメントされるカウント値(変数))を加算する処理を実行してもよい。
次のステップS48では、メイン制御基板60は、スタートスイッチ41が操作されたか否かを判断する。スタートスイッチ41が操作されたと判断したときは、ステップS49に進み、スタートスイッチ41が操作されていないと判断したときはステップS43に戻る。なお、スタートスイッチ41が操作された場合であっても、ベット数が当該遊技の規定数に達していないときは、ステップS48で「No」と判断される。
ステップS49では、スタートスイッチ受付け時の処理を実行する。この処理は、内蔵乱数の読み込み、ブロッカ45をオフにする処理、リール31の回転開始処理、設定値が正常であるか否かの判断等を行うものである。
ステップS50では、条件装置抽選手段63bは、スタートスイッチ41が操作されたタイミングで、すなわちスタートスイッチ41の操作信号の受信時に、条件装置の抽選を実行する。なお、条件装置抽選時の乱数値はステップS49で取得する。そして、ステップS50において、取得した乱数値が、いずれかの条件装置番号に該当する乱数値であるか否かを、条件装置抽選テーブルを用いて判定する処理を行う。
次のステップS51では、メイン制御基板60は、当選した条件装置に基づいて、AT抽選テーブルを用いて、ATの抽選を実行する。なお、この抽選では、ATに当選する場合の他に、ATには当選しないが、AT抽選状態が移行する場合がある。
次にステップS52に進み、メイン制御基板60は、当該遊技でのメイン遊技状態の更新を行う。たとえば、ステップS51の抽選でATに当選したときは、通常時に対応するメイン遊技状態から、AT前兆に対応するメイン遊技状態に更新するように制御する。
次のステップS53では、メイン制御基板60は、押し順指示番号セット処理を実行する。この処理は、現在のメイン遊技状態と、当選した条件装置とに応じて、押し順指示番号の選択等を行う処理である。この処理により、押し順指示情報を表示する遊技では、獲得数表示LED72に押し順指示情報が表示される。
次にステップS54に進み、メイン制御基板60は、演出グループ番号セット処理を実行する。この処理は、当選した条件装置に対応する演出グループ番号の選択を行う処理である。
次のステップS55では、割込み処理を禁止する。ここで割込み処理を禁止するのは、次のステップS56の図柄停止信号セット処理の実行中は、割込み処理が行われないように制御するためである。
そして、ステップS56に進み、図柄停止信号セット処理を実行する。この処理は、スロットマシン10から試験機に対して、当該遊技で当選した条件装置に基づいて、ストップスイッチ42の押し順や操作タイミングの情報(試験信号)を送信(出力)するための処理である。
なお、スロットマシン10と試験機とが接続された状態では、このメイン処理において、遊技開始時に、毎遊技、ステップS56において試験機に対して図柄停止信号を送信(出力)する。一方、スロットマシン10が市場に出た場合(ホール等に設置された場合)には、そのスロットマシン10は試験機とは接続されていないので、試験機に対して実際の図柄停止信号を送信することはないが、たとえばホールに設置された後であっても、毎遊技、ステップS56の処理は実行される。
ステップS56の後、ステップS57に進み、ステップS55で禁止した割込み処理を許可する。
次のステップS58におけるコマンド送信テーブル2セット処理は、コマンド送信テーブル2のデータが記憶された先頭アドレスを所定のレジスタに記憶する処理である。
次のステップS59では、制御コマンド連続セット処理(M_CMD_LIST)を実行する。この処理は、ステップS58でセットしたコマンド送信テーブル2に基づいて、サブ制御基板80に対してコマンドを送信するための処理である。ステップS59に進むと、図14の処理に移行する。
次にステップS60に進むと、リール回転開始準備処理を実行する。リール回転開始準備処理は、最小遊技時間(リール31の回転開始時から、次回遊技でリール31の回転を開始するまでの最小時間)が経過したか否かを判断等する処理である。本実施形態では、最小遊技時間は、4.1秒に設定されている。
次にステップS61に進み、リール制御手段63gは、リール31の回転を開始する。次のステップS62では、リール31の停止受付けをチェックする。ここでは、ストップスイッチ42の操作信号を受信したか否かを検知し、操作信号を受信したときは、条件装置の抽選結果とリール31の位置とに基づいてリール31の停止位置を決定し、その決定した位置にリール31を停止させるように制御する。
次のステップS63では、リール制御手段63gは、全リール31が停止したか否かをチェックし、ステップS64に進む。ステップS64では、全リール31が停止したか否かを判断し、全リール31が停止したと判断したときはステップS65に進み、全リール31が停止していないと判断したときはステップS62に戻る。
ステップS65では、当該遊技で獲得数表示LED72に押し順指示情報を表示したときは、その情報を消去するため、獲得枚数データのクリア処理を行う。
次のステップS66では、図柄の表示判定を行う。ここでは、入賞判定手段63hにより、有効ラインに、役に対応する図柄の組合せが停止したか否かを判断する。
次にステップS67に進み、図柄の表示エラーが発生したか否かを判断する。図柄の表示エラーが発生したと判断したときはステップS76に進み、表示エラーが発生していないと判断したときはステップS68に進む。
ここで、リール31の停止は、停止位置決定テーブルに基づき実行されるので、通常は、停止位置決定テーブルで定められた位置以外の位置でリール31が停止する場合はない。しかし、図柄の表示判定の結果、有効ライン上に、本来表示されてはいけない図柄(蹴飛ばし図柄)が表示されたときは、異常であると判定し、ステップS76に進み、復帰不可能エラー処理を実行する。この図柄組合せ異常エラーは、「E5」エラーと称し、獲得数表示LED72に「E5」と表示し、メイン処理を停止する。
なお、復帰不可能エラーの発生時に、それを解除するためには、電源のオン/オフと、設定値の再設定が必要となる。復帰不可能エラーの発生時には、電源をオフにし、設定キーを差し込んで90度時計回りに回転させ、電源をオンにする。これにより、RWM61の所定範囲(設定値情報、RT情報、当選役情報)がクリアされる。そして、設定値を設定し、他のエラーがなければ、復帰処理が行われる。
一方、満杯エラー等の復帰可能エラーの発生時は、エラー内容を表示して処理を停止するが、ホール店員がエラー解除操作を実行し(エラー要因を除去し)、リセットスイッチ53を操作すると、エラーが解除されたか否かを判断して、エラーが解除されたと判断したときは、処理を再開する。
ステップS68では、入賞役に応じて、メダル払出し枚数の更新処理を行う。この処理は、ステップS66の表示判定に基づいて、小役(メダル払出しを有する役)が入賞したときは、入賞した小役に対応する枚数のメダル払出し枚数データ、及びメダル払出し枚数データバッファの更新処理を実行する。
次のステップS69では、特別役(1BB)の入賞があったか否かを判断する。特別役が入賞したと判断したときはステップS70に進み、特別役が入賞していないと判断したときはステップS72に進む。
ステップS70では、特別役の入賞時の待機時間をセットする。この処理は、所定のレジスタに所定値をセットする処理である。本実施形態では、所定のレジスタに「2000」(約4470ms相当)をセットする。そして、次のステップS71で、2バイト時間待ち処理を実行する。
このように、特別役入賞時にウェイト時間を設定するのは、その間、サブ制御基板80側で、特別役入賞時の演出を出力し、かつ、その演出時間中は、遊技者によるベットスイッチ40の操作による演出キャンセルを行わせないようにするためである。このように、メイン処理においてウェイト時間を設けてメイン処理を停止することにより、遊技者に対し、特別役入賞時の演出を確実に見せることができる。なお、2バイト時間待ち処理を実行している間であっても、割込み処理は実行されるように構成されている。
次のステップS72では、払出し手段63iは、入賞役に対応するメダルの払出しを行う。この処理は、貯留枚数が「50」未満であるときは、貯留枚数が「50」に到達するまで貯留枚数の加算処理を行い、貯留枚数が「50」以上となったときは、ホッパーモータ36を駆動して、ホッパー35aからメダルを遊技者に払い出すように制御する処理である。
次にステップS73に進む。ステップS73では、メイン制御基板60は、遊技終了チェック処理を行う。また、ステップS73では、入力ポート2のD5ビットである満杯センサ38の信号を判断し、オンであるときは、満杯エラーを表示する。満杯エラーは、本実施形態では「FEエラー」と称し、獲得数表示LED72に「FE」と表示する。
次のステップS74では、遊技終了時の出力要求をセットする。この処理は、1遊技が終了した旨をサブ制御基板80に送信するための制御コマンドをセットする処理である。
次にステップS75に進み、メイン制御基板60は、制御コマンドセット1(R_CMD_SET )を実行する。この処理は、制御コマンドバッファ(RWM61のアドレス「F113」〜「F153」の_BF_SUBCMD)に、サブ制御基板80に送信する制御コマンドを記憶する処理である。
そして、ステップS75の処理を終了すると、再度、ステップS40に戻る。
以上のようにして、1遊技ごとに、図11に示すメイン処理を繰り返す。
図12は、図11のステップS42における遊技開始セット(MS_GAME_SET )を示すフローチャートである。
まず、ステップS80では、遊技待機表示時間をセットする(RWM61の所定記憶領域(図示せず)に記憶する)。本実施形態では、遊技待機表示時間としては、「26846」割込み(≒60000ms、すなわち約60秒(1分))をセットする。このステップS81で遊技待機表示時間がセットされると、この時点から割込み処理ごとに値が「1」ずつ減算される。
遊技待機表示時間が「0」となると、図11のステップS45(メダル投入待ち)において、獲得枚数データをクリアする。これにより、獲得数表示LED72には「00」が表示される。たとえば、前回遊技に払い出されたメダル枚数が「9」枚であり、かつ、遊技者が精算スイッチ43の操作により精算し、遊技を終了したとしても、約1分後には「00」が表示される。これにより、ホールの店員や別の遊技者が空き台として認識できることにより空き台を減少させることができるという効果を有する。
次にステップS81に進み、押し順指示番号の初期化処理を実行する。この処理は、RWM61の所定のアドレスに記憶された押し順指示番号をクリアする処理に相当する。
次のステップS82では、図柄組合せ表示フラグのデータを取得する。この処理は、前遊技でのリール31の停止後における有効ライン上の図柄組合せ、すなわち図柄組合せ表示フラグのデータを所定のレジスタに記憶する処理である。
次のステップS83では、1BB作動図柄が表示されたか否かを判断する。そして、1BB作動図柄が表示されたと判断したときはステップS84に進み、表示されていないと判断したときはステップS87に進む。
ステップS84では、1BB作動時(1BB遊技時)の獲得可能枚数を保存する。この処理は、RWM61に「450」の値を保存(記憶)する処理である。この「450」は、1BB遊技における獲得可能な最大枚数である。そしてステップS87に進む。
ステップS87では、作動状態フラグを生成し、次のステップS88では、作動状態フラグを更新し、さらに次のステップS89では、作動状態フラグを保存(記憶)する。
ステップS90では、RB作動が開始したか否かを判断し、次のステップS91では、RB作動時の遊技回数及び入賞回数を保存する。
ステップS92では、ステップS82で取得した図柄組合せ表示フラグのデータに基づいて、リプレイの図柄の組合せが表示されたか(リプレイが入賞したか)否かを判断する。リプレイの図柄の組合せが表示されたと判断したときはステップS93に進み、表示されていないと判断したときはステップS95に進む。
ステップS93では、メイン制御基板60は、ベットメダルの読み込みを行う。この処理は、前回遊技でベットされていたメダル枚数を読み込む処理である。次にステップS94に進み、自動ベット数データをセットする。
次にステップS95に進み、コマンド送信テーブル1のセット処理を行う。
次のステップS96では、制御コマンド連続セット処理(M_CMD_LIST)を実行する。この処理は、ステップS95でセットしたコマンド送信テーブル1に基づいて、サブ制御基板80に対してコマンドを送信するための処理である。
ステップS96に進むと、図14の処理に移行し、次のステップS97に進むと、メダル受付け開始処理に移行する。メダル受付け開始処理は、前遊技におけるベット枚数をクリアし、投入表示LED(73e〜73g)を消灯等する処理である。そして、このメダル受付け開始処理が終了すると、本フローチャートによる処理を終了する。
図13は、図11のステップS45におけるメダル投入待ち(MS_STANDBY_DSP)を示すフローチャートである。
先ず、ステップS411では、メイン制御基板60は、設定キースイッチ52の信号がオンであるか否かを判断する。ここでは、入力ポート1のD3ビットが「1」であるか否かを判断する。設定キースイッチ52の信号がオンであるときはステップS412に進み、オンでないと判断したときはステップS421に進む。すなわち、メダル投入待ち状態において、設定キースイッチ52がオンにされると(設定キー挿入口から設定キーが挿入されると)、設定確認モードとなり、ステップS411〜ステップS420の処理が実行される。設定確認モードは、現設定値を確認(管理者が目視にて確認)するモードであり、設定値の変更はできない。
ステップS412では、ブロッカ45がオフにされる。これにより、メダルがメダル投入口43から投入されても払出し口から返却される。
次のステップS413では、メイン制御基板60は、設定値表示開始時の出力要求をセットする。そして、次のステップS414で、サブ制御基板80に対して送信する、設定値表示開始時の制御コマンドデータをセットする。
次にステップS415に進み、メイン制御基板60は、設定値表示LED64を点灯可能にし、現在の設定値を表示可能にすることができる。なお、設定値表示LED64を実際に点灯/消灯する処理は、割込み処理におけるLED表示制御にて行われる。
次にステップS416に進み、設定キースイッチ52の信号がオフになったか否かを判断し続ける。この処理は、ステップS411とは反対に、入力ポート1のD3ビットが「0」になったか否かを判断する。設定キースイッチ52の信号がオフになったと判断されたときはステップS417に進み、メイン制御基板60は、設定値表示LED64を消灯させる。
次に、ステップS418に進み、メイン制御基板60は、設定値表示終了時の出力要求をセットする。そして、次のステップS419で、サブ制御基板80に対して送信する、設定値表示終了時の制御コマンドデータをセットする。
次のステップS420では、メイン制御基板60は、ブロッカ45をオンにする。
次にステップS421に進み、メイン制御基板60は、遊技待機表示時間が、ステップS80(図12)でセットした「26846」割込み(約60秒)を経過したか否かを判断する。
遊技待機表示時間を経過したと判断したときは、ステップS422に進み、獲得数表示LED72の表示をクリアする処理を実行する。そして、本フローチャートによる処理を終了する。一方、ステップS421において、遊技待機表示時間を経過していないと判断したときは、本フローチャートによる処理を終了する。
つまり、本実施形態では、所定時間、遊技が行われなかった場合には、獲得数表示LED72の表示をクリアするが、リプレイ表示LED73a、貯留数表示LED71、投入表示LED73e〜73gはクリアしないように構成している。これにより、ベットされていること、再遊技が可能なこと、又は精算可能な貯留枚数は、表示され続けているため、遊技者が一旦離席しようとしたときに、他の遊技者やホール関係者に対してその遊技者が遊技を終了したとは感じさせないことが可能となる。これにより、遊技者が不利益を被ることを少なくすることができる。
また、獲得枚数(たとえば8枚)の獲得があった旨を表示し続けることは、遊技者が遊技を終了(精算処理等を行って離席)したときに、獲得枚数が表示され続けることによって、他の遊技者やホール関係者に対してその遊技者が遊技を終了したとは感じさせないこと(まだ遊技者が遊技をしようとしているかも)と混同してしまうため、獲得枚数はクリアしている。
図14は、制御コマンド連続セット(M_CMD_LIST)を示すフローチャートであり、図11のステップS59や図12のステップS96の処理に相当する。
ステップS201では、コマンド送信数をセットし、次のステップS202では、テーブルアドレスの更新処理を行い、次のステップS203では、制御コマンドを取得する。
次にステップS204に進み、制御コマンドセット1処理(R_CMD_SET )を実行する。ステップS204に進むと、後述する図15の処理に移行する。この処理は、制御コマンドをサブ制御基板80に送信するための処理である。
次にステップS205に進み、本処理が終了したか否かを判断する。そして、本処理が終了したと判断したときは、制御コマンド連続セット処理を終了すると判断し、本フローチャートによる処理を終了する。これに対し、本処理が終了していないと判断したときは、ステップS203に戻る。
図15は、制御コマンドセット1(R_CMD_SET )の処理を示すフローチャートである。
まず、ステップS501では、第2制御コマンドを取得する。
次のステップS502では、割込み禁止処理を実行し、次のステップS503では、制御コマンドセット2(C_CMD_SET )(図16)を実行する。そしてステップS504に進み、ステップS502で禁止した割込み処理を解除(すなわち割込み許可)を実行する。以上の処理により、制御コマンドセット2の実行中は、割込み処理が禁止される。
そして、制御コマンドセット2では、以下に示すように、制御コマンドの書き込みを行うが、制御コマンドセット2の実行中は、上述したように割込み処理が禁止されている。したがって、制御コマンドの書き込み処理中に割込み処理が実行されることによる誤作動(正常の書き込みアドレスとは異なるアドレスに書き込んでしまうこと等)を防止することができる。
ここで、割込みの禁止/解除を記憶するための割込みフラグが設けられている。割込みフラグは、ステップS502で割込み処理を禁止した後、次の割込み処理を実行するタイミング(割込み処理を禁止した時から2.235ms以内)が到来したときにオンにされる。そして、メインCPU63は、禁止した割込み処理を解除するときは、その後、割込みフラグをクリアする。
メイン制御基板60は、割込み処理を実行するタイミングが到来したときは、割込みフラグのオン/オフを判断し、割込み処理の禁止/許可を判断する。
図16は、制御コマンドセット2(C_CMD_SET )を示すフローチャートである。
まず、ステップS511では、制御コマンドバッファのアドレスをセットする。この処理は、制御コマンドバッファの先頭アドレスをセットする処理である。
具体的には、制御コマンドバッファ(_BF_SUBCMD)の先頭アドレス(本実施形態では、図7に示すように、「F113」)に「1」を加算した値、すなわち「F114」をHLレジスタに記憶する。これにより、
HLレジスタ値=F114
となる。
次のステップS512では、制御コマンド書き込みポインタ値の取得を行う。制御コマンド書き込みポインタは、制御コマンドのデータを、RWM61のどのアドレスに書き込むかを指定するためのものであり、現時点での書き込みポインタが記憶されているので、その書き込みポインタを読み込む処理を行う。なお、制御コマンド書き込みポインタ値(_NB_CMDSTORE)は、RWM61のアドレス「F018」に記憶される(図7)。
ここでの処理は、制御コマンド書き込みポインタ値をAレジスタ値に記憶する。たとえば、制御コマンド書き込みポインタ値(「F018」に記憶されている値)が「1」であるときは、Aレジスタ値=「1」とする。
次のステップS513では、指定アドレスを取得する。この処理は、制御コマンドバッファの先頭アドレスと、書き込みポインタの現在位置を示すデータとから、書き込む(RWM61の)アドレスを求めるものである。
具体的には、HLレジスタ値にAレジスタ値を加算した値をHLレジスタ値とする処理を実行する。たとえば、
HLレジスタ値=F114(H)
Aレジスタ値=1(H)
HLレジスタ値(加算後)=F115(H)
となる。
次にステップS514に進み、指定アドレスのデータを取得する。この処理は、前処理のステップS513で求めたアドレスのRWM61の記憶領域に保存されているデータを読み込む処理である。
具体的には、HLレジスタ値にAレジスタ値を加算した値をHLレジスタ値とし、HLレジスタ値が示すアドレスに記憶されたデータをAレジスタに記憶する。
上記の例では、
HLレジスタ値=F115(H)
Aレジスタ値=1(H)
HLレジスタ値(加算後)=F116(H)
となる。
次のステップS515における「制御コマンド<64?」では、指定アドレスのデータ(ステップS514で記憶したAレジスタ値)の値が「0」であるか否かを判断し、「0」であるときは、「Yes」と判断する処理である。
ここで、ステップS515で「No」と判断されるのは、Aレジスタ値が「0」でないときである。Aレジスタ値が「0」でないときは、制御コマンド書き込みポインタ値(_NB_CMDSTORE)が示すアドレスの制御コマンドバッファにはデータが既に書き込まれており、当該アドレスにはデータを書き込めないことを意味する。このようにして、指定アドレスにデータがあるときは、データの書き込み処理を実行しないので、指定アドレスにデータがあるときの上書きが防止される。
ステップS515で「Yes」と判断されたときはステップS516に進み、「No」と判断されたときは本フローチャートによる処理を終了する。
次のステップS516における「制御コマンドをRWMに記憶」では、HLレジスタ値を「1」減算する。そして、HLレジスタ値が示すアドレスに、Eレジスタ値を記憶するとともに、「HL+1」レジスタ値が示すアドレスにDレジスタ値を記憶する。すなわち、
HLレジスタ値=HLレジスタ値−1
Eレジスタ値=HLレジスタ値が示すアドレスの値
Dレジスタ値=「HL+1」レジスタ値が示すアドレスの値
となる。
たとえば、ステップS516に進んだときのHLレジスタ値が「F116」であったときは、
Eレジスタ値=アドレス「F115」に記憶された値
Dレジスタ値=アドレス「F116」に記憶された値
となる。
ここで、Dレジスタに記憶されたデータ及びEレジスタに記憶されたデータが、1つの制御コマンドとなる。また、Dレジスタに記憶されたデータは、コマンドの種別を示す定義データとなり、Eレジスタに記憶されたデータは、当該コマンドの種別の内容を示す変数データとなる。
次のステップS517では、制御コマンド書き込みポインタ値の更新処理を行う。
この処理では、まず、HLレジスタに、制御コマンド書き込みポインタ値(アドレス「F018」に記憶された値)を記憶する。
次に、HLレジスタに記憶した値に「1」を加算する。ここで、「1」を加算した結果、「64(10進数)」を超えているときは、「0」にする。
そして、加算後の値(HLレジスタに記憶した値)を、制御コマンド書き込みポインタ値(アドレス「F018」)に記憶する。これで、本フローチャートによる処理を終了する。
図17は、メイン制御基板60(メインCPU63)による割込み処理(I_INTR)を示すフローチャートである。上述したように、メイン制御基板60は、図11のメイン処理と並行して、2.235ms周期で、図17に示す割込み処理を行う。
先ず、ステップS601の割込み処理に移行すると、ステップS602では、初期処理として、レジスタ値の退避及び重複割込みの禁止処理を行う。ここでは、メイン処理で使用しているメインCPU63のレジスタを割込み処理で使用するため、現在のレジスタ値をRWM61のスタック領域に退避する。さらに、割込み処理中に次の割込み処理が開始されないように、割込み禁止フラグをオンにする。このようにするのは、たとえば電源断処理の実行中に割込み処理の実行要求が行われるときがあるからである。
次のステップS603では、電源断を検知したか否かを判断する。ここでは、(図示しない)メイン制御基板60上に設けられた電圧監視装置(電源断検出回路)により、電源電圧が所定値以下になったときには、図3中、入力ポート2のD0ビットに電源断検知信号が入力されるので、その信号の入力があったか否かを検知する。
そして、電源断を検知したときはステップS620の電源断処理(IS_POWER_DOWN ;図18)に進み、電源断を検知していないと判断したときはステップS604に進む。
ステップS604では、割込みカウンタ値の更新を行う。
次のステップS605では、入力ポート0〜2の読み込み処理を行う。これにより、ベットスイッチ40、スタートスイッチ41、ストップスイッチ42等の信号や、各種センサの入力信号を読み込み、入力ポート0〜2に基づくデータを生成し、RWM61の所定アドレスに記憶する。
次にステップS606に進み、リール31の駆動制御を行う。そして、リール31の駆動制御が終了するとステップS607に進み、ポート出力処理を行う。この処理は、モータ32、ホッパーモータ36、及びブロッカ45の励磁出力を行う処理である。
次のステップS608では、制御コマンド送信(I_CMD_OUT ;図19)を行う。この処理は、第1制御コマンド(サブ制御データ信号9〜16)を、出力ポート8のD0〜D7ビットから8ビットのパラレル通信でサブ制御基板80に送信するとともに、第2制御コマンド(サブ制御データ信号1〜8)を、出力ポート7のD0〜D7ビットから8ビットのパラレル通信でサブ制御基板80に送信する処理である。
また、この制御コマンド送信では、出力要求セット及び制御コマンドセット1において制御コマンドバッファ(リングバッファ(RWM61のアドレス「F113」〜「F153」の「_BF_SUBCMD」))に書き込まれた制御コマンドを、先に書き込まれたものから順に、出力ポート7及び出力ポート8からサブ制御基板80に送信する。
具体的には、出力要求セット及び制御コマンドセット1において制御コマンドが制御コマンドバッファに書き込まれると、その時点以降の割込み処理(制御コマンドバッファが空の場合は、原則としては、その時点の次に到来する割込み処理)において、このステップS608によって制御コマンドがサブ制御基板80に送信される。
次にステップS609に進み、LED表示制御を行う。この処理は、スロットマシン10の状態に応じて、LED71〜73を点灯させることにより、設定値、貯留枚数、獲得枚数、エラー表示内容(エラーコード)等を表示する処理である。設定変更中や設定確認中の設定値、貯留枚数、獲得枚数、復帰可能なエラーの表示は、割込み処理時ごとに、このLED表示制御にて行う。
次のステップS610では、サブ報知データ出力(I_SUB_INF ;図21)を行う。この処理は、サブ報知データ(第3制御コマンド/サブ制御データ信号17〜24)を、出力ポート6のD0〜D7ビットから8ビットのパラレル通信でサブ制御基板80に送信する処理である。
ここで、上述したステップS608の制御コマンド送信では、制御コマンドバッファに書き込まれた第1制御コマンド(サブ制御データ信号9〜16)及び第2制御コマンド(サブ制御データ信号1〜8)を出力ポート8及び出力ポート7からそれぞれサブ制御基板80に送信する。
このため、第1制御コマンド及び第2制御コマンドについては、制御コマンドバッファに書き込んでからサブ制御基板80に送信するまでに、割込み処理の間隔(2.235ms)より大きいタイムラグが生じることがある。
特に、第1制御コマンド及び第2制御コマンドを制御コマンドバッファに書き込むときに、未送信の制御コマンドが制御コマンドバッファに記憶されていると、その未送信の制御コマンドの送信を完了してから、第1制御コマンド及び第2制御コマンドを送信することになるので、その未送信の制御コマンドの送信を完了するまでに要する時間の分、タイムラグが生じることとなる。
これに対し、ステップS610のサブ報知データ出力では、第3制御コマンド(サブ制御データ信号17〜24)を、制御コマンドバッファを介さずに出力ポート6のD0〜D7ビットに直接書き込んで、サブ制御基板80に送信する。
また、ステップS610のサブ報知データ出力では、第3制御コマンドの内容(たとえば、設定キースイッチ52のオン/オフの状態)に変化があったか否かにかかわらず、割込み処理ごとに、第3制御コマンドを出力ポート6のD0〜D7ビットに書き込んでサブ制御基板80に送信する。
このため、第3制御コマンドについては、出力ポート6に書き込んでからサブ制御基板80に送信するまでに、割込み処理の間隔(2.235ms)より大きいタイムラグが生じないようにすることができる。
また、第3制御コマンドを、制御コマンドバッファを介して出力ポート7及び出力ポート8からサブ制御基板80に送信するのではなく、制御コマンドバッファを介さずに出力ポート6からサブ制御基板80に送信することにより、制御コマンドバッファに書き込む制御コマンドの数を少なくすることができるとともに、制御コマンドバッファを介して送信される制御コマンドの送信待ちの時間を短くすることができる。
次のステップS611では、タイマ計測を行う。この処理は、メイン処理でセットした時間を減算等する処理である。
次にステップS612に進み、内蔵乱数のチェック処理を行う。本実施形態では、内蔵乱数にエラーが発生するとオンになるフラグが設けられており、このフラグがオンであるか否かが判断される。
具体的には、たとえば役抽選用の乱数のクロック周波数異常(乱数更新が遅い場合等)を検知したときは、当該エラーフラグがオンにされる。より具体的には、MPUに入力されるSCLK(発振源:12MHz)とRCK(発振源:9MHZ)を備え、RCKに基づいて内蔵乱数を更新するものとする。このとき、「RCK<SCLK/2」を満たした場合にエラーフラグがオンになる。
そして、ステップS613に進み、内蔵乱数にエラーが発生しているか否か(エラーフラグがオンか否か)を判断し、エラーが発生していないと判断されたときはステップS614に進み、エラーが発生していると判断したときは、ステップS621に進んで、復帰不可能エラー処理に移行する。このときのエラー表示内容は、「E7」となる。
ステップS614では、入力エラーチェック処理を実行する。この処理は、各種センサに異常がないか否かを判断する処理である。
次にステップS615に進み、RWM61に記憶されている外部信号のためのデータをレジスタに記憶する。そして、次のステップS616では、出力ポート5にデータを書き込む(セットする)ことにより、外部信号の出力(外部集中端子板100への信号の送信)を行う。
次のステップS617では、試験信号及び条件装置情報の出力処理を行う。この処理は、RWM61に記憶されているデータに基づいて出力ポート9及び10にデータを書き込む(セットする)ことにより、スロットマシン10が法律に従って適切に設計されているか否かを判断するときの試験機に対して試験信号を送信する処理である。
次にステップS618に進み、乱数更新処理を行う。次のステップS619では、ステップS602で退避したレジスタ値を復帰させ、次回割込みの許可を行う。具体的には、割込み処理開始時に記憶していたレジスタデータを復帰するとともに、次回の割込み処理を開始できるように、割込禁止フラグをオフにする。そして本フローチャートによる処理を終了する。
以上の処理に示すように、2.235msごとの割込み処理により、貯留数表示LED71、獲得数表示LED72、状態表示LED73(73a〜73g)、設定値表示LED64の点灯/消灯が制御される。
また、制御コマンドバッファに未送信の制御コマンドが記憶されているときは、割込み処理ごとに、その制御コマンドを出力ポート7及び出力ポート8からサブ制御基板80に送信する。
さらにまた、第3制御コマンド(サブ制御データ信号17〜24)の内容に変化があったか否かにかかわらず、割込み処理ごとに、第3制御コマンドを出力ポート6からサブ制御基板80に送信する。
なお、復帰不可能エラー処理時には、割込み処理を行わない。
復帰不可能エラーは、通常では起こり得ない重大なエラーであり、異常データに基づく処理(入力ポートからのデータに基づくRWM61のデータ更新や、サブ制御基板80への制御コマンドの送信)等を実行しないようにするために、割込み自体を禁止している。
いいかえれば、復帰不可能エラー時には、メイン制御基板60からサブ制御基板80への制御コマンドの送信を行わないので、制御コマンドセット1を実行しても意味がない。
さらに、復帰不可能エラーの発生時に、制御コマンドバッファに未送信の制御コマンドが記憶されているときは、その制御コマンドをサブ制御基板80に送信しない。制御コマンドバッファに記憶されている制御コマンドが正しくないおそれがあるからである。
図18は、図17のステップS603において、電源断を検知し、ステップS620に進んだときの電源断処理(IS_POWER_DOWN )を示すフローチャートである。
先ず、ステップS651では、全出力ポートの出力をオフにする。次にステップS652に進み、電源断処理済みフラグをRWM61に記憶する。この処理は、正常な電源断処理が実行されたことを示すデータをRWM61に記憶する処理である。具体的には、RWM61の所定のアドレスに「01(H)」を記憶する。これにより、正常な電源断処理が行われるとステップS652を経由して電源断処理済みフラグとして「01(H)」が記憶されるが、それ以外の電源断の場合には電源断処理済みフラグとして当該アドレスに「01(H)」は記憶されない。
次のステップS653では、RWM61のチェックサムデータを算出する。この処理は、プログラムで使用する作業領域(RWM61)を含むチェックサムを算出するものであり、対象となるプログラム使用領域としては、プログラム作業領域、未使用領域、スタックエリア等が挙げられる。
そして、次のステップS654で、チェックサムの全範囲の算出が終了したか否かを判断し、終了していないと判断したときはステップS653に戻ってチェックサムの算出を継続する。一方、チェックサムの算出が終了したと判断したときはステップS655に進む。
ステップS655では、算出したチェックサムを、RWM61の所定のアドレスに記憶する。ここで、RWM61に記憶するデータは、RWM61のチェックサム時に、プログラム使用領域の全データと、上記所定のアドレスに記憶した値とを加算したとき、「0」となる1バイトデータ(補数データともいう)である。具体的には、対象となるRWM61のプログラム使用領域(プログラム作業領域、未使用領域、スタックエリア等)の全データを加算し、そのときの下位8ビットの値がたとえば「00000001」(01H)であったときは、前記所定のアドレスに記憶されるチェックサムデータは、「11111111」(FFH)となる。
そして、プログラム開始時に、RWM61のチェックサムを実行する場合は、上記と同範囲のRWM61のプログラム使用領域の全データと、チェックサムデータとを加算する。これによって算出されるチェックサムデータが「0」であれば正常値であると判断し、「0」でなければ異常値であると判断する。
次に、ステップS656に進み、リセット待ち状態にする。ここでは、電圧が所定値になると、メイン制御基板60に設けられた電圧監視装置(電源断検出回路)からリセット信号が出力されるので、そのリセット信号の出力を待つ状態となる。ここで、電圧監視装置は、電源電圧が所定値以下になったときには、入力ポート2(図3)のD0ビットに電源断検知信号が入力され、その後、コンデンサと抵抗からなる回路によって所定時間経過した後にリセット信号がMPUに入力されるように構成されている。このとき、電源断時の処理が正常に実行される時間となるようにコンデンサや抵抗値が設計されている。
図19は、図17のステップS608における制御コマンド送信(I_CMD_OUT )を示すフローチャートである。
ステップS661では、制御コマンドバッファのアドレスをセットする。この処理は、HLレジスタに、制御コマンドバッファ(_BF_SUBCMD)の先頭アドレスである「F113(H)」を記憶する処理である。
次のステップS662では、制御コマンドの読み込みポインタ値を取得する。この処理は、RWM61におけるアドレス「F017」の制御コマンド読み込みポインタ値を、Aレジスタに記憶する処理である。
次のステップS663では、指定アドレスをセットする。この処理は、HLレジスタに記憶されているデータとAレジスタに記憶されているデータとを加算し、加算後のデータをHLレジスタに記憶する処理である。
次のステップS664では、送信対象となる制御コマンドバッファのアドレスをセットする。この処理は、ステップS663と同様に、HLレジスタに記憶されているデータとAレジスタに記憶されているデータとを加算し、加算後のデータをHLレジスタに記憶する処理である。
上記のステップS663及びS664の処理により、HLレジスタに記憶されるデータに対して、Aレジスタに記憶されているデータを2倍にしたデータが加算される。
次のステップS665では、制御コマンドを有する(制御コマンドバッファに制御コマンドが記憶されている)か否かを判断する。ここでは、以下の(1)〜(3)の処理を実行する。
(1)HLレジスタ値が示すアドレスに記憶されたデータをEレジスタに記憶する。
(2)HLレジスタ値に「1」を加算した値が示すアドレスに記憶されたデータをDレジスタに記憶する。
(3)Eレジスタに記憶されたデータ、及びDレジスタに記憶されたデータが「0」であるとき、制御コマンドを有さない(No)と判断する。
そして、制御コマンドを有すると判断したときはステップS666に進み、制御コマンドを有さないと判断したときはステップS670に進む。
次のステップS666では、制御コマンドを出力する。この処理は、Eレジスタに記憶されているデータを、第2制御コマンド(サブ制御データ信号1〜8)として出力ポート7に出力するとともに、Dレジスタに記憶されているデータを、第1制御コマンド(サブ制御データ信号9〜16)として出力ポート8に出力する処理である。
次のステップS667では、サブ制御データストローブ信号をオンにする。具体的には、以下の(1)〜(3)の処理を実行する。
(1)投入枚数表示LED信号データの値をAレジスタに記憶する。
(2)Aレジスタに記憶されているデータと、「10000000B」とをOR演算し、その演算結果をAレジスタに記憶する。
(3)Aレジスタに記憶されているデータを出力ポート2に出力する。
このステップS667の処理により、出力ポート2のD7ビットの出力は常に「1」になる。すなわち、サブ制御データストローブ信号がオンになる。そして、サブ制御データストローブ信号がオンになると、その立ち上がりを契機に、サブ制御基板80側では、出力ポート7及び出力ポート8のデータを取得する。
また、出力ポート2のD7ビット以外の出力は、ステップS667の処理の前後で変化しない。よって、1枚投入表示LED73e、2枚投入表示LED73f、及び3枚投入表示LED73gの点灯又は消灯の状態は、ステップS667の処理の前後で変化することがない。
ここで、1枚投入表示LED信号が「1」であるときは、1枚投入表示LED信号がオンであることを示し、1枚投入表示LED73eが点灯する。これに対し、1枚投入表示LED信号が「0」であるときは、1枚投入表示LED信号がオフであることを示し、1枚投入表示LED73eが消灯する。
2枚投入表示LED信号及び3枚投入表示LED信号についても1枚投入表示LED信号と同様に、「1」であるときはオンであることを示し、「0」であるときはオフであることを示す。そして、「1」(オン)のときは2枚投入表示LED73f及び3枚投入表示LED73gが点灯し、「0」(オフ)のときは2枚投入表示LED73f及び3枚投入表示LED73gが消灯する。
また、1枚〜3枚投入表示LED信号が「1」(オン)のときは、OR演算前のAレジスタのデータは「00000111B」となる。このとき、このAレジスタのデータと、「10000000B」とをOR演算すると、「10000111B」となる。これにより、1枚〜3枚投入表示LED信号がオンの状態を維持したまま、サブ制御データストローブ信号をオフからオンにすることができる。
さらにまた、1枚〜3枚投入表示LED信号が「0」(オフ)のときは、OR演算前のAレジスタのデータは「00000000B」となる。このとき、このAレジスタのデータと、「10000000B」とをOR演算すると、「10000000B」となる。これにより、1枚〜3枚投入表示LED信号がオフの状態を維持したまま、サブ制御データストローブ信号をオフからオンにすることができる。
なお、1枚投入表示LED信号がオン、2枚及び3枚投入表示LED信号がオフのときは、OR演算前のAレジスタのデータは「00000100B」となる。このとき、このAレジスタのデータと、「10000000B」とをOR演算すると、「10000100B」となる。
また、1枚及び2枚投入表示LED信号がオン、3枚投入表示LED信号がオフのときは、OR演算前のAレジスタのデータは「00000110B」となる。このとき、このAレジスタのデータと、「10000000B」とをOR演算すると、「10000110B」となる。
このように、出力ポート2のD0〜D2ビットに対応するデータを、1枚〜3枚投入表示LED信号の出力態様(各信号のオン/オフのパターン)に対応するデータとし、かつ出力ポート2のD7ビットに対応するデータを、サブ制御データストローブ信号の出力態様(オン/オフ)に対応するデータとした8ビットデータを生成する。そして、生成した8ビットデータを出力ポート2に出力する。
次のステップS668では、送信済みのコマンド保存バッファのクリア処理を行う。この処理は、HLレジスタ値が示すアドレスに記憶されているデータ、及びHLレジスタ値に「1」を加算した値が示すアドレスに記憶されているデータをクリアする(「0」にする)処理である。
次にステップS669に進み、制御コマンド読み込みポインタ値を更新する。ここでは、以下の(1)〜(3)の処理を実行する。
(1)アドレス「F017」の制御コマンド読み込みポインタ値(_NB_CMDREAD )のアドレスをHLレジスタに記憶する。
(2)HLレジスタ値に「1」を加算する。
(3)加算後のHLレジスタ値が「31」(10進数)を超えるか否かを判断し、「31」を超えないときは、その値を制御コマンド読み込みポインタ値に記憶する。一方、「31」を超えたときは、「0」を制御コマンド読み込みポインタ値に記憶する。
次のステップS670では、サブ制御データストローブ信号をオフにする。具体的には、以下の(1)及び(2)の処理を実行する。
(1)投入枚数表示LED信号データの値をAレジスタに記憶する。
(2)Aレジスタに記憶されているデータを出力ポート2に出力する。
このステップS670の処理により、出力ポート2のD7ビットの出力は常に「0」になる。すなわち、サブ制御データストローブ信号がオフになる。そして、サブ制御データストローブ信号がオフのときは、サブ制御基板80側では、出力ポート7及び出力ポート8のデータを取得することはない。
また、出力ポート2のD7ビット以外の出力は、ステップS670の処理の前後で変化しない。よって、1枚投入表示LED73e、2枚投入表示LED73f、及び3枚投入表示LED73gの点灯又は消灯の状態は、ステップS667の処理の前後で変化することはない。
ここで、1枚〜3枚投入表示LED信号が「1」(オン)のときは、Aレジスタのデータは「00000111B」である。このため、このAレジスタのデータを出力ポート2に出力することにより、1枚〜3枚投入表示LED信号の出力がオンの状態を維持したまま、サブ制御データストローブ信号の出力をオンからオフにすることができる。
また、1枚〜3枚投入表示LED信号が「0」(オフ)のときは、Aレジスタのデータは「00000000B」である。このため、このAレジスタのデータを出力ポート2に出力することにより、1枚〜3枚投入表示LED信号の出力がオフの状態を維持したまま、サブ制御データストローブ信号の出力をオンからオフにすることができる。
なお、1枚投入表示LED信号がオン、2枚及び3枚投入表示LED信号がオフのときは、Aレジスタのデータは「00000100B」である。また、1枚及び2枚投入表示LED信号がオン、3枚投入表示LED信号がオフのときは、Aレジスタのデータは「00000110B」である。そして、このAレジスタのデータを出力ポート2に出力することにより、1枚〜3枚投入表示LED信号の出力態様(各信号のオン/オフのパターン)を維持したまま、サブ制御データストローブ信号をオンからオフにすることができる。
次のステップS671では、制御コマンドクリアデータを出力する。この処理は、出力ポート7及び出力ポート8にそれぞれ「00000000B」を出力する処理である。そして、ステップS671の処理を終了すると、本フローチャートによる処理を終了する。
上述したように、本実施形態では、第1制御コマンド(出力ポート8)及び第2制御コマンド(出力ポート7)の2バイト(16ビット)で1つのコマンドを構成する。第1制御コマンド(上位1バイト)は、コマンドの種別を示し、第2制御コマンド(下位1バイト)は、その内容を示す。
また、本実施形態では、出力ポート7及び出力ポート8に出力する「00000000/00000000」(「/」は、上位1バイトと下位1バイトとの境目を示す。)を制御コマンドクリアデータに設定している。また、制御コマンドクリアデータは、サブ制御基板80での処理に不必要なデータであることを意味するものである。
そして、サブ制御基板80側では、出力ポート7及び出力ポート8から取得したデータが「00000000/00000000」であるときは、制御コマンドクリアデータであると判断して、これを破棄する(捨てる)。
このため、本実施形態では、「00000000/00000000」(制御コマンドクリアデータ)以外の2バイト(16ビット)のデータで、第1制御コマンド及び第2制御コマンドを構成するようにしている。
したがって、第1制御コマンド及び第2制御コマンドによって、「00000000/00000000」を除く65535(65536−1)通りの情報をメイン制御基板60からサブ制御基板80に送信することができる。
なお、第1制御コマンド(1バイト)単独では、「00000000B」を除く255(256−1)通りの情報をメイン制御基板60からサブ制御基板80に送信することができ、第2制御コマンド(1バイト)単独でも、255通りの情報をメイン制御基板60からサブ制御基板80に送信することができる。
ここで、従来のスロットマシンでは、メイン制御基板からサブ制御基板にコマンドを送信するために、8ビットのパラレル通信線を1組のみ使用していた。
また、従来のスロットマシンにおいても、本実施形態と同様に、コマンドの種別を示す第1制御コマンド(8ビット)及びコマンドの内容を示す第2制御コマンド(8ビット)で、1つのコマンド(16ビット)を構成していた。
さらに、従来のスロットマシンでは、16ビットのコマンド(第1制御コマンド及び第2制御コマンド)を8ビットのパラレル通信線で送信するために、一の割込み処理で第1制御コマンドを送信し、次の割込み処理で第2制御コマンドを送信していた。
そして、サブ制御基板側で第1制御コマンドか第2制御コマンドかを識別可能にするために、たとえば、第1制御コマンドの特定のビットには常に「1」をセットし、第2制御コマンドの特定のビットには常に「0」をセットしていた。すなわち、特定のビットを、第1制御コマンドか第2制御コマンドかを識別するための識別用のビットとしていた。
このため、従来のスロットマシンでは、第1制御コマンド(8ビット)単独では、特定のビット(識別用のビット)以外の7ビットを用いて、128通りの情報しかメイン制御基板からサブ制御基板に送信することができず、第2制御コマンド(8ビット)単独でも、特定のビット以外の7ビットを用いて、128通りの情報しかメイン制御基板からサブ制御基板に送信することができなかった。
また、従来のスロットマシンでは、特定のビットを、識別用のビットとしていたため、特定のビットの「0」は、第1制御コマンドか第2制御コマンドかを識別するために必要なデータであった。
したがって、従来のスロットマシンでは、「00000000B」を、サブ制御基板での処理に不必要なデータとして設定することができなかった。
これに対し、本実施形態では、8ビットのパラレル通信線を2組使用し、一方のパラレル通信線で第1制御コマンドを送信し、他方のパラレル通信線で第2制御コマンドを送信する。このため、一方のパラレル通信線で送信されたか他方のパラレル通信線で送信されたかによって、第1制御コマンドか第2制御コマンドかを識別可能であるので、識別用のビットを設ける必要がない。
また、本実施形態では、識別用のビットを設ける必要がないため、「00000000B」を、サブ制御基板での処理に不必要なデータ(制御コマンドクリアデータ)として設定することができる。
したがって、本実施形態では、第1制御コマンド(8ビット)単独で、「00000000B」(制御コマンドクリアデータ)を除く255(256−1)通りの情報を送信することができるとともに、第2制御コマンド(8ビット)単独でも、255通りの情報を送信することができる。
また、従来のスロットマシンでは、一のコマンドを出力ポートに出力したときは、次のコマンドを出力ポートに出力するまで、一のコマンドを出力ポートに出力した状態を維持していた。
さらにまた、従来のスロットマシンでは、一のコマンドを出力ポートに出力した後に、一のコマンドに対応するストローブ信号をオンにし、サブ制御基板が一のコマンドを取得するために必要な時間を経過したときは、一のコマンドに対応するストローブ信号をオフにしていた。
このため、従来のスロットマシンでは、一のコマンドに対応するストローブ信号をオフにしてから、次のコマンドに対応するストローブ信号をオンにするまでの間に、ストローブ信号にノイズが入ると、サブ制御基板側では、一のコマンドを再度取得することとなり、これにより意図しない処理を実行してしまうおそれがあった。
これに対し、本実施形態では、サブ制御基板80が第1制御コマンド及び第2制御コマンドを取得するために必要な所定時間の間は、出力ポート7に第2制御コマンドを出力し、かつ出力ポート8に第1制御コマンドを出力し、それ以外は、出力ポート7及び出力ポート8にそれぞれ「00000000B」(制御コマンドクリアデータ)を出力する。
また、第1制御コマンド及び第2制御コマンドを出力している所定時間の間に、サブ制御データストローブ信号をオフからオンにした後にオンからオフにする。
このため、本実施形態では、サブ制御データストローブ信号がオフのときは、出力ポート7及び出力ポート8の出力が「00000000/00000000」であり、このときサブ制御データストローブ信号にノイズが入り、出力ポート7及び出力ポート8に出力されているデータをサブ制御基板80が取得しても、サブ制御基板80は、制御コマンドクリアデータであると判断して、これを破棄する(捨てる)。
したがって、サブ制御データストローブ信号がオフのときにノイズが入っても、サブ制御基板80側では、意図しない処理を実行しないようにすることができる。
図20は、第1制御コマンド、第2制御コマンド、及びサブ制御データストローブ信号の出力タイミングを示すタイムチャートである。
図19のステップS666において、出力ポート8に第1制御コマンド(サブ制御データ信号9〜16)を出力すると同時に、出力ポート7に第2制御コマンド(サブ制御データ信号1〜8)を出力する(図20中、出力開始)。
その後、図19のステップS667において、出力ポート2のD7ビットの出力を「0」から「1」にする。すなわち、サブ制御データストローブ信号をオフからオンにする(図20中、サブ制御データストローブ信号の立ち上がり)。
その後、図19のステップS670において、出力ポート2のD7ビットの出力を「1」から「0」にする。すなわち、サブ制御データストローブ信号をオンからオフにする(図20中、サブ制御データストローブ信号の立ち下がり)。
その後、図19のステップS671において、出力ポート8に「00000000B」を出力すると同時に、出力ポート7に「00000000B」を出力する。すなわち、第1制御コマンド及び第2制御コマンドの出力を終了するとともに、制御コマンドクリアデータの出力を開始する(図20中、出力終了)。
ここで、第1制御コマンド及び第2制御コマンドの出力を開始してからサブ制御データストローブ信号をオンにするまで(ステップS666からS667まで)の時間は、「1.75μs」である(図20中、「A」)。
また、サブ制御データストローブ信号をオンにしている間(ステップS667からS670まで)の時間は、「4.25μs」である(図20中、「B」)。
さらにまた、サブ制御データストローブ信号をオフにしてから第1制御コマンド及び第2制御コマンドの出力を終了するまで(ステップS670からS671まで)の時間は、「1.19μs」である(図20中、「C」)。
さらに、本実施形態では、ステップS666からS671までの処理を実行するのに、「7.19(1.75+4.25+1.19)μs」を要する。このため、「7.19μs」の間にわたって、出力ポート7に第2制御コマンドを出力するとともに、出力ポート8に第1制御コマンドを出力することになる。
また、第1制御コマンド及び第2制御コマンドを出力している「7.19μs」の間に、サブ制御データストローブ信号をオフからオンにし、その後、オンからオフにする。そして、サブ制御基板80は、サブ制御データストローブ信号の立ち上がりを契機に、出力ポート7に出力されたデータ(第2制御コマンド)及び出力ポート8に出力されたデータ(第1制御コマンド)を取得する。
また、本実施形態では、出力ポート7とサブ制御基板80とが8ビットのパラレル通信線で接続されるとともに、出力ポート8とサブ制御基板80とが8ビットのパラレル通信線で接続されている。このため、サブ制御基板80は、サブ制御データストローブ信号の立ち上がりを契機に、出力ポート7に出力された第2制御コマンドを取得すると同時に、出力ポート8に出力された第1制御コマンドを取得することができる。
また、本実施形態では、サブ制御基板80は、「7.19μs」の間に、第1制御コマンド(出力ポート8)及び第2制御コマンド(出力ポート7)をそれぞれn回(n≧2、たとえば4回)取得可能に構成されている。
そして、サブ制御基板80は、「7.19μs」の間に、同一内容の第1制御コマンドをm回(n≧m≧2、たとえば2回)連続して取得し、かつ同一内容の第2制御コマンドをm回連続して取得したときは、制御コマンドを正常に取得したと判断する。
これに対し、同一内容の第1制御コマンドをm回連続して取得することができなかったとき、及び/又は同一内容の第2制御コマンドをm回連続して取得することができなかったときは、制御コマンドを正常に取得することができなかった判断する。
具体的には、サブ制御基板80は、まず、第1制御コマンド及び第2制御コマンドをそれぞれ2回連続して取得する。次に、1回目に取得した第1制御コマンドと2回目に取得した第1制御コマンドとを比較するとともに、1回目に取得した第2制御コマンドと2回目に取得した第2制御コマンドとを比較する。そして、1回目に取得した第1制御コマンドと2回目に取得した第1制御コマンドとが一致し、かつ1回目に取得した第2制御コマンドと2回目に取得した第2制御コマンドとが一致したときは、その時点で、制御コマンドを正常に取得したと判断する。
また、サブ制御基板80は、1回目に取得した第1制御コマンドと2回目に取得した第1制御コマンドとが一致しなかったとき、及び/又は1回目に取得した第2制御コマンドと2回目に取得した第2制御コマンドとが一致しなかったときは、その時点では、制御コマンドを正常に取得することができなかったと判断する。
この場合、さらにもう1回、第1制御コマンド及び第2制御コマンドをそれぞれ取得する。そして、今度は、2回目に取得した第1制御コマンドと3回目に取得した第1制御コマンドとを比較するとともに、2回目に取得した第2制御コマンドと3回目に取得した第2制御コマンドとを比較する。その結果、2回目に取得した第1制御コマンドと3回目に取得した第1制御コマンドとが一致し、かつ2回目に取得した第2制御コマンドと3回目に取得した第2制御コマンドとが一致したときは、その時点で、正常に取得したと判断する。なお、1回目に取得した第1制御コマンド及び/又は1回目に取得した第2制御コマンドがノイズ等により破壊されていると、このようなパターンになる。
また、サブ制御基板80は、2回目に取得した第1制御コマンドと3回目に取得した第1制御コマンドとが一致しなかったとき、及び/又は2回目に取得した第2制御コマンドと3回目に取得した第2制御コマンドとが一致しなかったときは、その時点でも、制御コマンドを正常に取得することができなかったと判断する。
この場合、さらにもう1回、第1制御コマンド及び第2制御コマンドをそれぞれ取得する。そして、今度は、3回目に取得した第1制御コマンドと4回目に取得した第1制御コマンドとを比較するとともに、3回目に取得した第2制御コマンドと4回目に取得した第2制御コマンドとを比較する。その結果、3回目に取得した第1制御コマンドと4回目に取得した第1制御コマンドとが一致し、かつ3回目に取得した第2制御コマンドと4回目に取得した第2制御コマンドとが一致したときは、その時点で、制御コマンドを正常に取得したと判断する。なお、2回目に取得した第1制御コマンド及び/又は2回目に取得した第2制御コマンドがノイズ等により破壊されていると、このようなパターンになる。
また、本実施形態では、サブ制御基板80は、第1制御コマンド及び第2制御コマンドを1回取得するために「1μs」程度を要する。さらに、第1制御コマンド及び第2制御コマンドを取得してから、次に第1制御コマンド及び第2制御コマンドを取得するまでの間隔として「1μs」程度を要する。このため、サブ制御基板80側で第1制御コマンド及び第2制御コマンドを4回取得するためには「7μs」程度を要する。したがって、「7.19μs」あれば、サブ制御基板80側で第1制御コマンド及び第2制御コマンドを4回取得することができる。
換言すれば、本実施形態では、サブ制御基板80側で第1制御コマンド及び第2制御コマンドを4回取得するために必要な時間だけ、メイン制御基板60側で第1制御コマンド及び第2制御コマンドを出力するとともに、メイン制御基板60側で第1制御コマンド及び第2制御コマンドを出力する時間を、ステップS666からS671までの処理を実行する時間で稼いでいる。
また、本実施形態では、割込み処理の間隔は「2.235ms」であり、そのうち「7.19μs」の間(ステップS666からS671までの間)は、出力ポート7に第2制御コマンドを出力するとともに、出力ポート8に第1制御コマンドを出力し、それ以外は、出力ポート7及び出力ポート8にそれぞれ「00000000B」を出力する。
すなわち、「7.19μs」は、割込み処理の間隔より短い時間であって、サブ制御基板80が第1制御コマンド及び第2制御コマンドを取得するために必要な時間である。
さらに、第1制御コマンド及び第2制御コマンドを出力している「7.19μs」のうち、「4.25μs」の間(ステップS667からS670までの間)は、サブ制御データストローブ信号をオンにし、それ以外は、サブ制御データストローブ信号をオフにする。
このため、サブ制御データストローブ信号がオフのときは、出力ポート7及び出力ポート8の出力が「00000000/00000000」である。よって、このときサブ制御データストローブ信号にノイズが入り、出力ポート7及び出力ポート8に出力されているデータをサブ制御基板80が取得しても、サブ制御基板80は、制御コマンドクリアデータであると判断して、これを破棄する(捨てる)。
したがって、サブ制御データストローブ信号がオフのときにサブ制御データストローブ信号にノイズが入っても、サブ制御基板80側では、意図しない処理を実行しないようにすることができる。
図21は、図17のステップS610におけるサブ報知データ出力(I_SUB_INF )を示すフローチャートである。
このサブ報知データ出力(I_SUB_INF )は、サブ報知データ(第3制御コマンド/サブ制御データ信号17〜24)を、出力ポート6のD0〜D7ビットから8ビットのパラレル通信でサブ制御基板80に送信する処理である。
ステップS701に進むと、(左、中、右)停止受付け報知データをセットする。ここで、左停止受付け報知データ(サブ制御データ信号19)は、左ストップスイッチ42が操作を受付け可能な状態であるか否かを示すデータであり、中停止受付け報知データ(サブ制御データ信号18)は、中ストップスイッチ42が操作を受付け可能な状態であるか否かを示すデータであり、右停止受付け報知データ(サブ制御データ信号17)は、右ストップスイッチ42が操作を受付け可能な状態であるか否かを示すデータである。
そして、このステップS701では、右停止受付け報知データ(サブ制御データ信号17)を出力ポート6のD0ビットにセットし、中停止受付け報知データ(サブ制御データ信号18)を出力ポート6のD1ビットにセットし、左停止受付け報知データ(サブ制御データ信号19)を出力ポート6のD2ビットにセットする。また、操作を受付け可能な状態であるときは「1」をセットし、操作を受付け不可の状態であるときは「0」をセットする。
次のステップS702では、メダル限界チェックを行う。この処理は、限界枚数(ベット可能な最大枚数、本実施形態では3枚)のメダルがベットされているか否かをチェックする処理である。
次のステップS703では、限界枚数のメダルがベットされているか否かを判断する。そして、限界枚数のメダルがベットされていると判断したときはステップS709に進み、限界枚数のメダルがベットされていないと判断したときはステップS704に進む。
ステップS704に進むと、ブロッカ信号がオフか否かを判断する。ここで、ブロッカ45は、ブロッカ信号がオン(「1」)のときは、メダル投入口43とホッパー35aとを連結するメダル通路を形成し、ブロッカ信号がオフ(「0」)のときは、メダル投入口43と払出し口とを連結する通路(返却通路)を形成する。そして、ブロッカ信号がオフであると判断したときはステップS709に進み、ブロッカ信号がオフでない(オンである)と判断したときはステップS705に進む。
ステップS705に進むと、貯留枚数読込み(R_CREDIT_READ )を行う。この処理は、メダルの貯留枚数を示すデータを読み込み、貯留枚数の有無をチェックする処理である。
次のステップS706では、メダルの貯留枚数が「0」か否かを判断する。そして、メダルの貯留枚数が「0」であると判断したときはステップS709に進み、メダルの貯留枚数が「0」でないと判断したときはステップS707に進む。
ステップS707に進むと、メダルが投入センサ44a(上流側)及び44b(下流側)を通過したか否かを判断する。そして、通過したと判断したときはステップS709に進み、通過していないと判断したときはステップS708に進む。
ステップS708に進むと、3ベット報知データをセットする。ここで、3ベット報知データ(サブ制御データ信号20)は、3ベットスイッチ40bが操作を受付け可能な状態であるか否かを示すデータである。そして、このステップS708では、3ベット報知データ(サブ制御データ信号20)を出力ポート6のD3ビットにセットする。また、操作を受付け可能な状態であるときは「1」をセットし、操作を受付け不可の状態であるときは「0」をセットする。
ステップS709に進むと、設定変更/リセット報知データ、設定キー報知データ、ドア報知データ、及び設定ドア報知データをセットする。
ここで、設定変更/リセット報知データ(サブ制御データ信号21)は、設定変更/リセットスイッチ53のオン/オフの状態を示すデータであり、設定キー報知データ(サブ制御データ信号22)は、設定キースイッチ52のオン/オフの状態を示すデータであり、ドア報知データ(サブ制御データ信号23)は、ドアスイッチ16のオン/オフの状態を示すデータであり、設定ドア報知データ(サブ制御データ信号24)は、設定ドアスイッチ54のオン/オフの状態を示すデータである。
そして、このステップS709では、設定変更/リセット報知データ(サブ制御データ信号21)を出力ポート6のD4ビットにセットし、設定キー報知データ(サブ制御データ信号22)を出力ポート6のD5ビットにセットし、ドア報知データ(サブ制御データ信号23)を出力ポート6のD6ビットにセットし、設定ドア報知データ(サブ制御データ信号24)を出力ポート6のD7ビットにセットする。また、オンの状態であるときは「1」をセットし、オフの状態であるときは「0」をセットする。
次のステップS710では、出力ポート6のD0〜D7ビットにセットしたサブ報知データ(第3制御コマンド/サブ制御データ信号17〜24)を出力する。
たとえば、左、中、及び右ストップスイッチ42が操作を受付け可能な状態であり、かつ3ベットスイッチ40bが操作を受付け不可の状態であり、かつ設定変更/リセットスイッチ53、設定キースイッチ52、ドアスイッチ16、及び設定ドアスイッチ54がオフの状態であるとする。この場合、出力ポート6のD0〜D7ビットから「00000111B」を出力する。これにより、第3制御コマンドを8ビットのパラレル通信でサブ制御基板80に送信することができる。そして、本フローチャートによる処理を終了する。
図22は、図21のステップS702におけるメダル限界チェック(C_MDLMAX_CHK)を示すフローチャートである。
このメダル限界チェック(C_MDLMAX_CHK)は、限界枚数(ベット可能な最大枚数、本実施形態では3枚)のメダルがベットされているか否かをチェックする処理である。
ステップS721に進むと、メダル限界セット(M_MDLMAX_SET)を行う。このメダル限界セット(M_MDLMAX_SET)は、メダルの限界枚数を示すデータをセットする処理である。
次のステップS722では、メダル読込み(R_PLYMDL_READ )を行う。このメダル読込み(R_PLYMDL_READ )は、メダルの投入枚数を示すデータを読み込み、これをセットする処理である。
次のステップS723では、ステップS722でセットしたメダルの投入枚数を示すデータと、ステップS721でセットしたメダルの限界枚数を示すデータとを比較する。そして、本フローチャートによる処理を終了する。
図23は、図22のステップS721におけるメダル限界セット(M_MDLMAX_SET)を示すフローチャートである。
ステップS731に進むと、再遊技作動時のメダル限界枚数をセットする。この処理は、再遊技作動時(リプレイが入賞した遊技の次遊技)には、前遊技(リプレイが入賞した遊技)におけるメダルの投入枚数を示すデータをセットする処理である。
次のステップS732では、再遊技作動時か否かを判断する。すなわち、リプレイが入賞した遊技の次遊技か否かを判断する。そして、再遊技作動時でないと判断したときは次のステップS733に進み、再遊技作動時であると判断したときはステップS733をスキップして本フローチャートによる処理を終了する。
次のステップS733では、メダルの限界枚数である3枚をセットする。そして、本フローチャートによる処理を終了する。
図24は、図22のステップS722におけるメダル読込み(R_PLYMDL_READ )を示すフローチャートである。
ステップS741に進むと、メダルの投入枚数を示すデータが記憶されているRWM61のアドレスをセットする。
次のステップS742では、ステップS741でセットされたアドレスに記憶されているメダルの投入枚数を示すデータを取得する。そして、本フローチャートによる処理を終了する。
図25は、図21のステップS705における貯留枚数読込み(R_CREDIT_READ )を示すフローチャートである。
ステップS751に進むと、メダルの貯留枚数を示すデータを取得する。そして、本フローチャートによる処理を終了する。
続いて、サブ制御基板80(サブCPU83)による情報処理について、フローチャートに基づき説明する。
図26は、サブ制御基板80によるエラー報知処理を示すフローチャートである。
ステップS801では、サブ制御基板80は、設定キースイッチ52がオンの状態であり、かつ設定ドアスイッチ54がオンの状態であり、かつドアスイッチ16がオンの状態であるか否かを判断する。
なお、図26において、「∩」は、便宜上、「かつ」を意味し、「∪」は、「又は」を意味するものとする。
具体的には、第3制御コマンドは、設定キースイッチ52のオン/オフの状態を示す設定キー報知データ(サブ制御データ信号22)、ドアスイッチ16のオン/オフの状態を示すドア報知データ(サブ制御データ信号23)、及び設定ドアスイッチ54のオン/オフの状態を示す設定ドア報知データ(サブ制御データ信号24)を含む。
また、サブ制御基板80は、第3制御コマンドに基づいて、設定キースイッチ52がオンの状態であるか否か、設定ドアスイッチ54がオンの状態であるか否か、及びドアスイッチ16がオンの状態であるか否かを判断する。そして、設定キースイッチ52がオンの状態であり、かつ設定ドアスイッチ54がオンの状態であり、かつドアスイッチ16がオンの状態であると判断したときはステップS802に進み、これらのスイッチのうち少なくとも1つがオフの状態であると判断したときはステップS810に進む。
ステップS802に進むと、サブ制御基板80は、設定変更中又は設定確認中であるか否かを判断する。
具体的には、第1制御コマンドとして、管理コマンドを示すデータが設定されているときは、第2制御コマンドは、設定変更中であるか否かを示すデータ(サブ制御データ信号1)、及び設定確認中であるか否かを示すデータ(サブ制御データ信号2)を含む。
また、サブ制御基板80は、第1制御コマンド及び第2制御コマンドに基づいて、設定変更中又は設定確認中であるか否かを判断する。そして、設定変更中又は設定確認中でないと判断したときはステップS803に進み、設定変更中又は設定確認中であると判断したときは本フローチャートによる処理を終了する。
ステップS803に進むと、サブ制御基板80は、設定変更不可エラー中又は設定確認不可エラー中であるか否かを判断する。そして、設定変更不可エラー中又は設定確認不可エラー中でないと判断したときはステップS804に進み、設定変更不可エラー中又は設定確認不可エラー中であると判断したときは本フローチャートによる処理を終了する。
ステップS804に進むと、サブ制御基板80は、エラー監視用タイマの値が「0」より大きいか否かを判断する。
そして、エラー監視用タイマの値が「0」より大きいと判断したときはステップS805に進み、「0」であると判断したときはステップS811に進む。
ステップS805では、サブ制御基板80は、エラー監視用タイマの値から「1」を減算する。そして、次のステップS806に進む。
ここで、エラー監視用タイマは、設定キースイッチ52がオンの状態であり、かつ設定ドアスイッチ54がオンの状態であり、かつドアスイッチ16がオンの状態であることを示す第3制御コマンドを受信してからの時間を計測するためのものである。
すなわち、エラー監視用タイマは、受信した第3制御コマンドに基づいて、設定キースイッチ52がオンの状態であり、かつ設定ドアスイッチ54がオンの状態であり、かつドアスイッチ16がオンの状態であると判断したときに、時間の計測を開始する。
また、サブ制御基板80は、エラー監視用タイマによる時間の計測を開始するときは、エラー監視用タイマに初期値として「4」をセットする。その後、16msごとに、エラー監視用タイマの値から「1」を減算する。そして、エラー監視用タイマの値が「0」になると、タイムアウトとなる。
このため、エラー監視用タイマの値が「0」となったときは、設定キースイッチ52、設定ドアスイッチ54、及びドアスイッチ16がオンの状態であると判断してから64(16×4)msが経過したことになる。すなわち、エラー監視用タイマは、設定キースイッチ52、設定ドアスイッチ54、及びドアスイッチ16がオンの状態であると判断してから64msが経過したか否かを判断するものである。
ステップS806では、サブ制御基板80は、エラー監視用タイマの値が「0」か否かを判断する。そして、「0」であると判断したときはステップS807に進み、「0」でないと判断したときは本フローチャートによる処理を終了する。
ステップS807に進むと、サブ制御基板80は、電源投入から所定時間が経過したか否かを判断する。具体的には、サブ制御基板80は、電源スイッチ51がオンされてからの時間を計測する稼動時間タイマを備える。そして、この稼動時間タイマの計測時間により、電源投入から2秒経過したか否かを判断する。そして、電源投入から2秒経過していないと判断したときはステップS808に進み、電源投入から2秒経過したと判断したときはステップS809に進む。
ステップS808に進むと、サブ制御基板80は、設定変更不可エラー報知を行う(設定変更不可エラー中となる)。そして、本フローチャートによる処理を終了する。
ステップS809に進むと、サブ制御基板80は、設定確認不可エラー報知を行う(設定確認不可エラー中となる)。そして、本フローチャートによる処理を終了する。
ステップS810では、サブ制御基板80は、エラー監視用タイマの値を「0」にする(クリアする)。そして、本フローチャートによる処理を終了する。
ステップS811では、サブ制御基板80は、エラー監視用タイマに初期値の「4」をセットする。そして、本フローチャートによる処理を終了する。
ここで、設定変更時又は設定確認時には、フロントカバー(図示せず)を開け、設定ドア(図示せず)を開け、設定キースイッチ52をオンにする。このため、ドアスイッチ16の信号がオンになり、かつ設定ドアスイッチ54の信号がオンになり、かつ設定キースイッチ52の信号がオンになる。
したがって、ドアスイッチ16がオンの状態であり、かつ設定ドアスイッチ54がオンの状態であり、かつ設定キースイッチ52がオンの状態であることを示す(サブ制御データ信号22〜24に「1」がセットされている)第3制御コマンドがメイン制御基板60からサブ制御基板80に送信される。
これにより、サブ制御基板80側では、フロントカバーが開いており、かつ設定ドアが開いており、かつ設定キースイッチ52がオンであると判断することができる。
また、設定変更中は、その旨を示す(サブ制御データ信号9〜16には管理コマンドを示すデータがセットされ、サブ制御データ信号1には「1」がセットされ、サブ制御データ信号2には「0」がセットされている)第1制御コマンド及び第2制御コマンドがメイン制御基板60からサブ制御基板80に送信される。
さらにまた、設定確認中は、その旨を示す(サブ制御データ信号9〜16には管理コマンドを示すデータがセットされ、サブ制御データ信号1には「0」がセットされ、サブ制御データ信号2には「1」がセットされている)第1制御コマンド及び第2制御コマンドがメイン制御基板60からサブ制御基板80に送信される。
これにより、サブ制御基板80側では、設定変更中又は設定確認中であると判断することができる。
しかし、本実施形態では、第1制御コマンド及び第2制御コマンドは、一旦、制御コマンドバッファ(リングバッファ)に書き込まれる。そして、制御コマンドバッファに書き込まれた第1制御コマンド及び第2制御コマンドが、割込み処理ごとに、出力ポート7及び出力ポート8から出力される。
これに対し、第3制御コマンドは、制御コマンドバッファを介さずに、割込み処理ごとに、出力ポート6に直接書き込まれて出力される。
このため、サブ制御基板80は、先に、ドアスイッチ16がオンの状態であり、かつ設定ドアスイッチ54がオンの状態であり、かつ設定キースイッチ52がオンの状態であることを示す第3制御コマンドを取得し、その後に、設定変更中又は設定確認中であることを示す第1制御コマンド及び第2制御コマンドを取得することになる。
すなわち、サブ制御基板80は、設定変更中又は設定確認中であることを示す第1制御コマンド及び第2制御コマンドを取得する前に、ドアスイッチ16がオンの状態であり、かつ設定ドアスイッチ54がオンの状態であり、かつ設定キースイッチ52がオンの状態であることを示す第3制御コマンドを取得することになる。
そこで、サブ制御基板80は、図26のエラー報知処理を実行することにより、設定変更中、設定確認中、設定変更不可エラー中、又は設定確認不可エラー中のいずれであるかを判断して、その判断結果に応じた報知を行う。
ここで、メイン制御基板60側において、図8のプログラム開始(M_PRG_START )のステップS18で「Yes」(ドアスイッチ16がオン、かつ設定ドアスイッチ54がオン、かつ設定キースイッチ52がオン)と判断した後、ステップS19で「Yes」と判断するか、又はステップS20で「No」と判断すると、設定変更処理(M_RANK_SET)に進む。すなわち、設定変更中となる。
これに対し、メイン制御基板60側において、図8のステップS19で「No」と判断し、次のステップS20で「Yes」と判断すると、設定変更不可エラーとなる。このとき、サブ制御基板80側では、電源スイッチ51のオンから2秒経過する前に、図26のステップS807に進むことになる。
また、メイン制御基板60側において、図11のメイン処理(M_MAIN)のステップS44で「No」(ベットメダルなし)と判断してステップS45のメダル投入待ち(MS_STANDBY_DSP)に進み、図13のステップS411で「Yes」(設定キースイッチ52がオン)と判断すると、設定確認中となる。
これに対し、メイン制御基板60側において、図11のステップS44で「Yes」(ベットメダルあり)と判断してからステップS73で遊技終了チェック処理を行うまでの間に設定キースイッチ52がオンにされると、設定確認不可エラーとなる。このとき、サブ制御基板80側では、電源スイッチ51のオンから2秒経過した後に、図26のステップS807に進むことになる。
したがって、サブ制御基板80側では、図26のステップS807において、電源スイッチ51のオンから2秒経過したか否かを判断することにより、設定変更不可エラー、又は設定確認不可エラーのいずれの報知を行うべきかを判断することができる。そして、電源スイッチ51のオンから2秒経過していないと判断したときは、ステップS808に進んで、設定変更不可エラーを報知し、電源スイッチ51のオンから2秒経過したと判断したときは、ステップS809に進んで、設定確認不可エラーを報知する。
また、本実施形態では、サブ制御基板80側では、16msごとに、エラー報知処理を実行するように設定している。
さらにまた、本実施形態では、ステップS811において、エラー監視用タイマの初期値として「4」をセットする。このため、ステップS804で4回連続して「Yes」と判断し、4回連続してステップS805に進むと、エラー監視用タイマが「0」になり(ステップS806で「Yes」になり)、ステップS807に進むことになる。
したがって、ドアスイッチ16がオンの状態であり、かつ設定ドアスイッチ54がオンの状態であり、かつ設定キースイッチ52がオンの状態であることを示す第3制御コマンドを最初に取得してから64(16×4)ms程度で、ステップS807に進むことになる。
また、メイン制御基板60側で設定変更中となるときは、サブ制御基板80側では、エラー監視用タイマが「0」になる前(ステップS807に進む前)に、設定変更中であることを示す第1制御コマンド及び第2制御コマンドを取得して、ステップS802で「Yse」と判断することになる。この場合、サブ制御基板80側では、設定変更中であることを示す第1制御コマンド及び第2制御コマンドに基づいて、設定変更中であることを示す報知を行う。
また、メイン制御基板60側で設定確認中となるときは、サブ制御基板80側では、エラー監視用タイマが「0」になる前(ステップS807に進む前)に、設定確認中であることを示す第1制御コマンド及び第2制御コマンドを取得して、ステップS802で「Yse」と判断することになる。この場合、サブ制御基板80側では、設定確認中であることを示す第1制御コマンド及び第2制御コマンドに基づいて、設定確認中であることを示す報知を行う。
すなわち、エラー監視用タイマが「0」になる前に設定変更中であることを示す第1制御コマンド及び第2制御コマンドを取得したときは、設定変更中である旨を報知する。
また、エラー監視用タイマが「0」になる前に設定確認中であることを示す第1制御コマンド及び第2制御コマンドを取得したときは、設定確認中である旨を報知する。
さらにまた、エラー監視用タイマが「0」になった場合において、設定変更中又は設定確認中であることを示す第1制御コマンド及び第2制御コマンドを取得しておらず、かつ稼動時間タイマが2秒経過していないときは、設定値を変更することができない旨を報知する。
さらに、エラー監視用タイマが「0」になった場合において、設定変更中又は設定確認中であることを示す第1制御コマンド及び第2制御コマンドを取得しておらず、かつ稼動時間タイマが2秒経過しているときは、設定値を確認することができない旨を報知する。
このように、サブ制御基板80は、設定変更中又は設定確認中であることを示す第1制御コマンド及び第2制御コマンドを受信することなく、設定キースイッチ52がオンの状態であることを示す第3制御コマンドを受信してから所定時間(64ms)が経過したときは、電源がオンにされてからの経過時間に応じた内容の情報を報知する。
また、サブ制御基板80は、設定変更中又は設定確認中であることを示す第1制御コマンド及び第2制御コマンドを受信することなく、設定キースイッチ52がオンの状態であることを示す第3制御コマンドを受信してから所定時間(64ms)が経過した場合において、電源がオンにされてから規定時間(2秒)が経過していないときは、設定値を変更することができない旨を報知する。
さらにまた、サブ制御基板80は、設定変更中又は設定確認中であることを示す第1制御コマンド及び第2制御コマンドを受信することなく、設定キースイッチ52がオンの状態であることを示す第3制御コマンドを受信してから所定時間(64ms)が経過した場合において、電源がオンにされてから規定時間(2秒)が経過しているときは、設定値を確認することができない旨を報知する。
さらに、サブ制御基板80は、設定キースイッチ52がオンの状態であることを示す第3制御コマンドを受信してから所定時間(64ms)が経過する前に、設定変更中であることを示す第1制御コマンド及び第2制御コマンドを受信したときは、設定変更中である旨を報知する。
また、サブ制御基板80は、設定キースイッチ52がオンの状態であることを示す第3制御コマンドを受信してから所定時間(64ms)が経過する前に、設定確認中であることを示す第1制御コマンド及び第2制御コマンドを受信したときは、設定確認中である旨を報知する。
以下、サブ制御基板80によるエラー報知処理の具体例を示す。
たとえば、リール31の回転中に設定確認の操作を行った場合には、以下に示すようになる。
まず、電源スイッチ51がオンの状態で、フロントカバーが開けられ、設定ドアが開けられ、設定キースイッチ52がオンにされる。このため、メイン制御基板60は、ドアスイッチ16がオンの状態であり、かつ設定ドアスイッチ54がオンの状態であり、かつ設定キースイッチ52がオンの状態であることを示す第3制御コマンドをサブ制御基板80に送信する。
また、メイン制御基板60側では、図11のステップS44で「Yes」と判断してからステップS73で遊技終了チェック処理を行うまでの間に設定キースイッチ52がオンにされることから、設定確認不可エラーとなる。このため、メイン制御基板60は、設定確認中であることを示す第1制御コマンド及び第2制御コマンドをサブ制御基板80に送信することはない。
さらにまた、サブ制御基板80側では、ドアスイッチ16がオンの状態であり、かつ設定ドアスイッチ54がオンの状態であり、かつ設定キースイッチ52がオンの状態であることを示す第3制御コマンドは受信するが、設定確認中であることを示す第1制御コマンド及び第2制御コマンドは受信しない。
このため、サブ制御基板80側では、ドアスイッチ16がオンの状態であり、かつ設定ドアスイッチ54がオンの状態であり、かつ設定キースイッチ52がオンの状態であることを示す第3制御コマンドを最初に受信してから64ms程度で、図26のステップS807に進むことになる。
さらに、リール31の回転中に設定確認の操作が行われるため、電源スイッチ51のオンから2秒経過した後に、図26のステップS807に進むことになる。
したがって、サブ制御基板80は、図26のステップS807において、電源スイッチ51のオンから2秒経過したと判断し、図26のステップS809に進んで、設定確認不可エラーを報知する。
また、たとえば、リール31の回転中に設定変更の操作を行った場合には、以下に示すようになる。
まず、リール31の回転中に、フロントカバーが開けられて、電源スイッチ51がオフにされ、その後、設定ドアが開けられ、設定キースイッチ52がオンの状態で、電源スイッチ51がオンにされる。このため、メイン制御基板60は、ドアスイッチ16がオンの状態であり、かつ設定ドアスイッチ54がオンの状態であり、かつ設定キースイッチ52がオンの状態であることを示す第3制御コマンドをサブ制御基板80に送信する。
また、メイン制御基板60側では、条件装置抽選(図11のステップS50)から遊技終了チェック処理(図11のステップS73)までの間は、設定変更不可フラグをオンにする。この状態で電源スイッチ51が一旦オフにされた後に再度オンにされることから、設定変更不可フラグがオンのまま、図8のステップS20に進むことになるので、設定変更不可エラーとなる。このため、メイン制御基板60は、設定変更中であることを示す第1制御コマンド及び第2制御コマンドをサブ制御基板80に送信することはない。
さらにまた、サブ制御基板80側では、ドアスイッチ16がオンの状態であり、かつ設定ドアスイッチ54がオンの状態であり、かつ設定キースイッチ52がオンの状態であることを示す第3制御コマンドは受信するが、設定変更中であることを示す第1制御コマンド及び第2制御コマンドは受信しない。
このため、サブ制御基板80側では、ドアスイッチ16がオンの状態であり、かつ設定ドアスイッチ54がオンの状態であり、かつ設定キースイッチ52がオンの状態であることを示す第3制御コマンドを最初に受信してから64ms程度で、図26のステップS807に進むことになる。
さらに、電源スイッチ51のオンから64ms程度で(2秒経過する前に)、図26のステップS807に進むことになる。
したがって、サブ制御基板80は、図26のステップS807において、電源スイッチ51のオンから2秒経過していないと判断し、図26のステップS808に進んで、設定変更不可エラーを報知する。
また、第3制御コマンドについて、D0ビットは、右ストップスイッチ42が操作を受付け可能な状態であるか否かを示し、D1ビットは、中ストップスイッチ42が操作を受付け可能な状態であるか否かを示し、D2ビットは、左ストップスイッチ42が操作を受付け可能な状態であるか否かを示し、D3ビットは、3ベットスイッチ40bが操作を受付け可能な状態であるか否かを示す。
さらに、第3制御コマンドのD0〜D3ビットについて、「0」のときは、操作を受付け不可の状態であることを示し、「1」のときは、操作を受付け可能な状態であることを示す。
このため、正常時には、第3制御コマンドのD0〜D3ビットがすべて「1」である場合はない。同様に、正常時には、D0ビット及びD3ビットの2つが「1」である場合、D1ビット及びD3ビットの2つが「1」である場合、D2ビット及びD3ビットの2つが「1」である場合もない。
そして、サブ制御基板80は、D0〜D3ビットがすべて「1」である第3制御コマンドを取得したときは、通信エラーと判断して、その旨を報知する。
また、サブ制御基板80は、D0ビット及びD3ビットの2つが「1」である第3制御コマンドを取得したとき、D1ビット及びD3ビットの2つが「1」である第3制御コマンドを取得したとき、D2ビット及びD3ビットの2つが「1」である第3制御コマンドを取得したときについても、通信エラーと判断して、その旨を報知する。
<第2実施形態>
第1実施形態では、メイン制御基板60からサブ制御基板80に対して、パラレル通信でコマンドを送信した。
これに対し、第2実施形態では、メイン制御基板60からサブ制御基板80に対して、シリアル通信でコマンドを送信する。
図27は、第2実施形態を示す図であって、メイン制御基板60からサブ制御基板80に対してコマンドを送信するための通信線を示す回路図である。コマンドは、メイン制御基板60からサブ制御基板80に対して一方向で送信する。
図27に示すように、メイン制御基板60上には、メインCPU63、及び2つのインバータバッファ(インバータバッファ1及び2)が搭載されている。
また、サブ制御基板80には、サブCPU83、及びバッファが搭載されている。
なお、メイン制御基板60及びサブ制御基板80上には、これら以外にも電子部品が搭載されているが、本実施形態では図示を省略している。
メインCPU63は、シリアル通信回路65を備えている。また、シリアル通信回路65は、送信用レジスタ65aを備えている。さらに、メインCPU63は、TX3出力端子を備えている。そして、メイン制御基板60からサブ制御基板80へのコマンドの送信には、シリアル通信回路65を用いる。具体的には、生成したコマンドを送信用レジスタ65aに書き込むと、送信用レジスタ65aに書き込まれたコマンドがTX3出力端子から出力される。
また、インバータバッファ1及び2は、出力ポートを構成するものである。インバータバッファ1の5A入力端子と5Y出力端子とが対応しているとともに、インバータバッファ2の6A入力端子と6Y出力端子とが対応している。さらに、メインCPU63のTX3出力端子は、インバータバッファ1の5A入力端子に接続され、インバータバッファ1の5Y出力端子は、インバータバッファ2の6A入力端子に接続されている。
なお、インバータバッファ1及び2を直列に接続しているが、これはコマンドにノイズが入るのを防止するためである。
また、メイン制御基板60上のインバータバッファ2の6Y出力端子は、サブ制御基板80上のバッファの1A入力端子に接続されている。さらにまた、サブ制御基板80上のバッファの1A入力端子と1Y出力端子とが対応している。さらに、バッファの1Y出力端子は、サブCPU83のRxD0入力端子に接続されている。そして、メイン制御基板60上のインバータバッファ2の6Y出力端子からは、サブ制御データ信号(制御コマンド)が出力される。
このように、第2実施形態では、メイン制御基板60上のインバータバッファ2の6Y出力端子と、サブ制御基板80上のバッファの1A入力端子とを繋ぐ通信線により、サブ制御データ信号(制御コマンド)がシリアル通信で送信される。
図28は、第2実施形態におけるサブ制御データ信号の波形を示す図である。
スタートビットは、データの開始を示すビットである。スタートビットの幅は1ビットであり、スタートビットの値は「0」である。
また、スタートビットの後のビット0〜ビット7の8ビットがデータビットである。
さらにまた、パリティビットは、データが正常に送信されたか否かをチェックするためのビットである。パリティビットの幅は1ビットである。パリティタイプとして、偶数パリティ又は奇数パリティを選択することができる。偶数パリティを選択したときは、データビット(ビット0〜ビット7)及びパリティビットにおける「1」の数が偶数になるように、パリティビットに「0」又は「1」がセットされる。奇数パリティを選択したときは、データビット及びパリティビットにおける「1」の数が奇数になるように、パリティビットに「0」又は「1」がセットされる。すなわち、「1」の数が偶数又は奇数になるように、パリティビットで調整する。
たとえば、偶数パリティが選択されている場合において、データビットが「10011011B」のときは、パリティビットには「1」がセットされる。
また、奇数パリティが選択されている場合において、データビットが「10011011B」のときは、パリティビットには「0」がセットされる。
さらにまた、偶数パリティが選択されている場合において、データビットが「10011010B」のときは、パリティビットには「0」がセットされる。
さらに、奇数パリティが選択されている場合において、データビットが「10011010B」のときは、パリティビットには「1」がセットされる。
また、ストップビットは、データの終了を示すビットである。ストップビットの幅は1ビットであり、ストップビットの値は「1」である。
そして、スタートビットからストップビットまでの11ビットで1フレームとされ、この1フレームで1つの制御コマンドを構成する。
さらに、本実施形態では、第1制御コマンドから第「n」制御コマンドまでの「n」個の制御コマンドで一連の制御コマンド群を構成する。
また、本実施形態では、第2制御コマンドから第「n」制御コマンドまでの「n−1」個の各制御コマンドにおいて、8ビットのデータビットのうち特定のビットは、継続する制御コマンドを有するか(一連の制御コマンド群の最後の制御コマンドであるか)否かを識別するためのビットとされている。そして、第2制御コマンドから第「n−1」制御コマンドまでの各制御コマンドでは、8ビットのデータビットのうち特定のビットには「1」がセットされ、第「n」制御コマンドでは、8ビットのデータビットのうち特定のビットには「0」がセットされる。
具体的には、本実施形態では、継続する制御コマンドを有するか否かを識別するための特定のビットとして、ビット「6」を割り当てている。そして、ビット「6」に「1」がセットされているときは、継続する制御コマンドを有する(一連の制御コマンド群の最後の制御コマンドでない)ことを示し、ビット「6」に「0」がセットされているときは、継続する制御コマンドを有しない(一連の制御コマンド群の最後の制御コマンドである)ことを示す。
これにより、サブ制御基板80側では、制御コマンドがまだ継続するのか否かを判断することができる。
また、本実施形態では、第1制御コマンドから第「n」制御コマンドまでの「n」個の制御コマンドの後に、一連の制御コマンド群の終了を示すSUMコマンドがセットされる。さらにまた、8ビットのデータビットのうち他の特定のビットは、一連の制御コマンド群が終了するか否かを識別するためのビットとされている。そして、第1制御コマンドから第「n」制御コマンドまでの各制御コマンドでは、8ビットのデータビットのうち他の特定のビットには「0」がセットされ、SUMコマンドでは、8ビットのデータビットのうち他の特定のビットには「1」がセットされる。
具体的には、本実施形態では、一連の制御コマンド群が終了するか否かを識別するための他の特定のビットとして、ビット「7」を割り当てている。そして、ビット「7」に「0」がセットされているときは、一連の制御コマンド群が終了しない(第1制御コマンドから第「n」制御コマンドまでのいずれかである)ことを示し、ビット「7」に「1」がセットされているときは、一連の制御コマンド群が終了する(SUMコマンドである)ことを示す。
これにより、サブ制御基板80側では、一連の制御コマンド群が終了するのか否かを判断することができる。
また、本実施形態では、第1制御コマンドから第3制御コマンドまでの3個の制御コマンドで一連の制御コマンド群を構成する場合、第1制御コマンドから第4制御コマンドまでの4個の制御コマンドで一連の制御コマンド群を構成する場合、及び第1制御コマンドから第5制御コマンドまでの5個の制御コマンドで一連の制御コマンド群を構成する場合を有する。
すなわち、一連の制御コマンド群における制御コマンドの個数を示す「n」は、「3」から「5」までの範囲内で可変とされている。「n」の最小値は「3」であり、最大値は「5」である。これにより、一連の制御コマンド群を可変長とすることができる。
また、第1制御コマンドは、少なくとも、コマンドの種別を示す情報、及び一連の制御コマンド群における制御コマンドの個数を示す情報を含み、第2制御コマンド〜第「n」制御コマンドは、コマンドの内容を示す情報を含む。
なお、第2制御コマンド〜第「n」制御コマンドでは、ビット「6」を、継続する制御コマンドを有するか否かの識別用に使用し、ビット「7」を、一連の制御コマンド群が終了するか否かの識別用に使用している。このため、第2制御コマンド〜第「n」制御コマンドでは、ビット「0」〜ビット「5」の5ビットを、コマンドの内容の送信用に使用することになる。
また、コマンドの種別として、たとえば、各種スイッチのオン/オフの状態を示す状態コマンド、各種エラーの検知/未検知を示すエラーコマンド、設定変更中又は設定確認中であるか否かを示す管理コマンド等を挙げることができる。
さらに、SUMコマンドのビット「0」〜ビット「6」には、第1制御コマンド〜第「n」制御コマンドの数値を加算し、さらに制御コマンドの個数を加算して得た数値がセットされる。
具体的には、たとえば、第1制御コマンドから第4制御コマンドまでの4個の制御コマンドで一連の制御コマンド群を構成することができる。
すなわち、「第1制御コマンド+第2制御コマンド+第3制御コマンド+第4制御コマンド+SUMコマンド」からなる一連のデータをメイン制御基板60からサブ制御基板80に送信することができる。
この場合、第1制御コマンドのデータビットには、制御コマンドの個数が4個であることを示す「00000100B」がセットされる。また、第2制御コマンド及び第3制御コマンドのデータビットのビット「6」には、継続する制御コマンドを有することを示す「1」がセットされ、第4制御コマンドのデータビットのビット「6」には、継続する制御コマンドを有しないことを示す「0」がセットされる。さらに、第1制御コマンドから第4制御コマンドまでのデータビットのビット「7」には、一連の制御コマンド群が終了しないことを示す「0」がセットされ、SUMコマンドのデータビットのビット「7」には、一連の制御コマンド群が終了することを示す「1」がセットされる。
また、たとえば、第1制御コマンド及び第2制御コマンドの2個の制御コマンドを2回繰り返して一連の制御コマンド群を構成することができる。
すなわち、「第1制御コマンド+第2制御コマンド+第1制御コマンド+第2制御コマンド+SUMコマンド」からなる一連のデータをメイン制御基板60からサブ制御基板80に送信することができる。
この場合、第1制御コマンドのデータビットには、制御コマンドの個数が2個であることを示す「00000010B」がセットされる。また、第2制御コマンドのデータビットのビット「6」には、継続する制御コマンドを有しないことを示す「0」がセットされる。さらに、第1制御コマンド及び第2制御コマンドのデータビットのビット「7」には、一連の制御コマンド群が終了しないことを示す「0」がセットされ、SUMコマンドのデータビットのビット「7」には、一連の制御コマンド群が終了することを示す「1」がセットされる。
また、メイン制御基板60(メインCPU63)は、生成した制御コマンドを、制御コマンドバッファ(リングバッファ)に記憶させることなく送信用レジスタ65aに直接書き込んで、サブ制御基板80に送信する。
本実施形態では、送信用レジスタ65aは、64バイトの記憶領域を有している。また、1個の制御コマンドは、1バイトのデータで構成されている。このため、送信用レジスタ65aは、64個のコマンドを記憶可能とされている。
また、一連の制御コマンド群における制御コマンドの個数は、最大で5個である。このため、メイン制御基板60は、送信用レジスタ65aにおける未使用の記憶領域が5バイト以上(使用済みの記憶領域が60バイト未満)のときは、送信用レジスタ65aへの制御コマンドの書き込みを許可するが、送信用レジスタ65aにおける未使用の記憶領域が5バイト未満(使用済みの記憶領域が60バイト以上)のときは、送信用レジスタ65aへの制御コマンドの書き込みを禁止する。
すなわち、送信用レジスタ65aにおける未使用の記憶領域に「n」個の制御コマンドを書き込むことが可能なときは、送信用レジスタ65aへの制御コマンドの書込みを許可する。
これに対し、送信用レジスタ65aにおける未使用の記憶領域に「n」個の制御コマンドを書き込むことが可能でないときは、送信用レジスタ65aへの制御コマンドの書込みを禁止する。
これにより、制御コマンドが送信用レジスタ65aの記憶領域から溢れないようにしている。
また、メイン制御基板60は、送信用レジスタ65aに書き込まれている制御コマンドを、割込み処理が実行されたか否かにかかわらず、サブ制御基板80に送信する。
具体的には、本実施形態では、動作モードは、FIFO(Firet In First Out)モードに設定され、ボーレートは、38400bpsに設定されている。FIFOモードは、送信用レジスタ65aに書き込まれている制御コマンドを、送信用レジスタ65aに書き込まれた順に、サブ制御基板80に送信するものである。また、ボーレートは、1秒あたりに送信するビット数(bps)を単位とする通信速度をいう。1秒あたりに38400ビットのデータを送信可能であるので、1フレーム(11ビット)の制御コマンドを0.286msで送信することができる。
また、メイン制御基板60は、電源断発生時には、図18の電源断処理(IS_POWER_DOWN )が終了する前に、送信用レジスタ65aに書き込まれている制御コマンドをサブ制御基板80に送信することができる。メイン制御基板60は、1秒あたりに38400ビットのデータを送信可能であることから、64フレームの制御コマンドを18.304msで送信することができるが、電源断処理(IS_POWER_DOWN )には、18.304msより長い時間を要するためである。
さらにまた、サブ制御基板80は、SUMコマンドを受信したか否かによって、可変長な制御コマンド群に含まれる制御コマンドをすべて受信したか否かを判断することができる。そして、サブ制御基板80は、SUMコマンドを受信するまでは、それまでに受信した制御コマンドをサブ制御基板80上のRWM81に格納する処理を実行せず、SUMコマンドを受信すると、それまでに受信した制御コマンドをサブ制御基板80上のRWM81に格納する処理を実行する。
さらに、メイン制御基板60は、サブ制御基板80に対し、同一の制御コマンド群を2回連続で送信する。そして、サブ制御基板80は、同一の制御コマンド群を2回連続して受信したときは、その制御コマンド群を正常に受信したと判断する。
なお、シリアル通信線は、有線に限られるものではなく、たとえば、無線にしてもよい。また、たとえば、光ファイバでシリアル通信線を構成することもできる。
以上、本発明の一実施形態について説明したが、本発明は、上記実施形態に限定されるものではなく、たとえば、以下のような種々の変形が可能である。
(1)本実施形態では、割込み処理の間隔は、「2.235ms」としたが、この値に限られるものではない。たとえば「1ms」等、種々の時間が挙げられる。
(2)本実施形態で示したフローチャートにおいて、処理の順序は、図で示した順序に限られるものではなく、処理の順序を入替え可能な場合には、処理の順序を入れ替えることも可能である。
(3)第1実施形態では、メイン制御基板60は、「7.19μs」の間にわたって、出力ポート7から第2制御コマンドを出力するとともに、出力ポート8から第1制御コマンドを出力し、その後、出力ポート7及び出力ポート8からそれぞれ制御コマンドクリアデータ(「00000000B」)を出力した。しかし、第1制御コマンド及び第2制御コマンドを出力する時間は、「7.19μs」に限られるものではない。たとえば、「6μs」又は「10μs」等、第1制御コマンド及び第2制御コマンドの出力時間は、サブ制御基板80が取得可能な範囲内で、適宜設定することができる。
(4)第1実施形態では、サブ制御基板80は、サブ制御データストローブ信号の立ち上がりを契機に、第1制御コマンド及び第2制御コマンドを取得したが、これに限られるものではない。サブ制御基板80は、たとえば、サブ制御データストローブ信号の立ち下がりを契機に、第1制御コマンド及び第2制御コマンドを取得してもよい。
(5)第1実施形態では、サブ制御基板80は、第1制御コマンド及び第2制御コマンドが出力されている「7.19μs」の間に、これらをそれぞれ4回取得可能としたが、これに限られるものではない。サブ制御基板80が第1制御コマンド及び第2制御コマンドを取得する回数は、たとえば「3回」又は「5回」等、第1制御コマンド及び第2制御コマンドの出力時間に応じて、適宜設定することができる。
(6)第1実施形態では、サブ制御基板80は、同一内容の第1制御コマンドを2回連続して取得し、かつ同一内容の第2制御コマンドを2回連続して取得したときは、制御コマンドを正常に取得したと判断したが、これに限られるものではない。たとえば、サブ制御基板80は、第1制御コマンド及び第2制御コマンドをそれぞれ1回ずつ取得するようにしてもよい。
(7)第1実施形態では、サブ制御基板80は、D0ビット(右ストップスイッチ42が操作を受付け可能な状態であるか否か)、D1ビット(中ストップスイッチ42が操作を受付け可能な状態であるか否か)、D2ビット(左ストップスイッチ42が操作を受付け可能な状態であるか否か)、及びD3ビット(3ベットスイッチ40bが操作を受付け可能な状態であるか否か)がすべて「1」である(操作を受付け可能な状態である旨を示す)第3制御コマンドを取得したときは、通信エラーと判断して、その旨を報知した。
しかし、これに限られるものではない。たとえば、サブ制御基板80は、D0〜D3ビットがすべて「1」である第3制御コマンドを取得したときは、通信エラーの報知をすることなく、D0〜D3をすべて「0」に書き換えて、その後の処理を進めるようにしてもよい。
(8)第1実施形態では、サブ制御データストローブ信号は、フリップフロップ1の8Q出力端子(出力ポート2のD7ビット)から出力したが、これに限られるものではなく、出力ポート2のD0〜D6ビットのいずれか1つから出力するようにしてもよい。
(9)第1実施形態では、フリップフロップ1の1Q出力端子(出力ポート2のD0ビット)からは、3枚投入表示LED信号を出力し、同2Q出力端子(同D1ビット)からは、2枚投入表示LED信号を出力し、同3Q出力端子(同D2ビット)からは、1枚投入表示LED信号を出力した。
すなわち、サブ制御データストローブ信号の出力ポートと、3枚投入表示LED信号、2枚投入表示LED信号、及び1枚投入表示LED信号の出力ポートとを兼用にした。
しかし、サブ制御データストローブ信号と出力ポートを兼用にするのは、3枚投入表示LED信号、2枚投入表示LED信号、及び1枚投入表示LED信号に限られるものではない。
たとえば、出力ポート2のD0ビットからは、左ストップスイッチ42に対応して設けられている左ストップ用LEDを青色に発光させるための青左信号を出力し、同D1ビットからは、中ストップスイッチ42に対応して設けられている中ストップ用LEDを青色に発光させるための青中信号を出力し、同D2ビットからは、右ストップスイッチ42に対応して設けられている右ストップ用LEDを青色に発光させるための青右信号を出力することができる。
また、同D3ビットからは、左ストップ用LEDを赤色に発光させるための赤左信号を出力し、同D4ビットからは、中ストップ用LEDを赤色に発光させるための赤中信号を出力し、同D5ビットからは、右ストップ用LEDを赤色に発光させるための赤右信号を出力することができる。
さらにまた、同D6ビットからは、サブ制御データストローブ信号を出力し、同D7ビットからは、ホッパーモータ36を駆動させるためのホッパーモータ駆動信号を出力することができる。
このように、サブ制御データストローブ信号の出力ポートと、青左信号、青中信号、青右信号、赤左信号、赤中信号、赤右信号、及びホッパーモータ駆動信号の出力ポートとを兼用にすることができる。
また、左、中、及び右ストップ用LEDを赤色に発光させ、サブ制御データストローブ信号をオフにし、ホッパーモータ36を駆動させるときは、「10111000B」というパターンの8ビットデータを生成して、これを出力ポート2から出力する。
さらにまた、左、中、及び右ストップ用LEDを赤色に発光させ、サブ制御データストローブ信号をオフにし、ホッパーモータ36を駆動させないときは、「00111000B」というパターンの8ビットデータを生成して、これを出力ポート2から出力する。
さらに、左、中、及び右ストップ用LEDを消灯させ、サブ制御データストローブ信号をオフにし、ホッパーモータ36を駆動させるときは、「10000000B」というパターンの8ビットデータを生成して、これを出力ポート2から出力する。
また、左、中、及び右ストップ用LEDを消灯させ、サブ制御データストローブ信号をオフにし、ホッパーモータ36を駆動させないときは、「00000000B」というパターンの8ビットデータを生成して、これを出力ポート2から出力する。
すなわち、赤左信号、赤中信号、及び赤右信号がオンの状態で、ホッパーモータ駆動信号をオンにするときは、赤左信号、赤中信号、及び赤右信号に対応するビットのデータを、オンであることを示すデータとし、かつホッパーモータ駆動信号に対応するビットのデータを、オンであることを示すデータとした8ビットデータを生成して、これを出力ポート2から出力する。
また、赤左信号、赤中信号、及び赤右信号がオンの状態で、ホッパーモータ駆動信号をオフにするときは、赤左信号、赤中信号、及び赤右信号に対応するビットのデータを、オンであることを示すデータとし、かつホッパーモータ駆動信号に対応するビットのデータを、オフであることを示すデータとした8ビットデータを生成して、これを出力ポート2から出力する。
さらにまた、赤左信号、赤中信号、及び赤右信号がオフの状態で、ホッパーモータ駆動信号をオンにするときは、赤左信号、赤中信号、及び赤右信号に対応するビットのデータを、オフであることを示すデータとし、かつホッパーモータ駆動信号に対応するビットのデータを、オンであることを示すデータとした8ビットデータを生成して、これを出力ポート2から出力する。
さらに、赤左信号、赤中信号、及び赤右信号がオフの状態で、ホッパーモータ駆動信号をオフにするときは、赤左信号、赤中信号、及び赤右信号に対応するビットのデータを、オフであることを示すデータとし、かつホッパーモータ駆動信号に対応するビットのデータを、オフであることを示すデータとした8ビットデータを生成して、これを出力ポート2から出力する。
また、たとえば、出力ポート2のD0〜D3ビットからは、左リール31のモータ32を1−2相励磁で駆動させるφ0〜φ3の各信号を出力し、出力ポート2のD7ビットからは、サブ制御データストローブ信号を出力することができる。すなわち、サブ制御データストローブ信号の出力ポートと、左リール31のモータ32を1−2相励磁で駆動させるφ0〜φ3の各信号の出力ポートとを兼用にすることができる。
この場合、出力ポート2のD0〜D3ビットに対応するデータを、左リール31のモータ32の駆動信号の出力態様(φ0〜φ3の各信号のオン/オフのパターン)に対応するデータとし、かつ出力ポート2のD7ビットに対応するデータを、サブ制御データストローブ信号の出力態様(オン/オフ)に対応するデータとした8ビットデータを生成して、これを出力ポート2に出力する。
(10)第1実施形態では、エラー監視用タイマは、設定キースイッチ52がオンの状態であり、かつ設定ドアスイッチ54がオンの状態であり、かつドアスイッチ16がオンの状態であることを示す第3制御コマンドを受信してからの時間を計測するとした。
しかし、これに限らず、エラー監視用タイマは、たとえば、設定キースイッチ52がオンの状態であることを示す第3制御コマンドを受信してからの時間を計測してもよい。すなわち、エラー監視用タイマは、受信した第3制御コマンドに基づいて、設定キースイッチ52がオンの状態であると判断したときは、設定ドアスイッチ54及びドアスイッチ16がオンの状態であるか否かにかかわらず、時間の計測を開始してもよい。
(11)第1実施形態では、エラー監視用タイマは、初期値を「4」とし、16msごとに値を「1」減算し、値が「0」になるとタイムアウトになるとした。
しかし、初期値は「4」に限らず、種々設定することができる。
また、タイムアウトになるときの値は「0」に限らず、種々設定することができる。
さらにまた、カウント動作は、16msごとに値を「1」減算する場合に限らず、たとえば、20msごとに値を「1」減算したり、1msごとに値を「10」減算したり、1msごとに値を「1」加算するなど、種々設定することができる。
(12)第1実施形態では、稼動時間タイマは、電源投入からの時間を計測した。
しかし、これに限らず、稼動時間タイマは、たとえば、電源投入後、サブ制御基板80側の制御プログラムが起動してからの時間を計測してもよい。
また、電源投入されたときに、稼動時間タイマに初期値として「2秒」をセットし、その後、稼動時間タイマをカウントダウンさせてもよい。そして、稼動時間タイマが「0」か否かを判断することで、電源投入から2秒経過したか否かを判断してもよい。
さらにまた、稼動時間タイマにより計測する電源投入からの経過時間は「2秒」に限られるものではなく、適宜設定することができる。
(13)第2実施形態では、第1制御コマンドから第「n」制御コマンドまでのn個の制御コマンドで一連の制御コマンド群を構成し、「n」は、「3」から「5」までの範囲内で可変とした。すなわち、一連の制御コマンド群における制御コマンドの個数は、最小で3個、最大で5個とした。しかし、これに限られるものではなく、「n」は、たとえば、「3」から「4」までの範囲内で可変としてもよく、また、「3」から「8」までの範囲内で可変としてもよい。
(14)第2実施形態では、送信用レジスタ65aは、64バイトの記憶領域を有するとしたが、送信用レジスタ65aの記憶領域は64バイトに限られるものではない。たとえば、32バイト又は128バイト等、送信用レジスタ65aの記憶領域は適宜設定することができる。
(15)第2実施形態では、メイン制御基板60は、送信用レジスタ65aの未使用の記憶領域が5バイト以上のときは、送信用レジスタ65aへの制御コマンドの書き込みを許可し、送信用レジスタ65aの未使用の記憶領域が5バイト未満のときは、送信用レジスタ65aへの制御コマンドの書き込みを禁止するとしたが、これに限られるものではない。
一連の制御コマンド群における制御コマンドの個数を示す「n」の最大値を「nmax」とし、送信用レジスタ65aの記憶領域をmバイト(m>nmax)とする。
この場合、メイン制御基板60は、送信用レジスタ65aの未使用の記憶領域が「nmax」バイト以上(使用済みの記憶領域が「m−nmax+1」バイト未満)のときは、送信用レジスタ65aへの制御コマンドの書き込みを許可し、送信用レジスタ65aの未使用の記憶領域が「nmax」バイト未満(使用済みの記憶領域が「m−nmax+1」バイト以上)のときは、送信用レジスタ65aへの制御コマンドの書き込みを禁止する。
このように、制御コマンドの書き込みを許可又は禁止するときの送信用レジスタ65aの未使用の記憶領域のバイト数は、「n」及び「nmax」の値に応じて決定されるものである。
(16)本実施形態では、遊技機の一例としてスロットマシン10を例に挙げたが、弾球遊技機や封入式遊技機等にも適用可能である。
(17)本実施形態及び上記の各種の変形例は、単独で実施されることに限らず、適宜組み合わせて実施することが可能である。
<付記>
本願の当初明細書等に記載した発明(当初発明)は、たとえば以下の当初発明1〜5を挙げることができ、それぞれ、当初発明が解決しようとする課題、当初発明に係る課題を解決するための手段及び当初発明の効果は、以下の通りである。ただし、当初発明は、以下の当初発明1〜5に限ることを意味するものではない。
なお、本願の請求項に係る当初発明は、以下の当初発明5に相当する。
1.当初発明1
(a)当初発明1が解決しようとする課題
当初発明は、メイン制御手段からサブ制御手段に対してパラレル通信でコマンドを送信する遊技機に関するものである。
従来より、メイン制御手段からサブ制御手段に対してパラレル通信でコマンドを送信する遊技機が知られている(たとえば、特開平11−114166号公報参照)。
従来の遊技機では、一のコマンドを出力したときは、次のコマンドを出力するまで、一のコマンドを出力した状態を維持していた。
また、一のコマンドを出力した後に、一のコマンドに対応するストローブ信号をオンにし、サブ制御手段が一のコマンドを取得するために必要な時間を経過したときは、一のコマンドに対応するストローブ信号をオフにしていた。
このため、一のコマンドに対応するストローブ信号をオフにしてから、次のコマンドに対応するストローブ信号をオンにするまでの間に、ストローブ信号にノイズが入ると、サブ制御手段側では、一のコマンドを再度取得することとなり、これにより意図しない処理を実行してしまうおそれがあった。
当初発明が解決しようとする課題は、ストローブ信号にノイズが入っても、サブ制御手段側で意図しない処理を実行しないようにすることである。
(b)当初発明1の課題を解決するための手段(なお、かっこ書きで、対応する実施形態を記載する。)
第1の解決手段は、
遊技の進行を制御するメイン制御手段(メイン制御基板60)と、
演出を制御するサブ制御手段(サブ制御基板80)と
を備え、
前記メイン制御手段から前記サブ制御手段に対してパラレル通信によって一方向でコマンドを送信するように構成され(図2のサブ制御データ信号1〜8及びサブ制御データ信号9〜16)、
前記メイン制御手段は、
前記サブ制御手段に対してコマンド(第1制御コマンド及び第2制御コマンド)を送信可能な出力ポート(出力ポート7及び出力ポート8)を備え、
前記サブ制御手段に対して割込み処理(図17)によってコマンドを送信する(図17のステップS608)ように構成され、
割込み処理の間隔より短い時間であって前記サブ制御手段がコマンドを取得するために必要な時間である所定時間(図20のA+B+C=7.19μs)の間は、前記出力ポートにコマンドを出力し(図19のステップS666)、前記所定時間の経過後(図20の出力終了より後)は、前記出力ポートに、前記サブ制御手段での処理に不必要なデータであるクリアデータ(制御コマンドクリアデータ)を出力する(図19のステップS671)
ことを特徴とする。
第2の解決手段は、第1の解決手段において、
前記サブ制御手段は、前記クリアデータを取得したときは、不必要なデータであると判断して、これを破棄する
ことを特徴とする。
第3の解決手段は、第1又は第2の解決手段において、
前記メイン制御手段は、前記所定時間の期間内に、コマンドの取得タイミングを示すストローブ信号をオフからオンにした後にオンからオフにする(図19のステップS667及びステップS670、図20)
ことを特徴とする。
第4の解決手段は、第1〜第3の解決手段において、
前記サブ制御手段は、前記所定時間の期間内に、コマンドをn回(n≧2)(4回)取得可能に構成されているとともに、同一内容のコマンドをm回(n≧m≧2)(2回)連続して取得したときは、コマンドを正常に取得したと判断する
ことを特徴とする。
第5の解決手段は、第1〜第4の解決手段において、
前記出力ポートとして、第1出力ポート(出力ポート7)及び第2出力ポート(出力ポート8)を備え、
前記メイン制御手段は、
前記サブ制御手段に対して、第1出力ポートから第1コマンド(第2制御コマンド)を送信し、かつ第2出力ポートから第2コマンド(第1制御コマンド)を送信するように構成され、
前記所定時間の間は、第1出力ポートに第1コマンドを出力するとともに、第2出力ポートに第2コマンドを出力し、前記所定時間の経過後は、第1出力ポート及び第2出力ポートにそれぞれ前記クリアデータを出力する
ことを特徴とする。
(c)当初発明1の効果
当初発明によれば、ストローブ信号にノイズが入っても、サブ制御手段側では、クリアデータを取得することとなり、不必要なデータであると判断することができるので、意図しない処理を実行しないようにすることができる。
2.当初発明2
(a)当初発明2が解決しようとする課題
当初発明は、複数ビットのデータを並列に出力可能な出力ポートを使用して周辺機器の制御信号を出力する遊技機に関するものである。
従来より、メイン制御手段からサブ制御手段に対してパラレル通信でコマンドを送信する遊技機が知られている(たとえば、特開2001−038021号公報参照)。
特開2001−038021号公報の技術では、メイン制御手段からサブ制御手段に対して、8ビットのコマンドデータを8ビットのパラレル通信線で送信するとともに、1ビットのストローブ信号を1ビットの通信線で送信している。
なお、特開2001−038021号公報の図36は、12ピンのコネクタにおけるピン番号・ピン配列と信号名との対応関係を示したものであり、コマンドデータやストローブ信号の出力ポートを示すものではない。
従来の遊技機では、8ビットの出力ポートを使用してストローブ信号を出力すると、ストローブ信号の出力に使用するビットは1ビットであるため、ストローブ信号の出力に使用するビット以外のビットが余剰となっていた。
すなわち、複数ビットのデータを並列に出力可能な出力ポートを使用して周辺機器の制御信号を出力すると、制御信号の出力に使用するビット以外のビットが余剰となる。
当初発明が解決しようとする課題は、複数ビットのデータを並列に出力可能な出力ポートを使用して周辺機器の制御信号を出力する場合において、出力ポートを有効に活用することである。
(b)当初発明2の課題を解決するための手段(なお、かっこ書きで、対応する実施形態を記載する。)
第1の解決手段は、
遊技の進行を制御するメイン制御手段(メイン制御基板60)と、
前記メイン制御手段によって制御可能な第1周辺機器(1枚〜3枚投入表示LED73e〜g)及び第2周辺機器(サブ制御基板80)と
を備え、
前記メイン制御手段は、
複数ビット(8ビット)のデータを並列に出力可能な出力ポート(出力ポート2)を備え、
前記出力ポートの所定ビット(D0〜D2ビット(1Q〜3Q出力端子))からは、第1周辺機器を制御する第1制御信号(1枚〜3枚投入表示LED信号)を出力可能であり、
前記出力ポートにおける前記所定ビット以外の特定ビット(D7ビット(8Q出力端子))からは、第2周辺機器を制御する第2制御信号(サブ制御データストローブ信号)を出力可能であり、
前記所定ビットに対応するデータを第1制御信号の出力態様(1枚〜3枚投入表示LED信号それぞれのオン/オフのパターン)に対応するデータ(「0」又は「1」)とし、かつ前記特定ビットに対応するデータを第2制御信号の出力態様(サブ制御データストローブ信号のオン/オフ)に対応するデータ(「0」又は「1」)とした複数ビットのデータを生成して、これを前記出力ポートから出力する
ことを特徴とする。
第2の解決手段は、第1の解決手段において、
第1制御信号の出力態様が出力態様P1(1枚〜3枚投入表示LED信号がすべてオン)の状態で、第2制御信号の出力態様を出力態様Q1(サブ制御データストローブ信号をオン)にするときは、前記所定ビットに対応するデータを出力態様P1に対応するデータ(D0〜D2ビットをそれぞれ「1」)とし、かつ前記特定ビットに対応するデータを出力態様Q1に対応するデータ(D7ビットを「1」)とした複数ビットのデータを生成して、これを前記出力ポートから出力し、
第1制御信号の出力態様が出力態様P1の状態で、第2制御信号の出力態様を出力態様Q2(Q2≠Q1)(サブ制御データストローブ信号をオフ)にするときは、前記所定ビットに対応するデータを出力態様P1に対応するデータとし、かつ前記特定ビットに対応するデータを出力態様Q2に対応するデータ(D7ビットを「0」)とした複数ビットのデータを生成して、これを前記出力ポートから出力し、
第1制御信号の出力態様が出力態様P2(P2≠P1)(1枚〜3枚投入表示LED信号がすべてオフ)の状態で、第2制御信号の出力態様を出力態様Q1にするときは、前記所定ビットに対応するデータを出力態様P2に対応するデータ(D0〜D2ビットをそれぞれ「0」)とし、かつ前記特定ビットに対応するデータを出力態様Q1に対応するデータとした複数ビットのデータを生成して、これを前記出力ポートから出力し、
第1制御信号の出力態様が出力態様P2の状態で、第2制御信号の出力態様を出力態様Q2にするときは、前記所定ビットに対応するデータを出力態様P2に対応するデータとし、かつ前記特定ビットに対応するデータを出力態様Q2に対応するデータとした複数ビットのデータを生成して、これを前記出力ポートから出力する
ことを特徴とする。
第3の解決手段は、第1の解決手段において、
第2周辺機器として、演出を制御するサブ制御手段(サブ制御基板80)を備え、
前記メイン制御手段は、
前記出力ポートとして、第1出力ポート(出力ポート6〜8)及び第2出力ポート(出力ポート2)を備え、
第1出力ポートからは、前記サブ制御手段に送信するコマンド(第1〜第3制御コマンド(サブ制御データ信号1〜24))を出力可能であり、
第2出力ポートの前記所定ビットからは、第1制御信号を出力可能であり、
第2出力ポートの前記特定ビットからは、第2制御信号として、前記サブ制御手段に送信するコマンドの取得タイミングを示すストローブ信号を出力可能であり、
前記所定ビットに対応するデータを第1制御信号の出力態様に対応するデータとし、かつ前記特定ビットに対応するデータを前記ストローブ信号のオン又はオフに対応するデータとした複数ビットのデータを生成して、これを第2出力ポートから出力する
ことを特徴とする。
第4の解決手段は、第3の解決手段において、
第1制御信号の出力態様が所定出力態様(1枚〜3枚投入表示LED信号がすべてオン)の状態で、前記ストローブ信号をオンにするときは、前記所定ビットに対応するデータを前記所定出力態様に対応するデータ(D0〜D2ビットをそれぞれ「1」)とし、かつ前記特定ビットに対応するデータを前記ストローブ信号がオンであることを示すデータ(D7ビットを「1」)とした複数ビットのデータを生成して、これを第2出力ポートから出力し、
第1制御信号の出力態様が前記所定出力態様の状態で、前記ストローブ信号をオフにするときは、前記所定ビットに対応するデータを前記所定出力態様に対応するデータとし、かつ前記特定ビットに対応するデータを前記ストローブ信号がオフであることを示すデータ(D7ビットを「0」)とした複数ビットのデータを生成して、これを第2出力ポートから出力し、
第1制御信号の出力態様が前記所定出力態様と異なる特定出力態様(1枚〜3枚投入表示LED信号がすべてオフ)の状態で、前記ストローブ信号をオンにするときは、前記所定ビットに対応するデータを前記特定出力態様に対応するデータ(D0〜D2ビットをそれぞれ「0」)とし、かつ前記特定ビットに対応するデータを前記ストローブ信号がオンであることを示すデータとした複数ビットのデータを生成して、これを第2出力ポートから出力し、
第1制御信号の出力態様が前記特定出力態様の状態で、前記ストローブ信号をオフにするときは、前記所定ビットに対応するデータを前記特定出力態様に対応するデータとし、かつ前記特定ビットに対応するデータを前記ストローブ信号がオフであることを示すデータとした複数ビットのデータを生成して、これを第2出力ポートから出力する
ことを特徴とする。
第5の解決手段は、第4の解決手段において、
前記メイン制御手段は、第1出力ポートにコマンドを出力している間(図19のステップS666〜S671の間、図20の第1制御コマンド及び第2制御コマンドの出力開始から出力終了までの間)に、前記ストローブ信号をオフからオンに(図19のステップS667、図20のサブ制御データストローブ信号の立ち上がり)した後にオンからオフに(図19のステップS670、図20のサブ制御データストローブ信号の立ち下がり)する
ことを特徴とする。
(c)当初発明2の効果
当初発明によれば、出力ポートから並列に出力する複数ビットのデータによって、第1周辺機器及び第2周辺機器の駆動を制御することができ、出力ポートにおいて余剰となるビットを減らすことができるので、出力ポートを有効に活用することができる。
3.当初発明3
(a)当初発明3が解決しようとする課題
当初発明は、メイン制御手段からサブ制御手段に対してシリアル通信でコマンドを送信する遊技機に関するものである。
従来より、メイン制御手段からサブ制御手段に対してシリアル通信でコマンドを送信する遊技機が知られている(たとえば、特開2014−188060号公報参照)。
特開2014−188060号公報の技術では、第1コマンド及び第2コマンドの2個のコマンドでコマンド群を構成している。また、第1コマンドは、コマンドの種別を示し、第2コマンドは、その内容を示している。さらにまた、第1コマンド及び第2コマンドの特定のビットにセットする情報を異ならせることで、第1コマンド又は第2コマンドを識別している。
そして、メイン制御手段は、生成した第1コマンド及び第2コマンドを、一旦バッファに記憶させ、バッファに記憶されている第1コマンド及び第2コマンドを、割込み処理によってサブ制御手段に送信していた。
上述したように、従来の遊技機では、コマンド群を構成する2個のコマンドのうち、第1コマンドは、コマンドの種別を示すものであり、また、第1コマンド及び第2コマンドの特定のビットは、第1コマンド又は第2コマンドを識別するためのものであった。このため、1回のコマンド送信でサブ制御手段に伝達可能な情報量が限られていたので、コマンドの送信効率を高めることが求められていた。
当初発明が解決しようとする課題は、メイン制御手段からサブ制御手段に対してシリアル通信でコマンドを送信する場合において、コマンドの送信効率を高めることである。
(b)当初発明3の課題を解決するための手段(なお、かっこ書きで、対応する実施形態を記載する。)
第1の解決手段は、
遊技の進行を制御するメイン制御手段(メイン制御基板60)と、
演出を制御するサブ制御手段(サブ制御基板80)と
を備え、
第1コマンドから第「n」コマンド(n≧3)までの「n」個のコマンドから構成されるコマンド群を前記メイン制御手段から前記サブ制御手段に対してシリアル通信によって一方向で送信するように構成され、
前記メイン制御手段は、前記コマンド群を構成する「n」個のコマンドをバッファに記憶させることなく送信用レジスタ(65a)に記憶させることで、前記コマンド群を前記サブ制御手段に送信可能であり、
前記送信用レジスタは、「m」個(m>n)(64個)のコマンドを記憶可能な記憶領域を有し、
前記メイン制御手段は、
前記送信用レジスタにおける未使用の記憶領域に「n」個のコマンドを書き込むことが可能なときは、前記送信用レジスタへのコマンドの書込みを許可し、
前記送信用レジスタにおける未使用の記憶領域に「n」個のコマンドを書き込むことが可能でないときは、前記送信用レジスタへのコマンドの書込みを禁止する
ことを特徴とする。
第2の解決手段は、第1の解決手段において、
前記メイン制御手段は、前記コマンド群を構成する「n」個のコマンドのうち、第2コマンドから第「n」コマンドまでの「n−1」個の各コマンドの特定ビット(ビット「6」)には、継続するコマンドを有するか否かを示す特定情報(継続する制御コマンドを有することを示す「1」、又は継続する制御コマンドを有しないことを示す「0」)をセットする
ことを特徴とする。
第3の解決手段は、第2の解決手段において、
前記メイン制御手段は、前記コマンド群を構成する「n」個のコマンドの後に、前記コマンド群の終了を示す特定コマンド(SUMコマンド)をセットして前記サブ制御手段に送信する
ことを特徴とする。
(c)当初発明3の効果
当初発明によれば、3個以上のコマンドを一群として送信することができるので、コマンドの送信効率を高めることができる。
4.当初発明4
(a)当初発明4が解決しようとする課題
当初発明は、メイン制御手段からサブ制御手段に対してコマンドを送信する遊技機に関するものである。
従来より、メイン制御手段からサブ制御手段に対してコマンドを送信する遊技機が知られている(たとえば、特開2015−008872号公報参照)。
特開2015−008872号公報の技術では、メイン制御手段は、サブ制御手段に送信する複数種類のコマンドを、一旦バッファに記憶させる。そして、バッファに記憶されているコマンドを、先にバッファに記憶されたものから順に、割込み処理によって、同一の通信線を通して、サブ制御手段に送信している。
また、複数種類のコマンドのうち、所定のコマンドについては、メイン制御手段は、10割込みごとに、所定のコマンドを構成するデータに変化があったか否かを判断する。そして、変化があったと判断したときは、所定のコマンドを生成して、これをバッファに記憶させる。
さらにまた、複数種類のコマンドのうち、所定のコマンドより重要度が高い特定のコマンドについては、メイン制御手段は、8割込みごとに、特定のコマンドを構成するデータに変化があったか否かを判断する。そして、変化があったと判断したときは、特定のコマンドを生成して、これをバッファに記憶させる。
このようにして、特開2015−008872号公報の技術では、特定のコマンドの生成を優先しつつ、バッファがコマンドで溢れないようにしている。
上述した従来の遊技機では、8割込みごとに、特定のコマンドを構成するデータに変化があったか否かを判断する処理や、10割込みごとに、所定のコマンドを構成するデータに変化があったか否かを判断する処理が、メイン制御手段側で大きな負担となっていた。
当初発明が解決しようとする課題は、バッファがコマンドで溢れないようにしつつ、メイン制御手段側でのコマンド送信の処理負担を軽減することである。
(b)当初発明4の課題を解決するための手段(なお、かっこ書きで、対応する実施形態を記載する。)
第1の解決手段は、
遊技の進行を制御するメイン制御手段(メイン制御基板60)と、
演出を制御するサブ制御手段(サブ制御基板80)と、
前記メイン制御手段から前記サブ制御手段に対して一方向でコマンドを送信可能な通信線と
を備え、
前記サブ制御手段に送信するコマンドとして、第1コマンド(第1制御コマンド、第2制御コマンド)及び第2コマンド(第3制御コマンド)を有し、
前記通信線として、第1コマンドを送信可能な第1通信線(サブ制御データ信号1〜8用の通信線、サブ制御データ信号9〜16用の通信線)、及び第2コマンドを送信可能な第2通信線(サブ制御データ信号17〜24用の通信線)を有し、
前記メイン制御手段は、
前記サブ制御手段に送信するコマンドを記憶可能なバッファ(制御コマンドバッファ(リングバッファ))を備え、
所定情報を含む第1コマンドを前記バッファに記憶させ、
前記バッファに記憶されている第1コマンドを、割込み処理によって、第1通信線を通して前記サブ制御手段に送信し、
前記所定情報と異なる情報を含む第2コマンドを、前記バッファに記憶させることなく、前記割込み処理によって、第2通信線を通して前記サブ制御手段に送信する
ことを特徴とする。
第2の解決手段は、第1の解決手段において、
第2コマンドは、正常時には同時にオンとなることがない複数の特定情報(左ストップスイッチ42が操作を受付け可能な状態であるか否かを示す情報(D2ビット)、及び3ベットスイッチ40bが操作を受付け可能な状態であるか否かを示す情報(D3ビット))を含み、
前記サブ制御手段は、受信した第2コマンドに含まれる前記複数の特定情報がオン(「1」)であるときは、通信エラーと判断して、その旨を報知する
ことを特徴とする。
(c)当初発明4の効果
当初発明によれば、第1コマンドと異なる情報を含む第2コマンドを、バッファに記憶させることなく、第1コマンドを通す第1通信線とは別の第2通信線を通してサブ制御手段に送信するので、バッファがコマンドで溢れないようにしつつ、メイン制御手段側でのコマンド送信の処理負担を軽減することができる。
5.当初発明5
(a)当初発明5が解決しようとする課題
当初発明は、メイン制御手段側から送信されたコマンドに基づいてサブ制御手段側でエラーの報知を行う遊技機に関するものである。
従来より、メイン制御手段側から送信されたコマンドに基づいてサブ制御手段側でエラーの報知を行う遊技機が知られている(たとえば、特開2015−029877号公報参照)。
ここで、遊技機では、セキュリティの関係上、メイン制御手段側のメモリの容量に一定の制限がある。
このため、遊技の進行の制御とは関係のない設定変更又は設定確認に関するエラーの有無をサブ制御手段側で判断することが考えられる。
しかし、設定変更又は設定確認に関するエラーの有無をサブ制御手段側で判断しようとすると、設定変更又は設定確認時にメイン制御手段からサブ制御手段に送信するコマンドが増加することになるため、サブ制御手段側での処理に混乱が生じるおそれがある。
当初発明が解決しようとする課題は、メイン制御手段側から送信されたコマンドに基づいて、サブ制御手段側において設定変更又は設定確認に関するエラーの有無を適切に判断して報知することである。
(b)当初発明5の課題を解決するための手段(なお、かっこ書きで、対応する実施形態を記載する。)
第1の解決手段は、
遊技の進行を制御するメイン制御手段(メイン制御基板60)と、
演出を制御するサブ制御手段(サブ制御基板80)と、
前記メイン制御手段と電気的に接続され、遊技者にとっての有利度に係る設定値の変更が可能な設定変更モード又は前記設定値の確認が可能な設定確認モードに移行させるときに操作する設定スイッチ(設定キースイッチ52)と、
前記メイン制御手段から前記サブ制御手段に対して一方向でコマンドを送信可能な通信線と
を備え、
前記サブ制御手段に送信するコマンドとして、第1コマンド(第1制御コマンド、第2制御コマンド)及び第2コマンド(第3制御コマンド)を有し、
前記通信線として、第1コマンドを送信可能な第1通信線(サブ制御データ信号1〜8用の通信線、サブ制御データ信号9〜16用の通信線)、及び第2コマンドを送信可能な第2通信線(サブ制御データ信号17〜24用の通信線)を有し、
前記メイン制御手段は、
前記設定スイッチがオンの状態で電源がオフからオンにされたことを条件に前記設定変更モードへの移行を可能とし、
電源がオンの状態で前記設定スイッチがオフからオンにされたことを条件に前記設定確認モードへの移行を可能とし、
前記設定変更モードに移行したときは、前記設定変更モードであることを示す第1コマンドを第1通信線を通して前記サブ制御手段に送信し、
前記設定確認モードに移行したときは、前記設定確認モードであることを示す第1コマンドを第1通信線を通して前記サブ制御手段に送信し、
前記設定スイッチがオンの状態であることを検知したときは、前記設定スイッチがオンの状態であることを示す第2コマンドを第2通信線を通して前記サブ制御手段に送信し、
前記サブ制御手段は、前記設定変更モード又は前記設定確認モードであることを示す第1コマンドを受信することなく、前記設定スイッチがオンの状態であることを示す第2コマンドを受信してから所定時間(64ms)が経過したときは、電源がオンにされてからの経過時間(2秒が経過したか否か)に応じた内容の情報を報知する
ことを特徴とする。
第2の解決手段は、第1の解決手段において、
前記サブ制御手段は、前記設定変更モード又は前記設定確認モードであることを示す第1コマンドを受信することなく、前記設定スイッチがオンの状態であることを示す第2コマンドを受信してから前記所定時間が経過した場合において、電源がオンにされてから規定時間(2秒)が経過していないときは、前記設定値を変更することができない旨を報知する
ことを特徴とする。
第3の解決手段は、第1又は第2の解決手段において、
前記サブ制御手段は、前記設定変更モード又は前記設定確認モードであることを示す第1コマンドを受信することなく、前記設定スイッチがオンの状態であることを示す第2コマンドを受信してから前記所定時間が経過した場合において、電源がオンにされてから規定時間(2秒)が経過しているときは、前記設定値を確認することができない旨を報知する
ことを特徴とする。
第4の解決手段は、第1〜第3の解決手段において、
前記サブ制御手段は、前記設定スイッチがオンの状態であることを示す第2コマンドを受信してから前記所定時間が経過する前に、前記設定変更モードであることを示す第1コマンドを受信したときは、前記設定変更モードである旨を報知する
ことを特徴とする。
第5の解決手段は、第1〜第4の解決手段において、
前記サブ制御手段は、前記設定スイッチがオンの状態であることを示す第2コマンドを受信してから前記所定時間が経過する前に、前記設定確認モードであることを示す第1コマンドを受信したときは、前記設定確認モードである旨を報知する
ことを特徴とする。
第6の解決手段は、第1〜第5の解決手段において、
前記メイン制御手段は、
前記サブ制御手段に送信するコマンドを記憶可能なバッファ(制御コマンドバッファ(リングバッファ))を備え、
第1コマンドを生成したときは、生成した第1コマンドを前記バッファに記憶させ、
前記バッファに記憶されている第1コマンドを、割込み処理によって、第1通信線を通して前記サブ制御手段に送信し、
第2コマンドを生成したときは、生成した第2コマンドを、前記バッファに記憶させることなく、前記割込み処理によって、第2通信線を通して前記サブ制御手段に送信する
ことを特徴とする。
(c)当初発明5の効果
当初発明によれば、設定スイッチがオンの状態のときは、通常は、設定変更モード又は設定確認モードに移行する。このため、設定スイッチがオンの状態であることを示す第2コマンドを受信してから所定時間が経過しても、設定変更モード又は設定確認モードであることを示す第1コマンドを受信しないと、エラーが発生したと判断することができる。
また、設定変更モードに移行させるときは、設定スイッチがオンの状態で電源をオンにし、設定確認モードに移行させるときは、電源がオンの状態で設定スイッチをオンにする。このため、エラーが発生したと判断したときは、電源オンからの経過時間によって、エラーの種類(設定変更又は設定確認のいずれのエラーか)を判断することができる。
したがって、当初発明によれば、設定変更又は設定確認に関するエラーの有無を適切に判断して報知することができる。
10 スロットマシン
11 表示窓
16 ドアスイッチ
21 演出ランプ
22 スピーカ
23 画像表示装置
24 十字キー
25 プッシュボタン
30 図柄表示装置
31 リール
32 モータ
35 メダル払出し装置
35a ホッパー
35b サブタンク
36 ホッパーモータ
37a、37b 払出しセンサ
38 満杯センサ
39 リールセンサ
40a 1ベットスイッチ
40b 3ベットスイッチ
41 スタートスイッチ
42 ストップスイッチ
43 メダル投入口
43a 通路センサ
44a、44b 投入センサ
45 ブロッカ
46 精算スイッチ
51 電源スイッチ
52 設定キースイッチ
53 設定変更/リセットスイッチ
54 設定ドアスイッチ
60 メイン制御基板(メイン制御手段)
61 RWM
62 ROM
63 メインCPU
63a 設定変更手段
63b 条件装置抽選手段
63c 当選フラグ制御手段
63g リール制御手段
63h 入賞判定手段
63i 払出し手段
64 設定値表示LED
65 シリアル通信回路
65a 送信用レジスタ
70 表示基板
71 貯留数表示LED
72 獲得数表示LED
73 状態表示LED
73a リプレイ表示LED
73b 投入可表示LED
73c 精算表示LED
73d 遊技開始LED
73e 1枚投入表示LED
73f 2枚投入表示LED
73g 3枚投入表示LED
80 サブ制御基板(サブ制御手段)
81 RWM
82 ROM
83 サブCPU
83a 演出出力制御手段
100 外部集中端子板

Claims (6)

  1. 遊技の進行を制御するメイン制御手段と、
    演出を制御するサブ制御手段と、
    前記メイン制御手段と電気的に接続され、遊技者にとっての有利度に係る設定値の変更が可能な設定変更モード又は前記設定値の確認が可能な設定確認モードに移行させるときに操作する設定スイッチと、
    前記メイン制御手段から前記サブ制御手段に対して一方向でコマンドを送信可能な通信線と
    を備え、
    前記サブ制御手段に送信するコマンドとして、第1コマンド及び第2コマンドを有し、
    前記通信線として、第1コマンドを送信可能な第1通信線、及び第2コマンドを送信可能な第2通信線を有し、
    前記メイン制御手段は、
    前記設定スイッチがオンの状態で電源がオフからオンにされたことを条件に前記設定変更モードへの移行を可能とし、
    電源がオンの状態で前記設定スイッチがオフからオンにされたことを条件に前記設定確認モードへの移行を可能とし、
    前記設定変更モードに移行したときは、前記設定変更モードであることを示す第1コマンドを第1通信線を通して前記サブ制御手段に送信し、
    前記設定確認モードに移行したときは、前記設定確認モードであることを示す第1コマンドを第1通信線を通して前記サブ制御手段に送信し、
    前記設定スイッチがオンの状態であることを検知したときは、前記設定スイッチがオンの状態であることを示す第2コマンドを第2通信線を通して前記サブ制御手段に送信し、
    前記サブ制御手段は、前記設定変更モード又は前記設定確認モードであることを示す第1コマンドを受信することなく、前記設定スイッチがオンの状態であることを示す第2コマンドを受信してから所定時間が経過したときは、電源がオンにされてからの経過時間に応じた内容の情報を報知する
    ことを特徴とする遊技機。
  2. 請求項1において、
    前記サブ制御手段は、前記設定変更モード又は前記設定確認モードであることを示す第1コマンドを受信することなく、前記設定スイッチがオンの状態であることを示す第2コマンドを受信してから前記所定時間が経過した場合において、電源がオンにされてから規定時間が経過していないときは、前記設定値を変更することができない旨を報知する
    ことを特徴とする遊技機。
  3. 請求項1又は請求項2において、
    前記サブ制御手段は、前記設定変更モード又は前記設定確認モードであることを示す第1コマンドを受信することなく、前記設定スイッチがオンの状態であることを示す第2コマンドを受信してから前記所定時間が経過した場合において、電源がオンにされてから規定時間が経過しているときは、前記設定値を確認することができない旨を報知する
    ことを特徴とする遊技機。
  4. 請求項1から請求項3までのいずれか1項において、
    前記サブ制御手段は、前記設定スイッチがオンの状態であることを示す第2コマンドを受信してから前記所定時間が経過する前に、前記設定変更モードであることを示す第1コマンドを受信したときは、前記設定変更モードである旨を報知する
    ことを特徴とする遊技機。
  5. 請求項1から請求項4までのいずれか1項において、
    前記サブ制御手段は、前記設定スイッチがオンの状態であることを示す第2コマンドを受信してから前記所定時間が経過する前に、前記設定確認モードであることを示す第1コマンドを受信したときは、前記設定確認モードである旨を報知する
    ことを特徴とする遊技機。
  6. 請求項1から請求項5までのいずれか1項において、
    前記メイン制御手段は、
    前記サブ制御手段に送信するコマンドを記憶可能なバッファを備え、
    第1コマンドを生成したときは、生成した第1コマンドを前記バッファに記憶させ、
    前記バッファに記憶されている第1コマンドを、割込み処理によって、第1通信線を通して前記サブ制御手段に送信し、
    第2コマンドを生成したときは、生成した第2コマンドを、前記バッファに記憶させることなく、前記割込み処理によって、第2通信線を通して前記サブ制御手段に送信する
    ことを特徴とする遊技機。
JP2015229806A 2015-11-25 2015-11-25 遊技機 Active JP6095021B1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015229806A JP6095021B1 (ja) 2015-11-25 2015-11-25 遊技機

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015229806A JP6095021B1 (ja) 2015-11-25 2015-11-25 遊技機

Publications (2)

Publication Number Publication Date
JP6095021B1 true JP6095021B1 (ja) 2017-03-15
JP2017093848A JP2017093848A (ja) 2017-06-01

Family

ID=58281208

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015229806A Active JP6095021B1 (ja) 2015-11-25 2015-11-25 遊技機

Country Status (1)

Country Link
JP (1) JP6095021B1 (ja)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020058442A (ja) * 2018-10-05 2020-04-16 株式会社三共 遊技機
JP2020058443A (ja) * 2018-10-05 2020-04-16 株式会社三共 遊技機
JP2020058444A (ja) * 2018-10-05 2020-04-16 株式会社三共 遊技機
JP2021007823A (ja) * 2020-10-26 2021-01-28 株式会社三共 遊技機
JP2021007825A (ja) * 2020-10-26 2021-01-28 株式会社三共 遊技機
JP2021007824A (ja) * 2020-10-26 2021-01-28 株式会社三共 遊技機
JP2021007826A (ja) * 2020-10-26 2021-01-28 株式会社三共 遊技機
JP2021010781A (ja) * 2020-10-26 2021-02-04 株式会社三共 遊技機
JP2021184854A (ja) * 2018-10-05 2021-12-09 株式会社三共 遊技機

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6986257B2 (ja) * 2017-10-10 2021-12-22 株式会社ソフイア 遊技機
JP6669792B2 (ja) * 2018-03-01 2020-03-18 株式会社三共 遊技機
JP6754789B2 (ja) * 2018-03-01 2020-09-16 株式会社三共 遊技機
JP6669793B2 (ja) * 2018-03-01 2020-03-18 株式会社三共 遊技機
JP6669791B2 (ja) * 2018-03-01 2020-03-18 株式会社三共 遊技機
JP6777713B2 (ja) * 2018-11-19 2020-10-28 株式会社三共 遊技機
JP7150365B2 (ja) * 2020-10-30 2022-10-11 株式会社大都技研 遊技台
JP7150366B2 (ja) * 2020-10-30 2022-10-11 株式会社大都技研 遊技台
JP7022461B1 (ja) 2021-03-29 2022-02-18 株式会社大都技研 遊技台
JP7022460B1 (ja) 2021-03-29 2022-02-18 株式会社大都技研 遊技台
JP7022462B1 (ja) 2021-03-29 2022-02-18 株式会社大都技研 遊技台
JP7044424B1 (ja) * 2021-05-12 2022-03-30 株式会社大都技研 遊技台
JP7044423B1 (ja) * 2021-05-12 2022-03-30 株式会社大都技研 遊技台
JP7044425B1 (ja) * 2021-05-12 2022-03-30 株式会社大都技研 遊技台

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004337258A (ja) * 2003-05-14 2004-12-02 Samii Kk 回胴式遊技機
JP2008018083A (ja) * 2006-07-13 2008-01-31 Samii Kk 遊技機
JP2009060952A (ja) * 2007-09-04 2009-03-26 Takeya Co Ltd 遊技機
JP2010187741A (ja) * 2009-02-16 2010-09-02 Daito Giken:Kk 遊技台
JP2013042870A (ja) * 2011-08-23 2013-03-04 Sankyo Co Ltd 遊技機
JP2013132441A (ja) * 2011-12-27 2013-07-08 Daito Giken:Kk 遊技台
JP2015029877A (ja) * 2013-08-07 2015-02-16 サミー株式会社 遊技機
JP5740037B1 (ja) * 2014-08-26 2015-06-24 山佐株式会社 遊技機

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004337258A (ja) * 2003-05-14 2004-12-02 Samii Kk 回胴式遊技機
JP2008018083A (ja) * 2006-07-13 2008-01-31 Samii Kk 遊技機
JP2009060952A (ja) * 2007-09-04 2009-03-26 Takeya Co Ltd 遊技機
JP2010187741A (ja) * 2009-02-16 2010-09-02 Daito Giken:Kk 遊技台
JP2013042870A (ja) * 2011-08-23 2013-03-04 Sankyo Co Ltd 遊技機
JP2013132441A (ja) * 2011-12-27 2013-07-08 Daito Giken:Kk 遊技台
JP2015029877A (ja) * 2013-08-07 2015-02-16 サミー株式会社 遊技機
JP5740037B1 (ja) * 2014-08-26 2015-06-24 山佐株式会社 遊技機

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021184854A (ja) * 2018-10-05 2021-12-09 株式会社三共 遊技機
JP2020058443A (ja) * 2018-10-05 2020-04-16 株式会社三共 遊技機
JP2020058444A (ja) * 2018-10-05 2020-04-16 株式会社三共 遊技機
JP7132412B2 (ja) 2018-10-05 2022-09-06 株式会社三共 遊技機
JP2020058442A (ja) * 2018-10-05 2020-04-16 株式会社三共 遊技機
JP7132069B2 (ja) 2018-10-05 2022-09-06 株式会社三共 遊技機
JP7132068B2 (ja) 2018-10-05 2022-09-06 株式会社三共 遊技機
JP7132067B2 (ja) 2018-10-05 2022-09-06 株式会社三共 遊技機
JP2021007825A (ja) * 2020-10-26 2021-01-28 株式会社三共 遊技機
JP7019776B2 (ja) 2020-10-26 2022-02-15 株式会社三共 遊技機
JP7019775B2 (ja) 2020-10-26 2022-02-15 株式会社三共 遊技機
JP7019779B2 (ja) 2020-10-26 2022-02-15 株式会社三共 遊技機
JP7019778B2 (ja) 2020-10-26 2022-02-15 株式会社三共 遊技機
JP7019777B2 (ja) 2020-10-26 2022-02-15 株式会社三共 遊技機
JP2021010781A (ja) * 2020-10-26 2021-02-04 株式会社三共 遊技機
JP2021007826A (ja) * 2020-10-26 2021-01-28 株式会社三共 遊技機
JP2021007824A (ja) * 2020-10-26 2021-01-28 株式会社三共 遊技機
JP2021007823A (ja) * 2020-10-26 2021-01-28 株式会社三共 遊技機

Also Published As

Publication number Publication date
JP2017093848A (ja) 2017-06-01

Similar Documents

Publication Publication Date Title
JP6095021B1 (ja) 遊技機
JP6137283B2 (ja) 遊技機
JP6156471B2 (ja) スロットマシン
JP2017070333A (ja) 遊技機
JP2016083261A (ja) 遊技機
JP6299557B2 (ja) 遊技機
JP2016083256A (ja) 遊技機
JP2016083258A (ja) 遊技機
JP6168027B2 (ja) 遊技機
JP2016055014A (ja) 遊技機
JP6120285B2 (ja) 遊技機
JP2016083259A (ja) 遊技機
JP6213442B2 (ja) 遊技機
JP2016083262A (ja) 遊技機
JP5911031B2 (ja) 遊技機
JP2017093844A (ja) 遊技機
JP2017093846A (ja) 遊技機
JP6572717B2 (ja) 遊技機
JP6572716B2 (ja) 遊技機
JP6213431B2 (ja) 遊技機
JP6358383B2 (ja) 遊技機
JP6572714B2 (ja) 遊技機
JP6572715B2 (ja) 遊技機
JP6307392B2 (ja) 遊技機
JP2016055008A (ja) 遊技機

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20161214

TRDD Decision of grant or rejection written
A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20161213

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170110

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170207

R150 Certificate of patent or registration of utility model

Ref document number: 6095021

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250