Main Page | Modules | Data Structures | File List | Data Fields | Globals | Related Pages

mem68.h

Go to the documentation of this file.
00001 
00045 /* Copyright (C) 1998-2001 Ben(jamin) Gerard */
00046 
00047 #ifndef _MEM68_H_
00048 #define _MEM68_H_
00049 
00050 #ifdef __cplusplus
00051 extern "C" {
00052 #endif
00053 
00054 #include "emu68/struct68.h"
00055 
00056 
00061 #ifdef EMU68DEBUG
00062 # define READ_68      1  
00063 # define WRITTEN_68   2  
00064 # define EXECUTED_68  4  
00065 # define BREAKED_68   8  
00066 #endif
00067 
00076 #define ISIO68(ADDR) ((ADDR)&0x800000)
00077 
00078 extern memrfunc68_t read_mem_jmp_l[256];  
00079 extern memrfunc68_t read_mem_jmp_w[256];  
00080 extern memrfunc68_t read_mem_jmp_b[256];  
00081 extern memwfunc68_t write_mem_jmp_l[256]; 
00082 extern memwfunc68_t write_mem_jmp_w[256]; 
00083 extern memwfunc68_t write_mem_jmp_b[256]; 
00086 
00087 
00092 extern u32 read_68000mem_b(u32 addr); 
00093 extern u32 read_68000mem_w(u32 addr); 
00094 extern u32 read_68000mem_l(u32 addr); 
00096 extern void write_68000mem_b(u32 addr,u32 v); 
00097 extern void write_68000mem_w(u32 addr,u32 v); 
00098 extern void write_68000mem_l(u32 addr,u32 v); 
00100 #define read_B(ADDR) read_68000mem_b(ADDR) 
00101 #define read_W(ADDR) read_68000mem_w(ADDR) 
00102 #define read_L(ADDR) read_68000mem_l(ADDR) 
00105 #define write_B(ADDR,VAL) write_68000mem_b(ADDR,VAL)
00106 
00107 #define write_W(ADDR,VAL) write_68000mem_w(ADDR,VAL)
00108 
00109 #define write_L(ADDR,VAL) write_68000mem_l(ADDR,VAL)
00110 
00118 s32 get_nextw(void);  
00119 s32 get_nextl(void);  
00122 
00123 
00127 void pushl(s32 v);  
00128 void pushw(s32 v);  
00129 s32 popl(void);     
00130 s32 popw(void);     
00132 
00140 void EMU68memory_init(void);
00141 
00148 void EMU68memory_reset(void);
00149 
00158 void EMU68memory_new_area(u8 area,
00159                           memrfunc68_t *read_bwl,
00160                           memwfunc68_t *write_bwl);
00161 
00166 void EMU68memory_reset_area(u8 area);
00167 
00168 
00169 #ifdef __cplusplus
00170 }
00171 #endif
00172 
00173 #endif /* #ifndef _MEM68_H_ */
00174 

Generated on Fri Sep 26 16:27:53 2003 for sc68fordevelopers by doxygen 1.3.3