2008 年 1 月 17 日

PS2エミュの難しさ


ソニー・コンピュータエンタテインメント中途採用情報


■募集職種
PLAYSTATION®3 互換機能開発エンジニア

■業務内容
PS3および次世代システムにおいて、PS/PS2/PS3/PSPを対象としたエミュレーターの実装と改良

■必要とされる専門性・経験
・OSおよびデバイスドライバ。
・リアルタイムシステム。
・ゲームプログラミングの経験があればかなり有利です。
・OS下回り・組み込みなどの経験があれば尚可。
・英語ができれば尚可。

これだけのスキルがあればMSにだって行けるだろ……


こんにちは、montaです。


初期型のPS3にはPS2互換性のためにPS2のCPU+GPUである「EE+GS」を載っけており、PS2ソフト資産全体の動作は怪しいながらも一応、動くゲームは動いていたのですね。

PS3でPS2をやるメリットとしては「アップコンバート」機能が挙げられます。その名のとおり、PS2のゲームの解像度をハイビジョン並、とまでは行かないまでもそこそこアップしてくるのですね。丁度、PS2でPS1をやるとテクスチャ補完をしてくれる機能のグレードアップ版な感じです。

基板がシュリンクされた欧州版ではEEが取り外され、GSモドキが載っていました。ここでだいぶ互換性は下がったみたいですが、それでもまだ一応何割かのゲームは動いていたようです。(つまり、CPUであるEEエミュレータがある程度、形になっていたということ。)

で、問題は昨年暮れに発売された40GB版PS3。(値下げの効果もあって、発売週は売れていたようです。)
このモデルにはGSすら搭載されていなく、PS2との互換性は一切ありません
でも多くの人は「PS3でPS2をやりたかったら併売されている初期型を買えばいいや」と思うだけでした。私もその1人です。

しかし、先週の発表。
SCEI、「プレイステーション 3」HDD 20GB/HDD 60GB国内出荷完了。今後は40GB搭載の新型PS3に集約


事実上のPS2互換性打ち切りです。

何故かと言うと、40GB版新型PS3のようにEEもGSも入っていない環境では完全にソフトウェアだけでエミュレートしなければならないのですが、PS3のスペックからして無理なのですよ……

GIGAZINEの記事ではあたかも、「新型PS3にPS2互換を搭載する」というように読めますが、実際は↑の互換機能開発エンジニア募集は新型PS3が発売される前から掲載されています。
(つまり、初代PS3向けのエミュ開発者の募集だったという可能性の方が高い)


マシンアーキテクチャに造詣が深い方ならご存知かと思いますが、PS2のGPUであるGS(Graphics Synthesizer)とそのVRAMであるeDRAM間は『2560bit』という正に1桁違うバス幅で接続されており、接続速度は48GB/secにまで達しているのです。

GPU-VRAM間の2560bitがどれくらい凄いかと言いますと、製造プロセス・コストの違いで一様に比較は出来ませんが(そもそもeDRAMはGPUに混載されているわけで。)、今度出る最新のGeForce 9800GTXが512bit接続、普及価格帯のビデオカードは今も128bit接続なのを参考にしてください。

もっとも、いくら接続速度が速くてもPS2のeDRAMは「たった4MB」しか載っていなくしかもテクスチャ圧縮機能もなかったのでVGAサイズの画面を出すだけでひぃひぃだったのですが。

しかし、そのたった4MBのeDRAMこそがPS2エミュレートの際の最大のガンなのです。

追記:
私なりにPS2とPS3のブロックダイアグラムをまとめてみました。



クリックで大きくなります。ネット上にあった情報をまとめただけですので、不正確な部分もあると思います。
信用には全く値しないのでご注意ください。



PS3のCPUであるCELLとメインメモリ(XDR RAM 256MB)間の帯域は25.6GB/secです。
GPUであるRSXとVRAM(GDDR3 256MB)との帯域は22.4GB/secです。

もう解りますね?PS3では48GB/secの速度が出せず、PS2のグラフィックス処理が追いつかないのですよ。。
つまりエミュレートしても遅延が発生してしまうわけです。
しかもPS2は初期にライブラリが整備されておらず、各メーカーがアセンブラで直接ハードを叩いていて、中にはハードにトリッキーな方法で(通常想定していない)アクセスをしているソフトもあるんですよ。
そういったソフトはハード構成が些細に変化するだけで動かなくなります。スリム型PS2(SCPH-75000)で動かなくなったソフトがありましたね。
ましてやタダでさえ不完全なエミュ上で動かすなんて無理難題過ぎます。


PS2を将来的にエミュレートし易いアーキテクチャにすれば良かったのですけどね。当時のSCEは変態的アーキテクチャながら圧倒的なパフォーマンスを取ったようです。
PS4があったとしたらPS3のエミュレートなんて一体どんな方法を使うのでしょう?
Cellの上位互換CPUを載せるしか方法は無いと思います。



さて、私的にPS2互換以上にショックだったのが「SACD再生機能のオミット」
実はこっちの方が深刻です。
規格策定から既に8年以上経過しても一向に普及しないSACDの最後の頼り綱として、家電とは比較にならないぐらい台数が出るであろうPS3にSACD再生機能を盛り込んだのはソニー本社の英断だったと思います。

さらにかないまる氏を筆頭にソニーの敏腕AVエンジニア達が開発に注力し、ファームウェアをアップデートするたびに演算精度アップ、ディザリング処理追加が盛んに実行され名実共に驚異の進化するSACDプレーヤーとして君臨しました。もちろん音質も最高クラスです。
※PS3のSACD再生能力を最大限に発揮するにはHDMIで出力して、ハイエンドのAVアンプに入力させる必要があります。あくまでPS3はトンラスポーターの役割です。
この凄まじいPS3のSACD再生機能を削除するなんて一体どういった了見なのでしょう?
PS2互換のようにわざわざ別途にEE+GSを載っけているわけではなく、完全にCELLだけのソフトウェア処理だと思ったのですが。ドライブのピックアップレンズの波長もSACDとDVDは同一の650nmなはず。
つまりSACDを再生させるためのハードウェアコストはかかっていないはずです。

何で取りやめてしまったのか甚だ疑問です。

そして何より、ヲタ系では珍しくSACDを出しているアクアプラスは涙目です。


このサイトはWBSでも「20GB、60GB版のPS3が駆け込み需要で店頭から姿を消している」と報道されて危機感を募らせるmontaがお送りしております。
Filed under: GAME,日記 — monta @ 23:59