/// 디스크 체계를 초기화하십시오 \\\
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;
|