SCEでPS1互換エミュレータを開発した(3)

前編: SCEでPS1互換エミュレータを開発した(2)
後編: SCEでPS1互換エミュレータを開発した(4)


僕達が作ろうとしていたSPUエミュレータは不要のものとなってしまった。しかし、PS2のサウンドプロセッサがなくなるわけではない。先輩と「これからの仕事は何になるんですかね?」「新しいチップのテストベクタでも作るんですかね?」などと話ながら帰ってきた僕に告げられた次の仕事は予想外のものだった。

GPUエミュレータの担当になってくれ。

「え?」という感じだった。GPUエミュレータは別の先輩が担当していた。聞けば、その先輩は会社をお辞めになるというのでその引き継ぎをしろということだった。GPUはグラフィックのプロセッサだ。サウンドからグラフィックへの大転換である。しかし、僕に選択肢などあるわけないのでわけも分からぬまま引き受ける。

僕にとってエミュレータは一種のコンバータだ。古いプロセッサ用の命令を新しいプロセッサ用の命令に変換するのがメインのお仕事だ。実際のところ、サウンドだろうがグラフィックだろうが、変換後の命令の動きが違うだけでそこを理解し、ちゃんとテストができれば問題ない。まぁ、そこが難しいんだが…。
だいたいのところは先輩が既に骨子を作ってくれていた。僕はPS1のGPUの仕様書とPS2のGPU(GS(グラフィックシンセサイザーという))の仕様書を読み、まだ実装されていないところを実装し、なんとか全命令分プログラミングしてみた。

最初に動かすゲームはリッジレーサーだ。PS1のローンチタイトルとして発売されたリッジレーサーを最初の動作目標とするのは感慨深い。PS2においても一番最初に動くPS1タイトルはリッジレーサー、そう思って動かした。
ゲームは起動した。だが、結果はひどいものだった。レース前に登場するラウンドガールにモザイクが入る。周回を重ねる度に画面がピンクになっていく。
でも、僕は動いたことに対しとても喜んだ。(GPUだけとは言え)ソフトウェアエミュレーションでPS1互換を本当に実現できる、そう感じた瞬間だった。

続きのストーリーはこちら!

SCEでPS1互換エミュレータを開発した(4)

みんなの読んで良かった!

STORYS.JPは、人生のヒントが得られる ライフストーリー共有プラットホームです。