Fixed two small bugs in 386_common.h, NT 3.51 Service Pack 5 now works again.

This commit is contained in:
OBattler
2017-11-23 14:32:38 +01:00
parent 248d8c2604
commit d40cad0d35

View File

@@ -57,7 +57,7 @@ extern uint16_t ea_rseg;
#define CHECK_READ(chseg, low, high) \
if ((low < (chseg)->limit_low) || (high > (chseg)->limit_high) || ((msw & 1) && !(eflags & VM_FLAG) && (((chseg)->access & 10) == 8))) \
{ \
x86gpf("Limit check", 0); \
x86gpf("Limit check (READ)", 0); \
return 1; \
} \
if (msw&1 && !(eflags&VM_FLAG) && !((chseg)->access & 0x80)) \
@@ -72,7 +72,7 @@ extern uint16_t ea_rseg;
#define CHECK_WRITE(chseg, low, high) \
if ((low < (chseg)->limit_low) || (high > (chseg)->limit_high) || !((chseg)->access & 2) || ((msw & 1) && !(eflags & VM_FLAG) && ((chseg)->access & 8))) \
{ \
x86gpf("Limit check", 0); \
x86gpf("Limit check (WRITE)", 0); \
return 1; \
} \
if (msw&1 && !(eflags&VM_FLAG) && !((chseg)->access & 0x80)) \
@@ -87,7 +87,7 @@ extern uint16_t ea_rseg;
#define CHECK_WRITE_REP(chseg, low, high) \
if ((low < (chseg)->limit_low) || (high > (chseg)->limit_high)) \
{ \
x86gpf("Limit check", 0); \
x86gpf("Limit check (WRITE REP)", 0); \
break; \
} \
if (msw&1 && !(eflags&VM_FLAG) && !((chseg)->access & 0x80)) \
@@ -117,7 +117,7 @@ static __inline uint8_t fastreadb(uint32_t a)
return *((uint8_t *)&pccache2[a]);
t = getpccache(a);
if (cpu_state.abrt)
return 0xFF;
return 0;
pccache = a >> 12;
pccache2 = t;
return *((uint8_t *)&pccache2[a]);
@@ -136,7 +136,7 @@ static __inline uint16_t fastreadw(uint32_t a)
if ((a>>12)==pccache) return *((uint16_t *)&pccache2[a]);
t = getpccache(a);
if (cpu_state.abrt)
return 0xff;
return 0;
pccache = a >> 12;
pccache2 = t;