Raspberry PiでPlayStationエミュレータを動かす

DSC_5488.jpg

RPiでプレステのエミュレータを動かしている記事を見かけたので、試してみました。

Better PlayStation Emulation on the Raspberry Pi | Shea Silverman's Blog

Windows用のエミュレータのPCSXをARM Linuxに移植したもののようです。

上記のページにあるリンクから、pcsx_rearmed.zipをダウンロードします。
これをUSBメモリか何かでRPi上に持って行き、解凍します。
また、実行ファイルのExecuteビットが消えてしまっているので、chmodします。

 unzip -x pcsx_rearmed.zip
cd pcsx_rearmed/
chmod +x ./pcsx

起動は

./pcsx

ですが、現状では、サウンド出力がうまく動かないようです。
そこで、サウンドのプラグインをNULLに設定します。

起動後、メニューからOptions→[BIOS/Plugins]と選択し、SPU Pluginのところでカーソルキー左右で「spunull.so」を指定してください。

あとは、PlayStation用ソフトのCDROMイメージ(ISOファイルなど)を指定すればゲームを起動できます。
エミュレータのキー操作は、初期状態では
・v, c    … Select, Start
・カーソル  … 上下左右
・d, s, z, x … コントローラ右側の4つのボタン
・w, e, r, t … L1,L2,R1,R2
となっています。

昔は、この手のエミュレータはPlayStationのBIOSのイメージファイルが必要だったものですが、このエミュレータは互換BIOSが入っていて、大抵のゲームは動くようです(一部のゲームは正規のBIOSが必要とのこと)。

エミュレーション能力ですが、RPiの性能から想像していたよりも結構速くて、少し驚きました。
フルスピードとは行きませんが、そこそこ遊べる程度の速度で動いてくれます。
PlayStationはCPUは確かMIPSの33MHzくらいでしたので、700MHzのARMでエミュレートはできないことはないかもしれませんが、グラフィックのほうはRPiのGPUの3D機能も使っているのかもしれません。

音が出ないのは残念ですが、問題はRPiのサウンドドライバとの組み合わせにあるようです。
手持ちの古いUSB Audioアダプタを接続してみたところ、遅延やブツ切れはひどいものの、音はちゃんと出ました。

USBサウンドアダプタのドライバは自動認識されますが、先に認識されているRPi側のデバイスが優先されてしまいますので、

sudo modprobe -r snd_bcm2835

で強制的にデバイスを外してUSB Audioのほうを使わせます。

ちなみに、このエミュレータは画像・音関係はSDLを使っているらしく、X Windowなしでも動作します。
ただし、コンソールから起動してエラーになると、コンソールが使えなくなってしまう可能性が高いので、動作が確認できるまではX Window上で動かすことをお勧めします。

コメント