(57)【要約】      （修正有）【課題】複数種ハードウエア用に作られたゲームプログラムを実行途中で適宜切り替えて実行し、遊戯者にこれらを比較した遊びができるようにする。【解決手段】ゲーム装置には、２個のエミュレータ（Ａ、Ｂ）がインストールされるとともに、各エミュレータによってそれぞれ実行されるゲーム（Ａ１、Ｂ１）のＲＯＭイメージがインストールされている。ゲームは異なるハードウエアで実行される対応した内容のソフトウエアである。  さらにゲーム装置にはエミュレータを選択的に実行するエミュレータ選択実行ソフトウエア（ＳＷ）がインストールされている。【選択図】  図３（ａ）
2007075466.tif 000002
【特許請求の範囲】
【請求項１】
第１のハードウエアで実行される第１のゲームプログラムと、第２のハードウエアで実行される第２のゲームプログラムとが格納された記憶手段と、
前記第１のハードウエア構成をソフトウェアで再現して前記第１のゲームプログラムの解析を実行する第１エミュレータ手段と、
前記第２のハードウエア構成をソフトウェアで再現して前記第２のゲームプログラムの解析を実行する第２エミュレータ手段と、
前記第１または第２エミュレータを選択的に実行させるエミュレータ選択手段と、
前記第１または第２エミュレータの実行を中断したときに、当該実行していたエミュレータの実行状態およびゲームプログラムの解析状態のパラメータを前記記憶手段にそのまま保持するパラメータ保持手段と、
を有し、
前記第１エミュレータ手段および第２エミュレータ手段は、前記エミュレータ選択手段により、前記第１または第２エミュレータの一方から他方に切り替えてエミュレータの実行を再開するときに、前記パラメータ保持手段により保持された前記パラメータに基づいて前記第１のゲームプログラムまたは第２のゲームプログラムの解析を実行することを特徴とする情報処理装置。
【請求項２】
第１のハードウエアで実行される第１のゲームプログラムと、第２のハードウエアで実行される第２のゲームプログラムとが格納された記憶手段と、
前記第１のハードウエア構成をソフトウェアで再現して前記第１のゲームプログラムの解析を実行する第１エミュレータ手段と、
前記第２のハードウエア構成をソフトウェアで再現して前記第２のゲームプログラムの解析を実行する第２エミュレータ手段と、
前記第１または第２エミュレータを選択的に実行させるエミュレータ選択手段と、
前記第１または第２エミュレータの実行を中断したときに、当該実行していたエミュレータにより解析されたゲームプログラムにおけるゲームの進行状態のパラメータを抽出するパラメータ抽出手段と、
前記エミュレータ選択手段により、前記第１または第２エミュレータの一方から他方に切り替えてエミュレータの実行を開始するときに、前記パラメータ抽出手段により抽出された前記パラメータを、前記他方のゲームプログラムの対応するパラメータに代入するパラメータ代入手段と、
を有することを特徴とする情報処理装置。
【請求項３】
第１のハードウエアで実行される第１のゲームプログラムと、第２のハードウエアで実行される第２のゲームプログラムとが格納された記憶手段と、
前記第１のハードウエア構成をソフトウェアで再現して前記第１のゲームプログラムの解析を実行する第１エミュレータ手段と、
前記第２のハードウエア構成をソフトウェアで再現して前記第２のゲームプログラムの解析を実行する第２エミュレータ手段と、
前記第１または第２エミュレータを選択的に実行させるエミュレータ選択手段と、
前記第１または第２エミュレータの実行を中断したときに、当該実行していたエミュレータの実行状態およびゲームプログラムの解析状態のパラメータを前記記憶手段にそのまま保持するパラメータ保持手段と、
前記エミュレータ選択手段により、前記第１または第２エミュレータの一方から他方に切り替えてエミュレータの実行を再開するときに、前記パラメータ保持手段により保持された前記パラメータに基づいて前記第１のゲームプログラムまたは第２のゲームプログラムの解析を実行させるエミュレータ再開手段と、
して情報処理装置を機能させるゲームプログラム解析プログラム。
【請求項４】
第１のハードウエアで実行される第１のゲームプログラムと、第２のハードウエアで実行される第２のゲームプログラムとが格納された記憶手段と、
前記第１のハードウエア構成をソフトウェアで再現して前記第１のゲームプログラムの解析を実行する第１エミュレータ手段と、
前記第２のハードウエア構成をソフトウェアで再現して前記第２のゲームプログラムの解析を実行する第２エミュレータ手段と、
前記第１または第２エミュレータを選択的に実行させるエミュレータ選択手段と、
前記第１または第２エミュレータの実行を中断したときに、当該実行していたエミュレータにより解析されたゲームプログラムにおけるゲームの進行状態のパラメータを抽出するパラメータ抽出手段と、
前記エミュレータ選択手段により、前記第１または第２エミュレータの一方から他方に切り替えてエミュレータの実行を開始するときに、前記パラメータ抽出手段により抽出された前記パラメータを、前記他方のゲームプログラムの対応するパラメータに代入するパラメータ代入手段と、
して情報処理装置を機能させるゲームプログラム解析プログラム。
【請求項５】
請求項３または４に記載のゲームプログラム解析プログラムが記憶されたコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ハードウエアの構成（アーキテクチャ）が異なるゲーム装置で実行されるゲームプログラムを解析して実行し得るゲーム装置、ゲームプログラム実行（解析）プログラムに関する。
【背景技術】
【０００２】
現在、ゲームプログラムを実行するためのゲーム装置等のハードウエアは極めて高機能になっているが、そのハードウエアによって実行されるプログラムは、そのハードウエアに固有の仕様に合わせて作られている場合、ハードウエアが高機能であっても、異なる構成のハードウエア用に作られたプログラムは実行できない。
【０００３】
一方、まだ画像表示が充分に行えなかった時代のハードウエア用に作られたゲームプログラムであっても、ハードウエア機能をカバーして余りある巧みな画像表現、演出等が施されたもの、あるいは独特の味わいのあるものも多く、ゲームファンの間で、現在でも高い人気を保持している。
【０００４】
そこで特許文献１記載のゲームシステムでは、エミュレータによって旧ハードウエアの機能を現在のハードウエア上で再現し、旧ハードウエアで動作する１つのゲームプログラムのバイナリデータを解析して旧ハードウエアで実行されている状態と同様プログラム動作を行うものに関する発明が開示されている。
【０００５】
【特許文献１】特開２００１−３４０６４０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ゲームファンにとっては、１つのゲームプログラムがハードウエアごとに、その特性に応じた多様な特徴を発揮した移植がなされることも極めて興味深いポイントであり、個々のハードウエア用に作られた同様の仕様のゲームプログラムを比較したいという要求がある。しかし特許文献１のゲームシステムは、あるハードウエアに対応して作成されたエミュレータプログラムによって、そのハードウエアによって実行されるプログラムを逐次解析して実行しているため、そのような要求には応えていない。
【０００７】
本発明はこのような従来の問題点を解消すべく創案されたもので、複数種ハードウエア用に作られたゲームプログラムを実行途中で適宜切り替えて実行し、遊戯者にこれらを比較した遊びができるようにすることを目的とする。
【課題を解決するための手段】
【０００８】
本発明に係るゲーム装置は、第１のハードウエアで実行される第１のゲームプログラムと、第２のハードウエアで実行される第２のゲームプログラムとが格納された記憶手段と、前記第１のハードウエア構成をソフトウェアで再現して前記第１のゲームプログラムの解析を実行する第１エミュレータ手段と、前記第２のハードウエア構成をソフトウェアで再現して前記第２のゲームプログラムの解析を実行する第２エミュレータ手段と、前記第１または第２エミュレータを選択的に実行させるエミュレータ選択手段と、前記第１または第２エミュレータの実行を中断したときに、当該実行していたエミュレータの実行状態およびゲームプログラムの解析状態のパラメータを前記記憶手段にそのまま保持するパラメータ保持手段と、を有し、前記第１エミュレータ手段および第２エミュレータ手段は、前記エミュレータ選択手段により、前記第１または第２エミュレータの一方から他方に切り替えてエミュレータの実行を再開するときに、前記パラメータ保持手段により保持された前記パラメータに基づいて前記第１のゲームプログラムまたは第２のゲームプログラムの解析を実行する。
【０００９】
これによって、複数種ハードウエア用に作られたゲームプログラムを実行途中で適宜切り替えて実行し、遊戯者にこれらを比較した遊びができるようになる。
【００１０】
本発明に係る情報処理装置は、第１のハードウエアで実行される第１のゲームプログラムと、第２のハードウエアで実行される第２のゲームプログラムとが格納された記憶手段と、前記第１のハードウエア構成をソフトウェアで再現して前記第１のゲームプログラムの解析を実行する第１エミュレータ手段と、前記第２のハードウエア構成をソフトウェアで再現して前記第２のゲームプログラムの解析を実行する第２エミュレータ手段と、前記第１または第２エミュレータを選択的に実行させるエミュレータ選択手段と、前記第１または第２エミュレータの実行を中断したときに、当該実行していたエミュレータにより解析されたゲームプログラムにおけるゲームの進行状態のパラメータを抽出するパラメータ抽出手段と、前記エミュレータ選択手段により、前記第１または第２エミュレータの一方から他方に切り替えてエミュレータの実行を開始するときに、前記パラメータ抽出手段により抽出された前記パラメータを、前記他方のゲームプログラムの対応するパラメータに代入するパラメータ代入手段とを有する。
【００１１】
これによって、複数種ハードウエア用に作られたゲームプログラムを実行途中で適宜切り替えて実行し、遊戯者にこれらを比較した遊びができ、ゲームプログラムの対応した状況の比較も可能である。
【００１２】
本発明に係るゲームプログラム解析プログラムは、第１のハードウエアで実行される第１のゲームプログラムと、第２のハードウエアで実行される第２のゲームプログラムとが格納された記憶手段と、前記第１のハードウエア構成をソフトウェアで再現して前記第１のゲームプログラムの解析を実行する第１エミュレータ手段と、前記第２のハードウエア構成をソフトウェアで再現して前記第２のゲームプログラムの解析を実行する第２エミュレータ手段と、前記第１または第２エミュレータを選択的に実行させるエミュレータ選択手段と、前記第１または第２エミュレータの実行を中断したときに、当該実行していたエミュレータの実行状態およびゲームプログラムの解析状態のパラメータを前記記憶手段にそのまま保持するパラメータ保持手段と、前記エミュレータ選択手段により、前記第１または第２エミュレータの一方から他方に切り替えてエミュレータの実行を再開するときに、前記パラメータ保持手段により保持された前記パラメータに基づいて前記第１のゲームプログラムまたは第２のゲームプログラムの解析を実行させるエミュレータ再開手段として情報処理装置を機能させる。
【００１３】
これによって、複数種ハードウエア用に作られたゲームプログラムを実行途中で適宜切り替えて実行し、遊戯者にこれらを比較した遊びができるようになる。
【００１４】
本発明に係るゲームプログラム解析プログラムは、第１のハードウエアで実行される第１のゲームプログラムと、第２のハードウエアで実行される第２のゲームプログラムとが格納された記憶手段と、前記第１のハードウエア構成をソフトウェアで再現して前記第１のゲームプログラムの解析を実行する第１エミュレータ手段と、前記第２のハードウエア構成をソフトウェアで再現して前記第２のゲームプログラムの解析を実行する第２エミュレータ手段と、前記第１または第２エミュレータを選択的に実行させるエミュレータ選択手段と、前記第１または第２エミュレータの実行を中断したときに、当該実行していたエミュレータにより解析されたゲームプログラムにおけるゲームの進行状態のパラメータを抽出するパラメータ抽出手段と、前記エミュレータ選択手段により、前記第１または第２エミュレータの一方から他方に切り替えてエミュレータの実行を開始するときに、前記パラメータ抽出手段により抽出された前記パラメータを、前記他方のゲームプログラムの対応するパラメータに代入するパラメータ代入手段として情報処理装置を機能させる。
【００１５】
これによって、複数種ハードウエア用に作られたゲームプログラムを実行途中で適宜切り替えて実行し、遊戯者にこれらを比較した遊びができ、ゲームプログラムの対応した状況の比較も可能である。
【発明の効果】
【００１６】
本発明によれば、複数種のハードウエア用に作られたゲームプログラムを実行途中で切り替えながら実行できるので、ゲームの仕様等の比較が容易になり、過去に遊んだ類似するゲームまたは移植されたゲームの同様のシーンの比較を行うといったような新たな遊びを提供できるようになる。
【発明を実施するための最良の形態】
【００１７】
次に本発明に係る通信装置の好適な実施例を図面に基づいて説明する。
【実施例１】
【００１８】
図１は、本発明に係るゲーム装置の実施例１を示す正面図、図２は、本発明に係るゲーム装置をネットワークに接続した状態を示すブロック図である。
【００１９】
図１において、ゲーム装置１０００は例えば汎用コンピュータであり、表示すべき画像に基づいて表示部１０１０を駆動して画像を表示する表示制御部１０１２と有し、カラーＬＣＤ（液晶ディスプレイ）等の表示部（表示手段）１０１０等を備え、または接続される。
【００２０】
表示制御部１０１２には、ゲーム装置１０００全体を制御し、ＣＰＵや各ブロックとの情報の入出力を行うインターフェース（図示しない）等で構成する制御部１０２０が接続され、制御部１０２０には、システムメモリ１０３０、ＲＯＭ１０３２、メモリカード等外部メモリ１０３４が接続されている。ＲＯＭ１０３２は、ゲーム装置の起動時に最初に動作してゲーム装置の初期設定を行う起動プログラムやオペレーティングシステム（ＯＳ）等が格納されている。また、外部メモリ１０３４は、本発明のエミュレーションプログラムや、そのエミュレーションプログラムによって解析されるゲームのプログラムデータを格納しており、マスクＲＯＭやフラッシュＲＯＭ、磁気および／または光学ディスク等のゲーム装置に対して着脱可能な記録媒体で構成されている。尚、オペレーティングシステム（ＯＳ）は、外部メモリ１０３４に記録しておき、ゲーム装置の起動後に外部メモリからその都度読み出して実行するようにしても良い。表示部１０１０に表示すべき画像は制御部１０２０によって生成され、あるいはシステムメモリ１０３０、ＲＯＭ１０３２、外部メモリ１０３４に格納されている。
【００２１】
制御部１０２０には、操作者からの操作入力に基づいてゲーム装置に操作指示信号を送信する操作入力部１０６０が接続されている。
【００２２】
制御部１０２０には、他のゲーム装置や情報処理装置等の外部機器との間で、通信回線等の通信手段によって通信するための通信Ｉ／Ｆ１０４０（通信手段）が接続されている。
【００２３】
ゲーム装置１０００には、ゲームプログラム、エミュレーションプログラム（エミュレータ手段）およびエミュレータ選択実行ソフトウエア（エミュレータ選択手段）が、外部メモリ１０３４からロードされ、あるいは通信Ｉ／Ｆ１０４０を介して他のゲーム装置や情報処理装置等の外部機器からダウンロードされ、システムメモリ１０３０（記憶手段）に格納される。
【００２４】
図２に示すように、複数のゲーム装置１００１〜１００４をＬＡＮを通じてサーバＳＶに接続し、さらにインターネットＩＮを介して接続された遠隔のゲーム装置１００５〜１００７をサーバＳＶに接続してもよい。これによって、遠隔ゲーム装置のデータの送受信が可能となり、対戦ゲームが行えるようになる。尚、サーバＳＶを置かず、ゲーム装置同士で直接データの送受信を行うようにしても良い。
【００２５】
図３（ａ）および（ｂ）は、図１のゲーム装置におけるハードウエアとソフトウエアの関係を示す図、図４は、図１のゲーム装置におけるソフトウエアのメモリマップを示す図である。
【００２６】
図３（ａ）および（ｂ）において、例えばゲーム装置１０００には、２個のエミュレータソフトウェアＡ、Ｂ（第１、第２エミュレータ手段）がシステムメモリ１０３０に記憶されるとともに、各エミュレータＡ、Ｂによってそれぞれ実行されるゲームＡ１、Ｂ１のＲＯＭイメージも記憶されている。エミュレータＡ、ＢおよびゲームＡ１、Ｂ１はそれぞれ異なるハートウエアで実行される対応した内容のソフトウエアである。
【００２７】
ゲーム装置１０００は、電源がオンされたときまたはリセット入力がされたとき、制御部１０２０内のＣＰＵによってＲＯＭ１０３２内の起動プログラムを実行し、ゲーム装置１０００の初期設定を行う。この初期設定の終了後に、ＲＯＭ１０３２または外部メモリ１０３４内の管理用ソフトウェア（ＯＳ）を読み出してこれを実行する。管理用ソフトウェア（ＯＳ）は、ゲーム等のアプリケーションプログラムやデータのシステムメモリ１０３０や通信Ｉ／Ｆ１０４０への入出力制御や、その際のシステムメモリ１０３０内への格納領域の確保や、複数のアプリケーションプログラムの実行の優先順位等のスケジュール管理の設定を行なう。その後、本発明のエミュレータ等のアプリケーション等がシステムメモリに読み込むたびに、必要なメモリ領域の確保や実行手順の設定を行なう。即ち、エミュレータＡ、Ｂは管理用ソフトウエアＯＳによって制御され、管理用ソフトウエアＯＳはゲーム装置１０００のハードウエアＨＷ（図１）によって実行、制御される。
【００２８】
さらにゲーム装置１０００にはエミュレータＡまたはＢを選択的に実行するエミュレータ選択実行ソフトウエアＳＷがシステムメモリ１０３０に記憶され、エミュレータ選択実行ソフトウエアＳＷは、管理用ソフトウエアＯＳによって制御される。尚、図３（ａ）は、管理用ソフトウェア（ＯＳ）上でエミュレータＡ、Ｂおよびエミュレータ選択実行ソフトウェアＳＷが実行、制御されているが、本発明においては、実行されるアプリケーションソフトウェアが固定的に決まっている場合、管理用ソフトウェア（ＯＳ）の機能を省略することも可能である。また同様に、図３（ｂ）のように、管理用ソフトウェア（ＯＳ）がエミュレータ選択実行ソフトウェアＳＷの機能を含むようにしても良い。
【００２９】
図４において、ゲーム装置１０００にインストールされたエミュレータＡ、Ｂ、ゲームＡ１、Ｂ１はシステムメモリ１０３０に格納され、例えばアドレスＡＤａ１〜ＡＤａ２にエミュレータＡ、アドレスＡＤｂ１〜ＡＤｂ２にエミュレータＢ、アドレスＡＤａ１１〜ＡＤａ１２にゲームＡ１、アドレスＡＤｂ１１〜ＡＤｂ１２にゲームＢ１が格納される。また、アドレスＡＤｃ１から始まるアドレス空間にエミュレータ選択実行ソフトウェアＳＷが格納され、アドレスＡＤｄ１から始まるアドレス空間に管理用ソフトウェア（ＯＳ）が格納される。本発明では、システムメモリ１０３０にエミュレータＡ、ＢやゲームＡ１、Ｂ１、エミュレータ選択実行ソフトウェアＳＷを格納した状態で、各ソフトウェアを実行、制御する。
【００３０】
エミュレータＡは、例えば図５に示す、ＣＯＮＳＵＭＥＲ（例えば家庭用ゲームのハードウェア）という名称のハードウエアに対応し、エミュレータＢは、例えば図６に示す、ＡＲＣＡＤＥ（例えば業務用ゲームのハードウエア）という名称のハードウエアに対応する。
【００３１】
図３の構成において、エミュレータＡ、Ｂおよびエミュレータ選択実行ソフトウエアＳＷによってゲームプログラム実行プログラムが構成される。
【００３２】
図５は、エミュレータ選択実行ソフトウエアＳＷにおけるシステムメニューの画面Ｐ１を示し、図６は同ソフトウエアＳＷにおけるシステムメニューの画面Ｐ２を示し、図７は同ソフトウエアＳＷにおいて、エミュレータＡを、エミュレータＢに切り替える画面Ｐ３を示す。
【００３３】
図５、図６のシステムメニューには、ハードウエアを選択する「ＭＡＣＨＩＮＥ」、オプションメニュー「ＯＰＴＩＯＮ」、ゲーム記録を表示する「ＡＲＣＨＩＶＥ」、表示部１０１０の設定を行う「ＤＩＳＰＬＡＹ  ＳＥＴＴＩＮＧ」、ゲームを実行するための「ＣＲＥＤＩＴ」、エミュレータＡの設定をリセットする「ＲＥＳＥＴ」、ゲームソフトウエアを初期画面（タイトル画面）の状態に戻す「ＲＥＴＵＲＮ  ＴＯ  ＴＩＴＬＥ」、エミュレータを終了する「ＥＸＩＴ」の各メニューが設けられている。そして、「ＭＡＣＨＩＮＥ」として図５では「ＣＯＮＳＵＭＥＲ」、図６では「ＡＲＣＡＤＥ」が選択されている。
【００３４】
図７のシステムメニューでは、「ＭＡＣＨＩＮＥ」を「ＡＲＣＡＤＥ」から「ＣＯＮＳＵＭＥＲ」に切り替えた際に、ヘルプメッセージが表示された状態を示す。ヘルプメッセージには、例えば「マシンの切り替えを行います。ＯＰＴＩＯＮとＡＲＣＨＩＶＥ、ＤＩＳＰＬＡＹ  ＳＥＴＴＩＮＧの内容も変わります。」と表示される。
【００３５】
エミュレータＡ、Ｂは操作入力部１０６０における所定のキー、例えば「Ｆ２」等ファンクションキーによって、いつでも動作を中断でき、その後「Ｆ１」キー等によって、中断個所から動作を再開できる。中断時にはメニューＰ１、Ｐ２あるいはＰ３が表示され、種々の設定変更が可能である。エミュレータソフトウェアの実行を中断するとは、エミュレータソフトウェアによって解析されているゲームソフトウェアの解析を中断することであり、本発明では、中断した際のゲームソフトウェアの解析箇所を示すアドレスや、プログラムをハングアップさせずに正しく動作させるために必要な、エミュレーションプログラムの動作パラメータや解析した結果のパラメータが格納されたシステムメモリの内容等を保持しておくようにしている。このときエミュレータ選択実行ソフトウエアＳＷはパラメータ保持手段として機能する。
【００３６】
図８は、エミュレータ選択実行ソフトウエアＳＷの動作を示すタイミング図であり、図９は、エミュレータ選択実行ソフトウエアの動作を示すフローチャートである。
【００３７】
図８において、ゲームＡ１の流れを左側に下向きに配列した画面ＰＡ１〜ＰＡ６で示し、ゲームＢ１の対応する流れを右側に下向きに配列した画面ＰＢ１〜ＰＢ６で示す。図８では、エミュレータ選択実行ソフトウエアＳＷによって、まずエミュレータＡが選択されて、ゲームＡ１の解析が実行され、画面ＰＡ１、ＰＡ２等のようにゲームが実行されていく。ここで、画面ＰＡ１〜ＰＡ３が実行されたところで、遊戯者の操作指示によってエミュレータＡの実行が中断される。ここで、中断した際のゲームソフトウェアＡ１の解析箇所を示すアドレスや、解析した結果のパラメータ等が格納されたシステムメモリの内容等を保持しておく。そしてエミュレータ選択実行ソフトウエアＳＷによって、エミュレータＡを中断したままエミュレータＢによりゲームＢ１の解析が実行される。エミュレータの移行に際して画面Ｐ１、Ｐ２が表示される。
【００３８】
次に、エミュレータＢはゲームＢ１の解析を実行し、画面ＰＢ１、ＰＢ２等のようにゲームが実行されていく。ここでまた、画面ＰＢ１〜ＰＢ３が実行されたところで、遊戯者の操作指示によってエミュレータＢの実行が中断される。ここで、中断した際のゲームソフトウェアＢ１の解析箇所を示すアドレスや、解析した結果等のパラメータが格納されたシステムメモリの内容等を保持しておく。更に、エミュレータＡの実行が中断されたときのゲームソフトウェアＡ１の解析箇所を示すアドレスや、解析した結果等のパラメータが格納されたシステムメモリの内容等がそのまま保持された状態であるため、エミュレータ選択実行ソフトウエアＳＷによって、エミュレータＢを中断したままエミュレータＡの実行が中断された状態から再開される。エミュレータの移行に際して画面Ｐ２、Ｐ１が表示される。
【００３９】
次に、エミュレータＡによってゲームＡ１を実行し、画面ＰＢ３〜ＰＢ５が実行されたところで、遊戯者の操作指示によってエミュレータＢが中断される。ここでまた、中断した際のゲームソフトウェアＡ１の解析箇所を示すアドレスや、解析した結果等のパラメータが格納されたシステムメモリの内容等を保持しておく。更にまた、エミュレータＢの実行が中断されたときのゲームソフトウェアＢ１の解析箇所を示すアドレスや、解析した結果等のパラメータが格納されたシステムメモリの内容等がそのまま保持された状態であるため、エミュレータ選択実行ソフトウエアＳＷによって、エミュレータＡを中断したままエミュレータＢの実行が再開される。エミュレータの移行に際して画面Ｐ１、Ｐ３が表示される。
【００４０】
次に、エミュレータＢによってゲームＢ１を実行し、画面ＰＢ３〜ＰＢ６が実行される。
【００４１】
このように、異なるハードウエアに対応する複数のゲームソフトウエアを、中断した状態を保持したまま切り替え実行することによって、それぞれのゲームソフトウエアの仕様の比較が可能となる。
【００４２】
図９において、エミュレータ選択実行ソフトウエアＳＷは以下の各ステップを実行するプログラムコードを含む。尚、このステップにおいては、既にゲームＡ１またはＢ１のいずれかが選択されてエミュレーションプログラムが実行されている状態でのプログラムステップとして説明する。
【００４３】
ステップＳ８０１：まず「ＥＸＩＴ」によってエミュレータ選択実行ソフトウエアＳＷを終了すべきか否か判断する。終了すべきときは、ステップＳ８０７に進み、そうでないときはステップＳ８０２に進む。
【００４４】
ステップＳ８０２：「Ｆ１」キー等の所定の操作入力によりエミュレータＡまたはＢの処理中断が指示されたか否かを判断する。中断されたと判断したときはステップＳ８０３に進み、所定の操作入力がなく中断しないと判断されたときはステップＳ８０１に戻る。
【００４５】
ステップＳ８０３：実行中のエミュレータの処理を中断し、ステップＳ８０４に進む。ここで、エミュレータの処理を中断するとは、中断した際のゲームソフトウェアの解析箇所を示すアドレスや、解析した結果のパラメータが格納されたシステムメモリの内容等をその状態のまま保持しておくことである。
【００４６】
ステップＳ８０４：「ＭＡＣＨＩＮＥ」によってエミュレータ切り替えの指示が入力されたか否か判断する。指示入力によりエミュレータを切り替えると判断されたときはステップＳ８０５に進み、指示入力が無く切り替えないそうでないと判断されたときはステップＳ８０６に進む。
【００４７】
ステップＳ８０５：エミュレータの切り替えを実行し、ステップＳ８０１に戻る。
【００４８】
ステップＳ８０６：所定の操作入力によるエミュレータ実行再開を待ち、再開するときはステップＳ８０１に戻る。
【００４９】
ステップＳ８０７：終了処理を実行し、そのまま処理を終了する。
【００５０】
以上の処理では、ゲームＡ１、Ｂ１は異なるハードウエアで実行された同種のゲームソフトウエアであったが、全く異なるゲームソフトウエアを切り替え実行することも勿論可能である。
【実施例２】
【００５１】
図１０は、本発明に係るゲーム装置の実施例２を示すタイミング図、図１１は、図１０のゲーム装置におけるエミュレータ選択実行ソフトウエアの動作を示すフローチャートである。
【００５２】
実施例２は、エミュレータ切り替えに際して、ゲームソフトウエアの対応するシーンからゲームを実行する。エミュレーションによるゲームの解析および中断のシーケンスは実施例１と同様の動作手順であるが、実施例２では、ゲームの進行を示すパラメータを保持し、切り替え先のゲームソフトウェアの対応するパラメータに保持したパラメータを代入してゲームの進行を引き継ぐようにしている。ここで、ゲームの進行を示すパラメータとは、プログラムをハングアップさせずに正しく動作させるために必要なエミュレーションプログラムの動作パラメータとは異なり、ゲームＡ１またはＢ１を解析した結果として発生するパラメータで、ゲームＡ１またはＢ１のゲーム進行をその状態から引き続き進行させるために必要なパラメータである。例えば、シューティングゲームの場合は、ステージ数、プレーヤキャラクタ数（ゲーム再開回数）、プレーヤキャラクタの体力や武器、強さ等を示すパラメータ等であり、ロールプレイングゲームやアドベンチャーゲームでは、ゲーム進行フラグやプレーヤキャラクタの体力や武器、強さ等を示すパラメータ等である。
【００５３】
エミュレータ切り替えに際して、エミュレータ選択実行ソフトウエアＳＷは、そのとき実行されていたゲームから引き継ぐべきパラメータを抽出するパラメータ抽出手段、および抽出されたパラメータを切り替え実行されるゲームに代入するパラメータ代入手段として機能し、さらに新たなゲームプログラム解析を実行させるエミュレータ再開手段として機能する。
【００５４】
図１０に示すように、図８と同様のゲームＡ１、Ｂ１の流れにおいて、エミュレータ選択実行ソフトウエアＳＷによって、まずエミュレータＡが選択されて、ゲームＡ１が実行され、画面ＰＡ１〜ＰＡ３が実行されたところで、操作入力によってエミュレータＡの中断が指示される。このとき、中断した際のゲームＡ１の解析箇所を示すアドレスや、解析した結果等のパラメータが格納されたシステムメモリの内容等を保持してもよいが、解析した結果のパラメータとは別に、ゲームの進行を示すパラメータを抽出し、保持しておく。何故ならば、次にゲームＡ１が再開されるときは、中断した箇所から再開されるとは限らず、ゲームＢ１の進行状態を引き継いでエミュレーションプログラムを初期状態から実行させるため、エミュレーションプログラムそのものを中断状態からハングアップさせずに正しく動作させる必要がなく、エミュレーションプログラムの動作パラメータは保持しておく必要がないためである。そして、エミュレータ選択実行ソフトウエアＳＷによって、エミュレータＡを中断または終了したままエミュレータＢ１の実行が開始される。
【００５５】
エミュレータの移行に際して図８ではゲームＢ１の最初の画面Ｐ１が実行されたが、実施例２では、ゲームＡ１の中断時に保持しておいたゲームの進行を示すパラメータをゲームＢ１の対応するパラメータが記憶されているメモリ領域に代入する。この状態でゲームＢ１をエミュレータＢが解析を始めると、ゲームＢ１は、ゲームＡ１の中断した状態に対応する箇所から実行される。図１０においては画面ＰＡ３に対応する画面ＰＢ３の実行に移る。エミュレータ移行時には、図８と同様画面Ｐ１、Ｐ２が表示される。
【００５６】
その後エミュレータＢによってゲームＢ１の画面ＰＢ３から画面ＰＢ５終了時点までが実行され、操作入力によって中断が指示されると、ゲームＢ１のゲームの進行を示すパラメータを抽出して保持し、ゲームＡ１の対応するパラメータが記憶されているメモリ領域に代入する。エミュレータ移行処理によって、エミュレータＡを実行すると、ゲームＢ１のＰＢ５に対応するＰＡ５の終了時点からゲームＡ１の解析が始まり、続いてＰＡ６の解析が実行される。エミュレータ移行時には、図８と同様画面Ｐ２、Ｐ１が表示される。
【００５７】
図１１において、エミュレータ選択実行ソフトウエアＳＷは以下の各ステップを実行するプログラムコードを含む。尚、このステップにおいても、既にゲームＡ１またはＢ１のいずれかが選択されてエミュレーションプログラムが実行されている状態でのプログラムステップとして説明する。
【００５８】
ステップＳ１００１：まず「ＥＸＩＴ」によってエミュレータ選択実行ソフトウエアＳＷを終了すべきか否か判断する。終了すべきときは、ステップＳ１００８に進み、そうでないときはステップＳ１００２に進む。
【００５９】
ステップＳ１００２：「Ｆ１」キー等の所定の操作入力によりによりエミュレータＡまたはＢの処理中断が指示されたか否かを判断する。中断されたと判断したときはステップＳ１００３に進み、中断しないと判断されたときはステップＳ１００１に戻る。
【００６０】
ステップＳ１００３：実行中のエミュレータの処理を中断し、ステップＳ１００４に進む。
【００６１】
ステップＳ１００４：「ＭＡＣＨＩＮＥ」によってエミュレータ切り替えの指示が入力されたか否か判断する。エミュレータを切り替えるべきときはステップＳ１００５に進み、そうでないときはステップＳ１００７に進む。
【００６２】
ステップＳ１００５：実行されていたゲームのパラメータ、例えばクリアしたステージ、取得アイテム、パワー等、ゲームに状況を再現するのに必要なパラメータを保存し、ステップＳ１００６に進む。ここにパラメータはシステムメモリ１０３０に保存される。
【００６３】
ステップＳ１００６：ステップＳ１００６で保存されたパラメータをゲームＢ１の対応するパラメータが記憶されたメモリ領域に代入し、エミュレータＢを実行し、ステップＳ１００１に戻る。これによって一方のエミュレータで実行されたゲームの状況を他のエミュレータで実行されるゲームにおいて対応するシーンやゲーム状態で再現でき、異なるハードウエアに対応する対応ゲームの対応位置の状況を比較できる。
【００６４】
ステップＳ１００７：エミュレータ実行再開を待ち、再開するときはステップＳ１００１に戻る。
【００６５】
ステップＳ１００８：終了処理を実行し、そのまま処理を終了する。
【００６６】
以上のとおり、エミュレータ切り替えに際して、ゲームソフトウエアの対応位置を実行するので、対応した状況について、対応ゲームの家庭用ゲーム機バージョンとアーケードゲーム機バージョンの比較等を容易に行え、また、どうしてもクリアできないシーン等を、他のゲームの対応するシーンに切り替えて実行することで迂回して遊ぶ等、過去に遊んだゲームに新たな遊び方を提供することができるようになる。
【図面の簡単な説明】
【００６７】
【図１】本発明に係るゲーム装置の実施例１を示す正面図である。（実施例１、２）
【図２】本発明に係るゲーム装置をネットワークに接続した状態を示すブロック図である。（実施例１、２）
【図３（ａ）】図１のゲーム装置におけるハードウエアとソフトウエアの関係を示す図である。（実施例１、２）
【図３（ｂ）】図１のゲーム装置におけるハードウエアとソフトウエアの関係を示す図である。（実施例１、２）
【図４】図１のゲーム装置におけるソフトウエアのメモリマップを示す図である。（実施例１、２）
【図５】図１のゲーム装置におけるエミュレータ選択実行ソフトウエアの画面を示す図である。（実施例１、２）
【図６】図１のゲーム装置におけるエミュレータ選択実行ソフトウエアの他の画面を示す図である。（実施例１、２）
【図７】図１のゲーム装置におけるエミュレータ選択実行ソフトウエアのさらに他の画面を示す図である。（実施例１、２）
【図８】図１のゲーム装置におけるエミュレータ選択実行ソフトウエアの動作を示すタイミング図である。（実施例１）
【図９】図１のゲーム装置におけるエミュレータ選択実行ソフトウエアの動作を示すフローチャートである。（実施例１）
【図１０】本発明に係るゲーム装置の実施例２を示すタイミング図である。（実施例２）
【図１１】図１のゲーム装置におけるエミュレータ選択実行ソフトウエアの動作を示すフローチャートである。（実施例２）
【符号の説明】
【００６８】
１０００〜１００７  ゲーム装置
１０１０  表示部
１０１２  表示制御部
１０２０  制御部
１０３０  システムメモリ
１０３２  ＲＯＭ
１０３４  外部メモリ
１０４０  通信Ｉ／Ｆ
１０６０  操作入力部
１０８０  タイマ
【図１】
2007075466.tif 000003
【図２】
2007075466.tif 000004
【図３（ａ）】
2007075466.tif 000005
【図３（ｂ）】
2007075466.tif 000006
【図４】
2007075466.tif 000007
【図５】
2007075466.tif 000008
【図６】
2007075466.tif 000009
【図７】
2007075466.tif 000010
【図８】
2007075466.tif 000011
【図９】
2007075466.tif 000012
【図１０】
2007075466.tif 000013
【図１１】
2007075466.tif 000014