mem68.hGo to the documentation of this file.00001
00012
00013
00014 #ifndef _MEM68_H_
00015 #define _MEM68_H_
00016
00017 #include "emu68/struct68.h"
00018
00019 #ifdef __cplusplus
00020 extern "C" {
00021 #endif
00022
00023
00070 #ifdef EMU68DEBUG
00071 # define READ_68 1
00072 # define WRITTEN_68 2
00073 # define EXECUTED_68 4
00074 # define BREAKED_68 8
00075 #endif
00076
00085 #define ISIO68(ADDR) ((ADDR)&0x800000)
00086
00087 extern memrfunc68_t read_mem_jmp_l[256];
00088 extern memrfunc68_t read_mem_jmp_w[256];
00089 extern memrfunc68_t read_mem_jmp_b[256];
00090 extern memwfunc68_t write_mem_jmp_l[256];
00091 extern memwfunc68_t write_mem_jmp_w[256];
00092 extern memwfunc68_t write_mem_jmp_b[256];
00095
00096
00101 extern u32 read_68000mem_b(u32 addr);
00102 extern u32 read_68000mem_w(u32 addr);
00103 extern u32 read_68000mem_l(u32 addr);
00105 extern void write_68000mem_b(u32 addr,u32 v);
00106 extern void write_68000mem_w(u32 addr,u32 v);
00107 extern void write_68000mem_l(u32 addr,u32 v);
00109 #define read_B(ADDR) read_68000mem_b(ADDR)
00110 #define read_W(ADDR) read_68000mem_w(ADDR)
00111 #define read_L(ADDR) read_68000mem_l(ADDR)
00114 #define write_B(ADDR,VAL) write_68000mem_b(ADDR,VAL)
00115
00116 #define write_W(ADDR,VAL) write_68000mem_w(ADDR,VAL)
00117
00118 #define write_L(ADDR,VAL) write_68000mem_l(ADDR,VAL)
00119
00127 s32 get_nextw(void);
00128 s32 get_nextl(void);
00131
00132
00136 void pushl(s32 v);
00137 void pushw(s32 v);
00138 s32 popl(void);
00139 s32 popw(void);
00141
00149 void EMU68memory_init(void);
00150
00157 void EMU68memory_reset(void);
00158
00167 void EMU68memory_new_area(u8 area,
00168 memrfunc68_t *read_bwl,
00169 memwfunc68_t *write_bwl);
00170
00175 void EMU68memory_reset_area(u8 area);
00176
00181 #ifdef __cplusplus
00182 }
00183 #endif
00184
00185 #endif
00186
|