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