-------------------------------------------------------------------
この記事はすでに古い内容です。新しい記事をご覧下さい。
-------------------------------------------------------------------
CP/M-68Kのディスクイメージ(ここではcpm68k_image.hfeと呼びます)をFacebookで親切な方から頂きました。cpmtoolsを使って、このディスクにアクセスしたいと思います。
頂いたディスクイメージはHxCFDDエミュレータ用のhfe形式でした。このままだとFDDエミュレータを搭載した実機でブートする以外は基本的に何もできない状態なので、まずは、HxCのユーティリティHxCFloppyEmulator.exeを実行して、生のセクタイメージへと変換します。これは簡単にできて、cpm68k_image.hfeを上記ユーティリティに読み込ませて、Floppy image->Export disk/Save Asと進み、セーブ画面でファイルの種類を"IMG file(RAW Sector file format)”を選択してセーブします。今回は、cpm68k_image.imgとします。
cpmtoolsをダウンロードします(http://www.moria.de/~michael/cpmtools/
)。Windows版もあります。以下の作業は全てWindows版で行いました。ディスクの定義ファイルであるdiskdefsを開き、以下のエントリを追加します。
diskdef m68disk
seclen 256
tracks 77
sectrk 36
blocksize 2048
maxdir 256
skew 0
boottrk 2
os 2.2
end
***追記***
seclenから始まる左のスペースは、Tabです。これを守らないとエラーが出ます。
***追記終わり***
上記の設定はセクタ数が明らかに間違っていますが、この値でないとファイルが見れません。
SORD M68のFDDは三菱のM4854です(枝番はありません)。このFDDのパラメータを元に上記諸元を求めました。
プロンプトから、以下のように入力すればディスクの中身を見れます。
>cpmls -f m68disk cpm68k_image.img
ちなみに、cpm68k_image.imgの中身は驚くほど少なく、以下の6ファイルのみです。
cpm.sys
ed.68k
pip.68k
reloc.68k
stat.68k
sysgen.68k
これで、ディスクの中身を見ることができるはずです。更に、ファイルをPCにコピーするには、以下のように入力します。
>cpmco -f m68disk cpm68k_image.img 0:*.* .
これでディスクの全ファイルがPCのカレントディレクトリにコピーされます。PCからディスクにコピーすることもできます。詳しくはcpmtoolsのページを見てください。
本来、CP/M-68Kは標準でCコンパラがついてくるのが目玉だったはずですが、SORDはずいぶんと吝嗇家のようです。アセンブラさえ入っていません。開発環境は別売だったのだと思います。
ディスクの中身にアクセスできるようになったことは解析だけでなく普段使いにおいても大きな一歩だと思います。CP/Mのアンフィシャルサイトから、CP/M-68Kのイメージを手に入れて、Cなどの開発環境をコピーすることもできるようになります。ただ実際にそうやってコピーしたものが動くのかどうかは、私の環境では実機がまともに動いていないので確認できていません。ですが理屈の上では動くはずです。reloc.68kがあるので絶対値に変換もできるでしょう。
SORD M68専用のCP/M-68Kのcpm.sysが手に入ったことは解析にとっては非常に大きいです。これで、BIOSを得ることができたと思います。
SORD M68の解析がまた一歩進みました。