Mercurial > repos > blastem
comparison backend.h @ 2396:bf4f1a8d1d48
Implement 68K watchpoints in internal debugger
author | Michael Pavone <pavone@retrodev.com> |
---|---|
date | Sat, 23 Dec 2023 17:37:57 -0800 |
parents | 8554751f17b5 |
children | 38c281ef57b0 |
comparison
equal
deleted
inserted
replaced
2395:ebca8ab02701 | 2396:bf4f1a8d1d48 |
---|---|
41 } deferred_addr; | 41 } deferred_addr; |
42 | 42 |
43 #include "memmap.h" | 43 #include "memmap.h" |
44 #include "system.h" | 44 #include "system.h" |
45 | 45 |
46 typedef void * (*watchpoint16_fun)(uint32_t address, void * context, uint16_t); | |
47 typedef void * (*watchpoint8_fun)(uint32_t address, void * context, uint8_t); | |
48 | |
46 typedef struct { | 49 typedef struct { |
47 uint32_t flags; | 50 uint32_t flags; |
48 native_map_slot *native_code_map; | 51 native_map_slot *native_code_map; |
49 deferred_addr *deferred; | 52 deferred_addr *deferred; |
50 code_info code; | 53 code_info code; |
55 code_ptr handle_cycle_limit; | 58 code_ptr handle_cycle_limit; |
56 code_ptr handle_cycle_limit_int; | 59 code_ptr handle_cycle_limit_int; |
57 code_ptr handle_code_write; | 60 code_ptr handle_code_write; |
58 code_ptr handle_align_error_write; | 61 code_ptr handle_align_error_write; |
59 code_ptr handle_align_error_read; | 62 code_ptr handle_align_error_read; |
63 watchpoint16_fun check_watchpoints_16; | |
64 watchpoint8_fun check_watchpoints_8; | |
60 system_str_fun_r8 debug_cmd_handler; | 65 system_str_fun_r8 debug_cmd_handler; |
61 uint32_t memmap_chunks; | 66 uint32_t memmap_chunks; |
62 uint32_t address_mask; | 67 uint32_t address_mask; |
63 uint32_t max_address; | 68 uint32_t max_address; |
64 uint32_t bus_cycles; | 69 uint32_t bus_cycles; |
65 uint32_t clock_divider; | 70 uint32_t clock_divider; |
66 uint32_t move_pc_off; | 71 uint32_t move_pc_off; |
67 uint32_t move_pc_size; | 72 uint32_t move_pc_size; |
73 int32_t watchpoint_range_off; | |
68 int32_t mem_ptr_off; | 74 int32_t mem_ptr_off; |
69 int32_t ram_flags_off; | 75 int32_t ram_flags_off; |
70 uint8_t ram_flags_shift; | 76 uint8_t ram_flags_shift; |
71 uint8_t address_size; | 77 uint8_t address_size; |
72 uint8_t byte_swap; | 78 uint8_t byte_swap; |