JP3964142B2 - エミュレート装置及び部品、情報処理装置、エミュレーション方法、記録媒体、プログラム - Google Patents

エミュレート装置及び部品、情報処理装置、エミュレーション方法、記録媒体、プログラム Download PDF

Info

Publication number
JP3964142B2
JP3964142B2 JP2001030228A JP2001030228A JP3964142B2 JP 3964142 B2 JP3964142 B2 JP 3964142B2 JP 2001030228 A JP2001030228 A JP 2001030228A JP 2001030228 A JP2001030228 A JP 2001030228A JP 3964142 B2 JP3964142 B2 JP 3964142B2
Authority
JP
Japan
Prior art keywords
information processing
processing apparatus
software
machine
change
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.)
Expired - Lifetime
Application number
JP2001030228A
Other languages
English (en)
Other versions
JP2002132496A (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 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
Priority to JP2001030228A priority Critical patent/JP3964142B2/ja
Application filed by Sony Computer Entertainment Inc filed Critical Sony Computer Entertainment Inc
Priority to KR10-2003-7002001A priority patent/KR20030071752A/ko
Priority to EP01955582A priority patent/EP1340144A2/en
Priority to CN018154425A priority patent/CN1568459B/zh
Priority to AU2001277710A priority patent/AU2001277710A1/en
Priority to PCT/JP2001/006797 priority patent/WO2002015001A2/en
Priority to TW090119925A priority patent/TWI233035B/zh
Priority to US09/929,845 priority patent/US7222063B2/en
Publication of JP2002132496A publication Critical patent/JP2002132496A/ja
Application granted granted Critical
Publication of JP3964142B2 publication Critical patent/JP3964142B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/124Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/105Program control for peripheral devices where the programme performs an input/output emulation function

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Debugging And Monitoring (AREA)
  • Executing Machine-Instructions (AREA)
  • Stored Programmes (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、例えばエンタテインメント装置のような情報処理装置において使用されるエミュレーション技術に係り、より詳しくは、ある情報処理装置用に開発されたアプリケーションソフトウエアを、処理能力が異なる他の情報処理装置で適切に実行できるようにするための改良された手法に関する。
【0002】
【従来の技術】
処理能力が相対的に高いエンタテインメント装置(以下、「上位機」)で、処理能力が相対的に低いエンタテインメント装置(以下、「下位機」)用のアプリケーションソフトウエア(以下、「対象AP」)を実行しようとする場合、あるいは、他のエンタテインメント装置用の対象APを特定のエンタテインメント装置で実行しようとする場合に、上位機又は特定のエンタテインメント装置に於いてエミュレート装置が使用されている。
エミュレート装置の基本的な機能は、対象APの実行が本来的に予定されたエンタテインメント装置の実行環境を他のエンタテインメント装置上で形成するものであり、ソフトウエア、ハードウエア、あるいはこれらの組合せによって実現される。
【0003】
【発明が解決しようとする課題】
従来のエミュレータ装置では、対象APに含まれるコマンドの組合せによっては、エンタテインメント装置で該当処理を行うときの動作タイミングが、本来的に予定された対象AP用の動作タイミングと合致せず、不具合が生じる場合がある。このような事態を防止するためには、対象APの動作タイミングを実行環境に合致させるように補正するためのパラメータ(「変更パラメータ」)を用意しておくことが考えられる。
【0004】
しかし、どの対象APが変更パラメータを必要とするか、変更パラメータによる補正をどの程度にしたら良いかが、エンタテインメント装置の出荷後に判明する場合がある。この場合は、エンタテインメント装置を回収して、エミュレート装置の同期タイミングを変更すれば良いが、これは煩わしい作業である。
【0005】
このような事態は、エンタテインメント装置のみならず、オペレーティング・システムのような処理能力調整手段を持たない情報処理装置で使用されるエミュレート装置において共通に生じる。
【0006】
本発明の主たる課題は、このような問題を解消して、情報処理装置の処理能力を対象AP用に正しく適合させることができる、エミュレート装置、エミュレート部品、エミュレーション方法、情報処理装置、記録媒体及びプログラムを提供することにある。
【0007】
【課題を解決するための手段】
本発明が提供するエミュレート装置は、情報処理装置に組み込まれる装置であって、前記情報処理装置で実行されるソフトウエアが、当該情報処理装置が具備する処理能力の変更を要求するものかどうかを判定する判定手段と、前記ソフトウエアが処理能力の変更を要求するものであると判定された場合に、前記ソフトウエアについて事前又は事後的に供給される変更パラメータであって、書き換え不能か書き換え可能か、また、予め前記情報処理装置に用意されているか事後的に前記情報処理装置に装着されたものかによって、その読み取り順に優先度がつけられている複数種類の記録媒体のいずれかか読み取った変更パラメータにより特定される範囲内で前記情報処理装置の処理能力を変更させる調整手段と、を備えてなる。
調整手段は、より具体的には、前記ソフトウエアが処理能力の変更を要求するものであると判定され、且つその処理能力の変更が前記情報処理装置の機能的な処理能力の変更である場合は当該情報処理装置の機能構成を所定の構成に変更させ、他方、前記処理能力の変更が前記情報処理装置において実行される特定処理の全部又は一部の能力の変更を要求するものである場合は前記ソフトウエアについて事前又は事後的に供給される変更パラメータであって、書き換え不能か書き換え可能か、また、予め前記情報処理装置に用意されているか事後的に前記情報処理装置に装着されたものかによって、その読み取り順に優先度がつけられている複数種類の記録媒体のいずれかか読み取った変更パラメータにより特定される範囲内で当該特定処理の能力を変更させるように構成する。
【0008】
本発明が適用される情報処理装置において、前記判定手段は、例えば前記ソフトウエアを記録したメディアを識別することで前記判定を行うように構成される。あるいは、処理能力の変更を要するソフトウエアであると判定された場合に、当該ソフトウエアに含まれるバイナリ情報を前記情報処理装置で実行可能なバイナリ情報に自動変換することにより構成される。調整手段は、予め用意された内部記録媒体に記録されている第1変更パラメータ、前記情報処理装置に事後的に装着される書換不能な記録媒体に記録されている第2変更パラメータ、前記情報処理装置に事後的に装着される書換可能な記録媒体に記録されている第3変更パラメータのいずれかを選択的に読み取り、読み取ったパラメータにより特定される範囲で前記処理能力の変更を行うように構成される。各変更パラメータは、ソフトウエアにより実現される複数の処理のうち情報処理装置の機能に依存した処理項目毎に定められている。前記判定手段は、具体的には、前記内部記録媒体、書換不能な記録媒体又は書換可能な記録媒体のいずれかから変更パラメータが定められている処理項目があるかどうかを探索し、処理項目がある場合に前記処理能力の変更を要求するソフトウエアであると判定するように構成される。この場合、前記調整手段は、当該処理項目により特定される処理の単位時間あたりの速度を前記変更パラメータによって定まる速度に調整するように構成される。
【0009】
本発明は、また、エミュレーション機能を搭載した情報処理装置及び情報処理装置において読みとられるソフトウエアのエミュレーション方法を提供する。
本発明の情報処理装置は、実行されるソフトウエアが自装置の処理能力の変更を要求するものかどうかを判定する判定手段と、前記ソフトウエアが処理能力の変更を要求するものであると判定された場合に、前記ソフトウエアについて事前又は事後的に供給される変更パラメータであって、書き換え不能か書き換え可能か、また、予め前記情報処理装置に用意されているか事後的に前記情報処理装置に装着されたものかによって、その読み取り順に優先度がつけられている複数種類の記録媒体のいずれかか読み取った変更パラメータにより特定される範囲内で前記情報処理装置の処理能力を変更させる調整手段とを組み込んでるものである。
また、本発明のエミュレーション方法は、情報処理装置において実行される方法であって、前記情報処理装置に読みとられるソフトウエアが、当該情報処理装置が具備する処理能力の変更を要求するものかどうかを判定する過程と、前記ソフトウエアが前記処理能力の変更を要求するものであると判定された場合に、当該ソフトウエアについて事前又は事後的に供給される変更パラメータであって、書き換え不能か書き換え可能か、また、予め前記情報処理装置に用意されているか事後的に前記情報処理装置に装着されたものかによって、その読み取り順に優先度がつけられている複数種類の記録媒体のいずれかか読み取った変更パラメータにより特定される範囲内で前記情報処理装置の処理能力を変更させる過程とを含む方法である。
【0010】
本発明は、さらに情報処理装置に、下記の処理を実行させるためのプログラムが記録されている、前記情報処理装置が読み取り可能な記録媒体、及びこのようなプログラムを提供する。
(1)前記情報処理装置で実行されるソフトウエアが、当該情報処理装置が具備する処理能力の変更を要求するものかどうかを判定する処理、
(2)前記ソフトウエアが前記処理能力の変更を要求するものであると判定された場合に、当該ソフトウエアについて事前又は事後的に供給される変更パラメータであって、書き換え不能か書き換え可能か、また、予め前記情報処理装置に用意されているか事後的に前記情報処理装置に装着されたものかによって、その読み取り順に優先度がつけられている複数種類の記録媒体のいずれかか読み取った変更パラメータにより特定される範囲内で前記情報処理装置の処理能力を変更させる処理。
また、実行されるソフトウエアに応じて自装置の処理能力の変更を可能にする手段を備えた情報処理装置に離脱自在に装着され、前記情報処理装置に所定の変更パラメータにより特定される範囲内で当該情報処理装置の処理能力を変更させる処理を実行させるための記録媒体であって、前記情報処理装置の起動後前記ソフトウエアの実行前に読み取られる第1領域に前記ソフトウエアの種別を前記情報処理装置に認識させるための種別コードが記録されており、第1領域の次に前記情報処理装置に読み取られる第2領域に前記種別コードに基づき前記ソフトウエアが前記処理能力の変更を要求するものであると前記情報処理装置により判定され、且つ、前記情報処理装置において、書き換え不能か書き換え可能か、また、予め前記情報処理装置に用意されているか事後的に前記情報処理装置に装着されたものかによってその読み取り順に優先度がつけられている複数種類の記録媒体うち、読み取るべき記録媒体であると判定された場合に読みとられる当該処理能力の変更部分及び変更量を特定するための前記変更パラメータが記録されている、前記情報処理装置が読み取り可能な記録媒体を提供する。
【0011】
【発明の実施の形態】
以下、図面を用いて、本発明の実施の形態について詳細に説明する。
=第1実施形態=
第1実施形態では、処理能力調整手段を持たない情報処理装置の一例となるエンタテインメント装置に組み込まれるエミュレート装置の実施の形態を説明する。ここでは、処理能力が各種画像の描画速度であるものとし、変更パラメータは、特定の画像処理の際の描画速度を調整するものであることを前提として説明する。但し、描画速度は、エンタテインメント装置が具備する処理能力の例示である。
【0012】
<上位機>
図1は、本発明のエミュレート装置が組み込まれるエンタテインメント装置の要部構成図である。
このエンタテインメント装置は、MPU(micro processor unit)100とGP(graphical processor)110とが専用バス101で接続され、MPU100とIOP(I/O processor)120とがバス(SBUS)102で接続され、さらに、メディアからソフトウエア等を読みとるメディアデコーダ130、音処理手段であるSPU(sound processor unit)140及びROM(read only memory)150が、バス(SSBUS)103を通じてIOP120に接続されている。MPU100はメインメモリ160を備え、IOP120はIOPメモリ170を備えている。IOP120には、さらに、コントローラ180とメモリカード190とが接続されている。
【0013】
MPU100の基本的な機能は、ROM150に格納された各種プログラムや、CDやDVD等のメディア200からメインメモリ160にロードされた対象APを実行することによって、所定の処理を行うことである。GP110は、このエンタテインメント装置の描画処理機能を受け持つグラフィックスプロセッサである。具体的には、MPU100からの指示に従って対象APについての描画処理を行う。
【0014】
IOP120は、MPU100と周辺装置(メディアデコーダ130やSPU140等)との間のデータのやり取りを制御する入出力用サブ・プロセッサ(MPU100に対して従となるプロセッサ)である。メディアデコーダ130は、メディア200からデータを読み出し、そのメインメモリ160への転送を行う。SPU140は、サウンド再生処理プロセッサであり、サウンドバッファ(不図示)に格納された圧縮波形データを、MPU100等からの発音命令に基づき所定のサンプリング周波数で再生する。
【0015】
ROM150は、本発明のエミュレート部品の一例となるもので、起動時等にMPU100やIOP120が実行するプログラムが格納されている読み出し専用のメモリである。ROM150には、MPU100とIOP120とが共用するプログラム並びに各プロセッサ専用のプログラムが分離して格納される。MPU100専用のプログラムとしては、後述するエミュレータ用のプログラムがある。メインメモリ160、IOPメモリ170は、それぞれMPU100、IOP120の作業用メモリとして機能する。
コントローラ180は、ゲーム等の実行中に、プレイヤーの意図をアプリケーション等に伝達するインタフェースである。
【0016】
メモリカード190は、書換可能な可搬性の不揮発性二次記録媒体であり、MPU100で実行された処理の処理結果や設定情報などが格納される。また、後述する本発明のエミュレータによる画像処理速度を微調整するための変更パラメータが格納されるようになっている。
【0017】
本実施形態では、メディア200は、書換不能な可搬性記録媒体であることを想定している。このメディア200には、プログラムやプログラムを実行する際に必要となるデータ類が格納される。これらのデータの中には、メディア200が上位機用のデータが格納されているか下位機用のデータが格納されているかを判別するためのコードも含まれる。下位機用のデータには、エミュレータによる描画速度を微調整するための変更パラメータが含まれる。
【0018】
<下位機>
図1のエンタテインメント装置に対して下位機となるエンタテインメント装置の概要を説明する。
このエンタテインメント装置は、図2に示されるように、メインメモリ270を備えたCPU(central processor unit)220にGPU(graphic processor unit)210及びコントローラ280が接続され、さらに、バス290を介してCDデコーダ230、SPU240、ROM250がCPU220に接続されている。CPU220の基本的な機能は、ROM250に格納されたプログラムや、CD300からメインメモリ270にロードされたプログラムを実行することによって、所定の処理を行うことである。CPU220の動作周波数は、上位機のMPU100の動作周波数より低い周波数となっている。
GPU210は、CPU220からの指示に従って描画処理を行うグラフィックスプロセッサである。GPU210は、画像表示のためのCRTC機能やフレームバッファ(不図示)に対するポリゴンの描画機能を備える。CDデコーダ230は、CD300からその記録情報を読み出し、そのメインメモリ270への転送を行う。ROM250には、起動時等にCPU220によって実行されるプログラムが格納されている。
【0019】
<エミュレート装置>
エミュレート装置は、下位機との間で描画その他の処理の互換性を確保するために、機能的な処理能力を変更できるようにする第1機能、及びソフトウエアに応じて特定処理の速度を変更できるようにする第2機能を上位機に形成する。これらの各機能は、ソフトウエア的に形成しても良いが、ここでは、それらの機能を、上位機が備えるハードウエアと別途用意したソフトウエアとを組み合わせて実現する場合の例を挙げる。
(第1機能)
第1機能は、MPU100又はIOP120が所定のプログラムを読み込んで実行することにより、2つの動作モード、すなわち、「通常モード」と「エミュレーションモード」とを選択的に切り替え、これによりエンタテインメント装置の機能構成を所定の構成に変更させる機能である。
専用のファームウエアを設けてこの第1の機能を他の機能と分担するようにしても良い。この第1機能によって、上位機は、通常は通常モードで動作し、下位機用の対象APを実行するときに、エミュレーションモードに移行するようになる。下位機用の対象APかどうかの判別手法については、後述する。
本実施形態では、エミュレーションモードでは、上位機のIOP120を下位機のCPU220として機能させ、MPU100及びGP110を下位機のGPU210として機能させる。これは、例えばIOP120が、CPU220と同一のプロセッサ・コアを備えるようにすることで実現できる。IOP120は、下位機のCPU220での実行用に用意された対象APをそのまま実行でき、下位機の場合と同様の処理動作を行う。
IOP120のプロセッサ・コアは、下位機のCPU220用に用意された対象APをそのまま実行し、同様の動作を行うもの(例えば、バイナリ・コンパティブルなプロセッサ・コア)であれば良いが、本実施形態では、下位機のエンタテインメント装置との互換性をより高くするため、同一のプロセッサ・コアを用いている。
【0020】
IOP120のクロックの周波数は、通常モードでは37.5MHz、エミュレーションモードでは、下位機のCPU220の動作周波数に対応した周波数、例えば33MHz、あるいは対象APを実行するのに最も適したクロックの周波数に切り替わるようにする。これにより、対象AP側が下位機のハードウエアに対して、1クロックのレベルで動作を最適化している場合であっても、確実に動作させることができる。
【0021】
MPU100及びIOP120は、そのインタフェースを動作モードに応じて切り替える。エミュレーションモードでは、IOP120は、MPU100に対して、CPU220と同じインタフェースを提供し、MPU100も、IOP120に対して、GPU210と同じインタフェースを提供する。
【0022】
SPU140も、エミュレーションモードと通常モードとでその動作が切り替わるようにする。すなわち、エミュレーションモードでは、下位機のSPU240とまったく同じものとして動作する。一方、通常モードでは、SPU240よりも高性能なサウンド処理を行う手段として動作する。SPU140のクロックの周波数は、エミュレーションモードでは、CD−ROMのサンプリング周波数に対応して44.1KHzとなり、通常モードでは、DVDのサンプリング周波数に対応して、48KHzとなる。
【0023】
次に、第1機能の内容をより詳しく説明する。
(動作モード判定)
エミュレート装置は、上位機の電源投入等を契機に、メディアデコーダ130を通じてドライブ中のメディア200が上位機用のものか、下位機用のものかを判別する。この判別は、エンタテインメント装置に最初に読み込まれるメディア200の第1領域に上位機用か或いは下位機用かを示す種別コードを記録しておき、これを読み込むとともに、メディアデコーダ130内のメディア種別レジスタ(図示せず)を参照することにより可能となる。判別の結果、上位機用のメディア200であった場合は、上位機を通常モードで立ち上げる。ドライブに何も入っていない場合も同様となる。一方、ドライブ中のメディア200が下位機用のものであった場合は、エミュレーションモードで立ち上げる。
【0024】
(動作モード切替)
エミュレート装置は、2系統のリセット信号を生成し、これらのリセット信号に基づいて、上記の通常モードとエミュレーションモードを切り替える。
リセット信号の生成機構の一例を図3に示す。
図3に示されるように、エミュレート装置は、電源コントロール/リセットIC310から出力される信号をRESET・IN信号として用いる。このRESET・IN信号は、リセット制御回路330及びOR回路340、350に入力される。リセット制御回路330からは、2種類の信号(CTL1、CTL2)が出力される。これらの信号は、OR回路340、350の他方の入力信号となる。OR回路340から出力されるのがRESET1信号、OR回路350から出力されるのがRESET2信号である。RESET1信号は、上位機のMPU100及びGP110に入力される。MPU100からは、SRESET信号が出力される。
一方、RESET2信号は、IOP120及びSPU140等のSSBUS103上の各種装置に入力される。IOP120及びSPU140等には、MPU100からのSRESET信号も入力される。
【0025】
以上の構成において、上位機の電源投入、あるいは上位機が備えるリセットスイッチ320の押下検知を契機に、電源コントロール/リセットIC310が、RESET・IN信号をアサートする。電源コントロール/リセットIC310は、すべての電源が立ち上がって、所定時間が経過すると、RESET・IN信号をネゲートする。リセット制御回路330は、RESET・IN信号がアサートされると、OR回路340、350に対する信号(CTL1、CTL2)をアサートする。そして、所定時間経過後、まず、OR回路350に対する信号(CTL2)をネゲートする。これによりIOP120、SPU140に供給されているRESET信号(RESET2)がネゲートされる。その後、OR回路340に対する信号(CTL1)をネゲートする。これにより、MPU100、GP110に供給されているRESET信号(RESET1)がネゲートされる。このようにRESET信号の解除のタイミングをMPU100等とIOP120等とでずらしているのは、IOP120がある程度確実に動作を開始してから、MPU100、GP110が動作を開始するようにするためである。
【0026】
RESET信号(RESET1信号、RESET2信号)でリセットされた、MPU100、IOP120、SPU140等は、通常モードでの動作を開始する。そして、必要な初期化処理終了後に、エミュレーションモードに移行する場合は、MPU100が、SRESET信号をアサートする。このSRESET信号によりリセットされたIOP120及びSPU140等は、それぞれエミュレーションモードでの動作を開始する。
【0027】
(インタフェース切替)
前述のように、動作モードの切替に際しては、MPU100とIOP120との間のインタフェースの切り替えも行われる。以下、図4を参照して、このインタフェース切替の概要を説明する。
【0028】
前提として、MPU100内あるいはその周辺にIOPインタフェース部(IOP I/F)500を設け、IOP120あるいはその周辺にMPUインタフェース部(MPU I/F)510を設けておく。IOPインタフェース部500内には2系統の内部インタフェース部(SIF部520、PGPU I/F530)が並列接続されている。MPUインタフェース部510にも2系統の内部インタフェース部(SIF部540、GPU I/F550)が並列接続されている。
【0029】
SIF部520は、MPU100において、通常モード時のバス102のSBUSインタフェースを提供する。PGPUインタフェース部530は、MPU100において、エミュレーションモード時に、擬似的に下位機のGPU210と同じインタフェースを提供する。SIF部520及びPGPUインタフェース部530は、それぞれ、転送データを格納するFIFOバッファ及び転送制御等に使われるレジスタ群を備える。
SIF部540は、IOP120において、通常モード時のバス102のSBUSインタフェースを提供する。GPUインタフェース部550は、IOP120において、エミュレーションモード時に、下位機のCPU220と同様のGPUインタフェースを提供する。
【0030】
IOPインタフェース部500は、MPU100の内部バスのバスクロック(150MHz)に同期して動作する。一方、MPUインタフェース部510は、IOP120の動作周波数に同期して動作する。すなわち、通常モードでは、37.5(=150/4)MHzのクロックに同期して動作し、エミュレーションモードでは、後述するエミュレータ420から供給されるクロックの1/2の周波数のクロックに同期して動作する。
このため、通常モードにおけるMPU100、IOP120間の通信は、同期通信になり、エミュレーションモードにおけるMPU100、IOP120間の通信は、非同期通信になる。PGPUインタフェース部530は、エミュレーションモードにおける非同期通信を吸収するためのロジックを含んでおり、IOP120から供給されるクロック(PGCLK:33MHz)が入力される。
【0031】
以上のような構成の下、通常モード時は、MPU100においては、IOP120に対するインタフェースとしてSIF部520が使われ、IOP120においては、MPU100に対するインタフェースとしてSIF部540が使われる。エミュレーションモード時は、MPU100においては、PGPUインタフェース部530が使われ、IOP120においては、GPUインタフェース部550が使われる。
【0032】
MPU100におけるSIF部520とPGPUインタフェース部530との切り替えは、ソフトウエア的に行われる。すなわち、リセット時は、SIF部520が選択され、その後、MPU100のプロセッサ・コアが実行するソフトウエアによって、MPU100内の特定の制御レジスタヘの書き込みが行われると、PGPUインタフェース部530に切り替えられる。
IOP120におけるSIF部540とGPUインタフェース部550との切り替えは、リセット時にハードウエア的に行われる。すなわち、IOP120が、RESET信号(RESET2)でリセットされると、SIF部540が選択され、SRESET信号でリセットされると、GPUインタフェース部550が選択される。
【0033】
(処理能力調整)
上述のように、エミュレーションモードに移行する際には画像処理速度が変更される。この画像処理速度の変更の仕組みを図5及び図6を参照して説明する。なお、ここでは、MPU100が、入力クロックを複数用意されているものの中からいずれかの周波数に変換してIOP120に出力するPLL回路410の機能を有しているものとする。
【0034】
MPU100は、上位機が具備するクロック発生器400をPLL410で周波数変換し、内部の各プロセッサ・コアの基準クロック、内部バスのバスクロック、GP110へのデータ転送の基準クロック、通常モード時の動作基準クロック、エミュレーションモード時の動作基準クロックを生成し、これを選択的にIOP120に供給する。
【0035】
IOP120は、エミュレーションモード時には、MPU100から供給される所定周波数のクロックで下位機のCPU220として画像処理を行うが、特定の画像処理については、その画像処理速度が、後述するエミュレータ420によって微調整される。
【0036】
(第2機能)
次に、上位機における第2機能の具体例(微調整機能)を説明する。この機能は、図5に示したエミュレータ420によって実現される。
エミュレータ420は、MPU100又は別途設けたCPUがエミュレータ用プログラムを読み込むことにより実現される以下のような機能ブロック、すなわち、カウンタ部421、判定部422、処理能力調整部423を備えるものである。エミュレータ用プログラムは、例えばROM150に記録されている。
【0037】
カウンタ部421は、クロック発生器400で発生するクロックを一定時間毎にカウントする。判定部422は対象APが、上位機により実行されるべき特定処理の全部又は一部の能力の変更を要求するものかどうかを判定するものであり、処理能力調整部423は、ROM150、メディア200、メモリカード190のいずれかから選択的に読み取った変更パラメータにより特定される範囲で当該特定処理の能力を変更させるものである。
本実施形態による変更パラメータは、例えば図6(A)に示されるようなものである。
すなわち、調整対象タイトル(対象AP)毎に定めた特定の画像処理速度の調整量、例えばポリゴン描画スピード、スプライト描画スピード・・・の調整量である。図中、「0」は調整を要しないことを意味する。「1」、「2」は調整量である。処理能力調整部423は、この調整量に基づいて該当処理の速度の微調整を行う。微調整は、本来、クロック発生器400に基づく速度で行うべき描画の結果の出力タイミングを、調整量で定まるクロック分だけ遅延させることにより実現する。この遅延処理は、例えば、図6(B)に示すように、描画の結果の出力処理の過程でカウント値Cに調整量Xをセットし、カウンタ部421によるカウントのたびにカウント値Cを1ずつ減らし、そして、カウント値Cが0に達した時点で描画の結果を出力させることをその内容とする。
【0038】
変更パラメータの読み取り順序は、メモリカード190があれば、それを最優先とする。メモリカード190が、対象APの変更パラメータを保持していない、或いはメモリカード190が装着されていない場合は、メディア200からの読み取りを試みる。メディア200が対象APの変更パラメータを保持していない場合は、ROM150からの読み取りを試みる。このように読取順序を定めているのは、以下の理由による。
メモリカード190は、書き換え自在の記録媒体なので、もしも変更パラメータが古い情報であれば、それに他の情報が上書きされているはずであり、変更パラメータが記録されているということは、それが事後的に配給された最新のものであるという推定がある。よって、このメモリカード190を最先に探索する。メディア200は、可搬性のものであること、事後的に安価に変更パラメータを記録して配給できるものであること、通常は対象APが主たる情報として記録されており、変更パラメータが必要な対象APであれば、通常は、それが記録されていること、事後的に変更パラメータを配給する形態としては最も一般的であるという推定がある。メディア200が書き換え自在のものであれば、書き換え不能なものに優先させることは、メモリカード190の場合と同様である。
ROM150は、書き換え不能な記録媒体であり、変更パラメータが記録されているのであれば、それは出荷時に記録されたものであるという推定がある。
よって、以上の順序で変更パラメータを読み取るようにすれば、最新の変更パラメータを読み取る可能性が高くなる。
【0039】
このように、エミュレータ420を備え、ROM150、メディア200、メモリカード190のいずれかから変更パラメータを選択的に読み取って特定処理の能力を任意に調整できるようにしたので、エンタテインメント装置の出荷後に処理能力を変更する必要がある対象AP名、変更の程度(調整範囲)が判明した場合であっても、煩わしい作業を経ずに、それを行うことができるようになる。なお、以上は、一つの対象APについて一つの変更パラメータを用いる場合の例であるが、同一の対象APに対して、ROM150、メディア200、メモリカード190のそれぞれに異なる変更パラメータを記録しておき、これらを任意に選択できるような構成も可能である。このようにすれば、変更可能な処理の種類や変更範囲の幅が広がる。
【0040】
<運用形態>
次に、エミュレート装置を組み込んだ上位機の動作を説明する。
図7は、ブートシーケンスの処理の流れを示す図である。
【0041】
電源投入或いはリセットスイッチが押されることにより、RESET信号(RESET1、RESET2)が発生する。MPU100及びIOP120は、まず、同一のブート・ベクトル・アドレスからプログラムの実行を開始する(S601)。上述のとおり本実施形態では、MPU100とIOP120とが同じアーキテクチャのプロセッサなので、ブート・ベクトル・アドレスも同一になっている。このとき、IOP120は、ROM150に直接アクセスしに行くが、MPU100は、IOP120を介して、ROM150にアクセスしに行くことになる。
IOP120は、自分の初期化処理を先にするため、必要な初期化処理を終えるまで、MPU100にバスの使用権を与えず、MPU100を待ち状態にさせておく(S602)。
【0042】
リセット時にMPU100及びIOP120によってアクセスされるROM150の領域には、プロセッサIDを獲得し、自分がMPU100かIOP120かを判断し、その結果に応じて、各プロセッサ用のコードにジャンプするというコードが格納されている。IOP120及びMPU100は、当該コードを実行することにより、それぞれ自分用のコードヘジャンプする。
【0043】
IOP120は、自分用のコードヘジャンプすると、まず、今回のリセットがRESET信号によるリセットか、SRESET信号によるリセットかを判別する。IOP120は、特定の制御レジスタのビットを参照することにより、RESET信号によるリセットか、SRESET信号によるリセットかを判別できる。
この場合、RESET信号によるリセットであるので、上位機のエンタテインメント装置としての起動を行うため、ハードウエアを上位機のエンタテインメント装置用に初期化する。そして、周辺装置(コントローラ、メディアドライブ等)のドライバのセットアップを行う。
【0044】
必要な初期化処理を終了すると、IOP120は、待ち状態にあったMPU100の動作を開始させ(この状態を「MPUオン」とする)、MPU100からのリクエスト待ち状態になる(S603)。MPUオンは、IOP120が特定の制御レジスタのビットを書き替えることで行われる。
【0045】
MPU100は、初期化処理を終了したIOP120によって、ROM150へのアクセスが許可されると(MPUオンになると)、ROM150の読み出し処理を行い、読み出したプログラムの実行を開始する(S604、S605)。当該プログラムにおいて、MPU100は、IOP120と同様に、自己のプロセッサIDを獲得し、自分用(MPU100用)のコードヘジャンプし、下位機と自己とで共通のオープニング画面の表示を行う。
【0046】
次に、ドライブに装着されているメディア200の種別判定を行う(S606)。メディアデコーダ130は、RESET信号(RESET2)によりリセットされると、ドライブに挿入されているメディア200を識別し、その結果(上位機用メディアである/下位機用メディアである/メディアなし等)を、メディアデコーダ130内のメディア種別レジスタに反映して、コマンド待ち状態になる。
【0047】
メディア種別の判定の結果、上位機用のメディア200が装着されているか、または、メディアなしの場合は、そのまま、上位機として立ち上がり、上位機用のロゴ表示等を行う(S607)。その後、MPU100は、メディア200から上位機用の対象APをメインメモリ160にロードして、実行を開始する。対象APの実行中、描画処理を行う場合は、GP110に対して描画を指示し、音声を出力する場合は、IOP120を介して、SPU140に対して音声出力を指示する。
【0048】
メディア種別の判定の結果、ドライブに下位機用のメディア200が装着されていた場合は、エミュレーションモードに切り替えて、下位機として立ち上げる(S608,S609)。このとき、MPU100は、エミュレータプログラムをROM150からメインメモリ160ヘロードして実行し、エミュレータ420を形成する。
【0049】
エミュレータ420は、メモリカード190にアクセスしてその対象AP用の変更パラメータが存在するかどうかを調べる。メモリカード190に変更パラメータが存在しない、或いはメモリカード190が装着されていない場合は、メディア200にアクセスして、その対象AP用の変更パラメータが存在するかどうかを調べる。メディア200に変更パラメータが記録されていない場合は、ROM150にアクセスする。変更パラメータを見つけた場合は、それを読み取って、前述のように処理速度の微調整を行う。いずれにも変更パラメータが存在しない場合は、微調整を行う必要がないと判定し、次のステップに進む。
【0050】
その後、インタフェース切替及びクロック切替を行う。この結果、IOP120が、下位機のCPU220と同様の動作を開始し、下位機用のロゴ表示等を行い、互換カーネルをブートする。以後、IOP120は、下位機用の対象APを実行する。対象APの実行中、グラフィックスの描画を行う場合、IOP120は、MPU100に対してGPUコマンドを送信することによって描画を指示し、また、音声を出力する場合は、エミュレーションモードのSPU140に対して音声出力を指示する。
【0051】
エミュレーションモードでは、MPU100が、下位機のGPU210として機能する。そのため、描画処理用のデータないしコマンドのフォーマット変換を行う必要がある。
つまり、MPU100は、IOP120から送信されてくるGPU用のデータ等を、GP110で実行可能なようにするため、GP用のデータ等に変換する。
この場合のMPU100における処理手順を示したのが図8である。
PGPUインタフェース部530内のFIFOに、GPUフォーマットの描画パケットが書き込まれると、MPU100に対する割り込みが発生する。この割り込みを受けると、MPU100は、GPUフォーマットの描画パケットをPGPUインタフェース部530のFIFOから取り出す(S701)。そして、このGPUフォーマットの描画パケットをGPフォーマットの描画パケットヘ変換し、メインメモリ160に書き出す(S702)。その後、変換されたGPフォーマットの描画パケットを、GP110へ転送する(S703)。
【0052】
描画コマンドのフォーマット変換の具体例を説明する。
ここでは、3角形のポリゴン描画コマンドのフォーマット変換の例を説明する。GP110は、Zバッファ方式を採用し、GPU210は、Zバッファ方式を採用していないものとする。
図9(a)は、この場合のGPUコマンドのフォーマット、同図(b)は、GPコマンドのフォーマットである。GPUコマンドは、1ワード、32ビットであり、GPコマンドは、1ワード、64ビットである。同図(a)、(b)において、「Code」は、描画種類を識別するためのコード、B,G,Rは、色情報である。X,Yは、座標情報であり、Zは奥行き情報である。GP110は、Zバッファ方式を採用しているため、描き順によらずに優先順位をコントロール可能である。一方、GPU210は、Zバッファ方式を採用していないので、GPUコマンドには、奥行き情報は含まれない。そのため、GPフォーマットに変換する際、Zには同一の所定値を入れる。
【0053】
MPU100は、IOP120から図9(a)に示すようなGPUパケットを受け取ると、先頭の1ワードを解釈することでコマンドの種類を決定し、続くデータの内容を解釈する。そして、この解釈されたデータを並び替え、RGB,XYの精度を変換して、図9(b)に示すGPコマンドパケットを生成して、GP110へ転送する。
【0054】
このように、本実施形態のエミュレート装置は、対象APが、上位機が具備する処理能力の変更を要求するものかどうかを判定し、変更部分が機能的な処理能力の変更を要求するものである場合は上位機の機能構成を変更させ、実行される特定処理の能力の変更を要求するものである場合は変更パラメータにより特定される範囲で当該特定処理の能力を変更させるようにしたので、下位機用の対象APの微妙な処理要素の違いを、事前又は事後的に上位機で確実に吸収し、その対象APを適切に実行できるようになる。
【0055】
特に、エミュレータ420で、特定処理の際の処理速度を事後的に任意に調整できるようにし、しかも、そのための変更パラメータをメモリカード190、メディア200、ROM150に記録して配給できるようにしたので、対象AP用の最適な処理速度を容易に実現できるようになる。
【0056】
なお、本実施形態では、エミュレート装置をハードウエアとソフトウエアの組合せによって実現した場合の例を示したが、これらをすべてソフトウエアによって実現する場合は、少なくとも上述のインタフェース切替、処理速度調整及びフォーマット変換のための機能を実現するためのプログラムをエンタテインメント装置の出荷時に所定のメモリ領域に記録しておき、運用時にこれをMPU100等が読み込んで実行するようにする。
プログラムを事後的に配給可能なROMその他の記録媒体に記録し、運用時にこれをMPU100等が読み込んで実行するようにしても良い。
【0057】
エミュレータ420を形成するためのエミュレータ用プログラムについても、エンタテインメント装置に事後的に交換可能な記録媒体に記録するようにしても良い。
【0058】
本実施形態では、エンタテインメント装置に適用した場合について説明したが、オペレーティング・システムのような画像処理速度の調整手段を持たない他の情報処理装置についても同様に適用できることは、いうまでもないところである。
なお、オペレーティング・システムが搭載されている情報処理装置にプログラムを読み込ませて実行させて本発明を実施しようとする場合は、少なくともそのプログラムに画像処理速度の調整手段を抑止する機能を組み込むことによって、対応が可能である。
【0059】
=第2実施形態=
次に、本発明の第2実施形態について説明する。
ここでは、本発明のエミュレート装置を、事後的に取得可能なソフトウエアによって実現する場合の一例を示す。
エミュレート装置を実現する上で重要なのは、他の情報処理装置用の対象APに含まれるバイナリ情報(上記のポリゴン描画コマンド等)を、その対象APを実行する側で解釈して対応処理を行えるようにすることである。
通常、三次元画像の実時間処理では多量且つ多段階の演算処理を必要とするため、ハードウエアでその一部の機能、特に画像処理エンジンを実現している。しかし、対象APによっては、それを実行する側の画像処理エンジンの一部の機能を利用できるものもある。また、ある装置用の対象APであることが判明している場合は、その装置用の画像処理環境を、実行する側の装置で予め構築しておけば、それ以降は、当該装置で対象AP及び同種のAPを実行することができる。
【0060】
この実施形態では、他装置用の対象APの画像処理環境(画像処理エンジンとの併用を含む)を実現するためのプログラムを、CPU及び画像処理エンジンを備えた情報処理装置で読み込んで実行することにより、メディア識別機能、画像処理環境形成機能を形成する。
メディア識別機能は、対象APがどの装置用のものかを識別し、識別結果により対象APが画像処理エンジンの処理能力の変更を要するか否かを判定する。
画像処理環境形成機能は、メディア識別機能により画像処理エンジンの処理能力の変更を要すると判定した場合に、対象APの画像処理環境を実現するものである。
【0061】
前述のように、対象APを記録するメディアには、その対象APがどの装置用のものかを識別できるようにするための種別コード、あるいは対象APの内容を識別するためのタイトル情報が記録されている。
そこで、この実施形態では、情報処理装置のCPUが、そのドライブに対象APを入れてブートした後に種別コード又はタイトル情報を読み出し、メディア識別機能により現状の画像処理エンジンの処理能力の変更を要するか否かを判定する。変更を要すると判定した場合、画像処理環境形成機能により、対象APに含まれるバイナリ情報を実行側の情報処理装置のバイナリ情報に自動変換することにより処理能力を変更するように構成されている。
【0062】
第2実施形態のエミュレート装置は、対象APがどの装置用のものかを識別して、それを実行する側の情報処理装置の処理能力を最適な値に変更するようにしたので、他装置用のAPを適切に実行できるようになる。さらに処理能力の微調整が必要な場合は、第1実施形態と同様な手順で微調整を行うことになる。
逆に、情報処理装置は、対象APが他装置のものである場合に、エミュレート装置による処理能力の変更を中止して動作しないようにすることも可能である。
【0063】
【発明の効果】
以上の説明から明らかなように、本発明によれば、情報処理装置の処理能力を対象AP用に正しく適合させることができるようになるという、優れた効果が得られる。
【図面の簡単な説明】
【図1】上位機のエンタテインメント装置の構成を示すブロック図である。
【図2】下位機のエンタテインメント装置の構成を示すブロック図である。
【図3】リセット信号の接続形態を示す図である。
【図4】MPU100とIOP120との間のインタフェースの構成を示す図である。
【図5】クロック信号の接続形態を示す図である。
【図6】(A)は変更パラメータの内容例を示した図表、(B)は描画結果の出力タイミングを遅延させる場合の要領を示した手順図である。
【図7】上位機によるブートシーケンスの処理の流れを示す図である。
【図8】エミュレータによるフォーマット変換処理の流れを示す図である。
【図9】ポリゴン描画コマンドのフォーマットを示す図であり、図9(a)はGPUコマンドのフォーマットを示し、図9(b)はGPコマンドのフォーマットを示す。
【符号の説明】
100 MPU
110 GP
120 IOP
130 メディアデコーダ
140 SPU
150 ROM
160 メインメモリ
170 IOPメモリ
180 コントローラ
190 メモリカード
200 メディア
420 エミュレータ
421 カウンタ部
422 判定部
423 処理能力調整部

Claims (11)

  1. 情報処理装置に組み込まれる装置であって、
    前記情報処理装置で実行されるソフトウエアが、当該情報処理装置が具備する上位機としての処理能力を下位機としての処理能力に変更することを要求するものかどうかを、前記ソフトウエアに含まれる、当該ソフトウエアが上位機用のものか又は下位機用のものかを識別するためのデータから判定する判定手段と、
    前記ソフトウエアが下位機用のものであると判定された場合に、前記ソフトウエアについて事前又は事後的に供給される、前記情報処理装置の前記下位機としての処理能力を変更するための変更パラメータであって、書き換え不能か書き換え可能か、また、予め前記情報処理装置に用意されているか事後的に前記情報処理装置に装着されたものかによって、その読み取り順に優先度がつけられている複数種類の記録媒体のいずれかから読み取った変更パラメータにより特定される範囲内で前記情報処理装置の前記下位機としての処理能力を変更させる調整手段と、
    を備えてなる、エミュレート装置。
  2. 情報処理装置に組み込まれる装置であって、
    前記情報処理装置で実行されるソフトウエアが、当該情報処理装置が具備する上位機としての処理能力を下位機としての処理能力に変更することを要求するものかどうかを、前記ソフトウエアに含まれる、当該ソフトウエアが上位機用のものか又は下位機用のものかを識別するためのデータから判定する判定手段と、
    前記ソフトウエアが下位機用のものであると判定されたときは、当該情報処理装置の機能構成を前記下位機用の構成に変更させ、更に前記下位機種用の構成に変更された情報処理装置において実行される特定処理の処理能力の調整を、前記ソフトウエアについて事前又は事後的に供給される変更パラメータであって、書き換え不能か書き換え可能か、また、予め前記情報処理装置に用意されているか事後的に前記情報処理装置に装着されたものかによって、その読み取り順に優先度がつけられている複数種類の記録媒体のいずれかから読み取った変更パラメータにより特定される範囲内で当該特定処理の前記下位機種としての処理能力を前記読み取られた変更パラメータに対応する処理能力に変更させることで行う調整手段と、
    を備えてなる、エミュレート装置。
  3. 前記判定手段が、前記ソフトウエアを記録したメディアに記録された、前記ソフトウエアが上位機用のものか又は下位機用のものかを識別するためのデータから識別することで前記判定を行うように構成されている、
    請求項1又は2記載のエミュレート装置。
  4. 前記調整手段が、予め用意された内部記録媒体に記録されている第1変更パラメータ、前記情報処理装置に事後的に装着される書換不能な記録媒体に記録されている第2変更パラメータ、前記情報処理装置に事後的に装着される書換可能な記録媒体に記録されている第3変更パラメータのいずれかを選択的に読み取り、読み取ったパラメータにより特定される範囲で前記下位機種としての処理能力の変更を行うように構成されている、
    請求項1ないしのいずれかの項記載のエミュレート装置。
  5. 前記調整手段が、第3変更パラメータ、第2変更パラメータ、第1変更パラメータの順に優先的に読み取るように構成されている、
    請求項記載のエミュレート装置。
  6. 前記変更パラメータが、ソフトウエアにより実現される複数の処理のうち情報処理装置の機能に依存した処理項目毎に定められており、
    前記調整手段は、当該処理項目により特定される処理の単位時間あたりの速度を前記変更パラメータによって定まる速度に調整するように構成されるものである、
    請求項記載のエミュレート装置。
  7. 実行されるソフトウエアが自装置が具備する上位機としての処理能力の変更を下位機としての処理能力に変更することを要求するものかどうかを、前記ソフトウエアに含まれる、当該ソフトウエアが上位機用のものか又は下位機用のものであるかを識別するためのデータから判定する手段と、前記ソフトウエアが下位機用のものであると判定されたときは、自装置の処理能力を下位機としての処理能力を前記下位機としての処理能力に変更する手段を備えた情報処理装置に組み込まれるエミュレート部品であって、
    当該情報処理装置上に、予め所定の記録媒体に記録されている第1変更パラメータ、事後的に装着される書換不能な記録媒体に記録されている第2変更パラメータ、事後的に装着される書換可能な記録媒体に記録されている第3変更パラメータのいずれかを選択的に読み取り、読み取ったパラメータにより特定される範囲内で前記情報処理装置の前記下位機としての前記処理能力を変更する手段を形成させる、
    エミュレート部品。
  8. 実行されるソフトウエアが自装置が具備する上位機としての処理能力を下位機としての処理能力にの変更することを要求するものかどうかを、前記ソフトウエアに含まれる、当該ソフトウエアが上位機用のものか又は下位機用のものかを識別するためのデータから判定する判定手段と、
    前記ソフトウエアが下位機用のものであると判定された場合に、前記ソフトウエアについて事前又は事後的に供給される、前記情報処理装置の前記下位機としての処理能力を変更するための変更パラメータであって、書き換え不能か書き換え可能か、また、予め前記情報処理装置に用意されているか事後的に前記情報処理装置に装着されたものかによって、その読み取り順に優先度がつけられている複数種類の記録媒体のいずれかから読み取った変更パラメータにより特定される範囲内で前記情報処理装置の前記下位機としての処理能力を変更させる調整手段とを組み込んでなる、
    情報処理装置。
  9. 情報処理装置において実行される方法であって、
    前記情報処理装置が、
    前記情報処理装置に読みとられるソフトウエアが、当該情報処理装置が具備する上位機としての処理能力を下位機としての処理能力に変更することを要求するものかどうかを、前記ソフトウエアに含まれる、当該ソフトウエアが上位機用のものか又は下位機用のものかを識別するためのデータから判定する過程と、
    前記ソフトウエアが下位機用のものであると判定された場合に、当該ソフトウエアについて事前又は事後的に供給される、前記情報処理装置の前記下位機としての処理能力を変更するための変更パラメータであって、書き換え不能か書き換え可能か、また、予め前記情報処理装置に用意されているか事後的に前記情報処理装置に装着されたものかによって、その読み取り順に優先度がつけられている複数種類の記録媒体のいずれかから読み取った変更パラメータにより特定される範囲内で前記情報処理装置の前記下位機としての処理能力を変更させる過程と
    を実行することを含む、
    ソフトウエアのエミュレーション方法。
  10. 情報処理装置に、下記の処理を実行させるためのプログラムが記録されている、前記情報処理装置が読み取り可能な記録媒体。
    (1)前記情報処理装置で実行されるソフトウエアが、当該情報処理装置が具備する上位機としての処理能力を下位機としての処理能力に変更することを要求するものかどうかを、前記ソフトウエアに含まれる、当該ソフトウエアが上位機用のものか又は下位機用のものかを識別するためのデータから判定する処理、
    (2)前記ソフトウエアが下位機用のものであると判定された場合に、前記ソフトウエアについて事前又は事後的に供給される、前記情報処理装置の前記下位機としての処理能力を変更するための変更パラメータであって、書き換え不能か書き換え可能か、また、予め前記情報処理装置に用意されているか事後的に前記情報処理装置に装着されたものかによって、その読み取り順に優先度がつけられている複数種類の記録媒体のいずれかから読み取った変更パラメータにより特定される範囲内で前記情報処理装置の前記下位機としての処理能力を変更させる処理。
  11. 情報処理装置に、下記の処理を実行させるためのプログラム。
    (1)前記情報処理装置で実行されるソフトウエアが、当該情報処理装置が具備する上位機としての処理能力を下位機としての処理能力に変更することを要求するものかどうかを、前記ソフトウエアに含まれる、当該ソフトウエアが上位機用のものか又は下位機用のものかを識別するためのデータから判定する処理、
    (2)前記ソフトウエアが下位機用のものであると判定された場合に、前記ソフトウエアについて事前又は事後的に供給される、前記情報処理装置の前記下位機としての処理能力を変更するための変更パラメータであって、書き換え不能か書き換え可能か、また、予め前記情報処理装置に用意されているか事後的に前記情報処理装置に装着されたものかによって、その読み取り順に優先度がつけられている複数種類の記録媒体のいずれかから読み取った変更パラメータにより特定される範囲内で前記情報処理装置の前記下位機としての処理能力を変更させる処理。
JP2001030228A 2000-08-15 2001-02-06 エミュレート装置及び部品、情報処理装置、エミュレーション方法、記録媒体、プログラム Expired - Lifetime JP3964142B2 (ja)

Priority Applications (8)

Application Number Priority Date Filing Date Title
JP2001030228A JP3964142B2 (ja) 2000-08-15 2001-02-06 エミュレート装置及び部品、情報処理装置、エミュレーション方法、記録媒体、プログラム
EP01955582A EP1340144A2 (en) 2000-08-15 2001-08-08 Emulation apparatus and parts, emulation method,recording medium and program
CN018154425A CN1568459B (zh) 2000-08-15 2001-08-08 仿真装置和仿真方法
AU2001277710A AU2001277710A1 (en) 2000-08-15 2001-08-08 Emulation apparatus and parts, emulation method,recording medium and program
KR10-2003-7002001A KR20030071752A (ko) 2000-08-15 2001-08-08 에뮬레이션 장치 및 부품, 에뮬레이션 방법, 기록 매체 및프로그램
PCT/JP2001/006797 WO2002015001A2 (en) 2000-08-15 2001-08-08 Emulation apparatus and parts, emulation method,recording medium and program
TW090119925A TWI233035B (en) 2000-08-15 2001-08-14 Emulation apparatus and parts, emulation method, and recording medium
US09/929,845 US7222063B2 (en) 2000-08-15 2001-08-14 Emulation apparatus and parts, emulation method, recording medium and program

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2000-246509 2000-08-15
JP2000246509 2000-08-15
JP2001030228A JP3964142B2 (ja) 2000-08-15 2001-02-06 エミュレート装置及び部品、情報処理装置、エミュレーション方法、記録媒体、プログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2004155990A Division JP4409360B2 (ja) 2000-08-15 2004-05-26 エミュレート装置及び部品、エミュレーション方法、記録媒体、プログラム

Publications (2)

Publication Number Publication Date
JP2002132496A JP2002132496A (ja) 2002-05-10
JP3964142B2 true JP3964142B2 (ja) 2007-08-22

Family

ID=26597985

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001030228A Expired - Lifetime JP3964142B2 (ja) 2000-08-15 2001-02-06 エミュレート装置及び部品、情報処理装置、エミュレーション方法、記録媒体、プログラム

Country Status (8)

Country Link
US (1) US7222063B2 (ja)
EP (1) EP1340144A2 (ja)
JP (1) JP3964142B2 (ja)
KR (1) KR20030071752A (ja)
CN (1) CN1568459B (ja)
AU (1) AU2001277710A1 (ja)
TW (1) TWI233035B (ja)
WO (1) WO2002015001A2 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100592682C (zh) * 2001-12-13 2010-02-24 索尼计算机娱乐公司 用于安全分配程序内容的方法和装置
WO2003055132A1 (en) * 2001-12-21 2003-07-03 Sony Computer Entertainment Inc. Methods and apparatus for secure distribution of program content
TW200506868A (en) * 2003-08-14 2005-02-16 Farstone Tech Inc System and method for manipulating and backing up CD/DVD information
US7847800B2 (en) * 2004-04-16 2010-12-07 Apple Inc. System for emulating graphics operations
US8134561B2 (en) 2004-04-16 2012-03-13 Apple Inc. System for optimizing graphics operations
US8704837B2 (en) * 2004-04-16 2014-04-22 Apple Inc. High-level program interface for graphics operations
US8245201B2 (en) * 2004-04-30 2012-08-14 International Business Machines Corporation Method and system for recording and replaying service interactions
US7383386B1 (en) * 2004-05-21 2008-06-03 Mcm Portfolio Llc Multi partitioned storage device emulating dissimilar storage media
EP1803062A1 (en) * 2004-09-20 2007-07-04 Sony Computer Entertainment Inc. Methods and apparatus for distributing software applications
WO2006033423A1 (en) * 2004-09-20 2006-03-30 Sony Computer Entertainment Inc. Methods and apparatus for emulating software applications
JP4397858B2 (ja) * 2005-06-27 2010-01-13 株式会社ソニー・コンピュータエンタテインメント エミュレート装置及びエミュレート方法
GB2435335A (en) * 2006-02-21 2007-08-22 Sony Computer Entertainment Inc Multi-processor emulation by a multi-processor
EP2013723B1 (en) * 2006-05-03 2019-06-12 Sony Interactive Entertainment Inc. Register mapping in emulation of a target system on a host system
KR100909703B1 (ko) * 2007-12-17 2009-07-29 한국전자통신연구원 2진값 입출력 처리 장치 및 방법

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01155437A (ja) * 1987-12-11 1989-06-19 Toshiba Corp オペレーティングシステム
JP3227542B2 (ja) * 1991-06-17 2001-11-12 サン・マイクロシステムズ・インコーポレーテッド 特定のコンピュータ・ハードウェア・アーキテクチャのために作成されたソフトウェアのバージョンの互換性を確保する装置および方法
US5404557A (en) * 1991-11-22 1995-04-04 Matsushita Electric Industrial Co., Ltd. Data processor with plural instruction execution parts for synchronized parallel processing and exception handling
US5388841A (en) * 1992-01-30 1995-02-14 A/N Inc. External memory system having programmable graphics processor for use in a video game system or the like
JPH0675763A (ja) * 1992-04-27 1994-03-18 Sony Corp 情報処理システムおよび装置並びに情報記録媒体
JP3250268B2 (ja) * 1992-09-03 2002-01-28 セイコーエプソン株式会社 情報処理装置
US5617576A (en) * 1993-12-29 1997-04-01 Intel Corporation Method of slowing down code execution in a microprocessor including an internal cache memory
US5768539A (en) * 1994-05-27 1998-06-16 Bell Atlantic Network Services, Inc. Downloading applications software through a broadcast channel
US5782642A (en) * 1995-12-19 1998-07-21 Goren; Michael Interactive video and audio display system network interactive monitor module interface
US5982399A (en) * 1996-06-21 1999-11-09 Autodesk, Inc. Immediate mode drawing interface for the construction of graphics software
US6279069B1 (en) * 1996-12-26 2001-08-21 Intel Corporation Interface for flash EEPROM memory arrays
US6106565A (en) * 1997-02-27 2000-08-22 Advanced Micro Devices, Inc. System and method for hardware emulation of a digital circuit
JPH11207034A (ja) * 1997-11-20 1999-08-03 Nintendo Co Ltd 異なる種類のゲーム機間でバックアップデータを利用して プレイ可能なゲームシステム
JP2000176799A (ja) * 1998-12-08 2000-06-27 Toshiba Corp 生産製造計画システム
US6346048B1 (en) * 1999-02-04 2002-02-12 Namco Ltd. Game system, game machine, game data distribution machine, image data distribution system, and computer-usable information
JP3943277B2 (ja) * 1999-03-23 2007-07-11 セイコーエプソン株式会社 マイクロコンピュータ及び電子機器
US6672963B1 (en) * 2000-09-18 2004-01-06 Nintendo Co., Ltd. Software implementation of a handheld video game hardware platform

Also Published As

Publication number Publication date
JP2002132496A (ja) 2002-05-10
CN1568459A (zh) 2005-01-19
EP1340144A2 (en) 2003-09-03
WO2002015001A2 (en) 2002-02-21
AU2001277710A1 (en) 2002-02-25
CN1568459B (zh) 2010-04-28
WO2002015001A3 (en) 2003-06-12
US20020052728A1 (en) 2002-05-02
KR20030071752A (ko) 2003-09-06
US7222063B2 (en) 2007-05-22
TWI233035B (en) 2005-05-21

Similar Documents

Publication Publication Date Title
US6677951B2 (en) Entertainment apparatus having compatibility and computer system
JP3964142B2 (ja) エミュレート装置及び部品、情報処理装置、エミュレーション方法、記録媒体、プログラム
US5797029A (en) Sound board emulation using digital signal processor using data word to determine which operation to perform and writing the result into read communication area
RU2451989C2 (ru) Поддержка нескольких операционных систем в мультимедийных устройствах
US5812858A (en) Method and apparatus for providing register and interrupt compatibility between non-identical integrated circuits
CN103034524B (zh) 半虚拟化的虚拟gpu
JP3403284B2 (ja) 情報処理システム及びその制御方法
RU2649771C2 (ru) Виртуализация массового запоминающего устройства для облачных вычислений
JP4597459B2 (ja) 装置の列挙のための仮想rom
JP3705663B2 (ja) デバイスのブリッジ方法及び装置
JPH10137447A (ja) ある種のゲーム装置で、記述の異なるソフトウエアを実行するためのソフトウエアエミュレータ及び入出力装置
JP2009205422A (ja) 情報処理システム
JP4409360B2 (ja) エミュレート装置及び部品、エミュレーション方法、記録媒体、プログラム
US5155838A (en) Computer system with emulation mechanism
JP4001722B2 (ja) エンタテインメント装置及びコンピュータシステム
KR100766670B1 (ko) 엔터테인먼트 장치, 주변 장치 제어 방법 및 컴퓨터 프로그램 기록 매체
JP4397858B2 (ja) エミュレート装置及びエミュレート方法
JPH04192047A (ja) パーソナルコンピュータ
JP2007249808A (ja) 機能拡張システム及び機能拡張機器
US6412024B1 (en) Sound board emulation using digital signal processor
JP2002541582A (ja) エミュレータシステム内のユーザメモリを更新する方法およびシステム
JP2007207121A (ja) データ処理装置及びその制御方法
JPH05210616A (ja) コンピュータ装置
JP2001027920A (ja) バスブリッジ回路及びそのパワーマネージメント方法
JP2004192019A (ja) 情報処理装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040203

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040402

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20040427

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040526

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20040625

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20040716

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070424

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070523

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 3964142

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20100601

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110601

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20110601

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120601

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20120601

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130601

Year of fee payment: 6

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term