説明

電子機器、遊技機、主制御基板、周辺基板、認証方法及び認証プログラム

【課題】正規な制御部の改ざん及び正規な制御部と該正規な制御によって制御される周辺部との間に不正な制御部が介在されるのを防止し且つ周辺部の共通化を図る。
【解決手段】主制御部は、複数種類の選択パターンの中から1つの選択パターンを決定すると、該選択パターンが示すデータ群の所定データに基づいて認証データを生成し、該選択パターンに対応した前記補正タイミングに、周辺部の期待値データを補正するための補正データを生成する。主制御部は、生成した認証データ及び補正データを周辺部に送信する。一方、周辺部は、主制御部から受信した認証データと複数種類の期待値データとを比較し、当該認証データと一致する期待値データが存在したときは主制御部の認証を成立し、今回受信した認証データの生成に用いられた選択パターンを特定し、該選択パターンに基づいて期待値データの補正タイミングを特定し、該補正タイミングで期待値データを補正する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数の基板を備え、これらの基板間の通信の認証を行う電子機器、遊技機、主制御基板、周辺基板、認証方法及び認証プログラムに関する。
【背景技術】
【0002】
従来、複数の基板を備えた電子機器において、これら各基板に対する不正を防止するための様々な技術が提案されている。複数の基板を備えた電子機器としては、たとえば、ぱちんこ遊技機などがある。ぱちんこ遊技機には、電子機器全体の動作を司る主制御基板と、電子機器の各部の動作をおこなう被制御基板(周辺基板)とを備えている。この主制御基板は、周辺基板に制御コマンドを含む制御信号を出力し、その他の周辺基板は、主制御基板から送信された制御信号にしたがって動作を実行する機能を備えている。
【0003】
主制御基板に対する不正には、たとえば、正規の主制御基板を不正な制御基板に取り替えたり、主制御基板がおこなう処理を規定したプログラムコードを改ざんしたりするなどの方法がある。このような不正を防止するため、たとえば、主制御基板内に搭載されたROMに記録されているプログラムデータをROMチェッカによってチェックして、ROMの不正交換などを防止する技術が提案されている(たとえば、下記特許文献1参照。)。
【0004】
また、他の方法としては、表示制御部などの周辺基板内に搭載されたROMにあらかじめ、他の基板の照合をおこなうための期待値を保持させておき、この期待値と、主制御基板および他の周辺基板のID(固有の値)の和と、が一致した場合に、他の基板を認証することで、不正な基板が挿入されたことを検知する技術が提案されている(たとえば、下記特許文献2参照。)。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開平11−333108号公報
【特許文献2】特開2005−21330号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
また、遊技機においては、主制御基板がROM等の予め定められた記憶領域のデータ群に基づいて認証データを作成して周辺基板に送信し、周辺基板が受信した認証データと予め記憶している期待値データとが一致しているか否かを判定して主制御基板の認証を行う認証方法が知られている。このような認証方式とすることで、主制御基板のROMが不正なROMに交換されると、主制御基板が作成する認証データと周辺基板の期待値データとは一致しないために、不正がおこなわれていないかを検査していた。
【0007】
しかしながら、遊技機においては、同一の機種でも複数種類のスペックが存在しており、その場合は、例えば大当たり確率等のROMの一部のデータが異なっているため、スペック毎に主制御部が作成する認証データの値が異なってしまう。そのため、周辺基板は、複数種類のスペックの各々に対応した期待値データを予め記憶しておく必要があり、同一機種であっても周辺基板の共通化を図ることが困難であるという問題が生じていた。このような問題が生じてると、不正防止機能のために遊技機のコストダウンが困難になり、問題の解消が望まれていた。また、遊技機の主制御基板と周辺基板との間で共通のデータを補正する場合、その補正するタイミングが外部から分かってしまうと、そのときに不正が行われる可能性が高まってしまう。
【0008】
この発明は、上述した従来技術による問題点を解消するため、正規な制御部の改ざん及び正規な制御部と該正規な制御によって制御される周辺部との間に不正な制御部が介在されるのを防止し且つ周辺部の共通化を図ることができる電子機器、遊技機、主制御基板、周辺基板、認証方法及び認証プログラムを提供することを目的とする。
【課題を解決するための手段】
【0009】
本発明にかかる請求項1記載の電子機器は、制御コマンドを送信する主制御部と、前記主制御部によって送信された制御コマンドに基づいて所定の処理を行う周辺部と、を備え、前記周辺部が、前記主制御部によって送信された認証データと予め定められた期待値データとを比較して前記主制御部の認証を行う電子機器において、前記主制御部は、データ群を記憶するデータ群記憶手段と、複数種類の補正タイミングの各々に対応して設けられ且つ前記認証データの作成に用いる所定データを、前記データ群の中から選択するために設けられた互いに異なる複数種類の選択パターンの中から、1つの選択パターンを決定する決定手段と、前記決定した選択パターンが示す前記所定データに基づいて前記認証データを生成する認証データ生成手段と、前記決定した選択パターンに対応した前記補正タイミングに、前記周辺部の前記期待値データを補正するための補正データを生成する補正データ生成手段と、前記生成した認証データと補正データとを前記周辺部に送信する送信手段と、を備え、前記周辺部は、前記複数種類の補正タイミングの各々に対応した前記期待値データを複数記憶する期待値データ記憶手段と、前記主制御部から前記認証データと前記補正データを受信する受信手段と、前記複数の期待値データの中に、前記受信した認証データと一致するデータが存在するか否かの判定結果に基づいて前記主制御部の認証を行う認証手段と、前記主制御部に対する前記認証が成立した場合、前記受信した認証データの生成に用いられた前記選択パターンを特定する選択パターン特定手段と、前記特定した選択パターンと前記複数種類の補正タイミングとを比較して前記期待値データの補正タイミングを特定する補正タイミング特定手段と、前記主制御部から受信した前記補正データに基づいて前記特定した補正タイミングで前記期待値データを補正する補正手段と、を備えることを特徴とする。
【0010】
上記請求項1に記載した本発明の電子機器によれば、主制御部は、複数種類の選択パターンの中から1つの選択パターンを決定すると、前記決定した選択パターンが示すデータ群の所定データに基づいて認証データを生成する。そして、主制御部は、前記決定した選択パターンに対応した前記補正タイミングに、周辺部の期待値データを補正するための補正データを生成する。そして、主制御部は、生成した認証データ及び補正データを周辺部に送信する。一方、周辺部は、主制御部から受信した認証データと複数種類の期待値データとを比較し、当該認証データと一致する期待値データが存在したときは主制御部の認証を成立し、または、当該認証データと一致する期待値データが存在しないときは主制御部の認証を不成立とする。そして、周辺部は、主制御部に対する認証が成立した場合、今回受信した認証データの生成に用いられた選択パターンを特定し、該特定した選択パターンと複数種類の補正タイミングとを比較して期待値データの補正タイミングを特定する。周辺部は、特定した補正タイミングで主制御部から受信した補正データに基づいて期待値データを補正する。
【0011】
本発明にかかる請求項2記載の電子機器は、制御コマンドを送信する主制御部と、前記主制御部によって送信された制御コマンドに基づいて所定の処理を行う周辺部と、を備え、前記周辺部が、前記主制御部によって送信された認証データと予め定められた期待値データとを比較して前記主制御部の認証を行う電子機器において、前記主制御部は、データ群を記憶するデータ群記憶手段と、前記認証データの作成に用いる所定データを、前記データ群の中から選択するための互いに異なる複数種類の選択パターンの各々に対応した複数種類の補正タイミングの中から、前記期待値データを補正する補正タイミングを決定する決定手段と、前記決定した補正タイミングに対応した前記選択パターンが示す前記所定データに基づいて前記認証データを生成する認証データ生成手段と、前記決定手段が決定した補正タイミングに、前記周辺部で前記期待値データを補正するための補正データを生成する補正データ生成手段と、前記生成した認証データと補正データとを前記周辺部に送信する送信手段と、を備え、前記周辺部は、前記複数種類の補正タイミングの各々に対応した前記期待値データを複数記憶する期待値データ記憶手段と、前記主制御部から前記認証データと前記補正データを受信する受信手段と、前記複数の期待値データの中に、前記受信した認証データと一致するデータが存在するか否かの判定結果に基づいて前記主制御部の認証を行う認証手段と、前記主制御部に対する前記認証が成立した場合、前記受信した認証データの生成に用いられた前記選択パターンを特定する選択パターン特定手段と、前記特定した選択パターンと前記複数種類の補正タイミングとを比較して前記期待値データの補正タイミングを特定する補正タイミング特定手段と、前記主制御部から受信した前記補正データに基づいて前記特定した補正タイミングで前記期待値データを補正する補正手段と、を備えることを特徴とする。
【0012】
上記請求項2に記載した本発明の電子機器によれば、主制御部は、複数種類の補正タイミングの中から期待値データを補正する補正タイミングを決定すると、該補正タイミングに対応した選択パターンが示す前記データ群記憶手段が記憶している所定データに基づいて認証データを生成すると共に、周辺部の期待値データを補正するための補正データを生成する。そして、主制御部は、生成した認証データ及び補正データを周辺部に送信する。一方、周辺部は、主制御部から受信した認証データと複数種類の期待値データとを比較し、当該認証データと一致する期待値データが存在したときは主制御部の認証を成立し、または、当該認証データと一致する期待値データが存在しないときは主制御部の認証を不成立とする。そして、周辺部は、主制御部に対する認証が成立した場合、今回受信した認証データの生成に用いられた選択パターンを特定し、該特定した選択パターンと複数種類の補正タイミングとを比較して期待値データの補正タイミングを特定する。周辺部は、特定した補正タイミングで主制御部から受信した補正データに基づいて期待値データを補正する。
【0013】
請求項3記載の発明は、請求項1又は2に記載の電子機器において、前記主制御部は、前記電子機器の電源投入時に予め定められた初期補正データを前記送信手段によって前記周辺部に送信し、前記周辺部の受信手段は、前記初期補正データを前記主制御部から受信する手段であり、前記補正手段は、前記受信した初期補正データに基づいて前記期待値データを補正する手段であることを特徴とする。
【0014】
上記請求項3に記載した本発明の電子機器によれば、電子機器の電源が投入されると、主制御部は予め定められた初期補正データを周辺部に送信する。一方、周辺部は、主制御部から初期補正データを受信すると、該初期補正データに基づいて期待値データを補正することができる。
【0015】
請求項4記載の発明は、請求項1〜3の何れか1項に記載の電子機器において、前記送信手段は、前記制御コマンドに前記認証データ又は前記補正データを付加して前記周辺部に送信することを特徴とする。
【0016】
上記請求項4に記載した本発明の電子機器によれば、主制御部は、認証データ又は補正データを生成すると、該認証データ又は補正データを制御コマンドに付加して周辺部に送信することができる。
【0017】
請求項5記載の発明は、請求項1〜4の何れか1項に記載の電子機器において、前記認証データ生成手段は、前記認証データが付加される前記制御コマンドを用いて当該認証データを生成する手段であることを特徴とする。
【0018】
上記請求項5に記載した本発明の電子機器によれば、認証データを付加して送信する制御コマンドを用いて認証データを生成することができる。
【0019】
請求項6記載の発明は、請求項1〜5の何れか1項に記載の電子機器において、前記データ群記憶手段は、前記主制御部で用いられるプログラムデータを前記データ群として記憶する手段であることを特徴とする。
【0020】
上記請求項6に記載した本発明の電子機器によれば、主制御部は、該主制御部で用いるプログラムデータをデータ群としてデータ記憶手段に記憶し、該データ群、即ちプログラムデータを用いて認証データを生成することができる。
【0021】
請求項7記載の発明は、請求項1〜6の何れか1項に記載の電子機器を備える遊技機であって、前記主制御部としての主制御基板と、前記周辺部としての周辺基板と、を備え、前記主制御基板は、前記認証データ及び前記補正データを前記周辺基板に送信し、前記周辺基板は、前記主制御基板によって送信された前記認証データを用いて前記主制御基板の認証を行い、前記補正タイミングで前記主制御部から受信した前記補正データに基づいて前記期待値データを補正することを特徴とする。
【0022】
上記請求項7に記載した本発明の遊技機によれば、主制御基板は、複数種類の選択パターンと複数種類の補正タイミングを予め対応付けておき、選択パターンが示す前記データ群記憶手段が記憶している所定データに基づいて認証データを生成すると共に、周辺基板の期待値データを補正するための補正データを生成する。そして、主制御基板は、生成した認証データ及び補正データを周辺基板に送信する。一方、周辺基板は、主制御基板から受信した認証データと複数種類の期待値データとを比較し、当該認証データと一致する期待値データが存在したときは主制御基板の認証を成立し、または、当該認証データと一致する期待値データが存在しないときは主制御基板の認証を不成立とする。そして、周辺基板は、主制御基板に対する認証が成立した場合、今回受信した認証データの生成に用いられた選択パターンを特定し、該特定した選択パターンと複数種類の補正タイミングとを比較して期待値データの補正タイミングを特定する。周辺基板は、特定した補正タイミングで主制御基板から受信した補正データに基づいて期待値データを補正する。
【0023】
本発明にかかる請求項8記載の主制御基板は、予め定められた期待値データと他の基板から受信した認証データとを比較して前記他の基板の認証が成立した場合に、前記認証した他の基板から受信した制御コマンドに基づいた所定の処理を行う周辺基板を備える電子機器に搭載される主制御基板において、データ群を記憶するデータ群記憶手段と、複数種類の補正タイミングの各々に対応して設けられ且つ前記認証データの作成に用いる所定データを、前記データ群の中から選択するための互いに異なる複数種類の選択パターンの中から、1つの選択パターンを決定する決定手段と、前記決定した選択パターンが示す前記所定データに基づいて前記認証データを生成する認証データ生成手段と、前記決定した選択パターンに対応した前記補正タイミングに、前記周辺基板の前記期待値データを補正するための補正データを生成する補正データ生成手段と、前記生成した認証データと補正データとを前記周辺基板に送信する送信手段と、を備えることを特徴とする。
【0024】
上記請求項8に記載した本発明の主制御基板によれば、複数種類の選択パターンの中から1つの選択パターンを決定すると、前記決定した選択パターンが示すデータ群の所定データに基づいて認証データを生成する。そして、主制御部は、前記決定した選択パターンに対応した補正タイミングに、周辺部の期待値データを補正するための補正データを生成する。そして、主制御部は、生成した認証データ及び補正データを周辺部に送信する。
【0025】
本発明にかかる請求項9記載の主制御基板は、予め定められた期待値データと他の基板から受信した認証データとを比較して前記他の基板の認証が成立した場合に、前記認証した他の基板から受信した制御コマンドに基づいた所定の処理を行う周辺基板を備える電子機器に搭載される主制御基板において、データ群を記憶するデータ群記憶手段と、前記認証データの作成に用いる所定データを、前記データ群の中から選択するための互いに異なる複数種類の選択パターンの各々に対応した複数種類の補正タイミングの中から、前記期待値データを補正する補正タイミングを決定する決定手段と、前記決定した補正タイミングに対応した前記選択パターンが示す前記所定データに基づいて前記認証データを生成する認証データ生成手段と、前記決定手段による補正タイミングの決定に応じて、前記周辺基板で前記期待値データを補正するための補正データを生成する補正データ生成手段と、前記生成した認証データと補正データとを前記周辺基板に送信する送信手段と、を備えることを特徴とする。
【0026】
上記請求項9に記載した本発明の主制御基板によれば、複数種類の補正タイミングの中から期待値データを補正する補正タイミングを決定すると、該補正タイミングに対応した選択パターンが示す前記データ群記憶手段が記憶している所定データに基づいて認証データを生成すると共に、周辺基板の期待値データを補正するための補正データを生成する。そして、該生成した認証データ及び補正データを周辺基板に送信する。
【0027】
本発明にかかる請求項10記載の周辺基板は、主制御基板を備える電子機器に搭載されて、前記主制御基板によって送信された制御コマンドに基づいて所定の処理を行う周辺基板において、前記主制御基板との間で予め定められた複数種類の補正タイミングの各々に対応した期待値データを複数記憶する期待値データ記憶手段と、前記主制御基板から認証データと補正データを受信する受信手段と、前記複数の期待値データの中に、前記受信した認証データと一致するデータが存在するか否かの判定結果に基づいて前記主制御基板の認証を行う認証手段と、前記主制御基板に対する前記認証が成立した場合、前記主制御基板が前記認証データの作成に用いる所定データを予め定められたデータ群の中から選択するための互いに異なる複数種類の選択パターンの中から、前記受信した認証データの生成に用いられた前記選択パターンを特定する選択パターン特定手段と、前記特定した選択パターンと前記複数種類の補正タイミングとを比較して前記期待値データの補正タイミングを特定する補正タイミング特定手段と、前記主制御基板から受信した前記補正データに基づいて前記特定した補正タイミングで前記期待値データを補正する補正手段と、を備えることを特徴とする。
【0028】
上記請求項10に記載した本発明の周辺基板によれば、主制御基板から受信した認証データと複数種類の期待値データとを比較し、当該認証データと一致する期待値データが存在したときは主制御基板の認証を成立し、または、当該認証データと一致する期待値データが存在しないときは主制御基板の認証を不成立とする。そして、周辺基板は、主制御基板に対する認証が成立した場合、今回受信した認証データの生成に用いられた選択パターンを特定し、該特定した選択パターンと複数種類の補正タイミングとを比較して期待値データの補正タイミングを特定する。周辺基板は、特定した補正タイミングで主制御基板から受信した補正データに基づいて期待値データを補正する。
【0029】
本発明にかかる請求項11記載の認証方法は、制御コマンドを送信する主制御部と、前記主制御部によって送信された制御コマンドに基づいて所定の処理を行う周辺部と、を備え、前記周辺部が、前記主制御部によって送信された認証データと予め定められた期待値データとを比較して前記主制御部の認証を行う電子機器に認証方法であって、前記主制御部において、複数種類の補正タイミングの各々に対応して設けられ且つ前記認証データの作成に用いる所定データを、データ群記憶手段が記憶しているデータ群の中から選択するために設けられた互いに異なる複数種類の選択パターンの中から、1つの選択パターンを決定する決定工程と、前記決定した選択パターンが示す前記所定データに基づいて前記認証データを生成する認証データ生成工程と、前記決定した選択パターンに対応した前記補正タイミングに、前記周辺部の前記期待値データを補正するための補正データを生成する補正データ生成工程と、前記生成した認証データと補正データとを前記周辺部に送信する送信工程と、を備え、前記周辺部において、前記主制御部から前記認証データと前記補正データを受信する受信工程と、期待値データ記憶手段が記憶している前記複数種類の補正タイミングの各々に対応した複数の期待値データの中に、前記受信した認証データと一致するデータが存在するか否かの判定結果に基づいて前記主制御部の認証を行う認証工程と、前記主制御部に対する前記認証が成立した際に、前記受信した認証データの生成に用いられた前記選択パターンを特定する選択パターン特定工程と、前記特定した選択パターンと前記複数種類の補正タイミングとを比較して前記期待値データの補正タイミングを特定する補正タイミング特定工程と、前記特定した補正タイミングで前記主制御部から受信した前記補正データに基づいて前記期待値データを補正する補正工程と、を備えることを特徴とする。
【0030】
上記請求項11に記載した本発明の認証方法によれば、主制御部は、複数種類の選択パターンの中から1つの選択パターンを決定すると、前記決定した選択パターンが示すデータ群の所定データに基づいて認証データを生成する。そして、主制御部は、前記決定した選択パターンに対応した前記補正タイミングに、周辺部の期待値データを補正するための補正データを生成する。そして、主制御部は、生成した認証データ及び補正データを周辺部に送信する。一方、周辺部は、主制御部から受信した認証データと複数種類の期待値データとを比較し、当該認証データと一致する期待値データが存在したときは主制御部の認証を成立し、または、当該認証データと一致する期待値データが存在しないときは主制御部の認証を不成立とする。そして、周辺部は、主制御部に対する認証が成立した場合、今回受信した認証データの生成に用いられた選択パターンを特定し、該特定した選択パターンと複数種類の補正タイミングとを比較して期待値データの補正タイミングを特定する。周辺部は、特定した補正タイミングで主制御部から受信した補正データに基づいて期待値データを補正する。
【0031】
本発明にかかる請求項12記載の認証方法は、制御コマンドを送信する主制御部と、前記主制御部によって送信された制御コマンドに基づいて所定の処理を行う周辺部と、を備え、前記周辺部が、前記主制御部によって送信された認証データと予め定められた期待値データとを比較して前記主制御部の認証を行う電子機器の認証方法であって、前記主制御部において、前記認証データの作成に用いる所定データを、前記データ群記憶手段が記憶しているデータ群の中から選択するための互いに異なる複数種類の選択パターンの各々に対応した複数種類の補正タイミングの中から、前記期待値データを補正する補正タイミングを決定する決定工程と、前記決定した補正タイミングに対応した前記選択パターンが示す前記所定データに基づいて前記認証データを生成する認証データ生成工程と、前記補正タイミングの決定に応じて、前記周辺部で前記期待値データを補正するための補正データを生成する補正データ生成工程と、前記生成した認証データと補正データとを前記周辺部に送信する送信工程と、を備え、前記周辺部において、前記主制御部から前記認証データと前記補正データを受信する受信工程と、期待値データ記憶手段が記憶している前記複数種類の補正タイミングの各々に対応した複数の期待値データの中に、前記受信した認証データと一致するデータが存在するか否かの判定結果に基づいて前記主制御部の認証を行う認証工程と、前記主制御部に対する前記認証が成立した際に、前記受信した認証データの生成に用いられた前記選択パターンを特定する選択パターン特定工程と、前記特定した選択パターンと前記複数種類の補正タイミングとを比較して前記期待値データの補正タイミングを特定する補正タイミング特定工程と、前記特定した補正タイミングで前記主制御部から受信した前記補正データに基づいて前記期待値データを補正する補正工程と、を備えることを特徴とする。
【0032】
上記請求項12に記載した本発明の認証方法によれば、主制御部は、複数種類の補正タイミングの中から期待値データを補正する補正タイミングを決定すると、該補正タイミングに対応した選択パターンが示す前記データ群記憶手段が記憶している所定データに基づいて認証データを生成すると共に、周辺部の期待値データを補正するための補正データを生成する。そして、主制御部は、生成した認証データ及び補正データを周辺部に送信する。一方、周辺部は、主制御部から受信した認証データと複数種類の期待値データとを比較し、当該認証データと一致する期待値データが存在したときは主制御部の認証を成立し、または、当該認証データと一致する期待値データが存在しないときは主制御部の認証を不成立とする。そして、周辺部は、主制御部に対する認証が成立した場合、今回受信した認証データの生成に用いられた選択パターンを特定し、該特定した選択パターンと複数種類の補正タイミングとを比較して期待値データの補正タイミングを特定する。周辺部は、特定した補正タイミングで主制御部から受信した補正データに基づいて期待値データを補正する。
【0033】
本発明にかかる請求項13記載の認証プログラムは、制御コマンドを送信する主制御部と、前記主制御部によって送信された制御コマンドに基づいて所定の処理を行う周辺部と、を備え、前記周辺部が、前記主制御部によって送信された認証データと予め定められた期待値データとを比較して前記主制御部の認証を行う電子機器の認証プログラムであって、前記主制御部の第1コンピュータを、複数種類の補正タイミングの各々に対応して設けられ且つ前記認証データの作成に用いる所定データを、データ群記憶手段が記憶しているデータ群の中から選択するために設けられた互いに異なる複数種類の選択パターンの中から、1つの選択パターンを決定する決定手段と、前記決定した選択パターンが示す前記所定データに基づいて前記認証データを生成する認証データ生成手段と、前記決定した選択パターンに対応した前記補正タイミングに、前記周辺部の前記期待値データを補正するための補正データを生成する補正データ生成手段と、前記生成した認証データと補正データとを前記周辺部に送信する送信手段工程と、して機能させ、且つ、前記周辺部の第2コンピュータを、前記主制御部から前記認証データと前記補正データを受信する受信手段と、期待値データ記憶手段が記憶している前記複数種類の補正タイミングの各々に対応した複数の期待値データの中に、前記受信した認証データと一致するデータが存在するか否かの判定結果に基づいて前記主制御部の認証を行う認証手段と、前記主制御部に対する前記認証が成立した際に、前記受信した認証データの生成に用いられた前記選択パターンを特定する選択パターン特定手段と、前記特定した選択パターンと前記複数種類の補正タイミングとを比較して前記期待値データの補正タイミングを特定する補正タイミング特定手段と、前記特定した補正タイミングで前記主制御部から受信した前記補正データに基づいて前記期待値データを補正する補正手段と、して機能させるための電子機器の認証プログラムである。
【0034】
上記請求項13に記載した本発明の認証プログラムによれば、主制御基板の第1コンピュータは、複数種類の選択パターンの中から1つの選択パターンを決定すると、前記決定した選択パターンが示すデータ群の所定データに基づいて認証データを生成する。そして、第1コンピュータは、前記決定した選択パターンに対応した前記補正タイミングに、周辺部の期待値データを補正するための補正データを生成する。そして、第1コンピュータは、生成した認証データ及び補正データを周辺部に送信する。一方、周辺部の第2コンピュータは、主制御部から受信した認証データと複数種類の期待値データとを比較し、当該認証データと一致する期待値データが存在したときは主制御部の認証を成立し、または、当該認証データと一致する期待値データが存在しないときは主制御部の認証を不成立とする。そして、第2コンピュータは、主制御部に対する認証が成立した場合、今回受信した認証データの生成に用いられた選択パターンを特定し、該特定した選択パターンと複数種類の補正タイミングとを比較して期待値データの補正タイミングを特定する。第2コンピュータは、特定した補正タイミングで主制御部から受信した補正データに基づいて期待値データを補正する。
【0035】
本発明にかかる請求項14記載の認証プログラムは、制御コマンドを送信する主制御部と、前記主制御部によって送信された制御コマンドに基づいて所定の処理を行う周辺部と、を備え、前記周辺部が、前記主制御部によって送信された認証データと予め定められた期待値データとを比較して前記主制御部の認証を行う電子機器の認証プログラムであって、前記主制御部の第1コンピュータを、前記認証データの作成に用いる所定データを、前記データ群記憶手段が記憶しているデータ群の中から選択するための互いに異なる複数種類の選択パターンの各々に対応した複数種類の補正タイミングの中から、前記期待値データを補正する補正タイミングを決定する決定手段と、前記決定した補正タイミングに対応した前記選択パターンが示す前記所定データに基づいて前記認証データを生成する認証データ生成手段と、前記補正タイミングの決定に応じて、前記周辺部で前記期待値データを補正するための補正データを生成する補正データ生成手段と、前記生成した認証データと補正データとを前記周辺部に送信する送信手段と、して機能させ、且つ、前記周辺部の第2コンピュータを、前記主制御部から前記認証データと前記補正データを受信する受信手段と、期待値データ記憶手段が記憶している前記複数種類の補正タイミングの各々に対応した複数の期待値データの中に、前記受信した認証データと一致するデータが存在するか否かの判定結果に基づいて前記主制御部の認証を行う認証手段と、前記主制御部に対する前記認証が成立した場合、前記受信した認証データの生成に用いられた前記選択パターンを特定する選択パターン特定手段と、前記特定した選択パターンと前記複数種類の補正タイミングとを比較して前記期待値データの補正タイミングを特定する補正タイミング特定手段と、前記特定した補正タイミングで前記主制御部から受信した前記補正データに基づいて前記期待値データを補正する補正手段と、して機能させるための電子機器の認証プログラムである。
【0036】
上記請求項14に記載した本発明の認証プログラムによれば、主制御基板の第1コンピュータは、複数種類の補正タイミングの中から期待値データを補正する補正タイミングを決定すると、該補正タイミングに対応した選択パターンが示す前記データ群記憶手段が記憶している所定データに基づいて認証データを生成すると共に、周辺部の期待値データを補正するための補正データを生成する。そして、該生成した認証データ及び補正データを周辺部に送信する。一方、周辺部の第2コンピュータは、主制御部から受信した認証データと複数種類の期待値データとを比較し、当該認証データと一致する期待値データが存在したときは主制御部の認証を成立し、または、当該認証データと一致する期待値データが存在しないときは主制御部の認証を不成立とする。そして、主制御部に対する認証が成立した場合、今回受信した認証データの生成に用いられた選択パターンを特定し、該特定した選択パターンと複数種類の補正タイミングとを比較して期待値データの補正タイミングを特定する。そして、特定した補正タイミングで主制御基板から受信した補正データに基づいて期待値データを補正する。
【発明の効果】
【0037】
以上説明したように請求項1,7,8,10,11,13に記載した本発明によれば、主制御部のみが知っている選択パターンの所定データを用いて認証データを生成すると共に、複数種類の選択パターンの各々に複数種類の補正タイミングを割り当てるようにしたことから、認証データは選択パターンに応じて変化するため、不正解析者は選択パターンを解析できない限り、補正データに対応した補正タイミングを解析することはできない。また、主制御部は認証データの生成に用いる選択パターンを切り替えることで、複数種類の補正タイミングを切り替えることができるため、不正解析者による不正な解析をより一層困難にすることができると共に、認証データを生成する既存の処理に容易に組み込むことができる。そして、周辺部の期待値データを補正することで、主制御部と周辺部との間に不正な制御部が介在しても、周辺部によって該不正な制御部が認証されることをより一層確実に防止できる。従って、不正解析者は主制御部が決定した選択パターンを解析して補正タイミングを解析できない限り、正規な制御部の改ざん及び正規な主制御部と周辺部との間に不正な制御部が介在されることを防止できるとともに、認証の強度を上げることができる。
【0038】
以上説明したように請求項2,7,9,10,12,14に記載した本発明によれば、主制御部のみが知っている補正タイミングに対応した選択パターンの所定データを用いて認証データを生成するようにしたことから、認証データは選択パターンに応じて変化するため、不正解析者は選択パターンを解析できない限り、補正データによる補正タイミングを解析することはできない。また、複数種類の選択パターンを用いていることから、主制御部はそれらの選択パターンを切り替えることによって複数種類の補正タイミングを切り替えることができるため、不正解析者による不正な解析をより一層困難にすることができる。そして、周辺部の期待値データを補正することで、主制御部と周辺部との間に不正な制御部が介在しても、周辺部によって該不正な制御部が認証されることをより一層確実に防止できる。従って、不正解析者は主制御部が決定した選択パターンを解析して補正タイミングを解析できない限り、正規な制御部の改ざん及び正規な主制御部と周辺部との間に不正な制御部が介在されることを防止できるとともに、認証の強度を上げることができる。
【0039】
請求項3に記載の発明によれば、請求項1又は2に記載の発明の効果に加え、電源が投入されたときに主制御部が初期補正データを周辺部に送信し、周辺部が主制御部から受信した初期補正データに基づいて期待値データを補正するようにしたことから、起動時の初期処理に補正処理を組み込めるため、例えば電源がオフされている間に、主制御部を他の主制御部に変更されても、認証処理よりも前に補正処理を行うことができるため、変更後の他の主制御部を誤って不正な主制御部であると判断することを防止できる。さらに、電源投入後の最初に補正処理が行われるため、認証処理のタイミングを設計者等の所望のタイミングで行うことができる。従って、電子機器の機種毎に最も好適なタイミングで認証処理を行わせることができるため、認証の強度をより一層上げることができる。
【0040】
請求項4に記載の発明によれば、請求項1〜3の何れか1項に記載の発明の効果に加え、認証データ及び補正データを制御コマンドに付加して送信することができるため、認証データ及び補正データを単体で送信する場合と比較して、主制御部と周辺部との間の通信負荷の増大を抑えることができる。従って、主制御部から周辺部に送信する認証データ及び補正データの送信回数を増大させることができ且つ補正タイミングの検出を困難にすることができるため、不正解析者によって解析されてしまう可能性を低減することができる。
【0041】
請求項5に記載の発明によれば、請求項1〜4の何れか1項に記載の発明の効果に加え、今回送信する制御コマンドを用いて認証データを生成するようにしたことから、不正な制御部によって認証データが再利用された場合であっても、認証データと制御コマンドの整合性がとれず、不正を検知することができる。一般に、不正な制御部は、正規の主制御部と異なる制御コマンドを送信することによって、周辺部に不正な動作を行わせようとすることから、このような不正な制御部の介在の防止に貢献することができる。
【0042】
請求項6に記載の発明によれば、請求項1〜5の何れか1項に記載の発明の効果に加え、主制御部が用いている正規のプログラムデータを用いて認証データを生成するようにしたことから、該プログラムデータに不正を加えれば、正規の認証データを生成することができないため、プログラムデータの不正な書き換えや、主制御部の記憶手段の不正な取り替えなどを防止することができる。
【図面の簡単な説明】
【0043】
【図1】本発明のぱちんこ遊技機の遊技盤の一例を示す正面図である。
【図2】ぱちんこ遊技機の制御部の内部構成を示すブロック図である。
【図3】主制御基板および周辺基板の機能的構成を示すブロック図である。
【図4】主制御部による演出制御部の制御処理の一部を示すフローチャートである。
【図5】主制御部による演出制御部の制御処理の他の一部を示すフローチャートである。
【図6】大当たり関連コマンドの送信タイミングを示すタイミングチャートである。
【図7】演出制御部による図柄変動処理の手順を示すフローチャートである。
【図8】演出制御部による大当たり時処理の手順を示すフローチャートである。
【図9】ランプ制御部による図柄変動時のランプ制御処理の手順を示すフローチャートである。
【図10】主制御部が出力する制御信号のデータフォーマットを模式的に示す説明図である。
【図11】主制御部における選択パターンの一例を示す説明図である。
【図12】補正タイミングと選択パターンとの関係例を説明するための図である。
【図13】主制御部による制御信号の送信手順を示すフローチャートである。
【図14】周辺部による制御信号の受信手順を示すフローチャートである。
【図15】主制御基板と周辺基板との間の処理関係の起動時の一例を示すシーケンス図である。
【図16】主制御基板と周辺基板との間の処理関係の通常時における一例を示すシーケンス図である。
【図17】主制御基板と周辺基板との間の処理関係の通常時における他の一例を示すシーケンス図である。
【図18】主制御部による制御信号の送信手順の他の例を示すフローチャートである。
【図19】主制御部が実行する送信側処理の一例を示すフローチャートである。
【図20】周辺部が実行する受信側処理の一例を示すフローチャートである。
【発明を実施するための形態】
【0044】
以下に添付図面を参照して、本発明にかかる電子機器の機能を有したぱちんこ遊技機と、このぱちんこ遊技機に搭載されている複数の基板間(主制御基板および周辺基板)の制御信号に含まれる制御コマンドを認証する認証方法および認証プログラムに好適な実施の形態を詳細に説明する。
【0045】
(ぱちんこ遊技機の基本構成)
本発明のぱちんこ遊技機100は、図1に示す遊技盤101を備えている。遊技盤101の下部位置に配置された発射部292(図2参照)の駆動によって発射された遊技球は、レール102a,102b間を上昇して遊技盤101の上部位置に達した後、遊技領域103内を落下する。図示を省略するが、遊技領域103には、遊技球を各種の方向に向けて落下させる複数の釘が設けられている。遊技領域103には、遊技球の落下途中の位置に、遊技球の落下方向を変化させる風車や入賞口が配設されている。
【0046】
遊技盤101の遊技領域103の中央部分には、図柄表示部104が配置されている。図柄表示部104としては、例えば液晶表示器(LCD)が用いられる。なお、図柄表示部104としては、LCDに限らず、CRT、複数のドラム、などを用いることができる。図柄表示部104の下方には、始動入賞させるための始動入賞口105が配設されている。図柄表示部104の左右には、それぞれ入賞ゲート106が配設されている。
【0047】
入賞ゲート106は、落下する遊技球の通過を検出し、始動入賞口105を一定時間だけ開放させる抽選を行うために設けられている。図柄表示部104の側部や下方などには普通入賞口107が配設されている。普通入賞口107に遊技球が入賞すると、ぱちんこ遊技機100は普通入賞時の賞球数(例えば10個)の払い出しを行う。遊技領域103の最下部には、どの入賞口にも入賞しなかった遊技球を回収する回収口108が設けられている。
【0048】
上述した図柄表示部104は、特定の入賞口に遊技球が入賞したとき(始動入賞時)に、複数の図柄の表示の変動を開始し、所定時間後に図柄の表示の変動を停止する。この停止時に特定図柄(例えば「777」など)に揃ったときに、ぱちんこ遊技機100は大当たり状態となる。そして、ぱちんこ遊技機100は、大当たり状態のとき、遊技盤101の下方に位置する大入賞口109を一定の期間開放させ、この期間開放を所定ラウンド(例えば15ラウンドなど)繰り返し、大入賞口109に入賞した遊技球に対応した賞球数を払い出す。
【0049】
ぱちんこ遊技機100は、図2に示す制御部200を備えている。制御部200は、主制御部201と、演出制御部202と、賞球制御部203と、を有している。そして、主制御部201は本発明の主制御基板に相当し、演出制御部202と賞球制御部203とはそれぞれ本発明の周辺基板に相当している。そして、主制御部201は、ぱちんこ遊技機100の遊技にかかる基本動作を制御する。演出制御部202は、遊戯中の演出動作を制御する。賞球制御部203は、払い出す賞球数を制御する。
【0050】
主制御部201は、CPU211と、ROM212と、RAM213と、インタフェース(I/F)214と、を有している。CPU211は、ROM212に記憶されたプログラムデータに基づき、遊技内容の進行に伴う基本処理を実行する。ROM212は、プログラムデータ等を記憶する記憶領域を有している。RAM213は、CPU211の演算処理時におけるデータのワークエリアとして機能する。I/F214は、各検出部221〜224から各種データを受信するとともに、演出制御部202及び賞球制御部203への各種データの送信を行う。主制御部201は、例えばいわゆる主制御基板によってその機能を実現する。
【0051】
この主制御部201の入力側には、始動入賞口105に入賞した入賞球を検出する始動入賞口検出部221と、入賞ゲート106を通過した遊技球を検出するゲート検出部222と、普通入賞口107に入賞した遊技球を検出する普通入賞口検出部223と、大入賞口109に入賞した入賞球を検出する大入賞口検出部224と、がI/F214を介して電気的に接続されている。これらの検出部としては、近接スイッチなどを用いて構成できる。
【0052】
この主制御部201の出力側には、大入賞口開閉部231が電気的に接続されており、主制御部201はこの大入賞口開閉部231の開閉を制御する。大入賞口開閉部231は、大当たり時に大入賞口109を一定期間開放する機能であり、ソレノイドなどを用いて構成できる。この大当たりは、生成した乱数(大当たり判定用乱数)に基づいて、所定の確率(例えば300分の1など)で発生するよう予めプログラムされている。
【0053】
演出制御部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の音声等の出力を制御する。
【0054】
賞球制御部203は、主制御部201から各種の制御コマンドを含む制御信号を受け取り、このコマンドに基づいて、ROM282に記憶されたプログラムデータを実行して賞球制御を行う。この賞球制御部203は、CPU281と、ROM282と、RAM283と、インタフェース(I/F)284と、を有している。CPU281は、賞球制御の処理を実行する。RAM283は、CPU281の演算処理時におけるデータのワークエリアとして機能する。I/F284は、主制御部201からの各種データの受信および発射部292との各種データの送受信を行う。賞球制御部203は、例えばいわゆる賞球基板によってその機能を実現する。
【0055】
賞球制御部203は、I/F284を介して接続される払出部291に対して、入賞時の賞球数を払い出す制御を行う。また、賞球制御部203は、発射部292に対する遊技球の発射の操作を検出し、発射部292における遊技球の発射を制御する。払出部291は、遊技球の貯留部から所定数を払い出すためのモータなどからなる。賞球制御部203は、この払出部291に対して、各入賞口(始動入賞口105、普通入賞口107、大入賞口109)に入賞した遊技球に対応した賞球数を払い出す制御を行う。
【0056】
発射部292は、遊技のための遊技球を発射するものであり、遊技者による遊技操作を検出するセンサと、遊技球を発射させるソレノイドなどを備える。賞球制御部203は、発射部292のセンサにより遊技操作を検出すると、検出された遊技操作に対応してソレノイドなどを駆動させて遊技球を間欠的に発射させ、遊技盤101の遊技領域103に遊技球を送り出す。
【0057】
上記構成の主制御部201と演出制御部202と賞球制御部203は、それぞれ異なるプリント基板(主制御基板、演出基板、賞球基板)に設けられる。なお、ぱちんこ遊技機100の基板の構成は、これに限らず、例えば、賞球制御部203を、主制御部201又は演出制御部202と同一のプリント基板上に設けるなどの種々異なる構成とすることができる。
【0058】
(主制御基板および周辺基板の機能的構成)
まず、図3を参照して、主制御部201としての機能を有する主制御基板310の機能的構成について説明する。主制御基板310は、周辺基板320を動作させるための制御コマンドを送信する機能部であり、データ記憶部311、決定部312、認証データ生成部313、補正データ生成部314、送信部315によって構成される。そして、主制御基板310は周辺基板320と通信可能なように電気的に接続されている。
【0059】
データ記憶部311は、本発明のデータ群記憶手段に相当し、所定のデータ群を記憶している。所定のデータ群とは、例えば、主制御基板310で用いられるプログラムデータ等である。データ記憶部311としては、例えば、主制御部201のROM212(図2参照)の一部を用いることができる。また、データ群は、プログラムデータの他に、予め定められた複数の認証用データなど種々異なる実施形態とすることができる。
【0060】
決定部312は、本発明の決定手段に相当し、複数種類の補正タイミングの各々に対応して設けられ且つ前記認証データの作成に用いる所定データを、前記データ群の中から選択するために設けられた互いに異なる複数種類の選択パターンの中から1つの選択パターンを決定する。複数種類の選択パターンとは、主制御基板310と周辺基板320との間で予め定められた相異なる複数種類の選択パターンであり、複数種類の補正タイミングの各々に一対一に対応している。そして、各選択パターンは、データ群の中から選択する所定データのアドレスデータ、所定データのアドレス範囲を示すテーブルデータ、等のデータを有して構成している。決定部312は、前記期待値データを補正する時、ぱちんこ遊技機100の起動時、等に、補正データを周辺基板320に送信する場合に、複数種類の選択パターンの中から任意に決定する。そして、補正タイミングとしては、後述する認証データ付制御信号を送信してからの送信回数、送信時間、等が挙げられる。
【0061】
主制御基板310が決定する選択パターンは主制御基板310のみが知る値であり、認証データの作成に用いた選択パターンが判明しない限り、不正解析者は補正タイミングを知ることはできない。これにより、主制御基板310と周辺基板320との間に不正な制御部が挿入されると、不正な制御部と周辺基板との間で矛盾が生じるため、不正な制御部が挿入されたことを検知することができ、不正な制御部による不正な処理を防止することができる。
【0062】
認証データ生成部313は、本発明の認証データ生成手段に相当し、決定部312で決定した選択パターンが示す前記所定データに基づいて、予め定められた認証方式の認証データを生成する。認証方式としては、例えば、チェックサム、パリティチェック、ハミングコードチェック、CRC(巡回冗長検査)、等の公知の誤り検出方法を用いることが可能であり、複数種類の認証方式を任意のタイミングで切り替えてもよい。また、本実施形態では認証データをその送信時に生成する場合について説明するが、本発明はこれに限定するものではなく、例えば、ぱちんこ遊技機100の起動時、予め定められた生成タイミング等に複数種類の選択パターンの各々に対応した認証データを生成して記憶しておき、該記憶している認証データを送信する際に、選択パターンに対応した認証データを用いる実施形態とすることもできる。このような実施形態とすれば、主制御基板310の処理負担を軽減することができる。
【0063】
補正データ生成部314は、決定部312が決定した選択パターンに対応した補正タイミングに、周辺基板320の期待値データを補正するための補正データを生成する。補正データは、好適には、実際の補正値とソルト値との演算結果値がよい。
【0064】
例えば、下記(1)式によって補正データVmを生成する場合について説明する。ここで、F1は、ぱちんこ遊技機100の電源がオンされた際に、セットされた電源オンコマンドデータおよび付随データをあらわす。また、Ec(A,B)は、暗号化演算式をあらわす。なお、暗号化演算による暗号化処理を、2回以上おこなってもよい。
【0065】
Vm=Ec(M,F1) ・・・(1)
【0066】
ここで、具体的には、たとえばM=0x35、F1=0x22であり、Ec(A,B)が、A xor B(排他的論理和)の場合、Vmは下記(2)式によって、0x17となる。
【0067】
Vm=Ec(0x35,0x22)
=0x35 xor 0x22
=0x17 ・・・(2)
【0068】
送信部315は、本発明の送信手段に相当し、認証データ生成部313が生成した認証データと、補正データ生成部314が生成した補正データを周辺基板320に送信する。送信部315は、例えば、主制御基板310から周辺基板320に送信される制御信号に認証データ又は補正データを付加することにより、認証データ又は補正データを周辺基板320に送信する。また、送信部315は、主制御基板310が初期補正データを記憶している場合、ぱちんこ遊技機100の起動時等に周辺基板320に当該初期補正データを送信する。
【0069】
なお、ぱちんこ遊技機100は、同一の機種でも例えば大当たり確率の異なる複数種類のスペックが存在しており、その場合はプログラムデータが部分的に異なっている。そのために、そのスペックによる差分を吸収するデータを初期補正データとし、主制御基板310がぱちんこ遊技機100の起動時等に初期補正データを周辺基板320に送信することで、異なるスペックのプログラムデータ等の相違を吸収することができる。
【0070】
続いて、上述した演出制御部202や賞球制御部203などの周辺部としての機能を有する周辺基板320の機能的構成について説明する。図3に示すように、周辺基板320は、受信部321、期待値記憶部322、認証部323、補正部324を有して構成される。
【0071】
受信部321は、本発明の受信手段に相当し、主制御基板310によって送信された認証データや補正データを受信する。受信部321は、例えば、認証データや補正データが付加された制御信号を受信することによって、認証データや補正データを主制御基板310から受信する。また、受信部321は、初期補正データを主制御基板310から受信する。
【0072】
期待値記憶部322は、本発明の期待値データ記憶手段に相当し、前記複数種類の補正タイミングの各々に対応した前記期待値データを複数記憶する。即ち、ぱちんこメーカー等がぱちんこ遊技機100に対して複数種類の選択パターン毎に所定の認証方式の認証データを予め演算し、該認証データを期待値データとして演算値記憶部322に予め記憶しておく。また、複数種類の認証方式を用いる場合、各認証方式毎に全ての選択パターンに対応した期待値データを記憶しておく。
【0073】
認証部323は、本発明の認証手段、選択パターン特定手段、補正タイミング特定手段に相当し、主制御基板310から受信した認証データと前記複数の期待値データとが一致するか否かに基づいて主制御基板310の認証を行う。より詳細には、複数の期待値データの中に認証データと一致するものがあるか否かを判定する。認証部323は、認証データと期待値データが一致する場合に主制御基板310の認証を成立させ、また、一致しない場合に不成立とする。そして、認証部323は、主制御基板310に対する認証が成立した場合、前記認証データの生成に用いられた前記選択パターンを特定し、該選択パターンに対応して定められた補正タイミングを特定する。
【0074】
補正部324は、本発明の補正手段に相当し、前記特定した補正タイミングで主制御基板310から受信した補正データに基づいて、期待値記憶部322に記憶している期待値データを補正する。また、補正部324は、受信部321で受信した初期補正データに基づいて前記期待値データを補正する。
【0075】
例えば、上述した補正データVmに基づいて補正を行う場合について説明する。まず、補正部324は、下記(3)式によって補正データVmを復元し、補正値Mを取得する。ここで、Dc(A,B)は、復号化演算式をあらわす。
【0076】
M=Dc(Vm,F1) ・・・(3)
【0077】
具体的には、たとえばVm=0x17、F1=0x22であり、Dc(A,B)が、A xor Bの場合、Mは下記(4)式によって、0x35となる。
【0078】
M=Dc(0x17,0x22)
=0x17 xor 0x22
=0x35 ・・・(4)
【0079】
つぎに、補正部324は、取得した補正値Mを用いて期待値補正処理を行う。具体的には、予め保持されていた期待値(旧期待値)が、0xACの場合、期待値補正処理によって補正された期待値(新期待値)は、下記(5)式によって0x77となる。そして、補正部324は、この0x77を主制御基板310の照合用の期待値データとして期待値記憶部322の記憶して保持する。
【0080】
0xAC(旧期待値)−0x35(補正値)=0x77(新期待値) ・・・(5)
【0081】
本実施形態では、主制御基板310のCPU211が請求項中の第1コンピュータ、周辺基板320のCPU241,281の各々が請求項中の第2コンピュータとして機能させる場合について説明する。そして、主制御基板310のROM212は、前記第1コンピュータを請求項中の決定手段、認証データ生成手段、補正データ生成手段、送信手段、等の各種手段として機能させるための主制御側認証プログラムを記憶している。また、周辺基板320のROM242、282の各々は、前記第2コンピュータを請求項中の受信手段、認証手段、選択パターン特定手段、補正タイミング特定手段、補正手段、等の各種手段として機能させるための周辺側認証プログラムを記憶している。即ち、主制御側認証プログラムと周辺側認証プログラムによって本発明の認証プログラムを構成している。
【0082】
なお、本実施形態では、補正データを補正タイミングに生成する場合について説明する。これに代えて、例えば補正データを起動時等に生成して記憶しておき、該補正データを用いてもよいし、または、補正データをROM212に予め記憶しておき、該補正データを用いる実施形態とすることもできる。即ち、補正タイミング毎に補正データを生成する必要はなく、このような実施形態とすれば、CPU211の処理負担を軽減することができる。
【0083】
(ぱちんこ遊技機の基本動作)
上記構成によるぱちんこ遊技機100の基本動作の一例を説明する。主制御部201は、各入賞口に対する遊技球の入賞状況を制御コマンドとして賞球制御部203に出力する。賞球制御部203は、主制御部201から出力された制御コマンドに応じて、入賞状況に対応した賞球数の払い出しを行う。
【0084】
また、主制御部201は、始動入賞口105に遊技球が入賞するごとに、対応する制御コマンドを演出制御部202に出力し、演出制御部202は、図柄表示部104の図柄を変動表示させ、停止させることを繰り返す。そして、主制御部201は、大当たりの発生が決定しているときには、対応する制御コマンドを演出制御部202に出力し、演出制御部202は、所定の図柄で揃えて変動表示を停止させるとともに、大入賞口109を開放する制御を行う。演出制御部202は、大当たり発生期間中、および大当たり発生までの間のリーチ時や、リーチ予告時などには、図柄表示部104に対して、図柄の変動表示に加えて各種の演出表示を行う。このほか、各種役物に対して特定の駆動を行ったり、ランプ261の表示状態を補正するなどの演出を行う。
【0085】
そして、主制御部201は、大当たり発生期間中に、大入賞口109を複数回開放させる。1回の開放が1ラウンドとして、例えば15回のラウンドが繰り返し実行される。1ラウンドの期間は、遊技球が大入賞口109に例えば10個入賞するまでの期間、あるいは所定期間(例えば30秒)とされている。この際、賞球制御部203は、大入賞口109に対する遊技球1個の入賞当たり、例えば15個の賞球数で払い出しを行う。ぱちんこ遊技機100は、大当たり終了後、この大当たり状態を解除し、通常の遊技状態に復帰する。
【0086】
(各制御部による処理の詳細)
次に、各制御部が行う各種処理の詳細について説明する。まず、主制御部201による演出制御部202の制御処理について説明する。なお、図4〜図9においては、演出制御部202の制御処理の手順を明確にするため、補正データ、認証データおよび付随データについては考慮しないものとする。即ち、図4〜図9の説明において、「コマンドを送信する」とは、「当該コマンドを示すデータ(制御コマンドデータ)を含む制御信号を送信する」との意味であり、例えば補正データや認証データや付随データの有無は考慮しないものとする。
【0087】
主制御部201は、図4に示すステップS401において、ぱちんこ遊技機100の電源がオンされたか否かを判定する。主制御部201は、電源がオンされていないと判定した場合(S401:No)、この判定処理を繰り返すことで、ぱちんこ遊技機100の電源がオンされるまで待機する。一方、主制御部201は、電源がオンされたと判定した場合(S401:Yes)、ステップS402の処理に移行する。
【0088】
主制御部201は、ステップS402において、演出制御部202や賞球制御部203などの各周辺部に対して電源オンコマンドを送信し、ステップS403の処理に移行する。この処理によって電源オンコマンドが送信されると、演出制御部202は、ランプ制御部251や音声制御部252、図柄表示部104のそれぞれに対して電源オン時の演出用の制御コマンド(具体的には、ランプの点灯や音声の出力、デモストレーション(デモ)画面の表示などを指示する制御コマンド)を送信する。
【0089】
主制御部201は、ステップS403において、ROM212またはRAM213に記憶している未抽選入賞回数データを参照して、未抽選入賞回数が0回か否かを判別する。未抽選入賞回数とは、始動入賞口105に検出された入賞球の数(入賞回数)から、入賞球に対応する抽選が行われた回数(既抽選回数)を減じた数である。そして、主制御部201は、未抽選入賞回数が0回ではないと判定した場合(S403:No)、ステップ410の処理に移行する。一方、主制御部201は、未抽選入賞回数が0回であると判定した場合(S403:Yes)、ステップS404において、デモが開始されてから経過した時間を計測し、ステップS405の処理に移行する。
【0090】
主制御部201は、デモが開始されてから所定時間が経過したか否かを判定する。主制御部201は、デモが開始されてから所定時間が経過していないと判定した場合(S405:No)、ステップS407の処理に移行する。一方、主制御部201は、デモが開始されてから所定時間が経過したと判定した場合(S405:Yes)、ステップS406において、演出制御部202に客待ちデモコマンドを送信し、ステップS407の処理に移行する。
【0091】
主制御部201は、ステップS407において、始動入賞口検出部221によって入賞球が検出されたか否かを判定する。主制御部201は、入賞球が検出されていないと判定した場合(S407:No)、ステップS404の処理に戻り、一連の処理を繰り返す。一方、主制御部201は、入賞球が検出されたと判定した場合(S407:Yes)、ステップS408において、デモが開始されてから計測していた時間をクリアし、ステップS409において、未抽選入賞回数に1を加算し、ステップS410の処理に移行する。そして、主制御部201は、ステップS410において、大当たり判定用乱数を取得し、ステップS411において、未抽選入賞回数から1を減算し、図5に示すステップS412の処理に移行する。
【0092】
主制御部201は、ステップS412において、大当たり判定用乱数が大当たり乱数であるか否かを判定する。主制御部201は、大当たり乱数であると判定した場合(S412:Yes)、ステップS413において、演出制御部202に大当たりリーチコマンド(図柄変動コマンド)を送信する。そして、主制御部201は、ステップS414において、図柄変動時間が経過したか否かを判定する。主制御部201は、図柄変動時間が経過していないと判定した場合(S414:No)、この判定処理を繰り返すことで、図柄変動時間が経過するのを待つ。一方、主制御部201は、図柄変動時間が経過したと判定した場合(S414:Yes)、ステップS415において、演出制御部202に図柄停止コマンドを送信し、ステップS416の処理に移行する。
【0093】
主制御部201は、ステップS416において、演出制御部202に大当たり開始コマンドを送信し、続けて、ステップS417において、大当たり中の各ラウンドに対応するコマンド(大当たりコマンド)を演出制御部202に順次送信する。そして、主制御部201は、全てのラウンドの大当たりコマンドの送信が終了すると、ステップS418において、大当たり終了コマンドを演出制御部202に送信し、ステップS422の処理に移行する。
【0094】
また、主制御部201は、ステップS412において、大当たり乱数ではないと判定した場合(S412:No)、ステップS419において、はずれリーチコマンド(図柄変動コマンド)を演出制御部202に送信し、ステップS420の処理に移行する。そして、主制御部201は、ステップS420において、図柄変動時間が経過したか否かを判定する。主制御部201は、図柄変動時間が経過していないと判定した場合(S420:No)、この判定処理を繰り返すことで、図柄変動時間の経過を待つ。一方、主制御部201は、図柄変動時間が経過したと判定した場合(S420:Yes)、ステップS421において、図柄停止コマンドを演算制御部202に送信し、ステップS422の処理に移行する。
【0095】
主制御部201は、ステップS422において、ぱちんこ遊技機100の電源がオフされたか否かを判定する。主制御部201は、電源がオフされていないと判定した場合(S422:No)、図4に示すステップS403の処理に戻り、一連の処理を繰り返す。一方、主制御部201は、電源がオフされたと判定した場合(S422:Yes)、ステップS423において、終了処理コマンドを演出制御部202に送信し、本フローチャートによる処理を終了する。
【0096】
次に、ぱちんこ遊技機100における大当たり関連コマンド(大当たりリーチコマンド、大当たり開始コマンド、大当たりコマンド、大当たり終了コマンド)の主制御部201から演出制御部202に対する送信タイミングの一例を、図6の図面を参照して説明する。
【0097】
大当たりリーチコマンドは、実際に大当たりが発生するよりも頻繁に、且つランダムに送信される。また、大当たり開始コマンドは、実際に大当たりが発生した場合に、大当たり状態に移行する際に1度だけ送信される。また、大当たりコマンドは、大当たり状態に移行した後、ラウンド毎に継続的に送信される。また、大当たり終了コマンドは、大当たり状態の全てのラウンドが終了し、通常の状態に移行する際に1度だけ送信される。
【0098】
以下では、図柄変動時(大当たりリーチコマンド(図5のステップS413を参照)または、はずれリーチコマンド(図5のステップS419を参照)を受信した場合)及び、大当たり時の処理を説明する。
【0099】
まず、演出制御部202による図柄変動処理について、図7に示すフローチャートを参照して説明する。演出制御部202は、図7に示すステップS701において、主制御部201から図柄変動コマンドを受信したか否かを判定する。演出制御部202は、図柄変動コマンドを受信していないと判定した場合(S701:No)、この判定処理を繰り返すことで、図柄変動コマンドの受信を待つ。一方、演出制御部202は、図柄変動コマンドを受信したと判定した場合(S701:Yes)、ステップS702において、変動演出選択用乱数を取得し、ステップS703において、取得した乱数に基づいて変動演出の種類を選択し、ステップS704の処理に移行する。そして、演出制御部202は、ステップS704において、ランプ制御部251や音声制御部252に対して変動演出別の演出開始コマンドを送信し、ステップS705の処理に移行する。
【0100】
演出制御部202は、ステップS705において、演出時間が経過したか否かを判定する。演出制御部202は、演出時間が経過したと判定した場合(S705:Yes)、ステップS707の処理に移行する。一方、演出制御部202は、演出時間が経過していないと判定した場合(S705:No)、ステップS706において、主制御部201から図柄停止コマンドを受信したか否かを判定する。そして、演出制御部202は、図柄停止コマンドを受信していないと判定した場合(S706:No)、ステップS705の処理に戻り、一連の処理を繰り返す。一方、演出制御部202は、図柄停止コマンドを受信したと判定した場合(S706:Yes)、ステップS707において、ランプ制御部251や音声制御部252に対して演出停止コマンドを送信し、本フローチャートによる処理を終了する。
【0101】
続いて、演出制御部202による大当たり時処理について、図8に示すフローチャートを参照して説明する。演出制御部202は、図8に示すステップS801において、主制御部201から大当たり開始コマンド(図5のステップS416を参照)を受信したか否かを判定する。演出制御部202は、大当たり開始コマンドを受信していないと判定した場合(S801:No)、この判定処理を繰り返すことで、大当たり開始コマンドの受信を待つ。一方、演出制御部202は、大当たり開始コマンドを受信したと判定した場合(S801:Yes)、ステップS802において、ランプ制御部251や音声制御部252に対して大当たり開始処理コマンドを送信し、ステップS803の処理に移行する。
【0102】
演出制御部202は、ステップS803において、主制御部201からラウンド別の大当たりコマンド(図5のステップS417を参照)を受信したか否かを判定する。演出制御部202は、大当たりコマンドを受信していないと判定した場合(S803:No)、この判定処理を繰り返すことで、大当たりコマンドの受信を待つ。一方、演出制御部202は、大当たりコマンドを受信したと判定した場合(S803:Yes)、ステップS804において、ランプ制御部251や音声制御部252に対して受信したラウンド別の大当たりコマンドに対応するラウンド別処理コマンドを送信し、ステップS805の処理に移行する。
【0103】
演出制御部202は、ステップS805において、主制御部201から大当たり終了コマンド(図5のステップS418を参照)を受信したか否かを判定する。演出制御部202は、大当たり終了コマンドを受信していないと判定した場合(S805:No)、この判定処理を繰り返すことで、大当たり終了コマンドの受信を待つ。一方、演出制御部202は、大当たり終了コマンドを受信したと判定した場合(S805:Yes)、ステップS806において、ランプ制御部251や音声制御部252に対して大当たり終了処理コマンドを送信し、本フローチャートによる処理を終了する。
【0104】
続いて、ランプ制御部251によるランプ制御処理について、図9に示すフローチャートを参照して説明する。ここでは、演出制御部202から演出開始コマンドを受信した場合(図柄変動時)の処理について説明する。そして、ランプ制御部251は、図9に示すステップS901において、演出制御部202から演出開始コマンドを受信したか否かを判定する。ランプ制御部251は、演出開始コマンドを受信していないと判定した場合(S901:No)、この判定処理を繰り返すことで、演出開始コマンドの受信を待つ。一方、ランプ制御部251は、演出開始コマンドを受信したと判定した場合(S901:Yes)、ステップS902において、コマンド別に予め用意されているコマンド別データを読み出し、ステップS903の処理に移行する。
【0105】
ランプ制御部251は、ステップS903において、コマンド別の選択ルーチンを実行し、ステップS904において、受信した演出開始コマンドに対応したランプデータをセットし、ステップS805において、ランプ261に対してランプデータを出力し、ステップS906の処理に移行する。そして、この処理によってランプ261は、ランプデータに基づいて点灯又は消灯する。
【0106】
ランプ制御部251は、ステップS906において、演出制御部202から演出停止コマンドを受信したか否かを判定する。ランプ制御部251は、演出停止コマンドを受信していないと判定した場合(S906:No)、この判定処理を繰り返すことで、演出停止コマンドの受信を待つ。一方、ランプ制御部251は、演出停止コマンドを受信したと判定した場合(S906:Yes)、ステップS907において、ランプデータの出力を停止し、本フローチャートによる処理を終了する。
【0107】
なお、図9にはランプ制御部251の処理を記載したが、音声制御部252による音声制御も、図9の処理とほぼ同様である。音声制御部252による音声制御処理は、例えば、図9の処理において、ステップS904、S905、S907の「ランプデータ」を「音声データ」と読み替えればよい。
【0108】
このように、演出制御部202や賞球制御部203などの周辺部は、主制御部201によって出力された制御コマンドに基づいて各種の処理を行う。一方、例えば、主制御部201と周辺部との間に不正な制御基板が接続された場合などのように、制御コマンドの出力元が正規の主制御部201ではない場合、周辺部は不正な制御基板から出力された不正な制御コマンドによって不正な動作を行ってしまう。
【0109】
このような不正を防止するため、本実施の形態に係るぱちんこ遊技機100では、主制御部201と周辺部との間で認証処理を行う。より詳細には、周辺部を認証者、主制御部201を被認証者とした認証処理を行い、主制御部201から送信される制御信号の正当性を認証する。この認証処理に用いる認証値(認証データ)は、主制御部201に記憶されているデータ群の中から選択した所定データに基づいて生成されている。この認証処理によって、主制御部201が不正な制御基板に交換されたり、主制御部201と周辺部との間に不正な制御基板が取り付けられるなどの不正を検知して、ぱちんこ遊技機100への不正を防止することができる。
【0110】
まず、主制御部201が認証データ又は補正データを制御コマンドデータに付加して送信する。認証データ又は補正データを制御コマンドデータに付加することによって、認証データ単体で送信する場合と比較して、主制御部201と周辺部との間の通信付加の増大を抑えている。また、認証データ又は補正データを制御コマンドデータに付加することによって、認証データ又は補正データを単体で送信する場合と比較して、通信データ中から認証データ又は補正データが抽出され、解析されてしまう可能性を低減させている。以下に認証データ又は補正データと制御コマンドデータを含む制御信号のフォーマットについて説明する。
【0111】
(制御信号のデータフォーマット)
次に、主制御部201が出力する通常の制御信号、認証データ付制御信号、及び、補正データ付制御信号の一例を説明する。
【0112】
図10に示すように、主制御部201が出力する通常の制御信号1010には、制御コマンドデータ1001および付随データ1002が含まれている。制御コマンドデータ1001は、たとえば大当たりリーチコマンドや大当たり開始コマンド、ラウンド別コマンドなどの各コマンド固有のデータである。また、付随データ1002は、制御コマンドデータ1001に付随するデータであり、たとえば、入賞した遊技球の数など制御コマンドデータ1001に基づく処理に必要なデータである。
【0113】
一方、主制御部201は、制御信号内の制御コマンドデータ1001が特定の種類のコマンドである場合、制御コマンドデータ1001及び付随データ1002に加え、認証データ1003または補正データ1004を含んだ、認証データ付制御信号1020または補正データ付制御信号1030を周辺基板に出力する。具体的には、主制御部201は、制御コマンドデータ1001が電源オンコマンドである場合に、補正データ1004を含んだ制御信号を周辺基板320に出力し、制御コマンドデータ1001が所定の制御コマンドである場合に、認証データ1003を含んだ制御信号を周辺基板320に出力する。
【0114】
なお、認証データ1003を含んだ制御信号を出力するのは、所定の種類の制御コマンドでもよいし、コマンドの種類に関わらず電源オンコマンドから所定回数目のコマンドでもよい。また、所定の制御コマンドの全てに認証データ1003を付加してもよいし、所定の制御コマンドのうちのいずれかに認証データ1003を付加してもよい。具体的には、たとえば、補正データ1004の付加された電源オンコマンドによって電源が投入されてから、電源がオフされるまでの間に、少なくとも1つ以上の制御コマンドに認証データ1003を付加すればよい。好適には、たとえば、大当たり状態などの不正がおこなわれる可能性の高い状態になる前の制御コマンドに認証データ1003を付加すればよい。
【0115】
このように、認証データ1003または補正データ1004を制御信号に含めることによって、認証データ単体または補正データ単体で送信する場合と比較して、主制御部201と周辺部との間の通信負荷を減らすことができる。また、認証データ1003または補正データ1004を制御信号に含めることによって、認証データ1003または補正データ1004を単体で送信する場合と比較して、通信データ中から認証データ1003または補正データ1004が抽出され、解析されてしまう可能性を低減することができる。また、認証処理は、所定の制御コマンドを送信するときにのみ行われるため、全ての制御コマンドを送信するときに認証処理を行うのと比べると、認証処理による主制御基板310や周辺基板320の処理負荷を減らすことができる。
【0116】
認証データ1003は、周辺部が保持している期待値データと照合することで、制御コマンドデータ1001および付随データ1002が正規の主制御部201から出力されたものであることを、認証するためのデータである。認証データ1003は、たとえば、主制御部201のROM212に記録されたプログラムデータを元に生成された値である。より具体的には、認証データ1003は、たとえば、ROM212に記録されたプログラムデータの全てまたは一部に対して、ハッシュ関数による演算やパリティチェック、巡回冗長検査(Cyclic Redundancy Check:CRC)、チェックサムなどの、誤り検出演算をおこなって得られた値(以下、「プログラムコード認証値」という)を、所定の暗号化方式で暗号化した値である。
【0117】
このように、認証データ1003は、主制御部201のROM212に記録されたプログラムデータを用いて生成される。このため、周辺部は、認証データ1003を期待値データと照合させることで認証を行うことによって、制御信号の出力元が正規の主制御部201であるか否かを判断することができる。また、主制御部201のROM212に記録されたプログラムコードの不正な書き換えや、主制御部201のROM212の不正な取り替えなどを検出することができる。よって、本実施の形態では、ROM212に記憶しているプログラムデータが請求項中のデータ群に相当することから、ROM212が請求項中のデータ群記憶手段として機能する。
【0118】
なお、主制御部201は、それぞれの制御信号に対して異なる認証データ1003を生成するものとする。具体的には、たとえば、認証データ1003を生成するために用いるROM212内のプログラムコードの範囲を異ならせたり、認証データ1003を生成するための誤り検出演算を異ならせるようにする。また、認証データ1003を生成するにあたって用いるデータは、プログラムコードに限らず、ROM212に記録された任意のデータであってもよい。
【0119】
また、補正データ1004は、上述した補正データVmであり、周辺部において主制御部201から送信されたデータの照合に用いる期待値データを補正するためのデータである。補正データ1004は、たとえば主制御部201に固有の値を元に生成された値である。補正データ1004は、複数種類の期待値データの全てを1つで対応する場合について説明する。
【0120】
補正データ1004は、主制御部201が複数ある場合、それぞれの主制御部201を識別可能な値であり、たとえば、主制御部201が他の主制御部201に補正された場合、周辺部に保持された補正前の主制御部201に応じた期待値データを、補正後の他の主制御部201に応じた期待値に補正するための値である。より具体的には、補正データ1004は、主制御部201が他の主制御部201に補正された場合、補正される前の主制御部201に設定されていた固有の値と、補正された後の他の主制御部201に設定されている固有の値との差分である。なお、補正データ1004は、たとえば、認証データ1003と同様に、主制御部201のROM212に記録されたプログラムデータを元に生成された値でもよい。
【0121】
また、認証データ1003や補正データ1004には、認証データ1003や補正データ1004とともに送信される制御コマンドデータ1001や付随データ1002に関するデータを含ませてもよい。制御コマンドデータ1001や付随データ1002に関するデータとは、制御コマンドデータ1001や付随データ1002そのものや、制御コマンドデータ1001や付随データ1002に対して上述したような誤り検出方式を用いた演算をおこなって得られた値などである。
【0122】
一般に、不正な制御基板は、正規の主制御部201と異なる制御コマンドを送信することによって、周辺部に不正な動作をおこなわせようとする。認証データ1003や補正データ1004とともに送信する制御コマンドデータ1001や付随データ1002を用いて認証データ1003や補正データ1004を生成すれば、不正な制御基板によって認証データ1003や補正データ1004が再利用された場合であっても、認証データ1003や補正データ1004と制御コマンドデータ1001の整合がとれず、不正を検知することができる。
【0123】
認証データ1003や補正データ1004に制御コマンドデータ1001や付随データ1002に関するデータを含ませる場合、主制御部201は制御コマンドデータ1001や付随データ1002に関するデータとプログラムコード認証値とを合わせて暗号化して、認証データ1003や補正データ1004を生成する。
【0124】
なお、制御コマンドデータ1001、付随データ1002、認証データ1003または補正データ1004の並び方は、図10に示す順番に限らず、たとえば認証データ1003または補正データ1004を制御信号の先頭にしたり、制御コマンドデータ1001と付随データ1002との間に認証データ1003または補正データ1004を挿入したりしてもよい。
【0125】
(認証データの生成方法)
図11において、認証データ1003は、主制御部201のROM212などのプログラムデータ格納部1100に格納されたデータ群1100aに基づいて生成する。プログラムデータ格納部1100は、ROM212内の記憶領域に対して予め定められた所定の格納領域となっている。データ群1100aは、プログラムデータ格納部1100に格納された複数のデータの集まり、即ち、プログラムデータとなっている。本実施形態のデータ群1100aは、ROM212に記憶されたプログラムデータ(命令データや固定データなど)を任意に用いている。そして、主制御部201のROM212に記憶されたプログラムデータをデータ群1100aとして用いることによって、主制御部201のROM212の不正な取り替えなどがあった場合、正規の選択データを生成することができないため、プログラムコードの不正な書き換えや不正を検知又は防止することを可能としている。
【0126】
主制御部201は、ぱちんこ遊技機100において予め定められた複数種類の選択パターンをROM212等に記憶しており、該複数種類の選択パターンの各々には異なる補正タイミングが割り振られている。例えば、「直ちに送信」、「1送信目」、「2送信目」の3つの補正タイミングの場合、2つの選択パターンを設定する。これは、「直ちに送信」の場合は、周辺部が補正タイミングを特定する必要がないためである。また、図12に示すように、「1送信目」=選択パターンP1、「2送信目」=選択パターンP2と設定することができる。ここで、1送信目は認証データ1003を送信した後の1回目の送信、2送信目は認証データ1003を送信した後の2回目の送信を意味している。
【0127】
なお、本実施形態では、補正タイミングを1送信目、2送信目とする場合について説明するが、これに代えて、種々異なる実施形態とすることができる。例えば、補正タイミングを、特定の制御コマンドの送信回数、送信時間、等とすることもできる。また、補正タイミングが3つ以上ある場合、その補正タイミングの各々に異なる選択パターンを設定することになる。
【0128】
また、主制御部201は、選択パターンを決定すると、該選択パターンでデータ群1100aの中から複数の所定データ1100bを抽出し、該複数の所定データ1100bに基づいて所定の認証方式に対応した認証データを生成する。なお、認証方式としては、例えば、チェックサム、パリティチェック、ハミングコードチェック、CRC(巡回冗長検査)、等の公知の誤り検出方法を認証方式として用いることができる。また、認証データを暗号化するか否かは任意であるが、暗号化することによって不正な制御基板による選択データの再利用、解析などの防止が期待できるため、不正防止の観点から暗号化することが望ましい。
【0129】
ここで、例えば、図11に示すプログラムデータ格納部1100には、12個のデータ(0x01〜0x09,0x0A〜0x0C)がデータ群1100aとして格納されている。本実施形態では、説明を簡単化するために、上述した2種類の選択パターンP1,P2を用いる場合について説明する。
【0130】
選択パターンP1は、プログラムデータ格納部1100における奇数番地のデータを選択するためのパターンデータとなっている。図11における選択パターンP1は、0x01,0x03,0x05,0x07,0x09,0x0Bの6つのデータを所定データ1100bとして選択させるためのパターンデータとなっている。また、選択パターンP2は、プログラムデータ格納部1100における偶数番地のデータを選択するためのパターンデータとなっている。図11における選択パターンP2は、0x02,0x04,0x06,0x08,0x0A,0x0Cの6つのデータを所定データ1100bとして選択させるためのパターンデータとなっている。
【0131】
主制御部201は、認証方式がチェックサムである場合、選択パターンP1に対応する所定データ1100bである、0x01,0x03,0x05,0x07,0x09,0x0Bの全てを加算した0x24を認証データ1003として生成する。また、主制御部201は、今回の認証方式がチェックサムである場合、選択パターンP2に対応する所定データ1100bである、0x02,0x04,0x06,0x08,0x0A,0x0Cの全てを加算した0x2Aを認証データ1003として生成する。このように主制御部は、他の認証方式についても、選択パターンP1,P2の各々に対応した所定データ1100bに基づいて認証データ1003の演算を行う。
【0132】
一方、認証者である周辺部は、それらの正規の認証データ1003に対応した期待値データを、上述した選択パターンP1,P2に関連付けてROM242,282等に予め記憶している。期待値データは複数種類の補正タイミングの各々に対応して生成されるので、データ群1100aの所定データ1100bに基づいて所定の認証方式で生成された認証データであれば、複数種類の期待値データの中に一致する期待値データが存在するはずである。よって、一致する期待値データが存在する場合は、認証データ1003は正規のものであり、周辺部は主制御部201を認証する。これに対し、一致する期待値データが存在しない場合は、認証データ1003は不正なものであり、周辺部は制御部201を認証しない。そして、各期待値データは、選択パターンP1,P2に対応しているので、認証データと一致した期待値データから、該期待値データに対応した選択パターンP1,P2を特定することができる。また、周辺部は、選択パターンP1,P2と上述した補正タイミングとを関連付けてROM242,282等に予め記憶している。よって、周辺部は、特定した選択パターンP1,P2から1つの補正タイミングを特定することができる。
【0133】
なお、本実施形態では、選択パターンP1,P2が、プログラムデータ格納部1100内の奇数番地と偶数番地を選択させるためのデータとした場合について説明した。これに代えて、選択パターンP1,P2を、それぞれの所定データを抽出するためのパターンテーブル、抽出プログラムデータ、等として構成することができる。さらに、データ抽出パターンは、プログラムデータ格納部1100内の全体や部分的なアドレス範囲からデータを抽出するためのデータとするなど種々異なる実施形態とすることができる。また、上述したプログラムデータ格納部1100内のデータ数は例示であり、データ数は固定値としてもよいし、ランダムに決定してもよい。
【0134】
また、主制御部201から周辺部に対して、認証データ付制御信号1020を出力するタイミングは任意である。例えば、所定時間毎に認証データ付制御信号1020を出力してもよいし、常に認証データ付制御信号1020を出力してもよい。また、例えば制御信号内の制御コマンドデータ1001が特定の種類のコマンドである場合に、認証データ1003を付加するようにしてもよい。
【0135】
なお、本実施形態では、2種類の選択パターンP1,P2を用いる場合について説明するが、選択パターンは3種類以上とすることもできる。具体的には、上述した選択パターンP1,P2の他に、図11に示す0x01〜0x06を3番目の選択パターンとし、0x07〜0x0Cを4番目の選択パターンとし、0x01〜0x0Cを5番目の選択パターンとする、などが一例として挙げられる。
【0136】
(制御信号の送受信に関する処理)
以下に、主制御部201と周辺部との間で行う制御信号の通信例を説明する。まず、主制御201のCPU211(第1コンピュータ)による制御信号の送信手順の一例を、図13のフローチャートを参照して説明する。
【0137】
主制御部201は、ステップS1201において、ぱちんこ遊技機100の電源がON(投入)されたか否かを判定する。主制御部201は、電源がONされていないと判定した場合(S1201:No)、この判定処理を繰り返すことで、電源がONされるのを待つ。一方、主制御部201は、電源がONされたと判定した場合(S1201:Yes)、ステップS1202の処理に進む。
【0138】
主制御部201は、ステップS1202において、起動時の補正タイミングである「1送信目」を決定してRAM213に記憶し、ステップS1203において、制御コマンドデータ1001(電源オンコマンドデータ)、付随データ1002、及び、初期補正データをセットして、それらのデータからなる補正データ付制御信号1030を演出制御部202(周辺部)に送信し、ステップS1204の処理に進む。
【0139】
主制御部201は、ステップS1204において、制御コマンドの送信タイミングであるか否かを判定する。主制御部201は、送信タイミングではないと判定した場合(S1204:No)、ステップS1214の処理に進む。一方、主制御部201は、送信タイミングであると判定した場合(S1204:Yes)、ステップS1205の処理に進む。
【0140】
主制御部201は、ステップS1205において、送信する制御コマンドが認証データ1003を付加する所定の制御コマンドであるか否かを判定する。主制御部201は、認証データ1003付きであると判定した場合(S1205:Yes)、ステップS1206の処理に進む。
【0141】
主制御部201は、ステップS1206において、複数種類の選択パターンの中から任意に決定した1つの選択パターンで前記データ群1100aから所定データ1100bを選択し、該選択した所定データ1100bに基づいて所定の認証方式の認証データ1003を生成してRAM213に記憶し、その後ステップS1207の処理に進む。そして、主制御部201は、ステップS1207において、前記生成した認証データ1003と制御コマンドデータに基づいて認証データ付制御信号1020を生成して周辺部に対して送信し、その後ステップS1208の処理に進む。
【0142】
主制御部201は、ステップS1208において、補正データ1104を生成するか否かを判定する。ここで、補正データ1104を生成するか否かの判定方法の一例としては、期待値データの補正を行う新たな補正事象が発生したか否か等に基づいて判定する。そして、主制御部201は、補正データ1104を生成しないと判定した場合(S1208:No)、ステップS1214の処理に進む。
【0143】
一方、主制御部201は、補正データ1104を生成すると判定した場合(S1208:Yes)、ステップS1209において、複数種類の補正タイミングの中から今回の補正タイミング、即ちステップS1206で決定した選択パターンに対応した補正タイミングを決定してRAM213等に記憶する。続いて、主制御部201は、ステップS1210において、期待値データを補正するための補正データを生成し、該補正データを前記決定した補正タイミングに関連付けてRAM213に記憶し、その後ステップS1214の処理に進む。
【0144】
主制御部201は、ステップS1205で認証データ1003付きではないと判定した場合(S1205:No)、ステップS1211において、RAM213に補正タイミングが記憶されているか否かに基づいて、補正タイミングであるか否かを判定する。そして、主制御部201は、補正タイミングであると判定した場合(S1211:Yes)、ステップS1212において、前記生成した補正データ1004と制御コマンドに基づいて補正データ付制御信号1030を生成して周辺部に対して送信し、その後ステップS1214の処理に進む。一方、主制御部201は、補正タイミングではないと判定した場合(S1211:No)、ステップS1213において、制御コマンドに対応した通常の制御信号1010を生成して周辺部に対して送信し、その後ステップS1214の処理に進む。
【0145】
主制御部201は、ステップS1214において、ぱちんこ遊技機100の電源がオフされたか否かを判定する。そして、主制御部201は、電源がオフされていないと判定した場合(S1214:No)、ステップS1204の処理に戻り、一連の処理を繰り返す。一方、主制御部201は、電源がオフされたと判定した場合(S1214:Yes)、本フローチャートによる処理を終了する。
【0146】
続いて、周辺部のCPU241,281(第2コンピュータ)による各種制御信号の受信処理の手順を、図14のフローチャートを参照して説明する。
【0147】
周辺部は、ステップS1301において、主制御部201から制御信号を受信したか否かを判定する。周辺部は、制御信号を受信していないと判定した場合(S1301:No)、この判定処理を繰り返すことで、制御信号の受信を待つ。一方、周辺部は、制御信号を受信したと判定した場合(S1301:Yes)、ステップS1302の処理に移行する。
【0148】
周辺部は、ステップS1302において、RAM243,283の補正タイミングに基づいて、補正タイミングであるか否かを判定する。なお、補正タイミングの判定方法の一例としては、主制御基板310の送信回数をカウントしたり、制御信号に送信通し番号を付加して判定する、等の種々異なる方法を用いることができる。そして、周辺部は、補正タイミングであると判定した場合(S1302:Yes)、ステップS1303において、受信した制御信号から補正データ1004を抽出し、該補正データ1004を用いて演出制御部202等に保持されている期待値データを補正し、その後ステップS1309の処理に進む。一方、周辺部は、補正タイミングではないと判定した場合(S1302:No)、ステップS1304の処理に進む。
【0149】
周辺部は、ステップS1304において、受信した制御信号に認証データ1003が含まれているか否かを判定する。そして、周辺部は、認証データ1003が含まれていないと判定した場合(S1304:No)、ステップS1309の処理に進む。一方、周辺部は、認証データ1003が含まれていると判定した場合(S1304:Yes)、ステップS1305の処理に進む。
【0150】
周辺部は、ステップS1305において、認証データ付制御信号1020に含まれた認証データ1003と予め記憶している複数の期待値データの各々とを照合し、認証データ1003と期待値データとが一致するか否かを判定する。そして、周辺部は、期待値データと一致すると判定した場合(1305:Yes)、ステップS1306において、主制御部201に対する認証を成立させ、その後ステップS1307の処理に進む。
【0151】
周辺部は、ステップS1307において、認証データ1003と一致した期待値データに対応する選択パターンを特定し、ステップS1308において、該特定した選択パターンに対応する補正タイミングを特定してRAM243,283等に記憶し、その後ステップS1309の処理に進む。そして、周辺部はステップS1309において、受信した制御信号に含まれている制御コマンドデータ1001および付随データ1002に基づく処理を行い、その後ステップS1301の処理に戻り、一連の処理を返す。
【0152】
また、周辺部は、ステップS1305で期待値データと一致しないと判定した場合(S1305:No)、ステップS1310において、主制御部201に対する認証を不成立とし、ステップS1311において、制御コマンドデータ1001及び付随データ1002を破棄するとともに、例えばスピーカ262(図2参照)等から報知信号を出力して、本フローチャートによる処理を終了する。
【0153】
(期待値データの補正方法の具体例)
次に、ぱちんこ遊技機100において、2つの補正タイミングで期待値データを補正する場合の一例を、図15乃至図17の図面を参照して説明する。なお、2つの補正タイミングは、上述した図12に示す補正タイミングとする。
【0154】
まず、ぱちんこ遊技機100の起動においては、図15に示すように、主制御基板310が起動されると(S2101)、主制御基板310は補正タイミングを「直ちに送信」と特定し(S2102)、初期補正データと電源オンコマンドデータと付随データをセットして補正データ付制御信号1030を生成し(S2103)、該制御信号を周辺基板320に送信する(S2104)。
【0155】
一方、周辺基板320は、補正データ付制御信号1030を主制御基板310から受信すると(S2105)、該補正データ付制御信号1030の初期補正データを復元し(S2106)、該初期補正データに基づいて期待値データを補正する(S2107)。そして、周辺基板320は、電源オンコマンドデータ及び付随データ1002に基づく処理を行う(S2108)。
【0156】
このように、ぱちんこ遊技機100の起動時において、主制御基板310が周辺基板320に初期補正データを送信することで、周辺基板320が期待値データを補正するようにしたことから、起動時の初期処理に補正処理を組み込めるため、例えば電源がオフされている間に、主制御基板310を他の主制御基板に変更されても、認証処理よりも前に補正処理を行うことができるため、変更後の他の主制御基板を誤って不正な主制御基板であると判断することを防止できる。さらに、電源投入後の最初に補正処理が行われるため、認証処理のタイミングを設計者等の所望のタイミングで行うことができる。従って、電子機器の機種毎に最も好適なタイミングで認証処理を行わせることができるため、認証の強度をより一層上げることができる。
【0157】
次に、ぱちんこ遊技機100の通常時においては、図16に示すように、主制御基板310は予め定められた補正事象の発生を検出すると(S2201)、選択パターンP1を決定し(図12参照)、該選択パターンP1が示すデータ群1100a中の複数の所定データ1100bに基づいて、所定の認証方式の認証データ1003を生成して暗号化する(S2202)。そして、主制御基板310は、該選択パターンP1に対応した補正タイミングを「1送信目」と決定し(S2203)、上述したように補正データ1004を生成して前記決定した補正タイミングに関連付けてRAM213に記憶する(S2204)。そして、主制御基板310は、該生成した認証データ1003を含む認証データ付制御信号1020を生成して周辺基板320に送信する(S2205)。
【0158】
一方、周辺基板320は、認証データ付制御信号1020(認証データ)を受信すると(S2206)、その制御信号から認証データ1003を取得し、該認証データ1003と複数種類の期待値データとを照合する(S2207)。そして、周辺基板320は、認証データ1003と期待値データが一致すると、主制御基板310の認証を成立させ(S2208)、認証データ付制御信号1020の制御コマンドデータ1001に基づく処理を行う。そして、周辺基板320は、認証が成立すると、一致した期待値データに対応した選択パターンP1を特定し(S2209)、該選択パターンP1に対応した補正タイミング「1送信目」を特定して記憶する(S2210)。
【0159】
続いて、主制御基板310は、次の制御コマンドデータ1001が発生すると(S2211)、該制御コマンドデータ1001と付随データ1002と上記生成した補正データ1004とを含む補正データ付制御信号1030を生成して周辺基板320に送信する(S2212)。一方、周辺基板320は、補正データ付制御信号1030を受信すると(S2213)、補正データ付制御信号1030の制御コマンドデータ1001及び付随データ1002に基づく処理を行う。そして、周辺基板320は、その制御信号から補正データを取得し(S2214)、該補正データに基づいて期待値データを補正する(S2215)。
【0160】
次に、ぱちんこ遊技機100の通常時においては、図17に示すように、主制御基板310は予め定められた補正事象の発生を検出すると(S2301)、選択パターンP2を決定し(図12参照)、該選択パターンP2が示すデータ群1100a中の複数の所定データ1100bに基づいて、所定の認証方式の認証データ1003を生成して暗号化する(S2302)。そして、主制御基板310は、該選択パターンP2に対応した補正タイミングを「2送信目」と決定し(S2303)、上述したように補正データ1004を生成して前記決定した補正タイミングに関連付けてRAM213に記憶する(S2304)。そして、主制御基板310は、該生成した認証データ1003を含む認証データ付制御信号1020を生成して周辺基板320に送信する(S2305)。
【0161】
一方、周辺基板320は、認証データ付制御信号1020(認証データ)を受信すると(S2306)、その制御信号から認証データ1003を取得し、該認証データ1003と複数種類の期待値データとを照合する(S2307)。そして、周辺基板320は、認証データ1003と期待値データが一致すると、主制御基板310の認証を成立させ(S2308)、認証データ付制御信号1020の制御コマンドデータ1001に基づく処理を行う。そして、周辺基板320は、認証が成立すると、一致した期待値データに対応した選択パターンP2を特定し(S2309)、該選択パターンP2に対応した補正タイミング「2送信目」を特定して記憶する(S2310)。
【0162】
続いて、主制御基板310は、次の制御コマンドデータ1001が発生すると(S2311)、補正タイミング「2送信目」ではないことから、該制御コマンドデータ1001と付随データ1002とを含む通常の制御信号1010を生成して周辺基板320に送信する(S2312)。一方、周辺基板320は、補正データ付制御信号1030を受信すると(S2313)、補正タイミング「2送信目」であるか否かを判定する。そして、周辺基板320は、補正タイミング「2送信目」ではないためと判定し、通常の制御信号1010の制御コマンドデータ1001及び付随データ1002に基づく処理を行う。
【0163】
続いて、主制御基板310は、次の制御コマンドデータ1001が発生すると(S2315)、補正タイミング「2送信目」であることから、該制御コマンドデータ1001と付随データ1002と上記生成した補正データ1004とを含む補正データ付制御信号1030を生成して周辺基板320に送信する(S2316)。一方、周辺基板320は、補正データ付制御信号1030を受信すると(S2317)、補正データ付制御信号1030の制御コマンドデータ1001及び付随データ1002に基づく処理を行う。そして、周辺基板320は、その制御信号から補正データを取得し(S2218)、該補正データに基づいて期待値データを補正する(S2219)。
【0164】
なお、上述した実施形態では、認証データの暗号化に際して単一の暗号化方法を用いたが、認証データの認証方式と同様に複数種類の暗号化方法を切り替えて用いてもよい。これにより、不正解析者によって認証データが解析される可能性をより一層低減させることができる。
【0165】
以上説明したぱちんこ遊技機100は、主制御部201のみが知っている選択パターンP1,P2の所定データ1100bを用いて認証データ1003を生成すると共に、複数種類の選択パターンP1,P2の各々に複数種類の補正タイミングを割り当てるようにしたことから、認証データ1003は選択パターンP1,P2に応じて変化するため、不正解析者は選択パターンP1,P2を解析できない限り、補正データ1004に対応した補正タイミングを解析することはできない。また、主制御部201は認証データ1003の生成に用いる選択パターンP1,P2を切り替えることで、複数種類の補正タイミングを切り替えることができるため、不正解析者による不正な解析をより一層困難にすることができると共に、認証データ1003を生成する既存の処理に容易に組み込むことができる。そして、周辺部の期待値データを補正することで、主制御部201と周辺部との間に不正な制御部が介在しても、周辺部によって該不正な制御部が認証されることをより一層確実に防止できる。従って、不正解析者は主制御部201が決定した選択パターンP1,P2を解析して補正タイミングを解析できない限り、正規な制御部201の改ざん及び正規な主制御部201と周辺部との間に不正な制御部が介在されることを防止できるとともに、認証の強度を上げることができる。
【0166】
また、該ぱちんこ遊技機100によれば、認証データ1003及び補正データ1004を制御コマンドデータ1001に付加して送信することができるため、認証データ1003及び補正データ1004を単体で送信する場合と比較して、主制御部201と周辺部との間の通信負荷の増大を抑えることができる。従って、主制御部201から周辺部に送信する認証データ1003及び補正データ1004の送信回数を増大させることができ且つ補正タイミングの検出を困難にすることができるため、不正解析者によって解析されてしまう可能性を低減することができる。
【0167】
さらに、上述したぱちんこ遊技機100において、今回送信する制御コマンドデータ1001を用いて認証データを生成するようにすれば、不正な制御部によって認証データ1003が再利用された場合であっても、認証データ1003と制御コマンドの整合性がとれず、不正を検知することができる。一般に、不正な制御部は、正規の主制御部201と異なる制御コマンドを送信することによって、周辺部に不正な動作を行わせようとすることから、このような不正な制御部の介在の防止に貢献することができる。
【0168】
(主制御基板および周辺基板の他の機能的構成)
上述した図3に示す主制御基板310と周辺基板320においては、主制御基板310の決定部312が選択パターンを決定する場合について説明した。これに代えて、決定部312が上述した補正タイミングを決定する実施形態とすることも可能であり、その一例を以下に説明する。なお、上述した主制御基板310と周辺基板320との基本構成は図3に示すものと同一であるため、異なる構成である主制御基板310の決定部312と認証データ生成部313と補正データ生成部314の構成を説明する。
【0169】
主制御基板310の決定部312は、本発明の決定手段に相当し、認証データの作成に用いる所定データを、前記データ群の中から選択するための互いに異なる複数種類の選択パターンの各々に対応した複数種類の補正タイミングの中から、周辺基板320の期待値データを補正する補正タイミングを決定する。複数種類の選択パターンとは、主制御基板310と周辺基板320との間で予め定められた相異なる複数種類の選択パターンであり、複数種類の認証方式の各々に一対一に対応している。そして、各選択パターンは、データ群の中から選択する所定データのアドレスデータ、所定データのアドレス範囲を示すテーブルデータ、等のデータを有して構成している。決定部312は、前記期待値データを補正する時、ぱちんこ遊技機100の起動時、等に、補正データを周辺基板320に送信するタイミングを複数種類の補正タイミングの中から決定する。そして、補正タイミングとしては、後述する認証データ付制御信号を送信してからの送信回数、送信時間、等が挙げられる。
【0170】
主制御基板310が決定する補正タイミングは主制御基板310のみが知る値であり、認証データの作成に用いた選択パターンが判明しない限り、不正解析者は補正タイミングを知ることはできない。これにより、主制御基板310と周辺基板320との間に不正な制御部が挿入されたことを検知することができ、不正な制御部による不正な処理を防止することができる。
【0171】
認証データ生成部313は、本発明の認証データ生成手段に相当し、決定部312で決定した補正タイミングに対応した選択パターンが示す前記所定データに基づいて、予め定められた認証方式の認証データを生成する。認証方式としては、例えば、チェックサム、パリティチェック、ハミングコードチェック、CRC(巡回冗長検査)、等の公知の誤り検出方法を用いることが可能であり、複数種類の認証方式を任意のタイミングで切り替えてもよい。
【0172】
補正データ生成部314は、決定部312による補正タイミングの決定に応じて、周辺基板320で期待値データを補正するための補正データを生成する。補正データは、好適には、上述した実際の補正値とソルト値との演算結果値がよい。
【0173】
このような構成に、上述した図13に示すフローチャートを適用する場合は、ステップS1206及びS1207の処理を、ステップS1210とステップS1214との間に移動させ、ステップS1208のNoの移動先をステップS1206とすることで、実現させることができる。そして、ステップS1209及びS1207の処理を以下のように変更する。例えば、図18に示すフローチャートのステップS1206‘から1210’のように変更する。なお、その他の処理は図13と同一であるため、説明は省略する。
【0174】
主制御部201は、図18にステップS1205において、送信する制御コマンドが認証データ1003を付加する所定の制御コマンドであるか否かを判定する。主制御部201は、認証データ1003付きであると判定した場合(S1205:Yes)、ステップS1206‘の処理に進む。そして、主制御部201は、ステップS1206‘において、補正データ1104を生成するか否かを判定する。ここで、補正データ1104を生成するか否かの判定方法の一例としては、期待値データの補正を行う新たな補正事象が発生したか否か等に基づいて判定する。そして、主制御部201は、補正データ1104を生成しないと判定した場合(S1206’:No)、ステップS1209‘の処理に進む。
【0175】
一方、主制御部201は、補正データ1104を生成すると判定した場合(S1206‘:Yes)、ステップS1207’において、複数種類の補正タイミングの中から今回の補正タイミングを決定してRAM213等に記憶する。なお、補正タイミングの決定方法の一例としては、補正対象、制御コマンド等に対応して予め定められたタイミング、ランダムに定めたタイミング、補正処理の緊急度に対応したタイミング、等の種々異なるタイミングとすることができる。続いて、主制御部201は、ステップS1208‘において、期待値データを補正するための補正データを生成し、該補正データを前記決定した補正タイミングに関連付けてRAM213に記憶し、その後ステップS1209’の処理に進む。
【0176】
主制御部201は、ステップS1209‘において、補正タイミングが新たに決定した場合は、当該補正タイミングに対応した選択パターンで前記データ群1100aから所定データ1100bを選択し、該選択した所定データ1100bに基づいて所定の認証方式の認証データ1003を生成してRAM213に記憶する。また、主制御部201は、補正タイミングが新たに決定していない場合、予め定められた選択パターンで所定データ1100bを選択して上述したように認証データ1003を生成する。そして、主制御部201は、ステップS1210’において、前記生成した認証データ1003と制御コマンドに基づいて認証データ付制御信号1020を生成して周辺部に対して送信し、その後ステップS1214の処理に進む。
【0177】
以上説明したぱちんこ遊技機100は、主制御部201のみが知っている補正タイミングに対応した選択パターンP1,P2の所定データ1100bを用いて認証データ1003を生成するようにしたことから、認証データ1003は選択パターンに応じて変化するため、不正解析者は選択パターンを解析できない限り、補正データ1004による補正タイミングを解析することはできない。また、複数種類の選択パターンP1,P2を用いていることから、主制御部201は複数種類の補正タイミングを切り替えることができるため、不正解析者による不正な解析をより一層困難にすることができる。そして、周辺部の期待値データを補正することで、主制御部201と周辺部との間に不正な制御部が介在しても、周辺部によって該不正な制御部が認証されることをより一層確実に防止できる。従って、不正解析者は主制御部201が決定した選択パターンP1,P2を解析して補正タイミングを解析できない限り、正規な制御部の改ざん及び正規な主制御部と周辺部との間に不正な制御部が介在されることを防止できるとともに、認証の強度を上げることができる。
【0178】
(他の実施例)
次に、上述したぱちんこ遊技機100において、上述した制御コマンドを用いずに補正処理を実行する場合の制御方法の一例を、図19及び図20の図面を参照して以下に説明する。
【0179】
まず、主制御部201が図18に示す送信側処理を実行した場合について説明する。なお、送信側処理は、ぱちんこ遊技機100において補正事象が発生した際に主制御部201が実行することを前提とする。また、主制御部201から周辺部に送信するデータの各々は、通常、認証、補正、等の種別が識別可能なデータ構造とする。
【0180】
主制御部201は、ステップS3101において、上述したように複数種類の補正タイミングの中から今回の補正タイミングを決定してRAM213等に記憶し、ステップS3102において、補正事象に対応して期待値データを補正するための補正データを生成してRAM213等に記憶する。
【0181】
主制御部201は、ステップS3103において、決定した補正タイミングに対応した上記選択パターンP1,P2を特定し、ステップS3104において、該選択パターンP1,P2で前記データ群1100aから所定データ1100bを選択し、該選択した所定データ1100bに基づいて所定の認証方式の認証データを生成し、ステップS3105において、該生成した認証データを周辺部に送信する。
【0182】
主制御部201は、ステップS3106において、RAM213等に記憶されている補正タイミングであるか否かを判定する。主制御部201は、補正タイミングではないと判定した場合(S3106:No)、ステップS3107において、任意のタイミングで補正データとは異なるデータ(例えばダミーデータ等)を周辺部に送信し、その後ステップS3106の処理に戻る。一方、主制御部201は、補正タイミングであると判定した場合(S3106:Yes)、ステップS3108において、前記生成した補正データを周辺部に対して送信し、その後本フローチャートによる処理を終了する。
【0183】
次に、周辺部が図20に示す受信側処理を実行した場合について説明する。そして、受信側処理は、上位モジュールからの終了要求に応じて処理を終了することを前提としている。
【0184】
周辺部は、ステップS3201において、主制御部201からデータを受信したか否かを判定する。周辺部は、データを受信していないと判定した場合(S3201:No)、この判定処理を繰り返すことでデータの受信を待つ。一方、周辺部はデータを受信したと判定した場合(S3201でYes)、ステップS3202の処理に進む。
【0185】
周辺部は、ステップS3202において、受信したデータが認証データであるか否かを判定する。そして、周辺部は認証データであると判定した場合(S3202:Yes)、ステップS3203において、受信した認証データと予め記憶している複数の期待値データの各々とを照合し、認証データと期待値データとが一致するか否かを判定する。そして、周辺部は、期待値データと一致すると判定した場合(S3203:Yes)、ステップS3204において、主制御部201に対する認証を成立させ、その後ステップS3205の処理に進む。
【0186】
周辺部は、ステップS3205において、認証データと一致した期待値データに対応する選択パターンを特定し、ステップS3206において、該特定した選択パターンに対応する補正タイミングを特定してRAM243,283等に記憶し、その後ステップS3201の処理に戻り、一連の処理を繰り返す。
【0187】
また、周辺部は、ステップS3203で期待値データと一致しないと判定した場合(S3203:No)、ステップS3207において、主制御部201に対する認証を不成立とし、ステップS3208において、受信した認証データを破棄すると共に、不正な認証データを報知するための報知情報を生成して、例えばスピーカ262(図2参照)等から出力し、その後ステップS3201の処理に戻り、一連の処理を繰り返す。
【0188】
また、周辺部は、ステップS3202で認証データではないと判定した場合(S3202:No)、ステップS3209において、受信したデータが補正データであるか否かを判定する。そして、周辺部は、補正データであると判定した場合(S3209:Yes)、ステップS3210において、受信した補正データを用いて演出制御部202等に保持されている期待値データを補正し、その後ステップS3201の処理に戻り、一連の処理を繰り返す。一方、周辺部は、補正データではないと判定した場合(S3209:No)、その後ステップS3201の処理に戻り、一連の処理を繰り返す。
【0189】
このように、ぱちんこ遊技機100を構成しても、主制御部201のみが知っている補正タイミングに対応した選択パターンの所定データ1100bを用いて認証データ1003を生成できることから、認証データは選択パターンに応じて変化するため、不正解析者は選択パターンを解析できない限り、補正データによる補正タイミングを解析することはできない。また、複数種類の選択パターンを用いていることから、主制御部201は複数種類の補正タイミングを切り替えることができるため、不正解析者による不正な解析をより一層困難にすることができる。そして、周辺部の期待値データを補正することで、主制御部201と周辺部との間に不正な制御部が介在しても、周辺部によって該不正な制御部が認証されることをより一層確実に防止できる。従って、不正解析者は主制御部201が決定した選択パターンを解析して補正タイミングを解析できない限り、正規な制御部の改ざん及び正規な主制御部と周辺部との間に不正な制御部が介在されることを防止できるとともに、認証の強度を上げることができる。
【0190】
なお、本実施形態で説明した主制御部及び周辺部の制御方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、CD−ROM、MO、DVD、等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、このプログラムは、インターネット等のネットワークを介して配布することが可能な電送媒体であってもよい。
【産業上の利用可能性】
【0191】
以上のように、本発明は、制御部への不正が懸念される電子機器やその電子機器に搭載される制御基板に有用であり、特に、ぱちんこ遊技機、スロット遊技機、その他各種の遊技機に適している。
【符号の説明】
【0192】
310 主制御基板
311 データ記憶部
312 決定部
313 認証データ生成部
314 補正データ生成部
315 送信部
320 周辺基板
321 受信部
322 期待値記憶部
323 認証部
324 補正部

【特許請求の範囲】
【請求項1】
制御コマンドを送信する主制御部と、前記主制御部によって送信された制御コマンドに基づいて所定の処理を行う周辺部と、を備え、前記周辺部が、前記主制御部によって送信された認証データと予め定められた期待値データとを比較して前記主制御部の認証を行う電子機器において、
前記主制御部は、
データ群を記憶するデータ群記憶手段と、
複数種類の補正タイミングの各々に対応して設けられ且つ前記認証データの作成に用いる所定データを、前記データ群の中から選択するために設けられた互いに異なる複数種類の選択パターンの中から、1つの選択パターンを決定する決定手段と、
前記決定した選択パターンが示す前記所定データに基づいて前記認証データを生成する認証データ生成手段と、
前記決定した選択パターンに対応した前記補正タイミングに、前記周辺部の前記期待値データを補正するための補正データを生成する補正データ生成手段と、
前記生成した認証データと補正データとを前記周辺部に送信する送信手段と、を備え、
前記周辺部は、
前記複数種類の補正タイミングの各々に対応した前記期待値データを複数記憶する期待値データ記憶手段と、
前記主制御部から前記認証データと前記補正データを受信する受信手段と、
前記複数の期待値データの中に、前記受信した認証データと一致するデータが存在するか否かの判定結果に基づいて前記主制御部の認証を行う認証手段と、
前記主制御部に対する前記認証が成立した場合、前記受信した認証データの生成に用いられた前記選択パターンを特定する選択パターン特定手段と、
前記特定した選択パターンと前記複数種類の補正タイミングとを比較して前記期待値データの補正タイミングを特定する補正タイミング特定手段と、
前記主制御部から受信した前記補正データに基づいて前記特定した補正タイミングで前記期待値データを補正する補正手段と、
を備えることを特徴とする電子機器。
【請求項2】
制御コマンドを送信する主制御部と、前記主制御部によって送信された制御コマンドに基づいて所定の処理を行う周辺部と、を備え、前記周辺部が、前記主制御部によって送信された認証データと予め定められた期待値データとを比較して前記主制御部の認証を行う電子機器において、
前記主制御部は、
データ群を記憶するデータ群記憶手段と、
前記認証データの作成に用いる所定データを、前記データ群の中から選択するための互いに異なる複数種類の選択パターンの各々に対応した複数種類の補正タイミングの中から、前記期待値データを補正する補正タイミングを決定する決定手段と、
前記決定した補正タイミングに対応した前記選択パターンが示す前記所定データに基づいて前記認証データを生成する認証データ生成手段と、
前記決定手段が決定した補正タイミングに、前記周辺部で前記期待値データを補正するための補正データを生成する補正データ生成手段と、
前記生成した認証データと補正データとを前記周辺部に送信する送信手段と、を備え、
前記周辺部は、
前記複数種類の補正タイミングの各々に対応した前記期待値データを複数記憶する期待値データ記憶手段と、
前記主制御部から前記認証データと前記補正データを受信する受信手段と、
前記複数の期待値データの中に、前記受信した認証データと一致するデータが存在するか否かの判定結果に基づいて前記主制御部の認証を行う認証手段と、
前記主制御部に対する前記認証が成立した場合、前記受信した認証データの生成に用いられた前記選択パターンを特定する選択パターン特定手段と、
前記特定した選択パターンと前記複数種類の補正タイミングとを比較して前記期待値データの補正タイミングを特定する補正タイミング特定手段と、
前記主制御部から受信した前記補正データに基づいて前記特定した補正タイミングで前記期待値データを補正する補正手段と、
を備えることを特徴とする電子機器。
【請求項3】
前記主制御部は、前記電子機器の電源投入時に予め定められた初期補正データを前記送信手段によって前記周辺部に送信し、
前記周辺部の受信手段は、前記初期補正データを前記主制御部から受信する手段であり、
前記補正手段は、前記受信した初期補正データに基づいて前記期待値データを補正する手段であることを特徴とする請求項1又は2に記載の電子機器。
【請求項4】
前記送信手段は、前記制御コマンドに前記認証データ又は前記補正データを付加して前記周辺部に送信することを特徴とする請求項1〜3の何れか1項に記載の電子機器。
【請求項5】
前記認証データ生成手段は、前記認証データが付加される前記制御コマンドを用いて当該認証データを生成する手段であることを特徴とする請求項1〜4の何れか1項に記載の電子機器。
【請求項6】
前記データ群記憶手段は、前記主制御部で用いられるプログラムデータを前記データ群として記憶する手段であることを特徴とする請求項1〜5の何れか1項に記載の電子機器。
【請求項7】
請求項1〜6の何れか1項に記載の電子機器を備える遊技機であって、
前記主制御部としての主制御基板と、前記周辺部としての周辺基板と、を備え、
前記主制御基板は、前記認証データ及び前記補正データを前記周辺基板に送信し、前記周辺基板は、前記主制御基板によって送信された前記認証データを用いて前記主制御基板の認証を行い、前記補正タイミングで前記主制御部から受信した前記補正データに基づいて前記期待値データを補正することを特徴とする遊技機。
【請求項8】
予め定められた期待値データと他の基板から受信した認証データとを比較して前記他の基板の認証が成立した場合に、前記認証した他の基板から受信した制御コマンドに基づいた所定の処理を行う周辺基板を備える電子機器に搭載される主制御基板において、
データ群を記憶するデータ群記憶手段と、
複数種類の補正タイミングの各々に対応して設けられ且つ前記認証データの作成に用いる所定データを、前記データ群の中から選択するための互いに異なる複数種類の選択パターンの中から、1つの選択パターンを決定する決定手段と、
前記決定した選択パターンが示す前記所定データに基づいて前記認証データを生成する認証データ生成手段と、
前記決定した選択パターンに対応した前記補正タイミングに、前記周辺基板の前記期待値データを補正するための補正データを生成する補正データ生成手段と、
前記生成した認証データと補正データとを前記周辺基板に送信する送信手段と、
を備えることを特徴とする主制御基板。
【請求項9】
予め定められた期待値データと他の基板から受信した認証データとを比較して前記他の基板の認証が成立した場合に、前記認証した他の基板から受信した制御コマンドに基づいた所定の処理を行う周辺基板を備える電子機器に搭載される主制御基板において、
データ群を記憶するデータ群記憶手段と、
前記認証データの作成に用いる所定データを、前記データ群の中から選択するための互いに異なる複数種類の選択パターンの各々に対応した複数種類の補正タイミングの中から、前記期待値データを補正する補正タイミングを決定する決定手段と、
前記決定した補正タイミングに対応した前記選択パターンが示す前記所定データに基づいて前記認証データを生成する認証データ生成手段と、
前記決定手段による補正タイミングの決定に応じて、前記周辺基板で前記期待値データを補正するための補正データを生成する補正データ生成手段と、
前記生成した認証データと補正データとを前記周辺基板に送信する送信手段と、
を備えることを特徴とする主制御基板。
【請求項10】
主制御基板を備える電子機器に搭載されて、前記主制御基板によって送信された制御コマンドに基づいて所定の処理を行う周辺基板において、
前記主制御基板との間で予め定められた複数種類の補正タイミングの各々に対応した期待値データを複数記憶する期待値データ記憶手段と、
前記主制御基板から認証データと補正データを受信する受信手段と、
前記複数の期待値データの中に、前記受信した認証データと一致するデータが存在するか否かの判定結果に基づいて前記主制御部の認証を行う認証手段と、
前記主制御基板に対する前記認証が成立した場合、前記主制御基板が前記認証データの作成に用いる所定データを予め定められたデータ群の中から選択するための互いに異なる複数種類の選択パターンの中から、前記受信した認証データの生成に用いられた前記選択パターンを特定する選択パターン特定手段と、
前記特定した選択パターンと前記複数種類の補正タイミングとを比較して前記期待値データの補正タイミングを特定する補正タイミング特定手段と、
前記主制御基板から受信した前記補正データに基づいて前記特定した補正タイミングで前記期待値データを補正する補正手段と、
を備えることを特徴とする周辺基板。
【請求項11】
制御コマンドを送信する主制御部と、前記主制御部によって送信された制御コマンドに基づいて所定の処理を行う周辺部と、を備え、前記周辺部が、前記主制御部によって送信された認証データと予め定められた期待値データとを比較して前記主制御部の認証を行う電子機器に認証方法であって、
前記主制御部において、
複数種類の補正タイミングの各々に対応して設けられ且つ前記認証データの作成に用いる所定データを、データ群記憶手段が記憶しているデータ群の中から選択するために設けられた互いに異なる複数種類の選択パターンの中から、1つの選択パターンを決定する決定工程と、
前記決定した選択パターンが示す前記所定データに基づいて前記認証データを生成する認証データ生成工程と、
前記決定した選択パターンに対応した前記補正タイミングに、前記周辺部の前記期待値データを補正するための補正データを生成する補正データ生成工程と、
前記生成した認証データと補正データとを前記周辺部に送信する送信工程と、を備え、
前記周辺部において、
前記主制御部から前記認証データと前記補正データを受信する受信工程と、
期待値データ記憶手段が記憶している前記複数種類の補正タイミングの各々に対応した複数の期待値データの中に、前記受信した認証データと一致するデータが存在するか否かの判定結果に基づいて前記主制御部の認証を行う認証工程と、
前記主制御部に対する前記認証が成立した際に、前記受信した認証データの生成に用いられた前記選択パターンを特定する選択パターン特定工程と、
前記特定した選択パターンと前記複数種類の補正タイミングとを比較して前記期待値データの補正タイミングを特定する補正タイミング特定工程と、
前記特定した補正タイミングで前記主制御部から受信した前記補正データに基づいて前記期待値データを補正する補正工程と、
を備えることを特徴とする電子機器の認証方法。
【請求項12】
制御コマンドを送信する主制御部と、前記主制御部によって送信された制御コマンドに基づいて所定の処理を行う周辺部と、を備え、前記周辺部が、前記主制御部によって送信された認証データと予め定められた期待値データとを比較して前記主制御部の認証を行う電子機器の認証方法であって、
前記主制御部において、
前記認証データの作成に用いる所定データを、前記データ群記憶手段が記憶しているデータ群の中から選択するための互いに異なる複数種類の選択パターンの各々に対応した複数種類の補正タイミングの中から、前記期待値データを補正する補正タイミングを決定する決定工程と、
前記決定した補正タイミングに対応した前記選択パターンが示す前記所定データに基づいて前記認証データを生成する認証データ生成工程と、
前記補正タイミングの決定に応じて、前記周辺部で前記期待値データを補正するための補正データを生成する補正データ生成工程と、
前記生成した認証データと補正データとを前記周辺部に送信する送信工程と、を備え、
前記周辺部において、
前記主制御部から前記認証データと前記補正データを受信する受信工程と、
期待値データ記憶手段が記憶している前記複数種類の補正タイミングの各々に対応した複数の期待値データの中に、前記受信した認証データと一致するデータが存在するか否かの判定結果に基づいて前記主制御部の認証を行う認証工程と、
前記主制御部に対する前記認証が成立した際に、前記受信した認証データの生成に用いられた前記選択パターンを特定する選択パターン特定工程と、
前記特定した選択パターンと前記複数種類の補正タイミングとを比較して前記期待値データの補正タイミングを特定する補正タイミング特定工程と、
前記特定した補正タイミングで前記主制御部から受信した前記補正データに基づいて前記期待値データを補正する補正工程と、
を備えることを特徴とする電子機器の認証方法。
【請求項13】
制御コマンドを送信する主制御部と、前記主制御部によって送信された制御コマンドに基づいて所定の処理を行う周辺部と、を備え、前記周辺部が、前記主制御部によって送信された認証データと予め定められた期待値データとを比較して前記主制御部の認証を行う電子機器の認証プログラムであって、
前記主制御部の第1コンピュータを、
複数種類の補正タイミングの各々に対応して設けられ且つ前記認証データの作成に用いる所定データを、データ群記憶手段が記憶しているデータ群の中から選択するために設けられた互いに異なる複数種類の選択パターンの中から、1つの選択パターンを決定する決定手段と、
前記決定した選択パターンが示す前記所定データに基づいて前記認証データを生成する認証データ生成手段と、
前記決定した選択パターンに対応した前記補正タイミングに、前記周辺部の前記期待値データを補正するための補正データを生成する補正データ生成手段と、
前記生成した認証データと補正データとを前記周辺部に送信する送信手段工程と、して機能させ、且つ、
前記周辺部の第2コンピュータを、
前記主制御部から前記認証データと前記補正データを受信する受信手段と、
期待値データ記憶手段が記憶している前記複数種類の補正タイミングの各々に対応した複数の期待値データの中に、前記受信した認証データと一致するデータが存在するか否かの判定結果に基づいて前記主制御部の認証を行う認証手段と、
前記主制御部に対する前記認証が成立した際に、前記受信した認証データの生成に用いられた前記選択パターンを特定する選択パターン特定手段と、
前記特定した選択パターンと前記複数種類の補正タイミングとを比較して前記期待値データの補正タイミングを特定する補正タイミング特定手段と、
前記特定した補正タイミングで前記主制御部から受信した前記補正データに基づいて前記期待値データを補正する補正手段と、して機能させるための電子機器の認証プログラム。
【請求項14】
制御コマンドを送信する主制御部と、前記主制御部によって送信された制御コマンドに基づいて所定の処理を行う周辺部と、を備え、前記周辺部が、前記主制御部によって送信された認証データと予め定められた期待値データとを比較して前記主制御部の認証を行う電子機器の認証プログラムであって、
前記主制御部の第1コンピュータを、
前記認証データの作成に用いる所定データを、前記データ群記憶手段が記憶しているデータ群の中から選択するための互いに異なる複数種類の選択パターンの各々に対応した複数種類の補正タイミングの中から、前記期待値データを補正する補正タイミングを決定する決定手段と、
前記決定した補正タイミングに対応した前記選択パターンが示す前記所定データに基づいて前記認証データを生成する認証データ生成手段と、
前記補正タイミングの決定に応じて、前記周辺部で前記期待値データを補正するための補正データを生成する補正データ生成手段と、
前記生成した認証データと補正データとを前記周辺部に送信する送信手段と、して機能させ、且つ、
前記周辺部の第2コンピュータを、
前記主制御部から前記認証データと前記補正データを受信する受信手段と、
期待値データ記憶手段が記憶している前記複数種類の補正タイミングの各々に対応した複数の期待値データの中に、前記受信した認証データと一致するデータが存在するか否かの判定結果に基づいて前記主制御部の認証を行う認証手段と、
前記主制御部に対する前記認証が成立した場合、前記受信した認証データの生成に用いられた前記選択パターンを特定する選択パターン特定手段と、
前記特定した選択パターンと前記複数種類の補正タイミングとを比較して前記期待値データの補正タイミングを特定する補正タイミング特定手段と、
前記特定した補正タイミングで前記主制御部から受信した前記補正データに基づいて前記期待値データを補正する補正手段と、して機能させるための電子機器の認証プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate