"(z),Y" addressing incorrectly shown as "(z,Y)" in debugger

This commit is contained in:
TheRealQuantam 2024-04-16 18:15:22 -07:00
parent f71b912afb
commit fa6e4411dd
1 changed files with 17 additions and 5 deletions

View File

@ -164,13 +164,11 @@ int DisassembleWithDebug(int addr, uint8_t *opcode, int flags, char *str, debugS
case 0xE1: chr = "SBC"; goto _indirectx; case 0xE1: chr = "SBC"; goto _indirectx;
_indirectx: _indirectx:
indirectX(tmp); indirectX(tmp);
indReg = 'X';
_indirect:
if ( symDebugEnable ) if ( symDebugEnable )
sym = replaceSymbols( flags, tmp, stmp ); sym = replaceSymbols( flags, tmp, stmp );
sb << chr << " (" << sb_addr(opcode[1], 2) << ',' << indReg << ')'; sb << chr << " (" << sb_addr(opcode[1], 2) << ",X)";
if (showTrace) if (showTrace)
{ {
@ -315,9 +313,23 @@ int DisassembleWithDebug(int addr, uint8_t *opcode, int flags, char *str, debugS
case 0xF1: chr = "SBC"; goto _indirecty; case 0xF1: chr = "SBC"; goto _indirecty;
_indirecty: _indirecty:
indirectY(tmp); indirectY(tmp);
indReg = 'Y';
goto _indirect; if (symDebugEnable)
sym = replaceSymbols(flags, tmp, stmp);
sb << chr << " (" << sb_addr(opcode[1], 2) << "),Y";
if (showTrace)
{
sb << " @ ";
if (symDebugEnable)
sb << stmp;
else
sb << sb_addr(tmp);
sb << " = " << sb_lit(GetMem(tmp));
}
break;
//Zero Page,X //Zero Page,X
case 0x15: chr = "ORA"; goto _zeropagex; case 0x15: chr = "ORA"; goto _zeropagex;