2016/04/28

SASI HDD処理の解析

まず、BIOSについて。

当時の各種解析本によれば、
  • FDCRED…読み出し
  • FDCWRT…書き込み
  • FDCVFY…ベリファイ
  • HDINIT…HDD初期化
  • HDOFFS…ハードディスクのOFF(HDOFFコマンド?)
以上が、SASI HDDに関する処理。

解析したところ、HDINIT と HDOFFS はSCSIにおいては特に何もしなくて良さそう。FDCVFY はいきなり RET 命令なので、当然何もしなくて良い。これ以外に呼び出されている部分が無いか検索しましたが、BIOS 部分では見つけられず。

あと BIOS から RAM上に展開される処理があって、これにも対応が必要です。なぜ RAM上に処理が必要なのかというと…いまさら説明するまでもないので割愛。

BIOS から RAM上に展開される処理は、
  • HDDMAS
で、こいつもSCSI対応が必要です。

次に、アプリケーションまわり(BASICやturbo CP/M)について。
  • "HD FORMAT    .Uty"
  • "HD MAP       .Uty"
  • "DISK SYSGEN  .Uty"
  • "DISK UTILITY .Obj" 
  • HDOFF.COM(turbo CP/M)
  • HDMAINT.COM(turbo CP/M)
以上が、SASI HDDに大きく係わるものです。

この中で、"HD MAP.Uty"と"DISK SYSGEN.Uty"はBIOSが動けばそのまま動きそうなので後回しにします。

BASIC用ソフトの中身をざっと見たところ"DISK UTILTY.Obj"が肝となる事が分かります。これを解析したところ、SASI HDDのフォーマットをマシン語で行っているだけで、SCSIでは不要なものばかりでした。"HD FORMAT"ではマシン語処理を呼び出さずに、BASIC側では常にフォーマットが正常終了したものとして判断してやれば、このままでSCSIに対応できそうです。

あと、turbo CP/Mのコマンドですが、HDOFF.COMは名前の通りのもので、HDMAINT.COMは既知のBIOSファンクションを呼び出しているだけのもので、とくになにもしなくて良さそうです。

0 件のコメント:

コメントを投稿