(57)【要約】【課題】不正カートリッジによる正規ゲームプログラムの取得や、不正カートリッジによる不正ゲームプログラムの実行を防止する。【解決手段】情報処理装置は、記憶装置の内部回路に電源電圧を供給する電源端子と、前記内部回路に接続されるグランド端子と、前記グランド端子に入力される前記内部回路の動作電流を測定する電流測定部と、前記動作電流が前記期待電流であるときに前記記憶装置へのデータの入出力を実行し、前記動作電流が前記期待電流でないときに前記記憶装置へのデータの入出力を実行しない記憶制御部とを有するので、不正カートリッジによる正規ゲームプログラムの取得や、不正カートリッジによる不正ゲームプログラムの実行を防止できる。【選択図】    図２
2012059104.tif 000002
【特許請求の範囲】
【請求項１】
記憶装置の内部回路に電源電圧を供給する電源端子と、
前記内部回路に接続されるグランド端子と、
前記グランド端子に入力される前記内部回路の動作電流を測定する電流測定部と、
前記動作電流が前記期待電流であるときに前記記憶装置へのデータの入出力を実行し、前記動作電流が前記期待電流でないときに前記記憶装置へのデータの入出力を実行しない記憶制御部とを有する情報処理装置。
【請求項２】
請求項１において、
前記動作電流が前記期待電流でないときに、警告を示す情報を出力する情報処理装置。
【請求項３】
請求項１または２において、
前記電流測定部は、前記内部回路が前記記憶装置内の記憶媒体にデータの読み出しまたは書き込みを開始する前に、前記動作電流を測定する情報処理装置。
【請求項４】
請求項１または２において、
前記記憶制御部は前記記憶装置に前記期待電流に対応する前記動作電流を出力させるための制御信号を前記記憶装置に出力し、
前記電流測定部は、前記記憶制御部が前記制御信号を前記記憶装置に出力したときに前記動作電流を測定する情報処理装置。
【請求項５】
請求項１または２において、
前記期待電流は、前記動作電流が入力されるタイミングに応じて異なる情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記憶装置へのデータの入出力を制御する記憶制御部を備えた情報処理装置に関する。
【背景技術】
【０００２】
情報処理装置としてのゲーム機は、記憶装置としてのカートリッジが接続され、カートリッジからゲームプログラムを読み出して実行する。本来、ゲームプログラムを格納したカートリッジは、ゲームプログラムの著作権者や著作物の利用の許諾を受けた者により頒布される。ユーザは対価を支払ってカートリッジを入手し、ゲーム機によりカートリッジからゲームプログラムを読出して実行することで、ゲームを行う。
【０００３】
近年、カートリッジからゲームプログラムを読み出して不正に複製し、複製されたゲームプログラムをインターネット上などで頒布する行為が増加している。かかる行為を実施する侵害者は、例えば、まず、正規に入手したカートリッジ（以下、正規カートリッジという）をゲーム機に接続し、ゲーム機にゲームプログラム（以下、正規カートリッジに格納されたゲームプログラムを正規ゲームプログラムという）を実行させる。このとき、ゲーム機内のＲＡＭ（Random Access Memory）に正規ゲームプログラムが一時的に保持される。その状態で、侵害者は、正規カートリッジを取り外し、ゲーム機をハッキングして制御するための回路構成が実装されたカートリッジ（以下、不正カートリッジという）を、ゲーム機に接続する。不正カートリッジは、ゲーム機のＣＰＵ（Central Processing Unit）に偽の制御信号を入力し、ＲＡＭに保持された正規ゲームプログラムを不正カートリッジに書き込むようにＣＰＵを制御する。このようにして、侵害者は、正規ゲームプログラムを取得する。
【０００４】
次に、侵害者は、取得したゲームプログラムを複製して不正ゲームプログラムを作製し、これをたとえばインターネットを介して頒布する。一方で、侵害者は、不正ゲームプログラムをゲーム機に読み取らせるための不正カートリッジを作製し、頒布する。不正ゲームプログラムと不正カートリッジとを入手したユーザは、不正ゲームプログラムを不正カートリッジに格納する。ユーザが不正カートリッジをゲーム機に接続すると、不正カートリッジは、ゲーム機のＣＰＵに偽の制御信号を入力して、ＣＰＵに不正カートリッジから不正ゲームプログラムを読み出させる。こうして、ゲーム機は、正規カートリッジが接続されたときと同様にして、不正カートリッジから不正ゲームプログラムを読み出して実行する。
【０００５】
このような不正ゲームプログラムの頒布や実行を防止するための方法が提案されている（たとえば、特許文献１〜３）。一つの例では、正規カートリッジとゲーム機とに予め認証情報を格納しておき、ゲーム機が、接続されるカートリッジから認証情報を読み出して認証を行う。ゲーム機は、正規カートリッジが接続され、認証が成功したときには正規ゲームプログラムを実行するが、不正カートリッジが接続され、認証が失敗したときには、種々のエラー処理を実行したり、不正ゲームプログラムの実行を中止したりする。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平８−２８６９０３号公報
【特許文献２】特開２０００−７６０６３号公報
【特許文献３】特開２００２−７３４２３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、認証情報を用いて認証を行う方法では、認証情報を偽装されて実効性を欠くおそれがある。
【０００８】
そこで、本発明の目的は、より確実に不正カートリッジを判別でき、不正カートリッジによる正規ゲームプログラムの取得や、不正カートリッジによる不正ゲームプログラムの実行を防止できる情報処理装置を提供することにある。
【課題を解決するための手段】
【０００９】
上記の目的を達成するために、本発明の１つの側面における情報処理装置は、記憶装置の内部回路に電源電圧を供給する電源端子と、前記内部回路に接続されるグランド端子と、前記グランド端子に入力される前記内部回路の動作電流を測定する電流測定部と、前記動作電流が期待電流であるときに前記記憶装置へのデータの入出力を実行し、前記動作電流が前記期待電流でないときに前記記憶装置へのデータの入出力を実行しない記憶制御部とを有する。
【発明の効果】
【００１０】
上記側面によれば、電流測定部が動作電流を測定することにより、不正カートリッジを判別できる。そして、記憶制御部は、前記動作電流が前記期待電流であるときに前記記憶装置へのデータの入出力を実行し、前記動作電流が前記期待電流でないときに前記記憶装置へのデータの入出力を実行しないので、不正カートリッジによる正規ゲームプログラムの取得や、不正カートリッジによる不正ゲームプログラムの実行を防止できる。
【図面の簡単な説明】
【００１１】
【図１】本実施形態におけるゲーム機とカートリッジの構成を説明する図である。
【図２】第１実施例におけるゲーム機４と正規カートリッジ２の要部の構成を説明する図である。
【図３】第１実施例における電流測定部３６の構成例を説明する図である。
【図４】第１実施例におけるゲーム機４の動作を説明する図である。
【図５】第１実施例において、アドレス・コマンド制御部３４に入出力される各信号の例を示す図である。
【図６】第２実施例におけるゲーム機４と正規カートリッジ２の要部の構成を説明する図である。
【図７】第２実施例におけるゲーム機４の動作を説明する図である。
【図８】第２実施例において、アドレス・コマンド制御部３４に入出力される各信号の例を示す図である。
【図９】第３実施例におけるゲーム機４と正規カートリッジ２の要部の構成を説明する図である。
【図１０】電流生成回路３８の構成例を説明する図である。
【図１１】第３実施例における電流測定部３６の構成例を示す。
【図１２】第３実施例におけるゲーム機４の動作を説明する図である。
【図１３】第３実施例において、アドレス・コマンド制御部３４に入出力される各信号の例を示す図である。
【図１４】第４実施例における電流測定部３６の構成について説明する図である。
【図１５】第４実施例におけるゲーム機４の動作を説明する図である。
【図１６】第４実施例において、アドレス・コマンド制御部３４に入出力される各信号の例を示す図である。
【図１７】第５実施例におけるゲーム機４と正規カートリッジ２の要部の構成を説明する図である。
【図１８】第５実施例におけるゲーム機４の動作を説明する図である。
【図１９】第５実施例において、アドレス・コマンド制御部３４に入出力される各信号の例を示す図である。
【発明を実施するための形態】
【００１２】
以下、図面にしたがって本発明の実施の形態について説明する。但し、本発明の技術的範囲はこれらの実施の形態に限定されず、特許請求の範囲に記載された事項とその均等物まで及ぶものである。
【００１３】
本実施形態では、情報処理装置は例えばゲーム機である。また、情報処理装置に接続される外部の記憶装置は、例えばゲームプログラムが格納されたカートリッジである。
【００１４】
図１は、本実施形態におけるゲーム機とカートリッジの構成を説明する図である。図１（Ａ）は、正規カートリッジが接続される場合の構成を示す。正規カートリッジ２は、接続部９によりゲーム機４と接続される。正規カートリッジ２は、ＲＯＭ（Read Only Memory）６と、ＲＯＭ６に接続されるＲＯＭ制御部８とを有する。ＲＯＭ６には、正規ゲームプログラムが格納される。ＲＯＭ制御部８は、ＲＯＭ６からのデータの読み出しを制御する。たとえば、ＲＯＭ制御部８は、ＲＯＭ６から正規ゲームプログラムを読み出す。また、ＲＯＭ６が例えば書き換え可能なＲＯＭである場合には、ＲＯＭ制御部８は、ＲＯＭ６に対するデータの書き込みを制御する。この場合、たとえば、ゲームの実行に関してユーザが設定するパラメータ等がＲＯＭ６に書き込まれる。
【００１５】
ゲーム機４は、正規カートリッジ２が接続される接続部１１と、接続部１１を介し正規カートリッジ２のＲＯＭ制御部８と接続される記憶制御部１０と、記憶制御部１０と接続されるメイン制御部１２とを有する。また、ゲーム機４では、メイン制御部１２は、ＲＯＭ１４と、ＲＡＭ１６と、表示部１８と、音声出力部２０と、操作入力部２２と、ネットワーク接続部２４と接続される。
【００１６】
操作入力部２２は、ユーザによる操作入力を受け付け、操作入力に応じた制御信号をメイン制御部１２に入力する。操作入力部２２は、操作ボタンや操作レバーを有する。また、操作入力部２２には、電源スイッチが含まれる。電源スイッチは、押ボタンや、ゲーム機４の蓋の開閉と連動して電源が投入・遮断される形態のスイッチなどを有する。
【００１７】
メイン制御部１２は、電源が投入されると起動して、ＲＯＭ１４に格納される制御プログラムを読み出してこれを実行し、ゲーム機４の各部を制御する。このとき、メイン制御部１２は、各種演算のためのデータをＲＡＭ１６に一時的に保持させる。
【００１８】
メイン制御部１２は、正規カートリッジ２からの正規ゲームプログラムの読出しを指示する制御信号を記憶制御部１０に出力する。記憶制御部１０は、これに応答して、正規ゲームプログラムの読み出しを指示する制御信号をＲＯＭ制御部８に出力する。すると、ＲＯＭ制御部８は、これに応答して、ＲＯＭ６から正規ゲームプログラムを読み出して記憶制御部１０に転送する。記憶制御部１０は、正規ゲームプログラムをメイン制御部１２に転送する。そして、メイン制御部１２は、正規ゲームプログラムをＲＡＭ１６に格納して、これを実行する。また、メイン制御部１２は、ユーザの操作入力に応じて各種パラメータを生成し、これにより正規ゲームプログラムを実行する。
【００１９】
メイン制御部１２は、正規ゲームプログラムを実行することで、ゲームの状況に応じた画像データや音声データを生成する。メイン制御部１２は、画像データを表示部１８に出力する。表示部１８は、画像データに応じた画像をたとえばＬＣＤ（Liquid Crystal Display）などの表示画面に表示する。また、メイン制御部１２は、音声データを音声出力部２０に出力する。音声出力部２０は、音声データに応じた音声をスピーカから出力する。さらに、メイン制御部１２は、ネットワーク接続部２４を介してインターネットなどの公衆通信回線網に接続し、他のゲーム機やサーバなどと通信しながら正規ゲームプログラムを実行する。
【００２０】
図１（Ｂ）は、不正カートリッジが接続される場合の構成を示す。不正カートリッジ１０２は、正規カートリッジ９の接続部を偽装した接続部１０９を有し、接続部１０９によりゲーム機４と接続される。不正カートリッジ１０２は、ＳＤカードやＵＳＢメモリなどの記憶媒体１０８が接続される記憶媒体接続部１０４と、記憶媒体接続部１０４と接続される、たとえばＦＰＧＡ（Field Programmable Gate Array）などのプログラマブル・ロジック・デバイス（ＰＬＤ）１０６とを有する。
【００２１】
記憶媒体接続部１０４は、記憶媒体１０８に対するデータの読み書きを行う。ＰＬＤ１０６は、記憶媒体１０８に対するデータの読み書きを指示する制御信号を、記憶媒体接続部１０４に出力する。また、ＰＬＤ１０６は、図示を省略するＥＥＰＲＯＭ（Electronically Erasable and Programmable ROM）などから予め格納された回路情報を読み出して、その回路構成を実装する。たとえば、ＰＬＤ１０６は、ゲーム機４のメイン制御部１２をハッキングして制御するための回路構成を実装する。
【００２２】
このような不正カートリッジ１０２は、侵害者により、正規ゲームプログラムを取得するために、たとえば次のようにして用いられる。まず、ゲーム機４に正規カートリッジ２が接続され、メイン制御部１２が正規ゲームプログラムをＲＡＭ１６に保持させて実行する。その状態で正規カートリッジ２がゲーム機４から取り外され、不正カートリッジ１０２がゲーム機４に接続される。不正カートリッジ１０２が接続されると、ＰＬＤ１０６は、メイン制御部１２をハッキングするための各種制御信号を出力する。この各種制御信号は、記憶制御部１０からメイン制御部１２に転送される。メイン制御部１２は、これに応答して、ＲＡＭ１６に格納された正規ゲームプログラムを読み出して記憶制御部１０に転送する。そして、記憶制御部１０は、転送された正規ゲームプログラムを、ＰＬＤ１０６に転送する。そして、ＰＬＤ１０６は、記憶媒体接続部１０４により、正規ゲームプログラムを記憶媒体１０８に書き込む。こうして、不正カートリッジ１０２により、正規ゲームプログラムが正規カートリッジ２から読み出されて取得される。
【００２３】
侵害者は、上記のようにして入手した正規ゲームプログラムを不正に複製し、複製された不正ゲームプログラムをたとえばインターネットを介して頒布する。そして、不正カートリッジ１０２は、不正ゲームプログラムを入手したユーザにより、不正ゲームプログラムを実行するために、たとえば次のように用いられる。ユーザは、入手した不正ゲームプログラムを記憶媒体１０８に格納し、これを記憶媒体接続部１０４に接続する。そして、その状態で、ユーザは、不正カートリッジ１０２をゲーム機４に接続し、ゲーム機４を起動する。このとき、ＰＬＤ１０６は、不正ゲームプログラムをメイン制御部１２に実行させるための回路構成を実装している。ＰＬＤ１０６は、記憶媒体接続部１０４により記憶媒体１０８から不正ゲームプログラムを読み出してゲーム機４に転送するとともに、正規カートリッジ２のＲＯＭ制御部８による制御信号を偽装した制御信号を出力する。そうすることで、メイン制御部１２は、正規カートリッジ２が接続されたときと同様にして、不正ゲームプログラムを実行する。
【００２４】
ここで、正規カートリッジ２または不正カートリッジ１０２の内部回路は、詳しくは後述するように、ゲーム機４から電源供給を受けて動作する。そのとき、不正カートリッジ１０２の内部回路による動作電流は、正規カートリッジ２の内部回路による動作電流より一般に大きい。これは、不正カートリッジ１０２におけるＰＬＤ１０６の回路規模が、正規カートリッジ２におけるＲＯＭ６のデータ読み出し（あるいは読み書き）専用に設計、製造されたＲＯＭ制御部８と比べて大きく、所望の回路構成を実装したときであっても冗長なゲートを有するので、その分余計な動作電流を消費することによる。
【００２５】
このことを利用し、本実施形態では、接続されるカートリッジの内部回路の動作電流が、正規カートリッジ２が接続されたときに期待される動作電流（期待電流）であるか否かを、ゲーム機４が判定する。ハードウェア構成に依存する動作電流を偽装することは、たとえば認証情報などを偽装することより困難であるので、動作電流が期待電流である場合には正規カートリッジ２が接続されたと判別でき、期待電流でない場合には不正カートリッジ１０２が接続されたと判別できる。そして、ゲーム機４は、不正カートリッジ１０２を判別したときには、正規ゲームプログラムの転送や、不正ゲームプログラムの実行を中止する。そうすることで、不正カートリッジによる正規ゲームプログラムの取得や、不正カートリッジによる不正ゲームプログラムの実行を確実に防止できる。
【００２６】
以下、本実施形態における実施例について説明する。
【００２７】
［第１実施例］
図２は、第１実施例におけるゲーム機４と正規カートリッジ２の要部の構成を説明する図である。ゲーム機４の記憶制御部１０は、アドレス・コマンド制御部３４とデータ制御部３２とを有する。一方、正規カートリッジ２のＲＯＭ制御部８は、アドレス・コマンド制御部４２と、データ制御部４４とを有する。ゲーム機４のアドレス・コマンド制御部３４と正規カートリッジ２のアドレス・コマンド制御部４２は、接続部９、１１を介して接続される。また、ゲーム機４のデータ制御部３２と正規カートリッジ２のデータ制御部４４は、接続部９、１１を介して接続される。
【００２８】
ゲーム機４は、接続部１１に、電源端子１３とグランド端子１５を有する。ゲーム機４では、電源端子１３は電源電圧ＶＤＤに、グランド端子１５はグランド電位ＶＳＳに接続される。また、正規カートリッジ２は、接続部９に、電源端子１３とグランド端子１５とに接続される接続端子を有する。正規カートリッジ２では、ＲＯＭ６やＲＯＭ制御部８といった内部回路が、電源端子１３を介して電源電圧ＶＤＤの供給を受け、グランド端子１５を介してグランド電位の供給を受けて動作する。よって、ＲＯＭ６やＲＯＭ制御部８による動作電流（以下、単に動作電流という）は、グランド端子１５を介してゲーム機４に出力される。  
【００２９】
ゲーム機４は、グランド端子１５に接続される電流測定部３６を有する。電流測定部３６には、グランド端子１５を介して、正規カートリッジ２から動作電流が入力される。電流測定部３６は、予め設定される基準電流に対し動作電流が大きいか小さいかを測定し、その結果に応じた判定信号Ｊｕｄｇｅを出力する。なお、ここでは、電流測定部３６が記憶制御部１０の内部に設けられる場合が示されるが、電流測定部３６は記憶制御部１０の外部に設けられてもよい。
【００３０】
上記の構成において、ゲーム機４に電源が投入されてゲーム機４が起動するとき、アドレス・コマンド制御部３４には、メイン制御部１２からリセット信号ＲＥＳＥＴが入力される。そして、メイン制御部１２によりリセット信号ＲＥＳＥＴが解除されると、メイン制御部１２からデータのアドレスを指定するアドレス信号ＡＤＤと、データ読み出しを指示する制御信号ＣｏｎＳが入力される。アドレス・コマンド制御部３４は、正規カートリッジ２のアドレス・コマンド制御部４２に、クロック信号ＣＬＫと、チップセレクト信号ＣＳと、データの読み出しアドレスを指定する制御信号Ｄｉｎを出力し、ＲＯＭ６からのデータの読み出しを指示する。正規カートリッジ２のアドレス・コマンド制御部４２は、これに応答して、クロック信号ＣＬＫに同期してＲＯＭ６からデータを読み出す。読み出されるデータは、たとえば、正規ゲームプログラムである。そして、データ制御部４４は、読み出されたデータＤｏｕｔをデータ制御部３２に転送する。すると、データ制御部３２は、転送されたデータＤｏｕｔを読出しデータＤｒとしてメイン制御部１２に転送する。
【００３１】
あるいは、正規カートリッジ２のＲＯＭ６が書き換え可能に構成される場合、アドレス・コマンド制御部３４は、メイン制御部１２から、データの書き込みアドレスを指定するアドレス信号ＡＤＤと、データ書き込みを指示する制御信号ＣｏｎＳが入力される。このとき、メイン制御部１２からデータ制御部３２に、書き込み用データＤｗが転送される。データ制御部３２は、書き込み用データＤｗをアドレス・コマンド制御部３４に転送する。アドレス・コマンド制御部３４は、正規カートリッジ２のアドレス・コマンド制御部４２に、クロック信号ＣＬＫと、チップセレクト信号ＣＳと、書き込みアドレスをともなった書き込みデータＤｉｎとを出力する。すると、正規カートリッジ２のアドレス・コマンド制御部４２は、書き込みデータＤｉｎをデータ制御部４４に転送する。データ制御部４４は、これに応答して、ＲＯＭ６に対しデータＤｉｎを書き込む。
【００３２】
以下では、アドレス・コマンド制御部３４による、上記のようなクロック信号ＣＬＫ、チップセレクト信号ＣＳ、書き込みデータＤｉｎ等の出力、及びゲームプログラム等のデータＤｏｕｔの読出しを含むデータの入出力を、通常動作という。
【００３３】
第１実施例では、電流測定部３６が、リセット信号ＲＥＳＥＴ解除時の動作電流を測定する。そして、アドレス・コマンド制御部３４が、動作電流が期待電流のときに通常動作を実行し、動作電流が期待電流でないときに通常動作の実行を中止する。
【００３４】
電流測定部３６は、ゲーム機４の起動時に、メイン制御部１２からリセット信号ＲＥＳＥＴが入力される。電流測定部３６は、リセット信号ＲＥＳＥＴが解除されると、これに応答して、正規カートリッジ２の動作電流が基準電流より大きいか小さいかを測定する。
【００３５】
正規カートリッジ２は、リセット信号ＲＥＳＥＴが解除されたタイミングでは、アドレス・コマンド制御部３４からの制御信号の入力待ち状態である。つまり、アドレス・コマンド制御部４２はデータの読み書きなどの動作開始前である。このとき、アドレス・コマンド制御部４２とデータ制御部４４を含むＲＯＭ制御部８や、ＲＯＭ６といった内部回路は、たとえば数μＡ程度の微小な待機電流を消費する。よって、この待機電流が動作電流として、グランド端子１５を介して電流測定部３６に入力される。ここで、かかる待機電流が期待電流に対応する。
【００３６】
一方、正規カートリッジ２の代わりに不正カートリッジ１０２が接続された場合には、ＰＬＤ１０６の回路構成に起因して、正規カートリッジ２の待機電流より大きい、たとえば数ｍＡの待機電流が消費される。よって、電流測定部３６には、正規カートリッジ２の動作電流、つまり期待電流より大きい動作電流が入力される。
【００３７】
電流測定部３６には、期待電流より大きくかつ不正カートリッジ１０２の動作電流より小さい基準電流が予め設定される。そして、電流測定部３６は、正規カートリッジ２が接続されることで基準電流より小さい動作電流が入力される場合、つまり入力される動作電流が期待電流の場合には、アドレス・コマンド制御部３４に、通常動作の実行を許可するための判定信号Ｊｕｄｇｅを出力する。すると、アドレス・コマンド制御部３４は、これに応答して通常動作を実行し、正規カートリッジ２から読み出された正規ゲームプログラムが実行される。
【００３８】
一方、不正カートリッジ１０２が接続されることで基準電流より大きい動作電流が入力される場合、つまり入力される動作電流が期待電流でない場合には、電流測定部３６は、アドレス・コマンド制御部３４に、不正カートリッジ１０２に対する通常動作の実行を中止させるための判定信号Ｊｕｄｇｅを出力する。すると、アドレス・コマンド制御部３４は、これに応答して通常動作の実行を中止する。すなわち、アドレス・コマンド制御部３４は、不正カートリッジ１０２に対する正規ゲームプログラムの書き込みや、不正カートリッジ１０２から不正ゲームプログラムの読み出しを中止する。よって、不正カートリッジ１０２による正規ゲームプログラムの取得や、不正カートリッジによる１０２不正ゲームプログラムの実行を防止できる。
【００３９】
ここにおいて、正規カートリッジ２または不正カートリッジ１０２は、それぞれが固有の電源を有さず、ゲーム機４から電源供給を受けて動作するので、それぞれの動作電流は、内部回路の規模や構成に依存する。よって、動作電流を用いることで、接続されたカートリッジのハードウェア構成を推測することができ、正規カートリッジ１０２または不正カートリッジ１０２を確度良く判別できる。また、リセット信号ＲＥＳＥＴ解除時の待機電流は、その後、正規カートリッジ２や不正カートリッジ１０２が動作を開始したときの動作電流より安定しているので、かかる動作開始後の動作電流より的確な判定が可能であり、確度良く正規カートリッジ２または不正カートリッジ１０２の判別を行うことができる。
【００４０】
また第１実施例の一態様では、アドレス・コマンド制御部３４は、不正カートリッジ１０２と判別されたことを示す判定信号Ｊｕｄｇｅに応答して、不正カートリッジ１０２が接続されたことを示すエラー信号ＥＲＲをメイン制御部１２に出力する。すると、メイン制御部１２は、エラー信号ＥＲＲに応答して、不正行為に対する警告メッセージや空白画面を表示部１８に表示させたり、音声出力部２０に音声出力させたりする。あるいは、メイン制御部１２は、デバッグモードに移行するなどして、動作を中止してもよい。そうすることで、不正カートリッジ１０２による正規ゲームプログラムの取得や、不正カートリッジ１０２による不正ゲームプログラムの実行を、より確実に防止できる。メイン制御部１２によるかかる動作を、以下では、不正動作時の動作という。
【００４１】
図３は、第１実施例における電流測定部３６の構成例を説明する図である。電流測定部３６は、予め設定される基準電流に対し入力される動作電流が大きいか小さいかを測定する。そのための構成として、たとえば、電流測定部３６は、電圧比較器３７を有する。電圧比較器３７の非反転入力端子は、接続端子Ｎ１と接続される。接続端子Ｎ１は、グランド端子１５に接続される。接続端子Ｎ１とゲーム機４のグランド電位ＶＳＳの間には、抵抗Ｒ１が設けられる。
【００４２】
上記の構成において、正規カートリッジ２の動作電流Ｉが、グランド端子１５を介して接続端子Ｎ１に入力される。よって、動作電流Ｉと抵抗Ｒ１の抵抗値とに応じた接続端子Ｎ１の電圧Ｖ（ａ）が、電圧比較器３７の非反転入力端子に入力される。電圧比較器３７の反転入力端子には、基準電圧Ｖｒｅｆが入力される。基準電圧Ｖｒｅｆより非反転入力端子に入力される電圧Ｖ（ａ）の方が大きければ、電圧比較器３７はＨレベルの判定信号Ｊｕｄｇｅを出力する。一方、基準電圧Ｖｒｅｆより非反転入力端子に入力される電圧Ｖ（ａ）の方が小さければ、電圧比較器３７は、Ｌレベルの判定信号Ｊｕｄｇｅを出力する。
【００４３】
ここでは、抵抗Ｒ１の抵抗値に対して生成される電圧Ｖ（ａ）が基準電圧Ｖｒｅｆと一致するような動作電流が、基準電流に対応する。このような構成によれば、接続端子Ｎ１に基準電流より小さい動作電流Ｉが入力されたときには、電圧比較器３７の非反転入力端子には基準電圧Ｖｒｅfより小さい電圧Ｖ（ａ）が入力されるので、Ｌレベルの判定信号Ｊｕｄｇｅが出力される。一方、基準電流より大きい動作電流Ｉが入力されたときには、電圧比較器３７の非反転入力端子には基準電圧Ｖｒｅfより大きい電圧Ｖ（ａ）が入力されるので、Ｈレベルの判定信号Ｊｕｄｇｅが出力される。
【００４４】
すると、アドレス・コマンド制御部３４は、Ｌレベルの判定信号Ｊｕｄｇｅに応答して、通常動作を実行する。一方、アドレス・コマンド制御部３４は、Ｈレベルの判定信号Ｊｕｄｇｅに応答して、通常動作の実行を中止する。また、アドレス・コマンド制御部３４は、Ｈレベルの判定信号Ｊｕｄｇｅに応答して、メイン制御部１２に不正動作時の動作を実行させるためのエラー信号ＥＲＲを出力する。
【００４５】
図４は、第１実施例におけるゲーム機４の動作を説明する図である。図５は、第１実施例において、アドレス・コマンド制御部３４に入出力される各信号の例を示す図である。図５には、横軸を時間軸として、アドレス・コマンド制御部３４から出力されるクロック信号ＣＬＫ、メイン制御部１２から電流測定部３６及びアドレス・コマンド制御部３４に入力されるリセット信号ＲＥＳＥＴ、電流測定部３６からアドレス・コマンド制御部３４に入力される判定信号Ｊｕｄｇｅ、及びアドレス・コマンド制御部３４からメイン制御部１２に入力されるエラー信号ＥＲＲが示される。図５では、図４の手順に対応するタイミングには図４と同じ符号が付してある。
【００４６】
図４に従い、図５を参照しつつゲーム機４の動作を説明する。ユーザが電源スイッチをオンしたり、ゲーム機４の蓋を開けたりすることで、ゲーム機４に電源が投入される（Ｓ２）。すると、メイン制御部１２は、リセット信号ＲＥＳＥＴを出力し、これを解除する（Ｓ４）。すると、電流測定部３６は、手順Ｓ６で、動作電流が基準電流より大きいか小さいかを測定する。具体的には、電流測定部３６は、接続端子Ｎ１の電圧Ｖ（ａ）を基準電圧Ｖｒｅｆと比較し、Ｖｒｅｆより小さいとき（Ｓ６の「Ｖ（ａ）＜Ｖｒｅｆ」）、つまり動作電流Ｉが基準電流より小さい期待電流であるときに、Ｌレベルの判定信号Ｊｕｄｇｅを出力する（Ｓ８）。アドレス・コマンド制御部３４は、これに応答して、通常動作を実行する（Ｓ１０）。一方、接続端子Ｎ１の電圧Ｖ（ａ）が基準電圧Ｖｒｅｆより大きいとき（Ｓ６の「Ｖ（ａ）＞Ｖｒｅｆ」）、つまり動作電流Ｉが基準電流より大きく、期待電流でないときには、Ｈレベルの判定信号Ｊｕｄｇｅを出力する（Ｓ１２）。アドレス・コマンド制御部３４は、これに応答して、不正カートリッジ１０２に対する通常動作を中止し、エラー信号ＥＲＲをメイン制御部１２に出力する（Ｓ１４）。そして、メイン制御部１２は、警告の表示や音声出力など不正動作時の動作を実行する（Ｓ１６）。
【００４７】
上記のような手順により、不正カートリッジ１０２による正規ゲームプログラムの取得や、不正カートリッジ１０２による不正ゲームプログラムの実行を防止できる。
【００４８】
［第２実施例］
上述の第１実施例では、ゲーム機４起動直後の待機電流を動作電流として用い、動作電流が期待電流か否かの判定が行われた。次に説明する第２実施例では、待機電流より小さい省電力（パワーダウン）モード時の動作電流について、期待電流か否かの判定が行われる。
【００４９】
図６は、第２実施例におけるゲーム機４と正規カートリッジ２の要部の構成を説明する図である。図６の構成のうち、第１実施例における図２の構成と同じ構成には、図２と同じ符号が付してある。ここでは、第１実施例と異なる点について説明する。第２実施例では、メイン制御部１２が、アドレス・コマンド制御部３４に、パワーダウン制御信号ＰＤを入力する。メイン制御部１２は、所定のイベントを検知したときに、パワーダウン制御信号ＰＤを出力する。所定のイベントは、たとえば、ゲーム機４の蓋が閉じられたときや、一定時間以上操作入力がなされないとき、操作入力の有無に関わらず一定時間タイマで計時されたとき、もしくは、正規ゲームプログラムの実行中に、ゲームのステージをクリアしたりネットワークに接続されたりしたときが含まれる。あるいは、ゲーム機４の起動時において、リセット信号ＲＥＳＥＴが解除されたとき、一旦パワーダウン制御信号ＰＤを出力するようにしてもよい。
【００５０】
アドレス・コマンド制御部３４は、メイン制御部１２からパワーダウン制御信号ＰＤが入力されると、電流測定部３６と正規カートリッジ２のアドレス・コマンド制御部４２に、パワーダウン制御信号ＰＤを入力する。
【００５１】
正規カートリッジ２では、アドレス・コマンド制御部４２は、パワーダウン制御信号ＰＤが入力されると、パワーダウンモードに移行するよう構成される。パワーダウンモードのとき、正規カートリッジ２では、待機電流より小さい動作電流が流れるか、ほとんど動作電流が流れない状態となる。よって、電流測定部３６において、第１実施例のときの基準電流より小さい基準電流を設定しておく。電流測定部３６は、パワーダウン制御信号ＰＤが入力されると、これに応答して、正規カートリッジ２の動作電流と基準電流とを比較する。そして、電流測定部３６に入力される動作電流が基準電流より小さく、つまり期待電流であれば、電流測定部３６は、正規カートリッジ２が接続されたことを示すＬレベルの判定信号Ｊｕｄｇｅを出力する。よって、このとき、アドレス・コマンド制御部３４は、通常動作を実行する。
【００５２】
一方、不正カートリッジ２が接続されたときには、パワーダウン制御信号ＰＤが入力されたとしても、パワーダウンモードに移行するような動作が実行されない。その場合、電流測定部３６には、基準電流より大きく、期待電流ではない動作電流が入力される。よって、電流測定部３６は、不正カートリッジ１０２が接続されたことを示すＨレベルの判定信号Ｊｕｄｇｅを出力する。よって、このとき、アドレス・コマンド制御部３４は、不正カートリッジ１０２に対する通常動作を中止するとともに、エラー信号ＥＲＲを出力し、メイン制御部１２に不正動作時の動作を実行させる。
【００５３】
図７は、第２実施例におけるゲーム機４の動作を説明する図である。図８は、第２実施例において、アドレス・コマンド制御部３４に入出力される各信号の例を示す図である。図８には、横軸を時間軸として、アドレス・コマンド制御部３４から出力されるクロック信号ＣＬＫ、イベントＥＶＴとこれに応答してメイン制御部１２から電流測定部３６及びアドレス・コマンド制御部３４に入力されるパワーダウン制御信号ＰＤ、電流測定部３６からアドレス・コマンド制御部３４に入力される判定信号Ｊｕｄｇｅ、及びアドレス・コマンド制御部３４からメイン制御部１２に入力されるエラー信号ＥＲＲが示される。また、図８では、図７の手順に対応するタイミングには図７と同じ符号が付してある。
【００５４】
図７に従い、図８を参照しつつゲーム機４の動作を説明する。メイン制御部１２は、通常動作行っているときに（Ｓ２０）、イベントＥＶＴが発生すると（Ｓ２２）、パワーダウン制御信号ＰＤを出力する（Ｓ２４）。すると、電流測定部３６は、手順Ｓ２６で、動作電流が基準電流より大きいか小さいかを測定する。具体的には、電流測定部３６は、接続端子Ｎ１の電圧Ｖ（ａ）を基準電圧Ｖｒｅｆと比較し、Ｖｒｅｆより小さいとき（Ｓ２６の「Ｖ（ａ）＜Ｖｒｅｆ」）、つまり動作電流Ｉが基準電流より小さい期待電流であるときに、Ｌレベルの判定信号Ｊｕｄｇｅを出力する（Ｓ２８）。アドレス・コマンド制御部３４は、これに応答して、通常動作を実行する（Ｓ３０）。一方、接続端子Ｎ１の電圧Ｖ（ａ）が基準電圧Ｖｒｅｆより大きいとき（Ｓ２６の「Ｖ（ａ）＞Ｖｒｅｆ」）、つまり動作電流Ｉが基準電流より大きく、期待電流でないときには、Ｈレベルの判定信号Ｊｕｄｇｅを出力する（Ｓ３２）。アドレス・コマンド制御部３４は、これに応答して、不正カートリッジ１０２に対する通常動作を中止し、エラー信号ＥＲＲをメイン制御部１２に出力する（Ｓ３４）。そして、メイン制御部１２は、不正動作時の動作を実行する（Ｓ３６）。
【００５５】
上記のような手順によれば、正規カートリッジ２または不正カートリッジ１０２を判別することができる。
【００５６】
第２実施例は単独で実施することも可能であるが、第１実施例と同時に実施することが可能である。その場合、電流測定部３６は、動作電流を複数の基準電流と比較可能な構成を有する。たとえば、図３で示したような構成を複数設け、それぞれで異なる基準電流を設定しておく。そして、電流測定部３６は、リセット信号ＲＥＳＥＴ解除時の動作電流が第１の基準電流より大きいか小さいかを測定する。さらに、電流測定部３６は、パワーダウンモード時の動作電流が、第１の基準電流より小さい第２の基準電流に対して、大きいか小さいかを測定する。
【００５７】
ここで、不正カートリッジ１０２はパワーダウンモードを実行しないので、パワーダウンモード時の動作電流を用いることで、確実に正規カートリッジ２または不正カートリッジ１０２を判別することができる。特に、不正カートリッジ１０２の待機電流が正規カートリッジ２の待機電流と近似しており、リセット信号ＲＥＳＥＴ解除時の動作電流からは正規カートリッジ２または不正カートリッジ１０２を判別できない場合であっても、正規カートリッジ２または不正カートリッジ１０２を判別するさらなる機会を確保できる。また、ゲームの状況に応じたイベントごとにパワーダウンモード時の動作電流に基づく判別を行うようにすれば、仮に正規ゲームプログラムを複製した不正ゲームプログラムが実行されたときであっても、不正カートリッジ１０２を判別することができ、不正ゲームプログラムの実行を中止することができる。こうして、不正カートリッジ１０２による正規ゲームプログラムの取得や、不正カートリッジ１０２による不正ゲームプログラムの実行を防止できる。
【００５８】
［第３実施例］
上述の第１、第２実施例では、いずれも基準電流より大きい動作電流のときに期待電流ではないと判定し、不正カートリッジ１０２が判別された。第３実施例は、正規カートリッジ２に、所定の動作電流、たとえば、正規カートリッジ２や不正カートリッジの待機電流より大きい電流を生成する電流生成回路を設けておきこれを動作させる。そして、かかる電流を判定するための基準電流を設定しておき、基準電流より大きい動作電流のときに期待電流であると判定して正規カートリッジ２と判別し、基準電流より小さい動作電流のときに期待電流でないと判定して不正カートリッジ１０２と判別する。
【００５９】
図９は、第３実施例におけるゲーム機４と正規カートリッジ２の要部の構成を説明する図である。図９の構成のうち、第２実施例における図６の構成と同じ構成には同じ符号が付してある。ここでは、第２実施例と異なる点について説明する。
【００６０】
第３実施例では、正規カートリッジ２が、所定の動作電流を生成する電流生成回路３８を有する。電流生成回路３８は、ゲーム機４から電源端子１３を介して供給される電源電圧ＶＤＤと、グランド端子１５を介して供給されるグランド電位ＶＳＳとの間に設けられ、電源電圧ＶＤＤとグランド電位ＶＳＳが供給されて動作する。
【００６１】
一方、ゲーム機４では、メイン制御部１２が、アドレス・コマンド制御部３４に、所定のイベントが発生したときにテストエントリ制御信号ＴＥＮを入力する。所定のイベントは、たとえば、正規カートリッジ２の動作電流が低下するようなイベントである。ゲーム機４の蓋が閉じられたときや、一定時間以上操作入力がなされないとき、あるいは、正規ゲームプログラムの実行中に、ゲームのステージをクリアしたりネットワークに接続されたりしたときが含まれる。あるいは、ゲーム機４の起動時において、リセット信号ＲＥＳＥＴが解除されたときであってもよい。すると、アドレス・コマンド制御部３４は、電流測定部３６とカートリッジ２のアドレス・コマンド制御部４２に、テストエントリ制御信号ＴＥＮを入力する。
【００６２】
正規カートリッジ２では、アドレス・コマンド制御部４２は、テストエントリ制御信号ＴＥＮが入力されると、電流生成回路３８にテストエントリ信号ＴＥＮを出力する。電流生成回路３８は、テストエントリ制御信号ＴＥＮに応答して、所定の動作電流を生成してグランド端子１５に出力する。ここで、正規カートリッジ２の動作電流が低下するようなイベントでテストエントリ信号ＴＥＮが出力される。また、アドレス・コマンド制御部４２は、テストエントリ信号ＴＥＮに応答して、一時的に動作電流を低下させるようなモード（たとえばパワーダウンモード）に移行する。そうすることで、電流生成回路３８により生成された動作電流にアドレス・コマンド制御部４２等の動作電流が加算されることなく、ゲーム機４の電流測定部３６に入力される。
【００６３】
一方、電流測定部３６では、電流生成回路３８により生成される電流より小さく、かつ不正カートリッジ１０２の動作電流より大きい基準電流を設定しておく。そして、電流測定部３６は、テストエントリ信号ＴＥＮが入力されると、これに応答して、正規カートリッジ２から入力される電流が基準電流より大きいか、小さいかを測定する。そして、電流測定部３６に入力される電流が基準電流より大きいとき、つまり入力される電流が期待電流であるときには、電流測定部３６は正規カートリッジ２が接続されたことを示す判定信号Ｊｕｄｇｅを出力する。よって、このとき、アドレス・コマンド制御部３４は、通常動作を実行する。
【００６４】
ここで、不正カートリッジ１０２は、テストエントリ制御信号ＴＥＮに応答して所定の動作電流を出力する構成を有さないので、不正カートリッジ１０２が接続されたときには、電流測定部３６には、基準電流より小さい動作電流が入力される。よって、このとき、電流測定部３６は、不正カートリッジ２が接続されたことを示す判定信号Ｊｕｄｇｅを出力する。すると、アドレス・コマンド制御部３４は、不正カートリッジ１０２に対する通常動作を中止するとともに、エラー信号ＥＲＲを出力し、メイン制御部１２に不正動作時の動作を実行させる。
【００６５】
図１０は、電流生成回路３８の構成例を説明する図である。電流生成回路３８は、テストエントリ制御信号ＴＥＮがゲートに入力され、ドレイン側が電源電圧ＶＤＤ、ソース側がグランド電位ＶＳＳに接続されるＦＥＴ（電界効果型トランジスタ）３９を有する。この電流生成回路３８では、Ｈレベルのテストエントリ制御信号ＴＥＮがＦＥＴ３９のゲートに入力されると、電源電圧ＶＤＤとＦＥＴ３９の抵抗値に応じた、たとえば数十〜数百ｍＡのドレイン−ソース電流Ｉ２が流れる。よって、ゲーム機４のグランド端子１５に、電流Ｉ２が入力される。
【００６６】
図１１は、第３実施例における電流測定部３６の構成例を示す。電流測定部３６は、電圧比較器３７aを有する。電圧比較器３７aの反転入力端子は接続端子Ｎ１と接続される。接続端子Ｎ１にはグランド端子１５が接続され、電流生成回路３８から出力された電流Ｉ２が入力される。接続端子Ｎ１とグランド電位ＶＳＳの間には、抵抗Ｒ２が設けられる。
【００６７】
上記の構成において、電流Ｉ２と抵抗Ｒ２の抵抗値とに応じた接続端子Ｎ１の電圧Ｖ（ａ）が、電圧比較器３７ａの反転入力端子に入力される。電圧比較器３７ａの非反転入力端子には、基準電圧Ｖｒｅｆ２が入力される。電圧比較器３７ａは、反転入力端子に入力される電圧Ｖ（ａ）の方が基準電圧Ｖｒｅｆ２より小さければ、Ｈレベルの判定信号Ｊｕｄｇｅを出力する。一方、反転入力端子に入力される電圧の方が基準電圧Ｖｒｅｆ２より大きければ、Ｌレベルの判定信号Ｊｕｄｇｅを出力する。ここで、抵抗Ｒ２の抵抗値に対し、接続端子Ｎ１の電圧Ｖ（ａ）が基準電圧Ｖｒｅｆ２と一致するような電流が基準電流に対応する。
【００６８】
上記の構成によれば、接続端子Ｎ１に基準電流より大きい動作電流Ｉ２が入力されたとき、つまり動作電流が期待電流のときには、正規カートリッジ２が接続されたことを示すＬレベルの判定信号Ｊｕｄｇｅが出力される。すると、アドレス・コマンド制御部３４は、Ｌレベルの判定信号Ｊｕｄｇｅに応答して、通常動作を実行する。一方、基準電流より小さい動作電流が入力されたとき、つまり動作電流が期待電流ではないときには、不正カートリッジ１０２が接続されたことを示すＨレベルの判定信号Ｊｕｄｇｅが出力される。すると、アドレス・コマンド制御部３４は、Ｈレベルの判定信号Ｊｕｄｇｅに応答して、通常動作の実行を中止し、エラー信号ＥＲＲを出力してメイン制御部１２に不正動作時の動作を実行させる。
【００６９】
図１２は、第３実施例におけるゲーム機４の動作を説明する図である。図１２は、第２実施例における図７と手順Ｓ２４ａとＳ２６ａが異なるが、他の手順は図７と同じである。図１３は、第３実施例において、アドレス・コマンド制御部３４に入出力される各信号の例を示す図である。図１３には、横軸を時間軸として、アドレス・コマンド制御部３４から出力されるクロック信号ＣＬＫ、イベントＥＶＴとこれに応答してメイン制御部１２から電流測定部３６及びアドレス・コマンド制御部３４に入力されるテストエントリ信号ＴＥＮ、電流測定部３６からアドレス・コマンド制御部３４に入力される判定信号Ｊｕｄｇｅ、及びアドレス・コマンド制御部３４からメイン制御部１２に入力されるエラー信号ＥＲＲが示される。また、図１３では、図１２の手順に対応するタイミングには図１２と同じ符号が付してある。
【００７０】
図１２に従い、図１３を参照しつつゲーム機４の動作を説明する。メイン制御部１２は、通常動作行っているときに（Ｓ２０）、イベントＥＶＴが発生すると（Ｓ２２）、テストエントリ信号ＴＥＮを出力する（Ｓ２４ａ）。すると、電流測定部３６は、手順Ｓ２６ａで、動作電流が基準電流より大きいか小さいかを測定する。具体的には、電流測定部３６は、接続端子Ｎ１の電圧Ｖ（ａ）を基準電圧Ｖｒｅｆ２と比較し、Ｖｒｅｆ２より大きいとき（Ｓ２６ａの「Ｖ（ａ）＞Ｖｒｅｆ２」）、つまり電流Ｉ２が基準電流より大きい期待電流であるときに、Ｌレベルの判定信号Ｊｕｄｇｅを出力する（Ｓ２８）。アドレス・コマンド制御部３４は、これに応答して、継続して通常動作を実行する（Ｓ３０）。一方、接続端子Ｎ１の電圧Ｖ（ａ）が基準電圧Ｖｒｅｆ２より小さいとき（Ｓ２６ａの「Ｖ（ａ）＜Ｖｒｅｆ２」）、つまり電流Ｉ２が基準電流より小さく、期待電流でないときには、Ｈレベルの判定信号Ｊｕｄｇｅを出力する（Ｓ３２）。アドレス・コマンド制御部３４は、これに応答して、不正カートリッジ１０２に対するデータの読み書きを中止し、エラー信号ＥＲＲをメイン制御部１２に出力する（Ｓ３４）。そして、メイン制御部１２は、警告の表示や音声出力など不正動作時の動作を実行する（Ｓ３６）。
【００７１】
上記のような手順により、電流生成回路を有さない不正カートリッジを確実に判別でき、不正カートリッジ１０２による正規ゲームプログラムの取得や、不正カートリッジ１０２による不正ゲームプログラムの実行を防止できる。
【００７２】
［第４実施例］
第４実施例は、上述した第１実施例と第３実施例を組み合わせた実施例である。第４実施例では、複数のタイミングで正規カートリッジ２または不正カートリッジ１０２から入力される動作電流が、期待電流か否か判定される。そして、それぞれのタイミングで、期待電流が異なる。
【００７３】
第４実施例は、図９で示したゲーム機４と正規カートリッジ２の要部の構成が適用される。また、第４実施例では、電流測定部３６は、第１実施例での構成と第３実施例での構成との組合せにより構成される。たとえば、電流測定部３６は、まず、ゲーム機４起動時のリセット信号ＲＥＳＥＴ解除時の動作電流が基準電流より大きいか小さいかを測定し、次に、テストエントリ信号ＴＥＮ出力時の動作電流が基準電流より大きいか小さいかを測定する。そして、それぞれの場合の測定結果に応じて、アドレス・コマンド制御部３４は、通常動作の実行／中止を行う。
【００７４】
図１４は、第４実施例における電流測定部３６の構成について説明する図である。電流測定部３６は、グランド端子１５に接続される接続端子Ｎ１と、接続端子Ｎ１と接続される第１の電流測定部３６ａ、第２の電流測定部３６ｂと、テストエントリ制御信号ＴＥＮが入力されてその反転信号を出力するインバータ４３と、電流測定部３６ａの出力信号Ｍｏｕｔ１とインバータ４３の出力信号とが入力されるＡＮＤ回路４１と、電流測定部３６ｂの出力信号Ｍｏｕｔ２とテストエントリ制御信号ＴＥＮとが入力されるＡＮＤ回路４２と、ＡＮＤ回路４１、４２の出力信号Ｊｉｎ１、Ｊｉｎ２が入力されるＯＲ回路４４とを有する。
【００７５】
電流測定部３６ａは、第１実施例における電流測定部３６に対応し、待機電流を測定するための構成を有する。たとえば、電流測定部３６ａでは、非反転入力端子に接続端子Ｎ１の電圧Ｖ（ａ）が入力され、反転入力端子には基準電圧Ｖｒｅｆ１が入力される。一方、電流測定部３６ｂは、第３実施例における電流測定部３６に対応し、電流生成回路３８による動作電流を測定するための構成を有する。よって、電流測定部３６ｂには、電流測定部３６ａの基準電流より大きい基準電流が設定される。電流測定部３６ｂでは、反転入力端子に接続端子Ｎ１の電圧Ｖ（ａ）が入力され、非反転入力端子には基準電圧Ｖｒｅｆ２（＞Ｖｒｅｆ１）が入力される。
【００７６】
上記のような構成において、まず、テストエントリ制御信号ＴＥＮがＬレベルのとき、つまり、正規カートリッジ２が接続された場合であってもその電流生成回路３８が動作しないときには、電流測定部３６は、リセット信号ＲＥＳＥＴ解除時に測定を行う。すなわち、電流測定部３６は、グランド端子１５を介して接続端子Ｎ１に入力される待機電流が基準電流より大きいか小さいか測定する。
【００７７】
テストエントリ制御信号ＴＥＮがＬレベルのとき、インバータ４３が出力する反転信号はＨレベルとなる。よって、ＡＮＤ回路４１には、電流測定部３６ａの出力信号Ｍｏｕt１と、Ｈレベルの反転信号が入力される。よって、ＡＮＤ回路４０からは、電流測定部３６ａの出力信号Ｍｏｕｔ１に対応するレベルの出力信号Ｊｉｎ１が出力される。一方、ＡＮＤ回路４２には電流測定部３６ｂの出力信号Ｍｏｕt２とＬレベルのテストエントリ信号ＴＥＮとが入力されるので、Ｌレベルの出力信号Ｊｉｎ２が出力される。よって、ＯＲ回路４４は、ＡＮＤ回路４１の出力信号Ｊｉｎ１とＡＮＤ回路４２のＬレベルの出力信号Ｊｉｎ２が入力され、その論理和、つまりＡＮＤ回路４１の出力信号Ｊｉｎ１のレベルに対応したレベルの判定信号Ｊｕｄｇｅが出力される。つまり、このとき、電流測定部３６ａによる測定結果が用いられる。
【００７８】
ここで、正規カートリッジ２が接続されたときには、基準電流より小さい待機電流が動作電流として入力されるので、接続端子Ｎ１の電圧Ｖ（ａ）が電流測定部３６ａの基準電圧Ｖｒｅｆ１より小さくなり、電流測定部３６ａからＬレベルの出力信号Ｍｏｕｔ１が出力される。よって、このとき、正規カートリッジ２が接続されたことを示すＬレベルの判定信号Ｊｕｄｇｅが電流測定部３６から出力される。一方、不正カートリッジ１０２が接続されたときには、基準電流より大きい待機電流が動作電流として入力されるので、接続端子Ｎ１の電圧Ｖ（ａ）が電流測定部３６ａの基準電圧Ｖｒｅｆ１より大きくなり、電流測定部３６ａからＨレベルの出力信号Ｍｏｕｔ１が出力される。よって、このとき、不正カートリッジ１０２が接続されたことを示すＨレベルの判定信号Ｊｕｄｇｅが電流測定部３６から出力される。
【００７９】
次に、テストエントリ制御信号ＴＥＮがＨレベルのとき、つまり、正規カートリッジ２が接続されていればその電流生成回路３８が動作するときには、電流測定部３６は、正規カートリッジ２または不正カートリッジ１０２が出力する電流を用いて、正規カートリッジ２または不正カートリッジ１０２を判別する。テストエントリ制御信号ＴＥＮがＨレベルのとき、インバータ４３の反転出力信号はＬレベルとなる。よって、ＡＮＤ回路４０には電流測定部３６ａの出力信号Ｍｏｕt１とＬレベルの反転信号が入力され、Ｌレベルの出力信号Ｊｉｎ１が出力される。一方、ＡＮＤ回路４２には、Ｈレベルのテストエントリ信号ＴＥＮと電流測定部３６ｂの出力信号Ｍｏｕｔ２が入力される。よって、ＡＮＤ回路４２は、電流測定部３６ｂの出力信号Ｍｏｕｔ２のレベルに対応するレベルの出力信号Ｊｉｎ２を出力する。よって、ＯＲ回路４４は、ＡＮＤ回路４１のＬレベルの出力信号Ｊｉｎ１とＡＮＤ回路４２の出力信号Ｊｉｎ２が入力され、その論理和、つまりＡＮＤ回４２の出力信号Ｊｉｎ２のレベルに対応したレベルの判定信号Ｊｕｄｇｅが出力される。つまり、このとき、電流測定部３６ｂによる測定結果が用いられる。
【００８０】
ここで、正規カートリッジ２が接続されたときには、基準電流より大きい電流が入力されるので、接続端子Ｎ１の電圧Ｖ（ａ）が電流測定部３６ｂの基準電圧Ｖｒｅｆ２より大きくなり、電流測定部３６ｂからＬレベルの出力信号Ｍｏｕｔ２が出力される。よって、このとき、正規カートリッジ２が接続されたことを示すＬレベルの判定信号Ｊｕｄｇｅが電流測定部３６から出力される。一方、不正カートリッジ１０２が接続されたときには、基準電流より小さい電流が入力されるので接続端子Ｎ１の電圧Ｖ（ａ）が電流測定部３６ｂの基準電圧Ｖｒｅｆ２より小さくなり、電流測定部３６ｂからＨレベルの出力信号Ｍｏｕｔ２が出力される。よって、このとき、不正カートリッジ１０２が接続されたことを示すＨレベルの判定信号Ｊｕｄｇｅが電流測定部３６から出力される。
【００８１】
図１５は、第４実施例におけるゲーム機４の動作を説明する図である。図１５では、手順Ｓ２〜Ｓ１０及び手順Ｓ１２〜Ｓ１６が、図４で示した第１実施例における手順に対応し、手順Ｓ２２以降が、図７で示した第３実施例における手順のうちの手順Ｓ２２以降に対応する。図１６は、第４実施例において、アドレス・コマンド制御部３４に入出力される各信号の例を示す図である。図１６には、横軸を時間軸として、アドレス・コマンド制御部３４から出力されるクロック信号ＣＬＫ、メイン制御部１２から電流測定部３６及びアドレス・コマンド制御部３４に入力されるリセット信号ＲＥＳＥＴ、イベントＥＶＴが発生したときにメイン制御部１２から電流測定部３６及びアドレス・コマンド制御部３４に入力されるテストエントリ信号ＴＥＮ、電流測定部３６からアドレス・コマンド制御部３４に入力される判定信号Ｊｕｄｇｅ、及びアドレス・コマンド制御部３４からメイン制御部１２に入力されるエラー信号ＥＲＲが示される。また、図１６では、図１５の手順に対応するタイミングには図１５と同じ符号が付してある。
【００８２】
図１５に従い、図１６を参照しつつゲーム機４の動作を説明する。ユーザが電源スイッチをオンしたり、ゲーム機４の蓋を開けたりすることで、ゲーム機４に電源が投入される（Ｓ２）。すると、メイン制御部１２は、リセット信号ＲＥＳＥＴを出力し、これを解除する（Ｓ４）。すると、電流測定部３６は、手順Ｓ６で動作電流が基準電流より大きいか小さいかを測定する。具体的には、電流測定部３６は、接続端子Ｎ１の電圧Ｖ（ａ）が電流測定部３６ａの基準電圧Ｖｒｅｆ１より小さいとき（Ｓ６の「Ｖ（ａ）＜Ｖｒｅｆ１」）、つまりカートリッジから入力される電流が基準電流より小さい期待電流であるときに、Ｌレベルの判定信号Ｊｕｄｇｅを出力する（Ｓ８）。アドレス・コマンド制御部３４は、これに応答して、通常動作を実行する（Ｓ１０）。一方、接続端子Ｎ１の電圧Ｖ（ａ）が基準電圧Ｖｒｅｆ１より大きいとき（Ｓ６の「Ｖ（ａ）＞Ｖｒｅｆ１」）、つまりカートリッジから入力される電流が基準電流より大きく、期待電流でないときには、Ｈレベルの判定信号Ｊｕｄｇｅを出力する（Ｓ１２）。アドレス・コマンド制御部３４は、これに応答して、不正カートリッジ１０２に対するデータの読み書きを中止し、エラー信号ＥＲＲをメイン制御部１２に出力する（Ｓ１４）。そして、メイン制御部１２は、不正動作時の動作を実行する（Ｓ１６）。
【００８３】
そして、メイン制御部１２は、通常動作を実行しているときにイベントＥＶＴが発生すると（Ｓ２２）、テストエントリ信号ＴＥＮを出力する（Ｓ２４ａ）。すると、電流測定部３６は、手順Ｓ２６ａで動作電流が基準電流より大きいか小さいかを測定し、接続端子Ｎ１の電圧Ｖ（ａ）が電流測定部３６ｂの基準電圧Ｖｒｅｆ２より大きいとき（Ｓ２６ａの「Ｖ（ａ）＞Ｖｒｅｆ２」）、つまりカートリッジから入力される動作電流が基準電流より大きい期待電流であるときに、Ｌレベルの判定信号Ｊｕｄｇｅを出力する（Ｓ２８）。アドレス・コマンド制御部３４は、これに応答して、通常動作を継続して実行する（Ｓ３０）。一方、接続端子Ｎ１の電圧Ｖ（ａ）が基準電圧Ｖｒｅｆ２より小さいとき（Ｓ２６ａの「Ｖ（ａ）＜Ｖｒｅｆ２」）、つまりカートリッジから入力される電流が基準電流より小さく、期待電流でないときには、Ｈレベルの判定信号Ｊｕｄｇｅを出力する（Ｓ３２）。アドレス・コマンド制御部３４は、これに応答して、不正カートリッジ１０２に対する通常動作を中止し、エラー信号ＥＲＲをメイン制御部１２に出力する（Ｓ３４）。そして、メイン制御部１２は、不正動作時の動作を実行する（Ｓ３６）。
【００８４】
このようにして、第４実施例では、複数のタイミングで正規カートリッジ２または不正カートリッジ１０２の電流が期待電流か否かを判定するので、正規カートリッジ２または不正カートリッジ１０２を判別するためのより多くの機会を確保できる。そして、それぞれのタイミングで異なる基準電流を用いることで、より確実に不正カートリッジ１０２を判別することができる。
【００８５】
このように、第４実施例によれば、複数のタイミングにおいて動作電流を測定するので、正規カートリッジ２または不正カートリッジ１０２を判別するためのより多くの機会を確保できる。そして、それぞれのタイミングで異なる基準電流を用いることで、より確実に不正カートリッジ１０２を判別することができる。
【００８６】
なお、上述の説明では第１、第３実施例の組合せによる第４実施例を示したが、第１〜第３実施例は、それぞれ単独で実施することもできるし、いずれか２つ以上の組合せにより実施することもできる。たとえば、第２、第３実施例の組合せにおいて、パワーダウンモード時の動作電流を電流測定部３６ａで判定し、テストエントリ制御信号ＴＥＮ出力時の動作電流を電流測定部３６ｂで判定してもよい。あるいは、第１〜第３実施例のすべての組合せにおいて、電流測定部３６ａを２つ設け、それぞれで異なる基準電流を設定してもよい。たとえば、リセット信号ＲＥＳＥＴ解除時に待機電流が第１の基準電流より大きいか小さいかを測定し、その後、パワーダウン制御信号ＰＤ出力時に動作電流が第２の基準電流（第１の基準電流より小さい）より大きいか小さいかを測定し、さらに、別のタイミングでテストエントリ制御信号ＴＥＮを出力して、そのときの動作電流を電流測定部３６ｂで測定してもよい。このようにすることで、さらに多くのタイミングと基準電流の組合せにより、で不正カートリッジ１０２をより確実に判別できる。
【００８７】
［第５実施例］
第５実施例は、電流測定部３６の変形例に関する。第５実施例は、上述した第１〜第４実施例のいずれかとともに実施できる。ここでは、第１実施例とともに実施する場合について説明する。
【００８８】
図１７は、第５実施例におけるゲーム機４と正規カートリッジ２の要部の構成を説明する図である。図１７の構成のうち、第１実施例における図２の構成と同じ構成には同じ符号が付してある。ここでは、第１実施例と異なる点について説明する。
【００８９】
第５実施例では、電流測定部３６は、ＡＤコンバータを有する。メイン制御部１２は、たとえば、所定のイベントが発生したときに、電流値を要求するための制御信号Ｉｒｅｑをアドレス・コマンド制御部３４に入力する。すると、アドレス・コマンド制御部３４は、制御信号Ｉｒｅｑを電流測定部３６に入力する。
【００９０】
電流測定部３６は、制御信号Ｉｒｅｑに応答して、入力される動作電流に応じた電圧をデジタル値に変換し、動作電流の電流値を示す電流値信号ＩＯＵＴとしてアドレス・コマンド制御部３４に入力する。ここでは、電流測定部３６は、その分解能に応じた精度で動作電流の電流値を測定し、電流値を示す電流値信号ＩＯＵＴを出力する。
【００９１】
アドレス・コマンド制御部３４は、期待電流に対応する電流値信号ＩＯＵＴが入力されたとき、つまり正規カートリッジ２が接続されたときには、通常動作を実行する。期待電流は、たとえばリセット信号ＲＥＳＥＴ解除時であれば待機電流である。あるいは、第２、第３実施例との組合せの場合、パワーダウンモード時の動作電流や、電流生成回路３８により生成される電流であってもよい。一方、アドレス・コマンド制御部３４は、期待電流に対応する信号ＩＯＵＴが入力されないとき、つまり不正カートリッジ１０２が接続されたときには、通常動作を中止し、不正時の動作をメイン制御部１２に実行させるためのエラー信号ＥＲＲを出力する。
【００９２】
このような第５実施例では、基準電流に対する動作電流の大小により動作電流が期待電流か否かを判定する場合より、精度よく動作電流が期待電流と一致するか否かを判定することができ、したがって正規カートリッジ２または不正カートリッジ１０２を判別することができる。また、複数のタイミングで異なる期待電流か否かを判定する場合、電流測定部３６の分解能に応じ、電流値が期待電流と一致するか否かを判定することができる。よって、たとえば第４実施例で示した電流測定部３６の場合より精度良く判定が行える。
【００９３】
図１８は、第５実施例におけるゲーム機４の動作を説明する図である。図１９は、第５実施例において、アドレス・コマンド制御部３４に入出力される各信号の例を示す図である。図１９には、横軸を時間軸として、アドレス・コマンド制御部３４から出力されるクロック信号ＣＬＫ、メイン制御部１２から電流測定部３６及びアドレス・コマンド制御部３４に入力される電流要求信号Ｉｒｅｑ、電流測定部３６からアドレス・コマンド制御部３４に入力される信号ＩＯＵＴ、及びアドレス・コマンド制御部３４からメイン制御部１２に入力されるエラー信号ＥＲＲが示される。また、図１９では、図１８の手順に対応するタイミングには図１８と同じ符号が付してある。
【００９４】
図１８に従い、図１９を参照しつつゲーム機４の動作を説明する。アドレス・コマンド制御部３４は、電源が投入されて（Ｓ４０）通常動作行っているときに（Ｓ４２）、メイン制御部１２から制御信号Ｉｒｅｑが入力されて電流値が要求されると、これを電流測定部３６に入力する（Ｓ４４）。すると、電流測定部３６はこれに応答して電流値を示す信号ＩＯＵＴを出力するので、アドレス・コマンド制御部３４は信号ＩＯＵＴにより電流値を取得する（Ｓ４６）。そして、アドレス・コマンド制御部３４は、電流値が期待電流と一致するときには（Ｓ４８の「一致」）、通常動作を実行する（Ｓ５２）。一方、期待電流と不一致のときには（Ｓ４８の「不一致」）、アドレス・コマンド制御部３４は、不正カートリッジ１０２に対する通常動作を中止し、エラー信号ＥＲＲをメイン制御部１２に出力する（Ｓ５４）。そして、メイン制御部１２は、不正動作時の動作を実行する（Ｓ５６）。
【００９５】
上記のような手順により、確実に正規カートリッジ２または不正カートリッジ１０２を判別することができる。よって、不正カートリッジ１０２による正規ゲームプログラムの取得や、不正カートリッジ１０２による不正ゲームプログラムの実行を防止できる。
【００９６】
また、第５実施例の変形例では、第３実施例のような電流生成回路３８を正規カートリッジ２に設けておき、テストエントリ信号ＴＥＮにより所定の動作電流を出力させ、これが期待電流と一致するか否かにより正規カートリッジ２または不正カートリッジ１０２を判別してもよい。その場合において、判別のタイミングごとに異なる期待電流を用いても良い。たとえば、リセット信号ＲＥＳＥＴ解除時と、所定のイベントが発生したときに電流値を取得するようにした場合、リセット信号ＲＥＳＥＴ解除時に動作電流として取得する待機電流と、イベント発生時にテストエントリ信号ＴＥＮを出力して取得する動作電流とで異なる期待電流を用いることができる。たとえば、アドレス・コマンド制御部３４は、それぞれのタイミングで異なる期待電流を用いて、電流値がこれと一致するか否かの判断を行う。さらに、電流生成回路３８を、テストエントリ信号ＴＥＮのレベルやデジタル値に応じて異なる電流を生成するように構成しておき、テストエントリ信号ＴＥＮごとに、取得する電流とこれに対する基準電流とを変更してもよい。そうすることで、期待電流と判別のタイミングの組合せ数を増加させることができる。よって、より高い確度で、正規カートリッジ２または不正カーとリッジ１０２を判別することができる。
【００９７】
上述したとおり、本実施形態によれば、不正カートリッジによる正規ゲームプログラムの取得や、不正カートリッジによる不正ゲームプログラムの実行を防止できる。
【００９８】
なお、上述において、ゲーム機とカートリッジを例として説明したが、本実施形態は、かかる例に限定されない。たとえば、認証情報を格納したＳＩＭカード（記憶装置）と、認証成功時に所定の動作を行う携帯電話機（情報処理装置）にも、本実施形態は適用できる。
【００９９】
以上の実施の形態をまとめると、次の付記のとおりである。
【０１００】
（付記１）
記憶装置の内部回路に電源電圧を供給する電源端子と、
前記内部回路に接続されるグランド端子と、
前記グランド端子に入力される前記内部回路の動作電流を測定する電流測定部と、
前記動作電流が期待電流であるときに前記記憶装置へのデータの入出力を実行し、前記動作電流が前記期待電流でないときに前記記憶装置へのデータの入出力を実行しない記憶制御部とを有する情報処理装置。
【０１０１】
（付記２）
付記１において、
前記動作電流が前記期待電流でないときに、警告を示す情報を出力する情報処理装置。
【０１０２】
（付記３）
付記１または２において、
前記電流測定部は、前記内部回路が前記記憶装置内の記憶媒体にデータの読み出しまたは書き込みを開始する前に、前記動作電流を測定する情報処理装置。  
【０１０３】
（付記４）
付記１または２において、
前記記憶制御部は前記記憶装置に前記期待電流に対応する前記動作電流を出力させるための制御信号を前記記憶装置に出力し、
前記電流測定部は、前記記憶制御部が前記制御信号を前記記憶装置に出力したときに前記動作電流を測定する情報処理装置。
【０１０４】
（付記５）
付記４において、
前記制御信号は、前記記憶装置に前記動作電流を低下させるためのパワーダウン制御信号であり、
前記電流測定部は、前記記憶装置が前記パワーダウン制御信号に応答して出力する前記動作電流を測定する情報処理装置。
【０１０５】
（付記６）
付記４において、
前記制御信号は、前記記憶装置に所定の動作電流を生成させるためのテストエントリ制御信号であり、
前記電流測定部は、前記記憶装置が前記テストエントリ制御信号に応答して出力する前記動作電流を測定する情報処理装置。
【０１０６】
（付記７）
付記１または２において、
前記期待電流は、前記動作電流が入力されるタイミングに応じて異なる情報処理装置。
【０１０７】
（付記８）
付記１乃至７のいずれかにおいて
前記電流測定部は、前記動作電流が前記期待電流の大きさを示す電流値信号を前記記憶制御部に出力し、
前記記憶制御部は、前記電流値信号が前記期待電流に対応するときに前記記憶装置へのデータの入出力を実行し、前記電流値信号が前記期待電流に対応しないときに前記記憶装置へのデータの入出力を実行しない情報処理装置。
【０１０８】
（付記９）
付記４において、
前記記憶装置にはゲームプログラムが格納され、
前記記憶制御部は、前記記憶装置から前記ゲームプログラムを読み出し、前記ゲームプログラムの実行中に所定のイベントが発生したときに、前記制御信号を前記記憶装置に出力する情報処理装置。
【符号の説明】
【０１０９】
２：正規カートリッジ、  ４：ゲーム機、  １０：記憶制御部、  １１：接続部、
１２：メイン制御部、  １３：電源端子、１５：グランド端子、３６：電流測定部、
３８：電流生成回路、１０２：不正カートリッジ
【図１】
2012059104.tif 000003
【図２】
2012059104.tif 000004
【図３】
2012059104.tif 000005
【図４】
2012059104.tif 000006
【図５】
2012059104.tif 000007
【図６】
2012059104.tif 000008
【図７】
2012059104.tif 000009
【図８】
2012059104.tif 000010
【図９】
2012059104.tif 000011
【図１０】
2012059104.tif 000012
【図１１】
2012059104.tif 000013
【図１２】
2012059104.tif 000014
【図１３】
2012059104.tif 000015
【図１４】
2012059104.tif 000016
【図１５】
2012059104.tif 000017
【図１６】
2012059104.tif 000018
【図１７】
2012059104.tif 000019
【図１８】
2012059104.tif 000020
【図１９】
2012059104.tif 000021