--- np2/io/cpuio.c 2004/01/05 06:50:15 1.8 +++ np2/io/cpuio.c 2004/03/25 10:41:13 1.11 @@ -2,16 +2,19 @@ #include "cpucore.h" #include "pccore.h" #include "iocore.h" -#include "sound.h" -#include "fmboard.h" // ---- I/O static void IOOUTCALL cpuio_of0(UINT port, REG8 dat) { +#if defined(TRACE) + if (CPU_MSW & 1) { + TRACEOUT(("80286 ProtectMode Disable")); + } +#endif epsonio.cpumode = (CPU_MSW & 1)?'P':'R'; - CPU_ADRSMASK = 0x0fffff; + CPU_A20EN(FALSE); CPU_RESETREQ = 1; nevent_forceexit(); (void)port; @@ -20,7 +23,7 @@ static void IOOUTCALL cpuio_of0(UINT por static void IOOUTCALL cpuio_of2(UINT port, REG8 dat) { - CPU_ADRSMASK = 0xffffffff; + CPU_A20EN(TRUE); (void)port; (void)dat; } @@ -29,7 +32,7 @@ static REG8 IOINPCALL cpuio_if0(UINT por BYTE ret; - if (!(usesound & 0x80)) { + if (!(pccore.sound & 0x80)) { ret = 0x00; } else { // for AMD-98 @@ -55,11 +58,12 @@ static void IOOUTCALL cpuio_of6(UINT por switch(dat) { case 0x02: - CPU_ADRSMASK = 0xffffffff; + CPU_A20EN(TRUE); break; case 0x03: - CPU_ADRSMASK = 0x0fffff; + CPU_A20EN(FALSE); + break; } (void)port; }