summaryrefslogtreecommitdiff
path: root/m68k_to_x86.h
diff options
context:
space:
mode:
authorMike Pavone <pavone@retrodev.com>2012-12-26 11:09:04 -0800
committerMike Pavone <pavone@retrodev.com>2012-12-26 11:09:04 -0800
commitd5d5e11b5d93b718cb89131c704705c71b7976b7 (patch)
treebf7792b52f0c8e828e53ce536733e813434212c5 /m68k_to_x86.h
parenta8c212daf0161ef36396cc7c6fd743c8a2a0c404 (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.h7
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;