PlayStation on Zaurus?――エミュレータ考察

最近、ザウルスな世界でpdaXromが話題になっているようです。X-window systemを搭載していることで、Linux系のソース資産がより活用できる可能性を秘めていますが、個人的に気になるのは、やはりゲームだったりします(^^;;


中でもPlayStationエミュレータは、世の中で数多く制作され、相当数のタイトルが普通に遊べるほどの安定動作を果たしています。その一つ、「PCSX」は、Linux版も存在し、オープンソースで公開されているので、活用しない手はありません。PCSXでは、GUIの補助としてGTK-1.2.5(元はGimpと呼ばれるフォトレタッチソフト用のツールキットライブラリ)を使用しているのですが、pdaXromでもややバージョンが低いものの、1.2.1が公開されているようです。素晴らしい。


となると、プログラミングの障害はほとんど無い!と思って喜んでPCSXソースコードを入手してみました。が、よくよく眺めてみると、PCSXは「ダイナミックリコンパイラ」と呼ばれるものを搭載していて、元々のPSに搭載されているR3000と呼ばれるCPUのアセンブラ命令群を、各種プラットホームに合わせて変換しなおすことで高速化しているようです。そして、現在のところ変換をサポートしているCPUは、x86系列(AT互換機向け)、、SH4系列(ドリームキャスト(!)向け)、PowerPC系列(MacOS X向け)のみ。つまり、ARM系列(Xscale、つまりザウルスのCPU)が無い_| ̄|○
0からエミュレータをがりがり書くよりはずっと楽だとは思いますが、命令群の変換が出来る程ARMについて詳しいわけでもないので、今のところ手を出さないほうが無難っぽいです。が、どうもPowerPC系列に限ってはリコンパイルしなおしているコードが見当たらないので、もしかすると何か上手いことできるのかもしれません。あまり期待せずにもうちょっと眺めてみます(^^;;;


# pdaXromでは、OpenGL互換のMesaGLが既にサポートされているようなので、KLIMTなどと
# 共通して何か作ることもできそうですね。一番の課題は時間との兼ね合いでしょうか。