説明

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

【課題】主制御基板を認証するために用いる期待値を簡単な方法で補正し、かつ主制御基板から周辺基板に対する不正制御や、期待値の流用を防止すること。
【解決手段】主制御基板310と、主制御基板310によって送信された制御コマンドに基づいて所定の処理をおこなう周辺基板320とを備える電子機器において、主制御基板310は、周辺基板320に送信する制御コマンドが、はずれ状態の処理を実行させるコマンドである場合、主制御基板310から送信されたデータの照合に用いる期待値の補正データや主制御基板310を認証するための認証データを制御コマンドに付加する。周辺基板320は、受信した補正データを用いて期待値を補正し、補正された期待値と、受信した認証データと、を用いて主制御基板310を認証する。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、複数の基板を備え、これらの基板間の通信の認証をおこなう電子機器、遊技機、主制御基板、周辺基板、認証方法および認証プログラムに関する。
【背景技術】
【0002】
従来、複数の基板を備えた電子機器において、これら各基板に対する不正を防止するための様々な技術が提案されている。複数の基板を備えた電子機器としては、たとえば、ぱちんこ遊技機などがある。ぱちんこ遊技機には、電子機器全体の動作を司る主制御基板と、電子機器の各部の動作をおこなう被制御基板(周辺基板)とを備えている。この主制御基板は、周辺基板に制御コマンドを含む制御信号を出力し、その他の周辺基板は、主制御基板から送信された制御信号にしたがって動作を実行する機能を備えている。
【0003】
主制御基板に対する不正には、たとえば、正規の主制御基板を不正な制御基板に取り替えたり、主制御基板がおこなう処理を規定したプログラムコードを改ざんしたりするなどの方法がある。このような不正を防止するため、たとえば、主制御基板内に搭載されたROMに記録されているプログラムデータをROMチェッカによってチェックして、ROMの不正交換などを防止する技術が提案されている(たとえば、下記特許文献1参照。)。
【0004】
また、他の方法としては、表示制御部などの周辺基板内に搭載されたROMにあらかじめ、他の基板の照合をおこなうための期待値を保持させておき、この期待値と、主制御基板および他の周辺基板のID(固有の値)の和と、が一致した場合に、他の基板を認証することで、不正な基板が挿入されたことを検知する技術が提案されている(たとえば、下記特許文献2参照。)。
【0005】
【特許文献1】特開平11−333108号公報
【特許文献2】特開2005−21330号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
しかしながら、上述した特許文献1の技術によれば、プログラムデータの改ざんは検知できるが、正規な主制御基板と被制御基板との間に不正な制御基板が接続されてしまうのを防止することができない。このため、不正な制御基板から出力される制御信号によって、被制御基板が不正な制御をおこなってしまうという問題がある。
【0007】
ここで、図14および図15を用いて、従来技術による不正防止技術について説明する。図14は、従来技術による不正防止技術の概要を示す説明図である。また、図15は、不正な制御基板の挿入例を示す説明図である。図14に示すように、正規の主制御基板1401は、周辺基板1402に対して正規の制御信号RSを出力して、周辺基板1402の動作を制御する。正規の主制御基板1401には、検査用ポート1403が設けられている。この検査用ポート1403から正規の主制御基板1401の内部に設けられたROMなどに記録されたプログラムデータを検査して、正規の主制御基板1401に不正がおこなわれていないかを検査する。
【0008】
ところが、図15に示すように、正規の主制御基板1401と周辺基板1402との間に、不正な制御基板1501が挿入されてしまう場合がある。不正な制御基板1501は、正規の主制御基板1401から出力された正規の制御信号RSを破棄または無視し、替わりに不正な制御信号FSを周辺基板1402に出力する。ここで、周辺基板1402は、入力された信号が、正規の制御信号RSであるか不正な制御信号FSであるかを判別することができない。このため、周辺基板1402は、不正な制御信号FSにしたがって動作してしまうという問題がある。
【0009】
また、検査用ポート1403は正規の主制御基板1401のみに設けられているため、検査用ポート1403を用いた検査をおこなっても、正規の主制御基板1401内の処理に対する検査結果が返ってしまう。このため、検査用ポート1403を用いた検査をおこなっても、不正な制御基板1501による不正制御を検知することができないという問題がある。
【0010】
また、上述した特許文献2の技術では、不正な制御基板が挿入されたことを検知することができる。しかしながら、基板が変更されると、IDも変わるため、他の基板が変更になる度に、期待値を書き換えなければならないという問題がある。したがって、主制御基板や他の周辺基板の認証をおこなう基板の設定を、主制御基板や他の周辺基板が変更される度に変更しなければならず、手間がかかるという問題がある。
【0011】
また、特許文献2の技術では、いずれかの基板が変更された場合、変更後の主制御基板や他の周辺基板のIDの和で、期待値を自動更新する異常解除スイッチが備えられている。しかしながら、たとえば不正な基板が挿入されているときに異常解除スイッチが操作されると、不正な基板を正規の基板として認証してしまうという問題がある。
【0012】
この発明は、上述した従来技術による問題点を解消するため、主制御基板を認証するために用いる期待値を簡単な方法で補正し、かつ主制御基板から周辺基板に対する不正制御や、期待値の流用を防止することができる電子機器、主制御基板、周辺基板、認証方法および認証プログラムを提供することを目的とする。
【課題を解決するための手段】
【0013】
上述した課題を解決し、目的を達成するため、請求項1の発明にかかる電子機器は、制御コマンドを送信する主制御部と、前記主制御部によって送信された前記制御コマンドに基づいて所定の処理をおこなう周辺部と、を備える電子機器であって、前記主制御部は、前記周辺部に保持され、前記主制御部から送信されたデータの照合に用いる期待値を補正するための補正データを生成する補正データ生成手段と、前記周辺部に送信する前記制御コマンドが、大当たり状態にするか否かを抽選する大当たり抽選の抽選結果がはずれの場合の処理を当該周辺部に実行させるはずれコマンドである場合、前記補正データ生成手段によって生成された前記補正データを当該制御コマンドに付加する補正データ付加手段と、前記補正データ付加手段によって前記補正データの付加された前記制御コマンド(以下、「補正データ付制御コマンド」という)を前記周辺部に送信する補正データ送信手段と、前記主制御部を認証するための認証データを生成する認証データ生成手段と、前記補正データ送信手段によって前記補正データ付制御コマンドが前記周辺部に送信された後に、当該周辺部に送信する前記制御コマンドが前記はずれコマンドである場合、前記認証データ生成手段によって生成された前記認証データを当該制御コマンドに付加する認証データ付加手段と、前記認証データ付加手段によって前記認証データの付加された前記制御コマンド(以下、「認証データ付制御コマンド」という)を前記周辺部に送信する認証データ送信手段と、を備え、前記周辺部は、前記主制御部によって送信された前記補正データ付制御コマンドを受信する補正データ受信手段と、前記補正データ受信手段によって受信された前記補正データ付制御コマンドを用いて前記周辺部に保持されている前記期待値を補正する補正手段と、前記主制御部によって送信された前記認証データ付制御コマンドを受信する認証データ受信手段と、前記認証データ受信手段によって受信された前記認証データ付制御コマンドを用いて算出された値が、前記補正手段によって補正された前記期待値と一致するか否かを判断する判断手段と、前記判断手段によって前記認証データ付制御コマンドを用いて算出された値と、前記期待値と、が一致すると判断された場合、前記主制御部を認証する認証手段と、を備えることを特徴とする。
【0014】
この請求項1の発明によれば、主制御部が周辺部にはずれコマンドを送信する場合に、周辺部において、主制御部を照合するための期待値の補正処理や、主制御部の正当性を認証する認証処理をおこなう。はずれコマンドは、大当たり状態に関連するコマンドより発生頻度が高いため、はずれコマンドの送信時に認証データを付加することで、認証処理をおこなう回数が増え、認証の強度を上げることができる。さらに、はずれコマンドの発生頻度が高いことで、補正データを付加した後に認証データを付加するのであれば、はずれコマンドにランダムに補正データや認証データを付加することができる。または、設計者の所望のタイミングではずれコマンドに補正データや認証データを付加することができる。このようにすることで、はずれコマンドの全てに補正データや認証データが付加されているのと比べて、第三者に補正データや認証データが付加されている制御コマンドを見破られる可能性を低くすることができる。
【0015】
また、電子機器が、たとえばぱちんこ遊技機の場合、「はずれ」は、大当たり抽選時の抽選結果として最も発生頻度が高い。このため、はずれコマンドの送信時にコマンドデータに補正データや認証データを付加することとすれば、抽選をおこなってから補正処理や認証処理をおこなうという流れをぱちんこ遊技機の処理の基本形とみなすことができる。大当たりリーチ時や大当たり時の処理は、ぱちんこ遊技機の機種ごとに演出方法が変更されるなど、特殊な処理に区分されるが、はずれ時の処理は機種ごとの差異が少ない。このため、はずれ時の処理に補正処理や認証処理を組み込むこととすれば、補正処理や認証処理の流れをほとんど変更せずに、ぱちんこ遊技機の本体を他の機種に再利用することが可能となる。
【0016】
また、請求項2の発明にかかる電子機器は、請求項1に記載の発明において、前記補正データ付加手段は、前記周辺部に送信する前記制御コマンドが前記主制御部に電源が投入された後の最初の前記はずれコマンドである場合、当該はずれコマンドに前記補正データを付加することを特徴とする。
【0017】
この請求項2の発明によれば、たとえば電源が投入される前に主制御部が他の主制御部に変更されても、電源投入後の最初のはずれコマンドで変更後の主制御部に応じた期待値に補正することができる。このため、認証処理の前に補正処理をおこなうことができるので、変更後の主制御部を正規の基板であると認証することができる。
【0018】
また、請求項3の発明にかかる電子機器は、請求項1または2に記載の発明において、前記補正データ付加手段は、前記周辺部に送信する前記制御コマンドが前記主制御部のリセット後の最初の前記はずれコマンドである場合、当該はずれコマンドに前記補正データを付加することを特徴とする。
【0019】
この請求項3の発明によれば、たとえばリセット後の動作開始時に期待値を補正することができる。このため、認証処理の前に補正処理をおこなうことができるので、変更後の主制御部を正規の基板であると認証することができる。
【0020】
また、請求項4の発明にかかる電子機器は、請求項1〜3のいずれか一つに記載の発明において、前記認証データ付加手段は、前記周辺部に送信する前記制御コマンドが、前記補正データ送信手段によって送信された前記補正データ付制御コマンドの次の前記はずれコマンドである場合、当該はずれコマンドに前記認証データを付加することを特徴とする。
【0021】
この請求項4の発明によれば、たとえば周辺部にはずれリーチコマンドを送信する際に、補正データを付加し、周辺部に補正データを付加したはずれリーチコマンドによって開始した図柄の変動を停止する図柄停止コマンドを送信する際に、認証データを付加することができる。このように、はずれ状態の中で前後関係が明確なコマンドに補正データと認証データとをこの順に付加することで、1回のはずれ状態の処理の間に、補正処理と認証処理とをこの順におこなうことができる。したがって、大当たり状態になる前に不正を検知することができ、不正な制御によって不正な大当たり状態となることを防ぐことができる。また、認証処理の前に補正処理をおこなうので、変更後の主制御部を正規の基板であると認証することができ、認証の強度を向上させることができる。
【0022】
また、請求項5の発明にかかる電子機器は、請求項1〜4のいずれか一つに記載の発明において、前記補正データ生成手段は、前記主制御部が他の前記主制御部に変更された場合、前記周辺部に保持された前記期待値を、他の前記主制御部から送信されたデータの照合に用いる期待値に補正するための補正データを生成することを特徴とする。
【0023】
この請求項5の発明によれば、主制御部が変更される度に、補正処理をおこなうことができる。このため、主制御部が変更されているのにも関わらず、周辺部に保持された期待値が補正されていないことを防ぐことができる。
【0024】
また、請求項6の発明にかかる電子機器は、請求項1〜5のいずれか一つに記載の発明において、前記主制御部は、前記主制御部に設定されている固有の値を記録する記録手段を備え、前記補正データ生成手段は、前記記録手段によって記録された前記固有の値を用いて前記補正データを生成することを特徴とする。
【0025】
この請求項6の発明によれば、主制御部が複数ある場合、各主制御部を認識可能な値によって補正データを生成することができる。これによって、期待値を各主制御部に固有の値とすることができるため、より不正な基板を検知しやすくなり、認証の強度を向上させることができる。
【0026】
また、請求項7の発明にかかる電子機器は、請求項6に記載の発明において、前記補正データ生成手段は、前記主制御部が他の前記主制御部に変更された場合、前記記録手段に記録された、変更される前の前記主制御部に設定されていた固有の値と、変更された後の他の前記主制御部に設定されている固有の値との差分を、前記補正データとして生成することを特徴とする。
【0027】
この請求項7の発明によれば、主制御部が複数ある場合、各主制御部を認識可能な値の差分によって補正データを生成することができる。これによって、期待値を各主制御部に固有の値とすることができるため、より不正な基板を検知しやすくなり、認証の強度を向上させることができる。
【0028】
また、請求項8の発明にかかる電子機器は、請求項1〜5のいずれか一つに記載の発明において、前記主制御部は、所定のプログラムコードを記録した記録手段を備え、前記補正データ生成手段は、前記記録手段に記録されたプログラムコードを用いて前記補正データを生成することを特徴とする。
【0029】
この請求項8の発明によれば、主制御部に記録されたプログラムコードを用いて補正データを生成する。これにより、主制御部に記録されたプログラムコードの書き換えや、主制御部の交換などの不正を検知することができる。
【0030】
また、請求項9の発明にかかる電子機器は、請求項8に記載の発明において、前記補正データ生成手段は、前記プログラムコードとともに前記はずれコマンドを用いて前記補正データを生成することを特徴とする。
【0031】
この請求項9の発明によれば、補正データとともに送信する制御コマンド(はずれコマンド)を用いて認証データを生成する。一般に、不正な制御部は、正規の主制御部と異なる制御コマンドを送信することによって、周辺部に不正な動作をおこなわせようとする。したがって、今回送信する制御コマンドを用いて補正データを生成すれば、不正な制御部によって補正データを再利用された場合であっても、補正データと制御コマンドの整合がとれず、不正を検知することができる。
【0032】
また、請求項10の発明にかかる電子機器は、請求項1〜9のいずれか一つに記載の発明において、前記主制御部は、所定のプログラムコードを記録した記録手段を備え、前記認証データ生成手段は、前記記録手段によって記録されたプログラムコードを用いて前記認証データを生成することを特徴とする。
【0033】
この請求項10の発明によれば、主制御部に記録されたプログラムコードを用いて認証データを生成する。これにより、主制御部に記録されたプログラムコードの書き換えや、主制御部の交換などの不正を検知することができる。
【0034】
また、請求項11の発明にかかる電子機器は、請求項10に記載の発明において、前記認証データ生成手段は、前記プログラムコードとともに前記はずれコマンドを用いて前記認証データを生成することを特徴とする。
【0035】
この請求項11の発明によれば、認証データとともに送信する制御コマンド(はずれコマンド)を用いて認証データを生成する。したがって、今回送信する制御コマンドを用いて認証データを生成すれば、不正な制御部によって認証データを再利用された場合であっても、認証データと制御コマンドの整合がとれず、不正を検知することができる。
【0036】
また、請求項12の発明にかかる電子機器は、請求項1〜11のいずれか一つに記載の発明において、前記補正手段は、前記主制御部から送信された前記制御コマンドが前記補正データ付制御コマンドの場合、前記補正データ付制御コマンドを用いて前記周辺部に保持されている前記期待値を補正することを特徴とする。
【0037】
この請求項12の発明によれば、周辺部は、制御コマンドに補正データが付加されているか否かを確認するのみで、補正処理をおこなうか否かを判断することができる。よって、補正処理による周辺部の処理負荷を低減させることができる。
【0038】
また、請求項13の発明にかかる電子機器は、請求項1〜11のいずれか一つに記載の発明において、前記補正手段は、前記主制御部から送信された前記制御コマンドが前記はずれコマンドである場合、前記補正データ付制御コマンドを用いて前記周辺部に保持されている前記期待値を補正することを特徴とする。
【0039】
この請求項13の発明によれば、周辺部は、主制御部が送信した制御コマンドの種類を確認して、補正処理をおこなうか否かを判断することができる。よって、制御コマンドに基づく処理と補正処理とのタイミング設計をおこないやすくすることができる。
【0040】
また、請求項14の発明にかかる電子機器は、請求項1〜13のいずれか一つに記載の発明において、前記判断手段は、前記主制御部から送信された前記制御コマンドが前記認証データ付制御コマンドの場合、前記認証データ付制御コマンドを用いて算出された値と、前記期待値と、が一致するか否かを判断することを特徴とする。
【0041】
この請求項14の発明によれば、周辺部は、制御コマンドに認証データが付加されているか否かを確認するのみで、認証処理をおこなうか否かを判断することができる。よって、認証処理による周辺部の処理負荷を低減させることができる。
【0042】
また、請求項15の発明にかかる電子機器は、請求項1〜13のいずれか一つに記載の発明において、前記判断手段は、前記主制御部から送信された前記制御コマンドが前記はずれコマンドである場合、前記認証データ付制御コマンドを用いて算出された値と、前記期待値と、が一致するか否かを判断することを特徴とする。
【0043】
この請求項15の発明によれば、周辺部は、主制御部が送信した制御コマンドの種類を確認して、認証処理をおこなうか否かを判断することができる。よって、制御コマンドに基づく処理と認証処理とのタイミング設計をおこないやすくすることができる。
【0044】
また、請求項16の発明にかかる電子機器は、請求項1〜15のいずれか一つに記載の発明において、前記周辺部は、前記認証手段によって前記主制御部が認証されなかった場合、報知信号を出力する出力手段を備えることを特徴とする。
【0045】
この請求項16の発明によれば、主制御部に不正がおこなわれた旨を、ユーザに報知することができる。
【0046】
また、請求項17の発明にかかる遊技機は、請求項1〜16のいずれか一つに記載の電子機器を備え、主制御基板は、前記認証データ付制御コマンドを送信し、周辺基板は、前記主制御基板によって送信された前記認証データ付制御コマンドに基づいて認証処理をおこなうことを特徴とする。
【0047】
この請求項17の発明によれば、請求項1〜16のいずれか一つに記載の電子機器の機能をぱちんこ遊技機などの遊技機に適用することができる。
【0048】
また、請求項18の発明にかかる主制御基板は、電子機器に搭載され、周辺基板に所定の処理をおこなわせる制御コマンドを送信する主制御基板であって、前記周辺基板に保持され、前記主制御基板から送信されたデータの照合に用いる期待値を補正するための補正データを生成する補正データ生成手段と、前記周辺基板に送信する前記制御コマンドが、大当たり状態にするか否かを抽選する大当たり抽選の抽選結果がはずれの場合の処理を当該周辺部に実行させるはずれコマンドである場合、前記補正データ生成手段によって生成された前記補正データを当該制御コマンドに付加する補正データ付加手段と、前記補正データ付加手段によって前記補正データの付加された前記制御コマンド(以下、「補正データ付制御コマンド」という)を前記周辺基板に送信する補正データ送信手段と、前記主制御基板を認証するための認証データを生成する認証データ生成手段と、前記補正データ送信手段によって前記補正データ付制御コマンドが前記周辺基板に送信された後に、当該周辺基板に送信する前記制御コマンドが前記はずれコマンドである場合、前記認証データ生成手段によって生成された前記認証データを当該制御コマンドに付加する認証データ付加手段と、前記認証データ付加手段によって前記認証データの付加された前記制御コマンド(以下、「認証データ付制御コマンド」という)を前記周辺基板に送信する認証データ送信手段と、を備えることを特徴とする。
【0049】
この請求項18の発明によれば、主制御基板が周辺基板にはずれコマンドを送信する場合に、補正データや認証データを付加する。はずれコマンドは、大当たり状態に関連するコマンドより発生頻度が高いため、はずれコマンドの送信時に認証データを付加することで、周辺基板において認証処理をおこなう回数が増え、認証の強度を上げることができる。さらに、はずれコマンドの発生頻度が高いことで、補正データを付加した後に認証データを付加するのであれば、はずれコマンドにランダムに補正データや認証データを付加することができる。または、設計者の所望のタイミングではずれコマンドに補正データや認証データを付加することができる。このようにすることで、はずれコマンドの全てに補正データや認証データが付加されているのと比べて、第三者に補正データや認証データが付加されている制御コマンドを見破られる可能性を低くすることができる。
【0050】
また、電子機器が、たとえばぱちんこ遊技機の場合、「はずれ」は、大当たり抽選時の抽選結果として最も発生頻度が高い。このため、はずれコマンドの送信時にコマンドデータに補正データや認証データを付加することとすれば、抽選をおこなってから補正処理や認証処理をおこなうという流れをぱちんこ遊技機の処理の基本形とみなすことができる。大当たりリーチ時や大当たり時の処理は、ぱちんこ遊技機の機種ごとに演出方法が変更されるなど、特殊な処理に区分されるが、はずれ時の処理は機種ごとの差異が少ない。このため、はずれ時の処理に補正処理や認証処理を組み込むこととすれば、補正処理や認証処理の流れをほとんど変更せずに、ぱちんこ遊技機の本体を他の機種に再利用することが可能となる。
【0051】
また、請求項19の発明にかかる周辺基板は、電子機器に搭載され、主制御部から送信された制御コマンドに応じた処理をおこなう周辺基板であって、前記主制御部によって送信され、前記主制御部から送信されたデータの照合に用いる期待値を補正するための補正データの付加された前記制御コマンド(以下、「補正データ付制御コマンド」という)を受信する補正データ受信手段と、前記補正データ受信手段によって受信された前記補正データ付制御コマンドを用いて前記周辺部に保持されている前記期待値を補正する補正手段と、前記主制御部によって送信された、前記主制御部を認証するための認証データの付加された前記制御コマンド(以下、「認証データ付制御コマンド」という)を受信する認証データ受信手段と、前記認証データ受信手段によって受信された前記認証データ付制御コマンドを用いて算出された値が、前記補正手段によって補正された前記期待値と一致するか否かを判断する判断手段と、前記判断手段によって前記認証データ付制御コマンドを用いて算出された値と、前記期待値と、が一致すると判断された場合、前記主制御部を認証する認証手段と、を備えることを特徴とする。
【0052】
この請求項19の発明によれば、主制御基板から送信された制御コマンドに付加された補正データや認証データを用いて、補正処理や認証処理をおこなうことができる。したがって、補正データ単体または認証データ単体で送信する場合と比較して、主制御基板と周辺基板との間の通信負荷を抑えることができる。また、補正データ単体または認証データ単体で送信する場合と比較して、通信データ中から補正データや認証データが抽出され、解析されてしまう可能性を低減することができる。また、補正処理や認証処理がおこなわれるのははずれコマンドの送信時のみであるので、全ての制御コマンドの送信時に補正処理や認証処理をおこなうのに比べて、周辺基板の処理負荷を低減することができる。また、補正処理をおこなってから認証処理をおこなうため、たとえば主制御基板が変更されても、変更後の主制御基板を正規の基板であると認証することができる。
【0053】
また、主制御基板の照合に用いる最終期待値(補正後の期待値)そのものである固定値を周辺基板に保持せないことで、照合に用いる最終期待値を知り得る者を限定することができる。この場合、具体的には、たとえば製造時から、期待値の補正処理をおこなわないと、認証が不成立となるように設計する。これにより、期待値に関する情報の流出などのリスクを軽減することができる。
【0054】
また、請求項20の発明にかかる認証方法は、制御コマンドを送信する主制御部と、前記主制御部によって送信された制御コマンドに基づいて所定の処理をおこなう周辺部と、を備える電子機器における認証方法であって、前記主制御部において、前記周辺部に保持され、前記主制御部から送信されたデータの照合に用いる期待値を補正するための補正データを生成する補正データ生成工程と、前記周辺部に送信する前記制御コマンドが、大当たり状態にするか否かを抽選する大当たり抽選の抽選結果がはずれの場合の処理を当該周辺部に実行させるはずれコマンドである場合、前記補正データ生成工程によって生成された前記補正データを当該制御コマンドに付加する補正データ付加工程と、前記補正データ付加工程によって前記補正データの付加された前記制御コマンド(以下、「補正データ付制御コマンド」という)を前記周辺部に送信する補正データ送信工程と、前記主制御部を認証するための認証データを生成する認証データ生成工程と、前記補正データ送信工程によって前記補正データ付制御コマンドが前記周辺部に送信された後に、当該周辺部に送信する前記制御コマンドが前記はずれコマンドである場合、前記認証データ生成工程によって生成された前記認証データを当該制御コマンドに付加する認証データ付加工程と、前記認証データ付加工程によって前記認証データの付加された前記制御コマンド(以下、「認証データ付制御コマンド」という)を前記周辺部に送信する認証データ送信工程と、を含み、前記周辺部において、前記主制御部によって送信された前記補正データ付制御コマンドを受信する補正データ受信工程と、前記補正データ受信工程によって受信された前記補正データ付制御コマンドを用いて前記周辺部に保持されている前記期待値を補正する補正工程と、前記主制御部によって送信された前記認証データ付制御コマンドを受信する認証データ受信工程と、前記認証データ受信工程によって受信された前記認証データ付制御コマンドを用いて算出された値が、前記補正工程によって補正された前記期待値と一致するか否かを判断する判断工程と、前記判断工程によって前記認証データ付制御コマンドを用いて算出された値と、前記期待値と、が一致すると判断された場合、前記主制御部を認証する認証工程と、を含むことを特徴とする。
【0055】
この請求項20の発明によれば、主制御部が周辺部にはずれコマンドを送信する場合に、周辺部において、主制御部を照合するための期待値の補正処理や、主制御部の正当性を認証する認証処理をおこなう。はずれコマンドは、大当たり状態に関連するコマンドより発生頻度が高いため、はずれコマンドの送信時に認証データを付加することで、認証処理をおこなう回数が増え、認証の強度を上げることができる。さらに、はずれコマンドの発生頻度が高いことで、補正データを付加した後に認証データを付加するのであれば、はずれコマンドにランダムに補正データや認証データを付加することができる。または、設計者の所望のタイミングではずれコマンドに補正データや認証データを付加することができる。このようにすることで、はずれコマンドの全てに補正データや認証データが付加されているのと比べて、第三者に補正データや認証データが付加されている制御コマンドを見破られる可能性を低くすることができる。
【0056】
また、電子機器が、たとえばぱちんこ遊技機の場合、「はずれ」は、大当たり抽選時の抽選結果として最も発生頻度が高い。このため、はずれコマンドの送信時にコマンドデータに補正データや認証データを付加することとすれば、抽選をおこなってから補正処理や認証処理をおこなうという流れをぱちんこ遊技機の処理の基本形とみなすことができる。大当たりリーチ時や大当たり時の処理は、ぱちんこ遊技機の機種ごとに演出方法が変更されるなど、特殊な処理に区分されるが、はずれ時の処理は機種ごとの差異が少ない。このため、はずれ時の処理に補正処理や認証処理を組み込むこととすれば、補正処理や認証処理の流れをほとんど変更せずに、ぱちんこ遊技機の本体を他の機種に再利用することが可能となる。
【0057】
また、請求項21の発明にかかる認証プログラムは、請求項20に記載の認証方法をコンピュータに実行させることを特徴とする。
【0058】
この請求項21の発明によれば、請求項20に記載の認証方法をコンピュータに実行させることができる。
【発明の効果】
【0059】
本発明にかかる電子機器、遊技機、主制御基板、周辺基板、認証方法および認証プログラムによれば、主制御基板を認証するために用いる期待値を簡単な方法で補正し、かつ主制御基板から周辺基板に対する不正制御や、期待値の流用を防止することができるという効果を奏する。
【発明を実施するための最良の形態】
【0060】
(実施の形態)
以下に添付図面を参照して、この発明にかかる電子機器の機能を有したぱちんこ遊技機と、このぱちんこ遊技機に搭載されている複数の基板間(主制御基板および周辺基板)の制御信号に含まれる制御コマンドを認証する認証方法および認証プログラムの好適な実施の形態を詳細に説明する。
【0061】
(ぱちんこ遊技機の基本構成)
図1は、本発明のぱちんこ遊技機の遊技盤の一例を示す正面図である。遊技盤101の下部位置に配置された発射部(図2参照)の駆動によって発射された遊技球は、レール102a,102b間を上昇して遊技盤101の上部位置に達した後、遊技領域103内を落下する。遊技領域103には、図示を省略する複数の釘が設けられ、遊技球を各種の方向に向けて落下させるとともに、落下途中の位置には、遊技球の落下方向を変化させる風車や、入賞口が配設されている。
【0062】
遊技盤101の遊技領域103の中央部分には、図柄表示部104が配置されている。図柄表示部104としては、たとえば液晶表示器(LCD)が用いられる。なお、図柄表示部104としては、LCDに限らずCRTなどを用いることもできる。図柄表示部104の下方には、始動入賞させるための始動入賞口105が配設されている。図柄表示部104の左右には、それぞれ入賞ゲート106が配設されている。
【0063】
入賞ゲート106は、遊技球の通過を検出し、始動入賞口105を一定時間だけ開放させる抽選をおこなうために設けられる。図柄表示部104の側部や下方などには普通入賞口107が配設されている。普通入賞口107に遊技球が入賞すると、普通入賞時の賞球数(たとえば10個)の払い出しをおこなう。遊技領域103の最下部には、どの入賞口にも入賞しなかった遊技球を回収する回収口108が設けられている。
【0064】
上述した図柄表示部104は、特定の入賞口に遊技球が入賞したとき(始動入賞時)に、複数の図柄の表示の変動を開始させ、所定時間後に図柄が停止する。この停止時に特定図柄(たとえば「777」)に揃ったとき、大当たり状態となる。大当たり状態のとき、下方に位置する大入賞口109が一定の期間開放を所定ラウンド(たとえば15ラウンド)繰り返し、入賞した遊技球に対応した賞球数を払い出す。
【0065】
図2は、ぱちんこ遊技機の制御部の内部構成を示すブロック図である。制御部200は、複数の制御部により構成されている。図示の例では、主制御部201と、周辺部(演出制御部202、賞球制御部203)とを有する。主制御部201は、ぱちんこ遊技機の遊技にかかる基本動作を制御する。演出制御部202は、遊技中の演出動作を制御する。賞球制御部203は、払い出す賞球数を制御する。
【0066】
主制御部201は、ROM212に記憶されたプログラムデータに基づき、遊技内容の進行に伴う基本処理を実行するCPU211と、CPU211の演算処理時におけるデータのワークエリアとして機能するRAM213、各検出部221〜224から各種データを受信するとともに、演出制御部202および賞球制御部203への各種データの送信をおこなうインタフェース(I/F)214などを備えて構成される。主制御部201は、たとえばいわゆる主制御基板によってその機能を実現する。
【0067】
この主制御部201の入力側には、始動入賞口105に入賞した入賞球を検出する始動入賞口検出部221と、入賞ゲート106を通過した遊技球を検出するゲート検出部222と、普通入賞口107に入賞した遊技球を検出する普通入賞口検出部223と、大入賞口109に入賞した入賞球を検出する大入賞口検出部224とがI/F214を介して接続されている。これらの検出部としては、近接スイッチなどを用いて構成できる。
【0068】
この主制御部201の出力側には、大入賞口開閉部231が接続され、この大入賞口開閉部231の開閉を制御する。大入賞口開閉部231は、大当たり時に大入賞口109を一定期間開放する機能であり、ソレノイドなどを用いて構成される。この大当たりは、生成した乱数(大当たり判定用乱数)に基づいて所定の確率(たとえば300分の1など)で発生するようあらかじめプログラムされている。
【0069】
演出制御部202は、主制御部201から各種の制御コマンドを含む制御信号を受け取り、このコマンドに基づいてROM242に記憶されたプログラムデータを実行して遊技中における演出制御をおこなう。この演出制御部202は、演出処理を実行するCPU241と、CPU241の演算処理時におけるデータのワークエリアとして機能するRAM243、図柄表示部104に表示させる画像データを書き込むVRAM244、主制御部201からの各種データの受信およびランプ制御部251や音声制御部252への各種データの送信をおこなうインタフェース(I/F)245などを備えて構成される。演出制御部202は、たとえばいわゆる演出基板によってその機能を実現する。また、演出制御部202の出力側には、上述した図柄表示部(LCD)104、ランプ制御部251、音声制御部252がI/F245を介して接続されている。
【0070】
賞球制御部203は、主制御部201から各種の制御コマンドを含む制御信号を受け取り、このコマンドに基づいてROM282に記憶されたプログラムデータを実行して賞球制御をおこなう。この賞球制御部203は、賞球制御の処理を実行するCPU281と、CPU281の演算処理時におけるデータのワークエリアとして機能するRAM283、主制御部201からの各種データの受信および発射部292との各種データの送受信をおこなうインタフェース(I/F)284などを備えて構成される。賞球制御部203は、たとえばいわゆる賞球基板によってその機能を実現する。
【0071】
賞球制御部203は、接続される払出部291に対して入賞時の賞球数を払い出す制御をおこなう。また、発射部292に対する遊技球の発射の操作を検出し、遊技球の発射を制御する。払出部291は、遊技球の貯留部から所定数を払い出すためのモータなどからなる。賞球制御部203は、この払出部291に対して、各入賞口(始動入賞口105、普通入賞口107、大入賞口109)に入賞した遊技球に対応した賞球数を払い出す制御をおこなう。
【0072】
発射部292は、遊技のための遊技球を発射するものであり、遊技者による遊技操作を検出するセンサと、遊技球を発射させるソレノイドなどを備える。賞球制御部203は、発射部292のセンサにより遊技操作を検出すると、検出された遊技操作に対応してソレノイドなどを駆動させて遊技球を間欠的に発射させ、遊技盤101の遊技領域103に遊技球を送り出す。
【0073】
上記構成の主制御部201と、演出制御部202と、賞球制御部203は、それぞれ異なるプリント基板(主制御基板、演出基板、賞球基板)に設けられる。これに限らず、たとえば、賞球制御部203は、主制御部201と同一のプリント基板上に設けることもできる。
【0074】
(主制御基板および周辺基板の機能的構成)
図3は、主制御基板(主制御部)および周辺基板(演出制御部、賞球制御部)の機能的構成を示すブロック図である。まず、主制御部201としての機能を有する主制御基板310の機能的構成について説明する。図3に示すように、主制御基板310は、周辺基板320を動作させるための制御コマンドを送信する機能部であり、制御コマンド格納部311、記録部312、補正データ生成部313、補正データ付加部314、補正データ送信部315、認証データ生成部316、認証データ付加部317、認証データ送信部318によって構成される。
【0075】
制御コマンド格納部311は、周辺基板320に送信する制御コマンドのデータ(制御コマンドデータ)を格納する。また、記録部312は、主制御基板310に固有の値や所定のプログラムコードを記録する。主制御部201に固有の値とは、たとえば主制御基板310が複数ある場合に、それぞれの主制御基板310を識別可能な値である。
【0076】
主制御基板310は、たとえば、記録部312に記録された所定のプログラムコードにしたがって、制御コマンド格納部311から周辺基板320に送信する制御コマンドを選択して、周辺基板320に制御コマンドを送信する。なお、制御コマンド格納部311と記録部312とを別個に設けるのではなく、一体としてもよい。たとえば、記録部312に制御コマンドデータとプログラムコードと主制御基板310に固有の値とを格納してもよい。
【0077】
補正データ生成部313は、主制御基板310から送信されたデータの照合に用いる期待値を補正するための補正データを生成する。期待値とは、たとえば周辺基板320にあらかじめ(製造時など)保持されている値であり、周辺基板320において主制御基板310から送信されたデータの照合をおこなう際に用いる値である。また、期待値は、固定した値ではなく、たとえば基本値から演算により生成される値でもよい。なお、主制御基板310が複数ある場合、それぞれの主制御基板310に対して期待値は異なることとする。このため、たとえば主制御基板310が他の主制御基板310に変更された場合、他の主制御基板310が正当な主制御基板310であっても、周辺基板320の期待値が補正されないと、周辺基板320においては照合がおこなえなくなってしまったり、正当な主制御基板310を不正な主制御部と判断してしまったりする。このような照合の不具合を防ぐために、主制御基板310は、周辺基板320に保持されている期待値を補正するための補正データを周辺基板320に送信する。
【0078】
補正データ生成部313が補正データを生成するタイミングは、たとえば主制御基板310が他の主制御基板310に変更された場合である。この場合、補正データ生成部313は、周辺基板320に保持された変更前の主制御基板310に対応する期待値を、変更後の他の主制御基板310から送信されたデータの照合に用いる期待値に補正するための補正データを生成する。
【0079】
補正データ生成部313による補正データの生成方法としては、記録部312によって記録された固有の値を用いて補正データを生成してもよい。具体的には、補正データ生成部313は、たとえば主制御基板310が他の主制御基板310に変更された場合、変更後の他の主制御基板310に設定されている固有の値と、記録部312に記録されている変更前の主制御基板310に設定されていた固有の値との差分を、補正データとして生成する。また、補正データ生成部313は、記録部312に記録されたプログラムコードを用いて補正データを生成してもよい。さらに、補正データ生成部313は、プログラムコードとともに、今回送信する制御コマンドを用いて補正データを生成してもよい。また、補正データ生成部313は、生成された補正データを暗号化してもよい。
【0080】
補正データ付加部314は、周辺基板320に送信する制御コマンドがはずれコマンドである場合、補正データ生成部313によって生成された補正データをこのはずれコマンドに付加して制御信号を生成する。ここで、はずれコマンドは、大当たり状態にするか否かを抽選する大当たり抽選の抽選結果がはずれの場合の処理を当該周辺部に実行させるコマンドである。はずれコマンドは、はずれ状態に関連するコマンドであり、具体的には、たとえば、最終的に大当たり状態にならないリーチ状態(はずれリーチ)の処理を実行させるはずれリーチコマンドや、はずれリーチ状態における図柄の変動を停止する図柄停止コマンドなどである。
【0081】
補正データ付加部314は、具体的には、周辺基板320に送信する制御コマンドが主制御基板310に電源が投入された後の最初のはずれコマンドである場合、このはずれコマンドに補正データを付加する。また、補正データ付加部314は、周辺基板320に送信する制御コマンドが主制御基板310のリセット後の最初のはずれコマンドである場合、このはずれコマンドに補正データを付加してもよい。
【0082】
なお、補正データ付加部314は、電源投入から所定回数後のはずれコマンドに補正データを付加してもよい。さらに、補正データ付加部314は、電源を投入されてから電源がオフされるまでの間に、1回以上のはずれコマンドに補正データを付加すればよく、複数回のはずれコマンドに補正データを付加してもよい。すなわち、補正データ付加部314は、後述する認証データ付加部317によって制御コマンドに認証データが付加される前に、はずれコマンドに補正データを付加すればよい。
【0083】
補正データ送信部315は、補正データ付加部314によって補正データの付加された制御コマンド(以下、「補正データ付制御コマンド」という)を周辺基板320に送信する。補正データ送信部315は、今回送信するコマンドがはずれコマンドである場合は、補正データ付制御コマンドを周辺基板320に送信する。
【0084】
認証データ生成部316は、主制御基板310を認証するための認証データを生成する。認証データ生成部316は、たとえば記録部312によって記録されたプログラムコードを用いて認証データを生成する。さらに、認証データ生成部316は、プログラムコードとともに、今回送信する制御コマンドを用いて認証データを生成してもよい。認証データは、認証者(周辺基板320)が、周辺基板320に保持されている期待値を用いて照合をおこなうことにより、主制御基板310を正規の主制御基板310であると認証するための情報である。
【0085】
認証データ付加部317は、補正データ送信部315によって補正データ付制御コマンドが周辺基板320に送信された後に、この周辺基板320に送信する制御コマンドがはずれコマンドである場合、認証データ生成部316によって生成された認証データを制御コマンドに付加する。認証データ付加部317は、具体的には周辺基板320に送信する制御コマンドが、補正データ送信部315によって送信された補正データ付制御コマンドの次のはずれコマンドである場合、このはずれコマンドに認証データを付加してもよい。認証データ付加部317は、具体的には、たとえば補正データ付加部314によってはずれリーチコマンドに補正データが付加された場合、このはずれリーチコマンドによって開始された図柄の変動を停止する図柄停止コマンドに認証データを付加してもよい。
【0086】
なお、認証データ付加部317は、補正データ付制御コマンドを送信した後の全てのはずれコマンドに認証データを付加してもよいし、いずれかのはずれコマンドに認証データを付加してもよい。
【0087】
認証データ送信部318は、認証データ付加部317によって認証データの付加された制御コマンド(以下、「認証データ付制御コマンド」という)を周辺基板320に送信する。認証データ送信部318は、今回送信するコマンドがはずれコマンドである場合は、認証データ付制御コマンドを周辺基板320に送信する。
【0088】
なお、補正データ送信部315および認証データ送信部318は、今回送信するコマンドがはずれコマンドでない場合は、補正データおよび認証データが付加されていない制御コマンドを周辺基板320に送信する。
【0089】
このように、認証データ付加部317および認証データ送信部318は、補正データ送信部315によって補正データ付制御コマンドが周辺基板320に送信された後に、認証データを付加して認証データ付制御コマンドを周辺基板320に送信する。したがって、周辺基板320においては、期待値の補正処理をおこなってから、認証処理をおこなうことができる。このため、たとえば主制御基板310が他の主制御基板310に変更された場合に、期待値が補正される前に認証処理がおこなわれるのを防ぐことができる。これによって、周辺基板320における認証処理において、正当な主制御基板310が不当な主制御基板310であると認証されるのを防ぐことができる。
【0090】
また、補正データ付加部314または認証データ付加部317は、周辺基板320にはずれコマンドを送信する際に、補正データまたは認証データを付加する。「はずれ」は、大当たり抽選時の抽選結果として最も発生頻度が高い。このため、はずれコマンドの送信時にコマンドデータに補正データや認証データを付加することとすれば、抽選をおこなってから補正処理や認証処理をおこなうという流れをぱちんこ遊技機の処理の基本形とみなすことができる。大当たりリーチ時や大当たり時の処理は、ぱちんこ遊技機の機種ごとに演出方法が変更されるなど、特殊な処理に区分されるが、はずれ時の処理は機種ごとの差異が少ない。このため、はずれ時の処理に補正処理や認証処理を組み込むこととすれば、補正処理や認証処理の流れをほとんど変更せずに、ぱちんこ遊技機の本体を他の機種に再利用することが可能となる。
【0091】
また、認証データ付加部317は、大当たり抽選時の抽選結果として最も発生頻度が高いはずれの場合の処理を周辺基板320に実行させるはずれコマンドを送信する際に、認証データを付加することができる。したがって、認証処理をおこなう回数が増え、認証の強度を上げることができる。さらに、補正データ付加部314または認証データ付加部317は、はずれコマンドの発生頻度が高いため、補正データを付加した後に認証データを付加するのであれば、はずれコマンドにランダムに補正データや認証データを付加することができる。または、設計者の所望のタイミングではずれコマンドに補正データや認証データを付加することができる。このため、はずれコマンドの全てに補正データや認証データが付加されているのと比べて、第三者に補正データや認証データが付加されている制御コマンドを見破られる可能性が低くなる。
【0092】
また、補正データ付加部314は、たとえば周辺基板320にはずれリーチコマンドを送信する際に、補正データを付加する。そして、認証データ付加部317は、たとえば周辺基板320に補正データを付加したはずれリーチコマンドによって開始した図柄の変動を停止する図柄停止コマンドを送信する際に、認証データを付加する。このように、はずれ状態の中で前後関係が明確なコマンドに補正データと認証データとをこの順に付加することで、1回のはずれ状態の処理の間に、補正処理と認証処理とをこの順におこなうことができる。したがって、大当たり状態になる前に不正を検知することができ、不正な制御によって不正な大当たり状態となることを防ぐことができる。また、認証処理の前に補正処理をおこなうので、変更後の主制御部を正規の基板であると認証することができ、認証の強度を向上させることができる。
【0093】
また、主制御基板310から周辺基板320に期待値の補正データを送信するため、主制御基板310が変更された際に、周辺基板320を変更したり周辺基板320に保持されている期待値の設定を変更したりしなくても、変更後の主制御基板310に対応した期待値に簡単に補正することができる。また、補正データ送信部315は、期待値をそのまま送信せず、補正値のみを送信する。したがって、たとえば第三者によって送信したデータが窃取されても、期待値が解読されないため、認証の強度を向上させることができる。
【0094】
また、たとえば補正データや認証データを付加しない制御信号のみを送信するような従来の主制御基板を、補正データや認証データを付加した制御信号を送信するような本実施の形態にかかる主制御基板310に変更する場合、全ての制御コマンドの送信処理に補正データまたは認証データの付加処理を追加する手間を省くことができる。このように、所定の制御コマンドの送信処理のみに付加処理を追加すればよいため、処理を追加するための設定の難易度が容易であり、設定にかかる時間を短縮することができる。
【0095】
つぎに、演出制御部202や賞球制御部203などの周辺部としての機能を有する周辺基板320の機能的構成について説明する。図3に示すように、演出制御部202、賞球制御部203などの周辺基板320は、補正データ受信部321、補正部322、認証データ受信部323、判断部324、認証部325、報知信号出力部326によって構成される。
【0096】
補正データ受信部321は、主制御基板310によって送信された補正データ付制御コマンドを含む制御信号を受信する。補正部322は、補正データ受信部321によって受信された補正データ付制御コマンドを用いて周辺基板320に保持されている期待値を補正する。補正部322は、受信した補正データが暗号化されている場合、この補正データを復元した値を用いて期待値を補正する。
【0097】
補正部322は、たとえば、制御コマンドに補正データが付加されているか否かを判断し、制御コマンドに補正データが付加されている場合、補正データを用いて周辺基板320の期待値を補正する。また、補正部322は、制御コマンドがはずれコマンドであるか否かを判断し、制御コマンドがはずれコマンドである場合、補正データを用いて周辺基板320の期待値を補正することとしてもよい。さらに、補正部322は、制御コマンドが電源投入後(またはリセット後)の最初のはずれコマンドであるか否かを判断し、制御コマンドが電源投入後(またはリセット後)の最初のはずれコマンドである場合、補正データを用いて周辺基板320の期待値を補正することとしてもよい。また、補正部322は、具体的には、補正データ付加部314がはずれリーチコマンドを送信する際に補正データを付加する場合、制御コマンドがはずれリーチコマンドか否かを判断し、制御コマンドがはずれリーチコマンドである場合、補正データを用いて周辺基板320の期待値を補正してもよい。
【0098】
認証データ受信部323は、主制御基板310によって送信された認証データ付制御コマンドを受信する。判断部324は、認証データ受信部323によって受信された認証データ付制御コマンドを用いて算出された値が、補正部322によって補正された期待値と一致するか否かを判断する。
【0099】
判断部324は、たとえば、制御コマンドに認証データが付加されているか否かを判断し、主制御基板310から送信された制御コマンドに認証データが付加されている場合、認証データ付制御コマンドを用いて算出された値と、期待値と、が一致するか否かを判断する。また、判断部324は、制御コマンドがはずれコマンドであるか否かを判断し、主制御基板310から送信された制御コマンドがはずれコマンドである場合、認証データ付制御コマンドを用いて算出された値と、期待値と、が一致するか否かを判断してもよい。
【0100】
さらに、判断部324は、制御コマンドが補正データ付制御コマンドの次のはずれコマンドであるか否かを判断し、制御コマンドが補正データ付制御コマンドの次のはずれコマンドである場合、認証データ付制御コマンドを用いて算出された値と、期待値と、が一致するか否かを判断してもよい。判断部324は、具体的には、制御コマンドが補正部322において補正がおこなわれたはずれリーチコマンドによって開始した図柄の変動を停止させる図柄停止コマンドであるか否かを判断し、制御コマンドが補正部322において補正がおこなわれたはずれリーチコマンドによって開始した図柄の変動を停止させる図柄停止コマンドである場合、認証データ付制御コマンドを用いて算出された値と、期待値と、が一致するか否かを判断することとしてもよい。
【0101】
認証部325は、判断部324によって認証データ付制御コマンドを用いて算出された値と、期待値と、が一致すると判断された場合、主制御基板310を認証する。
【0102】
報知信号出力部326は、認証部325によって主制御基板310が認証されなかった場合、報知信号を出力する。周辺基板320が演出制御部202の場合、報知信号出力部326は、たとえば、図柄表示部104やランプ制御部251、音声制御部252(図2参照)などに出力する。また、報知信号出力部326は、ぱちんこ遊技機を管理するセンター制御装置などに報知信号を出力することとしてもよい。
【0103】
報知信号出力部326によって出力された報知信号に基づいて、図柄表示部104やランプ制御部251、音声制御部252は、主制御基板310に不正がおこなわれた可能性がある旨を報知する演出を実行する。この演出は、たとえば、図柄表示部104に通常出現しないキャラクタを出現させたり、通常出現するキャラクタを通常とは異なる方法で出現させたりするなどである。また、図柄表示部104の輝度を変えたり、色を変えたり、ランプ制御部251に対して所定のランプを表示制御するようにしてもよい。いずれにせよ、当該ぱちんこ遊技機の前を通過した際に、従業員がその状態に気がつくようにしてあればよい。また、この演出は、顧客がその状態に気がつかないような演出でもよく、また、顧客が容易に気がつく演出であってもよい。顧客が容易に気がつく演出にすれば、不正行為を効率的に抑止することができる。
【0104】
また、報知信号に「大当たり中」や「確率変動中」などのぱちんこ遊技機の遊技状態に関する情報を含めてもよい。これらの遊技状態に関する情報に基づいて、ぱちんこ遊技機を管理するセンター制御装置などによって不正行為がおこなわれているか否かの判断をおこなってもよい。たとえば、大当たり中や確率変動中は入賞が集中していても正常である場合がある。よって、大当たり中や確率変動中は、その他の状態とは異なる条件で不正行為のおそれがあるかについて判断するのがよい。また、遊技状態に関する情報は、報知信号に含めずに別信号として出力するようにしてもよい。この場合、従業員は、報知信号と遊技状態に関する情報の両方に基づいて、不正行為のおそれがあるか否かについて判断する。
【0105】
なお、図3において、期待値は、他の構成部から周辺基板320に送信されることとしてもよい。他の構成部とは、たとえば、他の周辺部や期待値を生成するための専用の処理部(以下、「期待値算出部」という)などである。主制御部や期待値算出部は、あらかじめ記録されている期待値を周辺基板320に送信してもよいし、照合処理ごとに期待値を生成してもよい。また、外部接続用I/F(図示なし)を介して、外部の機器から周辺基板320や期待値算出部に期待値を算出するために必要な係数などを送信してもよい。このように、周辺基板320に、あらかじめ期待値を記録させずに、他の構成部から取得する場合、補正部322は、補正データ受信部321によって受信された補正データから補正値を取得し、判断部324は、取得された期待値および補正値を用いて算出された値が、認証データ受信部323によって受信された認証データ付制御コマンドを用いて算出された値と一致するか否かを判断してもよい。
【0106】
また、周辺基板320は、補正後の期待値(最終期待値)そのものを固定値として保持しなくてもよい。この場合、たとえば製造時から、補正データによる補正処理をおこなわないと、認証が不成立となるように設計する。このようにすることで、最終期待値を知り得る者を限定することができ、期待値に関する情報の流出などのリスクを低減することができる。
【0107】
補正データ付加部314は、補正値を分散させて付加してもよい。たとえば16ビットの補正値の場合、上位8ビットと、下位8ビットとを、2回に分けて付加してもよい。なお、分割するビット数は任意であり、さらに、ビット位置はランダムでもよい。すなわち、16ビットの補正値を、ビット位置に関わらず、たとえば2ビットと、5ビットと、9ビットと、の3回に分けて付加してもよい。この場合、所定の制御コマンドから補正値を分散させた数の所定の制御コマンドに順次補正値を付加すればよい。また、補正データ受信部321は、所定の制御コマンドから補正値を分散させた回数の制御コマンドが補正データ付制御コマンドであると判断してもよい。補正値の分散の回数は、主制御基板310および周辺基板320にあらかじめ設定されていてもよい。
【0108】
また、補正データ生成部313や認証データ生成部316は、補正データや認証データに、複数回の暗号化処理をおこなってもよい。この場合、周辺基板320においては、複数回の復号処理によって補正データや認証データを復号化する。また、認証データ生成部316は、2種類以上の暗号化方法のいずれかを選んで暗号化処理をおこなってもよい。この場合、周辺基板320においては、2種類以上の復号方法によって復号して誤り検査値を取得し、判断部324によって、取得されたいずれかの誤り検査値が期待値と一致するか否かを判断してもよい。そして、認証部325は、取得された誤り検査値のうちのいずれかが期待値と一致した場合に、主制御基板310を認証してもよい。
【0109】
(ぱちんこ遊技機の基本動作)
上記構成によるぱちんこ遊技機の基本動作の一例を説明する。主制御部201は、各入賞口に対する遊技球の入賞状況を制御コマンドとして賞球制御部203に出力する。賞球制御部203は、主制御部201から出力された制御コマンドに応じて、入賞状況に対応した賞球数の払い出しをおこなう。
【0110】
また、主制御部201は、始動入賞口105に遊技球が入賞するごとに、対応する制御コマンドを演出制御部202に出力し、演出制御部202は、図柄表示部104の図柄を変動表示させ、停止させることを繰り返す。大当たりの発生が決定しているときには、対応する制御コマンドを演出制御部202に出力し、演出制御部202は、所定の図柄で揃えて停止させる。このとき同時に、大入賞口109を開放する制御をおこなう。演出制御部202は、大当たり発生期間中、および大当たり発生までの間のリーチ時や、リーチ予告時などには、図柄表示部104に対して、図柄の変動表示に加えて各種の演出表示をおこなう。このほか、各種役物に対して特定の駆動をおこなったり、ランプ261の表示状態を変更したりするなどの演出をおこなう。
【0111】
そして、大当たり発生時には、大入賞口109が複数回開放される。1回の開放が1ラウンドとして、たとえば15回のラウンドが繰り返し実行される。1ラウンドの期間は、遊技球がたとえば10個入賞したとき、あるいは所定期間(たとえば30秒)とされている。この際、賞球制御部203は、大入賞口109に対する遊技球1個の入賞あたり、たとえば15個の賞球数で払い出しをおこなう。大当たり終了後は、この大当たり状態が解除され、通常の遊技状態に復帰する。
【0112】
(各制御部による処理の詳細)
つぎに、各制御部がおこなう各種処理の詳細について説明する。はじめに、主制御部201による演出制御部202の制御処理について説明する。図4および図5は、主制御部による演出制御部の制御処理の手順を示すフローチャートである。なお、図4〜9においては、演出制御部202の制御処理の手順を明確にするため、補正データ、認証データおよび付随データについては考慮しないものとする。すなわち、図4〜図9の説明において、「コマンドを送信する」とは、「当該コマンドを示すデータ(制御コマンドデータ)を含む制御信号を送信する」との意味であり、たとえば補正データや認証データや付随データ(図10参照)の有無は考慮しないものとする。
【0113】
図4および図5のフローチャートにおいて、主制御部201は、まず、ぱちんこ遊技機の電源がオンにされるまで待機する(ステップS401:Noのループ)。ぱちんこ遊技機の電源がオンにされると(ステップS401:Yes)、主制御部201は、演出制御部202や賞球制御部203などの周辺基板に対して電源オンコマンドを送信する(ステップS402)。電源オンコマンドが送信されると、演出制御部202は、ランプ制御部251や音声制御部252、図柄表示部104に対して、それぞれに対して電源オン時の演出用の制御コマンド(具体的には、ランプの点灯や音声の出力、デモ画面の表示などを指示する制御コマンド)を送信する。
【0114】
つぎに、主制御部201は、ROM212またはRAM213に記録されている未抽選入賞回数データを参照して、未抽選入賞回数が0回か否かを判断する(ステップS403)。未抽選入賞回数とは、始動入賞口に検出された入賞球の数(入賞回数)から、入賞球に対応する抽選がおこなわれた回数(既抽選回数)を減じた数である。未抽選入賞回数が0回の場合(ステップS403:Yes)、主制御部201は、デモが開始されてから経過した時間を計測する(ステップS404)。
【0115】
デモが開始されてから所定時間が経過すると(ステップS405:Yes)、主制御部201は、演出制御部202に客待ちデモコマンドを送信して(ステップS406)、ステップS407に移行する。デモが開始されてから所定時間が経過しない場合は(ステップS405:No)、そのままステップS407に移行する。ステップS406で客待ちデモコマンドが送信されると、演出制御部202は、ランプ制御部251や音声制御部252、図柄表示部104に対して客待ちデモ用の制御信号を送信する。また、ステップS403で、未抽選入賞回数が0回ではない場合は(ステップS403:No)、ステップS410に移行する。
【0116】
つぎに、主制御部201は、始動入賞口検出部221によって始動入賞口への入賞球が検出されたか否か判断する(ステップS407)。始動入賞口への入賞球が検出されると(ステップS407:Yes)、主制御部201は、デモが開始されてから計測していた時間をクリアして(ステップS408)、未抽選入賞回数に1を加える(ステップS409)。
【0117】
つづいて、主制御部201は、大当たり判定用乱数を取得して(ステップS410)、未抽選入賞回数から1を減算し(ステップS411)、図5のステップS412に移行する。また、ステップS407で、始動入賞口への入賞球が検出されない場合は(ステップS407:No)、ステップS404に戻り、以降の処理を継続する。
【0118】
つぎに、主制御部201は、ステップS410で取得した大当たり判定用乱数が、あらかじめ定められた大当たり乱数であるか否かを判断する(ステップS412)。大当たり判定用乱数が大当たり乱数である場合(ステップS412:Yes)、主制御部201は、演出制御部202に大当たりリーチコマンド(図柄変動コマンド)を送信する(ステップS413)。主制御部201は、図柄変動時間が経過するまで待機して(ステップS414:Noのループ)、図柄変動時間が経過すると(ステップS414:Yes)、演出制御部202に図柄停止コマンドを送信する(ステップS415)。
【0119】
つぎに、主制御部201は、演出制御部202に大当たり開始コマンドを送信し(ステップS416)、つづけて、大当たり中の各ラウンドに対応するコマンド(大当たりコマンド)を順次送信する(ステップS417)。そして、主制御部201は、全てのラウンドの大当たりコマンドの送信が終わると、大当たり終了コマンドを送信して(ステップS418)、ステップS422に移行する。
【0120】
一方、ステップS412で、大当たり判定用乱数が大当たり乱数でなかった場合(ステップS412:No)、主制御部201は、演出制御部202にはずれリーチコマンド(図柄変動コマンド)を送信する(ステップS419)。主制御部201は、図柄変動時間が経過するまで待機して(ステップS420:Noのループ)、図柄変動時間が経過すると(ステップS420:Yes)、演出制御部202に図柄停止コマンドを送信する(ステップS421)。なお、本実施の形態においては、ステップS419において送信されたはずれリーチコマンド(図柄変動コマンド)と、ステップS421において送信された図柄停止コマンドとを、はずれコマンドとしている。
【0121】
主制御部201は、ぱちんこ遊技機の電源がオフにされるまでは(ステップS422:No)、図4のステップS403に戻り、以降の処理を繰り返す。そして、ぱちんこ遊技機の電源がオフにされると(ステップS422:Yes)、主制御部201は、演出制御部202に終了処理コマンドを送信して(ステップS423)、本フローチャートによる処理を終了する。
【0122】
図6は、大当たり関連コマンド(大当たりリーチコマンド、大当たり開始コマンド、大当たりコマンド、大当たり終了コマンド)の送信タイミングを示すタイムチャートである。大当たりリーチコマンドは、実際に大当たりが発生するよりも頻繁に、かつランダムに送信される。また、大当たり開始コマンドは、実際に大当たりが発生した場合に、大当たり状態に移行する際に1度だけ送信される。また、大当たりコマンドは、大当たり状態に移行した後、ラウンドごとに継続的に送信される。また、大当たり終了コマンドは、大当たり状態の全てのラウンドが終了し、通常の状態に移行する際に1度だけ送信される。
【0123】
つぎに、演出制御部202による処理について説明する。以下では、図柄変動時(大当たりリーチコマンド(図5のステップS413参照)または、はずれリーチコマンド(図5のステップS419参照)を受信した場合)および、大当たり時の演出制御部202の処理について説明する。
【0124】
図7は、演出制御部による図柄変動処理の手順を示すフローチャートである。図7のフローチャートにおいて、演出制御部202は、まず、図柄変動コマンドである大当たりリーチコマンド(図5のステップS413参照)、または、はずれリーチコマンド(図5のステップS419参照)を受信するまで待機する(ステップS701:Noのループ)。図柄変動コマンドを受信すると(ステップS701:Yes)、演出制御部202は、変動演出選択用の乱数を取得して(ステップS702)、取得した乱数に基づいて変動演出の種類を選択する(ステップS703)。そして、演出制御部202は、ランプ制御部251や音声制御部252に対して変動演出別の演出開始コマンドを送信する(ステップS704)。
【0125】
演出制御部202は、変動演出の演出時間が経過したか否かや(ステップS705)、主制御部201から図柄停止コマンド(図5のステップS415,S421参照)を受信したか否かを判断する(ステップS706)。演出時間が経過した場合(ステップS705:Yes)、または図柄停止コマンドを受信した場合(ステップS706:Yes)、演出制御部202は、ランプ制御部251や音声制御部252に対して演出停止コマンドを送信する(ステップS707)。また、演出時間が経過せず(ステップS705:No)、かつ図柄停止コマンドを受信しない場合は(ステップS706:No)、ステップS705に戻り、以降の処理を繰り返す。
【0126】
つぎに、演出制御部202の大当たり時の処理について説明する。図8は、演出制御部による大当たり時の処理の手順を示すフローチャートである。図8のフローチャートにおいて、演出制御部202は、まず、主制御部201から大当たり開始コマンド(図5のステップS416参照)を受信するまで待機する(ステップS801:Noのループ)。大当たり開始コマンドを受信すると(ステップS801:Yes)、演出制御部202は、ランプ制御部251や音声制御部252に対して大当たり開始処理コマンドを送信する(ステップS802)。
【0127】
つぎに、演出制御部202は、主制御部201からラウンド別の大当たりコマンド(図5のステップS417参照)を受信するまで待機する(ステップS803:Noのループ)。大当たりコマンドを受信すると(ステップS803:Yes)、演出制御部202は、ランプ制御部251や音声制御部252に対して受信したラウンド別の大当たりコマンドに対応するラウンド別処理コマンドを送信する(ステップS804)。
【0128】
つづいて、演出制御部202は、主制御部201から大当たり終了コマンド(図5のステップS418参照)を受信するまで待機する(ステップS805:Noのループ)。大当たり終了コマンドを受信すると(ステップS805:Yes)、演出制御部202は、ランプ制御部251や音声制御部252に対して大当たり終了処理コマンドを送信して(ステップS806)、本フローチャートによる処理を終了する。
【0129】
つづいて、ランプ制御部251によるランプ制御処理について説明する。ここでは、演出制御部202から図柄変動コマンドを受信した場合(図柄変動時)の処理について説明する。図9は、ランプ制御部による図柄変動時のランプ制御処理の手順を示すフローチャートである。図9のフローチャートにおいて、ランプ制御部251は、まず、演出制御部202から演出開始コマンドを受信するまで待機する(ステップS901:Noのループ)。
【0130】
演出制御部202から演出開始コマンドを受信すると(ステップS901:Yes)、ランプ制御部251は、コマンド別に用意されているデータを読み出して(ステップS902)、コマンド別の選択ルーチンを実行し(ステップS903)、ランプデータをセットする(ステップS904)。そして、ランプ制御部251は、ランプ261に対してランプデータを出力する(ステップS905)。ランプ制御部251から出力されたランプデータに基づいて、ランプ261は点灯または消灯する。
【0131】
ランプ制御部251は、演出制御部202から演出停止コマンドを受信するまでは(ステップS906:No)、ステップS905に戻り、ランプデータの出力を継続する。演出停止コマンドを受信すると(ステップS906:Yes)、ランプ制御部251は、ランプデータの出力を停止して(ステップS907)、本フローチャートによる処理を終了する。
【0132】
なお、図9にはランプ制御部251の処理を記載したが、音声制御部252による音声制御も、図9の処理とほぼ同様である。音声制御部252による音声制御処理は、図9の処理において、ステップS904,S905,S907の「ランプデータ」を「音声データ」と読み替えればよい。
【0133】
このように、演出制御部202や賞球制御部203などの周辺部は、主制御部201によって出力された制御コマンドに基づいて各種の処理をおこなう。一方、たとえば、主制御部201と周辺部との間に不正な制御基板が接続された場合(図15参照)などのように、制御コマンドの出力元が正規の主制御部201ではない場合、周辺部は不正な制御基板から出力された不正な制御コマンドによって不正な動作をおこなってしまう。
【0134】
この不正な動作を防止するため、本実施の形態にかかる電子機器では、たとえばぱちんこ遊技機において、主制御部201から出力される制御コマンドが所定のコマンドである場合、主制御部201と周辺部との間で認証処理をおこなう。所定のコマンドとは、具体的には、大当たり状態にするか否かを抽選する大当たり抽選の抽選結果がはずれの場合の処理を周辺部に実行させるはずれコマンドである。この認証処理によって、主制御部201が不正な制御基板に交換されたり、主制御部201と周辺部との間に不正な制御基板が取り付けられたりするなどの不正を検知して、ぱちんこ遊技機への不正を防止することができる。
【0135】
一方、周辺部においては、主制御部201に対する認証処理をおこなう際に、周辺部に保持されている期待値によって、主制御部201から出力されたデータを照合し、このデータを用いて算出された値と、期待値とが一致する場合に、主制御部201を認証する。このとき、たとえばぱちんこ遊技機の仕様が変更されたり、賞球数や確率の変更があったりした場合に、主制御部201を他の主制御部201に変更すると、周辺部には変更前の主制御部201に応じた期待値が保持されているため、変更後の他の主制御部201を認証することができない。このため、変更後の他の主制御部201を、正規な制御基板であるにも関わらず不正な制御基板と認証してしまい、認証処理を誤ってしまう。
【0136】
この認証処理の誤りを防止するため、本実施の形態にかかる電子機器では、たとえばぱちんこ遊技機において、主制御部201から出力される制御コマンドが所定のコマンドである場合、主制御部201から周辺部へ、期待値の補正をおこなうための補正データを送信する。そして、周辺部においては、この補正データを用いて期待値の補正処理をおこなう。
【0137】
所定のコマンドとは、具体的には、はずれコマンドである。この補正処理によって、主制御部201が他の主制御部201に変更されても、周辺部を変更したり、期待値を変更したりせずに、変更後の他の主制御部201に応じた期待値に補正することができる。したがって、認証処理の誤りを防止し、たとえば主制御部201が変更されても、変更後の他の主制御部201を正規の制御基板であると認証することができる。また、補正値のみを送信し、期待値そのものは送信しないため、第三者に期待値が窃取されにくく、ぱちんこ遊技機への不正を防止することができる。
【0138】
また、大当たり抽選時の抽選結果として最も発生頻度が高いはずれの場合の処理を周辺部に実行させるはずれコマンドを送信する際に、認証データを付加することができる。したがって、認証処理をおこなう回数が増え、認証の強度を上げることができる。さらに、はずれコマンドの発生頻度が高いため、補正データを付加した後に認証データを付加するのであれば、はずれコマンドにランダムに補正データや認証データを付加することができる。または、設計者の所望のタイミングではずれコマンドに補正データや認証データを付加することができる。このため、はずれコマンドの全てに補正データや認証データが付加されているのと比べて、第三者に補正データや認証データが付加されている制御信号を見破られる可能性が低くなる。
【0139】
また、補正データ付加部314は、たとえば周辺基板320にはずれリーチコマンドを送信する際に、補正データを付加する。そして、認証データ付加部317は、たとえば周辺基板320に補正データを付加したはずれリーチコマンドによって開始した図柄の変動を停止する図柄停止コマンドを送信する際に、認証データを付加する。このように、はずれ状態の中で前後関係が明確なコマンドに補正データと認証データとをこの順に付加することで、1回のはずれ状態の処理の間に、補正処理と認証処理とをこの順におこなうことができる。したがって、大当たり状態になる前に不正を検知することができ、不正な制御によって不正な大当たり状態となることを防ぐことができる。また、認証処理の前に補正処理をおこなうので、変更後の主制御部を正規の基板であると認証することができ、認証の強度を向上させることができる。
【0140】
(制御信号のデータフォーマット)
つづいて、主制御部201が周辺部に出力する制御信号のデータフォーマットについて説明する。図10は、主制御部が出力する制御信号のデータフォーマットを模式的に示す説明図である。図10に示すように、主制御部201が出力する通常の制御信号1010には、制御コマンドデータ1001および付随データ1002が含まれている。制御コマンドデータ1001は、たとえば大当たりリーチコマンドや大当たり開始コマンド、ラウンド別コマンドなどの各コマンド固有のデータである。また、付随データ1002は、制御コマンドデータ1001に付随するデータであり、たとえば、入賞した遊技球の数など制御コマンドデータ1001に基づく処理に必要なデータである。
【0141】
一方、主制御部201は、制御信号内の制御コマンドデータ1001が特定の種類のコマンドである場合、制御コマンドデータ1001および付随データ1002に加え、認証データ1003または補正データ1004を含んだ、認証データ付制御信号1020または補正データ付制御信号1030を周辺部に出力する。具体的には、主制御部201は、制御コマンドデータ1001がはずれコマンド(たとえば、はずれリーチコマンド)である場合に、補正データ1004を含んだ制御信号を周辺部に出力し、制御コマンドデータ1001がはずれコマンド(たとえば、図柄停止コマンド)である場合に、認証データ1003を含んだ制御信号を周辺部に出力する。
【0142】
なお、補正データ1004を含んだ制御信号を出力するのは、電源投入後の最初のはずれコマンドでもよいし、電源投入後の所定回数目のはずれコマンドでもよい。すなわち、認証データ1003を含んだ制御信号を出力する前のはずれコマンドであれば電源投入後の何回目のはずれコマンドでもよい。そして、補正データを送信した後のはずれコマンドには、補正データ1004か認証データ1003のいずれかのデータを付加してもよいし、これらのデータを付加しなくてもよい。
【0143】
このように、認証データ1003または補正データ1004を制御信号に含めることによって、認証データ単体または補正データ単体で送信する場合と比較して、主制御部201と周辺部との間の通信負荷を減らすことができる。また、認証データ1003または補正データ1004を制御信号に含めることによって、認証データ1003または補正データ1004を単体で送信する場合と比較して、通信データ中から認証データまたは補正データが抽出され、解析されてしまう可能性を低減することができる。また、補正処理や認証処理は、所定の制御コマンド(たとえば、はずれコマンド)を送信するときにのみおこなわれるため、全ての制御コマンドを送信するときに補正処理や認証処理をおこなうのと比べると、補正処理や認証処理による主制御部201や周辺部の処理負荷を減らすことができる。
【0144】
認証データ1003は、周辺部が保持している期待値と照合することで、制御コマンドデータ1001および付随データ1002が正規の主制御部201から出力されたものであることを、認証するためのデータである。認証データ1003は、たとえば、主制御部201のROM212に記録されたプログラムデータを元に生成された値である。より具体的には、認証データ1003は、たとえば、ROM212に記録されたプログラムデータの全てまたは一部に対して、ハッシュ関数による演算やパリティチェック、巡回冗長検査(Cyclic Redundancy Check:CRC)、チェックサムなどの、誤り検出演算をおこなって得られた値(以下、「プログラムコード認証値」という)を、所定の暗号化方式で暗号化した値である。
【0145】
このように、認証データ1003は、主制御部201のROM212に記録されたプログラムデータを用いて生成される。このため、周辺部は、認証データ1003を期待値と照合させることで認証をおこなうことによって、制御信号の出力元が正規の主制御部201であるか否かを判断することができる。また、主制御部201のROM212に記録されたプログラムコードの不正な書き換えや、主制御部201のROM212の不正な取り替えなどを検出することができる。
【0146】
なお、主制御部201は、それぞれの制御信号に対して異なる認証データ1003を生成するものとする。具体的には、たとえば、認証データ1003を生成するために用いるROM212内のプログラムコードの範囲を異ならせたり、認証データ1003を生成するための誤り検出演算を異ならせるようにする。また、認証データ1003を生成するにあたって用いるデータは、プログラムコードに限らず、ROM212に記録された任意のデータであってもよい。
【0147】
また、補正データ1004は、周辺部において主制御部201から送信されたデータの照合に用いる期待値を補正するためのデータである。補正データ1004は、たとえば主制御部201に固有の値を元に生成された値である。具体的には、補正データ1004は、主制御部201が複数ある場合、それぞれの主制御部201を識別可能な値であり、たとえば、主制御部201が他の主制御部201に変更された場合、周辺部に保持された変更前の主制御部201に応じた期待値を、変更後の他の主制御部201に応じた期待値に補正するための値である。より具体的には、補正データ1004は、主制御部201が他の主制御部201に変更された場合、変更される前の主制御部201に設定されていた固有の値と、変更された後の他の主制御部201に設定されている固有の値との差分である。なお、補正データ1004は、たとえば、認証データ1003と同様に、主制御部201のROM212に記録されたプログラムデータを元に生成された値でもよい。
【0148】
また、認証データ1003や補正データ1004には、認証データ1003や補正データ1004とともに送信される制御コマンドデータ1001や付随データ1002に関するデータを含ませてもよい。制御コマンドデータ1001や付随データ1002に関するデータとは、制御コマンドデータ1001や付随データ1002そのものや、制御コマンドデータ1001や付随データ1002に対して上述したような誤り検出方式を用いた演算をおこなって得られた値などである。
【0149】
一般に、不正な制御基板は、正規の主制御部201と異なる制御コマンドを送信することによって、周辺部に不正な動作をおこなわせようとする。認証データ1003や補正データ1004とともに送信する制御コマンドデータ1001や付随データ1002を用いて認証データ1003や補正データ1004を生成すれば、不正な制御基板によって認証データ1003や補正データ1004が再利用された場合であっても、認証データ1003や補正データ1004と制御コマンドデータ1001の整合がとれず、不正を検知することができる。
【0150】
認証データ1003や補正データ1004に制御コマンドデータ1001や付随データ1002に関するデータを含ませる場合、主制御部201は制御コマンドデータ1001や付随データ1002に関するデータとプログラムコード認証値とを合わせて暗号化して、認証データ1003や補正データ1004を生成する。
【0151】
なお、制御コマンドデータ1001、付随データ1002、認証データ1003または補正データ1004の並び方は、図10に示す順番に限らず、たとえば認証データ1003または補正データ1004を制御信号の先頭にしたり、制御コマンドデータ1001と付随データ1002との間に認証データ1003または補正データ1004を挿入したりしてもよい。また、制御コマンドデータ1001および付随データ1002とは別個に認証データ1003を出力することとしてもよい。たとえば、はずれコマンドを含む制御信号を送信した後、1回目の制御信号送信時に補正データ1004を付加して、3回目の制御信号送信時に認証データ1003を付加する、などとしてもよい。
【0152】
さらに、認証データ1003や補正データ1004を含まない通常の制御信号1010に、補正データ1004や認証データ1003と同程度のサイズのダミーデータ(不図示)を付加してもよい。ここで、ダミーデータは、補正処理や認証処理に用いないデータである。このようにすることで、通常の制御信号1010のデータサイズを、認証データ付制御信号1020や補正データ付制御信号1030と同程度とすることができる。このため、第三者にデータサイズの違いによって認証データ1003や補正データ1004が付加されている制御信号を見破られることを防ぐことができる。
【0153】
(制御信号の送受信処理)
つづいて、図11、図12を用いて、主制御部201と周辺部との間でおこなう制御信号の送受信処理について説明する。以下、主制御部201と演出制御部202との間の制御信号の送受信処理について説明するが、主制御部201と賞球制御部203との間の制御信号の送受信処理も同様の手順でおこなわれる。
【0154】
図11は、主制御部による制御信号の送信処理の手順を示すフローチャートである。図11のフローチャートにおいて、主制御部201は、まず、主制御部201の電源がオンにされるまで待機する(ステップS1101:Noのループ)。主制御部201の電源がオンにされた場合(ステップS1101:Yes)、補正データ1004を生成する(ステップS1102)。そして、制御コマンドの送信タイミングとなるまで待機する(ステップS1103:Noのループ)。制御コマンドの送信タイミングとなった場合(ステップS1103:Yes)、主制御部201は、今回送信する制御コマンドがはずれコマンドか否かを判断する(ステップS1104)。
【0155】
今回送信する制御コマンドがはずれコマンドである場合(ステップS1104:Yes)、主制御部201は、補正データを送信済みか否かを判断する(ステップS1105)。ステップS1105において、まだ補正データを送信していないと判断された場合(ステップS1105:No)、制御コマンドデータ1001(はずれコマンドデータ)および付随データ1002をセットする(ステップS1106)。つぎに、主制御部201は、ステップS1102,S1106で生成した制御コマンドデータ1001、付随データ1002、補正データ1004からなる制御信号(補正データ付制御信号1030)を演出制御部202に送信する(ステップS1107)。そして、主制御部201の電源がオフにされたか否かを判断して(ステップS1108)、主制御部201の電源がオフにされない場合(ステップS1108:No)、ステップS1103に戻り、次の制御コマンドの送信タイミングまで待機して、以降の処理を繰り返しおこなう。そして、ステップS1108において電源がオフにされた場合(ステップS1108:Yes)、本フローチャートによる処理を終了する。
【0156】
一方、ステップS1105において、すでに補正データを送信済みの場合(ステップS1105:Yes)、主制御部201は、制御コマンドデータ1001(はずれコマンドデータ)および付随データ1002をセットする(ステップS1109)。また、主制御部201は、認証データ1003を生成する(ステップS1110)。このとき、ステップS1109とステップS1110の順序を入れ替えてもよい。つぎに、主制御部201は、ステップS1109,S1110で生成した制御コマンドデータ1001、付随データ1002、認証データ1003からなる制御信号(認証データ付制御信号1020)を演出制御部202に送信する(ステップS1111)。そして、ステップS1108に進み、電源がオフにされた場合(ステップS1108:Yes)、本フローチャートによる処理を終了する。
【0157】
また、ステップS1104において今回送信する制御コマンドがはずれコマンド以外のコマンドである場合(ステップS1104:No)、主制御部201は、制御コマンドデータ1001(はずれコマンド以外のコマンド)および付随データ1002をセットする(ステップS1112)。つぎに、ステップS1112でセットした制御コマンドデータ1001および付随データ1002からなる制御信号(通常の制御信号1010)を演出制御部202に送信する(ステップS1113)。そして、ステップS1108に進み、電源がオフにされた場合(ステップS1108:Yes)、本フローチャートによる処理を終了する。
【0158】
なお、図11のフローチャートにおいては、ステップS1102において補正データを生成するとしているが、これに限らず、ステップS1107において補正データ付制御信号1030を送信する前に補正データ1004を生成してもよい。具体的には、たとえば補正データ1004をプログラムコードや制御コマンドを用いて生成する場合、ステップS1105:Noにおいて補正データ1004を送信していないと判断された後で、ステップS1106において制御コマンドデータ1001および付随データ1002をセットする前に、補正データ1004を生成してもよい。また、ステップS1106において制御コマンドデータ1001および付随データ1002をセットした後で、ステップS1107において補正データ付制御信号1030を送信する前に、補正データ1004を生成してもよい。
【0159】
また、図11のフローチャートにおいては、ステップS1105:Yesにおいて補正データを送信済みの場合、ステップS1109〜ステップS1111の処理をおこなって、認証データ付制御信号1020を送信するとしているが、これに限るものではない。たとえば、ステップS1105:Yesにおいて、すでに補正データを送信済みであると判断されても、ステップS1106,ステップS1107の処理をおこなって、再度補正データ付制御信号1030を送信する構成でもよい。また、ステップS1112、ステップS1113の処理をおこなって通常の制御信号1010を送信してもよい。
【0160】
また、図11のフローチャートにおいては、ステップS1104においてはずれリーチコマンドか否かを判断して、はずれリーチコマンドではない場合、ステップS1105に進み、はずれリーチコマンドによって開始された図柄の変動を停止する図柄停止コマンドか否かを判断してもよい。このように、はずれ状態の中で前後関係が明確なコマンドに補正データと認証データとをこの順に付加することで、1回のはずれ状態の処理の間に、補正処理と認証処理とをこの順におこなうことができる。したがって、不正な処理の対象になりやすい大当たり状態になる前に不正を検知することができる。このため、不正な制御によって不正な大当たり状態となることを防ぐことができ、大当たり状態を不正のない安全な状態でおこなわせることができる。
【0161】
また、大当たり抽選時の抽選結果として最も発生頻度が高いはずれの場合の処理を周辺部に実行させるはずれコマンドの送信時にコマンドデータに補正データや認証データを付加することとすれば、抽選をおこなってから補正処理や認証処理をおこなうという流れをぱちんこ遊技機の処理の基本形とみなすことができる。大当たりリーチ時や大当たり時の処理は、ぱちんこ遊技機の機種ごとに演出方法が変更されるなど、特殊な処理に区分されるが、はずれ時の処理は機種ごとの差異が少ない。このため、はずれ時の処理に補正処理や認証処理を組み込むこととすれば、補正処理や認証処理の流れをほとんど変更せずに、ぱちんこ遊技機の本体を他の機種に再利用することが可能となる。
【0162】
また、はずれコマンドの発生頻度が高いため、認証処理をおこなう回数が増え、認証の強度を上げることができる。さらに、はずれコマンドの発生頻度が高いことで、補正データを付加した後に認証データを付加するのであれば、はずれコマンドにランダムに補正データや認証データを付加することができる。または、設計者の所望のタイミングではずれコマンドに補正データや認証データを付加することができる。このようにすることで、はずれコマンドの全てに補正データや認証データが付加されているのと比べて、第三者に補正データや認証データが付加されている制御コマンドを見破られる可能性を低くすることができる。
【0163】
つぎに、演出制御部202による制御信号の受信処理について説明する。図12は、演出制御部202による制御信号の受信処理の手順を示すフローチャートである。図12のフローチャートにおいて、演出制御部202は、まず、主制御部201から制御信号を受信するまで待機する(ステップS1201:Noのループ)。主制御部201から制御信号を受信すると(ステップS1201:Yes)、演出制御部202は、受信した制御信号に補正データ1004が含まれているか否かを判断する(ステップS1202)。制御信号に補正データ1004が含まれているか否かの判断は、たとえば、制御信号のデータ量が通常の制御信号よりも多いか否かや、補正データ1004が含まれていることを示すフラグが制御信号に立てられているか否かを判断することによっておこなう。
【0164】
ステップS1202において、制御信号に補正データ1004が含まれている場合(ステップS1202:Yes)、演出制御部202は、制御信号から補正データ1004を抽出し、この補正データ1004を用いて演出制御部202に保持されている期待値を補正する(ステップS1203)。
【0165】
また、ステップS1202において、演出制御部202は、受信した制御信号に補正データ1004が含まれているか否かではなく、制御信号に含まれる制御コマンドデータ1001がはずれコマンドのデータであるか否かを判断してもよい。この場合、演出制御部202は、制御信号に含まれる制御コマンドデータ1001がはずれコマンドのデータである場合に、制御信号から補正データ1004を抽出し、ステップS1203に進む。また、ステップS1202において、演出制御部202は、たとえば電源が投入(または、リセット)されてから、所定回数目のはずれコマンドのデータであるか否かを判断してもよい。この場合、演出制御部202は、電源が投入(または、リセット)されてから所定回数目のはずれコマンドのデータである場合に、制御信号から補正データ1004を抽出し、ステップS1203に進むこととしてもよい。
【0166】
つぎに、制御信号に含まれている制御コマンドデータ1001および付随データ1002に基づく処理をおこなって(ステップS1204)、ステップS1201に戻り、次の制御信号を受信するまで待機し、以降の処理を繰り返しおこなう。
【0167】
一方、ステップS1202において、制御信号に補正データ1004が含まれていない場合(ステップS1202:No)、演出制御部202は、ステップS1201において受信した制御信号に認証データ1003が含まれているか否かを判断する(ステップS1205)。制御信号に認証データ1003が含まれているか否かの判断は、たとえば、制御信号のデータ量が通常の制御信号よりも多いか否かや、認証データ1003が含まれていることを示すフラグが制御信号に立てられているか否かを判断することによっておこなう。
【0168】
また、ステップS1205において、演出制御部202は、受信した制御信号に認証データ1003が含まれているか否かではなく、制御信号に含まれる制御コマンドデータ1001が、補正データ1004を送信した後のはずれコマンドのデータであるか否かを判断してもよい。この場合、演出制御部202は、制御信号に含まれる制御コマンドデータ1001が、補正データ1004を送信した後のはずれコマンドのデータである場合に、制御信号から認証データ1003を抽出し、ステップS1206に進む。また、ステップS1205において、演出制御部202は、たとえば電源が投入(または、リセット)されてから、所定回数目のはずれコマンドのデータであるか否かを判断してもよい。この場合、演出制御部202は、電源が投入(または、リセット)されてから所定回数目のはずれコマンドのデータである場合に、制御信号から認証データ1003を抽出し、ステップS1206に進むこととしてもよい。
【0169】
制御信号に認証データ1003が含まれている場合(ステップS1205:Yes)、演出制御部202は、制御信号から認証データ1003を抽出し、ステップS1203において補正された期待値を取得して(ステップS1206)、制御信号に含まれている認証データ1003と期待値とが一致するか否かを判断する(ステップS1207)。このとき、演出制御部202は、認証データ1003と期待値とが一致するか否かではなく、認証データ1003と期待値とが所定の関係にあるか否かを判断してもよい。所定の関係とは、たとえば、認証データ1003に所定の演算をおこなって得た値が期待値と一致する、などの関係である。
【0170】
認証データと期待値とが一致する場合(ステップS1207:Yes)、演出制御部202は、制御信号を送信した主制御部201の正当性を認証し、ステップS1204に進み、制御信号に含まれている制御コマンドデータ1001および付随データ1002に基づく処理をおこなう。一方、認証データと期待値とが一致しない場合(ステップS1207:No)、演出制御部202は、制御信号を送信した主制御部201の正当性を認証せず、制御コマンドデータ1001および付随データ1002を破棄するとともに、報知信号出力部326(図3参照)から報知信号を出力して(ステップS1208)、本フローチャートによる処理を終了する。なお、ステップS1208では、データの破棄と報知のいずれかのみをおこなうこととしてもよい。
【0171】
また、ステップS1205において、制御信号に認証データ1003が含まれていない場合(ステップS1205:No)、演出制御部202は、認証処理をおこなわず、そのままステップS1204に進み、制御コマンドデータ1001および付随データ1002に基づく処理をおこなってもよい。
【0172】
なお、図12のフローチャートにおいては、演出制御部202があらかじめ期待値を保持せず、期待値が他の構成部から送信される場合、ステップS1203においては期待値を補正せず、補正データ1004を抽出して記録部などに記録しておく。そして、ステップS1206において期待値を他の構成部から取得した後に、記録された補正データ1004を用いて期待値を補正し、ステップS1207に進み、補正された期待値が認証データ1003と一致するか否かを判断してもよい。
【0173】
(制御部間の制御信号の流れの一例)
つぎに、主制御部201と周辺部との間の制御信号の流れを、図13のシーケンス図を用いて説明する。ここで、周辺部は、たとえば演出制御部202や賞球制御部203(図2)である。図13は、制御部間の制御信号の流れの一例を示すシーケンス図である。図13において、点線Aに囲まれた部分が1回分の補正処理のステップであり、点線Bに囲まれた部分が1回分の認証処理のステップである。なお、図13のシーケンス図においては、補正処理および認証処理を明確にするため、はずれコマンド以外のコマンドの際の制御信号の流れを省略して記載している。
【0174】
図13に示すように、まず、主制御部201は、補正値Maを生成する(ステップS1301)。補正値Maは、主制御部201の照合用の期待値を補正する値であり、補正データ1004の元となる値である。補正値Maは、好適には、実際の補正値とソルト値との演算結果値がよい。また、aは、補正処理の処理順序をあらわし、たとえば主制御部201の電源がオンされてから1回目の補正処理の場合、a=1となる。
【0175】
そして、制御コマンドデータ1001がはずれコマンド(たとえば、はずれリーチコマンド)である場合、主制御部201は、制御コマンドデータ1001(はずれコマンドデータ)および付随データ1002をセットする(ステップS1302)。また、主制御部201は、補正データ1004(Vma)を生成する(ステップS1303)。ステップS1303においては、たとえば下記(1)式によって補正データ1004(Vma)を生成する。ここで、nは、大当たり状態の処理順序をあらわし、たとえば主制御部201の電源がオンされてから1回目のはずれ状態の処理を実行するはずれコマンドの場合、n=1となる。Fnは、たとえば主制御部201の電源がオンされてからn回目のはずれコマンドの際に、ステップS1302においてセットされた制御コマンドデータ1001および付随データ1002をあらわす。また、Ec(A,B)は、暗号化演算式をあらわす。なお、暗号化演算による暗号化処理を、2回以上おこなってもよい。
【0176】
Vma=Ec(Ma,Fn) ・・・(1)
【0177】
ここで、具体的には、たとえばMa=0x35、Fn=0x22であり、Ec(A,B)が、A xor B(排他的論理和)の場合、Vmaは下記(2)式によって、0x17となる。
【0178】
Vma=Ec(0x35,0x22)
=0x35 xor 0x22
=0x17 ・・・(2)
【0179】
つぎに、主制御部201は、制御コマンドデータ1001、付随データ1002、補正データ1004を含む補正データ付制御信号1030(Fn,Vma)を周辺部に送信する(ステップS1304)。なお、ステップS1304においては、はずれコマンドのn回目に付随データ1002がセットされた制御コマンドデータ1001(Fn)と、補正データ1004(Vma)とを、別々に周辺部に送信してもよい。また、この場合、送信順序は、順不同でよい。
【0180】
演出制御部202は、ステップS1304で送信された補正データ付制御信号(Fn,Vma)を受信する(ステップS1305)。つぎに、演出制御部202は、補正データ1004(Vma)を復元する(ステップS1306)。ステップS1306においては、下記(3)式によって補正データ1004(Vma)を復元し、補正値Maを取得する。ここで、Dc(A,B)は、復号化演算式をあらわす。
【0181】
Ma=Dc(Vma,Fn) ・・・(3)
【0182】
ここで、具体的には、たとえばVma=0x17、Fn=0x22であり、Dc(A,B)が、A xor Bの場合、Maは下記(4)式によって、0x35となる。
【0183】
Ma=Dc(0x17,0x22)
=0x17 xor 0x22
=0x35 ・・・(4)
【0184】
つぎに、ステップS1306において取得された補正値Maを用いて期待値補正処理をおこなう(ステップS1307)。なお、たとえば周辺部にあらかじめ期待値が保持されていない場合、ステップS1307において、周辺部は、他の制御部から期待値を取得し、取得された期待値に期待値補正処理をおこなう。そして、周辺部は、制御コマンドデータ1001および付随データ1002に基づく処理をおこなう(ステップS1308)。
【0185】
なお、具体的には、ステップS1307において、あらかじめ保持されていた期待値(旧期待値)が、0xACの場合、補正処理によって補正された期待値(新期待値)は、下記(5)式によって0x77となる。そして、周辺部は、この0x77を主制御部201の照合用の期待値として保持する。
【0186】
0xAC(旧期待値)−0x35(補正値)=0x77(新期待値) ・・・(5)
【0187】
つぎに、補正処理がおこなわれた後に、制御コマンドデータ1001がはずれコマンド(たとえば、図柄停止コマンド)の場合、主制御部201は、制御コマンドデータ1001(はずれコマンドデータ)および付随データ1002をセットする(ステップS1311)。また、主制御部201は、誤り検査値Cbを生成する(ステップS1312)。ここで、誤り検査値Cbは、主制御部201の備える記録部などに記録された所定のプログラムコードなどから生成した誤り検出可能な数値である。誤り検査値Cbは、好適には、実際の誤り検査値とソルト値との演算結果値がよい。また、bは、認証処理の処理順序をあらわし、たとえば電源がオンされてから1回目の認証処理の場合、b=1となる。
【0188】
さらに、主制御部201は、認証データ1003(Vcb)を生成する(ステップS1313)。ステップS1313においては、たとえば下記(6)式によって認証データ1003(Vcb)を生成する。なお、ステップS1313において、暗号化演算をおこなう方式は、1種類でもよいし、2種類以上でもよい。暗号化方式が2種類以上の場合、ステップS1313においては、複数の暗号化方式の中から1種類の暗号化方式を選択し、選択した暗号化方式によって暗号化演算をおこなう。また、暗号化演算による暗号化処理を、2回以上おこなってもよい。
【0189】
Vcb=Ec(Cb,Fn+1) ・・・(6)
【0190】
ここで、具体的には、たとえばCb=0x77、Fn+1=0x22であり、Ec(A,B)が、A xor Bの場合、Vcbは下記(7)式によって、0x55となる。
【0191】
Vcb=Ec(0x77,0x22)
=0x77 xor 0x22
=0x55 ・・・(7)
【0192】
つぎに、主制御部201は、制御コマンドデータ1001、付随データ1002、認証データ1003を含む認証データ付制御信号1020(Fn+1,Vcb)を周辺部に送信する(ステップS1314)。なお、ステップS1313においては、はずれコマンドのn+1回目に付随データ1002がセットされた制御コマンドデータ1001(Fn+1)と、認証データ1003(Vcb)とを、別々に周辺部に送信してもよい。また、この場合、送信順序は、順不同でよい。
【0193】
周辺部は、ステップS1314で送信された認証データ付制御信号(Fn+1,Vcb)を受信する(ステップS1315)。つぎに、演出制御部202は、認証データ1003(Vcb)を復元する(ステップS1316)。ステップS1316においては、下記(8)式によって認証データ1003(Vcb)を復元し、誤り検査値Cbを取得する。なお、ステップS1316においては、ステップS1314において複数の暗号化方式の中から1種類の暗号化方式が選択されて暗号化処理された場合、複数の復号化方式によって復号化する。
【0194】
Cb=Dc(Vcb,Fn+1) ・・・(8)
【0195】
ここで、具体的には、たとえばVcb=0x55、Fn+1=0x22であり、Dc(A,B)が、A xor Bの場合、誤り検査値Cbは下記(9)式によって、0x77となる。
【0196】
Cb=Dc(0x55,0x22)
=0x55 xor 0x22
=0x77 ・・・(9)
【0197】
つぎに、ステップS1307において補正された期待値(新期待値)と、ステップS1316において取得された誤り検査値Cbと、を用いて認証処理をおこなう(ステップS1317)。ステップS1317においては、たとえば期待値と誤り検査値Cbとが一致する場合に、主制御部201を認証する。なお、ステップS1317においては、ステップS1316において複数の復号化方式によって復号化され、取得された誤り検査値Cbのいずれかが期待値と一致する場合に、主制御部201を認証してもよい。
【0198】
ここで、具体的には、新期待値は、上述の(5)式によって算出されたように0x77であり、誤り検査値Cbは、上述の(9)式によって算出されたように0x77である。したがって、新期待値と誤り検査値Cbとが一致するため、この場合、認証が成立することとなる。
【0199】
ステップS1317において、認証が成立した場合、周辺部は制御コマンドデータ1001および付随データ1002に基づく処理をおこなう(ステップS1318)。なお、ステップS1317において、認証が成立しなかった場合は、制御コマンドデータ1001および付随データ1002を破棄する(図12のステップS1208参照)。
【0200】
なお、図13のシーケンス図においては、一例としてn回目のはずれコマンドのときに補正データ付制御信号1030を送信し、(n+1)回目のはずれコマンドのときに認証データ付制御信号1020を送信することとしているが、これに限るものではない。具体的には、たとえば補正データ付制御信号1030を送信してから、認証データ付制御信号1020を送信するまでの間のはずれコマンドのときに、補正データ1004や認証データ1003の付加されていない通常の制御信号1010を送信してもよい。すなわち、認証データ付制御信号1020を送信するのは、(n+1)回目のはずれコマンドのときでなくてもよく、たとえば(n+2)回目や(n+3)回目のはずれコマンドのときでもよい。
【0201】
また、図13のシーケンス図においては、認証処理の前に、少なくとも1回の補正処理がおこなわれていればよい。したがって、図13に示す認証処理の後には、主制御部201は、補正データ付制御信号1030を送信してもよいし、認証データ付制御信号1020を送信してもよい。また、補正データ1004または認証データ1003の付加されていない通常の制御信号1010を送信してもよい。
【0202】
また、図13のシーケンス図において、周辺部は、ステップS1307において期待値補正をおこなった後に、補正後の期待値(最終期待値)そのものを固定値として保持しなくてもよい。この場合、たとえば製造時から、補正データ1004による補正処理をおこなわないと、ステップS1318において認証が不成立となるように設計する。このようにすることで、最終期待値を知り得る者を限定することができ、期待値に関する情報の流出などのリスクを低減することができる。
【0203】
また、図13のシーケンス図における具体例においては、暗号化演算式および復号化演算式に、排他的論理和を用いたが、四則や暗号演算など、他の演算式を用いてもよい。すなわち、主制御部201および周辺部において、あらかじめ相互で定められている認証方式や演算式であればよい。
【0204】
また、補正データを用いた補正処理や認証データを用いた認証処理は、補正データや認証データを受信する度におこなうのではなく、複数の補正データや認証データを受信した時点でおこなうこととしてもよい。この場合、周辺部は、たとえば、第1のはずれコマンドデータおよび第1の制御データとともに第1の補正データを受信した場合、補正処理をおこなわずに、第1のはずれコマンドデータおよび第1の制御データに基づく処理をおこなう。
【0205】
そして、周辺部は、第2のはずれコマンドデータおよび第2の制御データとともに第2の補正データを受信した場合、第2のはずれコマンドデータおよび第2の制御データに基づく処理をおこなう前に、第1の補正データを用いた補正処理をおこなう。このとき、周辺部は、第1の補正データと第2の補正データの両方を用いて補正処理をおこなってもよい。このように、複数の補正データを受信した時点で補正処理をおこなえば、エラーによって制御信号に余分なデータが付加されてしまった場合などに、誤って補正処理をおこなってしまうことを防ぐことができる。なお、上述した説明では補正処理について説明したが、認証処理についても同様である。
【0206】
また、上述した説明では、はずれコマンドを送信する際に認証データを送信することとしたが、他の制御コマンドを送信する際に認証データを送信することとしてもよい。具体的には、たとえば、電源オンコマンドや大当たりリーチコマンド、大当たり開始コマンド、大当たりコマンド、大当たり終了コマンド、客待ちデモコマンドなどのうち、いずれか(複数でも可)を送信する際に認証データを送信することとしてもよい。
【0207】
以上説明したように、本実施の形態にかかる電子機器では、所定の制御コマンドを送信する際、周辺部において主制御部の照合に用いる期待値を補正するための補正データを用いて期待値補正処理をおこなう。また、補正データを送信した後で、所定の制御コマンドを送信する際、主制御部の正当性を認証するための認証データを用いて認証処理をおこなう。補正データは、主制御部に固有の値によって生成される。たとえば、補正データは主制御部201が変更された場合、変更前の主制御部に固有の値と、変更後の主制御部に固有の値との差分によって生成される。
【0208】
また、認証データは、正規の主制御部に格納されたプログラムデータによって生成される。そして、認証データを用いて算出された値と、補正データを用いて補正された期待値とが一致する場合、主制御部を正規の主制御部と認証することができる。このため、正規の主制御部が不正な基板に交換されたり、正規の主制御部と周辺部との間に不正な基板が取り付けられたことを検知することができる。また、主制御部が他の正規の主制御部に変更された場合、誤って変更後の主制御部を不正な基板と認証することを防ぐことができる。さらに、今回送信する制御コマンドデータや付随データを含めて補正データや認証データを生成することとすれば、不正な制御基板による補正データや認証データの再利用を防止して、電子機器への不正を防止することができる。
【0209】
また、主制御部の照合に用いる最終期待値(補正後の期待値)そのものである固定値を周辺部に保持せないことで、照合に用いる最終期待値を知り得る者を限定することができる。この場合、具体的には、たとえば製造時から、期待値の補正処理をおこなわないと、認証が不成立となるように設計する。これにより、期待値に関する情報の流出などのリスクを軽減することができる。
【0210】
また、本実施の形態にかかる電子機器(たとえば、ぱちんこ遊技機)では、たとえば主制御部が周辺部にはずれコマンドを送信する場合に、周辺部において、主制御部を照合するための期待値の補正処理や、主制御部の正当性を認証する認証処理をおこなう。したがって、はずれコマンドのタイミング設計のみを変更することによって、既存のぱちんこ遊技機に補正処理および認証処理を実行させることができる。また、補正処理や認証処理を全ての制御コマンドの送信時におこなう場合と比べると、はずれコマンドが送信されている期間に認証処理や補正処理をおこなうのみであるため、主制御部や周辺部の処理負荷を減らすことができる。
【0211】
また、「はずれ」は、大当たり抽選時の抽選結果として最も発生頻度が高い。このため、はずれコマンドの送信時にコマンドデータに補正データや認証データを付加することとすれば、抽選をおこなってから補正処理や認証処理をおこなうという流れをぱちんこ遊技機の処理の基本形とみなすことができる。大当たりリーチ時や大当たり時の処理は、ぱちんこ遊技機の機種ごとに演出方法が変更されるなど、特殊な処理に区分されるが、はずれ時の処理は機種ごとの差異が少ない。このため、はずれ時の処理に補正処理や認証処理を組み込むこととすれば、補正処理や認証処理の流れをほとんど変更せずに、ぱちんこ遊技機の本体を他の機種に再利用することが可能となる。
【0212】
また、はずれコマンドは、大当たり状態に関連するコマンドより発生頻度が高いため、はずれコマンドの送信時に認証データを付加することで、認証処理をおこなう回数が増え、認証の強度を上げることができる。さらに、はずれコマンドの発生頻度が高いことで、補正データを付加した後に認証データを付加するのであれば、はずれコマンドにランダムに補正データや認証データを付加することができる。または、設計者の所望のタイミングではずれコマンドに補正データや認証データを付加することができる。このようにすることで、はずれコマンドの全てに補正データや認証データが付加されているのと比べて、第三者に補正データや認証データが付加されている制御コマンドを見破られる可能性を低くすることができる。
【0213】
また、たとえば周辺部にはずれリーチコマンドを送信する際に、補正データを付加し、周辺部に補正データを付加したはずれリーチコマンドによって開始した図柄の変動を停止する図柄停止コマンドを送信する際に、認証データを付加してもよい。このように、はずれ状態の中で前後関係が明確なコマンドに補正データと認証データとをこの順に付加することで、1回のはずれ状態の処理の間に、補正処理と認証処理とをこの順におこなうことができる。したがって、大当たり状態になる前に不正を検知することができ、不正な制御によって不正な大当たり状態となることを防ぐことができる。
【0214】
なお、本実施の形態で説明した主制御部および周辺部の制御方法は、あらかじめ用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネット等のネットワークを介して配布することが可能な伝送媒体であってもよい。
【産業上の利用可能性】
【0215】
以上のように、本発明は、制御部への不正が懸念される電子機器やその電子機器に搭載される制御基板に有用であり、特に、ぱちんこ遊技機、スロット遊技機、その他各種の遊技機に適している。
【図面の簡単な説明】
【0216】
【図1】本発明のぱちんこ遊技機の遊技盤の一例を示す正面図である。
【図2】ぱちんこ遊技機の制御部の内部構成を示すブロック図である。
【図3】主制御基板および周辺基板の機能的構成を示すブロック図である。
【図4】主制御部による演出制御部の制御処理の手順を示すフローチャートである。
【図5】主制御部による演出制御部の制御処理の手順を示すフローチャートである。
【図6】大当たり関連コマンドの送信タイミングを示すタイムチャートである。
【図7】演出制御部による図柄変動処理の手順を示すフローチャートである。
【図8】演出制御部による大当たり時の処理の手順を示すフローチャートである。
【図9】ランプ制御部による図柄変動時のランプ制御処理の手順を示すフローチャートである。
【図10】主制御部が出力する制御信号のデータフォーマットを模式的に示す説明図である。
【図11】主制御部による制御信号の送信処理の手順を示すフローチャートである。
【図12】演出制御部による制御信号の受信処理の手順を示すフローチャートである。
【図13】制御部間の制御信号の流れの一例を示すシーケンス図である。
【図14】従来技術による不正防止技術の概要を示す説明図である。
【図15】従来技術による不正防止技術の概要を示す説明図である。
【符号の説明】
【0217】
301 主制御基板
311 制御コマンド格納部
312 記録部
313 補正データ生成部
314 補正データ付加部
315 補正データ送信部
316 認証データ生成部
317 認証データ付加部
318 認証データ送信部
320 周辺基板
321 補正データ受信部
322 補正部
323 認証データ受信部
324 判断部
325 認証部
326 報知信号出力部

【特許請求の範囲】
【請求項1】
制御コマンドを送信する主制御部と、前記主制御部によって送信された前記制御コマンドに基づいて所定の処理をおこなう周辺部と、を備える電子機器であって、
前記主制御部は、
前記周辺部に保持され、前記主制御部から送信されたデータの照合に用いる期待値を補正するための補正データを生成する補正データ生成手段と、
前記周辺部に送信する前記制御コマンドが、大当たり状態にするか否かを抽選する大当たり抽選の抽選結果がはずれの場合の処理を当該周辺部に実行させるはずれコマンドである場合、前記補正データ生成手段によって生成された前記補正データを当該制御コマンドに付加する補正データ付加手段と、
前記補正データ付加手段によって前記補正データの付加された前記制御コマンド(以下、「補正データ付制御コマンド」という)を前記周辺部に送信する補正データ送信手段と、
前記主制御部を認証するための認証データを生成する認証データ生成手段と、
前記補正データ送信手段によって前記補正データ付制御コマンドが前記周辺部に送信された後に、当該周辺部に送信する前記制御コマンドが前記はずれコマンドである場合、前記認証データ生成手段によって生成された前記認証データを当該制御コマンドに付加する認証データ付加手段と、
前記認証データ付加手段によって前記認証データの付加された前記制御コマンド(以下、「認証データ付制御コマンド」という)を前記周辺部に送信する認証データ送信手段と、を備え、
前記周辺部は、
前記主制御部によって送信された前記補正データ付制御コマンドを受信する補正データ受信手段と、
前記補正データ受信手段によって受信された前記補正データ付制御コマンドを用いて前記周辺部に保持されている前記期待値を補正する補正手段と、
前記主制御部によって送信された前記認証データ付制御コマンドを受信する認証データ受信手段と、
前記認証データ受信手段によって受信された前記認証データ付制御コマンドを用いて算出された値が、前記補正手段によって補正された前記期待値と一致するか否かを判断する判断手段と、
前記判断手段によって前記認証データ付制御コマンドを用いて算出された値と、前記期待値と、が一致すると判断された場合、前記主制御部を認証する認証手段と、
を備えることを特徴とする電子機器。
【請求項2】
前記補正データ付加手段は、前記周辺部に送信する前記制御コマンドが前記主制御部に電源が投入された後の最初の前記はずれコマンドである場合、当該はずれコマンドに前記補正データを付加することを特徴とする請求項1に記載の電子機器。
【請求項3】
前記補正データ付加手段は、前記周辺部に送信する前記制御コマンドが前記主制御部のリセット後の最初の前記はずれコマンドである場合、当該はずれコマンドに前記補正データを付加することを特徴とする請求項1または2に記載の電子機器。
【請求項4】
前記認証データ付加手段は、前記周辺部に送信する前記制御コマンドが、前記補正データ送信手段によって送信された前記補正データ付制御コマンドの次の前記はずれコマンドである場合、当該はずれコマンドに前記認証データを付加することを特徴とする請求項1〜3のいずれか一つに記載の電子機器。
【請求項5】
前記補正データ生成手段は、前記主制御部が他の前記主制御部に変更された場合、前記周辺部に保持された前記期待値を、他の前記主制御部から送信されたデータの照合に用いる期待値に補正するための補正データを生成することを特徴とする請求項1〜4のいずれか一つに記載の電子機器。
【請求項6】
前記主制御部は、
前記主制御部に設定されている固有の値を記録する記録手段を備え、
前記補正データ生成手段は、前記記録手段によって記録された前記固有の値を用いて前記補正データを生成することを特徴とする請求項1〜5のいずれか一つに記載の電子機器。
【請求項7】
前記補正データ生成手段は、前記主制御部が他の前記主制御部に変更された場合、前記記録手段に記録された、変更される前の前記主制御部に設定されていた固有の値と、変更された後の他の前記主制御部に設定されている固有の値との差分を、前記補正データとして生成することを特徴とする請求項6に記載の電子機器。
【請求項8】
前記主制御部は、
所定のプログラムコードを記録した記録手段を備え、
前記補正データ生成手段は、前記記録手段に記録されたプログラムコードを用いて前記補正データを生成することを特徴とする請求項1〜5のいずれか一つに記載の電子機器。
【請求項9】
前記補正データ生成手段は、前記プログラムコードとともに前記はずれコマンドを用いて前記補正データを生成することを特徴とする請求項8に記載の電子機器。
【請求項10】
前記主制御部は、
所定のプログラムコードを記録した記録手段を備え、
前記認証データ生成手段は、前記記録手段によって記録されたプログラムコードを用いて前記認証データを生成することを特徴とする請求項1〜9のいずれか一つに記載の電子機器。
【請求項11】
前記認証データ生成手段は、前記プログラムコードとともに前記はずれコマンドを用いて前記認証データを生成することを特徴とする請求項10に記載の電子機器。
【請求項12】
前記補正手段は、前記主制御部から送信された前記制御コマンドが前記補正データ付制御コマンドの場合、前記補正データ付制御コマンドを用いて前記周辺部に保持されている前記期待値を補正することを特徴とする請求項1〜11のいずれか一つに記載の電子機器。
【請求項13】
前記補正手段は、前記主制御部から送信された前記制御コマンドが前記はずれコマンドである場合、前記補正データ付制御コマンドを用いて前記周辺部に保持されている前記期待値を補正することを特徴とする請求項1〜11のいずれか一つに記載の電子機器。
【請求項14】
前記判断手段は、前記主制御部から送信された前記制御コマンドが前記認証データ付制御コマンドの場合、前記認証データ付制御コマンドを用いて算出された値と、前記期待値と、が一致するか否かを判断することを特徴とする請求項1〜13のいずれか一つに記載の電子機器。
【請求項15】
前記判断手段は、前記主制御部から送信された前記制御コマンドが前記はずれコマンドである場合、前記認証データ付制御コマンドを用いて算出された値と、前記期待値と、が一致するか否かを判断することを特徴とする請求項1〜13のいずれか一つに記載の電子機器。
【請求項16】
前記周辺部は、
前記認証手段によって前記主制御部が認証されなかった場合、報知信号を出力する出力手段を備えることを特徴とする請求項1〜15のいずれか一つに記載の電子機器。
【請求項17】
請求項1〜16のいずれか一つに記載の電子機器を備え、
主制御基板は、前記認証データ付制御コマンドを送信し、周辺基板は、前記主制御基板によって送信された前記認証データ付制御コマンドに基づいて認証処理をおこなうことを特徴とする遊技機。
【請求項18】
電子機器に搭載され、周辺基板に所定の処理をおこなわせる制御コマンドを送信する主制御基板であって、
前記周辺基板に保持され、前記主制御基板から送信されたデータの照合に用いる期待値を補正するための補正データを生成する補正データ生成手段と、
前記周辺基板に送信する前記制御コマンドが、大当たり状態にするか否かを抽選する大当たり抽選の抽選結果がはずれの場合の処理を当該周辺部に実行させるはずれコマンドである場合、前記補正データ生成手段によって生成された前記補正データを当該制御コマンドに付加する補正データ付加手段と、
前記補正データ付加手段によって前記補正データの付加された前記制御コマンド(以下、「補正データ付制御コマンド」という)を前記周辺基板に送信する補正データ送信手段と、
前記主制御基板を認証するための認証データを生成する認証データ生成手段と、
前記補正データ送信手段によって前記補正データ付制御コマンドが前記周辺基板に送信された後に、当該周辺基板に送信する前記制御コマンドが前記はずれコマンドである場合、前記認証データ生成手段によって生成された前記認証データを当該制御コマンドに付加する認証データ付加手段と、
前記認証データ付加手段によって前記認証データの付加された前記制御コマンド(以下、「認証データ付制御コマンド」という)を前記周辺基板に送信する認証データ送信手段と、
を備えることを特徴とする主制御基板。
【請求項19】
電子機器に搭載され、主制御基板から送信された制御コマンドに応じた処理をおこなう周辺基板であって、
前記主制御基板によって送信され、当該主制御基板から送信されたデータの照合に用いる期待値を補正するための補正データの付加された前記制御コマンド(以下、「補正データ付制御コマンド」という)を受信する補正データ受信手段と、
前記補正データ受信手段によって受信された前記補正データ付制御コマンドを用いて前記周辺基板に保持されている前記期待値を補正する補正手段と、
前記主制御基板によって送信された、前記主制御基板を認証するための認証データの付加された前記制御コマンド(以下、「認証データ付制御コマンド」という)を受信する認証データ受信手段と、
前記認証データ受信手段によって受信された前記認証データ付制御コマンドを用いて算出された値が、前記補正手段によって補正された前記期待値と一致するか否かを判断する判断手段と、
前記判断手段によって前記認証データ付制御コマンドを用いて算出された値と、前記期待値と、が一致すると判断された場合、前記主制御基板を認証する認証手段と、
を備えることを特徴とする周辺基板。
【請求項20】
制御コマンドを送信する主制御部と、前記主制御部によって送信された制御コマンドに基づいて所定の処理をおこなう周辺部と、を備える電子機器における認証方法であって、
前記主制御部において、
前記周辺部に保持され、前記主制御部から送信されたデータの照合に用いる期待値を補正するための補正データを生成する補正データ生成工程と、
前記周辺部に送信する前記制御コマンドが、大当たり状態にするか否かを抽選する大当たり抽選の抽選結果がはずれの場合の処理を当該周辺部に実行させるはずれコマンドである場合、前記補正データ生成工程によって生成された前記補正データを当該制御コマンドに付加する補正データ付加工程と、
前記補正データ付加工程によって前記補正データの付加された前記制御コマンド(以下、「補正データ付制御コマンド」という)を前記周辺部に送信する補正データ送信工程と、
前記主制御部を認証するための認証データを生成する認証データ生成工程と、
前記補正データ送信工程によって前記補正データ付制御コマンドが前記周辺部に送信された後に、当該周辺部に送信する前記制御コマンドが前記はずれコマンドである場合、前記認証データ生成工程によって生成された前記認証データを当該制御コマンドに付加する認証データ付加工程と、
前記認証データ付加工程によって前記認証データの付加された前記制御コマンド(以下、「認証データ付制御コマンド」という)を前記周辺部に送信する認証データ送信工程と、を含み、
前記周辺部において、
前記主制御部によって送信された前記補正データ付制御コマンドを受信する補正データ受信工程と、
前記補正データ受信工程によって受信された前記補正データ付制御コマンドを用いて前記周辺部に保持されている前記期待値を補正する補正工程と、
前記主制御部によって送信された前記認証データ付制御コマンドを受信する認証データ受信工程と、
前記認証データ受信工程によって受信された前記認証データ付制御コマンドを用いて算出された値が、前記補正工程によって補正された前記期待値と一致するか否かを判断する判断工程と、
前記判断工程によって前記認証データ付制御コマンドを用いて算出された値と、前記期待値と、が一致すると判断された場合、前記主制御部を認証する認証工程と、
を含むことを特徴とする認証方法。
【請求項21】
請求項20に記載の認証方法をコンピュータに実行させることを特徴とする認証プログラム。

【図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