JP5116315B2 - 情報処理装置およびゲーム用エミュレータプログラム - Google Patents

情報処理装置およびゲーム用エミュレータプログラム Download PDF

Info

Publication number
JP5116315B2
JP5116315B2 JP2007030972A JP2007030972A JP5116315B2 JP 5116315 B2 JP5116315 B2 JP 5116315B2 JP 2007030972 A JP2007030972 A JP 2007030972A JP 2007030972 A JP2007030972 A JP 2007030972A JP 5116315 B2 JP5116315 B2 JP 5116315B2
Authority
JP
Japan
Prior art keywords
game
replacement
storage medium
unit
program
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2007030972A
Other languages
English (en)
Other versions
JP2008194162A (ja
Inventor
丈博 冨永
公樹 樋口
圭介 清水
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Interactive Entertainment Inc
Original Assignee
Sony Interactive Entertainment Inc
Sony Computer Entertainment Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Interactive Entertainment Inc, Sony Computer Entertainment Inc filed Critical Sony Interactive Entertainment Inc
Priority to JP2007030972A priority Critical patent/JP5116315B2/ja
Publication of JP2008194162A publication Critical patent/JP2008194162A/ja
Application granted granted Critical
Publication of JP5116315B2 publication Critical patent/JP5116315B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、情報処理技術に関し、特に所定のゲーム機用のゲームプログラムを実行する技術に関する。
近年、あるターゲットハードウェアのために開発されたソフトウェアを、ターゲットハードウェアとは異なるハードウェアで動作させるエミュレーションと呼ばれる技術が注目されている。エミュレーション技術では、ターゲットハードウェアが備えるハードウェア資源、たとえばCPU(Central Processing Unit)、メモリ、ディスクシステムなどをエミュレータプログラムにより仮想的に実現する。ターゲットハードウェア上で実行されるべきアプリケーションプログラムがこれらハードウェア資源にアクセスするときには、アクセス先のハードウェア資源を実現するエミュレータプログラムが、実際のハードウェアからの応答であるかのようにデータの入出力を行い、これにより、アプリケーションプログラムが動作する。
従来のゲーム機では、ゲームプログラムの記憶媒体としてフレキシブルディスクやCDROMなどが用いられてきたが、記憶容量の関係から、複数枚の記憶媒体にゲームプログラムが分割して記録されることも少なくなかった。このような場合、ゲーム中に、記憶媒体の入替を指示するメッセージが画面に表示され、ユーザは、その指示をもとに、記憶媒体の入替作業を行っていた。
近年の技術進歩により、記憶媒体の容量は飛躍的に増加し、エミュレータとして機能する情報端末装置は、従来のゲーム機で使用されていた記憶媒体とは仕様の異なる大容量記憶媒体を装備可能となっている。そのため、エミュレーション装置で実行するゲームプログラムは、従来のゲーム機のように複数に分割されている必要はなく、1つの実行プログラムとして用意されることが可能である。ゲームプログラムのイメージファイルをネットワーク経由で電子配信する場合、複数の記憶媒体ごとにイメージファイルを生成して別個に配信するのは面倒であり、1つの実行ファイルにまとめて配信する方が効率的である。
エミュレーション装置が、このようなゲームプログラムを実行すると、ゲーム途中で、記憶媒体の入替を指示するメッセージが画面に表示される。このとき、エミュレーション装置では従来のゲーム機のような記憶媒体の入替作業は発生しないが、ユーザに対してGUI(グラフィカルユーザインタフェース)による仮想的な記憶媒体の入替を行うような操作を行わせることで、ゲームを継続させることが好ましい。
しかしながら、GUIを用いたユーザからの入替指示は、ボタン操作などにより非常に簡単に行われるため、現実の記憶媒体を交換する作業に比べて、誤操作が発生しやすいという問題がある。
そこで本発明は、複数枚の記憶媒体のイメージファイルを1つにまとめた実行ファイルを効率的に実行する情報処理技術を提供することを目的とする。
上記課題を解決するために、本発明のある態様は、所定のゲーム機用のゲームプログラムを実行するための情報処理装置を提供する。この情報処理装置は、所定のゲーム機用のゲームプログラムを実行するための情報処理装置であって、複数枚の記憶媒体のイメージファイルを1つにまとめた実行ファイルを保持するゲームプログラム保持部と、実行ファイルに含まれる実行プログラムを実行するゲーム実行部と、実行プログラムの実行状況から、仮想記憶媒体を入れ替えるべき状態にあるか否かを判定する入替判定部と、前記入替判定部による判定結果に応じて、仮想記憶媒体の入替処理に関する制御を行う制御部とを備える。
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
本発明によると、複数枚の記憶媒体のイメージファイルを1つにまとめた実行ファイルを効率的に実行する情報処理技術を提供できる。
図1は、実施例にかかる通信システム1の構成を示す。通信システム1は、情報端末装置10と、情報端末装置10と無線LAN(Local Area Network)で接続するアクセスポイント12と、アクセスポイント12とネットワーク14を介して接続するエミュレータプログラム提供サーバ20およびゲームイメージファイル提供サーバ30とを備える。エミュレータプログラム提供サーバ20は、情報端末装置10にゲーム用エミュレータプログラムを提供する。ゲームイメージファイル提供サーバ30は、情報端末装置10にゲームプログラムのイメージファイルを提供する。イメージファイルは、ゲームプログラムが記憶されていた記憶媒体の完全な内容と構造を1つのファイルに格納したデータであり、ISO9660形式のCDイメージファイルである「ISOイメージ」などが代表的である。なお、ゲームプログラムを記録したROMをファイル化したものは「ROMイメージ」と呼ばれることもある。
情報端末装置10は無線通信機能を有して構成される処理装置であって、実施例では無線LAN方式による通信機能を有する。なお情報端末装置10は他の無線通信方式による通信機能を有してもよく、またUSBケーブルなどの有線ケーブルで外部装置と接続する通信機能を有してもよい。
アクセスポイント12は、無線LANで情報端末装置10同士を接続したり、また無線LANで情報端末装置10を他のアクセスポイントに接続したり、さらには情報端末装置10をインターネットや有線LANなどのネットワーク14に接続する中継装置として機能する。通信システム1では、情報端末装置10がアクセスポイント12を介して、エミュレータプログラム提供サーバ20およびゲームイメージファイル提供サーバ30と接続できる。情報端末装置10が有線通信機能をもつ場合、たとえばネットワーク14に接続するパーソナルコンピュータや据置型のゲーム機などを中継装置として、エミュレータプログラム提供サーバ20およびゲームイメージファイル提供サーバ30に接続してもよい。
情報端末装置10は、携帯型のゲーム機であってよい。情報端末装置10は、ゲームプログラムを記録したディスクをディスクリーダに装着されることで、ゲームプログラムを読み出し、実行できる。なお、本実施例において情報端末装置10は携帯型のゲーム機でなくてもよく、たとえば据置型のゲーム機やパーソナルコンピュータ、また携帯電話機やPDA(Personal Digital Assistance)などの端末装置であってよい。いずれの端末装置として構成される場合であっても、情報端末装置10は、エミュレータプログラム提供サーバ20から提供されるエミュレータプログラムを起動することで、ゲームイメージファイル提供サーバ30から提供されるゲームプログラムを実行できるエミュレーション装置として機能する。
エミュレータプログラム提供サーバ20は、所定のゲーム機用のゲームプログラムを情報端末装置10上で実行させるためのエミュレータプログラムを提供する。エミュレータプログラムはファームウェアの一部を構成してもよく、通信システム1においてエミュレータプログラム提供サーバ20は、更新されたファームウェアを提供するファームウェア更新サーバとして構成されてもよい。このときユーザがファームウェアの更新を情報端末装置10に指示すると、情報端末装置10が、エミュレータプログラム提供サーバ20から、更新されたファームウェアをダウンロードする。情報端末装置10は、ファームウェアをダウンロードすることでエミュレータプログラムを取得でき、エミュレーション装置として動作することが可能となる。
ゲームイメージファイル提供サーバ30は、所定のゲーム機用のゲームプログラムのイメージファイルを生成して情報端末装置10に提供する。たとえばゲームイメージファイル提供サーバ30は情報端末装置10にダウンロード可能なゲームタイトルのリストを送信し、ユーザが、所望のゲームタイトルを選択することで、情報端末装置10が、そのイメージファイルをフラッシュメモリなどの記憶媒体にダウンロードする。情報端末装置10は、エミュレータプログラムを起動して、ダウンロードしたイメージファイルを読み込むことで、あたかも所定のゲーム機であるかのように、ゲームを進行させることが可能となる。
図2は、本実施例においてゲームイメージファイル提供サーバ30から配信されるイメージファイルを示す。ゲームイメージファイル提供サーバ30は、複数枚のゲームディスク(記憶媒体)に分割されて記録されているゲームプログラムをまとめて、1つのイメージファイルを生成する。図2は、3枚のディスクに分割されて記録されていたゲームプログラムのイメージファイルを、1つのイメージファイル(「実行ファイル」ともよぶ)にまとめた例を示す。1つにまとめたイメージファイルの先頭にはインデックスが設けられ、インデックスには、ゲームプログラムが3枚組のディスクにより構成されていることや、各ディスクのデータが含まれる「先頭バイト位置」および「バイト数」などの情報が書き込まれている。
図3は、情報端末装置10の外観構成を示す。情報端末装置10は、ゲーム画像やグラフィカルユーザインタフェースなどを表示するための表示部40と、音声データを出力する音声出力部42と、ユーザからの操作入力を受け付ける操作部44とを備える。表示部40は液晶ディスプレイであってよく、音声出力部42はスピーカであってよい。操作部44は、筐体表面に設けられた方向キーや4種のボタン(○ボタン、×ボタン、□ボタン、△ボタン)、STARTボタン、SELECTボタン、HOMEボタンなどを含み、また筐体側面に設けられたボタンも含む。
図4は、エミュレーション機能を実現する情報端末装置10の構成を示す。情報端末装置10は、表示部40、音声出力部42、操作部44を備え、さらに通信制御部102、通信部104、取得部110、処理部120および記憶部140を備える。取得部110は、エミュレータプログラム取得部112およびゲームイメージファイル取得部114を有して構成され、通信部104からダウンロードされたデータを取得する。処理部120は、操作入力受付部122、エミュレータ起動部124、ゲーム実行部126、プログラムカウンタ128、ディスク駆動状態監視部130、入替判定部132およびGUI処理部134を有して構成され、情報端末装置10におけるエミュレーション機能を実行する。入替判定部132の一部の機能および/またはGUI処理部134は、仮想記憶媒体の入替処理に関する制御を行う制御部として機能する。記憶部140はフラッシュメモリなどの記憶媒体であり、エミュレータプログラム記憶部150およびゲームイメージファイル記憶部160a、160b、160c(以下、総称する場合は「ゲームイメージファイル記憶部160」と呼ぶ)を有して構成される。記憶部140は、ハードディスクであってもよく、また他の種類の記憶媒体であってもよく、これら複数種類の記憶媒体から記憶領域を構成するものであってもよい。このようにエミュレータプログラム記憶部150およびゲームイメージファイル記憶部160は、同一の記憶部140に形成されてもよいが、異なる記憶部に形成されてもよい。
情報端末装置10のエミュレーション機能は、CPU、メモリ、メモリにロードされたプログラムなどによって実現され、ここではそれらの連携によって実現される機能ブロックを描いている。本実施例では、エミュレータプログラムをダウンロードすることで情報端末装置10がエミュレーション装置として機能するが、エミュレータプログラムは、情報端末装置10に内蔵されていてもよい。したがってこれらの機能ブロックがハードウエアのみ、ソフトウエアのみ、またはそれらの組合せによっていろいろな形で実現できることは、当業者に理解されるところである。
通信制御部102は、操作部44からエミュレータプログラムのダウンロード要求を受けると、通信部104をエミュレータプログラム提供サーバ20に接続する。通信部104は、エミュレータプログラム提供サーバ20から、最新のエミュレータプログラムをダウンロードし、エミュレータプログラム取得部112に供給する。
本実施例において、エミュレータプログラムは、エミュレータの実行プログラムと、入替条件データベースを含む。エミュレータプログラム取得部112は、エミュレータプログラム記憶部150において、実行プログラムを実行プログラム保持部152に格納し、入替条件データベースを入替条件保持部154に格納する。
入替条件データベースは、ゲーム実行中に仮想記憶媒体を入れ替えるべき状態にあることを判定するための条件を、ゲームタイトルごとに保持して構成される。なお本明細書において、ゲームタイトルは、ゲームソフトウェアを特定する情報を意味し、ゲームタイトルとゲームソフトウェアは、一対一に対応する。従来のゲーム機で、複数枚のゲームディスクから構成されるゲームソフトウェアを実行すると、ユーザは、途中でゲームディスクを入れ替える必要がある。一方、情報端末装置10は、複数のゲームディスクのデータをまとめたゲームプログラムを実行するため、ゲーム途中で、仮想的なゲームディスク(仮想記憶媒体)を入れ替える処理を実行しなければならない。入替条件データベースは、ゲームの状態がゲームディスクの入替イベント中であるか判定するための入替判定条件をゲームタイトルごとに保持している。
また通信制御部102は、操作部44からゲームイメージファイル提供サーバ30への接続要求を受けると、通信部104をゲームイメージファイル提供サーバ30に接続する。ゲームイメージファイル提供サーバ30は、ダウンロード可能なゲームタイトルのリストを配信し、ユーザは、表示部40に表示されたリストから所望のゲームタイトルを操作部44により選択することで、ゲームイメージファイルのダウンロード要求が生成される。通信部104は、ゲームイメージファイル提供サーバ30からゲームイメージファイルをダウンロードし、ゲームイメージファイル取得部114に供給する。
ゲームイメージファイルは、ゲームソフトウェアの実行プログラムを少なくとも含み、さらにゲームタイトルのIDを含んでもよい。ゲームイメージファイル取得部114は、ゲームイメージファイル記憶部160において、ゲームソフトウェアの実行プログラムのイメージファイルをゲームプログラム保持部162に格納し、タイトルIDをタイトルID保持部164に格納する。なお本明細書では、ゲームプログラム保持部162に格納されたイメージファイルを実行ファイルと呼び、また単にゲームプログラムまたは実行プログラムと呼ぶこともある。
ゲームイメージファイル取得部114は、取得したゲームイメージファイルを、ゲームソフトウェアすなわちゲームタイトルごとに記憶部140に格納する。したがって、記憶部140において、ゲームイメージファイル記憶部160は、ダウンロードしたゲームソフトウェアの数だけ生成される。
以上のように、記憶部140に、エミュレータプログラム記憶部150およびゲームイメージファイル記憶部160が形成されることで、本実施例における情報端末装置10のエミュレータ機能を実現することが可能となる。
図5は、ゲームディスクの入替イベントの発生時に、ゲームプログラムにより表示部40に表示される「ディスク入替メッセージ」を示す。このメッセージは、従来のゲーム機において、ユーザにディスク交換を促すために表示されていたものであり、情報端末装置10では、必ずしも表示する必要はない。しかしながら、ディスク入替メッセージを表示する際に、なんらかの演出が行われるゲームソフトウェアも存在するため、情報端末装置10によるエミュレーション機能は、このような演出が損なわれる事態を回避するために、ゲームプログラムの実行内容を忠実に再現している。
一方で、ユーザは、このディスク入替メッセージのみを表示されても、交換するディスクが存在しないために、次にとるべきアクションが分からないという問題が発生する。そこで、情報端末装置10は、ゲームディスクの入替イベントの発生を正確に検出して、ユーザに対して次にとるべきアクションを提示することが好ましい。
図6は、従来のゲーム機において、ディスク入替イベントの発生中に実行されている命令セットを示す。まず、ゲームディスクを駆動するスピンドルの停止命令が発行され、ゲームディスクの回転駆動が停止される。次に、ディスク入替メッセージの表示命令が発行され、図5に示すディスク入替メッセージがディスプレイに表示される。その後、ゲーム機筐体の蓋開きの監視命令が発行され、ゲームディスクが取り出される状態にあるか監視される。この監視は、筐体の蓋が開いたことが検出されるまで継続される。筐体の蓋が開かれると、ゲーム機筐体の蓋閉じの監視命令が発行され、筐体の蓋が閉じられたか監視される。この監視も、筐体の蓋が閉じたことが検出されるまで継続される。筐体の蓋が閉じられると、装着されたゲームディスクの検証命令が発行され、ゲームディスクが挿入されているか、また挿入されたゲームディスクが正しいかを検証される。
以上は、ゲームディスクの着脱に際して、筐体蓋を開閉するタイプのゲーム機における命令セットであり、たとえばトレーローディングタイプのドライブをもつタイプのゲーム機であれば、トレーの開閉についての監視命令が実行される。
図7は、ディスク入替イベント発生中の命令セットをプログラムメモリ136に展開した状態を示す。説明の便宜上、ゲームタイトル「ABC」のゲームプログラムが、図7に示すように展開されたものとする。なお、各命令の格納位置は、ゲームソフトウェアによって異なる。これらの命令セットは、図示するように連続するアドレスに記憶される必要はないが、いずれにしても、それぞれ先頭アドレスから特定の範囲に格納される。プログラムカウンタ128は、プログラムメモリ136に格納されたプログラムを実行するために、アドレスを順番に指示するレジスタである。
図4に戻って、処理部120において、操作入力受付部122が、操作部44からゲームの実行指示を受け付けると、エミュレータ起動部124にゲームプログラムの実行指示を供給する。エミュレータ起動部124は、実行プログラム保持部152からエミュレータの実行プログラムを読み出し、起動する。これにより、情報端末装置10はエミュレーション装置として動作する。エミュレーション機能が立ち上がると、その環境上でゲーム実行部126が、ゲームプログラム保持部162から、ユーザにより指定されたゲームプログラムをイメージファイルから読み出し、実行する。既述したように、イメージファイルは、複数枚のゲームディスクのイメージファイルを1つにまとめたものである。
ゲーム実行部126は、図7に示すようにゲームプログラム中の命令をプログラムメモリ136に展開し、プログラムカウンタ128によりアドレスを指定して、命令を順に実行する。最初にゲーム実行部126は、1枚目の仮想ゲームディスク中の命令をプログラムメモリ136に展開して実行する。
入替判定部132は、入替条件保持部154に保持された仮想記憶媒体の入替判定条件を参照して、ゲームプログラムの実行状況から、仮想記憶媒体を入れ替えるべき状態にあるか否かを判定する。入替判定部132は、プログラムカウンタ128の値が所定の範囲内にあるときに、仮想記憶媒体が入れ替えられるべき状態にあることを判定してもよい。
図8は、入替条件データベースに保持された仮想記憶媒体の入替判定条件の一例を示す。本実施例では、仮想記録媒体の入替判定条件が、「筐体蓋開きの監視命令」が実行されていることに設定され、「筐体蓋開きの監視命令」が実行されていれば、入替判定部132が、ディスク入替イベントの発生中であることを判定する。
図7を参照して、ゲームタイトル「ABC」の入替判定条件は、プログラムカウンタの値がPC開始値(ADD_CH2)からPC終了値(ADD_CH3−1)の範囲内にあることに設定される。なお、プログラムメモリ136において、「筐体蓋開きの監視命令」が、どのアドレスに格納されているかはゲームタイトルごとに異なる。そのため入替条件データベースは、ゲームタイトルごとに「筐体蓋開きの監視命令」が格納されるアドレスの範囲を特定し、プログラムカウンタ128の値が、特定された範囲内に存在することを、仮想記憶媒体の入替判定条件として保持している。
入替判定部132は、プログラムカウンタ128の値を監視し、プログラムカウンタ128の値が、実行中のゲームタイトルに対応して入替条件データベースで特定される範囲内にある場合に、仮想記憶媒体を入れ替えるべき状態にあることを判定する。このようにプログラムカウンタの値を利用することで、ディスク入替イベントの発生を高精度に検出することが可能となる。
入替条件保持部154は、さらに、仮想記憶媒体の駆動停止指示信号が生成されたことを、仮想記憶媒体の入替判定条件として保持してもよい。ディスク駆動状態監視部130が、仮想記憶媒体の駆動状態を監視し、たとえばスピンドル停止命令が生成されたことを検出すると、入替判定部132に仮想記憶媒体の駆動停止指示信号が生成されたことを通知してもよい。なお、スピンドル停止命令の発行は、プログラムカウンタ128の値によっても検出可能であり、ディスク駆動状態監視部130は、プログラムカウンタ値にもとづいて、駆動停止指示信号が生成されたことを入替判定部132に通知してもよい。なおプログラムカウンタ128の値の監視は、入替判定部132が直接実行してもよい。
入替判定部132は、仮想記憶媒体の駆動停止指示信号が生成されたことを検出すると、仮想記憶媒体を入れ替えるべき状態にあることを判定してもよい。なお、入替判定部132は、複数の入替判定条件が成立していることをもって、仮想記憶媒体を入れ替えるべき状態にあることを判定することが好ましい。すなわち、入替判定部132は、プログラムカウンタ128の値が所定の範囲内にあって、且つ、仮想記憶媒体の駆動停止指示信号が生成されたことを検出することで、仮想記憶媒体を入れ替えるべき状態にあることを判定する。このように、複数の入替判定条件の成立により、入替判定を行うことで、ディスク入替イベントの発生を高精度に検出することが可能となる。またゲームタイトル固有の入替判定条件と、ゲームタイトルに依存しない入替判定条件とを利用することで、ディスク入替イベントの発生をさらに高精度に検出することが可能となる。
なお、入替条件保持部154は、仮想記憶媒体の駆動停止指示信号が生成されただけではなく、仮想記憶媒体の駆動停止状態が所定時間継続したことを、仮想記憶媒体の入替判定条件として保持してもよい。ゲームの実行中、ゲームディスクはシーク時間を短くするために、基本的には回転駆動された状態を維持しているが、ゲームの進行上、ゲームディスクの回転が短時間停止されることもある。しかしながら、ディスク入替イベントの発生時には、ゲームディスクが回転停止状態を維持するため、この状態が所定時間継続したことを入替判定条件として利用することで、入替判定部132が、ディスク入替イベントの発生を、さらに高精度に検出することが可能となる。
ディスク駆動状態監視部130はタイマを有し、スピンドル停止命令の発行後の時間を監視する。スピンドル停止命令が発行された後、所定時間が経過するまでにスピンドル駆動命令が発行されなければ、ディスク駆動状態監視部130は、仮想記憶媒体の駆動停止状態が所定時間継続したことを入替判定部132に通知する。入替判定部132は、この通知をうけて、仮想記憶媒体を入れ替えるべき状態にあることを判定する。なお判定精度を高めるために、入替判定部132は、プログラムカウンタ128の値が所定の範囲内にあって、且つ、仮想記憶媒体の駆動停止状態が所定時間継続したことを検出することで、仮想記憶媒体を入れ替えるべき状態にあることを判定することが好ましい。またゲームタイトル固有の入替判定条件と、ゲームタイトルに依存しない入替判定条件とを利用することで、ディスク入替イベントの発生をさらに高精度に検出することが可能となる。
入替判定部132は、メモリ上の特定番地を監視することで、次に使用する仮想記憶媒体を特定してもよい。たとえば図5に示すディスク入替メッセージでは、次に使用するディスク番号が2番であることが示されている。また、たとえば3枚目のディスクへの入替メッセージでは、次に使用するディスク番号が3番であることが示される。このとき、次に使用するディスク番号を特定するために、ゲームプログラムは、メモリ上の所定の番地にアクセスして、その番地に格納されている数字を読み出している。このことを利用して、入替判定部132は、ディスク入替メッセージに含まれるディスク番号を保持するメモリ上の番地を把握し、その番地へのアクセスを監視する。入替判定部132は、アクセスがあったことを検出すると、その特定番地に格納されている数字から、次に使用する仮想記憶媒体のディスク番号を特定できる。
GUI処理部134は仮想記憶媒体の入替をユーザに指示させる操作画面を、GUIを用いて生成する。ゲーム中に、ユーザが、情報端末装置10の所定の操作部44を押下すると、GUI処理部134が、エミュレータメニュー画面を表示部40に表示する。たとえば、図3に示される「HOME」ボタンを押下することで、エミュレータメニュー画面がGUI表示されてもよい。
図9は、エミュレータメニュー画面を示す。エミュレータメニュー画面はGUIを用いて生成され、ユーザによる操作指示が可能とされている。エミュレータメニュー画面には、「ゲーム終了」、「ボタン割り当て」、「ディスク入れ替え」、「ゲームリセット」などのメニュー項目が用意されている。「ゲーム終了」は実行中のゲームを終了させる項目であり、「ボタン割り当て」はゲームのボタン割り当てを設定させる項目であり、「ディスク入れ替え」は仮想記憶媒体の入替を行わせる項目であり、「ゲームリセット」はゲームをリセットさせる項目である。ユーザは、操作部44を操作してカーソルを移動し、所望のメニュー項目にあわせた状態で、決定ボタン(○)を押下することで、メニュー項目の内容が実行される。
入替判定部132により、仮想記憶媒体を入れ替えるべき状態にないことが判定されると、GUI処理部134は、ユーザにより仮想記憶媒体の入替を指示できないように操作画面を生成する。すなわち、ディスク入替イベント中でなければ、GUI処理部134は、「ディスク入れ替え」の項目表示をグレーアウトとし、ユーザがカーソルで選択できないように処理する。これにより、ユーザがゲーム中に誤ってHOMEボタンを押下し、さらに、「ディスク入れ替え」項目を選択して、ゲームデータを消失するような不測の事態を事前に回避することが可能となる。一方、入替判定部132により、仮想記憶媒体を入れ替えるべき状態にあることが判定されると、GUI処理部134は、ユーザにより仮想記憶媒体の入替を指示しやすい操作画面を生成する。GUI処理部134は、「ディスク入れ替え」の項目表示のグレーアウトを外し、また「ディスク入れ替え」の項目表示をデフォルトフォーカスすることで、「ディスク入れ替え」のメニュー項目を選択しやすくしてもよい。
図10は、図5に示すディスク入替メッセージが表示された画面に、仮想ゲームディスクの入れ替え方法を表現するダイアログを開いた状態を示す。このようにGUI処理部134は、ユーザに対して仮想ゲームディスクの入れ替え方法を知らせるメッセージを表示してもよい。これによりユーザは、HOMEボタンを押下して、図9に示すエミュレータメニュー画面を表示させることができる。なお、この時点では、ディスク入替イベントの発生中であるため、「ディスク入れ替え」項目のグレーアウト表示は解除されており、ユーザは、カーソルを動かして、「ディスク入れ替え」項目を選択することができる。
ユーザが「ディスク入れ替え」を選択して決定ボタンを押すと、エミュレータは、その決定指示により、ディスクが入れ替えられたことを示す信号を生成する。図6または図7を参照して、この信号は、ゲームプログラムにおいて、ディスク検証命令による検証処理がOKであったことに相当する。これによりゲーム実行部126は、仮想ゲームディスク2の命令をプログラムメモリ136に展開し、ゲームを継続できる。
GUI処理部134は、ゲームプログラムにより表示されるディスク入替メッセージに重ならないように、ダイアログを表示することが好ましい。GUI処理部134は、ディスク入替メッセージが専有する領域を認識することで、空いた領域にダイアログを表示することが可能となる。たとえば、図2に示すゲームプログラムのINDEXに、ディスク入替メッセージの表示領域が記述され、GUI処理部134は、その情報からダイアログをディスク入替メッセージに重ならないように表示できる領域を取得してもよい。これによりGUI処理部134は、ゲームプログラムにより生成されるディスク入替メッセージに重ねることなく、ダイアログを表示することが可能となる。
なお、GUI処理部134は、ディスク入替メッセージに重なるように、ダイアログを表示してもよい。この場合は、見えやすさを確保するために、ディスク入替メッセージの輝度を低くして、ダイアログ表示の視認性を高めることが好ましい。
図11は、図5に示すディスク入替メッセージが表示された画面に、仮想ゲームディスクの選択入替ダイアログを開いた状態を示す。既述したゲームタイトル「ABC」には、3枚の仮想ゲームディスクが存在しているが、GUI処理部134は、入替判定部132により次に使用する仮想記憶媒体が特定されると、その仮想記憶媒体の入替をユーザにより指示させやすい操作画面を生成することが好ましい。このとき、次に入れ替えるべきディスクとして特定されたディスクのみを表示させてもよいし、また次に入れ替えるべきディスクとして特定されたディスクにデフォルトでカーソルを合わせて、ユーザから選択しやすくしてもよい。これによりユーザによる誤操作を回避することができ、仮想ゲームディスクの円滑な入替処理を実現できる。
ゲームソフトウェアによっては、仮想ゲームディスクが入れ替えられた後、ゲームを継続させるためにゲームリセットをさせるものがある。そのような操作が必要なゲームソフトウェアについては、GUI処理部134が、ゲームタイトルごとにリセット操作が必要であるか否かの情報を保持し、その情報にしたがって、既述したように、ゲームリセット方法を表現したダイアログを表示したり、また「ゲームリセット」のメニュー項目を提示することで、ユーザが円滑にゲームを継続できるようにしてもよい。なお、このような表示を行うことなく、入替判定部132が、内部的なリセット処理を自動的に実行してもよい。
図12は、仮想ゲームディスクの入れ替えフローを示す。入替判定部132が、入替条件データベースを参照して実行中のゲームプログラムの入替判定条件を取得し、プログラムカウンタ128の値が、入替判定条件として特定される範囲内にあるか判定する(S10)。なお、入替条件データベースにおける検索キーがゲームタイトルのIDである場合は、タイトルID保持部164に保持されているタイトルIDを用いて、プログラムカウンタ値の範囲を取得する。プログラムカウンタ128の値が所定の範囲内になければ(S10のN)、ディスク入替イベントは発生しておらず、本フローは終了する。
プログラムカウンタ128の値が所定の範囲内にあれば(S10のY)、入替判定部132は、仮想ゲームディスクの停止状態が所定時間を超えたか判定する(S12)。スピンドル停止命令が発生すると、ディスク駆動状態監視部130が仮想ゲームディスクの停止時間の計測を開始し、所定時間経過前にスピンドル駆動命令が発生したことを検出すると(S12のN)、ディスク入替イベントが発生していないことが判定されて、本フローは終了する。仮想ゲームディスクの停止状態が所定時間を超えると(S12のY)、入替判定部132は、仮想ゲームディスクを入れ替えるべき状態にあることを判定する(S14)。この判定結果を受けて、GUI処理部134は、ユーザの仮想ゲームディスクの選択操作を支援するための操作画面を表示部40に表示する(S16)。GUI処理部134は、ユーザからの仮想ゲームディスクの入替操作を待機し(S18のN)、入替操作がなされると(S18のY)、本フローを終了する。
以上、本発明を実施例をもとに説明した。この実施例は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。たとえばPC値に関する入替判定条件は入替条件保持部154により保持されるものとしたが、たとえばイメージファイルのINDEXに、ゲームタイトルごとに埋め込まれてもよい。
上記した実施例では、ディスク入替イベントの発生を検出した場合に、ユーザに対してGUIを用いた操作画面を提示することとしたが、GUI処理部134による操作画面の提示を行うことなく、入替判定部132が、適切な仮想ゲームディスクに自動的に交換処理を行ってもよい。
また実施例では、入替判定部132が入替判定条件をもとにディスク入替イベントの発生を高精度に検出するため、これを応用して、たとえばディスク入替イベント中でない場合には、記憶媒体の取り外しをできなくしてもよい。これにより、ゲーム中に記憶媒体が取り外される事態を回避できる。
なお、ディスク入替イベントの発生を、たとえば表示部40に表示されている画像から判断することも可能である。たとえば、入替判定部132は、ディスク交換メッセージの画像データを保持し、表示部40に表示されている画像とのマッチングをとることで、現在の状況がディスク入替イベントの発生中であるか判定することができる。また、表示部40に表示されている画像に含まれる数字から、次に入れ替えるべきディスクの番号を特定することも可能となる。
また実施例では、複数枚の仮想ゲームディスクを1つにまとめたイメージファイル(実行ファイル)が記憶部140に格納されているものとして説明した。イメージファイルは、たとえばメニュー画面において1つのアイコンにより表示部40に表示されてもよく、これにより、ユーザは、所望のゲームタイトルのイメージファイルの存在を認識することができる。なお表示部40に、複数の仮想ゲームディスクのアイコンをそれぞれ表示することも可能である。これにより、ユーザに対して、複数枚の仮想ゲームディスクの存在を認識させることができ、あたかも複数の物理的なゲームディスクが存在するような感覚をユーザに与えることが可能となる。
記憶部140は複数種類の記憶媒体から構成されてもよく、複数の仮想ゲームディスクは、ゲームイメージファイル記憶部160において、それぞれ異なる記憶媒体に分散して格納されてもよい。ゲーム実行部126は、タイトルIDに対応付けて、関連する仮想ゲームディスクの格納場所を保持しておき、仮想ゲームディスクが適切に入れ替えられたことを示す信号を受け取ると、次に実行するべき仮想ゲームディスクの格納場所を特定し、その仮想ゲームディスクの命令を読み出して実行する。イメージファイルまたは仮想ゲームディスクが格納された記憶媒体は、ネットワーク14に接続するゲーム機などに存在していてもよく、また情報端末装置10と無線ないしは有線で直接接続するゲーム機などに存在していてもよい。ゲーム実行部126は、関連する仮想ゲームディスクが保持される可能性のあるデバイスを探索して、次に実行する仮想ゲームディスクを格納した記憶領域を特定する。これにより、1つのゲームソフトウェアを構成する仮想ゲームディスクが複数の記憶媒体にまたがって存在する場合であっても、適切に仮想ゲームディスクを取得でき、ゲームを進行することができる。
また、図2には、3枚組のディスクに記録されていたゲームプログラムを1つのイメージファイルにまとめた例を示したが、情報端末装置10は、たとえば3枚のディスクのうち、1枚目(DISK1)と3枚目(DISK3)をまとめたイメージファイルを処理することも可能である。この場合、2枚目の物理的なディスクが使用され、ユーザは、GUIにより2枚目のディスクへの交換指示が表示部40に表示されると、物理的なディスクを所定のドライブに装着させてもよい。これにより、1枚目と3枚目については仮想ディスクのゲームプログラムが実行され、2枚目については物理的なディスクのゲームプログラムが実行されて、3枚のディスクで構成されていたゲームソフトウェアを実行することが可能となる。
なお、ゲームの進行上、音楽ファイルなどの他の種類のファイルが必要な場合がある。このとき入替判定部132が、音楽ディスクへの入替が必要なことを判定して、GUI処理部134が、ディスク入替を指示するGUIメッセージを表示部40に表示してもよい。入替判定部132およびGUI処理部134による処理は、仮想ゲームディスクについて説明したものと同様である。入れ替えられるべき音楽ディスクは、上記したように、現実の物理的なディスクであってもよく、この場合、GUI処理部134により音楽ディスクへの交換指示が表示部40に表示されると、ユーザは、物理的な音楽ディスクを所定のドライブに装着し、ゲーム実行部126が、ドライブを駆動して音楽ディスクのデータを読み出し実行する。また入れ替えられるべき音楽ディスクは、記憶部140において予めイメージファイルに変換されて記憶されたものであってもよい。この場合、GUI処理部134により音楽ディスクへの交換指示が表示部40に表示されると、ユーザは操作部44からディスク入替を指示し、ゲーム実行部126が、音楽ディスクのイメージファイルを読み出して実行する。
なお、記憶部140の音楽ライブラリには、MP3などで圧縮された音楽ファイルそのものが格納されていてもよい。この場合、GUI処理部134により音楽ディスクへの交換指示が表示部40に表示され、ユーザが操作部44からディスク入替を指示すると、ゲーム実行部126が、音楽ライブラリから指示された音楽ファイルを読み出してイメージファイルを生成し、生成したイメージファイルを用いてゲームを実行することも可能である。このように、ディスク入替の指示に応答してイメージファイルを自動生成することで、予めイメージファイルを記憶部140に保持しておく必要がなく、記憶部140の容量を効率的に使用することが可能となる。なお、この自動生成処理は、音楽ファイルに限るものではなく、動画ファイルなど様々なタイプのファイルに適用することができる。
実施例にかかる通信システムの構成を示す図である。 本実施例においてゲームイメージファイル提供サーバから配信されるイメージファイルを示す図である。 情報端末装置の外観構成を示す図である。 エミュレーション機能を実現する情報端末装置の構成を示す図である。 ゲームディスクの入替イベントの発生時に、ゲームプログラムにより表示部に表示されるディスク入替メッセージを示す図である。 従来のゲーム機において、ディスク入替イベントの発生中に実行されている命令セットを示す図である。 ディスク入替イベント発生中の命令セットをプログラムメモリに展開した状態を示す図である。 入替条件データベースに保持された仮想記憶媒体の入替判定条件の一例を示す図である。 エミュレータメニュー画面を示す図である。 図5に示すディスク入替メッセージが表示された画面に、仮想ゲームディスクの入れ替え方法を表現するダイアログを開いた状態を示す図である。 図5に示すディスク入替メッセージが表示された画面に、仮想ゲームディスクの選択入替ダイアログを開いた状態を示す図である。 仮想ゲームディスクの入れ替えフローを示す図である。
符号の説明
1・・・通信システム、10・・・情報端末装置、12・・・アクセスポイント、14・・・ネットワーク、20・・・エミュレータプログラム提供サーバ、30・・・ゲームイメージファイル提供サーバ、40・・・表示部、42・・・音声出力部、44・・・操作部、102・・・通信制御部、104・・・通信部、110・・・取得部、112・・・エミュレータプログラム取得部、114・・・ゲームイメージファイル取得部、120・・・処理部、122・・・操作入力受付部、124・・・エミュレータ起動部、126・・・ゲーム実行部、128・・・プログラムカウンタ、130・・・ディスク駆動状態監視部、132・・・入替判定部、134・・・GUI処理部、136・・・プログラムメモリ、140・・・記憶部、150・・・エミュレータプログラム記憶部、152・・・実行プログラム保持部、154・・・入替条件保持部、160・・・ゲームイメージファイル記憶部、162・・・ゲームプログラム保持部、164・・・タイトルID保持部。

Claims (10)

  1. 所定のゲーム機用のゲームプログラムを実行するための情報処理装置であって、
    複数枚の記憶媒体に分割されて記録されているゲームプログラムのイメージファイルを1つにまとめた実行ファイルを保持するゲームプログラム保持部と、
    実行ファイルに含まれる実行プログラムを実行するゲーム実行部と、
    実行プログラムの実行状況から、イメージファイルを構成する仮想記憶媒体を入れ替えるべき状態にあるか否かを判定する入替判定部と、
    前記入替判定部による判定結果に応じて、仮想記憶媒体の入替処理に関する制御を行う制御部と、
    を備えることを特徴とする情報処理装置。
  2. ゲーム実行中に仮想記憶媒体を入れ替えるべき状態にあることを判定するための条件を保持する入替条件保持部をさらに備え、
    前記入替判定部は、前記入替条件保持部に保持された仮想記憶媒体の入替判定条件を参照して、実行プログラムの実行状況から、仮想記憶媒体を入れ替えるべき状態にあるか否かを判定することを特徴とする請求項1に記載の情報処理装置。
  3. 前記入替条件保持部は、プログラムカウンタの値が所定の範囲内にあることを、仮想記憶媒体の入替判定条件として保持することを特徴とする請求項2に記載の情報処理装置。
  4. 前記入替条件保持部は、ゲームタイトルごとに、仮想記憶媒体の入替判定条件を構成するプログラムカウンタの値の範囲を保持することを特徴とする請求項2または3に記載の情報処理装置。
  5. 前記入替条件保持部は、さらに、仮想記憶媒体の駆動停止指示信号が生成されたことを、仮想記憶媒体の入替判定条件として保持することを特徴とする請求項2から4のいずれかに記載の情報処理装置。
  6. 前記入替条件保持部は、仮想記憶媒体の駆動停止状態が所定時間継続したことを、仮想記憶媒体の入替判定条件として保持することを特徴とする請求項2から5のいずれかに記載の情報処理装置。
  7. 前記制御部は、仮想記憶媒体の入替をユーザに指示させる操作画面を、グラフィカルユーザインタフェースを用いて生成するグラフィカルユーザインタフェース処理部を有し、
    前記グラフィカルユーザインタフェース処理部は、前記入替判定部により仮想記憶媒体を入れ替えるべき状態にないことが判定されると、ユーザにより仮想記憶媒体の入替を指示できないように操作画面を生成することを特徴とする請求項1から6のいずれかに記載の情報処理装置。
  8. 前記グラフィカルユーザインタフェース処理部は、前記入替判定部により次に使用する仮想記憶媒体が特定されると、その仮想記憶媒体の入替をユーザが指示しやすい操作画面を生成することを特徴とする請求項7に記載の情報処理装置。
  9. 所定のゲーム機用のゲームプログラムを、情報処理装置上で実行させるためのゲーム用エミュレータプログラムであって、
    複数枚の記憶媒体に分割されて記録されているゲームプログラムのイメージファイルを1つにまとめた実行ファイルに含まれる実行プログラムを実行する機能と、
    実行プログラムの実行状況から、イメージファイルを構成する仮想記憶媒体を入れ替えるべき状態にあるか否かを判定する機能と、
    判定結果に応じて、仮想記憶媒体の入替処理に関する制御を行う機能と、
    を実現させるためのゲーム用エミュレータプログラム。
  10. 請求項9に記載のゲーム用エミュレータプログラムを記録した記録媒体。
JP2007030972A 2007-02-09 2007-02-09 情報処理装置およびゲーム用エミュレータプログラム Active JP5116315B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007030972A JP5116315B2 (ja) 2007-02-09 2007-02-09 情報処理装置およびゲーム用エミュレータプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007030972A JP5116315B2 (ja) 2007-02-09 2007-02-09 情報処理装置およびゲーム用エミュレータプログラム

Publications (2)

Publication Number Publication Date
JP2008194162A JP2008194162A (ja) 2008-08-28
JP5116315B2 true JP5116315B2 (ja) 2013-01-09

Family

ID=39753672

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007030972A Active JP5116315B2 (ja) 2007-02-09 2007-02-09 情報処理装置およびゲーム用エミュレータプログラム

Country Status (1)

Country Link
JP (1) JP5116315B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5398692B2 (ja) 2010-12-10 2014-01-29 株式会社ソニー・コンピュータエンタテインメント 情報処理システム、情報処理方法、情報処理プログラム、情報処理プログラムを記憶したコンピュータ読み取り可能な記録媒体
JP5705523B2 (ja) * 2010-12-10 2015-04-22 株式会社ソニー・コンピュータエンタテインメント 情報処理システム、情報処理方法、情報処理プログラム、情報処理プログラムを記憶したコンピュータ読み取り可能な記録媒体
JP6580515B2 (ja) * 2016-04-28 2019-09-25 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置およびデータコピー方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10207713A (ja) * 1996-11-21 1998-08-07 Nintendo Co Ltd 情報処理システムおよびそれに用いられる真偽判別方法
JP2001046741A (ja) * 1999-08-05 2001-02-20 Victor Co Of Japan Ltd ゲーム機及びゲーム機用記憶媒体、
JP4547071B2 (ja) * 2000-03-30 2010-09-22 任天堂株式会社 ゲーム情報記憶媒体およびそれを用いたゲームシステム

Also Published As

Publication number Publication date
JP2008194162A (ja) 2008-08-28

Similar Documents

Publication Publication Date Title
US8453139B2 (en) Conditional startup process for a game apparatus and information processing apparatus
JP4671198B2 (ja) 情報処理装置
US8499254B2 (en) Surfacing and management of window-specific controls
JP5084577B2 (ja) 情報処理装置
JP5360949B2 (ja) 多言語メニューを生成する方法
JP2017037482A (ja) 情報処理装置およびダウンロード進捗状況の表示方法
JP5404276B2 (ja) ゲーム装置、ゲーム中断プログラム、ゲーム中断プログラムを記憶した記憶媒体
JP4372829B2 (ja) 映像音声再生装置
US20130293486A1 (en) Touch-based remote control
JP5250645B2 (ja) 情報処理装置
EP2502653B1 (en) Information processing device
JP5116315B2 (ja) 情報処理装置およびゲーム用エミュレータプログラム
JP6580515B2 (ja) 情報処理装置およびデータコピー方法
JP4884147B2 (ja) 情報処理装置および映像表示方法
EP2929922A2 (en) Game apparatus, speed control method and computer program
TWI281628B (en) Method for fast executing computer function option with intelligent memory
JP2020170361A (ja) 情報処理装置およびインストール方法
JP3120620B2 (ja) 家庭用ゲーム機を用いた自動デモシステム
KR20140018743A (ko) 디스크리스 어플리케이션 재생 장치 및 기록 장치, 재생 방법 및 기록 방법과 디스크리스 어플리케이션을 기록한 정보저장매체
JP2007048073A (ja) Usbストレージデバイスの内部状態設定方法、usbストレージデバイス及びそのコントローラ
JP2009301504A (ja) コンピュータ、記録媒体および情報処理方法
US20110282831A1 (en) Device including a virtual drive system
JP2003521001A (ja) デジタルオーディオ再生装置の制御下でユーザインタフェース装置の画面に情報を表示するためのシステムおよび方法
JP2019049826A (ja) 情報処理装置及びプログラム
JP2000093657A (ja) 通信媒体利用のゲ―ム装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091105

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20101125

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20110127

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120724

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120921

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20121016

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121016

R150 Certificate of patent or registration of utility model

Ref document number: 5116315

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151026

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250