(57)【特許請求の範囲】
【請求項１】
表示画面と、識別装置インタフェイスと、フロッピーディスクドライブと、ゲームカートリッジインタフェイスとを有する対話型コンピュータシステムの権限を有するユーザのみに、ビデオゲームプログラムファイルの読み出しおよび書き込みを制限する方法であって、
ａ．識別装置インタフェイスに挿入された識別装置に記憶されている識別コードを読み出すステップと、
ｂ．識別装置から読み出された識別コードと、フロッピーディスクドライブに挿入されたフロッピーディスクに記憶されている前記ゲームプログラムファイルから読み出された識別コードとを比較するステップと、
ｃ．識別装置に記憶された識別コードと、フロッピーディスクに記憶された識別コードとの間に所定の関係が存在する場合、コンピュータシステムがフロッピーディスクに記憶されているゲームプログラムファイルを読み出しおよび編集することができるようにするステップと、
ｄ．前記フロッピーディスクから読み出され、ユーザによって編集されたゲームプログラムファイルから派生した編集後のゲームプログラムファイルをメモリに記憶するステップと、
ｅ．ゲームカートリッジインタフェイスに挿入されたゲームカートリッジを認証して、ゲームカートリッジが真正であれば、前記メモリに記憶されている編集後のゲームプログラムファイルの少なくとも一部を前記ゲームカートリッジに書き込むステップと、
ｆ．前記真正なゲームカートリッジに書き込まれた編集後のゲームプログラムファイルを実行するステップとを、前記コンピュータシステムが実行するように制御する、ビデオゲームプログラムファイルの読み出しおよび書き込み制限方法。
【請求項２】
識別コードがステップ（ｃ）において一致しない場合、前記フロッピーディスクに記憶されているゲームプログラムファイルの読み出しを禁止し、ステップ（ｄ）においてゲームプログラムファイルの編集を禁止するステップと、ゲームカートリッジがステップ（ｅ）において認証されれば、前記真正なゲームカートリッジに書き込まれたゲームプログラムファイルの実行を許可するステップ（ｇ）とをさらに前記コンピュータシステムが実行するように制御する、請求項１記載のビデオゲームプログラムファイルの読み出しおよび書き込み制限方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、独自のビデオグラフィックコンピュータシステムを用いて、権限を有しないユーザがプログラムおよびデータを複写することができないようにするための方法および装置に関する。本発明は、コンピュータプログラムまたはビデオゲーム作成方法を熟知しないユーザのために主に設計されたビデオゲーム作成システムに挿入される機密保護システムに関する。このようなユーザは、編集を開始した時点から残りのゲームプレイ中持続する編集変更とともにビデオゲームを実行、停止および再開することを可能にする対話型ゲームプロセッサ計算システムを動作する権限をユーザに与える個人識別カードを挿入することができる。
【０００２】
【従来の技術および発明が解決しようとする課題】
現在の家庭専用ビデオゲーム装置または商用ビデオゲーム装置は、ユーザがビデオゲームを複写するのを許可していないので、製造業者およびビデオゲーム発売元がビデオゲームに対して有する価値ある著作権および他の所有権は保護されている。ビデオゲームを不正に複写することが広く行われたことが、１９８０年代初頭において米国家庭用ビデオ業界が凋落した大きな一因と考えられており、今日においてさえ、多くの国々でビデオゲームの販売力を非常に弱めている。家庭用ビデオゲームコンソール製造業者は、１９８０年代初頭以来、機密保護対策を取り入れて、家庭用ビデオゲームを容易に複写することや、無許可のビデオゲーム、特に無許可の家庭用ビデオゲームカートリッジを使用することを防止してきている。家庭用ビデオゲーム機密保護システムの一例は、米国特許番号第４７９９６３５号（対応；特開昭６１−２９６４３３号公報）で述べられており、ニンテンドウ・エンターテイメント・システム（ＮＥＳ）およびスーパー・ニンテンドウ・エンターテイメント・システム（ＳＮＥＳ）と共に用いられている。
【０００３】
先行技術では、ユーザが、ビデオゲームプログラムが動作する所望の方法を、限られた事項について修正することができるような初歩的な試みがなされていた。この製品では、ゲーム変更装置は、従来のビデオゲームカートリッジに物理的に挿入され、その結果、ビデオゲームカートリッジは、マイクロプロセッサを基本としたビデオゲームコンソールに結合される。ゲーム変更装置は、ゲームの進行中に変更されるであろう読み出し専用メモリ（ＲＯＭ）記憶コードを含む。本装置は、ビデオゲームマイクロプロセッサのアドレスとデータバスとを監視し、期待値と一致すれば、マイクロプロセッサに対して代替コードを送信する。代替コードは、キャラクタの生命の数や発射可能なミサイルの数等のようなゲームプレイの特徴を修正する。この製品では、ユーザは、ゲーム編集処理に対する制御を行うことができず、本発明に従った現実的に実現可能な方法のようには、ゲームプレイを大幅に変更することができない。さらに、ゲームプレイは、可能な動作の範囲内でゲームプログラマが元来想定していた動作およびグラフィック表示を可能にするような変更のみが行われる。しかしながら、この先行技術の装置においては、ビデオゲームを複写することができず、従ってこの装置は、権限を有しないユーザがビデオゲームの不正な複写を行うことを許可しない。
【０００４】
ビデオゲーム設計の専門家は、独自のビデオゲームの設計を支援するために、ゲームプログラム作成ツールをこれまで利用してきた。このような作成ツールは、専門の設計者がビデオゲームを複写することを許可する。しかしながら、このような作成ツールは、ゲームプレイを行う一般のユーザに広く普及しておらず、ゲームプレイを行う一般のユーザには、通常非常に複雑すぎて使えないものである。従って、ゲームプレイを行う一般のユーザは、このような専門的な作成ツールを用いて不正にビデオゲームを複写することはほとんどない。
【０００５】
そのようなプログラミング作成システムでは、非常に単純な事項であっても、開発中のゲームを修正するためには、プログラム設計者による非常に多くの作業がしばしば必要とされる。例えば、ゲーム中のキャラクタに対して行われる変更は、通常まず、キャラクタ画像を作成した創作者が規定した元のキャラクタ配列内において行われる。キャラクタに対するあらゆる変更は、新規のファイルとして保管され、例えば開発中のゲームプログラムに変更を導入するプログラムデバッグモジュールへ送信されなければならない。開発中のゲームのグラフィックの変更は、たとえ比較的単純な修正に関してであっても、修正の再コンパイル、再格納および表示という複雑な処理を通常含む。幅広い種々の複雑な変更が、従来の作成プログラムの制御下で作成中のゲームプログラムに対して行われうるが、そのような変更には、高度なプログラミングおよびゲームプログラミング技術に関する知識が要求される。
【０００６】
【課題を解決するための手段および発明の効果】
本発明に従えば、権限を有するユーザは、比較的技術の低い小学生から技術の高いゲーム開発者まで、独自のビデオゲームを容易に作成しうる。独自のハードウェアおよびソフトウェアプラットホームによって、権限を有するユーザがゲームの作成および元のゲームの複写をアイコンを選択することによって行うことが可能となる。アイコンは、より詳細な編集画面をアクセスして、ユーザが移動オブジェクトとゲーム背景とに関連する幅広い種々のゲーム表示特徴を直接変更することを可能にする。さらに、ユーザ識別カードを用いた独自の認証システムは、ハードウェアおよびソフトウェアプラットフォームのアクセスを制御して、権限のないアクセスや、ビデオゲームおよびビデオゲームソフトウェアの複写を防止する。
【０００７】
所望するゲームのジャンルからのモデルゲームを含むモデルソフトウェアはビデオゲームＲＡＭカセットに、オペレーティングシステムソフトウェアは、システムＲＡＭに、おのおのフロッピーディスクを介して格納される。本発明によって、ユーザは、モデルゲームプレイを開始することと、所望するあらゆるゲーム画面においてゲームを停止して「システムブレイク」編集セッションを開始することとができ、編集セッションでは、幅広い種々の編集機能に対する制御を可能にするためのシステムウインドウが、ゲーム画面に重ね合わせられる。その後、ユーザは、修正を行うために、移動オブジェクトまたは背景場面を選択する。例えば、ユーザが移動オブジェクトを選択する場合は、選択された移動オブジェクトは、ユニット番号によって識別され、このユニット番号は、幅広い範囲のゲームプレイ関連の特徴に関連している。移動オブジェクトが選択されると、さらにアイコンが表示されて、ユーザは、オブジェクトに関連する１つまたはそれ以上のポーズについてのオブジェクトのキャラクタドットパターン、オブジェクトに関連する動画特徴、オブジェクトに関連して検出されたゲームプレイ条件に関連する応答、各オブジェクトに関連するステータスの集合、オブジェクトの移動パターン、オブジェクトの移動パターンに関連する音声および幅広い種々のその他のゲームプレイ関連の特徴を、完全に変更することができる。画面背景も、同様に、ステージウインドウをアクセスすることにより修正可能で、背景マップ全体、背景に関連する音楽および幅広い種々のその他の背景関連の特徴を編集することができる。
【０００８】
本発明の実施例は、多重プロセッサを基本とするゲームプロセッサコンソールを用いており、このコンソールは、編集処理およびオペレーティングシステムタスク実行を制御するメイン中央処理装置（ＣＰＵ）と、着脱可能なＲＡＭカートリッジ内に格納されるモデルビデオゲームを実行するためのゲームＣＰＵとを含む。モデルビデオゲームは、ユーザがモデルゲームの所望する面を用いて独自のビデオゲームを容易に作成することができる開始点を提供する。モデルビデオゲームは、全く新しいゲームのように見えるほど、容易に修正されうる。本システムによって、ユーザは、ゲームのあらゆる移動オブジェクト、背景画面、音楽または効果音を修正することができる。
【０００９】
メインＣＰＵおよびゲームＣＰＵは、ゲーム実行および編集処理の際には協働して、メインＣＰＵによって生成された編集画面が、プログラム実行ＣＰＵによって生成されたゲーム画面上に重ね合わされる。ゲーム処理コンソールは、幅広い種々の周辺装置に結合されるポートを含み、周辺装置には、標準的なテレビ受像機、キーボード、ゲームハンド操作器、マウス、モデムボード、ゲーム処理装置をパーソナルコンピュータシステムに結合するためのインタフェイスボード、フロッピーディスクドライブ、外部ＲＡＭゲームカートリッジおよびユーザの識別カードが含まれる。
【００１０】
本システムは、二重機密保護システムを採用しており、このシステムでは、個人識別カード（識別カード）およびゲームカートリッジの両方が、埋め込み型の機密保護カスタム集積回路（ＣＩＣ）を有し、ＣＩＣは、モデルゲームソフトウェアまたはユーザが作成したソフトウェアと協働して、ゲームプレイおよび／またはゲーム作成を可能にするように動作する。識別カードは、個人用カードであって、権限を有する一人のユーザとユーザ構成データ（ｃｏｎｆｉｇ．ｓｙｓ）に対応する独自の識別データを格納するＣＩＣおよびメモリを有する。ユーザ構成データは、オペレーティングシステムをメインＣＰＵによって実行するためのものであって、例えばマウスのスピード、マウスボタンのダブルクリック間隔、キーボードキーのリピート間隔および英語／日本語モード等がある。識別カード内の識別データは、メインＣＰＵによって、モデルゲームソフトウェアプログラムを含むフロッピーディスクに格納された識別データと比較される。識別データの比較によって、識別カードがフロッピーディスクと一致することが示されると、メインＣＰＵは、ユーザが例えばログオン等のゲーム処理装置のパーソナルコンピュータ機能（メインＣＰＵ）を起動することを可能にする。実際にビデオゲームを行うには、権限を有するゲームカートリッジがコンソール内に挿入された旨確認することによって、ゲーム処理装置（ゲームＣＰＵ）のビデオゲーム部分を起動する必要がある。
【００１１】
ゲームカートリッジも、例えばカスタム集積回路である機密保護回路（ＣＩＣ）を含む。機密保護回路は、コンソールに含まれている同様のＣＩＣと協働して認証プログラムを実行する。このようなＣＩＣおよび認証技術は、米国特許番号第４７９９６３５号（対応；特開昭６１−２９６４３３号公報）で説明されている。ゲームＣＰＵがゲームカートリッジを認証すると、ゲームＣＰＵは、ユーザがビデオゲームを行うことを許可する。権限を有するカートリッジと、対応のフロッピーディスクを伴った識別カードとが、すべてゲームプロセッサコンソール内に挿入されると、コンソールは完全に稼働し、権限を有するユーザはビデオゲームを実行、編集および作成することができるようになる。
【００１２】
いったん、この権限を有するユーザが編集されたゲームを作成すると、編集されたゲームを格納しているカートリッジは、カートリッジと、ゲーム処理装置またはＳＮＥＳビデオゲームコンソールのような他の互換ビデオゲームコンソールとを有するいかなるユーザによっても実行されうる。しかしながら、他のユーザは編集済のゲームを編集できない。二重識別カードおよびカートリッジ認証システムは、ゲームプロセッサコンソールとビデオゲームソフトウェアとに対する異なるレベルのアクセスをセットアップして、真正なゲームカートリッジを有するいかなるユーザでもそのカートリッジ上のゲームを実行することができるが、適切な識別カードと対応フロッピーディスクに記憶されたゲームソフトウェアとを有する一人または限られた集団のユーザのみが、当該ゲームを複写または編集することができる。
【００１３】
本発明のこれらおよび他の目的、特徴、局面および利点は、以下の図面とともに考慮されれば、本発明の実施例に関する以下の詳細な説明によって、より明確となるであろう。
【００１４】
【発明の実施の形態】
図１は、本発明の実施例に従ったビデオグラフィック／ビデオゲームプログラム作成システムの概略的なブロック図であって、ゲームプロセッサシステムユニットコンソール２および多くの関連入出力装置を示す。ゲームプロセッサシステムユニットコンソール２は、フロッピーディスクドライブと、例えば３．５インチフロッピーディスク８を受けるための接続ポート７（図２および図３においてより詳しく示す）とを含む。フロッピーディスク８は、モデルゲームとオペレーティングシステムソフトウェアとを含む「モデルソフトウェア」と、モデルゲームソフトウェアから派生したユーザ作成ゲームに関するデータを含むユーザデータとが含まれる。オペレーティングシステムソフトウェアは、後でより詳細に説明するように、ゲームプロセッサシステムの全操作を制御し、この制御には、ゲームプログラム関連情報を、ゲームプログラムを実行するＲＡＭカセット４内のメモリへ転送するのを制御することが含まれる。フロッピーディスク８上に実施されたモデルソフトウェアは、基本のゲームプログラムソフトウェアを含み、基本のゲームプログラムソフトウェアは、ユーザのゲーム作成を支援し、例えば「射撃ゲーム」、「ロールプレイゲーム」、「教育ゲーム」、「シミュレーションゲーム」などの生成可能なモデルゲームのジャンルのビデオゲームから新規のゲームを作成するために修正される。フロッピーディスク８は、システムが適切な構成であるかどうかを決定するためにブートアップ時に検査されるシステム構成データを付加的に含んでもよい。さらに、フロッピーディスクディスク８は、フロッピーディスクに格納されたモデルソフトウェアを複写する権限を有する特定のユーザに固有の識別データを含んでもよい。
【００１５】
ファイルは、通常６４バイトのヘッダファイルを含んで編成され、ヘッダファイルにはファイル名、日付、ファイルサイズ、ファイル属性、識別コード、暗証等のようなフィールドを含む。ファイル作成者は、ベースファイル内にのみ記録され、購入者の識別コードは、購入時に記録される。ファイル属性フィールドは、識別コードが作成者コードと一致する場合にのみファイルを可能にするか、または、代わりに、暗証が一致する場合にのみファイルを可能にするビットを含む。従って、ファイル属性フィールドまたは他のビットのステータスによっては、一定の機密保護チェックに合格するかどうかに関わらず、ファイルを可能または不可能にすることができる。ファイル属性情報は、ベースファイルアクセスの種々の条件をセットでき、例えば、アクセスが購入者によってなされれば書き込みは禁止であるとか、アクセスが購入者によってなされなければ、読み出しおよび書き込みは禁止でかつファイル名は表示されないようにできる。オペレーティングシステムは、ベースファイルアクセスコマンド（例えば格納、記憶、認証、複写等）、ファイル管理コマンド、ネットワークコマンド、暗証コマンドおよびＲＡＭカートリッジコマンドを含む。システムは、暗証を構成変数としてセットする暗証コマンドを用いる。構成変数は、ヘッダファイル内の暗証と比較される。構成変数がセットされていない場合は、暗証を有していないとみなされる。
【００１６】
フロッピーディスクに格納されて、ゲームプロセッサシステムにおいて用いられうるファイル構造の例を以下の表１に示す。
【表１】
0003707839.tif 000002
ファイル型の例には、オペレーティングシステム（「ファイル型」フィールド内の例えば「００００」で指定された）、アプリケーションソフトウェア（例えば「０００１」で指定された）、モデルゲームプログラムソフトウェア（「１０００」）およびユーザデータ（「１００１」）が含まれうる。識別データフィールドは、データ／プログラムに対応する識別データを指定するために用いられ、この識別データは、認証プログラムとともに用いられうる。認証プログラムは、データ／プログラムのアクセスをフロッピーディスクに格納された識別データと一致する識別データを備える識別カードを有するユーザのみに限定する。フロッピーディスクに格納された識別データの例には、モデルゲームプログラムに関連し、１つの識別カードに格納された固有のユーザ識別データ（このデータは、「００００  ＸＸＸＸ  ＸＸＸＸ」という形式をとってもよく、００００が識別データを通常の識別データとして指定し、ＸＸＸＸ  ＸＸＸＸは、権限を有するユーザに固有の特定の識別データまたはパスワードである）に対応する通常の識別データと、新規のファイルデータ（例えば０００１  ＸＸＸＸ  ＸＸＸＸ）と、フリー識別（例えば１１１１  ＸＸＸＸ  ＸＸＸＸ）とが含まれる。新規のファイルデータは、市場で購入したばかりのファイル用の補足識別データに対応してもよく、従ってモデルプログラムコードと共に記憶されたユーザ識別をまだ有していない。（ユーザ識別を有さない）新たに購入したモデルゲームファイルにおいては、新規のファイルデータには、新規のファイルがユーザのコンソールに最初に格納される時に、ユーザ識別データが重ね書きされる。（新規のファイルデータを有する）新たに購入したゲームは、ユーザ識別が新規のファイルデータの上に重ね書きされるまで読み出すことはできない。新規のモデルゲームファイルはユーザ識別データを有しているため、当該ファイルは、適切なユーザ識別データが呼び出されるまで、読み出しまたは編集ができず、ユーザゲームプログラムを作成するために用いることもできない。同様に、ユーザが作成した新規のユーザゲームプログラムのファイルは、ユーザ識別データを含む。このようにして、例えば製造者であるモデルゲーム作成者と、例えばユーザである新規のゲーム作成者との著作権を含む所有権は、モデルソフトウェアと、ユーザが作成したすべての新規のゲームとを複写および編集するために必要とされるユーザ識別データによって保護される。
【００１７】
識別カードおよび権限を有するゲームカートリッジは、ゲームプロセッサシステムのユーザになりうる人に対して、システムに対する種々のレベルのアクセスを提供する。権限を有する識別カード、モデルゲームプログラムおよび真正なカートリッジを有するユーザは、ゲームを複写、編集および実行する権利を有しうる。真正なカートリッジのみを有して、識別カードを有しないユーザは、ゲームを行うことは可能だが、ゲームを複写または編集することができないようにしてもよい。識別カードを有するが、ゲームカートリッジを有しないユーザは、ゲームを編集および複写することはできるが、ゲームを行うことはできないようにしてもよい。以下の表２は、ゲームプロセッサシステムが提供する種々のレベルのアクセスをまとめたものである。
【表２】
0003707839.tif 000003
【００１８】
データ／プログラム情報をフロッピーディスク８からＲＡＭカセット４内のプログラムＲＡＭに最初に送信した後であればいつでも、ＲＡＭカセット４をゲームプロセッサシステムユニットコンソール２から取り出して、例えば出願人がスーパー・ニンテンドウ・エンターテイメントシステム（ＳＮＥＳ）として市場で販売しているビデオゲームシステムのような従来のビデオゲームシステムと共に用いることができる。以下で詳述するように、ＲＡＭカセット４は、また、米国特許番号第４７９９６３５号（対応；特開昭６１−２９６４３３号公報）に示す型の機密保護プロセッサを含む。同様に、ゲームプロセッサシステムは、識別カードおよび／またはフロッピーディスクを挿入しなくても、通常のビデオゲームシステムのように、権限を有するゲームカートリッジ４をカートリッジコネクタ１８５に挿入することによって操作されてもよい。
【００１９】
ゲームプロセッサシステムコンソールユニット２は、ゲームプロセッサ識別カード６用の挿入ポート５を含む。本発明の典型的な実施例において、識別カードは、機密保護内蔵回路および／またはフロッピーディスク８の所定の位置に格納された識別データと比較される認証コードを含む。識別カードに格納された認証コードは、アプリケーションの鍵として、対応フロッピーディスクに格納されたモデルプログラムおよび新規のファイルソフトウェアに作用する。認証コードは、モデルゲームプログラムの発売元によって格納されて、またモデルゲームプログラムを有するフロッピーディスクとともにユーザに提供された識別データを含んでもよい。さらに、識別カード認証プログラムは、フロッピーディスクに格納された新規ファイルデータに関連してユーザによって記憶された新規ファイルの識別データを含んでもよく、この識別データは、当該ユーザが作成した新規ゲームを編集および複写するためにモデルゲームプログラムとともに用いられる。
【００２０】
識別カード内とフロッピーディスクの識別データ内との認証コードを比較して、真正であると決定されると、フロッピーディスク８からのデータおよびプログラムはＲＡＭカセット４に無事送信される。フロッピーディスク８の内容はカセットおよび他のフロッピーディスクに複写されうるが、ユーザには１枚の識別カード６しか発行されないため、偽造物に対する機密保護手段が講じられることになる。識別カード６は、また、ユーザの写真および／または他の識別データ等の識別データを含んでもよい。さらに、識別カードは、例えばマウスのスピード、マウスボタンのダブルクリック間隔、キーボードキーのリピート間隔および英語／日本語モード等のユーザ構成情報を含んでもよく、ｃｏｎｆｉｇ．ｓｙｓファイルのように、識別カードによって認証されたユーザのためにオペレーティングシステムをセットするために用いられうる。
【００２１】
図１に示すゲームプロセッサシステムコンソールユニット２は、幅広い種々の入出力装置に結合されるように設計されており、ゲームプレイ中に使用する音声信号の入力を可能にするマイクロフォン１０接続用のジャックを含む。さらに、ゲームプロセッサシステムコンソール２は、米国特許番号第５２０７４２６号（対応；実開平４−４２０２９号公報）に記載している型のような少なくとも２人プレイヤ操作器１２および１４を含む。これらの操作器は、例えば上述の特許に記載の商業的に利用可能なＳＮＥＳ操作器において一般的に利用されている方法により、移動オブジェクトキャラクタの動作および関連する特殊効果を制御することによって、ユーザのテレビ画面上でビデオゲームプレイを制御するために用いられる。
【００２２】
ゲームプロセッサシステムコンソール２は、さらに、従来のマウス１６とＰＣコンパチブルキーボード１８を接続するためのポートとを含む。マウス１６およびキーボード１８は、後に詳細に説明するような方法により、ビデオゲーム設計処理中にグラフィック／ユーザインターフェイスとしてユーザによって用いられる。マウス１６は、例えば小学生などのゲームプログラミング技術に全く不慣れなユーザが、本件に記載のアイコン駆動型システムを使用して特有のビデオゲームを作成することを可能にする。キーボード１８は、例えば、ゲームプログラマなどのより高度な技術を身につけたユーザが、ゲームソフトウェア命令を入力することによってゲーム修正ができるようにする。
【００２３】
ゲームプロセッサシステムユニットコンソール２は、また、モデムボード２２用の接続ポートを含む。モデム２２は、単なる例として、９６００ボーの半二重モデムである。モデム２２は、ゲームプロセッサシステムを後述のオンラインネットワークで使用できるようにする。システムは、また、システムに電力を供給するための  交流アダプタ２０を含む。
【００２４】
ゲームプロセッサシステムユニットコンソールは、後にまた説明するように、２個の中央処理ユニットを含む。１つは主にビデオゲームプレイを制御する役割を果たし、もう１つは主にゲーム編集関連タスクと、ゲーム処理ディスク８からＲＡＭカセット４へ情報を転送するのを制御するためのオペレーティングシステムプログラムを実行するという役割を果たす。
【００２５】
図１に示す上述のシステム構成要素は、ビデオゲームプログラム開発に全く不慣れなユーザが、フロッピーディスク８に記憶されているモデルソフトウェアを用いて、広範囲のビデオゲームを作成することを可能にする。図１に示すオプションの構成要素を用いることによって、システムは、ゲームプログラム設計の専門家が特有のエミュレーションシステムでビデオゲームをより容易に作成できるように拡張されてもよい。この代替実施例においては、ゲーム処理システムは、入出力および他の構成要素を、例えばコンソール２内のオペレーティングシステムＣＰＵにさらに結合させる拡張ボード２４を含む。図１に示すように、様々な追加の入出力構成要素は、スキャナ３０、ハードディスクドライブ２８、またはプリンタ２６のようなシステムに結合されてもよい。スキャナ３０は、従来の光学的スキャナであってもよく、グラフィック画像を走査して、ビデオゲームを設計する際に用いるゲーム処理システムユニットコンソールメモリシステムに記憶させるためにその画像をデジタル化するのに用いられる。その後、ユーザは、記憶された画像にアクセスしたり、色を付けたり、画像を修正することができる。ＳＣＳＩインタフェイスは、ＩＢＭコンパチブルＰＣ２７に結合することができるように、拡張ボード２４に実施されてもよい。
【００２６】
図２は、ゲームプロセッサシステムコンソールユニット２の斜視図である。コンソール２は、電源オンオフスイッチ１１およびリセットボタン９を含む。リセットスイッチ９は、オペレーティングシステム実行ＣＰＵおよびゲームＣＰＵを含む全システムのリセットを行うことができる。リセットボタン９は、ゲームプログラムを実行するＣＰＵを周知の初期状態にするのに加えて、オペレーティングシステムＣＰＵを中断させて、例えば、遂行するべき操作をテストするのに役立つ。図１および図２に示すように、ソケット５および７は、それぞれゲームプロセッサ識別カード６とフロッピーディスク８とを受けるスロットである。ソケット５および７は、ユーザが識別カード６またはフロッピーディスク８を容易に掴んで取り出すことができるような関連埋込形領域を有する。図２に示すように、コンソールユニットは、また、フロッピーディスク取り出しボタン３を含む。さらに、図１および図２に示すように、コネクタ１３、１７、１９、２１および２３は、それぞれ、マイクロフォン１０、キーボード１８、マウス１６、操作器１２および操作器１４をすぐに接続できるように露出されている。
【００２７】
図３は、ゲーム処理装置の斜視図であって、フロッピーディスクドライブスロット７のための凹型の入り口３０と、識別カードの挿入ポート５のための同様の凹型の入り口３２とを詳細に示す。凹部は、ユーザの指３４が入るように構成されており、フロッピーディスクと識別カードとを手で把持してコンソール２から取り出すことができる。従来のパーソナルコンピュータでは、フロッピーディスクは、完全に挿入されると、フロッピーディスクドライブから突き出ない。フロッピーディスクがフロッピーディスクドライブに中途半端に挿入されている場合のみ、ディスクの一部がコンソールから突き出る。フロッピーディスクを従来のフロッピーディスクドライブに中途半端に挿入したままにしておくユーザもいる。このように中途半端に挿入していると、突き出しているフロッピーディスクが、ズボンの脚部や、その他の衣類に引っかかったり、落下物による衝撃を受ける可能性があるため、家庭における不慣れなユーザにとって危険である。本発明においては、フロッピーディスクが中途半端に挿入されている時でさえ、ディスクがコンソールから突き出ないように、フロッピーディスク用の凹部３０を充分に深くしてもよい。フロッピーディスクドライブ用のスロットおよび識別カード挿入スロット周辺のコンソールの正面に凹不を形成することによって、フロッピーディスクおよび識別カードの充分な部分がユーザの指に届くことができる。ディスクおよびカードを手でしっかりと把持してコンソールから取り出すことができ、図１から図３に示す実施例では、フロッピーディスクドライブと識別カード挿入スロットとの凹部は、四半球状である。この形状は実用的かつ見た目にも魅力的である。当然ながら、凹部は、ディスクおよび識別カードがコンソールに（完全に、または中途半端に）挿入された場合に把持可能な他の形状をとってもよい。
【００２８】
図４は、フロッピーディスクドライブ１９９の装着を示すコンソールの横断面を上から見た図である。フロッピーディスクドライブ１９９は従来のものであるが、データ／プログラムファイルの不正な複写がフロッピーディスク上に行われる可能性を軽減するようにカスタマイズされてもよい。一度そのようなカスタマイズを行うと、標準的でない方法でフロッピーディスクの読み出し／書き込みヘッドのトラック幅をセットすることになり、標準的なフロッピーディスクは、ディスクに記憶されたデータの読み出し／書き込みができなくなり、ゲーム処理装置のフロッピーディスクドライブは、標準的なフロッピーディスクドライブで記憶されたデータを読み出すことができなくなる。
【００２９】
コンソールは、構造フレーム４０を含み、構造フレーム４０は、従来のもので、コンソール２内に収納されたコンピュータ部品を支持する。コンソールハウジング４２は、フランジ４４を含み、フランジ４４は、フレーム４０に結合するように構成される。ブラケット４６は、例えばねじ４８によってフレームに結合される。ブラケットは、コンソール内の各部品のための構造スタンド５０を支持する。フロッピーディスクドライブ１９９は、例えばねじによって、ドライブを支持し、かつフロッピーディスクのハウジング４２内のスロット５２にドライブを位置づけるように構成されたスタンドに結合される。
【００３０】
図５および図６は、図１に示すゲームプロセッサシステムのより詳細なブロック図であって、コネクタピンの数や、メモリ装置の特殊な型等の詳細を規定する図式的な実施例である。これらおよび他の実施態様の詳細は、単に、本発明を履行するための多くの可能性のある代替組み合わせの内の１つの説明的な組み合わせとして説明されるものであり、本発明の有効範囲を限定するものとして解釈されるべきではない。図５および図６は、図１に示す同一の入出力装置の多くに同様の番号を付しており、入出力装置とゲームプロセッサシステムコンソール２との間の接続を図１よりもより詳細に示す。操作器１２、１４、キーボード１８およびマウス１６は、図６のフロントボード１９７に含まれるフロントボードコネクタユニットを介して、ゲームプロセッサシステムコンソール２に結合される。続いて、コネクタは、コンソール２上の２５ピンコネクタ１９１に結合される。マイクロフォン１０は、マイクロフォンジャックと、フロントボード２５ピンコネクタに同様に結合されるマイクロフォン増幅器とを介して、コンソール２５ピンコネクタ１９１に同様に結合される。マイクロフォン増幅器は、フロントボード１９７上の音声制御によって制御される。
【００３１】
識別カード６は、識別回路ボード１８５を介してコンソール２に結合され、識別カード回路ボード１８５は、識別カードコネクタと１２ピンコネクタとを有し、１２ピンコネクタは、続いて、１２ピンコネクタ１９０においてコンソール２に接続される。ＲＡＭカートリッジ４は、８０ピンコネクタ１８９において、６２ピンコネクタボード１８６を介してコンソールに結合され、６２ピンコネクタボード１８６は、ゲームカートリッッジ４と接続するための６２ピンコネクタと、コネクタ１８９と接続するための８０ピンコネクタとを含む。ゲームプロセッサ入出力システムは、また、ＬＥＤディスプレイおよび３ピンコネクタを有するＬＥＤボード１８７を含み、３ピンコネクタは、続いて、コンソールユニット２上の３ピンコネクタ１８８に接続される。リセットスイッチ９は、ゲームＣＰＵ２００のリセットを行うために結合される。モデムボード２２は、モデムスロット１９５を介してコンソールユニット２に結合される。ＳＣＳＩボード２４は、拡張スロット１９４を介してコンソールユニット２に結合される。図１に示すフロッピーディスク８を受け入れるフロッピーディスクドライブ１９９は、３４ピンコネクタ１９３を介してコンソールユニット２に結合され、３４ピンコネクタ１９３は、フロッピーディスク操作器２４０に結合される。
【００３２】
図６は、交流アダプタ２０と、電源ジャックとを介して交流電力を受けるインターフェイスボード１９８を含み、当該電源ジャックは、ボード１９８上の３０ピンカードエッジコネクタに結合され、当該３０ピンカードエッジコネクタは、コンソールの３０ピンカードエッジコネクタ１９２に結合される。インターフェイスボード１９８は、また、電源ジャックと３０ピンカードエッジコネクタとに結合された直流−直流変換器を含む。ボード１９８の３０ピンカードエッジコネクタは、コンソールユニット２からビデオ信号、同期信号および音声信号を受信し、そのような信号を標準テレビユニット１５に入力する。
【００３３】
次に、ゲームプロセッサシステムコンソール２の内部の２個のＣＰＵアーキテクチャにおいて、図５および図６からわかるように、ハードウェアは、ゲームプログラムを実行するＣＰＵ２００（ＳＣＰＵ）および関連システム構成要素と、オペレーティングシステムおよび編集システムメインＣＰＵ２２８ならびに後述の関連システム構成要素とを含む。さらに、コンソールユニット２は、それを介してプロセッサ間通信の大部分が行われるゲートアレイ回路２２６と、ゲームプログラムを実行するサブシステム出力に編集およびオペレーティングシステムのビデオ出力を重ね合わせるための関連重ね合わせ操作器２１６とを含む。
【００３４】
まず、ゲームプログラムを実行するサブシステムについて説明すると、好ましい実施例において、ゲームプログラムを実行するハードウェアは、ニンテンドウ・オブ・アメリカがスーパー・ニンテンドウ・エンターテイメント・システム（ＳＮＥＳ）として現在販売しているハードウェアによって実現されてもよい。しかしながら、本発明は、スーパーＮＥＳ関連ゲームプログラムを実行するシステムに限定されておらず、むしろ代替のゲームハードウェア装置で使用されてもよい。ゲームプログラムを実行するゲームＣＰＵ２００は、例えば６５８１６コンパチブルマイクロプロセッサであってもよい。ゲームＣＰＵ２００は、例えば１メガビットの記憶装置を含む作業ＲＡＭ２０２に結合される。ゲームＣＰＵ２００は、システムデータバス、アドレスバスおよび制御バスを介して、ピクチャ処理ユニット（ＳＰＰＵ）２１２に結合され、ピクチャ処理ユニット２１２は、例えば５１２キロビットの記憶装置を含むビデオＲＡＭ２１４に結合される。
【００３５】
典型的な実施例においては、２個のピクチャ処理ユニット（ＰＰＵ）２１２および２２４を使用する。ＰＰＵ２１２は、ゲームＣＰＵ２００の制御下でビデオゲーム表示を生成するための回路を含み、ＰＰＵ２２４は、オペレーティングシステムＣＰＵ２２８の制御下で編集関連ビデオ表示を生成する。ゲームＣＰＵ２００は、垂直および水平ブランキング期間中に、ＰＰＵ２１２を介してビデオＲＡＭ２１４にアクセスする。このように、ゲームＣＰＵ２００は、ライン走査期間以外であってＰＰＵ２１２がビデオＲＡＭ２１４にアクセスしている時にのみ、ＰＰＵ２１２を介してビデオＲＡＭ２１４にアクセスすることができる。ＰＰＵ２２４は、ビデオＲＡＭ２２０からビデオ表示を生成する。図４に示すように、ＰＰＵ２１２の出力およびオペレーティングシステムＰＰＵ２２４の出力は、重ね合わせ操作器２１６を介してユーザのテレビ１５に入力され、また、重ね合わせ操作器２１６は、既に識別されたテレビ１５へのコネクタを介して、ＲＧＢエンコーダ２１８へ結合される。
【００３６】
ゲームＣＰＵ２００は、また、関連作業用ＲＡＭ２１０に結合される音声プロセッサ２０８に結合される。音声プロセッサ２０８は、実行されているビデオゲームプログラムに関連する音声を生成するための市販の音声チップを含んでもよい。ゲームＣＰＵ２００は、音声プロセッサ２０８を介してのみ作業用ＲＡＭ２１０にアクセスすることができる。
【００３７】
ＳＮＥＳシステム内で見い出される構成要素に加えて、典型的な実施例は、１メガビットモニタＲＯＭ２０４と、２５６ビットモニタＲＡＭ２０６とをさらに含む。モニタＲＯＭはプログラム命令を含んでおり、プログラム命令はゲームＣＰＵ２００によって実行されて、その結果、編集および情報転送機能を遂行するための制御をオペレーティングシステムＣＰＵ２２８へ転送する。モニタＲＡＭ２０６は、そのような処理に関連するデータを記憶する。
【００３８】
スーパーＮＥＳビデオゲームマシンは、その一部が図５および図６においてブロック図で示されているが、本件では一般的な説明しかなされていない。（オペレーティングシステムプロセッサによって用いられる）ＰＰＵ２１２およびＰＰＵ２２４を含むスーパーＮＥＳに関するさらなる詳細は、本件で明示的に援用している１９９４年７月５日に発行された米国特許第５３２７１５８号（対応；特開平３−６３６９５号公報）の「ビデオ処理装置」に記載されている。スーパーＮＥＳに関するさらなる詳細は、１９９４年３月１日に発行された米国特許第５２９１１８９号（対応；特開平４−１８１２９１号公報）の「直接メモリアクセス装置ならびにそこで用いられる画像処理システムおよび外部記憶装置」に記載されている。
【００３９】
ゲームプロセッサシステムコンソール２は、また、オペレーティングシステムまたは例えば３２ビットＲＩＳＣプロセッサであるＮＥＣＶ８１０プロセッサのようなメインＣＰＵ２２８を含む。他に、例えばモトローラ６８０００シリーズプロセッサまたは同様の処理能力を有する他のプロセッサを用いてもよい。後で詳述するように、メインＣＰＵ２２８は、オペレーティングシステム関連ルーチンを、ビデオゲームプログラムを実行するゲームＣＰＵ２００と同時に処理する。メインＣＰＵ２２８およびゲームＣＰＵ２００は、ゲートアレイ２２６を介して通信する。上述したように、（ゲームプロセッサ２００と同様に）プロセッサ２２８は、グラフィック処理操作を遂行するための関連するピクチャ処理ユニット２２４を含み、ＣＰＵ２２８にかかるグラフィック処理の負担を軽減する。オペレーティングシステムＣＰＵ２２８は、バスセレクタ２２２の制御設定に応じて、ピクチャ処理ユニット２２４を介してビデオＲＡＭ２２０に結合される。上記で述べたように、ＰＰＵの２１２および２２４は、本件に援用している上述のＳＮＥＳ関連特許に記載の型である。
【００４０】
本発明の好ましい実施例に従うと、メインＣＰＵ２２８は、３２ビットバス幅を有するプロセッサであり、２１．４７７ＭＨｚのクロック速度で動作する。ＣＰＵ２２８は、例えば４メガバイトＤＲＡＭ２３０に結合される。作業用ＤＲＡＭ２３０は、所望するならば、拡張ＤＲＡＭ２３２を介して２４メガバイトまで拡張可能である。メインＣＰＵ２２４は、初期プログラムローダ（ＩＰＬ）サブルーチンと、ＢＩＯＳオペレーティングシステムプログラムと、ＣＰＵ２２８によってアクセスされるキャラクタフォントとを記憶する、例えば８メガビットＲＯＭ２３４にさらに結合される。ＣＰＵ２２８は、また、システムバスを介して、例えばフロッピーディスクドライブ１９９からのデータをソフトウェアバックアップするために用いられる８メガビットフラッシュメモリ２３６にアクセスする。メインＣＰＵ２２８システムバスは、また、例えば１０ビットアナログデジタル変換器２３８（例えばマイクロフォン１０からの音声をボード１９７を介してデジタル化するのに用いられる）と、フロッピーディスク操作器２４０と、リアルタイムクロック２４２とに結合される。
【００４１】
メインＣＰＵ２２８およびゲームＣＰＵ２００は、別個に起動する。電源が入ると、ゲームＣＰＵ２００は、最初リセット状態になり、その後再開される。ゲームＣＰＵ２００は、初めにモニタＲＯＭ２０４からのプログラム命令を実行する。メインＣＰＵ２２８は、ゲームＣＰＵ２００がアクセスするメモリ領域を制御する。メインＣＰＵ２２８は、ＣＰＵ２００がモニタＲＯＭ２０４の中から実行するべきか、それともＲＡＭカートリッジ４の中から実行するべきかを識別するゲートアレイ２２６にレジスタを格納する。メインＣＰＵ２２８は、ＲＯＭ２３４内の初期プログラム格納およびオペレーティングシステム命令を実行し、フロッピーディスクドライブ１９９およびフロッピーディスク操作器２４０を介して、モデルゲームソフトウェアを含むフロッピーディスク８の内容を読み出す。モデルゲームソフトウェアに関連する操作を制御するためのオペレーティングシステムプログラム命令は、メインＣＰＵ２２８が実行できるようにＤＲＡＭ２３０に転送される。システム電源を切って、その後入れると、メインＣＰＵ２２８は、フラッシュメモリ２３６を検査する。最初に起動すると、オペレーティングシステムプログラムがフロッピーディスク８から読み出され、フラッシュメモリ２３６に記憶されて、次にＤＲＡＭ２３０に書き込まれる。ＤＲＡＭは揮発性メモリであるので、コンソールは、起動時にフラッシュメモリまたはフロッピーディスクから当該オペレーティングシステムを読み出さなければならない。一般的に、フラッシュメモリのアクセス速度は、フロッピーディスクドライブのアクセス速度より速い。従って、オペレーティングシステムは、再起動されてフラッシュメモリから読み出されると、最初にフロッピーディスクからロードされる時よりも速く立ち上がる。
【００４２】
フロッピーディスク操作器２４０からのモデルソフトウェア情報は、まず、ＲＡＭカートリッジ４へ転送するために、ＤＲＡＭ２３０内にバッファリングされる。その後、メインＣＰＵ２２８は、通信可能な信号を生成して、その信号をゲートアレイ２２６内のハンドシェークポートに送信する。ゲームＣＰＵ２００は、モニタＲＯＭ２０４に記憶されている命令を介してハンドシェークポートを監視し、ゲートアレイ２２６内の通信ＲＡＭからのデータおよび／または命令を受信する準備をする。ハンドシェイクポートは、一対の一方向ハンドシェイクポートによって実施されてもよい。一方の一方向ハンドシェイクポートは、情報をメインＣＰＵ２２８からゲームＣＰＵ２００へ伝達する。他方の一方向ハンドシェイクポートは、情報をゲームＣＰＵ２００からメインＣＰＵ２２８へ伝達する。ハンドシェイクポートは、また、発明の他の実施例においては双方向ポートであってもよい。
【００４３】
ハンドシェイクポートは、情報がメインＣＰＵ２２８とゲームＣＰＵ２００との間で転送されるべきかを示すゲームＣＰＵ２００によってアドレス指定可能なバッファレジスタを含む。ゲームＣＰＵ２００は、ゲートアレイ２２６内の通信ＲＡＭがメインＣＰＵ２２８から情報を受信したことを決定すると、通信ＲＡＭからの情報にアクセスし、８０ピンコネクタ１８９およびコネクタボード１８６を介して、そのような情報をＲＡＭカートリッジ４へ転送する。メインＣＰＵ２２８は、通信ＲＡＭ情報がＲＡＭカートリッジ４に転送された後に、ゲートアレイ２２６内に実施されたレジスタをセットして、ゲームＣＰＵ２００の制御をモニタＲＯＭ２０４からＲＡＭカートリッジ４へ切り替える。ゲームＣＰＵ制御がＲＡＭカートリッジ４に切り替えられた後は、ゲームＣＰＵ２００は、もはやハンドシェークポートを監視しないか、またはゲートアレイ内の通信ＲＡＭとのさらなる対話を行うことはない。この時点で、ゲームＣＰＵ２００が動作して、上述のＳＮＥＳ関連特許に記載のゲーム機と実質的に同様の方法で、ＲＡＭカートリッジ４からゲーム関連命令を実行する。
【００４４】
メインＣＰＵ２２８は、ゲートアレイ２２６内のレジスタ複写ＲＡＭにアクセスすることによって、ＣＰＵ２００システムバスを介して送信される情報を常に監視する。ゲームＣＰＵ２００バスからレジスタ複写ＲＡＭに書込まれた情報は、メインＣＰＵ２２８フォーマットと互換性のあるようにフォーマットされる。ＰＰＵ２１２および音声プロセッサ２０８からの情報は、メインＣＰＵ２２８が監視メインをしてゲーム状態を継続的に認識できるようにするために、レジスタ複写ＲＡＭへ流れる。３２ビットＲＩＳＣプロセッサを用いれば、そのような大容量の情報を監視するのに必要な処理能力がメインＣＰＵ２２８に提供される。後述するように、ＰＰＵ２２４とビデオＲＡＭ２２０とを介してメインＣＰＵ２２８によって生成された画像と、ＰＰＵ２１２とビデオＲＡＭ２１４とを介してゲームＣＰＵ２００によって生成された画像とは、後述の重ね合わせ操作器２１６を用いることによって、ユーザのテレビ１５上に同時に表示される。
【００４５】
メインＣＰＵ２２８は、ゲームＣＰＵ２００の操作を継続的に認識しているので、全ての要求される情報が表示操作のためにビデオＲＡＭ２１４に書き込まれて初めて、ゲームプレイを修正するためにユーザが命令した「システムブレイク」を開始する。ゲートアレイに含まれるシステムブレイク論理は、システムブレイクコマンドが実行される時にゲームＣＰＵ２００に送信されるゲームブレイク用の信号を生成するタイミングを調整する。このように、メインＣＰＵ２２８は、ゲームＣＰＵバス上のデータ、特にビデオ表示または音声の生成に関連する情報を監視して、システム中断を実行する適切な時点を決定し、それによって歪んだピクチャおよび音声情報を回避する。
【００４６】
図７および図８は、情報がフロッピーディスク８からＲＡＭカートリッジ４に転送された後の図５および図６に示すメモリ装置の内のいくつかのメモリマップの一部である。フロッピーディスク８に記憶されたモデルソフトウェアは、制御ファイル、モデルゲーム関連データ、ユニットポインタ、アドレスデータおよびメインゲームプログラム（および、図示していないが、音声プロセッサ２０８に入力される音声データ）を含む。図７からわかるように、そのようなモデルソフトウェアの全てがＲＡＭカートリッジ４に転送されるわけではなく、むしろＤＲＡＭ２３０は、編集ソフトウェア（例えばマリオファクトリー）およびオペレーティングシステムソフトウェアと同様に、ユーザが選択したとおりのゲーム条件変更に関するデータを記憶する制御ファイルを保守する。モデルソフトウェアが実行されると、ユニット作業データが、モデルソフトウェアのメインプログラムによって生成される。ユーザが、モデルゲームを編集するためにゲームプレイを停止しようとして「システムブレイク」を開始した後、ユニット作業データ、ユニットポインタおよび編集用データは、バッファ領域に転送される。制御ファイルの編集が終了すると、修正された情報（データおよびユニットポインタ情報）は、バッファ領域データに記憶されて、その後ゲームメインプログラムを記憶するＲＡＭカートリッジ４に転送される。
【００４７】
本発明のゲーム処理システムは、様々なネットワーク構成で使用する目的で設計される。本発明は、「友だちネットワーク」、すなわちユーザ間で新規に生成されたビデオゲームを記憶したＲＡＭカセット４を交換することを考慮している。同様に、識別カード６およびフロッピーディスク８は、同一のゲーム処理プロセッサシステムにおいてＲＡＭカセット４を用いて使用する目的で、友人の家に運ぶこともできる。
【００４８】
さらに、図９に示すように、オンラインネットワークシステムも考慮している。図９に示すように、ゲーム情報は、図１に示すモデム２２を介して、電話回線４３によって、ユーザの家４８からアクセスポイント４２、デジタルリンク４７を介して、ゲーム処理センタ４０へ送信することができる。同様に、ゲーム情報は、電話回線４３を介して友人の家５０からアクセスポイント４４に転送されて、その後デジタルリンク４７を介してゲーム処理センタ４０に送信することができる。ゲーム情報は、また、ゲームメーカ４６（例えば任天堂など）から送信することもできる。図９に示すオンラインネットワークシステムにおいては、ユーザのフロッピーディスク８内のモデルソフトウェアを、修正すべきモデルビデオゲームソフトウェアに付け加えるために容易に補足することが可能である。
【００４９】
本発明の一つの典型的な実施例によると、フロッピーディスク８に記憶されたモデルソフトウェアは、メーカによって設計され、ユーザが変更することのできないビデオゲーム部分を含む。モデルソフトウェアのこの部分は、「ベースファイル」と呼ばれる。「ユーザファイル」は、ユーザが変更できるビデオゲーム部分である。図９に示すシステムにおいては、ユーザファイルは、ゲーム処理システムを持つ友人の家にネットワークを介して送信することができ、ユーザ間で対話型ゲームプレイをしたり、または友人が、新規に設計されたゲームの修正バージョンをプレイすることができる。アクセスポイント４２および４４は、例えば、ゲームを非常に遠方へ送信するのにかかる電話料金を最小限にするために供給される。その後、ゲームデータは、直接デジタルリンク４７を介してゲーム処理センタ４０に伝送される。ゲームデータは、ゲーム処理センタ４０で受信された後に、そこから適切な目的地まで再送信される。
【００５０】
図１０は、図５に示す識別カードコネクタ１８５およびゲートアレイ２２６に含まれうる識別カード回路６および識別カードインタフェイス２５１の例を示す模式図を示す。識別カードは、上述のように、データ／プログラム、識別データおよびファイル型データを格納するＥＥＰＲＯＭのようなメモリデバイス２５３と、識別カードの真正さをテストするのに用いられる機密保護内蔵回路（ＣＩＣ）２５５とを含みうる。識別カード上のメモリデバイスおよび機密保護回路は、カードの端子（図示せず）に電気的に接続されており、カードの端子は、識別カードコネクタ１８５の対応端子（図示せず）と接続可能である。これらのコネクタ端子は、カードが完全にＧＰＣコンソールに挿入されるまで、識別カード内のメモリデバイスと機密保護回路とを電気信号から保護するＡＮＤゲート２５７のバンクに内蔵されていてもよい。これに関しては、識別カードは、カードが完全にコンソールに挿入され、かつすべての他の端子がカードおよびカードコネクタ１８５間で設定された後にのみ、電流をコンソール内の電源２６１からコンソールに戻すように通す凹型の端子２５９を含んでもよい。
【００５１】
コンソール内の識別カードインタフェイス２５１は、機密保護回路２６３を含み、この機密保護回路は、変換器のスイッチ２６５によってリセットされたときに、識別カード内の機密保護回路２５５を用いて認証アルゴリズムを実行しうる。米国特許番号第４７９９６３５号（対応；特開昭６１−２９６４３３号公報）は、機密保護回路を用いてゲームカートリッジを認証するための適切なシステムを説明している。発振器２６７が、両方の機密保護回路にクロック信号を設定するために提供されてもよい。識別カードインタフェイス内の機密保護回路は、例えばリセットポートまたはデータバス等のメインＣＰＵに入力される出力（ＲＯＵＴＢ）を含む。出力信号ＲＯＵＴＢは、メインＣＰＵ２２８によって監視され、メインＣＰＵ２２８は、ＲＯＵＴＢ信号が活性化状態になるとゲームＣＰＵ２００をリセットする。さらに、識別カードインタフェイスは、識別カードに送受信される識別データを記憶するための例えばＥＥＰＲＯＭのようなメモリデバイス２６９を含む。メモリデバイス２６９に送受信されるデータは、データバスを介してメインＣＰＵに送信される。同様に、メインＣＰＵは、アドレスデコーダを制御し、アドレスデコーダは、メモリデバイスと機密保護回路とにアクセスして、メモリデバイスへのラインの読み出しおよび書き込みを行う。
【００５２】
図１１は、ＲＡＭカートリッジの単純な模式図であって、電源投入中にゲームプロセッサシステムコンソール２からカートリッジが取り出されたり挿入されたりすることによるあまり生じないような状況において起こりうる可能性のある問題に対処するために、本出願の実施例において用いられる。図１２に示すように、電源がついている間にカートリッジを挿入したり、抜いたりすることによってカートリッジ構成要素が損傷されるという万が一の可能性を防止するために、カートリッジエッジコネクタ内のピンは、修正され、カートリッジＲＡＭメモリを使用可能にするピンは、電力ピンに関して短くされる。
【００５３】
図１２は、カートリッジ４用のアースコネクタ、アドレスコネクタ、データコネクタ、リセットコネクタおよび電力コネクタを示す。ゲームカートリッジからのリセットピンは、電力回線ピンよりも短いため、信号回線が切断される前にカートリッジが引き抜かれた時に、「リセット」許可信号は、電力が切断されるのに先だってカートリッジＲＡＭに書き込みがなされないようにする。カートリッジが挿入された時、電力回線とデータ回線とは、リセット信号がハイ状態に置かれるより前に接続され、それにより最後の操作としてＲＡＭ３３６への書込みを可能にする。このようにして、カートリッジ作業用ＲＡＭ３３６に記憶された情報は保護される。カートリッジがコネクタに挿入された場合、カートリッジメモリ回路を使用可能にする前に電力が供給される。カートリッジが抜かれると、短くされた使用可能の信号受信ピンのために、電力が切断される前にカートリッジ回路は使用不可能になる。
【００５４】
図１１に戻って、電源をつけた状態でカートリッジが完全に挿入されると、リセット信号（ＲＥＳ）がハイレベルになる。リセット信号は、ゲート回路３３１を介してデコーダ３３０の可能入力へ入力される。デコーダ３３０は、（図１１に図表で示す）ゲームカートリッジ静的ＲＡＭメモリ３３６のチップ選択ピンへ入力される１つの出力を含む。さらなるデコーダ３３０出力は、４ビットバイナリカウンタ３３２のチップ選択ピンに結合される。バイナリカウンタは、最初０に設定される。デコーダ３３０は、ゲームカートリッジアドレスバスに結合されており、カウンタ３３２への書き込み要求を検出し、カウンタ３３２を増分する。書き込みパルスが１５回出されると、カウンタ３３２の状態は１１１１になり、カウンタ３３２は、ゲート回路３３４に入力される出力信号を生成する。カウンタ３３２の出力がハイレベルにある時にＳＲＡＭ３３６への書き込みが試みられた場合、書き込み信号は、ＲＡＭ３３６（を構成する各ＲＡＭモジュール）へ入力され、それによりカートリッジＲＡＭにデータを書き込むことができるようになる。このように、カートリッジは、電源がついた状態でカートリッジを挿入したり抜いたりする際に構成要素が損傷されたり、データが失われたりする可能性を防止するために、ＲＡＭへのデータの書き込みを行う前に所定のアドレス領域に対して１５回書き込むことを要求する書き込み保護回路を含む。所定のアドレスへ１５回書き込みが試みられると、カートリッジメモリシステムはそのロックが実質上解かれる。実施例のゲーム処理システムにおいて、ＲＡＭカートリッジへの書き込みに費やされる時間は大変少ない。
【００５５】
図１１は、また、カートリッジエッジコネクタ３２９を示す。カートリッジ４に入力される信号には、データバスおよびアドレスバスを通じて搬送されるデータ信号およびアドレス信号がある。さらに、ＣＰＵ読み出し／書き込み制御信号および他の制御信号が受信されるのと同様に、リセット信号が受信される。図１１に示すＲＡＭカートリッジは、機密保護チップ３３３をさらに含み、機密保護チップ３３３は、本件で援用している米国特許番号第４７９９６３５号（対応；特開昭６１−２９６４３３号公報）に記載の方法で、機密保護チップ２２７（図５）と共に動作する。ＲＡＭカートリッジ４がＳＮＥＳゲームシステムで使用できるように全てプログラムされた後、機密保護チップ３３３は、カートリッジが、対応する機密保護チップ３３３を含むＳＮＥＳゲームコンソールに関連する真正のゲームカートリッジであるかどうかを決定するための機密保護システムの一部として用いることができる。さらに、ＣＰＵ２２８は、機密保護チップ２２７からの出力を受信し、米国特許番号第４７９９６３５号（対応；特開昭６１−２９６４３３号公報）の特許に従って真実性が決定されない限り、ゲームプログラム実行およびＣＰＵ２００による編集を中止する。この点において、機密保護チップ３３３およびメインＣＰＵ２２８は、米国特許番号第４７９９６３５号（対応；特開昭６１−２９６４３３号公報）に一般的に開示されている処理操作を実行する。そのような処理の結果を示すデータは、安全な方法で交換される。メインＣＰＵ２２８が、ゲートアレイ２２６を介して受信したデータに基づいて、ＲＡＭカセットが本物ではないと決定した場合、ゲームＣＰＵ２００はリセット状態を保持する。
【００５６】
図１３は、対応する図１１の代替回路を示す。１スロットマルチバイブレータ（７４  ＬＳＩ  Ｚ３）は、ＣＬＫ２１Ｍ信号がない場合、ロード信号をカウンタ３３２に送信する。カウンタ３３２は、ロード信号によって「０」にセットされ、その後ＳＲＡＭ３３６への書き込みは禁止される。通常の操作では、ＣＬＫ２１Ｍ信号がコンソールから継続的に供給されているので、ロード信号は常に禁止されて、ＳＲＡＭへのアクセスは、図１３の回路におけるのと同様の方法によって可能である。図１４は、図１３に示す回路に対応するコネクタを示す。カートリッジがコンソールから抜き出されると、ＣＬＫ２１Ｍ信号が他の信号より先に停止する。ＣＬＫ２１Ｍ信号がない場合、ロードパルスが使用可能になる。その後、カウンタ３３２は、ＳＲＡＭへの書き込みを不可能にするために「０」データをロードする。図１４において、アドレスバスおよびデータバスコネクタは、アースおよび電力ピンよりも短く示されている。このコネクタ配列によれば、電源投入中にカートリッジが挿入される際の「ラッチアップ」が防止される。
【００５７】
図１５および図１６は、電源投入から「マリオファクトリー」ユーティリティタイトル画面が現れるまでの、本発明の実施例に従った操作のシーケンスを示すフローチャートである。電源を入れると（３８５）、最初の接続画面が表示される（３８６）。  以下に詳述する認証ルーチン４１０は、実行されて、真正なゲームカートリッジがカートリッジコネクタに挿入されたかどうかと、識別カード内の識別データがモデルゲームソフトウェアの識別データおよび／またはフロッピーディスクドライブに挿入されたフロッピーディスク上の新規ユーザデータと一致しているかどうかとを決定する。その後、著作権情報画面が生成される（３８７）。その後、図式的な実施例に関連するゲーム編集ツールが、図６に示すフラッシュメモリ２３６内に既に格納されているかどうかを決定するためのチェックが行われる（３９１）。ブロック３９１でのチェックにより、ツールがフラッシュメモリ２３６内にあることが示されると、ツールはＣＰＵ２２８に関連するＤＲＡＭ２３０に転送され、マリオファクトリーの実行が開始できるようになる。従って、編集ツールがフラッシュメモリ内に既にあれば、マリオファクトリーは自動的に格納される。ブロック３９１でのチェックにより、編集ツールがフラッシュメモリ２３６内にないことが示されると、３８８において、ツールディスケットがフロッピーディスクドライブ内にあるかどうかを決定するためのチェックが行われる。フロッピーディスクディスケットがフロッピーディスクドライブ１９９内にない場合には、「ツールディスクを挿入して下さい」というメッセージがユーザに対して表示される（３８９）。ツールディスクが挿入されていることが検出されると、ツール導入画面が生成され（３９０）、マリオファクトリーの格納が完了する。同様に、識別カードからのユーザ構成データがカードからダウンロードされ（４１２）、例えばＣＯＮＦＩＧ．ＳＹＳファイル等でメインＣＰＵによって実行されるオペレーションシステムに組み込まれる。
【００５８】
本発明の一実施例に従って、モデルソフトウェアが、２つの異なるファイルが記憶されるように格納される。２つの異なるファイルとは、ゲームの修正不可能な面を含むベースファイルおよびユーザが修正するゲームの諸要素を含むユーザファイルである。代わりに、ベースファイルのみが最初に格納されて、ゲームプレイの基本的な面のみをユーザに提供して、新規のゲームをベースファイルに関連するゲームのジャンル内に構築および作成するようにしてもよい。
【００５９】
ブロック３９２において、モデルソフトウェアがフロッピーディスクドライブにあるかどうかを決定するチェックが行われる。モデルソフトウェアがフロッピーディスクドライブ１９９内にない場合は、ユーザは、モデルソフトウェアディスクをインストールするように促され（３９４）、モデルソフトウェア格納画面が生成される（３９３）。その後、ユーザファイルがユーザによって選択されているかどうかのチェックが行われる（３９５）。ユーザファイルは、ベースファイルとは異なるディスクに格納されていてもよい（このため、ブロック３９５におけるユーザファイルの選択には、別のディスクの挿入を必要とする場合がある）。ユーザファイルは、モデルソフトウェアビデオゲームに対してこれまでなされた変更を含む。最初は、ユーザファイルは、モデルソフトウェアが初期ゲームプレイを定義しているデフォルトステージ内にある。ユーザがゲームを変更すると、デフォルト情報が変更されて、ユーザの編集上の修正が反映される。ゲームカートリッジおよびフロッピーディスクの両方は、ベースファイルとユーザファイルとを含むが、フロッピーディスクは、ゲームカセットが記憶しないようなゲームの元のデフォルトバージョンを記憶する。ＲＡＭカセットデータは、デフォルトデータがカセット４上に常駐しないようにリアルタイムで修正される。ユーザファイルが選択されると、ユーザファイル格納画面が表示される（３９８）。ユーザファイルが選択されていない場合には、ユーザは、ユーザディスクを挿入するように促され（３９６）、ユーザは、ユーザファイルを選択する新たな機会を持つようになる（３９７）。その後、ユーティリティタイトル画面が（３９９）、画面に表示される。
【００６０】
ブロック３９２において、モデルソフトウェアは、別のディスクを挿入することによって、ユーザの所望通りに変更することができる。ユーティリティタイトル画面が表示されると、ユーザは、ユーザが他のユーザファイルを選択することができるブロック３９５に分岐して戻るような特定のファイルアイコンをクリックしてもよい。代わりに、ルーチンは分岐して、モデルソフトウェアを変更することによってすべてのジャンルのゲームを変更しうるブロック３９２に戻ってもよい。マリオファクトリープログラムは、多様な編集ツールを含み、例えば特定のキャラクタを描画するための「ドット」や、動画を制御するための「動画データ」等がある。
【００６１】
ゲームプロセッサシステムは、本明細書で説明する実施例に従えば、ＣＰＵ２００の制御下のソフトウェアと、メインＣＰＵ２２８の制御下のソフトウェアとを含む。ＣＰＵ２００によって処理されるソフトウェアは、上述のモデルゲームソフトウェアと、ユーザが作成したゲームプログラムとを含む。メインＣＰＵ２２８は、種々のユーティリティプログラム、オペレーティングシステム、周辺ドライバプログラムならびにＢＩＯＳおよびＩＰＬソフトウェアを実行する。メインＣＰＵ２２８によって処理されるユーティリティソフトウェアは、ゲーム編集ツール、ネットワークソフトウェア、文書処理ソフトウェア、ディスク管理ソフトウェア等を含む。オペレーティングシステムおよび周辺ドライバソフトウェアは、以下に述べるＢＩＯＳソフトウェアによっては充分に支援されていない周辺装置を支援するためのサブルーチンを含む。
【００６２】
ＢＩＯＳソフトウェアは、上述のシステムハードウェアと直接対話を行うための低レベルルーチンを含む。より特定的には、システムのメインＣＰＵ２２８部と、ゲームＣＰＵ２００のサブシステムとの間の情報交換は、ソフトウェアから捉えると、ＢＩＯＳ  ＲＯＭ２３４内に常駐するルーチンと、モニタＲＯＭ２０４内に常駐するルーチンという２つのＢＩＯＳオペレーティングシステムルーチンによって制御される。オペレーティングシステムルーチンからのそのような情報転送の間に遂行される処理を、以下に説明する。ＢＩＯＳルーチンは、図５および図６に示すマウス１６，キーボード１８，操作器１２および１４，表示装置１５およびモデム２２のような種々の入出力装置を制御し、処理装置の構内通信、メモリ保守機能およびＰＰＵ制御機能を制御する。ＣＰＵ２００  ＢＩＯＳソフトウェアによって制御されるＰＰＵ２１２の機能は、例えばＰＰＵのカラー生成ＲＡＭが所定の所望するカラーマップを定義するようセットすること、ビデオＲＡＭ２１４に対してデータを転送すること、重ね合わせ優先順位をセットすること等を含む。制御される画面表示関連機能は、カーソル位置をセットすることを含む。制御されるキーボード機能は、キーボードの初期化、キーボードバッファデータの取得およびキーボードステータス情報の取得を含む。同様に、マウスに関しては、ＢＩＯＳソフトウェアによって制御される種々の機能は、マウスの初期化や、マウスのカーソル位置の取得等を含む。ゲームＣＰＵ２００の操作の制御に関連するＢＩＯＳソフトウェアは、ゲームＣＰＵの初期化、音声処理装置２０８および作業用ＲＡＭ２１０に対するデータの送信、ならびにメインＣＰＵ２２８とのデータの交換に関連する機能を含む。メインＣＰＵ２２８に関連するＢＩＯＳソフトウェアは、リアルタイムクロックのセット、ゲートアレイ２２６内のタイムアウトカウンタのチェックおよびＭＳ  ＤＯＳのような従来のオペレーティングシステムにおいて通常遂行されるようなオペレーティングシステムハウスキーピング機能の遂行のような制御機能を含む。オペレーティングシステムソフトウェアは、図６のＳＣＳＩボード２４を介してＩＢＭ互換ＰＣから受信されたゲームプログラムを実行および編集できるようにするために、他のコンピュータからいくつかのコマンドを受信する端末機能を有する。
【００６３】
ＩＰＬソフトウェアは、初期プログラム格納を行う役割を果たしており、システム立ち上げ時にゲームプロセッサシステムステータスをチェックして、オペレーティングシステムルーチン内のＢＩＯＳを立ち上げる。初期プログラム格納（ＩＰＬ）ルーチンは、システムの開始時に実行され、まず開始メッセージが表示されることになる。開始メッセージは、著作権警告を含む。その後、ＩＰＬは、会員識別カード内の巡回冗長コード（ＣＲＣ）をチェックする識別コードチェックを遂行する。識別カードが権限を有していると決定されれば、システムが立ち上がる。識別チェックによって、識別カードが権限を有していないことがわかると、権限を有しない旨を示す表示が生成される。識別コードチェックによってシステムが立ち上がることができるようになると、ハードウェアステータスチェックが行われる。ハードウェアステータスチェックは、現在のシステム構成のＲＡＭのサイズを決定し、接続されたＲＡＭが読み取りおよび書き込みが可能である旨を確認するチェックを行う。その後、フロッピーディスクドライバ、モデム、プリンタ、ハードディスクならびに制御ユニットおよび拡張ユニット内の他の装置が適切に接続されているかを確認するためのチェックが行われる。すべてのハードウェアステータスチェックによって適切な接続が確認されない場合には、システム障害を示す適切な表示が生成される。
【００６４】
すべてのハードウェアステータスチェックによって適切な接続が示されると、その後、オペレーティングシステム識別コードのチェックが行われる。このチェックでは、オペレーティングシステム内の識別コードがチェックされて、チェックが通れば立ち上がり処理が行われる。チェックに失敗すると、システム障害を示す表示が生成される。識別コードチェックによって適切な識別コードが確認されると、オペレーティングシステムが立ち上がる。
【００６５】
機密保護チェックは、システム全体に渡る多重レベルにおいて機密保護システムが導入されるように設計される。上述したように、初期プログラム格納（ＩＰＬ）において、権限のない識別カードを検出するための識別コードチェックが行われる。識別コードチェックは、権限のないＯＳ／ＢＩＯＳが使用されている旨を示すためにも行われる。さらに、上述したように、機密保護チップがＲＡＭカセット４内で用いられ、システムが権限のないハードウェアと結合されているかどうかの決定を行う。さらに、ＢＩＯＳ／ＯＳレベルにおいて、ベースファイルを不適切にアクセスしているかどうかを決定するための識別コードチェックが行われる。識別コードチェックは、権限のないネットワークアクセスおよび権限のないユーティリティの使用があるかどうかをも決定する。このような識別コードチェックに失敗すると、行おうとしたファイル操作は不可能となる。ＢＩＯＳ／ＯＳは、上述した以外のマシンアーキテクチャによる読み出しを困難にするような関連する特有データフォーマッティングおよび／またはファイル圧縮方法をも用いる。
【００６６】
オペレーティングシステムは、コマンドの解釈、メモリの管理、一時的なオペレーティングシステム部内の読み出しおよびコマンドルーチンの開始を行う中核部を含む。中核部は、「ｃｏｎｆｉｇ．ｓｙｓ」ファイルを読み出す。「ｃｏｎｆｉｇ．ｓｙｓ」は、周辺ドライバのセットアップのような事項を記録して、一時的なオペレーティングシステム、一時的なＢＩＯＳ、周辺ドライバ等をメモリ上ににアンパックして、それらを管理するファイルである。ＣＯＮＦＩＧ．ＳＹＳファイルは、ステップ４１２においてユーザ識別カードからデータを移入することによって、各ユーザ用に調整される。オペレーティングシステムのコマンドルーチン部は、中核部からの命令に基づいた実際の処理を遂行し、オペレーティングシステムの周辺ドライバ部は、上述したような種々の周辺装置へのアクセスを取り扱うサブルーチンを含む。
【００６７】
図１７は、図１５に示す認証ステップ４１０のプログラムフロー図を示す。二重認証ルーチンは、ゲーム編集、複写または実行が許可される以前に、真正な識別カードとカートリッジとがゲームプロセッサコンソールに挿入されているかを決定する。画面に接続画面が表示された後、メインＣＰＵが、識別カード６内と識別カードインタフェイス２６３内とにある機密保護回路（ＣＩＣＢ)の対に対して識別カードが真正なカードである旨を確認するように命令することによって（４１４）認証手続きを開始する。機密保護回路の対の例は、米国特許番号第４７９９６３５号（対応；特開昭６１−２９６４３３号公報）に説明されている。ステップ（４１６）において、これらの機密保護回路が互いに認証し合うと、メインＣＰＵはゲームカートリッジ内とカートリッジインタフェイス内とにある同様の機密保護回路３３３の対に対して互いに認証し合うよう命令する。代わりに、機密保護回路のうちの一方がゲームカートリッジの真正さを決定するようにして、もう一方の回路は認証回路と協働して動作するだけにしてもよい。
【００６８】
機密保護回路が、ステップ４１６において真正さを確認しない場合には、コンソールには有効な識別カードがなく、当該コンソールは、ゲームを複写したり、ゲーム編集のためのパーソナルコンピュータとしての機能を果たすことが不可能となる。しかしながら、有効な識別カードがなくても、コンソールをビデオゲームプレイヤマシンとして操作すること（４２０）は可能である（ゲームの編集または複写能力はない）。コンソールがゲームを行えるかどうかを決定するには、メインＣＰＵが、コンソールのメインＣＰＵ回路部分に接続されたモニタメモリ（モニタＲＯＭ）へのアクセスを阻止することによって、ゲーム編集機能をまず禁止する（４２２）。さらに、ゲームＣＰＵはゲームを開始するように命令され、カートリッジ内とカートリッジインタフェイス内とにある機密保護回路はステップ４１８と同様に互いに認証し合うように命令される（４２４）。カートリッジの認証は、ゲームプレイ中（継続的にまたは一定期間）繰り返される（４２６）。カートリッジ機密保護回路が認証に失敗すると、ゲームプレイは禁止される（４２８）。
【００６９】
有効な識別カード（４１６）および真正なゲームカートリッジ（４３０）がコンソールに接続されると、ゲームパーソナルコンピュータが、ゲームプレイおよびゲーム編集を完全に行うことができるようになる（４３２）。コンピュータは、コマンドフラグを「オン」にセットすることによって、コンソールが「コンピュータモード」である旨を示し、（ステップ４４０）、「オフ」にセットすることによって、ゲームプロセッサモードである旨を示す（ステップ４３４）。コマンドフラグがオンの時は、メインＣＰＵ２２８内のゲーム開始コマンドは使用不可能になり、コンソールはゲームプレイのみのために機能する。識別カードは無事認証したが（４１４，４１６）、コンソールに挿入されたゲームカートリッジがないかまたはカートリッジが無事認証しなかった場合には（４１８，４３０）、コンソールは、パーソナルコンピュータとして機能することに限定され、ビデオゲームプレイ装置として機能することが禁止される。操作をパーソナルコンピュータに限定するためには（４３６）、メインＣＰＵ（４３８）は、ゲートアレイを介して、ゲームＣＰＵ（ＳＣＰＵ）に対して、ゲームＣＰＵのゲームプレイ機能操作を禁止する命令（ＣＯＭ．ＭＯＤＥ）を送信する（４４０）。認証サブルーチンの最後において（４４２）、メインＣＰＵは、操作を継続して、最初の画面を表示させる（３８７）。
【００７０】
図１８は、フロッピーディスクドライブ１９９上のフロッピーディスク８に対する読み出しおよび書き込み操作に対する機密保護手続きを示すプログラムフローチャートである。ゲームはフロッピーディスクドライブに複写されうるので、権限を有しないユーザが、フロッピーディスクとフロッピーディスクドライブとを用いてゲームプログラムの不正な複写を行う危険性がある。従って、識別カード６の識別データがフロッピーディスクに格納された識別データと一致するまでは、フロッピーディスクドライブを禁止する機密保護手続きが開発されている。識別データを含むフロッピーディスク上のデータは、容易に複写できるが、識別カードは、特にカスタマイズされた機密保護回路を含む場合には、容易に複写されない。各識別カードは、モデルゲームソフトウェアを有するフロッピーディスクに記憶された固有の識別データコードに対応する固有の識別データコードが埋め込まれているので、ユーザは、適切な識別カードがなければ、モデルゲームプログラムを有するフロッピーディスクの読み出しまたは書き込みを行うことができない。
【００７１】
コンソールがデータをフロッピーディスクから読み出すように命令すると、データが読み出されるべきフロッピーディスク上のファイルを開いて（４５２）、当該ファイルに関連する識別データを読み出す（４５４）。同様にして、データをフロッピーディスクに書き込むには、ハードディスク内またはゲームカートリッジ内のファイルもしくはモデム接続からのファイルを開いて、当該ファイルに関連するデータがあれば読み出す。開いたファイルの識別データが、当該ファイルは市販のフロッピーディスクからのファイルのような新規ファイルであることを示す場合には（４５６）、ユーザ識別カードからの固有の識別データがカードから読み出され（４５８）、新規ファイルデータの上に重なって当該識別データフィールドに自動的に書き込まれる（４６０）。このように、モデルゲームプログラムおよび当該モデルプログラムのユーザによるプログラム修正は、ユーザの識別データと共に記憶される。他のユーザは、これらのファイルを使用および複写できない。識別データをフロッピーディスクに位置づける際に書き込みエラーが生じる場合には（４６２）、ユーザに対してエラーメッセージが表示される（４６６）前に、識別データ書き込みステップが繰り返される（４６４）。識別データが新規ファイルに関連するフロッピーディスクに無事書き込まれると、ファイルは送信され（４６８）、ファイルは閉じられ（４７０）、フロッピーディスクに対する書き込み操作を終了する（４７２）。
【００７２】
ファイルが新規ファイルでない場合には（４５６）、当該ファイルの識別ファイル（フロッピーディスク上か、ハードディスク等のコンソール上のメモリ上かまたはモデムからのダウンロードかを問わない）が読み出されて、ファイルが関連する所有権を主張できる識別データかまたは複写が自由なフリーファイルに対応するフリー識別データかを決定する（４７４）。フリーファイルは、ユーザ間でフロッピーディスクの交換またはモデムによって交換されうる。フリーファイルは、通常、特定のモデルプログラムから作成された新規ゲーム用のデータファイルであって、新規ゲームの作成者が複写保護を行わないよう選択したものである。このような場合、新規ゲームのデータファイルは複写可能で、必要なモデルゲームソフトウェアに対して他のユーザがアクセスする権利を有していれば、そのユーザはゲームを行うことができ、さらにゲームを編集することもできる。従って、モデルゲームプログラムから派生したゲームを行うユーザによって作成されたデータのようなユーザデータのみが、フロッピーディスクに自由に送受信（４６８）されることができる。フリーファイルがユーザデータでない場合は（４７６）、警告がユーザに対して表示され（４７８）、ファイルが閉じて（４７０）ファイルの複写が禁止される。
【００７３】
ファイルが新規ファイルまたはフリーファイルでない場合には（４５６，４７４）、ファイルは関連する所有権を主張できる識別データを有すると推定される。ユーザの識別データが、コンソール内に挿入されたユーザの識別カード６内のメモリデバイスから読み出され（４８０）、 ユーザの識別データは、フロッピーディスクの書き込みまたは読み出しが行われるファイルに関連する識別データと比較される（４８０）。識別データが無事比較されると（４８２）、ファイルは、フロッピーディスクへの書き込みまたは読み出しが行われる（４６８）。比較に失敗すると、エラーメッセージがユーザに対して表示される（４８４）。
【００７４】
図１９は、ユーザの識別データの例えばＥＥＰＲＯＭ等のメモリデバイスからの識別データを取得する操作を示すフローチャートである。識別データがユーザの識別カードから取得されると（４９０）、識別カード内と識別カードインタフェイス内とにある機密保護回路が互いに認証し合う（４９２）。これらの回路はカスタマイズされた集積回路でもよいので、権限を有しないユーザが権限を有しない回路を伴った識別カードを有する危険性は比較的少ない。いったん機密保護回路が互い認証し合うと（４９４）、識別カードからの識別データがカードのメモリから読み出され（４９６）、回路が互いに認証し合わない場合には、エラーメッセジがユーザに対して表示されて、データのフロッピーディスクへの送受信が行われなくなる（４９８）。
【００７５】
図２０は、コンソール内に真正なカートリッジがない場合に、ゲームＣＰＵのゲームプレイ機能を禁止する処理を示すフローチャートである。上述したように、適切な機密保護回路を有するような真正なカートリッジは、ユーザがコンソールを用いてゲームプレイするのに必要である。真正なカートリッジがない場合には、適切な識別カードを有するユーザは、通常のパーソナルコンピュータと同様の方法で、メインＣＰＵおよびコンソールを操作する。
【００７６】
図２０に示すプログラムルーチンは、コンソールがパーソナルコンピュータモードに限定されている場合に、ゲームＣＰＵが遂行する幾つかの最低限の機能に関する。コンソールがパーソナルコンピュータモードの場合、ゲームＣＰＵは通常禁止されている。しかしながら、ゲーム処理装置がそれでもなお遂行する手動操作器キー信号等を処理するような幾つかの機能は存在する。このような機能は、ゲーム編集に必要であり、従って、ゲームＣＰＵは、たとえ禁止されていても、このような機能については遂行する。
【００７７】
ゲームＣＰＵが禁止モードの場合（５００）、キーパッドハンド操作器のような入力装置からコマンド信号を受信する（５０２）までは、ゲームＣＰＵは禁止されたままである。留意点は、ある知られた機密保護回路が、ゲーム処理装置を継続的なリセット状態にしておくことで抑止することである。そのような機密保護回路がここで実施されると、リセット状態を解除するか、そうでなければゲームＣＰＵが動作することを許可するような対応がなされなければならない。入力コマンドを処理するためには、ゲームＣＰＵは、まずコマンドが音声制御に関連するかを決定し（５０４）、関連するのであれば、音声処理装置に対してコマンドデータを送信する（５０６）。
【００７８】
コマンド信号が音声制御用ではない場合には、ゲームＣＰＵは、当該信号が、携帯型キーパッド１２，１４のような操作器からのキー入力に関連するかを決定する（５０８）。信号が音声制御にもキー入力にも関連しない場合、ゲームプロセッサは命令信号をこれ以上処理しないで、禁止状態に戻る。命令信号がキー入力である場合には、キーデータが適切な制御装置から読み出され（５１０）、データは、ゲートアレイを介してメインＣＰＵに動作用に送信される。このようにして、ゲームＣＰＵは、ゲーム機能がキー入力に応答して遂行されることを許可しない。
【００７９】
図２１は、データ／プログラムを遠隔位置からゲームプロセッサコンソールに転送するためのルーチンの例を示すフローチャートである。ユーザは、ゲーム処理センタ４０（図９）のようなゲームプログラムの中央保管所か、または友人宅のゲームプロセッサユニット５０と遠隔的に接続される。このような接続中に、ユーザは、ルーチンを実行することによって、データまたはプログラムファイルを自身のゲーム処理装置にダウンロードできる（５２０）。ファイルをダウンロードする直前に、メインＣＰＵは、ファイルに関連する識別データを受信して、データはユーザに費用負担なしで格納可能かを決定する（５２２）。ファイルに関連する費用が必要な場合は、ユーザに画面表示によって知らせて（５２４）、ファイルをダウンロードすべきかどうかを確認する（５２６）。費用がファイルの複写のダウンロードに関連していれば、例えばゲーム処理センタにあるユーザの口座から差し引かれたり、ユーザに対して請求書を送付したりすることによって自動的に、ファイルの複写についてユーザは料金を請求される。ファイルがダウンロードされることになると、ユーザは、ゲーム処理装置によって、ファイルをフロッピーディスク６かまたはゲームカートリッジ４のいずれかに複写するべきかを選択するように促される（５２８）。ファイルがフロッピーディスクに複写される場合には（５３０）、図１８に関連して説明したように、ユーザがファイルをフロッピーディスクに複写する権限を有することを証明するために、ルーチンが実行される。
【００８０】
ファイルがゲームカートリッジに複写される場合には、メインＣＰＵは、ファイルが、例えばモデルゲームプログラムから派生した新規のゲームのデータのようなユーザデータであることを確認する（５３２）。さらに、カートリッジに格納されるべきユーザデータは、ゲームカートリッジに既に格納されているモデルソフトウェアプログラムと一致しなければならず（５３４）、その後でユーザデータがゲームカートリッジに複写される（５３６）。ダウンロードされるべきファイルがユーザデータでない場合または既に格納されたモデルゲームプログラムと一致しない場合には、エラーメッセージがユーザに対して表示される（５３８）。ダウンロードルーチンが完了すると、ルーチンが完了して、メインＣＰＵプログラムの制御に戻る（５４０）。
【００８１】
本発明は、現時点において最も実用的かつ好ましい実施例と思われるものに関して説明してきたが、本発明は開示された実施例に限定されるものではなく、反対に、付加されたクレームの精神および範囲内に含まれる種々の修正および構成を含むことが意図されていることが理解されるべきである。
【図面の簡単な説明】
【図１】ビデオグラフィックゲーム作成システムのブロック図である。
【図２】図１に示すゲームプロセッサシステムコンソールユニット２の斜視図である。
【図３】図４に示すゲームプロセッサコンソールユニットの一部の拡大斜視図である。
【図４】図１から図３に示すゲームプロセッサコンソールユニットの横断面図である。
【図５】図１に示すゲームプロセッサシステムの実施例のより詳細なブロック図である。
【図６】図１に示すゲームプロセッサシステムの実施例のより詳細なブロック図である。
【図７】システムメモリスペースの一部のメモリマップである。
【図８】システムメモリスペースの一部のメモリマップである。
【図９】図５および図６の実施例が用いられうるオンラインネットワーキングシステムの例を示す図である。
【図１０】図１に示すゲームプロセッサシステムの実施例のための識別カードおよび識別カードインタフェイスの例の詳細なブロック図である。
【図１１】ＲＡＭカートリッジ４の単純な模式図である。
【図１２】カートリッジ４のアース、アドレス、データ、リセットおよび電源コネクタを示す図である。
【図１３】ＲＡＭカートリッジ４の単純な模式図である。
【図１４】カートリッジ４のアース、アドレス、データ、リセットおよび電源コネクタを示す図である。
【図１５】本発明の実施例に従った操作のシーケンスを示すフローチャートであって、電源投入から「マリオファクトリー」ユーティリティタイトル画面が現れるまでを示している。
【図１６】本発明の実施例に従った操作のシーケンスを示すフローチャートであって、電源投入から「マリオファクトリー」ユーティリティタイトル画面が現れるまでを示している。
【図１７】本発明の実施例に従った操作のシーケンスを示すフローチャートであって、識別カードおよび／またはゲームカートリッジの認証中に、遠隔位置からのプログラムおよびデータファイルのダウンロード時におけるフロッピーディスクに対する書き込み／読み出しを示している。
【図１８】本発明の実施例に従った操作のシーケンスを示すフローチャートであって、識別カードおよび／またはゲームカートリッジの認証中に、遠隔位置からのプログラムおよびデータファイルのダウンロード時におけるフロッピーディスクに対する書き込み／読み出しを示している。
【図１９】本発明の実施例に従った操作のシーケンスを示すフローチャートであって、識別カードおよび／またはゲームカートリッジの認証中に、遠隔位置からのプログラムおよびデータファイルのダウンロード時におけるフロッピーディスクに対する書き込み／読み出しを示している。
【図２０】本発明の実施例に従った操作のシーケンスを示すフローチャートであって、識別カードおよび／またはゲームカートリッジの認証中に、遠隔位置からのプログラムおよびデータファイルのダウンロード時におけるフロッピーディスクに対する書き込み／読み出しを示している。
【図２１】本発明の実施例に従った操作のシーケンスを示すフローチャートであって、識別カードおよび／またはゲームカートリッジの認証中に、遠隔位置からのプログラムおよびデータファイルのダウンロード時におけるフロッピーディスクに対する書き込み／読み出しを示している。
【符号の説明】
２…ゲームプロセッサシステムユニットコンソール
３…フロッピーディスク取り出しボタン
４…ＲＡＭカセット
６…識別カード
８…フロッピーディスク
９…リセットボタン
１０…マイクロフォン
１１…電源オンオフスイッチ
１２，１４…２人プレイヤ操作器
１３、１７、１９、２１および２３…コネクタ
１６…マウス
１８…キーボード
２０…交流アダプタ
２２…モデム
２４…拡張ボード
２６…プリンタ
２７…ＩＢＭコンパチブルＰＣ
２８…ハードディスクドライブ
３０…スキャナ
２００…ＣＰＵ
２２８…メインＣＰＵ
２２６…ゲートアレイ回路
【図１】
0003707839.tif 000004
【図２】
0003707839.tif 000005
【図３】
0003707839.tif 000006
【図４】
0003707839.tif 000007
【図５】
0003707839.tif 000008
【図６】
0003707839.tif 000009
【図７】
0003707839.tif 000010
【図８】
0003707839.tif 000011
【図９】
0003707839.tif 000012
【図１０】
0003707839.tif 000013
【図１１】
0003707839.tif 000014
【図１２】
0003707839.tif 000015
【図１３】
0003707839.tif 000016
【図１４】
0003707839.tif 000017
【図１５】
0003707839.tif 000018
【図１６】
0003707839.tif 000019
【図１７】
0003707839.tif 000020
【図１８】
0003707839.tif 000021
【図１９】
0003707839.tif 000022
【図２０】
0003707839.tif 000023
【図２１】
0003707839.tif 000024