(57)【要約】【課題】  遊技機のプログラムを不正に改変された場合に、その不正なプログラムを基に遊技機が不正な動作をすることを防止する遊技機不正動作防止装置を提供する。【解決手段】  ＲＯＭ１３のプログラムＰＲＧＭが予め監視用ＲＯＭ３７に照合用プログラムとして書き込まれる。メインＣＰＵ１７におけるプログラムＰＲＧＭの実行後のアイドルモードにおいて、ＲＯＭ１３に記憶されたプログラムＰＲＧＭと、監視用ＲＯＭ３７に記憶された照合用プログラムＰＲＧＭＣとの一致性を監視用ＣＰＵ３９が検証する。そして、監視用ＣＰＵ３９は、不一致を検出すると、データバス６上のバスゲート９を閉じる。これにより、メインＣＰＵ１７が発行したコマンドを遊戯処理回路５が実行することはない。【選択図】  図１
2008289716.tif 000002
【特許請求の範囲】
【請求項１】
第１のメモリに記憶されたプログラムを基にした処理回路の制御によって遊戯動作を行う遊技機の不正動作を防止する遊技機不正動作防止装置であって、
前記遊戯動作を制御する前の初期動作において、前記第１のメモリから読み出された前記プログラムが、比較用プログラムとして書き込まれる第２のメモリと、
前記初期動作後に、前記第１のメモリから読み出された前記プログラムと前記第２のメモリから読み出された前記比較用プログラムとの間に不一致を検出すると、前記処理回路が発行したコマンドを基にした前記遊戯動作、あるいは前記処理回路が前記第１のメモリに記憶されたプログラムを実行する動作を禁止する制御回路と
を有する遊技機不正動作防止装置。
【請求項２】
前記制御回路は、
前記初期動作において、前記第１のメモリから読み出された前記プログラムに所定の演算が施されたプログラムを入力し、当該入力したプログラムに前記所定の演算に対応した演算を施して前記演算前のプログラムを復元し、当該復元したプログラムを前記比較用プログラムとして前記第２のメモリに書き込み、
前記初期動作後において、前記第１のメモリから読み出された前記プログラムに所定の演算が施されたプログラムを入力し、当該入力したプログラムに前記所定の演算に対応した演算を施して前記演算前のプログラムを復元し、当該復元したプログラムと前記第２のメモリから読み出された前記比較用プログラムとが一致しているか否かを判断する
請求項１に記載の遊技機不正動作防止装置。
【請求項３】
前記所定の演算は、前記第１のメモリから読み出されたプログラムと、乱数との排他的論理和を計算する演算であり、
前記制御回路は、前記初期動作において前記乱数を入力し、前記初期動作後において、
前記入力したプログラムと前記入力した乱数との排他的論理和を演算して前記演算前のプログラムを復元する
請求項２に記載の遊技機不正動作防止装置。
【請求項４】
前記制御回路は、前記不一致を検出した場合に、前記処理回路が発行した前記コマンドを、当該コマンドを基に前記遊技機の動作を制御する遊戯処理回路に伝送する伝送路を遮断状態にする
請求項１〜３のいずれかに記載の遊技機不正動作防止装置。
【請求項５】
前記処理回路の取り外しを検出する取り外し検出手段
をさらに有し、
前記制御回路は、前記取り外し検出手段が前記処理回路の取り外しを検出した場合に、前記処理回路が発行したコマンドを基にした前記遊戯動作、あるいは前記処理回路が前記第１のメモリに記憶されたプログラムを実行する動作を禁止する
請求項１〜４いずれかに記載の装置。
【請求項６】
給電されていることを条件に記憶状態を保持する揮発性メモリから読みだしたプログラムを基にした処理回路の制御によって遊戯動作を行う遊技機の不正動作を防止する遊技機不正動作防止装置であって、
前記揮発性メモリに記憶されたプログラムの改変を検出する改変検出手段と、
前記改変検出手段が前記改変を検出した場合に、前記揮発性メモリへの前記給電を停止する制御回路と
を有する遊技機不正動作防止装置。
【請求項７】
前記制御回路は、所定の認証処理を経たことを条件に、不揮発性メモリから前記揮発性メモリに前記プログラムを読み出す動作を許可する
請求項６に記載の遊技機不正動作防止装置。
【請求項８】
前記処理回路の取り外しを検出する取り外し検出手段
をさらに有し、
前記制御回路は、前記取り外し検出手段が前記処理回路の取り外しを検出した場合に、前記不揮発性メモリへの前記給電を停止する
請求項６または請求項７に記載の装置。
【請求項９】
入力したコマンドを基に各種の遊戯動作を実行する遊戯処理手段と、
前記遊戯処理手段に前記コマンドを出力するメイン処理回路と、
前記遊戯処理手段の不正動作を防止する監視回路と
を有し、
前記メイン処理回路は、
プログラムを記憶する第１のメモリと、
前記第１のメモリから読み出した前記プログラムを基に動作し、前記遊戯動作を制御する前の初期動作において、前記第１のメモリから読み出した前記プログラムを前記監視回路に出力し、前記初期動作後の所定のタイミングで前記第１のメモリから読み出した前記プログラムを前記監視回路に出力する第１の制御回路と
を有し、
前記監視回路は、
前記初期動作において、前記メイン処理回路から入力した前記プログラムが比較用プログラムとして書き込まれる第２のメモリと、
前記初期動作後に、前記第１のメモリから読み出されたプログラムと前記第２のメモリから読み出された前記比較用プログラムとの不一致を検出すると、前記処理回路が発行したコマンドを基にした前記遊戯動作、あるいは前記処理回路が前記第１のメモリに記憶されたプログラムを実行する動作を禁止する第２の制御回路と
を有する遊技機。
【請求項１０】
給電されていることを条件に記憶状態を保持する揮発性メモリと、
前記揮発性メモリから読み出したプログラムを基に、遊戯動作を制御するメイン処理回路と、
前記揮発性メモリに記憶されたプログラムの改変を検出する改変検出手段と、
前記改変検出手段が前記改変を検出した場合に、前記揮発性メモリへの前記給電を停止する監視回路と
を有する遊技機。
【請求項１１】
第１のメモリに記憶されたプログラムを基にした処理回路の制御によって遊戯動作を行う遊技機の不正動作を防止する遊技機不正動作防止方法であって、
前記遊戯動作を制御する前に、前記第１のメモリから前記プログラムを読み出して第２のメモリに比較用プログラムとして書き込む初期工程と、
前記初期工程後に、前記第１のメモリから読み出されたプログラムと、前記第２のメモリから読み出された前記比較用プログラムとが一致しているか否かを判断する比較工程と、
前記比較工程において不一致であると判断されると、前記処理回路が発行したコマンドを基にした前記遊戯動作、あるいは前記処理回路が前記第１のメモリに記憶されたプログラムを実行する動作を禁止する禁止工程と
を有する遊技機不正動作防止方法。
【請求項１２】
給電されていることを条件に記憶状態を保持する揮発性メモリから読みだしたプログラムを基にした処理回路の制御によって遊戯動作を行う遊技機の不正動作を防止する遊技機不正動作防止方法であって、
前記揮発性メモリに記憶されたプログラムの改変を検出する改変検出工程と、
前記改変検出工程で前記改変を検出した場合に、前記揮発性メモリへの前記給電を停止する給電停止工程と
を有する遊技機不正動作防止方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不正なプログラムの実行による遊技機の不正動作を防止する遊技機不正動作防止装置およびその方法と遊技機に関する。
【背景技術】
【０００２】
従来より、パチンコやスロットマシンなどの遊技機には、制御用マイクロコンピュータが内蔵されており、当該マイクロコンピュータの制御により、電動役物や回胴の回転制御等の各種制御を行っている。
このような遊技機に用いられるマイクロコンピュータのプログラムは、マイクロコンピュータ内のＲＯＭ(Read Only Memory)に開発製造業者によって書き込まれる。
ところで、このようなパチンコやスロットマシンなどの遊技機は、風俗営業法に基づく規則にしたがって認定及び検定を受けなければ、販売することができない。そのため、マイクロコンピュータを組み込んだ遊技機は、所定の協会の形式試験を受け合格する必要がある。
【０００３】
【特許文献１】特開２００２−３０６８０６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述した遊技機は、形式試験合格後にプログラムが改変されたとしても、それを発見することが困難であり、正規の遊技機として取り扱われてしまう可能性がある。
このようにプログラムを改変した不正な遊技機が用いられると、遊技者に不測の不利益をもたらすとともに、形式試験に合格した遊技機を取り扱っている開発製造業者あるいは販売業者等の信用が失われてしまう。
【０００５】
本発明はかかる事情に鑑みてなされたものであり、その目的は、遊技機のプログラムを不正に改変された場合に、その不正なプログラムを基に遊技機が不正な動作をすることを防止する遊技機不正動作防止装置およびその方法と遊技機を提供することにある。
【課題を解決するための手段】
【０００６】
上述した目的を達成するために、第１の観点の発明の遊技機不正動作防止装置は、第１のメモリに記憶されたプログラムを基にした処理回路の制御によって遊戯動作を行う遊技機の不正動作を防止する遊技機不正動作防止装置であって、前記遊戯動作を制御する前の初期動作において、前記第１のメモリから読み出された前記プログラムが、比較用プログラムとして書き込まれる第２のメモリと、前記初期動作後に、前記第１のメモリから読み出されたプログラムと前記第２のメモリから読み出された前記比較用プログラムとの間に不一致を検出すると、前記処理回路が発行したコマンドを基にした前記遊戯動作、あるいは前記処理回路が前記第１のメモリに記憶されたプログラムを実行する動作を禁止する制御回路とを有する。
【０００７】
第１の観点の発明の遊技機不正動作防止装置では、前記遊戯動作を制御する前の初期動作において、前記第１のメモリから読み出された前記プログラムが、比較用プログラムとして第２のメモリに書き込まれる。
そして、制御回路が、前記初期動作後に、前記第１のメモリから読み出された前記プログラムと前記第２のメモリから読み出された前記比較用プログラムとの間の一致／不一致を検出する。
そして、前記制御回路が、上記不一致を検出すると、前記処理回路が発行したコマンドを基にした前記遊戯動作、あるいは前記処理回路が前記第１のメモリに記憶された前記プログラムを実行する動作を禁止する。
これにより、不正なプログラムを基にした処理回路の制御によって、不正な遊戯動作が行われることを防止できる。
【０００８】
第２の観点の発明の遊技機不正動作防止装置は、給電されていることを条件に記憶状態を保持する揮発性メモリから読みだしたプログラムを基にした処理回路の制御によって遊戯動作を行う遊技機の不正動作を防止する遊技機不正動作防止装置であって、前記揮発性メモリに記憶されたプログラムの改変を検出する改変検出手段と、前記改変検出手段が前記改変を検出した場合に、前記揮発性メモリへの前記給電を停止する制御回路とを有する。
【０００９】
第２の観点の発明の遊技機不正動作防止装置では、改変検出手段が、揮発性メモリに記憶されたプログラムの改変の有無を検出する。
そして、制御回路が、前記改変検出手段が前記改変を検出した場合に、前記揮発性メモリへの前記給電を停止する。
これにより、前記不揮発性メモリに記憶された不正なプログラムは消去され、当該不正なプログラムに基づいて制御回路が遊戯動作を制御することを防止できる。
【００１０】
第３の観点の発明の遊技機は、入力したコマンドを基に各種の遊戯動作を実行する遊戯処理手段と、前記遊戯処理手段に前記コマンドを出力するメイン処理回路と、前記遊戯処理手段の不正動作を防止する監視回路とを有し、前記メイン処理回路は、プログラムを記憶する第１のメモリと、前記第１のメモリから読み出した前記プログラムを基に動作し、前記遊戯動作を制御する前の初期動作において、前記第１のメモリから読み出した前記プログラムを前記監視回路に出力し、前記初期動作後の所定のタイミングで前記第１のメモリから読み出した前記プログラムを前記監視回路に出力する第１の制御回路とを有し、前記監視回路は、前記初期動作において、前記メイン処理回路から入力した前記プログラムが比較用プログラムとして書き込まれる第２のメモリと、前記初期動作後に、前記第１のメモリから読み出されたプログラムと前記第２のメモリから読み出された前記比較用プログラムとの不一致を検出すると、前記処理回路が発行したコマンドを基にした前記遊戯動作、あるいは前記処理回路が前記第１のメモリに記憶されたプログラムを実行する動作を禁止する第２の制御回路とを有する。
【００１１】
第４の観点の発明の遊技機は、給電されていることを条件に記憶状態を保持する揮発性メモリと、前記揮発性メモリから読み出したプログラムを基に、遊戯動作を制御するメイン処理回路と、前記揮発性メモリに記憶されたプログラムの改変を検出する改変検出手段と、前記改変検出手段が前記改変を検出した場合に、前記揮発性メモリへの前記給電を停止する監視回路とを有する遊技機。
【００１２】
第５の観点の発明の遊技機不正動作防止方法は、第１のメモリに記憶されたプログラムを基にした処理回路の制御によって遊戯動作を行う遊技機の不正動作を防止する遊技機不正動作防止方法であって、前記遊戯動作を制御する前に、前記第１のメモリから前記プログラムを読み出して第２のメモリに比較用プログラムとして書き込む初期工程と、前記初期工程後に、前記第１のメモリから読み出された前記プログラムと、前記第２のメモリから読み出された前記比較用プログラムとが一致しているか否かを判断する比較工程と、前記比較工程において不一致であると判断されると、前記処理回路が発行したコマンドを基にした前記遊戯動作、あるいは前記処理回路が前記第１のメモリに記憶された前記プログラムを実行する動作を禁止する禁止工程とを有する。
【００１３】
第６の観点の発明の遊技機不正動作防止方法は、給電されていることを条件に記憶状態を保持する揮発性メモリから読みだしたプログラムを基にした処理回路の制御によって遊戯動作を行う遊技機の不正動作を防止する遊技機不正動作防止方法であって、前記揮発性メモリに記憶されたプログラムの改変を検出する改変検出工程と、前記改変検出工程で前記改変を検出した場合に、前記揮発性メモリへの前記給電を停止する給電停止工程とを有する。
【発明の効果】
【００１４】
本発明によれば、遊技機のプログラムを不正に改変された場合に、その不正なプログラムを基に遊技機が不正な動作をすることを防止する遊技機不正動作防止装置およびその方法と遊技機を提供することができる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明の実施形態に係る遊技機について説明する。
本明細書において、本発明の構成要件と、明細書または図面に記載の実施の形態との対応関係を例示する。この記載は、本発明をサポートする実施の形態が、明細書または図面に記載されていることを明確にするためのものである。従って、本発明の構成要件は、それに対応付けられた本実施形態の構成に限定されるものではない。
以下に説明する本実施形態の遊技機は、例えば、パチンコやスロットマシーン等である。
【００１６】
＜第１実施形態＞
図１は、本発明の第１実施形態に係る遊技機の信号処理装置１０のハードウェア構成図である。
図１において、ＲＯＭ１３が本発明の第１のメモリの一例であり、監視用ＲＯＭ３７が本発明の第２のメモリの一例であり、メインＣＰＵ１７が本発明の処理回路の一例であり、監視用ＣＰＵ３９が本発明の制御回路の一例である。
図１に示すように、信号処理装置１０は、例えば、入力部３、遊戯処理回路５、メイン処理回路１１および監視回路３１がデータバス６を介して接続された構成を有している。
また、データバス６上のメイン処理回路１１と監視回路３１との間には、バスゲート７，９が配設されている。
【００１７】
また、信号処理装置１０は、初期動作において、監視回路３１がメイン処理回路１１から入力したプログラムＰＲＧＭを格納する監視用ＲＯＭ３７を有する。
バスゲート９、監視回路３１および監視用ＲＯＭ３７は、シールドケース６２内に収容されている。シールドケース６２は、物理的に分解困難であり、且つ、その内部に収容されている回路の動作情報、並びにデータを取得困難な耐タンパ性の収容体である。
さらに、信号処理装置１０は、メイン処理回路１１がデータバス６に送出したデータ等の出力先を指定するアドレスを生成するアドレスデコーダ２１を有する。
信号処理装置１０では、メイン処理回路１１が発行したコマンドをデータバス６を介して遊戯処理回路５に出力し、遊戯処理回路５が当該コマンドを実行して電動役物や回胴の回転制御等の制御が行われる。
なお、入力部３は、遊戯者が遊戯進行に応じて操作する操作手段、あるいは管理者が操作する操作手段等からの信号を入力する。また、バスゲート７は、例えば、所定の条件を満たすと、メイン処理回路１１によって開閉される。
【００１８】
［メイン処理回路１１］
図１に示すように、メイン処理回路１１は、ＲＯＭ１３、ＲＡＭ(Random
Access Memory) １５、メインＣＰＵ(Central Processing Unit)１７を有し、これらがデータバス６に接続されている。
ＲＯＭ１３は、メイン処理回路１１が実行する（アプリケーション）プログラムＰＲＧＭを記憶する。なお、本実施形態において、プログラムという用語には、プログラムコードの他、当該プログラムコードの実行に必要なデータも含むこととする。
ＲＡＭ１５は、メインＣＰＵ１７の処理に用いられる各種のデータを記憶する。
メインＣＰＵ１７は、ＲＯＭ１３からプログラムＰＲＧＭを読み出して実行し、遊戯処理回路５を制御する各種のコマンドを生成する。メインＣＰＵ１７は、当該コマンドにより、遊技機の動作を統括的に制御する。
メインＣＰＵ１７は、上記生成したコマンドをデータバス６に送出する。信号処理装置１０では、後述するように、監視用ＲＯＭ３７においてＲＯＭ１３に記憶されたプログラムＰＲＧＭの不正な改変が検出された場合には、バスゲート９が閉じられ、メインＣＰＵ１７からデータバス６に送出されたコマンドは遊戯処理回路５によって取得されない。これにより、遊戯処理回路５が不正なプログラムを基にした不正な動作を行うことを防止できる。
【００１９】
［監視回路３１］
図１に示すように、監視回路３１は、ＲＯＭ３３、ＲＡＭ３５および監視用ＣＰＵ３９を有している。
ＲＯＭ３３は、監視回路３１が実行するプログラムＰＲＧＳを記憶する。
ＲＡＭ３５は、監視用ＣＰＵ３９の処理に用いられる各種のデータを記憶する。
監視用ＣＰＵ３９は、ＲＯＭ３３からプログラムＰＲＧＳを読み出して実行し、メイン処理回路１１の監視動作を行う。
【００２０】
監視用ＣＰＵ３９は、メイン処理回路１１のＲＯＭ１３の正当性を検証し、不正を検出した場合に、バスゲート９をオフにする。これにより、メイン処理回路１１と遊戯処理回路５との間のデータバス６上の経路が非接続状態になり、メイン処理回路１１が不正なプログラムを基に発行したコマンドを遊戯処理回路５が入力して実行することを防止できる。
具体的には、監視用ＣＰＵ３９は、メイン処理回路１１から事前に入力したプログラムＰＲＧＭを、比較用プログラムＰＲＧＣとして監視用ＲＯＭ３７に書き込む。
そして、監視用ＣＰＵ３９は、所定のタイミングでメイン処理回路１１から入力したＲＯＭ１３に記憶されたプログラムＰＲＧＭと、監視用ＲＯＭ３７から読み出した比較用プログラムＰＲＧＣとを比較して、その正当性（一致）を検証する。
【００２１】
以下、図１に示す信号処理装置１０の動作例を説明する。
図２は、図１に示す信号処理装置１０の動作例を説明するためのフローチャートである。
先ず、メイン処理回路１１の動作を中心に説明する。
メイン処理回路１１のメインＣＰＵ１７は、初期化処理を行う（ステップＳＴ１１）。
次に、メインＣＰＵ１７は、乱数発生処理を行い、発生した乱数ａをＲＡＭ１５に書き込む（ステップＳＴ１２）。
次に、メインＣＰＵ１７は、ＲＡＭ１５から上記乱数ａを読み出し、これをデータバス６を介して監視回路３１に出力する（ステップＳＴ１３）。このとき、メインＣＰＵ１７は、監視回路３１を指定したアドレスをアドレスデコーダ２１に出力する。
【００２２】
また、メインＣＰＵ１７は、ＲＯＭ１３から読み出したプログラムＰＲＧＭと、ＲＡＭ１５から読み出した乱数ａとの排他的論理和（ＸＯＲ）を演算し、その結果であるプログラムＰＲＧＭＸをＲＡＭ１５に書き込む。
そして、メインＣＰＵ１７は、ＲＡＭ１５から上記プログラムＰＲＧＭＸを、データバス６を介して監視回路３１に出力する（ステップＳＴ１４）。このとき、メインＣＰＵ１７は、監視回路３１を指定したアドレスをアドレスデコーダ２１に出力する。
【００２３】
次に、メインＣＰＵ１７は、ＲＯＭ１３から読み出したプログラムＰＲＧＭを実行する（ステップＳＴ１５）。
メインＣＰＵ１７は、上記プログラムＰＲＧＭの実行過程でコマンドを生成し、これをデータバス６に出力する。このとき、メインＣＰＵ１７は、遊戯処理回路５を指定したアドレスをアドレスデコーダ２１に出力する。
【００２４】
次に、メインＣＰＵ１７は、プログラムＰＲＧＭの実行後のアイドルモードにおいて、ＲＯＭ１３から読み出したプログラムＰＲＧＭと、ＲＡＭ１５から読み出した乱数ａとの排他的論理和（ＸＯＲ）を演算し、その結果であるプログラムＰＲＧＭＸをデータバス６を介して監視回路３１に出力する（ステップＳＴ１６）。このとき、メインＣＰＵ１７は、監視回路３１を指定したアドレスをアドレスデコーダ２１に出力する。
その後、メインＣＰＵ１７は、上述したステップＳＴ１５，ＳＴ１６の処理を繰り返す。
このように、メイン処理回路１１は、ステップＳＴ１１〜ＳＴ１４の処理を初期動作として起動時に行い、その後、ステップＳＴ１５，ＳＴ１６の処理を繰り返す。
【００２５】
以下、監視回路３１の動作を、上述したメイン処理回路１１の動作と関連付けながら説明する。
監視回路３１の監視用ＣＰＵ３９は、初期化処理を行う（ステップＳＴ２１）。
次に、監視用ＣＰＵ３９は、前述したステップＳＴ１３でメイン処理回路１１がデータバス６に出力した乱数ａを受信し、これをＲＡＭ３５に書き込む（ステップＳＴ２２）。
【００２６】
次に、監視用ＣＰＵ３９は、前述したステップＳＴ１４でメイン処理回路１１がデータバス６に出力したプログラムＰＲＧＭＸを受信し、これとＲＡＭ３５から読み出した乱数ａとの排他的論理和（ＸＯＲ）を演算し、その結果であるプログラムＰＲＧＭをＲＡＭ３５に書き込む（ステップＳＴ２３）。すなわち、プログラムＰＲＧＭと乱数ａとの排他的論理和であるプログラムＰＲＧＭと、乱数ａとの排他的論理和をメイン処理回路１１において再度演算することで、プログラムＰＲＧＭが取得（復元）される。
【００２７】
監視用ＣＰＵ３９は、監視用ＲＯＭ３７が初期化状態であるか否かを判断し、初期化状態である場合にはステップＳＴ２５に進み、そうでない場合にはステップＳＴ２６に進む（ステップＳＴ２４）。
監視用ＣＰＵ３９は、監視用ＲＯＭ３７が初期化状態である場合に、ＲＡＭ３５からプログラムＰＲＧＭを読み出し、これを照合用プログラムＰＲＧＣとして監視用ＲＯＭ３７に書き込む（ステップＳＴ２５）。
【００２８】
一方、監視用ＣＰＵ３９は、監視用ＲＯＭ３７が初期化状態ではない場合に、監視用ＲＯＭ３７から読み出した照合用プログラムＰＲＧＣと、ＲＡＭ３５から読み出したプログラムＰＲＧＭとを比較する（ステップＳＴ２６）。
次に、監視用ＣＰＵ３９は、ステップＳＴ２６の比較の結果、一致していると判断された場合にはステップＳＴ２８に進み、そうでない場合にはステップＳＴ３２に進む（ステップＳＴ２７）。
次に、監視用ＣＰＵ３９は、監視用タイマ（図示せず）によるカウントを開始させる（ステップＳＴ２８）。
【００２９】
次に、監視用ＣＰＵ３９は、メイン処理回路１１からプログラムＰＲＧＭＸを受信したか否か、並びに監視用タイマが所定のしきい値に達したか否かを判断する。
そして、監視用ＣＰＵ３９は、前述したステップＳＴ１６に対応してメイン処理回路１１からプログラムＰＲＧＭＸを受信したと判断した場合にステップＳＴ３０に進み、監視用タイマの値が所定のしきい値に達した（タイムアウトした）と判断した場合にステップＳＴ３２に進む（ステップＳＴ２９）。
【００３０】
監視用ＣＰＵ３９は、メイン処理回路１１からプログラムＰＲＧＭＸを受信したと判断した場合に、当該受信したプログラムＰＲＧＭＸと、ＲＡＭ３５から読み出した乱数ａとの排他的論理和（ＸＯＲ）を演算し、その結果であるプログラムＰＲＧＭをＲＡＭ３５に書き込む（ステップＳＴ３０）。
監視用ＣＰＵ３９は、ＲＡＭ３５から読み出したプログラムＰＲＧＭと、監視用ＲＯＭ３７から読み出した照合用プログラムＰＲＧＣとを比較する（ステップＳＴ３１）。
そして、監視用ＣＰＵ３９は、ステップＳＴ３１の比較で一致したと判断した場合にステップＳＴ２８に戻り、そうでない場合にステップＳＴ３２に進む。
【００３１】
監視用ＣＰＵ３９は、ステップＳＴ２７，ＳＴ３１で不一致と判断された場合、あるいはステップＳＴ２９で監視用タイマの値が所定のしきい値に達したと判断した場合に、図１に示すバスゲート９を閉じる制御を行う（ステップＳＴ３２）。これにより、メイン処理回路１１と遊戯処理回路５との間のデータバス６上の経路が非接続状態になり、メイン処理回路１１が不正なプログラムを基に発行したコマンドを遊戯処理回路５が入力して実行することを防止できる。
【００３２】
以上説明したように、信号処理装置１０によれば、図２に示すように、メインＣＰＵ１７におけるプログラムＰＲＧＭの実行後のアイドルモードにおいて、ＲＯＭ１３に記憶されたプログラムＰＲＧＭと、監視用ＲＯＭ３７に記憶された照合用プログラムＰＲＧＭＣとの一致性を検証し、不一致の場合にデータバス６上のバスゲート９を閉じる。
これにより、メイン処理回路１１が不正なプログラムを基に発行したコマンドを遊戯処理回路５が入力して実行することを防止できる。すなわち、本実施形態の遊技機が不正なプログラムを基に動作をすることを防止できる。
また、信号処理装置１０では、図２に示すステップＳＴ１４、ＳＴ１６において、プログラムＰＲＧＭをメイン処理回路１１から監視回路３１にデータバス６を介して出力するのではなく、プログラムＰＲＧＭと乱数ａとの排他的論理和（ＸＯＲ）であるプログラムＰＲＧＭＸを出力する。そのため、データバス６の監視によってプログラムＰＲＧＭが不正に取得されてしまうことを防止できる。
【００３３】
＜第２実施形態＞
上述した第１実施形態ではメインＣＰＵ１７が実行するプログラムＰＲＧＭが不正に改変された場合に、メインＣＰＵ１７が遊戯処理回路５にコマンドを出力するデータバス６上のバスゲート９を閉じる場合を例示した。本実施形態では、メインＣＰＵ１１７は、ＲＯＭ１１３からＳＲＡＭ１１５に読み出されたプログラムＰＲＧＭ２を実行し、上記不正を検出すると、給電回路１４１によるＳＲＡＭ１１５の給電を停止してＳＲＡＭ１１５の記憶を消去する。
【００３４】
図３は、本発明の第２実施形態に係る遊技機の信号処理装置１１０のハードウェア構成図である。
図３において、ＳＲＡＭ１１５が本発明の不揮発性メモリの一例であり、監視用ＣＰＵ１３９が改変検出手段および制御回路の一例である。
【００３５】
図３に示すように、信号処理装置１１０は、例えば、入力部３、遊戯処理回路５、メイン処理回路１１１および監視回路１３１がデータバス６を介して接続した構成を有している。
信号処理装置１１０は、初期動作において、監視回路１３１がメイン処理回路１１１から入力したプログラムＰＲＧＭ２を格納する監視用ＲＯＭ１３７を有する。
監視回路１３１および監視用ＲＯＭ１３７は、シールドケース１６２内に収容されている。
信号処理装置１１０において、入力部３、遊戯処理回路５およびアドレスデコーダ２１の機能は第１実施形態で説明したものと同じである。
【００３６】
また、信号処理装置１１０は、バッテリ４３からの電力を信号処理装置１１０の構成要素に供給する給電回路１４１を有する。
信号処理装置１１０では、監視回路１３１において、メイン処理回路１１１のメインＣＰＵ１１７で実行されるプログラムＰＲＧＭ２の改竄等が検出されると、監視回路１３１からの制御により、給電回路１４１はメイン処理回路１１１のＳＲＡＭ１１５への給電を停止する。これにより、ＳＲＡＭ１１５に記憶されている不正なプログラムが自動的に消去され、メインＣＰＵ１１７が不正なプログラムを実行することを防止できる。
【００３７】
［メイン処理回路１１］
図３に示すように、メイン処理回路１１１は、ＲＯＭ１１３、ＳＲＡＭ(Static
Random Access Memory)１１５、メインＣＰＵ１１７を有し、これらがデータバス６に接続された構成を有している。
ＲＯＭ１１３は、メイン処理回路１１１が実行する（アプリケーション）プログラムＰＲＧＭ２を記憶する。ＲＯＭ１１３は、例えば、不揮発性メモリである。
ＳＲＡＭ１１５は、メインＣＰＵ１１７の処理に用いられる各種のデータを記憶する。
ＳＲＡＭ１１５は、フリップフロップ等の順序回路を用いてデータを記憶し、給電回路１４１からの電源（電力）の供給がなくなると、記憶内容が失われる揮発メモリである。
なお、信号処理装置１１０の電源を切断しても、通常状態では、バッテリ４３からの電力が給電回路１４１を介してＳＲＡＭ１１５に供給され、ＳＲＡＭ１１５に記憶されたデータはバッテリ切れにならない限り保存される。
【００３８】
メインＣＰＵ１１７は、ＳＲＡＭ１１５からプログラムＰＲＧＭ２を読み出して実行し、遊戯処理回路５を制御する各種のコマンドを生成する。メインＣＰＵ１１７は、当該コマンドにより、遊技機の動作を統括的に制御する。メインＣＰＵ１１７は、上記生成したコマンドをデータバス６に送出する。
このように、メイン処理回路１１１は、ＲＯＭ１１３からプログラムＰＲＧＭ２を直接読み出して実行するのではなく、ＲＯＭ１１３からＳＲＡＭ１１５に読み出されたプログラムＰＲＧＭ２をＳＲＡＭ１１５から読み出して実行する。
【００３９】
［監視回路１３１］
図３に示すように、監視回路１３１は、ＲＯＭ１３３、ＲＡＭ１３５および監視用ＣＰＵ１３９を有している。
ＲＯＭ１３３は、監視回路１３１が実行するプログラムＰＲＧＳ２を記憶する。
ＲＡＭ１３５は、監視用ＣＰＵ１３７の処理に用いられる各種のデータを記憶する。
監視用ＣＰＵ１３９は、ＲＯＭ１３３からプログラムＰＲＧＳ２を読み出して実行し、メイン処理回路１１１の監視動作を行う。
監視用ＣＰＵ１３９は、メイン処理回路１１１で実行されるプログラムＰＲＧＭ２の正当性を検証し、不正を検出した場合に、メイン処理回路１１１のＳＲＡＭ１１５への給電回路１４１による給電を停止させる。これにより、メイン処理回路１１１が不正なプログラムを基に生成したコマンドが遊戯処理回路５によって実行されることを防止できる。
【００４０】
以下、図３に示す信号処理装置１１０の動作例を説明する。
図４は、図３に示す信号処理装置１１０の動作例を説明するためのフローチャートである。図４において、図２と同じ符号を付した処理は、第１実施形態で説明した処理と同じであるため、説明を省略する。
【００４１】
先ず、メイン処理回路１１１の動作を中心に説明する。
メイン処理回路１１１のメインＣＰＵ１１７は、初期化処理を行う（ステップＳＴ１１１）。
次に、メインＣＰＵ１１７は、ＲＯＭ１１３からプログラムＰＲＧＭ２を読み出してＳＲＡＭ１１５に書き込む（ステップＳＴ１１２）。
このとき、メインＣＰＵ１１７は、例えば、信号処理装置１１０の管理者の認証を行い、当該管理者の正当性が認証されたことを条件に、ＲＯＭ１１３からプログラムＰＲＧＭ２を読み出してＳＲＡＭ１１５に書き込む。
当該認証は、例えば、管理者が所定の共通鍵を記憶したＩＣカードを用いて、入力部３を介して、メインＣＰＵ１１７との間で暗号化通信をを行ったり、パスワード等を用いて行われる。
【００４２】
次に、メインＣＰＵ１１７は、乱数発生処理を行い、発生した乱数ａをＳＲＡＭ１１５に書き込む（ステップＳＴ１１３）。
次に、メインＣＰＵ１１７は、ＳＲＡＭ１１５から上記乱数ａを読み出し、これをデータバス６を介して監視回路１３１に出力する（ステップＳＴ１１４）。このとき、メインＣＰＵ１１７は、監視回路１３１を指定したアドレスをアドレスデコーダ２１に出力する。
【００４３】
また、メインＣＰＵ１１７は、ＳＲＡＭ１１５から読み出したプログラムＰＲＧＭ２と、ＳＲＡＭ１１５から読み出した乱数ａとの排他的論理和（ＸＯＲ）を演算し、その結果であるプログラムＰＲＧＭ２ＸをＳＲＡＭ１１５に書き込む。
そして、メインＣＰＵ１１７は、ＳＲＡＭ１１５から上記プログラムＰＲＧＭ２Ｘを、データバス６を介して監視回路１３１に出力する（ステップＳＴ１１５）。このとき、メインＣＰＵ１１７は、監視回路１３１を指定したアドレスをアドレスデコーダ２１に出力する。
【００４４】
次に、メインＣＰＵ１１７は、ＳＲＡＭ１１５から読み出したプログラムＰＲＧＭ２を実行する（ステップＳＴ１１６）。
メインＣＰＵ１１７は、上記プログラムＰＲＧＭ２の実行過程でコマンドを生成し、これをデータバス６に出力する。このとき、メインＣＰＵ１１７は、遊戯処理回路５を指定したアドレスをアドレスデコーダ２１に出力する。
【００４５】
次に、メインＣＰＵ１１７は、プログラムＰＲＧＭ２実行後のアイドルモードにおいて、ＳＲＡＭ１１５から読み出したプログラムＰＲＧＭ２と、ＳＲＡＭ１１５から読み出した乱数ａとの排他的論理和（ＸＯＲ）を演算し、その結果であるプログラムＰＲＧＭ２Ｘをデータバス６を介して監視回路１３１に出力する（ステップＳＴ１１７）。このとき、メインＣＰＵ１１７は、監視回路１３１を指定したアドレスをアドレスデコーダ２１に出力する
その後、メインＣＰＵ１１７は、上述したステップＳＴ１１６，ＳＴ１１７の処理を繰り返す。
【００４６】
以下、監視回路１３１の処理を、上述したメイン処理回路１１１の処理と関連付けながら説明する。
図４において、図２と同一の符号を付したステップＳＴ２１〜ＳＴ３１は、プログラムＰＲＧＭ２Ｘを受信して記憶等する点を除いて、第１実施形態で説明したものと実質的に同一であるので説明を省略する。
監視用ＣＰＵ１３９は、メイン処理回路１１１のメインＣＰＵ１１７で実行されるプログラムＰＲＧＭ２の改竄等の可能性があると判断した場合に、給電回路１４１を制御して、給電回路１４１からはメイン処理回路１１１のＳＲＡＭ１１５への給電を停止させる（ステップＳＴ１３２）。これにより、ＳＲＡＭ１１５に記憶されている不正なプログラムが自動的に消去され、メインＣＰＵ１１７が不正なプログラムを実行することが防止される。
【００４７】
＜上述した実施形態の変形例＞
本発明は上述した実施形態には限定されない。
すなわち、当業者は、本発明の技術的範囲またはその均等の範囲内において、上述した実施形態の構成要素に関し、様々な変更、コンビネーション、サブコンビネーション、並びに代替を行ってもよい。
【００４８】
上述した第１実施形態では、初期動作において、メイン処理回路１１，１１１から監視回路３１，１３１に乱数を送信する場合を例示したが、予め共通の値を保持し、特に乱数を送信しない構成にしてもよい。
また、上述した実施形態では、メイン処理回路１１，１１１において、プログラムＰＲＧＭ，ＰＲＧＭ２と乱数ａとの排他的論理和を演算して監視回路３１，１３１に送信するプログラムＰＲＧＭＸ，ＰＲＧＭ２Ｘを生成する場合を例示したが、排他的論理和以外の所定の演算を施してもよい。
【００４９】
また、上述した実施形態では、監視回路３１，１３１において、受信したプログラムＰＲＧＭＸ，ＰＲＧＭ２Ｘと乱数ａとの排他的論理和を演算してプログラムＰＲＧＭ，ＰＲＧＭ２を復元したが、これらを復元せずに、そのまま記憶して比較してもよい。
【００５０】
また、上述した実施形態では、ＲＯＭ１３，１１３から読み出されたプログラムＰＲＧＭ，ＰＲＧＭ２と照合用プログラムとの比較で不一致と判断された場合に、図１に示すデータバス６上のバスゲート９を閉じる例と、図３に示す給電回路１４１によるＳＲＡＭ１１５の給電を停止する場合を例示した。本発明は、上記不一致と判断した場合に、これらの例以外の動作を行って、不正なプログラムによる遊戯処理回路５の動作を禁止してもよい。例えば、メインＣＰＵ１１７や遊戯処理回路５の動作を強制的に停止させてしまう動作等を行ってもよい。また、これらの禁止動作と並行して、所定のセンタに通報したり、警報を出力する動作を行ってもよい。
【００５１】
また、信号処理装置１０，１１０は、例えば、メインＣＰＵ１１７やメイン処理回路１１１が取り外されたか否かを検出する取り外し検出部を備え、当該取り外し検出部が取り外しを検出したことをトリガーとして監視用ＣＰＵ３９，１３９が上述した禁止動作を行ってもよい。
【００５２】
また、上述した実施形態では、メイン処理回路１１，１１１と監視回路３１，１３１とがデータバス６を介して接続された構成を例示したが、これらをデータバスを介さずに接続してもよいし、メイン処理回路１１，１１１内に監視回路３１，１３１の機能を組み込んでもよい。
【００５３】
また、上述した第２実施形態では、監視回路１３１がプログラムＰＲＧＭ２の改変を検出した場合に給電回路１４１によるＳＲＡＭ１１５への給電を停止する場合を例示したが、メイン処理回路１１１全体への給電を停止するようにしてもよい。
【産業上の利用可能性】
【００５４】
本発明は、不正なプログラムの実行による不正動作を防止する必要がある遊技機に適用可能である。
【図面の簡単な説明】
【００５５】
【図１】図１は、本発明の第１実施形態に係る遊技機の信号処理装置のハードウェア構成図である。
【図２】図２は、図１に示す信号処理装置の動作例を説明するためのフローチャートである。
【図３】図３は、本発明の第２実施形態に係る遊技機の信号処理装置のハードウェア構成図である。
【図４】図４は、図３に示す信号処理装置の動作例を説明するためのフローチャートである。
【符号の説明】
【００５６】
３…入力部、５…遊戯処理回路、６…データバス、７，９…バスゲート、１０，１１０…信号処理装置、１３，１１３…ＲＯＭ、１５…ＲＡＭ、１１５…ＳＲＡＭ，１７，１１７…メインＣＰＵ、２１…アドレスデコーダ、３３，１３３…ＲＯＭ、３５，１３５…ＲＡＭ、３７，１３７…監視用ＲＯＭ、３９，１３９…監視用ＣＰＵ、４３…バッテリ、４１，１４１…給電回路
【図１】
2008289716.tif 000003
【図２】
2008289716.tif 000004
【図３】
2008289716.tif 000005
【図４】
2008289716.tif 000006