Mercurial > repos > blastem
comparison backend.h @ 1465:5d41d0574863
Preserve original address when retranslating instructions instead of switching to the lowest alias
author | Michael Pavone <pavone@retrodev.com> |
---|---|
date | Wed, 13 Sep 2017 21:06:25 -0700 |
parents | b27d7bf1107e |
children | ded16f3d7eb4 1f745318f10a |
comparison
equal
deleted
inserted
replaced
1464:ffe45c5b8390 | 1465:5d41d0574863 |
---|---|
96 uint32_t memmap_chunks; | 96 uint32_t memmap_chunks; |
97 uint32_t address_mask; | 97 uint32_t address_mask; |
98 uint32_t max_address; | 98 uint32_t max_address; |
99 uint32_t bus_cycles; | 99 uint32_t bus_cycles; |
100 uint32_t clock_divider; | 100 uint32_t clock_divider; |
101 uint32_t move_pc_off; | |
102 uint32_t move_pc_size; | |
101 int32_t mem_ptr_off; | 103 int32_t mem_ptr_off; |
102 int32_t ram_flags_off; | 104 int32_t ram_flags_off; |
103 uint8_t ram_flags_shift; | 105 uint8_t ram_flags_shift; |
104 uint8_t address_size; | 106 uint8_t address_size; |
105 uint8_t byte_swap; | 107 uint8_t byte_swap; |
121 void check_cycles_int(cpu_options *opts, uint32_t address); | 123 void check_cycles_int(cpu_options *opts, uint32_t address); |
122 void check_cycles(cpu_options * opts); | 124 void check_cycles(cpu_options * opts); |
123 void check_code_prologue(code_info *code); | 125 void check_code_prologue(code_info *code); |
124 void log_address(cpu_options *opts, uint32_t address, char * format); | 126 void log_address(cpu_options *opts, uint32_t address, char * format); |
125 | 127 |
128 void retranslate_calc(cpu_options *opts); | |
129 void patch_for_retranslate(cpu_options *opts, code_ptr native_address, code_ptr handler); | |
130 | |
126 code_ptr gen_mem_fun(cpu_options * opts, memmap_chunk const * memmap, uint32_t num_chunks, ftype fun_type, code_ptr *after_inc); | 131 code_ptr gen_mem_fun(cpu_options * opts, memmap_chunk const * memmap, uint32_t num_chunks, ftype fun_type, code_ptr *after_inc); |
127 void * get_native_pointer(uint32_t address, void ** mem_pointers, cpu_options * opts); | 132 void * get_native_pointer(uint32_t address, void ** mem_pointers, cpu_options * opts); |
128 uint16_t read_word(uint32_t address, void **mem_pointers, cpu_options *opts, void *context); | 133 uint16_t read_word(uint32_t address, void **mem_pointers, cpu_options *opts, void *context); |
129 memmap_chunk const *find_map_chunk(uint32_t address, cpu_options *opts, uint16_t flags, uint32_t *size_sum); | 134 memmap_chunk const *find_map_chunk(uint32_t address, cpu_options *opts, uint16_t flags, uint32_t *size_sum); |
130 uint32_t chunk_size(cpu_options *opts, memmap_chunk const *chunk); | 135 uint32_t chunk_size(cpu_options *opts, memmap_chunk const *chunk); |