/// ディスクシステムを初期設定しなさい \\\
for(i=0; i<3; i++)
{
regs.h.ah = 0x00; /* 調整ディスクシステム*/
regs.h.dl = 0x00; /* フロッピー・ディスクa: */
int86(0x13, ®s, ®s);
}
result = _bios_disk(_DISK_WRITE, &dinfo);
if ((result & 0xff00) == 0)
{
gotoxy(10,14);
cprintf("ディスクは状態を書く: 成功した。\n");
}
else
{
gotoxy(10,14);
cprintf("ドライブaの状態を読むことができない = 0x%02x\n",
result);
gotoxy(10,16);
switch(result)
{
case 0x00:
cprintf("\n\n 状態: 間違い無し!!");
break;
case 0x01:
cprintf("\n\n 状態: 悪い命令");
break;
case 0x02:
cprintf("\n\n 状態: 見つけられないアドレスマーク");
break;
case 0x03:
cprintf("\n\n 状態: 書込み禁止ディスクに書く試み");
break;
case 0x04:
cprintf("\n\n 状態: 見つけられないセクター");
break;
case 0x06:
cprintf("\n\n 状態: ディスクは最後の操作以来変わった");
break;
case 0x08:
cprintf("\n\n 状態: ダイレクト・メモリ・アクセス(dma)は過剰運転する");
break;
case 0x09:
cprintf("\n\n 状態:64K境界を渡るdmaを行う試み");
break;
case 0x0C:
cprintf("\n\n 状態: 見つけられないメディアタイプ");
break;
case 0x10:
cprintf("\n\n 状態: 読まれるディスクの悪いCRC/ECC");
break;
case 0x20:
cprintf("\n\n 状態: コントローラーは失敗した");
break;
|