(58)【調査した分野】(Int.Cl.,DB名)
シリアルクロックラインとシリアルデータラインによりマスターとスレーブの間で通信を行う高速シリアルバスにより、マスターとなるマイクロコントローラとスレーブとなるリアルタイムクロックとの間を接続した遊技機において、
前記マイクロコントローラは、
前記リアルタイムクロックに書き込む時刻と前記リアルタイムクロックから読み出した時刻とを記憶する時刻記憶手段と、
前記リアルタイムクロックから今回読み出した今回時刻の正当性を予め定めた所定評価基準に基づいて判定する時刻評価手段と、
前記時刻評価手段により前記今回時刻に正当性なしの評価をしたとき、前記時刻記憶手段に記憶された最新の前回時刻に基づいた補正時刻を前記リアルタイムクロックに書き込む時刻補正手段とを含み、
前記時刻評価手段は、前記今回時刻が前記前回時刻よりも前の時刻を指す場合、前記今回時刻に正当性なしの評価をする仕様を有し、
前記時刻補正手段は、前記前回時刻を補正時刻として前記リアルタイムクロックに書き込む仕様を有することを特徴とする遊技機。
【発明の概要】
【発明が解決しようとする課題】
【0005】
I2Cバスにより、マスターとなるマイクロコントローラ例えばサブCPU(以下、単にCPUという)が、スレーブとなるRTCから時刻データを読む場合、
図4の※Rで示すように、
1)CPUはスタートコンディション(S)を生成し、
2)CPUはRTCのスレーブアドレス7ビット(1010001等)を書き込みモード(リードライトビットR/W=論理0)で送信し、
3)CPUはRTCのアクノリッジ(論理0)を確認し、
4)CPUはRTCから読み出す時刻データのアドレスを送信し、
5)CPUはRTCのアクノリッジ(論理0)を確認し、
6)CPUはスタートコンディション(S)を生成し、
7)CPUはRTCのスレーブアドレス7ビットを読み出しモード(R/W=論理1)で送信し、
8)CPUはRTCのアクノリッジ(論理0)を確認し(ここから、CPUがマスターレシーバ、RTCがスレーブトランスミッタとなる)、
9)RTCからCPUに4)で指定したアドレスの1バイトデータを送信し、
10)CPUはRTCにアクノリッジ(論理0)を送信し、
11)読み出すデータの必要分について9)10)を繰返し(読み出しアドレスはRTC内部でオートインクリメント)、
12)CPUはRTCにノットアクノリッジ(論理1)を送信して受信データの終わりを知らせ、
13)CPUはストップコンディション(P)を生成する、
という処理手順を踏む。
【0006】
一方、I2Cバスにより、CPUがRTCに時刻データを書く場合、
図4の※Wで示すように、
a]CPUはスタートコンディション(S)を生成し、
b]CPUはRTCのスレーブアドレス7ビット(1010001等)を書き込みモード(R/W=論理0)で送信し、
c]CPUはRTCのアクノリッジ(論理0)を確認し、
d]CPUはRTCに時刻データを書き込むアドレスを送信し、
e]CPUはRTCのアクノリッジ(論理0)を確認し、
f]CPUはd]で指定したアドレスへ書き込む1バイトデータを送信し、
g]CPUはRTCのアクノリッジ(論理0)を確認し、
h]書き込むデータの必要分についてf]g]を繰返し(書き込みアドレスはRTC内部でオートインクリメント)、
i]CPUはストップコンディション(P)を生成する、
という処理手順を踏む。
【0007】
しかし、CPUがRTCから時刻データを読む上記1)〜13)の手順において、ノイズ等の何らかの原因により通信不良が生じると、あたかも、CPUがRTCに時刻データを書く上記a]〜i]の手順をしたかのような誤った処理がされ、RTCに誤ったデタラメの時刻データが書き込まれる恐れがある。
【0008】
すなわち、CPUがRTCから時刻データを読む場合、正常であれば、CPUがマスタートランスミッタ、RTCがスレーブレシーバとして機能する上記1)〜5)の処理から、上記6)〜8)の処理を経て、CPUがマスターレシーバ、RTCがスレーブトランスミッタとして機能する切換えが行われる。しかし、ノイズ等の何らかの原因によりその切換えが正常に行われなかった場合、RTCはCPUによって書き込みモード(R/W=論理0)でアドレス指定された状態のままとなり、上記7)の処理による、上位7ビットがスレーブアドレスで下位1ビットがR/W=1の10100011Bが上記4)で指定したRTCのアドレス(多くの場合、「秒」に対応したアドレス)のレジスタに書き込まれてしまうと共に、上記9)の処理相当期間において、CPUは読み出しモード(R/W=論理1)でアドレス指定したRTCからデータを受信するためSDAを開放し、SDAのハイレベルに対応したオール1がオートインクリメントされたRTCのアドレス(「分」に対応したアドレス、「時」に対応したアドレス等)の上位レジスタに書き込まれる恐れがある。CPU側の読み込み時刻もオール1データとなる可能性があるが、「秒」なら59秒を超える存在しない値となることから正当性なしとして破棄できるが、RTC側に判定機能はないため、誤ったデータがそのまま書き込まれる恐れが高い。
【0009】
このため、RTCに2進化10進数等で記録する「秒」「分」「時」「日」「月」「年」の各レジスタにおいて1を書くことのできるビットエリアには、2進化10進数としての最大値99(10011001B)を超え且つ「秒」なら59秒までというそれぞれが取り得る最大値も超えるデータが書かれ、読み書き中にホールドされたRTCの内蔵水晶振動子に基づく時刻更新が、書き込み終了後に再開されると、直ちに、あるいは、「秒」に対応するレジスタの下位7ビット(0100011)の23秒は有効とされた場合は約37秒後に、各レジスタは下位レジスタからの桁上げにより最小値に更新され、例えば2000年1月1日0時0分0秒と、現在よりも逆行した時刻から計時を進める可能性がある。あるいは、RTCの時刻データとして存在しないデータが書き込まれたことにより正常な時刻更新がされず、全くデタラメな時刻から計時を進める可能性もある。
【0010】
何れにしても、一度RCTに誤ったデータが書き込まれると、後にCPUがRTCから時刻データを読んだ場合、読み込み処理自体は正常に行われても、その読み込んだ時刻データが実際の時刻とかけ離れた時刻となり、時刻で管理する演出にズレが生じたり、内部で蓄積するエラー情報等の発生時刻の記録が正確でなくなる等の不具合が発生する。
【0011】
本発明の課題は、通信不良の発生により、RTCに誤った時刻を書き込んでしまっても、実際の時刻に適合した補正を可能とし、CPUとRTCとの間の時刻管理を適正に行うことができる遊技機を提供する点にある。
【課題を解決するための手段】
【0012】
図面の符号を括弧内に付記して例示する。
シリアルクロックライン(SCL)とシリアルデータライン(SDA)によりマスターとスレーブの間で通信を行う高速シリアルバス(I2C)により、マスターとなるマイクロコントローラ(サブCPU)とスレーブとなるリアルタイムクロック(RTC)との間を接続した遊技機において、
前記マイクロコントローラ(サブCPU)は、
前記リアルタイムクロック(RTC)に書き込む時刻と前記リアルタイムクロック(RTC)から読み出した時刻とを記憶する時刻記憶手段(T1)と、
前記リアルタイムクロック(RTC)から今回読み出した今回時刻の正当性を予め定めた所定評価基準に基づいて判定する時刻評価手段(T2)と、
前記時刻評価手段(T2)により前記今回時刻に正当性なしの評価をしたとき、前記時刻記憶手段(T1)に記憶された最新の前回時刻に基づいた補正時刻を前記リアルタイムクロック(RTC)に書き込む時刻補正手段(T3)とを含む。
【0013】
リアルタイムクロックから時刻を読み出す処理中に、ノイズ等の何らかの原因により通信不良が発生し、読み出しではなく、リアルタイムクロックに誤って書き込みをしてしまっても、次に時刻を読み出す処理自体が正常に行われると、その読み出した今回時刻は、本来の時刻とは無関係なデタラメな数値となり、時刻評価手段により、予め定めた所定評価基準に基づく判定により正当性なしの評価がされる。そして、時刻評価手段により今回時刻に正当性なしの評価をしたとき、時刻補正手段により、時刻記憶手段に記憶された最新の前回時刻に基づいた補正時刻がリアルタイムクロックに書き込まれる。本来あるべき時刻と、前回時刻に基づいた補正時刻との間には誤差が生じるが、誤りのデタラメな時刻に比べて、実際の時刻により適合した時刻から更新をやり直すことができ、マイクロコントローラとリアルタイムクロックとの間の時刻管理を適正に行うことができる。
【0014】
以上のもので、
前記時刻評価手段(T2)は、前記今回時刻が前記前回時刻よりも前の時刻を指す場合、前記今回時刻に正当性なしの評価をする仕様を有し、
前記時刻補正手段(T3)は、前記前回時刻を補正時刻として前記リアルタイムクロック(RTC)に書き込む仕様を有する。
これにより、今回時刻が前回時刻よりも前の時刻を指す時刻の逆行が生じた場合、今回時刻が前回時刻よりも小さいという大小関係のみにより正当性なしの評価を簡単にすることができると共に、補正時刻=前回時刻とするため時刻補正も簡単に行える。
【0015】
以上のもので、
前記時刻記憶手段(T1)には、前記時刻評価手段(T2)での判定に用いる時刻評価用データとして、秒、分、時、日、月の所定の単位別にそれぞれ取り得る最大値を記憶可能としたビット長をもつ複数の単位別データを、空きビットなしに詰めて並べて前記単位別データの数よりも少ない数のバイト長で記憶している。
これにより、
0〜59秒の「秒」はビット表記[000000]〜[111011]の6ビット、
0〜59分の「分」はビット表記[000000]〜[111011]の6ビット、
0〜23時の「時」はビット表記[00000]〜[10111]の5ビット、
1〜31日の「日」はビット表記[00001]〜[11111]の5ビット、
1〜12月の「月」はビット表記[0001]〜[1100]の4ビット
でそれぞれ表記でき、これら5つの単位別データを、空きビットなしに詰めて並べた合計は26ビットとなり、26÷8+1の整数解に相当する4バイト長のデータとして記憶できる。よって、時刻評価手段において今回時刻と前回時刻とを対比する場合に、例えばC言語のif文による判定処理の回数を少なくできる等、効率的な評価処理が可能になる。
【発明を実施するための形態】
【0017】
図1に、本発明を適用する回胴式遊技機を示す。回胴式遊技機は、一般にパチスロと呼ばれ、遊技機規則、すなわち平成16年(2004年)1月30日の国家公安委員会規則第1での改正を経た昭和60年(1985年)2月12日の国家公安委員会規則第4「遊技機の認定及び型式の検定等に関する規則」に適合するスロットマシンである。以下、用語及びその技術内容は現行の遊技機規則に準ずる。
【0018】
遊技機筐体8Bは、リアキャビネット8R及びキャビネット枠8W、扉状の上下フロントキャビネット8E,8Fを備える。上フロントキャビネット8Eには、動画や所定の情報をフルカラーで映し出す演出表示装置7を構成する液晶表示装置70、リールパネル8、上装飾ランプ81,左装飾ランプ82,右装飾ランプ83,液晶表示装置70の角に臨む4つのアクセント装飾ランプ84,リールパネル8の上・左・右に臨むパネル装飾ランプ85を備える。下フロントキャビネット8Fには、操作部8S、腰部パネル8P、左下装飾ランプ86、右下装飾ランプ87を備える。81〜87の総称として、装飾ランプ88という。91〜94はBGMや各種効果音等を出音するスピーカ、8Mはメダル払出口、8Gはメダル受皿、8Tは灰皿である。なお、左右は、遊技機に対面した遊技者目線における左右を意味する。以下、同様である。
【0019】
リールパネル8の透明な表示窓80の内部には、複数の可変表示要素となる左リール1L、中リール1C、右リール1Rを備え、それぞれのリール帯10L,10C,10Rの外周に全部で21コマ又は20コマ配列した図柄のうち連続する3コマを窓越しに臨ませている。定常回転時を含む通常の正転時、各図柄は上から下にスクロールする。表示窓80の窓越しに表示される複数列及び複数段の図柄表示位置、すなわち、左・中・右リール1L,1C,1Rの3列とそれぞれの上・中・下の3段との、列と段で特定される3×3=9個の図柄表示位置において、例えば中段ライン(左中−中中−右中)のみを有効ラインとしている。なお、他のラインを含めて2本以上のラインを有効ラインとしてもよい。
【0020】
操作部8Sには、遊技媒体たる遊技メダルを投入するメダル投入口2、遊技者操作を演出に関与させるプッシュボタンPBとダイヤルDAをもつジョグダイヤルJD、貯留装置の電磁的記録すなわちクレジットから一回の遊技に必要な規定数例えば3枚(3BET)の掛けメダルを引き落とすベットボタン3、クレジットに残る数のメダルをメダル受皿8Gに落す精算ボタン4、各リール1L,1C,1Rの可変表示(回転)を開始させるスタートスイッチとなるスタートレバー5、各リール1L,1C,1Rに対応して設け、対応するリールの可変表示(回転)を個別に停止させるストップスイッチとなる左ストップボタン6L、中ストップボタン6C、右ストップボタン6R、メダル投入口2下流のメダル詰り時に押すメダル返却ボタン20、ドアキー穴8Kを備える。
【0021】
リールパネル8には、現時のクレジット数を表示させるクレジット表示器DL1、入賞による払出メダル枚数を表示させるペイアウト表示器DL2、充当掛けメダルが1枚、2枚、3枚になる毎に点灯させる1〜3枚ランプEL1〜3、掛けメダルが受付可能なとき点灯させるベットランプELb、スタートレバー5による始動操作が可能なとき点灯させるスタートランプELs、再遊技に係る図柄の組合せが表示されたとき点灯させるリプレイランプELrを含む遊技基本ランプ類30を備える。また、ストップボタン6L,6C,6Rを押す順番に正解した時に投入メダル数を超える高配当のメダルを払出す押し順小役についての正解の押し順や狙うべき図柄を報知させるアシストタイムATの作動中に、液晶表示装置70でのナビ報知と共に点灯させる左停止ランプ71、中停止ランプ72、右停止ランプ73を含む演出表示装置70を構成する遊技演出ランプ類700を備える。
【0022】
ベットランプELbの点灯時、掛けメダルが0の状態でメダル投入口2からメダル1枚を入れると1枚ランプEL1が点灯し、さらに1枚入れると2枚ランプEL2が点灯し、さらに1枚入れると3枚ランプEL3が点灯し、規定数に達する。規定数の掛けメダルになると、スタートランプELsが点灯し、スタートレバー5による始動操作が可能になる。規定数に達した状態からスタートレバー5を操作しないでメダル投入口2にさらにメダルを入れると、クレジット表示器DL1のカウンタを進め、所定上限数である50枚まで貯留可能となる。入賞により払出されたメダルも50枚まではクレジットに加算され、50枚を超えて払出されたメダルは、メダル払出口8Mからメダル受皿8Gに受止められる。
【0023】
図2に示すように、遊技機筐体8Bの内部に組込む制御装置CNは、遊技の進行を管理し、内部抽せん、入賞によるメダルの払出し、再遊技の作動、役物の作動、アシストタイムATの作動等の遊技者利益に関係する主遊技制御を実行させる所謂メイン側と呼ばれる遊技機規則でいう主基板に対応する主制御装置MCと、この主制御装置MCから一方向性通信仕様に従って送信する情報を受信して主制御装置MCでの決定事項に基づいて演出制御を実行させる所謂サブ側と呼ばれる遊技機規則でいう周辺基板に対応する周辺制御装置SCとを含む。一方向性通信仕様とは、主基板に関して遊技機規則で規定する「周辺基板が送信する信号を受信することができるものでないこと」を満たす通信仕様をいう。
【0024】
主制御装置MCは、読み出し専用のリードオンリーメモリROM及び読み書き可能なリードライトメモリーRWMを内蔵したZ80互換チップから成る8ビットのメインCPUを備え、例えば12MHzのシステムクロック動作環境下で使用している。
【0025】
メインCPUの入力ポートI1には、各リール1L,1C,1Rのインデックスセンサ11L,11C,11R(IDs)、各ストップボタン6L,6C,6R、ベットボタン3、精算ボタン4、スタートレバー5、メダル投入口2の下流に設ける投入メダルセンサ21、遊技機筐体8Bに内蔵するメダル払出装置HPの出口に設ける払出メダルセンサ23の各信号を入力している。出力ポートO1から、各ストップボタン6L,6C,6Rの内蔵LED61,62,63を、モータドライバ回路Dr1を介して各リール1L,1C,1Rに駆動軸SHを結合させる各ステッピングモータ12L,12C,12R(SM)を、LEDドライバ回路Dr2を介して遊技基本ランプ類30を、ソレノイドドライバ回路Dr3を介してリール始動後に追投入されるメダルをメダル受皿8Gに落すメダルブロッカー22を、モータドライバ回路Dr4を介してメダル払出装置HPのメダル払出モータ24を各制御している。
【0026】
各インデックスセンサIDsは、各リールの内側に取付ける半円帯状のインデックスID(1Li,1Ci,1Ri)のオンエッジとオフエッジとを半周毎に検出し、最先のオンエッジ又はオフエッジの検出が全リールについてされた後、ストップボタン6L,6C,6Rの受付を可能にする。各ステッピングモータSMは、鉄芯外周に多数のロータ小歯をもつ永久磁石内蔵式のロータRmと、磁極内周に複数のステータ小歯をもつ複数組の磁極にA相、B相、C相(Aバー相(Aの反転相))、D相(Bバー相(Bの反転相))の巻線を巻回したステータSwとを有し、定常回転時、一の巻線をオンにする1相励磁と、一の巻線及び隣接する他の巻線をオンにする2相励磁とを、1タイマー割込み時間t=1.49ms毎に交互に繰返す1−2相励磁により、励磁パルスの1ステップ更新により半ステップ角(2ステップ更新により1ステップ角)ずつ変位させ、504のステップ更新で一回転させる。また、励磁パルスのステップ更新方向を変更することにより正転と逆転とを可能にしている。
【0027】
メインCPUのROM上には、スタートレバー5の操作を契機に、ハード又はソフトウェア上で高速更新する例えば2バイトカウンタから抽出する乱数値が、その取り得る0〜65535の範囲内において役に対応づけて区分した何れの当せんエリアに属するかに応じて、入賞、再遊技の作動、役物の作動に係る何れかの当せん役又は不当せんを決定する内部抽せん手段K、スタートレバー5の操作後で且つ前遊技の開始から4.1秒経過後に全リールを正転側に加速処理して定常回転速度に到達させる回胴回転装置制御手段V1と各リールを対応するストップボタンの操作により個別に停止させて有効ラインに当せん役に対応した図柄の組合せの表示を許容させる回転停止装置制御手段V2とを含むリール制御手段V、遊技結果が入賞なら所定配当数のメダルを払出すメダル払出手段M、遊技結果が再遊技の作動なら次ゲームの掛けメダルを同一規定数で自動投入するメダル自動投入手段Q、遊技結果が役物作動中等への移行を伴うのなら遊技状態を移行させる遊技状態移行手段J、所定のフリーズ抽せんにより当せん役別に定めた所定確率により各リールを逆回転等させる所定の回胴演出の当否を決定するフリーズ抽せん手段F、その当せんに係る回胴演出を実行させる回胴演出実行手段Gを設けている。
【0028】
また、メインCPUのROM上には、アシストタイムATの作動を内部当せん役等と関連付けた所定作動条件下で決定するAT作動決定手段H1、アシストタイムATの作動を延長させることとなる継続ゲーム数等の上乗せを内部当せん役等と関連付けた所定上乗せ条件下で決定するAT上乗せ決定手段H2、アシストタイムATの作動決定から作動終了までを管理するAT継続管理手段H3、押し順小役についての正解押し順等のAT指示情報を主制御装置MCで管理する ペイアウト表示器DL2の表示機能を借りて構築するメインモニタMAに出力させると共に周辺制御装置SCで管理する液晶表示装置70等に出力させるAT指示情報出力手段H4を設けている。
【0029】
周辺制御装置SCは、外付けする読み出し専用のリードオンリーメモリROMと、内蔵及び外付けする読み書き可能なリードライトメモリーRWMをもつ32ビットRISC(Reduced Instruction Set Computer)チップマイコンから成るサブCPUを備え、例えば約200MHzのシステムクロック動作環境下で使用している。サブCPUは、リアルタイムオペレーティングシステムRTOS(Real−Time Operating System)の管理下、演出表示や音声に関するタスクに割当てるCPU時間、優先順位を制御することにより、適切且つ効率的なタスクの並行処理を可能にしている。
【0030】
サブCPUの入力ポートI2には、主制御装置MCからの送信情報、ジョグダイヤルJDの信号を入力している。主制御装置MCからの送信情報すなわち周辺制御装置NCの受信情報には、メイン側初期化完了情報、ベットボタン3の操作情報を含むメダル投入情報、スタートレバー5の操作情報を含むリール始動情報、内部抽せんによる当せんフラグ情報、ストップボタン6L,6C,6Rの操作情報、遊技結果情報、遊技状態情報、フリーズ及び回胴演出情報、AT作動情報、AT指示情報、AT上乗せ情報、AT終了情報、エラー情報等、主制御装置MCで検出し又は決定若しくは実行する各種情報が含まれる。
【0031】
サブCPUは、I2Cのマイクロコントローラとしても機能し、CPU内蔵I2CのシリアルクロックラインSCLとシリアルデータラインSDAに、リアルタイムクロックRTCのシリアルクロックラインSCLとシリアルデータラインSDAを接続している。シリアルクロックラインSCLとシリアルデータラインSDAとは、それぞれ、抵抗rpを介してサブCPUの主動作電位vdd=3.3Vにプルアップしている。
【0032】
リアルタイムクロックRTCの時刻データは、遊技機メーカー等により、生産時に、日本標準或は国際標準の時計電波に基づく正確な現在時刻により、書き込み時の時刻例えば2015年12月25日金曜日15時30分45秒等と書かれる。この後、リアルタイムクロックRTCの内蔵水晶振動子による基準クロックに基づいて継続的に時刻更新がされる。一月31日の大の月、一月30日又は28日の小の月、4年に一回の2月29日のうるう年の補正も自動的にされる。リアルタイムクロックRTCの時計機能は、遊技機の電源オンオフに拘らず、二次電池等のバックアップ電源BTにより例えば10年以上の長期間にわたり継続的に維持される。
【0033】
遊技機特有の事情として、一遊技場内での一日の営業において、同一機種間で時計合わせができていることが最良となるため、例えば10時00分の営業開始の数分〜数十分前、例えば9時30分の一斉電源投入時に、遊技機の電源投入に伴うサブCPUの初期化処理により、何時何分何秒の統一時刻として例えば9時30分00秒をRTCに書き込むこととしている。これに代え、サブCPUの初期化処理では、まず、RTCから年、月、日、曜、時、分、秒の全時刻データを読み出し、各データの取り得る最小値と最大値の範囲内にあるか否かによりデータの正当性を評価した後、正当性ありの場合、年、月、日、曜は読み出したものを、時、分、秒は統一時刻の9時30分00秒をRTCに書き込み、正当性なしの場合は、読み出しデータを破棄し、時、分、秒について統一時刻の9時30分00秒をRTCに書き込むようにしてもよい。
【0034】
サブCPUのROM及びRWM上には、リアルタイムクロックRTCに書き込む時刻とリアルタイムクロックRTCから読み出した時刻とを記憶する時刻記憶手段T1を設けている。一斉電源投入時のサブCPU初期化処理の直後、時刻記憶手段T1に記憶された最新の前回時刻は、時、分、秒については9時30分00秒の統一時刻となる。統一時刻の9時30分00秒が書き込まれたリアルタイムクロックRTCは9時30分00秒から自動更新がされ、必ずしも正確な絶対時刻を示すものではないが、一遊技場内での一日の営業時間例えば10時〜22時30分までの12時間30分について、同一機種間で時計合わせができていると見込める。また、サブCPUがリアルタイムクロックRTCから次に時刻データを正常に読み出した場合、9時30分00秒よりも進んだ時刻が今回時刻として読み出されると見込める。
【0035】
しかし、リアルタイムクロックRTCからの時刻の読み出し時に、ノイズ等の何らかの原因により、誤って時刻とは無関係なデタラメなデータを書き込んでしまった場合、リアルタイムクロックRTCは逆行した時刻を刻んだり、全くデタラメの時刻を刻む恐れがある。また、サブCPU側の読み出し時刻自体もオール1等のあり得ない時刻となる恐れがある。
【0036】
このため、サブCPUのROM上には、リアルタイムクロックRTCから今回読み出した今回時刻の正当性を予め定めた所定評価基準、すなわち、年、月、日、曜、時、分、秒の各データが取り得る最小値と最大値との間の適正範囲内にあるべきデータ適合性基準と、時刻記憶手段T1に記憶された最新の前回時刻に対して逆行していない時刻逆行禁止基準と、前回時刻からの更新時刻としてあり得ない時刻読み出し間隔を超えた時刻の進みがない時刻飛び禁止基準の3つの基準に基づいて判定する時刻評価手段T2を設けている。時刻飛び禁止基準における時刻読み出し間隔は、定時割込みによりRTCから定時間毎に時刻を読む処理をする場合は、その定時割込み間隔となる。間隔が短いほど、同一機種間の時計の狂いを小さくできる点で好ましいが、定時割込みによりRTCから時刻を読む処理をしない場合等には、電源オンから営業終了までの13時間を時刻読み出し間隔としてもよい。また、リアルタイムクロックRTCに誤ったデータを書き込んでしまった場合、多くは逆行した時刻を刻むため、評価基準は、時刻逆行禁止基準のみとしてもよい。
【0037】
サブCPUのROM上には、さらに、時刻評価手段T2により今回時刻に正当性なしの評価をしたとき、時刻記憶手段T1に記憶された最新の前回時刻に基づいた補正時刻をリアルタイムクロックRTCに書き込む時刻補正手段T3を設けている。補正時刻は、時刻記憶手段T1に記憶された最新の前回時刻自体としている。本来の時刻と誤差は生じるが、リアルタイムクロックRTCの極端な時刻の誤りは修正できる。なお、補正時刻は、最新の前回時刻に本来進んでいると見込まれる定時割り込み間隔を加算した時刻としてもよく、この場合には、時刻の誤差がより少なくできる。
【0038】
その他、サブCPUのROM上には、主制御装置MCからの受信情報に基づいて、液晶表示装置70等にAT指示情報出力手段H4から出力するAT指示情報に従ったナビ例えば正解押し順が「左中右」ならストップボタン位置に対応させて「123」等を表示させるナビ手段X1、ナビ手段X1の表示に連動してスピーカ91〜94から操作すべきストップボタンが左か中か右かを音声で知らせる音声ナビ手段X2、遊技状態、回胴演出、AT期間等に応じて液晶表示装置70に映し出す動画展開等を変更表示させる演出表示手段Y1、これに連動してスピーカ91〜94から効果音やBGMを出音させる効果音出力手段Y2を設けている。
【0039】
また、サブCPUのCPU内蔵バスにはI2CコントローラI2Cnを接続しており、このI2CコントローラI2CnのシリアルクロックラインSCLとシリアルデータラインSDAを、表示窓80に臨む9つの図柄をリール帯10L,10C,10Rの背面から照明するリールバックランプBL1〜9を制御するLDEドライバDr5のシリアルクロックラインSCLとシリアルデータラインSDAに接続し、装飾ランプ88を制御するLEDドライバDr6のシリアルクロックラインSCLとシリアルデータラインSDAに接続し、遊技演出ランプ類700を制御するLEDドライバDr7のシリアルクロックラインSCLとシリアルデータラインSDAに接続している。これらLED関連のI2Cデバイスのタスクは、リアルタイムクロックRTCよりも優先順位を高くしている。なお、シリアルクロックラインSCLとシリアルデータラインSDAとは、それぞれ、抵抗rpを介してサブCPUの主動作電位vdd=3.3Vにプルアップしている。液晶表示装置70は、VDP(Video Display Processor)、出力ポートO2、LCDドライバ回路Dr8を介して制御している。スピーカ91〜94からの音声は、音声IC、出力ポートO2、パワーアンプ回路Dr9を介して制御している。
【0040】
図3に、サブCPUとリアルタイムクロックRTCとの間の時刻データの送受信プロトコルを示す。RTCの内部レジスタで更新記憶する時刻データは、曜(曜日)を除いて、2進化10進数(BCD(Binary Coded Decimal))であり、「秒」「分」「時」「日」「月」「年」の各レジスタはBCDカウンターを構成する。
【0041】
RTCのアドレス00Hの「秒」レジスタには、
最小値0秒[0000000]〜最大値59秒[1011001]が、
RTCのアドレス01Hの「分」レジスタには、
最小値0分[0000000]〜最大値59分[1011001]が、
RTCのアドレス02Hの「時」レジスタには、
最小値0時[000000]〜最大値23時[100011]が、
RTCのアドレス04Hの「日」レジスタには、
最小値1日[000001]〜最大値31日[110001]が、
RTCのアドレス05Hの「月」レジスタには、
最小値1月[00001]〜最大値12月[10010]が、
RTCのアドレス06Hの「年」レジスタには、
最小値(2000年)00年[0000000]〜最大値(2099年)99年[10011001]がそれぞれ記憶され、内部水晶振動子による基準クロックに基づいて更新される。下位のレジスタが最大値を超えて更新され、いわゆる桁上げが生じると、その下位のレジスタ自身は最小値に復帰し、一つ上位のレジスタのカウント値を一つ進める。なお、*を付したビットエリアには、1を書き込むことはできず、0のみが入る。
【0042】
RTCのアドレス02Hの「曜」レジスタには、日月火水木金土を識別する[1]を、下位の「時」レジスタからの桁上げにより一つずつシフトさせるシフトレジスタから成る。土曜の[1]は上位の「日」レジスタの桁上げを生じさせず、日曜の[1]からシフトを再開させる。
【0043】
一方、サブCPUで扱う時刻データは、16進数データとなる。曜(曜日)も、各ビット別に[1]を立てた7ビットの16進数データとして扱える。
【0044】
サブCPU の「秒」データは、
最小値0秒[000000]〜最大値59秒[111011]の6ビット、
サブCPU の「分」データは、
最小値0分[000000]〜最大値59秒[111011]の6ビット、
サブCPU の「時」データは、
最小値0時[00000]〜最大値23時[10111]の5ビット、
サブCPU の「日」データは、
最小値1日[00001]〜最大値31日[11111]の5ビット、
サブCPU の「月」データは、
最小値1月[0001]〜最大値12月[1100]の4ビット、
サブCPU の「年」データは、
最小値(2000年)00年[0000000]〜最大値(2099年)99年[1100011]の7ビットとなる。
【0045】
サブCPUがリアルタイムクロックRTCと時刻データの読み書きをする場合、曜(曜日)を除き、CPUからRTCに時刻データを書く場合は、各時刻データの16進数を2進化10進数に変換して送信し、CPUがRTCから時刻データを読む場合は、受信した2進化10進数の時刻データを16進数に変換する。曜(曜日)は、ビットの対応関係が一致するため、変換の必要はない。
【0046】
サブCPUのROM及びRWM上に設けた時刻記憶手段T1には、時刻評価手段T2での判定に用いる時刻評価用データとして、年及び曜(曜日)を除く、秒、分、時、日、月の所定の単位別にそれぞれ取り得る最大値を記憶可能としたビット長をもつ5つの単位別データを、空きビットなしに詰めて並べて単位別データの数5よりも少ない数の4バイト長のデータとして記憶している。年の7ビットを記憶する年対応の1バイトと、曜(曜日)の7ビットを記憶する1バイトはそれぞれ独立したデータとして記憶している。これにより、時刻評価手段T2において、今回時刻と最新の前回時刻とを比較する場合、サブCPUのプログラム言語として一般に用いられるC言語のif文による判定処理の回数を少なくでき、効率的な評価処理が可能になる。
【0047】
図4に示すように、サブCPUで定時割込み又はエラー発生時の割込みにより実行する時刻更新処理では、まず、リアルタイムクロックRTCから今回時刻を読み出して、時刻記憶手段T1に一時的に記憶し(ステップS1)、この読み出した今回時刻の正当性を、時刻評価手段T2により、所定評価基準すなわちデータ適合性基準と時刻逆行禁止基準と時刻飛び禁止基準の3基準に基づいて、時刻評価用4バイトデータ(
図3参照)による今回時刻と前回時刻とのif文判定等を経て評価し(ステップS2)、最新の前回時刻よりも今回時刻が小となる時刻の逆行等がなく、所定評価基準を全て満たして正当性ありと判定された場合(ステップS3でYES)、リアルタイムクロックRTCから読んだRTCに記憶保持された最新の時刻である今回時刻により、次の読み込みまでサブCPUで記憶保持する最新の前回時刻として書き換える(ステップS4)。
【0048】
ステップS3の判定で、最新の前回時刻よりも今回時刻が小となる時刻の逆行等があり、所定評価基準を一つでも満たさずに正当性なしの判定がされた場合(ステップS3でNO)、時刻補正手段T3により、時刻記憶手段T1に記憶された最新の前回時刻に基づいた補正時刻として、その最新の前回時刻自体をリアルタイムクロックRTCに書き込み(ステップS5)、今回読み込んだ正当性なしの今回時刻は破棄し、この正当性なしの今回時刻による最新の前回時刻の書換えは行わない(ステップS6)。これにより、サブCPUとリアルタイムクロックRTCとの間の時間管理が大きく狂うことなく、適正に行えることとなる。
【0049】
以上の実施形態では、回胴式遊技機を例示したが、ぱちんこ遊技機にも同様に適用できる。
【符号の説明】
【0050】
1L;左リール,1C;中リール,1R;右リール
2;メダル投入口、3;ベットボタン、4;精算ボタン
5;スタートレバー、6L,6C,6R;各ストップスイッチ
7;演出表示装置、70;液晶表示装置
8;リールパネル、80;表示窓
CN;制御装置、MC;主制御装置、SC;周辺制御装置
K;内部抽せん手段、V;リール制御手段
V1;回胴回転装置制御手段、V2;回転停止装置制御手段
M;メダル払出手段、Q;メダル自動投入手段、J;遊技状態移行手段
F;フリーズ抽せん手段、G;回胴演出実行手段
H1;AT作動決定手段、H2;AT上乗せ決定手段
H3;AT継続管理手段、H4;AT指示情報出力手段
T1;時刻記憶手段、T2;時刻評価手段、T3;時刻補正手段
X1;ナビ手段、X2;音声ナビ手段
Y1;演出表示手段、Y2;効果音出力手段