Win32 - Debugger - Added DWEdits patch, it Adds pixel dislpay next to scanline display, and adds two new buttons: Run Line, Run 128 Lines

This commit is contained in:
adelikat 2009-02-21 23:38:20 +00:00
parent ef92dee8c6
commit 659f0b48db
7 changed files with 137 additions and 81 deletions

View File

@ -1,4 +1,6 @@
---version 2.0.4 yet to be released---
21-feb-2009 - adelikat - win32 - Debugger - Added pixel display after scanline display - Thanks to DWEdit for this patch
21-feb-2009 - adelikat - win32 - Debugger - Added Run Line, Run 128 Lines buttons - Thanks to DWEdit for this patch
21-feb-2009 - adelikat - win32 - Message Log - remembers X,Y position
19-feb-2009 - adelikat - win32 - Memory Watch - fixed recent file menu - no longer crashes when attempting to load a non existent recent file
07-feb-2009 - adelikat - win32 - Fix bug in screenshot numbering that caused numbering to not reset when changing ROMs

View File

@ -533,7 +533,18 @@ void breakpoint() {
BreakHit(true);
return;
}
//if we're running for a scanline, we want to check if we've hit the cycle limit
if (dbgstate.runline) {
uint64 ts = timestampbase;
ts+=timestamp;
int diff = dbgstate.runline_end_time-ts;
if (diff<=0)
{
dbgstate.runline=false;
BreakHit(true);
return;
}
}
//check the step over address and break if we've hit it
if ((watchpoint[64].address == _PC) && (watchpoint[64].flags)) {
watchpoint[64].address = 0;
@ -602,33 +613,10 @@ int debug_tracing;
void DebugCycle() {
if (numWPs || dbgstate.step || dbgstate.stepout || watchpoint[64].flags || dbgstate.badopbreak)
if (numWPs || dbgstate.step || dbgstate.runline || dbgstate.stepout || watchpoint[64].flags || dbgstate.badopbreak)
breakpoint();
if(debug_loggingCD) LogCDData();
//mbg 6/30/06 - this was commented out when i got here. i dont understand it anyway
//if(logging || (hMemView && (EditingMode == 2))) LogInstruction();
FCEUD_TraceInstruction();
}
//opbrktype is used to grab the breakpoint type that each instruction will cause.
//WP_X is not used because ALL opcodes will have the execute bit set.
const uint8 opbrktype[256] = {
/*0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F*/
/*0x00*/ 0, WP_R, 0, 0, 0, WP_R, WP_R|WP_W, 0, 0, 0, 0, 0, 0, WP_R, WP_R|WP_W, 0,
/*0x10*/ 0, WP_R, 0, 0, 0, WP_R, WP_R|WP_W, 0, 0, WP_R, 0, 0, 0, WP_R, WP_R|WP_W, 0,
/*0x20*/ 0, WP_R, 0, 0, WP_R, WP_R, WP_R|WP_W, 0, 0, 0, 0, 0, WP_R, WP_R, WP_R|WP_W, 0,
/*0x30*/ 0, WP_R, 0, 0, 0, WP_R, WP_R|WP_W, 0, 0, WP_R, 0, 0, 0, WP_R, WP_R|WP_W, 0,
/*0x40*/ 0, WP_R, 0, 0, 0, WP_R, WP_R|WP_W, 0, 0, 0, 0, 0, 0, WP_R, WP_R|WP_W, 0,
/*0x50*/ 0, WP_R, 0, 0, 0, WP_R, WP_R|WP_W, 0, 0, WP_R, 0, 0, 0, WP_R, WP_R|WP_W, 0,
/*0x60*/ 0, WP_R, 0, 0, 0, WP_R, WP_R|WP_W, 0, 0, 0, 0, 0, WP_R, WP_R, WP_R|WP_W, 0,
/*0x70*/ 0, WP_R, 0, 0, 0, WP_R, WP_R|WP_W, 0, 0, WP_R, 0, 0, 0, WP_R, WP_R|WP_W, 0,
/*0x80*/ 0, WP_W, 0, 0, WP_W, WP_W, WP_W, 0, 0, 0, 0, 0, WP_W, WP_W, WP_W, 0,
/*0x90*/ 0, WP_W, 0, 0, WP_W, WP_W, WP_W, 0, 0, WP_W, 0, 0, 0, WP_W, 0, 0,
/*0xA0*/ 0, WP_R, 0, 0, WP_R, WP_R, WP_R, 0, 0, 0, 0, 0, WP_R, WP_R, WP_R, 0,
/*0xB0*/ 0, WP_R, 0, 0, WP_R, WP_R, WP_R, 0, 0, WP_R, 0, 0, WP_R, WP_R, WP_R, 0,
/*0xC0*/ 0, WP_R, 0, 0, WP_R, WP_R, WP_R|WP_W, 0, 0, 0, 0, 0, WP_R, WP_R, WP_R|WP_W, 0,
/*0xD0*/ 0, WP_R, 0, 0, 0, WP_R, WP_R|WP_W, 0, 0, WP_R, 0, 0, 0, WP_R, WP_R|WP_W, 0,
/*0xE0*/ 0, WP_R, 0, 0, WP_R, WP_R, WP_R|WP_W, 0, 0, 0, 0, 0, WP_R, WP_R, WP_R|WP_W, 0,
/*0xF0*/ 0, WP_R, 0, 0, 0, WP_R, WP_R|WP_W, 0, 0, WP_R, 0, 0, 0, WP_R, WP_R|WP_W, 0
};
}

View File

@ -17,7 +17,27 @@
#define BT_S 0x40 //break type, sprite mem
//opbrktype is used to grab the breakpoint type that each instruction will cause.
extern const uint8 opbrktype[256];
//WP_X is not used because ALL opcodes will have the execute bit set.
static const uint8 opbrktype[256] = {
/*0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F*/
/*0x00*/ 0, WP_R, 0, 0, 0, WP_R, WP_R|WP_W, 0, 0, 0, 0, 0, 0, WP_R, WP_R|WP_W, 0,
/*0x10*/ 0, WP_R, 0, 0, 0, WP_R, WP_R|WP_W, 0, 0, WP_R, 0, 0, 0, WP_R, WP_R|WP_W, 0,
/*0x20*/ 0, WP_R, 0, 0, WP_R, WP_R, WP_R|WP_W, 0, 0, 0, 0, 0, WP_R, WP_R, WP_R|WP_W, 0,
/*0x30*/ 0, WP_R, 0, 0, 0, WP_R, WP_R|WP_W, 0, 0, WP_R, 0, 0, 0, WP_R, WP_R|WP_W, 0,
/*0x40*/ 0, WP_R, 0, 0, 0, WP_R, WP_R|WP_W, 0, 0, 0, 0, 0, 0, WP_R, WP_R|WP_W, 0,
/*0x50*/ 0, WP_R, 0, 0, 0, WP_R, WP_R|WP_W, 0, 0, WP_R, 0, 0, 0, WP_R, WP_R|WP_W, 0,
/*0x60*/ 0, WP_R, 0, 0, 0, WP_R, WP_R|WP_W, 0, 0, 0, 0, 0, WP_R, WP_R, WP_R|WP_W, 0,
/*0x70*/ 0, WP_R, 0, 0, 0, WP_R, WP_R|WP_W, 0, 0, WP_R, 0, 0, 0, WP_R, WP_R|WP_W, 0,
/*0x80*/ 0, WP_W, 0, 0, WP_W, WP_W, WP_W, 0, 0, 0, 0, 0, WP_W, WP_W, WP_W, 0,
/*0x90*/ 0, WP_W, 0, 0, WP_W, WP_W, WP_W, 0, 0, WP_W, 0, 0, 0, WP_W, 0, 0,
/*0xA0*/ 0, WP_R, 0, 0, WP_R, WP_R, WP_R, 0, 0, 0, 0, 0, WP_R, WP_R, WP_R, 0,
/*0xB0*/ 0, WP_R, 0, 0, WP_R, WP_R, WP_R, 0, 0, WP_R, 0, 0, WP_R, WP_R, WP_R, 0,
/*0xC0*/ 0, WP_R, 0, 0, WP_R, WP_R, WP_R|WP_W, 0, 0, 0, 0, 0, WP_R, WP_R, WP_R|WP_W, 0,
/*0xD0*/ 0, WP_R, 0, 0, 0, WP_R, WP_R|WP_W, 0, 0, WP_R, 0, 0, 0, WP_R, WP_R|WP_W, 0,
/*0xE0*/ 0, WP_R, 0, 0, WP_R, WP_R, WP_R|WP_W, 0, 0, 0, 0, 0, WP_R, WP_R, WP_R|WP_W, 0,
/*0xF0*/ 0, WP_R, 0, 0, 0, WP_R, WP_R|WP_W, 0, 0, WP_R, 0, 0, 0, WP_R, WP_R|WP_W, 0
};
typedef struct {
uint16 address;
@ -84,6 +104,10 @@ public:
bool step;
///indicates whether the debugger is stepping out of a function call
bool stepout;
///indicates whether the debugger is running one line
bool runline;
///target timestamp for runline to stop at
uint64 runline_end_time;
///indicates whether the debugger should break on bad opcodes
bool badopbreak;
///counts the nest level of the call stack while stepping out

View File

@ -67,10 +67,10 @@ static SCROLLINFO si;
void RestoreSize(HWND hwndDlg)
{
//As of the writing of this function (revision 1053) the Debugger default width = 821 and height of 523
//As of the writing of this function (revision 1137) the Debugger default width = 821 and height of 523
//If the dialog dimensions are changed those changes need to be reflected here. - adelikat
const int DEFAULT_WIDTH = 821; //Original width
const int DEFAULT_HEIGHT = 523; //Original height
const int DEFAULT_HEIGHT = 549; //Original height
SetWindowPos(hwndDlg,HWND_TOPMOST,DbgPosX,DbgPosY,DEFAULT_WIDTH,DEFAULT_HEIGHT,SWP_SHOWWINDOW);
}
@ -179,7 +179,7 @@ BOOL CALLBACK AddbpCallB(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
char str[8]={0};
int tmp;
switch(uMsg) {
case WM_INITDIALOG:
CenterWindow(hwndDlg);
@ -187,7 +187,7 @@ BOOL CALLBACK AddbpCallB(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
SendDlgItemMessage(hwndDlg,IDC_ADDBP_ADDR_END,EM_SETLIMITTEXT,4,0);
if (WP_edit >= 0) {
SetWindowText(hwndDlg,"Edit Breakpoint...");
sprintf(str,"%04X",watchpoint[WP_edit].address);
SetDlgItemText(hwndDlg,IDC_ADDBP_ADDR_START,str);
sprintf(str,"%04X",watchpoint[WP_edit].endaddress);
@ -536,7 +536,15 @@ void UpdateDebugger()
sprintf(str, "%02X", PPU[3]);
SetDlgItemText(hDebug, IDC_DEBUGGER_VAL_SPR, str);
sprintf(str, "Scanline: %d", scanline);
extern int linestartts; FCEUI_DispMessage("linestartts = %d",linestartts);
#define GETLASTPIXEL (PAL?((timestamp*48-linestartts)/15) : ((timestamp*48-linestartts)/16) )
int ppupixel = GETLASTPIXEL;
if (ppupixel>999)
ppupixel = 0; //Currently pixel display is borked until Run 128 lines is clicked, this keeps garbage from displaying
sprintf(str, "Scanline: %d, Pixel %d", scanline,ppupixel);
SetDlgItemText(hDebug, IDC_DEBUGGER_VAL_SLINE, str);
tmp = X.S|0x0100;
@ -1236,6 +1244,34 @@ BOOL CALLBACK DebuggerCallB(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPara
FCEUI_SetEmulationPaused(0);
UpdateDebugger();
break;
case IDC_DEBUGGER_RUN_LINE:
if (FCEUI_EmulationPaused()) {
UpdateRegs(hwndDlg);
}
FCEUI_Debugger().runline = true;
{
uint64 ts=timestampbase;
ts+=timestamp;
ts+=341/3;
FCEUI_Debugger().runline_end_time=ts;
}
FCEUI_SetEmulationPaused(0);
UpdateDebugger();
break;
case IDC_DEBUGGER_RUN_FRAME2:
if (FCEUI_EmulationPaused()) {
UpdateRegs(hwndDlg);
}
FCEUI_Debugger().runline = true;
{
uint64 ts=timestampbase;
ts+=timestamp;
ts+=128*341/3;
FCEUI_Debugger().runline_end_time=ts;
}
FCEUI_SetEmulationPaused(0);
UpdateDebugger();
break;
case IDC_DEBUGGER_STEP_OUT:
//mbg merge 7/18/06 changed pausing check and set
if (FCEUI_EmulationPaused() > 0) {

View File

@ -918,63 +918,65 @@ BEGIN
PUSHBUTTON "<",MEMW_EXPANDCOLLAPSE,1,259,11,10
END
DEBUGGER DIALOGEX 54, 74, 542, 305
DEBUGGER DIALOGEX 54, 74, 542, 321
STYLE DS_SETFONT | DS_3DLOOK | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME
CAPTION "6502 Debugger"
FONT 8, "MS Sans Serif", 0, 0, 0x0
BEGIN
EDITTEXT IDC_DEBUGGER_DISASSEMBLY,15,6,318,289,ES_MULTILINE | ES_READONLY | WS_HSCROLL
SCROLLBAR IDC_DEBUGGER_DISASSEMBLY_VSCR,336,6,8,288,SBS_VERT
GROUPBOX "Status Flags",401,430,138,104,38,WS_TABSTOP
CONTROL "N",IDC_DEBUGGER_FLAG_N,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,435,150,22,12
CONTROL "V",IDC_DEBUGGER_FLAG_V,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,460,150,22,12
CONTROL "U",IDC_DEBUGGER_FLAG_U,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,485,150,22,12
CONTROL "B",IDC_DEBUGGER_FLAG_B,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,510,150,22,12
CONTROL "D",IDC_DEBUGGER_FLAG_D,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,435,161,22,12
CONTROL "I",IDC_DEBUGGER_FLAG_I,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,460,161,22,12
CONTROL "Z",IDC_DEBUGGER_FLAG_Z,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,485,161,22,12
CONTROL "C",IDC_DEBUGGER_FLAG_C,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,510,161,22,12
GROUPBOX "BreakPoints",402,430,3,104,132,WS_TABSTOP
LISTBOX IDC_DEBUGGER_BP_LIST,437,16,90,74,LBS_SORT | LBS_DISABLENOSCROLL | WS_VSCROLL
PUSHBUTTON "Add...",IDC_DEBUGGER_BP_ADD,437,97,30,15
PUSHBUTTON "Delete",IDC_DEBUGGER_BP_DEL,469,97,30,15,WS_DISABLED
PUSHBUTTON "Edit",IDC_DEBUGGER_BP_EDIT,501,97,26,15,WS_DISABLED
EDITTEXT IDC_DEBUGGER_DISASSEMBLY,15,6,318,300,ES_MULTILINE | ES_READONLY | WS_HSCROLL
SCROLLBAR IDC_DEBUGGER_DISASSEMBLY_VSCR,336,6,8,300,SBS_VERT
GROUPBOX "Status Flags",401,430,151,104,38,WS_TABSTOP
CONTROL "N",IDC_DEBUGGER_FLAG_N,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,435,163,22,12
CONTROL "V",IDC_DEBUGGER_FLAG_V,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,460,163,22,12
CONTROL "U",IDC_DEBUGGER_FLAG_U,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,485,163,22,12
CONTROL "B",IDC_DEBUGGER_FLAG_B,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,510,163,22,12
CONTROL "D",IDC_DEBUGGER_FLAG_D,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,435,174,22,12
CONTROL "I",IDC_DEBUGGER_FLAG_I,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,460,174,22,12
CONTROL "Z",IDC_DEBUGGER_FLAG_Z,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,485,174,22,12
CONTROL "C",IDC_DEBUGGER_FLAG_C,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,510,174,22,12
GROUPBOX "BreakPoints",402,430,3,104,143,WS_TABSTOP
LISTBOX IDC_DEBUGGER_BP_LIST,437,16,90,91,LBS_SORT | LBS_DISABLENOSCROLL | WS_VSCROLL
PUSHBUTTON "Add...",IDC_DEBUGGER_BP_ADD,437,111,30,15
PUSHBUTTON "Delete",IDC_DEBUGGER_BP_DEL,469,111,30,15,WS_DISABLED
PUSHBUTTON "Edit",IDC_DEBUGGER_BP_EDIT,501,111,26,15,WS_DISABLED
PUSHBUTTON "Run",IDC_DEBUGGER_RUN,349,7,37,14
PUSHBUTTON "Step Into",IDC_DEBUGGER_STEP_IN,389,7,38,14
PUSHBUTTON "Step Out",IDC_DEBUGGER_STEP_OUT,349,23,37,14
PUSHBUTTON "Step Over",IDC_DEBUGGER_STEP_OVER,389,23,38,14
LTEXT "A:",IDC_STATIC,349,83,10,8
LTEXT "X:",65534,376,83,10,8
LTEXT "Y:",65533,404,83,10,8
LTEXT "PC:",65532,349,65,13,8
EDITTEXT IDC_DEBUGGER_VAL_A,357,81,15,12,ES_UPPERCASE | ES_WANTRETURN
EDITTEXT IDC_DEBUGGER_VAL_X,385,81,15,12,ES_UPPERCASE | ES_WANTRETURN
EDITTEXT IDC_DEBUGGER_VAL_Y,412,81,15,12,ES_UPPERCASE | ES_WANTRETURN
EDITTEXT IDC_DEBUGGER_VAL_PC,361,63,25,12,ES_UPPERCASE | ES_WANTRETURN
GROUPBOX "Stack",IDC_DEBUGGER_VAL_S,349,99,79,78,WS_TABSTOP
EDITTEXT IDC_DEBUGGER_STACK_CONTENTS,354,110,69,62,ES_MULTILINE | ES_UPPERCASE | ES_READONLY
PUSHBUTTON "Seek PC",IDC_DEBUGGER_SEEK_PC,389,62,38,14
PUSHBUTTON "Seek To:",IDC_DEBUGGER_SEEK_TO,349,43,37,14
EDITTEXT IDC_DEBUGGER_VAL_PCSEEK,389,44,38,12,ES_UPPERCASE | ES_WANTRETURN
LTEXT "PPU:",65531,349,183,19,10
LTEXT "Sprite:",65530,395,183,21,10
EDITTEXT IDC_DEBUGGER_VAL_PPU,367,182,25,12,ES_UPPERCASE | ES_WANTRETURN
EDITTEXT IDC_DEBUGGER_VAL_SPR,417,182,15,12,ES_UPPERCASE | ES_WANTRETURN
LTEXT "Scanline:",IDC_DEBUGGER_VAL_SLINE,435,183,50,10
CONTROL "",IDC_DEBUGGER_ADDR_LINE,"Static",SS_LEFTNOWORDWRAP | WS_GROUP,5,295,328,10
LTEXT "A:",IDC_STATIC,349,96,10,8
LTEXT "X:",65534,376,96,10,8
LTEXT "Y:",65533,404,96,10,8
LTEXT "PC:",65532,349,78,13,8
EDITTEXT IDC_DEBUGGER_VAL_A,357,94,15,12,ES_UPPERCASE | ES_WANTRETURN
EDITTEXT IDC_DEBUGGER_VAL_X,385,94,15,12,ES_UPPERCASE | ES_WANTRETURN
EDITTEXT IDC_DEBUGGER_VAL_Y,412,94,15,12,ES_UPPERCASE | ES_WANTRETURN
EDITTEXT IDC_DEBUGGER_VAL_PC,361,76,25,12,ES_UPPERCASE | ES_WANTRETURN
GROUPBOX "Stack",IDC_DEBUGGER_VAL_S,349,112,79,78,WS_TABSTOP
EDITTEXT IDC_DEBUGGER_STACK_CONTENTS,354,123,69,62,ES_MULTILINE | ES_UPPERCASE | ES_READONLY
PUSHBUTTON "Seek PC",IDC_DEBUGGER_SEEK_PC,389,75,38,14
PUSHBUTTON "Seek To:",IDC_DEBUGGER_SEEK_TO,349,56,37,14
EDITTEXT IDC_DEBUGGER_VAL_PCSEEK,389,57,38,12,ES_UPPERCASE | ES_WANTRETURN
LTEXT "PPU:",65531,349,196,19,10
LTEXT "Sprite:",65530,395,196,21,10
EDITTEXT IDC_DEBUGGER_VAL_PPU,367,195,25,12,ES_UPPERCASE | ES_WANTRETURN
EDITTEXT IDC_DEBUGGER_VAL_SPR,417,195,15,12,ES_UPPERCASE | ES_WANTRETURN
LTEXT "Scanline:",IDC_DEBUGGER_VAL_SLINE,435,196,97,10
CONTROL "",IDC_DEBUGGER_ADDR_LINE,"Static",SS_LEFTNOWORDWRAP | WS_GROUP,5,307,328,10
CONTROL "Break on Bad Opcode",IDC_DEBUGGER_BREAK_ON_BAD_OP,
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,437,118,90,10
CONTROL "Symbolic debugging",IDC_DEBUGGER_ENABLE_SYMBOLIC,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,347,200,79,10
PUSHBUTTON "Reload Symbols",IDC_DEBUGGER_RELOAD_SYMS,427,198,55,14
GROUPBOX "Bookmarks",45535,348,214,119,80
LISTBOX LIST_DEBUGGER_BOOKMARKS,351,223,67,66,LBS_SORT | LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP
EDITTEXT IDC_DEBUGGER_BOOKMARK,421,223,40,14,ES_AUTOHSCROLL
PUSHBUTTON "Add",IDC_DEBUGGER_BOOKMARK_ADD,421,239,40,14
PUSHBUTTON "Delete",IDC_DEBUGGER_BOOKMARK_DEL,421,255,40,14
PUSHBUTTON "Rom Patcher",IDC_DEBUGGER_ROM_PATCHER,487,198,46,14
CONTROL "",IDC_DEBUGGER_ICONTRAY,"Static",SS_BLACKFRAME,5,7,10,287
PUSHBUTTON "",IDC_DEBUGGER_RESTORESIZE,348,296,9,7
LTEXT "Restore original window size",IDC_STATIC,359,295,90,8
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,437,132,90,10
CONTROL "Symbolic debugging",IDC_DEBUGGER_ENABLE_SYMBOLIC,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,347,213,79,10
PUSHBUTTON "Reload Symbols",IDC_DEBUGGER_RELOAD_SYMS,427,211,55,14
GROUPBOX "Bookmarks",45535,348,227,119,80
LISTBOX LIST_DEBUGGER_BOOKMARKS,351,236,67,66,LBS_SORT | LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP
EDITTEXT IDC_DEBUGGER_BOOKMARK,421,236,40,14,ES_AUTOHSCROLL
PUSHBUTTON "Add",IDC_DEBUGGER_BOOKMARK_ADD,421,252,40,14
PUSHBUTTON "Delete",IDC_DEBUGGER_BOOKMARK_DEL,421,268,40,14
PUSHBUTTON "Rom Patcher",IDC_DEBUGGER_ROM_PATCHER,487,211,46,14
CONTROL "",IDC_DEBUGGER_ICONTRAY,"Static",SS_BLACKFRAME,5,6,10,301
PUSHBUTTON "",IDC_DEBUGGER_RESTORESIZE,348,308,9,7
LTEXT "Restore original window size",IDC_STATIC,359,308,90,8
PUSHBUTTON "Run Line",IDC_DEBUGGER_RUN_LINE,349,39,37,14
PUSHBUTTON "128 Lines",IDC_DEBUGGER_RUN_FRAME2,389,39,37,14
END
TRACER DIALOGEX 65527, 65513, 398, 319
@ -1564,6 +1566,7 @@ BEGIN
"DEBUGGER", DIALOG
BEGIN
RIGHTMARGIN, 541
BOTTOMMARGIN, 318
END
"ADDBP", DIALOG

View File

@ -125,9 +125,12 @@
#define BTN_CLEAR_AH 114
#define IDC_CHECK_LOG_NEW_INSTRUCTIONS 114
#define IDD_DIALOG1 114
#define IDC_DEBUGGER_RUN_LINE 114
#define LBL_AUTO_HOLD 115
#define IDC_CHECK_LOG_NEW_DATA 115
#define IDD_DIALOG2 115
#define IDC_DEBUGGER_STEP_OUT3 115
#define IDC_DEBUGGER_RUN_FRAME2 115
#define LBL_CLEAR_AH 116
#define IDC_CHECK_LOG_UPDATE_WINDOW 116
#define CHECK_SOUND_8BIT 122

View File

@ -691,7 +691,7 @@ static DECLFW(B4014)
static uint8 *Pline,*Plinef;
static int firsttile;
static int linestartts;
int linestartts; //no longer static so the debugger can see it
static int tofix=0;
static void ResetRL(uint8 *target)