diff options
author | Mike Pavone <pavone@retrodev.com> | 2012-12-26 11:09:04 -0800 |
---|---|---|
committer | Mike Pavone <pavone@retrodev.com> | 2012-12-26 11:09:04 -0800 |
commit | d5d5e11b5d93b718cb89131c704705c71b7976b7 (patch) | |
tree | bf7792b52f0c8e828e53ce536733e813434212c5 /m68k_to_x86.h | |
parent | a8c212daf0161ef36396cc7c6fd743c8a2a0c404 (diff) |
Initial stab at interrupt support. Make native code offsets bigger so I don't have to worry about overflowing the offset. Implement neg and not (untested).
Diffstat (limited to 'm68k_to_x86.h')
-rw-r--r-- | m68k_to_x86.h | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/m68k_to_x86.h b/m68k_to_x86.h index 35a593d..12d4f8b 100644 --- a/m68k_to_x86.h +++ b/m68k_to_x86.h @@ -4,11 +4,11 @@ #define NUM_MEM_AREAS 4 #define NATIVE_MAP_CHUNKS (32*1024) #define NATIVE_CHUNK_SIZE ((16 * 1024 * 1024 / NATIVE_MAP_CHUNKS)/2) -#define INVALID_OFFSET 0xFFFF +#define INVALID_OFFSET 0xFFFFFFFF typedef struct { uint8_t *base; - uint16_t *offsets; + int32_t *offsets; } native_map_slot; typedef struct deferred_addr { @@ -35,9 +35,12 @@ typedef struct { uint32_t target_cycle; //cycle at which the next synchronization or interrupt occurs uint32_t current_cycle; uint32_t sync_cycle; + uint32_t int_cycle; + uint32_t int_num; uint16_t *mem_pointers[NUM_MEM_AREAS]; void *next_context; uint16_t value; + native_map_slot *native_code_map; void *options; } m68k_context; |