以下に添付図面を参照して、本発明にかかる遊技機であるぱちんこ遊技機と、このぱちんこ遊技機に搭載されている複数の基板間(主制御基板および周辺基板)の制御信号に含まれる制御コマンドを認証する認証方法および認証プログラムに好適な実施の形態を詳細に説明する。
[実施例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、主制御側変更部316、認証情報生成部317、送信部318、更新部319を有して構成している。そして、主制御基板310は、周辺基板330とは別の基板で形成されており、周辺基板330の周辺部202Aと通信可能なように電気的に接続されている。
データ記憶部311は、本発明の検査値記憶手段及び種別情報記憶手段に相当し、2種類の検査値、認証情報、種別情報、認証用データ、期待値変更用データ、等の各種データを記憶している。データ記憶部311としては、例えば、主制御部201のROM212、RAM213(図2参照)の一部を用いることができる。また、データ記憶部311は、周辺部に送信した認証情報を記憶する記憶領域を有している。データ記憶部311に記憶する認証情報は、1回の送信分のみを記憶する構成、送信した複数回分を時系列的に記憶する構成、等の種々異なる実施形態とすることができる。
認証用データは、周辺基板330(周辺部)が主制御基板310(主制御部)の認証に用いるデータとなっており、上述したCPU211が生成する。そして、期待値変更用データは、主制御部201が有する2種類の検査値と後段部202Bが有する2種類の期待値とを変更するためのデータとなっており、上述したCPU211が生成プログラム等を実行して不規則に生成する、又は、任意のカウンタ、予め定められた値、等に基づいて生成する。
データ記憶部311は、ぱちんこ遊技機100に対して設計時、製造時、等に予め定められた相異なる2種類の検査値を記憶している。2つの検査値の各々は、例えば主制御部201のROM212における相異なる2つの所定領域のチェックサム、予め定められた固有の値、奇数と偶数、大小関係の値、等が挙げられる。2種類の検査値の各々は、認証用データとして任意に用いられ、認証用データと期待値変更用データとのうち、認証情報がどちらのデータを有するかを示すデータ種別と一対一に対応付けられている。具体的には、2種類の検査値の各々には、そのデータ種別を示すための種別データが関連付けられている。
種別情報は、主制御部201が今回生成する認証情報のデータ種別を示すデータ構造となっている。例えば、種別情報は、今回種別データと次回種別データとを有しており、各種別データは認証用データと期待値変更用データとを識別するためのデータとなっている。なお、種別情報は、次回の種別データの設定を認証処理の最後に行うことで、今回種別データのみのデータ構造とすることもできる。
決定部312は、本発明の決定手段に相当し、主制御基板310が次回生成する認証情報のデータ種別を、認証用データと期待値変更用データの2種類から無作為に決定する。決定部312は、認証用データと期待値変更用データとが不規則な順番となるように、例えば乱数、テーブル、等を用いて不規則に次回のデータ種別を決定することで、不正解析者によって不正に解析されるのを困難にしている。
検査値抽出部313は、本発明の検査値抽出手段に相当し、決定部312が決定した次回のデータ種別に対応付けられた検査値をデータ記憶部(検査値記憶手段)311から抽出し、該抽出した検査値をRAM213等に記憶する。そして、検査値抽出部313によって抽出された一方の検査値が、今回の認証情報に認証用データとして用いる検査値となる。
認証用データ生成部314は、本発明の認証用データ生成手段に相当し、データ記憶部311に記憶している種別情報が認証用データを示している場合に、検査値抽出部313が抽出した検査値を有する認証用データを生成し、該認証用データをデータ記憶部311等に記憶する。そして、認証用データ生成部314は、1回目の処理では予め定められた初期値であるデータ種別を用いて前記抽出された検査値の認証用データを生成し、2回目以降の処理では、前回の処理で決定部312によって次回のデータ種別が決定されていることから、その次回のデータ種別を用いて前記抽出された検査値の認証用データを生成する。このように生成した認証用データは、無作為に切り替えられた2種類の検査値のうちの一方の値となっている。なお、本実施形態では、認証用データが前記抽出した検査値である場合について説明するが、これに代えて、例えば、主制御部201と周辺部との間で予め定めた演算方式で前記抽出した検査値を演算した値とすることもできる。
期待値変更用データ生成部315は、本発明の期待値変更用データ生成手段に相当し、データ記憶部311が記憶している種別情報が期待値変更用データを示している場合に、主制御基板310の2種類の検査値及び周辺基板330における後段部202Bの2種類の期待値の各々を変更する期待値変更用データを生成し、該期待値変更用データをデータ記憶部311等に記憶する。期待値変更用データ生成部315は、任意の生成タイミングで、相異なる値、不規則な値、等となるように期待値変更用データを生成する。そして、期待値変更用データとしては、後述する補正値、係数値、等が挙げられる。
主制御側変更部316は、本発明の主制御側変更手段に相当し、期待値変更用データ生成部315が生成した期待値変更用データに基づいて、データ記憶部311(検査値記憶手段)が記憶している検査値を変更する。主制御側変更部316は、主制御基板310と周辺基板330の後段部202Bとの間で予め定められた変更方式と期待値変更用データとを用いて、前記2種類の検査値を変更する。そして、変更方式としては、例えば、+、−、*、/、AND、OR、XOR、予め定められた関数、等の各種演算方式を用いることができる。なお、本実施形態では、期待値変更用データで2種類の検査値及び期待値の双方を変更する場合について説明するが、これに代えて、2種類の検査値及び期待値のうち予め定められた一方の値のみを期待値変更用データで変更する実施形態とすることもできる。
認証情報生成部317は、本発明の認証情報生成手段に相当し、認証用データ生成部314が生成した認証用データ又は期待値変更用データ生成部315が生成した期待値変更用データを有する認証情報を生成する。本実施形態の認証情報生成部317は、認証用データ又は期待値変更用データの何れか一方のデータと、ぱちんこ遊技機100の制御コマンドとは異なる認証コマンドと、を有する認証情報を生成する場合について説明する。これに代えて、認証情報が他のデータをさらに有するデータ構造とすることもできる。
主制御側送信部318は、本発明の主制御側送信手段に相当し、認証情報生成部317が生成した認証情報と周辺部202Aを制御する制御コマンドデータとの各々を、異なるタイミングで個別に周辺基板330の周辺部202Aを介して後段部202Bに送信する。そして、本実施形態の主制御側送信部318は、前記制御コマンドデータを制御信号として周辺基板330の周辺部202Aに送信する。また、主制御側送信部316は、前記認証情報を前記制御信号とは別の信号である認証情報信号として後段部202Bに、周辺部202Aを介して送信する。これにより、ぱちんこ遊技機100において、制御信号と認証情報信号とを区別化している。
更新部319は、本発明の更新手段に相当し、決定部312が決定した次回のデータ種別を示すように、データ記憶部311に記憶している種別情報を更新する。そして、該種別情報が示す次回のデータ種別は、主制御基板310における次回の認証処理で今回のデータ種別として用いられる。
本発明のぱちんこ遊技機100は、2種類の検査値を主制御基板310の認証に用いるに当たり、それらの検査値を主制御基板310は期待値変更用データで変更することができるため、周辺基板330の後段部202Bがその期待値変更用データを主制御基板310から取得し、検査値に対応した期待値をその期待値変更用データで変更させることで、変更した検査値と期待値とに基づいて主制御基板310の認証を行う構成を採用している。よって、ぱちんこ遊技機100は、1種類の認証情報で認証を行っても、認証用データを不正に解析することを困難にすることができるため、セキュリティの向上を図ることができる。
続いて、上述した演出制御部202Aなどの周辺部としての機能を有する周辺基板330の機能的構成について説明する。図3に示すように、周辺基板330は、周辺部(演出制御部)202Aと、後段部202Bと、を有して構成している。そして、周辺基板330は、周辺部(演出制御部)202Aと後段部202Bとの間で双方向通信が可能に構成している。なお、本実施例では、演出制御部202Aと後段部202Bとを有する周辺基板330とした場合について説明するが、これに代えて、賞球制御部203側に後段部202Bを設けた周辺基板とすることもできる。また、演出制御部202Aと後段部202Bは個別の基板とし、例えば演出制御部202Aの基板に後段部202Bの基板を実装する等の構成とすることもできる。
まず、後段部202Bは、後段側受信部331、後段側記憶部332、後段認証結果データ生成部333、後段側送信部334、後段側変更部335、特定部336を有して構成している。
後段側受信部331は、本発明の後段側受信手段に相当し、主制御基板310が周辺部202Aに送信し且つ当該周辺部202Aから転送された認証情報等を受信する。本実施形態の後段側受信部331は、例えば、認証情報に対応した認証情報信号を受信することによって、認証情報を主制御基板310から周辺部202Aを介して受信する。
後段側記憶部332は、本発明の期待値記憶手段及び後段側種別情報記憶手段に相当している。後段側記憶部332は、上述した主制御基板310から受信すべき2つの検査値、即ち、主制御基板310のデータ記憶部311が記憶している2つの検査値の各々と一致する2つの期待値を記憶している。これにより、周辺基板330の後段部202Bは、認証情報に設定された認証用データと期待値が一致していれば、認証用データが正規の検査値であると判定できる。また、認証用データと期待値が一致していなければ、認証用データは検査値ではないと判定できる。なお、本実施形態では、期待値を上述した期待値変更用データによって変更することができるため、予め記憶しておく期待値は、主制御基板310の検査値と異なる値、即ち、一致していない値とすることができる。
後段側記憶部332は、上述した複数の期待値の各々に、上述した認証情報の2種類のデータ種別の各々と一対一に対応付けて記憶している。後段側記憶部332は、例えば、2種類のデータ種別を示す種別データを期待値に対応付けて記憶することで、期待値からデータ種別を特定することを可能としている。
後段側記憶部332は、今回の認証情報のデータ種別を示す後段側種別情報を記憶する。後段側種別情報は、上述した主制御基板310の種別情報と同様のデータ構造であり、不正が生じていない場合は、種別情報が示すデータ種別と一致している。よって、後段部202Bは、主制御基板310から認証情報を受信する前に、後段側種別情報を参照することで、受信する認証情報のデータ種別を事前に把握することができる。
後段認証結果データ生成部333は、本発明の後段認証結果データ生成手段に相当し、前記後段側種別情報のデータ種別が前記認証用データを示している場合に、該認証用データである検査値と後段側記憶部332に記憶している期待値とを比較し、該比較結果に基づいた主制御基板310の認証結果を示す後段認証結果データを生成する。即ち、後段認証結果データは、後段部202Bが主制御基板310(主制御部201)を認証したか否かの認証結果を示している。そして、後段認証結果データ生成部333の認証方法の一例としては、検査値と期待値とが一致しているかを判定し、一致している場合は主制御基板310の認証を成立させ、また、一致していない場合は認証を不成立とする。
後段側送信部334は、本発明の後段側送信手段に相当し、後段認証結果データ生成部333が生成した後段認証結果データを周辺部202Aに送信する。そして、後段側送信部334は、例えば、前記生成した後段認証結果データを後段認証結果信号として周辺部202Aに送信する。
後段側変更部335は、本発明の後段側変更手段に相当し、前記後段側種別情報のデータ種別が前記期待値変更用データを示している場合に、前記認証情報の前記期待値変更用データに基づいて後段側記憶部332が記憶している期待値を変更する。後段側変更部335は、主制御基板310の主制御側変更部316と同一の変更方式と期待値変更用データとを用いて、前記2種類の期待値を変更する。そして、後段側変更部335は、後段側種別情報のデータ種別が前記期待値変更用データを示している場合に、不正な認証情報を受信すると、その不正なデータで前記2種類の期待値を変更することから、主制御基板310の検査値とは異なる値に変更されることになるため、その後の認証情報の認証が成立しなくなる。また、後段側変更部335は、主制御基板310の主制御側変更部316と対応するように、2種類の期待値の双方、又は、一方を期待値変更用データで変更する。
特定部336は、本発明の特定手段に相当し、後段認証結果データ生成部333によって主制御基板310の認証が成立した場合、認証用データを構成する検査値と一致する前記期待値に対応付けられたデータ種別を次回のデータ種別と特定し、該特定した次回のデータ種別となるように後段側記憶部332に記憶している後段側種別情報を更新する。
次に、周辺部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を識別することが可能な識別データが設定される。識別データの一例としては、制御コマンドデータ1001の制御コマンドとは異なる認証コマンドが挙げられ、例えば16進数の0xA0等の値が設定される。これにより、後段部202Bは、識別部1021に基づいて認証情報1020であるか否かを識別することができる。そして、認証コマンドは、上述した制御コマンドとは異なるコマンド体系として区別化を図っている。
データ部1022は、上述した認証用データ生成部314が生成した1つの認証用データが設定される。そして、本実施形態のデータ部1022は、認証用データのみが設定される場合について説明するが、これに代えて、認証用データと他のデータをデータ部1022に設定する実施形態とすることもできる。なお、他のデータの一例としては、上述した付随データ1002のような認証コマンドに付随するデータ等が挙げられる。
続いて、図11に示す後段認証結果信号は、後段部202Bが上述した認証情報1020を用いて主制御部201の認証を行った認証結果を示す後段認証結果情報1030を周辺部202Aに送信する。そして、後段認証結果情報1030は、識別部1031と結果部1032とを有して構成している。識別部1031は、後段認証結果情報1030を識別することが可能な後段認証結果識別データが設定される。なお、後段認証結果識別データとしては、認証情報1020の識別部1021に設定されたデータを流用する、予め定められたデータを用いる、など種々異なる実施形態とすることができる。
(認証情報の一例)
次に、認証情報1020のデータ部1022に設定される認証用データ及び期待値変更用データの一例を以下に説明する。
図12に示すように、認証情報1020のデータ種別は、認証用データK1と、期待値変更用データK2と、を有して構成している。そして、認証情報1020のデータ種別が認証用データK1の場合、認証情報1020のデータ部1022には、2種類の検査値A1、A2(但し、A1≠A2)のうちの何れか一方を有する認証用データが設定される。
認証情報1020のデータ種別が期待値変更用データK2の場合、認証情報1020のデータ部1022には、補正値C又は係数値Fの何れか一方を有する認証用データが設定される。そして、補正値Cは、予め定められた前記期待値を変更するための値となっている。補正値Cは、例えば、ぱちんこ遊技機100の起動時、初回の認証時、等に1度生成した補正値を繰り返し用いても良いし、複数回生成して補正値Cを不規則に変化させても良いが、本実施形態では、期待値変更用データを生成するたびに補正値Cn(nは整数)を不規則に変化させる場合について説明する。そして、補正値Cを複数回生成する場合、生成する毎に共通の検査値及び期待値を変更するための値となる。
係数値Fは、前回変更した前記期待値を変更するための値となっている。即ち、係数値Fは、検査値及び期待値を変更する毎に、その検査値及び期待値を累積して変化させるための値となっている。係数値Fは、補正値Cと同様に、1度生成した係数値Fを繰り返し用いても良いし、複数回生成して係数値Fn(nは整数)を不規則に変化させても良い。
次に、2種類の検査値A1,A2と期待値B1,B2と認証情報1020のデータ種別K1,K2との対応付けの一例を説明する。
まず、ぱちんこ遊技機100において、図13に示すように、主制御基板310に対する2種類の検査値A1,A2が設定されると、該2種類の検査値A1,A2に対応した期待値B1,B2が周辺基板330に対して設定される。そして、検査値A1,A2及び期待値B1,B2の各々に、認証情報1020のデータ種別K1,K2を割り付ける。そして、主制御基板310は、検査値A1,A2を認証情報1020のデータ種別K1,K2に対応付けて記憶する。そして、周辺基板330は、期待値B1,B2を認証情報1020のデータ種別K1,K2に対応付けて記憶する。そして、検査値A1,A2及び期待値B1,B2は期待値変更用データによって変更されるため、データ種別K1,K2との対応付けについては、例えば、変更する毎に対応付けを更新する、変更した値の各々に初期の値を対応付ける、等の種々異なる実施形態とすることができる。
次に、上述した補正値Cnを用いた変更例を説明する。なお、ぱちんこ遊技機100において、検査値A1,A2と期待値B1,B2が対応し(A1=B1、A2=B2)、nが整数、変更方式が「+」であることを前提とする。
1回目の変更において、主制御基板310は、補正値C1を生成すると、該補正値C1を周辺基板330の後段部202Bに周辺部202Aを介して送信すると共に、初期値である検査値A1を補正値C1で変更して検査値A1+C1、初期値である検査値A2を補正値C1で変更して検査値A2+C1とする。一方、周辺基板330の後段部202Bは、主制御基板310から補正値C1を受信すると、初期値である期待値B1を補正値C1で変更して期待値B1+C1、初期値である期待値B2を補正値C1で変更して期待値B2+C1とする。よって、一致した検査値と期待値を同一の補正値で変更することから、主制御基板310の検査値A1+C1,検査値A2+C1と後段部202Bの期待値B1+C1,期待値B2+C1とが一致している場合に、後段部202Bは主制御基板310から受信した認証情報の検査値A1+C1,A2+C1は正規のものであると判定できるため、主制御基板310の認証を成立させることができる。
2回目の変更において、主制御基板310は、補正値C1とは異なる補正値C2を生成すると、該補正値C2を周辺基板330の後段部202Bに周辺部202Aを介して送信すると共に、初期値である検査値A1を補正値C2で変更して検査値A1+C2、初期値である検査値A2を補正値C2で変更して検査値A2+C2とする。一方、周辺基板330の後段部202Bは、主制御基板310から補正値C2を受信すると、初期値である期待値B1を補正値C2で変更して期待値B1+C1、初期値である期待値B2を補正値C2で変更して期待値B2+C2とする。よって、一致した検査値と期待値を同一の補正値で変更することから、主制御基板310の検査値A1+C2,検査値A2+C2と後段部202Bの期待値B1+C2,期待値B2+C2とが一致している場合に、後段部202Bは主制御基板310から受信した認証情報の検査値A1+C2,A2+C2は正規のものであると判定できるため、主制御基板310の認証を成立させることができる。そして、3回目以降の変更についても同様の変更を行う。
次に、主制御基板310における初期値の検査値A1と周辺基板330の後段部202Bにおける初期値の期待値B0が一致していない場合に(A1≠B0)、それらを補正値Cnで変更する変更例を説明する。なお、説明を簡単化するために、検査値A1と期待値B0,B1のみを変更する場合に限定して説明する。
1回目の変更において、主制御基板310は、検査値A1とデータ記憶部311等に予め記憶している期待値B0との差分補正値C0(=A1−B0)を生成すると、該差分補正値C0を周辺基板330の後段部202Bに周辺部202Aを介して送信する。一方、周辺基板330の後段部202Bは、差分補正値C0を受信すると、初期値である期待値B0を差分補正値C0で変更して期待値B1(=B0+C0)とする。これにより期待値B1は主制御基板310の検査値A1と一致した値に変更されたことになる。
2回目の変更において、主制御基板310は、補正値C1を生成すると、該補正値C1を周辺基板330の後段部202Bに周辺部202Aを介して送信すると共に、初期値である検査値A1を補正値C1で変更して検査値A1+C1とする。一方、周辺基板330の後段部202Aは、主制御基板310から補正値C1を受信すると、前回変更した期待値B1を補正値C1で変更して期待値B1+C1とする。よって、一致した検査値A1と期待値B1を同一の補正値C1で変更することから、主制御基板310の検査値A1+C1と後段部202Bの期待値B1+C1とが一致している場合に、後段部202Bは主制御基板310から受信した認証情報の検査値A1+C1は正規のものであると判定できるため、主制御基板310の認証を成立させることができる。そして、3回目以降の変更についても、2回目の変更と同様に変更を行う。
次に、主制御基板310における初期値の検査値A1と周辺基板330の後段部202Bにおける初期値の期待値B0が一致していない場合に(A1≠B0)、それらを補正値Cnで変更する他の変更例を説明する。なお、説明を簡単化するために、検査値Aと期待値Bのみを変更する場合に限定して説明する。
1回目の変更において、主制御基板310は、検査値A1とデータ記憶部311等に予め記憶している期待値B0との差分補正値C0(=A0−B0)を生成すると、該差分補正値C0をデータ記憶部311等に記憶する。そして、主制御基板310は、例えば、差分補正値C0と今回の値とを加算したと今回の補正値C1を作成すると、該補正値C1を周辺基板330の後段部202Bに周辺部202Aを介して送信すると共に、初期値である検査値A1を補正値C1で変更して検査値A1+C1とする。一方、周辺基板330の後段部202Bは、主制御基板310から補正値C1を受信すると、初期値である期待値B0を補正値C1で補正して期待値B0+C1とする。これにより、主制御基板310が検査値A1と期待値B0の差分を吸収する補正値C1を生成して後段部202Bに送信し、また、後段部202bは期待値B0をそのまま用いて補正、認証を行えば良くなる。
次に、上述した係数値Fnを用いて、前回の検査値A1(n−1),A2(n−1)及び期待値B1(n−1),B2(n−1)の各々を変更する変更例を説明する。なお、ぱちんこ遊技機100において、検査値A1,A2と期待値B1,B2が対応し(A1n=B1n、A2n=B2n)、nが整数、変更方式が「*」であることを前提とする。
1回目の変更において、主制御基板310は、係数値F1を生成すると、該係数値F1を周辺基板330の後段部202Bに周辺部202Aを介して送信すると共に、初期値である検査値A11を係数値F1で変更して検査値A12、初期値である検査値A21を係数値F1で変更して検査値A22とする。一方、周辺基板330の後段部202Bは、主制御基板310から係数値F1を受信すると、初期値である期待値B11を係数値F1で変更して期待値B12、初期値である期待値B21を係数値F1で変更して期待値B22とする。よって、一致した検査値と期待値を同一の係数値で変更することから、主制御基板310の検査値A12,検査値A22と後段部202Bの期待値B12,期待値B22とが一致している場合に、後段部202Bは主制御基板310から受信した認証情報の検査値A12,A22は正規のものであると判定できるため、主制御基板310の認証を成立させることができる。
2回目の変更において、主制御基板310は、係数値F2(F1≠F2)を生成すると、該係数値F2を周辺基板330の後段部202Bに周辺部202Aを介して送信すると共に、前回変更した検査値A12,A22を係数値F2で変更して検査値A13,A23とする。一方、周辺基板330の後段部202Bは、主制御基板310から係数値F2を受信すると、前回変更した期待値B12,B22を係数値F2で変更して期待値B13,B23とする。よって、前回変更した検査値と期待値を同一の係数値で変更することから、主制御基板310の検査値A13,検査値A23と後段部202Bの期待値B13,B23とが一致している場合に、後段部202Bは主制御基板310から受信した認証情報の検査値A13,A23は正規のものであると判定できるため、主制御基板310の認証を成立させることができる。そして、3回目以降の変更についても、2回目の変更と同様に変更を行う。
なお、本実施形態では、初期値の検査値及び期待値が異なる値である場合、主制御基板310が検査値と期待値の双方を記憶しておき、例えば起動時、変更時、等に検査値と期待値との差分を吸収する期待値変更用データを生成する場合について説明した。これに代えて、主制御基板310が、検査値Aと期待値Bとの差分データをデータ記憶部311等に予め記憶しておき、該差分データに基づいて上述した補正値Cnや係数値Fnを生成する実施形態とすることもできる。このような実施形態とすれば、主制御基板310は後段部202Bの期待値Bを記憶しておく必要をなくすことができる。
(認証情報信号の送受信に関する処理)
以下に、主制御部201と後段部202Bとの間で行う上記認証情報信号の通信例を説明する。まず、主制御部201のCPU211(第1コンピュータ)による認証情報信号の送信手順の一例を、図14のフローチャートを参照して説明する。
ぱちんこ遊技機100の電源がON(投入)されると、主制御部201は図14に示す被認証処理を実行し、ステップS1201において、予め定められた認証タイミングであるか否かを判定する。主制御部201は、認証タイミングではないと判定した場合(S1201:No)、ステップS1214の処理に進む。一方、主制御部201は、認証タイミングであると判定した場合(S1201:Yes)、ステップS1202の処理に進む。
主制御部201は、ステップS1202において、データ記憶部311の種別情報に設定されている次回のデータ種別を今回のデータ種別としてセットし、その後ステップS1203の処理に進む。なお、種別情報に次回のデータ種別が設定されていない場合、即ち初回の処理では、ぱちんこ遊技機100において初期値として予め定められた初回データ種別を今回のデータ種別としてセットする。なお、以下の説明では、初回データ種別を認証用データであるデータ種別K1としていることを前提とする。
主制御部201は、ステップS1203において、今回のデータ種別が認証用データであるか否かを判定する。主制御部201は、データ種別が認証用データではない、即ち、期待値変更用データである場合(S1203:No)、ステップS1204の処理に進む。そして、主制御部201は、ステップS1204において、検査値及び期待値を変更するための期待値変更用データを予め定められた生成方式で無作為に生成し、該生成した期待値変更用データをデータ記憶部311等に記憶し、その後ステップS1205の処理に進む。なお、期待値変更用データの生成方法の一例としては、乱数やパターンテーブルを用いた前記生成方式で生成する等が挙げられる。
主制御部201は、ステップS1205において、期待値変更用データの生成時用に予め定められたデータ種別を次回のデータ種別として決定してRAM213等に記憶し、その後ステップS1210の処理に進む。なお、予め定めるデータ種別は、主制御基板310と周辺基板330の後段部202Bとの間で予め定めておく。
一方、主制御部201は、ステップS1203でデータ種別は認証用データであると判定した場合(S1203:Yes)、ステップS1206において、認証用データと期待値変更用データとから次回生成する認証情報のデータ種別を無作為に決定してRAM213等に記憶し、その後ステップS1207の処理に進む。
主制御部201は、ステップS1207において、データ記憶部311に記憶している期待値変更用データで2種類の検査値を上述した変更方式で変更し、その後ステップS1208の処理に進む。なお、検査値の変更タイミングについては、期待値変更用データの生成時、認証用データの生成時、等の種々異なるタイミングとすることができる。
主制御部201は、ステップS1208において、ステップS1206で決定した次回のデータ種別に対応した検査値を、2種類の検査値から抽出してRAM213等に記憶し、ステップS1209において、その抽出した検査値を有する認証用データを生成してRAM213等に記憶し、その後ステップS1210の処理に進む。これにより、2種類の検査値の何れか一方を有する認証用データが作成されたことになる。
主制御部201は、ステップS1210において、認証情報1020の識別部1021に予め定められた認証コマンドを設定し、データ部1022に前記生成した認証用データを設定して認証情報1020を生成し、該生成した認証情報1020をデータ記憶部311等に記憶し、その後ステップS1211の処理に進む。
主制御部201は、ステップS1211において、前記生成した認証情報1020を、後段部202Bとの間で予め定められた暗号化方法で暗号化し、ステップS1212において、前記暗号化した認証情報1020の各々に基づいて認証情報信号を生成して主制御側送信部318から周辺基板310の後段部202Bに送信することで、該認証情報信号が周辺部202Aを介して後段部202Bに送信され、その後ステップS1213の処理に進む。なお、主制御部201と後段部202Bとの間で暗号化が不要な場合は、ステップS1211の処理を削除して、認証情報1020をそのまま後段部202Bに送信する。そして、主制御部201は、ステップS1213において、ステップS1206又はステップS1205で決定した次回のデータ種別を示すようにデータ記憶部311の種別情報を更新し、その後ステップS1214の処理に進む。
主制御部201は、ステップS1214において、ぱちんこ遊技機100の電源がオフされたか否かを判定する。そして、主制御部201は、電源がオフされていないと判定した場合(S1214:No)、ステップS1201の処理に戻り、一連の処理を繰り返す。一方、主制御部201は、電源がオフされたと判定した場合(S1214:Yes)、本フローチャートによる処理を終了する。
続いて、後段部202BのCPU21(第3コンピュータ)による認証情報の受信処理の手順を、図15のフローチャートを参照して説明する。
後段部202Bは、図15に示す認証側処理を実行すると、ステップS1301において、後段側受信部331によって主制御部201から認証情報(認証情報信号)1020を受信したか否かを判定する。後段部202Bは、認証情報1020を受信していないと判定した場合(S1301:No)、ステップS1311の処理に進む。一方、後段部202Bは、認証情報1020を受信したと判定した場合(S1301:Yes)、受信した認証情報1020を主制御部201の前記暗号化方式に対応した復号化方式で復号化し、その後ステップS1302の処理に進む。なお、主制御部201と後段部202Bとの間で暗号化が不要な場合は、ステップS1301における復号化処理を削除する。
後段部202Bは、ステップS1302において、後段側記憶部322の後段側種別情報が認証用データを示しているか否かを判定する。後段部202Bは、認証用データを示していると判定した場合(S1302:Yes)、ステップS1303において、認証情報1020のデータ部1022から認証用データを抽出して後段側記憶部332等に記憶し、その後ステップS1304の処理に進む。
後段部202Bは、ステップS1304において、その認証用データと後段側記憶部322に記憶している2種類の期待値とを比較して、何れかの期待値と一致しているか否かを判定する。後段部202Bは、期待値と一致していると判定した場合(S1304:Yes)、ステップS1305において、認証成立を示す後段認証結果データを生成してRAM233等に記憶し、ステップS1306において、認証用データと一致した期待値に対応付けられたデータ種別を特定し、該特定したデータ種別を次回のデータ種別として後段側記憶部332の後段側種別情報に設定し、その後ステップS1308の処理に進む。
一方、後段部202Bは、ステップS1304で期待値と一致していないと判定した場合(S1304:No)、ステップS1307において、認証不成立を示す後段認証結果データを生成してRAM233等に記憶し、その後ステップS1308の処理に進む。
後段部202Aは、ステップS1308において、前記生成した後段認証結果データを結果部1032に設定して後段認証結果情報1030を生成し、該後段認証結果情報1030を付加した後段認証結果信号を生成して後段側送信部334から周辺部202Aに対して送信し、その後ステップS1311の処理に進む。
一方、後段部202Bは、ステップS1302で後段側種別情報は認証用データを示していないと判定した場合(S1302:No)、ステップS1309において、認証情報1020のデータ部1022から期待値変更用データを抽出して後段側記憶部332等に記憶し、ステップS1310において、その期待値変更用データで後段側記憶部322の2種類の期待値を上述した変更方式で変更し、その後ステップS1311の処理に進む。なお、期待値の変更タイミングについては、期待値変更用データの受信時、認証用データによる認証前、等の種々異なるタイミングとすることができる。
後段部202Bは、ステップS1311において、ぱちんこ遊技機100の電源がオフされたか否かを判定する。そして、後段部202Aは、電源がオフされていないと判定した場合(S1311:No)、ステップS1301の処理に戻り、一連の処理を繰り返す。一方、後段部202Bは、電源がオフされたと判定した場合(S1311:Yes)、本フローチャートによる処理を終了する。
続いて、周辺部202AのCPU241(第2コンピュータ)による各種制御信号、認証情報信号及び後段認証結果信号の受信処理の手順を、図16のフローチャートを参照して説明する。
周辺部202Aは、ステップS1401において、主制御部201から制御信号1010を受信したか否かを判定する。周辺部202Aは、制御信号1010を受信したと判定した場合(S1401:Yes)、ステップS1402において、受信した制御信号1010に含まれている制御コマンドデータ1001および付随データ1002に基づく所定の処理を行い、その後ステップS1407の処理に進む。
一方、周辺部202Aは、制御信号1010を受信していないと判定した場合(S1401:No)、ステップS1403において、主制御部201から認証情報(認証情報信号)1020を受信したか否かを判定する。周辺部202Aは、認証情報1020を受信したと判定した場合(S1403:Yes)、ステップS1404において、その認証情報1020をそのまま転送部351から後段部202Bに転送(送信)し、その後ステップS1407の処理に進む。一方、周辺部202Aは、認証情報1020を受信していないと判定した場合(S1403:No)、ステップS1405の処理に進む。
周辺部202Aは、ステップS1405において、受信した信号が識別部1031を有しているか否か等に基づいて、後段部202Bから後段認証結果信号を受信したか否かを判定する。そして、周辺部202Aは、後段認証結果信号を受信していないと判定した場合(S1405:No)、ステップS1407の処理に進む。一方、周辺部202Aは、後段認証結果信号を受信していると判定した場合(S1405:Yes)、ステップS1406の処理に進む。
周辺部202Aは、ステップS1406において、受信した後段認証結果信号の結果部1032を参照して、後段認証結果信号は認証成立を示しているか否かを判定する。そして、周辺部202Aは、後段認証結果が認証成立を示していると判定した場合(S1406:Yes)、その認証結果をRAM243等に記憶し、その後ステップS1407の処理に進む。
周辺部202Aは、ステップS1407において、ぱちんこ遊技機100の電源がオフされたか否かを判定する。そして、周辺部202Aは、電源がオフされていないと判定した場合(S1407:No)、ステップS1401の処理に戻り、一連の処理を繰り返す。一方、周辺部202Aは、電源がオフされたと判定した場合(S1407:Yes)、本フローチャートによる処理を終了する。
一方、周辺部202Aは、ステップS1406で後段認証結果が認証成立を示していないと判定した場合(S1406:No)、ステップS1408において、例えばスピーカ262(図2参照)等から報知信号を出力して、本フローチャートによる処理を終了する。なお、後段認証結果が認証成立を示していない、即ち、認証不成立を示している場合の周辺部202Aの処理については、報知信号を出力するだけで、周辺部202Aの処理を継続させるようにしてもよい。
(認証情報を用いた認証処理手順例)
次に、図12に示すデータ種別K1,K2を切り替えて主制御基板310の認証を行う場合の手順の一例を、図17〜図19の図面を参照して説明する。
図17において、被認証者である主制御基板310は、予め定められた今回のデータ種別K1をからセットする(S1501)。主制御基板310は、データ種別K1,K2から、次回生成する認証情報1020をデータ種別K2と無作為に決定して種別情報を更新し(S1502)、図13に示すように、当該データ種別K2に対応付けられた検査値A2の認証用データを生成する(S1503)。そして、主制御基板310は、該認証用データを有する認証情報1020(A2)を生成し(S1504)、その認証情報1020(A2)を周辺基板330の周辺部202Aに送信する(S1505)。
一方、周辺基板330の周辺部202Aは、主制御基板310から受信した認証情報1020(A2)を後段部202Bに転送する(S1551)。
一方、周辺基板330の後段部202Bは、主制御基板310から認証情報1020(A2)を受信すると(S1571)、初期の後段側種別情報は認証用データを示していることから、認証情報1020(A2)のデータ部1022の認証用データと後段側記憶部332に記憶している2種類の期待値とが一致するか否かを判定し、該判定結果に基づいた主制御基板310の認証結果を示す後段認証結果データを有する後段認証結果情報1030を生成して後段側記憶部332に記憶する(S1572)。そして、後段部202Bは、その後段認証結果情報1030を付加した後段認証結果信号を周辺基板330の周辺部202Aに対して送信する(S1573)。また、後段部202Bは、認証が成立すると、認証用データは検査値A2であることから、後段側記憶部322の期待値B2と一致するため、該検査値B2に対応付けられたデータ種別K2を次回のデータ種別と特定し、このデータ種別を示すように後段側記憶部322の後段側種別情報を更新する(S1574)。
一方、周辺基板330の周辺部202Aは、後段部202Bから受信した後段認証結果信号の後段認証結果情報1030が認証成立を示している場合、主制御部201から受信した制御コマンドデータ1001及び付随データ1002に対応した所定の処理の実行を可能とし、また、後段認証結果情報1030が認証成立を示していない場合、報知信号を出力する(S1552)。
続いて、主制御基板310は、データ記憶部311の種別情報が示すデータ種別K2を今回のデータ種別としてセットする(S1506)。主制御基板310は、データ種別K1,K2から、次回生成する認証情報1020をデータ種別K1と無作為に決定して種別情報を更新する(S1507)。主制御基板310は、検査値及び期待値を変更するための期待値変更用データC1を予め定められた生成方式で無作為に生成し、該期待値変更用データC1で2種類の検査値を上述した変更方式で変更する(S1508)。なお、本実施形態では、変更方式が「+」としたことを前提としており、検査値A1は検査値(A1+C1)と変更される。そして、主制御基板310は、該期待値変更用データを有する認証情報1020(C1)を生成し(S1509)、その認証情報1020(C1)を周辺基板330の周辺部202Aに送信する(S1510)。
一方、周辺基板330の周辺部202Aは、主制御基板310から受信した認証情報1020(C1)を後段部202Bに転送する(S1553)。
一方、周辺基板330の後段部202Bは、主制御基板310から認証情報1020(C1)を受信すると(S1575)、後段側記憶部322の後段側種別情報は期待値変更用データを示していることから、認証情報1020(C1)のデータ部1022の期待値変更用データC1で、後段側記憶部322の2種類の期待値を上述した変更方式で変更する(S1576)。なお、本実施形態では、期待値B1は期待値(B1+C1)と変更される。そして、後段部202Bは、期待値変更用データの生成時用に予め定められたデータ種別K1を次回のデータ種別として特定し、このデータ種別を示すように後段側記憶部322の後段側種別情報を更新する(S1577)。
なお、本実施形態では、後段部202Bが期待値変更用データを受信した場合は、主制御基板310の認証を行わないため、後段認証結果情報1030を周辺部202Aに送信しないが、これに代えて、例えば、期待値変更用データを受信した旨を示す情報、ダミーの後段認証結果情報1030、等を周辺部202Aに送信してもよい。
続いて、図18において、主制御基板310は、データ記憶部311の種別情報が示すデータ種別K1を今回のデータ種別としてセットする(S1511)。主制御基板310は、データ種別K1,K2から、次回生成する認証情報1020をデータ種別K1と無作為に決定して種別情報を更新する(S1512)。主制御基板310は、当該データ種別K1に対応付けられた検査値(A1+C1)の認証用データを生成する(S1513)。そして、主制御基板310は、該認証用データを有する認証情報1020(A1+C1)を生成し(S1514)、その認証情報1020(A1+C1)を周辺基板330の周辺部202Aに送信する(S1515)。
一方、周辺基板330の周辺部202Aは、主制御基板310から受信した認証情報1020(A1+C1)を後段部202Bに転送する(S1554)。
一方、周辺基板330の後段部202Bは、主制御基板310から認証情報1020(A1+C1)を受信すると(S1578)、中間側記憶部322の中間側種別情報は認証用データを示していることから、認証情報1020(A1+C1)のデータ部1022の認証用データと後段側記憶部332に記憶している2種類の期待値とが一致するか否かを判定し、該判定結果に基づいた主制御基板310の認証結果を示す後段認証結果データを有する後段認証結果情報1030を生成して後段側記憶部332に記憶する(S1579)。そして、後段部202Bは、その後段認証結果情報1030を付加した後段認証結果信号を周辺基板330の周辺部202Aに対して送信する(S1580)。また、後段部202Bは、認証が成立すると、認証用データは検査値(A1+C1)であることから、後段側記憶部322の期待値(B1+C1)と一致するため、該期待値(B1+C1)に対応付けられたデータ種別K1を次回のデータ種別と特定し、このデータ種別を示すように中後段記憶部322の後段側種別情報を更新する(S1581)。
また、周辺基板330の周辺部202Aは、後段部202Bから受信した後段認証結果信号の後段認証結果情報1030が認証成立を示している場合、主制御部201から受信した制御コマンドデータ1001及び付随データ1002に対応した所定の処理の実行を可能とし、また、後段認証結果情報1030が認証成立を示していない場合、報知信号を出力する(S1555)。
続いて、主制御基板310は、データ記憶部311の種別情報が示すデータ種別K1を今回のデータ種別としてセットする(S1516)。主制御基板310は、データ種別K1,K2から、次回生成する認証情報1020をデータ種別K2と無作為に決定して種別情報を更新する(S1517)。主制御基板310は、当該データ種別K2に対応付けられた検査値(A2+C1)の認証用データを生成する(S1518)。そして、主制御基板310は、該認証用データを有する認証情報1020(A2+C1)を生成し(S1519)、その認証情報1020(A2+C1)を周辺基板330の周辺部202Aに送信する(S1520)。
一方、周辺基板330の周辺部202Aは、主制御基板310から受信した認証情報1020(A2+C1)を後段部202Bに転送する(S1556)。
一方、周辺基板330の後段部202Bは、主制御基板310からの認証情報1020(A2+C1)を受信すると(S1582)、後段側記憶部322の後段側種別情報は認証用データを示していることから、認証情報1020(A2+C1)のデータ部1022の認証用データと後段側記憶部332に記憶している2種類の期待値とが一致するか否かを判定し、該判定結果に基づいた主制御基板310の認証結果を示す後段認証結果データを有する後段認証結果情報1030を生成して後段側記憶部332に記憶する(S1583)。そして、後段部202Bは、その後段認証結果情報1030を付加した後段認証結果信号を周辺基板330の周辺部202Aに対して送信する(S1584)。また、後段部202Bは、認証が成立すると、認証用データは検査値(A2+C1)であることから、後段側記憶部322の期待値(B2+C1)と一致するため、該期待値(B2+C1)に対応付けられたデータ種別K2を次回のデータ種別と特定し、このデータ種別を示すように後段側記憶部322の後段側種別情報を更新する(S1585)。
また、周辺基板330の周辺部202Aは、後段部202Bから受信した後段認証結果信号の後段認証結果情報1030が認証成立を示している場合、主制御部201から制御コマンドデータ1001及び付随データ1002に対応した所定の処理の実行を可能とし、また、後段認証結果情報1030が認証成立を示していない場合、報知信号を出力する(S1557)。
続いて、図19において、主制御基板310は、データ記憶部311の種別情報が示すデータ種別K2を今回のデータ種別としてセットする(S1521)。主制御基板310は、データ種別K1,K2から、次回生成する認証情報1020をデータ種別K1と無作為に決定して種別情報を更新する(S1522)。主制御基板310は、検査値及び期待値を変更するための期待値変更用データC2を予め定められた生成方式で無作為に生成し、該期待値変更用データC2で2種類の検査値を上述した変更方式で変更する(S1523)。なお、本実施形態では、検査値A1,A2は検査値(A1+C2),(A2+C2)と変更される。そして、主制御基板310は、該期待値変更用データを有する認証情報1020(C2)を生成し(S1524)、その認証情報1020(C2)を周辺基板330の周辺部202Aに送信する(S1525)。
一方、周辺基板330の周辺部202Aは、主制御基板310から受信した認証情報1020(C2)を後段部202Bに転送する(S1558)。
一方、周辺基板330の後段部202Bは、主制御基板310から認証情報1020(C2)を受信すると(S1586)、後段側記憶部322の後段側種別情報は期待値変更用データを示していることから、認証情報1020(C2)のデータ部1022の期待値変更用データC2で、後段側記憶部322の2種類の期待値を上述した変更方式で変更する(S1587)。なお、本実施形態では、期待値B1,B2は期待値(B1+C2),(B2+C2)と変更される。そして、後段部202Aは、期待値変更用データの生成時用に予め定められたデータ種別K1を次回のデータ種別として特定し、このデータ種別を示すように後段側記憶部322の後段側種別情報を更新する(S1588)。
続いて、主制御基板310は、データ記憶部311の種別情報が示すデータ種別K1を今回のデータ種別としてセットする(S1526)。主制御基板310は、データ種別K1,K2から、次回生成する認証情報1020をデータ種別K1と無作為に決定して種別情報を更新する(S1527)。主制御基板310は、当該データ種別K1に対応付けられた検査値(A1+C2)の認証用データを生成する(S1528)。そして、主制御基板310は、該認証用データを有する認証情報1020(A1+C2)を生成し(S1529)、その認証情報1020(A1+C2)を周辺基板330の周辺部202Aに送信する(S1530)。
一方、周辺基板330の周辺部202Aは、主制御基板310から受信した認証情報1020(A1+C2)を後段部202Bに転送する(S1559)。
一方、周辺基板330の後段部202Bは、主制御基板310から認証情報1020(A1+C2)を受信すると(S1589)、後段側記憶部322の後段側種別情報は認証用データを示していることから、認証情報1020(A1+C2)のデータ部1022の認証用データと後段側記憶部332に記憶している2種類の期待値とが一致するか否かを判定し、該判定結果に基づいた主制御基板310の認証結果を示す後段認証結果データを有する後段認証結果情報1030を生成して後段側記憶部332に記憶する(S1590)。そして、後段部202Bは、その後段認証結果情報1030を付加した後段認証結果信号を周辺基板330の周辺部202Aに対して送信する(S1591)。また、後段部202Bは、認証が成立すると、認証用データは検査値(A1+C2)であることから、後段側記憶部322の期待値(B1+C2)と一致するため、該期待値(B1+C2)に対応付けられたデータ種別K1を次回のデータ種別と特定し、このデータ種別を示すように後段側記憶部322の後段側種別情報を更新する(S1592)。
以上説明したぱちんこ遊技機100によれば、認証情報1020の2種類のデータ種別K1,K2の各々に2つの検査値A1,A2を対応付けておき、主制御部201が次回生成する認証情報1020のデータ種別に対応した検査値で認証用データを生成し、該認証用データを有する認証情報1020を生成して後段部202Bに周辺部202Aを介して送信するようにしたことから、後段部202Aは期待値に前記データ種別を対応付けておくことで、認証情報1020が有する検査値と期待値が一致したときに、主制御部201の認証を成立させることができ且つ次回受信すべき認証情報1020のデータ種別を特定することができるため、不正な解析者が認証情報1020を不正に利用することを防止できる。そして、1種類の認証情報1020を用いればよいため、従来のコマンド体系に対する追加を最小限に抑え且つ主制御部201の処理が複雑化することを防止できる。また、後段部202Bは、認証情報1020が有する検査値と期待値が一致したとき、該期待値にデータ種別の期待値変更用データが対応付けられていると、次回受信する認証情報1020は期待値変更用データであると特定することができることから、主制御部201から受信した期待値変更用データで期待値を変更して、主制御部1020の検査値に合わせることができるため、主制御部1020と後段部202Bとの間で検査値と期待値とを揃えて変更することができ、不正な解析者による解析を困難にすることができる。さらに、不正解析者によって認証情報1020が不正に利用されたことを、認証情報1020のデータ種別によって後段部202Bが検知することができるため、認証情報1020の認証強度を高めることができる。また、後段部202Bが主制御部201に対する認証処理を行い、その後段認証結果を周辺部202Aに送信するようにしたことから、周辺部202Aは認証処理を行わずに後段認証結果を参照するだけで良いため、周辺部202AのCPU241の処理負荷を軽減することができる。さらに、2つの検査値は予め記憶しておくことができるため、認証情報の生成時に複雑な演算を行う必要がなくなり、主制御部201の処理負担の増加を防止できる。しかも、周辺部202Aは、主制御部201からの認証情報1020を後段部202Bにそのまま送信するだけなので、後段部202Bが認証処理を行うと同時に、周辺部202Aが所定の処理を行うことができるため、周辺部202Aにおける所定の処理に遅れが生じることを防止できる。従って、1種類の認証情報1020を用いても、その認証情報1020の不正解析を困難にすることができるという効果を奏する。
上述したぱちんこ遊技機100において、主制御部201が期待値変更用データを無作為に生成するようにしたことから、主制御部201の検査値と後段部202Bの期待値との双方を無作為に変更することができるため、不正な解析者による認証情報1020の解析をより一層困難にすることができる。
上述したぱちんこ遊技機100において、期待値変更用データが予め定められた初期値である検査値及び期待値を変更する補正値Cとすることで、主制御部201及び後段部202Bは予め定められた検査値及び期待値を期待値変更用データで変更するだけでよいため、変更処理を簡単化することができる。
上述したぱちんこ遊技機100において、期待値変更用データが前回変更した検査値及び期待値を変更する係数値Fとすることで、検査値及び期待値を累積させて変更することができるため、検査値及び期待値の解析をより一層困難にすることができると共に、検査値及び期待値の不正利用を防止することができる。
上述したぱちんこ遊技機100において、主制御部201の検査値とは異なる値の期待値を後段部202Bに予め記憶しておき、検査値と期待値との差分を吸収するための期待値変更用データを主制御部201が生成して後段部202Bに周辺部202Aを介して送信するようにしたことから、後段部202Bがその期待値変更用データで期待値を変更することで、期待値を主制御部201の検査値と一致させることができるため、不正な解析者による検査値及び期待値の解析及び利用を困難にすることができる。
[実施例2]
以下に、上述したぱちんこ遊技機100の実施例2を説明する。なお、上述した構成と同一部分については、同一の符号を付して異なる部分のみを詳細に説明する。
(主制御基板および周辺基板の機能的構成)
まず、ぱちんこ遊技機100は、上述した図2に示す制御部200を備えている。制御部200は、主制御部201と、演出制御部(周辺部)202Aと、後段部202Bと、賞球制御部203と、を有している。そして、ぱちんこ遊技機100は、図20に示すように、主制御部201としての機能を有する主制御基板310と、上述した演出制御部202Aと後段部202Bを有する周辺基板330と、を有して構成している。そして、主制御基板310は周辺基板330と通信可能なように電気的に接続されている。
主制御基板310は、上述したデータ記憶部311、決定部312、認証用データ生成部314、期待値変更用データ生成部315、主制御側変更部316、認証情報生成部317、送信部318、更新部319と、選択部320と、を有して構成している。
選択部320は、本発明の選択手段に相当し、データ記憶部311に記憶している2種類の検査値A1,A2の中から1つの検査値Aを無作為に選択する。選択部320は、乱数等を用いて1つの検査値を無作為に選択する。選択部320の選択方法は、不正な解析を防止するために、選択パターンが不規則になることが好ましい。
上述した決定部312は、選択部320が選択した検査値Aに対応付けられたデータ種別K1,K2(図13参照)を、主制御基板310が次回生成する認証情報1020のデータ種別と決定する。詳細には、検査値A1が選択されたときは、次回をデータ種別K1と決定し、また、検査値A2が選択されたときは、次回をデータ種別K2と決定する。そして、上述した認証用データ生成部314は、前記種別情報が認証用データを示している場合に、選択部320が選択した検査値を有する認証用データを生成する。
実施例2のぱちんこ遊技機100は、実施例1と同様に、2種類の検査値を主制御基板310の認証に用いるに当たり、それらの検査値を主制御基板310は期待値変更用データで変更することができるため、周辺基板330がその期待値変更用データを主制御基板310から取得し、検査値に対応した期待値をその期待値変更用データで変更させることで、変更した検査値と期待値とに基づいて主制御基板310の認証を行う構成を採用している。よって、ぱちんこ遊技機100は、1種類の認証情報1020で認証を行っても、認証用データを不正に解析することを困難にすることができるため、セキュリティの向上を図ることができる。
続いて、図20に示す周辺基板330の後段部202Bは、実施例1と同様に、上述した後段側受信部331、後段側記憶部332、後段認証結果データ生成部333、後段側送信部334、後段側変更部335、特定部336を有して構成している。そして、周辺部202Aも、実施例1と同様に、上述した転送部351、周辺側受信部352、処理部353を有して構成している。このように周辺基板330は、実施例1と同様の構成で実現できるため、その説明は省略する。
また、実施例2についても、主制御基板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コンピュータ)による認証情報信号の送信手順2の一例を、図21のフローチャートを参照して説明する。
ぱちんこ遊技機100の電源がON(投入)されると、主制御部201は図21に示す被認証処理を実行し、ステップS1601において、予め定められた認証タイミングであるか否かを判定する。主制御部201は、認証タイミングではないと判定した場合(S1601:No)、ステップS1614の処理に進む。一方、主制御部201は、認証タイミングであると判定した場合(S1601:Yes)、ステップS1602の処理に進む。
主制御部201は、ステップS1602において、データ記憶部311の種別情報に設定されている次回のデータ種別を今回のデータ種別としてセットし、その後ステップS1603の処理に進む。なお、種別情報に次回のデータ種別が設定されていない場合、即ち初回の処理では、ぱちんこ遊技機100において初期値として予め定められた初回データ種別を今回のデータ種別としてセットする。なお、以下の説明では、初回データ種別を認証用データであるデータ種別K1としていることを前提とする。
主制御部201は、ステップS1603において、今回のデータ種別が認証用データであるか否かを判定する。主制御部201は、データ種別が認証用データではない、即ち、期待値変更用データである場合(S1603:No)、ステップS1604の処理に進む。そして、主制御部201は、ステップS1604において、検査値及び期待値を変更するための期待値変更用データを予め定められた生成方式で無作為に生成し、該生成した期待値変更用データをデータ記憶部311等に記憶し、その後ステップS1605の処理に進む。なお、期待値変更用データの生成方法の一例としては、乱数やパターンテーブルを用いた前記生成方式で生成する等が挙げられる。
主制御部201は、ステップS1605において、期待値変更用データの生成時用に予め定められたデータ種別を次回のデータ種別として決定してRAM213等に記憶し、その後ステップS1610の処理に進む。なお、予め定めるデータ種別は、主制御基板310と周辺基板330の後段部202Bとの間で予め定めておく。
一方、主制御部201は、ステップS1603でデータ種別は認証用データであると判定した場合(S1603:Yes)、ステップS1606において、データ記憶部311に記憶している期待値変更用データで2種類の検査値を上述した変更方式で変更し、その後ステップS1607の処理に進む。なお、検査値の変更タイミングについては、期待値変更用データの生成時、認証用データの生成時、等の種々異なるタイミングとすることができる。
主制御部201は、ステップS1607において、データ記憶部311に記憶している2種類の検査値から1つの検査値を無作為に選択してRAM213等に記憶し、ステップS1608において、前記選択した検査値を有する認証用データを生成してRAM213等に記憶し、その後ステップS1609の処理に進む。これにより、2種類の検査値の何れか一方を有する認証用データが作成されたことになる。そして、主制御部201は、ステップS1609において、前記選択された検査値に対応付けられたデータ種別を次回生成する認証情報1020のデータ種別と決定し、その後ステップS1610の処理に進む。
主制御部201は、ステップS1610において、認証情報1020の識別部1021に予め定められた認証コマンドを設定し、データ部1022に前記生成した認証用データを設定して認証情報1020を生成し、該生成した認証情報1020をデータ記憶部311等に記憶し、その後ステップS1611の処理に進む。
主制御部201は、ステップS1611において、前記生成した認証情報1020を、後段部202Bとの間で予め定められた暗号化方法で暗号化し、ステップS1612において、前記暗号化した認証情報1020の各々に基づいて認証情報信号を生成して主制御側送信部318から後段部202Bに周辺部202Aを介して送信し、その後ステップS1613の処理に進む。なお、主制御部201と後段部202Bとの間で暗号化が不要な場合は、ステップS1611の処理を削除して、認証情報1020をそのまま後段部202Bに送信する。そして、主制御部201は、ステップS1613において、ステップS1605又はステップS1609で決定した次回のデータ種別を示すようにデータ記憶部311の種別情報を更新し、その後ステップS1614の処理に進む。
主制御部201は、ステップS1614において、ぱちんこ遊技機100の電源がオフされたか否かを判定する。そして、主制御部201は、電源がオフされていないと判定した場合(S1614:No)、ステップS1601の処理に戻り、一連の処理を繰り返す。一方、主制御部201は、電源がオフされたと判定した場合(S1614:Yes)、本フローチャートによる処理を終了する。
続いて、周辺基板330における周辺部202AのCPU241(第2コンピュータ)が行う上記制御信号と上記後段認証結果信号の受信処理の手順、及び、後段部202BのCPU21(第3コンピュータ)が行う前記認証情報信号の受信処理の手順は、実施例1の図16に示す処理、及び、図15に示す認証側処理をそのまま用いることができるため、詳細な説明は省略する。
(認証情報を用いた認証処理手順例2)
次に、図12に示すデータ種別K1,K2を切り替えて主制御基板310の認証を行う場合の認証処理手順2の一例を、図22〜図24の図面を参照して説明する。
図22において、被認証者である主制御基板310は、予め定められた今回のデータ種別K1をセットする(S1701)。主制御基板310は、データ記憶部311の2種類の検査値A1,A2から1つの検査値A2を無作為に選択し(S1702)、該検査値A2の認証用データを生成する(S1703)。主制御基板310は、該認証用データを有する認証情報1020(A2)を生成し(S1704)、その認証情報1020(A2)を周辺基板330の周辺部202Aに送信する(S1705)。そして、主制御部310は、図13に示すように、前記選択した検査値A2に対応付けられたデータ種別K2を、次回生成する認証情報1020をデータ種別K2と決定して種別情報を更新する(S1706)。
一方、周辺基板330の周辺部202Aは、主制御基板310から受信した認証情報1020(A2)を後段部202Bに転送する(S1751)。
一方、周辺基板330の後段部202Bは、主制御基板310から認証情報1020(A2)を受信すると(S1771)、初期の後段側種別情報は認証用データを示していることから、認証情報1020(A2)のデータ部1022の認証用データと後段側記憶部332に記憶している2種類の期待値とが一致するか否かを判定し、該判定結果に基づいた主制御基板310の認証結果を示す後段認証結果データを有する後段認証結果情報1030を生成して後段側記憶部332に記憶する(S1772)。そして、後段部202Bは、その後段認証結果情報1030を付加した後段認証結果信号を周辺基板330の周辺部202Aに対して送信する(S1773)。そして、後段部202Bは、認証が成立すると、認証用データは検査値A2であることから、中間側記憶部322の期待値B2と一致するため、該期待値B2に対応付けられたデータ種別K2を次回のデータ種別と特定し、このデータ種別を示すように後段側記憶部322の後段側種別情報を更新する(S1774)。
一方、周辺基板330の周辺部202Aは、後段部202Bから受信した後段認証結果信号の後段認証結果情報1030が認証成立を示している場合、主制御部201から受信した制御コマンドデータ1001及び付随データ1002に対応した所定の処理の実行を可能とし、また、後段認証結果情報1030が認証成立を示していない場合、報知信号を出力する(S1752)。
続いて、主制御基板310は、データ記憶部311の種別情報が示すデータ種別K2を今回のデータ種別としてセットする(S1707)。主制御基板310は、種別情報がデータ種別K2を示していることから、検査値及び期待値を変更するための期待値変更用データC1を予め定められた生成方式で無作為に生成し、該期待値変更用データC1で2種類の検査値を上述した変更方式で変更する(S1708)。なお、本実施形態では、変更方式が「+」としたことを前提としており、検査値A1は検査値(A1+C1)と変更される。そして、主制御基板310は、該期待値変更用データC1を有する認証情報1020(C1)を生成し(S1709)、その認証情報1020(C1)を周辺基板330の周辺部202Aに送信する(S1710)。そして、主制御部310は、予め定められたデータ種別K1を、次回生成する認証情報1020をデータ種別K1と決定して種別情報を更新する(S1711)。
一方、周辺基板330の周辺部202Aは、主制御基板310から受信した認証情報1020(C1)を後段部202Bに転送する(S1753)。
一方、周辺基板330の後段部202Bは、主制御基板310から認証情報1020(C1)を受信すると(S1775)、後段側記憶部322の後段側種別情報は期待値変更用データを示していることから、認証情報1020(C1)のデータ部1022の期待値変更用データC1で、後段側記憶部322の2種類の期待値を上述した変更方式で変更する(S1776)。なお、本実施形態では、期待値B1は期待値(B1+C1)と変更される。そして、後段部202Bは、期待値変更用データの生成時用に予め定められたデータ種別を次回のデータ種別として特定し、このデータ種別を示すように後段側記憶部322の後段側種別情報を更新する(S1777)。
続いて、図23において、主制御基板310は、データ記憶部311の種別情報が示すデータ種別K1を今回のデータ種別としてセットする(S1712)。主制御基板310は、データ記憶部311の2種類の検査値A1+C1,A2+C1から1つの検査値A1+C1を無作為に選択し(S1713)、該検査値A1+C1の認証用データを生成する(S1714)。主制御基板310は、該認証用データを有する認証情報1020(A1+C1)を生成し(S1715)、その認証情報1020(A1+C1)を周辺基板330の周辺部202Aに送信する(S1716)。そして、主制御部310は、前記選択した検査値A1+C1に対応付けられたデータ種別K1を、次回生成する認証情報1020をデータ種別K1と決定して種別情報を更新する(S1717)。
一方、周辺基板330の周辺部202Aは、主制御基板310から受信した認証情報1020(A1+C1)を後段部202Bに転送する(S1754)。
一方、周辺基板330の後段部202Bは、主制御基板310から認証情報1020(A1+C1)を受信すると(S1778)、後段側記憶部322の後段側種別情報は認証用データを示していることから、認証情報1020(A1+C1)のデータ部1022の認証用データと後段側記憶部332に記憶している2種類の期待値とが一致するか否かを判定し、該判定結果に基づいた主制御基板310の認証結果を示す後段認証結果データを有する後段認証結果情報1030を生成して後段側記憶部332に記憶する(S1779)。そして、後段部202Bは、その後段認証結果情報1030を付加した後段認証結果信号を周辺基板330の周辺部202Aに対して送信する(S1780)。そして、後段部202Bは、認証が成立すると、認証用データは検査値(A1+C1)であることから、後段側記憶部322の期待値(B1+C1)と一致するため、該期待値(B1+C1)に対応付けられたデータ種別K1を次回のデータ種別と特定し、このデータ種別を示すように後段側記憶部322の後段側種別情報を更新する(S1781)。
また、周辺基板330の周辺部202Aは、後段部202Bから受信した後段認証結果信号の後段認証結果情報1030が認証成立を示している場合、主制御部201から受信した制御コマンドデータ1001及び付随データ1002に対応した所定の処理の実行を可能とし、また、後段認証結果情報1030が認証成立を示していない場合、報知信号を出力する(S1755)。
続いて、主制御基板310は、データ記憶部311の種別情報が示すデータ種別K1を今回のデータ種別としてセットする(S1718)。主制御基板310は、データ記憶部311の2種類の検査値A1+C1,A2+C1から1つの検査値A2+C1を無作為に選択し(S1719)、該検査値A2+C1の認証用データを生成する(S1720)。主制御基板310は、該認証用データを有する認証情報1020(A2+C1)を生成し(S1721)、その認証情報1020(A2+C1)を周辺基板330の周辺部202Aに送信する(S1722)。そして、主制御部310は、前記選択した検査値A2+C1に対応付けられたデータ種別K2を、次回生成する認証情報1020をデータ種別K2と決定して種別情報を更新する(S1723)。
一方、周辺基板330の周辺部202Aは、主制御基板310から受信した認証情報1020(A2+C1)を後段部202Bに転送する(S1756)。
一方、周辺基板330の後段部202Bは、主制御基板310から認証情報1020(A2+C1)を受信すると(S1782)、後段側記憶部322の後段側種別情報は認証用データを示していることから、認証情報1020(A2+C1)のデータ部1022の認証用データと後段側記憶部332に記憶している2種類の期待値とが一致するか否かを判定し、該判定結果に基づいた主制御基板310の認証結果を示す後段認証結果データを有する後段認証結果情報1030を生成して後段側記憶部332に記憶する(S1783)。そして、後段部202Bは、その後段認証結果情報1030を付加した後段認証結果信号を周辺基板330の周辺部202Aに対して送信する(S1784)。そして、後段部202Bは、認証が成立すると、認証用データは検査値(A2+C1)であることから、後段側記憶部322の期待値(B2+C1)と一致するため、該期待値(B2+C1)に対応付けられたデータ種別K2を次回のデータ種別と特定し、このデータ種別を示すように後段側記憶部322の後段側種別情報を更新する(S1785)。
また、周辺基板330の周辺部202Aは、後段部202Bから受信した後段認証結果信号の後段認証結果情報1030が認証成立を示している場合、主制御部201から受信した制御コマンドデータ1001及び付随データ1002に対応した所定の処理の実行を可能とし、また、後段認証結果情報1030が認証成立を示していない場合、報知信号を出力する(S1757)。
続いて、図24において、主制御基板310は、データ記憶部311の種別情報が示すデータ種別K2を今回のデータ種別としてセットする(S1724)。主制御基板310は、種別情報がデータ種別K2を示していることから、検査値及び期待値を変更するための期待値変更用データC2を予め定められた生成方式で無作為に生成し、該期待値変更用データC2で2種類の検査値を上述した変更方式で変更する(S1725)。なお、本実施形態では、検査値A1,A2は検査値(A1+C2),(A2+C2)と変更される。そして、主制御基板310は、該期待値変更用データC2を有する認証情報1020(C2)を生成し(S1726)、その認証情報1020(C2)を周辺基板330の周辺部202Aに送信する(S1727)。そして、主制御部310は、予め定められたデータ種別K1を、次回生成する認証情報1020をデータ種別K1と決定して種別情報を更新する(S1728)。
一方、周辺基板330の周辺部202Aは、主制御基板310から受信した認証情報1020(C2)を後段部202Bに転送する(S1758)。
一方、周辺基板330の後段部202Bは、主制御基板310から認証情報1020(C2)を受信すると(S1786)、後段側記憶部322の後段側種別情報は期待値変更用データを示していることから、認証情報1020(C2)のデータ部1022の期待値変更用データC2で、後段側記憶部322の2種類の期待値を上述した変更方式で変更する(S1787)。なお、本実施形態では、期待値B1,B2は期待値(B1+C2),(B2+C2)と変更される。そして、後段部202Bは、期待値変更用データの生成時用に予め定められたデータ種別を次回のデータ種別として特定し、このデータ種別を示すように後段側記憶部322の後段側種別情報を更新する(S1788)。
続いて、主制御基板310は、データ記憶部311の種別情報が示すデータ種別K1を今回のデータ種別としてセットする(S1729)。主制御基板310は、データ記憶部311の2種類の検査値A1+C2,A2+C2から1つの検査値A1+C2を無作為に選択し(S1730)、該検査値A1+C2の認証用データを生成する(S1731)。主制御基板310は、該認証用データを有する認証情報1020(A1+C2)を生成し(S1732)、その認証情報1020(A1+C2)を周辺基板330の周辺部202Aに送信する(S1733)。そして、主制御部310は、前記選択した検査値A1+C2に対応付けられたデータ種別K1を、次回生成する認証情報1020をデータ種別K1と決定して種別情報を更新する(S1734)。
一方、周辺基板330の周辺部202Aは、主制御基板310から受信した認証情報1020(A1+C2)を後段部202Bに転送する(S1759)。
一方、周辺基板330の後段部202Bは、主制御基板310から認証情報1020(A1+C2)を受信すると(S1789)、後段側記憶部322の後段側種別情報は認証用データを示していることから、認証情報1020(A1+C2)のデータ部1022の認証用データと後段側記憶部332に記憶している2種類の期待値とが一致するか否かを判定し、該判定結果に基づいた主制御基板310の認証結果を示す後段認証結果データを有する後段認証結果情報1030を生成して後段側記憶部332に記憶する(S1790)。そして、後段部202Aは、その後段認証結果情報1030を付加した後段認証結果信号を周辺基板330の周辺部202Aに対して送信する(S1791)。そして、後段部202Bは、認証が成立すると、認証用データは検査値(A1+C2)であることから、後段側記憶部322の期待値(B1+C2)と一致するため、該期待値(B1+C2)に対応付けられたデータ種別K1を次回のデータ種別と特定し、このデータ種別K1を示すように後段側記憶部322の後段側種別情報を更新する(S1792)。
また、周辺基板330の周辺部202Aは、後段部202Bから受信した後段認証結果信号の後段認証結果情報1030が認証成立を示している場合、主制御部201から受信した制御コマンドデータ1001及び付随データ1002に対応した所定の処理の実行を可能とし、また、後段認証結果情報1030が認証成立を示していない場合、報知信号を出力する(S1760)。以降、上述した同様の認証処理を行う。
以上説明したぱちんこ遊技機100によれば、実施例1と同様に、認証情報1020の2種類のデータ種別K1,K2の各々に2つの検査値A1,A2を対応付けておき、主制御部201が次回生成する認証情報1020のデータ種別に対応した検査値で認証用データを生成し、該認証用データを有する認証情報1020を生成して後段部202Bに周辺部202Aを介して送信するようにしたことから、後段部202Aは期待値に前記データ種別を対応付けておくことで、認証情報1020が有する検査値と期待値が一致したときに、主制御部201の認証を成立させることができ且つ次回受信すべき認証情報1020のデータ種別を特定することができるため、不正な解析者が認証情報1020を不正に利用することを防止できる。そして、1種類の認証情報1020を用いればよいため、従来のコマンド体系に対する追加を最小限に抑え且つ主制御部201の処理が複雑化することを防止できる。また、後段部202Bは、認証情報1020が有する検査値と期待値が一致したとき、該期待値にデータ種別の期待値変更用データが対応付けられていると、次回受信する認証情報1020は期待値変更用データであると特定することができることから、主制御部201から受信した期待値変更用データで期待値を変更して、主制御部1020の検査値に合わせることができるため、主制御部1020と後段部202Bとの間で検査値と期待値とを揃えて変更することができ、不正な解析者による解析を困難にすることができる。さらに、不正解析者によって認証情報1020が不正に利用されたことを、認証情報1020のデータ種別によって後段部202Bが検知することができるため、認証情報1020の認証強度を高めることができる。また、後段部202Bが主制御部201に対する認証処理を行い、その後段認証結果を周辺部202Aに送信するようにしたことから、周辺部202Aは認証処理を行わずに後段認証結果を参照するだけで良いため、周辺部202AのCPU241の処理負荷を軽減することができる。さらに、2つの検査値は予め記憶しておくことができるため、認証情報の生成時に複雑な演算を行う必要がなくなり、主制御部201の処理負担の増加を防止できる。しかも、周辺部202Aは、主制御部201からの認証情報1020を後段部202Bにそのまま送信するだけなので、後段部202Bが認証処理を行うと同時に、周辺部202Aが所定の処理を行うことができるため、周辺部202Aにおける所定の処理に遅れが生じることを防止できる。従って、1種類の認証情報1020を用いても、その認証情報1020の不正解析を困難にすることができるという効果を奏する。
上述したぱちんこ遊技機100において、主制御部201が期待値変更用データを無作為に生成するようにしたことから、主制御部201の検査値と後段部202Bの期待値との双方を無作為に変更することができるため、不正な解析者による認証情報1020の解析をより一層困難にすることができる。
上述したぱちんこ遊技機100において、期待値変更用データが予め定められた初期値である検査値及び期待値を変更する補正値Cとすることで、主制御部201及び後段部202Bは予め定められた検査値及び期待値を期待値変更用データで変更するだけでよいため、変更処理を簡単化することができる。
上述したぱちんこ遊技機100において、期待値変更用データが前回変更した検査値及び期待値を変更する係数値Fとすることで、検査値及び期待値を累積させて変更することができるため、検査値及び期待値の解析をより一層困難にすることができると共に、検査値及び期待値の不正利用を防止することができる。
上述したぱちんこ遊技機100において、主制御部201の検査値とは異なる値の期待値を後段部202Bに予め記憶しておき、検査値と期待値との差分を吸収するための期待値変更用データを主制御部201が生成して後段部202Bに周辺部202Aを介して送信するようにしたことから、後段部202Bがその期待値変更用データで期待値を変更することで、期待値を主制御部201の検査値と一致させることができるため、不正な解析者による検査値及び期待値の解析及び利用を困難にすることができる。
なお、本実施形態で説明した主制御部及び周辺部の制御方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、CD−ROM、MO、DVD、等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、このプログラムは、インターネット等のネットワークを介して配布することが可能な電送媒体であってもよい。