以下に、本発明を実施するための形態について図面を参照して説明する。ここでは、本発明に係る遊技機、周辺基板、認証方法、プログラムを、パチンコ機に適用した場合について説明する。
〔遊技盤の構成〕
まず、パチンコ機における遊技盤1の構成について説明する。
図1は、遊技盤1の正面図である。
図1において、遊技盤1の左側には、円弧を描いて上方に延長する2つのレール102a、102bが設けられている。遊技領域101には、遊技球の落下軌跡を変則的にするための複数の釘(不図示)が設けられ、落下途中の位置には、遊技球の落下方向を変化させる風車や入賞口が設けられている。遊技球は、遊技盤1の下部位置に配置された発射部(不図示)により発射され、レール102a、102b間を上昇して遊技盤1の上部位置に達した後、遊技領域101内を落下する。
遊技盤1の中央部には、3つの領域にそれぞれ演出図柄を独立に変動させながら表示する図柄表示部104が設けられている。図柄表示部104は、例えば、液晶表示器(LCD(Liquid Crystal Display))またはCRT(Cathode Ray Tube)ディスプレイ等の可変表示装置、7セグメントLED、ドットマトリクス表示装置、モータの回転により可変表示するドラム等であり、複数の数字や図柄等からなる演出図柄を変動表示する。
図柄表示部104の下方には、遊技球を入賞可能な始動入賞口105が設けられている。また、図柄表示部104の左右両側には、それぞれ入賞ゲート106が設けられている。入賞ゲート106を遊技球が通過すると、所定の抽選が行われ、これに当選すると、始動入賞口105が所定時間だけ開放する。
始動入賞口105の左右両側には、それぞれ普通入賞口107が設けられている。普通入賞口107に遊技球が入賞すると、遊技球1個につき所定数(例えば、10個)の遊技球が賞球として払い出される。
始動入賞口105の下方には、通常時は閉止状態であるが図柄表示部104の演出図柄が大当たり図柄(例えば、「777」)となったときは、開放状態となって遊技球を入賞可能とする大入賞口109が設けられている。大当たり抽選で「大当たり」(以下、単に「大当たり」という。)となったときは、大入賞口109の全面に設置された開閉部材が開閉動作を繰り返す。開閉部材が開放中は、多数の遊技球の入賞を受け付ける。大入賞口109に遊技球が入賞すると、遊技球1個につき所定数(例えば、10個)の遊技球が賞球として払い出される。大入賞口109の開放は、所定時間(例えば、30秒)経過するか、所定数(例えば、10個)の遊技球が入賞するまで継続する。大入賞口109の1回の開放期間をラウンドと呼び、ラウンドは、最大で所定回数(以下、最大ラウンド数という。)継続する。
遊技領域101の最下方には、いずれの入賞口にも入賞しなかった遊技球を回収するための回収口108が設けられている。
〔遊技機の全体構成〕
図2は本実施の形態の遊技機の全体構成を示すブロック図である。図2に示すように、遊技機は、遊技盤1と、主制御基板2と、周辺基板3とを有する。主制御基板2および周辺基板3によって、遊技機制御装置100が構成される。
主制御基板2は主制御部2aを有する基板である。主制御部2aは、遊技盤1が実行する遊技に関する演出またはその演出の前処理もしくは後処理を制御するための制御コマンドと、主制御部2aが正当であることを認証させるための第1の認証データとを出力する手段である。
ここで、「演出」とは、例えば、抽選による大当たり演出である。また、「演出の前処理」は、例えば、図柄表示部が表示する図柄を変動させる際の、図柄を変動させるための値をレジスタに設定する処理、である。ただし、主制御部2aは、制御データを出力せず、制御コマンドと第1の認証データとを周辺部3aに出力することもある。例えば、パチンコ機の電源がオンされようとする場合等、制御の内容が明らかである場合には制御データは出力されない。この場合、演出の前処理として、パチンコ機の電源がオンされることになる。なお、「演出の後処理」は、例えば、演出後に、後述するRAMの内容を初期化する処理、である。
周辺基板3は、周辺部3aと、中間部3bと、バス3cと、を有する基板である。周辺部3aは、主制御部2aの出力を入力とし、主制御部2aからの制御コマンドに基づいて演出または演出の前処理もしくは後処理の実行を制御するとともに、主制御部2aからの第1の認証データを中間部3bに出力する手段である。
中間部3bは、周辺部3aの後段に設けられており、周辺部3aから出力される第1の認証データに基づいて主制御部2aが正当であるか否かを判断するための第2の認証データを生成し、それを周辺部3aに出力する手段である。周辺部とは別に、中間部を付加した構成を採用している。このため、主制御部および周辺部の一般的な構成で主制御部の認証を行っていない場合でも、中間部を付加すれば、周辺部の仕様変更を最小限に抑えつつ、主制御部の認証を行うことができるようになる。主制御部2aが正当でないと判断された場合、周辺部3aは、主制御部2aが正当でない旨を報知するための制御を行う。主制御部2aが正当でない旨を報知する場合、周辺部3aの制御により、遊技機に設けられている液晶(不図示)に表示させたり、ランプ等を点灯させたりして通知することによる報知が行われる。液晶やランプを用いた通知については後に詳述する。
液晶表示やランプ等の点灯による視覚的報知に限らず、スピーカ(不図示)から音を出力することによる聴覚的報知、バイブレータ(不図示)を振動させることによる触覚的報知を行ってもよい。また、上記報知を組み合わせて行ってもよい。バス3cは、周辺部3aと中間部3bとの間の信号授受に用いられる唯一の通信経路である。周辺部3aと中間部3bとの間に設けられている単一のバス3cは、双方向の通信経路として用いられる。
〔遊技制御装置の構成〕
次に、パチンコ機における遊技制御装置の構成について説明する。
図3は、遊技制御装置100の構成を示すブロック図である。
遊技制御装置100は、図3に示すように、主制御基板2と、周辺基板3と、賞球制御部400とを有して構成されている。本例では、主制御基板2に、遊技の主制御を行う主制御部2aが設けられている。また、周辺基板3には、主制御部2aの制御により遊技の演出制御を行う演出制御部300と、主制御部2aの認証を行うための第2の認証データを生成し、それを周辺部3aに出力する中間部3bとが設けられている。演出制御部300は、図2における周辺部3aの一例である。賞球制御部400は、主制御部2aの制御により遊技球の払出制御を行う。
主制御部2aは、遊技の主制御を行い、遊技の演出制御または遊技球の払出制御を行うための各種の制御コマンドを演出制御部300および賞球制御部400にそれぞれ送信する。主制御部2aは、制御プログラムを記憶したROM204と、ROM204の制御プログラムに従って遊技制御処理を実行するCPU202と、CPU202の演算処理時におけるデータのワークエリアとして機能するRAM206と、外部装置との入出力を行うI/F(インタフェース)210とを有して構成されている。
I/F210には、始動入賞口105に入賞した遊技球を検出する始動入賞口検出部280と、入賞ゲート106を通過した遊技球を検出するゲート検出部282と、普通入賞口107に入賞した遊技球を検出する普通入賞口検出部284と、大入賞口109に入賞した遊技球を検出する大入賞口検出部286とが接続されている。これらの検出部280〜286は、例えば、近接スイッチを用いて構成することができる。
I/F210には、さらに、大当たり中に大入賞口109の開閉部材を開閉動作させる大入賞口開閉部288と、演出制御部300と、賞球制御部400とが接続されている。なお、演出制御部300との通信は、主制御部2aから演出制御部300への一方向となっている。これに対し、賞球制御部400との通信は、双方向となっている。
大入賞口開閉部288は、例えば、ソレノイドを用いて構成することができる。大当たりは、大当たり決定乱数に基づいて所定確率(例えば、1/300)で発生するよう予めプログラムされている。
演出制御部300は、主制御部2aから制御コマンドを受信し、受信した制御コマンドに基づいて遊技の演出制御を行う。演出制御部300は、制御プログラムを記憶したROM304と、ROM304の制御プログラムに従って演出制御処理を実行するCPU302と、CPU302の演算処理時におけるデータのワークエリアとして機能するRAM306と、図柄表示部104に表示させる画像データを書き込むVRAM308と、外部装置との入出力を行うI/F310とを有して構成されている。
ROM304は、検証値と照合するための期待値を記憶する。検証値は、主制御部200を認証するためのものであり、期待値は、検証値と同一の値となる。
RAM306は、主制御部200からの入力データ、演算処理のためのデータ、乱数を生成するための乱数カウンタその他各種のカウンタ、および各種のフラグを記憶する。
I/F310には、主制御部2aと、図柄表示部104と、スピーカ380から音声を出力する音声制御を行う音声制御部382と、ランプ384を点灯させるランプ制御を行うランプ制御部386とが接続されている。
賞球制御部400は、主制御部2aから制御コマンドを受信し、受信した制御コマンドに基づいて遊技球の払出制御を行う。賞球制御部400は、制御プログラムを記憶したROM404と、ROM404の制御プログラムに従って払出制御処理を実行するCPU402と、CPU402の演算処理時におけるデータのワークエリアとして機能するRAM406と、外部装置との入出力を行うI/F410とを有して構成されている。
I/F410には、主制御部2aと、遊技球の貯留部から所定数の遊技球を払い出す払出部480と、遊技球を遊技盤1に発射する発射部482とが接続されている。
賞球制御部400は、払出部480に対して、各入賞口(始動入賞口105、普通入賞口107、大入賞口109)への入賞に応じて所定数の遊技球を払い出す制御を行う。また、発射部482に対する操作を検出し、遊技球の発射を制御する。
発射部482は、遊技者による操作を検出するセンサ(不図示)と、遊技球を発射させるソレノイド(不図示)とを有して構成されている。賞球制御部400は、発射部482のセンサにより操作を検出すると、その操作量に応じてソレノイドを駆動させて遊技球を間欠的に発射する。
なお、主制御部2a、演出制御部300および賞球制御部400は、それぞれ異なるプリント基板に設けられているが、これに限らず、賞球制御部400は、主制御部2aと同一のプリント基板に設けることもできる。
〔制御コマンドなどのデータ構造〕
次に、制御コマンドなどのデータ構造を説明する。
図4は、制御コマンドなどのデータ構造を示す図である。
通常の制御コマンド500の場合は、図4(a)に示すように、制御データ501が付加されている。これに対し、認証データ付き制御コマンドの場合は、図4(b)に示すように、制御データ501が付加され、さらに第1の認証データである暗号化認証データ502が付加された構成になっている。このように、第1の認証データを制御コマンドに付加して主制御部2aから送信することにより、認証データ単体で送信する場合と比較して、主制御部2aと周辺部3aとの間の通信負荷の増大を抑えることができる。また、第1の認証データを制御コマンドに付加して主制御部2aから送信することにより、認証データ単体で送信する場合と比較して、通信データ中から認証データが抽出され、解析されてしまう危険性を低減することができる。さらに、認証処理は、第1の認証データが付加された制御コマンドを送信する場合にのみ行われるため、認証処理による主制御部2aの処理負荷が認証処理によって増大する割合を抑えることができる。
なお、制御コマンド500に対する、制御データ501、第1の認証データ502の配置の順序は、図4(b)の場合に限定されるものではない。すなわち、図4(c)に示すように、制御コマンド500の先頭に第1の認証データ502を付加した配置としたり、図4(d)に示すように、制御コマンド500と制御データ501との間に第1の認証データ502を挿入した配置としたりしてもよい。また、制御コマンド500と制御データ501とは別個に第1の認証データを送信することとしてもよい。例えば、制御コマンドの1つである大当たりコマンドおよびその制御データを送信した後、3回目の制御コマンド送信時に第1の認証データを付加して送信する、などとしてもよい。
ここで、制御コマンドには、電源オンコマンド、電源オフコマンド、客待ちデモ開始コマンド、客待ちデモ停止コマンド、変動パターンコマンド、大当たり開始コマンド、大当たり終了コマンドおよび大当たりコマンドなどがある。
電源オンコマンドは、電源の投入を指定するための制御コマンドであって、電源投入時に演出制御部300および賞球制御部400に送信される。
電源オフコマンドは、電源の遮断を指定するための制御コマンドであって、電源遮断時に演出制御部300および賞球制御部400に送信される。
客待ちデモ開始コマンドは、遊技客を誘致するためのデモンストレーション演出(以下、客待ちデモという。)の開始を指定するための制御コマンドであって、遊技中断時に演出制御部300に送信される。
客待ちデモ停止コマンドは、客待ちデモの終了を指定するための制御コマンドであって、遊技再開時に演出制御部300に送信される。
変動パターンコマンドは、演出図柄の変動パターンを指定するための制御コマンドであって、演出図柄の変動開始時に演出制御部300に送信される。変動パターンコマンドには、はずれ非リーチコマンド、はずれリーチコマンド、大当たりリーチコマンドがある。
はずれ非リーチコマンドは、大当たり抽選で「はずれ」(以下、単に「はずれ」という。)となったときに選択される変動パターンのうちリーチ演出を行わない変動パターンを指定するための制御コマンドである。
はずれリーチコマンドは、はずれ時に選択される変動パターンのうちリーチ演出を行う変動パターンを指定するための制御コマンドである。演出制御部300では、はずれリーチコマンドまたははずれ非リーチコマンドに基づいてはずれであることを判定することができる。
大当たりリーチコマンドは、大当たり時に選択される変動パターンのうちリーチ演出を行う変動パターンを指定するための制御コマンドである。演出制御部300では、大当たりリーチコマンドに基づいて大当たりであることを判定することができる。
大当たり開始コマンドは、大当たり演出の開始を指定するための制御コマンドであって、大当たり演出の開始時に演出制御部300に送信される。
大当たり終了コマンドは、大当たり演出の終了を指定するための制御コマンドであって、大当たり演出の終了時(最終ラウンドの終了時)に演出制御部300に送信される。
大当たりコマンドは、大当たりを指定するための制御コマンドであって、これには、ラウンド開始コマンドおよびラウンド終了コマンドがある。
ラウンド開始コマンドは、ラウンドの開始を指定するための制御コマンドであって、ラウンドの開始時に演出制御部300に送信される。ラウンド開始コマンドは、各ラウンドごとに設定されている。例えば、最大ラウンド数が15回である場合は、15種類のラウンド開始コマンドが設定される。したがって、ラウンドが2回以上継続する場合は、大当たり中にラウンド開始コマンドが複数回にわたって送信されることになる。
ラウンド終了コマンドは、ラウンドの終了を指定するための制御コマンドであって、最終ラウンドを除くラウンドの終了時に演出制御部300に送信される。ラウンド終了コマンドは、最終ラウンドを除く各ラウンドごとに設定されている。例えば、最大ラウンド数が15回である場合は、14種類のラウンド終了コマンドが設定される。したがって、ラウンドが3回以上継続する場合は、大当たり中にラウンド終了コマンドが複数回にわたって送信されることになる。
なお、これら制御コマンドは、あくまで代表的なものであり、その他にも各種の制御コマンドが規定されている。これら制御コマンドのうち、予め定められたものについては、暗号化認証データが付加される。
〔遊技制御処理〕
次に、主制御部2aで実行される遊技制御処理について説明する。
CPU202は、所定の動作クロック(例えば、4[ms])で1サイクルを実行可能な制御プログラムをROM204から読み出し、読み出した制御プログラムに従って、図5のフローチャートに示す遊技制御処理を実行する。
図5は、遊技制御処理を示すフローチャートである。
遊技制御処理は、CPU202において実行されると、図5に示すように、まず、ステップS100に移行する。
ステップS100では、電源がオンになったか否かを判定し、電源がオンになったと判定したとき(Yes)は、ステップS102に移行するが、そうでないと判定したとき(No)は、電源がオンになるまでステップS100で待機する。
ステップS102では、RAM206の内容を初期化し、I/F210を介して、演出制御部300および賞球制御部400に電源オンコマンドを送信する初期化処理を実行する。
次いで、ステップS104に移行して、始動入賞口105に遊技球が入賞したことを判定する入賞判定処理を実行し、ステップS106に移行して、大当たりの判定を行うとともに演出図柄の変動パターンを決定する大当たり判定処理を実行し、ステップS108に移行して、大入賞口109の開閉部材を所定パターンで開放させる電動役物制御処理を実行し、ステップS110に移行する。
ステップS110では、賞球制御部400に対して遊技球の払出を指定するための制御コマンド(払出制御コマンド)をRAM206の送信バッファに格納する賞球払出制御処理を実行し、ステップS112に移行して、I/F210を介して、送信バッファに格納された制御コマンドを演出制御部300または賞球制御部400に送信する制御コマンド送信処理を実行し、ステップS114に移行する。
ステップS114では、電源がオフになったか否かを判定し、電源がオフになったと判定したとき(Yes)は、ステップS116に移行して、I/F210を介して、演出制御部300および賞球制御部400に電源オフコマンドを送信する終了処理を実行し、遊技制御処理を終了する。
一方、ステップS114で、電源がオフになっていないと判定したとき(No)は、ステップS104に移行する。
なお、乱数カウンタは、上記動作クロックの1周期(例えば、4[ms])のうち各処理を実行した残余時間を利用して更新される。またその他、遊技制御処理と並列に実行される乱数更新処理で更新することもできる。乱数カウンタは、例えば、「0」から順に「1」ずつカウントアップを行っていき、カウント値が最大値(例えば、「999」)を超えたときに「0」に戻すことにより、所定の数値範囲(例えば、「0」〜「999」)で循環的にカウントを行う。
〔制御コマンド送信処理〕
次に、ステップS112の制御コマンド送信処理を説明する。
図6は、制御コマンド送信処理を示すフローチャートである。
制御コマンド送信処理は、ステップS112において実行されると、図6に示すように、まず、ステップS200に移行する。
ステップS200では、制御コマンドを送信バッファから読み出し、ステップS202に移行して、読み出した制御コマンドが予め定められたコマンドであるか否かを判定し、予め定められたコマンドであると判定したとき(Yes)は、ステップS204に移行する。
ステップS204では、ROM204の制御プログラムのデータに基づいて第1の認証データを生成する。第1の認証データは、演出制御部300で主制御部200を認証するためのデータであって、例えば、制御プログラムの一部または全部のデータに対して、ハッシュ関数による演算、パリティチェック、巡回冗長検査(CRC(Cyclic Redundancy Check))またはチェックサム等の誤り検出演算を行って得られた値を検証値として含む。このように、検証値は、ROM204に実際に記憶されている制御プログラムのデータから算出される。したがって、検証値を用いて認証を行うことにより、正規の主制御基板を不正な主制御基板に取り替えたり、ROM204の制御プログラムを改ざんしたりといった不正行為を検出することができる。
次いで、ステップS206に移行して、所定の暗号化アルゴリズムにより、生成した第1の認証データを暗号化する暗号化処理を実行する。
この暗号化処理には、例えば、暗号鍵(例えば、「0x33」)との排他的論理和(XOR)を演算する暗号化アルゴリズムが用いられる。この場合、暗号化アルゴリズムに対応する復号化アルゴリズムは、同一のものとなる。
そして、この暗号化アルゴリズムにより、実行された暗号化処理によって得られた演算値を暗号化認証データとする。
次いで、ステップS208に移行して、ステップS200で読み出した制御コマンドを、暗号化した暗号化認証データを付加して演出制御部300に送信し、一連の処理を終了して元の処理に復帰させる。
一方、ステップS202で、予め定められたコマンドでないと判定したとき(No)は、ステップS210に移行して、ステップS200で読み出した制御コマンドをそのまま演出制御部300または賞球制御部400に送信し、一連の処理を終了して元の処理に復帰させる。
なお、電源オンコマンドおよび電源オフコマンドの送信(ステップS102、S116)についても、図6のフローチャートに示す制御コマンド送信処理と同様の処理を行う。
〔入賞判定処理〕
次に、ステップS104の入賞判定処理を説明する。
図7は、入賞判定処理を示すフローチャートである。
入賞判定処理は、ステップS104において実行されると、図7に示すように、まず、ステップS300に移行する。
ステップS300では、保留球数が「0」であるか否かを判定し、保留球数が「0」であると判定したとき(Yes)は、ステップS302に移行する。
ステップS302では、タイマ(不図示)を用いて始動入賞口105への最後の入賞から所定時間(例えば、10分)が経過したか否かを判定し、所定時間が経過したと判定したとき(Yes)は、ステップS304に移行する。
ステップS304では、客待ちデモを行う客待ちデモ実行処理を実行する。客待ちデモ実行処理では、客待ちデモ開始コマンドを送信バッファに格納することにより客待ちデモを開始する。また、始動入賞口105への入賞、発射部482に対する操作等を契機として遊技の再開を検出したときは、客待ちデモ停止コマンドを送信バッファに格納することにより客待ちデモを終了する。これにより、ステップS112の制御コマンド送信処理では、客待ちデモ開始コマンドまたは客待ちデモ停止コマンドが演出制御部300に送信される。
次いで、ステップS306に移行して、I/F210を介して始動入賞口検出部280からのセンサ信号を読み込み、読み込んだセンサ信号に基づいて始動入賞口105に遊技球が入賞したことを検出したか否かを判定し、遊技球の入賞を検出したと判定したとき(Yes)は、ステップS308に移行する。
ステップS308では、保留球数が「4」以上であるか否かを判定し、保留球数が「4」未満であると判定したとき(No)は、ステップS310に移行して、保留球数に「1」を加算し、ステップS312に移行する。
ステップS312では、大当たり決定乱数、停止図柄決定乱数その他遊技制御に用いる乱数を乱数カウンタから取得し、ステップS314に移行して、取得した各乱数を、保留球数に対応したRAM206の所定領域にそれぞれ格納し、一連の処理を終了して元の処理に復帰させる。
一方、ステップS308で、保留球数が「4」以上であると判定したとき(Yes)、およびステップS306で、遊技球の入賞を検出しないと判定したとき(No)はいずれも、一連の処理を終了して元の処理に復帰させる。
一方、ステップS302で、所定時間が経過していないと判定したとき(No)、およびステップS300で、保留球数が「0」でないと判定したとき(No)はいずれも、ステップS306に移行する。
〔大当たり判定処理〕
次に、ステップS106の大当たり判定処理を説明する。
図8は、大当たり判定処理を示すフローチャートである。
大当たり判定処理は、所定確率で大当たりを発生させるために、大当たり決定乱数がとり得る所定の数値範囲(例えば、「0」〜「400」)に1個の大当たり値を設定し、始動入賞口105に遊技球が入賞した入賞タイミングで大当たり決定乱数を取得し、取得した乱数値と大当たり値とが一致しているときに大当たりを発生させる処理であって、ステップS106において実行されると、図8に示すように、まず、ステップS400に移行する。
ステップS400では、図柄表示部104において演出図柄が変動中か否かを判定し、演出図柄が変動中でないと判定したとき(No)は、ステップS402に移行して、保留球数が「1」以上であるか否かを判定し、保留球数が「1」以上であると判定したとき(Yes)は、ステップS404に移行する。
ステップS404では、保留球数に対応したRAM206の所定領域から大当たり決定乱数を読み出し、ステップS406に移行して、読み出した乱数値が大当たり値と一致しているか否かを判定し、大当たり値と一致していると判定したとき(Yes)は、ステップS408に移行して、大当たりフラグをセットし、ステップS410に移行する。
ステップS410では、大当たり時に停止させる演出図柄の態様を決定する大当たり時停止図柄決定処理を実行する。大当たり時停止図柄決定処理では、例えば、大当たり用の停止図柄決定テーブルをROM204から読み出す。そして、保留球数に対応したRAM206の所定領域から停止図柄決定乱数を読み出し、読み出した乱数値の順位の停止図柄番号を、読み出した停止図柄決定テーブルから取得し、取得した停止図柄番号を示す制御コマンド(図柄指定コマンド)を送信バッファに格納する。
次いで、ステップS412に移行して、大当たり時に変動表示する演出図柄の変動パターンを決定する大当たり時変動パターン決定処理を実行する。大当たり時変動パターン決定処理では、例えば、リーチ決定乱数を乱数カウンタから取得し、取得した乱数値に対応する大当たり用の変動パターン決定テーブルをROM204から読み出す。大当たりリーチコマンドは、1または複数の特定の変動パターン決定テーブルにのみ登録されているので、リーチ決定乱数に基づくこの選択は、リーチ演出を行うか否かを決定することになる。そして、変動パターン決定乱数を乱数カウンタから取得し、取得した乱数値の順位の変動パターン番号を、読み出した変動パターン決定テーブルから取得し、取得した変動パターン番号を示す変動パターンコマンドを送信バッファに格納する。これにより、ステップS112の制御コマンド送信処理では、大当たりリーチコマンドその他大当たり時に選択される変動パターンコマンドが演出制御部300に送信される。
次いで、ステップS414に移行して、演出制御部300に対して演出図柄の変動開始を指定するための制御コマンド(変動開始コマンド)を送信バッファに格納する図柄変動開始処理を実行し、ステップS416に移行して、保留球数から「1」を減算し、一連の処理を終了して元の処理に復帰させる。
一方、ステップS406で、大当たり値と一致しないと判定したとき(No)は、ステップS418に移行して、はずれ時に停止させる演出図柄の態様を決定するはずれ時停止図柄決定処理を実行する。はずれ時停止図柄決定処理は、ステップS410と同様に構成される。ステップS410と異なるのは、はずれ用の停止図柄決定テーブルを用いる点である。
次いで、ステップS420に移行して、はずれ時に変動表示する演出図柄の変動パターンを決定するはずれ時変動パターン決定処理を実行する。はずれ時変動パターン決定処理は、ステップS412と同様に構成される。ステップS412と異なるのは、はずれ用の変動パターン決定テーブルを用いる点である。これにより、ステップS112の制御コマンド送信処理では、はずれ非リーチコマンド、はずれリーチコマンドその他はずれ時に選択される変動パターンコマンドが演出制御部300に送信される。
ステップS420の処理が終了すると、ステップS414に移行する。
一方、ステップS400で、図柄表示部104において演出図柄が変動中であると判定したとき(Yes)は、ステップS422に移行する。
ステップS422では、演出図柄の変動を開始してから所定時間(例えば、30秒)が経過したか否かを判定し、所定時間が経過したと判定したとき(Yes)は、ステップS424に移行して、演出制御部300に対して演出図柄の停止を指定するための制御コマンド(図柄停止コマンド)を送信バッファに格納する図柄停止処理を実行し、一連の処理を終了して元の処理に復帰させる。
一方、ステップS422で、所定時間が経過していないと判定したとき(No)、およびステップS402で、保留球数が「0」であると判定したとき(No)はいずれも、一連の処理を終了して元の処理に復帰させる。
〔電動役物制御処理〕
次に、ステップS108の電動役物制御処理を説明する。
図9は、電動役物制御処理を示すフローチャートである。
電動役物制御処理は、ステップS108において実行されると、図9に示すように、まず、ステップS500に移行する。
ステップS500では、大当たりフラグに基づいて大当たりか否かを判定し、大当たりフラグがセットされていることにより大当たりであると判定したとき(Yes)は、ステップS502に移行する。
ステップS502では、大当たり演出を開始するタイミングであるか否かを判定し、大当たり演出を開始するタイミングであると判定したとき(Yes)は、ステップS504に移行する。
ステップS504では、大当たり開始コマンドを送信バッファに格納する大当たり演出開始処理を実行し、一連の処理を終了して元の処理に復帰させる。これにより、ステップS112の制御コマンド送信処理では、大当たり開始コマンドが演出制御部300に送信される。
一方、ステップS502で、大当たり演出を開始するタイミングでないと判定したとき(No)は、ステップS506に移行して、ラウンドを開始するタイミングであるか否かを判定し、ラウンドを開始するタイミングであると判定したとき(Yes)は、ステップS508に移行する。
ステップS508では、ラウンド開始コマンドを送信バッファに格納するラウンド開始処理を実行し、一連の処理を終了して元の処理に復帰させる。これにより、ステップS112の制御コマンド送信処理では、暗号化認証データが付加されたラウンド開始コマンドが演出制御部300に送信される。
一方、ステップS506で、ラウンドを開始するタイミングでないと判定したとき(No)は、ステップS510に移行して、ラウンドが継続中であるか否かを判定し、ラウンドが継続中であると判定したとき(Yes)は、ステップS512に移行する。
ステップS512では、大入賞口開閉部288により大入賞口109の開閉を制御する大入賞口開閉制御処理を実行し、一連の処理を終了して元の処理に復帰させる。
一方、ステップS510で、ラウンドが継続中でないと判定したとき(No)は、ステップS514に移行して、ラウンドを終了するタイミングであるか否かを判定し、ラウンドを終了するタイミングであると判定したとき(Yes)は、ステップS516に移行する。
ステップS516では、ラウンド回数に「1」を加算し、ステップS518に移行して、ラウンド回数が最大ラウンド数(例えば、15回)を超えたか否かを判定し、最大ラウンド数を超えていないと判定したとき(No)は、ステップS520に移行する。
ステップS520では、ラウンド終了コマンドを送信バッファに格納するラウンド終了処理を実行し、一連の処理を終了して元の処理に復帰させる。これにより、ステップS112の制御コマンド送信処理では、暗号化認証データが付加されたラウンド終了コマンドが演出制御部300に送信される。
一方、ステップS518で、ラウンド回数が最大ラウンド数を超えていると判定したとき(Yes)は、ステップS522に移行する。
ステップS522では、大当たり終了コマンドを送信バッファに格納する大当たり演出終了処理を実行する。これにより、ステップS112の制御コマンド送信処理では、大当たり終了コマンドが演出制御部300に送信される。
次いで、ステップS524に移行して、大当たりフラグをリセットし、一連の処理を終了して元の処理に復帰させる。
一方、ステップS514で、ラウンドを終了するタイミングでないと判定したとき(No)、およびステップS500で、大当たりフラグがリセットされていることにより大当たりでないと判定したとき(No)はいずれも、一連の処理を終了して元の処理に復帰させる。
〔演出制御処理〕
次に、演出制御部300で実行される演出制御処理を説明する。
CPU302は、制御プログラムをROM304から読み出し、読み出した制御プログラムに従って、図10のフローチャートに示す演出制御処理を実行する。
図10は、演出制御処理を示すフローチャートである。
演出制御処理は、CPU302において実行されると、図10に示すように、まず、ステップS600に移行する。
ステップS600では、主制御部200から制御コマンドを受信する制御コマンド受信処理を実行し、ステップS602に移行して、受信した制御コマンドのうち変動パターンコマンドを処理する変動パターンコマンド処理を実行し、ステップS604に移行する。
ステップS604では、受信した制御コマンドのうち大当たりコマンドを処理する大当たりコマンド処理を実行し、ステップS606に移行して、受信した制御コマンドのうち変動パターンコマンドおよび大当たりコマンド以外のものを処理するその他コマンド処理を実行し、ステップS600に移行する。
〔制御コマンド受信処理〕
次に、ステップS600の制御コマンド受信処理を説明する。
図11は、制御コマンド受信処理を示すフローチャートである。
制御コマンド受信処理は、ステップS600において実行されると、図11に示すように、まず、ステップS700に移行する。
ステップS700では、I/F310を介して主制御部200から制御コマンドを受信したか否かを判定し、制御コマンドを受信したと判定したとき(Yes)は、ステップS702に移行するが、そうでないと判定したとき(No)は、制御コマンドを受信するまでステップS700で待機する。
ステップS702では、受信した制御コマンドが予め定められたコマンドであるか否かを判定し、予め定められたコマンドであると判定したとき(Yes)は、ステップS704に移行して、受信した制御コマンドに付加されている暗号化認証データを取得し、ステップS706に移行する。
ステップS706では、主制御部200が使用する所定の暗号化アルゴリズムに対応する復号化アルゴリズムにより、取得した暗号化認証データを復号化する復号化処理を実行する。
復号化アルゴリズムとしては、例えば、復号鍵(例えば、「0x33」)との排他的論理和を演算する復号化アルゴリズムが用いられる。ここで、復号化アルゴリズムは、暗号化アルゴリズムにより暗号化した暗号化結果を復号化可能なものである。
したがって、復号化処理では、復号化アルゴリズムにより暗号化認証データを復号化して検証値を得ることになる。この検証値は、主制御部200で生成した検証値(すなわち、期待値)と一致する。
次いで、ステップS708に移行して、ROM304から期待値を読み出し、ステップS710に移行して、復号化して得られた検証値が、読み出した期待値と一致するか否かを判定し、期待値と一致すると判定したとき(Yes)は、ステップS712に移行する。
ステップS712では、ステップS700で受信した制御コマンドをRAM306の受信バッファに格納し、一連の処理を終了して元の処理に復帰させる。
一方、ステップS710で、検証値が期待値と一致しないと判定したとき(No)は、ステップS716に移行する。
ステップS716では、ステップS700で受信した制御コマンドを破棄し、ステップS718に移行する。
ステップS718では、図柄表示部104、音声制御部382およびランプ制御部386に対して、不正通知を行う不正通知演出を指定するための制御コマンド(不正通知演出コマンド)をそれぞれ送信する不正通知処理を実行する。図柄表示部104、音声制御部382およびランプ制御部386では、不正通知演出コマンドを受信すると、不正通知演出を行う。不正通知演出では、例えば、図柄表示部104に通常出現しないキャラクタを出現させたり、キャラクタを通常とは異なる方法で出現させたりする。また、図柄表示部104の輝度や色を変えたり、所定の点滅パターンでランプ384を点滅させたりして通知してもよい。これにより、パチンコホールの従業員がその状態を認識しやすい。また、不正通知演出は、遊技者がその状態を認識しにくい態様で行ってもよいし、逆に、遊技者が認識しやすい態様で行ってもよい。遊技者が認識しやすい態様で行えば、不正行為を中止することが期待できる。
ステップS718の処理が終了すると、一連の処理を終了して元の処理に復帰させる。
一方、ステップS702で、受信した制御コマンドが予め定められたコマンドでないと判定したとき(No)は、ステップS720に移行して、ステップS700で受信した制御コマンドを受信バッファに格納し、一連の処理を終了して元の処理に復帰させる。
〔変動パターンコマンド処理〕
次に、ステップS602の変動パターンコマンド処理を説明する。
図12は、変動パターンコマンド処理を示すフローチャートである。
変動パターンコマンド処理は、ステップS602において実行されると、図12に示すように、まず、ステップS800に移行する。
ステップS800では、受信バッファの制御コマンドに基づいて変動パターンコマンドを受信したか否かを判定し、変動パターンコマンドを受信したと判定したとき(Yes)は、ステップS802に移行するが、そうでないと判定したとき(No)は、変動パターンコマンドを受信するまでステップS800で待機する。
ステップS802では、乱数カウンタから乱数を取得し、ステップS804に移行して、取得した乱数に基づいて、受信した変動パターンコマンドに対応する複数の変動演出のなかからいずれかを選択し、ステップS806に移行する。
ステップS806では、図柄表示部104、音声制御部382およびランプ制御部386に対して、選択した変動演出の開始を指定するための制御コマンド(変動演出開始コマンド)をそれぞれ送信する変動演出開始処理を実行する。
次いで、ステップS808に移行して、変動演出開始コマンドを送信してから所定時間(例えば、30秒)が経過したか否かを判定し、所定時間が経過していないと判定したとき(No)は、ステップS810に移行して、受信バッファの制御コマンドに基づいて図柄停止コマンドを受信したか否かを判定し、図柄停止コマンドを受信したと判定したとき(Yes)は、ステップS812に移行する。
ステップS812では、図柄表示部104、音声制御部382およびランプ制御部386に対して、変動演出の終了を指定するための制御コマンド(変動演出終了コマンド)をそれぞれ送信する変動演出終了処理を実行する。
ステップS812の処理が終了すると、一連の処理を終了して元の処理に復帰させる。
一方、ステップS810で、図柄停止コマンドを受信しないと判定したとき(No)は、ステップS808に移行する。
一方、ステップS808で、所定時間が経過したと判定したとき(Yes)は、ステップS812に移行する。
なお、乱数カウンタの更新は、主制御部200で採用される上記方法により行うことができる。ただし、更新方法は、主制御部200とは必ずしも同一でなくてもよい。
〔大当たりコマンド処理〕
次に、ステップS604の大当たりコマンド処理を説明する。
図13は、大当たりコマンド処理を示すフローチャートである。
大当たりコマンド処理は、ステップS604において実行されると、図13に示すように、まず、ステップS900に移行する。
ステップS900では、受信バッファの制御コマンドに基づいて大当たり開始コマンドを受信したか否かを判定し、大当たり開始コマンドを受信したと判定したとき(Yes)は、ステップS902に移行する。
ステップS902では、図柄表示部104、音声制御部382およびランプ制御部386に対して、大当たり演出の開始を指定するための制御コマンド(大当たり演出開始コマンド)をそれぞれ送信する大当たり演出開始処理を実行する。
次いで、ステップS904に移行して、受信バッファの制御コマンドに基づいてラウンド開始コマンドを受信したか否かを判定し、ラウンド開始コマンドを受信したと判定したとき(Yes)は、ステップS906に移行する。
ステップS906では、図柄表示部104、音声制御部382およびランプ制御部386に対して、ラウンド演出の開始を指定するための制御コマンド(ラウンド演出開始コマンド)をそれぞれ送信するラウンド演出開始処理を実行する。
次いで、ステップS908に移行して、受信バッファの制御コマンドに基づいてラウンド終了コマンドを受信したか否かを判定し、ラウンド終了コマンドを受信したと判定したとき(Yes)は、ステップS910に移行する。
ステップS910では、図柄表示部104、音声制御部382およびランプ制御部386に対して、ラウンド演出の終了を指定するための制御コマンド(ラウンド演出終了コマンド)をそれぞれ送信するラウンド演出終了処理を実行し、ステップS904に移行する。
一方、ステップS908で、ラウンド終了コマンドを受信しないと判定したとき(No)は、ステップS912に移行して、受信バッファの制御コマンドに基づいて大当たり終了コマンドを受信したか否かを判定し、大当たり終了コマンドを受信したと判定したとき(Yes)は、ステップS914に移行する。
ステップS914では、図柄表示部104、音声制御部382およびランプ制御部386に対して、大当たり演出の終了を指定するための制御コマンド(大当たり演出終了コマンド)をそれぞれ送信する大当たり演出終了処理を実行し、一連の処理を終了して元の処理に復帰させる。
一方、ステップS912で、大当たり終了コマンドを受信しないと判定したとき(No)は、ステップS908に移行する。
一方、ステップS904で、ラウンド開始コマンドを受信しないと判定したとき(No)は、ラウンド開始コマンドを受信するまでステップS904で待機する。
一方、ステップS900で、大当たり開始コマンドを受信しないと判定したとき(No)は、大当たり開始コマンドを受信するまでステップS900で待機する。
〔本実施の形態の動作〕
次に、本実施の形態の動作を説明する。
まず、パチンコ機に電源が投入されると、主制御部200では、ステップS102を経て、初期化処理が実行される。初期化処理では、電源オンコマンドが送信される。電源オンコマンドが予め定められたコマンドでない場合、ステップS210を経て、暗号化認証データが付加されることなく演出制御部300および賞球制御部400にそのまま送信される。
演出制御部300では、電源オンコマンドを受信すると、図柄表示部104、音声制御部382およびランプ制御部386に対して、電源オン時の演出用の制御コマンド(具体的には、デモ画面の表示、ランプ384の点灯、音声の出力を指定するための制御コマンド)がそれぞれ送信される。
初期化処理が終了すると、主制御部200では、ステップS104〜S112を経て、入賞判定処理、大当たり判定処理、電動役物制御処理および制御コマンド送信処理が所定周期で繰り返し実行される。これにより、パチンコ機は、遊技可能な状態となる。遊技者は、貸し出しを受けた遊技球をパチンコ機に装填し、発射部482を操作して遊技球を遊技盤101に発射することにより遊技を行うことができる。
遊技者により発射された遊技球が始動入賞口105に入賞すると、主制御部200では、ステップS306、S312を経て、その入賞タイミングで大当たり決定乱数が取得される。そして、ステップS404、S406を経て、取得された乱数値が大当たり値と一致していれば、大当たりとなる。
大当たりとなると、ステップS410、S412を経て、大当たり時の停止図柄の態様および変動パターンが決定される。このとき、リーチ演出を行うことが決定されると、制御コマンド送信処理では、大当たり図柄を指定するための図柄指定コマンドおよび大当たりリーチコマンドが送信される。大当たりリーチコマンドが予め定められたコマンドでない場合、ステップS210を経て、暗号化認証データが付加されることなく演出制御部300にそのまま送信される。
演出制御部300では、大当たりリーチコマンドを受信すると、ステップS802〜S812を経て、受信した大当たりリーチコマンドに基づいて大当たりリーチ変動時の処理が実行される。
主制御部200では、ステップS414、S424を経て、所定の変動パターンで演出図柄を変動表示させ、演出図柄の一部をリーチ図柄で停止させた後に大当たり図柄で演出図柄を停止させる。演出図柄が停止すると、制御コマンド送信処理では、大当たり開始コマンドが送信される。大当たり開始コマンドが予め定められたコマンドでない場合、ステップS210を経て、暗号化認証データが付加されることなく演出制御部300にそのまま送信される。
演出制御部300では、大当たり開始コマンドを受信すると、ステップS902を経て、受信した大当たり開始コマンドに基づいて大当たり演出開始時の処理が実行される。
大当たり中は、最大ラウンド数を上限として所定条件を満たすまでラウンドが継続される。制御コマンド送信処理では、ラウンドの開始時および終了時に大当たりコマンドが送信される。大当たりコマンドが予め定められたコマンドでない場合、ステップS210を経て、暗号化認証データが付加されることなく演出制御部300に送信される。
また、大当たり中は、大入賞口109が所定の開閉パターンで開放し、大入賞口109に遊技球が入賞すると、遊技球1個につき所定数の遊技球が賞球として払い出される。
そして、最終ラウンドが終了すると、制御コマンド送信処理では、大当たり終了コマンドが送信される。大当たり終了コマンドが予め定められたコマンドでない場合、ステップS210を経て、暗号化認証データが付加されることなく演出制御部300にそのまま送信される。
演出制御部300では、大当たり終了コマンドを受信すると、ステップS914を経て、受信した大当たり終了コマンドに基づいて大当たり演出終了時の処理が実行される。
一方、ステップS404、S406を経て、取得された乱数値が大当たり値と一致しなければ、はずれとなる。
はずれとなると、ステップS418、S420を経て、はずれ時の停止図柄の態様および変動パターンが決定される。このとき、リーチ演出を行うことが決定されると、制御コマンド送信処理では、はずれ図柄(または、はずれ図柄となる旨)を指定するための図柄指定コマンドおよびはずれリーチコマンドが送信される。これに対し、リーチ演出を行わないことが決定されると、制御コマンド送信処理では、同図柄指定コマンドおよびはずれ非リーチコマンドが送信される。はずれリーチコマンドまたははずれ非リーチコマンドが予め定められたコマンドでない場合、ステップS210を経て、暗号化認証データが付加されることなく演出制御部300にそのまま送信される。
演出制御部300では、はずれリーチコマンドまたははずれ非リーチコマンドを受信すると、ステップS802〜S812を経て、受信したはずれリーチコマンドまたははずれ非リーチコマンドに基づいてはずれ変動時の処理が実行される。
一方、遊技が中断されると、主制御部200では、客待ちデモ実行処理が実行される。そして、制御コマンド送信処理では、客待ちデモ開始コマンドが送信される。客待ちデモ開始コマンドが予め定められたコマンドでない場合、ステップS210を経て、暗号化認証データが付加されることなく演出制御部300にそのまま送信される。
演出制御部300では、客待ちデモ開始コマンドを受信すると、客待ちデモ開始時の処理として、図柄表示部104、音声制御部382およびランプ制御部386に対して客待ちデモ用の制御コマンドがそれぞれ送信される。
その後、遊技が再開されると、制御コマンド送信処理では、客待ちデモ停止コマンドが送信される。客待ちデモ停止コマンドが予め定められたコマンドでない場合、ステップS210を経て、暗号化認証データが付加されることなく演出制御部300にそのまま送信される。
演出制御部300では、客待ちデモ停止コマンドを受信すると、客待ちデモ終了時の処理として、図柄表示部104、音声制御部382およびランプ制御部386に対して客待ちデモ用の制御コマンドがそれぞれ送信される。
なお、以上は、予め定められたコマンドでない場合、暗号化認証データを付加されることなくそのまま送信する場合について説明したが、暗号化認証データの代わりにダミー値のデータを付加して送信してもよい。この場合、中間部は、周辺部を介して、ダミー値のデータが付加された制御コマンドを受信する。それを受信した中間部では、ダミー値のデータをそのまま周辺部へ送信してもよいし、さらに別のダミー値のデータを生成してそれを周辺部へ送信してもよい。
以上の動作において、制御コマンドが予め定められたコマンドである場合、ステップS204〜S208を経て、暗号化認証データが付加されて周辺部3aの一例である演出制御部300に送信される。
図14は、パチンコ機の認証動作のシーケンスを示す図である。制御コマンドが予め定められたコマンドである場合、暗号化認証データが付加された後、主制御部2aから送信される。
制御コマンドが格納され(S1)、その制御コマンドが予め定められたコマンドである場合、検証値を含む第1の認証データが生成される(S2)。生成された第1の認証データは、所定の暗号化アルゴリズムにより暗号化される(S3)。そして、第1の認証データが付加された制御コマンドは、主制御部2aから周辺部3aへ送信される(S4、S5)。
第1の認証データが付加された制御コマンドは周辺部によって受信される(S6)。すると、第1の認証データが付加された制御コマンドは、バス3cを介して周辺部3aから中間部3bへ送信される(S7、S8)。
また、制御コマンドに基づく処理が、周辺部3aにおいて行われる(S9)。
第1の認証データが付加された制御コマンドは、中間部3bによって受信される(S10)。中間部3bでは、第1の認証データに基づき、第2の認証データを生成する(S11)。生成された第2の認証データは中間部3bから周辺部3aへ送信される(S12、S13)。第2の認証データは周辺部3aによって受信される(S14)。周辺部3aでは、復号化処理が行われた後(S15)、第2の認証データを用いた認証処理が行われる(S16)。認証OKの場合、そのまま処理が継続される。
認証OKでない場合(S17においてNo)、主制御部2aが正当でないことが報知される(S18)。
ここで、周辺部3aにおける認証処理について、より詳細に説明する。例えば、検証値が「0x12」である場合において、所定の暗号化アルゴリズムにより、下式(1)のように暗号化認証データ「0x21」が得られる。
0x21 = 0x12 xor 0x33 …(1)
演出制御部300では、予め定められたコマンドを受信すると、ステップS704、S706を経て、受信したコマンドに付加されている暗号化認証データが取得され、取得された暗号化認証データが所定の復号化アルゴリズムにより復号化される。
上式(1)で得られた暗号化認証データ「0x21」を所定の復号化アルゴリズムにより復号化した場合は、下式(2)により検証値「0x12」が得られる。
0x12 = 0x21 xor 0x33 …(2)
検証値が得られると、ステップS708を経て、主制御部200で生成された検証値と同一の値となる期待値「0x12」が読み出される。そして、ステップS710を経て、復号化して得られた検証値が期待値と照合される。このとき、上式(2)で得られた検証値「0x12」は期待値「0x12」と一致するので、認証が得られ、ステップS712を経て、制御コマンドが受信バッファに格納される。そして、受信した制御コマンドに基づいて処理が実行される。
これに対し、主制御基板と演出制御基板との間に不正な制御基板が接続されるといった不正行為が行われた場合は、不正な制御基板が制御コマンドを演出制御基板に送信しても、演出制御部300では、受信したコマンドに暗号化認証データが付加されていないので、検証値が期待値と一致せず、認証が得られない可能性が高い。その結果、ステップS716、S718を経て、受信した制御コマンドが破棄され、不正通知処理が実行される(つまり、主制御部が正当でないことが報知される)。
また、不正な制御基板が何らかの認証データを付加して制御コマンドを演出制御基板に送信しても、演出制御部300では、適切な検証値が得られないので、検証値が期待値と一致せず、認証が得られない可能性が高い。
なお、周辺部における上記制御コマンドの中間部への送信、周辺部における上記制御コマンドに基づく処理について、処理が行われる順序は問わない。すなわち、図14に示すように、上記制御コマンドの中間部への送信が先に行なわれ、その後に上記制御コマンドに基づく処理が行なわれるという順序でも良いし、その逆に、上記制御コマンドに基づく処理が先に行なわれ、その後に上記制御コマンドの中間部への送信が行なわれるという順序でも良い。
同様に、周辺部における上記制御コマンドに基づく処理、周辺部における上記第2の認証データを用いた認証処理、についても、処理が行われる順序は問わない。すなわち、上記制御コマンドに基づく処理が先に行なわれ、その後に上記第2の認証データを用いた認証処理が行なわれるという順序でも良いし、その逆の順序でも良い。
〔認証動作のタイミング〕
ところで、主制御部2aは、通常、複数の制御コマンドを、間隔を置いて出力する。以下では、主制御部2aが制御コマンドAを出力した後に、制御コマンドBを出力する場合を例に挙げて、主制御部2aが複数の制御コマンドを、間隔を置いて出力する場合の認証動作のタイミングについて、図15および図16を用いて説明する。
図15は、主制御部2aが制御コマンドAを出力した後に、制御コマンドBを出力する場合の、演出または前処理もしくは後処理が実行されるタイミングと、周辺部3aが認証処理を行なうタイミングとを示す第1の図である。図16は、主制御部2aが制御コマンドAを出力した後に、制御コマンドBを出力する場合の、演出または前処理もしくは後処理が実行されるタイミングと、周辺部3aが認証処理を行なうタイミングとを示す第2の図である。
主制御部2aは、制御コマンドAを出力する際、それとともに制御コマンドAに関連付けられている第1の認証データを出力する。また、主制御部2aは、制御コマンドBを出力する際、それとともに制御コマンドBに関連付けられている第1の認証データを出力する。
このとき、制御コマンドAに関連付けられている第1の認証データに基づいて生成された第2の認証データについての認証動作が行なわれた後に、主制御部2aから制御コマンドBが出力される場合がある。例えば、図15に示すように、制御コマンドAに基づく演出または前処理もしくは後処理の実行期間t41の後に、制御コマンドAに対応する第2の認証データに基づいて主制御部2aが正当であるか否かについて期間t42において判断される。その後、制御コマンドBに基づく演出または前処理もしくは後処理の実行期間t43の後に、制御コマンドBに対応する第2の認証データに基づいて主制御部2aが正当であるか否かについて期間t44において判断される。
それに対して、主制御部2aは、制御コマンドAに関連付けられている第2の認証データについての認証動作が行なわれる前に、主制御部2aから制御コマンドBが出力される場合がある。その場合、図16に示すように、制御コマンドBに基づく演出または前処理もしくは後処理の実行期間t42’の後に、制御コマンドAに対応する第2の認証データに基づいて主制御部2aが正当であるか否かについて期間t43’において判断される。その後、制御コマンドBに対応する第2の認証データに基づいて主制御部2aが正当であるか否かについて期間t44’において判断される。
いずれにしても、図15および図16から明らかなように、周辺部3aは、制御コマンドに基づく演出または前処理もしくは後処理が実行される期間の後に、その制御コマンドに対応する第2の認証データに基づいて主制御部2aが正当であるか否かを判断する。
上述したように、本実施の形態のパチンコ機は、周辺部3aとは別に、主制御部2aが正当であるか否かを判断するために用いる第2の認証データを生成する中間部3bを有するので、周辺部3aの負担が小さくなり、認証データの容量を大きくしたり、複雑な演算処理を行なったりしてセキュリティの強度を従来よりも大きくして主制御部2aが正当であるか否かを判断することができる。
また、周辺部3aは、制御コマンドに基づく演出または前処理もしくは後処理が実行される期間の後に、その制御コマンドとともに主制御部2aから出力される第1の認証データに基づいて生成された第2の認証データにより、主制御部2aが正当であるか否かを判断する。そのため、認証データの容量が大きくなったり、複雑な演算処理を行なったりしても、中間部3bは、周辺部3aの動作とは独立して第2の認証データを生成することができる。したがって、本実施の形態のパチンコ機は、セキュリティの強度を従来よりも大きくして主制御部2aが正当であるか否かを判断することができる。
なお、上述した実施の形態では、周辺基板3は、周辺部3aと中間部3bとの間の信号授受に用いられる唯一の通信経路であるバス3cを有している。しかしながら、図17に示すように、周辺基板3は、バス3cを有するのではなく、周辺部3aと中間部3bとの間の信号授受に用いられる二本の通信経路であるバス3dとバス3eとを有していてもよい。その場合、周辺部3aは第1の認証データを通信経路の一方(例えばバス3d)を介して中間部3bに出力し、中間部3bは、主制御部2aが正当であるか否かについての判断するために用いる第2の認証データを通信経路の他方(例えばバス3e)を介して周辺部3aに出力する。
また、主制御部2aの機能をコンピュータに実現させるためのプログラムを有するメモリとそのプログラムを実行するコンピュータとを主制御基板2に設けてもよい。この場合、そのコンピュータがそのプログラムを実行することによって主制御部2aの機能が実現される。
周辺部3aの機能をコンピュータに実現させるためのプログラムを有するメモリとそのプログラムを実行するコンピュータとを周辺基板3に設けてもよい。この場合、そのコンピュータがそのプログラムを実行することによって周辺部3aの機能が実現される。
中間部3bの機能をコンピュータに実現させるためのプログラムを有するメモリとそのプログラムを実行するコンピュータとを周辺基板3に設けてもよい。この場合、そのコンピュータがそのプログラムを実行することによって中間部3bの機能が実現される。
〔認証方法〕
上述した遊技機においては、以下のような認証方法が採用されている。すなわち、遊技に関する演出または前記演出の前処理もしくは後処理を制御するための制御コマンドと、自らが正当であることを認証させるための第1の認証データとを出力する主制御部と、前記制御コマンドに基づいて前記演出または前記前処理もしくは後処理の実行を制御する周辺部とを備える遊技機における認証方法であって、前記遊技機が、前記主制御部が正当であるか否かを判断するための第2の認証データを生成し、前記第2の認証データを前記周辺部に出力する中間部を更に備え、前記主制御部が、前記制御コマンドと、前記第1の認証データとを出力するステップ(図14のS4、S5に対応)と、前記周辺部が、前記演出または前記前処理もしくは後処理の実行を制御するとともに、前記第1の認証データを出力するステップ(図14のS7、S8に対応)と、前記中間部が、前記周辺部から出力される前記第1の認証データに基づいて前記主制御部が正当であるか否かを判断するためのデータでありかつ前記第1の認証データよりも簡単な暗号化処理が施された第2の認証データを生成し、前記第2の認証データを前記周辺部に出力するステップ(図14のS11〜S13に対応)と、前記周辺部が、前記第2の認証データに基づいて前記主制御部が正当であるか否かを判断する認証ステップ(図14のS16に対応)とを含む認証方法が採用されている。この認証方法を採用する場合、周辺部とは別に、主制御部が正当であるか否かを判断するための中間データを生成する中間部を設けることにより、認証処理全てを周辺部で行う場合に比べて周辺部の負担が小さくなり、認証データの容量を大きくしたり、複雑な演算処理を行なったりしてセキュリティの強度を従来よりも大きくして主制御部が正当であるか否かを判断することができる。また、前記周辺部が、前記主制御部が正当でないと判断された場合、その旨を報知するステップ(図14のS18に対応)をさらに含むことにより、パチンコホールの従業員や遊技者がその状態を認識しやすくなる。
上述した遊技機の周辺部3aにおいては、以下のような認証方法が採用されている。すなわち、遊技に関する演出または前記演出の前処理もしくは後処理を制御するための制御コマンドと、自らが正当であることを認証させるための第1の認証データとを出力する主制御部と、前記制御コマンドに基づいて前記演出または前記前処理もしくは後処理の実行を制御する周辺部と、前記主制御部が正当であるか否かを判断するための第2の認証データを生成し、前記第2の認証データを前記周辺部に出力する中間部とを備える遊技機において前記主制御部についての認証を行う認証方法であって、前記中間部が、前記第1の認証データを、前記周辺部を介して取得する取得ステップ(図14のS8、S10に対応)と、前記中間部が、前記取得ステップにおいて取得した第1の認証データに基づいて、前記主制御部が正当であるか否かを判断するためのデータでありかつ前記第1の認証データよりも簡単な暗号化処理が施された第2の認証データを生成し、前記第2の認証データを前記周辺部に出力するステップ(図14のS11〜S13に対応)とを含み、前記周辺部は、前記主制御部が正当であるか否かを、前記第2の認証データに基づいて判断するようにした認証方法が採用されている。この認証方法を採用する場合、周辺部を介して取得した第1の認証データを用いて中間データである第2の認証データを生成し、この第2の認証データを用いて周辺部が主制御部を認証するので、認証処理全てを周辺部で行う場合に比べて周辺部の負担が小さくなり、認証データの容量を大きくしたり、複雑な演算処理を行なったりしてセキュリティの強度を従来よりも大きくして主制御部が正当であるか否かを判断することができる。また、前記周辺部が、前記主制御部が正当でないと判断された場合、認証結果を報知するための信号を出力する報知信号出力ステップ(図14のS18に対応)をさらに含むことにより、パチンコホールの従業員や遊技者がその状態を認識しやすくなる。
そして、前記周辺部が、前記制御コマンドに基づく前記演出または前記前処理もしくは後処理が実行される期間の後に前記主制御部が正当であるか否かを判断するようにしてもよい。制御コマンドに基づく演出または前処理もしくは後処理が実行される期間の後に、主制御部が正当であるか否かを判断することにより、認証データの容量が大きくなったり、複雑な演算処理を行なったりしても、周辺部の動作とは独立して第2の認証データを生成することができる。したがって、セキュリティの強度を従来よりも大きくして主制御部が正当であるか否かを判断することができる。
〔プログラム〕
また、前記認証方法を実現するため、次の各ステップをコンピュータに実行させるプログラムを用意しておき、周辺部内のCPUによって実行してもよい。すなわち、このプログラムは、遊技に関する演出または前記演出の前処理もしくは後処理を制御するための制御コマンドと、自らが正当であることを認証させるための第1の認証データとを出力する主制御部と、前記制御コマンドに基づいて前記演出または前記前処理もしくは後処理の実行を制御する周辺部と、前記主制御部が正当であるか否かを判断するための第2の認証データを生成し、前記第2の認証データを前記周辺部に出力する中間部とを備える遊技機において前記主制御部についての認証を行うプログラムであって、前記周辺部のコンピュータに、前記第1の認証データを、前記中間部へ出力する出力ステップ、前記出力ステップにおいて出力した第1の認証データに基づいて、前記主制御部が正当であるか否かを判断するためのデータでありかつ前記第1の認証データよりも簡単な暗号化処理が施されて生成された第2の認証データを前記中間部から取得する取得ステップ、前記主制御部が正当であるか否かを、前記取得ステップにおいて取得した前記第2の認証データに基づいて判断するステップ、を実行させることを特徴とするプログラムである。このプログラムをコンピュータに実行させる場合、主制御部が正当であるか否かを判断するため中間データである第2の認証データを中間部において生成するので、認証処理全てを周辺部で行う場合に比べて周辺部の負担が小さくなり、認証データの容量を大きくしたり、複雑な演算処理を行なったりしてセキュリティの強度を従来よりも大きくして主制御部が正当であるか否かを判断することができる。前記認証ステップにおいて前記主制御部が正当でないと判断された場合、認証結果を報知するための信号を出力する報知信号出力ステップをさらに含んでもよい。これにより、パチンコホールの従業員や遊技者がその状態を認識しやすくなる。
そして、前記制御コマンドに基づく前記演出または前記前処理もしくは後処理が実行される期間の後に前記主制御部が正当であるか否かを判断するようにしてもよい。制御コマンドに基づく演出または前処理もしくは後処理が実行される期間の後に、主制御部が正当であるか否かを判断することにより、認証データの容量が大きくなったり、複雑な演算処理を行なったりしても、周辺部の動作とは独立して第2の認証データを生成することができる。したがって、セキュリティの強度を従来よりも大きくして主制御部が正当であるか否かを判断することができる。
〔変形例〕
また、上述した実施の形態では、主制御部2aが正当でない旨の報知を周辺部3aが行う場合について説明したが、その報知のための報知部を設けておき、その報知部が周辺部3aの代わりに報知を行ってもよい。例えば、図18や図19に示すように、主制御部2aが正当でない旨を報知する報知部4を、周辺部3aとは別に設けてもよい。この報知部4は、主制御部2aが正当でないことを示す信号を周辺部3aから受け取った場合に、その旨をパチンコ機の外部に報知する。
なお、図18は、図2に示す構成に、報知部4を追加した構成を示す図である。また、図19は、図17に示す構成に、報知部4を追加した構成を示す図である。図18および図19のいずれの場合においても、報知部4は、液晶(不図示)に表示させて報知を行ったり、ランプ等を点灯させたりして通知することによる報知を行ったりする。液晶表示やランプ等を点灯させたり点滅させることによる視覚的報知に限らず、スピーカ(不図示)から音を出力することによる聴覚的報知、バイブレータ(不図示)を振動させることによる触覚的報知を行ってもよい。また、これらの報知を組み合わせて行ってもよい。
また、周辺部3aは、主制御部2aからの第1の認証データを受け取ることなく単に通過させて中間部3bに受け取らせてもよい。
また、主制御部から周辺部を介して中間部へ送信される第1の認証データは複雑な暗号化処理が施されたものとし、中間部で暗号化処理を解除した後に中間部から周辺部へ送信される第2の認証データは複雑ではない暗号化処理(第1の認証データよりも簡単な暗号化処理)が施されたものとしてもよい。このようにすれば、主制御部から周辺部を介して中間部へ送信される第1の認証データに複雑な暗号化処理を採用した場合でも、周辺部は複雑ではない暗号化処理を採用した第2の認証データを用いて認証することになるので、周辺部の負荷を軽減することができる。
更に、上述した実施の形態では、パチンコ機を例に挙げて本発明の遊技機について説明した。しかしながら、本発明の遊技機はパチンコ機であるとは限定されない。本発明の遊技機の例には、遊技に関する演出を実行する実行部を有するパチスロ機およびアミューズメントゲーム機等が含まれる。その場合、パチスロ機およびアミューズメントゲーム機等の遊技機は、主制御部2a、周辺部3a、および中間部3bを有する。