(57)【要約】【課題】カートリッジに記録されたプログラムについての不正なコピーを確実に抑制する。【解決手段】ゲーム装置１のＣＰＵ１０は、ゲームカートリッジ４０のメモリ４１の一部に記憶されたゲーム用プログラムを実行する。メモリ４１には、ゲーム用プログラムとフェイクプログラムが記憶されている。ＣＰＵ１０が当該プログラムを実行する際、ゲームカートリッジ４０からゲーム装置１へは、フェイクプログラムも含めたプログラムが送られるが、ＣＰＵ１０は、上記したメモリ４１の一部に記憶されたデータのみを実行する。【選択図】図１
2009193132.tif 000002
【特許請求の範囲】
【請求項１】
カートリッジと、前記カートリッジを着脱可能に取り付けられる情報処理端末とを備える情報処理システムであって、
前記カートリッジは、プログラムを記録する記録手段を含み、
前記記憶手段は、
複数の記憶領域を含み、
前記プログラムを前記複数の記憶領域の中の一部の記憶領域にのみ記憶し、
前記情報処理端末は、前記記憶手段から読み込んだデータの中の前記一部の記憶領域に記憶されたデータのみを実行するプログラム実行手段を含む、情報処理システム。
【請求項２】
情報処理端末に着脱可能に取り付けられるカートリッジであって、
プログラムを記録する記録手段を備え、
前記記憶手段は、
複数の記憶領域を含み、
前記プログラムを前記複数の記憶領域の中の一部の記憶領域にのみ記憶し、
前記プログラムは、前記情報処理端末に、前記記憶手段から読み込んだデータの中の前記一部の記憶領域に記憶されたデータのみを実行させる、カートリッジ。
【請求項３】
前記複数の記憶領域は、前記情報処理端末によって互いに独立して情報の読み込みおよび書き込みが可能な記憶領域である、請求項２に記載のカートリッジ。
【請求項４】
カートリッジを着脱可能に取り付けられる情報処理端末であって、
前記カートリッジは、プログラムを記録する記録手段を備え、
前記記憶手段は、複数の記憶領域を含み、前記プログラムを前記複数の記憶領域の中の一部の記憶領域にのみ記憶し、
前記プログラムを実行する場合、前記記憶手段から読み込んだデータの中の前記一部の記憶領域に記憶されたデータのみを実行するプログラム実行手段を備える、情報処理端末。
【請求項５】
前記記憶手段に記憶されたデータを読み込み読込手段と、
前記読込手段が読み込んだデータをデコードするデコーダとをさらに備え、
前記プログラム実行手段は、前記読込手段が前記一部の記憶領域に記憶されたデータを読み込んだ場合にのみ前記デコーダのデコード機能を有効とする、請求項４に記載の情報処理端末。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、カートリッジに記録されたプログラムの実行に関し、特に、カートリッジに記録されたプログラムの不正コピーを抑制するための情報処理システム、カートリッジ、および、情報処理端末に関する。
【背景技術】
【０００２】
近年、各種の情報端末機器の発達から、ゲーム機用メモリカートリッジや映像用ストレージメモリ、音楽用ストレージ、メモリカード、ＩＣ（Integrated Circuit）カード等の記憶装置が市場において大量に流通している。このような記憶装置には、著作権で保護されるべき情報や、個人のプライバシーに係る情報など、第三者による無断の読出しや複製が好ましくないデータが含まれている場合も多い。このため、従来から、記憶装置からの情報の読出しや複製を規制するため、当該記憶装置を制御する周辺機器に対し、セキュリティ回路やダミーデータを発生させる回路を組込む技術が種々提案されてきた。
【０００３】
たとえば、特開２００２−２２９８５５号公報（特許文献１）には、半導体記憶装置（たとえば、ゲームのプログラムを記憶したカートリッジ等）が開示されており、当該半導体記憶装置では、プログラムＲＯＭ（read only memory）がプログラムデータ記憶領域とダミーデータ記憶領域を含み、フラッシュメモリがプログラムデータ記憶領域とダミーアドレス記憶領域を含み、そして、外部から読み出しのために入力されたアドレスがダミーアドレスと比較され、一致したときはカートリッジのプログラムＲＯＭから携帯ゲーム機へのプログラムデータの読出しが禁止され、一致しなかったときはプログラムデータの読出しが許容される。
【特許文献１】特開２００２−２２９８５５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
従来において、たとえば特許文献１に開示された技術では、半導体記憶装置からデータを吸い上げられても、当該プログラムのデータがそっくりそのままコピーされることを回避することができる。しかしながら、半導体記憶装置と当該半導体記憶装置からデータを読み出す装置との間にデータ吸出し用の装置等が接続された場合には、半導体記憶装置に記憶されたプログラムのデータの吸出しが可能となるおそれがある。特許文献１に開示された技術では、半導体記憶装置からデータを読み出す装置へは、プログラムのデータそのものが送られることとなるからである。
【０００５】
本発明は、かかる実情に鑑み考え出されたものであり、その目的は、カートリッジ等の記録媒体に記録されたプログラムについての不正なコピー動作を確実に抑制する、情報処理システム、カートリッジ、および、情報処理端末を提供することである。
【課題を解決するための手段】
【０００６】
本発明に従った情報処理システムは、カートリッジと、前記カートリッジを着脱可能に取り付けられる情報処理端末とを備える情報処理システムであって、前記カートリッジは、プログラムを記録する記録手段を含み、前記記憶手段は、複数の記憶領域を含み、前記プログラムを前記複数の記憶領域の中の一部の記憶領域にのみ記憶し、前記情報処理端末は、前記記憶手段から読み込んだデータの中の前記一部の記憶領域に記憶されたデータのみを実行するプログラム実行手段を含む、情報処理システム。
【０００７】
本発明に従ったカートリッジは、情報処理端末に着脱可能に取り付けられるカートリッジであって、プログラムを記録する記録手段を備え、前記記憶手段は、複数の記憶領域を含み、前記プログラムを前記複数の記憶領域の中の一部の記憶領域にのみ記憶し、前記プログラムは、前記情報処理端末に、前記記憶手段から読み込んだデータの中の前記一部の記憶領域に記憶されたデータのみを実行させることを特徴とする。
【０００８】
また、本発明のカートリッジは、前記複数の記憶領域は、前記情報処理端末によって互いに独立して情報の読み込みおよび書き込みが可能な記憶領域であることが好ましい。
【０００９】
本発明に従った情報処理端末は、カートリッジを着脱可能に取り付けられる情報処理端末であって、前記カートリッジは、プログラムを記録する記録手段を備え、前記記憶手段は、複数の記憶領域を含み、前記プログラムを前記複数の記憶領域の中の一部の記憶領域にのみ記憶し、前記プログラムを実行する場合、前記記憶手段から読み込んだデータの中の前記一部の記憶領域に記憶されたデータのみを実行するプログラム実行手段を備えることが好ましい。
【００１０】
また、本発明の情報処理端末は、前記記憶手段に記憶されたデータを読み込み読込手段と、前記読込手段が読み込んだデータをデコードするデコーダとをさらに備え、前記プログラム実行手段は、前記読込手段が前記一部の記憶領域に記憶されたデータを読み込んだ場合にのみ前記デコーダのデコード機能を有効とすることが好ましい。
【発明の効果】
【００１１】
本発明によれば、カートリッジの記憶手段において、その一部の記憶領域に情報処理端末において実行されるべきプログラムを、その他の記憶領域にフェイクのプログラムを記憶させておくことができる。また、カートリッジから情報処理端末へは、当該情報処理端末において実行されるべきプログラムとフェイクのプログラムの双方が送られる。そして、情報処理端末では、当該情報処理端末で実行されるべきプログラムの記憶領域が記憶されたデータを読み取るタイミングでのみ、デコード機能が有効にされる。
【００１２】
したがって、本発明によれば、カートリッジから情報処理端末へは情報処理端末において実行されるべきプログラムだけでなくフェイクのプログラムも送られ、かつ、情報処理端末では、前者のプログラムのみが選択的にデコードされて実行の対象とされる。
【００１３】
これにより、情報処理端末において適切にプログラムを実行することができる上に、カートリッジに記録されたプログラムについての不正なコピー動作を確実に抑制することができる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の実施の形態である情報処理システムについて、図面を参照して説明を行なう。
【００１５】
［情報処理システムの概略構成］
図１は、本発明の情報処理システムの一実施の形態であるゲーム処理システムのハードウェア構成を模式的に示す図である。ゲーム処理システムは、主に、ゲーム装置１と、当該ゲーム装置１に対して着脱可能に取付けられるゲームカートリッジ４０，５０を含む。
【００１６】
ゲーム装置１は、当該ゲーム装置１の動作を全体的に制御するＣＰＵ（Central Processing Unit）１０を含む。また、ゲーム装置１は、当該ゲーム装置１に対してユーザが情報を入力するために操作される入力部３３と、情報を表示する表示部３１と、音声を出力する音声出力部３２とを含む。入力部３３は、単数または複数のキーを含む。表示部３１は、たとえばＬＣＤ（Liquid Crystal Display）を含む。音声出力部３２は、スピーカを含む。
【００１７】
ゲーム装置１は、さらに、ゲームカートリッジ４０と接続するためのコネクタ２２と、ゲームカートリッジ５０と接続するためのコネクタ２１を含む。
【００１８】
ゲーム装置１において、ゲームカートリッジ４０のメモリ４１に記憶されたゲーム用プログラムが実行される際には、当該プログラムは、コネクタ２２を介してデコーダ１１に読込まれ、デコードされ、ＣＰＵ１０へ送られる。ＣＰＵ１０では、フラッシュメモリ１８に記憶された所定のプログラムを実行することによりコンパイラとして機能し（コンパイラ１０Ａ）、デコードされたプログラム（ソースコード）を、ネイティブコードにコンパイルしてバッファメモリ１７に展開する。ＣＰＵ１０は、バッファメモリ１７に展開されたネイティブコードを実行することにより、ゲーム用プログラムを実行する。
【００１９】
なお、ゲームカートリッジ４０では、図２に示されるように、メモリ４１内には互いに独立に読み書きをできる複数の記憶領域（メモリバンク）として、バンク１〜バンク４が定義されている。そして、本実施の形態では、メモリ４１において、ゲーム用プログラムはバンク（１）にのみ記憶されている。バンク（２）〜バンク（４）には、フェイクプログラムが記憶されている。
【００２０】
ゲーム装置１のＣＰＵ１０は、バンク（１）、バンク（２）、バンク（３）、バンク（４）の順にデータの読込みを行なう。そして、ＣＰＵ１は、バンク（１）のデータが読み込まれるタイミングでのみ、デコーダ１１のデコード機能をオンにし、バンク（１）に記憶されたデータのみをデコードおよび展開等して、実行する。
【００２１】
つまり、本実施の形態では、ゲームカートリッジ４０からゲーム装置１へは、フェイクプログラムも含めたプログラムが送られるが、ＣＰＵ１０は、バンク（１）に記憶されたデータのみを実行する。
【００２２】
［ゲーム装置において実行される処理について］
次に、ＣＰＵ１０による、ゲームカートリッジ４０のメモリ４１に記録されたゲーム用プログラムの実行の態様について、当該プログラムが実行される際にＣＰＵ１０が実行する処理のフローチャートである図３を参照して説明する。なお、プログラム実行処理は、ゲームカートリッジ４０がコネクタ２２に差し込まれる等により開始する。また、当該処理のプログラムは、たとえばフラッシュメモリ１８に記憶されている。
【００２３】
図３を参照して、プログラム実行処理では、ＣＰＵ１０は、まずステップＳ１０で、Ｘの値の初期化を行なう。なお、Ｘとは、この処理で利用するカウンタのカウント値である。
【００２４】
次に、ＣＰＵ１０は、ステップＳ２０で、ゲームカートリッジ４のメモリ４１の中のバンクＸ（Ｘ＝１〜４）のデータを読出し、ステップＳ３０へ処理を進める。
【００２５】
ステップＳ３０では、ＣＰＵ１０は、Ｘの値が「１」であるか否かを判断し、そうであると判断するとステップＳ５０へ処理を進める。なお、そうではないと判断すると、ＣＰＵ１０は、ステップＳ４０で、ステップＳ２０で読み出したデータを破棄して、ステップＳ１０へそりを戻す。
【００２６】
ステップＳ５０では、ＣＰＵ１０は、ステップＳ２０で読み込んだデータをデコードするためにデコーダ１１のデコード機能をＯＮし、コンパイラ１０Ａにコンパイルさせ、当該コンパイルされたプログラムをバッファメモリ１７へ格納させて、ステップＳ６０へ処理を進める。
【００２７】
ステップＳ６０では、ＣＰＵ１０は、バッファメモリ１７へ展開したプログラムを実行して、ステップＳ７０へ処理を進める。
【００２８】
ステップＳ７０では、ＣＰＵ１０は、Ｘを１加算更新して、ステップＳ１０へ処理を戻す。なお、ステップＳ７０では、更新後のＸの値が４を越えた場合には、４を差し引かれた数が更新後のＸの値とされる。
【００２９】
以上、図３を参照して説明したプログラム実行処理において、メモリバンク１０に記憶されたデータのみを実行する。
【００３０】
［変形例等］
以上説明した本実施の形態では、ゲーム装置１と当該ゲーム装置１において実行されるプログラムを記録するゲームカートリッジ４０によって情報処理システムが実現されたが、本発明において実行されるプログラムは、ゲーム用のものに限定されず、表計算ソフトやワープロソフトのいわゆるビジネスソフト等、他の種類のアプリケーションプログラムであっても良い。
【００３１】
また、以上説明した本実施の形態では、ゲームカートリッジ４０からゲーム装置１へ送られるデータの中で、フェイクプログラムが送られたときには、ステップＳ４０（図３参照）において当該フェイクプログラムに対応するデータはデコーダ１１がＯＮされることなく（つまり、デコードされることなく）破棄される。なお、このようなデータは、ゲーム装置１において、デコードされたりコンパイルをされたりしても良い。
【００３２】
また、ゲーム処理システムは、図４に示されるように、ゲーム装置１Ａと、当該ゲーム装置１Ａに着脱可能に装着されるゲームカートリッジ４０Ａ，５０とから構成されても良い図４に示された変形例では、図１のゲーム装置１に設けられていたデコーダとタイマが、ゲームカートリッジ４０Ａ側に備えられている。この変形例では、ゲームカートリッジ４０Ａは、メモリ４１、デコーダ４２、およびタイマ４３を備えている。デコーダ４２およびタイマ４３の動作は、コネクタ２２を介して、ゲーム装置１ＡのＣＰＵ１０によって制御される。メモリ４１に記録されたゲーム用プログラムが実行される際には、ＣＰＵ１０が図３に示された処理を実行することにより、ゲーム用プログラムを構成するデータはデコーダ４２によってデコードされてゲーム装置１へ、それ以外のデータはデコードされることなくゲーム装置１へ、送られる。デコードされてゲーム装置１へ送られてきたプログラムはコネクタ２２を介してＣＰＵ１０へ送られ、当該ＣＰＵ１０が所定のプログラムを実行することにより実現されるコンパイラ１０Ａによってコンパイルされて、ネイティブコードとしてバッファメモリ１７に展開される。ＣＰＵ１０は、当該展開されたネイティブコードを実行する。デコードされることなくゲームそうち１へ送られてきたデータは、ゲーム装置１において、破棄される。
【００３３】
また、図５に示されるように、ゲームカートリッジ４０は、ＵＳＢ（Universal Serial Bus）メモリから構成されても良い。この場合、ゲーム装置１のコネクタ２２は、ＵＳＢポートが接続され、ゲームカートリッジ４０は、ＵＳＢポート６０とＵＳＢ接続されることにより、ＵＳＢポート６０を介して、ゲーム装置１と接続される。
【００３４】
また、図６に示されるように、ゲーム装置１のコネクタ２２には、ＬＡＮ（Local Area Network）カードなどの無線通信装置６１が接続され、図１のゲームカートリッジ４０のメモリ４１に記録されていたゲーム用プログラムは、情報端末７０の記憶装置７３に記憶され、そして、ＣＰＵ１０は、無線通信装置６１を介して情報端末７０と通信することにより、記憶装置７３に記録されたゲーム用プログラムの読込を行なう。
【００３５】
今回開示された各実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。また、各実施の形態に記載の技術は、可能な限り組み合わされて実施されることが意図される。
【図面の簡単な説明】
【００３６】
【図１】本発明の情報処理システムの一実施の形態であるゲーム処理システムの構成を模式的に示す図である。
【図２】図１の情報処理システムにおいて、ゲームカートリッジのメモリにおけるプログラムの記憶態様を模式的に示す図である。
【図３】図１のＣＰＵが実行するプログラム実行処理のフローチャートである。
【図４】図１に示されたゲーム処理システムの変形例の構成を模式的に示す図である。
【図５】図１に示されたゲーム処理システムの他の変形例の構成を模式的に示す図である。
【図６】図１に示されたゲーム処理システムのさらに他の変形例の構成を模式的に示す図である。
【符号の説明】
【００３７】
１，１Ａ  ゲーム装置、１０  ＣＰＵ、１１，４２  デコーダ、１２，４３  タイマ、１３  比較器、１４  割込信号発生回路、１５  キーデータ記憶部、１６  キー発生回路、１７  バッファメモリ、１８，５１  フラッシュメモリ、２１，２２  コネクタ、３１  表示部、３２  音声出力部、３３  入力部、４０，４０Ａ  ゲームカートリッジ、４１  メモリ。
【図１】
2009193132.tif 000003
【図２】
2009193132.tif 000004
【図３】
2009193132.tif 000005
【図４】
2009193132.tif 000006
【図５】
2009193132.tif 000007
【図６】
2009193132.tif 000008