以下、本発明の一実施形態に係る遊技機であるパチスロについて、図1~図6を参照しながら説明する。
<パチスロの機能フロー>
まず、図1を参照して、パチスロの機能フローについて説明する。本実施の形態のパチスロでは、遊技を行うための遊技媒体としてメダルを用いる。なお、遊技媒体としては、メダル以外にも、コイン、遊技球、遊技用のポイントデータ又はトークン等を適用することもできる。
遊技者によりメダルが投入され、スタートレバーが操作されると、予め定められた数値の範囲(例えば、0~65535)の乱数から1つの値(以下、乱数値)が抽出される。
内部抽籤手段は、抽出された乱数値に基づいて抽籤を行い、内部当籤役を決定する。この内部抽籤手段は、後述する主制御回路が担う。内部当籤役の決定により、後述の入賞判定ラインに沿って表示を行うことを許可する図柄の組合せが決定される。なお、図柄の組合せの種別としては、メダルの払い出し、再遊技の作動、ボーナスの作動等といった特典が遊技者に与えられる「入賞」に係るものと、それ以外のいわゆる「ハズレ」に係るものとが設けられている。
また、スタートレバーが操作されると、複数のリールの回転が行われる。その後、遊技者により所定のリールに対応するストップボタンが押されると、リール停止制御手段は、内部当籤役とストップボタンが押されたタイミングとに基づいて、該当するリールの回転を停止する制御を行う。このリール停止制御手段は、後述する主制御回路が担う。
パチスロでは、基本的に、ストップボタンが押されたときから規定時間(190msec又は75msec)内に、該当するリールの回転を停止する制御が行われる。本実施形態では、この規定時間内にリールの回転に伴って移動する図柄の数を「滑り駒数」と呼ぶ。規定期間が190msecである場合には、滑り駒数の最大数を図柄4個分に定め、規定期間が75msecである場合には、滑り駒数の最大数を図柄1個分に定める。
リール停止制御手段は、入賞に係る図柄の組合せ表示を許可する内部当籤役が決定されているときは、通常、190msec(図柄4コマ分)の規定時間内に、その図柄の組合せが入賞判定ラインに沿って極力表示されるようにリールの回転を停止させる。また、リール停止制御手段は、例えば、第2種特別役物であるチャレンジボーナス(CB)及びCBを連続して作動させるミドルボーナス(MB)の動作時には、1つ以上のリールに対して、規定時間75msec(図柄1コマ分)内に、その図柄の組合せが入賞判定ラインに沿って極力表示されるようにリールの回転を停止させる。さらに、リール停止制御手段は、遊技状態に対応する各種規定時間を利用して、内部当籤役によってその表示が許可されていない図柄の組合せが入賞判定ラインに沿って表示されないようにリールの回転を停止させる。
こうして、複数のリールの回転がすべて停止されると、入賞判定手段は、入賞判定ラインに沿って表示された図柄の組合せが、入賞に係るものであるか否かの判定を行う。この入賞判定手段は、後述する主制御回路が担う。入賞判定手段により入賞に係るものであるとの判定が行われると、メダルの払い出し等の特典が遊技者に与えられる。パチスロでは、以上のような一連の流れが1回の遊技として行われる。
また、パチスロでは、前述した一連の流れの中で、液晶表示装置などの表示装置により行う映像の表示、各種ランプにより行う光の出力、スピーカにより行う音の出力、或いはこれらの組合せを利用して様々な演出が行われる。
スタートレバーが操作されると、上述した内部当籤役の決定に用いられた乱数値とは別に、演出用の乱数値(以下、演出用乱数値)が抽出される。演出用乱数値が抽出されると、演出内容決定手段は、内部当籤役に対応づけられた複数種類の演出内容の中から今回実行するものを抽籤により決定する。この演出内容決定手段は、後述する副制御回路が担う。
演出内容が決定されると、演出実行手段は、リールの回転開始時、各リールの回転停止時、入賞の有無の判定時等の各契機に連動させて対応する演出を実行する。このように、パチスロでは、内部当籤役に対応づけられた演出内容を実行することによって、決定された内部当籤役(言い換えると、狙うべき図柄の組合せ)を知る機会又は予想する機会が遊技者に提供され、遊技者の興味の向上を図ることができる。
<パチスロの構造>
次に、図2~図6を参照して、本発明の一実施形態に係るパチスロ1の構造について説明する。
[外観構造]
図2は、パチスロ1の外部構造を示す斜視図である。
図2に示すように、パチスロ1は、外装体2を備えている。外装体2は、後述するホッパー装置51やメダル補助収納庫52等(図5参照)を収容するキャビネット2aと、キャビネット2aに対して開閉可能に取り付けられるフロントドア2bとを有している。キャビネット2aの両側面には、把手7が設けられている(図2では一側面の把手7のみを示す)。この把手7は、パチスロ1を運搬するときに手をかける凹部である。
外装体2の内部には、3つのリール3L,3C,3Rが横並びに設けられている。以下、各リール3L,3C,3Rを、それぞれ左リール3L、中リール3C、右リール3Rという。各リール3L,3C,3Rは、円筒状に形成されたリール本体と、リール本体の周面に装着された透光性のシート材を有している。シート材の表面には、複数(例えば20個)の図柄が周方向に沿って所定の間隔をあけて描かれている。
フロントドア2bは、ドア本体9と、フロントパネル10と、表示装置の一具体例を示す液晶表示装置11とを備えている。
ドア本体9は、ヒンジ(不図示)を用いてキャビネット2aに取り付けられており、キャビネット2aの開口部を開閉する。ヒンジは、パチスロ1の前方からドア本体9を見た場合に、ドア本体9における左側の端部に設けられている。液晶表示装置11は、ドア本体9の上部に取り付けられている。この液晶表示装置11は、表示部(表示画面)11aを備えており、液晶表示装置11を用いて映像の表示による演出が実行される。
フロントパネル10は、液晶表示装置11の表示部11a側に重畳して配置され、液晶表示装置11の表示部11aを露出させるパネル開口10aを有する枠状に形成されている。フロントパネル10には、ランプ群18が設けられている。ランプ群18は、LED(Light Emitting Diode)等で構成され、演出内容に対応するパターンで、光を点灯及び消灯する。
フロントドア2bの中央には、台座部12が形成されている。この台座部12には、図柄表示領域4と、遊技者による操作の対象となる各種装置が設けられている。
図柄表示領域4は、正面から見て3つのリール3L,3C,3Rに重畳する手前側に配置されており、3つのリール3L,3C,3Rに対応して設けられている。この図柄表示領域4は、表示窓としての機能を果たすものであり、その背後に設けられた各リール3L,3C,3Rを透過することが可能な構成になっている。以下、図柄表示領域4を、リール表示窓4という。
リール表示窓4は、その背後に設けられたリール3L,3C,3Rの回転が停止されたとき、各リール3L,3C,3Rの複数種類の図柄のうち、その枠内における上段、中段及び下段の各領域にそれぞれ1個の図柄(合計で3個)を表示する。本実施の形態では、リール表示窓4の上段、中段及び下段からなる3つの領域のうち予め定められたいずれかを組み合わせて構成される擬似的なラインを、入賞か否かの判定を行う対象となるライン(入賞判定ライン)として定義する。
リール表示窓4は、台座部12に設けられた枠部材13により形成されている。この枠部材13は、リール表示窓4と、情報表示窓14と、ストップボタン取付部15を有している。
情報表示窓14は、リール表示窓4の下部に連続して設けられており、上方に向かって開口している。すなわち、リール表示窓4と情報表示窓14は、連続する1つの開口部として形成されている。この情報表示窓14及びリール表示窓4は、透明の窓カバー16によって覆われている。
窓カバー16は、枠部材13の内面側に配置されており、フロントドア2bの前面側から取り外し不可能になっている。また、枠部材13は、窓カバー16を挟んで情報表示窓14の開口に対向するシート載置部17を有している。そして、シート載置部17と窓カバー16との間には、遊技に関する情報が記載されたシート部材(情報シート)が配置されている。従って、情報シートは、凹凸や隙間の無い滑らかな表面を有する窓カバー16により覆われている。
情報シートの取付部を構成する窓カバー16は、フロントドア2bの前面側から取り外し不可能であり、凹凸や隙間の無い滑らかな表面であるため、情報シートの取付部を利用して、パチスロ1の内部にアクセスする不正行為を防ぐことができる。
ストップボタン取付部15は、情報表示窓14の下方に設けられており、正面を向いた平面に形成されている。このストップボタン取付部15には、ストップボタン19L,19C,19Rが貫通する貫通孔が設けられている。ストップボタン19L,19C,19Rは、3つのリール3L,3C,3Rのそれぞれに対応づけられ、対応するリールの回転を停止するために設けられる。以下、ストップボタン19L,19C,19Rを、それぞれ左ストップボタン19L、中ストップボタン19C、右ストップボタン19Rという。
ストップボタン19L,19C,19Rは、遊技者による操作の対象となる各種装置の一例を示す。また、台座部12には、遊技者による操作の対象となる各種装置として、メダル投入口21、BETボタン22、スタートレバー23、セレクトボタン28、エンターボタン29が設けられている。
メダル投入口21は、遊技者によって外部から投下されるメダルを受け入れるために設けられる。メダル投入口21に受け入れられたメダルは、予め定められた規定数(例えば、3枚)を上限として1回の遊技に投入されることとなり、規定数を超えた分はパチスロ1の内部に預けることが可能となる(いわゆるクレジット機能)。
BETボタン22は、パチスロ1の内部に預けられているメダルから1回の遊技に投入する枚数を決定するために設けられる。スタートレバー23は、全てのリール(3L,3C,3R)の回転を開始するために設けられる。
また、フロントドア2bを正面から見てリール表示窓4の左側方には、7セグメントLED(Light Emitting Diode)からなる7セグ表示器24が設けられている。この7セグ表示器24は、特典として遊技者に対して払い出すメダルの枚数(以下、払出枚数)、パチスロ内部に預けられているメダルの枚数(以下、クレジット枚数)等の情報をデジタル表示する。
フロントドア2bを正面から見て台座部12の左側には、精算ボタン27が設けられている。この精算ボタン27は、パチスロ1の内部に預けられている外部に引き出す(排出する)ために設けられる。台座部12の下方には、腰部パネルユニット31が設けられている。腰部パネルユニット31は、任意の画像が描かれた装飾パネルと、この装飾パネルを背面側から照明するための光を出射する光源を有している。
腰部パネルユニット31の下方には、メダル払出口32と、スピーカ用孔33L,33Rと、メダルトレイユニット34が設けられている。メダル払出口32は、後述のメダルセレクタ201から排出されるメダルや後述のホッパー装置51の駆動により排出されるメダルを外部に導く。メダル払出口32から排出されたメダルは、メダルトレイユニット34に貯められる。スピーカ用孔33L,33Rは、演出内容に応じた効果音や楽曲等の音を出力するために設けられている。
[内部構造]
図3及び図4は、パチスロ1の内部構造を示す斜視図である。この図3では、フロントドア2bが開放され、フロントドア2bの裏面側に設けられたミドルドア41がフロントドア2bに対して閉じた状態を示している。また、図4では、フロントドア2bが開放され、ミドルドア41がフロントドア2bに対して開いた状態を示している。また、図5は、キャビネット2aの内部を示す説明図である。図6は、フロントドア2bの裏面側を示す説明図である。
キャビネット2aは、上面板20aと、底面板20bと、左右の側面板20c,20dと、背面板20eを有している(図5参照)。キャビネット2a内部の上側には、キャビネット側スピーカ42が配設されている。このキャビネット側スピーカ42は、取付ブラケット43L,43Rを介してキャビネット2aの背面板20eに取り付けられている。キャビネット側スピーカ42は、例えば、効果音を出力するためのスピーカである。
キャビネット2a内部を正面から見て、キャビネット側スピーカ42の左側方には、キャビネット側中継基板44が配設されている。このキャビネット側中継基板44は、キャビネット2aの左側面板20cに取り付けられている。キャビネット側中継基板44は、ミドルドア41(図3及び図4参照)に取り付けられた後述する主制御基板71(図10参照)と、ホッパー装置51、メダル補助収納庫スイッチ(不図示)、メダル払出カウントスイッチ(不図示)とを接続する配線の中継を行う。
キャビネット2a内部の中央部には、キャビネット側スピーカ42による音の出力を制御するアンプ基板45が配設されている。このアンプ基板45は、左右の側面板20c,20dに固定された取付棚46に取り付けられている。
また、キャビネット2a内部を正面から見て、アンプ基板45の右側には、外部集中端子板47が配設されている(図5参照)。この外部集中端子板47は、キャビネット2aの右側面板20dに取り付けられている。外部集中端子板47は、メダル投入信号、メダル払出信号及びセキュリティー信号などの信号をパチスロ1の外部へ出力するために設けられている。
キャビネット2a内部を正面から見て、アンプ基板45の左側には、サブ電源装置48が配設されている。このサブ電源装置48は、キャビネット2aの左側面板20cに取り付けられている。サブ電源装置48は、交流電圧100Vの電力を後述する電源装置53に供給する。また、交流電圧100Vの電力を直流電圧の電力に変換して、アンプ基板45に供給する。
キャビネット2aの内部の下側には、メダル払出装置(以下、ホッパー装置)51と、メダル補助収納庫52と、電源装置53が配設されている。
ホッパー装置51(貯留手段)は、キャビネット2aにおける底面板20bの中央部に取り付けられている。このホッパー装置51は、多量のメダルを収容可能であり、それらを1枚ずつ排出可能な構造を有する。ホッパー装置51は、例えば、精算ボタン27(図2参照)が押圧されてパチスロ内部に預けられているメダルの精算を行うときに、収容したメダルをクレジット枚数分排出する。ホッパー装置51によって払い出されたメダルは、メダル払出口32(図2参照)から排出される。
メダル補助収納庫52は、ホッパー装置51から溢れ出たメダルを収納する。このメダル補助収納庫52は、キャビネット2a内部を正面から見て、ホッパー装置51の右側に配置されている。メダル補助収納庫52は、キャビネット2aの底面板20bに係合されており、底面板20bに対して着脱可能に構成されている。
電源装置53は、キャビネット2a内部を正面から見て、ホッパー装置51の左側に配置されており、左側面板20cに取り付けられている。この電源装置53は、電源スイッチ53aと、電源基板53bを有している(図14参照)。電源装置53は、サブ電源装置48から供給された交流電圧100Vの電力を各部で必要な直流電圧の電力に変換して、変換した電力を各部へ供給する。
図3,図4及び図6に示すように、ミドルドア41は、フロントドア2bの裏面における中央部に配置され、リール表示窓4(図4参照)を裏側から開閉可能に構成されている。ミドルドア41の上部と下部には、ドアストッパ41a,41b,41cが設けられている。このドアストッパ41a,41b,41cは、リール表示窓4を裏側から閉じた状態のミドルドア41の開動作を固定(禁止)する。すなわち、ミドルドア41を開くには、ドアストッパ41a,41b,41cを回転させてミドルドア41の固定を解除する必要がある。
ミドルドア41には、主制御基板71(図10参照)を収納した主制御基板ケース55と、3つのリール3L,3C,3Rが取り付けられている。3つのリール3L,3C,3Rには、所定の減速比をもったギアを介してステッピングモータが接続されている。
図6に示すように、主制御基板ケース55には、設定用鍵型スイッチ56が設けられている。この設定用鍵型スイッチ56は、パチスロ1の設定を変更もしくはパチスロ1の設定の確認を行うときに使用する。本実施形態では、主制御基板ケース55と、この主制御基板ケース55に収納された主制御基板71により、主制御基板ユニットが構成されている。
主制御基板ケース55に収納された主制御基板71(第1制御部)は、後述する主制御回路91(図11参照)を構成する。主制御回路91は、内部当籤役の決定、リール3L,3C,3Rの回転及び停止、入賞の有無の判定といった、パチスロ1における遊技の主な流れを制御する回路である。主制御回路91の具体的な構成は後述する。
ミドルドア41の上方には、副制御基板72(図10参照)を収容する副制御基板ケース57が配設されおり、副制御基板ケース57の上方には、センタースピーカ58が配設されている。副制御基板ケース57に収納された副制御基板72は、副制御回路101(図12参照)を構成する。この副制御回路101(第2制御部)は、映像の表示等による演出の実行を制御する回路である。副制御回路101の具体的な構成は後述する。
フロントドア2bを裏面側から見て、副制御基板ケース57の右側方には、副中継基板61が配設されている。この副中継基板61は、副制御基板72と主制御基板71とを接続する配線を中継する。また、副制御基板72と副制御基板72の周辺に配設された基板とを接続する配線を中継する基板である。なお、副制御基板72の周辺に配設される基板としては、後述するLED基板62A,62B,62Cが挙げられる。
LED基板62A,62B,62Cは、フロントドア2bの裏面側から見て、副制御基板ケース57の両側に配設されている。これらLED基板62A,62B,62Cは、副制御回路101(図12参照)の制御により実行される演出に応じて、光源の一具体例を示す複数のLED(Light Emitting Diode)85(図10参照)を発光させて、点滅パターンを表示する。なお、本実施形態のパチスロ1には、LED基板62A,62B,62C以外に複数のLED基板を備えている。
副中継基板61の下方には、24hドア監視ユニット63が配設されている。この24hドア監視ユニット63は、フロントドア2bの開閉の履歴を保存する。また、フロントドア2bを開放したときに、液晶表示装置11にエラー表示を行うための信号を副制御基板72(副制御回路101)に出力する。
ミドルドア41の下方には、ボードスピーカ64と、下部スピーカ65L,65Rが配設されている。ボードスピーカ64は、腰部パネルユニット31(図2参照)に対向しており、下部スピーカ65L,65Rは、それぞれスピーカ用孔33L,33R(図2参照)に対向している。
下部スピーカ65Lの上方には、メダルセレクタ201と、メダルシュート202と、ドア開閉監視スイッチ67と、が配設されている。メダルセレクタ201は、メダルの材質や形状等が適正であるか否かを判別する装置であり、メダル投入口21に投入されたメダルを、スロープ203を介してホッパー装置51へ案内し、又はメダルシュート202へ案内する。メダルセレクタ201の具体的な構成については後述する。
メダルシュート202は、略Y字状の筒状の部材であり、メダルセレクタ201によって案内されたメダルやホッパー装置51から排出されたメダルをメダル払出口32(図2参照)に案内する。
ドア開閉監視スイッチ67は、フロントドア2bを裏面側から見て、メダルセレクタ201の左側方に配置されている。このドア開閉監視スイッチ67は、フロントドア2bの開閉を検知して24hドア監視ユニット63に開閉に関する情報を送信する。
また、図6には示さないが、ドア開閉スイッチ69が設けられ、このドア開閉スイッチ69は、パチスロ1の外部へ、フロントドア2bの開閉を報知するためのセキュリティー信号を出力する。
また、リール表示窓4の下方であってミドルドア41により開閉される領域には、ドア中継端子板68が配設されている(図4参照)。このドア中継端子板68は、主制御基板ケース55内の主制御基板71(図10参照)と、各種のボタンやスイッチ、副制御基板72(図10参照)、メダルセレクタ201及び遊技動作表示基板81(図10参照)との配線を中継する基板である。なお、各種のボタン及びスイッチとしては、例えば、BETボタン22、精算ボタン27、ドア開閉スイッチ69、後述するBETスイッチ77、スタートスイッチ79等を挙げることができる。
<メダルセレクタの構成>
次に、図7~図9、図13を参照して、メダルセレクタ201の具体的な構成について説明する。図7は、メダルセレクタ201をパチスロ1の斜め後方から見た斜視図であり、メダルセレクタ201に固定されるカバー部材240を外した態様を示している。図8は、メダルセレクタ201の分解図である。図9は、メダルセレクタ201をパチスロ1の斜め前方から見た斜視図である。
図7~図9に示すように、メダルセレクタ201は、ベース板部204と、サブプレート205と、キャンセルシュータ206と、セレクトプレート207(ガイド手段)と、メダルソレノイド208(駆動手段、図9参照)、カメラユニット209(撮像手段、又は、通過物体検出手段)と、を備えている。また、図7に示すように、メダルセレクタ201には、メダルセレクタ201のパチスロ1の前後方向の後側を覆うカバー部材240が固定されている。図7では、メダルセレクタ201から取り外したカバー部材240を破線で示している。カバー部材240は、メダルセレクタ201におけるパチスロ1の前後方向の後側を覆う閉鎖状態と、同後側を露出する開放状態に設定可能である。
ベース板部204は、メダルセレクタ201の外枠筐体を構成する略板状の部材であり、パチスロ1の左右方向の両端部がパチスロ1の後方に折曲するように成型されている。ベース板部204は、パチスロ1の前後方向に直交する一方の平面である後面204bと他方の平面である前面204a(図9参照)を有している。後面204bには、メダルレール210(通路形成部)が、パチスロ1の前方へ凹むように、且つ、略L字状に形成されている。メダルレール210の表面には、複数の突条部210aが形成されている。
ベース板部204の上端部には、メダル投入口21(図2参照)から投入されるメダルを受け入れるメダル入口部211が設けられている。メダル入口部211からメダルセレクタ201内に投入されたメダルは、メダルレール210に沿って上方から下方へ移動する。ベース板部204の下部には、メダル出口部204c(図8参照)が設けられている。メダルセレクタ201内を移動したメダルは、メダル出口部204cから排出され、スロープ203(図4参照)を介してホッパー装置51に収容される。
メダルレール210の略中間位置には前後方向に貫通する中央孔212が形成されており、この中央孔212からはメダルプレッシャ213(図8参照)の端部が露出している。図9に示すように、メダルプレッシャ213は、ベース板部204の前面204aに設けられた軸部214に回動可能に支持されている。この軸部214には、コイルばね215が取り付けられており、メダルプレッシャ213は、コイルばね215により、メダルプレッシャ213が中央孔212から突出するように付勢されている。
図9に示すように、ベース板部204の前面204aには、磁石217が設けられている。磁石217は、メダルレール210上を移動するメダルの内、適正な材質でない不正メダルを吸着(着磁)する。
また、図8に示すように、メダルレール210の下流領域の略中央部には、前後方向に貫通し、後述するアフタメダルプレッシャ218の後端部が露出する上露出孔219が形成されている。また、メダルレール210の下流領域の下部には、前後方向に貫通し、セレクトプレート207の後述するメダルストッパ部227が露出する下露出孔220が形成されている。
また、メダルレール210には、ここでは図示しないが、6つの基準マーカー260が形成されている。基準マーカー260は、カメラユニット209が撮像するメダルレール210上の領域である撮像領域A1内に配置されている。
基準マーカー260は、上部基準マーカー261と、下部基準マーカー262とからなり、上部基準マーカー261は、メダルレール210の上部で、傾斜しながら、左右方向に3つ並ぶように配置されている。また、下部基準マーカー262は、メダルレール210の下部で、傾斜しながら左右方向に3つ並ぶように配置されている。
基準マーカー260は、カメラユニット209が撮像した撮像領域の画像データにおいて、基準マーカー260が形成されている箇所の画素に係る輝度と、基準マーカー260が形成されていない箇所の画素に係る輝度と、が所定値以上異なるように、形成されている。本実施形態では、各基準マーカー260は、メダルレール210に三角形の孔を空けることで形成されている。なお、基準マーカー260の形成態様はこれに限らず、孔の形状は適宜選択可能である。また、例えば、基準マーカー260を、メダルレール210上に、メダルレール210の地の色とは、異なる色の図形を印刷することで、形成してもよい。
図9に示すように、メダルソレノイド208は、ソレノイド本体部208aと、板状に形成され、一端部及び他端部が前後方向に移動可能にソレノイド本体部208aに支持されている可動板部208bを備えている。アフタメダルプレッシャ218は、ベース板部204の前面204aに回動可能に軸支されている。アフタメダルプレッシャ218の前端部がメダルソレノイド208の可動板部208bによってパチスロ1の後方へ押圧されると、アフタメダルプレッシャ218は回動し、アフタメダルプレッシャ218の後端部が上露出孔219(図8参照)から露出する。
図7及び図8に示すように、キャンセルシュータ206は、略板状の部材であり、パチスロ1の左右方向の両端部がパチスロ1の前方に折曲するように成型されている。キャンセルシュータ206は、ベース板部204に着脱可能に固定され、ベース板部204の下部を後方から覆っている。キャンセルシュータ206は、メダル出口部204cを介することなく排出されるメダルをメダルシュート202(図4参照)に案内する。キャンセルシュータ206の左右方向の略中央部の上部には、下方に略矩形状に切り欠いた切欠き部206aが形成されている。
また、キャンセルシュータ206には、報知用LED206cが設けられている。報知用LED206cは、AE補正処理においてエラーが発生した旨を点灯して報知する報知手段を構成する。また、初期化スイッチ206d、色スイッチ206e、刻印スイッチ206fが設けられている。初期化スイッチ206dは、各種テンプレートの削除を含む各種設定をリセットする際に操作される。色スイッチ206eは、色判定の有効、無効を切り換える際に操作される。刻印スイッチ206fは、刻印判定の有効、無効を切り換える際に操作される。
図7及び図8に示すように、サブプレート205は、メダルレール210を後方から覆う板状の部材である。サブプレート205は、平板状の本体部221と、この本体部221の上部に設けた軸部222と、を有している。本体部221の略中央部には、前後方向に貫通する貫通孔221aが設けられており、貫通孔221aからはメダルレール210の略中央部から下流領域が露出している。
軸部222は、ベース板部204に支持されており、サブプレート205は、軸部222を中心に回動可能にベース板部204に取り付けられている。軸部222には、にはコイルばね223が取り付けられている。通常時、サブプレート205は、コイルばね223の付勢力により、ベース板部204側に押し付けられている。このとき、サブプレート205と、サブプレート205に覆われたメダルレール210の上部との間には、メダルが通過可能な空間が形成されている。すなわち、サブプレート205は、メダルを通過させるガイド板として機能する。
ここで、例えば、メダルセレクタ201内にメダル詰まりが生じた場合、サブプレート205をコイルばね223の付勢力に抗して回動させて、メダル詰まりを解消することができる。
図7に示すように、セレクトプレート207は、サブプレート205に覆われていないメダルレール210の略中央部を移動するメダルをガイドする部材である。図13に示すように、セレクトプレート207は、略台形板状のプレート本体224と、プレート本体224の左右方向の両端部がパチスロ1の前方へ折曲することで形成されている一対の軸受部225と、を有している。また、プレート本体224の上部には、パチスロ1の前方へ折曲し、後端部が上方へ折曲することで形成されているフランジ部226が形成されている。また、一方の軸受部225には、下方へ延びるメダルストッパ部227が形成されている。
図7に示すように、プレート本体224は、サブプレート205に覆われていないメダルレール210の略中央部とパチスロ1の前後方向に対向している。
図9に示すように、セレクトプレート207は、ベース板部204の前面204aに設けられた軸部228に回動可能に支持されている。軸部228にはコイルばね229が設けられており、フランジ部226をパチスロ1の前方へ付勢する。フランジ部226は、メダルソレノイド208の可動板部208bの一端部と接触している。メダルソレノイド208がON状態にあるとき、フランジ部226はメダルソレノイド208の可動板部208bの一端部に押圧され、コイルばね229の付勢力に抗してパチスロ1の後方へ移動する。このときの、セレクトプレート207の回動位置を「ガイド位置」と称する。ガイド位置にあるセレクトプレート207のプレート本体224とメダルレール210との距離は、メダルをキャンセルシュータ206側に排出することなくホッパー装置51へガイド可能な所定の距離に設定されている。また、このときメダルストッパ部227は、下露出孔220(図8参照)から突出しない。
また、メダルソレノイド208がOFF状態にあるとき、フランジ部226はメダルソレノイド208の押圧から解放され、コイルばね229の付勢力によってパチスロ1の前方へ移動する。このときの、セレクトプレート207の回動位置を「排出位置」と称する。排出位置にあるセレクトプレート207のプレート本体224とメダルレール210との距離は、所定の距離よりも長い距離に設定されている。このとき、パチスロ1の前方へ移動するフランジ部226に押圧され、メダルソレノイド208の可動板部208bの一端部はパチスロ1の前方へ移動する。これに伴ってメダルソレノイド208の可動板部208bの他端部がパチスロ1の後方へ移動し、アフタメダルプレッシャ218の前端部を押圧する。これによってアフタメダルプレッシャ218は回動し、アフタメダルプレッシャ218の後端部が上露出孔219(図8参照)から露出する。
メダルストッパ部227は、セレクトプレート207がガイド位置にあるときは下露出孔220(図8参照)から突出せず、排出位置にあるときは下露出孔220から突出する。
ガイド位置にあるセレクトプレート207は、メダルレール210上を移動するメダルが規格寸法を満たす場合、移動するメダルの上部と接触し、メダルをメダル出口部204c(図8参照)へ案内する。メダルは、セレクトプレート207に案内されているとき、メダルプレッシャ213をパチスロ1の前方へ押圧する。
示を省略している。
一方、排出位置にあるセレクトプレート207は、メダルレール210上を移動するメダルが規格寸法を満たす場合であっても、プレート本体224とメダルレール210との距離が離れているため、メダルをメダル出口部204c(図8参照)へ案内することができない。また、メダルは、メダルプレッシャ213、上露出孔219から突出するアフタメダルプレッシャ218、又は、下露出孔220から突出するメダルストッパ部227に押し出され、キャンセルシュータ206に向けて排出される。
また、本実施形態においてセレクトプレート207は、通常、ガイド位置に位置付けされているが、所定の条件下(例えば、規定枚数のメダル投入時、エラー発生時、遊技開始時など)では、排出位置に位置付けされている。
また、メダルレール210上を移動するメダルが規格寸法よりも小径の場合、セレクトプレート207がガイド位置にあっても、メダルはセレクトプレート207に案内されず、メダルプレッシャ213に押し出され、キャンセルシュータ206に向けて排出される。
図7及び図8に示すように、カメラユニット209は、第1の基板230、第2の基板231及び図示しないレンズで構成されており、メダルレール210上を移動する物体が正規メダルか否かを判定し、判定結果を主制御回路91に出力するユニットである。第1の基板230には、CMOSイメージセンサ232(図13参照)及びLED233(図13参照)が設けられている。第2の基板231には、CMOSイメージセンサ232及びLED233と通信可能、及び、制御可能に接続されている制御LSI234(図13参照)が設けられている。
第1の基板230と第2の基板231は、BtoB(Board-to-Board)形式のコネクタ(不図示)で接続され、また、各基板230,231の角部に設けられた脚部235によって固定されている。また、本実施形態では、カメラユニット209を2つの基板230,231とレンズで構成する態様を説明したが、これに代えて、CMOSイメージセンサ232、LED233及び制御LSI234を設けた一つの基板で、カメラユニットを構成してもよい。また、絞り機構を追加してもよい。
カメラユニット209は、キャンセルシュータ206の上部の切欠き部206aの周囲に設けられたビス穴206bに、第1の基板230がビス止めされることで、固定されている。
CMOSイメージセンサ232(図13参照)は、第1の基板230の略中央部分に設けられている。CMOSイメージセンサ232は、キャンセルシュータ206の切欠き部206a(図8参照)を介して、メダルレール210上の撮像領域A1を撮像し、撮像した画像データを制御LSI234(図13参照)に出力する。
LED233(図13参照)は、CMOSイメージセンサ232の周囲で面発光し、メダルレール210上を移動する物体に光を照射する。制御LSI234(図13参照)は、CMOSイメージセンサ232から出力された画像データに基づいて、メダルレール210上を移動する物体が正規メダルか否かを判定し、判定結果を主制御回路91に出力する。なお、本実施形態では、切欠き部206aの周囲に形成したビス穴206bにビス止めすることでカメラユニット209をキャンセルシュータ206に固定する態様を説明したが、カメラユニットの固定態様はこれに限定されない。例えば、第1の基板230と第2の基板231の間に取り付けレールを設け、また、キャンセルシュータ206の上部に凹部を設け、この凹部に取り付けレールを嵌めた上で、取り付けレールとキャンセルシュータ206をビス止め又は接着剤で固定するようにしてもよい。
<パチスロが備える回路の構成>
次に、パチスロ1が備える回路の構成について、図10~図12を参照して説明する。まず、図10を参照してパチスロ1が備える回路全体の概要について説明する。図10は、パチスロ1が備える回路全体のブロック構成図である。
パチスロ1は、ミドルドア41に配設された主制御基板71(第1制御手段)と、フロントドア2bに配設された副制御基板72(制御手段、第2制御手段)を有している。主制御基板71には、リール中継端子板74と、設定用鍵型スイッチ56と、外部集中端子板47と、ホッパー装置51と、メダル補助収納庫スイッチ75と、電源装置53の電源基板53bが接続されている。設定用鍵型スイッチ56、外部集中端子板47、ホッパー装置51及びメダル補助収納庫スイッチ75は、キャビネット側中継基板44を介して主制御基板71に接続されている。外部集中端子板47及びホッパー装置51については、上述したため、説明を省略する。
リール中継端子板74は、各リール3L,3C,3Rのリール本体の内側に配設されている。このリール中継端子板74は、各リール3L,3C,3Rのステッピングモータ(不図示)に電気的に接続されており、主制御基板71からステッピングモータに出力される信号を中継する。
メダル補助収納庫スイッチ75は、メダル補助収納庫52のスイッチ貫通孔(非表示)を貫通している。このメダル補助収納庫スイッチ75は、メダル補助収納庫52がメダルで満杯になっているか否かを検出する。
電源装置53の電源基板53bには、電源スイッチ53aが接続されている。この電源スイッチ53aは、パチスロ1に必要な電源を供給するときにONにする。
また、主制御基板71には、ドア中継端子板68を介して、メダルセレクタ201、ドア開閉スイッチ69、BETスイッチ77、精算スイッチ78、スタートスイッチ79、ストップスイッチ基板80、遊技動作表示基板81及び副中継基板61が接続されている。ドア開閉スイッチ69及び副中継基板61については、上述したため、説明を省略する。メダルセレクタ201の回路構成については後述する。
BETスイッチ77は、BETボタン22が遊技者により押されたことを検出する。精算スイッチ78は、精算ボタン27が遊技者により押されたことを検出する。スタートスイッチ79は、スタートレバー23が遊技者により操作されたこと(開始操作)を検出する。
ストップスイッチ基板80は、回転しているリールを停止させるための回路と、停止可能なリールをLEDなどにより表示するための回路を構成する基板である。このストップスイッチ基板80には、ストップスイッチが設けられている。ストップスイッチは、各ストップボタン19L,19C,19Rが遊技者により押されたこと(停止操作)を検出する。
遊技動作表示基板81は、メダルの投入を受け付けるとき、3つのリール3L,3C,3Rが回動可能なとき及び再遊技を行うときに、投入されたメダルの枚数を7セグ表示器24に表示させるための基板である。この遊技動作表示基板81には、7セグ表示器24とLED82が接続されている。LED82は、例えば、遊技の開始を表示するマークや再遊技を行うマークなどを点灯させる。
副制御基板72は、ドア中継端子板68と副中継基板61を介して主制御基板71に接続されている。この副制御基板72には、副中継基板61を介して、サウンドI/O基板84、LED基板62A,62B,62C、24hドア監視ユニット63、メダルセレクタ201、エンタースイッチ110、セレクトスイッチ111が接続されている。LED基板62A,62B,62C及び24hドア監視ユニット63については、上述したため、説明を省略する。
エンタースイッチ110は、エンターボタン29が押されたことを検出して、その検出結果を、副中継基板61を介して副制御基板72に出力する。また、セレクトスイッチ111は、セレクトボタン28が押されたことを検出して、その検出結果を、副中継基板61を介して副制御基板72に出力する。
サウンドI/O基板84は、センタースピーカ58、ボードスピーカ64、下部スピーカ65L,65R及びフロントドア2bに設けられた不図示のスピーカへの音声の出力を行う。
また、副制御基板72には、ロムカートリッジ基板86と、液晶中継基板87が接続されている。これらロムカートリッジ基板86及び液晶中継基板87は、副制御基板72と共に副制御基板ケース57に収納されている。ロムカートリッジ基板86は、演出用の画像(映像)、音声、LED基板62A,62B及びその他のLED基板(不図示)、通信のデータを管理するための基板である。液晶中継基板87は、副制御基板72と液晶表示装置11とを接続する配線を中継する基板である。
<主制御回路>
次に、主制御基板71により構成される主制御回路91について、図11を参照して説明する。図11は、パチスロ1の主制御回路91の構成例を示すブロック図である。
主制御回路91は、主制御基板71上に設置されたマイクロコンピュータ92を主たる構成要素としている。マイクロコンピュータ92は、メインCPU93、メインROM94及びメインRAM95により構成される。メインCPU93と前述のホッパー装置51は、本発明の遊技媒体払出装置を構成している。
メインROM94には、メインCPU93により実行される制御プログラム(例えば、上述した内部抽籤処理の実行のためのプログラム)、データテーブル、副制御回路101に対して各種制御指令(コマンド)を送信するためのデータ等が記憶されている。メインRAM95には、制御プログラムの実行により決定された内部当籤役等の各種データを格納する格納領域が設けられる。
メインCPU93には、クロックパルス発生回路96、分周器97、乱数発生器98及びサンプリング回路99が接続されている。クロックパルス発生回路96及び分周器97は、クロックパルスを発生する。メインCPU93は、発生されたクロックパルスに基づいて、制御プログラムを実行する。乱数発生器98は、予め定められた範囲の乱数(例えば、0~65535)を発生する。サンプリング回路99は、発生された乱数の中から1つの値を抽出する。
メインCPU93は、リールインデックスを検出してから各リール3L,3C,3Rのステッピングモータに対してパルスを出力した回数をカウントする。これにより、メインCPU93は、各リール3L,3C,3Rの回転角度(主に、リールが図柄何個分だけ回転したか)を管理する。なお、リールインデックスとは、リールが一回転したことを示す情報である。このリールインデックスは、例えば、発光部及び受光部を有する光センサと、各リール3L,3C,3Rの所定の位置に設けられ、各リール3L,3C,3Rの回転により発光部と受光部との間に介在される検知片を備えたリール位置検出部(不図示)により検出する。
ここで、各リール3L,3C,3Rの回転角度の管理について、具体的に説明する。ステッピングモータに対して出力されたパルスの数は、メインRAM95に設けられたパルスカウンタによって計数される。そして、図柄1つ分の回転に必要な所定回数(例えば16回)のパルスの出力がパルスカウンタで計数される毎に、メインRAM95に設けられた図柄カウンタが1ずつ加算される。図柄カウンタは、各リール3L,3C,3Rに応じて設けられている。図柄カウンタの値は、リール位置検出部(不図示)によってリールインデックスが検出されるとクリアされる。
つまり、本実施形態では、図柄カウンタを管理することにより、リールインデックスが検出されてから図柄何個分の回転が行われたのかを管理するようになっている。従って、各リール3L,3C,3Rの各図柄の位置は、リールインデックスが検出される位置を基準として検出される。
上述したように、滑り駒数の最大数を図柄4個分に定めた場合は、左ストップボタン19Lが押されたときにリール表示窓4の中段にある左リール3Lの図柄と、その4個先の図柄までの範囲内にある各図柄が、リール表示窓4の中段に停止可能な図柄となる。
<副制御回路>
次に、副制御基板72により構成される副制御回路101について、図12を参照して説明する。図12は、パチスロ1の副制御回路101の構成例を示すブロック図である。
副制御回路101は、主制御回路91と電気的に接続されており、主制御回路91から送信されるコマンドに基づいて演出内容の決定や実行等の処理を行う。副制御回路101は、基本的に、サブCPU102、サブRAM103、レンダリングプロセッサ104、描画用RAM105、ドライバ106、サブRTC108を含んで構成されている。本実施形態において、サブRTC108は、設定側計時手段を構成する。
サブCPU102は、主制御回路91から送信されたコマンドに応じて、ロムカートリッジ基板86に記憶されている制御プログラムに従い、映像、音、光の出力の制御を行う。ロムカートリッジ基板86は、基本的に、プログラム記憶領域とデータ記憶領域によって構成される。
プログラム記憶領域には、サブCPU102が実行する制御プログラムが記憶されている。例えば、制御プログラムには、主制御回路91との通信を制御するための主基板通信タスクや、演出用乱数値を抽出し、演出内容(演出データ)の決定及び登録を行うための演出登録タスクが含まれる。また、決定した演出内容に基づいて液晶表示装置11(図2参照)による映像の表示を制御する描画制御タスク、LED85等の光源による光の出力を制御するランプ制御タスク、スピーカ58,64,65L,65R等のスピーカによる音の出力を制御する音声制御タスク等が含まれる。
データ記憶領域は、各種データテーブルを記憶する記憶領域、各演出内容を構成する演出データを記憶する記憶領域、映像の作成に関するアニメーションデータを記憶する記憶領域が含まれている。また、BGMや効果音に関するサウンドデータを記憶する記憶領域、光の点消灯のパターンに関するランプデータを記憶する記憶領域等が含まれている。
サブRAM103は、サブDRAM(Dynamic Random Access Memory)103aと、サブSRAM(Static Random Access Memory)103bで構成される。サブDRAM103aは、揮発性記憶手段としてのワークRAMである。サブSRAM103bは、バックアップ電源によってバックアップされる不揮発性記憶手段としてのバックアップRAMである。
サブDRAM103aには、決定された演出内容や演出データを登録する格納領域や、主制御回路91から送信される内部当籤役等の各種データを格納する格納領域や、その他バックアップ領域に割り当てられていないデータ(電源オフ状態で消えても問題ないデータ)を格納する格納領域が設けられている。
サブSRAM103bで構成されるバックアップ領域は、電源断が生じた場合、当該電源断時に保持していたデータを記憶可能となっており、電源投入時(電源断復帰時)及び投入後に、当該バックアップ領域のデータを利用可能となっている。また、例えば、メダルセレクタ201や24hドア監視ユニット63から受信する各種情報が記憶される。
サブCPU102、レンダリングプロセッサ104、描画用RAM(フレームバッファを含む)105及びドライバ106は、演出内容により指定されたアニメーションデータに従って映像を作成し、作成した映像を液晶表示装置11に表示させる。
また、サブCPU102は、演出内容により指定されたサウンドデータに従ってBGMなどの音をスピーカ58,64,65L,65R等のスピーカにより出力させる。また、サブCPU102は、演出内容により指定されたランプデータに従ってLED85等の光源の点灯及び消灯を制御する。
また、サブRTC(Real Time Clock)108は計時回路であり、サブCPU102のリクエストに応じて現在時刻を示す情報、すなわち年、月、日、時、分、秒そして曜日を示す情報を出力する。
<メダルセレクタの構成>
次に、メダルセレクタ201の構成について、図13、図14を参照して説明する。図13は、メダルセレクタ201の回路構成例を示すブロック図である。図14は、制御LSI234の回路構成例を示すブロック図である。
図13に示すように、メダルセレクタ201は、カメラユニット209と、メダルソレノイド208と、ダブルフォトセンサ272を備えている。また、メダルセレクタ201は、ドア中継端子板68を介して、主制御基板71に接続されている。また、メダルセレクタ201は、ケーブル280によって副中継基板61に接続され、その副中継基板61を介して、副制御基板72に接続されている。すなわちメダルセレクタ201は、主制御回路91及び副制御回路101と電気的に接続されている。
主制御回路91は、メダルセレクタ201のメダルソレノイド208をON状態又はOFF状態に設定することができる。すなわち主制御回路91は、セレクトプレート207をガイド位置又は排出位置に移動させることができる。
具体的には、主制御回路91は、パチスロ1がメダルを投入可能な状態であるときは投入可の内容のメダル投入信号を出力する。また、主制御回路91は、パチスロ1がメダルを投入可能な状態でないときは投入不可の内容のメダル投入信号を出力する。ここで、「投入可の内容のメダル投入信号を出力する」とは、主制御回路91と接続されている機器(本実施形態ではメダルソレノイド208)間の信号線をON状態に設定することである。また、「投入不可の内容のメダル投入信号を出力する」とは、主制御回路91と接続されている機器(本実施形態ではメダルソレノイド208)間の信号線をOFF状態に設定することである。メダルソレノイド208は、主制御回路91とメダルソレノイド208間の信号線がON状態になったことを検知すると、自身をON状態に設定する。また、メダルソレノイド208は、主制御回路91とメダルソレノイド208間の信号線がOFF状態になったことを検知すると、自身をOFF状態に設定する。
メダルセレクタ201のダブルフォトセンサ272は、ドア中継端子板68を介して、主制御基板71に接続されている。ダブルフォトセンサ272は、第1フォトセンサ273と第2フォトセンサ274とからなる。
図8に示すように、第1フォトセンサ273は、メダルセレクタ201のベース板部204におけるメダル出口部204cの付近に設けられている。第1フォトセンサ273は、ベース板部204のメダルレール210上に埋め込まれたフォトダイオード(図7参照)と、このフォトダイオードに光(赤外線光)を照射する発光体(図7参照)と、を有する。フォトダイオードと発光体は、メダルの厚み以上離れて対向しており、セレクトプレート207がガイド位置にあるときに、メダルレール210上を移動するメダルは、フォトダイオードと発光体との間を通過可能となっている。
発光体は所定光量の光を常に発光する。フォトダイオードが発光体から所定光量以上の光を受光すると、第1フォトセンサ273は、ハイレベルの信号を出力する。一方、フォトダイオードが受光する光の量が所定光量に満たなくなると、第1フォトセンサ273は、ローレベルの信号(メダル検知信号)を出力する。従って、メダルがフォトダイオードと発光体との間を通過する際に発光体の光を遮ると、第1フォトセンサ273は、メダル検知信号を出力する。
第2フォトセンサ274は、メダルセレクタ201のベース板部204におけるメダル出口部204cの付近で、且つ、第1フォトセンサ273の近傍に、第1フォトセンサ273よりも、メダルレール210上を移動するメダルの移動方向の下流側に、設けられている。なお、その他の点については、第1フォトセンサ273と同様のため、説明を省略する。
なお、本実施形態では、ダブルフォトセンサ272を構成する第1フォトセンサ273及び第2フォトセンサ274が、フォトダイオードと発光体との間をメダルが通過して発光体の光を遮蔽することで、通過する物体を検知する遮蔽型のセンサ方式(すなわち、フォトダイオードの状態がオン状態からオフ状態に変化することで検知する検知方式)を採用する態様を説明した。しかしながら、フォトダイオードで、メダルを検知する態様はこれに限定されない。例えば、フォトダイオードと発光体を左右又は上下に配置して発光体の光を通過するメダルが反射した光をフォトダイオードが受光することでメダルの通過を検知する、いわゆる反射型のセンサ方式を採用してもよい。また、第1フォトセンサ273を遮蔽型、第2フォトセンサ274を反射型、又は、逆の組合せで、フォトダイオードを配置する位置に応じて、これらのセンサ方式を適宜選択して採用してもよい。
上述したように第1フォトセンサ273はメダル出口部204cの付近に設けられ、第2フォトセンサ274は第1フォトセンサ273よりもメダルレール210上の下流に設けられている。このため、第1フォトセンサ273及び第2フォトセンサ274は、セレクトプレート207がガイド位置にあり、メダル出口部204c(図8参照)側へ移動するメダルは検知するが、セレクトプレート207が排出位置にあり、メダルシュート202(図6参照)に案内されるメダルは検知しない。
第1フォトセンサ273及び第2フォトセンサ274から出力されたメダル検知信号は、ドア中継端子板68を介して、主制御基板71(主制御回路91)に入力される。主制御基板71のメインCPU93(図11参照)が、第1フォトセンサ273から入力されたメダル検知信号を検出してから、所定時間内に、第2フォトセンサ274から入力されたメダル検知信号を検出すると、投入されたメダルの枚数をメインCPU93が計数するために設けられたカウンタである投入枚数カウンタの値に1加算する。なお、投入枚数カウンタの値が最大値(例えば、3)の場合は、クレジットされているメダルの枚数をメインCPU93が計数するために設けられたカウンタであるクレジットカウンタの値に1加算する。
クレジットカウンタが最大値(例えば、50)の場合は、主制御回路91は、メダルセレクタ201のメダルソレノイド208をOFF状態に設定する。これによって、セレクトプレート207(図8参照)が「排出位置」に位置付けされ、メダルが投入不可となり、クレジットカウンタが最大値となった後で投入されたメダルをメダルシュート202(図6参照)に案内してメダル払出口32(図2参照)からメダルトレイユニット34に排出する。
なお、主制御回路91は、単位遊技においてスタートレバー23が遊技者により操作された後においても、メダルセレクタ201のメダルソレノイド208をOFF状態に設定する。
また、メインCPU93が、第2フォトセンサ274から入力されたメダル検知信号、第1フォトセンサ273から入力されたメダル検知信号の順で、メダル検知信号を受信した場合、メダルがメダルレール210上を適正な移動方向とは異なる(逆の)移動方向で移動する、いわゆる逆行エラーが発生したことを検知する。
また、メインCPU93が、メダル検知信号を検出してから一定時間を経過しても、第1フォトセンサ273、第2フォトセンサ274のいずれか、若しくは両方から、メダル検知信号が出力され続けている場合や、第1フォトセンサ273からのメダル検知信号を検出してから一定時間経過しても、第2フォトセンサ274からのメダル検知信号を検出できない場合、メダルがメダルレール210上で留まる、いわゆるメダル詰まりエラーが発生したことを検知する。
主制御回路91(メインCPU93)は、逆行エラーやメダル詰まりエラーを検知すると、遊技を強制的に中断させ、7セグ表示器24(図2参照)に、検知したエラーの内容に応じたエラーコードを表示するとともに、副制御回路101に検知したエラーの内容に応じたエラーコマンドを送信して、副制御回路101を介して、エラーを報知する。例えば、液晶表示装置11にエラーの内容を示すエラー画面を表示したり、副制御回路101が表示を制御する副7セグ表示器(不図示)を設ける場合は、この副7セグ表示器に所定の表示をしたりする。
副制御回路101は、メダルセレクタ201の制御LSI234から、色判定の判定結果、刻印判定の判定結果、各種信号やコマンドを受信する。
カメラユニット209は、制御LSI234、CMOSイメージセンサ232及びLED233で構成されている。カメラユニット209の制御LSI234は、ASIC(Application Specific Integrated Circuit)で構成され、CMOSイメージセンサ232及びLED233と電気的に接続されている。制御LSI234は、LED233の発光を制御する。また、制御LSI234は、CMOSイメージセンサ232から出力された画像データに基づいて、メダルレール210上を移動する物体が正規メダルか否かを判定し、判定結果を、後述するUART252から、副中継基板61を介して副制御基板72(副制御回路101)に送信する。
CMOSイメージセンサ232は、露光時間(シャッタースピード)を1~25段階で設定する露光時間設定機構を備えている。1段階上がる毎に、露光時間は、7μ秒延びるように設定される。本実施形態では、露光時間の初期値(パチスロ1の電源投入時の値)は、段階10、すなわち70μ秒に設定されている。従って、本実施形態では、露光時間を、70μ秒から最大175μ秒(段階25に対応する露光時間)の範囲で設定可能となっている。なお、本実施形態において、採用されているCMOSイメージセンサ232は、解像度が648×488ピクセルであり、フレームレートが240fps(Frames Per Second)のCMOSイメージセンサである。
また、制御LSI234は、報知用LED206cとGPIO250を介して電気的に接続されている。報知用LED206cは、制御LSI234からの指示に応じて点灯及び消灯する。また、制御LSI234は、初期化スイッチ206d、色スイッチ206e、刻印スイッチ206fとGPIO250を介して電気的に接続されている。
通電中に初期化スイッチ206dが操作される(ON状態になる)と、制御LSI234は、スイッチ応答初期化処理を行う(なお、本実施形態では、メダルセレクタ201に対して暗号化キーを送信する処理を含む処理を「初期化処理」と称しており、初期化スイッチ206dの操作に応じて行われる初期化処理は「スイッチ応答初期化処理」として、これと区別するものとする)。スイッチ応答初期化処理において、制御LSI234は、後述するSRAM243及びフラッシュメモリ244に記憶されている各種パラメータやテンプレートを削除し、これらに初期値を設定する(リセットする)。
色スイッチ206eは、ON/OFF状態に設定可能である。色スイッチ206eがON状態に設定されると、制御LSI234は、色判定を有効とし、判定完了コマンドに含まれる色判定結果の値を実際の判定結果に応じて「1」(判定OK)又は「0」(判定NG)に設定する。一方、色スイッチ206eがOFF状態に設定されると、制御LSI234は、色判定を無効とし、判定完了コマンドに含まれる色判定結果の値を実際の判定結果に係わらず「1」(判定OK)に設定する。すなわち、色スイッチ206eは、色判定を有効にする場合は、ON状態に設定され、無効にする場合はOFF状態に設定される。
刻印スイッチ206fは、ON/OFF状態に設定可能である。刻印スイッチ206fがON状態に設定されると、制御LSI234は、刻印判定を有効とし、判定完了コマンドに含まれる刻印判定結果の値を実際の判定結果に応じて「1」(判定OK)又は「0」(判定NG)に設定する。一方、刻印スイッチ206fがOFF状態に設定されると、制御LSI234は、刻印判定を無効とし、判定完了コマンドに含まれる刻印判定結果の値を実際の判定結果に係わらず「1」(判定OK)に設定する。すなわち、刻印スイッチ206fは、刻印判定を有効にする場合は、ON状態に設定され、無効にする場合はOFF状態に設定される。
本実施形態において、制御LSI234は、電源投入時における色スイッチeのON/OFF状態に応じて色判定の有効/無効を設定し、また、電源投入時における刻印スイッチfのON/OFF状態に応じて刻印判定の有効/無効を設定する。電源投入後にこれらスイッチが操作されても、電源投入時のスイッチの状態に応じて設定された色判定及び刻印判定の有効/無効は、変更しない。制御LSI234は、初期化スイッチ206d、色スイッチ206e、刻印スイッチ206fのON/OFF状態を予め規定された周期(例えば、10msec周期)で取得する。なお、この周期は、メダルセレクタ無操作コマンドを送信する周期よりも短く設定されている。
<制御LSIの構成>
次に、制御LSI234の回路構成について、図14を参照して説明する。
制御LSI234は、ホストコントローラ241、画像認識DSP(digital signal processor)回路242、バックアップ電源(不図示)が接続されたSRAM(Static Random Access Memory)243、フラッシュメモリ244、ISP(Image Signal Processing)回路245及びメダルカウント回路246を備えている。また、制御LSI234は、カラー認識回路247、魚眼補正スケーラ回路248、画像認識アクセラレータ回路249、GPIO(General Purpose Input/Output)250及びUART(Universal Asynchronous Receiver Transmitter)252を備えている。これら制御LSI234を構成するデバイスは、バスを介して相互に接続されおり、本実施形態の制御LSI234では、バスのプロトコルとしてAXI(Advanced eXtensible Interface)が採用されている。
また、制御LSI234は、ISI(Image Sensor Interface)回路251を備えている。ISI回路251は、CMOSイメージセンサ232とISP回路に電気的に接続されている。ISI回路251は、CMOSイメージセンサ232からLVDS(Low voltage differential signaling)方式で送信された画像データをRGBベイヤ画像に変換して出力する。このとき、ISI回路251から出力されるRGB画像には固有の画像IDが付される。この画像IDは、各種画像変換を施された後のデータに引き継がれる。このため、各種判定に係るデータに引き継がれている画像IDに基づいて、それぞれの判定結果を紐付けることができる。すなわち、RGB画像内にメダルが写っていた場合、このメダルに対するこれらの判定結果を関連付けることができる。
ISP回路245は、ISI回路251からRGBベイヤ画像が出力されると(RGBベイヤ画像が入力される)と、VSYNC(Vertical Synchronization)割込信号を、ホストコントローラ241に出力する。また、ISP回路245は、ISI回路251から出力されたRGBベイヤ画像にレンズ歪み補正処理と射影変換(ホモグラフィ)処理を施す画像補正処理を行う。
カラー認識回路247は、ISP回路245から出力されたHSV画像データの内の色相と彩度に基づいて色判定処理を行う。色判定処理には、メダル検出処理、閾値判定処理、彩度・色相乗算処理、色テンプレート生成処理、及び、色テンプレート比較処理が含まれる。
メダルカウント回路246は、ISP回路245から出力されたグレースケール画像データに基づいてカウント処理を行う。カウント処理には、メダル画像判別処理、メダル位置検出処理及び順序判定処理が含まれる。
魚眼補正スケーラ回路248は、SRAM243からグレースケール画像データを取得し、取得したグレースケール画像データを魚眼補正する魚眼補正処理を行う。
画像認識DSP回路242は、前処理において、SRAM243から縮小画像データ(本実施形態では、1/4に縮小した縮小画像データ)を取得し、取得した縮小画像データから円領域を検出する円領域検出処理と、非線形拡散フィルタ処理を行いエッジ画像を作成してSRAM243に記憶させるフィルタ処理を行う。また、画像認識DSP回路242は、各種判定処理を行う。なお、本実施形態では、1/4に縮小した画像データを使用しているが、これに限らず、フラッシュメモリ244に使用する縮小画像データを選択するための設定を記憶させ、その設定に応じて、1/2に縮小した画像データ、又は、1/8に縮小した画像データを選択できるようにしてもよい。
画像認識アクセラレータ回路249は、勾配平均画像データに係る処理、エッジ勾配画像に係る処理及び高速フーリエ変換(Fast Fourier Transform,以下「FFT変換」と称する場合がある)処理を行う。また、画像認識アクセラレータ回路249は、刻印判定処理に用いられる各種テンプレートを作成するテンプレート生成処理を行う。
GPIO250は、メダルセレクタ201に接続されている各機器と、制御LSI234と、の入出力のためのデバイスである。また、制御LSI234と、メダルセレクタ201を構成する各種デバイスと、の入出力のためのデバイスである。
UART252は、メダルセレクタ201と副制御基板72からなる副制御回路101との間で各種コマンドを送受信するためのシリアル通信用デバイスである。なお、図14では副中継基板61の図示を省略している。
ホストコントローラ241は、制御LSI234を構成する各デバイス、例えばメダルカウント回路246、カラー認識回路247、魚眼補正スケーラ回路248、画像認識DSP回路242、画像認識アクセラレータ回路249、GPIO250、UART252の制御を行う。
フラッシュメモリ244には、制御LSI234を構成する各種デバイス、例えば、ホストコントローラ241、画像認識DSP回路242、魚眼補正スケーラ回路248、画像認識アクセラレータ回路249が各種処理に用いるパラメータや各種処理に必要なデータが記憶されている。また、フラッシュメモリ244には、上述の露光時間の段階の値を記憶している領域が設けられている。
<ドア監視ユニット(24hドア監視ユニット)の構成>
次に、24hドア監視ユニット63について、図15を参照して説明する。図15は、24hドア監視ユニット63の構成例を示すブロック図である。
図15に示すように、24hドア監視ユニット63は、制御LSI300、RTC(Real Time Clock)301、バッテリー302、ROM303、RAM304、及びEEPROM(登録商標:Electrically Erasable Programmable Read-Only Memory)305を有している。また、24hドア監視ユニット63は、副制御基板72と、ドア開閉監視スイッチ67と、電源基板53bと、に電気的に接続されている。
制御LSI300は、24hドア監視ユニット63の動作を制御する。制御LSI300は、制御コントローラ回路306、シリアル通信回路307、乱数発生回路308、及びI/Oポート回路309を有している。
制御コントローラ回路306は、ROM303に格納されているプログラムに従って、各種処理を実行する。乱数発生回路308は、フリーランカウンタ(以下、「FRC」と称する場合がある)で構成され、FRCから取得したカウント値を用いて規定の演算を行うことで乱数を発生させる。I/Oポート回路309は、ドア開閉監視スイッチ67に接続されており、ドア開閉監視スイッチ67からフロントドア2bの開閉を示す信号を受信する。また、I/Oポート回路309は、図15では省略したが、ミドルドア41の開閉を検知するドア開閉監視スイッチから、ミドルドア41の開閉を示す信号を受信する。また、以降において、ミドルドア41に関する開閉履歴監視の処理についての説明を省略する。
シリアル通信回路307は、24hドア監視ユニット63に接続されているホスト機器との間でコマンドやデータを送受信する際に用いられる。シリアル通信回路307がホスト機器からコマンドやデータを1バイト受信する毎に、制御LSI300は、例えば、受信割込み処理を実行する。なお、本実施形態では、ホスト機器として、副制御回路101(副制御基板72)に加え、外部コンピュータであるコンピュータ400が含まれる。
なお、図15では、ホスト機器としての副制御基板72が24hドア監視ユニット63に接続されている例を示している。しかし、24hドア監視ユニットに接続されるホスト機器は、これに限らない。例えば、パチスロ1の製造時やメンテナンス時に24hドア監視ユニット63の各種設定を行う場合は、ホスト機器として設定機(例えば、上述したコンピュータ400)が24hドア監視ユニット63に接続される。この設定機は、不揮発性の記憶装置(ハードディスクなど)と揮発性の記憶装置(RAMなど)を備えている。
バッテリー302は、例えばリチウムイオン二次電池で構成されている。バッテリー302は、パチスロ1の電源が切られているときに24hドア監視ユニット63の電源として機能する。このため、24hドア監視ユニット63は、パチスロ1の電源が切られているときも各種処理を行うことが可能となっている。なお、このバッテリー302は、パチスロ1に電源がONになっているときに電源基板53bから供給される電力を蓄電する。なお、パチスロ1の電源が切られている間の電源として、充電が可能な二次電池を例示したが、これに限らず、一次電池(例えば、リチウム電池,アルカリマンガン乾電池)を用いてもよい。
RTC301は計時回路であり、制御LSI300のリクエストに応じて現在時刻を示す情報、すなわち年、月、日、時、分、秒そして曜日を示す情報を出力する。RTC301は、監視側計時手段を構成する。
EEPROM305は、不揮発性メモリであり、フロントドア2bの開閉履歴を示す情報(以下、「開閉履歴情報」と称する。)などを記憶する。EEPROM305に記憶する情報及びEEPROM305における情報の格納場所については、後で図39を参照して説明する。
RAM304は、DRAM(Dynamic Random Access memory)で構成され、制御LSI300の作業領域や制御LSI300とホスト機器との通信のバッファ領域として用いられる。RAM304に記憶する情報及びRAM304における情報の格納場所については、後で図40を参照して説明する。
<本発明の機能の概要>
次に、本発明の一実施形態に係る暗号化キー作成、初期化、及び設定読出の各機能の概要について、図16~図18を参照して説明する。
本実施形態では、図16に示した外部コンピュータ(コンピュータ400)によって、メダルセレクタ201や24hドア監視ユニット63に送信される暗号化キーを含む暗号化キーファイルが作成される。
こうした、コンピュータ400による暗号化キーファイルの作成は、コンピュータ400で実行される暗号化キー作成ツール(暗号化キー作成プログラム)によって行われる。また、メダルセレクタ201の暗号化キーファイルや24hドア監視ユニット63の暗号化キーファイルを作成する場合は、図16に示すような、パチスロ1とコンピュータ400が接続された状態である必要はない。
なお、本実施形態では、メダルセレクタ201に送信される暗号化キーは、メダルセレクタ201に記憶され、メダルセレクタ201と副制御回路101との間のデータ通信を暗号化するのに用いられるが、24hドア監視ユニット63に送信される暗号化キーは、24hドア監視ユニット63に記憶される点は、メダルセレクタ201と同様であるが、24hドア監視ユニット63に関して規定される特権コマンドを実行するためのログインパスワードを生成するために用いられる点で、メダルセレクタ201に送信される暗号化キーとは異なる。そのため、24hドア監視ユニット63に送信される暗号化キーは、「扉監視キーコード」とも表記されうる。
また本実施形態では、図16に示すように、パチスロ1のような遊技機に組み込まれるメダルセレクタ201や24hドア監視ユニット63に対してそれぞれ、外部コンピュータであるコンピュータ400が接続され、このコンピュータ400を操作することにより、メダルセレクタ201や24hドア監視ユニット63に対して、上述した暗号化キーを送信するなどの初期化処理を行うことができる。
メダルセレクタ201に関する初期化では、メダルセレクタ201と副制御回路101との間でやりとりされるデータの暗号化を行うための暗号化キーが、メダルセレクタ201に送信され、記憶される。また、24hドア監視ユニット63に関する初期化では、24hドア監視ユニット63に対して(特権コマンド等の実行に必要な)ログインを行うための暗号化キー(ログインパスワードの生成に必要な暗号鍵)や他の各種設定値が、24hドア監視ユニット63に送信され、記憶される。
こうした、コンピュータ400による初期化は、コンピュータ400で実行される初期化ツール(初期化プログラム)によって行われる。
またさらに、本実施形態では、コンピュータ400と24hドア監視ユニット63を接続し、24hドア監視ユニット63に記憶されている各種設定情報、及び開閉履歴情報を読み出して診断、表示、保存等を行うドア監視ユニット設定読出ツール(ドア監視ユニット設定読出プログラム)が提供される。
なお、本実施形態では、コンピュータ400は、一般的なパーソナルコンピュータが利用されるが、他の様々なタイプのコンピュータ装置を用いることができる。
また、図16に示すように、コンピュータ400にオペレーションマシン500を接続するように構成することもでき、そのオペレーションマシン500から、上述したメダルセレクタ201や24hドア監視ユニット63の暗号化キー作成、初期化処理、及び24hドア監視ユニット63の設定読出等を指示することができる。オペレーションマシン500は、キーボード・マウスといった入力装置やディスプレイ装置を備え、遊技機の製造工場等において、遊技機の製造・検査に使用されているコンピュータ装置であり、コンピュータ400に接続することで、コンピュータ400で実行されている各プログラムに対する指示をより効率的に行うことができ、また、当該各プログラムによる表示内容を、(例えば、大画面により)見やすく表示することができる。
メダルセレクタ201を初期化する場合、コンピュータ400とメダルセレクタ201がケーブルを介して接続される。例えば、パチスロ1の組み立てが完了し、メダルセレクタ201がパチスロ1に組み込まれている場合、メダルセレクタ201と副中継基板61(副制御基板72、副制御回路101)を接続するケーブル280(図13参照)を、副中継基板61から一旦外してコンピュータ400に接続し、メダルセレクタ201とコンピュータ400との間でシリアル通信を可能とする。すなわち、メダルセレクタ201とコンピュータ400が接続されている間は、メダルセレクタ201と副中継基板61(副制御基板72、副制御回路101)は接続されていない状態となる。
なお、メダルセレクタ201がパチスロ1に取り付けられる前であれば、ケーブル280をそのままコンピュータ400に接続することができる。ケーブル280の端部(副中継基板61に接続されていたコネクタ部)には、例えば、USB-TTLシリアルコンバータケーブルが接続され、それを、コンピュータ400のUSB端子に挿入することで、コンピュータ400とメダルセレクタ201が接続される。
一方、24hドア監視ユニット63の初期化や設定読出をする場合、コンピュータ400と24hドア監視ユニット63がケーブルを介して接続される。例えば、パチスロ1の組み立てが完了し、24hドア監視ユニット63がパチスロ1に組み込まれている場合、24hドア監視ユニット63と副制御基板72を接続するケーブル320(図15参照)を、副制御基板72(副制御回路101)から一旦外してコンピュータ400に接続し、24hドア監視ユニット63とコンピュータ400との間でシリアル通信を可能とする。すなわち、24hドア監視ユニット63とコンピュータ400が接続されている間は、24hドア監視ユニット63と副制御基板72(副制御回路101)は接続されていない状態となる。
なお、24hドア監視ユニット63がパチスロ1に取り付けられる前であれば、ケーブル320をそのままコンピュータ400に接続することができる。
なお、パチスロ1のメダルセレクタ201とコンピュータ400を少なくとも含むシステム、又はパチスロ1の24hドア監視ユニット63とコンピュータ400を少なくとも含むシステムは、本発明に係る遊技システムである。
図17は、本発明の機能の概要を時系列に示した図である。左側の列は、メダルセレクタ201に関する処理のフローを表しており、右側の列は、24hドア監視ユニット63に関する処理のフローを表している。
最初に、本実施形態に係るパチスロ1が組み立てられる前のタイミングで、メダルセレクタ暗号化キー作成ツール(プログラム)により、メダルセレクタ201に関する暗号化キーファイルを作成する。また、ドア監視ユニット暗号化キー作成ツール(プログラム)により、24hドア監視ユニット63に関する暗号化キーファイルを作成する。これらの暗号化キーファイルは、ログインパスワードを生成するための暗号化キー(ログインパスワードそのものであってもよい)を含むものであるが、それ自体、所定の暗号鍵で暗号化されているファイルである。
パチスロ1の組み立てが完了すると、左側の列に示す通り、メダルセレクタ201に関し、まず、メダルセレクタ初期化ツールで、上述の暗号化キーファイルが読み込まれる。次に、メダルセレクタ初期化ツールが、メダルセレクタ201との接続を確立する。なお、ここでは、暗号化キーファイルの読み込みと、メダルセレクタ初期化ツールとメダルセレクタ201との間の接続の確立は、どちらが先でもよい。
次に、メダルセレクタ初期化ツールで、メダルセレクタ201の初期化を行う。より詳細には、メダルセレクタ初期化ツールは、読み取った暗号化キーファイルを復号化して元の暗号化キーを取得し、これをメダルセレクタ201に送信する。メダルセレクタ201は、コンピュータ400から暗号化キーを受信すると、これを新たな秘密鍵として、例えば、フラッシュメモリ244に記憶する。この秘密鍵は、メダルセレクタ201と副制御回路101との間のデータ通信において、送受信データの暗号化に用いられる。
また、メダルセレクタ初期化ツールで元の暗号化キーをメダルセレクタ201に送信する場合に、当該暗号化キーを所定の別の暗号鍵で暗号化して送信することができる。
他方、パチスロ1の組み立てが完了すると、右側の列に示す通り、24hドア監視ユニット63に関し、まず、ドア監視ユニット初期化ツールで、上述の暗号化キーファイルが読み込まれる。次に、ドア監視ユニット初期化ツールが、24hドア監視ユニット63との接続を確立する。なお、ここでは、暗号化キーファイルの読み込みと、ドア監視ユニット初期化ツールと24hドア監視ユニット63との間の接続の確立は、どちらが先でもよい。
次に、ドア監視ユニット初期化ツールで、24hドア監視ユニット63の初期化と各種設定値の設定を行う。より詳細には、ドア監視ユニット初期化ツールは、読み取った暗号化キーファイルを復号化して元の暗号化キーを取得し、これを24hドア監視ユニット63に送信する。24hドア監視ユニット63は、コンピュータ400から暗号化キーを受信すると、これを新たな秘密鍵(ログインパスワード)として、例えば、EEPROM305に記憶する。この秘密鍵は、24hドア監視ユニット63において、特権コマンド等の実行に必要なログインを行うためのパスワードとして用いられる。この他、各種設定値が、24hドア監視ユニット63に送信され、24hドア監視ユニット63は、受信した設定値で、対応する設定を更新する。
また、ドア監視ユニット初期化ツールで元の暗号化キーと設定値を24hドア監視ユニット63に送信する場合に、当該暗号化キーと設定値を所定の別の暗号鍵で暗号化して送信することができる。
なお、この例では、パチスロ1の組み立てが完了し、メダルセレクタ201と24hドア監視ユニット63がパチスロ1に組み込まれた後で初期化を行うものであるが、メダルセレクタ201と24hドア監視ユニット63は、それぞれアセンブリ部品として組立工場に配送されるので、これらをパチスロに組み込む前に、上述した初期化を行うようにすることもできる。
図18は、本発明の機能の概要を時系列に示した図であり、24hドア監視ユニット63の設定読出を行うドア監視ユニット設定読出ツールの処理と、これに関連する事象をフローとして表している。
ドア監視ユニット設定読出ツールを利用する代表的な例として、リユースのためにパチスロを回収した場合と、ホール又は営業所からパチスロに関して不具合発生の報告があった場合とに大きく分けられる。
リユースのためにパチスロを回収した場合、リユースするための動作確認を行って、不具合があるかどうかをチェックする。
次に、ドア監視ユニット設定読出ツールを実行するコンピュータ400と、24hドア監視ユニット63の接続を、上述したようなケーブル320を用いて行う。この場合、例えば、工場や検査場において、パチスロ1に取り付けられた状態の24hドア監視ユニット63に対してコンピュータ400を接続するが、パチスロ1から取り外された状態の24hドア監視ユニット63とコンピュータ400を接続してもよい。
次に、コンピュータ400実行されるドア監視ユニット設定読出ツールで、24hドア監視ユニット63に記憶されているデータを読み出す。ここで読み出すデータには、例えば、各種設定情報、及び開閉履歴情報が含まれる。
ここで、ドア監視ユニット設定読出ツールは、読み出したデータを表示するとともに、これらのデータに基づいて不具合を自動的に解析し、所定の条件を満たさない項目は、その表示領域を目立つ色で表示するなど、正常な他の項目に係る表示領域とは異なる表示態様で表示する。
このような、ドア監視ユニット設定読出ツールによるパチスロの診断は、動作確認において実際に不具合が発見された場合だけでなく、不具合が発見されていない(潜在的な不具合の可能性を有する)場合にも行うことができる。
一方、ホール等から不具合発生の報告があった場合、問題のパチスロを回収し、上記と同様の、不具合発見のためのフローを実行することができる。ただし、不具合が発生していることが分かっているので、動作確認による不具合発見のプロセスは省略することができる。
また、ホール等から不具合発生の報告があった場合において、エンジニア、営業マン等が現地に赴き、問題のパチスロの調査を行うというルートも考えられる。この場合、ホール等に設置されているパチスロに取り付けられた状態の24hドア監視ユニット63に対してコンピュータ400を接続し、ドア監視ユニット設定読出ツールによる診断を行う。なお、この場合、コンピュータ400は、例えば、携帯型のノートパソコンといったタイプのコンピュータである。
<暗号化キー作成ツール、初期化ツール等を実行するコンピュータの構成>
次に、図19を参照して、コンピュータ400のハードウェア構成の例について説明する。ただし、図19のコンピュータ400は、一般的なパーソナルコンピュータについての代表的な構成を例示したにすぎない。携帯端末や専用装置などを含む、他の様々なコンピュータ装置をコンピュータ400として利用することができる。
コンピュータ400は、CPU401、RAM402、ROM(Read Only Memory)403、ネットワークインタフェース404、オーディオ制御部405、マイクロフォン406、スピーカ407、ディスプレイコントローラ408、ディスプレイ409、入力機器インタフェース410、キーボード411、マウス412、外部記憶装置413、外部記録媒体インタフェース414、シリアルインタフェース415、外部I/Oインタフェース416、及びこれらの構成要素を互いに接続するバス417を含んでいる。
CPU401は、コンピュータ400の各構成要素の動作を制御し、OSの制御下で、本発明に係る各種ツール(例えば、暗号化キー作成ツール、初期化ツール、設定読出ツール等)の実行を制御する。
RAM402には、CPU401で実行される各処理を実行するためのプログラムや、それらのプログラムが実行中に使用するデータが一時的に格納される。ROM403には、コンピュータ400の起動時に実行されるプログラム等が格納される。
ネットワークインタフェース404は、ネットワーク420に接続するためのインタフェースである。ネットワーク420は、例えば、インターネット等を含むネットワークである。
オーディオ制御部405は、マイクロフォン406とスピーカ407を制御して音声の入出力を制御する。ディスプレイコントローラ408は、CPU401が発行する描画命令を実際に処理するための専用コントローラである。ディスプレイ409は、例えば、LCDで構成される表示装置である。
入力機器インタフェース410は、キーボード411やマウス412から入力された信号を受信して、その信号パターンに応じて所定の指令をCPU401に送信する。
外部記憶装置413は、例えば、ハードディスクや半導体メモリのような記憶装置であり、この装置内には上述したプログラムや、これらのプログラムに関連するデータが記録される。
外部記録媒体インタフェース414は、外部記録媒体430にアクセスして、そこに記録されているデータを読み取る。外部記録媒体430は、例えば、可搬型のフラッシュメモリなどである。CPU401で実行され、本発明の各機能を実現するためのプログラムは、この外部記録媒体インタフェース414を介して外部記録媒体430から提供されうる。また、本発明の各機能を実現するためのプログラムの他の流通形態としては、ネットワーク上の所定のサーバから、ネットワーク420及びネットワークインタフェース404を介して外部記憶装置413やRAM402に格納されるというルート等も考えられる。
また、外部記憶装置413や外部記録媒体430といった記憶媒体に、本発明の暗号化キーファイルを出力し、記憶することも可能である。
シリアルインタフェース415は、メダルセレクタ201とケーブル280を介して接続し、初期化のためのデータ送受信を制御する。また、シリアルインタフェース415は、24hドア監視ユニット63とケーブル320を介して接続し、初期化や設定読出のためのデータ送受信を制御する。
外部I/Oインタフェース416は、上述したオペレーションマシン500と接続し、コンピュータ400で実行される各種ツールに対する入力をオペレーションマシン500の入力装置から受信し、当該各種ツールの表示データをオペレーションマシン500のディスプレイ装置に出力する等、各種データ送受信の制御を行う。
<メダルセレクタ暗号化キー作成ツールのGUI>
次に、メダルセレクタ201に送信する暗号化キーを作成するメダルセレクタ暗号化キー作成ツール(プログラム)のGUI(Graphical User Interface)について、図20、及び図21を参照して説明する。
メダルセレクタ暗号化キー作成ツールは、上述のようにコンピュータ400において実行され、そのツールの画面は、コンピュータ400のディスプレイ409に表示され、入力・指示等は、キーボード411やマウス412等を用いて行われる。
図20Aには、メダルセレクタ暗号化キー作成ツールの暗号化キー作成画面501が示されている。暗号化キー作成画面501には、作成タブの選択で前面に表示されるよう制御された作成表示部502が含まれ、作成表示部502には、暗号化キー入力部503、初期化ベクトル表示部504、チェックサム表示部505、作成日時表示部506、及び作成指示ボタン507が示されている。図20Aは、暗号化キーが入力される前の暗号化キー作成画面501を示している。
図20Bには、図20Aと同様の暗号化キー作成画面501が示されているが、ここでは、ユーザによって暗号化キー入力部503に暗号化キーが入力された後で、暗号化キー入力部503と初期化ベクトル表示部504にそれぞれ、値が表示されている状態である。ここで、ユーザが、作成指示ボタン507をマウス412で押下等し(矢印508)、暗号化キーファイルの作成を指示する。
暗号化キー入力部503に暗号化キーを入力する場合、ユーザは、暗号化キー入力部503に、例えば、16進表記文字で、32桁(16バイト、128bit)の値を入力する。キー管理者は、それぞれ、又は一群のメダルセレクタ201に対して1つの暗号化キーを設定し、その暗号化キーを、例えば、別途、テキストファイル等の形式で記憶しておくようにする。また、暗号化キー入力部503に対して、暗号化キーを記憶したテキストファイルをドラッグ&ドロップ(又はテキストをコピー&ペースト)して、32桁の入力を行うようにすることもできる。
暗号化キー入力部503に暗号化キーが入力されるのに応じて、初期化ベクトル表示部504には、ランダムに生成された値が、例えば、16進表記文字で、32桁(16バイト、128bit)表示される。図20Bでは、便宜上、16進表記文字「F」が、暗号化キー入力部503と初期化ベクトル表示部504に表示されているが、暗号化キー入力部503と初期化ベクトル表示部504に、入力された16進表記文字をそのまま表示させてもよいし、入力とともに、「*」等の文字で隠蔽するようにしてもよい。
ここで、ユーザにより、作成指示ボタン507が押下されると、チェックサム表示部505に、暗号化キーと初期化ベクトルに基づいて計算された誤り検出用のチェックサムを計算して表示し、暗号化キーファイルを作成する。暗号化キーファイルの作成が完了した場合に、暗号化キー作成画面501の所定のエリアに、暗号化キーファイルの作成が完了した旨のメッセージを表示するようにしてもよい。図20Bでは、作成日時表示部506に作成日時が表示されていないが、暗号化キーファイルが作成された時点で、その作成日時を作成日時表示部506に表示するようにしてもよい。
作成された暗号化キーファイルは、メダルセレクタ暗号化キー作成ツールが内部に保持する(又は、所定の記憶手段に記憶する)暗号化キーファイル作成用暗号鍵で、暗号化キーと初期化ベクトルを暗号化したデータを含むものである。暗号化キーファイルは、コンピュータ400の記憶手段(外部記憶装置413)等に記憶される。ここで、例えば、暗号化キーファイルの暗号化方式はAESであり、フロックサイズは128bit、暗号鍵長は128bit、ブロック暗号モードはCBCモードである。初期化ベクトルは、例えば、暗号化キーファイル作成時にランダムに作成され、暗号化キーの先頭に配置された位置関係で、暗号化キーとともに暗号化される。暗号化キーファイルは、所定の記憶形式(例えば、XMLファイル形式)で作成され、また、暗号化キーファイルには、上述したチェックサムの値と作成日時が含まれる。
図21には、メダルセレクタ暗号化キー作成ツールの暗号化キー読込画面511が示されている。暗号化キー読込画面511には、作成タブの選択で前面に表示されるよう制御された読込表示部512が含まれ、読込表示部512には、暗号化キー表示部513、初期化ベクトル表示部514、チェックサム表示部515、作成日時表示部516、及び読込指示ボタン517が示されている。図21は、読込指示ボタン517がマウス412で押下等され(矢印518)、読み込みたい暗号化キーファイルの名前を指定すると、その指定された暗号化キーファイルを読み込み、上述した暗号化キーファイル作成用暗号鍵で復号化され、暗号化キー表示部513と初期化ベクトル表示部514に、それぞれ対応する値が表示される。
なお、図21の例では、暗号化キー等の漏洩防止のために、復号化された元の暗号化キーと初期化ベクトルは一律、文字「X」で表示される。チェックサムは、復号化された元の暗号化キーと初期化ベクトルに基づいて計算され、チェックサム表示部515に表示される。チェックサム表示部515に表示された値と、暗号化キーファイルに記憶されている暗号化時点のチェックサムの値を比較し、比較結果を暗号化キー読込画面511の所定のエリアに表示するようにしてもよい。作成日時表示部516には、暗号化キーファイルに含まれている作成日時を表示する。
このようなチェックサムの値と作成日時とで、暗号化キーファイルの正当性を確認することができるが、暗号化キー表示部513に、復号化された暗号化キーの一部又は全部をそのまま表示して、元の暗号化キーと一致するか否かをチェックできるようにすることもできる。
<メダルセレクタ初期化ツールのGUI>
次に、メダルセレクタ201の初期化処理を行うメダルセレクタ初期化ツール(プログラム)のGUIについて、図22を参照して説明する。
メダルセレクタ初期化ツールは、上述のようにコンピュータ400において実行され、そのツールの画面は、コンピュータ400のディスプレイ409に表示され、入力・指示等は、キーボード411やマウス412等を用いて行われる。
図22Aには、メダルセレクタ初期化ツールの初期化指示画面521が示されている。初期化指示画面521には、暗号化キーIVチェックサム表示部522、外部I/O通信状態表示部523、初期化ボタン524、ステータス表示部525が示されている。図22Aは、メダルセレクタ201の初期化処理を行う前の初期化指示画面521を示している。
この場合、メダルセレクタ初期化ツールが保存された外部記憶装置413のフォルダに記憶されている、暗号化キーファイル(XMLファイル)が読み込まれ、当該XMLファイルに含まれるチェックサムが、暗号化キーIVチェックサム表示部522に表示される。ここで、暗号化キーファイルに含まれる暗号化キーと初期化ベクトルを復号化した後、チェックサムを計算して、暗号化キーIVチェックサム表示部522に表示してもよい。また、暗号化キーファイルに含まれる作成日時を表示するようにしてもよい。
また、このコンピュータ400は、オペレーションマシン500に接続されておらず、外部I/O通信状態表示部523には、「接続なし」の表示がされている。オペレーションマシン500に接続されている場合、外部I/O通信状態表示部523には、例えば「COM1接続」といった表示がされる。
また、ステータス表示部525には、初期化がまだされていない場合、「未初期化」と表示され、初期化が完了すると「初期化OK」と表示され、初期化においてエラー等が発生すると「初期化NG」の表示がされる。
ここで、メダルセレクタ初期化ツールのユーザが、初期化ボタン524をマウス412で押下等すると(矢印526)、メダルセレクタ初期化ツールは、当該ツールが内部に保持する(又は、所定の記憶手段に記憶する)暗号化キーファイル作成用暗号鍵で、指定された暗号化キーファイルを復号化し、復号化された暗号化キーと初期化ベクトルをメダルセレクタ201に送信する。
その後、メダルセレクタ初期化ツールは、復号化された暗号化キーと初期化ベクトルが、メダルセレクタ201によって正常に受信されたことを、メダルセレクタ201から受信した所定の暗号化データを復号化して解析することにより判断し、メダルセレクタ201による正常な受信が確認できた場合に、図22Bの初期化指示画面521に示すように、ステータス表示部525に、「初期化OK」と表示する。
また、メダルセレクタ初期化ツールは、復号化された暗号化キーと初期化ベクトルをメダルセレクタ201に送信する場合に、メダルセレクタ201との間で共有する暗号鍵を用いて暗号化したうえで送信するようにしてもよい。
こうした初期化処理には、時間がかかる場合があるため、初期化の進行状況をプログレッシブバー(ステータスバー)で表示するようにしてもよい。
このような、メダルセレクタ暗号化キー作成化ツールとメダルセレクタ初期化ツールの利用により、暗号化キーを簡単に作成することができ、かつ安全性が高い状態で暗号化キーを作成、保持できる(例えば、キー管理者は、各メダルセレクタの暗号化キーを、暗号化された状態の暗号化キーファイルとして保持することができる)。また、これによって、メダルセレクタ201のような周辺機器を遊技機に組み込む際の作業の効率化を図ることもできる。
さらに、遊技機において、主制御回路91と副制御回路101との間の通信データを暗号化するだけでなく、(メダルセレクタ暗号化キー作成化ツールとメダルセレクタ初期化ツールによってメダルセレクタ201に提供された暗号化キーを用いて)メダルセレクタ201と副制御回路101との間の通信データを暗号化するため、メダルセレクタ201と副制御回路101との間で送受信されるデータのセキュリティを、高いレベルで維持することができる。
<メダルセレクタと副制御回路・外部コンピュータ間で送受信されるコマンド>
次に、図23を参照し、メダルセレクタ201と副制御回路101の間で送受信されるコマンド、及びメダルセレクタ201と外部コンピュータ(コンピュータ400)の間で送受信されるコマンドについて説明する。図23は、メダルセレクタ201と副制御回路101の間、及びメダルセレクタ201とコンピュータ400の間で送受信されるコマンドの一覧表である。
なお、副制御回路101やコンピュータ400がメダルセレクタ201へ送信するコマンドは全て、副制御回路101、又は、コンピュータ400とメダルセレクタ201が共有する暗号鍵で暗号化されている。
[メダルセレクタが送信するコマンド]
まず、メダルセレクタ201が送信するコマンドについて説明する。図23に示すように、当該コマンドには、起動完了コマンド、判定完了コマンド、メダルセレクタエラーコマンド、メダルセレクタ無操作コマンド、ACKコマンド、NAKコマンドがある。いずれのコマンドも、2バイトの送信カウンタ(CNT)と、DAT0~DAT6からなるパラメータを含んで構成されている。なお、本実施形態において、DAT0~DAT6は、それぞれ1バイト(ビット0~ビット7)のデータである。また、各種コマンドのデータ長は、送信カウンタを加えた9バイトに設定されているが、このデータ長は適宜設定可能である。
メダルセレクタ201が送信するコマンドにおける送信カウンタ(CNT)の初期値には、メダルセレクタ201の起動回数が設定されている。この送信カウンタの値は、メダルセレクタ201がコマンドを送信する度に1が加算される。
なお、メダルセレクタ201から副制御回路101に対しては、起動完了コマンド、判定完了コマンド、メダルセレクタエラーコマンド、メダルセレクタ無操作コマンド、ACKコマンド、及びNAKコマンドが送信される。また、これらのコマンドは、本発明においては、メダルセレクタ201がコンピュータ400から受信した暗号化キーで暗号化され、副制御回路101に送信される。
一方、メダルセレクタ201からコンピュータ400に対しては、基本的に、起動完了コマンド、メダルセレクタ無操作コマンド、ACKコマンド、NAKコマンドが送信される。なお、メダルセレクタ201は、メダルセレクタ201の製造時に初期設定用の初期暗号化キーと初期初期化ベクトルがフラッシュメモリ244に記憶されている。
[起動完了コマンド]
起動完了コマンドは、メダルセレクタ201に電源が投入され、起動処理が終了した後に送信される。起動完了コマンドのDAT0のビット0の値は、スイッチ応答初期化処理が行われた否かを示す。「0」は、「初期化なし」を示し、「1」は「初期化あり」を示す。ここで、メダルセレクタ201の制御LSI234は、通電中にスイッチ応答初期化処理が行われると、フラッシュメモリ244の起動用初期化フラグ格納領域の値に「1」を設定する。そして、制御LSI234は、電源が投入され、起動完了コマンドを送信する際に、フラッシュメモリ244の起動用初期化フラグ格納領域を参照し、格納されている値に応じて、起動完了コマンドのDAT0のビット0の値を設定する。起動完了コマンドのDAT0のビット0の値が「1」の場合、すなわち起動時の起動用初期化フラグ格納領域の値に「1」が設定されている場合、メダルセレクタ201が副制御回路101やコンピュータ400から起動完了コマンドに対するACKコマンドを受信すると、制御LSI234は、起動用初期化フラグ格納領域の値に「0」を設定する。
また、起動完了コマンドのDAT0のビット1の値は、コマンド送信時に色判定が有効か無効かを示す。値「0」は、「色判定無効」を示し、値「1」は「色判定有効」を示す。「色判定有効」となる場合は、コマンド送信時に色テンプレートが作成済みであり、起動時の色スイッチがON状態の場合である。それ以外の場合は「色判定無効」となる。また、起動完了コマンドのDAT0のビット2の値は、コマンド送信時に刻印判定が有効か無効かを示す。値「0」は、「刻印判定無効」を示し、値「1」は「刻印判定有効」を示す。「刻印判定有効」となる場合は、コマンド送信時に刻印テンプレートが作成済みであり、起動時の刻印スイッチがON状態の場合である。それ以外の場合は「刻印判定無効」となる。
起動完了コマンドのDAT1は、コマンド送信時の各種スイッチのON/OFF状態を示す。ビット0の値は初期化スイッチのON/OFF状態を示し、ビット1の値は色スイッチのON/OFF状態を示し、ビット2の値は刻印スイッチのON/OFF状態を示す。いずれのビットにおいても、「0」は、「OFF状態」を示し、「1」は「ON状態」を示す。
[判定完了コマンド]
判定完了コマンドは、送信カウンタ(CNT)と、円形検出の判定結果、色判定の判定結果及び刻印判定の判定結果と、を示すパラメータを含んで構成される。判定完了コマンドのDAT0の値は円形検出の判定結果を示し、DAT1の値は色判定の判定結果を示し、DAT2の値は刻印判定の判定結果を示す。いずれのビットにおいても、「0」は、「NG」(すなわち「判定NG」)を示し、「1」は「OK」(すなわち「判定OK」)を示す。
[メダルセレクタエラーコマンド]
メダルセレクタエラーコマンドは、メダルセレクタ201が各種エラーを検知したときに送信される。このコマンドは、送信カウンタ(CNT)と、コマンド送信時に発生中のエラーの種類を示すパラメータと、を含んで構成される。メダルセレクタエラーコマンドのDAT0の値は0~6に設定される。「0」は「エラーなし」を示し、「1」は「異物検出エラー」を示し、「2」は「カバー開放エラー」を示す。また、「3」は「掃除エラー」を示し、「4」は「色テンプレート生成エラー」を示し、「5」は「刻印テンプレート生成エラー」を示し、そして、「6」は、「CMOSハードエラー」を示す。なお、メダルセレクタ201の制御LSI234は、各種エラーを検知したとき、SRAM243に設けられたエラー記憶領域(初期値「0」)にエラーの内容(1~6)を記憶する。SRAM243に記憶されたエラーの内容は、メダルセレクタ201が副制御回路101から後述するエラー解除コマンドを受信したとき削除される(初期値「0」が記憶される)。
[メダルセレクタ無操作コマンド]
メダルセレクタ無操作コマンドは、メダルセレクタ201から周期的に副制御回路101やコンピュータ400に送信される。メダルセレクタ無操作コマンドには、送信カウンタ(CNT)が含まれる。
また、メダルセレクタ無操作コマンドのDAT0のビット0の値は、スイッチ応答初期化処理が行われた否かを示す。「0」は、「初期化なし」を示し、「1」は「初期化あり」を示す。ここで、メダルセレクタ201の制御LSI234は、通電中にスイッチ応答初期化処理が行われると、SRAM243の無操作用初期化フラグ格納領域の値に「1」を設定する。そして、制御LSI234は、メダルセレクタ無操作コマンドを送信する際に、SRAM243の無操作用初期化フラグ格納領域を参照し、格納されている値に応じて、メダルセレクタ無操作コマンドのDAT0のビット0の値を設定する。メダルセレクタ無操作コマンドのDAT0のビット0の値が「1」の場合、すなわち無操作用初期化フラグ格納領域の値に「1」が設定されている場合、メダルセレクタ201が副制御回路101やコンピュータ400から当該メダルセレクタ無操作コマンドに対するACKコマンドを受信すると、制御LSI234は、無操作用初期化フラグ格納領域の値に「0」を設定する。
その他のメダルセレクタ無操作コマンドのDAT0及びDAT1については、起動完了コマンドのDAT0及びDAT1と同様であるため、ここでの説明は省略する。また、メダルセレクタ無操作コマンドのDAT3には、上述したSRAM243のエラー記憶領域の内容(0~6のいずれかの値)がセットされる。内容は、メダルセレクタエラーコマンドのDAT0と同様である。
メダルセレクタ無操作コマンドのDAT3、DAT4の値は、メダルセレクタ201の起動回数を示す。この起動回数は、フラッシュメモリ244に記憶されており、メダルセレクタ201が起動する毎に、起動回数に1が加算される。具体的には、メダルセレクタ201は、図示しない制御電源管理部を有し、制御電源管理部は、メダルセレクタ201への電源電圧の供給(電源の投入)が開始され、予め設定された電圧値を上回った場合に、制御LSI234にリセット信号を出力する。制御LSI234は、リセット信号が入力されたことに基づいて、起動回数を1加算する。メダルセレクタ201(の制御LSI234)は、メダルセレクタ無操作コマンド送信時に、フラッシュメモリ244の起動回数を参照し、DAT3、DAT4の値を設定する。なお、起動回数は、上述した初期化スイッチ206dの操作により、制御LSI234が行う、スイッチ応答初期化処理で初期値「0」に設定される。
[ACKコマンド、NAKコマンド]
ACKコマンドは、メダルセレクタ201が副制御回路101やコンピュータ400から送信されたコマンドを正常に受信できたときに送信される。NAKコマンドは、メダルセレクタ201が副制御回路101やコンピュータ400から送信されたコマンドを正常に受信できなかったときに送信される。ACKコマンド及びNAKコマンドには、送信カウンタ(CNT)が含まれている。また、ACKコマンド及びNAKコマンドのDAT0、DAT1の値は、副制御回路101やコンピュータ400から送信されたコマンドに含まれている送信カウンタの値を示す。
[副制御回路・コンピュータ400が送信するコマンド]
次に、副制御回路101やコンピュータ400がメダルセレクタ201へ送信するコマンドについて説明する。図23に示すように、当該コマンドには、初期化コマンド、暗号化キー1~暗号化キー3コマンド、IV1~IV3コマンド、エラー解除コマンド、投入状態コマンド、ACKコマンド、NAKコマンドがある。いずれのコマンドも、2バイトの送信カウンタ(CNT)と、DAT0~DAT6からなるパラメータを含んで構成されている。本実施形態において、DAT0~DAT6は、それぞれ1バイト(ビット0~ビット7)のデータである。また、各種コマンドのデータ部のデータ長は、送信カウンタを加えた9バイトに設定されているが、このデータ長は適宜設定可能である。
なお、副制御回路101は、副制御回路101の製造時に初期設定用の初期暗号化キーと初期初期化ベクトルがロムカートリッジ基板86に記憶されており、コンピュータ400の外部記憶装置413に初期設定用の初期暗号化キーと初期初期化ベクトルが記憶されている。
副制御回路101が送信するコマンドにおける送信カウンタ(CNT)の初期値は、副制御回路101の起動後、最初にコマンドを送信する際に取得する乱数が設定される。なお、この乱数を発生させるために、この乱数を発生させる専用の乱数発生処理(ソフト乱数)、又は、デバイスを設けてもよいし、演出の態様を決定する際に用いる乱数を発生させる乱数発生処理、又は、デバイスを利用してもよい。
また、コンピュータ400が送信するコマンドにおける送信カウンタ(CNT)の初期値は、コンピュータ400においてメダルセレクタ初期化ツールが起動された後、最初にコマンドを送信する際に取得する乱数が設定される。この乱数は、例えば、メダルセレクタ初期化ツールが内部プログラムにより発生させる。
なお、副制御回路101からメダルセレクタ201に対しては、エラー解除コマンド、投入状態コマンド、ACKコマンド、NAKコマンドが送信される。また、これらのコマンドは、本発明においては、副制御回路101が保持する暗号化キーで暗号化され、メダルセレクタ201に送信される。副制御回路101が保持する暗号化キーは、コンピュータ400からメダルセレクタ201に送信された暗号化キーと同一のものである。
一方、コンピュータ400からメダルセレクタ201に対しては、基本的に、初期化コマンド、暗号化キー1~暗号化キー3コマンド、IV1~IV3コマンド、ACKコマンド、NAKコマンドが送信される。
[初期化コマンド]
初期化コマンドは、コンピュータ400からメダルセレクタ201に対して初期化処理を行い、その後、暗号化キーと初期化ベクトルを送信する処理を開始することを知らせるためのコマンドである。初期化処理は、例えば、メダルセレクタ201のフラッシュメモリ244に記憶されている所定のデータをクリア等する処理である。
[暗号化キー1~暗号化キー3コマンド]
暗号化キー1~暗号化キー3コマンドは、上述の初期化コマンドに続けて順に送信され、それぞれ、コンピュータ400で作成された暗号化キーをメダルセレクタ201に送信する。暗号化キー1コマンドのDAT0~DAT6には、暗号化キーの先頭7バイト分のデータが格納される。暗号化キー2コマンドのDAT0~DAT6には、暗号化キーの8バイト目から7バイト分のデータが格納される。暗号化キー3コマンドのDAT0~DAT1には、暗号化キーの15バイト目から2バイト分のデータが格納される。
[IV1~IV3コマンド]
IV1~IV3コマンドは、上述の暗号化キー1~暗号化キー3コマンドに続けて順に送信され、それぞれ、コンピュータ400で作成された初期化ベクトル(IV)をメダルセレクタ201に送信する。IV1コマンドのDAT0~DAT6には、初期化ベクトルの先頭7バイト分のデータが格納される。IV2コマンドのDAT0~DAT6には、初期化ベクトルの8バイト目から7バイト分のデータが格納される。IV3コマンドのDAT0~DAT1には、初期化ベクトルの15バイト目から2バイト分のデータが格納される。
[エラー解除コマンド]
エラー解除コマンドは、後述するメダルセレクタコマンド送信処理(図33参照)において、メダルセレクタ201に発生したエラーの解除条件が成立したときに送信される。ただし、エラーの解除条件の成立とは、メダルセレクタ201に発生したエラーが実際に解除されたか否かではなく、エラー解除コマンドを送信するための条件が成立したか否かである。
[投入状態コマンド]
投入状態コマンドは、所定の周期又は後述するメダルセレクタコマンド送信処理(図33参照)において送信される。投入状態コマンドのDAT0の値は、メダル受付可か否かを示す。「1」は、「受付可」を示し、「0」は「受付不可」を示す。
[ACKコマンド、NAKコマンド]
ACKコマンドは、副制御回路101やコンピュータ400が、メダルセレクタ201から送信されたコマンドを正常に受信できたときに送信される。NAKコマンドは、副制御回路101やコンピュータ400がメダルセレクタ201から送信されたコマンドを正常に受信できなかったときに送信される。ACKコマンド及びNAKコマンドには、送信カウンタが含まれている。また、ACKコマンド及びNAKコマンドのDAT0、DAT1の値は、メダルセレクタ201から送信されたコマンドに含まれている送信カウンタの値を示す。
<メダルセレクタと外部コンピュータの間のコマンド送受信シーケンス>
次に、図24を参照し、メダルセレクタ201と外部コンピュータ(コンピュータ400)の間のコマンド送受信シーケンスの一例について説明する。図24は、メダルセレクタ201とコンピュータ400のコマンド送受信シーケンスの一例を説明するための図である。
コンピュータ400とメダルセレクタ201が接続され、メダルセレクタ201が起動すると、メダルセレクタ201は、コンピュータ400に起動完了コマンドを送信する。このとき、フラッシュメモリ244に記憶されている起動回数が「10」のとき、起動完了コマンドに含まれる送信カウンタ(CNT)の値は「10」となる。
続いて、起動完了コマンドを正常に受信したコンピュータ400は、メダルセレクタ201にACKコマンドを送信する。このACKコマンドに含まれる送信カウンタの値は、送信時に取得した乱数の値、例えば「256」となる。また、このACKコマンドのDAT0及びDAT1の値は、受信した起動完了コマンドに含まれていた送信カウンタの値である「10」となる。
続いて、図24に示す例では、メダルセレクタ201は、コンピュータ400にメダルセレクタ無操作コマンドを送信する。このメダルセレクタ無操作コマンドに含まれる送信カウンタの値は、初期値「10」に1を加算した「11」となる。
続いて、メダルセレクタ無操作コマンドを正常に受信したコンピュータ400は、メダルセレクタ201にACKコマンドを送信する。このACKコマンドに含まれる送信カウンタの値は、初期値「256」に1を加算した「257」となる。また、このACKコマンドのDAT0及びDAT1の値は、受信したメダルセレクタ無操作コマンドに含まれていた送信カウンタの値である「11」となる。
ここで、コンピュータ400で実行されるメダルセレクタ初期化ツールにおいて、メダルセレクタの初期化が指示されると、この操作に応じて、コンピュータ400は、初期化コマンドをメダルセレクタ201に送信する。この初期化コマンドに含まれる送信カウンタの値は「257」に1を加算した「258」となる。
続いて、初期化コマンドを正常に受信したメダルセレクタ201は、コンピュータ400にACKコマンドを送信する。このACKコマンドに含まれる送信カウンタの値は、直近の送信カウンタの値に1を加算した「12」となる。また、このACKコマンドのDAT0及びDAT1の値は、受信した初期化コマンドに含まれていた送信カウンタの値である「258」となる。
次に、コンピュータ400で実行されるメダルセレクタ初期化ツールは、暗号化キー1コマンドをメダルセレクタ201に送信する。この暗号化キー1コマンドに含まれる送信カウンタの値は「259」となる。
続いて、暗号化キー1コマンドを正常に受信したメダルセレクタ201は、コンピュータ400にACKコマンドを送信する。このACKコマンドに含まれる送信カウンタの値は、直近の送信カウンタの値に1を加算した「13」となる。また、このACKコマンドのDAT0及びDAT1の値は、受信した暗号化キー1コマンドに含まれていた送信カウンタの値である「259」となる。
次に、コンピュータ400で実行されるメダルセレクタ初期化ツールは、暗号化キー2コマンドをメダルセレクタ201に送信する。この暗号化キー2コマンドに含まれる送信カウンタの値は「260」となる。
続いて、暗号化キー2コマンドを正常に受信したメダルセレクタ201は、コンピュータ400にACKコマンドを送信する。このACKコマンドに含まれる送信カウンタの値は、直近の送信カウンタの値に1を加算した「14」となる。また、このACKコマンドのDAT0及びDAT1の値は、受信した暗号化キー2コマンドに含まれていた送信カウンタの値である「260」となる。
次に、コンピュータ400で実行されるメダルセレクタ初期化ツールは、暗号化キー3コマンドをメダルセレクタ201に送信する。この暗号化キー3コマンドに含まれる送信カウンタの値は「261」となる。
続いて、暗号化キー3コマンドを正常に受信したメダルセレクタ201は、コンピュータ400にACKコマンドを送信する。このACKコマンドに含まれる送信カウンタの値は、直近の送信カウンタの値に1を加算した「15」となる。また、このACKコマンドのDAT0及びDAT1の値は、受信した暗号化キー3コマンドに含まれていた送信カウンタの値である「261」となる。
次に、コンピュータ400で実行されるメダルセレクタ初期化ツールは、IV1コマンドをメダルセレクタ201に送信する。このIV1コマンドに含まれる送信カウンタの値は「262」となる。
続いて、IV1コマンドを正常に受信したメダルセレクタ201は、コンピュータ400にACKコマンドを送信する。このACKコマンドに含まれる送信カウンタの値は、直近の送信カウンタの値に1を加算した「16」となる。また、このACKコマンドのDAT0及びDAT1の値は、受信したIV1コマンドに含まれていた送信カウンタの値である「262」となる。
次に、コンピュータ400で実行されるメダルセレクタ初期化ツールは、IV2コマンドをメダルセレクタ201に送信する。このIV2コマンドに含まれる送信カウンタの値は「263」となる。
続いて、IV2コマンドを正常に受信したメダルセレクタ201は、コンピュータ400にACKコマンドを送信する。このACKコマンドに含まれる送信カウンタの値は、直近の送信カウンタの値に1を加算した「17」となる。また、このACKコマンドのDAT0及びDAT1の値は、受信したIV2コマンドに含まれていた送信カウンタの値である「263」となる。
次に、コンピュータ400で実行されるメダルセレクタ初期化ツールは、IV3コマンドをメダルセレクタ201に送信する。このIV3コマンドに含まれる送信カウンタの値は「264」となる。
続いて、IV3コマンドを正常に受信したメダルセレクタ201は、コンピュータ400にACKコマンドを送信する。このACKコマンドに含まれる送信カウンタの値は、直近の送信カウンタの値に1を加算した「18」となる。また、このACKコマンドのDAT0及びDAT1の値は、受信したIV3コマンドに含まれていた送信カウンタの値である「264」となる。
ここで、コンピュータ400はさらに、メダルセレクタ初期化ツールにおいて、GUIを更新し、ステータス表示部525に「初期化OK」を表示する(図22B参照)。
なお、「初期化OK」は、初期化コマンドの送信からIV3コマンドを送信した時に、全てメダルセレクタ201がACKコマンドを送信し、その全てのACKコマンドを正常に復号した場合にのみ表示され、復号化の失敗、又は、NAKコマンドが送信された場合には、「初期化NG」がステータス表示部525に表示される。
また、メダルセレクタ201、及びコンピュータ400が送信する全てのコマンドは、全て暗号化キー1~3コマンド、IV1~IV3コマンドで設定される前の暗号化キーと初期化ベクトルで暗号化されている。そのため、メダルセレクタ201、及びコンピュータ400は、初期値としての暗号化キーと初期化ベクトルが記憶されていることが前提となり、メダルセレクタ201は、受信したコマンドの復号化が失敗した場合にも、コンピュータ400にNAKコマンドを送信する。
この他、メダルセレクタ201は、500msecの周期でコンピュータ400にコマンドを送信する。例えば、図24に示す例では、起動完了コマンドをコンピュータ400に送信した500msec後にメダルセレクタ無操作コマンドがコンピュータ400に送信される。なお、メダルセレクタ201からコンピュータ400にコマンドを送信する周期は適宜設定可能である。
<メダルセレクタ暗号化キー作成ツールの処理>
次に、図25のフローチャートを参照して、外部コンピュータ(コンピュータ400)において実行されるメダルセレクタ暗号化キー作成ツールの暗号化処理の例を概略説明する。
最初に、ステップS1において、例えば、図20Aに示す暗号化キー作成画面501の暗号化キー入力部503に、ユーザによって暗号化キーが入力されたか否かを判定する。暗号化キーが入力されていない場合(ステップS1のNO)、ステップS1に戻り、この処理を繰り返す。なお、入力された暗号化キーは、入力されたそのままの値を暗号化キー入力部503に表示させるようにしてもよいし、入力された際に、表示上は、他の文字に変換されるようにしてもよい。
暗号化キーが入力された場合(ステップS1のYES)、ステップS2においてメダルセレクタ暗号化キー作成ツールの乱数生成プログラムを用いて初期化ベクトルを生成し、例えば、図20Bに示す暗号化キー作成画面501の初期化ベクトル表示部504に、その値を表示する。次に、ステップS3において、入力された暗号化キーと、生成された初期化ベクトルに基づいてチェックサムが計算され、図20Bに示す暗号化キー作成画面501のチェックサム表示部505に、計算したチェックサムの値を表示する。
次に、ステップS4において、暗号化キーファイルの作成を指示する作成ボタン(図20Bに示す暗号化キー作成画面501の作成指示ボタン507)が押下されたか否かを判定する。作成ボタンが押下されていない場合(ステップS4のNO)、ステップS4に戻り、この処理を繰り返す。
作成ボタンが押下されている場合(ステップS4のYES)、ステップS5において、暗号化キーと初期化ベクトルを暗号化し、暗号化キーファイルを作成する。この暗号化キーファイルは、例えば、XML形式のファイルであり、暗号化された暗号化キーと初期化ベクトルを含むほか、上述したチェックサムの値や、作成日時を含むようにすることができる。
次に、ステップS6において、作成した暗号化キーファイルを、所定の記憶媒体(例えば、ハードディスクや半導体メモリ等で構成される外部記憶装置413、可搬型のフラッシュメモリ等の外部記録媒体430)に記憶し、ステップS7において、暗号化キーファイルの作成が完了した旨のメッセージを図20Bに示す暗号化キー作成画面501の所定のエリアに表示する。
<メダルセレクタ初期化ツールの処理>
次に、図26のフローチャートを参照して、外部コンピュータ(コンピュータ400)において実行されるメダルセレクタ初期化ツールの初期化処理の例を概略説明する。
最初に、ステップS11において、初期設定ファイル(不図示)を外部記憶装置413から読み込む。この初期設定ファイルは、メダルセレクタ201を初めて初期化する際に、メダルセレクタ201と通信を行うための暗号化キー及び初期化ベクトルが記憶されたファイルであり、メダルセレクタ201の初期化後に、後述するステップS29で復号化された暗号化キー及び初期化ベクトルで、当該初期設定ファイルが上書き保存される(保存のタイミングは、例えば、後述するステップS25のタイミング)。
次に、ステップS12において、メダルセレクタ201からコマンドを受信したか否かを判定する。コマンドを受信した場合(ステップS12のYES)、ステップS13において、受信コマンドを復号化する。
ステップS13で受信コマンドを復号化した後、ステップS14において、当該受信コマンドの復号化が正常にできたか否かを判定する。受信コマンドの復号化が正常にできた場合(ステップS14のYES)、ステップS15において、受信コマンドが「起動完了コマンド」であるか否かを判定する。受信コマンドが「起動完了コマンド」である場合(ステップS15のYES)、ステップS16において、起動フラグをONにする。また、この場合に、例えば、図22に示すメダルセレクタ初期化ツールのGUIにおいて、メダルセレクタ201と正常に接続できている旨の表示を行うようにしてもよい。ステップS16の処理の後、ステップS12の判定に戻る。
受信コマンドが「起動完了コマンド」でない場合(ステップS15のNO)、ステップS17において、受信コマンドが「メダルセレクタ無操作」であるか否かを判定する。受信コマンドが「メダルセレクタ無操作」である場合(ステップS17のYES)、ステップS18において、所定のメダルセレクタ無操作コマンド受信処理が行われる。ここでは、メダルセレクタ無操作コマンド受信処理をスキップするようにしてもよい。ステップS18の後、ステップS12の判定に戻る。
受信コマンドが「メダルセレクタ無操作」でない場合(ステップS17のNO)、ステップS19において、受信コマンドが「NAK」であるか否かを判定する。受信コマンドが「NAK」である場合(ステップS19のYES)、ステップS20において、メダルセレクタ201に、コマンドを再送信する。ステップS20の後、ステップS12の判定に戻る。
受信コマンドが「NAK」でない場合(ステップS19のNO)、ステップS21において、受信コマンドが「ACK」であるか否かを判定する。受信コマンドが「ACK」でない場合(ステップS21のNO)、ステップS12の判定に戻る。受信コマンドが「ACK」である場合(ステップS21のYES)、ステップS22において、送信コマンドがあるか否かを判定する。
送信コマンドがある場合(ステップS22のYES)、ステップS23において、当該送信コマンド(例えば、初期化コマンド、暗号化キー1~暗号化キー3コマンド、IV1コマンド、IV2コマンドといった、暗号化キー等のコマンド)をメダルセレクタ201に送信する。この場合、当該コマンドに対応する復号化データが、DAT0~DAT6に格納される。そして、ステップS23の後、ステップS12の判定に戻る。
送信コマンドがない場合(ステップS22のNO)、ステップS24において、暗号化キー等のコマンドを全て送信したか否かを判定する。暗号化キー等のコマンドを全て送信した場合(ステップS24のYES)、ステップS25において、例えば、図22Bに示すように、メダルセレクタ初期化ツールにおいて、GUIを更新し、ステータス表示部525に「初期化OK」を表示する(ステップS25)。ステップS25の後、ステップS12の判定に戻る。
暗号化キー等のコマンドを全て送信していない場合(ステップS24のNO)、又は、受信コマンドの復号化が正常にできなかった場合(ステップS14のNO)、メダルセレクタ初期化ツールにおいて、GUIを更新し、ステータス表示部525に「初期化NG」を表示する(ステップS26)。その後、ステップS12の判定に戻る。
メダルセレクタ201からコマンドを受信していない場合(ステップS12のNO)、ステップS27に進み、そこで、メダルセレクタ初期化ツールにおいて、暗号化キーファイルに関するファイル読込指示がされたか否かを判定する。ファイル読込指示は、例えば、図22Aに示すメダルセレクタ初期化ツールの初期化指示画面521が表示される前の、初期化メニュー画面(不図示)において、ファイル読込指示画面を表示するよう指示し、表示されたファイル読込指示画面において、初期化に用いる暗号化キーファイルを指定することによって行われる。
暗号化キーファイルに関するファイル読込指示がされた場合(ステップS27のYES)、ステップS28において、指定された暗号化キーファイルを読み込み、次に、ステップS29において、読み込んだ暗号化キーファイルを復号化する。ステップS29の後、ステップS12の判定に戻る。
暗号化キーファイルに関するファイル読込指示がされていない場合(ステップS27のNO)、ステップS30において、メダルセレクタ初期化ツールで、初期化指示がされたか否か、すなわち、初期化ボタン524(図22A参照)が押下されたか否かを判定する。初期化指示がされている場合(ステップS30のYES)、ステップS31において、起動フラグがONか否かを判定する。
起動フラグがONであると判定された場合(ステップS31のYES)、すなわち、メダルセレクタ201から起動完了コマンドを受け取っていて、メダルセレクタ201との接続が正常に行われている場合、ステップS32において、暗号化キー等のコマンドを生成する(すなわち、ステップS29で復号化された暗号化キーファイル(暗号化キーと初期化ベクトル)を、各コマンドのDAT0~DAT6に割り当てる)。次に、ステップS33において、初期化コマンドをメダルセレクタ201に送信する。初期化指示がされていない場合(ステップS30のNO)、又はステップS33の後、ステップS12の判定に戻る。
起動フラグがONであると判定されなかった場合(ステップS31のNO)、メダルセレクタ201との接続が正常に確立されていないとして、メダルセレクタ初期化ツールで、その旨のエラーメッセージを表示する(ステップS34)。ステップS34の後、ステップS12の判定に戻る。
なお、図26に示す例では、メダルセレクタ暗号化キー作成ツールで作成された暗号化キーファイルが一旦復号化されて元の暗号化キーと初期化ベクトルが取得された後、これらの暗号化キーと初期化ベクトルが分割され、複数のコマンドによってメダルセレクタ201に送信されるが、この場合に、それぞれのコマンドのDAT0~DAT6に割り当てられたデータが、上述した別の暗号鍵で個別に暗号化されるように構成される。
また、メダルセレクタ201から受信するコマンドのデータについても、上述した別の暗号鍵による暗号化がされているものとするが、図26のフローチャートでは、当該コマンドのデータに関する(別の暗号鍵を用いた)復号化処理については省略した。
<メダルセレクタが行う各種処理>
次に、図27のフローチャートを参照して、メダルセレクタ201において実行される処理の例を概略説明する。なお、メダルセレクタ201は、副制御回路101に接続されている場合、副制御回路101に対して、判定完了コマンドやメダルセレクタエラーコマンド等を送信したり、メダルの判定処理を行うが、ここでは、外部コンピュータ(コンピュータ400)に接続された場合に、コンピュータ400との間で行われる処理を中心に説明し、その他の処理については適宜説明を省略する。
最初に、メダルセレクタ201は、コンピュータ400との接続によって電源が投入され、起動処理が終了すると、ステップS41において、起動完了コマンドをコンピュータ400に送信する。起動完了コマンドについては、上述したとおりである。
次に、メダルセレクタ201は、所定のタイミングが到来したか否かを判定し(ステップS42)、到来したと判定した場合(ステップS42のYES)、ステップS43において、メダルセレクタ無操作コマンドをコンピュータ400に送信する。これによって、メダルセレクタ無操作コマンドは、周期的に(例えば、500msecの周期で)メダルセレクタ201からコンピュータ400に送信される。なお、メダルセレクタ無操作コマンドについては、上述の通りである。ステップS43の後、ステップS42に戻り、所定タイミングの判定を繰り返す。
所定のタイミングが到来していない場合(ステップS42のNO)、ステップS44において、コンピュータ400からコマンドを受信したか否かを判定する(ステップS44)。コマンドを受信していない場合(ステップS44のNO)、ステップS42に戻り、所定タイミングの判定を繰り返す。
コマンドを受信した場合(ステップS44のYES)、ステップS45において、受信したコマンドを復号化する。その後、ステップS46において、受信したコマンドが正常に復号化できたか否かを判定する。受信したコマンドが正常に復号化できた場合(ステップS46のYES)、ステップS47において、受信したコマンドが暗号化キーの送信に関するものか否かを判定する。暗号化キーの送信に関するコマンドとは、例えば、初期化コマンド、暗号化キー1~暗号化キー3コマンド、IV1~IV3コマンドである。
受信したコマンドが暗号化キーの送信に関するコマンドである場合(ステップS47のYES)、ステップS48において、受信したコマンドに対してACKを(コンピュータ400に)送信する。その後、復号化された暗号化キーと初期化ベクトルをSRAM243に記憶する(ステップS49)。また、初期化コマンドを受信した場合、メダルセレクタ201は、フラッシュメモリ244に記憶されている所定のデータをクリアするといった、所定の初期化処理を行う。
次に、ステップS50において、暗号化キーの送信に関する最後のコマンド(すなわち、この例では、IV3コマンド)であるか否かを判定する。最後のコマンドである場合(ステップS50のYES)、ステップS51において、SRAM243に記憶された暗号化キーや初期化ベクトルをフラッシュメモリ244に記憶する。その後、ステップS42に戻り、所定タイミングの判定を繰り返す。また、最後のコマンドでない場合(ステップS50のNO)、ステップS42に戻り、所定タイミングの判定を繰り返す。
受信したコマンドが暗号化キーの送信に関するコマンドでない場合(ステップS47のNO)、ステップS52において、受信したコマンドがACKコマンド、又はNAKコマンドであるか否かを判定する。受信したコマンドがACKコマンド、又はNAKコマンドである場合(ステップS52のYES)、ステップS53において、所定のACK/NAKコマンド受信時処理を行う。受信したコマンドがACKコマンド、又はNAKコマンドでない場合(ステップS52のNO)、又はステップS53の後、ステップS42に戻り、所定タイミングの判定を繰り返す。
受信したコマンドが正常に復号化できない場合(ステップS46のNO)、ステップS54において、異常時処理を行う。この異常処理は、メダルセレクタ201が副制御回路101に接続されていない状況での異常の発生に対応するものであり、また、コンピュータ400との接続がされているものの、その接続に異常が発生している可能性もあるため、例えば、報知用LED206c等を点灯させるなど、メダルセレクタ201によって当該異常の発生を知らせるようにすることができる。
また、このとき、メダルセレクタ201がリブート(再起動)を行い、最初のステップS41の処理からやり直すように制御することができる。具体的には、制御LSI234に内蔵されたWDT(Watch Dog Timer:不図示)の更新(リフレッシュ)を停止し、WDTがリセット信号をホストコントローラ241(図14参照)に出力させるまで待機処理を行う。異常処理においてリブートを行わない場合、ステップS42に戻り、所定タイミングの判定を繰り返すように制御することができる。
<メダルセレクタと副制御回路間のコマンド送受信シーケンス>
次に、図28を参照し、メダルセレクタと副制御回路間のコマンド送受信シーケンスの一例について説明する。図28は、メダルセレクタと副制御回路間のコマンド送受信シーケンスの一例を説明するための図である。
パチスロ1に電源が投入され、メダルセレクタ201及び副制御回路101が起動すると、メダルセレクタ201は、副制御回路101に起動完了コマンドを送信する。このとき、フラッシュメモリ244に記憶されている起動回数が「10」のとき、起動完了コマンドに含まれる送信カウンタ(CNT)の値は「10」となる。
続いて、起動完了コマンドを正常に受信した副制御回路101は、メダルセレクタ201にACKコマンドを送信する。このACKコマンドに含まれる送信カウンタの値は、送信時に取得した乱数の値、例えば「256」となる。また、このACKコマンドのDAT0及びDAT1の値は、受信した起動完了コマンドに含まれていた送信カウンタの値である「10」となる。
続いて、図28に示す例では、メダルセレクタ201は、副制御回路101にメダルセレクタ無操作コマンドを送信する。このメダルセレクタ無操作コマンドに含まれる送信カウンタの値は、初期値「10」に1を加算した「11」となる。
続いて、メダルセレクタ無操作コマンドを正常に受信した副制御回路101は、メダルセレクタ201にACKコマンドを送信する。このACKコマンドに含まれる送信カウンタの値は、初期値「256」に1を加算した「257」となる。また、このACKコマンドのDAT0及びDAT1の値は、受信したメダルセレクタ無操作コマンドに含まれていた送信カウンタの値である「11」となる。
続いて、図28に示す例では、副制御回路101は、投入状態コマンドをメダルセレクタ201に送信する。この投入状態コマンドに含まれる送信カウンタの値は「257」に1を加算した「258」となる。ここで、何らかの原因でメダルセレクタがリブート(再起動)し、再起動後、投入状態コマンドに対するACKコマンドを送信する場合、このACKコマンドに含まれる送信カウンタは、再び初期値となる。この場合、起動回数は「11」となるので、ACKコマンドに含まれる送信カウンタは「11」となる。
本実施形態において、副制御回路101は、メダルセレクタ201からACKコマンドを受信すると、受信したACKコマンドに含まれている送信カウンタの値が、前回、メダルセレクタ201から受信したコマンドに含まれていた送信カウンタの値に「1」を加算した値と等しいか否かを判定する。そして、等しくないと判定する場合は、サブRAM103に設けられたエラー情報履歴領域に、エラー内容として「CMOS CNT」(以下、「ACKカウントエラー」と称する場合がある)、発生日時として現在の日付と時刻を記憶させる。
図28に示す例では、受信したACKコマンドに含まれている送信カウンタの値は「11」である。また、前回、メダルセレクタ201から受信したコマンドであるメダルセレクタ無操作コマンドに含まれていた送信カウンタの値「11」に「1」を加算した値は「12」である。従って、サブCPU102は、これらの値が等しくないと判定する。このため、サブCPU102は、サブRAM103に設けられたエラー情報履歴領域に、エラー内容として「CMOS CNT」(ACKカウントエラー)、発生日時として現在の日付と時刻を記憶させる。
また、メダルセレクタ201は、500msecの周期で副制御回路101にコマンドを送信する。例えば、図28に示す例では、起動完了コマンドを副制御回路101に送信した500msec後にメダルセレクタ無操作コマンドが副制御回路101に送信される。なお、メダルセレクタ201から副制御回路101にコマンドを送信する周期は適宜設定可能である。
<副制御回路が行う各種処理>
次に副制御回路101(のサブCPU102)が行う各種処理について、図29~図33を参照して概略説明する。
[電源投入処理]
電源投入処理について、図29を参照して、説明する。図29は、電源投入処理の一例を示すフローチャートである。サブCPU102は、パチスロ1の電源投入時に、電源投入処理を行う。電源投入処理において、まず、サブCPU102は、電源投入時初期化処理を行う(ステップS101)。具体的には、サブCPU102は、各ドライバの初期化やカーネル(kernel、又はOperating System)の起動を実行する。(なお、本実施形態では、メダルセレクタ201に対して暗号化キーを送信する処理を「初期化処理」と称しており、初期化スイッチ206dの操作に応じて行われる初期化処理は「スイッチ応答初期化処理」とし、上述の副制御回路101の電源投入時の初期化処理は「電源投入時初期化処理」として、これと区別するものとする)。
次に、サブCPU102は、サブRAM103に設けられているサブ電源投入カウンタ(の値)に1を加算する(ステップS102)。具体的には、副制御回路101は、図示しない副制御電源管理部を有し、副制御電源管理部は、副制御回路101への電源電圧の供給(電源の投入)が開始され、予め設定された電圧値を上回った場合に、サブCPU102の図示しないリセット端子にリセット信号を出力する。サブCPU102は、リセット信号が入力されたことに基づいて、サブ電源投入カウンタ(の値)に1を加算する。なお、サブ電源投入カウンタは、メダルセレクタ201が初期化され、副制御回路101がメダルセレクタ201から初期化がセットされた(DAT0のビット0に1がセットされた)起動完了コマンドを受信したときに、クリアされる(0がセットされる)。そして、サブCPU102は、電源投入処理を終了する。
[メダルセレクタ通信タスク]
次に、メダルセレクタ通信タスクについて、図30を参照して、説明する。図30は、メダルセレクタ通信タスクの一例を示すフローチャートである。サブCPU102は、電源投入処理後に、メダルセレクタ通信タスクを実行する。
メダルセレクタ通信タスクにおいて、まず、サブCPU102は、10msec周期待ち処理を行う(ステップS121)。具体的には、サブCPU102は、処理がステップS121に移行してから10msec経過するまでの間、処理をステップS122へ移行させず、10msec経過後に処理をステップS122に移行させる。すなわちメダルセレクタ通信タスクのステップS122以降の処理は、10msec毎に行われる。
次に、サブCPU102は、メダルセレクタ受信バッファに受信データがあるか否かを判定する(ステップS122)。メダルセレクタ受信バッファは、サブRAM103に設けられており、メダルセレクタ201から副制御回路101に送信された各種コマンドやデータを一時的に記憶する。
ステップS122で、メダルセレクタ受信バッファに受信データがないと判定した場合(ステップS122がNO判定の場合)、サブCPU102は、処理をステップS121に移行させる。一方、ステップS122で、メダルセレクタ受信バッファに受信データがあると判定した場合(ステップS122がYES判定の場合)、サブCPU102は、メダルセレクタコマンド受信処理を行う(ステップS123)。メダルセレクタコマンド受信処理では、サブCPU102は、メダルセレクタ201から受信したコマンドに応じて各種処理を実行する。また、メダルセレクタ201から受信したコマンドは、メダルセレクタ201がコンピュータ400から受信した暗号化キーによって暗号化されているため、当該暗号化キーによって復号化を行う。メダルセレクタコマンド受信処理の詳細については、後述する。
次に、サブCPU102は、メダルセレクタコマンド送信処理(ステップS124)を行う。メダルセレクタコマンド送信処理では、サブCPU102は、メダルセレクタ201に各種コマンドを送信する。また、メダルセレクタ201に送信するコマンドは、メダルセレクタ201がコンピュータ400から受信した暗号化キーと同じキーによって暗号化される。メダルセレクタコマンド送信処理の詳細については、後述する。ステップS124の後、サブCPU102は、処理をステップS121に移行させる。
[メダルセレクタコマンド受信処理]
メダルセレクタコマンド受信処理について、図31を参照して、説明する。図31は、メダルセレクタコマンド受信処理の一例を示すフローチャートである。メダルセレクタコマンド受信処理において、まず、サブCPU102は、メダルセレクタ201から受信したコマンドが起動完了コマンドか否かを判定する(ステップS131)。
なお、メダルセレクタ201から受信するコマンドは全て暗号化されており、サブCPU102は、受信した全てのコマンドを暗号化キーで復号化した後、以降の処理を実行する。
ステップS131で、受信したコマンドが起動完了コマンドであると判定する場合(ステップS131がYES判定の場合)、サブCPU102は、起動完了コマンド受信時処理を行う(ステップS132)。起動完了コマンド受信時処理は、例えば、起動完了コマンドを暗号化キーで復号化した後、復号結果から、メダルセレクタ201に関する初期化情報やスイッチ情報を取得して、これらを記憶するとともに、初期化情報やスイッチ情報の内容に応じて、パチスロ1の液晶表示装置11に所定のエラー画面を表示するよう制御する。その後、サブCPU102は、メダルセレクタコマンド受信処理を終了し、処理をメダルセレクタ通信タスク(図30参照)のステップS124に戻す。
一方、ステップS131で、受信したコマンドが起動完了コマンドでないと判定する場合(ステップS131がNO判定の場合)、サブCPU102は、メダルセレクタ201から受信したコマンドが判定完了コマンドか否かを判定する(ステップS133)。
ステップS133で、受信したコマンドが判定完了コマンドであると判定する場合(ステップS133がYES判定の場合)、サブCPU102は、判定完了コマンド受信時処理を行う(ステップS134)。判定完了コマンド受信時処理は、例えば、判定完了コマンドを暗号化キーで復号化した後、復号結果から取得した判定結果をキューに登録し、NG判定がしきい値以上あったり、サブメダルカウンタが所定値以上であった場合に、パチスロ1の液晶表示装置11に所定のエラー画面を表示するよう制御する。その後、サブCPU102は、メダルセレクタコマンド受信処理を終了し、処理をメダルセレクタ通信タスク(図30参照)のステップS124に戻す。
一方、ステップS133で、受信したコマンドが判定完了コマンドでないと判定する場合(ステップS133がNO判定の場合)、サブCPU102は、メダルセレクタ201から受信したコマンドがメダルセレクタエラーコマンドか否かを判定する(ステップS135)。
ステップS135で、受信したコマンドがメダルセレクタエラーコマンドであると判定する場合(ステップS135がYES判定の場合)、サブCPU102は、メダルセレクタエラーコマンド受信時処理を行う(ステップS136)。メダルセレクタエラーコマンド受信時処理の詳細については、後述する。その後、サブCPU102は、メダルセレクタコマンド受信処理を終了し、処理をメダルセレクタ通信タスク(図30参照)のステップS124に戻す。
一方、ステップS135で、受信したコマンドがメダルセレクタエラーコマンドでないと判定する場合(ステップS135がNO判定の場合)、サブCPU102は、メダルセレクタ201から受信したコマンドがACK又はNAKコマンドか否かを判定する(ステップS137)。
ステップS137で、受信したコマンドがACK又はNAKコマンドであると判定する場合(ステップS137がYES判定の場合)、サブCPU102は、ACK/NAKコマンド受信時処理を行う(ステップS138)。ACK/NAKコマンド受信時処理では、受信したACK/NAKコマンドに応じて各種処理を行う。なお、各種処理の例としては、後述するエラー解除コマンドに対するACKコマンドを、メダルセレクタ201から受信したときに、液晶表示装置11にC1エラー画面(不図示)の表示の終了を指示することや上述のACKカウントエラーをエラー情報履歴に登録することがある。その後、サブCPU102は、メダルセレクタコマンド受信処理を終了し、処理をメダルセレクタ通信タスク(図30参照)のステップS124に戻す。
一方、ステップS137で、受信したコマンドがACKコマンド、又はNAKコマンドでないと判定する場合(ステップS137がNO判定の場合)、サブCPU102は、メダルセレクタ201から受信したコマンドがメダルセレクタ無操作コマンドか否かを判定する(ステップS139)。
ステップS139で、受信したコマンドがメダルセレクタ無操作コマンドであると判定する場合(ステップS139がYES判定の場合)、サブCPU102は、メダルセレクタ無操作コマンド受信時処理を行う(ステップS140)。メダルセレクタ無操作コマンド受信時処理は、例えば、メダルセレクタ無操作コマンドを暗号化キーで復号化した後、復号結果から取得したDAT0の値に基づいて、「初期化あり」と判定されると、パチスロ1の液晶表示装置11に初期化エラー画面を表示するよう制御する。また、復号結果から取得したDAT3、DAT4の値に基づいて、起動回数を判定し、この起動回数が所定の条件を満たす場合に、パチスロ1の液晶表示装置11に所定のエラー画面を表示するよう制御する。さらに、復号結果から取得したDAT1の値に基づいて、メダルセレクタ201の各種スイッチの状態を確認し、変化がある場合はエラー情報履歴に登録する。またさらに、上述したメダルセレクターエラーコマンド受信時処理を行う。これによって、何らかの障害が生じて、副制御回路101がメダルセレクタ201からのエラーコマンドを受信できなかった場合にも、メダルセレクタ無操作コマンドを受信することで、副制御回路101は、メダルセレクタ201の生じているエラー状態を適切に検知し、報知することができる。その後、サブCPU102は、メダルセレクタコマンド受信処理を終了し、処理をメダルセレクタ通信タスク(図30参照)のステップS124に戻す。
一方、ステップS139で、受信したコマンドがメダルセレクタ無操作コマンドでないと判定する場合(ステップS139がNO判定の場合)、サブCPU102は、メダルセレクタコマンド受信処理を終了し、処理をメダルセレクタ通信タスク(図30参照)のステップS124に戻す。
[メダルセレクタエラーコマンド受信時処理]
メダルセレクタエラーコマンド受信時処理について、図32を参照して、説明する。図32は、メダルセレクタエラーコマンド受信時処理の一例を示すフローチャートである。
メダルセレクタエラーコマンド受信時処理において、まず、サブCPU102は、C1エラー発生中か否かを判定する(ステップS171)。具体的には、サブCPU102は、液晶表示装置11にC1エラー画面が表示されているか否かを確認し、C1エラー画面が表示中の場合は、エラー発生中と判定し、表示中でない場合は、エラー発生中でないと判定する。
本実施形態では、メダルセレクタに係るエラーの種類として、C1エラーとC2エラーの2種類がある。C2エラーは、副制御回路101(のサブCPU102)によって、発生したと判断されるエラーであり、C2エラー発生時には、C2エラー画面が表示される。
一方、C1エラーは、メダルセレクタ201(の制御LSI234)によって、発生したと判断されるエラーである。本実施形態において、C1エラーには、異物検出エラー、カバー開放エラー、掃除エラー、色テンプレート生成エラー、刻印テンプレート生成エラー、ハードエラーの6種類がある。
ステップS171の処理で、C1エラー発生中であると判定する場合(ステップS171がYES判定の場合)、サブCPU102は、メダルセレクタエラーコマンド受信時処理を終了し、処理をメダルセレクタ通信タスク(図30参照)のステップS124に戻す。
一方、ステップS171の処理で、C1エラー発生中でないと判定する場合(ステップS171がNO判定の場合)、サブCPU102は、受信したメダルセレクタエラーコマンドを、暗号化キーで復号化し、復号結果から受信バッファのエラー状態が0か否かを判定する(ステップS172)。具体的には、サブCPU102は、復号結果を記憶する受信バッファのメダルセレクタエラーコマンドのDAT0、又はメダルセレクタ無操作コマンドのDAT2を参照し、そこに記憶されているエラー状態を示すデータを参照する。そして、値が「エラーなし」を示す「0」か否かを判定する。
ステップS172で、エラー状態を示すデータの値が「0」であると判定する場合(ステップS172がYES判定の場合)、サブCPU102は、メダルセレクタエラーコマンド受信時処理を終了し、処理をメダルセレクタ通信タスク(図30参照)のステップS124に戻す。
一方、ステップS172で、エラー状態を示すデータの値が「0」でないと判定する場合(ステップS172がNO判定の場合)、サブCPU102は、C1エラー画面表示要求を行う(ステップS173)。具体的には、サブCPU102は、C1エラー画面の表示を、液晶表示装置11に指示する。
次に、サブCPU102は、「C1_*」エラーをエラー情報履歴に登録する(ステップS174)。具体的には、サブCPU102は、サブRAM103に設けられたエラー情報履歴領域に、受信バッファに記憶されているコマンドにおけるエラー状態に応じたエラー内容(「1」~「6」のいずれか)と発生日時として現在の日付と時刻を登録する。例えば、受信バッファに記憶されているコマンドにおけるエラー状態が「刻印テンプレート生成エラー」を示す「5」の場合、エラー内容として「C1_5」が登録される。そして、サブCPU102は、メダルセレクタエラーコマンド受信時処理を終了し、処理をメダルセレクタ通信タスク(図30参照)のステップS124に戻す。
[メダルセレクタコマンド送信処理]
次に、メダルセレクタコマンド送信処理について、図33を参照して、説明する。図33は、メダルセレクタコマンド送信処理の一例を示すフローチャートである。
なお、サブCPU102は、全てのコマンドを暗号化キーで暗号化した後、メダルセレクタ201に送信する。
メダルセレクタコマンド送信処理において、サブCPU102は、まず、ACKコマンド、又はNAKコマンド受信時か否かを判定する(ステップS221)。具体的には、サブCPU102は、メダルセレクタ201から直近に受信したコマンドが、ACKコマンド、又はNAKコマンドか否かを判定する。ACKコマンド、又はNAKコマンド受信時であると判定する場合(ステップS221がYES判定の場合)、サブCPU102は、処理を後述するステップS223に移行させる。
一方、ステップS221においてACKコマンド、又はNAKコマンド受信時でないと判定する場合(ステップS221がNO判定の場合)、サブCPU102は、ACKコマンド/NAKコマンド送信処理を行う(ステップS222)。この処理において、サブCPU102は、メダルセレクタ201にACKコマンド、又はNAKコマンドに対して暗号化キーで暗号化した後、暗号化されたACKコマンド、又はNAKコマンドを送信する。そして、サブCPU102は、メダルセレクタコマンド送信処理を終了する。
ステップS221で、ACKコマンド、又はNAKコマンド受信時であると判定する場合(ステップS221がYES判定の場合)、サブCPU102は、エラー解除判定処理を行う(ステップS223)。エラー解除判定処理では、サブCPU102は、各種エラーに係る解除条件が成立すると、解除条件が成立したエラーに係る解除条件フラグに成立をセットする(値「1」をセットする)。
次に、サブCPU102は、C1エラー発生中、且つ、解除条件フラグが成立か否かを判定する(ステップS224)。具体的には、サブCPU102は、液晶表示装置11にC1エラー画面が表示されているか否かに基づいてC1エラー発生中か否かを判定する。また、サブCPU102は、サブRAM103に設けられている解除条件フラグ格納領域に「1」がセットされているか否かに基づいて解除条件フラグが成立しているか否かを判定する。C1エラーが発生中でない、又は、解除条件フラグが成立でないと判定する場合(ステップS224がNO判定の場合)、サブCPU102は、処理を後述のステップS226に移行させる。
一方、ステップS224において解除条件フラグが成立である判定する場合(ステップS224がYES判定の場合)、サブCPU102は、エラー解除コマンド送信処理を行う(ステップS225)。この処理において、サブCPU102は、メダルセレクタ201にエラー解除コマンドを送信する。ここで、エラー解除コマンドは、暗号化キーで暗号化された後、メダルセレクタ201に送信される。そして、サブCPU102は、メダルセレクタコマンド送信処理を終了する。なお、サブCPU102は、副制御回路101がエラー解除コマンドに対するACKコマンドをメダルセレクタ201から受信したとき、上述のメダルセレクタコマンド受信処理(図31)のステップS138のACKコマンド/NAKコマンド受信時処理において、液晶表示装置11にC1エラー画面の表示の終了を指示する。
ステップS224で、解除条件フラグが成立でないと判定する場合(ステップS224がNO判定の場合)、サブCPU102は、メダル受付フラグはメダル受付不可か否かを判定する(ステップS226)。メダル受付フラグ格納領域は、サブRAM103に設けられている。メダル受付フラグ格納領域には、後述するステップS229、ステップS232で、主制御回路91から受信した無操作コマンドに含まれているメダルソレノイド208のON/OFF状態の情報に基づいて、ON状態の場合は「1」(受付可)、OFF状態の場合は「0」(受付不可)がセットされる。ステップS226で、メダル受付フラグはメダル受付不可でない(受付可である)と判定する場合(ステップS226がNO判定の場合)、サブCPU102は、処理を後述するステップS230に移行させる。
ステップS226で、メダル受付フラグはメダル受付不可であると判定する場合(ステップS226がYES判定の場合)、サブCPU102は、無操作コマンドのメダルソレノイドはON状態か否かを判定する(ステップS227)。具体的には、サブCPU102は、主制御回路91から受信した直近の無操作コマンドが格納されている無操作コマンド格納領域を参照し、この無操作コマンドに含まれるメダルソレノイド208のON/OFF状態の情報に基づいて、メダルソレノイドはON状態か否かを判定する。なお、無操作コマンド格納領域は、上述のとおりサブRAM103に設けられている。
ステップS227で、メダルソレノイドはON状態でないと判定する場合(ステップS227がNO判定の場合)、サブCPU102は、メダルセレクタコマンド送信処理を終了する。一方、ステップS227で、メダルソレノイドはON状態であると判定する場合(ステップS227がYES判定の場合)、サブCPU102は、投入状態(可)コマンドを送信する(ステップS228)。具体的には、サブCPU102は、DAT0の値が「1」(受付可)の投入状態コマンドを、メダルセレクタ201に送信する。なお、ここで、投入状態(可)コマンドは、暗号化キーで暗号化された後、メダルセレクタ201に送信される。
次に、サブCPU102は、メダル受付フラグにメダル受付可をセットする(ステップS229)。具体的には、サブCPU102は、サブRAM103のメダル受付フラグ格納領域に「1」(受付可)をセットする。そして、サブCPU102は、メダルセレクタコマンド送信処理を終了する。
ステップS226で、メダル受付フラグはメダル受付不可でないと判定する場合(ステップS226がNO判定の場合)、サブCPU102は、無操作コマンドのメダルソレノイドはOFF状態か否かを判定する(ステップS230)。具体的には、サブCPU102は、主制御回路91から受信した直近の無操作コマンドが格納されている無操作コマンド格納領域を参照し、この無操作コマンドに含まれるメダルソレノイド208のON/OFF状態の情報に基づいて、メダルソレノイドはOFF状態か否かを判定する。
ステップS230で、メダルソレノイドはOFF状態でないと判定する場合(ステップS230がNO判定の場合)、サブCPU102は、メダルセレクタコマンド送信処理を終了する。一方、ステップS230で、メダルソレノイドはOFF状態であると判定する場合(ステップS230がYES判定の場合)、サブCPU102は、投入状態(不可)コマンドを送信する(ステップS231)。具体的には、サブCPU102は、DAT0の値が「0」(受付不可)の投入状態コマンドを、メダルセレクタ201に送信する。なお、ここで、投入状態(不可)コマンドは、暗号化キーで暗号化された後、メダルセレクタ201に送信される。
次に、サブCPU102は、メダル受付フラグにメダル受付不可をセットする(ステップS232)。具体的には、サブCPU102は、サブRAM103のメダル受付フラグ格納領域に「0」(受付不可)をセットする。そして、サブCPU102は、メダルセレクタコマンド送信処理を終了する。
以上、説明してきたように、コンピュータ400からメダルセレクタ201に提供された暗号化キーは、メダルセレクタ201と副制御回路101とのデータ通信(コマンドの送受信)において、コマンドのデータを暗号化するために用いられる。従って、当然、副制御回路101にも、メダルセレクタ201が記憶する暗号化キーと同一の暗号化キーが保持されている。また、この暗号化キーは、様々な方法で副制御回路101の所定の記憶手段に記憶されうる。例えば、本発明のメダルセレクタ201の初期化処理と同様に、コンピュータ400に接続して、当該コンピュータ400から暗号化キーを提供するようにすることもできる。
初期化ベクトルは、暗号化の対象となるデータが同じである場合に、同じ暗号化キーで暗号化されたデータが同じになることを回避するために、暗号化のたびにランダムに生成されるデータであり、この初期化ベクトルを暗号化対象データと結合して暗号化したり、暗号化されたデータと結合したりすることによって、同じ暗号化対象データを同じ暗号化キーで暗号化した場合であっても、異なる暗号化データが生成されることになり、結果として暗号化の強度を高めることができる。本実施形態では、このような初期化ベクトルを暗号化キーとともにコンピュータ400からメダルセレクタ201に提供しているが、メダルセレクタ201で使用しない場合は、当該初期化データを、コンピュータ400からメダルセレクタ201に提供しないように構成することができる。
上述した本実施形態の構成によって、メダルセレクタ201は、ケーブル280の接続先を切り替えるだけで、外部コンピュータ(コンピュータ400)と副制御回路101の両方に対して、同じプロトコルでデータ通信を行うことができる。従って、メダルセレクタ201の設定等を、接続されるハードウェアに応じて変更する、といった操作をする必要がなく、接続先のハードウェアを簡単に切り替えることができる。メダルセレクタ201は、接続先のハードウェアから受信するコマンドの種類によって処理を切り替えることができ、接続先であるコンピュータ400や副制御回路101も、それぞれメダルセレクタ201からのコマンドを受信可能となっている。
また、上記のような構成によって、メダルセレクタ201は、外部コンピュータ(コンピュータ400)から、初期化処理として、暗号化キーを受信するが、当該暗号化キーが所定の暗号鍵で暗号化されている場合は、より安全に暗号化キーの配布が可能となる。
また、メダルセレクタ暗号化キー作成ツールによって、暗号化キーを暗号化して格納する暗号化キーファイルが作成されるため、暗号化キーを簡単に作成できるとともに、作成した暗号化キーを安全に保管・管理することができる。
また、上述のように、メダルセレクタ201と副制御回路101におけるデータ通信は、暗号化キーによって暗号化されるので(すなわち、暗号化された通信データによる双方向通信が実現されるので)、メダルセレクタ201と副制御回路101の間のセキュリティを、高いレベルで維持することができる。
なお、本実施形態では、メダルセレクタ201と副制御回路101との間のコマンド、及びメダルセレクタ201とコンピュータ400との間のコマンドは、2バイトの送信カウンタ(CNT)と、DAT0~DAT6からなるパラメータ(データ部)を含んで構成されているが、ここで、例えば、複数のコマンドによって1つのデータが送信される場合、受信側では、受信バッファに一連のコマンドのパラメータがすべて受信されてから、1つのデータに統合し、そのデータを暗号鍵で復号化するように構成することができる。また、本実施形態では、コマンド種類を表すデータについては、暗号化キーによる暗号化が行われず、受信側では、コマンド種類を判断してから送信カウンタとDAT0~DAT6を暗号化キーで復号化するようにしたが、コマンド種類を表すデータを含めて暗号化キーによる暗号化を行うこともでき、この場合は、受信側で、コマンド種類を表すデータを含めた復号化が行われる。
<ドア監視ユニット暗号化キー作成ツールのGUI>
次に、24hドア監視ユニット63の暗号化キーを作成するドア監視ユニット暗号化キー作成ツール(プログラム)のGUIについて、図34、及び図35を参照して説明する。
ドア監視ユニット暗号化キー作成ツールは、上述のようにコンピュータ400において実行され、そのツールの画面は、コンピュータ400のディスプレイ409に表示され、入力・指示等は、キーボード411やマウス412等を用いて行われる。
図34Aには、ドア監視ユニット暗号化キー作成ツールの暗号化キー作成画面601が示されている。暗号化キー作成画面601には、作成タブの選択で前面に表示されるよう制御された作成表示部602が含まれ、作成表示部602には、暗号化キー入力部603、チェックサム表示部605、作成日時表示部606、及び作成指示ボタン607が示されている。図34Aは、暗号化キーが入力される前の暗号化キー作成画面601を示している。
図34Bには、図34Aと同様の暗号化キー作成画面601が示されているが、ここでは、ユーザによって暗号化キー入力部603に暗号化キーが入力された状態である。ここで、ユーザが、作成指示ボタン607をマウス412で押下等し(矢印608)、暗号化キーファイルの作成を指示する。
暗号化キー入力部603に暗号化キーを入力する場合、ユーザは、暗号化キー入力部603に、例えば、ASCIIコード文字で、16文字を入力する。キー管理者は、それぞれ、又は一群の24hドア監視ユニット63に対して1つの暗号化キーを設定し、その暗号化キーを、例えば、別途、テキストファイル等の形式で記憶しておくようにする。また、暗号化キー入力部603に対して、暗号化キーを記憶したテキストファイルをドラッグ&ドロップ(又はテキストをコピー&ペースト)して、16文字の入力を行うようにすることもできる。
暗号化キー入力部603に暗号化キーが入力された状態は、図34Bでは、便宜上、16個の「a」として表示されているが、暗号化キー入力部603に、入力された16個の文字をそのまま表示させてもよいし、入力とともに、「*」等の文字で隠蔽するようにしてもよい。
ここで、ユーザにより、作成指示ボタン607が押下されると、チェックサム表示部605に、暗号化キーに基づいて計算された誤り検出用のチェックサムを計算して表示し、暗号化キーファイルを作成する。暗号化キーファイルの作成が完了した場合に、暗号化キー作成画面601の所定のエリアに、暗号化キーファイルの作成が完了した旨のメッセージを表示するようにしてもよい。図34Bでは、作成日時表示部606に作成日時が表示されていないが、暗号化キーファイルが作成された時点で、その作成日時を作成日時表示部606に表示するようにしてもよい。
作成された暗号化キーファイルは、ドア監視ユニット暗号化キー作成ツールが内部に保持する(又は、所定の記憶手段に記憶する)暗号化キーファイル作成用暗号鍵で、暗号化キーを暗号化したデータを含むものである。暗号化キーファイルは、コンピュータ400の記憶手段(外部記憶装置413)等に記憶される。ここで、例えば、暗号化キーファイルの暗号化方式はAESであり、フロックサイズは128bit、暗号鍵長は128bit、ブロック暗号モードはCBCモードである。暗号化キーファイルは、所定の記憶形式(例えば、XMLファイル形式)で作成され、また、暗号化キーファイルには、上述したチェックサムの値と作成日時が含まれる。
図35には、ドア監視ユニット暗号化キー作成ツールの暗号化キー読込画面611が示されている。暗号化キー読込画面611には、作成タブの選択で前面に表示されるよう制御された読込表示部612が含まれ、読込表示部612には、暗号化キー表示部613、チェックサム表示部615、作成日時表示部616、及び読込指示ボタン617が示されている。図35は、暗号化キーファイルの名前が指定された後、読込指示ボタン617がマウス412で押下等され(矢印618)、その指定された暗号化キーファイルが、上述した暗号化キーファイル作成用暗号鍵で復号化され、暗号化キー表示部613に元の暗号化キーが表示される。
なお、図35の例では、暗号化キー等の漏洩防止のために、復号化された元の暗号化キーの一部は、文字「*」で表示されるが、全部をそのまま表示することもできる。チェックサムは、復号化された元の暗号化キーに基づいて計算され、チェックサム表示部615に表示される。チェックサム表示部615に表示された値と、暗号化キーファイルに記憶されている暗号化時点のチェックサムの値を比較し、比較結果を暗号化キー読込画面611の所定のエリアに表示するようにしてもよい。作成日時表示部616には、暗号化キーファイルに含まれている作成日時を表示する。
このようなチェックサムの値と作成日時とで、暗号化キーファイルの正当性を確認することができるが、暗号化キー表示部613に、上述のように、復号化された暗号化キーの一部又は全部をそのまま表示して、元の暗号化キーと一致するか否かをチェックできるようにすることもできる。
<ドア監視ユニット初期化ツールのGUI>
次に、24hドア監視ユニット63の初期化処理を行うドア監視ユニット初期化ツール(プログラム)のGUIについて、図36を参照して説明する。
ドア監視ユニット初期化ツールは、上述のようにコンピュータ400において実行され、そのツールの画面は、コンピュータ400のディスプレイ409に表示され、入力・指示等は、キーボード411やマウス412等を用いて行われる。
図36Aには、ドア監視ユニット初期化ツールの初期化指示画面621が示されている。初期化指示画面621には、暗号化キーチェックサム表示部622、外部I/O通信状態表示部623、接続確認ボタン624、接続確認結果表示部625、シリアルID取得ボタン626、シリアルID表示部627、初期化ボタン628、ステータス表示部629、及び設定日時表示部630が示されている。図36Aは、24hドア監視ユニット63の初期化処理を行う前の初期化指示画面621を示している。
この場合、暗号化キーファイル指定画面(不図示)で指定された暗号化キーファイル(XMLファイル)が読み込まれ、当該XMLファイルに含まれるチェックサムが、暗号化キーチェックサム表示部622に表示される。ここで、暗号化キーファイルに含まれる暗号化キーを復号化した後、チェックサムを計算して、暗号化キーチェックサム表示部622に表示してもよい。また、暗号化キーファイルに含まれる作成日時を表示するようにしてもよい。
また、このコンピュータ400は、この時点では、オペレーションマシン500に接続されておらず、外部I/O通信状態表示部623には、「接続なし」の表示がされている。
接続確認結果表示部625には、接続確認ボタン624が押下された場合に、その接続確認の結果が表示される。また、シリアルID表示部627には、シリアルID取得ボタン626が押下された場合に、取得されたシリアルIDが表示される。
ステータス表示部629には、初期化ボタン628が押下された場合の、初期化の結果が表示され、初期化がまだされていない場合、「未初期化」と表示され、初期化が完了すると「初期化OK」の表示と、24hドア監視ユニット63に送信された記録開始時間の設定値(100分)の表示がされ、初期化においてエラー等が発生すると「初期化NG」の表示がされる。
設定日時表示部630には、コンピュータ400が管理する現在日時が表示されており、初期化ボタン628が押下された場合、この現在日時によって、24hドア監視ユニット63の日時設定が行われる。コンピュータ400が管理する現在日時は、例えば、インターネット上の時刻提供サーバから、周期的に正確な時刻を取得し反映させることが望ましい。
ここで、ドア監視ユニット初期化ツールのユーザが、接続確認ボタン624をマウス412等で押下すると、ドア監視ユニット初期化ツールは、24hドア監視ユニット63にコマンドを送信して、24hドア監視ユニット63と通信し、シリアルIDを取得する。シリアルIDが取得できた場合、24hドア監視ユニット63との接続が確認できたものと判断し、接続確認結果表示部625が、「未接続」から「接続OK」の表示に変更される。また、接続確認ができなかった場合、接続確認結果表示部625は「接続NG」の表示となる。
なお、この例では、接続確認ボタン624の押下によってシリアルIDが取得され、シリアルID表示部627に、取得したシリアルIDが表示されるが、単にシリアルIDのみを確認する場合は、シリアルID取得ボタン626を押下し、シリアルID表示部627に、取得したシリアルIDを表示させることができる。
ここで、ドア監視ユニット初期化ツールのユーザが、初期化ボタン628をマウス412で押下等すると(矢印631)、ドア監視ユニット初期化ツールは、当該ツールが内部に保持する(又は、所定の記憶手段に記憶する)暗号化キーファイル作成用暗号鍵で、指定された暗号化キーファイルを復号化し、復号化された暗号化キーと、現在日時等を含む他の設定値を24hドア監視ユニット63に送信する。
その後、ドア監視ユニット初期化ツールは、24hドア監視ユニット63から正常なアンサ信号を受信した場合に、図36Bの初期化指示画面621に示すように、ステータス表示部629に、「初期化OK」が、記録開始時間とともに表示されている。記録開始時間は、例えば、24hドア監視ユニット63の初期化処理を行ってから何分後にドアの監視を開始するかを設定するものであり、このドア監視ユニット初期化ツールによって24hドア監視ユニット63に送信され、設定される。24hドア監視ユニット63の初期化が行われるのは、パチスロ1の組み立て時であることが多く、このような開始時間の設定は、パチスロ1の組み立てや調整による頻繁なドアの開閉を、ドア開閉履歴として記憶しないようにするためである。
この記録開始時間は、様々な方法で指定することができる。例えば、ユーザがドア監視ユニット初期化ツールの操作で、コンピュータ400の所定の記憶手段に記憶されたファイルから読み取るようにしてもよく、また、ドア監視ユニット暗号化キー作成ツールで指定して暗号化キーファイルに記憶し、ドア監視ユニット初期化ツールで読み取るようにしてもよい。
また、初期化ボタン628の押下の前に、上記のような接続確認ボタン624の押下がされているため、図36Bの初期化指示画面621では、接続確認結果表示部625には「接続OK」の表示がされ、シリアルID表示部627には、取得したシリアルIDが表示されている。また、この例では、コンピュータ400がオペレーションマシン500に接続されており、外部I/O通信状態表示部523には、「COM1接続」の表示がされている。
また、ドア監視ユニット初期化ツールは、復号化された暗号化キーを24hドア監視ユニット63に送信する場合に、24hドア監視ユニット63との間で共有する暗号鍵を用いて暗号化したうえで送信するようにしてもよい。
こうした初期化処理には、時間がかかる場合があるため、初期化の進行状況をプログレッシブバー(ステータスバー)で表示するようにしてもよい。
このような、ドア監視ユニット暗号化キー作成化ツールとドア監視ユニット初期化ツールの利用により、暗号化キーを簡単に作成することができ、かつ安全性が高い状態で暗号化キーを作成、保持できる(例えば、キー管理者は、各ドア監視ユニットの暗号化キーを、暗号化された状態の暗号化キーファイルとして保持することができる)。また、これによって、24hドア監視ユニット63のような周辺機器を遊技機に組み込む際の作業の効率化を図ることもできる。
<ドア監視ユニット設定読出ツールのGUI>
次に、24hドア監視ユニット63の設定読出を行うドア監視ユニット設定読出ツール(プログラム)のGUIについて、図37を参照して説明する。
ドア監視ユニット設定読出ツールは、上述のようにコンピュータ400において実行され、そのツールの画面は、コンピュータ400のディスプレイ409に表示され、入力・指示等は、キーボード411やマウス412等を用いて行われる。
図37には、ドア監視ユニット設定読出ツールの設定表示画面651が示されている。設定表示画面651には、設定読出ボタン652、設定読出結果表示部653、設定値妥当性検証ボタン654、設定値妥当性検証表示部655、設定値表示部656、ドア開閉履歴タイトル表示部657、ドア開閉履歴表示部658が予め定められた所定の表示形式で示されている。また、設定値表示部656には、例えば、バージョン情報、自己診断チェック結果、シリアルID、現在時刻、監視ユニットステータス、最終通信履歴、通常モード設定、ドア設定、開閉履歴データ数、最新開閉履歴データ番号等の表示が含まれている。このように、ドア監視ユニット設定読出ツールでは、遊技機に組み込まれた24hドア監視ユニット63が記憶する動作記録や設定値等が読み出され、設定表示画面651に表示される。
さらに、自己診断チェック結果には、24hドア監視ユニット63が行う自己診断の結果が含まれており、例えば、異常のパターンなど、全体の診断結果を表す診断コード(図37では、「FFh」)と各種診断項目が表示される。各種診断項目には、システムRom/Ram、バックアップ時RAM状態、リセット回数、履歴データチェックサム、秘密鍵チェックサム、シリアルIDチェックサムの各項目が表示され、それぞれ、診断結果(例えば、「正常」か「異常」)が対応付けて示されている。
24hドア監視ユニット63の自己診断チェックプログラムは、ROM303やEEPROM305に記憶され、所定の周期で呼び出され実行される。自己診断チェックプログラムは、例えば、ROM303から所定データを読み込み、EEPROM305やRAM304に対して所定データの書き込みと読み込みを行うことで自己診断を行い、「ROM/RAM」の診断項目について、正常であれば「正常」、異常があれば「異常」とする。その診断結果は、EEPROM305の自己診断チェック結果に記憶される。
また、自己診断チェックプログラムは、例えば、バックアップ時においてRAMの書き込みテストを行い、「バックアップ時RAM状態」の診断項目について、「正常」又は「異常」の診断を行い、その診断結果をEEPROM305の自己診断チェック結果に記憶する。さらに、自己診断チェックプログラムは、例えば、「リセット回数」、「履歴データチェックサム」、「秘密鍵チェックサム」、「シリアルIDチェックサム」の各診断項目について、「正常」又は「異常」の診断を行い、その診断結果をEEPROM305の自己診断チェック結果に記憶する。
また、監視ユニットステータスには、24hドア監視ユニット63の状態や24hドア監視ユニット63が監視するドアの状態が含まれており、例えば、ステータスのパターンなど、全体のステータスの状況を示す状況コード(図37では、「03h」)と各種ステータスが表示される。各種ステータスには、ドア1のステータス、ドア2のステータス、モード遷移フラグ、ドア監視履歴更新フラグの各項目が表示され、それぞれ、ステータス(図37では、「クローズ」、「遷移」、「更新」)が対応付けて示されている。
また、通常モード設定には、ドア1とドア2のそれぞれで、例えば、通常モード中の記録モードの項目が表示され、それぞれ対応するモード(図37では、「常時記録」)が示されている。なお、ここで、ドア1はフロントドア2bであり、ドア2はミドルドア41である。
また、ドア設定には、ドア1とドア2のそれぞれで、例えば、全体のパターンを示すコード(図37では、「53B00h」)と各種設定が表示される。各種設定には、ドア記録モード、ドア監視、監視間隔時間(秒)、記録開始時間(分)の各項目が表示され、それぞれ、対応する設定が示されている(例えば、「開閉時刻」、「監視ON」、「59」、「0」)。
ドア開閉履歴表示部658には、ドア開閉履歴の詳細がリスト形式で示されている。
図37は、設定読出ボタン652を押下した場合(矢印659)の設定表示画面651を示している。
図38は、図37の表示状態で、設定値妥当性検証ボタン654を押下した場合(矢印660)の設定表示画面651を示している。
設定値妥当性検証ボタン654の押下により、ドア監視ユニット設定読出ツールによって読み出された特定の設定値について妥当性が検証され、その検証結果が予め定められた所定の表示形式で表示される。すなわち、検証結果に応じて、当該設定値の表示領域に関する表示態様を変化させる。
例えば、図38において、斜線のハッチングで示された表示領域の値(項目)が、検証対象となったものであり、このハッチングは緑色の背景色で表示されていることを表し、妥当性があることを意味する。例えば、自己診断チェック結果で「正常」と表示されている表示領域、通常モード設定で「常時記録」と表示されている表示領域、ドア設定で、「開閉時刻」、「監視ON」、「59」、「0」とそれぞれ表示されている表示領域は、妥当(正常)であり、緑色の背景色で示されている。
また、ドア開閉履歴表示部658に示されたドア開閉履歴のそれぞれは、(スクロールで現れる部分も含めて)すべてのリストについて妥当であるとされ、ドア開閉履歴表示部658の代表領域であるドア開閉履歴タイトル表示部657が緑色の背景色で示されている。
上述した妥当性の検証の結果、妥当でないと判定された場合、例えば、ユーザが注目しやすいように、問題の値(項目)の表示領域が、赤色の背景色で示される。
<EEPROMのメモリーマップ>
次に、EEPROM305に記憶する情報及びEEPROM305における情報の格納場所について、図39を参照して説明する。図39は、EEPROM305のメモリーマップであり、EEPROM305における情報の格納場所を概念的に示す図である。図39では、EEPROM305の記憶領域を、1行8バイトの領域として示している。
図39に示すように、先頭から連続する16バイトの領域は、シリアルID格納領域を形成する。シリアルID格納領域には、24hドア監視ユニット63のシリアルIDが記憶される。シリアルIDは、16桁の英数字からなる(例えば、「0123456789ABCDEF」)。すなわち、各バイトには、1文字分の16進数の値が記憶される。なお、このシリアルIDは、本発明に係るコンピュータ400で実行されるドア監視ユニット設定読出ツールで読み出され表示することが可能である。
次の連続する16バイトの領域は、秘密鍵格納領域を形成する。秘密鍵格納領域には、秘密鍵が記憶される。秘密鍵は、16桁の英数字からなる(例えば、「SECRETKEY0000000」)。すなわち、各バイトには、1文字分の16進数の値(例えば、文字「S」の場合はASCIIコードの53Hが、文字「0」の場合はASCIIコードの30H)が記憶される。秘密鍵は、制御LSI300が実行する乱数コマンド受信時処理においてパスワードを生成する際に用いられる。すなわち、本実施形態では、EEPROM305は、秘密鍵が格納される秘密鍵格納領域を備える監視側基準データ記憶手段を構成する。
秘密鍵格納領域には、本発明に係るコンピュータ400で実行されるドア監視ユニット初期化ツールによって24hドア監視ユニット63に送信された暗号化キーが記憶される。
次の連続する5バイトの領域は、予備の領域であり、情報は記憶されない。次の1バイトの領域は、記録モード格納領域を形成する。記録モード格納領域には、記録モードの種別を示す情報が記憶される。記録モードの種別には、EEPROM305にフロントドア2bの後述の開閉履歴情報を常時記録させる「常時記録モード」と、記録しない「無記録モード」がある。また、ミドルドア41に関して開閉履歴情報を常時記録させる「常時記録モード」と、記録しない「無記録モード」もある。これらの記録モードは、本発明に係るコンピュータ400で実行されるドア監視ユニット設定読出ツールで、ドア1(フロントドア2b)とドア2(ミドルドア41)の通常モード設定として読み出され表示される。
次の1バイトの領域は、履歴カウンタ格納領域を形成する。履歴カウンタ格納領域には、履歴カウンタの値が記憶される。履歴カウンタの値は、EEPROM305に記憶されている後述の開閉履歴情報の数を示す値である。本実施形態では、最大128個の開閉履歴情報が記憶可能なので、履歴カウンタの値として、0~128が記憶される。なお、記憶可能な開閉履歴情報の数は、24hドア監視ユニット63に搭載される不揮発性メモリの種類及び記憶容量により、適宜増減する。なお、この履歴カウンタの値は、本発明に係るコンピュータ400で実行されるドア監視ユニット設定読出ツールで、開閉履歴データ数として読み出され表示される。
次の1バイトの領域は、最新番号格納領域を形成する。最新番号格納領域には、最新の開閉履歴情報が記憶されている後述の開閉履歴格納領域の番号である最新番号が記憶される。なお、この最新の開閉履歴情報は、本発明に係るコンピュータ400で実行されるドア監視ユニット設定読出ツールで、最新開閉履歴データ番号として読み出され表示される。
次の連続する1024バイトの領域には、開閉履歴情報が記憶される。開閉履歴情報は、フロントドア2bが閉止又は開放された年月日及び時間を示す情報である。また、開閉履歴情報は、連続する8バイトの情報からなる。従って、この連続する1024バイトの領域には、128個の開閉履歴情報が記憶可能となっている。また、この開閉履歴情報は、本発明に係るコンピュータ400で実行されるドア監視ユニット設定読出ツールで、開閉履歴データとしてそれぞれ読み出され、リスト形式で表示される。
開閉履歴情報は、監視対象を示す1バイトの監視対象情報(本実施形態では、フロントドア2b)と、開放(OPEN)か閉止(CLOSE)かを示す1バイトの状態情報と、年、月、日、時、分、そして秒を各バイトで示す連続する6バイトの時間情報からなる。時間情報の各バイトは、年、月、日、時、分、そして秒の下2桁を、16進数の値で示す。
また、この連続する1024バイトとの領域は、1個の開閉履歴情報を記憶する領域毎に、すなわち8バイトずつに区切られている。これら区切られたそれぞれの領域は、開閉履歴情報格納領域を形成し、1~128の番号が付けられている。なお、番号「128」の開閉履歴情報格納領域に開閉履歴情報が記憶された後に記憶される開閉履歴情報は、番号「1」の開閉履歴情報格納領域に上書きされて記憶される。以降、開閉履歴情報は、同様に、番号「2」以降の開閉履歴情報格納領域に上書きされて記憶される。すなわち、本実施形態では、開閉履歴情報を記憶する開閉履歴情報格納領域を備えるEEPROM305は、開閉履歴情報記憶手段を構成する。
次の連続する4バイトの領域は、監視間隔時間格納領域を形成する。監視間隔時間格納領域には、監視間隔時間に対応するカウント数が記憶される。監視間隔時間とは、開閉履歴情報をEEPROM305に記憶させる間隔である。本実施形態では、分刻みで1分~100分の監視間隔時間が設定可能である。例えば、制御LSI300は、20msec(ミリ秒)ごとに監視間隔カウントを加算し、監視間隔カウントが設定した監視間隔時間に対応するカウント数に達した後に、開閉履歴情報をEEPROM305に記憶させる。従って、監視間隔時間に対応するカウント数として、監視間隔時間格納領域には、3000(監視間隔時間1分に対応するカウント数)~300000(監視間隔時間100分に対応するカウント数)が記憶される。なお、この監視間隔時間格納領域には、監視間隔時間に対応するカウント数の16進数の値が記憶される。また、この監視間隔時間格納領域を、フロントドア2b、ミドルドア41のそれぞれに対して設けることもできる。
次の連続する4バイトの領域は、記録開始時間格納領域を形成する。記録開始時間格納領域には、記録開始時間に対応するカウント数が記憶される。記録開始時間とは、後述の記録開始時間設定処理(図54に示す特権コマンド受信時処理のステップS488参照)が行われてから開閉履歴情報の記憶を開始させるまでの時間である。本実施形態では、分刻みで1分~100分の記録開始時間が設定可能である。例えば、制御LSI300は、20msec(ミリ秒)ごとに記録開始時間カウントを加算し、記録開始時間カウントが設定した記録開始時間に対応するカウント数に達した後に、開閉履歴情報をEEPROM305に記憶させる。従って、記録開始時間に対応するカウント数として、記録開始時間格納領域には、3000(記録開始時間1分に対応するカウント数)~300000(記録開始時間100分に対応するカウント数)の値が記憶される。なお、記録開始時間格納領域には、記録開始時間に対応するカウント数の16進数の値が記憶される。また、この記録開始時間は、本発明に係るコンピュータ400で実行されるドア監視ユニット初期化ツールで、24hドア監視ユニット63に送信され、記憶される。また、この記録監視時間格納領域を、フロントドア2b、ミドルドア41のそれぞれに対して設けることもできる。
次の領域は、プログラムバージョンが記憶されるプログラムバージョン格納領域が形成されている。プログラムバージョンとは、24hドア監視ユニット63で実行されるプログラムのバージョンである。また、このプログラムバージョンは、本発明に係るコンピュータ400で実行されるドア監視ユニット設定読出ツールで、バージョン情報として読み出され表示される。
また、EEPROM305には、24hドア監視ユニット63で実行される自己診断チェックプログラムによる自己診断のチェック結果を記憶する自己診断チェック結果格納領域が設けられる。さらに、EEPROM305には、24hドア監視ユニット63とホスト機器(例えば、コンピュータ400や副制御回路101)と最後に通信した日時等を記憶する、最終通信履歴格納領域が設けられ、ドア記録モード(開閉時間等)やドア監視(監視ON、監視OFF)といった項目を含むドア設定格納領域が設けられる。
なお、図示は省略するが、EEPROM305には、上記の他、各種情報を記憶する格納領域が形成されている。
<RAMのメモリーマップ>
次に、RAM304に記憶する情報及びRAM304における情報の格納場所については、図40を参照して説明する。図40は、RAM304のメモリーマップであり、RAM304における情報の格納場所を概念的に示す図である。図40では、RAM304の記憶領域を、1行8バイトの領域として示している。
図40に示すように、先頭の1バイトの領域は、出力ポート情報格納領域を形成する。出力ポート情報格納領域には、I/Oポート回路309の出力ポートを介して送信される情報が記憶される。
次の1バイトの領域は、入力ポート情報格納領域を形成する。入力ポート情報格納領域には、例えば、ポート入力処理において、I/Oポート回路309の入力ポートを介してドア開閉監視スイッチ67から受信した信号に基いたフロントドア2bが開放状態か閉止状態かを示す状態情報が記憶される。
次の1バイトの領域には、状態変化フラグ格納領域を形成する。状態変化フラグ格納領域には、状態変化フラグが記憶される。状態変化フラグとは、EEPROM305に開閉履歴情報を格納中か否かを示すフラグである。状態変化フラグは、入力ポート情報格納領域に格納された情報が示すフロントドア2bの開閉状態とEEPROM305に格納されている最新の開閉履歴情報が示すフロントドア2bの開閉状態とが一致せず、入力ポート情報格納領域に格納された情報に基づく開閉履歴情報をEEPROM305に格納する場合にONに設定される(後述の図50に示すドア監視状態検知処理のステップS446参照)。また、状態変化フラグは、開閉履歴情報をEEPROM305に格納した後にOFFに設定される(後述の図49に示すドア監視処理のステップS434参照)。
次の1バイトの領域は、受信完了フラグ格納領域を形成する。受信完了フラグ格納領域には、受信完了フラグが記憶される。受信完了フラグは、ホスト機器から送信されたコマンド及びそれに含まれる情報の受信が完了したか否かを示すフラグである。受信完了フラグは、受信が完了した場合にONに設定され(「1」がセットされ)、受信したコマンドに応じた送信処理(後述の図56の送信処理参照)を行う際にOFFに設定される(クリアされる)。
次の1バイトの領域は、サムカウンタ格納領域を形成する。サムカウンタ格納領域には、サムカウンタが記憶される。サムカウンタは、ホスト機器から送信されたサム値の数を示す。本実施形態では、ホスト機器から送信されるコマンド及びそれに含まれる情報に2桁のサム値が含まれている。サム値は、1桁1バイトずつの情報としてホスト機器から送信され、制御LSI300は、各桁のサム値を受信するたびにサムカウンタに1を加算する(後述の図52に示す受信割込み処理のステップS468参照)。
次の1バイトの領域は、ETX受信フラグ格納領域を形成する。ETX受信フラグ格納領域には、ETX受信フラグが記憶される。ETX受信フラグは、ホスト機器からETXコマンドを受信したか否かを示すフラグである。ETXコマンドを受信した場合は、ETX受信フラグは、ONに設定される(「1」がセットされる)。
次の1バイトの領域には、ログインフラグ格納領域を形成する。ログインフラグ格納領域には、ログインフラグが記憶される。ログインフラグは、ホスト機器から受信したパスワードと、後述するRAM304のパスワード格納領域に記憶されたパスワードと、が一致するか否かを示すフラグである。ログインフラグは、パスワードが一致する場合に、ONに設定される、すなわち「1」がセットされる。
次の1バイトの領域は、記録許可フラグ格納領域を形成する。記録許可フラグ格納領域には、記録許可フラグが記憶される。記憶許可フラグは、開閉履歴情報をEEPROM305に記憶可能否かを示すフラグである。記憶許可フラグは、記録モードが常時記録モードに設定され、且つ、記録開始時間カウンタの値が記録開始時間に対応するカウント数以上のとき、すなわちEEPROM305に開閉履歴情報を記録可能な場合にONに設定される。
次の連続する8バイトの領域は、第1検知結果格納領域を形成する。第1検知結果格納領域には、開閉履歴情報が記憶される。開閉履歴情報が第1検知結果格納領域に記憶される態様については、後で図50を参照して説明する。本実施形態において、RAM304に配された第1検知結果格納領域を備え、後述のドア監視状態検知処理(後述の図50参照)を行う24hドア監視ユニット63の制御LSI300は、開閉状態取得手段を構成する。
次の連続する8バイトの領域は、第2検知結果格納領域を形成する。第2検知結果格納領域には、開閉履歴情報が記憶される。開閉履歴情報が第2検知結果格納領域に記憶される態様については、後で図50を参照して説明する。
次の連続する16バイトの領域は、パスワード格納領域を形成する。パスワード格納領域には、パスワードが記憶される。パスワードは、後述する特権コマンドに係る処理をホスト機器が24hドア監視ユニット63に要求する際に必要となる情報である。また、パスワードは、16桁の英数字からなる。すなわち、各バイトには、1文字分の16進数の値が記憶される。
次の連続する56バイトの領域(送信バッファ)には、24hドア監視ユニット63からホスト機器に情報を送信する際に、送信に係る情報が一時的に記憶される。すなわち、これら連続する56バイトの領域は、コマンド等を送信するときにバッファとして機能する送信バッファを形成する。
次の連続する56バイトの領域(送信バッファ)には、24hドア監視ユニット63がホスト機器から受信したコマンド及びそれに含まれる情報が一時的に記憶される。すなわち、これら連続する56バイトの領域は、コマンド等を受信するときにバッファとして機能する受信バッファを形成する。
次の連続する4バイトの領域は、記録開始時間カウンタ格納領域を形成する。記録開始時間カウンタ領域には、後で図48を参照して説明するドア監視ユニットメイン処理のステップS408で加算される記録開始時間カウンタの値が記憶される。
次の連続する4バイトの領域は、監視間隔カウンタ格納領域を形成する。監視間隔カウンタ格納領域には、後で図49を参照して説明するドア監視処理のステップS424で加算される監視間隔カウンタの値が記憶される。
次の連続する8バイトの領域は、乱数格納領域を形成する。乱数格納領域は、後で説明する乱数コマンド受信時処理で生成される8桁(16進数)の乱数値が記憶される。すなわち、各バイトには、1桁分の値が記憶される。
なお、図示は省略するが、RAM304には、上記の他、各種情報を記憶する格納領域が形成されている。例えば、RAM304には、受信カウンタ格納領域が形成されている。受信カウンタ格納領域の値は、受信データを記憶させる受信バッファの領域(R1~R24に対応)を示す。
<コマンド>
次に、24hドア監視ユニット63と、ホスト機器と間の通信で用いられるコマンドについて説明する。本実施形態では、24hドア監視ユニット63とホスト機器と間の通信で用いられるコマンドの種別として、「特権コマンド」と「一般コマンド」がある。特権コマンドは、ホスト機器が24hドア監視ユニットに各種設定を要求する際などに用いられる。一般コマンドは、ホスト機器が24hドア監視ユニットに情報の送信を要求する際などに用いられる。なお、後述する「特権コマンド」及び「一般コマンド」の24hドア監視ユニット63がホスト機器に送信するアンサでは、各コマンドのIDが、アンサ用のIDとして用いられる、すなわち、コマンドとアンサは、そのIDで一対一の関係が成立する。
<特権コマンド>
まず、図41を参照して特権コマンドについて説明する。図41は、24hドア監視ユニット63とホスト機器との間の通信で用いられる特権コマンドを説明するための図である。
図41に示すように、特権コマンドには、初期化コマンド、時計セットコマンド、監視間隔時間設定コマンド、記録開始時間設定コマンド、モード記録設定コマンド、秘密鍵設定コマンドがある。
[初期化コマンド]
初期化コマンドは、ホスト機器が24hドア監視ユニット63に初期化を要求する際にホスト機器から24hドア監視ユニット63に送信されるコマンドである。初期化コマンドのIDは、「SI」である。
初期化コマンドを受信した24hドア監視ユニット63は、当該コマンドを受信した旨を示す初期化アンサをホスト機器に送信する。また、24hドア監視ユニット63は、監視間隔時間設定及び記録開始時間設定を初期化する。具体的には、24hドア監視ユニット63は、EEPROM305に記憶されている監視間隔時間に対応するカウント数及び記録開始時間に対応するカウント数をクリアする。また、RAM304に記憶されている監視間隔カウンタの値及び記録開始時間カウンタの値をクリアする。
[時計セットコマンド]
時計セットコマンドは、ホスト機器が24hドア監視ユニット63に年、月、日、時、分、秒そして曜日の設定を要求するときにホスト機器から24hドア監視ユニット63に送信されるコマンドである。時計セットコマンドのIDは、「ST」である。時計セットコマンドには、ホスト機器が備えるRTCから取得した年、月、日、時、分、秒そして曜日を示す情報が含まれる。
時計セットコマンドを受信した24hドア監視ユニット63は、当該コマンドを受信した旨を示す日時設定アンサをホスト機器に送信する。また、24hドア監視ユニット63は、時計セットコマンドに含まれる年、月、日、時、分、秒そして曜日を示す情報に基いて、RTC301の年、月、日、時、分、秒そして曜日を設定する(後述の図54のステップS484参照)。このように、24hドア監視ユニット63の制御LSI300は、監視側計時設定手段を構成する。
[監視間隔時間設定コマンド]
監視間隔時間設定コマンドは、ホスト機器が24hドア監視ユニット63に監視間隔時間の設定を要求するときにホスト機器から24hドア監視ユニット63に送信されるコマンドである。監視間隔時間設定コマンドのIDは、「SA」である。監視間隔時間設定コマンドには、監視間隔時間を示す情報(カウント数)が含まれる。
監視間隔時間設定コマンドを受信した24hドア監視ユニット63は、当該コマンドを受信した旨を示す監視間隔時間設定アンサをホスト機器に送信する。また、24hドア監視ユニット63は、監視間隔時間設定コマンドに含まれる監視間隔時間を示す情報(カウント数)に基いて、監視間隔時間を設定する。具体的には、24hドア監視ユニット63は、受信したカウント数を、EEPROM305における監視間隔時間格納領域に記憶させる。なお、当該領域に既に監視間隔時間に対応するカウント数が記憶されている場合は、今回記憶させる監視間隔時間に対応するカウント数を上書きする。
[記録開始時間設定コマンド]
記録開始時間設定コマンドは、ホスト機器が24hドア監視ユニット63に記録開始時間の設定を要求するときにホスト機器から24hドア監視ユニット63に送信されるコマンドである。記録開始時間設定コマンドのIDは、「SB」である。記録開始時間設定コマンドには、記録開始時間を示す情報(カウント数)が含まれる。
記録開始時間設定コマンドを受信した24hドア監視ユニット63は、当該コマンドを受信した旨を示す記録開始時間設定アンサをホスト機器に送信する。また、24hドア監視ユニット63は、記録開始時間設定コマンドに含まれる記録開始時間を示す情報(カウント数)に基いて、記録開始時間を設定する。具体的には、24hドア監視ユニット63は、受信したカウント数を、EEPROM305における記録開始時間格納領域に記憶させる。なお、当該領域に既に記録開始時間に対応するカウント数が記憶されている場合は、今回記憶させる記録開始時間に対応するカウント数を上書きする。
[記録モード設定コマンド]
記録モード設定コマンドは、ホスト機器が24hドア監視ユニット63に記録モード(「常時記録モード」又は「無記録モード」)の設定を要求するときにホスト機器から24hドア監視ユニット63に送信されるコマンドである。記録モード設定コマンドのIDは、「SC」である。記録モード設定コマンドには、記録モードを示す情報が含まれる。
記録モード設定コマンドを受信した24hドア監視ユニット63は、当該コマンドを受信した旨を示す記録モード設定アンサをホスト機器に送信する。また、24hドア監視ユニット63は、記録モード設定コマンドに含まれる記録モードを示す情報に基いて、記録モードを設定する。具体的には、24hドア監視ユニット63は、EEPROM305の記録モード格納領域に、開閉履歴情報を常時記録させる「常時記録モード」又は、記録しない「無記録モード」を示す情報を記憶させる。
[秘密鍵設定コマンド]
秘密鍵設定コマンドは、ホスト機器が24hドア監視ユニット63に秘密鍵の設定を要求するときにホスト機器から24hドア監視ユニット63に送信されるコマンドである。秘密鍵設定コマンドのIDは、「SW」である。秘密鍵設定コマンドには、16桁の英数字からなる秘密鍵が含まれる。
秘密鍵設定コマンドを受信した24hドア監視ユニット63は、秘密鍵設定コマンドに含まれる秘密鍵を、EEPROM305の秘密鍵格納領域に記憶させる(上書きする)。そして、秘密鍵設定コマンドに含まれる秘密鍵データとEEPROM305に記憶されていうる秘密鍵とが一致するか否かの判定に基づいて、設定結果OKかNGか、を示すアンサをホスト機器に送信する。例えば、EEPROM305に障害が発生していて、秘密鍵設定コマンドに含まれる秘密鍵を、EEPROM305に正常に記憶させることができなかった場合は、秘密鍵設定コマンドに含まれる秘密鍵とEEPROM305に記憶されていうる秘密鍵とが一致しない。この場合は、設定結果NGの旨のアンサを送信する。
<一般コマンド>
次に、図42を参照して一般コマンドについて説明する。図42は、24hドア監視ユニット63とホスト機器と間の通信で用いられる一般コマンドを説明するための図である。
図42に示すように、一般コマンドには、シリアルIDコマンド、バージョン要求コマンド、乱数コマンド、ログインコマンド、ログアウトコマンド、時計読出コマンド、最新番号コマンド、開閉履歴情報読出コマンド、開閉履歴情報数コマンド、そしてステータス読出コマンドがある。
[シリアルIDコマンド]
シリアルIDコマンドは、ホスト機器が24hドア監視ユニット63に24hドア監視ユニット63のシリアルIDの送信を要求するときにホスト機器から24hドア監視ユニット63に送信されるコマンドである。シリアルIDコマンドのIDは、「CR」である。
シリアルIDコマンドを受信した24hドア監視ユニット63は、EEPROM305に記憶されているシリアルIDをホスト機器に送信(返信)する。ホスト機器は、シリアルIDを受信すると、受信したシリアルIDと、ホスト機器が有する不揮発性の記憶装置に記憶されたシリアルIDとを比較する。
[バージョン要求コマンド]
バージョン要求コマンドは、ホスト機器が24hドア監視ユニット63に24hドア監視ユニット63のプログラムバージョンの送信を要求するときにホスト機器から24hドア監視ユニット63に送信されるコマンドである。バージョン要求コマンドのIDは、「CV」である。
バージョン要求コマンドを受信した24hドア監視ユニット63は、EEPROM305に記憶されているプログラムバージョンをホスト機器に送信(返信)する。ホスト機器は、プログラムバージョンを受信すると、受信したプログラムバージョンと、ホスト機器が有する不揮発性の記憶装置に記憶されたプログラムバージョンとを比較する。
[乱数コマンド]
乱数コマンドは、ホスト機器が24hドア監視ユニット63に乱数値の送信を要求するときにホスト機器から24hドア監視ユニット63に送信されるコマンドである。乱数コマンドのIDは、「CK」である。
乱数コマンドを受信した24hドア監視ユニット63は、乱数発生回路308から取得した値を用いて規定の演算を行い8桁の乱数を発生させ、発生させた乱数値をホスト機器に送信(返信)する。また、24hドア監視ユニット63は、発生させた乱数値を、RAM304の乱数格納領域に記憶させる。ホスト機器は、乱数値を受信すると、受信した乱数値をホスト機器に設けられた揮発性の記憶装置に記憶させる。
[ログインコマンド]
ログインコマンドは、ホスト機器が24hドア監視ユニット63に、特権コマンドに基く各種設定を要求できる状態に設定すること、すなわちログインを、要求するときに、ホスト機器から24hドア監視ユニット63に送信されるコマンドである。ログインコマンドのIDは、「CI」である。
ログインコマンドを受信した24hドア監視ユニット63は、ログインコマンドに含まれる16桁のパスワードと、RAM304のパスワード格納領域に記憶されているパスワードが一致するか否かを判別し、一致する場合はログイン許可(OK)の旨のアンサを送信(返信)する。一方、一致しない場合はログイン不許可(NG)の旨のアンサを送信(返信)する。
[ログアウトコマンド]
ログアウトコマンドは、ホスト機器が24hドア監視ユニット63に、特権コマンドに基く各種設定を要求できない状態に設定すること、すなわちログアウト、を要求するときにホスト機器から24hドア監視ユニット63に送信されるコマンドである。ログアウトコマンドのIDは、「CO」である。
ログアウトコマンドを受信した24hドア監視ユニット63は、ログアウトを行う。具体的には、RAM304のログインフラグをOFFに設定(クリア)する。なお、後述するように、24hドア監視ユニット63は、ログイン状態のときに一般コマンドを受信すると、ログインフラグをOFFに設定(クリア)する(図53のステップS477参照)。そして、ログアウトした旨を示すアンサ(ログアウトアンサ)をホスト機器に送信する。
[時計読出コマンド]
時計読出コマンドは、ホスト機器が24hドア監視ユニット63のRTC301が計時する現在時刻の読出を要求するときにホスト機器から24hドア監視ユニット63に送信されるコマンドである。時計読出コマンドのIDは、「CT」である。時計読出コマンドを受信した24hドア監視ユニット63は、RTC301が計時する現在時刻(監視側時刻)をホスト機器に送信(返信)する。このように、24hドア監視ユニット63の制御LSI300は、監視側時刻送信手段を構成する。
[最新番号コマンド]
最新番号コマンドは、ホスト機器が、24hドア監視ユニット63に、最新の開閉履歴情報が記憶されている開閉履歴格納領域の番号である最新番号の送信を要求するときにホスト機器から24hドア監視ユニット63に送信されるコマンドである。最新番号コマンドのIDは、「CN」である。
最新番号コマンドを受信した24hドア監視ユニット63は、EEPROM305の最新番号格納領域を参照し、最新番号をホスト機器に送信(返信)する。最新番号を受信したホスト機器は、ホスト機器が有する不揮発性の記憶装置に既に記憶されている最新番号と、受信した最新番号とを比較し、これらが一致しない場合、受信した最新番号を不揮発性の記憶装置に記憶させる(上書きする)。
[開閉履歴情報読出コマンド]
開閉履歴情報読出コマンドは、ホスト機器が24hドア監視ユニット63に記憶されている開閉履歴情報の送信を要求するときにホスト機器から24hドア監視ユニット63に送信されるコマンドである。開閉履歴情報読出コマンドのIDは、「CB」である。
開閉履歴情報読出コマンドを受信した24hドア監視ユニット63は、開閉履歴情報読出コマンドに含まれる番号に対応するEEPROM305の開閉履歴格納領域に記憶されている開閉履歴情報をホスト機器に送信(返信)する。開閉履歴情報を受信したホスト機器は、受信した開閉履歴を不揮発性の記憶装置に記憶させる。
[開閉履歴情報数コマンド]
開閉履歴情報数コマンドは、ホスト機器が24hドア監視ユニット63に、24hドア監視ユニット63に記憶されている開閉履歴情報の数の送信を要求するときにホスト機器から24hドア監視ユニット63に送信されるコマンドである。開閉履歴情報数コマンドのIDは、「CC」である。
開閉履歴情報数コマンドを受信した24hドア監視ユニット63は、EEPROM305の履歴カウンタ格納領域を参照し、履歴カウンタの値をホスト機器に送信(返信)する。履歴カウンタの値を受信したホスト機器は、ホスト機器が有する不揮発性の記憶装置に既に記憶されている履歴カウンタの値と、受信した履歴カウンタの値とを比較し、これらが一致しない場合、受信した履歴カウンタの値を不揮発性の記憶装置に記憶させる(上書きする)。
[ステータス読出コマンド]
ステータス読出コマンドは、ホスト機器が24hドア監視ユニット63に、フロントドア2bの開閉状態やミドルドア41の開閉状態等、すなわちステータスの送信を要求するときにホスト機器から24hドア監視ユニット63に送信されるコマンドである。ステータス読出コマンドのIDは、「CS」である。
ステータス読出コマンドを受信した24hドア監視ユニット63は、RAM304の第1検知結果格納領域に記憶されている開閉履歴情報、及び、EEPROM305に記憶されている自己診断チェック結果、最終通信履歴、通常モード設定、ドア設定をホスト機器に送信(返信)する。
なお、一般コマンドの送信に対応して24hドア監視ユニット63から受信した各種情報(シリアルID、プログラムバージョン、乱数値、開閉履歴情報番号、開閉履歴情報、開閉履歴情報数)は、例えば、ホスト機器が副制御基板72の場合は、サブDRAM103aやサブSRAM103bに記憶される。また、ホスト機器が設定機(例えば、コンピュータ400)の場合は、設定機が備えるハードディスクやRAMに記憶される。また、受信した各種情報が記憶される記憶装置は、これに限らず、周知の書き換え可能な記憶装置を適宜選択可能である。
<通信フォーマット>
次に、24hドア監視ユニット63とホスト機器と間の通信フォーマットについて、図43を参照して説明する。図43は、24hドア監視ユニット63とホスト機器と間の通信フォーマットを説明するための図であり、図43Aは、通信フォーマットの概要を説明するための図であり、図43Bは、24hドア監視ユニット63からホスト機器へ乱数を送信する際の通信データの態様の一例を示す図である。
図43Aに示すように、本実施形態において、通信データは、ASCIIコードの形式で送信される。通信データの先頭には通信伝文中のテキスト部分の開始を表す制御文字であるSTX(Start of TeXt)が配置される。STXの後方には、通信によって送受信される情報(TEXT)が配置される。TEXTの後方には、通信伝文中のテキスト部分の終了を表す制御文字であるETX(End of TeXt)が配置される。そして、ETXの後方には、TEXTの値の合計値に基く2桁のサム値が配置される。従って、本実施形態における通信データは、1バイトのSTX,0~52バイト(送受信される情報によって異なる)のTEXT、1バイトのETX、2バイトのサム値からなる。
なお、図43Aに示す通信フォーマットは、ホスト機器から24hドア監視ユニット63へコマンドを送信する際だけでなく、ホスト機器から送信されたコマンドに応じて24hドア監視ユニット63がホスト機器へ返信するアンサにおいても用いられる。例えば、ホスト機器から送信された乱数コマンド(CK)に応じて24hドア監視ユニット63がホスト機器へ返信するアンサの例を図43B(24hドア監視ユニット63が「12345678」の乱数を生成した場合の例)に示す。図43Bに示すように、このアンサは、先頭にSTX(02H)に対応するASCIIコードが配置され、STXの後方には、乱数コマンドのアンサであることを示す乱数コマンドのID「CK」に対応するASCIIコードが配置される。また、その後方には、乱数の値である「12345678」に対応する8桁のASCIIコードが配置され、その後方には、ETX(03H)に対応するASCIIコード、そしてサム値に対応するASCIIコードが配置される。
<シーケンス>
次に、コマンドの送信順を規定するシーケンスについて、図44を参照して説明する。シーケンスは、処理のパターンごとに定義され、それぞれがシーケンステーブルに格納されている。シーケンステーブルは、ホスト機器の不揮発性の記憶装置、例えばホスト機器が副制御基板72の場合はロムカートリッジ基板86に、また、ホスト機器が設定機(例えば、コンピュータ400)の場合は、ハードディスク等に記憶されている。
シーケンステーブルは、複数のシーケンスを規定している。シーケンスは、少なくとも一つの一般コマンド又は特権コマンドからなる。ホスト機器が行う所定の処理において、シーケンスが実行されると、シーケンスを構成するコマンドがホスト機器から24hドア監視ユニット63に送信される。シーケンステーブルは、シーケンスを構成するコマンドが複数ある場合は、コマンドの送信順も規定する。なお、いずれのシーケンスにおいても、ホスト機器は、シーケンスにおける後順のコマンドを、前順のコマンドに対応するアンサや情報を24hドア監視ユニット63から受信した後に、送信する。
シーケンステーブルには、例えば、接続確認シーケンス、初期化シーケンス、設定読出シーケンス、起動シーケンス、第1状態検知シーケンス、履歴取得シーケンス、全履歴取得シーケンス、時計セットシーケンス、監視間隔時間設定シーケンス、記録開始時間設定シーケンスが規定されている。また、記録モード設定シーケンス、秘密鍵設定シーケンス、一括設定シーケンス、第2状態検知シーケンス等が規定されている。
接続確認シーケンスは、本実施形態に係るコンピュータ400で実行されるドア監視ユニット初期化ツールによって接続確認の指示があった場合に実行されるシーケンスであり、例えば、シリアルIDコマンド(CR)を、コマンドを24hドア監視ユニット63に送信する。
初期化シーケンスは、本実施形態に係るコンピュータ400で実行されるドア監視ユニット初期化ツールによって初期化の指示があった場合に実行されるシーケンスであり、例えば、乱数コマンド(CK)、ログインコマンド(CI)、初期化コマンド(SI)、秘密鍵設定コマンド(SW)、記録開始時間設定コマンド(SB)、時計セットコマンド(ST)の順で、コマンドを24hドア監視ユニット63に送信する。
設定読出シーケンスは、本実施形態に係るコンピュータ400で実行されるドア監視ユニット設定読出ツールによって設定読出指示があった場合に実行されるシーケンスであり、例えば、バージョン要求コマンド(CV)、シリアルIDコマンド(CR)、時計読出要求コマンド(CT)、ステータス読出コマンド(CS)、開閉履歴情報数コマンド(CC)、最新番号コマンド(CN)、開閉履歴情報読出コマンド(CB)の順で、コマンドを24hドア監視ユニット63に送信する。
その他同様に、起動シーケンス等の他のシーケンスについて、コマンドの内容、及びコマンドの送信順が定義される。
<ドア監視ユニット初期化ツールによる接続確認・初期化のシーケンス>
次に、コンピュータ400で実行されるドア監視ユニット初期化ツールにおいて接続確認と初期化の指示が行われた場合に、上記のシーケンスに基づいて24hドア監視ユニット63に送信されるコマンドの送信順と処理について、図44を参照して説明する。
この処理において、コンピュータ400は、シーケンステーブルを参照し、接続確認シーケンスを実行し、その後、初期化指示がされたところで、初期化シーケンスを実行する。
まず、接続確認シーケンスに従って、コンピュータ400が、シリアルIDコマンド(CR)を24hドア監視ユニット63に送信する。シリアルIDコマンドを受信した24hドア監視ユニット63は、EEPROM305に記憶されているシリアルIDをコンピュータ400に送信(返信)する。これによって、コンピュータ400のドア監視ユニット初期化ツールは、シリアルIDを取得したことで、24hドア監視ユニット63と接続できたと判断し、接続確認結果表示部625に接続OKの表示を行う(図36B参照)。
次に、初期化シーケンスに従って、コンピュータ400が、乱数コマンド(CK)を24hドア監視ユニット63に送信する。乱数コマンドを受信した24hドア監視ユニット63は、乱数を発生させ、発生させた乱数値をホスト機器に送信(返信)する。
また、24hドア監視ユニット63は、発生させた乱数値を、RAM304の乱数格納領域に記憶させる。また、24hドア監視ユニット63は、EEPROM305の秘密鍵格納領域から初期値の秘密鍵を読み出し、読み出した秘密鍵とRAM304の乱数格納領域に記憶させた乱数値とを用いて、所定の演算を行ってパスワードを生成する。そして、生成したパスワードをRAM304のパスワード格納領域に記憶させる。
一方、コンピュータ400は、24hドア監視ユニット63から乱数値を受信すると、受信した乱数値と、記憶している初期秘密鍵からパスワードを生成する。なお、コンピュータ400には、EEPROM305に記憶されていた初期値の秘密鍵と同じ秘密鍵が予め記憶されている。
次に、コンピュータ400は、ログインコマンド(CI)を24hドア監視ユニット63に送信する。ログインコマンドには、コンピュータ400が生成したパスワードが含まれている。
コンピュータ400からログインコマンドを受信した24hドア監視ユニット63は、ログインコマンドに含まれるパスワードと、RAM304のパスワード格納領域に記憶されているパスワードが一致するか否かを判別し、一致する場合はログイン許可(OK)の旨、一致しない場合はログイン不許可(NG)の旨のアンサを送信(返信)する。
コンピュータ400は、24hドア監視ユニット63からログイン不許可の旨のアンサを受信した場合、図36Bの初期化指示画面621において、ステータス表示部629に「初期化NG」の表示を行う。24hドア監視ユニット63からログイン許可の旨のアンサを受信した場合、コンピュータ400は、24hドア監視ユニット63のリセットを行うため、初期化コマンド(SI)を24hドア監視ユニット63に送信する。
初期化コマンドを受信した24hドア監視ユニット63は、EEPROM305に記憶されている監視間隔時間と記録開始時間をクリアする。そして、初期化コマンドの結果がOKかNGか、を示すアンサをコンピュータ400に送信する。
コンピュータ400は、24hドア監視ユニット63からNGのアンサを受信した場合、図36Bの初期化指示画面621において、ステータス表示部629に「初期化NG」の表示を行う。24hドア監視ユニット63からOKのアンサを受信した場合、コンピュータ400は、秘密鍵設定コマンド(SW)を24hドア監視ユニット63に送信する。秘密鍵設定コマンドには、変更に係る秘密鍵が含まれており、これが暗号化キーファイルから復号化により取得した暗号化キーである。
秘密鍵設定コマンドを受信した24hドア監視ユニット63は、秘密鍵設定コマンドに含まれる秘密鍵を、EEPROM305の秘密鍵格納領域に記憶する(上書きする)。そして、秘密鍵設定の結果がOKかNGか、を示すアンサをコンピュータ400に送信する。
コンピュータ400は、24hドア監視ユニット63からNGのアンサを受信した場合、図36Bの初期化指示画面621において、ステータス表示部629に「初期化NG」の表示を行う。24hドア監視ユニット63からOKのアンサを受信した場合、コンピュータ400は、記録開始時間設定コマンド(SB)を24hドア監視ユニット63に送信する。
記録開始時間設定コマンドを受信した24hドア監視ユニット63は、記録開始時間設定コマンドに含まれる記録開始時間を、EEPROM305の記録開始時間格納領域に記憶する(上書きする)。そして、記録開始時間設定アンサをコンピュータ400に送信する。
次に、コンピュータ400は、時計セットコマンド(ST)を24hドア監視ユニット63に送信する。時計セットコマンドを受信した24hドア監視ユニット63は、時計セットコマンドに含まれる年、月、日、時、分、秒、曜日を示す情報に基いて、RTC301の年、月、日、時、分、秒、曜日を設定する。そして、日時セットアンサをコンピュータ400に送信する。
なお、初期化コマンド(SI)では、EEPROM305に記憶されている監視間隔時間と記録開始時間がクリアされるため、その後に、監視間隔時間設定コマンド(SA)と記録開始時間設定コマンド(SB)が24hドア監視ユニット63が送信されるべきであるが、図44に示す初期化シーケンスの例では、監視間隔時間設定コマンド(SA)についての記載を省略した。
また、初期化シーケンスでは、図44に示すように、コンピュータ400が24hドア監視ユニット63に対し、特権コマンドに基づく各種設定を要求できるようログインコマンド(CI)を送信してログインを行っているが、このログインに対応して必要とされるログアウトコマンド(CO)については、記載を省略した。
なお、本実施形態では、24hドア監視ユニット63とコンピュータ400との間で乱数を交換し、この乱数と初期秘密鍵(又は、初期秘密鍵の代わりに記憶される秘密鍵(暗号化キー))とによって、24hドア監視ユニット63において特権コマンドが利用可能となるログインパスワードが生成されるように構成されているが、乱数の交換を行わずに、例えば、暗号化キーそのものをログインパスワードとして使用するように設計することもできる。
<ドア監視ユニット初期化ツールによる設定読出のシーケンス>
次に、コンピュータ400で実行されるドア監視ユニット設定読出ツールにおいて設定読出の指示が行われた場合に、上記のシーケンスに基づいて24hドア監視ユニット63に送信されるコマンドの送信順と処理について、図45を参照して説明する。
この処理において、コンピュータ400は、シーケンステーブルを参照し、設定読出シーケンスを実行する。
まず、設定読出シーケンスに従って、コンピュータ400が、ステータス読出コマンド(CS)を24hドア監視ユニット63に送信する。ステータス読出コマンドを受信した24hドア監視ユニット63は、RAM304の第1検知結果格納領域に記憶されている開閉履歴情報、及び、EEPROM305に記憶されている自己診断チェック結果、最終通信履歴、通常モード設定、ドア設定等の値を含むステータスアンサをコンピュータ400に送信(返信)する。
次に、コンピュータ400が、シリアルIDコマンド(CR)を24hドア監視ユニット63に送信する。シリアルIDコマンドを受信した24hドア監視ユニット63は、EEPROM305に記憶されているシリアルIDをシリアルIDアンサとしてコンピュータ400に送信(返信)する。これによって、コンピュータ400のドア監視ユニット設定読出ツールは、設定値表示部656のシリアルIDの表示領域に、取得したシリアルIDを表示するよう制御する。
以降、同様に、コンピュータ400から24hドア監視ユニット63にコマンドが送信され、RAM304やEEPROM305から、対応する設定値等が取得され、コンピュータ400に送信される。
なお、図45に示した設定読出シーケンスには、全履歴取得シーケンスが含まれており、全履歴取得シーケンスは、開閉履歴情報数コマンド(CC)、最新番号コマンド(CN)、開閉履歴情報読出コマンド(CB)で構成され、コンピュータ400は、受信した開閉履歴情報数と最新番号から、開閉履歴情報を取得する先の(EEPROM305の)開閉履歴情報格納領域の番号を特定する。
そして、コンピュータ400は、特定した開閉履歴情報格納領域の番号が付された開閉履歴情報格納領域の全てから開閉履歴情報を取得するまで、開閉履歴情報読出コマンド(CB)の送信を繰り返す(ループする)。
その結果、コンピュータ400で実行されるドア監視ユニット設定読出ツールは、図37に示すような設定表示画面651を表示する。
<ドア監視ユニット暗号化キー作成ツールの処理>
次に、図46のフローチャートを参照して、外部コンピュータ(コンピュータ400)において実行されるドア監視ユニット暗号化キー作成ツールの暗号化処理の例を概略説明する。
最初に、ステップS301において、例えば、図34Aに示す暗号化キー作成画面601の暗号化キー入力部603に、ユーザによって暗号化キーが入力されたか否かを判定する。暗号化キーが入力されていない場合(ステップS301のNO)、ステップS301に戻り、この処理を繰り返す。なお、入力された暗号化キーは、入力されたそのままの値を暗号化キー入力部503に表示させるようにしてもよいし、入力された際に、表示上は、他の文字に変換されるようにしてもよい。
次に、ステップS302において、入力された暗号化キーに基づいてチェックサムが計算され、図34Bに示す暗号化キー作成画面601のチェックサム表示部605に、計算したチェックサムの値を表示する。
次に、ステップS303において、暗号化キーファイルの作成を指示する作成ボタン(図34Bに示す暗号化キー作成画面601の作成指示ボタン607)が押下されたか否かを判定する。作成ボタンが押下されていない場合(ステップS303のNO)、ステップS303に戻り、この処理を繰り返す。
作成ボタンが押下されている場合(ステップS303のYES)、ステップS304において、暗号化キーを暗号化し、暗号化キーファイルを作成する。この暗号化キーファイルは、例えば、XML形式のファイルであり、暗号化された暗号化キーを含むほか、上述したチェックサムの値や、作成日時を含むようにすることができる。
次に、ステップS305において、作成した暗号化キーファイルを、所定の記憶媒体(例えば、ハードディスクや半導体メモリ等で構成される外部記憶装置413、可搬型のフラッシュメモリ等の外部記録媒体430)に記憶し、ステップS306において、暗号化キーファイルの作成が完了した旨のメッセージを図34Bに示す暗号化キー作成画面601の所定のエリアに表示する。
<ドア監視ユニット初期化ツールの処理>
次に、図47のフローチャートを参照して、外部コンピュータ(コンピュータ400)において実行されるドア監視ユニット初期化ツールの初期化処理の例を概略説明する。
最初に、ステップS321において、24hドア監視ユニット63からコマンドのアンサを受信したか否かを判定する。コマンドのアンサを受信した場合(ステップS321のYES)、ステップS322において、受信アンサが「シリアルIDアンサ」であるか否かを判定する。受信アンサが「シリアルIDアンサ」である場合(ステップS322のYES)、ステップS323において、接続フラグをONにする。また、この場合に、例えば、図36Bに示す初期化指示画面621の接続確認結果表示部625に「接続OK」の表示を行うよう制御する。ステップS323の処理の後、ステップS321の判定に戻る。
受信アンサが「シリアルIDアンサ」でない場合(ステップS322のNO)、ステップS324において、受信アンサが「乱数アンサ」であるか否かを判定する。受信アンサが「乱数アンサ」である場合(ステップS324のYES)、ステップS325において、受信した乱数と初期秘密鍵に基づいて、ログインパスワードを生成する。その後、初期化シーケンスに従って、当該ログインパスワードを含むログインコマンドを24hドア監視ユニット63に送信する(ステップS326)。ステップS326の処理の後、ステップS321の判定に戻る。
受信アンサが「乱数アンサ」でない場合(ステップS324のNO)、ステップS327において、受信アンサが「ログインアンサ」であるか否かを判定する。受信アンサが「ログインアンサ」である場合(ステップS327のYES)、ステップS328において、アンサの内容がログイン許可であるか否かを判定する。アンサの内容がログイン許可でない場合(ステップS328のNO)、図36Bに示す初期化指示画面621の接続確認結果表示部625に「接続NG」の表示を行うよう制御する。ステップS329の処理の後、ステップS321の判定に戻る。
一方、アンサの内容がログイン許可である場合(ステップS328のYES)、初期化シーケンスに従って、ステップS330において、ステップS338で復号化された暗号化キーファイル(暗号化キー)を含んだ秘密鍵設定コマンドを24hドア監視ユニット63に送信する(ステップS326)。なお、この秘密鍵設定コマンドに対するアンサ(秘密鍵設定アンサ)がNGの場合、図36Bに示す初期化指示画面621の接続確認結果表示部625に「接続NG」の表示を行うよう制御するが、ここでは省略する。
ステップS330の処理の後、記録開始時間設定コマンドを24hドア監視ユニット63に送信し(ステップS331)、次に、時計セットコマンドを24hドア監視ユニット63に送信する(ステップS332)。ここで、24hドア監視ユニット63の初期化が正常に完了し、ステップS333において、図36Bに示す初期化指示画面621の接続確認結果表示部625に「接続OK」の表示を行うよう制御する。受信アンサが「ログインアンサ」でない場合(ステップS327のNO)、又はステップS323の処理の後、ステップS321の判定に戻る。
24hドア監視ユニット63からアンサを受信していない場合(ステップS321のNO)、ステップS334に進み、そこで、ドア監視ユニット初期化ツールにおいて、接続確認指示(図36Aに示す初期化指示画面621における接続確認ボタン624の押下)がされたか否かを判定する。接続確認指示がされている場合(ステップS334のYES)、ステップS335において、接続確認シーケンスに従い、シリアルIDコマンドを24hドア監視ユニット63に送信する。ステップS335の処理の後、ステップS321の判定に戻る。
接続確認指示がされていない場合(ステップS334のNO)、ステップS336に進み、ドア監視ユニット初期化ツールにおいて、暗号化キーファイルに関するファイル読込指示がされたか否かを判定する。ファイル読込指示は、例えば、図36Aに示すドア監視ユニット初期化ツールの初期化指示画面621が表示される前の、初期化メニュー画面(不図示)において、ファイル読込指示画面を表示するよう指示し、表示されたファイル読込指示画面において、初期化に用いる暗号化キーファイルを指定することによって行われる。
暗号化キーファイルに関するファイル読込指示がされた場合(ステップS336のYES)、ステップS337において、指定された暗号化キーファイルを読み込み、次に、ステップS338において、読み込んだ暗号化キーファイルを復号化する。ステップS338の後、ステップS321の判定に戻る。
暗号化キーファイルに関するファイル読込指示がされていない場合(ステップS336のNO)、ステップS339において、ドア監視ユニット初期化ツールで、初期化指示がされたか否か、すなわち、初期化ボタン628(図36A参照)が押下されたか否かを判定する。初期化指示がされている場合(ステップS339のYES)、ステップS340において、接続フラグがONか否かを判定する。
接続フラグがONであると判定された場合(ステップS340のYES)、すなわち、24hドア監視ユニット63から正常にシリアルIDを受信している場合、ステップS341において、初期化シーケンスに基づき、乱数コマンドを24hドア監視ユニット63に送信する。ステップS341の後、ステップS321の判定に戻る。
接続フラグがONであると判定されなかった場合(ステップS340のNO)、24hドア監視ユニット63との接続が正常に確立されていないとして、ドア監視ユニット初期化ツールで、その旨のエラーメッセージを表示する(ステップS342)。ステップS342の後、ステップS321の判定に戻る。
なお、図47に示す例では、ドア監視ユニット暗号化キー作成ツールで作成された暗号化キーファイルが一旦復号化されて元の暗号化キーが取得された後、この暗号化キーが、上述した別の暗号鍵で暗号化され、24hドア監視ユニット63に送信されるように構成される。
また、24hドア監視ユニット63から受信するアンサについても、上述した別の暗号鍵による暗号化がされているものとするが、図47のフローチャートでは、当該アンサに関する(別の暗号鍵を用いた)復号化処理については省略した。
なお、図44に関連して説明した通り、ここでも、監視間隔時間設定コマンド(SA)の送信処理とアンサの受信処理、及びログアウトコマンド(CO)の送信処理とアンサの受信処理については省略した。
<ドア監視ユニットが行う各種処理>
次に、図48のフローチャートを参照して、24hドア監視ユニット63において実行される処理の例を概略説明する。24hドア監視ユニット63は、副制御回路101が接続されている場合でも、コンピュータ400に接続されている場合でも同様に、図48に示す処理を実行することができるが、接続先を判断して、各接続先に応じた処理を行うよう制御することもできる。24hドア監視ユニット63は、コンピュータ400に接続されている場合は、上述の通り、接続確認シーケンス、初期化シーケンス、設定読出シーケンスに基づいて、コンピュータ400から受信したコマンドに応じて、対応する処理を行う。
[ドア監視ユニットメイン処理]
まず、制御LSI300が行うドア監視ユニットメイン処理について、図48を参照して説明する。図48は、本実施形態におけるドア監視ユニットメイン処理の例を示すフローチャートである。
ドア監視ユニットメイン処理において、制御LSI300は、まず、起動時初期化処理を行う(ステップS401)。起動時初期化処理において、制御LSI300は、EEPROM305に記憶されている監視間隔時間に対応するカウント数及び記録開始時間に対応するカウント数をクリアする。また、RAM304に記憶されている監視間隔カウンタの値及び記録開始時間カウンタの値をクリアする。
次いで、制御LSI300は、ポート入力処理を行う(ステップS402)。ポート入力処理において、制御LSI300は、フロントドア2bが開放状態か閉止状態かを示す情報をI/Oポート回路309の入力ポートから取得し、取得した情報をRAM304に記憶する。
次いで、制御LSI300は、ドア監視処理を行う(ステップS403)。ドア監視処理では、制御LSI300は、開閉履歴情報をEEPROM305に記憶させる。ドア監視処理の具体的な内容は、後で図49を参照して説明する。
次いで、制御LSI300は、受信処理を行う(ステップS404)。受信処理では、制御LSI300は、後述する受信割込み処理(図52参照)でホスト機器(例えば、コンピュータ400)から受信したコマンドに応じた各種処理を行う。受信処理の具体的な内容は、後で図53を参照して説明する。
次いで、制御LSI300は、送信処理を行う(ステップS405)。送信処理では、制御LSI300は、ホスト機器に各種アンサを送信する。送信処理の具体的な内容は、後で図56を参照して説明する。
次いで、制御LSI300は、周期ウェイト処理を行う(ステップS406)。周期ウェイト処理では、制御LSI300は、前回の周期ウェイト処理から20msec経過したか否かを判別し、経過していない場合は経過するまで、次の処理(ステップS407)への移行を保留し、経過してから処理をステップS407に移行させる。このため、制御LSI300が実行する各種処理における各種カウンタに1を加算する処理は、20msec毎に1回実行されることになる。なお、制御LSI300が実行する各種処理における各種カウンタに1を加算する処理には、ドア監視ユニットメイン処理の後述するステップS408、後述するドア監視処理(図49参照)のステップS424がある。
次いで、制御LSI300は、RAM304の記録開始時間カウンタ格納領域及びEEPROM305の記録開始時間格納領域を参照し、記録開始時間カウンタの値が記録開始時間に対応するカウント数未満か否かを判別する(ステップS407)。ステップS407において、記録開始時間カウンタの値が記録開始時間に対応するカウント数未満でないと判別したとき(ステップS407がNO判定の場合)、制御LSI300は、処理をステップS402に移行し、ステップS402以降の処理を繰り返す。
一方、ステップS407において、記録開始時間カウンタの値が記録開始時間に対応するカウント数未満と判別したとき(ステップS407がYES判定の場合)、制御LSI300は、記録開始時間カウンタの値に1を加算する(ステップS408)。その後、制御LSI300は、処理をステップS402に移行し、ステップS402以降の処理を繰り返す。
[ドア監視処理]
次に、ドア監視ユニットメイン処理(図48参照)のステップS403におけるドア監視処理について、図49を参照して説明する。図49は、本実施形態におけるドア監視処理の例を示すフローチャートである。
ドア監視処理において、制御LSI300は、まず、ドア監視状態検知処理を行う(ステップS421)。ドア監視状態検知処理において、制御LSI300は、RAM304の入力ポート情報格納領域に記憶されている状態情報を第1検知結果格納領域や第2検知結果格納領域に記憶させる。ドア監視状態検知処理の具体的な内容は、後で図50を参照して説明する。
次いで、制御LSI300は、ドア監視記録判定処理を行う(ステップS422)。ドア監視記録判定処理において、制御LSI300は、開閉履歴情報をEEPROM305に記憶可能か否かを判定し、記録可能と判定する場合は、記録許可フラグをONに設定する(「1」をセットする)。一方、記録可能でないと判定する場合は、記録許可フラグをOFFに設定する(クリアする)。ドア監視記録判定処理の具体的な内容は、後で図25を参照して説明する。
次いで、制御LSI300は、記録許可フラグがONに設定されているか(「1」がセットされているか)否か、を判別する(ステップS423)。ステップS423において、記録許可フラグがOFFに設定されていると判別したとき(ステップS423がNO判定の場合)、制御LSI300は、ドア監視処理を終了し、処理をドア監視ユニットメイン処理(図48参照)のステップS404に戻す。
一方、ステップS423において、記録許可フラグがONに設定されていると判別したとき(ステップS423がYES判定の場合)、制御LSI300は、RAM304の監視間隔カウンタ格納領域に記憶されている監視間隔カウンタの値に1を加算する(ステップS424)。
次いで、制御LSI300は、RAM304の監視間隔カウンタの値が、EEPROM305の監視間隔時間格納領域に記憶されている監視間隔時間に対応するカウント数以上か否かを判別する(ステップS425)。ステップS425において、監視間隔カウンタの値が監視間隔時間に対応するカウント数未満と判別したとき(ステップS425がNO判定の場合)、制御LSI300は、ドア監視処理を終了し、処理をドア監視ユニットメイン処理(図48参照)のステップS404に戻す。
一方、ステップS425において、監視間隔カウンタの値が監視間隔時間に対応するカウント数以上と判別したとき(ステップS425がYES判定の場合)、制御LSI300は、監視間隔カウンタに0をセット(クリア)する(ステップS426)。
次いで、制御LSI300は、RAM304の状態変化フラグ格納領域に記憶されている状態変化フラグがONに設定されているか否かを判別する(ステップS427)。状態変化フラグは、後述のドア監視状態検知処理(図50参照)のステップS446でONに設定される。ステップS427において、状態変化フラグがOFFに設定されていると判別したとき(ステップS427がNO判定の場合)、制御LSI300は、ドア監視処理を終了し、処理をドア監視ユニットメイン処理(図48参照)のステップS404に戻す。
一方、ステップS427において、状態変化フラグがONに設定されていると判別したとき(ステップS427がYES判定の場合)、制御LSI300は、EEPROM305の最新番号格納領域に記憶されている最新番号が128以上か否かを判別する(ステップS428)。
ステップS427において、EEPROM305の最新番号格納領域に記憶されている最新番号が128以上であると判別したとき(ステップS428がYES判定の場合)、制御LSI300は、EEPROM305の最新番号格納領域に最新番号として「1」をセットする(ステップS429)。そして、制御LSI300は、処理をステップS431に移行する。
ステップS427において、EEPROM305の最新番号格納領域に記憶されている最新番号が128未満であると判別したとき(ステップS428がNO判定の場合)、制御LSI300は、EEPROM305の最新番号格納領域の値に「1」を加算する(ステップS430)。そして、制御LSI300は、処理をステップS431に移行する。
ステップS431の処理において、制御LSI300は、EEPROM305の履歴カウンタ格納領域に記憶されている履歴カウンタが128未満か否かを判別する(ステップS431)。ステップS431の処理において、履歴カウンタが128未満と判別したとき(ステップS431がYES判定の場合)、制御LSI300は、履歴カウンタに1を加算する(ステップS432)。そして、制御LSI300は、処理をステップS433に移行する。
一方、ステップS431の処理において、履歴カウンタが128未満でない判別したとき(ステップS431がNO判定の場合)、制御LSI300は、処理をステップS433に移行する。
ステップS433の処理において、制御LSI300は、EEPROM305の最新番号格納領域に記憶されている最新番号が付された開閉履歴情報格納領域に、RAM304の第2検知結果格納領域に記憶されている開閉履歴情報を記憶させる。
次いで、制御LSI300は、RAM304の状態変化フラグ格納領域に記憶されている状態変化フラグをOFFに設定する(ステップS434)。そして、制御LSI300は、ドア監視処理を終了し、処理をドア監視ユニットメイン処理(図48参照)のステップS404に戻す。
[ドア監視状態検知処理]
次に、ドア監視処理(図49参照)のステップS421におけるドア監視状態検知処理について、図50を参照して説明する。図50は、本実施形態におけるドア監視状態検知処理の例を示すフローチャートである。
ドア監視状態検知処理において、制御LSI300は、まず、RAM304の第1検知結果格納領域に記憶されている開閉履歴情報における状態情報(開放か閉止かを示す情報)と、RAM304の入力ポート情報格納領域に記憶されている状態情報と、が異なるか否かを判別する(ステップS441)。
ステップS441において、第1検知結果格納領域の状態情報と、入力ポート情報格納領域の状態情報と、が異ならない(一致する)と判別したとき(ステップS441がNO判定の場合)、制御LSI300は、ドア監視状態検知処理を終了し、処理をドア監視処理(図49参照)のステップS422に戻す。
ステップS441において、第1検知結果格納領域の状態情報と、入力ポート情報格納領域の状態情報と、が異なると判別したとき(ステップS441がYES判定の場合)、制御LSI300は、RTC301から現在時刻の日時情報を取得し、取得した日時情報と入力ポート情報格納領域の状態情報からなる開閉履歴情報を第1検知結果格納領域に記憶させる(ステップS442)。
次いで、制御LSI300は、RAM304の状態変化フラグ格納領域に記憶されている状態変化フラグがOFFに設定されているか否かを判別する(ステップS443)。ステップS443において、状態変化フラグがOFFに設定されていないと判別したとき(ステップS443がNO判定の場合)、制御LSI300は、ドア監視状態検知処理を終了し、処理をドア監視処理(図49参照)のステップS422に戻す。
一方、ステップS443において、状態変化フラグがOFFに設定されていると判別したとき(ステップS443がYES判定の場合)、制御LSI300は、EEPROM305の最新番号格納領域に記憶されている最新番号が付された開閉履歴情報格納領域に記憶されている開閉履歴情報の状態情報と、入力ポート情報格納領域の状態情報と、が異なるか否かを判別する(ステップS444)。
ステップS444の処理において、最新番号が付された開閉履歴情報格納領域に記憶されている開閉履歴情報の状態情報と、入力ポート情報格納領域の状態情報と、が異ならない(一致する)と判別したとき(ステップS444がNO判定の場合)、制御LSI300は、ドア監視状態検知処理を終了し、処理をドア監視処理(図49参照)のステップS422に戻す。
一方、ステップS444の処理において、最新番号が付された開閉履歴情報格納領域に記憶されている開閉履歴情報の状態情報と、入力ポート情報格納領域の状態情報と、が異なると判別したとき(ステップS444がYES判定の場合)、制御LSI300は、RTC301から現在時刻の日時情報を取得し、取得した日時情報と入力ポート情報格納領域の状態情報からなる開閉履歴情報を第2検知結果格納領域に記憶させる(ステップS445)。
次いで、制御LSI300は、RAM304の状態変化フラグ格納領域に記憶されている状態変化フラグをONに設定する(ステップS446)。そして、制御LSI300は、ドア監視状態検知処理を終了し、処理をドア監視処理(図49参照)のステップS422に戻す。
[ドア監視記録判定処理]
次に、ドア監視処理(図49参照)のステップS422におけるドア監視記録判定処理について、図51を参照して説明する。図51は、本実施形態におけるドア監視記録判定処理の例を示すフローチャートである。
ドア監視記録判定処理において、制御LSI300は、まず、EEPROM305の記録モード格納領域を参照し、記録モードが常時記録モードに設定されているか否かを判別する(ステップS451)。ステップS451の処理において、記録モードが常時記録モードに設定されていないと判別したとき(ステップS451がNO判定の場合)、制御LSI300は、処理を後述のステップS454に移行する。
ステップS451の処理において、記録モードが常時記録モードに設定されていると判別したとき(ステップS451がYES判定の場合)、制御LSI300は、RAM304の記録開始時間カウンタ格納領域及びEEPROM305の記録開始時間格納領域を参照し、記録開始時間カウンタの値が記録開始時間に対応するカウント数以上か否かを判別する(ステップS452)。ステップS452において、記録開始時間カウンタの値が記録開始時間に対応するカウント数以上でないと判別したとき(ステップS452がNO判定の場合)、制御LSI300は、処理を後述のステップS454に移行する。
ステップS452において、記録開始時間カウンタの値が記録開始時間に対応するカウント数以上であると判別したとき(ステップS452がYES判定の場合)、制御LSI300は、RAM304の記録許可フラグ格納領域に記憶されている記録許可フラグをONに設定する(ステップS453)。そして、制御LSI300は、ドア監視記録判定処理を終了し、処理をドア監視処理(図49参照)のステップS423に戻す。
ステップS454において、制御LSI300は、RAM304の記録許可フラグ格納領域に記憶されている記録許可フラグをOFFに設定する(ステップS454)。そして、制御LSI300は、ドア監視記録判定処理を終了し、処理をドア監視処理(図49参照)のステップS423に戻す。
[受信割込み処理]
次に、制御LSI300のシリアル通信回路307がホスト機器からコマンドやデータを1バイト受信する毎に、制御LSI300が実行する受信割込み処理について、図52を参照して説明する。図52は、本実施形態における受信割込み処理の例を示すフローチャートである。
受信割込み処理において、制御LSI300は、まず、受信したデータが「STX」であるか否かを判別する(ステップS461)。ステップS461において、受信したデータが「STX」であると判別したとき(ステップS461がYES判定の場合)、制御LSI300は、RAM304の受信バッファ及び受信カウンタ格納領域に記憶されている受信カウンタの値に「1」を設定し、且つ、RAM304のETX受信フラグ格納領域に記憶しているETX受信フラグをOFFに設定する(ステップS462)。そして、制御LSI300は、受信割込み処理を終了する。
一方、ステップS461において、受信したデータが「STX」でないと判別したとき(ステップS461がNO判定の場合)、制御LSI300は、受信カウンタ格納領域に記憶されている受信カウンタの値に対応する受信バッファに受信したデータを記憶させる(ステップS463)。
次いで、制御LSI300は、受信カウンタの値に1を加算する(ステップS464)。次いで、制御LSI300は、受信データが「ETX」であるか否かを判別する(ステップS465)。ステップS465において、受信データが「ETX」であると判別したとき(ステップS465がYES判定の場合)、制御LSI300は、RAM304のETX受信フラグ格納領域に記憶されているETX受信フラグをONに設定する。また、RAM304のサムカウンタの値をクリアする(ステップS466)。そして、制御LSI300は、受信割込み処理を終了する。
一方、ステップS465において、受信データが「ETX」でないと判別したとき(ステップS465がNO判定の場合)、制御LSI300は、RAM304のETX受信フラグ格納領域に記憶されているETX受信フラグがONに設定されているか否かを判別する(ステップS467)。ステップS467において、ETX受信フラグがONに設定されていないと判別したとき(ステップS467がNO判定の場合)、制御LSI300は、受信割込み処理を終了する。
ステップS467において、ETX受信フラグがONに設定されていると判別したとき(ステップS467がYES判定の場合)、サムカウンタの値に1を加算する(ステップS468)。
次いで、制御LSI300は、サムカウンタの値が2であるか否かを判別する(ステップS469)。ステップS469において、サムカウンタの値が2でないと判別したとき(ステップS469がNO判定の場合)、制御LSI300は、受信割込み処理を終了する。一方、ステップS469において、サムカウンタの値が2であると判別したとき(ステップS469がYES判定の場合)、制御LSI300は、RAM304の受信完了フラグ格納領域に記憶されている受信完了フラグをONに設定し(ステップS470)、受信割込み処理を終了する。
[受信処理]
次に、ドア監視ユニットメイン処理(図48参照)のステップS404における受信処理について、図53を参照して説明する。図53は、本実施形態における受信処理の例を示すフローチャートである。
受信処理において、制御LSI300は、まず、RAM304の受信完了フラグ格納領域に記憶されている受信完了フラグがONに設定されているか否かを判別する(ステップS471)。ステップS471において、受信完了フラグがONに設定されていないと判別したとき(ステップS471がNO判定の場合)、制御LSI300は、受信処理を終了し、処理をドア監視ユニットメイン処理(図48参照)のステップS405に戻す。
一方、ステップS471において、受信完了フラグがONに設定されていると判別したとき(ステップS471がYES判定の場合)、制御LSI300は、RAM304の受信バッファを参照し、受信したサム値と受信したデータとが整合しているか否かを判定する整合性判定処理を行う(ステップS472)。具体的には、整合性判定処理では、RAM304の受信バッファに保存されている受信データ(図43A参照)の「STX」を除く「ETX」までの1バイト単位で受信データを順次加算して1バイトのサム値を算出し、算出結果をASCIIコードに変換することで、2バイトのサム値を生成し、生成したサム値と、受信バッファに保存されているサム値(図43AのSAM(ASCII)2Byte)とを照合することで、受信したデータが整合しているか否かを判定する。なお、整合性判定処理の具体例として、加算によりサム値を算出する例を説明したが、これに限らず、例えば、減算又は排他的論理和によりサム値を算出してもよい。また、サム値を算出することに代えて、受信バッファに保存されているサム値をASCIIコードからバイナリコードに変換することで、サム値の判定を行ってもよい。
次いで、制御LSI300は、ステップS472の整合性判定処理の結果、受信したサム値と受信したデータとが整合していると判定したか、すなわち、整合性判定処理の結果がOKであるか否かを判別する(ステップS473)。ステップS473において、整合性判定処理の結果がOKでないと判別したとき(ステップS473がNO判定の場合)、制御LSI300は、受信処理を終了し、処理をドア監視ユニットメイン処理(図48参照)のステップS405に戻す。
一方、ステップS473において、整合性判定処理の結果がOKであると判別したとき(ステップS473がYES判定の場合)、制御LSI300は、受信コマンドは特権コマンドかであるか否かを判別する(ステップS474)。具体的には、制御LSI300は、受信バッファを参照し、受信したデータに特権コマンドのID(例えば、SI,ST,SA,SB,SC,SW等)が含まれている場合は、受信コマンドは特権コマンドであると判別し、含まれていない場合は、特権コマンドでないと判別する。
ステップS474において、受信コマンドは特権コマンドでないと判別したとき(ステップS474がNO判定の場合)、制御LSI300は、処理を後述のステップS477に以降する。一方、ステップS474において、受信コマンドは特権コマンドであると判別したとき(ステップS474がYES判定の場合)、制御LSI300は、RAM304のログインフラグ格納領域に記憶されているログインフラグがONに設定されているか否かを判別する(ステップS475)。
ステップS475において、ログインフラグがONに設定されていないと判別したとき(ステップS475がNO判定の場合)、制御LSI300は、受信処理を終了し、処理をドア監視ユニットメイン処理(図48参照)のステップS405に戻す。
一方、ステップS475において、ログインフラグがONに設定されていると判別したとき(ステップS475がYES判定の場合)、制御LSI300は、特権コマンド受信時処理を行う(ステップS476)。特権コマンド受信時処理において、制御LSI300は、受信した特権コマンドに応じた各種処理を行う。特権コマンド受信時処理の具体的な内容は、後で図54を参照して説明する。特権コマンド受信時処理の後、制御LSI300は、受信処理を終了し、処理をドア監視ユニットメイン処理(図48参照)のステップS405に戻す。
ここで、ステップS474の処理の説明に戻って、受信コマンドは特権コマンドでないと判別したとき(ステップS474がNO判定の場合)、制御LSI300は、ログインフラグをOFFに設定する(ステップS477)。
次いで、制御LSI300は、一般コマンド受信時処理を行う(ステップS478)。一般コマンド受信時処理において、制御LSI300は、受信した一般コマンドに応じた各種処理を行う。一般コマンド受信時処理の具体的な内容は、後で図55を参照して説明する。一般コマンド受信時処理の後、制御LSI300は、受信処理を終了し、処理をドア監視ユニットメイン処理(図48参照)のステップS405に戻す。
[特権コマンド受信時処理]
次に、受信処理(図53参照)のステップS476における特権コマンド受信時処理について、図54を参照して説明する。図54は、本実施形態における特権コマンド受信時処理の例を示すフローチャートである。
特権コマンド受信時処理において、制御LSI300は、まず、受信した特権コマンドが初期化コマンドであるか否かを判別する(ステップS481)。制御LSI300は、受信バッファを参照し、受信したデータに初期化コマンドのIDである「SI」が含まれている場合は、特権コマンドが初期化コマンドであると判別し、「SI」が含まれていない場合は、初期化コマンドでないと判別する。
ステップS481において、受信した特権コマンドが初期化コマンドであると判別したとき(ステップS481がYES判定の場合)、制御LSI300は、初期化処理を行う(ステップS482)。その後、制御LSI300は、特権コマンド受信時処理を終了する。
以降、同様に、時計セットコマンド、監視間隔時間設定コマンド、記録開始時間設定コマンド、記録モード設定コマンド、秘密鍵設定コマンドのそれぞれを受信した場合に、対応する処理が行われるように制御する(ステップS483~ステップS492)。
[一般コマンド受信時処理]
次に、受信処理(図53参照)のステップS478における一般コマンド受信時処理について、図55を参照して説明する。図55は、本実施形態における一般コマンド受信時処理の例を示すフローチャートである。
一般コマンド受信時処理において、制御LSI300は、まず、受信した一般コマンドがシリアルIDコマンドであるか否かを判別する(ステップS501)。制御LSI300は、受信バッファを参照し、受信したデータにシリアルIDコマンドのIDである「CR」が含まれている場合は、一般コマンドがシリアルIDコマンドであると判別し、「CR」が含まれていない場合は、シリアルIDコマンドでないと判別する。
ステップS501において、受信した一般コマンドがシリアルIDコマンドであると判別したとき(ステップS501がYES判定の場合)、制御LSI300は、シリアルIDコマンド受信時処理を行う(ステップS502)。この処理で、制御LSI300は、EEPROM305のシリアルID格納領域に記憶されているシリアルIDを取得する。その後、制御LSI300は、一般コマンド受信時処理を終了する。
以降、同様に、バージョン要求コマンド、乱数コマンド、ログインコマンド、ログアウトコマンド、時計読出コマンド、最新番号コマンド、開閉履歴情報読出コマンド、開閉履歴情報数コマンド、ステータス読出コマンドのそれぞれを受信した場合に、対応する処理が行われるように制御する(ステップS503~ステップS520)。
また、その他の一般コマンドについても同様に、受信した特権コマンドが何かを判定し、判定した特権コマンドに応じた処理を行うよう制御する。
[送信処理]
次に、ドア監視ユニットメイン処理(図48参照)のステップS405における送信処理について、図56を参照して説明する。図56は本実施形態における送信処理の例を示すフローチャートである。
送信処理において、制御LSI300は、まず、RAM304の受信完了フラグ格納領域に記憶されている受信完了フラグがONに設定されているか否かを判別する(ステップS541)。ステップS541において、受信完了フラグがONでないと判別したとき(ステップS541がNO判定の場合)、制御LSI300は、送信処理を終了し、処理をドア監視ユニットメイン処理(図48参照)のステップS406に戻す。
一方、ステップS541において、受信完了フラグがONに設定されていると判別したとき(ステップS541がYES判定の場合)。制御LSI300は、受信完了フラグをOFFに設定する(ステップS542)。
次いで、制御LSI300は、受信コマンドは特権コマンドかであるか否かを判別する(ステップS543)。具体的には、制御LSI300は、受信バッファを参照し、受信したデータに特権コマンドのID(例えば、SI,ST,SA,SB,SC,SW等)が含まれている場合は、受信コマンドは特権コマンドであると判別し、含まれていない場合は、特権コマンドでないと判別する。
ステップS543において、受信コマンドは特権コマンドであると判別したとき(ステップS543がYES判定の場合)、制御LSI300は、特権アンサ送信処理を行う(ステップS544)。特権アンサ送信処理において、制御LSI300は、受信した特権コマンドに応じた各種送信処理を行う。特権アンサ送信処理の具体的な内容は、後で図34を参照して説明する。その後、制御LSI300は、送信処理を終了し、処理をドア監視ユニットメイン処理(図48参照)のステップS406に戻す。
ステップS543において、受信コマンドは特権コマンドでないと判別したとき(ステップS543がNO判定の場合)、制御LSI300は、一般アンサ送信処理を行う(ステップS545)。一般アンサ送信処理において、制御LSI300は、受信した一般コマンドに応じた各種送信処理を行う。一般アンサ送信処理の具体的な内容は、後で図35を参照して説明する。その後、制御LSI300は、送信処理を終了し、処理をドア監視ユニットメイン処理(図48参照)のステップS406に戻す。
[特権アンサ送信処理]
次に、送信処理(図56参照)のステップS544における特権アンサ送信処理について、図57を参照して説明する。図57は本実施形態における特権アンサ送信処理の例を示すフローチャートである。
特権アンサ送信処理において、制御LSI300は、まず、受信したコマンドが秘密鍵設定コマンドであるか否かを判別する(ステップS551)。制御LSI300は、RAM304の受信バッファを参照し、受信したデータに秘密鍵設定コマンドのIDである「SW」が含まれている場合は、特権コマンドが秘密鍵設定コマンドであると判別し、「SW」が含まれていない場合は、秘密鍵設定コマンドでないと判別する。
ステップS551において、受信したコマンドが秘密鍵設定コマンドでないと判別したとき(ステップS551がNO判定の場合)、制御LSI300は、後述のステップS555の処理を行う。一方、ステップS551において、受信したコマンドが秘密鍵設定コマンドであると判別したとき(ステップS551がYES判定の場合)、制御LSI300は、受信バッファに記憶されている秘密鍵、すなわち受信した秘密鍵設定コマンドに含まれる秘密鍵と、EEPROM305の秘密鍵格納領域に記憶されている秘密鍵とが一致するか否かを判別する(ステップS552)。
ステップS552の処理において両者が一致すると判別したとき(ステップS552がYES判定の場合)、設定結果OKの旨のアンサをホスト機器に送信する送信処理を行う(ステップS553)。そして、制御LSI300は、特権アンサ送信処理を終了する。
ステップS552の処理において両者が一致しないと判別したとき(ステップS552がNO判定の場合)、設定結果NGの旨のアンサをホスト機器に送信する送信処理を行う(ステップS554)。そして、制御LSI300は、特権アンサ送信処理を終了する。
ここで、ステップS551の説明に戻って、受信したコマンドが秘密鍵設定コマンドでないと判別したとき(ステップS551がNO判定の場合)、制御LSI300は、RAM304の受信バッファを参照し、受信した特権コマンドを特定する(ステップS555)。
次いで、制御LSI300は、ステップS555で特定したコマンドに対応するアンサをホスト機器に送信する送信処理(ステップS556)を行う。そして、制御LSI300は、特権アンサ送信処理を終了する。なお、ステップS553,ステップS554においては、受信した特権コマンドのIDに対応するアンサ用のIDに「設定結果OK」か「設定結果NG」の情報が含まれるアンサがホスト機器に送信される。しかし、ステップS556では、アンサ用のIDに対応させる情報がないため、受信した特権コマンドのIDに対応するアンサ用のIDのみがアンサとしてホスト機器に送信される。
[一般アンサ送信処理]
次に、送信処理(図56参照)のステップS545における一般アンサ送信処理について、図58を参照して説明する。図58は本実施形態における一般アンサ送信処理の例を示すフローチャートである。
一般コマンド受信時処理において、制御LSI300は、まず、受信した一般コマンドがシリアルIDコマンドであるか否かを判別する(ステップS561)。ステップS561において、受信した一般コマンドがシリアルIDコマンドであると判別したとき(ステップS561がYES判定の場合)、制御LSI300は、シリアルIDコマンド受信時処理(図55のステップS502)で取得したシリアルIDをホスト機器に送信するアンサ送信処理(シリアルID)を行う(ステップS562)。その後、制御LSI300は、一般アンサ送信処理を終了する。
以降、同様に、バージョン要求コマンド、乱数コマンド、ログインコマンド、ログアウトコマンド、時計読出コマンド、最新番号コマンド、開閉履歴情報読出コマンド、開閉履歴情報数コマンド、ステータス読出コマンドのそれぞれを受信した場合に、対応する処理が行われるように制御する(ステップS563~ステップS580)。
<副制御回路におけるドア開閉監視処理>
次に、副制御回路101と24hドア監視ユニット63が行う処理の例として、副制御回路101(副制御基板72)が、起動時からフロントドア2bの開閉状態を監視しているときの処理を、図59を参照して説明する。図59は、副制御回路101が、24hドア監視ユニット63と副制御回路101との間でシーケンスに基づきコマンドを送受信して、フロントドア2bの開閉状態を監視する処理の例を示す図である。
この処理の冒頭において、副制御回路101は、シーケンステーブルを参照し、起動シーケンスを実行し、バージョン要求コマンド(CV)、シリアルIDコマンド(CR)、ステータス読出コマンド(CS)の順で、コマンドを24hドア監視ユニット63に送信する。
まず、副制御回路101は、バージョン要求コマンド(CV)を24hドア監視ユニット63に送信する(C21)。バージョン要求コマンドを受信した24hドア監視ユニット63は、EEPROM305に記憶されているプログラムバージョンをホスト機器に送信(返信)する(C22:バージョンアンサ)。
副制御回路101は、プログラムバージョンを受信すると、受信したプログラムバージョンと、副制御回路101が有する不揮発記憶手段であるサブSRAM103bに記憶されたプログラムバージョンとを比較する。そして、一致しない場合は、第2警告表示処理を行う。副制御回路101は、第2警告表示処理において、副制御回路101が有する表示装置にログイン不許可の旨を示す画面を表示させる。例えば、液晶表示装置11において、画面の中央に「プログラムバージョンが異なります」というメッセージが配置された警告画面(不図示)を表示する。
また、副制御回路101は、プログラムバージョンを受信すると、シリアルIDコマンド(CR)を24hドア監視ユニット63に送信する(C23)。シリアルIDコマンドを受信した24hドア監視ユニット63は、EEPROM305に記憶されているシリアルIDを副制御回路101に送信(返信)する(C24:シリアルIDアンサ)。
副制御回路101は、シリアルIDを受信すると、受信したシリアルIDと、副制御回路101のサブSRAM103bに記憶されたシリアルIDとを比較する。そして、一致しない場合は、第3警告表示処理を行う。副制御回路101は、第3警告表示処理において、24h監視ドア監視ユニットが交換された旨を示す画面を表示させる。例えば、液晶表示装置11において、画面の中央に「監視ユニットが交換されました。」というメッセージが配置された警告画面を表示する(不図示)。また、この警告画面の下部には、副制御回路101の記憶装置に記憶されているシリアルIDが「OLD UNIT SERIAL ID」として表示され、受信したシリアルIDが「NEW UNIT SERIAL ID」として表示される。
また、副制御回路101は、シリアルIDを受信すると、ステータス読出コマンド(CS)を24hドア監視ユニット63に送信する(C25)。ステータス読出コマンドを受信した24hドア監視ユニット63は、RAM304の第1検知結果格納領域に記憶されている開閉履歴情報を副制御回路101に送信(返信)する(C26:ステータスアンサ)。
起動シーケンスに係るコマンドの送信が終了すると、副制御回路101は、シーケンステーブルを参照し、全履歴取得シーケンスを実行し、開閉履歴情報数コマンド(CC)、最新番号コマンド(CN)、開閉履歴情報読出コマンド(CB)の順で、コマンドを24hドア監視ユニット63に送信する。
まず、副制御回路101は、開閉履歴情報数コマンド(CC)を送信する(C27)。開閉履歴情報数コマンドを受信した24hドア監視ユニット63は、履歴カウンタの値を副制御回路101に送信する(C28:開閉履歴情報数アンサ)。
次いで、副制御回路101は、最新番号コマンド(CN)を送信する(C29)。最新番号コマンドを受信した24hドア監視ユニット63は、最新番号を副制御回路101に送信する(C28:最新番号アンサ)。
副制御回路101は、受信した最新番号と履歴カウンタの値を、副制御回路101のサブSRAM103bに記憶された最新番号と履歴カウンタの値と比較する。比較の結果、差異がある場合は、最新番号と履歴カウンタの値に基いて、開閉履歴情報を取得する先の開閉履歴情報格納領域の番号を特定する。そして、副制御回路101は、特定した開閉履歴情報格納領域の番号が付された開閉履歴情報格納領域を指定した開閉履歴情報読出コマンド(CB)を送信する(C31)。
開閉履歴情報読出コマンドを受信した24hドア監視ユニット63は、読出コマンドに含まれる番号に対応する開閉履歴格納領域に記憶されている開閉履歴情報を副制御回路101に送信(返信)する(C32:開閉履歴情報読出アンサ)。
なお、C31及びC32は、特定した開閉履歴情報格納領域の番号が付された開閉履歴情報格納領域の全てから開閉履歴情報を取得するまで繰り返される。
全履歴取得シーケンスに係るコマンドの送信が終了すると、副制御回路101は、シーケンステーブルを参照し、第1状態検知シーケンスを実行し、ステータス読出コマンド(CS)、開閉履歴情報数コマンド(CC)、最新番号コマンド(CN)の順で、コマンドを24hドア監視ユニット63に送信する。なお、以降、第1状態検知シーケンスは、所定の間隔、本実施形態では500msec毎に実行される。
まず、副制御回路101は、ステータス読出コマンド(CS)を、24hドア監視ユニット63に送信する(C33)。ステータス読出コマンドを受信した24hドア監視ユニット63は、RAM304の第1検知結果格納領域に記憶されている開閉履歴情報を副制御回路101に送信(返信)する(C34:ステータスアンサ)。
受信した開閉履歴情報が、フロントドア2bの開放状態を示している場合、副制御回路101は、液晶表示装置11に、フロントドア2bが開放状態である旨を示す画面(不図示)を表示させる(ドアオープン表示)。
次いで、副制御回路101は、開閉履歴情報数コマンド(CC)を、24hドア監視ユニット63に送信する(C35)。開閉履歴情報数コマンドを受信した24hドア監視ユニット63は、EEPROM305の履歴カウンタ格納領域を参照し、履歴カウンタの値をホスト機器に送信(返信)する(C35:開閉履歴情報数アンサ)。履歴カウンタの値を受信した副制御回路101は、副制御回路101のサブSRAM103bに既に記憶されている履歴カウンタの値と、受信した履歴カウンタの値とを比較し、これらが一致しない場合、受信した履歴カウンタの値をサブSRAM103bに記憶させる(上書きする)。
次いで、副制御回路101は、最新番号コマンド(CN)を、24hドア監視ユニット63に送信する(C37)。最新番号コマンドを受信した24hドア監視ユニット63は、EEPROM305の最新番号格納領域を参照し、最新番号を副制御回路101に送信(返信)する(C38:最新番号アンサ)。最新番号を受信した副制御回路101は、副制御回路101のサブSRAM103bに既に記憶されている最新番号と、受信した最新番号とを比較し、これらが一致しない場合、受信した最新番号をサブSRAM103bに記憶させる(上書きする)。
また、副制御回路101は、受信した最新番号と、サブSRAM103bに記憶された最新番号が一致しない場合、履歴取得シーケンスを実行する。
副制御回路101は、履歴取得シーケンスを実行し、開閉履歴情報読出コマンド(CB)を24hドア監視ユニット63に送信する。なお、この開閉履歴情報読出コマンドには、副制御回路101のサブSRAM103bに記憶されている最新番号が含まれる。
開閉履歴情報読出コマンドを受信した24hドア監視ユニット63は、開閉履歴情報読出コマンドに含まれる番号に対応する開閉履歴格納領域に記憶されている開閉履歴情報を副制御回路101に送信(返信)する(C40:開閉履歴情報読出アンサ)。そして、開閉履歴情報を受信した副制御回路101は、受信した開閉履歴をサブSRAM103bに記憶させる。
以上説明したように、副制御回路101は、起動時からフロントドア2bの開閉状態を監視する処理において、起動シーケンス、全履歴取得シーケンス、第1状態検知シーケンス、履歴取得シーケンスを順に実行するが、各シーケンスにおいては、副制御回路101がコマンドを24hドア監視ユニット63に送信し、24hドア監視ユニット63は、受信したコマンドに応答してアンサを副制御回路101に返信するという構成になっている。すなわち、この処理では、副制御回路101がマスター(機)であり、24hドア監視ユニット63がスレーブ(機)となっている。
<ドア監視ユニット設定読出ツールの処理>
次に、図60のフローチャートを参照して、外部コンピュータ(コンピュータ400)において実行されるドア監視ユニット設定読出ツールの処理の例を概略説明する。
最初に、ステップS601において、設定読出ボタンが押下されたか否かを判定する。例えば、この設定読出ボタンは、図37に示すドア監視ユニット設定読出ツールの設定表示画面651に表示された設定読出ボタン652である。設定読出ボタンが押下された場合(ステップS601のYES)、ステップS602において、ドア監視ユニット設定読出ツールが、設定読出指示に対応する設定読出シーケンスのすべてのコマンドを、24hドア監視ユニット63に送信したか否かを判定する。
設定読出シーケンスのすべてのコマンドを送信していない場合(ステップS602のNO)、ステップS603において、設定読出シーケンスに基づいて、次のコマンドを24hドア監視ユニット63に送信する。次に、ステップS604において、送信したコマンドに対応するアンサを受信し、受信した情報を所定の記憶手段に記憶する。ステップS604の後、ステップS602に戻り、送信する他のコマンドがあるか否かを判定する。なお、ここでは、説明を簡単にするために、コマンドを送信する処理と、送信したコマンドのアンサを受信する処理をまとめてステップS603、ステップS604として表している。
設定読出シーケンスのすべてのコマンドを送信している場合(ステップS602のYES)、ステップS605において、送信したコマンドに対応するアンサによって受信した設定値等に基づいて、図37に示すドア監視ユニット設定読出ツールの設定表示画面651を編集する。例えば、バージョン情報、自己診断チェック結果、シリアルID、現在時刻、監視ユニットステータス、最終通信履歴、通常モード設定、ドア設定、開閉履歴データ数、最新開閉履歴データ番号等に関する情報を、対応する表示領域に表示するよう編集処理を行う。
次に、ステップS606において、ドア監視ユニット設定読出ツールは、コンピュータ400のディスプレイ409に、編集された設定表示画面651を表示する。この状態は、例えば、図37に示す設定表示画面651に示されている。ステップS606の後、ステップS601に戻り、設定読出ボタンが押下されたか否かを判定する。
設定読出ボタンが押下されていない場合(ステップS601のNO)、ステップS607において、妥当性検証ボタンが押下されたか否かを判定する。例えば、この妥当性検証ボタンは、図37に示すドア監視ユニット設定読出ツールの設定表示画面651に表示された設定値妥当性検証ボタン654である。妥当性検証ボタンが押下された場合(ステップS607のYES)、ステップS608において、ドア監視ユニット設定読出ツールが、所定の判定基準により、設定表示画面651に表示された設定値や他の情報の妥当性を判定する。
そして、ステップS609において、当該妥当性の判定結果に基づいて、設定表示画面651を編集する。例えば、バージョン情報や自己診断チェック結果等に関する情報を表示した表示領域の背景を、その情報が妥当であると判定された場合には緑色に、妥当でないと判定された場合には赤色に設定する。
次に、ステップS610において、ドア監視ユニット設定読出ツールは、コンピュータ400のディスプレイ409に、編集された設定表示画面651を表示する。この状態は、例えば、図38に示す設定表示画面651に示されている。妥当性検証ボタンが押下されていない場合(ステップS607のNO)、又はステップS610の後、ステップS601に戻り、設定読出ボタンが押下されたか否かを判定する。
図38に示す設定表示画面651から分かるように、自己診断チェック結果のように、24hドア監視ユニット63から読み出した値が診断結果を表す情報(例えば、「正常」、「異常」のどちらか)である場合、ドア監視ユニット設定読出ツールは、「正常」を妥当とし、他方の「異常」を妥当でないと判定する。一方、ドア設定の監視間隔時間や記録開始時間等については、所定の閾値を設定し、当該閾値より上か下かで妥当性を判定する。
このように、本実施形態のドア監視ユニット設定読出ツールの設定表示画面651では、妥当性の検証結果に応じて、設定値等の表示領域における背景色が変化するので、設定表示画面651のように、多数の項目が一度に表示される場合であっても、妥当でない項目を容易にかつ確実に発見することができる。
また、設定表示画面651に示された、ドア開閉の履歴をリスト表示する開閉履歴データは、履歴データのうちの1つ、又は所定数異常のエラーがあった場合に、ドア開閉履歴表示部658の代表領域であるドア開閉履歴タイトル表示部657を、妥当性の判定に応じて緑色の背景色や赤色の背景色で示すようにすることができる。このように、タイトル部分の表示態様を妥当性に応じて変化させることにより、表示されていない履歴データ(下方にスクロールしないと表示されない履歴データ)にエラーがある場合であっても、そのことを確実に把握することができる。また、このとき、同時に、エラーのある履歴データを表す表示行や表示項目についても、個別に背景色を変化させることができる。
また、本実施形態のドア監視ユニット設定読出ツールでは、設定表示画面651に表示された動作記録や設定値等の情報を、例えば、設定表示画面651の左上の「ファイル(F)」を選択すると、テキストファイルでコンピュータ400のハードディスク(外部記憶装置413)等に出力し、保存することができる。また、設定表示画面651に表示された動作記録や設定値等の情報に加え、これらの妥当性の検証結果とともに、例えば、テキストファイルでコンピュータ400のハードディスク(外部記憶装置413)等に出力することができる。このような情報の出力をユーザが指示できるように、設定表示画面651において、表示情報保存ボタンや、表示情報&検証結果保存ボタンなどを配置したり、操作メニューを用意したりすることができる。
以上、説明してきたように、コンピュータ400から24hドア監視ユニット63に提供された暗号化キーは、24hドア監視ユニット63にログインするためのパスワードを生成するために用いられる。
上述した本実施形態の構成によって、24hドア監視ユニット63は、ケーブル320の接続先を切り替えるだけで、外部コンピュータ(コンピュータ400)と副制御回路101の両方に対して、同じプロトコルでデータ通信を行うことができる。従って、24hドア監視ユニット63の設定等を、接続されるハードウェアに応じて変更する、といった操作をする必要がなく、接続先のハードウェアを簡単に切り替えることができる。24hドア監視ユニット63は、接続先のハードウェアから受信するコマンドの種類によって処理を切り替えることができ、接続先であるコンピュータ400や副制御回路101も、それぞれ24hドア監視ユニット63からのアンサを受信可能となっている。
また、上記のような構成によって、24hドア監視ユニット63は、外部コンピュータ(コンピュータ400)から、初期化処理として暗号化キーを受信するが、24hドア監視ユニット63とコンピュータ400との通信において、当該暗号化キーが所定の暗号鍵で暗号化されている場合は、より安全に暗号化キーの配布が可能となる。
また、ドア監視ユニット暗号化キー作成ツールによって、暗号化キーを暗号化して格納する暗号化キーファイルが作成されるため、暗号化キーを簡単に作成できるとともに、作成した暗号化キーを安全に保管・管理することができる。
なお、本実施形態では、24hドア監視ユニット63とコンピュータ400との間のコマンドは、所定の通信フォーマットによって送受信されるが、そのデータは暗号化されるが、コマンド種類を表すID(データ)については、暗号化キーによる暗号化が行われず、受信側では、コマンド種類を判断してからIDに続くデータを暗号鍵で復号化するようにできる。また、コマンド種類を表すIDを含めて暗号鍵による暗号化を行うこともでき、この場合は、受信側で、コマンド種類を表すデータを含めた復号化が行われる。
なお、ここまで、本発明の一実施形態に係るパチスロ1、メダルセレクタ201、24hドア監視ユニット63、コンピュータ400等について、本発明を実施することができる具体例を示しながら説明してきたが、これらの具体例は本発明を説明するための一例に過ぎず、本発明の権利範囲はこれらの具体例に限定されることはない。これら以外の様々な方法や構成によって、本発明の技術的思想を実現することができる。
また、上記の実施形態の説明では、遊技機としてパチスロを例にとって説明したが、これに限定されるものではなく、本発明の技術的思想は、パチスロ以外の他の遊技機にも適用可能であり、例えば、パチンコ機や封入式遊技機等に本発明を適用し、メダルセレクタ以外の遊技媒体識別装置と遊技機との間の暗号化を上記のように構成することができる。
なお、本発明の実施形態に係る遊技システム、遊技機、及び遊技媒体識別装置は、基本的に、以下の特徴及び作用効果を有することを付記として開示する。
[付記A]
[背景技術]
従来より、複数の図柄がそれぞれの表面に設けられた複数のリールと、スタートスイッチと、ストップスイッチと、各リールに対応して設けられたステッピングモータと、制御部とを備えた、パチスロと呼ばれる遊技機が知られている。スタートスイッチは、メダルやコインなどの遊技媒体が遊技機に投入された後、スタートレバーが遊技者により操作されたこと(以下、「開始操作」ともいう)を検出し、全てのリールの回転の開始を要求する信号を出力する。ストップスイッチは、各リールに対応して設けられたストップボタンが遊技者により押されたこと(以下、「停止操作」ともいう)を検出し、該当するリールの回転の停止を要求する信号を出力する。ステッピングモータは、その駆動力を対応するリールに伝達する。また、制御部は、スタートスイッチ及びストップスイッチにより出力された信号に基づいて、ステッピングモータの動作を制御し、各リールの回転動作及び停止動作を行う。
このような遊技機では、開始操作が検出されると、プログラム上で乱数を用いた抽籤処理(以下、「内部抽籤処理」という)が行われ、その抽籤の結果(以下、「内部当籤役」という)と停止操作のタイミングとに基づいてリールの回転の停止を行う。そして、全てのリールの回転が停止され、入賞の成立に係る図柄の組合せ(表示役)が表示されると、その図柄の組合せに対応する特典が遊技者に付与される。なお、遊技者に付与される特典の例としては、遊技媒体(メダル等)の払い出し、遊技媒体を消費することなく再度、内部抽籤処理を行う再遊技(以下、「リプレイ」ともいう)の作動、遊技媒体の払い出し機会が増加するボーナスゲームの作動等を挙げることができる。
また、当該遊技機では、内部当籤役等に基づいて、画像や音声を用いた演出が行われる。
このような遊技機においては、例えば、遊技を制御する主制御部と、演出を制御する副制御部との間で送受信されるデータを暗号化して、遊技機のセキュリティを向上させる技術が知られている。
例えば、主制御部から副制御部に遊技コマンドを送信する場合に、主制御部が、暗号化キーを用いて遊技コマンドを暗号化したうえで副制御部に送信し、副制御部は、受信した暗号化遊技コマンドを、同じ暗号化キーを用いて復号化し、遊技コマンドを取得するといった構造の遊技機が開示されている(特許文献1参照)。
[先行技術文献]
[特許文献]
[特許文献1] 特開2008-279133号公報
[発明の概要]
[発明が解決しようとする課題]
上述のような遊技機では、主制御部と副制御部の間での通信のみが暗号化されているが、このような遊技機においては、様々な周辺機器が接続されることが多く、セキュリティの観点からは、遊技機とこれらの周辺機器との間で送受信されるデータについても暗号化されていることが望ましい。
しかしながら、遊技機と周辺機器との間で上記のような暗号化を行おうとする場合、周辺機器のそれぞれに対して暗号化キーを生成し、設定する必要がある。現在は、多くの遊技機が製造されており、それぞれの遊技機に多くの周辺機器が接続されている場合は、暗号キーを生成し設定すべき周辺機器は膨大な数であり、その生成・設定作業には極めて多くの労力を要する。
また、周辺機器のそれぞれに暗号化キーを設定した場合、各暗号化キーを安全かつ簡単に生成・設定する方法が必要であり、さらに、各暗号化キーを安全かつ効率的に管理する管理方法も必要とされる。
従って、本発明の目的は、周辺機器に対して、暗号化キーを安全かつ簡単に生成することができる遊技システム、遊技機、及び遊技媒体識別装置を提供することにある。
また、本発明の目的は、周辺機器に設定した暗号化キーを、当該周辺機器に効率的に組み込むことができる遊技システム、遊技機、及び遊技媒体識別装置を提供することにある。
また、本発明の目的は、周辺機器に設定した暗号化キーを、安全かつ効率的に管理することができる遊技システム、遊技機、及び遊技媒体識別装置を提供することにある。
さらに、本発明の目的は、周辺機器と双方向通信を行う他の装置との間で、安全な通信経路を確保することができる遊技システム、遊技機、及び遊技媒体識別装置を提供することにある。
[課題を解決するための手段]
本発明は、以下のような遊技システム、遊技機、及び遊技媒体識別装置を提供する。
本発明の第1の実施態様に係る発明は、下記の構成を有する。
遊技媒体を識別可能な遊技媒体識別装置(例えば、メダルセレクタ201)と、
前記遊技媒体識別装置と通信により接続された制御部(例えば、パチスロ1の副制御回路101)と、
暗号化キーを生成することが可能な暗号化装置(例えば、メダルセレクタ暗号化キー作成ツールが実行されるコンピュータ400)と、を備えた遊技システムであって、
前記通信は、暗号化された通信データによる双方向通信であり、
前記遊技媒体識別装置は、通信データを暗号化し、暗号化された通信データを復号化するための前記暗号化キーを記憶可能であり(例えば、暗号化キーをフラッシュメモリ244に記憶する)、
前記暗号化装置は、
前記暗号化キーを入力可能なGUI(例えば、図20に示す、メダルセレクタ暗号化キー作成ツールの暗号化キー作成画面501)を備え、
前記GUIを介して入力された前記暗号化キーを所定の記憶形式で記憶媒体に出力する(例えば、XML形式のファイルをコンピュータ400のハードディスク(外部記憶装置413)に出力する)。
本発明のこのような構成により、遊技媒体識別装置に対して、暗号化キーを安全かつ簡単に生成し、組み込むことができる。また、遊技媒体識別装置は、遊技媒体識別装置と双方向通信を行う制御部との間で、暗号化キーによる暗号化を行って、安全な通信経路を確保することができる。
本発明の第2の実施態様に係る発明は、第1の実施態様において下記の構成を有する。
前記暗号化装置は、
前記所定の記憶形式で前記記憶媒体に出力する前記暗号化キーを、前記暗号化キーとは異なる暗号化キーにより暗号化する(例えば、暗号化された暗号化キーを含む暗号化キーファイルを生成する)ように構成される。
本発明のこのような構成により、遊技媒体識別装置に設定した暗号化キーを、安全かつ効率的に管理することができる。
本発明の第3の実施態様に係る発明は、下記の構成を有する。
遊技媒体を投入する投入口(例えば、メダル投入口21)と、
前記投入口から投入された前記遊技媒体を識別可能な遊技媒体識別装置(例えば、メダルセレクタ201)と、
暗号化された通信データによる双方向通信により前記遊技媒体識別装置と接続された制御部(例えば、副制御回路101)と、を備える遊技機(例えば、パチスロ1)であって、
前記遊技媒体識別装置は、
通信データを暗号化し、暗号化された通信データを復号化するための暗号化キーを記憶可能であり、
前記暗号化キーは、
前記暗号化キーを入力可能なGUIを備えた暗号化装置に入力され、
前記暗号化装置によって、所定の記憶形式で記憶媒体に出力される。
本発明のこのような構成により、遊技媒体識別装置に対して、暗号化キーを安全かつ簡単に生成し、組み込むことができる。また、遊技媒体識別装置は、遊技媒体識別装置と双方向通信を行う制御部との間で、暗号化キーによる暗号化を行って、遊技機において安全な通信経路を確保することができる。
本発明の第4の実施態様に係る発明は、下記の構成を有する。
遊技媒体を識別可能な遊技媒体識別装置であって、
前記遊技媒体識別装置は、
暗号化された通信データによる双方向通信により、他の装置(例えば、パチスロ1の副制御回路101)と接続され、
通信データを暗号化し、暗号化された通信データを復号化するための暗号化キーを記憶可能であり、
前記暗号化キーは、
前記暗号化キーを入力可能なGUIを備えた暗号化装置に入力され、
前記暗号化装置によって、所定の記憶形式で記憶媒体に出力される。
本発明のこのような構成により、遊技媒体識別装置に対して、暗号化キーを安全かつ簡単に生成し、組み込むことができる。また、遊技媒体識別装置は、遊技媒体識別装置と双方向通信を行う制御部との間で、暗号化キーによる暗号化を行って、安全な通信経路を確保することができる。
[発明の効果]
本発明に係る遊技システム、遊技機、及び遊技媒体識別装置によって、周辺機器(遊技媒体識別装置)に対して、暗号化キーを安全かつ簡単に生成し、当該周辺機器に効率的に組み込むことができる。
また、本発明に係る遊技システム、遊技機、及び遊技媒体識別装置によって、周辺機器(遊技媒体識別装置)に設定した暗号化キーを、安全かつ効率的に管理することができる。
またさらに、本発明に係る遊技システム、遊技機、及び遊技媒体識別装置によって、周辺機器(遊技媒体識別装置)と双方向通信を行う他の装置(制御部)との間で、暗号化キーによって暗号化された安全な通信経路を確保することができる。
[付記B]
[背景技術]
従来より、複数の図柄がそれぞれの表面に設けられた複数のリールと、スタートスイッチと、ストップスイッチと、各リールに対応して設けられたステッピングモータと、制御部とを備えた、パチスロと呼ばれる遊技機が知られている。スタートスイッチは、メダルやコインなどの遊技媒体が遊技機に投入された後、スタートレバーが遊技者により操作されたこと(以下、「開始操作」ともいう)を検出し、全てのリールの回転の開始を要求する信号を出力する。ストップスイッチは、各リールに対応して設けられたストップボタンが遊技者により押されたこと(以下、「停止操作」ともいう)を検出し、該当するリールの回転の停止を要求する信号を出力する。ステッピングモータは、その駆動力を対応するリールに伝達する。また、制御部は、スタートスイッチ及びストップスイッチにより出力された信号に基づいて、ステッピングモータの動作を制御し、各リールの回転動作及び停止動作を行う。
このような遊技機では、開始操作が検出されると、プログラム上で乱数を用いた抽籤処理(以下、「内部抽籤処理」という)が行われ、その抽籤の結果(以下、「内部当籤役」という)と停止操作のタイミングとに基づいてリールの回転の停止を行う。そして、全てのリールの回転が停止され、入賞の成立に係る図柄の組合せ(表示役)が表示されると、その図柄の組合せに対応する特典が遊技者に付与される。なお、遊技者に付与される特典の例としては、遊技媒体(メダル等)の払い出し、遊技媒体を消費することなく再度、内部抽籤処理を行う再遊技(以下、「リプレイ」ともいう)の作動、遊技媒体の払い出し機会が増加するボーナスゲームの作動等を挙げることができる。
また、当該遊技機では、内部当籤役等に基づいて、画像や音声を用いた演出が行われる。
このような遊技機においては、例えば、遊技を制御する主制御部と、演出を制御する副制御部との間で送受信されるデータを暗号化して、遊技機のセキュリティを向上させる技術が知られている。
例えば、主制御部から副制御部に遊技コマンドを送信する場合に、主制御部が、暗号化キーを用いて遊技コマンドを暗号化したうえで副制御部に送信し、副制御部は、受信した暗号化遊技コマンドを、同じ暗号化キーを用いて復号化し、遊技コマンドを取得するといった構造の遊技機が開示されている(特許文献1参照)。
[先行技術文献]
[特許文献]
[特許文献1] 特開2008-279133号公報
[発明の概要]
[発明が解決しようとする課題]
上述のような遊技機では、主制御部と副制御部の間での通信のみが暗号化されているが、このような遊技機においては、様々な周辺機器が接続されることが多く、セキュリティの観点からは、遊技機とこれらの周辺機器との間で送受信されるデータについても暗号化されていることが望ましい。
しかしながら、遊技機と周辺機器との間で上記のような暗号化を行おうとする場合、周辺機器のそれぞれに対して暗号化キーを生成し、設定する必要がある。現在は、多くの遊技機が製造されており、それぞれの遊技機に多くの周辺機器が接続されている場合は、暗号キーを生成し設定すべき周辺機器は膨大な数であり、その生成・設定作業には極めて多くの労力を要する。
また、周辺機器のそれぞれに暗号化キーを設定した場合、各暗号化キーを安全かつ簡単に生成・設定する方法が必要であり、さらに、各暗号化キーを安全かつ効率的に管理する管理方法も必要とされる。
従って、本発明の目的は、周辺機器に設定した暗号化キーを、当該周辺機器に安全かつ効率的に組み込むことができる遊技システム、遊技機、及び遊技媒体識別装置を提供することにある。
また、本発明の目的は、周辺機器に設定した暗号化キーを、安全かつ効率的に管理することができる遊技システム、遊技機、及び遊技媒体識別装置を提供することにある。
また、本発明の目的は、周辺機器と双方向通信を行う他の装置との間で、安全な通信経路を確保することができる遊技システム、遊技機、及び遊技媒体識別装置を提供することにある。
さらに、本発明の目的は、周辺機器に対して、暗号化キーを安全かつ簡単に生成することができる遊技システム、遊技機、及び遊技媒体識別装置を提供することにある。
[課題を解決するための手段]
本発明は、以下のような遊技システム、遊技機、及び遊技媒体識別装置を提供する。
本発明の第1の実施態様に係る発明は、下記の構成を有する。
遊技媒体を識別可能な遊技媒体識別装置(例えば、メダルセレクタ201)と、
前記遊技媒体識別装置と通信により接続された制御部(例えば、パチスロ1の副制御回路101)と、
前記遊技媒体識別装置の設定を行う設定装置(例えば、メダルセレクタ初期化ツールが実行されるコンピュータ400)と、を備えた遊技システムであって、
前記通信は、暗号化された通信データによる双方向通信であり、
前記遊技媒体識別装置は、通信データを暗号化し、暗号化された通信データを復号化するための暗号化キーを記憶可能(例えば、暗号化キーをフラッシュメモリ244に記憶する)であり、
前記設定装置は、
前記遊技媒体識別装置が、前記制御部に接続されていない状態で接続可能であり(例えば、副制御回路101と接続しているケーブル280を、コンピュータ400に差し替える)、
前記暗号化キー、及び前記遊技媒体識別装置を初期化するためのコマンド(例えば、図23に示す初期化コマンド)を、前記遊技媒体識別装置に送信する。
本発明のこのような構成により、遊技媒体識別装置に対して、暗号化キーを安全かつ簡単に設定する(組み込む)ことができる。また、遊技媒体識別装置は、遊技媒体識別装置と双方向通信を行う制御部との間で、暗号化キーによる暗号化を行って、安全な通信経路を確保することができる。
本発明の第2の実施態様に係る発明は、第1の実施態様において下記の構成を有する。
前記設定装置は、記憶媒体(例えば、コンピュータ400のハードディスク(外部記憶装置413))から前記暗号化キーが記憶されたデータを読み込む暗号化キー読込手段を有し、
前記暗号化キー読込手段は、前記データを読み込む場合は、前記暗号化キーとは異なる暗号鍵を使用して前記データを復号化し、前記暗号化キーを読み出すように構成される。
本発明のこのような構成により、暗号化キーを、安全かつ効率的に管理することができ、その暗号化キーを容易に遊技媒体識別装置に設定することができる。
本発明の第3の実施態様に係る発明は、下記の構成を有する。
遊技媒体を投入する投入口(例えば、メダル投入口21)と、
前記投入口から投入された前記遊技媒体を識別可能な遊技媒体識別装置(例えば、メダルセレクタ201)と、
暗号化された通信データによる双方向通信により前記遊技媒体識別装置と接続された制御部(例えば、副制御回路101)と、を備える遊技機(例えば、パチスロ1)であって、
前記遊技媒体識別装置は、
通信データを暗号化し、暗号化された通信データを復号化するための暗号化キーを記憶可能であり、
前記遊技媒体識別装置の設定を行う設定装置から、前記暗号化キー、及び前記遊技媒体識別装置を初期化するためのコマンドを受信し、
前記制御部に接続されていない状態で、前記設定装置と接続可能である。
本発明のこのような構成により、遊技媒体識別装置に対して、暗号化キーを安全かつ簡単に設定する(組み込む)ことができる。また、遊技媒体識別装置は、遊技媒体識別装置と双方向通信を行う制御部との間で、暗号化キーによる暗号化を行って、安全な通信経路を確保することができる。
本発明の第4の実施態様に係る発明は、下記の構成を有する。
遊技媒体を識別可能な遊技媒体識別装置であって、
暗号化された通信データによる双方向通信により、他の装置(例えば、パチスロ1の副制御回路101)と接続され、
通信データを暗号化し、暗号化された通信データを復号化するための暗号化キーを記憶可能であり、
前記他の装置に接続されていない状態で、前記遊技媒体識別装置の設定を行う設定装置(例えば、コンピュータ400)と接続可能であり、
前記設定装置から、前記暗号化キー、及び前記遊技媒体識別装置を初期化するためのコマンドを受信する。
本発明のこのような構成により、遊技媒体識別装置に対して、暗号化キーを安全かつ簡単に設定する(組み込む)ことができる。また、遊技媒体識別装置は、遊技媒体識別装置と双方向通信を行う制御部との間で、暗号化キーによる暗号化を行って、安全な通信経路を確保することができる。
[発明の効果]
本発明に係る遊技システム、遊技機、及び遊技媒体識別装置によって、周辺機器(遊技媒体識別装置)に対して、暗号化キーを安全かつ効率的に組み込むことができる。
また、本発明に係る遊技システム、遊技機、及び遊技媒体識別装置によって、周辺機器(遊技媒体識別装置)に設定した暗号化キーを、安全かつ効率的に管理することができる。
またさらに、本発明に係る遊技システム、遊技機、及び遊技媒体識別装置によって、周辺機器(遊技媒体識別装置)と双方向通信を行う他の装置(制御部)との間で、暗号化キーによって暗号化された安全な通信経路を確保することができる。
[付記C]
[背景技術]
従来より、複数の図柄がそれぞれの表面に設けられた複数のリールと、スタートスイッチと、ストップスイッチと、各リールに対応して設けられたステッピングモータと、制御部とを備えた、パチスロと呼ばれる遊技機が知られている。スタートスイッチは、メダルやコインなどの遊技媒体が遊技機に投入された後、スタートレバーが遊技者により操作されたこと(以下、「開始操作」ともいう)を検出し、全てのリールの回転の開始を要求する信号を出力する。ストップスイッチは、各リールに対応して設けられたストップボタンが遊技者により押されたこと(以下、「停止操作」ともいう)を検出し、該当するリールの回転の停止を要求する信号を出力する。ステッピングモータは、その駆動力を対応するリールに伝達する。また、制御部は、スタートスイッチ及びストップスイッチにより出力された信号に基づいて、ステッピングモータの動作を制御し、各リールの回転動作及び停止動作を行う。
このような遊技機では、開始操作が検出されると、プログラム上で乱数を用いた抽籤処理(以下、「内部抽籤処理」という)が行われ、その抽籤の結果(以下、「内部当籤役」という)と停止操作のタイミングとに基づいてリールの回転の停止を行う。そして、全てのリールの回転が停止され、入賞の成立に係る図柄の組合せ(表示役)が表示されると、その図柄の組合せに対応する特典が遊技者に付与される。なお、遊技者に付与される特典の例としては、遊技媒体(メダル等)の払い出し、遊技媒体を消費することなく再度、内部抽籤処理を行う再遊技(以下、「リプレイ」ともいう)の作動、遊技媒体の払い出し機会が増加するボーナスゲームの作動等を挙げることができる。
また、当該遊技機では、内部当籤役等に基づいて、画像や音声を用いた演出が行われる。
このような遊技機においては、例えば、遊技を制御する主制御部と、演出を制御する副制御部との間で送受信されるデータを暗号化して、遊技機のセキュリティを向上させる技術が知られている。
例えば、主制御部から副制御部に遊技コマンドを送信する場合に、主制御部が、暗号化キーを用いて遊技コマンドを暗号化したうえで副制御部に送信し、副制御部は、受信した暗号化遊技コマンドを、同じ暗号化キーを用いて復号化し、遊技コマンドを取得するといった構造の遊技機が開示されている(特許文献1参照)。
[先行技術文献]
[特許文献]
[特許文献1] 特開2008-279133号公報
[発明の概要]
[発明が解決しようとする課題]
上述のような遊技機では、主制御部と副制御部の間での通信のみが暗号化されているが、このような遊技機においては、様々な周辺機器が接続されることが多く、セキュリティの観点からは、遊技機とこれらの周辺機器との間で送受信されるデータについても暗号化されていることが望ましい。
しかしながら、遊技機と周辺機器との間で上記のような暗号化を行おうとする場合、周辺機器のそれぞれに対して暗号化キーを生成し、設定する必要がある。現在は、多くの遊技機が製造されており、それぞれの遊技機に多くの周辺機器が接続されている場合は、暗号キーを生成し設定すべき周辺機器は膨大な数であり、その生成・設定作業には極めて多くの労力を要する。
また、周辺機器のそれぞれに暗号化キーを設定した場合、各暗号化キーを安全かつ簡単に生成・設定する方法が必要であり、さらに、各暗号化キーを安全かつ効率的に管理する管理方法も必要とされる。
従って、本発明の目的は、周辺機器に対して、暗号化キーを安全かつ簡単に生成することができる遊技システム、及び遊技機を提供することにある。
また、本発明の目的は、周辺機器に設定した暗号化キーを、当該周辺機器に効率的に組み込むことができる遊技システム、及び遊技機を提供することにある。
また、本発明の目的は、周辺機器に設定した暗号化キーを用いてログインパスワードを生成し、当該周辺機器に対するアクセスについて安全性を高めることができる遊技システム、及び遊技機を提供することにある。
さらに、本発明の目的は、周辺機器に設定した暗号化キーを、安全かつ効率的に管理することができる遊技システム、及び遊技機を提供することにある。
[課題を解決するための手段]
本発明は、以下のような遊技システム、及び遊技機を提供する。
本発明の第1の実施態様に係る発明は、下記の構成を有する。
遊技機の扉(例えば、フロントドア2b、ミドルドア41)の開閉を監視する扉監視装置(例えば、24hドア監視ユニット63)と、
前記扉監視装置と通信により接続された制御部(例えば、パチスロ1の副制御回路101)と、
前記扉監視装置にログインするための扉監視キーコード(暗号化キー)を入力し、前記扉監視キーコードを暗号化することが可能な暗号化装置(例えば、ドア監視ユニット暗号化キー作成ツールが実行されるコンピュータ400)と、を備えた遊技システムであって、
前記通信は、前記制御部側をマスターとする双方向通信であり、
前記扉監視装置は、前記扉監視キーコードを記憶可能であり(例えば、扉監視キーコードをEEPROM305に記憶する)、
前記暗号化装置は、
前記扉監視キーコードを入力可能なGUI(例えば、図34に示す、ドア監視ユニット暗号化キー作成ツールの暗号化キー作成画面601)を備え、
前記GUIを介して入力された前記扉監視キーコードを暗号化し、所定の記憶形式で記憶媒体に出力する(例えば、XML形式のファイルをコンピュータ400のハードディスク(外部記憶装置413)に出力する)。
本発明のこのような構成により、扉監視装置に対して、暗号化キーを安全かつ簡単に生成し、組み込むことができる。また、扉監視装置のログインパスワードを生成するために暗号化キーが用いられるので、扉監視装置に対するアクセスについて安全性を高めることができる。
本発明の第2の実施態様に係る発明は、下記の構成を有する。
遊技機の扉の開閉を監視する扉監視装置と、
通信により前記扉監視装置と接続された制御部と、を備える遊技機(例えば、パチスロ1)であって、
前記通信は、前記制御部がマスターとして規定された双方向通信であり、
前記扉監視装置は、前記扉監視装置にログインするための扉監視キーコードを記憶可能であり、
前記扉監視キーコードは、
前記扉監視キーコードを入力可能なGUIを備えた暗号化装置に入力され、
前記暗号化装置によって、暗号化され、所定の記憶形式で記憶媒体に出力される。
本発明のこのような構成により、扉監視装置に対して、暗号化キーを安全かつ簡単に生成し、組み込むことができる。また、扉監視装置のログインパスワードを生成するために暗号化キーが用いられるので、扉監視装置に対するアクセスについて安全性を高めることができる。
[発明の効果]
本発明に係る遊技システム、及び遊技機によって、周辺機器(扉監視装置)に対して、暗号化キーを安全かつ簡単に生成し、当該周辺機器に効率的に組み込むことができる。
また、本発明に係る遊技システム、及び遊技機によって、周辺機器(扉監視装置)に設定した暗号化キーを用いてログインパスワードを生成し、当該周辺機器に対するアクセスについて安全性を高めることができる。
またさらに、本発明に係る遊技システム、及び遊技機によって、周辺機器(扉監視装置)に設定した暗号化キーを、安全かつ効率的に管理することができる。
[付記D]
[背景技術]
従来より、複数の図柄がそれぞれの表面に設けられた複数のリールと、スタートスイッチと、ストップスイッチと、各リールに対応して設けられたステッピングモータと、制御部とを備えた、パチスロと呼ばれる遊技機が知られている。スタートスイッチは、メダルやコインなどの遊技媒体が遊技機に投入された後、スタートレバーが遊技者により操作されたこと(以下、「開始操作」ともいう)を検出し、全てのリールの回転の開始を要求する信号を出力する。ストップスイッチは、各リールに対応して設けられたストップボタンが遊技者により押されたこと(以下、「停止操作」ともいう)を検出し、該当するリールの回転の停止を要求する信号を出力する。ステッピングモータは、その駆動力を対応するリールに伝達する。また、制御部は、スタートスイッチ及びストップスイッチにより出力された信号に基づいて、ステッピングモータの動作を制御し、各リールの回転動作及び停止動作を行う。
このような遊技機では、開始操作が検出されると、プログラム上で乱数を用いた抽籤処理(以下、「内部抽籤処理」という)が行われ、その抽籤の結果(以下、「内部当籤役」という)と停止操作のタイミングとに基づいてリールの回転の停止を行う。そして、全てのリールの回転が停止され、入賞の成立に係る図柄の組合せ(表示役)が表示されると、その図柄の組合せに対応する特典が遊技者に付与される。なお、遊技者に付与される特典の例としては、遊技媒体(メダル等)の払い出し、遊技媒体を消費することなく再度、内部抽籤処理を行う再遊技(以下、「リプレイ」ともいう)の作動、遊技媒体の払い出し機会が増加するボーナスゲームの作動等を挙げることができる。
また、当該遊技機では、内部当籤役等に基づいて、画像や音声を用いた演出が行われる。
このような遊技機においては、例えば、遊技を制御する主制御部と、演出を制御する副制御部との間で送受信されるデータを暗号化して、遊技機のセキュリティを向上させる技術が知られている。
例えば、主制御部から副制御部に遊技コマンドを送信する場合に、主制御部が、暗号化キーを用いて遊技コマンドを暗号化したうえで副制御部に送信し、副制御部は、受信した暗号化遊技コマンドを、同じ暗号化キーを用いて復号化し、遊技コマンドを取得するといった構造の遊技機が開示されている(特許文献1参照)。
[先行技術文献]
[特許文献]
[特許文献1] 特開2008-279133号公報
[発明の概要]
[発明が解決しようとする課題]
上述のような遊技機では、主制御部と副制御部の間での通信のみが暗号化されているが、このような遊技機においては、様々な周辺機器が接続されることが多く、セキュリティの観点からは、遊技機とこれらの周辺機器との間で送受信されるデータについても暗号化されていることが望ましい。
しかしながら、遊技機と周辺機器との間で上記のような暗号化を行おうとする場合、周辺機器のそれぞれに対して暗号化キーを生成し、設定する必要がある。現在は、多くの遊技機が製造されており、それぞれの遊技機に多くの周辺機器が接続されている場合は、暗号キーを生成し設定すべき周辺機器は膨大な数であり、その生成・設定作業には極めて多くの労力を要する。
また、周辺機器のそれぞれに暗号化キーを設定した場合、各暗号化キーを安全かつ簡単に生成・設定する方法が必要であり、さらに、各暗号化キーを安全かつ効率的に管理する管理方法も必要とされる。
従って、本発明の目的は、周辺機器に設定した暗号化キーを、当該周辺機器に効率的に組み込むことができる遊技システム、及び遊技機を提供することにある。
また、本発明の目的は、周辺機器に設定した暗号化キーを、安全かつ効率的に管理することができる遊技システム、及び遊技機を提供することにある。
また、本発明の目的は、周辺機器に設定した暗号化キーを用いてログインパスワードを生成し、当該周辺機器に対するアクセスについて安全性を高めることができる遊技システム、及び遊技機を提供することにある。
またさらに、本発明の目的は、周辺機器に対して、暗号化キーを安全かつ簡単に生成することができる遊技システム、及び遊技機を提供することにある。
[課題を解決するための手段]
本発明は、以下のような遊技システム、及び遊技機を提供する。
本発明の第1の実施態様に係る発明は、下記の構成を有する。
遊技機の扉(例えば、フロントドア2b、ミドルドア41)の開閉を監視する扉監視装置(例えば、24hドア監視ユニット63)と、
前記扉監視装置と通信により接続された制御部(例えば、パチスロ1の副制御回路101)と、
前記扉監視装置の設定を行う設定装置(例えば、ドア監視ユニット初期化ツールが実行されるコンピュータ400)と、を備えた遊技システムであって、
前記通信は、前記制御部側をマスターとする双方向通信であり、
前記扉監視装置は、前記扉監視装置にログインするための扉監視キーコード(暗号化キー)を記憶可能であり(例えば、扉監視キーコードをEEPROM305に記憶する)、
前記設定装置は、
前記扉監視装置が、前記制御部に接続されていない状態で接続可能であり(例えば、副制御回路101と接続しているケーブル320を、コンピュータ400に差し替える)、
前記扉監視キーコード、前記扉監視装置の各種設定値(例えば、設定時刻や、監視間隔時間、記録開始時間等)、及び前記扉監視装置を初期化するためのコマンド(例えば、図41に示す初期化コマンド)を、前記扉監視装置に送信する。
本発明のこのような構成により、扉監視装置に対して、扉監視キーコード等を安全かつ簡単に設定する(組み込む)ことができる。また、扉監視装置に設定した扉監視キーコードを用いてログインパスワードを生成し、当該周辺機器に対するアクセスについて安全性を高めることができる。
本発明の第2の実施態様に係る発明は、第1の実施態様において下記の構成を有する。
前記設定装置は、記憶媒体から前記扉監視キーコードが記憶されたデータを読み込む暗号化データ読込手段を有し、
前記暗号化データ読込手段は、前記データを読み込む場合は、前記扉監視キーコードとは異なる暗号鍵を使用して前記データを復号化し、前記扉監視キーコードを読み出すように構成される。
本発明のこのような構成により、扉監視キーコードを、安全かつ効率的に管理することができ、その扉監視キーコードを容易に扉監視装置に設定することができる。
本発明の第3の実施態様に係る発明は、下記の構成を有する。
遊技機の扉の開閉を監視する扉監視装置と、
前記扉監視装置と通信により接続された制御部と、を備える遊技機であって、
前記通信は、前記制御部側をマスターとする双方向通信であり、
前記扉監視装置は、
前記扉監視装置にログインするための扉監視キーコードを記憶可能であり、
前記扉監視装置の設定を行う設定装置から、前記扉監視キーコード、前記扉監視装置の各種設定値、及び前記扉監視装置を初期化するためのコマンドを受信し、
前記制御部に接続されていない状態で、前記設定装置と接続可能である。
本発明のこのような構成により、扉監視装置に対して、扉監視キーコード等を安全かつ簡単に設定する(組み込む)ことができる。また、扉監視装置に設定した扉監視キーコードを用いてログインパスワードを生成し、当該周辺機器に対するアクセスについて安全性を高めることができる。
[発明の効果]
本発明に係る遊技システム、及び遊技機によって、周辺機器(扉監視装置)に対して、暗号化キーを安全かつ効率的に組み込むことができる。
また、本発明に係る遊技システム、及び遊技機によって、周辺機器(扉監視装置)に設定した暗号化キーを、安全かつ効率的に管理することができる。
またさらに、本発明に係る遊技システム、及び遊技機によって、周辺機器(扉監視装置)に設定した暗号化キーを用いてログインパスワードを生成し、当該周辺機器に対するアクセスについて安全性を高めることができる。
[付記E]
[背景技術]
従来より、複数の図柄がそれぞれの表面に設けられた複数のリールと、スタートスイッチと、ストップスイッチと、各リールに対応して設けられたステッピングモータと、制御部とを備えた、パチスロと呼ばれる遊技機が知られている。スタートスイッチは、メダルやコインなどの遊技媒体が遊技機に投入された後、スタートレバーが遊技者により操作されたこと(以下、「開始操作」ともいう)を検出し、全てのリールの回転の開始を要求する信号を出力する。ストップスイッチは、各リールに対応して設けられたストップボタンが遊技者により押されたこと(以下、「停止操作」ともいう)を検出し、該当するリールの回転の停止を要求する信号を出力する。ステッピングモータは、その駆動力を対応するリールに伝達する。また、制御部は、スタートスイッチ及びストップスイッチにより出力された信号に基づいて、ステッピングモータの動作を制御し、各リールの回転動作及び停止動作を行う。
このような遊技機では、開始操作が検出されると、プログラム上で乱数を用いた抽籤処理(以下、「内部抽籤処理」という)が行われ、その抽籤の結果(以下、「内部当籤役」という)と停止操作のタイミングとに基づいてリールの回転の停止を行う。そして、全てのリールの回転が停止され、入賞の成立に係る図柄の組合せ(表示役)が表示されると、その図柄の組合せに対応する特典が遊技者に付与される。なお、遊技者に付与される特典の例としては、遊技媒体(メダル等)の払い出し、遊技媒体を消費することなく再度、内部抽籤処理を行う再遊技(以下、「リプレイ」ともいう)の作動、遊技媒体の払い出し機会が増加するボーナスゲームの作動等を挙げることができる。
また、このような遊技機に関して、各遊技機にIDを設定し、出荷から下取りに至るまでの所在を記録することで、メーカーが効果的に遊技機のリサイクルを図ることができるようにした遊技機エコシステムが開示されている(特許文献1参照)。
[先行技術文献]
[特許文献]
[特許文献1] 特開2014-57687号公報
[発明の概要]
[発明が解決しようとする課題]
しかしながら、上述のような遊技機エコシステムによって各遊技機の所在の追跡が可能になったとしても、下取りした遊技機をすべてリサイクルできるわけではない。
遊技機を構成するパーツのそれぞれについてリサイクル可能であるか否かを効果的に判断し、リサイクル率を高めるためのさらなるシステムが必要とされる。また、リサイクル率が上がれば、利益率の向上や環境保全にもつながる。
従って、本発明の目的は、下取りした遊技機、又はホール等で故障した遊技機に関する動作記録や設定値等を簡単に読み出すことができる遊技システム、及び遊技機を提供することにある。
また、本発明の目的は、遊技機に関する動作記録や設定値等が読み出された場合に、これらに関して診断を行い、診断結果を表示することができる遊技システム、及び遊技機を提供することにある。
[課題を解決するための手段]
本発明は、以下のような遊技システム、及び遊技機を提供する。
本発明の第1の実施態様に係る発明は、下記の構成を有する。
遊技機の扉(例えば、フロントドア2b、ミドルドア41)の開閉を監視する扉監視装置(例えば、24hドア監視ユニット63)と、
前記扉監視装置と通信により接続された制御部(例えば、パチスロ1の副制御回路101)と、
前記扉監視装置からデータを読み出す読出装置(例えば、ドア監視ユニット設定読出ツールが実行されるコンピュータ400)と、を備えた遊技システムであって、
前記読出装置は、
前記扉監視装置が、前記制御部に接続されていない状態で接続可能であり(例えば、副制御回路101と接続しているケーブル320を、コンピュータ400に差し替える)、
前記扉監視装置が記録したデータを読み出し、読み出したデータを予め定められた表示形式(例えば、図37に示すドア監視ユニット設定読出ツールの設定表示画面651のような表示形式)で表示するとともに、記録媒体(例えば、コンピュータ400のハードディスク(外部記憶装置413))に記憶し、
前記扉監視装置から読み出したデータを検証し、検証結果を予め定められた表示形式(例えば、図38に示すドア監視ユニット設定読出ツールの設定表示画面651のような表示形式)で表示するとともに、前記記録媒体に記憶する。
本発明のこのような構成により、下取りした遊技機、又はホール等で故障した遊技機に関する動作記録や設定値等を簡単に読み出すことができるため、これらの情報を故障原因の特定に利用することができる。また、遊技機に関する動作記録や設定値等が読み出された場合に、これらに関して診断を行い、診断結果を表示することができるため、これらの情報を遊技機の品質評価に利用することができる。
本発明の第2の実施態様に係る発明は、下記の構成を有する。
遊技機の扉の開閉を監視する扉監視装置と、
前記扉監視装置と通信により接続された制御部と、を備える遊技機であって、
前記制御部は、
前記扉監視装置に接続されていない状態で、前記扉監視装置からデータを読み出す読出装置と接続可能であり、
前記扉監視装置から読み出されたデータは、
前記読出装置によって予め定められた表示形式で表示されるとともに、記録媒体に記憶され、
前記読出装置によって検証され、検証結果が予め定められた表示形式で表示されるとともに、記録媒体に記憶される。
本発明のこのような構成により、下取りした遊技機、又はホール等で故障した遊技機に関する動作記録や設定値等を簡単に読み出すことができるため、これらの情報を故障原因の特定に利用することができる。また、遊技機に関する動作記録や設定値等が読み出された場合に、これらに関して診断を行い、診断結果を表示することができるため、これらの情報を遊技機の品質評価に利用することができる。
[発明の効果]
本発明に係る遊技システム、及び遊技機によって、下取りした遊技機、又はホール等で故障した遊技機に関する動作記録や設定値等を簡単に読み出すことができるため、これらの情報を故障原因の特定に利用することができ、結果として、故障の少ない遊技機の設計が促進される。
また、本発明に係る遊技システム、及び遊技機によって、下取りした遊技機、又はホール等で故障した遊技機に関する動作記録や設定値等を簡単に読み出すことができるため、これらの情報に基づいて、遊技機の品質評価に利用することができる。
また、本発明に係る遊技システム、及び遊技機によって、遊技機に関する動作記録や設定値等が読み出された場合に、これらに関して診断を行い、異常な項目を所定の表示態様で表示することができるため、異常なパーツや異常な状態を容易に識別することができる。