(57)【特許請求の範囲】
【請求項１】
ＣＰＵを有するゲーム機へ接続されることにより、ユーザのゲームの遂行に供されるゲームカセット装置において、
ゲーム選択プログラムと複数のゲーム機用プログラムとを含むプログラム群を格納し、当該プログラム群に属する各プログラムを前記ＣＰＵが実行する際に必要となる当該各プログラムに固有のアドレス変換の規則を各々規定する複数のデコード情報を当該各プログラムと共に格納するためのメモリと、
前記複数のデコード情報の中から選択した一つにもとづいて、アドレス変換を実行するデコードコントローラと、を備え、
前記プログラム群に属する各プログラムは、前記装置が前記ゲーム機に接続されることによって、前記ＣＰＵによって実行可能であり、
前記ゲーム選択プログラムは、前記複数のゲーム機用プログラムの一つを前記ユーザに選択させるためのプログラムであり、
前記デコードコントローラは、前記装置が前記ゲーム機へと接続されると、前記複数のデコード情報の中から、前記ゲーム選択プログラムに対応する一つを選択し、選択したデコード情報にもとづいてアドレス変換を実行することによって、前記ＣＰＵによる前記ゲーム選択プログラムの実行を可能にし、
前記デコードコントローラは、さらに、前記ゲーム選択プログラムの実行の中で前記ユーザが前記複数のゲーム機用プログラムの一つを選択すると、前記複数のデコード情報の中から、前記ユーザが選択したゲーム機用プログラムに対応する一つを選択し、選択したデコード情報にもとづいて前記ＣＰＵから出力されたアドレスを当該ゲーム機用プログラムにアクセス可能なアドレスへ変換するアドレス変換を実行することによって、ユーザが選択したゲーム機用プログラムの実行を可能にするゲームカセット装置。
【請求項２】
請求項１に記載のゲームカセット装置において、
前記デコードコントローラは、パワーオンコントローラと、デコード情報ローダと、デコード部と、を備え、
前記デコード情報ローダは、前記複数のデコード情報を各々識別する複数の符号の一つが入力されると、前記複数のデコード情報の中から、入力された符号に対応する一つを選択的に読み出すとともに、前記デコード部へと設定し、
前記デコード部は、設定されたデコード情報にもとづいて、アドレス変換を実行し、
前記パワーオンコントローラは、前記装置が前記ゲーム機へと接続されると、前記ゲーム選択プログラムに対応するデコード情報を識別する符号を、前記デコード情報ローダへ入力し、
前記ゲーム選択プログラムは、前記ＣＰＵに、前記ユーザが選択したゲーム機用プログラムのデコード情報を識別する符号を、前記デコード情報ローダへと入力させるゲームカセット装置。
【請求項３】
請求項１または請求項２に記載のゲームカセット装置において、
前記メモリが、フラッシュＲＯＭであり、
前記プログラム群、および、前記複数のデコード情報が、前記フラッシュＲＯＭに、書き換え可能に格納されているゲームカセット装置。
【請求項４】
請求項３に記載のゲームカセット装置において、
前記複数のデコード情報が、前記フラッシュＲＯＭの特殊記憶領域に、書き換え可能に格納されているゲームカセット装置。
【請求項５】
請求項１ないし請求項４のいずれかに記載のゲームカセット装置において、
前記デコードコントローラは、ソフトウェアを必要としない半導体集積回路で構成されているゲームカセット装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、家庭用ゲーム機への適用に好適なゲームカセット装置に関し、特に、ゲーム機用プログラム（いわゆる「ゲームソフト」）を、低コストかつ短時間で利用者（ユーザ）へと提供するための改良に関する。
【０００２】
【従来の技術】
家庭内での利用に適した従来周知のゲーム機は、別途市販される持ち運び可能なゲームカセット装置を、このゲーム機へと装着することによって、利用に供されるのが通例である。ゲームカセット装置には、記憶媒体としてのＲＯＭ（ただし、書換不能なマスクＲＯＭ）が内蔵されており、このＲＯＭにゲーム機用プログラムが書き込まれている。
【０００３】
他方のゲーム機には、ＣＰＵ（マイクロプロセッサ）が備わっており、ゲームカセット装置が装着されると、ＲＯＭに書き込まれているゲーム機用プログラムが、ＣＰＵによって実行される。これによって、ゲーム機のユーザは、ゲーム機用プログラムが演出するゲームを、興じつつ遂行することができた。
【０００４】
【発明が解決しようとする課題】
ところで、従来においては、ゲームごと、すなわち、ゲーム機用プログラムごとに、ゲームカセット装置が個別に市販されており、利用者は、所望のゲーム機用プログラムが格納されたゲームカセット装置を購入することによって、所望のゲームを楽しむことができた。すなわち、従来は、１個のゲームに対して１個のゲームカセット装置が対応していた。
【０００５】
このような従来のゲームカセット装置では、利用者は、入手を所望する新規のゲームが発売されるたびに、新たにゲームカセット装置を購入する必要があり、入手に要する費用が高くなるという問題点があった。このことは同時に、供給者の側においても、製造ならびに販売の上でのコスト高という問題点をもたらし、同時に、供給に至るまでに長い時間を要するという問題点を生起していた。
【０００６】
さらに、ゲーム機用プログラムは、発売から一定期間後には、製造が停止されるのが通例であり、ユーザの要望により新たな出荷の必要が生じたときには、一旦製造停止となっていたゲームカセット装置を、新たに生産する必要があった。そして、このことも、生産におけるコスト高の要因の一つとなっていた。
【０００７】
この発明は、従来の装置における上記した問題点を解消するためになされたもので、ゲーム機用プログラムを低コストかつ短時間で、利用者へ提供することを可能にするゲームカセット装置を得ることを目的とする。
【０００８】
【課題を解決するための手段】
第１の発明の装置は、ＣＰＵを有するゲーム機へ接続されることにより、ユーザのゲームの遂行に供されるゲームカセット装置において、ゲーム選択プログラムと複数のゲーム機用プログラムとを含むプログラム群を格納し、当該プログラム群に属する各プログラムを前記ＣＰＵが実行する際に必要となる当該各プログラムに固有のアドレス変換の規則を各々規定する複数のデコード情報を当該各プログラムと共に格納するためのメモリと、前記複数のデコード情報の中から選択した一つにもとづいて、アドレス変換を実行するデコードコントローラと、を備えている。
そして、前記プログラム群に属する各プログラムは、前記装置が前記ゲーム機に接続されることによって、前記ＣＰＵによって実行可能であり、前記ゲーム選択プログラムは、前記複数のゲーム機用プログラムの一つを前記ユーザに選択させるためのプログラムである。
前記デコードコントローラは、前記装置が前記ゲーム機へと接続されると、前記複数のデコード情報の中から、前記ゲーム選択プログラムに対応する一つを選択し、選択したデコード情報にもとづいてアドレス変換を実行することによって、前記ＣＰＵによる前記ゲーム選択プログラムの実行を可能にし、さらに、このゲーム選択プログラムの実行の中で前記ユーザが前記複数のゲーム機用プログラムの一つを選択すると、前記複数のデコード情報の中から、前記ユーザが選択したゲーム機用プログラムに対応する一つを選択し、選択したデコード情報にもとづいて前記ＣＰＵから出力されたアドレスを当該ゲーム機用プログラムにアクセス可能なアドレスへ変換するアドレス変換を実行することによって、ユーザが選択したゲーム機用プログラムの実行を可能にする。
【０００９】
第２の発明の装置は、第１の発明のゲームカセット装置において、前記デコードコントローラが、パワーオンコントローラと、デコード情報ローダと、デコード部と、を備えている。
そして、前記デコード情報ローダは、前記複数のデコード情報を各々識別する複数の符号の一つが入力されると、前記複数のデコード情報の中から、入力された符号に対応する一つを選択的に読み出すとともに、前記デコード部へと設定し、前記デコード部は、設定されたデコード情報にもとづいて、アドレス変換を実行する。
さらに、前記パワーオンコントローラは、前記装置が前記ゲーム機へと接続されると、前記ゲーム選択プログラムに対応するデコード情報を識別する符号を、前記デコード情報ローダへ入力し、前記ゲーム選択プログラムは、前記ＣＰＵに、前記ユーザが選択したゲーム機用プログラムのデコード情報を識別する符号を、前記デコード情報ローダへと入力させる。
【００１０】
第３の発明の装置では、第１または第２の発明のゲームカセット装置において、前記メモリが、フラッシュＲＯＭであり、前記プログラム群、および、前記複数のデコード情報が、前記フラッシュＲＯＭに、書き換え可能に格納されている。
【００１１】
第４の発明の装置では、第３の発明のゲームカセット装置において、前記複数のデコード情報が、前記フラッシュＲＯＭの特殊記憶領域に、書き換え可能に格納されている。
【００１２】
第５の発明の装置では、第１ないし第４のいずれかの発明のゲームカセット装置において、前記デコードコントローラが、ソフトウェアを必要としない半導体集積回路で構成されている。
【００１３】
【発明の実施の形態】
＜装置の概略＞
図１は、実施の形態のゲームカセット装置の概略構成を示すブロック図である。図１には、このゲームカセット装置が装着されるゲーム機の概略構成も同時に示されている。実施の形態のゲームカセット装置１００には、デコードコントローラ１、フラッシュＲＯＭ（メモリ）２、ＳＲＡＭ（スタティックＲＡＭ）３、電池４、バスライン５、および、コネクタ６，７が備わっている。ＳＲＡＭ３は、電池４でバックアップされており、そのことによって、書き込まれたデータを揮発させることなく保持しつづけることが可能となっている。なお、コネクタ６，７は、単一のコネクタへと、共通化されていてもよい。
【００１４】
フラッシュＲＯＭ２には、複数のゲーム機用プログラムが、書き換え可能に格納される。また、フラッシュＲＯＭ２には、後述するように、デコードコントローラ１の動作に必要なデータなど、ゲーム機用プログラムに付随する制御用データも同時に格納される。
【００１５】
ＳＲＡＭ３には、例えばユーザがゲームの中で獲得した成績（得点）など、ゲーム機用プログラムの実行にともなって発生し、記録される必要のあるデータが書き込まれる。ＳＲＡＭ３は、通例において、書き込まれたデータのない空の状態で、ゲームカセット装置１００がユーザへと提供（販売）される。ゲーム機用プログラムによっては、ＳＲＡＭ３を必要としないものもあり、そのようなゲーム機用プログラムのみを対象とするのであれば、ＳＲＡＭ３は備わらなくてもよい。
【００１６】
デコードコントローラ１は、後述するように、フラッシュＲＯＭ２およびＳＲＡＭ３に対するアクセスのためのアドレス信号を変換する役割を果たす装置部分である。デコードコントローラ１は、好ましくは、ソフトウェアを必要としない半導体集積回路（ハードウェア）で構成される。そうすることで、装置の製造コストが節減されるとともに、ゲーム機用プログラムの違法複製に対する保護（セキュリティ）が、格段に高められるという利点が得られる。
【００１７】
バスライン５は、デコードコントローラ１、フラッシュＲＯＭ２、ＳＲＡＭ３、および、コネクタ６，７を互いに接続している。また、デコードコントローラ１とフラッシュＲＯＭ２の間、および、デコードコントローラ１とＳＲＡＭ３の間は、バスライン５を中継しない信号線をも通じて、互いに接続されている。
【００１８】
コネクタ６，７は、それぞれ、ゲーム機１１０、および、ゲーム機用プログラム書き換え機１２０への接続が可能である。ゲーム機１１０は、従来周知のゲーム機であり、ＣＰＵ（マイクロプロセッサ）９１および入力部９２を備えている。そして、ゲームカセット装置１００がゲーム機１１０へと装着されることによって、デコードコントローラ１、フラッシュＲＯＭ２、および、ＳＲＡＭ３が、コネクタ６を通じて、ゲーム機１１０のＣＰＵ９１へと接続される。
【００１９】
ユーザがゲーム機１１０を利用するとき、すなわちゲームを遂行するときには、ゲーム機１１０には、ゲームカセット装置１００が装着されるとともに、テレビジョン受像機などの表示装置９５が接続される。その結果、ゲーム機１１０に備わるＣＰＵ９１は、フラッシュＲＯＭ２に格納されたゲーム機用プログラムを実行可能となる。
【００２０】
ユーザは、ゲーム機用プログラムが実行されるのにともなって表示装置９５に表示される映像を見ながら、入力部９２を操作することによって、ゲームを遂行することができる。ユーザは、さらに、表示装置９５に表示されるメニューを見て、フラッシュＲＯＭ２に書き込まれている複数のゲーム機用プログラムの中から、所望の一つを選択することができる。
【００２１】
フラッシュＲＯＭ２に格納されるゲーム機用プログラム、および、制御用データは、コネクタ７を通じてゲームカセット装置１００をゲーム機用プログラム書き換え機１２０へと接続することによって、書き換えることが可能である。ゲーム機用プログラム書き換え機１２０は、例えば、ゲーム機用プログラムを提供する製造者によってオーソライズされた店舗などに設置される。ユーザは、最寄りの店舗において、ゲームカセット装置１００自体を購入することなく、すでに所持するゲームカセット装置１００を持参することによって、所望のゲーム機用プログラムの提供を受けることが可能となる。
【００２２】
＜装置１００の構成＞
図２は、ゲームカセット装置１００の内部構成を詳細に示すブロック図である。フラッシュＲＯＭ２には、デコード情報テーブル２１、プログラム群２２、および、格納プログラム情報テーブル２３が、書換自在に格納されている。図２の例では、プログラム群２２は、複数のゲーム機用プログラムＰ０〜Ｐ２、および、ゲーム選択プログラムＰ３を含んでいる。
【００２３】
１つのゲームを実行するゲーム機用プログラムの容量は、通例において、１Ｍ〜３２Ｍビットの範囲内のいずれかである。近い将来においては、６４Ｍビットのゲーム機用プログラムもリリースされることも予想されている。また、現在において、１６Ｍビットのメモリ容量を有するフラッシュＲＯＭが、すでに市販されており、近い将来には、３２Ｍビット、あるいは、６４Ｍビットのメモリ容量を有するフラッシュＲＯＭも出現するものと予想されている。
【００２４】
したがって、現在においてもすでに、例えば１６Ｍビットのメモリ容量を有する市販のフラッシュＲＯＭを２個利用して、３２Ｍビットのメモリ容量を有するフラッシュＲＯＭ２を構成することによって、８Ｍビットの容量のゲーム機用プログラムを、複数個格納することが可能となる。
【００２５】
図２には、フラッシュＲＯＭ２が３２Ｍビットのメモリ容量を有し、８Ｍビットの容量を有する３個のゲーム機用プログラムＰ０〜Ｐ２と、ゲーム選択プログラムＰ３とが、プログラム群２２として格納されている例を示している。この例のように、複数個のゲーム機用プログラムのためのメモリ領域の他に、ゲーム選択プログラムを格納するためのメモリ領域をも確保する必要がある。
【００２６】
図２の例では、フラッシュＲＯＭ２のメモリ空間は、８Ｍビットの小空間に等分に区切られ、第１〜第３の小空間には、ゲーム機用プログラムＰ０〜Ｐ２が各々格納され、第４の小空間には、ゲーム選択プログラムＰ３と格納プログラム情報テーブル２３とが格納されている。一般には、小空間の広さは固定されている必要はなく、新たなゲーム機用プログラムが書き込まれるたびに、小空間の広さをあらためて設定することが可能である。
【００２７】
デコード情報テーブル２１は、公称３２ＭビットのフラッシュＲＯＭに備わる３２Ｍビット分の通常のメモリ空間（通常記憶領域）の他に、別途備わる数バイト〜数百バイト程度の特殊記憶領域に格納される。この特殊記憶領域は、市販されるフラッシュＲＯＭにおいて、すでに準備されているものである。特殊記憶領域は、通常記憶領域とは異なり、単にアドレス信号を入力するだけではアクセスすることができず、特定の暗号を幾段階かにわたって入力することによって、はじめてアクセスが可能となる特別なメモリ空間である。
【００２８】
図２の例では、この特殊記憶領域にデコード情報テーブル２１が格納されるので、ゲーム機用プログラムＰ０〜Ｐ２の書き込み、読み出しを、通常の手順で行うことが不可能となる。すなわち、ゲーム機用プログラムの違法複製に対する障壁を、さらに高くすることができるという利点が得られる。なお、特殊記憶領域を利用しない場合には、デコード情報テーブル２１は、ゲーム選択プログラムＰ３および格納プログラム情報テーブル２３とともに、第４の小空間、すなわち、通常記憶領域内のゲーム機用プログラムＰ０〜Ｐ２が格納される領域以外のメモリ領域に格納すればよい。
【００２９】
デコード情報テーブル２１は、プログラム群２２に含まれる４個のプログラムＰ０〜Ｐ４にそれぞれ対応する４個のデコード情報Ｄ０〜Ｄ３を含んでいる。デコード情報Ｄ０〜Ｄ３は、ゲーム機１１０に備わるＣＰＵ９１が、プログラムＰ０〜Ｐ３を実行する際に出力するアドレス信号を変換する規則を、それぞれ規定している。
【００３０】
格納プログラム情報テーブル２３は、ゲーム機用プログラムＰ０〜Ｐ２にそれぞれ対応する３個の格納プログラム情報Ｇ０〜Ｇ２を含んでいる。これらの格納プログラム情報Ｇ０〜Ｇ２は、ゲーム選択プログラムＰ３が実行されるときに表示装置９５に表示すべき、プログラムタイトルなどが記述されている。なお、デコード情報テーブル２１と格納プログラム情報テーブル２３が、上述した制御用データを構成する。
【００３１】
ＳＲＡＭ３のメモリ空間には、データエリア３１が確保される。このデータエリア３１には、さらに、４個のプログラムＰ０〜Ｐ３にそれぞれ対応する４個のエリアＵ０〜Ｕ３が確保される。これらのエリアＵ０〜Ｕ３は、それぞれ、ゲーム機用プログラムＰ０〜Ｐ３の実行にともなって発生し、記録の必要のあるデータを書き込むためのメモリ領域である。
【００３２】
デコードコントローラ１には、パワーオンコントローラ１１、デコード情報ローダ１２、および、デコード部１３が備わっている。デコード情報ローダ１２は、パワーオンコントローラ１１からの指示、またはゲーム選択プログラムＰ３の実行にともなう指示にもとづいて、デコード情報テーブル２１からデコード情報Ｄ０〜Ｄ３の中の一つを選択し、デコード部１３へと設定する働きをなす装置部分である。デコード部１３は、設定されたデコード情報にもとづいて、アドレス変換を実行する。
【００３３】
＜デコード情報テーブル２１＞
図３は、デコード情報テーブル２１に含まれるデコード情報Ｄ０〜Ｄ３を代表して、デコード情報Ｄ０の内容を示す説明図である。図３に示すように、デコード情報Ｄ０には、ゲーム機用プログラムＰ０が格納されるフラッシュＲＯＭ２内のメモリ領域に関するデータＤ０１〜Ｄ０３と、デコードコントローラ１内のゲーム機用プログラムＰ０に対応するエリアＵ０に関するデータＤ０４〜Ｄ０６とが含まれている。
【００３４】
これらの中で、データＤ０１は、ゲーム機用プログラムＰ０が格納されるメモリ領域のスタートアドレスを記述しており、データＤ０２はこのメモリ領域のサイズを記述している。同様に、データＤ０４は、エリアＵ０のスタートアドレスを記述しており、データＤ０５はこのエリアＵ０のサイズを記述している。
【００３５】
すでに述べたように、ゲームカセット装置１００が装着されて使用に供されるゲーム機１１０は、既存のゲーム機であってもよい。すなわち、ゲームカセット装置１００は、従来市販のゲーム機に装着して使用することが可能なように構成されている。しかしながら、単一のゲーム機用プログラムのみが書き込まれている従来のゲームカセット装置には、様々な仕様のものが存在していた。
【００３６】
ここで仕様とは、ゲームカセット装置に搭載されているＲＯＭやＳＲＡＭの容量、ゲーム機の規格として標準化された総アドレス空間に対する、ＲＯＭ容量やＲＡＭ容量の割り付け（メモリマップ）を意味する。従来のゲームカセット装置は、ゲームの種類に応じて、様々な仕様により実現されているのが実情である。
【００３７】
フラッシュＲＯＭ２に書き込まれるゲーム機用プログラムＰ０〜Ｐ２の各々は、本来、単一のゲーム機用プログラムのみを提供する従来のゲームカセット装置へ書き込まれてユーザへ提供されるものである。そして、そのゲームカセット装置の仕様は、書き込まれるゲーム機用プログラムごとに、一般に多様である。
【００３８】
ゲームカセット装置１００では、このような様々の仕様をともなうゲームカセット装置に対応したゲーム機用プログラムが書き込まれる。しかも、ゲームカセット装置１００は、従来のゲーム機に装着しても、従来のゲームカセット装置と同様に正常に動作するのでなければならない。言い替えると、ゲーム機１１０に備わるＣＰＵ９１から見たときに、ゲームカセット装置１００は、従来のゲームカセット装置と等価でなくてはならない。
【００３９】
データＤ０３，Ｄ０６は、このような多様な仕様の間の互換をとるために準備されるデータである。すなわち、データＤ０３，Ｄ０６は、ゲーム機用プログラムＰ０に付随する仕様に応じて、ＣＰＵ９１がどのメモリのどのアドレスにアクセスするかを変更する（すなわちメモリマップの読み換えをするのに等しい）ための規則（デコードパターン）を規定している。これらの中で、デコード情報Ｄ０３は、フラッシュＲＯＭ２へのアクセスに関するデコードパターンを記述しており、他方のデコード情報Ｄ０６は、フラッシュＲＯＭ２へのアクセスに関するデコードパターンを記述している。
【００４０】
そして、デコード情報Ｄ０、すなわち、データＤ０１〜Ｄ０６は、ゲーム機用プログラムＰ０に付随する仕様に対応するとともに、単一のフラッシュＲＯＭ２のメモリ空間の中の異なるメモリ領域にそれぞれ配置される複数のプログラムＰ０〜Ｐ３の一つであることにも対応して、ＣＰＵ９１がアクセス対象を指定すべく出力するアドレスを、フラッシュＲＯＭ２内のゲーム機用プログラムＰ０の領域内、あるいは、ＳＲＡＭ３内のエリアＵ０内の適切なアドレスへと変換する規則を与える。
【００４１】
デコード情報Ｄ１，Ｄ２についても同様である。すなわち、デコード情報Ｄ０〜Ｄ２は、ＣＰＵ９１がゲーム機用プログラムＰ０〜Ｐ２をそれぞれ実行するときのアドレス変換の規則を規定している。
【００４２】
さらに、デコード情報Ｄ３は、従来のゲームカセット装置にはないゲーム選択プログラムＰ３をＣＰＵ９１が実行する際のアドレス変換の規則を、デコード情報Ｄ０〜Ｄ２と同様に規定している。すなわち、デコード情報Ｄ３も、図３に示したデコード情報Ｄ０と同様の内容を含んでいる。
【００４３】
フラッシュＲＯＭ２のメモリ空間の中で、プログラムＰ０〜Ｐ３にそれぞれ割り当てられる小空間の位置および広さは、デコード情報テーブル２１に含まれるデコード情報Ｄ０〜Ｄ３によって決定される。ゲーム機用プログラム書き換え機１２０によって、プログラムＰ０〜Ｐ３が書き換えられるときには、それに対応して、デコード情報テーブル２１も書き換えられる。したがって、プログラムＰ０〜Ｐ３の書換えの際に、それらに割り当てられる小空間の位置および広さも、変更が可能である。
【００４４】
＜ゲーム選択プログラムＰ３と情報テーブル２３＞
図４は、ゲーム選択プログラムＰ３の内容を示す説明図である。図４に示すように、ゲーム選択プログラムＰ３は、３個のプログラムＸ１〜Ｘ３を含んでいる。プログラムＸ１は、格納されているゲーム機用プログラムＰ０〜Ｐ２が演出するゲームの名称等を表示装置９５へと表示するためのプログラムである。プログラムＸ２は、デコードコントローラ１を起動するためのプログラムである。そして、プログラムＸ３は、格納されるゲーム機用プログラムＰ０〜Ｐ２の中で、ユーザが選択した一つを起動するためのプログラムである。
【００４５】
図５は、格納プログラム情報テーブル２３に含まれる格納プログラム情報Ｇ０〜Ｇ２を代表して、格納プログラム情報Ｇ０の内容を示す説明図である。図５に示すように、格納プログラム情報Ｇ０は、デコード情報インデックスＩ０とプログラムタイトルＴ０とを含んでいる。格納プログラム情報Ｇ１、Ｇ２も同様である。
【００４６】
デコード情報インデックスＩ０〜Ｉ２は、デコード情報テーブル２１に含まれるデコード情報Ｄ０〜Ｄ２を識別する符号である。また、プログラムタイトルＴ０〜Ｔ２は、格納されているゲーム機用プログラムＰ０〜Ｐ２のそれぞれのタイトルを記述したデータである。
【００４７】
なお、ゲーム機用プログラム書き換え機１２０によって、プログラムＰ０〜Ｐ３が書き換えられるときには、それに対応して、デコード情報テーブル２１と同様に、格納プログラム情報テーブル２３も書き換えられる。
【００４８】
＜装置１００の動作＞
図６〜図９は、装置の動作の流れを示すフローチャートである。以下に、これらのフローチャートに沿って、装置の動作を説明する。
【００４９】
ユーザがゲームカセット装置１００を利用してゲームを遂行するためには、まず、ゲームカセット装置１００がゲーム機１１０へと装着され、その後、ゲーム機１１０の電源が投入される。ゲーム機１１０の電源が投入されると、図６に示すように、まずステップＳ１の処理、すなわち、初期デコード情報の設定が行われる。この処理は、デコードコントローラ１によって実行される。
【００５０】
図７は、ステップＳ１の内部フローを示すフローチャートである。すなわち、ステップＳ１の処理が開始されると、まずステップＳ１１において、パワーオンコントローラ１１が起動される。つづいて、ステップＳ１２において、デコード情報ローダ１２がパワーオンコントローラ１１によって起動されるとともに、格納されているすべてのプログラムＰ０〜Ｐ３の中で、最初に実行されるべきプログラムのデコード情報を識別するデコード情報インデックス、すなわち初期インデックスが、パワーオンコントローラ１１によって、デコード情報ローダ１２へと入力される。
【００５１】
初期インデックスは、例えば値”０”であり、パワーオンコントローラ１１にあらかじめ設定されている。図２に示した例では、最初に実行されるべきプログラムはゲーム選択プログラムＰ３であり、ゲーム選択プログラムＰ３に対応するデコード情報インデックスＩ３に、初期インデックスの値（例えば”０”）が、割り当てられている。したがって、デコード情報ローダ１２へは、デコード情報インデックスＩ３が入力される。
【００５２】
つぎに、ステップＳ１３へと移行し、入力されたデコード情報インデックスＩ３に対応するデコード情報Ｄ３が、デコード情報ローダ１２によって、デコード情報テーブル２１から読み出される。つづいて、ステップＳ１４において、読み出されたデコード情報Ｄ３が、デコード情報ローダ１２によって、デコード部１３へと設定される。
【００５３】
これによって、デコード部１３は、ゲーム選択プログラムＰ３の実行にともなうアドレス変換を実行することが可能となる。すなわち、ゲーム機１１０に備わるＣＰＵ９１は、ゲーム選択プログラムＰ３を実行可能となる。ステップＳ１４の処理が終了すると、ステップＳ１の処理も完了し、処理はステップＳ２（図６）へと移行する。
【００５４】
ステップＳ２では、ゲーム選択プログラムＰ３が実行される。この処理は、ゲーム選択プログラムＰ３にもとづいて、ゲーム機１１０に備わるＣＰＵ９１によって実行される。
【００５５】
図８は、ステップＳ２の内部フローを示すフローチャートである。ステップＳ２の処理が開始されると、まずステップＳ２１において、格納プログラム情報テーブル２３からプログラムタイトルＴ０〜Ｔ２が読み出され、表示装置９５へと表示される。その結果、表示装置９５の画面には、例えば図１０のような画像が現れる。そして、ユーザによる選択操作があるまで待機をつづける。
【００５６】
ユーザは、ゲーム機用プログラムＰ０〜Ｐ２に対応して表示される３種類のプログラムタイトルＴ０〜Ｔ２（「１．ゲームＡＡＡ」など）を見ながら、ゲーム機１１０に備わる入力部９２を操作することにより、それらの中の所望の一つを選択することができる。図８に戻って、ユーザによる選択操作が行われると、その結果は、ステップＳ２３において、ＣＰＵ９１へと入力される。
【００５７】
以上のステップＳ２１〜ステップＳ２３の処理は、プログラムＸ１（図４）にもとづいて実行される。なお、以下の説明の便宜上、ユーザは、ゲーム機用プログラムＰ０が演出するゲームを遂行すべく、プログラムタイトルＴ０を選択したものとする。
【００５８】
つぎに、処理はステップＳ２４へと移行し、プログラムタイトルＴ０〜Ｔ２とデコード情報インデックスＩ０〜Ｉ２との対応関係が与えられている格納プログラム情報テーブル２３を参照することにより、ユーザが選択したプログラムタイトルＴ０に対応するデコード情報インデックスＩ０が読み出される。
【００５９】
つぎに、ステップＳ２５において、デコード情報ローダ１２が起動されるとともに、読み出されたデコード情報インデックスＩ０が、デコード情報ローダ１２へと入力される。以上の、ステップＳ２４〜Ｓ２５の処理は、プログラムＸ２（図４）にもとづいて実行される。
【００６０】
つぎに、処理はステップＳ２６へと移行し、ＣＰＵ９１が出力するアドレスを、ゲーム機用プログラムを実行開始する値へと設定する。この処理は、プログラムＸ３（図４）にもとづいて実行される。ステップＳ２６の処理が終了すると、ステップＳ２の処理、すなわち、ゲーム選択プログラムＰ３にもとづく処理は完了する。
【００６１】
図６へ戻って、ステップＳ２が完了した後、あるいは、ステップＳ２５（図８）終了後のステップＳ２６と並行して、ステップＳ３の処理、すなわち、選択されたゲーム機用プログラムＰ０のデコード情報の設定が行われる。この処理は、デコード情報ローダ１２によって実行される。デコードコントローラ１が、ソフトウェアを必要としない半導体集積回路で構成されておれば、ゲーム選択プログラムＰ３にもとづくステップＳ２６の処理と、デコードコントローラ１によるステップＳ３の処理とは、並行して実行可能である。
【００６２】
図９は、ステップＳ３の内部フローを示すフローチャートである。ステップＳ３の処理が開始されると、まず、ステップＳ３１において、入力されたデコード情報インデックスＩ０に対応するデコード情報Ｄ０が、デコード情報テーブル２１から読み出される。
【００６３】
つぎに、ステップＳ３２において、読み出されたデコード情報Ｄ０が、デコード部１３へと設定される。この処理によって、デコード部１３は、ユーザが選択したゲーム機用プログラムＰ０の実行にともなうアドレス変換を実行することが可能となる。すなわち、ステップＳ２６とステップＳ３２の双方の処理の完了によって、ゲーム機１１０に備わるＣＰＵ９１は、ゲーム機用プログラムＰ０を実行可能となる。ステップＳ３２の処理が終了すると、ステップＳ３の処理も完了し、処理はステップＳ４（図６）へと移行する。
【００６４】
ステップＳ４では、選択されたゲーム機用プログラムＰ０にもとづく処理が、ＣＰＵ９１によって実行される。その結果、ユーザは、自ら選択したゲーム機用プログラムＰ０が演出するゲームの遂行に興じることが可能となる。
【００６５】
ユーザが、ゲーム機１１０の電源を一旦切って再び投入するか、あるいは、図示しないリセットボタンを操作するなどによって、ゲーム機１１０をリセットすると、処理はステップＳ１から再開される。以上のように、ゲームカセット装置１００を用いることによって、ユーザは、複数のゲーム機用プログラムの中から、所望の一つを選択して実行させることが可能となる。
【００６６】
＜ゲーム機用プログラムが単一であるときの動作＞
以上の動作説明では、複数のゲーム機用プログラムがフラッシュＲＯＭ２へ格納されているときの動作について説明した。しかしながら、ゲームカセット装置１００は、単一のゲーム機用プログラムのみを格納して動作させることも可能である。例えば、フラッシュＲＯＭ２には、ゲーム機用プログラムとして、ゲーム機用プログラムＰ０のみを格納しておき、このゲーム機用プログラムＰ０を実行させることも可能である。
【００６７】
このときには、ゲーム選択プログラムＰ３は無用であり、フラッシュＲＯＭ２に書き込む必要はない。そして、デコード情報テーブル２１には、デコード情報Ｄ０のみが格納される。格納プログラム情報テーブル２３は、ゲーム選択プログラムが存在しない以上、不要であるので書き込まれない。また、パワーオンコントローラ１１がデコード情報ローダ１２へ入力する初期インデックスの値（例えば”０”）は、デコード情報インデックスＩ０に割り当てられる。
【００６８】
そうすることで、電源投入後には、まず、ステップＳ１（図６）の処理、すなわち、ステップＳ１１〜Ｓ１４（図７）の処理が行われる結果、ゲーム機用プログラムＰ０の実行が可能となる。その後、処理は、ステップＳ２、Ｓ３を経ることなく、ステップＳ４へと移行し、ゲーム機用プログラムＰ０が実行される。
【００６９】
このように、ゲーム機用プログラムが単一であるときには、ユーザの選択操作を必要とせずに、自動的に単一のゲーム機用プログラムの実行が開始される。すなわち、ゲームカセット装置１００は、複数のゲーム機用プログラムとゲーム選択プログラムとを格納したときに、その本来の特性を発揮するものではあるが、単一のゲーム機用プログラムを格納したゲームカセット装置として転用することも可能である。
【００７０】
＜装置１００の利点＞
ゲームカセット装置１００は、以上のように構成され、かつ動作するので、つぎのような利点を有する。まず、ゲーム機用プログラムが書換可能に格納されるので、ユーザは、入手を所望する新規のゲーム機用プログラムが発売されても、新たにゲームカセット装置を購入することなく、ゲーム機用プログラム書き換え機１２０を通じて、ゲーム機用プログラムおよび制御用データの供給を受けるだけでよく、この点で入手の費用が節減される。このことは、当然ながら、供給者の側へも、製造ならびに販売の上でのコストの削減効果をもたらす。特に、すでに製造停止となっているゲーム機用プログラムの再販にも、低価格で対応し得るという利点が得られる。また同時に、供給までに要する時間も短縮される。
【００７１】
また、単一のゲームカセット装置１００の中に複数のゲーム機用プログラムが格納され、ユーザは所望の一つを選択して実行させることができるので、ユーザは単一のゲームカセット装置を所持するだけで、あたかも従来のゲームカセット装置を複数個所持したと同様に、複数個のゲーム機用プログラムが演出するゲームに、随意に興じることができる。このため、ゲーム機用プログラムの提供に要するコスト、ならびにユーザの負担が、さらに節減される。
【００７２】
さらに、ゲーム機用プログラムとともにデコード情報なども書換可能に格納され、さらに、デコードコントローラ１によってデコード情報にもとづくアドレス変換が行われるので、ゲーム機用プログラムに付随する多様な仕様にも対応し得る。すなわち、仕様上の相違が障壁とはならず、広範囲のゲーム機用プログラムを活用することができる。
【００７３】
＜変形例＞
上記したゲームカセット装置１００では、プログラム群２２、デコード情報テーブル２１、および、格納プログラム情報テーブル２３は、いずれも、フラッシュＲＯＭ２へと格納された。しかしながら、これらを格納するメモリとして、例えば、ＳＲＡＭ３と同様のＳＲＡＭ、マスクＲＯＭ、あるいは、ＳＲＡＭとフラッシュＲＯＭとの組み合わせなど、データを不揮発的に保持可能なメモリ一般が使用可能である。
【００７４】
マスクＲＯＭなどの書換不能なメモリを使用した場合には、ゲーム機用プログラム書き換え機１２０を用いて、新たなゲーム機用プログラムの供給を受けることはできなくなるが、複数のゲーム機用プログラムの中の任意の一つを選択的に実行可能であるという利点は、ゲームカセット装置１００と同様に得られる。そして、そのことによって、ゲーム機用プログラムを比較的低コストかつ短時間で、ユーザへと提供することも可能となる。
【００７５】
【発明の効果】
第１の発明の装置では、複数のゲーム機用プログラムが格納可能であり、ユーザは所望の一つを選択して実行させることができるので、この装置を用いることによって、ゲーム機用プログラムを低コストで、しかも、短時間でユーザへと提供することができる。
【００７６】
第２の発明の装置では、デコードコントローラに、パワーオンコントローラ、デコード情報ローダ、およびデコード部が備わるので、簡単な装置構成で、はじめにゲーム選択プログラムを実行し、つぎに、ユーザが選択したゲーム機用プログラムを実行することができる。
【００７７】
第３の発明の装置では、複数のゲーム機用プログラムが書き換え可能に格納されるので、ゲーム機用プログラムを、さらに低コストかつ短時間でユーザへと提供することができる。また、すでに製造停止となっている従来のゲームカセット装置に格納されるゲーム機用プログラムの有効利用を図ることもできる。
【００７８】
第４の発明の装置では、複数のデコード情報が、フラッシュＲＯＭの特殊記憶領域に格納されるので、ゲーム機用プログラムに対するセキュリティを高く確保することができる。
【００７９】
第５の発明の装置では、デコードコントローラが、ソフトウェアを必要としない半導体集積回路で構成されているので、ゲーム機用プログラムに対するセキュリティを高く確保することができる。
【図面の簡単な説明】
【図１】  実施の形態のゲームカセット装置とその周辺装置の構成を示すブロック図である。
【図２】  図１のゲームカセット装置の詳細構成を示すブロック図である。
【図３】  図２のデコード情報テーブルの内容を示す説明図である。
【図４】  図２のゲーム選択プログラムの内容を示す説明図である。
【図５】  図２の格納プログラム情報テーブルの内容を示す説明図である。
【図６】  図１のゲームカセット装置の動作を示すフローチャートである。
【図７】  図７のステップＳ１の内部フローを示すフローチャートである。
【図８】  図７のステップＳ２の内部フローを示すフローチャートである。
【図９】  図７のステップＳ３の内部フローを示すフローチャートである。
【図１０】  図８のステップＳ２２の動作を例示する説明図である。
【符号の説明】
１  デコードコントローラ
２  フラッシュＲＯＭ（メモリ）
１１  パワーオンコントローラ
１２  デコード情報ローダ
１３  デコード部
２２  プログラム群
９１  ＣＰＵ
１１０  ゲーム機
１００  ゲームカセット装置
Ｐ０〜Ｐ２  ゲーム機用プログラム
Ｐ３  ゲーム選択プログラム
Ｄ０〜Ｄ３  デコード情報
Ｉ０  デコード情報インデックス（符号）
【図１】
0003793313.tif 000002
【図２】
0003793313.tif 000003
【図３】
0003793313.tif 000004
【図４】
0003793313.tif 000005
【図５】
0003793313.tif 000006
【図６】
0003793313.tif 000007
【図７】
0003793313.tif 000008
【図８】
0003793313.tif 000009
【図９】
0003793313.tif 000010
【図１０】
0003793313.tif 000011