aboutsummaryrefslogtreecommitdiff
path: root/ARMInterpreter.cpp
diff options
context:
space:
mode:
authorStapleButter <thetotalworm@gmail.com>2016-11-24 18:31:49 +0100
committerStapleButter <thetotalworm@gmail.com>2016-11-24 18:31:49 +0100
commitf74fb2dd27d739b22c44c4df793fb894fc5b5aef (patch)
treea31d17aa09f2a46817527dbf633bf878b14109f5 /ARMInterpreter.cpp
parent3505ec993b0d700800f77c667078e2c552a38b34 (diff)
well, adding shit. laying out the base for the interpreter. really dirty code.
Diffstat (limited to 'ARMInterpreter.cpp')
-rw-r--r--ARMInterpreter.cpp31
1 files changed, 31 insertions, 0 deletions
diff --git a/ARMInterpreter.cpp b/ARMInterpreter.cpp
new file mode 100644
index 0000000..2acef27
--- /dev/null
+++ b/ARMInterpreter.cpp
@@ -0,0 +1,31 @@
+#include <stdio.h>
+#include "NDS.h"
+#include "ARMInterpreter.h"
+#include "ARMInterpreter_Branch.h"
+
+
+namespace ARMInterpreter
+{
+
+
+s32 A_UNK(ARM* cpu)
+{
+ printf("undefined ARM instruction %08X @ %08X\n", cpu->CurInstr, cpu->R[15]-8);
+ NDS::Halt();
+ return 0x7FFFFFFF;
+}
+
+s32 T_UNK(ARM* cpu)
+{
+ printf("undefined THUMB instruction %04X @ %08X\n", cpu->CurInstr, cpu->R[15]-4);
+ NDS::Halt();
+ return 0x7FFFFFFF;
+}
+
+
+
+#define INSTRFUNC_PROTO(x) s32 (*x)(ARM* cpu)
+#include "ARM_InstrTable.h"
+#undef INSTRFUNC_PROTO
+
+}