diff options
-rw-r--r-- | debug.c | 6 | ||||
-rw-r--r-- | gdb_remote.c | 4 |
2 files changed, 10 insertions, 0 deletions
@@ -158,6 +158,9 @@ void debugger_print(m68k_context *context, char format_char, char *param, uint32 uint32_t p_addr = strtol(param+(param[0] == '0' ? 2 : 1), &after, 16); if (after[0] == '.' && after[1] == 'l') { value = m68k_read_long(p_addr, context); + } else if (after[0] == '.' && after[1] == 'b') { + value = m68k_read_word(p_addr, context); + value &= 0xFF; } else { value = m68k_read_word(p_addr, context); } @@ -166,6 +169,9 @@ void debugger_print(m68k_context *context, char format_char, char *param, uint32 uint32_t p_addr = param[1] == 'a' ? context->aregs[reg] : context->dregs[reg]; if (param[4] == '.' && param[5] == 'l') { value = m68k_read_long(p_addr, context); + } else if (param[4] == '.' && param[5] == 'b') { + value = m68k_read_word(p_addr, context); + value &= 0xFF; } else { value = m68k_read_word(p_addr, context); } diff --git a/gdb_remote.c b/gdb_remote.c index 6cf1d67..cdc73a5 100644 --- a/gdb_remote.c +++ b/gdb_remote.c @@ -401,6 +401,10 @@ void gdb_run_command(m68k_context * context, uint32_t pc, char * command) gdb_send_command("m1"); } else if (!strcmp("sThreadInfo", command + 1)) { gdb_send_command("l"); + } else if (!memcmp("ThreadExtraInfo", command+1, strlen("ThreadExtraInfo"))) { + gdb_send_command(""); + } else if (command[1] == 'P') { + gdb_send_command(""); } else { goto not_impl; } |