diff --git a/Source/PS2VM.cpp b/Source/PS2VM.cpp index 601a47dd..bddc11aa 100644 --- a/Source/PS2VM.cpp +++ b/Source/PS2VM.cpp @@ -162,6 +162,13 @@ void CPS2VM::StepIop() m_mailBox.SendCall(std::bind(&CPS2VM::ResumeImpl, this), true); } +void CPS2VM::StepVu0() +{ + if(GetStatus() == RUNNING) return; + m_singleStepVu0 = true; + m_mailBox.SendCall(std::bind(&CPS2VM::ResumeImpl, this), true); +} + void CPS2VM::StepVu1() { if(GetStatus() == RUNNING) return; diff --git a/Source/PS2VM.h b/Source/PS2VM.h index 8c656090..a470b245 100644 --- a/Source/PS2VM.h +++ b/Source/PS2VM.h @@ -48,6 +48,7 @@ public: void StepEe(); void StepIop(); + void StepVu0(); void StepVu1(); void Resume(); diff --git a/Source/win32ui/Debugger.cpp b/Source/win32ui/Debugger.cpp index b0ebaea8..57c84329 100644 --- a/Source/win32ui/Debugger.cpp +++ b/Source/win32ui/Debugger.cpp @@ -71,7 +71,7 @@ CDebugger::CDebugger(CPS2VM& virtualMachine) m_pView[DEBUGVIEW_EE] = new CDebugView(m_pMDIClient->m_hWnd, m_virtualMachine, &m_virtualMachine.m_ee->m_EE, std::bind(&CPS2VM::StepEe, &m_virtualMachine), m_virtualMachine.m_ee->m_os, "EmotionEngine"); m_pView[DEBUGVIEW_VU0] = new CDebugView(m_pMDIClient->m_hWnd, m_virtualMachine, &m_virtualMachine.m_ee->m_VU0, - std::bind(&CPS2VM::StepEe, &m_virtualMachine), nullptr, "Vector Unit 0", CDisAsmWnd::DISASM_VU); + std::bind(&CPS2VM::StepVu0, &m_virtualMachine), nullptr, "Vector Unit 0", CDisAsmWnd::DISASM_VU); m_pView[DEBUGVIEW_VU1] = new CDebugView(m_pMDIClient->m_hWnd, m_virtualMachine, &m_virtualMachine.m_ee->m_VU1, std::bind(&CPS2VM::StepVu1, &m_virtualMachine), nullptr, "Vector Unit 1", CDisAsmWnd::DISASM_VU); m_pView[DEBUGVIEW_IOP] = new CDebugView(m_pMDIClient->m_hWnd, m_virtualMachine, &m_virtualMachine.m_iop->m_cpu,