summaryrefslogtreecommitdiff
path: root/backend.h
diff options
context:
space:
mode:
authorMichael Pavone <pavone@retrodev.com>2017-09-13 21:06:25 -0700
committerMichael Pavone <pavone@retrodev.com>2017-09-13 21:06:25 -0700
commit44ccdde6fced7672b184be82b4eaf994c1c705c5 (patch)
tree7ee628871001a1704a9174ab600803d699dd0058 /backend.h
parent5ce0a0e79020bd6e9e42bc32f706b208066d7ec0 (diff)
Preserve original address when retranslating instructions instead of switching to the lowest alias
Diffstat (limited to 'backend.h')
-rw-r--r--backend.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/backend.h b/backend.h
index a099031..b82f5a1 100644
--- a/backend.h
+++ b/backend.h
@@ -98,6 +98,8 @@ typedef struct {
uint32_t max_address;
uint32_t bus_cycles;
uint32_t clock_divider;
+ uint32_t move_pc_off;
+ uint32_t move_pc_size;
int32_t mem_ptr_off;
int32_t ram_flags_off;
uint8_t ram_flags_shift;
@@ -123,6 +125,9 @@ void check_cycles(cpu_options * opts);
void check_code_prologue(code_info *code);
void log_address(cpu_options *opts, uint32_t address, char * format);
+void retranslate_calc(cpu_options *opts);
+void patch_for_retranslate(cpu_options *opts, code_ptr native_address, code_ptr handler);
+
code_ptr gen_mem_fun(cpu_options * opts, memmap_chunk const * memmap, uint32_t num_chunks, ftype fun_type, code_ptr *after_inc);
void * get_native_pointer(uint32_t address, void ** mem_pointers, cpu_options * opts);
uint16_t read_word(uint32_t address, void **mem_pointers, cpu_options *opts, void *context);