From f432cdc78abbb00074341824fd4b2b248f5d8a55 Mon Sep 17 00:00:00 2001 From: Michael Pavone Date: Fri, 31 Mar 2017 19:11:04 -0700 Subject: Allow adding .w or .b to select just the low word or byte of a register in a 68K debugger print command --- debug.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'debug.c') diff --git a/debug.c b/debug.c index 1832fe2..ceb439c 100644 --- a/debug.c +++ b/debug.c @@ -108,8 +108,22 @@ void debugger_print(m68k_context *context, char format_char, char *param) } if (param[0] == 'd' && param[1] >= '0' && param[1] <= '7') { value = context->dregs[param[1]-'0']; + if (param[2] == '.') { + if (param[3] == 'w') { + value &= 0xFFFF; + } else if (param[3] == 'b') { + value &= 0xFF; + } + } } else if (param[0] == 'a' && param[1] >= '0' && param[1] <= '7') { value = context->aregs[param[1]-'0']; + if (param[2] == '.') { + if (param[3] == 'w') { + value &= 0xFFFF; + } else if (param[3] == 'b') { + value &= 0xFF; + } + } } else if (param[0] == 'S' && param[1] == 'R') { value = (context->status << 8); for (int flag = 0; flag < 5; flag++) { -- cgit v1.2.3