(57)【要約】【課題】  オン・デマンドでゲームプログラムのデータを供給するセキュリティ機能を有するプログラム書き換えシステムを構築する。【解決手段】  書き換え機のＣＰＵ５１によって書込保護部５２とゲームカセット７０の制御部７１とにデータが入力され、それぞれにおいて当該データを用いた演算が行われる。そして、得られた演算結果を比較し、これらが一致する場合にのみ、正規の書き換え機５０およびゲームカセット７０が正常に動作しているものと判断して、書き換え機５０によって、ゲームカセット７０のフラッシュメモリ７２内部のゲームプログラムデータが書き換えられる。【選択図】図１８
2004303272.tif 000002
【特許請求の範囲】
【請求項１】
持ち運び可能な情報記憶媒体である書き換え媒体に、プログラムのデータを、書き換え機によって書き換えるプログラム書き換えシステムであって、
前記書き換え媒体は、
プログラムのデータを書き換え可能に記憶する半導体メモリと、
前記半導体メモリの動作を制御するメモリ制御部と、
第１演算回路と、を備え、
前記プログラムデータ書き換え機は、
プログラムのデータを記憶するための記憶媒体と、
前記記憶媒体に記憶されたプログラムのデータを、前記書き換え媒体へと書き込む書き込み手段と、
第２演算回路と、
データ設定手段と、を備え、
前記書き換え媒体を前記書き換え機に接続して前記プログラムの書き換えを行う際に、前記データ設定手段は、前記第１および第２演算回路に、共通のデータを入力し、
前記メモリ制御部は、前記第１および第２演算回路の演算結果のデータが同一であるときに限って、前記半導体メモリへの書き込みを許容するプログラム書き換えシステム。
【請求項２】
前記メモリ制御部は、前記第１および第２演算回路の演算結果のデータが同一であるときに、前記半導体メモリへの書き込みを当該メモリ制御部からの書き込みに限って許容するとともに、所定のデータを前記半導体メモリへ書き込み、その後さらに、当該半導体メモリからデータを読み出し、双方を比較した結果、一致が得られたときに限って、前記書き換え機から前記半導体メモリへの書き込みを許容する、
請求項１に記載のプログラム書き換えシステム。
【請求項３】
持ち運び可能な情報記憶媒体である書き換え媒体に、プログラムのデータを、書き換え機によって書き換えるプログラム書き換えシステムであって、
前記書き換え媒体は、
プログラムのデータを書き換え可能に記憶する半導体メモリと、
前記半導体メモリの動作を制御するメモリ制御部と、を備え、
前記メモリ制御部は、前記半導体メモリに対する書き込みを許容するモードおよび禁止するモードを含む複数の動作モードの間を、遷移するプログラム書き換えシステム。
【請求項４】
前記書き換え媒体は、演算回路と比較器とを、さらに備え、
前記演算回路は、前記書き換え機から送られるデータに対して演算を実行し、
前記比較器は、前記演算回路の演算結果のデータと前記書き換え機から送られる別のデータとの間の比較を行い、
前記複数の動作モードが、第１ないし第４動作モードであり、
前記メモリ制御部は、前記書き換え媒体が前記書き換え機に接続されると、まず前記第１動作モードとなり、当該第１動作モードでは、前記半導体メモリへの書き込みを禁止するとともに、前記比較器が比較した二つのデータが互いに一致していないときには、前記第２動作モードへ遷移し、一致しているときには、前記第３動作モードへ遷移し、
前記メモリ制御部は、前記第２動作モードでは、前記半導体メモリへの書き込みを禁止したままで動作を停止し、
前記メモリ制御部は、前記第３動作モードでは、当該メモリ制御部からの書き込みに限って前記半導体メモリへの書き込みを許容するとともに、当該半導体メモリへ所定のデータを書き込み、さらに、データを読み出し、これら双方のデータが互いに一致しなければ前記第２動作モードへ遷移し、一致すれば前記第４動作モードへ遷移し、
前記メモリ制御部は、前記第４動作モードでは、前記書き換え機から前記半導体メモリへの書き込みを許容する、
請求項３に記載のプログラム書き換えシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ホスト局から複数の端末局のゲームプログラムのデータを供給し、端末局でそのデータをゲーム実行装置に適用される持ち運び可能な情報記憶媒体に要求に応じて書き込むゲームプログラム供給システムに好適なプログラム書き換えシステムに関する。
【背景技術】
【０００２】
ゲーム機やパーソナルコンピュータでゲームを実行するためのゲームプログラムのデータ（いわゆるゲームソフト）をゲーム・オン・デマンドで供給する場合、ホスト局と複数の端末局を公衆回線あるいは専用回線などの回線網で結び、端末局側からホスト局に対してデータの要求を出し、ホスト局がその要求に逐一応えて要求のあった端末局にデータをその都度配信するシステムを構築することが考えられる。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、そのようなシステムでは、多くの端末局が同時にホスト局に対して要求を出すことを考えた場合、公衆回線あるいは専用回線の回線数を同時にホスト局に対してデータの要求を出す可能性のある数だけ用意しておかなければ、端末局側が回線数の制限によりデータをホスト局側からダウンロードできないという問題が生じる。
【０００４】
また、多くの端末局の要求に応えることができるだけの回線数を確保したとしても、そのような要求が集中した場合にホスト局は要求のあったそれぞれの端末局に対して一時に別々に応答を返さなければならず、端末局の数が多くなればなるほどホスト局の処理能力の向上が求められ、端末局数，回線数によってはホスト局に要求されるデータ処理能力が膨大なものになってしまうという問題点もある。
【０００５】
この発明は上記のような問題点を解決するためになされたもので、回線網の設備やホスト局のデータ処理能力に対する要求が過大になることなく多数の端末局を含んだゲーム・オン・デマンドのシステムを構築することができるゲームプログラム供給システムに適したプログラム書き換えシステムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
この発明の請求項１に係るプログラム書き換えシステムは、持ち運び可能な情報記憶媒体である書き換え媒体に、プログラムのデータを、書き換え機によって書き換えるシステムであって、前記書き換え媒体は、プログラムのデータを書き換え可能に記憶する半導体メモリと、前記半導体メモリの動作を制御するメモリ制御部と、第１演算回路と、を備え、前記プログラムデータ書き換え機は、プログラムのデータを記憶するための記憶媒体と、前記記憶媒体に記憶されたプログラムのデータを、前記書き換え媒体へと書き込む書き込み手段と、第２演算回路と、データ設定手段と、を備え、前記書き換え媒体を前記書き換え機に接続して前記プログラムの書き換えを行う際に、前記データ設定手段は、前記第１および第２演算回路に、共通のデータを入力し、前記メモリ制御部は、前記第１および第２演算回路の演算結果のデータが同一であるときに限って、前記半導体メモリへの書き込みを許容するように構成されている。
【０００７】
この発明の請求項２に係るプログラム書き換えシステムでは、前記メモリ制御部は、前記第１および第２演算回路の演算結果のデータが同一であるときに、前記半導体メモリへの書き込みを当該メモリ制御部からの書き込みに限って許容するとともに、所定のデータを前記半導体メモリへ書き込み、その後さらに、当該半導体メモリからデータを読み出し、双方を比較した結果、一致が得られたときに限って、前記書き換え機から前記半導体メモリへの書き込みを許容するように構成されている。
【０００８】
この発明の請求項３に係るプログラム書き換えシステムは、持ち運び可能な情報記憶媒体である書き換え媒体に、プログラムのデータを、書き換え機によって書き換えるプログラム書き換えシステムであって、前記書き換え媒体は、プログラムのデータを書き換え可能に記憶する半導体メモリと、前記半導体メモリの動作を制御するメモリ制御部と、を備え、前記メモリ制御部は、前記半導体メモリに対する書き込みを許容するモードおよび禁止するモードを含む複数の動作モードの間を、遷移するように構成されている。
【０００９】
この発明の請求項４に係るプログラム書き換えシステムでは、前記書き換え媒体は、演算回路と比較器とを、さらに備え、前記演算回路は、前記書き換え機から送られるデータに対して演算を実行し、前記比較器は、前記演算回路の演算結果のデータと前記書き換え機から送られる別のデータとの間の比較を行い、前記複数の動作モードが、第１ないし第４動作モードであり、前記メモリ制御部は、前記書き換え媒体が前記書き換え機に接続されると、まず前記第１動作モードとなり、当該第１動作モードでは、前記半導体メモリへの書き込みを禁止するとともに、前記比較器が比較した二つのデータが互いに一致していないときには、前記第２動作モードへ遷移し、一致しているときには、前記第３動作モードへ遷移し、前記メモリ制御部は、前記第２動作モードでは、前記半導体メモリへの書き込みを禁止したままで動作を停止し、前記メモリ制御部は、前記第３動作モードでは、当該メモリ制御部からの書き込みに限って前記半導体メモリへの書き込みを許容するとともに、当該半導体メモリへ所定のデータを書き込み、さらに、データを読み出し、これら双方のデータが互いに一致しなければ前記第２動作モードへ遷移し、一致すれば前記第４動作モードへ遷移し、前記メモリ制御部は、前記第４動作モードでは、前記書き換え機から前記半導体メモリへの書き込みを許容するように構成されている。
【発明の効果】
【００１０】
本発明の請求項１に係るプログラム書き換えシステムによれば、二つの演算回路の演算結果が一致するときに限って、半導体メモリへの書き込みが許容されるので、書き換え機または書き換え媒体のいずれかが正規の装置でないときに、半導体メモリへのプログラムの書き込みが不可能となる。すなわち、正規に供給されたものではない書き換え機または書き換え媒体を用いてのプログラムデータの不正な書き換えを防止することができるという効果がある。
【００１１】
本発明の請求項２に係るプログラム書き換えシステムによれば、半導体メモリへの所定のデータの書き込みおよび読み出しが行われ、それらのデータが一致したときに限って、書き換え機から半導体メモリへの書き込みが許容されるので、故障した半導体メモリへのプログラムの書き込みを防止することができるという効果がある。
【００１２】
本発明の請求項３に係るプログラム書き換えシステムによれば、メモリ制御部が複数の動作モードの間を遷移することによって、半導体メモリへの書き込みが許可あるいは禁止される。このため、遷移の条件を適切に設定することによって、プログラムの不測の書き換えを防止することができるという効果が得られる。
【００１３】
本発明の請求項４に係るプログラム書き換えシステムによれば、メモリ制御部が第１〜第４動作モードの間を遷移するので、正規に供給されたものではない書き換え機または書き換え媒体を用いてのプログラムデータの不正な書き換えを防止することができるとともに、故障した半導体メモリへのプログラムの書き込みをも防止することができるという効果がある。
【発明を実施するための最良の形態】
【００１４】
図１〜図５は、この発明によるゲームプログラム供給システムに用いる通信網の５つの形態を示す図である。また図６は、端末局の詳細を示すブロック図である。
【００１５】
図１〜図５において、ホスト局１はゲームプログラムのデータの供給元となる。複数の端末局２は、ホスト局１と通信網を介して接続され、該通信網を通じてオンラインでホスト局１よりゲームプログラムのデータの供給を受ける。複数の端末局２は、また、別途にオフラインでもゲームプログラムデータの供給を受ける。
【００１６】
図１，図２の通信網はＩＳＤＮ回線や公衆電話回線などの地上通信網であり、図１は中継局を置かない場合、図２は負荷分散のために中継局３を置いた場合である。図３の通信網は衛星データ通信回線などの衛星通信網であり、通信衛星である衛星局４を備えている。図４，図５の通信網は地上通信網と衛星通信網の併用であり、図４の通信網は図１と図３の通信網を組合せたもの、図５の通信網は図２と図３の通信網を組合せたものに相当する。
【００１７】
図６において、各端末局２は、ホスト局１から通信網を介してオンライン供給されたゲームプログラムのデータを保存する読み書き可能な第１の記憶手段としてのハードディスク装置を含むハードディスクドライブ（ＨＤＤ）１３を備えている。また各端末局２は、別途にオフラインでゲームプログラムのデータの供給を受けるための読み出し専用の第２の記憶手段としてのＣＤ−ＲＯＭを含むＣＤ−ＲＯＭドライブ１４を備えている。これらＨＤＤ１３およびＣＤ−ＲＯＭドライブ１４は、バス１１を介して、端末局２の全動作の制御を司るＣＰＵ１２と接続されている。なお、このバス１１は模式的に表したものでコンピュータの内部バスの他、外部接続ケーブルなども含む概念である。
【００１８】
さらに各端末局２は、利用者に発行された会員カードから各利用者のＩＤデータ等を読み取るためのカードリーダ１５と、各端末局２を操作するときに用いる操作盤／モニタ１７と、通信網が衛星データ通信網であるときにデータ受信のために用いる衛星データ通信受信装置１６と、通信網がＩＳＤＮ回線あるいは公衆電話回線であるときに回線接続のために用いるＩＳＤＮ／Ｐｈｏｎｅインターフェース１８と、利用者の要求に応じゲーム機などのゲーム実行装置に適用される持ち運び可能な情報記憶媒体であるゲーム実行用記憶媒体２０にＨＤＤ１３あるいはＣＤ−ＲＯＭドライブ１４に記憶されているゲームプログラムのデータを書き込むためのプログラミングヘッド１９とを備えている。これらもバス１１を介してＣＰＵ１２に接続されている。
【００１９】
動作において、各端末局２は通信網を通じてホスト局１から定期的にあるいは随時にゲームプログラムのデータの供給（ダウンロード）を受ける。端末局２からの要求に応じてダウンロードするわけではないので、ホスト局１は通信網が混雑していない時間帯を選んで、しかも最低単位の１回線ごとでも動作することができる。ダウンロードされたデータは各端末局２でＨＤＤ１３に保存される。この場合、ＨＤＤ１３に対するデータの書き込み・保存（さらに望ましくは消去）はすべてホスト局１にて管理される。すなわち各端末局２は常時、通信網に接続されて着信可能状態に置かれており、ホスト局１側で書き込み・保存制御を行うことにより各端末局２（ＨＤＤ１３）に対し順次にあるいは一斉にデータの書き込み・保存が実行される。いずれの端末局２に対してもホスト局１が行うべき書き込み・保存制御の内容は同一で済むので、特に一斉同報通信とすれば端末局数が増えてもホスト局１の負荷には全く影響しないという利点がある。
【００２０】
このようにしてオンラインで定期あるいは随時配信されたゲームプログラムのデータ量が相当量に達すると、そのゲームプログラムのデータを別途にオフラインでＣＤ−ＲＯＭで各端末局２に配信する。例えば、ＣＤ−ＲＯＭ１枚で３００本程度の大量のゲームプログラムのデータを収録することが可能である。配信されたＣＤ−ＲＯＭは各端末局２のＣＤ−ＲＯＭドライブ１４に装備される。これにより重複するＨＤＤ１３の記憶データが不要となり、その記憶エリアは新たなデータの記憶のために使用される。
【００２１】
オンラインでのゲームプログラムのデータの供給において、ホスト局１は盗用防止のためデータを暗号化してダウンロードしてもよい。暗号を解読するためのキー情報は、別途に通信網を通じてホスト局１から各端末局２に与えておく。キー情報は定期的に変更することもできる。各端末局１では、キー情報をメモリ（例えばＨＤＤ１３を用いてもよい）に記憶しておき、ＣＰＵ１２は記憶されたキー情報に基づきダウンロードされたゲームプログラムの暗号化データをＨＤＤ１３に保存するときに暗号解読し、あるいは暗号化データのままＨＤＤ１３に保存しておきそのデータを読み出すときに暗号解読する。
【００２２】
特に図４，図５の通信網では、衛星通信網を用いてゲームプログラムの暗号化データを配信し、地上通信網を用いて暗号解読のキー情報を付与するのが効果的である。衛星通信網を用いることにより、情報量の多いゲームプログラムのデータを多数の端末局２に受信不能地域を作り出すことなく一斉同報通信することが容易に可能となる。この場合、暗号解読のキー情報も衛星通信網で送るとすると、容易に傍受可能であるので暗号化の意味が薄れるが、キー情報のみ地上通信網を通じて送ることによりこの点を解決できる。
【００２３】
ゲームプログラムの欲しい利用者は最寄りの端末局２に出かける。端末局２では利用者のＩＤカードがカードリーダ１５に読み込まれる。その利用者情報は通信網を通じてリアルタイムあるいはバッチ処理でホスト局１にアップロードされてもよい。
【００２４】
利用者の要求するゲームプログラムのデータは、ＨＤＤ１３あるいはＣＤ−ＲＯＭドライブ１４から読み出され、プログラミングヘッド１９を介してゲーム実行用記憶媒体２０に書き込まれる。ゲーム実行用記憶媒体２０としては、例えば消去・再書き込み可能なＲＯＭの一種であるカスタム・フラッシュメモリを利用したゲームカセット型のものとすることもできる。これにより物理的強度に優れ、リサイクル使用可能なゲーム実行用記憶媒体が実現できる。利用者は所望のゲームプログラムのデータが書き込まれたゲーム実行用記憶媒体２０を自己のゲーム機に適用し、ゲームを楽しむことができる。
【００２５】
なお、衛星通信網に代えて衛星通信網以外の電波による通信網を用いてもよく、その場合でも同様の効果を得ることができる。
【００２６】
図７は、この発明によるゲームプログラム供給システムに用いる通信網の別の形態を示す図である。この実施の形態においては、通信網としてＰＯＳシステムが用いられる、実際上、各端末局２は売上管理用のＰＯＳシステムが導入された小売店舗に設置することが多い。そのような場合、既存のＰＯＳシステムをこの発明によるゲームプログラム供給システムの通信網として利用するのが本実施の形態である。
【００２７】
図７において、ＰＯＳシステムは、例えば、周知のように、対象全地域を統轄するホスト局２１と、各地域ごとに設けられた地域本部２２と、各小売店舗２３に設置されたＰＯＳ端末２４とが、地域本部２２を中継局としたツリー状の通信回線網で接続され構築されている。すなわち、図２と類似の形態である。また、一般的に、セキュリティ管理のために、各地域本部２２ごとに、警備会社２５にも通信回線網が接続されている。各小売店舗２３のＰＯＳ端末２４は、インターフェースケーブル２６を介して、ゲームプログラムデータ書き換え機２７に接続されている。ＰＯＳ端末２４とゲームプログラムデータ書き換え機２７とにより、前述した端末局２と同等の機能を実現している。
【００２８】
図８は、ＰＯＳ端末２４とゲームプログラムデータ書き換え機２７とをインターフェースケーブル２６で接続した状態を示す外観図である。ＰＯＳ端末２４には周知のようにバーコードリーダー２８が備えられている。このバーコードリーダー２８を、図６の操作盤／モニタ１７の一部として代りに用いることができる。ＩＳＤＮ／Ｐｈｏｎｅインターフェース１８はＰＯＳ端末２４内に備わっている。カードリーダ１５はＰＯＳ端末２４に備わっていればそれを用いることができるし、なければゲームプログラムデータ書き換え機２７に設ける。図６の端末局２の残りの構成要素はゲームプログラムデータ書き換え機２７に設ける。なお、図８の２９は、ゲーム実行用記憶媒体であるゲームカセットの装着コネクタであり、図６のプログラミングヘッド１９にゲーム実行用記憶媒体２０をセットするためのものである。
【００２９】
ゲームプログラムデータ書き換え機２７に保存されるゲームプログラムのデータは、ＰＯＳシステムの通信網を通じてホスト局２１から供給されたものであってもよい。また、オフラインで、ＣＤ−ＲＯＭにより各店舗のゲームプログラムデータ書き換え機２７に配信されたものであってもよい。また、前述したようにこれらを併用するものであってもよい。さらに、別途に設けた衛星通信網による配信を併用することも可能である。この場合は、ちょうど図５と類似の形態となる。
【００３０】
本実施の形態によれば次のような利点がある。すなわち、まず、セキュリティ管理が容易かつ安価に実現できる。一般にＰＯＳシステムにおいてはセキュリティ管理システムが構築済みであり、このセキュリティ管理システムの管理対象にゲームプログラムデータ書き換え機２７を加えるように若干の変更を加えるだけで、本発明によるゲームプログラム供給システムのセキュリティ管理も行うことができる。例えばＰＯＳ端末２４とゲームプログラムデータ書き換え機２７との接続が犯罪者等により切断された場合に、ＰＯＳ端末２４が自動的にホスト局２１に通報するようにすることも、既存のＰＯＳシステムのセキュリティ管理システムに若干の手を加えるだけで、特に専用の機器の追加等を必要とすることなく容易に可能である。
【００３１】
また、操作方法が簡略化するという利点もある。すなわち、一般にＰＯＳ端末２４にはバーコードリーダー２８が備えられており、これをゲームプログラムデータ書き換え機２７の操作に利用するのである。例えばゲームプログラムデータ書き換え機２７に保存されているゲームプログラムのリストをバーコード化しておき、バーコードリーダー２８によるバーコード読み取りによって特定のゲームプログラムの選択を行うことができる。また、書き換え開始等、ゲームプログラムデータ書き換え機２７に与えるべき様々な指令をバーコード化しておいて、その読み取りにより指令付与を実行することもできる。このように、ＰＯＳ端末２４側からの制御でゲームプログラムデータ書き換え機２７の一部もしくは全部の操作を可能とすることにより、ゲームプログラムデータ書き換え機２７の操作装置を簡略化することが可能になる。また、バーコードリーダーの操作であれば店員も慣れているので、ゲームプログラムデータ書き換え機２７の操作について操作者である店員の熟練も早い。しかも、バーコード読み取りによりゲームプログラムデータ書き換え機２７を操作するようにしておけば、仮にゲームプログラムデータ書き換え機２７が盗まれたとしても、バーコードリーダー２８がなければ、しかもバーコードの内容を知らなければ、正しく動作させることはできないので、防犯上にも役立つ。
【００３２】
さらに、システム構築が安価にできるという利点もある。すなわち、ＰＯＳ端末２４にはホストコンピュータ２１との接続手段が備わっており、ＰＯＳ端末２４にゲームプログラムデータ書き換え機２７を接続して用いる場合にはゲームプログラムデータ書き換え機２７にホストコンピュータ２１との接続手段を設ける必要がないので、安価にシステムを構築することが可能である。
【００３３】
なお、上記実施の形態ではゲームプログラムデータ書き換え機２７をＰＯＳ端末２４に接続して用いる場合について示したが、以下の種々の実施の形態では、ゲームプログラムデータ書き換え機２７が図６の端末局２のすべての機能を備えるものであってもよい。
【００３４】
図９は、この発明によるゲームプログラム供給システムで利用される持ち運び可能な情報記憶媒体であるゲーム実行用記憶媒体２０として、カスタム・フラッシュメモリを内蔵したゲームカセット３０を用いた場合の、カセット内部の構成の一例を示すブロック図である。この実施の形態におけるゲームカセット３０は、既存の様々な仕様のゲームカセットに対応可能なように構成されている。ここで仕様とは、ゲームカセットに搭載されているＲＯＭやＲＡＭの容量、ゲーム機の規格として標準化された総アドレス空間に対する前記ＲＯＭ容量やＲＡＭ容量の割り付け（メモリマップ）を意味する。既存のゲームカセットは、ゲームの種類に応じて、様々な仕様により実現されているのが実情である。
【００３５】
図１０は、ゲームカセットの仕様の一例を示す図である。（Ａ）はカセット仕様１のメモリマップを示し、（Ｂ）はカセット仕様２のメモリマップを示す。総アドレス空間は、バンク０からバンク３のアドレス００００ＨからＦＦＦＦＨまで準備されている。カセット仕様１では比較的小さいＲＯＭ容量とＲＡＭ容量しか有しておらず、それらはバンク０とバンク１の各一部に図１０（Ａ）のように割り付けられている。これに対しカセット仕様２は比較的大きいＲＯＭ容量とＲＡＭ容量を有しており、それらはバンク０からバンク３のほとんどを用いて図１０（Ｂ）のように割り付けられている。
【００３６】
ここで、例えば、この発明で用いるゲームカセット３０をカセット仕様２で準備し、このゲームカセット３０にカセット仕様１のゲームプログラムを書き込む場合を想定する。ゲームプログラムのデータはカセット仕様１のＲＯＭのエリアのバンクおよびアドレスに対応づけられており、このデータをカセット仕様２のゲームカセット３０に記憶する場合も、同じバンクおよびアドレスにより、フラッシュメモリにより実現されたカセット仕様２のＲＯＭのエリアに格納される。そしてこのゲームプログラムが実行される場合、カセット仕様１で作成されたプログラムがＲＡＭのアドレス（例えばバンク１の００００Ｈ）を指定したとすると、いま実際に格納されているカセット仕様２ではそのアドレスにはＲＡＭが存在せず、動作不能である。また容量の小さいカセットでは、アドレスの最上位ビットをアドレス指定に使わず残りのビットだけでアドレス指定するようにアドレス指定回路が構成されている仕様のものもある。この仕様においては、例えばアドレス８０００Ｈとアドレス００００Ｈとは同じアドレス指定となり、片方（例えばカセット仕様１であればバンク０のアドレス００００Ｈ）にメモリが実在していなくとも、実在する方のメモリアドレスから同じデータが読み出されることになる（いわゆるイメージと呼ばれている）。このイメージ仕様のカセットのゲームプログラムを通常仕様のこの発明によるゲームカセット３０に記憶させて動作させると、例えばアドレス８０００Ｈとアドレス００００Ｈとは当然別のアドレス指定となるので、上記のようなイメージの動作を行うことはできない。
【００３７】
既存のゲームカセットの仕様は様々なものが存在するのが実情であるので、この発明で用いるゲームカセット３０をどのような仕様で構成したとしても、仕様間の互換がとれるようにしておかなければ、この発明によるゲームプログラム供給システムを全仕様のゲームカセットに対応可能なものとすることができない。
【００３８】
そこで、図９のこの発明によるゲームカセット３０では、仕様間の互換をとるため、カセット仕様選択回路３１を設けている。カセット仕様選択回路３１は、仕様を特定するためのコードを記憶するコード記憶部３２と、仕様間の違いに応じてどのメモリのどのアドレスにアクセスするかを変更する（すなわちメモリマップの読み換えをするのに等しい）マップモード切り換え回路３３とから構成されている。ゲームプログラムのデータを書き換え可能に記憶するためにフラッシュＲＯＭ３４が設けられ、また従来のゲームカセットと同様にＲＡＭ３５が設けられる。フラッシュＲＯＭ３４，ＲＡＭ３５は、所定の仕様でバンク０〜３，アドレス００００Ｈ〜ＦＦＦＦＨのメモリマップに割り付けられる。なおコード記憶部３２は、フラッシュＲＯＭ３４と同じフラッシュメモリ上に実現されてもよいし、別のフラッシュメモリを用いてもよい。
【００３９】
マップモード切り換え回路３３は、この発明に用いるゲームカセット３０の仕様（メモリマップ）と、既存の様々なゲームカセットの仕様（メモリマップ）との間の互換を達成するために必要なアドレスの読み換えを行う。前述の例（この発明に用いるゲームカセット３０をカセット仕様２で準備し、このゲームカセット３０にカセット仕様１のゲームプログラムを書き込む）の場合でいえば、カセット仕様１のＲＡＭのアドレスをマップモード切り換え回路３３の働きによりカセット仕様２のＲＡＭのアドレス（バンク２のＲＡＭでもバンク３のＲＡＭでもよい）に変換してＲＡＭ３５にアクセスする。またイメージ仕様の場合は、イメージに相当するメモリが実在しない部分のメモリアドレスを、それに対応するメモリが実在する部分のメモリアドレスにマップモード切り換え回路３３の働きにより変換してフラッシュＲＯＭ３４やＲＡＭ３５にアクセスする。
【００４０】
既存の様々なゲームカセットの仕様は内容が確定しているので、この発明に用いるゲームカセット３０の仕様の内容が確定することにより、正常に動作するためにマップモード切り換え回路３３が実現すべきメモリアドレスの読み換え規則が確定する。この読み換え規則は、一方仕様のメモリアドレスと他方仕様のメモリアドレスとを対応づけたルックアップテーブルメモリにより容易に実現することができる。ただし、このルックアップテーブルメモリは、既存の様々なゲームカセットの仕様の各々ごとに設ける必要がある。そして、いずれのルックアップテーブルメモリを用いるかは、コード記憶部３２に記憶されたコード情報により決定する。
【００４１】
動作において、ゲームカセット３０をゲームプログラムデータ書き換え機２７に装着することにより、フラッシュＲＯＭ３４に所望のゲームプログラムのデータを書き込む。また、そのゲームプログラムの仕様に相当するコード情報を、コード記憶部３２に書き込んでおく。ゲームカセット３０をゲーム機本体に装着してゲームを実行する場合、例えば電源立ち上げ時にマップモード切り換え回路３３はコード記憶部３２内のコード情報を入力して、該当のルックアップテーブルを能動化する。そして、そのルックアップテーブルによるアドレス変更の下で、ゲーム機本体とフラッシュＲＯＭ３４，ＲＡＭ３５間の信号の授受が行われるので、ゲームカセット３０の仕様とそこに記憶されるゲームプログラムの仕様いかんにかかわらず、正常にゲームを実行することが可能になる。
【００４２】
なお、マップモード切り換え回路３３をＧＡＬもしくはＦＰＧＡ等の書き換え可能なプログラマブルロジックで、構成することもできる。このようにしておけば、将来新たな種類のカセットができ仕様が増えた場合でも、それに対応可能なようにロジックの内容を書き換えることにより、マップモード切り換え回路３３の対応範囲の拡張を容易に行うことができる。例えばＧＡＬチップを用い、そのチップをＩＣソケットを介してマップモード切り換え回路３３に配備しておくことにより、容易に取り外してロジックの内容を書き換えられる。また、ルックアップテーブルメモリと書き換え可能なプログラマブルロジックの併用によりマップモード切り換え回路３３を構成することも可能である。
【００４３】
図１１は、この発明によるゲームプログラム供給システムで利用される持ち運び可能な情報記憶媒体であるゲーム実行用記憶媒体２０として、カスタム・フラッシュメモリを内蔵したゲームカセット３０を用いた場合の、カセット内部の最も簡単な構成を示すブロック図である。この実施の形態では、フラッシュＲＯＭ３４，ＲＡＭ３５と外部との間に図９のカセット仕様選択回路３１を設けず、しかも外部とのインターフェースを１カ所だけとしている。すなわち、この１カ所の外部インターフェースを介して、ゲーム機本体およびゲームプログラムデータ書き換え機との信号授受を行う。
【００４４】
図１３はゲームカセットの外観図である。従来より周知のように、ゲームカセット３０の底面がゲーム機本体装着側であり、そこにゲーム機本体と接続するためのコネクタ（図示せず）が設けられている。本実施の形態では、このコネクタをゲームプログラムデータ書き換え機との接続にも用いることにより、簡便にゲームカセット３０を構成することができる。ただし、ゲームプログラムデータ書き換え機２７による書き換えを実行するためには、今までのゲーム機本体との信号だけでは制御信号が足りないため、従来一般に用いられていたゲーム機接続用コネクタに代えて、新たな仕様のゲーム機接続用コネクタを用いる必要がある。あるいは、従来仕様のゲーム機接続用コネクタを用いる場合は、そのコネクタ周辺にゲームプログラムデータ書き換え機２７用の不足の信号追加を行うための変更を加える必要がある。いずれの場合も、そのように構成されたゲームカセット３０を従来一般のコネクタ仕様により製造された既存のゲーム機本体に装着するためには、装着用アダプタを別途準備し、該アダプタを介して装着することが必要である。
【００４５】
図１２は、そのような装着用アダプタを不用にしたゲームカセット３０の内部構成を示すブロック図である。この実施の形態においては、図１１の実施の形態において、外部とのインターフェースを２カ所設けている。すなわち、ゲーム機本体とのインターフェースとゲームプログラムデータ書き換え機とのインターフェースを別々に設け、このそれぞれを介してゲーム機本体およびゲームプログラムデータ書き換え機との信号授受を行う。
【００４６】
図１４は、外部とのインターフェースを２カ所設けた場合のゲームカセット３０の構成の一例を示す外観図である。従来からのゲーム機本体装着側であるカセット３０の底面には、従来からの仕様のゲーム機接続用コネクタ（図示せず）が従来通りに設けられている。一方、この底面の反対面、すなわちカセット３０の上面には、ゲームプログラムデータ書き換え機接続用のコネクタ部が設けられ、このコネクタ部は開閉自在の蓋３６により閉じられている。蓋３６は、ゲームカセット３０をゲーム機本体に装着したときに上方を向くカセット上面を閉じて、ゲームプログラムデータ書き換え機接続用のコネクタ部に埃が入るのを防ぐ役割をする。
【００４７】
図１５はゲームカセット３０をゲームプログラムデータ書き換え機２７のコネクタ部２９に装着するときの様子を示す説明図である。３７は書き換え機２７のコネクタ部２９内に設けられているコネクタ受けであり、ゲームカセット３０を書き換え機２７のコネクタ部２９に挿入することにより、該コネクタ部２９内に待機しているコネクタ受け３７が蓋３６を押し開けて、ゲームカセット３０のコネクタ３８と係合し電気的に接続される。
【００４８】
なお、ゲームカセット３０に設けるゲームプログラムデータ書き換え機接続用のコネクタ部は、必ずしもゲームカセット３０の上面に設ける必要はない。ゲームカセット３０を従来構成のゲーム機本体に装着するときに物理的に干渉しない位置であれば、ゲームカセット３０のいずれの面に設けてもよい。
【００４９】
本実施の形態によれば、ゲーム機本体にゲームカセット３０を装着する際に、追加のアダプタを介して装着することなく既存のゲーム機本体に直接に装着することが可能となり、追加の部品購入をユーザに要求することなく書き換え可能なゲームカセットを用いたゲームプログラム供給システムを構築することが可能となる。また、ゲームカセット３０にゲームプログラムデータ書き換え機接続用のコネクタ部を専用に設けることにより、既存のゲーム機本体のハードウェア構成による制限を受けることなくシステムを構成することが可能になる。
【００５０】
図１６は、ゲームカセット３０にゲームプログラムの不正書き換え防止機能を設けた場合のカセット内部の構成例を示すブロック図である。この実施の形態においては、図１２の実施の形態において、フラッシュＲＯＭ３４とゲームプログラムデータ書き換え機用インターフェースとの間にセキュリティ回路３９を設けている。
【００５１】
図１７は、セキュリティ回路３９の一構成例を示すブロック図である。ゲームプログラムデータ書き換え機２７によりフラッシュＲＯＭ３４のデータを書き換えるに際し、書き換え対象のゲームプログラムデータの供給に先立ち、ゲームプログラムデータ書き換え機２７から当該ゲームプログラムデータに対応のセキュリティ・キー値が与えられ、このキー値はセキュリティ・キー記憶部４０に記憶される。キー値は各ゲームプログラムデータに特有の値として予め設定され、ゲームプログラムデータ書き換え機２７において各ゲームプログラムデータと対応づけて記憶される。例えばオンラインによりゲームプログラムデータ書き換え機２７にゲームプログラムデータを配信するときは、ゲームプログラムデータと同時にオンラインで対応のセキュリティ・キー値を配信し、ＣＤ−ＲＯＭによりオフラインでゲームプログラムデータ書き換え機２７にゲームプログラムデータを配信するときは、そのＣＤ−ＲＯＭ内に各ゲームプログラムデータごとに対応づけてセキュリティ・キー値を書き込んでおく。
【００５２】
演算器４１は、ゲームプログラムデータ書き換え機からセキュリティ・キー値に続いて与えられる書き換え対象のゲームプログラムデータを受け、当該データに所定の演算を施す。演算内容は予め定められており、例えば当該演算を実行する論理回路として演算器４１が構成される。演算器４１の演算結果は比較器４２に与えられる。またセキュリティ・キー記憶部４０のキー値が比較器４２に与えられる。比較器４２は両者を比較し、両者が一致するときのみゲート４３をオンする制御信号を出力する。したがって、供給されるゲームプログラムデータから演算した値と予め記憶されたセキュリティ・キー値とが一致しなければ、ゲート４３はオフし、以降のゲームプログラムデータのフラッシュＲＯＭ３４への書き込みは行われない。なお、チェックサム値やＣＬＣなどによるチェックを用いることができる。
【００５３】
この実施の形態によれば、正しいセキュリティ・キー値を保有するゲームプログラムデータ書き換え機以外からの書き込みを阻止することができるので、たとえゲームプログラムデータ書き換え機があったとしても正規にオンラインあるいはＣＤ−ＲＯＭのオフラインで配信されたゲームプログラムデータを書き換えソースとしない限りゲームカセット３０のゲームプログラムの書き換えは不可能であり、書き換え可能なゲームカセット３０のゲームプログラムの不正書き換えを防止することができるという利点がある。
【００５４】
図１８は、ゲームプログラムのデータの不正書き換え防止機能を有する書き換え機およびゲームカセットの他の構成例を示すブロック図である。この実施の形態の書き換え機５０およびゲームカセット７０は、これらの双方がともに正規の装置であること、すなわち、不正に供給された装置ではないことを確認した上で、プログラムのデータの書き込みが行われるように構成されている。さらに、プログラムのデータの書き込みが行われる前に、フラッシュメモリ７２にハードウェア故障がないかどうかについても検査が実行される。
【００５５】
書き換え機５０には、ＣＰＵ５１の他に、書き込み保護部５２、書き込み部５５、通信インタフェース５６、および記憶部５７が備わっている。これらの装置部分は、バスライン５８を介して互いに結合している。これらの中で、書き込み部５５は、ゲームカセット７０との間で信号を授受する装置部分であり、例えば図６のプログラミングヘッド１９として構成される。通信インタフェース５６は、プログラムのデータを供給する通信回線との間のインタフェースであり、例えば、図６のＩＳＤＮ／Ｐｈｏｎｅインターフェース１８として構成される。また、記憶部５７は、プログラムのデータを格納する記憶媒体であり、例えば、図６のＨＤＤ１３として構成される。
【００５６】
ゲームカセット７０には、図９のゲームカセット３０と同様に、ゲームプログラムのデータを書き込むためのメモリとして、フラッシュメモリ（フラッシュＲＯＭ）７２が備わっている。ゲームカセット７０には、さらに、制御部７１が備わっている。これらの装置部分は、バスライン７８を介して互いに結合している。
【００５７】
書き換え機５０の側に設けられる書き込み保護部５２と、ゲームカセット７０の側に設けられる制御部７１とは、互いに共同してプログラムの不正書き込みを防止する機能を果たす。すなわち、この実施の形態では、書き換え機５０に書き込み保護部５２が備わり、ゲームカセット７０に制御部７１が備わる点が、他の実施の形態の書き換え機２７、およびゲームカセット３０とは特徴的に異なっている。なお、書き込み保護部５２および制御部７１は、ＡＳＩＣ（カスタムＬＳＩ）で構成される。
【００５８】
図１９は、書き換え機５０の特徴部をなす書き込み保護部５２の内部構成を示すブロック図である。書き込み保護部５２には、インタフェース５３および書き込み保護制御部５４が備わっている。インタフェース５３は、ＣＰＵ５１と書き込み保護制御部５４との間に介在するインタフェースである。
【００５９】
ＣＰＵ５１からインタフェース５３へと、リセット信号ＲＳ、システムクロック信号ＣＬＫ、リードイネーブル信号ＲＤ、ライトイネーブル信号ＷＲ、アドレス信号ＡＤＲ１、および、データ信号ＤＴが入力される。データ信号ＤＴは、データバスを伝送媒体とし、ＣＰＵ５１と書き込み保護制御部５４との間で、双方向に授受される。また、アドレス信号ＡＤＲ１は、アドレスバスを伝送媒体とする。
【００６０】
書き込み保護制御部５４には、データ設定用の二つのレジスタ６１，６２、演算回路６４、演算結果格納用の二つのレジスタ６３，６５、比較器６６、および、比較結果格納用のレジスタ６７が備わっている。
【００６１】
図２０は、ゲームカセット７０の特徴部をなす制御部７１の内部構成を示すブロック図である。制御部７１には、インタフェース７３、書き込み保護制御部７４、および、メモリ制御部７５が備わっている。インタフェース７３は、書き換え機５０に備わるＣＰＵ５１と、制御部７１の内部に備わる書き込み保護制御部７４との間に介在するインタフェースである。ＣＰＵ５１とインタフェース７３との間では、ＣＰＵ５１とインタフェース５３との間と同様に、データ信号ＤＴ、その他の信号が授受される。
【００６２】
書き込み保護制御部７４は、不正書き込みを防止する上で、中心的な役割を果たす装置部分である。そして、その主要部は、書き込み保護制御部５４と同様に構成される。すなわち、書き込み保護制御部７４には、データ設定用の二つのレジスタ８１，８２、演算回路８４、演算結果格納用の二つのレジスタ８３，８５、比較器８６、および、比較結果格納用のレジスタ８７が備わっている。
【００６３】
書き込み保護制御部７４には、さらに、制御信号出力部８８が備わっている。制御信号出力部８８は、メモリ制御部７５へと、内部フラッシュ制御信号ＣＮＴ１および書き込み許可信号ＷＰＭを出力する。書き込み許可信号ＷＰＭは、フラッシュメモリ７２への書き込みを許可すべき旨の指示を与える信号であり、内部フラッシュ制御信号ＣＮＴ１は、例えばフラッシュメモリ７２の検査の開始等を指示する命令コードである。
【００６４】
メモリ制御部７５は、書き込み保護制御部７４およびＣＰＵ５１からの信号にもとづいて、フラッシュメモリ７２の書き込み動作および読み出し動作を制御する装置部分である。図示を略するが、メモリ制御部７５には、アドレス信号ＡＤＲ１をデコードし、フラッシュメモリ７２のアドレスを指定するフラッシュアドレス信号ＡＤＲ２として出力するアドレスデコーダが備わっている。メモリ制御部７５には、さらに、カセットの仕様に応じたメモリマップを作成するためのメモリマップ生成部が備わっている。このメモリマップ生成部は、例えば、図９のカセット仕様選択回路３１として構成される。
【００６５】
メモリ制御部７５からフラッシュメモリ７２へは、データ信号ＤＴおよびフラッシュアドレス信号ＡＤＲ２の他に、フラッシュ制御信号ＣＮＴ２が入力される。フラッシュ制御信号ＣＮＴ２は、フラッシュメモリ７２の書き込み動作および読み出し動作を指示する信号である。なお、データ信号ＤＴは、メモリ制御部７５とフラッシュメモリ７２との間で、双方向に授受が行われる。
【００６６】
図２１および図２２は、ゲームカセット７０を書き換え機５０へと接続して、プログラムのデータをゲームカセット７０のフラッシュメモリ７２へと書き込む際の、書き換え機５０とゲームカセット７０との結合体全体における動作の流れを示すフローチャートである。以下において、これらのフローチャートに沿って、書き換え機５０およびゲームカセット７０の各部の動作を詳述する。
【００６７】
処理が開始されると、まず、ステップＳ１において、書き換え媒体、すなわちゲームカセット７０が書き換え機５０へと挿入される。その結果、書き換え機５０とゲームカセット７０とが、互いに接続される。
【００６８】
つづいて、ステップＳ２において、書き換え機５０の電源が投入される。すると、メモリ制御部７５はメモリマップの作成を実行する。その後、処理はステップＳ３，Ｓ４へ移行する。
【００６９】
ステップＳ３において、ＣＰＵ５１は、レジスタ６１，６２に１バイトずつのデータを書き込む。それと同時または前後して、ステップＳ４において、ＣＰＵ５１は、レジスタ８１，８２へ、レジスタ６１，６２へ書き込むデータとそれぞれ同一の１バイトずつのデータを書き込む。その結果、レジスタ６１とレジスタ８１は同一の１バイトのデータを保持し、レジスタ６２とレジスタ８２は同一の１バイトのデータを保持する。
【００７０】
つぎに、ステップＳ５において、演算回路６４は、レジスタ６１，６２のデータにもとづいて演算を実行し、演算結果のデータをレジスタ６５へと書き込む。同時に、ステップＳ６において、演算回路８４は、レジスタ８１，８２のデータにもとづいて演算を実行し、演算結果のデータをレジスタ８５へと書き込む。書き換え機５０およびゲームカセット７０の双方が正規の装置であれば、演算回路６４および演算回路８４は、互いに同一に構成される。このときには、双方の演算回路６４，８４では、互いに同一の演算が実行されるので、二つのレジスタ６５，８５に書き込まれたデータも互いに同一となる。
【００７１】
図２３は、正規の演算回路６４（および８４）の内部構成の一例を示す回路図である。この例では、演算回路６４は８個の排他的論理和回路を備えている。そして、それらの一方入力には、レジスタ６１に保持される１バイトのデータＡ（=A0〜A7）が入力され、他方入力には、レジスタ６２に保持される１バイトのデータＢ（=B0〜B7）が入力される。
【００７２】
そして、それらの排他的論理和として算出された１バイトのデータＣ（=C0〜C7）が、出力信号としてレジスタ６５へと入力される。書き換え機５０およびゲームカセット７０の双方が正規の装置であれば、それらに備わる演算回路６４，８４の双方が、例えば図２３の回路図のように構成される。
【００７３】
つぎに、ステップＳ７において、ＣＰＵ５１は、レジスタ８５に保持されるデータを読み出し、レジスタ６３へと書き込む。それと前後して、ステップＳ８において、ＣＰＵ５１は、レジスタ６５に保持されるデータを読み出し、レジスタ８３へと書き込む。
【００７４】
つぎに、ステップＳ９において、比較器６６は、二つのレジスタ６３，６５が保持するデータを互いに比較し、一致するか否かを判定する。そして、判定の結果を表現するデータが、レジスタ６７へと書き込まれる。レジスタ６７へ書き込まれたデータは、ＣＰＵ５１へと伝送される。
【００７５】
ステップＳ９と同時に、ステップＳ１０において、比較器８６は、二つのレジスタ８３，８５が保持するデータを互いに比較し、一致するか否かを判定する。そして、判定の結果を示すデータが、レジスタ８７へと書き込まれる。レジスタ８７へ書き込まれたデータは、制御信号出力部８８およびＣＰＵ５１へと伝送される。
【００７６】
レジスタ６７，８７に書き込まれたデータが、不一致の判定結果を表現するデータであれば、処理はステップＳ１１へと移行する。ステップＳ１１では、ＣＰＵ５１は、すべての処理を停止する。また、制御信号出力部８８は、書き込み許可信号ＷＰＭを送出しない状態を保持する。メモリ制御部７５は、書き込み許可信号ＷＰＭが入力されないので、書き換え機５０からライトイネーブル信号ＷＲ、データ信号ＤＴ、アドレス信号ＡＤＲ１などが仮に入力されても、フラッシュメモリ７２への書き込みを行わない。すなわち、フラッシュメモリ７２は、書き込み禁止の状態のままに置かれる。
【００７７】
レジスタ６７，８７に書き込まれたデータが、一致の判定結果を表現するデータであれば、処理はステップＳ１２へと移行する。ステップＳ１２では、制御信号出力部８８は、レジスタ８７に書き込まれたデータにもとづいて、書き込み許可信号ＷＰＭを出力する。その結果、メモリ制御部７５は、フラッシュメモリ７２を書き込み可能な状態に置く。ただし、メモリ制御部７５からの書き込みのみが可能となり、ＣＰＵ５１からの書き込みは、禁止されたままとなる。
【００７８】
制御信号出力部８８は、書き込み許可信号ＷＰＭを出力すると同時に、フラッシュメモリ７２の検査の開始を指示する信号を、内部フラッシュ制御信号ＣＮＴ１として出力する。メモリ制御部７５は、この信号に応答して、フラッシュメモリ７２に対して、所定のデータの書き込みを実行する。所定のデータは、メモリ制御部７５の中に、あらかじめ準備されている。
【００７９】
つぎに、ステップＳ１３において、メモリ制御部７５は、フラッシュメモリ７２に書き込んだデータを読み出すとともに、読み出されたデータを所定のデータと比較する。そして、比較の結果はＣＰＵ５１へと送信される。比較の結果として不一致が確認されると、ＣＰＵ５１は、フラッシュメモリ７２のハードウェアに異常があると判断し、前述したステップＳ１１へと処理を移行させる。同時に、メモリ制御部７５は、書き込み許可信号ＷＰＭが入力されないときと同様に、フラッシュメモリ７２への書き込みを禁止する。比較の結果として一致が確認されると、処理はステップＳ１４へと移行する。
【００８０】
ステップＳ１４では、メモリ制御部７５は、フラッシュメモリ７２を、ＣＰＵ５１からの書き込みが可能な状態に置く。つづいて、ＣＰＵ５１は、フラッシュメモリ７２に対して、所定のデータの書き込みを実行する。その後、ステップＳ１５において、ＣＰＵ５１は、フラッシュメモリ７２に書き込んだデータを読み出すとともに、読み出されたデータを所定のデータと比較する。
【００８１】
比較の結果として不一致が確認されると、ＣＰＵ５１は、フラッシュメモリ７２、またはフラッシュメモリ７２への書き込み動作に関わるメモリ制御部７５等のいずれかのハードウェアに異常があると判断し、前述したステップＳ１１へと処理を移行させる。このとき、ＣＰＵ５１は、メモリ制御部７５がフラッシュメモリ７２への書き込みを禁止するように、メモリ制御部７５を制御する。比較の結果として一致が確認されると、処理はステップＳ１６へと移行する。
【００８２】
ステップＳ１６では、記憶部５７に格納されているプログラムのデータが、ＣＰＵ５１によってフラッシュメモリ７２へと書き込まれる。これによって、フラッシュメモリ７２に記憶されるプログラムのデータが、新規のプログラムのデータへと書き換えられる。書き換えが完了すると、すべての処理が終了する。
【００８３】
なお、ステップＳ３，Ｓ４において、データの設定が行われない場合、ステップＳ５，Ｓ６において、演算結果としてのデータが読み出されない場合、あるいは、ステップＳ７，Ｓ８において、演算結果の設定が行われない場合にも、ステップＳ１０，Ｓ１１の判定において、二つの演算結果は一般に一致しないので、結果としてフラッシュメモリ７２への書き込みは禁止される。
【００８４】
以上のように、この実施の形態では、書き換え機５０およびゲームカセット７０は、これらの装置の少なくとも一方が不正である（正規の装置でない）ときに、フラッシュメモリ７２への書き込みを防止するように構成されている。
【００８５】
以上の動作にともなって、ゲームカセット７０のメモリ制御部７５は、複数の状態の間を適宜遷移する。図２４は、このことを説明する状態遷移図である。電源が投入されると、メモリ制御部７５の動作モードは、まず初期モードＭ１となる。すなわち、初期モードＭ１はデフォルトとなっている。この初期モードＭ１では、メモリマップが作成される。メモリマップの作成の詳細については、図１０を引用しつつ、すでに説明済みである。ステップＳ２の説明では略したが、メモリマップの作成が正常に行われない場合にも、メモリ制御部７５はフラッシュメモリ７２に対する書き込みを禁止する。
【００８６】
初期モードＭ１は、ステップＳ１〜Ｓ１０までの、メモリ制御部７５の動作に対応する。ステップＳ１０における比較の結果が不一致であるとき、または、上述したメモリマップの作成が正常に行われないときには、動作モードは、初期モードＭ１からリセットモードＭ２へと遷移する。リセットモードＭ２では、フラッシュメモリ７２への書き込みが禁止されるとともに、一切の動作が停止する。リセットモードＭ２は、外部よりリセット解除の操作が行われない限り、初期モードＭ１へと遷移することはない。
【００８７】
ステップＳ１０における比較の結果に問題がなければ、動作モードは初期モードＭ１からメモリチェックモードＭ３へと遷移する。メモリチェックモードＭ３へ遷移すると、メモリ制御部７５からフラッシュメモリ７２への書き込みが可能となるが、ＣＰＵ５１からの書き込みは、メモリ制御部７５によって禁止されたままである。
【００８８】
メモリチェックモードＭ３は、ステップＳ１２〜Ｓ１３の動作に対応する。そして、ステップＳ１３による判定の結果に問題があれば、動作モードはリセットモードＭ２へと遷移し、問題がなければ、メモリ書き換えモードＭ４へと遷移する。
【００８９】
メモリ書き換えモードＭ４では、ＣＰＵ５１からフラッシュメモリ７２への書き込みが許可される。そして、ステップＳ１４〜Ｓ１６の処理が行われる。すなわち、ＣＰＵ５１によるフラッシュメモリ７２の検査、および、プログラムデータの書き換えが行われる。
【００９０】
ステップＳ１５におけるフラッシュメモリ７２の検査の結果に問題があれば、その時点で動作モードはリセットモードＭ２へと遷移する。ステップＳ１５での検査に問題がなければ、プログラムデータの書き換えが行われた後で、リセットモードＭ２へと遷移する。そして、ゲームカセット７０をゲーム機本体に組み込んで使用する際には、動作モードは初期モードＭ１へと移行する。すなわち、初期モードＭ１において、ゲーム機としての通常の使用が可能となる。
【００９１】
メモリ書き換えモードＭ４では、メモリ制御部７５は、フラッシュメモリ７２を、読み出し可能な状態に置くので、フラッシュメモリ７２に格納されるプログラムのデータをゲーム機本体へと読み出すことが可能である。以上のように、ゲームカセット７０のメモリ制御部７５は、複数の状態の間を遷移するように構成されている。
【００９２】
以上の説明では、ゲームカセット７０および書き換え機５０は、ゲームプログラム供給システムの要素として構成される例を示した。しかしながら、ゲームプログラムのデータに限らず、一般にプログラムのデータを書き換え可能に記憶する半導体メモリを有し、持ち運び可能な書き換え媒体、および、この書き換え媒体にプログラムのデータを書き換える書き換え機を、それぞれ、ゲームカセット７０および書き換え機５０と同様に構成することも可能である。すなわち、この発明は、ゲームプログラム供給システムだけでなく、一般にプログラム書き換えシステムに対しても実施が可能である。
【図面の簡単な説明】
【００９３】
【図１】この発明によるゲームプログラム供給システムに用いる通信網の一形態を示す図である。
【図２】この発明によるゲームプログラム供給システムに用いる通信網の一形態を示す図である。
【図３】この発明によるゲームプログラム供給システムに用いる通信網の一形態を示す図である。
【図４】この発明によるゲームプログラム供給システムに用いる通信網の一形態を示す図である。
【図５】この発明によるゲームプログラム供給システムに用いる通信網の一形態を示す図である。
【図６】端末局の詳細な構成を示すブロック図である。
【図７】この発明によるゲームプログラム供給システムに用いるＰＯＳシステムの通信網を示す図である。
【図８】ＰＯＳ端末とゲームプログラムデータ書き換え機との接続状態を示す外観図である。
【図９】この発明で用いるゲームカセットの内部構成の一例を示すブロック図である。
【図１０】ゲームカセットの仕様の一例を示す図である。
【図１１】この発明で用いるゲームカセットの内部構成の一例を示すブロック図である。
【図１２】この発明で用いるゲームカセットの内部構成の一例を示すブロック図である。
【図１３】ゲームカセットの外観図である。
【図１４】ゲームカセットの外観図である。
【図１５】ゲームカセットをゲームプログラムデータ書き換え機に装着するときの様子を示す説明図である。
【図１６】この発明で用いるゲームカセットの内部構成の一例を示すブロック図である。
【図１７】セキュリティ回路の一構成例を示すブロック図である。
【図１８】書き換え機とゲームカセットの別の例のブロック図である。
【図１９】図１８の書き込み保護部のブロック図である。
【図２０】図１８の制御部のブロック図である。
【図２１】図１８のシステムの動作の流れを示すフローチャートである。
【図２２】図１８のシステムの動作の流れを示すフローチャートである。
【図２３】図１９の演算回路のブロック図である。
【図２４】図２０のメモリ制御部の状態遷移図である。
【符号の説明】
【００９４】
１  ホスト局
２  端末局
３  中継局
４  衛星局
１３  ＨＤＤ
１４  ＤＣ−ＲＯＭドライブ
２０  ゲーム実行用記憶媒体
２４  ＰＯＳ端末
２７  ゲームプログラムデータ書き換え機
３０  ゲームカセット
３１  カセット仕様選択回路
３４  フラッシュＲＯＭ
３９  セキュリティ回路
５０  書き換え機
５１  ＣＰＵ（データ設定手段）
５５  書き込み部（書き込み手段）
５７  記憶部（記憶媒体）
６４  演算回路（第１演算回路）
７０  ゲームカセット（書き換え媒体）
７２  フラッシュメモリ（半導体メモリ）
７５  メモリ制御部
８４  演算回路（第２演算回路）
【図１】
2004303272.tif 000003
【図２】
2004303272.tif 000004
【図３】
2004303272.tif 000005
【図４】
2004303272.tif 000006
【図５】
2004303272.tif 000007
【図６】
2004303272.tif 000008
【図７】
2004303272.tif 000009
【図８】
2004303272.tif 000010
【図９】
2004303272.tif 000011
【図１０】
2004303272.tif 000012
【図１１】
2004303272.tif 000013
【図１２】
2004303272.tif 000014
【図１３】
2004303272.tif 000015
【図１４】
2004303272.tif 000016
【図１５】
2004303272.tif 000017
【図１６】
2004303272.tif 000018
【図１７】
2004303272.tif 000019
【図１８】
2004303272.tif 000020
【図１９】
2004303272.tif 000021
【図２０】
2004303272.tif 000022
【図２１】
2004303272.tif 000023
【図２２】
2004303272.tif 000024
【図２３】
2004303272.tif 000025
【図２４】
2004303272.tif 000026