説明

遊技機

【課題】遊技機の主制御部に対する不正行為を検知すると共に主制御部の処理負荷を軽減する。
【解決手段】主制御部110と中間制御部180と周辺部300とを備えた遊技機1であって、主制御部110は、所定の遊技情報および遊技機の初期設定情報が記憶されているメインROM110bと、遊技情報に従って演算を行うメインCPU110aと、メインROM110bから読み出した検査値を、複数種類の暗号回路502のうちの特定の暗号回路502で暗号化し、認証情報を生成する認証情報生成部500と、中間制御部180へ制御情報を送信する第1送信部520aと、認証情報を送信する第2送信部520bと、を備える。メインCPU110aは、ブート処理時に初期設定情報の一つとして認証情報生成部500が有する複数の暗号回路502のいずれかを選択し、認証情報生成部500は、選択された暗号回路502を用いて認証情報を生成する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、パチンコ店等の遊技店に設置されるパチンコ遊技機、雀球遊技機、アレンジボール等の弾球遊技機、スロットマシン等の回胴式遊技機などの遊技機に関する。
【背景技術】
【0002】
遊技機に対し行われる、メダルや遊技球など(以下、「遊技媒体」という)を遊技内容とは無関係に強制的に払い出させる不正行為のうち、遊技進行に伴う基本動作を制御する主制御部が搭載された主制御基板や、主制御部からの制御命令情報(以下、「制御コマンド」という)に基づき演出処理等を実行する周辺部が搭載された周辺基板に関するものとして、例えば以下に示すものがある。
(1)正規な主制御基板と不正な主制御基板との交換
(2)主制御基板に搭載されたCPUが実行する正規なプログラムが記憶されたROMと上記プログラムを改ざんした不正なプログラムが記憶されたROMとの交換
(3)主制御基板と周辺基板との間に不正な基板(なりすまし基板)を設け、かつ上記(2)のROMの交換
【0003】
このような不正行為を防止するため、従来の遊技機には、次のようなものがあった。
例えば、特許文献1に記載の遊技機は、主制御装置(主制御部)は、第1鍵データを記憶する第1の記憶手段と、図柄制御部の動作を制御するための制御データ(制御コマンド)に対し第1鍵データに対応する暗号化を行う暗号化手段と、予め定めたタイミングに第1鍵データを変更する第1鍵変更手段とを備えている。図柄制御部(周辺部)は、第2鍵データを記憶する第2の記憶手段と、主制御部から受信した暗号データに対して第2鍵データに対応する処理を行うことにより、受信した暗号データの正当性を判定し、正当である場合に当該暗号データを認証する認証手段と、第1鍵データの変更タイミングに合致するように予め定められたタイミングに、第2鍵データを第1鍵データに対応するように変更する第2鍵変更手段とを備えている。この遊技機は、主制御部も周辺部も高度で複雑な暗号化処理および認証処理を行うことで、上記不正行為を防止している。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2002−210194号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1に記載の遊技機では、主制御部や周辺部を構成するCPUに、既存の遊技に係る処理以外に認証処理を実行させる場合、CPUの処理負荷が増大するため処理速度が低下するという問題がある。また、主制御部や周辺部のCPUが実行すべきプログラムを記述したプログラムコードに認証機能を追加する場合、そのコードサイズが増大するという問題や、新たなプログラム設計およびその検証には多大の時間と労力を要するため作業工数が増大するという問題がある。また、CPUの処理負荷やコードサイズの増大を抑制するためには、上記プログラムコードに認証機能を追加する際、比較的簡易な認証機能を採用せざるを得ず、認証機能のコード自体の設計自由度は低い。
【0006】
また、認証機能をプログラムコードに追加するのではなく、ハードウェアで実現しようとする場合、処理速度の低下やコードサイズの増大は抑制できても、ハードウェアの特性上、追加した認証機能の具体的な処理内容は固定化し、不正に解析され易くなるのは勿論、仮に不正に解析されると、その認証機能を追加した遊技機は全て不正行為を防止できない。また、処理内容が固定化すると、処理内容を遊技機メーカー毎や機種毎に異ならせることができず、追加した認証機能は多様性に乏しいものとなってしまう。一方、処理内容を遊技機メーカー毎や機種毎に異ならせたものを、都度製造することは膨大な負担を招き現実的ではない。したがって、多様性に富んだ実効性のある認証機能を比較的簡易に追加したいという要求に応えることができない。
【0007】
このように、従来の遊技機では、上記不正行為を防止すべく認証機能を追加し、セキュリティ強度の向上を図ることと、主制御部のCPUの処理負荷を低減し処理速度の向上を図ることの両立が困難であった。また、従来の遊技機では、認証機能を追加する際の作業工数の増大を抑制し、認証機能のプログラム設計上の自由度を向上させることが困難であった。また、従来の遊技機では、多様性に富んだ実効性のある認証機能を比較的簡易に追加することができず、汎用性の高い認証機能を備えるには至らなかった。
【0008】
本発明は、上記事情に鑑みてなされたものであり、遊技機のセキュリティ強度の向上と処理速度の向上とが両立可能な遊技機を提供すること、認証機能を追加する際の作業工数が少なく設計自由度が高い遊技機を提供すること、および汎用性の高い認証機能を備えた遊技機を提供することを目的とする。
【課題を解決するための手段】
【0009】
上記課題を解決するために本発明は、所定の遊技情報を記憶する遊技情報記憶領域を有すると共に、遊技機の起動の際にアクセス可能であって遊技機の初期設定情報を記憶する初期設定情報記憶領域を有する情報記憶部(メインROM110b)と、前記遊技情報に応じた所定の演算を行って制御情報を生成すると共に、生成した前記制御情報を送信せしめるための制御情報送信指示を出力する演算処理部(メインCPU110a)と、前記遊技情報記憶領域に記憶されている情報の認証を行うための複数の異なる認証情報を生成可能な生成手段を有すると共に、生成した前記認証情報を送信せしめるための認証情報送信指示を出力する認証情報生成部(認証情報生成部500)と、前記制御情報送信指示に応じて前記制御情報を送信する第1情報送信部(第1送信部520a)と、該第1情報送信部とは異なり、前記認証情報送信指示に応じて前記認証情報を送信する第2情報送信部(第2送信部520b)と、を備える主制御部(主制御部110)と、送信された前記認証情報に基づいて前記遊技情報記憶領域に記憶されている情報の認証を行い、前記認証の結果情報を生成する情報認証部と、送信された前記制御情報を中継送信すると共に、前記結果情報を送信する送信部と、を備える中間制御部(中間制御部180)と、中継送信された前記制御情報に基づいた所定の処理を行うと共に、送信された前記結果情報に応じた処理を行う情報処理部を備える副制御部(周辺部300)と、を備えた遊技機であって、前記初期設定情報は、前記複数の異なる認証情報のそれぞれに対応した選択情報を含み、前記演算処理部は、前記遊技機の起動の際に、前記選択情報のうちの特定の選択情報を前記認証情報生成部へ設定し、前記認証情報生成部は、設定された前記特定の選択情報に基づいて、前記複数の異なる認証情報のうちの特定の認証情報を生成するよう前記生成手段を設定し、設定された前記生成手段を用いて前記認証情報を生成することを特徴とする。
【発明の効果】
【0010】
本発明によれば、ハードウェアで構成された認証情報生成部が、主制御部の個体認証に必要な認証データを生成する処理機能を複数種類備えるとともに、当該処理機能の選択を、遊技中に関知できないブート処理での初期値設定時に行っている。また、認証情報生成部は、メインCPUからの指示によらず、自動的に認証データを生成する処理を行うとともに、認証処理を実行する中間制御部へ自動的に送信している。また、認証データの復号化に必要な鍵データは、メインCPUからの読み出し信号のみで中間制御部へ送信される。したがって、主制御部に対する認証機能を有しながらも、認証機能を有することで増大する主制御部のCPUの処理負荷やコードサイズを最大限抑制することができ、遊技機のセキュリティ強度の向上と処理速度の向上とを両立させることができる。また、認証データの生成や送信に関する処理の制御は、認証情報生成部自身のアルゴリズムで定義すればよいため、認証機能を追加する際のメインCPUのプログラムコードへの追加作業も最小限で済み、作業工数の増大を抑制することができる。また、認証機能のプログラム設計上の自由度も向上させることができる。また、多様性に富んだ実効性のある認証機能を比較的簡易に追加することができ、汎用性の高い認証機能を提供することができる。
【図面の簡単な説明】
【0011】
【図1】本発明の実施形態に係る遊技機の外観構成を示す正面図である。
【図2】本発明の実施形態に係る遊技機のガラス枠を開放させた状態の外観構成を示す斜視図である。
【図3】本発明の実施形態に係る遊技機の裏面側の外観構成を示す斜視図である。
【図4】本発明の実施形態に係る遊技機の内部構成を示すブロック図である。
【図5】本発明の実施形態に係る遊技機を構成する主制御部の認証処理に関する構成を示すブロック図である。
【図6】本発明の実施形態に係る遊技機を構成する主制御部を構成するメインROMおよびブートROMのメモリマップを説明するための概略図である。
【図7】本発明の実施形態に係る遊技機を構成する主制御部から中間制御部や演出制御部へ送信される制御コマンドの種別を示す図である。
【図8】本発明の実施形態に係る遊技機を構成する主制御部によるメイン処理におけるフローチャートを示す図である。
【図9】本発明の実施形態に係る遊技機を構成する主制御部による割込処理におけるフローチャートを示す図である。
【図10】本発明の実施形態に係る遊技機を構成する主制御部による特図特電制御処理におけるフローチャートを示す図である。
【図11】本発明の実施形態に係る遊技機を構成する主制御部による特別図柄記憶判定処理におけるフローチャートを示す図である。
【図12】本発明の実施形態に係る遊技機を構成する主制御部による起動時のブート処理におけるフローチャートを示す図である。
【図13】本発明の実施形態に係る遊技機を構成する主制御部による認証処理におけるフローチャートを示す図である。
【図14】本発明の実施形態に係る遊技機を構成する中間制御部によるメイン処理におけるフローチャートを示す図である。
【図15】本発明の実施形態に係る遊技機を構成する演出制御部によるメイン処理におけるフローチャートを示す図である。
【図16】本発明の実施形態に係る遊技機を構成する演出制御部による割込処理におけるフローチャートを示す図である。
【図17】本発明の実施形態に係る遊技機を構成する演出制御部によるコマンド解析処理1におけるフローチャートを示す図である。
【図18】本発明の実施形態に係る遊技機を構成する演出制御部によるコマンド解析処理2におけるフローチャートを示す図である。
【図19】本発明の実施形態に係る遊技機を構成する演出制御部による認証結果データ解析処理におけるフローチャートを示す図である。
【発明を実施するための形態】
【0012】
以下、本発明を実施するための形態について、図面を参照しながら説明する。具体的には、本発明の実施形態に係る遊技機の1つであるパチンコ遊技機1(以下、「遊技機1」という)について説明する。
【0013】
[遊技機の構成]
以下に、本発明の実施形態に係る遊技機1の構成について説明する。
図1は、本実施形態に係る遊技機1の外観構成を示す正面図である。図2は、本実施形態に係る遊技機1のガラス枠を開放させた状態の外観構成を示す斜視図である。図3は、本実施形態に係る遊技機1の裏面側の外観構成を示す斜視図である。
【0014】
遊技機1は、遊技店の島設備に取り付けられる外枠60と、その外枠60と回動可能に支持されたガラス枠50とが備えられている(図1、図2参照)。また、外枠60には、遊技球200が流下する遊技領域6が形成された遊技盤2が設けられている。ガラス枠50には、回動操作されることにより遊技領域6に向けて遊技球を発射させる操作ハンドル3と、スピーカからなる音声出力装置32と、複数のランプを有する演出用照明装置34と、押圧操作により演出態様を変更させるための演出ボタン35とが設けられている。
【0015】
さらに、ガラス枠50には、複数の遊技球200を貯留する受け皿40が設けられており、この受け皿40は、操作ハンドル3の方向側に遊技球200が流下するように下りの傾斜を有している(図2参照)。この受け皿40の下りの傾斜の端部には、遊技球を受け入れる図示しない受入口が設けられており、この受入口に受け入れられた遊技球は、玉送りソレノイド4bが駆動することにより、ガラス枠50の裏面に設けられた玉送り開口部41へ1個ずつ送り出される。そして、玉送り開口部41へ送り出された遊技球は、打出部材4cの方向に向けて下り傾斜を有している発射レール42により、発射レール42の下り傾斜の端部に誘導される。発射レール42の下り傾斜の端部の上方には、遊技球を停留させるストッパー43が設けられており、玉送り開口部41から送り出された遊技球200は、発射レール42の下り傾斜の端部で1個の遊技球が停留されることになる(図2参照)。
【0016】
そして、遊技者が操作ハンドル3を回動させると、操作ハンドル3に直結している発射ボリューム3b(図4参照)も回動し、発射ボリューム3bにより遊技球の発射強度が調整され、調整された発射強度で発射用ソレノイド4a(図4参照)に直結された打出部材4cが回転する。この打出部材4cが回転することで、打出部材4cにより発射レール42の下り傾斜の端部に貯留されている遊技球200が打ち出され、遊技球が遊技領域6に発射されることとなる。
【0017】
上記のようにして発射された遊技球は、発射レール42からレール5a、5b間を上昇して玉戻り防止片5cを超えると、遊技領域6に到達し、その後遊技領域6内を落下する。このとき、遊技領域6に設けられた複数の釘や風車によって、遊技球は予測不能に落下することとなる。
【0018】
また、上記遊技領域6には、複数の一般入賞口12が設けられている。これら各一般入賞口12には、一般入賞口検出スイッチ12a(図4参照)が設けられており、この一般入賞口検出スイッチ12aが遊技球の入賞を検出すると、所定の賞球(例えば10個の遊技球)が払い出される。
【0019】
また、上記遊技領域6の中央下側の領域には、遊技球が入球可能な始動領域を構成する第1始動口14および第2始動口15と、遊技球が入球可能な第2大入賞口17とが設けられている。
【0020】
この第2始動口15は、一対の可動片15bを有しており、これら一対の可動片15bが閉状態に維持される態様(以下、「第1の態様」という)と、一対の可動片15bが開状態となる態様(以下、「第2の態様」という)とに可動制御される。なお、第2始動口15が上記第1の態様に制御されているときには、当該第2始動口15の真上に位置する第2大入賞口17の入賞部材が障害物となって、遊技球の受入れを不可能としている。一方で、第2始動口15が上記第2の態様に制御されているときには、上記一対の可動片15bが受け皿として機能し、第2始動口15への遊技球の入賞が容易となる。つまり、第2始動口15は、第1の態様にあるときには遊技球の入賞機会がなく、第2の態様にあるときには遊技球の入賞機会が増すこととなる。
【0021】
ここで、第1始動口14には遊技球の入球を検出する第1始動口検出スイッチ14a(図4参照)が設けられ、第2始動口15には遊技球の入球を検出する第2始動口検出スイッチ15a(図4参照)が設けられている。そして、第1始動口検出スイッチ14aまたは第2始動口検出スイッチ15aが遊技球の入球を検出すると、特別図柄判定用乱数値等を取得し、後述する大当たり遊技を実行する権利獲得の抽選(以下、「大当たりの抽選」という)が行われる。また、第1始動口検出スイッチ14aまたは第2始動口検出スイッチ15aが遊技球の入球を検出した場合にも、所定の賞球(例えば3個の遊技球)が払い出される。
【0022】
また、第2大入賞口17は、遊技盤2に形成された開口部から構成されている。この第2大入賞口17の下部には、遊技盤面側からガラス板52側に突出可能な第2大入賞口開閉扉17bを有しており、この第2大入賞口開閉扉17bが遊技盤面側に突出する開放状態と、遊技盤面に埋没する閉鎖状態とに可動制御される。そして、第2大入賞口開閉扉17bが遊技盤面に突出していると、遊技球を第2大入賞口17内に導く受け皿として機能し、遊技球が第2大入賞口17に入球可能となる。この第2大入賞口17には第2大入賞口検出スイッチ17a(図4参照)が設けられており、この第2大入賞口検出スイッチ17aが遊技球の入球を検出すると、予め設定された賞球(例えば15個の遊技球)が払い出される。
【0023】
さらに、上記遊技領域6の右側の領域には、遊技球が通過可能な普通領域を構成する普通図柄ゲート13と、遊技球が入球可能な第1大入賞口16とが設けられている。
このため、操作ハンドル3を大きく回動させ、強い力で打ち出された遊技球でないと、普通図柄ゲート13と第1大入賞口16とには遊技球が、通過または入賞しないように構成されている。
【0024】
この普通図柄ゲート13には、遊技球の通過を検出するゲート検出スイッチ13a(図4参照)が設けられており、このゲート検出スイッチ13aが遊技球の通過を検出すると、普通図柄判定用乱数値を取得し、後述する「普通図柄の抽選」が行われる。
【0025】
第1大入賞口16は、通常は第1大入賞口開閉扉16bによって閉状態に維持されており、遊技球の入球を不可能としている。これに対して、後述する特別遊技が開始されると、第1大入賞口開閉扉16bが開放されるとともに、この第1大入賞口開閉扉16bが遊技球を第1大入賞口16内に導く受け皿として機能し、遊技球が第1大入賞口16に入球可能となる。第1大入賞口16には第1大入賞口検出スイッチ16a(図4参照)が設けられており、この第1大入賞口検出スイッチ16aが遊技球の入球を検出すると、予め設定された賞球(例えば15個の遊技球)が払い出される。
【0026】
さらには、遊技領域6の最下部であって遊技領域6の最下部の領域には、一般入賞口12、第1始動口14、第2始動口15、第1大入賞口16および第2大入賞口17のいずれにも入球しなかった遊技球を排出するためのアウト口11が設けられている。
【0027】
また、遊技領域6の中央には、遊技球の流下に影響を与える飾り部材7が設けられている。この飾り部材7の略中央部分には、液晶表示装置31が設けられており、この液晶表示装置31の上方には、ベルトの形をした演出用駆動装置33が設けられている。
なお、本実施形態においては、液晶表示装置31を液晶表示器として用いているが、有機ELディスプレイを用いてもよいし、プロジェクター、円環状の構造物からなるリール、いわゆる7セグメントLED、ドットマトリクス等の表示装置等を用いてもよい。
【0028】
この液晶表示装置31は、遊技が行われていない待機中に画像を表示したり、遊技の進行に応じた画像を表示したりする。なかでも、後述する大当りの抽選結果を報知するための3個の演出図柄36が表示され、特定の演出図柄36の組合せ(例えば、777等)が停止表示されることにより、大当りの抽選結果として大当りが報知される。
より具体的には、第1始動口14または第2始動口15に遊技球が入球したときには、3個の演出図柄36をそれぞれスクロール表示するとともに、所定時間経過後に当該スクロールを停止させて、演出図柄36を停止表示するものである。また、この演出図柄36の変動表示中に、さまざまな画像やキャラクタ等を表示することによって、大当たりに当選するかもしれないという高い期待感を遊技者に与えるようにもしている。
【0029】
上記演出用駆動装置33は、その動作態様によって遊技者に期待感を与えるものである。演出用駆動装置33は、例えば、ベルトが下方に移動したり、ベルト中央部の回転部材が回転したりする動作を行う。これら演出用駆動装置33の動作態様によって、遊技者にさまざまな期待感を与えるようにしている。
【0030】
さらに、上記の各種の演出装置に加えて、音声出力装置32は、バックグラウンドミュージック、サウンドエフェクト等を出力し、サウンドによる演出を行い、演出用照明装置34は、各ランプの光の照射方向や発光色を変更して、照明による演出を行うようにしている。
【0031】
また、演出ボタン35は、例えば、上記液晶表示装置31に当該演出ボタン35を操作するようなメッセージが表示されたときのみ有効となる。演出ボタン35には、演出ボタン検出スイッチ35a(図4参照)が設けられており、この演出ボタン検出スイッチ35aが遊技者の操作を検出すると、この操作に応じてさらなる演出が実行される。
【0032】
遊技領域6の右下方には、第1特別図柄表示装置20、第2特別図柄表示装置21、普通図柄表示装置22、第1特別図柄保留表示器23、第2特別図柄保留表示器24、普通図柄保留表示器25が設けられている。
【0033】
上記第1特別図柄表示装置20は、第1始動口14に遊技球が入球したことを契機として行われた大当たりの抽選結果を報知するものであり、7セグメントのLEDで構成されている。つまり、大当たりの抽選結果に対応する特別図柄が複数設けられており、この第1特別図柄表示装置20に大当たりの抽選結果に対応する特別図柄を表示することによって、抽選結果を遊技者に報知するようにしている。例えば、大当たりに当選した場合には「7」が表示され、ハズレであった場合には「−」が表示される。このようにして表示される「7」や「−」が特別図柄となるが、この特別図柄はすぐに表示されるわけではなく、所定時間変動表示された後に、停止表示されるようにしている。
【0034】
ここで、「大当たりの抽選」とは、第1始動口14または第2始動口15に遊技球が入球したときに、特別図柄判定用乱数値を取得し、取得した特別図柄判定用乱数値が「大当たり」に対応する乱数値であるか、「小当たり」に対応する乱数値であるかの判定する処理をいう。この大当たりの抽選結果は即座に遊技者に報知されるわけではなく、第1特別図柄表示装置20において特別図柄が点滅等の変動表示を行い、所定の変動時間を経過したところで、大当たりの抽選結果に対応する特別図柄が停止表示して、遊技者に抽選結果が報知されるようにしている。なお、第2特別図柄表示装置21は、第2始動口15に遊技球が入球したことを契機として行われた大当たりの抽選結果を報知するためのもので、その表示態様は、上記第1特別図柄表示装置20における特別図柄の表示態様と同一である。
【0035】
また、本実施形態において「大当たり」というのは、第1始動口14または第2始動口15に遊技球が入球したことを条件として行われる大当たりの抽選において、大当たり遊技を実行する権利を獲得したことをいう。「大当たり遊技」においては、第1大入賞口16または第2大入賞口17が開放されるラウンド遊技を計15回行う。各ラウンド遊技における第1大入賞口16または第2大入賞口17の最大開放時間については予め定められた時間が設定されており、この間に第1大入賞口16または第2大入賞口17に所定個数の遊技球(例えば9個)が入球すると、1回のラウンド遊技が終了となる。つまり、「大当たり遊技」は、第1大入賞口16または第2大入賞口17に遊技球が入球するとともに、当該入球に応じた賞球を遊技者が獲得できる遊技である。
【0036】
本実施形態では、「大当たりの抽選」においては、その当選確率により2つの遊技状態が設定されている。すなわち、当選確率が1/299.5に設定された「低確率遊技状態」と、当選確率が1/29.95に設定された「高確率遊技状態」である。また、「大当たり遊技」においても、複数種類の大当たり遊技が設定されている。例えば、「長当たり遊技」となれば、第1大入賞口16が、1ラウンド遊技ごとに、29.000秒間×1回開放(×15ラウンド)される。「短当たり遊技」となれば、第2大入賞口17が、1ラウンド遊技ごとに、0.052秒間×1回(×15ラウンド)開放される。「発展当たり遊技」となれば、第2大入賞口17が、最初の1ラウンド遊技では0.052秒間×3回開放され、2ラウンド目以降は、1ラウンド遊技ごとに29.000秒間×1回(×14ラウンド)開放される。
また、「小当たり」の場合は、当選確率が1/149.75の1つの遊技状態が設定されている。また、「小当たり遊技」となれば、ラウンド遊技ではないものの、第2大入賞口17が0.052秒間×15回開放される。なお、本実施形態では、「大当たり遊技」と「小当たり遊技」とを総称して「特別遊技」という。
【0037】
また、普通図柄表示装置22は、普通図柄ゲート13を遊技球が通過したことを契機として行われる普通図柄の抽選結果を報知するためのものである。詳しくは後述するが、この普通図柄の抽選によって当たりに当選すると普通図柄表示装置22が点灯し、その後、上記第2始動口15が所定時間、第2の態様に制御される。
【0038】
ここで、「普通図柄の抽選」とは、普通図柄ゲート13に遊技球が通過したときに、普通図柄判定用乱数値を取得し、取得した普通図柄判定用乱数値が「当たり」に対応する乱数値であるかどうかを判定する処理をいう。この普通図柄の抽選結果についても、普通図柄ゲート13を遊技球が通過して即座に抽選結果が報知されるわけではなく、普通図柄表示装置22において普通図柄が点滅等の変動表示を行い、所定の変動時間を経過したところで、普通図柄の抽選結果に対応する普通図柄が停止表示して、遊技者に抽選結果が報知されるようにしている。
【0039】
さらに、特別図柄の変動表示中や後述する特別遊技中等、第1始動口14または第2始動口15に遊技球が入球して、即座に大当たりの抽選が行えない場合には、一定の条件のもとで、大当たりの抽選の権利が保留される。より詳細には、第1始動口14に遊技球が入球したときに取得された特別図柄判定用乱数値を第1保留として記憶し、第2始動口15に遊技球が入球したときに取得された特別図柄判定用乱数値を第2保留として記憶する。
これら両保留は、それぞれ上限保留個数を4個に設定し、その保留個数は、それぞれ第1特別図柄保留表示器23と第2特別図柄保留表示器24とに表示される。なお、第1保留が1つの場合には、第1特別図柄保留表示器23の左側のLEDが点灯し、第1保留が2つの場合には、第1特別図柄保留表示器23の2つのLEDが点灯する。また、第1保留が3つの場合には、第1特別図柄保留表示器23の左側のLEDが点滅するとともに右側のLEDが点灯し、第1保留が4つの場合には、第1特別図柄保留表示器23の2つのLEDが点滅する。また、第2特別図柄保留表示器24においても、上記と同様に第2保留の保留個数が表示される。
そして、普通図柄の上限保留個数も4個に設定されており、その保留個数が、上記第1特別図柄保留表示器23および第2特別図柄保留表示器24と同様の態様によって、普通図柄保留表示器25において表示される。
【0040】
ガラス枠50は、遊技盤2の前方(遊技者側)において遊技領域6を視認可能に覆うガラス板52を支持している。なお、ガラス板52は、ガラス枠50に対して着脱可能に固定されている。
【0041】
またガラス枠50は、左右方向の一端側(たとえば遊技機1に正対して左側)においてヒンジ機構部51を介して外枠60に連結されており、ヒンジ機構部51を支点として左右方向の他端側(たとえば遊技機1に正対して右側)を外枠60から開放させる方向に回動可能とされている。ガラス枠50は、ガラス板52とともに遊技盤2を覆い、ヒンジ機構部51を支点として扉のように回動することによって、遊技盤2を含む外枠60の内側部分を開放することができる。ガラス枠50の他端側には、ガラス枠50の他端側を外枠60に固定するロック機構が設けられている。ロック機構による固定は、専用の鍵によって解除することが可能とされている。また、ガラス枠50には、ガラス枠50が外枠60から開放されているか否かを検出する扉開放スイッチ133(図4参照)も設けられている。
【0042】
遊技機1の裏面には、主制御部110が搭載された主制御基板、中間制御部180が搭載された中間制御基板、演出制御部120が搭載された演出制御基板、払出制御部130が搭載された払出制御基板、電源部170が搭載された電源基板、遊技情報出力端子板30などが設けられている。また、電源部170に遊技機1に電力を給電するための電源プラグ171や、図示しない電源スイッチが設けられている。
【0043】
[遊技機の内部構成]
以下、本発明の実施形態に係る遊技機1の遊技進行に係る処理を制御する制御手段について説明する。
図4は、本実施形態に係る遊技機1の内部構成を示すブロック図である。
【0044】
主制御部110は、遊技の基本動作を制御する主制御手段であり、第1始動口検出スイッチ14a等の各種検出信号を入力して、第1特別図柄表示装置20や第1大入賞口開閉ソレノイド16c等を駆動させて遊技を制御するものである。
【0045】
この主制御部110は、メインCPU110a、メインROM110b、メインRAM110c、ブートROM110dおよび認証情報生成部500から少なくとも構成されるワンチップマイコン110mと、主制御用の入力ポートと出力ポート(図示せず)とを少なくとも備えている。
【0046】
この主制御用の入力ポートには、払出制御部130、一般入賞口12に遊技球が入球したことを検知する一般入賞口検出スイッチ12a、普通図柄ゲート13に遊技球が入球したことを検知するゲート検出スイッチ13a、第1始動口14に遊技球が入球したことを検知する第1始動口検出スイッチ14a、第2始動口15に遊技球が入球したことを検知する第2始動口検出スイッチ15a、第1大入賞口16に遊技球が入球したことを検知する第1大入賞口検出スイッチ16a、第2大入賞口17に遊技球が入球したことを検知する第2大入賞口検出スイッチ17aが接続されている。この主制御用の入力ポートによって、各種信号が主制御部110に入力される。
【0047】
また、主制御用の出力ポートには、払出制御部130、第2始動口15の一対の可動片15bを開閉動作させる始動口開閉ソレノイド15c、第1大入賞口開閉扉16bを動作させる第1大入賞口開閉ソレノイド16c、第2大入賞口開閉扉17bを動作させる第2大入賞口開閉ソレノイド17c、特別図柄を表示する第1特別図柄表示装置20と第2特別図柄表示装置21、普通図柄を表示する普通図柄表示装置22、特別図柄の保留球数を表示する第1特別図柄保留表示器23と第2特別図柄保留表示器24、普通図柄の保留球数を表示する普通図柄保留表示器25、外部情報信号を出力する遊技情報出力端子板30が接続されている。この主制御用の出力ポートによって、各種信号が出力される。
【0048】
主制御部110のメインCPU110aは、各検出スイッチやタイマからの入力信号に基づいて、メインROM110bに記憶されたプログラムを読み出して演算処理を行うとともに、演算処理の結果に応じて、主制御部110を構成する各構成部に対する制御指示(以下、「制御信号」という)や主制御部110以外の他の制御部に対する制御コマンドを出力する。
【0049】
主制御部110のメインROM110bには、遊技進行に係る処理の内容や手順を記述した遊技処理用プログラムや、各種の遊技の決定に必要な固定データ、テーブルが予め記憶されている。
メインROM110bに記憶されたテーブルとして一例を挙げれば、大当たり抽選に参照される大当り判定テーブル、普通図柄の抽選に参照される当り判定テーブル、特別図柄の停止図柄を決定する図柄決定テーブル、大当たり終了後の遊技状態を決定するための大当たり遊技終了時設定データテーブル、大入賞口開閉扉の開閉条件を決定する特別電動役物作動態様決定テーブル、大入賞口開放態様テーブル、特別図柄の変動パターンを決定する変動パターン決定テーブルなどがある。
【0050】
また、メインROM110bには、電源投入時などの遊技機1のリセット時に行われる主制御部110のブート処理中に、ワンチップマイコン110mの内蔵回路や周辺回路等に対して設定される初期値(いわゆるハードウェアパラメータ)が予め記憶されている。また、メインROM110bには、ブート処理後にメインCPU110aにて行われる認証処理の内容や手順を記述した認証処理用プログラムや、主制御部110固有の情報である検査値などが予め記憶されている。
【0051】
主制御部110のブートROM110dには、ワンチップマイコン110mの内蔵回路や周辺回路等の初期化および初期値の設定処理(以下、「初期値設定処理」という)を含む、メインCPU110aが実行するブート処理の内容や手順を記述したブート処理用プログラムや、ブート処理用プログラムの実行の際に使用される固定データが記憶されている。このブート処理用プログラムは、メインCPU110aの起動直後に立ち上るように設定されている。
【0052】
主制御部110のメインRAM110cは、メインCPU110aの演算処理時におけるデータのワークエリアとして機能し、複数の記憶領域を有している。
メインRAM110cが有する記憶領域として一例を挙げれば、普通図柄保留数(G)記憶領域、普通図柄保留記憶領域、普通図柄データ記憶領域、第1特別図柄保留数(U1)記憶領域、第2特別図柄保留数(U2)記憶領域、第1特別図柄乱数値記憶領域、第2特別図柄乱数値記憶領域、ラウンド遊技回数(R)記憶領域、開放回数(K)記憶領域、大入賞口入球数(C)記憶領域、遊技状態記憶領域(高確率遊技フラグ記憶領域等)、高確率遊技回数(X)カウンタ、遊技状態バッファ、停止図柄データ記憶領域、送信データ用記憶領域、特別図柄時間カウンタ、特別遊技タイマカウンタなど各種のタイマカウンタなどがある。
【0053】
主制御部110の認証情報生成部500は、メインCPU110bからの指示によらず、主制御部110の個体としての正当性(アイデンティティ)を認証する(以下、「個体認証」という)ための認証データを生成し、主制御部110に対する個体認証機能を担うよう予め定められた制御部(中間制御部180)へ送信する。具体的には、認証情報生成部500は、電源が投入されるとメインROM110bに記憶されたプログラムとは独立した自身のアルゴリズムに従って動作し、メインROM110bから主制御部110固有の情報である検査値を取得し、取得した検査値に対して暗号化処理を施して認証データを生成する。そして、認証情報生成部500は、生成した認証データを中間制御部180へ送信する。
【0054】
中間制御部180は、主に主制御部110に対する個体認証に係る処理を制御する。この中間制御部180は、CPU180a、ROM180b、RAM180cを備えており、主制御部110と、主制御部110が本来の遊技処理に係る制御コマンドを送信する対象となる制御部(演出制御部120や払出制御部130等)との間に設けられている。例えば、図4に示すように、中間制御部180が主制御部110と演出制御部120との間に設けられている場合、中間制御部180は、主制御部110から中間制御部180への一方向に通信可能に接続され、中間制御部180から演出制御部120への一方向に通信可能に接続される。また、図示しないが、中間制御部180が主制御部110と払出制御部130との間に設けられている場合、中間制御部180は、主制御部110との間で双方向に通信可能に接続され、払出制御部130との間で双方向に通信可能に接続される。よって、演出制御部120や払出制御部130等は、主制御部110から直接制御コマンドを送信されず、中間制御部180を介して送信されることとなる。
【0055】
CPU180aは、主制御部110から送信された制御コマンド、または、タイマからの入力信号に基づいて、ROM180bに記憶されたプログラムを読み出して演算処理を行うとともに、当該処理に基づいて、対応するデータを後続する演出制御部120や払出制御部130へ送信する。RAM180cは、CPU180aの演算処理時におけるデータのワークエリアとして機能する。
【0056】
例えば、中間制御部180のCPU180aは、主制御部110から送信された制御コマンドであって、認証処理に直接関与せず通常の遊技処理に用いられる制御コマンド(以下、「通常の制御コマンド」という)や各種データを受信すると、当該制御コマンドや各種データを後続する演出制御部120や払出制御部130へそのまま送信する中継送信処理を行う。一方、CPU180aは、主制御部110から送信された認証処理に係る制御コマンドやデータを受信すると、当該制御コマンドやデータに基づいて主制御部110に対する個体認証に係る処理を行うとともに、当該処理にて得られた認証結果の情報(以下、「認証結果データ」という)を後続する演出制御部120や払出制御部130等へ送信し、認証結果データに基づく処理を実行させる。
【0057】
また、ROM180bは、主制御部110のメインROM110bに記憶された主制御部110固有の情報である検査値に対応する期待値や、当該期待値を用いてCPU180aにて行われる主制御部110に対する個体認証処理および中継送信処理の内容や手順を記述した認証処理用プログラムが予め記憶されている。
このように、中間制御部180は、主制御部110に対する個体認証を行う認証機能と、主制御部110から送信された制御コマンドや各種データを後続する演出制御部120や払出制御部130等へ中継送信する機能と、個体認証にて得られた認証結果データを後続する演出制御部120や払出制御部130等へ送信する機能とを少なくとも有している。なお、これら認証処理に関する構成については後述する。
【0058】
遊技情報出力端子板30は、主制御部110において生成された外部情報信号を遊技店のホールコンピュータ等に出力するための基板である。遊技情報出力端子板30は、主制御部110と配線接続され、外部情報を遊技店のホールコンピュータ等と接続をするためのコネクタが設けられている。
【0059】
電源部170は、コンデンサからなるバックアップ電源を備えており、遊技機1に電源電圧を供給するとともに、遊技機1に供給する電源電圧を監視し、電源電圧が所定値以下となったときに、電断検知信号を主制御部110へ出力する。より具体的には、電源電圧が、所定値以下を示すために電断検知信号がローレベルとなり一定時間経過すると、リセット信号がローレベルとなり、メインCPU110aは動作を停止する処理を行う。その後、電源電圧が、所定値以上を示すために電断検知信号がハイレベルとなり一定時間経過すると、リセット信号がハイレベルとなり、メインCPU110aは動作を開始する処理を行う。バックアップ電源はコンデンサに限らず、例えば、電池でもよく、コンデンサと電池とを併用して用いてもよい。
【0060】
演出制御部120は、主に遊技中や待機中等の各演出を制御する。この演出制御部120は、サブCPU120a、サブROM120b、サブRAM120cを備えており、主制御部110に対して、当該主制御部110から演出制御部120への一方向に通信可能に接続されている。サブCPU120aは、主制御部110から送信された制御コマンド、または、上記演出ボタン検出スイッチ35a、タイマからの入力信号に基づいて、サブROM120bに記憶されたプログラムを読み出して演算処理を行うとともに、当該処理に基づいて、対応するデータをランプ制御部140または画像制御部150に送信する。サブRAM120cは、サブCPU120aの演算処理時におけるデータのワークエリアとして機能する。
【0061】
例えば、演出制御部120のサブCPU120aは、主制御部110から送信された制御コマンドの1つである特別図柄の変動態様を示す変動パターン指定コマンドを受信すると、受信した変動パターン指定コマンドの内容を解析して、液晶表示装置31、音声出力装置32、演出用駆動装置33、演出用照明装置34に所定の演出を実行させるためのデータを生成し、かかるデータを画像制御部150やランプ制御部140へ送信する。
【0062】
演出制御部120のサブROM120bには、演出制御用のプログラムや各種の遊技の決定に必要なデータ、テーブルが記憶されている。
サブROM120bに記憶されたテーブルとして一例を挙げれば、主制御部から受信した変動パターン指定コマンドに基づいて演出パターンを決定するための演出パターン決定テーブル、停止表示する演出図柄36の組み合わせを決定するための演出図柄決定テーブルなどがある。
【0063】
演出制御部120のサブRAM120cは、サブCPU120aの演算処理時におけるデータのワークエリアとして機能し、複数の記憶領域を有している。
サブRAM120cが有する記憶領域として一例を挙げれば、遊技状態記憶領域、演出モード記憶領域、演出パターン記憶領域、演出図柄記憶領域などがある。
【0064】
払出制御部130は、遊技球の払い出し制御を行う。この払出制御部130は、図示しない払出CPU、払出ROM、払出RAMから構成されるワンチップマイコンを備えており、主制御部110に対して、双方向に通信可能に接続されている。払出CPUは、遊技球が払い出されたか否かを検知する払出球計数スイッチ132、扉開放スイッチ133、タイマからの入力信号に基づいて、払出ROMに記憶されたプログラムを読み出して演算処理を行うとともに、当該処理に基づいて、対応するデータを主制御部110に送信する。
【0065】
また、払出制御部130の出力側には、遊技球の貯留部から所定数の遊技球を払い出すための払出装置の払出モータ131が接続されている。払出CPUは、主制御部110から送信された制御コマンドの1つである払出個数指定コマンドに基づいて、払出ROMから所定のプログラムを読み出して演算処理を行うとともに、払出装置の払出モータ131を制御して所定の遊技球を払い出す。このとき、払出RAMは、払出CPUの演算処理時におけるデータのワークエリアとして機能する。
【0066】
ランプ制御部140は、遊技盤2に設けられた演出用照明装置34を点灯制御したり、光の照射方向を変更するためのモータに対する駆動制御をしたりする。また、演出用駆動装置33を動作させるソレノイドやモータ等の駆動源を通電制御する。このランプ制御部140は、演出制御部120に接続されており、演出制御部120から送信された各種のコマンドに基づいて、上記の各制御を行うこととなる。
【0067】
画像制御部150は、液晶表示装置31の画像表示制御を行うためのホストCPU、ホストCPU150aのワークエリアとして機能する一時的な記憶領域を有するホストRAM、ホストCPU150aの制御処理のプログラム等が記憶されたホストROM、画像データが記憶されたCGROM、画像データを描画するフレームバッファを有するVRAM、画像プロセッサとなるVDP(Video Display Processor)と、音の制御を行う音制御回路とを備えている。
【0068】
ホストCPUは、演出制御部120から受信した演出パターン指定コマンドに基づいて、VDPにCGROMに記憶されている画像データを液晶表示装置31に表示させる指示を行う。
VDPは、ホストCPUからの指示に基づいて、CGROMに記憶された画像データをVRAMのフレームバッファに描画する。次に、VRAMにある表示用のフレームバッファに記憶された画像データに基づいて映像信号(RGB信号等)を生成し、生成した映像信号を液晶表示装置に出力する。
【0069】
音制御回路には、音声データが多数記憶されている音声ROMが備えられており、音制御回路が、演出制御部120から送信されたコマンドに基づいて所定のプログラムを読み出すとともに、音声出力装置32における音声出力制御をする。
【0070】
発射制御部160は、遊技球の発射制御を行う。この発射制御部160は、入力側にタッチセンサ3aおよび発射ボリューム3bが接続されており、出力側に発射用ソレノイド4aおよび玉送りソレノイド4bを接続している。発射制御部160は、タッチセンサ3aからのタッチ信号を入力するとともに、発射ボリューム3bから供給された電圧に基づいて、発射用ソレノイド4aや玉送りソレノイド4bを通電させる制御を行う。
【0071】
タッチセンサ3aは、操作ハンドル3の内部に設けられ、遊技者が操作ハンドル3に触れたことによる静電容量の変化を利用した静電容量型の近接スイッチから構成される。タッチセンサ3aは、遊技者が操作ハンドル3に触れたことを検知すると、発射制御部160(図4参照)に発射用ソレノイド4aの通電を許可するタッチ信号を出力する。発射制御部160は、大前提としてタッチセンサ3aからタッチ信号の入力がなければ、遊技球200を遊技領域6に発射させないように構成されている。
【0072】
発射ボリューム3bは、操作ハンドル3が回動する回動部に直結して設けられ、可変抵抗器から構成される。発射ボリューム3bは、その発射ボリューム3bに印加された定電圧(例えば5V)を可変抵抗器により分圧して、分圧した電圧を発射制御部160に供給する(発射制御部160に供給する電圧を可変させる)。発射制御部160は、発射ボリューム3bにより分圧された電圧に基づいて、発射用ソレノイド4aを通電して、発射用ソレノイド4aに直結された打出部材4cを回転させることで、遊技球200を遊技領域6に発射させる。
【0073】
発射用ソレノイド4aは、ロータリーソレノイドから構成され、発射用ソレノイド4aには打出部材4cが直結されており、発射用ソレノイド4aが回転することで、打出部材4cを回転させる。
【0074】
ここで、発射用ソレノイド4aの回転速度は、発射制御部160に設けられた水晶発振器の出力周期に基づく周波数から、約99.9(回/分)に設定されている。これにより、1分間における発射遊技数は、発射ソレノイドが1回転する毎に1個発射されるため、約99.9(個/分)となる。すなわち、1個の遊技球は約0.6秒毎に発射されることになる。
【0075】
玉送りソレノイド4bは、直進ソレノイドから構成され、受け皿40にある遊技球を、発射用ソレノイド4aに直結された打出部材4cに向けて1個ずつ送り出す。
【0076】
ここで、上記構成の演出制御部120、払出制御部130、ランプ制御部140、画像制御部150、および発射制御部160など、主制御部110からの制御コマンドに基づいて、若しくは当該制御コマンドに基づいて生成されるコマンドに従って遊技機1の制御処理を行う制御部であって、中間制御部180以外の制御部を総称して「周辺部300」という。また、演出制御部120が搭載された演出制御基板や払出制御部130が搭載された払出制御基板など、周辺部300の各制御部が搭載された各制御基板を総称して「周辺基板」という。なお、中間制御部180、ランプ制御部140、および画像制御部150は、演出制御部120と同一の基板上に搭載することもできる。また、払出制御部130および発射制御部160は、主制御部110と同一の基板上に搭載することもできる。
【0077】
[遊技機の認証処理に関する内部構成]
以下、上記構成の遊技機1が不正防止のために有する認証機能を実現する制御手段について説明する。
本実施形態に係る遊技機1の認証機能は、中間制御部180が主制御部110に対する個体認証を行うことによって実現される。そして、中間制御部180で得られた認証結果は周辺部300へ送信され、周辺部300にて受信した認証結果に応じた処理が行われる。なお、本実施形態では、中間制御部180は、主制御部110と演出制御部120との間に設けられているとともに、中間制御部180で得られた認証結果は、周辺部300のうち演出制御部120へ送信され、演出制御部120が認証結果に応じた処理を行うこととして説明する。
【0078】
具体的には、主制御部110が保持する固有の情報を検査値とし、中間制御部180に予め記憶されている主制御部110固有の情報に対応する情報を期待値として、検査値と期待値とが一致すると主制御部110に対する個体認証が成功したと判断される。中間制御部180は、得られた主制御部110に対する個体認証の結果を、演出制御部120へ送信する。演出制御部120は、中間制御部180から送信された認証結果を確認し、認証結果に応じた処理を行う。また、主制御部110は、認証処理の実行に際して、検査値を取得し中間制御部180へ送信するが、送信前に暗号鍵を用いて検査値に暗号化処理を施す。中間制御部180は、暗号化された検査値に対して復号化処理を施して検査値を抽出する。本実施形態では、検査値に対して暗号化処理を施して得られたデータを「認証データ」という。また、検査値に対する暗号化処理に用いる暗号鍵、および認証データに対する復号化処理に用いる復号鍵を総称して「鍵データ」という。また、鍵データを決定する処理を「鍵データ決定処理」といい、決定した鍵データと検査値とを用いて認証データを生成する処理を「認証データ生成処理」という。
【0079】
図5は、本実施形態に係る主制御部110の認証処理に関する内部構成を示す機能ブロック図である。図6は、本実施形態に係る(a)メインROM110bおよび(b)ブートROM110dのメモリマップを説明するための概略図である。また、図6では、本発明の特徴的な領域以外は省略している。また、「xxxFH」などのアドレス表記は、各領域の区分を示すために便宜上設けたものであるとともに、各領域同士の位置関係においても、図6に示した位置関係に限定されるものではない。
【0080】
主制御部110は、上記のようなメインCPU110a、メインROM110b、およびブートROM110dに加え、鍵データ決定処理ならびに認証データ生成処理および送信処理を行う認証情報生成部500と、メインCPU110aや認証情報生成部500からの送信指示に基づき演出制御部120へ各種データや信号の送信を行う送信部520(第1送信部520aおよび第2送信部520b)とを少なくとも備えている。また、これら主制御部110の各構成部は、各々が出力する各種データや信号を授受できるよう内部バス550にて接続されている。内部バス550は、アドレスバス、データバスおよび制御バスの機能を少なくとも備え、主制御部110の各構成部から出力された制御信号に基づき内部バス550を通るデータの割り当てを行い、データの衝突が生じないように制御している。なお、図5においては、便宜上、内部バス550という形では明示せず、主制御部110の各構成部を結ぶ信号線として表している。
【0081】
メインCPU110aは、上記のような遊技進行に伴う処理を実行する他、遊技機1での認証処理の進行に伴う処理を実行する。メインCPU110aは、ブートROM110dやメインROM110bに記憶されたブート処理用プログラムや認証処理用プログラムに基づいて、各種演算処理を実行するとともに、各種演算処理の結果に応じて制御信号や制御コマンドを出力する。
例えば、メインCPU110aは、ブート処理用プログラムに基づいて、ブート処理中の初期値設定処理を行う際には、メインROM110bに記憶された各種初期値を読み出すための制御信号(以下、「読み出し信号」という)を出力して各種初期値を取得し、取得した各種初期値のそれぞれに対応した構成回路へ出力して設定処理を行う。
また、メインCPU110aは、認証処理用プログラムに基づいて、中間制御部180にて認証処理を開始させるための制御コマンド(後述する鍵コマンド)を、送信部520にて中間制御部180へ送信させるコマンド送信処理を行う際には、送信部520へ書き込むための制御信号(以下、「書き込み信号」という)を出力して制御コマンドを送信部520にて送信させる。
【0082】
メインROM110bには、上記のような遊技処理用プログラムやデータの他、メインCPU110aが遊技機1にて認証処理を実行するための認証処理用プログラムが予め記憶されている(図6(a)の「xxy0H」〜「xxzFH」の領域)。また、メインROM110bには、主制御部110に対する個体認証を行うために用いる検査値が記憶されている(図6(a)の「xyz0H」〜「xzxFH」の領域)。また、メインROM110bは、メインCPU110aや認証情報生成部500からの読み出し信号に応じて、認証処理用プログラムコードや検査値などを出力する。
【0083】
検査値は、主制御部110が保持する固有の情報であれば特に限定されない。検査値は、図6(a)では、メインROM110bの固定データが記憶された領域の特定のアドレス(図6(a)の「xyz0H」〜「xzxFH」の領域)のデータ(例えば、制御コマンドデータ)となっているが、例えば、メインROM110bのプログラムコードが記憶された領域の中の特定のアドレスにおけるチェックサム値や、メインCPU110aに固有に付与されている識別番号(ID)などが考えられる。
【0084】
また、メインROM110bには、上記のようなワンチップマイコン110mの内蔵回路や周辺回路等の初期値の一つであって、認証情報生成部500に設定される初期値である認証パラメータが予め記憶されている(図6(a)の「yyy0H」〜「yyzFH」の領域)。認証パラメータは、ブート処理中の初期値設定処理の際に、認証情報生成部500が有する、認証データを生成する複数種類の処理機能(以下、「認証データ生成機能」という)のうち、どの認証データ生成機能を選択するかを決定するためのパラメータである。具体的には、本実施形態の認証パラメータは、認証情報生成部500を構成する複数種類の暗号回路502(図5では暗号回路A、B、C)のそれぞれと対応づけられた値である。例えば、認証パラメータは、対応する暗号回路502のそれぞれに付与された識別番号やアドレスデータを示す値などである。本実施形態では、ブート処理中の初期値設定処理でも、特に、認証情報生成部500へ認証パラメータを設定する処理を「認証パラメータ設定処理」という。また、設定された認証パラメータに対応した認証情報生成部500が有する特定の暗号回路502を有効に作動させる処理を「暗号回路作動処理」という。
【0085】
なお、上記初期値および認証パラメータを格納する領域は、図6ではメインROM110b内の領域であるが、本発明はこれに限定されず、メインROM110bとは別個のメモリセルに格納したり、ブートROM110d内に格納したりするように構成することもできる。すなわち、本発明では、上記初期値および認証パラメータの格納領域と、遊技処理用プログラムや固定データ等の格納領域とは、同一の記憶手段(メモリセルやROMなど)に搭載されていてもよいし、異なる記憶手段に搭載されていてもよい。
【0086】
ブートROM110dは、ブート処理用プログラムやブート処理用プログラムの実行の際に使用する固定データが予め記憶されている(図6(b)の「zxx0H」〜「zyzFH」の領域)。ブート処理用プログラムは、メインCPU110aの起動直後にブートROM110dからブート処理専用RAM(図示せず)へ読み込まれ、メインCPU110aにて実行が開始されるように予め設定されており、メインCPU110a自身の自己診断処理や、メインCPU110aを搭載するワンチップマイコン110mの内蔵回路や周辺回路等の初期化および初期値の設定処理(すなわち初期値設定処理)を制御するものである。なお、本実施形態では、ブート処理後に実行される遊技処理用プログラムや認証処理用プログラムなど、ブート処理用プログラム以外のプログラムを「ユーザープログラム」という。
【0087】
ブート処理用プログラムは、CPUメーカーが開発・実装するプログラムであり、これらが記憶されたブートROM110dに対するアクセスは、遊技機1の出荷後、ブート処理時のメインCPU110aからのアクセスにのみ制限されている。一方、ユーザープログラムは、遊技機メーカーが開発・実装するプログラムであり、これらが記憶されたメインROM110bに対するアクセスは、遊技処理や認証処理が実行されるたびにメインCPU110aからアクセスされる。しかしながら、メインROM110bのアドレス領域でも、ワンチップマイコン110mの内蔵回路や周辺回路等の初期値(認証パラメータを含む)が記憶された領域など、ユーザープログラムや固定データ等(検査値を含む)が記憶された領域以外のアドレス領域(例えば、図6(a)の「yxx0H」〜「yyzFH」の領域)は、ブート処理用プログラムの中でのみ定義された領域であり、遊技処理に係るユーザープログラム上では全く現れることが無い領域とされている。つまり、ブート処理が終了した後は、上記領域(図6(a)の「yxx0H」〜「yyzFH」の領域)は、ユーザープログラムからはアクセスできないように実質的な制限がかけられた領域とされている。
しかしながら、不正なアクセスを試みられた場合を考慮して、以下に示すさらなる制限をかけることで、ブート処理時にのみ得られる認証パラメータの秘匿性をより向上させることができる。
【0088】
ブートROM110dおよびメインROM110bへのアクセス制限は、例えば、主制御部110に実行アドレス監視手段(図示せず)を設けておき、ブート処理終了後に実行アドレス監視手段を作動させ、ユーザープログラムが所定のアドレス領域(例えば、図6(a)の「0000H」〜「xzyFH」の領域)を超えて実行されるような場合には、メインCPU110aへリセット信号を出力してメインCPU110aを動作停止状態にすればよい。また、リセット信号を出力しないまでも、異常を検知した旨を示す報知信号を出力するようにしてもよい。
【0089】
認証情報生成部500は、主制御部110を構成するワンチップマイコン110mに予め組み込まれた回路(ハードウェア)であって、制御部501と、暗号回路502と、データ入力部503と、データ出力部504とを少なくとも備えている。
【0090】
制御部501は、自身が保持するアルゴリズムに従って、ブート処理中の暗号回路作動処理、ならびにブート処理後の認証データ生成処理および送信処理など、遊技機1の認証機能実現に係る主制御部110の処理全般を制御する回路である。
【0091】
制御部501は、暗号回路作動処理において、メインCPU110aから設定された認証パラメータを確認し、設定された認証パラメータに対応した暗号回路502を有効に作動するように設定する。例えば、制御部501は、認証情報生成部500に予め設けられた複数種類の暗号回路502と、予め用意された複数種類の認証パラメータとの対応付けが記憶されたデータテーブルを備えおり、暗号回路作動処理において、メインCPU110aから設定された認証パラメータがどの暗号回路502に対応するかを確認することができる。そして、制御部501は、複数種類の暗号回路502のそれぞれと接続されており、暗号回路502を有効に作動させるための制御信号(以下、「作動許可信号」という)を、設定された認証パラメータに対応する暗号回路502にのみ出力し、当該暗号回路502のみを作動させる。また、制御部501は、データ出力部504の暗号回路502との接続を切り替えさせるための制御信号(以下、「接続切替信号」という)をデータ出力部504へ出力し、上記で有効に作動させた暗号回路502との接続のみが有効に繋がるように設定する。
【0092】
また、制御部501は、鍵データを決定する鍵決定手段(図示せず)を備えている。鍵決定手段は、例えば、乱数生成回路や乱数生成アルゴリズムなどの乱数生成手段で構成することが考えられる。また、鍵決定手段を、複数種類の鍵データが記載されたデータテーブルを予め保持しておき、予め定められた取り決めに従って鍵データを決定するやり方で構成してもよい。また、制御部501は、一度に1つの鍵データを生成し一意に決定してもよいし、一度に複数種類の鍵データを生成し複数種類の鍵データの中から1つの鍵データを選択し、今回の認証処理で使用する鍵データを決定してもよい。決定した鍵データは、制御部501から暗号回路502へ受け渡されるとともに、メインCPU110aからの読み出し信号に応じて制御部501からメインCPU110aへ出力される。
【0093】
また、制御部501は、認証データ生成処理において、メインROM110bに記憶された検査値を読み出すための読み出し信号を出力し、認証情報生成部500を構成するデータ入力部503に対して検査値を取り込ませ、暗号回路作動処理で有効とした暗号回路502にて認証データを生成させる。
【0094】
さらに、制御部501は、メインCPU110aが行う制御コマンドの送信処理に基づいて、生成された認証データの送信処理を行う。具体的には、制御部501は、メインCPU110aが送信部520へ出力する制御コマンドの書き込み信号を、内部バス550を通じて検知する検知手段(図示せず)を備えており、当該書き込み信号を検知することで、メインCPU110aが制御コマンドを送信部520へ出力するタイミングを知ることができる。そして、制御部501は、当該書き込み信号の検知を契機として、生成された認証データの書き込み信号を出力して認証データを送信部520にて送信させる。
【0095】
暗号回路502は、入力されたデータを予め設定された暗号化処理の演算方式(以下、「暗号化方式」という)で演算して暗号化処理を施し、出力する回路である。具体的には、メインROM110bから取り込まれた検査値を、暗号回路作動処理で設定された暗号回路の暗号化方式で演算して認証データを生成する。暗号化方式は、主制御部10と演出制御部203との間で予め取り決めてあれば、特に限定されない。暗号化方式は、例えば、検査値と鍵データとを用いた四則演算または論理演算等を行って所定のデータサイズを有する演算データを得る処理方式、これらの四則演算または論理演算等により得られた演算データのビット配列を並び変える処理方式、上記演算データのビットをシフトまたはローテイトする処理方式、検査値を構成する複数のビットを取り出して所定の規則に従って並べて1つのデータを生成する処理方式などがある。
【0096】
また、暗号回路502は、複数種類の暗号回路502(図5では暗号回路A、B、C)を備えている。暗号回路502は、複数種類の暗号回路502によって複数種類の暗号化方式が用いられており、例えば遊技機メーカーごとに所望する暗号化方式が異なれば、ワンチップマイコン110mの回路形成過程にて所望の暗号化方式を示す暗号回路をそれぞれ形成しておく。また、それぞれの暗号回路502は、制御部501から出力された作動許可信号によって、有効に作動させるか否かが制御される。そして、暗号回路502は、生成した認証データをデータ出力部504へ出力する。
【0097】
なお、認証パラメータのメインROM110bへの実装においては複数の方法が考えられる。例えば、認証パラメータを複数種類の暗号回路502のそれぞれと対応づけて予め複数種類用意し、メインROM110bに実装する。そして、認証パラメータ設定処理の中で、どの認証パラメータを選択するかを決定するためのプログラムをブートROM110dに実装しておき、ブート処理のたびにどの暗号回路502を作動させるかを任意に選択できるように構成することができる。このように実装すると、ブート処理のたびに認証データの暗号化方式が変更され、認証データの秘匿性を向上させることができ、遊技機1のセキュリティ強度を向上させることができる。
【0098】
一方、暗号回路502および認証パラメータを予め複数種類用意するものの、特定の認証パラメータのみをメインROM110bに実装し、特定の暗号回路502のみを作動させるように構成することもできる。このように実装すると、ブート処理での認証パラメータの選択処理に伴うプログラムを新たに設ける必要がなく、プログラムのコードサイズを増大させることがない。
また、このように実装すると、遊技機メーカーが特定の暗号化方式だけを採用したい場合であっても、遊技機メーカーが行うプログラム実装過程において、所望の暗号化方式を示す暗号回路に対応した認証パラメータのみをメインROM110bに実装すればよく、遊技機メーカーの用途や嗜好に柔軟に対応することができる。なお、この場合であっても、認証パラメータは、主制御部110のブート処理時の初期値設定時以外ではアクセスされない記憶領域に記憶されているため、外部から暗号化方式の内容を知ることができず、認証データの秘匿性は確保される。また、遊技機1の開発段階中で設計・検証作業などに使用する認証パラメータと、その後に実際に実装される認証パラメータとを変えることによって、最終的にどの認証パラメータが実装されたのかを知り得る者が限定され、認証データの秘匿性は更に向上する。
【0099】
本実施形態では、特定の暗号回路502(図5では暗号回路A)に対応する認証パラメータのみがメインROM110bに実装されていることとして説明する。すなわち、暗号回路作動処理では、暗号回路Aのみが有効に作動するように設定され、暗号回路Bおよび暗号回路Cは作動しないように設定されることとなる。また、暗号回路Aに対応する認証パラメータを認証パラメータA、暗号回路Aにて表された暗号化方式を暗号化方式A、検査値を暗号化方式Aで演算して得られた認証データを認証データAとする。
【0100】
データ入力部503およびデータ出力部504は、内部バス550を介して認証情報生成部500が外部との間でデータをやり取りするための入出力回路であり、具体的には、メインROM110bから出力された検査値の入力や暗号回路502で生成された認証データの送信部520への出力を行う。また、データ入力部503およびデータ出力部504は、それぞれバッファ機能を有しており、認証情報生成部500が他の構成部とやり取りする際に、検査値や認証データを一時的に保持することができる。このとき、データ入力部503およびデータ出力部504は、制御部501が出力する制御信号によってデータ入出力のタイミングが設定される。
【0101】
また、データ入力部503とデータ出力部504との間には複数種類の暗号回路502が配置されており、データ入力部503とデータ出力部504は、複数種類の暗号回路502のそれぞれと接続されている。また、データ出力部504は、複数種類の暗号回路50の中の特定の暗号回路502と選択的に接続できるような接続切替機能を有しており、制御部501からの接続切替信号に応じて、暗号回路作動処理にて有効と設定された暗号回路502との接続のみ有効に繋がるように、暗号回路502との接続を切替ることができる。データ入力部503へ入力されたデータは、複数種類の暗号回路502のそれぞれへ受け渡されることになる。また、複数種類の暗号回路502のそれぞれからデータが出力されたならば、各データは、それぞれデータ出力部504へ受け渡されることになる。しかしながら、暗号回路作動処理にて複数種類の暗号回路502のうち、特定の暗号回路502のみを作動するように設定し、データ出力部504の当該暗号回路502との接続のみ有効となるように設定したため、データ出力部504へ受け渡されるデータは、認証パラメータに対応した暗号回路502から出力されるデータのみとなる。
【0102】
送信部520は、メインCPU110aや認証情報生成部500から出力されたデータを中間制御部180へ送信するための出力ポートの機能を果たし、第1送信部520aと第2送信部520bとを備えている。第1送信部520aは、メインCPU110aが制御コマンドや各種データを中間制御部180へ送信するための送信部520である。また、第2送信部520bは、認証情報生成部500が認証データを中間制御部180へ送信するための送信部520である。すなわち、本実施形態では、認証情報生成部500が生成する認証データは、制御コマンドを送信する送信部(第1送信部520a)とは別個に設けられた送信部(第2送信部520b)よって中間制御部180へ送信されることとなる。
【0103】
また、第1送信部520aは、第1データ入力部521aと第1送信回路522aとを少なくとも備え、第2送信部520bは、第2データ入力部521bと第2送信回路522bとを少なくとも備えている。なお、第1送信部520aと第2送信部520bとを区別する必要が無いときは、便宜上、これらをまとめて「送信部520」という。同様に、第1データ入力部521aと第2データ入力部521bとをまとめて「データ入力部521a」、第1送信回路522aと第2送信回路522bとをまとめて「送信回路522」という。
【0104】
データ入力部521では、メインCPU110aや認証情報生成部500が行う制御コマンドや認証データの送信処理の際、これら送信すべきデータをデータ入力部521へ書き込むための書き込み信号が入力されると、書き込み信号に対応したデータを、内部バス550を介して取り込む。そして、データ入力部521は、取り込んだデータを送信回路522へ直ちに受け渡す。
【0105】
送信回路522は、主制御部110と中間制御部180や演出制御部120との間のデータ伝送方式(シリアル伝送方式やパラレル伝送方式)に対応したデータ形式に変換する機能や誤り検出符号や誤り訂正符号を付加する機能などを備えている。誤り検出符号等の種類は、主制御部110と中間制御部180や演出制御部120との間で予め取り決めてあれば、特に限定されない。例えば、パリティチェック符号、BCC(Block Check Character)、CRC(Cyclic Redundancy Check)、ハッシュ値等が考えられる。そして、送信回路522は、データ入力部521から受け渡されたデータに上記変換処理等を施して送信データとし、中間制御部180へ直ちに送信する。
【0106】
なお、送信部520は、データ入力部521にバッファ機能を設け、データ入力部521へ書き込まれたデータを一時的に保存する構成とすることもできる。このとき、データ入力部521は、予め取り決められた時間の経過により送信回路522への受け渡しを開始する等、データ入力部521自身で送信タイミングを図る構成を設けることができる。また、データ入力部521は、メインCPU110aや認証情報生成部500からの送信許可信号が入力されるまで待機し、送信許可信号が入力されてはじめて取り込んだデータを送信回路522へ受け渡すようにしてもよい。いずれにしても、送信部520は、メインCPU110aや認証情報生成部500から出力される書き込み信号等が入力されると、送信すべきデータを中間制御部180へ送信する。送信すべきデータと当該データの書き込み信号等とは対となって出力されるものであり、また、これら書き込み信号等の出力先が送信部520であることから、これら書き込み信号等は、メインCPU110aや認証情報生成部500から出力された送信すべきデータを中間制御部180へ送信せしめるための送信部520への送信指示を担う情報となる。
【0107】
次に、主制御部110の各構成部の認証処理に関する動作について説明する。
遊技機1に電源が投入されると、主制御部110にシステムリセットが発生し、メインCPU110aは、ブートROM110dに予め記憶されたブート処理用プログラムに基づいて、主制御部110のブート処理を行う。ブート処理の中で、メインCPU110aは、主制御部110のハードウェア設定項目の一つとして、メインROM110bに予め記憶された認証情報生成部500に関する初期値を認証情報生成部500に設定する。その際、メインCPU110aは、認証情報生成部500に関する初期値の一つである認証パラメータを認証情報生成部500に設定する認証パラメータ設定処理を行う。
【0108】
具体的には、メインCPU110aは、メインCPU110aの起動直後に立ち上るように設定されているブート処理用プログラムを実行し、認証パラメータ設定処理を行う。まず、メインCPU110aは、認証情報生成部500の認証パラメータを読み出すための読み出し信号をメインROM110bへ出力する。メインROM110bでは、メインCPU110aからの読み出し信号が入力されたことにより、予め定めたメインROM110bの特定のアドレスに記憶されている各種初期値(図6の「xyz0H」〜「xzzFH」の領域)のうちの認証パラメータ(図6の「xzy0H」〜「xzzFH」の領域)が出力される。そして、メインCPU110aは、当該読み出し信号によりメインROM110bから出力された認証パラメータを、内部バス550を介して取り込む。
【0109】
続いて、メインCPU110aは、取り込んだ認証パラメータを認証情報生成部500へ設定する。具体的には、メインCPU110aは、取り込んだ認証パラメータを認証情報生成部500の制御部501へ書き込むための書き込み信号を出力する。そして、メインCPU110aは、当該書き込み信号によりメインCPU110aから出力された認証パラメータを、内部バス550を介して制御部501の認証パラメータ用記憶領域へセットする。
【0110】
次に、認証情報生成部500は、暗号回路作動処理を行う。具体的には、認証情報生成部500を構成する制御部501は、自身が保持するアルゴリズムに従って、認証パラメータ用記憶領域にセットされた認証パラメータが、認証情報生成部500を構成する複数種類の暗号回路502のうち、どの暗号回路502に対応した値であるかを確認する。そして、制御部501は、認証パラメータが示す暗号回路502(暗号回路A)に対し、当該暗号回路502(暗号回路A)を有効とする作動許可信号を出力するとともに、データ出力部504の当該暗号回路502(暗号回路A)との接続のみを有効とする接続切替信号を出力する。よって、暗号回路Aからのみ有効なデータが出力される。
【0111】
その後、主制御部110のブート処理が終了すると、認証情報生成部500は、鍵データ決定処理を行う。具体的には、認証情報生成部500を構成する制御部501は、メインCPU110aからの指示によらず、自身が保持するアルゴリズムに従って鍵データを決定する鍵データ決定処理を開始する。そして、制御部501は、決定した鍵データを自身の鍵データ用記憶領域にセットするとともに、暗号回路作動処理で有効とした暗号回路502(暗号回路A)の鍵データ用記憶領域にセットする。なお、制御部501にて決定された鍵データの暗号回路502への設定については、このような構成以外にも、暗号回路502の鍵データ用記憶領域をフリップフロップ回路等で構成し、制御部501から出力される上記鍵データを示した信号を当該回路へ常時入力させるような構成とすることもできる。
【0112】
次に、認証情報生成部500は、認証データ生成処理を行う。まず、認証情報生成部500は、主制御部110に対する個体認証を行うために用いる検査値をメインROM110bから取り込む。具体的には、認証情報生成部500を構成する制御部501は、メインROM110bに記憶されている検査値を読み出すための読み出し信号を出力する。メインROM110bでは、制御部501からの検査値の読み出し信号が入力されたことにより、予め定めたメインROM110bの特定のアドレスに記憶されている検査値が出力される。そして、制御部501は、当該読み出し信号によりメインROM110bから出力された検査値を、内部バス550を介してデータ入力部503へ取り込む。取り込まれた検査値は、そのまま暗号回路502へ受け渡され、暗号回路502の検査値用記憶領域にセットされる。なお、データ入力部503にて取り込まれた検査値の暗号回路502への設定については、このような構成以外にも、データ入力部503の所定の記憶領域で取り込んだ検査値を記憶させておくとともに、暗号回路502の検査値用記憶領域をフリップフロップ回路等で構成し、データ入力部503から出力される上記検査値を示した信号を当該回路へ常時入力させるような構成とすることもできる。
【0113】
続いて、暗号回路502は、取り込んだ検査値に対して予め制御部501からセットされた鍵データを用いて暗号化処理を施し、認証データを生成する。具体的には、暗号回路502のうちの暗号回路Aのみが作動し、検査値用記憶領域から検査値を読み出すとともに、鍵データ用記憶領域から鍵データを読み出し、暗号回路Aにて表された暗号化方式Aで、検査値と鍵データとを演算し、認証データAを生成する。生成された認証データAは、そのままデータ出力部504へ受け渡され、データ出力部504の認証データ用記憶領域にセットされる。そして、認証データAは、認証データの送信タイミングとなるまでデータ出力部504にて保持される。
【0114】
次に、認証情報生成部500は、認証データ送信処理を行う。具体的には、認証情報生成部500を構成する制御部501は、自身の検知手段が、メインCPU110aからの制御コマンドの書き込み信号を検知すると、当該書き込み信号の検知を契機として、データ出力部504の認証データ用記憶領域に保持されている認証データAを第2送信部520bへ書き込むための書き込み信号を出力する。そして、制御部501は、当該書き込み信号によりデータ出力部504から出力された認証データAを、第2送信部520bを構成する第2データ入力部521bの記憶領域へセットする。なお、認証データの送信タイミングについては後述する。
【0115】
続いて、第2送信部520bを構成する第2データ入力部521bは、受け取った認証データAを中間制御部180へ直ちに送信する。具体的には、認証情報生成部500のデータ出力部504から出力された認証データAが第2データ入力部521bの記憶領域に書き込まれてセットされると、第2データ入力部521bは、セットされた認証データAを第2送信回路522bへ直ちに受け渡す。第2送信回路522bは、第2データ入力部521bから受け渡された認証データAに上記変換処理等を施して送信データとし、中間制御部180へ直ちに送信する。
【0116】
一方、メインCPU110aは、主制御部110のブート処理が終了して初期化処理が完了すると、メインROM110bに記憶された遊技処理用プログラムに基づき遊技進行に係る処理を行うが、中間制御部180に認証処理を開始させるタイミングとなると、メインROM110bに予め記憶された認証処理用プログラムコードを読み込んで、認証処理用プログラムに基づき鍵コマンド送信処理を行う。
【0117】
まず、メインCPU110aは、鍵コマンドを構成するために必要な鍵データを認証情報生成部500から取得する。具体的には、メインCPU110aは、認証情報生成部500を構成する制御部501から鍵データを読み出すための読み出し信号を出力する。制御部501では、メインCPU110aからの鍵データの読み出し信号が入力されたことにより、予め鍵データ用記憶領域にセットされていた鍵データがデータ出力部504を介して出力される。そして、メインCPU110aは、当該読み出し信号により制御部501から出力された鍵データを、内部バス550を介して取り込む。そして、メインCPU110aは、メインROM110bに記憶された制御コマンドの分類を識別するための情報を同様に読み出し、これらを併せて鍵コマンドを構成し、メインRAM110cの送信データ用記憶領域にセットする。
【0118】
続いて、メインCPU110aは、送信データ用記憶領域にセットされた鍵コマンドを第1送信部520aにて中間制御部180へ直ちに送信させる。具体的には、メインCPU110aは、メインRAM110cの送信データ用記憶領域にセットされている鍵コマンドを第1送信部520aへ書き込むための書き込み信号を出力する。そして、メインCPU110aは、当該書き込み信号により送信データ用記憶領域から出力された鍵コマンドを、第1送信部520aを構成する第1データ入力部521aの記憶領域へセットする。
【0119】
続いて、第1送信部520aを構成する第1データ入力部521aは、受け取った鍵コマンドを中間制御部180へ直ちに送信する。具体的には、送信データ用記憶領域から出力された鍵コマンドが第1データ入力部521aの記憶領域に書き込まれてセットされると、第1データ入力部521aは、セットされた鍵コマンドを第1送信回路522aへ直ちに受け渡す。第1送信回路522aは、第1データ入力部521aから受け渡された鍵コマンドに上記変換処理等を施して送信データとし、中間制御部180へ直ちに送信する。なお、鍵コマンドの詳細とその送信タイミングについては後述する。
【0120】
その後、主制御部110を構成する送信部520から送信されたデータは、中間制御部180を構成する受信部660にて受信される。
本実施形態では、中間制御部180を構成する受信部660は、主制御部110を構成する送信部520のうちの第1送信部520aから送信されたデータを受信する処理を担う第1受信部660aと、第2送信部520bから送信されたデータを受信する処理を担う第2受信部660bとを備えている。すなわち、本実施形態では、主制御部110から出力された認証データは、制御コマンドを受信する受信部(第1受信部660a)とは別個に設けられた受信部(第2受信部660b)によって中間制御部180にて受信されることとなる。なお、第1受信部660aと第2受信部660bとを区別する必要が無いときは、便宜上、これらをまとめて「受信部660」という。
【0121】
また、第1受信部660aは、第1データ出力部661aと第1受信回路662aとを少なくとも備え、第2受信部660bは、第2データ出力部661bと第2受信回路662bとを少なくとも備えている。なお、第1データ出力部661aと第2データ出力部661bとを区別する必要が無いときは、便宜上、これらをまとめて「データ出力部661a」という。同様に、第1受信回路662aと第2受信回路662bとをまとめて「受信回路662」という。
【0122】
そして、中間制御部180を構成する受信部660は、主制御部110を構成する送信部520から送信されたデータを受信すると、受信したデータを自身で保持するとともに、中間制御部180を構成するCPU180aへその旨を通知する。受信されたデータは、RAM180cの受信データ用記憶領域にセットされ、CPU180aによって各々に応じた処理が行われる。
【0123】
具体的には、送信部520を構成する送信回路522から送信されたデータは、受信部660を構成する受信回路662にて受信される。そして、受信回路662は、送信回路522からの送信データを受信すると、受信したデータをデータ出力部661へ直ちに受け渡す。データ出力部661は、受け渡されたデータを自身の記憶領域に書き込んで保持する。
これとともに、受信部660は、主制御部110の送信データについて受信割込要求があった旨を示す信号を出力したり、主制御部110の送信データの受信が完了したことを示すフラグを立てたりして、CPU180aが、主制御部110の送信データの受信が完了したことを検知できるようにする。そして、受信部660にて保持されたデータは、RAM180cの受信データ用記憶領域に取り込んでセットされ、CPU180aによって各々に応じた処理が行われる。
【0124】
なお、RAM180cの受信データ用記憶領域において、第1受信部660aから取り込んだデータを記憶する受信データ用記憶領域を「第1受信データ用記憶領域」、第2受信部660bから取り込んだデータを記憶する受信データ用記憶領域を「第2受信データ用記憶領域」という。
【0125】
中間制御部180を構成するCPU180aは、第1受信部660aで受信したデータ(鍵コマンドを除く)を演出制御部120へそのまま送信する中継送信処理を行うとともに、第2受信部660bで受信したデータ(認証データ)を用いて個体認証処理を行い、得られた認証結果データを演出制御部120へ送信する処理を行う。
本実施形態では、中間制御部180を構成する送信部は、演出制御部120への中継送信処理を担う第1送信部620a(図示せず)と、認証結果データを送信する処理を担う第2送信部620b(図示せず)とを備えている。すなわち、本実施形態では、中間制御部180から出力される認証結果データは、通常の制御コマンドを中継送信する送信部(第1送信部620a)とは別個に設けられた送信部(第2送信部620b)によって演出制御部120へ送信されることとなる。なお、第1送信部620aと第2送信部620bとを区別する必要が無いときは、便宜上、これらをまとめて「送信部620」という。
【0126】
その後、中間制御部180を構成する送信部620から送信されたデータは、演出制御部120を構成する受信部760(図示せず)にて受信される。
本実施形態では、演出制御部120を構成する受信部760は、中間制御部180を構成する送信部620のうちの第1送信部620aから送信されたデータを受信する処理を担う第1受信部760a(図示せず)と、第2送信部620bから送信されたデータを受信する処理を担う第2受信部760b(図示せず)とを備えている。すなわち、本実施形態では、中間制御部180から出力された認証結果データは、通常の制御コマンドを受信する受信部(第1受信部760a)とは別個に設けられた受信部(第2受信部760b)によって演出制御部120にて受信されることとなる。なお、第1受信部760aと第2受信部760bとを区別する必要が無いときは、便宜上、これらをまとめて「受信部760」という。
【0127】
そして、演出制御部120を構成する受信部760は、中間制御部180を構成する送信部620から送信されたデータを受信すると、受信したデータを自身で保持するとともに、演出制御部120を構成するサブCPU120aへその旨を通知する。受信されたデータは、サブRAM120cの受信データ用記憶領域にセットされ、サブCPU120aによって各々に応じた処理が行われる。
【0128】
なお、サブRAM120cの受信データ用記憶領域において、第1受信部760aから取り込んだデータを記憶する受信データ用記憶領域を「第1受信データ用記憶領域」、第2受信部760bから取り込んだデータを記憶する受信データ用記憶領域を「第2受信データ用記憶領域」という。また、中間制御部180および演出制御部120の認証処理については後述する。
【0129】
[制御コマンドの説明]
以下、本発明の実施形態に係る遊技機1の主制御部110から中間制御部180や演出制御部120に対して送信される制御コマンドの種別について説明する。
図7は、本実施形態に係る遊技機1を構成する主制御部110から中間制御部180や演出制御部120へ送信される制御コマンドの種別を示す図である。なお、図7に示された制御コマンドは一例であり、本発明に係る制御コマンドはこれに限定されるものではない。
【0130】
主制御部110から中間制御部180や演出制御部120へ送信される制御コマンドは、1コマンドが2バイトのデータで構成されており、制御コマンドの分類を識別するための1バイトの「MODE」の情報と、各制御コマンドの詳細な制御内容を示す1バイトの「DATA」の情報とから構成されている。
【0131】
「MODE」の情報と「DATA」の情報は、鍵コマンド以外の通常の遊技処理に用いられる制御コマンド(通常の制御コマンド)については、メインROM110bに予め記憶されている。鍵コマンドの場合、「MODE」の情報は、通常の制御コマンドと同様である(例えば、図7では「EDH」に割り当てられている)。一方、「DATA」の情報は、認証情報生成部500を構成する制御部501から、メインCPU110aへの鍵データ出力よりも前に決定された1バイトの鍵データ(例えば、図7では「○×H」)が使用される。なお、鍵データは、制御部501において予め設定されたタイミングで適宜更新される。よって、鍵コマンドを構成する「DATA」の情報の種類は、少なくとも鍵データの更新時に鍵データが取り得る値の分は少なくとも用意されており、鍵データの更新の度に、例えば、「○×H」→「△○H」→「□×H」等のように適宜変更される。
【0132】
「演出図柄指定コマンド」は、停止表示される特別図柄の種別を示すものであり、「MODE」の情報が「E0H」で設定され、特別図柄の種別に合わせて「DATA」の情報が設定されている。なお、特別図柄の種別が結果的に大当たりの種別や遊技状態を決定するものであるから、演出図柄指定コマンドは、大当たりの種別や、遊技状態を示すものともいえる。
この演出図柄指定コマンドは、各種の特別図柄が決定され、特別図柄の変動表示が開始されるときに、決定された特別図柄に対応する演出図柄指定コマンドが演出制御部120に送信される。具体的には、大当たりの抽選結果を判定し特別図柄各種の特別図柄が決定され特別図柄の変動表示が開始されるときに、決定された特別図柄に対応する演出図柄指定コマンドがメインRAM110cの送信データ用記憶領域にセットされる。その後、送信データ用記憶領域にセットされている演出図柄指定コマンドが中間制御部180を介して演出制御部120へ直ちに送信されることになる。
なお、演出図柄指定コマンド等と関連する大当たりの抽選に関する処理については後述する。
【0133】
「第1特別図柄記憶指定コマンド」は、第1特別図柄保留数(U1)記憶領域に記憶されている保留記憶数を示すものであり、「MODE」の情報が「E1H」で設定され、保留記憶数に合わせて「DATA」の情報が設定されている。
この第1特別図柄記憶指定コマンドは、第1特別図柄保留数(U1)記憶領域に記憶されている保留記憶数が切り替わるときに、保留記憶数に対応する第1特別図柄記憶指定コマンドが演出制御部120に送信される。具体的には、第1始動口14への入球や大当たりの抽選結果の判定に際し第1特別図柄保留数(U1)記憶領域に記憶されている値が増減したときに、増減後の保留記憶数に対応する第1特別図柄記憶指定コマンドがメインRAM110cの送信データ用記憶領域にセットされる。その後、送信データ用記憶領域にセットされている第1特別図柄記憶指定コマンドが中間制御部180を介して演出制御部120へ直ちに送信されることになる。
【0134】
「第2特別図柄記憶指定コマンド」は、第2特別図柄保留数(U2)記憶領域に記憶されている保留記憶数を示すものであり、「MODE」の情報が「E2H」で設定され、保留記憶数に合わせて「DATA」の情報が設定されている。
この第2特別図柄記憶指定コマンドは、第2特別図柄保留数(U2)記憶領域に記憶されている保留記憶数が切り替わるときに、保留記憶数に対応する第2特別図柄記憶指定コマンドが演出制御部120に送信される。具体的には、第2始動口15への入球や大当たりの抽選結果の判定に際し第2特別図柄保留数(U2)記憶領域に記憶されている値が増減したときに、増減後の保留記憶数に対応する第2特別図柄記憶指定コマンドがメインRAM110cの送信データ用記憶領域にセットされる。その後、送信データ用記憶領域にセットされている第2特別図柄記憶指定コマンドが中間制御部180を介して演出制御部120へ直ちに送信されることになる。
なお、本実施形態では、「第1特別図柄記憶指定コマンド」と「第2特別図柄記憶指定コマンド」とをまとめて「特別図柄記憶指定コマンド」という。
【0135】
「図柄確定コマンド」は、特別図柄が停止表示されていることを示すものであり、「MODE」の情報が「E3H」で設定され、「DATA」の情報が「00H」に設定されている。
この図柄確定コマンドは、特別図柄が停止表示されているときに演出制御部120に送信される。具体的には、大当たりの抽選結果を判定し特別図柄の変動時間が経過した後に、特別図柄を第1特別図柄表示装置20または第2特別図柄表示装置21に停止表示させるときに、図柄確定コマンドがメインRAM110cの送信データ用記憶領域にセットされる。その後、送信データ用記憶領域にセットされている図柄確定コマンドが中間制御部180を介して演出制御部120へ直ちに送信されることになる。
【0136】
「電源投入時指定コマンド」は、遊技機1の電源が投入されたことを示すものであり、「MODE」の情報が「E4H」で設定され、「DATA」の情報が「00H」に設定されている。
この電源投入時指定コマンドは、遊技機1の電源が投入されたときに中間制御部180および演出制御部120に送信される。遊技機1の電源が投入され主制御部110の初期化処理が行われる際に、電源遮断時(以下、「電断時」という)に生成したメインRAM110cのバックアップ情報が有効でない場合は、メインRAM110cの作業領域がクリアされ、新たに作業領域の設定が行われる。その後、電源投入時指定コマンドがメインRAM110cの送信データ用記憶領域にセットされる。その後、送信データ用記憶領域にセットされている電源投入時指定コマンドが中間制御部180および中間制御部180を介して演出制御部120へ直ちに送信されることになる。
なお、電源投入時指定コマンド等と関連する初期化処理については後述する。
【0137】
「RAMクリア指定コマンド」は、メインRAM110cに記憶された情報がクリアされたことを示すものであり、「MODE」の情報が「E4H」で設定され、「DATA」の情報が「01H」に設定されている。
遊技機1の裏側には図示しないRAMクリアボタンが設けられており、RAMクリアボタンを押下しながら遊技機1の電源を投入すると、主制御部110にシステムリセットが発生し初期化処理が行われる。そして、メインRAM110cの作業領域がクリアされ新たに作業領域の設定が行われ電源投入時指定コマンドを送信した後に、RAMクリア指定コマンドがメインRAM110cの送信データ用記憶領域にセットされる。その後、送信データ用記憶領域にセットされているRAMクリア指定コマンドが中間制御部180および中間制御部180を介して演出制御部120へ直ちに送信されることになる。
【0138】
「電源復旧指定コマンド」は、遊技機1の電源が投入されて、正常に復旧したことを示すものであり、「MODE」の情報が「E4H」で設定され、電断時の遊技状態別に合わせて「DATA」の情報が設定されている。
この電源復旧指定コマンドは、遊技機1の電源が投入されて、正常に復旧したときに中間制御部180および演出制御部120に送信される。具体的には、遊技機1の電源が投入され初期化処理が行われる際に、電断時に生成したメインRAM110cのバックアップ情報が有効である場合は、バックアップ情報が示す遊技状態に応じた電源復旧指定コマンドを生成し、生成した電源復旧指定コマンドがメインRAM110cの送信データ用記憶領域にセットされる。その後、送信データ用記憶領域にセットされている電源復旧指定コマンドが中間制御部180および中間制御部180を介して演出制御部120へ直ちに送信されることになる。
【0139】
「デモ指定コマンド」は、第1特別図柄表示装置20または第2特別図柄表示装置21が作動していないことを示すものであり、「MODE」の情報が「E5H」で設定され、「DATA」の情報が「00H」に設定されている。
このデモ指定コマンドは、第1特別図柄表示装置20または第2特別図柄表示装置21の特別図柄の保留記憶がないときに、演出制御部120に送信される。具体的には、大当たりの抽選、特別電動役物、遊技状態の制御を行うに際し、第1特別図柄保留数(U1)記憶領域または第2特別図柄保留数(U2)記憶領域のいずれの記憶領域にも1以上のデータがセットされていないときに、デモ指定コマンドがメインRAM110cの送信データ用記憶領域にセットされる。その後、送信データ用記憶領域にセットされているデモ指定コマンドが中間制御部180を介して演出制御部120へ直ちに送信されることになる。
【0140】
「第1特別図柄用変動パターン指定コマンド」は、第1特別図柄表示装置20における特別図柄の変動時間(変動態様)を示すものであり、「MODE」の情報が「E6H」で設定され、各種の変動パターンに合わせて「DATA」の情報が設定されている。
この第1特別図柄用変動パターン指定コマンドは、第1特別図柄表示装置20の特別図柄の変動表示が開始されるときに、決定された特別図柄の変動パターンに対応する第1特別図柄用変動パターン指定コマンドが演出制御部120に送信される。具体的には、大当たりの抽選結果を判定し特別図柄の変動パターンが決定され特別図柄の変動表示が開始されるときに、決定された特別図柄の変動パターンに対応する第1特別図柄用変動パターン指定コマンドがメインRAM110cの送信データ用記憶領域にセットされる。その後、送信データ用記憶領域にセットされている第1特別図柄用変動パターン指定コマンドが中間制御部180を介して演出制御部120へ直ちに送信されることになる。
【0141】
「第2特別図柄用変動パターン指定コマンド」は、第2特別図柄表示装置21における特別図柄の変動時間(変動態様)を示すものであり、「MODE」の情報が「E7H」で設定され、各種の変動パターンに合わせて「DATA」の情報が設定されている。
この第2特別図柄用変動パターン指定コマンドは、第2特別図柄表示装置21の特別図柄の変動表示が開始されるときに、決定された特別図柄の変動パターンに対応する第2特別図柄用変動パターン指定コマンドが演出制御部120に送信される。具体的には、大当たりの抽選結果を判定し特別図柄の変動パターンが決定され特別図柄の変動表示が開始されるときに、決定された特別図柄の変動パターンに対応する第2特別図柄用変動パターン指定コマンドがメインRAM110cの送信データ用記憶領域にセットされる。その後、送信データ用記憶領域にセットされている第2特別図柄用変動パターン指定コマンドが中間制御部180を介して演出制御部120へ直ちに送信されることになる。
なお、本実施形態では、「第1特別図柄用変動パターン指定コマンド」と「第2特別図柄用変動パターン指定コマンド」とをまとめて、「変動パターン指定コマンド」という。
【0142】
「大入賞口開放指定コマンド」は、各種大当りの種別に合わせた大当たりのラウンド数を示すものであり、「MODE」の情報が「EAH」で設定され、大当たりのラウンド数に合わせて「DATA」の情報が設定されている。
この大入賞口開放指定コマンドは、大当りラウンドが開始されるときに、開始されたラウンド数に対応する大入賞口開放指定コマンドが演出制御部120に送信される。具体的には、大当たり遊技処理において第1大入賞口開閉扉16b(または第2大入賞口開閉扉17b)を開放させるときに、開放させるときのラウンド数に対応する大入賞口開放指定コマンドがメインRAM110cの送信データ用記憶領域にセットされる。その後、送信データ用記憶領域にセットされている大入賞口開放指定コマンドが中間制御部180を介して演出制御部120へ直ちに送信されることになる。
【0143】
「オープニング指定コマンド」は、各種の大当りが開始することを示すものであり、「MODE」の情報が「EBH」で設定され、大当たりの種別に合わせて「DATA」の情報が設定されている。
このオープニング指定コマンドは、各種の大当りが開始するときに、大当たりの種別に対応するオープニング指定コマンドが演出制御部120に送信される。具体的には、大当たり遊技処理の開始のときに、大当たりの種別に対応するオープニング指定コマンドがメインRAM110cの送信データ用記憶領域にセットされる。その後、送信データ用記憶領域にセットされているオープニング指定コマンドが中間制御部180を介して演出制御部120へ直ちに送信されることになる。
【0144】
「エンディング指定コマンド」は、各種の大当りが終了したことを示すものであり、「MODE」の情報が「ECH」で設定され、大当たりの種別に合わせて「DATA」の情報が設定されている。
このエンディング指定コマンドは、各種の大当りが終了するときに、大当たりの種別に対応するエンディング指定コマンドが演出制御部120に送信される。具体的には、大当り遊技終了処理の開始のときに、大当たりの種別に対応するエンディング指定コマンドがメインRAM110cの送信データ用記憶領域にセットされる。その後、送信データ用記憶領域にセットされているエンディング指定コマンドが中間制御部180を介して演出制御部120へ直ちに送信されることになる。
【0145】
「遊技状態指定コマンド」は、遊技状態の内容を示すものであり、「MODE」の情報が「EDH」で設定され、遊技状態の内容に合わせて「DATA」の情報が設定されている。
この遊技状態指定コマンドは、特別図柄の変動開始時および変動終了時に遊技状態指定コマンドが演出制御部120に送信される。具体的には、特別図柄の変動開始時および変動終了時などによって、遊技状態記憶領域や高確率遊技回数カウンタなどの現在の遊技状態を示すデータを記憶した各種記憶領域の値が変化したときに、現在の遊技状態に対応する遊技状態指定コマンドがメインRAM110cの送信データ用記憶領域にセットされる。その後、送信データ用記憶領域にセットされている遊技状態指定コマンドが中間制御部180を介して演出制御部120へ直ちに送信されることになる。
【0146】
「鍵コマンド」は、遊技機1で認証処理を実行するため認証データを復号化することを示すものであり、「MODE」の情報が「EEH」で設定され、各種の鍵データに合わせて「DATA」の情報が設定されている。
この鍵コマンドは、遊技機1で認証処理を実行するときに中間制御部180へ送信される。中間制御部180は、主制御部110から鍵コマンドを受信すると、鍵コマンドを用いて認証データを復号化して認証処理を開始し、得られた認証結果を演出制御部120へ送信する。演出制御部120は、中間制御部180から送信された認証結果に応じた処理を行う。遊技機1で認証処理を実行するタイミングは基本的に任意に設定することができる。但し、演出制御部120は、認証処理の他に通常の遊技進行に伴って演出処理を実行する必要があるため、演出制御部120における認証処理の処理負荷はできるだけ抑制することが望ましい。よって、例えば、リセット時やデモ開始時に、遊技機1で認証処理を実行させることが考えられる。
【0147】
例えば、鍵コマンドの送信タイミングがリセット時と設定された場合、鍵コマンドは、RAMクリア指定コマンドや電源復旧指定コマンドの送信を契機として中間制御部180へ送信される。具体的には、鍵コマンドは、RAMクリア指定コマンドや電源復旧指定コマンドがメインRAM110cの送信データ用記憶領域にセットされコマンド送信処理が行われてから、所定時間が経過した後に、認証情報生成部500から取得された鍵データを用いて構成され、送信データ用記憶領域にセットされる。その後、送信データ用記憶領域にセットされた鍵コマンドが中間制御部180へ直ちに送信されることになる。
【0148】
また、例えば、鍵コマンドの送信タイミングがデモ開始時と設定された場合、鍵コマンドは、デモ指定コマンドの送信を契機として中間制御部180へ送信される。具体的には、鍵コマンドは、デモ指定コマンドがメインRAM110cの送信データ用記憶領域にセットされコマンド送信処理が行われてから、所定時間が経過した後に、認証情報生成部500から取得された鍵データを用いて構成され、中間制御部180へ送信される。本実施形態では、リセット時、すなわちRAMクリア指定コマンドや電源復旧指定コマンドの送信を契機として、鍵コマンドを中間制御部180へ送信することとして説明する。
【0149】
[主制御部の制御処理]
以下、本発明の実施形態に係る遊技機1の主制御部110の制御処理について説明する。まず、主制御部110のメイン処理について説明する。
図8は、本実施形態に係る主制御部110によるメイン処理を示すフローチャートである。
【0150】
遊技機1に電源が投入され、電源部170により電源が供給されると、主制御部110にシステムリセットが発生し、メインCPU110aは、初期化処理(図8のステップS1〜ステップS19までの処理)および乱数値更新処理(図8のステップS20およびステップS30の処理)を行う。
【0151】
ステップS1において、メインCPU110aは、主制御部110の初期化処理の前提としてブート処理を行う。このブート処理において、メインCPU110aは、自身の自己診断処理や、内蔵回路や周辺回路等の初期化および初期値の設定を行う。なお、ブート処理の詳細については後述する。
ステップS2において、メインCPU110aは、メインRAM110cへのアクセスを許可に設定する。
ステップS3において、メインCPU110aは、RAMクリアスイッチがオンとなっているか判定し、RAMクリアスイッチがオンと判定された場合、RAMクリアを行うためステップS10に処理を移す。一方、RAMクリアスイッチがオンと判定されなかた場合には、ステップS4に処理を移す。
【0152】
ステップS4において、メインCPU110aは、電源投入時のメインRAM110cの所定の記憶領域におけるチェックサムを生成する。
ステップS5において、メインCPU110aは、生成したチェックサムと、電断時に生成したメインRAM110cの所定の記憶領域におけるチェックサムとを比較する。ここで、一致していれば正常と判定し、ステップS6に処理を移し、一致していなければエラーと判定し、ステップS10に処理を移す。
ステップS6において、メインCPU110aは、演出制御部120をはじめとした周辺部300および中間制御部180との間で、起動後の動作の開始タイミングを調整する。具体的には、周辺部300および中間制御部180がすべて起動し安定状態となってから演出処理等をほぼ同じタイミングで開始できるように、一定時間だけ待機する。
【0153】
ステップS7において、メインCPU110aは、電断からの復旧に際して初期値を必要とするメインRAM110cの作業領域に初期値を設定し、バックアップが有効である場合のRAMの設定処理を行う。
ステップS8において、メインCPU110aは、電断時の遊技状態に復旧すべく、電断時に生成したメインRAM110cのバックアップ情報を読み込む。具体的には、バックアップされているメインRAM110cの遊技状態記憶領域から遊技状態の情報を読み込む。
ステップS9において、メインCPU110aは、読み込んだ遊技状態の情報に基づいて電源復旧指定コマンドを決定し、決定した電源復旧指定コマンドをメインRAM110cの送信データ用記憶領域にセットする。
【0154】
ステップS10において、メインCPU110aは、上記ステップS6と同様に周辺部300および中間制御部180との間でのタイミング調整を行う。
ステップS11において、メインCPU110aは、メインRAM110cの使用領域をクリアする。
ステップS12において、メインCPU110aは、各種乱数値の初期値の設定をはじめとする、遊技機1の初期化に際して初期値を必要とするメインRAM110cの作業領域に初期値を設定し、バックアップが有効でない場合のメインRAM110cの設定処理を行う。
【0155】
ステップS13において、メインCPU110aは、電源投入時指定コマンドを生成し、生成した電源投入時指定コマンドをメインRAM110cの送信データ用記憶領域にセットする。
ステップS14において、メインCPU110aは、送信データ用記憶領域にセットされている制御コマンドを中間制御部180や演出制御部120に送信するコマンド送信処理を行う。すなわち、電源投入時指定コマンドを中間制御部180および中間制御部180を介して演出制御部120に送信する。
【0156】
ステップS15において、メインCPU110aは、RAMクリア指定コマンドを生成し、生成したRAMクリア指定コマンドをメインRAM110cの送信データ用記憶領域にセットする。
ステップS16において、メインCPU110aは、メインRAM110cの送信データ用記憶領域にセットされている制御コマンドを中間制御部180や演出制御部120に送信するコマンド送信処理を行う。すなわち、電源復旧指定コマンドまたはRAMクリア指定コマンドのいずれかの制御コマンドを中間制御部180および中間制御部180を介して演出制御部120に送信する。
ステップS17において、メインCPU110aは、割込許可の設定をするとともに、タイマ割込プログラムの実行周期(α、例えば4ミリ秒)を設定する。
【0157】
ステップS18において、メインCPU110aは、鍵コマンドを生成し、生成した鍵コマンドをメインRAM110cの送信データ用記憶領域にセットする。具体的には、メインCPU110aは、上記ステップS17での割込許可の設定からタイマ割込プログラムの実行周期(α)が経過した後に、認証情報生成部500を構成する制御部501へ鍵データの読み出し信号を出力し、予め制御部501にて生成された鍵データを取得する。その後、取得した鍵データを用いて鍵コマンドを構成し、メインRAM110cの送信データ用記憶領域にセットする。
ステップS19において、メインCPU110aは、メインRAM110cの送信データ用記憶領域にセットされている制御コマンドを中間制御部180や演出制御部120へ送信するコマンド送信処理を行う。すなわち、鍵コマンドを中間制御部180および中間制御部180を介して演出制御部120に送信する。なお、ステップS14およびステップS16のコマンド送信処理は、本ステップS19のコマンド送信処理と同様に、タイマ割込処理の中で行ってもよい。このとき、各制御コマンドの送信順番が前後しないよう予め取り決めておく。また、鍵コマンドの生成および送信を含む認証処理の詳細に関しては後述する。
【0158】
ステップS20において、メインCPU110aは、特別図柄の変動態様(変動時間)を決定するためのリーチ判定用乱数値および特図変動用乱数値を更新する演出用乱数値更新処理を行う。
ステップS30において、メインCPU110aは、特別図柄判定用初期乱数値、大当たり図柄用初期乱数値、小当たり図柄用初期値乱数値、普通図柄判定用初期乱数値を更新する初期乱数値更新処理を行う。その後、所定の割込処理が行われるまで、ステップS20とステップS30との処理を繰り返し行う。
【0159】
次に、主制御部110の割込処理について説明する。
図9は、本実施形態に係る主制御部110による割込処理を示すフローチャートである。
メインCPU110aは、主制御部110に設けられたクロックパルス発生回路(図示せず)から出力されるクロック信号に基づいて、所定の周期(α)ごとに、主制御部110のタイマ割込処理を実行する。
【0160】
まず、ステップS100において、メインCPU110aは、メインCPU110aのレジスタに記憶されている情報をスタック領域に退避させる。
【0161】
ステップS110において、メインCPU110aは、特別図柄時間カウンタの更新処理、特別電動役物の開放時間等などの特別遊技タイマカウンタの更新処理、普通図柄時間カウンタの更新処理、普電開放時間カウンタの更新処理等の各種タイマカウンタを更新する時間制御処理を行う。具体的には、特別図柄時間カウンタ、特別遊技タイマカウンタ、普通図柄時間カウンタ、普電開放時間カウンタから1を減算する処理を行う。
【0162】
ステップS120において、メインCPU110aは、特別図柄判定用乱数値、大当たり図柄用乱数値、小当たり図柄用乱数値、普通図柄判定用乱数値の乱数更新処理を行う。
具体的には、それぞれの乱数値および乱数カウンタに1を加算して更新する。なお、加算した乱数カウンタが乱数範囲の最大値を超えた場合(乱数カウンタが1周した場合)には、乱数カウンタを0に戻し、その時の初期乱数値からそれぞれの乱数値を新たに更新する。
【0163】
ステップS130において、メインCPU110aは、ステップS30と同様に、特別図柄判定用初期乱数値、大当たり図柄用初期乱数値、小当たり図柄用初期値乱数値、普通図柄判定用初期乱数値を更新する初期乱数値更新処理を行う。
【0164】
ステップS200において、メインCPU110aは、入力制御処理を行う。この処理において、メインCPU110aは、一般入賞口検出スイッチ12a、第1大入賞口検出スイッチ16a、第2大入賞口検出スイッチ17a、第1始動口検出スイッチ14a、第2始動口検出スイッチ15a、ゲート検出スイッチ13aの各スイッチに入力があったか否か判定する入力処理を行う。
【0165】
具体的には、一般入賞口検出スイッチ12a、第1大入賞口検出スイッチ16a、第2大入賞口検出スイッチ17a、第1始動口検出スイッチ14a、第2始動口検出スイッチ15aからの各種検出信号を入力した場合には、ぞれぞれの入賞口毎に設けられた賞球のために用いる賞球カウンタに所定のデータを加算して更新する。
【0166】
さらに、第1始動口検出スイッチ14aから検出信号を入力した場合には、第1特別図柄保留数(U1)記憶領域にセットされているデータが4未満であれば、第1特別図柄保留数(U1)記憶領域に1を加算し、特別図柄判定用乱数値、大当たり図柄用乱数値、小当たり図柄用乱数値、リーチ判定用乱数値および特図変動用乱数値を取得して、取得した各種乱数値を第1特別図柄乱数値記憶領域にある所定の記憶部(第0記憶部〜第4記憶部)に記憶する。
【0167】
同様に、第2始動口検出スイッチ15aから検出信号を入力した場合には、第2特別図柄保留数(U2)記憶領域にセットされているデータが4未満であれば、第2特別図柄保留数(U2)記憶領域に1を加算し、特別図柄判定用乱数値、大当たり図柄用乱数値、小当たり図柄用乱数値、リーチ判定用乱数値および特図変動用乱数値を取得して、取得した各種乱数値を第2特別図柄乱数値記憶領域にある所定の記憶部(第0記憶部〜第4記憶部)に記憶する。
【0168】
また、ゲート検出スイッチ13aから検出信号を入力した場合には、普通図柄保留数(G)記憶領域にセットされているデータが4未満であれば、普通図柄保留数(G)記憶領域に1を加算し、普通図柄判定用乱数値を取得して、取得した普通図柄判定用乱数値を普通図柄保留記憶領域にある所定の記憶部(第0記憶部〜第4記憶部)に記憶する。
【0169】
さらに、第1大入賞口検出スイッチ16aまたは第2大入賞口検出スイッチ17aからの検出信号を入力した場合には、第1大入賞口16または第2大入賞口17に入賞した遊技球を計数するための大入賞口入球数(C)記憶領域に1を加算して更新する。
【0170】
ステップS300において、メインCPU110aは、上記ステップS200での入力制御処理に基づいて、大当たりの抽選、特別電動役物、遊技状態の制御を行うための特別図柄・特別電動役物制御処理(以下、「特図特電制御処理」という)を行う。特図特電制御処理の詳細については、図10を用いて後述する。
【0171】
ステップS400において、メインCPU110aは、普通図柄の抽選、普通電動役物の制御を行うための普通図柄・普通電動役物制御処理(以下、「普図普電制御処理」という)を行う。
具体的には、まず普通図柄保留数(G)記憶領域に1以上のデータがセットされているか否かを判定し、普通図柄保留数(G)記憶領域に1以上のデータがセットされていなければ、今回の普図普電制御処理を終了する。
【0172】
普通図柄保留数(G)記憶領域に1以上のデータがセットされていれば、普通図柄保留数(G)記憶領域に記憶されている値から1を減算した後、普通図柄保留記憶領域にある第1記憶部〜第4記憶部に記憶された普通図柄判定用乱数値を1つ前の記憶部にシフトさせる。このとき、既に第0記憶部に書き込まれていた普通図柄判定用乱数値は上書きされて消去されることとなる。
そして、当たり判定テーブルを参照し、普通図柄保留記憶領域の第0記憶部に記憶された普通図柄判定用乱数値が「当たり」に対応する乱数値であるかどうかの判定する処理を行う。その後、普通図柄表示装置22において普通図柄の変動表示を行って、普通図柄の変動時間が経過すると普通図柄の抽選の結果に対応する普通図柄の停止表示を行う。そして、参照した普通図柄判定用乱数値が「当たり」のものであれば、始動口開閉ソレノイド15cを駆動させ、第2始動口15を所定の開放時間、第2の態様に制御する。
【0173】
ステップS500において、メインCPU110aは、払出制御処理を行う。この払出制御処理において、メインCPU110aは、ぞれぞれの賞球カウンタを参照し、各種入賞口に対応する払出個数指定コマンドを生成して、生成した払出個数指定コマンドを払出制御部130に送信する。
【0174】
ステップS600において、メインCPU110aは、外部情報データ、始動口開閉ソレノイドデータ、第1大入賞口開閉ソレノイドデータ、第2大入賞口開閉ソレノイドデータ、特別図柄表示装置データ、普通図柄表示装置データ、記憶数指定コマンドのデータ作成処理を行う。
【0175】
ステップS700において、メインCPU110aは、出力制御処理を行う。この処理において、ステップS600で作成した外部情報データ、始動口開閉ソレノイドデータ、第1大入賞口開閉ソレノイドデータ、第2大入賞口開閉ソレノイドデータの信号を出力させるポート出力処理を行う。
また、第1特別図柄表示装置20、第2特別図柄表示装置21および普通図柄表示装置22の各LEDを点灯させるために、上記S600で作成した特別図柄表示装置データと普通図柄表示装置データとを出力する表示装置出力処理を行う。
さらに、メインRAM110cの送信データ用記憶領域にセットされている制御コマンドを中間制御部180や演出制御部120に送信するコマンド送信処理も行う。
【0176】
ステップS800において、メインCPU110aは、ステップS100で退避した情報をメインCPU110aのレジスタに復帰させる。
【0177】
次に、主制御部110の特図特電制御処理を説明する。
図10は、本実施形態に係る主制御部110による特図特電制御処理を示すフローチャートである。
【0178】
ステップS301において、メインCPU110aは、特図特電処理データの値を読み込む。この「特図特電処理データ」は、特図特電制御処理の各サブルーチンが記憶された記憶領域のアドレスにそれぞれ割り当てられた値であり、特図特電処理データを参照することで、どのサブルーチンを処理するかを識別することができる。そして、特図特電処理データは、後述するように特図特電制御処理の各サブルーチンの中で必要に応じてセットされていき、その遊技において必要なサブルーチンが適宜処理されていくことになる。
【0179】
ステップS302において、メインCPU110aは、読み込んだ特図特電処理データから分岐アドレスを参照し、特図特電処理データ=0であれば特別図柄記憶判定処理(ステップS310)に処理を移し、特図特電処理データ=1であれば特別図柄変動処理(ステップS320)に処理を移し、特図特電処理データ=2であれば特別図柄停止処理(ステップS330)に処理を移し、特図特電処理データ=3であれば大当たり遊技処理(ステップS340)に処理を移し、特図特電処理データ=4であれば大当り遊技終了処理(ステップS350)に処理を移し、特図特電処理データ=5であれば小当り遊技終了処理(ステップS360)に処理を移す。
【0180】
ステップS310の特別図柄記憶判定処理においては、メインCPU110aは、大当たり判定処理、停止表示する特別図柄の決定をする特別図柄決定処理、特別図柄の変動時間を決定する変動時間決定処理等を行う。ここで、図11を用いて、特別図柄記憶判定処理の具体的な内容を説明する。
【0181】
図11は、本実施形態に係る主制御部110による特別図柄記憶判定処理におけるフローチャートである。
【0182】
ステップS311において、メインCPU110aは、第1特別図柄保留数(U1)記憶領域または第2特別図柄保留数(U2)記憶領域に1以上のデータがセットされているか否かを判定する。
そして、第1特別図柄保留数(U1)記憶領域または第2特別図柄保留数(U2)記憶領域のいずれの記憶領域にも1以上のデータがセットされていなければ、特図特電処理データ=0を保持したまま、今回の特別図柄変動処理を終了する。
一方、第1特別図柄保留数(U1)記憶領域または第2特別図柄保留数(U2)記憶領域に1以上のデータがセットされていれば、ステップS312に処理を移す。
【0183】
ステップS312において、メインCPU110aは、大当たり判定処理を行う。
具体的には、第2特別図柄保留数(U2)記憶領域に1以上のデータがセットされている場合には、第2特別図柄保留数(U2)記憶領域に記憶されている値から1を減算した後、第2特別図柄乱数値記憶領域にある第1記憶部〜第4記憶部に記憶された各種乱数値を1つ前の記憶部にシフトさせる。このとき、既に第0記憶部に書き込まれていた各種乱数値は上書きされて消去されることとなる。そして、大当たり判定テーブルを参照して、第2特別図柄乱数値記憶領域の第0記憶部に記憶された特別図柄判定用乱数値が「大当たり」に対応する乱数値であるか、「小当たり」に対応する乱数値であるかの判定を行う。
【0184】
また、第2特別図柄保留数(U2)記憶領域に1以上のデータがセットされておらず、第1特別図柄保留数(U1)記憶領域に1以上のデータがセットされている場合には、第1特別図柄保留数(U1)記憶領域に記憶されている値から1を減算した後、第1特別図柄乱数値記憶領域にある第1記憶部〜第4記憶部に記憶された各種乱数値を1つ前の記憶部にシフトさせる。このときにも、既に第0記憶部に書き込まれていた各種乱数値は上書きされて消去されることとなる。そして、大当たり判定テーブルを参照して、第1特別図柄乱数値記憶領域の第0記憶部に記憶された特別図柄判定用乱数値が「大当たり」に対応する乱数値であるか、「小当たり」に対応する乱数値であるかの判定を行う。
【0185】
本実施形態では、第1特別図柄乱数値記憶領域よりも第2特別図柄乱数値記憶領域に記憶された乱数値が優先してシフト(消化)されることになる。しかしながら、始動口に入賞した順序で、第1特別図柄記憶領域または第2特別図柄記憶領域をシフトさせてもよいし、第1特別図柄記憶領域を第2特別図柄記憶領域よりも優先させてシフトさせてもよい。
【0186】
ステップS313において、メインCPU110aは、停止表示する特別図柄の種類を決定するための特別図柄決定処理を行う。
この特別図柄決定処理では、上記大当り判定処理(ステップS312)において「大当たり」と判定された場合には、図柄決定テーブルを参照して、第1特別図柄乱数値記憶領域の第0記憶部に記憶された大当たり図柄用乱数値に基づいて大当たり図柄(特別図柄1〜特別図柄6)を決定する。また、上記大当り判定処理(ステップS312)において「小当たり」と判定された場合には、図柄決定テーブルを参照して、第1特別図柄乱数値記憶領域の第0記憶部に記憶された小当たり図柄用乱数値に基づいて小当たり図柄(特別図柄A、特別図柄B)を決定する。また、上記大当り判定処理(ステップS312)において「ハズレ」と判定された場合には、図柄決定テーブルを参照して、ハズレ図柄(特別図柄0)を決定する。
そして、決定した特別図柄に対応する停止図柄データを停止図柄データ記憶領域に記憶する。
【0187】
ステップS314において、メインCPU110aは、特別図柄の変動時間決定処理を行う。
具体的には、変動パターン決定テーブルを参照して、第1特別図柄乱数値記憶領域の第0記憶部に記憶されたリーチ判定用乱数値および特図変動用乱数値に基づいて、特別図柄の変動パターンを決定する。その後、決定した特別図柄の変動パターンに対応する特別図柄の変動時間を決定する。そして、決定した特別図柄の変動時間に対応するカウンタを特別図柄時間カウンタにセットする処理を行う。
【0188】
ステップS315において、メインCPU110aは、第1特別図柄表示装置20または第2特別図柄表示装置21に特別図柄の変動表示(LEDの点滅)を行わせるための変動表示データを所定の処理領域にセットする。これにより、所定の処理領域に変動表示データがセットされていると、上記ステップS600でLEDの点灯または消灯のデータが適宜作成され、作成されたデータがステップS700において出力されることで、第1特別図柄表示装置20または第2特別図柄表示装置21の変動表示が行われる。
さらに、メインCPU110aは、特別図柄の変動表示が開始されるときに、上記ステップS314で決定された特別図柄の変動パターンに対応する特別図柄の変動パターン指定コマンド(第1特別図柄用変動パターン指定コマンドまたは第2特別図柄用変動パターン指定コマンド)をメインRAM110cの送信データ用記憶領域にセットする。
【0189】
ステップS316において、メインCPU110aは、特図特電処理データ=0から特図特電処理データ=1にセットして、特別図柄変動処理のサブルーチンに移す準備を行い、特別図柄記憶判定処理を終了する。
【0190】
再び、図10に示す特図特電制御処理について説明を戻すことにする。
ステップS320の特別図柄変動処理においては、メインCPU110aは、特別図柄の変動時間が経過したか否かを判定する処理を行う。
具体的には、ステップS314で決定された特別図柄の変動時間が経過したか(特別図柄時間カウンタ=0)否かを判定し、特別図柄の変動時間が経過していないと判定した場合には、特図特電処理データ=1を保持したまま、今回の特別図柄変動処理を終了する。なお、上記ステップS314でセットされた特別図柄の変動時間のカウンタは、上記ステップS110において減算処理されていく。
【0191】
特別図柄の変動時間が経過したと判定すれば、上記ステップS313で決定された特別図柄を第1特別図柄表示装置20または第2特別図柄表示装置21に停止表示させる。これにより、第1特別図柄表示装置20または第2特別図柄表示装置21に特別図柄が停止表示され、遊技者に大当たりの判定結果が報知されることとなる。
また、高確率遊技回数(X)>0のときには高確率遊技回数(X)カウンタから1を減算して更新し、高確率遊技回数(X)=0となれば、高確率遊技フラグをクリアする。
最後に、特図特電処理データ=1から特図特電処理データ=2にセットして、特別図柄停止処理のサブルーチンに移す準備を行い、特別図柄変動処理を終了する。
【0192】
ステップS330の特別図柄停止処理においては、メインCPU110aは、停止表示された特別図柄が「大当たり図柄」であるか、「小当たり図柄」であるか、「ハズレ図柄」であるかを判定する処理を行う。
そして、大当たり図柄と判定された場合には、遊技状態記憶領域に記憶されているデータを参照し、現在の遊技状態を示すデータを遊技状態バッファにセットする。その後に、遊技状態記憶領域(高確率遊技フラグ記憶領域等)に記憶されているデータ(高確率遊技フラグ)、高確率遊技回数(X)カウンタをクリアする。さらに、特図特電処理データ=2から特図特電処理データ=3にセットして、大当たり遊技処理のサブルーチンに移す準備を行い、特別図柄停止処理を終了する。
【0193】
また、小当たり図柄と判定された場合には、遊技状態記憶領域に記憶されているデータはクリアせずに、特図特電処理データ=2から特図特電処理データ=5にセットして、小当たり遊技処理のサブルーチンに移す準備を行い、特別図柄停止処理を終了する。
一方、ハズレ図柄と判定された場合には、特図特電処理データ=2から特図特電処理データ=0にセットして、特別図柄記憶判定処理のサブルーチンに移す準備を行い、特別図柄停止処理を終了する。
【0194】
ステップS340の大当たり遊技処理においては、メインCPU110aは、上記長当たりまたは短当たりのいずれの大当たりを実行させるかを決定し、決定した大当たりを制御する処理を行う。
具体的には、まず、特別電動役物作動態様決定テーブルを参照し、上記ステップS313で決定された大当たり図柄の種類(停止図柄データ)に基づいて、大当たりの開放態様を決定する。
【0195】
次に、決定した大当たりの開放態様を実行させるために、大入賞口開放態様テーブルを参照し、大当たりの種類に応じた開放時間を特別遊技タイマカウンタにセットするとともに、第1大入賞口開閉ソレノイド16c(または第2大入賞口開閉ソレノイド17c)の駆動データを出力して第1大入賞口開閉扉16b(または第2大入賞口開閉扉17b)を開放させる。このとき、ラウンド遊技回数(R)記憶領域に1を加算する。
この開放中に規定個数の遊技球が入球するか、大入賞口の開放時間が経過すると(大入賞口入球数(C)=9または特別遊技タイマカウンタ=0である)と、第1大入賞口開閉ソレノイド16c(または第2大入賞口開閉ソレノイド17c)の駆動データの出力を停止して第1大入賞口開閉扉16b(または第2大入賞口開閉扉17b)を閉鎖させる。これにより、1回のラウンド遊技が終了する。このラウンド遊技の制御を繰り返し15回行う。
【0196】
15回のラウンド遊技が終了すると(ラウンド遊技回数(R)=15)、ラウンド遊技回数(R)記憶領域および大入賞口入球数(C)記憶領域に記憶されているデータをクリアするとともに、特図特電処理データ=3から特図特電処理データ=4にセットして、大当り遊技終了処理のサブルーチンに移す準備を行い、大当たり遊技処理を終了する。
【0197】
ステップS350の大当り遊技終了処理においては、メインCPU110aは、高確率遊技状態または低確率遊技状態のいずれかの確率遊技状態を決定する処理を行う。
具体的には、大当たり遊技終了時設定データテーブルを参照し、遊技状態バッファに記憶されているデータと上記ステップS313で決定された大当たり図柄の種類(停止図柄データ)とに基づいて、高確率遊技フラグの設定、高確率遊技回数(X)の設定を行う。例えば、特別図柄1であれば、高確率遊技フラグ記憶領域に高確率遊技フラグをセットし、高確率遊技回数(X)カウンタに10000回をセットする。
その後、特図特電処理データ=4から特図特電処理データ=0にセットして、特別図柄記憶判定処理のサブルーチンに移す準備を行い、大当り遊技終了処理を終了する。
【0198】
ステップS360の小当たり遊技処理においては、メインCPU110aは、まず、特別電動役物作動態様決定テーブルを参照し、上記ステップS313で決定された小当たり図柄の種類(停止図柄データ)に基づいて、小当たりの開放態様を決定する。
次に、決定した小当たりの開放態様を実行させるために、大入賞口開放態様テーブルを参照し、小当たりの開放時間を特別遊技タイマカウンタにセットするとともに、第2大入賞口開閉ソレノイド17cの駆動データを出力して第2大入賞口開閉扉17bを開放させる。このとき、開放回数(K)記憶領域に1を加算する。
小当たりの開放時間が経過する(特別遊技タイマカウンタ=0)と、第2大入賞口開閉ソレノイド17cの駆動データの出力を停止して第2大入賞口開閉扉17bを閉鎖させる。この第2大入賞口開閉扉17bの開閉制御を繰り返し15回行う。
【0199】
そして、第2大入賞口開閉扉17bの開閉制御が15回行われるか、第2大入賞口17に規定個数の遊技球が入球する(開放回数(K)=15または大入賞口入球数(C)=9である)と、小当たり遊技を終了させるため、第2大入賞口開閉ソレノイド17cの駆動データの出力を停止させ、開放回数(K)記憶領域および大入賞口入球数(C)記憶領域に記憶されているデータをクリアするとともに、特図特電処理データ=5から特図特電処理データ=0にセットして、特別図柄記憶判定処理のサブルーチンに移す準備を行い、小当たり遊技処理を終了する。
【0200】
[主制御部の認証処理に関する制御処理]
以下、本発明の実施形態に係る遊技機1の主制御部110の認証処理に関する制御処理について説明する。まず、主制御部110のブート処理について説明する。
遊技機1に電源が投入されると、主制御部110にシステムリセットが発生し、メインCPU110aは、ブートROM110dに予め記憶されたブート処理用プログラムに基づいて、主制御部110のブート処理を行う。
図12は、本実施形態に係る主制御部110によるブート処理を示すフローチャートである。
【0201】
ステップS51において、メインCPU110aは、内部状態を割込禁止に設定する。
ステップS52において、メインCPU110aは、自身の初期化後、メインCPU110a自身が正常に作動可能かどうかを確認する自己診断処理を行う。自己診断処理の結果、正常に作動可能であればステップS53へ処理を移し、正常に作動可能でなければ、その後の処理を行わない。
【0202】
ステップS53において、メインCPU110aは、内蔵回路等への初期値設定処理を行う。具体的には、メインCPU110aは、スタックポインタにスタックポイント指定アドレスを設定し、内蔵レジスタの初期化を行うとともに、ワンチップマイコン110mの内蔵回路や周辺回路等の初期化、入出力ポートの初期化を行う。そして、メインCPU110aは、初期値を必要とするこれらの内蔵回路等へ各種の初期値を設定する。このとき、メインCPU110aは、認証情報生成部500の各構成部に対しても同様の処理を施して、認証情報生成部500に対する初期値設定処理を行う。
【0203】
ステップS54において、メインCPU110aは、認証情報生成部500に対して認証パラメータ設定処理を行う。具体的には、メインCPU110aは、認証情報生成部500に対する認証パラメータを読み出すための読み出し信号をメインROM110bへ出力する。そして、メインCPU110aは、当該読み出し信号によりメインROM110bから出力された認証パラメータを、内部バス550を介して取り込む。続いて、メインCPU110aは、取り込んだ認証パラメータを認証情報生成部500の制御部501へ書き込むための書き込み信号を出力する。そして、メインCPU110aは、当該書き込み信号によりメインCPU110aから出力された認証パラメータを、内部バス550を介して制御部501の認証パラメータ用記憶領域へセットする。なお、本ステップS54の認証パラメータ設定処理は、メインCPU110aが行う初期値設定処理の中でも、認証情報生成部500に認証パラメータを設定する処理を特筆したものであるため、初期値設定処理の一環として、ステップS53の中で行うように構成することも可能である。
【0204】
ステップS55において、認証情報生成部500は、暗号回路作動処理を行う。具体的には、認証情報生成部500を構成する制御部501は、自身が保持するアルゴリズムに従って、認証パラメータ用記憶領域にセットされた認証パラメータが、認証情報生成部500を構成する複数種類の暗号回路502のうち、どの暗号回路502に対応した値であるかを確認する。そして、制御部501は、認証パラメータが示す暗号回路502に対し、当該暗号回路502を有効とする作動許可信号を出力するとともに、データ出力部504の当該暗号回路502との接続のみを有効とする接続切替信号を出力する。本実施形態では、制御部501にて、複数種類の暗号回路502のうちの暗号回路Aにのみ、これを有効とする作動許可信号が出力され、暗号回路Aのみが有効に作動するよう設定される。また、制御部501にて、データ出力部504と暗号回路Aとの接続のみを有効とする接続切替信号が出力される。よって、暗号回路Aからのみ有効なデータが出力される。
【0205】
次に、上記認証データの生成・送信処理および鍵コマンド決定・送信処理を含む主制御部110の認証処理について説明する。
図13は、本実施形態に係る主制御部110における認証処理を示すフローチャートである。
【0206】
ステップS71において、主制御部110のブート処理が終了し、認証情報生成部500が起動した後、認証情報生成部500は、メインCPU110aからの指示によらず、自身が保持するアルゴリズムに従って今回の認証処理に使用する鍵データの決定を開始する。鍵データを決定するタイミングは、ブート処理にて暗号回路が作動した後であって、後述するステップS73の認証データの生成処理よりも前であれば特に限定されない。認証情報生成部500を構成する制御部501は、例えば、鍵データ用乱数生成手段等によって生成された乱数値を鍵データとして用いることができる。制御部501は、決定した鍵データを自身の鍵データ用記憶領域にセットするとともに、暗号回路作動処理で有効とした暗号回路502へ受け渡す。
【0207】
ステップS72において、認証情報生成部500は、メインROM110bに記憶されている検査値を読み出し、検査値に暗号化処理を施し認証データを生成する。具体的には、認証情報生成部500を構成する制御部501は、検査値用として予め定めたメインROM110bの特定のアドレスに記憶されているデータを読み出すための読み出し信号を出力する。そして、制御部501は、当該読み出し信号によりメインROM110bから出力された検査値を、内部バス550を介して認証情報生成部500を構成するデータ入力部503へ取り込む。データ入力部503へ取り込まれた検査値は、そのまま暗号回路502へ受け渡される。
【0208】
ステップS73において、認証情報生成部500は、取り込んだ検査値に対して暗号化処理を施し認証データを生成する。具体的には、暗号回路502は、上記ステップS71で制御部501から受け取った鍵データと、上記ステップS72でメインROM110bから取り込まれた検査値とを用いて、主制御部110のブート処理時に有効と設定された暗号回路502で演算し、データ出力部504の認証データ用記憶領域にセットする。本実施形態では、暗号回路502のうち暗号回路Aのみが作動し、暗号回路Aにて表された暗号化方式Aで、取り込まれた検査値と鍵データとを演算し、認証データAを生成する。生成された認証データAは、データ出力部504へ受け渡され、認証データの送信タイミングまで保持される。
【0209】
ステップS74において、メインCPU110aは、ブート処理を含む初期化処理を行った後、制御コマンドを中間制御部180や演出制御部120へ送信するコマンド送信処理を行う(図8の上記ステップS16)。このとき、メインCPU110aは、メインRAM110cの送信データ用記憶領域にセットされた制御コマンドを第1送信部520aへ出力し、中間制御部180や中間制御部180を介して演出制御部120へ送信させる。具体的には、メインCPU110aは、第1送信部520aを構成する第1データ入力部521aへ出力する制御コマンドを書き込むための書き込み信号を出力する。そして、メインCPU110aは、メインRAM110cの送信データ用記憶領域にセットされた制御コマンドを、内部バス550を介して第1データ入力部521aへ書き込んでセットする。
【0210】
ステップS75において、第1送信部520aは、制御コマンドが書き込まれてセットされると、セットされた制御コマンドを中間制御部180へ直ちに送信する。具体的には、第1送信部520aを構成する第1データ入力部521aは、ステップS74で書き込まれた制御コマンドを第1送信回路522aに受け渡す。第1送信回路522aは、受け渡された制御コマンドを中間制御部180へ直ちに送信する。
【0211】
ステップS76において、認証情報生成部500は、メインCPU110aが制御コマンドを第1データ入力部521aへセットしてから、所定時間(β)経過後に、認証データを中間制御部180へ送信するとして、認証データの送信タイミングを設定する。認証データの送信タイミングは、メインCPU110aからの指示によらず、認証情報生成部500が保持するアルゴリズムで予め設定されている。
このタイミングは、メインCPU110aにて所定の周期(α)ごとに送信されるそれぞれの制御コマンドが中間制御部180の第1受信部660aにて受信完了となり、CPU180aが受信完了を検知できることとなった時点以降に、認証データが中間制御部180の第2受信部660bにて受信開始されるようなタイミングである。
【0212】
ここで、メインCPU110aが上記ステップS74で制御コマンドを第1送信部520aの第1データ入力部521aへ書き込むための書き込み信号を出力した時点から、当該制御コマンドの第1受信部660aの第1データ出力部661aへの書き込みが完了して、CPU180aへ受信割込要求信号が入力される時点までに要する時間をT1( <<α)とする。また、上記制御コマンドの書き込み信号が出力された時点から、制御部501が上記制御コマンドの書き込み信号を検知し、認証データを第2送信部520bにて送信させ、認証データが第2受信部660bの第2データ出力部661bへ書き込み開始される時点までに要する時間をT2( <T1)とする。
このような場合において、制御部501は、検知した上記制御コマンドの書き込み信号の入力時点を基準として、T1−T2=β時間が経過した時点以降に、認証データの第2データ入力部521bへの書き込み信号が出力されるように、当該書き込み信号の出力タイミングを設定する。
【0213】
ステップS77において、認証情報生成部500は、上記ステップS76で設定した認証データの送信タイミングに基づいて、認証データの書き込み信号を内部バス550へ出力し、認証データを第2送信部520bへ書き込んでセットする。具体的には、認証情報生成部500を構成する制御部501は、送信タイミングとなると、第2送信部520bを構成する第2データ入力部521bへ出力する認証データを書き込むための書き込み信号を、内部バス550へ出力する。そして、制御部501は、上記ステップS73でデータ出力部504にて保持された認証データAを、内部バス550を介して第2データ入力部521bへ書き込んでセットする。
【0214】
ステップS78において、第2送信部520bは、認証データが書き込まれてセットされると、中間制御部180へ直ちに送信する。具体的には、第2送信部520bを構成する第2データ入力部521bは、上記ステップS77で書き込まれた認証データAを第2送信回路522bへ受け渡す。第2送信回路522bは、受け渡された認証データを直ちに中間制御部180へ送信する。
【0215】
ステップS79において、メインCPU110aは、上記ステップS74の処理から所定の周期(α)が経過した後、認証情報生成部500から鍵データを読み出す。具体的には、メインCPU110aは、認証情報生成部500を構成する制御部501の鍵データ用記憶領域に記憶されている鍵データを読み出すための読み出し信号をする。
ステップS80において、認証情報生成部500は、メインCPU110aに対して鍵データを出力する。具体的には、認証情報生成部500を構成する制御部501は、メインCPU110aからの鍵データの読み出し信号が入力されると、上記ステップS71で決定した鍵データを鍵データ用記憶領域から、データ出力部504および内部バス550を介してメインCPU110aへ出力する。
ステップS81において、メインCPU110aは、読み出した鍵データを用いて鍵コマンドを構成し、上記ステップS74と同様に、第1送信部520aを構成する第1データ入力部521aへ書き込んでセットする。
【0216】
ステップS82において、第1送信部520aは、第1データ入力部521aに鍵コマンドが書き込まれると、上記ステップS75と同様に、鍵コマンドを直ちに中間制御部180へ送信する。なお、メインCPU110aは、鍵コマンドを第1データ入力部521aへ書き込む際に、上記ステップS74と同様に、書き込み信号を出力する。認証情報生成部500を構成する制御部501は、上記ステップS76と同様に、上記ステップS81で出力された書き込み信号を検知し、検知した書き込み信号の入力を基準として、次回の認証処理に用いる認証データの送信タイミングを決定することができる。
【0217】
ステップS83において、認証情報生成部500は、上記ステップS71と同様の方法で鍵データを更新する。なお、鍵データの更新のタイミングは、上記ステップS80の後、すなわち、認証情報生成部500が、上記ステップS79のメインCPU110aからの鍵データの読み出し信号に応じて、上記ステップS80で鍵データを出力した後とする。
仮に、鍵データの更新タイミングを、上記ステップS80の鍵データの出力より前とすると、上記ステップS77で第2データ入力部521bへ書き込んだ認証データの生成に用いた鍵データと、上記ステップS81で第1データ入力部521aへ書き込んだ鍵コマンドを構成する鍵データが一致しなくなるおそれが生じる。そうすると、中間制御部180では、鍵コマンドを受信して認証処理を開始しても認証データを復号化することができない。
したがって、鍵データの更新タイミングは、認証情報生成部500が、上記ステップS83のように、メインCPU110aからの鍵データの読み出し信号に応じて、鍵データを出力した時点以降とする。
【0218】
認証データの送信タイミングを上記のように設定することで、認証データの送信タイミングと制御コマンドの送信タイミングの時間軸上の位置関係が明確化され、認証データの送信は、制御コマンドの送信直後に必ず行われることとなる。これによって、中間制御部180では、新たな判断処理ステップや特別な解析手段を設けなくとも、受信した鍵コマンドを構成する鍵データと、受信した認証データの生成に用いた鍵データとの対応関係を容易に判別できる。よって、認証データと鍵データとの不一致によって復号化処理が実行不可となるおそれを低減し、認証処理の確度を向上することができる。また、これによって、中間制御部180では、主制御部110から送信されるデータに識別子が付与されていたり、別途識別情報が送信されたりしなくとも、受信順序だけで受信データが認証データか否かを容易に識別できる。よって、中間制御部180では、新たな解析手段を追加することに伴うコードサイズの増大や作業工数の増大を抑止することができる。
【0219】
また、これによって、ソフトウェア開発上、制御コマンドの送信に関する既存のプログラムコードに対する認証データの送信に関するコードの結合度が低いままで認証データの送信に関する機能を追加することができる。よって、例えば、デバッグ作業時は、既存の制御コマンドの送信に関するものだけ先に作業を行った上で、認証データの送信に関するものは後から作業を行うことができ、より簡単に少ない作業工数で実施することができる。
【0220】
また、鍵データの更新タイミングを上記のように設定することで、中間制御部180での認証処理の際に、認証データと鍵データとの不一致によって復号化処理が実行不可となるおそれを更に低減し、認証処理の確度を向上することができる。
【0221】
なお、図13では、鍵コマンドを送信する契機となる制御コマンド(ステップS74での送信処理の対象となった制御コマンド)が実行された後、所定の周期としてα時間経過した後に、鍵コマンドが実行されている例を示したが、上記の所定の周期は時間に限定されず、所定クロック数や制御コマンドの所定送信回数等を用いてもよい。
また、鍵コマンドを送信する契機となる制御コマンドも、1種類の制御コマンドに限定する必要はなく、例えば、RAMクリア指定コマンドとデモ指定コマンドの2種類、或いは2種類以上の制御コマンドを契機とするように構成してもよい。また、鍵コマンドを送信する契機となる制御コマンドを、予め設定した取り決めに従って変更するように構成してもよい。
また、鍵コマンドを送信する契機となる制御コマンドが送信される度に認証データを逐次送信しなくてもよく、例えば、鍵コマンドを送信する契機となる制御コマンドが2回送信されたら1回だけ認証データ(および鍵コマンド)を送る等と構成してもよい。
【0222】
また、認証データの送信タイミングを設定するにあたって、鍵コマンドを送信する契機となる制御コマンドの書き込み信号を基準とし、当該書き込み信号の出力を検知してから、所定時間(β)遅延して、認証データの書き込みが開始されるように設定されている。しかしながら、本発明はこれに限定されず、例えば、鍵コマンドを送信する契機となる制御コマンドの書き込み信号を基準として、制御コマンドが所定回数送信された後に送信される制御コマンドの後や、所定クロック数経過した後に送信される制御コマンドの後などに、送信タイミングを設定することとしてもよい。
【0223】
また、鍵データの更新タイミングを設定するにあたって、認証データの送信と鍵コマンドの送信とが1回ずつ完了する度に新たな鍵データで認証データが生成されるように、鍵データの更新タイミングが設定されている。しかしながら、本発明はこれに限定されず、メインCPU110aからの鍵データの読み出し信号に応答した認証情報生成部500の鍵データの出力時点から、所定時間や所定クロック数が経過した後や、制御コマンドや認証データの送信回数が所定回数経過した後などに、更新タイミングを設定することとしてもよい。
【0224】
更新タイミングを認証データの所定送信回数経過後と設定した場合、その送信回数は、中間制御部180のRAM180cの認証データ記憶領域にて保持可能な認証データ数以下に抑えておけばよい。この場合、中間制御部180での復号化処理において、RAM180cの認証データ用記憶領域および鍵データ用記憶領域から、認証データおよび鍵データを読み出す際には、両記憶領域に書き込まれた順番と両記憶領域から読み出す順番とが一致するように取り決めておく(いわゆる、先入れ先出し)。このように取り決めておけば、鍵コマンド受信時の直前に受信した認証データに対して復号化処理を施すことに限定されず、例えば、鍵コマンド受信時より所定回数前に受信した認証データに対して復号化処理を施すことができる。また、当該所定回数を示す情報や鍵データの更新状況を示した情報を鍵データとともに都度送信するように構成することもできる。
【0225】
[中間制御部の制御処理]
以下、本発明の実施形態に係る遊技機1の中間制御部180の制御処理について説明する。
図14は、本実施形態に係る中間制御部180によるメイン処理を示すフローチャートである。
【0226】
ステップS4010において、CPU180aは、初期化処理を行う。この処理において、CPU180aは、電源投入に応じて、ROM180bからメイン処理に関するプログラムコードを読み込む。これとともに、CPU180aは、RAM180cに記憶されるフラグなどを初期化し、所定値に設定する処理を行う。この処理が終了した場合には、ステップS4020へ処理を移す。
【0227】
ステップS4020において、CPU180aは、主制御部110が送信する制御コマンドや各種データ(以下、「制御コマンド等」という)を受信したか否かを判定する。
中間制御部180を構成する受信部660は、主制御部110から送信された制御コマンド等を受信すると、主制御部110から制御コマンド等の受信割込要求があった旨を示す信号を出力し、制御コマンド等の受信割込処理を発生させる。
そして、CPU180aは、本ステップS4020において、受信部660からの上記受信割込要求信号が入力されるまで待機し、受信部660からの上記信号が入力されると、受信した制御コマンド等をRAM180cの受信データ用記憶領域へ取り込んで記憶する。このとき、CPU180aは、受信したデータが第1受信部660aにて受信したデータであれば、第1受信部660aのデータ出力部661aから第1受信データ用記憶領域に取り込んで記憶する。また、受信したデータが第2受信部660bにて受信したデータであれば、第2受信部660bのデータ出力部661bから第2受信データ用記憶領域に取り込んで記憶する。
【0228】
その後、CPU180aは、RAM180cの受信データ用記憶領域に記憶されたデータの内容を解析し、記憶されたデータに応じた処理を行う受信データ解析処理を行う。具体的には、次のステップS4030からステップS4080の処理である。
【0229】
ステップS4030において、CPU180aは、第1受信データ用記憶領域に鍵コマンドが記憶されているか否かを判定する。そして、CPU180aは、第1受信データ用記憶領域に鍵コマンドが記憶されていなければステップS4050に処理を移し、鍵コマンドが記憶されていればステップS4040に処理を移す。
ステップS4040において、CPU180aは、第1受信データ用記憶領域に記憶されている鍵コマンドを構成する鍵データをRAM180cの鍵データ用記憶領域に書き込んで記憶させ、ステップS4090に処理を移す。
【0230】
ステップS4050において、CPU180aは、第2受信データ記憶領域に認証データが記憶されているか否かを判定する。
そして、CPU180aは、第2受信データ用記憶領域に認証データが記憶されていなければステップS4070に処理を移し、第2受信データ用記憶領域に認証データが記憶されていればステップS4060に処理を移す。
ステップS4060において、CPU180aは、第2受信データ用記憶領域に記憶されている認証データをRAM180cの認証データ用記憶領域に書き込んで記憶させ、ステップS4020以降の処理を繰り返す。
【0231】
ステップS4070において、CPU180aは、中継送信処理を行う。この処理において、CPU180aは、受信データ用記憶領域に記憶されているデータ(鍵コマンドおよび認証データ以外のデータ)を演出制御部120へそのまま送信させ、主制御部110から送信されたデータを演出制御部120へ中継送信する。具体的には、CPU180aは、第1受信データ用記憶領域に記憶されているデータを、そのままRAM180cの送信データ用記憶領域に書き込んでセットし、ステップS4080へ進む。
ステップS4080において、CPU180aは、送信データ用記憶領域にセットされているデータを送信データとして、中間制御部180を構成する第1送信部620aにて、演出制御部120へ直ちに送信させ、ステップS4020以降の処理を繰り返す。
【0232】
その後、CPU180aは、RAM180cの認証データ用記憶領域に記憶された認証データから検査値を抽出するとともに、予めROM180bに記憶されている期待値と照合し、得られた結果を演出制御部120へ送信する。具体的には、次のステップS4090からステップS4170の処理である。
ステップS4090おいて、CPU180aは、RAM180cの認証データ用記憶領域に、予め受信した認証データが記憶されているか否かを確認する。そして、CPU180aは、認証データ用記憶領域に認証データが記憶されていなければ、未だ認証処理が行える段階ではないとして、ステップS4020以降の処理を繰り返す。一方、CPU180aは、認証データ用記憶領域に認証データが記憶されていれば、ステップS4100に処理を移す。
【0233】
ステップS4100において、CPU180aは、鍵データ用記憶領域および認証データ用記憶領域から鍵データおよび認証データを読み出し、ステップS4110に処理を移す。なお、鍵データ用記憶領域および認証データ用記憶領域から鍵データおよび認証データを読み出す際には、両記憶領域に書き込まれた順番と両記憶領域から読み出す順番とが一致するように取り決めておく。これにより、認証データの生成に用いた鍵データと鍵コマンドを構成する鍵データとがより確実に一致し、鍵データと認証データの不一致によって復号化処理が実行不可となることを防止し、認証処理の確度を向上することができる。
【0234】
ステップS4110において、CPU180aは、読み出した鍵データと認証データとを用いて検査値を抽出する。具体的には、CPU180aは、認証データに対して鍵データを所定の復号化方式で演算する。復号化方式は、主制御部110との間で予め取り決められている。CPU180aは、この演算結果が検査値に相当すると認識し、RAM180cの検査値用記憶領域に書き込んで記憶し、ステップS4120に処理を移す。
ステップS4120において、CPU180aは、ROM180bの所定の記憶領域に予め記憶された期待値を読み出し、ステップS4130に処理を移す。
【0235】
ステップS4130において、CPU180aは、検査値用記憶領域から抽出した検査値を読み出し、検査値と期待値とが一致するか否かを判定する。そして、CPU180aは、検査値と期待値とが一致する場合、今回の認証処理において主制御部110に対する個体認証が成功し、遊技機1の正当性を認証することができたと判断し、ステップS4140に処理を移す。一方、CPU180aは、検査値と期待値とが一致しない場合、今回の認証処理において主制御部110に対する個体認証は不成功であり、遊技機1で不正行為や誤動作が発生したおそれがあると判断し、ステップS4150に処理を移す。
【0236】
ステップS4140において、CPU180aは、成功を示す認証結果データを生成し、ステップS4160に処理を移す。
ステップS4150において、CPU180aは、不成功を示す認証結果データを生成し、ステップS4160に処理を移す。
【0237】
ステップS4160において、CPU180aは、得られた認証結果データを演出制御部120へ送信させる。具体的には、CPU180aは、ステップS4140またはステップS4150で生成した成功または不成功を示す認証結果データを、RAM180cの送信データ用記憶領域に書き込んでセットし、ステップS4170へ進む。
ステップS4170において、CPU180aは、送信データ用記憶領域にセットされたデータを送信データとして、中間制御部180を構成する第2送信部620bにて、演出制御部120へ直ちに送信させる。その後、所定の割込処理があるまで、ステップS4020以降の処理を繰り返す。
【0238】
[演出制御部の制御処理]
以下、本発明の実施形態に係る遊技機1の演出制御部120の制御処理について説明する。まず、演出制御部120のメイン処理について説明する。
図15は、本実施形態に係る演出制御部120によるメイン処理を示すフローチャートである。
【0239】
ステップS1000において、サブCPU120aは、初期化処理を行う。この処理において、サブCPU120aは、電源投入に応じて、サブROM120bからメイン処理に関するプログラムコードを読み込む。これとともに、サブCPU120aは、サブRAM120cに記憶されるフラグなどを初期化し、所定値に設定する処理を行う。この処理が終了した場合には、ステップS1200へ処理を移す。
【0240】
ステップS1100において、サブCPU120aは、演出用乱数更新処理を行う。この処理において、サブCPU120aは、サブRAM120cに記憶される演出用乱数値、演出図柄決定用乱数、演出モード決定用乱数等を更新する処理を行う。以降は、所定の割込処理が行われるまで、上記ステップS1100の処理を繰り返し行う。
【0241】
次に、演出制御部120の割込処理について説明する。
図16は、本実施形態に係る演出制御部120による割込処理を示すフローチャートである。
サブCPU120aは、演出制御部120に設けられたクロックパルス発生回路(図示せず)から出力されるクロック信号に基づいて、所定の周期(例えば2ミリ秒)ごとに、演出制御部120のタイマ割込処理を実行する。
【0242】
ステップS1200において、サブCPU120aは、サブCPU120aのレジスタに記憶されている情報をスタック領域に退避させる。
ステップS1300において、サブCPU120aは、演出制御部120で用いられる各種タイマカウンタの更新処理を行う。
【0243】
ステップS1500において、サブCPU120aは、コマンド解析処理を行う。この処理において、サブCPU120aは、サブRAM120cの第1受信データ用記憶領域に記憶された制御コマンドの種別を解析する処理を行う。
演出制御部120を構成する受信部760では、中間制御部180から送信された制御コマンド等を受信すると、中間制御部180から制御コマンド等の受信割込要求があった旨を示す信号を出力し、制御コマンド等の受信割込処理を発生させる。
サブCPU120aは、受信した制御コマンド等を、受信部760からサブRAM120cの受信データ用記憶領域へ取り込んで記憶する。このとき、サブCPU120aは、受信したデータが第1受信部760aにて受信したデータであれば、第1受信部760aからサブRAM120cの第1受信データ用記憶領域に取り込んで記憶する。また、受信したデータが第2受信部760bにて受信したデータであれば、第2受信部760bからサブRAM120cの第2受信データ用記憶領域に取り込んで記憶する。
サブCPU120aは、受信データ用記憶領域に記憶された制御コマンド等のうち、第1受信データ用記憶領域に記憶されたデータの内容を解析し、記憶されたデータに応じた処理を行う。
そして、サブCPU120aは、本ステップS1500において、第1受信データ用記憶領域に記憶されたデータが制御コマンドであると判定されると、その種別を更に解析し、制御コマンドの種別に応じた処理を行う。なお、コマンド解析処理の詳細については後述する。
【0244】
ステップS1650において、サブCPU120aは、認証結果データ解析処理を行う。この処理において、サブCPU120aは、サブRAM120cの第2受信データ用記憶領域に記憶された認証結果データの内容を解析する処理を行う。
サブCPU120aは、上記ステップS1500において受信データ用記憶領域に記憶された制御コマンド等のうち、第2受信データ用記憶領域に記憶されたデータの内容を解析し、記憶されたデータに応じた処理を行う。
そして、サブCPU120aは、本ステップS1650において、第2受信データ用記憶領域に記憶されたデータが認証結果データであると判定されると、その内容を更に解析し、認証結果データの内容に応じた処理を行う。なお、認証結果データ解析処理の詳細については後述する。
【0245】
ステップS1700において、サブCPU120aは、演出ボタン検出スイッチ35aの信号のチェックを行い、演出ボタン35からの入力に関する演出用入力制御処理を行う。
ステップS1800において、サブCPU120aは、サブRAM120cの送信データ用記憶領域にセットされた制御コマンドや各種データを、ランプ制御部140や画像制御部150へ送信するための処理である演出用出力制御処理を行う。
ステップS1900において、サブCPU120aは、ステップS1200で退避した情報をサブCPU120aのレジスタに復帰させる。
【0246】
次に、演出制御部120のコマンド解析処理について説明する。
図17および図18は、本実施形態に係る演出制御部120によるコマンド解析処理を示すフローチャートである。なお、図18のコマンド解析処理2は、図17のコマンド解析処理1に引き続いて行われるものである。
【0247】
ステップS1501において、サブCPU120aは、制御コマンドを受信したか否かを判定する。具体的には、サブCPU120aは、サブRAM120cの第1受信データ用記憶領域に制御コマンドが記憶されているか否かを確認して、制御コマンドを受信したか否かを判定する。そして、サブCPU120aは、第1受信データ用記憶領域に制御コマンドが記憶されていなければコマンド解析処理を終了し、第1受信データ用記憶領域に制御コマンドが記憶されていればステップS1510に処理を移す。
【0248】
ステップS1510において、サブCPU120aは、第1受信データ用記憶領域に記憶されている制御コマンドが、デモ指定コマンドであるか否かを確認する。
サブCPU120aは、第1受信データ用記憶領域に記憶されている制御コマンドがデモ指定コマンドであれば、ステップS1511に処理を移し、デモ指定コマンドでなければステップS1520に処理を移す。
【0249】
ステップS1511において、サブCPU120aは、デモ演出パターンを決定するデモ演出パターン決定処理を行う。
具体的には、デモ演出パターンを決定し、決定したデモ演出パターンを演出パターン記憶領域にセットするとともに、決定したデモ演出パターンの情報を画像制御部150とランプ制御部140に送信するため、決定したデモ演出パターンに基づく演出パターン指定コマンドをサブRAM120cの送信データ用記憶領域にセットする。
【0250】
ステップS1520において、サブCPU120aは、第1受信データ用記憶領域に記憶されている制御コマンドが、特別図柄記憶指定コマンドであるか否かを確認する。
サブCPU120aは、第1受信データ用記憶領域に記憶されている制御コマンドが特別図柄記憶指定コマンドであれば、ステップS1521に処理を移し、特別図柄記憶指定コマンドでなければステップS1530に処理を移す。
【0251】
ステップS1521において、サブCPU120aは、特別図柄記憶指定コマンドを解析して、液晶表示装置31に表示させる特別図柄の保留画像(以下、「特図保留画像」という)の表示個数を決定するとともに、決定した特図保留画像の表示個数に対応する特図表示個数指定コマンドを画像制御部150とランプ制御部140に送信する特別図柄記憶数決定処理を行う。
【0252】
ステップS1530において、サブCPU120aは、第1受信データ用記憶領域に記憶されている制御コマンドが、演出図柄指定コマンドであるか否かを確認する。
サブCPU120aは、第1受信データ用記憶領域に記憶されている制御コマンドが演出図柄指定コマンドであれば、ステップS1531に処理を移し、演出図柄指定コマンドでなければステップS1540に処理を移す。
【0253】
ステップS1531において、サブCPU120aは、受信した演出図柄指定コマンドの内容に基づいて、液晶表示装置31に停止表示させる演出図柄36を決定する演出図柄決定処理を行う。
具体的には、演出図柄指定コマンドを解析して、大当たりの有無、大当たりの種別に応じて演出図柄36の組み合わせを構成する演出図柄データを決定し、決定された演出図柄データを演出図柄記憶領域にセットするとともに、演出図柄データを画像制御部150とランプ制御部140に送信するため、演出図柄データ示す停止図柄指定コマンドをサブRAM120cの送信データ用記憶領域にセットする。
【0254】
ステップS1532において、サブCPU120aは、上記ステップ1100において更新されている演出モード決定用乱数値から1つの乱数値を取得し、取得した演出モード決定用乱数値と受信した演出図柄指定コマンドに基づいて、複数の演出モード(例えば、ノーマル演出モードやチャンス演出モード)の中から1つの演出モードを決定する演出モード決定処理を行う。また、決定した演出モードは、演出モード記憶領域にセットされる。
【0255】
ステップS1540において、サブCPU120aは、第1受信データ用記憶領域に記憶されている制御コマンドが、変動パターン指定コマンドであるか否かを確認する。
サブCPU120aは、第1受信データ用記憶領域に記憶されている制御コマンドが変動パターン指定コマンドであれば、ステップS1541に処理を移し、変動パターン指定コマンドでなければステップS1550に処理を移す。
【0256】
ステップS1541において、サブCPU120aは、上記ステップ1100において更新されている演出用乱数値から1つの乱数値を取得し、取得した演出用乱数値、受信した変動パターン指定コマンドおよび演出モード記憶領域にセットされている演出モードに基づいて、複数の変動演出パターンの中から1つの変動演出パターンを決定する変動演出パターン決定処理を行う。
具体的には、ノーマル演出モードであれば、変動演出パターン決定テーブルを参照し、取得した演出用乱数値に基づいて1つの変動演出パターンを決定し、決定した変動演出パターンを演出パターン記憶領域にセットするとともに、決定した変動演出パターンの情報を画像制御部150とランプ制御部140に送信するため、決定した変動演出パターンに基づく演出パターン指定コマンドをサブRAM120cの送信データ用記憶領域にセットする。
その後、かかる演出パターンに基づいて、液晶表示装置31、音声出力装置32、演出用駆動装置33、演出用照明装置34が制御されることになる。なお、ここで決定した変動演出パターンに基づいて、演出図柄36の変動態様が決定されることとなる。
【0257】
ステップS1550において、サブCPU120aは、第1受信データ用記憶領域に記憶されている制御コマンドが、図柄確定コマンドであるか否かを確認する。
サブCPU120aは、第1受信データ用記憶領域に記憶されている制御コマンドが図柄確定コマンドであれば、ステップS1551に処理を移し、図柄確定コマンドでなければステップS1560に処理を移す。
【0258】
ステップS1551において、サブCPU120aは、演出図柄36を停止表示させるために、演出図柄を停止表示させるための停止指定コマンドをサブRAM120cの送信データ用記憶領域にセットする演出図柄停止表示処理を行う。
【0259】
ステップS1560において、サブCPU120aは、第1受信データ用記憶領域に記憶されている制御コマンドが、遊技状態指定コマンドであるか否かを判定する。
サブCPU120aは、第1受信データ用記憶領域に記憶されている制御コマンドが遊技状態指定コマンドであればステップS1561に処理を移し、遊技状態指定コマンドでなければステップS1570に処理を移す。
【0260】
ステップS1561において、サブCPU120aは、受信した遊技状態指定コマンドに基づいた遊技状態を示すデータをサブRAM120cにある遊技状態記憶領域にセットする。
【0261】
ステップS1570において、サブCPU120aは、第1受信データ用記憶領域に記憶されている制御コマンドが、オープニング指定コマンドであるか否かを確認する。
サブCPU120aは、第1受信データ用記憶領域に記憶されている制御コマンドがオープニング指定コマンドであればステップS1571に処理を移し、オープニング指定コマンドでなければステップS1580に処理を移す。
【0262】
ステップS1571において、サブCPU120aは、当たり開始演出パターンを決定する当たり開始演出パターン決定処理を行う。
具体的には、オープニング指定コマンドに基づいて当たり開始演出パターンを決定し、決定した当たり開始演出パターンを演出パターン記憶領域にセットするとともに、決定した当たり開始演出パターンの情報を画像制御部150とランプ制御部140に送信するため、決定した当たり開始演出パターンに基づく演出パターン指定コマンドをサブRAM120cの送信データ用記憶領域にセットする。
【0263】
ステップS1580において、サブCPU120aは、第1受信データ用記憶領域に記憶されている制御コマンドが、大入賞口開放指定コマンドであるか否かを確認する。
サブCPU120aは、第1受信データ用記憶領域に記憶されている制御コマンドが大入賞口開放指定コマンドであればステップS1581に処理を移し、大入賞口開放指定コマンドでなければステップS1590に処理を移す。
【0264】
ステップS1581において、サブCPU120aは、大当たり演出パターンを決定する大当たり演出パターン決定処理を行う。
具体的には、大入賞口開放指定コマンドに基づいて大当たり演出パターンを決定し、決定した大当たり演出パターンを演出パターン記憶領域にセットするとともに、決定した大当たり演出パターンの情報を画像制御部150とランプ制御部140に送信するため、決定した大当たり演出パターンに基づく演出パターン指定コマンドをサブRAM120cの送信データ用記憶領域にセットする。
【0265】
ステップS1590において、サブCPU120aは、第1受信データ用記憶領域に記憶されている制御コマンドが、エンディング指定コマンドであるか否かを確認する。
サブCPU120aは、第1受信データ用記憶領域に記憶されている制御コマンドがエンディング指定コマンドであればステップS1591に処理を移し、エンディング指定コマンドでなければコマンド解析処理を終了する。
【0266】
ステップS1591において、サブCPU120aは、当たり終了演出パターンを決定する当たり終了演出パターン決定処理を行う。
具体的には、エンディング指定コマンドに基づいて当たり終了演出パターンを決定し、決定した当たり終了演出パターンを演出パターン記憶領域にセットするとともに、決定した当たり終了演出パターンの情報を画像制御部150とランプ制御部140に送信するため、決定した当たり終了演出パターンに基づく演出パターン指定コマンドをサブRAM120cの送信データ用記憶領域にセットする。本処理を終了すると、コマンド解析処理が終了する。
【0267】
次に、演出制御部120の認証結果データ解析処理について説明する。
図19は、本実施形態に係る演出制御部120による認証結果データ解析処理を示すフローチャートである。
【0268】
ステップS1651において、サブCPU120aは、認証結果データを受信したか否かを判定する。具体的には、サブCPU120aは、サブRAM120cの第2受信データ用記憶領域に認証結果データが記憶されているか否かを確認して、認証結果データを受信したか否かを判定する。そして、サブCPU120aは、第2受信データ用記憶領域に認証結果データが記憶されていなければ認証結果データ解析処理を終了し、第2受信データ用記憶領域に認証結果データが記憶されていれば、ステップS1652に処理を移す。
【0269】
ステップS1652において、サブCPU120aは、受信した認証結果データが、認証成功を示す結果であるか否かを判定する。サブCPU120aは、認証結果データが認証成功を示す結果である場合、今回の中間制御部180での認証処理において主制御部110に対する個体認証が成功し、遊技機1の正当性を認証することができたと判断し、認証結果データ解析処理を終了する。一方、サブCPU120aは、認証結果データが認証不成功を示す結果である場合、今回の中間制御部180での認証処理において主制御部10に対する個体認証は不成功であり、遊技機1で不正行為が発生したおそれがあると判断し、ステップS1653に処理を移す。
【0270】
ステップS1653において、遊技機1で不正行為が発生したおそれがあると判断された場合、サブCPU120aは、その旨を報知する為に報知信号を出力する。
【0271】
サブCPU120aは、生成した報知信号を、例えば、ランプ制御部140や画像制御部150、あるいは遊技機1を管理するホールコンピュータ等へ送信する。ランプ制御部140や画像制御部150等は、受信した報知信号に基づいて、遊技機1で不正行為が発生したおそれがある旨を報知する演出を実行する。この演出は、例えば、液晶表示装置31に通常出現しないキャラクタを出現させたり、通常出現するキャラクタを通常とは異なる方法で出現させるなどである。また、液晶表示装置31の輝度を変えたり、色を変えたり、ランプ制御部140に対して所定のランプを表示制御するようにしてもよい。いずれにしても、遊技店の従業員が当該遊技機1の前を通過した際に、その状態に気付くようにしてあればよい。また、この演出は、顧客がその状態に気付かないような演出でもよく、また、顧客が容易に気付く演出であってもよい。顧客が容易に気付く演出にすれば、不正行為を効率的に抑止することができる。
【0272】
また、報知信号に、遊技機1の遊技状態や大当たりの種別に関する情報を含めてもよい。これらの情報に基づいて、遊技機1を管理するホールコンピュータ等によって不正行為が行われているか否かの判断を行ってもよい。例えば、「高確率遊技状態」は賞球が集中していても正常である場合がある。よって、高確率遊技状態中は、その他の状態とは異なる条件で不正行為のおそれがあるか否かについて判断するのがよい。また、遊技状態や大当たりの種別に関する情報は、報知信号に含めずに別信号として出力するようにしてもよい。この場合、従業員は、報知信号と遊技状態や大当たりの種別に関する情報の両方に基づいて、不正行為のおそれがあるか否かについて判断する。
【0273】
なお、主制御部110と払出制御部130との間に中間制御部180を設けた場合の認証処理は、主制御部110と演出制御部120との間に中間制御部180を設けた場合の認証処理とほぼ同様の手順で行われるため説明を省略する。
【0274】
以上のように、本実施形態では、認証情報生成部500が、主制御部110の個体認証に必要な認証データを、プログラムコードに記述されたメインCPU110aからの指示によらず、独自に保持するアルゴリズムに従って生成し、中間制御部180へ自動的に送信している。また、認証データの復号化に必要な鍵データは、メインCPU110aからの読み出し信号のみで認証情報生成部500から出力され、中間制御部180へ直ちに送信される。したがって、主制御部110に対する認証機能を有しながらも、認証機能を有することで増大する主制御部110のCPUの処理負荷やコードサイズを最大限抑制することができ、遊技機1のセキュリティ強度の向上と処理速度の向上とを両立させることができる。
【0275】
また、本実施形態では、認証情報生成部500が暗号回路502を複数種類備えることで、認証情報生成部500の認証データ生成機能を予め複数種類用意している。そして、どの認証データ生成機能によって認証データを生成するかは、主制御部110のブート処理時の初期値設定時以外ではアクセスされないメインROM110bの特定の記憶領域に記憶されている認証パラメータの値に基づいて決定されている。よって、不正行為を働こうとする者が、主制御部110と中間制御部180との間の送信データを窃取しても、認証データがどの生成機能で生成されたかを解析することができない。したがって、認証データの秘匿性を確保することができ、遊技機1のセキュリティ強度を向上させることができる。
【0276】
また、本実施形態では、認証データ生成機能およびその選択情報としての認証パラメータを予め複数種類用意するものの、特定の認証パラメータのみを実装している。よって、ブート処理での認証パラメータの選択処理に伴うプログラムを新たに設ける必要がなく、プログラムのコードサイズを増大させることもない。また、遊技機メーカーが特定の認証データ生成機能だけを採用したい場合などであっても、所望の認証データ生成機能に対応した認証パラメータのみを実装すればよく、遊技機メーカーの嗜好や用途に柔軟に対応することができる。したがって、多様性に富んだ認証機能であっても比較的簡易に追加することができ、汎用性の高い認証機能を提供することができる。また、遊技機1の開発段階中で設計・検証作業等に使用する認証パラメータと、遊技機1の出荷前に実際に実装される認証パラメータとを変えることにより、最終的にどの認証パラメータが採用されたのかを知り得る者を限定することができ、認証データの秘匿性を更に向上させることができる。
【0277】
また、本実施形態では、認証データの生成や送信に関する処理の制御は、認証情報生成部500自身のアルゴリズムで定義すればよい。また、鍵コマンドの実行に関する処理の制御も、メインCPU110aが実行する遊技処理用プログラムコードに1種類の制御コマンド(鍵コマンド)に対応するコードを追加するだけよい。具体的には、鍵データの読み出し信号に関するコードおよび鍵コマンドの書き込みに関するコードを追加するだけでよく、コードステップ数換算でそれぞれ僅か1命令分だけの追加で足りる。したがって、認証データおよび鍵コマンドの送信タイミングの設定や鍵データの更新タイミング等は、特定時間経過後や特定クロック数経過後など自由なタイミング設計が可能であり、ソフトウェア制御の拡張性や柔軟性も備えた認証機能を提供することができる。特に、鍵コマンドの送信タイミングや鍵データの更新タイミング等は、遊技機メーカーが最終的にカスタマイズすることで、遊技機1のセキュリティ強度は更に向上するとともに、多様性に富んだ認証機能を提供することができる。
これに加えて、メインCPU110aが実行するプログラムコードには、上記鍵コマンドに関するコードを追加するだけでよい。したがって、メインCPU110aが実行するプログラムコード全体にわたっての新たなタイミング設計を行う必要がないので、認証機能を追加する際の実装および検証作業を、より簡単に少ない作業工数で実施することができる。また、このことで認証機能を追加する際の設計自由度を高くすることができる。
【0278】
また、本実施形態では、認証データの送信処理を担う第2送信部520bが、制御コマンドの送信処理を担う第1送信部520aとは別個に設けられている。よって、送信部への認証データの書き込みタイミングが他の送信データの書き込みタイミングと重複して上書きされたり、送信部の記憶領域に空き容量が存在せずオーバーフローが発生したりするおそれを懸念する必要がない。従って、認証データと制御コマンドの両方の送信処理を1つの送信部で担う場合と比較して、認証機能を追加する際の実装および検証作業は、更に少ない作業工数で実施可能となり、認証機能の設計自由度も更に高くすることができる。
【0279】
また、本実施形態では、認証データの復号化処理や検査値と期待値との照合処理といった主制御部110の個体認証に係る処理の大部分は中間制御部180が実行する。よって、演出制御部120で認証処理が実行されるのは、中間制御部180から認証結果データを受信した場合のみである。すなわち、認証処理を行うことによって演出制御部120のCPUの処理負荷が増大するのは、認証結果データを受信したときのみであるため、演出制御部120の処理負荷が増大する割合を抑えることができる。また、演出制御部120が実行するプログラムコードには、認証結果データ解析処理に関するプログラムコードを追加するだけでよい。したがって、演出制御部120が実行するプログラムコード全体にわたっての新たなタイミング設計を行う必要がないので、認証機能を追加する際の実装および検証作業を、より簡単に少ない作業工数で実施することができる。また、このことで認証機能を追加する際の設計自由度を高くすることができる。
【0280】
また、本実施形態では、鍵コマンドの送信タイミングを、RAMクリア指定コマンドや電源復旧指定コマンドを基準に設定し、遊技機1の認証処理をリセット時に実行している。この場合、RAMクリア指定コマンドや電源復旧指定コマンドは、遊技機1の初期化処理を行う際に送信される。遊技機1の初期化処理は、遊技機1のメインの処理である遊技に係る処理とは異なる処理区分に分類される。したがって、本発明のように、遊技機1の初期化処理中に認証処理を組み込めば、遊技処理中に認証処理を組み込む場合と比較して、プログラム設計や実装および検証作業に要する作業工数を抑制することができる。すなわち、遊技機1の初期化処理中に認証処理を組み込むことによって、開発コストの低減や品質管理上のメリットを得ることができる。また、遊技機1の初期化処理中に認証処理を組み込めば、遊技機1が起動して直ぐに認証処理を行うため、遊技店が閉店した後に不正が行われた場合などであっても、顧客が入店する前に不正を検出することができる。よって、不正による被害が発生する危険性を低減することができる。
【0281】
また、鍵コマンドの送信タイミングを、デモ指定コマンドを基準に設定し、遊技機1の認証処理をデモ開始時に実行した場合、デモ指定コマンドは、遊技機1が非遊技状態、すなわち、遊技機1のメインの処理である遊技に係る処理が行われていない場合に送信されるので、認証処理による処理負荷の増大が遊技処理に影響を与えることがない。このため、主制御部110や演出制御部120が高度な処理能力を有していない場合や、遊技処理の処理負荷が大きい遊技機1であっても、認証処理機能を追加することができる。また、デモ指定コマンドは、顧客が遊技機1を操作する前に発行されるコマンドであるので、顧客が遊技機1を操作する前に不正行為を検出することができる。
【0282】
また、本実施形態では、認証データ生成機能を複数種類備えるために、認証情報生成部500に暗号回路502を複数種類設けることとしたが、本発明はこれに限定されず、暗号回路502の替わりに鍵データの初期値を複数種類設けるように構成することができる。例えば、認証情報生成部500を構成する制御部501は、鍵データ決定処理に使用される乱数生成手段の乱数種を鍵データの初期値として予め複数種類用意するとともに、これに対応した認証パラメータを複数種類用意しておけばよい。また、鍵データの初期値だけではなく、鍵データ更新条件を複数種類用意することも考えられる。例えば、制御部501は、これらの場合、暗号回路502は複数種類設ける必要が無いため、比較的簡易な回路構成とすることができる。
【0283】
また、本実施形態では、認証データの送信タイミングの基準として認証情報生成部500が検知する対象を、メインCPU110aが第1送信部520aを構成する第1データ入力部521aへ制御コマンドを書き込む際の書き込み信号の出力としたが、本発明はこれに限定されず、制御コマンドそのものの出力や、第1データ入力部521aに書き込みフラグが立てられたこととすることもできる。制御コマンドそのものの出力や、第1データ入力部521aに書き込みフラグが立てられたことを検知するというのは、メインCPU110aが制御コマンドを第1データ入力部521aへ出力が開始したタイミングや、出力が完了したタイミングを検知することであり、当該制御コマンドを中間制御部180へ送信せしめるための第1送信部520aへの送信指示を担う情報と捉える事ができる。この場合、認証情報生成部500は、メインCPU110aによる制御コマンドそのものの出力や、第1データ入力部521aに書き込みフラグが立てられたことを検知し、この検知信号の入力を基準として、所定時間(β)経過後に、認証データを第2データ入力部521bへ書き込むこととなる。
【0284】
また、本実施形態では、主制御部110において、認証データを先に送信した後に鍵コマンドを送信することとしたが、本発明はこれに限定されず、鍵コマンドを先に送信した後に認証データを送信することとしてもよい。このとき、中間制御部180にて、鍵コマンド受信時に復号化処理の対象となる認証データは、当該鍵コマンド受信時の直後に受信した認証データとなるが、復号化処理の際は先入れ先出しではなく後入れ先出しの取り決めを設定しておけばよい。また、中間制御部180での認証処理のトリガを、鍵コマンドの受信ではなく認証データの受信とするように構成することもできる。
【0285】
また、本実施形態では、認証データの送信タイミングは、制御コマンドが中間制御部180の第1受信部660aにて受信完了となりCPU180aが受信完了を検知できることとなった時点以降に、認証データが第2受信部660bにて受信開始されるように設定している。しかしながら、本発明はこれに限定されず、制御コマンドが第1受信部660aにて受信完了となりCPU180aが受信完了を検知できることとなった時点以降に、認証データが第2受信部660bにて受信完了となるように設定することもできる。
【0286】
また、本実施形態では、中間制御部180を構成するRAM180cの送信データ用記憶領域に書き込まれたデータを送信データとして、演出制御部120へ直ちに送信することとしているが、本発明はこれに限定されず、中間制御部180を構成する送信部620にて送信データを一時的に保存し、送信部620で演出制御部120への送信タイミングを計ることができるような構成としてもよい。
【0287】
また、本実施形態では、中間制御部180を構成する送信部620は、制御コマンド等の中継送信処理を担う第1送信部620aと、認証結果データの送信処理を担う第2送信部620bとが別個に設けられているとともに、演出制御部120を構成する受信部760は、中間制御部180の第1送信部620aの送信データを受信する第1受信部760aと、中間制御部180の第2送信部620bの送信データを受信する第2受信部760bとが別個に設けられている。しかしながら、本発明はこれに限定されず、中間制御部180を構成する第1送信部620aと第2送信部620bとを1つの送信部620に統合してもよく、演出制御部120を構成する第1受信部760aと第2受信部760bとを1つの受信部760に統合してもよい。
【0288】
また、本実施形態では、主制御部110では、検査値を暗号化して認証データを生成し、中間制御部180へ送信し、中間制御部180では、認証データに復号化して検査値を抽出し認証処理を行っている。そして、中間制御部180は、得られた認証結果に対して特に暗号化処理を施さずに、認証結果データとして演出制御部120へ送信している。しかしながら、本発明は、これに限定されず、認証結果データは、得られた認証結果に対して暗号化処理を施したものを認証結果データとして演出制御部120へ送信してもよい。なお、認証データおよび認証結果データの双方とも暗号化処理が施されたものを用いる場合、中間制御部180は、受信した認証データの復号化処理に用いた鍵データと、生成する認証結果データの暗号化処理に用いる鍵データとは同じものを使用すればよい。すなわち、中間制御部180は、主制御部110から送信された鍵コマンドを構成する鍵データを用いて認証データを復号化した後、得られた認証結果に対して当該鍵データで暗号化処理を施して認証結果データを生成すればよい。
【0289】
また、このような場合、本実施形態では、主制御部110と演出制御部120との間に中間制御部180を設けているので、主制御部110を構成するメインCPU110aと演出制御部203を構成するサブCPU120aとの間の処理能力の差異や、主制御部110を構成するメインROM110bやメインRAM110cと演出制御部120を構成するサブROM120bやサブRAM120cとの間の記憶容量の差異を、中間制御部180において吸収することができる。これにより、主制御部110と演出制御部120との間で処理能力や記憶容量に差異がある場合でも、主制御部110と演出制御部120との間のセキュリティ強度を維持することができる。
【0290】
すなわち、例えば、メインCPU110aの処理能力やメインROM110bやメインRAM110cの記憶容量が、サブCPU120aの処理能力やサブROM120bやRAM120cの記憶容量と比較して余裕がある場合、主制御部110は、検査値に対して複雑な暗号化処理を施して認証データを生成し中間制御部180へ送信する。中間制御部180は、受信した認証データを用いて認証処理を行い、得られた認証結果に対して比較的簡易な暗号化処理を施して(または認証結果そのもので)認証結果データを生成し演出制御部120へ送信する。演出制御部120は、受信した認証結果データに対して比較的簡易な復号化処理を施して(または認証結果データそのもので)認証処理を行うことができる。このように構成することにより、演出制御部120において複雑な復号化方式を採用しなくても、遊技機1として高いセキュリティ強度を維持することができる。
【0291】
また、例えば、サブCPU120aの処理能力やサブROM120bやサブRAM120cの記憶容量が、メインCPU110aの処理能力やメインROM110bやメインRAM110cの記憶容量と比較して余裕がある場合、主制御部110は、検査値に対して比較的簡易な暗号化処理を施して(または検査値そのもので)認証データを生成し中間制御部180へ送信する。中間制御部180は、受信した認証データを用いて認証処理を行い、得られた認証結果に対して複雑な暗号化処理を施して認証結果データを生成し演出制御部120へ送信する。演出制御部120は、受信した認証結果データに対して複雑な復号化処理を施して認証処理を行うこととなる。このように構成することにより、主制御部110において複雑な暗号化方式を採用しなくても、遊技機1として高いセキュリティ強度を維持することができる。
【0292】
また、本実施形態に係る遊技機1では、中間制御部180をCPU、ROM、RAM等を備えて構成しているが、同様の機能をLSI等の集積回路として実現するように構成してもよい。
また、本実施形態では、本発明をパチンコ遊技機に適用する例を示したが、これに限定されず、本発明は、雀球遊技機、アレンジボール等のパチンコ遊技機以外の弾球遊技機、スロットマシン等の回胴式遊技機などの他の遊技機にも適用することができる。これらの遊技機においても、本実施形態と同様に構成することにより、本実施形態と同様の効果を得ることができる。また、本実施形態は、その目的および構成等に特に矛盾や問題がない限り、互いの技術を流用することができる。
【符号の説明】
【0293】
1 遊技機
110 主制御部
110a メインCPU
110b メインROM
110c メインRAM
110d ブートROM
110m ワンチップマイコン
120 演出制御部
120a サブCPU
120b サブROM
120c サブRAM
130 払出制御部
140 ランプ制御部
150 画像制御部
160 発射制御部
170 電源部
180 中間制御部
180a CPU
180b ROM
180c RAM
500 認証情報生成部
501 制御部
502 暗号回路
503 データ入力部
504 データ出力部
520 送信部
520a 第1送信部
520b 第2送信部
521 データ入力部
521a 第1データ入力部
521b 第2データ入力部
522 送信回路
522a 第1送信回路
522b 第2送信回路
550 内部バス
620 送信部
620a 第1送信部
620b 第2送信部
660 受信部
660a 第1受信部
660b 第2受信部
661 データ出力部
661a 第1データ出力部
661b 第2データ出力部
662 受信回路
662a 第1受信回路
662b 第2受信回路
760 受信部
760a 第1受信部
760b 第2受信部


【特許請求の範囲】
【請求項1】
所定の遊技情報を記憶する遊技情報記憶領域を有すると共に、遊技機の起動の際にアクセス可能であって遊技機の初期設定情報を記憶する初期設定情報記憶領域を有する情報記憶部と、
前記遊技情報に応じた所定の演算を行って制御情報を生成すると共に、生成した前記制御情報を送信せしめるための制御情報送信指示を出力する演算処理部と、
前記遊技情報記憶領域に記憶されている情報の認証を行うための複数の異なる認証情報を生成可能な生成手段を有すると共に、生成した前記認証情報を送信せしめるための認証情報送信指示を出力する認証情報生成部と、
前記制御情報送信指示に応じて前記制御情報を送信する第1情報送信部と、
該第1情報送信部とは異なり、前記認証情報送信指示に応じて前記認証情報を送信する第2情報送信部と、
を備える主制御部と、
送信された前記認証情報に基づいて前記遊技情報記憶領域に記憶されている情報の認証を行い、前記認証の結果情報を生成する情報認証部と、
送信された前記制御情報を中継送信すると共に、前記結果情報を送信する送信部と、
を備える中間制御部と、
中継送信された前記制御情報に基づいた所定の処理を行うと共に、送信された前記結果情報に応じた処理を行う情報処理部
を備える副制御部と、
を備えた遊技機であって、
前記初期設定情報は、前記複数の異なる認証情報のそれぞれに対応した選択情報を含み、
前記演算処理部は、前記遊技機の起動の際に、前記選択情報のうちの特定の選択情報を前記認証情報生成部へ設定し、
前記認証情報生成部は、設定された前記特定の選択情報に基づいて、前記複数の異なる認証情報のうちの特定の認証情報を生成するよう前記生成手段を設定し、設定された前記生成手段を用いて前記認証情報を生成する
ことを特徴とする遊技機。
【請求項2】
前記情報記憶部は、前記遊技情報記憶領域を担う第1記憶手段と、該第1記憶手段とは異なり、前記初期設定情報記憶領域を担う第2記憶手段とを備えることを特徴とする請求項1に記載の遊技機。
【請求項3】
前記初期設定情報に含まれる前記選択情報は、前記演算処理部が前記遊技機の起動の際に前記認証情報生成部へ設定する前記特定の選択情報であることを特徴とする請求項1又は2に記載の遊技機。
【請求項4】
前記認証情報生成部は、前記制御情報送信指示が出力されたことを検知する検知手段を更に備え、前記制御情報送信指示の出力の検知に応じて、前記認証情報送信指示を出力することを特徴とする請求項1乃至3のいずれかに記載の遊技機。
【請求項5】
前記中間制御部は、
送信された前記制御情報を受信する第1情報受信部と、
該第1情報受信部とは異なり、送信された前記認証情報を受信する第2情報受信部とを更に備え、
前記認証情報生成部は、前記第2情報受信部での前記認証情報の受信完了時点が、前記第1情報受信部での前記制御情報の受信完了時点より後となるように、前記検知から所定時間遅延して前記認証情報送信指示を出力する
ことを特徴とする請求項4に記載の遊技機。
【請求項6】
前記認証情報生成部は、前記第2情報受信部での前記認証情報の受信開始時点が、前記第1情報受信部での前記制御情報の受信完了時点より後となるように、前記検知から所定時間遅延して前記認証情報送信指示を出力することを特徴とする請求項5に記載の遊技機。
【請求項7】
前記認証情報生成部は、所定の暗号鍵情報を決定する暗号鍵決定手段を更に備え、
前記生成手段は、前記遊技情報記憶領域に記憶されている特定の情報と、前記暗号鍵情報とを用いて前記複数の異なる認証情報を生成する
ことを特徴とする請求項1乃至6のいずれかに記載の遊技機。
【請求項8】
前記演算処理部は、前記暗号鍵決定手段によって決定された暗号鍵情報を用いて前記制御情報を生成することを特徴とする請求項7に記載の遊技機。
【請求項9】
前記暗号鍵決定手段は、所定の更新条件が成立すると、新たに暗号鍵情報を決定することを特徴とする請求項7又は8に記載の遊技機。
【請求項10】
前記生成手段は、複数の異なる暗号化方式によって前記複数の異なる認証情報を生成し、
前記選択情報は、前記複数の異なる暗号化方式のそれぞれに対応した情報である
ことを特徴とする請求項7乃至9のいずれかに記載の遊技機。
【請求項11】
前記暗号鍵決定手段は、複数の異なる暗号鍵情報を決定し、
前記生成手段は、前記複数の異なる暗号鍵情報によって前記複数の異なる認証情報を生成し、
前記選択情報は、前記複数の異なる暗号鍵情報のそれぞれに対応した情報である
ことを特徴とする請求項7乃至9のいずれかに記載の遊技機。
【請求項12】
前記暗号鍵決定手段は、複数の異なる更新条件を有し、
前記生成手段は、前記複数の異なる更新条件によって前記複数の異なる認証情報を生成し、
前記選択情報は、前記複数の異なる更新条件のそれぞれに対応した情報である
ことを特徴とする請求項9に記載の遊技機。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate