From c5cfc49da75f1e11839f496a0f0a911d3a01a00c Mon Sep 17 00:00:00 2001 From: wsxyz Date: Tue, 1 Mar 2011 08:12:24 +0000 Subject: [PATCH] fixups to build & run (mainly reinstating v1.20 Debug.cpp & Debug.h) --- Applewin.sln | 7 +- Applewin.vcxproj | 3 + Applewin.vcxproj.filters | 3 + source/Debugger/Debug.cpp | 173 ++++++++++++++++++++------------------ source/Debugger/Debug.h | 83 +++++++++++++++--- source/Frame.cpp | 2 +- 6 files changed, 173 insertions(+), 98 deletions(-) diff --git a/Applewin.sln b/Applewin.sln index 122043f7..78c2545f 100644 --- a/Applewin.sln +++ b/Applewin.sln @@ -1,6 +1,7 @@ -Microsoft Visual Studio Solution File, Format Version 9.00 -# Visual Studio 2005 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "AppleWin", "Applewin.vcproj", "{C4C93CFD-5B6C-41C5-BF90-17119186120F}" + +Microsoft Visual Studio Solution File, Format Version 11.00 +# Visual C++ Express 2010 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Applewin", "Applewin.vcxproj", "{C4C93CFD-5B6C-41C5-BF90-17119186120F}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution diff --git a/Applewin.vcxproj b/Applewin.vcxproj index 43396c36..3aed6716 100644 --- a/Applewin.vcxproj +++ b/Applewin.vcxproj @@ -42,6 +42,8 @@ .\Debug\ .\Debug\ false + C:\Users\Miyeong\Projects\AppleWin-Sheldon\source;C:\Users\Miyeong\Projects\AppleWin-Sheldon\source\CPU;C:\Users\Miyeong\Projects\AppleWin-Sheldon\source\Debugger;C:\Users\Miyeong\Projects\AppleWin-Sheldon\zip_lib;C:\Users\Miyeong\Projects\AppleWin-Sheldon\zlib;$(IncludePath) + C:\Users\Miyeong\Projects\AppleWin-Sheldon\source;C:\Users\Miyeong\Projects\AppleWin-Sheldon\source\CPU;C:\Users\Miyeong\Projects\AppleWin-Sheldon\source\Debugger;C:\Users\Miyeong\Projects\AppleWin-Sheldon\zip_lib;C:\Users\Miyeong\Projects\AppleWin-Sheldon\zlib;$(IncludePath) @@ -137,6 +139,7 @@ + diff --git a/Applewin.vcxproj.filters b/Applewin.vcxproj.filters index 510565c7..0bd8aa15 100644 --- a/Applewin.vcxproj.filters +++ b/Applewin.vcxproj.filters @@ -230,6 +230,9 @@ Source + + Source\Debugger + diff --git a/source/Debugger/Debug.cpp b/source/Debugger/Debug.cpp index b629c8fa..7b1e18ac 100644 --- a/source/Debugger/Debug.cpp +++ b/source/Debugger/Debug.cpp @@ -36,7 +36,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA #define ALLOW_INPUT_LOWERCASE 1 // See /docs/Debugger_Changelog.txt for full details - const int DEBUGGER_VERSION = MAKE_VERSION(2,7,0,7); + const int DEBUGGER_VERSION = MAKE_VERSION(2,7,0,21); // Public _________________________________________________________________________________________ @@ -46,15 +46,23 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // Bookmarks __________________________________________________________________ // vector g_aBookmarks; - int g_nBookmarks; + int g_nBookmarks = 0; Bookmark_t g_aBookmarks[ MAX_BOOKMARKS ]; // Breakpoints ________________________________________________________________ - // Full-Speed debugging - int g_nDebugOnBreakInvalid = 0; - int g_iDebugOnOpcode = 0; - bool g_bDebugDelayBreakCheck = false; + + // MODE_RUNNING // Normal Speed Breakpoints: Shift-F7 exit debugger, keep breakpoints active, enter run state at NORMAL speed + bool g_bDebugNormalSpeedBreakpoints = 0; + + // MODE_STEPPING // Full Speed Breakpoints + + // Any Speed Breakpoints + int g_nDebugBreakOnInvalid = 0; // Bit Flags of Invalid Opcode to break on: // iOpcodeType = AM_IMPLIED (BRK), AM_1, AM_2, AM_3 + int g_iDebugBreakOnOpcode = 0; + + bool g_bDebugBreakDelayCheck = false; // If exiting the debugger, allow at least one instruction to execute so we don't trigger on the same invalid opcode + int g_bDebugBreakpointHit = 0; // See: BreakpointHit_t int g_nBreakpoints = 0; Breakpoint_t g_aBreakpoints[ MAX_BREAKPOINTS ]; @@ -111,12 +119,8 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA vector g_vSortedCommands; // static const char g_aFlagNames[_6502_NUM_FLAGS+1] = TEXT("CZIDBRVN");// Reversed since arrays are from left-to-right -#ifdef WS_VIDEO - Command_t g_aCommands[NUM_COMMANDS]; - Command_t g_aParameters[NUM_COMMANDS]; - const int NUM_COMMANDS_WITH_ALIASES = sizeof(g_aCommands) / sizeof (Command_t); // Determined at compile-time ;-) - void VerifyDebuggerCommandTable () {} -#endif + + // Cursor (Console Input) _____________________________________________________ // char g_aInputCursor[] = "\|/-"; @@ -322,8 +326,6 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA void _BWZ_ListAll ( const Breakpoint_t * aBreakWatchZero, const int nMax ); // bool CheckBreakpoint (WORD address, BOOL memory); - bool CheckBreakpointsIO (); - bool CheckBreakpointsReg (); bool _CmdBreakpointAddReg ( Breakpoint_t *pBP, BreakpointSource_t iSrc, BreakpointOperator_t iCmp, WORD nAddress, int nLen, bool bIsTempBreakpoint ); int _CmdBreakpointAddCommonArg ( int iArg, int nArg, BreakpointSource_t iSrc, BreakpointOperator_t iCmp, bool bIsTempBreakpoint=false ); void _BWZ_Clear( Breakpoint_t * aBreakWatchZero, int iSlot ); @@ -465,7 +467,7 @@ void _Bookmark_Reset() //=========================================================================== int _Bookmark_Size() { - int g_nBookmarks = 0; + g_nBookmarks = 0; int iBookmark; for (iBookmark = 0; iBookmark < MAX_BOOKMARKS; iBookmark++ ) @@ -711,7 +713,7 @@ Update_t CmdBenchmarkStop (int nArgs) { g_bBenchmarking = false; DebugEnd(); - g_nAppMode = MODE_RUNNING; + FrameRefreshStatus(DRAW_TITLE); VideoRedrawScreen(); DWORD currtime = GetTickCount(); @@ -811,13 +813,19 @@ _Help: //=========================================================================== Update_t CmdBreakInvalid (int nArgs) // Breakpoint IFF Full-speed! { - if ((nArgs > 2) || (nArgs == 0)) + if (nArgs > 2) // || (nArgs == 0)) goto _Help; - int iType = 0; // default to BRK + int iType = AM_IMPLIED; // default to BRK int nActive = 0; -// if (nArgs == 2) + if (nArgs == 0) + { + nArgs = 1; + g_aArgs[ 1 ].nValue = AM_IMPLIED; + g_aArgs[ 1 ].sArg[0] = 0; + } + iType = g_aArgs[ 1 ].nValue; // Cases: @@ -851,10 +859,10 @@ Update_t CmdBreakInvalid (int nArgs) // Breakpoint IFF Full-speed! { if (! nFound) // bValidParam) // case 1a or 1c { - if ((iType < 0) || (iType > AM_3)) + if ((iType < AM_IMPLIED) || (iType > AM_3)) goto _Help; - if (IsDebugBreakOnInvalid( iType )) + if ( IsDebugBreakOnInvalid( iType ) ) iParam = PARAM_ON; else iParam = PARAM_OFF; @@ -914,31 +922,31 @@ Update_t CmdBreakOpcode (int nArgs) // Breakpoint IFF Full-speed! if (nArgs == 1) { int iOpcode = g_aArgs[ 1] .nValue; - g_iDebugOnOpcode = iOpcode & 0xFF; + g_iDebugBreakOnOpcode = iOpcode & 0xFF; _tcscpy( sAction, TEXT("Setting") ); if (iOpcode >= NUM_OPCODES) { - wsprintf( sText, TEXT("Warning: clamping opcode: %02X"), g_iDebugOnOpcode ); + wsprintf( sText, TEXT("Warning: clamping opcode: %02X"), g_iDebugBreakOnOpcode ); ConsoleBufferPush( sText ); return ConsoleUpdate(); } } - if (g_iDebugOnOpcode == 0) + if (g_iDebugBreakOnOpcode == 0) // Show what the current break opcode is wsprintf( sText, TEXT("%s full speed Break on Opcode: None") , sAction - , g_iDebugOnOpcode - , g_aOpcodes65C02[ g_iDebugOnOpcode ].sMnemonic + , g_iDebugBreakOnOpcode + , g_aOpcodes65C02[ g_iDebugBreakOnOpcode ].sMnemonic ); else // Show what the current break opcode is wsprintf( sText, TEXT("%s full speed Break on Opcode: %02X %s") , sAction - , g_iDebugOnOpcode - , g_aOpcodes65C02[ g_iDebugOnOpcode ].sMnemonic + , g_iDebugBreakOnOpcode + , g_aOpcodes65C02[ g_iDebugBreakOnOpcode ].sMnemonic ); ConsoleBufferPush( sText ); @@ -1035,7 +1043,7 @@ bool _CheckBreakpointValue( Breakpoint_t *pBP, int nVal ) //=========================================================================== -bool CheckBreakpointsIO () +int CheckBreakpointsIO () { const int NUM_TARGETS = 2; @@ -1045,7 +1053,7 @@ bool CheckBreakpointsIO () NO_6502_TARGET }; int nBytes; - bool bStatus = false; + bool bBreakpointHit = 0; int iTarget; int nAddress; @@ -1068,7 +1076,7 @@ bool CheckBreakpointsIO () { if (_CheckBreakpointValue( pBP, nAddress )) { - return true; + return BP_HIT_MEM; } } } @@ -1076,14 +1084,14 @@ bool CheckBreakpointsIO () } } } - return bStatus; + return bBreakpointHit; } // Returns true if a register breakpoint is triggered //=========================================================================== -bool CheckBreakpointsReg () +int CheckBreakpointsReg () { - bool bStatus = false; + int bBreakpointHit = 0; for (int iBreakpoint = 0; iBreakpoint < MAX_BREAKPOINTS; iBreakpoint++) { @@ -1094,30 +1102,31 @@ bool CheckBreakpointsReg () switch (pBP->eSource) { - case BP_SRC_REG_PC: - bStatus = _CheckBreakpointValue( pBP, regs.pc ); + case BP_SRC_REG_PC: + bBreakpointHit = _CheckBreakpointValue( pBP, regs.pc ); break; case BP_SRC_REG_A: - bStatus = _CheckBreakpointValue( pBP, regs.a ); + bBreakpointHit = _CheckBreakpointValue( pBP, regs.a ); break; case BP_SRC_REG_X: - bStatus = _CheckBreakpointValue( pBP, regs.x ); + bBreakpointHit = _CheckBreakpointValue( pBP, regs.x ); break; case BP_SRC_REG_Y: - bStatus = _CheckBreakpointValue( pBP, regs.y ); + bBreakpointHit = _CheckBreakpointValue( pBP, regs.y ); break; case BP_SRC_REG_P: - bStatus = _CheckBreakpointValue( pBP, regs.ps ); + bBreakpointHit = _CheckBreakpointValue( pBP, regs.ps ); break; case BP_SRC_REG_S: - bStatus = _CheckBreakpointValue( pBP, regs.sp ); + bBreakpointHit = _CheckBreakpointValue( pBP, regs.sp ); break; default: break; } - if (bStatus) + if (bBreakpointHit) { + bBreakpointHit = BP_HIT_REG; if (pBP->bTemp) _BWZ_Clear(pBP, iBreakpoint); @@ -1125,7 +1134,7 @@ bool CheckBreakpointsReg () } } - return bStatus; + return bBreakpointHit; } void ClearTempBreakpoints () @@ -1238,7 +1247,7 @@ Update_t CmdBreakpointAddReg (int nArgs) } } - if ((! bHaveSrc) && (! bHaveCmp)) + if ((! bHaveSrc) && (! bHaveCmp)) // Inverted/Convoluted logic: didn't find BOTH this pass, so we must have already found them. { int dArgs = _CmdBreakpointAddCommonArg( iArg, nArgs, iSrc, iCmp ); if (!dArgs) @@ -1393,7 +1402,8 @@ Update_t CmdBreakpointAddPC (int nArgs) //=========================================================================== Update_t CmdBreakpointAddIO (int nArgs) { - return UPDATE_CONSOLE_DISPLAY; + return CmdBreakpointAddMem( nArgs ); +// return UPDATE_BREAKPOINTS | UPDATE_CONSOLE_DISPLAY; } @@ -1590,7 +1600,7 @@ void _BWZ_List( const Breakpoint_t * aBreakWatchZero, const int iBWZ ) //, bool void _BWZ_ListAll( const Breakpoint_t * aBreakWatchZero, const int nMax ) { int iBWZ = 0; - while (iBWZ < MAX_BOOKMARKS) + while (iBWZ < nMax) // { if (aBreakWatchZero[ iBWZ ].bSet) { @@ -1944,7 +1954,7 @@ Update_t CmdTraceFile (int nArgs) char sFilePath[ MAX_PATH ]; - strcpy(sFilePath, g_sCurrentDir); // g_sProgramDir + strcpy(sFilePath, g_sCurrentDir); // TODO: g_sDebugDir strcat(sFilePath, sFileName ); g_hTraceFile = fopen( sFilePath, "wt" ); @@ -2308,7 +2318,7 @@ void ConfigSave_PrepareHeader ( const Parameters_e eCategory, const Commands_e e Update_t CmdConfigSave (int nArgs) { TCHAR sFilename[ MAX_PATH ]; - _tcscpy( sFilename, g_sProgramDir ); // g_sCurrentDir + _tcscpy( sFilename, g_sProgramDir ); // TODO: g_sDebugDir _tcscat( sFilename, g_sFileNameConfig ); /* @@ -3787,7 +3797,7 @@ static Update_t _CmdMemoryDump (int nArgs, int iWhich, int iView ) g_aMemDump[iWhich].bActive = true; g_aMemDump[iWhich].eView = (MemoryView_e) iView; - return UPDATE_ALL; // TODO: This really needed? Don't think we do any actual ouput + return UPDATE_MEM_DUMP; // TODO: This really needed? Don't think we do any actual ouput } //=========================================================================== @@ -3981,6 +3991,22 @@ Update_t CmdMemoryFill (int nArgs) static TCHAR g_sMemoryLoadSaveFileName[ MAX_PATH ] = TEXT(""); +//=========================================================================== +Update_t CmdConfigGetDebugDir (int nArgs) +{ + TCHAR sPath[ MAX_PATH + 8 ] = "Path: "; + _tcscat( sPath, g_sCurrentDir ); // TODO: debugger dir has no ` CONSOLE_COLOR_ESCAPE_CHAR ?!?! + ConsoleBufferPush( sPath ); + + return ConsoleUpdate(); +} + +//=========================================================================== +Update_t CmdConfigSetDebugDir (int nArgs) +{ + return ConsoleUpdate(); +} + //=========================================================================== Update_t CmdMemoryLoad (int nArgs) { @@ -4024,7 +4050,7 @@ Update_t CmdMemoryLoad (int nArgs) return Help_Arg_1( CMD_MEMORY_SAVE ); TCHAR sLoadSaveFilePath[ MAX_PATH ]; - _tcscpy( sLoadSaveFilePath, g_sCurrentDir ); // g_sProgramDir + _tcscpy( sLoadSaveFilePath, g_sCurrentDir ); // TODO: g_sDebugDir WORD nAddressStart; WORD nAddress2 = 0; @@ -4088,9 +4114,9 @@ Update_t CmdMemoryLoad (int nArgs) else { ConsoleBufferPush( TEXT( "ERROR: Bad filename" ) ); - TCHAR sPath[ MAX_PATH + 8 ] = "Path: "; - _tcscat( sPath, g_sCurrentDir ); - ConsoleBufferPush( sPath ); + + CmdConfigGetDebugDir( 0 ); + TCHAR sFile[ MAX_PATH + 8 ] = "File: "; _tcscat( sFile, g_sMemoryLoadSaveFileName ); ConsoleBufferPush( sFile ); @@ -5671,7 +5697,8 @@ Update_t CmdWatchList (int nArgs) } else { - _BWZ_List( g_aWatches, MAX_WATCHES ); +// _BWZ_List( g_aWatches, MAX_WATCHES ); + _BWZ_ListAll( g_aWatches, MAX_WATCHES ); } return ConsoleUpdate(); } @@ -7155,13 +7182,13 @@ void DebugContinueStepping () { if ((regs.pc >= g_nDebugSkipStart) && (regs.pc < (g_nDebugSkipStart + g_nDebugSkipLen))) { - // Enter turbo debugger g_nAppMode -- UI not updated, etc. + // Enter turbo debugger mode -- UI not updated, etc. g_nDebugSteps = -1; g_nAppMode = MODE_STEPPING; } else { - // Enter normal debugger g_nAppMode -- UI updated every instruction, etc. + // Enter normal debugger mode -- UI updated every instruction, etc. g_nDebugSteps = 1; g_nAppMode = MODE_STEPPING; } @@ -7175,12 +7202,9 @@ void DebugContinueStepping () InternalSingleStep(); - bool bBreak = CheckBreakpointsIO(); + _IsDebugBreakpointHit(); // Updates g_bDebugBreakpointHit - if (CheckBreakpointsReg()) - bBreak = true; - - if ((regs.pc == g_nDebugStepUntil) || bBreak) + if ((regs.pc == g_nDebugStepUntil) || g_bDebugBreakpointHit) g_nDebugSteps = 0; else if (g_nDebugSteps > 0) g_nDebugSteps--; @@ -7190,7 +7214,7 @@ void DebugContinueStepping () { if (!((++nStepsTaken) & 0xFFFF)) { - if (nStepsTaken == 0x10000) + if (nStepsTaken == 0x10000) // HACK_MAGIC_NUM VideoRedrawScreen(); else VideoRefreshScreen(); @@ -7202,32 +7226,11 @@ void DebugContinueStepping () FrameRefreshStatus(DRAW_TITLE); // BUG: PageUp, Trace - doesn't center cursor -// if ((g_nDebugStepStart < regs.pc) && (g_nDebugStepStart+3 >= regs.pc)) - // Still within current disasm "window"? -/* - if ((regs.pc >= g_nDisasmTopAddress) && (regs.pc <= g_nDisasmBotAddress)) - { - int eMode = g_aOpcodes[*(mem+g_nDisasmCurAddress)].addrmode; - int nBytes = g_aOpmodes[ eMode ]._nBytes; - g_nDisasmCurAddress += nBytes; -// g_nDisasmTopAddress += nBytes; -// g_nDisasmBotAddress += nBytes; - } - else -*/ - { - g_nDisasmCurAddress = regs.pc; - } + g_nDisasmCurAddress = regs.pc; DisasmCalcTopBotAddress(); -// g_nDisasmCurAddress += g_aOpmodes[g_aOpcodes[*(mem+g_nDisasmCurAddress)].addrmode]._nBytes; -// DisasmCalcTopBotAddress(); - Update_t bUpdate = UPDATE_ALL; -// if (nStepsTaken >= 0x10000) // HACK_MAGIC_NUM -// bUpdate = UPDATE_ALL; - UpdateDisplay( bUpdate ); // nStepsTaken >= 0x10000); nStepsTaken = 0; } @@ -7284,6 +7287,8 @@ void DebugEnd () } g_vMemorySearchResults.erase( g_vMemorySearchResults.begin(), g_vMemorySearchResults.end() ); + + g_nAppMode = MODE_RUNNING; } diff --git a/source/Debugger/Debug.h b/source/Debugger/Debug.h index f2218269..78f07f0b 100644 --- a/source/Debugger/Debug.h +++ b/source/Debugger/Debug.h @@ -30,16 +30,33 @@ using namespace std; // extern vector g_aBookmarks; // Breakpoints + enum BreakpointHit_t + { + BP_HIT_NONE = 0 + ,BP_HIT_INVALID = (1 << 0) + ,BP_HIT_OPCODE = (1 << 1) + ,BP_HIT_REG = (1 << 2) + ,BP_HIT_MEM = (1 << 3) + }; + extern int g_nBreakpoints; extern Breakpoint_t g_aBreakpoints[ MAX_BREAKPOINTS ]; extern const char *g_aBreakpointSource [ NUM_BREAKPOINT_SOURCES ]; extern const TCHAR *g_aBreakpointSymbols[ NUM_BREAKPOINT_OPERATORS ]; - // Full-Speed debugging - extern int g_nDebugOnBreakInvalid; - extern int g_iDebugOnOpcode ; - extern bool g_bDebugDelayBreakCheck; + // MODE_RUNNING // Normal Speed Breakpoints + extern bool g_bDebugNormalSpeedBreakpoints; + + // MODE_STEPPING // Full Speed Breakpoints + + // Any Speed Breakpoints + extern int g_nDebugBreakOnInvalid ; + extern int g_iDebugBreakOnOpcode ; + + // Breakpoint Status + extern bool g_bDebugBreakDelayCheck; + extern int g_bDebugBreakpointHit ; // Commands void VerifyDebuggerCommandTable(); @@ -133,23 +150,69 @@ using namespace std; bool Bookmark_Find( const WORD nAddress ); // Breakpoints + int CheckBreakpointsIO (); + int CheckBreakpointsReg (); + bool GetBreakpointInfo ( WORD nOffset, bool & bBreakpointActive_, bool & bBreakpointEnable_ ); - // 0 = Brk, 1 = Invalid1, .. 3 = Invalid 3 - inline bool IsDebugBreakOnInvalid( int iOpcodeType ) + inline int _IsDebugBreakpointHit() { - bool bActive = (g_nDebugOnBreakInvalid >> iOpcodeType) & 1; - return bActive; + g_bDebugBreakpointHit |= CheckBreakpointsIO() || CheckBreakpointsReg(); + return g_bDebugBreakpointHit; } + inline int _IsDebugBreakOnOpcode( int iOpcode ) + { + if (g_iDebugBreakOnOpcode == iOpcode) + g_bDebugBreakpointHit |= BP_HIT_OPCODE; + return g_bDebugBreakpointHit; + } + + // iOpcodeType = AM_IMPLIED (BRK), AM_1, AM_2, AM_3 + inline int IsDebugBreakOnInvalid( int iOpcodeType ) + { + g_bDebugBreakpointHit |= ((g_nDebugBreakOnInvalid >> iOpcodeType) & 1) ? BP_HIT_INVALID : 0; + return g_bDebugBreakpointHit; + } + + // iOpcodeType = AM_IMPLIED (BRK), AM_1, AM_2, AM_3 inline void SetDebugBreakOnInvalid( int iOpcodeType, int nValue ) { if (iOpcodeType <= AM_3) { - g_nDebugOnBreakInvalid &= ~ ( 1 << iOpcodeType); - g_nDebugOnBreakInvalid |= ((nValue & 1) << iOpcodeType); + g_nDebugBreakOnInvalid &= ~ ( 1 << iOpcodeType); + g_nDebugBreakOnInvalid |= ((nValue & 1) << iOpcodeType); } } + + // + // CPU checks the Debugger breakpoints + // a) at opcode fetch + // b) after opcode execution + // + inline int IsDebugBreakOpcode( int iOpcode ) + { + if (g_bDebugBreakDelayCheck) + { + g_bDebugBreakDelayCheck = false; + return false; + } + + if (! iOpcode ) + IsDebugBreakOnInvalid( AM_IMPLIED ); + + if (g_iDebugBreakOnOpcode ) // User wants to enter debugger on specific opcode? + _IsDebugBreakOnOpcode(iOpcode); + + return g_bDebugBreakpointHit; + } + // + inline int IsDebugBreakpointHit() + { + if ( !g_bDebugNormalSpeedBreakpoints ) + return false; + return _IsDebugBreakpointHit(); + } // Source Level Debugging int FindSourceLine( WORD nAddress ); diff --git a/source/Frame.cpp b/source/Frame.cpp index eccbe010..e25c7689 100644 --- a/source/Frame.cpp +++ b/source/Frame.cpp @@ -1530,7 +1530,7 @@ void ProcessButtonClick (int button) else if (g_nAppMode == MODE_DEBUG) { - g_bDebugDelayBreakCheck = true; + //g_bDebugDelayBreakCheck = true; ProcessButtonClick(BTN_RUN); // TODO: DD Full-Screen Palette