add toggle to show unlogged bytes as data

This commit is contained in:
warmCabin 2022-08-23 03:40:30 -04:00
parent e92e84d60f
commit 7321ee3db1
3 changed files with 14 additions and 1 deletions

View File

@ -76,6 +76,7 @@ bool debuggerIDAFont = false;
unsigned int IDAFontSize = 16;
bool debuggerDisplayROMoffsets = false;
bool debuggerShowTraceInfo = true;
bool debuggerUnloggedBytesAsData = false;
static wchar_t* debug_wstr;
static char* debug_cdl_str;
@ -638,7 +639,12 @@ bool IsData(unsigned int addr)
{
unsigned int romAddr = GetNesFileAddress(addr) - 16; // minus iNES header
if (romAddr >= 0 && romAddr < cdloggerdataSize)
return (cdloggerdata[romAddr] & 3) == 2; // Data only
{
uint8 cdlData = cdloggerdata[romAddr] & 3;
return cdlData == 0
? debuggerUnloggedBytesAsData
: cdlData == 2; // Only data, not code
}
}
return false;
}
@ -1726,6 +1732,7 @@ inline void UpdateOptionsPopup(HMENU optionsPopup)
CheckMenuItem(optionsPopup, ID_DEBUGGER_IDA_FONT, CheckedFlag(debuggerIDAFont));
CheckMenuItem(optionsPopup, ID_DEBUGGER_SHOW_ROM_OFFSETS, CheckedFlag(debuggerDisplayROMoffsets));
CheckMenuItem(optionsPopup, ID_DEBUGGER_SHOW_TRACE_INFO, CheckedFlag(debuggerShowTraceInfo));
CheckMenuItem(optionsPopup, ID_DEBUGGER_UNLOGGED_AS_DATA, CheckedFlag(debuggerUnloggedBytesAsData));
CheckMenuItem(optionsPopup, ID_DEBUGGER_BREAK_BAD_OPCODES, CheckedFlag(FCEUI_Debugger().badopbreak));
CheckMenuItem(optionsPopup, ID_DEBUGGER_BREAK_UNLOGGED_CODE, CheckedFlag(break_on_unlogged_code));
CheckMenuItem(optionsPopup, ID_DEBUGGER_BREAK_UNLOGGED_DATA, CheckedFlag(break_on_unlogged_data));
@ -2000,6 +2007,10 @@ void DebuggerBnClicked(HWND hwndDlg, uint16 btnId, HWND hwndBtn)
debuggerShowTraceInfo ^= 1;
UpdateDebugger(false);
break;
case ID_DEBUGGER_UNLOGGED_AS_DATA:
debuggerUnloggedBytesAsData ^= 1;
UpdateDebugger(false);
break;
case ID_DEBUGGER_SHOW_ROM_OFFSETS:
debuggerDisplayROMoffsets ^= 1;
UpdateDebugger(false);

View File

@ -3045,6 +3045,7 @@ BEGIN
MENUITEM "IDA Font", ID_DEBUGGER_IDA_FONT, CHECKED
MENUITEM "ROM Offsets", ID_DEBUGGER_SHOW_ROM_OFFSETS, CHECKED
MENUITEM "Show Trace Info", ID_DEBUGGER_SHOW_TRACE_INFO, CHECKED
MENUITEM "Show Unlogged Bytes as Data" ID_DEBUGGER_UNLOGGED_AS_DATA, CHECKED
MENUITEM SEPARATOR
MENUITEM "Break on Unofficial Opcodes", ID_DEBUGGER_BREAK_BAD_OPCODES, CHECKED
MENUITEM "Break on Unlogged Code", ID_DEBUGGER_BREAK_UNLOGGED_CODE, CHECKED

View File

@ -1219,6 +1219,7 @@
#define ID_DEBUGGER_BREAK_UNLOGGED_CODE 45555
#define ID_DEBUGGER_BREAK_UNLOGGED_DATA 45556
#define IDR_DEBUGGER_ACCELERATOR 45557
#define ID_DEBUGGER_UNLOGGED_AS_DATA 45558
#define MW_VALUELABEL2 65423
#define MW_VALUELABEL1 65426
#define IDC_STATIC_SLASHTEXT 65442