diff options
author | bunnei <bunneidev@gmail.com> | 2014-11-09 07:26:03 +0100 |
---|---|---|
committer | bunnei <bunneidev@gmail.com> | 2014-11-12 01:53:19 +0100 |
commit | 34097906684a80f1e131653ebb13659090c5233c (patch) | |
tree | 762b0ba25ee315d43d3b1463b7cde2b0d5d25dde /src/core/arm/dyncom/arm_dyncom.cpp | |
parent | Merge pull request #189 from archshift/frdu (diff) | |
download | yuzu-34097906684a80f1e131653ebb13659090c5233c.tar yuzu-34097906684a80f1e131653ebb13659090c5233c.tar.gz yuzu-34097906684a80f1e131653ebb13659090c5233c.tar.bz2 yuzu-34097906684a80f1e131653ebb13659090c5233c.tar.lz yuzu-34097906684a80f1e131653ebb13659090c5233c.tar.xz yuzu-34097906684a80f1e131653ebb13659090c5233c.tar.zst yuzu-34097906684a80f1e131653ebb13659090c5233c.zip |
Diffstat (limited to 'src/core/arm/dyncom/arm_dyncom.cpp')
-rw-r--r-- | src/core/arm/dyncom/arm_dyncom.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/core/arm/dyncom/arm_dyncom.cpp b/src/core/arm/dyncom/arm_dyncom.cpp index 669b612fc..0b5dcccb9 100644 --- a/src/core/arm/dyncom/arm_dyncom.cpp +++ b/src/core/arm/dyncom/arm_dyncom.cpp @@ -110,9 +110,12 @@ u64 ARM_DynCom::GetTicks() const { * @param num_instructions Number of instructions to executes */ void ARM_DynCom::ExecuteInstructions(int num_instructions) { - ticks += num_instructions; state->NumInstrsToExecute = num_instructions; - InterpreterMainLoop(state.get()); + + // Dyncom only breaks on instruction dispatch. This only happens on every instruction when + // executing one instruction at a time. Otherwise, if a block is being executed, more + // instructions may actually be executed than specified. + ticks += InterpreterMainLoop(state.get()); } /** |