revert the *entire* interlock implemention

too slow, not accurate enough.
we need to do a *lot* more research into the specifics of how this works with all the various aspects of the cpu's timings before we can make a good implementation
This commit is contained in:
Jaklyy
2024-07-11 20:06:56 -04:00
parent 1fdac1d489
commit 038ffa3a35
6 changed files with 290 additions and 534 deletions

View File

@ -163,7 +163,7 @@ void A_MSR_REG(ARM* cpu)
if ((cpu->CPSR & 0x1F) == 0x10) mask &= 0xFFFFFF00;
u32 val = cpu->GetReg(cpu->CurInstr & 0xF, 1);
u32 val = cpu->R[cpu->CurInstr & 0xF];
// bit4 is forced to 1
val |= 0x00000010;
@ -216,7 +216,7 @@ void A_MCR(ARM* cpu)
u32 cn = (cpu->CurInstr >> 16) & 0xF;
u32 cm = cpu->CurInstr & 0xF;
u32 cpinfo = (cpu->CurInstr >> 5) & 0x7;
u32 val = cpu->GetReg((cpu->CurInstr>>12)&0xF);
u32 val = cpu->R[(cpu->CurInstr>>12)&0xF];
if (((cpu->CurInstr>>12) & 0xF) == 15) val += 4;
if (cpu->Num==0 && cp==15)