aboutsummaryrefslogtreecommitdiff
path: root/src/ARM.cpp
diff options
context:
space:
mode:
authorRSDuck <rsduck@users.noreply.github.com>2019-06-25 17:09:27 +0200
committerRSDuck <rsduck@users.noreply.github.com>2020-06-16 11:53:06 +0200
commit2f6b46fd4f4eb593746391131e2523f5252d0ea4 (patch)
treec6add1f278140386719a58b01e3c5713cc0e86db /src/ARM.cpp
parentc692287ebab4dfdec16bb0a8ce338a4b6fe2d439 (diff)
JIT: implemented most ALU instructions
Diffstat (limited to 'src/ARM.cpp')
-rw-r--r--src/ARM.cpp18
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)