情報処理システム、情報処理端末、カートリッジ、および、プログラム実行方法
【課題】カートリッジに記録されたプログラムの不正なコピーを抑制する。
【解決手段】ゲーム装置1では、割込信号発生回路14からタイマ12へ割込信号が送られても、ゲーム用プログラムが実行されていれば、CPU10がキー発生回路16に特定のキーを発生させるための信号を出力することにより、タイマ12からデコーダ11へのクロック信号の供給は継続される。したがって、デコーダ11のデコード動作は継続される。一方、ゲームカートリッジ40のメモリ41に記録されているゲーム用プログラムが、ゲーム装置1において単にコピー動作に供された場合には、当該コピー動作の途中で、デコーダ11のデコード動作が無効とされ、ゲーム用プログラムは、部分的に正常にデコードされない状態で、ゲームカートリッジ50のフラッシュメモリ51に書込まれることになる。
【解決手段】ゲーム装置1では、割込信号発生回路14からタイマ12へ割込信号が送られても、ゲーム用プログラムが実行されていれば、CPU10がキー発生回路16に特定のキーを発生させるための信号を出力することにより、タイマ12からデコーダ11へのクロック信号の供給は継続される。したがって、デコーダ11のデコード動作は継続される。一方、ゲームカートリッジ40のメモリ41に記録されているゲーム用プログラムが、ゲーム装置1において単にコピー動作に供された場合には、当該コピー動作の途中で、デコーダ11のデコード動作が無効とされ、ゲーム用プログラムは、部分的に正常にデコードされない状態で、ゲームカートリッジ50のフラッシュメモリ51に書込まれることになる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、カートリッジに記録されたプログラムの実行に関し、特に、カートリッジに記録されたプログラムの不正コピーを抑制するための情報処理システム、情報処理端末、カートリッジ、および、プログラム実行方法に関する。
【背景技術】
【0002】
近年、各種の情報端末機器の発達から、ゲーム機用メモリカートリッジや映像用ストレージメモリ、音楽用ストレージ、メモリカード、IC(Integrated Circuit)カード等の記憶装置が市場において大量に流通している。このような記憶装置には、著作権で保護されるべき情報や、個人のプライバシーに係る情報など、第三者による無断の読出しや複製が好ましくないデータが含まれている場合も多い。このため、従来から、記憶装置からの情報の読出しや複製を規制するため、当該記憶装置を制御する周辺機器に対し、セキュリティ回路やダミーデータを発生させる回路を組込む技術が種々提案されてきた。
【0003】
たとえば、特開昭59−152599号公報(特許文献1)では、図11に記載されたような回路を含む装置が開示されている。
【0004】
図11を参照して、当該装置には、インターフェイス回路1001、セキュリティ回路1002、および比較回路1004が備えられており、記憶装置1003に記憶されているデータは、セキュリティ回路1002およびインターフェイス回路1001を介して読み込まれる。そして、当該装置では、外部からパスワードが入力されると、当該パスワードが比較回路1004へ入力される。一方、インターフェース回路1001では、予め設定されたパスワードが固定的に記憶され、当該パスワードが比較回路1004へ入力される。そして、比較回路1004では、外部から入力されたパスワードとインターフェース回路1001から入力されたパスワードの比較が行なわれる。そして、両者が一致すれば、比較回路1004は、セキュリティ解除信号をセキュリティ回路1002に入力する。
【特許文献1】特開昭59−152599号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
上記したような従来の技術において、たとえば特許文献1に開示された技術では、プログラムデータのコピーをパスワードにより管理することができる。
【0006】
しかしながら、上記した従来の技術では、不正なプログラムデータのコピーが試みられた場合、そのようなコピー動作は、禁止されるため、完了しない。このため、当該不正なコピーを試みた者は、コピー動作の実行が不成功に終わったことを即座に認識してしまう。したがって、上記した従来の技術では、その者に、システム内のデータ構造の解読等の次策を講じる動機付けを与えてしまう。
【0007】
本発明は、かかる実情に鑑み考え出されたものであり、その目的は、不正なコピー動作を確実に抑制する、情報処理システム、情報処理端末、カートリッジ、および、プログラム実行方法を提供することである。
【課題を解決するための手段】
【0008】
本発明に従った情報処理システムは、カートリッジと、前記カートリッジを着脱可能に取り付けられる情報処理端末とを備える情報処理システムであって、前記カートリッジは、第1のプログラムを記録する記録手段を含み、前記第1のプログラムをデコードするデコーダをさらに備え、前記情報処理端末は、前記第1のプログラムが前記デコーダによってデコードされたプログラムである第2のプログラムを実行する実行手段を含み、一定時間ごとに、前記デコーダを無効にする処理を実行する無効処理手段をさらに備え、前記第2のプログラムは、前記実行手段に、前記一定時間ごとに、前記無効処理手段による前記デコーダの無効を回避させる第3のプログラムを含むことを特徴とする。
【0009】
また、本発明の情報処理システムでは、前記デコーダおよび前記無効処理手段は、前記情報処理端末に設けられることが好ましい。
【0010】
また、本発明の情報処理システムでは、前記デコーダおよび前記無効処理手段は、前記カートリッジに設けられることが好ましい。
【0011】
また、本発明の情報処理システムでは、前記情報処理端末は、メモリとコンパイラをさらに備え、前記コンパイラは、前記第2のプログラムを前記メモリに展開し、前記情報処理端末は、前記カートリッジが取り付けられているか否かを検出する検出手段と、前記検出手段が前記カートリッジが取り付けられている状態から取り外された状態となったことを検出した場合に、前記メモリに展開された前記第2のプログラムの中の少なくとも前記第3のプログラムを消去する消去手段とを含むことが好ましい。
【0012】
本発明に従った情報処理端末は、カートリッジを着脱可能に取り付けられる情報処理端末であって、前記カートリッジは、第1のプログラムを記録する記録手段を備え、前記第1のプログラムがデコーダによってデコードされたプログラムである第2のプログラムを実行する実行手段と、一定時間ごとに、前記デコーダを無効にするための処理を実行する無効処理手段とを備え、前記実行手段は、前記第2のプログラムを実行することにより、前記一定時間ごとに、前記無効処理手段による前記デコーダの無効を回避するための処理を実行することを特徴とする。
【0013】
また、本発明の情報処理端末は、前記デコーダをさらに備えることが好ましい。
本発明に従ったカートリッジは、情報処理端末に着脱可能に取り付けられるカートリッジであって、第1のプログラムを記録する記録手段を備え、前記情報処理端末は、前記第1のプログラムがデコーダによってデコードされたプログラムである第2のプログラムを実行し、前記デコーダは、一定時間ごとに、無効にされるための処理を実行され、前記第2のプログラムが実行されることにより、前記一定時間ごとに、前記デコーダの無効を回避するための処理が実行されることを特徴とする。
【0014】
また、本発明のカートリッジは、前記デコーダ、および、前記一定時間ごとに、前記デコーダを無効にするための処理を実行する無効処理手段をさらに備えることが好ましい。
【0015】
本発明に従ったプログラム実行方法は、第1のプログラムを記録する記録手段を含むカートリッジと、前記カートリッジを着脱可能に取り付けられる情報処理端末とを備える情報処理システムにおけるプログラム実行方法であって、前記情報処理端末は、メモリ、コンパイラ、およびプログラムを実行する実行手段とを含み、前記コンパイラが、前記第1のプログラムをデコードされたコードを第2のプログラムとして前記メモリに展開するステップと、前記プログラム実行手段が、前記第2のプログラムを実行するステップと、前記プログラム実行手段が、一定時間ごとに、前記デコーダを無効にするための処理を実行するステップとを備え、前記第2のプログラムを実行するステップは、前記一定時間ごとに前記デコーダの無効を回避するための処理を実行するステップを含むことを特徴とする。
【発明の効果】
【0016】
本発明によれば、カートリッジに記録されたプログラムがデコードされて情報処理端末において実行されるとともに、一定期間ごとに、当該プログラムをデコードするデコーダを無効にするための処理が実行される。なお、当該プログラムがデコードされて実行されることによって、一定期間ごとに、デコーダが無効にされることを回避するための処理が実行される。
【0017】
つまり、本発明によれば、情報処理端末において、単にカートリッジに記録されたプログラムがコピーされる場合には、コピーされたデータの一部に異常が生じることになる。カートリッジに記録されたプログラムが実行されなければ、デコーダが一定期間ごとに無効にされるのみで、当該無効を回避するための処理が実行されないからである。一方、情報処理端末において、カートリッジに記録されたプログラムが実行された場合には、当該プログラムは支障なく実行される。デコーダに対して、一定期間ごとに当該デコーダを無効にする処理が実行されるものの、上記プログラムが実行されることにより、一定期間ごとに当該無効を回避するための処理が実行されるためである。
【0018】
以上の次第で、本発明によれば、カートリッジに記録されたプログラムが情報処理端末において不正にコピーされることを抑制できる。
【0019】
また、本発明によれば、情報処理端末において、カートリッジに記録されたプログラムのコピーが試みられた場合、当該コピーの動作は見かけ上は実行される。このことから、不正コピーを試みた者は、即座にコピーが失敗していることを認識できない。したがって、不正コピーを試みた者に次策を講じる動機付けを与える時期をなるべく遅くすることができる。したがって、本発明によれば、このような観点からも、不正コピーを抑制することができる。
【発明を実施するための最良の形態】
【0020】
以下、本発明の実施の形態である情報処理システムについて、図面を参照して説明を行なう。
【0021】
[1.第1の実施の形態]
[1−1.システムの構成]
図1は、本発明の情報処理システムの第1の実施の形態であるゲーム処理システムのハードウェア構成を模式的に示す図である。ゲーム処理システムは、主に、ゲーム装置1と、当該ゲーム装置1に対して着脱可能に取付けられるゲームカートリッジ40,50を含む。
【0022】
ゲーム装置1は、当該ゲーム装置1の動作を全体的に制御するCPU(Central Processing Unit)10を含む。また、ゲーム装置1は、当該ゲーム装置1に対してユーザが情報を入力するために操作される入力部33と、情報を表示する表示部31と、音声を出力する音声出力部32とを含む。入力部33は、単数または複数のキーを含む。表示部31は、たとえばLCD(Liquid Crystal Display)等の表示装置を含む。音声出力部32は、スピーカを含む。
【0023】
ゲーム装置1は、さらに、ゲームカートリッジ40と接続するためのコネクタ22と、ゲームカートリッジ50と接続するためのコネクタ21を含む。
【0024】
また、ゲーム装置1は、デコーダ11、タイマ12、比較器13、割込信号発生回路14、キーデータ記憶部15、キー発生回路16、バッファメモリ17、およびフラッシュメモリ18を含む。
【0025】
ゲーム装置1において、ゲームカートリッジ40のメモリ41に記憶されたゲーム用プログラムが実行される際には、当該プログラムは、コネクタ22を介してデコーダ11に読込まれ、デコードされ、CPU10へ送られる。CPU10は、フラッシュメモリ18に記憶された所定のプログラムを実行することによりコンパイラとして機能し(コンパイラ10A)、デコードされたプログラム(ソースコード)を、ネイティブコードにコンパイルしてバッファメモリ17に展開する。CPU10は、バッファメモリ17に展開されたネイティブコードを実行することにより、ゲーム用プログラムを実行する。
【0026】
なお、ゲーム装置1では、一定時間(たとえば、0.1sec)ごとに、割込信号発生回路14が、タイマ12に対して、デコーダ11へのクロック信号の供給についての残り時間を特定時間(上記「一定時間」よりも短い時間)とする割込信号が出力される。デコーダ11は、タイマ12から出力されるクロック信号を入力されることを条件として、デコード動作を実行する。タイマ12では、割込信号発生回路14から出力された割込信号を受信することにより、デコーダ11へのクロック信号の出力の残り時間が、上記「特定時間」とされる。
【0027】
ゲーム装置1では、後述するように、ゲーム用プログラムが実行されることにより、CPU10は、キー発生回路16に、特定のキーを発生させるための信号を出力する。これにより、タイマ12に対して、比較器13から、タイマ12におけるデコーダ11へのクロック信号の供給のための残り時間が、上記した「一定時間」延長させるための信号が出力される。
【0028】
つまり、本実施の形態のゲーム装置1では、割込信号発生回路14からタイマ12へ割込信号が送られても、ゲーム用プログラムが実行されていれば、CPU10がキー発生回路16に特定のキーを発生させるための信号を出力することにより、タイマ12からデコーダ11へのクロック信号の供給は継続される。したがって、デコーダ11のデコード動作は継続される。
【0029】
[1−2.不正なプログラムコピー動作について]
ここで、ゲーム装置1において、ゲームカートリッジ40のメモリ41に記憶されたゲーム用プログラムが、不正に、ゲームカートリッジ50のフラッシュメモリ51にコピーされる場合のゲーム装置1の動作について説明する。
【0030】
ゲーム装置1において、CPU10は、不正コピー用のプログラムの実行として、ゲームカートリッジ40のメモリ41から、ゲーム用プログラムを吸上げるように、当該ゲーム用プログラムをデコーダ11にデコードさせ、デコードされたデータをバッファメモリ17へ書込み、そして、バッファメモリ17に書込んだプログラムを、コネクタ21を介して、ゲームカートリッジ50のフラッシュメモリ51に記録する。
【0031】
[1−3.ゲーム装置において実行される処理について]
[1−3−1.ゲーム用プログラムの実行]
次に、CPU10による、ゲームカートリッジ40のメモリ41に記録されたゲーム用プログラムの実行の態様について、当該プログラムが実行される際にCPU10が実行する処理のフローチャートである図2を参照して説明する。
【0032】
図2を参照して、ゲーム用プログラム実行処理では、CPU10は、まずステップS10で、ゲームカートリッジ40がコネクタ22に接続されたか否かを判断し、接続されたと判断するとステップS20へ処理を進める。
【0033】
ステップS20では、CPU10は、入力部33に対してゲーム用プログラムを実行する旨の指示が入力を受付ける状態となり、ステップS30へ処理を進める。ここで、ゲーム用プログラムの実行の指示を受付ける状態とは、たとえば、表示部31に、指示の入力を促すメッセージを表示することが挙げられる。
【0034】
ステップS30では、CPU10は、ゲーム用プログラムを実行する旨の指示が入力されたか否かを判断し、入力されたと判断するとステップS40へ処理を進め、入力されていないと判断するとステップS31へ処理を進める。
【0035】
ステップS31では、CPU10は、入力部33に対して他の処理を実行するための情報が入力されたか否かを判断し、そのような情報が入力されたと判断するとステップS30にて指示された処理をステップS32で実行して処理をステップS10へ戻す。一方、そのような情報も入力されていないと判断すると、CPU10は、ステップS30へ処理を戻す。
【0036】
ステップS40では、CPU10は、ゲーム用プログラムを実行して、ステップS50へ処理を進める。ステップS50では、後述するタイマリフレッシュ処理を実行して、ステップS60へ処理を進める。
【0037】
ステップS60では、CPU10は、ゲームカートリッジ40とコネクタ22の接続が解除され、ゲームカートリッジ40がゲーム装置1から取外されたか否かを判断し、取外されていないと判断するとステップS40へ処理を戻し、取外されたと判断するとステップS10へ処理を戻す。
【0038】
[1−3−2.割込信号出力処理の実行]
次に、割込信号発生回路14に、上記したように一定時間ごとにタイマ12に対して割込信号を出力させるための処理である割込信号出力処理の内容を、当該処理のフローチャートである図3を参照して説明する。なお、当該処理は、ゲーム装置1において、上記したゲーム用プログラム実行処理とは独立して実行される。
【0039】
図3を参照して、割込信号出力処理では、CPU10は、まずステップSA10で、上記した一定時間のカウントがタイムアウトしたか否かを判断し、タイムアウトしたと判断するとステップSA20へ処理を進める。
【0040】
なお、ここでの一定時間のカウントは、たとえばCPU10に内蔵されたタイマによって行なわれる。
【0041】
ステップSA20では、CPU10は、割込信号発生回路14に、タイマ12に対して割込信号を出力させて、ステップSA10へ処理を戻す。
【0042】
ステップSA20において割込信号発生回路14からタイマ12へ割込信号が出力されることにより、タイマ12では、デコーダ11のデコード動作を無効にするための信号を送信するまでのカウンタ(以下、適宜「無効信号送信カウンタ」と略す)のカウントが開始される。なお、ここでカウントが開始されてからタイマ12がデコーダ11へ上記信号を送信するまでの時間(カウント時間)は、上記した一定時間よりも長いもの(特定時間)とされている。
【0043】
[1−3−3.ゲーム用プログラムのサブルーチンの実行]
図2に戻って、ステップS50におけるタイマリフレッシュ処理は、図3を用いて説明した割込信号出力処理においてタイマ12がカウントを開始したカウンタのカウント値をクリアするための処理である。ここで、タイマリフレッシュ処理について、当該処理のサブルーチンである図4を参照して説明する。
【0044】
図4を参照して、タイマリフレッシュ処理では、CPU10は、まずステップS501で、前回タイマリフレッシュ処理を実行してからタイムアウト時間が経過したか否かを判断し、経過していると判断するとステップS502へ処理を進め、まだ経過していないと判断するとそのまま処理をリターンさせる。
【0045】
ステップS502では、CPU10は、タイマ12の無効信号送信カウンタのカウントをクリアさせて、処理をリターンさせる。
【0046】
なお、本実施の形態において、CPU10が実行する割込信号出力処理のプログラムは、たとえばフラッシュメモリ18に記録されている。
【0047】
[1−4.第1の実施の形態における特徴的な動作について]
以上説明したように、本実施の形態では、ゲーム装置1において、デコーダ11によってデコードされたプログラムが、コンパイラ10Aによってコンパイルされてバッファメモリ17に展開され、CPU10は当該展開されたプログラム(ネイティブコード)を実行する。なお、図3を用いて説明したように、割込信号出力処理により、ゲーム装置1では、一定時間毎に、デコーダ11のデコード動作を無効にするための信号の送信についてのカウンタのカウントが開始される。なお、ゲームカートリッジ40のメモリ41に記録されるゲーム用プログラムに基づいて実行される処理には、図2および図4を参照して説明したように、タイマリフレッシュ処理が含まれる。タイマリフレッシュ処理では、無効信号送信カウンタのカウントを、一定時間毎にクリアする処理である。つまり、本実施の形態では、タイマリフレッシュ処理が一定時間毎に実行されることにより、無効信号送信カウンタがタイムアウトして、タイマ12がデコーダ11へデコード動作を無効にするための信号を送信する事態を回避できる。したがって、ゲーム装置1では、ゲーム用プログラムが実行されていれば、デコーダ11は継続してデコード動作を実行する。
【0048】
なお、「1−2.」の欄で説明したように、ゲームカートリッジ40のメモリ41に記録されているゲーム用プログラムが、ゲーム装置1において単にコピー動作に供された場合には、タイマリフレッシュ処理(図2および図4参照)は実行されることはない。したがって、コピー動作の途中で、デコーダ11のデコード動作が無効とされ、ゲーム用プログラムは、部分的に正常にデコードされない状態で、ゲームカートリッジ50のフラッシュメモリ51に書込まれることになる。
【0049】
以上説明した本実施の形態によれば、ゲーム装置1においてデコーダ11およびタイマ12を追加するような設計変更を行なえば、本発明の情報処理システムを実現することができる。なお、ゲーム装置1とゲームカートリッジ40とでは、ゲームカートリッジ40の方が圧倒的に生産される数量は多いと考えられる。したがって、本実施の形態によれば、安価に、本発明を実現することができる。
【0050】
また、本実施の形態では、ゲーム装置1と当該ゲーム装置1において実行されるプログラムを記録するゲームカートリッジ40によって情報処理システムが実現されたが、本発明において実行されるプログラムは、ゲーム用のものに限定されず、表計算ソフトやワープロソフトのいわゆるビジネスソフト等、他の種類のアプリケーションプログラムであっても良い。
【0051】
[2.第2の実施の形態]
図5は、本発明の情報処理システムの第2の実施の形態の構成を模式的に示す図である。
【0052】
本実施の形態では、情報処理システムの一例であるゲーム処理システムは、主に、ゲーム装置1Aと、当該ゲーム装置1Aに着脱可能に装着されるゲームカートリッジ40A,50Aとを含む。
【0053】
本実施の形態では、第1の実施の形態においてゲーム装置1に設けられていたデコーダとタイマが、ゲームカートリッジ40A側に備えられている。
【0054】
なお、本実施の形態のゲーム装置1Aに設けられているCPU10は、第1の実施の形態において図2〜図4を参照して説明した各処理を実行するが、その内容については同様のものとすることができる。つまり、たとえば、第1の実施の形態では、割込信号出力処理において、割込信号発生回路14はタイマ12の無効信号送信カウンタのカウントを開始させていた。本実施の形態において実行される割込信号出力処理においても、割込信号発生回路14は、コネクタ22を介して、ゲームカートリッジ40Aに設けられているタイマ43に対して、無効信号送信カウンタのカウントを開始させる。
【0055】
なお、本実施の形態では、ゲームカートリッジ40Aは、メモリ41、デコーダ42、およびタイマ43を備えている。デコーダ42およびタイマ43の動作は、コネクタ22を介して、ゲーム装置1AのCPU10によって制御される。そして、メモリ41に記録されたゲーム用プログラムが実行される際には、当該プログラムはデコーダ42によってデコードされ、デコードされたプログラムはコネクタ22を介してCPU10へ送られ、当該CPU10が所定のプログラムを実行することにより実現されるコンパイラ10Aによってコンパイルされて、ネイティブコードとしてバッファメモリ17に展開される。CPU10は、当該展開されたネイティブコードを実行する。
【0056】
以上説明した本実施の形態では、本発明の特徴的な構成要素であるデコーダとタイマがゲームカートリッジ40A側に設けられる。したがって、ゲーム装置1A側に、既に販売等されてユーザの手元にあるゲーム装置1Aに対して構成要素の追加を特に行なうことなく、本発明に従った情報処理システムを実現することができる。なお、割込信号発生回路14については、フラッシュメモリ18に、無効信号送信カウンタのカウントを開始させるようなプログラムを追加して格納することにより実現できると考えられる。
【0057】
[3.第3の実施の形態]
図6は、本発明の情報処理システムの第3の実施の形態であるゲーム処理システムの構成を模式的に示す図である。
【0058】
本実施の形態のゲーム処理システムは、ゲーム装置1Bと、ゲームカートリッジ40とを主に含む。本実施の形態のゲーム装置1Bは、第1の実施の形態のゲーム装置1に対して、コネクタが1つである点で相違する。ゲーム装置1Bのコネクタ22には、図6に示すようにゲームカートリッジ40を接続させることもできるし、また、図7に示すように、ゲームカートリッジ40とは異なる種類のゲームカートリッジであるゲームカートリッジ50を接続させることもできる。
【0059】
本実施の形態のゲーム装置1Bにおいても、図2〜図4を参照して説明した各処理が、第1の実施の形態において説明したのと同様に実行される。
【0060】
[4.第4の実施の形態]
図8は、本発明の情報処理システムの第4の実施の形態であるゲーム処理システムの構成を模式的に示す図である。本実施の形態では、ゲーム装置1に対して、ゲームカートリッジ40は、USB(Universal Serial Bus)メモリからなる。そして、ゲーム装置1のコネクタ22には、USBポートが接続されている。そして、ゲームカートリッジ40は、USBポート60とUSB接続されることにより、USBポート60を介して、ゲーム装置1と接続される。
【0061】
本実施の形態のゲーム装置1においても、図2〜図4を参照して説明した各処理が実行される。
【0062】
[5.第5の実施の形態]
図9は、本発明の情報処理システムの第5の実施の形態であるゲーム処理システムの構成を模式的に示す図である。
【0063】
本実施の形態のゲーム処理システムでは、ゲーム装置1のコネクタ22には、LAN(Local Area Network)カードなどの無線通信装置61が接続されている。
【0064】
また、第1の実施の形態においてゲームカートリッジ40のメモリ41に記録されていたゲーム用プログラムは、情報端末70の記憶装置73に記憶されている。なお、情報端末70は、当該情報端末の動作を全体的に制御する制御装置71とLANカードなどの無線通信装置とを含む。
【0065】
そして、ゲーム装置1は、無線通信装置61を介して、情報端末70に接続されている。
【0066】
本実施の形態のゲーム装置1のCPU10は、無線通信装置61を介して情報端末70と通信することにより、記憶装置73に記録されたゲーム用プログラムの読込を行なう。
【0067】
本実施の形態のゲーム装置1においても、図2〜図4を参照して説明した各処理が実行される。
【0068】
[6.第6の実施の形態]
図10は、本発明の情報処理システムの第6の実施の形態である情報処理システムにおける情報処理端末の一例であるゲーム装置1のCPU10が実行するゲーム用プログラム実行処理のフローチャートである。
【0069】
図10に示されたフローチャートには、図2に示されたフローチャートに対して、ステップS60の処理の後、ステップS70の処理が追加されている。ステップS70では、CPU10が、バッファメモリ17に書込んだ処理のネイティブコードを消去する。つまり、本実施の形態のゲーム装置1は、ステップS60でゲームカートリッジ40が取外されたと判断すると、ステップS70で、タイマリフレッシュ処理(図4参照)を実行するためのネイティブコードをバッファメモリ17から消去させた後、ステップS10へ処理を戻す。
【0070】
本実施の形態によれば、ゲームカートリッジ40がゲーム装置1から取外された後、速やかに、タイマリフレッシュ処理に対応するネイティブコードが消去される。したがって、バッファメモリ17に書込まれたままの状態で放置されたタイマリフレッシュ処理に対応するネイティブコードが、ゲームカートリッジ40がゲーム装置1から取外された後、別のゲームカートリッジをコネクタ22に接続されてコピーされ、それによって、タイマリフレッシュ処理の内容が解析される事態をより確実に回避できる。
【0071】
今回開示された各実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。また、各実施の形態に記載の技術は、可能な限り組み合わされて実施されることが意図される。
【図面の簡単な説明】
【0072】
【図1】本発明の情報処理システムの第1の実施の形態であるゲーム処理システムの構成を模式的に示す図である。
【図2】図1のCPUが実行するゲーム用プログラム実行処理のフローチャートである。
【図3】図1のCPUが実行する割込信号出力処理のフローチャートである。
【図4】図2のタイマリフレッシュ処理のサブルーチンのフローチャートである。
【図5】本発明の情報処理システムの第2の実施の形態であるゲーム処理システムの構成を模式的に示す図である。
【図6】本発明の情報処理システムの第3の実施の形態であるゲーム処理システムの構成を模式的に示す図である。
【図7】本発明の情報処理システムの第3の実施の形態であるゲーム処理システムの構成を模式的に示す図である。
【図8】本発明の情報処理システムの第4の実施の形態であるゲーム処理システムの構成を模式的に示す図である。
【図9】本発明の情報処理システムの第5の実施の形態であるゲーム処理システムの構成を模式的に示す図である。
【図10】本発明の情報処理システムの第6の実施の形態であるゲーム処理システムのゲーム装置において実行されるゲーム用プログラム実行処理のフローチャートである。
【図11】従来の、プログラムROMからのプログラムデータの読出が制御される装置の構成を模式的に示す図である。
【符号の説明】
【0073】
1,1A,1B ゲーム装置、10 CPU、11,42 デコーダ、12,43 タイマ、13 比較器、14 割込信号発生回路、15 キーデータ記憶部、16 キー発生回路、17 バッファメモリ、18,51 フラッシュメモリ、21,22 コネクタ、31 表示部、32 音声出力部、33 入力部、40,50 ゲームカートリッジ、41 メモリ、60 USBポート、61,72 無線通信装置、71 制御装置、73 記憶装置、70 情報端末。
【技術分野】
【0001】
本発明は、カートリッジに記録されたプログラムの実行に関し、特に、カートリッジに記録されたプログラムの不正コピーを抑制するための情報処理システム、情報処理端末、カートリッジ、および、プログラム実行方法に関する。
【背景技術】
【0002】
近年、各種の情報端末機器の発達から、ゲーム機用メモリカートリッジや映像用ストレージメモリ、音楽用ストレージ、メモリカード、IC(Integrated Circuit)カード等の記憶装置が市場において大量に流通している。このような記憶装置には、著作権で保護されるべき情報や、個人のプライバシーに係る情報など、第三者による無断の読出しや複製が好ましくないデータが含まれている場合も多い。このため、従来から、記憶装置からの情報の読出しや複製を規制するため、当該記憶装置を制御する周辺機器に対し、セキュリティ回路やダミーデータを発生させる回路を組込む技術が種々提案されてきた。
【0003】
たとえば、特開昭59−152599号公報(特許文献1)では、図11に記載されたような回路を含む装置が開示されている。
【0004】
図11を参照して、当該装置には、インターフェイス回路1001、セキュリティ回路1002、および比較回路1004が備えられており、記憶装置1003に記憶されているデータは、セキュリティ回路1002およびインターフェイス回路1001を介して読み込まれる。そして、当該装置では、外部からパスワードが入力されると、当該パスワードが比較回路1004へ入力される。一方、インターフェース回路1001では、予め設定されたパスワードが固定的に記憶され、当該パスワードが比較回路1004へ入力される。そして、比較回路1004では、外部から入力されたパスワードとインターフェース回路1001から入力されたパスワードの比較が行なわれる。そして、両者が一致すれば、比較回路1004は、セキュリティ解除信号をセキュリティ回路1002に入力する。
【特許文献1】特開昭59−152599号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
上記したような従来の技術において、たとえば特許文献1に開示された技術では、プログラムデータのコピーをパスワードにより管理することができる。
【0006】
しかしながら、上記した従来の技術では、不正なプログラムデータのコピーが試みられた場合、そのようなコピー動作は、禁止されるため、完了しない。このため、当該不正なコピーを試みた者は、コピー動作の実行が不成功に終わったことを即座に認識してしまう。したがって、上記した従来の技術では、その者に、システム内のデータ構造の解読等の次策を講じる動機付けを与えてしまう。
【0007】
本発明は、かかる実情に鑑み考え出されたものであり、その目的は、不正なコピー動作を確実に抑制する、情報処理システム、情報処理端末、カートリッジ、および、プログラム実行方法を提供することである。
【課題を解決するための手段】
【0008】
本発明に従った情報処理システムは、カートリッジと、前記カートリッジを着脱可能に取り付けられる情報処理端末とを備える情報処理システムであって、前記カートリッジは、第1のプログラムを記録する記録手段を含み、前記第1のプログラムをデコードするデコーダをさらに備え、前記情報処理端末は、前記第1のプログラムが前記デコーダによってデコードされたプログラムである第2のプログラムを実行する実行手段を含み、一定時間ごとに、前記デコーダを無効にする処理を実行する無効処理手段をさらに備え、前記第2のプログラムは、前記実行手段に、前記一定時間ごとに、前記無効処理手段による前記デコーダの無効を回避させる第3のプログラムを含むことを特徴とする。
【0009】
また、本発明の情報処理システムでは、前記デコーダおよび前記無効処理手段は、前記情報処理端末に設けられることが好ましい。
【0010】
また、本発明の情報処理システムでは、前記デコーダおよび前記無効処理手段は、前記カートリッジに設けられることが好ましい。
【0011】
また、本発明の情報処理システムでは、前記情報処理端末は、メモリとコンパイラをさらに備え、前記コンパイラは、前記第2のプログラムを前記メモリに展開し、前記情報処理端末は、前記カートリッジが取り付けられているか否かを検出する検出手段と、前記検出手段が前記カートリッジが取り付けられている状態から取り外された状態となったことを検出した場合に、前記メモリに展開された前記第2のプログラムの中の少なくとも前記第3のプログラムを消去する消去手段とを含むことが好ましい。
【0012】
本発明に従った情報処理端末は、カートリッジを着脱可能に取り付けられる情報処理端末であって、前記カートリッジは、第1のプログラムを記録する記録手段を備え、前記第1のプログラムがデコーダによってデコードされたプログラムである第2のプログラムを実行する実行手段と、一定時間ごとに、前記デコーダを無効にするための処理を実行する無効処理手段とを備え、前記実行手段は、前記第2のプログラムを実行することにより、前記一定時間ごとに、前記無効処理手段による前記デコーダの無効を回避するための処理を実行することを特徴とする。
【0013】
また、本発明の情報処理端末は、前記デコーダをさらに備えることが好ましい。
本発明に従ったカートリッジは、情報処理端末に着脱可能に取り付けられるカートリッジであって、第1のプログラムを記録する記録手段を備え、前記情報処理端末は、前記第1のプログラムがデコーダによってデコードされたプログラムである第2のプログラムを実行し、前記デコーダは、一定時間ごとに、無効にされるための処理を実行され、前記第2のプログラムが実行されることにより、前記一定時間ごとに、前記デコーダの無効を回避するための処理が実行されることを特徴とする。
【0014】
また、本発明のカートリッジは、前記デコーダ、および、前記一定時間ごとに、前記デコーダを無効にするための処理を実行する無効処理手段をさらに備えることが好ましい。
【0015】
本発明に従ったプログラム実行方法は、第1のプログラムを記録する記録手段を含むカートリッジと、前記カートリッジを着脱可能に取り付けられる情報処理端末とを備える情報処理システムにおけるプログラム実行方法であって、前記情報処理端末は、メモリ、コンパイラ、およびプログラムを実行する実行手段とを含み、前記コンパイラが、前記第1のプログラムをデコードされたコードを第2のプログラムとして前記メモリに展開するステップと、前記プログラム実行手段が、前記第2のプログラムを実行するステップと、前記プログラム実行手段が、一定時間ごとに、前記デコーダを無効にするための処理を実行するステップとを備え、前記第2のプログラムを実行するステップは、前記一定時間ごとに前記デコーダの無効を回避するための処理を実行するステップを含むことを特徴とする。
【発明の効果】
【0016】
本発明によれば、カートリッジに記録されたプログラムがデコードされて情報処理端末において実行されるとともに、一定期間ごとに、当該プログラムをデコードするデコーダを無効にするための処理が実行される。なお、当該プログラムがデコードされて実行されることによって、一定期間ごとに、デコーダが無効にされることを回避するための処理が実行される。
【0017】
つまり、本発明によれば、情報処理端末において、単にカートリッジに記録されたプログラムがコピーされる場合には、コピーされたデータの一部に異常が生じることになる。カートリッジに記録されたプログラムが実行されなければ、デコーダが一定期間ごとに無効にされるのみで、当該無効を回避するための処理が実行されないからである。一方、情報処理端末において、カートリッジに記録されたプログラムが実行された場合には、当該プログラムは支障なく実行される。デコーダに対して、一定期間ごとに当該デコーダを無効にする処理が実行されるものの、上記プログラムが実行されることにより、一定期間ごとに当該無効を回避するための処理が実行されるためである。
【0018】
以上の次第で、本発明によれば、カートリッジに記録されたプログラムが情報処理端末において不正にコピーされることを抑制できる。
【0019】
また、本発明によれば、情報処理端末において、カートリッジに記録されたプログラムのコピーが試みられた場合、当該コピーの動作は見かけ上は実行される。このことから、不正コピーを試みた者は、即座にコピーが失敗していることを認識できない。したがって、不正コピーを試みた者に次策を講じる動機付けを与える時期をなるべく遅くすることができる。したがって、本発明によれば、このような観点からも、不正コピーを抑制することができる。
【発明を実施するための最良の形態】
【0020】
以下、本発明の実施の形態である情報処理システムについて、図面を参照して説明を行なう。
【0021】
[1.第1の実施の形態]
[1−1.システムの構成]
図1は、本発明の情報処理システムの第1の実施の形態であるゲーム処理システムのハードウェア構成を模式的に示す図である。ゲーム処理システムは、主に、ゲーム装置1と、当該ゲーム装置1に対して着脱可能に取付けられるゲームカートリッジ40,50を含む。
【0022】
ゲーム装置1は、当該ゲーム装置1の動作を全体的に制御するCPU(Central Processing Unit)10を含む。また、ゲーム装置1は、当該ゲーム装置1に対してユーザが情報を入力するために操作される入力部33と、情報を表示する表示部31と、音声を出力する音声出力部32とを含む。入力部33は、単数または複数のキーを含む。表示部31は、たとえばLCD(Liquid Crystal Display)等の表示装置を含む。音声出力部32は、スピーカを含む。
【0023】
ゲーム装置1は、さらに、ゲームカートリッジ40と接続するためのコネクタ22と、ゲームカートリッジ50と接続するためのコネクタ21を含む。
【0024】
また、ゲーム装置1は、デコーダ11、タイマ12、比較器13、割込信号発生回路14、キーデータ記憶部15、キー発生回路16、バッファメモリ17、およびフラッシュメモリ18を含む。
【0025】
ゲーム装置1において、ゲームカートリッジ40のメモリ41に記憶されたゲーム用プログラムが実行される際には、当該プログラムは、コネクタ22を介してデコーダ11に読込まれ、デコードされ、CPU10へ送られる。CPU10は、フラッシュメモリ18に記憶された所定のプログラムを実行することによりコンパイラとして機能し(コンパイラ10A)、デコードされたプログラム(ソースコード)を、ネイティブコードにコンパイルしてバッファメモリ17に展開する。CPU10は、バッファメモリ17に展開されたネイティブコードを実行することにより、ゲーム用プログラムを実行する。
【0026】
なお、ゲーム装置1では、一定時間(たとえば、0.1sec)ごとに、割込信号発生回路14が、タイマ12に対して、デコーダ11へのクロック信号の供給についての残り時間を特定時間(上記「一定時間」よりも短い時間)とする割込信号が出力される。デコーダ11は、タイマ12から出力されるクロック信号を入力されることを条件として、デコード動作を実行する。タイマ12では、割込信号発生回路14から出力された割込信号を受信することにより、デコーダ11へのクロック信号の出力の残り時間が、上記「特定時間」とされる。
【0027】
ゲーム装置1では、後述するように、ゲーム用プログラムが実行されることにより、CPU10は、キー発生回路16に、特定のキーを発生させるための信号を出力する。これにより、タイマ12に対して、比較器13から、タイマ12におけるデコーダ11へのクロック信号の供給のための残り時間が、上記した「一定時間」延長させるための信号が出力される。
【0028】
つまり、本実施の形態のゲーム装置1では、割込信号発生回路14からタイマ12へ割込信号が送られても、ゲーム用プログラムが実行されていれば、CPU10がキー発生回路16に特定のキーを発生させるための信号を出力することにより、タイマ12からデコーダ11へのクロック信号の供給は継続される。したがって、デコーダ11のデコード動作は継続される。
【0029】
[1−2.不正なプログラムコピー動作について]
ここで、ゲーム装置1において、ゲームカートリッジ40のメモリ41に記憶されたゲーム用プログラムが、不正に、ゲームカートリッジ50のフラッシュメモリ51にコピーされる場合のゲーム装置1の動作について説明する。
【0030】
ゲーム装置1において、CPU10は、不正コピー用のプログラムの実行として、ゲームカートリッジ40のメモリ41から、ゲーム用プログラムを吸上げるように、当該ゲーム用プログラムをデコーダ11にデコードさせ、デコードされたデータをバッファメモリ17へ書込み、そして、バッファメモリ17に書込んだプログラムを、コネクタ21を介して、ゲームカートリッジ50のフラッシュメモリ51に記録する。
【0031】
[1−3.ゲーム装置において実行される処理について]
[1−3−1.ゲーム用プログラムの実行]
次に、CPU10による、ゲームカートリッジ40のメモリ41に記録されたゲーム用プログラムの実行の態様について、当該プログラムが実行される際にCPU10が実行する処理のフローチャートである図2を参照して説明する。
【0032】
図2を参照して、ゲーム用プログラム実行処理では、CPU10は、まずステップS10で、ゲームカートリッジ40がコネクタ22に接続されたか否かを判断し、接続されたと判断するとステップS20へ処理を進める。
【0033】
ステップS20では、CPU10は、入力部33に対してゲーム用プログラムを実行する旨の指示が入力を受付ける状態となり、ステップS30へ処理を進める。ここで、ゲーム用プログラムの実行の指示を受付ける状態とは、たとえば、表示部31に、指示の入力を促すメッセージを表示することが挙げられる。
【0034】
ステップS30では、CPU10は、ゲーム用プログラムを実行する旨の指示が入力されたか否かを判断し、入力されたと判断するとステップS40へ処理を進め、入力されていないと判断するとステップS31へ処理を進める。
【0035】
ステップS31では、CPU10は、入力部33に対して他の処理を実行するための情報が入力されたか否かを判断し、そのような情報が入力されたと判断するとステップS30にて指示された処理をステップS32で実行して処理をステップS10へ戻す。一方、そのような情報も入力されていないと判断すると、CPU10は、ステップS30へ処理を戻す。
【0036】
ステップS40では、CPU10は、ゲーム用プログラムを実行して、ステップS50へ処理を進める。ステップS50では、後述するタイマリフレッシュ処理を実行して、ステップS60へ処理を進める。
【0037】
ステップS60では、CPU10は、ゲームカートリッジ40とコネクタ22の接続が解除され、ゲームカートリッジ40がゲーム装置1から取外されたか否かを判断し、取外されていないと判断するとステップS40へ処理を戻し、取外されたと判断するとステップS10へ処理を戻す。
【0038】
[1−3−2.割込信号出力処理の実行]
次に、割込信号発生回路14に、上記したように一定時間ごとにタイマ12に対して割込信号を出力させるための処理である割込信号出力処理の内容を、当該処理のフローチャートである図3を参照して説明する。なお、当該処理は、ゲーム装置1において、上記したゲーム用プログラム実行処理とは独立して実行される。
【0039】
図3を参照して、割込信号出力処理では、CPU10は、まずステップSA10で、上記した一定時間のカウントがタイムアウトしたか否かを判断し、タイムアウトしたと判断するとステップSA20へ処理を進める。
【0040】
なお、ここでの一定時間のカウントは、たとえばCPU10に内蔵されたタイマによって行なわれる。
【0041】
ステップSA20では、CPU10は、割込信号発生回路14に、タイマ12に対して割込信号を出力させて、ステップSA10へ処理を戻す。
【0042】
ステップSA20において割込信号発生回路14からタイマ12へ割込信号が出力されることにより、タイマ12では、デコーダ11のデコード動作を無効にするための信号を送信するまでのカウンタ(以下、適宜「無効信号送信カウンタ」と略す)のカウントが開始される。なお、ここでカウントが開始されてからタイマ12がデコーダ11へ上記信号を送信するまでの時間(カウント時間)は、上記した一定時間よりも長いもの(特定時間)とされている。
【0043】
[1−3−3.ゲーム用プログラムのサブルーチンの実行]
図2に戻って、ステップS50におけるタイマリフレッシュ処理は、図3を用いて説明した割込信号出力処理においてタイマ12がカウントを開始したカウンタのカウント値をクリアするための処理である。ここで、タイマリフレッシュ処理について、当該処理のサブルーチンである図4を参照して説明する。
【0044】
図4を参照して、タイマリフレッシュ処理では、CPU10は、まずステップS501で、前回タイマリフレッシュ処理を実行してからタイムアウト時間が経過したか否かを判断し、経過していると判断するとステップS502へ処理を進め、まだ経過していないと判断するとそのまま処理をリターンさせる。
【0045】
ステップS502では、CPU10は、タイマ12の無効信号送信カウンタのカウントをクリアさせて、処理をリターンさせる。
【0046】
なお、本実施の形態において、CPU10が実行する割込信号出力処理のプログラムは、たとえばフラッシュメモリ18に記録されている。
【0047】
[1−4.第1の実施の形態における特徴的な動作について]
以上説明したように、本実施の形態では、ゲーム装置1において、デコーダ11によってデコードされたプログラムが、コンパイラ10Aによってコンパイルされてバッファメモリ17に展開され、CPU10は当該展開されたプログラム(ネイティブコード)を実行する。なお、図3を用いて説明したように、割込信号出力処理により、ゲーム装置1では、一定時間毎に、デコーダ11のデコード動作を無効にするための信号の送信についてのカウンタのカウントが開始される。なお、ゲームカートリッジ40のメモリ41に記録されるゲーム用プログラムに基づいて実行される処理には、図2および図4を参照して説明したように、タイマリフレッシュ処理が含まれる。タイマリフレッシュ処理では、無効信号送信カウンタのカウントを、一定時間毎にクリアする処理である。つまり、本実施の形態では、タイマリフレッシュ処理が一定時間毎に実行されることにより、無効信号送信カウンタがタイムアウトして、タイマ12がデコーダ11へデコード動作を無効にするための信号を送信する事態を回避できる。したがって、ゲーム装置1では、ゲーム用プログラムが実行されていれば、デコーダ11は継続してデコード動作を実行する。
【0048】
なお、「1−2.」の欄で説明したように、ゲームカートリッジ40のメモリ41に記録されているゲーム用プログラムが、ゲーム装置1において単にコピー動作に供された場合には、タイマリフレッシュ処理(図2および図4参照)は実行されることはない。したがって、コピー動作の途中で、デコーダ11のデコード動作が無効とされ、ゲーム用プログラムは、部分的に正常にデコードされない状態で、ゲームカートリッジ50のフラッシュメモリ51に書込まれることになる。
【0049】
以上説明した本実施の形態によれば、ゲーム装置1においてデコーダ11およびタイマ12を追加するような設計変更を行なえば、本発明の情報処理システムを実現することができる。なお、ゲーム装置1とゲームカートリッジ40とでは、ゲームカートリッジ40の方が圧倒的に生産される数量は多いと考えられる。したがって、本実施の形態によれば、安価に、本発明を実現することができる。
【0050】
また、本実施の形態では、ゲーム装置1と当該ゲーム装置1において実行されるプログラムを記録するゲームカートリッジ40によって情報処理システムが実現されたが、本発明において実行されるプログラムは、ゲーム用のものに限定されず、表計算ソフトやワープロソフトのいわゆるビジネスソフト等、他の種類のアプリケーションプログラムであっても良い。
【0051】
[2.第2の実施の形態]
図5は、本発明の情報処理システムの第2の実施の形態の構成を模式的に示す図である。
【0052】
本実施の形態では、情報処理システムの一例であるゲーム処理システムは、主に、ゲーム装置1Aと、当該ゲーム装置1Aに着脱可能に装着されるゲームカートリッジ40A,50Aとを含む。
【0053】
本実施の形態では、第1の実施の形態においてゲーム装置1に設けられていたデコーダとタイマが、ゲームカートリッジ40A側に備えられている。
【0054】
なお、本実施の形態のゲーム装置1Aに設けられているCPU10は、第1の実施の形態において図2〜図4を参照して説明した各処理を実行するが、その内容については同様のものとすることができる。つまり、たとえば、第1の実施の形態では、割込信号出力処理において、割込信号発生回路14はタイマ12の無効信号送信カウンタのカウントを開始させていた。本実施の形態において実行される割込信号出力処理においても、割込信号発生回路14は、コネクタ22を介して、ゲームカートリッジ40Aに設けられているタイマ43に対して、無効信号送信カウンタのカウントを開始させる。
【0055】
なお、本実施の形態では、ゲームカートリッジ40Aは、メモリ41、デコーダ42、およびタイマ43を備えている。デコーダ42およびタイマ43の動作は、コネクタ22を介して、ゲーム装置1AのCPU10によって制御される。そして、メモリ41に記録されたゲーム用プログラムが実行される際には、当該プログラムはデコーダ42によってデコードされ、デコードされたプログラムはコネクタ22を介してCPU10へ送られ、当該CPU10が所定のプログラムを実行することにより実現されるコンパイラ10Aによってコンパイルされて、ネイティブコードとしてバッファメモリ17に展開される。CPU10は、当該展開されたネイティブコードを実行する。
【0056】
以上説明した本実施の形態では、本発明の特徴的な構成要素であるデコーダとタイマがゲームカートリッジ40A側に設けられる。したがって、ゲーム装置1A側に、既に販売等されてユーザの手元にあるゲーム装置1Aに対して構成要素の追加を特に行なうことなく、本発明に従った情報処理システムを実現することができる。なお、割込信号発生回路14については、フラッシュメモリ18に、無効信号送信カウンタのカウントを開始させるようなプログラムを追加して格納することにより実現できると考えられる。
【0057】
[3.第3の実施の形態]
図6は、本発明の情報処理システムの第3の実施の形態であるゲーム処理システムの構成を模式的に示す図である。
【0058】
本実施の形態のゲーム処理システムは、ゲーム装置1Bと、ゲームカートリッジ40とを主に含む。本実施の形態のゲーム装置1Bは、第1の実施の形態のゲーム装置1に対して、コネクタが1つである点で相違する。ゲーム装置1Bのコネクタ22には、図6に示すようにゲームカートリッジ40を接続させることもできるし、また、図7に示すように、ゲームカートリッジ40とは異なる種類のゲームカートリッジであるゲームカートリッジ50を接続させることもできる。
【0059】
本実施の形態のゲーム装置1Bにおいても、図2〜図4を参照して説明した各処理が、第1の実施の形態において説明したのと同様に実行される。
【0060】
[4.第4の実施の形態]
図8は、本発明の情報処理システムの第4の実施の形態であるゲーム処理システムの構成を模式的に示す図である。本実施の形態では、ゲーム装置1に対して、ゲームカートリッジ40は、USB(Universal Serial Bus)メモリからなる。そして、ゲーム装置1のコネクタ22には、USBポートが接続されている。そして、ゲームカートリッジ40は、USBポート60とUSB接続されることにより、USBポート60を介して、ゲーム装置1と接続される。
【0061】
本実施の形態のゲーム装置1においても、図2〜図4を参照して説明した各処理が実行される。
【0062】
[5.第5の実施の形態]
図9は、本発明の情報処理システムの第5の実施の形態であるゲーム処理システムの構成を模式的に示す図である。
【0063】
本実施の形態のゲーム処理システムでは、ゲーム装置1のコネクタ22には、LAN(Local Area Network)カードなどの無線通信装置61が接続されている。
【0064】
また、第1の実施の形態においてゲームカートリッジ40のメモリ41に記録されていたゲーム用プログラムは、情報端末70の記憶装置73に記憶されている。なお、情報端末70は、当該情報端末の動作を全体的に制御する制御装置71とLANカードなどの無線通信装置とを含む。
【0065】
そして、ゲーム装置1は、無線通信装置61を介して、情報端末70に接続されている。
【0066】
本実施の形態のゲーム装置1のCPU10は、無線通信装置61を介して情報端末70と通信することにより、記憶装置73に記録されたゲーム用プログラムの読込を行なう。
【0067】
本実施の形態のゲーム装置1においても、図2〜図4を参照して説明した各処理が実行される。
【0068】
[6.第6の実施の形態]
図10は、本発明の情報処理システムの第6の実施の形態である情報処理システムにおける情報処理端末の一例であるゲーム装置1のCPU10が実行するゲーム用プログラム実行処理のフローチャートである。
【0069】
図10に示されたフローチャートには、図2に示されたフローチャートに対して、ステップS60の処理の後、ステップS70の処理が追加されている。ステップS70では、CPU10が、バッファメモリ17に書込んだ処理のネイティブコードを消去する。つまり、本実施の形態のゲーム装置1は、ステップS60でゲームカートリッジ40が取外されたと判断すると、ステップS70で、タイマリフレッシュ処理(図4参照)を実行するためのネイティブコードをバッファメモリ17から消去させた後、ステップS10へ処理を戻す。
【0070】
本実施の形態によれば、ゲームカートリッジ40がゲーム装置1から取外された後、速やかに、タイマリフレッシュ処理に対応するネイティブコードが消去される。したがって、バッファメモリ17に書込まれたままの状態で放置されたタイマリフレッシュ処理に対応するネイティブコードが、ゲームカートリッジ40がゲーム装置1から取外された後、別のゲームカートリッジをコネクタ22に接続されてコピーされ、それによって、タイマリフレッシュ処理の内容が解析される事態をより確実に回避できる。
【0071】
今回開示された各実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。また、各実施の形態に記載の技術は、可能な限り組み合わされて実施されることが意図される。
【図面の簡単な説明】
【0072】
【図1】本発明の情報処理システムの第1の実施の形態であるゲーム処理システムの構成を模式的に示す図である。
【図2】図1のCPUが実行するゲーム用プログラム実行処理のフローチャートである。
【図3】図1のCPUが実行する割込信号出力処理のフローチャートである。
【図4】図2のタイマリフレッシュ処理のサブルーチンのフローチャートである。
【図5】本発明の情報処理システムの第2の実施の形態であるゲーム処理システムの構成を模式的に示す図である。
【図6】本発明の情報処理システムの第3の実施の形態であるゲーム処理システムの構成を模式的に示す図である。
【図7】本発明の情報処理システムの第3の実施の形態であるゲーム処理システムの構成を模式的に示す図である。
【図8】本発明の情報処理システムの第4の実施の形態であるゲーム処理システムの構成を模式的に示す図である。
【図9】本発明の情報処理システムの第5の実施の形態であるゲーム処理システムの構成を模式的に示す図である。
【図10】本発明の情報処理システムの第6の実施の形態であるゲーム処理システムのゲーム装置において実行されるゲーム用プログラム実行処理のフローチャートである。
【図11】従来の、プログラムROMからのプログラムデータの読出が制御される装置の構成を模式的に示す図である。
【符号の説明】
【0073】
1,1A,1B ゲーム装置、10 CPU、11,42 デコーダ、12,43 タイマ、13 比較器、14 割込信号発生回路、15 キーデータ記憶部、16 キー発生回路、17 バッファメモリ、18,51 フラッシュメモリ、21,22 コネクタ、31 表示部、32 音声出力部、33 入力部、40,50 ゲームカートリッジ、41 メモリ、60 USBポート、61,72 無線通信装置、71 制御装置、73 記憶装置、70 情報端末。
【特許請求の範囲】
【請求項1】
カートリッジと、前記カートリッジを着脱可能に取り付けられる情報処理端末とを備える情報処理システムであって、
前記カートリッジは、第1のプログラムを記録する記録手段を含み、
前記第1のプログラムをデコードするデコーダをさらに備え、
前記情報処理端末は、前記第1のプログラムが前記デコーダによってデコードされたプログラムである第2のプログラムを実行する実行手段を含み、
一定時間ごとに、前記デコーダを無効にする処理を実行する無効処理手段をさらに備え、
前記第2のプログラムは、前記実行手段に、前記一定時間ごとに、前記無効処理手段による前記デコーダの無効を回避させる第3のプログラムを含む、情報処理システム。
【請求項2】
前記デコーダおよび前記無効処理手段は、前記情報処理端末に設けられる、請求項1に記載の情報処理システム。
【請求項3】
前記デコーダおよび前記無効処理手段は、前記カートリッジに設けられる、請求項1に記載の情報処理システム。
【請求項4】
前記情報処理端末は、メモリとコンパイラをさらに備え、
前記コンパイラは、前記第2のプログラムを前記メモリに展開し、
前記情報処理端末は、
前記カートリッジが取り付けられているか否かを検出する検出手段と、
前記検出手段が前記カートリッジが取り付けられている状態から取り外された状態となったことを検出した場合に、前記メモリに展開された前記第2のプログラムの中の少なくとも前記第3のプログラムを消去する消去手段とを含む、請求項1〜請求項3のいずれかに記載の情報処理システム。
【請求項5】
カートリッジを着脱可能に取り付けられる情報処理端末であって、
前記カートリッジは、第1のプログラムを記録する記録手段を備え、
前記第1のプログラムがデコーダによってデコードされたプログラムである第2のプログラムを実行する実行手段と、
一定時間ごとに、前記デコーダを無効にするための処理を実行する無効処理手段とを備え、
前記実行手段は、前記第2のプログラムを実行することにより、前記一定時間ごとに、前記無効処理手段による前記デコーダの無効を回避するための処理を実行する、情報処理端末。
【請求項6】
前記デコーダをさらに備える、請求項5に記載の情報処理端末。
【請求項7】
情報処理端末に着脱可能に取り付けられるカートリッジであって、
第1のプログラムを記録する記録手段を備え、
前記情報処理端末は、前記第1のプログラムがデコーダによってデコードされたプログラムである第2のプログラムを実行し、
前記デコーダは、一定時間ごとに、無効にされるための処理を実行され、
前記第2のプログラムが実行されることにより、前記一定時間ごとに、前記デコーダの無効を回避するための処理が実行される、カートリッジ。
【請求項8】
前記デコーダ、および、前記一定時間ごとに、前記デコーダを無効にするための処理を実行する無効処理手段をさらに備える、請求項7に記載のカートリッジ。
【請求項9】
第1のプログラムを記録する記録手段を含むカートリッジと、前記カートリッジを着脱可能に取り付けられる情報処理端末とを備える情報処理システムにおけるプログラム実行方法であって、
前記情報処理端末は、メモリ、コンパイラ、およびプログラムを実行する実行手段とを含み、
前記コンパイラが、前記第1のプログラムをデコードされたコードを第2のプログラムとして前記メモリに展開するステップと、
前記プログラム実行手段が、前記第2のプログラムを実行するステップと、
前記プログラム実行手段が、一定時間ごとに、前記デコーダを無効にするための処理を実行するステップとを備え、
前記第2のプログラムを実行するステップは、前記一定時間ごとに前記デコーダの無効を回避するための処理を実行するステップを含む、プログラム実行方法。
【請求項1】
カートリッジと、前記カートリッジを着脱可能に取り付けられる情報処理端末とを備える情報処理システムであって、
前記カートリッジは、第1のプログラムを記録する記録手段を含み、
前記第1のプログラムをデコードするデコーダをさらに備え、
前記情報処理端末は、前記第1のプログラムが前記デコーダによってデコードされたプログラムである第2のプログラムを実行する実行手段を含み、
一定時間ごとに、前記デコーダを無効にする処理を実行する無効処理手段をさらに備え、
前記第2のプログラムは、前記実行手段に、前記一定時間ごとに、前記無効処理手段による前記デコーダの無効を回避させる第3のプログラムを含む、情報処理システム。
【請求項2】
前記デコーダおよび前記無効処理手段は、前記情報処理端末に設けられる、請求項1に記載の情報処理システム。
【請求項3】
前記デコーダおよび前記無効処理手段は、前記カートリッジに設けられる、請求項1に記載の情報処理システム。
【請求項4】
前記情報処理端末は、メモリとコンパイラをさらに備え、
前記コンパイラは、前記第2のプログラムを前記メモリに展開し、
前記情報処理端末は、
前記カートリッジが取り付けられているか否かを検出する検出手段と、
前記検出手段が前記カートリッジが取り付けられている状態から取り外された状態となったことを検出した場合に、前記メモリに展開された前記第2のプログラムの中の少なくとも前記第3のプログラムを消去する消去手段とを含む、請求項1〜請求項3のいずれかに記載の情報処理システム。
【請求項5】
カートリッジを着脱可能に取り付けられる情報処理端末であって、
前記カートリッジは、第1のプログラムを記録する記録手段を備え、
前記第1のプログラムがデコーダによってデコードされたプログラムである第2のプログラムを実行する実行手段と、
一定時間ごとに、前記デコーダを無効にするための処理を実行する無効処理手段とを備え、
前記実行手段は、前記第2のプログラムを実行することにより、前記一定時間ごとに、前記無効処理手段による前記デコーダの無効を回避するための処理を実行する、情報処理端末。
【請求項6】
前記デコーダをさらに備える、請求項5に記載の情報処理端末。
【請求項7】
情報処理端末に着脱可能に取り付けられるカートリッジであって、
第1のプログラムを記録する記録手段を備え、
前記情報処理端末は、前記第1のプログラムがデコーダによってデコードされたプログラムである第2のプログラムを実行し、
前記デコーダは、一定時間ごとに、無効にされるための処理を実行され、
前記第2のプログラムが実行されることにより、前記一定時間ごとに、前記デコーダの無効を回避するための処理が実行される、カートリッジ。
【請求項8】
前記デコーダ、および、前記一定時間ごとに、前記デコーダを無効にするための処理を実行する無効処理手段をさらに備える、請求項7に記載のカートリッジ。
【請求項9】
第1のプログラムを記録する記録手段を含むカートリッジと、前記カートリッジを着脱可能に取り付けられる情報処理端末とを備える情報処理システムにおけるプログラム実行方法であって、
前記情報処理端末は、メモリ、コンパイラ、およびプログラムを実行する実行手段とを含み、
前記コンパイラが、前記第1のプログラムをデコードされたコードを第2のプログラムとして前記メモリに展開するステップと、
前記プログラム実行手段が、前記第2のプログラムを実行するステップと、
前記プログラム実行手段が、一定時間ごとに、前記デコーダを無効にするための処理を実行するステップとを備え、
前記第2のプログラムを実行するステップは、前記一定時間ごとに前記デコーダの無効を回避するための処理を実行するステップを含む、プログラム実行方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2009−193131(P2009−193131A)
【公開日】平成21年8月27日(2009.8.27)
【国際特許分類】
【出願番号】特願2008−30540(P2008−30540)
【出願日】平成20年2月12日(2008.2.12)
【出願人】(000116024)ローム株式会社 (3,539)
【Fターム(参考)】
【公開日】平成21年8月27日(2009.8.27)
【国際特許分類】
【出願日】平成20年2月12日(2008.2.12)
【出願人】(000116024)ローム株式会社 (3,539)
【Fターム(参考)】
[ Back to top ]