Debugger: 2.9.1.0 Bookmarks now have their own indicator

This commit is contained in:
michaelangel007 2020-05-19 08:37:15 -07:00
parent dfbb63934c
commit 2b9adac338
4 changed files with 31 additions and 19 deletions

View File

@ -1,4 +1,11 @@
/* /*
2.9.1.0 Added: Bookmarks now have their own indicator (a number with a box around it) and replace the ":" seperator. Updated Debug_Font.bmp
.18 Fixed: Resetting bookmarks wasn't setting the total bookmarks back to zero.
.17 Fixed: If all bookmarks were used then setting a new one wouldn't update an existing one to the new address.
.16 Fixed: Replacing an existing bookmark incorrectly increased the total bookmark count.
.15 Cleanup: HELP CALC examples and See also. .15 Cleanup: HELP CALC examples and See also.
.14 Fixed: HELP JSR wasn't color-coding syntax. .14 Fixed: HELP JSR wasn't color-coding syntax.
.13 Added: PROFILE LIST now shows how many clock cycles were executed. .13 Added: PROFILE LIST now shows how many clock cycles were executed.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 42 KiB

View File

@ -50,7 +50,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#define ALLOW_INPUT_LOWERCASE 1 #define ALLOW_INPUT_LOWERCASE 1
// See /docs/Debugger_Changelog.txt for full details // See /docs/Debugger_Changelog.txt for full details
const int DEBUGGER_VERSION = MAKE_VERSION(2,9,0,15); const int DEBUGGER_VERSION = MAKE_VERSION(2,9,1,0);
// Public _________________________________________________________________________________________ // Public _________________________________________________________________________________________

View File

@ -622,7 +622,7 @@ void DebuggerSetColorBG( COLORREF nRGB, bool bTransparent )
// @param glyph Specifies a native glyph from the 16x16 chars Apple Font Texture. // @param glyph Specifies a native glyph from the 16x16 chars Apple Font Texture.
//=========================================================================== //===========================================================================
void PrintGlyph( const int x, const int y, const char glyph ) void PrintGlyph( const int x, const int y, const int glyph )
{ {
HDC hDstDC = GetDebuggerMemDC(); HDC hDstDC = GetDebuggerMemDC();
@ -1935,7 +1935,7 @@ WORD DrawDisassemblyLine ( int iLine, const WORD nBaseAddress )
bool bBreakpointEnable; bool bBreakpointEnable;
GetBreakpointInfo( nBaseAddress, bBreakpointActive, bBreakpointEnable ); GetBreakpointInfo( nBaseAddress, bBreakpointActive, bBreakpointEnable );
bool bAddressAtPC = (nBaseAddress == regs.pc); bool bAddressAtPC = (nBaseAddress == regs.pc);
bool bAddressIsBookmark = Bookmark_Find( nBaseAddress ); int bAddressIsBookmark = Bookmark_Find( nBaseAddress );
DebugColors_e iBackground = BG_DISASM_1; DebugColors_e iBackground = BG_DISASM_1;
DebugColors_e iForeground = FG_DISASM_MNEMONIC; // FG_DISASM_TEXT; DebugColors_e iForeground = FG_DISASM_MNEMONIC; // FG_DISASM_TEXT;
@ -2005,16 +2005,8 @@ WORD DrawDisassemblyLine ( int iLine, const WORD nBaseAddress )
} }
} }
if (bAddressIsBookmark) DebuggerSetColorBG( DebuggerGetColor( iBackground ) );
{ DebuggerSetColorFG( DebuggerGetColor( iForeground ) );
DebuggerSetColorBG( DebuggerGetColor( BG_DISASM_BOOKMARK ) );
DebuggerSetColorFG( DebuggerGetColor( FG_DISASM_BOOKMARK ) );
}
else
{
DebuggerSetColorBG( DebuggerGetColor( iBackground ) );
DebuggerSetColorFG( DebuggerGetColor( iForeground ) );
}
// Address // Address
if (! bCursorLine) if (! bCursorLine)
@ -2030,18 +2022,31 @@ WORD DrawDisassemblyLine ( int iLine, const WORD nBaseAddress )
PrintTextCursorX( (LPCTSTR) line.sAddress, linerect ); PrintTextCursorX( (LPCTSTR) line.sAddress, linerect );
} }
if (bAddressIsBookmark)
{
DebuggerSetColorBG( DebuggerGetColor( iBackground ) );
DebuggerSetColorFG( DebuggerGetColor( iForeground ) );
}
// Address Seperator // Address Seperator
if (! bCursorLine) if (! bCursorLine)
DebuggerSetColorFG( DebuggerGetColor( FG_DISASM_OPERATOR ) ); DebuggerSetColorFG( DebuggerGetColor( FG_DISASM_OPERATOR ) );
if (g_bConfigDisasmAddressColon) if (g_bConfigDisasmAddressColon)
PrintTextCursorX( ":", linerect ); {
if (bAddressIsBookmark)
{
DebuggerSetColorBG( DebuggerGetColor( BG_DISASM_BOOKMARK ) );
DebuggerSetColorFG( DebuggerGetColor( FG_DISASM_BOOKMARK ) );
// Can't use PrintTextCursorX() as that clamps chars > 0x7F to Mouse Text
// char bookmark_text[2] = { 0x7F + bAddressIsBookmark, 0 };
// PrintTextCursorX( bookmark_text, linerect );
FillRect( GetDebuggerMemDC(), &linerect, g_hConsoleBrushBG );
PrintGlyph( linerect.left, linerect.top, 0x7F + bAddressIsBookmark ); // Glyphs 0x80 .. 0x89 = Unicode U+24EA, U+2460 .. U+2468
linerect.left += g_aFontConfig[ FONT_DISASM_DEFAULT ]._nFontWidthAvg;
DebuggerSetColorBG( DebuggerGetColor( iBackground ) );
DebuggerSetColorFG( DebuggerGetColor( iForeground ) );
}
else
PrintTextCursorX( ":", linerect );
}
else else
PrintTextCursorX( " ", linerect ); // bugfix, not showing "addr:" doesn't alternate color lines PrintTextCursorX( " ", linerect ); // bugfix, not showing "addr:" doesn't alternate color lines