From 46db74a053d7fca9dee69e8737a435e65b538577 Mon Sep 17 00:00:00 2001 From: Mike Pavone Date: Thu, 25 Apr 2013 21:01:11 -0700 Subject: Get Z80 core working for simple programs --- z80_to_x86.h | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) (limited to 'z80_to_x86.h') diff --git a/z80_to_x86.h b/z80_to_x86.h index dbea50e..bfad077 100644 --- a/z80_to_x86.h +++ b/z80_to_x86.h @@ -16,8 +16,11 @@ enum { }; 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 @@ typedef struct { 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_ -- cgit v1.2.3