sgdk
|
00001 00034 #ifndef _MAPPER_H_ 00035 #define _MAPPER_H_ 00036 00037 00038 #include "config.h" 00039 #include "types.h" 00040 00041 00042 #define MAPPER_BASE 0xA130F1 00043 00044 #define BANK_SIZE 0x80000 00045 #define BANK_IN_MASK (BANK_SIZE - 1) 00046 #define BANK_OUT_MASK (0xFFFFFFFF ^ BANK_IN_MASK) 00047 00056 #if (ENABLE_BANK_SWITCH != 0) 00057 #define FAR(data) SYS_getFarData((void*) (data)) 00058 #define FAR_SAFE(data, size) SYS_getFarDataSafe((void*) (data), size) 00059 #else 00060 #define FAR(data) data 00061 #define FAR_SAFE(data, size) data 00062 #endif 00063 00064 00069 void SYS_resetBanks(); 00070 00078 u16 SYS_getBank(u16 regionIndex); 00086 void SYS_setBank(u16 regionIndex, u16 bankIndex); 00087 00102 void* SYS_getFarData(void* data); 00116 void* SYS_getFarDataEx(void* data, bool high); 00128 bool SYS_isCrossingBank(void* data, u32 size); 00146 void* SYS_getFarDataSafe(void* data, u32 size); 00162 void* SYS_getFarDataSafeEx(void* data, u32 size, bool high); 00163 00173 bool SYS_getNextFarAccessRegion(); 00184 void SYS_setNextFarAccessRegion(bool high); 00185 00186 #endif // _MAPPER_H_