Decouple the last part of step()

This commit is contained in:
Henrik Rydgård committed 2024-11-03 17:54:54 +01:00
1 parent 828523165f
commit c851be26eb
2 files changed
+4 -3

No files matched your search

+3 -2
View File
@@ -208,14 +208,15 @@ void CDisasm::step(CPUStepType stepType)
ptr->setDontRedraw(true);
lastTicks_ = CoreTiming::GetTicks();
u32 oldAddress = cpu->GetPC();
u32 stepSize = ptr->getInstructionSizeAt(oldAddress);
u32 stepSize = ptr->getInstructionSizeAt(cpu->GetPC());
Core_PerformStep(cpu, stepType, stepSize);
Sleep(1);
// At this point, the step should be done, and the new address is just PC.
// Ideally, this part should be done as a reaction to an update message and not directly here.
// That way we could get rid of the sleep.
u32 oldAddress = ptr->getSelection();
u32 newAddress = cpu->GetPC();
if (newAddress > oldAddress && newAddress < oldAddress + 12) {
// Heuristic for when to scroll at the edge rather than jump the window.