diff options
author | bunnei <ericbunnie@gmail.com> | 2014-05-17 19:35:20 +0200 |
---|---|---|
committer | bunnei <ericbunnie@gmail.com> | 2014-05-17 19:35:20 +0200 |
commit | 3fac6dc39e6e94aa068d93535261eede97224e50 (patch) | |
tree | 41b5a266814d633b94d090f13bc46c89e8f7f622 /src/core/arm/interpreter/arm_interpreter.cpp | |
parent | - added enum ThreadProcessorId (diff) | |
parent | updated how we call ARM core to make things much faster (diff) | |
download | yuzu-3fac6dc39e6e94aa068d93535261eede97224e50.tar yuzu-3fac6dc39e6e94aa068d93535261eede97224e50.tar.gz yuzu-3fac6dc39e6e94aa068d93535261eede97224e50.tar.bz2 yuzu-3fac6dc39e6e94aa068d93535261eede97224e50.tar.lz yuzu-3fac6dc39e6e94aa068d93535261eede97224e50.tar.xz yuzu-3fac6dc39e6e94aa068d93535261eede97224e50.tar.zst yuzu-3fac6dc39e6e94aa068d93535261eede97224e50.zip |
Diffstat (limited to 'src/core/arm/interpreter/arm_interpreter.cpp')
-rw-r--r-- | src/core/arm/interpreter/arm_interpreter.cpp | 19 |
1 files changed, 7 insertions, 12 deletions
diff --git a/src/core/arm/interpreter/arm_interpreter.cpp b/src/core/arm/interpreter/arm_interpreter.cpp index 4e1387fdb..c21ff0464 100644 --- a/src/core/arm/interpreter/arm_interpreter.cpp +++ b/src/core/arm/interpreter/arm_interpreter.cpp @@ -93,16 +93,11 @@ u64 ARM_Interpreter::GetTicks() const { return ARMul_Time(m_state); } -/// Execture next instruction -void ARM_Interpreter::ExecuteInstruction() { - m_state->step++; - m_state->cycle++; - m_state->EndCondition = 0; - m_state->stop_simulator = 0; - m_state->NextInstr = RESUME; - m_state->last_pc = m_state->Reg[15]; - m_state->Reg[15] = ARMul_DoInstr(m_state); - m_state->Cpsr = ((m_state->Cpsr & 0x0fffffdf) | (m_state->NFlag << 31) | (m_state->ZFlag << 30) | - (m_state->CFlag << 29) | (m_state->VFlag << 28) | (m_state->TFlag << 5)); - m_state->NextInstr |= PRIMEPIPE; // Flush pipe +/** + * Executes the given number of instructions + * @param num_instructions Number of instructions to executes + */ +void ARM_Interpreter::ExecuteInstructions(int num_instructions) { + m_state->NumInstrsToExecute = num_instructions; + ARMul_Emulate32(m_state); } |