aboutsummaryrefslogtreecommitdiff
path: root/src/ARM.cpp
diff options
context:
space:
mode:
authorRSDuck <rsduck@users.noreply.github.com>2020-06-30 23:50:41 +0200
committerRSDuck <rsduck@users.noreply.github.com>2020-06-30 23:50:41 +0200
commitc5381d2911d47fb1fcbd6ec27a83f5da3606c4bd (patch)
tree1dbf9eb1bbe418d14f07dc3a0e30821fb5deb258 /src/ARM.cpp
parentea6d03581b689738d0d1930b28d1588019cf4077 (diff)
reconcile DSi and JIT, fastmem for x64 and Windows
Diffstat (limited to 'src/ARM.cpp')
-rw-r--r--src/ARM.cpp23
1 files changed, 22 insertions, 1 deletions
diff --git a/src/ARM.cpp b/src/ARM.cpp
index e529be8..8530795 100644
--- a/src/ARM.cpp
+++ b/src/ARM.cpp
@@ -21,12 +21,15 @@
#include "DSi.h"
#include "ARM.h"
#include "ARMInterpreter.h"
-#include "ARMJIT.h"
#include "Config.h"
#include "AREngine.h"
#include "ARMJIT.h"
#include "Config.h"
+#ifdef JIT_ENABLED
+#include "ARMJIT.h"
+#include "ARMJIT_Memory.h"
+#endif
// instruction timing notes
//
@@ -109,6 +112,12 @@ void ARM::Reset()
CodeMem.Mem = NULL;
+#ifdef JIT_ENABLED
+ FastBlockLookup = NULL;
+ FastBlockLookupStart = 0;
+ FastBlockLookupSize = 0;
+#endif
+
// zorp
JumpTo(ExceptionBase);
}
@@ -752,6 +761,12 @@ void ARMv4::Execute()
if (Halted == 2)
Halted = 0;
+
+ if (Halted == 4)
+ {
+ DSi::SoftReset();
+ Halted = 2;
+ }
}
#ifdef JIT_ENABLED
@@ -820,6 +835,12 @@ void ARMv4::ExecuteJIT()
if (Halted == 2)
Halted = 0;
+
+ if (Halted == 4)
+ {
+ DSi::SoftReset();
+ Halted = 2;
+ }
}
#endif