(57)【要約】【課題】遊技機の主制御部に対する不正行為を検知すると共に主制御部の処理負荷を軽減する。【解決手段】主制御部１１０と周辺部３００と後段制御部１８０とを備えた遊技機１であって、主制御部１１０は、所定の遊技情報および遊技機の初期設定情報が記憶されているメインＲＯＭ１１０ｂと、遊技情報に従って演算を行うメインＣＰＵ１１０ａと、周辺部３００へ情報を送信する送信部５２０と、メインＲＯＭ１１０ｂから読み出した検査値を、複数種類の暗号回路５０２のうちの特定の暗号回路５０２で暗号化し、認証情報を生成する認証情報生成部５００を備える。メインＣＰＵ１１０ａは、ブート処理時に初期設定情報の一つとして認証情報生成部５００が有する複数の暗号回路５０２のいずれかを選択し、認証情報生成部５００は、選択された暗号回路５０２を用いて認証情報を生成する。【選択図】図５
2012070845.tif 000002
【特許請求の範囲】
【請求項１】
所定の遊技情報を記憶する遊技情報記憶領域を有すると共に、遊技機の起動の際にアクセス可能であって遊技機の初期設定情報を記憶する初期設定情報記憶領域を有する情報記憶部と、
前記遊技情報に応じた所定の演算を行って制御情報を生成すると共に、生成した前記制御情報を送信せしめるための制御情報送信指示を出力する演算処理部と、
前記遊技情報記憶領域に記憶されている情報の認証を行うための複数の異なる認証情報を生成可能な生成手段を有すると共に、生成した前記認証情報を送信せしめるための認証情報送信指示を出力する認証情報生成部と、
前記制御情報送信指示に応じて前記制御情報を送信すると共に、前記認証情報送信指示に応じて前記認証情報を送信する情報送信部と、
を備えた主制御部と、
送信された前記制御情報に基づいた所定の処理を行う情報処理部と、
送信された前記認証情報を中継送信する中継送信部と、
を備えた第１副制御部と、
中継送信された前記認証情報に基づいて前記遊技情報記憶領域に記憶されている情報の認証を行い、前記認証の結果情報を生成する情報認証部
を備えた第２副制御部と、
を備えた遊技機であって、
前記初期設定情報は、前記複数の異なる認証情報のそれぞれに対応した選択情報を含み、
前記演算処理部は、前記遊技機の起動の際に、前記選択情報のうちの特定の選択情報を前記認証情報生成部へ設定し、
前記認証情報生成部は、設定された前記特定の選択情報に基づいて、前記複数の異なる認証情報のうちの特定の認証情報を生成するよう前記生成手段を設定し、設定された前記生成手段を用いて前記認証情報を生成する
ことを特徴とする遊技機。
【請求項２】
前記第２副制御部は、前記結果情報を前記第１副制御部へ送信する送信部を更に有し、
前記情報処理部は、送信された前記結果情報の内容を判定する判定手段と、認証不成功と判定した際に不成功を報知する報知手段とを更に備える
ことを特徴とする請求項１に記載の遊技機。
【請求項３】
前記情報記憶部は、前記遊技情報記憶領域を担う第１記憶手段と、該第１記憶手段とは異なり、前記初期設定情報記憶領域を担う第２記憶手段とを備えることを特徴とする請求項１又は２に記載の遊技機。
【請求項４】
前記初期設定情報に含まれる前記選択情報は、前記演算処理部が前記遊技機の起動の際に前記認証情報生成部へ設定する前記特定の選択情報であることを特徴とする請求項１乃至３のいずれかに記載の遊技機。
【請求項５】
前記認証情報生成部は、前記制御情報送信指示が出力されたことを検知する検知手段を更に備え、前記制御情報送信指示の出力の検知に応じて、前記認証情報送信指示を出力することを特徴とする請求項１乃至４のいずれかに記載の遊技機。
【請求項６】
前記認証情報生成部は、所定の暗号鍵情報を決定する暗号鍵決定手段を更に備え、
前記生成手段は、前記遊技情報記憶領域に記憶されている特定の情報と、前記暗号鍵情報とを用いて前記複数の異なる認証情報を生成する
ことを特徴とする請求項１乃至５のいずれかに記載の遊技機。
【請求項７】
前記第１副制御部は、前記暗号鍵情報を中継送信し、
前記第２副制御部は、中継送信された前記暗号鍵情報に前記結果情報を付加して前記第１副制御部へ送信する
ことを特徴とする請求項６に記載の遊技機。
【請求項８】
前記演算処理部は、前記暗号鍵決定手段によって決定された暗号鍵情報を用いて前記制御情報を生成することを特徴とする請求項６又は７に記載の遊技機。
【請求項９】
前記暗号鍵決定手段は、所定の更新条件が成立すると、新たに暗号鍵情報を決定することを特徴とする請求項６乃至８のいずれかに記載の遊技機。
【請求項１０】
前記生成手段は、複数の異なる暗号化方式によって前記複数の異なる認証情報を生成し、
前記選択情報は、前記複数の異なる暗号化方式のそれぞれに対応した情報である
ことを特徴とする請求項６乃至９のいずれかに記載の遊技機。
【請求項１１】
前記暗号鍵決定手段は、複数の異なる暗号鍵情報を決定し、
前記生成手段は、前記複数の異なる暗号鍵情報によって前記複数の異なる認証情報を生成し、
前記選択情報は、前記複数の異なる暗号鍵情報のそれぞれに対応した情報である
ことを特徴とする請求項６乃至９のいずれかに記載の遊技機。
【請求項１２】
前記暗号鍵決定手段は、複数の異なる更新条件を有し、
前記生成手段は、前記複数の異なる更新条件によって前記複数の異なる認証情報を生成し、
前記選択情報は、前記複数の異なる更新条件のそれぞれに対応した情報である
ことを特徴とする請求項９に記載の遊技機。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パチンコ店等の遊技店に設置されるパチンコ遊技機、雀球遊技機、アレンジボール等の弾球遊技機、スロットマシン等の回胴式遊技機などの遊技機に関する。
【背景技術】
【０００２】
遊技機に対し行われる、メダルや遊技球など（以下、「遊技媒体」という）を遊技内容とは無関係に強制的に払い出させる不正行為のうち、遊技進行に伴う基本動作を制御する主制御部が搭載された主制御基板や、主制御部からの制御命令情報（以下、「制御コマンド」という）に基づき演出処理等を実行する周辺部が搭載された周辺基板に関するものとして、例えば以下に示すものがある。
（１）正規な主制御基板と不正な主制御基板との交換
（２）主制御基板に搭載されたＣＰＵが実行する正規なプログラムが記憶されたＲＯＭと上記プログラムを改ざんした不正なプログラムが記憶されたＲＯＭとの交換
（３）主制御基板と周辺基板との間に不正な基板（なりすまし基板）を設け、かつ上記（２）のＲＯＭの交換
【０００３】
このような不正行為を防止するため、従来の遊技機には、次のようなものがあった。
例えば、特許文献１に記載の遊技機は、主制御装置（主制御部）は、第１鍵データを記憶する第１の記憶手段と、図柄制御部の動作を制御するための制御データ（制御コマンド）に対し第１鍵データに対応する暗号化を行う暗号化手段と、予め定めたタイミングに第１鍵データを変更する第１鍵変更手段とを備えている。図柄制御部（周辺部）は、第２鍵データを記憶する第２の記憶手段と、主制御部から受信した暗号データに対して第２鍵データに対応する処理を行うことにより、受信した暗号データの正当性を判定し、正当である場合に当該暗号データを認証する認証手段と、第１鍵データの変更タイミングに合致するように予め定められたタイミングに、第２鍵データを第１鍵データに対応するように変更する第２鍵変更手段とを備えている。この遊技機は、主制御部も周辺部も高度で複雑な暗号化処理および認証処理を行うことで、上記不正行為を防止している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−２１０１９４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に記載の遊技機では、主制御部や周辺部を構成するＣＰＵに、既存の遊技に係る処理以外に認証処理を実行させる場合、ＣＰＵの処理負荷が増大するため処理速度が低下するという問題がある。また、主制御部や周辺部のＣＰＵが実行すべきプログラムを記述したプログラムコードに認証機能を追加する場合、そのコードサイズが増大するという問題や、新たなプログラム設計およびその検証には多大の時間と労力を要するため作業工数が増大するという問題がある。また、ＣＰＵの処理負荷やコードサイズの増大を抑制するためには、上記プログラムコードに認証機能を追加する際、比較的簡易な認証機能を採用せざるを得ず、認証機能のコード自体の設計自由度は低い。
【０００６】
また、認証機能をプログラムコードに追加するのではなく、ハードウェアで実現しようとする場合、処理速度の低下やコードサイズの増大は抑制できても、ハードウェアの特性上、追加した認証機能の具体的な処理内容は固定化し、不正に解析され易くなるのは勿論、仮に不正に解析されると、その認証機能を追加した遊技機は全て不正行為を防止できない。また、処理内容が固定化すると、処理内容を遊技機メーカー毎や機種毎に異ならせることができず、追加した認証機能は多様性に乏しいものとなってしまう。一方、処理内容を遊技機メーカー毎や機種毎に異ならせたものを、都度製造することは膨大な負担を招き現実的ではない。したがって、多様性に富んだ実効性のある認証機能を比較的簡易に追加したいという要求に応えることができない。
【０００７】
このように、従来の遊技機では、上記不正行為を防止すべく認証機能を追加し、セキュリティ強度の向上を図ることと、主制御部のＣＰＵの処理負荷を低減し処理速度の向上を図ることの両立が困難であった。また、従来の遊技機では、認証機能を追加する際の作業工数の増大を抑制し、認証機能のプログラム設計上の自由度を向上させることが困難であった。また、従来の遊技機では、多様性に富んだ実効性のある認証機能を比較的簡易に追加することができず、汎用性の高い認証機能を備えるには至らなかった。
【０００８】
本発明は、上記事情に鑑みてなされたものであり、遊技機のセキュリティ強度の向上と処理速度の向上とが両立可能な遊技機を提供すること、認証機能を追加する際の作業工数が少なく設計自由度が高い遊技機を提供すること、および汎用性の高い認証機能を備えた遊技機を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記課題を解決するために本発明は、所定の遊技情報を記憶する遊技情報記憶領域を有すると共に、遊技機の起動の際にアクセス可能であって遊技機の初期設定情報を記憶する初期設定情報記憶領域を有する情報記憶部（メインＲＯＭ１１０ｂ）と、前記遊技情報に応じた所定の演算を行って制御情報を生成すると共に、生成した前記制御情報を送信せしめるための制御情報送信指示を出力する演算処理部（メインＣＰＵ１１０ａ）と、前記遊技情報記憶領域に記憶されている情報の認証を行うための複数の異なる認証情報を生成可能な生成手段を有すると共に、生成した前記認証情報を送信せしめるための認証情報送信指示を出力する認証情報生成部（認証情報生成部５００）と、前記制御情報送信指示に応じて前記制御情報を送信すると共に、前記認証情報送信指示に応じて前記認証情報を送信する情報送信部（送信部５２０）と、を備えた主制御部（主制御部１１０）と、送信された前記制御情報に基づいた所定の処理を行う情報処理部と、送信された前記認証情報を中継送信する中継送信部と、を備えた第１副制御部（周辺部３００）と、中継送信された前記認証情報に基づいて前記遊技情報記憶領域に記憶されている情報の認証を行い、前記認証の結果情報を生成する情報認証部を備えた第２副制御部（後段制御部１８０）と、を備えた遊技機であって、前記初期設定情報は、前記複数の異なる認証情報のそれぞれに対応した選択情報を含み、前記演算処理部は、前記遊技機の起動の際に、前記選択情報のうちの特定の選択情報を前記認証情報生成部へ設定し、前記認証情報生成部は、設定された前記特定の選択情報に基づいて、前記複数の異なる認証情報のうちの特定の認証情報を生成するよう前記生成手段を設定し、設定された前記生成手段を用いて前記認証情報を生成することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、ハードウェアで構成された認証情報生成部が、主制御部の個体認証に必要な認証データを生成する処理機能を複数種類備えるとともに、当該処理機能の選択を、遊技中に関知できないブート処理での初期値設定時に行っている。また、認証情報生成部は、メインＣＰＵからの指示によらず、自動的に認証データを生成する処理を行うとともに、認証処理を実行する後段制御部へ自動的に送信している。また、認証データの復号化に必要な鍵データは、メインＣＰＵからの読み出し信号のみで後段制御部へ送信される。したがって、主制御部に対する認証機能を有しながらも、認証機能を有することで増大する主制御部のＣＰＵの処理負荷やコードサイズを最大限抑制することができ、遊技機のセキュリティ強度の向上と処理速度の向上とを両立させることができる。また、認証データの生成や送信に関する処理の制御は、認証情報生成部自身のアルゴリズムで定義すればよいため、認証機能を追加する際のメインＣＰＵのプログラムコードへの追加作業も最小限で済み、作業工数の増大を抑制することができる。また、認証機能のプログラム設計上の自由度も向上させることができる。また、多様性に富んだ実効性のある認証機能を比較的簡易に追加することができ、汎用性の高い認証機能を提供することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施形態１に係る遊技機の外観構成を示す正面図である。
【図２】本発明の実施形態１に係る遊技機のガラス枠を開放させた状態の外観構成を示す斜視図である。
【図３】本発明の実施形態１に係る遊技機の裏面側の外観構成を示す斜視図である。
【図４】本発明の実施形態１に係る遊技機の内部構成を示すブロック図である。
【図５】本発明の実施形態１に係る遊技機を構成する主制御部の認証処理に関する構成を示すブロック図である。
【図６】本発明の実施形態１に係る遊技機を構成する主制御部を構成するメインＲＯＭおよびブートＲＯＭのメモリマップを説明するための概略図である。
【図７】本発明の実施形態１に係る遊技機を構成する主制御部から演出制御部へ送信される制御コマンドの種別を示す図である。
【図８】本発明の実施形態１に係る遊技機を構成する主制御部によるメイン処理におけるフローチャートを示す図である。
【図９】本発明の実施形態１に係る遊技機を構成する主制御部による割込処理におけるフローチャートを示す図である。
【図１０】本発明の実施形態１に係る遊技機を構成する主制御部による特図特電制御処理におけるフローチャートを示す図である。
【図１１】本発明の実施形態１に係る遊技機を構成する主制御部による特別図柄記憶判定処理におけるフローチャートを示す図である。
【図１２】本発明の実施形態１に係る遊技機を構成する主制御部による起動時のブート処理におけるフローチャートを示す図である。
【図１３】本発明の実施形態１に係る遊技機を構成する主制御部による認証処理におけるフローチャートを示す図である。
【図１４】本発明の実施形態１に係る遊技機を構成する演出制御部によるメイン処理におけるフローチャートを示す図である。
【図１５】本発明の実施形態１に係る遊技機を構成する演出制御部による割込処理におけるフローチャートを示す図である。
【図１６】本発明の実施形態１に係る遊技機を構成する演出制御部によるコマンド解析処理１におけるフローチャートを示す図である。
【図１７】本発明の実施形態１に係る遊技機を構成する演出制御部によるコマンド解析処理２におけるフローチャートを示す図である。
【図１８】本発明の実施形態１に係る遊技機を構成する演出制御部による認証結果データ解析処理におけるフローチャートを示す図である。
【図１９】本発明の実施形態１に係る遊技機を構成する後段制御部によるメイン処理におけるフローチャートを示す図である。
【図２０】本発明の実施形態２に係る遊技機を構成する演出制御部による割込処理におけるフローチャートを示す図である。
【図２１】本発明の実施形態２に係る遊技機を構成する演出制御部による認証データ解析処理におけるフローチャートを示す図である。
【図２２】本発明の実施形態２に係る遊技機を構成する演出制御部によるコマンド解析処理２におけるフローチャートを示す図である。
【図２３】本発明の実施形態２に係る遊技機を構成する演出制御部による認証結果データ解析処理におけるフローチャートを示す図である。
【図２４】本発明の実施形態２に係る遊技機を構成する後段制御部によるメイン処理におけるフローチャートを示す図である。
【発明を実施するための形態】
【００１２】
以下、本発明を実施するための形態について、図面を参照しながら説明する。具体的には、本発明の実施形態に係る遊技機の１つであるパチンコ遊技機１（以下、「遊技機１」という）について説明する。
【００１３】
＜実施形態１＞
［遊技機の構成］
以下に、本発明の実施形態１に係る遊技機１の構成について説明する。
図１は、本実施形態１に係る遊技機１の外観構成を示す正面図である。図２は、本実施形態１に係る遊技機１のガラス枠を開放させた状態の外観構成を示す斜視図である。図３は、本実施形態１に係る遊技機１の裏面側の外観構成を示す斜視図である。
【００１４】
遊技機１は、遊技店の島設備に取り付けられる外枠６０と、その外枠６０と回動可能に支持されたガラス枠５０とが備えられている（図１、図２参照）。また、外枠６０には、遊技球２００が流下する遊技領域６が形成された遊技盤２が設けられている。ガラス枠５０には、回動操作されることにより遊技領域６に向けて遊技球を発射させる操作ハンドル３と、スピーカからなる音声出力装置３２と、複数のランプを有する演出用照明装置３４と、押圧操作により演出態様を変更させるための演出ボタン３５とが設けられている。
【００１５】
さらに、ガラス枠５０には、複数の遊技球２００を貯留する受け皿４０が設けられており、この受け皿４０は、操作ハンドル３の方向側に遊技球２００が流下するように下りの傾斜を有している（図２参照）。この受け皿４０の下りの傾斜の端部には、遊技球を受け入れる図示しない受入口が設けられており、この受入口に受け入れられた遊技球は、玉送りソレノイド４ｂが駆動することにより、ガラス枠５０の裏面に設けられた玉送り開口部４１へ１個ずつ送り出される。そして、玉送り開口部４１へ送り出された遊技球は、打出部材４ｃの方向に向けて下り傾斜を有している発射レール４２により、発射レール４２の下り傾斜の端部に誘導される。発射レール４２の下り傾斜の端部の上方には、遊技球を停留させるストッパー４３が設けられており、玉送り開口部４１から送り出された遊技球２００は、発射レール４２の下り傾斜の端部で１個の遊技球が停留されることになる（図２参照）。
【００１６】
そして、遊技者が操作ハンドル３を回動させると、操作ハンドル３に直結している発射ボリューム３ｂ（図４参照）も回動し、発射ボリューム３ｂにより遊技球の発射強度が調整され、調整された発射強度で発射用ソレノイド４ａ（図４参照）に直結された打出部材４ｃが回転する。この打出部材４ｃが回転することで、打出部材４ｃにより発射レール４２の下り傾斜の端部に貯留されている遊技球２００が打ち出され、遊技球が遊技領域６に発射されることとなる。
【００１７】
上記のようにして発射された遊技球は、発射レール４２からレール５ａ、５ｂ間を上昇して玉戻り防止片５ｃを超えると、遊技領域６に到達し、その後遊技領域６内を落下する。このとき、遊技領域６に設けられた複数の釘や風車によって、遊技球は予測不能に落下することとなる。
【００１８】
また、上記遊技領域６には、複数の一般入賞口１２が設けられている。これら各一般入賞口１２には、一般入賞口検出スイッチ１２ａ（図４参照）が設けられており、この一般入賞口検出スイッチ１２ａが遊技球の入賞を検出すると、所定の賞球（例えば１０個の遊技球）が払い出される。
【００１９】
また、上記遊技領域６の中央下側の領域には、遊技球が入球可能な始動領域を構成する第１始動口１４および第２始動口１５と、遊技球が入球可能な第２大入賞口１７とが設けられている。
【００２０】
この第２始動口１５は、一対の可動片１５ｂを有しており、これら一対の可動片１５ｂが閉状態に維持される態様（以下、「第１の態様」という）と、一対の可動片１５ｂが開状態となる態様（以下、「第２の態様」という）とに可動制御される。なお、第２始動口１５が上記第１の態様に制御されているときには、当該第２始動口１５の真上に位置する第２大入賞口１７の入賞部材が障害物となって、遊技球の受入れを不可能としている。一方で、第２始動口１５が上記第２の態様に制御されているときには、上記一対の可動片１５ｂが受け皿として機能し、第２始動口１５への遊技球の入賞が容易となる。つまり、第２始動口１５は、第１の態様にあるときには遊技球の入賞機会がなく、第２の態様にあるときには遊技球の入賞機会が増すこととなる。
【００２１】
ここで、第１始動口１４には遊技球の入球を検出する第１始動口検出スイッチ１４ａ（図４参照）が設けられ、第２始動口１５には遊技球の入球を検出する第２始動口検出スイッチ１５ａ（図４参照）が設けられている。そして、第１始動口検出スイッチ１４ａまたは第２始動口検出スイッチ１５ａが遊技球の入球を検出すると、特別図柄判定用乱数値等を取得し、後述する大当たり遊技を実行する権利獲得の抽選（以下、「大当たりの抽選」という）が行われる。また、第１始動口検出スイッチ１４ａまたは第２始動口検出スイッチ１５ａが遊技球の入球を検出した場合にも、所定の賞球（例えば３個の遊技球）が払い出される。
【００２２】
また、第２大入賞口１７は、遊技盤２に形成された開口部から構成されている。この第２大入賞口１７の下部には、遊技盤面側からガラス板５２側に突出可能な第２大入賞口開閉扉１７ｂを有しており、この第２大入賞口開閉扉１７ｂが遊技盤面側に突出する開放状態と、遊技盤面に埋没する閉鎖状態とに可動制御される。そして、第２大入賞口開閉扉１７ｂが遊技盤面に突出していると、遊技球を第２大入賞口１７内に導く受け皿として機能し、遊技球が第２大入賞口１７に入球可能となる。この第２大入賞口１７には第２大入賞口検出スイッチ１７ａ（図４参照）が設けられており、この第２大入賞口検出スイッチ１７ａが遊技球の入球を検出すると、予め設定された賞球（例えば１５個の遊技球）が払い出される。
【００２３】
さらに、上記遊技領域６の右側の領域には、遊技球が通過可能な普通領域を構成する普通図柄ゲート１３と、遊技球が入球可能な第１大入賞口１６とが設けられている。
このため、操作ハンドル３を大きく回動させ、強い力で打ち出された遊技球でないと、普通図柄ゲート１３と第１大入賞口１６とには遊技球が、通過または入賞しないように構成されている。
【００２４】
この普通図柄ゲート１３には、遊技球の通過を検出するゲート検出スイッチ１３ａ（図４参照）が設けられており、このゲート検出スイッチ１３ａが遊技球の通過を検出すると、普通図柄判定用乱数値を取得し、後述する「普通図柄の抽選」が行われる。
【００２５】
第１大入賞口１６は、通常は第１大入賞口開閉扉１６ｂによって閉状態に維持されており、遊技球の入球を不可能としている。これに対して、後述する特別遊技が開始されると、第１大入賞口開閉扉１６ｂが開放されるとともに、この第１大入賞口開閉扉１６ｂが遊技球を第１大入賞口１６内に導く受け皿として機能し、遊技球が第１大入賞口１６に入球可能となる。第１大入賞口１６には第１大入賞口検出スイッチ１６ａ（図４参照）が設けられており、この第１大入賞口検出スイッチ１６ａが遊技球の入球を検出すると、予め設定された賞球（例えば１５個の遊技球）が払い出される。
【００２６】
さらには、遊技領域６の最下部であって遊技領域６の最下部の領域には、一般入賞口１２、第１始動口１４、第２始動口１５、第１大入賞口１６および第２大入賞口１７のいずれにも入球しなかった遊技球を排出するためのアウト口１１が設けられている。
【００２７】
また、遊技領域６の中央には、遊技球の流下に影響を与える飾り部材７が設けられている。この飾り部材７の略中央部分には、液晶表示装置３１が設けられており、この液晶表示装置３１の上方には、ベルトの形をした演出用駆動装置３３が設けられている。
なお、本実施形態１においては、液晶表示装置３１を液晶表示器として用いているが、有機ＥＬディスプレイを用いてもよいし、プロジェクター、円環状の構造物からなるリール、いわゆる７セグメントＬＥＤ、ドットマトリクス等の表示装置等を用いてもよい。
【００２８】
この液晶表示装置３１は、遊技が行われていない待機中に画像を表示したり、遊技の進行に応じた画像を表示したりする。なかでも、後述する大当りの抽選結果を報知するための３個の演出図柄３６が表示され、特定の演出図柄３６の組合せ（例えば、７７７等）が停止表示されることにより、大当りの抽選結果として大当りが報知される。
より具体的には、第１始動口１４または第２始動口１５に遊技球が入球したときには、３個の演出図柄３６をそれぞれスクロール表示するとともに、所定時間経過後に当該スクロールを停止させて、演出図柄３６を停止表示するものである。また、この演出図柄３６の変動表示中に、さまざまな画像やキャラクタ等を表示することによって、大当たりに当選するかもしれないという高い期待感を遊技者に与えるようにもしている。
【００２９】
上記演出用駆動装置３３は、その動作態様によって遊技者に期待感を与えるものである。演出用駆動装置３３は、例えば、ベルトが下方に移動したり、ベルト中央部の回転部材が回転したりする動作を行う。これら演出用駆動装置３３の動作態様によって、遊技者にさまざまな期待感を与えるようにしている。
【００３０】
さらに、上記の各種の演出装置に加えて、音声出力装置３２は、バックグラウンドミュージック、サウンドエフェクト等を出力し、サウンドによる演出を行い、演出用照明装置３４は、各ランプの光の照射方向や発光色を変更して、照明による演出を行うようにしている。
【００３１】
また、演出ボタン３５は、例えば、上記液晶表示装置３１に当該演出ボタン３５を操作するようなメッセージが表示されたときのみ有効となる。演出ボタン３５には、演出ボタン検出スイッチ３５ａ（図４参照）が設けられており、この演出ボタン検出スイッチ３５ａが遊技者の操作を検出すると、この操作に応じてさらなる演出が実行される。
【００３２】
遊技領域６の右下方には、第１特別図柄表示装置２０、第２特別図柄表示装置２１、普通図柄表示装置２２、第１特別図柄保留表示器２３、第２特別図柄保留表示器２４、普通図柄保留表示器２５が設けられている。
【００３３】
上記第１特別図柄表示装置２０は、第１始動口１４に遊技球が入球したことを契機として行われた大当たりの抽選結果を報知するものであり、７セグメントのＬＥＤで構成されている。つまり、大当たりの抽選結果に対応する特別図柄が複数設けられており、この第１特別図柄表示装置２０に大当たりの抽選結果に対応する特別図柄を表示することによって、抽選結果を遊技者に報知するようにしている。例えば、大当たりに当選した場合には「７」が表示され、ハズレであった場合には「−」が表示される。このようにして表示される「７」や「−」が特別図柄となるが、この特別図柄はすぐに表示されるわけではなく、所定時間変動表示された後に、停止表示されるようにしている。
【００３４】
ここで、「大当たりの抽選」とは、第１始動口１４または第２始動口１５に遊技球が入球したときに、特別図柄判定用乱数値を取得し、取得した特別図柄判定用乱数値が「大当たり」に対応する乱数値であるか、「小当たり」に対応する乱数値であるかの判定する処理をいう。この大当たりの抽選結果は即座に遊技者に報知されるわけではなく、第１特別図柄表示装置２０において特別図柄が点滅等の変動表示を行い、所定の変動時間を経過したところで、大当たりの抽選結果に対応する特別図柄が停止表示して、遊技者に抽選結果が報知されるようにしている。なお、第２特別図柄表示装置２１は、第２始動口１５に遊技球が入球したことを契機として行われた大当たりの抽選結果を報知するためのもので、その表示態様は、上記第１特別図柄表示装置２０における特別図柄の表示態様と同一である。
【００３５】
また、本実施形態１において「大当たり」というのは、第１始動口１４または第２始動口１５に遊技球が入球したことを条件として行われる大当たりの抽選において、大当たり遊技を実行する権利を獲得したことをいう。「大当たり遊技」においては、第１大入賞口１６または第２大入賞口１７が開放されるラウンド遊技を計１５回行う。各ラウンド遊技における第１大入賞口１６または第２大入賞口１７の最大開放時間については予め定められた時間が設定されており、この間に第１大入賞口１６または第２大入賞口１７に所定個数の遊技球（例えば９個）が入球すると、１回のラウンド遊技が終了となる。つまり、「大当たり遊技」は、第１大入賞口１６または第２大入賞口１７に遊技球が入球するとともに、当該入球に応じた賞球を遊技者が獲得できる遊技である。
【００３６】
本実施形態１では、「大当たりの抽選」においては、その当選確率により２つの遊技状態が設定されている。すなわち、当選確率が１/２９９．５に設定された「低確率遊技状態」と、当選確率が１／２９．９５に設定された「高確率遊技状態」である。また、「大当たり遊技」においても、複数種類の大当たり遊技が設定されている。例えば、「長当たり遊技」となれば、第１大入賞口１６が、１ラウンド遊技ごとに、２９．０００秒間×１回開放（×１５ラウンド）される。「短当たり遊技」となれば、第２大入賞口１７が、１ラウンド遊技ごとに、０．０５２秒間×１回（×１５ラウンド）開放される。「発展当たり遊技」となれば、第２大入賞口１７が、最初の１ラウンド遊技では０．０５２秒間×３回開放され、２ラウンド目以降は、１ラウンド遊技ごとに２９．０００秒間×１回（×１４ラウンド）開放される。
また、「小当たり」の場合は、当選確率が１／１４９．７５の１つの遊技状態が設定されている。また、「小当たり遊技」となれば、ラウンド遊技ではないものの、第２大入賞口１７が０．０５２秒間×１５回開放される。なお、本実施形態１では、「大当たり遊技」と「小当たり遊技」とを総称して「特別遊技」という。
【００３７】
また、普通図柄表示装置２２は、普通図柄ゲート１３を遊技球が通過したことを契機として行われる普通図柄の抽選結果を報知するためのものである。詳しくは後述するが、この普通図柄の抽選によって当たりに当選すると普通図柄表示装置２２が点灯し、その後、上記第２始動口１５が所定時間、第２の態様に制御される。
【００３８】
ここで、「普通図柄の抽選」とは、普通図柄ゲート１３に遊技球が通過したときに、普通図柄判定用乱数値を取得し、取得した普通図柄判定用乱数値が「当たり」に対応する乱数値であるかどうかを判定する処理をいう。この普通図柄の抽選結果についても、普通図柄ゲート１３を遊技球が通過して即座に抽選結果が報知されるわけではなく、普通図柄表示装置２２において普通図柄が点滅等の変動表示を行い、所定の変動時間を経過したところで、普通図柄の抽選結果に対応する普通図柄が停止表示して、遊技者に抽選結果が報知されるようにしている。
【００３９】
さらに、特別図柄の変動表示中や後述する特別遊技中等、第１始動口１４または第２始動口１５に遊技球が入球して、即座に大当たりの抽選が行えない場合には、一定の条件のもとで、大当たりの抽選の権利が保留される。より詳細には、第１始動口１４に遊技球が入球したときに取得された特別図柄判定用乱数値を第１保留として記憶し、第２始動口１５に遊技球が入球したときに取得された特別図柄判定用乱数値を第２保留として記憶する。
これら両保留は、それぞれ上限保留個数を４個に設定し、その保留個数は、それぞれ第１特別図柄保留表示器２３と第２特別図柄保留表示器２４とに表示される。なお、第１保留が１つの場合には、第１特別図柄保留表示器２３の左側のＬＥＤが点灯し、第１保留が２つの場合には、第１特別図柄保留表示器２３の２つのＬＥＤが点灯する。また、第１保留が３つの場合には、第１特別図柄保留表示器２３の左側のＬＥＤが点滅するとともに右側のＬＥＤが点灯し、第１保留が４つの場合には、第１特別図柄保留表示器２３の２つのＬＥＤが点滅する。また、第２特別図柄保留表示器２４においても、上記と同様に第２保留の保留個数が表示される。
そして、普通図柄の上限保留個数も４個に設定されており、その保留個数が、上記第１特別図柄保留表示器２３および第２特別図柄保留表示器２４と同様の態様によって、普通図柄保留表示器２５において表示される。
【００４０】
ガラス枠５０は、遊技盤２の前方（遊技者側）において遊技領域６を視認可能に覆うガラス板５２を支持している。なお、ガラス板５２は、ガラス枠５０に対して着脱可能に固定されている。
【００４１】
またガラス枠５０は、左右方向の一端側（たとえば遊技機１に正対して左側）においてヒンジ機構部５１を介して外枠６０に連結されており、ヒンジ機構部５１を支点として左右方向の他端側（たとえば遊技機１に正対して右側）を外枠６０から開放させる方向に回動可能とされている。ガラス枠５０は、ガラス板５２とともに遊技盤２を覆い、ヒンジ機構部５１を支点として扉のように回動することによって、遊技盤２を含む外枠６０の内側部分を開放することができる。ガラス枠５０の他端側には、ガラス枠５０の他端側を外枠６０に固定するロック機構が設けられている。ロック機構による固定は、専用の鍵によって解除することが可能とされている。また、ガラス枠５０には、ガラス枠５０が外枠６０から開放されているか否かを検出する扉開放スイッチ１３３（図４参照）も設けられている。
【００４２】
遊技機１の裏面には、主制御部１１０が搭載された主制御基板、演出制御部１２０が搭載された演出制御基板、後段制御部１８０が搭載された後段制御基板、払出制御部１３０が搭載された払出制御基板、電源部１７０が搭載された電源基板、遊技情報出力端子板３０などが設けられている。また、電源部１７０に遊技機１に電力を給電するための電源プラグ１７１や、図示しない電源スイッチが設けられている。
【００４３】
［遊技機の内部構成］
以下、本発明の実施形態１に係る遊技機１の遊技進行に係る処理を制御する制御手段について説明する。
図４は、本実施形態１に係る遊技機１の内部構成を示すブロック図である。
【００４４】
主制御部１１０は、遊技の基本動作を制御する主制御手段であり、第１始動口検出スイッチ１４ａ等の各種検出信号を入力して、第１特別図柄表示装置２０や第１大入賞口開閉ソレノイド１６ｃ等を駆動させて遊技を制御するものである。
【００４５】
この主制御部１１０は、メインＣＰＵ１１０ａ、メインＲＯＭ１１０ｂ、メインＲＡＭ１１０ｃ、ブートＲＯＭ１１０ｄおよび認証情報生成部５００から少なくとも構成されるワンチップマイコン１１０ｍと、主制御用の入力ポートと出力ポート（図示せず）とを少なくとも備えている。
【００４６】
この主制御用の入力ポートには、払出制御部１３０、一般入賞口１２に遊技球が入球したことを検知する一般入賞口検出スイッチ１２ａ、普通図柄ゲート１３に遊技球が入球したことを検知するゲート検出スイッチ１３ａ、第１始動口１４に遊技球が入球したことを検知する第１始動口検出スイッチ１４ａ、第２始動口１５に遊技球が入球したことを検知する第２始動口検出スイッチ１５ａ、第１大入賞口１６に遊技球が入球したことを検知する第１大入賞口検出スイッチ１６ａ、第２大入賞口１７に遊技球が入球したことを検知する第２大入賞口検出スイッチ１７ａが接続されている。この主制御用の入力ポートによって、各種信号が主制御部１１０に入力される。
【００４７】
また、主制御用の出力ポートには、払出制御部１３０、第２始動口１５の一対の可動片１５ｂを開閉動作させる始動口開閉ソレノイド１５ｃ、第１大入賞口開閉扉１６ｂを動作させる第１大入賞口開閉ソレノイド１６ｃ、第２大入賞口開閉扉１７ｂを動作させる第２大入賞口開閉ソレノイド１７ｃ、特別図柄を表示する第１特別図柄表示装置２０と第２特別図柄表示装置２１、普通図柄を表示する普通図柄表示装置２２、特別図柄の保留球数を表示する第１特別図柄保留表示器２３と第２特別図柄保留表示器２４、普通図柄の保留球数を表示する普通図柄保留表示器２５、外部情報信号を出力する遊技情報出力端子板３０が接続されている。この主制御用の出力ポートによって、各種信号が出力される。
【００４８】
主制御部１１０のメインＣＰＵ１１０ａは、各検出スイッチやタイマからの入力信号に基づいて、メインＲＯＭ１１０ｂに記憶されたプログラムを読み出して演算処理を行うとともに、演算処理の結果に応じて、主制御部１１０を構成する各構成部に対する制御指示（以下、「制御信号」という）や主制御部１１０以外の他の制御部に対する制御コマンドを出力する。
【００４９】
主制御部１１０のメインＲＯＭ１１０ｂには、遊技進行に係る処理の内容や手順を記述した遊技処理用プログラムや、各種の遊技の決定に必要な固定データ、テーブルが予め記憶されている。
メインＲＯＭ１１０ｂに記憶されたテーブルとして一例を挙げれば、大当たり抽選に参照される大当り判定テーブル、普通図柄の抽選に参照される当り判定テーブル、特別図柄の停止図柄を決定する図柄決定テーブル、大当たり終了後の遊技状態を決定するための大当たり遊技終了時設定データテーブル、大入賞口開閉扉の開閉条件を決定する特別電動役物作動態様決定テーブル、大入賞口開放態様テーブル、特別図柄の変動パターンを決定する変動パターン決定テーブルなどがある。
【００５０】
また、メインＲＯＭ１１０ｂには、電源投入時などの遊技機１のリセット時に行われる主制御部１１０のブート処理中に、ワンチップマイコン１１０ｍの内蔵回路や周辺回路等に対して設定される初期値（いわゆるハードウェアパラメータ）が予め記憶されている。また、メインＲＯＭ１１０ｂには、ブート処理後にメインＣＰＵ１１０ａにて行われる認証処理の内容や手順を記述した認証処理用プログラムや、主制御部１１０固有の情報である検査値などが予め記憶されている。
【００５１】
主制御部１１０のブートＲＯＭ１１０ｄには、ワンチップマイコン１１０ｍの内蔵回路や周辺回路等の初期化および初期値の設定処理（以下、「初期値設定処理」という）を含む、メインＣＰＵ１１０ａが実行するブート処理の内容や手順を記述したブート処理用プログラムや、ブート処理用プログラムの実行の際に使用される固定データが記憶されている。このブート処理用プログラムは、メインＣＰＵ１１０ａの起動直後に立ち上るように設定されている。
【００５２】
主制御部１１０のメインＲＡＭ１１０ｃは、メインＣＰＵ１１０ａの演算処理時におけるデータのワークエリアとして機能し、複数の記憶領域を有している。
メインＲＡＭ１１０ｃが有する記憶領域として一例を挙げれば、普通図柄保留数（Ｇ）記憶領域、普通図柄保留記憶領域、普通図柄データ記憶領域、第１特別図柄保留数（Ｕ１）記憶領域、第２特別図柄保留数（Ｕ２）記憶領域、第１特別図柄乱数値記憶領域、第２特別図柄乱数値記憶領域、ラウンド遊技回数（Ｒ）記憶領域、開放回数（Ｋ）記憶領域、大入賞口入球数（Ｃ）記憶領域、遊技状態記憶領域（高確率遊技フラグ記憶領域等）、高確率遊技回数（Ｘ）カウンタ、遊技状態バッファ、停止図柄データ記憶領域、送信データ用記憶領域、特別図柄時間カウンタ、特別遊技タイマカウンタなど各種のタイマカウンタなどがある。
【００５３】
主制御部１１０の認証情報生成部５００は、メインＣＰＵ１１０ｂからの指示によらず、主制御部１１０の個体としての正当性（アイデンティティ）を認証する（以下、「個体認証」という）ための認証データを生成し、主制御部１１０に対する個体認証機能を担うよう予め定められた制御部（後段制御部１８０）へ送信する。具体的には、認証情報生成部５００は、電源が投入されるとメインＲＯＭ１１０ｂに記憶されたプログラムとは独立した自身のアルゴリズムに従って動作し、メインＲＯＭ１１０ｂから主制御部１１０固有の情報である検査値を取得し、取得した検査値に対して暗号化処理を施して認証データを生成する。そして、認証情報生成部５００は、生成した認証データを演出制御部１２０や払出制御部１３０等を介して後段制御部１８０へ送信する。
【００５４】
遊技情報出力端子板３０は、主制御部１１０において生成された外部情報信号を遊技店のホールコンピュータ等に出力するための基板である。遊技情報出力端子板３０は、主制御部１１０と配線接続され、外部情報を遊技店のホールコンピュータ等と接続をするためのコネクタが設けられている。
【００５５】
電源部１７０は、コンデンサからなるバックアップ電源を備えており、遊技機１に電源電圧を供給するとともに、遊技機１に供給する電源電圧を監視し、電源電圧が所定値以下となったときに、電断検知信号を主制御部１１０へ出力する。より具体的には、電源電圧が、所定値以下を示すために電断検知信号がローレベルとなり一定時間経過すると、リセット信号がローレベルとなり、メインＣＰＵ１１０ａは動作を停止する処理を行う。その後、電源電圧が、所定値以上を示すために電断検知信号がハイレベルとなり一定時間経過すると、リセット信号がハイレベルとなり、メインＣＰＵ１１０ａは動作を開始する処理を行う。バックアップ電源はコンデンサに限らず、例えば、電池でもよく、コンデンサと電池とを併用して用いてもよい。
【００５６】
演出制御部１２０は、主に遊技中や待機中等の各演出を制御する。この演出制御部１２０は、サブＣＰＵ１２０ａ、サブＲＯＭ１２０ｂ、サブＲＡＭ１２０ｃを備えており、主制御部１１０に対して、当該主制御部１１０から演出制御部１２０への一方向に通信可能に接続されている。サブＣＰＵ１２０ａは、主制御部１１０から送信された制御コマンド、または、上記演出ボタン検出スイッチ３５ａ、タイマからの入力信号に基づいて、サブＲＯＭ１２０ｂに記憶されたプログラムを読み出して演算処理を行うとともに、当該処理に基づいて、対応するデータをランプ制御部１４０または画像制御部１５０に送信する。サブＲＡＭ１２０ｃは、サブＣＰＵ１２０ａの演算処理時におけるデータのワークエリアとして機能する。
【００５７】
例えば、演出制御部１２０のサブＣＰＵ１２０ａは、主制御部１１０から送信された制御コマンドの１つである特別図柄の変動態様を示す変動パターン指定コマンドを受信すると、受信した変動パターン指定コマンドの内容を解析して、液晶表示装置３１、音声出力装置３２、演出用駆動装置３３、演出用照明装置３４に所定の演出を実行させるためのデータを生成し、かかるデータを画像制御部１５０やランプ制御部１４０へ送信する。
【００５８】
また、後述するように、演出制御部１２０に対して後段制御部１８０が接続されている場合には、サブＣＰＵ１２０ａは、主制御部１１０から送信された制御コマンドや各種データを後続する後段制御部１８０へそのまま送信する中継送信処理を行う。なお、後段制御部１８０が払出制御部１３０に接続されている場合は、後述する払出ＣＰＵが、上記演出制御部１２０の中継送信処理に関する構成を備えている。
【００５９】
演出制御部１２０のサブＲＯＭ１２０ｂには、演出制御用のプログラムや各種の遊技の決定に必要なデータ、テーブルが記憶されている。
サブＲＯＭ１２０ｂに記憶されたテーブルとして一例を挙げれば、主制御部から受信した変動パターン指定コマンドに基づいて演出パターンを決定するための演出パターン決定テーブル、停止表示する演出図柄３６の組み合わせを決定するための演出図柄決定テーブルなどがある。
【００６０】
演出制御部１２０のサブＲＡＭ１２０ｃは、サブＣＰＵ１２０ａの演算処理時におけるデータのワークエリアとして機能し、複数の記憶領域を有している。
サブＲＡＭ１２０ｃが有する記憶領域として一例を挙げれば、遊技状態記憶領域、演出モード記憶領域、演出パターン記憶領域、演出図柄記憶領域などがある。
【００６１】
後段制御部１８０は、主に主制御部１１０に対する個体認証に係る処理を制御する。この後段制御部１８０は、ＣＰＵ１８０ａ、ＲＯＭ１８０ｂ、ＲＡＭ１８０ｃを備えており、主制御部１１０が本来の遊技処理に係る制御コマンドを送信する対象となる制御部（演出制御部１２０や払出制御部１３０等）に対して、主制御部１１０からみて後続するように設けられている。例えば、図４に示すように、後段制御部１８０が演出制御部１２０に後続するように設けられている場合、後段制御部１８０は、演出制御部１２０との間で双方向に通信可能に接続される。また、図示しないが、後段制御部１８０が払出制御部１３０に後続するように設けられている場合、後段制御部１８０は、払出制御部１３０との間で双方向に通信可能に接続される。よって、後段制御部１８０は、主制御部１１０から直接制御コマンドを送信されず、演出制御部１２０や払出制御部１３０等を介して送信されることとなる。
【００６２】
ＣＰＵ１８０ａは、主制御部１１０から送信された制御コマンド、または、タイマからの入力信号に基づいて、ＲＯＭ１８０ｂに記憶されたプログラムを読み出して演算処理を行うとともに、当該処理に基づいて、対応するデータを演出制御部１２０や払出制御部１３０へ送信する。ＲＡＭ１８０ｃは、ＣＰＵ１８０ａの演算処理時におけるデータのワークエリアとして機能する。
【００６３】
例えば、後段制御部１８０のＣＰＵ１８０ａは、上記のように演出制御部１２０や払出制御部１３０等から中継送信された制御コマンドや各種データであって、認証処理に直接関与せず通常の遊技処理に用いられる制御コマンド（以下、「通常の制御コマンド」という）や各種データを受信すると、当該制御コマンドや各種データを、演出制御部１２０や払出制御部１３０等へ再び中継送信する中継送信処理を行う。一方、後段制御部１８０のＣＰＵ１８０ａは、主制御部１１０から送信された認証処理に係る制御コマンドやデータを受信すると、当該制御コマンドやデータに基づいて、主制御部１１０に対する個体認証に係る処理を行うとともに、当該処理にて得られた認証結果の情報（以下、「認証結果データ」という）を、後段制御部１８０が接続された演出制御部１２０や払出制御部１３０等へ送信し、認証結果データに基づく処理を実行させる。
【００６４】
また、ＲＯＭ１８０ｂは、主制御部１１０のメインＲＯＭ１１０ｂに記憶された主制御部１１０固有の情報である検査値に対応する期待値や、当該期待値を用いてＣＰＵ１８０ａにて行われる主制御部１１０に対する個体認証処理および中継送信処理の内容や手順を記述した認証処理用プログラムが予め記憶されている。
このように、後段制御部１８０は、主制御部１１０に対する個体認証を行う認証機能と、主制御部１１０から演出制御部１２０や払出制御部１３０等を介して中継送信された制御コマンドや各種データを、演出制御部１２０や払出制御部１３０等へ再び中継送信する機能と、個体認証にて得られた認証結果データを、演出制御部１２０や払出制御部１３０等へ送信する機能とを少なくとも有している。なお、これら認証処理に関する構成については後述する。
【００６５】
払出制御部１３０は、遊技球の払い出し制御を行う。この払出制御部１３０は、図示しない払出ＣＰＵ、払出ＲＯＭ、払出ＲＡＭから構成されるワンチップマイコンを備えており、主制御部１１０に対して、双方向に通信可能に接続されている。払出ＣＰＵは、遊技球が払い出されたか否かを検知する払出球計数スイッチ１３２、扉開放スイッチ１３３、タイマからの入力信号に基づいて、払出ＲＯＭに記憶されたプログラムを読み出して演算処理を行うとともに、当該処理に基づいて、対応するデータを主制御部１１０に送信する。
【００６６】
また、払出制御部１３０の出力側には、遊技球の貯留部から所定数の遊技球を払い出すための払出装置の払出モータ１３１が接続されている。払出ＣＰＵは、主制御部１１０から送信された制御コマンドの１つである払出個数指定コマンドに基づいて、払出ＲＯＭから所定のプログラムを読み出して演算処理を行うとともに、払出装置の払出モータ１３１を制御して所定の遊技球を払い出す。このとき、払出ＲＡＭは、払出ＣＰＵの演算処理時におけるデータのワークエリアとして機能する。
【００６７】
ランプ制御部１４０は、遊技盤２に設けられた演出用照明装置３４を点灯制御したり、光の照射方向を変更するためのモータに対する駆動制御をしたりする。また、演出用駆動装置３３を動作させるソレノイドやモータ等の駆動源を通電制御する。このランプ制御部１４０は、演出制御部１２０に接続されており、演出制御部１２０から送信された各種のコマンドに基づいて、上記の各制御を行うこととなる。
【００６８】
画像制御部１５０は、液晶表示装置３１の画像表示制御を行うためのホストＣＰＵ、ホストＣＰＵ１５０ａのワークエリアとして機能する一時的な記憶領域を有するホストＲＡＭ、ホストＣＰＵ１５０ａの制御処理のプログラム等が記憶されたホストＲＯＭ、画像データが記憶されたＣＧＲＯＭ、画像データを描画するフレームバッファを有するＶＲＡＭ、画像プロセッサとなるＶＤＰ（Video Display Processor）と、音の制御を行う音制御回路とを備えている。
【００６９】
ホストＣＰＵは、演出制御部１２０から受信した演出パターン指定コマンドに基づいて、ＶＤＰにＣＧＲＯＭに記憶されている画像データを液晶表示装置３１に表示させる指示を行う。
ＶＤＰは、ホストＣＰＵからの指示に基づいて、ＣＧＲＯＭに記憶された画像データをＶＲＡＭのフレームバッファに描画する。次に、ＶＲＡＭにある表示用のフレームバッファに記憶された画像データに基づいて映像信号（ＲＧＢ信号等）を生成し、生成した映像信号を液晶表示装置に出力する。
【００７０】
音制御回路には、音声データが多数記憶されている音声ＲＯＭが備えられており、音制御回路が、演出制御部１２０から送信されたコマンドに基づいて所定のプログラムを読み出すとともに、音声出力装置３２における音声出力制御をする。
【００７１】
発射制御部１６０は、遊技球の発射制御を行う。この発射制御部１６０は、入力側にタッチセンサ３ａおよび発射ボリューム３ｂが接続されており、出力側に発射用ソレノイド４ａおよび玉送りソレノイド４ｂを接続している。発射制御部１６０は、タッチセンサ３ａからのタッチ信号を入力するとともに、発射ボリューム３ｂから供給された電圧に基づいて、発射用ソレノイド４ａや玉送りソレノイド４ｂを通電させる制御を行う。
【００７２】
タッチセンサ３ａは、操作ハンドル３の内部に設けられ、遊技者が操作ハンドル３に触れたことによる静電容量の変化を利用した静電容量型の近接スイッチから構成される。タッチセンサ３ａは、遊技者が操作ハンドル３に触れたことを検知すると、発射制御部１６０（図４参照）に発射用ソレノイド４ａの通電を許可するタッチ信号を出力する。発射制御部１６０は、大前提としてタッチセンサ３ａからタッチ信号の入力がなければ、遊技球２００を遊技領域６に発射させないように構成されている。
【００７３】
発射ボリューム３ｂは、操作ハンドル３が回動する回動部に直結して設けられ、可変抵抗器から構成される。発射ボリューム３ｂは、その発射ボリューム３ｂに印加された定電圧（例えば５Ｖ）を可変抵抗器により分圧して、分圧した電圧を発射制御部１６０に供給する（発射制御部１６０に供給する電圧を可変させる）。発射制御部１６０は、発射ボリューム３ｂにより分圧された電圧に基づいて、発射用ソレノイド４ａを通電して、発射用ソレノイド４ａに直結された打出部材４ｃを回転させることで、遊技球２００を遊技領域６に発射させる。
【００７４】
発射用ソレノイド４ａは、ロータリーソレノイドから構成され、発射用ソレノイド４ａには打出部材４ｃが直結されており、発射用ソレノイド４ａが回転することで、打出部材４ｃを回転させる。
【００７５】
ここで、発射用ソレノイド４ａの回転速度は、発射制御部１６０に設けられた水晶発振器の出力周期に基づく周波数から、約９９．９（回／分）に設定されている。これにより、１分間における発射遊技数は、発射ソレノイドが１回転する毎に１個発射されるため、約９９．９（個／分）となる。すなわち、１個の遊技球は約０．６秒毎に発射されることになる。
【００７６】
玉送りソレノイド４ｂは、直進ソレノイドから構成され、受け皿４０にある遊技球を、発射用ソレノイド４ａに直結された打出部材４ｃに向けて１個ずつ送り出す。
【００７７】
ここで、上記構成の演出制御部１２０、払出制御部１３０、ランプ制御部１４０、画像制御部１５０、および発射制御部１６０など、主制御部１１０からの制御コマンドに基づいて、若しくは当該制御コマンドに基づいて生成されるコマンドに従って遊技機１の制御処理を行う制御部であって、後段制御部１８０以外の制御部を総称して「周辺部３００」という。また、演出制御部１２０が搭載された演出制御基板や払出制御部１３０が搭載された払出制御基板など、周辺部３００の各制御部が搭載された各制御基板を総称して「周辺基板」という。なお、後段制御部１８０、ランプ制御部１４０、および画像制御部１５０は、演出制御部１２０と同一の基板上に搭載することもできる。また、払出制御部１３０および発射制御部１６０は、主制御部１１０と同一の基板上に搭載することもできる。
【００７８】
［遊技機の認証処理に関する内部構成］
以下、上記構成の遊技機１が不正防止のために有する認証機能を実現する制御手段について説明する。
本実施形態１に係る遊技機１の認証機能は、後段制御部１８０が主制御部１１０に対する個体認証を行うことによって実現される。そして、後段制御部１８０で得られた認証結果は周辺部３００へ送信され、周辺部３００にて受信した認証結果に応じた処理が行われる。なお、本実施形態１では、後段制御部１８０は、演出制御部１２０に後続して接続されているとともに、後段制御部１８０で得られた認証結果は、周辺部３００のうち演出制御部１２０へ送信され、演出制御部１２０が認証結果に応じた処理を行うこととして説明する。
【００７９】
具体的には、主制御部１１０が保持する固有の情報を検査値とし、後段制御部１８０に予め記憶されている主制御部１１０固有の情報に対応する情報を期待値として、検査値と期待値とが一致すると主制御部１１０に対する個体認証が成功したと判断される。後段制御部１８０は、得られた主制御部１１０に対する個体認証の結果を、演出制御部１２０へ送信する。演出制御部１２０は、後段制御部１８０から送信された認証結果を確認し、認証結果に応じた処理を行う。また、主制御部１１０は、認証処理の実行に際して、検査値を取得し演出制御部１２０を介して後段制御部１８０へ送信するが、送信前に暗号鍵を用いて検査値に暗号化処理を施す。後段制御部１８０は、暗号化された検査値に対して復号化処理を施して検査値を抽出する。本実施形態１では、検査値に対して暗号化処理を施して得られたデータを「認証データ」という。また、検査値に対する暗号化処理に用いる暗号鍵、および認証データに対する復号化処理に用いる復号鍵を総称して「鍵データ」という。また、鍵データを決定する処理を「鍵データ決定処理」といい、決定した鍵データと検査値とを用いて認証データを生成する処理を「認証データ生成処理」という。
【００８０】
図５は、本実施形態１に係る主制御部１１０の認証処理に関する内部構成を示す機能ブロック図である。図６は、本実施形態１に係る（ａ）メインＲＯＭ１１０ｂおよび（ｂ）ブートＲＯＭ１１０ｄのメモリマップを説明するための概略図である。また、図６では、本発明の特徴的な領域以外は省略している。また、「ｘｘｘＦＨ」などのアドレス表記は、各領域の区分を示すために便宜上設けたものであるとともに、各領域同士の位置関係においても、図６に示した位置関係に限定されるものではない。
【００８１】
主制御部１１０は、上記のようなメインＣＰＵ１１０ａ、メインＲＯＭ１１０ｂ、およびブートＲＯＭ１１０ｄに加え、鍵データ決定処理ならびに認証データ生成処理および送信処理を行う認証情報生成部５００と、メインＣＰＵ１１０ａや認証情報生成部５００からの送信指示に基づき演出制御部１２０へ各種データや信号の送信を行う送信部５２０とを少なくとも備えている。また、これら主制御部１１０の各構成部は、各々が出力する各種データや信号を授受できるよう内部バス５５０にて接続されている。内部バス５５０は、アドレスバス、データバスおよび制御バスの機能を少なくとも備え、主制御部１１０の各構成部から出力された制御信号に基づき内部バス５５０を通るデータの割り当てを行い、データの衝突が生じないように制御している。なお、図５においては、便宜上、内部バス５５０という形では明示せず、主制御部１１０の各構成部を結ぶ信号線として表している。
【００８２】
メインＣＰＵ１１０ａは、上記のような遊技進行に伴う処理を実行する他、遊技機１での認証処理の進行に伴う処理を実行する。メインＣＰＵ１１０ａは、ブートＲＯＭ１１０ｄやメインＲＯＭ１１０ｂに記憶されたブート処理用プログラムや認証処理用プログラムに基づいて、各種演算処理を実行するとともに、各種演算処理の結果に応じて制御信号や制御コマンドを出力する。
例えば、メインＣＰＵ１１０ａは、ブート処理用プログラムに基づいて、ブート処理中の初期値設定処理を行う際には、メインＲＯＭ１１０ｂに記憶された各種初期値を読み出すための制御信号（以下、「読み出し信号」という）を出力して各種初期値を取得し、取得した各種初期値のそれぞれに対応した構成回路へ出力して設定処理を行う。
また、メインＣＰＵ１１０ａは、認証処理用プログラムに基づいて、後段制御部１８０にて認証処理を開始させるための制御コマンド（後述する鍵コマンド）を、送信部５２０にて演出制御部１２０へ送信させるコマンド送信処理を行う際には、送信部５２０へ書き込むための制御信号（以下、「書き込み信号」という）を出力して制御コマンドを送信部５２０にて送信させる。
【００８３】
メインＲＯＭ１１０ｂには、上記のような遊技処理用プログラムやデータの他、メインＣＰＵ１１０ａが遊技機１にて認証処理を実行するための認証処理用プログラムが予め記憶されている（図６（ａ）の「ｘｘｙ０Ｈ」〜「ｘｘｚＦＨ」の領域）。また、メインＲＯＭ１１０ｂには、主制御部１１０に対する個体認証を行うために用いる検査値が記憶されている（図６（ａ）の「ｘｙｚ０Ｈ」〜「ｘｚｘＦＨ」の領域）。また、メインＲＯＭ１１０ｂは、メインＣＰＵ１１０ａや認証情報生成部５００からの読み出し信号に応じて、認証処理用プログラムコードや検査値などを出力する。
【００８４】
検査値は、主制御部１１０が保持する固有の情報であれば特に限定されない。検査値は、図６（ａ）では、メインＲＯＭ１１０ｂの固定データが記憶された領域の特定のアドレス（図６（ａ）の「ｘｙｚ０Ｈ」〜「ｘｚｘＦＨ」の領域）のデータ（例えば、制御コマンドデータ）となっているが、例えば、メインＲＯＭ１１０ｂのプログラムコードが記憶された領域の中の特定のアドレスにおけるチェックサム値や、メインＣＰＵ１１０ａに固有に付与されている識別番号（ＩＤ）などが考えられる。
【００８５】
また、メインＲＯＭ１１０ｂには、上記のようなワンチップマイコン１１０ｍの内蔵回路や周辺回路等の初期値の一つであって、認証情報生成部５００に設定される初期値である認証パラメータが予め記憶されている（図６（ａ）の「ｙｙｙ０Ｈ」〜「ｙｙｚＦＨ」の領域）。認証パラメータは、ブート処理中の初期値設定処理の際に、認証情報生成部５００が有する、認証データを生成する複数種類の処理機能（以下、「認証データ生成機能」という）のうち、どの認証データ生成機能を選択するかを決定するためのパラメータである。具体的には、本実施形態１の認証パラメータは、認証情報生成部５００を構成する複数種類の暗号回路５０２（図５では暗号回路Ａ、Ｂ、Ｃ）のそれぞれと対応づけられた値である。例えば、認証パラメータは、対応する暗号回路５０２のそれぞれに付与された識別番号やアドレスデータを示す値などである。本実施形態１では、ブート処理中の初期値設定処理でも、特に、認証情報生成部５００へ認証パラメータを設定する処理を「認証パラメータ設定処理」という。また、設定された認証パラメータに対応した認証情報生成部５００が有する特定の暗号回路５０２を有効に作動させる処理を「暗号回路作動処理」という。
【００８６】
なお、上記初期値および認証パラメータを格納する領域は、図６ではメインＲＯＭ１１０ｂ内の領域であるが、本発明はこれに限定されず、メインＲＯＭ１１０ｂとは別個のメモリセルに格納したり、ブートＲＯＭ１１０ｄ内に格納したりするように構成することもできる。すなわち、本発明では、上記初期値および認証パラメータの格納領域と、遊技処理用プログラムや固定データ等の格納領域とは、同一の記憶手段（メモリセルやＲＯＭなど）に搭載されていてもよいし、異なる記憶手段に搭載されていてもよい。
【００８７】
ブートＲＯＭ１１０ｄは、ブート処理用プログラムやブート処理用プログラムの実行の際に使用する固定データが予め記憶されている（図６（ｂ）の「ｚｘｘ０Ｈ」〜「ｚｙｚＦＨ」の領域）。ブート処理用プログラムは、メインＣＰＵ１１０ａの起動直後にブートＲＯＭ１１０ｄからブート処理専用ＲＡＭ（図示せず）へ読み込まれ、メインＣＰＵ１１０ａにて実行が開始されるように予め設定されており、メインＣＰＵ１１０ａ自身の自己診断処理や、メインＣＰＵ１１０ａを搭載するワンチップマイコン１１０ｍの内蔵回路や周辺回路等の初期化および初期値の設定処理（すなわち初期値設定処理）を制御するものである。なお、本実施形態１では、ブート処理後に実行される遊技処理用プログラムや認証処理用プログラムなど、ブート処理用プログラム以外のプログラムを「ユーザープログラム」という。
【００８８】
ブート処理用プログラムは、ＣＰＵメーカーが開発・実装するプログラムであり、これらが記憶されたブートＲＯＭ１１０ｄに対するアクセスは、遊技機１の出荷後、ブート処理時のメインＣＰＵ１１０ａからのアクセスにのみ制限されている。一方、ユーザープログラムは、遊技機メーカーが開発・実装するプログラムであり、これらが記憶されたメインＲＯＭ１１０ｂに対するアクセスは、遊技処理や認証処理が実行されるたびにメインＣＰＵ１１０ａからアクセスされる。しかしながら、メインＲＯＭ１１０ｂのアドレス領域でも、ワンチップマイコン１１０ｍの内蔵回路や周辺回路等の初期値（認証パラメータを含む）が記憶された領域など、ユーザープログラムや固定データ等（検査値を含む）が記憶された領域以外のアドレス領域（例えば、図６（ａ）の「ｙｘｘ０Ｈ」〜「ｙｙｚＦＨ」の領域）は、ブート処理用プログラムの中でのみ定義された領域であり、遊技処理に係るユーザープログラム上では全く現れることが無い領域とされている。つまり、ブート処理が終了した後は、上記領域（図６（ａ）の「ｙｘｘ０Ｈ」〜「ｙｙｚＦＨ」の領域）は、ユーザープログラムからはアクセスできないように実質的な制限がかけられた領域とされている。
しかしながら、不正なアクセスを試みられた場合を考慮して、以下に示すさらなる制限をかけることで、ブート処理時にのみ得られる認証パラメータの秘匿性をより向上させることができる。
【００８９】
ブートＲＯＭ１１０ｄおよびメインＲＯＭ１１０ｂへのアクセス制限は、例えば、主制御部１１０に実行アドレス監視手段（図示せず）を設けておき、ブート処理終了後に実行アドレス監視手段を作動させ、ユーザープログラムが所定のアドレス領域（例えば、図６（ａ）の「００００Ｈ」〜「ｘｚｙＦＨ」の領域）を超えて実行されるような場合には、メインＣＰＵ１１０ａへリセット信号を出力してメインＣＰＵ１１０ａを動作停止状態にすればよい。また、リセット信号を出力しないまでも、異常を検知した旨を示す報知信号を出力するようにしてもよい。
【００９０】
認証情報生成部５００は、主制御部１１０を構成するワンチップマイコン１１０ｍに予め組み込まれた回路（ハードウェア）であって、制御部５０１と、暗号回路５０２と、データ入力部５０３と、データ出力部５０４とを少なくとも備えている。
【００９１】
制御部５０１は、自身が保持するアルゴリズムに従って、ブート処理中の暗号回路作動処理、ならびにブート処理後の認証データ生成処理および送信処理など、遊技機１の認証機能実現に係る主制御部１１０の処理全般を制御する回路である。
【００９２】
制御部５０１は、暗号回路作動処理において、メインＣＰＵ１１０ａから設定された認証パラメータを確認し、設定された認証パラメータに対応した暗号回路５０２を有効に作動するように設定する。例えば、制御部５０１は、認証情報生成部５００に予め設けられた複数種類の暗号回路５０２と、予め用意された複数種類の認証パラメータとの対応付けが記憶されたデータテーブルを備えおり、暗号回路作動処理において、メインＣＰＵ１１０ａから設定された認証パラメータがどの暗号回路５０２に対応するかを確認することができる。そして、制御部５０１は、複数種類の暗号回路５０２のそれぞれと接続されており、暗号回路５０２を有効に作動させるための制御信号（以下、「作動許可信号」という）を、設定された認証パラメータに対応する暗号回路５０２にのみ出力し、当該暗号回路５０２のみを作動させる。また、制御部５０１は、データ出力部５０４の暗号回路５０２との接続を切り替えさせるための制御信号（以下、「接続切替信号」という）をデータ出力部５０４へ出力し、上記で有効に作動させた暗号回路５０２との接続のみが有効に繋がるように設定する。
【００９３】
また、制御部５０１は、鍵データを決定する鍵決定手段（図示せず）を備えている。鍵決定手段は、例えば、乱数生成回路や乱数生成アルゴリズムなどの乱数生成手段で構成することが考えられる。また、鍵決定手段を、複数種類の鍵データが記載されたデータテーブルを予め保持しておき、予め定められた取り決めに従って鍵データを決定するやり方で構成してもよい。また、制御部５０１は、一度に１つの鍵データを生成し一意に決定してもよいし、一度に複数種類の鍵データを生成し複数種類の鍵データの中から１つの鍵データを選択し、今回の認証処理で使用する鍵データを決定してもよい。決定した鍵データは、制御部５０１から暗号回路５０２へ受け渡されるとともに、メインＣＰＵ１１０ａからの読み出し信号に応じて制御部５０１からメインＣＰＵ１１０ａへ出力される。
【００９４】
また、制御部５０１は、認証データ生成処理において、メインＲＯＭ１１０ｂに記憶された検査値を読み出すための読み出し信号を出力し、認証情報生成部５００を構成するデータ入力部５０３に対して検査値を取り込ませ、暗号回路作動処理で有効とした暗号回路５０２にて認証データを生成させる。
【００９５】
さらに、制御部５０１は、メインＣＰＵ１１０ａが行う制御コマンドの送信処理に基づいて、生成された認証データの送信処理を行う。具体的には、制御部５０１は、メインＣＰＵ１１０ａが送信部５２０へ出力する制御コマンドの書き込み信号を、内部バス５５０を通じて検知する検知手段（図示せず）を備えており、当該書き込み信号を検知することで、メインＣＰＵ１１０ａが制御コマンドを送信部５２０へ出力するタイミングを知ることができる。そして、制御部５０１は、当該書き込み信号の検知を契機として、生成された認証データの書き込み信号を出力して認証データを送信部５２０にて送信させる。
【００９６】
暗号回路５０２は、入力されたデータを予め設定された暗号化処理の演算方式（以下、「暗号化方式」という）で演算して暗号化処理を施し、出力する回路である。具体的には、メインＲＯＭ１１０ｂから取り込まれた検査値を、暗号回路作動処理で設定された暗号回路の暗号化方式で演算して認証データを生成する。暗号化方式は、主制御部１０と演出制御部２０３との間で予め取り決めてあれば、特に限定されない。暗号化方式は、例えば、検査値と鍵データとを用いた四則演算または論理演算等を行って所定のデータサイズを有する演算データを得る処理方式、これらの四則演算または論理演算等により得られた演算データのビット配列を並び変える処理方式、上記演算データのビットをシフトまたはローテイトする処理方式、検査値を構成する複数のビットを取り出して所定の規則に従って並べて１つのデータを生成する処理方式などがある。
【００９７】
また、暗号回路５０２は、複数種類の暗号回路５０２（図５では暗号回路Ａ、Ｂ、Ｃ）を備えている。暗号回路５０２は、複数種類の暗号回路５０２によって複数種類の暗号化方式が用いられており、例えば遊技機メーカーごとに所望する暗号化方式が異なれば、ワンチップマイコン１１０ｍの回路形成過程にて所望の暗号化方式を示す暗号回路をそれぞれ形成しておく。また、それぞれの暗号回路５０２は、制御部５０１から出力された作動許可信号によって、有効に作動させるか否かが制御される。そして、暗号回路５０２は、生成した認証データをデータ出力部５０４へ出力する。
【００９８】
なお、認証パラメータのメインＲＯＭ１１０ｂへの実装においては複数の方法が考えられる。例えば、認証パラメータを複数種類の暗号回路５０２のそれぞれと対応づけて予め複数種類用意し、メインＲＯＭ１１０ｂに実装する。そして、認証パラメータ設定処理の中で、どの認証パラメータを選択するかを決定するためのプログラムをブートＲＯＭ１１０ｄに実装しておき、ブート処理のたびにどの暗号回路５０２を作動させるかを任意に選択できるように構成することができる。このように実装すると、ブート処理のたびに認証データの暗号化方式が変更され、認証データの秘匿性を向上させることができ、遊技機１のセキュリティ強度を向上させることができる。
【００９９】
一方、暗号回路５０２および認証パラメータを予め複数種類用意するものの、特定の認証パラメータのみをメインＲＯＭ１１０ｂに実装し、特定の暗号回路５０２のみを作動させるように構成することもできる。このように実装すると、ブート処理での認証パラメータの選択処理に伴うプログラムを新たに設ける必要がなく、プログラムのコードサイズを増大させることがない。
また、このように実装すると、遊技機メーカーが特定の暗号化方式だけを採用したい場合であっても、遊技機メーカーが行うプログラム実装過程において、所望の暗号化方式を示す暗号回路に対応した認証パラメータのみをメインＲＯＭ１１０ｂに実装すればよく、遊技機メーカーの用途や嗜好に柔軟に対応することができる。なお、この場合であっても、認証パラメータは、主制御部１１０のブート処理時の初期値設定時以外ではアクセスされない記憶領域に記憶されているため、外部から暗号化方式の内容を知ることができず、認証データの秘匿性は確保される。また、遊技機１の開発段階中で設計・検証作業などに使用する認証パラメータと、その後に実際に実装される認証パラメータとを変えることによって、最終的にどの認証パラメータが実装されたのかを知り得る者が限定され、認証データの秘匿性は更に向上する。
【０１００】
本実施形態１では、特定の暗号回路５０２（図５では暗号回路Ａ）に対応する認証パラメータのみがメインＲＯＭ１１０ｂに実装されていることとして説明する。すなわち、暗号回路作動処理では、暗号回路Ａのみが有効に作動するように設定され、暗号回路Ｂおよび暗号回路Ｃは作動しないように設定されることとなる。また、暗号回路Ａに対応する認証パラメータを認証パラメータＡ、暗号回路Ａにて表された暗号化方式を暗号化方式Ａ、検査値を暗号化方式Ａで演算して得られた認証データを認証データＡとする。
【０１０１】
データ入力部５０３およびデータ出力部５０４は、内部バス５５０を介して認証情報生成部５００が外部との間でデータをやり取りするための入出力回路であり、具体的には、メインＲＯＭ１１０ｂから出力された検査値の入力や暗号回路５０２で生成された認証データの送信部５２０への出力を行う。また、データ入力部５０３およびデータ出力部５０４は、それぞれバッファ機能を有しており、認証情報生成部５００が他の構成部とやり取りする際に、検査値や認証データを一時的に保持することができる。このとき、データ入力部５０３およびデータ出力部５０４は、制御部５０１が出力する制御信号によってデータ入出力のタイミングが設定される。
【０１０２】
また、データ入力部５０３とデータ出力部５０４との間には複数種類の暗号回路５０２が配置されており、データ入力部５０３とデータ出力部５０４は、複数種類の暗号回路５０２のそれぞれと接続されている。また、データ出力部５０４は、複数種類の暗号回路５０の中の特定の暗号回路５０２と選択的に接続できるような接続切替機能を有しており、制御部５０１からの接続切替信号に応じて、暗号回路作動処理にて有効と設定された暗号回路５０２との接続のみ有効に繋がるように、暗号回路５０２との接続を切替ることができる。データ入力部５０３へ入力されたデータは、複数種類の暗号回路５０２のそれぞれへ受け渡されることになる。また、複数種類の暗号回路５０２のそれぞれからデータが出力されたならば、各データは、それぞれデータ出力部５０４へ受け渡されることになる。しかしながら、暗号回路作動処理にて複数種類の暗号回路５０２のうち、特定の暗号回路５０２のみを作動するように設定し、データ出力部５０４の当該暗号回路５０２との接続のみ有効となるように設定したため、データ出力部５０４へ受け渡されるデータは、認証パラメータに対応した暗号回路５０２から出力されるデータのみとなる。
【０１０３】
送信部５２０は、メインＣＰＵ１１０ａや認証情報生成部５００から出力されたデータを演出制御部１２０へ送信するための出力ポートの機能を果たし、データ入力部５２１と送信回路５２２とを少なくとも備えている。データ入力部５２１では、メインＣＰＵ１１０ａや認証情報生成部５００が行う制御コマンドや認証データの送信処理の際、これら送信すべきデータをデータ入力部５２１へ書き込むための書き込み信号が入力されると、書き込み信号に対応したデータを、内部バス５５０を介して取り込む。そして、データ入力部５２１は、取り込んだデータを送信回路５２２へ直ちに受け渡す。
【０１０４】
送信回路５２２は、主制御部１１０と演出制御部１２０や後段制御部１８０との間のデータ伝送方式（シリアル伝送方式やパラレル伝送方式）に対応したデータ形式に変換する機能や誤り検出符号や誤り訂正符号を付加する機能などを備えている。誤り検出符号等の種類は、主制御部１１０と演出制御部１２０や後段制御部１８０との間で予め取り決めてあれば、特に限定されない。例えば、パリティチェック符号、ＢＣＣ（Block Check Character）、ＣＲＣ（Cyclic Redundancy Check）、ハッシュ値等が考えられる。そして、送信回路５２２は、データ入力部５２１から受け渡されたデータに上記変換処理等を施して送信データとし、演出制御部１２０へ直ちに送信する。
【０１０５】
なお、送信部５２０は、データ入力部５２１にバッファ機能を設け、データ入力部５２１へ書き込まれたデータを一時的に保存する構成とすることもできる。このとき、データ入力部５２１は、予め取り決められた時間の経過により送信回路５２２への受け渡しを開始する等、データ入力部５２１自身で送信タイミングを図る構成を設けることができる。また、データ入力部５２１は、メインＣＰＵ１１０ａや認証情報生成部５００からの送信許可信号が入力されるまで待機し、送信許可信号が入力されてはじめて取り込んだデータを送信回路５２２へ受け渡すようにしてもよい。いずれにしても、送信部５２０は、メインＣＰＵ１１０ａや認証情報生成部５００から出力される書き込み信号等が入力されると、送信すべきデータを演出制御部１２０へ送信する。送信すべきデータと当該データの書き込み信号等とは対となって出力されるものであり、また、これら書き込み信号等の出力先が送信部５２０であることから、これら書き込み信号等は、メインＣＰＵ１１０ａや認証情報生成部５００から出力された送信すべきデータを演出制御部１２０へ送信せしめるための送信部５２０への送信指示を担う情報となる。
【０１０６】
次に、主制御部１１０の各構成部の認証処理に関する動作について説明する。
遊技機１に電源が投入されると、主制御部１１０にシステムリセットが発生し、メインＣＰＵ１１０ａは、ブートＲＯＭ１１０ｄに予め記憶されたブート処理用プログラムに基づいて、主制御部１１０のブート処理を行う。ブート処理の中で、メインＣＰＵ１１０ａは、主制御部１１０のハードウェア設定項目の一つとして、メインＲＯＭ１１０ｂに予め記憶された認証情報生成部５００に関する初期値を認証情報生成部５００に設定する。その際、メインＣＰＵ１１０ａは、認証情報生成部５００に関する初期値の一つである認証パラメータを認証情報生成部５００に設定する認証パラメータ設定処理を行う。
【０１０７】
具体的には、メインＣＰＵ１１０ａは、メインＣＰＵ１１０ａの起動直後に立ち上るように設定されているブート処理用プログラムを実行し、認証パラメータ設定処理を行う。まず、メインＣＰＵ１１０ａは、認証情報生成部５００の認証パラメータを読み出すための読み出し信号をメインＲＯＭ１１０ｂへ出力する。メインＲＯＭ１１０ｂでは、メインＣＰＵ１１０ａからの読み出し信号が入力されたことにより、予め定めたメインＲＯＭ１１０ｂの特定のアドレスに記憶されている各種初期値（図６の「ｘｙｚ０Ｈ」〜「ｘｚｚＦＨ」の領域）のうちの認証パラメータ（図６の「ｘｚｙ０Ｈ」〜「ｘｚｚＦＨ」の領域）が出力される。そして、メインＣＰＵ１１０ａは、当該読み出し信号によりメインＲＯＭ１１０ｂから出力された認証パラメータを、内部バス５５０を介して取り込む。
【０１０８】
続いて、メインＣＰＵ１１０ａは、取り込んだ認証パラメータを認証情報生成部５００へ設定する。具体的には、メインＣＰＵ１１０ａは、取り込んだ認証パラメータを認証情報生成部５００の制御部５０１へ書き込むための書き込み信号を出力する。そして、メインＣＰＵ１１０ａは、当該書き込み信号によりメインＣＰＵ１１０ａから出力された認証パラメータを、内部バス５５０を介して制御部５０１の認証パラメータ用記憶領域へセットする。
【０１０９】
次に、認証情報生成部５００は、暗号回路作動処理を行う。具体的には、認証情報生成部５００を構成する制御部５０１は、自身が保持するアルゴリズムに従って、認証パラメータ用記憶領域にセットされた認証パラメータが、認証情報生成部５００を構成する複数種類の暗号回路５０２のうち、どの暗号回路５０２に対応した値であるかを確認する。そして、制御部５０１は、認証パラメータが示す暗号回路５０２（暗号回路Ａ）に対し、当該暗号回路５０２（暗号回路Ａ）を有効とする作動許可信号を出力するとともに、データ出力部５０４の当該暗号回路５０２（暗号回路Ａ）との接続のみを有効とする接続切替信号を出力する。よって、暗号回路Ａからのみ有効なデータが出力される。
【０１１０】
その後、主制御部１１０のブート処理が終了すると、認証情報生成部５００は、鍵データ決定処理を行う。具体的には、認証情報生成部５００を構成する制御部５０１は、メインＣＰＵ１１０ａからの指示によらず、自身が保持するアルゴリズムに従って鍵データを決定する鍵データ決定処理を開始する。そして、制御部５０１は、決定した鍵データを自身の鍵データ用記憶領域にセットするとともに、暗号回路作動処理で有効とした暗号回路５０２（暗号回路Ａ）の鍵データ用記憶領域にセットする。なお、制御部５０１にて決定された鍵データの暗号回路５０２への設定については、このような構成以外にも、暗号回路５０２の鍵データ用記憶領域をフリップフロップ回路等で構成し、制御部５０１から出力される上記鍵データを示した信号を当該回路へ常時入力させるような構成とすることもできる。
【０１１１】
次に、認証情報生成部５００は、認証データ生成処理を行う。まず、認証情報生成部５００は、主制御部１１０に対する個体認証を行うために用いる検査値をメインＲＯＭ１１０ｂから取り込む。具体的には、認証情報生成部５００を構成する制御部５０１は、メインＲＯＭ１１０ｂに記憶されている検査値を読み出すための読み出し信号を出力する。メインＲＯＭ１１０ｂでは、制御部５０１からの検査値の読み出し信号が入力されたことにより、予め定めたメインＲＯＭ１１０ｂの特定のアドレスに記憶されている検査値が出力される。そして、制御部５０１は、当該読み出し信号によりメインＲＯＭ１１０ｂから出力された検査値を、内部バス５５０を介してデータ入力部５０３へ取り込む。取り込まれた検査値は、そのまま暗号回路５０２へ受け渡され、暗号回路５０２の検査値用記憶領域にセットされる。なお、データ入力部５０３にて取り込まれた検査値の暗号回路５０２への設定については、このような構成以外にも、データ入力部５０３の所定の記憶領域で取り込んだ検査値を記憶させておくとともに、暗号回路５０２の検査値用記憶領域をフリップフロップ回路等で構成し、データ入力部５０３から出力される上記検査値を示した信号を当該回路へ常時入力させるような構成とすることもできる。
【０１１２】
続いて、暗号回路５０２は、取り込んだ検査値に対して予め制御部５０１からセットされた鍵データを用いて暗号化処理を施し、認証データを生成する。具体的には、暗号回路５０２のうちの暗号回路Ａのみが作動し、検査値用記憶領域から検査値を読み出すとともに、鍵データ用記憶領域から鍵データを読み出し、暗号回路Ａにて表された暗号化方式Ａで、検査値と鍵データとを演算し、認証データＡを生成する。生成された認証データＡは、そのままデータ出力部５０４へ受け渡され、データ出力部５０４の認証データ用記憶領域にセットされる。そして、認証データＡは、認証データの送信タイミングとなるまでデータ出力部５０４にて保持される。
【０１１３】
次に、認証情報生成部５００は、認証データ送信処理を行う。具体的には、認証情報生成部５００を構成する制御部５０１は、自身の検知手段が、メインＣＰＵ１１０ａからの制御コマンドの書き込み信号を検知すると、当該書き込み信号の検知を契機として、データ出力部５０４の認証データ用記憶領域に保持されている認証データＡを送信部５２０へ書き込むための書き込み信号を出力する。そして、制御部５０１は、当該書き込み信号によりデータ出力部５０４から出力された認証データＡを、送信部５２０を構成するデータ入力部５２１の記憶領域へセットする。なお、認証データの送信タイミングについては後述する。
【０１１４】
続いて、送信部５２０を構成するデータ入力部５２１は、受け取った認証データＡを演出制御部１２０へ直ちに送信する。具体的には、認証情報生成部５００のデータ出力部５０４から出力された認証データＡがデータ入力部５２１の記憶領域に書き込まれてセットされると、データ入力部５２１は、セットされた認証データＡを送信回路５２２へ直ちに受け渡す。送信回路５２２は、データ入力部５２１から受け渡された認証データＡに上記変換処理等を施して送信データとし、演出制御部１２０へ直ちに送信する。
【０１１５】
一方、メインＣＰＵ１１０ａは、主制御部１１０のブート処理が終了して初期化処理が完了すると、メインＲＯＭ１１０ｂに記憶された遊技処理用プログラムに基づき遊技進行に係る処理を行うが、演出制御部１２０に認証処理を開始させるタイミングとなると、メインＲＯＭ１１０ｂに予め記憶された認証処理用プログラムコードを読み込んで、認証処理用プログラムに基づき鍵コマンド送信処理を行う。
【０１１６】
まず、メインＣＰＵ１１０ａは、鍵コマンドを構成するために必要な鍵データを認証情報生成部５００から取得する。具体的には、メインＣＰＵ１１０ａは、認証情報生成部５００を構成する制御部５０１から鍵データを読み出すための読み出し信号を出力する。制御部５０１では、メインＣＰＵ１１０ａからの鍵データの読み出し信号が入力されたことにより、予め鍵データ用記憶領域にセットされていた鍵データがデータ出力部５０４を介して出力される。そして、メインＣＰＵ１１０ａは、当該読み出し信号により制御部５０１から出力された鍵データを、内部バス５５０を介して取り込む。そして、メインＣＰＵ１１０ａは、メインＲＯＭ１１０ｂに記憶された制御コマンドの分類を識別するための情報を同様に読み出し、これらを併せて鍵コマンドを構成し、メインＲＡＭ１１０ｃの送信データ用記憶領域にセットする。
【０１１７】
続いて、メインＣＰＵ１１０ａは、送信データ用記憶領域にセットされた鍵コマンドを送信部５２０にて演出制御部１２０へ直ちに送信させる。具体的には、メインＣＰＵ１１０ａは、メインＲＡＭ１１０ｃの送信データ用記憶領域にセットされている鍵コマンドを送信部５２０へ書き込むための書き込み信号を出力する。そして、メインＣＰＵ１１０ａは、当該書き込み信号により送信データ用記憶領域から出力された鍵コマンドを、送信部５２０を構成するデータ入力部５２１の記憶領域へセットする。
【０１１８】
続いて、送信部５２０を構成するデータ入力部５２１は、受け取った鍵コマンドを演出制御部１２０へ直ちに送信する。具体的には、送信データ用記憶領域から出力された鍵コマンドがデータ入力部５２１の記憶領域に書き込まれてセットされると、データ入力部５２１は、セットされた鍵コマンドを送信回路５２２へ直ちに受け渡す。送信回路５２２は、データ入力部５２１から受け渡された鍵コマンドに上記変換処理等を施して送信データとし、演出制御部１２０へ直ちに送信する。なお、鍵コマンドの詳細とその送信タイミングについては後述する。
【０１１９】
その後、主制御部１１０を構成する送信部５２０から送信されたデータは、演出制御部１２０を構成する受信部６６０にて受信される。具体的には、送信部５２０を構成する送信回路５２２から送信されたデータは、受信部６６０を構成する受信回路６６２にて受信される。受信回路６６２は、主制御部１１０の送信データを受信すると、受信したデータをデータ出力部６６１へ直ちに受け渡す。データ出力部６６１は、受け渡されたデータを自身の記憶領域に書き込んで保持する。
これとともに、受信部６６０は、主制御部１１０の送信データについて受信割込要求があった旨を示す信号を出力したり、主制御部１１０の送信データの受信が完了したことを示すフラグを立てたりして、演出制御部１２０のサブＣＰＵ１２０ａが、主制御部１１０の送信データの受信が完了したことを検知できるようにする。そして、受信部６６０にて保持されたデータは、演出制御部１２０のサブＲＡＭ１２０ｃの受信データ用記憶領域に取り込んでセットされ、演出制御部１２０側で各々に応じた処理が行われる。
【０１２０】
ここで、サブＲＡＭ１２０ｃの受信データ用記憶領域において、主制御部１１０からの送信データを受信する受信部６６０から取り込んだデータを記憶する受信データ用記憶領域を「第１受信データ用記憶領域」、後段制御部１８０からの送信データを受信する受信部（図示せず）から取り込んだデータを記憶する受信データ用記憶領域を「第２受信データ用記憶領域」とする。なお、演出制御部１２０および後段制御部１８０での認証処理については後述する。
【０１２１】
［制御コマンドの説明］
以下、本発明の実施形態１に係る遊技機１の主制御部１１０から演出制御部１２０や後段制御部１８０に対して送信される制御コマンドの種別について説明する。
図７は、本実施形態１に係る遊技機１を構成する主制御部１１０から演出制御部１２０へ送信される制御コマンドの種別を示す図である。なお、図７に示された制御コマンドは一例であり、本発明に係る制御コマンドはこれに限定されるものではない。
【０１２２】
主制御部１１０から演出制御部１２０や後段制御部１８０へ送信される制御コマンドは、１コマンドが２バイトのデータで構成されており、制御コマンドの分類を識別するための１バイトの「ＭＯＤＥ」の情報と、各制御コマンドの詳細な制御内容を示す１バイトの「ＤＡＴＡ」の情報とから構成されている。
【０１２３】
「ＭＯＤＥ」の情報と「ＤＡＴＡ」の情報は、鍵コマンド以外の通常の遊技処理に用いられる制御コマンド（通常の制御コマンド）については、メインＲＯＭ１１０ｂに予め記憶されている。鍵コマンドの場合、「ＭＯＤＥ」の情報は、通常の制御コマンドと同様である（例えば、図７では「ＥＤＨ」に割り当てられている）。一方、「ＤＡＴＡ」の情報は、認証情報生成部５００を構成する制御部５０１から、メインＣＰＵ１１０ａへの鍵データ出力よりも前に決定された１バイトの鍵データ（例えば、図７では「○×Ｈ」）が使用される。なお、鍵データは、制御部５０１において予め設定されたタイミングで適宜更新される。よって、鍵コマンドを構成する「ＤＡＴＡ」の情報の種類は、少なくとも鍵データの更新時に鍵データが取り得る値の分は少なくとも用意されており、鍵データの更新の度に、例えば、「○×Ｈ」→「△○Ｈ」→「□×Ｈ」等のように適宜変更される。
【０１２４】
「演出図柄指定コマンド」は、停止表示される特別図柄の種別を示すものであり、「ＭＯＤＥ」の情報が「Ｅ０Ｈ」で設定され、特別図柄の種別に合わせて「ＤＡＴＡ」の情報が設定されている。なお、特別図柄の種別が結果的に大当たりの種別や遊技状態を決定するものであるから、演出図柄指定コマンドは、大当たりの種別や、遊技状態を示すものともいえる。
この演出図柄指定コマンドは、各種の特別図柄が決定され、特別図柄の変動表示が開始されるときに、決定された特別図柄に対応する演出図柄指定コマンドが演出制御部１２０に送信される。具体的には、大当たりの抽選結果を判定し特別図柄各種の特別図柄が決定され特別図柄の変動表示が開始されるときに、決定された特別図柄に対応する演出図柄指定コマンドがメインＲＡＭ１１０ｃの送信データ用記憶領域にセットされる。その後、送信データ用記憶領域にセットされている演出図柄指定コマンドが演出制御部１２０へ直ちに送信されることになる。
なお、演出図柄指定コマンド等と関連する大当たりの抽選に関する処理については後述する。
【０１２５】
「第１特別図柄記憶指定コマンド」は、第１特別図柄保留数（Ｕ１）記憶領域に記憶されている保留記憶数を示すものであり、「ＭＯＤＥ」の情報が「Ｅ１Ｈ」で設定され、保留記憶数に合わせて「ＤＡＴＡ」の情報が設定されている。
この第１特別図柄記憶指定コマンドは、第１特別図柄保留数（Ｕ１）記憶領域に記憶されている保留記憶数が切り替わるときに、保留記憶数に対応する第１特別図柄記憶指定コマンドが演出制御部１２０に送信される。具体的には、第１始動口１４への入球や大当たりの抽選結果の判定に際し第１特別図柄保留数（Ｕ１）記憶領域に記憶されている値が増減したときに、増減後の保留記憶数に対応する第１特別図柄記憶指定コマンドがメインＲＡＭ１１０ｃの送信データ用記憶領域にセットされる。その後、送信データ用記憶領域にセットされている第１特別図柄記憶指定コマンドが演出制御部１２０へ直ちに送信されることになる。
【０１２６】
「第２特別図柄記憶指定コマンド」は、第２特別図柄保留数（Ｕ２）記憶領域に記憶されている保留記憶数を示すものであり、「ＭＯＤＥ」の情報が「Ｅ２Ｈ」で設定され、保留記憶数に合わせて「ＤＡＴＡ」の情報が設定されている。
この第２特別図柄記憶指定コマンドは、第２特別図柄保留数（Ｕ２）記憶領域に記憶されている保留記憶数が切り替わるときに、保留記憶数に対応する第２特別図柄記憶指定コマンドが演出制御部１２０に送信される。具体的には、第２始動口１５への入球や大当たりの抽選結果の判定に際し第２特別図柄保留数（Ｕ２）記憶領域に記憶されている値が増減したときに、増減後の保留記憶数に対応する第２特別図柄記憶指定コマンドがメインＲＡＭ１１０ｃの送信データ用記憶領域にセットされる。その後、送信データ用記憶領域にセットされている第２特別図柄記憶指定コマンドが演出制御部１２０へ直ちに送信されることになる。
なお、本実施形態１では、「第１特別図柄記憶指定コマンド」と「第２特別図柄記憶指定コマンド」とをまとめて「特別図柄記憶指定コマンド」という。
【０１２７】
「図柄確定コマンド」は、特別図柄が停止表示されていることを示すものであり、「ＭＯＤＥ」の情報が「Ｅ３Ｈ」で設定され、「ＤＡＴＡ」の情報が「００Ｈ」に設定されている。
この図柄確定コマンドは、特別図柄が停止表示されているときに演出制御部１２０に送信される。具体的には、大当たりの抽選結果を判定し特別図柄の変動時間が経過した後に、特別図柄を第１特別図柄表示装置２０または第２特別図柄表示装置２１に停止表示させるときに、図柄確定コマンドがメインＲＡＭ１１０ｃの送信データ用記憶領域にセットされる。その後、送信データ用記憶領域にセットされている図柄確定コマンドが演出制御部１２０へ直ちに送信されることになる。
【０１２８】
「電源投入時指定コマンド」は、遊技機１の電源が投入されたことを示すものであり、「ＭＯＤＥ」の情報が「Ｅ４Ｈ」で設定され、「ＤＡＴＡ」の情報が「００Ｈ」に設定されている。
この電源投入時指定コマンドは、遊技機１の電源が投入されたときに演出制御部１２０および後段制御部１８０に送信される。遊技機１の電源が投入され主制御部１１０の初期化処理が行われる際に、電源遮断時（以下、「電断時」という）に生成したメインＲＡＭ１１０ｃのバックアップ情報が有効でない場合は、メインＲＡＭ１１０ｃの作業領域がクリアされ、新たに作業領域の設定が行われる。その後、電源投入時指定コマンドがメインＲＡＭ１１０ｃの送信データ用記憶領域にセットされる。その後、送信データ用記憶領域にセットされている電源投入時指定コマンドが演出制御部１２０および演出制御部１２０を介して後段制御部１８０へ直ちに送信されることになる。
なお、電源投入時指定コマンド等と関連する初期化処理については後述する。
【０１２９】
「ＲＡＭクリア指定コマンド」は、メインＲＡＭ１１０ｃに記憶された情報がクリアされたことを示すものであり、「ＭＯＤＥ」の情報が「Ｅ４Ｈ」で設定され、「ＤＡＴＡ」の情報が「０１Ｈ」に設定されている。
遊技機１の裏側には図示しないＲＡＭクリアボタンが設けられており、ＲＡＭクリアボタンを押下しながら遊技機１の電源を投入すると、主制御部１１０にシステムリセットが発生し初期化処理が行われる。そして、メインＲＡＭ１１０ｃの作業領域がクリアされ新たに作業領域の設定が行われ電源投入時指定コマンドを送信した後に、ＲＡＭクリア指定コマンドがメインＲＡＭ１１０ｃの送信データ用記憶領域にセットされる。その後、送信データ用記憶領域にセットされているＲＡＭクリア指定コマンドが演出制御部１２０および演出制御部１２０を介して後段制御部１８０へ直ちに送信されることになる。
【０１３０】
「電源復旧指定コマンド」は、遊技機１の電源が投入されて、正常に復旧したことを示すものであり、「ＭＯＤＥ」の情報が「Ｅ４Ｈ」で設定され、電断時の遊技状態別に合わせて「ＤＡＴＡ」の情報が設定されている。
この電源復旧指定コマンドは、遊技機１の電源が投入されて、正常に復旧したときに演出制御部１２０に送信される。具体的には、遊技機１の電源が投入され初期化処理が行われる際に、電断時に生成したメインＲＡＭ１１０ｃのバックアップ情報が有効である場合は、バックアップ情報が示す遊技状態に応じた電源復旧指定コマンドを生成し、生成した電源復旧指定コマンドがメインＲＡＭ１１０ｃの送信データ用記憶領域にセットされる。その後、送信データ用記憶領域にセットされている電源復旧指定コマンドが演出制御部１２０および演出制御部１２０を介して後段制御部１８０へ直ちに送信されることになる。
【０１３１】
「デモ指定コマンド」は、第１特別図柄表示装置２０または第２特別図柄表示装置２１が作動していないことを示すものであり、「ＭＯＤＥ」の情報が「Ｅ５Ｈ」で設定され、「ＤＡＴＡ」の情報が「００Ｈ」に設定されている。
このデモ指定コマンドは、第１特別図柄表示装置２０または第２特別図柄表示装置２１の特別図柄の保留記憶がないときに、演出制御部１２０に送信される。具体的には、大当たりの抽選、特別電動役物、遊技状態の制御を行うに際し、第１特別図柄保留数（Ｕ１）記憶領域または第２特別図柄保留数（Ｕ２）記憶領域のいずれの記憶領域にも１以上のデータがセットされていないときに、デモ指定コマンドがメインＲＡＭ１１０ｃの送信データ用記憶領域にセットされる。その後、送信データ用記憶領域にセットされているデモ指定コマンドが演出制御部１２０へ直ちに送信されることになる。
【０１３２】
「第１特別図柄用変動パターン指定コマンド」は、第１特別図柄表示装置２０における特別図柄の変動時間（変動態様）を示すものであり、「ＭＯＤＥ」の情報が「Ｅ６Ｈ」で設定され、各種の変動パターンに合わせて「ＤＡＴＡ」の情報が設定されている。
この第１特別図柄用変動パターン指定コマンドは、第１特別図柄表示装置２０の特別図柄の変動表示が開始されるときに、決定された特別図柄の変動パターンに対応する第１特別図柄用変動パターン指定コマンドが演出制御部１２０に送信される。具体的には、大当たりの抽選結果を判定し特別図柄の変動パターンが決定され特別図柄の変動表示が開始されるときに、決定された特別図柄の変動パターンに対応する第１特別図柄用変動パターン指定コマンドがメインＲＡＭ１１０ｃの送信データ用記憶領域にセットされる。その後、送信データ用記憶領域にセットされている第１特別図柄用変動パターン指定コマンドが演出制御部１２０へ直ちに送信されることになる。
【０１３３】
「第２特別図柄用変動パターン指定コマンド」は、第２特別図柄表示装置２１における特別図柄の変動時間（変動態様）を示すものであり、「ＭＯＤＥ」の情報が「Ｅ７Ｈ」で設定され、各種の変動パターンに合わせて「ＤＡＴＡ」の情報が設定されている。
この第２特別図柄用変動パターン指定コマンドは、第２特別図柄表示装置２１の特別図柄の変動表示が開始されるときに、決定された特別図柄の変動パターンに対応する第２特別図柄用変動パターン指定コマンドが演出制御部１２０に送信される。具体的には、大当たりの抽選結果を判定し特別図柄の変動パターンが決定され特別図柄の変動表示が開始されるときに、決定された特別図柄の変動パターンに対応する第２特別図柄用変動パターン指定コマンドがメインＲＡＭ１１０ｃの送信データ用記憶領域にセットされる。その後、送信データ用記憶領域にセットされている第２特別図柄用変動パターン指定コマンドが演出制御部１２０へ直ちに送信されることになる。
なお、本実施形態１では、「第１特別図柄用変動パターン指定コマンド」と「第２特別図柄用変動パターン指定コマンド」とをまとめて、「変動パターン指定コマンド」という。
【０１３４】
「大入賞口開放指定コマンド」は、各種大当りの種別に合わせた大当たりのラウンド数を示すものであり、「ＭＯＤＥ」の情報が「ＥＡＨ」で設定され、大当たりのラウンド数に合わせて「ＤＡＴＡ」の情報が設定されている。
この大入賞口開放指定コマンドは、大当りラウンドが開始されるときに、開始されたラウンド数に対応する大入賞口開放指定コマンドが演出制御部１２０に送信される。具体的には、大当たり遊技処理において第１大入賞口開閉扉１６ｂ（または第２大入賞口開閉扉１７ｂ）を開放させるときに、開放させるときのラウンド数に対応する大入賞口開放指定コマンドがメインＲＡＭ１１０ｃの送信データ用記憶領域にセットされる。その後、送信データ用記憶領域にセットされている大入賞口開放指定コマンドが演出制御部１２０へ直ちに送信されることになる。
【０１３５】
「オープニング指定コマンド」は、各種の大当りが開始することを示すものであり、「ＭＯＤＥ」の情報が「ＥＢＨ」で設定され、大当たりの種別に合わせて「ＤＡＴＡ」の情報が設定されている。
このオープニング指定コマンドは、各種の大当りが開始するときに、大当たりの種別に対応するオープニング指定コマンドが演出制御部１２０に送信される。具体的には、大当たり遊技処理の開始のときに、大当たりの種別に対応するオープニング指定コマンドがメインＲＡＭ１１０ｃの送信データ用記憶領域にセットされる。その後、送信データ用記憶領域にセットされているオープニング指定コマンドが演出制御部１２０へ直ちに送信されることになる。
【０１３６】
「エンディング指定コマンド」は、各種の大当りが終了したことを示すものであり、「ＭＯＤＥ」の情報が「ＥＣＨ」で設定され、大当たりの種別に合わせて「ＤＡＴＡ」の情報が設定されている。
このエンディング指定コマンドは、各種の大当りが終了するときに、大当たりの種別に対応するエンディング指定コマンドが演出制御部１２０に送信される。具体的には、大当り遊技終了処理の開始のときに、大当たりの種別に対応するエンディング指定コマンドがメインＲＡＭ１１０ｃの送信データ用記憶領域にセットされる。その後、送信データ用記憶領域にセットされているエンディング指定コマンドが演出制御部１２０へ直ちに送信されることになる。
【０１３７】
「遊技状態指定コマンド」は、遊技状態の内容を示すものであり、「ＭＯＤＥ」の情報が「ＥＤＨ」で設定され、遊技状態の内容に合わせて「ＤＡＴＡ」の情報が設定されている。
この遊技状態指定コマンドは、特別図柄の変動開始時および変動終了時に遊技状態指定コマンドが演出制御部１２０に送信される。具体的には、特別図柄の変動開始時および変動終了時などによって、遊技状態記憶領域や高確率遊技回数カウンタなどの現在の遊技状態を示すデータを記憶した各種記憶領域の値が変化したときに、現在の遊技状態に対応する遊技状態指定コマンドがメインＲＡＭ１１０ｃの送信データ用記憶領域にセットされる。その後、送信データ用記憶領域にセットされている遊技状態指定コマンドが演出制御部１２０へ直ちに送信されることになる。
【０１３８】
「鍵コマンド」は、遊技機１で認証処理を実行するため認証データを復号化することを示すものであり、「ＭＯＤＥ」の情報が「ＥＥＨ」で設定され、各種の鍵データに合わせて「ＤＡＴＡ」の情報が設定されている。
この鍵コマンドは、遊技機１で認証処理を実行するときに演出制御部１２０を介して後段制御部１８０へ送信される。後段制御部１８０は、主制御部１１０から演出制御部１２０を介して鍵コマンドを受信すると、鍵コマンドを用いて認証データを復号化して認証処理を開始し、得られた認証結果に応じた処理を行う。遊技機１で認証処理を実行するタイミングは基本的に任意に設定することができる。但し、演出制御部１２０は、認証処理の他に通常の遊技進行に伴って演出処理を実行する必要があるため、演出制御部１２０における認証処理の処理負荷はできるだけ抑制することが望ましい。よって、例えば、リセット時やデモ開始時に、遊技機１で認証処理を実行させることが考えられる。
【０１３９】
例えば、鍵コマンドの送信タイミングがリセット時と設定された場合、鍵コマンドは、ＲＡＭクリア指定コマンドや電源復旧指定コマンドの送信を契機として演出制御部１２０を介して後段制御部１８０へ送信される。具体的には、鍵コマンドは、ＲＡＭクリア指定コマンドや電源復旧指定コマンドがメインＲＡＭ１１０ｃの送信データ用記憶領域にセットされコマンド送信処理が行われてから、所定時間が経過した後に、認証情報生成部５００から取得された鍵データを用いて構成され、送信データ用記憶領域にセットされる。その後、送信データ用記憶領域にセットされた鍵コマンドが演出制御部１２０を介して後段制御部１８０へ直ちに送信されることになる。
【０１４０】
また、例えば、鍵コマンドの送信タイミングがデモ開始時と設定された場合、鍵コマンドは、デモ指定コマンドの送信を契機として演出制御部１２０を介して後段制御部１８０へ送信される。具体的には、鍵コマンドは、デモ指定コマンドがメインＲＡＭ１１０ｃの送信データ用記憶領域にセットされコマンド送信処理が行われてから、所定時間が経過した後に、認証情報生成部５００から取得された鍵データを用いて構成され、演出制御部１２０を介して後段制御部１８０へ送信される。本実施形態１では、リセット時、すなわちＲＡＭクリア指定コマンドや電源復旧指定コマンドの送信を契機として、鍵コマンドを演出制御部１２０を介して後段制御部１８０へ送信することとして説明する。
【０１４１】
［主制御部の制御処理］
以下、本発明の実施形態１に係る遊技機１の主制御部１１０の制御処理について説明する。まず、主制御部１１０のメイン処理について説明する。
図８は、本実施形態１に係る主制御部１１０によるメイン処理を示すフローチャートである。
【０１４２】
遊技機１に電源が投入され、電源部１７０により電源が供給されると、主制御部１１０にシステムリセットが発生し、メインＣＰＵ１１０ａは、初期化処理（図８のステップＳ１〜ステップＳ１９までの処理）および乱数値更新処理（図８のステップＳ２０およびステップＳ３０の処理）を行う。
【０１４３】
ステップＳ１において、メインＣＰＵ１１０ａは、主制御部１１０の初期化処理の前提としてブート処理を行う。このブート処理において、メインＣＰＵ１１０ａは、自身の自己診断処理や、内蔵回路や周辺回路等の初期化および初期値の設定を行う。なお、ブート処理の詳細については後述する。
ステップＳ２において、メインＣＰＵ１１０ａは、メインＲＡＭ１１０ｃへのアクセスを許可に設定する。
ステップＳ３において、メインＣＰＵ１１０ａは、ＲＡＭクリアスイッチがオンとなっているか判定し、ＲＡＭクリアスイッチがオンと判定された場合、ＲＡＭクリアを行うためステップＳ１０に処理を移す。一方、ＲＡＭクリアスイッチがオンと判定されなかた場合には、ステップＳ４に処理を移す。
【０１４４】
ステップＳ４において、メインＣＰＵ１１０ａは、電源投入時のメインＲＡＭ１１０ｃの所定の記憶領域におけるチェックサムを生成する。
ステップＳ５において、メインＣＰＵ１１０ａは、生成したチェックサムと、電断時に生成したメインＲＡＭ１１０ｃの所定の記憶領域におけるチェックサムとを比較する。ここで、一致していれば正常と判定し、ステップＳ６に処理を移し、一致していなければエラーと判定し、ステップＳ１０に処理を移す。
ステップＳ６において、メインＣＰＵ１１０ａは、演出制御部１２０をはじめとした周辺部３００および後段制御部１８０との間で、起動後の動作の開始タイミングを調整する。具体的には、周辺部３００および後段制御部１８０がすべて起動し安定状態となってから演出処理等をほぼ同じタイミングで開始できるように、一定時間だけ待機する。
【０１４５】
ステップＳ７において、メインＣＰＵ１１０ａは、電断からの復旧に際して初期値を必要とするメインＲＡＭ１１０ｃの作業領域に初期値を設定し、バックアップが有効である場合のＲＡＭの設定処理を行う。
ステップＳ８において、メインＣＰＵ１１０ａは、電断時の遊技状態に復旧すべく、電断時に生成したメインＲＡＭ１１０ｃのバックアップ情報を読み込む。具体的には、バックアップされているメインＲＡＭ１１０ｃの遊技状態記憶領域から遊技状態の情報を読み込む。
ステップＳ９において、メインＣＰＵ１１０ａは、読み込んだ遊技状態の情報に基づいて電源復旧指定コマンドを決定し、決定した電源復旧指定コマンドをメインＲＡＭ１１０ｃの送信データ用記憶領域にセットする。
【０１４６】
ステップＳ１０において、メインＣＰＵ１１０ａは、上記ステップＳ６と同様に周辺部３００および後段制御部１８０との間でのタイミング調整を行う。
ステップＳ１１において、メインＣＰＵ１１０ａは、メインＲＡＭ１１０ｃの使用領域をクリアする。
ステップＳ１２において、メインＣＰＵ１１０ａは、各種乱数値の初期値の設定をはじめとする、遊技機１の初期化に際して初期値を必要とするメインＲＡＭ１１０ｃの作業領域に初期値を設定し、バックアップが有効でない場合のメインＲＡＭ１１０ｃの設定処理を行う。
【０１４７】
ステップＳ１３において、メインＣＰＵ１１０ａは、電源投入時指定コマンドを生成し、生成した電源投入時指定コマンドをメインＲＡＭ１１０ｃの送信データ用記憶領域にセットする。
ステップＳ１４において、メインＣＰＵ１１０ａは、送信データ用記憶領域にセットされている制御コマンドを演出制御部１２０や後段制御部１８０に送信するコマンド送信処理を行う。すなわち、電源投入時指定コマンドを演出制御部１２０および演出制御部１２０を介して後段制御部１８０に送信する。
【０１４８】
ステップＳ１５において、メインＣＰＵ１１０ａは、ＲＡＭクリア指定コマンドを生成し、生成したＲＡＭクリア指定コマンドをメインＲＡＭ１１０ｃの送信データ用記憶領域にセットする。
ステップＳ１６において、メインＣＰＵ１１０ａは、メインＲＡＭ１１０ｃの送信データ用記憶領域にセットされている制御コマンドを演出制御部１２０や後段制御部１８０に送信するコマンド送信処理を行う。すなわち、電源復旧指定コマンドまたはＲＡＭクリア指定コマンドのいずれかの制御コマンドを演出制御部１２０および演出制御部１２０を介して後段制御部１８０に送信する。
ステップＳ１７において、メインＣＰＵ１１０ａは、割込許可の設定をするとともに、タイマ割込プログラムの実行周期（α、例えば４ミリ秒）を設定する。
【０１４９】
ステップＳ１８において、メインＣＰＵ１１０ａは、鍵コマンドを生成し、生成した鍵コマンドをメインＲＡＭ１１０ｃの送信データ用記憶領域にセットする。具体的には、メインＣＰＵ１１０ａは、上記ステップＳ１７での割込許可の設定からタイマ割込プログラムの実行周期（α）が経過した後に、認証情報生成部５００を構成する制御部５０１へ鍵データの読み出し信号を出力し、予め制御部５０１にて生成された鍵データを取得する。その後、取得した鍵データを用いて鍵コマンドを構成し、メインＲＡＭ１１０ｃの送信データ用記憶領域にセットする。
ステップＳ１９において、メインＣＰＵ１１０ａは、メインＲＡＭ１１０ｃの送信データ用記憶領域にセットされている制御コマンドを演出制御部１２０や後段制御部１８０へ送信するコマンド送信処理を行う。すなわち、鍵コマンドを演出制御部１２０および演出制御部１２０を介して後段制御部１８０に送信する。なお、ステップＳ１４およびステップＳ１６のコマンド送信処理は、本ステップＳ１９のコマンド送信処理と同様に、タイマ割込処理の中で行ってもよい。このとき、各制御コマンドの送信順番が前後しないよう予め取り決めておく。また、鍵コマンドの生成および送信を含む認証処理の詳細に関しては後述する。
【０１５０】
ステップＳ２０において、メインＣＰＵ１１０ａは、特別図柄の変動態様（変動時間）を決定するためのリーチ判定用乱数値および特図変動用乱数値を更新する演出用乱数値更新処理を行う。
ステップＳ３０において、メインＣＰＵ１１０ａは、特別図柄判定用初期乱数値、大当たり図柄用初期乱数値、小当たり図柄用初期値乱数値、普通図柄判定用初期乱数値を更新する初期乱数値更新処理を行う。その後、所定の割込処理が行われるまで、ステップＳ２０とステップＳ３０との処理を繰り返し行う。
【０１５１】
次に、主制御部１１０の割込処理について説明する。
図９は、本実施形態１に係る主制御部１１０による割込処理を示すフローチャートである。
メインＣＰＵ１１０ａは、主制御部１１０に設けられたクロックパルス発生回路（図示せず）から出力されるクロック信号に基づいて、所定の周期（α）ごとに、主制御部１１０のタイマ割込処理を実行する。
【０１５２】
まず、ステップＳ１００において、メインＣＰＵ１１０ａは、メインＣＰＵ１１０ａのレジスタに記憶されている情報をスタック領域に退避させる。
【０１５３】
ステップＳ１１０において、メインＣＰＵ１１０ａは、特別図柄時間カウンタの更新処理、特別電動役物の開放時間等などの特別遊技タイマカウンタの更新処理、普通図柄時間カウンタの更新処理、普電開放時間カウンタの更新処理等の各種タイマカウンタを更新する時間制御処理を行う。具体的には、特別図柄時間カウンタ、特別遊技タイマカウンタ、普通図柄時間カウンタ、普電開放時間カウンタから１を減算する処理を行う。
【０１５４】
ステップＳ１２０において、メインＣＰＵ１１０ａは、特別図柄判定用乱数値、大当たり図柄用乱数値、小当たり図柄用乱数値、普通図柄判定用乱数値の乱数更新処理を行う。
具体的には、それぞれの乱数値および乱数カウンタに１を加算して更新する。なお、加算した乱数カウンタが乱数範囲の最大値を超えた場合（乱数カウンタが１周した場合）には、乱数カウンタを０に戻し、その時の初期乱数値からそれぞれの乱数値を新たに更新する。
【０１５５】
ステップＳ１３０において、メインＣＰＵ１１０ａは、ステップＳ３０と同様に、特別図柄判定用初期乱数値、大当たり図柄用初期乱数値、小当たり図柄用初期値乱数値、普通図柄判定用初期乱数値を更新する初期乱数値更新処理を行う。
【０１５６】
ステップＳ２００において、メインＣＰＵ１１０ａは、入力制御処理を行う。この処理において、メインＣＰＵ１１０ａは、一般入賞口検出スイッチ１２ａ、第１大入賞口検出スイッチ１６ａ、第２大入賞口検出スイッチ１７ａ、第１始動口検出スイッチ１４ａ、第２始動口検出スイッチ１５ａ、ゲート検出スイッチ１３ａの各スイッチに入力があったか否か判定する入力処理を行う。
【０１５７】
具体的には、一般入賞口検出スイッチ１２ａ、第１大入賞口検出スイッチ１６ａ、第２大入賞口検出スイッチ１７ａ、第１始動口検出スイッチ１４ａ、第２始動口検出スイッチ１５ａからの各種検出信号を入力した場合には、ぞれぞれの入賞口毎に設けられた賞球のために用いる賞球カウンタに所定のデータを加算して更新する。
【０１５８】
さらに、第１始動口検出スイッチ１４ａから検出信号を入力した場合には、第１特別図柄保留数（Ｕ１）記憶領域にセットされているデータが４未満であれば、第１特別図柄保留数（Ｕ１）記憶領域に１を加算し、特別図柄判定用乱数値、大当たり図柄用乱数値、小当たり図柄用乱数値、リーチ判定用乱数値および特図変動用乱数値を取得して、取得した各種乱数値を第１特別図柄乱数値記憶領域にある所定の記憶部（第０記憶部〜第４記憶部）に記憶する。
【０１５９】
同様に、第２始動口検出スイッチ１５ａから検出信号を入力した場合には、第２特別図柄保留数（Ｕ２）記憶領域にセットされているデータが４未満であれば、第２特別図柄保留数（Ｕ２）記憶領域に１を加算し、特別図柄判定用乱数値、大当たり図柄用乱数値、小当たり図柄用乱数値、リーチ判定用乱数値および特図変動用乱数値を取得して、取得した各種乱数値を第２特別図柄乱数値記憶領域にある所定の記憶部（第０記憶部〜第４記憶部）に記憶する。
【０１６０】
また、ゲート検出スイッチ１３ａから検出信号を入力した場合には、普通図柄保留数（Ｇ）記憶領域にセットされているデータが４未満であれば、普通図柄保留数（Ｇ）記憶領域に１を加算し、普通図柄判定用乱数値を取得して、取得した普通図柄判定用乱数値を普通図柄保留記憶領域にある所定の記憶部（第０記憶部〜第４記憶部）に記憶する。
【０１６１】
さらに、第１大入賞口検出スイッチ１６ａまたは第２大入賞口検出スイッチ１７ａからの検出信号を入力した場合には、第１大入賞口１６または第２大入賞口１７に入賞した遊技球を計数するための大入賞口入球数（Ｃ）記憶領域に１を加算して更新する。
【０１６２】
ステップＳ３００において、メインＣＰＵ１１０ａは、上記ステップＳ２００での入力制御処理に基づいて、大当たりの抽選、特別電動役物、遊技状態の制御を行うための特別図柄・特別電動役物制御処理（以下、「特図特電制御処理」という）を行う。特図特電制御処理の詳細については、図１０を用いて後述する。
【０１６３】
ステップＳ４００において、メインＣＰＵ１１０ａは、普通図柄の抽選、普通電動役物の制御を行うための普通図柄・普通電動役物制御処理（以下、「普図普電制御処理」という）を行う。
具体的には、まず普通図柄保留数（Ｇ）記憶領域に１以上のデータがセットされているか否かを判定し、普通図柄保留数（Ｇ）記憶領域に１以上のデータがセットされていなければ、今回の普図普電制御処理を終了する。
【０１６４】
普通図柄保留数（Ｇ）記憶領域に１以上のデータがセットされていれば、普通図柄保留数（Ｇ）記憶領域に記憶されている値から１を減算した後、普通図柄保留記憶領域にある第１記憶部〜第４記憶部に記憶された普通図柄判定用乱数値を１つ前の記憶部にシフトさせる。このとき、既に第０記憶部に書き込まれていた普通図柄判定用乱数値は上書きされて消去されることとなる。
そして、当たり判定テーブルを参照し、普通図柄保留記憶領域の第０記憶部に記憶された普通図柄判定用乱数値が「当たり」に対応する乱数値であるかどうかの判定する処理を行う。その後、普通図柄表示装置２２において普通図柄の変動表示を行って、普通図柄の変動時間が経過すると普通図柄の抽選の結果に対応する普通図柄の停止表示を行う。そして、参照した普通図柄判定用乱数値が「当たり」のものであれば、始動口開閉ソレノイド１５ｃを駆動させ、第２始動口１５を所定の開放時間、第２の態様に制御する。
【０１６５】
ステップＳ５００において、メインＣＰＵ１１０ａは、払出制御処理を行う。この払出制御処理において、メインＣＰＵ１１０ａは、ぞれぞれの賞球カウンタを参照し、各種入賞口に対応する払出個数指定コマンドを生成して、生成した払出個数指定コマンドを払出制御部１３０に送信する。
【０１６６】
ステップＳ６００において、メインＣＰＵ１１０ａは、外部情報データ、始動口開閉ソレノイドデータ、第１大入賞口開閉ソレノイドデータ、第２大入賞口開閉ソレノイドデータ、特別図柄表示装置データ、普通図柄表示装置データ、記憶数指定コマンドのデータ作成処理を行う。
【０１６７】
ステップＳ７００において、メインＣＰＵ１１０ａは、出力制御処理を行う。この処理において、ステップＳ６００で作成した外部情報データ、始動口開閉ソレノイドデータ、第１大入賞口開閉ソレノイドデータ、第２大入賞口開閉ソレノイドデータの信号を出力させるポート出力処理を行う。
また、第１特別図柄表示装置２０、第２特別図柄表示装置２１および普通図柄表示装置２２の各ＬＥＤを点灯させるために、上記Ｓ６００で作成した特別図柄表示装置データと普通図柄表示装置データとを出力する表示装置出力処理を行う。
さらに、メインＲＡＭ１１０ｃの送信データ用記憶領域にセットされている制御コマンドを演出制御部１２０や演出制御部１２０を介して後段制御部１８０に送信するコマンド送信処理も行う。
【０１６８】
ステップＳ８００において、メインＣＰＵ１１０ａは、ステップＳ１００で退避した情報をメインＣＰＵ１１０ａのレジスタに復帰させる。
【０１６９】
次に、主制御部１１０の特図特電制御処理を説明する。
図１０は、本実施形態１に係る主制御部１１０による特図特電制御処理を示すフローチャートである。
【０１７０】
ステップＳ３０１において、メインＣＰＵ１１０ａは、特図特電処理データの値を読み込む。この「特図特電処理データ」は、特図特電制御処理の各サブルーチンが記憶された記憶領域のアドレスにそれぞれ割り当てられた値であり、特図特電処理データを参照することで、どのサブルーチンを処理するかを識別することができる。そして、特図特電処理データは、後述するように特図特電制御処理の各サブルーチンの中で必要に応じてセットされていき、その遊技において必要なサブルーチンが適宜処理されていくことになる。
【０１７１】
ステップＳ３０２において、メインＣＰＵ１１０ａは、読み込んだ特図特電処理データから分岐アドレスを参照し、特図特電処理データ＝０であれば特別図柄記憶判定処理（ステップＳ３１０）に処理を移し、特図特電処理データ＝１であれば特別図柄変動処理（ステップＳ３２０）に処理を移し、特図特電処理データ＝２であれば特別図柄停止処理（ステップＳ３３０）に処理を移し、特図特電処理データ＝３であれば大当たり遊技処理（ステップＳ３４０）に処理を移し、特図特電処理データ＝４であれば大当り遊技終了処理（ステップＳ３５０）に処理を移し、特図特電処理データ＝５であれば小当り遊技終了処理（ステップＳ３６０）に処理を移す。
【０１７２】
ステップＳ３１０の特別図柄記憶判定処理においては、メインＣＰＵ１１０ａは、大当たり判定処理、停止表示する特別図柄の決定をする特別図柄決定処理、特別図柄の変動時間を決定する変動時間決定処理等を行う。ここで、図１１を用いて、特別図柄記憶判定処理の具体的な内容を説明する。
【０１７３】
図１１は、本実施形態１に係る主制御部１１０による特別図柄記憶判定処理におけるフローチャートである。
【０１７４】
ステップＳ３１１において、メインＣＰＵ１１０ａは、第１特別図柄保留数（Ｕ１）記憶領域または第２特別図柄保留数（Ｕ２）記憶領域に１以上のデータがセットされているか否かを判定する。
そして、第１特別図柄保留数（Ｕ１）記憶領域または第２特別図柄保留数（Ｕ２）記憶領域のいずれの記憶領域にも１以上のデータがセットされていなければ、特図特電処理データ＝０を保持したまま、今回の特別図柄変動処理を終了する。
一方、第１特別図柄保留数（Ｕ１）記憶領域または第２特別図柄保留数（Ｕ２）記憶領域に１以上のデータがセットされていれば、ステップＳ３１２に処理を移す。
【０１７５】
ステップＳ３１２において、メインＣＰＵ１１０ａは、大当たり判定処理を行う。
具体的には、第２特別図柄保留数（Ｕ２）記憶領域に１以上のデータがセットされている場合には、第２特別図柄保留数（Ｕ２）記憶領域に記憶されている値から１を減算した後、第２特別図柄乱数値記憶領域にある第１記憶部〜第４記憶部に記憶された各種乱数値を１つ前の記憶部にシフトさせる。このとき、既に第０記憶部に書き込まれていた各種乱数値は上書きされて消去されることとなる。そして、大当たり判定テーブルを参照して、第２特別図柄乱数値記憶領域の第０記憶部に記憶された特別図柄判定用乱数値が「大当たり」に対応する乱数値であるか、「小当たり」に対応する乱数値であるかの判定を行う。
【０１７６】
また、第２特別図柄保留数（Ｕ２）記憶領域に１以上のデータがセットされておらず、第１特別図柄保留数（Ｕ１）記憶領域に１以上のデータがセットされている場合には、第１特別図柄保留数（Ｕ１）記憶領域に記憶されている値から１を減算した後、第１特別図柄乱数値記憶領域にある第１記憶部〜第４記憶部に記憶された各種乱数値を１つ前の記憶部にシフトさせる。このときにも、既に第０記憶部に書き込まれていた各種乱数値は上書きされて消去されることとなる。そして、大当たり判定テーブルを参照して、第１特別図柄乱数値記憶領域の第０記憶部に記憶された特別図柄判定用乱数値が「大当たり」に対応する乱数値であるか、「小当たり」に対応する乱数値であるかの判定を行う。
【０１７７】
本実施形態１では、第１特別図柄乱数値記憶領域よりも第２特別図柄乱数値記憶領域に記憶された乱数値が優先してシフト（消化）されることになる。しかしながら、始動口に入賞した順序で、第１特別図柄記憶領域または第２特別図柄記憶領域をシフトさせてもよいし、第１特別図柄記憶領域を第２特別図柄記憶領域よりも優先させてシフトさせてもよい。
【０１７８】
ステップＳ３１３において、メインＣＰＵ１１０ａは、停止表示する特別図柄の種類を決定するための特別図柄決定処理を行う。
この特別図柄決定処理では、上記大当り判定処理（ステップＳ３１２）において「大当たり」と判定された場合には、図柄決定テーブルを参照して、第１特別図柄乱数値記憶領域の第０記憶部に記憶された大当たり図柄用乱数値に基づいて大当たり図柄（特別図柄１〜特別図柄６）を決定する。また、上記大当り判定処理（ステップＳ３１２）において「小当たり」と判定された場合には、図柄決定テーブルを参照して、第１特別図柄乱数値記憶領域の第０記憶部に記憶された小当たり図柄用乱数値に基づいて小当たり図柄（特別図柄Ａ、特別図柄Ｂ）を決定する。また、上記大当り判定処理（ステップＳ３１２）において「ハズレ」と判定された場合には、図柄決定テーブルを参照して、ハズレ図柄（特別図柄０）を決定する。
そして、決定した特別図柄に対応する停止図柄データを停止図柄データ記憶領域に記憶する。
【０１７９】
ステップＳ３１４において、メインＣＰＵ１１０ａは、特別図柄の変動時間決定処理を行う。
具体的には、変動パターン決定テーブルを参照して、第１特別図柄乱数値記憶領域の第０記憶部に記憶されたリーチ判定用乱数値および特図変動用乱数値に基づいて、特別図柄の変動パターンを決定する。その後、決定した特別図柄の変動パターンに対応する特別図柄の変動時間を決定する。そして、決定した特別図柄の変動時間に対応するカウンタを特別図柄時間カウンタにセットする処理を行う。
【０１８０】
ステップＳ３１５において、メインＣＰＵ１１０ａは、第１特別図柄表示装置２０または第２特別図柄表示装置２１に特別図柄の変動表示（ＬＥＤの点滅）を行わせるための変動表示データを所定の処理領域にセットする。これにより、所定の処理領域に変動表示データがセットされていると、上記ステップＳ６００でＬＥＤの点灯または消灯のデータが適宜作成され、作成されたデータがステップＳ７００において出力されることで、第１特別図柄表示装置２０または第２特別図柄表示装置２１の変動表示が行われる。
さらに、メインＣＰＵ１１０ａは、特別図柄の変動表示が開始されるときに、上記ステップＳ３１４で決定された特別図柄の変動パターンに対応する特別図柄の変動パターン指定コマンド（第１特別図柄用変動パターン指定コマンドまたは第２特別図柄用変動パターン指定コマンド）をメインＲＡＭ１１０ｃの送信データ用記憶領域にセットする。
【０１８１】
ステップＳ３１６において、メインＣＰＵ１１０ａは、特図特電処理データ＝０から特図特電処理データ＝１にセットして、特別図柄変動処理のサブルーチンに移す準備を行い、特別図柄記憶判定処理を終了する。
【０１８２】
再び、図１０に示す特図特電制御処理について説明を戻すことにする。
ステップＳ３２０の特別図柄変動処理においては、メインＣＰＵ１１０ａは、特別図柄の変動時間が経過したか否かを判定する処理を行う。
具体的には、ステップＳ３１４で決定された特別図柄の変動時間が経過したか（特別図柄時間カウンタ＝０）否かを判定し、特別図柄の変動時間が経過していないと判定した場合には、特図特電処理データ＝１を保持したまま、今回の特別図柄変動処理を終了する。なお、上記ステップＳ３１４でセットされた特別図柄の変動時間のカウンタは、上記ステップＳ１１０において減算処理されていく。
【０１８３】
特別図柄の変動時間が経過したと判定すれば、上記ステップＳ３１３で決定された特別図柄を第１特別図柄表示装置２０または第２特別図柄表示装置２１に停止表示させる。これにより、第１特別図柄表示装置２０または第２特別図柄表示装置２１に特別図柄が停止表示され、遊技者に大当たりの判定結果が報知されることとなる。
また、高確率遊技回数（Ｘ）＞０のときには高確率遊技回数（Ｘ）カウンタから１を減算して更新し、高確率遊技回数（Ｘ）＝０となれば、高確率遊技フラグをクリアする。
最後に、特図特電処理データ＝１から特図特電処理データ＝２にセットして、特別図柄停止処理のサブルーチンに移す準備を行い、特別図柄変動処理を終了する。
【０１８４】
ステップＳ３３０の特別図柄停止処理においては、メインＣＰＵ１１０ａは、停止表示された特別図柄が「大当たり図柄」であるか、「小当たり図柄」であるか、「ハズレ図柄」であるかを判定する処理を行う。
そして、大当たり図柄と判定された場合には、遊技状態記憶領域に記憶されているデータを参照し、現在の遊技状態を示すデータを遊技状態バッファにセットする。その後に、遊技状態記憶領域（高確率遊技フラグ記憶領域等）に記憶されているデータ（高確率遊技フラグ）、高確率遊技回数（Ｘ）カウンタをクリアする。さらに、特図特電処理データ＝２から特図特電処理データ＝３にセットして、大当たり遊技処理のサブルーチンに移す準備を行い、特別図柄停止処理を終了する。
【０１８５】
また、小当たり図柄と判定された場合には、遊技状態記憶領域に記憶されているデータはクリアせずに、特図特電処理データ＝２から特図特電処理データ＝５にセットして、小当たり遊技処理のサブルーチンに移す準備を行い、特別図柄停止処理を終了する。
一方、ハズレ図柄と判定された場合には、特図特電処理データ＝２から特図特電処理データ＝０にセットして、特別図柄記憶判定処理のサブルーチンに移す準備を行い、特別図柄停止処理を終了する。
【０１８６】
ステップＳ３４０の大当たり遊技処理においては、メインＣＰＵ１１０ａは、上記長当たりまたは短当たりのいずれの大当たりを実行させるかを決定し、決定した大当たりを制御する処理を行う。
具体的には、まず、特別電動役物作動態様決定テーブルを参照し、上記ステップＳ３１３で決定された大当たり図柄の種類（停止図柄データ）に基づいて、大当たりの開放態様を決定する。
【０１８７】
次に、決定した大当たりの開放態様を実行させるために、大入賞口開放態様テーブルを参照し、大当たりの種類に応じた開放時間を特別遊技タイマカウンタにセットするとともに、第１大入賞口開閉ソレノイド１６ｃ（または第２大入賞口開閉ソレノイド１７ｃ）の駆動データを出力して第１大入賞口開閉扉１６ｂ（または第２大入賞口開閉扉１７ｂ）を開放させる。このとき、ラウンド遊技回数（Ｒ）記憶領域に１を加算する。
この開放中に規定個数の遊技球が入球するか、大入賞口の開放時間が経過すると（大入賞口入球数（Ｃ）＝９または特別遊技タイマカウンタ＝０である）と、第１大入賞口開閉ソレノイド１６ｃ（または第２大入賞口開閉ソレノイド１７ｃ）の駆動データの出力を停止して第１大入賞口開閉扉１６ｂ（または第２大入賞口開閉扉１７ｂ）を閉鎖させる。これにより、１回のラウンド遊技が終了する。このラウンド遊技の制御を繰り返し１５回行う。
【０１８８】
１５回のラウンド遊技が終了すると（ラウンド遊技回数（Ｒ）＝１５）、ラウンド遊技回数（Ｒ）記憶領域および大入賞口入球数（Ｃ）記憶領域に記憶されているデータをクリアするとともに、特図特電処理データ＝３から特図特電処理データ＝４にセットして、大当り遊技終了処理のサブルーチンに移す準備を行い、大当たり遊技処理を終了する。
【０１８９】
ステップＳ３５０の大当り遊技終了処理においては、メインＣＰＵ１１０ａは、高確率遊技状態または低確率遊技状態のいずれかの確率遊技状態を決定する処理を行う。
具体的には、大当たり遊技終了時設定データテーブルを参照し、遊技状態バッファに記憶されているデータと上記ステップＳ３１３で決定された大当たり図柄の種類（停止図柄データ）とに基づいて、高確率遊技フラグの設定、高確率遊技回数（Ｘ）の設定を行う。例えば、特別図柄１であれば、高確率遊技フラグ記憶領域に高確率遊技フラグをセットし、高確率遊技回数（Ｘ）カウンタに１００００回をセットする。
その後、特図特電処理データ＝４から特図特電処理データ＝０にセットして、特別図柄記憶判定処理のサブルーチンに移す準備を行い、大当り遊技終了処理を終了する。
【０１９０】
ステップＳ３６０の小当たり遊技処理においては、メインＣＰＵ１１０ａは、まず、特別電動役物作動態様決定テーブルを参照し、上記ステップＳ３１３で決定された小当たり図柄の種類（停止図柄データ）に基づいて、小当たりの開放態様を決定する。
次に、決定した小当たりの開放態様を実行させるために、大入賞口開放態様テーブルを参照し、小当たりの開放時間を特別遊技タイマカウンタにセットするとともに、第２大入賞口開閉ソレノイド１７ｃの駆動データを出力して第２大入賞口開閉扉１７ｂを開放させる。このとき、開放回数（Ｋ）記憶領域に１を加算する。
小当たりの開放時間が経過する（特別遊技タイマカウンタ＝０）と、第２大入賞口開閉ソレノイド１７ｃの駆動データの出力を停止して第２大入賞口開閉扉１７ｂを閉鎖させる。この第２大入賞口開閉扉１７ｂの開閉制御を繰り返し１５回行う。
【０１９１】
そして、第２大入賞口開閉扉１７ｂの開閉制御が１５回行われるか、第２大入賞口１７に規定個数の遊技球が入球する（開放回数（Ｋ）＝１５または大入賞口入球数（Ｃ）＝９である）と、小当たり遊技を終了させるため、第２大入賞口開閉ソレノイド１７ｃの駆動データの出力を停止させ、開放回数（Ｋ）記憶領域および大入賞口入球数（Ｃ）記憶領域に記憶されているデータをクリアするとともに、特図特電処理データ＝５から特図特電処理データ＝０にセットして、特別図柄記憶判定処理のサブルーチンに移す準備を行い、小当たり遊技処理を終了する。
【０１９２】
［主制御部の認証処理に関する制御処理］
以下、本発明の実施形態１に係る遊技機１の主制御部１１０の認証処理に関する制御処理について説明する。まず、主制御部１１０のブート処理について説明する。
遊技機１に電源が投入されると、主制御部１１０にシステムリセットが発生し、メインＣＰＵ１１０ａは、ブートＲＯＭ１１０ｄに予め記憶されたブート処理用プログラムに基づいて、主制御部１１０のブート処理を行う。
図１２は、本実施形態１に係る主制御部１１０によるブート処理を示すフローチャートである。
【０１９３】
ステップＳ５１において、メインＣＰＵ１１０ａは、内部状態を割込禁止に設定する。
ステップＳ５２において、メインＣＰＵ１１０ａは、自身の初期化後、メインＣＰＵ１１０ａ自身が正常に作動可能かどうかを確認する自己診断処理を行う。自己診断処理の結果、正常に作動可能であればステップＳ５３へ処理を移し、正常に作動可能でなければ、その後の処理を行わない。
【０１９４】
ステップＳ５３において、メインＣＰＵ１１０ａは、内蔵回路等への初期値設定処理を行う。具体的には、メインＣＰＵ１１０ａは、スタックポインタにスタックポイント指定アドレスを設定し、内蔵レジスタの初期化を行うとともに、ワンチップマイコン１１０ｍの内蔵回路や周辺回路等の初期化、入出力ポートの初期化を行う。そして、メインＣＰＵ１１０ａは、初期値を必要とするこれらの内蔵回路等へ各種の初期値を設定する。このとき、メインＣＰＵ１１０ａは、認証情報生成部５００の各構成部に対しても同様の処理を施して、認証情報生成部５００に対する初期値設定処理を行う。
【０１９５】
ステップＳ５４において、メインＣＰＵ１１０ａは、認証情報生成部５００に対して認証パラメータ設定処理を行う。具体的には、メインＣＰＵ１１０ａは、認証情報生成部５００に対する認証パラメータを読み出すための読み出し信号をメインＲＯＭ１１０ｂへ出力する。そして、メインＣＰＵ１１０ａは、当該読み出し信号によりメインＲＯＭ１１０ｂから出力された認証パラメータを、内部バス５５０を介して取り込む。続いて、メインＣＰＵ１１０ａは、取り込んだ認証パラメータを認証情報生成部５００の制御部５０１へ書き込むための書き込み信号を出力する。そして、メインＣＰＵ１１０ａは、当該書き込み信号によりメインＣＰＵ１１０ａから出力された認証パラメータを、内部バス５５０を介して制御部５０１の認証パラメータ用記憶領域へセットする。なお、本ステップＳ５４の認証パラメータ設定処理は、メインＣＰＵ１１０ａが行う初期値設定処理の中でも、認証情報生成部５００に認証パラメータを設定する処理を特筆したものであるため、初期値設定処理の一環として、ステップＳ５３の中で行うように構成することも可能である。
【０１９６】
ステップＳ５５において、認証情報生成部５００は、暗号回路作動処理を行う。具体的には、認証情報生成部５００を構成する制御部５０１は、自身が保持するアルゴリズムに従って、認証パラメータ用記憶領域にセットされた認証パラメータが、認証情報生成部５００を構成する複数種類の暗号回路５０２のうち、どの暗号回路５０２に対応した値であるかを確認する。そして、制御部５０１は、認証パラメータが示す暗号回路５０２に対し、当該暗号回路５０２を有効とする作動許可信号を出力するとともに、データ出力部５０４の当該暗号回路５０２との接続のみを有効とする接続切替信号を出力する。本実施形態１では、制御部５０１にて、複数種類の暗号回路５０２のうちの暗号回路Ａにのみ、これを有効とする作動許可信号が出力され、暗号回路Ａのみが有効に作動するよう設定される。また、制御部５０１にて、データ出力部５０４と暗号回路Ａとの接続のみを有効とする接続切替信号が出力される。よって、暗号回路Ａからのみ有効なデータが出力される。
【０１９７】
次に、上記認証データの生成・送信処理および鍵コマンド決定・送信処理を含む主制御部１１０の認証処理について説明する。
図１３は、本実施形態１に係る主制御部１１０における認証処理を示すフローチャートである。
【０１９８】
ステップＳ７１において、主制御部１１０のブート処理が終了し、認証情報生成部５００が起動した後、認証情報生成部５００は、メインＣＰＵ１１０ａからの指示によらず、自身が保持するアルゴリズムに従って今回の認証処理に使用する鍵データの決定を開始する。鍵データを決定するタイミングは、ブート処理にて暗号回路が作動した後であって、後述するステップＳ７３の認証データの生成処理よりも前であれば特に限定されない。認証情報生成部５００を構成する制御部５０１は、例えば、鍵データ用乱数生成手段等によって生成された乱数値を鍵データとして用いることができる。制御部５０１は、決定した鍵データを自身の鍵データ用記憶領域にセットするとともに、暗号回路作動処理で有効とした暗号回路５０２へ受け渡す。
【０１９９】
ステップＳ７２において、認証情報生成部５００は、メインＲＯＭ１１０ｂに記憶されている検査値を読み出し、検査値に暗号化処理を施し認証データを生成する。具体的には、認証情報生成部５００を構成する制御部５０１は、検査値用として予め定めたメインＲＯＭ１１０ｂの特定のアドレスに記憶されているデータを読み出すための読み出し信号を出力する。そして、制御部５０１は、当該読み出し信号によりメインＲＯＭ１１０ｂから出力された検査値を、内部バス５５０を介して認証情報生成部５００を構成するデータ入力部５０３へ取り込む。データ入力部５０３へ取り込まれた検査値は、そのまま暗号回路５０２へ受け渡される。
【０２００】
ステップＳ７３において、認証情報生成部５００は、取り込んだ検査値に対して暗号化処理を施し認証データを生成する。具体的には、暗号回路５０２は、上記ステップＳ７１で制御部５０１から受け取った鍵データと、上記ステップＳ７２でメインＲＯＭ１１０ｂから取り込まれた検査値とを用いて、主制御部１１０のブート処理時に有効と設定された暗号回路５０２で演算し、データ出力部５０４の認証データ用記憶領域にセットする。本実施形態１では、暗号回路５０２のうち暗号回路Ａのみが作動し、暗号回路Ａにて表された暗号化方式Ａで、取り込まれた検査値と鍵データとを演算し、認証データＡを生成する。生成された認証データＡは、データ出力部５０４へ受け渡され、認証データの送信タイミングまで保持される。
【０２０１】
ステップＳ７４において、メインＣＰＵ１１０ａは、ブート処理を含む初期化処理を行った後、制御コマンドを演出制御部１２０や後段制御部１８０へ送信するコマンド送信処理を行う（図８の上記ステップＳ１６）。このとき、メインＣＰＵ１１０ａは、メインＲＡＭ１１０ｃの送信データ用記憶領域にセットされた制御コマンドを送信部５２０へ出力し、演出制御部１２０や後段制御部１８０へ送信させる。具体的には、メインＣＰＵ１１０ａは、送信部５２０を構成するデータ入力部５２１へ出力する制御コマンドを書き込むための書き込み信号を出力する。そして、メインＣＰＵ１１０ａは、メインＲＡＭ１１０ｃの送信データ用記憶領域にセットされた制御コマンドを、内部バス５５０を介してデータ入力部５２１へ書き込んでセットする。
【０２０２】
ステップＳ７５において、送信部５２０は、制御コマンドが書き込まれてセットされると、演出制御部１２０へ直ちに送信する。具体的には、送信部５２０を構成するデータ入力部５２１は、ステップＳ７４で書き込まれた制御コマンドを送信回路５２２に受け渡す。送信回路５２２は、受け渡された制御コマンドを演出制御部１２０へ直ちに送信する。
【０２０３】
ステップＳ７６において、認証情報生成部５００は、メインＣＰＵ１１０ａが制御コマンドをデータ入力部５２１へセットしてから、所定時間（β）経過後に、認証データを演出制御部１２０へ送信するとして、認証データの送信タイミングを設定する。認証データの送信タイミングは、メインＣＰＵ１１０ａからの指示によらず、認証情報生成部５００が保持するアルゴリズムで予め設定されている。
このタイミングは、メインＣＰＵ１１０ａにて所定の周期（α）ごとに送信されるそれぞれの制御コマンドの直後に送信されるようなタイミングである。
具体的には、認証情報生成部５００を構成する制御部５０１は、メインＣＰＵ１１０ａが上記ステップＳ７４で制御コマンドをデータ入力部５２１へ書き込む際に出力される書き込み信号を検知し、検知した書き込み信号を入力する。そして、制御部５０１は、検知した書き込み信号の入力時点から、制御コマンドのデータ入力部５２１への書き込みが完了して制御コマンドがセットされるまでに要する時間（＝β <<α）が経過した後に、認証データのデータ入力部５２１への書き込みが開始されるようなタイミングに、認証データの書き込み信号の出力タイミングを設定する。
【０２０４】
ステップＳ７７において、認証情報生成部５００は、上記ステップＳ７６で設定した認証データの送信タイミングに基づいて、認証データの書き込み信号を内部バス５５０へ出力し、認証データを送信部５２０へ書き込んでセットする。具体的には、認証情報生成部５００を構成する制御部５０１は、送信タイミングとなると、送信部５２０を構成するデータ入力部５２１へ出力する認証データを書き込むための書き込み信号を、内部バス５５０へ出力する。そして、制御部５０１は、上記ステップＳ７３でデータ出力部５０４にて保持された認証データＡを、内部バス５５０を介してデータ入力部５２１へ書き込んでセットする。
【０２０５】
ステップＳ７８において、送信部５２０は、認証データが書き込まれてセットされると、演出制御部１２０へ直ちに送信する。具体的には、送信部５２０を構成するデータ入力部５２１は、上記ステップＳ７７で書き込まれた認証データＡを送信回路５２２へ受け渡す。送信回路５２２は、受け渡された認証データを直ちに演出制御部１２０へ送信する。
【０２０６】
ステップＳ７９において、メインＣＰＵ１１０ａは、上記ステップＳ７４の処理から所定の周期（α）が経過した後、認証情報生成部５００から鍵データを読み出す。具体的には、メインＣＰＵ１１０ａは、認証情報生成部５００を構成する制御部５０１の鍵データ用記憶領域に記憶されている鍵データを読み出すための読み出し信号をする。
ステップＳ８０において、認証情報生成部５００は、メインＣＰＵ１１０ａに対して鍵データを出力する。具体的には、認証情報生成部５００を構成する制御部５０１は、メインＣＰＵ１１０ａからの鍵データの読み出し信号が入力されると、上記ステップＳ７１で決定した鍵データを鍵データ用記憶領域から、データ出力部５０４および内部バス５５０を介してメインＣＰＵ１１０ａへ出力する。
ステップＳ８１において、メインＣＰＵ１１０ａは、読み出した鍵データを用いて鍵コマンドを構成し、上記ステップＳ７４と同様に、送信部５２０を構成するデータ入力部５２１へ書き込んでセットする。
【０２０７】
ステップＳ８２において、送信部５２０は、データ入力部５２１に鍵コマンドが書き込まれると、上記ステップＳ７５と同様に、鍵コマンドを直ちに演出制御部１２０へ送信する。なお、メインＣＰＵ１１０ａは、鍵コマンドをデータ入力部５２１へ書き込む際に、上記ステップＳ７４と同様に、書き込み信号を出力する。認証情報生成部５００を構成する制御部５０１は、上記ステップＳ７６と同様に、上記ステップＳ８１で出力された書き込み信号を検知し、検知した書き込み信号の入力を基準として、次回の認証処理に用いる認証データの送信タイミングを決定することができる。
【０２０８】
ステップＳ８３において、認証情報生成部５００は、上記ステップＳ７１と同様の方法で鍵データを更新する。なお、鍵データの更新のタイミングは、上記ステップＳ８０の後、すなわち、認証情報生成部５００が、上記ステップＳ７９のメインＣＰＵ１１０ａからの鍵データの読み出し信号に応じて、上記ステップＳ８０で鍵データを出力した後とする。
仮に、鍵データの更新タイミングを、上記ステップＳ８０の鍵データの出力より前とすると、上記ステップＳ７７でデータ入力部５２１へ書き込んだ認証データの生成に用いた鍵データと、上記ステップＳ８１でデータ入力部５２１へ書き込んだ鍵コマンドを構成する鍵データが一致しなくなるおそれが生じる。そうすると、後段制御部１８０では、鍵コマンドを受信して認証処理を開始しても認証データを復号化することができない。
したがって、鍵データの更新タイミングは、認証情報生成部５００が、上記ステップＳ８３のように、メインＣＰＵ１１０ａからの鍵データの読み出し信号に応じて、鍵データを出力した時点以降とする。
【０２０９】
認証データの送信タイミングを上記のように設定することで、認証データの送信タイミングと制御コマンドの送信タイミングの時間軸上の位置関係が明確化され、認証データの送信は、制御コマンドの送信直後に必ず行われることとなる。これによって、後段制御部１８０では、新たな判断処理ステップや特別な解析手段を設けなくとも、受信した鍵コマンドを構成する鍵データと、受信した認証データの生成に用いた鍵データとの対応関係を容易に判別できる。よって、認証データと鍵データとの不一致によって復号化処理が実行不可となるおそれを低減し、認証処理の確度を向上することができる。また、これによって、後段制御部１８０では、主制御部１１０から送信されるデータに識別子が付与されていたり、別途識別情報が送信されたりしなくとも、受信順序だけで受信データが認証データか否かを容易に識別できる。よって、後段制御部１８０では、新たな解析手段を追加することに伴うコードサイズの増大や作業工数の増大を抑止することができる。
【０２１０】
また、これによって、ソフトウェア開発上、制御コマンドの送信に関する既存のプログラムコードに対する認証データの送信に関するコードの結合度が低いままで認証データの送信に関する機能を追加することができる。よって、例えば、デバッグ作業時は、既存の制御コマンドの送信に関するものだけ先に作業を行った上で、認証データの送信に関するものは後から作業を行うことができ、より簡単に少ない作業工数で実施することができる。
【０２１１】
また、鍵データの更新タイミングを上記のように設定することで、後段制御部１８０での認証処理の際に、認証データと鍵データとの不一致によって復号化処理が実行不可となるおそれを更に低減し、認証処理の確度を向上することができる。
【０２１２】
なお、図１３では、鍵コマンドを送信する契機となる制御コマンド（ステップＳ７４での送信処理の対象となった制御コマンド）が実行された後、所定の周期としてα時間経過した後に、鍵コマンドが実行されている例を示したが、上記の所定の周期は時間に限定されず、所定クロック数や制御コマンドの所定送信回数等を用いてもよい。
また、鍵コマンドを送信する契機となる制御コマンドも、１種類の制御コマンドに限定する必要はなく、例えば、ＲＡＭクリア指定コマンドとデモ指定コマンドの２種類、或いは２種類以上の制御コマンドを契機とするように構成してもよい。また、鍵コマンドを送信する契機となる制御コマンドを、予め設定した取り決めに従って変更するように構成してもよい。
また、鍵コマンドを送信する契機となる制御コマンドが送信される度に認証データを逐次送信しなくてもよく、例えば、鍵コマンドを送信する契機となる制御コマンドが２回送信されたら１回だけ認証データ（および鍵コマンド）を送る等と構成してもよい。
【０２１３】
また、認証データの送信タイミングを設定するにあたって、鍵コマンドを送信する契機となる制御コマンドの書き込み信号を基準とし、当該書き込み信号の出力を検知してから、所定時間（β）遅延して、認証データの書き込みが開始されるように設定されている。しかしながら、本発明はこれに限定されず、例えば、鍵コマンドを送信する契機となる制御コマンドの書き込み信号を基準として、制御コマンドが所定回数送信された後に送信される制御コマンドの後や、所定クロック数経過した後に送信される制御コマンドの後などに、送信タイミングを設定することとしてもよい。
【０２１４】
また、鍵データの更新タイミングを設定するにあたって、認証データの送信と鍵コマンドの送信とが１回ずつ完了する度に新たな鍵データで認証データが生成されるように、鍵データの更新タイミングが設定されている。しかしながら、本発明はこれに限定されず、メインＣＰＵ１１０ａからの鍵データの読み出し信号に応答した認証情報生成部５００の鍵データの出力時点から、所定時間や所定クロック数が経過した後や、制御コマンドや認証データの送信回数が所定回数経過した後などに、更新タイミングを設定することとしてもよい。
【０２１５】
更新タイミングを認証データの所定送信回数経過後と設定した場合、その送信回数は、後段制御部１８０のＲＡＭ１８０ｃの認証データ記憶領域にて保持可能な認証データ数以下に抑えておけばよい。この場合、後段制御部１８０での復号化処理において、ＲＡＭ１８０ｃの認証データ用記憶領域および鍵データ用記憶領域から、認証データおよび鍵データを読み出す際には、両記憶領域に書き込まれた順番と両記憶領域から読み出す順番とが一致するように取り決めておく（いわゆる、先入れ先出し）。このように取り決めておけば、鍵コマンド受信時の直前に受信した認証データに対して復号化処理を施すことに限定されず、例えば、鍵コマンド受信時より所定回数前に受信した認証データに対して復号化処理を施すことができる。また、当該所定回数を示す情報や鍵データの更新状況を示した情報を鍵データとともに都度送信するように構成することもできる。
【０２１６】
［演出制御部の制御処理］
以下、本発明の実施形態１に係る遊技機１の演出制御部１２０の制御処理について説明する。まず、演出制御部１２０のメイン処理について説明する。
図１４は、本実施形態１に係る演出制御部１２０によるメイン処理を示すフローチャートである。
【０２１７】
ステップＳ１０００において、サブＣＰＵ１２０ａは、初期化処理を行う。この処理において、サブＣＰＵ１２０ａは、電源投入に応じて、サブＲＯＭ１２０ｂからメイン処理に関するプログラムコードを読み込む。これとともに、サブＣＰＵ１２０ａは、サブＲＡＭ１２０ｃに記憶されるフラグなどを初期化し、所定値に設定する処理を行う。この処理が終了した場合には、ステップＳ１２００へ処理を移す。
【０２１８】
ステップＳ１１００において、サブＣＰＵ１２０ａは、演出用乱数更新処理を行う。この処理において、サブＣＰＵ１２０ａは、サブＲＡＭ１２０ｃに記憶される演出用乱数値、演出図柄決定用乱数、演出モード決定用乱数等を更新する処理を行う。以降は、所定の割込処理が行われるまで、上記ステップＳ１１００の処理を繰り返し行う。
【０２１９】
次に、演出制御部１２０の割込処理について説明する。
図１５は、本実施形態１に係る演出制御部１２０による割込処理を示すフローチャートである。
サブＣＰＵ１２０ａは、演出制御部１２０に設けられたクロックパルス発生回路（図示せず）から出力されるクロック信号に基づいて、所定の周期（例えば２ミリ秒）ごとに、演出制御部１２０のタイマ割込処理を実行する。
【０２２０】
ステップＳ１２００において、サブＣＰＵ１２０ａは、サブＣＰＵ１２０ａのレジスタに記憶されている情報をスタック領域に退避させる。
ステップＳ１３００において、サブＣＰＵ１２０ａは、演出制御部１２０で用いられる各種タイマカウンタの更新処理を行う。
【０２２１】
ステップＳ１３５０において、サブＣＰＵ１２０ａは、中継送信処理を行う。この処理において、サブＣＰＵ１２０ａは、サブＲＡＭ１２０ｃの第１受信データ用記憶領域に記憶された制御コマンドや各種データ（以下、「制御コマンド等」という）を、後段制御部１８０へ一旦そのまま送信して、主制御部１１０から送信された制御コマンド等を後段制御部１８０へ中継する中継送信処理を行う。
演出制御部１２０を構成する受信部６６０では、主制御部１１０から送信された制御コマンド等を受信すると、主制御部１１０から制御コマンド等の受信割込要求があった旨を示す信号を出力し、制御コマンド等の受信割込処理を発生させる。
サブＣＰＵ１２０ａは、受信した制御コマンド等を、受信部６６０のデータ出力部６６１から第１受信データ用記憶領域へ取り込んで記憶する。
そして、サブＣＰＵ１２０ａは、本ステップＳ１３５０において、第１受信データ用記憶領域に記憶された制御コマンド等を、サブＲＡＭ１２０ｃの送信データ用記憶領域にそのまま書き込んでセットする。
【０２２２】
続いて、サブＣＰＵ１２０ａは、サブＲＡＭ１２０ｃの送信データ用記憶領域にセットされた制御コマンド等を送信データとして、演出制御部１２０を構成する中継送信部（図示せず）にて、後段制御部１８０へ直ちに送信させる。なお、サブＲＡＭ１２０ｃの第１受信データ用記憶領域に書き込まれた制御コマンド等を、サブＲＡＭ１２０ｃの送信データ用記憶領域に書き込む際には、これらの記憶領域に書き込まれた順番とこれらの記憶領域から読み出す順番とが一致するように予め取り決めておく。なお、このことは、後段制御部１８０から演出制御部１２０へ制御コマンド等を再び中継送信する場合も同様である。
【０２２３】
このようにすることで、主制御部１１０が演出制御部１２０に対して制御コマンド等を送信する際に設定した送信タイミングが、本ステップＳ１３５０における中継送信処理での各々の送信タイミングにも反映され、次ステップＳ１５００以降の処理の手順にも反映されることとなる。また、演出制御部１２０で受信した制御コマンド等を一旦そのまま後段制御部１８０へ送信することで、後段制御部１８０にて認証処理を開始するトリガとなる鍵コマンドは、他の制御コマンド等に紛れて後段制御部１８０へ送信されることとなる。よって、不正行為を働こうとする者が、演出制御部１２０と後段制御部１８０との間の送信データを窃取して、鍵コマンドの後段制御部１８０への送信タイミングを不正に解析することが困難となり、遊技機１のセキュリティ強度を向上することができる。
【０２２４】
ステップＳ１５００において、サブＣＰＵ１２０ａは、コマンド解析処理を行う。この処理において、サブＣＰＵ１２０ａは、サブＲＡＭ１２０ｃの第２受信データ用記憶領域に書き込まれた制御コマンドの種別を解析する処理を行う。
主制御部１１０から送信された制御コマンド等は、上記ステップＳ１３５０において、演出制御部１２０から後段制御部１８０へ中継送信される。その後、当該制御コマンド等は、演出制御部１２０から後段制御部１８０へ中継送信されたものと同一の送信順序で、後段制御部１８０から演出制御部１２０へ再び中継送信される。
演出制御部１２０を構成する図示しない受信部（受信部６６０とは異なる）では、後段制御部１８０から中継送信された制御コマンド等を受信すると、後段制御部１８０から制御コマンド等の受信割込要求があった旨を示す信号を出力し、制御コマンド等の受信割込処理を発生させる。
サブＣＰＵ１２０ａは、受信した制御コマンド等を、後段制御部１８０からの送信順序に従って第２受信データ用記憶領域に書き込んで記憶する。
そして、サブＣＰＵ１２０ａは、本ステップＳ１５００において、第２受信データ用記憶領域に記憶されたデータが制御コマンドであると判定されると、その種別を更に解析し、制御コマンドの種別に応じた処理を行う。なお、コマンド解析処理の詳細については後述する。
【０２２５】
ステップＳ１７００において、サブＣＰＵ１２０ａは、演出ボタン検出スイッチ３５ａの信号のチェックを行い、演出ボタン３５からの入力に関する演出用入力制御処理を行う。
ステップＳ１８００において、サブＣＰＵ１２０ａは、サブＲＡＭ１２０ｃの送信データ用記憶領域にセットされた制御コマンドや各種データを、ランプ制御部１４０や画像制御部１５０へ送信するための処理である演出用出力制御処理を行う。
ステップＳ１９００において、サブＣＰＵ１２０ａは、ステップＳ１２００で退避した情報をサブＣＰＵ１２０ａのレジスタに復帰させる。
【０２２６】
次に、演出制御部１２０のコマンド解析処理について説明する。
図１６および図１７は、本実施形態１に係る演出制御部１２０によるコマンド解析処理を示すフローチャートである。なお、図１７のコマンド解析処理２は、図１６のコマンド解析処理１に引き続いて行われるものである。
【０２２７】
ステップＳ１５０１において、サブＣＰＵ１２０ａは、第２受信データ用記憶領域に制御コマンドが記憶されているか否かを確認して、制御コマンドを受信したか否かを判定する。
サブＣＰＵ１２０ａは、第２受信データ用記憶領域に制御コマンドが記憶されていなければコマンド解析処理を終了し、第２受信データ用記憶領域に制御コマンドが記憶されていればステップＳ１５１０に処理を移す。
【０２２８】
ステップＳ１５１０において、サブＣＰＵ１２０ａは、第２受信データ用記憶領域に記憶されている制御コマンドが、デモ指定コマンドであるか否かを確認する。
サブＣＰＵ１２０ａは、第２受信データ用記憶領域に記憶されている制御コマンドがデモ指定コマンドであれば、ステップＳ１５１１に処理を移し、デモ指定コマンドでなければステップＳ１５２０に処理を移す。
【０２２９】
ステップＳ１５１１において、サブＣＰＵ１２０ａは、デモ演出パターンを決定するデモ演出パターン決定処理を行う。
具体的には、デモ演出パターンを決定し、決定したデモ演出パターンを演出パターン記憶領域にセットするとともに、決定したデモ演出パターンの情報を画像制御部１５０とランプ制御部１４０に送信するため、決定したデモ演出パターンに基づく演出パターン指定コマンドをサブＲＡＭ１２０ｃの送信データ用記憶領域にセットする。
【０２３０】
ステップＳ１５２０において、サブＣＰＵ１２０ａは、第２受信データ用記憶領域に記憶されている制御コマンドが、特別図柄記憶指定コマンドであるか否かを確認する。
サブＣＰＵ１２０ａは、第２受信データ用記憶領域に記憶されている制御コマンドが特別図柄記憶指定コマンドであれば、ステップＳ１５２１に処理を移し、特別図柄記憶指定コマンドでなければステップＳ１５３０に処理を移す。
【０２３１】
ステップＳ１５２１において、サブＣＰＵ１２０ａは、特別図柄記憶指定コマンドを解析して、液晶表示装置３１に表示させる特別図柄の保留画像（以下、「特図保留画像」という）の表示個数を決定するとともに、決定した特図保留画像の表示個数に対応する特図表示個数指定コマンドを画像制御部１５０とランプ制御部１４０に送信する特別図柄記憶数決定処理を行う。
【０２３２】
ステップＳ１５３０において、サブＣＰＵ１２０ａは、第２受信データ用記憶領域に記憶されている制御コマンドが、演出図柄指定コマンドであるか否かを確認する。
サブＣＰＵ１２０ａは、第２受信データ用記憶領域に記憶されている制御コマンドが演出図柄指定コマンドであれば、ステップＳ１５３１に処理を移し、演出図柄指定コマンドでなければステップＳ１５４０に処理を移す。
【０２３３】
ステップＳ１５３１において、サブＣＰＵ１２０ａは、受信した演出図柄指定コマンドの内容に基づいて、液晶表示装置３１に停止表示させる演出図柄３６を決定する演出図柄決定処理を行う。
具体的には、演出図柄指定コマンドを解析して、大当たりの有無、大当たりの種別に応じて演出図柄３６の組み合わせを構成する演出図柄データを決定し、決定された演出図柄データを演出図柄記憶領域にセットするとともに、演出図柄データを画像制御部１５０とランプ制御部１４０に送信するため、演出図柄データ示す停止図柄指定コマンドをサブＲＡＭ１２０ｃの送信データ用記憶領域にセットする。
【０２３４】
ステップＳ１５３２において、サブＣＰＵ１２０ａは、上記ステップ１１００において更新されている演出モード決定用乱数値から１つの乱数値を取得し、取得した演出モード決定用乱数値と受信した演出図柄指定コマンドに基づいて、複数の演出モード（例えば、ノーマル演出モードやチャンス演出モード）の中から１つの演出モードを決定する演出モード決定処理を行う。また、決定した演出モードは、演出モード記憶領域にセットされる。
【０２３５】
ステップＳ１５４０において、サブＣＰＵ１２０ａは、第２受信データ用記憶領域に記憶されている制御コマンドが、変動パターン指定コマンドであるか否かを確認する。
サブＣＰＵ１２０ａは、第２受信データ用記憶領域に記憶されている制御コマンドが変動パターン指定コマンドであれば、ステップＳ１５４１に処理を移し、変動パターン指定コマンドでなければステップＳ１５５０に処理を移す。
【０２３６】
ステップＳ１５４１において、サブＣＰＵ１２０ａは、上記ステップ１１００において更新されている演出用乱数値から１つの乱数値を取得し、取得した演出用乱数値、受信した変動パターン指定コマンドおよび演出モード記憶領域にセットされている演出モードに基づいて、複数の変動演出パターンの中から１つの変動演出パターンを決定する変動演出パターン決定処理を行う。
具体的には、ノーマル演出モードであれば、変動演出パターン決定テーブルを参照し、取得した演出用乱数値に基づいて１つの変動演出パターンを決定し、決定した変動演出パターンを演出パターン記憶領域にセットするとともに、決定した変動演出パターンの情報を画像制御部１５０とランプ制御部１４０に送信するため、決定した変動演出パターンに基づく演出パターン指定コマンドをサブＲＡＭ１２０ｃの送信データ用記憶領域にセットする。
その後、かかる演出パターンに基づいて、液晶表示装置３１、音声出力装置３２、演出用駆動装置３３、演出用照明装置３４が制御されることになる。なお、ここで決定した変動演出パターンに基づいて、演出図柄３６の変動態様が決定されることとなる。
【０２３７】
ステップＳ１５５０において、サブＣＰＵ１２０ａは、第２受信データ用記憶領域に記憶されている制御コマンドが、図柄確定コマンドであるか否かを確認する。
サブＣＰＵ１２０ａは、第２受信データ用記憶領域に記憶されている制御コマンドが図柄確定コマンドであれば、ステップＳ１５５１に処理を移し、図柄確定コマンドでなければステップＳ１５６０に処理を移す。
【０２３８】
ステップＳ１５５１において、サブＣＰＵ１２０ａは、演出図柄３６を停止表示させるために、演出図柄を停止表示させるための停止指定コマンドをサブＲＡＭ１２０ｃの送信データ用記憶領域にセットする演出図柄停止表示処理を行う。
【０２３９】
ステップＳ１５６０において、サブＣＰＵ１２０ａは、第２受信データ用記憶領域に記憶されている制御コマンドが、遊技状態指定コマンドであるか否かを判定する。
サブＣＰＵ１２０ａは、第２受信データ用記憶領域に記憶されている制御コマンドが遊技状態指定コマンドであればステップＳ１５６１に処理を移し、遊技状態指定コマンドでなければステップＳ１５７０に処理を移す。
【０２４０】
ステップＳ１５６１において、サブＣＰＵ１２０ａは、受信した遊技状態指定コマンドに基づいた遊技状態を示すデータをサブＲＡＭ１２０ｃにある遊技状態記憶領域にセットする。
【０２４１】
ステップＳ１５７０において、サブＣＰＵ１２０ａは、第２受信データ用記憶領域に記憶されている制御コマンドが、オープニング指定コマンドであるか否かを確認する。
サブＣＰＵ１２０ａは、第２受信データ用記憶領域に記憶されている制御コマンドがオープニング指定コマンドであればステップＳ１５７１に処理を移し、オープニング指定コマンドでなければステップＳ１５８０に処理を移す。
【０２４２】
ステップＳ１５７１において、サブＣＰＵ１２０ａは、当たり開始演出パターンを決定する当たり開始演出パターン決定処理を行う。
具体的には、オープニング指定コマンドに基づいて当たり開始演出パターンを決定し、決定した当たり開始演出パターンを演出パターン記憶領域にセットするとともに、決定した当たり開始演出パターンの情報を画像制御部１５０とランプ制御部１４０に送信するため、決定した当たり開始演出パターンに基づく演出パターン指定コマンドをサブＲＡＭ１２０ｃの送信データ用記憶領域にセットする。
【０２４３】
ステップＳ１５８０において、サブＣＰＵ１２０ａは、第２受信データ用記憶領域に記憶されている制御コマンドが、大入賞口開放指定コマンドであるか否かを確認する。
サブＣＰＵ１２０ａは、第２受信データ用記憶領域に記憶されている制御コマンドが大入賞口開放指定コマンドであればステップＳ１５８１に処理を移し、大入賞口開放指定コマンドでなければステップＳ１５９０に処理を移す。
【０２４４】
ステップＳ１５８１において、サブＣＰＵ１２０ａは、大当たり演出パターンを決定する大当たり演出パターン決定処理を行う。
具体的には、大入賞口開放指定コマンドに基づいて大当たり演出パターンを決定し、決定した大当たり演出パターンを演出パターン記憶領域にセットするとともに、決定した大当たり演出パターンの情報を画像制御部１５０とランプ制御部１４０に送信するため、決定した大当たり演出パターンに基づく演出パターン指定コマンドをサブＲＡＭ１２０ｃの送信データ用記憶領域にセットする。
【０２４５】
ステップＳ１５９０において、サブＣＰＵ１２０ａは、第２受信データ用記憶領域に記憶されている制御コマンドが、エンディング指定コマンドであるか否かを確認する。
サブＣＰＵ１２０ａは、第２受信データ用記憶領域に記憶されている制御コマンドがエンディング指定コマンドであればステップＳ１５９１に処理を移し、エンディング指定コマンドでなければステップＳ１６００へ処理を移す。
【０２４６】
ステップＳ１５９１において、サブＣＰＵ１２０ａは、当たり終了演出パターンを決定する当たり終了演出パターン決定処理を行う。
具体的には、エンディング指定コマンドに基づいて当たり終了演出パターンを決定し、決定した当たり終了演出パターンを演出パターン記憶領域にセットするとともに、決定した当たり終了演出パターンの情報を画像制御部１５０とランプ制御部１４０に送信するため、決定した当たり終了演出パターンに基づく演出パターン指定コマンドをサブＲＡＭ１２０ｃの送信データ用記憶領域にセットする。
【０２４７】
ステップＳ１６００において、サブＣＰＵ１２０ａは、第２受信データ用記憶領域に記憶されている制御コマンドが、鍵コマンドであるか否かを確認する。
サブＣＰＵ１２０ａは、第２受信データ用記憶領域に記憶されている制御コマンドが鍵コマンドであればステップＳ１６５０に処理を移し、鍵コマンドでなければコマンド解析処理を終了する。
ステップＳ１６５０において、サブＣＰＵ１２０ａは、認証結果データ解析処理を行う。後段制御部１８０から送信された鍵コマンドには、後述するように、後段制御部１８０において認証処理を行い生成された認証結果（認証結果データ）が付加されているが、サブＣＰＵ１２０ａは、本ステップＳ１６５０において、鍵コマンドに付加された認証結果データを抽出し、抽出した認証結果データの内容に応じて処理を行う。なお、後段制御部１８０での認証処理および認証結果データ解析処理については後述する。本処理を終了すると、コマンド解析処理が終了する。
【０２４８】
次に、演出制御部１２０の認証結果データ解析処理について説明する。
図１８は、本実施形態１に係る演出制御部１２０による認証結果データ解析処理を示すフローチャートである。
【０２４９】
ステップＳ１６６１において、サブＣＰＵ１２０ａは、第２受信データ用記憶領域に書き込まれている鍵コマンドに、認証結果データが付加されているか否かを判定する。そして、サブＣＰＵ１２０ａは、鍵コマンドに認証結果データが付加されていなければ認証結果データ解析処理を終了し、認証結果データが付加されていればステップＳ１６６２に処理を移す。
【０２５０】
ステップＳ１６６２において、サブＣＰＵ１２０ａは、鍵コマンドに付加された認証結果データを抽出し、ステップＳ１６６３に処理を移す。
ステップＳ１６６３において、サブＣＰＵ１２０ａは、抽出した認証結果データが、認証成功を示す結果であるか否かを判定する。そして、サブＣＰＵ１２０ａは、認証結果データが認証成功を示す結果である場合、今回の後段制御部１８０での認証処理において主制御部１１０に対する個体認証が成功し、遊技機１の正当性を認証することができたと判断し、認証結果データ解析処理を終了する。一方、サブＣＰＵ１２０ａは、認証結果データが認証不成功を示す結果である場合、今回の後段制御部１８０での認証処理において主制御部１１０に対する個体認証は不成功であり、遊技機１で不正行為が発生したおそれがあると判断し、ステップＳ１６６４へ進む。
【０２５１】
ステップＳ１６６４において、遊技機１で不正行為が発生したおそれがあると判断された場合、サブＣＰＵ１２０ａは、その旨を報知する為に報知信号を出力する。
【０２５２】
サブＣＰＵ１２０ａは、生成した報知信号を、例えば、ランプ制御部１４０や画像制御部１５０、あるいは遊技機１を管理するホールコンピュータ等へ送信する。ランプ制御部１４０や画像制御部１５０等は、受信した報知信号に基づいて、遊技機１で不正行為が発生したおそれがある旨を報知する演出を実行する。この演出は、例えば、液晶表示装置３１に通常出現しないキャラクタを出現させたり、通常出現するキャラクタを通常とは異なる方法で出現させるなどである。また、液晶表示装置３１の輝度を変えたり、色を変えたり、ランプ制御部１４０に対して所定のランプを表示制御するようにしてもよい。いずれにしても、遊技店の従業員が当該遊技機１の前を通過した際に、その状態に気付くようにしてあればよい。また、この演出は、顧客がその状態に気付かないような演出でもよく、また、顧客が容易に気付く演出であってもよい。顧客が容易に気付く演出にすれば、不正行為を効率的に抑止することができる。
【０２５３】
また、報知信号に、遊技機１の遊技状態や大当たりの種別に関する情報を含めてもよい。これらの情報に基づいて、遊技機１を管理するホールコンピュータ等によって不正行為が行われているか否かの判断を行ってもよい。例えば、「高確率遊技状態」は賞球が集中していても正常である場合がある。よって、高確率遊技状態中は、その他の状態とは異なる条件で不正行為のおそれがあるか否かについて判断するのがよい。また、遊技状態や大当たりの種別に関する情報は、報知信号に含めずに別信号として出力するようにしてもよい。この場合、従業員は、報知信号と遊技状態や大当たりの種別に関する情報の両方に基づいて、不正行為のおそれがあるか否かについて判断する。
【０２５４】
［後段制御部の制御処理］
以下、本発明の実施形態１に係る遊技機１の後段制御部１８０の制御処理について説明する。
図１９は、本実施形態１に係る後段制御部１８０によるメイン処理を示すフローチャートである。
【０２５５】
ステップＳ４０１０において、ＣＰＵ１８０ａは、初期化処理を行う。この処理において、ＣＰＵ１８０ａは、電源投入に応じて、ＲＯＭ１８０ｂからメイン処理に関するプログラムコードを読み込む。これとともに、ＣＰＵ１８０ａは、ＲＡＭ１８０ｃに記憶されるフラグなどを初期化し、所定値に設定する処理を行う。この処理が終了した場合には、ステップＳ４０２０へ処理を移す。
【０２５６】
ステップＳ４０２０において、ＣＰＵ１８０ａは、演出制御部１２０が中継送信する制御コマンド等を受信したか否かを判定する。
後段制御部１８０を構成する受信部（図示せず）は、演出制御部１２０から中継送信された制御コマンド等を受信すると、演出制御部１２０から制御コマンド等の受信割込要求があった旨を示す信号を出力し、制御コマンド等の受信割込処理を発生させる。
そして、ＣＰＵ１８０ａは、本ステップＳ４０２０において、受信部からの上記受信割込要求信号が入力されるまで待機し、受信部からの上記信号が入力されると、受信した制御コマンド等をＲＡＭ１８０ｃの受信データ用記憶領域へ取り込んで記憶する。
【０２５７】
その後、ＣＰＵ１８０ａは、ＲＡＭ１８０ｃの受信データ用記憶領域に記憶されたデータの内容を解析し、その内容に応じた処理を行う受信データ解析処理を行う。具体的には、次のステップＳ４０３０からステップＳ４０８０の処理である。
ステップＳ４０３０において、ＣＰＵ１８０ａは、受信データ用記憶領域に記憶されたデータが、鍵コマンドであるか否かを判定する。そして、ＣＰＵ１８０ａは、受信データ用記憶領域に記憶されているデータが鍵コマンドでなければステップＳ４０５０に処理を移し、受信データ用記憶領域記憶されているデータが鍵コマンドであればステップＳ４０４０に処理を移す。
ステップＳ４０４０において、ＣＰＵ１８０ａは、受信データ用記憶領域に記憶されている鍵コマンドを構成する鍵データをＲＡＭ１８０ｃの鍵データ用記憶領域に書き込んで記憶させ、ステップＳ４０９０に処理を移す。
【０２５８】
ステップＳ４０５０において、ＣＰＵ１８０ａは、受信データ記憶領域に記憶されているデータが、認証データであるか否かを判定する。この判定処理において、ＣＰＵ１８０ａは、認証データの送信タイミングが上記のように設定されることにより、主制御部１１０から演出制御部１２０を介して送信されたデータの受信順序だけで、受信データ用記憶領域に記憶されているデータが認証データであるか否かを容易に判定することができる。
そして、ＣＰＵ１８０ａは、受信データ用記憶領域に記憶されているデータが認証データでなければステップＳ４０７０に処理を移し、受信データ用記憶領域に記憶されているデータが認証データであればステップＳ４０６０に処理を移す。
ステップＳ４０６０において、ＣＰＵ１８０ａは、受信データ用記憶領域に記憶されている認証データをＲＡＭ１８０ｃの認証データ用記憶領域に書き込んで記憶させ、ステップＳ４０２０以降の処理を繰り返す。
【０２５９】
ステップＳ４０７０において、ＣＰＵ１８０ａは、中継送信処理を行う。この処理において、ＣＰＵ１８０ａは、受信データ用記憶領域に記憶されているデータ（鍵コマンドおよび認証データ以外のデータ）を演出制御部１２０へそのまま送信させ、演出制御部１２０から中継送信されたデータを、演出制御部１２０へ再び中継送信する。具体的には、ＣＰＵ１８０ａは、受信データ用記憶領域に記憶されているデータを、そのままＲＡＭ１８０ｃの送信データ用記憶領域に書き込んでセットし、ステップＳ４０８０へ進む。
ステップＳ４０８０において、ＣＰＵ１８０ａは、送信データ用記憶領域にセットされているデータを送信データとして、後段制御部１８０を構成する送信部（図示せず）にて、演出制御部１２０へ直ちに送信させ、ステップＳ４０２０以降の処理を繰り返す。
【０２６０】
その後、ＣＰＵ１８０ａは、ＲＡＭ１８０ｃの認証データ用記憶領域に記憶された認証データから検査値を抽出するとともに、予めＲＯＭ１８０ｂに記憶されている期待値と照合する。具体的には、次のステップＳ４０９０からステップＳ４１５０の処理である。
ステップＳ４０９０おいて、ＣＰＵ１８０ａは、ＲＡＭ１８０ｃの認証データ用記憶領域に、予め受信した認証データが記憶されているか否かを確認する。そして、ＣＰＵ１８０ａは、認証データ用記憶領域に認証データが記憶されていなければ、未だ認証処理が行える段階ではないとして、ステップＳ４０２０以降の処理を繰り返す。一方、ＣＰＵ１８０ａは、認証データ用記憶領域に認証データが記憶されていれば、ステップＳ４１００に処理を移す。
【０２６１】
ステップＳ４１００において、ＣＰＵ１８０ａは、鍵データ用記憶領域および認証データ用記憶領域から鍵データおよび認証データを読み出し、ステップＳ４１１０に処理を移す。なお、鍵データ用記憶領域および認証データ用記憶領域から鍵データおよび認証データを読み出す際には、両記憶領域に書き込まれた順番と両記憶領域から読み出す順番とが一致するように取り決めておく。これにより、認証データの生成に用いた鍵データと鍵コマンドを構成する鍵データとがより確実に一致し、鍵データと認証データの不一致によって復号化処理が実行不可となることを防止し、認証処理の確度を向上することができる。
【０２６２】
ステップＳ４１１０において、ＣＰＵ１８０ａは、読み出した鍵データと認証データとを用いて検査値を抽出する。具体的には、ＣＰＵ１８０ａは、認証データに対して鍵データを所定の復号化方式で演算する。復号化方式は、主制御部１１０との間で予め取り決められている。ＣＰＵ１８０ａは、この演算結果が検査値に相当すると認識し、ＲＡＭ１８０ｃの検査値用記憶領域に書き込んで記憶し、ステップＳ４１２０に処理を移す。
ステップＳ４１２０において、ＣＰＵ１８０ａは、ＲＯＭ１８０ｂの所定の記憶領域に予め記憶された期待値を読み出し、ステップＳ４１３０に処理を移す。
【０２６３】
ステップＳ４１３０において、ＣＰＵ１８０ａは、検査値用記憶領域から抽出した検査値を読み出し、検査値と期待値とが一致するか否かを判定する。そして、ＣＰＵ１８０ａは、検査値と期待値とが一致する場合、今回の認証処理において主制御部１１０に対する個体認証が成功し、遊技機１の正当性を認証することができたと判断し、ステップＳ４１４０に処理を移す。一方、ＣＰＵ１８０ａは、検査値と期待値とが一致しない場合、今回の認証処理において主制御部１１０に対する個体認証は不成功であり、遊技機１で不正行為や誤動作が発生したおそれがあると判断し、ステップＳ４１５０に処理を移す。
【０２６４】
ステップＳ４１４０において、ＣＰＵ１８０ａは、成功を示す認証結果データを生成し、ステップＳ４１６０に処理を移す。
ステップＳ４１５０において、ＣＰＵ１８０ａは、不成功を示す認証結果データを生成し、ステップＳ４１６０に処理を移す。
【０２６５】
その後、ＣＰＵ１８０ａは、今回の認証処理で得られた認証結果データを、今回の認証処理を開始するトリガとなった鍵コマンドを構成する鍵データに付加して鍵コマンドを生成し、演出制御部１２０へ送信する。具体的には、次のステップＳ４１６０からステップＳ４１９０の処理である。
ステップＳ４１６０において、ＣＰＵ１８０ａは、鍵データ用記憶領域に記憶されている鍵データを読み出し、ステップＳ４１７０に処理を移す。
ステップＳ４１７０において、ＣＰＵ１８０ａは、上記ステップＳ４１７０で読み出した鍵データに、上記ステップＳ４１４０またはステップＳ４１５０で得られた認証結果データを付加して認証結果データ付きの鍵コマンドを生成し、ステップＳ４１８０に処理を移す。
【０２６６】
ステップＳ４１８０において、ＣＰＵ１８０ａは、認証結果データ付きの鍵コマンドをＲＡＭ１８０ｃの送信データ用記憶領域に書き込んでセットし、ステップＳ４１９０に処理を移す。
ステップＳ４１９０において、ＣＰＵ１８０ａは、送信データ用記憶領域にセットされた認証結果データ付きの鍵コマンドを送信データとして、後段制御部１８０を構成する送信部にて、演出制御部１２０へ直ちに送信させる。その後、所定の割込処理があるまで待機し、ステップＳ４０２０以降の処理を繰り返す。
【０２６７】
後段制御部１８０が、認証結果データを演出制御部１２０へ送信する際に、認証結果データを受信した制御コマンド（上記では鍵コマンド）に付加して演出制御部１２０へ送信することで、認証結果データは、他の制御コマンドに紛れて演出制御部１２０へ送信されることとなる。よって、不正行為を働こうとする者が、演出制御部１２０と後段制御部１８０との間の送信データを窃取して、認証結果データの演出制御部１２０への送信タイミングを不正に解析することが困難となり、遊技機１のセキュリティ強度を向上することができる。
【０２６８】
なお、払出制御部１３０に対して後段制御部１８０が接続されている場合の認証処理は、演出制御部１２０に対して後段制御部１８０が接続されている場合の認証処理とほぼ同様の手順で行われるため説明を省略する。
【０２６９】
以上のように、本実施形態１では、認証情報生成部５００が、主制御部１１０の個体認証に必要な認証データを、プログラムコードに記述されたメインＣＰＵ１１０ａからの指示によらず、独自に保持するアルゴリズムに従って生成し、演出制御部１２０を介して後段制御部１８０へ自動的に送信している。また、認証データの復号化に必要な鍵データは、メインＣＰＵ１１０ａからの読み出し信号のみで認証情報生成部５００から出力され、演出制御部１２０を介して後段制御部１８０へ直ちに送信される。したがって、主制御部１１０に対する認証機能を有しながらも、認証機能を有することで増大する主制御部１１０のＣＰＵの処理負荷やコードサイズを最大限抑制することができ、遊技機１のセキュリティ強度の向上と処理速度の向上とを両立させることができる。
【０２７０】
また、本実施形態１では、認証情報生成部５００が暗号回路５０２を複数種類備えることで、認証情報生成部５００の認証データ生成機能を予め複数種類用意している。そして、どの認証データ生成機能によって認証データを生成するかは、主制御部１１０のブート処理時の初期値設定時以外ではアクセスされないメインＲＯＭ１１０ｂの特定の記憶領域に記憶されている認証パラメータの値に基づいて決定されている。よって、不正行為を働こうとする者が、主制御部１１０と演出制御部１２０や後段制御部１８０との間の送信データを窃取しても、認証データがどの生成機能で生成されたかを解析することができない。したがって、認証データの秘匿性を確保することができ、遊技機１のセキュリティ強度を向上させることができる。
【０２７１】
また、本実施形態１では、認証データ生成機能およびその選択情報としての認証パラメータを予め複数種類用意するものの、特定の認証パラメータのみを実装している。よって、ブート処理での認証パラメータの選択処理に伴うプログラムを新たに設ける必要がなく、プログラムのコードサイズを増大させることもない。また、遊技機メーカーが特定の認証データ生成機能だけを採用したい場合などであっても、所望の認証データ生成機能に対応した認証パラメータのみを実装すればよく、遊技機メーカーの嗜好や用途に柔軟に対応することができる。したがって、多様性に富んだ認証機能であっても比較的簡易に追加することができ、汎用性の高い認証機能を提供することができる。また、遊技機１の開発段階中で設計・検証作業等に使用する認証パラメータと、遊技機１の出荷前に実際に実装される認証パラメータとを変えることにより、最終的にどの認証パラメータが採用されたのかを知り得る者を限定することができ、認証データの秘匿性を更に向上させることができる。
【０２７２】
また、本実施形態１では、認証データの生成や送信に関する処理の制御は、認証情報生成部５００自身のアルゴリズムで定義すればよい。また、鍵コマンドの実行に関する処理の制御も、メインＣＰＵ１１０ａが実行する遊技処理用プログラムコードに１種類の制御コマンド（鍵コマンド）に対応するコードを追加するだけよい。具体的には、鍵データの読み出し信号に関するコードおよび鍵コマンドの書き込みに関するコードを追加するだけでよく、コードステップ数換算でそれぞれ僅か１命令分だけの追加で足りる。したがって、認証データおよび鍵コマンドの送信タイミングの設定や鍵データの更新タイミング等は、特定時間経過後や特定クロック数経過後など自由なタイミング設計が可能であり、ソフトウェア制御の拡張性や柔軟性も備えた認証機能を提供することができる。特に、鍵コマンドの送信タイミングや鍵データの更新タイミング等は、遊技機メーカーが最終的にカスタマイズすることで、遊技機１のセキュリティ強度は更に向上するとともに、多様性に富んだ認証機能を提供することができる。
これに加えて、メインＣＰＵ１１０ａが実行するプログラムコードには、上記鍵コマンドに関するコードを追加するだけでよい。したがって、メインＣＰＵ１１０ａが実行するプログラムコード全体にわたっての新たなタイミング設計を行う必要がないので、認証機能を追加する際の実装および検証作業を、より簡単に少ない作業工数で実施することができる。また、このことで認証機能を追加する際の設計自由度を高くすることができる。
【０２７３】
また、本実施形態１では、認証データの復号化処理や検査値と期待値との照合処理といった主制御部１１０の個体認証に係る処理の大部分は後段制御部１８０が実行する。よって、演出制御部１２０で認証処理が実行されるのは、後段制御部１８０へ制御コマンド等を中継送信する場合と、後段制御部１８０から認証結果データを受信した場合のみである。すなわち、認証処理を行うことによって演出制御部１２０のＣＰＵの処理負荷が増大するのは、制御コマンド等を中継送信するときと、認証結果データを受信したときのみであるため、演出制御部１２０の処理負荷が増大する割合を抑えることができる。また、演出制御部１２０が実行するプログラムコードには、中継送信処理に関するコードと、認証結果データ解析処理に関するコードを追加するだけでよい。したがって、演出制御部１２０が実行するプログラムコード全体にわたっての新たなタイミング設計を行う必要がないので、認証機能を追加する際の実装および検証作業を、より簡単に少ない作業工数で実施することができる。また、このことで認証機能を追加する際の設計自由度を高くすることができる。
【０２７４】
また、本実施形態１では、鍵コマンドの送信タイミングを、ＲＡＭクリア指定コマンドや電源復旧指定コマンドを基準に設定し、遊技機１の認証処理をリセット時に実行している。この場合、ＲＡＭクリア指定コマンドや電源復旧指定コマンドは、遊技機１の初期化処理を行う際に送信される。遊技機１の初期化処理は、遊技機１のメインの処理である遊技に係る処理とは異なる処理区分に分類される。したがって、本発明のように、遊技機１の初期化処理中に認証処理を組み込めば、遊技処理中に認証処理を組み込む場合と比較して、プログラム設計や実装および検証作業に要する作業工数を抑制することができる。すなわち、遊技機１の初期化処理中に認証処理を組み込むことによって、開発コストの低減や品質管理上のメリットを得ることができる。また、遊技機１の初期化処理中に認証処理を組み込めば、遊技機１が起動して直ぐに認証処理を行うため、遊技店が閉店した後に不正が行われた場合などであっても、顧客が入店する前に不正を検出することができる。よって、不正による被害が発生する危険性を低減することができる。
【０２７５】
また、鍵コマンドの送信タイミングを、デモ指定コマンドを基準に設定し、遊技機１の認証処理をデモ開始時に実行した場合、デモ指定コマンドは、遊技機１が非遊技状態、すなわち、遊技機１のメインの処理である遊技に係る処理が行われていない場合に送信されるので、認証処理による処理負荷の増大が遊技処理に影響を与えることがない。このため、主制御部１１０や演出制御部１２０が高度な処理能力を有していない場合や、遊技処理の処理負荷が大きい遊技機１であっても、認証処理機能を追加することができる。また、デモ指定コマンドは、顧客が遊技機１を操作する前に発行されるコマンドであるので、顧客が遊技機１を操作する前に不正行為を検出することができる。
【０２７６】
また、本実施形態１では、認証データ生成機能を複数種類備えるために、認証情報生成部５００に暗号回路５０２を複数種類設けることとしたが、本発明はこれに限定されず、暗号回路５０２の替わりに鍵データの初期値を複数種類設けるように構成することができる。例えば、認証情報生成部５００を構成する制御部５０１は、鍵データ決定処理に使用される乱数生成手段の乱数種を鍵データの初期値として予め複数種類用意するとともに、これに対応した認証パラメータを複数種類用意しておけばよい。また、鍵データの初期値だけではなく、鍵データ更新条件を複数種類用意することも考えられる。例えば、制御部５０１は、これらの場合、暗号回路５０２は複数種類設ける必要が無いため、比較的簡易な回路構成とすることができる。
【０２７７】
また、本実施形態１では、認証データの送信タイミングの基準として認証情報生成部５００が検知する対象を、メインＣＰＵ１１０ａが送信部５２０を構成するデータ入力部５２１へ制御コマンドを書き込む際の書き込み信号の出力としたが、本発明はこれに限定されず、制御コマンドそのものの出力や、データ入力部５２１に書き込みフラグが立てられたこととすることもできる。制御コマンドそのものの出力や、データ入力部５２１に書き込みフラグが立てられたことを検知するというのは、メインＣＰＵ１１０ａが制御コマンドをデータ入力部５２１へ出力が開始したタイミングや、出力が完了したタイミングを検知することであり、当該制御コマンドを演出制御部１２０へ送信せしめるための送信部５２０への送信指示を担う情報と捉える事ができる。この場合、認証情報生成部５００は、メインＣＰＵ１１０ａによる制御コマンドそのものの出力や、データ入力部５２１に書き込みフラグが立てられたことを検知し、この検知信号の入力を基準として、所定時間（β）経過後に、認証データをデータ入力部５２１へ書き込むこととなる。
【０２７８】
また、本実施形態１では、主制御部１１０において、認証データを先に送信した後に鍵コマンドを送信することとしたが、本発明はこれに限定されず、鍵コマンドを先に送信した後に認証データを送信することとしてもよい。このとき、後段制御部１８０にて、鍵コマンド受信時に復号化処理の対象となる認証データは、当該鍵コマンド受信時の直後に受信した認証データとなるが、復号化処理の際は先入れ先出しではなく後入れ先出しの取り決めを設定しておけばよい。また、後段制御部１８０での認証処理のトリガを、鍵コマンドの受信ではなく認証データの受信とするように構成することもできる。
【０２７９】
また、本実施形態１では、主制御部１１０では、検査値を暗号化して認証データを生成し、演出制御部１２０を介して後段制御部１８０へ送信し、後段制御部１８０では、認証データに復号化して検査値を抽出し認証処理を行っている。そして、後段制御部１８０は、得られた認証結果に対して特に暗号化処理を施さずに、認証結果データとして演出制御部１２０へ送信している。しかしながら、本発明は、これに限定されず、認証結果データは、得られた認証結果に対して暗号化処理を施したものを認証結果データとして演出制御部１２０へ送信してもよい。なお、認証データおよび認証結果データの双方とも暗号化処理が施されたものを用いる場合、後段制御部１８０は、受信した認証データの復号化処理に用いた鍵データと、生成する認証結果データの暗号化処理に用いる鍵データとは同じものを使用すればよい。すなわち、後段制御部１８０は、主制御部１１０から送信された鍵コマンドを構成する鍵データを用いて認証データを復号化した後、得られた認証結果に対して当該鍵データで暗号化処理を施して認証結果データを生成すればよい。
【０２８０】
また、このような場合、本実施形態１では、演出制御部１２０に対して後段制御部１８０を接続させているで、主制御部１１０を構成するメインＣＰＵ１１０ａと演出制御部２０３を構成するサブＣＰＵ１２０ａとの間の処理能力の差異や、主制御部１１０を構成するメインＲＯＭ１１０ｂやメインＲＡＭ１１０ｃと演出制御部１２０を構成するサブＲＯＭ１２０ｂやサブＲＡＭ１２０ｃとの間の記憶容量の差異を、後段制御部１８０において吸収することができる。これにより、主制御部１１０と演出制御部１２０との間で処理能力や記憶容量に差異がある場合でも、主制御部１１０と演出制御部１２０との間のセキュリティ強度を維持することができる。
【０２８１】
すなわち、例えば、メインＣＰＵ１１０ａの処理能力やメインＲＯＭ１１０ｂやメインＲＡＭ１１０ｃの記憶容量が、サブＣＰＵ１２０ａの処理能力やサブＲＯＭ１２０ｂやＲＡＭ１２０ｃの記憶容量と比較して余裕がある場合、主制御部１１０は、検査値に対して複雑な暗号化処理を施して認証データを生成し演出制御部１２０を介して後段制御部１８０へ送信する。後段制御部１８０は、受信した認証データを用いて認証処理を行い、得られた認証結果に対して比較的簡易な暗号化処理を施して（または認証結果そのもので）認証結果データを生成し演出制御部１２０へ送信する。演出制御部１２０は、受信した認証結果データに対して比較的簡易な復号化処理を施して（または認証結果データそのもので）認証処理を行うことができる。このように構成することにより、演出制御部１２０において複雑な復号化方式を採用しなくても、遊技機１として高いセキュリティ強度を維持することができる。
【０２８２】
また、例えば、サブＣＰＵ１２０ａの処理能力やサブＲＯＭ１２０ｂやサブＲＡＭ１２０ｃの記憶容量が、メインＣＰＵ１１０ａの処理能力やメインＲＯＭ１１０ｂやメインＲＡＭ１１０ｃの記憶容量と比較して余裕がある場合、主制御部１１０は、検査値に対して比較的簡易な暗号化処理を施して（または検査値そのもので）認証データを生成し演出制御部１２０を介して後段制御部１８０へ送信する。後段制御部１８０は、受信した認証データを用いて認証処理を行い、得られた認証結果に対して複雑な暗号化処理を施して認証結果データを生成し演出制御部１２０へ送信する。演出制御部１２０は、受信した認証結果データに対して複雑な復号化処理を施して認証処理を行うこととなる。このように構成することにより、主制御部１１０において複雑な暗号化方式を採用しなくても、遊技機１として高いセキュリティ強度を維持することができる。
【０２８３】
＜実施形態２＞
以下、本発明の実施形態２に係る遊技機１について説明する。
本実施形態２は、演出制御部１２０における後段制御部１８０への制御コマンド等の中継送信処理の内容が実施形態１と異なる。具体的には、実施形態１では、演出制御部１２０は、主制御部１１０から送信された制御コマンド等を、後段制御部１８０へ一旦そのまま中継送信する。また、後段制御部１８０は、鍵コマンドおよび認証データ以外の制御コマンド等を、演出制御部１２０へ再びそのまま中継送信するとともに、鍵コマンドおよび認証データを用いて認証処理を実行後、認証結果データを生成して鍵コマンドに付加し、演出制御部１２０へ送信する。一方、実施形態２では、演出制御部１２０は、主制御部１０から送信された制御コマンド等のうち、鍵コマンドおよび認証データのみ後段制御部１８０へそのまま中継送信し、後段制御部１８０は、認証処理を実行後、認証結果データのみ演出制御部１２０へ送信する。
【０２８４】
本実施形態２では、上記以外の点は、基本的に実施形態１と同様であるため、実施形態１の遊技機１と同一の部材や処理ステップには、同一の符号を付してその説明は省略し、相違点についてのみ説明することとする。
【０２８５】
以下、本発明の実施形態２に係る遊技機１の演出制御部１２０の制御処理について説明する。まず、演出制御部１２０の割込処理について説明する。
図２０は、本実施形態２に係る演出制御部１２０による割込処理を示すフローチャートである。
【０２８６】
ステップＳ１２００において、サブＣＰＵ１２０ａは、サブＣＰＵ１２０ａのレジスタに記憶されている情報をスタック領域に退避させる。
ステップＳ１３００において、サブＣＰＵ１２０ａは、演出制御部１２０で用いられる各種タイマカウンタの更新処理を行う。
【０２８７】
ステップＳ１３００の後、サブＣＰＵ１２０ａは、後段制御部１８０への中継送信処理（図１５のステップＳ１３５０）は行わず、ステップＳ１４００へ進む。演出制御部１２０では、主制御部１１０から送信された制御コマンド等を受信すると、制御コマンド等の受信割込処理が発生し、サブＣＰＵ１２０ａは、受信した制御コマンド等をサブＲＡＭ１２０ｃの第１受信データ用記憶領域に書き込んで記憶する。第１受信データ用記憶領域に、主制御部１１０から送信された制御コマンド等が記憶された場合、実施形態１では、サブＣＰＵ１２０ａは、第１受信データ用記憶領域に記憶された制御コマンド等を、サブＲＡＭ１２０ｃの送信データ用記憶領域にそのまま書き込んでセットし、送信データとして後段制御部１８０へ送信する。
【０２８８】
一方、本実施形態２では、サブＣＰＵ１２０ａは、第１受信データ用記憶領域に書き込まれた制御コマンド等を、送信データ用記憶領域に書き込んで後段制御部１８０へ送信させず、ステップＳ１４００やステップＳ１５００において認証データ解析処理やコマンド解析処理を行う。すなわち、ステップＳ１５００のコマンド解析処理の対象となる制御コマンドは、実施形態１では、図１５のステップＳ１３５０において後段制御部１８０へ中継送信後、後段制御部１８０から演出制御部１２０へ再び中継送信されてきたものであるのに対し、実施形態２では、主制御部１１０から演出制御部１２０へ直接送信されたものとなる。
【０２８９】
ステップＳ１４００において、サブＣＰＵ１２０ａは、認証データ解析処理を行う。この処理において、サブＣＰＵ１２０ａは、第１受信データ用記憶領域に書き込まれたデータが、認証データであるか否かを判定する解析処理を行う。なお、認証データ解析処理の詳細については後述する。
ステップＳ１５００において、サブＣＰＵ１２０ａは、コマンド解析処理を行う。実施形態２でのコマンド解析処理の内容は、図１６および図１７で示した実施形態１でのコマンド解析処理の内容と基本的に同様である。但し、後述するように鍵コマンドを受信した後の処理内容が異なる。
【０２９０】
ステップＳ１６５０において、サブＣＰＵ１２０ａは、認証結果データ解析処理を行う。この処理において、サブＣＰＵ１２０ａは、第２受信データ用記憶領域に書き込まれた認証結果データの内容を解析する処理を行う。演出制御部１２０では、後段制御部１８０から送信された認証結果データを受信すると、認証結果データの受信割込処理が発生し、サブＣＰＵ１２０ａは、受信した認証結果データを第２受信データ用記憶領域に書き込んで記憶する。その後、本ステップＳ１６５０において、第２受信データ用記憶領域に記憶された認証結果データの内容を解析し、認証結果が示す内容に応じた処理を実行する。なお、認証結果データ解析処理の詳細については後述する。
【０２９１】
ステップＳ１７００において、サブＣＰＵ１２０ａは、演出ボタン検出スイッチ３５ａの信号のチェックを行い、演出ボタン３５からの入力に関する演出用入力制御処理を行う。
ステップＳ１８００において、サブＣＰＵ１２０ａは、サブＲＡＭ１２０ｃの送信データ用記憶領域にセットされた制御コマンドや各種データを、ランプ制御部１４０や画像制御部１５０へ送信するための処理である演出用出力制御処理を行う。
ステップＳ１９００において、サブＣＰＵ１２０ａは、ステップＳ１２００で退避した情報をサブＣＰＵ１２０ａのレジスタに復帰させる。
【０２９２】
次に、演出制御部１２０の認証データ解析処理について説明する。
図２１は、本実施形態２に係る演出制御部１２０による認証データ解析処理を示すフローチャートである。
【０２９３】
ステップＳ１４０１において、サブＣＰＵ１２０ａは、第１受信データ用記憶領域に制御コマンド等が記憶されているか否かを確認して、制御コマンド等を受信したか否かを判定する。
サブＣＰＵ１２０ａは、第１受信データ用記憶領域に制御コマンド等が記憶されていなければ認証データ解析処理を終了し、第１受信データ用記憶領域に制御コマンド等が記憶されていればステップＳ１４１０に処理を移す。
【０２９４】
ステップＳ１４１０において、サブＣＰＵ１２０ａは、第１受信データ用記憶領域に書き込まれたデータの内容を解析する。具体的には、サブＣＰＵ１２０ａは、第１受信データ用記憶領域に記憶されているデータが、認証データであるか否かを判定する。この判定処理において、サブＣＰＵ１２０ａは、認証データの送信タイミングが実施形態１で示したように設定されることにより、主制御部１１０から送信されたデータの受信順序だけで、第１受信データ用記憶領域に記憶されているデータが認証データであるか否かを容易に判定することができる。
そして、サブＣＰＵ１２０ａは、第１受信データ用記憶領域に記憶されているデータが認証データでなければ認証データ解析処理を終了し、第１受信データ用記憶領域に記憶されているデータが認証データであればステップＳ１４５０に処理を移す。
ステップＳ１４５０において、サブＣＰＵ１２０ａは、第１受信データ用記憶領域に記憶されたデータを、サブＲＡＭ１２０ｃの送信データ用記憶領域にそのまま書き込んでセットし、ステップＳ１４６０に処理を移す。
ステップＳ１４６０において、サブＣＰＵ１２０ａは、送信データ用記憶領域にセットされているデータを送信データとして、演出制御部１２０を構成する中継送信部にて、後段制御部１８０へ直ちに送信させ、認証データ解析処理を終了する。
【０２９５】
次に、演出制御部１２０のコマンド解析処理について説明する。
本実施形態２でのコマンド解析処理の処理内容は、実施形態１のコマンド解析処理のうちの、図１６のステップＳ１５０１から図１７のステップＳ１５９１までの処理内容と同様であるため説明を省略する。
図２２は、本実施形態２に係る演出制御部１２０によるコマンド解析処理２を示すフローチャートである。
【０２９６】
ステップＳ１６００において、サブＣＰＵ１２０ａは、第１受信データ用記憶領域に記憶されている制御コマンドが、鍵コマンドであるか否かを確認する。
サブＣＰＵ１２０ａは、第１受信データ用記憶領域に記憶されている制御コマンドが鍵コマンドであればステップＳ１６０１へ処理を移し、鍵コマンドでなければコマンド解析処理を終了する。
ステップＳ１６０１において、サブＣＰＵ１２０ａは、主制御部１１０から送信された鍵コマンドを後段制御部１８０へそのまま中継送信する鍵コマンド中継送信処理を行い、コマンド解析処理を終了する。具体的には、サブＣＰＵ１２０ａは、第１受信データ用記憶領域に書き込まれた鍵コマンドを、サブＲＡＭ１２０ｃの送信データ用記憶領域にそのまま書き込んで送信データとし、演出制御部１２０を構成する中継送信部にて、後段制御部１８０へ直ちに送信させる。すなわち、本実施形態２では、主制御部１１０から送信された制御コマンドが鍵コマンドである場合のみ、制御コマンドが後段制御部１８０へ送信されることとなる。
【０２９７】
次に、演出制御部１２０の認証結果データ解析処理について説明する。
図２３は、本実施形態２に係る演出制御部１２０による認証結果データ解析処理を示すフローチャートである。
【０２９８】
ステップＳ１６５１において、サブＣＰＵ１２０ａは、認証結果データを受信したか否かを判定する。具体的には、サブＣＰＵ１２０ａは、サブＲＡＭ１２０ｃの第２受信データ用記憶領域に記憶されたデータが認証結果データであるか否かを確認して、認証結果データを受信したか否かを判定する。そして、サブＣＰＵ１２０ａは、第２受信データ用記憶領域に認証結果データが記憶されていなければ認証結果データ解析処理を終了し、第２受信データ用記憶領域に認証結果データが記憶されていれば、ステップＳ１６５２に処理を移す。
【０２９９】
ステップＳ１６５２において、サブＣＰＵ１２０ａは、受信した認証結果データが、認証成功を示す結果であるか否かを判定する。サブＣＰＵ１２０ａは、認証結果データが認証成功を示す結果である場合、今回の後段制御部１８０での認証処理において主制御部１１０に対する個体認証が成功し、遊技機１の正当性を認証することができたと判断し、認証結果データ解析処理を終了する。一方、サブＣＰＵ１２０ａは、認証結果データが認証不成功を示す結果である場合、今回の後段制御部１８０での認証処理において主制御部１０に対する個体認証は不成功であり、遊技機１で不正行為が発生したおそれがあると判断し、ステップＳ１６５３に処理を移す。
【０３００】
ステップＳ１６５３において、遊技機１で不正行為が発生したおそれがあると判断された場合、サブＣＰＵ１２０ａは、その旨を報知する為に報知信号を出力する。なお、報知処理は実施形態１と同様であるため説明を省略する。
【０３０１】
以下、本発明の実施形態２に係る遊技機１の後段制御部１８０の制御処理について説明する。
図２４は、本実施形態２に係る後段制御部１８０によるメイン処理を示すフローチャートである。
【０３０２】
ステップＳ４３１０において、ＣＰＵ１８０ａは、初期化処理を行い、ステップＳ４３２０へ処理を移す。初期化処理は実施形態１と同様であるため説明を省略する。
ステップＳ４３２０において、ＣＰＵ１８０ａは、演出制御部１２０が中継送信する鍵コマンドまたは認証データを受信したか否かを判定する。
後段制御部１８０を構成する受信部は、演出制御部１２０から中継送信された鍵コマンドまたは認証データを受信すると、これらの受信割込処理を発生させる。
そして、ＣＰＵ１８０ａは、本ステップＳ４３２０において、受信部からの上記受信割込要求信号が入力されるまで待機し、受信部からの上記信号が入力されると、受信した鍵コマンドまたは認証データをＲＡＭ１８０ｃの受信データ用記憶領域へ取り込んで記憶する。
【０３０３】
その後、ＣＰＵ１８０ａは、ＲＡＭ１８０ｃの受信データ用記憶領域に記憶されたデータの内容を解析し、その内容に応じた処理を行う受信データ解析処理を行う。具体的には、次のステップＳ４３３０からステップＳ４３５０の処理である。
ステップＳ４３３０において、ＣＰＵ１８０ａは、受信データ用記憶領域に記憶されたデータが、鍵コマンドであるか否かを判定する。そして、ＣＰＵ１８０ａは、受信データ用記憶領域に記憶されたデータが鍵コマンドでなければ、受信データ用記憶領域に記憶されたデータは、認証データであると認識し、ステップＳ４３５０に処理を移す。一方、ＣＰＵ１８０ａは、受信データ用記憶領域に記憶されたデータが鍵コマンドであれば、ステップＳ４３４０に処理を移す。
【０３０４】
ステップＳ４３４０において、ＣＰＵ１８０ａは、受信データ用記憶領域に記憶されている鍵コマンドを構成する鍵データをＲＡＭ１８０ｃの鍵データ用記憶領域に書き込んで記憶させ、ステップＳ４３６０に処理を移す。
ステップＳ４３５０において、ＣＰＵ１８０ａは、受信データ記憶領域に記憶されている認証データをＲＡＭ１８０ｃの認証データ用記憶領域に書き込んで記憶させ、ステップＳ４３２０以降の処理を繰り返す。
【０３０５】
その後、ＣＰＵ１８０ａは、ＲＡＭ１８０ｃの認証データ用記憶領域に記憶された認証データから検査値を抽出するとともに、予めＲＯＭ１８０ｂに記憶されている期待値と照合する。具体的には、次のステップＳ４３６０からステップＳ４４２０の処理である。
ステップＳ４３６０おいて、ＣＰＵ１８０ａは、ＲＡＭ１８０ｃの認証データ用記憶領域に、予め受信した認証データが記憶されているか否かを確認する。そして、ＣＰＵ１８０ａは、認証データ用記憶領域に認証データが記憶されていなければ、未だ認証処理が行える段階ではないとして、ステップＳ４３２０以降の処理を繰り返す。一方、ＣＰＵ１８０ａは、認証データ用記憶領域に認証データが記憶されていれば、ステップＳ４３７０に処理を移す。
【０３０６】
ステップＳ４３７０において、ＣＰＵ１８０ａは、鍵データ用記憶領域および認証データ用記憶領域から鍵データおよび認証データを読み出し、ステップＳ４３８０に処理を移す。
ステップＳ４３８０において、ＣＰＵ１８０ａは、読み出した鍵データと認証データとを用いて検査値を抽出する。具体的には、ＣＰＵ１８０ａは、認証データに対して鍵データを、主制御部１１０との間で予め取り決められた復号化方式で演算し、演算結果をＲＡＭ１８０ｃの検査値用記憶領域に書き込んで記憶し、ステップＳ４３９０に処理を移す。
ステップＳ４３９０において、ＣＰＵ１８０ａは、ＲＯＭ１８０ｂの所定の記憶領域に予め記憶された期待値を読み出し、ステップＳ４４００に処理を移す。
【０３０７】
ステップＳ４４００において、ＣＰＵ１８０ａは、検査値用記憶領域から抽出した検査値を読み出し、検査値と期待値とが一致するか否かを判定する。そして、ＣＰＵ１８０ａは、検査値と期待値とが一致する場合、今回の認証処理において主制御部１１０に対する個体認証が成功し、遊技機１の正当性を認証することができたと判断し、ステップＳ４４１０に処理を移す。一方、ＣＰＵ１８０ａは、検査値と期待値とが一致しない場合、今回の認証処理において主制御部１１０に対する個体認証は不成功であり、遊技機１で不正行為や誤動作が発生したおそれがあると判断し、ステップＳ４４２０に処理を移す。
【０３０８】
ステップＳ４４１０において、ＣＰＵ１８０ａは、成功を示す認証結果データを生成し、ステップＳ４４３０に処理を移す。
ステップＳ４４２０において、ＣＰＵ１８０ａは、不成功を示す認証結果データを生成し、ステップＳ４４３０に処理を移す。
【０３０９】
その後、ＣＰＵ１８０ａは、今回の認証処理で得られた認証結果データを、演出制御部１２０へ送信する。具体的には、次のステップＳ４４３０からステップＳ４４４０の処理である。
ステップＳ４４３０において、ＣＰＵ１８０ａは、上記ステップＳ４４１０またはステップＳ４４２０で得られた認証結果データを、ＲＡＭ１８０ｃの送信データ用記憶領域に書き込んでセットし、ステップＳ４４４０に処理を移す。
ステップＳ４４４０において、ＣＰＵ１８０ａは、送信データ用記憶領域にセットされた認証結果データを送信データとして、後段制御部１８０を構成する送信部にて、演出制御部１２０へ直ちに送信させる。その後、所定の割込処理があるまで待機し、ステップＳ４３２０以降の処理を繰り返す。
【０３１０】
本実施形態２では、演出制御部１２０は、主制御部１１０から鍵コマンドおよび認証データを受信した場合のみ、受信したデータを後段制御部１８０へ中継送信している。よって、演出制御部１２０は、後段制御部１８０から認証結果データが送信されるまで、少なくとも遊技機１で不正行為が検知されていないとみなして、主制御部１１０より送信された制御コマンドに基づいて通常の遊技処理を実行することとなり、仮に後段制御部１８０に故障等の不測の事態が発生しても、遊技処理に直接影響を与えることない。また、本実施形態２では、後段制御部１８０は、認証結果の如何に拘わらず常に認証結果データを演出制御部１２０へ送信しなくともよく、例えば、認証不成功の場合のみ認証結果データを演出制御部１２０へ送信するように構成することもできる。この場合、演出制御部１２０は、後段制御部１８０からの不成功を示す認証結果データを受信したか否かだけを確認していれば、不正行為等の発生を検知し、その旨を報知することができる。
【０３１１】
なお、本実施形態２では、後段制御部１８０は、認証結果データを演出制御部１２０へ送信する際に、認証結果データそのもの送信していたが、受信した鍵コマンドに付加して演出制御部１２０へ送信してもよい。同様に、実施形態１でも、後段制御部１８０は、認証結果データを演出制御部１２０へ送信する際に、受信した鍵コマンドに付加して送信していたが、認証結果データそのものを演出制御部１２０へ送信するように構成することもできる。
【０３１２】
本実施形態２では、実施形態２特有の構成による効果以外でも、実施形態１により得られる効果も当然に得られる。
また、上記各実施形態に係る遊技機１では、後段制御部１８０をＣＰＵ、ＲＯＭ、ＲＡＭ等を備えて構成しているが、同様の機能をＬＳＩ等の集積回路として実現するように構成してもよい。
また、上記各実施形態では、本発明をパチンコ遊技機に適用する例を示したが、これに限定されず、本発明は、雀球遊技機、アレンジボール等のパチンコ遊技機以外の弾球遊技機、スロットマシン等の回胴式遊技機などの他の遊技機にも適用することができる。これらの遊技機においても、本実施形態と同様に構成することにより、本実施形態と同様の効果を得ることができる。また、本実施形態は、その目的および構成等に特に矛盾や問題がない限り、互いの技術を流用することができる。
【符号の説明】
【０３１３】
１          遊技機
１１０      主制御部
１１０ａ    メインＣＰＵ
１１０ｂ    メインＲＯＭ
１１０ｃ    メインＲＡＭ
１１０ｄ    ブートＲＯＭ
１１０ｍ    ワンチップマイコン
１２０      演出制御部
１２０ａ    サブＣＰＵ
１２０ｂ    サブＲＯＭ
１２０ｃ    サブＲＡＭ
１３０      払出制御部
１４０      ランプ制御部
１５０      画像制御部
１６０      発射制御部
１７０      電源部
１８０      後段制御部
１８０ａ    ＣＰＵ
１８０ｂ    ＲＯＭ
１８０ｃ    ＲＡＭ
５００      認証情報生成部
５０１      制御部
５０２      暗号回路
５０３      データ入力部
５０４      データ出力部
５２０      送信部
５２１      データ入力部
５２２      送信回路
５５０      内部バス
６６０      受信部
６６１      データ出力部
６６２      受信回路
【図１】
2012070845.tif 000003
【図２】
2012070845.tif 000004
【図３】
2012070845.tif 000005
【図４】
2012070845.tif 000006
【図５】
2012070845.tif 000007
【図６】
2012070845.tif 000008
【図７】
2012070845.tif 000009
【図８】
2012070845.tif 000010
【図９】
2012070845.tif 000011
【図１０】
2012070845.tif 000012
【図１１】
2012070845.tif 000013
【図１２】
2012070845.tif 000014
【図１３】
2012070845.tif 000015
【図１４】
2012070845.tif 000016
【図１５】
2012070845.tif 000017
【図１６】
2012070845.tif 000018
【図１７】
2012070845.tif 000019
【図１８】
2012070845.tif 000020
【図１９】
2012070845.tif 000021
【図２０】
2012070845.tif 000022
【図２１】
2012070845.tif 000023
【図２２】
2012070845.tif 000024
【図２３】
2012070845.tif 000025
【図２４】
2012070845.tif 000026