mirror of
https://github.com/AppleWin/AppleWin.git
synced 2024-12-31 21:29:39 +00:00
Debugger: Bugfix #479
This commit is contained in:
parent
0fef6516f4
commit
eed603f116
@ -1,4 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
|
.9 Continuation of 2.8.0.8: Fix overflowing disassembly pane for long symbols
|
||||||
.8 Fixed: Inactive Language Card bank now grayed out, main memory no longer double inverse.
|
.8 Fixed: Inactive Language Card bank now grayed out, main memory no longer double inverse.
|
||||||
.7 Fixed: Memory softswitches are now in chronological order, and their background is a dark grey
|
.7 Fixed: Memory softswitches are now in chronological order, and their background is a dark grey
|
||||||
.6 Added: Read/Write for Main/Aux memory now shown
|
.6 Added: Read/Write for Main/Aux memory now shown
|
||||||
|
@ -49,7 +49,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,8);
|
const int DEBUGGER_VERSION = MAKE_VERSION(2,9,0,9);
|
||||||
|
|
||||||
|
|
||||||
// Public _________________________________________________________________________________________
|
// Public _________________________________________________________________________________________
|
||||||
|
@ -2129,12 +2129,53 @@ WORD DrawDisassemblyLine ( int iLine, const WORD nBaseAddress )
|
|||||||
if ( !g_bConfigDisasmOpcodesView )
|
if ( !g_bConfigDisasmOpcodesView )
|
||||||
nMaxLen += (MAX_OPCODES*3);
|
nMaxLen += (MAX_OPCODES*3);
|
||||||
|
|
||||||
if( nLen >= nMaxLen )
|
// 2.9.0.9 Continuation of 2.8.0.8: Fix overflowing disassembly pane for long symbols
|
||||||
|
int nOverflow = 0;
|
||||||
|
if (bDisasmFormatFlags & DISASM_FORMAT_OFFSET)
|
||||||
|
{
|
||||||
|
if (line.nTargetOffset != 0)
|
||||||
|
nOverflow++;
|
||||||
|
|
||||||
|
nOverflow += strlen( line.sTargetOffset );
|
||||||
|
}
|
||||||
|
|
||||||
|
if (line.bTargetIndirect || line.bTargetX || line.bTargetY)
|
||||||
|
{
|
||||||
|
if (line.bTargetX)
|
||||||
|
nOverflow += 2;
|
||||||
|
else
|
||||||
|
if ((line.bTargetY) && (! line.bTargetIndirect))
|
||||||
|
nOverflow += 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (line.bTargetIndexed || line.bTargetIndirect)
|
||||||
|
nOverflow++;
|
||||||
|
|
||||||
|
if (line.bTargetIndexed)
|
||||||
|
{
|
||||||
|
if (line.bTargetY)
|
||||||
|
nOverflow += 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (bDisasmFormatFlags & DISASM_FORMAT_TARGET_POINTER)
|
||||||
|
{
|
||||||
|
nOverflow += strlen( line.sTargetPointer ); // '####'
|
||||||
|
nOverflow ++ ; // ':'
|
||||||
|
nOverflow += 2; // '##'
|
||||||
|
nOverflow ++ ; // ' '
|
||||||
|
}
|
||||||
|
|
||||||
|
if (bDisasmFormatFlags & DISASM_FORMAT_CHAR)
|
||||||
|
{
|
||||||
|
nOverflow += strlen( line.sImmediate );
|
||||||
|
}
|
||||||
|
|
||||||
|
if (nLen >= (nMaxLen - nOverflow))
|
||||||
{
|
{
|
||||||
#if _DEBUG
|
#if _DEBUG
|
||||||
// TODO: Warn on import about long symbol/target names
|
// TODO: Warn on import about long symbol/target names
|
||||||
#endif
|
#endif
|
||||||
pTarget[ nMaxLen ] = 0;
|
pTarget[ nMaxLen - nOverflow ] = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: FIXME: 2.8.0.7: Allow ctrl characters to show as inverse; i.e. ASC 400:40F
|
// TODO: FIXME: 2.8.0.7: Allow ctrl characters to show as inverse; i.e. ASC 400:40F
|
||||||
|
Loading…
Reference in New Issue
Block a user