Mercurial > repos > blastem
comparison debug.c @ 2183:eb2e0e61b1b4
Fix stale values in display
author | Michael Pavone <pavone@retrodev.com> |
---|---|
date | Sat, 13 Aug 2022 22:57:57 -0700 |
parents | 2d7f8195be3b |
children | 408fb8a7e990 |
comparison
equal
deleted
inserted
replaced
2182:2d7f8195be3b | 2183:eb2e0e61b1b4 |
---|---|
2720 uint8_t * pc = get_native_pointer(address, (void **)context->mem_pointers, &context->Z80_OPTS->gen); | 2720 uint8_t * pc = get_native_pointer(address, (void **)context->mem_pointers, &context->Z80_OPTS->gen); |
2721 if (!pc) { | 2721 if (!pc) { |
2722 fatal_error("Failed to get native pointer on entering Z80 debugger at address %X\n", address); | 2722 fatal_error("Failed to get native pointer on entering Z80 debugger at address %X\n", address); |
2723 } | 2723 } |
2724 for (disp_def * cur = root->displays; cur; cur = cur->next) { | 2724 for (disp_def * cur = root->displays; cur; cur = cur->next) { |
2725 for (int i = 0; i < cur->num_args; i++) | |
2726 { | |
2727 eval_expr(root, cur->args[i].parsed, &cur->args[i].value); | |
2728 } | |
2725 cmd_print(root, cur->format, cur->num_args, cur->args); | 2729 cmd_print(root, cur->format, cur->num_args, cur->args); |
2726 } | 2730 } |
2727 uint8_t * after_pc = z80_decode(pc, &inst); | 2731 uint8_t * after_pc = z80_decode(pc, &inst); |
2728 z80_disasm(&inst, input_buf, address); | 2732 z80_disasm(&inst, input_buf, address); |
2729 printf("%X:\t%s\n", address, input_buf); | 2733 printf("%X:\t%s\n", address, input_buf); |
2820 } | 2824 } |
2821 uint32_t after = m68k_decode(m68k_instruction_fetch, context, &inst, address); | 2825 uint32_t after = m68k_decode(m68k_instruction_fetch, context, &inst, address); |
2822 root->after = after; | 2826 root->after = after; |
2823 root->inst = &inst; | 2827 root->inst = &inst; |
2824 for (disp_def * cur = root->displays; cur; cur = cur->next) { | 2828 for (disp_def * cur = root->displays; cur; cur = cur->next) { |
2829 for (int i = 0; i < cur->num_args; i++) | |
2830 { | |
2831 eval_expr(root, cur->args[i].parsed, &cur->args[i].value); | |
2832 } | |
2825 cmd_print(root, cur->format, cur->num_args, cur->args); | 2833 cmd_print(root, cur->format, cur->num_args, cur->args); |
2826 } | 2834 } |
2827 m68k_disasm(&inst, input_buf); | 2835 m68k_disasm(&inst, input_buf); |
2828 printf("%X: %s\n", address, input_buf); | 2836 printf("%X: %s\n", address, input_buf); |
2829 #ifdef _WIN32 | 2837 #ifdef _WIN32 |