diff --git a/Source/Core/DSPCore/Src/DSPInterpreter.cpp b/Source/Core/DSPCore/Src/DSPInterpreter.cpp index ffb96f50e0..8840cd34cf 100644 --- a/Source/Core/DSPCore/Src/DSPInterpreter.cpp +++ b/Source/Core/DSPCore/Src/DSPInterpreter.cpp @@ -75,9 +75,9 @@ void Step() { DSPCore_CheckExceptions(); -#if PROFILE g_dsp.step_counter++; +#if PROFILE g_dsp.err_pc = g_dsp.pc; ProfilerAddDelta(g_dsp.err_pc, 1); diff --git a/Source/Plugins/Plugin_DSP_LLE/Src/Debugger/DSPDebugWindow.cpp b/Source/Plugins/Plugin_DSP_LLE/Src/Debugger/DSPDebugWindow.cpp index 29587355b8..29f177d769 100644 --- a/Source/Plugins/Plugin_DSP_LLE/Src/Debugger/DSPDebugWindow.cpp +++ b/Source/Plugins/Plugin_DSP_LLE/Src/Debugger/DSPDebugWindow.cpp @@ -107,7 +107,10 @@ void DSPDebuggerLLE::OnChangeState(wxCommandEvent& event) case ID_STEPTOOL: if (DSPCore_GetState() == DSPCORE_STEPPING) + { DSPCore_Step(); + Refresh(); + } break; case ID_SHOWPCTOOL: @@ -120,8 +123,8 @@ void DSPDebuggerLLE::OnChangeState(wxCommandEvent& event) void DSPDebuggerLLE::OnShowPC(wxCommandEvent& event) { + // UpdateDisAsmListView will focus on PC Refresh(); - FocusOnPC(); } void DSPDebuggerLLE::Refresh() diff --git a/docs/DSP/unlockmemcard.ds b/docs/DSP/unlockmemcard.ds index b0e152dc6a..79d18767f6 100644 --- a/docs/DSP/unlockmemcard.ds +++ b/docs/DSP/unlockmemcard.ds @@ -4,14 +4,22 @@ IROM_BASE: equ 0x8000 ; Exception vectors - nop nop - nop nop - nop nop - nop nop - nop nop - nop nop - nop halt - rti halt + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + halt ; Exception 0-6 nop slide to here + rti ; Exception 7 + halt ; Entry point ; Standard init stuff @@ -123,20 +131,20 @@ wait_dma: jlz wait_dma ret -; Trailing nops... -nop -nop -nop -nop -nop -nop -nop -nop -nop -nop -nop -nop -nop -nop +; Trailing nops...pad to 32bytes + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop ; uCode is 0xb0 words