mirror of
https://github.com/AppleWin/AppleWin.git
synced 2025-02-22 10:28:59 +00:00
Debugger: Cleanup DISASM_DISPLAY_ enums
This commit is contained in:
parent
ca1bea3b97
commit
7c4855e631
@ -205,7 +205,7 @@ int GetDisassemblyLine(WORD nBaseAddress, DisasmLine_t& line_)
|
|||||||
if ((iOpmode == AM_AY) || (iOpmode == AM_ZY) || (iOpmode == AM_NZY))
|
if ((iOpmode == AM_AY) || (iOpmode == AM_ZY) || (iOpmode == AM_NZY))
|
||||||
line_.bTargetY = true; // ,Y
|
line_.bTargetY = true; // ,Y
|
||||||
|
|
||||||
unsigned int nMinBytesLen = (MAX_OPCODES * (2 + g_bConfigDisasmOpcodeSpaces)); // 2 char for byte (or 3 with space)
|
unsigned int nMinBytesLen = (DISASM_DISPLAY_MAX_OPCODES * (2 + g_bConfigDisasmOpcodeSpaces)); // 2 char for byte (or 3 with space)
|
||||||
|
|
||||||
int bDisasmFormatFlags = 0;
|
int bDisasmFormatFlags = 0;
|
||||||
|
|
||||||
@ -448,8 +448,8 @@ void FormatOpcodeBytes(WORD nBaseAddress, DisasmLine_t& line_)
|
|||||||
|
|
||||||
char* pDst = line_.sOpCodes;
|
char* pDst = line_.sOpCodes;
|
||||||
int nMaxOpBytes = nOpbyte;
|
int nMaxOpBytes = nOpbyte;
|
||||||
if (nMaxOpBytes > MAX_OPCODES) // 2.8.0.0 fix // TODO: FIX: show max 8 bytes for HEX
|
if (nMaxOpBytes > DISASM_DISPLAY_MAX_OPCODES) // 2.8.0.0 fix // TODO: FIX: show max 8 bytes for HEX
|
||||||
nMaxOpBytes = MAX_OPCODES;
|
nMaxOpBytes = DISASM_DISPLAY_MAX_OPCODES;
|
||||||
|
|
||||||
for (int iByte = 0; iByte < nMaxOpBytes; iByte++)
|
for (int iByte = 0; iByte < nMaxOpBytes; iByte++)
|
||||||
{
|
{
|
||||||
@ -522,10 +522,10 @@ void FormatNopcodeBytes(WORD nBaseAddress, DisasmLine_t& line_)
|
|||||||
iByte = line_.nOpbyte; // handle all bytes of text
|
iByte = line_.nOpbyte; // handle all bytes of text
|
||||||
pSrc = (const char*)mem + nStartAddress;
|
pSrc = (const char*)mem + nStartAddress;
|
||||||
|
|
||||||
if (len > (MAX_IMMEDIATE_LEN - 2)) // does "text" fit?
|
if (len > (DISASM_DISPLAY_MAX_IMMEDIATE_LEN - 2)) // does "text" fit?
|
||||||
{
|
{
|
||||||
if (len > MAX_IMMEDIATE_LEN) // no; need extra characters for ellipsis?
|
if (len > DISASM_DISPLAY_MAX_IMMEDIATE_LEN) // no; need extra characters for ellipsis?
|
||||||
len = (MAX_IMMEDIATE_LEN - 3); // ellipsis = true
|
len = (DISASM_DISPLAY_MAX_IMMEDIATE_LEN - 3); // ellipsis = true
|
||||||
|
|
||||||
// DISPLAY: text_longer_18...
|
// DISPLAY: text_longer_18...
|
||||||
FormatCharCopy(pDst, pSrc, len); // BUG: #251 v2.8.0.7: ASC #:# with null byte doesn't mark up properly
|
FormatCharCopy(pDst, pSrc, len); // BUG: #251 v2.8.0.7: ASC #:# with null byte doesn't mark up properly
|
||||||
|
@ -1638,13 +1638,13 @@ WORD DrawDisassemblyLine ( int iLine, const WORD nBaseAddress )
|
|||||||
// SYM COPY.FAC.TO.ARG.ROUNDED = EB63
|
// SYM COPY.FAC.TO.ARG.ROUNDED = EB63
|
||||||
// If opcodes aren't showing then length can be longer!
|
// If opcodes aren't showing then length can be longer!
|
||||||
// FormatOpcodeBytes() uses 3 chars/MAX_OPCODES. i.e. "## "
|
// FormatOpcodeBytes() uses 3 chars/MAX_OPCODES. i.e. "## "
|
||||||
int nMaxLen = MAX_TARGET_LEN;
|
int nMaxLen = DISASM_DISPLAY_MAX_TARGET_LEN;
|
||||||
|
|
||||||
// 2.8.0.8: Bug #227: AppleSoft symbol: COPY.FAC.TO.ARG.ROUNDED overflows into registers
|
// 2.8.0.8: Bug #227: AppleSoft symbol: COPY.FAC.TO.ARG.ROUNDED overflows into registers
|
||||||
if ( !g_bConfigDisasmAddressView )
|
if ( !g_bConfigDisasmAddressView )
|
||||||
nMaxLen += 4;
|
nMaxLen += 4;
|
||||||
if ( !g_bConfigDisasmOpcodesView )
|
if ( !g_bConfigDisasmOpcodesView )
|
||||||
nMaxLen += (MAX_OPCODES*3);
|
nMaxLen += (DISASM_DISPLAY_MAX_OPCODES*3);
|
||||||
|
|
||||||
// 2.9.0.9 Continuation of 2.8.0.8: Fix overflowing disassembly pane for long symbols
|
// 2.9.0.9 Continuation of 2.8.0.8: Fix overflowing disassembly pane for long symbols
|
||||||
int nOverflow = 0;
|
int nOverflow = 0;
|
||||||
|
@ -563,7 +563,7 @@ int ParseSymbolTable(const std::string & pPathFileName, SymbolTable_Index_e eSym
|
|||||||
char sText[ CONSOLE_WIDTH * 3 ];
|
char sText[ CONSOLE_WIDTH * 3 ];
|
||||||
bool bFileDisplayed = false;
|
bool bFileDisplayed = false;
|
||||||
|
|
||||||
const int nMaxLen = MIN(MAX_TARGET_LEN,MAX_SYMBOLS_LEN);
|
const int nMaxLen = MIN(DISASM_DISPLAY_MAX_TARGET_LEN, MAX_SYMBOLS_LEN);
|
||||||
|
|
||||||
int nSymbolsLoaded = 0;
|
int nSymbolsLoaded = 0;
|
||||||
|
|
||||||
|
@ -929,13 +929,13 @@
|
|||||||
, NUM_DISASM_TARGET_TYPES
|
, NUM_DISASM_TARGET_TYPES
|
||||||
};
|
};
|
||||||
|
|
||||||
enum DisasmDisplay_e // TODO: Prefix enums with DISASM_DISPLAY_
|
enum DisasmDisplay_e
|
||||||
{
|
{
|
||||||
MAX_ADDRESS_LEN = 40,
|
DISASM_DISPLAY_MAX_ADDRESS_LEN = 40,
|
||||||
MAX_OPCODES = 3, // only display 3 opcode bytes -- See FormatOpcodeBytes() // TODO: FIX when showing data hex
|
DISASM_DISPLAY_MAX_OPCODES = 3, // only display 3 opcode bytes -- See FormatOpcodeBytes() // TODO: FIX when showing data hex
|
||||||
CHARS_FOR_ADDRESS = 8, // 4 digits + end-of-string + padding
|
DISASM_DISPLAY_CHARS_FOR_ADDRESS = 8, // 4 digits + end-of-string + padding
|
||||||
MAX_IMMEDIATE_LEN = 20, // Data Disassembly
|
DISASM_DISPLAY_MAX_IMMEDIATE_LEN = 20, // Data Disassembly
|
||||||
MAX_TARGET_LEN = MAX_IMMEDIATE_LEN, // Debugger Display: pTarget = line.sTarget
|
DISASM_DISPLAY_MAX_TARGET_LEN = DISASM_DISPLAY_MAX_IMMEDIATE_LEN, // Debugger Display: pTarget = line.sTarget
|
||||||
};
|
};
|
||||||
|
|
||||||
struct DisasmLine_t
|
struct DisasmLine_t
|
||||||
@ -944,8 +944,8 @@
|
|||||||
short iOpmode;
|
short iOpmode;
|
||||||
int nOpbyte;
|
int nOpbyte;
|
||||||
|
|
||||||
char sAddress [ CHARS_FOR_ADDRESS ];
|
char sAddress [ DISASM_DISPLAY_CHARS_FOR_ADDRESS ];
|
||||||
char sOpCodes [(MAX_OPCODES*3)+1];
|
char sOpCodes [(DISASM_DISPLAY_MAX_OPCODES*3)+1];
|
||||||
|
|
||||||
// Added for Data Disassembler
|
// Added for Data Disassembler
|
||||||
char sLabel [ MAX_SYMBOLS_LEN+1 ]; // label is a symbol
|
char sLabel [ MAX_SYMBOLS_LEN+1 ]; // label is a symbol
|
||||||
@ -959,14 +959,13 @@ const DisasmData_t* pDisasmData; // If != NULL then bytes are marked up as data
|
|||||||
//
|
//
|
||||||
|
|
||||||
int nTarget; // address -> string
|
int nTarget; // address -> string
|
||||||
char sTarget [ MAX_ADDRESS_LEN ];
|
char sTarget [ DISASM_DISPLAY_MAX_ADDRESS_LEN ];
|
||||||
|
|
||||||
char sTargetOffset[ CHARS_FOR_ADDRESS ]; // +/- 255, realistically +/-1
|
char sTargetOffset[ DISASM_DISPLAY_CHARS_FOR_ADDRESS ]; // +/- 255, realistically +/-1
|
||||||
int nTargetOffset;
|
int nTargetOffset;
|
||||||
|
|
||||||
char sTargetPointer[ CHARS_FOR_ADDRESS ];
|
char sTargetPointer[ DISASM_DISPLAY_CHARS_FOR_ADDRESS ];
|
||||||
char sTargetValue [ CHARS_FOR_ADDRESS ];
|
char sTargetValue [ DISASM_DISPLAY_CHARS_FOR_ADDRESS ];
|
||||||
// char sTargetAddress[ CHARS_FOR_ADDRESS ];
|
|
||||||
|
|
||||||
int iTargetTable; // Which symbol table this appears in if any. See: SYMBOLS_USER_2, DrawDisassemblyLine(), GetDisassemblyLine(), FindSymbolFromAddress()
|
int iTargetTable; // Which symbol table this appears in if any. See: SYMBOLS_USER_2, DrawDisassemblyLine(), GetDisassemblyLine(), FindSymbolFromAddress()
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user