/// Inicializar el sistema de disco \\\
for(i=0; i<3; i++)
{
regs.h.ah = 0x00; /* Reajustar el sistema de disco */
regs.h.dl = 0x00; /* Diskette a: */
int86(0x13, ®s, ®s);
}
result = _bios_disk(_DISK_WRITE, &dinfo);
if ((result & 0xff00) == 0)
{
gotoxy(10,14);
cprintf("El disco escribe estado: acertado.\n");
}
else
{
gotoxy(10,14);
cprintf("No puede leer la impulsión A, estado = 0x%02x\n",
result);
gotoxy(10,16);
switch(result)
{
case 0x00:
cprintf("\n\n ESTADO: ¡Ningún error!!");
break;
case 0x01:
cprintf("\n\n ESTADO:Bad command");
break;
case 0x02:
cprintf("\n\n ESTADO: Marca de la dirección no encontrada");
break;
case 0x03:
cprintf("\n\n ESTADO: Tentativa de escribir para escribir el disco protegido");
break;
case 0x04:
cprintf("\n\nESTADO: Sector no encontrado");
break;
case 0x06:
cprintf("\n\n ESTADO: El disco cambió desde la operación pasada ");
break;
case 0x08:
cprintf("\n\n ESTADO: El acceso directo de memoria (acceso directo de memoria) sobra");
break;
case 0x09:
cprintf("\n\n ESTADO: Tentativa de realizar el acceso directo de memoria a través del límite 64K");
break;
case 0x0C:
cprintf("\n\n ESTADO: Tipo de medios no encontrado");
break;
case 0x10:
cprintf("\n\n ESTADO: Mal CRC/ECC en disco leyó");
break;
case 0x20:
cprintf("\n\n ESTADO: El regulador ha fallado");
break;
|