summaryrefslogtreecommitdiffstats
path: root/src/core/arm/interpreter/arm_interpreter.cpp
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2014-07-24 01:16:40 +0200
committerbunnei <bunneidev@gmail.com>2014-07-24 01:16:40 +0200
commit77fc029a00c45ffe48cf4eacf4721e312b2248c0 (patch)
treec29766d5b8374fa7bbc38c1bbb67c3787e4b034a /src/core/arm/interpreter/arm_interpreter.cpp
parentMerge pull request #27 from neobrain/disassembly_view_rewrite (diff)
downloadyuzu-77fc029a00c45ffe48cf4eacf4721e312b2248c0.tar
yuzu-77fc029a00c45ffe48cf4eacf4721e312b2248c0.tar.gz
yuzu-77fc029a00c45ffe48cf4eacf4721e312b2248c0.tar.bz2
yuzu-77fc029a00c45ffe48cf4eacf4721e312b2248c0.tar.lz
yuzu-77fc029a00c45ffe48cf4eacf4721e312b2248c0.tar.xz
yuzu-77fc029a00c45ffe48cf4eacf4721e312b2248c0.tar.zst
yuzu-77fc029a00c45ffe48cf4eacf4721e312b2248c0.zip
Diffstat (limited to 'src/core/arm/interpreter/arm_interpreter.cpp')
-rw-r--r--src/core/arm/interpreter/arm_interpreter.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/core/arm/interpreter/arm_interpreter.cpp b/src/core/arm/interpreter/arm_interpreter.cpp
index 0e893f182..d35a3ae17 100644
--- a/src/core/arm/interpreter/arm_interpreter.cpp
+++ b/src/core/arm/interpreter/arm_interpreter.cpp
@@ -12,6 +12,8 @@ ARM_Interpreter::ARM_Interpreter() {
state = new ARMul_State;
ARMul_EmulateInit();
+ memset(state, 0, sizeof(ARMul_State));
+
ARMul_NewState(state);
state->abort_model = 0;
@@ -23,12 +25,14 @@ ARM_Interpreter::ARM_Interpreter() {
mmu_init(state);
// Reset the core to initial state
+ ARMul_CoProInit(state);
ARMul_Reset(state);
- state->NextInstr = 0;
+ state->NextInstr = RESUME;
state->Emulate = 3;
state->pc = state->Reg[15] = 0x00000000;
state->Reg[13] = 0x10000000; // Set stack pointer to the top of the stack
+ state->servaddr = 0xFFFF0000;
}
ARM_Interpreter::~ARM_Interpreter() {