tunozemichanの日記 / tunozemichan's diary

SORD社のコンピューターM68やM68MXの解析についての備忘録です。This blog is a memorandum about the analysis of SORD's computers M68 and M68MX.

SORD M68MX(m68k binary)のROMを逆アセンブルする。

SORD M68MXのROMを吸い出しました。EVENとODDに分かれていますが、WinHexを使ってマージしました。m68kのROMイメージを逆アセンブルする良いツールがなりません。古いとは言え、これほどメジャーなMPUの逆アセンブラが無いのは不思議です。ネットで見つかるものはすべて、途中で解析不能になってしまいます。

 

あれこれ調べましたが、うまくいかず、愚痴をTwitterでつぶやいたところ、GNUbinutilsがあるよと教えてもらいました。喜び勇んで、最新版をダウンロードして、target=m68kでコンパイルしようとしたら、サポートしていないとのこと。バージョンを下げるしかないのかと思いつつネットをさまよっていたら、なんとubuntuリポジトリにはm68k用にbinutilsがあるとのこと!早速インストールしました。

 

sudo apt install binutils-m68k-linux-gnu

 

これであっさりバイナリツールが手に入りました。早速、逆アセンブルしたいファイルを入力してみます。

 

m68k-linux-gnu-objdump -D -b binary -m m68k BIOS.BIN

 

バッチリでした。綺麗に逆アセンブルされています。みんなGNUのツールを使っているから敢えて新しく作る必要はなかったんですね。これでゆっくり解析していきます。

 

(追補)

S-recordにもできるみたい。

 

m68k-linux-gnu-objcopy -I binary -O binary -B m68k BIOS.BIN bios.srec

 

(以下、余談)

いろいろ探しているときにエミュレータmameを使えないかと思い、試しました。mameデバッグモードは素晴らしいですが、サポート外のマシンのROMは当たり前ですが読めません。各CPUの起動時の挙動を調べるのには滅茶滅茶便利だと思いました。