uhh swizzle io register addresses too?? is this anything
This commit is contained in:
parent
35711d50e0
commit
6f692d7296
10
common.h
10
common.h
|
@ -141,11 +141,13 @@ typedef u32 fixed8_24;
|
||||||
// #define eswap32(value) __builtin_bswap32(value)
|
// #define eswap32(value) __builtin_bswap32(value)
|
||||||
#define eswap16(value) (value)
|
#define eswap16(value) (value)
|
||||||
#define eswap32(value) (value)
|
#define eswap32(value) (value)
|
||||||
|
#define swizzle_regnum(idx) ((idx) ^ 1)
|
||||||
#define swizzle_h(ofs) ((ofs) ^ 2)
|
#define swizzle_h(ofs) ((ofs) ^ 2)
|
||||||
#define swizzle_b(ofs) ((ofs) ^ 3)
|
#define swizzle_b(ofs) ((ofs) ^ 3)
|
||||||
#else
|
#else
|
||||||
#define eswap16(value) (value)
|
#define eswap16(value) (value)
|
||||||
#define eswap32(value) (value)
|
#define eswap32(value) (value)
|
||||||
|
#define swizzle_regnum(idx) (idx)
|
||||||
#define swizzle_h(ofs) (ofs)
|
#define swizzle_h(ofs) (ofs)
|
||||||
#define swizzle_b(ofs) (ofs)
|
#define swizzle_b(ofs) (ofs)
|
||||||
#endif
|
#endif
|
||||||
|
@ -154,12 +156,12 @@ typedef u32 fixed8_24;
|
||||||
#define readaddress16(base, offset) eswap16(address16(base, swizzle_h(offset)))
|
#define readaddress16(base, offset) eswap16(address16(base, swizzle_h(offset)))
|
||||||
#define readaddress32(base, offset) eswap32(address32(base, offset))
|
#define readaddress32(base, offset) eswap32(address32(base, offset))
|
||||||
|
|
||||||
#define read_ioreg(regnum) (eswap16(io_registers[(regnum)]))
|
#define read_ioreg(regnum) (eswap16(io_registers[swizzle_regnum(regnum)]))
|
||||||
#define write_ioreg(regnum, val) io_registers[(regnum)] = eswap16(val)
|
#define write_ioreg(regnum, val) io_registers[swizzle_regnum(regnum)] = eswap16(val)
|
||||||
#define read_ioreg32(regnum) (read_ioreg(regnum) | (read_ioreg((regnum)+1) << 16))
|
#define read_ioreg32(regnum) (read_ioreg(regnum) | (read_ioreg((regnum)+1) << 16))
|
||||||
|
|
||||||
#define read_dmareg(regnum, dmachan) (eswap16(io_registers[(regnum) + (dmachan) * 6]))
|
#define read_dmareg(regnum, dmachan) (eswap16(io_registers[swizzle_regnum((regnum) + (dmachan) * 6)]))
|
||||||
#define write_dmareg(regnum, dmachan, val) io_registers[(regnum) + (dmachan) * 6] = eswap16(val)
|
#define write_dmareg(regnum, dmachan, val) io_registers[swizzle_regnum((regnum) + (dmachan) * 6)] = eswap16(val)
|
||||||
|
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#include <time.h>
|
#include <time.h>
|
||||||
|
|
Loading…
Reference in New Issue