(57)【要約】【課題】複数枚の記憶媒体のイメージファイルを１つにまとめた実行ファイルを効率的に実行するエミュレーション技術を提供する。【解決手段】ゲームプログラム保持部１６２は、複数枚の記憶媒体に分割して記録されているゲームプログラムを１つのファイルにまとめた実行プログラムを保持する。入替条件保持部１５４は、ゲーム実行中に仮想記憶媒体を入れ替えるべき状態にあることを判定するための条件をゲームタイトルごとに保持する。この入替判定条件は、プログラムカウンタ１２８の値が所定の範囲内にあることであってよい。入替判定部１３２は、仮想記憶媒体の入替判定条件を参照して、実行プログラムの実行状況から、仮想記憶媒体を入れ替えるべき状態にあることを判定する。【選択図】図４
2008194162.tif 000002
【特許請求の範囲】
【請求項１】
所定のゲーム機用のゲームプログラムを実行するための情報処理装置であって、
複数枚の記憶媒体のイメージファイルを１つにまとめた実行ファイルを保持するゲームプログラム保持部と、
実行ファイルに含まれる実行プログラムを実行するゲーム実行部と、
実行プログラムの実行状況から、仮想記憶媒体を入れ替えるべき状態にあるか否かを判定する入替判定部と、
前記入替判定部による判定結果に応じて、仮想記憶媒体の入替処理に関する制御を行う制御部と、
を備えることを特徴とする情報処理装置。
【請求項２】
ゲーム実行中に仮想記憶媒体を入れ替えるべき状態にあることを判定するための条件を保持する入替条件保持部をさらに備え、
前記入替判定部は、前記入替条件保持部に保持された仮想記憶媒体の入替判定条件を参照して、実行プログラムの実行状況から、仮想記憶媒体を入れ替えるべき状態にあるか否かを判定することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記入替条件保持部は、プログラムカウンタの値が所定の範囲内にあることを、仮想記憶媒体の入替判定条件として保持することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記入替条件保持部は、ゲームタイトルごとに、仮想記憶媒体の入替判定条件を構成するプログラムカウンタの値の範囲を保持することを特徴とする請求項２または３に記載の情報処理装置。
【請求項５】
前記入替条件保持部は、さらに、仮想記憶媒体の駆動停止指示信号が生成されたことを、仮想記憶媒体の入替判定条件として保持することを特徴とする請求項２から４のいずれかに記載の情報処理装置。
【請求項６】
前記入替条件保持部は、仮想記憶媒体の駆動停止状態が所定時間継続したことを、仮想記憶媒体の入替判定条件として保持することを特徴とする請求項２から５のいずれかに記載の情報処理装置。
【請求項７】
前記制御部は、仮想記憶媒体の入替をユーザに指示させる操作画面を、グラフィカルユーザインタフェースを用いて生成するグラフィカルユーザインタフェース処理部を有し、
前記グラフィカルユーザインタフェース処理部は、前記入替判定部により仮想記憶媒体を入れ替えるべき状態にないことが判定されると、ユーザにより仮想記憶媒体の入替を指示できないように操作画面を生成することを特徴とする請求項１から６のいずれかに記載の情報処理装置。
【請求項８】
前記グラフィカルユーザインタフェース処理部は、前記入替判定部により次に使用する仮想記憶媒体が特定されると、その仮想記憶媒体の入替をユーザが指示しやすい操作画面を生成することを特徴とする請求項７に記載の情報処理装置。
【請求項９】
所定のゲーム機用のゲームプログラムを、情報処理装置上で実行させるためのゲーム用エミュレータプログラムであって、
複数枚の記憶媒体のイメージファイルを１つにまとめた実行ファイルに含まれる実行プログラムを実行する機能と、
実行プログラムの実行状況から、仮想記憶媒体を入れ替えるべき状態にあるか否かを判定する機能と、
判定結果に応じて、仮想記憶媒体の入替処理に関する制御を行う機能と、
を実現させるためのゲーム用エミュレータプログラム。
【請求項１０】
請求項９に記載のゲーム用エミュレータプログラムを記録した記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理技術に関し、特に所定のゲーム機用のゲームプログラムを実行する技術に関する。
【背景技術】
【０００２】
近年、あるターゲットハードウェアのために開発されたソフトウェアを、ターゲットハードウェアとは異なるハードウェアで動作させるエミュレーションと呼ばれる技術が注目されている。エミュレーション技術では、ターゲットハードウェアが備えるハードウェア資源、たとえばＣＰＵ（Central Processing Unit）、メモリ、ディスクシステムなどをエミュレータプログラムにより仮想的に実現する。ターゲットハードウェア上で実行されるべきアプリケーションプログラムがこれらハードウェア資源にアクセスするときには、アクセス先のハードウェア資源を実現するエミュレータプログラムが、実際のハードウェアからの応答であるかのようにデータの入出力を行い、これにより、アプリケーションプログラムが動作する。
【０００３】
従来のゲーム機では、ゲームプログラムの記憶媒体としてフレキシブルディスクやＣＤＲＯＭなどが用いられてきたが、記憶容量の関係から、複数枚の記憶媒体にゲームプログラムが分割して記録されることも少なくなかった。このような場合、ゲーム中に、記憶媒体の入替を指示するメッセージが画面に表示され、ユーザは、その指示をもとに、記憶媒体の入替作業を行っていた。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
近年の技術進歩により、記憶媒体の容量は飛躍的に増加し、エミュレータとして機能する情報端末装置は、従来のゲーム機で使用されていた記憶媒体とは仕様の異なる大容量記憶媒体を装備可能となっている。そのため、エミュレーション装置で実行するゲームプログラムは、従来のゲーム機のように複数に分割されている必要はなく、１つの実行プログラムとして用意されることが可能である。ゲームプログラムのイメージファイルをネットワーク経由で電子配信する場合、複数の記憶媒体ごとにイメージファイルを生成して別個に配信するのは面倒であり、１つの実行ファイルにまとめて配信する方が効率的である。
【０００５】
エミュレーション装置が、このようなゲームプログラムを実行すると、ゲーム途中で、記憶媒体の入替を指示するメッセージが画面に表示される。このとき、エミュレーション装置では従来のゲーム機のような記憶媒体の入替作業は発生しないが、ユーザに対してＧＵＩ（グラフィカルユーザインタフェース）による仮想的な記憶媒体の入替を行うような操作を行わせることで、ゲームを継続させることが好ましい。
【０００６】
しかしながら、ＧＵＩを用いたユーザからの入替指示は、ボタン操作などにより非常に簡単に行われるため、現実の記憶媒体を交換する作業に比べて、誤操作が発生しやすいという問題がある。
【０００７】
そこで本発明は、複数枚の記憶媒体のイメージファイルを１つにまとめた実行ファイルを効率的に実行する情報処理技術を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本発明のある態様は、所定のゲーム機用のゲームプログラムを実行するための情報処理装置を提供する。この情報処理装置は、所定のゲーム機用のゲームプログラムを実行するための情報処理装置であって、複数枚の記憶媒体のイメージファイルを１つにまとめた実行ファイルを保持するゲームプログラム保持部と、実行ファイルに含まれる実行プログラムを実行するゲーム実行部と、実行プログラムの実行状況から、仮想記憶媒体を入れ替えるべき状態にあるか否かを判定する入替判定部と、前記入替判定部による判定結果に応じて、仮想記憶媒体の入替処理に関する制御を行う制御部とを備える。
【０００９】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【００１０】
本発明によると、複数枚の記憶媒体のイメージファイルを１つにまとめた実行ファイルを効率的に実行する情報処理技術を提供できる。
【発明を実施するための最良の形態】
【００１１】
図１は、実施例にかかる通信システム１の構成を示す。通信システム１は、情報端末装置１０と、情報端末装置１０と無線ＬＡＮ（Local Area Network）で接続するアクセスポイント１２と、アクセスポイント１２とネットワーク１４を介して接続するエミュレータプログラム提供サーバ２０およびゲームイメージファイル提供サーバ３０とを備える。エミュレータプログラム提供サーバ２０は、情報端末装置１０にゲーム用エミュレータプログラムを提供する。ゲームイメージファイル提供サーバ３０は、情報端末装置１０にゲームプログラムのイメージファイルを提供する。イメージファイルは、ゲームプログラムが記憶されていた記憶媒体の完全な内容と構造を１つのファイルに格納したデータであり、ＩＳＯ９６６０形式のＣＤイメージファイルである「ＩＳＯイメージ」などが代表的である。なお、ゲームプログラムを記録したＲＯＭをファイル化したものは「ＲＯＭイメージ」と呼ばれることもある。
【００１２】
情報端末装置１０は無線通信機能を有して構成される処理装置であって、実施例では無線ＬＡＮ方式による通信機能を有する。なお情報端末装置１０は他の無線通信方式による通信機能を有してもよく、またＵＳＢケーブルなどの有線ケーブルで外部装置と接続する通信機能を有してもよい。
【００１３】
アクセスポイント１２は、無線ＬＡＮで情報端末装置１０同士を接続したり、また無線ＬＡＮで情報端末装置１０を他のアクセスポイントに接続したり、さらには情報端末装置１０をインターネットや有線ＬＡＮなどのネットワーク１４に接続する中継装置として機能する。通信システム１では、情報端末装置１０がアクセスポイント１２を介して、エミュレータプログラム提供サーバ２０およびゲームイメージファイル提供サーバ３０と接続できる。情報端末装置１０が有線通信機能をもつ場合、たとえばネットワーク１４に接続するパーソナルコンピュータや据置型のゲーム機などを中継装置として、エミュレータプログラム提供サーバ２０およびゲームイメージファイル提供サーバ３０に接続してもよい。
【００１４】
情報端末装置１０は、携帯型のゲーム機であってよい。情報端末装置１０は、ゲームプログラムを記録したディスクをディスクリーダに装着されることで、ゲームプログラムを読み出し、実行できる。なお、本実施例において情報端末装置１０は携帯型のゲーム機でなくてもよく、たとえば据置型のゲーム機やパーソナルコンピュータ、また携帯電話機やＰＤＡ（Personal Digital Assistance）などの端末装置であってよい。いずれの端末装置として構成される場合であっても、情報端末装置１０は、エミュレータプログラム提供サーバ２０から提供されるエミュレータプログラムを起動することで、ゲームイメージファイル提供サーバ３０から提供されるゲームプログラムを実行できるエミュレーション装置として機能する。
【００１５】
エミュレータプログラム提供サーバ２０は、所定のゲーム機用のゲームプログラムを情報端末装置１０上で実行させるためのエミュレータプログラムを提供する。エミュレータプログラムはファームウェアの一部を構成してもよく、通信システム１においてエミュレータプログラム提供サーバ２０は、更新されたファームウェアを提供するファームウェア更新サーバとして構成されてもよい。このときユーザがファームウェアの更新を情報端末装置１０に指示すると、情報端末装置１０が、エミュレータプログラム提供サーバ２０から、更新されたファームウェアをダウンロードする。情報端末装置１０は、ファームウェアをダウンロードすることでエミュレータプログラムを取得でき、エミュレーション装置として動作することが可能となる。
【００１６】
ゲームイメージファイル提供サーバ３０は、所定のゲーム機用のゲームプログラムのイメージファイルを生成して情報端末装置１０に提供する。たとえばゲームイメージファイル提供サーバ３０は情報端末装置１０にダウンロード可能なゲームタイトルのリストを送信し、ユーザが、所望のゲームタイトルを選択することで、情報端末装置１０が、そのイメージファイルをフラッシュメモリなどの記憶媒体にダウンロードする。情報端末装置１０は、エミュレータプログラムを起動して、ダウンロードしたイメージファイルを読み込むことで、あたかも所定のゲーム機であるかのように、ゲームを進行させることが可能となる。
【００１７】
図２は、本実施例においてゲームイメージファイル提供サーバ３０から配信されるイメージファイルを示す。ゲームイメージファイル提供サーバ３０は、複数枚のゲームディスク（記憶媒体）に分割されて記録されているゲームプログラムをまとめて、１つのイメージファイルを生成する。図２は、３枚のディスクに分割されて記録されていたゲームプログラムのイメージファイルを、１つのイメージファイル（「実行ファイル」ともよぶ）にまとめた例を示す。１つにまとめたイメージファイルの先頭にはインデックスが設けられ、インデックスには、ゲームプログラムが３枚組のディスクにより構成されていることや、各ディスクのデータが含まれる「先頭バイト位置」および「バイト数」などの情報が書き込まれている。
【００１８】
図３は、情報端末装置１０の外観構成を示す。情報端末装置１０は、ゲーム画像やグラフィカルユーザインタフェースなどを表示するための表示部４０と、音声データを出力する音声出力部４２と、ユーザからの操作入力を受け付ける操作部４４とを備える。表示部４０は液晶ディスプレイであってよく、音声出力部４２はスピーカであってよい。操作部４４は、筐体表面に設けられた方向キーや４種のボタン（○ボタン、×ボタン、□ボタン、△ボタン）、ＳＴＡＲＴボタン、ＳＥＬＥＣＴボタン、ＨＯＭＥボタンなどを含み、また筐体側面に設けられたボタンも含む。
【００１９】
図４は、エミュレーション機能を実現する情報端末装置１０の構成を示す。情報端末装置１０は、表示部４０、音声出力部４２、操作部４４を備え、さらに通信制御部１０２、通信部１０４、取得部１１０、処理部１２０および記憶部１４０を備える。取得部１１０は、エミュレータプログラム取得部１１２およびゲームイメージファイル取得部１１４を有して構成され、通信部１０４からダウンロードされたデータを取得する。処理部１２０は、操作入力受付部１２２、エミュレータ起動部１２４、ゲーム実行部１２６、プログラムカウンタ１２８、ディスク駆動状態監視部１３０、入替判定部１３２およびＧＵＩ処理部１３４を有して構成され、情報端末装置１０におけるエミュレーション機能を実行する。入替判定部１３２の一部の機能および／またはＧＵＩ処理部１３４は、仮想記憶媒体の入替処理に関する制御を行う制御部として機能する。記憶部１４０はフラッシュメモリなどの記憶媒体であり、エミュレータプログラム記憶部１５０およびゲームイメージファイル記憶部１６０ａ、１６０ｂ、１６０ｃ（以下、総称する場合は「ゲームイメージファイル記憶部１６０」と呼ぶ）を有して構成される。記憶部１４０は、ハードディスクであってもよく、また他の種類の記憶媒体であってもよく、これら複数種類の記憶媒体から記憶領域を構成するものであってもよい。このようにエミュレータプログラム記憶部１５０およびゲームイメージファイル記憶部１６０は、同一の記憶部１４０に形成されてもよいが、異なる記憶部に形成されてもよい。
【００２０】
情報端末装置１０のエミュレーション機能は、ＣＰＵ、メモリ、メモリにロードされたプログラムなどによって実現され、ここではそれらの連携によって実現される機能ブロックを描いている。本実施例では、エミュレータプログラムをダウンロードすることで情報端末装置１０がエミュレーション装置として機能するが、エミュレータプログラムは、情報端末装置１０に内蔵されていてもよい。したがってこれらの機能ブロックがハードウエアのみ、ソフトウエアのみ、またはそれらの組合せによっていろいろな形で実現できることは、当業者に理解されるところである。
【００２１】
通信制御部１０２は、操作部４４からエミュレータプログラムのダウンロード要求を受けると、通信部１０４をエミュレータプログラム提供サーバ２０に接続する。通信部１０４は、エミュレータプログラム提供サーバ２０から、最新のエミュレータプログラムをダウンロードし、エミュレータプログラム取得部１１２に供給する。
【００２２】
本実施例において、エミュレータプログラムは、エミュレータの実行プログラムと、入替条件データベースを含む。エミュレータプログラム取得部１１２は、エミュレータプログラム記憶部１５０において、実行プログラムを実行プログラム保持部１５２に格納し、入替条件データベースを入替条件保持部１５４に格納する。
【００２３】
入替条件データベースは、ゲーム実行中に仮想記憶媒体を入れ替えるべき状態にあることを判定するための条件を、ゲームタイトルごとに保持して構成される。なお本明細書において、ゲームタイトルは、ゲームソフトウェアを特定する情報を意味し、ゲームタイトルとゲームソフトウェアは、一対一に対応する。従来のゲーム機で、複数枚のゲームディスクから構成されるゲームソフトウェアを実行すると、ユーザは、途中でゲームディスクを入れ替える必要がある。一方、情報端末装置１０は、複数のゲームディスクのデータをまとめたゲームプログラムを実行するため、ゲーム途中で、仮想的なゲームディスク（仮想記憶媒体）を入れ替える処理を実行しなければならない。入替条件データベースは、ゲームの状態がゲームディスクの入替イベント中であるか判定するための入替判定条件をゲームタイトルごとに保持している。
【００２４】
また通信制御部１０２は、操作部４４からゲームイメージファイル提供サーバ３０への接続要求を受けると、通信部１０４をゲームイメージファイル提供サーバ３０に接続する。ゲームイメージファイル提供サーバ３０は、ダウンロード可能なゲームタイトルのリストを配信し、ユーザは、表示部４０に表示されたリストから所望のゲームタイトルを操作部４４により選択することで、ゲームイメージファイルのダウンロード要求が生成される。通信部１０４は、ゲームイメージファイル提供サーバ３０からゲームイメージファイルをダウンロードし、ゲームイメージファイル取得部１１４に供給する。
【００２５】
ゲームイメージファイルは、ゲームソフトウェアの実行プログラムを少なくとも含み、さらにゲームタイトルのＩＤを含んでもよい。ゲームイメージファイル取得部１１４は、ゲームイメージファイル記憶部１６０において、ゲームソフトウェアの実行プログラムのイメージファイルをゲームプログラム保持部１６２に格納し、タイトルＩＤをタイトルＩＤ保持部１６４に格納する。なお本明細書では、ゲームプログラム保持部１６２に格納されたイメージファイルを実行ファイルと呼び、また単にゲームプログラムまたは実行プログラムと呼ぶこともある。
【００２６】
ゲームイメージファイル取得部１１４は、取得したゲームイメージファイルを、ゲームソフトウェアすなわちゲームタイトルごとに記憶部１４０に格納する。したがって、記憶部１４０において、ゲームイメージファイル記憶部１６０は、ダウンロードしたゲームソフトウェアの数だけ生成される。
【００２７】
以上のように、記憶部１４０に、エミュレータプログラム記憶部１５０およびゲームイメージファイル記憶部１６０が形成されることで、本実施例における情報端末装置１０のエミュレータ機能を実現することが可能となる。
【００２８】
図５は、ゲームディスクの入替イベントの発生時に、ゲームプログラムにより表示部４０に表示される「ディスク入替メッセージ」を示す。このメッセージは、従来のゲーム機において、ユーザにディスク交換を促すために表示されていたものであり、情報端末装置１０では、必ずしも表示する必要はない。しかしながら、ディスク入替メッセージを表示する際に、なんらかの演出が行われるゲームソフトウェアも存在するため、情報端末装置１０によるエミュレーション機能は、このような演出が損なわれる事態を回避するために、ゲームプログラムの実行内容を忠実に再現している。
【００２９】
一方で、ユーザは、このディスク入替メッセージのみを表示されても、交換するディスクが存在しないために、次にとるべきアクションが分からないという問題が発生する。そこで、情報端末装置１０は、ゲームディスクの入替イベントの発生を正確に検出して、ユーザに対して次にとるべきアクションを提示することが好ましい。
【００３０】
図６は、従来のゲーム機において、ディスク入替イベントの発生中に実行されている命令セットを示す。まず、ゲームディスクを駆動するスピンドルの停止命令が発行され、ゲームディスクの回転駆動が停止される。次に、ディスク入替メッセージの表示命令が発行され、図５に示すディスク入替メッセージがディスプレイに表示される。その後、ゲーム機筐体の蓋開きの監視命令が発行され、ゲームディスクが取り出される状態にあるか監視される。この監視は、筐体の蓋が開いたことが検出されるまで継続される。筐体の蓋が開かれると、ゲーム機筐体の蓋閉じの監視命令が発行され、筐体の蓋が閉じられたか監視される。この監視も、筐体の蓋が閉じたことが検出されるまで継続される。筐体の蓋が閉じられると、装着されたゲームディスクの検証命令が発行され、ゲームディスクが挿入されているか、また挿入されたゲームディスクが正しいかを検証される。
【００３１】
以上は、ゲームディスクの着脱に際して、筐体蓋を開閉するタイプのゲーム機における命令セットであり、たとえばトレーローディングタイプのドライブをもつタイプのゲーム機であれば、トレーの開閉についての監視命令が実行される。
【００３２】
図７は、ディスク入替イベント発生中の命令セットをプログラムメモリ１３６に展開した状態を示す。説明の便宜上、ゲームタイトル「ＡＢＣ」のゲームプログラムが、図７に示すように展開されたものとする。なお、各命令の格納位置は、ゲームソフトウェアによって異なる。これらの命令セットは、図示するように連続するアドレスに記憶される必要はないが、いずれにしても、それぞれ先頭アドレスから特定の範囲に格納される。プログラムカウンタ１２８は、プログラムメモリ１３６に格納されたプログラムを実行するために、アドレスを順番に指示するレジスタである。
【００３３】
図４に戻って、処理部１２０において、操作入力受付部１２２が、操作部４４からゲームの実行指示を受け付けると、エミュレータ起動部１２４にゲームプログラムの実行指示を供給する。エミュレータ起動部１２４は、実行プログラム保持部１５２からエミュレータの実行プログラムを読み出し、起動する。これにより、情報端末装置１０はエミュレーション装置として動作する。エミュレーション機能が立ち上がると、その環境上でゲーム実行部１２６が、ゲームプログラム保持部１６２から、ユーザにより指定されたゲームプログラムをイメージファイルから読み出し、実行する。既述したように、イメージファイルは、複数枚のゲームディスクのイメージファイルを１つにまとめたものである。
【００３４】
ゲーム実行部１２６は、図７に示すようにゲームプログラム中の命令をプログラムメモリ１３６に展開し、プログラムカウンタ１２８によりアドレスを指定して、命令を順に実行する。最初にゲーム実行部１２６は、１枚目の仮想ゲームディスク中の命令をプログラムメモリ１３６に展開して実行する。
【００３５】
入替判定部１３２は、入替条件保持部１５４に保持された仮想記憶媒体の入替判定条件を参照して、ゲームプログラムの実行状況から、仮想記憶媒体を入れ替えるべき状態にあるか否かを判定する。入替判定部１３２は、プログラムカウンタ１２８の値が所定の範囲内にあるときに、仮想記憶媒体が入れ替えられるべき状態にあることを判定してもよい。
【００３６】
図８は、入替条件データベースに保持された仮想記憶媒体の入替判定条件の一例を示す。本実施例では、仮想記録媒体の入替判定条件が、「筐体蓋開きの監視命令」が実行されていることに設定され、「筐体蓋開きの監視命令」が実行されていれば、入替判定部１３２が、ディスク入替イベントの発生中であることを判定する。
【００３７】
図７を参照して、ゲームタイトル「ＡＢＣ」の入替判定条件は、プログラムカウンタの値がＰＣ開始値（ＡＤＤ＿ＣＨ２）からＰＣ終了値（ＡＤＤ＿ＣＨ３−１）の範囲内にあることに設定される。なお、プログラムメモリ１３６において、「筐体蓋開きの監視命令」が、どのアドレスに格納されているかはゲームタイトルごとに異なる。そのため入替条件データベースは、ゲームタイトルごとに「筐体蓋開きの監視命令」が格納されるアドレスの範囲を特定し、プログラムカウンタ１２８の値が、特定された範囲内に存在することを、仮想記憶媒体の入替判定条件として保持している。
【００３８】
入替判定部１３２は、プログラムカウンタ１２８の値を監視し、プログラムカウンタ１２８の値が、実行中のゲームタイトルに対応して入替条件データベースで特定される範囲内にある場合に、仮想記憶媒体を入れ替えるべき状態にあることを判定する。このようにプログラムカウンタの値を利用することで、ディスク入替イベントの発生を高精度に検出することが可能となる。
【００３９】
入替条件保持部１５４は、さらに、仮想記憶媒体の駆動停止指示信号が生成されたことを、仮想記憶媒体の入替判定条件として保持してもよい。ディスク駆動状態監視部１３０が、仮想記憶媒体の駆動状態を監視し、たとえばスピンドル停止命令が生成されたことを検出すると、入替判定部１３２に仮想記憶媒体の駆動停止指示信号が生成されたことを通知してもよい。なお、スピンドル停止命令の発行は、プログラムカウンタ１２８の値によっても検出可能であり、ディスク駆動状態監視部１３０は、プログラムカウンタ値にもとづいて、駆動停止指示信号が生成されたことを入替判定部１３２に通知してもよい。なおプログラムカウンタ１２８の値の監視は、入替判定部１３２が直接実行してもよい。
【００４０】
入替判定部１３２は、仮想記憶媒体の駆動停止指示信号が生成されたことを検出すると、仮想記憶媒体を入れ替えるべき状態にあることを判定してもよい。なお、入替判定部１３２は、複数の入替判定条件が成立していることをもって、仮想記憶媒体を入れ替えるべき状態にあることを判定することが好ましい。すなわち、入替判定部１３２は、プログラムカウンタ１２８の値が所定の範囲内にあって、且つ、仮想記憶媒体の駆動停止指示信号が生成されたことを検出することで、仮想記憶媒体を入れ替えるべき状態にあることを判定する。このように、複数の入替判定条件の成立により、入替判定を行うことで、ディスク入替イベントの発生を高精度に検出することが可能となる。またゲームタイトル固有の入替判定条件と、ゲームタイトルに依存しない入替判定条件とを利用することで、ディスク入替イベントの発生をさらに高精度に検出することが可能となる。
【００４１】
なお、入替条件保持部１５４は、仮想記憶媒体の駆動停止指示信号が生成されただけではなく、仮想記憶媒体の駆動停止状態が所定時間継続したことを、仮想記憶媒体の入替判定条件として保持してもよい。ゲームの実行中、ゲームディスクはシーク時間を短くするために、基本的には回転駆動された状態を維持しているが、ゲームの進行上、ゲームディスクの回転が短時間停止されることもある。しかしながら、ディスク入替イベントの発生時には、ゲームディスクが回転停止状態を維持するため、この状態が所定時間継続したことを入替判定条件として利用することで、入替判定部１３２が、ディスク入替イベントの発生を、さらに高精度に検出することが可能となる。
【００４２】
ディスク駆動状態監視部１３０はタイマを有し、スピンドル停止命令の発行後の時間を監視する。スピンドル停止命令が発行された後、所定時間が経過するまでにスピンドル駆動命令が発行されなければ、ディスク駆動状態監視部１３０は、仮想記憶媒体の駆動停止状態が所定時間継続したことを入替判定部１３２に通知する。入替判定部１３２は、この通知をうけて、仮想記憶媒体を入れ替えるべき状態にあることを判定する。なお判定精度を高めるために、入替判定部１３２は、プログラムカウンタ１２８の値が所定の範囲内にあって、且つ、仮想記憶媒体の駆動停止状態が所定時間継続したことを検出することで、仮想記憶媒体を入れ替えるべき状態にあることを判定することが好ましい。またゲームタイトル固有の入替判定条件と、ゲームタイトルに依存しない入替判定条件とを利用することで、ディスク入替イベントの発生をさらに高精度に検出することが可能となる。
【００４３】
入替判定部１３２は、メモリ上の特定番地を監視することで、次に使用する仮想記憶媒体を特定してもよい。たとえば図５に示すディスク入替メッセージでは、次に使用するディスク番号が２番であることが示されている。また、たとえば３枚目のディスクへの入替メッセージでは、次に使用するディスク番号が３番であることが示される。このとき、次に使用するディスク番号を特定するために、ゲームプログラムは、メモリ上の所定の番地にアクセスして、その番地に格納されている数字を読み出している。このことを利用して、入替判定部１３２は、ディスク入替メッセージに含まれるディスク番号を保持するメモリ上の番地を把握し、その番地へのアクセスを監視する。入替判定部１３２は、アクセスがあったことを検出すると、その特定番地に格納されている数字から、次に使用する仮想記憶媒体のディスク番号を特定できる。
【００４４】
ＧＵＩ処理部１３４は仮想記憶媒体の入替をユーザに指示させる操作画面を、ＧＵＩを用いて生成する。ゲーム中に、ユーザが、情報端末装置１０の所定の操作部４４を押下すると、ＧＵＩ処理部１３４が、エミュレータメニュー画面を表示部４０に表示する。たとえば、図３に示される「ＨＯＭＥ」ボタンを押下することで、エミュレータメニュー画面がＧＵＩ表示されてもよい。
【００４５】
図９は、エミュレータメニュー画面を示す。エミュレータメニュー画面はＧＵＩを用いて生成され、ユーザによる操作指示が可能とされている。エミュレータメニュー画面には、「ゲーム終了」、「ボタン割り当て」、「ディスク入れ替え」、「ゲームリセット」などのメニュー項目が用意されている。「ゲーム終了」は実行中のゲームを終了させる項目であり、「ボタン割り当て」はゲームのボタン割り当てを設定させる項目であり、「ディスク入れ替え」は仮想記憶媒体の入替を行わせる項目であり、「ゲームリセット」はゲームをリセットさせる項目である。ユーザは、操作部４４を操作してカーソルを移動し、所望のメニュー項目にあわせた状態で、決定ボタン（○）を押下することで、メニュー項目の内容が実行される。
【００４６】
入替判定部１３２により、仮想記憶媒体を入れ替えるべき状態にないことが判定されると、ＧＵＩ処理部１３４は、ユーザにより仮想記憶媒体の入替を指示できないように操作画面を生成する。すなわち、ディスク入替イベント中でなければ、ＧＵＩ処理部１３４は、「ディスク入れ替え」の項目表示をグレーアウトとし、ユーザがカーソルで選択できないように処理する。これにより、ユーザがゲーム中に誤ってＨＯＭＥボタンを押下し、さらに、「ディスク入れ替え」項目を選択して、ゲームデータを消失するような不測の事態を事前に回避することが可能となる。一方、入替判定部１３２により、仮想記憶媒体を入れ替えるべき状態にあることが判定されると、ＧＵＩ処理部１３４は、ユーザにより仮想記憶媒体の入替を指示しやすい操作画面を生成する。ＧＵＩ処理部１３４は、「ディスク入れ替え」の項目表示のグレーアウトを外し、また「ディスク入れ替え」の項目表示をデフォルトフォーカスすることで、「ディスク入れ替え」のメニュー項目を選択しやすくしてもよい。
【００４７】
図１０は、図５に示すディスク入替メッセージが表示された画面に、仮想ゲームディスクの入れ替え方法を表現するダイアログを開いた状態を示す。このようにＧＵＩ処理部１３４は、ユーザに対して仮想ゲームディスクの入れ替え方法を知らせるメッセージを表示してもよい。これによりユーザは、ＨＯＭＥボタンを押下して、図９に示すエミュレータメニュー画面を表示させることができる。なお、この時点では、ディスク入替イベントの発生中であるため、「ディスク入れ替え」項目のグレーアウト表示は解除されており、ユーザは、カーソルを動かして、「ディスク入れ替え」項目を選択することができる。
【００４８】
ユーザが「ディスク入れ替え」を選択して決定ボタンを押すと、エミュレータは、その決定指示により、ディスクが入れ替えられたことを示す信号を生成する。図６または図７を参照して、この信号は、ゲームプログラムにおいて、ディスク検証命令による検証処理がＯＫであったことに相当する。これによりゲーム実行部１２６は、仮想ゲームディスク２の命令をプログラムメモリ１３６に展開し、ゲームを継続できる。
【００４９】
ＧＵＩ処理部１３４は、ゲームプログラムにより表示されるディスク入替メッセージに重ならないように、ダイアログを表示することが好ましい。ＧＵＩ処理部１３４は、ディスク入替メッセージが専有する領域を認識することで、空いた領域にダイアログを表示することが可能となる。たとえば、図２に示すゲームプログラムのＩＮＤＥＸに、ディスク入替メッセージの表示領域が記述され、ＧＵＩ処理部１３４は、その情報からダイアログをディスク入替メッセージに重ならないように表示できる領域を取得してもよい。これによりＧＵＩ処理部１３４は、ゲームプログラムにより生成されるディスク入替メッセージに重ねることなく、ダイアログを表示することが可能となる。
【００５０】
なお、ＧＵＩ処理部１３４は、ディスク入替メッセージに重なるように、ダイアログを表示してもよい。この場合は、見えやすさを確保するために、ディスク入替メッセージの輝度を低くして、ダイアログ表示の視認性を高めることが好ましい。
【００５１】
図１１は、図５に示すディスク入替メッセージが表示された画面に、仮想ゲームディスクの選択入替ダイアログを開いた状態を示す。既述したゲームタイトル「ＡＢＣ」には、３枚の仮想ゲームディスクが存在しているが、ＧＵＩ処理部１３４は、入替判定部１３２により次に使用する仮想記憶媒体が特定されると、その仮想記憶媒体の入替をユーザにより指示させやすい操作画面を生成することが好ましい。このとき、次に入れ替えるべきディスクとして特定されたディスクのみを表示させてもよいし、また次に入れ替えるべきディスクとして特定されたディスクにデフォルトでカーソルを合わせて、ユーザから選択しやすくしてもよい。これによりユーザによる誤操作を回避することができ、仮想ゲームディスクの円滑な入替処理を実現できる。
【００５２】
ゲームソフトウェアによっては、仮想ゲームディスクが入れ替えられた後、ゲームを継続させるためにゲームリセットをさせるものがある。そのような操作が必要なゲームソフトウェアについては、ＧＵＩ処理部１３４が、ゲームタイトルごとにリセット操作が必要であるか否かの情報を保持し、その情報にしたがって、既述したように、ゲームリセット方法を表現したダイアログを表示したり、また「ゲームリセット」のメニュー項目を提示することで、ユーザが円滑にゲームを継続できるようにしてもよい。なお、このような表示を行うことなく、入替判定部１３２が、内部的なリセット処理を自動的に実行してもよい。
【００５３】
図１２は、仮想ゲームディスクの入れ替えフローを示す。入替判定部１３２が、入替条件データベースを参照して実行中のゲームプログラムの入替判定条件を取得し、プログラムカウンタ１２８の値が、入替判定条件として特定される範囲内にあるか判定する（Ｓ１０）。なお、入替条件データベースにおける検索キーがゲームタイトルのＩＤである場合は、タイトルＩＤ保持部１６４に保持されているタイトルＩＤを用いて、プログラムカウンタ値の範囲を取得する。プログラムカウンタ１２８の値が所定の範囲内になければ（Ｓ１０のＮ）、ディスク入替イベントは発生しておらず、本フローは終了する。
【００５４】
プログラムカウンタ１２８の値が所定の範囲内にあれば（Ｓ１０のＹ）、入替判定部１３２は、仮想ゲームディスクの停止状態が所定時間を超えたか判定する（Ｓ１２）。スピンドル停止命令が発生すると、ディスク駆動状態監視部１３０が仮想ゲームディスクの停止時間の計測を開始し、所定時間経過前にスピンドル駆動命令が発生したことを検出すると（Ｓ１２のＮ）、ディスク入替イベントが発生していないことが判定されて、本フローは終了する。仮想ゲームディスクの停止状態が所定時間を超えると（Ｓ１２のＹ）、入替判定部１３２は、仮想ゲームディスクを入れ替えるべき状態にあることを判定する（Ｓ１４）。この判定結果を受けて、ＧＵＩ処理部１３４は、ユーザの仮想ゲームディスクの選択操作を支援するための操作画面を表示部４０に表示する（Ｓ１６）。ＧＵＩ処理部１３４は、ユーザからの仮想ゲームディスクの入替操作を待機し（Ｓ１８のＮ）、入替操作がなされると（Ｓ１８のＹ）、本フローを終了する。
【００５５】
以上、本発明を実施例をもとに説明した。この実施例は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。たとえばＰＣ値に関する入替判定条件は入替条件保持部１５４により保持されるものとしたが、たとえばイメージファイルのＩＮＤＥＸに、ゲームタイトルごとに埋め込まれてもよい。
【００５６】
上記した実施例では、ディスク入替イベントの発生を検出した場合に、ユーザに対してＧＵＩを用いた操作画面を提示することとしたが、ＧＵＩ処理部１３４による操作画面の提示を行うことなく、入替判定部１３２が、適切な仮想ゲームディスクに自動的に交換処理を行ってもよい。
【００５７】
また実施例では、入替判定部１３２が入替判定条件をもとにディスク入替イベントの発生を高精度に検出するため、これを応用して、たとえばディスク入替イベント中でない場合には、記憶媒体の取り外しをできなくしてもよい。これにより、ゲーム中に記憶媒体が取り外される事態を回避できる。
【００５８】
なお、ディスク入替イベントの発生を、たとえば表示部４０に表示されている画像から判断することも可能である。たとえば、入替判定部１３２は、ディスク交換メッセージの画像データを保持し、表示部４０に表示されている画像とのマッチングをとることで、現在の状況がディスク入替イベントの発生中であるか判定することができる。また、表示部４０に表示されている画像に含まれる数字から、次に入れ替えるべきディスクの番号を特定することも可能となる。
【００５９】
また実施例では、複数枚の仮想ゲームディスクを１つにまとめたイメージファイル（実行ファイル）が記憶部１４０に格納されているものとして説明した。イメージファイルは、たとえばメニュー画面において１つのアイコンにより表示部４０に表示されてもよく、これにより、ユーザは、所望のゲームタイトルのイメージファイルの存在を認識することができる。なお表示部４０に、複数の仮想ゲームディスクのアイコンをそれぞれ表示することも可能である。これにより、ユーザに対して、複数枚の仮想ゲームディスクの存在を認識させることができ、あたかも複数の物理的なゲームディスクが存在するような感覚をユーザに与えることが可能となる。
【００６０】
記憶部１４０は複数種類の記憶媒体から構成されてもよく、複数の仮想ゲームディスクは、ゲームイメージファイル記憶部１６０において、それぞれ異なる記憶媒体に分散して格納されてもよい。ゲーム実行部１２６は、タイトルＩＤに対応付けて、関連する仮想ゲームディスクの格納場所を保持しておき、仮想ゲームディスクが適切に入れ替えられたことを示す信号を受け取ると、次に実行するべき仮想ゲームディスクの格納場所を特定し、その仮想ゲームディスクの命令を読み出して実行する。イメージファイルまたは仮想ゲームディスクが格納された記憶媒体は、ネットワーク１４に接続するゲーム機などに存在していてもよく、また情報端末装置１０と無線ないしは有線で直接接続するゲーム機などに存在していてもよい。ゲーム実行部１２６は、関連する仮想ゲームディスクが保持される可能性のあるデバイスを探索して、次に実行する仮想ゲームディスクを格納した記憶領域を特定する。これにより、１つのゲームソフトウェアを構成する仮想ゲームディスクが複数の記憶媒体にまたがって存在する場合であっても、適切に仮想ゲームディスクを取得でき、ゲームを進行することができる。
【００６１】
また、図２には、３枚組のディスクに記録されていたゲームプログラムを１つのイメージファイルにまとめた例を示したが、情報端末装置１０は、たとえば３枚のディスクのうち、１枚目（ＤＩＳＫ１）と３枚目（ＤＩＳＫ３）をまとめたイメージファイルを処理することも可能である。この場合、２枚目の物理的なディスクが使用され、ユーザは、ＧＵＩにより２枚目のディスクへの交換指示が表示部４０に表示されると、物理的なディスクを所定のドライブに装着させてもよい。これにより、１枚目と３枚目については仮想ディスクのゲームプログラムが実行され、２枚目については物理的なディスクのゲームプログラムが実行されて、３枚のディスクで構成されていたゲームソフトウェアを実行することが可能となる。
【００６２】
なお、ゲームの進行上、音楽ファイルなどの他の種類のファイルが必要な場合がある。このとき入替判定部１３２が、音楽ディスクへの入替が必要なことを判定して、ＧＵＩ処理部１３４が、ディスク入替を指示するＧＵＩメッセージを表示部４０に表示してもよい。入替判定部１３２およびＧＵＩ処理部１３４による処理は、仮想ゲームディスクについて説明したものと同様である。入れ替えられるべき音楽ディスクは、上記したように、現実の物理的なディスクであってもよく、この場合、ＧＵＩ処理部１３４により音楽ディスクへの交換指示が表示部４０に表示されると、ユーザは、物理的な音楽ディスクを所定のドライブに装着し、ゲーム実行部１２６が、ドライブを駆動して音楽ディスクのデータを読み出し実行する。また入れ替えられるべき音楽ディスクは、記憶部１４０において予めイメージファイルに変換されて記憶されたものであってもよい。この場合、ＧＵＩ処理部１３４により音楽ディスクへの交換指示が表示部４０に表示されると、ユーザは操作部４４からディスク入替を指示し、ゲーム実行部１２６が、音楽ディスクのイメージファイルを読み出して実行する。
【００６３】
なお、記憶部１４０の音楽ライブラリには、ＭＰ３などで圧縮された音楽ファイルそのものが格納されていてもよい。この場合、ＧＵＩ処理部１３４により音楽ディスクへの交換指示が表示部４０に表示され、ユーザが操作部４４からディスク入替を指示すると、ゲーム実行部１２６が、音楽ライブラリから指示された音楽ファイルを読み出してイメージファイルを生成し、生成したイメージファイルを用いてゲームを実行することも可能である。このように、ディスク入替の指示に応答してイメージファイルを自動生成することで、予めイメージファイルを記憶部１４０に保持しておく必要がなく、記憶部１４０の容量を効率的に使用することが可能となる。なお、この自動生成処理は、音楽ファイルに限るものではなく、動画ファイルなど様々なタイプのファイルに適用することができる。
【図面の簡単な説明】
【００６４】
【図１】実施例にかかる通信システムの構成を示す図である。
【図２】本実施例においてゲームイメージファイル提供サーバから配信されるイメージファイルを示す図である。
【図３】情報端末装置の外観構成を示す図である。
【図４】エミュレーション機能を実現する情報端末装置の構成を示す図である。
【図５】ゲームディスクの入替イベントの発生時に、ゲームプログラムにより表示部に表示されるディスク入替メッセージを示す図である。
【図６】従来のゲーム機において、ディスク入替イベントの発生中に実行されている命令セットを示す図である。
【図７】ディスク入替イベント発生中の命令セットをプログラムメモリに展開した状態を示す図である。
【図８】入替条件データベースに保持された仮想記憶媒体の入替判定条件の一例を示す図である。
【図９】エミュレータメニュー画面を示す図である。
【図１０】図５に示すディスク入替メッセージが表示された画面に、仮想ゲームディスクの入れ替え方法を表現するダイアログを開いた状態を示す図である。
【図１１】図５に示すディスク入替メッセージが表示された画面に、仮想ゲームディスクの選択入替ダイアログを開いた状態を示す図である。
【図１２】仮想ゲームディスクの入れ替えフローを示す図である。
【符号の説明】
【００６５】
１・・・通信システム、１０・・・情報端末装置、１２・・・アクセスポイント、１４・・・ネットワーク、２０・・・エミュレータプログラム提供サーバ、３０・・・ゲームイメージファイル提供サーバ、４０・・・表示部、４２・・・音声出力部、４４・・・操作部、１０２・・・通信制御部、１０４・・・通信部、１１０・・・取得部、１１２・・・エミュレータプログラム取得部、１１４・・・ゲームイメージファイル取得部、１２０・・・処理部、１２２・・・操作入力受付部、１２４・・・エミュレータ起動部、１２６・・・ゲーム実行部、１２８・・・プログラムカウンタ、１３０・・・ディスク駆動状態監視部、１３２・・・入替判定部、１３４・・・ＧＵＩ処理部、１３６・・・プログラムメモリ、１４０・・・記憶部、１５０・・・エミュレータプログラム記憶部、１５２・・・実行プログラム保持部、１５４・・・入替条件保持部、１６０・・・ゲームイメージファイル記憶部、１６２・・・ゲームプログラム保持部、１６４・・・タイトルＩＤ保持部。
【図１】
2008194162.tif 000003
【図２】
2008194162.tif 000004
【図３】
2008194162.tif 000005
【図４】
2008194162.tif 000006
【図５】
2008194162.tif 000007
【図６】
2008194162.tif 000008
【図７】
2008194162.tif 000009
【図８】
2008194162.tif 000010
【図９】
2008194162.tif 000011
【図１０】
2008194162.tif 000012
【図１１】
2008194162.tif 000013
【図１２】
2008194162.tif 000014