READ DIAGNOSTICコマンドとREAD IDコマンドを使って、セクタの並びを表示する。 エミュレータで実行する場合、D88などのセクタの並びが保存されるディスクイメージでなければ正常に動作しません。 実行してみた所。1.2MB 2HD MS-DOSフォーマット 640KB 2DD X1のHu-BASICフォーマット。手近にセクタが順番に並んでいないフロッピーディスクが無くて、実行しても面白味がない。 PC-9801DISK BASICのフロッピーが インターリーブ していました。 しかも、シリンダ0のヘッド0のみ FM 方式です。 シリンダ0ヘッド0 以外は普通に MFM でした。 つまらないサンプルプログラムですが、なにかの役に立つかもしれません。 一式ダウンロード readsseq.c /* PC-9801フロッピーディスクBIOSを使ってみるサンプル フロッピーディスクのセクタシーケンスを調べる。 FDCの動作を正確に再現するPC-9801エミュレータは少ないので、エミュレータで動作確認をする場合は注意を要する。 LSI C-86 Ver.3.30 試食版用 lcc -o readsseq.exe readsseq.c diskbios.c のようにしてコンパイルすればよい このソースコードは CC0 パブリック・ドメイン提供です。 https://creativecommons.org/publicdomain/zero/1.0/deed.ja 2016年1月29日 2016年5月17日 佐藤恭一 kyoutan.jpn.org */ #include <stdio.h> #include "diskbios.h" #define SECTMAX 32 /*最大セクタ数 1セクタ256バイトの時26なので余裕を見て32くらい*/ #define BUFFSIZE (8*1024) unsigned char BUFF[BUFFSIZE]; int main() { unsigned short count,startpos; unsigned ...