Change CR0 bit 4 behavior:

Now it's always hardcoded to 1, unless the CPU
is 386DX with no or 287 FPU
This commit is contained in:
Alexander Babikov
2024-01-30 21:16:37 +05:00
parent ecbfa060a1
commit 795e1bce23

View File

@@ -124,7 +124,7 @@ opMOV_CRx_r_a16(uint32_t fetchdat)
if ((cpu_state.regs[cpu_rm].l & 0x01) && !(cr0 & 0x01))
cpu_state.seg_cs.access &= 0x9f;
cr0 = cpu_state.regs[cpu_rm].l;
if (cpu_16bitbus)
if ((cpu_s->cpu_type != CPU_386DX) || (fpu_type == FPU_387))
cr0 |= 0x10;
if (!(cr0 & 0x80000000))
mmu_perm = 4;
@@ -181,7 +181,7 @@ opMOV_CRx_r_a32(uint32_t fetchdat)
if ((cpu_state.regs[cpu_rm].l & 0x01) && !(cr0 & 0x01))
cpu_state.seg_cs.access &= 0x9f;
cr0 = cpu_state.regs[cpu_rm].l;
if (cpu_16bitbus)
if ((cpu_s->cpu_type != CPU_386DX) || (fpu_type == FPU_387))
cr0 |= 0x10;
if (!(cr0 & 0x80000000))
mmu_perm = 4;