From 4ef0416e26b20743f170d71d2c48d49f3e2a0a93 Mon Sep 17 00:00:00 2001 From: stephena Date: Tue, 20 Aug 2013 14:29:28 +0000 Subject: [PATCH] When loading symbol files, strip leading numbers from names using the number.name convention (which seem to be pass #'s for DASM). Initially having this info in Stella was simply visually inconsistent, but now it also interferes with recompiling when saving the disassembly (IOW, the data put into the symbol file by DASM can't be fed back into DASM again in these cases). git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2803 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba --- Changes.txt | 18 ++++++++++++++---- src/debugger/CartDebug.cxx | 8 +++++++- 2 files changed, 21 insertions(+), 5 deletions(-) diff --git a/Changes.txt b/Changes.txt index 96f916d6c..e9611cebf 100644 --- a/Changes.txt +++ b/Changes.txt @@ -18,13 +18,19 @@ and old state files will not work with this release. * Several bugfixes and improvements to the debugger: + - Improved display of debugger when using larger video modes. There + are now three font sizes, which are automatically selected when + the debugger is sized accordingly. When using larger fonts, the + space is now used more efficiently. + - Fixed bug in disassembly when the mirror used for the current PC didn't match the mirror for the current bank. In this case, the disassembler became confused and didn't properly track the PC address. - - Fixed bug in display of current TIA frame in the UI; depending on - how breakpoints were set, it was sometimes off by one. + - Fixed bug in display of current TIA frame number in the UI; + depending on how breakpoints were set, it was sometimes off by + one. - Fixed RAM widget Search/Compare textboxes; entering any data and then pressing 'Enter' / clicking 'OK' locked the UI until exiting @@ -53,7 +59,8 @@ - Removed 'loadsym' command from the debugger prompt, since the DASM symbol file is always loaded anyway, making the command - redundant. + redundant. Related to this, fixed loading symbols with + ###.name convention; the leading number is now stripped. - Added support for DASM lst files (created with the -l option). For now, the contents are only partially used, to detect @@ -64,7 +71,10 @@ background pixels as either blanked or with the underlying object colour, instead of always being black. This gives a more accurate representation of how the registers are actually drawn onscreen. - Thanks to Tjoppen of AtariAge for this idea and the actual code. + Thanks to Tjoppen of AtariAge for this idea and sample code. + + - The 'Source Address' locations for the CPU registers now show + labels when appropriate. * Renamed 'Override properties' dialog (accessible from the ROM launcher by a right-mouse-button click) to 'Power-on options', with diff --git a/src/debugger/CartDebug.cxx b/src/debugger/CartDebug.cxx index 5cb3e2b26..d4ff86030 100644 --- a/src/debugger/CartDebug.cxx +++ b/src/debugger/CartDebug.cxx @@ -828,7 +828,13 @@ string CartDebug::loadSymbolFile() // For now, we simply ignore constants completely AddrToLabel::const_iterator iter = myUserCLabels.find(value); if(iter == myUserCLabels.end() || !BSPF_equalsIgnoreCase(label, iter->second)) - addLabel(label, value); + { + // Check for period, and strip leading number + if(string::size_type pos = label.find_first_of(".", 0) != string::npos) + addLabel(label.substr(pos), value); + else + addLabel(label, value); + } } } in.close();