Mercurial > repos > blastem
diff z80_to_x86.h @ 235:d9bf8e61c33c
Get Z80 core working for simple programs
author | Mike Pavone <pavone@retrodev.com> |
---|---|
date | Thu, 25 Apr 2013 21:01:11 -0700 |
parents | 4d4559b04c59 |
children | 2586d49ddd46 |
line wrap: on
line diff
--- a/z80_to_x86.h Mon Apr 22 23:56:13 2013 -0700 +++ b/z80_to_x86.h Thu Apr 25 21:01:11 2013 -0700 @@ -16,8 +16,11 @@ }; typedef struct { - uint32_t flags; - int8_t regs[Z80_UNUSED]; + uint8_t * cur_code; + uint8_t * code_end; + deferred_addr * deferred; + uint32_t flags; + int8_t regs[Z80_UNUSED]; } x86_z80_options; typedef struct { @@ -27,13 +30,21 @@ uint16_t bank_reg; uint8_t regs[Z80_A+1]; uint8_t alt_regs[Z80_A+1]; + uint32_t target_cycle; + uint32_t current_cycle; uint8_t * mem_pointers[ZNUM_MEM_AREAS]; - native_map_slot * native_code_map; - void * options + native_map_slot * static_code_map; + native_map_slot * banked_code_map; + void * options; void * next_context; } z80_context; -void translate_z80_stream(z80_context * context, uint16_t address); +void translate_z80_stream(z80_context * context, uint32_t address); +void init_x86_z80_opts(x86_z80_options * options); +void init_z80_context(z80_context * context, x86_z80_options * options); +uint8_t * z80_get_native_address(z80_context * context, uint32_t address); +void z80_run(z80_context * context); +void z80_reset(z80_context * context); #endif //Z80_TO_X86_H_