diff --git a/Source/Plugins/Plugin_DSP_LLE-testing/Plugin_DSP_LLE_Test.vcproj b/Source/Plugins/Plugin_DSP_LLE-testing/Plugin_DSP_LLE_Test.vcproj
index 997e4efb95..36719cae7c 100644
--- a/Source/Plugins/Plugin_DSP_LLE-testing/Plugin_DSP_LLE_Test.vcproj
+++ b/Source/Plugins/Plugin_DSP_LLE-testing/Plugin_DSP_LLE_Test.vcproj
@@ -897,6 +897,18 @@
>
+
+
+
+
+
+
diff --git a/Source/Plugins/Plugin_DSP_LLE-testing/Src/debugger/Debugger.cpp b/Source/Plugins/Plugin_DSP_LLE-testing/Src/debugger/Debugger.cpp
new file mode 100644
index 0000000000..c870d60f94
--- /dev/null
+++ b/Source/Plugins/Plugin_DSP_LLE-testing/Src/debugger/Debugger.cpp
@@ -0,0 +1,73 @@
+// Copyright (C) 2003-2008 Dolphin Project.
+
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, version 2.0.
+
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License 2.0 for more details.
+
+// A copy of the GPL 2.0 should have been included with the program.
+// If not, see http://www.gnu.org/licenses/
+
+// Official SVN repository and contact information can be found at
+// http://code.google.com/p/dolphin-emu/
+
+#include "Common.h" // Common
+#include // System
+#include
+#include
+
+#include "Debugger.h"
+
+// Event table and class
+BEGIN_EVENT_TABLE(CDebugger,wxDialog)
+ EVT_CLOSE(CDebugger::OnClose) // on close event
+
+ //EVT_RIGHT_DOWN(CDebugger::ScrollBlocks)
+ //EVT_LEFT_DOWN(CDebugger::ScrollBlocks)
+ //EVT_MOUSE_EVENTS(CDebugger::ScrollBlocks)
+ //EVT_MOTION(CDebugger::ScrollBlocks)
+ //EVT_SCROLL(CDebugger::ScrollBlocks)
+ //EVT_SCROLLWIN(CDebugger::ScrollBlocks)
+END_EVENT_TABLE()
+
+CDebugger::CDebugger(wxWindow *parent, wxWindowID id, const wxString &title,
+ const wxPoint &position, const wxSize& size, long style)
+ : wxDialog(parent, id, title, position, size, style)
+{
+ CreateGUIControls();
+}
+
+CDebugger::~CDebugger()
+{
+}
+
+void CDebugger::OnClose(wxCloseEvent& /*event*/)
+{
+ EndModal(0);
+}
+
+void CDebugger::DoHide()
+{
+ Hide();
+}
+
+void CDebugger::DoShow()
+{
+ Show();
+ //DoShowConsole(); // The console goes with the wx window
+}
+
+void CDebugger::CreateGUIControls()
+{
+ SetTitle(wxT("Sound Debugging"));
+
+ // Basic settings
+ SetIcon(wxNullIcon);
+ SetSize(8, 8, 200, 100); // These will become the minimin sizes allowed by resizing
+ Center();
+
+}
diff --git a/Source/Plugins/Plugin_DSP_LLE-testing/Src/debugger/Debugger.h b/Source/Plugins/Plugin_DSP_LLE-testing/Src/debugger/Debugger.h
new file mode 100644
index 0000000000..d7079e47bc
--- /dev/null
+++ b/Source/Plugins/Plugin_DSP_LLE-testing/Src/debugger/Debugger.h
@@ -0,0 +1,63 @@
+#pragma once
+
+#ifndef __CDebugger_h__
+#define __CDebugger_h__
+
+// general things
+#include
+#include
+
+#ifndef WX_PRECOMP
+#include
+#include
+#else
+#include
+#endif
+
+#include
+#include
+#include
+#include
+#include // for the timestamps
+
+#include
+#include
+#include
+#include
+#include
+
+//#include "../Globals.h"
+
+//class CPBView;
+//class IniFile;
+
+// Window settings
+#undef CDebugger_STYLE
+#define CDebugger_STYLE wxDEFAULT_FRAME_STYLE | wxCLIP_CHILDREN | wxNO_FULL_REPAINT_ON_RESIZE
+
+class CDebugger : public wxDialog
+{
+private:
+ DECLARE_EVENT_TABLE();
+
+public:
+ CDebugger(wxWindow *parent, wxWindowID id = 1, const wxString &title = _("Sound Debugger"),
+ const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize,
+ long style = CDebugger_STYLE);
+
+ virtual ~CDebugger();
+
+ void DoHide();
+ void DoShow();
+private:
+ // WARNING: Make sure these are not also elsewhere
+ enum
+ {
+ // = 2000,
+ };
+
+ void OnClose(wxCloseEvent& event);
+ void CreateGUIControls();
+};
+
+#endif
diff --git a/Source/Plugins/Plugin_DSP_LLE-testing/Src/main.cpp b/Source/Plugins/Plugin_DSP_LLE-testing/Src/main.cpp
index dbda183f6f..45e43a7f3d 100644
--- a/Source/Plugins/Plugin_DSP_LLE-testing/Src/main.cpp
+++ b/Source/Plugins/Plugin_DSP_LLE-testing/Src/main.cpp
@@ -34,6 +34,9 @@
#if defined(HAVE_WX) && HAVE_WX
#include "DSPConfigDlgLLE.h"
+#include "debugger/Debugger.h"
+#include "Debugger/Debugger.h" // For the CDebugger class
+CDebugger* m_frame = NULL;
#endif
PLUGIN_GLOBALS* globals = NULL;
@@ -163,6 +166,21 @@ void DoState(unsigned char **ptr, int mode)
void DllDebugger(HWND _hParent, bool Show)
{
+#if defined(HAVE_WX) && HAVE_WX
+ if (m_frame && Show) // if we have created it, let us show it again
+ {
+ m_frame->DoShow();
+ }
+ else if (!m_frame && Show)
+ {
+ m_frame = new CDebugger(NULL);
+ m_frame->Show();
+ }
+ else if (m_frame && !Show)
+ {
+ m_frame->DoHide();
+ }
+#endif
}