comparison m68k_to_x86.h @ 95:dd3c680c618c

Initial work on allowing dynamic branches and code in RAM plus a small fix to effective address decoding
author Mike Pavone <pavone@retrodev.com>
date Thu, 27 Dec 2012 21:19:58 -0800
parents 3d3966c254b2
children 94a65fb4e1c7
comparison
equal deleted inserted replaced
94:a668a35a3463 95:dd3c680c618c
21 uint32_t flags; 21 uint32_t flags;
22 int8_t dregs[8]; 22 int8_t dregs[8];
23 int8_t aregs[8]; 23 int8_t aregs[8];
24 native_map_slot *native_code_map; 24 native_map_slot *native_code_map;
25 deferred_addr *deferred; 25 deferred_addr *deferred;
26 26 uint8_t *cur_code;
27 uint8_t *code_end;
27 } x86_68k_options; 28 } x86_68k_options;
28 29
29 typedef struct { 30 typedef struct {
30 uint8_t flags[5]; 31 uint8_t flags[5];
31 uint8_t status; 32 uint8_t status;
44 native_map_slot *native_code_map; 45 native_map_slot *native_code_map;
45 void *options; 46 void *options;
46 } m68k_context; 47 } m68k_context;
47 48
48 uint8_t * translate_m68k(uint8_t * dst, m68kinst * inst, x86_68k_options * opts); 49 uint8_t * translate_m68k(uint8_t * dst, m68kinst * inst, x86_68k_options * opts);
49 uint8_t * translate_m68k_stream(uint8_t * dst, uint8_t * dst_end, uint32_t address, m68k_context * context); 50 uint8_t * translate_m68k_stream(uint32_t address, m68k_context * context);
50 void start_68k_context(m68k_context * context, uint32_t address); 51 void start_68k_context(m68k_context * context, uint32_t address);
51 void init_x86_68k_opts(x86_68k_options * opts); 52 void init_x86_68k_opts(x86_68k_options * opts);
52 void init_68k_context(m68k_context * context, native_map_slot * native_code_map, void * opts); 53 void init_68k_context(m68k_context * context, native_map_slot * native_code_map, void * opts);
53 void m68k_reset(m68k_context * context); 54 void m68k_reset(m68k_context * context);
54 55