///Initialisierenscheibe durch das Zurückstellen des Plattensystems \\\
gotoxy(10,2); printf("Initialisierung die Scheibe…");
for(i=0;i<3;i++)
{
inregs.h.ah=0x00; // Funktion Zahl
inregs.h.dl=0x00; // Diskette
int86(0x13,&inregs,&outregs);
}
gotoxy(10,2); printf("Der Status der Scheibe ist wie….\n");
/* Die Diskette von 0 bis 79 Schienen (Gesamtschienen 80) ablichten */
for(track=0;track<=79;track++)
for(head=0;head<=1;head++)
for(sector=1;sector<=18;sector++)
{
inregs.h.ah = 0x04; /// Funktion Zahl
inregs.h.al = 1; ///Zahl der Sektoren
inregs.h.dl = 0x00; /// Diskette
inregs.h.ch = track;
inregs.h.dh = head;
inregs.h.cl = sector;
inregs.x.bx = FP_OFF(buf);
sregs.es = FP_SEG(buf);
int86x(0x13,&inregs,&outregs,&sregs);
//// Den Status des abgelichteten Sektors drucken \\\\
switch(outregs.h.ah)
{
case 0x00:
cprintf("STATUS: Keine Störung!! ");
break;
case 0x01:
cprintf("STATUS: Schlechter Befehl");
break;
case 0x02:
cprintf("STATUS: Adresse Markierung nicht gefunden");
break;
case 0x03:
cprintf("STATUS: Versuch, zu schreibgeschützter Scheibe zu schreiben");
break;
|