/// Disc d'inizializzazione ripristinando il sistema di disc \\\
gotoxy(10,2); printf("Initializing The Disk...");
for(i=0;i<3;i++)
{
inregs.h.ah=0x00; // Function Number
inregs.h.dl=0x00; // Floppy Disk
int86(0x13,&inregs,&outregs);
}
gotoxy(10,2); printf("The Status of the Disk is as....\n");
/* Esplorare il dischetto da 0 a 79 piste (piste totali 80) */
for(track=0;track<=79;track++)
for(head=0;head<=1;head++)
for(sector=1;sector<=18;sector++)
{
inregs.h.ah = 0x04; /// function Number
inregs.h.al = 1; /// Number of sectors
inregs.h.dl = 0x00; /// Floppy Disk
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);
//// Stampare la condizione del settore esplorato \\\\
switch(outregs.h.ah)
{
case 0x00:
cprintf("CONDIZIONE: Nessun errore!!");
break;
case 0x01:
cprintf("CONDIZIONE: Ordine difettoso");
break;
case 0x02:
cprintf("CONDIZIONE: Contrassegno di indirizzo non trovato");
break;
case 0x03:
cprintf("CONDIZIONE: Tentativo di scrivere al disc write-protected");
break;
|