vscode
vscodeから貼り付け
あ
/*
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
#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 char drive,mod,c,h;
unsigned char sechead,seccount;
drive=0; /*ドライブ番号 0-3*/
c=0; /*シリンダ番号*/
h=0; /*ヘッド番号 0-1*/
/* 0シリンダに移動 */
if(! track00(FD2HD | drive))
{
/*エラー*/
puts("RECALIBRATE ERROR");
return FALSE;
}
/* ディスクのタイプを調べる FM/MFM 2DD/2HD 48tpi/96tpi */
if(! (mod=sectsence(drive, c, h)))
{
puts("ID read error");
return FALSE;
}
}
あ