以下に添付図面を参照して、本発明にかかる遊技機であるぱちんこ遊技機と、このぱちんこ遊技機に搭載されている複数の基板間(主制御基板および周辺基板)の制御信号に含まれる制御コマンドを認証する認証方法および認証プログラムに好適な実施の形態を詳細に説明する。
[実施例1]
(ぱちんこ遊技機の基本構成)
本発明のぱちんこ遊技機100は、図1に示す遊技盤101を備えている。遊技盤101の下部位置に配置された発射部292(図2参照)の駆動によって発射された遊技球は、レール102a,102b間を上昇して遊技盤101の上部位置に達した後、遊技領域103内を落下する。図示を省略するが、遊技領域103には、遊技球を各種の方向に向けて落下させる複数の釘が設けられている。遊技領域103には、遊技球の落下途中の位置に、遊技球の落下方向を変化させる風車や入賞口が配設されている。
遊技盤101の遊技領域103の中央部分には、図柄表示部104が配置されている。図柄表示部104としては、例えば液晶表示器(LCD)が用いられる。なお、図柄表示部104としては、LCDに限らず、CRT、複数のドラム、などを用いることができる。図柄表示部104の下方には、始動入賞させるための始動入賞口105が配設されている。図柄表示部104の左右には、それぞれ入賞ゲート106が配設されている。
入賞ゲート106は、落下する遊技球の通過を検出し、始動入賞口105を一定時間だけ開放させる抽選を行うために設けられている。図柄表示部104の側部や下方などには普通入賞口107が配設されている。普通入賞口107に遊技球が入賞すると、ぱちんこ遊技機100は普通入賞時の賞球数(例えば10個)の払い出しを行う。遊技領域103の最下部には、どの入賞口にも入賞しなかった遊技球を回収する回収口108が設けられている。
上述した図柄表示部104は、特定の入賞口に遊技球が入賞したとき(始動入賞時)に、複数の図柄の表示の変動を開始し、所定時間後に図柄の表示の変動を停止する。この停止時に特定図柄(例えば「777」など)に揃ったときに、ぱちんこ遊技機100は大当たり状態となる。そして、ぱちんこ遊技機100は、大当たり状態のとき、遊技盤101の下方に位置する大入賞口109を一定の期間開放させ、この期間開放を所定ラウンド(例えば15ラウンドなど)繰り返し、大入賞口109に入賞した遊技球に対応した賞球数を払い出す。
ぱちんこ遊技機100は、図2に示す制御部200を備えている。制御部200は、主制御部201と、演出制御部202Aと、後段部202Bと、賞球制御部203と、を有している。主制御部201は本発明の主制御基板に相当している。演出制御部202Aと後段部202Bは周辺基板に一体に設けられる。そして、主制御部201は、演出制御部202Aと賞球制御部203とに対して送信可能な構成となっている。演出制御部202Aと後段部202Bとの間は双方向通信が可能な構成となっている。即ち、後段部202Bは、演出制御部202Aを介して主制御部201からのデータを受信する構成となっている。
主制御部201は、ぱちんこ遊技機100の遊技にかかる基本動作を制御する。演出制御部202Aは、主制御部201から受信した複数種類の認証情報等のデータを後段部202Bに転送(送信)する。後段部202Bは、演出制御部202Aから転送されたデータに基づいて主制御部201の認証を行い、その認証結果を演出制御部202Aに送信する。そして、演出制御部202Aは、主制御部201から受信した制御コマンドに応じて、遊戯中の演出動作を制御する。賞球制御部203は、払い出す賞球数を制御する。
主制御部201は、CPU211と、ROM212と、RAM213と、インタフェース(I/F)214と、を有している。CPU211は、ROM212に記憶されたプログラムデータに基づき、遊技内容の進行に伴う基本処理を実行する。ROM212は、プログラムデータ等を記憶する記憶領域を有している。RAM213は、CPU211の演算処理時におけるデータのワークエリアとして機能する。I/F214は、各検出部221〜224から各種データを受信するとともに、演出制御部202A及び賞球制御部203への各種データの送信を行う。主制御部201は、例えばいわゆる主制御基板によってその機能を実現する。
この主制御部201の入力側には、始動入賞口105に入賞した入賞球を検出する始動入賞口検出部221と、入賞ゲート106を通過した遊技球を検出するゲート検出部222と、普通入賞口107に入賞した遊技球を検出する普通入賞口検出部223と、大入賞口109に入賞した入賞球を検出する大入賞口検出部224と、がI/F214を介して電気的に接続されている。これらの検出部としては、近接スイッチなどを用いて構成できる。
この主制御部201の出力側には、大入賞口開閉部225が電気的に接続されており、主制御部201はこの大入賞口開閉部225の開閉を制御する。大入賞口開閉部225は、大当たり時に大入賞口109を一定期間開放する機能であり、ソレノイドなどを用いて構成できる。この大当たりは、生成した乱数(大当たり判定用乱数)に基づいて、所定の確率(例えば300分の1など)で発生するよう予めプログラムされている。
演出制御部202Aは、主制御部201から各種の制御コマンドを含む制御信号を受け取り、このコマンドに基づいて、ROM242に記憶されたプログラムデータを実行して遊技中における演出制御を行う。この演出制御部202Aは、CPU241と、ROM242と、RAM243と、VRAM244と、インタフェース(I/F)245と、を有している。CPU241は、ぱちんこ遊技機100に対応した演出処理を実行する。RAM243は、CPU241の演出処理時におけるデータのワークエリアとして機能する。VRAM244は、図柄表示部104に表示させる画像データ等を記憶する。I/F245は、主制御部201及び後段部202Bからの各種データの受信を行い、且つ、後段部202B、ランプ制御部251、音声制御部252への各種データの送信を行う。そして、演出制御部202Aは、後段部202Bとともに同一の周辺基板で実現している。また、演出制御部202Aの出力側には、上述した図柄表示部(LCD)104、ランプ制御部251、音声制御部252がI/F245を介して電気的に接続されている。ランプ制御部251はランプ261の点灯を制御する。また、音声制御部252はスピーカ262の音声等の出力を制御する。
後段部202Bは、CPU21と、ROM22と、RAM23と、インタフェース(I/F)24と、を有している。CPU21は、ROM22に記憶されたプログラムデータに基づき、主制御部201の認証に伴う処理を行う。ROM22は、前記プログラムデータ等を記憶する記憶領域を有している。RAM23は、CPU21の演算処理時におけるデータのワークエリアとして機能する。I/F24は、主制御部201から各種データを演出制御部202A(周辺部)を介して受信するとともに、演出制御部202Aへの各種データの送信を行う。
賞球制御部203は、主制御部201から各種の制御コマンドを含む制御信号を受け取り、このコマンドに基づいて、ROM282に記憶されたプログラムデータを実行して賞球制御を行う。この賞球制御部203は、CPU281と、ROM282と、RAM283と、インタフェース(I/F)284と、を有している。CPU281は、賞球制御の処理を実行する。RAM283は、CPU281の演算処理時におけるデータのワークエリアとして機能する。I/F284は、主制御部201からの各種データの受信および発射部292との各種データの送受信を行う。賞球制御部203は、例えばいわゆる賞球基板によってその機能を実現する。
賞球制御部203は、I/F284を介して接続される払出部291に対して、入賞時の賞球数を払い出す制御を行う。また、賞球制御部203は、発射部292に対する遊技球の発射の操作を検出し、発射部292における遊技球の発射を制御する。払出部291は、遊技球の貯留部から所定数を払い出すためのモータなどからなる。賞球制御部203は、この払出部291に対して、各入賞口(始動入賞口105、普通入賞口107、大入賞口109)に入賞した遊技球に対応した賞球数を払い出す制御を行う。
発射部292は、遊技のための遊技球を発射するものであり、遊技者による遊技操作を検出するセンサと、遊技球を発射させるソレノイドなどを備える。賞球制御部203は、発射部292のセンサにより遊技操作を検出すると、検出された遊技操作に対応してソレノイドなどを駆動させて遊技球を間欠的に発射させ、遊技盤101の遊技領域103に遊技球を送り出す。
上記構成の主制御部201と演出制御部202A及び後段部202Bと賞球制御部203は、それぞれ異なるプリント基板(主制御基板、演出基板、賞球基板)に設けられる。そして、演出基板と賞球基板が本発明の周辺基板に相当している。
なお、ぱちんこ遊技機100の基板の構成は、これに限らず、例えば、賞球制御部203を、主制御部201又は演出制御部202A及び後段部202Bと同一のプリント基板上に設けるなどの種々異なる構成とすることができる。また、演出制御部202Aと後段部202Bは、同一のプリント基板で実現する構成に代えて、一方のプリント基板を他方のプリント基板に実装する構成、別体のプリント基板をケーブル等で電気的に接続する構成、等のように種々異なる実施形態とすることができる。
(主制御基板および周辺基板の機能的構成)
まず、図3を参照して、主制御部201としての機能を有する主制御基板310の機能的構成について説明する。主制御基板310は、周辺基板330を動作させるための制御コマンドを送信する機能部であり、データ記憶部311、履歴データ生成部312、選択部313、認証情報生成部314、主制御側送信部315、を有して構成している。そして、主制御基板310は、周辺基板330とは別の基板で形成されており、周辺基板330の周辺部202Aへの単方向の通信が可能なように電気的に接続されている。
データ記憶部311は、本発明の個体識別値記憶手段に相当し、周辺部202Aに送信した制御コマンドデータ(制御コマンド)、認証情報、複数種類の個体識別値、履歴生成方式データ(履歴生成方式)、付加方式データ、等の各種データを記憶している。データ記憶部311としては、例えば、主制御部201のROM212、RAM213(図2参照)の一部を用いることができる。
また、データ記憶部311は、周辺部202Aに送信した複数の制御コマンドと複数の認証情報を、ログデータとして時系列的に記憶する記憶領域を有している。そして、データ記憶部311に記憶する複数の制御コマンド及び認証情報の数は、任意に設定することができる。また、制御コマンド及び認証情報のデータ記憶部311に記憶するタイミングは、それが確定した時点、周辺部202Aに送信した後、等のタイミングを任意に定めることができる。そして、本実施例では、例えば、大当たりリーチコマンド、大当たり開始コマンド、大当たりコマンド、大当たり終了コマンド、等の複数種類の制御コマンドを履歴対象としてデータ記憶部311に記憶する場合について説明するが、これに代えて、予め定められた1種類の制御コマンドのみを記憶することもできる。
データ記憶部311は、2種類以上の個体識別値を記憶する。そして、複数種類の個体識別値の各々は、主制御基板310(主制御部)の認証(個値識別)に周辺基板330の後段部202Bが用いる値となっている。また、複数種類の個体識別値は、相異なるデータとなっている。個体識別値の一例としては、主制御部210のROM212における複数種類の所定領域の各々のチェックサム、予め定められた固有の値、等が挙げられる。そして、履歴生成方式データは、履歴データ生成部312が用いる履歴生成方式を示しており、周辺基板330の後段部202Bとの間で予め定められており、起動時等に初期値が設定されてデータ記憶部311に記憶される。
履歴データ生成部312は、本発明の履歴データ生成手段に相当し、主制御基板310から周辺基板330の周辺部202Aに送信した制御コマンドの履歴を示す履歴データを、予め定められた履歴生成方式で生成する。履歴データ生成部312は、例えば、ぱちんこ遊技機100における制御コマンドの発生(確定)から当該制御コマンドの周辺部202Aへの送信までの任意のタイミング、等の予め定められた生成タイミングに、履歴生成方式とデータ記憶部311に記憶している制御コマンドデータとに基づいて履歴データを生成して記憶する。そして、履歴データ生成部312は、所定の送信回数分の制御コマンドデータを、例えば、誤り検出方式、所定の暗号化方式、排他的論理和、等の履歴生成方式に基づいて算出して履歴データを生成する。即ち、履歴生成方式は、制御コマンドに対する履歴データを生成するに当たり、例えば、送信した単独の制御コマンドの遡及数、複数種類の制御コマンドの遡及範囲、等の履歴データの生成対象とする制御コマンドを規定する。そして、履歴データ生成部312が履歴データをチェックサムとして生成する場合、単独種類の制御コマンドデータの複数回分の合計値や履歴データは複数の制御コマンドデータの合計をとった合計値となる。なお、履歴データは、例えば前回や所定回数前等の1回分の制御コマンドをそのまま用いることで、後述する認証情報の生成時の処理を簡単化することができる。
なお、本実施例の履歴データ生成部312は、データ記憶部311が記憶している履歴データを、前記生成した履歴データに更新して記憶する場合について説明する。この場合、データ記憶部311は履歴データ記憶手段として機能することになる。これに代えて、例えばCPU211のレジスタ、RAM213の所定記憶領域、等に履歴データを記憶する実施形態とすることもできる。また、履歴データ生成手段とその記憶手段を専用のハードウェアで実現することもできる。そして、履歴データ生成部312が、万一、個体識別値と同一の履歴データを生成した場合、例えば、認証情報生成部314がその履歴データを有する認証情報を生成しない、または、主制御側送信部315がその履歴データを有する認証情報を送信せずに破棄する、等の構成とする。または、履歴データ生成部312が、個体識別値とは異なる値の履歴データを生成するように設計する、履歴データのビット調整で対応するなどの種々異なる実施形態とすることができる。
選択部313は、本発明の選択手段に相当し、データ記憶部(個体識別値記憶手段)311が記憶している複数種類の個体識別値の中から1つの個体識別値を無作為に選択する。選択部313は、乱数等を用いて1つの個体識別値を無作為に選択してRAM213等に記憶する。即ち、選択部313は、複数種類の個体識別値を無作為に切り替えて選択することになる。よって、固定値である複数種類の個体認証値を用いても、選択した個体識別値を不規則に切り替えることができるため、認証情報に用いる個体識別値の不正な解析を困難にすることができる。また、選択部313は、例えば、10回の選択のうち1回だけ予め定めた個体識別値を選択するなど、選択頻度を乱数等の設定で頻度を調整することができる。
認証情報生成部314は、本発明の認証情報生成手段に相当し、後段部202Bが主制御部201の認証に用いる認証情報を生成する。認証情報生成部314は、選択部(選択手段)313が選択した個体識別値を、予め定められた付加方式でデータ記憶部311に記憶している最新の履歴データに付加して認証情報を生成する。即ち、認証情報生成部314が生成する認証情報は、履歴データと個体識別値とを付加した合成値である認証データを有している。また、付加方式は、主制御基板310が履歴データに個体識別値を付加するための方式であり、周辺基板330の後段部202Bとの間で予め定められている。そして、付加方式は、例えば、四則演算、XOR、XNOR、等の複数種類の演算方式の中で予め定められた1つの演算方式であり、主制御基板310及び周辺基板330の後段部202Bは、その演算方式を示す付加方式データをデータ記憶部311等に記憶している。また、本実施形態では、最新の履歴データに個体識別値を付加する場合について説明するが、これに代えて、例えば複数の履歴データを時系列的に記憶している場合は所定回数前の履歴データに付加するなど種々異なる実施形態とすることができる。
主制御側送信部315は、本発明の主制御側送信手段に相当し、認証情報生成部314が生成した認証情報と制御コマンドデータとの各々を周辺基板330の周辺部202Aに送信し、且つ、周辺部202Aを介して後段部202Bに送信する。そして、本実施形態の主制御側送信部315は、制御コマンドデータを主制御基板310から周辺基板330の周辺部202Aに制御信号として送信する。主制御側送信部315は、例えば、主制御基板310から周辺部202Aに送信される制御信号とは別の信号である認証情報信号として認証情報を周辺部202Aに送信する。これにより、ぱちんこ遊技機100において、制御信号と認証情報信号とを区別化している。
続いて、上述した演出制御部202Aなどの周辺部としての機能を有する周辺基板330の機能的構成について説明する。図3に示すように、周辺基板330は、周辺部(演出制御部)202Aと、後段部202Bと、を有して構成している。そして、周辺基板330は、周辺部(演出制御部)202Aと後段部202Bとの間で双方向通信が可能に構成している。なお、本実施例では、演出制御部202Aと後段部202Bとを有する周辺基板330とした場合について説明するが、これに代えて、賞球制御部203側に後段部202Bを設けた周辺基板とすることもできる。
まず、後段部202Bは、後段側受信部331、後段側記憶部332、後段側履歴データ生成部333、認証用履歴データ抽出部334、後段認証結果データ生成部335、後段側送信部336、を有して構成している。
後段側受信部331は、本発明の後段側受信手段に相当し、主制御基板310が周辺部202Aに送信し且つ当該周辺部202Aから転送された制御コマンドデータと認証情報を受信する。即ち、後段側受信部331は、周辺部202Aを介して主制御基板310からの各種情報を受信する。本実施形態の後段側受信部331は、例えば、認証情報に対応した認証情報信号を受信することによって、認証情報を主制御基板310から周辺部202Aを介して受信する。また、後段側受信部331は、周辺部202Aから転送されてきた制御信号を、認証情報信号とは別に受信することで、制御コマンドデータを受信する。後段側受信部331は、該受信した制御コマンドデータを後段側記憶部332に時系列的に記憶する。
後段側記憶部332は、本発明の期待値記憶手段に相当している。後段側記憶部332としては、例えば、後段部202BのROM22、RAM23(図2参照)の一部を用いることができる。また、後段側記憶部332は、周辺部202Aを介して主制御基板310から受信した複数の制御コマンドと複数の認証情報を、主制御基板310と同様に、ログデータとして時系列的に記憶する記憶領域を有している。
後段側記憶部332は、周辺部202Aを介して主制御基板310から受信すべき複数種類の個体識別値、即ち、主制御基板310のデータ記憶部311が記憶している複数種類の個体識別値の各々と一致する複数種類の期待値を記憶している。これにより、周辺基板330の後段部202Bは、認証情報の履歴データに付加された個体識別値が、正規の個体識別値であれば、複数種類の期待値の何れか1つと一致するため、認証情報から履歴データを後段部202Bは抽出することができる。また、認証情報の個体識別値が不正なものであれば、複数種類の期待値の何れとも一致しないため、認証情報から履歴データを後段部202Bは抽出できない。後段側記憶部332は、主制御部201と同様の履歴生成方式データ及び付加方式データを記憶している。そして、履歴生成方式データは、後段側履歴データ生成部333が用いる履歴生成方式を示しており、起動時等に初期値が設定されて後段側記憶部332に記憶される。付加方式データは、認証用履歴データ抽出部334が用いる主制御基板310と同一の付加方式を示している。
後段側履歴データ生成部333は、本発明の後段側履歴データ生成手段に相当し、主制御基板310から受信した制御コマンドの履歴を示す後段側履歴データを主制御基板310と同一の前記履歴生成方式で生成する。後段側履歴データ生成部333は、主制御基板310からの制御コマンドの受信時、受信後、等の予め定められた後段側生成タイミングに、主制御基板310と同一の履歴生成方式と後段側記憶部332に記憶している制御コマンドデータとに基づいて後段側履歴データを生成して記憶する。即ち、後段側履歴データ生成部333は、所定の受信回数分の制御コマンドデータを、例えば誤り検出方式、所定の暗号化方式、排他的論理和、等の履歴生成方式に基づいて算出して履歴データを生成する。よって、後段側履歴データは、主制御基板310が送信した制御コマンドデータのみを受信していれば、主制御基板310の履歴データと一致することになり、一致していなければ、不正な制御コマンドデータを受信していると判断することができる。
なお、本実施例の後段側履歴データ生成部333は、後段側記憶部332が記憶している後段側履歴データを、前記生成した後段側履歴データに更新して記憶する場合について説明する。この場合、後段側記憶部332は後段側履歴データ記憶手段として機能することになる。これに代えて、例えばCPU21のレジスタ、RAM23の所定記憶領域、等に後段側履歴データを記憶する実施形態とすることもできる。また、後段側履歴データ生成手段とその記憶手段を専用のハードウェアで実現することもできる。
認証用履歴データ抽出部334は、本発明の認証用履歴データ抽出手段に相当し、複数種類の期待値と主制御基板310と同一の前記付加方式とに基づいて、主制御基板310から受信した認証情報から複数の認証用履歴データを抽出する。詳細には、認証用履歴データ抽出部334は、認証情報から複数種類の期待値の各々を前記付加方式で削除して複数の認証用履歴データを抽出して周辺側記憶部332に記憶する。即ち、認証用履歴データ抽出部334は、2個の期待値を用いている場合は2個の認証用履歴データを抽出し、また、3個の期待値を用いている場合は3個の認証用履歴データを抽出する。従って、複数の認証用履歴データは、認証情報(認証データ)から複数種類の期待値の各々を削除した値であることから、正規の認証情報を受信していれば、そこから抽出した複数の認証用履歴データのうちの1つは主制御基板310の履歴データとなっている。
後段認証結果データ生成部335は、本発明の後段認証結果データ生成手段に相当し、
認証用履歴データ抽出部334が抽出した複数の認証用履歴データの中に、後段側記憶部332に記憶している最新の後段側履歴データと一致するものが存在するか否かの判定結果に基づいて主制御基板(主制御部)310の認証を行い、該認証結果を示す後段認証結果データを生成して周辺部202Aに送信する。そして、後段認証結果データ生成部335は、後段側履歴データと一致するものが存在した場合、受信した認証情報の履歴データは正当であると判断できるため、認証を成立させる。また、後段認証結果データ生成部335は、後段側履歴データと一致するものが存在しない場合、例えば、不正によって履歴データと後段側履歴データとが相違している、不正な認証情報が用いられた、等が考えられることから、受信した認証情報の履歴データ又は個体識別値は不正なものであると判断できるため、認証を不成立とする。即ち、後段認証結果データは、後段部202Bが主制御基板310(主制御部201)を、通信の継続性(履歴データ)に基づいて認証したか否かの認証結果を示している。
なお、本実施例では、認証用履歴データ抽出部334が複数の認証用履歴データを抽出した後に、後段認証結果データ生成部335が複数の認証用履歴データの各々と後段側履歴データとを比較する場合について説明するが、これに代えて、例えば、認証用履歴データ抽出部334が1つの認証用履歴データを抽出する毎に、後段認証結果データ生成部335が後段側履歴データと比較する構成とすることもできる。
後段側送信部336は、本発明の後段側送信手段に相当し、後段認証結果データ生成部335が生成した後段認証結果データを周辺部202Aに送信する。そして、後段側送信部336は、例えば、前記生成した後段認証結果データを後段認証結果信号として周辺部202Aに送信する。
次に、周辺部202Aは、転送部351と、周辺側受信部352と、処理部353と、を有して構成している。
転送部351は、本発明の転送手段に相当し、主制御基板310から認証情報と複数種類の制御コマンドデータを受信し且つ該受信した認証情報と複数種類の制御コマンドを後段部202Bにそれぞれ転送する。本実施形態の転送部351は、例えば、認証情報に対応した前記認証情報信号と前記制御信号を主制御基板310から受信すると、該認証情報信号と制御信号を後段部202Bにそのまま送信することで、認証情報と制御コマンドデータを後段部202Bに転送している。
周辺側受信部352は、本発明の周辺側受信手段に相当し、周辺基板330の後段部202Bによって送信された前記後段認証結果データ等を受信する。そして、本実施形態の周辺側受信部352は、例えば後段部202Bが送信した前記後段認証結果信号を受信することによって、後段認証結果データを後段部202Bから受信する。
処理部353は、本発明の処理手段に相当し、後段部202Bから受信した後段認証結果データに応じて、ぱちんこ遊技機100における所定の処理を行う。処理部353は、前記後段認証結果データが認証成立を示している場合、主制御基板310から受信した制御信号から制御コマンドを抽出し、該制御コマンドに対応した所定の処理を行う。また、処理部353は、前記後段認証結果データが認証不成立を示している場合、報知を行う。なお、前記所定の処理は、ぱちんこ遊技機100における主制御部201からの制御コマンドに応じて行う、例えば、はずれ処理、大当たりリーチ処理、大当たり開始処理、大当たりラウンド処理、大当たり終了処理、等の処理が挙げられる。
なお、本実施形態では、周辺部202Aと後段部202Bとの間で通信するデータを暗号化しない構成で説明するが、周辺部202Aと後段部202Bとの間で通信するデータについても暗号化する構成とすることもできる。
また、本実施形態では、主制御基板310のCPU211が第1コンピュータ、周辺基板330の周辺部(演出制御部)202AのCPU241が第2コンピュータ、周辺基板330の後段部202BのCPU21が第3コンピュータとして機能させる場合について説明する。そして、主制御基板310のROM212は、前記第1コンピュータを請求項中の履歴データ生成手段、選択手段、認証情報生成手段、主制御側送信手段、等の各種手段として機能させるための主制御側認証プログラムを記憶している。また、周辺基板330の周辺部202AのROM242は、前記第2コンピュータを請求項中の転送手段、周辺側受信手段、処理手段、等の各種手段として機能させるための周辺側認証プログラムを記憶している。また、周辺基板330の後段部202BのROM22は、前記第3コンピュータを請求項中の後段側受信手段、後段側履歴データ生成手段、認証用履歴データ抽出部手段、後段認証結果データ生成手段、後段側送信手段、等の各種手段として機能させるための後段側認証プログラムを記憶している。即ち、主制御側認証プログラムと周辺側認証プログラムと後段側認証プログラムとによって本発明の認証プログラムを構成している。
(ぱちんこ遊技機の基本動作)
上記構成によるぱちんこ遊技機100の基本動作の一例を説明する。主制御部201は、各入賞口に対する遊技球の入賞状況を制御コマンドとして賞球制御部203に出力する。賞球制御部203は、主制御部201から出力された制御コマンドに応じて、入賞状況に対応した賞球数の払い出しを行う。
また、主制御部201は、始動入賞口105に遊技球が入賞するごとに、対応する制御コマンドを演出制御部202Aに出力し、演出制御部202Aは、図柄表示部104の図柄を変動表示させ、停止させることを繰り返す。そして、主制御部201は、大当たりの発生が決定しているときには、対応する制御コマンドを演出制御部202Aに出力し、演出制御部202Aは、所定の図柄で揃えて変動表示を停止させるとともに、大入賞口109を開放する制御を行う。演出制御部202Aは、大当たり発生期間中、および大当たり発生までの間のリーチ時や、リーチ予告時などには、図柄表示部104に対して、図柄の変動表示に加えて各種の演出表示を行う。このほか、各種役物に対して特定の駆動を行ったり、ランプ261の表示状態を補正するなどの演出を行う。
そして、主制御部201は、大当たり発生期間中に、大入賞口109を複数回開放させる。1回の開放が1ラウンドとして、例えば15回のラウンドが繰り返し実行される。1ラウンドの期間は、遊技球が大入賞口109に例えば10個入賞するまでの期間、あるいは所定期間(例えば30秒)とされている。この際、賞球制御部203は、大入賞口109に対する遊技球1個の入賞当たり、例えば15個の賞球数で払い出しを行う。ぱちんこ遊技機100は、大当たり終了後、この大当たり状態を解除し、通常の遊技状態に復帰する。
(各制御部による処理の詳細)
次に、各制御部が行う各種処理の詳細について説明する。まず、主制御部201による演出制御部202Aの制御処理について説明する。なお、図4〜図9においては、演出制御部202Aの制御処理の手順を明確にするため、認証データおよび付随データについては考慮しないものとする。即ち、図4〜図9の説明において、「コマンドを送信する」とは、「当該コマンドを示すデータ(制御コマンドデータ)を含む制御信号を送信する」との意味であり、例えば認証データや付随データの有無は考慮しないものとする。
主制御部201は、図4に示すステップS401において、ぱちんこ遊技機100の電源がオンされたか否かを判定する。主制御部201は、電源がオンされていないと判定した場合(S401:No)、この判定処理を繰り返すことで、ぱちんこ遊技機100の電源がオンされるまで待機する。一方、主制御部201は、電源がオンされたと判定した場合(S401:Yes)、ステップS402の処理に移行する。
主制御部201は、ステップS402において、演出制御部202Aや賞球制御部203などの各周辺部に対して電源オンコマンドを送信し、ステップS403の処理に移行する。この処理によって電源オンコマンドが送信されると、演出制御部202Aは、ランプ制御部251や音声制御部252、図柄表示部104のそれぞれに対して電源オン時の演出用の制御コマンド(具体的には、ランプの点灯や音声の出力、デモストレーション(デモ)画面の表示などを指示する制御コマンド)を送信する。
主制御部201は、ステップS403において、ROM212またはRAM213に記憶している未抽選入賞回数データを参照して、未抽選入賞回数が0回か否かを判別する。未抽選入賞回数とは、始動入賞口105に検出された入賞球の数(入賞回数)から、入賞球に対応する抽選が行われた回数(既抽選回数)を減じた数である。そして、主制御部201は、未抽選入賞回数が0回ではないと判定した場合(S403:No)、ステップ410の処理に移行する。一方、主制御部201は、未抽選入賞回数が0回であると判定した場合(S403:Yes)、ステップS404において、デモが開始されてから経過した時間を計測し、ステップS405の処理に移行する。
主制御部201は、デモが開始されてから所定時間が経過したか否かを判定する。主制御部201は、デモが開始されてから所定時間が経過していないと判定した場合(S405:No)、ステップS407の処理に移行する。一方、主制御部201は、デモが開始されてから所定時間が経過したと判定した場合(S405:Yes)、ステップS406において、演出制御部202Aに客待ちデモコマンドを送信し、ステップS407の処理に移行する。
主制御部201は、ステップS407において、始動入賞口検出部221によって入賞球が検出されたか否かを判定する。主制御部201は、入賞球が検出されていないと判定した場合(S407:No)、ステップS404の処理に戻り、一連の処理を繰り返す。一方、主制御部201は、入賞球が検出されたと判定した場合(S407:Yes)、ステップS408において、デモが開始されてから計測していた時間をクリアし、ステップS409において、未抽選入賞回数に1を加算し、ステップS410の処理に移行する。そして、主制御部201は、ステップS410において、大当たり判定用乱数を取得し、ステップS411において、未抽選入賞回数から1を減算し、図5に示すステップS412の処理に移行する。
主制御部201は、ステップS412において、大当たり判定用乱数が大当たり乱数であるか否かを判定する。主制御部201は、大当たり乱数であると判定した場合(S412:Yes)、ステップS413において、演出制御部202Aに大当たりリーチコマンド(図柄変動コマンド)を送信する。そして、主制御部201は、ステップS414において、図柄変動時間が経過したか否かを判定する。主制御部201は、図柄変動時間が経過していないと判定した場合(S414:No)、この判定処理を繰り返すことで、図柄変動時間が経過するのを待つ。一方、主制御部201は、図柄変動時間が経過したと判定した場合(S414:Yes)、ステップS415において、演出制御部202Aに図柄停止コマンドを送信し、ステップS416の処理に移行する。
主制御部201は、ステップS416において、演出制御部202Aに大当たり開始コマンドを送信し、続けて、ステップS417において、大当たり中の各ラウンドに対応するコマンド(大当たりコマンド)を演出制御部202Aに順次送信する。そして、主制御部201は、全てのラウンドの大当たりコマンドの送信が終了すると、ステップS418において、大当たり終了コマンドを演出制御部202Aに送信し、ステップS422の処理に移行する。
また、主制御部201は、ステップS412において、大当たり乱数ではないと判定した場合(S412:No)、ステップS419において、はずれリーチコマンド(図柄変動コマンド)を演出制御部202Aに送信し、ステップS420の処理に移行する。そして、主制御部201は、ステップS420において、図柄変動時間が経過したか否かを判定する。主制御部201は、図柄変動時間が経過していないと判定した場合(S420:No)、この判定処理を繰り返すことで、図柄変動時間の経過を待つ。一方、主制御部201は、図柄変動時間が経過したと判定した場合(S420:Yes)、ステップS421において、図柄停止コマンドを演出制御部202Aに送信し、ステップS422の処理に移行する。
主制御部201は、ステップS422において、ぱちんこ遊技機100の電源がオフされたか否かを判定する。主制御部201は、電源がオフされていないと判定した場合(S422:No)、図4に示すステップS403の処理に戻り、一連の処理を繰り返す。一方、主制御部201は、電源がオフされたと判定した場合(S422:Yes)、ステップS423において、終了処理コマンドを演出制御部202Aに送信し、本フローチャートによる処理を終了する。
上述した図4及び図5中の各種コマンドが、本発明の制御コマンドに相当し、主制御基板310は各種制御コマンドを送信する毎に、その制御コマンドデータをデータ記憶部311に履歴として記憶している。この制御コマンドデータの記憶に応じて、主制御基板310は、データ記憶部311の履歴データを更新する。なお、履歴データの更新については、認証情報の生成時に更新するようにすれば、主制御基板310の処理負担を軽減することができる。また、周辺基板330の後段部202Bは、各種制御コマンドを受信する毎に、その制御コマンドデータを後段側記憶部332に履歴として記憶しており、後段側記憶部332の後段側履歴データを任意のタイミングで更新する。
次に、ぱちんこ遊技機100における大当たり関連コマンド(大当たりリーチコマンド、大当たり開始コマンド、大当たりコマンド、大当たり終了コマンド)の主制御部201から演出制御部202Aに対する送信タイミングの一例を、図6の図面を参照して説明する。
大当たりリーチコマンドは、実際に大当たりが発生するよりも頻繁に、且つランダムに送信される。また、大当たり開始コマンドは、実際に大当たりが発生した場合に、大当たり状態に移行する際に1度だけ送信される。また、大当たりコマンドは、大当たり状態に移行した後、ラウンド毎に継続的に送信される。また、大当たり終了コマンドは、大当たり状態の全てのラウンドが終了し、通常の状態に移行する際に1度だけ送信される。
以下では、図柄変動時(大当たりリーチコマンド(図5のステップS413を参照)または、はずれリーチコマンド(図5のステップS419を参照)を受信した場合)及び、大当たり時の処理を説明する。
まず、演出制御部202Aによる図柄変動処理について、図7に示すフローチャートを参照して説明する。演出制御部202Aは、図7に示すステップS701において、主制御部201から図柄変動コマンドを受信したか否かを判定する。演出制御部202Aは、図柄変動コマンドを受信していないと判定した場合(S701:No)、この判定処理を繰り返すことで、図柄変動コマンドの受信を待つ。一方、演出制御部202Aは、図柄変動コマンドを受信したと判定した場合(S701:Yes)、ステップS702において、変動演出選択用乱数を取得し、ステップS703において、取得した乱数に基づいて変動演出の種類を選択し、ステップS704の処理に移行する。そして、演出制御部202Aは、ステップS704において、ランプ制御部251や音声制御部252に対して変動演出別の演出開始コマンドを送信し、ステップS705の処理に移行する。
演出制御部202Aは、ステップS705において、演出時間が経過したか否かを判定する。演出制御部202Aは、演出時間が経過したと判定した場合(S705:Yes)、ステップS707の処理に移行する。一方、演出制御部202Aは、演出時間が経過していないと判定した場合(S705:No)、ステップS706において、主制御部201から図柄停止コマンドを受信したか否かを判定する。そして、演出制御部202Aは、図柄停止コマンドを受信していないと判定した場合(S706:No)、ステップS705の処理に戻り、一連の処理を繰り返す。一方、演出制御部202Aは、図柄停止コマンドを受信したと判定した場合(S706:Yes)、ステップS707において、ランプ制御部251や音声制御部252に対して演出停止コマンドを送信し、本フローチャートによる処理を終了する。
続いて、演出制御部202Aによる大当たり時処理について、図8に示すフローチャートを参照して説明する。演出制御部202Aは、図8に示すステップS801において、主制御部201から大当たり開始コマンド(図5のステップS416を参照)を受信したか否かを判定する。演出制御部202Aは、大当たり開始コマンドを受信していないと判定した場合(S801:No)、この判定処理を繰り返すことで、大当たり開始コマンドの受信を待つ。一方、演出制御部202Aは、大当たり開始コマンドを受信したと判定した場合(S801:Yes)、ステップS802において、ランプ制御部251や音声制御部252に対して大当たり開始処理コマンドを送信し、ステップS803の処理に移行する。
演出制御部202Aは、ステップS803において、主制御部201からラウンド別の大当たりコマンド(図5のステップS417を参照)を受信したか否かを判定する。演出制御部202Aは、大当たりコマンドを受信していないと判定した場合(S803:No)、この判定処理を繰り返すことで、大当たりコマンドの受信を待つ。一方、演出制御部202Aは、大当たりコマンドを受信したと判定した場合(S803:Yes)、ステップS804において、ランプ制御部251や音声制御部252に対して受信したラウンド別の大当たりコマンドに対応するラウンド別処理コマンドを送信し、ステップS805の処理に移行する。
演出制御部202Aは、ステップS805において、主制御部201から大当たり終了コマンド(図5のステップS418を参照)を受信したか否かを判定する。演出制御部202Aは、大当たり終了コマンドを受信していないと判定した場合(S805:No)、この判定処理を繰り返すことで、大当たり終了コマンドの受信を待つ。一方、演出制御部202Aは、大当たり終了コマンドを受信したと判定した場合(S805:Yes)、ステップS806において、ランプ制御部251や音声制御部252に対して大当たり終了処理コマンドを送信し、本フローチャートによる処理を終了する。
続いて、ランプ制御部251によるランプ制御処理について、図9に示すフローチャートを参照して説明する。ここでは、演出制御部202Aから演出開始コマンドを受信した場合(図柄変動時)の処理について説明する。そして、ランプ制御部251は、図9に示すステップS901において、演出制御部202Aから演出開始コマンドを受信したか否かを判定する。ランプ制御部251は、演出開始コマンドを受信していないと判定した場合(S901:No)、この判定処理を繰り返すことで、演出開始コマンドの受信を待つ。一方、ランプ制御部251は、演出開始コマンドを受信したと判定した場合(S901:Yes)、ステップS902において、コマンド別に予め用意されているコマンド別データを読み出し、ステップS903の処理に移行する。
ランプ制御部251は、ステップS903において、コマンド別の選択ルーチンを実行し、ステップS904において、受信した演出開始コマンドに対応したランプデータをセットし、ステップS905において、ランプ261に対してランプデータを出力し、ステップS906の処理に移行する。そして、この処理によってランプ261は、ランプデータに基づいて点灯又は消灯する。
ランプ制御部251は、ステップS906において、演出制御部202Aから演出停止コマンドを受信したか否かを判定する。ランプ制御部251は、演出停止コマンドを受信していないと判定した場合(S906:No)、この判定処理を繰り返すことで、演出停止コマンドの受信を待つ。一方、ランプ制御部251は、演出停止コマンドを受信したと判定した場合(S906:Yes)、ステップS907において、ランプデータの出力を停止し、本フローチャートによる処理を終了する。
なお、図9にはランプ制御部251の処理を記載したが、音声制御部252による音声制御も、図9の処理とほぼ同様である。音声制御部252による音声制御処理は、例えば、図9の処理において、ステップS904、S905、S907の「ランプデータ」を「音声データ」と読み替えればよい。
(制御信号のデータフォーマット)
次に、主制御部201が出力する通常の制御信号の一例を説明する。
図10において、通常の制御信号1010は、制御コマンドデータ1001と付随データ1002とを有している。制御コマンドデータ1001は、例えばリーチコマンドや大当たり開始コマンド、ラウンド別コマンドなどの各コマンド固有のデータである。また、付随データ1002は、制御コマンドデータ1001に付随するデータであり、例えば、入賞した遊技球の数などの制御コマンドデータ1001に基づく処理に必要なデータである。
(認証情報のデータフォーマット)
次に、上述した制御信号1010とは異なる認証情報信号が認証情報を有する場合の一例を説明する。なお、本実施形態では、主制御部201が後段部202Bに周辺部202Aを介して認証情報信号を出力することで、認証情報を主制御部201から後段部202Bに送信する場合を前提に説明する。
図11において、認証情報1020は、識別部1021と、データ部1022と、を有して構成している。そして、識別部1021は、認証情報1020を識別することが可能な識別データが設定される。識別データの一例としては、相異なる複数種類の認証コマンドが挙げられ、例えば16進数の0xA0、0xB0、等の値が設定される。これにより、後段部202Bは、識別部1021に基づいて複数種類の認証情報1020の各々の識別することができる。そして、認証コマンドは、上述した制御コマンドデータ1001の制御コマンドと異なるコマンドとすることで、制御コマンドデータ1001との区別化を図ることができる。
データ部1022は、上述した履歴データ又は個体識別値の何れか一方が認証データとして設定される。本実施形態のデータ部1022は、履歴データ又は個体識別値の何れかが設定される場合について説明するが、これに代えて、履歴データ又は個体識別値の各々と他のデータを付随させてデータ部1022に設定する実施形態とすることもできる。
なお、本実施例では、認証情報1020が識別部1021とデータ部1022を有する構成の場合について説明するが、これに代えて、例えば、データ部1022のみを有する構成、データ部1022と他の付随データが設定される付随データ部とを有する構成、等の種々異なる構成とすることができる。
続いて、図11に示す後段認証結果信号は、後段部202Bが上述した認証情報1020を用いて主制御部201の認証を行った認証結果を示す後段認証結果情報1030を周辺部202Aに送信する。そして、後段認証結果情報1030は、識別部1031と結果部1032とを有して構成している。識別部1031は、後段認証結果情報1030を識別することが可能な識別データが設定される。なお、識別データとしては、認証情報1020の識別部1021に設定されたデータを流用する、予め定められたデータを用いる、など種々異なる実施形態とすることができる。そして、結果部1032は、後段部202Bが主制御基板310を認証したか否かを示す認証結果データが設定される。なお、結果部1032は、認証不成立を示している場合、例えば、履歴データの不一致によって不成立となったことを示す詳細データを有している。
(付加方式の一例)
付加方式は、例えば、四則演算、XOR、XNOR等の中から1つの演算方式をぱちんこ遊技機100において予め定めておく。そして、付加方式を四則演算の「+」と定めた場合、主制御基板310は、選択した個体識別値を履歴データに加算した認証データをデータ部1022にセットして認証情報1020を生成する。一方、周辺基板330の後段部202Bは、受信した認証情報1020のデータ部1022にセットされたデータから複数種類の期待値の各々を減算して複数の認証用履歴データを抽出する。そして、複数種類の期待値は複数種類の個体識別値と一致していることから、周辺基板330の後段部202Bがその期待値を削除すれば、抽出した複数の認証用データの中に1つの正規の履歴データが抽出できたことになるため、それは後段側履歴データと一致している筈である。
また、付加方式を四則演算の「−」と定めた場合、主制御基板310は、選択した個体識別値を履歴データから減算した認証データをデータ部1022にセットして認証情報1020を生成する。一方、周辺基板330の後段部202Bは、受信した認証情報1020のデータ部1022にセットされたデータから複数種類の期待値の各々を加算して複数の認証用履歴データを抽出する。このように実施しても、複数種類の期待値は複数種類の個体識別値と一致していることから、周辺基板330の後段部202Bがその期待値を加算すれば、抽出した複数の認証用データの中に1つの正規の履歴データが抽出できたことになるため、それは後段側履歴データと一致している筈である。
よって、付加方式は、周辺基板330の後段部202Bが逆演算可能な演算方式であれば、どのような演算方式を用いてもよい。また、本実施形態では、主制御基板310が履歴データに個体識別値のみを付加する場合について説明するが、これに代えて、個体識別値と周辺基板330の後段部202Bとの間で予め定められた付加用データ(例えば、所定の値)の双方を付加するなどの種々異なる実施形態とすることができる。
(認証情報信号の送受信に関する処理)
以下に、主制御部201と後段部202Bとの間で行う上記認証情報信号の通信例を説明する。まず、主制御部201のCPU211(第1コンピュータ)による認証情報信号の送信手順の一例を、図12のフローチャートを参照して説明する。
ぱちんこ遊技機100の電源がON(投入)されると、主制御部201は図12に示す被認証側処理を実行し、ステップS1201において、データ記憶部311に記憶されている制御コマンドに基づいて、制御コマンドが発生しているか否かを判定する。主制御部201は、制御コマンドが発生していないと判定した場合(S1201:No)、ステップS1203の処理に進む。一方、主制御部201は、制御コマンドが発生していると判定した場合(S1201:Yes)、ステップS1202において、データ記憶部311の履歴生成方式データと該履歴生成方式が生成対象とする制御コマンドデータに基づいて、履歴データを生成してデータ記憶部311に記憶し、その後ステップS1203の処理に進む。
主制御部201は、ステップS1203において、予め定められた認証タイミングであるか否かを判定する。主制御部201は、認証タイミングではないと判定した場合(S1203:No)、ステップS1209の処理に進む。一方、主制御部201は、認証タイミングであると判定した場合(S1203:Yes)、ステップS1204の処理に進む。
主制御部201は、ステップS1204において、乱数、抽出用ソフトウェア、等に基づいて、データ記憶部311に記憶している複数種類の個体識別値の中から1つの個体識別値を無作為に抽出してRAM213等に記憶し、その後ステップS1205の処理に進む。そして、主制御部201は、ステップS1205において、前記抽出した個体識別値を、データ記憶部311に記憶している最新の履歴データに前記付加方式で付加した認証データ(合成値)を生成し、その後ステップS1206に進む。
主制御部201は、ステップS1206において、識別部1021に認証コマンドC、データ部1022に認証データを設定した認証情報1020を生成してデータ記憶部311に記憶し、その後ステップS1207の処理に進む。そして、主制御部201は、ステップS1207において、前記今回生成した認証情報1020を、後段部202Bとの間で予め定められた暗号化方法で暗号化し、ステップS1208において、前記暗号化した認証情報1020に基づいて認証情報信号を生成して主制御側送信部315から周辺部202Aに対して送信し、その後ステップS1209の処理に進む。なお、主制御部201と後段部202Bとの間で暗号化が不要な場合は、ステップS1207の処理を削除して、認証情報1020をそのまま後段部202Bに送信する。
主制御部201は、ステップS1209において、ぱちんこ遊技機100の電源がオフされたか否かを判定する。そして、主制御部201は、電源がオフされていないと判定した場合(S1209:No)、ステップS1201の処理に戻り、一連の処理を繰り返す。一方、主制御部201は、電源がオフされたと判定した場合(S1209:Yes)、本フローチャートによる処理を終了する。
続いて、後段部202BのCPU21(第3コンピュータ)による前記認証情報信号の受信処理の手順を、図13のフローチャートを参照して説明する。
後段部202Bは、図13に示す認証側処理を実行すると、ステップS1301において、後段側記憶部332が記憶している制御コマンドに基づいて、後段側受信部331が主制御部201から制御コマンドを受信しているか否かを判定する。後段部202Bは、制御コマンドを受信していないと判定した場合(S1301:No)、ステップS1303の処理に進む。一方、後段部202Bは、制御コマンドを受信していると判定した場合(S1301:Yes)、ステップS1302において、主制御部201と同様に、後段側記憶部332の履歴生成方式データと該履歴生成方式が生成対象とする制御コマンドデータに基づいて、後段側履歴データを生成して後段側記憶部332に記憶し、その後ステップS1303の処理に進む。
後段部202Bは、ステップS1303において、後段側受信部331によって主制御部201から認証情報(認証情報信号)1020を受信したか否かを判定する。後段部202Bは、認証情報1020を受信していないと判定した場合(S1303:No)、ステップS1310の処理に進む。一方、後段部202Bは、認証情報1020を受信したと判定した場合(S1303:Yes)、ステップS1304の処理に進む。
後段部202Bは、ステップS1304において、受信した認証情報1020を主制御部201の前記暗号化方式に対応した復号化方式で復号化し、該認証情報1020のデータ部1022から認証データを抽出して後段側記憶部332に記憶し、該認証データから後段側記憶部332の複数の期待値の各々を削除して複数の認証用履歴データを抽出して後段側記憶部332に記憶し、その後ステップS1305の処理に進む。なお、主制御部201と後段部202Bとの間で暗号化が不要な場合は、ステップS1304における復号化処理を削除する。
後段部202Bは、ステップS1305において、前記抽出した複数の認証用履歴データの各々と後段側記憶部332に記憶している最新の後段側履歴データを比較し、後段側履歴データと一致する認証用履歴データが存在したか否かの判定結果を後段側記憶部332等に記憶し、その後ステップS1306に進む。
後段部202Bは、ステップS1306において、一致する認証用履歴データが存在したと判定した場合(S1306:Yes)、履歴データと後段側履歴データが一致しており、通信の継続性は正当であることから、ステップS1307において、主制御部201の認証を成立させ、該履歴による認証成立を示す後段認証結果データを生成してRAM23等に記憶し、その後ステップS1309の処理に進む。一方、後段部202Bは、一致する認証用履歴データが存在していないと判定した場合(S1306:No)、通信の継続性が正当ではない、又は、不正な認証情報であることから、ステップS1308において、主制御部201に対する認証を不成立とし、該認証不成立を示す後段認証結果データを生成してRAM23等に記憶し、その後ステップS1309の処理に進む。
後段部202Bは、ステップS1309において、前記生成した後段認証結果データを結果部1032に設定して後段認証結果情報1030を生成し、該後段認証結果情報1030を付加した後段認証結果信号を生成して後段側送信部336から周辺部202Aに対して送信し、その後ステップS1310の処理に進む。
後段部202Bは、ステップS1310において、ぱちんこ遊技機100の電源がオフされたか否かを判定する。そして、後段部202Bは、電源がオフされていないと判定した場合(S1310:No)、ステップS1301の処理に戻り、一連の処理を繰り返す。一方、後段部202Bは、電源がオフされたと判定した場合(S1310:Yes)、本フローチャートによる処理を終了する。
続いて、周辺部202AのCPU241(第2コンピュータ)による各種制御信号及び後段認証結果信号のの受信処理の手順を、図14のフローチャートを参照して説明する。
周辺部202Aは、ステップS1401において、主制御部201から制御信号1010を受信したか否かを判定する。周辺部202Aは、制御信号1010を受信したと判定した場合(S1401:Yes)、ステップS1402において、制御信号1010をそのまま転送部351から後段部202Bに転送(送信)し、その後ステップS1403の処理に進む。そして、周辺部202Aは、ステップS1403において、受信した制御信号1010に含まれている制御コマンドデータ1001および付随データ1002に基づく所定の処理を行い、その後ステップS1408の処理に進む。
一方、周辺部202Aは、制御信号1010を受信していないと判定した場合(S1401:No)、ステップS1404において、主制御部201から認証情報(認証情報信号)1020を受信したか否かを判定する。周辺部202Aは、認証情報1020を受信したと判定した場合(S1404:Yes)、ステップS1405において、その認証情報1020をそのまま転送部351から後段部202Bに転送(送信)し、その後ステップS1408の処理に進む。一方、周辺部202Aは、認証情報1020を受信していないと判定した場合(S1404:No)、ステップS1406の処理に進む。
周辺部202Aは、ステップS1406において、受信した信号が識別部1031を有しているか否か等に基づいて、後段部202Bから後段認証結果信号を受信したか否かを判定する。そして、周辺部202Aは、後段認証結果信号を受信していないと判定した場合(S1406:No)、ステップS1408の処理に進む。一方、周辺部202Aは、後段認証結果信号を受信していると判定した場合(S1406:Yes)、ステップS1407の処理に進む。
周辺部202Aは、ステップS1407において、受信した後段認証結果信号の結果部1032を参照して、後段認証結果信号は認証成立を示しているか否かを判定する。そして、周辺部202Aは、後段認証結果が認証成立を示していると判定した場合(S1407:Yes)、その認証結果をRAM243等に記憶し、その後ステップS1408の処理に進む。
周辺部202Aは、ステップS1408において、ぱちんこ遊技機100の電源がオフされたか否かを判定する。そして、周辺部202Aは、電源がオフされていないと判定した場合(S1408:No)、ステップS1401の処理に戻り、一連の処理を繰り返す。一方、周辺部202Aは、電源がオフされたと判定した場合(S1408:Yes)、本フローチャートによる処理を終了する。
一方、周辺部202Aは、ステップS1407で後段認証結果が認証成立を示していないと判定した場合(S1407:No)、ステップS1409において、例えばスピーカ262(図2参照)等から報知信号を出力して、本フローチャートによる処理を終了する。なお、後段認証結果が認証成立を示していない、即ち、認証不成立を示している場合の周辺部202Aの処理については、報知信号を出力するだけで、周辺部202Aの処理を継続させるようにしてもよい。
(認証処理の手順例)
次に、ぱちんこ遊技機100において、主制御基板310と周辺基板330の後段部202Bが2つの個体識別値及び期待値を用いる場合の認証例を、図15の図面を参照して説明する。
まず、前提条件として、主制御基板310は、2つの個体識別値A1、A2をデータ記憶部311に予め記憶しておき、付加方式を「+」としている。一方、周辺基板330の後段部202Bは、主制御基板310の個体識別値A1、A2と一致する2つの期待値B1、B2を後段側記憶部332に予め記憶しておき、主制御基板310の付加方式が「+」であることを記憶している。即ち、周辺基板330の後段部202Bは、主制御基板310とは逆の付加方式である「−」を記憶している。
図15において、被認証者である主制御基板310は、ぱちんこ遊技機100の動作に応じて制御コマンドを周辺基板330の周辺部202Aに送信すると、該制御コマンドをデータ記憶部311に記憶する(S1501)。そして、主制御基板310は、該送信した制御コマンドと履歴生成方式に基づいて履歴データを生成してデータ記憶部311に記憶する(S1502)。一方、周辺基板330の周辺部202Aは、制御コマンドを受信すると、該制御コマンドを周辺基板330の後段部202Bに転送する(S1541)。そして、周辺部202Aは、該受信した制御コマンドに対応した所定の処理を行う(S1542)。一方、後段部202Bは、周辺部202Aから受信した制御コマンドを後段側記憶部332に記憶し(S1571)、主制御基板310と同様に、該受信した制御コマンドと履歴生成方式に基づいて後段側履歴データを生成して後段側記憶部332に記憶する(S1572)。
その後、主制御基板310は、2つの個体識別値A1、A2のうち、無作為に1つの個体識別値A1を選択すると(S1503)、該選択した個体識別値A1を最新の履歴データに加算(付加)した認証データC1を有する認証情報1020を生成して周辺基板310の周辺部202Aに送信する(S1504)。一方、周辺基板330の周辺部202Aは、主制御基板310から受信した認証情報1020を周辺基板330の後段部202Bに転送する(S1543)。一方、後段部202Bは、受信した認証情報1020の認証データC1から複数の期待値B1、B2の各々を減算(削除)して認証用履歴データC1−B1、C1−B2を抽出し、該認証用履歴データC1−B1、C1−B2と最新の周辺側履歴データが一致するか否かに基づいて、主制御基板310との制御コマンドの通信の継続性に基づく認証を行う(S1573)。そして、後段部202Bは、その認証結果を示す後段認証結果データを生成して周辺基板330の周辺部202Aに送信する(S1574)。一方、周辺部202Aは、受信した後段認証結果データをRAM243等に記憶する。
主制御基板310は、次の制御コマンドを周辺基板330の周辺部202Aに送信すると、該制御コマンドをデータ記憶部311に記憶する(S1505)。そして、主制御基板310は、該送信した制御コマンドと履歴生成方式に基づいて履歴データを生成してデータ記憶部311に記憶する(S1506)。一方、周辺基板330の周辺部202Aは、制御コマンドを受信すると、該制御コマンドを周辺基板330の後段部202Bに転送する(S1544)。そして、周辺部202Aは、前記後段認証結果データが正常を示していると、該受信した制御コマンドに対応した所定の処理を行う(S1545)。一方、後段部202Bは、周辺部202Aから受信した制御コマンドを後段側記憶部332に記憶し(S1575)、主制御基板310と同様に、該受信した制御コマンドと履歴生成方式に基づいて後段側履歴データを生成して後段側記憶部332に記憶する(S1576)。
その後、主制御基板310は、2つの個体識別値A1、A2のうち、無作為に1つの個体識別値A2を選択すると(S1507)、該選択した個体識別値A2を最新の履歴データに加算(付加)した認証データC2を有する認証情報1020を生成して周辺基板310の周辺部202Aに送信する(S1508)。一方、周辺基板330の周辺部202Aは、主制御基板310から受信した認証情報1020を周辺基板330の後段部202Bに転送する(S1546)。一方、後段部202Bは、受信した認証情報1020の認証データC2から複数の期待値B1、B2の各々を減算(削除)して認証用履歴データC2−B1、C2−B2を抽出し、該認証用履歴データC2−B1、C2−B2と最新の後段側履歴データが一致するか否かに基づいて、主制御基板310との制御コマンドの通信の継続性に基づく認証を行う(S1577)。そして、後段部202Bは、その認証結果を示す後段認証結果データを生成して周辺基板330の周辺部202Aに送信する(S1578)。一方、周辺部202Aは、受信した後段認証結果データをRAM243等に記憶する。
主制御基板310は、次の制御コマンドを周辺基板330の周辺部202Aに送信すると、該制御コマンドをデータ記憶部311に記憶する(S1509)。そして、主制御基板310は、該送信した制御コマンドと履歴生成方式に基づいて履歴データを生成してデータ記憶部311に記憶する(S1510)。一方、周辺基板330の周辺部202Aは、制御コマンドを受信すると、該制御コマンドを周辺基板330の後段部202Bに転送する(S1547)。そして、周辺部202Aは、前記後段認証結果データが正常を示していると、該受信した制御コマンドに対応した所定の処理を行う(S1548)。一方、後段部202Bは、周辺部202Aから受信した制御コマンドを後段側記憶部332に記憶し(S1579)、主制御基板310と同様に、該受信した制御コマンドと履歴生成方式に基づいて後段側履歴データを生成して後段側記憶部332に記憶する(S1580)。
その後、主制御基板310は、2つの個体識別値A1、A2のうち、無作為に1つの個体識別値A2を選択すると(S1511)、該選択した個体識別値A2を最新の履歴データに加算(付加)した認証データC3を有する認証情報1020を生成して周辺基板310の周辺部202Aに送信する(S1512)。一方、周辺基板330の周辺部202Aは、主制御基板310から受信した認証情報1020を周辺基板330の後段部202Bに転送する(S1549)。一方、周辺基板330の後段部202Bは、受信した認証情報1020の認証データC3から複数の期待値B1、B2の各々を減算(削除)して認証用履歴データC3−B1、C3−B2を抽出し、該認証用履歴データC3−B1、C3−B2と最新の後段側履歴データが一致するか否かに基づいて、主制御基板310との制御コマンドの通信の継続性に基づく認証を行う(S1581)。後段部202Bは、その認証結果を示す後段認証結果データを生成して周辺基板330の周辺部202Aに送信する(S1582)。そして、以降も同様の処理を行う。
以上説明したぱちんこ遊技機100によれば、主制御部201が制御コマンドの履歴を示す履歴データに、無作為に選択した個体識別値を付加した認証情報1020を生成して後段部202Bに送信するようにしたことから、後段部202Bが認証情報1020の履歴データを主制御部201の認証に用いても、無作為に選択した個体識別値が不規則に変化するため、認証情報1020の規則性がなくなり、認証情報1020に対する不正解析の防止を期待することができる。また、主制御部201は、複数種類の個体識別値から1つの個体識別値を無作為に選択して履歴データに付加するだけでよいため、主制御部201に記憶するプログラムのコード量の増加及び主制御部201の処理負荷の増加を抑止することができる。さらに、主制御部201は複数種類の個体識別値を予め記憶しておくことができるため、認証情報1020の生成時に複雑な演算を行う必要がなくなり、主制御部201の処理負担の増加を防止できる。一方、後段部202Bは、履歴データに基づいて制御コマンドの通信継続性を確認して認証するようにしたことから、不正な制御コマンドによる不正な通信切り替えを検出することができるため、不正な通信切り替え防止に貢献することができる。しかも、後段部202Bは、認証情報1020から複数種類の期待値を用いて認証用履歴データを抽出することから、履歴データに正規の個体識別値が付加されていない場合、認証用履歴データと後段側履歴データは一致しないため、不正を確実に検出することができる。さらに、後段部202Bが複数種類の期待値の各々と認証情報1020との全ての組み合わせを確認して主制御部201の認証を行うようにしたことから、主制御部201は個体識別値を単に選択するだけで良くなり、複雑な処理を盛り込む必要がなくすことができる。また、例えば主制御部201と後段部202Bとの間に不正基板などが介入するような場合、該不正基板における解析負荷が増大するために処理能力を高くしなければならないため、コストや設計難易度を増大させて、不正基板の製作抑止に貢献することができる。さらに、後段部202Bが主制御部201に対する認証処理を行い、その後段認証結果を周辺部202Aに送信するようにしたことから、周辺部202Aは認証処理を行わずに後段認証結果を参照するだけで良いため、周辺部202AのCPU241の処理負荷を軽減することができる。また、後段部202Bが主制御部201からの制御コマンドの履歴を管理するようにしたことから、周辺部202Aでは制御コマンドの履歴管理が不要となるため、セキュリティの向上による周辺部202Aの処理負担の増加を防止することができる。しかも、周辺部202Aは、主制御部201から受信した制御コマンドを後段部202Bに転送して所定の処理を行うことができることから、周辺部202Aと後段部202Bが同時に処理を行うことができるため、周辺部202Aにおける所定の処理に遅れが生じることを防止できる。従って、主制御部201の処理負担を最小限にして制御コマンドの通信継続性が確認できて、認証に用いる認証情報2010の解析を困難にすることができ且つ周辺部202AのCPU241の処理負荷を軽減することができる。
上述したぱちんこ遊技機100において、履歴データ及び後段側履歴データが複数回分の制御コマンドの履歴を示すようにすれば、認証情報1020の送信回数を減らしても、その間に生じた制御コマンドの不正を検出することができるため、認証精度の向上を図ることができる。そして、履歴データ及び後段側履歴データを過去の履歴データを演算した値とすることで、不正な解析者による解析をより一層困難とすることができる。
[実施例2]
以下に、上述したぱちんこ遊技機100の実施例2を説明する。なお、上述した実施例1の構成と同一部分については、同一の符号を付して異なる部分のみを詳細に説明する。
(主制御基板および周辺基板の機能的構成)
まず、ぱちんこ遊技機100は、上述した図2に示す制御部200を備えている。制御部200は、主制御部201と、演出制御部(周辺部)202Aと、後段部202Bと、賞球制御部203と、を有している。そして、ぱちんこ遊技機100は、図21に示すように、主制御部201としての機能を有する主制御基板310と、上述した演出制御部202Aと後段部202Bを有する周辺基板330と、を有して構成している。そして、主制御基板310は周辺基板330の周辺部202Aと単方向通信が可能なように電気的に接続されている。
主制御基板310は、上述したデータ記憶部311、履歴データ生成部312、選択部313、認証情報記憶部314、主制御側送信部315と、図3中の破線で示す制御コマンド検出部316と、付加方式切替部317と、を有して構成している。
制御コマンド検出部316は、本発明の制御コマンド検出手段に相当し、ぱちんこ遊技機100における複数種類の制御コマンドの中から予め定められ且つデータ記憶部311に記憶している検出対象制御コマンド情報に設定されている検出対象制御コマンドの発生又は周辺基板330の周辺部202Aへの送信を検出する。また、制御コマンド検出部316は、ぱちんこ遊技機100の起動、最初の認証情報2010の生成又は送信、等に応じて検出を開始することができる。なお、検出対象制御コマンドとしては、複数種類の制御コマンドの中の1種類の制御コマンドとしても良いし、2種類以上の制御コマンドとしても良い。
付加方式切替部317は、本発明の付加方式切替手段に相当し、制御コマンド検出部316の検出対象制御コマンドの検出に応じて、前記認証情報生成部314が用いる前記付加方式を予め定められた切替方式で切り替える。本実施形態では、切替方式として、複数の付加方式をテーブルとした切替情報をデータ記憶部311に記憶している。なお、切替情報の一例としては、相異なる付加方式D1、D2とその順番を規定するテーブル等が挙げられる。そして、付加方式切替部317は、制御コマンド検出部316の検出に応じて、前記切替情報に基づいてデータ記憶部311に記憶している付加方式データを付加方式D1、D2を切り替える。これにより、認証情報生成部314はデータ記憶部311の付加方式データを参照することで、付加方式切替部317によって切り替えられた付加方式で履歴データに個体識別値を付加して認証情報1020を生成することになる。
続いて、図3に示す周辺基板330の周辺部202Aは、実施例1と同様に、上述した転送部351、周辺側受信部352、処理部353を有して構成している。そして、後段部202Bも、実施例1と同様に、後段側受信部331、後段側記憶部332、後段側履歴データ生成部333、認証用履歴データ抽出部334、後段認証結果データ生成部335、後段側送信部336と、図3中の破線で示す後段側制御コマンド検出部337と、後段側付加方式切替部338と、を有して構成している。なお、周辺基板330の基本構成は実施例1と同一であるため、異なる部分のみを詳細に説明し、その他の説明は省略する。
後段側制御コマンド検出部337は、本発明の後段側制御コマンド検出手段に相当し、ぱちんこ遊技機100における複数種類の制御コマンドの中から予め定められ且つ主制御側記憶部332に予め記憶している主制御基板310と同一の前記検出対象制御コマンド情報に設定されている検出対象制御コマンドの主制御基板310からの周辺部202Aを介した受信を検出する。また、後段側制御コマンド検出部337は、ぱちんこ遊技機100の起動、主制御基板310からの最初の認証情報2010の受信、等に応じて検出を開始することができる。なお、検出対象制御コマンドとしては、主制御基板310と同様に、複数種類の制御コマンドの中の1種類の制御コマンドとしても良いし、2種類以上の制御コマンドとしても良い。
後段側付加方式切替部338は、本発明の後段側付加方式切替手段に相当し、後段側制御コマンド検出部337の検出に応じて、前記認証用履歴データ抽出部334が用いる前記付加方式を前記主制御基板310と同一の前記切替方式(切替情報)で切り替える。即ち、周辺基板310の後段部202Bは、主制御基板310と同一の前記切替情報を後段側記憶部332に予め記憶している。そして、後段側付加方式切替部338は、主制御基板310と同様に、後段側制御コマンド検出部337の検出対象制御コマンドの検出に応じて、前記認証用履歴データ抽出部334が用いる前記付加方式を予め定められた切替方式で切り替える。これにより、前記認証用履歴データ抽出部334は後段側記憶部332の付加方式データを参照することで、後段側付加方式切替部338によって切り替えられた付加方式で認証情報1020から複数の認証用履歴データを抽出することになる。
また、実施例2についても、主制御基板310のCPU211が第1コンピュータ、周辺基板330の周辺部(演出制御部)202AのCPU241が第2コンピュータ、周辺基板330の後段部202BのCPU21が第3コンピュータとして機能させる場合について説明する。そして、主制御基板310のROM212は、前記第1コンピュータを請求項中の履歴データ生成手段、選択手段、認証情報生成手段、主制御側送信手段、制御コマンド検出手段、付加方式切替手段、等の各種手段として機能させるための主制御側認証プログラムを記憶している。また、周辺基板330の周辺部202AのROM242は、前記第2コンピュータを請求項中の転送手段、周辺側受信手段、処理手段、等の各種手段として機能させるための周辺側認証プログラムを記憶している。また、周辺基板330の後段部202BのROM22は、前記第3コンピュータを請求項中の後段側受信手段、後段側履歴データ生成手段、認証用履歴データ抽出手段、後段認証結果データ生成手段、後段側送信手段、後段側制御コマンド検出手段、後段側付加方式切替手段、等の各種手段として機能させるための後段側認証プログラムを記憶している。即ち、主制御側認証プログラムと周辺側認証プログラムと後段側認証プログラムとによって本発明の認証プログラムを構成している。
(認証情報信号の送受信に関する処理2)
以下に、主制御部201と周辺基板330の後段部202Bとの間で行う上記認証情報信号の通信例2を説明する。まず、主制御部201のCPU211(第1コンピュータ)による上記認証情報信号の送信手順2の一例を、図16のフローチャートを参照して説明する。
ぱちんこ遊技機100の電源がON(投入)されると、主制御部201は図16に示す被認証側処理を実行し、ステップS1601において、データ記憶部311に記憶されている制御コマンドに基づいて、制御コマンドが発生しているか否かを判定する。主制御部201は、制御コマンドが発生していないと判定した場合(S1601:No)、ステップS1605の処理に進む。一方、主制御部201は、制御コマンドが発生していると判定した場合(S1601:Yes)、ステップS1602において、データ記憶部311の履歴生成方式データと該履歴生成方式が生成対象とする制御コマンドデータに基づいて、履歴データを生成してデータ記憶部311に記憶し、その後ステップS1603の処理に進む。
主制御部201は、ステップS1603において、前記発生した制御コマンドが、前記データ記憶部311に記憶している検出対象制御コマンド情報が示す検出対象制御コマンドであるか否かを判定する。主制御部201は、検出対象制御コマンドではないと判定した場合(S1603:No)、ステップS1605の処理に進む。一方、主制御部201は、検出対象制御コマンドであると判定した場合(S1603:Yes)、ステップS1604において、前記切替情報を参照して複数の付加方式を切り替え、該切り替えた付加方式を示すようにデータ記憶部311の付加方式データを更新し、その後ステップS1605の処理に進む。
主制御部201は、ステップS1605において、予め定められた認証タイミングであるか否かを判定する。主制御部201は、認証タイミングではないと判定した場合(S1605:No)、ステップS1611の処理に進む。一方、主制御部201は、認証タイミングであると判定した場合(S1605:Yes)、ステップS1606の処理に進む。
主制御部201は、ステップS1606において、乱数、抽出用ソフトウェア、等に基づいて、データ記憶部311に記憶している複数種類の個体識別値の中から1つの個体識別値を無作為に抽出してRAM213等に記憶し、その後ステップS1607の処理に進む。そして、主制御部201は、ステップS1607において、前記抽出した個体識別値を、データ記憶部311に記憶している最新の履歴データに前記付加方式で付加した認証データ(合成値)を生成し、その後ステップS1608に進む。
主制御部201は、ステップS1608において、識別部1021に認証コマンドC、データ部1022に認証データを設定した認証情報1020を生成してデータ記憶部311に記憶し、その後ステップS1609の処理に進む。そして、主制御部201は、ステップS1609において、前記今回生成した認証情報1020を、後段部202Bとの間で予め定められた暗号化方法で暗号化し、ステップS1610において、前記暗号化した認証情報1020に基づいて認証情報信号を生成して主制御側送信部315から周辺部202Aに対して送信し、その後ステップS1611の処理に進む。なお、主制御部201と後段部202Bとの間で暗号化が不要な場合は、ステップS1609の処理を削除して、認証情報1020をそのまま後段部202Bに送信する。
主制御部201は、ステップS1611において、ぱちんこ遊技機100の電源がオフされたか否かを判定する。そして、主制御部201は、電源がオフされていないと判定した場合(S1611:No)、ステップS1601の処理に戻り、一連の処理を繰り返す。一方、主制御部201は、電源がオフされたと判定した場合(S1611:Yes)、本フローチャートによる処理を終了する。
続いて、後段部202AのCPU21(第3コンピュータ)による前記認証情報信号の受信処理の手順2を、図17のフローチャートを参照して説明する。
後段部202Bは、図17に示す認証側処理を実行すると、ステップS1701において、後段側記憶部332が記憶している制御コマンドに基づいて、後段側受信部331が主制御部201から制御コマンドを受信しているか否かを判定する。後段部202Bは、制御コマンドを受信していないと判定した場合(S1701:No)、ステップS1705の処理に進む。一方、後段部202Bは、制御コマンドを受信していると判定した場合(S1701:Yes)、ステップS1702において、主制御部201と同様に、後段側記憶部332の履歴生成方式データと該履歴生成方式が生成対象とする制御コマンドデータに基づいて、後段側履歴データを生成して後段側記憶部332に記憶し、その後ステップS1703の処理に進む。
後段部202Bは、ステップS1703において、前記受信した制御コマンドが、前記後段側記憶部332に記憶している検出対象制御コマンド情報が示す検出対象制御コマンドであるか否かを判定する。後段部202Bは、検出対象制御コマンドではないと判定した場合(S1703:No)、ステップS1705の処理に進む。一方、後段部202Bは、検出対象制御コマンドであると判定した場合(S1703:Yes)、ステップS1704において、主制御部201と同様に、前記切替情報を参照して複数の付加方式を切り替え、該切り替えた付加方式を示すように後段側記憶部332の付加方式データを更新し、その後ステップS1705の処理に進む。
後段部202Bは、ステップS1705において、後段側受信部331によって主制御部201から認証情報(認証情報信号)1020を周辺部202Aを介して受信したか否かを判定する。後段部202Bは、認証情報1020を受信していないと判定した場合(S1705:No)、ステップS1712の処理に進む。一方、後段部202Bは、認証情報1020を受信したと判定した場合(S1705:Yes)、ステップS1706の処理に進む。
後段部202Bは、ステップS1706において、受信した認証情報1020を主制御部201の前記暗号化方式に対応した復号化方式で復号化し、該認証情報1020のデータ部1022から認証データを抽出して後段側記憶部332に記憶し、該認証データから後段側記憶部332の複数の期待値の各々を削除して複数の認証用履歴データを抽出して後段側記憶部332に記憶し、その後ステップS1707の処理に進む。なお、主制御部201と後段部202Bとの間で暗号化が不要な場合は、ステップS1706における復号化処理を削除する。
後段部202Bは、ステップS1707において、前記抽出した複数の認証用履歴データの各々と後段側記憶部332に記憶している最新の後段側履歴データを比較し、後段側履歴データと一致する認証用履歴データが存在したか否かの判定結果を後段側記憶部332等に記憶し、その後ステップS1708に進む。
後段部202Bは、ステップS1708において、一致する認証用履歴データが存在したと判定した場合(S1708:Yes)、履歴データと後段側履歴データが一致しており、通信の継続性は正当であることから、ステップS1709において、主制御部201の認証を成立させ、該履歴による認証成立を示す後段認証結果データを生成してRAM23等に記憶し、その後ステップS1711の処理に進む。一方、後段部202Bは、一致する認証用履歴データが存在していないと判定した場合(S1708:No)、通信の継続性が正当ではない、又は、不正な認証情報であることから、ステップS1710において、主制御部201に対する認証を不成立とし、該認証不成立を示す後段認証結果データを生成してRAM23等に記憶し、その後ステップS1711の処理に進む。
後段部202Bは、ステップS1711において、前記生成した後段認証結果データを結果部1032に設定して後段認証結果情報1030を生成し、該後段認証結果情報1030を付加した後段認証結果信号を生成して後段側送信部336から周辺部202Aに対して送信し、その後ステップS1712の処理に進む。
後段部202Bは、ステップS1712において、ぱちんこ遊技機100の電源がオフされたか否かを判定する。そして、後段部202Bは、電源がオフされていないと判定した場合(S1712:No)、ステップS1701の処理に戻り、一連の処理を繰り返す。一方、後段部202Bは、電源がオフされたと判定した場合(S1712:Yes)、本フローチャートによる処理を終了する。
続いて、周辺基板330における周辺部202AのCPU241(第2コンピュータ)が行う上記制御信号と上記後段認証結果信号の受信処理の手順は、実施例1の図14に示す処理をそのまま用いることができるため、詳細な説明は省略する。
(認証処理における付加方式の切り替え手順例)
次に、ぱちんこ遊技機100において、主制御基板310と周辺基板330の後段部202Bが2つの個体識別値及び期待値を用いる場合の認証例2を、図18〜19の図面を参照して説明する。
まず、前提条件として、主制御基板310は、2つの個体識別値A1、A2をデータ記憶部311に予め記憶しておき、付加方式D1が「+」、付加方式D2が「−」としている。一方、周辺基板330の後段部202Bは、主制御基板310の個体識別値A1、A2と一致する2つの期待値B1、B2を後段側記憶部332に予め記憶しておき、主制御基板310と同一の付加方式D1、D2を記憶している。そして、主制御基板310及び周辺基板330の後段部202Bは、初期設定を付加方式D1とし、前記切替情報は付加方式D1、D2の順番での切り替えを示している。
図18において、被認証者である主制御基板310は、ぱちんこ遊技機100の動作に応じて制御コマンドを周辺基板330の周辺部202Aに送信すると、該制御コマンドをデータ記憶部311に記憶する(S1801)。そして、主制御基板310は、該送信した制御コマンドと履歴生成方式に基づいて履歴データを生成してデータ記憶部311に記憶する(S1802)。一方、周辺基板330の周辺部202Aは、制御コマンドを受信すると、該制御コマンドを周辺基板330の後段部202Bに転送する(S1841)。そして、周辺部202Aは、該受信した制御コマンドに対応した所定の処理を行う(S1842)。一方、後段部202Bは、周辺部202Aから受信した制御コマンドを後段側記憶部332に記憶し(S1871)、主制御基板310と同様に、該受信した制御コマンドと履歴生成方式に基づいて後段側履歴データを生成して後段側記憶部332に記憶する(S1872)。
その後、主制御基板310は、2つの個体識別値A1、A2のうち、無作為に1つの個体識別値A1を選択すると(S1803)、該選択した個体識別値A1を最新の履歴データに加算(付加)した認証データC1を有する認証情報1020を生成して周辺基板310の周辺部202Aに送信する(S1804)。一方、周辺基板330の周辺部202Aは、主制御基板310から受信した認証情報1020を周辺基板330の後段部202Bに転送する(S1843)。一方、後段部202Bは、受信した認証情報1020の認証データC1から複数の期待値B1、B2の各々を減算(削除)して認証用履歴データC1−B1、C1−B2を抽出し、該認証用履歴データC1−B1、C1−B2と最新の周辺側履歴データが一致するか否かに基づいて、主制御基板310との制御コマンドの通信の継続性に基づく認証を行う(S1873)。そして、後段部202Bは、その認証結果を示す後段認証結果データを生成して周辺基板330の周辺部202Aに送信する(S1874)。一方、周辺部202Aは、受信した後段認証結果データをRAM243等に記憶する。
主制御基板310は、次の制御コマンドを周辺基板330の周辺部202Aに送信すると、該制御コマンドをデータ記憶部311に記憶する(S1805)。そして、主制御基板310は、該送信した制御コマンドと履歴生成方式に基づいて履歴データを生成してデータ記憶部311に記憶する(S1806)。一方、周辺基板330の周辺部202Aは、制御コマンドを受信すると、該制御コマンドを周辺基板330の後段部202Bに転送する(S1844)。そして、周辺部202Aは、前記後段認証結果データが正常を示していると、該受信した制御コマンドに対応した所定の処理を行う(S1845)。一方、後段部202Bは、周辺部202Aから受信した制御コマンドを後段側記憶部332に記憶し(S1875)、主制御基板310と同様に、該受信した制御コマンドと履歴生成方式に基づいて後段側履歴データを生成して後段側記憶部332に記憶する(S1876)。
その後、主制御基板310は、2つの個体識別値A1、A2のうち、無作為に1つの個体識別値A2を選択すると(S1807)、該選択した個体識別値A2を最新の履歴データに加算(付加)した認証データC2を有する認証情報1020を生成して周辺基板310の周辺部202Aに送信する(S1808)。一方、周辺基板330の周辺部202Aは、主制御基板310から受信した認証情報1020を周辺基板330の後段部202Bに転送する(S1846)。一方、後段部202Bは、受信した認証情報1020の認証データC2から複数の期待値B1、B2の各々を減算(削除)して認証用履歴データC2−B1、C2−B2を抽出し、該認証用履歴データC2−B1、C2−B2と最新の後段側履歴データが一致するか否かに基づいて、主制御基板310との制御コマンドの通信の継続性に基づく認証を行う(S1877)。そして、後段部202Bは、その認証結果を示す後段認証結果データを生成して周辺基板330の周辺部202Aに送信する(S1878)。一方、周辺部202Aは、受信した後段認証結果データをRAM243等に記憶する。
図19において、主制御基板310は、次の制御コマンドを周辺基板330の周辺部202Aに送信すると、該制御コマンドをデータ記憶部311に記憶する(S1809)。そして、主制御基板310は、該送信した制御コマンドと履歴生成方式に基づいて履歴データを生成してデータ記憶部311に記憶する(S1810)。そして、主制御基板310は、前記検出対象制御コマンド情報が示す検出対象制御コマンドを検出すると(S1811)、データ記憶部311の付加方式データが付加方式D1を示していることから、前記切替情報が示す次の付加方式D2に切り替え、該付加方式D2を示すように前記付加方式データを更新する(S1812)。
一方、周辺基板330の周辺部202Aは、制御コマンドを受信すると、該制御コマンドを周辺基板330の後段部202Bに転送する(S1847)。そして、周辺部202Aは、前記後段認証結果データが正常を示していると、該受信した制御コマンドに対応した所定の処理を行う(S1848)。
一方、後段部202Bは、周辺部202Aから受信した制御コマンドを後段側記憶部332に記憶し(S1879)、主制御基板310と同様に、該受信した制御コマンドと履歴生成方式に基づいて後段側履歴データを生成して後段側記憶部332に記憶する(S1880)。そして、後段部202Bは、後段側記憶部332の前記検出対象制御コマンド情報が示す検出対象制御コマンドの受信を検出すると(S1881)、後段側記憶部332の付加方式データが付加方式D1を示していることから、前記切替情報が示す次の付加方式D2に切り替え、該付加方式D2を示すように前記付加方式データを更新する(S1882)。
その後、主制御基板310は、2つの個体識別値A1、A2のうち、無作為に1つの個体識別値A2を選択すると(S1813)、付加方式データには付加方式D2が切り替えられて設定されていることから、該選択した個体識別値A2を最新の履歴データから減算(付加)した認証データC3を有する認証情報1020を生成して周辺基板310の周辺部202Aに送信する(S1814)。一方、周辺基板330の周辺部202Aは、主制御基板310から受信した認証情報1020を周辺基板330の後段部202Bに転送する(S1849)。一方、周辺基板330の後段部202Bは、主制御基板310と同様に、付加方式データには付加方式D2が切り替えられて設定されていることから、受信した認証情報1020の認証データC3に複数の期待値B1、B2の各々を加算(削除)して認証用履歴データC3+B1、C3+B2を抽出し、該認証用履歴データC3+B1、C3+B2と最新の後段側履歴データが一致するか否かに基づいて、主制御基板310との制御コマンドの通信の継続性に基づく認証を行う(S1883)。後段部202Bは、その認証結果を示す後段認証結果データを生成して周辺基板330の周辺部202Aに送信する(S1884)。そして、以降も同様の処理を行う。
以上説明したぱちんこ遊技機100によれば、実施例1と同様に、主制御部201が制御コマンドの履歴を示す履歴データに、無作為に選択した個体識別値を付加した認証情報1020を生成して後段部202Bに送信するようにしたことから、後段部202Bが認証情報1020の履歴データを主制御部201の認証に用いても、無作為に選択した個体識別値が不規則に変化するため、認証情報1020の規則性がなくなり、認証情報1020に対する不正解析の防止を期待することができる。また、主制御部201は、複数種類の個体識別値から1つの個体識別値を無作為に選択して履歴データに付加するだけでよいため、主制御部201に記憶するプログラムのコード量の増加及び主制御部201の処理負荷の増加を抑止することができる。さらに、主制御部201は複数種類の個体識別値を予め記憶しておくことができるため、認証情報1020の生成時に複雑な演算を行う必要がなくなり、主制御部201の処理負担の増加を防止できる。一方、後段部202Bは、履歴データに基づいて制御コマンドの通信継続性を確認して認証するようにしたことから、不正な制御コマンドによる不正な通信切り替えを検出することができるため、不正な通信切り替え防止に貢献することができる。しかも、後段部202Bは、認証情報1020から複数種類の期待値を用いて認証用履歴データを抽出することから、履歴データに正規の個体識別値が付加されていない場合、認証用履歴データと後段側履歴データは一致しないため、不正を確実に検出することができる。さらに、後段部202Bが複数種類の期待値の各々と認証情報1020との全ての組み合わせを確認して主制御部201の認証を行うようにしたことから、主制御部201は個体識別値を単に選択するだけで良くなり、複雑な処理を盛り込む必要がなくすことができる。また、例えば主制御部201と後段部202Bとの間に不正基板などが介入するような場合、該不正基板における解析負荷が増大するために処理能力を高くしなければならないため、コストや設計難易度を増大させて、不正基板の製作抑止に貢献することができる。さらに、後段部202Bが主制御部201に対する認証処理を行い、その後段認証結果を周辺部202Aに送信するようにしたことから、周辺部202Aは認証処理を行わずに後段認証結果を参照するだけで良いため、周辺部202AのCPU241の処理負荷を軽減することができる。また、後段部202Bが主制御部201からの制御コマンドの履歴を管理するようにしたことから、周辺部202Aでは制御コマンドの履歴管理が不要となるため、セキュリティの向上による周辺部202Aの処理負担の増加を防止することができる。しかも、周辺部202Aは、主制御部201から受信した制御コマンドを後段部202Bに転送して所定の処理を行うことができることから、周辺部202Aと後段部202Bが同時に処理を行うことができるため、周辺部202Aにおける所定の処理に遅れが生じることを防止できる。従って、主制御部201の処理負担を最小限にして制御コマンドの通信継続性が確認できて、認証に用いる認証情報2010の解析を困難にすることができ且つ周辺部202AのCPU241の処理負荷を軽減することができる。
また、上述したぱちんこ遊技機100によれば、主制御基板310及び周辺基板330の後段部202Bは、検出対象制御コマンドの検出に応じて、付加方式を予め定められた切替方式に基づいて切り替えるようにしたことから、同一の履歴データに同一の個体識別値を付加しても生成する認証情報1020は異なるため、不正な解析をより一層困難にすることができる。また、検知対象制御コマンドを付加方式の切り替えタイミングとしているので、ぱちんこ遊技機100の起動後においても、主制御基板310と周辺基板330は同期して切り替えることができる。
上述したぱちんこ遊技機100において、履歴データ及び後段側履歴データが複数回分の制御コマンドの履歴を示すようにすれば、認証情報1020の送信回数を減らしても、その間に生じた制御コマンドの不正を検出することができるため、認証精度の向上を図ることができる。そして、履歴データ及び後段側履歴データを過去の履歴データを演算した値とすることで、不正な解析者による解析をより一層困難とすることができる。
[実施例3]
上述した実施例2のぱちんこ遊技機100は、主制御基板310及び周辺基板330の後段部202Bが、検出対象制御コマンドの検出に応じて、付加方式を切り替える場合について説明したが、実施例3では、付加方式及び履歴生成方式の双方を切り替える場合について説明する。
以下に、実施例3のぱちんこ遊技機100の一例を説明する。なお、上述した実施例2の構成と同一部分については、同一の符号を付して異なる部分のみを詳細に説明する。
(主制御基板および周辺基板の機能的構成)
主制御基板310は、上述した実施例2のデータ記憶部311、履歴データ生成部312、選択部313、認証情報記憶部314、主制御側送信部315、制御コマンド検出部316、付加方式切替部317と、図3中の破線で示す履歴生成方式切替部318と、を有して構成している。
履歴生成方式切替部318は、本発明の履歴生成方式切替手段に相当し、前記制御コマンド検出部316の検出に応じて、前記履歴データ生成部312が用いる前記履歴生成方式を予め定められた履歴切替方式で切り替える。本実施形態では、履歴切替方式として、複数の履歴生成方式をテーブルとした履歴切替情報を前記切替情報と共にデータ記憶部311に記憶している。なお、履歴切替情報の一例としては、前記切替情報と同様に、相異なる履歴生成方式とその切り替え順番を規定するテーブル等が挙げられる。そして、履歴生成方式切替部318は、前記制御コマンド検出部316の検出に応じて、前記履歴切替情報に基づいてデータ記憶部311に記憶している履歴生成方式データを切り替える。これにより、前記履歴データ生成部312は、データ記憶部311の履歴生成方式データを参照することで、履歴生成方式切替部318によって切り替えられた履歴生成方式で履歴データを生成することになる。
続いて、周辺基板330は、上述した実施例2の周辺部202Aと後段部202Bとを有して構成している。そして、周辺部202Aは、上述した転送部351、周辺側受信部352、処理部353を有して構成している。後段部202Bは、上述した後段側受信部331、後段側記憶部332、後段側履歴データ生成部333、認証用履歴データ抽出部334、後段認証結果データ生成部335、後段側送信部336、後段側制御コマンド検出部337、後段側付加方式切替部338と、図3中の破線で示す後段側履歴生成方式切替部339と、を有して構成している。なお、周辺基板330の基本構成は実施例2と同一であるため、異なる部分のみを詳細に説明し、その他の説明は省略する。
後段側履歴生成方式切替部339は、本発明の後段側履歴生成方式切替手段に相当し、後段側制御コマンド検出部337の検出に応じて、前記後段側履歴データ生成部333が用いる前記履歴生成方式を前記主制御基板310と同一の前記履歴切替方式(履歴切替情報)で切り替える。即ち、周辺基板310の後段部202Bは、主制御基板310と同一の前記履歴切替情報を後段側記憶部332に予め記憶している。そして、後段側履歴生成方式切替部339は、主制御基板310と同様に、後段側制御コマンド検出部337の検出対象制御コマンドの検出に応じて、前記後段側履歴データ生成部333が用いる前記履歴生成方式データを予め定められた履歴切替方式で切り替える。これにより、前記後段側履歴データ生成部333は後段側記憶部332の履歴生成方式データを参照することで、後段側履歴生成方式切替部339によって切り替えられた履歴生成方式で後段側履歴データを生成することになる。
また、実施例3についても、主制御基板310のCPU211が第1コンピュータ、周辺基板330の周辺部(演出制御部)202AのCPU241が第2コンピュータ、周辺基板330の後段部202BのCPU21が第3コンピュータとして機能させる場合について説明する。そして、主制御基板310のROM212は、前記第1コンピュータを請求項中の履歴データ生成手段、選択手段、認証情報生成手段、主制御側送信手段、制御コマンド検出手段、付加方式切替手段、履歴生成方式切替手段、等の各種手段として機能させるための主制御側認証プログラムを記憶している。また、周辺基板330の周辺部202AのROM242は、前記第2コンピュータを請求項中の転送手段、周辺側受信手段、処理手段、等の各種手段として機能させるための周辺側認証プログラムを記憶している。また、周辺基板330の後段部202BのROM22は、前記第3コンピュータを請求項中の後段側受信手段、後段側履歴データ生成手段、認証用履歴データ抽出手段、後段認証結果データ生成手段、後段側送信手段、後段側制御コマンド検出手段、後段側付加方式切替手段、後段側履歴生成方式切替手段、等の各種手段として機能させるための後段側認証プログラムを記憶している。即ち、主制御側認証プログラムと周辺側認証プログラムと後段側認証プログラムとによって本発明の認証プログラムを構成している。
(認証情報信号の送受信に関する他の処理)
以下に、上述した構成において、主制御部201と後段部202Bとの間で行う上記認証情報信号の通信例を説明する。まず、主制御部201のCPU211(第1コンピュータ)による認証情報信号の他の送信手順の一例を、上述した図16のフローチャートを参照して説明する。なお、図16に示すフローチャートの基本処理は同一であるため、異なる部分のみを説明する。
ぱちんこ遊技機100の電源がON(投入)されると、主制御部201は図16に示す被認証側処理を実行し、ステップS1601〜S1603の処理が終了すると、主制御部201は、ステップ1604において、前記切替情報を参照して複数の付加方式を切り替え、該切り替えた付加方式を示すようにデータ記憶部311の付加方式データを更新すると共に、前記履歴切替情報を参照して複数の履歴生成方式を切り替え、該切り替えた履歴生成方式を示すようにデータ記憶部311の履歴生成方式データを更新し、その後ステップS1605の処理に進む。以降は、上述したステップS1605〜S1611の処理を実行する。
続いて、後段部202BのCPU21(第3コンピュータ)による前記認証情報信号の他の受信処理の手順を、上述した図17のフローチャートを参照して説明する。なお、図17に示すフローチャートの基本処理は同一であるため、異なる部分のみを説明する。
後段部202Bは、図17に示す認証側処理を実行し、ステップS1701〜S1703の処理を終了すると、ステップ1704において、前記切替情報を参照して複数の付加方式を切り替え、該切り替えた付加方式を示すように後段側記憶部332の付加方式データを更新すると共に、前記履歴切替情報を参照して複数の履歴生成方式を切り替え、該切り替えた履歴生成方式を示すように後段側記憶部332の履歴生成方式データを更新し、その後ステップS1705の処理に進む。以降は、上述したステップS1705〜S1712の処理を実行する。
(付加方式及び履歴生成方式の切り替え手順例)
次に、ぱちんこ遊技機100において、主制御基板310と周辺基板330の後段部202Bが2つの個体識別値及び期待値を用いる場合の認証例は、主制御基板310が図19のステップS1812、周辺基板330の後段部202Bが図19のステップS1862のみを以下のように変更する。
主制御基板310は、前記検出対象制御コマンド情報が示す検出対象制御コマンドを検出すると(S1811)、データ記憶部311の付加方式データが付加方式D1を示していることから、前記切替情報が示す次の付加方式D2に切り替え、該付加方式D2を示すように前記付加方式データを更新すると共に、前記履歴切替情報が示す次の履歴生成方式に切り替え、これを示すように前記履歴生成方式データを更新する(S1812)。
一方、周辺基板330の後段部202Bは、後段側記憶部332の前記検出対象制御コマンド情報が示す検出対象制御コマンドの受信を検出すると(S1881)、後段側記憶部332の付加方式データが付加方式D1を示していることから、前記切替情報が示す次の付加方式D2に切り替え、該付加方式D2を示すように前記付加方式データを更新すると共に、前記履歴切替情報が示す次の履歴生成方式に切り替え、これを示すように前記履歴生成方式データを更新する(S1862)。そして、以降も同様の処理を行う。
以上説明したぱちんこ遊技機100によれば、実施例2と同様に、主制御部201が制御コマンドの履歴を示す履歴データに、無作為に選択した個体識別値を付加した認証情報1020を生成して後段部202Bに送信するようにしたことから、後段部202Bが認証情報1020の履歴データを主制御部201の認証に用いても、無作為に選択した個体識別値が不規則に変化するため、認証情報1020の規則性がなくなり、認証情報1020に対する不正解析の防止を期待することができる。また、主制御部201は、複数種類の個体識別値から1つの個体識別値を無作為に選択して履歴データに付加するだけでよいため、主制御部201に記憶するプログラムのコード量の増加及び主制御部201の処理負荷の増加を抑止することができる。さらに、主制御部201は複数種類の個体識別値を予め記憶しておくことができるため、認証情報1020の生成時に複雑な演算を行う必要がなくなり、主制御部201の処理負担の増加を防止できる。一方、後段部202Bは、履歴データに基づいて制御コマンドの通信継続性を確認して認証するようにしたことから、不正な制御コマンドによる不正な通信切り替えを検出することができるため、不正な通信切り替え防止に貢献することができる。しかも、後段部202Bは、認証情報1020から複数種類の期待値を用いて認証用履歴データを抽出することから、履歴データに正規の個体識別値が付加されていない場合、認証用履歴データと後段側履歴データは一致しないため、不正を確実に検出することができる。さらに、後段部202Bが複数種類の期待値の各々と認証情報1020との全ての組み合わせを確認して主制御部201の認証を行うようにしたことから、主制御部201は個体識別値を単に選択するだけで良くなり、複雑な処理を盛り込む必要がなくすことができる。また、例えば主制御部201と後段部202Bとの間に不正基板などが介入するような場合、該不正基板における解析負荷が増大するために処理能力を高くしなければならないため、コストや設計難易度を増大させて、不正基板の製作抑止に貢献することができる。さらに、後段部202Bが主制御部201に対する認証処理を行い、その後段認証結果を周辺部202Aに送信するようにしたことから、周辺部202Aは認証処理を行わずに後段認証結果を参照するだけで良いため、周辺部202AのCPU241の処理負荷を軽減することができる。また、後段部202Bが主制御部201からの制御コマンドの履歴を管理するようにしたことから、周辺部202Aでは制御コマンドの履歴管理が不要となるため、セキュリティの向上による周辺部202Aの処理負担の増加を防止することができる。しかも、周辺部202Aは、主制御部201から受信した制御コマンドを後段部202Bに転送して所定の処理を行うことができることから、周辺部202Aと後段部202Bが同時に処理を行うことができるため、周辺部202Aにおける所定の処理に遅れが生じることを防止できる。従って、主制御部201の処理負担を最小限にして制御コマンドの通信継続性が確認できて、認証に用いる認証情報2010の解析を困難にすることができ且つ周辺部202AのCPU241の処理負荷を軽減することができる。
また、上述したぱちんこ遊技機100によれば、主制御基板310及び周辺基板330の後段部202Bは、検出対象制御コマンドの検出に応じて、付加方式を予め定められた切替方式に基づいて切り替えるようにしたことから、同一の履歴データに同一の個体識別値を付加しても生成する認証情報1020は異なるため、不正な解析をより一層困難にすることができる。また、検知対象制御コマンドを付加方式の切り替えタイミングとしているので、ぱちんこ遊技機100の起動後においても、主制御基板310と周辺基板330は同期して切り替えることができる。
さらに、上述したぱちんこ遊技機100によれば、主制御基板310及び周辺基板330の後段部202Bは、検出対象制御コマンドの検出に応じて、付加方式を予め定められた切替方式に基づいて切り替える共に、履歴生成方式を予め定められた履歴切り替え方式で切り替えるようにしたことから、履歴データに個体識別値を付加する付加方式が切り替えられると共に、履歴データの履歴生成方式も切り替えられるため、生成する認証情報1020に継続性がなくなり、不正な解析をより一層困難にすることができる。
また、上述したぱちんこ遊技機100において、履歴データ及び後段側履歴データが複数回分の制御コマンドの履歴を示すようにすれば、認証情報1020の送信回数を減らしても、その間に生じた制御コマンドの不正を検出することができるため、認証精度の向上を図ることができる。そして、履歴データ及び後段側履歴データを過去の履歴データを演算した値とすることで、不正な解析者による解析をより一層困難とすることができる。
続いて、上述した実施例2のぱちんこ遊技機100は、複数種類の付加方式を検出対象制御コマンドの検出に応じて切り替える場合について説明したが、この「付加方式」を「履歴生成方式」に置き換えることで、主制御基板310及び周辺基板330の後段部202Bは、検出対象制御コマンドの検出に応じて、履歴生成方式を予め定められた履歴切替方式に基づいて切り替えることができることから、変化する履歴データに同一の個体識別値を付加しても生成する認証情報は異なるため、不正な解析をより一層困難にすることができる。また、検知対象制御コマンドを付加方式の切り替えタイミングとできるので、ぱちんこ遊技機100の起動後においても、主制御基板310と周辺基板330の後段部202Bは同期して切り替えることができる。なお、履歴生成方式の切り替え方法は、実施例3の切り替え方法を用いることで実現できる。
なお、本実施形態で説明した主制御部及び周辺部の制御方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、CD−ROM、MO、DVD、等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、このプログラムは、インターネット等のネットワークを介して配布することが可能な電送媒体であってもよい。