2020年3月14日土曜日

XOUT to COFF 変換

ここ暫く作業を続けていた、CP/M-8000のXOUTファイルをCOFFに変換するツールができたので、まとめてGitHubで公開することにします。

xoutulis (GitHub)

当初、いつものようにCで書いていたのですが途中で行き詰ってしまい、気分転換と自分の勉強を兼ねてGoで書き直しました。Goでかいた最初のアプリになるので、かなり変なことをしているかもしれませんが、とりあえず動きます。

公開するツールは、XOUTからCOFFに変換する xout2coff と、ライブラリファイルをXOUTファイルに分割する xarch です。

使い方は単純で、GOPATHをxoututils/ に通して、そのディレクトリで、
$ go build xout2coff
$ go build xarch
とコマンドを打つと、それぞれビルドされて xoututils/ にコマンドができます。
$ xarch libXXX.a
で、ライブラリの展開。

$ xout2coff XXX.rel
で、COFFへのファイル変換ができます。

これで、CP/M-8000をLinuxやWindows上でクロス開発できるようになりました。今はOlivetti M20用のBIOSを読んで、自作Z8001ボード用に書き直す作業に入っています。