case 0xB3:
cprintf("STATUS: Volume in use (INT 13H
extensions)");
break;
case 0xB4:
cprintf("STATUS: Lock count exceeded (INT 13H
extensions)");
break;
case 0xB5:
cprintf("STATUS: Valid eject request failed (INT
13H extensions)");
break;
case 0xBB:
cprintf("STATUS: Undefined error occurred (hard
disk only)");
break;
case 0xCC:
cprintf("STATUS: Write fault occurred");
break;
case 0xE0:
cprintf("STATUS: Status register error");
break;
case 0xFF:
cprintf("STATUS: Sense operation failed");
break;
default: cprintf("STATUS: UNKNOWN Status CODE");
}
printf("\nCurrent position= Track:%d Head:%d Sector:%d \n",
track,head,sector);
}
gotoxy(10,24);printf("Scanning Completed!! Press Any Key TO
Exit..");
getch();
}
The program shows the example of use of functions int86 and int86x functions. In this Program the int86 function is initializing the disk by resetting the disk system, using function 00H of INT 13H. The int86x function is verifying every sector of the floppy (1.44Mb, 3½ floppy disk) from both sides, up to 0 to 79 tracks ( total 80 tracks) using the function 04H of INT 13H.
|