JP4001722B2 - エンタテインメント装置及びコンピュータシステム - Google Patents
エンタテインメント装置及びコンピュータシステム Download PDFInfo
- Publication number
- JP4001722B2 JP4001722B2 JP2001057854A JP2001057854A JP4001722B2 JP 4001722 B2 JP4001722 B2 JP 4001722B2 JP 2001057854 A JP2001057854 A JP 2001057854A JP 2001057854 A JP2001057854 A JP 2001057854A JP 4001722 B2 JP4001722 B2 JP 4001722B2
- Authority
- JP
- Japan
- Prior art keywords
- processor
- iop
- mode
- mpu
- reset
- 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 - Fee Related
Links
Images
Description
【発明の属する技術分野】
本発明は、ゲーム等を実行するためのエンタテインメント装置に関し、特に、旧機種との互換性を確保可能なエンタテインメント装置に関する。並びに、エンタテインメント装置に用いることができるコンピュータ装置に関する。
【0002】
【従来の技術】
近年、半導体技術等の進歩に伴い、より高性能な家庭用ビデオゲーム機が開発・販売されてきている。このような新型のビデオゲーム機は、一般に、同一メーカから出されたものであっても、旧機種との互換性はとられていなかった。すなわち、新機種を購入したユーザは、旧機種のゲームソフトを持っていても、新機種では使うことができなかった。
【0003】
【発明が解決しようとする課題】
しかしながら、過去のソフトウェア(タイトル)の蓄積を無駄にしないためにも、新機種でも、旧機種用のソフトウェアが実行できた方が望ましい。
【0004】
本発明の目的は、旧機種用のソフトウェアが実行できるエンタテインメント装置を提供することにある。
また、本発明の他の目的は、前記エンタテインメント装置に用いることができるコンピュータシステムを提供することにある。
【0005】
【課題を解決するための手段】
本発明に係るエンタテインメント装置は、第1のプロセッサ手段と、第2のプロセッサ手段とを備える。第1のプロセッサ手段および第2のプロセッサ手段は、それらの動作モードとして第1のモードおよび第2のモードを有する。そして、第1のモードでは、前記第1のプロセッサ手段がメインCPUおよび描画プロセッサとして機能するとともに、前記第2のプロセッサ手段がI/Oプロセッサとして機能する。一方、第2のモードでは、前記第2のプロセッサ手段がメインCPUとして機能するとともに、前記第1のプロセッサ手段が描画プロセッサとして機能する。
【0006】
この場合において、前記第2のプロセッサ手段は、2種類のリセット方法を有し、第1のリセット方法でリセットされた場合は、I/Oプロセッサとしての動作を行い、第2のリセット方法でリセットされた場合は、メインCPUとしての動作を行うようにしてもよい。更に、前記第2のプロセッサ手段には、第1および第2のクロックが供給され、前記第1のリセット方法でリセットされた場合は、前記第1のクロックに同期して動作を行い、前記第2のリセット方法でリセットされた場合は、前記第2のクロックに同期して動作を行うようにしてもよい。
【0007】
また、可搬記録媒体から情報を読み出す情報読み出し手段を更に備え、前記記録媒体の種類によって、第2のモードで動作するか否かを判別するようにしてもよい。前記可搬記録媒体には、例えば、CDやDVD等が該当する。
【0008】
また、前記第1のプロセッサ手段は、例えば、マイクロプロセッサとグラフィックスプロセッサとから構成される。この場合、第2のモードでは、前記第2のプロセッサ手段から渡される描画コマンドを、前記マイクロプロセッサが、前記グラフィックスプロセッサ用の描画コマンドにソフトウェア的に変換して、前記グラフィックスプロセッサに渡すようにしてもよい。
【0009】
本発明に係るコンピュータシステムは、少なくとも二種類の実行モードを有するコンピュータシステムである。そして、プログラムが記録された記録媒体の物理的特性に応じて、異なる周波数および実行モードでブートすることを特徴とする。また、プログラムが記録されている記録媒体の識別信号に応じて、異なる周波数および実行モードで起動することを特徴とする。例えば、プログラムが記録された記録媒体がCDかDVDかによって、異なる周波数および実行モードでブートする。
【0010】
本発明に係るプログラムの起動方法は、複数種類の記録媒体からプログラムを読み出して実行できるコンピュータにおけるプログラムの起動方法であって、プログラム起動時に、前記記録媒体に対応した画面を最初に表示することを特徴とする。
【0011】
本発明に係るエミュレーション方法は、異なるシステム上のプログラムをソフトウェアエミュレーションする方法であって、プログラム固有のシリアル番号によって、動作のタイミングパラメータを変更することを特徴とする。
【0012】
【発明の実施の形態】
以下、図面を用いて、本発明の実施の形態について詳細に説明する。
【0013】
図1は、本発明によるエンタテインメント装置の構成を示すブロック図である。
【0014】
同図に示すように、本エンタテインメント装置は、MPU(メインプロセシングユニット)100と、GP(グラフィックスプロセッサ)110と、IOP(入出力用サブ・プロセッサ)120と、CD/DVDデコーダ130と、SPU(サウンド再生処理プロセッサ)140と、OSROM(リードオンリーメモリ)150と、メインメモリ160と、IOPメモリ170とを備える。
【0015】
そして、MPU100とGP110とは、専用バス101によって接続されている。また、MPU100とIOP120とは、SBUSと呼ばれるバス102によって接続されている。また、IOP120、CD/DVDデコーダ130、SPU140及びOSROM150は、SSBUSと呼ばれるバス103に接続されている。
【0016】
また、MPU100には、メインメモリ160が接続され、IOP120には、IOPメモリ170が接続されている。更に、IOP120には、コントローラ(PAD)180が接続される。
【0017】
MPU100は、本エンタテインメント装置のメインCPU(中央演算ユニット)である。MPU100は、OSROM150に格納されたプログラムを実行すること、また、CDまたはDVDからメインメモリ160にロードされたプログラムを実行することによって、所定の処理を行う。
【0018】
GP110は、本エンタテインメント装置のレンダリングの機能を受け持つ。GP110は、MPU100からの指示に従って、描画処理を行う。
【0019】
IOP120は、MPU100と周辺装置(CD/DVDデコーダ130、SPU140等)との間のデータのやり取りを制御する。
【0020】
CD/DVDデコーダ130は、CDやDVDからデータを読み出し、メインメモリ160への転送を行う。
【0021】
SPU140は、サウンドバッファ(不図示)に格納された圧縮波形データを、MPU100等からの発音命令に基づいて、所定のサンプリング周波数で再生する。
【0022】
OSROM150は、起動時等にMPU100やIOP120が実行するプログラムが格納されているROMである。OSROM150には、MPU100及びIOP120が共用するコード並びに各プロセッサ専用のコードが分離して格納されている。MPU100専用のコード(プログラム)には、例えば、後述するGPUエミュレータがある。
【0023】
メインメモリ160は、MPU100の主記憶であり、MPU100が実行する命令やMPU100が利用するデータ等が格納される。
【0024】
IOPメモリ170は、IOP120の主記憶である。このIOPメモリ170には、IOP120が実行する命令、IOP120が利用するデータ等が格納される。
【0025】
コントローラ(PAD)180は、ゲーム等の実行中に、プレイヤーの意図をアプリケーション等に伝達するインタフェースである。このコントローラ180は、操作部を有する。そして、操作部がプレイヤーによって操作されることに伴って、信号が出力される。
【0026】
次に、既存のエンタテインメント装置の構成について説明する。このエンタテインメント装置は、前述したような構成を有するエンタテインメント装置が互換性を確保しようとする対象である。
【0027】
図2は、既存のエンタテインメント装置の構成を示すブロック図である。同図に示すように、既存のエンタテインメント装置は、CPU(中央処理ユニット)220と、GPU(グラフィックスプロセッサ)210と、CDデコーダ230と、SPU(サウンド再生処理プロセッサ)240と、OSROM(リードオンリーメモリ)250と、メインメモリ270とを備える。
【0028】
そして、CPU220には、GPU210及びメインメモリ270がそれぞれ接続されている。また、CPU220、CD−ROMデコーダ230、SPU240及びOSROM250は、バス290に接続されている。更に、CPU220には、コントローラ(PAD)280が接続される。
【0029】
CPU220は、OSROM250に格納されたプログラムや、CDからメインメモリ270にロードされたプログラムを実行することによって、所定の処理を行う。CPU220の動作周波数は、例えば、33MHzである。
【0030】
GPU210は、CPU220からの指示に従って、描画処理を行う。GPU210は、画像表示のためのCRTC機能、および、フレームバッファ(不図示)に対するポリゴンの描画機能を備えている。
【0031】
CD−ROMデコーダ230は、CDからデータを読み出し、メインメモリ270への転送を行う。
【0032】
OSROM250は、起動時等にCPU220によって実行されるプログラムが格納されているROMである。
【0033】
メインメモリ270は、CPU220の主記憶であり、CPU220が実行する命令やCPU220が利用するデータ等が格納される。
【0034】
コントローラ(PAD)280は、ゲーム等の実行中に、プレイヤーの意図をアプリケーション等に伝達するインタフェースである。
【0035】
以上のような構成を有する既存のエンタテインメント装置との互換性を確保するため、本エンタテインメント装置は、第1のモードと第2のモードの2つの動作モードを有する。前記第1のモードは、当該装置について通常の動作を行う通常モードであり、前記第2のモードは、他機種との互換性を想定して動作する互換モードである。そして、本エンタテインメント装置は、通常は、通常モードで起動され、通常モードで動作する。しかし、本エンタテインメント装置は、既存のエンタテインメント装置用のタイトル(ソフトウェア)を実行するときは、互換モードに移行する。
【0036】
そして、互換モードでは、IOP120がCPU220として動作し、MPU100及びGP110がGPU210をエミュレートすることによって、既存のエンタテインメント装置用のタイトルを実行する。
すなわち、本エンタテインメント装置では、MPU100及びGP110を有する第1のプロセッサ手段と、IOP120を有する第2のプロセッサ手段とが存在する。そして、通常モードでは、第1のプロセッサ手段がメインCPUおよび描画プロセッサとして機能すると共に、第2のプロセッサ手段がI/Oプロセッサとして機能する。一方、互換モードでは、第2のプロセッサ手段がメインCPUとして機能するとともに、前記第1のプロセッサ手段が描画プロセッサとして機能する。
【0037】
そのため、IOP120は、CPU220と同一なプロセッサ・コアを備えている。すなわち、IOP120は、既存のエンタテインメント装置のCPU220用に用意されたプログラム・コードをそのまま実行でき、同じ動作を行う。なお、IOP120のプロセッサ・コアは、既存のエンタテインメント装置のCPU220用に用意されたプログラム・コードをそのまま実行でき、同様の動作を行うもの(例えば、バイナリ・コンパティブルなプロセッサ・コア)であればよい。本実施形態では、既存のエンタテインメント装置との下位互換性をより高くするため、同一のプロセッサ・コアを用いている。
【0038】
更に、IOP120の動作周波数は、通常モードでは、例えば、37.5MHzであるが、互換モードでは、既存のエンタテインメント装置と同じ33MHzに切り替わる。これにより、ゲーム・ソフトウェア側が既存のエンタテインメント装置のハードウェアに対して、1クロックのレベルで動作を最適化している場合であっても、確実に動作させることが可能になる。この動作周波数の切り替え方法については後述する。
【0039】
また、MPU100及びIOP120は、両者間のインタフェースを動作モードに応じて切り替える。すなわち、互換モードでは、IOP120は、MPU100に対して、CPU220と同じインタフェースを提供し、MPU100も、IOP120に対して、GPU210と同じインタフェースを提供する。このインタフェースの切り替えの詳細については、後述する。
【0040】
更に、SPU140も互換モードと通常モードとで、動作を切り替える。すなわち、互換モードでは、既存のエンタテインメント装置のSPU240とまったく同じものとして動作する。一方、通常モードでは、SPU240より高性能なサウンド処理プロセッサとして動作する。また、SPU140の動作周波数は、互換モードでは、CD−ROMのサンプリング周波数に対応して、44.1KHzとなり、通常モードでは、DVDのサンプリング周波数に対応して、48KHzとなる。
次に、動作モードの判定方法の概要について説明する。
【0041】
本エンタテインメント装置は、電源が投入されると、CD/DVDデコーダ130が通常モードで立ち上がり、CD/DVDドライブに搭載されているディスクが本エンタテインメント装置用のものか既存のエンタテインメント装置用のものかを判別する。判別の結果、ドライブに本エンタテインメント装置用のCD/DVDディスクが入っている場合、または、なにも入っていない場合は、通常モードのまま立ち上がる。一方、ドライブに入っているディスクが既存のエンタテインメント装置用のCDであった場合は、互換モードに移行する。
【0042】
次に、本エンタテインメント装置の各構成要素の詳細について説明する。
【0043】
まず、MPU100の内部構成について説明する。
【0044】
図3は、MPU100の内部構成を示す図である。同図に示すように、MPU100は、プロセッサ・コア300と、ベクトル演算ユニット310(VPU0)と、ベクトル演算ユニット320(VPU1)と、GIF(グラフィカル・インタフェース・ユニット)330と、DMAコントローラ(Direct Memory Access Controller)340と、IPU(画像データプロセッサ)350と、メモリインタフェース部360と、IOPインタフェース部370とを備える。各部は、それぞれ、内部バス380に接続されている。内部バス380は、プロセッサ・コア300のクロック周波数(300MHz)の半分(150MHz)で動作する。
【0045】
プロセッサ・コア300は、MPU100のメインユニットで、他のユニットを制御して、所定の処理を行う。
【0046】
ベクトル演算ユニット310、320は、ジオメトリ演算を高速に処理するために設けられたコプロセッサである。ベクトル演算ユニット310は、プロセッサ・コア300に直結され、プロセッサ・コア300のコプロセッサとして動作する。ベクトル演算ユニット310は、4個の浮動小数点積和演算ユニットと1個の浮動小数点除算ユニットを持っている。
【0047】
ベクトル演算ユニット320は、ジオメトリ・エンジンとして動作する。ベクトル演算ユニット310と同じ演算ユニットに加えて、初等関数を計算する演算ユニット(Elementary-Function Unit)を持つ。ベクトル演算ユニット320は、GIF330に直結されている。
【0048】
GIF330は、GP110とのデータをやり取りする。ベクトル演算ユニット310、320によって生成されたポリゴン・ディスプレイ・リストは、GIF330によって、専用の64ビットバス101上を150MHzで、GP110へ転送される。
【0049】
DMAコントローラ340は、プロセッサ・コア300からの指示により、メインメモリ160と、プロセッサ・コア300やベクトル演算ユニット310、320等との間のデータ転送を行う。
【0050】
IPU350は、MPEG2(Moving Picture Experts Group Phase 2)ビットストリームの展開とマクロブロック復号を主な機能とする。
【0051】
メモリインタフェース部360は、メインメモリ160に対するデータの読み書きを行うためのインタフェース部である。
【0052】
IOPインタフェース部370は、MPU100とIOP120との間でデータのやり取りの行うためのインタフェース部である。IOPインタフェース部370の詳細については、後述する。
【0053】
次に、GP110の内部構成について説明する。
【0054】
図4は、GP110の内部構成を示す図である。同図に示すように、GP110は、ホストインタフェース部400と、描画機能ブロック410と、ローカルメモリ420と、CRTC(CRT controller)部430とを備える。
【0055】
ホストインタフェース部400は、MPU100との間でデータのやり取りを行うためのインタフェース部である。
【0056】
描画機能ブロック410は、MPU100からの指示に基づいて、レンダリング処理を行う論理回路部である。描画機能ブロック410は、ディジタル・ディファレンシャル・アナライザ(DDA)とピクセル・エンジンをそれぞれ16個備える。この描画機能ブロック410は、64ビット(色情報32ビット、Z値32ビット)の画素データを、最大16個並列処理する。DDAは、RGB値、Z値、テクスチャ値などを計算する。これらのデータを基に、ピクセル・エンジンは、最終的なピクセル・データを生成する。
【0057】
ローカルメモリ420は、描画機能ブロック410によって生成されたピクセル・データやMPU100から転送されたテクスチャ・データ等を格納する。
【0058】
CRTC部430は、指定された出力フォーマット(NTSC、PAL、VESAフォーマット等)に従って、ローカルメモリ420のフレームバッファ領域の内容を映像信号として出力する。
【0059】
次に、IOP120の内部構成について説明する。
【0060】
図5は、IOP120の内部構成を示す図である。同図に示すように、IOP120は、プロセッサ・コア500と、MPUインタフェース部510と、SSBUSインタフェース部520と、メモリコントローラ530と、シリアル入出力部540と、DMAコントローラ550とを備える。
【0061】
プロセッサ・コア500は、IOP120全体の動作を制御する制御部である。前述したように、プロセッサ・コア500は、既存のエンタテインメント装置のCPU220のプロセッサ・コアと同一のものである。
【0062】
MPUインタフェース部510は、MPU100とのデータのやり取りを行うためのインタフェース部である。MPUインタフェース部510の詳細については後述する。
【0063】
SSBUSインタフェース部520は、SSBUS103とのデータのやり取りを行うためのインタフェース部である。
【0064】
シリアルI/O部540は、IOP120に接続されたコントローラ180との間でデータのやり取りを行うためのインタフェース部である。
【0065】
DMAコントローラ550は、IOPメモリ170とIOP120の構成要素との間でデータのやり取りを行う。
【0066】
メモリコントローラ530は、IOPメモリ170に対するデータの読み書きを制御するコントローラである。
【0067】
次に、通常モードから互換モードへの切り替え方法について説明する。
【0068】
本エンタテインメント装置では、通常モードから互換モードへの切り替えをリセット信号(SRESET)を使って行う。このため、本エンタテインメント装置では、2系統のリセット信号(RESET及びSRESET)を設けている。
【0069】
図6は、本エンタテインメント装置におけるリセット信号の接続形態を示す図である。
【0070】
同図に示すように、電源コントロール/リセットIC610から出力されたRESETIN信号は、リセット制御回路630及びOR回路640、650に入力される。リセット制御回路630から出力された制御信号(CTL1、CTL2)は、OR回路640、650に入力される。OR回路640から出力されたRESET1信号は、MPU100及びGP110に入力される。また、OR回路650から出力されたRESET2信号は、IOP120及びSPU140等のSSBUS103上のデバイスに入力される。また、IOP120及びSPU140等には、MPU100から出力されるSRESET信号も入力される。
【0071】
以上のような接続形態において、電源が投入されたり、または、リセットスイッチ620が押されたりすると、まず、電源コントロール/リセットIC610が、RESETIN信号をアサートする。電源コントロール/リセットIC610は、全ての電源が立ち上がって、所定時間が経過すると、RESETIN信号をネゲートする。
【0072】
リセット制御回路630は、RESETIN信号がアサートされると、OR回路640、650に対する制御信号(CTL1、CTL2)をアサートする。そして、所定時間経過後、まず、IOP120、SPU140に供給されているRESET信号(RESET2)をネゲートするため、OR回路650に対する制御信号(CTL2)をネゲートする。その後、MPU100、GP110に供給されているRESET信号(RESET1)をネゲートするため、OR回路640に対する制御信号(CTL1)をネゲートする。このようにRESET信号の解除のタイミングをMPU100等とIOP120等とでずらしている理由は、IOP120がある程度確実に動作を開始してから、MPU100、GP110が動作を開始するようにするためである。
【0073】
RESET信号(RESET1、RESET2)でリセットされた、MPU100、IOP120、SPU140等は、まず、通常モードでの動作を開始する。
【0074】
そして、必要な初期化処理終了後、前述した動作モードの判定結果に従って、互換モードに移行する場合は、MPU100が、SRESET信号をアサートする。このSRESET信号によりリセットされたIOP120及びSPU140等は、それぞれ互換モードでの動作を開始する。
【0075】
前述したように、互換モードに移行する際は、IOP120等の動作周波数の切り替えも行われる。次に、この動作周波数の切り替えについて説明する。
【0076】
図7は、本エンタテインメント装置におけるクロック信号の接続形態を示す図である。
【0077】
同図に示すように、クロック発生器700によって発生された400MHzのクロックは、MPU100に供給される。MPU100は、このクロックを、内部のPLL(Phase-Locked Loop)回路710で、300MHz、150MHz、37.5MHzのクロックに変換する。
【0078】
MPU100は、300MHzのクロックをプロセッサ・コア300の動作基準クロックとして使い、150MHzのクロックを内部バス380のバスクロックとして使う。また、150MHzのクロックは、GP110へのデータ転送の基準クロックしても使われる。また、MPU100は、37.5MHzのクロックを、通常モード時の動作基準クロックとしてIOP120に供給する。
【0079】
一方、IOP120には、クロック発生器720によって発生された66MHzのクロックも供給されている。IOP120は、このクロックを、内部の周波数変換回路730によって、33MHzのクロックに変換し、この33MHzのクロックを、マルチプレクサ(MUX)740に供給するとともに、互換モード時のMPU100との通信のため、通信同期クロックとして、MPU100に供給する。MPU100は、この33MHzのクロック(PGCLK)を互換モード時のIOP120との通信に利用する。
【0080】
マルチプレクサ740は、IOP120の動作基準クロックを選択するためものであり、MPU100から供給される37.5MHzのクロックと、周波数変換回路730から出力される33MHzのクロックが入力される。そして、マルチプレクサ740は、IOP120がRESET信号(RESET2)によってリセットされた場合は、基準クロックとして、37.5MHzのクロックを選択して出力する。一方、SRESET信号によりリセットされた場合は、基準クロックとして、33MHzのクロックを選択して出力する。
【0081】
IOP120は、マルチプレクサ740から出力された基準クロックに同期して、動作を行う。また、マルチプレクサ740から出力された基準クロックは、SSBUS上のデバイス(SPU140等)にも供給される。
【0082】
従って、IOP120及びSPU140等の基準クロックは、RESET信号でリセットされた場合は、37.5MHzとなり、SRESET信号でリセットされた場合は、33MHz(既存のエンタテインメント装置と同一の周波数)になる。
【0083】
前述したように、互換モードに移行する際は、MPU100とIOP120との間のインタフェースの切り替えも行われる。次に、このインタフェースの切り替えについて説明する。
【0084】
図8は、MPU100内のIOPインタフェース370、及び、IOP120内のMPUインタフェース部510の内部構成を示す図である。
【0085】
同図に示すように、IOPインタフェース部370は、SIF(SBUSインタフェース)部800と、PGPUインタフェース(疑似GPUインタフェース)部810とを備える。また、MPUインタフェース部510は、SIF(SBUSインタフェース)部820と、GPUインタフェース部830とを備える。
【0086】
SIF部800は、MPU100において、通常モード時のSBUSインタフェースを提供するためのブロックである。一方、PGPUインタフェース部810は、MPU100において、互換モード時に、擬似的に既存のエンタテインメント装置のGPU210と同じインタフェースを提供するためのブロックである。SIF部800及びPGPUインタフェース部810は、それぞれ、転送データを格納するFIFOバッファ及び転送制御等に使われるレジスタ群を備える。
【0087】
SIF部820は、IOP120において、通常モード時のSBUSインタフェースを提供するためのブロックである。一方、GPUインタフェース部830は、IOP120において、互換モード時に、既存のエンタテインメント装置のCPU220と同様のGPUインタフェースを提供するためのブロックである。
【0088】
IOPインタフェース部370は、内部バス380のバスクロック(150MHz)に同期して動作している。一方、MPUインタフェース部510は、IOP120の動作周波数に同期して動作している。すなわち、通常モードでは、37.5(=150/4)MHzのクロックに同期して動作しており、互換モードでは、33MHzのクロックに同期して動作している。このため、通常モードにおけるMPU100、IOP120間の通信は、同期通信になり、互換モードにおけるMPU100、IOP120間の通信は、非同期通信になる。PGPUインタフェース部810は、互換モードにおける非同期通信を吸収するためのロジックを含んでおり、IOP120から供給されるPGCLK(33MHz)が入力される。
【0089】
以上のような構成の下、通常モード時は、MPU100においては、IOP120に対するインタフェースとして、SIF部800が使われ、IOP120においては、MPU100に対するインタフェースとして、SIF部820が使われる。また、互換モード時は、MPU100においては、PGPUインタフェース部810が使われ、IOP120においては、GPUインタフェース部830が使われる。
【0090】
MPU100におけるSIF部800とPGPUインタフェース部810との切り替えは、ソフトウェア的に行われる。すなわち、リセット時は、SIF部800が選択され、その後、MPU100のプロセッサ・コア300が実行するソフトウェアによって、MPU100内の特定の制御レジスタへの書き込みが行われると、PGPUインタフェース部810に切り替えられる。
【0091】
一方、IOP120におけるSIF部820とGPUインタフェース部830との切り替えは、リセット時にハードウェア的に行われる。すなわち、IOP120が、RESET信号(RESET2)でリセットされると、SIF部820が選択され、SRESET信号でリセットされると、GPUインタフェース部830が選択される。
【0092】
次に、本エンタテインメント装置のブートシーケンスについて説明する。
【0093】
RESET信号(RESET1、RESET2)によってリセットされると、MPU100及びIOP120は、まず、同一のブートベクトルアドレスからプログラムの実行を開始する。本実施形態では、MPU100とIOP120とが、同じアーキテクチャのプロセッサであることを想定しているので、ブートベクトルアドレスも同一になっている。
【0094】
このとき、IOP120は、OSROM150に直接アクセスする。一方、MPU100は、IOP120を介して、OSROM150にアクセスする。IOP120は、自分の初期化処理を先にするため、必要な初期化処理を終えるまで、MPU100にバスの使用権を与えず、MPU100を待ち状態にさせておく。
【0095】
リセット時にMPU100及びIOP120によってアクセスされるOSROM150の領域には、プロセッサIDを獲得し、自分がMPU100かIOP120かを判断し、その結果に応じて、各プロセッサ用のコードにジャンプするというコードが格納されている。IOP120及びMPU100は、当該コードを実行することにより、それぞれ自分用のコードへジャンプする。
【0096】
IOP120は、自分用のコードへジャンプすると、まず、今回のリセットがRESET信号によるリセットか、SRESET信号によるリセットかを判別する。IOP120は、特定の制御レジスタのビットを参照することにより、RESET信号によるリセットか、SRESET信号によるリセットかを判別できる。
【0097】
この場合、RESET信号によるリセットであるので、本エンタテインメント装置としての起動を行うため、ハードウェアを本エンタテインメント装置用に初期化する。そして、ペリフェラル(コントローラ、CD/DVDドライブ等)のドライバのセットアップを行う。
【0098】
必要な初期化処理を終了すると、IOP120は、待ち状態にあったMPU100の動作を開始させ(MPUオン)、自分は、MPU100からのリクエスト待ち状態になる。MPUオンは、IOP120が特定の制御レジスタのビットを書き替えることで行われる。
【0099】
MPU100は、自己の初期化処理を終了したIOP120によって、OSROM150へのアクセスが許可されると(MPUオンになると)、OSROM150のリードを行い、読み出したプログラムの実行を開始する。当該プログラムにおいて、MPU100は、IOP120と同様に、自己のプロセッサIDを獲得し、自分用(すなわち、MPU100用)のコードへジャンプする。
【0100】
MPU100は、自分用のコードへジャンプすると、まず、既存のエンタテインメント装置と本エンタテインメント装置とで共通のオープニング画面の表示を行う。
【0101】
次に、CD/DVDドライブに装填されているディスクの種別判定を行う。この判定は、CD/DVDデコーダ130内のディスク種別レジスタを参照することにより行う。
【0102】
CD/DVDデコーダ130は、RESET信号(RESET2)によりリセットされると、まず、ドライブに挿入されているディスクを識別し、その結果(本エンタテインメント装置用ディスクである/既存のエンタテインメント装置用ディスクである/ディスクなし等)を、CD/DVDデコーダ130内のディスク種別レジスタに反映して、コマンド待ち状態になっている。
【0103】
ディスク種別の判定の結果、本エンタテインメント装置用のディスクが装填されているか、または、なんのディスクも装填されていなかった場合は、そのまま、本エンタテインメント装置として立ち上がり、本エンタテインメント装置ロゴの表示を行う。
【0104】
更に、本エンタテインメント装置用のディスクがドライブに装填されている場合は、MPU100は、ディスクから本エンタテインメント装置用のソフトウェアをメインメモリ160にロードして、実行する。ソフトウェアの実行中、描画処理を行う場合は、GP110に対して描画を指示し、また、音声を出力する場合は、IOP120を介して、SPU140に対して音声出力を指示する。
【0105】
一方、ディスク種別の判定の結果、ドライブに既存のエンタテインメント装置用のディスクが装填されていた場合は、互換モードに切り替えて、既存のエンタテインメント装置として立ち上がる。
【0106】
そのため、MPU100は、GPUエミュレータをOSROM150からメインメモリ160へロードし、実行する。
【0107】
MPU100によって実行されるGPUエミュレータは、まず、ディスクからタイトル番号を取得し、タイトル番号に応じて、GPUエミュレータのパラメータをセットする。このパラメータは、タイトルに応じて、描画時間を調整するために使われる。例えば、描画プリミティブの種類により、WAITの数を設定するために使われる。
【0108】
次に、IOP120に対するインタフェースを、SIF部800からPGPUインタフェース部810に切り替える。この切り替えは、前述したように、特定の制御レジスタに特定の値を書き込むことによって行われる。
【0109】
次に、IOP120等を互換モードに移行させるため、SRESET信号をアサートする。SRESET信号のアサートは、前述したように、特定の制御レジスタへの書き込みによって行うことができる。SRESET信号をアサートすると、MPU100は、IOP120からのグラフィックス命令待ち状態になる。MPU100+GP110は、以降GPU210として動作する。
【0110】
SRESET信号によってリセットされたIOP120は、RESET信号でリセットされた場合と同様にして、IOP120用のコードへジャンプすると、今回のリセットがRESET信号によるリセットか、SRESET信号によるリセットかを判別する。
【0111】
この場合、SRESET信号によるリセットであるので、既存のエンタテインメント装置としての起動を行うため、IOP120は、ハードウェアを既存のエンタテインメント装置用に初期化する。また、IOP120と同様に、SRESET信号でリセットされたSPU140は、互換モードで起動する。また、SRESET信号がアサートされると、CD/DVDデコーダ130に対しては、割り込みが発生し、CD/DVDデコーダ130は、この割り込みを検知すると、互換モードでの動作を開始して、コマンド待ち状態になる。
【0112】
必要な初期化処理終了後、IOP120は、既存のエンタテインメント装置におけるCPU220と同様にメインCPUとして動作を開始し、既存のエンタテインメント装置用のロゴを表示し、互換カーネルをブートする。以後、IOP120は、既存のエンタテインメント装置のCPU220と同様にして、既存のエンタテインメント装置用のソフトウェアを実行する。ソフトウェアの実行中、グラフィックスの描画を行う場合は、IOP120は、MPU100に対してGPUコマンドを送信することによって描画を指示し、また、音声を出力する場合は、互換モードのSPU140に対して音声出力を指示する。
【0113】
次に、互換モードでのGPUエミュレータの動作の詳細について説明する。GPUエミュレータは、IOP120からMPU100に送信されるGPUコマンドを、GP110で実行可能なようにするため、GPコマンドにフォーマット変換する。
【0114】
図9は、GPUエミュレータの処理の流れを示す図である。PGPUインタフェース部810内のFIFOに、GPUフォーマットの描画パケットが書き込まれると、MPU100に対する割り込みが発生する。
【0115】
この割り込みを受けると、GPUエミュレータは、GPUフォーマットの描画パケットをPGPUインタフェース部810のFIFOから取り出す(S901)。そして、取り出したGPUフォーマットの描画パケットをGPフォーマットの描画パケットへ変換し、メインメモリ160に書き出す(S902)。そして、DMAコントローラ340により、変換後のGPフォーマットの描画パケットを、GIF330を介して、GP110へDMA転送する(S903)。
【0116】
次に、描画コマンドのフォーマット変換の具体例について説明する。ここでは、3角形のポリゴン描画コマンドのフォーマット変換について説明する。
【0117】
図10(A)及び図10(B)は、ポリゴン描画コマンドのフォーマットを示す図である。図10(A)は、GPUコマンドのフォーマットを示し、図10(B)は、GPコマンドのフォーマットを示す。GPUコマンドは、1ワード、32ビットであり、GPコマンドは、1ワード、64ビットである。
【0118】
図10(A)、図10(B)において、「Code」は、描画種類を識別するためのコードであり、B,G,Rは、色情報である。また、X,Yは、座標情報であり、Zは、奥行き情報である。GP110は、Zバッファ方式を採用しているため、描き順によらずに優先順位をコントロール可能である。一方、GPU210は、Zバッファ方式を採用していないため、GPUコマンドには、奥行き情報は含まれない。そのため、GPUエミュレータは、GPフォーマットに変換する際、Zには同一の所定値を入れる。
【0119】
MPU100は、IOP120から図10(A)に示すようなGPUパケットを受け取ると、先頭の1ワードを解釈することでコマンドの種類を決定し、つづくデータを解釈する。そして、この解釈されたデータを並び替え、RGB,XYの精度を変換して、図10(B)に示すようなGPコマンドパケットを生成して、GP110へ転送する。
【0120】
最後に、本エンタテインメント装置の立ち上げの際の画面の遷移について説明する。
【0121】
まず、本エンタテインメント装置に電源が投入されると、MPU100によって、オープニング・アニメーション及びサウンドが再生される。その後、画面は、ブラックアウトし、音声はフェードアウトする。
そして、ドライブに挿入されているディスクが既存のエンタテインメント装置用のディスクの場合は、互換モードに切り替えられる。IOP120が、既存のエンタテインメント装置の場合と同様に、黒バックの既存のエンタテインメント装置用のマークを画面に表示させ、既存のエンタテインメント装置用の効果音を再生させる。一方、ドライブに挿入されているディスクが本エンタテインメント装置用のディスクの場合は、通常モードのまま、MPU100が、黒バックの本エンタテインメント装置用のマークを表示させ、本エンタテインメント装置用の効果音を再生させる。このように、動作モードを切り替える前に、画面をブラックアウトさせることにより、黒バックの既存のエンタテインメント装置用のマークが、立ち上げのブラックアウトと滑らかにつながることになり、互換モードへの切り替えがスムーズに行える。
【0122】
本発明は、エンタテインメント装置に関するものであるけれども、それが有する構造および能力からは、コンピュータシステムということができる。したがって、適用範囲は、エンタテインメントに限られない。ただし、一般のコンピュータより、グラフィクス、サウンド等の処理能力が高いため、その特徴を活かした使い方が望まれる。
また、本発明は、前述した実施形態に限られない。例えば、第1のモードにおいて、第2のプロセッサ手段がメインCPUおよび描画プロセッサとして機能するとともに、前記第1のプロセッサ手段がI/Oプロセッサとして機能し、第2のモードにおいて、第1のプロセッサ手段がメインCPUとして機能するとともに、前記第2のプロセッサ手段が描画プロセッサとして機能する場合をも含む。
【0123】
【発明の効果】
以上、詳細に説明したように、本発明によれば、旧機種との互換性を有するエンタテインメント装置を提供できる。
【図面の簡単な説明】
【図1】 本発明によるエンタテインメント装置の構成を示すブロック図である。
【図2】 既存のエンタテインメント装置の構成を示すブロック図である。
【図3】 MPU100の内部構成を示すブロック図である。
【図4】 GP110の内部構成を示すブロック図である。
【図5】 IOP120の内部構成を示すブロック図である。
【図6】 リセット信号の接続形態を示すブロック図である。
【図7】 クロック信号の接続形態を示すブロック図である。
【図8】 IOPインタフェース部370及びMPUインタフェース部510の内部構成を示すブロック図である。
【図9】 GPUエミュレータの処理の流れを示すフローチャートである。
【図10】 (A)は、ポリゴン描画コマンドに関する、GPUコマンドのフォーマットを示す説明図、(B)は、ポリゴン描画コマンドに関する、GPコマンドのフォーマットを示す説明図である。
【符号の説明】
100 MPU
110 GP
120 IOP
130 CD/DVDデコーダ
140 SPU
150 OSROM
160 メインメモリ
170 IOPメモリ
180 コントローラ
Claims (2)
- メインプロセッシングユニットおよびグラフィックスプロセッサと、入出力用サブ・プロセッサと、可搬記録媒体から情報を読み出す情報読み出し手段と、を備え、前記メインプロセッシングユニットおよびグラフィックスプロセッサと、前記入出力用サブ・プロセッサとは、それらの動作モードとして第1のモードおよび第2のモードを有し、
前記第1のモードでは、
前記メインプロセッシングユニットが、メインCPUとして機能し、前記グラフィックスプロセッサが、前記メインプロセッシングユニットの指示に従って描画プロセッサとして機能するとともに、前記入出力用サブ・プロセッサが、前記メインプロセッシングユニットと周辺装置との間のデータのやりとりを制御するI/Oプロセッサとして機能し、
前記第2のモードでは、
前記入出力用サブ・プロセッサが、メインCPUとして機能するとともに、前記メインプロセッシングユニットおよびグラフィックスプロセッサが描画プロセッサとして機能し、前記メインプロセッシングユニットは、前記入出力用サブ・プロセッサから渡される描画コマンドを、前記グラフィックスプロセッサ用の描画コマンドに変換して、前記グラフィックスプロセッサに渡して、描画処理させ、
前記メインプロセッシングユニットおよびグラフィックスプロセッサと、入出力用サブ・プロセッサとは、電源オン時またはリセットスイッチオン時に前記第1のモードとなり、前記第1のモードにおいて、前記メインプロセッシングユニットが、前記可搬記録媒体の種類によって、前記第2のモードで動作するか否かを判別して、前記第2のモードで動作すべきと判別した時、前記入出力用サブ・プロセッサをリセットして、当該入出力用サブ・プロセッサをメインCPUとして機能させることにより前記第2のモードとなること、
を特徴とするエンタテインメント装置。 - 前記入出力用サブ・プロセッサには、第1および第2のクロックが供給され、
前記入出力用サブ・プロセッサは、
前記第1のモードの場合には、前記第1のクロックに同期して動作を行い、
前記第2のモードの場合には、前記第2のクロックに同期して動作を行う
ことを特徴とする請求項1に記載のエンタテインメント装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001057854A JP4001722B2 (ja) | 2000-03-03 | 2001-03-02 | エンタテインメント装置及びコンピュータシステム |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000-59350 | 2000-03-03 | ||
JP2000059350 | 2000-03-03 | ||
JP2001057854A JP4001722B2 (ja) | 2000-03-03 | 2001-03-02 | エンタテインメント装置及びコンピュータシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001314644A JP2001314644A (ja) | 2001-11-13 |
JP4001722B2 true JP4001722B2 (ja) | 2007-10-31 |
Family
ID=26586768
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001057854A Expired - Fee Related JP4001722B2 (ja) | 2000-03-03 | 2001-03-02 | エンタテインメント装置及びコンピュータシステム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4001722B2 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4671648B2 (ja) | 2004-09-17 | 2011-04-20 | 株式会社ソニー・コンピュータエンタテインメント | 中継器、エンタテインメント装置、通信システム、通信方法、及びプログラム |
EP2013723B1 (en) * | 2006-05-03 | 2019-06-12 | Sony Interactive Entertainment Inc. | Register mapping in emulation of a target system on a host system |
US10272333B2 (en) | 2007-04-18 | 2019-04-30 | Sony Interactive Entertainment Inc. | Game system |
JP2009205422A (ja) | 2008-02-27 | 2009-09-10 | Nintendo Co Ltd | 情報処理システム |
JP5415779B2 (ja) * | 2009-02-19 | 2014-02-12 | 株式会社ソニー・コンピュータエンタテインメント | 互換アダプタ装置および互換処理方法 |
JP2012174145A (ja) | 2011-02-23 | 2012-09-10 | Nintendo Co Ltd | 情報処理プログラム、情報処理装置、情報処理方法及び情報処理システム |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10137447A (ja) * | 1996-11-13 | 1998-05-26 | Hori Denki Kk | ある種のゲーム装置で、記述の異なるソフトウエアを実行するためのソフトウエアエミュレータ及び入出力装置 |
-
2001
- 2001-03-02 JP JP2001057854A patent/JP4001722B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2001314644A (ja) | 2001-11-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100773661B1 (ko) | 호환성을 갖는 엔터테인먼트 장치 및 컴퓨터 시스템 | |
JP4808858B2 (ja) | グラフィクスパイプラインおよびそれの同期化方法 | |
JP5186320B2 (ja) | エミュレーション強化方法及び装置 | |
JP3620857B2 (ja) | 画像処理装置及び画像処理方法 | |
JP4291467B2 (ja) | エンタテインメント装置、メニュー表示方法および情報記録媒体 | |
JP2009527836A (ja) | データ処理 | |
JP3442366B2 (ja) | キャラクタ表示方法およびエンタテインメント装置 | |
JPH10137447A (ja) | ある種のゲーム装置で、記述の異なるソフトウエアを実行するためのソフトウエアエミュレータ及び入出力装置 | |
JP3964142B2 (ja) | エミュレート装置及び部品、情報処理装置、エミュレーション方法、記録媒体、プログラム | |
WO2002070092A1 (en) | Information processing system, entertainment system, startup screen display method and information recording medium | |
JP4001722B2 (ja) | エンタテインメント装置及びコンピュータシステム | |
JP5345780B2 (ja) | データ処理 | |
JP2008077442A (ja) | 情報処理装置および映像表示方法 | |
JP2016073360A (ja) | 新タイプのチップセットを旧タイプのテレビゲームカートリッジに使用する、ゲーム装置、ゲームシステムおよび方法 | |
JP4409360B2 (ja) | エミュレート装置及び部品、エミュレーション方法、記録媒体、プログラム | |
JP3667191B2 (ja) | ストリームデータ再生装置及び方法並びに記録媒体 | |
JP3019351U (ja) | コンピュータ用外部記憶装置 | |
JP2924742B2 (ja) | パーソナルコンピュータ用ゲームボード | |
EP1136996A2 (en) | Apparatus and method for reproducing stream data and recording medium | |
JP2001188449A (ja) | 印刷制御装置、印刷方法、及び記憶媒体 | |
EP1370333A1 (en) | Information processing system, entertainment system, startup screen display method and information recording medium | |
JP2001149638A (ja) | ビデオゲーム装置、ビデオゲーム記録方法、及び媒体 | |
AU2001236016A1 (en) | Information processing system, entertainment system,startup screen display method and information recording medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20040921 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20041020 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041118 |
|
A911 | Transfer of reconsideration by examiner before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20041124 |
|
A912 | Removal of reconsideration by examiner before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20050107 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070723 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070815 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100824 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110824 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110824 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120824 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120824 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130824 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 |
|
LAPS | Cancellation because of no payment of annual fees |