diff options
| author | SND\weimingzhi_cp <SND\weimingzhi_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97> | 2009-10-09 11:01:55 +0000 |
|---|---|---|
| committer | SND\weimingzhi_cp <SND\weimingzhi_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97> | 2009-10-09 11:01:55 +0000 |
| commit | df2c1c52bea00be22b380711341a4def249fa534 (patch) | |
| tree | a0ab23a8f3b851195e6f402b0d589f0ba2f9d1d2 /win32/gui | |
| parent | c053578923c3367a442f2a850ccdd5380489c544 (diff) | |
| download | pcsxr-df2c1c52bea00be22b380711341a4def249fa534.tar.gz | |
git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@31471 e17a0e51-4ae3-4d35-97c3-1a29b211df97
Diffstat (limited to 'win32/gui')
| -rw-r--r-- | win32/gui/ConfigurePlugins.c | 5 | ||||
| -rw-r--r-- | win32/gui/WndMain.c | 40 |
2 files changed, 44 insertions, 1 deletions
diff --git a/win32/gui/ConfigurePlugins.c b/win32/gui/ConfigurePlugins.c index a075c9e3..1a558eb1 100644 --- a/win32/gui/ConfigurePlugins.c +++ b/win32/gui/ConfigurePlugins.c @@ -68,6 +68,11 @@ int LoadConfig() { QueryKeyV(sizeof(Conf->SpuIrq), "SpuIrq", &Conf->SpuIrq);
QueryKeyV(sizeof(Conf->RCntFix), "RCntFix", &Conf->RCntFix);
QueryKeyV(sizeof(Conf->VSyncWA), "VSyncWA", &Conf->VSyncWA);
+ QueryKeyV(sizeof(Conf->Debug), "Debug", &Conf->Debug);
+
+ if (!Config.Cpu) {
+ Config.Debug = 0; // don't enable debugger if using dynarec core
+ }
RegCloseKey(myKey);
diff --git a/win32/gui/WndMain.c b/win32/gui/WndMain.c index 3b7a289e..a3753613 100644 --- a/win32/gui/WndMain.c +++ b/win32/gui/WndMain.c @@ -1206,6 +1206,7 @@ BOOL CALLBACK ConfigureCpuDlgProc(HWND hW, UINT uMsg, WPARAM wParam, LPARAM lPar Button_SetText(GetDlgItem(hW,IDC_PSXAUTO), _("Autodetect"));
Button_SetText(GetDlgItem(hW,IDC_CPU), _("Enable Interpreter Cpu"));
Button_SetText(GetDlgItem(hW,IDC_PSXOUT), _("Enable Console Output"));
+ Button_SetText(GetDlgItem(hW,IDC_DEBUG), _("Enable Debugger"));
Button_SetText(GetDlgItem(hW,IDC_SPUIRQ), _("Spu Irq Always Enabled"));
Button_SetText(GetDlgItem(hW,IDC_RCNTFIX), _("Parasite Eve 2, Vandal Hearts 1/2 Fix"));
Button_SetText(GetDlgItem(hW,IDC_VSYNCWA), _("InuYasha Sengoku Battle Fix"));
@@ -1220,6 +1221,7 @@ BOOL CALLBACK ConfigureCpuDlgProc(HWND hW, UINT uMsg, WPARAM wParam, LPARAM lPar Button_SetCheck(GetDlgItem(hW,IDC_PSXAUTO), Config.PsxAuto);
Button_SetCheck(GetDlgItem(hW,IDC_CPU), Config.Cpu);
Button_SetCheck(GetDlgItem(hW,IDC_PSXOUT), Config.PsxOut);
+ Button_SetCheck(GetDlgItem(hW,IDC_DEBUG), Config.Debug);
Button_SetCheck(GetDlgItem(hW,IDC_SPUIRQ), Config.SpuIrq);
Button_SetCheck(GetDlgItem(hW,IDC_RCNTFIX), Config.RCntFix);
Button_SetCheck(GetDlgItem(hW,IDC_VSYNCWA), Config.VSyncWA);
@@ -1227,8 +1229,17 @@ BOOL CALLBACK ConfigureCpuDlgProc(HWND hW, UINT uMsg, WPARAM wParam, LPARAM lPar ComboBox_AddString(GetDlgItem(hW,IDC_PSXTYPES),"PAL");
ComboBox_SetCurSel(GetDlgItem(hW,IDC_PSXTYPES),Config.PsxType);
+ if (!Config.Cpu) {
+ Config.Debug = 0;
+ Button_SetCheck(GetDlgItem(hW, IDC_DEBUG), FALSE);
+ EnableWindow(GetDlgItem(hW, IDC_DEBUG), FALSE);
+ }
+
+ EnableWindow(GetDlgItem(hW,IDC_PSXTYPES), !Config.PsxAuto);
+ break;
+
case WM_COMMAND: {
- switch (LOWORD(wParam)) {
+ switch (LOWORD(wParam)) {
case IDCANCEL: EndDialog(hW,FALSE); return TRUE;
case IDOK:
tmp = ComboBox_GetCurSel(GetDlgItem(hW,IDC_PSXTYPES));
@@ -1257,6 +1268,12 @@ BOOL CALLBACK ConfigureCpuDlgProc(HWND hW, UINT uMsg, WPARAM wParam, LPARAM lPar Config.SpuIrq = Button_GetCheck(GetDlgItem(hW,IDC_SPUIRQ));
Config.RCntFix = Button_GetCheck(GetDlgItem(hW,IDC_RCNTFIX));
Config.VSyncWA = Button_GetCheck(GetDlgItem(hW,IDC_VSYNCWA));
+ tmp = Config.Debug;
+ Config.Debug = Button_GetCheck(GetDlgItem(hW,IDC_DEBUG));
+ if (tmp != Config.Debug) {
+ if (Config.Debug) StartDebugger();
+ else StopDebugger();
+ }
SaveConfig();
@@ -1266,6 +1283,23 @@ BOOL CALLBACK ConfigureCpuDlgProc(HWND hW, UINT uMsg, WPARAM wParam, LPARAM lPar else CloseConsole();
return TRUE;
+
+ case IDC_CPU:
+ if (Button_GetCheck(GetDlgItem(hW,IDC_CPU))) {
+ EnableWindow(GetDlgItem(hW,IDC_DEBUG), TRUE);
+ } else {
+ Button_SetCheck(GetDlgItem(hW,IDC_DEBUG), FALSE);
+ EnableWindow(GetDlgItem(hW,IDC_DEBUG), FALSE);
+ }
+ break;
+
+ case IDC_PSXAUTO:
+ if (Button_GetCheck(GetDlgItem(hW,IDC_PSXAUTO))) {
+ EnableWindow(GetDlgItem(hW,IDC_PSXTYPES), FALSE);
+ } else {
+ EnableWindow(GetDlgItem(hW,IDC_PSXTYPES), TRUE);
+ }
+ break;
}
}
}
@@ -1675,6 +1709,8 @@ int SysInit() { }
LoadMcds(Config.Mcd1, Config.Mcd2);
+ if (Config.Debug) StartDebugger();
+
return 0;
}
@@ -1686,6 +1722,8 @@ void SysClose() { psxShutdown();
ReleasePlugins();
+ StopDebugger();
+
if (Config.PsxOut) CloseConsole();
if (emuLog != NULL) fclose(emuLog);
|
