diff options
author | Mike Pavone <pavone@retrodev.com> | 2013-04-25 21:01:11 -0700 |
---|---|---|
committer | Mike Pavone <pavone@retrodev.com> | 2013-04-25 21:01:11 -0700 |
commit | 46db74a053d7fca9dee69e8737a435e65b538577 (patch) | |
tree | fa645a9997fac9f040b6664ffbaf9b0733fdc71e /x86_backend.h | |
parent | 68be5ac1a6452de7333d77b91d5a9634aac05b5b (diff) |
Get Z80 core working for simple programs
Diffstat (limited to 'x86_backend.h')
-rw-r--r-- | x86_backend.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/x86_backend.h b/x86_backend.h index 2bfac7e..78fd0c8 100644 --- a/x86_backend.h +++ b/x86_backend.h @@ -1,6 +1,10 @@ #ifndef X86_BACKEND_H_ #define X86_BACKEND_H_ +#include <stdint.h> + +#define INVALID_OFFSET 0xFFFFFFFF + typedef struct { int32_t disp; uint8_t mode; @@ -14,5 +18,16 @@ typedef struct { int32_t *offsets; } native_map_slot; +typedef struct deferred_addr { + struct deferred_addr *next; + uint8_t *dest; + uint32_t address; +} deferred_addr; + +typedef uint8_t * (*native_addr_func)(void * context, uint32_t address); + +deferred_addr * defer_address(deferred_addr * old_head, uint32_t address, uint8_t *dest); +void process_deferred(deferred_addr ** head_ptr, void * context, native_addr_func get_native); + #endif //X86_BACKEND_H_ |