19#if !defined(_EE) && !defined(_IOP)
20#error Either _EE or _IOP must be defined!
23typedef unsigned char u8;
24typedef unsigned short u16;
26typedef volatile u8 vu8;
27typedef volatile u16 vu16;
30typedef unsigned int u32;
32typedef unsigned long long u64;
34typedef unsigned long u64;
38typedef volatile u32 vu32;
39typedef volatile u64 vu64;
44typedef unsigned long u32;
45typedef unsigned long long u64;
47typedef volatile u32 vu32;
48typedef volatile u64 vu64;
51typedef signed char s8;
52typedef signed short s16;
54typedef volatile s8 vs8;
55typedef volatile s16 vs16;
58typedef signed int s32;
60typedef signed long long s64;
62typedef signed long s64;
66typedef volatile s32 vs32;
67typedef volatile s64 vs64;
72typedef signed long s32;
73typedef signed long long s64;
75typedef volatile s32 vs32;
76typedef volatile s64 vs64;
83typedef volatile u32 vuiptr;
84typedef volatile s32 vsiptr;
102static inline u8 _lb(u32 addr)
106static inline u16 _lh(u32 addr) {
return *(vu16 *)addr; }
107static inline u32 _lw(u32 addr) {
return *(vu32 *)addr; }
109static inline void _sb(u8 val, u32 addr) { *(vu8 *)addr = val; }
110static inline void _sh(u16 val, u32 addr) { *(vu16 *)addr = val; }
111static inline void _sw(u32 val, u32 addr) { *(vu32 *)addr = val; }
114static inline u64 _ld(u32 addr)
116 return *(vu64 *)addr;
118static inline u128 _lq(u32 addr) {
return *(vu128 *)addr; }
119static inline void _sd(u64 val, u32 addr) { *(vu64 *)addr = val; }
120static inline void _sq(u128 val, u32 addr) { *(vu128 *)addr = val; }