PSやろーぜ'99[第3回]

■ 目覚めよCD-ROM !!

せっかく実行の基本部分が出来ているのだから、ゲームを起動してみたいと考える のが普通でしょう。現状では、ゲームなんて動かすのはほとんど不可能なのでSCE ロゴの次に、CDを検知したあとに出てくるPSロゴが表示できるまでがんばってみる ことにします。

初期バージョンではCD-ROMのリードコマンドさえも実行されないうちに止まってし まって、CD-ROMのチェックさえもされない状況でしたが、苦労の結果、なんとかリ ードコマンドが発行されるまでエミュレーションを続行できるようになりました。 CDアクセスのログを見てみると、起動時のCD−ROMドライブのチェックかなんかの あとにDMAを使って1トラック分データを読み込んでいます。

さあ、ここでどうやってCD-ROMのアクセスするかという問題になるわけですが、い い解決法が身近にありました。PS-EmuのプラグインにASPIドライバがあったのに注 目し、ASPI関連の書籍をあさることにしました。手元に一番いい参考書 (InsideWindowsのASPI特集)があったことに気づいてそれを使うことにしました。 なんと言っても、ATAPIのCD-ROMがASPIで使えるというのは驚きでした。

簡単なASPIプラグインを作ってエミュレーションをしたところ、CD-ROMをリードし て次の処理に進行することに成功することができました。いやあ、苦労しました。 ログをみてみたりデバッグ画面を見てみると、確かにCD-ROMからSCEの著作権表示 のテキストを読み込んでいるようです。おそらく、CDチェックの部分かと思われま す。まず、1トラック分を読み込んで、次に数トラック分を読み込むさまを示すロ グが確認できました。

これで、CDからゲームが出来るぞっと思っていたらいきなり一般保護違反がでてき てしまいました、しかもGPUプラグインの所で。ログを見てみると、やっとGTEの使 用が確認できました。どうやら、GTEの実装をしていないので未処理の怪しいデー タをそのままGPUに送ってしまっているようです。こっこれは、もしやPSロゴまで 辿り着けたのでは、と思った瞬間でした。まだ、画面を見れない(落ちるから)ので 確信は持てないのですが、GTEを実装しなければならないのは確かなようです。

- 2000年1月12日 -

[戻る]