diff options
author | RSDuck <rsduck@users.noreply.github.com> | 2019-06-25 17:09:27 +0200 |
---|---|---|
committer | RSDuck <rsduck@users.noreply.github.com> | 2020-06-16 11:53:06 +0200 |
commit | 2f6b46fd4f4eb593746391131e2523f5252d0ea4 (patch) | |
tree | c6add1f278140386719a58b01e3c5713cc0e86db /src/ARM.cpp | |
parent | c692287ebab4dfdec16bb0a8ce338a4b6fe2d439 (diff) |
JIT: implemented most ALU instructions
Diffstat (limited to 'src/ARM.cpp')
-rw-r--r-- | src/ARM.cpp | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/src/ARM.cpp b/src/ARM.cpp index f2b92b4..eadedc7 100644 --- a/src/ARM.cpp +++ b/src/ARM.cpp @@ -560,10 +560,10 @@ void ARMv5::Execute() AddCycles_C(); }*/ - if (!ARMJIT::IsMapped(Num, R[15] - ((CPSR&0x20)?2:4))) - printf("aaarg ungempappter raum %x\n", R[15]); + /*if (!ARMJIT::IsMapped(0, R[15] - ((CPSR&0x20)?2:4))) + printf("aaarg ungempappter raum %x\n", R[15]);*/ - ARMJIT::CompiledBlock block = ARMJIT::LookUpBlock(Num, R[15] - ((CPSR&0x20)?2:4)); + ARMJIT::CompiledBlock block = ARMJIT::LookUpBlock(0, R[15] - ((CPSR&0x20)?2:4)); if (block == NULL) block = ARMJIT::CompileBlock(this); Cycles += block(); @@ -615,7 +615,7 @@ void ARMv4::Execute() while (NDS::ARM7Timestamp < NDS::ARM7Target) { - if (CPSR & 0x20) // THUMB + /*if (CPSR & 0x20) // THUMB { // prefetch R[15] += 2; @@ -643,7 +643,15 @@ void ARMv4::Execute() } else AddCycles_C(); - } + }*/ + + /*if (!ARMJIT::IsMapped(1, R[15] - ((CPSR&0x20)?2:4))) + printf("aaarg ungempappter raum %x\n", R[15]);*/ + + ARMJIT::CompiledBlock block = ARMJIT::LookUpBlock(1, R[15] - ((CPSR&0x20)?2:4)); + if (block == NULL) + block = ARMJIT::CompileBlock(this); + Cycles += block(); // TODO optimize this shit!!! if (Halted) |