Fixed the DSP LLE debugger, it also automatically shows the disassembly on image load.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2998 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
XTra.KrazzY
2009-04-18 19:06:47 +00:00
parent ab5354d644
commit 5f0ac1db68
4 changed files with 17 additions and 12 deletions

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="Windows-1252"?> <?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject <VisualStudioProject
ProjectType="Visual C++" ProjectType="Visual C++"
Version="9,00" Version="9.00"
Name="Plugin_DSP_LLE" Name="Plugin_DSP_LLE"
ProjectGUID="{3D8156A9-64D1-4C8E-ADBE-1B319030E4A4}" ProjectGUID="{3D8156A9-64D1-4C8E-ADBE-1B319030E4A4}"
RootNamespace="Plugin_DSP_LLE" RootNamespace="Plugin_DSP_LLE"
@ -583,10 +583,6 @@
/> />
</References> </References>
<Files> <Files>
<Filter
Name="DSP"
>
</Filter>
<Filter <Filter
Name="Logging" Name="Logging"
> >

View File

@ -93,8 +93,7 @@ void DSPDebuggerLLE::CreateGUIControls()
void DSPDebuggerLLE::OnClose(wxCloseEvent& event) void DSPDebuggerLLE::OnClose(wxCloseEvent& event)
{ {
wxWindow::Destroy(); Hide();
event.Skip();
} }
void DSPDebuggerLLE::OnChangeState(wxCommandEvent& event) void DSPDebuggerLLE::OnChangeState(wxCommandEvent& event)
@ -218,7 +217,6 @@ void DSPDebuggerLLE::RebuildDisAsmListView()
char Temp2[256]; char Temp2[256];
sprintf(Temp2, "0x%04x", dsp_imem_read(CurrentPC)); sprintf(Temp2, "0x%04x", dsp_imem_read(CurrentPC));
AssemblerSettings settings;
DSPDisassembler disasm(settings); DSPDisassembler disasm(settings);
std::string op_str; std::string op_str;
disasm.DisOpcode(binbuf, 2, &settings.pc, &op_str); disasm.DisOpcode(binbuf, 2, &settings.pc, &op_str);

View File

@ -54,6 +54,7 @@ public:
bool CanDoStep(); bool CanDoStep();
void DebugBreak(); void DebugBreak();
void Refresh();
private: private:
DECLARE_EVENT_TABLE(); DECLARE_EVENT_TABLE();
@ -153,7 +154,6 @@ private:
void OnDoubleClick(wxListEvent& event); void OnDoubleClick(wxListEvent& event);
void CreateGUIControls(); void CreateGUIControls();
void Refresh();
void FocusOnPC(); void FocusOnPC();
void UnselectAll(); void UnselectAll();
}; };

View File

@ -162,8 +162,13 @@ void DoState(unsigned char **ptr, int mode)
void DllDebugger(HWND _hParent, bool Show) void DllDebugger(HWND _hParent, bool Show)
{ {
#if defined(HAVE_WX) && HAVE_WX #if defined(HAVE_WX) && HAVE_WX
DSPDebuggerLLE *debugger = new DSPDebuggerLLE(NULL); if(!m_DebuggerFrame)
debugger->Show(); m_DebuggerFrame = new DSPDebuggerLLE(NULL);
if(Show)
m_DebuggerFrame->Show();
else
m_DebuggerFrame->Hide();
#endif #endif
} }
@ -181,6 +186,7 @@ THREAD_RETURN dsp_thread(void* lpParameter)
void DSP_DebugBreak() void DSP_DebugBreak()
{ {
#if defined(HAVE_WX) && HAVE_WX #if defined(HAVE_WX) && HAVE_WX
if(m_DebuggerFrame)
m_DebuggerFrame->DebugBreak(); m_DebuggerFrame->DebugBreak();
#endif #endif
} }
@ -233,6 +239,11 @@ void Initialize(void *init)
g_hDSPThread = new Common::Thread(dsp_thread, NULL); g_hDSPThread = new Common::Thread(dsp_thread, NULL);
} }
soundStream = AudioCommon::InitSoundStream(); soundStream = AudioCommon::InitSoundStream();
#if defined(HAVE_WX) && HAVE_WX
if(m_DebuggerFrame)
m_DebuggerFrame->Refresh();
#endif
} }
void DSP_StopSoundStream() void DSP_StopSoundStream()