Home Download Musics Developers
API Sources Tools File Format Technicals

mem68.h

Go to the documentation of this file.
00001 
00012 /* Copyright (C) 1998-2003 Benjamin Gerard */
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 /* #ifndef _MEM68_H_ */
00186