diff --git a/src/core/arm/dynarmic/arm_dynarmic_32.cpp b/src/core/arm/dynarmic/arm_dynarmic_32.cpp index ab3210d84e..6f3d53dadc 100644 --- a/src/core/arm/dynarmic/arm_dynarmic_32.cpp +++ b/src/core/arm/dynarmic/arm_dynarmic_32.cpp @@ -232,7 +232,7 @@ void ARM_Dynarmic_32::Run() { if (Has(hr, svc_call)) { Kernel::Svc::Call(system, svc_swi); } - if (Has(hr, break_loop)) { + if (Has(hr, break_loop) || !uses_wall_clock) { break; } } diff --git a/src/core/arm/dynarmic/arm_dynarmic_64.cpp b/src/core/arm/dynarmic/arm_dynarmic_64.cpp index 68822a1fc6..1fcb2b891b 100644 --- a/src/core/arm/dynarmic/arm_dynarmic_64.cpp +++ b/src/core/arm/dynarmic/arm_dynarmic_64.cpp @@ -293,7 +293,7 @@ void ARM_Dynarmic_64::Run() { if (Has(hr, svc_call)) { Kernel::Svc::Call(system, svc_swi); } - if (Has(hr, break_loop)) { + if (Has(hr, break_loop) || !uses_wall_clock) { break; } }