(57)【要約】【課題】遊技機の主制御基板に対する不正行為を検知すると共に主制御部の処理負荷を軽減する。【解決手段】主制御部１０と中間部２０と周辺部３０とを備えた遊技機１であって、主制御部１０は、遊技情報が記憶されたデータ記憶部５１０と、遊技情報に従って演算を行うメインＣＰＵコア５００と、中間部２０へ情報を送信する第１送信部５２０ａ及び第２送信部５２０ｂと、データ記憶部５１０に記憶されている検査値を読み込んで暗号化し認証データを生成する暗号化部５３０を備える。メインＣＰＵコア５００は、制御コマンドを第１送信部５２０ａに送信させるとき、制御コマンドの書き込み信号を出力すると共に、第１送信部５２０ａへ制御コマンドを書き込む。暗号化部５３０は、前記書き込み信号の出力を契機として、第２送信部５２０ｂへ認証データを書き込み、中間部２０へ送信する。【選択図】図４
2012029713.tif 000002
【特許請求の範囲】
【請求項１】
所定の遊技情報が記憶されている情報記憶部と、
前記情報記憶部に記憶されている遊技情報に応じた所定の演算を行って制御情報を生成すると共に、生成した前記制御情報を送信せしめるための制御情報送信指示を出力する演算処理部と、
前記情報記憶部に記憶されている情報の認証を行うための認証情報を生成すると共に、生成した前記認証情報を送信せしめるための認証情報送信指示を出力する認証情報生成部と、
前記制御情報送信指示に応じて前記制御情報を送信する第１情報送信部と、
前記第１情報送信部とは異なり、前記認証情報送信指示に応じて前記認証情報を送信する第２情報送信部と、
を有する主制御部と、
送信された前記制御情報に基づいた所定の処理を行う情報処理部を有する副制御部と、
送信された前記認証情報に基づいて前記情報記憶部に記憶されている情報の認証を行う情報認証部を有する中間制御部と、
を備えた遊技機であって、
前記認証情報生成部は、前記制御情報送信指示の出力の検知に応じて、前記認証情報送信指示を出力する
ことを特徴とする遊技機。
【請求項２】
前記認証情報生成部は、
所定の暗号鍵情報を決定する暗号鍵決定部と、
前記情報記憶部に記憶されている特定の情報と前記暗号鍵情報とを用いて前記認証情報を生成する暗号生成部とを有する
ことを特徴とする請求項１に記載の遊技機。
【請求項３】
前記暗号鍵決定部は、所定の更新条件が成立すると、新たに暗号鍵情報を決定することを特徴とする請求項２に記載の遊技機。
【請求項４】
前記演算処理部は、前記暗号鍵決定部によって決定された暗号鍵情報を用いて前記制御情報を生成することを特徴とする請求項３に記載の遊技機。
【請求項５】
前記中間制御部は、
送信された前記制御情報を受信する第１情報受信部と、
前記第１情報受信部とは異なり、送信された前記認証情報を受信する第２情報受信部とを更に備え、
前記認証情報生成部は、前記第２情報受信部での前記認証情報の受信完了時点が、前記第１情報受信部での前記制御情報の受信完了時点より後となるように、前記検知から所定時間遅延して前記認証情報送信指示を出力する
ことを特徴とする請求項４に記載の遊技機。
【請求項６】
前記認証情報生成部は、前記第２情報受信部での前記認証情報の受信開始時点が、前記第１情報受信部での前記制御情報の受信完了時点より後となるように、前記検知から所定時間遅延して前記認証情報送信指示を出力することを特徴とする請求項５に記載の遊技機。
【請求項７】
前記中間制御部は、前記第１情報送信部から送信された前記制御情報を前記副制御部へ中継するとともに、前記認証の結果を前記副制御部へ通知し、
前記副制御部は、前記認証の結果を判定する判定部を更に備え、認証不成功と判定した際に不成功を報知する報知信号を出力する
ことを特徴とする請求項６に記載の遊技機。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パチンコ店等の遊技店に設置されるパチンコ遊技機、雀球遊技機、アレンジボール等の弾球遊技機、スロットマシン等の回胴式遊技機などの遊技機に関する。
【背景技術】
【０００２】
遊技機に対し行われる、メダルや遊技球など（以下、「遊技媒体」という）を遊技とは無関係に強制的に払い出させる不正行為のうち、遊技に係る基本動作を制御する主制御部が搭載された主制御基板や、主制御部からの制御命令に基づき演出処理等を実行する周辺部が搭載された周辺基板に関するものとして、例えば以下に示すものがある。
（１）正規な主制御基板と不正な主制御基板との交換
（２）主制御基板に搭載されたＣＰＵが実行する正規なプログラムが記憶されたＲＯＭと上記プログラムを改ざんした不正なプログラムが記憶されたＲＯＭとの交換
（３）主制御基板と周辺基板との間に不正な基板（なりすまし基板）を設け、かつ上記（２）のＲＯＭの交換
【０００３】
このような不正行為を防止するため、従来の遊技機には、次のようなものがあった。
例えば、特許文献１に記載の遊技機は、主制御部は、第１鍵データを記憶する第１の記憶手段と、図柄制御部の動作を制御するための制御データに対し第１鍵データに対応する暗号化を行う暗号化手段と、予め定めたタイミングに第１鍵データを変更する第１鍵変更手段とを備えている。周辺部は、第２鍵データを記憶する第２の記憶手段と、主制御部から受信した暗号データに対して第２鍵データに対応する処理を行うことにより、受信した暗号データの正当性を判定し、正当である場合に当該暗号データを認証する認証手段と、第１鍵データの変更タイミングに合致するように予め定められたタイミングに、第２鍵データを第１鍵データに対応するように変更する第２鍵変更手段とを備えている。この遊技機は、主制御部も周辺部も高度で複雑な暗号化処理及び認証処理を行うことで、上記不正行為を防止している。
【０００４】
また、特許文献２に記載の遊技機は、主制御基板（主制御部）と、主制御部によって送信された制御コマンドに基づいて所定の処理を行う周辺基板（周辺部）とを備えている。この遊技機では、主制御部は、周辺部へ送信する制御コマンドが所定の制御コマンドである場合、主制御部を認証するための認証データを所定の制御コマンドに付加して周辺部へ送信する。そして、周辺部は、所定の制御コマンドを受信すると、この所定の制御コマンドに付加して送信された認証データに基づいて主制御部を認証する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００２−２１０１９４号公報
【特許文献２】特開２００８−２７９０３７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１に記載の遊技機では、主制御部や周辺部を構成するＣＰＵに、既存の遊技に係る処理以外に認証処理を実行させる場合、ＣＰＵの処理負荷が増大するため処理速度が低下するという問題がある。また、主制御部や周辺部のＣＰＵが実行すべきプログラムを記述したプログラムコードに認証機能を追加する場合、そのコードサイズが増大するという問題や、新たなプログラム設計及びその検証には多大の時間と労力を要するため作業工数が増大するという問題がある。特に最近では、遊技の興趣向上を図るために遊技者の視覚や聴覚に訴える演出が多様となる傾向にあり、上記問題が益々深刻化する。
【０００７】
また、特許文献２に記載の遊技機においても、ＣＰＵに既存の遊技に係る処理以外に認証処理を実行させる場合、所定の制御コマンドに認証データを付加して周辺部へ送信しても、所定の制御コマンドを実行するときの主制御部のＣＰＵの処理負荷が増大することや、認証機能の追加によってコードサイズが増大することは避けられない。また、ＣＰＵの処理負荷やコードサイズの増大を抑制するためには、主制御部のプログラムコードに認証機能を追加する際、比較的簡易な認証機能を採用せざるを得ず、認証機能のコード自体の設計自由度は低い。
【０００８】
よって、従来の遊技機では、上記不正行為を防止すべく認証機能を追加し、セキュリティ強度の向上を図ることと、主制御部のＣＰＵの処理負荷を低減し処理速度の向上を図ることの両立が困難であった。また、従来の遊技機では、認証機能を追加する際の作業工数の増大を抑制し、認証機能のプログラム設計上の自由度を向上させることが困難であった。
【０００９】
本発明は、上記事情に鑑みてなされたものであり、遊技機のセキュリティ強度の向上と処理速度の向上とが両立可能な遊技機を提供すること、及び認証機能を追加する際の作業工数が少なく設計自由度が高い遊技機を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記課題を解決するために本発明は、所定の遊技情報が記憶されている情報記憶部（データ記憶部５１０）と、前記情報記憶部に記憶されている遊技情報に応じた所定の演算を行って制御情報を生成すると共に、生成した前記制御情報を送信せしめるための制御情報送信指示を出力する演算処理部（メインＣＰＵコア５００）と、前記情報記憶部に記憶されている情報の認証を行うための認証情報を生成すると共に、生成した前記認証情報を送信せしめるための認証情報送信指示を出力する認証情報生成部（暗号化部５３０）と、前記制御情報送信指示に応じて前記制御情報を送信する第１情報送信部（第１送信部５２０ａ）と、前記第１情報送信部とは異なり、前記認証情報送信指示に応じて前記認証情報を送信する第２情報送信部（第２送信部５２０ｂ）と、を有する主制御部（主制御部１０）と、送信された前記制御情報に基づいた所定の処理を行う情報処理部を有する副制御部（周辺部３０）と、送信された前記認証情報に基づいて前記情報記憶部に記憶されている情報の認証を行う情報認証部を有する中間制御部（中間部２０）とを備えた遊技機であって、前記認証情報生成部は、前記制御情報送信指示の出力の検知に応じて、前記認証情報送信指示を出力することを特徴とする。
【発明の効果】
【００１１】
本発明によれば、暗号化制御回路（ハードウェア）で構成される暗号化部が、主制御部の個体認証に必要な認証データを、メインＣＰＵコアからの指示によらず、認証処理を実行する中間部へ自動的に送信している。また、認証データの復号化に必要な鍵データは、メインＣＰＵコアからの読み出し指示のみで中間部へ送信される。従って、主制御部に対する認証機能を有しながらも、認証機能を有することで増大する主制御部のＣＰＵの処理負荷やコードサイズを最大限抑制することができ、遊技機のセキュリティ強度の向上と処理速度の向上とを両立させることができる。また、認証データの生成や送信に関する処理の制御は、暗号化部自身のアルゴリズムで定義すればよいため、認証機能を追加する際のメインＣＰＵコアのプログラムコードへの追加作業も最小限で済み、作業工数の増大を抑制することができる。また、認証機能のプログラム設計上の自由度も向上させることができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施の形態に係るパチンコ遊技機の外観構成の一例を示す正面図である。
【図２】本発明の実施の形態に係るパチンコ遊技機の電気的構成の一例を示すブロック図である。
【図３】本発明の実施の形態に係るパチンコ遊技機を構成する主制御部の認証処理に関する電気的構成の一例を示すブロック図である。
【図４】図３に示す主制御部の構成を詳細に説明するためのブロック図である。
【図５】本発明の実施の形態に係るパチンコ遊技機を構成する主制御部が出力する制御コマンドの種別の一例を示す図である。
【図６】本発明の実施の形態に係るパチンコ遊技機を構成する主制御部による中間部及び演出制御部へのコマンド送信を含む動作におけるフローチャートの一例を示す図である。
【図７】本発明の実施の形態に係るパチンコ遊技機を構成する主制御部による認証処理におけるフローチャートの一例を示す図である。
【図８】本発明の実施の形態に係るパチンコ遊技機を構成する主制御部による認証処理におけるタイムチャートの一例を示す図である。
【図９】本発明の実施の形態に係るパチンコ遊技機を構成する中間部による認証処理におけるフローチャートの一例を示す図である。
【図１０】本発明の実施の形態に係るパチンコ遊技機を構成する演出制御部によるメイン処理におけるフローチャートの一例を示す図である。
【図１１】本発明の実施の形態に係るパチンコ遊技機を構成する演出制御部による割込処理におけるフローチャートの一例を示す図である。
【図１２】本発明の実施の形態に係るパチンコ遊技機を構成する演出制御部によるコマンド解析処理におけるフローチャートの一例を示す図である。
【図１３】本発明の実施の形態に係るパチンコ遊技機を構成する演出制御部による認証結果データ解析処理におけるフローチャートの一例を示す図である。
【発明を実施するための形態】
【００１３】
以下、図面を参照して本発明を実施するための形態について説明する。
［遊技機の基本構成］
図１は、本発明の実施の形態に係る遊技機の１つであるパチンコ遊技機１の外観構成を示す正面図である。また、図２は、図１に示すパチンコ遊技機１の電気的構成を示すブロック図である。
【００１４】
本実施の形態に係るパチンコ遊技機１は、遊技盤１０１を備えている。遊技盤１０１の図１において右下方であって、枠部材１１０の右下部には、遊技者によって操作され、発射部２９２（図２参照）を作動させるための操作ハンドル１１３が設けられている。操作ハンドル１１３は、遊技者側に突出する形状を呈している。操作ハンドル１１３は、発射部２９２を作動させて遊技球を発射させる発射指示部材１１４を備えている。発射指示部材１１４は、操作ハンドル１１３の外周部において、遊技者から見て右回りに回転可能に設けられている。発射部２９２は、発射指示部材１１４が遊技者によって直接操作されている場合に、遊技球を発射させる。公知の技術であるため説明を省略するが、操作ハンドル１１３には、遊技者が発射指示部材１１４を直接操作していることを検出するセンサなどが設けられている。
【００１５】
発射部２９２の作動によって発射された遊技球は、レール１０２ａ，１０２ｂ間を上昇して遊技盤１０１の上部位置に達した後、遊技領域１０３内を落下する。遊技領域１０３には、複数の釘（図示せず）や、遊技球の落下方向を変化させる風車（図示せず）や、入球口が配設されており、遊技球を各種の方向に向けて落下させるようにしている。ここで、「入球口」は、いずれも後述する第１始動口１０５、第２始動口１２０、普通入賞口１０７、第１大入賞口１０９ｃ、第２大入賞口１２９ｃの総称である。
【００１６】
遊技盤１０１の略中央部分には、図柄表示部１０４が配置されている。図柄表示部１０４は、例えば、液晶ディスプレイ等のディスプレイを有している。図柄表示部１０４の下方には、遊技領域１０３に向けて打ち込まれた遊技球を受入れ可能な第１始動口１０５が配置されている。第１始動口１０５の下方には、第２始動口１２０が配置されている。第２始動口１２０は、一対の可動片（図示せず）が閉状態であるときは遊技球を受け入れることが不可能又は受け入れ困難となっており、この一対の可動片が開状態であるときは、第１始動口１０５よりも遊技球の受け入れが容易となる。
【００１７】
また、図柄表示部１０４の左側には、入賞ゲート１０６が配設されている。入賞ゲート１０６は、遊技球の通過を検出し、第２始動口１２０を一定時間だけ開放させる普通図柄の抽選を行うために設けられている。図柄表示部１０４の左側部や下方等には、複数の普通入賞口１０７が配設されている。各普通入賞口１０７に遊技球が入球すると、所定の賞球数（例えば、１０個）の払い出しが行われる。遊技領域１０３の最下部には、どの入球口にも入球しなかった遊技球を回収する回収口１０８が設けられている。
【００１８】
図柄表示部１０４は、後述する演出制御部２０３（図２参照）から第１始動口１０５又は第２始動口１２０に遊技球が入球したことが報知されたときに、複数の装飾図柄の変動表示を開始し、所定時間経過後に当該装飾図柄の変動を停止させる。この停止時に特定図柄（例えば、「７７７」）が揃うと、遊技者は第１大当たり遊技（長当たり遊技）を実行する権利を獲得したこととなり、その後、第１大当たり遊技（長当たり遊技）が開始される。第１大当たり遊技（長当たり遊技）が開始されると、遊技領域１０３の下方に位置する第１大入賞口開閉装置１０９における第１大入賞口開閉扉１０９ａが、一定の期間開放する動作を所定回数（例えば、１５回）繰り返し、入球した遊技球に対応する賞球が払い出される。
【００１９】
一方、図柄表示部１０４における上記装飾図柄の停止時に上記特定図柄とは別の特定図柄（例えば、「７３７」）が揃うと、遊技者は第２大当たり遊技（短当たり遊技）を実行する権利を獲得したこととなり、その後、第２大当たり遊技（短当たり遊技）が開始される。第２大当たり遊技（短当たり遊技）が開始されると、第１大入賞口開閉装置１０９の右斜め上方に位置する第２大入賞口開閉装置１２９における第２大入賞口開閉扉１２９ａが、第１大入賞口開閉扉１０９ａの開閉動作に比して短い時間にて一定の期間開放する動作を所定回数（例えば、１５回）繰り返し、入球した遊技球がある場合、これに対応する賞球が払い出される。
【００２０】
また、遊技盤１０１の遊技領域１０３の外周には、枠部材１１０が設けられ、開口部から遊技領域１０３が遊技者側に露出している。枠部材１１０は、遊技者側に突出する形状を呈している。枠部材１１０において、遊技領域１０３の左上部及び右下部には、演出ライト（ランプユニット）１１１ａ及び１１１ｂがそれぞれ設けられている。各演出ライト１１１ａ及び１１１ｂは、複数のライト１１２を備えている。各演出ライト１１１ａ及び１１１ｂは、上下駆動モータ（図示せず）でそれぞれ駆動されることにより、それぞれが備える複数のライト１１２から照射される光の方向を上下方向、すなわち、パチンコ遊技機１の正面にいる遊技者の頭部と腹部を結ぶ方向に平行な方向に変更可能に構成されている。
【００２１】
また、各ライト１１２は、各演出ライト１１１ａ及び１１１ｂを構成する回転駆動モータ（図示せず）で駆動されることにより、それぞれ所定半径を有する円の円周方向に移動する。上記構成により、各ライト１１２から照射された光を回転移動させつつ、各演出ライト１１１ａ及び１１１ｂ全体から照射された光を上下移動させる演出を行うことができる。さらに、枠部材１１０の下部には、遊技球が供給される受け皿ユニット１１９が設けられている。この受け皿ユニット１１９には、貸し玉装置（図示せず）から貸し出される遊技球が供給される。
【００２２】
図１において、図柄表示部１０４の右側には、演出用の役物（以下、「演出役物」という）１１５が設けられている。演出役物１１５は、キャラクターとして人間の上半身（特に頭部）を模式的に表している。演出役物１１５は、キャラクターの瞼部１１６を開閉して、キャラクターが瞬きをするが如くに、瞼部１１６を上下方向に沿って移動可能に設けられている。また、演出役物１１５は、キャラクターの頭部を左右方向に移動可能に設けられている。
【００２３】
また、枠部材１１０において、操作ハンドル１１３の左側には、遊技者により操作される演出ボタン１１７が設けられている。演出ボタン１１７の操作は、例えば、遊技中における特定のリーチ演出に際し、演出ボタン１１７の操作を促すガイダンスが表示されている間だけ有効となる。
【００２４】
加えて、枠部材１１０には、演出効果音又は不正を知らしめる音響を出力するスピーカ２７７（図２参照）が組み込まれている。このスピーカ２７７は、高音・中音・低音の領域を出力できるタイプのものであり、通常演出時は高音・中音・低音をバランスよく出力するが、例えば、特別演出時又は不正等があった場合には、周りによく聞こえるように高音領域を高く出力するように制御される。
【００２５】
次に、本発明の実施の形態に係るパチンコ遊技機１の電気的構成について、図２に示すブロック図を参照して説明する。パチンコ遊技機１は、制御手段２００に、第１始動口検出部２２１等の各種検出手段や、図柄表示部１０４等の各種演出手段、役物作動装置２３１、払出部２９１、発射部２９２などが接続されて構成されている。制御手段２００は、図２に示す例では、主制御部１０と、中間部２０と、演出制御部２０３と、賞球制御部２０４と、ランプ制御部２０５とから構成されている。
【００２６】
主制御部１０は、ＣＰＵ１０ａと、ＲＯＭ１０ｂと、ＲＡＭ１０ｃと、暗号化制御回路１０ｇとから少なくとも構成されるワンチップマイコン１０ｍ等を備えている。ＣＰＵ１０ａは、パチンコ遊技機１の遊技に係る基本動作を制御し、ＲＯＭ１０ｂに予め記憶されているプログラム（プログラムコード）に基づき、遊技内容の進行に伴う基本処理を実行する。ＲＯＭ１０ｂには、ＣＰＵ１０ａがパチンコ遊技機１の遊技内容の進行に伴う基本処理を実行するためのプログラムコードが予め記憶されている。
【００２７】
ＲＡＭ１０ｃは、ＣＰＵ１０ａがパチンコ遊技機１の遊技内容の進行に伴う基本処理を実行する際に行う演算処理において、データ等のワークエリアとして機能する。暗号化制御回路１０ｇは、主制御部１０の個体としての正当性（アイデンティティ）を認証する（以下、「個体認証」という）ために用いる検査値を取得し、検査値に対して暗号化処理を施して認証データを生成する。また、暗号化制御回路１０ｇは、生成した認証データを中間部２０へ送信する処理を制御する。なお、これら認証処理に関するものの詳細については後述する。この主制御部１０では、第１始動口１０５又は第２始動口１２０への遊技球の入球を契機として、大当たりの抽選を行うとともに、この抽選結果に基づいて、ＲＯＭ１０ｂに記憶されている演出に係わる制御コマンドの選択を行う。
【００２８】
主制御部１０の入力側には、第１始動口検出部２２１と、第２始動口検出部２２５と、ゲート検出部２２２と、普通入賞口検出部２２３と、第１大入賞口検出部２１４と、第２大入賞口検出部２２４とが接続されている。第１始動口検出部２２１は、第１始動口１０５に遊技球が入球したことを検出して検出結果を主制御部１０へ送信する。第２始動口検出部２２５は、第２始動口１２０に遊技球が入球したことを検出して検出結果を主制御部１０へ送信する。ゲート検出部２２２は、入賞ゲート１０６を遊技球が通過したことを検出して検出結果を主制御部１０へ送信する。普通入賞口検出部２２３は、普通入賞口１０７に入球した遊技球を検出して検出結果を主制御部１０へ送信する。第１大入賞口検出部２１４は、第１大入賞口１０９ｃに入球した遊技球を検出して検出結果を主制御部１０へ送信する。第２大入賞口検出部２２４は、第２大入賞口１２９ｃに入球した遊技球を検出して検出結果を主制御部１０へ送信する。上記各検出部は、例えば、近接スイッチなどを用いて構成することができる。
【００２９】
また、この主制御部１０の出力側には、役物作動装置２３１が接続されている。本実施の形態では、役物作動装置２３１は、第１大入賞口開閉扉１０９ａ及び第２大入賞口開閉扉１２９ａをそれぞれ開閉させる第１大入賞口開閉ソレノイド１０９ｂ及び第２大入賞口開閉ソレノイド１２９ｂと、第２始動口１２０を開閉させる第２始動口開閉ソレノイド１２０ｂとから構成されている。
【００３０】
役物作動装置２３１は、主制御部１０によって制御され、長当たり遊技時に、第１大入賞口開閉ソレノイド１０９ｂを通電して第１大入賞口開閉扉１０９ａを開放したり、短当たり遊技及び小当たり遊技時に、第２大入賞口開閉ソレノイド１２９ｂを通電して第２大入賞口開閉扉１２９ａを開放したり、また、上記普通図柄の当選によって第２始動口開閉ソレノイド１２０ｂを通電して第２始動口１２０を開閉したりする。
【００３１】
中間部２０は、ＣＰＵ２０ａと、ＲＯＭ２０ｂと、ＲＡＭ２０ｃ等を備えている。ＣＰＵ２０ａは、主にパチンコ遊技機１の認証に係る動作を制御し、ＲＯＭ２０ｂに予め記憶されているプログラム（プログラムコード）に基づき認証処理を実行する。また、ＣＰＵ２０ａは、主制御部１０から送信される制御信号にて示された制御コマンドが、認証処理に直接関与せず通常の遊技処理に用いられる制御コマンド（以下、「通常の制御コマンド」という）である場合には、当該制御信号をそのまま演出制御部２０３等へ送信する中継処理を実行する。ＲＯＭ２０ｂには、ＣＰＵ２０ａが処理を実行するためのプログラムコードに加え、主制御部１０を構成するＲＯＭ１０ｂに予め記憶された主制御部１０固有の情報である検査値に対応する期待値が予め記憶されている。ＲＡＭ２０ｃは、ＣＰＵ２０ａが認証処理や中継処理等を実行する際に行う演算処理などのワークエリアとして機能する。すなわち、中間部２０は、主制御部１０に対する個体認証を行う認証機能と、主制御部１０から送信された制御信号を演出制御部２０３等へ中継する中継機能とを少なくとも有している。
【００３２】
演出制御部２０３は、ＣＰＵ２０３ａと、ＲＯＭ２０３ｂと、ＲＡＭ２０３ｃと、ＶＲＡＭ２０３ｄ等を備えている。ＣＰＵ２０３ａは、主にパチンコ遊技機１の遊技中における演出を制御し、ＲＯＭ２０３ｂに予め記憶されているプログラム（プログラムコード）に基づき、主制御部１０から中間部２０を介して送信される制御信号にて示された制御コマンドに基づいて演出の抽選や演出処理等を実行する。ＲＯＭ２０３ｂには、ＣＰＵ２０３ａが演出の抽選や演出処理等を実行するためのプログラムコードと、過去の演出パターンとが予め記憶されている。ＲＡＭ２０３ｃは、ＣＰＵ２０３ａが演出の抽選や演出処理等を実行する際に行う演算処理などのワークエリアとして機能する。ＶＲＡＭ２０３ｄには、図柄表示部１０４に表示させるための画像データが書き込まれる。
【００３３】
この演出制御部２０３は、主制御部１０から中間部２０を介して送信される演出に係る制御コマンドを示す制御信号を受信すると、この制御信号にて示された制御コマンドに基づいて抽選を行い、演出背景パターン、リーチ演出パターン、登場キャラクター等の演出を確定するとともに、当該確定した演出の制御を行う。
また、演出制御部２０３の出力側には、図柄表示部１０４が接続されており、抽選によって決定された内容のとおりに、図柄表示部１０４に、例えば、図柄変動の演出表示を展開する。
【００３４】
そして通常、ＣＰＵ２０３ａがＲＯＭ２０３ｂに記憶されたプログラムコードを読み込んで、背景画像表示処理、図柄画像表示及び変動処理、キャラクター画像表示処理など各種画像処理を実行し、必要な画像データをＲＯＭ２０３ｂから読み出してＶＲＡＭ２０３ｄに書き込む。背景画像、図柄画像、キャラクター画像は、表示画面上において図柄表示部１０４に重畳表示される。
すなわち、図柄画像やキャラクター画像は背景画像よりも手前に見えるように表示される。このとき、同一位置に背景画像と図柄画像が重なる場合、Ｚバッファ法など周知の陰面消去法により各画像データのＺバッファのＺ値を参照することで、図柄画像を優先してＶＲＡＭ２０３ｄに記憶させる。
【００３５】
演出制御部２０３の入力側には、上記演出ボタン１１７が操作されたことを検出する演出ボタン検出部２２０が接続されている。また演出制御部２０３の出力側には、スピーカ２７７が接続されており、演出制御部２０３において確定したとおりに、音声が出力されるようにしている。
また演出制御部２０３の出力側には、ランプ制御部２０５を備えている。
【００３６】
ランプ制御部２０５は、演出制御部２０３から送信された制御信号にて示された制御コマンドに基づきＲＯＭ２０５ｂから読み込んだプログラムを作動させて演出処理を実行するＣＰＵ２０５ａと、上記プログラムコード及び各種演出パターンデータを記憶するＲＯＭ２０５ｂと、ＣＰＵ２０５ａの演算処理時におけるデータのワークエリアとして機能するＲＡＭ２０５ｃ等を備えている。ランプ制御部２０５は、ランプ２６２、演出ライト１１１ａ及び１１１ｂ、演出役物作動装置２５４を制御する。演出役物作動装置２５４は、演出役物１１５等の、演出用の役物を作動させるモータやソレノイド等によって構成されている。
【００３７】
ランプ制御部２０５は、遊技盤１０１や台枠等に設けられている各種ランプ２６２に対する点灯制御等を行い、また、演出ライト１１１ａ及び１１１ｂをそれぞれ構成する複数のライト１１２に対する点灯制御等を行い、各ライト１１２からの光の照射方向を変更するためにモータに対する駆動制御等を行う。
また、ランプ制御部２０５は、演出制御部２０３から送信された制御信号にて示された制御コマンドに基づき、演出役物１１５を動作させる演出役物作動装置２５４のソレノイドや、瞼部１１６を動作させる演出役物作動装置２５４のモータに対する駆動制御等を行う。
【００３８】
賞球制御部２０４は、主制御部１０と送受信可能に接続されている。賞球制御部２０４は、ＲＯＭ２０４ｂに記憶されたプログラムコードに基づき、賞球制御を行う。この賞球制御部２０４は、ＲＯＭ２０４ｂに記憶されたプログラムを作動して賞球制御の処理を実行するＣＰＵ２０４ａと、ＣＰＵ２０４ａの演算処理時におけるデータのワークエリアとして機能するＲＡＭ２０４ｃ等を備えている。
【００３９】
賞球制御部２０４は、接続される払出部２９１に対して、各入球口（第１始動口１０５、第２始動口１２０、普通入賞口１０７、第１大入賞口１０９ｃ、第２大入賞口１２９ｃ）に入球した遊技球に対応した賞球数を払い出す制御を行う。また、賞球制御部２０４は、発射部２９２に対する遊技球の発射の操作を検出し、遊技球の発射を制御する。発射部２９２は、遊技のための遊技球を発射するものであり、遊技者による遊技操作を検出するセンサ（図示せず）と、遊技球を発射させるソレノイド等（図示せず）を備えている。賞球制御部２０４は、発射部２９２のセンサにより遊技操作を検出すると、検出された遊技操作に対応してソレノイド等を駆動させて遊技球を間欠的に発射させ、遊技盤１０１の遊技領域１０３に遊技球を送り出す。
払出部２９１は、遊技球の貯留部から所定数を払い出すためのモータ等からなる。
【００４０】
ここで、上記構成の演出制御部２０３、賞球制御部２０４、及びランプ制御部２０５を総称して「周辺部３０」とする。また、主制御部１０と、中間部２０と、演出制御部２０３と、賞球制御部２０４と、ランプ制御部２０５とは、それぞれ異なるプリント基板（例えば、主制御部１０は主制御基板、中間部２０は中間基板、演出制御部２０３は演出制御基板、賞球制御部２０４は賞球制御基板、ランプ制御部２０５はランプ制御基板）に搭載されている。これらのうち、演出制御基板、賞球制御基板、及びランプ制御基板を総称して「周辺基板」とする。なお、中間部２０及びランプ制御部２０５は、演出制御部２０３と同一のプリント基板上に搭載することもできる。また、賞球制御部２０４は、主制御部１０と同一のプリント基板上に搭載することもできる。
【００４１】
［遊技機の認証に関する構成］
次に、上記構成のパチンコ遊技機１が不正防止のために有する認証機能を実現する手段について、図面を参照しながら説明する。本実施の形態に係るパチンコ遊技機１の認証機能は、中間部２０が主制御部１０に対する個体認証を行うことによって実現される。そして、中間部２０で得られた認証結果は周辺部３０へ送信され、周辺部３０にて受信した認証結果に応じた処理が行われる。なお、本実施の形態では、中間部２０で得られた認証結果は、周辺部３０のうち演出制御部２０３へ送信され、演出制御部２０３が認証結果に応じた処理を行うこととして説明する。
【００４２】
具体的には、主制御部１０が保持する固有の情報を検査値とし、中間部２０に予め記憶されている主制御部１０固有の情報に対応する情報を期待値として、検査値と期待値とが一致すると主制御部１０に対する個体認証が成功したと判断される。中間部２０は、得られた主制御部１０に対する個体認証の結果を、演出制御部２０３へ送信する。演出制御部２０３は、中間部２０から送信された認証結果を確認し、認証結果に応じた処理を行う。また、主制御部１０は、認証処理の実行に際して、検査値を生成し中間部２０へ送信するが、送信前に暗号鍵を用いて検査値に暗号化処理を施す。中間部２０は、暗号化された検査値に対して復号化処理を施して検査値を抽出する。本実施の形態では、検査値に対して暗号化処理を施して得られたデータを「認証データ」という。また、検査値に対する暗号化処理に用いる暗号鍵、及び認証データに対する復号化処理に用いる復号鍵を総称して「鍵データ」という。
【００４３】
図３は、本発明の実施の形態に係るパチンコ遊技機１を構成する主制御部１０の認証処理に関する電気的構成を示すブロック図である。主制御部１０は、メインＣＰＵコア５００と、データ記憶部５１０と、送信部５２０（第１送信部５２０ａ及び第２送信部５２０ｂ）と、暗号化部５３０と、パルス発生部５４０と、内部バス５５０とを少なくとも備えている。以下、メインＣＰＵコア５００、データ記憶部５１０、送信部５２０、暗号化部５３０、パルス発生部５４０、又は内部バス５５０を総称して「主制御部１０の構成部」という。
【００４４】
メインＣＰＵコア５００は、パチンコ遊技機１の認証処理の進行に伴う基本動作を制御する。メインＣＰＵコア５００は、データ記憶部５１０に記憶され予め取り決められた認証処理に関する処理内容や手順を記述したプログラムコードに基づいて、各種演算処理を実行し、主制御部１０を構成する他の回路の動作を制御するための指示を出力する。なお、メインＣＰＵコア５００が有する機能を実現する手段は、例えば、図２に示すＣＰＵ１０ａの一部から構成することができる。
【００４５】
データ記憶部５１０には、メインＣＰＵコア５００がパチンコ遊技機１にて認証処理を実行するための認証処理に関するプログラムコードが予め記憶されている。また、データ記憶部５１０には、主制御部１０に対する個体認証を行うために用いる検査値が記憶されている。データ記憶部５１０は、メインＣＰＵコア５００や暗号化部５３０の読み出し指示に従って、認証処理に関するプログラムコードや検査値を転送する。ここで、「転送」とは、主制御部１０の各構成部間のデータや信号の移動を意味する。また、「受け渡し」とは、主制御部１０の各構成部内のデータや信号の移動を意味する。また、「送信」とは、例えば主制御部１０の外部（例えば、中間部２０）へのデータや信号の伝送を意味する。なお、データ記憶部５１０が有する機能を実現する手段は、例えば、図２に示すＲＯＭ１０ｂの一部から構成することができる。
【００４６】
送信部５２０は、メインＣＰＵコア５００や暗号化部５３０から転送されたデータを中間部２０や中間部２０を介して演出制御部２０３へ送信するためのインターフェイスの役割を果たす。具体的には、送信部５２０は、中間部２０へデータを送信させるための送信指示を示す信号（以下、「送信指示」という）がメインＣＰＵコア５００や暗号化部５３０から入力されると、転送されてきたデータを受け取って中間部２０へ送信する。
【００４７】
送信部５２０は、第１送信部５２０ａと第２送信部５２０ｂの２つの送信部を備えている。第１送信部５２０ａは、制御コマンドデータを中間部２０へ送信するものであって、メインＣＰＵコア５００からの送信指示が入力されると制御コマンドデータを受け取って、中間部２０へ送信する。同様に、第２送信部５２０ｂは、認証データを中間部２０へ送信するものであって、暗号化部５３０からの送信指示が入力されると認証データを受け取って、中間部２０へ送信する。なお、送信部５２０が有する機能を実現する手段は、上記変換機能を有する公知の入出力装置から構成することができる。但し、主制御部１０から中間部２０への一方向のみ伝送可能となっている。
【００４８】
なお、制御信号は、制御コマンドの内容を表す制御コマンドデータに誤り検出符号等を付加して構成されたデータを電気信号に変換したものを意味するが、以下、「制御コマンド」という言葉には、中間部２０や演出制御部２０３などへの制御命令の意味だけではなく、制御コマンドデータや制御信号の意味も含まれるものとする。また、制御信号を中間部２０や演出制御部２０３などへ送信することを、「制御コマンドを送信する」という。また、「制御コマンドを書き込む」とは、制御コマンドデータのみを書き込むことに限定されず、制御コマンドデータ以外の制御信号を構成するデータの書き込みも含まれているものとする。
【００４９】
暗号化部５３０は、いわゆるハードウェアであって、自身が保持するアルゴリズムに従って検査値を暗号化する際の暗号鍵として鍵データを生成するとともに、データ記憶部５１０から転送された検査値を暗号化して認証データを生成する。そして、暗号化部５３０は、生成した認証データとこの認証データを中間部２０へ送信させるための送信指示とを予め取り決められた所定のタイミングによって送信部５２０へ転送し、中間部２０へ送信させる。また、暗号化部５３０は、メインＣＰＵコア５００からの読み出し指示に従って、生成した鍵データをメインＣＰＵコア５００に転送する。なお、暗号化部５３０が有する機能を実現する手段は、例えば、図２に示す暗号化制御回路１０ｇから構成することができる。
【００５０】
パルス発生部５４０は、メインＣＰＵコア５００、送信部５２０、及び暗号化部５３０に対してクロック信号を送る。パルス発生部５４０と接続されたメインＣＰＵコア５００等は、受け取ったクロック信号を基に互いの動作を同期させている。また、メインＣＰＵコア５００等は、パルス発生部５４０から受け取ったクロック信号をカウントして割込処理等を行う際のタイマ機能を保有している。パルス発生部５４０が有する機能を実現する手段は、公知のクロックパルス発生装置から構成することができる。内部バス５５０は、メインＣＰＵコア５００と暗号化部５３０とのデータの転送など、主制御部１０を構成する構成要素が互いに各種データや信号をやり取りするための経路である。内部バス５５０は、アドレスバス及びデータバスの機能を少なくとも含み、内部バス５５０が有する機能を実現する手段は、公知の信号線から構成することができる。
【００５１】
次に、認証処理時における主制御部１０の各構成部の処理について説明する。図４は、図３に示した主制御部１０の構成を詳細に説明するためのブロック図である。
パチンコ遊技機１の電源が投入され、メインＣＰＵコア５００が初期設定処理を行った後、主制御部１０を構成する暗号化部５３０は、鍵データの生成を開始する。暗号化部５３０が鍵データの生成を開始するタイミングは、メインＣＰＵコア５００からの指示によらず、暗号化部５３０が保持するアルゴリズムで予め設定されている。具体的には、暗号化部５３０を構成する鍵決定部５３１は、例えば、乱数生成回路（図示せず）や乱数生成アルゴリズムなどの自身が保持する乱数生成手段によって生成された値を鍵データとする。
【００５２】
なお、鍵決定部５３１は、乱数を用いないで鍵データを決定するようにしてもよい。例えば、鍵決定部５３１は、鍵データを決定するためのデータテーブルを予め保持させておき、鍵データを生成するタイミング等で鍵決定部５３１がそのテーブルから予め定めた規則に応じて鍵データを取得するようにしてもよい。また、鍵決定部５３１は、一度に１つの鍵データを生成して一意に決定してもよいし、一度に複数の鍵データを生成し複数の鍵データの中から１つの鍵データを選択し、今回の認証処理で使用する鍵データを決定してもよい。但し、今回の認証処理で使用する鍵データを決定するタイミングは、後述するメインＣＰＵコア５００への鍵データの出力よりも前とする。
【００５３】
続いて、暗号化部５３０は、主制御部１０に対する個体認証を行うために用いる検査値をデータ記憶部５１０から取り込む。具体的には、暗号化部５３０を構成する暗号回路５３３が、データ記憶部５１０を構成するデータ記憶回路５１１が有する検査値を、内部バス５５０及びデータ入出力部５３２を介して転送させる。そして、暗号回路５３３は、データ入出力部５３２に書き込まれた検査値を、暗号回路５３３自身が保持する検査値用記憶領域に記憶させる。検査値は、主制御部１０が保持する固有の情報であれば特に限定されない。例えば、メインＣＰＵコア５００に固有に付与されている識別番号（ＩＤ）の他、データ記憶回路５１１の特定のアドレスに記憶されているデータ（制御コマンドデータ、命令コード及び固定データ等）のチェックサム等が考えられる。
【００５４】
暗号回路５３３は、取り込んだ検査値を検査値用記憶領域から読み出し、予め鍵決定部５３１で生成した鍵データを用いて暗号化処理を施し、認証データを生成する。暗号化処理の演算方式（以下、「暗号化方式」という）は、主制御部１０と中間部２０や演出制御部２０３との間で予め取り決めてあれば、特に限定されない。暗号化方式は、例えば、検査値と鍵データとを用いた四則演算又は論理演算等を行って所定のデータサイズを有する演算データを得る処理方式、これらの四則演算又は論理演算等により得られた演算データのビット配列を並び変える処理方式、上記演算データのビットをシフト又はローテイトする処理方式、検査値を構成する複数のビットを取り出して所定の規則に従って並べて１つのデータを生成する処理方式などである。
【００５５】
暗号回路５３３は、認証データを生成すると、自身の認証データ用記憶領域に記憶し、中間部２０へ認証データを送信するタイミングまで保持しておく。そして、暗号回路５３３は、中間部２０への認証データの送信タイミングを設定する。認証データの送信タイミングは、メインＣＰＵコア５００からの指示によらず、暗号化部５３０が保持するアルゴリズムで予め設定されている。暗号回路５３３は、認証データの送信タイミングになると、データ入出力部５３２及び内部バス５５０を介して主制御部１０を構成する送信部５２０のうちの第２送信部５２０ｂへ認証データを転送し、中間部２０へ送信させる。
【００５６】
具体的には、暗号回路５３３は、認証データの送信タイミングとなると、生成した認証データをデータ入出力部５３２へ受け渡す。データ入力部５３２は、受け渡された認証データを内部バス５５０を介して第２送信部５２０ｂを構成する第２データ入力部５２２ｂへ直ちに書き込む。なお、鍵決定部５３１が鍵データを生成するタイミングと暗号回路５３３が検査値を取得するタイミングとは、暗号回路５３３が認証データをデータ入出力部５３２へ受け渡す前であれば特に制限はない。また、認証データの送信タイミングや送信部５２０の構成については後述する。
【００５７】
一方、主制御部１０を構成するメインＣＰＵコア５００は、中間部２０に認証処理を開始させるトリガとなる鍵コマンドを実行する。具体的には、メインＣＰＵコア５００を構成する処理部５０１は、認証処理に関するプログラムコードに従って、鍵コマンドを実行するために必要な鍵データを取得する。より詳細には、メインＣＰＵコア５００を構成する処理部５０１は、鍵決定部５３１で決定された鍵データを取得するために、メインＣＰＵコア５００を構成するデータ入出力部５０２、内部バス５５０、及びデータ入出力部５３２を介して、鍵決定部５３１に対して鍵データの読み出し指示を行う。鍵決定部５３１は、処理部５０１からの鍵データの読み出し指示を受けると、予め決定した鍵データをデータ入出力部５３２へ受け渡す。データ入出力部５３２は、受け渡された鍵データを内部バス５５０を介してデータ入出力部５０２へ直ちに出力する。データ入出力部５０２は、出力された鍵データを処理部５０１に受け渡す。処理部５０１は、受け取った鍵データを用いて鍵コマンドを生成して、データ入出力部５０２及び内部バス５５０を介して第１送信部５２０ａを構成する第１データ入力部５２２ａへ直ちに書き込む。なお、鍵コマンドの詳細とその送信タイミングについては後述する。
【００５８】
第１送信部５２０ａや第２送信部５２０ｂは、主制御部１０の各構成部からデータを転送されると、受け取ったデータを中間部２０へ直ちに送信する。具体的には、メインＣＰＵコア５００から内部バス５５０を介して第１送信部５２０ａを構成する第１データ入力部５２２ａへ制御コマンドが書き込まれると、第１データ入力部５２２ａは、書き込まれた制御コマンドを第１送信回路５２１ａへ受け渡す。第１送信回路５２１ａは、受け渡された制御コマンドを送信データとして、中間部２０へ直ちに送信する。
【００５９】
同様に、暗号化部５３０から内部バス５５０を介して第２送信部５２０ｂを構成する第２データ入力部５２２ｂへ認証データが書き込まれると、第２データ入力部５２２ｂは、書き込まれた認証データを第２送信回路５２１ｂへ受け渡す。第２送信回路５２１ｂは、受け渡された認証データを送信データとして、中間部２０へ直ちに送信する。以下、適宜、第１送信回路５２１ａ及び第２送信回路５２１ｂをまとめて「送信回路５２１」、第１データ入力部５２２ａ及び第２データ入力部５２２ｂをまとめて「データ入力部５２２」という。
【００６０】
なお、主制御部１０の各構成部は、送信部５２０にてデータを中間部２０へ送信させるための送信指示として、送信部５２０のデータ入力部５２２へ書き込むデータと同時に書き込み信号を内部バス５５０へ出力し、内部バス５５０を通じてデータ入力部５２２にデータを書き込ませる。内部バス５５０は、出力された書き込み信号によって内部バス５５０を通るデータの割り当てを行い、データの衝突が生じないようにする。書き込み信号を出力していない他の構成部は、内部バス５５０に通じる書き込み信号を検知し、検知した書き込み信号を参照することで、何のデータがデータ入力部５２２へ書き込まれているのかを知ることができる。
【００６１】
例えば、メインＣＰＵコア５００から第１データ入力部５２２ａへ制御コマンドが書き込まれる際に、当該制御コマンドの書き込み信号が出力されると、暗号化部５３０は、当該書き込み信号を検知し、検知した書き込み信号を参照して現在はメインＣＰＵコア５００が制御コマンドを第１データ入力部５２２ａへ書き込んでいることを知ることができる。
一方、第１送信部５２０ａは、内部バス５５０を通じて第１データ入力部５２２ａへ書き込むデータとその書き込み信号とが入力されると、内部バス５５０から当該データを読み込んで第１データ入力部５２２ａに書き込む。そして、第１送信部５２０ａは、第１データ入力部５２２ａにデータが書き込まれると、書き込まれたデータを第１送信回路５２１ａに受け渡し、送信データを構成して中間部２０へ直ちに送信する。従って、例えば、暗号化部５３０は、メインＣＰＵコア５００の制御コマンドの書き込み信号を検知し、検知した書き込み信号を参照することによって、メインＣＰＵコア５００の制御コマンドの送信タイミングを知ることができる。
【００６２】
第１送信部５２０ａや第２送信部５２０ｂから送信されたデータは、中間部２０を構成する第１受信部６６０ａや第２受信部６６０ｂにて受信される。具体的には、第１送信部５２０ａを構成する第１送信回路５２１ａから送信された制御コマンドは、第１受信部６６０ａを構成する第１受信回路６６１ａにて受信される。第１受信回路６６１ａは、制御コマンドを受信すると、受信した制御コマンドを第１データ出力部６６２ａへ直ちに受け渡す。第１データ出力部６６２ａは、受け渡された制御コマンドを自身の記憶領域に書き込んで保持する。これと共に、第１受信部６６０ａは、主制御部１０から制御コマンドの受信割込要求があった旨を示す信号を出力したり、制御コマンドの受信が完了したことを示すフラグを立てる等して、中間部２０のＣＰＵ２０ａを構成するＣＰＵコア（図示せず）が制御コマンドの受信が完了したことを検知できるようにする。
【００６３】
同様に、第２送信部５２０ｂを構成する第２送信回路５２１ｂから送信された認証データは、第２受信部６６０ｂを構成する第２受信回路６６１ｂにて受信される。第２受信回路６６１ｂは、認証データを受信すると、受信した認証データを第２データ出力部６６２ｂへ直ちに受け渡す。第２データ出力部６６２ｂは、受け渡された認証データを自身の記憶領域に書き込んで保持する。以下、適宜、第１受信部６６０ａ及び第２受信部６６０ｂをまとめて「受信部６６０」、第１受信回路６６１ａ及び第２受信回路６６１ｂをまとめて「受信回路６６１」、第１データ出力部６６２ａ及び第２データ出力部６６２ｂをまとめて「データ出力部６６２」という。
【００６４】
その後、第１受信部６６０ａや第２受信部６６０ｂにて保持されたデータは、中間部２０を構成するＲＡＭ２０ｃの受信データ用記憶領域に取り込んで記憶され、中間部２０側で各々に応じた処理が行われる。以下、第１受信部６６０ａから取り込んで記憶されるＲＡＭ２０ｃの受信データ用記憶領域を「中間部２０の第１受信データ用記憶領域」、第２受信部６６０ｂから取り込んで記憶されるＲＡＭ２０ｃの受信データ用記憶領域を「中間部２０の第２受信データ用記憶領域」とする。
【００６５】
なお、中間部２０は、後述するように、鍵コマンド及び認証データ以外のデータを受信した場合、当該受信したデータをそのまま演出制御部２０３へ送信する中継処理を行う。一方、中間部２０は、鍵コマンド及び認証データを受信した場合は、当該受信したデータを用いて認証処理を行い、得られた認証結果を演出制御部２０３へ送信する。
本実施の形態では、中間部２０においても２つの送信部を備えており、中継処理に使用される送信部を「中間部２０の第１送信部」（図示せず）とし、認証結果の送信に使用される送信部を「中間部２０の第２送信部」（図示せず）とする。そして、中間部２０の第１送信部へ送信データを転送するためのＲＡＭ２０ｃの送信データ用記憶領域を「中間部２０の第１送信データ用記憶領域」とし、中間部２０の第２送信部へ送信データを転送するためのＲＡＭ２０ｃの送信データ用記憶領域を「中間部２０の第２送信データ用記憶領域」とする。
【００６６】
また、本実施の形態では、演出制御部２０３においても同様に２つの受信部を備えており、中間部２０での中継処理によって中間部２０の第１送信部から送信されたデータを受信する受信部を「演出制御部２０３の第１受信部」（図示せず）とし、中間部２０での認証結果の送信によって中間部２０の第２送信部から送信されたデータを受信する受信部を「演出制御部２０３の第２受信部」（図示せず）とする。そして、演出制御部２０３の第１受信部から取り込んで記憶されるＲＡＭ２０３ｃの受信データ用記憶領域を「演出制御部２０３の第１受信データ用記憶領域」、演出制御部２０３の第２受信部から取り込んで記憶されるＲＡＭ２０３ｃの受信データ用記憶領域を「演出制御部２０３の第２受信データ用記憶領域」とする。
【００６７】
次に、主制御部１０から中間部２０に対して、又は中間部２０を介して演出制御部２０３に対して送信される制御コマンドの種別について説明する。図５は、本発明の実施の形態に係るパチンコ遊技機１を構成する主制御部１０が出力する制御コマンドの種別の一例を示す図であって、図５に示された制御コマンドの種別に限定されるものではない。主制御部１０から中間部２０や中間部２０を介して演出制御部２０３へ送信される制御コマンドは、１コマンドが２バイトのデータで構成されており、制御コマンドの分類を識別するための１バイトのＭＯＤＥの情報と、各制御コマンドの詳細な制御内容を示す１バイトのＤＡＴＡの情報とから構成されている。なお、制御コマンドには一般的なデータ通信で伝送される信号と同様に、ＢＣＣ（Block Check Character）等が付加されている場合もある。ＢＣＣは、データ伝送の過程で発生するデータ誤りなどをチェックするために、伝送ブロックごとに付加される誤り検出符号である。
【００６８】
ＭＯＤＥの情報とＤＡＴＡの情報は鍵コマンド以外の通常の遊技処理に用いられる制御コマンド（通常の制御コマンド）については、データ記憶部５１０のデータ記憶回路５１１に予め記憶されている。鍵コマンドの場合、「ＭＯＤＥ」の情報は、通常の制御コマンドと同様である（例えば、図５では「Ｅ８Ｈ」に割り当てられている）。一方、「ＤＡＴＡ」の情報は、暗号化部５３０を構成する鍵決定部５３１から、メインＣＰＵコア５００への鍵データ出力よりも前に決定された１バイトの鍵データ（例えば、図５では「○×Ｈ」）が使用される。なお、鍵データは、鍵決定部５３１において予め設定されたタイミングで適宜更新される。よって、鍵コマンドを構成する「ＤＡＴＡ」の情報の種類は、少なくとも鍵データの更新時に鍵データが取り得る値の分は少なくとも用意されており、鍵データの更新の度に、例えば、「○×Ｈ」→「△○Ｈ」→「□×Ｈ」等のように適宜変更される。
【００６９】
「電源投入コマンド」は、パチンコ遊技機１の電源が投入されたことを示すものであり、「ＭＯＤＥ」が「Ｅ１Ｈ」で設定され、「ＤＡＴＡ」が「００Ｈ」に設定されている。
この電源投入コマンドは、パチンコ遊技機１の電源が投入されたときに中間部２０や中間部２０を介して演出制御部２０３へ送信される。具体的には、パチンコ遊技機１の電源が投入されたとき、主制御部１０を構成するメインＣＰＵコア５００の処理部５０１は、第１送信部５２０ａを構成する第１データ入力部５２２ａに対して書き込み信号を出力するとともに、電源投入コマンドを第１データ入力部５２２ａの記憶領域に書き込む。その後、第１データ入力部５２２ａは、書き込まれた電源投入コマンドを第１送信回路５２１ａへ受け渡す。第１送信回路５２１ａは、受け渡された電源投入コマンドを送信データとして、中間部２０へ直ちに送信する。このように、制御コマンドを中間部２０や中間部２０を介して演出制御部２０３へ送信するに際して、第１送信部５２０ａを構成する第１データ入力部５２２ａに書き込み信号を出力するとともに、制御コマンドを第１データ入力部５２２ａの記憶領域に書き込み、第１送信回路５２１ａへ受け渡して送信データとすることを、以下、「制御コマンドをセットする」という。
【００７０】
「客待ちデモコマンド」は、パチンコ遊技機１が非遊技状態における客待ちのデモ画面を表示させることを示すものであり、「ＭＯＤＥ」が「Ｅ２Ｈ」で設定され、「ＤＡＴＡ」が「００Ｈ」に設定されている。
この客待ちデモコマンドは、電源投入時に表示される初期演出表示としてデモが開始されてから、又は後述する未抽選入賞回数がゼロとなりデモが開始されてから、所定時間経過したときに中間部２０を介して演出制御部２０３へ送信される。具体的には、上記デモが開始され所定時間経過後に、客待ちデモコマンドが第１送信部５２０ａにセットされる。その後、第１送信部５２０ａにセットされている客待ちデモコマンドが中間部２０を介して演出制御部２０３へ直ちに送信されることとなる。
【００７１】
「図柄変動パターンコマンド」は、パチンコ遊技機１の始動口（第１始動口１０５又は第２始動口１２５）に遊技球が入賞し、図柄表示部１０４にて入賞抽選結果に応じた図柄の変動態様を示すものであり、「ＭＯＤＥ」が「Ｅ３Ｈ」で設定され、各種の変動パターンに合わせてＤＡＴＡの情報が設定されている。
この図柄変動パターンコマンドは、入賞抽選時の大当たり判定後の各種の図柄変動パターンの決定時に中間部２０を介して演出制御部２０３へ送信される。具体的には、入賞抽選時に取得した大当たり判定用乱数が予め設定された大当たり判定テーブルのいずれかの乱数値と対応するかが判断され、各種の図柄変動パターンが決定されて図柄変動が開始されたときに、決定された図柄変動パターンに対応する図柄変動パターンコマンドが第１送信部５２０ａにセットされる。その後、第１送信部５２０ａにセットされている図柄変動パターンコマンドが中間部２０を介して演出制御部２０３へ直ちに送信されることになる。
【００７２】
「図柄停止コマンド」は、図柄変動を停止表示させることを示すものであり、「ＭＯＤＥ」が「Ｅ４Ｈ」で設定され、「ＤＡＴＡ」が「００Ｈ」に設定されている。
この図柄停止コマンドは、図柄変動が開始され図柄変動時間が経過した後に中間部２０を介して演出制御部２０３へ送信される。具体的には、図柄変動が開始され後、予め設定された図柄変動時間が経過したため図柄変動を停止させるときに、図柄停止コマンドが第１送信部５２０ａにセットされる。その後、第１送信部５２０ａにセットされている図柄停止コマンドが中間部２０を介して演出制御部２０３へ直ちに送信されることになる。
【００７３】
「大当たり開始コマンド」は、各種の大当りが開始することを示すものであり、「ＭＯＤＥ」が「Ｅ５Ｈ」で設定され、大当たりの種別に合わせてＤＡＴＡの情報が設定されている。
この大当たり開始コマンドは、各種の大当りが開始するときに、大当たりの種別に対応する大当たり開始コマンドが中間部２０を介して演出制御部２０３へ送信される。具体的には、大当たり遊技処理の開始のときに、大当たりの種別に対応する大当たり開始コマンドが第１送信部５２０ａにセットされる。その後、第１送信部５２０ａにセットされている大当たり開始コマンドが中間部２０を介して演出制御部２０３へ直ちに送信されることになる。
【００７４】
「大当たりコマンド」は、各種大当りの種別に合わせた大当たりのラウンド数を示すものであり、「ＭＯＤＥ」が「Ｅ６Ｈ」で設定され、大当たりのラウンド数に合わせてＤＡＴＡの情報が設定されている。
この大当たりコマンドは、大当りラウンドが開始されるときに、開始されたラウンド数に対応する大当たりコマンドが中間部２０を介して演出制御部２０３へ送信される。具体的には、第１大入賞口開閉扉１０９ａ又は第２大入賞口開閉扉１２９ａを開放させるときに、開放させるときのラウンド数に対応する大当たりコマンドが第１送信部５２０ａにセットされる。その後、第１送信部５２０ａにセットされている大当たりコマンドが中間部２０を介して演出制御部２０３へ直ちに送信されることになる。
【００７５】
「大当たり終了コマンド」は、各種の大当りが終了したことを示すものであり、「ＭＯＤＥ」が「Ｅ７Ｈ」で設定され、大当たりの種別に合わせてＤＡＴＡの情報が設定されている。
この大当たり終了コマンドは、各種の大当りが終了するときに、大当たりの種別に対応する大当たり終了コマンドが中間部２０を介して演出制御部２０３へ送信される。具体的には、大当り遊技終了処理の開始のときに、大当たりの種別に対応する大当たり終了コマンドが第１送信部５２０ａにセットされる。その後、第１送信部５２０ａにセットされている大当たり終了コマンドが中間部２０を介して演出制御部２０３へ直ちに送信されることになる。
【００７６】
「鍵コマンド」は、パチンコ遊技機１で認証処理を実行するため認証データを復号化させることを示すものであり、「ＭＯＤＥ」が「Ｅ８Ｈ」で設定され、鍵決定部５３１で決定された各種の鍵データに合わせてＤＡＴＡの情報が設定されている。
この鍵コマンドは、パチンコ遊技機１で認証処理を実行するときに中間部２０へ送信される。中間部２０は、主制御部１０から鍵コマンドを受信すると、鍵コマンドを用いて認証データを復号化して認証処理を開始し、得られた認証結果を演出制御部２０３へ送信する。演出制御部２０３は、中間部２０から送信された認証結果に応じた処理を行う。パチンコ遊技機１で認証処理を実行するタイミングは基本的に任意に設定することができる。但し、演出制御部２０３では、認証処理の他に通常の遊技進行に伴って演出処理を実行する必要があるため、演出制御部２０３における認証処理の処理負荷はできるだけ抑制することが望ましい。よって、例えば、電源投入時や客待ちデモ開始時に、パチンコ遊技機１で認証処理を実行させることが考えられる。
【００７７】
例えば、鍵コマンドの送信タイミングを電源投入時と設定した場合、メインＣＰＵコア５００は、電源投入コマンドが第１送信部５２０ａにセットされた時から所定時間が経過した後に、鍵決定部５３１から取得された鍵データを用いて鍵コマンドを構成し、第１送信部５２０ａにセットする。その後、第１送信部５２０ａにセットされている鍵コマンドが中間部２０へ直ちに送信されることになる。
また、例えば、鍵コマンドの送信タイミングを客待ちデモ開始時と設定した場合、鍵コマンドは、客待ちデモコマンドが第１送信部５２０ａにセットされた時から所定時間が経過した後に、鍵決定部５３１から取得された鍵データを用いて構成され、第１送信部５２０ａにセットされる。その後、第１送信部５２０ａにセットされている鍵コマンドが中間部２０へ直ちに送信されることになる。以下、本実施の形態では、電源投入時に鍵コマンドを送信することとして説明する。
【００７８】
［遊技機の動作処理］
次に、上記構成のパチンコ遊技機１の動作処理について、図面を参照して説明する。以下、主制御部１０による中間部２０及び演出制御部２０３への制御コマンドの送信を含む動作処理について、図６に示すフローチャートを参照して説明する。主制御部１０の構成部であるメインＣＰＵコア５００は、パルス発生部５４０のクロックパルス発生回路５４１から出力されるクロック信号に基づいて、所定の周期（例えば４ミリ秒）ごとに制御コマンドの実行等の処理を行う。
【００７９】
ステップＳ１において、まず、主制御部１０を構成するメインＣＰＵコア５００は、パチンコ遊技機１の電源投入に伴う初期設定処理を実行した後、ステップＳ２へ進む。なお、パチンコ遊技機１に電源が投入された際には、周辺基板等が主制御基板から受信する制御コマンドを確実に取り込むために、周辺基板等が立ち上がってＲＡＭ領域の初期化を行い、待機状態となった後、主制御基板が立ち上がるように構成されている。メインＣＰＵコア５００は、初期設定処理として、例えば、スタックポインタに予め決められた所定値を設定するとともに、中間部２０や演出制御部２０３が待機状態になることを待つために、一定時間（例えば、約１秒間）だけ待機する。
【００８０】
ステップＳ２において、メインＣＰＵコア５００は、図５に示す電源投入コマンドを第１送信部５２０ａにセットし、中間部２０へ送信する。電源投入コマンドをセットした後、メインＣＰＵコア５００は、ステップＳ３へ進む。電源投入コマンドを受信すると、中間部２０は、演出制御部２０３及び演出制御部２０３を介して図柄表示部１０４やランプ制御部２０５のそれぞれに対して電源投入時の演出用の制御コマンド、具体的には、遊技機が非遊技状態における客待ちのデモ画面を表示するための客待ちデモコマンド、あるいは、ランプの点灯等を行うための制御コマンドを送信する。
【００８１】
なお、電源投入コマンドは、電源投入後に電源投入に伴う処理を実行させるための制御コマンドを示し、各制御基板が立ち上がった後に、主制御部１０から中間部２０や中間部２０を介して演出制御部２０３等へ送信される制御コマンドであって、電源投入後の立ち上げ時における遊技を制御するための初期制御情報、例えば、制御モード、バックアップデータ等を送信するための制御コマンド、あるいは初期演出表示の制御を行うための制御コマンド、各種のデモ表示を開始させるための制御コマンドである。また、この電源投入コマンドは遊技機のリセットボタンを押圧したときに実行される、上記制御モード、バックアップデータ等を送信するための制御コマンドも含む。
【００８２】
ここで、メインＣＰＵコア５００は、鍵コマンドの送信タイミングを電源投入時と設定した場合、ステップＳ２の後にパルス発生部５４０からのクロック信号に基づいて割込処理を行う。電源投入コマンドが第１送信部５２０ａにセットされた時から所定時間が経過した後に、鍵決定部５３１から取得した鍵データを用いて鍵コマンドを構成し、第１送信部５２０ａにセットする。その後、第１送信部５２０ａにセットされている鍵コマンドが中間部２０へ直ちに送信され、中間部２０にて認証処理が開始される。なお、認証処理の詳細については後述する。
【００８３】
ステップＳ３において、メインＣＰＵコア５００は、ＲＡＭ１０ｃに記憶されている未抽選入賞回数データを参照して、未抽選入賞回数が０回であるか否かを判断する。ここで、未抽選入賞回数とは、第１始動口検出部２２１又は第２始動口検出部２２５で検出された遊技球の数（入賞回数）から、当該遊技球の入球に対応する抽選が行われた回数（既抽選回数）を減じた数である。ステップＳ３の判断結果が「ＮＯ」の場合、すなわち、未抽選入賞回数が０回でない場合には、メインＣＰＵコア５００は、後述するステップＳ１０へ進む。一方、ステップＳ３の判断結果が「ＹＥＳ」の場合、すなわち、未抽選入賞回数が０回である場合には、メインＣＰＵコア５００は、ステップＳ４へ進む。
【００８４】
ステップＳ４において、メインＣＰＵコア５００は、電源投入時のデモが開始されてから経過した時間を計測した後、ステップＳ５へ進む。
ステップＳ５において、メインＣＰＵコア５００は、電源投入時のデモが開始されてから所定時間が経過したか否かを判断する。ステップＳ５の判断結果が「ＹＥＳ」の場合、すなわち、電源投入時のデモが開始されてから所定時間が経過した場合には、メインＣＰＵコア５００は、ステップＳ６へ進む。なお、上記電源投入時のデモを開始するための制御コマンドは、客待ちデモコマンドとしてもよい。
【００８５】
ステップＳ６において、メインＣＰＵコア５００は、客待ちデモコマンドを第１送信部５２０ａにセットし、中間部２０を介して演出制御部２０３へ送信した後、ステップＳ７へ進む。客待ちデモコマンドを受信すると、演出制御部２０３は、図柄表示部１０４やランプ制御部２０５のそれぞれに対して客待ちデモ演出用の制御コマンドを送信する。
【００８６】
一方、ステップＳ５の判断結果が「ＮＯ」の場合、すなわち、電源投入時のデモ（又は客待ちデモ）が開始されてから所定時間が経過していない場合には、メインＣＰＵコア５００は、ステップＳ７へ進む。
ステップＳ７において、メインＣＰＵコア５００は、第１始動口検出部２２１で第１始動口１０５への遊技球の入球が検出されたか又は第２始動口検出部２２５で第２始動口１２０への遊技球の入球が検出されたか否かを判断する。ステップＳ７の判断結果が「ＹＥＳ」の場合、すなわち、第１始動口検出部２２１で第１始動口１０５への遊技球の入球が検出されたか又は第２始動口検出部２２５で第２始動口１２０への遊技球の入球が検出された場合には、メインＣＰＵコア５００は、ステップＳ８へ進む。
【００８７】
一方、ステップＳ７の判断結果が「ＮＯ」の場合、すなわち、第１始動口検出部２２１で第１始動口１０５への遊技球の入球が検出されず、かつ、第２始動口検出部２２５で第２始動口１２０への遊技球の入球が検出されない場合には、メインＣＰＵコア５００は、ステップＳ４へ戻り、ステップＳ４以降の処理を繰り返す。
【００８８】
ステップＳ８において、メインＣＰＵコア５００は、客待ちデモ（又は電源投入時のデモ）が開始されてから計測していた時間をクリアした後、ステップＳ９へ進む。
ステップＳ９において、メインＣＰＵコア５００は、未抽選入賞回数に１を加算する。なお、第１始動口検出部２２１又は第２始動口検出部２２５で複数の遊技球の入球が検出された場合、このステップＳ９では、メインＣＰＵコア５００は、未抽選入賞回数に入球に相当する数を加算する。そして、メインＣＰＵコア５００は、ステップＳ１０へ進む。
【００８９】
ステップＳ１０において、メインＣＰＵコア５００は、予め用意された乱数カウンタ（例えば、０〜２５５をカウント）から１つの大当たり判定用乱数を無作為に取得した後、ステップＳ１１へ進む。
ステップＳ１１において、メインＣＰＵコア５００は、未抽選入賞回数から１を減算した後、ステップＳ１２へ進む。
【００９０】
ステップＳ１２において、メインＣＰＵコア５００は、例えば、予めデータ記憶部５１０に記憶されている大当り判定データテーブルを参照して、ステップＳ１０の処理で取得した大当たり判定用乱数が、この大当り判定データテーブルに記憶されている大当たりの乱数値であるか否かを判断する。また、ステップＳ１２では、メインＣＰＵコア５００は、取得した大当たり判定用乱数がはずれの乱数の場合には、例えば、大当り判定データテーブルを参照して、さらに「リーチ有りのはずれ」又は「リーチ無しのはずれ」であるかについても判断する。ステップＳ１２の判断結果が「ＹＥＳ」の場合、すなわち、ステップＳ１０で取得した大当たり判定用乱数が予め定められた大当たり乱数である場合には、メインＣＰＵコア５００は、ステップＳ１３へ進む。
【００９１】
ステップＳ１３において、メインＣＰＵコア５００は、例えば、大当たりの種別コード（通常当りか確率変動当りか等）、リーチ有り、図柄変動時間、等の「ＭＯＤＥ］の情報を含む図柄変動コマンド（大当たりリーチコマンド）を第１送信部５２０ａにセットし、中間部２０を介して演出制御部２０３へ送信した後、ステップＳ１４へ進む。
ステップＳ１４において、メインＣＰＵコア５００は、図柄変動時間が経過したか否かを判断する。ステップＳ１４の判断結果が「ＮＯ」の場合、すなわち、図柄変動時間が経過していない場合には、メインＣＰＵコア５００は、同判断を繰り返す。そして、図柄変動時間が経過すると、ステップＳ１４の判断結果が「ＹＥＳ」となり、メインＣＰＵコア５００は、ステップＳ１５へ進む。
【００９２】
ステップＳ１５において、メインＣＰＵコア５００は、図柄停止コマンドを第１送信部５２０ａにセットし、中間部２０を介して演出制御部２０３へ送信した後、ステップＳ１６へ進む。
ステップＳ１６において、メインＣＰＵコア５００は、大当たり開始コマンドを第１送信部５２０ａにセットし、中間部２０を介して演出制御部２０３へ送信した後、ステップＳ１７へ進む。
ステップＳ１７において、メインＣＰＵコア５００は、大当たり中の各ラウンドに対応するコマンド（大当たりコマンド）を第１送信部５２０ａにセットし、中間部２０を介して演出制御部２０３へ順次送信し、すべてのラウンドの大当たりコマンドの送信を終了した後、ステップＳ１８へ進む。
ステップＳ１８において、メインＣＰＵコア５００は、大当たり終了コマンドを第１送信部５２０ａにセットし、中間部２０を介して演出制御部２０３へ送信した後、ステップＳ２２へ進む。
【００９３】
一方、ステップＳ１２の判断結果が「ＮＯ」の場合、すなわち、ステップＳ１０の処理で取得した大当たり判定用乱数が予め定められた大当たり乱数でない場合には、メインＣＰＵコア５００は、ステップＳ１９へ進む。
ステップＳ１９において、メインＣＰＵコア５００は、「リーチ有りのはずれ」の場合には「リーチ有りのはずれ」に対応する図柄変動パターンコマンド（はずれリーチコマンド）を、「リーチ無しのはずれ」の場合には「リーチ無しのはずれ」に対応する図柄変動パターンコマンド（はずれコマンド）を第１送信部５２０ａにセットし、中間部２０を介して演出制御部２０３へ送信した後、ステップＳ２０へ進む。
【００９４】
ステップＳ２０において、メインＣＰＵコア５００は、図柄変動時間が経過したか否かを判断する。ステップＳ２０の判断結果が「ＮＯ」の場合、すなわち、図柄変動時間が経過していない場合には、メインＣＰＵコア５００は、同判断を繰り返す。そして、図柄変動時間が経過すると、ステップＳ２０の判断結果が「ＹＥＳ」となり、メインＣＰＵコア５００は、ステップＳ２１へ進む。
ステップＳ２１において、メインＣＰＵコア５００は、図柄停止コマンドを第１送信部５２０ａにセットし、中間部２０を介して演出制御部２０３へ送信した後、ステップＳ２２へ進む。
【００９５】
ステップＳ２２において、メインＣＰＵコア５００は、パチンコ遊技機１の電源がオフにされたか否かを判断する。ステップＳ２２の判断結果が「ＮＯ」の場合、すなわち、パチンコ遊技機１の電源がオフにされていない場合には、メインＣＰＵコア５００は、ステップＳ３へ戻り、ステップＳ３以降の処理を繰り返す。
【００９６】
一方、ステップＳ２２の判断結果が「ＹＥＳ」の場合、すなわち、パチンコ遊技機１の電源がオフにされた場合には、メインＣＰＵコア５００は、ステップＳ２３へ進む。
ステップＳ２３において、メインＣＰＵコア５００は、終了処理コマンドを第１送信部５２０ａにセットし、中間部２０を介して演出制御部２０３へ送信した後、本フローチャートによる処理を終了する。
【００９７】
以下、主制御部１０と中間部２０及び演出制御部２０３との間で行われる認証処理について説明する。
図７は、主制御部１０による認証処理の手順の一例を示すフローチャートである。
ステップＳ１０１において、主制御部１０に電源が投入され初期設定処理を行った後、暗号化部５３０は、メインＣＰＵコア５００からの指示によらず、自身が保持するアルゴリズムに従って今回の認証処理に使用する鍵データを決定する。暗号化部５３０を構成する鍵決定部５３１は、例えば、乱数生成手段等によって生成された乱数値を鍵データとして用いることができる。鍵決定部５３１は、決定した鍵データを自身の鍵データ用記憶領域に書き込むとともに、暗号回路５３３へ受け渡す。暗号回路５３３は、受け取った鍵データを自身の鍵データ用記憶領域に書き込む。
【００９８】
ステップＳ１０２において、暗号化部５３０は、データ記憶部５１０に記憶されている検査値を取り込み、検査値に暗号化処理を施し認証データを生成する。具体的には、暗号化部５３０を構成する暗号回路５３３は、データ記憶部５１０を構成するデータ記憶回路５１１の特定のアドレスに記憶されているデータをデータ入出力部５３２及び内部バス５５０を介して読み出す。そして、暗号回路５３３は、読み出した検査値を自身の検査値用記憶領域に記憶し検査値を取り込む。
【００９９】
ステップＳ１０３において、暗号化部５３０は、取り込んだ検査値に対して暗号化処理を施し認証データを生成する。具体的には、暗号回路５３３は、ステップＳ１０１で鍵決定部５３１から受け取った鍵データを自身の鍵データ用記憶領域から読み出し、検査値に対して読み出した鍵データを予め設定された暗号化方式で演算する。暗号回路５３３は、この演算結果を認証データとして認証データ用記憶領域に記憶し、認証データの送信タイミングまで保持しておく。
【０１００】
ステップＳ１０４において、メインＣＰＵコア５００は、電源投入後の初期設定処理を実行した後、制御コマンド（電源投入コマンド）を中間部２０へ送信するべく、第１送信部５２０ａを構成する第１データ入力部５２２ａに書き込む。具体的には、メインＣＰＵコア５００の処理部５０１は、データ記憶回路５１１に記憶されている制御コマンド（電源投入コマンド）を、データ入出力部５０２及び内部バス５５０を介して取り込む。そして、処理部５０１は、取り込んだ制御コマンド（電源投入コマンド）を第１データ入力部５２２ａに書き込むための書き込み信号を、データ入出力部５０２を介して内部バス５５０へ出力する。そして、処理部５０１は、制御コマンド（電源投入コマンド）をデータ入出力部５０２及び内部バス５５０を介して第１データ入力部５２２ａの記憶領域に書き込む。
【０１０１】
ステップＳ１０５において、第１送信部５２０ａは、第１データ入力部５２２ａに制御コマンド（電源投入コマンド）が書き込まれると、直ちに中間部２０へ送信する。具体的には、第１送信部５２０ａを構成する第１データ入力部５２２ａは、ステップＳ１０４で書き込まれた制御コマンド（電源投入コマンド）を第１送信回路５２１ａに受け渡す。第１送信回路５２１ａは、受け渡された制御コマンド（電源投入コマンド）を直ちに中間部２０へ送信する。
【０１０２】
ステップＳ１０６において、暗号化部５３０は、メインＣＰＵコア５００が制御コマンド（電源投入コマンド）を第１データ入力部５２２ａに書き込んでから所定時間経過後に認証データを中間部２０へ送信するとして、認証データの送信タイミングを設定する。具体的には、暗号化部５３０を構成する暗号回路５３３は、メインＣＰＵコア５００がステップＳ１０４で制御コマンド（電源投入コマンド）を第１データ入力部５２２ａへ書き込む際に出力される、送信指示としての書き込み信号を検知し、検知した書き込み信号を参照する。そして、暗号回路５３３は、検知した書き込み信号の入力を基準として、ステップＳ１０３で生成した認証データの送信タイミングを設定する。認証データの送信タイミングは、制御コマンドが中間部２０の第１受信部６６０ａにて受信完了となり中間部２０のＣＰＵコアが受信完了を検知できることとなった時点以降に、認証データが第２受信部６６０ｂにて受信開始されるように設定する。なお、認証データの送信タイミングの詳細については後述する。
【０１０３】
ステップＳ１０７において、暗号化部５３０は、ステップＳ１０６で設定した認証データの送信タイミングに基づいて、認証データの書き込み信号を出力して認証データを第２送信部５２０ｂの第２データ入力部５２２ｂへ書き込む。
ステップＳ１０８において、第２送信部５２０ｂは、第２データ入力部５２２ｂへ認証データが書き込まれると直ちに中間部２０へ送信する。具体的には、第２送信部５２０ｂを構成する第２データ入力部５２２ｂは、ステップＳ１０７で書き込まれた認証データを第２送信回路５２１ｂへ受け渡す。第２送信回路５２１ｂは、受け渡された認証データを直ちに中間部２０へ送信する。
【０１０４】
また、メインＣＰＵコア５００は、所定の周期（例えば４ミリ秒）ごとに制御コマンドの実行を行う。メインＣＰＵコア５００は、制御コマンド（電源投入コマンド）の送信から例えば４ミリ秒経過した後、鍵コマンドの実行を行う。具体的には、以下のステップＳ１０９〜Ｓ１１１の処理である。
【０１０５】
ステップＳ１０９において、まず、メインＣＰＵコア５００の処理部５０１は、暗号化部５３０の鍵決定部５３１に対して鍵データの読み出し指示を行う。
ステップＳ１１０において、鍵決定部５３１は、処理部５０１からの鍵データの読み出し指示を受けると、ステップＳ１０１で決定した鍵データを鍵データ用記憶領域から読み出し、データ入出力部５３２及び内部バス５５０を介してメインＣＰＵコア５００のデータ入出力部５０２へ出力する。データ入出力部５０２は、出力された鍵データを処理部５０１に受け渡す。
ステップＳ１１１において、処理部５０１は、受け取った鍵データを用いて鍵コマンドを生成して、データ入出力部５０２及び内部バス５５０を介して第１データ入力部５２２ａの記憶領域に書き込む。
【０１０６】
ステップＳ１１２において、第１送信部５２０ａは、第１データ入力部５２２ａに鍵コマンドが書き込まれると、書き込まれた鍵コマンドを中間部２０へ送信する。具体的には、第１送信部５２０ａを構成する第１データ入力部５２２ａは、ステップＳ１１１で書き込まれた鍵コマンドを第１送信回路５２１ａへ受け渡す。第１送信回路５２１ａは、受け渡された鍵コマンドを中間部２０へ直ちに送信する。なお、処理部５０１は、鍵コマンドを第１データ入力部５２２ａへ書き込む際に、ステップＳ１０４と同様に、書き込み信号を出力する。暗号回路５３３は、ステップＳ１０６と同様に、ステップＳ１１１での書き込み信号の出力を契機として、次回の認証処理に用いる認証データの送信タイミングを決定することができる。
【０１０７】
ステップＳ１１３において、暗号化部５３０は、ステップＳ１０１と同様の方法で鍵データを更新する。なお、鍵データの更新のタイミングは、ステップＳ１１０の後、すなわち、暗号化部５３０がステップＳ１０９のメインＣＰＵコア５００からの鍵データの読み出し指示に応答して、ステップＳ１１０で鍵データを出力した後とする。なお、鍵データの更新タイミングについては後述する。
【０１０８】
次に、図７で説明した電源投入コマンド送信時にパチンコ遊技機１で認証処理を実行させる場合の、主制御部１０の鍵コマンド及び認証データの送信タイミングについて、図８を用いて説明する。図８の横軸は時間軸を表す。なお、図８は、電源投入直後のＲＡＭ領域の初期化処理や動作安定化のための待機処理等の初期設定処理の説明は省略している。また、主制御部１０はクロック信号の立ち上り時に各構成部の動作開始時点が同期されるものとして説明する。また、転送エラーによる遅延はないものとする。
【０１０９】
図８の（ア）の時点に示すように、主制御部１０に電源が投入されると、メインＣＰＵコア５００とは独立して暗号化部５３０にて鍵データが決定され認証データが生成される。なお、（ア）の時点で生成された認証データを認証データ（Ａ）とする。
そして、（イ）の時点に示すように、メインＣＰＵコア５００にて制御コマンド（電源投入コマンド）が実行される。具体的には、メインＣＰＵコア５００にて書き込み信号が第１送信部５２０ａを構成する第１データ入力部５２２ａへ出力され、制御コマンドの書き込み処理が実行される。
【０１１０】
なお、主制御部１０のメインＣＰＵコア５００では、所定の周期ごとに制御コマンドが実行されるが、図８では、この制御コマンドの実行周期を時間単位で「コマンド実行周期：Ｘ」としている。よって、メインＣＰＵコア５００の動作は、（イ）の時点で示した制御コマンドの書き込みが行われた時点からカウントしてＸ時間経過後に次の動作が開始される。
【０１１１】
そして、（ウ）の時点に示すように、第１送信部５２０ａを構成する第１データ入力部５２２ａへ制御コマンドの書き込みが開始される。
第１データ入力部５２２ａへ書き込まれた制御コマンドは、一定のデータサイズごとに（例えば１バイトごと）第１送信部５２０ａを構成する第１送信回路５２１ａへ受け渡され、中間部２０へ送信される。
【０１１２】
ここで、送信部５２０において、データ入力部５２２から送信回路５２１へ受け渡され中間部２０へ送信される一定のデータサイズの単位を「セグメント」という。データ入力部５２２は、送信回路５２１の記憶領域に１セグメント以上の空き容量が存在している場合、データ入力部５２２の記憶領域に書き込まれたデータを１セグメントずつ送信回路５２１へ受け渡す。そして、送信回路５２１への受け渡しが完了したデータ入力部５２２のセグメントは、受け渡しが完了した順番に直ちに消去され、データ入力部５２２の記憶領域に１セグメント分の空き容量が確保される。
【０１１３】
１セグメント当たりのデータサイズは、データ入力部５２２や送信回路５２１を構成する記憶領域の容量などに従い予め設定されている。本実施の形態では、データ入力部５２２の記憶領域の容量を２バイト、１つのセグメント当たりのデータサイズを１バイトとして説明する。また、１つの制御コマンド当たりのデータサイズは２バイト、１つの認証データ当たりのデータサイズは１バイトとして説明する。また、データ入力部５２２の記憶領域は空の状態（データが記憶無しの状態を示すフラグやエンプティ信号がオンの状態）から始まるものとして説明する。
【０１１４】
また、データ入力部５２２への１バイト分のデータの書き込み完了と同時に、データ入力部５２２から送信回路５２１へ１バイト分のデータの受け渡しが開始され、受け渡された１バイト分のデータは直ちに中間部２０へ送信されるものとして説明する。なお、これら送信部５２０の構成は、中間部２０を構成する受信部６６０（第１受信部６６０ａ及び第２受信部６６０ｂ）についても同様とする。
【０１１５】
また、メインＣＰＵコア５００や暗号化部５３０が、制御コマンドや認証データの書き込み処理の実行に要する時間を、「演算処理時間：Ｔａ」とする。データ入力部５２２に１バイト分のデータが書き込み開始されてから完了するまでに要する時間を、「送信書き込み処理時間：Ｔｂ」とする。データ入力部５２２に１バイト分のデータが書き込み完了されてから、中間部２０のデータ出力部６６２ａへ１バイト分のデータが書き込み開始されるまでに要する時間を、「伝送処理時間：Ｔｃ」とする。データ出力部６６２に１バイト分のデータが書き込み開始されてから完了するまでに要する時間を、「受信書き込み処理時間：Ｔｄ」とする。メインＣＰＵコア５００が制御コマンドの書き込みに伴う書き込み信号を出力する時点から暗号化部５３０が当該書き込み信号の出力を検知して入力する時点までの時間を、「検知処理時間：Ｔｅ」とする。
【０１１６】
図８の（ウ）の時点では、第１データ入力部５２２ａの記憶領域に、制御コマンドの上位１バイトの書き込みが開始される。
そして、（エ）の時点に示すように、制御コマンドの上位１バイトの送信書き込み処理時間（Ｔｂ１）が経過すると、上位１バイトの第１データ入力部５２２ａへの書き込みが完了し、第１送信回路５２１ａへの受け渡しが直ちに開始され、中間部２０へ直ちに送信される。
【０１１７】
そして、（オ）の時点に示すように、制御コマンドの上位１バイトの伝送処理時間（Ｔｃ１）が経過すると、上位１バイトの第１データ出力部６６２ａへの書き込みが開始される。
そして、（ク）の時点に示すように、制御コマンドの上位１バイトの受信書き込み処理時間（Ｔｄ１）が経過すると、上位１バイトの第１データ出力部６６２ａへの書き込みが完了する。
【０１１８】
また、図８の（エ）の時点では、制御コマンドの下位１バイトの第１データ入力部５２２ａへの書き込みが開始される。
メインＣＰＵコア５００が制御コマンドの下位１バイトを第１データ入力部５２２ａへ書き込むタイミングは、上位１バイトの書き込み実行に伴う書き込み信号の出力時点（図８では（イ）の時点）を基準として、上位１バイトの演算処理時間（Ｔａ１）と、上位１バイトの送信書き込み処理時間（Ｔｂ１）との合計時間（Ｔａ１＋Ｔｂ１）が経過した直後（図８では（エ）の時点）に、第１データ入力部５２２ａへ下位１バイトの書き込みが開始されるように予め設定されている。
【０１１９】
そして、（キ）の時点に示すように、制御コマンドの下位１バイトの送信書き込み処理時間（Ｔｂ２）が経過すると、下位１バイトの第１データ入力部５２２ａへの書き込みが完了し、第１送信回路５２１ａへの受け渡しが直ちに開始され、中間部２０へ直ちに送信される。
【０１２０】
そして、（ク）の時点に示すように、制御コマンドの下位１バイトの伝送処理時間（Ｔｃ２）が経過すると、下位１バイトの第１データ出力部６６２ａへの書き込みが開始される。
そして、（ケ）の時点に示すように、制御コマンドの下位１バイトの受信書き込み処理時間（Ｔｄ２）が経過すると、下位１バイトの第１データ出力部６６２ａへの書き込みが完了する。
【０１２１】
すなわち、制御コマンドの下位１バイトを第１データ入力部５２２ａへ書き込むタイミングを上記のように設定すると、下位１バイトが中間部２０の第１データ出力部６６２ａへ書き込み完了する時点（図８では（ケ）の時点）は、書き込み信号の出力時点（図８では（イ）の時点）を基準として、上位１バイトの演算処理時間（Ｔａ１）と、上位１バイトの送信書き込み処理時間（Ｔｂ１）と、下位１バイトの送信書き込み処理時間（Ｔｂ２）と、下位１バイトの伝送処理時間（Ｔｃ２）と、下位１バイトの受信書き込み処理時間（Ｔｄ２）との合計時間（Ｔａ１＋Ｔｂ１＋Ｔｂ２＋Ｔｃ２＋Ｔｄ２＝α）の経過後となる。
【０１２２】
また、（ウ）の時点では、（イ）の時点での書き込み信号の出力を契機として、暗号化部５３０にて認証データの送信タイミングが設定される。言い換えると、暗号化部５３０が認証データを第２データ入力部５２２ｂへ書き込む処理を実行するタイミングを設定する。本実施の形態では、制御コマンドが中間部２０の第１受信部６６０ａにて受信完了となり中間部２０のＣＰＵコアが受信完了を検知できることとなった時点以降に、認証データが第２受信部６６０ｂにて受信開始されるようなタイミングである。
すなわち、暗号化部５３０が認証データを第２データ入力部５２２ｂへ書き込む処理を実行するタイミングは、認証データが第２データ出力部６６２ｂにて書き込み開始される時点が、少なくとも制御コマンドが第１データ出力部６６２ａにて書き込み完了となる時点以降に位置することとなるタイミングである。
【０１２３】
制御コマンドが第１受信部６６０ａの第１データ出力部６６２ａにて書き込み完了となる時点は、上記のように、制御コマンドの書き込み信号の出力時点（図８では（イ）の時点）からα時間経過後である。
また、認証データが第２データ出力部６６２ｂにて書き込み開始される時点は、制御コマンドの書き込み信号の出力時点（図８では（イ）の時点）を基準として、少なくとも当該書き込み信号の検知処理時間（Ｔｅ）と、認証データの演算処理時間（Ｔａ３）と、認証データの送信書き込み処理時間（Ｔｂ３）と、認証データの伝送処理時間（Ｔｃ３）との合計時間（Ｔａ３＋Ｔｂ３＋Ｔｃ３＋Ｔｅ＝β）が経過した後である。
【０１２４】
よって、暗号化部５３０は、制御コマンドの書き込み信号の出力を検知して入力する時点（図８では（ウ）の時点）を基準として、制御コマンドが書き込み完了となるために要する時間αと認証データが書き込み開始となるために必要な時間βとの差分時間（α―β＝Ｙ）が経過した時点（図８では（カ）の時点）以降に認証データを書き込む処理を実行すれば、認証データが第２データ出力部６６２ｂにて書き込み開始される時点（図８では（コ）の時点）は、少なくとも制御コマンドが第１データ出力部６６２ａにて書き込み完了となる時点（図８では（コ）の時点）以降に位置することとなる。
従って、本実施の形態では、暗号化部５３０は、制御コマンドの書き込み信号の入力時点（図８では（ウ）の時点）から遅延時間Ｙが経過した後、認証データを第２データ入力部５２２ｂへ書き込む処理を実行するように認証データの送信タイミングを設定する。
【０１２５】
このように設定すると、（カ）の時点に示すように、暗号化部５３０にて第２データ入力部５２２ａへ認証データの書き込み信号が出力され、認証データの書き込み処理が実行される。
そして、（キ）の時点では、第２データ入力部５２２ｂの記憶領域に、認証データの書き込みが開始される。
そして、（ケ）の時点に示すように、認証データの送信書き込み処理時間（Ｔｂ３）が経過すると、認証データの第２データ入力部５２２ｂへの書き込みが完了し、第２送信回路５２１ｂへの受け渡しが直ちに開始され、中間部２０へ直ちに送信される。
【０１２６】
そして、（コ）の時点に示すように、認証データの伝送処理時間（Ｔｃ３）が経過すると、認証データの第２データ出力部６６２ｂへの書き込みが開始される。
そして、（ス）の時点に示すように、認証データの受信書き込み処理時間（Ｔｄ３）が経過すると、制御コマンドの第２データ出力部６６２ｂへの書き込みが完了する。
【０１２７】
また、（サ）の時点に示すように、（イ）の時点からカウントしてＸ時間経過後に、鍵コマンドの実行を開始するために、メインＣＰＵコア５００にて鍵データの読み出し指示が暗号化部５３０に対して行われる。
そして、（シ）の時点に示すように、暗号化部５３０にて鍵データの読み出し指示を受けると、メインＣＰＵコア５００に対して鍵データが直ちに出力される。この鍵データは、認証データ（Ａ）を生成した際に用いられた鍵データと同一であるため、鍵データ（Ａ）とする。
【０１２８】
そして、（ス）の時点に示すように、メインＣＰＵコア５００にて鍵データ（Ａ）を受け取ると、鍵コマンドが直ちに実行される。具体的には、メインＣＰＵコア５００にて書き込み信号が第１データ入力部５２２ａへ出力される。
そして、（セ）の時点に示すように、第１データ入力部５２２ａへ鍵データ（Ａ）より構成された鍵コマンドの書き込みが開始され、第１送信回路５２１ａを介して中間部２０へ直ちに送信される。
【０１２９】
また、（ソ）の時点に示すように、暗号化部５３０にて鍵データの更新が行われる。図８では、鍵データ（Ａ）から鍵データ（Ｂ）に変更されたとする。ここで、鍵データの更新タイミングは、暗号化部５３０が、メインＣＰＵコア５００からの鍵データの読み出し指示に応答して、鍵データを出力した時点（図８の（シ）の時点）を基準として、規定時間経過後に設定する。
【０１３０】
仮に、鍵データの更新タイミングを、図８の（ス）の時点より前に設定すると、（カ）の時点で第２データ入力部５２２ｂへ書き込んだ認証データの生成に用いた鍵データと、（ス）の時点で第１データ入力部５２２ａへ書き込んだ鍵コマンドを構成する鍵データとが一致しなくなるおそれが生じる。そうすると、中間部２０では、鍵コマンドを受信して認証処理を開始しても認証データを復号化することができない。
従って、鍵データの更新タイミングは、暗号化部５３０が、メインＣＰＵコア５００からの鍵データの読み出し指示に応答して、鍵データを出力した後の時点（図８では（ス）の時点）以降とする。
【０１３１】
その後、（タ）の時点に示すように、暗号化部５３０にて２回目の認証データの生成が行われる。この認証データは、（ソ）の時点で更新された鍵データ（Ｂ）を用いて生成されるため、認証データ（Ｂ）とする。
【０１３２】
そして、（チ）の時点に示すように、鍵コマンドの書き込み信号の入力時点（図８では（セ）の時点）を基準として、認証データ（Ａ）の送信タイミング設定時と同様に、所定時間Ｙ遅延して、暗号化部５３０にて認証データ（Ｂ）の書き込み処理が実行される。
そして、（ツ）の時点に示すように、第２データ入力部５２２ｂへ認証データ（Ｂ）の書き込みが開始され、第２送信回路５２１ｂを介して中間部２０へ直ちに送信される。
【０１３３】
また、（テ）の時点に示すように、（ス）の時点からカウントしてＸ時間経過後に、鍵コマンドの実行を開始するために、メインＣＰＵコア５００にて鍵データの読み出し指示が暗号化部５３０に対して行われる。これ以降は、暗号化部５３０における鍵データの出力等、図８の（シ）の時点以降と同様であるため、説明を省略する。
【０１３４】
認証データの送信タイミングを上記のように設定することで、認証データの送信タイミングと制御コマンドの送信タイミングの時間軸上の位置関係が明確化され、認証データの送信は、制御コマンドの送信直後に必ず行われることとなる。これによって、中間部２０では、新たな判断処理ステップや特別な解析手段を設けなくとも、受信した鍵コマンドを構成する鍵データと、受信した認証データの生成に用いた鍵データとの対応関係が容易に判別できる。よって、認証データと鍵データとの不一致によって復号化処理が実行不可となるおそれを低減し、認証処理の確度を向上することができる。
【０１３５】
また、これによって、ソフトウェア開発上、制御コマンドの送信に関する既存のプログラムコードに対する認証データの送信に関するコードの結合度が低いままで認証データの送信に関する機能を追加することができる。よって、例えば、デバッグ作業時は、既存の制御コマンドの送信に関するものだけ先に作業を行った上で、認証データの送信に関するものは後から作業を行うことができ、より簡単に少ない作業工数で実施することができる。
【０１３６】
また、鍵データの更新タイミングを上記のように設定することで、中間部２０での認証処理の際に、認証データと鍵データとの不一致によって復号化処理が実行不可となるおそれを更に低減し、認証処理の確度を向上することができる。
【０１３７】
なお、図８では、鍵コマンドを送信する契機となる電源投入コマンドが実行された後、所定の周期としてＸ時間経過した後に、鍵コマンドが実行されている例を示したが、上記の所定の周期は時間に限定されず、所定クロック数や制御コマンドの所定送信回数等を用いてもよい。また、鍵コマンドを送信する契機となる制御コマンドも、１種類の制御コマンドに限定する必要はなく、例えば、電源投入コマンドと客待ちデモコマンドの２種類、或いは２種類以上の制御コマンドを契機とするように構成してもよい。また、鍵コマンドを送信する契機となる制御コマンドを、予め設定した取り決めに従って変更するように構成してもよい。また、図８では、鍵コマンドを送信する契機となる制御コマンドが送信される度に認証データを逐次送信しているが、例えば、鍵コマンドを送信する契機となる制御コマンドが２回送信されたら１回だけ認証データ（及び鍵コマンド）を送る等と構成してもよい。
【０１３８】
また、図８では、認証データの送信タイミングを設定するにあたって、鍵コマンドを送信する契機となる制御コマンドにおける送信指示として書き込み信号を基準とし、当該書き込み信号の出力を検知してから遅延時間Ｙが経過した後に認証データの書き込みが開始されるように設定されている。しかしながら、本発明はこれに限定されず、例えば、鍵コマンドを送信する契機となる制御コマンドの書き込み信号を基準として、制御コマンドが特定回数送信された後に送信される制御コマンドの後や、特定時間や特定クロック数経過した後に送信される制御コマンドの後などに、送信タイミングを設定することとしてもよい。また、認証データの送信タイミングの基準となる送信指示は、制御コマンドの書き込み信号の出力だけではなく、制御コマンドそのものの出力や、第１データ入力部５２２ａに書き込みフラグが立てられたこととすることもできる。つまり、制御コマンドとこの制御コマンドの書込み信号とは対となって出力されるものであるから、書込み信号に替えて、制御コマンドそのものの出力開始または出力完了のタイミングを、当該制御コマンドを中間部２０に送信せしめるための送信指示を担う情報とすることも可能である。
【０１３９】
また、図８では、鍵データの更新タイミングを設定するにあたって、認証データの送信と鍵コマンドの送信とが１回ずつ完了する度に、新たな鍵データで認証データが生成されるように、更新タイミングが設定されている。そして、メインＣＰＵコア５００からの鍵データの読み出し指示に応答した暗号化部５３０の鍵データの出力を基準として、規定時間経過した後（図８では（シ）の時点を基準として（ソ）の時点に到達後）に、鍵データの更新タイミングを設定している。しかしながら、本発明はこれに限定されず、例えば、鍵データの読み出し指示に応答した鍵データの出力を基準として、規定クロック数が経過した後や、制御コマンドの送信回数が規定回数経過した後などとしてもよい。
【０１４０】
以下、中間部２０による認証処理を含む動作処理について、図９に示すフローチャートを参照して説明する。中間部２０のＣＰＵ２０ａを構成するＣＰＵコアは、中間部２０に設けられたクロックパルス発生回路（図示せず）から出力されるクロック信号に基づいて、所定の周期（例えば２ミリ秒）ごとに、制御コマンドに応じた処理等を行う。
【０１４１】
ステップＳ２０１において、中間部２０のＣＰＵコアは、まず、パチンコ遊技機１の電源投入後の初期設定処理の後、主制御部１０から送信された制御コマンドや各種データ（以下、「制御コマンド等」という）を受信したか否かを判断する。具体的には、中間部２０のＣＰＵコアは、受信部６６０を介してＲＡＭ２０ｃの受信データ用記憶領域に、主制御部１０から送信された制御コマンド等が書き込まれているか否かを確認して、制御コマンド等を受信したか否かを判断する。そして、中間部２０のＣＰＵコアは、受信データ用記憶領域に主制御部１０から送信された制御コマンド等が書き込まれていない場合、本フローチャートによる処理を終了し、受信データ用記憶領域に制御コマンド等が書き込まれている場合、ステップＳ２０２へ進む。
【０１４２】
ステップＳ２０２において、中間部２０のＣＰＵコアは、受信データ用記憶領域に書き込まれたデータの内容を解析する。具体的には、中間部２０のＣＰＵコアは、中間部２０の受信データ用記憶領域のうちの第１受信データ用記憶領域に、鍵コマンドが書き込まれているか否かを判断する。そして、中間部２０のＣＰＵコアは、中間部２０の第１受信データ用記憶領域に鍵コマンドが書き込まれている場合、ステップＳ２０３へ進み、鍵コマンドが書き込まれていない場合、ステップＳ２０４へ進む。
ステップＳ２０３において、中間部２０のＣＰＵコアは、中間部２０の第１受信データ用記憶領域に鍵コマンドが書き込まれている場合、当該鍵コマンドを構成する鍵データをＲＡＭ２０ｃの鍵データ用記憶領域に書き込んで記憶させ、ステップＳ２０８へ進む。
【０１４３】
ステップＳ２０４において、中間部２０のＣＰＵコアは、中間部２０の受信データ用記憶領域のうちの第２受信データ用記憶領域に、認証データが書き込まれているか否かを判断する。そして、中間部２０のＣＰＵコアは、中間部２０の第２受信データ用記憶領域に認証データが書き込まれている場合、ステップＳ２０５へ進み、認証データが書き込まれていない場合、ステップＳ２０６へ進む。
ステップＳ２０５において、中間部２０のＣＰＵコアは、中間部２０の第２受信データ用記憶領域に認証データが書き込まれている場合、当該認証データをＲＡＭ２０ｃの認証データ用記憶領域に書き込んで記憶させ、本フローチャートによる処理を終了する。
【０１４４】
ステップＳ２０６において、中間部２０のＣＰＵコアは、受信データ用記憶領域に書き込まれたデータ（鍵コマンド及び認証データ以外のデータ）を演出制御部２０３へそのまま送信させ、主制御部１０から送信されたデータを演出制御部２０３へ中継する。具体的には、中間部２０のＣＰＵコアは、中間部２０の第１受信データ用記憶領域に書き込まれたデータを、そのままＲＡＭ２０ｃの第１送信データ用記憶領域に書き込み、ステップＳ２０７へ進む。
ステップＳ２０７において、中間部２０のＣＰＵコアは、中間部２０の第１送信データ用記憶領域に書き込まれたデータを送信データとして、中間部２０を構成する第１送信部にて、演出制御部２０３へ直ちに送信させ、本フローチャートによる処理を終了する。
【０１４５】
ステップＳ２０８において、中間部２０のＣＰＵコアは、認証データ用記憶領域に予め受信した認証データが記憶されているか否かを確認する。そして、中間部２０のＣＰＵコアは、認証データ用記憶領域に認証データが記憶されていない場合、未だ認証処理が行える段階ではないとして、本フローチャートによる処理を終了する。一方、中間部２０のＣＰＵコアは、認証データ用記憶領域に認証データが記憶されている場合、ステップＳ２０９へ進む。
【０１４６】
ステップＳ２０９において、中間部２０のＣＰＵコアは、認証データ用記憶領域に認証データが記憶されている場合、鍵データ用記憶領域及び認証データ用記憶領域から鍵データ及び認証データを読み出し、ステップＳ２１０へ進む。なお、鍵データ用記憶領域及び認証データ用記憶領域から鍵データ及び認証データを読み出す際には、両記憶領域に書き込まれた順番と両記憶領域から読み出す順番とが一致するように取り決めておく（いわゆる、先入れ先出し。以下、「先入れ先出しのルール」という）。これにより、認証データの生成に用いた鍵データと鍵コマンドを構成する鍵データとがより確実に一致し、鍵データと認証データの不一致によって復号化処理が実行不可となることを防止し、認証処理の確度を向上することができる。
【０１４７】
ステップＳ２１０において、中間部２０のＣＰＵコアは、読み出した鍵データと認証データとを用いて検査値を抽出する。具体的には、中間部２０のＣＰＵコアは、認証データに対して鍵データを予め設定された復号化方式で演算する。中間部２０のＣＰＵコアは、この演算結果が検査値に相当すると認識し、ＲＡＭ２０ｃの検査値用記憶領域に書き込んで記憶しておき、ステップＳ２１１へ進む。
ステップＳ２１１において、中間部２０のＣＰＵコアは、中間部２０を構成するＲＯＭ２０ｂの所定の記憶領域に予め記憶された期待値を読み出し、ステップＳ２１２へ進む。
【０１４８】
ステップＳ２１２において、中間部２０のＣＰＵコアは、検査値用記憶領域から検査値を読み出し、検査値と期待値とが一致するか否かを判断する。中間部２０のＣＰＵコアは、検査値と期待値とが一致する場合、今回の認証処理において主制御部１０に対する個体認証が成功し、パチンコ遊技機１の正規性を認証することができたと判断し、ステップＳ２１３へ進む。一方、中間部２０のＣＰＵコアは、検査値と期待値とが一致しない場合、今回の認証処理において主制御部１０に対する個体認証は不成功であり、パチンコ遊技機１で不正行為が発生したおそれがあると判断し、ステップＳ２１４へ進む。
【０１４９】
ステップＳ２１３において、中間部２０のＣＰＵコアは、成功を示す認証結果データを生成し、ステップＳ２１５へ進む。
ステップＳ２１４において、中間部２０のＣＰＵコアは、不成功を示す認証結果データを生成し、ステップＳ２１５へ進む。
【０１５０】
ステップＳ２１５において、中間部２０のＣＰＵコアは、得られた認証結果データを演出制御部２０３へ送信させる。具体的には、中間部２０のＣＰＵコアは、ステップＳ２１３又はステップＳ２１４で生成した成功又は不成功を示す認証結果データを、中間部２０の第２送信データ用記憶領域に書き込み、ステップＳ２１６へ進む。
ステップＳ２１６において、中間部２０のＣＰＵコアは、中間部２０の第２送信データ用記憶領域に書き込まれたデータを送信データとして、中間部２０を構成する第２送信部にて、演出制御部２０３へ直ちに送信させ、本フローチャートによる処理を終了する。
【０１５１】
以下、演出制御部２０３が実行する制御処理について、図１０〜図１３に示すフローチャートを参照して説明する。
図１０は、演出制御部２０３によるメイン処理の手順の一例を示すフローチャートである。
ステップＳ１０００において、演出制御部２０３のＣＰＵ２０３ａを構成するサブＣＰＵコア（図示せず）は、初期設定処理を行う。この処理において、サブＣＰＵコアは、電源投入に応じて、演出制御部２０３のＲＯＭ２０３ｂからメイン処理に関するプログラムコードを読み込む。これとともに、サブＣＰＵコアは、演出制御部２０３のＲＡＭ２０３ｃに記憶されるフラグなどを初期化し、所定値に設定する処理を行う。この処理が終了した場合には、ステップＳ１２００に処理を移す。
【０１５２】
ステップＳ１１００において、サブＣＰＵコアは、演出用乱数更新処理を行う。この処理において、サブＣＰＵコアは、ＲＡＭ２０３ｃに記憶される演出用乱数値を更新する処理を行う。以降は、所定の割込処理が行われるまで、上記ステップＳ１１００の処理を繰り返し行う。
【０１５３】
図１１は、演出制御部２０３による割込処理の手順の一例を示すフローチャートである。サブＣＰＵコアは、演出制御部２０３に設けられたクロックパルス発生回路（図示せず）から出力されるクロック信号に基づいて、所定の周期（例えば２ミリ秒）ごとに、演出制御部２０３のタイマ割込処理を実行する。
【０１５４】
ステップＳ１２００において、サブＣＰＵコアは、ＣＰＵ２０３ａのレジスタに格納されている情報をスタック領域に退避させる。
ステップＳ１３００において、サブＣＰＵコアは、演出制御部２０３で用いられる各種タイマカウンタの更新処理を行う。
【０１５５】
ステップＳ１５００において、サブＣＰＵコアは、コマンド解析処理を行う。この処理において、サブＣＰＵコアは、ＲＡＭ２０３ｃの第２受信データ用記憶領域に書き込まれた制御コマンドの種別を解析する処理を行う。演出制御部２０３では、中間部２０から送信された制御コマンド等を受信部にて受信すると、制御コマンド等の受信割込処理が発生する。そして、サブＣＰＵコアは、受信した制御コマンド等を演出制御部２０３の受信データ用記憶領域に書き込んで記憶する。
その後、受信したデータが演出制御部２０３の第１受信データ用記憶領域に記憶された場合には、サブＣＰＵコアは、本ステップＳ１５００において、第１受信データ用記憶領域に記憶されたデータのうちの制御コマンドについて、そのコマンド種別を解析する処理が行われる。なお、コマンド解析処理の詳細については後述する。
【０１５６】
ステップＳ１６００において、サブＣＰＵコアは、認証結果データ解析処理を行う。この処理において、サブＣＰＵコアは、演出制御部２０３の第２受信データ用記憶領域に書き込まれた認証結果データの内容を解析する処理を行う。サブＣＰＵコアは、認証結果データの受信割込処理が発生し、演出制御部２０３の第２受信データ用記憶領域にデータが記憶された場合には、本ステップＳ１６００において、第２受信データ用記憶領域に記憶された認証結果データの内容を解析し、認証結果が示す内容に応じた処理を実行する。なお、認証結果データ解析処理の詳細については後述する。
【０１５７】
ステップＳ１７００において、サブＣＰＵコアは、演出ボタン検出部２２０の信号のチェックを行い、演出ボタン検出部２２０に関する演出入力制御処理を行う。
ステップＳ１８００において、サブＣＰＵコアは、ＲＡＭ２０３ｃの送信データ用記憶領域に書き込まれた制御コマンドや各種データを図柄表示部１０４やランプ制御部２０５へ送信するデータ送信処理を行う。
ステップＳ１９００において、サブＣＰＵコアは、ステップＳ１２００で退避した情報をＣＰＵ２０３ａのレジスタに復帰させる。
【０１５８】
図１２は、演出制御部２０３によるコマンド解析処理の手順の一例を示すフローチャートである。
ステップＳ１５０１において、サブＣＰＵコアは、演出制御部２０３の第１受信データ用記憶領域に制御コマンドが書き込まれているか否かを確認して、制御コマンドを受信したか否かを判断する。そして、サブＣＰＵコアは、演出制御部２０３の第１受信データ用記憶領域に制御コマンドが書き込まれていない場合、本フローチャートによる処理を終了し、演出制御部２０３の第１受信データ用記憶領域に制御コマンドが書き込まれている場合、ステップＳ１５１０へ進む。
【０１５９】
ステップＳ１５１０において、サブＣＰＵコアは、演出制御部２０３の第１受信データ用記憶領域に書き込まれている制御コマンドが、客待ちデモコマンド（図６のステップＳ６参照）である場合、ステップＳ１５１１へ進み、客待ちデモコマンドでない場合、ステップＳ１５２０へ進む。
ステップＳ１５１１において、サブＣＰＵコアは、客待ちデモ用の演出パターンを決定するデモ演出処理を行う。具体的には、客待ちデモ用の演出パターンを決定し、決定したデモ演出パターンに基づく演出処理コマンドをＲＡＭ２０３ｃの送信データ用記憶領域に書き込んで送信データとし、図柄表示部１４０やランプ制御部２０５へ送信させる。
【０１６０】
ステップＳ１５２０において、サブＣＰＵコアは、演出制御部２０３の第１受信データ用記憶領域に書き込まれている制御コマンドが、大当たり用又ははずれ用の図柄変動パターンコマンド（図６のステップＳ１３又はステップＳ１９参照）である場合、ステップＳ１５２１へ進み、図柄変動パターンコマンドでない場合、ステップＳ１５３０へ進む。
ステップＳ１５２１において、サブＣＰＵコアは、大当たり用又ははずれ用のそれぞれについて用意された各種変動演出パターンの中から、１つ変動演出パターンを決定する図柄変動演出処理を行う。具体的には、サブＣＰＵコアは、図１０のステップＳ１１００において更新されている演出用乱数値から１つの乱数値を取得し、取得した演出用乱数値とＲＯＭ２０３ｂに予め保持する変動演出パターン決定テーブルとに基づいて、１つの変動演出パターンを決定する。そして、サブＣＰＵコアは、決定した変動演出パターンに基づく演出処理コマンドを送信データ用記憶領域に書き込んで送信データとし、図柄表示部１４０やランプ制御部２０５へ送信させる。
【０１６１】
ステップＳ１５３０において、サブＣＰＵコアは、演出制御部２０３の第１受信データ用記憶領域に書き込まれている制御コマンドが、図柄停止コマンド（図６のステップＳ１５又はステップＳ２１参照）である場合、ステップＳ１５３１へ進み、図柄停止コマンドでない場合、ステップＳ１５４０へ進む。
ステップＳ１５３１において、サブＣＰＵコアは、変動態様を示す演出図柄を停止表示させるための図柄停止演出処理を行う。具体的には、サブＣＰＵコアは、図柄停止コマンドに基づく演出処理コマンドを送信データ用記憶領域に書き込んで送信データとし、図柄表示部１４０やランプ制御部２０５へ送信させる。
【０１６２】
ステップＳ１５４０において、サブＣＰＵコアは、演出制御部２０３の第１受信データ用記憶領域に書き込まれている制御コマンドが、大当たり開始コマンド（図６のステップＳ１６参照）である場合、ステップＳ１５４１へ進み、大当たり開始コマンドでない場合、ステップＳ１５５０へ進む。
ステップＳ１５４１おいて、サブＣＰＵコアは、大当たり開始演出パターンを決定する大当たり開始演出処理を行う。具体的には、サブＣＰＵコアは、大当たり開始コマンドに基づいて大当たり開始演出パターンを決定し、決定した大当たり開始演出パターンに基づく演出処理コマンドを送信データ用記憶領域に書き込んで送信データとし、図柄表示部１４０やランプ制御部２０５へ送信させる。
【０１６３】
ステップＳ１５５０において、サブＣＰＵコアは、演出制御部２０３の第１受信データ用記憶領域に書き込まれている制御コマンドが、大当たりコマンド（図６のステップＳ１７参照）である場合、ステップＳ１５５１へ進み、大当たりコマンドでない場合、ステップＳ１５６０へ進む。
ステップＳ１５５１おいて、サブＣＰＵコアは、ラウンド別の大当たりコマンドに対応する大当たり演出処理を行う。具体的には、サブＣＰＵコアは、各大当たりラウンドのそれぞれに対応した大当たりコマンドに基づく演出処理コマンドを送信データ用記憶領域に書き込んで送信データとし、図柄表示部１４０やランプ制御部２０５へ送信させる。
【０１６４】
ステップＳ１５６０において、サブＣＰＵコアは、演出制御部２０３の第１受信データ用記憶領域に書き込まれている制御コマンドが、大当たり終了コマンド（図６のステップＳ１８参照）である場合、ステップＳ１５６１へ進み、大当たり終了コマンドでない場合、本フローチャートによる処理を終了する。
ステップＳ１５６１において、サブＣＰＵコアは、大当たり終了演出パターンを決定する大当たり終了演出処理を行う。具体的には、サブＣＰＵコアは、大当たり終了コマンドに基づいて大当たり終了演出パターンを決定し、決定した大当たり終了演出パターンに基づく演出処理コマンドを送信データ用記憶領域に書き込んで送信データとし、図柄表示部１４０やランプ制御部２０５へ送信させ、本フローチャートによる処理を終了する。
【０１６５】
図１３は、演出制御部２０３による認証結果データ解析処理の手順の一例を示すフローチャートである。
ステップＳ１６０１において、サブＣＰＵコアは、演出制御部２０３の第２受信データ用記憶領域に認証結果データが書き込まれているか否かを確認して、認証結果データを受信したか否かを判断する。そして、サブＣＰＵコアは、演出制御部２０３の第２受信データ用記憶領域に認証結果データが書き込まれていない場合、本フローチャートによる処理を終了し、第２受信データ用記憶領域に認証結果データが書き込まれている場合、ステップＳ１６１０へ進む。
【０１６６】
ステップＳ１６１０において、サブＣＰＵコアは、演出制御部２０３の第２受信データ用記憶領域に書き込まれた認証結果データが、認証成功を示す結果であるか否かを確認する。サブＣＰＵコアは、認証結果データが認証成功を示す結果である場合、今回の中間部２０での認証処理において主制御部１０に対する個体認証が成功し、パチンコ遊技機１の正規性を認証することができたと判断して、本フローチャートによる処理を終了する。一方、サブＣＰＵコアは、認証結果データが認証不成功を示す結果である場合、今回の中間部２０での認証処理において主制御部１０に対する個体認証は不成功であり、パチンコ遊技機１で不正行為が発生したおそれがあると判断し、ステップＳ１６２０へ進む。
【０１６７】
ステップＳ１６２０において、パチンコ遊技機１で不正行為が発生したおそれがあると判断された場合、サブＣＰＵコアは、その旨を報知する為に報知信号を出力し、本フローチャートによる処理を終了する。
【０１６８】
サブＣＰＵコアは、生成した報知信号を、例えば、図柄表示部１０４やランプ制御部２０５、あるいはパチンコ遊技機１を管理するセンター制御装置などへ送信する。図柄表示部１０４やランプ制御部２０５などは、受信した報知信号に基づいて、パチンコ遊技機１で不正行為が発生したおそれがある旨を報知する演出を実行する。この演出は、例えば、図柄表示部１０４に通常出現しないキャラクターを出現させたり、通常出現するキャラクターを通常とは異なる方法で出現させるなどである。また、図柄表示部１０４の輝度を変えたり、色を変えたり、ランプ制御部２０５に対して所定のランプを表示制御するようにしてもよい。いずれにせよ、遊技店の従業員が当該パチンコ遊技機１の前を通過した際に、その状態に気付くようにしてあればよい。また、この演出は、顧客がその状態に気付かないような演出でもよく、また、顧客が容易に気付く演出であってもよい。顧客が容易に気付く演出にすれば、不正行為を効率的に抑止することができる。
【０１６９】
また、報知信号に「大当たり中」や「確率変動中」などのパチンコ遊技機１の遊技状態に関する情報を含めてもよい。これらの遊技状態に関する情報に基づいて、パチンコ遊技機１を管理するセンター制御装置などによって不正行為が行われているか否かの判断を行ってもよい。例えば、大当たり中や確率変動中は入賞が集中していても正常である場合がある。よって、大当たり中や確率変動中は、その他の状態とは異なる条件で不正行為のおそれがあるか否かについて判断するのがよい。また、遊技状態に関する情報は、報知信号に含めずに別信号として出力するようにしてもよい。この場合、従業員は、報知信号と遊技状態に関する情報の両方に基づいて、不正行為のおそれがあるか否かについて判断する。
【０１７０】
なお、主制御部１０と賞球制御部２０４との間に中間部２０を設けた場合の認証処理は、主制御部１０と演出制御部２０３との間に中間部２０を設けた場合の認証処理とほぼ同様の手順で行われるため説明を省略する。
【０１７１】
以上のように、本実施の形態では、暗号化制御回路１０ｇ（ハードウェア）で構成される暗号化部５３０が、主制御部１０の個体認証に必要な認証データを、プログラムコードに記述されたメインＣＰＵコア５００からの指示によらず、独自に保持するアルゴリズムに従って生成し、中間部２０へ自動的に送信している。また、認証データの復号化に必要な鍵データは、メインＣＰＵコア５００からの読み出し指示のみで暗号化制御回路１０ｇから出力され、中間部２０へ直ちに送信される。従って、主制御部１０に対する認証機能を有しながらも、認証機能を有することで増大する主制御部１０のＣＰＵの処理負荷やプログラム容量を最大限抑制することができ、パチンコ遊技機１のセキュリティ強度の向上と処理速度の向上とを両立させることができる。
【０１７２】
また、本実施の形態では、認証データの生成や送信に関する処理の制御は、暗号化部５３０自身のアルゴリズムで定義すればよい。また、鍵コマンドの実行に関する処理の制御も、メインＣＰＵコア５００が実行するプログラムコードに１種類の制御コマンド（鍵コマンド）に対応するコードを追加するだけよい。具体的には、鍵データの読み出し指示に関するコード及び鍵コマンドの書き込みに関するコードを追加するだけでよく、コードステップ数換算でそれぞれ僅か１命令分だけの追加で足りる。従って、認証データ及び鍵コマンドの送信タイミングの設定や鍵データの更新タイミング等は、特定時間経過後や特定クロック数経過後など自由なタイミング設計が可能であり、ソフトウェア制御の拡張性や柔軟性も備えた認証機能を提供することができる。これに加えて、メインＣＰＵコア５００が実行するプログラムコード全体にわたっての新たなタイミング設計を行う必要がなく、上記鍵コマンドに関する追加だけのタイミング設計で済むため、認証機能を追加する際の実装及び検証作業を、より簡単で少ない作業工数で実施することができる。また、このことで認証機能を追加する際の設計自由度を高くすることができる。
【０１７３】
また、本実施の形態では、認証データの送信処理を担う第２送信部５２０ｂが、制御コマンドの送信処理を担う第１送信部５２０ａとは別個に設けられている。よって、送信部への認証データの書き込みタイミングが他の送信データの書き込みタイミングと重複して上書きされたり、送信部の記憶領域に空き容量が存在せずオーバーフローが発生したりするおそれを懸念する必要がない。従って、認証データと制御コマンドの両方の送信処理を１つの送信部で担う場合と比較して、認証機能を追加する際の実装及び検証作業は、更に少ない作業工数で実施可能となり、認証機能の設計自由度も更に高くすることができる。
【０１７４】
また、本実施の形態では、認証データの復号化処理や検査値と期待値との照合処理といった認証処理の大部分は中間部２０が実行する。よって、演出制御部２０３で認証処理が実行されるのは、中間部２０から認証結果データを受信した場合のみである。すなわち、認証処理を行うことによって演出制御部２０３のＣＰＵの処理負荷が増大するのは、認証結果データを受信したときのみであるため、演出制御部２０３の処理負荷が増大する割合を抑えることができる。また、演出制御部２０３が実行するプログラムコードには認証結果データ解析処理に関するプログラムコードを追加するだけでよい。従って、演出制御部２０３が実行するプログラムコード全体にわたっての新たなタイミング設計を行う必要がなく、上記認証結果データに関する追加だけのタイミング設計で済むため、認証機能を追加する際の実装及び検証作業を、より簡単で少ない作業工数で実施することができる。また、このことで認証機能を追加する際の設計自由度を高くすることができる。
【０１７５】
また、本実施の形態では、鍵コマンドの送信タイミングを、電源投入コマンドを基準に設定し、パチンコ遊技機１の認証処理を電源投入時に実行している。この場合、電源投入コマンドは、パチンコ遊技機１の電源の投入時やリセット時など、パチンコ遊技機１の初期化処理を行う際（初期設定処理の後）に送信される。パチンコ遊技機１の初期化処理は、パチンコ遊技機１のメインの処理である遊技に係る処理とは異なる処理区分に分類される。したがって、本発明のように、パチンコ遊技機１の初期化処理中に認証処理を組み込めば、遊技処理中に認証処理を組み込む場合と比較して、プログラム設計やテストにかかる工程（工数）が増加する割合を低減することができる。すなわち、パチンコ遊技機１の初期化処理中に認証処理を組み込むことによって、開発コストの低減や品質管理上のメリットを得ることができる。また、パチンコ遊技機１の初期化処理中に認証処理を組み込めば、パチンコ遊技機１の起動直後に認証処理を行うため、遊技店が閉店した後に不正が行われた場合などであっても、顧客が入店する前に不正を検出することができる。よって、不正による被害が発生する危険性を低減することができる。
【０１７６】
また、鍵コマンドの送信タイミングを、客待ちデモコマンドを基準に設定し、パチンコ遊技機１の認証処理を客待ちデモ時に実行した場合、客待ちデモコマンドは、パチンコ遊技機１が非遊技状態、すなわち、パチンコ遊技機１のメインの処理である遊技に係る処理が行われていない場合に送信されるので、認証処理による処理負荷の増大が遊技処理に影響を与えることがない。このため、主制御部１０や周辺部３０が高度な処理能力を有していない場合や、遊技処理の処理負荷が大きいパチンコ遊技機１であっても、認証処理機能を追加することができる。また、客待ちデモコマンドは、顧客がパチンコ遊技機１を操作する前に発行されるコマンドであるので、顧客がパチンコ遊技機１を操作する前に不正行為を検出することができる。
【０１７７】
また、本実施の形態では、中間部２０での認証処理の際に、鍵コマンド及び認証データを構成する鍵データの種類が不一致とならないように、認証データの送信と鍵コマンドの送信とが１回ずつ完了する度に、新たな鍵データで認証データが生成されるように、鍵データの更新タイミングが設定されている。しかしながら、本発明はこれに限定されず、１回の鍵コマンドの送信が完了する間に複数回の認証データの送信が行われた後に、鍵データの更新を行うように構成してもよい。この場合、鍵データの更新が行われる前の認証データの送信回数は、中間部２０の認証データ記憶領域にて保持可能な認証データ数以下に抑えておけばよい。このとき、中間部２０では、復号化処理時の先入れ先出しのルールを守れば、本実施の形態のように、鍵コマンド受信時の直前に受信した認証データに対して復号化処理を施すことに限定されず、例えば、鍵コマンド受信時より所定回数前に受信した認証データに対して復号化処理を施すことができる。また、当該所定回数を示す情報や鍵データの更新状況を示した情報を鍵データとともに都度送信するように構成することもできる。
【０１７８】
また、本実施の形態では、主制御部１０において、認証データを先に送信した後に鍵コマンドを送信することとしたが、本発明はこれに限定されず、鍵コマンドを先に送信した後に認証データを送信することとしてもよい。このとき、中間部２０にて、鍵コマンド受信時に復号化処理の対象となる認証データは、当該鍵コマンド受信時の直後に受信した認証データとなるが、復号化処理時は先入れ先出しではなく、後入れ先出しのルールを取り決めておけばよい。また、中間部２０での認証処理のトリガを、鍵コマンドの受信ではなく認証データの受信とするように構成することもできる。
【０１７９】
また、本実施の形態では、認証データの送信タイミングは、制御コマンドが中間部２０の第１受信部６６０ａにて受信完了となり中間部２０のＣＰＵコアが受信完了を検知できることとなった時点以降に、認証データが第２受信部６６０ｂにて受信開始されるように設定している。しかしながら、本発明はこれに限定されず、制御コマンドが第１受信部６６０ａにて受信完了となった時点以降に、認証データが第２受信部６６０ｂにて受信完了となるように設定することもできる。
【０１８０】
また、本実施の形態では、主制御部１０を構成する送信部５２０は、送信部５２０のデータ入力部５２２へ書き込まれたデータを、データ入力部５２２から送信回路５２１へ受け渡した後、中間部２０へ直ちに送信することとしているが、本発明はこれに限定されず、データ入力部５２２へ書き込まれたデータを、データ入力部５２２又は送信回路５２１にて一時的に保存し、送信部５２０においても中間部２０への送信タイミングを計ることができるような構成としてもよい。このことは、中間部２０から演出制御部２０３への制御コマンドや認証結果データの送信についても同様であり、ＲＡＭ２０ｃの送信データ用記憶領域に書き込まれたデータを送信データとして、演出制御部２０３へ送信する際に、中間部２０を構成する送信部にて送信データを一時的に保存し、送信部で演出制御部２０３への送信タイミングを計ることができるような構成としてもよい。
【０１８１】
また、本実施の形態では、中間部２０を構成する送信部は、中継処理を担う第１送信部と、認証結果の送信処理を担う第２送信部とが別個に設けられているとともに、演出制御部２０３を構成する受信部は、中間部２０の第１送信部の送信データを受信する第１受信部と、中間部２０の第２送信部の送信データを受信する第２受信部とが別個に設けられている。しかしながら、本発明はこれに限定されず、中間部２０を構成する第１送信部と第２送信部とを１つの送信部に統合してもよく、演出制御部２０３を構成する第１受信部と第２受信部とを１つの受信部に統合してもよい。
【０１８２】
また、本実施の形態では、主制御部１０では、検査値を暗号化して認証データを生成し、中間部２０へ送信し、中間部２０では、認証データに復号化して検査値を抽出し認証処理を行っている。そして、中間部２０は、得られた認証結果に対して特に暗号化処理を施さずに、認証結果データとして演出制御部２０３へ送信している。しかしながら、本発明は、これに限定されず、認証データは、検査値に暗号化処理を施さずに検査値そのものを認証データとして中間部２０へ送信してもよい。また、認証結果データは、得られた認証結果に対して暗号化処理を施したものを認証結果データとして演出制御部２０３へ送信してもよい。なお、認証データ及び認証結果データの双方とも暗号化処理が施されたものを用いる場合、中間部２０は、受信した認証データの復号化処理に用いた鍵データと、生成する認証結果データの暗号化処理に用いる鍵データとは同じものを使用すればよい。すなわち、中間部２０は、主制御部１０から送信された鍵コマンドを構成する鍵データを用いて認証データを復号化した後、得られた認証結果に対して当該鍵データで暗号化処理を施して認証結果データを生成すればよい。
【０１８３】
また、このような場合、本実施の形態では、主制御部１０と演出制御部２０３との間に中間部２０を設けているので、主制御部１０を構成するＣＰＵ１０ａと演出制御部２０３を構成するＣＰＵ２０３ａとの間の処理能力の差異や、主制御部１０を構成するＲＯＭ１０ｂやＲＡＭ１０ｃと演出制御部２０３を構成するＲＯＭ２０３ｂやＲＡＭ２０３ｃとの間の記憶容量の差異を、中間部２０において吸収することができる。これにより、主制御部１０と演出制御部２０３との間で処理能力や記憶容量に差異がある場合でも、主制御部１０と演出制御部２０３との間のセキュリティ強度を維持することができる。
【０１８４】
すなわち、例えば、主制御部１０を構成するＣＰＵ１０ａの処理能力や主制御部１０を構成するＲＯＭ１０ｂやＲＡＭ１０ｃの記憶容量が、演出制御部２０３を構成するＣＰＵ２０３ａの処理能力や演出制御部２０３を構成するＲＯＭ２０３ｂやＲＡＭ２０３ｃの記憶容量と比較して余裕がある場合、主制御部１０は、検査値に対して複雑な暗号化処理を施して認証データを生成し中間部２０へ送信する。中間部２０は、受信した認証データを用いて認証処理を行い、得られた認証結果に対して比較的簡易な暗号化処理を施して（又は認証結果そのもので）認証結果データを生成し演出制御部２０３へ送信する。演出制御部２０３は、受信した認証結果データに対して比較的簡易な復号化処理を施して（又は認証結果データそのもので）認証処理を行うことができる。このように構成することにより、演出制御部２０３において複雑な復号化方式を採用しなくても、パチンコ遊技機１として高度のセキュリティ強度を維持することができる。
【０１８５】
また、例えば、演出制御部２０３を構成するＣＰＵ２０３ａの処理能力や演出制御部２０３を構成するＲＯＭ２０３ｂやＲＡＭ２０３ｂの記憶容量が、主制御部１０を構成するＣＰＵ１０ａの処理能力や主制御部１０を構成するＲＯＭ１０ｂやＲＡＭ１０ｃの記憶容量と比較して余裕がある場合、主制御部１０は、検査値に対して比較的簡易な暗号化処理を施して（又は検査値そのもので）認証データを生成し中間部２０へ送信する。中間部２０は、受信した認証データを用いて認証処理を行い、得られた認証結果に対して複雑な暗号化処理を施して認証結果データを生成し演出制御部２０３へ送信する。演出制御部２０３は、受信した認証結果データに対して複雑な復号化処理を施して認証処理を行うこととなる。このように構成することにより、主制御部１０において複雑な暗号化方式を採用しなくても、パチンコ遊技機１として高度のセキュリティ強度を維持することができる。
【０１８６】
また、本実施の形態に係るパチンコ遊技機１では、中間部２０をＣＰＵ、ＲＯＭ、ＲＡＭ等を備えて構成しているが、同様の機能をＬＳＩ等の集積回路として実現するように構成してもよい。
また、本実施の形態では、本発明をパチンコ遊技機に適用する例を示したが、これに限定されず、本発明は、雀球遊技機、アレンジボール等のパチンコ遊技機以外の弾球遊技機、スロットマシン等の回胴式遊技機などの他の遊技機にも適用することができる。これらの遊技機においても、本実施の形態と同様に構成することにより、本実施の形態と同様の効果を得ることができる。また、本実施の形態は、その目的及び構成等に特に矛盾や問題がない限り、互いの技術を流用することができる。
【符号の説明】
【０１８７】
１        パチンコ遊技機
１０      主制御部
１０ａ，２０ａ，２０３ａ，２０４ａ    ＣＰＵ
１０ｂ，２０ｂ，２０３ｂ，２０４ｂ    ＲＯＭ
１０ｃ，２０ｃ，２０３ｃ，２０４ｃ    ＲＡＭ
１０ｍ    ワンチップマイコン
１０ｇ    暗号化制御回路
２０      中間部
２０３    演出制御部
２０３ｄ  ＶＲＡＭ
２０４    賞球制御部
５００    ＣＰＵコア
５０１    処理部
５０２    データ入出力部
５１０    データ記憶部
５１１    データ記憶回路
５２０    送信部
５２０ａ  第１送信部
５２０ｂ  第２送信部
５２１ａ  第１送信回路
５２１ｂ  第２送信回路
５２２ａ  第１データ入力部
５２２ｂ  第２データ入力部
５３０    暗号化部
５３１    鍵決定部
５３２    データ入出力部
５３３    暗号回路
５４０    パルス発生部
５４１    クロックパルス発生回路
５５０    内部バス
６６０ａ  第１受信部
６６０ｂ  第２受信部
６６１ａ  第１受信回路
６６１ｂ  第２受信回路
６６２ａ  第１データ出力部
６６２ｂ  第２データ出力部
【図１】
2012029713.tif 000003
【図２】
2012029713.tif 000004
【図３】
2012029713.tif 000005
【図４】
2012029713.tif 000006
【図５】
2012029713.tif 000007
【図６】
2012029713.tif 000008
【図７】
2012029713.tif 000009
【図８】
2012029713.tif 000010
【図９】
2012029713.tif 000011
【図１０】
2012029713.tif 000012
【図１１】
2012029713.tif 000013
【図１２】
2012029713.tif 000014
【図１３】
2012029713.tif 000015