Symbolicate LDH instructions

This commit is contained in:
Lior Halphon 2017-02-21 21:31:22 +02:00
parent aca7687edd
commit fed3b4f9cd

View File

@ -506,7 +506,7 @@ static void call_a16(GB_gameboy_t *gb, uint8_t opcode, uint16_t *pc)
{ {
(*pc)++; (*pc)++;
uint16_t addr = GB_read_memory(gb, *pc) | (GB_read_memory(gb, *pc + 1) << 8); uint16_t addr = GB_read_memory(gb, *pc) | (GB_read_memory(gb, *pc + 1) << 8);
const char *symbol = GB_debugger_name_for_address(gb, addr); const char *symbol = GB_debugger_name_for_address(gb, 0xff00 + addr);
if (symbol) { if (symbol) {
GB_log(gb, "CALL %s ; =$%04x\n", symbol, addr); GB_log(gb, "CALL %s ; =$%04x\n", symbol, addr);
} }
@ -519,15 +519,27 @@ static void call_a16(GB_gameboy_t *gb, uint8_t opcode, uint16_t *pc)
static void ld_da8_a(GB_gameboy_t *gb, uint8_t opcode, uint16_t *pc) static void ld_da8_a(GB_gameboy_t *gb, uint8_t opcode, uint16_t *pc)
{ {
(*pc)++; (*pc)++;
uint8_t temp = GB_read_memory(gb, (*pc)++); uint8_t addr = GB_read_memory(gb, (*pc)++);
GB_log(gb, "LDH [$%02x], a\n", temp); const char *symbol = GB_debugger_name_for_address(gb, 0xff00 + addr);
if (symbol) {
GB_log(gb, "LDH [%s & $FF], a ; =$%02x\n", symbol, addr);
}
else {
GB_log(gb, "LDH [$%02x], a\n", addr);
}
} }
static void ld_a_da8(GB_gameboy_t *gb, uint8_t opcode, uint16_t *pc) static void ld_a_da8(GB_gameboy_t *gb, uint8_t opcode, uint16_t *pc)
{ {
(*pc)++; (*pc)++;
uint8_t temp = GB_read_memory(gb, (*pc)++); uint8_t addr = GB_read_memory(gb, (*pc)++);
GB_log(gb, "LDH a, [$%02x]\n", temp); const char *symbol = GB_debugger_name_for_address(gb, 0xff00 + addr);
if (symbol) {
GB_log(gb, "LDH a, [%s & $FF] ; =$%02x\n", symbol, addr);
}
else {
GB_log(gb, "LDH a, [$%02x]\n", addr);
}
} }
static void ld_dc_a(GB_gameboy_t *gb, uint8_t opcode, uint16_t *pc) static void ld_dc_a(GB_gameboy_t *gb, uint8_t opcode, uint16_t *pc)