diff options
author | Michael Pavone <pavone@retrodev.com> | 2017-03-31 19:11:04 -0700 |
---|---|---|
committer | Michael Pavone <pavone@retrodev.com> | 2017-03-31 19:11:04 -0700 |
commit | f432cdc78abbb00074341824fd4b2b248f5d8a55 (patch) | |
tree | 9140e82b17ce6fd4d8d9cd2d9fc38765cd5b9a5b | |
parent | 00fcc8fe1721094606844abfd0e43819a512a984 (diff) |
Allow adding .w or .b to select just the low word or byte of a register in a 68K debugger print command
-rw-r--r-- | debug.c | 14 |
1 files changed, 14 insertions, 0 deletions
@@ -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++) { |