Mercurial > repos > blastem
comparison m68k_core.h @ 987:1f09994e92c5
Initial stab at implementing address error exceptions. Need to fill in the value of IR, undefined bits of last stack frame word and properly deal with address errors that occur during exception processing.
author | Michael Pavone <pavone@retrodev.com> |
---|---|
date | Tue, 26 Apr 2016 23:13:37 -0700 |
parents | 751280fb4494 |
children | d70000fdff0b |
comparison
equal
deleted
inserted
replaced
986:f680fe746a7d | 987:1f09994e92c5 |
---|---|
11 //#include "68kinst.h" | 11 //#include "68kinst.h" |
12 struct m68kinst; | 12 struct m68kinst; |
13 | 13 |
14 #define NUM_MEM_AREAS 8 | 14 #define NUM_MEM_AREAS 8 |
15 #define NATIVE_MAP_CHUNKS (64*1024) | 15 #define NATIVE_MAP_CHUNKS (64*1024) |
16 #define NATIVE_CHUNK_SIZE ((16 * 1024 * 1024 / NATIVE_MAP_CHUNKS)/2) | 16 #define NATIVE_CHUNK_SIZE ((16 * 1024 * 1024 / NATIVE_MAP_CHUNKS)) |
17 #define MAX_NATIVE_SIZE 255 | 17 #define MAX_NATIVE_SIZE 255 |
18 | 18 |
19 #define M68K_OPT_BROKEN_READ_MODIFY 1 | 19 #define M68K_OPT_BROKEN_READ_MODIFY 1 |
20 | 20 |
21 typedef void (*start_fun)(uint8_t * addr, void * context); | 21 typedef void (*start_fun)(uint8_t * addr, void * context); |
34 code_ptr read_32; | 34 code_ptr read_32; |
35 code_ptr write_32_lowfirst; | 35 code_ptr write_32_lowfirst; |
36 code_ptr write_32_highfirst; | 36 code_ptr write_32_highfirst; |
37 code_ptr do_sync; | 37 code_ptr do_sync; |
38 code_ptr trap; | 38 code_ptr trap; |
39 code_ptr odd_address; | |
40 start_fun start_context; | 39 start_fun start_context; |
41 code_ptr retrans_stub; | 40 code_ptr retrans_stub; |
42 code_ptr native_addr; | 41 code_ptr native_addr; |
43 code_ptr native_addr_and_sync; | 42 code_ptr native_addr_and_sync; |
44 code_ptr get_sr; | 43 code_ptr get_sr; |