INLINE void write_dword_unaligned(UINT32 address, UINT32 data) { if (address & 3) { program_write_byte_32le(address, data & 0xff); program_write_byte_32le(address+1, (data>>8)&0xff); program_write_byte_32le(address+2, (data>>16)&0xff); program_write_byte_32le(address+3, (data>>24)&0xff); }
INLINE void WRITEWORD(offs_t address, UINT16 data) { /* aligned writes are easy */ if (!(address & 1)) { program_write_word_32le(address, data); return; } /* misaligned writes are tricky */ if (!(address & 2)) { program_write_byte_32le(address + 1, data); program_write_byte_32le(address + 2, data >> 8); }
INLINE void WRITEBYTE(offs_t address, UINT8 data) { /* no alignment issues with bytes */ program_write_byte_32le(address, data); }
INLINE void arm7_cpu_write8( int addr, UINT8 data ) { /*Call normal 8 bit handler ( for 32 bit cpu ) */ program_write_byte_32le(addr,data); }
INLINE void cpu_write8( int addr, UINT8 data ) { program_write_byte_32le(addr,data); }