(57)【要約】【課題】遊技機の主制御基板に対する不正基板との交換等による不正行為や誤動作を検知すると共に、周辺部の処理負荷を軽減する。【解決手段】遊技機１の主制御部１０は、所定のデータを分割し半群演算を行って個体検査値を生成する個体検査値生成手段１３と、分割数に基づいて選択されたパケット情報を用いて同期コード生成するとともに機能番号等を用いて動作コードを生成し動作検査値を生成する動作検査値生成手段１４とを備え、各検査値をデータ信号に付加して中間部２０に送信する。中間部２０は、受信した動作検査値に含まれるパケット情報の相関関係を期待値と照合するとともに機能番号の配列順等を期待値と照合する中間認証手段２２を備え、照合結果と個体検査値とをデータ信号に付加して周辺部３０に送信する。周辺部３０は、受信した個体検査値に結合処理を施して主制御部１０の個体認証を行うとともに、中間部２０での照合結果が期待値と一致するか否かに基づいて主制御部１０の動作認証を行う認証手段３２を備える。【選択図】図１
2011177255.tif 000002
【特許請求の範囲】
【請求項１】
制御コマンドを出力する主制御部と、中間部と、前記制御コマンドに応じた処理を行う周辺部とを備える遊技機であって、
前記主制御部は、
所定のデータが記憶されているデータ記憶手段と、前記データ記憶手段に記憶されている前記所定のデータを分割し、分割された各データを用いて結合法則を満たす２項演算を行って個体検査値を生成する個体検査値生成手段と、
前記主制御部の動作順序を示す情報である第１の動作検査値と、前記主制御部が特定の処理を行うごとに変動する値である第２の動作検査値とを生成する動作検査値生成手段とを備え、
前記個体検査値と前記第１の動作検査値と前記第２の動作検査値とを前記中間部に送信し、
前記中間部は、
前記主制御部より送信された前記第１の動作検査値である前記主制御部の動作順序を示す情報を用いて第１の認証条件に基づき前記主制御部の動作の継続性を認証する第１の動作認証手段と、
前記主制御部より送信された前記第２の動作検査値である前記主制御部が特定の処理を行うごとに変動する値を用いて第２の認証条件に基づき前記主制御部の動作の継続性を認証する第２の動作認証手段とを備え、
前記個体検査値と前記第１の動作認証手段が得た認証結果と前記第２の動作認証手段が得た認証結果とを前記周辺部に送信し、
前記周辺部は、
前記データ記憶手段に記憶されている前記所定のデータと同一のデータを用いて前記２項演算を行って得られた演算値が記憶されている演算値記憶手段と、
前記中間部より送信された前記個体検査値を用いて前記２項演算を行い、この演算結果と、前記演算値記憶手段に記憶されている前記演算値とが一致するか否かに基づいて前記主制御部の個体の正当性を認証する個体認証手段と、
前記中間部より送信された前記第１の動作認証手段が得た認証結果を用いて第３の認証条件に基づき前記主制御部の動作の継続性を認証し、かつ、前記中間部より送信された前記第２の動作認証手段が得た認証結果が前記主制御部の動作の継続性が認証されたことを示しているか否かを確認する第３の動作認証手段とを備え、
前記個体認証手段が得た認証結果及び前記第３の動作認証手段が得た認証結果に基づいた処理を行う
ことを特徴とする遊技機。
【請求項２】
前記動作検査値生成手段で生成された前記第１の動作検査値である前記主制御部の動作順序を示す情報は、前記主制御部の動作に伴って生成される複数のパケット情報の生成タイミングの相関関係で分類される複数種類のパケット情報の中から、一つの種類のパケット情報を選択し、選択された種類に応じた複数の生成タイミングのそれぞれで生成された複数のパケット情報を用いて生成された同期コードであり、
前記第１の認証条件は、前記主制御部より送信された前記第１の動作検査値である前記同期コードの生成の際に用いられた前記複数のパケット情報の生成タイミングの相関関係が、予め前記中間部で保持され、前記複数種類のパケット情報の中の一つの種類のパケット情報に対応した相関関係と同一であるか又は非同一であるかであり、
前記第３の認証条件は、前記中間部より送信された前記第１の動作認証手段により得られた前記認証結果が、予め前記周辺部で保持され、前記同一又は前記非同一のどちらであるかを予測した情報と一致するか否かである
ことを特徴とする請求項１に記載の遊技機。
【請求項３】
前記動作検査値生成手段は、前記分割された各データの数に基づいて、前記複数種類のパケット情報の中から、次回の前記同期コードを生成する際に用いる一つの種類のパケット情報を選択し、
前記第３の動作認証手段は、前記主制御部の個体の認証が成功した際に前記２項演算の対象となった前記個体検査値の数に基づいて、前記第３の認証条件における前記同一又は前記非同一のどちらであるかを予測した情報の中から、次回の前記主制御部の動作の継続性を認証する際に用いる前記予測した情報を選択する
ことを特徴とする請求項２に記載の遊技機。
【請求項４】
前記動作検査値生成手段で生成された前記第２の動作検査値である前記主制御部が特定の処理を行うごとに変動する値は、前記主制御部からの出力ごとに割り振られた番号群であり、
前記第２の認証条件は、前記主制御部より送信された前記第２の動作検査値である前記番号群の配列が、予め前記中間部で保持され、前記主制御部からの前記出力が行われた順番を示す配列と一致するか否かである
ことを特徴とする請求項１乃至３のいずれかに記載の遊技機。
【請求項５】
前記動作検査値生成手段で生成された前記第２の動作検査値である前記主制御部が特定の処理を行うごとに変動する値は、前記動作検査値生成手段による前記第１の動作検査値又は前記第２の動作検査値の生成処理が行われた回数、若しくは前記個体検査値生成手段による前記個体検査値の生成処理が行われた回数であり、
前記第２の認証条件は、前記主制御部より送信された前記第２の動作検査値である前記回数が、前記中間部で行われ前記第１の動作認証手段又は前記第２の動作認証手段により前記主制御部の動作の継続性を認証する動作認証処理が行われた回数、若しくは前記周辺部で行われ前記個体認証手段により前記主制御部の個体の正当性を認証する個体認証処理が行われた回数と一致するか否かである
ことを特徴とする請求項１乃至３のいずれかに記載の遊技機。
【請求項６】
前記個体検査値生成手段は、前記個体検査値を第１の暗号化方式で暗号化し、
前記動作検査値生成手段は、前記第１の動作検査値を第２の暗号化方式で暗号化し、
前記動作検査値生成手段は、前記第２の動作検査値を第３の暗号化方式で暗号化し、
前記個体認証手段は、前記個体検査値生成手段で暗号化された前記個体検査値を前記第１の暗号化方式に対応する復号化方式で復号化して前記主制御部の個体の正当性を認証し、
前記第１の動作認証手段は、前記動作検査値生成手段で暗号化された前記第１の動作検査値を前記第２の暗号化方式に対応する復号化方式で復号化して前記主制御部の動作の継続性を認証し、得らえた認証結果を前記第４の暗号化方式で暗号化し、
前記第２の動作認証手段は、前記動作検査値生成手段で暗号化された前記第２の動作検査値を前記第３の暗号化方式に対応する復号化方式で復号化して前記主制御部の動作の継続性を認証し、得られた認証結果を前記第５の暗号化方式で暗号化し、
前記第３の動作認証手段は、前記第１の動作認証手段で暗号化された前記第１の動作認証手段が得た前記認証結果を前記第４の暗号化方式に対応する復号化方式で復号化して前記主制御部の動作の継続性を認証し、かつ、前記第２の動作認証手段で暗号化された前記第２の動作認証手段が得た認証結果を前記第５の暗号化方式に対応する復号化方式で復号化して前記主制御部の動作の継続性が認証されたことを示しているか否かを確認し、
前記周辺部が、前記個体認証手段が得た認証結果及び前記第３の動作認証手段が得た認証結果に基づいた処理を行う
ことを特徴とする請求項１乃至５のいずれかに記載の遊技機。
【請求項７】
制御コマンドを出力する主制御部と、中間部と、前記制御コマンドに応じた処理を行う周辺部とを備える遊技機であって、
前記主制御部は、
所定のデータが記憶されているデータ記憶手段と、前記データ記憶手段に記憶されている前記所定のデータを分割し、分割された各データを用いて結合法則を満たす２項演算を行って個体検査値を生成する個体検査値生成手段と、
前記主制御部の動作順序を示す情報である第１の動作検査値と、前記主制御部が特定の処理を行うごとに変動する値である第２の動作検査値とを生成する動作検査値生成手段とを備え、
前記個体検査値と前記第１の動作検査値と前記第２の動作検査値とを前記中間部に送信し、
前記中間部は、
前記データ記憶手段に記憶されている前記所定のデータと同一のデータを用いて前記２項演算を行って得られた演算値が記憶されている演算値記憶手段と、
前記主制御部より送信された前記個体検査値を用いて前記２項演算を行い、この演算結果と、前記演算値記憶手段に記憶されている前記演算値とが一致するか否かに基づいて前記主制御部の個体の正当性を認証する個体認証手段とを備え、
前記個体認証手段が得た認証結果と前記第１の動作検査値と前記第２の動作検査値とを前記周辺部に送信し、
前記周辺部は、
前記中間部より送信された前記第１の動作検査値である前記主制御部の動作順序を示す情報を用いて第１の認証条件に基づき前記主制御部の動作の継続性を認証する第１の動作認証手段と、
前記中間部より送信された前記第２の動作検査値である前記主制御部が特定の処理を行うごとに変動する値を用いて第２の認証条件に基づき前記主制御部の動作の継続性を認証する第２の動作認証手段とを備え、
前記個体認証手段が得た認証結果、前記第１の動作認証手段が得た認証結果、及び前記第２の動作認証手段が得た認証結果に基づいた処理を行う
ことを特徴とする遊技機。
【請求項８】
前記動作検査値生成手段で生成された前記第１の動作検査値である前記主制御部の動作順序を示す情報は、前記主制御部の動作に伴って生成される複数のパケット情報の生成タイミングの相関関係で分類される複数種類のパケット情報の中から、一つの種類のパケット情報を選択し、選択された種類に応じた複数の生成タイミングのそれぞれで生成された複数のパケット情報を用いて生成された同期コードであり、
前記第１の認証条件は、前記中間部より送信された前記第１の動作検査値である前記同期コードの生成の際に用いられた前記複数のパケット情報の生成タイミングの相関関係が、予め前記周辺部で保持され、前記複数種類のパケット情報のそれぞれに対応した相関関係の中から選択された一つの相関関係と一致するか否かである
ことを特徴とする請求項７に記載の遊技機。
【請求項９】
前記動作検査値生成手段は、前記分割された各データの数に基づいて、前記複数種類のパケット情報の中から、次回の前記同期コードを生成する際に用いる一つの種類のパケット情報を選択し、
前記第１の動作認証手段は、前記主制御部の個体の認証が成功した際に前記２項演算の対象となった前記個体検査値の数に基づいて、前記第１の認証条件における前記複数種類のパケット情報のそれぞれに対応した相関関係の中から、次回の前記主制御部の動作の継続性を認証する際に用いる相関関係を選択する
ことを特徴とする請求項８に記載の遊技機。
【請求項１０】
前記動作検査値生成手段で生成された前記第２の動作検査値である前記主制御部が特定の処理を行うごとに変動する値は、前記主制御部からの出力ごとに割り振られた番号群であり、
前記第２の認証条件は、前記中間部より送信された前記第２の動作検査値である前記番号群の配列が、予め前記周辺部で保持され前記主制御部からの前記出力が行われた順番を示す配列と一致するか否かである
ことを特徴とする請求項７乃至９のいずれかに記載の遊技機。
【請求項１１】
前記動作検査値生成手段で生成された前記第２の動作検査値である前記主制御部が特定の処理を行うごとに変動する値は、前記動作検査値生成手段による前記第１の動作検査値又は前記第２の動作検査値の生成処理が行われた回数、若しくは前記個体検査値生成手段による前記個体検査値の生成処理が行われた回数であり、
前記第２の認証条件は、前記中間部より送信された前記第２の動作検査値である前記回数が、前記周辺部で行われ前記第１の動作認証手段又は前記第２の動作認証手段により前記主制御部の動作の継続性を認証する動作認証処理が行われた回数、若しくは前記中間部で行われ前記個体認証手段により前記主制御部の個体の正当性を認証する個体認証処理が行われた回数と一致するか否かである
ことを特徴とする請求項７乃至９のいずれかに記載の遊技機。
【請求項１２】
前記個体検査値生成手段は、前記個体検査値を第１の暗号化方式で暗号化し、
前記動作検査値生成手段は、前記第１の動作検査値を第２の暗号化方式で暗号化し、
前記動作検査値生成手段は、前記第２の動作検査値を第３の暗号化方式で暗号化し、
前記個体認証手段は、前記個体検査値生成手段で暗号化された前記個体検査値を前記第１の暗号化方式に対応する復号化方式で復号化して前記主制御部の個体の正当性を認証し、得られた認証結果を第４の暗号化方式で暗号化し、
前記第１の動作認証手段は、前記動作検査値生成手段で暗号化された前記第１の動作検査値を前記第２の暗号化方式に対応する復号化方式で復号化して前記主制御部の動作の継続性を認証し、
前記第２の動作認証手段は、前記動作検査値生成手段で暗号化された前記第２の動作検査値を前記第３の暗号化方式に対応する復号化方式で復号化して前記主制御部の動作の継続性を認証し、
前記周辺部が、前記個体認証手段で暗号化された前記個体認証手段が得た認証結果を前記第４の暗号化方式に対応する復号化方式で復号化して前記主制御部の個体の正当性が認証されたことを示しているか否かを確認した結果、前記第１の動作認証手段が得た認証結果、及び前記第２の動作認証手段が得た認証結果に基づいた処理を行う
ことを特徴とする請求項７乃至１１のいずれかに記載の遊技機。
【請求項１３】
前記複数種類のパケット情報の中の一つの種類は、前記主制御部の動作に伴って連続して生成されたパケット情報と、前記主制御部の動作に伴って特定の間隔ごとに生成されたパケット情報とのいずれかであることを特徴とする請求項２、３、８又は９のいずれかに記載の遊技機。
【請求項１４】
前記主制御部は、前記データ記憶手段に記憶されている前記所定のデータを分割する分割数を決定する決定手段をさらに備えることを特徴とする請求項１乃至１３のいずれかに記載の遊技機。
【請求項１５】
前記主制御部は、前記データ記憶手段に記憶されている前記所定のデータを分割するデータ量を決定する決定手段をさらに備えることを特徴とする請求項１乃至１３のいずれかに記載の遊技機。
【請求項１６】
前記個体検査値生成手段は、複数の２項演算が実行可能であり、前記分割数に基づいて、前記複数の２項演算の中から次回の前記個体検査値の生成に用いる２項演算を選択し、
前記演算値記憶手段は、前記データ記憶手段に記憶されている前記所定のデータと同一のデータを用いて前記複数の２項演算をそれぞれ行って得られた複数の演算値を記憶し、
前記個体認証手段は、複数の２項演算が実行可能であり、前記主制御部の個体の認証が成功した際に前記選択した２項演算の対象となった前記個体検査値の数に基づいて、前記複数の２項演算の中から次回の前記主制御部の個体の正当性を認証する際に用いる２項演算を選択するとともに前記複数の演算値の中から次回の前記主制御部の個体の正当性を認証する際に用いる演算値を選択する
ことを特徴とする請求項１４に記載の遊技機。
【請求項１７】
前記個体検査値生成手段は、複数の２項演算が実行可能であり、前記所定のデータを前記データ量で分割して得られた前記所定のデータのブロックの数に基づいて、前記複数の２項演算の中から次回の前記個体検査値の生成に用いる２項演算を選択し、
前記演算値記憶手段は、前記データ記憶手段に記憶されている前記所定のデータと同一のデータを用いて前記複数の２項演算をそれぞれ行って得られた複数の演算値を記憶し、
前記個体認証手段は、複数の２項演算が実行可能であり、前記主制御部の個体の認証が成功した際に前記選択した２項演算の対象となった前記個体検査値の数に基づいて、前記複数の２項演算の中から次回の前記主制御部の個体の正当性を認証する際に用いる２項演算を選択するとともに前記複数の演算値の中から次回の前記主制御部の個体の正当性を認証する際に用いる演算値を選択する
ことを特徴とする請求項１５に記載の遊技機。
【請求項１８】
前記個体検査値、前記第１の動作検査値、前記第２の動作検査値、前記個体認証手段が得た認証結果、前記第１の動作認証手段が得た認証結果、又は前記第２の動作認証手段が得た認証結果の少なくともいずれか一つを、前記制御コマンド又は前記主制御部が出力する該制御コマンド以外のデータ信号に付加して、前記主制御部から前記中間部へ、又は前記中間部から前記周辺部へ送信することを特徴とする請求項１乃至１７のいずれかに記載の遊技機。
【請求項１９】
前記個体検査値生成手段は、前記個体検査値が前記制御コマンドに付加されて前記中間部に送信される場合に、前記制御コマンドを示すデータ又は該データの付随データの少なくともいずれか一方のデータと、前記個体検査値とを併せたデータを暗号化することを特徴とする請求項６又は１２に記載の遊技機。
【請求項２０】
前記動作検査値生成手段は、前記第１の動作検査値又は前記第２の動作検査値が前記制御コマンドに付加されて前記中間部に送信される場合に、前記制御コマンドを示すデータ又は該データの付随データの少なくともいずれか一方のデータと、前記第１の動作検査値又は前記第２の動作検査値とを併せたデータを暗号化することを特徴とする請求項６又は１２に記載の遊技機。
【請求項２１】
前記所定のデータは、前記主制御部が実行する処理を表す所定のプログラムコードを含むことを特徴とする請求項１乃至２０のいずれかに記載の遊技機。
【請求項２２】
前記制御コマンドが、
大当たり中の各ラウンドに対応する大当たりコマンド、
大当たり状態の処理を開始させるための大当たり開始コマンド、
大当たり状態の処理を終了させるための大当たり終了コマンド、
前記周辺部に大当たり前のリーチ状態の処理を実行させるための大当たりリーチコマンド、
前記周辺部に電源投入時の処理を実行させるための電源投入コマンド、
前記周辺部に非遊技状態におけるデモ表示を実行させるための客待ちデモコマンド、
前記周辺部に非遊技状態におけるデモ表示を停止させるための客待ちデモ停止コマンド、
前記周辺部に抽選時の抽選結果がはずれの場合の処理を実行させるためのはずれコマンド、
小当たり中の各ラウンドに対応する小当たりコマンドのいずれかであることを特徴とする請求項１乃至２１のいずれかに記載の遊技機。
【請求項２３】
前記周辺部は、前記認証結果が前記主制御部の認証不成功を示す場合には、その旨を報知する報知信号を出力することを特徴とする請求項１乃至２２のいずれかに記載の遊技機。
【請求項２４】
中間部又は周辺部によって認証され、前記中間部を介して接続された周辺部に所定の処理を行わせるための制御コマンドを前記中間部に送信する遊技機の主制御部であって、
所定のデータが記憶されているデータ記憶手段と、
前記データ記憶手段に記憶されている前記所定のデータを分割し、分割された各データを用いて結合法則を満たす２項演算を行って個体検査値を生成する個体検査値生成手段と、
前記主制御部の動作順序を示す情報である第１の動作検査値と、前記主制御部が特定の処理を行うごとに変動する値である第２の動作検査値とを生成する動作検査値生成手段とを備え、
前記個体検査値と前記第１の動作検査値と前記第２の動作検査値とを前記中間部に送信する
ことを特徴とする主制御部。
【請求項２５】
請求項２４に記載の主制御部が搭載されていることを特徴とする遊技機の主制御基板。
【請求項２６】
周辺部に所定の処理を行わせるための制御コマンドを出力する主制御部と、該主制御部に記憶される所定のデータを分割して得られた各データを用いて結合法則を満たす２項演算を行うことにより前記主制御部にて生成され送信された個体検査値を用いて、特定の認証条件に基づき前記主制御部の個体の正当性を認証する周辺部とを備えた遊技機に設けられた中間部であって、
前記主制御部にて生成され送信された前記主制御部の動作順序を示す情報である第１の動作検査値を用いて、第１の認証条件に基づき前記主制御部の動作の継続性を認証する第１の動作認証手段と、
前記主制御部にて生成され送信された前記主制御部が特定の処理を行うごとに変動する値である前記第２の動作検査値を用いて、第２の認証条件に基づき前記主制御部の動作の継続性を認証する第２の動作認証手段とを備え、
前記第１の動作認証手段が得た認証結果と前記第２の動作認証手段が得た認証結果と前記主制御部より送信された前記個体検査値とを前記周辺部に送信する
ことを特徴とする中間部。
【請求項２７】
周辺部に所定の処理を行わせるための制御コマンドを出力する主制御部と、該主制御部にて生成され送信された、前記主制御部の動作順序を示す情報である第１の動作検査値及び前記主制御部が特定の処理を行うごとに変動する値である第２の動作検査値を用いて、所定の認証条件に基づき前記主制御部の動作の継続性を認証する周辺部とを備えた遊技機に設けられた中間部であって、
前記主制御部に記憶されている所定のデータと同一のデータを用いて結合法則を満たす２項演算を行って得られた演算値が記憶されている演算値記憶手段と、
前記所定のデータを分割して得られた各データを用いて結合法則を満たす２項演算を行うことにより前記主制御部にて生成され送信された個体検査値に対して前記２項演算を行い、この演算結果と、前記演算値記憶手段に記憶されている前記演算値とが一致するか否かに基づいて前記主制御部の個体の正当性を認証する個体認証手段とを備え、
前記個体認証手段が得た認証結果と前記主制御部より送信された前記第１の動作検査値と前記主制御部より送信された前記第２の動作検査値とを前記周辺部に送信する
ことを特徴とする中間部。
【請求項２８】
請求項２６又は２７に記載の中間部及び前記周辺部が搭載されていることを特徴とする遊技機の周辺基板。
【請求項２９】
主制御部と、中間部と、周辺部とを備える遊技機で用いられる認証方法であって、
前記主制御部が、データ記憶手段に記憶されている所定のデータを分割し、分割された各データを用いて結合法則を満たす２項演算を行って個体検査値を生成する第１のステップと、
前記主制御部が、該主制御部の動作順序を示す情報である第１の動作検査値を生成する第２のステップと、
前記主制御部が、該主制御部で特定の処理を行うごとに変動する値である第２の動作検査値を生成する第３のステップと、
前記主制御部が、前記個体検査値と前記第１の動作検査値と前記第２の動作検査値とを前記中間部に送信する第４のステップと、
前記中間部が、前記第４のステップにて送信された前記第１の動作検査値である前記主制御部の動作順序を示す情報を用いて第１の認証条件に基づき前記主制御部の動作の継続性を認証する第５のステップと、
前記中間部が、前記第４のステップにて送信された前記第２の動作検査値である前記主制御部が特定の処理を行うごとに変動する値を用いて第２の認証条件に基づき前記主制御部の動作の継続性を認証する第６のステップと、
前記中間部が、前記個体検査値と前記第５のステップで得た認証結果と前記第６のステップで得た認証結果とを前記周辺部に送信する第７のステップと、
前記周辺部が、前記第７のステップにて送信された前記個体検査値を用いて前記２項演算を行い、この演算結果と、前記所定のデータと同一のデータを用いて前記２項演算を行って得られた演算値とが一致するか否かに基づいて前記主制御部の個体の正当性を認証する第８のステップと、
前記周辺部が、前記第７のステップにて送信された前記第５のステップで得た認証結果を第３の認証条件に基づき前記主制御部の動作の継続性を認証し、かつ、前記第７のステップにて送信された前記第６のステップで得られた認証結果が前記主制御部の動作の継続性が認証されたことを示しているか否かを確認する第９のステップと、
前記周辺部が、前記第８のステップで得た認証結果及び前記第９のステップで得た認証結果に基づいた処理を行う第１０のステップと
を有することを特徴とする認証方法。
【請求項３０】
主制御部と、中間部と、周辺部とを備える遊技機で用いられる認証方法であって、
前記主制御部が、データ記憶手段に記憶されている所定のデータを分割し、分割された各データを用いて結合法則を満たす２項演算を行って個体検査値を生成する第１のステップと、
前記主制御部が、該主制御部の動作順序を示す情報である第１の動作検査値を生成する第２のステップと、
前記主制御部が、該主制御部で特定の処理を行うごとに変動する値である第２の動作検査値を生成する第３のステップと、
前記主制御部が、前記個体検査値と前記第１の動作検査値と前記第２の動作検査値とを前記中間部に送信する第４のステップと、
前記中間部が、前記第４のステップにて送信された前記個体検査値を用いて前記２項演算を行い、この演算結果と、前記所定のデータと同一のデータを用いて前記２項演算を行って得られた演算値とが一致するか否かに基づいて前記主制御部の個体の正当性を認証する第５のステップと、
前記中間部が、前記第５のステップで得た認証結果と前記第１の動作検査値と前記第２の動作検査値とを前記周辺部に送信する第６のステップと、
前記周辺部が、前記第６のステップにて送信された前記第１の動作検査値である前記主制御部の動作順序を示す情報を用いて第１の認証条件に基づき前記主制御部の動作の継続性を認証する第７のステップと、
前記周辺部が、前記第６のステップにて送信された前記第２の動作検査値である前記主制御部が特定の処理を行うごとに変動する値を用いて第２の認証条件に基づき前記主制御部の動作の継続性を認証する第８のステップと、
前記周辺部が、前記第６のステップにて送信された前記第５のステップで得た認証結果、前記第７のステップで得た認証結果、及び前記第８のステップで得た認証結果に基づいた処理を行う第９のステップと
を有することを特徴とする認証方法。
【請求項３１】
制御コマンドを出力する主制御部と、中間部と、前記制御コマンドに応じた処理を行う周辺部とを備える遊技機に搭載されるコンピュータに、
前記主制御部が、データ記憶手段に記憶されている所定のデータを分割し、分割された各データを用いて結合法則を満たす２項演算を行って個体検査値を生成する個体検査値生成機能と、
前記主制御部が、該主制御部の動作順序を示す情報である第１の動作検査値と、前記主制御部が特定の処理を行うごとに変動する値である第２の動作検査値とを生成する動作検査値生成機能と、
前記主制御部が、前記個体検査値と前記第１の動作検査値と前記第２の動作検査値とを前記中間部に送信する検査値送信機能と、
前記中間部が、前記検査値送信機能により送信された前記第１の動作検査値である前記主制御部の動作順序を示す情報を用いて第１の認証条件に基づき前記主制御部の動作の継続性を認証する第１の動作認証機能と、
前記中間部が、前記検査値送信機能により送信された前記第２の動作検査値である前記主制御部が特定の処理を行うごとに変動する値を用いて第２の認証条件に基づき前記主制御部の動作の継続性を認証する第２の動作認証機能と、
前記中間部が、前記個体検査値と前記第１の動作認証機能の実行により得た認証結果と前記第２の動作認証機能の実行により得た認証結果とを含む中間認証情報を生成し前記周辺部に送信する中間認証情報送信機能と、
前記周辺部が、前記中間認証情報送信機能により送信された前記中間認証情報に含まれる前記個体検査値を用いて前記２項演算を行い、この演算結果と、前記所定のデータと同一のデータを用いて前記２項演算を行って得られた演算値とが一致するか否かに基づいて前記主制御部の個体の正当性を認証する個体認証機能と、
前記周辺部が、前記中間認証情報送信機能により送信された前記中間認証情報に含まれる前記第１の動作認証機能の実行により得た認証結果を用いて第３の認証条件に基づき前記主制御部の動作の継続性を認証し、かつ、前記中間認証情報送信機能により送信された前記中間認証情報に含まれる前記第２の動作認証機能の実行により得た認証結果が前記主制御部の動作の継続性が認証されたことを示しているか否かを確認する第３の動作認証機能と、
前記周辺部が、前記個体認証機能の実行により得た認証結果及び前記第３の動作認証機能の実行により得た認証結果に基づいた処理を行う演出機能と
を実現させるためのコンピュータ読み取り可能な認証プログラム。
【請求項３２】
制御コマンドを出力する主制御部と、中間部と、前記制御コマンドに応じた処理を行う周辺部とを備える遊技機に搭載されるコンピュータに、
前記主制御部が、データ記憶手段に記憶されている所定のデータを分割し、分割された各データを用いて結合法則を満たす２項演算を行って個体検査値を生成する個体検査値生成機能と、
前記主制御部が、該主制御部の動作順序を示す情報である第１の動作検査値と、前記主制御部が特定の処理を行うごとに変動する値である第２の動作検査値とを生成する動作検査値生成機能と、
前記主制御部が、前記個体検査値と前記第１の動作検査値と前記第２の動作検査値とを前記中間部に送信する検査値送信機能と、
前記中間部が、前記検査値送信機能により送信された前記個体検査値を用いて前記２項演算を行い、この演算結果と、前記所定のデータと同一のデータを用いて前記２項演算を行って得られた演算値とが一致するか否かに基づいて前記主制御部の個体の正当性を認証する個体認証機能と、
前記中間部が、前記個体認証機能の実行により得た認証結果と前記検査値送信機能により送信された前記第１の動作検査値と前記第２の動作検査値とを含む中間認証情報を生成し前記周辺部に送信する中間認証情報送信機能と、
前記周辺部が、前記中間認証情報送信機能により送信された前記中間認証情報に含まれる前記第１の動作検査値である前記主制御部の動作順序を示す情報を用いて第１の認証条件に基づき前記主制御部の動作の継続性を認証する第１の動作認証機能と、
前記周辺部が、前記中間認証情報送信機能により送信された前記中間認証情報に含まれる前記第２の動作検査値である前記主制御部が特定の処理を行うごとに変動する値を用いて第２の認証条件に基づき前記主制御部の動作の継続性を認証する第２の動作認証機能と、
前記周辺部が、前記中間認証情報送信機能により送信された前記中間認証情報に含まれる前記個体認証機能の実行により得た認証結果、前記第１の動作認証機能の実行により得た認証結果、及び前記第２の動作認証機能の実行により得た認証結果に基づいた処理を行う演出機能と
を実現させるためのコンピュータ読み取り可能な認証プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パチンコ店等の遊技店に設置されるパチンコ遊技機、雀球遊技機、アレンジボール等の弾球遊技機、スロットマシン等の回胴式遊技機などの遊技機、これら遊技機に設けられた主制御部、この主制御部が搭載された主制御基板、上記各遊技機に設けられた中間部、この中間部が搭載された周辺基板、上記各遊技機で行われる認証方法及び認証プログラムに関する。
【背景技術】
【０００２】
遊技機に対し行われる、メダルや遊技球など（以下、遊技媒体という）を遊技とは無関係に強制的に払い出させる不正行為のうち、主制御部が搭載された主制御基板や周辺部が搭載された周辺基板に関するものとして、例えば以下に示すものがある。
（１）正規な主制御基板と不正な主制御基板との交換
（２）主制御基板に搭載されたＣＰＵが実行する正規なプログラムが記憶されたＲＯＭと上記プログラムを改ざんした不正なプログラムが記憶されたＲＯＭとの交換
（３）主制御基板と周辺基板との間に不正な基板（なりすまし基板）を設け、かつ上記（２）のＲＯＭの交換
【０００３】
このような不正行為を防止するため、従来の遊技機には、以下に示すものがあった。すなわち、この遊技機には、特典付与の可否を決定するとともに第３識別情報を記憶しているメイン制御部（主制御部）と、主制御部に接続され、第１識別情報を記憶している第１サブ制御部（第１周辺部）と、主制御部に接続され、第２識別情報を記憶している第２サブ制御部（第２周辺部）とを備えたものがある。この遊技機では、主制御部から第１周辺部に向けてのみ情報の出力が可能であり、主制御部と第２周辺部は、相互に情報の入出力が可能である。第２周辺部は、第２識別情報を主制御部に出力する手段を有している。一方、主制御部は、第２識別情報と第３識別情報を第１周辺部に出力する手段を有している。第１周辺部は、第１識別情報と第２識別情報と第３識別情報を用いて所定演算を行う演算手段と、演算手段の演算結果に基づいて遊技機に不正な改造が行われたか否かを判別する手段を有している（例えば、特許文献１参照。）。以下、この技術を第１の従来例と呼ぶ。
【０００４】
また、従来の遊技機には、大当たり図柄を表示する図柄表示装置と、遊技状況に応じて図柄制御部へデータを送信する主制御装置（主制御部）と、遊技状況に応じ主制御部から受信する制御データに基づいて図柄表示装置を制御する図柄制御部（周辺部）とを備えているものもある。このパチンコ遊技機では、主制御部は、第１鍵データを記憶する第１の記憶手段と、図柄制御部の動作を制御するための制御データに対し第１鍵データに対応する暗号化を行う暗号化手段と、遊技状況に対応する制御データに暗号化を施したデータを周辺部へ送信する送信手段と、予め定めたタイミングに、第１鍵データを変更する第１鍵変更手段とを備えている。周辺部は、第２鍵データを記憶する第２の記憶手段と、主制御部から受信した暗号データに対し第２鍵データに対応する処理を行うことにより、該受信した暗号データの正当性を判定し、正当である場合に該暗号データを認証する認証手段と、受信した暗号データが認証された場合に該暗号データに対応する動作を図柄表示装置に行わせる動作制御手段と、第１鍵データの変更タイミングに合致するように予め定められたタイミングに、第２鍵データを第１鍵データに対応するように変更する第２鍵変更手段とを備えている（例えば、特許文献２参照。）。以下、この技術を第２の従来例と呼ぶ。
【０００５】
また、従来のパチンコ遊技機には、主制御基板（主制御部）と、主制御部によって送信された制御コマンドに基づいて所定の処理を行う周辺基板（周辺部）とを備えるものもある。このパチンコ遊技機では、主制御部は、周辺部に送信する制御コマンドが所定の制御コマンドである場合、主制御部を認証するための認証データを所定の制御コマンドに付加して周辺部に送信する。そして、周辺部は、所定の制御コマンドを受信すると、この所定の制御コマンドに付加して送信された認証データに基づいて主制御部を認証する（例えば、特許文献３参照。）。以下、この技術を第３の従来例と呼ぶ。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００５−２１３３０号公報
【特許文献２】特開２００２−２１０１９４号公報
【特許文献３】特開２００８−２７９０３７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
第１の従来例では、ランプやスピーカ等を制御する第１周辺部に搭載されているＣＰＵが第１識別情報と第２識別情報と第３識別情報を用いて所定演算を行い、表示を制御する第２周辺部に搭載されているＣＰＵが上記演算結果に基づいて遊技機に不正な改造が行われたか否かを判別している。
【０００８】
このように、ＣＰＵに既存の処理（例えば、演出処理）以外に認証処理を実行させるためには、既存の処理に認証機能及び認証タイミングなどの処理を追加する必要がある。このため、認証機能を追加するための認証タイミングの設計、認証機能の実現化、動作のシミュレーション及び所望の機能が得られるか否かを確認する検証（ベリフィケーション）に多大の時間と労力を要し、これにより、遊技機の開発に時間と手間が大幅にかかってしまうという問題がある。このような問題は、特に、遊技機の機種変更をする際に顕著に現れる。さらに、最近の遊技機の演出の多様化に伴って、ＣＰＵが実行すべきプログラムのコードサイズも膨大になる傾向にあるため、認証機能の追加により上記の問題は益々増大する。
【０００９】
また、ＣＰＵに既存の処理の他に認証処理を実行させる場合、ＣＰＵの処理負荷が増大するため、処理速度が低下し、演出のための表示がスムーズに行われなかったり、最悪の場合には、認証処理自体を追加できなかったりするなどの問題があった。特に最近では、遊技の興趣向上を図るために、リーチや大当たり等の際に遊技者の視覚や聴覚に訴える演出が多様となる傾向にあり、上記問題が発生するおそれが増大する。
【００１０】
また、第１の従来例では、周辺部を構成する１つのＣＰＵが１回の認証処理（ＩＤの加算処理）を行っているだけである。さらに、周辺部を構成するＣＰＵに既存の処理の他に認証処理を実行させることにより周辺部を構成するＣＰＵの処理負荷が増大する。それゆえ、周辺部を構成するＣＰＵにセキュリティをより強化するために、今まで以上に複雑な演算による認証処理や複数回の認証処理を実行させることは困難である。
【００１１】
一方、第２の従来例では、主制御部では、暗号化手段が図柄制御部の動作を制御するための制御データに対し第１鍵データに対応する暗号化を行い、第１鍵変更手段が予め定めたタイミングに、第１鍵データを変更している。周辺部では、認証手段が主制御部から受信した暗号データに対し第２鍵データに対応する処理を行うことにより、受信した暗号データの正当性を判定し、正当である場合に該暗号データを認証し、第２鍵変更手段が第１鍵データの変更タイミングに合致するように予め定められたタイミングに、第２鍵データを第１鍵データに対応するように変更している。つまり、主制御部も周辺部も高度で複雑な暗号化処理及び認証処理を行っている。したがって、第２の従来例では、主制御部を構成するＣＰＵも周辺部を構成するＣＰＵもそれぞれの処理負荷が増大するため、処理速度が低下し、遊技内容の進行に伴う基本処理や演出処理という本来の処理がスムーズに行われないおそれがある。
【００１２】
また、第３の従来例では、第１の従来例と同様に、周辺部のＣＰＵに既存のゲーム処理の他に、認証処理を実行させる場合、所定の制御コマンドに認証データを付加して周辺部に送信しても、周辺部のＣＰＵの処理負荷が増大するため、処理速度が低下し、演出のための表示がスムーズに行われなかったり、認証処理自体の追加が難しくなったりする設計上の制約が生じることが考えられる。特に最近では、遊技の興趣向上を図るために、図柄の変動の制御について遊技者の視覚や聴覚に訴える演出が多様となる傾向にある。したがって、各種の演出制御を行う周辺部（画像制御部）に対して認証処理を行う負荷を低減させるような認証手段を設けた遊技機を構築することが望ましい。
【００１３】
さらに、周辺部を構成するＣＰＵに既存の処理の他に認証処理を実行させることにより周辺部を構成するＣＰＵの処理負荷やプログラム容量が増大する。それゆえ、周辺部を構成するＣＰＵにセキュリティをより強化するために、今まで以上に複雑な演算による認証処理や複数回の認証処理を実行させることは困難である。
【００１４】
ところで、遊技機は、外部から電気的な雑音や機械的な振動等が加えられた場合、誤動作する場合がある。例えば、主制御部から周辺部に制御コマンドが送信されている際に、電磁波や静電気などの雑音が遊技機外部から加えられると、この雑音の影響により制御コマンドデータにビットエラーが発生し、制御コマンドが変更されてしまうという誤動作が生じる。この場合、本来周辺部に送信されるべき制御コマンドが大当たりコマンド以外の制御コマンドであるにも関わらず、ビットエラーが発生して当該制御コマンドが大当たりコマンドに変更されてしまうと、不正行為が行われた場合でなくても、遊技者に不当に多くの遊技媒体が払い出され、遊技店が多大な損害を被ってしまう。ところが、第１〜第３の従来例では、このような誤動作に起因した問題について何ら対策を施していないので、遊技店が多大な損害を被るという問題を解決することができない。
【００１５】
本発明は、上記事情に鑑みてなされたものであり、遊技機の正規の主制御基板と不正な主制御基板との交換等による不正行為や遊技機の誤動作を検知でき、周辺部のＣＰＵの処理負荷を軽減することができる遊技機、主制御部、主制御基板、中間部、周辺基板、認証方法及び認証プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１６】
上記課題を解決するために本発明は、制御コマンドを出力する主制御部と、中間部と、前記制御コマンドに応じた処理を行う周辺部とを備える遊技機であって、前記主制御部は、所定のデータが記憶されているデータ記憶手段と、前記データ記憶手段に記憶されている前記所定のデータを分割し、分割された各データを用いて結合法則を満たす２項演算を行って個体検査値を生成する個体検査値生成手段と、前記主制御部の動作順序を示す情報である第１の動作検査値と、前記主制御部が特定の処理を行うごとに変動する値である第２の動作検査値とを生成する動作検査値生成手段とを備え、前記個体検査値と前記第１の動作検査値と前記第２の動作検査値とを前記中間部に送信し、前記中間部は、前記主制御部より送信された前記第１の動作検査値である前記主制御部の動作順序を示す情報を用いて第１の認証条件に基づき前記主制御部の動作の継続性を認証する第１の動作認証手段と、前記主制御部より送信された前記第２の動作検査値である前記主制御部が特定の処理を行うごとに変動する値を用いて第２の認証条件に基づき前記主制御部の動作の継続性を認証する第２の動作認証手段とを備え、前記個体検査値と前記第１の動作認証手段が得た認証結果と前記第２の動作認証手段が得た認証結果とを前記周辺部に送信し、前記周辺部は、前記データ記憶手段に記憶されている前記所定のデータと同一のデータを用いて前記２項演算を行って得られた演算値が記憶されている演算値記憶手段と、前記中間部より送信された前記個体検査値を用いて前記２項演算を行い、この演算結果と、前記演算値記憶手段に記憶されている前記演算値とが一致するか否かに基づいて前記主制御部の個体の正当性を認証する個体認証手段と、前記中間部より送信された前記第１の動作認証手段が得た認証結果を用いて第３の認証条件に基づき前記主制御部の動作の継続性を認証し、かつ、前記中間部より送信された前記第２の動作認証手段が得た認証結果が前記主制御部の動作の継続性が認証されたことを示しているか否かを確認する第３の動作認証手段とを備え、前記個体認証手段が得た認証結果及び前記第３の動作認証手段が得た認証結果に基づいた処理を行うことを特徴とする。
【００１７】
また、上記課題を解決するために本発明は、制御コマンドを出力する主制御部と、中間部と、前記制御コマンドに応じた処理を行う周辺部とを備える遊技機であって、前記主制御部は、所定のデータが記憶されているデータ記憶手段と、前記データ記憶手段に記憶されている前記所定のデータを分割し、分割された各データを用いて結合法則を満たす２項演算を行って個体検査値を生成する個体検査値生成手段と、前記主制御部の動作順序を示す情報である第１の動作検査値と、前記主制御部が特定の処理を行うごとに変動する値である第２の動作検査値とを生成する動作検査値生成手段とを備え、前記個体検査値と前記第１の動作検査値と前記第２の動作検査値とを前記中間部に送信し、前記中間部は、前記データ記憶手段に記憶されている前記所定のデータと同一のデータを用いて前記２項演算を行って得られた演算値が記憶されている演算値記憶手段と、前記主制御部より送信された前記個体検査値を用いて前記２項演算を行い、この演算結果と、前記演算値記憶手段に記憶されている前記演算値とが一致するか否かに基づいて前記主制御部の個体の正当性を認証する個体認証手段とを備え、前記個体認証手段が得た認証結果と前記第１の動作検査値と前記第２の動作検査値とを前記周辺部に送信し、前記周辺部は、前記中間部より送信された前記第１の動作検査値である前記主制御部の動作順序を示す情報を用いて第１の認証条件に基づき前記主制御部の動作の継続性を認証する第１の動作認証手段と、前記中間部より送信された前記第２の動作検査値である前記主制御部が特定の処理を行うごとに変動する値を用いて第２の認証条件に基づき前記主制御部の動作の継続性を認証する第２の動作認証手段とを備え、前記個体認証手段が得た認証結果、前記第１の動作認証手段が得た認証結果、及び前記第２の動作認証手段が得た認証結果に基づいた処理を行うことを特徴とする。
【００１８】
さらに、上記課題を解決するために本発明は、中間部又は周辺部によって認証され、前記中間部を介して接続された周辺部に所定の処理を行わせるための制御コマンドを前記中間部に送信する遊技機の主制御部であって、所定のデータが記憶されているデータ記憶手段と、前記データ記憶手段に記憶されている前記所定のデータを分割し、分割された各データを用いて結合法則を満たす２項演算を行って個体検査値を生成する個体検査値生成手段と、前記主制御部の動作順序を示す情報である第１の動作検査値と、前記主制御部が特定の処理を行うごとに変動する値である第２の動作検査値とを生成する動作検査値生成手段とを備え、前記個体検査値と前記第１の動作検査値と前記第２の動作検査値とを前記中間部に送信することを特徴とする。
【００１９】
さらにまた、上記課題を解決するために本発明の遊技機の主制御基板は、本発明の主制御部が搭載されていることを特徴とする。
【００２０】
さらにまた、上記課題を解決するために本発明は、周辺部に所定の処理を行わせるための制御コマンドを出力する主制御部と、該主制御部に記憶される所定のデータを分割して得られた各データを用いて結合法則を満たす２項演算を行うことにより前記主制御部にて生成され送信された個体検査値を用いて、特定の認証条件に基づき前記主制御部の個体の正当性を認証する周辺部とを備えた遊技機に設けられた中間部であって、前記主制御部にて生成され送信された前記主制御部の動作順序を示す情報である第１の動作検査値を用いて、第１の認証条件に基づき前記主制御部の動作の継続性を認証する第１の動作認証手段と、前記主制御部にて生成され送信された前記主制御部が特定の処理を行うごとに変動する値である前記第２の動作検査値を用いて、第２の認証条件に基づき前記主制御部の動作の継続性を認証する第２の動作認証手段とを備え、前記第１の動作認証手段が得た認証結果と前記第２の動作認証手段が得た認証結果と前記主制御部より送信された前記個体検査値とを前記周辺部に送信することを特徴とする。
【００２１】
さらにまた、上記課題を解決するために本発明は、周辺部に所定の処理を行わせるための制御コマンドを出力する主制御部と、該主制御部にて生成され送信された、前記主制御部の動作順序を示す情報である第１の動作検査値及び前記主制御部が特定の処理を行うごとに変動する値である第２の動作検査値を用いて、所定の認証条件に基づき前記主制御部の動作の継続性を認証する周辺部とを備えた遊技機に設けられた中間部であって、前記主制御部に記憶されている所定のデータと同一のデータを用いて結合法則を満たす２項演算を行って得られた演算値が記憶されている演算値記憶手段と、前記所定のデータを分割して得られた各データを用いて結合法則を満たす２項演算を行うことにより前記主制御部にて生成され送信された個体検査値に対して前記２項演算を行い、この演算結果と、前記演算値記憶手段に記憶されている前記演算値とが一致するか否かに基づいて前記主制御部の個体の正当性を認証する個体認証手段とを備え、前記個体認証手段が得た認証結果と前記主制御部より送信された前記第１の動作検査値と前記主制御部より送信された前記第２の動作検査値とを前記周辺部に送信することを特徴とする。
【００２２】
さらにまた、上記課題を解決するために本発明の遊技機の周辺基板は、本発明の中間部及び前記周辺部が搭載されていることを特徴とする。
【００２３】
さらにまた、上記課題を解決するために本発明は、主制御部と、中間部と、周辺部とを備える遊技機で用いられる認証方法であって、前記主制御部が、データ記憶手段に記憶されている所定のデータを分割し、分割された各データを用いて結合法則を満たす２項演算を行って個体検査値を生成する第１のステップと、前記主制御部が、該主制御部の動作順序を示す情報である第１の動作検査値を生成する第２のステップと、前記主制御部が、該主制御部で特定の処理を行うごとに変動する値である第２の動作検査値を生成する第３のステップと、前記主制御部が、前記個体検査値と前記第１の動作検査値と前記第２の動作検査値とを前記中間部に送信する第４のステップと、前記中間部が、前記第４のステップにて送信された前記第１の動作検査値である前記主制御部の動作順序を示す情報を用いて第１の認証条件に基づき前記主制御部の動作の継続性を認証する第５のステップと、前記中間部が、前記第４のステップにて送信された前記第２の動作検査値である前記主制御部が特定の処理を行うごとに変動する値を用いて第２の認証条件に基づき前記主制御部の動作の継続性を認証する第６のステップと、前記中間部が、前記個体検査値と前記第５のステップで得た認証結果と前記第６のステップで得た認証結果とを前記周辺部に送信する第７のステップと、前記周辺部が、前記第７のステップにて送信された前記個体検査値を用いて前記２項演算を行い、この演算結果と、前記所定のデータと同一のデータを用いて前記２項演算を行って得られた演算値とが一致するか否かに基づいて前記主制御部の個体の正当性を認証する第８のステップと、前記周辺部が、前記第７のステップにて送信された前記第５のステップで得た認証結果を第３の認証条件に基づき前記主制御部の動作の継続性を認証し、かつ、前記第７のステップにて送信された前記第６のステップで得られた認証結果が前記主制御部の動作の継続性が認証されたことを示しているか否かを確認する第９のステップと、前記周辺部が、前記第８のステップで得た認証結果及び前記第９のステップで得た認証結果に基づいた処理を行う第１０のステップとを有することを特徴とする。
【００２４】
さらにまた、上記課題を解決するために本発明は、主制御部と、中間部と、周辺部とを備える遊技機で用いられる認証方法であって、前記主制御部が、データ記憶手段に記憶されている所定のデータを分割し、分割された各データを用いて結合法則を満たす２項演算を行って個体検査値を生成する第１のステップと、前記主制御部が、該主制御部の動作順序を示す情報である第１の動作検査値を生成する第２のステップと、前記主制御部が、該主制御部で特定の処理を行うごとに変動する値である第２の動作検査値を生成する第３のステップと、前記主制御部が、前記個体検査値と前記第１の動作検査値と前記第２の動作検査値とを前記中間部に送信する第４のステップと、前記中間部が、前記第４のステップにて送信された前記個体検査値を用いて前記２項演算を行い、この演算結果と、前記所定のデータと同一のデータを用いて前記２項演算を行って得られた演算値とが一致するか否かに基づいて前記主制御部の個体の正当性を認証する第５のステップと、前記中間部が、前記第５のステップで得た認証結果と前記第１の動作検査値と前記第２の動作検査値とを前記周辺部に送信する第６のステップと、前記周辺部が、前記第６のステップにて送信された前記第１の動作検査値である前記主制御部の動作順序を示す情報を用いて第１の認証条件に基づき前記主制御部の動作の継続性を認証する第７のステップと、前記周辺部が、前記第６のステップにて送信された前記第２の動作検査値である前記主制御部が特定の処理を行うごとに変動する値を用いて第２の認証条件に基づき前記主制御部の動作の継続性を認証する第８のステップと、前記周辺部が、前記第６のステップにて送信された前記第５のステップで得た認証結果、前記第７のステップで得た認証結果、及び前記第８のステップで得た認証結果に基づいた処理を行う第９のステップとを有することを特徴とする。
【００２５】
さらにまた、上記課題を解決するために本発明のコンピュータ読み取り可能な認証プログラムは、制御コマンドを出力する主制御部と、中間部と、前記制御コマンドに応じた処理を行う周辺部とを備える遊技機に搭載されるコンピュータに、前記主制御部が、データ記憶手段に記憶されている所定のデータを分割し、分割された各データを用いて結合法則を満たす２項演算を行って個体検査値を生成する個体検査値生成機能と、前記主制御部が、該主制御部の動作順序を示す情報である第１の動作検査値と、前記主制御部が特定の処理を行うごとに変動する値である第２の動作検査値とを生成する動作検査値生成機能と、前記主制御部が、前記個体検査値と前記第１の動作検査値と前記第２の動作検査値とを前記中間部に送信する検査値送信機能と、前記中間部が、前記検査値送信機能により送信された前記第１の動作検査値である前記主制御部の動作順序を示す情報を用いて第１の認証条件に基づき前記主制御部の動作の継続性を認証する第１の動作認証機能と、前記中間部が、前記検査値送信機能により送信された前記第２の動作検査値である前記主制御部が特定の処理を行うごとに変動する値を用いて第２の認証条件に基づき前記主制御部の動作の継続性を認証する第２の動作認証機能と、前記中間部が、前記個体検査値と前記第１の動作認証機能の実行により得た認証結果と前記第２の動作認証機能の実行により得た認証結果とを含む中間認証情報を生成し前記周辺部に送信する中間認証情報送信機能と、前記周辺部が、前記中間認証情報送信機能により送信された前記中間認証情報に含まれる前記個体検査値を用いて前記２項演算を行い、この演算結果と、前記所定のデータと同一のデータを用いて前記２項演算を行って得られた演算値とが一致するか否かに基づいて前記主制御部の個体の正当性を認証する個体認証機能と、前記周辺部が、前記中間認証情報送信機能により送信された前記中間認証情報に含まれる前記第１の動作認証機能の実行により得た認証結果を用いて第３の認証条件に基づき前記主制御部の動作の継続性を認証し、かつ、前記中間認証情報送信機能により送信された前記中間認証情報に含まれる前記第２の動作認証機能の実行により得た認証結果が前記主制御部の動作の継続性が認証されたことを示しているか否かを確認する第３の動作認証機能と、前記周辺部が、前記個体認証機能の実行により得た認証結果及び前記第３の動作認証機能の実行により得た認証結果に基づいた処理を行う演出機能とを実現させることを特徴とする。
【００２６】
さらにまた、上記課題を解決するために本発明のコンピュータ読み取り可能な認証プログラムは、制御コマンドを出力する主制御部と、中間部と、前記制御コマンドに応じた処理を行う周辺部とを備える遊技機に搭載されるコンピュータに、前記主制御部が、データ記憶手段に記憶されている所定のデータを分割し、分割された各データを用いて結合法則を満たす２項演算を行って個体検査値を生成する個体検査値生成機能と、前記主制御部が、該主制御部の動作順序を示す情報である第１の動作検査値と、前記主制御部が特定の処理を行うごとに変動する値である第２の動作検査値とを生成する動作検査値生成機能と、前記主制御部が、前記個体検査値と前記第１の動作検査値と前記第２の動作検査値とを前記中間部に送信する検査値送信機能と、前記中間部が、前記検査値送信機能により送信された前記個体検査値を用いて前記２項演算を行い、この演算結果と、前記所定のデータと同一のデータを用いて前記２項演算を行って得られた演算値とが一致するか否かに基づいて前記主制御部の個体の正当性を認証する個体認証機能と、前記中間部が、前記個体認証機能の実行により得た認証結果と前記検査値送信機能により送信された前記第１の動作検査値と前記第２の動作検査値とを含む中間認証情報を生成し前記周辺部に送信する中間認証情報送信機能と、前記周辺部が、前記中間認証情報送信機能により送信された前記中間認証情報に含まれる前記第１の動作検査値である前記主制御部の動作順序を示す情報を用いて第１の認証条件に基づき前記主制御部の動作の継続性を認証する第１の動作認証機能と、前記周辺部が、前記中間認証情報送信機能により送信された前記中間認証情報に含まれる前記第２の動作検査値である前記主制御部が特定の処理を行うごとに変動する値を用いて第２の認証条件に基づき前記主制御部の動作の継続性を認証する第２の動作認証機能と、前記周辺部が、前記中間認証情報送信機能により送信された前記中間認証情報に含まれる前記個体認証機能の実行により得た認証結果、前記第１の動作認証機能の実行により得た認証結果、及び前記第２の動作認証機能の実行により得た認証結果に基づいた処理を行う演出機能とを実現させることを特徴とする。
【発明の効果】
【００２７】
本発明によれば、遊技機の正規の主制御基板と不正な主制御基板との交換等による不正行為や遊技機の誤動作を検知でき、周辺部のＣＰＵの処理負荷を軽減することができる。
【００２８】
具体的には、本発明によれば、主制御部は、個体検査値生成手段がデータ記憶手段に記憶されている所定のデータを用いて得た個体検査値、及び動作検査値生成手段が生成した第１及び第２の動作検査値を中間部又は周辺部に送信する。中間部は、第１及び第２の動作検査値を用いて主制御部の動作の継続性を認証する第１及び第２の動作認証を行い、第１及び第２の動作認証結果と個体検査値とを周辺部に送信し、周辺部は、個体検査値を用いて主制御部の正当性を認証する個体認証を行い、第１及び第２の動作認証結果が主制御部の動作の継続を示す結果であるかを認証する第３の動作認証を行う。あるいは、中間部は、個体検査値を用いて主制御部の正当性を認証する個体認証を行い、個体認証結果と第１及び第２の動作検査値とを周辺部に送信し、周辺部は、第１及び第２の動作検査値を用いて主制御部の動作の継続性を認証する第１及び第２の動作認証を行う。これにより、上記不正行為や遊技機の誤動作を検知することができ、遊技者に不当に多くの遊技媒体が払い出され、遊技店が多大な損害を被ることを防止できる。
【００２９】
また、本発明によれば、認証処理の一部を中間部が実行するので、周辺部を構成するＣＰＵの処理負荷の増大を抑制することができる。このため、周辺部の処理速度が低下し、演出のための表示がスムーズに行われないなどの問題の発生を防止することができる。
【００３０】
また、本発明によれば、遊技機の認証処理を中間部と周辺部の両方で行っているので、主制御部に対する上記不正行為及び雑音等に起因する遊技機の誤作動の他、中間部に対する不正行為及び誤動作を検知することができる。
【図面の簡単な説明】
【００３１】
【図１】本発明の実施の形態１に係るパチンコ遊技機の機能構成を示すブロック図である。
【図２】本発明の実施の形態１に係るパチンコ遊技機の外観構成を示す正面図である。
【図３】本発明の実施の形態１に係るパチンコ遊技機の電気的構成を示すブロック図である。
【図４】本発明の実施の形態１に係るパチンコ遊技機を構成する主制御部における検査値の生成方法を模式的に示す説明図である。
【図５】本発明の実施の形態１に係るパチンコ遊技機を構成する主制御部におけるパケット情報の選択方法の一例を模式的に示す図である。
【図６】本発明の実施の形態１に係るパチンコ遊技機を構成する主制御部が出力する制御信号のデータフォーマットの一例を模式的に示す図である。
【図７】本発明の実施の形態１に係るパチンコ遊技機を構成する中間部が出力する制御信号のデータフォーマットの一例を模式的に示す図である。
【図８】本発明の実施の形態１に係るパチンコ遊技機を構成する主制御部による中間部及び賞球制御部へのコマンド送信を含む処理を示すフローチャートである。
【図９】本発明の実施の形態１に係るパチンコ遊技機を構成する主制御部による中間部及び賞球制御部へのコマンド送信を含む処理を示すフローチャートである。
【図１０】大当たり関連コマンドの送信タイミングの一例を示すタイミングチャートである。
【図１１】本発明の実施の形態１に係るパチンコ遊技機を構成する演出制御部による図柄変動処理を示すフローチャートである。
【図１２】本発明の実施の形態１に係るパチンコ遊技機を構成する演出制御部による大当たり時の処理を示すフローチャートである。
【図１３】本発明の実施の形態１に係るパチンコ遊技機を構成するランプ制御部によるランプ制御処理を示すフローチャートである。
【図１４】本発明の実施の形態１に係るパチンコ遊技機を構成する主制御部による認証に関する処理の一例を示すフローチャートである。
【図１５】本発明の実施の形態１に係るパチンコ遊技機を構成する中間部による認証に関する処理の一例を示すフローチャートである。
【図１６】本発明の実施の形態１に係るパチンコ遊技機を構成する演出制御部による認証に関する処理の一例を示すフローチャートである。
【図１７−Ａ】本発明の実施の形態１に係るパチンコ遊技機を構成する主制御部（被認証者）、中間部及び周辺部（認証者）がそれぞれ実行する処理の相互関係の一例を示す処理シーケンスである。
【図１７−Ｂ】本発明の実施の形態１に係るパチンコ遊技機を構成する主制御部（被認証者）、中間部及び周辺部（認証者）がそれぞれ実行する処理の相互関係の一例を示す処理シーケンスである。
【図１７−Ｃ】本発明の実施の形態１に係るパチンコ遊技機を構成する主制御部（被認証者）、中間部及び周辺部（認証者）がそれぞれ実行する処理の相互関係の一例を示す処理シーケンスである。
【図１８】本発明の実施の形態２に係るパチンコ遊技機を構成する中間部による認証に関する処理の一例を示すフローチャートである。
【図１９】本発明の実施の形態２に係るパチンコ遊技機を構成する演出制御部による認証に関する処理の一例を示すフローチャートである。
【図２０−Ａ】本発明の実施の形態２に係るパチンコ遊技機を構成する主制御部（被認証者）、中間部及び周辺部（認証者）がそれぞれ実行する処理の相互関係の一例を示す処理シーケンスである。
【図２０−Ｂ】本発明の実施の形態２に係るパチンコ遊技機を構成する主制御部（被認証者）、中間部及び周辺部（認証者）がそれぞれ実行する処理の相互関係の一例を示す処理シーケンスである。
【図２０−Ｃ】本発明の実施の形態２に係るパチンコ遊技機を構成する主制御部（被認証者）、中間部及び周辺部（認証者）がそれぞれ実行する処理の相互関係の一例を示す処理シーケンスである。
【発明を実施するための形態】
【００３２】
＜＜実施の形態１＞＞
以下、図面を参照して本発明を実施するための形態である実施の形態１について説明する。
図１は、本発明の実施の形態１に係る遊技機の一つであるパチンコ遊技機１の機能構成を示すブロック図である。このパチンコ遊技機１は、主制御部１０と、中間部２０と、周辺部３０とを備えている。主制御部１０は、データ記憶手段１１と、決定手段１２と、個体検査値生成手段１３と、動作検査値生成手段１４とを備えている。データ記憶手段１１には、主制御部１０で用いられるプログラム等のデータが記憶されている。決定手段１２は、データ記憶手段１１に記憶されているデータのうち所定のデータを分割する数である分割数を決定する。ここで、所定のデータとは、データ記憶手段１１に記憶されているデータの全部又は一部である。
【００３３】
個体検査値生成手段１３は、主制御部１０の個体としての正当性（アイデンティティ）を認証（以下、個体認証という）するために用いる個体検査値を生成する。具体的には、個体検査値生成手段１３は、データ記憶手段１１に記憶されている所定のデータを決定手段１２が決定した分割数で分割し、分割された各データに対して結合法則を満たす２項演算（例えば、加算、乗算、排他的論理和）を行って、分割数分（分割数と同数）の個体検査値を生成する。
【００３４】
動作検査値生成手段１４は、主制御部１０の処理動作ごとに出力される各種データ信号（例えば、主制御部１０が周辺部３０に対し、ある演出処理を実行させために出力する制御コマンドを表した制御信号など）が、中間部２０及び周辺部３０へ正規のプロセスで連続的に送信されているか（パチンコ遊技機１の動作が継続性を有しているか）を認証（以下、動作認証という）するために用いる動作検査値を生成する。
【００３５】
具体的には、動作検査値生成手段１４は、動作検査値の一つとして、主制御部１０の処理動作（例えば、制御コマンドの出力）に伴って生成されるパケット情報を用いて複数の同期コードを生成する。このパケット情報は、連続して生成された二つのパケット情報同士が、予め設定した所定の相関関係を有するように生成されているため、受信したパケット情報同士の差分が常に所定の相関関係を有していれば、主制御部１０の処理動作は正規の動作順序で実行されていることがわかる。パケット情報は、相関関係の違いによって複数の種類に分類される。また、動作検査値生成手段１４は、個体検査値生成手段１３によって生成された個体検査値の数（決定手段１２によって決定された分割数）に基づいて、複数種類のパケット情報の中から次回の同期コードの生成に用いるパケット情報の種類を選択する。
【００３６】
また、動作検査値生成手段１４は、動作検査値の一つとして、主制御部１０が行う処理動作ごとに時系列的に一定の関係性を保って変動する値を用いて複数の動作コードを生成する。この変動する値とは、例えば、主制御部１０によって実行されるプログラムにおいて所定の機能を実行するための処理ごとに予め重複なく割り当てられた番号（以下、機能番号という）や、主制御部１０における認証処理の実行回数（以下、認証回数という）などである。
【００３７】
その後、主制御部１０は、生成された分割数分の個体検査値に暗号化処理を施して得られた分割数分の個体認証データのそれぞれと、生成された複数の同期コード及び複数の動作コードからなる複数の動作検査値に暗号化処理を施して得られた複数の動作認証データのそれぞれとを、出力する制御コマンドに付加して中間部２０に送信する。
【００３８】
一方、中間部２０は、期待値記憶手段２１と、中間認証手段２２を備えている。期待値記憶手段２１は、主制御部１０を構成する動作検査値生成手段１４で生成された同期コードに含まれるパケット情報の種類ごとに予め設定された所定の相関関係を一義的に表す情報を期待値（以下、同期コード期待値という）として予め記憶している。また、期待値記憶手段２１は、主制御部１０を構成する動作検査値生成手段１４で生成された動作コードの種類ごとに予め設定され、主制御部１０の動作順序を判別可能なように関連付けられたデータを期待値（以下、動作コード期待値）として予め記憶している。なお、同期コード期待値と動作コード期待値とを総称して中間動作認証期待値という。中間認証手段２２は、主制御部１０から送信された個体認証データと、動作認証データを用いた中間動作認証の結果とを用いて、周辺部３０にて個体認証及び動作認証の両面から最終的な認証判断を行う際に用いる中間認証情報を生成する。
【００３９】
具体的には、中間認証手段２２は、まず、主制御部１０から送信された動作認証データを用いて、主制御部１０の処理動作に対する中間動作認証を行う。中間動作認証では、主制御部１０より送信された動作認証データから同期コードを抽出し、抽出した同期コードに含まれるパケット情報が予め設定された所定の相関関係を有するかを確認するため、連続して生成された二つのパケット情報同士の差分（減算に限られない）を求める。そしてこの差分値が示す情報が、期待値記憶手段２１に記憶されている同期コード期待値と同一であるかを照合する。また、中間動作認証では、主制御部１０より送信された動作認証データから動作コードを抽出し、抽出した動作コードに含まれる機能番号や認証回数を参照し、期待値記憶手段２１に記憶されている動作コード期待値と一致するか否かを照合する。そして中間部２０は、これらの照合で得られた同期コードを用いた中間動作認証の結果の情報及び動作コードを用いた中間動作認証の結果の情報を併せて、中間動作認証結果として保持する。
【００４０】
その後、中間部２０は、中間動作認証結果と、主制御部１０より送信された個体認証データとを併せて中間認証情報とし、制御コマンドに付加して周辺部３０へ送信する。
【００４１】
周辺部３０は、期待値記憶手段３１と、認証手段３２とを備えている。期待値記憶手段３１は、主制御部１０を構成するデータ記憶手段１１に記憶されている所定のデータを用いて２項演算を行って得られた演算値を期待値（以下、個体認証期待値という）として予め記憶している。加えて、期待値記憶手段３１は、中間部２０から送信される今回の中間動作認証結果のうち、同期コードを用いた中間動作認証結果が同一を示すものであるか非同一を示すものであるかを予測した情報を期待値（以下、動作認証期待値という）として記憶している。認証手段３２は、中間部２０から送信された中間認証情報に含まれる個体認証データを用いて個体認証を行うとともに、中間認証情報に含まれる中間動作認証結果を用いて動作認証を行い、個体認証及び動作認証の両認証処理（以下、認証処理という）の結果からパチンコ遊技機１の正規性を認証する。
【００４２】
具体的には、認証手段３２は、まず、中間部２０より送信された個体認証データを用いて個体認証を行う。より詳細には、認証手段３２は、制御コマンドに付加されて中間部２０から送信された中間認証情報に含まれる個体認証データから個体検査値を抽出し、抽出した個体検査値に対して、上記結合法則を満たす２項演算を行った演算結果と、期待値記憶手段３１に記憶されている個体期待値とが一致するか否かによって個体認証が成功したか否かを判断する。
【００４３】
次に、認証手段３２は、中間部２０より送信された中間動作認証結果や、個体認証が成功したときの個体検査値の数（以下、結合数という）を用いて動作認証を行う。より詳細には、認証手段３２は、中間部２０より送信された中間動作認証結果に含まれる同期コードを用いた中間動作認証の結果の情報（以下、同期コードでの中間動作認証結果といい、同一又は非同一を示す）と、期待値記憶手段３１に予め記憶されている今回の動作認証期待値（今回の認証に関する処理において、主制御部１０から中間部２０に送信されたパケット情報同士の差分値が示す情報と、中間部２０が保持する中間動作認証期待値とが同一か否かを予測した情報であって、同一又は非同一を示す）とが一致するか否かを判断する。その後、認証手段３２は、中間部２０より送信された中間動作認証結果に含まれる動作コードを用いた中間動作認証の結果の情報（以下、動作コードでの中間動作認証結果といい、成功又は不成功を示す）が成功であることを確認して、同期コード及び動作コードの双方で動作認証が成功したか否かを判断する。また、認証手段３２は、認証手段３２による個体認証が成功したときの個体検査値の数（結合数）に基づいて、次回の認証に関する処理に用いる動作認証期待値を同一又は非同一のいずれかを選択する。
【００４４】
その後、周辺部３０は、認証手段３２の個体認証及び動作認証のいずれもが成功した場合に、パチンコ遊技機１の正規性を認証し、認証結果に応じた処理を行う。
【００４５】
図２は、本発明の実施の形態１に係る遊技機の１つであるパチンコ遊技機１の外観構成を示す正面図である。また、図３は、図２に示すパチンコ遊技機１の電気的構成を示すブロック図である。
【００４６】
本実施の形態１に係るパチンコ遊技機１は、遊技盤１０１を備えている。遊技盤１０１の図２において右下方であって、枠部材１１０の右下部には、遊技者によって操作され、発射部２９２（図３参照）を作動させるための操作ハンドル１１３が設けられている。操作ハンドル１１３は、遊技者側に突出する形状を呈している。操作ハンドル１１３は、発射部２９２を作動させて遊技球を発射させる発射指示部材１１４を備えている。発射指示部材１１４は、操作ハンドル１１３の外周部において、遊技者から見て右回りに回転可能に設けられている。発射部２９２は、発射指示部材１１４が遊技者によって直接操作されている場合に、遊技球を発射させる。公知の技術であるため説明を省略するが、操作ハンドル１１３には、遊技者が発射指示部材１１４を直接操作していることを検出するセンサなどが設けられている。
【００４７】
発射部２９２の作動によって発射された遊技球は、レール１０２ａ，１０２ｂ間を上昇して遊技盤１０１の上部位置に達した後、遊技領域１０３内を落下する。遊技領域１０３には、複数の釘（図示略）や、遊技球の落下方向を変化させる風車（図示略）や、入球口が配設されており、遊技球を各種の方向に向けて落下させるようにしている。ここで、「入球口」は、いずれも後述する第１始動口１０５、第２始動口１２０、普通入賞口１０７、第１大入賞口１０９ｃ、第２大入賞口１２９ｃの総称である。
【００４８】
遊技盤１０１の略中央部分には、図柄表示部１０４が配置されている。図柄表示部１０４は、例えば、液晶ディスプレイ（ＬＣＤ）やプラズマディスプレイパネル（ＰＤＰ）等のディスプレイを有している。図柄表示部１０４の下方には、遊技領域１０３に向けて打ち込まれた遊技球を受入れ可能な第１始動口１０５が配置されている。第１始動口１０５の下方には、第２始動口１２０が配置されている。第２始動口１２０は、一対の可動片（図示略）が閉状態であるときは遊技球を受け入れることが不可能又は受け入れ困難となっており、この一対の可動片が開状態であるときは、第１始動口１０５よりも遊技球の受け入れが容易となる。
【００４９】
また、図柄表示部１０４の左側には、入賞ゲート１０６が配設されている。入賞ゲート１０６は、遊技球の通過を検出し、第２始動口１２０を一定時間だけ開放させる普通図柄の抽選を行うために設けられている。図柄表示部１０４の左側部や下方等には、複数の普通入賞口１０７が配設されている。各普通入賞口１０７に遊技球が入球すると、所定の賞球数（例えば、１０個）の払い出しが行われる。遊技領域１０３の最下部には、どの入球口にも入球しなかった遊技球を回収する回収口１０８が設けられている。
【００５０】
図柄表示部１０４は、後述する演出制御部２０３（図３参照）から第１始動口１０５又は第２始動口１２０に遊技球が入球したことが報知されたときに、複数の装飾図柄の変動表示を開始し、所定時間経過後に当該装飾図柄の変動を停止させる。この停止時に特定図柄（例えば、「７７７」）が揃うと、遊技者は第１大当たり遊技（長当たり遊技）を実行する権利を獲得したこととなり、その後、第１大当たり遊技（長当たり遊技）が開始される。第１大当たり遊技（長当たり遊技）が開始されると、遊技領域１０３の下方に位置する第１大入賞口開閉装置１０９における第１大入賞口開閉扉１０９ａが、一定の期間開放する動作を所定回数（例えば、１５回）繰り返し、入球した遊技球に対応する賞球が払い出される。
【００５１】
一方、図柄表示部１０４における上記装飾図柄の停止時に上記特定図柄とは別の特定図柄（例えば、「７３７」）が揃うと、遊技者は第２大当たり遊技（短当たり遊技）を実行する権利を獲得したこととなり、その後、第２大当たり遊技（短当たり遊技）が開始される。第２大当たり遊技（短当たり遊技）が開始されると、第１大入賞口開閉装置１０９の右斜め上方に位置する第２大入賞口開閉装置１２９における第２大入賞口開閉扉１２９ａが、第１大入賞口開閉扉１０９ａの開閉動作に比して短い時間にて一定の期間開放する動作を所定回数（例えば、１５回）繰り返し、入球した遊技球がある場合、これに対応する賞球が払い出される。
【００５２】
また、遊技盤１０１の遊技領域１０３の外周には、枠部材１１０が設けられ、開口部から遊技領域１０３が遊技者側に露出している。枠部材１１０は、遊技者側に突出する形状を呈している。枠部材１１０において、遊技領域１０３の左上部及び右下部には、演出ライト（ランプユニット）１１１ａ及び１１１ｂがそれぞれ設けられている。各演出ライト１１１ａ及び１１１ｂは、複数のライト１１２を備えている。各演出ライト１１１ａ及び１１１ｂは、上下駆動モータ（図示略）でそれぞれ駆動されることにより、それぞれが備える複数のライト１１２から照射される光の方向を上下方向、すなわち、パチンコ遊技機１の正面にいる遊技者の頭部と腹部を結ぶ方向に平行な方向に変更可能に構成されている。
【００５３】
また、各ライト１１２は、各演出ライト１１１ａ及び１１１ｂを構成する回転駆動モータ（図示略）で駆動されることにより、それぞれ所定半径を有する円の円周方向に移動する。上記構成により、各ライト１１２から照射された光を回転移動させつつ、各演出ライト１１１ａ及び１１１ｂ全体から照射された光を上下移動させる演出を行うことができる。さらに、枠部材１１０の下部には、遊技球が供給される受け皿ユニット１１９が設けられている。この受け皿ユニット１１９には、貸し玉装置（図示略）から貸し出される遊技球が供給される。
【００５４】
図２において、図柄表示部１０４の右側には、演出用の役物（以下、「演出役物」という）１１５が設けられている。演出役物１１５は、キャラクターとして人間の上半身（特に頭部）を模式的に表している。演出役物１１５は、キャラクターの瞼部１１６を開閉して、キャラクターが瞬きをするが如くに、瞼部１１６を上下方向に沿って移動可能に設けられている。また、演出役物１１５は、キャラクターの頭部を左右方向に移動可能に設けられている。
【００５５】
また、枠部材１１０において、操作ハンドル１１３の左側には、遊技者により操作されるチャンスボタン１１７が設けられている。チャンスボタン１１７の操作は、例えば、遊技中における特定のリーチ演出に際し、チャンスボタン１１７の操作を促すガイダンスが表示されている間だけ有効となる。
【００５６】
加えて、枠部材１１０には、演出効果音又は不正を知らしめる音響を出力するスピーカ２７７（図３参照）が組み込まれている。このスピーカ２７７は、高音・中音・低音の領域を出力できるタイプのものであり、通常演出時は高音・中音・低音をバランスよく出力するが、例えば、特別演出時又は不正等があった場合には、周りによく聞こえるように高音領域を高く出力するように制御される。
【００５７】
次に、本発明の実施の形態１に係るパチンコ遊技機１の電気的構成について、図３に示すブロック図を参照して説明する。パチンコ遊技機１は、電気的な構成上は、制御手段２００に、第１始動口検出部２２１等の各種検出手段や、図柄表示部１０４等の各種演出手段、役物作動装置２３１、払出部２９１、発射部２９２などが接続されて構成されている。制御手段２００は、図３に示す例では、主制御部１０と、中間部２０と、演出制御部２０３と、賞球制御部２０４と、ランプ制御部２０５とから構成されている。
【００５８】
＜主制御部＞
主制御部１０は、ＣＰＵ１０ａと、ＲＯＭ１０ｂと、ＲＡＭ１０ｃと、カウンタ回路（タイマ）（図示略）等を備えている。ＣＰＵ１０ａは、パチンコ遊技機１の遊技に係る基本動作を制御し、ＲＯＭ１０ｂに予め記憶されているプログラム（プログラムコード）に基づき、遊技内容の進行に伴う基本処理を実行する。ＲＯＭ１０ｂには、ＣＰＵ１０ａがパチンコ遊技機１の遊技内容の進行に伴う基本処理を実行するためのプログラムコードが予め記憶されている。ＲＯＭ１０ｂの全部又は一部は、例えば、図１に示すデータ記憶手段１１に対応させることができる。ＲＡＭ１０ｃは、ＣＰＵ１０ａがパチンコ遊技機１の遊技内容の進行に伴う基本処理を実行する際に行う演算処理において、データ等のワークエリアとして機能する。カウンタ回路（タイマ）は、経過時間をカウントする。
この主制御部１０では、第１始動口１０５又は第２始動口１２０への遊技球の入球を契機として、大当たりの抽選を行うとともに、この抽選結果に基づいて、ＲＯＭ１０ｂに記憶されている演出に係わるコマンドの選択を行う。
【００５９】
主制御部１０の入力側には、第１始動口検出部２２１と、第２始動口検出部２２５と、ゲート検出部２２２と、普通入賞口検出部２２３と、第１大入賞口検出部２１４と、第２大入賞口検出部２２４とが接続されている。第１始動口検出部２２１は、第１始動口１０５に遊技球が入球したことを検出して検出結果を主制御部１０に送信する。第２始動口検出部２２５は、第２始動口１２０に遊技球が入球したことを検出して検出結果を主制御部１０に送信する。ゲート検出部２２２は、入賞ゲート１０６を遊技球が通過したことを検出して検出結果を主制御部１０に送信する。普通入賞口検出部２２３は、普通入賞口１０７に入球した遊技球を検出して検出結果を主制御部１０に送信する。第１大入賞口検出部２１４は、第１大入賞口１０９ｃに入球した遊技球を検出して検出結果を主制御部１０に送信する。第２大入賞口検出部２２４は、第２大入賞口１２９ｃに入球した遊技球を検出して検出結果を主制御部１０に送信する。上記各検出部は、例えば、近接スイッチなどを用いて構成することができる。
【００６０】
また、この主制御部１０の出力側には、役物作動装置２３１が接続されている。本実施の形態１では、役物作動装置２３１は、第１大入賞口開閉扉１０９ａ及び第２大入賞口開閉扉１２９ａをそれぞれ開閉させる第１大入賞口開閉ソレノイド１０９ｂ及び第２大入賞口開閉ソレノイド１２９ｂと、第２始動口１２０を開閉させる第２始動口開閉ソレノイド１２０ｂとから構成されている。
【００６１】
役物作動装置２３１は、主制御部１０によって制御され、長当たり遊技時に、第１大入賞口開閉ソレノイド１０９ｂを通電して第１大入賞口開閉扉１０９ａを開放したり、短当たり遊技及び小当たり遊技時に、第２大入賞口開閉ソレノイド１２９ｂを通電して第２大入賞口開閉扉１２９ａを開放したり、また、上記普通図柄の当選によって第２始動口開閉ソレノイド１２０ｂを通電して第２始動口１２０を開閉したりする。
【００６２】
また、主制御部１０は、以上概略説明した、パチンコ遊技機１の遊技に係る基本動作制御の他、本実施の形態１の特徴である、不正防止のために主制御部１０の認証に関する処理を実行する手段を備えている。この認証に関する処理を実行する手段は、ＣＰＵ１０ａがＲＯＭ１０ｂに予め記憶されているプログラム（プログラムコード）を実行することにより実現される。この認証に関する処理は、以下に示す[１]〜[７]の通りであるが、［３］等に示す暗号化処理については必要に応じて実行される。
【００６３】
［１］分割数の決定
主制御部１０は、ＲＯＭ１０ｂに予め記憶されている所定のデータ、例えば、所定のプログラムコード（命令コードや固定データ）を分割する数である分割数を決定する。以下、所定のデータの一例として、所定のプログラムコードを用いて説明する。主制御部１０は、例えば、乱数生成回路（図示略）や上記プログラムコードを構成する乱数生成プログラムによって生成された値を分割数としたり、主制御部１０の他の処理において生成される値を所定のタイミングで参照し、その値を分割数としたりすることができる。この場合、分割数の上限を予め設定しておいてもよい。上記分割数を決定する処理を実行する手段は、例えば、図１に示す決定手段１２に対応させることができる。本実施の形態１では、主制御部１０は乱数を用いて分割数を決定しているが、これは分割数を決定するための一実施例であって、乱数を用いないで分割数を決定するようにしてもよい。例えば、主制御部１０に予め分割数を決定するためのテーブルを保持させておき、分割数を決定するタイミング等で主制御部１０がそのテーブルから予め定めた規則に応じて分割数を取得するようにしてもよい。
【００６４】
［２］個体検査値の生成
次に、主制御部１０は、ＲＯＭ１０ｂ内の所定のプログラムコードが予め記憶されている記憶領域を［１］の処理において決定された分割数で分割する。そして、主制御部１０は、ＲＯＭ１０ｂの分割された各記憶領域に記憶されているプログラムコードに対して２項演算を行って、主制御部１０を個体認証するための分割数分の個体検査値を生成する。なお、個体検査値の生成方式（例えば、個体検査値の生成に用いる結合法則を満たす２項演算の種類等）については、主制御部１０と演出制御部２０３との間で同一のものを予め設定しておけばよい。
【００６５】
「結合法則を満たす２項演算」とは、２項間の演算を行う２項演算のうち、演算子を§とし、任意の数をａ，ｂ，ｃとした場合、式（１）が成立する２項演算をいう。
（ａ§ｂ）§ｃ＝ａ§（ｂ§ｃ）＝ａ§ｂ§ｃ  ・・・（１）
すなわち、「結合法則を満たす２項演算」とは、演算対象ａ，ｂ，ｃについて、１度に２項演算を行う演算対象としてどのように分割して演算子§により演算した場合であっても、得られる演算結果が同一値となるような２項演算をいう。ただし、任意の数ａ，ｂに対してａ♪ｂの演算結果が常に０になるような演算子♪は、演算子§から除く。上記結合法則を満たす２項演算の定義された集合を一般に半群と呼ぶことから、このような２項演算を以下では半群演算と呼ぶことにする。半群演算としては、例えば、加算、乗算、排他的論理和がある。
【００６６】
以下、半群演算の簡単な具体例を２つ挙げる。
まず、所定のプログラムコードを分割して得られた各データブロックを構成する各データをＤ０，Ｄ１，Ｄ２，・・・，ＤＮ（Ｎは各データブロックの最終アドレス）とする。
（Ａ）半群演算として加算（演算子＋）が選択されている場合は、式（２）を計算する。
Ｄ０＋Ｄ１＋Ｄ２＋・・・＋ＤＮ  …（２）
（Ｂ）半群演算として排他的論理和（演算子ＸＯＲ）が選択されている場合は、式（３）を計算する。
Ｄ０  ＸＯＲ  Ｄ１  ＸＯＲ  Ｄ２  ＸＯＲ  ・・・  ＤＮ  …（３）
【００６７】
各個体検査値の生成方法について、図４を参照して説明する。
図４は、主制御部１０における個体検査値の生成方法を模式的に示す説明図である。個体検査値は、主制御部１０がＲＯＭ１０ｂに予め記憶されている所定のデータを用いて生成する。より詳細には、主制御部１０は、ＲＯＭ１０ｂの所定の記憶領域を任意の分割数で分割した上で、分割した記憶領域にそれぞれ記憶されたプログラムコードに対して結合法則を満たす２項演算（半群演算）を行って個体検査値を算出する。半群演算としては、上記のように、例えば、加算、乗算や排他的論理和演算などが挙げられる。
【００６８】
（個体検査値生成の計算例）
個体検査値生成の計算の一例を以下に示す。
図４に示すプログラムコード記憶領域４００には、１２個のプログラムコード（「０ｘ０１」〜「０ｘ０９」，「０ｘ０Ａ」〜「０ｘ０Ｃ」）が記憶されている。分割数を３とした場合、プログラムコード記憶領域４００は、例えば、４個のプログラムコードを含む第１ブロック４００ａ、３個のプログラムコードを含む第２ブロック４００ｂ、５個のプログラムコードを含む第３ブロック４００ｃに分割できる。主制御部１０は、これらの各ブロックに記憶されたプログラムコードに対してそれぞれ半群演算を行って個体検査値を算出する。なお、上記ブロック内のプログラムコード数は例示である。分割したブロック内のプログラムコード数は固定値としてもよいし、ランダムに決定してもよい。
【００６９】
例えば、半群演算として式（２）の加算を用いる方法を方式Ａとすると、第１ブロック４００ａに記憶された４個のプログラムコード「０ｘ０１」、「０ｘ０２」、「０ｘ０３」、「０ｘ０４」を加算して第１個体検査値「０ｘ０Ａ」が得られる。同様に、第２ブロック４００ｂに記憶された３個のプログラムコード「０ｘ０５」、「０ｘ０６」、「０ｘ０７」を加算して第２個体検査値「０ｘ１２」が、第３ブロック４００ｃに記憶された５個のプログラムコード「０ｘ０８」、「０ｘ０９」、「０ｘ０Ａ」、「０ｘ０Ｂ」、「０ｘ０Ｃ」を加算して第３個体検査値「０ｘ３２」がそれぞれ得られる。
【００７０】
また、例えば、半群演算として式（３）の排他的論理和演算を用いる方法を方式Ｂとすると、第１ブロック４００ａに記憶された４個のプログラムコード「０ｘ０１」、「０ｘ０２」、「０ｘ０３」、「０ｘ０４」に排他的論理和演算を行い第１個体検査値「０ｘ０４」が得られる。同様に、第２ブロック４００ｂに記憶された３個のプログラムコード「０ｘ０５」、「０ｘ０６」、「０ｘ０７」に排他的論理和演算を行い第２個体検査値「０ｘ０４」が、第３ブロック４００ｃに記憶された５個のプログラムコード「０ｘ０８」、「０ｘ０９」、「０ｘ０Ａ」、「０ｘ０Ｂ」、「０ｘ０Ｃ」に排他的論理和演算を行い第３個体検査値「０ｘ０Ｃ」がそれぞれ得られる。
【００７１】
本実施の形態１では、主制御部１０は、後述するように、パチンコ遊技機１の正規性を認証するためのデータを生成し、生成したデータを制御コマンドに付加して中間部２０又は演出制御部２０３に送信する。ここでは、制御コマンドに付加される主制御部１０の個体としての正当性を認証するためのデータを総称して「個体認証データ」と呼ぶことにする。個体認証データは、各個体検査値、又はこれら個体検査値に対して暗号化処理を施すことにより得られたデータである。また、制御コマンドに付加されるパチンコ遊技機１の動作の継続性を認証するためのデータを総称して「動作認証データ」と呼ぶことにする。動作認証データは、各動作検査値、又はこれら動作検査値に対して暗号化処理を施すことにより得られたデータである。以下、本実施の形態１では、個体認証データ又は動作認証データは、個体検査値又は動作検査値に暗号化処理を施して得られたデータとして説明するが、本発明はこれに限定されず、個体検査値又は動作検査値そのものを個体認証データ又は動作認証データとして認証に関する処理を行ってもよい。この場合、主制御部１０において個体検査値又は動作検査値に暗号化処理を施す必要がなく、中間部２０又は演出制御部２０３で個体検査値又は動作検査値を抽出する際に個体認証データ又は動作認証データの復号化処理を施す必要がないため、認証に関する処理を簡易化することができ、処理負荷の増大を抑制することができる。
なお、上記個体検査値を生成する処理を実行する手段は、例えば、図１に示す個体検査値生成手段１３に対応させることができる。
【００７２】
［３］個体認証データの生成
主制御部１０は、上記［２］の処理で生成した各個体検査値に対して暗号化処理を施し、制御コマンド（制御コマンドデータ及び付随データ）に付加する個体認証データを生成する。ここで、暗号化方式としては、例えば、シーザー暗号、単一換字暗号、エニグマなど、比較的簡易なものを採用することができる。以下において用いる暗号化方式についても同様である。シーザー暗号は、メッセージ（平文）を構成する文字を一定の文字数だけずらすことによって暗号化する暗号化方式である。単一換字暗号は、平文を構成する文字を別の文字に変換することによって暗号化する暗号化方式である。エニグマは、鍵暗号鍵を用いたエニグマの設定、エニグマを用いた通信鍵の暗号化、通信鍵を用いたエニグマの再設定、平文の暗号化及び、暗号化された通信鍵と暗号化された平文の結合による通信文の生成という過程を経る暗号化方式である。
【００７３】
主制御部１０において、各個体検査値に対して暗号化処理を施すことにより得た各個体認証データを中間部２０に送信した場合には、何らの処理も施していない各個体検査値をそのまま中間部２０に送信する場合と比較して、各個体検査値を不正行為者により分析される可能性を低減することができる。なお、主制御部１０は、個体検査値ごとで異なる暗号化処理を施してもよい。
【００７４】
上記暗号化処理に対して、更に所定の加工処理を加えてもよい。所定の加工処理としては、例えば、暗号化処理が施された各個体検査値を用いた四則演算又は論理演算等を行って所定のデータ長を有する演算データを得る処理、これらの四則演算又は論理演算等により得られた演算データのビット配列を並び変える処理、上記演算データのビットをシフト又はロテイト（rotate）する処理、暗号化処理が施された各個体検査値を構成する複数のビットを取り出して所定の規則に従って並べて１つのデータを生成する処理などが考えられる。
【００７５】
（個体認証データ生成の計算例）
個体認証データ生成の計算の一例を以下に示す。
図４に示す第１個体検査値「０ｘ０Ａ」から個体認証データを生成することを例にとって説明する。上記の暗号化処理として、個体検査値に制御コマンドデータを加算し、次に、得られたデータから「０ｘ０３」を減算する処理を採用する。主制御部１０は、第１の個体検査値に上記の暗号化処理を施して個体認証データを生成する。
【００７６】
この個体認証データを付加する制御コマンドデータ及び付随データの値を仮に「０ｘＥＥ」、及び「０ｘ０１」とする。暗号化処理では、第１個体検査値「０ｘ０Ａ」に制御コマンドデータの値「０ｘＥＥ」を加算するので、「０ｘＦ８」が得られる。次に、この「０ｘＦ８」から「０ｘ０３」を減算すると、個体認証データの値「０ｘＦ５」が得られる。
同様に、図４に示すプログラムコード記憶領域４００に記録された、第２個体検査値「０ｘ１２」から個体認証データを生成すると「０ｘＦ２」の値、第３個体検査値「０ｘ３２」から個体認証データを生成すると「０ｘ１Ｄ」の値となる。
【００７７】
なお、個体認証データとともに送信される制御コマンドデータ又はその付随データの少なくともいずれか一方のデータと個体検査値とを併せたデータに暗号化処理を施すことにより個体認証データを生成してもよい。また、個体認証データには、個体認証データとともに送信される制御コマンドデータや付随データに関するデータを含ませてもよい。制御コマンドデータや付随データに関するデータとは、制御コマンドデータや付随データに対して上記加工処理や、ハッシュ関数による演算やパリティチェック、巡回冗長検査（Cyclic Redundancy Check：ＣＲＣ）、チェックサムなどの演算を行って得られた値などである。
【００７８】
個体認証データとともに送信する制御コマンドデータや付随データを用いて個体認証データを生成することにより、不正な制御部によって個体認証データを再利用された場合であっても、個体認証データと制御コマンドの整合がとれず、不正を検知することができる。また、誤動作により制御コマンドデータが変更された場合であっても、認証は成功しないため、上記雑音等に起因して変更された制御コマンドデータに対応した制御コマンドの実行を防止することもできる。
【００７９】
また、個体認証データに制御コマンドデータや付随データに関するデータを含ませる場合、主制御部１０は制御コマンドデータや付随データに関するデータと個体検査値とを合わせて暗号化処理を施して、個体認証データを生成する処理を行ってもよい。
【００８０】
なお、主制御部１０が、各個体検査値を生成するタイミングと、各個体検査値を用いて個体認証データを生成するタイミングとは、特に制限はなく、主制御部１０の制御プログラム中に、各個体検査値を生成する処理と、各個体検査値を用いて個体認証データを生成する処理とを行うプログラムを組み込んでおけばよい。
【００８１】
［４］動作検査値の生成
主制御部１０は、中間部２０及び演出制御部２０３においてパチンコ遊技機１の動作の継続性を認証するために、制御コマンドデータ及び付随データに付加して中間部２０に送信する動作検査値として、同期コード及び動作コードを生成し、ＲＡＭ１０ｃの所定の記憶領域である動作検査値用メモリに記憶する。以下に、同期コード及び動作コードの生成ついて詳細に説明するが、同期コードと動作コードの作成順序は任意である。
【００８２】
｛１｝同期コードの生成
主制御部１０は、動作検査値の一つとしてパチンコ遊技機１の動作の継続性を認証するために、主制御部１０の継続性を有する処理動作に伴って生成されるパケット情報を生成し、生成されたパケット情報を取得して同期コードを生成する。パケット情報は、主制御部１０が連続して動作していることを認証可能な情報であって、連続した生成タイミングのパケット情報を比較したときに、パケット情報同士はお互いの生成間隔（所定の時間間隔や所定のクロック数間隔、又は命令実行数間隔など）に起因する所定の相関関係を有している。本実施の形態１では、主制御部１０の制御コマンドの出力に伴ってパケット情報を生成するとし、連続した制御コマンドの出力タイミングに準じた生成タイミングで生成されたパケット情報同士の差分が、予め設定された所定の相関関係を有するように生成させている。このようにして生成されたパケット情報を受信した側は、パケット情報同士の差分が常に所定の相関関係を有していれば、主制御部１０の制御コマンドは正規の動作順序で出力されていると判断することができる。
【００８３】
なお、主制御部１０がパケット情報を生成するタイミングと取得するタイミングの関係としては、パケット情報が生成されるタイミングごとに取得するように設定したり、パケット情報が生成されるタイミングとは別のタイミングで取得するように設定したりできるが、本実施の形態１では、パケット情報が生成されるタイミングごとに取得することとする。
【００８４】
主制御部１０の動作に伴って生成されるパケット情報は、その生成間隔によって、例えば、次の２種類に分類することができる。具体的には、主制御部１０は制御コマンドの出力に伴って連続して生成されるパケット情報（連続パケット情報）と、制御コマンドの出力に伴って特定の間隔ごとに生成されるパケット情報（間欠パケット情報）である。
【００８５】
連続パケット情報とは、主制御部１０によって生成される少なくとも２つの（２回分の）連続するタイミングによって生成されたパケット情報である。ここで、連続パケット情報の生成タイミングとして、主制御部１０の処理速度に応じた生成タイミングを例に説明すると、１クロックタイミングごとにパケット情報を生成可能であれば１クロックタイミングごとが連続パケット情報の生成タイミングとなり、４クロックタイミングごとにパケット情報を生成可能であれば、４クロックタイミングごとが連続パケット情報の生成タイミングとなる。このとき、主制御部１０は、１クロックタイミングごとにパケット情報を生成させ、１クロックタイミングごとにパケット情報を取得して連続パケット情報とする。
【００８６】
間欠パケット情報とは、主制御部１０によって生成されるパケット情報のうち少なくとも２つの（２回分の）タイミング（特定の間隔ごとのタイミング）によって生成されたパケット情報である。ここで、特定の間隔ごとのタイミングとは、例えば、連続した生成タイミングが特定の間隔を有して間欠的であることを意味している。この間隔の基準は、１クロックタイミングごとや４クロックタイミングごとといったクロックタイミングを基準としてもよいし、１秒、０．５秒などの時間を基準としてもよい。
具体的には、間欠パケット情報とは、主制御部１０によって連続パケット情報が生成される所定の生成タイミングのうちの一部の生成タイミングである、特定の間隔ごとに間欠的に生成された少なくとも２つの（２回分の）パケット情報である。間欠パケット情報の生成タイミングは、例えば、主制御部１０が、１クロックタイミングごとにパケット情報を出力可能である場合に、２クロックタイミングごとを間欠パケット情報の生成タイミングと設定することができる。このとき、主制御部１０は、２クロックタイミングごとにパケット情報を生成させ、２クロックタイミングごとにパケット情報を取得して間欠パケット情報とする。
【００８７】
このように、パケット情報を用いて同期コードを生成する場合、それぞれのパケット情報は、所定の生成間隔、例えば、所定の時間間隔や所定のクロック数間隔、又は命令実行数間隔などに設定された生成タイミングで生成される。このとき、連続した生成タイミングのパケット情報同士は、所定の相関関係を有する情報として生成される。すなわち、連続して生成されたパケット情報同士の相関関係は、連続的に絶え間なく生成された連続パケット情報と、特定の間隔を有して間欠的に生成された間欠パケット情報とで異なるが、連続パケット情報及び間欠パケット情報においてそれぞれ所定の相関関係を有する。従って、これらのパケット情報を受信する側では、連続する生成タイミングの複数のパケット情報同士の差分（減算に限られない）を求め、得られた差分値が示す情報が、予め設定した所定の相関関係を示していれば、主制御部１０で用いられたパケット情報の種類を特定することができ、また、随時確認することで、主制御部１０の処理動作が正規の動作順序で連続的に実行されていることを検証することができる。
【００８８】
なお、パケット情報を用いて同期コードを生成する場合、一つのパケット情報を用いて一つの同期コードを生成してもよいし、複数のパケット情報を用いて一又は複数の同期コードを生成してもよい。但し、後述する中間部２０での同期コードを用いた中間動作認証において、送信されたパケット情報同士の相関関係を確認できるよう、一つのパケット情報を用いて一つの同期コードを生成する場合は、複数個の同期コードを生成し、中間部２０へ一又は複数回の送信を行うこととする。また、同期コードは、パケット情報として生成した値をそのまま利用してもよいし、これらの値に所定の演算を施して暗号化した値を利用してもよい。これらのことは、後述する動作コードの生成の際にも当てはまる。
【００８９】
主制御部１０は、間欠パケット情報を用いて同期コードを生成するか、連続パケット情報を用いて同期コードを生成するか、つまり、同期コードの生成に用いるパケット情報の種類を、分割数に基づく所定の取り決めに従って選択することができる。所定の取り決めは、主制御部１０と演出制御部２０３とで共有されており、例えば、次の（選択例１）や（選択例２）のようなものがある。図５に、主制御部１０におけるパケット情報の選択方法とする所定の取り決めを模式的に示す。なお、初回のパケット情報の種類については、主制御部１０と中間部２０及び演出制御部２０３との間で同一の方式を利用するものと予め設定しておく。
【００９０】
（選択例１：分割数／Ｘの余り値）
図５に示す選択例１では、分割数として決定された値を予め決められている特定値Ｘで除算した際の余り値に基づいて、同期コードの生成に用いるパケット情報の種類を選択する。例えば、特定値Ｘ＝３、分割数＝３であれば、余り値＝０となり、図５の選択例１では、間欠パケット情報を選択し、特定値Ｘ＝３、分割数＝５であれば、余り値＝２となり、図５の選択例１では、連続パケット情報を選択する。
【００９１】
（選択例２：｜前回の分割数−今回の分割数｜の絶対値）
図５に示す選択例２では、前回決定された分割数と今回決定された分割数の減算した際の絶対値に基づいて、同期コードの生成に用いるパケット情報を選択する。例えば、前回の分割数＝３、今回の分割数＝５であれば、絶対値｜−２｜＝２となり図５の選択例２では、連続パケット情報を選択する。
【００９２】
その他、所定の取り決めとしては、例えば、分割数２の場合は間欠パケット、分割数３の場合は連続パケット・・・というように、選択するパケット情報を分割数ごとに決めておく方法や、分割数が偶数の場合は同期コードの生成に用いるパケット情報の種類を変更し、分割数が奇数の場合は現在用いている種類のパケット情報を継続して用いる方法などがある。
【００９３】
主制御部１０は、主制御部１０のみが知る分割数の値に基づいて同期コードの生成に用いるパケット情報の種類を選択することにより、不正行為者に同期コードの生成にどの種類のパケット情報を用いているかを知られることを防止できる。これにより、同期コードが不正に生成されることを防止することができる。以下、本実施の形態１では、所定の取り決めとして図５に示す（選択例１）を採用し、特定値ＸをＸ＝３とし、初回のパケット情報の種類は連続パケットを採用したとして説明する。また、上記同期コードを生成する処理を実行する手段は、例えば、図１に示す動作検査値生成手段１４に対応させることができる。
【００９４】
また、本実施の形態１では、主制御部１０の制御コマンドの出力に伴って、毎回の出力の度にパケット情報を生成する連続パケット情報と、主制御部１０の制御コマンドの出力に伴うが、毎回の出力の度ではなく特定の間隔ごとにパケット情報を生成する間欠パケット情報との２種類を用いて、同期コードを生成するが、本発明において同期コードの生成タイミングはこれに限定されず、同期コードは、制御コマンドの出力処理以前のタイミングで生成してもよい。具体的には、同期コードは、主制御部１０の利用者（遊技者ではなく、例えば、主制御部１０を遊技機に搭載する管理者や、業者など）の設定するタイミングに応じた同期コードを生成できる。このような構成にすることによって、同期コードを第三者にとってより解析の困難な情報とすることができる。
【００９５】
｛２｝動作コードの生成
また、主制御部１０は、動作検査値の一つとして主制御部１０の動作の継続性を認証するために、主制御部１０の継続性を有する処理動作（ここでは、制御コマンドの送信とする）の順序を検証するための情報である動作コードを生成する。動作コードは、機能番号や認証回数などの時系列的に一定の関係性を保って変動する値を用いて生成される。以下に、機能番号又は認証回数を用いて動作コードとして生成する場合について説明するが、動作コードが何を用いて生成されているかについては、主制御部１０と中間部２０との間で予め決定されている。動作コードは、機能番号及び認証回数の両方を用いて生成した動作コードなどのように、主制御部１０の動作順序を検証するための情報を複数含んでもよい。
【００９６】
まず、機能番号を用いて動作コードを生成する場合について説明する。主制御部１０は、自身が出力する各種データ信号のうち、特定のデータ信号に対してその出力順ごとに予め重複なく番号を割り振り、割り振られた番号を機能番号として定義することができる。本実施の形態１では、主制御部１０において、自身が実行する各種プログラムの所定の機能を実現するための処理が実行される順番ごとに、予め機能番号が割り振られているとする。主制御部１０は、機能番号が割り振られたプログラムを実行すると、所定の機能を実行する毎に機能番号を取得し、取得した機能番号を動作コードとしてＲＡＭ１０ｃの所定の記憶領域の動作検査値用メモリに、取得した順番が判別可能な状態で記憶する。この取得された順番に並べられて記憶された複数の動作コードは、主制御部１０が各種プログラムを実行した際の動作順序を示している。
【００９７】
機能番号の割り振り方の具体例について説明する。機能番号は、例えば、大当たりリーチコマンド、大当たり開始コマンド及びそれに続く大当たりコマンド（例えば、１５ラウンド分）等の連続して生成される制御コマンドに対して割り振ることができる。この場合、大当たりリーチコマンドに機能番号１を割り振る。次に、大当たり開始コマンドに機能番号２を割り振る。次に、１５ラウンドの大当たりコマンドの各コマンドのそれぞれに機能番号３〜１８を割り振る。このように、時系列的に連続して発生する制御コマンドに連続する機能番号を割り振り、連続して発生する機能番号の連続性を検査することにより、主制御部１０の動作の継続性を検証することができる。なお、機能番号は、連続して実行されるプログラムの所定の機能毎に割り振ればよく、そのプログラムの所定の機能の粒度（granularity）については特に制限されない。
【００９８】
次に、認証回数を用いて動作コードを生成する場合について説明する。認証回数とは、パチンコ遊技機１の電源がオンになってから、主制御部１０と中間部２０及び演出制御部２０３との間で行われた一連の認証に関する処理の総実行回数のことである。1回の認証に関する処理において、主制御部１０での動作検査値の生成処理は１回実行され、中間部２０での中間動作認証及び演出制御部２０３での動作認証も１回実行されるとすると、動作検査値の生成処理の実行回数と中間動作認証や動作認証の認証処理の実行回数とは同一となる。よって、主制御部１０は動作検査値の生成処理の実行回数を認証回数として認識し、中間部２０及び演出制御部２０３は中間動作認証及び動作認証の実行回数を認証回数として認識することができる。
【００９９】
また、認証回数を、動作検査値の生成処理及び動作認証処理（中間動作認証処理を含む）の実行回数として定義するだけではなく、個体検査値の生成処理及び個体認証処理の実行回数や動作検査値の生成処理及び個体認証処理の実行回数として定義することもできる。この場合、演出制御部２０３は、演出制御部２０３での個体認証の実行回数を中間部２０に通知し、中間部２０において個体認証の実行回数を認証回数として認識させることができる。なお、個体検査値と動作検査値の生成処理の実行回数、又は個体認証処理と動作認証処理（中間動作認証処理を含む）の実行回数とが異なる場合であってもお互いに対応関係を明確にしておけば、動作コードに用いる認証回数として定義することができる。
【０１００】
そして、主制御部１０は、この認証回数を動作コードとしてＲＡＭ１０ｃの所定の記憶領域の動作検査値用メモリに記憶している。主制御部１０は、認証処理が行われる度にＲＡＭ１０ｃに記憶された認証回数の値に＋１して、新たな認証回数の値、すなわち新たな動作コードを生成し、この動作コードをＲＡＭ１０ｃに記憶する。なお、動作コードを生成する処理を実行する手段は、例えば、図１に示す動作検査値生成手段１５に対応させることができる。
【０１０１】
［５］動作認証データの生成
主制御部１０は、上記[４]の｛１｝の処理で生成した各同期コード及び上記[４]の｛２｝の処理で生成した各動作コードに対して暗号化処理を施してもよい。ここで、暗号化方式としては、個体認証データの生成の際に用いた方式と同様のものが考えられる。なお、個体認証データの生成の際に施す暗号化処理と、動作認証データの生成の際に施す暗号化処理とは、同じ暗号化処理でもよく、それぞれ異なる暗号化処理でもよい。また、同期コードごとや動作コードごとで異なる暗号化処理を施してもよい。
【０１０２】
ここで、主制御部１０は、動作認証データの生成において、機能番号を用いて複数の動作コードを生成した場合、複数の動作コードが生成された順番、すなわち主制御部１０の動作順序の情報を維持したまま、同期コードと併せて複数の動作認証データを生成する。例えば、主制御部１０は、取得した順番に並べられた複数の機能番号（動作コード）の配列を維持したまま、動作コードのそれぞれに同期コードと併せて暗号化処理を施して、複数の動作認証データを生成する。したがって、配列された複数の動作認証データは、複数の動作コードと同様に、主制御部１０が各種のプログラムを実行した際の動作順序を示している。
【０１０３】
主制御部１０において暗号化処理を施された各同期コード及び各動作コードを中間部２０に送信した場合には、何らの処理も施していない各同期コード及び各動作コードをそのまま中間部２０に送信する場合と比較して、各同期コード及び各動作コードを不正行為者により分析される可能性を低減することができる。なお、上記暗号化処理に対し、個体認証データの生成の際と同様、更に所定の加工処理を加えてもよい。
【０１０４】
また、同期コードとともに送信される制御コマンドデータ又はその付随データの少なくともいずれか一方のデータと同期コードとを併せたデータに暗号化処理を施してもよい。同様に、動作コードとともに送信される制御コマンドデータ又はその付随データの少なくともいずれか一方のデータと動作コードとを併せたデータに暗号化処理を施してもよい。また、同期コード及び動作コードには、これらとともに送信される制御コマンドデータや付随データに関するデータを含ませてもよい。
【０１０５】
なお、暗号化処理及び復号化処理等の方式については、主制御部１０と中間部２０及び演出制御部２０３との間で予め取り決めておけばよい。例えば、主制御部１０で第１の暗号化方式を用いて動作検査値に暗号化処理を施し動作認証データを生成した場合、中間部２０は、第１の暗号化方式に対応する復号化方式で復号化処理を施し、動作検査値を抽出して認証に関する処理を行う。その後、中間部２０は、得られた結果に対して第２の暗号化方式を用いて暗号化処理を施し、後述する中間認証情報を生成する。演出制御部２０３は、第２の暗号化方式に対応する復号化方式で復号化処理を施し、中間部２０で得られた結果を抽出し認証に関する処理を行う。このようなことは、動作認証データの生成及び動作検査値の抽出の場合に限らず、個体認証データの生成や個体検査値の抽出なども同様に当てはまる。
【０１０６】
また、主制御部１０は、個体認証データ又は動作認証データの生成に用いる暗号化処理等の方式を予め複数用意しておき、［１］の処理において決定された今回の分割数（データブロックの数）に基づいて、複数の暗号化処理の中から次回の動作認証データの生成に用いる１個の暗号化処理を選択するようにしてもよい。具体的には、主制御部１０は、例えば、今回の分割数が奇数の場合は次回の暗号化処理を今回用いた暗号化処理と異なるものを選択し、今回の分割数が偶数の場合は次回の暗号化処理を今回用いた暗号化処理と同一のものを選択する。このとき、復号化処理等の方式の選択方法についても暗号化処理等の方式のときと同様に、例えば、後述する今回の結合数や今回の結合数に基づく復号化方式の選択情報に従って、次回用いられる暗号化方式に対応した復号化方式を選択するように、主制御部１０と中間部２０及び演出制御部２０３との間で予め取り決めておけばよい。
なお、これら暗号化処理全般のことについては、後述する中間部２０での中間認証情報の生成など、中間部２０や演出制御部２０３での認証に関するデータや情報信号の生成処理においても同様に当てはまる。
【０１０７】
［６］制御信号へのデータ付加
主制御部１０は、中間部２０を介して演出制御部２０３に送信される制御コマンドデータ及び付随データへ、個体認証データ及び動作認証データを付加して認証データ付制御信号を生成する。以下、個体認証データ及び動作認証データを併せて認証データともいう。
【０１０８】
［７］制御信号の送信
主制御部１０は、認証データ付制御信号を中間部２０及び中間部２０を介して演出制御部２０３に送信する。
【０１０９】
ここで、主制御部１０が中間部２０に送信する制御信号のデータフォーマットの一例について、図６に示す模式図を参照して説明する。図６（１）には、制御コマンドデータ３０１及び付随データ３０２が含まれる通常の制御信号３１０を示す。制御コマンドデータ３０１は、制御コマンド固有のデータである。また、付随データ３０２は、制御コマンドデータ３０１に付随するデータであり、例えば、現在の遊技状態を示すデータなど制御コマンドデータ３０１に対応する処理を実行するために必要な制御データである。
【０１１０】
一方、主制御部１０は、中間部２０に認証データを送信する場合、図６（２）に示すように、制御コマンドデータ３０１及び付随データ３０２に加え、個体認証データ３０３及び動作認証データ３０４を含んだ認証データ付制御信号３２０を生成し、出力する。個体認証データ３０３には個体検査値が含まれ、動作認証データ３０４には、同期コード３０４ａ及び動作コード３０４ｂが含まれている。
【０１１１】
なお、図６には示していないが、通常の制御信号３１０及び認証データ付制御信号３２０には、一般的なデータ通信で伝送される制御信号と同様に、ＢＣＣ（Block Check Character）等が含まれている場合もある。ＢＣＣは、データ伝送の過程で発生するデータ誤りなどをチェックするために、伝送ブロックごとに付加される誤り検出符号である。
【０１１２】
なお、認証データ付制御信号３２０は、図６（２）に示すような制御コマンドデータ３０１、付随データ３０２、個体認証データ３０３、動作認証データ３０４の順で配置された認証データ付制御信号３２０に限らず、これらを任意の順番で配置してもよい。例えば、個体認証データ３０３又は動作認証データ３０４を制御信号の先頭に設けたり、制御コマンドデータ３０１と付随データ３０２との間に個体認証データ３０３又は動作認証データ３０４を挿入したりしてもよい。また、同期コード３０４ａ及び動作コード３０４ｂを逆に配置したり、分離して配置したりしてもよい。
【０１１３】
このように、個体認証データ３０３及び動作認証データ３０４を制御信号に含めることによって、個体認証データ３０３又は動作認証データ３０４を単体で送信する場合と比較して、主制御部１０と中間部２０及び演出制御部２０３との間の通信負荷の増大を抑えることができるとともに、通信中のデータの中から個体認証データ３０３又は動作認証データ３０４が抽出され、解析されてしまう危険性を低減することができる。
なお、これら制御信号のデータフォーマットなど、各種データや情報信号の伝送形態全般については、図６に示す通常の制御信号３１０や中間認証情報付制御信号３３０など、中間部２０や演出制御部２０３での認証に関するデータや情報信号の伝送形態においても同様に当てはまる。
【０１１４】
＜中間部＞
中間部２０は、ＣＰＵ２０ａと、ＲＯＭ２０ｂと、ＲＡＭ２０ｃ等を備えている。ＣＰＵ２０ａは、ＲＯＭ２０ｂに予め記憶されているプログラム（プログラムコード）に基づき処理を行う。ＲＯＭ２０ｂには、ＣＰＵ２０ａが処理を実行するためのプログラムコードと、主制御部１０の制御コマンドの出力に伴って生成されるパケット情報の種類ごとに予め設定された所定の相関関係を一義的に示す同期コード期待値と、主制御部１０の所定の処理ごとに生成される動作コードの種類ごとに予め設定され、主制御部１０の動作順序を判別可能なように関連付けられた動作コード期待値とが予め記憶されている。ＲＯＭ２０ｂの記憶領域のうち、上記同期コード期待値及び動作コード期待値からなる中間動作認証期待値が予め記憶されている記憶領域は、例えば、図１に示す期待値記憶手段２１に対応させることができる。ＲＡＭ２０ｃは、ＣＰＵ２０ａが処理を実行する際に行う演算のワークエリアとして機能する。
【０１１５】
本実施の形態１において、この中間部２０の認証に関する処理は、以下の［１］〜［６］の通りである。
［１］制御信号の受信
中間部２０は、主制御部１０から、制御コマンドデータ及び付随データのみからなる通常の制御信号、又は、制御コマンドデータ及び付随データに加え個体認証データ及び動作認証データ（同期コード及び動作コードが含まれている）からなる認証データ付制御信号を受信する。なお中間部２０は、通常の制御信号を受信した場合には、演出制御部２０３にそのまま送信する。
【０１１６】
［２］個体認証データ、動作認証データの抽出
中間部２０は、認証データ付制御信号から個体認証データ、動作認証データを抽出する。次に中間部２０は、抽出した個体認証データをＲＡＭ２０ｃの所定の記憶領域である個体検査値用メモリに記憶する。また、中間部２０は、抽出した動作認証データから同期コード及び動作コードを抽出し、ＲＡＭ２０ｃの所定の記憶領域である動作検査値用メモリに、制御コマンドの出力順など主制御部１０の動作順序が判別可能なように関連付けて同期コード及び動作コードを記憶する。なお、同期コード及び動作コードに主制御部１０において暗号化処理が施されている場合、中間部２０は、施された暗号化処理に対応する復号化処理を抽出した同期コード及び動作コードに施す。
【０１１７】
ここで、本実施の形態１において、例えば、主制御部１０の動作検査値生成の際に使用するＲＡＭ１０ｃの動作検査値用メモリと、中間部２０の動作検査値抽出の際に使用するＲＡＭ２０ｃの動作検査値用メモリなど、メモリの所属元は、特に明記しなくても混乱なく識別することができる。よってこれ以降特筆しない限り、メモリの所属元の区別なく同一の名称を使用する（この例では、「動作検査値用メモリ」を使用する）。このことは、個体検査値用メモリも同様とする。
【０１１８】
［３］中間動作認証
中間部２０は、動作検査値用メモリに記憶されている複数の同期コード及び動作コードを用いて、以下に示す主制御部１０の制御コマンド出力に対する中間動作認証を行う。なお、同期コードを用いた中間動作認証と動作コードを用いた中間動作認証の認証順序は任意である。
｛１｝同期コードを用いた中間動作認証
{１−１}中間部２０は、上記動作検査値用メモリに記憶されている複数の同期コードから、主制御部１０の制御コマンドが出力された順番に対応させて複数のパケット情報を読み出す。
{１−２}中間部２０は、読み出した複数のパケット情報のうち、あるタイミングで生成されたパケット情報と、このパケット情報から所定の生成間隔だけ経過したタイミングで生成されたパケット情報との差分を求める。この差分は減算に限らず、各種の四則演算や論理演算が考えられる。
{１−３}中間部２０は、主制御部１０との間で共有しパケット情報の種類ごとに予め設定されている、連続する生成タイミングで生成されたパケット情報同士の相関関係を表す情報として記憶している同期コード期待値を、所定の記憶領域から読み出す。読み出す同期コード期待値は、連続パケットを示すものか間欠パケットを示すものかのいずれかとする。本実施の形態１では、連続パケット情報を示す同期コード期待値を読み出すものとする。
【０１１９】
{１−４}中間部２０は、{１−２}の処理で求めた差分値が示す情報と、{１−３}の処理で読み出した同期コード期待値とが同一か否かを照合する。
{１−５}差分値が示す情報と同期コード期待値が同一の場合、中間部２０は、両者が同一であったことを示す同期コードでの中間動作認証結果を生成し、差分値が示す情報と同期コード期待値が非同一の場合、中間部２０は、両者が非同一であったことを示す同期コードでの中間動作認証結果を生成する。本実施の形態１では、主制御部１０において、初回に同期コードの生成に用いたパケット情報の種類は、連続パケット情報であり、中間部２０にて読み出した同期コード期待値は、連続パケット情報を示すものであるため、中間部２０の認証に関する処理における初回の同期コードでの中間動作認証結果は、差分値が示す情報と同期コード期待値が同一を示すものが生成される。
【０１２０】
（同期コードを用いた中間動作認証の計算例）
以下、中間部２０における同期コードを用いた中間動作認証の計算例を説明する。中間部２０は、連続した生成タイミングで生成された２つのパケット情報同士の相関関係を求める。例えば、１回目のパケット（以下、「パケット１」という）の基本値＝０ｘ０３、２回目のパケット（以下「パケット２」という）の基本値＝０ｘ０５であり、パケット１とパケット２との相関条件は「＋２」となる。中間部２０は、この相関条件を同期コード期待値として予め記憶している。主制御部１０から送信するパケット１に対応する同期コードは、基本値のまま０ｘ０３となり、パケット２に対応する同期コードは、パケット１＋パケット２すなわち０ｘ０３＋０ｘ０５となり「０ｘ０８」が送信される。
【０１２１】
そして、中間部２０において受信するパケット１は、基本値のまま０ｘ０３となり、パケット２は、０ｘ０８となる。そして、パケット２の基本値を算出するため、受信したパケット２からパケット１を引き、０ｘ０８−０ｘ０３＝０ｘ０５を求める。
【０１２２】
パケット１とパケット２との双方の基本値が求まると、２つのパケットの相関関係を求める。すなわち、パケット２基本値−パケット１基本値＝０ｘ０５−０ｘ０３となり、差分値は０ｘ０２となる。この値は、パケット１の基本値とパケット２の基本値との相関条件（＋２であること）と一致し、同期コード期待値と同一であると判断できるので、中間部２０は、両者が同一であったことを示す同期コードでの中間動作認証結果を生成する。その後、中間部２０は、ＲＡＭ２０ｃの動作検査値用メモリに記憶されている同期コードを消去する。
【０１２３】
なお、パケット１とパケット２の計算において、計算結果が桁あふれしないように桁数を調整してもよいし、桁あふれしない数値範囲でパケット１とパケット２の基本値を選定してもよいし、さらに、符号なし演算として計算してもよい。また、認証強度を上げるために、認証処理ごとに相関条件を変更してもよい。例えば、１回目の相関条件は「＋２」、２回目の相関条件は「＋５」、３回目の相関条件は「＋１」などとしてもよい。ただし、上述のような相関関係の変更ルールを適用する場合には、予め主制御部１０と中間部２０及び演出制御部２０３との相互で共有しておくか、通知する手段や工程を用意しておく。
【０１２４】
また、単純に連続するパケット情報を送信しただけでは、第三者にパケット情報の差分を解析されてしまう可能性もある。したがって、解析を防ぐために基本値に前処理を施してもよい。例えば、パケット情報の基本値に排他的論理和演算などの各種演算処理を施してもよい。また、基本値への前処理は、パケット１とパケット２のような任意の間隔ごとに予め設定された生成タイミングによって生成された２つのパケット情報のうちのいずれか一方にのみ施してもよいし、双方に施してもよい。
【０１２５】
｛２｝動作コードを用いた中間動作認証
中間部２０は、動作検査値用メモリに記憶されている動作コードを用いて主制御部１０の処理動作の順序を検証する。中間部２０は、主制御部１０が生成する動作コードが、時系列的に一定の関係性を維持しながら生成されているかを検証するための情報として、動作コードの生成方法の種類（機能番号を用いた生成や認証回数を用いた生成など）のそれぞれに対応する動作コード期待値を所定の記憶領域に記憶している。機能番号を用いた動作コードに対応する動作コード期待値は、主制御部１０の動作順序が判別可能なように複数の動作コードが関連付けられて形成されたデータ、例えば、複数の動作コードが主制御部１０の動作順序を示す順番で配列されたデータテーブルなどである。
【０１２６】
また、認証回数を用いた動作コードに対応する動作コード用期待値は、認証回数を示す値である。この場合、中間部２０は、動作認証処理が行われる度に動作コード期待値を更新する。具体的には、中間部２０は、主制御部１０と同様に、動作認証処理が行われる度にＲＡＭ２０ｃに記憶された動作コード期待値（認証回数）の値に＋１して、新たな動作コード期待値（認証回数）として記憶する。以下に、動作コードが機能番号又は認証回数を用いて生成された場合の動作認証について説明するが、動作コードが何を用いて生成されているかについては、主制御部１０との間で予め決定されている。
【０１２７】
{２−１}動作コードが機能番号を用いて生成されている場合、動作検査値用メモリから読み出した複数の動作コードと、動作コード期待値としてのデータテーブルとを用いて、複数の動作コードが正規の順序で配列されているかを判断する照合処理を行う。照合処理の結果、複数の動作コードが正規の順序で配列されていた場合には、中間部２０は、動作コードを用いた中間動作認証に成功したと判断する。一方、複数の動作コードが正規の順序で配列されていなかった場合には、中間部２０は、動作コードでの中間動作認証に成功しなかったと判断する。
{２−２}動作コードが認証回数を用いて生成されている場合、動作検査値用メモリから読み出した複数の動作コードと、動作コード期待値としての認証回数とが一致するか否かを判断する照合処理を行う。照合処理の結果、動作コードと動作コード期待値とが一致した場合には、中間部２０は、動作コードを用いた中間動作認証に成功したと判断する。一方、動コードと動作コード期待値とが一致しなかった場合には、中間部２０は、動作コードでの中間動作認証に成功しなかったと判断する。そして中間部２０は、認証回数を示す動作コード期待値を更新する。
{２−３}上記{２−１}、{２−２}の処理で、動作コードを用いた中間動作認証に成功した場合、中間部２０は、成功を示す動作コードでの中間動作認証結果を生成し、動作コードを用いた中間動作認証に成功しなかった場合、中間部２０は、不成功を示す動作コードでの中間動作認証結果を生成する。
【０１２８】
なお、主制御部１０において同期コード及び動作コードに所定の演算が施されている場合、中間部２０は、主制御部１０の演算処理の内容に応じて所定の演算を行って同期コード及び動作コードを取得する。そして、この同期コード及び動作コードが、主制御部１０の動作が正しい順序の動作であることを表す動作検査値であった場合、主制御部１０の動作の継続性が確保されていると判断する。なお、中間部２０は、直接同期コード及び動作コードを受信した場合には、この同期コード及び動作コードを用いて主制御部１０の動作の継続性の認証を行う。以下、本実施の形態１では、動作コードが機能番号を用いて生成されるとして説明する。
【０１２９】
{３}中間動作認証結果の生成
中間部２０は、{１}の処理において得られた同期コードでの中間動作認証結果と、{２}の処理において得られた動作コードでの中間動作認証結果とに基づいて、今回の中間部２０での中間動作認証の結果を示す情報として、以下の{３−１}〜{３−４}のような４種類の中間動作認証結果を生成する。
{３−１}{１}の処理において得られた同期コードでの中間動作認証結果が同一を示し、{２}の処理において得られた動作コードでの中間動作認証結果が成功を示す中間動作認証結果。
{３−２}{１}の処理において得られた同期コードでの中間動作認証結果が非同一を示し、{２}の処理において得られた動作コードでの中間動作認証結果が成功を示す中間動作認証結果。
{３−３}{１}の処理において得られた同期コードでの中間動作認証結果が同一を示し、{２}の処理において得られた動作コードでの中間動作認証結果が不成功を示す中間動作認証結果。
{３−４}{１}の処理において得られた同期コードでの中間動作認証結果が非同一を示し、{２}の処理において得られた動作コードでの中間動作認証結果が不成功を示す中間動作認証結果。
なお、{３−３}及び{３−４}の中間動作認証結果は、{２}の処理において得られた動作コードでの中間動作認証結果がいずれも不成功であるため、{１}の処理で得られた結果に拘わらず、{３−３}及び{３−４}の替わりに一つの不成功を示す中間動作認証結果を生成することとしてもよい。
【０１３０】
（中間動作認証結果生成の計算例）
中間動作認証結果の生成の計算の一例を以下に示す。
中間部２０は、すべての値の出現確率が等しい一様乱数（uniform random numbers）により１バイト長の乱数（範囲「０ｘ００」〜「０ｘＦＦ」）を発生させる。例えば、一様乱数により乱数「０ｘ４Ｂ」を発生させたとする。中間部２０は、同一であったことを示す中間動作認証結果を生成する場合、一様乱数により発生させた乱数「０ｘ４Ｂ」の最下位ビットの値を「１」としたデータ「０ｘ４Ｂ」を中間動作認証結果として生成する。一方、中間部２０は、非同一であったことを示す中間動作認証結果を生成する場合、一様乱数により発生させた乱数「０ｘ４Ｂ」の最下位ビットの値を「０」としたデータ「０ｘ４Ａ」を中間動作認証結果として生成する。
【０１３１】
［４］中間認証情報の生成
中間部２０は、[２]の処理で抽出した個体認証データと、［３］の処理で得られた中間動作認証結果とを用いて、又はこれらに対して主制御部１０で認証データを生成した際と同様の暗号化処理を施したものを用いて、中間認証情報を生成する。中間部２０は、［３］の処理において動作コードでの中間動作認証が成功し、同期コードでの中間動作認証が同一を示す中間動作認証結果を生成した場合は、個体認証データと併せてその旨を示す中間認証情報を生成し、非同一を示す中間動作認証結果を生成した場合は、個体認証データと併せてその旨を示す中間認証情報を生成する。また、中間部２０は、［３］の処理において、動作コードでの中間動作認証が不成功を示す中間動作認証結果を生成した場合は、個体認証データと併せてその旨を示す中間認証情報を生成する。
【０１３２】
［５］中間認証情報付制御信号の生成
中間部２０は、中間認証情報を制御コマンドデータ及び付随データを含む通常の制御信号に付加し、中間認証情報付制御信号を生成する。
【０１３３】
［６］中間認証情報付制御信号の送信
中間部２０は、中間認証情報付制御信号を演出制御部２０３に送信するとともに、個体検査値用メモリ及び動作検査値用メモリに記憶されている各データを消去する。なお、これらの中間部２０の認証に関する処理（[１]〜[６]の処理）の詳細については、後述する。また、上記の中間動作認証期待値を予め記憶する手段、及び中間動作認証を実行する手段は、例えば、図１に示す期待値記憶手段２１、及び中間認証手段２２に対応させることができる。
【０１３４】
ここで、中間部２０が演出制御部２０３に送信する制御信号のデータフォーマットの一例について、図７に示す模式図を参照して説明する。主制御部１０から図６（１）に示す通常の制御信号３１０が送信された場合には、中間部２０は、図７（１）に示すように、制御コマンドデータ３０１及び付随データ３０２が含まれる通常の制御信号３１０をそのまま演出制御部２０３に送信する。一方、主制御部１０から、例えば、図６（２）に示す認証データ付制御信号３２０が送信された場合には、中間部２０は、動作認証データ３０４から得られた各同期コード及び各動作コードを用いて中間動作認証を行って中間動作認証結果を生成する。そして、中間部２０は、認証データ付制御信号３２０より抽出した個体認証データ３０３と中間動作認証結果とを併せて中間認証情報３０５を生成し、例えば、図７（２）に示す中間認証情報付制御信号３３０を生成し、演出制御部２０３に送信する。
【０１３５】
＜演出制御部＞
演出制御部２０３は、ＣＰＵ２０３ａと、ＲＯＭ２０３ｂと、ＲＡＭ２０３ｃと、ＶＲＡＭ２０３ｄ等を備えている。ＣＰＵ２０３ａは、主に遊技中における演出を制御し、ＲＯＭ２０３ｂに予め記憶されているプログラム（プログラムコード）に基づき、主制御部１０より中間部２０を介して送信される制御コマンドに基づいて演出の抽選及び演出処理を実行する。ＲＯＭ２０３ｂには、ＣＰＵ２０３ａが演出の抽選及び演出処理を実行するためのプログラムコードと、過去の演出パターンとが予め記憶されていることに加え、主制御部１０を構成するＲＯＭ１０ｂに予め記憶されている分割対象の所定のプログラムコードと同一のデータを用いて、複数の半群演算をそれぞれ行って得られた複数の個体認証期待値とが予め記憶されている。ＲＯＭ２０３ｂの記憶領域のうち、上記複数の個体認証期待値が予め記憶されている記憶領域は、例えば、図１に示す期待値記憶手段３１に対応させることができる。ＲＡＭ２０３ｃは、ＣＰＵ２０３ａが演出の抽選及び演出処理を実行する際に行う演算処理や認証に関する処理を実行する際に行う演算処理において、データ等のワークエリアとして機能する。ＶＲＡＭ２０３ｄには、図柄表示部１０４に表示させるための画像データが書き込まれる。
【０１３６】
この演出制御部２０３は、主制御部１０より中間部２０を介して送信される演出に係る制御コマンドを受信すると、この制御コマンドに基づいて抽選を行い、演出背景パターン、リーチ演出パターン、登場キャラクター等の演出を確定するとともに、当該確定した演出の制御を行う。
また、演出制御部２０３の出力側には、図柄表示部１０４が接続されており、抽選によって決定された内容のとおりに、図柄表示部１０４に、例えば、図柄変動の演出表示を展開する。
【０１３７】
そして通常、ＣＰＵ２０３ａがＲＯＭ２０３ｂに記憶されたプログラムを読み込んで、背景画像表示処理、図柄画像表示及び変動処理、キャラクター画像表示処理など各種画像処理を実行し、必要な画像データをＲＯＭ２０３ｂから読み出してＶＲＡＭ２０３ｄに書き込む。背景画像、図柄画像、キャラクター画像は、表示画面上において図柄表示部１０４に重畳表示される。
すなわち、図柄画像やキャラクター画像は背景画像よりも手前に見えるように表示される。このとき、同一位置に背景画像と図柄画像が重なる場合、Ｚバッファ法など周知の陰面消去法により各画像データのＺバッファのＺ値を参照することで、図柄画像を優先してＶＲＡＭ２０３ｄに記憶させる。
【０１３８】
また、演出制御部２０３は、以上概略説明した演出に関する処理の他に、中間認証情報付制御信号を受信した場合には、ＲＯＭ２０３ｂに予め記憶されているプログラムに基づき、以下の[１]〜[５]に示す認証に関する処理を実行する。演出制御部２０３の認証処理によって個体認証及び動作認証の両面から最終的な認証判断を行う。
【０１３９】
［１］制御信号の受信
演出制御部２０３は、中間部２０から送信された制御信号が、制御コマンドデータ及び付随データのみからなる通常の制御信号か、制御コマンドデータ及び付随データに加えて、個体認証データ及び中間動作認証結果を含む中間認証情報が付加された中間認証情報付制御信号かを判断する。受信した制御信号が通常の制御信号である場合、演出制御部２０３は、制御コマンドデータ及び付随データに基づいて上記演出に関する処理を行い、認証に関する処理を終了する。一方、受信した制御信号が中間認証情報付制御信号である場合、演出制御部２０３は、認証に関する処理を継続するとして下記[２]〜[５]の処理を実行する。
【０１４０】
［２］個体認証データ、中間動作認証結果の抽出
演出制御部２０３は、中間認証情報付制御信号から個体認証データ、及び中間動作認証結果を抽出する。次に、演出制御部２０３は、個体認証データ生成時に使用した暗号化処理に対応する復号化処理を抽出した個体認証データに施して個体検査値を抽出し、ＲＡＭ２０３ｃの所定の記憶領域である個体検査値用メモリに記憶する。また、演出制御部２０３は、抽出した中間動作認証結果を、ＲＡＭ２０３ｃの所定の記憶領域である動作検査値用メモリに記憶する。なお、中間動作認証結果に中間部２０において暗号化処理が施されている場合、演出制御部２０３は、施された暗号化処理に対応する復号化処理を中間動作認証結果に施す。
【０１４１】
［３］個体認証
演出制御部２０３は、個体検査値用メモリ内に記憶されているすべての個体検査値に対して、以下に示す順序で半群演算を行うことによって、主制御部１０の個体認証処理を行う。
｛１｝演出制御部２０３は、上記個体検査値用メモリ内に記憶されているすべての個体検査値を用いて半群演算（以下、結合処理という）を行う。
｛２｝演出制御部２０３は、予め記憶されている個体認証期待値をＲＯＭ２０３ｂの所定の記憶領域から読み出す。
【０１４２】
｛３｝演出制御部２０３は、上記｛１｝の処理における演算結果（以下、結合結果という）と、上記｛２｝の処理で読み出した個体認証期待値が一致するか否か判断する。
演出制御部２０３は、結合結果と個体認証期待値が一致した場合には、個体認証に成功したと判断する。
半群演算は上記結合法則を満たしているため、主制御部１０のＲＯＭ１０ｂに予め記憶されている所定のプログラムコードと同一のデータのすべてに対して半群演算を行って得られた結果である個体認証期待値と、所定のプログラムコードから生成された分割数分の個体検査値に対して半群演算を行って得られた結合結果とは一致する。このとき、すなわち主制御部１０に対する個体認証が成功したときは、結合処理の対象となった個体検査値の数（以下、結合数という）と、分割数とは当然に一致する。これにより、演出制御部２０３は、主制御部１０の正当性を認証する。
一方、演出制御部２０３は、結合結果と個体認証期待値が一致しなかった場合には、個体認証に成功しなかったと判断する。
【０１４３】
｛４｝｛３｝の処理で個体認証に成功した場合、演出制御部２０３は、個体認証が成功したことを示す個体認証結果を生成する。
｛５｝｛３｝の処理で個体認証が成功しなかった場合、演出制御部２０３は、中間部２０から受信した個体認証データの数が所定数以上か否かを判断する。所定数は、今回の結合数（分割数）以上かつプログラムコード記憶領域４００（図４参照）に記憶されているプログラムコードを分割可能な数（最大分割数）以下の範囲内の任意の数である。
｛５−１｝受信した個体認証データの数が所定数未満の場合、演出制御部２０３は、まだ個体認証が行える段階ではないと判断して個体認証結果に換えて、認証中途データとして、例えば、個体認証結果のデータ長と同一のデータ長を有する任意の値（例えば、オール０又はオール１）を生成する。
｛５−２｝受信した個体認証データの数が所定数以上の場合、演出制御部２０３は、個体認証が成功しなかったと判断して、個体認証が成功しなかったことを示す個体認証結果を生成する。
【０１４４】
（個体認証期待値生成の計算例）
個体認証期待値の生成方法について、図４を参照して説明する。
演出制御部２０３は、プログラムコード記憶領域４００に記憶された分割対象の所定のプログラムコードと同一のデータ全体に対して半群演算を行った値を個体認証期待値として保持している。例えば、方式Ａの場合の個体認証期待値は「０ｘ０１」〜「０ｘ０Ｃ」の和である「０ｘ４Ｅ」となる。また、方式Ｂの場合の個体認証期待値は「０ｘ０１」〜「０ｘ０Ｃ」の排他的論理和である「０ｘ０Ｃ」となる。演出制御部２０３では、主制御部１０による個体検査値生成方法である半群演算の数と同数の個体認証期待値を保持している。
【０１４５】
個体認証期待値は、例えば、製造時などに予め演出制御部２０３を構成するＲＯＭ２０３ｂの所定の記憶領域に記憶させてもよいが、これに限定されず他の構成部から演出制御部２０３に送信することとしてもよい。他の構成部としては、例えば、賞球制御部２０４や個体認証期待値を生成するための専用の処理部（以下、個体認証期待値算出部という）などがある。なお、個体認証期待値算出部は、予め記憶されている個体認証期待値を演出制御部２０３に送信してもよい。また、外部接続用インターフェイス（図示略）を介して、外部の機器から演出制御部２０３や個体認証期待値算出部に個体認証期待値を算出するために必要な係数などを送信してもよい。このように、演出制御部２０３を構成するＲＯＭ２０３ｂの所定の記憶領域に、予め個体認証期待値を記憶させずに、他の構成部から取得することとすれば、個体検査値を事後的に変更することが可能となる。このことは、中間動作認証期待値や動作認証期待値にも同様に当てはまる。
【０１４６】
［４］動作認証
演出制御部２０３は、動作検査値用メモリ内に記憶されている中間動作認証結果や、個体認証が成功した際の結合処理の対象となった個体検査値の数（結合数）を用いて、パチンコ遊技機１の動作認証を行う。動作検査値用メモリに記憶されている中間動作認証結果には、同期コードでの中間動作認証結果と、動作コードでの中間動作結果が含まれている。なお、演出制御部２０３は、動作認証に先立って結合数を特定しておく。また、同期コードでの中間動作認証結果を用いた動作認証と動作コードでの中間動作認証結果を用いた動作認証の認証順序は任意である。
【０１４７】
｛１｝動作コードでの中間動作認証結果を用いた動作認証
｛１−１｝演出制御部２０３は、上記動作検査値用メモリに記憶されている動作コードでの中間動作認証結果を読み出し、中間部２０での動作コードを用いた中間動作認証が成功したか否かを判断する。
｛１−２｝｛１−１｝の処理で読み出した中間動作認証果が成功を示す場合、演出制御部２０３は、以下の｛２｝の同期コードでの中間動作認証結果を用いた動作認証を行う。
｛１−３｝｛１−１｝の処理で読み出した中間動作認証果が不成功を示す場合、演出制御部２０３は、今回の動作認証処理では認証に成功しなかったと判断し、動作認証に成功しなかったことを示す動作認証結果を生成し、｛２｝の処理は行わず次の［５］に示す認証結果に基づく処理に移行する。
【０１４８】
｛２｝同期コードでの中間動作認証結果を用いた動作認証
{２−１}演出制御部２０３は、上記動作検査値用メモリに記憶されている同期コードでの中間動作認証結果を読み出す。本実施の形態１では、初回の動作認証では、パケット情報の差分値が示す情報と同期コード期待値が同一を示す中間動作認証結果が読み出されることとなる。
{２−２}演出制御部２０３は、ＲＯＭ２０３ｂの所定の記憶領域から、今回の動作認証に用いる動作認証期待値を読み出す。動作認証期待値は、今回の認証に関する処理において、主制御部１０で生成したと認識するパケット情報の種類に対応したパケット情報同士の差分値が示す情報と、これに対応した同期コード期待値とが同一か否かを予測した情報であって、同一又は非同一を示す情報として演出制御部２０３に予め記憶されている。本実施の形態１では、初回に読み出す動作認証期待値は、同一を示す情報と予め設定しておく。
【０１４９】
{２−３}演出制御部２０３は、{２−１}の処理で読みだした中間動作認証結果と、{２−２}の処理で読み出した動作認証期待値とが一致するか否かを判断する。
{２−４}演出制御部２０３は、中間動作認証結果と動作認証期待値が一致する場合は、動作認証に成功したと判断し、中間動作認証結果と動作認証期待値が一致しない場合は、動作認証に成功しなかったと判断する。本実施の形態１では、中間部２０より送信された初回の中間動作認証結果は、同一を示すものであり、演出制御部２０３にて読み出された初回の動作認証期待値は、同一を示す情報であるため、動作認証は成功したと判断されることとなる。
【０１５０】
{２−５}｛２−４｝の処理で動作認証に成功した場合、演出制御部２０３は、動作認証に成功したことを示す動作認証結果を生成するともに、動作検査値用メモリに記憶されている全てのデータを消去する。そして、演出制御部２０３は、[３]−{３}の処理で判明した結合数に基づく所定の取り決めに従って、次回に読み出す動作認証期待値の種類を選択する。所定の取り決めとは、主制御部１０が同期コードを生成するために用いるパケット情報の種類を選択したものと同一である。すなわち、本実施の形態１では、上記選択例１を採用している。選択例１の場合、中間部２０は、個体認証が成功した際の結合数を、主制御部１０との間で予め決められている特定値Ｘ（ここではＸ＝３）で除算した際の余り値に基づいて、動作認証期待値の種類を特定する。例えば、図５に示すように、特定値Ｘ＝３、結合数＝３であれば、余り値＝０となり、非同一を選択する。また、｛２−４｝の処理で動作認証に成功しなかった場合、演出制御部２０３は、動作認証に成功しなかったことを示す動作認証結果を生成する。
【０１５１】
[５]認証結果に基づく処理
演出制御部２０３は、[３]の処理である個体認証で得られた個体認証結果、及び[４]−｛１｝及び［４］−｛２｝の処理である動作認証で得られた動作認証結果を用いて、パチンコ遊技機１の正規性を個体認証と動作認証の両面から認証し、最終的な認証判断を行う。[３]の処理である個体認証で得られた個体認証結果、及び[４]−｛１｝及び［４］−｛２｝の処理である動作認証で得られた動作認証結果のいずれもが、認証成功を示す結果であった場合、演出制御部２０３は、パチンコ遊技機１の正規性を認証することに成功したと判断する。そして、演出制御部２０３は、中間認証情報付制御信号に含まれた制御コマンドデータ及び付随データに基づく処理を実行するとともに、個体検査値用メモリ及び動作検査値用メモリに記憶されている各データを消去し、認証に関する処理を終了する。
一方、[３]の処理である個体認証で得られた個体認証結果、又は[４]−｛１｝及び［４］−｛２｝の処理である動作認証で得られた動作認証結果のいずれかが、認証不成功を示す結果であった場合、パチンコ遊技機１の正規性を認証することに成功しなかったと判断する。そして、演出制御部２０３は、制御コマンドデータ及び付随データを破棄するとともに、不正行為を検知したとする報知等の処理を行い、個体検査値用メモリ及び動作検査値用メモリに記憶されている各データを消去し、認証に関する処理を終了する。
【０１５２】
演出制御部２０３の入力側には、上記チャンスボタン１１７が操作されたことを検出するチャンスボタン検出部２２０が接続されている。また演出制御部２０３の出力側には、スピーカ２７７が接続されており、演出制御部２０３において確定したとおりに、音声が出力されるようにしている。
また演出制御部２０３の出力側には、ランプ制御部２０５を備えている。
【０１５３】
＜その他の制御部＞
ランプ制御部２０５は、演出制御部２０３より送信された制御コマンドに基づきＲＯＭ２０５ｂから読み込んだプログラムを作動させて演出処理を実行するＣＰＵ２０５ａと、上記プログラム及び各種演出パターンデータを記憶するＲＯＭ２０５ｂと、ＣＰＵ２０５ａの演算処理時におけるデータのワークエリアとして機能するＲＡＭ２０５ｃ等を備えている。ランプ制御部２０５は、ランプ２６２、演出ライト１１１ａ及び１１１ｂ、演出役物作動装置２５４を制御する。演出役物作動装置２５４は、演出役物１１５等の、演出用の役物を作動させるモータやソレノイド等によって構成されている。
【０１５４】
ランプ制御部２０５は、遊技盤１０１や台枠等に設けられている各種ランプ２６２に対する点灯制御等を行い、また、演出ライト１１１ａ及び１１１ｂをそれぞれ構成する複数のライト１１２に対する点灯制御等を行い、各ライト１１２からの光の照射方向を変更するためにモータに対する駆動制御等を行う。
また、ランプ制御部２０５は、演出制御部２０３より送信された制御コマンドに基づき、演出役物１１５を動作させる演出役物作動装置２５４のソレノイドや、瞼部１１６を動作させる演出役物作動装置２５４のモータに対する駆動制御等を行う。
【０１５５】
賞球制御部２０４は、主制御部１０と送受信可能に接続されている。賞球制御部２０４は、ＲＯＭ２０４ｂに記憶されたプログラムに基づき、賞球制御を行う。この賞球制御部２０４は、ＲＯＭ２０４ｂに記憶されたプログラムを作動して賞球制御の処理を実行するＣＰＵ２０４ａと、ＣＰＵ２０４ａの演算処理時におけるデータのワークエリアとして機能するＲＡＭ２０４ｃ等を備えている。
【０１５６】
賞球制御部２０４は、接続される払出部２９１に対して、各入球口（第１始動口１０５、第２始動口１２０、普通入賞口１０７、第１大入賞口１０９ｃ、第２大入賞口１２９ｃ）に入球した遊技球に対応した賞球数を払い出す制御を行う。また、賞球制御部２０４は、発射部２９２に対する遊技球の発射の操作を検出し、遊技球の発射を制御する。発射部２９２は、遊技のための遊技球を発射するものであり、遊技者による遊技操作を検出するセンサ（図示略）と、遊技球を発射させるソレノイド等（図示略）を備えている。賞球制御部２０４は、発射部２９２のセンサにより遊技操作を検出すると、検出された遊技操作に対応してソレノイド等を駆動させて遊技球を間欠的に発射させ、遊技盤１０１の遊技領域１０３に遊技球を送り出す。
払出部２９１は、遊技球の貯留部から所定数を払い出すためのモータ等からなる。
【０１５７】
上記構成の主制御部１０と、中間部２０と、演出制御部２０３と、賞球制御部２０４と、ランプ制御部２０５とは、それぞれ異なるプリント基板（例えば、主制御部１０は主制御基板、中間部２０は中間基板、演出制御部２０３は演出制御基板、賞球制御部２０４は賞球制御基板、ランプ制御部２０５はランプ制御基板）に搭載されている。これらのうち、中間基板、演出制御基板、賞球制御基板及びランプ制御基板の総称として、「周辺基板」を用いる。なお、例えば、中間部２０は、演出制御部２０３と同一のプリント基板上に搭載することもできる。また、賞球制御部２０４は、主制御部１０と同一のプリント基板上に搭載することもできる。
【０１５８】
次に、上記構成のパチンコ遊技機１の動作について、図面を参照して説明する。なお、以下の説明において、「制御コマンドを送信する」とは、「当該制御コマンドを示すデータ（制御コマンドデータ）を含む制御信号を送信する」という意味であり、例えば、図６に示す個体認証データや動作認証データや付随データの有無は考慮しないものとする。
【０１５９】
主制御部１０による中間部２０及び賞球制御部２０４への制御コマンド送信を含む処理について、図８及び図９に示すフローチャートを参照して説明する。
まず、主制御部１０は、パチンコ遊技機１の電源投入に伴う初期設定処理を実行（ステップＳ１）した後、ステップＳ２へ進む。なお、パチンコ遊技機１に電源が投入された際には、周辺基板が主制御基板から受信する制御コマンドを確実に取り込むために、周辺基板が立ち上がってＲＡＭ領域の初期化処理を行い、待機状態となった後、主制御基板が立ち上がるように構成されている。主制御部１０は、初期設定処理として、例えば、スタックポインタに予め決められた所定値を設定するとともに、中間部２０、演出制御部２０３及び賞球制御部２０４が待機状態になることを待つために、所定時間（例えば、約１秒間）だけ待機する。
【０１６０】
ステップＳ２では、主制御部１０は、中間部２０及び賞球制御部２０４に電源投入コマンドを送信した後、ステップＳ３へ進む。電源投入コマンドを受信すると、中間部２０は、当該電源投入コマンドを演出制御部２０３に送信する。電源投入コマンドを受信すると、演出制御部２０３は、図柄表示部１０４やランプ制御部２０５のそれぞれに対して電源投入時の演出用の制御コマンド、具体的には、遊技機が非遊技状態における客待ちのデモ画面を表示するための客待ちデモコマンド、あるいは、ランプの点灯等を行うための制御コマンドを送信する。
【０１６１】
なお、電源投入コマンドは、電源投入後に電源投入に伴う処理を実行させるための制御コマンドを示し、各制御基板が立ち上がった後に、主制御部１０が中間部２０、中間部２０を介して演出制御部２０３、及び賞球制御部２０４に送信する制御コマンドであって、電源投入後の立ち上げ時における遊技を制御するための初期制御情報、例えば、制御モード、バックアップデータ等を送信するための制御コマンド、あるいは初期演出表示の制御を行うための制御コマンド、例えば、客待ちデモ等の各種のデモ表示を開始させるための制御コマンドである。また、この電源投入コマンドは遊技機のリセットボタンを押圧したときに実行される、上記制御モード、バックアップデータ等を送信するための制御コマンドも含む。
【０１６２】
ステップＳ３では、主制御部１０は、ＲＡＭ１０ｃに記憶されている未抽選入賞回数データを参照して、未抽選入賞回数が０回であるか否かを判断する。ここで、未抽選入賞回数とは、第１始動口検出部２２１又は第２始動口検出部２２５で検出された遊技球の数（入賞回数）から、当該遊技球の入球に対応する抽選が行われた回数（既抽選回数）を減じた数である。ステップＳ３の判断結果が「ＮＯ」の場合、すなわち、未抽選入賞回数が０回でない場合には、主制御部１０は、後述するステップＳ１０へ進む。一方、ステップＳ３の判断結果が「ＹＥＳ」の場合、すなわち、未抽選入賞回数が０回である場合には、主制御部１０は、ステップＳ４へ進む。
【０１６３】
ステップＳ４では、主制御部１０は、電源投入時のデモが開始されてから経過した時間を計測した後、ステップＳ５へ進む。ステップＳ５では、主制御部１０は、電源投入時のデモが開始されてから所定時間が経過したか否かを判断する。ステップＳ５の判断結果が「ＹＥＳ」の場合、すなわち、電源投入時のデモが開始されてから所定時間が経過した場合には、主制御部１０は、ステップＳ６へ進む。なお、上記電源投入時のデモを開始するための制御コマンドは、客待ちデモコマンドとしてもよい。
【０１６４】
ステップＳ６では、主制御部１０は、中間部２０に客待ちデモコマンドを送信した後、ステップＳ７へ進む。客待ちデモコマンドを受信すると、中間部２０は、当該客待ちデモコマンドを演出制御部２０３に送信する。客待ちデモコマンドを受信すると、演出制御部２０３は、図柄表示部１０４やランプ制御部２０５のそれぞれに対して客待ちデモ用の制御信号を送信する。
【０１６５】
一方、ステップＳ５の判断結果が「ＮＯ」の場合、すなわち、電源投入時のデモ（又は客待ちデモ）が開始されてから所定時間が経過していない場合には、主制御部１０は、ステップＳ７へ進む。ステップＳ７では、主制御部１０は、第１始動口検出部２２１で第１始動口１０５への遊技球の入球が検出されたか又は第２始動口検出部２２５で第２始動口１２０への遊技球の入球が検出されたか否かを判断する。ステップＳ７の判断結果が「ＹＥＳ」の場合、すなわち、第１始動口検出部２２１で第１始動口１０５への遊技球の入球が検出されたか又は第２始動口検出部２２５で第２始動口１２０への遊技球の入球が検出された場合には、主制御部は、ステップＳ８へ進む。
【０１６６】
一方、ステップＳ７の判断結果が「ＮＯ」の場合、すなわち、第１始動口検出部２２１で第１始動口１０５への遊技球の入球が検出されず、かつ、第２始動口検出部２２５で第２始動口１２０への遊技球の入球が検出されない場合には、主制御部は、ステップＳ４へ戻り、ステップＳ４以降の処理を繰り返す。
【０１６７】
ステップＳ８では、主制御部１０は、客待ちデモ（又は電源投入時のデモ）が開始されてから計測していた時間をクリアした後、ステップＳ９へ進む。ステップＳ９では、主制御部１０は、未抽選入賞回数に１を加算する。なお、第１始動口検出部２２１又は第２始動口検出部２２５で複数の遊技球の入球が検出された場合、このステップＳ９では、主制御部１０は、未抽選入賞回数に入球に相当する数を加算する。そして、主制御部１０は、ステップＳ１０へ進む。ステップＳ１０では、主制御部１０は、予め用意された乱数カウンタ（例えば、０〜２５０をカウント）から１つの大当たり判定用乱数を無作為に取得した後、ステップＳ１１へ進む。ステップＳ１１では、主制御部１０は、未抽選入賞回数から１を減算した後、ステップＳ１２へ進む。
【０１６８】
ステップＳ１２では、主制御部１０は、例えば、予めＲＯＭ１０ｂに記憶されている大当り判定データテーブルを参照して、ステップＳ１０の処理で取得した大当たり判定用乱数が、この大当り判定データテーブルに記憶されている大当たりの乱数値であるか否かを判断する。また、ステップＳ１２では、主制御部１０は、取得した大当たり判定用乱数がはずれの乱数の場合には、例えば、大当り判定データテーブルを参照して、さらに「リーチ有りのはずれ」又は「リーチ無しのはずれ」であるかについても判断する。ステップＳ１２の判断結果が「ＹＥＳ」の場合、すなわち、ステップＳ１０で取得した大当たり判定用乱数が予め定められた大当たり乱数である場合には、主制御部１０は、ステップＳ１３へ進む。
【０１６９】
ステップＳ１３では、主制御部１０は、中間部２０に、例えば、大当たりの種別コード（通常当りか確率変動当りか等）、リーチ有り、図柄変動時間、等の制御データ（付随データ）を含む大当たりリーチコマンド（図柄変動コマンド）を送信した後、ステップＳ１４へ進む。大当たりリーチコマンド（図柄変動コマンド）を受信すると、中間部２０は、当該大当たりリーチコマンド（図柄変動コマンド）を演出制御部２０３に送信する。ステップＳ１４では、主制御部１０は、図柄変動時間が経過したか否かを判断する。ステップＳ１４の判断結果が「ＮＯ」の場合、すなわち、図柄変動時間が経過していない場合には、主制御部１０は、同判断を繰り返す。そして、図柄変動時間が経過すると、ステップＳ１４の判断結果が「ＹＥＳ」となり、主制御部１０は、ステップＳ１５へ進む。
【０１７０】
ステップＳ１５では、主制御部１０は、中間部２０に図柄停止コマンドを送信した後、ステップＳ１６へ進む。図柄停止コマンドを受信すると、中間部２０は、当該図柄停止コマンドを演出制御部２０３に送信する。ステップＳ１６では、主制御部１０は、中間部２０に大当たり開始コマンドを送信した後、ステップＳ１７へ進む。大当たり開始コマンドを受信すると、中間部２０は、当該大当たり開始コマンドを演出制御部２０３に送信する。ステップＳ１７では、主制御部１０は、中間部２０に大当たり中の各ラウンドに対応するコマンド（大当たりコマンド）を順次送信し、すべてのラウンドの大当たりコマンドの送信を終了した後、ステップＳ１８へ進む。各ラウンドに対応する大当たりコマンドを順次受信すると、中間部２０は、各ラウンドに対応する大当たりコマンドを演出制御部２０３に順次送信する。ステップＳ１８では、主制御部１０は、中間部２０に大当たり終了コマンドを送信した後、ステップＳ２２へ進む。大当たり終了コマンドを受信すると、中間部２０は、当該大当たり終了コマンドを演出制御部２０３に送信する。
【０１７１】
一方、ステップＳ１２の判断結果が「ＮＯ」の場合、すなわち、ステップＳ１０の処理で取得した大当たり判定用乱数が予め定められた大当たり乱数でない場合には、主制御部１０は、ステップＳ１９へ進む。ステップＳ１９では、主制御部１０は、「リーチ有りのはずれ」の場合には「はずれリーチコマンド（図柄変動コマンド）」を、「リーチ無しのはずれ」の場合には「はずれコマンド（図柄変動コマンド）」を中間部２０に送信した後、ステップＳ２０へ進む。はずれリーチコマンド又ははずれコマンドを受信すると、中間部２０は、当該制御コマンド（図柄変動コマンド）を演出制御部２０３に送信する。
【０１７２】
ステップＳ２０では、主制御部１０は、図柄変動時間が経過したか否かを判断する。ステップＳ２０の判断結果が「ＮＯ」の場合、すなわち、図柄変動時間が経過していない場合には、主制御部１０は、同判断を繰り返す。そして、図柄変動時間が経過すると、ステップＳ２０の判断結果が「ＹＥＳ」となり、主制御部１０は、ステップＳ２１へ進む。ステップＳ２１では、主制御部１０は、中間部２０に図柄停止コマンドを送信した後、ステップＳ２２へ進む。図柄停止コマンドを受信すると、中間部２０は、当該図柄停止コマンドを演出制御部２０３に送信する。
【０１７３】
ステップＳ２２では、主制御部１０は、パチンコ遊技機１の電源がオフにされたか否かを判断する。ステップＳ２２の判断結果が「ＮＯ」の場合、すなわち、パチンコ遊技機１の電源がオフにされていない場合には、主制御部１０は、図８に示すステップＳ３へ戻り、ステップＳ３以降の処理を繰り返す。
【０１７４】
一方、ステップＳ２２の判断結果が「ＹＥＳ」の場合、すなわち、パチンコ遊技機１の電源がオフにされた場合には、主制御部１０は、ステップＳ２３へ進む。ステップＳ２３では、主制御部１０は、中間部２０に終了処理コマンドを送信した後、一連の処理を終了する。終了処理コマンドを受信すると、中間部２０は、当該終了処理コマンドを演出制御部２０３に送信する。
【０１７５】
ここで、図１０に、大当たり関連コマンド（大当たりリーチコマンド、大当たり開始コマンド、大当たりコマンド、大当たり終了コマンド）の送信タイミングの一例であるタイミングチャートを示す。図１０（１）に示す大当たりリーチコマンドは、ランダムに送信される。また、図１０（２）に示す大当たり開始コマンドは、実際に大当たりが発生した場合に、大当たり状態に移行する際に１度だけ送信される。さらに、図１０（３）に示す大当たりコマンドは、大当たり状態に移行した後、ラウンドごとに継続的に送信される。また、図１０（４）に示す大当たり終了コマンドは、大当たり状態のすべてのラウンドが終了し、通常の状態に移行する際に１度だけ送信される。
【０１７６】
次に、演出制御部２０３による処理について説明する。以下では、図柄変動時（大当たりリーチコマンド（図９に示すステップＳ１３参照）又は、はずれリーチコマンド（図９に示すステップＳ１９参照）を受信した場合）及び、大当たり時の演出制御部２０３の処理について説明する。
【０１７７】
まず、演出制御部２０３による図柄変動処理について、図１１に示すフローチャートを参照して説明する。
演出制御部２０３は、主制御部１０から中間部２０を介して、図柄変動コマンドである大当たりリーチコマンド（図９に示すステップＳ１３参照）又ははずれリーチコマンド（図９に示すステップＳ１９参照）のいずれかを受信したか否かを判断する（図１１のステップＳ３１参照）。この判断結果が「ＮＯ」の場合には、演出制御部２０３は、同判断を繰り返す。そして、大当たりリーチコマンド又ははずれリーチコマンドのいずれかを受信すると、ステップＳ３１の判断結果が「ＹＥＳ」となり、演出制御部２０３は、ステップＳ３２へ進む。
【０１７８】
ステップＳ３２では、演出制御部２０３は、予め用意された乱数（例えば、０〜２５０）から１つの変動演出選択用乱数を無作為に取得した後、ステップＳ３３へ進む。ステップＳ３３では、演出制御部２０３は、ステップＳ３２の処理で取得した変動演出選択用乱数に基づいて変動演出の種類を選択した後、ステップＳ３４へ進む。
【０１７９】
ステップＳ３４では、演出制御部２０３は、図柄表示部１０４やランプ制御部２０５に変動演出別の演出開始コマンドを送信した後、ステップＳ３５へ進む。ステップＳ３５では、演出制御部２０３は、変動演出の演出時間が経過したか否かを判断する。ステップＳ３５の判断結果が「ＮＯ」の場合、すなわち、変動演出の演出時間が経過していない場合には、演出制御部２０３は、ステップＳ３６へ進む。
【０１８０】
ステップＳ３６では、演出制御部２０３は、主制御部１０から中間部２０を介して図柄停止コマンド（図９に示すステップＳ１５及びＳ２１参照）を受信したか否かを判断する。ステップＳ３６の判断結果が「ＮＯ」の場合、すなわち、図柄停止コマンドを受信していない場合には、演出制御部２０３は、ステップＳ３５へ戻り、ステップＳ３５以降の処理を繰り返す。
【０１８１】
一方、ステップＳ３６の判断結果が「ＹＥＳ」の場合、すなわち、図柄停止コマンドを受信した場合には、演出制御部２０３は、ステップＳ３７へ進む。また、ステップＳ３５の判断結果が「ＹＥＳ」の場合、すなわち、変動演出の演出時間が経過した場合にも、演出制御部２０３は、ステップＳ３７へ進む。ステップＳ３７では、演出制御部２０３は、図柄表示部１０４やランプ制御部２０５に演出停止コマンドを送信した後、一連の処理を終了する。
【０１８２】
次に、演出制御部２０３による大当たり時の処理について、図１２に示すフローチャートを参照して説明する。
まず、演出制御部２０３は、主制御部１０から中間部２０を介して大当たり開始コマンド（図９に示すステップＳ１６参照）を受信したか否かを判断する（図１２のステップＳ４１参照）。この判断結果が「ＮＯ」の場合には、演出制御部２０３は、同判断を繰り返す。そして、大当たり開始コマンドを受信すると、ステップＳ４１の判断結果が「ＹＥＳ」となり、演出制御部２０３は、ステップＳ４２へ進む。
【０１８３】
ステップＳ４２では、演出制御部２０３は、図柄表示部１０４やランプ制御部２０５に大当たり開始処理コマンドを送信した後、ステップＳ４３へ進む。ステップＳ４３では、演出制御部２０３は、主制御部１０から中間部２０を介してラウンド別の大当たりコマンド（図９に示すステップＳ１７参照）を受信したか否かを判断する。この判断結果が「ＮＯ」の場合には、演出制御部２０３は、同判断を繰り返す。そして、ラウンド別の大当たりコマンドを受信すると、ステップＳ４３の判断結果が「ＹＥＳ」となり、演出制御部２０３は、ステップＳ４４へ進む。
【０１８４】
ステップＳ４４では、演出制御部２０３は、図柄表示部１０４やランプ制御部２０５に受信したラウンド別の大当たりコマンドに対応するラウンド別処理コマンドを送信した後、ステップＳ４５へ進む。ステップＳ４５では、主制御部１０から中間部２０を介して大当たり終了コマンド（図９に示すステップＳ１８参照）を受信したか否かを判断する。この判断結果が「ＮＯ」の場合には、演出制御部２０３は、同判断を繰り返す。そして、大当たり終了コマンドを受信すると、ステップＳ４５の判断結果が「ＹＥＳ」となり、演出制御部２０３は、ステップＳ４６へ進む。ステップＳ４６では、演出制御部２０３は、図柄表示部１０４やランプ制御部２０５に、受信した大当たり終了コマンドを送信した後、一連の処理を終了する。
【０１８５】
次に、ランプ制御部２０５によるランプ制御処理について説明する。ここでは、演出制御部２０３から図柄変動コマンドを受信した場合（図柄変動時）の処理について、図１３に示すフローチャートを参照して説明する。
まず、ランプ制御部２０５は、演出制御部２０３から演出開始コマンド（図１１に示すステップＳ３４参照）を受信したか否かを判断する（図１３のステップＳ５１参照）。この判断結果が「ＮＯ」の場合には、ランプ制御部２０５は、同判断を繰り返す。そして、演出開始コマンドを受信すると、ステップＳ５１の判断結果が「ＹＥＳ」となり、ランプ制御部２０５は、ステップＳ５２へ進む。
【０１８６】
ステップＳ５２では、ランプ制御部２０５は、例えば、ＲＯＭ２０５ｂから予めコマンド別に記憶されているデータを読み出した後、ステップＳ５３へ進む。ステップＳ５３では、ランプ制御部２０５は、コマンド別の選択ルーチンを実行した後、ステップＳ５４へ進む。ステップＳ５４では、ランプ制御部２０５は、ランプデータをセットした後、ステップＳ５５へ進む。
【０１８７】
ステップＳ５５では、ランプ制御部２０５は、ランプ２６２にランプデータを出力した後、ステップＳ５６へ進む。これにより、ランプ２６２は、ランプ制御部２０５から出力されたランプデータに基づいて、点灯又は消灯する。ステップＳ５６では、ランプ制御部２０５は、演出制御部２０３から演出停止コマンド（図１１に示すステップＳ３７参照）を受信したか否かを判断する。この判断結果が「ＮＯ」の場合には、ランプ制御部２０５は、ステップＳ５５へ戻り、ステップＳ５５以降の処理を繰り返す。一方、ステップＳ５６の判断結果が「ＹＥＳ」の場合、すなわち、演出制御部２０３から演出停止コマンドを受信した場合には、ランプ制御部２０５は、ステップＳ５７へ進む。ステップＳ５７では、ランプ制御部２０５は、ランプデータの出力を停止した後、一連の処理を終了する。
【０１８８】
以上説明したように、演出制御部２０３及びランプ制御部２０５は、主制御部１０から送信される制御コマンドに基づいて各種の処理を行っている。賞球制御部２０４についても同様である。以下、演出制御部２０３、賞球制御部２０４及びランプ制御部２０５の総称として、「周辺部」を用いる。従って、図１に示す本実施の形態１に係るパチンコ遊技機１の周辺部３０は、演出制御部２０３の機能を有する演出制御手段、賞球制御部２０４の機能を有する賞球制御手段及びランプ制御部２０５の機能を有するランプ制御手段を備えている。
【０１８９】
ところで、上記のように、遊技機に対し行われる不正行為や、雑音等に起因する遊技機の誤動作により、遊技とは無関係に遊技媒体が払い出され遊技店が多大な損害を被ってしまうことがある。そこで、上記不正行為及び雑音等に起因する遊技機の誤動作を防止するため、本実施の形態１に係るパチンコ遊技機１では、主制御部１０と演出制御部２０３との間に中間部２０を設けている。
そして、本実施の形態１においては、主制御部１０は、所定のプログラムコードを用いて分割数分の個体認証データを生成するとともに動作認証データを生成し、これら個体認証データ及び動作認証データを制御コマンドに付加して中間部２０に送信する。
【０１９０】
中間部２０は、動作認証データから各動作検査値（同期コード及び動作コード）を用いて中間動作認証を行い、得られた中間動作認証結果と主制御部１０より送信された個体認証データとに対して暗号化処理を施して得た中間認証情報を演出制御部２０３に送信する。そして、演出制御部２０３は、中間部２０から受信した中間認証情報から得られた中間動作認証結果を用いて動作認証を行うとともに個体認証データを用いて個体認証を行って最終的な認証結果を得る。このように、中間部２０及び演出制御部２０３を認証者、主制御部１０を被認証者とした認証処理を行い、パチンコ遊技機１の正規性を認証する。この認証処理によって、上記不正行為を検知して、パチンコ遊技機１への不正を防止することができるとともに、外部から加えられる電気的な雑音や機械的な振動等に起因するパチンコ遊技機１の誤動作を低減することができる。
【０１９１】
以下、主制御部１０と中間部２０及び演出制御部２０３との間で行う認証に関する処理について説明する。以下、主制御部１０及び中間部２０の認証に関する処理について、図１４及び図１５に示すフローチャートを参照して説明するが、主制御部１０と賞球制御部２０４との間の認証に関する処理も同様の手順で行われる。
【０１９２】
図１４は、主制御部１０による認証に関する処理の手順の一例を示すフローチャートである。主制御部１０は通常の制御信号の送信を行いながら（ステップＳ６１）、認証データの送信タイミングであるか否かを判断する（ステップＳ６２）。この判断結果がＮＯの場合には、主制御部１０は、ステップＳ６１に戻り、再びステップＳ６２の判断を行う。認証データの送信タイミングになると、すなわち、出力する制御コマンドが所定の制御コマンドとなると、ステップＳ６２の判断結果が「ＹＥＳ」となり、主制御部１０はステップＳ６３に進み分割数を決定する。分割数の決定方法は任意である。また、分割数は認証データの送信タイミングとなる前に決定されてもよい。
【０１９３】
次に、主制御部１０は、決定した分割数で所定のプログラムコードを分割し、分割された各データそれぞれに対して半群演算を行って個体検査値を算出し（ステップＳ６４）、個体検査値に対して暗号化処理を施して個体認証データを生成する（ステップＳ６５）。この処理により、分割数分の個体検査値及び個体認証データが生成される。なお、個体検査値の生成は、認証データの送信タイミングとなる前に行っておいてもよい。
【０１９４】
次に、主制御部１０は、同期コードの生成に用いるパケット情報の種類を選択し、選択したパケット情報を基にして同期コードを生成する（ステップＳ６６）。具体的には、間欠パケット情報又は連続パケット情報のいずれかのパケット情報であり、前回の認証に関する処理の際に決められている。なお、初回は予め中間部２０及び演出制御部２０３との間で決められている。また、主制御部１０は、機能番号を用いて動作コードを生成する（ステップＳ６７）。そして、主制御部１０は、生成された同期コード及び動作コードに対して暗号化処理を施し、動作認証データを生成する（ステップＳ６８）。
【０１９５】
続いて、主制御部１０は、個体検査値（個体認証データ）、同期コード及び動作コード（動作認証データ）を制御コマンドデータに付加して、中間部２０に認証データ付制御信号を送信する（ステップＳ６９）。認証データ付制御信号は連続して送信してもよいし、通常の制御信号に混ぜて送信してもよい。主制御部１０は、全ての認証データ（個体認証データ及び動作認証データ）を送信するまで（ステップＳ７０：ＮＯ）、ステップＳ６９に戻り、認証データ付制御信号の送信を繰り返す。なお、主制御部１０は、生成した認証データのうち未送信の認証データがある場合（ステップＳ７０：ＮＯ）、新たに認証データを生成せず、必ずステップＳ６９に戻り認証データ付制御信号の送信を行う。また、認証データを付加する制御コマンドは特に制限されず任意の制御コマンドでよい。そして、全ての認証データを送信すると（ステップＳ７０：ＹＥＳ）、ステップＳ７１に進む。
【０１９６】
続いて、主制御部１０は、ステップＳ６３で決定した分割数に基づいて、上記選択例１に従い、次回の認証に関する処理の際に同期コードの生成に用いるパケット情報の種類が連続パケット情報か否かを決定する（ステップＳ７１）。次回の認証に関する処理の際に同期コードの生成に用いるパケット情報が連続パケット情報の場合（ステップＳ７１：ＹＥＳ）、主制御部１０は、次回の同期コード生成時は連続パケット情報を選択すると決定し（ステップＳ７２）、一連の処理を終了する。一方、次回の認証に関する処理の際に同期コードの生成に用いるパケット情報が連続パケット情報でない場合（ステップＳ７１：ＮＯ）、主制御部１０は、次回の同期コード生成時は間欠パケット情報を選択すると決定し（ステップＳ７３）、一連の処理を終了する。
【０１９７】
次に、中間部２０による認証に関する処理について説明する。図１５は、中間部２０による認証に関する処理の手順の一例を示すフローチャートである。まず、中間部２０は、主制御部１０から送信された図６に示すような制御信号を受信したか否かを判断する（ステップＳ８１）。この判断結果が「ＮＯ」の場合には、中間部２０は、同判断を繰り返す。そして、主制御部１０から送信された制御信号を受信すると（ステップＳ８１：ＹＥＳ）、中間部２０は、ステップＳ８２へ進む。
【０１９８】
ステップＳ８２では、中間部２０は、受信した制御信号に各認証データが含まれているか否かを判断する。受信した制御信号に各認証データが含まれている場合（ステップＳ８２：ＹＥＳ）、中間部２０は、ステップＳ８３へ進む。ここで、制御信号に各認証データが含まれているか否かの判断は、例えば、制御信号のデータ量が通常の制御信号よりも多いか否かや、制御信号において、制御コマンドデータ又は付随データを構成する任意のビット又は別個に設けられている識別データ（図示略）が各認証データが含まれていることを示しているか否かを判断することによって行う。なお、ステップＳ８２の処理において、中間部２０は、受信した制御信号に各認証データが含まれているか否かを判断するのではなく、制御信号に含まれる制御コマンドデータが所定の制御コマンドの制御コマンドデータであるか否かを判断してもよい。
【０１９９】
受信した制御信号に各認証データが含まれている場合（ステップＳ８２：ＹＥＳ）、すなわち、受信した制御信号が認証データ付制御信号の場合、中間部２０は、受信した認証データ付制御信号に含まれている個体認証データを抽出するとともに、動作認証データを抽出して復号化処理を行って同期コード及び動作コードを抽出する（ステップＳ８３）。中間部２０は、抽出した個体認証データを個体検査値用メモリに、抽出した同期コード及び動作コードを主制御部１０の動作順序が判別可能なように配列して動作検査値用メモリに記憶して、ステップＳ８４に進む。
【０２００】
続いて、中間部２０は、同期コードを用いた中間動作認証として、抽出した同期コードに含まれるパケット情報同士の差分を算出しパケット情報の相関関係を確認する（ステップＳ８４）。そして中間部２０は、ステップＳ８４で確認した主制御部１０より送信されたパケット情報の相関関係と、予め期待値として保持していた相関条件（同期コード期待値）とを比較し、両者が同一か否かを照合する（ステップＳ８５）。両者が同一であった場合（ステップＳ８５：ＹＥＳ）、中間部２０は、同一を示す同期コードでの中間動作認証結果を生成し（ステップＳ８６）、ステップＳ８８へ進む。一方、両者が非同であった一の場合（ステップＳ８５：ＮＯ）、中間部２０は、非同一を示す同期コードでの中間動作認証結果を生成し（ステップＳ８７）、ステップＳ８８へ進む。なお、中間部２０は、抽出した同期コードに含まれるパケット情報又は動作コードに含まれる機能番号が１個の場合は、ステップＳ８４又はステップＳ８８の処理を行わずステップＳ８１に戻り、複数個のパケット情報又は機能番号を取得するまで以降の処理を繰り返す。
【０２０１】
続いて、中間部２０は、動作コードを用いた中間動作認証として、抽出した動作コードに含まれる機能番号の配列を確認し（ステップＳ８８）、予め期待値として保持していた機能番号の配列順序（動作コード期待値）と一致するか否かを判断する（ステップＳ８９）。両者が一致する場合（ステップＳ８９：ＹＥＳ）、中間部２０は、動作コードでの中間動作認証が成功であったと判断し、成功を示す動作コードでの中間動作認証結果を生成し（ステップＳ９０）、ステップＳ９２へ進む。一方、両者が一致しない場合（ステップＳ８９：ＮＯ）、中間部２０は、動作コードでの中間動作認証が不成功であったと判断し、不成功を示す動作コードでの中間動作認証結果を生成し（ステップＳ９１）、ステップＳ９２へ進む。
【０２０２】
続いて、中間部２０は、ステップＳ８６又はステップＳ８７で得られた同期コードでの中間動作認証結果、及びステップＳ９０又はステップＳ９１で得られた動作コードでの中間動作認証結果と、個体検査値用メモリに記憶している個体認証データとを併せて、中間認証情報を生成する（ステップＳ９２）。その後、中間部２０は、生成した中間認証情報を含む中間認証情報付制御信号を生成し、演出制御部２０３へ送信する（ステップＳ９３）と共に、個体検査値用メモリ及び動作検査値用メモリに記憶されているデータを消去し、一連の処理を終了する。
【０２０３】
また、ステップＳ８２で、受信した制御信号に各認証データが含まれていない場合、すなわち、受信した制御信号が通常の制御信号である場合（ステップＳ８２：ＮＯ）、中間部２０は、認証処理を行わず、受信した通常の制御信号をそのまま演出制御部２０３に送信し（ステップＳ９４）、一連の処理を終了する。
【０２０４】
次に、演出制御部２０３による認証に関する処理について説明する。図１６は、演出制御部２０３による認証に関する処理の手順の一例を示すフローチャートである。まず、演出制御部２０３は、中間部２０から制御信号を受信したか否かを判断する（ステップＳ１０１）。この判断結果が「ＮＯ」の場合には、演出制御部２０３は、同判断を繰り返す。そして、中間部２０から制御信号を受信すると、ステップＳ１０１の判断結果が「ＹＥＳ」となり、演出制御部２０３は、ステップＳ１０２へ進む。
【０２０５】
ステップＳ１０２では、演出制御部２０３は、受信した制御信号に中間認証情報が含まれているか否かを判断する。ステップＳ１０２の判断結果が「ＹＥＳ」の場合、すなわち、受信した制御信号に中間認証情報が含まれている場合、演出制御部２０３は、ステップＳ１０３へ進む。ここで、制御信号に中間認証情報が含まれているか否かの判断は、例えば、制御信号のデータ量が通常の制御信号よりも多いか否かや、制御信号において、制御コマンドデータ又は付随データを構成する任意のビット又は別個に設けられている識別データ（図示略）が、中間認証情報が含まれていることを示しているか否かを判断するか、あるいは、制御信号に含まれる制御コマンドデータが、認証処理を行うために予め設定した所定の制御コマンドの制御コマンドデータであるか否かを判断してもよい。
【０２０６】
受信した制御信号に中間認証情報が含まれている場合（ステップＳ１０２：ＹＥＳ）、すなわち、受信した制御信号が中間認証情報付制御信号の場合、演出制御部２０３は、受信した中間認証情報付制御信号に含まれている中間動作認証結果を抽出するとともに、個体認証データを抽出して復号化処理を行って個体検査値を抽出する（ステップＳ１０３）。演出制御部２０３は、抽出した個体検査値を個体検査値用メモリに、抽出した中間動作認証結果を動作検査値用メモリに記憶して、ステップＳ１０４に進む。また、ステップＳ１０２で、受信した制御信号に中間認証情報が含まれていない場合、すなわち、受信した制御信号が通常の制御信号である場合（ステップＳ１０２：ＮＯ）、演出制御部２０３は、認証処理を行わず、ステップＳ１１５へ進む。
【０２０７】
次に、演出制御部２０３は、個体認証処理として、個体検査値用メモリ内の全ての個体検査値に対して半群演算（結合処理）を行う（ステップＳ１０４）。個体検査値用メモリ内の検査値が１つの場合は、結合処理を行わずにそのままステップＳ１０５に進む。そして、演出制御部２０３は、結合処理の演算結果（結合結果）と保持している個体認証期待値とを照合して、結合結果と個体認証期待値とが一致するか否かを判断する（ステップＳ１０５）。結合結果と個体認証期待値とが一致する場合（ステップＳ１０５：ＹＥＳ）、演出制御部２０３は、主制御部１０の個体認証は成功であったと判断する（ステップＳ１０６）。
【０２０８】
続いて、演出制御部２０３は、動作認証処理として、動作検査値用メモリに記憶されている取得した中間動作認証結果を参照し、動作コードを用いた中間動作認証が成功であったか否かを判断する（ステップＳ１０８）。動作コードでの中間動作認証結果が成功を示す場合（ステップＳ１０８：ＹＥＳ）、演出制御部２０３は、中間部２０での動作コードを用いた中間動作認証が成功であったと判断し、ステップＳ１０９へ進む。一方、動作コードでの中間動作認証結果が不成功を示す場合（ステップＳ１０８：ＮＯ）、演出制御部２０３は、主制御部１０及び中間部２０に対する動作認証は不成功であり、今回のパチンコ遊技機１の認証処理は不成功であったと判断し（ステップＳ１１７）、ステップＳ１１８へ進む。
【０２０９】
続いて、演出制御部２０３は、中間部２０において動作コードを用いた中間動作認証が成功であった場合（ステップＳ１０８：ＹＥＳ）、動作検査値用メモリに記憶されている中間動作認証結果のうち、同期コードでの中間動作認証結果を用いて引き続き動作認証処理を行う。演出制御部２０３は、同期コードでの中間動作認証結果が、主制御部１０より送信されたパケット情報の相関関係と、中間部２０で予め期待値として保持していた相関条件（同期コード期待値）とが同一を示すものか、非同一を示すものかを確認し、予め期待値として保持していた動作認証期待値を読み出し、中間動作認証結果と動作認証期待値とが一致するか否かを判断する（ステップＳ１０９）。中間動作認証結果と動作認証期待値とが一致する場合（ステップＳ１０９：ＹＥＳ）、演出制御部２０３は、主制御部１０及び中間部２０の動作認証は成功であり（ステップＳ１１０）、ステップＳ１０６での個体認証結果と併せて、今回のパチンコ遊技機１の認証処理は成功であったと判断し（ステップＳ１１１）、ステップＳ１１２へ進む。一方、同期コードでの中間動作認証結果と動作認証期待値とが一致しない場合（ステップＳ１０９：ＮＯ）、演出制御部２０３は、主制御部１０及び中間部２０に対する動作認証は不成功であり、今回のパチンコ遊技機１の認証処理は不成功であったと判断し（ステップＳ１１７）、ステップＳ１１８へ進む。
【０２１０】
ステップＳ１１２では、演出制御部２０３は、ステップＳ１０４で判明した結合数に基づいて、上記選択例１に従い、次回の認証に関する処理の際に使用する動作認証期待値において、同一を示す動作認証期待値を使用するか否かを決定する（ステップＳ１１２）。次回の認証に関する処理の際の動作認証期待値の種類が同一の場合（ステップＳ１１２：ＹＥＳ）、演出制御部２０３は、次回の同期コードでの中間動作認証結果を照合する際の動作認証期待値に、同一を示す動作認証期待値を選択すると決定し（ステップＳ１１３）、ステップＳ１１５へ進む。一方、次回の認証に関する処理の際の動作認証期待値の種類が同一でない場合（ステップＳ１１２：ＮＯ）、演出制御部２０３は、次回の同期コードでの中間動作認証結果を照合する際の動作認証期待値に、非同一を示す動作認証期待値を選択すると決定し（ステップＳ１１４）、ステップＳ１１５へ進む。ステップＳ１１５では、演出制御部２０３は、個体検査値用メモリ及び動作検査値用メモリに記憶されているデータを消去するとともに制御コマンドデータ及び付随データに基づく処理を行った後、一連の処理を終了する。
【０２１１】
一方、ステップＳ１０５において、結合結果と個体認証期待値が一致しない場合（ステップＳ１０５：ＮＯ）、演出制御部２０３は、所定数以上の個体認証データを受信するまで（ステップＳ１１６：ＮＯ）、ステップＳ１０１に戻り、個体認証データの受信及び個体検査値の結合処理を繰り返す。所定数以上の個体認証データを受信すると（ステップＳ１１６：ＹＥＳ）、演出制御部２０３は、主制御部１０に対する個体認証は不成功であり、今回のパチンコ遊技機１の認証処理は不成功であったと判断し（ステップＳ１１７）、ステップＳ１１８に進む。ステップＳ１１８では、演出制御部２０３は、制御コマンドデータ及び付随データに基づく処理を中断し、これらのデータを破棄するとともに、不正行為を報知するための報知信号を図柄表示部１０４やランプ制御部２０５、あるいはパチンコ遊技機１を管理するセンター制御装置などに送信した後、一連の処理を終了する。なお、ステップＳ１１８の処理では、演出制御部２０３は、データの破棄と報知のいずれか一方のみを行うようにしてもよい。
【０２１２】
図柄表示部１０４やランプ制御部２０５等は、受信した報知信号に基づいて、主制御部１０に不正が行われたおそれがある旨を報知する演出を実行する。この演出は、例えば、図柄表示部１０４に通常出現しないキャラクターを出現させたり、通常出現するキャラクターを通常とは異なる方法で出現させるなどである。また、図柄表示部１０４の輝度を変えたり、色を変えたり、ランプ制御部２０５に対して所定のランプを表示制御するようにしてもよい。いずれにせよ、遊技店の従業員が当該パチンコ遊技機１の前を通過した際に、その状態に気付くようにしてあればよい。また、この演出は、顧客がその状態に気付かないような演出でもよく、また、顧客が容易に気付く演出であってもよい。顧客が容易に気付く演出にすれば、不正行為を効率的に抑止することができる。
【０２１３】
また、報知信号に「大当たり中」や「確率変動中」などのパチンコ遊技機１の遊技状態に関する情報を含めてもよい。これらの遊技状態に関する情報に基づいて、パチンコ遊技機１を管理するセンター制御装置などによって不正行為が行われているか否かの判断を行ってもよい。例えば、大当たり中や確率変動中は入賞が集中していても正常である場合がある。よって、大当たり中や確率変動中は、その他の状態とは異なる条件で不正行為のおそれがあるか否かについて判断するのがよい。また、遊技状態に関する情報は、報知信号に含めずに別信号として出力するようにしてもよい。この場合、従業員は、報知信号と遊技状態に関する情報の両方に基づいて、不正行為のおそれがあるか否かについて判断する。
【０２１４】
次に、図１４、図１５及び図１６に示す処理のうち、主制御部１０での同期コードの生成に用いるパケット情報の変更処理と、演出制御部２０３での動作認証期待値の変更処理における具体例について説明する。図１７は、主制御部１０、中間部２０、及び演出制御部２０３の間のデータの流れの一例を示すシーケンス図である。本実施の形態１では、分割数及び結合数に基づいたパケット情報の種類及び動作認証期待値の選択例として、図５に示した選択例１（ここでは、Ｘ＝３とする）を用いて説明する。
【０２１５】
まず、主制御部１０は、ステップＳ１２１の処理へ進み、任意の方法で今回の個体認証処理に用いる分割数を決定した後、ステップＳ１２２へ進む。主制御部１０は、例えば、今回の分割数を３と決定する。ステップＳ１２２では、主制御部１０は、ＲＯＭ１０ｂの記憶領域に予め記憶されている所定のプログラムコードを３個のブロック（記憶領域）に分割し、各ブロックに記憶されているプログラムコードを用いて３つの個体検査値を生成し（ステップＳ１２２）、これらの個体検査値に暗号化処理を施し個体認証データを生成する（ステップＳ１２３）。
【０２１６】
続いて、主制御部１０は、同期コードの生成に用いるパケット情報の種類を選択し、選択したパケット情報を基にして同期コードを生成する（ステップＳ１２４）。具体的には、間欠パケット情報又は連続パケット情報のいずれかのパケット情報であり、前回の認証に関する処理の際に決められている。なお、初回は予め中間部２０及び演出制御部２０３との間で決められており、ここでは、連続パケット情報とする。さらに、主制御部１０は、機能番号を用いて動作コードを生成する（ステップＳ１２５）。そして、主制御部１０は、生成された同期コード及び動作コードに対して暗号化処理を施し、動作認証データを生成し（ステップＳ１２６）、個体認証データと併せて認証データ付制御信号を生成し、中間部２０に送信する（ステップＳ１２７）。その後、主制御部１０は、ステップＳ１２１で決定した分割数に基づいて、次回の認証に関する処理の際に同期コードの生成に用いるパケット情報の種類を選択する（ステップＳ１２８）。ここでは、分割数＝３であり、Ｘ＝３で割ると余り値＝０のため、次回用いるパケット情報の種類を連続パケットから間欠パケットに変更する。
【０２１７】
次に、中間部２０における処理について説明する。中間部２０は、主制御部１０から送信された認証データ付制御信号を受信すると（ステップＳ１２９）、認証データ付制御信号から個体認証データ及び動作認証データを抽出するとともに、動作認証データから同期コードを及び動作コードを抽出する（ステップＳ１３０）。中間部２０は、同期コードを用いた中間動作認証として、抽出した同期コードに含まれるパケット情報同士の差分を算出しパケット情報の相関関係を確認する（ステップＳ１３１）。そして、中間部２０は、算出した差分値が示す情報と予め保持する同期コード期待値とを照合する（ステップＳ１３２）。具体的には、同期コード期待値は、連続又は間欠パケット情報のいずれかの種類におけるパケット情報同士の相関関係を示す情報である。連続又は間欠パケットのどちらの同期コード期待値を読み出すかは、予め主制御部１０及び演出制御部２０３との間で決められており、ここでは、常に連続パケット情報とする。今回は、主制御部１０より送信されたパケット情報の種類及び同期コード期待値とも、連続パケット情報であるので両者は同一という結果となる（ステップＳ１３２）。
【０２１８】
続いて、中間部２０は、動作コードを用いた中間動作認証として、抽出した動作コードに含まれる機能番号の配列を確認する（ステップＳ１３３）。そして、中間部２０は、取得した機能番号の配列と予め保持する動作コード期待値とが一致するか否かを判断し（ステップＳ１３４）、動作コード期待値と一致すると、動作コードを用いた中間動作認証が成功であったと判断する（ステップＳ１３４）。そして、中間部２０は、動作コードでの中間動作認証は成功を示し、同期コードでの中間動作認証は同一を示す結果を生成する。この中間動作認証結果と主制御部１０より送信された個体認証データとを併せて、中間認証情報を生成し（ステップＳ１３５）、中間認証情報を含む中間認証情報付制御信号を演出制御部２０３に送信する（ステップＳ１３６）。
【０２１９】
次に、演出制御部２０３における処理について説明する。演出制御部２０３は、中間部２０から送信された中間認証情報付制御信号を受信すると（ステップＳ１３７）、中間認証情報付制御信号から個体認証データ及び中間動作認証結果を抽出するとともに、個体認証データから個体検査値を抽出する（ステップＳ１３８）。そして、演出制御部２０３は、個体認証処理として、抽出した個体検査値に対して主制御部１０と同一の半群演算を用いて結合処理を施す（ステップＳ１３９）。その後、結合結果を予め保持していた個体認証期待値と照合し、個体認証期待値と一致すると、演出制御部２０３は、主制御部１０の個体認証が成功であったと判断する（ステップＳ１４０）。ここでは、３つの個体検査値を用いて結合処理を行った際に個体認証期待値と一致し、今回の結合数＝３と判明する。
【０２２０】
続いて、演出制御部２０３は、動作認証処理として、抽出した中間動作認証結果を参照し、動作コードを用いた中間動作認証が成功であったことを確認するとともに（ステップＳ１４１）、同期コードでの中間動作認証結果を予め期待値として保持していた動作認証期待値と照合する（ステップＳ１４２）。動作認証期待値は、同期コードでの中間動作認証結果が同一又は非同一のいずれかを示す情報である。同一又は非同一のどちらの動作認証期待値を読み出すかは、前回の認証に関する処理の際に決められている。なお、初回は予め主制御部１０及び中間部２０との間で決められており、ここでは、同一を示す情報とする。今回は、中間部２０より送信された同期コードでの中間動作認証結果及び動作認証期待値とも、同一を示す情報であるので両者は一致する結果となる（ステップＳ１４２）。演出制御部２０３は、同期コードでの中間動作認証結果と動作認証期待値とが一致すると、主制御部１０及び中間部２０に対する動作認証は成功であり（ステップＳ１４２）、ステップＳ１４０での個体認証結果と併せて、今回のパチンコ遊技機１の認証処理は成功であったと判断する（ステップＳ１４３）。その後、演出制御部２０３は、ステップＳ１３９で判明した結合数に基づいて、次回の認証に関する処理の際に動作認証期待値として読み出す情報の種類を選択する。（ステップＳ１４４）。ここでは、結合数＝３であり、Ｘ＝３で割ると余り値＝０のため、次回用いる動作認証期待値を同一から非同一に変更する。ここまでが一連の選択処理の流れである。
【０２２１】
２回目の処理の説明に移る。主制御部１０は、ステップＳ１４５の処理へ進み、任意の方法で今回の個体認証処理に用いる分割数を決定した後、ステップＳ１４６へ進む。主制御部１０は、例えば、今回の分割数を４と決定する。ステップＳ１４６では、主制御部１０は、ＲＯＭ１０ｂの記憶領域に予め記憶されている所定のプログラムコードを４個のブロック（記憶領域）に分割し、各ブロックに記憶されているプログラムコードを用いて４つの個体検査値を生成し（ステップＳ１４６）、これらの個体検査値に暗号化処理を施し個体認証データを生成する（ステップＳ１４７）。
【０２２２】
続いて、主制御部１０は、同期コードの生成に用いるパケット情報の種類を選択し、選択したパケット情報を基にして同期コードを生成する（ステップＳ１４８）。具体的には、間欠パケット情報又は連続パケット情報のいずれかのパケット情報であり、前回の認証に関する処理の際に決められている。ここでは、間欠パケット情報である。さらに、主制御部１０は、機能番号を用いて動作コードを生成する（ステップＳ１４９）。そして、主制御部１０は、生成された同期コード及び動作コードに対して暗号化処理を施し、動作認証データを生成し（ステップＳ１５０）、個体認証データと併せて認証データ付制御信号を生成し、中間部２０に送信する（ステップＳ１５１）。その後、主制御部１０は、ステップＳ１４５で決定した分割数に基づいて、次回の認証に関する処理の際に同期コードの生成に用いるパケット情報の種類を選択する（ステップＳ１５２）。ここでは、分割数＝４であり、Ｘ＝３で割ると余り値＝１のため、次回用いるパケット情報の種類は間欠パケットのまま継続する。
【０２２３】
次に、中間部２０における処理について説明する。中間部２０は、主制御部１０から送信された認証データ付制御信号を受信すると（ステップＳ１５３）、認証データ付制御信号から個体認証データ及び動作認証データを抽出するとともに、動作認証データから同期コードを及び動作コードを抽出する（ステップＳ１５４）。中間部２０は、同期コードを用いた中間動作認証として、抽出した同期コードに含まれるパケット情報同士の差分を算出しパケット情報の相関関係を確認する（ステップＳ１５５）。そして、中間部２０は、算出した差分値が示す情報と予め保持する同期コード期待値とを照合する（ステップＳ１５６）。具体的には、同期コード期待値は、連続又は間欠パケット情報のいずれかの種類におけるパケット情報同士の相関関係を示す情報である。連続又は間欠パケットのどちらの同期コード期待値を読み出すかは、前回の認証に関する処理と同様、ここでは、常に連続パケット情報とする。今回は、主制御部１０より送信されたパケット情報の種類は間欠パケット情報、同期コード期待値は連続パケット情報であるので、両者は非同一という結果となる（ステップＳ１５６）。
【０２２４】
続いて、中間部２０は、動作コードを用いた中間動作認証として、抽出した動作コードに含まれる機能番号の配列を確認する（ステップＳ１５７）。そして、中間部２０は、取得した機能番号の配列と予め保持する動作コード期待値とが一致するか否かを判断し（ステップＳ１５８）、動作コード期待値と一致すると、動作コードを用いた中間動作認証が成功であったと判断する（ステップＳ１５８）。そして、中間部２０は、動作コードでの中間動作認証は成功を示し、同期コードでの中間動作認証は非同一を示す結果を生成する。この中間動作認証結果と主制御部１０より送信された個体認証データとを併せて、中間認証情報を生成し（ステップＳ１５９）、中間認証情報を含む中間認証情報付制御信号を演出制御部２０３に送信する（ステップＳ１６０）。
【０２２５】
次に、演出制御部２０３における処理について説明する。演出制御部２０３は、中間部２０から送信された中間認証情報付制御信号を受信すると（ステップＳ１６１）、中間認証情報付制御信号から個体認証データ及び中間動作認証結果を抽出するとともに、個体認証データから個体検査値を抽出する（ステップＳ１６２）。そして、演出制御部２０３は、個体認証処理として、抽出した個体検査値に対して主制御部１０と同一の半群演算を用いて結合処理を施す（ステップＳ１６３）。その後、結合結果を予め保持していた個体認証期待値と照合し、個体認証期待値と一致すると、演出制御部２０３は、主制御部１０の個体認証が成功であったと判断する（ステップＳ１６４）。ここでは、４つの個体検査値を用いて結合処理を行った際に個体認証期待値と一致し、今回の結合数＝４と判明する。
【０２２６】
続いて、演出制御部２０３は、動作認証処理として、抽出した中間動作認証結果を参照し、動作コードを用いた中間動作認証が成功であったことを確認するとともに（ステップＳ１６５）、同期コードでの中間動作認証結果を予め期待値として保持していた動作認証期待値と照合する（ステップＳ１６６）。動作認証期待値は、同期コードでの中間動作認証結果が同一又は非同一のいずれかを示す情報である。同一又は非同一のどちらの動作認証期待値を読み出すかは、前回の認証に関する処理の際に決められている。ここでは、非同一を示す情報である。今回は、中間部２０より送信された同期コードでの中間動作認証結果及び動作認証期待値とも、非同一を示す情報であるので両者は一致する結果となる（ステップＳ１６６）。演出制御部２０３は、同期コードでの中間動作認証結果と動作認証期待値とが一致すると、主制御部１０及び中間部２０に対する動作認証は成功であり（ステップＳ１６６）、ステップＳ１６４での個体認証結果と併せて、今回のパチンコ遊技機１の認証処理は成功であったと判断する（ステップＳ１６７）。その後、演出制御部２０３は、ステップＳ１６３で判明した結合数に基づいて、次回の認証に関する処理の際に動作認証期待値として読み出す情報の種類を選択する。（ステップＳ１６８）。ここでは、結合数＝４であり、Ｘ＝３で割ると余り値＝１のため、次回用いる動作認証期待値は非同一のまま継続する。ここまでが一連の選択処理の流れである。
【０２２７】
３回目の処理の説明に移る。主制御部１０は、ステップＳ１６９の処理へ進み、任意の方法で今回の個体認証処理に用いる分割数を決定した後、ステップＳ１７０へ進む。主制御部１０は、例えば、今回の分割数を５と決定する。ステップＳ１７０では、主制御部１０は、ＲＯＭ１０ｂの記憶領域に予め記憶されている所定のプログラムコードを５個のブロック（記憶領域）に分割し、各ブロックに記憶されているプログラムコードを用いて５つの個体検査値を生成し（ステップＳ１７０）、これらの個体検査値に暗号化処理を施し個体認証データを生成する（ステップＳ１７１）。
【０２２８】
続いて、主制御部１０は、同期コードの生成に用いるパケット情報の種類を選択し、選択したパケット情報を基にして同期コードを生成する（ステップＳ１７２）。具体的には、間欠パケット情報又は連続パケット情報のいずれかのパケット情報であり、前回の認証に関する処理の際に決められている。ここでは、間欠パケット情報である。さらに、主制御部１０は、機能番号を用いて動作コードを生成する（ステップＳ１７３）。そして、主制御部１０は、生成された同期コード及び動作コードに対して暗号化処理を施し、動作認証データを生成し（ステップＳ１７４）、個体認証データと併せて認証データ付制御信号を生成し、中間部２０に送信する（ステップＳ１７５）。その後、主制御部１０は、ステップＳ１６９で決定した分割数に基づいて、次回の認証に関する処理の際に同期コードの生成に用いるパケット情報の種類を選択する（ステップＳ１７６）。ここでは、分割数＝５であり、Ｘ＝３で割ると余り値＝２のため、次回用いるパケット情報の種類を間欠パケットから連続パケットに変更する。
【０２２９】
次に、中間部２０における処理について説明する。中間部２０は、主制御部１０から送信された認証データ付制御信号を受信すると（ステップＳ１７７）、認証データ付制御信号から個体認証データ及び動作認証データを抽出するとともに、動作認証データから同期コードを及び動作コードを抽出する（ステップＳ１７８）。中間部２０は、同期コードを用いた中間動作認証として、抽出した同期コードに含まれるパケット情報同士の差分を算出しパケット情報の相関関係を確認する（ステップＳ１７９）。そして、中間部２０は、算出した差分値が示す情報と予め保持する同期コード期待値とを照合する（ステップＳ１８０）。具体的には、同期コード期待値は、連続又は間欠パケット情報のいずれかの種類におけるパケット情報同士の相関関係を示す情報である。連続又は間欠パケットのどちらの同期コード期待値を読み出すかは、前回の認証に関する処理と同様、ここでは、常に連続パケット情報とする。今回は、主制御部１０より送信されたパケット情報の種類は間欠パケット情報、同期コード期待値は連続パケット情報であるので、両者は非同一という結果となる（ステップＳ１８０）。
【０２３０】
続いて、中間部２０は、動作コードを用いた中間動作認証として、抽出した動作コードに含まれる機能番号の配列を確認する（ステップＳ１８１）。そして、中間部２０は、取得した機能番号の配列と予め保持する動作コード期待値とが一致するか否かを判断し（ステップＳ１８２）、動作コード期待値と一致すると、動作コードを用いた中間動作認証が成功であったと判断する（ステップＳ１８２）。そして、中間部２０は、動作コードでの中間動作認証は成功を示し、同期コードでの中間動作認証は非同一を示す結果を生成する。この中間動作認証結果と主制御部１０より送信された個体認証データとを併せて、中間認証情報を生成し（ステップＳ１８３）、中間認証情報を含む中間認証情報付制御信号を演出制御部２０３に送信する（ステップＳ１８４）。
【０２３１】
次に、演出制御部２０３における処理について説明する。演出制御部２０３は、中間部２０から送信された中間認証情報付制御信号を受信すると（ステップＳ１８５）、中間認証情報付制御信号から個体認証データ及び中間動作認証結果を抽出するとともに、個体認証データから個体検査値を抽出する（ステップＳ１８６）。そして、演出制御部２０３は、個体認証処理として、抽出した個体検査値に対して主制御部１０と同一の半群演算を用いて結合処理を施す（ステップＳ１８７）。その後、結合結果を予め保持していた個体認証期待値と照合し、個体認証期待値と一致すると、演出制御部２０３は、主制御部１０の個体認証が成功であったと判断する（ステップＳ１８８）。ここでは、５つの個体検査値を用いて結合処理を行った際に個体認証期待値と一致し、今回の結合数＝５と判明する。
【０２３２】
続いて、演出制御部２０３は、動作認証処理として、抽出した中間動作認証結果を参照し、動作コードを用いた中間動作認証が成功であったことを確認するとともに（ステップＳ１８９）、同期コードでの中間動作認証結果を予め期待値として保持していた動作認証期待値と照合する（ステップＳ１９０）。動作認証期待値は、同期コードでの中間動作認証結果が同一又は非同一のいずれかを示す情報である。同一又は非同一のどちらの動作認証期待値を読み出すかは、前回の認証に関する処理の際に決められている。ここでは、非同一を示す情報である。今回は、中間部２０より送信された同期コードでの中間動作認証結果及び動作認証期待値とも、非同一を示す情報であるので両者は一致する結果となる（ステップＳ１９０）。演出制御部２０３は、同期コードでの中間動作認証結果と動作認証期待値とが一致すると、主制御部１０及び中間部２０に対する動作認証は成功であり（ステップＳ１９０）、ステップＳ１８８での個体認証結果と併せて、今回のパチンコ遊技機１の認証処理は成功であったと判断する（ステップＳ１９１）。その後、演出制御部２０３は、ステップＳ１８７で判明した結合数に基づいて、次回の認証に関する処理の際に動作認証期待値として読み出す情報の種類を選択する。（ステップＳ１９２）。ここでは、結合数＝５であり、Ｘ＝３で割ると余り値＝２のため、次回用いる動作認証期待値を非同一から同一に変更する。以上が一連の選択処理の流れである。
【０２３３】
このように、本実施の形態１では、主制御部１０は、予め記憶された所定のデータ（所定のプログラムコード）を分割して個体検査値を生成するとともに、動作認証に関する処理として、分割された各データの数（分割数）に基づいて、同期コードを生成するために用いるパケット情報の種類を選択する。中間部２０は、動作認証に関する処理として、主制御部１０で生成されたパケット情報の相関関係が、予め記憶された相関関係の期待値（同期コード期待値）と同一か否かを照合する（同期コードを用いた中間動作認証）。演出制御部２０３は、個体検査値を用いて個体認証を行うとともに、動作認証に関する処理として、中間部２０での照合結果（同期コードでの中間動作認証結果）が、予め記憶された中間部２０での照合結果の期待値（動作認証期待値）と一致するか否かを判断する（動作認証）。また、演出制御部２０３は、個体認証が成功した際に半群演算の対象となった個体検査値の数（結合数）に基づいて、動作認証期待値を変更する。分割数は主制御部１０だけが知り得る値であり、結合数は個体認証が成功して初めて演出制御部２０３が知り得る値である。よって、不正行為者は、主制御部１０における同期コード生成に用いるパケット情報や演出制御部２０３における動作認証期待値の切り替えタイミングを知ることができない。このため、不正行為者が同期コードを不正に生成することを防止し、主制御部１０、中間部２０、演出制御部２０３の間の処理に対する認証強度を向上させることができるとともに、上記不正行為及び遊技機の誤動作を検知することができ、これらに起因する不正な制御コマンドの実行を防止することができる。
【０２３４】
また、本実施の形態１では、中間部２０及び演出制御部２０３での動作認証に関する処理として、中間部２０は、今回の認証に関する処理において主制御部１０で生成されたパケット情報の相関関係が、予め記憶された相関関係の期待値（同期コード期待値）と同一か否かを照合する（同期コードを用いた中間動作認証）。そして、演出制御部２０３は、今回の動作認証に関する処理において中間部２０より送信される同期コードを用いた中間動作認証での照合結果（同期コードでの中間動作認証結果）が同一又は非同一のどちらの照合結果であるかを予測した期待値（動作認証期待値）を保持し、これと受信した照合結果とが一致するか否かを判断する（動作認証）。よって、動作認証が成功する場合であっても、中間部２０から演出制御部２０３へ送信される上記照合結果の情報は、同一又は非同一の種類の情報が存在しうる。さらに、同一又は非同一のいずれの照合結果の情報が送信されるかは、主制御部１０だけが知り得る分割数に応じて決まる。このため、中間部２０と演出制御部２０３との間で送受信されるデータ信号を不正に窃取しようとする不正行為者は、今回の動作認証に関する処理において、同一又は非同一のいずれの照合結果が正しいかを知ることができない。よって不正行為者を撹乱することができ、中間部２０と演出制御部２０３との間の処理に対する認証強度を向上させることができる。
【０２３５】
また、本実施の形態１では、パチンコ遊技機１の動作認証に関する処理として、同期コードおよび動作コードの２種類の動作検査値を用いて動作認証を行う。２種類の動作検査値を用いて二重に認証処理を行うことにより、主制御部１０、中間部２０、演出制御部２０３の間の処理に対する動作認証の認証強度を向上させることができる。
【０２３６】
また、本実施の形態１では、パチンコ遊技機１の認証処理として、演出制御部２０３で主制御１０の個体認証を行うとともに、中間部２０と演出制御部２０３の両方で動作認証を行っているので、主制御部１０に対する上記不正行為及び雑音等に起因するパチンコ遊技機１の誤作動の他、中間部２０に対する不正行為及び誤動作を検知することができる。例えば、中間部２０と演出制御部２０３との間に、信号切替回路等が搭載された不正な制御部が介在した場合であっても、不正な制御部は、結合数に基づく演出制御部２０３での動作認証期待値の切り替えタイミングを知ることができないため、演出制御部２０３で不正行為を検知することができ、パチンコ遊技機１全体としてのセキュリティ強度を向上させることができる。
【０２３７】
また、本実施の形態１では、パチンコ遊技機１の認証処理として、個体認証を演出制御部２０３で行い、動作認証を中間部２０と演出制御部２０３で行っている。つまり、認証処理の一部を中間部２０が実行するので、演出制御部２０３を構成するＣＰＵの処理負荷の増大を抑制することができる。このため、演出制御部２０３の処理速度が低下し、演出のための表示がスムーズに行われないなどの問題の発生を防止することができる。
【０２３８】
さらに、本実施の形態１では、主制御部１０と演出制御部２０３との間に中間部２０を設けているので、主制御部１０を構成するＣＰＵ１０ａと演出制御部２０３を構成するＣＰＵ２０３ａとの間の処理能力の差異や、主制御部１０を構成するＲＯＭ１０ｂやＲＡＭ１０ｃと演出制御部２０３を構成するＲＯＭ２０３ｂやＲＡＭ２０３ｃとの間の記憶容量の差異を、中間部２０において吸収することができる。これにより、主制御部１０と演出制御部２０３との間で処理能力や記憶容量に差異があるにもかかわらず、主制御部１０と演出制御部２０３との間のセキュリティレベルを維持することができる。
【０２３９】
例えば、主制御部１０を構成するＣＰＵ１０ａの処理能力や主制御部１０を構成するＲＯＭ１０ｂやＲＡＭ１０ｃの記憶容量が、演出制御部２０３を構成するＣＰＵ２０３ａの処理能力や演出制御部２０３を構成するＲＯＭ２０３ｂやＲＡＭ２０３ｃの記憶容量と比較して余裕がある場合、主制御部１０は、各検査値に対して複雑又は高度な暗号化処理を施して得られた認証データを中間部２０に送信し、中間部２０は、受信した上記認証データを用いて認証に関する処理を行い、得られた結果等に対して比較的簡易又は低度な暗号化処理を施して中間認証情報を生成し、演出制御部２０３に送信する。そして、演出制御部２０３は、中間認証情報を用いて認証に関する処理を行う。このように構成することにより、演出制御部２０３において複雑又は高度な復号化方式を採用しなくても、パチンコ遊技機１として高度のセキュリティレベルを維持することができる。
【０２４０】
また、演出制御部２０３を構成するＣＰＵ２０３ａの処理能力や演出制御部２０３を構成するＲＯＭ２０３ｂやＲＡＭ２０３ｂの記憶容量が、主制御部１０を構成するＣＰＵ１０ａの処理能力や主制御部１０を構成するＲＯＭ１０ｂやＲＡＭ１０ｃの記憶容量と比較して余裕がある場合、主制御部１０は、各検査値を認証データとしてそのままあるいは比較的簡易又は低度な暗号化処理を施して得られた認証データを中間部２０に送信し、中間部２０は、受信した上記認証データを用いて認証に関する処理を行い、得られた結果等に対して複雑又は高度な暗号処理を施して、中間認証情報を生成し、演出制御部２０３に送信する。そして、演出制御部２０３は、中間認証情報を用いて認証に関する処理を行う。このように構成することにより、主制御部１０において複雑又は高度な暗号化方式を採用しなくても、パチンコ遊技機１として高度のセキュリティレベルを維持することができる。
【０２４１】
このようなことは、主制御部１０及び演出制御部２０３をそれぞれ構成するＣＰＵ１０ａ及び２０３ａの処理能力や、ＲＯＭ１０ｂ及び２０３ｂ並びにＲＡＭ１０ｃ及び２０３ｃの記憶容量における余裕に差異がある場合だけでなく、このような差異はないが、主制御部１０を構成するＣＰＵ１０ａ又は演出制御部２０３を構成するＣＰＵ２０３ａが、それぞれ実行するプログラムの一方の全部又は一部が変更された場合（バージョンアップなど）や、各検査値又は中間認証情報等のデータ構造等において、主制御部１０と演出制御部２０３との間で形式的な差異が発生した場合についても同様に当てはまる。
【０２４２】
＜＜実施の形態２＞＞
以下、本発明の実施の形態２に係るパチンコ遊技機１について説明する。本実施の形態２のパチンコ遊技機１は、中間部２０及び周辺部３０（演出制御部２０３）での認証に関する処理が、実施の形態１のパチンコ遊技機１と異なる。具体的には、実施の形態１では、中間部２０で中間的な動作認証を行い、周辺部３０（演出制御部２０３）で個体認証及び最終的な動作認証を行っていたのに対し、実施の形態２では、中間部２０で個体認証を行い、周辺部３０（演出制御部２０３）で動作認証を行う。これ以外の点は、主制御部１０での認証に関する処理を含め、基本的に実施の形態１のパチンコ遊技機１と同様である。以下、実施の形態１のパチンコ遊技機と同一の部材には同一の符号を付してその詳細な説明は省略し、異なる点について重点的に説明する。
【０２４３】
中間部２０は、期待値記憶手段２１と、中間認証手段２２を備えている。期待値記憶手段２１は、主制御部１０を構成するデータ記憶手段１１に記憶されている所定のデータと同一のデータを用いて２項演算を行って得られた演算値を個体認証期待値として予め記憶している。中間認証手段２２は、主制御部１０から送信された個体認証データを用いた個体認証の結果と、動作認証データ、及び後述する切替情報を用いて、周辺部３０にて個体認証及び動作認証の両面から最終的な認証判断を行う際に用いる中間認証情報を生成する。
【０２４４】
具体的には、中間認証手段２２は、まず、主制御部１０から送信された個体認証データを用いて個体認証を行う。より詳細には、制御コマンドに付加されて主制御部１０から送信された個体認証データから個体検査値を抽出し、抽出した個体検査値に対して、主制御部１０と同一の結合法則を満たす２項演算を行った演算結果と、期待値記憶手段２１に記憶されている個体認証期待値とが一致するか否かによって個体認証が成功したか否かを判断する。また、中間認証手段２２は、個体認証が成功したときの個体検査値の数（結合数）に基づいて、次回の周辺部３０で行われる同期コードを用いた動作認証において使用する同期コード期待値の種類を、今回の動作認証で使用している同期コード期待値から切り替えるか否かの情報（以下、切替情報という）を生成する。
【０２４５】
その後、中間部２０は、個体認証結果と、切替情報と、主制御部１０より送信された動作認証データとを併せて中間認証情報とし、制御コマンドに付加して周辺部３０へ送信する。
【０２４６】
一方、周辺部３０は、期待値記憶手段３１と、認証手段３２とを備えている。期待値記憶手段３１は、主制御部１０で生成される同期コードに含まれるパケット情報の種類ごとに予め設定された所定の相関関係を示す情報を同期コード期待値として予め記憶している。また、期待値記憶手段３１は、主制御部１０で生成される動作コードの種類ごとに予め設定され、主制御部１０の動作順序を判別可能なように関連付けられたデータを動作コード期待値として予め記憶している。なお、同期コード期待値と動作コード期待値とを総称して動作認証期待値という。認証手段３２は、中間部２０から送信された中間認証情報に含まれる動作認証データを用いて動作認証を行うとともに、中間認証情報に含まれる個体認証結果とを併せて、個体認証及び動作認証の両面から最終的なパチンコ遊技機１の正規性を認証する。
【０２４７】
具体的には、認証手段３２は、まず、中間部２０から送信された動作認証データを用いて動作認証を行う。より詳細には、中間部２０より送信された動作認証データから同期コードを抽出し、抽出した同期コードに含まれるパケット情報が予め設定された所定の相関関係を有するかを確認するため、連続して生成された二つのパケット情報同士の差分（減算に限られない）を求める。そしてこの差分値が示す情報が、期待値記憶手段３１に記憶されている同期コード期待値と一致するか否かを判断する。また、認証手段３２は、中間部２０より送信された動作認証データから動作コードを抽出し、抽出した動作コードに含まれる機能番号や認証回数を参照し、期待値記憶手段２１に記憶されている動作コード期待値と一致するか否かを判断する。そして、認証手段３２は、これらの動作認証が双方とも成功した場合に動作認証が成功したと判断する。また、認証手段３２は、中間部２０より送信された切替情報に基づいて、次回の動作認証において使用する同期コード期待値の種類を選択する。
【０２４８】
その後、周辺部３０は、中間部２０より送信された中間認証情報に含まれる個体認証結果、及び認証手段３２での動作認証結果のいずれもが成功であった場合に、パチンコ遊技機１の正規性を認証し、認証結果に応じた処理を行う。
【０２４９】
＜中間部＞
以下、中間部２０における認証に関する処理について詳細に説明する。それ以外は実施の形態１と同様であるため、説明を省略する。
［１］制御信号の受信
中間部２０は、主制御部１０から、制御コマンドデータ及び付随データのみからなる通常の制御信号、又は、制御コマンドデータ及び付随データに加え個体認証データ及び動作認証データ（同期コード及び動作コードが含まれている）からなる認証データ付制御信号を受信する。なお中間部２０は、通常の制御信号を受信した場合には、演出制御部２０３にそのまま送信する。
［２］個体認証データ、動作認証データの抽出
中間部２０は、認証データ付制御信号から個体認証データ、動作認証データを抽出する。次に中間部２０は、抽出した個体認証データから個体検査値を抽出し、ＲＡＭ２０ｃの所定の記憶領域である個体検査値用メモリに記憶するとともに、抽出した動作認証データを、ＲＡＭ２０ｃの所定の記憶領域である動作検査値用メモリに記憶する。
【０２５０】
［３］個体認証
中間部２０は、個体検査値用メモリ内に記憶されているすべての個体検査値に対して、以下に示す順序で半群演算を行うことによって、主制御部１０の個体認証処理を行う。
｛１｝中間部２０は、上記個体検査値用メモリ内に記憶されているすべての個体検査値を用いて半群演算を行う。
｛２｝中間部２０は、予め記憶されている個体認証期待値をＲＯＭ２０ｂの所定の記憶領域から読み出す。
【０２５１】
｛３｝中間部２０は、上記｛１｝の処理における結合結果と、上記｛２｝の処理で読み出した個体認証期待値が一致するか否かを判断する。
中間部２０は、結合結果と個体認証期待値が一致した場合には、個体認証が成功であったと判断する。また、中間部２０は、結合結果と個体認証期待値が一致しなかった場合には、個体認証に成功しなかったと判断する。個体認証が成功したとき、結合数と分割数とは当然に一致する。
【０２５２】
｛４｝｛３｝の処理で個体認証に成功した場合、中間部２０は、個体認証が成功したことを示す個体認証結果を生成する。
｛５｝｛３｝の処理で個体認証が成功しなかった場合、中間部２０は、主制御部１０から受信した個体認証データの数が所定数以上か否かを判断する。所定数は、今回の結合数（分割数）以上かつプログラムコード記憶領域４００（図４参照）に記憶されているプログラムコードを分割可能な数（最大分割数）以下の範囲内の任意の数である。
｛５−１｝受信した個体認証データの数が所定数未満の場合、中間部２０は、まだ個体認証が行える段階ではないと判断して個体認証結果に換えて、認証中途データとして、例えば、個体認証結果のデータ長と同一のデータ長を有する任意の値（例えば、オール０又はオール１）を生成する。
｛５−２｝受信した個体認証データの数が所定数以上の場合、中間部２０は、個体認証が成功しなかったと判断して、個体認証が成功しなかったことを示す個体認証結果を生成する。
【０２５３】
[４]切替情報の生成
中間部２０は、個体認証が成功したときの結合数に基づく所定の取り決めに従って、演出制御部２０３が保持する同期コード期待値に対する切替情報を生成する。切替情報は、次回の演出制御部２０３で行われる動作認証において使用する同期コード期待値の種類を、今回の動作認証で使用している同期コード期待値からどのように変更するかを示した情報である。ここで、所定の取り決めとは、実施の形態１と同様に、主制御部１０が同期コードを生成するために用いるパケット情報の種類を選択したものと同一である。すなわち、本実施の形態２でも、上記選択例１を採用するとする。選択例１の場合、中間部２０は、個体認証が成功した際の結合数を、主制御部１０との間で予め決められている特定値Ｘ（ここではＸ＝３）で除算した際の余り値に基づいて、切替情報の種類を選択する。例えば、図５に示すように、特定値Ｘ＝３、結合数＝３であれば、余り値＝０となり、間欠パケット情報に対応する同期コード期待値を選択して生成するとする。なお、切替情報に対し所定の演算を施して暗号化した値を利用してもよいし、切替情報の替わりに結合数そのものや結合数に所定の演算を施して暗号化した値を利用してもよい。
【０２５４】
[５]中間認証情報の生成
中間部２０は、[２]の処理で抽出した動作認証データと、［３］の処理で得られた個体認証結果、[４]の処理で得られた切替情報、又はこれらに対して主制御部１０で認証データを生成した際と同様の暗号化処理を施したものを用いて、中間認証情報を生成する。中間部２０は、［３］の処理において、個体認証が成功を示す結果を生成した場合は、その旨を示す中間認証情報を生成し、個体認証が成功しなかったことを示す結果を生成した場合は、その旨を示す中間認証情報を生成する。
【０２５５】
［６］中間認証情報付制御信号の生成
中間部２０は、中間認証情報を制御コマンドデータ及び付随データを含む通常の制御信号に付加し、中間認証情報付制御信号を生成する。
【０２５６】
［７］中間認証情報付制御信号の送信
中間部２０は、中間認証情報付制御信号を演出制御部２０３に送信するとともに、個体検査値用メモリ及び動作検査値用メモリに記憶されている各データを消去する。なお、上記の個体認証期待値を予め記憶する手段、及び個体認証を実行する手段は、例えば、図１に示す期待値記憶手段２１、及び中間認証手段２２に対応させることができる。また、中間認証情報付制御信号のデータフォーマットについては、実施の形態１と同様の態様を用いることができるため、説明を省略する。
【０２５７】
＜演出制御部＞
以下、周辺部３０の一つである演出制御部２０３が認証に関する処理を行う場合について詳細に説明する。それ以外は実施の形態１と同様であるため、説明を省略する。
[１]制御信号の受信
演出制御部２０３は、中間部２０から送信された制御信号が、制御コマンドデータ及び付随データのみからなる通常の制御信号か、制御コマンドデータ及び付随データに加えて、中間認証情報が付加された中間認証情報付制御信号かを判断する。受信した制御信号が通常の制御信号である場合、演出制御部２０３は、制御コマンドデータ及び付随データに基づいて、実施の形態１と同様に、演出に関する処理を行い、認証に関する処理を終了する。一方、受信した制御信号が中間認証情報付制御信号である場合、演出制御部２０３は、認証に関する処理を継続するとして下記[２]〜[４]の処理を実行する。
【０２５８】
［２］個体認証結果、動作認証データの抽出
演出制御部２０３は、中間認証情報付制御信号から個体認証結果、及び動作認証データを抽出する。次に、演出制御部２０３は、抽出した個体認証結果を、ＲＡＭ２０３ｃの所定の記憶領域である個体検査値用メモリに記憶する。また、演出制御部２０３は、動作認証データ生成時に使用した暗号化処理に対応する復号化処理を抽出した動作認証データに施して同期コード及び動作コードを抽出し、ＲＡＭ２０３ｃの所定の記憶領域である動作検査値用メモリに記憶する。なお、個体認証結果に中間部２０において暗号化処理が施されている場合、演出制御部２０３は、施された暗号化処理に対応する復号化処理を個体認証結果に施す。
【０２５９】
［３］動作認証
演出制御部２０３は、動作検査値用メモリに記憶されている複数の同期コード及び動作コードを用いて、以下に示す主制御部１０の制御コマンド出力に対する動作認証を行う。なお、同期コードを用いた動作認証と動作コードを用いた動作認証の認証順序は任意である。
｛１｝動作コードを用いた動作認証
演出制御部２０３は、動作検査値用メモリに記憶されている動作コードを用いて主制御部１０の処理動作の順序を検証する。演出制御部２０３は、主制御部１０が生成する動作コードが、時系列的に一定の関係性を維持しながら生成されているかを検証するための情報として、動作コード期待値を所定の記憶領域に記憶している。動作コード期待値は、主制御部１０の動作順序が判別可能なように主制御部１０の動作順序を示す順番で配列されたデータテーブルなどである。
｛１−１｝演出制御部２０３は、上記動作検査値用メモリに記憶されている動作コードを読み出し、予め保持する動作コード期待値と一致するか否かを判断する。
｛１−２｝｛１−１｝の処理で読み出した動作コードと動作コード期待値が一致する場合、演出制御部２０３は、動作コードを用いた動作認証に成功したと判断し、以下の｛２｝の同期コードを用いた動作認証を行う。
｛１−３｝｛１−１｝の処理で読み出した動作コードと動作コード期待値が一致しない場合、演出制御部２０３は、今回の動作認証処理では認証に成功しなかったと判断し、動作認証に成功しなかったことを示す動作認証結果を生成し、｛２｝の処理は行わず次の［４］に示す認証結果に基づく処理に移行する。
【０２６０】
｛２｝同期コードを用いた動作認証
{２−１}演出制御部２０３は、上記動作検査値用メモリに記憶されている複数の同期コードから、主制御部１０の制御コマンドが出力された順番に対応させて複数のパケット情報を読み出す。
{２−２}演出制御部２０３は、読み出した複数のパケット情報のうち、あるタイミングで生成されたパケット情報と、このパケット情報から所定の生成間隔だけ経過したタイミングで生成されたパケット情報との差分を求める。この差分は減算に限らず、各種の四則演算や論理演算が考えられる。
【０２６１】
{２−３}演出制御部２０３は、主制御部１０との間で共有しパケット情報の種類ごとに予め設定されている、連続する生成タイミングで生成されたパケット情報同士の相関関係を表す情報として記憶している同期コード期待値を、所定の記憶領域から読み出す。読み出す同期コード期待値は、連続パケットを示すものか間欠パケットを示すものかのいずれかとする。本実施の形態２では、実施の形態１と同様、連続パケット情報を示す同期コード期待値を読み出すものとする。
{２−４}演出制御部２０３は、{２−２}の処理で求めた差分値が示す情報と、{２−３}の処理で読み出した同期コード期待値とが一致するか否かを判断する。
演出制御部２０３は、差分値が示す情報と同期コード期待値が一致した場合には、動作認証に成功したと判断する。また、演出制御部２０３は、差分値が示す情報と同期コード期待値が一致しなかった場合には、動作認証に成功しなかったと判断する。
【０２６２】
｛２−５｝｛２−４｝の処理で動作認証に成功した場合、演出制御部２０３は、動作認証が成功したことを示す動作認証結果を生成する。
｛２−６｝｛２−４｝の処理で動作認証に成功しなかった場合、演出制御部２０３は、動作認証に成功しなかったことを示す動作認証結果を生成する。
本実施の形態２では、実施の形態１と同様に、主制御部１０において初回に同期コードの生成に用いたパケット情報の種類、及び演出制御部２０３において初回に読み出す同期コード期待値の種類は、共に連続パケット情報に対応するものであるため、動作認証は成功する。
{２−７}演出制御部２０３は、中間部２０より送信された切替情報に従って、次回の認証に関する処理の際に読み出す同期コード期待値の種類を選択する。
【０２６３】
[４]認証結果に基づく処理
演出制御部２０３は、[２]の処理で得られた個体認証結果、及び[３]−｛１｝及び［３］−｛２｝の処理で得られた動作認証結果を用いて、パチンコ遊技機１の正規性を個体認証と動作認証の両面から認証し、最終的な認証判断を行う。[２]の処理で得られた個体認証結果、及び[３]−｛１｝及び［３］−｛２｝の処理で得られた動作認証結果のいずれもが、認証成功を示す結果であった場合、演出制御部２０３は、中間認証情報付制御信号に含まれた制御コマンドデータ及び付随データに基づく処理を実行するとともに、個体検査値用メモリ及び動作検査値用メモリに記憶されている各データを消去し、認証に関する処理を終了する。
一方、[２]の処理で得られた個体認証結果、又は[３]−｛１｝及び［３］−｛２｝の処理である動作認証で得られた動作認証結果のいずれかが、認証不成功を示す結果であった場合、制御コマンドデータ及び付随データを破棄するとともに、不正行為を検知したとする報知等の処理を行い、個体検査値用メモリ及び動作検査値用メモリに記憶されている各データを消去し、認証に関する処理を終了する。なお、上記の動作認証期待値を予め記憶する手段、及び動作認証を実行する手段は、例えば、図１に示す期待値記憶手段３１、及び認証手段３２に対応させることができる。
【０２６４】
次に、中間部２０による認証に関する処理について説明する。図１８は、中間部２０による認証に関する処理の手順の一例を示すフローチャートである。まず、中間部２０は、主制御部１０から送信された図６に示すような制御信号を受信したか否かを判断する（ステップＳ２０１）。この判断結果が「ＮＯ」の場合には、中間部２０は、同判断を繰り返す。そして、主制御部１０から送信された制御信号を受信すると（ステップＳ２０１：ＹＥＳ）、中間部２０は、ステップＳ２０２へ進む。
【０２６５】
ステップＳ２０２では、中間部２０は、受信した制御信号に各認証データが含まれているか否かを判断する。受信した制御信号に各認証データが含まれている場合（ステップＳ２０２：ＹＥＳ）、中間部２０は、ステップＳ２０３へ進む。ここで、制御信号に各認証データが含まれているか否かの判断は、例えば、制御信号のデータ量が通常の制御信号よりも多いか否かや、制御信号において、制御コマンドデータ又は付随データを構成する任意のビット又は別個に設けられている識別データ（図示略）が各認証データが含まれていることを示しているか否かを判断することによって行う。なお、ステップＳ２０２の処理において、中間部２０は、受信した制御信号に各認証データが含まれているか否かを判断するのではなく、制御信号に含まれる制御コマンドデータが所定の制御コマンドの制御コマンドデータであるか否かを判断してもよい。
【０２６６】
受信した制御信号に各認証データが含まれている場合（ステップＳ２０２：ＹＥＳ）、すなわち、受信した制御信号が認証データ付制御信号の場合、中間部２０は、受信した認証データ付制御信号に含まれている個体認証データを抽出して復号化処理を行って個体検査値を抽出するとともに、動作認証データを抽出する（ステップＳ２０３）。中間部２０は、抽出した個体検査値を個体検査値用メモリに、抽出した動作認証データを動作検査値用メモリに記憶して、ステップＳ２０４に進む。
【０２６７】
次に、中間部２０は、個体認証処理として、個体検査値用メモリ内の全ての個体検査値に対して半群演算（結合処理）を行う（ステップＳ２０４）。個体検査値用メモリ内の検査値が１つの場合は、結合処理を行わずにそのままステップＳ２０５へ進む。そして、中間部２０は、結合処理の演算結果（結合結果）と保持している個体認証期待値とを照合して、結合結果と個体認証期待値とが一致するか否かを判断する（ステップＳ２０５）。結合結果と個体認証期待値とが一致する場合（ステップＳ２０５：ＹＥＳ）、中間部２０は、主制御部１０の個体認証が成功であったと判断し、個体認証が成功であったことを示す個体認証結果を生成する（ステップＳ２０６）。
【０２６８】
続いて、中間部２０は、ステップＳ２０４で判明した結合数に基づいて、上記選択例１に従い、次回の認証に関する処理の際に演出制御部２０３で使用する同期コード期待値の種類を選択する際に用いる切替情報を生成する。（ステップＳ２０７）。次回の認証に関する処理の際に演出制御部２０３で使用する同期コード期待値の種類が連続パケット情報に対応する場合（ステップＳ２０７：ＹＥＳ）、中間部２０は、次回の演出制御部２０３で行われる動作認証において使用する同期コード期待値の種類は、連続パケット情報に対応する同期コード期待値を使用することを示す切替情報を生成し（ステップＳ２０８）、ステップＳ２１０へ進む。一方、次回の認証に関する処理の際に演出制御部２０３で使用する同期コード期待値の種類が連続パケット情報でない場合（ステップＳ２０７：ＮＯ）、中間部２０は、次回の演出制御部２０３で行われる動作認証において使用する同期コード期待値の種類は、間欠パケット情報に対応する同期コード期待値を使用することを示す切替情報を生成し（ステップＳ２０９）、ステップＳ２１０へ進む。
【０２６９】
一方、ステップＳ２０５において、結合結果と個体認証期待値が一致しない場合（ステップＳ２０５：ＮＯ）、中間部２０は、所定数以上の個体認証データを受信するまで（ステップＳ２１２：ＮＯ）、ステップＳ２０１に戻り、個体認証データの受信及び個体検査値の結合処理を繰り返す。所定数以上の個体認証データを受信すると（ステップＳ２１２：ＹＥＳ）、中間部２０は、主制御部１０の個体認証が不成功であったと判断し、個体認証が不成功を示す個体認証結果を生成した後（ステップＳ２１３）、ステップＳ２１０へ進む。
【０２７０】
中間部２０は、生成した個体認証結果、連続パケット情報又は間欠パケット情報に対応する同期コード期待値を選択することを示す切替情報と、動作検査値用メモリに記憶している動作認証データと併せて、中間認証情報を生成する（ステップＳ２１０）。その後、中間部２０は、生成した中間認証情報を含む中間認証情報付制御信号を生成し、演出制御部２０３へ送信する（ステップＳ２１１）と共に、個体検査値用メモリ及び動作検査値用メモリに記憶されているデータを消去し、一連の処理を終了する。
【０２７１】
また、ステップＳ２０２で、受信した制御信号に各認証データが含まれていない場合、すなわち、受信した制御信号が通常の制御信号である場合（ステップＳ２０２：ＮＯ）、中間部２０は、認証処理を行わず、受信した通常の制御信号をそのまま演出制御部２０３に送信し（ステップＳ２１４）、一連の処理を終了する。
【０２７２】
次に、演出制御部２０３による認証に関する処理について説明する。図１９は、演出制御部２０３による認証に関する処理の手順の一例を示すフローチャートである。まず、演出制御部２０３は、中間部２０から制御信号を受信したか否かを判断する（ステップＳ２２１）。この判断結果が「ＮＯ」の場合には、演出制御部２０３は、同判断を繰り返す。そして、中間部２０から制御信号を受信すると、ステップＳ２２１の判断結果が「ＹＥＳ」となり、演出制御部２０３は、ステップＳ２２２へ進む。
【０２７３】
ステップＳ２２２では、演出制御部２０３は、受信した制御信号に中間認証情報が含まれているか否かを判断する。ステップＳ２２２の判断結果が「ＹＥＳ」の場合、すなわち、受信した制御信号に中間認証情報が含まれている場合、演出制御部２０３は、ステップＳ２２３へ進む。ここで、制御信号に中間認証情報が含まれているか否かの判断は、例えば、制御信号のデータ量が通常の制御信号よりも多いか否かや、制御信号において、制御コマンドデータ又は付随データを構成する任意のビット又は別個に設けられている識別データ（図示略）が、中間認証情報が含まれていることを示しているか否かを判断するか、あるいは、制御信号に含まれる制御コマンドデータが、認証処理を行うために予め設定した所定の制御コマンドの制御コマンドデータであるか否かを判断してもよい。
【０２７４】
受信した制御信号に中間認証情報が含まれている場合（ステップＳ２２２：ＹＥＳ）、すなわち、受信した制御信号が中間認証情報付制御信号の場合、演出制御部２０３は、受信した中間認証情報付制御信号に含まれている個体認証結果及び切替情報を抽出するとともに、動作認証データを抽出して復号化処理を行って同期コード及び動作コードを抽出する（ステップＳ２２３）。演出制御部２０３は、抽出した個体認証結果を個体検査値用メモリに、抽出した切替情報、同期コード及び動作コードを動作検査値用メモリに記憶して、ステップＳ２２４へ進む。また、ステップＳ２２２で、受信した制御信号に中間認証情報が含まれていない場合、すなわち、受信した制御信号が通常の制御信号ある場合（ステップＳ２２２：ＮＯ）、演出制御部２０３は、認証処理を行わず、ステップＳ２２５へ進む。
【０２７５】
次に、演出制御部２０３は、個体検査値用メモリに記憶された個体認証結果を確認して
、中間部２０で行った個体認証が成功か否かを判断する（ステップＳ２２４）。個体認証結果が成功を示す結果であった場合（ステップＳ２２４：ＹＥＳ）、演出制御部２０３は、中間部２０での個体認証が成功であったと判断し、ステップＳ２２５へ進む。個体認証結果が成功を示す結果でなかった場合（ステップＳ２２４：ＮＯ）、演出制御部２０３は、中間部２０での個体認証は不成功であり、今回のパチンコ遊技機１の認証処理は不成功であったと判断し（ステップＳ２３６）、ステップＳ２３７へ進む。
【０２７６】
ステップＳ２２５では、演出制御部２０３は、動作コードを用いた動作認証として、抽出した動作コードに含まれる機能番号の配列を確認し（ステップＳ２２５）、予め期待値として保持していた機能番号の配列順序（動作コード期待値）と一致するか否かを判断する（ステップＳ２２６）。両者が一致する場合（ステップＳ２２６：ＹＥＳ）、演出制御部２０３は、動作コードを用いた動作認証は成功であったとして、ステップＳ２２７へ進む。一方、両者が一致しない場合（ステップＳ２２６：ＮＯ）、演出制御部２０３は、主制御部１０及び中間部２０に対する動作認証は不成功であり、今回のパチンコ遊技機１の認証処理は不成功であったと判断し（ステップＳ２３６）、ステップＳ２３７へ進む。
【０２７７】
続いて、演出制御部２０３は、同期コードを用いた動作認証処理として、動作検査値用メモリに記憶されている同期コードから取得したパケット情報同士の差分を算出し、求めた差分値が示すパケット情報の相関関係を確認する（ステップＳ２２７）。そして演出制御部２０３は、予め期待値として保持していた同期コード期待値を読み出し、差分値が示す情報と同期コード期待値とが一致するか否かを判断する（ステップＳ２２８）。差分値が示す情報と同期コード期待値とが一致する場合（ステップＳ２２８：ＹＥＳ）、演出制御部２０３は、動作認証は成功であったとし（ステップＳ２２９）、ステップＳ２２４で確認した個体認証結果と併せて、今回のパチンコ遊技機１の認証処理は成功であったと判断する（ステップＳ２３０）。なお、演出制御部２０３は、抽出した動作コードに含まれる機能番号又は同期コードに含まれるパケット情報が１個の場合は、ステップＳ２２５又はステップＳ２２７の処理を行わずステップＳ２２１に戻り、複数個の機能番号又はパケット情報を取得するまで以降の処理を繰り返す。
【０２７８】
続いて、演出制御部２０３は、動作検査値用メモリに記憶されている切替情報を参照し（ステップＳ２３１）、切替情報が、次回の動作認証において使用する同期コード期待値の種類が連続パケット情報に対応した同期コード期待値か否かを判断する（ステップＳ２３２）。切替情報が連続パケット情報に対応する同期コード期待値を示すものである場合（ステップＳ２３２：ＹＥＳ）、演出制御部２０３は、次回の動作認証において使用する同期コード期待値の種類を連続パケット情報に対応する同期コード期待値を選択すると決定し（ステップＳ２３３）、ステップＳ２３５へ進む。切替情報が連続パケット情報に対応する同期コード期待値を示すものでない場合（ステップＳ２３２：ＮＯ）、演出制御部２０３は、次回の動作認証において使用する同期コード期待値の種類を間欠パケット情報に対応する同期コード期待値を選択すると決定し（ステップＳ２３４）、ステップＳ２３５へ進む。ステップＳ２３５では、演出制御部２０３は、個体検査値用メモリ及び動作検査値用メモリに記憶されているデータを消去するとともに制御コマンドデータ及び付随データに基づく処理を行った後、一連の処理を終了する。
【０２７９】
一方、ステップＳ２２８において、受信した同期コードに含まれるパケット情報同士の差分値が示す情報と同期コード期待値が一致しない場合（ステップＳ２２８：ＮＯ）、演出制御部２０３は、主制御部１０及び中間部２０に対する動作認証は不成功であり、今回のパチンコ遊技機１の認証処は不成功であったと判断し（ステップＳ２３６）、ステップＳ２３７へ進む。ステップＳ２３７では、演出制御部２０３は、制御コマンドデータ及び付随データに基づく処理を中断し、これらのデータを破棄するとともに、不正行為を報知するための報知信号を図柄表示部１０４やランプ制御部２０５、あるいはパチンコ遊技機１を管理するセンター制御装置などに送信した後、一連の処理を終了する。なお、ステップＳ２３７の処理では、演出制御部２０３は、データの破棄と報知のいずれか一方のみを行うようにしてもよい。
【０２８０】
次に、図１４、図１８及び図１９に示す処理のうち、主制御部１０での同期コードの生成に用いるパケット情報の変更処理と、演出制御部２０３での動作認証期待値としての同期コード期待値の変更処理における具体例について説明する。図２０は、主制御部１０、中間部２０、及び演出制御部２０３の間のデータの流れの一例を示すシーケンス図である。本実施の形態２では、分割数及び結合数に基づいたパケット情報の種類及び同期コード期待値の選択例として、図５に示した選択例１（ここでは、Ｘ＝３とする）を用いて説明する。
【０２８１】
まず、主制御部１０は、ステップＳ２４１の処理へ進み、任意の方法で今回の個体認証処理に用いる分割数を決定した後、ステップＳ２４２へ進む。主制御部１０は、例えば、今回の分割数を３と決定する。ステップＳ２４２では、主制御部１０は、ＲＯＭ１０ｂの記憶領域に予め記憶されている所定のプログラムコードを３個のブロック（記憶領域）に分割し、各ブロックに記憶されているプログラムコードを用いて３つの個体検査値を生成し（ステップＳ２４２）、これらの個体検査値に暗号化処理を施し個体認証データを生成する（ステップＳ２４３）。
【０２８２】
続いて、主制御部１０は、同期コードの生成に用いるパケット情報の種類を選択し、選択したパケット情報を基にして同期コードを生成する（ステップＳ２４４）。具体的には、間欠パケット情報又は連続パケット情報のいずれかのパケット情報であり、前回の認証に関する処理の際に決められている。なお、初回は予め中間部２０及び演出制御部２０３との間で決められており、ここでは、連続パケット情報とする。さらに、主制御部１０は、機能番号を用いて動作コードを生成する（ステップＳ２４５）。そして、主制御部１０は、生成された同期コード及び動作コードに対して暗号化処理を施し、動作認証データを生成し（ステップＳ２４６）、個体認証データと併せて認証データ付制御信号を生成し、中間部２０に送信する（ステップＳ２４７）。その後、主制御部１０は、ステップＳ２４１で決定した分割数に基づいて、次回の認証に関する処理の際に同期コードの生成に用いるパケット情報の種類を選択する（ステップＳ２４８）。ここでは、分割数＝３であり、Ｘ＝３で割ると余り値＝０のため、次回用いるパケット情報の種類を連続パケットから間欠パケットに変更する。
【０２８３】
次に、中間部２０における処理について説明する。中間部２０は、主制御部１０から送信された認証データ付制御信号を受信すると（ステップＳ２４９）、認証データ付制御信号から個体認証データ及び動作認証データを抽出するとともに、個体認証データから個体検査値を抽出する（ステップＳ２５０）。そして、中間部２０は、個体認証処理として、抽出した個体検査値対して主制御部１０と同一の半群演算を用いて結合処理を施す（ステップＳ２５１）。その後、結合結果を予め保持していた個体認証期待値と照合し、個体認証期待値と一致すると、中間部２０は、主制御部１０の個体認証が成功であったと判断する（ステップＳ２５２）。ここでは、３つの個体検査値を用いて結合処理を行った際に個体認証期待値と一致し、今回の結合数＝３と判明する。
【０２８４】
続いて、中間部２０は、ステップＳ２５１で判明した結合数に基づいて、次回の演出制御部２０３で行われる同期コードを用いた動作認証において使用する同期コード期待値の種類を選択する切替情報を生成する（ステップＳ２５３）。ここでは、結合数＝３であり、Ｘ＝３で割ると余り値＝０のため、次回用いる同期コード期待値の種類は間欠パケットを選択することを示す切替情報を生成する。そして、中間部２０は、個体認証結果と、切替情報と、主制御部１０より送信された動作認証データとを併せて、中間認証情報を生成し（ステップＳ２５４）、中間認証情報を含む中間認証情報付制御信号を演出制御部２０３に送信する（ステップＳ２５５）。
【０２８５】
次に、演出制御部２０３における処理について説明する。演出制御部２０３は、中間部２０から送信された中間認証情報付制御信号を受信すると（ステップＳ２５６）、中間認証情報付制御信号から個体認証結果、切替情報、及び動作認証データを抽出するとともに、動作認証データから同期コード及び動作コードを抽出する（ステップＳ２５７）。そして、演出制御部２０３は、個体認証結果が成功を示すことを確認すると、動作コードを用いた動作認証処理として、抽出した動作コードに含まれ機能番号の配列を確認する（ステップＳ２５８）。そして、演出制御部２０３は、取得した機能番号の配列と予め保持する動作コード期待値とが一致するか否かを判断し（ステップＳ２５９）、動作コード期待値と一致すると、動作コードを用いた動作認証は成功であったと判断する（ステップＳ２５９）。さらに、演出制御部２０３は、同期コードを用いた動作認証として、抽出した同期コードに含まれるパケット情報同士の差分を算出しパケット情報の相関関係を確認する（ステップＳ２６０）。その後、算出した差分値が示す情報と、予め保持する同期コード期待値とを照合する（ステップＳ２６１）。連続又は間欠パケット情報のどちらの種類の同期コード期待値を読み出すかは、前回の認証に関する処理の際に決められている。なお、初回は予め主制御部１０及び中間部２０との間で決められており、ここでは、連続パケット情報とする。今回は、中間部２０より送信された同期コードに含まれるパケット情報及び同期コード期待値とも、連続パケット情報を示すものであるので両者は一致する結果となる（ステップＳ２６１）。
【０２８６】
続いて、演出制御部２０３は、算出した差分値が示す情報と同期コード期待値とが一致すると、主制御部１０及び中間部２０に対する動作認証は成功であり（ステップＳ２６１）、ステップＳ２５７で抽出した個体認証結果と併せて、今回のパチンコ遊技機１の認証処理は成功であったと判断する（ステップＳ２６２）。そして、中間部２０より送信された切替情報を参照し、切替情報に基づいて、次回の同期コードを用いた動作認証において使用する同期コード期待値の種類を決定する（ステップＳ２６３）。今回は、同期コード期待値は連続パケット情報であり、切替情報は間欠パケット情報を示すものを受信したため、ここでは、次回用いる同期コード期待値の種類を連続パケット情報から間欠パケット情報に変更する（ステップＳ２６３）。ここまでが一連の選択処理の流れである。
【０２８７】
２回目の処理の説明に移る。まず、主制御部１０は、ステップＳ２６４の処理へ進み、任意の方法で今回の個体認証処理に用いる分割数を決定した後、ステップＳ２６５へ進む。主制御部１０は、例えば、今回の分割数を４と決定する。ステップＳ２６５では、主制御部１０は、ＲＯＭ１０ｂの記憶領域に予め記憶されている所定のプログラムコードを４個のブロック（記憶領域）に分割し、各ブロックに記憶されているプログラムコードを用いて４つの個体検査値を生成し（ステップＳ２６５）、これらの個体検査値に暗号化処理を施し個体認証データを生成する（ステップＳ２６６）。
【０２８８】
続いて、主制御部１０は、同期コードの生成に用いるパケット情報の種類を選択し、選択したパケット情報を基にして同期コードを生成する（ステップＳ２６７）。具体的には、間欠パケット情報又は連続パケット情報のいずれかのパケット情報であり、前回の認証に関する処理の際に決められている。ここでは、間欠パケット情報である。さらに、主制御部１０は、機能番号を用いて動作コードを生成する（ステップＳ２６８）。そして、主制御部１０は、生成された同期コード及び動作コードに対して暗号化処理を施し、動作認証データを生成し（ステップＳ２６９）、個体認証データと併せて認証データ付制御信号を生成し、中間部２０に送信する（ステップＳ２７０）。その後、主制御部１０は、ステップＳ２６４で決定した分割数に基づいて、次回の認証に関する処理の際に同期コードの生成に用いるパケット情報の種類を選択する（ステップＳ２７１）。ここでは、分割数＝４であり、Ｘ＝３で割ると余り値＝１のため、次回用いるパケット情報の種類は間欠パケット情報のまま継続する。
【０２８９】
次に、中間部２０における処理について説明する。中間部２０は、主制御部１０から送信された認証データ付制御信号を受信すると（ステップＳ２７２）、認証データ付制御信号から個体認証データ及び動作認証データを抽出するとともに、個体認証データから個体検査値を抽出する（ステップＳ２７３）。そして、中間部２０は、個体認証処理として、抽出した個体検査値対して主制御部１０と同一の半群演算を用いて結合処理を施す（ステップＳ２７４）。その後、結合結果を予め保持していた個体認証期待値と照合し、個体認証期待値と一致すると、中間部２０は、主制御部１０の個体認証は成功であったと判断する（ステップＳ２７５）。ここでは、４つの個体検査値を用いて結合処理を行った際に個体認証期待値と一致し、今回の結合数＝４と判明する。
【０２９０】
続いて、中間部２０は、ステップＳ２７４で判明した結合数に基づいて、次回の演出制御部２０３で行われる同期コードを用いた動作認証において使用する同期コード期待値の種類を選択する切替情報を生成する（ステップＳ２７６）。ここでは、結合数＝４であり、Ｘ＝３で割ると余り値＝１のため、次回用いる同期コード期待値の種類は間欠パケットを選択することを示す切替情報を生成する。そして、中間部２０は、個体認証結果と、切替情報と、主制御部１０より送信された動作認証データとを併せて、中間認証情報を生成し（ステップＳ２７７）、中間認証情報を含む中間認証情報付制御信号を演出制御部２０３に送信する（ステップＳ２７８）。
【０２９１】
次に、演出制御部２０３における処理について説明する。演出制御部２０３は、中間部２０から送信された中間認証情報付制御信号を受信すると（ステップＳ２７９）、中間認証情報付制御信号から個体認証結果、切替情報、及び動作認証データを抽出するとともに、動作認証データから同期コード及び動作コードを抽出する（ステップＳ２８０）。そして、演出制御部２０３は、個体認証結果が成功を示すことを確認すると、動作コードを用いた動作認証処理として、抽出した動作コードに含まれ機能番号の配列を確認する（ステップＳ２８１）。そして、演出制御部２０３は、取得した機能番号の配列と予め保持する動作コード期待値とが一致するか否かを判断し（ステップＳ２８２）、動作コード期待値と一致すると、動作コードを用いた動作認証が成功であったと判断する（ステップＳ２８２）。さらに、演出制御部２０３は、同期コードを用いた動作認証として、抽出した同期コードに含まれるパケット情報同士の差分を算出しパケット情報の相関関係を確認する（ステップＳ２８３）。その後、算出した差分値が示す情報と、予め保持する同期コード期待値とを照合する（ステップＳ２８４）。連続又は間欠パケット情報のどちらの種類の同期コード期待値を読み出すかは、前回の認証に関する処理の際に決められている。ここでは、間欠パケット情報である。今回は、中間部２０より送信された同期コードに含まれるパケット情報及び同期コード期待値とも、間欠パケット情報を示すものであるので両者は一致する結果となる（ステップＳ２８４）。
【０２９２】
続いて、演出制御部２０３は、算出した差分値が示す情報と同期コード期待値とが一致すると、主制御部１０及び中間部２０に対する動作認証は成功であり（ステップＳ２８４）、ステップＳ２８０で抽出した個体認証結果と併せて、今回のパチンコ遊技機１の認証処理は成功であったと判断する（ステップＳ２８５）。そして、中間部２０より送信された切替情報を参照し、切替情報に基づいて、次回の同期コードを用いた動作認証において使用する同期コード期待値の種類を決定する（ステップＳ２８６）。今回は、同期コード期待値は間欠パケット情報であり、切替情報は間欠パケット情報を示すものを受信したため、ここでは、次回用いる同期コード期待値の種類は間欠パケット情報のまま継続する（ステップＳ２８６）。ここまでが一連の選択処理の流れである。
【０２９３】
３回目の処理の説明に移る。まず、主制御部１０は、ステップＳ２８７の処理へ進み、任意の方法で今回の個体認証処理に用いる分割数を決定した後、ステップＳ２８８へ進む。主制御部１０は、例えば、今回の分割数を５と決定する。ステップＳ２８８では、主制御部１０は、ＲＯＭ１０ｂの記憶領域に予め記憶されている所定のプログラムコードを５個のブロック（記憶領域）に分割し、各ブロックに記憶されているプログラムコードを用いて５つの個体検査値を生成し（ステップＳ２８８）、これらの個体検査値に暗号化処理を施し個体認証データを生成する（ステップＳ２８９）。
【０２９４】
続いて、主制御部１０は、同期コードの生成に用いるパケット情報の種類を選択し、選択したパケット情報を基にして同期コードを生成する（ステップＳ２９０）。具体的には、間欠パケット情報又は連続パケット情報のいずれかのパケット情報であり、前回の認証に関する処理の際に決められている。ここでは、間欠パケット情報である。さらに、主制御部１０は、機能番号を用いて動作コードを生成する（ステップＳ２９１）。そして、主制御部１０は、生成された同期コード及び動作コードに対して暗号化処理を施し、動作認証データを生成し（ステップＳ２９２）、個体認証データと併せて認証データ付制御信号を生成し、中間部２０に送信する（ステップＳ２９３）。その後、主制御部１０は、ステップＳ２８７で決定した分割数に基づいて、次回の認証に関する処理の際に同期コードの生成に用いるパケット情報の種類を選択する（ステップＳ２９４）。ここでは、分割数＝５であり、Ｘ＝３で割ると余り値＝２のため、次回用いるパケット情報の種類を間欠パケットから連続パケット情報に変更する。
【０２９５】
次に、中間部２０における処理について説明する。中間部２０は、主制御部１０から送信された認証データ付制御信号を受信すると（ステップＳ２９５）、認証データ付制御信号から個体認証データ及び動作認証データを抽出するとともに、個体認証データから個体検査値を抽出する（ステップＳ２９６）。そして、中間部２０は、個体認証処理として、抽出した個体検査値対して主制御部１０と同一の半群演算を用いて結合処理を施す（ステップＳ２９７）。その後、結合結果を予め保持していた個体認証期待値と照合し、個体認証期待値と一致すると、中間部２０は、主制御部１０の個体認証が成功であったと判断する（ステップＳ２９８）。ここでは、５つの個体検査値を用いて結合処理を行った際に個体認証期待値と一致し、今回の結合数＝５と判明する。
【０２９６】
続いて、中間部２０は、ステップＳ２９７で判明した結合数に基づいて、次回の演出制御部２０３で行われる同期コードを用いた動作認証において使用する同期コード期待値の種類を選択する切替情報を生成する（ステップＳ２９９）。ここでは、結合数＝５であり、Ｘ＝３で割ると余り値＝２のため、次回用いる同期コード期待値の種類は連続パケットを選択することを示す切替情報を生成する。そして、中間部２０は、個体認証結果と、切替情報と、主制御部１０より送信された動作認証データとを併せて、中間認証情報を生成し（ステップＳ３００）、中間認証情報を含む中間認証情報付制御信号を演出制御部２０３に送信する（ステップＳ３０１）。
【０２９７】
次に、演出制御部２０３における処理について説明する。演出制御部２０３は、中間部２０から送信された中間認証情報付制御信号を受信すると（ステップＳ３０２）、中間認証情報付制御信号から個体認証結果、切替情報、及び動作認証データを抽出するとともに、動作認証データから同期コード及び動作コードを抽出する（ステップＳ３０３）。そして、演出制御部２０３は、個体認証結果が成功を示すことを確認すると、動作コードを用いた動作認証処理として、抽出した動作コードに含まれ機能番号の配列を確認する（ステップＳ３０４）。そして、演出制御部２０３は、取得した機能番号の配列と予め保持する動作コード期待値とが一致するか否かを判断し（ステップＳ３０５）、動作コード期待値と一致すると、動作コードを用いた動作認証は成功であったと判断する（ステップＳ３０５）。さらに、演出制御部２０３は、同期コードを用いた動作認証として、抽出した同期コードに含まれるパケット情報同士の差分を算出しパケット情報の相関関係を確認する（ステップＳ３０６）。その後、算出した差分値が示す情報と、予め保持する同期コード期待値とを照合する（ステップＳ３０７）。連続又は間欠パケット情報のどちらの種類の同期コード期待値を読み出すかは、前回の認証に関する処理の際に決められている。ここでは、間欠パケット情報である。今回は、中間部２０より送信された同期コードに含まれるパケット情報及び同期コード期待値とも、間欠パケット情報を示すものであるので両者は一致する結果となる（ステップＳ３０７）。
【０２９８】
続いて、演出制御部２０３は、算出した差分値が示す情報と同期コード期待値とが一致すると、主制御部１０及び中間部２０に対する動作認証が成功であり（ステップＳ３０７）、ステップＳ３０３で抽出した個体認証結果と併せて、今回のパチンコ遊技機１の認証処理は成功であったと判断する（ステップＳ３０８）。そして、中間部２０より送信された切替情報を参照し、切替情報に基づいて、次回の同期コードを用いた動作認証において使用する同期コード期待値の種類を決定する（ステップＳ３０９）。今回は、同期コード期待値は間欠パケット情報であり、切替情報は連続パケット情報を示すものを受信したため、ここでは、次回用いる同期コード期待値の種類を間欠パケットから連続パケット情報に変更する（ステップＳ３０９）。以上が一連の選択処理の流れである。
【０２９９】
以上説明したように、本実施の形態２のパチンコ遊技機１は、中間部２０及び周辺部３０（演出制御部２０３）での認証に関する処理が、実施の形態１のパチンコ遊技機１と異なり、中間部２０で個体認証、周辺部３０（演出制御部２０３）で動作認証を行うものであり、本実施の形態１と同様の効果を得ることができる。
【０３００】
＜＜実施の形態３＞＞
上記実施の形態１，２では、中間部２０と演出制御部２０３とは別個のハードウェア構成とする例を示したが、これに限定されない。
例えば、実施の形態１に関していえば、中間部２０を構成するＣＰＵ２０ａが有する機能と演出制御部２０３を構成するＣＰＵ２０３ａが有する機能を１個のＣＰＵが有するように構成するとともに、中間部２０を構成するＲＯＭ２０ｂに記憶されているプログラムコードやそれ以外の固定データと演出制御部２０３を構成するＲＯＭ２０３ｂに記憶されているプログラムコードやそれ以外の固定データを１個のＲＯＭに記憶するように構成してもよい。この場合、中間部２０と演出制御部２０３との間におけるデータの送受信は、例えば、中間部２０を構成するＲＡＭ２０ｃのワークエリアとして機能するとともに、演出制御部２０３を構成するＲＡＭ２０３ｃのワークエリアとして機能する１個のＲＡＭにおいて、ある記憶領域から他の記憶領域へのデータの複写や参照すべきアドレスの書き換えなどにより実現することができる。
【０３０１】
但し、上記のような場合、１個のＣＰＵが２個のＣＰＵの機能を備えることになるので、一般的には処理負荷が増大する。そこで、例えば、デュアルＣＰＵの構成により中間部２０の処理を行う、などが考えられる。
【０３０２】
本実施の形態３のパチンコ遊技機１は中間部２０と演出制御部２０３とを１個のソフトウェアで構成したので、実施の形態１及び２において得られる効果の他に、さらに以下に示す効果が得られる。
【０３０３】
１．並行開発及び情報セキュリティ向上
演出制御部と中間部とがソフトウェア構成上分離独立している場合は、演出制御部及び中間部をそれぞれ並行して個別に開発することが可能であり、これにより、例えば、以下に示す効果が得られる。
【０３０４】
［１］演出制御部と中間部とについて同時に設計、開発を行うことができるため、並行開発できない場合と比較して、製品の開発期間を短縮することができる。
［２］演出制御部と中間部とについてそれぞれ独立した開発体制をとることができるため、演出制御部と中間部の設計製造検証を行う際の業務上の機密情報（例えば、認証処理の方式など、遊技に関する処理など）を、それぞれの開発体制外に流出させる可能性を減らすことができる。
【０３０５】
２．検証の容易性
演出制御部と中間部とがソフトウェア構成上分離独立している場合は、演出制御部及び中間部に対しそれぞれ個別に検証を行うことが可能である。したがって、演出制御部と中間部とが分離されていないものに対する検証を行う場合と比較し、それぞれの機能が狭い機能で閉じているため、短期間かつ少人数で検証を行うことができる。
【０３０６】
３．認証用のハードウェアとして、演出制御部とは別個のＣＰＵ又は専用集積回路などを設けることができない場合であっても、ソフトウェアで容易に認証機能を追加することができる。
【０３０７】
４．演出制御部の処理負荷軽減
中間部に実装する認証機能を演出制御部のソフトウェアで実装する場合、演出制御部の処理負荷が増大することになる。そこで、演出制御部を構成するＣＰＵとしてデュアルコアＣＰＵを用いることが考えられる。認証処理を実現するための処理負荷をデュアルコアＣＰＵを利用することによって、処理の分散を図ることが可能になるため、演出制御部の既存の遊技処理をできる限り影響しないように、認証機能を追加することができ、認証機能の実現が容易になる。
【０３０８】
＜＜その他の実施の形態＞＞
本発明の具体的な構成は上記各実施の形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計の変更等があっても本発明に含まれる。
例えば、実施の形態１では、主制御部１０と演出制御部２０３との間に中間部２０を設ける例を示したが、これに限定されず、主制御部１０と賞球制御部２０４との間に中間部２０を設けてもよい。この場合、賞球制御部２０４は報知手段を備えていないが、主制御部１０と賞球制御部２０４との間は双方向通信が可能であるので、認証が不成功となった場合には、賞球制御部２０４から主制御部１０に対して、制御コマンドデータ及び付随データとともに認証が不成功となった旨のデータを送信するように構成してもよい。そして、主制御部１０は、上記不成功となった旨のデータを中間部２０を介して演出制御部２０３に送信し、演出制御部２０３において、不成功となった旨のデータに基づいて、不正行為が行われたことを報知させる。
また、実施の形態１〜３に係るパチンコ遊技機１では、中間部２０をＣＰＵ、ＲＯＭ、ＲＡＭ等を備えて構成しているが、同様の機能を持たせたＬＳＩ等の集積回路として実現するようにしてもよい。
【０３０９】
また、実施の形態１〜３に係るパチンコ遊技機１では、主制御部１０と、中間部２０及び周辺部３０は少なくとも別個のＣＰＵ、ＲＯＭ、ＲＡＭ等を備えて構成され、各部の機能は別個のプログラム上で実現されているが、一つのミドルウェアで、各部の機能を実現するように構成してもよい。これにより、遊技機の新機種開発において、汎用性の高いミドルウェアとして認証機能を付加させることができ、他機種への水平展開が容易となり機種ごとの設計変更は軽微なもので済むため、低コスト化の実現に貢献することができる。
【０３１０】
また、実施の形態１〜３に係るパチンコ遊技機１において、主制御部１０は、個体検査値を生成するための所定のデータの分割方法として、乱数生成回路や乱数生成プログラムなどによって生成された値を分割数として決定し、所定のデータを決定された分割数の個数に分割していたが、これに限定されない。主制御部１０は、個体検査値生成の対象となる各データブロックを構成するデータの量（以下、データ量という）を決定し、主制御部１０は、所定の記憶領域内の所定のデータを、決定したデータ量の分だけ分割する。そして、主制御部１０は、データ量で分割されたそれぞれのデータブロックごとに半群演算を行って、主制御部１０を認証するための分割したデータブロック数分の個体検査値を生成する。すなわち、分割して得られたデータブロックの数が分割数になる。データ量の決定方法は、乱数生成回路や乱数生成プログラムの他、主制御部１０の他の処理において生成される値を所定のタイミングで参照し、その値をデータ量としたりする方法が考えられる。
【０３１１】
この場合、主制御部１０は、１つの個体検査値を生成するごとに、その生成に用いるデータ量を決定すると、主制御部１０の所定の記憶領域内の所定のデータの全てを用いて、個体検査値の生成が完了するまで、データ量の決定と個体検査値の生成とを繰り返すこととなる。このとき、いくつの個体検査値が生成されるか（すなわち、分割数がいくつになるか）は、所定の記憶領域内の所定のデータの全てを用いて個体検査値を生成するまで判明しない。このように、分割数そのものを決定するのではなく、個体検査値の生成に用いるデータ量を決定することで、分割数が不正に窃取される可能性を低減することができる。なお、主制御部１０は、１つの個体検査値を生成するごとにデータ量を決定するのではなく、予め個体検査値の生成に用いるデータ量を決定しておいてもよい。また、全ての個体検査値の生成に用いるデータ量を等しくするようにしてもよく、このときはデータ量を決定した時点で分割数が予測可能となる。
【０３１２】
また、実施の形態１〜３に係るパチンコ遊技機１において、主制御部１０は、同期コードに含まれるパケット情報として連続パケット情報及び間欠パケット情報の２種類のパケット情報から選択するとしたが、これに限定されず、複数種類のパケット情報から選択してもよい。パケット情報の種類は、連続して生成されたパケット情報間の相関条件の値（例えば、パケット情報の基本値の差分値）によって決まる。複数種類のパケット情報は、それぞれ異なる相関関係を有する異なる種類のパケット情報である。この場合、主制御部１０は、分割数に基づいて複数種類のパケット情報の中から一つを選択し、選択したパケット情報を次回の同期コードの生成に用いる。中間部２０又は周辺部３０は、結合数に基づく動作認証ルールや切替情報に従って、パケット情報の種類に固有の相関関係を示す情報である複数種類の動作認証期待値の中から一つを選択し、選択した動作認証期待値を用いて次回の動作認証を行う。
【０３１３】
また、実施の形態１〜３に係るパチンコ遊技機１は、所定の半群演算を用いて個体検査値を生成し、所定の個体認証期待値を用いて個体認証処理を行うとしたが、これに限定されない。主制御部１０は、複数の半群演算を予め用意しておき、今回の分割数に基づいて、複数の半群演算の中から次回の個体検査値の生成に用いる１個の半群演算を選択するように構成し、中間部２０又は周辺部３０は、主制御部１０における半群演算の切り替えに対応して、今回の結合数に基づいて、次回の結合処理時に用いる半群演算及び個体認証期待値を切り替えるように構成してもよい。具体的には、主制御部１０は、例えば、今回の分割数が奇数の場合は次回の半群演算を今回用いたものと異なるものを選択し、今回の分割数が偶数の場合は次回の半群演算を今回用いたものと同一のものを選択する。また、中間部２０又は周辺部３０は、今回の結合数が奇数の場合には次回の結合処理時の半群演算及び個体認証期待値を今回用いたものと異なるものを選択し、今回の結合数が偶数の場合には次回の結合処理時に用いる半群演算及び個体認証期待値を今回用いたものと同一のものを選択する。この場合、初回の半群演算については、主制御部１０と中間部２０又は周辺部３０との間で同一の方式を利用するものと予め設定しておく。分割数は主制御部１０のみが知り得る値であり、結合数は個体認証が成功して初めて中間部２０又は周辺部３０が知り得る値である。よって、不正行為者は、主制御部１０における半群演算や中間部２０又は周辺部３０における個体認証期待値などの切り替えタイミングを知ることができない。これにより、主制御部１０、中間部２０又は周辺部３０の間の処理に対する認証強度を向上させることができる。
【０３１４】
また、本実施の形態１〜３に係るパチンコ遊技機１では、所定のタイミング、例えば、所定の制御コマンドを送信する場合にのみ個体認証データ及び動作認証データを付加するようにしてもよい。この場合、主制御部１０は、制御コマンドが所定の制御コマンドか否かを判断し、所定の制御コマンドの場合に個体認証データ及び動作認証データを生成する。主制御部１０は、生成した個体認証データ及び動作認証データを制御コマンドに付加した認証データ付制御信号を中間部２０又は周辺部３０に送信する。なお、主制御部１０は、生成した個体認証データ及び動作認証データの全てを送信するまでは、所定のタイミング（例えば、所定の制御コマンドの送信タイミング）になっても新たに個体認証データ及び動作認証データを生成せずに認証データ付制御信号の送信を行う。このように、所定のタイミングのときにのみ個体認証データ及び動作認証データを生成することにより、認証データの生成回数を制限することができ、認証処理による処理負荷を低減することができる。
【０３１５】
ここで、所定の制御コマンドとは、パチンコ遊技機１の通電中において、パチンコ遊技機１の動作（例えば、初期化動作や演出動作あるいは客待ちデモンストレーションなど）を指示するために、各種の制御コマンドの中から任意に選定した特定の制御コマンドをいう。所定の制御コマンドとは、より具体的に例を挙げれば、大当たり状態の継続中に送信される大当たりコマンド、大当たり状態の処理を開始させるための大当たり開始コマンド、大当たり状態の処理を終了させるための大当たり終了コマンド、周辺部３０に大当たり前のリーチ状態の処理を実行させるための大当たりリーチコマンド、周辺部３０に電源投入時の処理を実行させるための電源投入コマンド、周辺部３０に非遊技状態におけるデモ表示を実行させるための客待ちデモコマンド、周辺部３０に非遊技状態におけるデモ表示を停止させるための客待ちデモ停止コマンド、周辺部３０に抽選時の抽選結果がはずれの場合の処理を実行させるためのはずれコマンド、普通電動役物（電動チューリップ）の開放抽選やいわゆるフェイクと呼ばれる大当たりと同様に特別電動役物が短時間だけ開放するような小当たり状態の継続中に送信される小当たりコマンドなどをいう。所定の制御コマンドとしては、上記のものの他、例えば、電源オフコマンド、はずれリーチコマンド、はずれ非リーチコマンド、ラウンド開始コマンド、ラウンド終了コマンドなどがある。
【０３１６】
このように構成されるパチンコ遊技機１では、所定の制御コマンドを送信するタイミングで、主制御部１０の正当性を認証するための認証データを用いて認証処理を行う。認証処理を行うことによって主制御部１０や周辺部３０の処理負荷が増大するのは、所定の制御コマンドの制御コマンドデータ３０１を受信している期間のみであり、主制御部１０や周辺部３０の処理負荷が増大する割合を抑えることができる。
【０３１７】
また、所定の制御コマンドの制御コマンドデータにのみ認証データが付加されるので、周辺部３０が実行するプログラムには所定の制御コマンドに関する認証処理を追加するだけでよい。したがって、周辺部３０が実行するプログラム全体にわたる新たなタイミングの設計する必要がないので、すべての制御コマンドの制御コマンドデータに認証データが付加される場合と比較して、認証機能を追加するタイミングの設計、機能の実装、機能の検証など、より簡単に、少ない作業工数で実現することができる。
【０３１８】
また、主制御部１０は、中間部２０に所定の制御コマンドを送信する場合のみ、制御コマンドデータに個体認証データ又は動作認証データの少なくともいずれかを付加する場合、認証処理が行われるのは所定の制御コマンドの制御コマンドデータの送信時のみであるので、主制御部１０や周辺部３０の処理負荷が認証処理によって増大する割合を抑えることができる。所定の制御コマンドが大当たりコマンドである場合、大当たりコマンドは大当たり中のラウンドごとに送信されるため、大当たり状態にある一定期間中に複数回の認証処理を行うこととなり、認証処理の確度を向上させることができる。
【０３１９】
また、所定の制御コマンドが大当たり開始コマンドや大当たり終了コマンドである場合、大当たり開始コマンドや大当たり終了コマンドは、大当たり状態を開始又は終了させる制御コマンドであり、他の制御コマンドと比較して、送信頻度が低い。したがって、制御信号の中から認証データが抽出される可能性を低減することができる。また、制御信号の中から認証データが抽出されても、取得できるサンプル数が少ないため、認証データが解析される危険性を低減することができる。
【０３２０】
また、所定の制御コマンドが大当たりリーチコマンドである場合、大当たりリーチは、大当たりと比較して発生頻度が高い。また、大当たりリーチの発生タイミングはランダム性を有する。したがって、大当たりリーチコマンドデータを送信する際に認証処理を行うことにより、時間軸上における認証処理の実施位置が分散される。そして、このように時間軸上における認証処理の実施位置を分散することによって、認証処理の信頼性を向上させることができる。これは、認証データの通信不具合や認証データの改ざんが一定の期間行われた場合であっても、時間をおいてランダムに認証処理が行われるので、通信不具合や改ざんの影響を回避できる可能性が高くなるためである。
【０３２１】
さらに、所定の制御コマンドが電源投入コマンドである場合、電源投入コマンドは、パチンコ遊技機１の電源の投入時やリセット時など、パチンコ遊技機１の初期化処理を行う際に送信される。初期化処理は、パチンコ遊技機１のメインの処理である遊技（ゲーム進行）関連処理とは異なる処理区分に分類される。したがって、本発明のように、初期化処理中に認証処理を組み込めば、遊技関連処理中に認証処理を組み込む場合と比較して、プログラム設計やテストにかかる工程（工数）が増加する割合を低減することができる。すなわち、初期化処理中に認証処理を組み込むことによって、開発コストの低減や品質管理上のメリットを得ることができる。また、初期化処理中に認証処理を組み込めば、パチンコ遊技機１の起動直後に認証処理を行うため、遊技店が閉店した後に不正が行われた場合などであっても、顧客が入店する前に不正を検出することができる。よって、不正による被害が発生する危険性を低減することができる。
【０３２２】
また、所定の制御コマンドが客待ちデモコマンド又は客待ちデモ停止コマンドである場合、客待ちデモコマンド又は客待ちデモ停止コマンドは、パチンコ遊技機１が非遊技状態、すなわち、パチンコ遊技機１のメインの処理である遊技（ゲーム進行）関連処理が行われていない場合に送信されるので、認証処理による処理負荷の増大が遊技関連処理に影響を与えることがない。このため、主制御部１０や周辺部３０が高度な処理能力を有していない場合や、遊技関連処理の処理負荷が大きいパチンコ遊技機１であっても、認証処理機能を追加することができる。また、客待ちデモコマンド及び客待ちデモ停止コマンドは、顧客がパチンコ遊技機１を操作する前に発行されるコマンドであるので、顧客がパチンコ遊技機１を操作する前に不正行為を検出することができる。
【０３２３】
さらに、所定の制御コマンドがはずれコマンドである場合、「はずれ」は、抽選時の抽選結果として最も発生頻度が高いので、はずれコマンドデータの送信時に制御コマンドに認証データ３０３を付加することとすれば、抽選から認証処理への流れをパチンコ遊技機１の処理の基本形とみなすことができる。一方、大当たりリーチ時や大当たり時の処理は、パチンコ遊技機１の機種ごとに演出方法が変更されるなど、特殊な処理に区分されるが、はずれ時の処理はパチンコ遊技機１の機種ごとの差異が少ない。このため、本実施の形態１のように、はずれ時の処理に認証処理を組み込めば、認証処理の流れに大きな変更を加えることなく、パチンコ遊技機１の本体を他の機種に再利用することが可能となる。
【０３２４】
また、中間部２０は、周辺部３０に所定の制御コマンドを送信する場合のみ、制御コマンドに中間認証情報を付加するようにしてもよい。この場合、中間部２０の認証処理が行われるのは所定の制御コマンドの送信時のみであるので、周辺部３０の処理負荷が認証処理によって増大する割合を抑えることができる。また、この場合、中間部２０が実行するプログラムには所定の制御コマンドに関する認証処理を追加するだけでよい。したがって、中間部２０が実行するプログラム全体にわたる新たなタイミングの設計する必要がないので、すべての制御コマンドに中間認証情報が付加される場合と比較して、認証機能を追加するタイミングの設計、機能の実装、機能の検証など、より簡単に、少ない作業工数で実現することができる。
【０３２５】
また、実施の形態１〜３に係るパチンコ遊技機１は、主制御部１０は、個体認証データ及び動作認証データが付加された認証データ付制御信号の他に、制御コマンドデータ及び付随データに個体認証データのみを付加した個体認証データ付制御信号や、制御コマンドデータ及び付随データに動作認証データのみを付加した動作認証データ付制御信号を各々中間部２０又は周辺部３０に送信するようにしてもよい。また、中間部２０は、中間認証情報を構成する各種認証結果や各種認証データを別の制御信号に付加し、それぞれ別々に周辺部３０に送信してもよい。
【０３２６】
また、実施の形態１〜３に係るパチンコ遊技機１は、制御コマンドを送信する際に、個体認証データ及び動作認証データを制御コマンドに付加すると説明したが、本発明に係る遊技機はこれに限定されない。主制御部１０は、制御コマンドとは異なるデータ信号に認証データを付加して中間部２０又は周辺部３０に送信してもよい。例えば、任意のデータ信号に対して所定時間毎に認証データを付加して送信するなど、主制御部１０と中間部２０又は周辺部３０との間で認証データを送受信するタイミングを予め設定しておけばよい。また、主制御部１０は、認証データが付加されたデータ信号を、その旨が分かるような、制御コマンドとは異なるデータ構造となるように出力すればよい。
また、主制御部１０は、認証データをデータ信号に付加せずに、認証データそのものをデータ信号として送信してもよい。
【０３２７】
また、実施の形態１〜３に係るパチンコ遊技機１は、所定の生成方式を用いて動作コードを生成し、所定の動作コード期待値を用いて動作コードによる動作認証に関する処理を行うとしたが、これに限定されない。主制御部１０は、複数の動作コード生成方式を予め用意しておき、今回の分割数に基づいて、複数の動作コード生成方式の中から次回の動作コードの生成に用いる１個の動作コード生成方式を選択するように構成し、中間部２０又は周辺部３０は、主制御部１０における動作コード生成方式の切り替えに対応して、結合数に基づいて動作コード生成方式及び動作コード期待値を切り替えるように構成してもよい。具体的には、主制御部１０は、例えば、今回の分割数が奇数の場合は次回の動作コード生成方式を今回用いた動作コード生成方式と異なるものを選択し、今回の分割数が偶数の場合は次回の動作コード生成方式を今回用いた動作コード生成方式と同一のものを選択する。また、中間部２０又は周辺部３０は、結合数が奇数の場合には動作コード期待値を切り替え、結合数が偶数の場合には前回用いた動作コード期待値を継続して使用する。この場合、初回の動作コード生成方式については、主制御部１０と中間部２０又は周辺部３０との間で同一の方式を利用するものと予め設定しておく。分割数は主制御部１０のみが知る値であり、結合数は個体認証が成功して初めて中間部２０又は周辺部３０が知り得る値である。よって、不正行為者は分割数及び結合数を知ることができず、動作コード生成方式の切り替えタイミングを知ることができない。このため、不正行為者が動作コードを不正に生成することを防止し、主制御部１０、中間部２０又は周辺部３０の間の処理に対する認証強度を向上させることができるとともに、上記不正行為及び遊技機の誤動作を検知することができ、これらに起因する不正な制御コマンドの実行を防止することができる。
【０３２８】
また、実施の形態１〜３に係るパチンコ遊技機１において、動作コードとして機能番号を用いる場合、機能番号を主制御部１０によって実行されるプログラムの所定の機能を実行するための処理毎に実行される順番に従って連続して増加又は減少する番号を重複なく割り当てておいてもよい。このように機能番号を割り当てることにより、中間部２０又は周辺部３０は、受信した動作認証データから動作コードを抽出し、受信した順に動作コードの値が連続しているか否かを判定することで動作認証を行うことができる。すなわち、中間部２０又は周辺部３０は、動作認証に関する処理を行うために、予め動作コード期待値を記憶しておいたり、受信した動作コードと動作コード期待値とを用いて照合処理を行ったりする必要がない。これにより、中間部２０又は周辺部３０の動作認証に関する処理による処理負荷や、中間部２０又は周辺部３０の記憶領域を占める動作コードによる動作認証に関するデータ量を低減することができる。
【０３２９】
また、実施の形態１〜３に係るパチンコ遊技機１において、動作コードとして機能番号及び認証回数を例示したが、動作コードとして制御コマンドの送信回数を用いてもよい。この場合、中間部２０又は周辺部３０は、受信した制御コマンドの数、すなわち、制御コマンドの受信回数を動作認証用の期待値として動作認証に関する処理を行えばよい。主制御部１０は、制御コマンドの送信タイミングになったら、自身の動作検査値用メモリに記憶されている制御コマンドの送信回数の値を＋１して更新し、更新した送信回数を動作コードとして取得する。主制御部１０は、取得した動作コードに所定の演算や暗号化処理を施して動作認証データを生成し、生成した動作認証データを上記制御コマンドに付加して中間部２０又は周辺部３０に送信する。中間部２０又は周辺部３０は、動作認証データを付加された制御コマンドを受信したら、動作認証データを抽出するとともに自身の動作検査値用メモリに記憶されている動作コード期待値の値を＋１して更新し、抽出した動作認証データと更新した動作コード期待値とを用いて動作認証に関する処理を行う。
【０３３０】
また、動作コードとして主制御部１０が生成した個体検査値の数（すなわち分割数の総数）を用いてもよい。この場合、中間部２０又は周辺部３０は、主制御部１０から送信された個体認証データの数（すなわち、結合数の総数）を動作コード期待値として動作認証に関する処理を行えばよい。主制御部１０は、動作コードの更新タイミングになったら、動作コードとして自身の動作検査値用メモリに記憶されている個体検査値の数に今回新たに生成した個体検査値の数を加算して個体検査値の数（動作コード）を更新する。中間部２０又は周辺部３０は、動作コード期待値の更新タイミングになったら、自身の動作検査値用メモリ記憶されている動作コード期待値の値に今回の個体認証処理の対象となった個体検査値の数（すなわち、今回の結合数）を加算して動作コード期待値を更新する。なお、中間部２０又は周辺部３０において、個体認証と動作コードを用いた動作認証（中間動作認証を含む）とを実行する場所が異なる場合は、個体認証を実行した制御部から動作コードを用いた動作認証を実行した場所へ、今回の結合数を示す情報を相互で共有できるように通知することとすればよい。
【０３３１】
また、上記各実施の形態では、本発明をパチンコ遊技機に適用する例を示したが、これに限定されず、本発明は、雀球遊技機、アレンジボール等のパチンコ遊技機以外の弾球遊技機、スロットマシン等の回胴式遊技機などの他の遊技機にも適用することができる。これらの遊技機においても、上記各実施の形態と同様に構成することにより、上記各実施の形態と同様の効果を得ることができる。
また、上記各実施の形態は、その目的及び構成等に特に矛盾や問題がない限り、互いの技術を流用することができる。
【符号の説明】
【０３３２】
１        パチンコ遊技機
１０      主制御部
１０ａ，２０ａ，２０３ａ，２０４ａ    ＣＰＵ
１０ｂ，２０ｂ，２０３ｂ，２０４ｂ    ＲＯＭ
１０ｃ，２０ｃ，２０３ｃ，２０４ｃ    ＲＡＭ
１１      データ記憶手段
１２      決定手段
１３      個体検査値生成手段
１４      動作検査値生成手段
２０      中間部
２１      期待値記憶手段
２２      中間認証手段
３０      周辺部
３１      期待値記憶手段
３２      認証手段
２０３    演出制御部
２０３ｄ  ＶＲＡＭ
２０４    賞球制御部
３０１    制御コマンドデータ
３０２    付随データ
３０３    個体認証データ
３０４    動作認証データ
３０４ａ  同期コード
３０４ｂ  動作コード
３０５    中間認証情報
３１０    通常の制御信号
３２０    認証データ付制御信号
３３０    中間認証情報付制御信号
【図１】
2011177255.tif 000003
【図２】
2011177255.tif 000004
【図３】
2011177255.tif 000005
【図４】
2011177255.tif 000006
【図５】
2011177255.tif 000007
【図６】
2011177255.tif 000008
【図７】
2011177255.tif 000009
【図８】
2011177255.tif 000010
【図９】
2011177255.tif 000011
【図１０】
2011177255.tif 000012
【図１１】
2011177255.tif 000013
【図１２】
2011177255.tif 000014
【図１３】
2011177255.tif 000015
【図１４】
2011177255.tif 000016
【図１５】
2011177255.tif 000017
【図１６】
2011177255.tif 000018
【図１７−Ａ】
2011177255.tif 000019
【図１７−Ｂ】
2011177255.tif 000020
【図１７−Ｃ】
2011177255.tif 000021
【図１８】
2011177255.tif 000022
【図１９】
2011177255.tif 000023
【図２０−Ａ】
2011177255.tif 000024
【図２０−Ｂ】
2011177255.tif 000025
【図２０−Ｃ】
2011177255.tif 000026