swizzle all accesses, why not
This commit is contained in:
parent
6f692d7296
commit
a275018d09
22
common.h
22
common.h
|
@ -126,15 +126,6 @@ typedef u32 fixed8_24;
|
|||
#define fixed_div(numerator, denominator, bits) \
|
||||
(((numerator * (1 << bits)) + (denominator / 2)) / denominator) \
|
||||
|
||||
#define address8(base, offset) \
|
||||
*((u8 *)((u8 *)base + (offset))) \
|
||||
|
||||
#define address16(base, offset) \
|
||||
*((u16 *)((u8 *)base + (offset))) \
|
||||
|
||||
#define address32(base, offset) \
|
||||
*((u32 *)((u8 *)base + (offset))) \
|
||||
|
||||
#define eswap8(value) (value)
|
||||
#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
|
||||
// #define eswap16(value) __builtin_bswap16(value)
|
||||
|
@ -152,8 +143,17 @@ typedef u32 fixed8_24;
|
|||
#define swizzle_b(ofs) (ofs)
|
||||
#endif
|
||||
|
||||
#define readaddress8(base, offset) eswap8(address8( base, swizzle_b(offset)))
|
||||
#define readaddress16(base, offset) eswap16(address16(base, swizzle_h(offset)))
|
||||
#define address8(base, offset) \
|
||||
*((u8 *)((u8 *)base + swizzle_b(offset))) \
|
||||
|
||||
#define address16(base, offset) \
|
||||
*((u16 *)((u8 *)base + swizzle_h(offset))) \
|
||||
|
||||
#define address32(base, offset) \
|
||||
*((u32 *)((u8 *)base + (offset))) \
|
||||
|
||||
#define readaddress8(base, offset) eswap8( address8( base, offset))
|
||||
#define readaddress16(base, offset) eswap16(address16(base, offset))
|
||||
#define readaddress32(base, offset) eswap32(address32(base, offset))
|
||||
|
||||
#define read_ioreg(regnum) (eswap16(io_registers[swizzle_regnum(regnum)]))
|
||||
|
|
Loading…
Reference in New Issue