薄型のPlayStation3が発売間近だ。

PlayStation 3(120GB) チャコール・ブラック(CECH-2000A)PlayStation 3(120GB) チャコール・ブラック(CECH-2000A)
販売元:ソニー・コンピュータエンタテインメント
発売日:2009-09-03
クチコミを見る

PLAYSTATION3というコンピュータから、PlayStation3というゲーム機に格下げになってしまった事を象徴するかのように「その他のシステム」の起動機能が削られる等の変更はあったものの、基本的にはデザインと値段以外は変わらない(BRAVIA LINKは嬉しい人は多いだろう)。

新型のPS3で筐体デザイン以外で話題になったのがPlayStation2との互換機能(PS3でPS2のゲームが遊べること)だ。本体コストダウンのため、当初は搭載していたPS2互換機能が需要のある機能でありながら、コストダウンのためにある時点から本体から削除されたという経緯がある。

手持ちのPS2のゲームを遊ぶにはPS2も維持しなければならない。PS3を手に入れたらPS2は手放したいものだ。PS3の高画質でPS2のゲームを遊びたいという需要もあるだろう。「いずれシステムアップデートでPS2の互換が復活するのではないか」という憶測も飛び交っている。

このPS3のPS2互換機能について、簡単にまとめておく。

互換の対象

どうやって互換を取るのか把握するため、まずはPS3,PS2の中身の仕組みをざっくりと把握しておく必要がある。

PS3はCell B.E.というCPUと、RSXというGPUで構成されている。パソコンで言うところのCPUとGPUの関係とほぼ同じだ。一方PS2はEmotion Engine(EE)というやや癖のあるCPUとGraphic Synthesizer(GS)というGPUに相当する半導体で構成されている。「PS3でPS2のゲームを遊ぶ」ためには、EEとGS用に作られたプログラムを、PS3上でそのまま実行することが出来ることだ。大きく分けて二つのアプローチがある。ハードウェアで実現する方法とソフトウェアで実現する方法だ。ハードウェア互換えはでは部品が余分に必要になる分、そのコストが本体価格に跳ね返り、ソフトウェアでは別のCPUをエミュレーション(バイナリトランスレーション)するのに十分な処理能力とアルゴリズムが必要になる。

初期のPS3(60G,20Gモデル)の方針

初期のPS3では、ハードウェア互換を採用していた。本体の基盤の上に、PS2のCPUとGPUに相当する"EE+GS"というチップが載っている(参考)。これはもともとEEとGSという別々のチップだったものがコストダウンの結果統合されたものだ。参考先にある、マザーボード表面の左側がそれ。EE+GSのすぐ上に付いてる黒い2つのチップはEEのメインメモリ(PS2のメインメモリ)だ。初期のPS3には、PS2がまるまる一台載っていたのだ。当然部品点数も増えるし、安くなったとはいえ単価の高いCPUが載っていて、しかもPS2のゲームを起動していないときには遊んでしまっている。コスト構造としては最悪だ。これは後の40GB版PS3ですべて削減される(PS2互換機能の廃止)。

欧州版PS3の方針

一方、PS2との互換性のニーズが日米ほど高くなかったためか、欧州版のPS2互換は若干事情が異なる。EE+GS(とPS2用メモリ)を搭載した初期型のPS3とは異なり、EEはCell B.E.によるソフトウェアエミュレーション(バイナリトランスレーション)、GSはハードウェア互換という構成を採用した。EEはバイナリトランスレーションの目処が立ったものの、GSをCell B.E.とRSXでエミュレーションすることは困難だと判断された結果だろう。詳細は後藤弘茂のWeekly海外ニュース:欧州で登場した“低コスト版”PS3の正体が詳しい(なお、記事中ではサウスブリッジにGSが接続されていると予測されているが、実際にはなんとRSXに接続されていた)。

今まではEE+GSとメモリのすべてを搭載しなければいけなかったところを、メモリを廃し、EE+GSをGSだけに置き換えたことになる。メモリがCell B.E.用のものと共通化することが出来たとはいえ、もともとワンチップだったEE+GSが、GSだけのチップに置き換わったことによるコストダウンの効果は疑わしい。EEを削減した分、ダイ面積は確実に減るだろうが、EE+GSなら併売しているPS2とも部品を共通化できるものの、GSだけとなるとPS3専用設計となってしまうのもコストとしては不利だ。

また、EEハードウェア互換に比べて、互換性の制度が極端に悪かったことも問題だ。当時公開されていたPS2ソフトの互換性リストでも、欧州版は散々な状況だったと言える。

なぜGSのソフトウェア互換が難しいのか

上記リンク先に答えが書いてあるが、GSがソフトウェアでエミュレーションできない理由は、GSが扱うメモリの構成にある。そもそもGSのメモリ(VRAMに相当する)はGSのオンダイ(同一の半導体チップ上)に実装され、マザーボード基板上の回路を介さない。このため非常に速いメモリアクセスを実現している。

また、オンダイで実装したため4MBと小容量になってしまった弱点を補うため、EEのメインメモリと広帯域のバスで接続されていて、頻繁にデータをスワップさせている。Cell B.E.とRSXの構成では、オンダイの超高速メモリも、超広帯域バスもない(単純な広帯域バスならばFlexI/Oがあるが、この用途には使えない)。

このため、GSをCell B.E.とRSXでエミュレーションすることは原理的にかなり難しい(ほぼ不可能)と言える。

加えて、XBOXのDirectXのようなAPIの不在も問題だ。EE+GSで性能を絞り出すには、いわゆるマシン語による、EE+GSに特化したプログラムを記述する必要があった。つまり、移植性がきわめて低い(=エミュレーション難易度が非常に高い)。XBOXとXbox360の互換の場合は、マシンアーキテクチャは全く異なるものの、GPU周りは基本的にはDirextXの実装だけで済む。DirextXを使っている限り、中身の詳細なアーキテクチャは隠蔽される。

しかし、PS2互換の場合にはGSの半導体としての挙動をすべて(しかもリアルタイムに)忠実に実装しなければならない。これはエミュレータ側で相当の努力をしなければならない。仮にGSのソフトウェアエミュレーション化が実現できたとしても、欧州版(EEのエミュレーションのみ)でも相当数のPS2ソフトが動作しなくなったことを考えると、絶望的な互換性しか実現できないだろう。ソフトウェアエミュレーションの精度を上げるための継続的な修正が必要となる。

実際、Xbox360のXBOX互換はエミュレータのバージョンアップ(というか、動作させるソフト毎のチューニング)を継続的に行っていた。だが、巨大なシェアを獲得し、無数のPS2ソフトで同じ事をやるとなるとわけが違う。XBOX互換は、XBOXが売れなかったから出来る方式とも言える。これがGSのソフトウェア互換方式が難しい理由だ。

PS2互換の実現可能性

ここまで見て明らかなように、ハードウェア互換は商品価格を犠牲に互換を取る方法、ソフトウェア互換はランニングコストを犠牲に互換を取る方法だ。当初の「PS3がトップシェアを獲得することを前提としたモデル」では、多少本体価格が高くてもハードウェア互換を採用し、十分な互換性確保の目処が立ったところでEEをエミュレーションに切り替え、本体価格を引き下げるという目論見があったのではないだろうか。

しかし現実は、PS3のシェア争いは苦戦を強いられている。当初の想定ほど、ハードウェア普及とソフトのライセンス収入の正の循環構造を構築出来なかったと言える。思ったほどの利益が得られないのであればコストを削減するしかない。そのため、PS2からの買い換え需要の機会損失や、PS2の併売リスクなどを天秤にかけてでも、PS2の互換機能を削減せざるを得なかった。それだけ本体価格引き下げと、ソフトウェア互換の保守維持費用削減のコストダウン効果が大きいことを意味している。

PS2互換機能が復活するためには、互換機能による普及機会と維持コストもう一度天秤にかけなければいけない。確かにテレビラックにPS2とPS3を両方置くスペースは無いかもしれないが、いずれPS2のゲームが起動する回数は減る一方で増えることは無いだろう。時間が経てば経つほど、互換機能の旨味は減っていくことになる。そこに一度は減らしたコストを再度計上するとは考えにくい。そのコストはPS3の前向きな機能拡張や、PlayStation4の開発にかけるべきだ。確かに互換機能が無いことで損をしている部分は大きいだろうが、本体価格にこれ以上コストの上乗せはできないためハードウェア互換は難しく、ましてランニングコストを上げてしまうことなど出来ないため、ソフトウェア互換も難しい。

ハードウェア互換を削減した、40G版以降のPS3にもシステムアップデートによるPS2互換が期待されているが、技術的な実現可能性が限りなく低いうえ、時間と継続的なコストがかかるとすればPS2互換機能の復活はほぼ無いと言える。今更、高いコストをかけて不完全な互換性を実現することは考えにくい。

もしPS2互換が復活するとすれば、次期モデルでのハードウェア互換の可能性がわずかにある程度だろう。それもPS2互換を必要としない人向けの廉価版をベースに、拡張カードのような扱いになるのではないだろうか。