/// Inizializzare il sistema di disc \\\
for(i=0; i<3; i++)
{
regs.h.ah = 0x00; /* Ripristinare il sistema di disc */
regs.h.dl = 0x00; /* Dischetto a:*/
int86(0x13, ®s, ®s);
}
result = _bios_disk(_DISK_WRITE, &dinfo);
if ((result & 0xff00) == 0)
{
gotoxy(10,14);
cprintf("Il disc scrive la condizione: riuscito.\n");
}
else
{
gotoxy(10,14);
cprintf("Non può leggere l'azionamento A, condizione = 0x%02x\n",
result);
gotoxy(10,16);
switch(result)
{
case 0x00:
cprintf("\n\n CONDIZIONE: Nessun errore!!");
break;
case 0x01:
cprintf("\n\n CONDIZIONE: Ordine difettoso");
break;
case 0x02:
cprintf("\n\n CONDIZIONE: Contrassegno di indirizzo non trovato");
break;
case 0x03:
cprintf("\n\n CONDIZIONE:Tentativo di scrivere per scrivere disc protetto");
break;
case 0x04:
cprintf("\n\n CONDIZIONE: Settore non trovato");
break;
case 0x06:
cprintf("\n\n CONDIZIONE: Il disc è cambiato dall'ultimo funzionamento");
break;
case 0x08:
cprintf("\n\n CONDIZIONE: L'accesso di memoria diretta (DMA) sorpassa");
break;
case 0x09:
cprintf("\n\n CONDIZIONE: Tentativo di effettuare DMA attraverso il contorno 64K");
break;
case 0x0C:
cprintf("\n\n CONDIZIONE: Tipo di mezzi non trovato");
break;
case 0x10:
cprintf("\n\n CONDIZIONE: CRC/ECC difettoso sul disc ha letto");
break;
case 0x20:
cprintf("\n\n CONDIZIONE:Il regolatore è venuto a mancare");
break;
|