summaryrefslogtreecommitdiff
path: root/z80_to_x86.h
diff options
context:
space:
mode:
Diffstat (limited to 'z80_to_x86.h')
-rw-r--r--z80_to_x86.h39
1 files changed, 39 insertions, 0 deletions
diff --git a/z80_to_x86.h b/z80_to_x86.h
new file mode 100644
index 0000000..dbea50e
--- /dev/null
+++ b/z80_to_x86.h
@@ -0,0 +1,39 @@
+#ifndef Z80_TO_X86_H_
+#define Z80_TO_X86_H_
+#include "z80inst.h"
+#include "x86_backend.h"
+
+#define ZNUM_MEM_AREAS 4
+
+enum {
+ ZF_C = 0,
+ ZF_N,
+ ZF_PV,
+ ZF_H,
+ ZF_Z,
+ ZF_S,
+ ZF_NUM
+};
+
+typedef struct {
+ uint32_t flags;
+ int8_t regs[Z80_UNUSED];
+} x86_z80_options;
+
+typedef struct {
+ void * native_pc;
+ uint16_t sp;
+ uint8_t flags[ZF_NUM];
+ uint16_t bank_reg;
+ uint8_t regs[Z80_A+1];
+ uint8_t alt_regs[Z80_A+1];
+ uint8_t * mem_pointers[ZNUM_MEM_AREAS];
+ native_map_slot * native_code_map;
+ void * options
+ void * next_context;
+} z80_context;
+
+void translate_z80_stream(z80_context * context, uint16_t address);
+
+#endif //Z80_TO_X86_H_
+