Some changes to the debugger, added a DSP HLE debugging window. I moved the initialization of DLLdebugger from Core.cpp to the debugging window. (I hope this doesn't break the LLE debugger in any way, or does it have to be started right after LoadPlugin?). Also added a ShowOnStart saved setting to the debugger. And a MainWindow saved setting that set the position and size of the main window when it's started. I may have broken things in the debugger by allowing disabling of for example the Jit window. Please accept my apologies if that is the case.
There's an annoying problem with the DSP HLE wx window that blocks some input and places it in a queue. For example if you have loaded the window and press X on the main window, that action is blocked an placed in some kind of queue and not executed until you have closed the debugging window. This is also why the main Dolphin-Debugger window does not show up until you close the sound window. If someone find a fix to this I guess it could be convenient. There is another way to show the window, m_frame->Show() that is normally supposed to remove this kind of on-focus lock, but in a dll it seemingly breaks because it makes Dllmain call DLL_PROCESS_DETACH immediately after DLL_PROCESS_ATTACH so the window has to be killed or we crash.
Also, otherwise unnecessarily I had to disable the new DSP HLE debug window in Release mode because I could not access the SConfig::GetInstance().m_LocalCoreStartupParameter.m_strDSPPlugin.c_str() string that I need to start it (if I tried it crashed). Very annoying and strange. I could not access m_strDSPPlugin or m_strVideoPlugin either, but all other values in m_LocalCoreStartupParameter seemed to work fine. I'll have to leave it to someone else to figure out why.
TODO: Later I'll add function to the debugging buttons, currently only update have a function. I'll add some option to show a custom console window (that actually worked better that the wx window to show the current parameters status, it had less flicker on frequent updates). I'll also add some custom log file saving option.
Also, the reason I placed Logging.cpp in its own dir is because I plan to add more files to it. There were problems with some build modes, win32 with debugging crashed on booting a game, I don't know if it's my fault. And I could not build Debug win64 because of some wx linking problem.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@722 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-09-29 03:19:23 +00:00
|
|
|
//////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
//
|
|
|
|
// Licensetype: GNU General Public License (GPL)
|
|
|
|
//
|
|
|
|
// 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/
|
|
|
|
//
|
|
|
|
//////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
|
2008-09-29 21:22:44 +00:00
|
|
|
|
Some changes to the debugger, added a DSP HLE debugging window. I moved the initialization of DLLdebugger from Core.cpp to the debugging window. (I hope this doesn't break the LLE debugger in any way, or does it have to be started right after LoadPlugin?). Also added a ShowOnStart saved setting to the debugger. And a MainWindow saved setting that set the position and size of the main window when it's started. I may have broken things in the debugger by allowing disabling of for example the Jit window. Please accept my apologies if that is the case.
There's an annoying problem with the DSP HLE wx window that blocks some input and places it in a queue. For example if you have loaded the window and press X on the main window, that action is blocked an placed in some kind of queue and not executed until you have closed the debugging window. This is also why the main Dolphin-Debugger window does not show up until you close the sound window. If someone find a fix to this I guess it could be convenient. There is another way to show the window, m_frame->Show() that is normally supposed to remove this kind of on-focus lock, but in a dll it seemingly breaks because it makes Dllmain call DLL_PROCESS_DETACH immediately after DLL_PROCESS_ATTACH so the window has to be killed or we crash.
Also, otherwise unnecessarily I had to disable the new DSP HLE debug window in Release mode because I could not access the SConfig::GetInstance().m_LocalCoreStartupParameter.m_strDSPPlugin.c_str() string that I need to start it (if I tried it crashed). Very annoying and strange. I could not access m_strDSPPlugin or m_strVideoPlugin either, but all other values in m_LocalCoreStartupParameter seemed to work fine. I'll have to leave it to someone else to figure out why.
TODO: Later I'll add function to the debugging buttons, currently only update have a function. I'll add some option to show a custom console window (that actually worked better that the wx window to show the current parameters status, it had less flicker on frequent updates). I'll also add some custom log file saving option.
Also, the reason I placed Logging.cpp in its own dir is because I plan to add more files to it. There were problems with some build modes, win32 with debugging crashed on booting a game, I don't know if it's my fault. And I could not build Debug win64 because of some wx linking problem.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@722 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-09-29 03:19:23 +00:00
|
|
|
// Includes
|
2008-09-29 21:22:44 +00:00
|
|
|
|
Some changes to the debugger, added a DSP HLE debugging window. I moved the initialization of DLLdebugger from Core.cpp to the debugging window. (I hope this doesn't break the LLE debugger in any way, or does it have to be started right after LoadPlugin?). Also added a ShowOnStart saved setting to the debugger. And a MainWindow saved setting that set the position and size of the main window when it's started. I may have broken things in the debugger by allowing disabling of for example the Jit window. Please accept my apologies if that is the case.
There's an annoying problem with the DSP HLE wx window that blocks some input and places it in a queue. For example if you have loaded the window and press X on the main window, that action is blocked an placed in some kind of queue and not executed until you have closed the debugging window. This is also why the main Dolphin-Debugger window does not show up until you close the sound window. If someone find a fix to this I guess it could be convenient. There is another way to show the window, m_frame->Show() that is normally supposed to remove this kind of on-focus lock, but in a dll it seemingly breaks because it makes Dllmain call DLL_PROCESS_DETACH immediately after DLL_PROCESS_ATTACH so the window has to be killed or we crash.
Also, otherwise unnecessarily I had to disable the new DSP HLE debug window in Release mode because I could not access the SConfig::GetInstance().m_LocalCoreStartupParameter.m_strDSPPlugin.c_str() string that I need to start it (if I tried it crashed). Very annoying and strange. I could not access m_strDSPPlugin or m_strVideoPlugin either, but all other values in m_LocalCoreStartupParameter seemed to work fine. I'll have to leave it to someone else to figure out why.
TODO: Later I'll add function to the debugging buttons, currently only update have a function. I'll add some option to show a custom console window (that actually worked better that the wx window to show the current parameters status, it had less flicker on frequent updates). I'll also add some custom log file saving option.
Also, the reason I placed Logging.cpp in its own dir is because I plan to add more files to it. There were problems with some build modes, win32 with debugging crashed on booting a game, I don't know if it's my fault. And I could not build Debug win64 because of some wx linking problem.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@722 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-09-29 03:19:23 +00:00
|
|
|
#include <iostream>
|
|
|
|
#include <vector>
|
|
|
|
#include <string> // so that we can test std::string == abc
|
2008-10-09 04:00:47 +00:00
|
|
|
#include <math.h> // for the pow() function
|
2008-09-29 21:22:44 +00:00
|
|
|
#ifdef _WIN32
|
2008-10-03 10:59:56 +00:00
|
|
|
#include <windows.h>
|
2008-09-29 21:22:44 +00:00
|
|
|
#endif
|
Some changes to the debugger, added a DSP HLE debugging window. I moved the initialization of DLLdebugger from Core.cpp to the debugging window. (I hope this doesn't break the LLE debugger in any way, or does it have to be started right after LoadPlugin?). Also added a ShowOnStart saved setting to the debugger. And a MainWindow saved setting that set the position and size of the main window when it's started. I may have broken things in the debugger by allowing disabling of for example the Jit window. Please accept my apologies if that is the case.
There's an annoying problem with the DSP HLE wx window that blocks some input and places it in a queue. For example if you have loaded the window and press X on the main window, that action is blocked an placed in some kind of queue and not executed until you have closed the debugging window. This is also why the main Dolphin-Debugger window does not show up until you close the sound window. If someone find a fix to this I guess it could be convenient. There is another way to show the window, m_frame->Show() that is normally supposed to remove this kind of on-focus lock, but in a dll it seemingly breaks because it makes Dllmain call DLL_PROCESS_DETACH immediately after DLL_PROCESS_ATTACH so the window has to be killed or we crash.
Also, otherwise unnecessarily I had to disable the new DSP HLE debug window in Release mode because I could not access the SConfig::GetInstance().m_LocalCoreStartupParameter.m_strDSPPlugin.c_str() string that I need to start it (if I tried it crashed). Very annoying and strange. I could not access m_strDSPPlugin or m_strVideoPlugin either, but all other values in m_LocalCoreStartupParameter seemed to work fine. I'll have to leave it to someone else to figure out why.
TODO: Later I'll add function to the debugging buttons, currently only update have a function. I'll add some option to show a custom console window (that actually worked better that the wx window to show the current parameters status, it had less flicker on frequent updates). I'll also add some custom log file saving option.
Also, the reason I placed Logging.cpp in its own dir is because I plan to add more files to it. There were problems with some build modes, win32 with debugging crashed on booting a game, I don't know if it's my fault. And I could not build Debug win64 because of some wx linking problem.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@722 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-09-29 03:19:23 +00:00
|
|
|
|
2008-11-11 16:28:46 +00:00
|
|
|
#include "StringUtil.h"
|
|
|
|
|
Some changes to the debugger, added a DSP HLE debugging window. I moved the initialization of DLLdebugger from Core.cpp to the debugging window. (I hope this doesn't break the LLE debugger in any way, or does it have to be started right after LoadPlugin?). Also added a ShowOnStart saved setting to the debugger. And a MainWindow saved setting that set the position and size of the main window when it's started. I may have broken things in the debugger by allowing disabling of for example the Jit window. Please accept my apologies if that is the case.
There's an annoying problem with the DSP HLE wx window that blocks some input and places it in a queue. For example if you have loaded the window and press X on the main window, that action is blocked an placed in some kind of queue and not executed until you have closed the debugging window. This is also why the main Dolphin-Debugger window does not show up until you close the sound window. If someone find a fix to this I guess it could be convenient. There is another way to show the window, m_frame->Show() that is normally supposed to remove this kind of on-focus lock, but in a dll it seemingly breaks because it makes Dllmain call DLL_PROCESS_DETACH immediately after DLL_PROCESS_ATTACH so the window has to be killed or we crash.
Also, otherwise unnecessarily I had to disable the new DSP HLE debug window in Release mode because I could not access the SConfig::GetInstance().m_LocalCoreStartupParameter.m_strDSPPlugin.c_str() string that I need to start it (if I tried it crashed). Very annoying and strange. I could not access m_strDSPPlugin or m_strVideoPlugin either, but all other values in m_LocalCoreStartupParameter seemed to work fine. I'll have to leave it to someone else to figure out why.
TODO: Later I'll add function to the debugging buttons, currently only update have a function. I'll add some option to show a custom console window (that actually worked better that the wx window to show the current parameters status, it had less flicker on frequent updates). I'll also add some custom log file saving option.
Also, the reason I placed Logging.cpp in its own dir is because I plan to add more files to it. There were problems with some build modes, win32 with debugging crashed on booting a game, I don't know if it's my fault. And I could not build Debug win64 because of some wx linking problem.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@722 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-09-29 03:19:23 +00:00
|
|
|
#include "../Debugger/Debugger.h"
|
2008-10-04 20:15:19 +00:00
|
|
|
#include "../Debugger/PBView.h"
|
2008-10-03 10:59:56 +00:00
|
|
|
#include "Console.h" // open and close console, clear console window
|
|
|
|
|
2008-10-04 20:15:19 +00:00
|
|
|
#include "../Globals.h"
|
|
|
|
#include "../UCodes/UCodes.h"
|
|
|
|
#include "../UCodes/UCode_AXStructs.h"
|
|
|
|
#include "../UCodes/UCode_AX.h"
|
2008-11-10 20:32:36 +00:00
|
|
|
#include "../UCodes/UCode_AXWii.h"
|
2008-10-07 00:59:12 +00:00
|
|
|
|
Some changes to the debugger, added a DSP HLE debugging window. I moved the initialization of DLLdebugger from Core.cpp to the debugging window. (I hope this doesn't break the LLE debugger in any way, or does it have to be started right after LoadPlugin?). Also added a ShowOnStart saved setting to the debugger. And a MainWindow saved setting that set the position and size of the main window when it's started. I may have broken things in the debugger by allowing disabling of for example the Jit window. Please accept my apologies if that is the case.
There's an annoying problem with the DSP HLE wx window that blocks some input and places it in a queue. For example if you have loaded the window and press X on the main window, that action is blocked an placed in some kind of queue and not executed until you have closed the debugging window. This is also why the main Dolphin-Debugger window does not show up until you close the sound window. If someone find a fix to this I guess it could be convenient. There is another way to show the window, m_frame->Show() that is normally supposed to remove this kind of on-focus lock, but in a dll it seemingly breaks because it makes Dllmain call DLL_PROCESS_DETACH immediately after DLL_PROCESS_ATTACH so the window has to be killed or we crash.
Also, otherwise unnecessarily I had to disable the new DSP HLE debug window in Release mode because I could not access the SConfig::GetInstance().m_LocalCoreStartupParameter.m_strDSPPlugin.c_str() string that I need to start it (if I tried it crashed). Very annoying and strange. I could not access m_strDSPPlugin or m_strVideoPlugin either, but all other values in m_LocalCoreStartupParameter seemed to work fine. I'll have to leave it to someone else to figure out why.
TODO: Later I'll add function to the debugging buttons, currently only update have a function. I'll add some option to show a custom console window (that actually worked better that the wx window to show the current parameters status, it had less flicker on frequent updates). I'll also add some custom log file saving option.
Also, the reason I placed Logging.cpp in its own dir is because I plan to add more files to it. There were problems with some build modes, win32 with debugging crashed on booting a game, I don't know if it's my fault. And I could not build Debug win64 because of some wx linking problem.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@722 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-09-29 03:19:23 +00:00
|
|
|
// Externals
|
2008-10-03 10:59:56 +00:00
|
|
|
|
2008-11-11 16:28:46 +00:00
|
|
|
extern bool gSSBM;
|
|
|
|
extern bool gSSBMremedy1;
|
|
|
|
extern bool gSSBMremedy2;
|
|
|
|
extern bool gSequenced;
|
|
|
|
extern bool gVolume;
|
|
|
|
extern bool gReset;
|
2008-11-10 10:32:18 +00:00
|
|
|
u32 gLastBlock;
|
2008-10-09 04:00:47 +00:00
|
|
|
extern int nFiles;
|
2008-10-04 17:26:12 +00:00
|
|
|
float ratioFactor; // a global to get the ratio factor from MixAdd
|
2008-11-10 10:32:18 +00:00
|
|
|
extern CDebugger* m_frame;
|
2008-11-10 20:32:36 +00:00
|
|
|
//int PBSize = 128;
|
Some changes to the debugger, added a DSP HLE debugging window. I moved the initialization of DLLdebugger from Core.cpp to the debugging window. (I hope this doesn't break the LLE debugger in any way, or does it have to be started right after LoadPlugin?). Also added a ShowOnStart saved setting to the debugger. And a MainWindow saved setting that set the position and size of the main window when it's started. I may have broken things in the debugger by allowing disabling of for example the Jit window. Please accept my apologies if that is the case.
There's an annoying problem with the DSP HLE wx window that blocks some input and places it in a queue. For example if you have loaded the window and press X on the main window, that action is blocked an placed in some kind of queue and not executed until you have closed the debugging window. This is also why the main Dolphin-Debugger window does not show up until you close the sound window. If someone find a fix to this I guess it could be convenient. There is another way to show the window, m_frame->Show() that is normally supposed to remove this kind of on-focus lock, but in a dll it seemingly breaks because it makes Dllmain call DLL_PROCESS_DETACH immediately after DLL_PROCESS_ATTACH so the window has to be killed or we crash.
Also, otherwise unnecessarily I had to disable the new DSP HLE debug window in Release mode because I could not access the SConfig::GetInstance().m_LocalCoreStartupParameter.m_strDSPPlugin.c_str() string that I need to start it (if I tried it crashed). Very annoying and strange. I could not access m_strDSPPlugin or m_strVideoPlugin either, but all other values in m_LocalCoreStartupParameter seemed to work fine. I'll have to leave it to someone else to figure out why.
TODO: Later I'll add function to the debugging buttons, currently only update have a function. I'll add some option to show a custom console window (that actually worked better that the wx window to show the current parameters status, it had less flicker on frequent updates). I'll also add some custom log file saving option.
Also, the reason I placed Logging.cpp in its own dir is because I plan to add more files to it. There were problems with some build modes, win32 with debugging crashed on booting a game, I don't know if it's my fault. And I could not build Debug win64 because of some wx linking problem.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@722 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-09-29 03:19:23 +00:00
|
|
|
|
|
|
|
// Parameter blocks
|
2008-09-29 21:22:44 +00:00
|
|
|
|
2008-11-10 20:32:36 +00:00
|
|
|
std::vector<u32> gloopPos(NUMBER_OF_PBS);
|
|
|
|
std::vector<u32> gsampleEnd(NUMBER_OF_PBS);
|
|
|
|
std::vector<u32> gsamplePos(NUMBER_OF_PBS);
|
2008-10-09 04:00:47 +00:00
|
|
|
|
|
|
|
// main
|
2008-11-11 08:10:09 +00:00
|
|
|
std::vector<u16> running(NUMBER_OF_PBS);
|
2008-11-10 20:32:36 +00:00
|
|
|
std::vector<u16> gsrc_type(NUMBER_OF_PBS);
|
|
|
|
std::vector<u16> gis_stream(NUMBER_OF_PBS);
|
2008-10-07 00:59:12 +00:00
|
|
|
|
Some changes to the debugger, added a DSP HLE debugging window. I moved the initialization of DLLdebugger from Core.cpp to the debugging window. (I hope this doesn't break the LLE debugger in any way, or does it have to be started right after LoadPlugin?). Also added a ShowOnStart saved setting to the debugger. And a MainWindow saved setting that set the position and size of the main window when it's started. I may have broken things in the debugger by allowing disabling of for example the Jit window. Please accept my apologies if that is the case.
There's an annoying problem with the DSP HLE wx window that blocks some input and places it in a queue. For example if you have loaded the window and press X on the main window, that action is blocked an placed in some kind of queue and not executed until you have closed the debugging window. This is also why the main Dolphin-Debugger window does not show up until you close the sound window. If someone find a fix to this I guess it could be convenient. There is another way to show the window, m_frame->Show() that is normally supposed to remove this kind of on-focus lock, but in a dll it seemingly breaks because it makes Dllmain call DLL_PROCESS_DETACH immediately after DLL_PROCESS_ATTACH so the window has to be killed or we crash.
Also, otherwise unnecessarily I had to disable the new DSP HLE debug window in Release mode because I could not access the SConfig::GetInstance().m_LocalCoreStartupParameter.m_strDSPPlugin.c_str() string that I need to start it (if I tried it crashed). Very annoying and strange. I could not access m_strDSPPlugin or m_strVideoPlugin either, but all other values in m_LocalCoreStartupParameter seemed to work fine. I'll have to leave it to someone else to figure out why.
TODO: Later I'll add function to the debugging buttons, currently only update have a function. I'll add some option to show a custom console window (that actually worked better that the wx window to show the current parameters status, it had less flicker on frequent updates). I'll also add some custom log file saving option.
Also, the reason I placed Logging.cpp in its own dir is because I plan to add more files to it. There were problems with some build modes, win32 with debugging crashed on booting a game, I don't know if it's my fault. And I could not build Debug win64 because of some wx linking problem.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@722 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-09-29 03:19:23 +00:00
|
|
|
// PBSampleRateConverter src
|
2008-11-10 20:32:36 +00:00
|
|
|
std::vector<u32> gratio(NUMBER_OF_PBS);
|
|
|
|
std::vector<u32> gratiohi(NUMBER_OF_PBS);
|
|
|
|
std::vector<u32> gratiolo(NUMBER_OF_PBS);
|
|
|
|
std::vector<u32> gfrac(NUMBER_OF_PBS);
|
|
|
|
std::vector<u32> gcoef(NUMBER_OF_PBS);
|
2008-10-07 00:59:12 +00:00
|
|
|
|
Some changes to the debugger, added a DSP HLE debugging window. I moved the initialization of DLLdebugger from Core.cpp to the debugging window. (I hope this doesn't break the LLE debugger in any way, or does it have to be started right after LoadPlugin?). Also added a ShowOnStart saved setting to the debugger. And a MainWindow saved setting that set the position and size of the main window when it's started. I may have broken things in the debugger by allowing disabling of for example the Jit window. Please accept my apologies if that is the case.
There's an annoying problem with the DSP HLE wx window that blocks some input and places it in a queue. For example if you have loaded the window and press X on the main window, that action is blocked an placed in some kind of queue and not executed until you have closed the debugging window. This is also why the main Dolphin-Debugger window does not show up until you close the sound window. If someone find a fix to this I guess it could be convenient. There is another way to show the window, m_frame->Show() that is normally supposed to remove this kind of on-focus lock, but in a dll it seemingly breaks because it makes Dllmain call DLL_PROCESS_DETACH immediately after DLL_PROCESS_ATTACH so the window has to be killed or we crash.
Also, otherwise unnecessarily I had to disable the new DSP HLE debug window in Release mode because I could not access the SConfig::GetInstance().m_LocalCoreStartupParameter.m_strDSPPlugin.c_str() string that I need to start it (if I tried it crashed). Very annoying and strange. I could not access m_strDSPPlugin or m_strVideoPlugin either, but all other values in m_LocalCoreStartupParameter seemed to work fine. I'll have to leave it to someone else to figure out why.
TODO: Later I'll add function to the debugging buttons, currently only update have a function. I'll add some option to show a custom console window (that actually worked better that the wx window to show the current parameters status, it had less flicker on frequent updates). I'll also add some custom log file saving option.
Also, the reason I placed Logging.cpp in its own dir is because I plan to add more files to it. There were problems with some build modes, win32 with debugging crashed on booting a game, I don't know if it's my fault. And I could not build Debug win64 because of some wx linking problem.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@722 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-09-29 03:19:23 +00:00
|
|
|
// PBSampleRateConverter mixer
|
2008-11-10 20:32:36 +00:00
|
|
|
std::vector<u16> gvolume_left(NUMBER_OF_PBS);
|
|
|
|
std::vector<u16> gmix_unknown(NUMBER_OF_PBS);
|
|
|
|
std::vector<u16> gvolume_right(NUMBER_OF_PBS);
|
|
|
|
std::vector<u16> gmix_unknown2(NUMBER_OF_PBS);
|
|
|
|
std::vector<u16> gmixer_control(NUMBER_OF_PBS);
|
2008-11-11 08:10:09 +00:00
|
|
|
std::vector<u32> gmixer_control_wii(NUMBER_OF_PBS);
|
2008-11-10 20:32:36 +00:00
|
|
|
|
|
|
|
std::vector<u16> gmixer_vol1(NUMBER_OF_PBS);
|
|
|
|
std::vector<u16> gmixer_vol2(NUMBER_OF_PBS);
|
|
|
|
std::vector<u16> gmixer_vol3(NUMBER_OF_PBS);
|
|
|
|
std::vector<u16> gmixer_vol4(NUMBER_OF_PBS);
|
|
|
|
std::vector<u16> gmixer_vol5(NUMBER_OF_PBS);
|
|
|
|
std::vector<u16> gmixer_vol6(NUMBER_OF_PBS);
|
|
|
|
std::vector<u16> gmixer_vol7(NUMBER_OF_PBS);
|
|
|
|
|
|
|
|
std::vector<u16> gmixer_d1(NUMBER_OF_PBS);
|
|
|
|
std::vector<u16> gmixer_d2(NUMBER_OF_PBS);
|
|
|
|
std::vector<u16> gmixer_d3(NUMBER_OF_PBS);
|
|
|
|
std::vector<u16> gmixer_d4(NUMBER_OF_PBS);
|
|
|
|
std::vector<u16> gmixer_d5(NUMBER_OF_PBS);
|
|
|
|
std::vector<u16> gmixer_d6(NUMBER_OF_PBS);
|
|
|
|
std::vector<u16> gmixer_d7(NUMBER_OF_PBS);
|
2008-10-09 04:00:47 +00:00
|
|
|
|
|
|
|
// PBVolumeEnvelope vol_env
|
2008-11-10 20:32:36 +00:00
|
|
|
std::vector<u16> gcur_volume(NUMBER_OF_PBS);
|
|
|
|
std::vector<u16> gcur_volume_delta(NUMBER_OF_PBS);
|
Some changes to the debugger, added a DSP HLE debugging window. I moved the initialization of DLLdebugger from Core.cpp to the debugging window. (I hope this doesn't break the LLE debugger in any way, or does it have to be started right after LoadPlugin?). Also added a ShowOnStart saved setting to the debugger. And a MainWindow saved setting that set the position and size of the main window when it's started. I may have broken things in the debugger by allowing disabling of for example the Jit window. Please accept my apologies if that is the case.
There's an annoying problem with the DSP HLE wx window that blocks some input and places it in a queue. For example if you have loaded the window and press X on the main window, that action is blocked an placed in some kind of queue and not executed until you have closed the debugging window. This is also why the main Dolphin-Debugger window does not show up until you close the sound window. If someone find a fix to this I guess it could be convenient. There is another way to show the window, m_frame->Show() that is normally supposed to remove this kind of on-focus lock, but in a dll it seemingly breaks because it makes Dllmain call DLL_PROCESS_DETACH immediately after DLL_PROCESS_ATTACH so the window has to be killed or we crash.
Also, otherwise unnecessarily I had to disable the new DSP HLE debug window in Release mode because I could not access the SConfig::GetInstance().m_LocalCoreStartupParameter.m_strDSPPlugin.c_str() string that I need to start it (if I tried it crashed). Very annoying and strange. I could not access m_strDSPPlugin or m_strVideoPlugin either, but all other values in m_LocalCoreStartupParameter seemed to work fine. I'll have to leave it to someone else to figure out why.
TODO: Later I'll add function to the debugging buttons, currently only update have a function. I'll add some option to show a custom console window (that actually worked better that the wx window to show the current parameters status, it had less flicker on frequent updates). I'll also add some custom log file saving option.
Also, the reason I placed Logging.cpp in its own dir is because I plan to add more files to it. There were problems with some build modes, win32 with debugging crashed on booting a game, I don't know if it's my fault. And I could not build Debug win64 because of some wx linking problem.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@722 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-09-29 03:19:23 +00:00
|
|
|
|
2008-10-09 04:00:47 +00:00
|
|
|
// PBAudioAddr audio_addr (incl looping)
|
2008-11-10 20:32:36 +00:00
|
|
|
std::vector<u16> gaudioFormat(NUMBER_OF_PBS);
|
|
|
|
std::vector<u16> glooping(NUMBER_OF_PBS);
|
|
|
|
std::vector<u16> gloop1(NUMBER_OF_PBS);
|
|
|
|
std::vector<u16> gloop2(NUMBER_OF_PBS);
|
|
|
|
std::vector<u16> gloop3(NUMBER_OF_PBS);
|
2008-10-09 04:00:47 +00:00
|
|
|
|
|
|
|
// PBADPCMInfo adpcm
|
2008-11-10 20:32:36 +00:00
|
|
|
std::vector<u16> gadloop1(NUMBER_OF_PBS);
|
|
|
|
std::vector<u16> gadloop2(NUMBER_OF_PBS);
|
|
|
|
std::vector<u16> gadloop3(NUMBER_OF_PBS);
|
Some changes to the debugger, added a DSP HLE debugging window. I moved the initialization of DLLdebugger from Core.cpp to the debugging window. (I hope this doesn't break the LLE debugger in any way, or does it have to be started right after LoadPlugin?). Also added a ShowOnStart saved setting to the debugger. And a MainWindow saved setting that set the position and size of the main window when it's started. I may have broken things in the debugger by allowing disabling of for example the Jit window. Please accept my apologies if that is the case.
There's an annoying problem with the DSP HLE wx window that blocks some input and places it in a queue. For example if you have loaded the window and press X on the main window, that action is blocked an placed in some kind of queue and not executed until you have closed the debugging window. This is also why the main Dolphin-Debugger window does not show up until you close the sound window. If someone find a fix to this I guess it could be convenient. There is another way to show the window, m_frame->Show() that is normally supposed to remove this kind of on-focus lock, but in a dll it seemingly breaks because it makes Dllmain call DLL_PROCESS_DETACH immediately after DLL_PROCESS_ATTACH so the window has to be killed or we crash.
Also, otherwise unnecessarily I had to disable the new DSP HLE debug window in Release mode because I could not access the SConfig::GetInstance().m_LocalCoreStartupParameter.m_strDSPPlugin.c_str() string that I need to start it (if I tried it crashed). Very annoying and strange. I could not access m_strDSPPlugin or m_strVideoPlugin either, but all other values in m_LocalCoreStartupParameter seemed to work fine. I'll have to leave it to someone else to figure out why.
TODO: Later I'll add function to the debugging buttons, currently only update have a function. I'll add some option to show a custom console window (that actually worked better that the wx window to show the current parameters status, it had less flicker on frequent updates). I'll also add some custom log file saving option.
Also, the reason I placed Logging.cpp in its own dir is because I plan to add more files to it. There were problems with some build modes, win32 with debugging crashed on booting a game, I don't know if it's my fault. And I could not build Debug win64 because of some wx linking problem.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@722 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-09-29 03:19:23 +00:00
|
|
|
|
|
|
|
// updates
|
2008-11-10 20:32:36 +00:00
|
|
|
std::vector<u16> gupdates1(NUMBER_OF_PBS);
|
|
|
|
std::vector<u16> gupdates2(NUMBER_OF_PBS);
|
|
|
|
std::vector<u16> gupdates3(NUMBER_OF_PBS);
|
|
|
|
std::vector<u16> gupdates4(NUMBER_OF_PBS);
|
|
|
|
std::vector<u16> gupdates5(NUMBER_OF_PBS);
|
|
|
|
std::vector<u32> gupdates_addr(NUMBER_OF_PBS);
|
|
|
|
std::vector<u32> gupdates_data(NUMBER_OF_PBS);
|
2008-09-29 21:22:44 +00:00
|
|
|
|
|
|
|
|
Some changes to the debugger, added a DSP HLE debugging window. I moved the initialization of DLLdebugger from Core.cpp to the debugging window. (I hope this doesn't break the LLE debugger in any way, or does it have to be started right after LoadPlugin?). Also added a ShowOnStart saved setting to the debugger. And a MainWindow saved setting that set the position and size of the main window when it's started. I may have broken things in the debugger by allowing disabling of for example the Jit window. Please accept my apologies if that is the case.
There's an annoying problem with the DSP HLE wx window that blocks some input and places it in a queue. For example if you have loaded the window and press X on the main window, that action is blocked an placed in some kind of queue and not executed until you have closed the debugging window. This is also why the main Dolphin-Debugger window does not show up until you close the sound window. If someone find a fix to this I guess it could be convenient. There is another way to show the window, m_frame->Show() that is normally supposed to remove this kind of on-focus lock, but in a dll it seemingly breaks because it makes Dllmain call DLL_PROCESS_DETACH immediately after DLL_PROCESS_ATTACH so the window has to be killed or we crash.
Also, otherwise unnecessarily I had to disable the new DSP HLE debug window in Release mode because I could not access the SConfig::GetInstance().m_LocalCoreStartupParameter.m_strDSPPlugin.c_str() string that I need to start it (if I tried it crashed). Very annoying and strange. I could not access m_strDSPPlugin or m_strVideoPlugin either, but all other values in m_LocalCoreStartupParameter seemed to work fine. I'll have to leave it to someone else to figure out why.
TODO: Later I'll add function to the debugging buttons, currently only update have a function. I'll add some option to show a custom console window (that actually worked better that the wx window to show the current parameters status, it had less flicker on frequent updates). I'll also add some custom log file saving option.
Also, the reason I placed Logging.cpp in its own dir is because I plan to add more files to it. There were problems with some build modes, win32 with debugging crashed on booting a game, I don't know if it's my fault. And I could not build Debug win64 because of some wx linking problem.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@722 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-09-29 03:19:23 +00:00
|
|
|
// Counters
|
2008-09-29 21:22:44 +00:00
|
|
|
|
Some changes to the debugger, added a DSP HLE debugging window. I moved the initialization of DLLdebugger from Core.cpp to the debugging window. (I hope this doesn't break the LLE debugger in any way, or does it have to be started right after LoadPlugin?). Also added a ShowOnStart saved setting to the debugger. And a MainWindow saved setting that set the position and size of the main window when it's started. I may have broken things in the debugger by allowing disabling of for example the Jit window. Please accept my apologies if that is the case.
There's an annoying problem with the DSP HLE wx window that blocks some input and places it in a queue. For example if you have loaded the window and press X on the main window, that action is blocked an placed in some kind of queue and not executed until you have closed the debugging window. This is also why the main Dolphin-Debugger window does not show up until you close the sound window. If someone find a fix to this I guess it could be convenient. There is another way to show the window, m_frame->Show() that is normally supposed to remove this kind of on-focus lock, but in a dll it seemingly breaks because it makes Dllmain call DLL_PROCESS_DETACH immediately after DLL_PROCESS_ATTACH so the window has to be killed or we crash.
Also, otherwise unnecessarily I had to disable the new DSP HLE debug window in Release mode because I could not access the SConfig::GetInstance().m_LocalCoreStartupParameter.m_strDSPPlugin.c_str() string that I need to start it (if I tried it crashed). Very annoying and strange. I could not access m_strDSPPlugin or m_strVideoPlugin either, but all other values in m_LocalCoreStartupParameter seemed to work fine. I'll have to leave it to someone else to figure out why.
TODO: Later I'll add function to the debugging buttons, currently only update have a function. I'll add some option to show a custom console window (that actually worked better that the wx window to show the current parameters status, it had less flicker on frequent updates). I'll also add some custom log file saving option.
Also, the reason I placed Logging.cpp in its own dir is because I plan to add more files to it. There were problems with some build modes, win32 with debugging crashed on booting a game, I don't know if it's my fault. And I could not build Debug win64 because of some wx linking problem.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@722 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-09-29 03:19:23 +00:00
|
|
|
int j = 0;
|
|
|
|
int k = 0;
|
2008-10-09 04:00:47 +00:00
|
|
|
unsigned int l = 0;
|
2008-10-03 10:59:56 +00:00
|
|
|
int iupd = 0;
|
|
|
|
bool iupdonce = false;
|
|
|
|
std::vector<u16> viupd(15); // the length of the update frequency bar
|
|
|
|
int vectorLengthGUI = 8; // length of playback history bar for the GUI version
|
|
|
|
int vectorLength = 15; // for console version
|
2008-10-06 18:40:34 +00:00
|
|
|
int vectorLength2 = 100; // for console version
|
Some changes to the debugger, added a DSP HLE debugging window. I moved the initialization of DLLdebugger from Core.cpp to the debugging window. (I hope this doesn't break the LLE debugger in any way, or does it have to be started right after LoadPlugin?). Also added a ShowOnStart saved setting to the debugger. And a MainWindow saved setting that set the position and size of the main window when it's started. I may have broken things in the debugger by allowing disabling of for example the Jit window. Please accept my apologies if that is the case.
There's an annoying problem with the DSP HLE wx window that blocks some input and places it in a queue. For example if you have loaded the window and press X on the main window, that action is blocked an placed in some kind of queue and not executed until you have closed the debugging window. This is also why the main Dolphin-Debugger window does not show up until you close the sound window. If someone find a fix to this I guess it could be convenient. There is another way to show the window, m_frame->Show() that is normally supposed to remove this kind of on-focus lock, but in a dll it seemingly breaks because it makes Dllmain call DLL_PROCESS_DETACH immediately after DLL_PROCESS_ATTACH so the window has to be killed or we crash.
Also, otherwise unnecessarily I had to disable the new DSP HLE debug window in Release mode because I could not access the SConfig::GetInstance().m_LocalCoreStartupParameter.m_strDSPPlugin.c_str() string that I need to start it (if I tried it crashed). Very annoying and strange. I could not access m_strDSPPlugin or m_strVideoPlugin either, but all other values in m_LocalCoreStartupParameter seemed to work fine. I'll have to leave it to someone else to figure out why.
TODO: Later I'll add function to the debugging buttons, currently only update have a function. I'll add some option to show a custom console window (that actually worked better that the wx window to show the current parameters status, it had less flicker on frequent updates). I'll also add some custom log file saving option.
Also, the reason I placed Logging.cpp in its own dir is because I plan to add more files to it. There were problems with some build modes, win32 with debugging crashed on booting a game, I don't know if it's my fault. And I could not build Debug win64 because of some wx linking problem.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@722 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-09-29 03:19:23 +00:00
|
|
|
|
|
|
|
|
|
|
|
// More stuff
|
2008-09-29 21:22:44 +00:00
|
|
|
|
2008-10-06 18:40:34 +00:00
|
|
|
// should we worry about the additonal memory these lists require? bool will allocate
|
|
|
|
// very little memory
|
2008-11-10 20:32:36 +00:00
|
|
|
std::vector< std::vector<bool> > vector1(NUMBER_OF_PBS, std::vector<bool>(vectorLength, 0));
|
|
|
|
std::vector< std::vector<bool> > vector2(NUMBER_OF_PBS, std::vector<bool>(vectorLength2, 0));
|
|
|
|
std::vector<int> numberRunning(NUMBER_OF_PBS);
|
2008-09-29 21:22:44 +00:00
|
|
|
|
|
|
|
|
Some changes to the debugger, added a DSP HLE debugging window. I moved the initialization of DLLdebugger from Core.cpp to the debugging window. (I hope this doesn't break the LLE debugger in any way, or does it have to be started right after LoadPlugin?). Also added a ShowOnStart saved setting to the debugger. And a MainWindow saved setting that set the position and size of the main window when it's started. I may have broken things in the debugger by allowing disabling of for example the Jit window. Please accept my apologies if that is the case.
There's an annoying problem with the DSP HLE wx window that blocks some input and places it in a queue. For example if you have loaded the window and press X on the main window, that action is blocked an placed in some kind of queue and not executed until you have closed the debugging window. This is also why the main Dolphin-Debugger window does not show up until you close the sound window. If someone find a fix to this I guess it could be convenient. There is another way to show the window, m_frame->Show() that is normally supposed to remove this kind of on-focus lock, but in a dll it seemingly breaks because it makes Dllmain call DLL_PROCESS_DETACH immediately after DLL_PROCESS_ATTACH so the window has to be killed or we crash.
Also, otherwise unnecessarily I had to disable the new DSP HLE debug window in Release mode because I could not access the SConfig::GetInstance().m_LocalCoreStartupParameter.m_strDSPPlugin.c_str() string that I need to start it (if I tried it crashed). Very annoying and strange. I could not access m_strDSPPlugin or m_strVideoPlugin either, but all other values in m_LocalCoreStartupParameter seemed to work fine. I'll have to leave it to someone else to figure out why.
TODO: Later I'll add function to the debugging buttons, currently only update have a function. I'll add some option to show a custom console window (that actually worked better that the wx window to show the current parameters status, it had less flicker on frequent updates). I'll also add some custom log file saving option.
Also, the reason I placed Logging.cpp in its own dir is because I plan to add more files to it. There were problems with some build modes, win32 with debugging crashed on booting a game, I don't know if it's my fault. And I could not build Debug win64 because of some wx linking problem.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@722 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-09-29 03:19:23 +00:00
|
|
|
// Classes
|
2008-09-29 21:22:44 +00:00
|
|
|
|
Some changes to the debugger, added a DSP HLE debugging window. I moved the initialization of DLLdebugger from Core.cpp to the debugging window. (I hope this doesn't break the LLE debugger in any way, or does it have to be started right after LoadPlugin?). Also added a ShowOnStart saved setting to the debugger. And a MainWindow saved setting that set the position and size of the main window when it's started. I may have broken things in the debugger by allowing disabling of for example the Jit window. Please accept my apologies if that is the case.
There's an annoying problem with the DSP HLE wx window that blocks some input and places it in a queue. For example if you have loaded the window and press X on the main window, that action is blocked an placed in some kind of queue and not executed until you have closed the debugging window. This is also why the main Dolphin-Debugger window does not show up until you close the sound window. If someone find a fix to this I guess it could be convenient. There is another way to show the window, m_frame->Show() that is normally supposed to remove this kind of on-focus lock, but in a dll it seemingly breaks because it makes Dllmain call DLL_PROCESS_DETACH immediately after DLL_PROCESS_ATTACH so the window has to be killed or we crash.
Also, otherwise unnecessarily I had to disable the new DSP HLE debug window in Release mode because I could not access the SConfig::GetInstance().m_LocalCoreStartupParameter.m_strDSPPlugin.c_str() string that I need to start it (if I tried it crashed). Very annoying and strange. I could not access m_strDSPPlugin or m_strVideoPlugin either, but all other values in m_LocalCoreStartupParameter seemed to work fine. I'll have to leave it to someone else to figure out why.
TODO: Later I'll add function to the debugging buttons, currently only update have a function. I'll add some option to show a custom console window (that actually worked better that the wx window to show the current parameters status, it had less flicker on frequent updates). I'll also add some custom log file saving option.
Also, the reason I placed Logging.cpp in its own dir is because I plan to add more files to it. There were problems with some build modes, win32 with debugging crashed on booting a game, I don't know if it's my fault. And I could not build Debug win64 because of some wx linking problem.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@722 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-09-29 03:19:23 +00:00
|
|
|
extern CDebugger* m_frame;
|
2008-09-29 21:22:44 +00:00
|
|
|
|
Some changes to the debugger, added a DSP HLE debugging window. I moved the initialization of DLLdebugger from Core.cpp to the debugging window. (I hope this doesn't break the LLE debugger in any way, or does it have to be started right after LoadPlugin?). Also added a ShowOnStart saved setting to the debugger. And a MainWindow saved setting that set the position and size of the main window when it's started. I may have broken things in the debugger by allowing disabling of for example the Jit window. Please accept my apologies if that is the case.
There's an annoying problem with the DSP HLE wx window that blocks some input and places it in a queue. For example if you have loaded the window and press X on the main window, that action is blocked an placed in some kind of queue and not executed until you have closed the debugging window. This is also why the main Dolphin-Debugger window does not show up until you close the sound window. If someone find a fix to this I guess it could be convenient. There is another way to show the window, m_frame->Show() that is normally supposed to remove this kind of on-focus lock, but in a dll it seemingly breaks because it makes Dllmain call DLL_PROCESS_DETACH immediately after DLL_PROCESS_ATTACH so the window has to be killed or we crash.
Also, otherwise unnecessarily I had to disable the new DSP HLE debug window in Release mode because I could not access the SConfig::GetInstance().m_LocalCoreStartupParameter.m_strDSPPlugin.c_str() string that I need to start it (if I tried it crashed). Very annoying and strange. I could not access m_strDSPPlugin or m_strVideoPlugin either, but all other values in m_LocalCoreStartupParameter seemed to work fine. I'll have to leave it to someone else to figure out why.
TODO: Later I'll add function to the debugging buttons, currently only update have a function. I'll add some option to show a custom console window (that actually worked better that the wx window to show the current parameters status, it had less flicker on frequent updates). I'll also add some custom log file saving option.
Also, the reason I placed Logging.cpp in its own dir is because I plan to add more files to it. There were problems with some build modes, win32 with debugging crashed on booting a game, I don't know if it's my fault. And I could not build Debug win64 because of some wx linking problem.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@722 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-09-29 03:19:23 +00:00
|
|
|
|
|
|
|
|
2008-10-09 04:00:47 +00:00
|
|
|
// =======================================================================================
|
|
|
|
// Write title
|
|
|
|
// --------------
|
2008-11-11 16:28:46 +00:00
|
|
|
std::string writeTitle(int a, bool Wii)
|
2008-10-09 04:00:47 +00:00
|
|
|
{
|
|
|
|
std::string b;
|
|
|
|
if(a == 0)
|
2008-11-11 16:28:46 +00:00
|
|
|
{
|
|
|
|
if(m_frame->bShowBase) // show base 10
|
|
|
|
{
|
|
|
|
b = " adpcm adpcm_loop\n";
|
|
|
|
b = b + " Nr pos / end lpos | voll volr | isl iss | pre yn1 yn2 pre yn1 yn2 | frac ratio[hi lo]\n";
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
b = " adpcm adpcm_loop\n";
|
|
|
|
b = b + " Nr pos / end lpos | voll volr | isl iss | pre yn1 yn2 pre yn1 yn2 | frac rati[hi lo ]\n";
|
|
|
|
}
|
2008-10-09 04:00:47 +00:00
|
|
|
}
|
|
|
|
else if(a == 1)
|
|
|
|
{
|
2008-11-11 16:28:46 +00:00
|
|
|
if(m_frame->bShowBase) // show base 10
|
|
|
|
{
|
|
|
|
b = " Nr pos / end lpos | voll volr | src form coef | 1 2 3 4 5 addr value\n";
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
b = " Nr pos / end lpos | voll volr | src form coef | 1 2 3 4 5 addr value\n";
|
|
|
|
}
|
2008-10-09 04:00:47 +00:00
|
|
|
}
|
|
|
|
else if(a == 2)
|
|
|
|
{
|
2008-11-11 16:28:46 +00:00
|
|
|
if(m_frame->bShowBase) // show base 10
|
|
|
|
{
|
|
|
|
b = " Nr pos / end lpos | voll volr | isl iss | e-l e-s\n";
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
b = " Nr pos / end lpos | voll volr | isl iss | e-l e-s\n";
|
|
|
|
}
|
2008-10-09 04:00:47 +00:00
|
|
|
}
|
|
|
|
else if(a == 3)
|
|
|
|
{
|
2008-11-11 16:28:46 +00:00
|
|
|
if(m_frame->bShowBase) // show base 10
|
|
|
|
{
|
|
|
|
if(Wii)
|
|
|
|
b = " Nr voll volr dl dr curv delt mixc r | v1 v2 v3 v4 v5 v6 v7 | d1 d2 d3 d4 d5 d6 d7\n";
|
|
|
|
else
|
|
|
|
b = " Nr voll volr dl dr curv delt mixc r | v1 v2 v3 v4 v5 v6 v7 | d1 d2 d3 d4 d5 d6 d7\n";
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
if(Wii)
|
|
|
|
b = " Nr voll volr dl dr curv delt mixc r | v1 v2 v3 v4 v5 v6 v7 | d1 d2 d3 d4 d5 d6 d7\n";
|
|
|
|
else
|
|
|
|
b = " Nr voll volr dl dr curv delt mixc r | v1 v2 v3 v4 v5 v6 v7 | d1 d2 d3 d4 d5 d6 d7\n";
|
|
|
|
}
|
2008-10-09 04:00:47 +00:00
|
|
|
}
|
|
|
|
return b;
|
|
|
|
}
|
|
|
|
// =======================================================================================
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// =======================================================================================
|
|
|
|
// Write main message (presets)
|
|
|
|
// --------------
|
2008-11-11 16:28:46 +00:00
|
|
|
std::string writeMessage(int a, int i, bool Wii)
|
2008-10-09 04:00:47 +00:00
|
|
|
{
|
|
|
|
char buf [1000] = "";
|
|
|
|
std::string sbuf;
|
|
|
|
// =======================================================================================
|
|
|
|
// PRESETS
|
|
|
|
// ---------------------------------------------------------------------------------------
|
|
|
|
/*
|
|
|
|
PRESET 0
|
2008-11-11 16:28:46 +00:00
|
|
|
" Nr pos / end lpos | voll volr | isl iss | pre yn1 yn2 pre yn1 yn2 | frac ratio[hi lo]\n";
|
|
|
|
"---------------|00 12,341,234/134,123,412 12341234 | 00,000 00,000 | 0 0 | 000 00000 00000 000 00000 00000 | 00000 00000[0 00000]
|
|
|
|
|
|
|
|
" Nr pos / end lpos | voll volr | isl iss | pre yn1 yn2 pre yn1 yn2 | frac rati[hi lo ]\n";
|
|
|
|
"---------------|00 12,341,234/134,123,412 12341234 | 00,000 00,000 | 0 0 | 000 0000 0000 000 0000 0000 | 0000 0000[0 00000]
|
2008-10-09 04:00:47 +00:00
|
|
|
|
|
|
|
PRESET 1 (updates)
|
2008-11-11 16:28:46 +00:00
|
|
|
" Nr pos / end lpos | voll volr | src form coef | 1 2 3 4 5 addr value\n";
|
|
|
|
"---------------|00 12,341,234/12,341,234 12341234 | 00,000 00,000 | 0 0 0 | 0 0 0 0 0 80808080 80808080
|
2008-10-09 04:00:47 +00:00
|
|
|
|
|
|
|
PRESET 2
|
2008-11-11 16:28:46 +00:00
|
|
|
" Nr pos / end lpos | voll volr | isl iss | e-l e-s\n";
|
|
|
|
"---------------|00 12,341,234/12341234 12,341,234 | 00000 00000 | 0 0 | 00,000,000 00,000,000
|
2008-10-09 04:00:47 +00:00
|
|
|
*/
|
|
|
|
if(a == 0)
|
|
|
|
{
|
2008-11-11 16:28:46 +00:00
|
|
|
if(m_frame->bShowBase)
|
|
|
|
{
|
|
|
|
sprintf(buf,"%c%02i %10s/%10s %10s | %06s %06s | %i %i | %03i %05i %05i %03i %05i %05i | %05i %05i[%i %05i]",
|
|
|
|
223, i, ThS(gsamplePos[i],true).c_str(), ThS(gsampleEnd[i],true).c_str(), ThS(gloopPos[i],true).c_str(),
|
|
|
|
ThS(gvolume_left[i]).c_str(), ThS(gvolume_right[i]).c_str(),
|
|
|
|
glooping[i], gis_stream[i],
|
|
|
|
gadloop1[i], gadloop2[i], gadloop3[i], gloop1[i], gloop2[i], gloop3[i],
|
|
|
|
gfrac[i], gratio[i], gratiohi[i], gratiolo[i]
|
|
|
|
);
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
sprintf(buf,"%c%02i %08x/%08x %08x | %04x %04x | %i %i | %02x %04x %04x %02x %04x %04x | %04x %04x[%i %04x]",
|
|
|
|
223, i, gsamplePos[i], gsampleEnd[i], gloopPos[i],
|
|
|
|
gvolume_left[i], gvolume_right[i],
|
|
|
|
glooping[i], gis_stream[i],
|
|
|
|
gadloop1[i], gadloop2[i], gadloop3[i], gloop1[i], gloop2[i], gloop3[i],
|
|
|
|
gfrac[i], gratio[i], gratiohi[i], gratiolo[i]
|
|
|
|
);
|
|
|
|
}
|
2008-10-09 04:00:47 +00:00
|
|
|
}
|
|
|
|
else if(a == 1)
|
|
|
|
{
|
2008-11-11 16:28:46 +00:00
|
|
|
if(m_frame->bShowBase)
|
|
|
|
{
|
|
|
|
sprintf(buf,"%c%02i %10s/%10s %10s | %06s %06s | %u %u %u | %u %u %u %u %u %08x %08x",
|
|
|
|
223, i, ThS(gsamplePos[i]).c_str(), ThS(gsampleEnd[i]).c_str(), ThS(gloopPos[i]).c_str(),
|
|
|
|
ThS(gvolume_left[i]).c_str(), ThS(gvolume_right[i]).c_str(),
|
|
|
|
gsrc_type[i], gaudioFormat[i], gcoef[i],
|
|
|
|
gupdates1[i], gupdates2[i], gupdates3[i], gupdates4[i], gupdates5[i], gupdates_addr[i], gupdates_data[i]
|
|
|
|
);
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
sprintf(buf,"%c%02i %08x/%08x %08x | %04x %04x | %u %u %u | %u %u %u %u %u %08x %08x",
|
|
|
|
223, i, ThS(gsamplePos[i]).c_str(), ThS(gsampleEnd[i]).c_str(), ThS(gloopPos[i]).c_str(),
|
|
|
|
gvolume_left[i], gvolume_right[i],
|
|
|
|
gsrc_type[i], gaudioFormat[i], gcoef[i],
|
|
|
|
gupdates1[i], gupdates2[i], gupdates3[i], gupdates4[i], gupdates5[i], gupdates_addr[i], gupdates_data[i]
|
|
|
|
);
|
|
|
|
}
|
2008-10-09 04:00:47 +00:00
|
|
|
}
|
|
|
|
else if(a == 2)
|
|
|
|
{
|
2008-11-11 16:28:46 +00:00
|
|
|
if(m_frame->bShowBase)
|
|
|
|
{
|
|
|
|
sprintf(buf,"%c%02i %10s/%10s %10s | %05i %05i | %i %i | %10s %10s",
|
|
|
|
223, i, ThS(gsamplePos[i]).c_str(), ThS(gsampleEnd[i]).c_str(), ThS(gloopPos[i]).c_str(),
|
|
|
|
gvolume_left[i], gvolume_right[i],
|
|
|
|
glooping[i], gis_stream[i],
|
|
|
|
ThS(gsampleEnd[i] - gloopPos[i], false).c_str(), ThS(gsampleEnd[i] - gsamplePos[i], false).c_str()
|
|
|
|
);
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
sprintf(buf,"%c%02i %08x/%08x %08x | %04x %04x | %i %i | %08x %08x",
|
|
|
|
223, i, gsamplePos[i], gsampleEnd[i], gloopPos[i],
|
|
|
|
gvolume_left[i], gvolume_right[i],
|
|
|
|
glooping[i], gis_stream[i],
|
|
|
|
gsampleEnd[i] - gloopPos[i], gsampleEnd[i] - gsamplePos[i]
|
|
|
|
);
|
|
|
|
}
|
2008-10-09 04:00:47 +00:00
|
|
|
}
|
|
|
|
/*
|
|
|
|
PRESET 3
|
|
|
|
" Nr voll volr dl dr curv delt mixc r | v1 v2 v3 v4 v5 v6 v7 | d1 d2 d3 d4 d5 d6 d7\n";
|
|
|
|
"---------------|00 00000 00000 00000 00000 00000 00000 00000 0 | 00000 00000 00000 00000 00000 00000 00000 | 00000 00000 00000 00000 00000 00000 00000
|
|
|
|
*/
|
|
|
|
else if(a == 3)
|
|
|
|
{
|
2008-11-11 16:28:46 +00:00
|
|
|
if(m_frame->bShowBase)
|
|
|
|
{
|
|
|
|
if(Wii)
|
|
|
|
{
|
|
|
|
sprintf(buf,"%c%02i %05i %05i %05i %05i %05i %05i %05i %i | %05i %05i %05i %05i %05i %05i %05i | %05i %05i %05i %05i %05i %05i %05i",
|
|
|
|
223, i,
|
|
|
|
gvolume_left[i], gvolume_right[i], gmix_unknown[i], gmix_unknown2[i], gcur_volume[i], gcur_volume_delta[i],
|
|
|
|
gmixer_control_wii[i], (gmixer_control_wii[i] & MIXCONTROL_RAMPING),
|
|
|
|
gmixer_vol1[i], gmixer_vol2[i], gmixer_vol3[i], gmixer_vol4[i], gmixer_vol5[i],
|
|
|
|
gmixer_vol6[i], gmixer_vol7[i],
|
|
|
|
gmixer_d1[i], gmixer_d2[i], gmixer_d3[i], gmixer_d4[i], gmixer_d5[i],
|
|
|
|
gmixer_d6[i], gmixer_d7[i]
|
|
|
|
);
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
sprintf(buf,"%c%02i %05i %05i %05i %05i %05i %05i %08i %i | %05i %05i %05i %05i %05i %05i %05i | %05i %05i %05i %05i %05i %05i %05i",
|
|
|
|
223, i,
|
|
|
|
gvolume_left[i], gvolume_right[i], gmix_unknown[i], gmix_unknown2[i], gcur_volume[i], gcur_volume_delta[i],
|
|
|
|
gmixer_control[i], (gmixer_control[i] & MIXCONTROL_RAMPING),
|
|
|
|
gmixer_vol1[i], gmixer_vol2[i], gmixer_vol3[i], gmixer_vol4[i], gmixer_vol5[i],
|
|
|
|
gmixer_vol6[i], gmixer_vol7[i],
|
|
|
|
gmixer_d1[i], gmixer_d2[i], gmixer_d3[i], gmixer_d4[i], gmixer_d5[i],
|
|
|
|
gmixer_d6[i], gmixer_d7[i]
|
|
|
|
);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
if(Wii)
|
|
|
|
{
|
|
|
|
sprintf(buf,"%c%02i %04x %04x %04x %04x %04x %04x %08x %i | %04x %04x %04x %04x %04x %04x %04x | %04x %04x %04x %04x %04x %04x %04x",
|
|
|
|
223, i,
|
|
|
|
gvolume_left[i], gvolume_right[i], gmix_unknown[i], gmix_unknown2[i], gcur_volume[i], gcur_volume_delta[i],
|
|
|
|
gmixer_control_wii[i], (gmixer_control_wii[i] & MIXCONTROL_RAMPING),
|
|
|
|
gmixer_vol1[i], gmixer_vol2[i], gmixer_vol3[i], gmixer_vol4[i], gmixer_vol5[i],
|
|
|
|
gmixer_vol6[i], gmixer_vol7[i],
|
|
|
|
gmixer_d1[i], gmixer_d2[i], gmixer_d3[i], gmixer_d4[i], gmixer_d5[i],
|
|
|
|
gmixer_d6[i], gmixer_d7[i]
|
|
|
|
);
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
sprintf(buf,"%c%02i %04x %04x %04x %04x %04x %04x %04x %i | %04x %04x %04x %04x %04x %04x %04x | %04x %04x %04x %04x %04x %04x %04x",
|
|
|
|
223, i,
|
|
|
|
gvolume_left[i], gvolume_right[i], gmix_unknown[i], gmix_unknown2[i], gcur_volume[i], gcur_volume_delta[i],
|
|
|
|
gmixer_control[i], (gmixer_control[i] & MIXCONTROL_RAMPING),
|
|
|
|
gmixer_vol1[i], gmixer_vol2[i], gmixer_vol3[i], gmixer_vol4[i], gmixer_vol5[i],
|
|
|
|
gmixer_vol6[i], gmixer_vol7[i],
|
|
|
|
gmixer_d1[i], gmixer_d2[i], gmixer_d3[i], gmixer_d4[i], gmixer_d5[i],
|
|
|
|
gmixer_d6[i], gmixer_d7[i]
|
|
|
|
);
|
|
|
|
}
|
|
|
|
}
|
2008-10-09 04:00:47 +00:00
|
|
|
}
|
|
|
|
sbuf = buf;
|
|
|
|
return sbuf;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2008-11-10 20:32:36 +00:00
|
|
|
// ================
|
|
|
|
|
|
|
|
|
2008-10-09 04:00:47 +00:00
|
|
|
// =======================================================================================
|
2008-11-10 20:32:36 +00:00
|
|
|
// Collect parameters from Wii or GC
|
|
|
|
// --------------
|
|
|
|
/*
|
|
|
|
std::string ShowAllPB(int a, int i)
|
|
|
|
{
|
|
|
|
if(a == 0)
|
|
|
|
{
|
|
|
|
|
|
|
|
}
|
|
|
|
else if(a == 1)
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
else if(a == 1)
|
|
|
|
{
|
|
|
|
|
|
|
|
}
|
|
|
|
else if(a == 1)
|
|
|
|
|
|
|
|
}
|
|
|
|
*/
|
|
|
|
// ================
|
2008-10-09 04:00:47 +00:00
|
|
|
|
|
|
|
|
2008-11-10 20:32:36 +00:00
|
|
|
// =======================================================================================
|
|
|
|
// Collect parameters from Wii or GC
|
|
|
|
// --------------
|
|
|
|
|
|
|
|
//inline void MixAddVoice(ParamBlockType &pb
|
|
|
|
//void CollectPB(bool Wii, int i, AXParamBlockWii * PBw, ParamBlockType &pb)
|
|
|
|
template<class ParamBlockType> void CollectPB(bool Wii, int i, ParamBlockType &PBs)
|
|
|
|
//void CollectPB(bool Wii, int i, AXParamBlockWii * PBw, AXParamBlock * PBs)
|
|
|
|
{
|
|
|
|
// AXPB base
|
2008-11-11 08:10:09 +00:00
|
|
|
gsrc_type[i] = PBs[i].src_type;
|
2008-11-10 20:32:36 +00:00
|
|
|
gcoef[i] = PBs[i].coef_select;
|
2008-11-11 08:10:09 +00:00
|
|
|
if(Wii) gmixer_control_wii[i] = PBs[i].mixer_control;
|
|
|
|
else gmixer_control[i] = PBs[i].mixer_control;
|
2008-11-10 20:32:36 +00:00
|
|
|
|
2008-11-11 08:10:09 +00:00
|
|
|
running[i] = PBs[i].running;
|
|
|
|
gis_stream[i] = PBs[i].is_stream;
|
2008-11-10 20:32:36 +00:00
|
|
|
|
|
|
|
// mixer (some differences)
|
|
|
|
gvolume_left[i] = PBs[i].mixer.volume_left;
|
|
|
|
gvolume_right[i] = PBs[i].mixer.volume_right;
|
|
|
|
|
|
|
|
gmix_unknown[i] = PBs[i].mixer.unknown;
|
|
|
|
gmix_unknown2[i] = PBs[i].mixer.unknown2;
|
|
|
|
|
|
|
|
gcur_volume[i] = PBs[i].vol_env.cur_volume;
|
|
|
|
gcur_volume_delta[i] = PBs[i].vol_env.cur_volume_delta;
|
|
|
|
|
|
|
|
gmixer_vol1[i] = PBs[i].mixer.unknown3[0];
|
|
|
|
gmixer_vol2[i] = PBs[i].mixer.unknown3[2];
|
|
|
|
gmixer_vol3[i] = PBs[i].mixer.unknown3[4];
|
|
|
|
gmixer_vol4[i] = PBs[i].mixer.unknown3[6];
|
|
|
|
gmixer_vol5[i] = PBs[i].mixer.unknown3[0];
|
|
|
|
gmixer_vol6[i] = PBs[i].mixer.unknown3[2];
|
|
|
|
gmixer_vol7[i] = PBs[i].mixer.unknown3[4];
|
|
|
|
|
2008-11-10 21:48:15 +00:00
|
|
|
gmixer_d1[i] = PBs[i].mixer.unknown4[1];
|
|
|
|
gmixer_d2[i] = PBs[i].mixer.unknown4[3];
|
2008-11-10 20:32:36 +00:00
|
|
|
gmixer_d3[i] = PBs[i].mixer.unknown4[5];
|
|
|
|
gmixer_d4[i] = PBs[i].mixer.unknown4[7];
|
|
|
|
gmixer_d5[i] = PBs[i].mixer.unknown4[1];
|
|
|
|
gmixer_d6[i] = PBs[i].mixer.unknown4[3];
|
|
|
|
gmixer_d7[i] = PBs[i].mixer.unknown4[5];
|
|
|
|
|
2008-11-11 08:10:09 +00:00
|
|
|
// PBAudioAddr audio_addr
|
|
|
|
glooping[i] = PBs[i].audio_addr.looping;
|
|
|
|
gaudioFormat[i] = PBs[i].audio_addr.sample_format;
|
|
|
|
gloopPos[i] = (PBs[i].audio_addr.loop_addr_hi << 16) | PBs[i].audio_addr.loop_addr_lo;
|
|
|
|
gsampleEnd[i] = (PBs[i].audio_addr.end_addr_hi << 16) | PBs[i].audio_addr.end_addr_lo;
|
|
|
|
gsamplePos[i] = (PBs[i].audio_addr.cur_addr_hi << 16) | PBs[i].audio_addr.cur_addr_lo;
|
|
|
|
|
|
|
|
// PBADPCMLoopInfo adpcm_loop_info (same in GC and Wii)
|
2008-11-10 20:32:36 +00:00
|
|
|
gadloop1[i] = PBs[i].adpcm.pred_scale;
|
|
|
|
gadloop2[i] = PBs[i].adpcm.yn1;
|
|
|
|
gadloop3[i] = PBs[i].adpcm.yn2;
|
|
|
|
|
|
|
|
gloop1[i] = PBs[i].adpcm_loop_info.pred_scale;
|
|
|
|
gloop2[i] = PBs[i].adpcm_loop_info.yn1;
|
|
|
|
gloop3[i] = PBs[i].adpcm_loop_info.yn2;
|
|
|
|
|
|
|
|
// updates (differences)
|
|
|
|
gupdates1[i] = PBs[i].updates.num_updates[0];
|
|
|
|
gupdates2[i] = PBs[i].updates.num_updates[1];
|
|
|
|
gupdates3[i] = PBs[i].updates.num_updates[2];
|
|
|
|
gupdates4[i] = PBs[i].updates.num_updates[3];
|
|
|
|
gupdates5[i] = PBs[i].updates.num_updates[4];
|
|
|
|
|
|
|
|
gupdates_addr[i] = (PBs[i].updates.data_hi << 16) | PBs[i].updates.data_lo;
|
|
|
|
gupdates_data[i] = Memory_Read_U32(gupdates_addr[i]);
|
2008-11-11 08:10:09 +00:00
|
|
|
|
2008-11-10 20:32:36 +00:00
|
|
|
// PBSampleRateConverter src
|
|
|
|
|
|
|
|
gratio[i] = (u32)(((PBs[i].src.ratio_hi << 16) + PBs[i].src.ratio_lo) * ratioFactor);
|
|
|
|
gratiohi[i] = PBs[i].src.ratio_hi;
|
|
|
|
gratiolo[i] = PBs[i].src.ratio_lo;
|
|
|
|
gfrac[i] = PBs[i].src.cur_addr_frac;
|
|
|
|
}
|
|
|
|
// ===============
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// =======================================================================================
|
|
|
|
// Prepare the condition that makes us show a certain block
|
|
|
|
// --------------
|
|
|
|
template<class ParamBlockType>
|
|
|
|
bool PrepareConditions(bool Wii, int i, ParamBlockType &PBs)
|
|
|
|
{
|
|
|
|
bool Conditions;
|
|
|
|
|
|
|
|
if (m_frame->gOnlyLooping) // show only looping blocks
|
|
|
|
{
|
|
|
|
Conditions = PBs[i].audio_addr.looping;
|
|
|
|
}
|
|
|
|
else if (m_frame->gShowAll) // show all blocks
|
|
|
|
{
|
|
|
|
Conditions = true;
|
|
|
|
}
|
|
|
|
else if (m_frame->giShowAll > -1) // show all blocks
|
|
|
|
{
|
|
|
|
if (m_frame->giShowAll == 0)
|
|
|
|
Conditions = (i < 31);
|
|
|
|
else if(m_frame->giShowAll == 1)
|
|
|
|
Conditions = (i > 30 && i < 61);
|
|
|
|
else if(m_frame->giShowAll == 2)
|
|
|
|
Conditions = (i > 60 && i < 91);
|
|
|
|
else if(m_frame->giShowAll == 3)
|
|
|
|
Conditions = (i > 90 && i < 121);
|
|
|
|
}
|
|
|
|
else // show only the ones that have recently been running
|
|
|
|
{
|
|
|
|
Conditions = (numberRunning.at(i) > 0 || PBs[i].audio_addr.looping);
|
|
|
|
}
|
|
|
|
|
|
|
|
return Conditions;
|
|
|
|
}
|
|
|
|
// ===============
|
|
|
|
|
2008-10-09 04:00:47 +00:00
|
|
|
|
2008-10-06 18:40:34 +00:00
|
|
|
// I placed this in CUCode_AX because it needs access to private members of that class.
|
2008-11-10 20:32:36 +00:00
|
|
|
//template<class ParamBlockType>
|
|
|
|
//void CUCode_AX::Logging(short* _pBuffer, int _iSize, int a, bool Wii, AXParamBlockWii *PBs, int numberOfPBs)
|
|
|
|
void CUCode_AX::Logging(short* _pBuffer, int _iSize, int a, bool Wii)
|
Some changes to the debugger, added a DSP HLE debugging window. I moved the initialization of DLLdebugger from Core.cpp to the debugging window. (I hope this doesn't break the LLE debugger in any way, or does it have to be started right after LoadPlugin?). Also added a ShowOnStart saved setting to the debugger. And a MainWindow saved setting that set the position and size of the main window when it's started. I may have broken things in the debugger by allowing disabling of for example the Jit window. Please accept my apologies if that is the case.
There's an annoying problem with the DSP HLE wx window that blocks some input and places it in a queue. For example if you have loaded the window and press X on the main window, that action is blocked an placed in some kind of queue and not executed until you have closed the debugging window. This is also why the main Dolphin-Debugger window does not show up until you close the sound window. If someone find a fix to this I guess it could be convenient. There is another way to show the window, m_frame->Show() that is normally supposed to remove this kind of on-focus lock, but in a dll it seemingly breaks because it makes Dllmain call DLL_PROCESS_DETACH immediately after DLL_PROCESS_ATTACH so the window has to be killed or we crash.
Also, otherwise unnecessarily I had to disable the new DSP HLE debug window in Release mode because I could not access the SConfig::GetInstance().m_LocalCoreStartupParameter.m_strDSPPlugin.c_str() string that I need to start it (if I tried it crashed). Very annoying and strange. I could not access m_strDSPPlugin or m_strVideoPlugin either, but all other values in m_LocalCoreStartupParameter seemed to work fine. I'll have to leave it to someone else to figure out why.
TODO: Later I'll add function to the debugging buttons, currently only update have a function. I'll add some option to show a custom console window (that actually worked better that the wx window to show the current parameters status, it had less flicker on frequent updates). I'll also add some custom log file saving option.
Also, the reason I placed Logging.cpp in its own dir is because I plan to add more files to it. There were problems with some build modes, win32 with debugging crashed on booting a game, I don't know if it's my fault. And I could not build Debug win64 because of some wx linking problem.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@722 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-09-29 03:19:23 +00:00
|
|
|
{
|
2008-11-10 20:32:36 +00:00
|
|
|
// Declare structures
|
|
|
|
/**/
|
|
|
|
AXParamBlock PBs[64];
|
|
|
|
AXParamBlockWii PBw[NUMBER_OF_PBS];
|
|
|
|
int numberOfPBsWii = ReadOutPBsWii(m_addressPBs, PBw, NUMBER_OF_PBS - 1);
|
|
|
|
int numberOfPBsGC = ReadOutPBs(m_addressPBs, PBs, 64);
|
|
|
|
|
|
|
|
|
|
|
|
/**/
|
|
|
|
// Read out the number of PBs that have data
|
|
|
|
int numberOfPBs;
|
|
|
|
if(Wii)
|
|
|
|
numberOfPBs = numberOfPBsWii;
|
|
|
|
else
|
|
|
|
numberOfPBs = numberOfPBsGC;
|
|
|
|
|
|
|
|
// Select blocks to show
|
|
|
|
bool Conditions;
|
2008-10-09 04:00:47 +00:00
|
|
|
|
|
|
|
// =======================================================================================
|
|
|
|
// Update parameter values
|
|
|
|
// --------------
|
2008-11-10 20:32:36 +00:00
|
|
|
// We could chose to update these only if a block is currently running. Later I'll add options
|
|
|
|
// to see both the current and the latest active value.
|
2008-10-09 04:00:47 +00:00
|
|
|
//if (PBs[i].running)
|
|
|
|
int irun = 0;
|
|
|
|
for (int i = 0; i < numberOfPBs; i++)
|
2008-11-11 08:10:09 +00:00
|
|
|
{
|
|
|
|
if(Wii)
|
|
|
|
running[i] = PBs[i].running;
|
|
|
|
else
|
|
|
|
running[i] = PBs[i].running;
|
2008-11-10 20:32:36 +00:00
|
|
|
|
|
|
|
// --------------------------------------------------------------------
|
|
|
|
// Write a line for the text log if nothing is playing
|
|
|
|
// --------------
|
2008-11-09 18:38:15 +00:00
|
|
|
if (PBs[i].running)
|
2008-10-09 04:00:47 +00:00
|
|
|
{
|
|
|
|
irun++;
|
|
|
|
}
|
2008-11-10 20:32:36 +00:00
|
|
|
|
2008-10-09 04:00:47 +00:00
|
|
|
if (i == numberOfPBs - 1 && irun == 0)
|
|
|
|
{
|
|
|
|
for (int i = 0; i < nFiles; i++)
|
|
|
|
{
|
|
|
|
std::string sfbuff;
|
2008-11-11 16:28:46 +00:00
|
|
|
sfbuff = "-----\n";
|
2008-10-09 04:00:47 +00:00
|
|
|
aprintf(i, (char *)sfbuff.c_str());
|
|
|
|
}
|
|
|
|
}
|
2008-11-10 20:32:36 +00:00
|
|
|
// --------------
|
|
|
|
|
2008-10-09 04:00:47 +00:00
|
|
|
|
|
|
|
// Prepare conditions
|
2008-11-10 20:32:36 +00:00
|
|
|
/**/
|
|
|
|
if(Wii)
|
|
|
|
Conditions = PrepareConditions(Wii, i, PBw);
|
2008-10-09 04:00:47 +00:00
|
|
|
else
|
2008-11-10 20:32:36 +00:00
|
|
|
Conditions = PrepareConditions(Wii, i, PBs);
|
2008-10-09 04:00:47 +00:00
|
|
|
|
|
|
|
|
2008-11-09 16:19:30 +00:00
|
|
|
if (Conditions)
|
2008-10-09 04:00:47 +00:00
|
|
|
{
|
2008-11-10 20:32:36 +00:00
|
|
|
// Collect parameters
|
|
|
|
if(Wii)
|
|
|
|
CollectPB(Wii, i, PBw);
|
|
|
|
else
|
|
|
|
CollectPB(Wii, i, PBs);
|
2008-10-09 04:00:47 +00:00
|
|
|
|
|
|
|
// ---------------------------------------------------------------------------------------
|
|
|
|
// Write to file
|
|
|
|
// --------------
|
|
|
|
for (int ii = 0; ii < nFiles; ii++)
|
|
|
|
{
|
|
|
|
std::string sfbuff;
|
2008-11-10 20:32:36 +00:00
|
|
|
if(a == 0) sfbuff = "***"; // note if it's before or after an update (*** = before)
|
2008-10-09 04:00:47 +00:00
|
|
|
else sfbuff = " ";
|
2008-10-11 07:28:18 +00:00
|
|
|
|
|
|
|
// write running
|
|
|
|
char cbuf[10];
|
2008-11-11 08:10:09 +00:00
|
|
|
sprintf(cbuf, "%i", running[i]);
|
2008-10-11 07:28:18 +00:00
|
|
|
sfbuff = sfbuff + cbuf;
|
|
|
|
|
2008-11-11 16:28:46 +00:00
|
|
|
sfbuff = sfbuff + writeMessage(ii, i, Wii);
|
2008-10-11 14:35:29 +00:00
|
|
|
|
|
|
|
// write _iSize
|
|
|
|
strcpy(cbuf, ""); sprintf(cbuf, "%i", _iSize);
|
|
|
|
sfbuff = sfbuff + " | _iSize: " + cbuf + "\n";
|
|
|
|
|
2008-10-09 04:00:47 +00:00
|
|
|
aprintf(ii, (char *)sfbuff.c_str());
|
|
|
|
}
|
|
|
|
// --------------
|
|
|
|
}
|
|
|
|
}
|
|
|
|
// ==============
|
|
|
|
|
|
|
|
|
2008-11-10 20:32:36 +00:00
|
|
|
//PanicAlert("Done now before: %i", numberOfPBs);
|
|
|
|
|
|
|
|
|
2008-10-09 04:00:47 +00:00
|
|
|
// =======================================================================================
|
|
|
|
// Control how often the screen is updated, and then update the screen
|
|
|
|
// --------------
|
|
|
|
if(a == 0) j++;
|
2008-11-10 10:32:18 +00:00
|
|
|
if (m_frame->gUpdFreq > 0 && j > (200/m_frame->gUpdFreq))
|
Some changes to the debugger, added a DSP HLE debugging window. I moved the initialization of DLLdebugger from Core.cpp to the debugging window. (I hope this doesn't break the LLE debugger in any way, or does it have to be started right after LoadPlugin?). Also added a ShowOnStart saved setting to the debugger. And a MainWindow saved setting that set the position and size of the main window when it's started. I may have broken things in the debugger by allowing disabling of for example the Jit window. Please accept my apologies if that is the case.
There's an annoying problem with the DSP HLE wx window that blocks some input and places it in a queue. For example if you have loaded the window and press X on the main window, that action is blocked an placed in some kind of queue and not executed until you have closed the debugging window. This is also why the main Dolphin-Debugger window does not show up until you close the sound window. If someone find a fix to this I guess it could be convenient. There is another way to show the window, m_frame->Show() that is normally supposed to remove this kind of on-focus lock, but in a dll it seemingly breaks because it makes Dllmain call DLL_PROCESS_DETACH immediately after DLL_PROCESS_ATTACH so the window has to be killed or we crash.
Also, otherwise unnecessarily I had to disable the new DSP HLE debug window in Release mode because I could not access the SConfig::GetInstance().m_LocalCoreStartupParameter.m_strDSPPlugin.c_str() string that I need to start it (if I tried it crashed). Very annoying and strange. I could not access m_strDSPPlugin or m_strVideoPlugin either, but all other values in m_LocalCoreStartupParameter seemed to work fine. I'll have to leave it to someone else to figure out why.
TODO: Later I'll add function to the debugging buttons, currently only update have a function. I'll add some option to show a custom console window (that actually worked better that the wx window to show the current parameters status, it had less flicker on frequent updates). I'll also add some custom log file saving option.
Also, the reason I placed Logging.cpp in its own dir is because I plan to add more files to it. There were problems with some build modes, win32 with debugging crashed on booting a game, I don't know if it's my fault. And I could not build Debug win64 because of some wx linking problem.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@722 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-09-29 03:19:23 +00:00
|
|
|
{
|
|
|
|
|
2008-10-06 18:40:34 +00:00
|
|
|
// =======================================================================================
|
2008-11-11 08:10:09 +00:00
|
|
|
// Save the running history for each block. Vector1 is a vector1[NUMBER_OF_PBS][100] vector.
|
2008-10-06 18:40:34 +00:00
|
|
|
// --------------
|
Some changes to the debugger, added a DSP HLE debugging window. I moved the initialization of DLLdebugger from Core.cpp to the debugging window. (I hope this doesn't break the LLE debugger in any way, or does it have to be started right after LoadPlugin?). Also added a ShowOnStart saved setting to the debugger. And a MainWindow saved setting that set the position and size of the main window when it's started. I may have broken things in the debugger by allowing disabling of for example the Jit window. Please accept my apologies if that is the case.
There's an annoying problem with the DSP HLE wx window that blocks some input and places it in a queue. For example if you have loaded the window and press X on the main window, that action is blocked an placed in some kind of queue and not executed until you have closed the debugging window. This is also why the main Dolphin-Debugger window does not show up until you close the sound window. If someone find a fix to this I guess it could be convenient. There is another way to show the window, m_frame->Show() that is normally supposed to remove this kind of on-focus lock, but in a dll it seemingly breaks because it makes Dllmain call DLL_PROCESS_DETACH immediately after DLL_PROCESS_ATTACH so the window has to be killed or we crash.
Also, otherwise unnecessarily I had to disable the new DSP HLE debug window in Release mode because I could not access the SConfig::GetInstance().m_LocalCoreStartupParameter.m_strDSPPlugin.c_str() string that I need to start it (if I tried it crashed). Very annoying and strange. I could not access m_strDSPPlugin or m_strVideoPlugin either, but all other values in m_LocalCoreStartupParameter seemed to work fine. I'll have to leave it to someone else to figure out why.
TODO: Later I'll add function to the debugging buttons, currently only update have a function. I'll add some option to show a custom console window (that actually worked better that the wx window to show the current parameters status, it had less flicker on frequent updates). I'll also add some custom log file saving option.
Also, the reason I placed Logging.cpp in its own dir is because I plan to add more files to it. There were problems with some build modes, win32 with debugging crashed on booting a game, I don't know if it's my fault. And I could not build Debug win64 because of some wx linking problem.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@722 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-09-29 03:19:23 +00:00
|
|
|
/*
|
2008-10-03 10:59:56 +00:00
|
|
|
Move all items back like this:
|
Some changes to the debugger, added a DSP HLE debugging window. I moved the initialization of DLLdebugger from Core.cpp to the debugging window. (I hope this doesn't break the LLE debugger in any way, or does it have to be started right after LoadPlugin?). Also added a ShowOnStart saved setting to the debugger. And a MainWindow saved setting that set the position and size of the main window when it's started. I may have broken things in the debugger by allowing disabling of for example the Jit window. Please accept my apologies if that is the case.
There's an annoying problem with the DSP HLE wx window that blocks some input and places it in a queue. For example if you have loaded the window and press X on the main window, that action is blocked an placed in some kind of queue and not executed until you have closed the debugging window. This is also why the main Dolphin-Debugger window does not show up until you close the sound window. If someone find a fix to this I guess it could be convenient. There is another way to show the window, m_frame->Show() that is normally supposed to remove this kind of on-focus lock, but in a dll it seemingly breaks because it makes Dllmain call DLL_PROCESS_DETACH immediately after DLL_PROCESS_ATTACH so the window has to be killed or we crash.
Also, otherwise unnecessarily I had to disable the new DSP HLE debug window in Release mode because I could not access the SConfig::GetInstance().m_LocalCoreStartupParameter.m_strDSPPlugin.c_str() string that I need to start it (if I tried it crashed). Very annoying and strange. I could not access m_strDSPPlugin or m_strVideoPlugin either, but all other values in m_LocalCoreStartupParameter seemed to work fine. I'll have to leave it to someone else to figure out why.
TODO: Later I'll add function to the debugging buttons, currently only update have a function. I'll add some option to show a custom console window (that actually worked better that the wx window to show the current parameters status, it had less flicker on frequent updates). I'll also add some custom log file saving option.
Also, the reason I placed Logging.cpp in its own dir is because I plan to add more files to it. There were problems with some build modes, win32 with debugging crashed on booting a game, I don't know if it's my fault. And I could not build Debug win64 because of some wx linking problem.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@722 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-09-29 03:19:23 +00:00
|
|
|
1 to 2
|
|
|
|
2 3
|
2008-10-03 10:59:56 +00:00
|
|
|
3 ...
|
Some changes to the debugger, added a DSP HLE debugging window. I moved the initialization of DLLdebugger from Core.cpp to the debugging window. (I hope this doesn't break the LLE debugger in any way, or does it have to be started right after LoadPlugin?). Also added a ShowOnStart saved setting to the debugger. And a MainWindow saved setting that set the position and size of the main window when it's started. I may have broken things in the debugger by allowing disabling of for example the Jit window. Please accept my apologies if that is the case.
There's an annoying problem with the DSP HLE wx window that blocks some input and places it in a queue. For example if you have loaded the window and press X on the main window, that action is blocked an placed in some kind of queue and not executed until you have closed the debugging window. This is also why the main Dolphin-Debugger window does not show up until you close the sound window. If someone find a fix to this I guess it could be convenient. There is another way to show the window, m_frame->Show() that is normally supposed to remove this kind of on-focus lock, but in a dll it seemingly breaks because it makes Dllmain call DLL_PROCESS_DETACH immediately after DLL_PROCESS_ATTACH so the window has to be killed or we crash.
Also, otherwise unnecessarily I had to disable the new DSP HLE debug window in Release mode because I could not access the SConfig::GetInstance().m_LocalCoreStartupParameter.m_strDSPPlugin.c_str() string that I need to start it (if I tried it crashed). Very annoying and strange. I could not access m_strDSPPlugin or m_strVideoPlugin either, but all other values in m_LocalCoreStartupParameter seemed to work fine. I'll have to leave it to someone else to figure out why.
TODO: Later I'll add function to the debugging buttons, currently only update have a function. I'll add some option to show a custom console window (that actually worked better that the wx window to show the current parameters status, it had less flicker on frequent updates). I'll also add some custom log file saving option.
Also, the reason I placed Logging.cpp in its own dir is because I plan to add more files to it. There were problems with some build modes, win32 with debugging crashed on booting a game, I don't know if it's my fault. And I could not build Debug win64 because of some wx linking problem.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@722 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-09-29 03:19:23 +00:00
|
|
|
*/
|
2008-11-10 20:32:36 +00:00
|
|
|
for (int i = 0; i < NUMBER_OF_PBS; i++)
|
Some changes to the debugger, added a DSP HLE debugging window. I moved the initialization of DLLdebugger from Core.cpp to the debugging window. (I hope this doesn't break the LLE debugger in any way, or does it have to be started right after LoadPlugin?). Also added a ShowOnStart saved setting to the debugger. And a MainWindow saved setting that set the position and size of the main window when it's started. I may have broken things in the debugger by allowing disabling of for example the Jit window. Please accept my apologies if that is the case.
There's an annoying problem with the DSP HLE wx window that blocks some input and places it in a queue. For example if you have loaded the window and press X on the main window, that action is blocked an placed in some kind of queue and not executed until you have closed the debugging window. This is also why the main Dolphin-Debugger window does not show up until you close the sound window. If someone find a fix to this I guess it could be convenient. There is another way to show the window, m_frame->Show() that is normally supposed to remove this kind of on-focus lock, but in a dll it seemingly breaks because it makes Dllmain call DLL_PROCESS_DETACH immediately after DLL_PROCESS_ATTACH so the window has to be killed or we crash.
Also, otherwise unnecessarily I had to disable the new DSP HLE debug window in Release mode because I could not access the SConfig::GetInstance().m_LocalCoreStartupParameter.m_strDSPPlugin.c_str() string that I need to start it (if I tried it crashed). Very annoying and strange. I could not access m_strDSPPlugin or m_strVideoPlugin either, but all other values in m_LocalCoreStartupParameter seemed to work fine. I'll have to leave it to someone else to figure out why.
TODO: Later I'll add function to the debugging buttons, currently only update have a function. I'll add some option to show a custom console window (that actually worked better that the wx window to show the current parameters status, it had less flicker on frequent updates). I'll also add some custom log file saving option.
Also, the reason I placed Logging.cpp in its own dir is because I plan to add more files to it. There were problems with some build modes, win32 with debugging crashed on booting a game, I don't know if it's my fault. And I could not build Debug win64 because of some wx linking problem.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@722 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-09-29 03:19:23 +00:00
|
|
|
{
|
|
|
|
for (int j = 1; j < vectorLength; j++)
|
|
|
|
{
|
|
|
|
vector1.at(i).at(j-1) = vector1.at(i).at(j);
|
|
|
|
}
|
2008-10-09 04:00:47 +00:00
|
|
|
}
|
2008-09-29 21:22:44 +00:00
|
|
|
|
2008-10-09 04:00:47 +00:00
|
|
|
// Save the latest value
|
Some changes to the debugger, added a DSP HLE debugging window. I moved the initialization of DLLdebugger from Core.cpp to the debugging window. (I hope this doesn't break the LLE debugger in any way, or does it have to be started right after LoadPlugin?). Also added a ShowOnStart saved setting to the debugger. And a MainWindow saved setting that set the position and size of the main window when it's started. I may have broken things in the debugger by allowing disabling of for example the Jit window. Please accept my apologies if that is the case.
There's an annoying problem with the DSP HLE wx window that blocks some input and places it in a queue. For example if you have loaded the window and press X on the main window, that action is blocked an placed in some kind of queue and not executed until you have closed the debugging window. This is also why the main Dolphin-Debugger window does not show up until you close the sound window. If someone find a fix to this I guess it could be convenient. There is another way to show the window, m_frame->Show() that is normally supposed to remove this kind of on-focus lock, but in a dll it seemingly breaks because it makes Dllmain call DLL_PROCESS_DETACH immediately after DLL_PROCESS_ATTACH so the window has to be killed or we crash.
Also, otherwise unnecessarily I had to disable the new DSP HLE debug window in Release mode because I could not access the SConfig::GetInstance().m_LocalCoreStartupParameter.m_strDSPPlugin.c_str() string that I need to start it (if I tried it crashed). Very annoying and strange. I could not access m_strDSPPlugin or m_strVideoPlugin either, but all other values in m_LocalCoreStartupParameter seemed to work fine. I'll have to leave it to someone else to figure out why.
TODO: Later I'll add function to the debugging buttons, currently only update have a function. I'll add some option to show a custom console window (that actually worked better that the wx window to show the current parameters status, it had less flicker on frequent updates). I'll also add some custom log file saving option.
Also, the reason I placed Logging.cpp in its own dir is because I plan to add more files to it. There were problems with some build modes, win32 with debugging crashed on booting a game, I don't know if it's my fault. And I could not build Debug win64 because of some wx linking problem.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@722 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-09-29 03:19:23 +00:00
|
|
|
for (int i = 0; i < numberOfPBs; i++)
|
|
|
|
{
|
2008-11-11 08:10:09 +00:00
|
|
|
if(Wii)
|
|
|
|
{
|
|
|
|
//DebugLog("Writing %i to %i | m_addressPBs: %08x", running[i], i, m_addressPBs);
|
|
|
|
vector1.at(i).at(vectorLength-1) = running[i] ? true : false;
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
//DebugLog("Writing %i to %i", running[i], i);
|
|
|
|
vector1.at(i).at(vectorLength-1) = running[i] ? true : false;
|
|
|
|
}
|
Some changes to the debugger, added a DSP HLE debugging window. I moved the initialization of DLLdebugger from Core.cpp to the debugging window. (I hope this doesn't break the LLE debugger in any way, or does it have to be started right after LoadPlugin?). Also added a ShowOnStart saved setting to the debugger. And a MainWindow saved setting that set the position and size of the main window when it's started. I may have broken things in the debugger by allowing disabling of for example the Jit window. Please accept my apologies if that is the case.
There's an annoying problem with the DSP HLE wx window that blocks some input and places it in a queue. For example if you have loaded the window and press X on the main window, that action is blocked an placed in some kind of queue and not executed until you have closed the debugging window. This is also why the main Dolphin-Debugger window does not show up until you close the sound window. If someone find a fix to this I guess it could be convenient. There is another way to show the window, m_frame->Show() that is normally supposed to remove this kind of on-focus lock, but in a dll it seemingly breaks because it makes Dllmain call DLL_PROCESS_DETACH immediately after DLL_PROCESS_ATTACH so the window has to be killed or we crash.
Also, otherwise unnecessarily I had to disable the new DSP HLE debug window in Release mode because I could not access the SConfig::GetInstance().m_LocalCoreStartupParameter.m_strDSPPlugin.c_str() string that I need to start it (if I tried it crashed). Very annoying and strange. I could not access m_strDSPPlugin or m_strVideoPlugin either, but all other values in m_LocalCoreStartupParameter seemed to work fine. I'll have to leave it to someone else to figure out why.
TODO: Later I'll add function to the debugging buttons, currently only update have a function. I'll add some option to show a custom console window (that actually worked better that the wx window to show the current parameters status, it had less flicker on frequent updates). I'll also add some custom log file saving option.
Also, the reason I placed Logging.cpp in its own dir is because I plan to add more files to it. There were problems with some build modes, win32 with debugging crashed on booting a game, I don't know if it's my fault. And I could not build Debug win64 because of some wx linking problem.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@722 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-09-29 03:19:23 +00:00
|
|
|
}
|
2008-10-06 18:40:34 +00:00
|
|
|
// ==============
|
|
|
|
|
|
|
|
|
|
|
|
// =======================================================================================
|
|
|
|
// Have a separate set for which ones to show
|
|
|
|
// --------------
|
|
|
|
/*
|
|
|
|
Move all items back like this:
|
|
|
|
1 to 2
|
|
|
|
2 3
|
|
|
|
3 ...
|
|
|
|
*/
|
2008-11-10 20:32:36 +00:00
|
|
|
for (int i = 0; i < NUMBER_OF_PBS; i++)
|
2008-10-06 18:40:34 +00:00
|
|
|
{
|
|
|
|
for (int j = 1; j < vectorLength2; j++)
|
|
|
|
{
|
|
|
|
vector2.at(i).at(j-1) = vector2.at(i).at(j);
|
|
|
|
}
|
2008-10-09 04:00:47 +00:00
|
|
|
}
|
2008-10-06 18:40:34 +00:00
|
|
|
|
2008-10-09 04:00:47 +00:00
|
|
|
// Save the latest value
|
2008-10-06 18:40:34 +00:00
|
|
|
for (int i = 0; i < numberOfPBs; i++)
|
|
|
|
{
|
2008-11-11 08:10:09 +00:00
|
|
|
vector2.at(i).at(vectorLength2-1) = running[i];
|
2008-10-06 18:40:34 +00:00
|
|
|
}
|
|
|
|
// ==============
|
|
|
|
|
2008-09-29 21:22:44 +00:00
|
|
|
|
2008-10-03 10:59:56 +00:00
|
|
|
// =======================================================================================
|
|
|
|
// Count how many we have running now
|
|
|
|
// --------------
|
|
|
|
int jj = 0;
|
2008-11-10 20:32:36 +00:00
|
|
|
for (int i = 0; i < NUMBER_OF_PBS; i++)
|
2008-10-03 10:59:56 +00:00
|
|
|
{
|
2008-10-06 18:40:34 +00:00
|
|
|
for (int j = 0; j < vectorLength2-1; j++)
|
2008-10-03 10:59:56 +00:00
|
|
|
{
|
2008-10-06 18:40:34 +00:00
|
|
|
if (vector2.at(i).at(j) == 1)
|
2008-10-03 10:59:56 +00:00
|
|
|
{
|
|
|
|
jj++;
|
|
|
|
}
|
|
|
|
numberRunning.at(i) = jj;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
// ==============
|
|
|
|
|
2008-10-07 00:59:12 +00:00
|
|
|
|
2008-10-03 10:59:56 +00:00
|
|
|
// =======================================================================================
|
|
|
|
// Write header
|
|
|
|
// --------------
|
|
|
|
char buffer [1000] = "";
|
|
|
|
std::string sbuff;
|
2008-11-11 16:28:46 +00:00
|
|
|
sbuff = writeTitle(m_frame->gPreset, Wii);
|
2008-10-03 10:59:56 +00:00
|
|
|
// ==============
|
Some changes to the debugger, added a DSP HLE debugging window. I moved the initialization of DLLdebugger from Core.cpp to the debugging window. (I hope this doesn't break the LLE debugger in any way, or does it have to be started right after LoadPlugin?). Also added a ShowOnStart saved setting to the debugger. And a MainWindow saved setting that set the position and size of the main window when it's started. I may have broken things in the debugger by allowing disabling of for example the Jit window. Please accept my apologies if that is the case.
There's an annoying problem with the DSP HLE wx window that blocks some input and places it in a queue. For example if you have loaded the window and press X on the main window, that action is blocked an placed in some kind of queue and not executed until you have closed the debugging window. This is also why the main Dolphin-Debugger window does not show up until you close the sound window. If someone find a fix to this I guess it could be convenient. There is another way to show the window, m_frame->Show() that is normally supposed to remove this kind of on-focus lock, but in a dll it seemingly breaks because it makes Dllmain call DLL_PROCESS_DETACH immediately after DLL_PROCESS_ATTACH so the window has to be killed or we crash.
Also, otherwise unnecessarily I had to disable the new DSP HLE debug window in Release mode because I could not access the SConfig::GetInstance().m_LocalCoreStartupParameter.m_strDSPPlugin.c_str() string that I need to start it (if I tried it crashed). Very annoying and strange. I could not access m_strDSPPlugin or m_strVideoPlugin either, but all other values in m_LocalCoreStartupParameter seemed to work fine. I'll have to leave it to someone else to figure out why.
TODO: Later I'll add function to the debugging buttons, currently only update have a function. I'll add some option to show a custom console window (that actually worked better that the wx window to show the current parameters status, it had less flicker on frequent updates). I'll also add some custom log file saving option.
Also, the reason I placed Logging.cpp in its own dir is because I plan to add more files to it. There were problems with some build modes, win32 with debugging crashed on booting a game, I don't know if it's my fault. And I could not build Debug win64 because of some wx linking problem.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@722 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-09-29 03:19:23 +00:00
|
|
|
|
2008-10-07 00:59:12 +00:00
|
|
|
|
2008-10-03 10:59:56 +00:00
|
|
|
// go through all running blocks
|
Some changes to the debugger, added a DSP HLE debugging window. I moved the initialization of DLLdebugger from Core.cpp to the debugging window. (I hope this doesn't break the LLE debugger in any way, or does it have to be started right after LoadPlugin?). Also added a ShowOnStart saved setting to the debugger. And a MainWindow saved setting that set the position and size of the main window when it's started. I may have broken things in the debugger by allowing disabling of for example the Jit window. Please accept my apologies if that is the case.
There's an annoying problem with the DSP HLE wx window that blocks some input and places it in a queue. For example if you have loaded the window and press X on the main window, that action is blocked an placed in some kind of queue and not executed until you have closed the debugging window. This is also why the main Dolphin-Debugger window does not show up until you close the sound window. If someone find a fix to this I guess it could be convenient. There is another way to show the window, m_frame->Show() that is normally supposed to remove this kind of on-focus lock, but in a dll it seemingly breaks because it makes Dllmain call DLL_PROCESS_DETACH immediately after DLL_PROCESS_ATTACH so the window has to be killed or we crash.
Also, otherwise unnecessarily I had to disable the new DSP HLE debug window in Release mode because I could not access the SConfig::GetInstance().m_LocalCoreStartupParameter.m_strDSPPlugin.c_str() string that I need to start it (if I tried it crashed). Very annoying and strange. I could not access m_strDSPPlugin or m_strVideoPlugin either, but all other values in m_LocalCoreStartupParameter seemed to work fine. I'll have to leave it to someone else to figure out why.
TODO: Later I'll add function to the debugging buttons, currently only update have a function. I'll add some option to show a custom console window (that actually worked better that the wx window to show the current parameters status, it had less flicker on frequent updates). I'll also add some custom log file saving option.
Also, the reason I placed Logging.cpp in its own dir is because I plan to add more files to it. There were problems with some build modes, win32 with debugging crashed on booting a game, I don't know if it's my fault. And I could not build Debug win64 because of some wx linking problem.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@722 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-09-29 03:19:23 +00:00
|
|
|
for (int i = 0; i < numberOfPBs; i++)
|
|
|
|
{
|
2008-10-09 04:00:47 +00:00
|
|
|
// Prepare conditions. TODO: We use this in two places now, make it only one
|
2008-11-10 20:32:36 +00:00
|
|
|
/**/if(Wii)
|
|
|
|
Conditions = PrepareConditions(Wii, i, PBw);
|
2008-10-07 00:59:12 +00:00
|
|
|
else
|
2008-11-10 20:32:36 +00:00
|
|
|
Conditions = PrepareConditions(Wii, i, PBs);
|
2008-10-09 04:00:47 +00:00
|
|
|
|
2008-11-10 20:32:36 +00:00
|
|
|
// Use the condition
|
2008-10-07 00:59:12 +00:00
|
|
|
if (Conditions)
|
2008-11-10 20:32:36 +00:00
|
|
|
{
|
|
|
|
// Save playback history for the GUI debugger --------------------------
|
2008-10-03 10:59:56 +00:00
|
|
|
if(m_frame)
|
|
|
|
{
|
|
|
|
std::string guipr; // gui progress
|
|
|
|
|
|
|
|
for (int j = 0; j < vectorLengthGUI; j++)
|
|
|
|
{
|
|
|
|
if(vector1.at(i).at(j) == 0)
|
|
|
|
{
|
|
|
|
guipr = guipr + "0";
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
guipr = guipr + "1";
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
u32 run = atoi( guipr.c_str());
|
|
|
|
m_frame->m_GPRListView->m_CachedRegs[1][i] = run;
|
|
|
|
guipr.clear();
|
|
|
|
}
|
Some changes to the debugger, added a DSP HLE debugging window. I moved the initialization of DLLdebugger from Core.cpp to the debugging window. (I hope this doesn't break the LLE debugger in any way, or does it have to be started right after LoadPlugin?). Also added a ShowOnStart saved setting to the debugger. And a MainWindow saved setting that set the position and size of the main window when it's started. I may have broken things in the debugger by allowing disabling of for example the Jit window. Please accept my apologies if that is the case.
There's an annoying problem with the DSP HLE wx window that blocks some input and places it in a queue. For example if you have loaded the window and press X on the main window, that action is blocked an placed in some kind of queue and not executed until you have closed the debugging window. This is also why the main Dolphin-Debugger window does not show up until you close the sound window. If someone find a fix to this I guess it could be convenient. There is another way to show the window, m_frame->Show() that is normally supposed to remove this kind of on-focus lock, but in a dll it seemingly breaks because it makes Dllmain call DLL_PROCESS_DETACH immediately after DLL_PROCESS_ATTACH so the window has to be killed or we crash.
Also, otherwise unnecessarily I had to disable the new DSP HLE debug window in Release mode because I could not access the SConfig::GetInstance().m_LocalCoreStartupParameter.m_strDSPPlugin.c_str() string that I need to start it (if I tried it crashed). Very annoying and strange. I could not access m_strDSPPlugin or m_strVideoPlugin either, but all other values in m_LocalCoreStartupParameter seemed to work fine. I'll have to leave it to someone else to figure out why.
TODO: Later I'll add function to the debugging buttons, currently only update have a function. I'll add some option to show a custom console window (that actually worked better that the wx window to show the current parameters status, it had less flicker on frequent updates). I'll also add some custom log file saving option.
Also, the reason I placed Logging.cpp in its own dir is because I plan to add more files to it. There were problems with some build modes, win32 with debugging crashed on booting a game, I don't know if it's my fault. And I could not build Debug win64 because of some wx linking problem.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@722 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-09-29 03:19:23 +00:00
|
|
|
|
2008-10-03 10:59:56 +00:00
|
|
|
|
2008-11-10 20:32:36 +00:00
|
|
|
// Make the playback history (progress bar) to display in the console debugger
|
Some changes to the debugger, added a DSP HLE debugging window. I moved the initialization of DLLdebugger from Core.cpp to the debugging window. (I hope this doesn't break the LLE debugger in any way, or does it have to be started right after LoadPlugin?). Also added a ShowOnStart saved setting to the debugger. And a MainWindow saved setting that set the position and size of the main window when it's started. I may have broken things in the debugger by allowing disabling of for example the Jit window. Please accept my apologies if that is the case.
There's an annoying problem with the DSP HLE wx window that blocks some input and places it in a queue. For example if you have loaded the window and press X on the main window, that action is blocked an placed in some kind of queue and not executed until you have closed the debugging window. This is also why the main Dolphin-Debugger window does not show up until you close the sound window. If someone find a fix to this I guess it could be convenient. There is another way to show the window, m_frame->Show() that is normally supposed to remove this kind of on-focus lock, but in a dll it seemingly breaks because it makes Dllmain call DLL_PROCESS_DETACH immediately after DLL_PROCESS_ATTACH so the window has to be killed or we crash.
Also, otherwise unnecessarily I had to disable the new DSP HLE debug window in Release mode because I could not access the SConfig::GetInstance().m_LocalCoreStartupParameter.m_strDSPPlugin.c_str() string that I need to start it (if I tried it crashed). Very annoying and strange. I could not access m_strDSPPlugin or m_strVideoPlugin either, but all other values in m_LocalCoreStartupParameter seemed to work fine. I'll have to leave it to someone else to figure out why.
TODO: Later I'll add function to the debugging buttons, currently only update have a function. I'll add some option to show a custom console window (that actually worked better that the wx window to show the current parameters status, it had less flicker on frequent updates). I'll also add some custom log file saving option.
Also, the reason I placed Logging.cpp in its own dir is because I plan to add more files to it. There were problems with some build modes, win32 with debugging crashed on booting a game, I don't know if it's my fault. And I could not build Debug win64 because of some wx linking problem.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@722 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-09-29 03:19:23 +00:00
|
|
|
for (int j = 0; j < vectorLength; j++)
|
|
|
|
{
|
|
|
|
if(vector1.at(i).at(j) == 0)
|
|
|
|
{
|
2008-10-03 10:59:56 +00:00
|
|
|
sbuff = sbuff + " ";
|
Some changes to the debugger, added a DSP HLE debugging window. I moved the initialization of DLLdebugger from Core.cpp to the debugging window. (I hope this doesn't break the LLE debugger in any way, or does it have to be started right after LoadPlugin?). Also added a ShowOnStart saved setting to the debugger. And a MainWindow saved setting that set the position and size of the main window when it's started. I may have broken things in the debugger by allowing disabling of for example the Jit window. Please accept my apologies if that is the case.
There's an annoying problem with the DSP HLE wx window that blocks some input and places it in a queue. For example if you have loaded the window and press X on the main window, that action is blocked an placed in some kind of queue and not executed until you have closed the debugging window. This is also why the main Dolphin-Debugger window does not show up until you close the sound window. If someone find a fix to this I guess it could be convenient. There is another way to show the window, m_frame->Show() that is normally supposed to remove this kind of on-focus lock, but in a dll it seemingly breaks because it makes Dllmain call DLL_PROCESS_DETACH immediately after DLL_PROCESS_ATTACH so the window has to be killed or we crash.
Also, otherwise unnecessarily I had to disable the new DSP HLE debug window in Release mode because I could not access the SConfig::GetInstance().m_LocalCoreStartupParameter.m_strDSPPlugin.c_str() string that I need to start it (if I tried it crashed). Very annoying and strange. I could not access m_strDSPPlugin or m_strVideoPlugin either, but all other values in m_LocalCoreStartupParameter seemed to work fine. I'll have to leave it to someone else to figure out why.
TODO: Later I'll add function to the debugging buttons, currently only update have a function. I'll add some option to show a custom console window (that actually worked better that the wx window to show the current parameters status, it had less flicker on frequent updates). I'll also add some custom log file saving option.
Also, the reason I placed Logging.cpp in its own dir is because I plan to add more files to it. There were problems with some build modes, win32 with debugging crashed on booting a game, I don't know if it's my fault. And I could not build Debug win64 because of some wx linking problem.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@722 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-09-29 03:19:23 +00:00
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
2008-10-03 10:59:56 +00:00
|
|
|
sprintf(buffer, "%c", 177);
|
|
|
|
sbuff = sbuff + buffer; strcpy(buffer, "");
|
Some changes to the debugger, added a DSP HLE debugging window. I moved the initialization of DLLdebugger from Core.cpp to the debugging window. (I hope this doesn't break the LLE debugger in any way, or does it have to be started right after LoadPlugin?). Also added a ShowOnStart saved setting to the debugger. And a MainWindow saved setting that set the position and size of the main window when it's started. I may have broken things in the debugger by allowing disabling of for example the Jit window. Please accept my apologies if that is the case.
There's an annoying problem with the DSP HLE wx window that blocks some input and places it in a queue. For example if you have loaded the window and press X on the main window, that action is blocked an placed in some kind of queue and not executed until you have closed the debugging window. This is also why the main Dolphin-Debugger window does not show up until you close the sound window. If someone find a fix to this I guess it could be convenient. There is another way to show the window, m_frame->Show() that is normally supposed to remove this kind of on-focus lock, but in a dll it seemingly breaks because it makes Dllmain call DLL_PROCESS_DETACH immediately after DLL_PROCESS_ATTACH so the window has to be killed or we crash.
Also, otherwise unnecessarily I had to disable the new DSP HLE debug window in Release mode because I could not access the SConfig::GetInstance().m_LocalCoreStartupParameter.m_strDSPPlugin.c_str() string that I need to start it (if I tried it crashed). Very annoying and strange. I could not access m_strDSPPlugin or m_strVideoPlugin either, but all other values in m_LocalCoreStartupParameter seemed to work fine. I'll have to leave it to someone else to figure out why.
TODO: Later I'll add function to the debugging buttons, currently only update have a function. I'll add some option to show a custom console window (that actually worked better that the wx window to show the current parameters status, it had less flicker on frequent updates). I'll also add some custom log file saving option.
Also, the reason I placed Logging.cpp in its own dir is because I plan to add more files to it. There were problems with some build modes, win32 with debugging crashed on booting a game, I don't know if it's my fault. And I could not build Debug win64 because of some wx linking problem.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@722 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-09-29 03:19:23 +00:00
|
|
|
}
|
|
|
|
}
|
2008-10-03 10:59:56 +00:00
|
|
|
// ---------
|
Some changes to the debugger, added a DSP HLE debugging window. I moved the initialization of DLLdebugger from Core.cpp to the debugging window. (I hope this doesn't break the LLE debugger in any way, or does it have to be started right after LoadPlugin?). Also added a ShowOnStart saved setting to the debugger. And a MainWindow saved setting that set the position and size of the main window when it's started. I may have broken things in the debugger by allowing disabling of for example the Jit window. Please accept my apologies if that is the case.
There's an annoying problem with the DSP HLE wx window that blocks some input and places it in a queue. For example if you have loaded the window and press X on the main window, that action is blocked an placed in some kind of queue and not executed until you have closed the debugging window. This is also why the main Dolphin-Debugger window does not show up until you close the sound window. If someone find a fix to this I guess it could be convenient. There is another way to show the window, m_frame->Show() that is normally supposed to remove this kind of on-focus lock, but in a dll it seemingly breaks because it makes Dllmain call DLL_PROCESS_DETACH immediately after DLL_PROCESS_ATTACH so the window has to be killed or we crash.
Also, otherwise unnecessarily I had to disable the new DSP HLE debug window in Release mode because I could not access the SConfig::GetInstance().m_LocalCoreStartupParameter.m_strDSPPlugin.c_str() string that I need to start it (if I tried it crashed). Very annoying and strange. I could not access m_strDSPPlugin or m_strVideoPlugin either, but all other values in m_LocalCoreStartupParameter seemed to work fine. I'll have to leave it to someone else to figure out why.
TODO: Later I'll add function to the debugging buttons, currently only update have a function. I'll add some option to show a custom console window (that actually worked better that the wx window to show the current parameters status, it had less flicker on frequent updates). I'll also add some custom log file saving option.
Also, the reason I placed Logging.cpp in its own dir is because I plan to add more files to it. There were problems with some build modes, win32 with debugging crashed on booting a game, I don't know if it's my fault. And I could not build Debug win64 because of some wx linking problem.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@722 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-09-29 03:19:23 +00:00
|
|
|
|
|
|
|
|
2008-11-10 20:32:36 +00:00
|
|
|
// Hopefully this is false if we don't have a debugging window and so it doesn't cause a crash
|
2008-10-03 10:59:56 +00:00
|
|
|
if(m_frame)
|
|
|
|
{
|
|
|
|
m_frame->m_GPRListView->m_CachedRegs[2][i] = gsamplePos[i];
|
2008-10-09 18:47:53 +00:00
|
|
|
m_frame->m_GPRListView->m_CachedRegs[3][i] = gsampleEnd[i];
|
|
|
|
m_frame->m_GPRListView->m_CachedRegs[4][i] = gloopPos[i];
|
Some changes to the debugger, added a DSP HLE debugging window. I moved the initialization of DLLdebugger from Core.cpp to the debugging window. (I hope this doesn't break the LLE debugger in any way, or does it have to be started right after LoadPlugin?). Also added a ShowOnStart saved setting to the debugger. And a MainWindow saved setting that set the position and size of the main window when it's started. I may have broken things in the debugger by allowing disabling of for example the Jit window. Please accept my apologies if that is the case.
There's an annoying problem with the DSP HLE wx window that blocks some input and places it in a queue. For example if you have loaded the window and press X on the main window, that action is blocked an placed in some kind of queue and not executed until you have closed the debugging window. This is also why the main Dolphin-Debugger window does not show up until you close the sound window. If someone find a fix to this I guess it could be convenient. There is another way to show the window, m_frame->Show() that is normally supposed to remove this kind of on-focus lock, but in a dll it seemingly breaks because it makes Dllmain call DLL_PROCESS_DETACH immediately after DLL_PROCESS_ATTACH so the window has to be killed or we crash.
Also, otherwise unnecessarily I had to disable the new DSP HLE debug window in Release mode because I could not access the SConfig::GetInstance().m_LocalCoreStartupParameter.m_strDSPPlugin.c_str() string that I need to start it (if I tried it crashed). Very annoying and strange. I could not access m_strDSPPlugin or m_strVideoPlugin either, but all other values in m_LocalCoreStartupParameter seemed to work fine. I'll have to leave it to someone else to figure out why.
TODO: Later I'll add function to the debugging buttons, currently only update have a function. I'll add some option to show a custom console window (that actually worked better that the wx window to show the current parameters status, it had less flicker on frequent updates). I'll also add some custom log file saving option.
Also, the reason I placed Logging.cpp in its own dir is because I plan to add more files to it. There were problems with some build modes, win32 with debugging crashed on booting a game, I don't know if it's my fault. And I could not build Debug win64 because of some wx linking problem.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@722 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-09-29 03:19:23 +00:00
|
|
|
|
2008-10-09 18:47:53 +00:00
|
|
|
m_frame->m_GPRListView->m_CachedRegs[5][i] = gvolume_left[i];
|
|
|
|
m_frame->m_GPRListView->m_CachedRegs[6][i] = gvolume_right[i];
|
Some changes to the debugger, added a DSP HLE debugging window. I moved the initialization of DLLdebugger from Core.cpp to the debugging window. (I hope this doesn't break the LLE debugger in any way, or does it have to be started right after LoadPlugin?). Also added a ShowOnStart saved setting to the debugger. And a MainWindow saved setting that set the position and size of the main window when it's started. I may have broken things in the debugger by allowing disabling of for example the Jit window. Please accept my apologies if that is the case.
There's an annoying problem with the DSP HLE wx window that blocks some input and places it in a queue. For example if you have loaded the window and press X on the main window, that action is blocked an placed in some kind of queue and not executed until you have closed the debugging window. This is also why the main Dolphin-Debugger window does not show up until you close the sound window. If someone find a fix to this I guess it could be convenient. There is another way to show the window, m_frame->Show() that is normally supposed to remove this kind of on-focus lock, but in a dll it seemingly breaks because it makes Dllmain call DLL_PROCESS_DETACH immediately after DLL_PROCESS_ATTACH so the window has to be killed or we crash.
Also, otherwise unnecessarily I had to disable the new DSP HLE debug window in Release mode because I could not access the SConfig::GetInstance().m_LocalCoreStartupParameter.m_strDSPPlugin.c_str() string that I need to start it (if I tried it crashed). Very annoying and strange. I could not access m_strDSPPlugin or m_strVideoPlugin either, but all other values in m_LocalCoreStartupParameter seemed to work fine. I'll have to leave it to someone else to figure out why.
TODO: Later I'll add function to the debugging buttons, currently only update have a function. I'll add some option to show a custom console window (that actually worked better that the wx window to show the current parameters status, it had less flicker on frequent updates). I'll also add some custom log file saving option.
Also, the reason I placed Logging.cpp in its own dir is because I plan to add more files to it. There were problems with some build modes, win32 with debugging crashed on booting a game, I don't know if it's my fault. And I could not build Debug win64 because of some wx linking problem.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@722 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-09-29 03:19:23 +00:00
|
|
|
|
2008-10-09 18:47:53 +00:00
|
|
|
m_frame->m_GPRListView->m_CachedRegs[7][i] = glooping[i];
|
|
|
|
m_frame->m_GPRListView->m_CachedRegs[8][i] = gloop1[i];
|
|
|
|
m_frame->m_GPRListView->m_CachedRegs[9][i] = gloop2[i];
|
|
|
|
m_frame->m_GPRListView->m_CachedRegs[10][i] = gloop3[i];
|
Some changes to the debugger, added a DSP HLE debugging window. I moved the initialization of DLLdebugger from Core.cpp to the debugging window. (I hope this doesn't break the LLE debugger in any way, or does it have to be started right after LoadPlugin?). Also added a ShowOnStart saved setting to the debugger. And a MainWindow saved setting that set the position and size of the main window when it's started. I may have broken things in the debugger by allowing disabling of for example the Jit window. Please accept my apologies if that is the case.
There's an annoying problem with the DSP HLE wx window that blocks some input and places it in a queue. For example if you have loaded the window and press X on the main window, that action is blocked an placed in some kind of queue and not executed until you have closed the debugging window. This is also why the main Dolphin-Debugger window does not show up until you close the sound window. If someone find a fix to this I guess it could be convenient. There is another way to show the window, m_frame->Show() that is normally supposed to remove this kind of on-focus lock, but in a dll it seemingly breaks because it makes Dllmain call DLL_PROCESS_DETACH immediately after DLL_PROCESS_ATTACH so the window has to be killed or we crash.
Also, otherwise unnecessarily I had to disable the new DSP HLE debug window in Release mode because I could not access the SConfig::GetInstance().m_LocalCoreStartupParameter.m_strDSPPlugin.c_str() string that I need to start it (if I tried it crashed). Very annoying and strange. I could not access m_strDSPPlugin or m_strVideoPlugin either, but all other values in m_LocalCoreStartupParameter seemed to work fine. I'll have to leave it to someone else to figure out why.
TODO: Later I'll add function to the debugging buttons, currently only update have a function. I'll add some option to show a custom console window (that actually worked better that the wx window to show the current parameters status, it had less flicker on frequent updates). I'll also add some custom log file saving option.
Also, the reason I placed Logging.cpp in its own dir is because I plan to add more files to it. There were problems with some build modes, win32 with debugging crashed on booting a game, I don't know if it's my fault. And I could not build Debug win64 because of some wx linking problem.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@722 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-09-29 03:19:23 +00:00
|
|
|
|
2008-10-09 18:47:53 +00:00
|
|
|
m_frame->m_GPRListView->m_CachedRegs[11][i] = gis_stream[i];
|
Some changes to the debugger, added a DSP HLE debugging window. I moved the initialization of DLLdebugger from Core.cpp to the debugging window. (I hope this doesn't break the LLE debugger in any way, or does it have to be started right after LoadPlugin?). Also added a ShowOnStart saved setting to the debugger. And a MainWindow saved setting that set the position and size of the main window when it's started. I may have broken things in the debugger by allowing disabling of for example the Jit window. Please accept my apologies if that is the case.
There's an annoying problem with the DSP HLE wx window that blocks some input and places it in a queue. For example if you have loaded the window and press X on the main window, that action is blocked an placed in some kind of queue and not executed until you have closed the debugging window. This is also why the main Dolphin-Debugger window does not show up until you close the sound window. If someone find a fix to this I guess it could be convenient. There is another way to show the window, m_frame->Show() that is normally supposed to remove this kind of on-focus lock, but in a dll it seemingly breaks because it makes Dllmain call DLL_PROCESS_DETACH immediately after DLL_PROCESS_ATTACH so the window has to be killed or we crash.
Also, otherwise unnecessarily I had to disable the new DSP HLE debug window in Release mode because I could not access the SConfig::GetInstance().m_LocalCoreStartupParameter.m_strDSPPlugin.c_str() string that I need to start it (if I tried it crashed). Very annoying and strange. I could not access m_strDSPPlugin or m_strVideoPlugin either, but all other values in m_LocalCoreStartupParameter seemed to work fine. I'll have to leave it to someone else to figure out why.
TODO: Later I'll add function to the debugging buttons, currently only update have a function. I'll add some option to show a custom console window (that actually worked better that the wx window to show the current parameters status, it had less flicker on frequent updates). I'll also add some custom log file saving option.
Also, the reason I placed Logging.cpp in its own dir is because I plan to add more files to it. There were problems with some build modes, win32 with debugging crashed on booting a game, I don't know if it's my fault. And I could not build Debug win64 because of some wx linking problem.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@722 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-09-29 03:19:23 +00:00
|
|
|
|
2008-10-09 18:47:53 +00:00
|
|
|
m_frame->m_GPRListView->m_CachedRegs[12][i] = gaudioFormat[i];
|
|
|
|
m_frame->m_GPRListView->m_CachedRegs[13][i] = gsrc_type[i];
|
|
|
|
m_frame->m_GPRListView->m_CachedRegs[14][i] = gcoef[i];
|
Some changes to the debugger, added a DSP HLE debugging window. I moved the initialization of DLLdebugger from Core.cpp to the debugging window. (I hope this doesn't break the LLE debugger in any way, or does it have to be started right after LoadPlugin?). Also added a ShowOnStart saved setting to the debugger. And a MainWindow saved setting that set the position and size of the main window when it's started. I may have broken things in the debugger by allowing disabling of for example the Jit window. Please accept my apologies if that is the case.
There's an annoying problem with the DSP HLE wx window that blocks some input and places it in a queue. For example if you have loaded the window and press X on the main window, that action is blocked an placed in some kind of queue and not executed until you have closed the debugging window. This is also why the main Dolphin-Debugger window does not show up until you close the sound window. If someone find a fix to this I guess it could be convenient. There is another way to show the window, m_frame->Show() that is normally supposed to remove this kind of on-focus lock, but in a dll it seemingly breaks because it makes Dllmain call DLL_PROCESS_DETACH immediately after DLL_PROCESS_ATTACH so the window has to be killed or we crash.
Also, otherwise unnecessarily I had to disable the new DSP HLE debug window in Release mode because I could not access the SConfig::GetInstance().m_LocalCoreStartupParameter.m_strDSPPlugin.c_str() string that I need to start it (if I tried it crashed). Very annoying and strange. I could not access m_strDSPPlugin or m_strVideoPlugin either, but all other values in m_LocalCoreStartupParameter seemed to work fine. I'll have to leave it to someone else to figure out why.
TODO: Later I'll add function to the debugging buttons, currently only update have a function. I'll add some option to show a custom console window (that actually worked better that the wx window to show the current parameters status, it had less flicker on frequent updates). I'll also add some custom log file saving option.
Also, the reason I placed Logging.cpp in its own dir is because I plan to add more files to it. There were problems with some build modes, win32 with debugging crashed on booting a game, I don't know if it's my fault. And I could not build Debug win64 because of some wx linking problem.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@722 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-09-29 03:19:23 +00:00
|
|
|
|
2008-10-09 18:47:53 +00:00
|
|
|
m_frame->m_GPRListView->m_CachedRegs[15][i] = gfrac[i];
|
Some changes to the debugger, added a DSP HLE debugging window. I moved the initialization of DLLdebugger from Core.cpp to the debugging window. (I hope this doesn't break the LLE debugger in any way, or does it have to be started right after LoadPlugin?). Also added a ShowOnStart saved setting to the debugger. And a MainWindow saved setting that set the position and size of the main window when it's started. I may have broken things in the debugger by allowing disabling of for example the Jit window. Please accept my apologies if that is the case.
There's an annoying problem with the DSP HLE wx window that blocks some input and places it in a queue. For example if you have loaded the window and press X on the main window, that action is blocked an placed in some kind of queue and not executed until you have closed the debugging window. This is also why the main Dolphin-Debugger window does not show up until you close the sound window. If someone find a fix to this I guess it could be convenient. There is another way to show the window, m_frame->Show() that is normally supposed to remove this kind of on-focus lock, but in a dll it seemingly breaks because it makes Dllmain call DLL_PROCESS_DETACH immediately after DLL_PROCESS_ATTACH so the window has to be killed or we crash.
Also, otherwise unnecessarily I had to disable the new DSP HLE debug window in Release mode because I could not access the SConfig::GetInstance().m_LocalCoreStartupParameter.m_strDSPPlugin.c_str() string that I need to start it (if I tried it crashed). Very annoying and strange. I could not access m_strDSPPlugin or m_strVideoPlugin either, but all other values in m_LocalCoreStartupParameter seemed to work fine. I'll have to leave it to someone else to figure out why.
TODO: Later I'll add function to the debugging buttons, currently only update have a function. I'll add some option to show a custom console window (that actually worked better that the wx window to show the current parameters status, it had less flicker on frequent updates). I'll also add some custom log file saving option.
Also, the reason I placed Logging.cpp in its own dir is because I plan to add more files to it. There were problems with some build modes, win32 with debugging crashed on booting a game, I don't know if it's my fault. And I could not build Debug win64 because of some wx linking problem.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@722 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-09-29 03:19:23 +00:00
|
|
|
|
2008-10-09 18:47:53 +00:00
|
|
|
m_frame->m_GPRListView->m_CachedRegs[16][i] = gratio[i];
|
|
|
|
m_frame->m_GPRListView->m_CachedRegs[17][i] = gratiohi[i];
|
|
|
|
m_frame->m_GPRListView->m_CachedRegs[18][i] = gratiolo[i];
|
Some changes to the debugger, added a DSP HLE debugging window. I moved the initialization of DLLdebugger from Core.cpp to the debugging window. (I hope this doesn't break the LLE debugger in any way, or does it have to be started right after LoadPlugin?). Also added a ShowOnStart saved setting to the debugger. And a MainWindow saved setting that set the position and size of the main window when it's started. I may have broken things in the debugger by allowing disabling of for example the Jit window. Please accept my apologies if that is the case.
There's an annoying problem with the DSP HLE wx window that blocks some input and places it in a queue. For example if you have loaded the window and press X on the main window, that action is blocked an placed in some kind of queue and not executed until you have closed the debugging window. This is also why the main Dolphin-Debugger window does not show up until you close the sound window. If someone find a fix to this I guess it could be convenient. There is another way to show the window, m_frame->Show() that is normally supposed to remove this kind of on-focus lock, but in a dll it seemingly breaks because it makes Dllmain call DLL_PROCESS_DETACH immediately after DLL_PROCESS_ATTACH so the window has to be killed or we crash.
Also, otherwise unnecessarily I had to disable the new DSP HLE debug window in Release mode because I could not access the SConfig::GetInstance().m_LocalCoreStartupParameter.m_strDSPPlugin.c_str() string that I need to start it (if I tried it crashed). Very annoying and strange. I could not access m_strDSPPlugin or m_strVideoPlugin either, but all other values in m_LocalCoreStartupParameter seemed to work fine. I'll have to leave it to someone else to figure out why.
TODO: Later I'll add function to the debugging buttons, currently only update have a function. I'll add some option to show a custom console window (that actually worked better that the wx window to show the current parameters status, it had less flicker on frequent updates). I'll also add some custom log file saving option.
Also, the reason I placed Logging.cpp in its own dir is because I plan to add more files to it. There were problems with some build modes, win32 with debugging crashed on booting a game, I don't know if it's my fault. And I could not build Debug win64 because of some wx linking problem.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@722 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-09-29 03:19:23 +00:00
|
|
|
|
2008-10-09 18:47:53 +00:00
|
|
|
m_frame->m_GPRListView->m_CachedRegs[19][i] = gupdates1[i];
|
|
|
|
m_frame->m_GPRListView->m_CachedRegs[20][i] = gupdates2[i];
|
|
|
|
m_frame->m_GPRListView->m_CachedRegs[21][i] = gupdates3[i];
|
|
|
|
m_frame->m_GPRListView->m_CachedRegs[22][i] = gupdates4[i];
|
|
|
|
m_frame->m_GPRListView->m_CachedRegs[23][i] = gupdates5[i];
|
2008-10-03 10:59:56 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
// add new line
|
2008-11-11 16:28:46 +00:00
|
|
|
sbuff = sbuff + writeMessage(m_frame->gPreset, i, Wii); strcpy(buffer, "");
|
2008-10-03 10:59:56 +00:00
|
|
|
sbuff = sbuff + "\n";
|
Some changes to the debugger, added a DSP HLE debugging window. I moved the initialization of DLLdebugger from Core.cpp to the debugging window. (I hope this doesn't break the LLE debugger in any way, or does it have to be started right after LoadPlugin?). Also added a ShowOnStart saved setting to the debugger. And a MainWindow saved setting that set the position and size of the main window when it's started. I may have broken things in the debugger by allowing disabling of for example the Jit window. Please accept my apologies if that is the case.
There's an annoying problem with the DSP HLE wx window that blocks some input and places it in a queue. For example if you have loaded the window and press X on the main window, that action is blocked an placed in some kind of queue and not executed until you have closed the debugging window. This is also why the main Dolphin-Debugger window does not show up until you close the sound window. If someone find a fix to this I guess it could be convenient. There is another way to show the window, m_frame->Show() that is normally supposed to remove this kind of on-focus lock, but in a dll it seemingly breaks because it makes Dllmain call DLL_PROCESS_DETACH immediately after DLL_PROCESS_ATTACH so the window has to be killed or we crash.
Also, otherwise unnecessarily I had to disable the new DSP HLE debug window in Release mode because I could not access the SConfig::GetInstance().m_LocalCoreStartupParameter.m_strDSPPlugin.c_str() string that I need to start it (if I tried it crashed). Very annoying and strange. I could not access m_strDSPPlugin or m_strVideoPlugin either, but all other values in m_LocalCoreStartupParameter seemed to work fine. I'll have to leave it to someone else to figure out why.
TODO: Later I'll add function to the debugging buttons, currently only update have a function. I'll add some option to show a custom console window (that actually worked better that the wx window to show the current parameters status, it had less flicker on frequent updates). I'll also add some custom log file saving option.
Also, the reason I placed Logging.cpp in its own dir is because I plan to add more files to it. There were problems with some build modes, win32 with debugging crashed on booting a game, I don't know if it's my fault. And I could not build Debug win64 because of some wx linking problem.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@722 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-09-29 03:19:23 +00:00
|
|
|
|
2008-10-03 10:59:56 +00:00
|
|
|
} // end of if (PBs[i].running)
|
Some changes to the debugger, added a DSP HLE debugging window. I moved the initialization of DLLdebugger from Core.cpp to the debugging window. (I hope this doesn't break the LLE debugger in any way, or does it have to be started right after LoadPlugin?). Also added a ShowOnStart saved setting to the debugger. And a MainWindow saved setting that set the position and size of the main window when it's started. I may have broken things in the debugger by allowing disabling of for example the Jit window. Please accept my apologies if that is the case.
There's an annoying problem with the DSP HLE wx window that blocks some input and places it in a queue. For example if you have loaded the window and press X on the main window, that action is blocked an placed in some kind of queue and not executed until you have closed the debugging window. This is also why the main Dolphin-Debugger window does not show up until you close the sound window. If someone find a fix to this I guess it could be convenient. There is another way to show the window, m_frame->Show() that is normally supposed to remove this kind of on-focus lock, but in a dll it seemingly breaks because it makes Dllmain call DLL_PROCESS_DETACH immediately after DLL_PROCESS_ATTACH so the window has to be killed or we crash.
Also, otherwise unnecessarily I had to disable the new DSP HLE debug window in Release mode because I could not access the SConfig::GetInstance().m_LocalCoreStartupParameter.m_strDSPPlugin.c_str() string that I need to start it (if I tried it crashed). Very annoying and strange. I could not access m_strDSPPlugin or m_strVideoPlugin either, but all other values in m_LocalCoreStartupParameter seemed to work fine. I'll have to leave it to someone else to figure out why.
TODO: Later I'll add function to the debugging buttons, currently only update have a function. I'll add some option to show a custom console window (that actually worked better that the wx window to show the current parameters status, it had less flicker on frequent updates). I'll also add some custom log file saving option.
Also, the reason I placed Logging.cpp in its own dir is because I plan to add more files to it. There were problems with some build modes, win32 with debugging crashed on booting a game, I don't know if it's my fault. And I could not build Debug win64 because of some wx linking problem.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@722 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-09-29 03:19:23 +00:00
|
|
|
|
|
|
|
} // end of big loop - for (int i = 0; i < numberOfPBs; i++)
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-10-03 10:59:56 +00:00
|
|
|
// =======================================================================================
|
|
|
|
// Write global values
|
|
|
|
// ---------------
|
2008-11-10 20:32:36 +00:00
|
|
|
int nOfBlocks;
|
|
|
|
if(Wii)
|
|
|
|
nOfBlocks = (gLastBlock-m_addressPBs) / 256;
|
|
|
|
else
|
|
|
|
nOfBlocks = (gLastBlock-m_addressPBs) / 192;
|
|
|
|
sprintf(buffer, "\nThe parameter blocks span from %08x to %08x | distance %i | num. of blocks %i | _iSize %i | numberOfPBs %i\n",
|
|
|
|
m_addressPBs, gLastBlock, (gLastBlock-m_addressPBs), nOfBlocks, _iSize, numberOfPBs);
|
2008-10-03 10:59:56 +00:00
|
|
|
sbuff = sbuff + buffer; strcpy(buffer, "");
|
|
|
|
// ===============
|
|
|
|
|
2008-10-06 18:40:34 +00:00
|
|
|
|
|
|
|
// =======================================================================================
|
|
|
|
// Write settings
|
|
|
|
// ---------------
|
2008-10-11 07:28:18 +00:00
|
|
|
sprintf(buffer, "\nSettings: SSBM fix %i | SSBM rem1 %i | SSBM rem2 %i\nSequenced %i | Volume %i | Reset %i | Only looping %i | Save file %i\n",
|
2008-11-11 16:28:46 +00:00
|
|
|
gSSBM, gSSBMremedy1, gSSBMremedy2, gSequenced,
|
|
|
|
gVolume, gReset, m_frame->gOnlyLooping, m_frame->gSaveFile);
|
2008-10-06 18:40:34 +00:00
|
|
|
sbuff = sbuff + buffer; strcpy(buffer, "");
|
|
|
|
// ===============
|
|
|
|
|
2008-10-03 10:59:56 +00:00
|
|
|
|
|
|
|
// =======================================================================================
|
|
|
|
// Show update frequency
|
|
|
|
// ---------------
|
|
|
|
sbuff = sbuff + "\n";
|
|
|
|
if(!iupdonce)
|
|
|
|
{
|
|
|
|
viupd.at(0) = 1;
|
|
|
|
viupd.at(1) = 1;
|
|
|
|
viupd.at(2) = 1;
|
|
|
|
iupdonce = true;
|
|
|
|
}
|
|
|
|
|
|
|
|
for (int i = 0; i < viupd.size(); i++) // 0, 1,..., 9
|
|
|
|
{
|
|
|
|
if (i < viupd.size()-1)
|
|
|
|
{
|
|
|
|
viupd.at(viupd.size()-i-1) = viupd.at(viupd.size()-i-2); // move all forward
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
viupd.at(0) = viupd.at(viupd.size()-1);
|
|
|
|
}
|
|
|
|
|
|
|
|
// Correction
|
|
|
|
if (viupd.at(viupd.size()-3) == 1 && viupd.at(viupd.size()-2) == 1 && viupd.at(viupd.size()-1) == 1)
|
|
|
|
{
|
|
|
|
viupd.at(0) = 0;
|
|
|
|
}
|
|
|
|
if(viupd.at(0) == 0 && viupd.at(1) == 1 && viupd.at(2) == 1 && viupd.at(3) == 0)
|
|
|
|
{
|
|
|
|
viupd.at(0) = 1;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
for (int i = 0; i < viupd.size(); i++)
|
|
|
|
{
|
|
|
|
if(viupd.at(i) == 0)
|
|
|
|
sbuff = sbuff + " ";
|
|
|
|
else
|
|
|
|
sbuff = sbuff + ".";
|
|
|
|
}
|
|
|
|
// ================
|
|
|
|
|
|
|
|
|
|
|
|
// =======================================================================================
|
|
|
|
// Print
|
2008-10-09 04:00:47 +00:00
|
|
|
// ----------------
|
2008-10-03 10:59:56 +00:00
|
|
|
ClearScreen();
|
|
|
|
wprintf("%s", sbuff.c_str());
|
|
|
|
sbuff.clear(); strcpy(buffer, "");
|
2008-10-09 04:00:47 +00:00
|
|
|
// ================
|
2008-10-03 10:59:56 +00:00
|
|
|
|
2008-09-29 21:22:44 +00:00
|
|
|
|
Some changes to the debugger, added a DSP HLE debugging window. I moved the initialization of DLLdebugger from Core.cpp to the debugging window. (I hope this doesn't break the LLE debugger in any way, or does it have to be started right after LoadPlugin?). Also added a ShowOnStart saved setting to the debugger. And a MainWindow saved setting that set the position and size of the main window when it's started. I may have broken things in the debugger by allowing disabling of for example the Jit window. Please accept my apologies if that is the case.
There's an annoying problem with the DSP HLE wx window that blocks some input and places it in a queue. For example if you have loaded the window and press X on the main window, that action is blocked an placed in some kind of queue and not executed until you have closed the debugging window. This is also why the main Dolphin-Debugger window does not show up until you close the sound window. If someone find a fix to this I guess it could be convenient. There is another way to show the window, m_frame->Show() that is normally supposed to remove this kind of on-focus lock, but in a dll it seemingly breaks because it makes Dllmain call DLL_PROCESS_DETACH immediately after DLL_PROCESS_ATTACH so the window has to be killed or we crash.
Also, otherwise unnecessarily I had to disable the new DSP HLE debug window in Release mode because I could not access the SConfig::GetInstance().m_LocalCoreStartupParameter.m_strDSPPlugin.c_str() string that I need to start it (if I tried it crashed). Very annoying and strange. I could not access m_strDSPPlugin or m_strVideoPlugin either, but all other values in m_LocalCoreStartupParameter seemed to work fine. I'll have to leave it to someone else to figure out why.
TODO: Later I'll add function to the debugging buttons, currently only update have a function. I'll add some option to show a custom console window (that actually worked better that the wx window to show the current parameters status, it had less flicker on frequent updates). I'll also add some custom log file saving option.
Also, the reason I placed Logging.cpp in its own dir is because I plan to add more files to it. There were problems with some build modes, win32 with debugging crashed on booting a game, I don't know if it's my fault. And I could not build Debug win64 because of some wx linking problem.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@722 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-09-29 03:19:23 +00:00
|
|
|
// New values are written so update - DISABLED - It flickered a lot, even worse than a
|
2008-10-09 04:00:47 +00:00
|
|
|
// console window. So for now only the console windows is updated.
|
|
|
|
/*
|
|
|
|
if(m_frame)
|
Some changes to the debugger, added a DSP HLE debugging window. I moved the initialization of DLLdebugger from Core.cpp to the debugging window. (I hope this doesn't break the LLE debugger in any way, or does it have to be started right after LoadPlugin?). Also added a ShowOnStart saved setting to the debugger. And a MainWindow saved setting that set the position and size of the main window when it's started. I may have broken things in the debugger by allowing disabling of for example the Jit window. Please accept my apologies if that is the case.
There's an annoying problem with the DSP HLE wx window that blocks some input and places it in a queue. For example if you have loaded the window and press X on the main window, that action is blocked an placed in some kind of queue and not executed until you have closed the debugging window. This is also why the main Dolphin-Debugger window does not show up until you close the sound window. If someone find a fix to this I guess it could be convenient. There is another way to show the window, m_frame->Show() that is normally supposed to remove this kind of on-focus lock, but in a dll it seemingly breaks because it makes Dllmain call DLL_PROCESS_DETACH immediately after DLL_PROCESS_ATTACH so the window has to be killed or we crash.
Also, otherwise unnecessarily I had to disable the new DSP HLE debug window in Release mode because I could not access the SConfig::GetInstance().m_LocalCoreStartupParameter.m_strDSPPlugin.c_str() string that I need to start it (if I tried it crashed). Very annoying and strange. I could not access m_strDSPPlugin or m_strVideoPlugin either, but all other values in m_LocalCoreStartupParameter seemed to work fine. I'll have to leave it to someone else to figure out why.
TODO: Later I'll add function to the debugging buttons, currently only update have a function. I'll add some option to show a custom console window (that actually worked better that the wx window to show the current parameters status, it had less flicker on frequent updates). I'll also add some custom log file saving option.
Also, the reason I placed Logging.cpp in its own dir is because I plan to add more files to it. There were problems with some build modes, win32 with debugging crashed on booting a game, I don't know if it's my fault. And I could not build Debug win64 because of some wx linking problem.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@722 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-09-29 03:19:23 +00:00
|
|
|
{
|
2008-10-09 04:00:47 +00:00
|
|
|
m_frame->NotifyUpdate();
|
Some changes to the debugger, added a DSP HLE debugging window. I moved the initialization of DLLdebugger from Core.cpp to the debugging window. (I hope this doesn't break the LLE debugger in any way, or does it have to be started right after LoadPlugin?). Also added a ShowOnStart saved setting to the debugger. And a MainWindow saved setting that set the position and size of the main window when it's started. I may have broken things in the debugger by allowing disabling of for example the Jit window. Please accept my apologies if that is the case.
There's an annoying problem with the DSP HLE wx window that blocks some input and places it in a queue. For example if you have loaded the window and press X on the main window, that action is blocked an placed in some kind of queue and not executed until you have closed the debugging window. This is also why the main Dolphin-Debugger window does not show up until you close the sound window. If someone find a fix to this I guess it could be convenient. There is another way to show the window, m_frame->Show() that is normally supposed to remove this kind of on-focus lock, but in a dll it seemingly breaks because it makes Dllmain call DLL_PROCESS_DETACH immediately after DLL_PROCESS_ATTACH so the window has to be killed or we crash.
Also, otherwise unnecessarily I had to disable the new DSP HLE debug window in Release mode because I could not access the SConfig::GetInstance().m_LocalCoreStartupParameter.m_strDSPPlugin.c_str() string that I need to start it (if I tried it crashed). Very annoying and strange. I could not access m_strDSPPlugin or m_strVideoPlugin either, but all other values in m_LocalCoreStartupParameter seemed to work fine. I'll have to leave it to someone else to figure out why.
TODO: Later I'll add function to the debugging buttons, currently only update have a function. I'll add some option to show a custom console window (that actually worked better that the wx window to show the current parameters status, it had less flicker on frequent updates). I'll also add some custom log file saving option.
Also, the reason I placed Logging.cpp in its own dir is because I plan to add more files to it. There were problems with some build modes, win32 with debugging crashed on booting a game, I don't know if it's my fault. And I could not build Debug win64 because of some wx linking problem.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@722 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-09-29 03:19:23 +00:00
|
|
|
}
|
2008-10-09 04:00:47 +00:00
|
|
|
*/
|
Some changes to the debugger, added a DSP HLE debugging window. I moved the initialization of DLLdebugger from Core.cpp to the debugging window. (I hope this doesn't break the LLE debugger in any way, or does it have to be started right after LoadPlugin?). Also added a ShowOnStart saved setting to the debugger. And a MainWindow saved setting that set the position and size of the main window when it's started. I may have broken things in the debugger by allowing disabling of for example the Jit window. Please accept my apologies if that is the case.
There's an annoying problem with the DSP HLE wx window that blocks some input and places it in a queue. For example if you have loaded the window and press X on the main window, that action is blocked an placed in some kind of queue and not executed until you have closed the debugging window. This is also why the main Dolphin-Debugger window does not show up until you close the sound window. If someone find a fix to this I guess it could be convenient. There is another way to show the window, m_frame->Show() that is normally supposed to remove this kind of on-focus lock, but in a dll it seemingly breaks because it makes Dllmain call DLL_PROCESS_DETACH immediately after DLL_PROCESS_ATTACH so the window has to be killed or we crash.
Also, otherwise unnecessarily I had to disable the new DSP HLE debug window in Release mode because I could not access the SConfig::GetInstance().m_LocalCoreStartupParameter.m_strDSPPlugin.c_str() string that I need to start it (if I tried it crashed). Very annoying and strange. I could not access m_strDSPPlugin or m_strVideoPlugin either, but all other values in m_LocalCoreStartupParameter seemed to work fine. I'll have to leave it to someone else to figure out why.
TODO: Later I'll add function to the debugging buttons, currently only update have a function. I'll add some option to show a custom console window (that actually worked better that the wx window to show the current parameters status, it had less flicker on frequent updates). I'll also add some custom log file saving option.
Also, the reason I placed Logging.cpp in its own dir is because I plan to add more files to it. There were problems with some build modes, win32 with debugging crashed on booting a game, I don't know if it's my fault. And I could not build Debug win64 because of some wx linking problem.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@722 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-09-29 03:19:23 +00:00
|
|
|
|
|
|
|
k=0;
|
|
|
|
j=0;
|
|
|
|
|
2008-10-09 04:00:47 +00:00
|
|
|
} // end of if (j>20)
|
Some changes to the debugger, added a DSP HLE debugging window. I moved the initialization of DLLdebugger from Core.cpp to the debugging window. (I hope this doesn't break the LLE debugger in any way, or does it have to be started right after LoadPlugin?). Also added a ShowOnStart saved setting to the debugger. And a MainWindow saved setting that set the position and size of the main window when it's started. I may have broken things in the debugger by allowing disabling of for example the Jit window. Please accept my apologies if that is the case.
There's an annoying problem with the DSP HLE wx window that blocks some input and places it in a queue. For example if you have loaded the window and press X on the main window, that action is blocked an placed in some kind of queue and not executed until you have closed the debugging window. This is also why the main Dolphin-Debugger window does not show up until you close the sound window. If someone find a fix to this I guess it could be convenient. There is another way to show the window, m_frame->Show() that is normally supposed to remove this kind of on-focus lock, but in a dll it seemingly breaks because it makes Dllmain call DLL_PROCESS_DETACH immediately after DLL_PROCESS_ATTACH so the window has to be killed or we crash.
Also, otherwise unnecessarily I had to disable the new DSP HLE debug window in Release mode because I could not access the SConfig::GetInstance().m_LocalCoreStartupParameter.m_strDSPPlugin.c_str() string that I need to start it (if I tried it crashed). Very annoying and strange. I could not access m_strDSPPlugin or m_strVideoPlugin either, but all other values in m_LocalCoreStartupParameter seemed to work fine. I'll have to leave it to someone else to figure out why.
TODO: Later I'll add function to the debugging buttons, currently only update have a function. I'll add some option to show a custom console window (that actually worked better that the wx window to show the current parameters status, it had less flicker on frequent updates). I'll also add some custom log file saving option.
Also, the reason I placed Logging.cpp in its own dir is because I plan to add more files to it. There were problems with some build modes, win32 with debugging crashed on booting a game, I don't know if it's my fault. And I could not build Debug win64 because of some wx linking problem.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@722 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-09-29 03:19:23 +00:00
|
|
|
|
|
|
|
} // end of function
|