MSXエミュレータを動かしてみる

昔から色々動かしてはいるんだけど、まとめってことで書いてみる。ちなみに環境はSL-C760でノーマルカーネルSDLONScripterのライブラリに含まれているものを使用。zlibが必要になる場合もあるので入れてある。

http://ww5.et.tiki.ne.jp/~moduler/zaurus/index.html
fMSX (2003/01/07公開,2003/01/11ソース用パッチ公開)
http://www002.upp.so-net.ne.jp/zry/Recommended/SLC700/fmsx.html
fMSX (2003/01/07公開)
http://www002.upp.so-net.ne.jp/zry/Recommended/SLC700/index.html
Zodiac (2003/01/18公開)
http://www.castanet.homeip.net/~tos/sl-c700.html
fMSX (2004/02/01公開)

上記4つについて動作を確認してみた。

  • 「.gz」は「gzip -d fmsx.gz」のように解凍
  • 「.bz2」は「bzip2 -d fmsx.tar.bz2」のように解凍
  • 「.tar」は「tar -xvf fmsx.tar」のように解凍

解凍できない場合は公開しているホームページの(サーバの)仕様で実行ファイルをそのまま上げられない都合などから、暫定的にファイル名の最後に適当な拡張子(「.bin」や「.gz」など)を付けている場合があるので、リネームして使えばいい。
尚、実行属性が付いていない場合もあるので「chmod +x fmsx」などのようにして付けるといい。
今回、ROMファイルは実機から吸い出したMSX.ROMと、コナミMSX用ゲームソフト「ツインビー」のカートリッジから吸い出したtwinbee.romを用意した。前者はザウルスの本体メモリーにコピーする際、小文字になってしまう場合があるので「mv msx.rom MSX.ROM」のように大文字にリネームしておく。これらのROMファイルはfmsxやzodiacの実行ファイルと同じディレクトリに置けばいい。実行方法はfMSXの場合は・・・

./fmsx -msx1 -lowres -uperiod 4 twinbee.rom

Zodiacの場合は・・・

./zodiac twinbee.rom

fMSXについては起動時に-msx1オプションを付けておかないとMSX2.ROMが無いとか怒られる。また、-lowresオプションを併用すれば描画領域が狭くなるので速度があがる。-uperiodオプションでフレームスキップを4とかにすると動きは悪くなるけど速度はあがる。ただし、サポートされてなかったり、うまく動作しない場合もあるので注意。
画面サイズが小さい場合はQVGAモードにすればいい。
ちなみに音もちゃんと出ている。FM音源に関してはFMPAC.ROMなどが必要になると思われる。速度的にはZodiacが一番早いような気がする。続いて、TOSさんのfMSXかな?あと、fMSXはHomeキー(F12キー)で終了できるが、ZodiacはHomeを押した後、Cancelでターミナルに戻って、Fn+Cで強制的に終了させなきゃいけないのかな?そうしちゃったけど。
足りないキーの操作に関してはqpe.confをいじるしかないかなぁ〜?普段の操作で困るけど、それは逆にKeyHelperで正規のを割り当ててやったりとかだと無理かなぁ〜??