diff --git a/src/ARM.cpp b/src/ARM.cpp index e6e7ecc4..ed3780b0 100644 --- a/src/ARM.cpp +++ b/src/ARM.cpp @@ -762,7 +762,7 @@ void ARMv5::Execute() if constexpr (mode == CPUExecuteMode::InterpreterGDB) GdbCheckB(); - if (!FuncQueueActive && Halted) + if (Halted) { if (Halted == 2) { @@ -955,7 +955,7 @@ void ARMv4::Execute() if constexpr (mode == CPUExecuteMode::InterpreterGDB) GdbCheckB(); - if (!FuncQueueActive && Halted) + if (Halted) { if (Halted == 2) { diff --git a/src/NDS.cpp b/src/NDS.cpp index ea77610f..115af7e4 100644 --- a/src/NDS.cpp +++ b/src/NDS.cpp @@ -1810,7 +1810,7 @@ u32 NDS::RunFrame() } } - //printf("MAIN LOOP: 9 %lli %lli %08X %08llX %i 7 %lli %lli %08X %08llX %i\n", ARM9Timestamp, ARM9Target, ARM9.PC, ARM9.CurInstr, (u8)ARM9.MRTrack.Type, ARM7Timestamp, ARM7Target, ARM7.R[15], ARM7.CurInstr, (u8)ARM7.MRTrack.Type); + //printf("A9 LOOP: 9 %lli %lli %08X %08llX %i 7 %lli %lli %08X %08llX %i\n", ARM9Timestamp, ARM9Target, ARM9.PC, ARM9.CurInstr, (u8)ARM9.MRTrack.Type, ARM7Timestamp, ARM7Target, ARM7.R[15], ARM7.CurInstr, (u8)ARM7.MRTrack.Type); RunTimers(0); GPU.GPU3D.Run(); @@ -1873,7 +1873,8 @@ u32 NDS::RunFrame() SPU.TransferOutput(); break; } - + //printf("MAIN LOOP: 9 %lli %lli %08X %08llX %i %i %i 7 %lli %lli %08X %08llX %i %i %i\n", ARM9Timestamp, ARM9Target, ARM9.PC, ARM9.CurInstr, (u8)ARM9.MRTrack.Type, ARM9.Halted, ARM9.FuncQueueActive, ARM7Timestamp, ARM7Target, ARM7.R[15], ARM7.CurInstr, (u8)ARM7.MRTrack.Type, ARM7.Halted, ARM7.FuncQueueActive); + // In the context of TASes, frame count is traditionally the primary measure of emulated time, // so it needs to be tracked even if NDS is powered off. NumFrames++;