--- np2/bios/bios12.c 2003/12/08 00:55:30 1.2 +++ np2/bios/bios12.c 2005/02/07 14:46:07 1.6 @@ -1,19 +1,20 @@ #include "compiler.h" -// #include "i286.h" -#include "memory.h" +#include "cpucore.h" #include "pccore.h" #include "iocore.h" #include "bios.h" +#include "biosmem.h" #define baseport 0x00c8 void bios0x12(void) { - BYTE stat; - BYTE result; - BYTE *p; - BYTE drv; + UINT8 stat; + UINT8 result; + UINT8 *p; + UINT8 drv; + UINT8 drvbit; // TRACE_("BIOS", 0x12); iocore_out8(0x08, 0x20); @@ -42,6 +43,7 @@ void bios0x12(void) { break; } drv = result & 3; + drvbit = 0x10 << drv; if (result & (FDCRLT_IC1 | FDCRLT_SE)) { p = mem + 0x005d8 + (drv * 2); } @@ -57,6 +59,7 @@ void bios0x12(void) { } result = iocore_inp8(baseport+2); } + mem[0x0055f] |= drvbit; } }