以下に添付図面を参照して、本発明にかかる遊技機であるぱちんこ遊技機と、このぱちんこ遊技機に搭載されている複数の基板間(主制御基板および周辺基板)の制御信号に含まれる制御コマンドを認証する認証方法および認証プログラムに好適な実施の形態を詳細に説明する。
[実施例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と、演出制御部202と、賞球制御部203と、を有している。そして、主制御部201は本発明の主制御基板に相当し、演出制御部202と賞球制御部203とはそれぞれ本発明の周辺基板に相当している。そして、主制御部201は、ぱちんこ遊技機100の遊技にかかる基本動作を制御する。演出制御部202は、遊戯中の演出動作を制御する。賞球制御部203は、払い出す賞球数を制御する。
主制御部201は、CPU211と、ROM212と、RAM213と、インタフェース(I/F)214と、を有している。CPU211は、ROM212に記憶されたプログラムデータに基づき、遊技内容の進行に伴う基本処理を実行する。ROM212は、プログラムデータ等を記憶する記憶領域を有している。RAM213は、CPU211の演算処理時におけるデータのワークエリアとして機能する。I/F214は、各検出部221〜224から各種データを受信するとともに、演出制御部202及び賞球制御部203への各種データの送信を行う。主制御部201は、例えばいわゆる主制御基板によってその機能を実現する。
この主制御部201の入力側には、始動入賞口105に入賞した入賞球を検出する始動入賞口検出部221と、入賞ゲート106を通過した遊技球を検出するゲート検出部222と、普通入賞口107に入賞した遊技球を検出する普通入賞口検出部223と、大入賞口109に入賞した入賞球を検出する大入賞口検出部224と、がI/F214を介して電気的に接続されている。これらの検出部としては、近接スイッチなどを用いて構成できる。
この主制御部201の出力側には、大入賞口開閉部231が電気的に接続されており、主制御部201はこの大入賞口開閉部231の開閉を制御する。大入賞口開閉部231は、大当たり時に大入賞口109を一定期間開放する機能であり、ソレノイドなどを用いて構成できる。この大当たりは、生成した乱数(大当たり判定用乱数)に基づいて、所定の確率(例えば300分の1など)で発生するよう予めプログラムされている。
演出制御部202は、主制御部201から各種の制御コマンドを含む制御信号を受け取り、このコマンドに基づいて、ROM242に記憶されたプログラムデータを実行して遊技中における演出制御を行う。この演出制御部202は、CPU241と、ROM242と、RAM243と、VRAM244と、インタフェース(I/F)245と、を有している。CPU241は、ぱちんこ遊技機100に対応した演出処理を実行する。RAM243は、CPU241の演出処理時におけるデータのワークエリアとして機能する。VRAM244は、図柄表示部104に表示させる画像データ等を記憶する。I/F245は、主制御部201からの各種データの受信およびランプ制御部251や音声制御部252への各種データの送信を行う。演出制御部202は、例えばいわゆる演出基板によってその機能を実現する。また、演出制御部202の出力側には、上述した図柄表示部(LCD)104、ランプ制御部251、音声制御部252がI/F245を介して電気的に接続されている。ランプ制御部251はランプ261の点灯を制御する。また、音声制御部252はスピーカ262の音声等の出力を制御する。
賞球制御部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と演出制御部202と賞球制御部203は、それぞれ異なるプリント基板(主制御基板、演出基板、賞球基板)に設けられる。なお、ぱちんこ遊技機100の基板の構成は、これに限らず、例えば、賞球制御部203を、主制御部201又は演出制御部202と同一のプリント基板上に設けるなどの種々異なる構成とすることができる。
(主制御基板および周辺基板の機能的構成)
まず、図3を参照して、主制御部201としての機能を有する主制御基板310の機能的構成について説明する。主制御基板310は、周辺基板330を動作させるための制御コマンドを送信する機能部であり、データ記憶部311、決定部312、認証値抽出部314、認証情報生成部315、送信部316を有して構成している。そして、主制御基板310は、周辺基板330とは別の基板で形成されており、周辺基板330と通信可能なように電気的に接続されている。
データ記憶部311は、本発明の履歴データ記憶手段、パターン情報記憶手段及び認証値記憶手段に相当し、制御コマンドデータ、履歴データ、パターン情報、複数種類の認証値、等の各種データを記憶している。データ記憶部311としては、例えば、主制御部201のROM212、RAM213(図2参照)の一部を用いることができる。また、データ記憶部311は、周辺部に送信した複数種類の認証情報を時系列的に記憶する記憶領域を有している。そして、データ記憶部311に記憶する複数種類の認証情報の数は、主制御基板310の1回の認証に用いる情報の数によって規定される。複数種類の認証情報の各々には、制御コマンドデータを有していることから、本実施形態ではそれらの制御コマンドデータを履歴とする場合について説明するが、これに代えて、複数種類の認証情報とは別に制御コマンドデータをデータ記憶部311に記憶するなどの実施形態とすることもできる。
データ記憶部311に記憶している履歴データは、主制御部201(主制御基板310)から周辺部に送信した前記制御コマンドの履歴を示すデータとなっている。履歴データは、例えば、制御コマンドの発生、制御コマンドの周辺部への送信、等の予め定められた更新タイミングに、履歴データを生成する履歴データ生成手段によって更新される。そして、履歴データ生成手段は、所定の送信回数分の制御コマンドデータを、例えば誤り検出方式、所定の暗号化方式、排他的論理和、等で算出して履歴データを生成し、該生成した履歴データにデータ記憶部311が記憶している履歴データを更新する。そして、履歴データをチェックサムとする場合、履歴データは複数の制御コマンドデータの合計をとった合計値となる。なお、履歴データは、例えば前回や所定回数前等の1回分の制御コマンドをそのまま用いることで、後述する認証情報の生成時の処理を簡単化することができる。
パターン情報は、主制御部201の認証に用いる複数種類の認証情報の各々に、前記認証に用いる認証値又は前記履歴データを設定する複数種類の設定パターンを示す情報となっている。例えば、パターン情報は、複数種類の認証情報の各々に設定される認証データが、主制御部201の認証値として有効であるか無効であるかを示すフラグデータを有するデータ構造、テーブル、等で実現する。即ち、有効な認証データを有効データ、無効な認証データを無効データとした場合、有効データには認証値、無効データには前記履歴データがそれぞれ設定される。なお、複数種類の認証情報の中に無効データが複数設定する場合、無効データの全てに対して履歴データを設定しても良いし、少なくとも1つの無効データに対してのみ履歴データを設定するようにしても良い。
複数種類の認証値は、パターン情報が示す複数種類の設定パターンの各々と一対一に対応付けられている。複数種類の認証値の各々は、相異なるデータであり、例えば主制御部201のROM212における複数種類の所定領域のチェックサム、予め定められた固有の値、等が挙げられる。
決定部312は、本発明の決定手段に相当し、主制御部201の次回の認証に用いる次回の設定パターンをパターン情報が示す複数種類の設定パターンの中から決定し、該決定した設定パターンを示す次回設定パターンデータをデータ記憶部311等に記憶する。決定部312は、次回の設定パターンを乱数等を用いて不規則に決定することで、不正解析者によって不正に解析されるのを困難にしている。
認証値抽出部314は、本発明の認証値抽出手段に相当し、決定部312が決定した次回の設定パターンに対応付けられた認証値をデータ記憶部(認証値記憶手段)311から抽出し、該抽出した認証値をRAM213等に記憶する。そして、認証値抽出部314によって抽出された認証値が、今回の認証に用いる認証値となる。
認証情報生成部315は、本発明の認証情報生成手段に相当し、認証値抽出部314によって抽出された認証値とデータ記憶部311が記憶している履歴データが、予め決定された今回の前記設定パターンで設定されるように複数種類の認証情報を生成する。そして、予め決定された今回の設定パターンは、認証情報生成部315の1回目の処理においては、予め定められた初期値である初期設定パターンとなり、2回目以降の処理においては、前回の処理で決定された次回の設定パターンとなる。
認証情報生成部315は、前記設定パターンが有効を示す認証情報を生成する場合、認証値抽出部314が抽出した認証値を認証データとして設定して認証情報を生成する。また、認証情報生成部315は、前記設定パターンが無効を示す認証情報を生成する場合、データ記憶部311が記憶している履歴データを認証データとして設定して認証情報を生成する。即ち、複数種類の認証情報の各々は、認証データを有する情報であり、その認証データは認証値である有効データ又は主制御部201の認証値とは異なる無効データとなっている。
送信部316は、本発明の送信手段に相当し、認証情報生成部315が生成した複数種類の認証情報と制御コマンドデータとの各々を周辺基板(周辺部)330に送信する。そして、本実施形態の送信部316は、制御コマンドデータを主制御基板310から周辺基板330に制御信号として送信する。送信部316は、例えば、主制御基板310から周辺基板330に送信される制御信号とは別の信号である認証情報信号として認証情報を周辺基板330に送信する。これにより、ぱちんこ遊技機100において、制御信号と認証情報信号とを区別化している。
本発明のぱちんこ遊技機100は、認証値が設定された認証情報と履歴データが設定された認証情報とを組み合わせて主制御基板310から周辺基板330に送信し、周辺基板330はその複数種類の認証情報の設定パターンと履歴データに基づく制御コマンドデータの正当性とに基づいて主制御基板310の認証を行う構成を採用している。よって、ぱちんこ遊技機100は、複数種類の設定パターンと制御コマンドの正当性とを組み合わせて主制御部201を認証することで、セキュリティの向上を図るとともに、主制御部201から周辺基板330に単独で認証情報を送信しても、それが容易に解析されることを困難にすることができる。
続いて、上述した演出制御部202や賞球制御部203などの周辺部としての機能を有する周辺基板330の機能的構成について説明する。図3に示すように、周辺基板330は、受信部331、周辺側記憶部332、設定パターン検出部333、正当性判定部334、認証部335,特定部336を有して構成している。
受信部331は、本発明の受信手段に相当し、主制御基板310によって送信された複数種類の認証情報と制御コマンドデータとの各々を受信する。本実施形態の受信部331は、例えば、複数種類の認証情報の各々に対応した認証情報信号を受信することによって、複数種類の認証情報を主制御基板310から受信する。また、受信部331は、前記制御信号を受信することによって制御コマンドデータを主制御基板310から受信する。
周辺側記憶部332は、本発明の期待値記憶手段及び周辺側履歴データ記憶手段に相当している。周辺側記憶部332は、上述した主制御基板310から受信すべき複数種類の認証値、即ち、主制御基板310のデータ記憶部311が記憶している複数種類の認証値の各々と一致する期待値を複数記憶している。これにより、周辺基板330は、認証情報に設定された認証データと期待値が一致していれば、認証データが正規の認証値である有効データと判定できる。また、認証情報に設定された認証データと期待値が一致していなければ、認証データが無効データと判定できる。
周辺側記憶部332は、上述した複数の期待値の各々に、上述した複数種類の設定パターンの各々を一対一に対応付けて記憶している。周辺側記憶部332は、例えば、複数種類の設定パターンを示す設定パターンデータを期待値に対応付けて記憶することで、期待値から設定パターンを特定することを可能としている。
周辺側記憶部332は、主制御基板310から受信した複数種類の認証情報を関連付けて時系列的に記憶する記憶領域を有している。そして、周辺側記憶部332は、認証値と一致した期待値に基づいて特定した、主制御基板310の次回の認証に用いる次回の設定パターンを示す次回設定パターンデータを記憶しており、後述する特定部335によって更新される。
周辺側記憶部332は、主制御部201から受信した制御コマンドデータを時系列的に複数記憶すると共に、その受信した制御コマンドデータの履歴を示す周辺側履歴データを記憶している。そして、周辺基板330は、主制御基板310の履歴データ生成手段と同一の生成方法で周辺側履歴データを生成する周辺側履歴データ生成手段を有しており、周辺側記憶部332の周辺側履歴データは、主制御基板310の前記更新タイミングに対応したタイミングで周辺側履歴データ生成手段によって更新される。よって、周辺側履歴データは、主制御基板310が送信した制御コマンドデータのみを受信していれば、主制御側の履歴データと一致することになり、一致していなければ、不正な制御コマンドデータを受信していると判断することができる。
設定パターン検出部333は、本発明の設定パターン検出手段に相当し、主制御基板310から受信した複数種類の認証情報の各々に設定されている認証データと周辺側記憶部332に記憶している複数の期待値とを比較して、複数種類の認証情報の設定パターンを検出する。例えば、設定パターン検出部333は、複数種類の認証情報に設定された認証データと一致する期待値が存在する場合、認証データは認証値であると判定し、また、その認証データと一致する期待値(有効データ)が存在しない場合、認証データは履歴データ(無効データ)であると判定する。本実施形態では、認証情報は無効データの全てに対して履歴データを設定するようにしたことから、認証データと複数の期待値が一致しているか否かを判定するだけで、認証データとして認証値と履歴データの何れが設定されているかを判定することができる。
設定パターン検出部333は、その判定結果に基づいた設定パターンを示す判定結果情報を周辺側記憶部332に記憶する。そして、判定結果情報の一例としては、複数種類の認証情報の各々を示す識別データと、該識別データと一対一に対応付けられ且つ認証値か履歴データかを判定した判定データと、を有するデータ構造となっており、複数の判定データによって設定パターンを示している。
正当性判定部334は、本発明の正当性判定手段に相当し、設定パターン検出部333が前記設定パターンを検出した前記複数種類の認証情報に設定された前記履歴データと、周辺側記憶部332に記憶している周辺側履歴データと、が一致しているか否かを判定して前記制御コマンドの正当性を判定する。正当性判定部334は、その正当性の判定結果を周辺側記憶部332に記憶する。
認証部335は、本発明の認証手段に相当し、設定パターン検出部333が検出した設定パターンと予め特定された今回の設定パターンとが一致するか否かの判定結果と正当性判定部334の判定結果に基づいて主制御部基板(主制御部)310の認証を行う。そして、認証部335は、複数種類の認証情報の各々に今回の設定パターン通りに有効データ(認証値)、無効データ(履歴データ)が設定されており且つ制御コマンドデータが正当であると判定した場合、正規の主制御基板310であると判定して認証成立とする。また、認証部335は、複数種類の認証情報の各々に今回の設定パターン通りに有効データ(認証値)、無効データ(履歴データ)が設定されていない、又は、制御コマンドデータが正当ではないと判定した場合、不正な主制御基板310であると判定し、認証不成立とする。
特定部336は、本発明の特定手段に相当し、認証部335によって主制御基板310の認証が成立した場合、認証値である認証データと一致した期待値に対応付けられた設定パターンを、上述したパターン情報が示す複数種類の設定パターンの中から特定し、該特定した設定パターンを次回の設定パターンとして周辺側記憶部332の次回設定パターンデータに設定する。
また、本実施形態では、主制御基板310のCPU211が請求項中の第1コンピュータ、周辺基板330のCPU241,281の各々が請求項中の第2コンピュータとして機能させる場合について説明する。そして、主制御基板310のROM212は、前記第1コンピュータを請求項中の決定手段、認証値抽出手段、認証情報生成手段、送信手段、等の各種手段として機能させるための主制御側認証プログラムを記憶している。また、周辺基板330のROM242,282の各々は、前記第2コンピュータを請求項中の受信手段、設定パターン検出手段、正当性判定手段、認証手段、特定手段、等の各種手段として機能させるための周辺側認証プログラムを記憶している。即ち、主制御側認証プログラムと周辺側認証プログラムによって本発明の認証プログラムを構成している。
(ぱちんこ遊技機の基本動作)
上記構成によるぱちんこ遊技機100の基本動作の一例を説明する。主制御部201は、各入賞口に対する遊技球の入賞状況を制御コマンドとして賞球制御部203に出力する。賞球制御部203は、主制御部201から出力された制御コマンドに応じて、入賞状況に対応した賞球数の払い出しを行う。
また、主制御部201は、始動入賞口105に遊技球が入賞するごとに、対応する制御コマンドを演出制御部202に出力し、演出制御部202は、図柄表示部104の図柄を変動表示させ、停止させることを繰り返す。そして、主制御部201は、大当たりの発生が決定しているときには、対応する制御コマンドを演出制御部202に出力し、演出制御部202は、所定の図柄で揃えて変動表示を停止させるとともに、大入賞口109を開放する制御を行う。演出制御部202は、大当たり発生期間中、および大当たり発生までの間のリーチ時や、リーチ予告時などには、図柄表示部104に対して、図柄の変動表示に加えて各種の演出表示を行う。このほか、各種役物に対して特定の駆動を行ったり、ランプ261の表示状態を補正するなどの演出を行う。
そして、主制御部201は、大当たり発生期間中に、大入賞口109を複数回開放させる。1回の開放が1ラウンドとして、例えば15回のラウンドが繰り返し実行される。1ラウンドの期間は、遊技球が大入賞口109に例えば10個入賞するまでの期間、あるいは所定期間(例えば30秒)とされている。この際、賞球制御部203は、大入賞口109に対する遊技球1個の入賞当たり、例えば15個の賞球数で払い出しを行う。ぱちんこ遊技機100は、大当たり終了後、この大当たり状態を解除し、通常の遊技状態に復帰する。
(各制御部による処理の詳細)
次に、各制御部が行う各種処理の詳細について説明する。まず、主制御部201による演出制御部202の制御処理について説明する。なお、図4〜図9においては、演出制御部202の制御処理の手順を明確にするため、認証データおよび付随データについては考慮しないものとする。即ち、図4〜図9の説明において、「コマンドを送信する」とは、「当該コマンドを示すデータ(制御コマンドデータ)を含む制御信号を送信する」との意味であり、例えば認証データや付随データの有無は考慮しないものとする。
主制御部201は、図4に示すステップS401において、ぱちんこ遊技機100の電源がオンされたか否かを判定する。主制御部201は、電源がオンされていないと判定した場合(S401:No)、この判定処理を繰り返すことで、ぱちんこ遊技機100の電源がオンされるまで待機する。一方、主制御部201は、電源がオンされたと判定した場合(S401:Yes)、ステップS402の処理に移行する。
主制御部201は、ステップS402において、演出制御部202や賞球制御部203などの各周辺部に対して電源オンコマンドを送信し、ステップS403の処理に移行する。この処理によって電源オンコマンドが送信されると、演出制御部202は、ランプ制御部251や音声制御部252、図柄表示部104のそれぞれに対して電源オン時の演出用の制御コマンド(具体的には、ランプの点灯や音声の出力、デモストレーション(デモ)画面の表示などを指示する制御コマンド)を送信する。
主制御部201は、ステップS403において、ROM212またはRAM213に記憶している未抽選入賞回数データを参照して、未抽選入賞回数が0回か否かを判別する。未抽選入賞回数とは、始動入賞口105に検出された入賞球の数(入賞回数)から、入賞球に対応する抽選が行われた回数(既抽選回数)を減じた数である。そして、主制御部201は、未抽選入賞回数が0回ではないと判定した場合(S403:No)、ステップS410の処理に移行する。一方、主制御部201は、未抽選入賞回数が0回であると判定した場合(S403:Yes)、ステップS404において、デモが開始されてから経過した時間を計測し、ステップS405の処理に移行する。
主制御部201は、デモが開始されてから所定時間が経過したか否かを判定する。主制御部201は、デモが開始されてから所定時間が経過していないと判定した場合(S405:No)、ステップS407の処理に移行する。一方、主制御部201は、デモが開始されてから所定時間が経過したと判定した場合(S405:Yes)、ステップS406において、演出制御部202に客待ちデモコマンドを送信し、ステップ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において、演出制御部202に大当たりリーチコマンド(図柄変動コマンド)を送信する。そして、主制御部201は、ステップS414において、図柄変動時間が経過したか否かを判定する。主制御部201は、図柄変動時間が経過していないと判定した場合(S414:No)、この判定処理を繰り返すことで、図柄変動時間が経過するのを待つ。一方、主制御部201は、図柄変動時間が経過したと判定した場合(S414:Yes)、ステップS415において、演出制御部202に図柄停止コマンドを送信し、ステップS416の処理に移行する。
主制御部201は、ステップS416において、演出制御部202に大当たり開始コマンドを送信し、続けて、ステップS417において、大当たり中の各ラウンドに対応するコマンド(大当たりコマンド)を演出制御部202に順次送信する。そして、主制御部201は、全てのラウンドの大当たりコマンドの送信が終了すると、ステップS418において、大当たり終了コマンドを演出制御部202に送信し、ステップS422の処理に移行する。
また、主制御部201は、ステップS412において、大当たり乱数ではないと判定した場合(S412:No)、ステップS419において、はずれリーチコマンド(図柄変動コマンド)を演出制御部202に送信し、ステップS420の処理に移行する。そして、主制御部201は、ステップS420において、図柄変動時間が経過したか否かを判定する。主制御部201は、図柄変動時間が経過していないと判定した場合(S420:No)、この判定処理を繰り返すことで、図柄変動時間の経過を待つ。一方、主制御部201は、図柄変動時間が経過したと判定した場合(S420:Yes)、ステップS421において、図柄停止コマンドを演出制御部202に送信し、ステップS422の処理に移行する。
主制御部201は、ステップS422において、ぱちんこ遊技機100の電源がオフされたか否かを判定する。主制御部201は、電源がオフされていないと判定した場合(S422:No)、図4に示すステップS403の処理に戻り、一連の処理を繰り返す。一方、主制御部201は、電源がオフされたと判定した場合(S422:Yes)、ステップS423において、終了処理コマンドを演出制御部202に送信し、本フローチャートによる処理を終了する。
上述した図4及び図5中の各種コマンドが、本発明の制御コマンドに相当し、主制御基板310は各種制御コマンドを送信する毎に、その制御コマンドデータをデータ記憶部311に履歴として記憶している。この制御コマンドデータの記憶に応じて、主制御基板310は、データ記憶部311の履歴データを更新する。なお、履歴データの更新については、複数種類の認証情報の生成時に更新するようにすれば、主制御基板310の処理負担を軽減することができる。また、周辺基板330は、各種制御コマンドを受信する毎に、その制御コマンドデータを周辺側記憶部332に履歴として記憶しており、周辺側記憶部332の周辺側履歴データを更新する。
次に、ぱちんこ遊技機100における大当たり関連コマンド(大当たりリーチコマンド、大当たり開始コマンド、大当たりコマンド、大当たり終了コマンド)の主制御部201から演出制御部202に対する送信タイミングの一例を、図6の図面を参照して説明する。
大当たりリーチコマンドは、実際に大当たりが発生するよりも頻繁に、且つランダムに送信される。また、大当たり開始コマンドは、実際に大当たりが発生した場合に、大当たり状態に移行する際に1度だけ送信される。また、大当たりコマンドは、大当たり状態に移行した後、ラウンド毎に継続的に送信される。また、大当たり終了コマンドは、大当たり状態の全てのラウンドが終了し、通常の状態に移行する際に1度だけ送信される。
以下では、図柄変動時(大当たりリーチコマンド(図5のステップS413を参照)または、はずれリーチコマンド(図5のステップS419を参照)を受信した場合)及び、大当たり時の処理を説明する。
まず、演出制御部202による図柄変動処理について、図7に示すフローチャートを参照して説明する。演出制御部202は、図7に示すステップS701において、主制御部201から図柄変動コマンドを受信したか否かを判定する。演出制御部202は、図柄変動コマンドを受信していないと判定した場合(S701:No)、この判定処理を繰り返すことで、図柄変動コマンドの受信を待つ。一方、演出制御部202は、図柄変動コマンドを受信したと判定した場合(S701:Yes)、ステップS702において、変動演出選択用乱数を取得し、ステップS703において、取得した乱数に基づいて変動演出の種類を選択し、ステップS704の処理に移行する。そして、演出制御部202は、ステップS704において、ランプ制御部251や音声制御部252に対して変動演出別の演出開始コマンドを送信し、ステップS705の処理に移行する。
演出制御部202は、ステップS705において、演出時間が経過したか否かを判定する。演出制御部202は、演出時間が経過したと判定した場合(S705:Yes)、ステップS707の処理に移行する。一方、演出制御部202は、演出時間が経過していないと判定した場合(S705:No)、ステップS706において、主制御部201から図柄停止コマンドを受信したか否かを判定する。そして、演出制御部202は、図柄停止コマンドを受信していないと判定した場合(S706:No)、ステップS705の処理に戻り、一連の処理を繰り返す。一方、演出制御部202は、図柄停止コマンドを受信したと判定した場合(S706:Yes)、ステップS707において、ランプ制御部251や音声制御部252に対して演出停止コマンドを送信し、本フローチャートによる処理を終了する。
続いて、演出制御部202による大当たり時処理について、図8に示すフローチャートを参照して説明する。演出制御部202は、図8に示すステップS801において、主制御部201から大当たり開始コマンド(図5のステップS416を参照)を受信したか否かを判定する。演出制御部202は、大当たり開始コマンドを受信していないと判定した場合(S801:No)、この判定処理を繰り返すことで、大当たり開始コマンドの受信を待つ。一方、演出制御部202は、大当たり開始コマンドを受信したと判定した場合(S801:Yes)、ステップS802において、ランプ制御部251や音声制御部252に対して大当たり開始処理コマンドを送信し、ステップS803の処理に移行する。
演出制御部202は、ステップS803において、主制御部201からラウンド別の大当たりコマンド(図5のステップS417を参照)を受信したか否かを判定する。演出制御部202は、大当たりコマンドを受信していないと判定した場合(S803:No)、この判定処理を繰り返すことで、大当たりコマンドの受信を待つ。一方、演出制御部202は、大当たりコマンドを受信したと判定した場合(S803:Yes)、ステップS804において、ランプ制御部251や音声制御部252に対して受信したラウンド別の大当たりコマンドに対応するラウンド別処理コマンドを送信し、ステップS805の処理に移行する。
演出制御部202は、ステップS805において、主制御部201から大当たり終了コマンド(図5のステップS418を参照)を受信したか否かを判定する。演出制御部202は、大当たり終了コマンドを受信していないと判定した場合(S805:No)、この判定処理を繰り返すことで、大当たり終了コマンドの受信を待つ。一方、演出制御部202は、大当たり終了コマンドを受信したと判定した場合(S805:Yes)、ステップS806において、ランプ制御部251や音声制御部252に対して大当たり終了処理コマンドを送信し、本フローチャートによる処理を終了する。
続いて、ランプ制御部251によるランプ制御処理について、図9に示すフローチャートを参照して説明する。ここでは、演出制御部202から演出開始コマンドを受信した場合(図柄変動時)の処理について説明する。そして、ランプ制御部251は、図9に示すステップS901において、演出制御部202から演出開始コマンドを受信したか否かを判定する。ランプ制御部251は、演出開始コマンドを受信していないと判定した場合(S901:No)、この判定処理を繰り返すことで、演出開始コマンドの受信を待つ。一方、ランプ制御部251は、演出開始コマンドを受信したと判定した場合(S901:Yes)、ステップS902において、コマンド別に予め用意されているコマンド別データを読み出し、ステップS903の処理に移行する。
ランプ制御部251は、ステップS903において、コマンド別の選択ルーチンを実行し、ステップS904において、受信した演出開始コマンドに対応したランプデータをセットし、ステップS905において、ランプ261に対してランプデータを出力し、ステップS906の処理に移行する。そして、この処理によってランプ261は、ランプデータに基づいて点灯又は消灯する。
ランプ制御部251は、ステップS906において、演出制御部202から演出停止コマンドを受信したか否かを判定する。ランプ制御部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が周辺部に認証情報信号を出力することで、認証情報を主制御部201から周辺部に送信する場合を前提に説明する。
図11において、認証情報1020は、識別部1021と、データ部1022と、を有して構成している。そして、識別部1021は、認証情報1020を識別することが可能な識別データが設定される。識別データの一例としては、相異なる複数種類の認証コマンドが挙げられ、例えば16進数の0xA0、0xB0、等の値が設定される。これにより、周辺部は、識別部1021に基づいて複数種類の認証情報1020の各々を識別することができる。そして、認証コマンドは、上述した制御コマンドデータ1001の制御コマンドと異なるコマンドとすることで、制御コマンドデータ1001との区別化を図っている。
データ部1022は、上述した設定パターンに基づいて、主制御部201の認証に用いる有効な認証値又は該認証値としては無効の前記履歴データの何れか一方が認証データとして設定される。そして、認証データは、認証値を有効データとし、前記履歴データを無効データとしている。また、有効データは、複数の認証コマンドに設定する場合、例えば、全てに認証値を設定する、予め定められた認証コマンドに対してのみ認証値を設定し且つ他の認証コマンドに対しては他の認証値を設定する、など種々異なる実施形態とすることができる。そして、無効データが複数存在する場合、本実施形態では全てに履歴データを設定するが、これに代えて、予め定められた認証情報にのみ履歴データを設定し、それ以外には認証値及び履歴データとは異なるデータを設定する実施形態とすることもできる。さらに、データ部1022は、認証値又は履歴データに他のデータを付随させる等の他の構成とすることもできる。
次に、主制御部210の1回の認証処理で用いる複数種類の認証情報1020を1セットとした場合の一例を以下に説明する。
まず、2つの認証情報1020を1セットとする場合、図12に示すように、各認証情報1020の識別部1021には、相異なる認証コマンドC1、C2が設定される。そして、認証コマンドC1が無効(履歴)、認証コマンドC2が有効(認証)と前記設定パターンが示している場合、認証コマンドC1に対応したデータ部1022には認証値としては無効な前記履歴データである無効データが設定され、また、認証コマンドC2に対応したデータ部1022には前記認証値である有効データが設定される。これにより、1セットの認証情報1020の生成が完了する。
続いて、2種類の認証コマンドC1,C2を用いて3つの認証情報1020を1セットとして生成する場合、図13に示すように、2つの認証情報1020の識別部1021には、認証コマンドC1が設定され、残りの1つの認証情報1020の識別部1021には、認証コマンドC2が設定される。そして、認証コマンドC1が無効(履歴)、認証コマンドC2が有効(認証)と前記設定パターンが示している場合、認証コマンドC1に対応した2つのデータ部1022の各々には履歴データである無効データが設定され、また、認証コマンドC2に対応した1つのデータ部1022には前記認証値である有効データが設定される。これにより、1セットが3つの認証情報1020の生成が完了する。
続いて、相異なる3つの認証情報1020を1セットとする場合、図14に示すように、各認証情報1020の識別部1021には、相異なる認証コマンドC1、C2、C3が設定される。そして、認証コマンドC1、C2が有効(認証)、認証コマンドC3が無効(履歴)と前記設定パターンが示している場合、認証コマンドC1、C2に対応したデータ部1022の各々には前記認証値である有効データが設定され、また、認証コマンドC3に対応したデータ部1022には前記履歴データである無効データが設定される。これにより、1セットが3種類の相異なる認証情報1020の生成が完了する。
このように複数種類の認証情報1020は、有効な認証値と履歴データが複数種類の認証コマンドC1〜C3に対応した前記設定パターンで設定されるため、複数種類の設定パターンを切り替えることで、複数種類の認証情報1020に設定される認証値と履歴データの設定パターンを切り替えることができるため、不正な解析者がそれを解析するのを困難とすることができる。
(設定パターンの切り替え例)
次に、複数種類の設定パターンを主制御部201で切り替えて、周辺部がその切り替える設定パターンを認証値に基づいて特定するための構成例を説明する。
図15において、主制御部201は、4つの設定パターンP1〜P4を用いる場合、その各々と一対一に対応した4つの認証値A1〜A4を用いる。そして、パターン情報Dは、複数種類の設定パターンP1〜P4を示す情報となっている。本実施形態では、パターン情報Dが設定パターンPとそれに対応した設定コマンドC1,C2の各設定とを対応付けて示す情報となっている。具体的には、設定パターンP1は、認証コマンドC1が無効(履歴)、認証コマンドC2が無効(履歴)となっている。設定パターンP2は、認証コマンドC1が無効(履歴)、認証コマンドC2が有効(認証)となっている。設定パターンP3は、認証コマンドC1が有効(認証)、認証コマンドC2が無効(履歴)となっている。設定パターンP4は、認証コマンドC1が有効(認証)、認証コマンドC2が有効(認証)となっている。そして、パターン情報Dが有する設定パターンP1〜P4と認証値A1〜A4を一対一に対応付けているため、認証値A及び設定パターンPの各々からリンク先を辿ることができる。そして、設定パターンPは、認証コマンドC1、認証コマンドC2のその順序を認証(送信)順番として規定することで、設定パターンに順番の要素を加味できると共に、設定パターンの数を増加させることができる。
これに対応する周辺部は、図16に示すように、認証値A1〜A4の各々と一致する期待値B1〜B4を周辺側記憶部332に記憶している。そして、周辺部は、期待値B1〜B4の各々に、認証値A1〜A4に対応した設定パターンP1〜P4を対応付けて記憶している。これにより、周辺部は、期待値Bから1つの設定パターンPを特定することができる。なお、本実施形態の期待値B1〜B4と設定パターンP1〜P4との対応付けについては、期待値B1〜B4と上述したパターン情報Dを対応付けることを前提に説明するが、これに代えて、期待値B1〜B4と設定パターンP1〜P4を示すデータを対応付ける実施形態とすることもできる。
この場合は、設定パターンP1〜P4の各々に対応したプログラムを予め記憶しておき、設定パターンP1〜P4を検出した場合に該当するプログラムを起動させて、設定パターンP1〜P4に対応した各認証データの判定等の処理を行う実施形態とすることで対応できる。そして、本実施形態の周辺部は、設定パターンP2の場合、認証コマンドC1に対応したデータ部1022に無効データ(履歴)、認証コマンドC2に対応したデータ部1022に有効データ(認証)がその順番で受信して設定されていれば、設定パターンが一致していると判定する場合について説明するが、これに代えて、その順序は問わない実施形態とすることもできる。
(認証情報信号の送受信に関する処理)
以下に、主制御部201と周辺部との間で行う上記認証情報信号の通信例を説明する。まず、主制御部201のCPU211(第1コンピュータ)による認証情報信号の送信手順の一例を、図17のフローチャートを参照して説明する。
ぱちんこ遊技機100の電源がON(投入)されると、主制御部201は図17に示す被認証処理を実行し、ステップS1201において、予め定められた認証タイミングであるか否かを判定する。主制御部201は、認証タイミングではないと判定した場合(S1201:No)、ステップS1208の処理に進む。一方、主制御部201は、認証タイミングであると判定した場合(S1201:Yes)、ステップS1202の処理に進む。
主制御部201は、ステップS1202において、データ記憶部311の次回設定パターンデータに設定されている設定パターンを今回の設定パターンとしてセットし、その後ステップS1203の処理に進む。なお、前記次回設定パターンデータに設定パターンが設定されていない場合、即ち初回の処理では、ぱちんこ遊技機100において初期値として予め定められた初回設定パターンを今回の設定パターンとしてセットする。
主制御部201は、ステップS1203において、パターン情報Dが示す複数種類の設定パターンPの中から、主制御部201の次回の認証に用いる次回の設定パターンを無作為に決定し、該決定した次回の設定パターンをデータ記憶部311の次回設定パターンデータに設定し、その後ステップS1204の処理に進む。なお、次回の設定パターンの決定方法の一例としては、乱数を用いて決定する方法等が挙げられる。
主制御部201は、ステップS1204において、前記決定した次回の設定パターンに対応する認証値を、データ記憶部311に記憶している複数の認証値Aの中から抽出してRAM213等に記憶し、その後ステップS1205の処理に進む。
主制御部201は、ステップS1205において、複数種類の認証情報1020の識別部1021の各々に、今回の設定パターンに対応した複数種類の認証コマンドの各々を設定し、その複数種類の認証コマンドの各々に対応したデータ部1022に、認証値である有効データ又はデータ記憶部311に記憶している履歴データである無効データを、今回の設定パターンと一致するように設定して複数種類の認証情報1020を生成してデータ記憶部311等に記憶し、その後ステップS1206の処理に進む。
なお、設定パターンが有効、無効の何れか一方のみを示している場合、複数種類の認証情報1020には認証値又は履歴データのみが設定されている。また、設定パターンが複数種類の認証情報1020の順番を規定している場合、主制御部201は、その順番となるように複数種類の認証情報1020を生成する。また、複数種類の認証情報1020を不規則な順番で生成する場合、例えば複数種類の認証コマンドC1〜C5の順番が入れ替わるように複数種類の認証情報1020を生成する。また、複数種類の認証情報1020の中に有効な認証値を複数設定する場合、ぱちんこ遊技機100において予め定められた認証情報1020に設定された認証値を用いる。
主制御部201は、ステップS1206において、前記生成した複数種類の認証情報1020を、周辺部との間で予め定められた暗号化方法で暗号化し、ステップS1207において、前記暗号化した複数種類の認証情報1020の各々に基づいて認証情報信号を生成して送信部316から周辺部に対して送信し、その後ステップS1208の処理に進む。なお、主制御部201と周辺部との間で暗号化が不要な場合は、ステップS1206の処理を削除して、複数種類の認証情報1020をそのまま周辺部に送信する。
主制御部201は、ステップS1208において、ぱちんこ遊技機100の電源がオフされたか否かを判定する。そして、主制御部201は、電源がオフされていないと判定した場合(S1208:No)、ステップS1201の処理に戻り、一連の処理を繰り返す。一方、主制御部201は、電源がオフされたと判定した場合(S1208:Yes)、本フローチャートによる処理を終了する。
続いて、周辺部のCPU241,281(第2コンピュータ)による前記認証情報信号の受信処理の手順を、図18のフローチャートを参照して説明する。
周辺部は、図18に示す認証側処理を実行すると、ステップS1301において、受信部331によって主制御部201から認証情報(認証情報信号)1020を受信したか否かを判定する。周辺部は、認証情報1020を受信していないと判定した場合(S1301:No)、ステップS1311の処理に進む。一方、周辺部は、認証情報1020を受信したと判定した場合(S1301:Yes)、ステップS1302の処理に進む。
周辺部は、ステップS1302において、受信した認証情報1020を主制御部201の前記暗号化方式に対応した復号化方式で復号化し、該認証情報1020のデータ部1022から認証データを抽出して周辺側記憶部332等に記憶し、周辺側記憶部332の受信カウンタをインクリメント(+1)し、その後ステップS1303の処理に進む。なお、主制御部201と周辺部との間で暗号化が不要な場合は、ステップS1302における復号化処理を削除する。また、本実施形態では、受信カウンタを用いて上述した1セットの認証情報の受信を確認する場合について説明するが、これに代えて、例えば1セット分のフラグデータを用いるなど種々異なる実施形態とすることができる。
周辺部は、ステップS1303において、抽出した認証データと周辺側記憶部332の複数の期待値とを比較して、認証データが複数の期待値の何れかと一致しているか否かを判定する。周辺部は、認証データが期待値と一致していると判定した場合(S1303:Yes)、認証データは有効データであることから、ステップS1304において、受信した認証情報1020の識別部1021に設定されている認証コマンドCに「有効」を示す有効データを関連付けて周辺側記憶部332等の有効判定結果情報に設定し、その認証情報1020のデータ部1022に設定されている有効データである認証値を周辺側記憶部332等に記憶し、その後ステップS1306の処理に進む。なお、有効判定結果情報は、認証コマンドと有効/無効とを一対のデータとして複数設定することが可能なデータ構造となっており、全ての認証コマンドに対する判定が終了すると、複数種類の認証情報1020の設定パターンが示される。
一方、周辺部は、認証データが期待値と一致していないと判定した場合(S1303:No)、認証データは無効データであることから、ステップS1305において、受信した認証情報1020の識別部1021に設定されている認証コマンドCに「無効」を示す無効データを関連付けて周辺側記憶部332等の有効判定結果情報に設定し、その認証情報1020のデータ部1022に設定されている無効データである履歴データを周辺側記憶部332等に記憶し、その後ステップS1306の処理に進む。
周辺部は、ステップS1306において、周辺側記憶部332の受信カウンタと設定パターンが示すパターン数(認証コマンドの数)とを比較して、主制御部201から全ての認証情報1020を受信したか否かを判定する。周辺部は、全ての認証情報1020を受信していないと判定した場合(S1306:No)、ステップS1311の処理に進む。一方、周辺部は、全ての認証情報1020を受信したと判定した場合(S1306:Yes)、周辺側記憶部332の受信カウンタをクリアし、その後ステップS1307の処理に進む。
周辺部は、ステップS1307において、上述した履歴データと周辺側記憶部332に記憶している周辺側履歴データとが一致してるか否かを判定して、主制御部201から受信している制御コマンドが正当であるか否かを判定する。周辺部は、履歴データと周辺側履歴データとが一致しておらず、制御コマンドが正当ではないと判定した場合(S1307:No)、ステップS1312の処理に進む。一方、周辺部は、履歴データと周辺側履歴データとが一致しており、制御コマンドが正当であると判定した場合(S1307:Yes)、ステップS1308の処理に進む。
周辺部は、ステップS1308において、周辺側記憶部332等の有効判定結果情報が示す判定結果が今回の設定パターンと一致しているか否かを判定する。なお、判定方法の一例としては、複数種類の認証コマンドCに対応した有効(認証)/無効(履歴)の判定結果と、設定パターンが示す認証コマンドCの有効/無効とが完全に一致しているか否かを判定する。そして、複数種類の認証情報1020の順番を認証判定に加味する場合、設定パターンが示す認証コマンドCの順番通りに、有効判定結果情報に設定されているか否かを判定して対応する。
そして、周辺部は、今回の設定パターンと一致すると判定した場合(S1308:Yes)、ステップS1309において、主制御部201に対する認証を成立させ、ステップS1310において、ステップS1303で認証データと一致した期待値に対応付けられた設定パターンを特定し、該特定した設定パターンを次回の設定パターンとして周辺側記憶部332の次回設定パターンデータに設定し、その後ステップS1311の処理に進む。
なお、複数種類の認証情報1020の中に認証値が認証データとして複数設定されている場合は、例えば、相互間で取り決めた所望の認証コマンド、順番、等に対応した認証情報1020に設定された認証値を用いる。また、複数の有効な認証情報1020の中の何れの有効データ(認証値)を、次回の設定パターンの特定に用いるかは、種々異なる実施形態とすることが可能であり、例えば、認証コマンドに優先度を割り振り、予め定められた優先度の認証コマンドに対応した認証値を前記特定に用いる実施形態とすることもできる。
周辺部は、ステップS1311において、ぱちんこ遊技機100の電源がオフされたか否かを判定する。そして、周辺部は、電源がオフされていないと判定した場合(S1311:No)、ステップS1301の処理に戻り、一連の処理を繰り返す。一方、周辺部は、電源がオフされたと判定した場合(S1311:Yes)、本フローチャートによる処理を終了する。
一方、周辺部は、ステップS1308で今回の設定パターンと一致していないと判定した場合(S1308:No)、ステップS1312において、主制御部201に対する認証を不成立とし、ステップS1313において、例えばスピーカ262(図2参照)等から報知信号を出力して、本フローチャートによる処理を終了する。
(複数種類の認証情報を用いた認証処理手順例)
次に、図15に示すパターン情報Dを用いて、複数種類の設定パターンP1〜P4を切り替えて主制御基板310の認証を行う場合の手順の一例を、図19の図面を参照して説明する。
図19において、被認証者である主制御基板310は、予め定められた今回の設定パターンP1をパターン情報Dからセットする(S1401)。主制御基板310は、初期設定の設定パターンP2を次回の設定パターンと決定し、該結果をデータ記憶部311の次回設定パターンデータに設定する(S1402)。そして、主制御基板310は、次回の設定パターンP2に対応付けられた認証値A2をデータ記憶部311から抽出する(S1403)。
主制御基板310は、複数種類の認証情報1020の識別部1021の各々に、今回の設定パターンP1に対応した順番で認証コマンドC1,C2の各々を設定し、今回の設定パターンP1が認証コマンドC1,C2の双方に無効データの設定を示していることから、その認証コマンドC1,C2の各々に対応したデータ部1022に、認証値A2とは異なる無効データであるデータ記憶部311の履歴データを認証データとして設定して今回の設定パターンP1と一致した複数種類の認証情報1020C1,C2を生成する(S1404)。そして、主制御基板310は、双方に無効データが設定された認証情報1020C1,C2を周辺基板330に送信する(S1405)。
このように認証処理手順では、認証コマンドC1,C2の各々に対応した認証情報1020をそれぞれ認証情報1020C1,C2と表している。そして、認証情報1020C1,C2はその順番で送信する場合について説明するが、その順番を逆にしてもよい。
一方、周辺基板330は、主制御基板310から複数種類の認証情報1020C1,C2を受信すると(S1411)、認証情報1020C1,C2の識別部1021に設定された認証コマンドC1,C2毎に、データ部1022の認証データと周辺側記憶部332に記憶している複数の期待値とが一致するか否かを判定して、複数種類の認証情報1020に対する設定パターンを検出する(S1412)。そして、周辺基板330は、予め定められた認証情報1020のデータ部1022に設定されている履歴データと周辺側記憶部332の周辺側履歴データとを比較して、主制御基板310から受信している制御コマンドの正当性を判定する(S1413)。
周辺基板330は、制御コマンドが正当であると判定した場合、有効判定結果情報が示す判定結果が初期値である今回の設定パターンP1と一致しているか否かを判定し、該判定結果に基づいて主制御基板310の認証を行う(S1414)。この場合、周辺基板330は、認証コマンドC1,C2の双方が無効である場合に、主制御基板310の認証を成立させる。そして、周辺基板330は、主制御基板310の認証が成立した場合、今回受信した認証情報1020C1,C2には認証値が設定されていないことから、予め定められた設定パターンP2を次回の設定パターンとして特定し、周辺側記憶部332の次回設定パターンデータに設定して(S1415)、2回目以降の認証処理を行う。
続いて、主制御基板310は、データ記憶部311の次回設定パターンデータが示す設定パターンP2を今回の設定パターンP2としてセットする(S1421)。そして、主制御基板310は、パターン情報Dから次回の設定パターンを設定パターンP3とランダムに決定して、該結果をデータ記憶部311の次回設定パターンデータに設定する(S1422)。そして、主制御基板310は、次回の設定パターンP3に対応付けられた認証値A3をデータ記憶部311から抽出する(S1423)。
主制御基板310は、複数種類の認証情報1020の識別部1021の各々に、今回の設定パターンP2に対応した順番で認証コマンドC1,C2の各々を設定し、今回の設定パターンP2が認証コマンドC1,C2に無効データ及び有効データの設定を示していることから、その認証コマンドC1,C2の各々に対応したデータ部1022に、認証値A3とは異なる履歴データである無効データと認証値A3である有効データとを認証データとして順次設定して、今回の設定パターンP2と一致する複数種類の認証情報1020C1,C2を生成する(S1424)。そして、主制御基板310は、一方に有効データが設定された認証情報1020C1,C2を周辺基板330に送信する(S1425)。
一方、周辺基板330は、主制御基板310から複数種類の認証情報1020C1,C2を受信すると(S1431)、認証情報1020C1,C2の識別部1021に設定された認証コマンドC1,C2毎に、データ部1022の認証データと周辺側記憶部332に記憶している複数の期待値とが一致するか否かを判定して、複数種類の認証情報1020C1,C2に対する設定パターンを検出する(S1432)。そして、周辺基板330は、認証情報1020C1のデータ部1022に設定されている履歴データと周辺側記憶部332の周辺側履歴データとを比較して、主制御基板310から受信している制御コマンドの正当性を判定する(S1433)。
周辺基板330は、制御コマンドが正当であると判定した場合、有効判定結果情報が示す判定結果が、前回の認証処理で次回の設定パターンとして特定された今回の設定パターンP2と一致しているか否かを判定し、該判定結果に基づいて主制御基板310の認証を行う(S1434)。この場合、周辺基板330は、認証コマンドC1が無効、認証コマンドC2が有効である場合に、主制御基板310の認証を成立させる。そして、周辺基板330は、主制御基板310の認証が成立した場合、有効と判定した認証データ(認証値A3)と一致した周辺側記憶部332の期待値B3に対応付けられた設定パターンP3を特定し、周辺側記憶部332の次回設定パターンデータに設定して(S1435)、以降の認証処理を行う。
なお、上述した認証処理手順では、認証情報1020C1,C2を設定パターンPが規定する順番で主制御基板310から周辺基板330に送信する場合について説明したが、これに代えて、送信順番を不規則に変化させてもよい。
以上説明したぱちんこ遊技機100によれば、複数種類の設定パターンP1〜P4と複数種類の認証値A1〜A4とを一対一に対応付けておき、主制御部201が今回の設定パターンPとなるように、次回の設定パターンPに対応した認証値Aと制御コマンドの履歴を示す履歴データとを設定して複数種類の認証情報1020を生成し、該複数種類の認証情報1020を周辺部に送信するようにしたことから、周辺部が複数種類の認証情報の各々に設定された認証値と履歴データの設定パターンと履歴データが示す制御コマンドの正当性とに基づいて主制御部201の認証を行うことで、不正な解析者が複数種類の認証情報1020を解析するのは困難となり、不正な解析者が認証情報1020を不正に利用することを防止でき且つ不正解析者によって制御コマンドが不正に利用されたことを周辺部で検知することができる。さらに、複数種類の認証情報1020の数を増やすことで、設定パターンPの数も増やすことができるため、認証強度を高めることができる。また、周辺部がその認証値に対応した設定パターンPを期待値から特定して、次回の設定パターンPとすることで、ぱちんこ遊技機100における設定パターンPの切り替えを不正な解析者が解析するのをより一層困難とすることができる。さらに、複数種類の認証値Aは予め記憶しておくことができるため、認証情報1020の生成時に複雑な演算を行う必要がなくなり、主制御部201の処理負担の増加を防止できる。従って、複雑な演算を用いることなく、主制御部201から周辺部に認証用のデータを単独で送信しても、当該データの解析を困難とすることができる。
また、上述したぱちんこ遊技機100において、複数種類の認証情報1020に対して複数の有効な認証値Aの設定を可能としたことから、主制御部201と周辺部との間で用いる設定パターンPの数を増加させることができるため、不正な解析者が複数種類の認証情報1020を解析するのはより一層困難となり、不正な解析者が認証情報1020を不正に利用することを防止でき且つ不正解析者によってデータが不正に利用されたことを周辺部で検知することができる。
上述したぱちんこ遊技機100において、履歴データ及び周辺側履歴データが複数回分の制御コマンドの履歴を示すようにしたことから、複数種類の認証情報の送信回数を減らしても、その間に生じた制御コマンドの不正を検出することができるため、認証精度の向上を図ることができる。そして、履歴データ及び周辺側履歴データを過去の履歴データを演算した値とすることで、不正な解析者による解析をより一層困難とすることができる。
さらに、上述したぱちんこ遊技機100において、複数種類の認証情報1020の全てに対して履歴データである認証データの設定を可能とし、その場合は初期の設定パターンを次回の設定パターンPとするようにしたことから、設定パターンPの切り替えの解析をより一層困難とすることができるため、不正利用の防止且つ検知の精度向上を図ることができる。
また、上述したぱちんこ遊技機100において、主制御部201が設定パターンPによって規定された複数種類の認証情報1020の順番で該複数種類の認証情報1020を周辺部に送信するようにすれば、周辺部は複数種類の認証情報1020の各々に設定された認証データの有効、無効のパターンとその順番に基づいて主制御部201の認証を行うことができるため、複雑な演算を用いることなく、認証精度の向上を図ることができる。
さらに、上述したぱちんこ遊技機100において、主制御部201が生成した複数種類の認証情報1020を不規則な順番で周辺部に送信するようにすれば、不正な解析者が複数種類の認証情報1020を解析するのはより一層困難となり、不正な解析者が認証情報1020を不正に利用することを防止でき且つ不正解析者によってデータが不正に利用されたことを周辺部で検知することができる。
[実施例2]
以下に、上述したぱちんこ遊技機100の実施例2を説明する。なお、上述した構成と同一部分については、同一の符号を付して異なる部分のみを詳細に説明する。
(主制御基板および周辺基板の機能的構成)
まず、ぱちんこ遊技機100は、図20に示すように、主制御部201としての機能を有する主制御基板310と、上述した演出制御部202や賞球制御部203などの周辺部としての機能を有する周辺基板330と、を有して構成している。そして、主制御基板310は周辺基板330と通信可能なように電気的に接続されている。
主制御基板310は、上述したデータ記憶部311、決定部312、認証情報生成部315、送信部316と、選択部313と、を有して構成している。
選択部313は、本発明の選択手段に相当し、データ記憶部311に記憶している複数種類の認証値の中から1つの認証値を無作為に選択する。選択部313は、乱数等を用いて1つの認証値を選択する。なお、選択部313は、設定パターンが複数の認証情報に有効データの設定を示している場合、その数に応じた複数の認証値を選択することもできる。
上述した決定部312は、選択部313が選択した認証値に対応付けられた設定パターンを、主制御基板310の次回の認証に用いる次回の設定パターンと決定し、該決定した設定パターンを示す次回設定パターンデータをデータ記憶部311等に記憶する。
上述した認証情報生成部315は、選択部313によって選択された認証値と前記履歴データとが、予め決定された今回の前記設定パターンで設定されるように複数種類の認証情報1020を生成する。そして、予め決定された今回の設定パターンは、認証情報生成部315の1回目の処理においては、予め定められた初期値である初期設定パターンとなり、2回目以降の処理においては、前回の処理で決定された次回の設定パターンとなる。そして、設定パターンが複数の有効データ(認証)の設定を示している場合、次回の設定パターンに対応付ける認証値が予め定められた認証情報1020に設定され且つ今回の設定パターンで設定されるように複数種類の認証情報1020を生成する。
実施例2のぱちんこ遊技機100も、実施例1と同様に、有効な認証値が設定された認証情報1020と履歴データが設定された認証情報1020とを組み合わせて主制御基板310から周辺基板330に送信し、周辺基板330はその複数種類の認証情報1020の設定パターンを検出し、制御コマンドの正当性及び検出した設定パターンに基づいて主制御基板310の認証を行う構成を採用している。よって、ぱちんこ遊技機100は、複数種類の設定パターンを組み合わせて認証することで、セキュリティの向上を図るとともに、主制御部201から周辺基板330に単独で認証情報を送信しても、それが容易に解析されることを困難にすることができる。
続いて、周辺基板330は、実施例1と同様に、受信部331、周辺側記憶部332、設定パターン検出部333、正当性判定部334、認証部335,特定部336を有して構成している。そして、周辺基板330は、実施例1と同様の構成で実現できるため、その説明は省略する。
また、実施例2においても、主制御基板310のCPU211が請求項中の第1コンピュータ、周辺基板330のCPU241,281の各々が請求項中の第2コンピュータとして機能させる場合について説明する。そして、主制御基板310のROM212は、前記第1コンピュータを請求項中の選択手段、認証情報生成手段、決定手段、送信手段、等の各種手段として機能させるための主制御側認証プログラムを記憶している。また、周辺基板330のROM242,282の各々は、前記第2コンピュータを請求項中の受信手段、設定パターン検出手段、正当性判定手段、認証手段、特定手段、等の各種手段として機能させるための周辺側認証プログラムを記憶している。即ち、主制御側認証プログラムと周辺側認証プログラムによって本発明の認証プログラムを構成している。
(認証情報信号の送受信に関する処理)
以下に、主制御部201と周辺部との間で行う上記認証情報信号の通信例を説明する。まず、主制御部201のCPU211(第1コンピュータ)による認証情報信号の送信手順2の一例を、図21のフローチャートを参照して説明する。
ぱちんこ遊技機100の電源がON(投入)されると、主制御部201は図21に示す被認証処理を実行し、ステップS1501において、予め定められた認証タイミングであるか否かを判定する。主制御部201は、認証タイミングではないと判定した場合(S1501:No)、ステップS1508の処理に進む。一方、主制御部201は、認証タイミングであると判定した場合(S1501:Yes)、ステップS1502の処理に進む。
主制御部201は、ステップS1502において、データ記憶部311の次回設定パターンデータに設定されている設定パターンを今回の設定パターンとしてセットし、その後ステップS1503の処理に進む。なお、前記次回設定パターンデータに設定パターンが設定されていない場合、即ち初回の処理では、ぱちんこ遊技機100において初期値として予め定められた初回設定パターンを今回の設定パターンとしてセットする。
主制御部201は、ステップS1503において、データ記憶部311に記憶している複数種類の期待値の中から乱数等を用いて1つの認証値を選択してRAM213等に記憶し、その後ステップS1504の処理に進む。なお、このフローチャートでは、説明を簡単化するために、1つの認証値を選択する場合について説明するが、これに代えて、複数の認証値を選択する構成とすることもできる。
主制御部201は、ステップS1504において、複数種類の認証情報1020の識別部1021の各々に、今回の設定パターンに対応した複数種類の認証コマンドの各々を設定し、その複数種類の認証コマンドの各々に対応したデータ部1022に、前記選択した認証値である有効データとデータ記憶部311に記憶している履歴データである無効データを今回の設定パターンと一致するように設定して複数種類の認証情報1020を生成してデータ記憶部311等に記憶し、その後ステップS1505の処理に進む。
なお、設定パターンが複数種類の認証情報1020の順番を規定している場合、主制御部201は、その順番となるように複数種類の認証情報1020を生成する。また、複数種類の認証情報1020を不規則な順番で生成する場合、例えば複数種類の認証コマンドC1〜C5の順番が入れ替わるように複数種類の認証情報1020を生成する。また、複数種類の認証情報1020の中に有効な認証値を複数設定する場合、ぱちんこ遊技機100において予め定められた認証情報1020に認証値を少なくとも設定する。
主制御部201は、ステップS1505において、前記生成した複数種類の認証情報1020を、周辺部との間で予め定められた暗号化方法で暗号化し、ステップS1506において、前記暗号化した複数種類の認証情報1020の各々に基づいて認証情報信号を生成して送信部316から周辺部に対して送信し、その後ステップS1507の処理に進む。なお、主制御部201と周辺部との間で暗号化が不要な場合は、ステップS1505の処理を削除して、複数種類の認証情報1020をそのまま周辺部に送信する。
主制御部201は、ステップS1507において、パターン情報Dが示す複数種類の設定パターンPの中から、前記選択した認証値に対応した設定パターンを特定し、該特定した設定パターンを主制御部201の次回の認証に用いる次回の設定パターンとしてデータ記憶部311の次回設定パターンデータに設定し、その後ステップS1508の処理に進む。
主制御部201は、ステップS1508において、ぱちんこ遊技機100の電源がオフされたか否かを判定する。そして、主制御部201は、電源がオフされていないと判定した場合(S1508:No)、ステップS1501の処理に戻り、一連の処理を繰り返す。一方、主制御部201は、電源がオフされたと判定した場合(S1508:Yes)、本フローチャートによる処理を終了する。
続いて、周辺部のCPU241,281(第2コンピュータ)による前記認証情報信号の受信処理の手順は、実施例1の図18に示す認証側処理をそのまま用いることができるため、詳細な説明は省略する。
(複数種類の認証情報を用いた認証処理手順例2)
次に、図15に示すパターン情報Dを用いて、複数種類の設定パターンP1〜P4を切り替えて主制御基板310の認証を行う場合の処理手順2の一例を、図22の図面を参照して説明する。
図22において、被認証者である主制御基板310は、予め定められた今回の設定パターンP2をパターン情報Dからセットする(S1701)。そして、主制御基板310は、複数種類の認証値A1〜A4の中からランダムに1つの認証値A2を抽出する(S1702)。
主制御基板310は、複数種類の認証情報1020の識別部1021の各々に、今回の設定パターンP2に対応した順番で認証コマンドC1,C2の各々を設定し、今回の設定パターンP2が認証コマンドC1,C2に無効データ及び有効データの設定を示していることから、その認証コマンドC1,C2の各々に対応したデータ部1022に、認証値A2とは異なる前記履歴データである無効データと認証値A2である有効データとを認証データとして順次設定して、今回の設定パターンP2と一致する複数種類の認証情報1020C1,C2を生成する(S1703)。そして、主制御基板310は、一方に有効データが設定された認証情報1020C1,C2を周辺基板330に送信する(S1704)。そして、主制御基板310は、選択した認証値A2に対応付けられた設定パターンP2を、主制御基板310の次回の認証に用いる次回の設定パターンと決定し、該結果をデータ記憶部311の次回設定パターンデータに設定する(S1705)。即ち、次回の認証処理においても、設定パターンP2を継続して用いることになる。
このように認証処理手順では、認証コマンドC1,C2の各々に対応した認証情報1020をそれぞれ認証情報1020C1,C2と表している。そして、認証情報1020C1,C2はその順番で送信する場合について説明するが、その順番を逆にしてもよい。
一方、周辺基板330は、主制御基板310から複数種類の認証情報1020C1,C2を受信すると(S1711)、認証情報1020C1,C2の識別部1021に設定された認証コマンドC1,C2毎に、データ部1022の認証データと周辺側記憶部332に記憶している複数の期待値とが一致するか否かを判定して、複数種類の認証情報1020に対する設定パターンを検出する(S1712)。そして、周辺基板330は、無効データが設定された認証情報1020C1のデータ部1022に設定されている履歴データと周辺側記憶部332の周辺側履歴データとを比較して、主制御基板310から受信している制御コマンドの正当性を判定する(S1713)。
周辺基板330は、制御コマンドが正当であると判定した場合、有効判定結果情報が示す判定結果が初期値である今回の設定パターンP2と一致しているか否かを判定し、該判定結果に基づいて主制御基板310の認証を行う(S1714)。この場合、周辺基板330は、認証コマンドC1が無効、認証コマンドC2が有効である場合に、主制御基板310の認証を成立させる。そして、周辺基板330は、主制御基板310の認証が成立した場合、有効と判定した認証データ(認証値A2)と一致した周辺側記憶部332の期待値B2に対応付けられた設定パターンP2を特定し、周辺側記憶部332の次回設定パターンデータに設定して(S1715)、2回目以降の認証処理を行う。
続いて、主制御基板310は、データ記憶部311の次回設定パターンデータが示す設定パターンP2を今回の設定パターンP2としてセットする(S1721)。そして、主制御基板310は、複数種類の認証値A1〜A4の中からランダムに1つの認証値A4を抽出する(S1722)。
主制御基板310は、複数種類の認証情報1020の識別部1021の各々に、今回の設定パターンP2に対応した順番で認証コマンドC1,C2の各々を設定し、今回の設定パターンP2が認証コマンドC1,C2に無効データ及び有効データの設定を示していることから、その認証コマンドC1,C2の各々に対応したデータ部1022に、認証値A4とは異なり履歴データである無効データと認証値A4である有効データとを認証データとして順次設定して、今回の設定パターンP2と一致する複数種類の認証情報1020C1,C2を生成する(S1723)。そして、主制御基板310は、一方に有効データが設定された認証情報1020C1,C2を周辺基板330に送信する(S1724)。そして、主制御基板310は、選択した認証値A4に対応付けられた設定パターンP4を、主制御基板310の次回の認証に用いる次回の設定パターンと決定し、該結果をデータ記憶部311の次回設定パターンデータに設定する(S1725)。即ち、次回の認証処理においては、設定パターンP2から設定パターンP4に切り替えることになる。
一方、周辺基板330は、主制御基板310から複数種類の認証情報1020C1,C2を受信すると(S1731)、認証情報1020C1,C2の識別部1021に設定された認証コマンドC1,C2毎に、データ部1022の認証データと周辺側記憶部332に記憶している複数の期待値とが一致するか否かを判定して、複数種類の認証情報1020C1,C2に対する設定パターンを検出する(S1732)。そして、周辺基板330は、認証情報1020C1のデータ部1022に設定されている履歴データと周辺側記憶部332の周辺側履歴データとを比較して、主制御基板310から受信している制御コマンドの正当性を判定する(S1733)。
周辺基板330は、制御コマンドが正当であると判定した場合、有効判定結果情報が示す判定結果が、前回の認証処理で次回の設定パターンとして特定された今回の設定パターンP2と一致しているか否かを判定し、該判定結果に基づいて主制御基板310の認証を行う(S1734)。この場合、周辺基板330は、認証コマンドC1が無効、認証コマンドC2が有効である場合に、主制御基板310の認証を成立させる。そして、周辺基板330は、主制御基板310の認証が成立した場合、有効と判定した認証データ(認証値A4)と一致した周辺側記憶部332の期待値B4に対応付けられた設定パターンP4を特定し、周辺側記憶部332の次回設定パターンデータに設定して(S1735)、以降の認証処理を行う。
なお、上述した認証処理手順2では、認証情報1020C1,C2を設定パターンPが規定する順番で主制御基板310から周辺基板330に送信する場合について説明したが、これに代えて、送信順番を不規則に変化させてもよい。
以上説明したぱちんこ遊技機100によれば、複数種類の設定パターンP1〜P4と複数種類の認証値A1〜A4とを一対一に対応付けておき、主制御部201が今回の設定パターンPとなるように、次回の設定パターンPに対応した認証値Aと制御コマンドの履歴を示す履歴データとを設定して複数種類の認証情報1020を生成し、該複数種類の認証情報1020を周辺部に送信するようにしたことから、周辺部が複数種類の認証情報の各々に設定された認証値と履歴データの設定パターンと履歴データが示す制御コマンドの正当性とに基づいて主制御部201の認証を行うことで、不正な解析者が複数種類の認証情報1020を解析するのは困難となり、不正な解析者が認証情報1020を不正に利用することを防止でき且つ不正解析者によって制御コマンドが不正に利用されたことを周辺部で検知することができる。さらに、複数種類の認証情報1020の数を増やすことで、設定パターンPの数も増やすことができるため、認証強度を高めることができる。また、周辺部がその認証値に対応した設定パターンPを期待値から特定して、次回の設定パターンPとすることで、ぱちんこ遊技機100における設定パターンPの切り替えを不正な解析者が解析するのをより一層困難とすることができる。さらに、複数種類の認証値Aは予め記憶しておくことができるため、認証情報1020の生成時に複雑な演算を行う必要がなくなり、主制御部201の処理負担の増加を防止できる。従って、複雑な演算を用いることなく、主制御部201から周辺部に認証用のデータを単独で送信しても、当該データの解析を困難とすることができる。
また、上述したぱちんこ遊技機100において、複数種類の認証情報1020に対して複数の有効な認証値Aの設定を可能としたことから、主制御部201と周辺部との間で用いる設定パターンPの数を増加させることができるため、不正な解析者が複数種類の認証情報1020を解析するのはより一層困難となり、不正な解析者が認証情報1020を不正に利用することを防止でき且つ不正解析者によってデータが不正に利用されたことを周辺部で検知することができる。
上述したぱちんこ遊技機100において、履歴データ及び周辺側履歴データが複数回分の制御コマンドの履歴を示すようにしたことから、複数種類の認証情報の送信回数を減らしても、その間に生じた制御コマンドの不正を検出することができるため、認証精度の向上を図ることができる。そして、履歴データ及び周辺側履歴データを過去の履歴データを演算した値とすることで、不正な解析者による解析をより一層困難とすることができる。
さらに、上述したぱちんこ遊技機100において、複数種類の認証情報1020の全てに対して無効な認証データの設定を可能とし、その場合は初期の設定パターンを次回の設定パターンPとするようにしたことから、設定パターンPの切り替えの解析をより一層困難とすることができるため、不正利用の防止且つ検知の精度向上を図ることができる。
また、上述したぱちんこ遊技機100において、主制御部201が設定パターンPによって規定された複数種類の認証情報1020の順番で該複数種類の認証情報1020を周辺部に送信するようにすれば、周辺部は複数種類の認証情報1020の各々に設定された認証データの有効、無効のパターンとその順番に基づいて主制御部201の認証を行うことができるため、複雑な演算を用いることなく、認証精度の向上を図ることができる。
さらに、上述したぱちんこ遊技機100において、主制御部201が生成した複数種類の認証情報1020を不規則な順番で周辺部に送信するようにすれば、不正な解析者が複数種類の認証情報1020を解析するのはより一層困難となり、不正な解析者が認証情報1020を不正に利用することを防止でき且つ不正解析者によってデータが不正に利用されたことを周辺部で検知することができる。
なお、本実施形態で説明した主制御部及び周辺部の制御方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、CD−ROM、MO、DVD、等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、このプログラムは、インターネット等のネットワークを介して配布することが可能な電送媒体であってもよい。