(57)【要約】【課題】従来の遊技機では、セキュリティの強度を大きくすると設計上の制約が生じる。【解決手段】主制御部２ａからリーチ演出を行う変動パターンを指定するための大当たりリーチコマンドおよび制御データ、自らが正当であることを認証させるための第１の認証データ、ＣＰＵが実行する命令情報を出力する。周辺部３ａは、大当たりリーチコマンドに基づき演出処理の実行を制御するとともに、命令情報を用いて主制御部の接続状態を認証し、また第１の認証データを出力する。周辺部３ａは、中間部３ｂで生成されて出力される第２の認証データに基づき主制御部２ａが正当であるか判断する。正当でないと判断された場合、報知する。【効果】中間部において、主制御部が正当であるか認証するので、認証処理全てを周辺部で行う場合に比べて周辺部の負担が小さくなり、セキュリティの強度を従来よりも大きくして主制御部が正当であるか判断できる。【選択図】図２
2011005134.tif 000002
【特許請求の範囲】
【請求項１】
所定条件の成立を契機として抽選を行う抽選手段と、図柄表示手段で図柄を変動表示する図柄変動手段と、前記抽選手段の抽選結果に基づいて、所定の態様で前記図柄を停止させた後に特賞状態を発生させる特賞状態発生手段とを有する主制御部を備える遊技機であって、
前記主制御部は、
遊技に関するデータの処理を行うデータ処理手段と、
前記データ処理手段が実行する命令に関する情報を外部に出力する出力手段とを備え、
大当たり時に選択される変動パターンのうちリーチ演出を行う変動パターンを指定するための大当たりリーチコマンドと、自らが正当であることを認証させるための第１の認証データとを出力し、
さらに、
前記主制御部の出力を入力とし、前記大当たりリーチコマンドに基づく演出または前記演出の前処理もしくは後処理の実行を制御するとともに、前記第１の認証データを出力する周辺部と、
前記周辺部から出力される前記第１の認証データに基づいて前記主制御部が正当であるか否かを判断するための第２の認証データを生成し、前記第２の認証データを前記周辺部に出力する中間部とを備え、
前記周辺部は、
前記第２の認証データに基づいて前記主制御部が正当であるか否かを判断すると共に、演出に関するデータ処理を行うデータ処理装置と、前記データ処理装置によるアクセスを制御するアクセス制御装置とを備え、
前記アクセス制御装置は、
前記データ処理を行うためのデータを記憶する記憶手段と、前記命令に関する情報を前記出力手段から入力する入力手段と、前記入力手段で入力した命令に関する情報に基づいて、前記データ処理装置による前記記憶手段へのアクセスを制御するアクセス制御手段とを有することを特徴とする遊技機。
【請求項２】
請求項１において、
前記アクセス制御手段は、前記入力手段で入力した命令に関する情報に基づいてアクセス許可条件が成立すると判定したときは、前記記憶手段へのアクセスを許可し、前記アクセス許可条件が成立しないと判定したときは、前記記憶手段へのアクセスを制限することを特徴とする遊技機。
【請求項３】
請求項２において、
前記出力手段は、前記データ処理手段が実行する命令コードまたは命令コード列を、前記大当たりリーチコマンドと共に出力し、
前記アクセス許可条件は、前記入力手段で入力した命令コードまたは命令コード列が所定のコードまたはコード列であることを含むことを特徴とする遊技機。
【請求項４】
請求項２および３のいずれか１項において、
前記データ処理装置は、
前記データ処理手段が実行する命令コードを記憶する命令コード記憶手段をさらに有し、
前記出力手段は、前記データ処理手段が実行する命令コードまたは命令コード列の前記命令コード記憶手段における記憶位置を示す記憶位置情報を出力し、
前記アクセス許可条件は、前記入力手段で入力した記憶位置情報の記憶位置が所定の記憶位置であることを含むことを特徴とする遊技機。
【請求項５】
請求項２および３のいずれか１項において、
前記データ処理装置は、
前記データ処理手段が実行する命令コードを記憶する命令コード記憶手段と、
前記命令コード記憶手段に記憶された命令コードまたは命令コード列の少なくとも一部を用いて所定の演算を行う演算手段とをさらに有し、
前記出力手段は、前記演算手段の演算結果を出力し、
前記アクセス許可条件は、前記入力手段で入力した演算結果が所定の結果であることを含むことを特徴とする遊技機。
【請求項６】
請求項２および３のいずれか１項において、
前記データ処理装置は、
前記データ処理手段が実行する命令コードを記憶する命令コード記憶手段と、
前記命令コード記憶手段に記憶された所定の固定値を用いて所定の演算を行う演算手段とをさらに有し、
前記出力手段は、前記演算手段の演算結果を出力し、
前記アクセス許可条件は、前記入力手段で入力した演算結果が所定の結果であることを含むことを特徴とする遊技機。
【請求項７】
請求項２ないし６のいずれか１項において、
前記出力手段は、前記データ処理手段が実行する命令コードまたは命令コード列の実行結果を示す実行結果情報を出力し、
前記アクセス許可条件は、前記入力手段で入力した実行結果情報の実行結果が所定の結果であることを含むことを特徴とする遊技機。
【請求項８】
請求項１ないし７のいずれか１項において、
前記アクセス制御手段は、前記記憶手段のうち特定のアドレス空間へのアクセスを制御することを特徴とする遊技機。
【請求項９】
請求項１ないし８のいずれか１項において、
前記アクセス制御手段によるアクセス制御の状況を通知する制御状況通知手段をさらに備えることを特徴とする遊技機。
【請求項１０】
前記周辺部は、前記主制御部が正当でないと判断された場合、その旨を報知する
ことを特徴とする請求項１ないし９のいずれか１項に記載の遊技機。
【請求項１１】
前記周辺部は、前記大当たりリーチコマンドに基づく前記演出または前記前処理もしくは後処理が実行される期間の後に前記主制御部が正当であるか否かを判断する
ことを特徴とする請求項１ないし１０のいずれか１項に記載の遊技機。
【請求項１２】
前記周辺部と前記中間部との信号授受に用いられる単一の経路を備える
ことを特徴とする請求項１ないし１１のいずれか１項に記載の遊技機。
【請求項１３】
前記周辺部と前記中間部との信号授受に用いられる二本の経路を備え、
前記周辺部は、前記経路の一方により前記第１の認証データを前記中間部に出力し、
前記中間部は、前記経路の他方により前記第２の認証データを前記周辺部に出力する
ことを特徴とする請求項１ないし１２のいずれか１項に記載の遊技機。
【請求項１４】
請求項１記載の遊技機に適用され、大当たり時に選択される変動パターンのうちリーチ演出を行う変動パターンを指定するための大当たりリーチコマンドと、自らが正当であることを認証させるための第１の認証データとを出力する主制御部と、前記大当たりリーチコマンドに基づく演出または前記演出の前処理もしくは後処理の実行を制御する周辺部とを備える遊技機において前記主制御部についての認証を行う認証方法であって、
前記データ処理手段が実行する命令に関する情報を取得するステップと、
前記命令に関する情報を前記出力手段から入力する入力ステップと、
前記入力ステップで入力した命令に関する情報に基づいて、前記データ処理装置による前記記憶手段へのアクセスを制御するアクセス制御ステップと、
前記命令に関する情報に基づいて、前記データ処理手段の接続状態の認証を行う接続機器認証ステップと、
前記第１の認証データを、前記周辺部を介して取得する取得ステップと、
前記取得ステップにおいて取得した第１の認証データに基づいて前記主制御部が正当であるか否かを判断するための第２の認証データを生成し、前記第２の認証データを前記周辺部に出力するステップと、
前記主制御部が正当であるか否かを、前記第２の認証データに基づいて判断するステップとを含むことを特徴とする認証方法。
【請求項１５】
前記主制御部が正当でないと判断された場合、認証結果を報知するための信号を出力する報知信号出力ステップをさらに含むことを特徴とする請求項１４に記載の認証方法。
【請求項１６】
前記大当たりリーチコマンドに基づく前記演出または前記前処理もしくは後処理が実行される期間の後に前記主制御部が正当であるか否かを判断する
ことを特徴とする請求項１４および１５のいずれか１項に記載の認証方法。
【請求項１７】
請求項１４ないし１６のいずれか１項に記載の認証方法の各ステップを、コンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パチンコ機等の遊技機に関する。
【背景技術】
【０００２】
従来、各種の電子機器に搭載された制御基板に対する不正を防止するための技術が提案されている。制御基板には、パチンコ遊技機などの電子機器全体の動作を司る主制御基板と、電子機器の各部の動作を行なう被制御基板（周辺基板）がある。主制御基板は、周辺基板に制御コマンドを含む制御信号を出力する。周辺基板は、主制御基板から送信された制御信号に従って動作を実行する。
【０００３】
制御基板に対する不正には、例えば、正規の主制御基板を不正な制御基板に取り替えたり、正規な主制御用基板と被制御基板との間に不正な制御基板を接続するなどの方法がある。このような不正を防止するため、制御コマンドに、主制御基板を認証するための認証データを付加しておき、それを用いて主制御基板を認証する技術が提案されている（例えば、特許文献１参照）。
【０００４】
特許文献１では、図３７に示すように、主制御部２０１と、主制御部２０１によって送信された制御コマンドに基づいて所定の処理を行なう周辺基板（演出制御部２０２ａ、賞球制御部２０３ｄ）とを備えるパチンコ遊技機において、不正を防止する。すなわち、同図において、主制御部２０１の付加部３１２は、周辺基板に送信する制御コマンドが、抽選時の抽選結果がはずれの場合の処理を周辺基板に実行させるはずれコマンドである場合、主制御部２０１を認証するための認証データを制御コマンドに付加する。送信部３１４ａは、制御コマンドを周辺基板に送信する。周辺基板の受信部３２１は、主制御部２０１から送信された制御コマンドを受信する。中間部３２２は、受信部３２１によって受信された制御コマンドを用いて主制御部２０１を認証する。
【０００５】
なお、主制御部２０１の制御コマンド格納部３１１は、周辺基板に送信する制御コマンドのデータ（制御コマンドデータ）を格納する。記録部３１３には、所定のプログラムコードが記録されている。
【０００６】
報知信号出力部３２３は、中間部３２２によって主制御部が認証されなかった場合に、報知信号を出力する。周辺基板が演出制御部２０２ａを有する場合、報知信号出力部３２３は、例えば、図柄表示部（不図示）やランプ制御部（不図示）に報知信号を出力する。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００８−２７９０４２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
ところで、セキュリティの強度を大きくして主制御部２０１を認証しようとすると、認証データの容量が大きくなったり、複雑な演算処理が必要になったりする。認証データの容量を大きくしたり、複雑な演算処理が必要になったりすると、周辺基板の処理負荷が大きくなるので、好ましくない。そのため、従来の遊技機では、セキュリティの強度を大きくしようとすると設計上の制約を受けることになる。
【０００９】
また、主制御部のＣＰＵが物理的に解析され、例えばＲＯＭ内の制御プログラムを不正な内容に差し替えて製造された不正なＣＰＵが主制御部に実装されるような場合がある。そのような場合について、遊技動作に影響が無く、かつ、比較的簡易な構成でありながら、効果的にチェックを行うことで、不正を有効に防止できる方法が提案されていない。
【００１０】
本発明は、セキュリティの強度を従来よりも大きくしても設計上の制約を受けずに、主制御部が正当であるか否かを判断することができる遊技機、認証方法、プログラムを提供することを目的とする。また、本発明は、主制御部のＣＰＵに対する不正を防止できる遊技機、認証方法、プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記課題を解決し上記目的を達成するために、本発明の遊技機は、所定条件の成立を契機として抽選を行う抽選手段（例えば、図１５のステップＳ３１２、Ｓ３１４、図１６のステップＳ４０４、Ｓ４０６に対応）と、図柄表示手段（例えば、図１の図柄表示部１０４に対応）で図柄を変動表示する図柄変動手段（例えば、図１６のステップＳ４１４に対応）と、前記抽選手段の抽選結果に基づいて、所定の態様で前記図柄を停止させた後に特賞状態を発生させる特賞状態発生手段（例えば、図１６のステップＳ４１０、Ｓ４１２、Ｓ４２４に対応）とを有する主制御部を備える遊技機であって、
前記主制御部は、
遊技に関するデータの処理を行うデータ処理手段（例えば、図４のＣＰＵ２０２に対応）と、
前記データ処理手段が実行する命令に関する情報を外部に出力する出力手段（例えば、図４のＩＦ２１０に対応）とを備え、
大当たり時に選択される変動パターンのうちリーチ演出を行う変動パターンを指定するための大当たりリーチコマンドと、自らが正当であることを認証させるための第１の認証データとを出力し、
さらに、
前記主制御部の出力を入力とし、前記大当たりリーチコマンドに基づいて前記演出または前記前処理もしくは後処理の実行を制御するとともに、前記第１の認証データを出力する周辺部と、前記周辺部から出力される前記第１の認証データに基づいて前記主制御部が正当であるか否かを判断するための第２の認証データを生成し、前記第２の認証データを前記周辺部に出力する中間部とを備え、
前記周辺部は、
前記第２の認証データに基づいて前記主制御部が正当であるか否かを判断すると共に、遊技に関するデータ処理を行うデータ処理装置（例えば、図３のＣＰＵ３０２に対応）と、前記データ処理装置によるアクセスを制御するアクセス制御装置とを備え、
前記アクセス制御装置は、
前記データ処理を行うためのデータを記憶する記憶手段（例えば、図５のレジスタ３３４、３３６に対応）と、前記命令に関する情報を前記出力手段から入力する入力手段（例えば、図５の入力部３３１に対応）と、前記入力手段で入力した命令に関する情報に基づいて、前記データ処理装置による前記記憶手段へのアクセスを制御するアクセス制御手段（例えば、図５のアクセス制御部３３８に対応）とを有することを特徴とする。
【００１２】
このような構成によれば、周辺部とは別に、主制御部が正当であるか否かを判断するための中間データである第２の認証データを中間部が生成し、この第２の認証データを用いて周辺部が主制御部を認証するので、認証処理全てを周辺部で行う場合に比べて周辺部の負担が小さくなり、認証データの容量を大きくしたり、複雑な演算処理を行なったりしてセキュリティの強度を従来よりも大きくして主制御部が正当であるか否かを判断することができる。また、主制御部のデータ処理手段であるＣＰＵと周辺部のアクセス制御装置とによって、主制御部と周辺部との接続状態についての接続機器認証を行うことができる。また、数多い制御コマンドのうち、大当たり時に選択される変動パターンのうちリーチ演出を行う変動パターンを指定するための大当たりリーチコマンドに認証データを付加して出力するため、認証データが盗聴される可能性を小さくすることができる。
【００１３】
所定条件が成立すると、抽選手段により、これを契機として抽選が行われる。また、図柄変動手段により、図柄表示手段で図柄が変動表示される。そして、特賞状態発生手段により、抽選手段の抽選結果に基づいて、所定の態様で図柄が停止した後に特賞状態が発生する。また、特賞状態とは、遊技者に対して所定の遊技価値を付与可能な有利な状態をいい、例えば、大入賞口の開放動作等が含まれる。また、所定条件の成立としては、パチンコ機である場合は、例えば、始動入賞口に遊技球が入賞すること、パチスロ機である場合は、例えば、遊技開始を指示する操作レバーが操作されることが含まれる。
【００１４】
周辺部に設けられるデータ処理装置では、主制御部のデータ処理手段が実行する命令に関する情報（以下、適宜、命令情報と呼ぶ）を取得する。同じく周辺部に設けられるアクセス制御装置では、入力手段により、命令に関する情報が入力され、アクセス制御手段により、入力された命令に関する情報に基づいて、データ処理装置による記憶手段へのアクセスが制御される。これにより、記憶手段のデータが不正に書き換えられたり読み出されたりする可能性が低減する。
【００１５】
ここで、命令に関する情報としては、例えば、（１）命令コード若しくは命令コード列、（２）命令コード若しくは命令コード列の記憶位置を示す記憶位置情報（例えば、アドレス）、（３）命令コード若しくは命令コード列の実行結果を示す実行結果情報（例えば、フラグレジスタの値）、または（４）それら情報のうち１若しくは複数の情報に基づき得られる２次情報（例えば、演算等により得られる演算情報）が含まれる。
【００１６】
また、記憶手段は、あらゆる手段でかつあらゆる時期にデータを記憶可能なものを含み、所定のデータをあらかじめ記憶してあるものであってもよいし、所定のデータをあらかじめ記憶することなく、本遊技機の動作時に外部からの入力等によって所定のデータを記憶するものであってもよい。
【００１７】
また、アクセスの「制御」については、例えば、（１）命令に関する情報または当該情報に基づき得られる２次情報に基づいてアクセス許可条件が成立すると判定したときは、アクセスの一部または全部を許可し、アクセス許可条件が成立しないと判定したときは、アクセスの一部または全部を制限すること、（２）命令に関する情報または当該情報に基づき得られる２次情報に基づいてアクセス制限条件が成立すると判定したときは、アクセスの一部または全部を制限し、アクセス制限条件が成立しないと判定したときは、アクセスの一部または全部を許可することが含まれる。アクセス許可条件またはアクセス制限条件としては、例えば、（１）命令に関する情報または当該情報に基づき得られる２次情報が所定の値、内容または範囲内であること、（２）命令に関する情報または当該情報に基づき得られる２次情報が所定の値、内容または範囲内でないことが含まれる。また、アクセスの「制限」については、例えば、（１）アクセスの一部または全部を禁止すること、（２）アクセス要求に応じたアクセス結果が得られないように制御すること（例えば、アクセス要求に係るデータとは異なるデータを読み出させまたは書き込ませること）が含まれる。
【００１８】
また、命令に関する情報における当該命令と、アクセスの制御との関係については、例えば、（１）記憶手段へのアクセスのためにデータ処理手段が実行する命令に関する情報に基づいて、当該命令に係るアクセスを制御すること、（２）データ処理手段が実行する命令に関する情報に基づいて、当該命令よりも前または後に、記憶手段へのアクセスのためにデータ処理手段が実行する命令に係るアクセスを制御することが含まれる。（２）の場合は、因果関係が分かりにくく、不正行為が行われる可能性をさらに低減することができる。
【００１９】
また、この周辺部に設けられるデータ処理装置のアクセス制御手段は、前記入力手段で入力した命令に関する情報に基づいてアクセス許可条件が成立すると判定したときは、前記記憶手段へのアクセスを許可し、前記アクセス許可条件が成立しないと判定したときは、前記記憶手段へのアクセスを制限してもよい。このような構成であれば、アクセス制御装置では、アクセス制御手段により、入力された命令に関する情報に基づいてアクセス許可条件が成立すると判定されると、記憶手段へのアクセスが許可される。これに対し、入力された命令に関する情報に基づいてアクセス許可条件が成立しないと判定されると、記憶手段へのアクセスが制限される。
【００２０】
さらに、前記出力手段は、前記データ処理手段が実行する命令コードまたは命令コード列を、前記大当たりリーチコマンドと共に出力し、前記アクセス許可条件は、前記入力手段で入力した命令コードまたは命令コード列が所定のコードまたはコード列であることを含んでもよい。このような構成であれば、データ処理装置では、出力手段により、データ処理手段が実行する命令コードまたは命令コード列が出力される。アクセス制御装置では、入力手段により、命令コードまたは命令コード列が入力され、アクセス制御手段により、入力された命令コードまたは命令コード列が所定のコードまたはコード列であると判定されると、記憶手段へのアクセスが許可される。これにより、不正に書き換えられた命令コードまたは命令コード列や、ビットエラーによって内容が変化した命令コードまたは命令コード列が実行されることにより、記憶手段のデータが不正に書き換えられたり読み出されたりする可能性が低減する。
また、前記データ処理装置は、
前記データ処理手段が実行する命令コードを記憶する命令コード記憶手段（例えば、図４のＲＯＭ２０４に対応）をさらに有し、前記出力手段は、前記データ処理手段が実行する命令コードまたは命令コード列の前記命令コード記憶手段における記憶位置を示す記憶位置情報を出力し、前記アクセス許可条件は、前記入力手段で入力した記憶位置情報の記憶位置が所定の記憶位置であることを含んでもよい。
【００２１】
このような構成であれば、データ処理装置では、出力手段により、データ処理手段が実行する命令コードまたは命令コード列の命令コード記憶手段における記憶位置を示す記憶位置情報が出力される。アクセス制御装置では、入力手段により、記憶位置情報が入力され、アクセス制御手段により、入力された記憶位置情報の記憶位置が所定の記憶位置であると判定されると、記憶手段へのアクセスが許可される。これにより、不正な位置に記憶された命令コードまたは命令コード列が実行されることにより、記憶手段のデータが不正に書き換えられたり読み出されたりする可能性が低減する。
【００２２】
ここで、命令コード列の記憶位置としては、例えば、命令コード列のうち先頭の命令コードの記憶位置、命令コード列のうち所定番目の命令コードの記憶位置、命令コード列に含まれる命令コードのそれぞれの記憶位置が含まれる。また、命令コード記憶手段は、あらゆる手段でかつあらゆる時期に命令コードを記憶可能なものを含み、命令コードをあらかじめ記憶してあるものであってもよいし、命令コードをあらかじめ記憶することなく、本遊技機の動作時に外部からの入力等によって命令コードを記憶するものであってもよい。
さらに、前記データ処理装置は、
前記データ処理手段が実行する命令コードを記憶する命令コード記憶手段と、
前記命令コード記憶手段に記憶された命令コードまたは命令コード列の少なくとも一部を用いて所定の演算を行う演算手段（例えば、図２６のチェック値算出部３１８に対応）とをさらに有し、
前記出力手段は、前記演算手段の演算結果を出力し、
前記アクセス許可条件は、前記入力手段で入力した演算結果が所定の結果であることを含んでもよい。このような構成であれば、データ処理装置では、演算手段により、命令コード記憶手段に記憶された命令コードまたは命令コード列の少なくとも一部を用いて所定の演算が行われ、出力手段により、その演算結果が出力される。アクセス制御装置では、入力手段により、演算手段の演算結果が入力され、アクセス制御手段により、入力された演算結果が所定の結果であると判定されると、記憶手段へのアクセスが許可される。
【００２３】
また、前記データ処理装置は、前記データ処理手段が実行する命令コードを記憶する命令コード記憶手段と、前記命令コード記憶手段に記憶された所定の固定値を用いて所定の演算を行う演算手段（例えば、図２６のチェック値算出部３１８に対応）とをさらに有し、前記出力手段は、前記演算手段の演算結果を出力し、
前記アクセス許可条件は、前記入力手段で入力した演算結果が所定の結果であることを含んでもよい。
【００２４】
このような構成であれば、データ処理装置では、演算手段により、命令コード記憶手段に記憶された所定の固定値を用いて所定の演算が行われ、出力手段により、その演算結果が出力される。アクセス制御装置では、入力手段により、演算手段の演算結果が入力され、アクセス制御手段により、入力された演算結果が所定の結果であると判定されると、記憶手段へのアクセスが許可される。
【００２５】
さらに、前記出力手段は、前記データ処理手段が実行する命令コードまたは命令コード列の実行結果を示す実行結果情報を出力し、前記アクセス許可条件は、前記入力手段で入力した実行結果情報の実行結果が所定の結果であることを含んでもよい。
【００２６】
このような構成であれば、データ処理装置では、出力手段により、データ処理手段が実行する命令コードまたは命令コード列の実行結果を示す実行結果情報が出力される。アクセス制御装置では、入力手段により、実行結果情報が入力され、アクセス制御手段により、入力された実行結果情報の実行結果が所定の結果であると判定されると、記憶手段へのアクセスが許可される。これにより、不正に書き換えられた命令コードまたは命令コード列や、ビットエラーによって内容が変化した命令コードまたは命令コード列が実行されることにより、記憶手段のデータが不正に書き換えられたり読み出されたりする可能性が低減する。
【００２７】
また、前記アクセス制御手段は、前記記憶手段のうち特定のアドレス空間へのアクセスを制御してもよい。このような構成であれば、アクセス制御装置では、アクセス制御手段により、記憶手段のうち特定のアドレス空間へのアクセスが制御される。これにより、記憶手段のうち、機密情報等の重要な情報が記憶されたアドレス空間へのアクセスを制御することにより、重要な情報が不正に書き換えられたり読み出されたりする可能性が低減する。
【００２８】
さらに、前記アクセス制御手段によるアクセス制御の状況を通知する制御状況通知手段をさらに備えていてもよい。このような構成であれば、制御状況通知手段により、アクセス制御手段によるアクセス制御の状況が通知される。
【００２９】
ここで、制御状況通知手段は、通知対象が認識可能な方法により通知を行えばよく、通知対象が人である場合は、例えば、表示、音声出力、振動その他五感で知覚可能な方法により行うことができる。通知対象がコンピュータ等である場合は、信号出力、データ送信その他コンピュータ等が認識可能な方法により行うことができる。
【００３０】
前記周辺部は、前記主制御部が正当でないと判断された場合、その旨を報知するようにしてもよい。これにより、パチンコホールの従業員や遊技者がその状態を認識しやすくなる。
【００３１】
前記周辺部は、前記大当たりリーチコマンドに基づく前記演出または前記前処理もしくは後処理が実行される期間の後に前記主制御部が正当であるか否かを判断してもよい。大当たりリーチコマンドに基づく演出または前処理もしくは後処理が実行される期間の後に、主制御部が正当であるか否かを判断することにより、認証データの容量が大きくなったり、複雑な演算処理を行なったりしても、認証処理全てを周辺部で行う場合に比べて周辺部の負担が小さくなる。したがって、セキュリティの強度を従来よりも大きくして主制御部が正当であるか否かを判断することができる。
【００３２】
前記周辺部と前記中間部との信号授受に用いられる単一の経路を備えていてもよい。認証データの授受が単一の経路で行われる場合であっても、セキュリティの強度を従来よりも大きくして主制御部が正当であるか否かを判断することができる。
【００３３】
前記周辺部と前記中間部との信号授受に用いられる二本の経路を備え、前記周辺部が、前記経路の一方により前記第１の認証データを前記中間部に出力し、前記中間部が、前記経路の他方により前記第２の認証データを前記周辺部に出力するようにしてもよい。認証データの授受が二本の経路で行われる場合であっても、セキュリティの強度を従来よりも大きくして主制御部が正当であるか否かを判断することができる。
【００３４】
本発明の認証方法は、上記遊技機に適用され、大当たり時に選択される変動パターンのうちリーチ演出を行う変動パターンを指定するための大当たりリーチコマンドと、自らが正当であることを認証させるための第１の認証データとを出力する主制御部と、前記大当たりリーチコマンドに基づく演出または前記演出の前処理もしくは後処理の実行を制御する周辺部とを備える遊技機において前記主制御部についての認証を行う認証方法であって、前記データ処理手段が実行する命令に関する情報を取得するステップと、前記命令に関する情報を前記出力手段から入力する入力ステップと、前記入力ステップで入力した命令に関する情報に基づいて、前記データ処理装置による前記記憶手段へのアクセスを制御するアクセス制御ステップと、前記命令に関する情報に基づいて、前記データ処理手段の接続状態の認証を行う接続機器認証ステップ（例えば、図１２のＳ１０４に対応）と、前記第１の認証データを、前記周辺部を介して取得する取得ステップ（例えば、図３０のＳ８、Ｓ１０に対応）と、前記取得ステップにおいて取得した第１の認証データに基づいて前記主制御部が正当であるか否かを判断するための第２の認証データを生成し、前記第２の認証データを前記周辺部に出力するステップ（例えば、図３０のＳ１１〜Ｓ１４に対応）と、前記主制御部が正当であるか否かを、前記第２の認証データに基づいて判断するステップ（例えば、図３０のＳ１６に対応）とを含むことを特徴とする。このように本発明の認証方法は、主制御部と周辺部との接続状態を認証するほか、周辺部を介して取得した第１の認証データを用いて中間データである第２の認証データを生成し、この第２の認証データを用いて周辺部が主制御部を認証するので、認証処理全てを周辺部で行う場合に比べて周辺部の負担が小さくなり、認証データの容量を大きくしたり、複雑な演算処理を行なったりしてセキュリティの強度を従来よりも大きくして主制御部が正当であるか否かを判断することができる。
【００３５】
前記主制御部が正当でないと判断された場合、認証結果を報知するための信号を出力する報知信号出力ステップ（例えば、図３０のＳ１８に対応）をさらに含んでもよい。これにより、パチンコホールの従業員や遊技者がその状態を認識しやすくなる。
【００３６】
前記大当たりリーチコマンドに基づく前記演出または前記前処理もしくは後処理が実行される期間の後に前記主制御部が正当であるか否かを判断してもよい。大当たりリーチコマンドに基づく演出または前処理もしくは後処理が実行される期間の後に、主制御部が正当であるか否かを判断することにより、認証データの容量が大きくなったり、複雑な演算処理を行なったりしても、周辺部の動作とは独立して第２の認証データを生成することができる。したがって、セキュリティの強度を従来よりも大きくして主制御部が正当であるか否かを判断することができる。
【００３７】
本発明のプログラムは、上記認証方法の各ステップを、コンピュータに実行させることを特徴とする。データ処理手段である主制御部のＣＰＵとアクセス制御装置とによる接続機器認証を行うほか、周辺部および中間部を介して取得した認証データを用いて、主制御部を認証するので、認証処理全てを周辺部で行う場合に比べて周辺部の負担が小さくなり、認証データの容量を大きくしたり、複雑な演算処理を行なったりしてセキュリティの強度を従来よりも大きくして主制御部が正当であるか否かを判断することができる。また、認証結果を報知するための信号を出力することにより、パチンコホールの従業員や遊技者がその状態を認識しやすくなる。
【発明の効果】
【００３８】
本発明によれば、主制御部からの制御コマンドを受信する周辺部とは別に設けた中間部において中間データである第２の認証データを生成し、この第２の認証データを用いて周辺部が主制御部を認証するので、認証処理全てを周辺部で行う場合に比べて周辺部の負担が小さくなり、認証データの容量を大きくしたり、複雑な演算処理を行ったりしてセキュリティの強度を従来よりも大きくしても周辺部の処理負荷は大きくならず、設計上の制約を受けずに、主制御部が正当であるか否かを判断することができる。また、この周辺部に、さらに、主制御部のデータ処理手段の接続状態を認証するアクセス制御装置を備えることにより、このアクセス制御装置を追加するだけで、主制御部に大幅な変更を加えることなく、大当たりリーチコマンドに付加された命令情報を用いて、主制御部と周辺部との接続状態を認証するので、主制御部のＣＰＵが物理的に解析され、例えばＲＯＭ内の制御プログラムを不正な内容に差し替えて製造された不正なＣＰＵが主制御部に実装されるような場合でも、その不正を検出できる。また、主制御部から認証部への接続経路の途中に、いわゆるぶら下がり回路構成などによる不正が行われている場合でもそれを検出することができる。さらに、周辺部に追加するアクセス制御装置には、主制御部に設けているものと同じものを用いることができるので、装置の量産が可能であり、装置の製造や開発の費用の増加を抑えることができる。
【図面の簡単な説明】
【００３９】
【図１】本実施の形態による遊技機の遊技盤の構成例を示す図である。
【図２】本実施の形態による遊技機の構成例を示す図である。
【図３】主制御部の構成を示すブロック図である。
【図４】主制御部のより詳細な構成を示すブロック図である。
【図５】演出制御部のより詳細な構成を示すブロック図である。
【図６】主制御部のＣＰＵコアおよびアクセス制御装置の構成を示すブロック図である。
【図７】演出制御部のＣＰＵコアおよびアクセス制御装置の構成を示すブロック図である。
【図８】アクセス制御処理を示すフローチャートである。
【図９】アクセス制御処理を示すフローチャートである。
【図１０】ＲＯＭのメモリ構造を模式的に示した図である。
【図１１】制御コマンドのデータ構造を示す図である。
【図１２】遊技制御処理を示すフローチャートである。
【図１３】主制御部の接続機器認証処理の実行に伴うＣＰＵコアおよびアクセス制御装置の動作を示すフローチャートである。
【図１４】制御コマンド送信処理を示すフローチャートである。
【図１５】入賞判定処理を示すフローチャートである。
【図１６】大当たり判定処理を示すフローチャートである。
【図１７】電動役物制御処理を示すフローチャートである。
【図１８】演出制御処理を示すフローチャートである。
【図１９】制御コマンド受信処理を示すフローチャートである。
【図２０】演出制御部の接続機器認証処理の実行に伴うＣＰＵコアおよびアクセス制御装置の動作を示すフローチャートである。
【図２１】変動パターンコマンド処理を示すフローチャートである。
【図２２】大当たりコマンド処理を示すフローチャートである。
【図２３】アクセス制御部が行うアクセス制御の概要を示す説明図である。
【図２４】アクセス制御部が行うアクセス制御の概要を示す説明図である。
【図２５】主制御部の構成を示すブロック図である。
【図２６】演出制御部の構成を示すブロック図である。
【図２７】チェック値算出処理を示すフローチャートである。
【図２８】アクセス制御処理を示すフローチャートである。
【図２９】アクセス制御処理を示すフローチャートである。
【図３０】大当たりリーチコマンドに基づくパチンコ機の認証動作のシーケンスを示す図である。
【図３１】大当たりリーチコマンド以外の制御コマンドに基づくパチンコ機の動作のシーケンスを示す図である。
【図３２】大当たりリーチコマンドに基づく演出または前処理もしくは後処理が実行されるタイミングと、認証処理が行なわれるタイミングとを示す第１の図である。
【図３３】大当たりリーチコマンドに基づく演出または前処理もしくは後処理が実行されるタイミングと、認証処理が行なわれるタイミングとを示す第２の図である。
【図３４】本実施の形態による遊技機の他の構成例を示す図である。
【図３５】図２の構成に、報知部を追加した構成を示す図である。
【図３６】図３４の構成に、報知部を追加した構成を示す図である。
【図３７】従来の遊技機の構成図である。
【発明を実施するための形態】
【００４０】
以下に、本発明を実施するための形態について図面を参照して説明する。ここでは、本発明に係る遊技機、認証方法、プログラムを、パチンコ機に適用した場合について説明する。
〔遊技盤の構成〕
まず、パチンコ機における遊技盤１の構成について説明する。
図１は、遊技盤１の正面図である。
【００４１】
図１において、遊技盤１の左側には、円弧を描いて上方に延長する２つのレール１０２ａ、１０２ｂが設けられている。遊技領域１０１には、遊技球の落下軌跡を変則的にするための複数の釘（不図示）が設けられ、落下途中の位置には、遊技球の落下方向を変化させる風車や入賞口が設けられている。遊技球は、遊技盤１の下部位置に配置された発射部（不図示）により発射され、レール１０２ａ、１０２ｂ間を上昇して遊技盤１の上部位置に達した後、遊技領域１０１内を落下する。
【００４２】
遊技盤１の中央部には、３つの領域にそれぞれ演出図柄を独立に変動させながら表示する図柄表示部１０４が設けられている。図柄表示部１０４は、例えば、液晶表示器（ＬＣＤ（Liquid Crystal Display））またはＣＲＴ（Cathode Ray Tube）ディスプレイ等の可変表示装置、７セグメントＬＥＤ、ドットマトリクス表示装置、モータの回転により可変表示するドラム等であり、複数の数字や図柄等からなる演出図柄を変動表示する。
【００４３】
図柄表示部１０４の下方には、遊技球を入賞可能な始動入賞口１０５が設けられている。また、図柄表示部１０４の左右両側には、それぞれ入賞ゲート１０６が設けられている。入賞ゲート１０６を遊技球が通過すると、所定の抽選が行われ、これに当選すると、始動入賞口１０５が所定時間だけ開放する。
【００４４】
始動入賞口１０５の左右両側には、それぞれ普通入賞口１０７が設けられている。普通入賞口１０７に遊技球が入賞すると、遊技球１個につき所定数（例えば、１０個）の遊技球が賞球として払い出される。
【００４５】
始動入賞口１０５の下方には、通常時は閉止状態であるが図柄表示部１０４の演出図柄が大当たり図柄（例えば、「７７７」）となったときは、開放状態となって遊技球を入賞可能とする大入賞口１０９が設けられている。大当たり抽選で「大当たり」（以下、単に「大当たり」という。）となったときは、大入賞口１０９の全面に設置された開閉部材が開閉動作を繰り返す。開閉部材が開放中は、多数の遊技球の入賞を受け付ける。大入賞口１０９に遊技球が入賞すると、遊技球１個につき所定数（例えば、１０個）の遊技球が賞球として払い出される。大入賞口１０９の開放は、所定時間（例えば、３０秒）経過するか、所定数（例えば、１０個）の遊技球が入賞するまで継続する。大入賞口１０９の１回の開放期間をラウンドと呼び、ラウンドは、最大で所定回数（以下、最大ラウンド数という。）継続する。
遊技領域１０１の最下方には、いずれの入賞口にも入賞しなかった遊技球を回収するための回収口１０８が設けられている。
〔遊技機の全体構成〕
【００４６】
図２は本実施の形態の遊技機の全体構成を示すブロック図である。図２に示すように、遊技機は、遊技盤１と、主制御基板２と、周辺基板３とを有する。主制御基板２および周辺基板３によって、遊技機制御装置１００が構成される。
【００４７】
主制御基板２は主制御部２ａを有する基板である。主制御部２ａは、遊技盤１が実行する遊技に関する演出またはその演出の前処理もしくは後処理を制御するための制御コマンドと、主制御部２ａが正当であることを認証させるための第１の認証データや命令情報とを出力する手段である。
【００４８】
ここで、「演出」とは、例えば、抽選による大当たり演出である。また、「演出の前処理」は、例えば、図柄表示部が表示する図柄を変動させる際の、図柄を変動させるための値をレジスタに設定する処理、である。ただし、主制御部２ａは、制御データを出力せず、制御コマンドと第１の認証データや命令情報とを周辺部３ａに出力することもある。例えば、パチンコ機の電源がオンされようとする場合等、制御の内容が明らかである場合には制御データは出力されない。この場合、演出の前処理として、パチンコ機の電源がオンされることになる。なお、「演出の後処理」は、例えば、演出後に、後述するＲＡＭの内容を初期化する処理、である。
【００４９】
周辺基板３は、周辺部３ａと、中間部３ｂと、バス３ｃと、を有する基板である。周辺部３ａは、主制御部２ａの出力を入力とし、主制御部２ａからの制御コマンドに基づいて演出または演出の前処理もしくは後処理の実行を制御するとともに、主制御部２ａからの第１の認証データを中間部３ｂに出力する手段である。
【００５０】
中間部３ｂは、周辺部３ａの後段に設けられており、周辺部３ａから出力される第１の認証データに基づいて主制御部２ａが正当であるか否かを判断するための第２の認証データを生成し、それを周辺部３ａに出力する手段である。周辺部とは別に、中間部を付加した構成を採用している。このため、主制御部および周辺部の一般的な構成で主制御部の認証を行っていない場合でも、中間部を付加すれば、周辺部の仕様変更を最小限に抑えつつ、主制御部の認証を行うことができるようになる。主制御部２ａが正当でないと判断された場合、周辺部３ａは、主制御部２ａが正当でない旨を報知するための制御を行う。主制御部２ａが正当でない旨を報知する場合、周辺部３ａの制御により、遊技機に設けられている液晶（不図示）に表示させたり、ランプ等を点灯させたりして通知することによる報知が行われる。液晶やランプを用いた通知については後に詳述する。
【００５１】
液晶表示やランプ等の点灯による視覚的報知に限らず、スピーカ（不図示）から音を出力することによる聴覚的報知、バイブレータ（不図示）を振動させることによる触覚的報知を行ってもよい。また、上記報知を組み合わせて行ってもよい。バス３ｃは、周辺部３ａと中間部３ｂとの間の信号授受に用いられる唯一の通信経路である。周辺部３ａと中間部３ｂとの間に設けられている単一のバス３ｃは、双方向の通信経路として用いられる。
〔遊技制御装置の構成〕
次に、パチンコ機における遊技制御装置の構成について説明する。
図３は、遊技制御装置１００の構成を示すブロック図である。
【００５２】
遊技制御装置１００は、図３に示すように、主制御基板２と、周辺基板３と、賞球制御部４００とを有して構成されている。本例では、主制御基板２に、遊技の主制御を行う主制御部２ａが設けられている。主制御部２ａには、ＤＩＰ（Dual Inline
Package）等からなるワンチップ型のマイクロプロセッサであるＣＰＵ２０２と、このＣＰＵ２０２へのアクセスを制御するアクセス制御装置２３０とが設けられている。また、周辺基板３には、主制御部２ａの制御により遊技の演出制御を行う演出制御部３００と、主制御部２ａの認証を行うための第２の認証データを生成し、それを周辺部３ａに出力する中間部３ｂとが設けられている。演出制御部３００は、図２における周辺部３ａの一例である。賞球制御部４００は、主制御部２ａの制御により遊技球の払出制御を行う。
【００５３】
主制御部２ａは、遊技の主制御を行い、遊技の演出制御または遊技球の払出制御を行うための各種の制御コマンドを演出制御部３００および賞球制御部４００にそれぞれ送信する。
【００５４】
主制御部２ａには、始動入賞口１０５に入賞した遊技球を検出する始動入賞口検出部２８０と、入賞ゲート１０６を通過した遊技球を検出するゲート検出部２８２と、普通入賞口１０７に入賞した遊技球を検出する普通入賞口検出部２８４と、大入賞口１０９に入賞した遊技球を検出する大入賞口検出部２８６とが接続されている。これらの検出部２８０〜２８６は、例えば、近接スイッチを用いて構成することができる。
【００５５】
Ｉ／Ｆ２１０には、さらに、大当たり中に大入賞口１０９の開閉部材を開閉動作させる大入賞口開閉部２８８と、演出制御部３００と、賞球制御部４００とが接続されている。なお、演出制御部３００との通信は、主制御部２ａから演出制御部３００への一方向となっている。これに対し、賞球制御部４００との通信は、双方向となっている。
【００５６】
大入賞口開閉部２８８は、例えば、ソレノイドを用いて構成することができる。大当たりは、大当たり決定乱数に基づいて所定確率（例えば、１／３００）で発生するよう予めプログラムされている。
【００５７】
演出制御部３００は、主制御部２ａから制御コマンドを受信し、受信した制御コマンドに基づいて遊技の演出制御を行う。演出制御部３００は、制御プログラムを記憶したＲＯＭ３０４と、ＲＯＭ３０４の制御プログラムに従って演出制御処理を実行するＣＰＵ３０２と、ＣＰＵ３０２の演算処理時におけるデータのワークエリアとして機能するＲＡＭ３０６と、図柄表示部１０４に表示させる画像データを書き込むＶＲＡＭ３０８と、外部装置との入出力を行うＩ／Ｆ３１０、３１２と、ＣＰＵ３０２へのアクセスを制御するアクセス制御装置３３０とを有して構成されている。
ＲＯＭ３０４は、検証値と照合するための期待値を記憶する。検証値は、主制御部２ａを認証するためのものであり、期待値は、検証値と同一の値となる。
【００５８】
ＲＡＭ３０６は、主制御部２ａからの入力データ、演算処理のためのデータ、乱数を生成するための乱数カウンタその他各種のカウンタ、および各種のフラグを記憶する。
【００５９】
Ｉ／Ｆ３１０には、主制御部２ａと、図柄表示部１０４と、スピーカ３８０から音声を出力する音声制御を行う音声制御部３８２と、ランプ３８４を点灯させるランプ制御を行うランプ制御部３８６とが接続されている。
【００６０】
アクセス制御装置３３０は、Ｉ／Ｆ（インタフェース）３１２を介してＣＰＵ３０２に接続されており、ＣＰＵ３０２からのアクセスを制御するものである。その詳細については後述する。
【００６１】
賞球制御部４００は、主制御部２ａから制御コマンドを受信し、受信した制御コマンドに基づいて遊技球の払出制御を行う。賞球制御部４００は、制御プログラムを記憶したＲＯＭ４０４と、ＲＯＭ４０４の制御プログラムに従って払出制御処理を実行するＣＰＵ４０２と、ＣＰＵ４０２の演算処理時におけるデータのワークエリアとして機能するＲＡＭ４０６と、外部装置との入出力を行うＩ／Ｆ４１０とを有して構成されている。
【００６２】
Ｉ／Ｆ４１０には、主制御部２ａと、遊技球の貯留部から所定数の遊技球を払い出す払出部４８０と、遊技球を遊技盤１に発射する発射部４８２とが接続されている。
【００６３】
賞球制御部４００は、払出部４８０に対して、各入賞口（始動入賞口１０５、普通入賞口１０７、大入賞口１０９）への入賞に応じて所定数の遊技球を払い出す制御を行う。また、発射部４８２に対する操作を検出し、遊技球の発射を制御する。
【００６４】
発射部４８２は、遊技者による操作を検出するセンサ（不図示）と、遊技球を発射させるソレノイド（不図示）とを有して構成されている。賞球制御部４００は、発射部４８２のセンサにより操作を検出すると、その操作量に応じてソレノイドを駆動させて遊技球を間欠的に発射する。
【００６５】
なお、主制御部２ａ、演出制御部３００および賞球制御部４００は、それぞれ異なるプリント基板に設けられているが、これに限らず、賞球制御部４００は、主制御部２ａと同一のプリント基板に設けることもできる。
〔主制御部及び演出制御部の構成〕
次に、主制御部２ａ及び演出制御部３００の構成を説明する。
図４及び図５は、それぞれ主制御部２ａ及び演出制御部３００などのより詳細な構成を示すブロック図である。
【００６６】
先ず、図４に示すように主制御部２ａは、ＤＩＰ等からなるワンチップ型のマイクロプロセッサであるＣＰＵ２０２と、ＣＰＵ２０２によるアクセスを制御するアクセス制御装置２３０と、パチンコ機の検定試験に用いられる検査ポート２４０とを有して構成されている。
【００６７】
ＣＰＵ２０２は、制御プログラムを記憶したＲＯＭ２０４と、ＲＯＭ２０４の制御プログラムに従って遊技制御処理を実行するＣＰＵコア２０３と、ＣＰＵコア２０３の演算処理時におけるデータのワークエリアとして機能するＲＡＭ２０６と、検査ポート２４０を介してＣＰＵコア２０３が実行する命令コード列その他の検査データを出力するセキュリティ検査回路２０８とを有して構成されている。
【００６８】
ＣＰＵ２０２は、さらに、外部装置との入出力を行うＩ／Ｆ２１０、２１２と、時間を計測するタイマ２１４とを有して構成されている。そして、ＣＰＵコア２０３、ＲＯＭ２０４、ＲＡＭ２０６、セキュリティ検査回路２０８、Ｉ／Ｆ２１０、２１２およびタイマ２１４は、バス２１６を介して相互に接続されている。
【００６９】
ＲＡＭ２０６は、主制御部２ａに対する入出力データ、演算処理のためのデータ、各種のカウンタ、大当たりフラグその他各種のフラグ、および保留球数を記憶する。ここで、保留球数とは、始動入賞口１０５に入賞した遊技球の数であって大当たり抽選が行われていない分をいう。
【００７０】
Ｉ／Ｆ２１２には、アクセス制御装置２３０が接続されている。ＣＰＵ２０２は、そのハードウェア構造上、バス２１６を介して送受信されるアドレス信号、データ信号および制御信号を外部に出力しない構成となっている。また、バス２１６の信号線がＣＰＵ２０２に内蔵されているので、アクセス制御装置２３０をバス２１６の信号線に直結することも改造を要し難しい。したがって、そのままの構成では、アクセス制御装置２３０は、ＣＰＵコア２０３が実行する命令に関する情報を取得することができない。そこで、本実施の形態では、ＣＰＵコア２０３が実行する命令に関する情報として、ＣＰＵコア２０３が実行する命令コード列、およびそのＲＯＭ２０４におけるアドレス（以下、単にアドレスという。）を、Ｉ／Ｆ２１２を介して出力する処理をＣＰＵコア２０３に実行させる。この出力処理は、例えば、ＲＯＭ２０４の制御プログラムの一処理として組み込んでおくことができる。これにより、アクセス制御装置２３０は、ＣＰＵコア２０３が実行する命令コード列およびそのアドレスをＩ／Ｆ２１２から入力することができる。また、演出制御部３００のアクセス制御装置３３０は、制御コマンドに付加された命令コード列およびそのアドレスを取得することができる。ここで、命令コード列のアドレスとは、命令コード列のうち先頭の命令コードのアドレスをいう。
【００７１】
一方、演出制御部３００は、図５に示すように、ＤＩＰ等からなるワンチップ型のマイクロプロセッサであるＣＰＵ３０２と、ＣＰＵ３０２によるアクセスを制御するアクセス制御装置３３０とを有して構成されている。
【００７２】
ＣＰＵ３０２は、主に演出用の制御プログラムを記憶したＲＯＭ３０４と、このＲＯＭ３０４の制御プログラムに従って演出制御処理を実行するＣＰＵコア３０３と、このＣＰＵコア３０３の演算処理時におけるデータのワークエリアとして機能するＲＡＭ３０６と、演出関連デバイス３１４と、この演出関連デバイス３１４の１つである図柄表示部１０４に表示させる画像データを書き込むＶＲＡＭ３０８とを有して構成されている。
【００７３】
ＣＰＵ３０２は、さらに、主制御部２ａや賞球制御部４００などの外部装置との入出力を行うＩ／Ｆ３１０、３１２とを有して構成されている。そして、ＣＰＵコア３０３、ＲＯＭ３０４、ＲＡＭ３０６、ＶＲＡＭ３０８、Ｉ／Ｆ３１０、３１２、演出関連デバイス３１４は、バス３１６を介して相互に接続されている。
【００７４】
Ｉ／Ｆ３１２には、アクセス制御装置３３０が接続されている。演出制御部３００においても、主制御部２ａのＣＰＵコア２０３が実行する命令に関する情報として、ＣＰＵコア２０３が実行する命令コード列、およびそのＲＯＭ２０４におけるアドレスを、取得する処理をＣＰＵコア３０３に実行させる。命令情報は、あらかじめ定められた制御コマンドに付加されているので、その制御コマンドを受信した演出制御部３００は命令情報を取得することができる。これにより、アクセス制御装置３３０は、ＣＰＵコア２０３が実行する命令コード列およびそのアドレスを取得することができる。
【００７５】
賞球制御部４００は、ＣＰＵ４０２、ＲＯＭ４０４、ＲＡＭ４０６およびＩ／Ｆ４１０のほか、遊技球の払出制御に必要な複数のデバイスからなる賞球関連デバイス群４１４を有して構成されている。
〔ＣＰＵコアおよびアクセス制御装置の構成〕
【００７６】
次に、図４に示した主制御部２ａのＣＰＵコア２０３とこの主制御部２ａ側に設けられたアクセス制御装置２３０、及び図５に示した演出制御部３００のＣＰＵコア３０３とその演出制御部３００側に設けられたアクセス制御装置３３０の構成を説明する。
図６は、ＣＰＵコア２０３およびアクセス制御装置２３０の構成を示すブロック図である。図６では、説明の便宜上、構成の一部を省略している。
【００７７】
同図に示すように、ＣＰＵコア２０３は、ＲＯＭ２０４に記憶された命令コード列を読み出し（フェッチ）、読み出した命令コード列に従ってデータ処理を行う。ＣＰＵコア２０３は、制御部２０３ａ、演算部２０３ｂおよびレジスタ２０３ｃを有して構成されている。
制御部２０３ａは、ＣＰＵ２０２全体の動作を制御し、命令コード列その他データの読出および書込を行うためにバス２１６に制御信号を出力する。
演算部２０３ｂは、レジスタ２０３ｃに保持されたデータに対して演算を行う。
レジスタ２０３ｃは、ＲＯＭ２０４から読み出した命令コード列およびそのアドレス、並びに演算部２０３ｂで処理したデータを保持する。
【００７８】
アクセス制御装置２３０は、遊技制御に用いる乱数や認証に必要な認証情報を生成するとともにＣＰＵコア２０３で処理したデータを保持する。アクセス制御装置２３０は、入力部２３１、演算部２３２、レジスタ２３４、２３６およびアクセス制御部２３８を有して構成されている。
入力部２３１は、ラッチ回路等からなり、ＣＰＵコア２０３が実行する命令コード列およびそのアドレスをＩ／Ｆ２１２から入力する。
【００７９】
演算部２３２は、乱数生成器等からなり、遊技制御に用いる乱数と認証に必要な認証情報との少なくとも一方を生成する。遊技制御に用いる乱数としては、大当たり抽選に用いる乱数（大当たり決定乱数）、演出図柄の停止態様を決定するための乱数（停止図柄決定乱数）、演出図柄の変動パターンを決定するための乱数（変動パターン決定乱数）、その他遊技制御に用いる乱数がある。また、演出制御に用いる乱数としては、主制御部２ａから送られてくる制御コマンドに対応する具体的な演出図柄を決定するための乱数、演出図柄による変動パターン演出と共に音声やランプ演出を決定するための乱数などがある。
レジスタ２３４は、演算部２３２で生成した乱数や認証情報を保持する。レジスタ２３４へのアクセスは、アクセス制御部２３８により制御される。
レジスタ２３６は、ＣＰＵコア２０３で処理したデータを保持する。レジスタ２３６へのアクセスは、アクセス制御部２３８により制御される。
【００８０】
アクセス制御部２３８は、レジスタ２３４、２３６に対するリード要求を入力したときは、そのリード要求に係るリード命令およびそのアドレスを入力部２３１から入力し、入力したリード命令およびアドレスに基づいてアクセス許可条件が成立すると判定したときは、レジスタ２３４、２３６からのデータの読出を許可する。これに対し、アクセス許可条件が成立しないと判定したときは、レジスタ２３４、２３６からのデータの読出を禁止する。具体的には、入力部２３１で入力した命令コード列が、あらかじめ許可されたコード列（以下、許可命令コード列という。）であり、かつ、その命令コード列のアドレスが、あらかじめ許可されたアドレス（以下、許可アドレスという。）であるときにのみ、レジスタ２３４、２３６からデータを読み出すことができる。
【００８１】
アクセス制御部２３８は、レジスタ２３６に対するライト要求を入力したときは、そのライト要求に係るライト命令およびそのアドレスを入力部２３１から入力し、入力したライト命令およびアドレスに基づいてアクセス許可条件が成立すると判定したときは、レジスタ２３６へのデータの書込を許可する。これに対し、アクセス許可条件が成立しないと判定したときは、レジスタ２３６へのデータの書込を禁止する。具体的には、入力部２３１で入力した命令コード列が許可命令コード列であり、かつ、その命令コード列のアドレスが許可アドレスであるときにのみ、レジスタ２３６にデータを書き込むことができる。
次に、演出制御部３００におけるアクセス制御装置３３０の動作について、図７を参照して説明する。
【００８２】
同図に示すように、ＣＰＵコア３０３は、ＲＯＭ３０４に記憶された命令コード列を読み出し（フェッチ）、読み出した命令コード列に従ってデータ処理を行う。ＣＰＵコア３０３は、制御部３０３ａ、演算部３０３ｂおよびレジスタ３０３ｃを有して構成されている。
制御部３０３ａは、ＣＰＵ３０２全体の動作を制御し、命令コード列その他データの読出および書込を行うためにバス３１６に制御信号を出力する。
演算部３０３ｂは、レジスタ３０３ｃに保持されたデータに対して演算を行う。
レジスタ３０３ｃは、ＲＯＭ３０４から読み出した命令コード列およびそのアドレス、並びに演算部３０３ｂで処理したデータを保持する。
【００８３】
アクセス制御装置３３０は、演出制御に用いる乱数や認証に必要な認証情報を生成するとともにＣＰＵコア３０３で処理したデータを保持する。アクセス制御装置３３０は、入力部３３１、演算部３３２、レジスタ３３４、３３６およびアクセス制御部３３８を有して構成されている。
入力部３３１は、ラッチ回路等からなり、ＣＰＵコア３０３が実行する命令コード列およびそのアドレスをＩ／Ｆ３１２から入力する。
【００８４】
演算部３３２は、乱数生成器等からなり、演出制御に用いる乱数と認証に必要な認証情報との少なくとも一方を生成する。演出制御に用いる乱数としては、主制御部２ａから送られてくる制御コマンドに対応する具体的な演出図柄を決定するための乱数、演出図柄による変動パターン演出と共に音声やランプ演出を決定するための乱数などがある。
レジスタ３３４は、演算部３３２で生成した乱数や認証情報を保持する。レジスタ３３４へのアクセスは、アクセス制御部３３８により制御される。
レジスタ３３６は、ＣＰＵコア３０３で処理したデータを保持する。レジスタ３３６へのアクセスは、アクセス制御部３３８により制御される。
【００８５】
アクセス制御部３３８は、レジスタ３２４、３３６に対するリード要求を入力したときは、そのリード要求に係るリード命令およびそのアドレスを入力部３３１から入力し、入力したリード命令およびアドレスに基づいてアクセス許可条件が成立すると判定したときは、レジスタ３３４、３３６からのデータの読出を許可する。これに対し、アクセス許可条件が成立しないと判定したときは、レジスタ３３４、３３６からのデータの読出を禁止する。具体的には、入力部３３１で入力した命令コード列が、許可命令コード列であり、かつ、その命令コード列のアドレスが、あらかじめ許可されたアドレスであるときにのみ、レジスタ３３４、３３６からデータを読み出すことができる。
【００８６】
アクセス制御部３３８は、レジスタ３３６に対するライト要求を入力したときは、そのライト要求に係るライト命令およびそのアドレスを入力部３３１から入力し、入力したライト命令およびアドレスに基づいてアクセス許可条件が成立すると判定したときは、レジスタ３３６へのデータの書込を許可する。これに対し、アクセス許可条件が成立しないと判定したときは、レジスタ３３６へのデータの書込を禁止する。具体的には、入力部３３１で入力した命令コード列が許可命令コード列であり、かつ、その命令コード列のアドレスが許可アドレスであるときにのみ、レジスタ３３６にデータを書き込むことができる。
【００８７】
ところで、主制御部２ａのＣＰＵ２０２が実行する命令に関する情報が演出制御部３００によって取得された場合、演出制御部３００のアクセス制御装置３３０とＣＰＵ３０２とによって、後述するように接続機器認証処理が行われる。ＣＰＵ２０２が実行する命令に関する情報は、後述するように、制御コマンドに付加されて、主制御部２ａから送信されることにより、演出制御部３００によって取得される。
〔アクセス制御処理〕
次に、アクセス制御部２３８で実行されるアクセス制御処理を説明する。
図８は、アクセス制御部２３８で実行されるアクセス制御処理を示すフローチャートである。
アクセス制御部２３８は、アクセス制御処理を実行すると、図８に示すように、まず、ステップＳＳ１０に移行する。
【００８８】
ステップＳＳ１０では、レジスタ２３４、２３６に対するリード要求をＩ／Ｆ２１２から入力したか否かを判定し、リード要求を入力したと判定したとき(Yes)は、ステップＳＳ１２に移行して、ＣＰＵコア２０３が実行する命令コード列およびそのアドレスを入力部２３１から入力し、ステップＳＳ１４に移行する。
【００８９】
ステップＳＳ１４では、入力した命令コード列が許可命令コード列であるか否かを判定し、許可命令コード列であると判定したとき(Yes)は、ステップＳＳ１６に移行して、入力したアドレスが許可アドレスであるか否かを判定し、許可アドレスであると判定したとき(Yes)は、ステップＳＳ１８に移行する。
【００９０】
ステップＳＳ１８では、レジスタ２３４、２３６が保持しているデータを読み出し、ステップＳＳ２０に移行して、読み出したデータをＩ／Ｆ２１２に出力する。出力されたデータは、Ｉ／Ｆ２１２を介してＣＰＵコア２０３のレジスタ２０３ｃに保持される。
【００９１】
次いで、ステップＳＳ２２に移行して、レジスタ２３６に対するライト要求をＩ／Ｆ２１２から入力したか否かを判定し、ライト要求を入力したと判定したとき(Yes)は、ステップＳＳ２４に移行して、ＣＰＵコア２０３が実行する命令コード列およびそのアドレスを入力部２３１から入力し、ステップＳＳ２６に移行する。
【００９２】
ステップＳＳ２６では、入力した命令コード列が許可命令コード列であるか否かを判定し、許可命令コード列であると判定したとき(Yes)は、ステップＳＳ２８に移行して、入力したアドレスが許可アドレスであるか否かを判定し、許可アドレスであると判定したとき(Yes)は、ステップＳＳ３０に移行する。
【００９３】
ステップＳＳ３０では、ＣＰＵコア２０３のレジスタ２０３ｃが保持しているデータをＩ／Ｆ２１２から入力し、ステップＳＳ３２に移行して、入力したデータをレジスタ２３６に書き込み、アクセス制御処理を終了する。
【００９４】
一方、ステップＳＳ２８で、許可アドレスでないと判定したとき(No)、ステップＳＳ２６で、許可命令コード列でないと判定したとき(No)、およびステップＳＳ２２で、ライト要求を入力しないと判定したとき(No)はいずれも、レジスタ２３６にデータを書き込まずに、アクセス制御処理を終了する。このとき、ＣＰＵコア２０３は、アクセス制御装置２３０からの通知を受け、不正が行われている可能性がある旨の通知（以下、適宜、不正通知という。）を行ってもよい。不正通知は、例えば、所定のメッセージ、マークまたは画像を図柄表示部１０４に表示したり、所定のメッセージ音や効果音をスピーカ３８０から出力したり、Ｉ／Ｆ２１０を介してＣＰＵ２０２の製造元、管理者または他の機器にエラーメッセージを送信したり、Ｉ／Ｆ２１０を介して上記表示や音声出力を他の機器に行わせるための制御信号を送信したりすることにより行うことができる。これにより、主制御部２ａに不正が行われた可能性があることをユーザ等に認識させ、調査や修理等の措置を講じさせることができる。
【００９５】
一方、ステップＳＳ１６で、許可アドレスでないと判定したとき(No)、ステップＳＳ１４で、許可命令コード列でないと判定したとき(No)、およびステップＳＳ１０で、リード要求を入力しないと判定したとき(No)はいずれも、レジスタ２３４、２３６が保持しているデータをＩ／Ｆ２１２に出力せずに、ステップＳＳ２２に移行する。このとき、ＣＰＵコア２０３のレジスタ２０３ｃには、アクセス制御装置２３０からの出力がないので、「００００」や「１１１１」等の非正当値が保持される。非正当値を所定値にしておき、その値がレジスタ２０３ｃに保持された場合、ＣＰＵコア２０３は、不正通知を行ってもよい。ここで、所定値とは、例えば、複数種類の固定値群や、あらかじめ変動規則を定めておいた変動値である。
次に、アクセス制御部３３８で実行されるアクセス制御処理について図９を参照して説明する。
図９は、アクセス制御部３３８で実行されるアクセス制御処理を示すフローチャートである。
アクセス制御部３３８は、アクセス制御処理を実行すると、図９に示すように、まず、ステップＳＳ１０に移行する。
【００９６】
ステップＳＳ１０では、レジスタ３３４、３３６に対するリード要求をＩ／Ｆ３１２から入力したか否かを判定し、リード要求を入力したと判定したとき(Yes)は、ステップＳＳ１２ａに移行して、ＣＰＵコア２０３が実行する命令コード列およびそのアドレスを入力部３３１から入力して取得し、ステップＳＳ１４に移行する。この命令コード列およびそのアドレスは、制御コマンドに付加されて主制御部２ａから送信され、演出制御部３００によって取得されたものである。
【００９７】
ステップＳＳ１４では、入力した命令コード列が許可命令コード列であるか否かを判定し、許可命令コード列であると判定したとき(Yes)は、ステップＳＳ１６に移行して、入力したアドレスが許可アドレスであるか否かを判定し、許可アドレスであると判定したとき(Yes)は、ステップＳＳ１８に移行する。
【００９８】
ステップＳＳ１８では、レジスタ３３４、３３６が保持しているデータを読み出し、ステップＳＳ２０に移行して、読み出したデータをＩ／Ｆ３１２に出力する。出力されたデータは、Ｉ／Ｆ３１２を介してＣＰＵコア３０３のレジスタ３０３ｃに保持される。
【００９９】
次いで、ステップＳＳ２２に移行して、レジスタ３３６に対するライト要求をＩ／Ｆ３１２から入力したか否かを判定し、ライト要求を入力したと判定したとき(Yes)は、ステップＳＳ２４ａに移行して、ＣＰＵコア２０３が実行する命令コード列およびそのアドレスを入力部３３１から入力して取得し、ステップＳＳ２６に移行する。この命令コード列およびそのアドレスは、制御コマンドに付加されて主制御部２ａから送信され、演出制御部３００によって取得されたものである。
【０１００】
ステップＳＳ２６では、入力した命令コード列が許可命令コード列であるか否かを判定し、許可命令コード列であると判定したとき(Yes)は、ステップＳＳ２８に移行して、入力したアドレスが許可アドレスであるか否かを判定し、許可アドレスであると判定したとき(Yes)は、ステップＳＳ３０に移行する。
【０１０１】
ステップＳＳ３０では、ＣＰＵコア３０３のレジスタ３０３ｃが保持しているデータをＩ／Ｆ３１２から入力し、ステップＳＳ３２に移行して、入力したデータをレジスタ３３６に書き込み、アクセス制御処理を終了する。
【０１０２】
一方、ステップＳＳ２８で、許可アドレスでないと判定したとき(No)、ステップＳＳ２６で、許可命令コード列でないと判定したとき(No)、およびステップＳＳ２２で、ライト要求を入力しないと判定したとき(No)はいずれも、レジスタ３３６にデータを書き込まずに、アクセス制御処理を終了する。このとき、ＣＰＵコア３０３は、アクセス制御装置３３０からの通知を受け、不正が行われている可能性がある旨の通知（すなわち、不正通知を行ってもよい。不正通知は、例えば、所定のメッセージ、マークまたは画像を図柄表示部１０４に表示したり、所定のメッセージ音や効果音をスピーカ３８０から出力したり、Ｉ／Ｆ３１０を介してＣＰＵ２０２の製造元、管理者または他の機器にエラーメッセージを送信したり、Ｉ／Ｆ３１０を介して上記表示や音声出力を他の機器に行わせるための制御信号を送信したりすることにより行うことができる。これにより、主制御部２ａに不正が行われた可能性があることをユーザ等に認識させ、調査や修理等の措置を講じさせることができる。
【０１０３】
一方、ステップＳＳ１６で、許可アドレスでないと判定したとき(No)、ステップＳＳ１４で、許可命令コード列でないと判定したとき(No)、およびステップＳＳ１０で、リード要求を入力しないと判定したとき(No)はいずれも、レジスタ３３４、３３６が保持しているデータをＩ／Ｆ３１２に出力せずに、ステップＳＳ２２に移行する。このとき、ＣＰＵコア３０３のレジスタ３０３ｃには、アクセス制御装置３３０からの出力がないので、「００００」や「１１１１」等の非正当値が保持される。非正当値を所定値にしておき、その値がレジスタ３０３ｃに保持された場合、ＣＰＵコア３０３は、不正通知を行ってもよい。ここで、所定値とは、例えば、複数種類の固定値群や、あらかじめ変動規則を定めておいた変動値である。
〔ＲＯＭのメモリ構造〕
次に、主制御部２ａのＲＯＭ２０４及び演出制御部３００のＲＯＭ３０４のメモリ構造を説明する。
図１０は、ＲＯＭ２０４、３０４のメモリ構造を模式的に示した図である。
ＲＯＭ２０４、３０４は、図１０に示すように、それぞれＣＰＵコア２０３、３０３が実行する命令コード列を記憶する。
【０１０４】
ＲＯＭ２０４、３０４の各記憶領域２０４ａ、３０４ａには、所定領域ごと（例えば、１バイトごと）にアドレスが割り当てられている。図１０の例では、記憶領域２０４ａ、３０４ａに対してアドレス「０ｘ０００」〜「０ｘＮＮＮ」が割り当てられており、各アドレスは１バイト分の領域を示している。例えば、アドレス「０ｘ１００」〜「０ｘ１０３」には、命令コード列「０ｘＡＢＣＤＥＦＧＨ」（リード命令）が格納されている。また、アドレス「０ｘ１０４」〜「０ｘ１０７」には、命令コード列「０ｘＪＫＬＭＮＯＰＱ」（ライト命令）が格納されている。
〔制御コマンドなどのデータ構造〕
次に、主制御部２ａから演出制御部３００などへ送信される制御コマンドなどのデータ構造を説明する。
図１１は、制御コマンドなどのデータ構造を示す図である。
【０１０５】
通常の制御コマンド５００の場合は、図１１（ａ）に示すように、制御データ５０１が付加されている。これに対し、認証データ付き制御コマンドの場合は、図１１（ｂ）に示すように、制御データ５０１が付加され、さらに第１の認証データである暗号化認証データ５０２および命令情報５０３が付加された構成になっている。このように、第１の認証データや命令情報を制御コマンドに付加して主制御部２ａから送信することにより、認証データ単体または命令情報単体で送信する場合と比較して、主制御部２ａと周辺部３ａとの間の通信負荷の増大を抑えることができる。また、第１の認証データを制御コマンドに付加して主制御部２ａから送信することにより、認証データ単体で送信する場合と比較して、通信データ中から認証データが抽出され、解析されてしまう危険性を低減することができる。さらに、認証処理は、第１の認証データが付加された制御コマンドを送信する場合にのみ行われるため、認証処理による主制御部２ａの処理負荷が認証処理によって増大する割合を抑えることができる。
【０１０６】
なお、制御コマンド５００に対する、制御データ５０１、第１の認証データ５０２、命令情報５０３の配置の順序は、図１１（ｂ）の場合に限定されるものではない。すなわち、図１１（ｃ）に示すように、制御コマンド５００の先頭に第１の認証データ５０２および命令情報５０３を付加した配置としたり、図１１（ｄ）に示すように、制御コマンド５００と制御データ５０１との間に第１の認証データ５０２および命令情報５０３を挿入した配置としたりしてもよい。また、制御コマンド５００および制御データ５０１に対し、認証データ５０２だけを、それらの先頭もしくは後段に付加したり、それらの間に付加したりしてもよい。同様に、制御コマンド５００および制御データ５０１に対し、命令情報５０３だけを、それらの先頭もしくは後段に付加したり、それらの間に付加したりしてもよい。さらに、制御コマンド５００と制御データ５０１とは別個に第１の認証データや命令情報を送信することとしてもよい。例えば、制御コマンドの１つである大当たりコマンドおよびその制御データを送信した後、３回目の制御コマンド送信時に第１の認証データや命令情報を付加して送信する、などとしてもよい。
【０１０７】
ここで、主制御部２ａから演出制御部３００などへ送信される制御コマンドには、電源オンコマンド、電源オフコマンド、客待ちデモ開始コマンド、客待ちデモ停止コマンド、変動パターンコマンド、大当たり開始コマンド、大当たり終了コマンドおよび大当たりコマンドなどがある。
電源オンコマンドは、電源の投入を指定するための制御コマンドであって、電源投入時に演出制御部３００および賞球制御部４００に送信される。
電源オフコマンドは、電源の遮断を指定するための制御コマンドであって、電源遮断時に演出制御部３００および賞球制御部４００に送信される。
【０１０８】
客待ちデモ開始コマンドは、遊技客を誘致するためのデモンストレーション演出（以下、客待ちデモという。）の開始を指定するための制御コマンドであって、遊技中断時に演出制御部３００に送信される。
客待ちデモ停止コマンドは、客待ちデモの終了を指定するための制御コマンドであって、遊技再開時に演出制御部３００に送信される。
【０１０９】
変動パターンコマンドは、演出図柄の変動パターンを指定するための制御コマンドであって、演出図柄の変動開始時に演出制御部３００に送信される。変動パターンコマンドには、はずれ非リーチコマンド、はずれリーチコマンド、大当たりリーチコマンドがある。
【０１１０】
はずれ非リーチコマンドは、大当たり抽選で「はずれ」（以下、単に「はずれ」という。）となったときに選択される変動パターンのうちリーチ演出を行わない変動パターンを指定するための制御コマンドである。
【０１１１】
はずれリーチコマンドは、はずれ時に選択される変動パターンのうちリーチ演出を行う変動パターンを指定するための制御コマンドである。演出制御部３００では、はずれリーチコマンドまたははずれ非リーチコマンドに基づいてはずれであることを判定することができる。
【０１１２】
大当たりリーチコマンドは、大当たり時に選択される変動パターンのうちリーチ演出を行う変動パターンを指定するための制御コマンドである。演出制御部３００では、大当たりリーチコマンドに基づいて大当たりであることを判定することができる。
大当たり開始コマンドは、大当たり演出の開始を指定するための制御コマンドであって、大当たり演出の開始時に演出制御部３００に送信される。
【０１１３】
大当たり終了コマンドは、大当たり演出の終了を指定するための制御コマンドであって、大当たり演出の終了時（最終ラウンドの終了時）に演出制御部３００に送信される。
大当たりコマンドは、大当たりを指定するための制御コマンドであって、これには、ラウンド開始コマンドおよびラウンド終了コマンドがある。
【０１１４】
ラウンド開始コマンドは、ラウンドの開始を指定するための制御コマンドであって、ラウンドの開始時に演出制御部３００に送信される。ラウンド開始コマンドは、各ラウンドごとに設定されている。例えば、最大ラウンド数が１５回である場合は、１５種類のラウンド開始コマンドが設定される。したがって、ラウンドが２回以上継続する場合は、大当たり中にラウンド開始コマンドが複数回にわたって送信されることになる。
【０１１５】
ラウンド終了コマンドは、ラウンドの終了を指定するための制御コマンドであって、最終ラウンドを除くラウンドの終了時に演出制御部３００に送信される。ラウンド終了コマンドは、最終ラウンドを除く各ラウンドごとに設定されている。例えば、最大ラウンド数が１５回である場合は、１４種類のラウンド終了コマンドが設定される。したがって、ラウンドが３回以上継続する場合は、大当たり中にラウンド終了コマンドが複数回にわたって送信されることになる。
【０１１６】
なお、これら制御コマンドは、あくまで代表的なものであり、その他にも各種の制御コマンドが規定されている。本実施形態では、大当たりリーチコマンドに、暗号化認証データや命令情報が付加される。
〔遊技制御処理〕
次に、主制御部２ａで実行される遊技制御処理について説明する。
【０１１７】
ＣＰＵ２０２は、所定の動作クロック（例えば、４[ｍｓ]）で１サイクルを実行可能な制御プログラムをＲＯＭ２０４から読み出し、読み出した制御プログラムに従って、図１２のフローチャートに示す遊技制御処理を実行する。
図１２は、遊技制御処理を示すフローチャートである。
遊技制御処理は、ＣＰＵ２０２において実行されると、図１２に示すように、まず、ステップＳ１００に移行する。
【０１１８】
ステップＳ１００では、電源がオンになったか否かを判定し、電源がオンになったと判定したとき(Yes)は、ステップＳ１０２に移行するが、そうでないと判定したとき(No)は、電源がオンになるまでステップＳ１００で待機する。
【０１１９】
ステップＳ１０２では、ＲＡＭ２０６の内容を初期化し、Ｉ／Ｆ２１０を介して、演出制御部３００および賞球制御部４００に電源オンコマンドを送信する初期化処理を実行する。初期化処理では、電源オンコマンドが送信される。電源オンコマンドは予め定められたコマンドすなわち大当たりリーチコマンドではないため、ステップＳ２１０を経て、暗号化認証データや命令情報が付加されることなく演出制御部３００および賞球制御部４００にそのまま送信される。
【０１２０】
演出制御部３００では、電源オンコマンドを受信すると、図柄表示部１０４、ランプ制御部３８６および音声制御部３８２に対して、電源オン時の演出用の制御コマンド（具体的には、デモ画面の表示、ランプの点灯、音声の出力を指定するための制御コマンド）がそれぞれ送信される。
【０１２１】
次いで、ステップＳ１０４に移行して、ＣＰＵ２０２に接続された機器（以下、接続機器という。）の認証を行う接続機器認証処理を実行し、ステップＳ１０６に移行して、始動入賞口１０５に遊技球が入賞したことを判定する入賞判定処理を実行し、ステップＳ１０８に移行する。
【０１２２】
ステップＳ１０８では、大当たりの判定を行うとともに演出図柄の変動パターンを決定する大当たり判定処理を実行し、ステップＳ１１０に移行して、大入賞口１０９の開閉部材を所定パターンで開放させる電動役物制御処理を実行し、ステップＳ１１２に移行する。
【０１２３】
ステップＳ１１２では、賞球制御部４００に対して遊技球の払出を指定するための制御コマンド（払出制御コマンド）をＲＡＭ２０６の送信バッファに格納する賞球払出制御処理を実行し、ステップＳ１１４に移行して、Ｉ／Ｆ２１０を介して、送信バッファに格納された制御コマンドを演出制御部３００または賞球制御部４００に送信する制御コマンド送信処理を実行し、ステップＳ１１６に移行する。
【０１２４】
ステップＳ１１６では、電源がオフになったか否かを判定し、電源がオフになったと判定したとき(Yes)は、ステップＳ１１８に移行して、Ｉ／Ｆ２１０を介して、演出制御部３００および賞球制御部４００に電源オフコマンドを送信する終了処理を実行し、遊技制御処理を終了する。
【０１２５】
一方、ステップＳ１１６で、電源がオフになっていないと判定したとき(No)は、ステップＳ１０６に移行する。図１２においては、接続機器認証処理（ステップＳ１０４）を実行した後、入賞判定処理（ステップＳ１０６）などの処理に移行しているが、これに限定されない。すなわち、入賞判定処理以降の処理の途中に接続機器認証処理が行われてもよく、処理の順序は問わない。
【０１２６】
なお、乱数カウンタは、上記動作クロックの１周期（例えば、４[ms]）のうち各処理を実行した残余時間を利用して更新される。またその他、遊技制御処理と並列に実行される乱数更新処理で更新することもできる。乱数カウンタは、例えば、「０」から順に「１」ずつカウントアップを行っていき、カウント値が最大値（例えば、「９９９」）を超えたときに「０」に戻すことにより、所定の数値範囲（例えば、「０」〜「９９９」）で循環的にカウントを行う。
〔接続機器認証処理〕
次に、図１２のステップＳ１０４の接続機器認証処理について説明する。
【０１２７】
ＣＰＵ２０２には、各種の機器の接続が可能であるが、ユーザやメーカが承認していない機器が不正に接続され、ＣＰＵ２０２の誤動作を発生させたり、ＲＯＭ２０４のデータが改ざんされたり、盗まれたりする恐れがある。これを防止するため、ＣＰＵ２０２は、接続機器の認証を行う。なお、接続機器認証処理の実行にはアクセス制御装置２３０も密接に関係するため、ここでは、接続機器認証処理の実行に伴うＣＰＵコア２０３およびアクセス制御装置２３０の動作を説明する。
図１３は、接続機器認証処理の実行に伴うＣＰＵコア２０３およびアクセス制御装置２３０の動作を示すフローチャートである。
【０１２８】
ＣＰＵコア２０３は、図１３に示すように、まず、ステップＳ４０、Ｓ４２を経て、接続機器から認証用データを取得し、Ｉ／Ｆ２１２を介して、取得した認証用データを用いて検証値Ｖの生成要求を出力する。検証値Ｖは、接続機器を認証するために用いる値である。なお、ステップＳ４０で取得した認証用データをそのまま検証値Ｖとしてもよい。
アクセス制御装置２３０は、検証値Ｖの生成要求を入力すると、ステップＳ４４を経て、演算部２３２で検証値Ｖを生成し、レジスタ２３４に保持する。
【０１２９】
次いで、ＣＰＵコア２０３は、ステップＳ４６を経て、アクセス制御装置２３０のレジスタ２３４から検証値Ｖを読み出すリード命令をＲＯＭ２０４から読み出し、読み出したリード命令を実行することにより、Ｉ／Ｆ２１２を介してレジスタ２３４に対するリード要求を出力する。また、ステップＳ４８を経て、Ｉ／Ｆ２１２を介して、読み出したリード命令およびそのアドレスを出力する。
【０１３０】
アクセス制御装置２３０は、リード要求を入力すると、ステップＳ５０を経て、リード命令およびそのアドレスを入力し、許可命令コード列および許可アドレスであれば、レジスタ２３４が保持している検証値Ｖを読み出し、読み出した検証値ＶをＩ／Ｆ２１２に出力する。
【０１３１】
ＣＰＵコア２０３は、検証値Ｖを入力すると、ステップＳ５２を経て、入力した検証値Ｖをレジスタ２０３ｃに保持する。そして、ＣＰＵコア２０３は、ステップＳ５４を経て、アクセス制御装置２３０のレジスタ２３６に検証値Ｖを書き込むライト命令をＲＯＭ２０４から読み出し、読み出したライト命令を実行することにより、Ｉ／Ｆ２１２を介してレジスタ２３６に対するライト要求を出力する。また、ステップＳ５６を経て、Ｉ／Ｆ２１２を介して、読み出したライト命令およびそのアドレス並びに検証値Ｖを出力する。
【０１３２】
アクセス制御装置２３０は、ライト要求を入力すると、ステップＳ５８を経て、ライト命令およびそのアドレスを入力し、許可命令コード列および許可アドレスであれば、検証値Ｖを入力し、入力した検証値Ｖをレジスタ２３６に書き込む。
【０１３３】
次いで、ＣＰＵコア２０３は、ステップＳ６０を経て、Ｉ／Ｆ２１２を介して期待値Ｐの生成要求を出力する。期待値Ｐは、検証値Ｖを照合するために用いる値である。
アクセス制御装置２３０は、期待値Ｐの生成要求を入力すると、ステップＳ６２を経て、演算部２３２で期待値Ｐを生成し、レジスタ２３４に保持する。
【０１３４】
次いで、ＣＰＵコア２０３は、ステップＳ６４を経て、アクセス制御装置２３０のレジスタ２３４から期待値Ｐを読み出すリード命令をＲＯＭ２０４から読み出し、読み出したリード命令を実行することにより、Ｉ／Ｆ２１２を介してレジスタ２３４に対するリード要求を出力する。また、ステップＳ６６を経て、Ｉ／Ｆ２１２を介して、読み出したリード命令およびそのアドレスを出力する。
【０１３５】
アクセス制御装置２３０は、リード要求を入力すると、ステップＳ６８を経て、リード命令およびそのアドレスを入力し、許可命令コード列および許可アドレスであれば、レジスタ２３４が保持している期待値Ｐを読み出し、読み出した期待値ＰをＩ／Ｆ２１２に出力する。
【０１３６】
次いで、ＣＰＵコア２０３は、ステップＳ７０を経て、アクセス制御装置２３０のレジスタ２３６から検証値Ｖを読み出すリード命令をＲＯＭ２０４から読み出し、読み出したリード命令を実行することにより、Ｉ／Ｆ２１２を介してレジスタ２３６に対するリード要求を出力する。また、ステップＳ７２を経て、Ｉ／Ｆ２１２を介して、読み出したリード命令およびそのアドレスを出力する。
【０１３７】
アクセス制御装置２３０は、リード要求を入力すると、ステップＳ７４を経て、リード命令およびそのアドレスを入力し、許可命令コード列および許可アドレスであれば、レジスタ２３６が保持している検証値Ｖを読み出し、読み出した検証値ＶをＩ／Ｆ２１２に出力する。
【０１３８】
ＣＰＵコア２０３は、検証値Ｖおよび期待値Ｐを入力すると、ステップＳ７６、Ｓ７８を経て、検証値Ｖと期待値Ｐとを照合し、照合結果が正しいか否かを判定する。照合結果が正しいか否かは、例えば、検証値Ｖが期待値Ｐと所定関係にあるか否かにより判定する。所定関係とは、例えば、検証値Ｖが期待値Ｐと一致していること、検証値Ｖおよび期待値Ｐの一方を所定の演算方法により演算した演算値が他方と一致していること、検証値Ｖおよび期待値Ｐに大小関係その他の相関関係があることをいう。
【０１３９】
照合結果が正しいと判定したとき(Yes)は、ＣＰＵコア２０３は、ステップＳ８０を経て、接続機器を認証し、接続機器認証処理を終了する。一方、照合結果が正しくないと判定したとき(No)は、ＣＰＵコア２０３は、ステップＳ８２を経て、接続機器を認証せず、接続機器認証処理を終了する。接続機器を認証しなかった場合、ＣＰＵコア２０３は、不正通知を行ったり接続機器との接続を切断したりする。
〔制御コマンド送信処理〕
次に、図１２で示すステップＳ１１４の制御コマンド送信処理を説明する。
図１４は、制御コマンド送信処理を示すフローチャートである。
制御コマンド送信処理は、図１２に示すステップＳ１１４において実行されると、図１４に示すように、まず、ステップＳ２００に移行する。
【０１４０】
ステップＳ２００では、制御コマンドを送信バッファから読み出し、ステップＳ２０２に移行して、読み出した制御コマンドが予め定められたコマンド（すなわち大当たりリーチコマンド）であるか否かを判定し、大当たりリーチコマンドであると判定したとき(Yes)は、ステップＳ２０４に移行する。
【０１４１】
ステップＳ２０４では、ＲＯＭ２０４の制御プログラムのデータに基づいて第１の認証データを生成する。第１の認証データは、演出制御部３００で主制御部２ａを認証するためのデータであって、例えば、制御プログラムの一部または全部のデータに対して、ハッシュ関数による演算、パリティチェック、巡回冗長検査（ＣＲＣ（Cyclic Redundancy
Check））またはチェックサム等の誤り検出演算を行って得られた値を検証値として含む。このように、検証値は、ＲＯＭ２０４に実際に記憶されている制御プログラムのデータから算出される。したがって、検証値を用いて認証を行うことにより、正規の主制御基板を不正な主制御基板に取り替えたり、ＲＯＭ２０４の制御プログラムを改ざんしたりといった不正行為を検出することができる。
次いで、ステップＳ２０６に移行して、所定の暗号化アルゴリズムにより、生成した第１の認証データを暗号化する暗号化処理を実行する。
【０１４２】
この暗号化処理には、例えば、暗号鍵（例えば、「0x33」）との排他的論理和（ＸＯＲ）を演算する暗号化アルゴリズムが用いられる。この場合、暗号化アルゴリズムに対応する復号化アルゴリズムは、同一のものとなる。
そして、この暗号化アルゴリズムにより、実行された暗号化処理によって得られた演算値を暗号化認証データとする。
【０１４３】
次いで、ステップＳ２０８に移行して、ステップＳ２００で読み出した制御コマンドを、暗号化した暗号化認証データや命令情報を付加して演出制御部３００に送信し、一連の処理を終了して元の処理に復帰させる。
【０１４４】
一方、ステップＳ２０２で、大当たりリーチコマンドでないと判定したとき(No)は、ステップＳ２１０に移行して、ステップＳ２００で読み出した制御コマンドをそのまま演出制御部３００または賞球制御部４００に送信し、一連の処理を終了して元の処理に復帰させる。
【０１４５】
なお、電源オンコマンドおよび電源オフコマンドの送信（ステップＳ１０２、Ｓ１１８）についても、図１４のフローチャートに示す制御コマンド送信処理と同様の処理を行う。
〔入賞判定処理〕
次に、図１２に示すステップＳ１０６の入賞判定処理を説明する。
図１５は、入賞判定処理を示すフローチャートである。
入賞判定処理は、図１２に示すステップＳ１０６において実行されると、図１５に示すように、まず、ステップＳ３００に移行する。
ステップＳ３００では、保留球数が「０」であるか否かを判定し、保留球数が「０」であると判定したとき(Yes)は、ステップＳ３０２に移行する。
【０１４６】
ステップＳ３０２では、タイマ（不図示）を用いて始動入賞口１０５への最後の入賞から所定時間（例えば、１０分）が経過したか否かを判定し、所定時間が経過したと判定したとき(Yes)は、ステップＳ３０４に移行する。
【０１４７】
ステップＳ３０４では、客待ちデモを行う客待ちデモ実行処理を実行する。客待ちデモ実行処理では、客待ちデモ開始コマンドを送信バッファに格納することにより客待ちデモを開始する。また、始動入賞口１０５への入賞、発射部４８２に対する操作等を契機として遊技の再開を検出したときは、客待ちデモ停止コマンドを送信バッファに格納することにより客待ちデモを終了する。これにより、ステップＳ１１４の制御コマンド送信処理では、客待ちデモ開始コマンドまたは客待ちデモ停止コマンドが演出制御部３００に送信される。
【０１４８】
次いで、ステップＳ３０６に移行して、Ｉ／Ｆ２１０を介して始動入賞口検出部２８０からのセンサ信号を読み込み、読み込んだセンサ信号に基づいて始動入賞口１０５に遊技球が入賞したことを検出したか否かを判定し、遊技球の入賞を検出したと判定したとき(Yes)は、ステップＳ３０８に移行する。
【０１４９】
ステップＳ３０８では、保留球数が「４」以上であるか否かを判定し、保留球数が「４」未満であると判定したとき(No)は、ステップＳ３１０に移行して、保留球数に「１」を加算し、ステップＳ３１２に移行する。
【０１５０】
ステップＳ３１２では、大当たり決定乱数、停止図柄決定乱数その他遊技制御に用いる乱数を乱数カウンタから取得し、ステップＳ３１４に移行して、取得した各乱数を、保留球数に対応したＲＡＭ２０６の所定領域にそれぞれ格納し、一連の処理を終了して元の処理に復帰させる。
【０１５１】
一方、ステップＳ３０８で、保留球数が「４」以上であると判定したとき(Yes)、およびステップＳ３０６で、遊技球の入賞を検出しないと判定したとき(No)はいずれも、一連の処理を終了して元の処理に復帰させる。
【０１５２】
一方、ステップＳ３０２で、所定時間が経過していないと判定したとき(No)、およびステップＳ３００で、保留球数が「０」でないと判定したとき(No)はいずれも、ステップＳ３０６に移行する。
〔大当たり判定処理〕
次に、図１２に示すステップＳ１０８の大当たり判定処理を説明する。
図１６は、大当たり判定処理を示すフローチャートである。
【０１５３】
大当たり判定処理は、所定確率で大当たりを発生させるために、大当たり決定乱数がとり得る所定の数値範囲（例えば、「０」〜「４００」）に１個の大当たり値を設定し、始動入賞口１０５に遊技球が入賞した入賞タイミングで大当たり決定乱数を取得し、取得した乱数値と大当たり値とが一致しているときに大当たりを発生させる処理であって、図１２に示すステップＳ１０８において実行されると、図１６に示すように、まず、ステップＳ４００に移行する。
【０１５４】
ステップＳ４００では、図柄表示部１０４において演出図柄が変動中か否かを判定し、演出図柄が変動中でないと判定したとき(No)は、ステップＳ４０２に移行して、保留球数が「１」以上であるか否かを判定し、保留球数が「１」以上であると判定したとき(Yes)は、ステップＳ４０４に移行する。
【０１５５】
ステップＳ４０４では、保留球数に対応したＲＡＭ２０６の所定領域から大当たり決定乱数を読み出し、ステップＳ４０６に移行して、読み出した乱数値が大当たり値と一致しているか否かを判定し、大当たり値と一致していると判定したとき(Yes)は、ステップＳ４０８に移行して、大当たりフラグをセットし、ステップＳ４１０に移行する。
【０１５６】
ステップＳ４１０では、大当たり時に停止させる演出図柄の態様を決定する大当たり時停止図柄決定処理を実行する。大当たり時停止図柄決定処理では、例えば、大当たり用の停止図柄決定テーブルをＲＯＭ２０４から読み出す。そして、保留球数に対応したＲＡＭ２０６の所定領域から停止図柄決定乱数を読み出し、読み出した乱数値の順位の停止図柄番号を、読み出した停止図柄決定テーブルから取得し、取得した停止図柄番号を示す制御コマンド（図柄指定コマンド）を送信バッファに格納する。
【０１５７】
次いで、ステップＳ４１２に移行して、大当たり時に変動表示する演出図柄の変動パターンを決定する大当たり時変動パターン決定処理を実行する。大当たり時変動パターン決定処理では、例えば、リーチ決定乱数を乱数カウンタから取得し、取得した乱数値に対応する大当たり用の変動パターン決定テーブルをＲＯＭ２０４から読み出す。大当たりリーチコマンドは、１または複数の特定の変動パターン決定テーブルにのみ登録されているので、リーチ決定乱数に基づくこの選択は、リーチ演出を行うか否かを決定することになる。そして、変動パターン決定乱数を乱数カウンタから取得し、取得した乱数値の順位の変動パターン番号を、読み出した変動パターン決定テーブルから取得し、取得した変動パターン番号を示す変動パターンコマンドを送信バッファに格納する。これにより、ステップＳ１１４の制御コマンド送信処理では、大当たりリーチコマンドその他大当たり時に選択される変動パターンコマンドが演出制御部３００に送信される。
【０１５８】
次いで、ステップＳ４１４に移行して、演出制御部３００に対して演出図柄の変動開始を指定するための制御コマンド（変動開始コマンド）を送信バッファに格納する図柄変動開始処理を実行し、ステップＳ４１６に移行して、保留球数から「１」を減算し、一連の処理を終了して元の処理に復帰させる。
【０１５９】
一方、ステップＳ４０６で、大当たり値と一致しないと判定したとき(No)は、ステップＳ４１８に移行して、はずれ時に停止させる演出図柄の態様を決定するはずれ時停止図柄決定処理を実行する。はずれ時停止図柄決定処理は、ステップＳ４１０と同様に構成される。ステップＳ４１０と異なるのは、はずれ用の停止図柄決定テーブルを用いる点である。
【０１６０】
次いで、ステップＳ４２０に移行して、はずれ時に変動表示する演出図柄の変動パターンを決定するはずれ時変動パターン決定処理を実行する。はずれ時変動パターン決定処理は、ステップＳ４１２と同様に構成される。ステップＳ４１２と異なるのは、はずれ用の変動パターン決定テーブルを用いる点である。これにより、ステップＳ１１４の制御コマンド送信処理では、はずれ非リーチコマンド、はずれリーチコマンドその他はずれ時に選択される変動パターンコマンドが演出制御部３００に送信される。
ステップＳ４２０の処理が終了すると、ステップＳ４１４に移行する。
一方、ステップＳ４００で、図柄表示部１０４において演出図柄が変動中であると判定したとき(Yes)は、ステップＳ４２２に移行する。
【０１６１】
ステップＳ４２２では、演出図柄の変動を開始してから所定時間（例えば、３０秒）が経過したか否かを判定し、所定時間が経過したと判定したとき(Yes)は、ステップＳ４２４に移行して、演出制御部３００に対して演出図柄の停止を指定するための制御コマンド（図柄停止コマンド）を送信バッファに格納する図柄停止処理を実行し、一連の処理を終了して元の処理に復帰させる。
【０１６２】
一方、ステップＳ４２２で、所定時間が経過していないと判定したとき(No)、およびステップＳ４０２で、保留球数が「０」であると判定したとき(No)はいずれも、一連の処理を終了して元の処理に復帰させる。
〔電動役物制御処理〕
次に、図１２に示すステップＳ１１０の電動役物制御処理を説明する。
図１７は、電動役物制御処理を示すフローチャートである。
電動役物制御処理は、図１２に示すステップＳ１１０において実行されると、図１７に示すように、まず、ステップＳ５００に移行する。
【０１６３】
ステップＳ５００では、大当たりフラグに基づいて大当たりか否かを判定し、大当たりフラグがセットされていることにより大当たりであると判定したとき(Yes)は、ステップＳ５０２に移行する。
【０１６４】
ステップＳ５０２では、大当たり演出を開始するタイミングであるか否かを判定し、大当たり演出を開始するタイミングであると判定したとき(Yes)は、ステップＳ５０４に移行する。
【０１６５】
ステップＳ５０４では、大当たり開始コマンドを送信バッファに格納する大当たり演出開始処理を実行し、一連の処理を終了して元の処理に復帰させる。これにより、ステップＳ１１４の制御コマンド送信処理では、大当たり開始コマンドが演出制御部３００に送信される。
【０１６６】
一方、ステップＳ５０２で、大当たり演出を開始するタイミングでないと判定したとき(No)は、ステップＳ５０６に移行して、ラウンドを開始するタイミングであるか否かを判定し、ラウンドを開始するタイミングであると判定したとき(Yes)は、ステップＳ５０８に移行する。
【０１６７】
ステップＳ５０８では、ラウンド開始コマンドを送信バッファに格納するラウンド開始処理を実行し、一連の処理を終了して元の処理に復帰させる。これにより、ステップＳ１１４の制御コマンド送信処理では、ラウンド開始コマンドが演出制御部３００に送信される。
【０１６８】
一方、ステップＳ５０６で、ラウンドを開始するタイミングでないと判定したとき(No)は、ステップＳ５１０に移行して、ラウンドが継続中であるか否かを判定し、ラウンドが継続中であると判定したとき(Yes)は、ステップＳ５１２に移行する。
【０１６９】
ステップＳ５１２では、大入賞口開閉部２８８により大入賞口１０９の開閉を制御する大入賞口開閉制御処理を実行し、一連の処理を終了して元の処理に復帰させる。
【０１７０】
一方、ステップＳ５１０で、ラウンドが継続中でないと判定したとき(No)は、ステップＳ５１４に移行して、ラウンドを終了するタイミングであるか否かを判定し、ラウンドを終了するタイミングであると判定したとき(Yes)は、ステップＳ５１６に移行する。
【０１７１】
ステップＳ５１６では、ラウンド回数に「１」を加算し、ステップＳ５１８に移行して、ラウンド回数が最大ラウンド数（例えば、１５回）を超えたか否かを判定し、最大ラウンド数を超えていないと判定したとき(No)は、ステップＳ５２０に移行する。
【０１７２】
ステップＳ５２０では、ラウンド終了コマンドを送信バッファに格納するラウンド終了処理を実行し、一連の処理を終了して元の処理に復帰させる。これにより、ステップＳ１１４の制御コマンド送信処理では、ラウンド終了コマンドが演出制御部３００に送信される。
一方、ステップＳ５１８で、ラウンド回数が最大ラウンド数を超えていると判定したとき(Yes)は、ステップＳ５２２に移行する。
【０１７３】
ステップＳ５２２では、大当たり終了コマンドを送信バッファに格納する大当たり演出終了処理を実行する。これにより、ステップＳ１１４の制御コマンド送信処理では、大当たり終了コマンドが演出制御部３００に送信される。
次いで、ステップＳ５２４に移行して、大当たりフラグをリセットし、一連の処理を終了して元の処理に復帰させる。
【０１７４】
一方、ステップＳ５１４で、ラウンドを終了するタイミングでないと判定したとき(No)、およびステップＳ５００で、大当たりフラグがリセットされていることにより大当たりでないと判定したとき(No)はいずれも、一連の処理を終了して元の処理に復帰させる。
〔演出制御処理〕
次に、演出制御部３００で実行される演出制御処理を説明する。
【０１７５】
演出制御部３００のＣＰＵ３０２は、制御プログラムをＲＯＭ３０４から読み出し、読み出した制御プログラムに従って、図１８のフローチャートに示す演出制御処理を実行する。
図１８は、演出制御処理を示すフローチャートである。
演出制御処理は、ＣＰＵ３０２において実行されると、図１８に示すように、まず、ステップＳ６００に移行する。
【０１７６】
ステップＳ６００では、主制御部２ａから制御コマンドを受信する制御コマンド受信処理を実行し、ステップＳ６０２に移行して、受信した制御コマンドのうち変動パターンコマンドを処理する変動パターンコマンド処理を実行し、ステップＳ６０４に移行する。
【０１７７】
ステップＳ６０４では、受信した制御コマンドのうち大当たりコマンドを処理する大当たりコマンド処理を実行し、ステップＳ６０６に移行して、受信した制御コマンドのうち変動パターンコマンドおよび大当たりコマンド以外のものを処理するその他コマンド処理を実行し、ステップＳ６００に移行する。
〔制御コマンド受信処理〕
次に、ステップＳ６００の制御コマンド受信処理を説明する。
図１９は、制御コマンド受信処理を示すフローチャートである。
制御コマンド受信処理は、ステップＳ６００において実行されると、図１９に示すように、まず、ステップＳ７００に移行する。
【０１７８】
ステップＳ７００では、Ｉ／Ｆ３１０を介して主制御部２ａから制御コマンドを受信したか否かを判定し、制御コマンドを受信したと判定したとき(Yes)は、ステップＳ７０２に移行するが、そうでないと判定したとき(No)は、制御コマンドを受信するまでステップＳ７００で待機する。
【０１７９】
ステップＳ７０２では、受信した制御コマンドが大当たりリーチコマンドであるか否かを判定し、大当たりリーチコマンドであると判定したとき(Yes)は、ステップＳ７０４に移行して、命令情報を取得したか判定し、命令情報を取得した場合(Yes)は、ステップＳ７０６に移行して接続機器認証処理を行う。ステップＳ７０４において、命令情報を取得していない場合(No)は、ステップＳ７０８に移行して、受信した大当たりリーチコマンドに付加されている暗号化認証データを取得し、ステップＳ７１０に移行する。
【０１８０】
ステップＳ７１０では、主制御部２ａが使用する所定の暗号化アルゴリズムに対応する復号化アルゴリズムにより、取得した暗号化認証データを復号化する復号化処理を実行する。
【０１８１】
復号化アルゴリズムとしては、例えば、復号鍵（例えば、「0x33」）との排他的論理和を演算する復号化アルゴリズムが用いられる。ここで、復号化アルゴリズムは、暗号化アルゴリズムにより暗号化した暗号化結果を復号化可能なものである。
【０１８２】
したがって、復号化処理では、復号化アルゴリズムにより暗号化認証データを復号化して検証値を得ることになる。この検証値は、主制御部２ａで生成した検証値（すなわち、期待値）と一致する。
【０１８３】
次いで、ステップＳ７１２に移行して、ＲＯＭ３０４から期待値を読み出し、ステップＳ７１４に移行して、復号化して得られた検証値が、読み出した期待値と一致するか否かを判定し、期待値と一致すると判定したとき(Yes)は、ステップＳ７１６に移行する。
ステップＳ７１６では、ステップＳ７００で受信した制御コマンドをＲＡＭ３０６の受信バッファに格納し、一連の処理を終了して元の処理に復帰させる。
一方、ステップＳ７１４で、検証値が期待値と一致しないと判定したとき(No)は、ステップＳ７１８に移行する。
ステップＳ７１８では、ステップＳ７００で受信した制御コマンドを破棄し、ステップＳ７２０に移行する。
【０１８４】
ステップＳ７２０では、図柄表示部１０４、音声制御部３８２およびランプ制御部３８６に対して、不正通知を行う不正通知演出を指定するための制御コマンド（不正通知演出コマンド）をそれぞれ送信する不正通知処理を実行する。図柄表示部１０４、音声制御部３８２およびランプ制御部３８６では、不正通知演出コマンドを受信すると、不正通知演出を行う。不正通知演出では、例えば、図柄表示部１０４に通常出現しないキャラクタを出現させたり、キャラクタを通常とは異なる方法で出現させたりする。また、図柄表示部１０４の輝度や色を変えたり、所定の点滅パターンでランプ３８４を点滅させたりして通知してもよい。これにより、パチンコホールの従業員がその状態を認識しやすい。また、不正通知演出は、遊技者がその状態を認識しにくい態様で行ってもよいし、逆に、遊技者が認識しやすい態様で行ってもよい。遊技者が認識しやすい態様で行えば、不正行為を中止することが期待できる。
ステップＳ７２０の処理が終了すると、一連の処理を終了して元の処理に復帰させる。
【０１８５】
一方、ステップＳ７０２で、受信した制御コマンドが大当たりリーチコマンドでないと判定したとき(No)は、ステップＳ７２２に移行して、ステップＳ７００で受信した制御コマンドを受信バッファに格納し、一連の処理を終了して元の処理に復帰させる。
〔接続機器認証処理〕
【０１８６】
ここで、図１９のステップＳ７０６において実行される接続機器認証処理について説明する。この場合、主制御部２ａから出力された大当たりリーチコマンドに付加されている命令情報を取得し、接続機器認証処理を実行する。主制御部２ａのＣＰＵ２０２が物理的に解析され、例えばＲＯＭ内の制御プログラムを不正な内容に差し替えて製造された不正なＣＰＵが主制御部２ａに実装されている場合でも、主制御部２ａと演出制御部３００との接続状態を認証することにより、それを検出することができる。この接続機器認証処理は、演出制御部３００のＣＰＵ３０２によって行なわれる。
【０１８７】
ここで、この演出制御部３００における接続機器認証処理の実行にはアクセス制御装置３３０が密接に関係するが、その動作は図１３に示したように主制御部２ａにおけるアクセス制御装置２３０とほぼ同様である。
【０１８８】
すなわち、演出制御部３００のＣＰＵコア３０３は、図２０に示すように、まず、ステップＳ４０ａにおいて、主制御部２ａから出力された命令情報を取得する。この命令情報は、上述したように、例えば、大当たりリーチコマンドに付加されているので、その大当たりリーチコマンドを主制御部２ａから受信したときに取得することができる。
【０１８９】
次に、ステップＳ４２を経て、接続機器から認証用データを取得し、Ｉ／Ｆ３１２を介して、取得した認証用データを用いて接続機器を認証するために用いる検証値Ｖの生成要求を出力する。なお、ステップＳ４０で取得した認証用データをそのまま検証値Ｖとしてもよい。
アクセス制御装置３３０は、検証値Ｖの生成要求を入力すると、ステップＳ４４を経て、演算部３３２で検証値Ｖを生成し、レジスタ３３４に保持する。
【０１９０】
次いで、演出制御部３００のＣＰＵコア３０３は、ステップＳ４６を経て、アクセス制御装置３３０のレジスタ３３４から検証値Ｖを読み出すリード命令をＲＯＭ３０４から読み出し、読み出したリード命令を実行することにより、Ｉ／Ｆ３１２を介してレジスタ３３４に対するリード要求を出力する。また、ステップＳ４８を経て、Ｉ／Ｆ３１２を介して、読み出したリード命令およびそのアドレスを出力する。
【０１９１】
アクセス制御装置３３０は、リード要求を入力すると、ステップＳ５０を経て、リード命令およびそのアドレスを入力し、許可命令コード列および許可アドレスであれば、レジスタ３３４が保持している検証値Ｖを読み出し、読み出した検証値ＶをＩ／Ｆ３１２に出力する。
【０１９２】
演出制御部３００のＣＰＵコア３０３は、検証値Ｖを入力すると、ステップＳ５２を経て、入力した検証値Ｖをレジスタ３０３ｃに保持する。そして、ＣＰＵコア３０３は、ステップＳ５４を経て、アクセス制御装置３３０のレジスタ３３６に検証値Ｖを書き込むライト命令をＲＯＭ３０４から読み出し、読み出したライト命令を実行することにより、Ｉ／Ｆ３１２を介してレジスタ３３６に対するライト要求を出力する。また、ステップＳ５６を経て、Ｉ／Ｆ３１２を介して、読み出したライト命令およびそのアドレス並びに検証値Ｖを出力する。
【０１９３】
アクセス制御装置３３０は、ライト要求を入力すると、ステップＳ５８を経て、ライト命令およびそのアドレスを入力し、許可命令コード列および許可アドレスであれば、検証値Ｖを入力し、入力した検証値Ｖをレジスタ３３６に書き込む。
【０１９４】
次いで、ＣＰＵコア３０３は、ステップＳ６０を経て、Ｉ／Ｆ３１２を介して期待値Ｐの生成要求を出力する。期待値Ｐは、検証値Ｖを照合するために用いる値である。
アクセス制御装置３３０は、期待値Ｐの生成要求を入力すると、ステップＳ６２を経て、演算部３３２で期待値Ｐを生成し、レジスタ３３４に保持する。
【０１９５】
次いで、ＣＰＵコア３０３は、ステップＳ６４を経て、アクセス制御装置３３０のレジスタ３３４から期待値Ｐを読み出すリード命令をＲＯＭ３０４から読み出し、読み出したリード命令を実行することにより、Ｉ／Ｆ３１２を介してレジスタ３３４に対するリード要求を出力する。また、ステップＳ６６を経て、Ｉ／Ｆ３１２を介して、読み出したリード命令およびそのアドレスを出力する。
【０１９６】
アクセス制御装置３３０は、リード要求を入力すると、ステップＳ６８を経て、リード命令およびそのアドレスを入力し、許可命令コード列および許可アドレスであれば、レジスタ３３４が保持している期待値Ｐを読み出し、読み出した期待値ＰをＩ／Ｆ３１２に出力する。
【０１９７】
次いで、演出制御部３００のＣＰＵコア３０３は、ステップＳ７０を経て、アクセス制御装置３３０のレジスタ３３６から検証値Ｖを読み出すリード命令をＲＯＭ３０４から読み出し、読み出したリード命令を実行することにより、Ｉ／Ｆ３１２を介してレジスタ３３６に対するリード要求を出力する。また、ステップＳ７２を経て、Ｉ／Ｆ３１２を介して、読み出したリード命令およびそのアドレスを出力する。
【０１９８】
アクセス制御装置３３０は、リード要求を入力すると、ステップＳ７４を経て、リード命令およびそのアドレスを入力し、許可命令コード列および許可アドレスであれば、レジスタ３３６が保持している検証値Ｖを読み出し、読み出した検証値ＶをＩ／Ｆ３１２に出力する。
【０１９９】
演出制御部３００のＣＰＵコア３０３は、検証値Ｖおよび期待値Ｐを入力すると、ステップＳ７６、Ｓ７８を経て、検証値Ｖと期待値Ｐとを照合し、照合結果が正しいか否かを判定する。照合結果が正しいか否かは、例えば、検証値Ｖが期待値Ｐと所定関係にあるか否かにより判定する。所定関係とは、例えば、検証値Ｖが期待値Ｐと一致していること、検証値Ｖおよび期待値Ｐの一方を所定の演算方法により演算した演算値が他方と一致していること、検証値Ｖおよび期待値Ｐに大小関係その他の相関関係があることをいう。
【０２００】
照合結果が正しいと判定したとき(Yes)は、ＣＰＵコア３０３は、ステップＳ８０を経て、接続機器を認証し、接続機器認証処理を終了する。一方、照合結果が正しくないと判定したとき(No)は、ＣＰＵコア３０３は、ステップＳ８２を経て、接続機器を認証せず、接続機器認証処理を終了する。接続機器を認証しなかった場合、ＣＰＵコア３０３は、不正通知を行ったり接続機器との接続を切断したりする。
〔変動パターンコマンド処理〕
次に、ステップＳ６０２の変動パターンコマンド処理を説明する。
図２１は、変動パターンコマンド処理を示すフローチャートである。
変動パターンコマンド処理は、ステップＳ６０２において実行されると、図２１に示すように、まず、ステップＳ８００に移行する。
【０２０１】
ステップＳ８００では、受信バッファの制御コマンドに基づいて変動パターンコマンドを受信したか否かを判定し、変動パターンコマンドを受信したと判定したとき(Yes)は、ステップＳ８０２に移行するが、そうでないと判定したとき(No)は、変動パターンコマンドを受信するまでステップＳ８００で待機する。
【０２０２】
ステップＳ８０２では、乱数カウンタから乱数を取得し、ステップＳ８０４に移行して、取得した乱数に基づいて、受信した変動パターンコマンドに対応する複数の変動演出のなかからいずれかを選択し、ステップＳ８０６に移行する。
【０２０３】
ステップＳ８０６では、図柄表示部１０４、音声制御部３８２およびランプ制御部３８６に対して、選択した変動演出の開始を指定するための制御コマンド（変動演出開始コマンド）をそれぞれ送信する変動演出開始処理を実行する。
【０２０４】
次いで、ステップＳ８０８に移行して、変動演出開始コマンドを送信してから所定時間（例えば、３０秒）が経過したか否かを判定し、所定時間が経過していないと判定したとき(No)は、ステップＳ８１０に移行して、受信バッファの制御コマンドに基づいて図柄停止コマンドを受信したか否かを判定し、図柄停止コマンドを受信したと判定したとき(Yes)は、ステップＳ８１２に移行する。
【０２０５】
ステップＳ８１２では、図柄表示部１０４、音声制御部３８２およびランプ制御部３８６に対して、変動演出の終了を指定するための制御コマンド（変動演出終了コマンド）をそれぞれ送信する変動演出終了処理を実行する。
ステップＳ８１２の処理が終了すると、一連の処理を終了して元の処理に復帰させる。
一方、ステップＳ８１０で、図柄停止コマンドを受信しないと判定したとき(No)は、ステップＳ８０８に移行する。
一方、ステップＳ８０８で、所定時間が経過したと判定したとき(Yes)は、ステップＳ８１２に移行する。
【０２０６】
なお、乱数カウンタの更新は、主制御部２ａで採用される上記方法により行うことができる。ただし、更新方法は、主制御部２ａとは必ずしも同一でなくてもよい。
〔大当たりコマンド処理〕
次に、ステップＳ６０４の大当たりコマンド処理を説明する。
図２２は、大当たりコマンド処理を示すフローチャートである。
大当たりコマンド処理は、ステップＳ６０４において実行されると、図２２に示すように、まず、ステップＳ９００に移行する。
【０２０７】
ステップＳ９００では、受信バッファの制御コマンドに基づいて大当たり開始コマンドを受信したか否かを判定し、大当たり開始コマンドを受信したと判定したとき(Yes)は、ステップＳ９０２に移行する。
【０２０８】
ステップＳ９０２では、図柄表示部１０４、音声制御部３８２およびランプ制御部３８６に対して、大当たり演出の開始を指定するための制御コマンド（大当たり演出開始コマンド）をそれぞれ送信する大当たり演出開始処理を実行する。
【０２０９】
次いで、ステップＳ９０４に移行して、受信バッファの制御コマンドに基づいてラウンド開始コマンドを受信したか否かを判定し、ラウンド開始コマンドを受信したと判定したとき(Yes)は、ステップＳ９０６に移行する。
【０２１０】
ステップＳ９０６では、図柄表示部１０４、音声制御部３８２およびランプ制御部３８６に対して、ラウンド演出の開始を指定するための制御コマンド（ラウンド演出開始コマンド）をそれぞれ送信するラウンド演出開始処理を実行する。
【０２１１】
次いで、ステップＳ９０８に移行して、受信バッファの制御コマンドに基づいてラウンド終了コマンドを受信したか否かを判定し、ラウンド終了コマンドを受信したと判定したとき(Yes)は、ステップＳ９１０に移行する。
【０２１２】
ステップＳ９１０では、図柄表示部１０４、音声制御部３８２およびランプ制御部３８６に対して、ラウンド演出の終了を指定するための制御コマンド（ラウンド演出終了コマンド）をそれぞれ送信するラウンド演出終了処理を実行し、ステップＳ９０４に移行する。
【０２１３】
一方、ステップＳ９０８で、ラウンド終了コマンドを受信しないと判定したとき(No)は、ステップＳ９１２に移行して、受信バッファの制御コマンドに基づいて大当たり終了コマンドを受信したか否かを判定し、大当たり終了コマンドを受信したと判定したとき(Yes)は、ステップＳ９１４に移行する。
【０２１４】
ステップＳ９１４では、図柄表示部１０４、音声制御部３８２およびランプ制御部３８６に対して、大当たり演出の終了を指定するための制御コマンド（大当たり演出終了コマンド）をそれぞれ送信する大当たり演出終了処理を実行し、一連の処理を終了して元の処理に復帰させる。
一方、ステップＳ９１２で、大当たり終了コマンドを受信しないと判定したとき(No)は、ステップＳ９０８に移行する。
【０２１５】
一方、ステップＳ９０４で、ラウンド開始コマンドを受信しないと判定したとき(No)は、ラウンド開始コマンドを受信するまでステップＳ９０４で待機する。
【０２１６】
一方、ステップＳ９００で、大当たり開始コマンドを受信しないと判定したとき(No)は、大当たり開始コマンドを受信するまでステップＳ９００で待機する。
〔本実施の形態の動作〕
次に、本実施の形態の動作を説明する。
【０２１７】
図１２に示すように、まず、パチンコ機に電源が投入されると、主制御部２ａでは、ステップＳ１０２を経て、初期化処理が実行される。初期化処理では、電源オンコマンドが送信される。電源オンコマンドは予め定められたコマンド（すなわち大当たりリーチコマンド）ではないため、図１４に示すようにステップＳ２１０を経て、暗号化認証データや命令情報が付加されることなく演出制御部３００および賞球制御部４００にそのまま送信される。
【０２１８】
演出制御部３００では、電源オンコマンドを受信すると、図柄表示部１０４、音声制御部３８２およびランプ制御部３８６に対して、電源オン時の演出用の制御コマンド（具体的には、デモ画面の表示、ランプ３８４の点灯、音声の出力を指定するための制御コマンド）がそれぞれ送信される。
初期化処理が終了すると、主制御部２ａでは、ステップＳ１０４を経て、接続機器認証処理が実行される。
【０２１９】
接続機器認証処理では、ステップＳ４０〜Ｓ８２を経て、アクセス制御装置２３０により接続機器の認証が行われる。これにより、接続機器の正当性を認証することができる。しかしながら、例えば、悪意を有する第三者によって、不正な機器が認証されるように接続機器認証処理を改ざんされてしまう場合がある。
【０２２０】
例えば、図１３に示すステップＳ５８では、アクセス制御装置３３０のレジスタ３３６に対して検証値Ｖが書き込まれている。このとき、レジスタ３３６に書き込まれるのは、本来、演出制御部３００のＣＰＵコア３０３のレジスタ３０３ｃに保持されている検証値Ｖである。しかしながら、不正な命令コード列によって、レジスタ３３６に書き込む値をレジスタ３０３ｃ以外の場所（または、レジスタ３０３ｃのうち検証値Ｖが保持されている領域以外の領域）に記憶された値とすることが可能となる。
【０２２１】
また、例えば、図１３に示すステップＳ５０では、アクセス制御装置３３０のレジスタ３３４から検証値Ｖが読み出されている。このとき、読み出す値をレジスタ３３４以外の場所（または、レジスタ３３４のうち検証値Ｖが保持されている領域以外の領域）に記憶された値とすることが可能となる。
これらの不正は、例えば、不正なパッチ等によってＣＰＵコア３０３の処理を分岐させることにより可能となる。
【０２２２】
このような不正行為が行われると、正しい接続機器認証処理が行えず、不正な機器の接続が可能となってしまう。そのため、演出制御部３００にも、アクセス制御装置３３０を設け、演出制御部３００のＣＰＵ３０２によるレジスタ３３４、３３６へのアクセスを制御する。これにより、不正な命令コード列の実行により不正な機器が認証されてしまう可能性を低減することができる。
図２３は、アクセス制御部３３８が行うアクセス制御の概要を示す説明図である。なお、図２３では、説明の便宜上、構成の一部を省略している。
【０２２３】
図２３に示すように、例えば、許可命令コード列および許可アドレスが、命令コード列「０ｘＪＫＬＭＮＯＰＱ」（ライト命令）およびアドレス「０ｘ１０４」であるとする。このとき、正規のＲＯＭ３０４には、アドレス「０ｘ１０４」〜「０ｘ１０７」に命令コード列「０ｘＪＫＬＭＮＯＰＱ」（ライト命令）が記憶されている。
【０２２４】
演出制御部３００のＣＰＵコア３０３が、アドレス「０ｘ１０４」〜「０ｘ１０７」から命令コード列「０ｘＪＫＬＭＮＯＰＱ」を読み出して実行する場合（矢印α）、アクセス制御部３３８は、レジスタ３３６へのデータの書込を許可する。
【０２２５】
ところが、例えば、不正例１のように、アドレス「０ｘ２００」〜「０ｘ２０３」に不正な命令コード列「０ｘＰＯＩＵＹＴＲＥ」（ライト命令）が書き込まれてしまったとする。この場合、ＣＰＵコア２０３が、アドレス「０ｘ２００」〜「０ｘ２０３」から命令コード列「０ｘＰＯＩＵＹＴＲＥ」を読み出して実行しても（矢印β）、命令コード列のアドレスが許可アドレスではないので、アクセス制御部３３８は、レジスタ３３６へのデータの書込を禁止する（ライト命令を拒否）。
【０２２６】
また、例えば、不正例２のように、アドレス「０ｘ０８０」〜「０ｘ０８３」に不正な命令コード列「０ｘＬＫＪＨＧＦＤＳ」が挿入されてしまったとする。この不正な命令コード列は、例えば、レジスタ３３６に書き込む値を変更する命令コード列である。しかしながら、この不正な命令コード列が挿入されたことにより、本来実行が許可される命令コード列「０ｘＪＫＬＭＮＯＰＱ」（ライト命令）のアドレスが「０ｘ１０８」〜「０ｘ１０Ｂ」となってしまっている。
【０２２７】
そのため、演出制御部３００のＣＰＵコア３０３が、アドレス「０ｘ１０８」〜「０ｘ１０Ｂ」から命令コード列「０ｘＪＫＬＭＮＯＰＱ」を読み出して実行しても（矢印γ）、命令コード列のアドレスが許可アドレスではないので、アクセス制御部３３８は、レジスタ３３６へのデータの書込を禁止する（ライト命令を拒否）。このとき、ＣＰＵコア３０３は、アクセス御装置３３０からの通知を受け、不正通知を行ってもよい。これにより、不正な命令コード列「０ｘＬＫＪＨＧＦＤＳ」の実行により書き込み値が変更されたとしても、その値がレジスタ３３６に書き込まれないので、不正行為が行われる可能性を低減することができる。
一方、アクセス制御部３３８は、上記不正行為のほか、ビットエラーによりＣＰＵ３０２が誤動作する可能性を低減することもできる。
図２４は、アクセス制御部３３８が行うアクセス制御の概要を示す説明図である。
【０２２８】
図２４に示すように、例えば、許可命令コード列および許可アドレスが、命令コード列「０ｘＡＢＣＤＥＦＧＨ」（リード命令）およびアドレス「０ｘ１００」、並びに、命令コード列「０ｘＡＢＣＤＥＦＧＩ」（ライト命令）およびアドレス「０ｘ１０４」であるとする。このとき、正規のＲＯＭ３０４には、アドレス「０ｘ１００」〜「０ｘ１０３」に命令コード列「０ｘＡＢＣＤＥＦＧＨ」（リード命令）が記憶されている。
【０２２９】
ＣＰＵコア３０３が命令コード列を読み出す際、命令コード列にビットエラー（例えば、「１」が「０」となる。）が発生してしまう場合がある。その結果、ＣＰＵコア２０３がアドレス「０ｘ１００」〜「０ｘ１０３」から読み出した命令コード列「０ｘＡＢＣＤＥＦＧＨ」（リード命令）が、例えば、命令コード列「０ｘＡＢＣＤＥＦＧＩ」（ライト命令）に置き換わってしまう場合がある（矢印δ）。この場合、ＣＰＵコア３０３が命令コード列「０ｘＡＢＣＤＥＦＧＩ」（ライト命令）を実行すると、アクセス制御装置３３０のデータが予期しない形で書き換えられてしまう可能性がある。
【０２３０】
しかしながら、このようなライト命令が実行されたとしても（矢印ε）、命令コード列のアドレスが許可アドレスではないので、アクセス制御部３３８は、レジスタ３３６へのデータの書込を禁止する（ライト命令を拒否）。
次に、パチンコ機で遊技を行う場合を説明する。
【０２３１】
接続機器が認証されると、図１２に示すように、主制御部２ａにより、ステップＳ１０６〜Ｓ１１４を経て、入賞判定処理、大当たり判定処理、電動役物制御処理および制御コマンド送信処理が所定周期で繰り返し実行される。これにより、パチンコ機は、遊技可能な状態となる。遊技者は、貸し出しを受けた遊技球をパチンコ機に装填し、発射部４８２を操作して遊技球を遊技盤１０１に発射することにより遊技を行うことができる。
【０２３２】
遊技盤１０１に発射された遊技球が始動入賞口１０５に入賞すると、主制御部２ａでは、図１５に示すステップＳ３０６、Ｓ３１２を経て、その入賞タイミングでアクセス制御装置２３０から大当たり決定乱数が読み出される。この大当たり決定乱数も、上記接続機器認証処理の場合と同様に、アクセス制御装置２３０によりアクセスが許可された場合にのみ、読み出すようにしてもよい。すなわち、大当たり決定乱数の読出に関する命令コード列が許可命令コード列であり、かつ、その命令コード列のアドレスが許可アドレスであるときにのみ、読み出すようにしてもよい。その他遊技制御に用いる乱数についても同様である。そして、図１６に示すステップＳ４０４、Ｓ４０６を経て、取得された乱数値が大当たり値と一致していれば、大当たりとなる。
【０２３３】
大当たりとなると、ステップＳ４１０、Ｓ４１２を経て、大当たり時の停止図柄の態様および変動パターンが決定される。このとき、リーチ演出を行うことが決定されると、制御コマンド送信処理では、大当たり図柄を指定するための図柄指定コマンドおよび大当たりリーチコマンドが送信される。大当たりリーチコマンドは予め定められたコマンドであるため、ステップＳ２０４〜Ｓ２０８を経て、暗号化認証データが付加されて周辺部３ａの一例である演出制御部３００に送信される。
【０２３４】
演出制御部３００では、大当たりリーチコマンドを受信すると、図２１に示すステップＳ８０２〜Ｓ８１２を経て、受信した大当たりリーチコマンドに基づいて大当たりリーチ変動時の処理が実行される。
【０２３５】
主制御部２ａでは、図１６に示すステップＳ４１４、Ｓ４２４を経て、所定の変動パターンで演出図柄を変動表示させ、演出図柄の一部をリーチ図柄で停止させた後に大当たり図柄で演出図柄を停止させる。演出図柄が停止すると、制御コマンド送信処理では、大当たり開始コマンドが送信される。大当たり開始コマンドは予め定められたコマンド（すなわち大当たりリーチコマンド）ではないため、図１４に示すステップＳ２１０を経て、暗号化認証データや命令情報が付加されることなく演出制御部３００にそのまま送信される。
【０２３６】
演出制御部３００では、大当たり開始コマンドを受信すると、図２２に示すステップＳ９０２を経て、受信した大当たり開始コマンドに基づいて大当たり演出開始時の処理が実行される。
【０２３７】
大当たり中は、最大ラウンド数を上限として所定条件を満たすまでラウンドが継続される。制御コマンド送信処理では、ラウンドの開始時および終了時に大当たりコマンドが送信される。大当たりコマンドは予め定められたコマンド（すなわち大当たりリーチコマンド）ではないため、図１４に示すステップＳ２１０を経て、暗号化認証データや命令情報が付加されることなく演出制御部３００に送信される。
【０２３８】
また、大当たり中は、大入賞口１０９が所定の開閉パターンで開放し、大入賞口１０９に遊技球が入賞すると、遊技球１個につき所定数の遊技球が賞球として払い出される。
【０２３９】
そして、最終ラウンドが終了すると、制御コマンド送信処理では、大当たり終了コマンドが送信される。大当たり終了コマンドは予め定められたコマンド（すなわち大当たりリーチコマンド）ではないため、図１４に示すステップＳ２１０を経て、暗号化認証データや命令情報が付加されることなく演出制御部３００にそのまま送信される。
【０２４０】
演出制御部３００では、大当たり終了コマンドを受信すると、図２２に示すステップＳ９１４を経て、受信した大当たり終了コマンドに基づいて大当たり演出終了時の処理が実行される。
一方、図１６に示すステップＳ４０４、Ｓ４０６を経て、取得された乱数値が大当たり値と一致しなければ、はずれとなる。
【０２４１】
はずれとなると、図１６に示すステップＳ４１８、Ｓ４２０を経て、はずれ時の停止図柄の態様および変動パターンが決定される。このとき、リーチ演出を行うことが決定されると、制御コマンド送信処理では、はずれ図柄（または、はずれ図柄となる旨）を指定するための図柄指定コマンドおよびはずれリーチコマンドが送信される。これに対し、リーチ演出を行わないことが決定されると、制御コマンド送信処理では、同図柄指定コマンドおよびはずれ非リーチコマンドが送信される。はずれリーチコマンドまたははずれ非リーチコマンドは予め定められたコマンド（すなわち大当たりリーチコマンド）ではないため、図１４に示すステップＳ２１０を経て、暗号化認証データや命令情報が付加されることなく演出制御部３００にそのまま送信される。
【０２４２】
演出制御部３００では、はずれリーチコマンドまたははずれ非リーチコマンドを受信すると、図２１に示すステップＳ８０２〜Ｓ８１２を経て、受信したはずれリーチコマンドまたははずれ非リーチコマンドに基づいてはずれ変動時の処理が実行される。
【０２４３】
一方、遊技が中断されると、主制御部２ａでは、客待ちデモ実行処理が実行される。そして、制御コマンド送信処理では、客待ちデモ開始コマンドが送信される。客待ちデモ開始コマンドまたは予め定められたコマンド（すなわち大当たりリーチコマンド）ではないため、図１４に示すステップＳ２１０を経て、暗号化認証データや命令情報が付加されることなく演出制御部３００にそのまま送信される。
【０２４４】
演出制御部３００では、客待ちデモ開始コマンドを受信すると、客待ちデモ開始時の処理として、図柄表示部１０４、音声制御部３８２およびランプ制御部３８６に対して客待ちデモ用の制御コマンドがそれぞれ送信される。
【０２４５】
その後、遊技が再開されると、制御コマンド送信処理では、客待ちデモ停止コマンドが送信される。客待ちデモ停止コマンドまたは予め定められたコマンド（すなわち大当たりリーチコマンド）ではないため、図１４に示すステップＳ２１０を経て、暗号化認証データや命令情報が付加されることなく演出制御部３００にそのまま送信される。
【０２４６】
演出制御部３００では、客待ちデモ停止コマンドを受信すると、客待ちデモ終了時の処理として、図柄表示部１０４、音声制御部３８２およびランプ制御部３８６に対して客待ちデモ用の制御コマンドがそれぞれ送信される。
【０２４７】
なお、以上は、予め定められたコマンドでない場合、暗号化認証データや命令情報を付加されることなくそのまま送信する場合について説明したが、暗号化認証データや命令情報の代わりにダミー値のデータを付加して送信してもよい。この場合、中間部は、周辺部を介して、ダミー値のデータが付加された制御コマンドを受信する。それを受信した中間部では、ダミー値のデータをそのまま周辺部へ送信してもよいし、さらに別のダミー値のデータを生成してそれを周辺部へ送信してもよい。
【０２４８】
〔アクセス制御装置を設けることによる効果〕
【０２４９】
このようにして、本実施の形態では、演出制御部３００のアクセス制御装置３３０は、レジスタ３３４、３３６と、主制御部２ａのＣＰＵコア２０３が実行する命令情報すなわち命令コード列およびそのアドレスをＩ／Ｆ３１２から入力する入力部３３１と、入力部３３１で入力して取得した命令コード列およびアドレスに基づいて、ＣＰＵ３０２によるレジスタ３３４、３３６へのアクセスを制御するアクセス制御部３３８とを備える。
【０２５０】
これにより、レジスタ３３４、３３６のデータが不正に書き換えられたり読み出されたりする可能性を低減することができるので、不正行為やエラーに起因する不正動作が行われる可能性を低減することができる。また、ＣＰＵ２０２とは別体のアクセス制御装置３３０がアクセス制御機能を実現するので、ＣＰＵコア２０３自体が不正動作検出処理を行う必要がなく、従来に比して、開発や設計の難易度が高くなることを抑制することができる。さらに、命令コード列およびそのアドレスに基づいてアクセスが制御されるので、ＲＯＭ２０４と同等容量のテーブルを用意する必要がなく、従来に比して、データ容量が増大することを抑制することができる。
【０２５１】
さらに、ＤＩＰ等からなるワンチップ型のマイクロプロセッサであるＣＰＵ２０２を採用する場合において、ＣＰＵコア２０３が不正動作検出処理を行う構成では、ＣＰＵ２０２が丸ごと交換されるような不正行為が行われると、ＣＰＵコア２０３自体が交換されてしまうことになるので、ＣＰＵ２０２の正当性を認証することはできない。これに対し、本実施の形態は、アクセス制御装置３３０がＣＰＵ２０２とは別体に設けられているので、そのような不正行為が行われても、ＣＰＵ２０２の正当性を認証することができる。
【０２５２】
さらに、ＤＩＰ等からなるワンチップ型のマイクロプロセッサであるＣＰＵ２０２を採用する場合において、アクセス制御装置のアクセス制限機能を実現する回路等をＣＰＵ２０２に内蔵する構成では、ＣＰＵ２０２を新たに開発、設計等しなければならず、既存のＣＰＵには適用することができない。これに対し、本実施の形態では、アクセス制御装置３３０を演出制御部３００に設けるだけでよいので、既存のＣＰＵにも適用することができる。
【０２５３】
さらに、本実施の形態では、アクセス制御部３３８は、入力部３３１で入力した命令コード列が許可命令コード列であり、かつ、その命令コード列のアドレスが許可アドレスであるときにのみ、レジスタ３３４、３３６へのアクセスを許可する。
【０２５４】
これにより、不正に書き換えられた命令コード列、ビットエラーによって内容が変化した命令コード列、または不正なアドレスに記憶された命令コード列が実行されることにより、レジスタ３３４、３３６のデータが不正に書き換えられたり読み出されたりする可能性を低減することができるので、不正動作が行われる可能性をさらに低減することができる。
さらに、本実施の形態では、アクセス制御装置３３０によるアクセス制御の状況に応じて不正通知を行う。
【０２５５】
これにより、演出制御部３００に対して不正動作が行われた可能性があることを把握することができる。なお、本実施の形態では、演出制御部３００、主制御部２ａにアクセス制御装置２３０、３３０を設けているが、他の構成により主制御部２ａの不正動作を回避できれば、この主制御部２ａ側のアクセス制御装置２３０を省略しても良い。
〔第２の実施の形態〕
【０２５６】
次に、本発明の第２の実施の形態を図面を参照しながら説明する。図２５ないし図２８は、本発明に係る遊技機およびアクセス制御プログラム、並びに遊技制御方法の第２の実施の形態を示す図である。
【０２５７】
本実施の形態は、上記第１の実施の形態に対して、主制御部２ａ及び演出制御部３００のアクセス制御装置２３０、３３０の各アクセス制御部２３８、３３８が、ＣＰＵコア２０３が実行する命令コード列およびそのアドレスに加えて、命令コード列から算出されたチェック値に基づいてアクセスを制御する点が異なる。なお、以下、上記第１の実施の形態と異なる部分についてのみ説明し、上記第１の実施の形態と重複する部分については同一の符号を付して説明を省略する。
〔主制御部の構成〕
まず、主制御部２ａの構成を説明する。
図２５は、主制御部２ａの構成を示すブロック図である。
【０２５８】
主制御部２ａのＣＰＵ２０２は、図２５に示すように、ＣＰＵコア２０３、ＲＯＭ２０４、ＲＡＭ２０６、セキュリティ検査回路２０８、Ｉ／Ｆ２１０、２１２およびタイマ２１４のほか、命令コード列からチェック値を算出するチェック値算出部２１８を有して構成されている。これらは、バス２１６を介して相互に接続されている。
【０２５９】
チェック値算出部２１８は、命令コード列をＲＯＭ２０４から取得する。そして、取得した命令コード列から、命令コード列の正当性を検査するチェック値を算出する。チェック値は、アクセス制御部２３８によるアクセス制御に用いられる。ここで、チェック値とは、ＲＯＭ２０４に記憶された一部若しくはすべての命令コード若しくは命令コード列、１つの命令コードの一部またはそれらの組み合わせから算出される値である。チェック値算出部２１８は、例えば、ＲＯＭ２０４に記憶されたすべての命令コード列に対して、ハッシュ関数による演算、パリティチェック、巡回冗長検査（ＣＲＣ（Cyclic Redundancy
Check））またはチェックサム等の誤り検出演算を行ってチェック値を算出する。このように、チェック値は、ＲＯＭ２０４に実際に記憶されている命令コード列から算出される。したがって、チェック値を用いて照合を行うことにより、ＲＯＭ２０４に記憶された命令コード列の不正な書き換えや、ＲＯＭ２０４の不正な差し替え等を検出することができる。
【０２６０】
入力部２３１は、ＣＰＵコア２０３が実行する命令コード列およびそのアドレス、並びにチェック値算出部２１８で算出したチェック値をＩ／Ｆ２１２から入力する。このとき、チェック値を複数に分割して入力してもよい。この場合、各分割データを結合することによりチェック値を複合する。
【０２６１】
アクセス制御部２３８は、入力部２３１で入力した命令コード列が許可命令コード列であり、かつ、その命令コード列のアドレスが許可アドレスであり、かつ、入力部２３１で入力したチェック値がチェック値の期待値と所定関係にあるときにのみ、レジスタ２３４、２３６へのアクセスを許可する。所定関係とは、例えば、チェック値が期待値と一致していること、チェック値および期待値の一方を所定の演算方法により演算した演算値が他方と一致していること、チェック値および期待値に大小関係その他の相関関係があることをいう。このように、命令コード列およびアドレスの照合と、チェック値の照合とを組み合わせることにより、不正動作が行われる可能性をさらに低減することができる。
【０２６２】
アクセス制御部２３８が照合に用いる期待値は、例えば、あらかじめ（製造時等）アクセス制御部２３８に記憶させておく。また、アクセス制御部２３８が照合に用いる期待値を、他の構成部からアクセス制御部２３８に送信してもよい。他の構成部とは、例えば、ＣＰＵコア２０３やチェック値の期待値を生成するための専用の処理部（以下、期待値算出部という。）である。ＣＰＵコア２０３や期待値算出部は、あらかじめ記憶されている期待値をアクセス制御部２３８に送信してもよいし、照合処理ごとに期待値を生成してもよい。また、Ｉ／Ｆ２１０を介して、外部の機器からＣＰＵコア２０３や期待値算出部に期待値を算出するために必要な係数等を受信してもよい。このように、アクセス制御部２３８に、あらかじめ期待値を記憶させずに、他の構成部から入力することとすれば、ＲＯＭ２０４のチェック値を後発的に変更することが可能となる。
一方、図２６は、演出制御部３００の構成を示すブロック図である。
【０２６３】
演出制御部３００のＣＰＵ３０２は、図２６に示すように、ＣＰＵコア３０３、ＲＯＭ３０４、ＲＡＭ３０６、Ｉ／Ｆ３１０、３１２のほか、主制御部２ａと同様に命令コード列からチェック値を算出するチェック値算出部３１８を有して構成されている。これらは、バス３１６を介して相互に接続されている。
【０２６４】
チェック値算出部３１８は、主制御部２ａから出力される命令コード列を、ＩＦ２１０、３１０を介して取得する。そして、取得した命令コード列から、命令コード列の正当性を検査するチェック値を算出する。チェック値は、アクセス制御部３３８によるアクセス制御に用いられる。ここで、チェック値とは、主制御部２ａのそれと同様に、ＲＯＭ２０４に記憶された一部若しくはすべての命令コード若しくは命令コード列、１つの命令コードの一部またはそれらの組み合わせから算出される値である。チェック値算出部３１８は、例えば、ＲＯＭ２０４に記憶されたすべての命令コード列に対して、ハッシュ関数による演算、パリティチェック、巡回冗長検査（ＣＲＣ（Cyclic Redundancy
Check））またはチェックサム等の誤り検出演算を行ってチェック値を算出する。このように、チェック値は、ＲＯＭ２０４に実際に記憶されている命令コード列から算出される。したがって、チェック値を用いて照合を行うことにより、ＲＯＭ２０４に記憶された命令コード列の不正な書き換えや、ＲＯＭ２０４の不正な差し替え等を検出することができる。
【０２６５】
入力部３３１は、ＣＰＵコア２０３が実行する命令コード列およびそのアドレス、並びにチェック値算出部３１８で算出したチェック値をＩ／Ｆ３１２から入力する。このとき、チェック値を複数に分割して入力してもよい。この場合、各分割データを結合することによりチェック値を複合する。
【０２６６】
アクセス制御部３３８は、入力部３３１で入力した命令コード列が許可命令コード列であり、かつ、その命令コード列のアドレスが許可アドレスであり、かつ、入力部３３１で入力したチェック値がチェック値の期待値と所定関係にあるときにのみ、レジスタ３３４、３３６へのアクセスを許可する。所定関係とは、例えば、チェック値が期待値と一致していること、チェック値および期待値の一方を所定の演算方法により演算した演算値が他方と一致していること、チェック値および期待値に大小関係その他の相関関係があることをいう。このように、命令コード列およびアドレスの照合と、チェック値の照合とを組み合わせることにより、演出制御部３００に対する不正動作が行われる可能性をさらに低減することができる。
【０２６７】
アクセス制御部３３８が照合に用いる期待値は、例えば、あらかじめ（製造時等）アクセス制御部２３８に記憶させておく。また、アクセス制御部３３８が照合に用いる期待値を、他の構成部からアクセス制御部２３８に送信してもよい。他の構成部とは、例えば、ＣＰＵコア３０３やチェック値の期待値を生成するための専用の処理部（以下、期待値算出部という。）である。ＣＰＵコア３０３や期待値算出部は、あらかじめ記憶されている期待値をアクセス制御部３３８に送信してもよいし、照合処理ごとに期待値を生成してもよい。また、Ｉ／Ｆ３１０を介して、外部の機器からＣＰＵコア３０３や期待値算出部に期待値を算出するために必要な係数等を受信してもよい。このように、アクセス制御部３３８に、あらかじめ期待値を記憶させずに、他の構成部から入力することとすれば、ＲＯＭ２０４のチェック値を後発的に変更することが可能となる。
〔チェック値算出処理〕
次に、これら各チェック値算出部２１８、３１８で実行されるチェック値算出処理を説明する。
図２７は、チェック値算出処理を示すフローチャートである。
チェック値算出部２１８、３１８は、それぞれチェック値算出処理を実行すると、図２７に示すように、まず、ステップＳＳ６００に移行する。
【０２６８】
ステップＳＳ６００では、それぞれアクセス制御部２３８、３３８からチェック値の取得要求を受信したか否かを判定し、チェック値の取得要求を受信したと判定したとき(Yes)は、ステップＳＳ６０２に移行するが、そうでないと判定したとき(No)は、チェック値の取得要求を受信するまでステップＳＳ６００で待機する。
【０２６９】
ステップＳＳ６０２では、それぞれＲＯＭ２０４から命令情報である命令コード列を取得し、ステップＳＳ６０４に移行して、その取得した命令コード列に対して上記誤り検出演算を行ってチェック値を算出し、ステップＳＳ６０６に移行して、算出したチェック値をアクセス制御部２３８、３３８に送信し、チェック値算出処理を終了する。
〔アクセス制御処理〕
次に、各アクセス制御部２３８、３３８で実行されるアクセス制御処理を説明する。
図２８は、アクセス制御処理を示すフローチャートである。
アクセス制御部２３８は、アクセス制御処理を実行すると、図２８に示すように、まず、ステップＳＳ７００に移行する。
【０２７０】
ステップＳＳ７００では、レジスタ２３４、２３６に対するリード要求をＩ／Ｆ２１２から入力したか否かを判定し、リード要求を入力したと判定したとき(Yes)は、ステップＳＳ７０２に移行して、ＣＰＵコア２０３が実行する命令に関する情報である命令コード列およびそのアドレスを入力部２３１から入力し、ステップＳＳ７０４に移行する。
【０２７１】
ステップＳＳ７０４では、入力した命令コード列が許可命令コード列であるか否かを判定し、許可命令コード列であると判定したとき(Yes)は、ステップＳＳ７０６に移行して、入力したアドレスが許可アドレスであるか否かを判定し、許可アドレスであると判定したとき(Yes)は、ステップＳＳ７０８に移行する。
【０２７２】
ステップＳＳ７０８では、チェック値の取得要求をチェック値算出部２１８に送信し、ステップＳＳ７１０に移行して、その応答としてチェック値を入力部２３１から入力し、ステップＳＳ７１２に移行する。
【０２７３】
ステップＳＳ７１２では、アクセス制御部２３８に記憶されている期待値を読み出したり、ＣＰＵコア２０３や期待値算出部が生成した期待値を受信したりすることによりチェック値の期待値を取得し、ステップＳＳ７１４に移行する。
【０２７４】
ステップＳＳ７１４では、入力したチェック値が、入力した期待値と一致しているか否かを判定し、チェック値が期待値と一致していると判定したとき(Yes)は、ステップＳＳ７１６に移行する。
【０２７５】
ステップＳＳ７１６では、レジスタ２３４、２３６が保持しているデータを読み出し、ステップＳＳ７１８に移行して、読み出したデータをＩ／Ｆ２１２に出力する。出力されたデータは、Ｉ／Ｆ２１２を介してＣＰＵコア２０３のレジスタ２０３ｃに保持される。
【０２７６】
次いで、ステップＳＳ７２０に移行して、レジスタ２３６に対するライト要求をＩ／Ｆ２１２から入力したか否かを判定し、ライト要求を入力したと判定したとき(Yes)は、ステップＳＳ７２２に移行して、ＣＰＵコア２０３が実行する命令情報である命令コード列およびそのアドレスを入力部２３１から入力し、ステップＳＳ７２４に移行する。
【０２７７】
ステップＳＳ７２４では、入力した命令コード列が許可命令コード列であるか否かを判定し、許可命令コード列であると判定したとき(Yes)は、ステップＳＳ７２６に移行して、入力したアドレスが許可アドレスであるか否かを判定し、許可アドレスであると判定したとき(Yes)は、ステップＳＳ７２８に移行する。
ステップＳＳ７２８〜ＳＳ７３２では、ステップＳＳ７０８〜ＳＳ７１２と同様の処理を実行し、ステップＳＳ７３４に移行する。
【０２７８】
ステップＳＳ７３４では、チェック値が期待値と一致しているか否かを判定し、チェック値が期待値と一致していると判定したとき(Yes)は、ステップＳＳ７３６に移行する。
【０２７９】
ステップＳＳ７３６では、ＣＰＵコア２０３のレジスタ２０３ｃが保持しているデータをＩ／Ｆ２１２から入力し、ステップＳＳ７３８に移行して、入力したデータをレジスタ２３６に書き込み、アクセス制御処理を終了する。
【０２８０】
一方、ステップＳＳ７３４で、チェック値が期待値と一致していないと判定したとき(No)、ステップＳＳ７２６で、許可アドレスでないと判定したとき(No)、ステップＳＳ７２４で、許可命令コード列でないと判定したとき(No)、およびステップＳＳ７２０で、ライト要求を入力しないと判定したとき(No)はいずれも、レジスタ２３６にデータを書き込まずに、アクセス制御処理を終了する。このとき、ＣＰＵコア２０３は、アクセス制御装置２３０からの通知を受け、不正通知を行ってもよい。
【０２８１】
一方、ステップＳＳ７１４で、チェック値が期待値と一致していないと判定したとき(No)、ステップＳＳ７０６で、許可アドレスでないと判定したとき(No)、ステップＳＳ７０４で、許可命令コード列でないと判定したとき(No)、およびステップＳＳ７００で、リード要求を入力しないと判定したとき(No)はいずれも、レジスタ２３４、２３６が保持しているデータをＩ／Ｆ２１２に出力せずに、ステップＳＳ７２０に移行する。このとき、ＣＰＵコア２０３のレジスタ２０３ｃに非正当値が保持されるが、その値が所定値である場合、ＣＰＵコア２０３は、不正通知を行ってもよい。
次に、各アクセス制御部３３８で実行されるアクセス制御処理を説明する。
図２９は、アクセス制御処理を示すフローチャートである。
アクセス制御部３３８は、アクセス制御処理を実行すると、図２９に示すように、まず、ステップＳＳ７００に移行する。
【０２８２】
ステップＳＳ７００では、レジスタ３３４、３３６に対するリード要求をＩ／Ｆ３１２から入力したか否かを判定し、リード要求を入力したと判定したとき(Yes)は、ステップＳＳ７０２ａに移行して、ＣＰＵコア２０３が実行する命令に関する情報である命令コード列およびそのアドレスを入力部３３１から取得し、ステップＳＳ７０４に移行する。この命令コード列およびそのアドレスは、制御コマンドに付加されて主制御部２ａから送信され、演出制御部３００によって取得されたものである。
【０２８３】
ステップＳＳ７０４では、取得した命令コード列が許可命令コード列であるか否かを判定し、許可命令コード列であると判定したとき(Yes)は、ステップＳＳ７０６に移行して、入力したアドレスが許可アドレスであるか否かを判定し、許可アドレスであると判定したとき(Yes)は、ステップＳＳ７０８に移行する。
【０２８４】
ステップＳＳ７０８では、チェック値の取得要求をチェック値算出部３１８に送信し、ステップＳＳ７１０に移行して、その応答としてチェック値を入力部３３１から入力し、ステップＳＳ７１２に移行する。
【０２８５】
ステップＳＳ７１２では、それぞれアクセス制御部３３８に記憶されている期待値を読み出したり、ＣＰＵコア３０３や期待値算出部が生成した期待値を受信したりすることによりチェック値の期待値を取得し、ステップＳＳ７１４に移行する。
【０２８６】
ステップＳＳ７１４では、入力したチェック値が、入力した期待値と一致しているか否かを判定し、チェック値が期待値と一致していると判定したとき(Yes)は、ステップＳＳ７１６に移行する。
【０２８７】
ステップＳＳ７１６では、レジスタ３３４、３３６が保持しているデータを読み出し、ステップＳＳ７１８に移行して、読み出したデータをＩ／Ｆ２１２、３１２に出力する。出力されたデータは、Ｉ／Ｆ３１２を介してＣＰＵコア３０３のレジスタ３０３ｃに保持される。
【０２８８】
次いで、ステップＳＳ７２０に移行して、レジスタ３３６に対するライト要求をＩ／Ｆ３１２から入力したか否かを判定し、ライト要求を入力したと判定したとき(Yes)は、ステップＳＳ７２２ａに移行して、ＣＰＵコア２０３が実行する命令情報である命令コード列およびそのアドレスを入力部３３１から取得し、ステップＳＳ７２４に移行する。この命令コード列およびそのアドレスは、制御コマンドに付加されて主制御部２ａから送信され、演出制御部３００によって取得されたものである。
【０２８９】
ステップＳＳ７２４では、取得した命令コード列が許可命令コード列であるか否かを判定し、許可命令コード列であると判定したとき(Yes)は、ステップＳＳ７２６に移行して、入力したアドレスが許可アドレスであるか否かを判定し、許可アドレスであると判定したとき(Yes)は、ステップＳＳ７２８に移行する。
ステップＳＳ７２８〜ＳＳ７３２では、ステップＳＳ７０８〜ＳＳ７１２と同様の処理を実行し、ステップＳＳ７３４に移行する。
【０２９０】
ステップＳＳ７３４では、チェック値が期待値と一致しているか否かを判定し、チェック値が期待値と一致していると判定したとき(Yes)は、ステップＳＳ７３６に移行する。
【０２９１】
ステップＳＳ７３６では、ＣＰＵコア３０３のレジスタ３０３ｃが保持しているデータをＩ／Ｆ３１２から入力し、ステップＳＳ７３８に移行して、入力したデータをレジスタ３３６に書き込み、アクセス制御処理を終了する。
【０２９２】
一方、ステップＳＳ７３４で、チェック値が期待値と一致していないと判定したとき(No)、ステップＳＳ７２６で、許可アドレスでないと判定したとき(No)、ステップＳＳ７２４で、許可命令コード列でないと判定したとき(No)、およびステップＳＳ７２０で、ライト要求を入力しないと判定したとき(No)はいずれも、レジスタ３３６にデータを書き込まずに、アクセス制御処理を終了する。このとき、ＣＰＵコア３０３は、アクセス制御装置３３０からの通知を受け、不正通知を行ってもよい。
【０２９３】
一方、ステップＳＳ７１４で、チェック値が期待値と一致していないと判定したとき(No)、ステップＳＳ７０６で、許可アドレスでないと判定したとき(No)、ステップＳＳ７０４で、許可命令コード列でないと判定したとき(No)、およびステップＳＳ７００で、リード要求を入力しないと判定したとき(No)はいずれも、レジスタ３３４、３３６が保持しているデータをＩ／Ｆ３１２に出力せずに、ステップＳＳ７２０に移行する。このとき、ＣＰＵコア３０３のレジスタ３０３ｃに非正当値が保持されるが、その値が所定値である場合、ＣＰＵコア３０３は、不正通知を行ってもよい。
〔本実施の形態の効果〕
【０２９４】
このようにして、本実施の形態では、演出制御部３００のＣＰＵ３０２は、主制御部２ａから取得した命令コード列からチェック値を算出するチェック値算出部３１８を備え、アクセス制御部３３８は、入力部３３１で入力した命令コード列が許可命令コード列であり、かつ、その命令コード列のアドレスが許可アドレスであり、かつ、入力部３３１で入力したチェック値がチェック値の期待値と所定関係にあるときにのみ、レジスタ３３４、３３６へのアクセスを許可する。
【０２９５】
これにより、主制御部２ａのＲＯＭ２０４に記憶された命令コード列が不正に書き換えられたことを検出することができる。また、命令コード列およびアドレスの照合と、チェック値の照合とを組み合わせることにより、不正動作が行われる可能性をさらに低減することができる。なお、チェック値の照合は、命令コード列およびアドレスの照合と組み合わせて行うので、チェック値の算出に比較的処理負荷が軽い誤り検出演算（例えば、パリティチェック）を用いても、一定の精度を得ることができる。
【０２９６】
なお、本実施の形態では、演出制御部３００、主制御部２ａにアクセス制御装置２３０、３３０を設けると共に、それぞれにチェック値算出部２１８、３１８を設けた例で説明したが、主制御部２ａ側のアクセス制御装置２３０が設けられていない場合などには、その主制御部２ａのチェック値算出部２１８を省略しても良い。
〔他の実施の形態〕
【０２９７】
なお、上記第２の実施の形態において、アクセス制御装置３３０は、命令コード列からチェック値を算出するように構成したが、これに限らず、次の３つの構成を採用することができる。
（１）第１の構成
【０２９８】
第１の構成は、命令コード列に代えて、ＲＯＭ２０４に記憶されたデータ（以下、第１算出基礎データという。）からチェック値を算出する。第１算出基礎データとは、例えば、ＲＯＭ２０４に記憶された所定の固定値である。なお、第１算出基礎データは、固定値に限らず、変動前後のデータ値を正確に予測可能な変動データであってもよい。変動前後のデータ値を正確に予測可能とは、具体的には、例えば、変動範囲が定まっている場合や変動規則が定まっている場合をいう。
チェック値算出部３１８は、第１算出基礎データを取得し、取得した第１算出基礎データからチェック値を算出する。
【０２９９】
アクセス制御部３３８は、あらかじめ第１算出基礎データの期待値を記憶している。アクセス制御部３３８は、期待値からチェック値を算出し、入力部３３１で入力したチェック値が、算出したチェック値と所定関係にあるか否かを判定する。その他、入力部３３１で入力したチェック値が期待値と所定関係にあるか否かを判定してもよい。なお、命令コード列から算出したチェック値と、第１算出基礎データから算出したチェック値の両方に基づいてアクセス制御を行ってもよい。これにより、ＲＯＭ２０４が不正なものに交換されたことを検出することができる。
（２）第２の構成
【０３００】
第２の構成は、命令コード列に代えて、ＣＰＵコア２０３が実行する命令コード列の実行結果（以下、第２算出基礎データという。）からチェック値を算出する。第２算出基礎データとは、例えば、ＣＰＵコア２０３のフラグレジスタの値である。なお、第２算出基礎データは、フラグレジスタの値に限らず、命令コード列が正しく実行されたときに第１の値を返し、それ以外は第２の値を返す関数の戻り値であってもよい。
チェック値算出部３１８は、第２算出基礎データをフラグレジスタ等から取得し、取得した第２算出基礎データからチェック値を算出する。
【０３０１】
アクセス制御部３３８は、第１の構成の場合と同様に構成することができる。なお、第１算出基礎データから算出したチェック値にさらに基づいてアクセス制御を行ってもよい。
【０３０２】
また、第２算出基礎データからチェック値を算出せず、第２算出基礎データをそのまま用いてもよい。すなわち、アクセス制御部３３８は、入力部３３１で入力した命令コード列が許可命令コード列であり、かつ、その命令コード列のアドレスが許可アドレスであり、かつ、第２算出基礎データが所定値であるときにのみ、アクセスを許可する。
【０３０３】
これにより、不正に書き換えられた命令コード列や、ビットエラーによって内容が変化した命令コード列が実行されることにより、レジスタ３３４、３３６のデータが不正に書き換えられたり読み出されたりする可能性を低減することができるので、不正動作が行われる可能性をさらに低減することができる。
（３）第３の構成
第３の構成は、命令コード列に代えて、命令コード列のアドレス（以下、第３算出基礎データという。）からチェック値を算出する。
チェック値算出部３１８は、第３算出基礎データをバス３１６等から取得し、取得した第３算出基礎データからチェック値を算出する。
【０３０４】
アクセス制御部３３８は、第１の構成の場合と同様に構成することができる。なお、第１算出基礎データおよび第２算出基礎データの一方または両方から算出したチェック値にさらに基づいてアクセス制御を行ってもよい。
【０３０５】
また、上記第２の実施の形態において、アクセス許可条件は、入力部３３１で入力した命令コード列が許可命令コード列であり、かつ、その命令コード列のアドレスが許可アドレスであり、かつ、入力部３３１で入力したチェック値がチェック値の期待値と所定関係にあることとしたが、これに限らず、（１）入力部３３１で入力した命令コード列が許可命令コード列であること、（２）その命令コード列のアドレスが許可アドレスであること、（３）入力部３３１で入力したチェック値がチェック値の期待値と所定関係にあることのうちいずれか１つまたは任意の２つの組み合わせとすることもできる。第１算出基礎データまたは第２算出基礎データを用いる場合も、（１）〜（３）との任意の組み合わせでアクセス許可条件を設定することができる。また、上記第１の実施の形態においても、（１）または（２）でアクセス許可条件を設定することができる。
【０３０６】
また、上記第１および第２の実施の形態において、アクセス制御部２３８、３３８は、レジスタ２３４、３３４、２３６、３３６へのアクセスを制御するように構成したが、これに限らず、レジスタ２３４、３３４、２３６、３３６のうち特定のアドレス空間へのアクセスを制御するように構成することもできる。
【０３０７】
これにより、レジスタ２３４、３３４、２３６、３３６のうち、機密情報等の重要な情報が記憶されたアドレス空間へのアクセスを制御することにより、重要な情報が不正に書き換えられたり読み出されたりする可能性を低減することができるので、不正動作が行われる可能性をさらに低減することができる。
【０３０８】
また、上記第１および第２の実施の形態においては、命令コード列の単位で読出、実行、判定その他の処理を行うように構成したが、これに限らず、命令コードの単位で読出、実行、判定その他の処理を行うように構成することもできる。これは、上記他の実施の形態についても同様である。代表例として、入力した命令コードが、あらかじめ許可されたコードであり、かつ、その命令コードのアドレスが許可アドレスであるときにのみ、アクセスを許可する。アクセス許可条件の組み合わせについては、命令コード列の場合と同様の組み合わせを採用することができる。
【０３０９】
また、上記第１および第２の実施の形態においては、アクセス制御装置２３０を演出制御部に設けたが、これに限らず、中間部に設けたり、賞球制御部に設けたりしてもよい。
【０３１０】
また、上記第２の実施の形態において、チェック値算出部２１８、３１８は、チェック値の取得要求に応じてチェック値を算出するように構成したが、これに限らず、所定条件が成立したときにチェック値を算出し、算出したチェック値をアクセス制御部２３８、３３８に送信するように構成することもできる。
【０３１１】
また、上記第１および第２の実施の形態において、ＣＰＵ２０２、３０２は、それぞれ２つのＩ／Ｆ２１０、３１０、２１２、３１２を設けて構成したが、これに限らず、１つのＩ／Ｆのみを設けて構成してもよいし、さらに多数のＩ／Ｆを設けて構成してもよい。
ところで、命令コード列およびそのアドレスは、任意または特定の制御コマンドに付加することができる。
【０３１２】
制御コマンドに命令コード列およびそのアドレスを付加すると、アクセス制御装置２３０、３３０のレジスタ２３４、３３４から乱数を読み出す場合、制御コマンドの種類によっては、命令コード列およびそのアドレスの出力タイミングと、乱数の読出タイミングとが一致しないことがある。例えば、大当たり中に送信される大当たりコマンドに付加する場合、命令コード列およびそのアドレスは大当たり中に出力されるのに対し、大当たり決定乱数は大当たりの発生前に読み出さなければならない。そこで、アクセス制御装置２３０、３３０の構成として、例えば、次の２つの構成を採用することができる。
【０３１３】
第１の構成は、制御コマンドの送信時に認証が得られたときは、所定許可回数のアクセスに限り認証を行わない。所定許可回数は、認証が得られた後最初のアクセスから計数を開始してもよいし、認証が得られた後所定回数のアクセスを待って計数を開始してもよい。後者の場合、計数開始前のアクセスは禁止される。したがって、認証後に所定回数のダミーアクセスが必要となり、この回数が分からなければ、認証が得られてもレジスタ２３４、３３４、２３６、３３６へのアクセスができないので、不正動作が行われる可能性を低減することができる。
【０３１４】
第２の構成は、制御コマンドの送信時に認証が得られたときは、所定許可期間内に限り認証を行わない。所定許可期間は、認証が得られた直後から開始してもよいし、認証が得られた後所定時間経過を待って開始してもよい。後者の場合、開始前のアクセスは禁止される。また、開始前にアクセスがあったときは、その後のアクセスを禁止してもよい。したがって、認証後に所定時間の待機が必要となり、この時間が分からなければ、認証が得られてもレジスタ２３４、３３４、２３６、３３６へのアクセスができないので、不正動作が行われる可能性を低減することができる。
また、上記第１および第２の実施の形態において、命令コード、および、命令コード列の少なくとも一方を暗号化して用いてもよい。
【０３１５】
また、上記第１および第２の実施の形態において、図１２ないし図１７のフローチャートに示す遊技制御処理を実行するにあたってはいずれも、ＲＯＭ２０４にあらかじめ格納されている制御プログラムを実行する場合について説明したが、これに限らず、これらの手順を示したプログラムが記憶された記憶媒体から、そのプログラムをＲＡＭ２０６に読み込んで実行するようにしてもよい。図２７および図２８のフローチャートに示す処理についても同様である。
【０３１６】
ここで、記憶媒体とは、ＲＡＭ、ＲＯＭ等の半導体記憶媒体、ＦＤ、ＨＤ等の磁気記憶型記憶媒体、ＣＤ、ＣＤＶ、ＬＤ、ＤＶＤ等の光学的読取方式記憶媒体、ＭＯ等の磁気記憶型／光学的読取方式記憶媒体であって、電子的、磁気的、光学的等の読み取り方法のいかんにかかわらず、コンピュータで読み取り可能な記憶媒体であれば、あらゆる記憶媒体を含むものである。
【０３１７】
図３０は、大当たりリーチコマンドに基づくパチンコ機の主制御部２ａの認証動作のシーケンスを示す図である。制御コマンドが予め定められたコマンド（すなわち大当たりリーチコマンド）である場合、暗号化認証データや命令情報が付加された後、主制御部２ａから送信される。
【０３１８】
制御コマンドが格納され（Ｓ１）、その制御コマンドが大当たりリーチコマンドである場合、検証値を含む第１の認証データが生成される（Ｓ２）。生成された第１の認証データは、所定の暗号化アルゴリズムにより暗号化される（Ｓ３）。そして、第１の認証データや命令情報が付加された大当たりリーチコマンドは、主制御部２ａから周辺部３ａへ送信される（Ｓ４、Ｓ５）。
【０３１９】
第１の認証データや命令情報が付加された大当たりリーチコマンドは周辺部によって受信される（Ｓ６）。すると、第１の認証データや命令情報が付加された大当たりリーチコマンドは、バス３ｃを介して周辺部３ａから中間部３ｂへ送信される（Ｓ７、Ｓ８）。このとき、認証データや命令情報が付加された制御コマンドをそのまま中間部３ｂへ送信してもよいし、周辺部３ａによって取得した命令情報を削除し、認証データだけが付加された状態の大当たりリーチコマンドを中間部３ｂへ送信してもよい。
【０３２０】
また、大当たりリーチコマンドに基づく処理が、周辺部３ａにおいて行われる（Ｓ９）。ここで、大当たりリーチコマンドに命令情報が付加されていた場合は、その命令情報が周辺部３ａにおいて取得される（Ｓ９ａ）。そして、取得された命令情報に基づき、主制御部２ａのＣＰＵについての接続機器認証処理が行われる（Ｓ９ｂ）。なお、大当たりリーチコマンドに基づく処理（Ｓ９）が行われるより前に、命令情報取得（Ｓ９ａ）および接続機器認証処理（Ｓ９ｂ）が行われてもよい。
【０３２１】
第１の認証データが付加された大当たりリーチコマンドは、中間部３ｂによって受信される（Ｓ１０）。中間部３ｂでは、第１の認証データに基づき、第２の認証データを生成する（Ｓ１１）。生成された第２の認証データは中間部３ｂから周辺部３ａへ送信される（Ｓ１２、Ｓ１３）。第２の認証データは周辺部３ａによって受信される（Ｓ１４）。周辺部３ａでは、復号化処理が行われた後（Ｓ１５）、第２の認証データを用いた認証処理が行われる（Ｓ１６）。認証ＯＫの場合、そのまま処理が継続される。
認証ＯＫでない場合（Ｓ１７においてＮｏ）、主制御部２ａが正当でないことが報知される（Ｓ１８）。
【０３２２】
ここで、周辺部３ａにおける認証処理について、より詳細に説明する。例えば、検証値が「0x12」である場合において、所定の暗号化アルゴリズムにより、下式（１）のように暗号化認証データ「0x21」が得られる。
0x21  ＝  0x12  xor  0x33  …（１）
【０３２３】
演出制御部３００では、大当たりリーチコマンドを受信すると、図１９に示すステップＳ７０８、Ｓ７１０を経て、受信したコマンドに付加されている暗号化認証データが取得され、取得された暗号化認証データが所定の復号化アルゴリズムにより復号化される。
上式（１）で得られた暗号化認証データ「0x21」を所定の復号化アルゴリズムにより復号化した場合は、下式（２）により検証値「0x12」が得られる。
0x12  ＝  0x21  xor  0x33  …（２）
【０３２４】
検証値が得られると、ステップＳ７１２を経て、主制御部２ａで生成された検証値と同一の値となる期待値「0x12」が読み出される。そして、図１９に示すステップＳ７１４を経て、復号化して得られた検証値が期待値と照合される。このとき、上式（２）で得られた検証値「0x12」は期待値「0x12」と一致するので、認証が得られ、ステップＳ７１６を経て、制御コマンドが受信バッファに格納される。そして、受信した大当たりリーチコマンドに基づいて処理が実行される。
【０３２５】
これに対し、主制御基板と演出制御基板との間に不正な制御基板が接続されるといった不正行為が行われた場合は、不正な制御基板が制御コマンドを演出制御基板に送信しても、演出制御部３００では、受信したコマンドに暗号化認証データが付加されていないので、検証値が期待値と一致せず、認証が得られない可能性が高い。その結果、図１９に示すステップＳ７１８、Ｓ７２０を経て、受信した制御コマンドが破棄され、不正通知処理が実行される（つまり、主制御部が正当でないことが報知される）。
【０３２６】
また、不正な制御基板が何らかの認証データを付加して制御コマンドを演出制御基板に送信しても、演出制御部３００では、適切な検証値が得られないので、検証値が期待値と一致せず、認証が得られない可能性が高い。
【０３２７】
なお、周辺部における上記制御コマンドの中間部への送信、周辺部における上記制御コマンドに基づく処理、命令情報に基づく接続機器認証処理、について、処理が行われる順序は問わない。すなわち、図３０に示すように、上記制御コマンドの中間部への送信が先に行なわれ、その後に上記制御コマンドに基づく処理が行なわれるという順序でも良いし、その逆に、上記制御コマンドに基づく処理が先に行なわれ、その後に上記制御コマンドの中間部への送信が行なわれるという順序でも良い。さらに、周辺部における上記制御コマンドに基づく処理、命令情報に基づく接続機器認証処理、についても、処理が行われる順序は問わない。
【０３２８】
同様に、周辺部における上記制御コマンドに基づく処理、周辺部における上記第２の認証データを用いた認証処理、についても、処理が行われる順序は問わない。すなわち、上記制御コマンドに基づく処理が先に行なわれ、その後に上記第２の認証データを用いた認証処理が行なわれるという順序でも良いし、その逆の順序でも良い。
図３１は、大当たりリーチコマンド以外の制御コマンドに基づく動作を示すシーケンス図である。図３１に示すように、大当たりリーチコマンド以外の制御コマンドが格納されると（Ｓ１５１）、認証データが付加されていない通常の制御コマンドが主制御部２ａから周辺部３ａへ送信される（Ｓ１５２、Ｓ１５３）。その制御コマンドは周辺部によって受信され（Ｓ１５４）、その制御コマンドに基づく処理が行われる（Ｓ１５５）。大当たりリーチコマンド以外の制御コマンドは、周辺部３ａから中間部３ｂへ送信されることは無い。
〔認証動作のタイミング〕
【０３２９】
ところで、主制御部２ａは、通常、複数の制御コマンドを、間隔を置いて出力する。以下では、主制御部２ａが第１の大当たりリーチコマンドを出力した後に、第１の大当たりリーチコマンドを出力する場合を例に挙げて、主制御部２ａが複数の大当たりリーチコマンドを、間隔を置いて出力する場合の認証動作のタイミングについて、図３２および図３３を用いて説明する。
【０３３０】
図３２は、主制御部２ａが大当たりリーチコマンドＡを出力した後に、大当たりリーチコマンドＢを出力する場合の、演出または前処理もしくは後処理が実行されるタイミングと、周辺部３ａが認証処理を行なうタイミングとを示す第１の図である。図３３は、主制御部２ａが大当たりリーチコマンドＡを出力した後に、大当たりリーチコマンドＢを出力する場合の、演出または前処理もしくは後処理が実行されるタイミングと、周辺部３ａが認証処理を行なうタイミングとを示す第２の図である。
【０３３１】
主制御部２ａは、大当たりリーチコマンドＡを出力する際、それとともに大当たりリーチコマンドＡに関連付けられている第１の認証データを出力する。また、主制御部２ａは、大当たりリーチコマンドＢを出力する際、それとともに大当たりリーチコマンドＢに関連付けられている第１の認証データを出力する。
【０３３２】
このとき、大当たりリーチコマンドＡに関連付けられている第１の認証データに基づいて生成された第２の認証データについての認証動作が行なわれた後に、主制御部２ａから大当たりリーチコマンドＢが出力される場合がある。例えば、図３２に示すように、大当たりリーチコマンドＡに基づく演出または前処理もしくは後処理の実行期間ｔ４１の後に、大当たりリーチコマンドＡに対応する第２の認証データに基づいて主制御部２ａが正当であるか否かについて期間ｔ４２において判断される。その後、大当たりリーチコマンドＢに基づく演出または前処理もしくは後処理の実行期間ｔ４３の後に、大当たりリーチコマンドＢに対応する第２の認証データに基づいて主制御部２ａが正当であるか否かについて期間ｔ４４において判断される。
【０３３３】
それに対して、主制御部２ａは、大当たりリーチコマンドＡに関連付けられている第２の認証データについての認証動作が行なわれる前に、主制御部２ａから大当たりリーチコマンドＢが出力される場合がある。その場合、図３３に示すように、大当たりリーチコマンドＢに基づく演出または前処理もしくは後処理の実行期間ｔ４２’の後に、大当たりリーチコマンドＡに対応する第２の認証データに基づいて主制御部２ａが正当であるか否かについて期間ｔ４３’において判断される。その後、大当たりリーチコマンドＢに対応する第２の認証データに基づいて主制御部２ａが正当であるか否かについて期間ｔ４４’において判断される。
【０３３４】
いずれにしても、図３２および図３３から明らかなように、周辺部３ａは、大当たりリーチコマンドに基づく演出または前処理もしくは後処理が実行される期間の後に、その大当たりリーチコマンドに対応する第２の認証データに基づいて主制御部２ａが正当であるか否かを判断する。
【０３３５】
上述したように、本実施の形態のパチンコ機は、周辺部３ａとは別に、主制御部２ａが正当であるか否かを判断するために用いる第２の認証データを生成する中間部３ｂを有するので、周辺部３ａの負担が小さくなり、認証データの容量を大きくしたり、複雑な演算処理を行なったりしてセキュリティの強度を従来よりも大きくして主制御部２ａが正当であるか否かを判断することができる。
【０３３６】
また、周辺部３ａは、大当たりリーチコマンドに基づく演出または前処理もしくは後処理が実行される期間の後に、その大当たりリーチコマンドとともに主制御部２ａから出力される第１の認証データに基づいて生成された第２の認証データにより、主制御部２ａが正当であるか否かを判断する。そのため、認証データの容量が大きくなったり、複雑な演算処理を行なったりしても、中間部３ｂは、周辺部３ａの動作とは独立して第２の認証データを生成することができる。したがって、本実施の形態のパチンコ機は、セキュリティの強度を従来よりも大きくして主制御部２ａが正当であるか否かを判断することができる。
【０３３７】
なお、上述した実施の形態では、周辺基板３は、周辺部３ａと中間部３ｂとの間の信号授受に用いられる唯一の通信経路であるバス３ｃを有している。しかしながら、図３４に示すように、周辺基板３は、バス３ｃを有するのではなく、周辺部３ａと中間部３ｂとの間の信号授受に用いられる二本の通信経路であるバス３ｄとバス３ｅとを有していてもよい。その場合、周辺部３ａは第１の認証データを通信経路の一方（例えばバス３ｄ）を介して中間部３ｂに出力し、中間部３ｂは、主制御部２ａが正当であるか否かについての判断するために用いる第２の認証データを通信経路の他方（例えばバス３ｅ）を介して周辺部３ａに出力する。
【０３３８】
また、主制御部２ａの機能をコンピュータに実現させるためのプログラムを有するメモリとそのプログラムを実行するコンピュータとを主制御基板２に設けてもよい。この場合、そのコンピュータがそのプログラムを実行することによって主制御部２ａの機能が実現される。
【０３３９】
周辺部３ａの機能をコンピュータに実現させるためのプログラムを有するメモリとそのプログラムを実行するコンピュータとを周辺基板３に設けてもよい。この場合、そのコンピュータがそのプログラムを実行することによって周辺部３ａの機能が実現される。
【０３４０】
中間部３ｂの機能をコンピュータに実現させるためのプログラムを有するメモリとそのプログラムを実行するコンピュータとを周辺基板３に設けてもよい。この場合、そのコンピュータがそのプログラムを実行することによって中間部３ｂの機能が実現される。
〔認証方法〕
【０３４１】
上述した遊技機においては、以下のような認証方法が採用されている。すなわち、上記遊技機に適用され、大当たり時に選択される変動パターンのうちリーチ演出を行う変動パターンを指定するための大当たりリーチコマンドと、自らが正当であることを認証させるための第１の認証データとを出力する主制御部と、大当たりリーチコマンドに基づく演出または前記演出の前処理もしくは後処理の実行を制御する周辺部とを備える遊技機における認証方法であって、前記データ処理手段が実行する命令に関する情報を取得するステップ（例えば、図９のＳＳ１２ａ、ＳＳ２４ａに対応）と、前記入力ステップで入力した命令に関する情報に基づいて、前記データ処理装置による前記記憶手段へのアクセスを制御するアクセス制御ステップ（例えば、図９のＳＳ１４、ＳＳ１６、ＳＳ２６、ＳＳ２８に対応）と、前記命令に関する情報に基づいて、前記データ処理手段の接続状態の認証を行う接続機器認証ステップ（例えば、図１９のＳ７０６に対応）と、前記第１の認証データを、前記周辺部を介して取得する取得ステップ（例えば、図３０のＳ８、Ｓ１０に対応）と、前記取得ステップにおいて取得した第１の認証データに基づいて前記主制御部が正当であるか否かを判断するための第２の認証データを生成し、前記第２の認証データを前記周辺部に出力するステップ（例えば、図３０のＳ１１〜Ｓ１３に対応）と、前記主制御部が正当であるか否かを、前記第２の認証データに基づいて判断するステップ（例えば、図３０のＳ１６に対応）とを含む認証方法が採用されている。この認証方法を採用する場合、主制御部のデータ処理手段であるＣＰＵと演出制御部のアクセス制御装置とによる接続機器認証を行うほか、周辺部とは別に、主制御部が正当であるか否かを判断するための中間データを生成する中間部を設けることにより、認証処理全てを周辺部で行う場合に比べて周辺部の負担が小さくなり、認証データの容量を大きくしたり、複雑な演算処理を行なったりしてセキュリティの強度を従来よりも大きくして主制御部が正当であるか否かを判断することができる。また、前記周辺部が、前記主制御部が正当でないと判断された場合、その旨を報知するステップ（例えば、図３０のＳ１４〜Ｓ１８に対応）をさらに含むことにより、パチンコホールの従業員や遊技者がその状態を認識しやすくなる。
【０３４２】
そして、前記認証ステップにおいて、前記大当たりリーチコマンドに基づく前記演出または前記前処理もしくは後処理が実行される期間の後に前記主制御部が正当であるか否かを判断するようにしてもよい。大当たりリーチコマンドに基づく演出または前処理もしくは後処理が実行される期間の後に、主制御部が正当であるか否かを判断することにより、認証データの容量が大きくなったり、複雑な演算処理を行なったりしても、周辺部の動作とは独立して第２の認証データを生成することができる。したがって、セキュリティの強度を従来よりも大きくして主制御部が正当であるか否かを判断することができる。
〔プログラム〕
【０３４３】
また、前記認証方法を実現するため、上記認証方法の各ステップを含むプログラムをコンピュータに実行させてもよい。このプログラムをコンピュータに実行させる場合、データ処理手段であるＣＰＵとアクセス制御装置とによる接続機器認証を行うほか、主制御部が正当であるか否かを判断するため中間データである第２の認証データを中間部において生成するので、認証処理全てを周辺部で行う場合に比べて周辺部の負担が小さくなり、認証データの容量を大きくしたり、複雑な演算処理を行なったりしてセキュリティの強度を従来よりも大きくして主制御部が正当であるか否かを判断することができる。前記認証ステップにおいて前記主制御部が正当でないと判断された場合、認証結果を報知するための信号を出力する報知信号出力ステップをさらに含んでもよい。これにより、パチンコホールの従業員や遊技者がその状態を認識しやすくなる。
〔変形例〕
【０３４４】
また、上述した実施の形態では、主制御部２ａが正当でない旨の報知を周辺部３ａが行う場合について説明したが、その報知のための報知部を設けておき、その報知部が周辺部３ａの代わりに報知を行ってもよい。例えば、図３５や図３６に示すように、主制御部２ａが正当でない旨を報知する報知部４を、周辺部３ａとは別に設けてもよい。この報知部４は、主制御部２ａが正当でないことを示す信号を周辺部３ａから受け取った場合に、その旨をパチンコ機の外部に報知する。
【０３４５】
なお、図３５は、図２に示す構成に、報知部４を追加した構成を示す図である。また、図３６は、図３４に示す構成に、報知部４を追加した構成を示す図である。図３５および図３６のいずれの場合においても、報知部４は、液晶（不図示）に表示させて報知を行ったり、ランプ等を点灯させたりして通知することによる報知を行ったりする。液晶表示やランプ等を点灯させたり点滅させることによる視覚的報知に限らず、スピーカ（不図示）から音を出力することによる聴覚的報知、バイブレータ（不図示）を振動させることによる触覚的報知を行ってもよい。また、これらの報知を組み合わせて行ってもよい。
また、周辺部３ａは、主制御部２ａからの第１の認証データを受け取ることなく単に通過させて中間部３ｂに受け取らせてもよい。
【０３４６】
また、主制御部から周辺部を介して中間部へ送信される第１の認証データは複雑な暗号化処理が施されたものとし、中間部で暗号化処理を解除した後に中間部から周辺部へ送信される第２の認証データは複雑ではない暗号化処理（第１の認証データよりも簡単な暗号化処理）が施されたものとしてもよい。このようにすれば、主制御部から周辺部を介して中間部へ送信される第１の認証データに複雑な暗号化処理を採用した場合でも、周辺部は複雑ではない暗号化処理を採用した第２の認証データを用いて認証することになるので、周辺部の負荷を軽減することができる。
【０３４７】
更に、上述した実施の形態では、パチンコ機を例に挙げて本発明の遊技機について説明した。しかしながら、本発明の遊技機はパチンコ機であるとは限定されない。本発明の遊技機の例には、遊技に関する演出を実行する実行部を有するパチスロ機およびアミューズメントゲーム機等が含まれる。その場合、パチスロ機およびアミューズメントゲーム機等の遊技機は、主制御部２ａ、周辺部３ａ、および中間部３ｂを有する。
【符号の説明】
【０３４８】
１  遊技盤
２  主制御基板
２ａ  主制御部
３  周辺基板
３ａ  周辺部
３ｂ  中間部
３ｃ〜３ｅ  バス
４  報知部
１００  遊技制御装置
１０１  遊技領域
１０２ａ、１０２ｂ  レール
１０４  図柄表示部
１０５  始動入賞口
１０６  入賞ゲート
１０７  普通入賞口
１０８  回収口
１０９  大入賞口
２０１  主制御部
２０２  ＣＰＵ
２０２ａ  演出制御部
２０３  ＣＰＵコア
２０３ａ  制御部
２０３ｂ  演算部
２０３ｃ  レジスタ
２０３ｄ  賞球制御部
２０４  ＲＯＭ
２０６  ＲＡＭ
２１０  Ｉ／Ｆ
２１６  バス
２１８  チェック値算出部
２３０  アクセス制御装置
２３１  入力部
２３２  演算部
２３４、２３６  レジスタ
２３８  アクセス制御部
２８０  始動入賞口検出部
２８２  ゲート検出部
２８４  普通入賞口検出部
２８６  大入賞口検出部
２８８  大入賞口開閉部
３００  演出制御部
３０２  ＣＰＵ
３０４  ＲＯＭ
３０６  ＲＡＭ
３０８  ＶＲＡＭ
３１０  Ｉ／Ｆ
３１１  制御コマンド格納部
３１２  付加部
３１３  記録部
３１４  演出関連デバイス群
３１４ａ  送信部
３１８  チェック値算出部
３２１  受信部
３２２  中間部
３２３  報知信号出力部
３３０  アクセス制御部
３３１  入力部
３３２  演算部
３３４、３３６  レジスタ
３３８  アクセス制御部
３８０  スピーカ
３８２  音声制御部
３８４  ランプ
３８６  ランプ制御部
４００  賞球制御部
４０２  ＣＰＵ
４０４  ＲＯＭ
４０６  ＲＡＭ
４１０  Ｉ／Ｆ
４１４  賞球関連デバイス群
４８０  払出部
４８２  発射部
５００  制御コマンド
５０１  制御データ
５０２  認証データ
【図１】
2011005134.tif 000003
【図２】
2011005134.tif 000004
【図３】
2011005134.tif 000005
【図４】
2011005134.tif 000006
【図５】
2011005134.tif 000007
【図６】
2011005134.tif 000008
【図７】
2011005134.tif 000009
【図８】
2011005134.tif 000010
【図９】
2011005134.tif 000011
【図１０】
2011005134.tif 000012
【図１１】
2011005134.tif 000013
【図１２】
2011005134.tif 000014
【図１３】
2011005134.tif 000015
【図１４】
2011005134.tif 000016
【図１５】
2011005134.tif 000017
【図１６】
2011005134.tif 000018
【図１７】
2011005134.tif 000019
【図１８】
2011005134.tif 000020
【図１９】
2011005134.tif 000021
【図２０】
2011005134.tif 000022
【図２１】
2011005134.tif 000023
【図２２】
2011005134.tif 000024
【図２３】
2011005134.tif 000025
【図２４】
2011005134.tif 000026
【図２５】
2011005134.tif 000027
【図２６】
2011005134.tif 000028
【図２７】
2011005134.tif 000029
【図２８】
2011005134.tif 000030
【図２９】
2011005134.tif 000031
【図３０】
2011005134.tif 000032
【図３１】
2011005134.tif 000033
【図３２】
2011005134.tif 000034
【図３３】
2011005134.tif 000035
【図３４】
2011005134.tif 000036
【図３５】
2011005134.tif 000037
【図３６】
2011005134.tif 000038
【図３７】
2011005134.tif 000039