/*************************************************************************** * Default Memory Handlers ***************************************************************************/ INLINE void arm7_cpu_write32( int addr, UINT32 data ) { /*Call normal 32 bit handler */ program_write_dword_32le(addr,data); /* Unaligned writes are treated as normal writes */ #if ARM7_DEBUG_CORE if(addr&3) LOG(("%08x: Unaligned write %08x\n",R15,addr)); #endif }
static void IntReq(int num) { UINT32 IntEn=program_read_dword_32le(0x01800c08); UINT32 IntPend=program_read_dword_32le(0x01800c0c); if(IntEn&(1<<num)) { IntPend|=(1<<num); program_write_dword_32le(0x01800c0c,IntPend); cpunum_set_input_line(0,SE3208_INT,ASSERT_LINE); } #ifdef IDLE_LOOP_SPEEDUP FlipCntRead=0; cpunum_resume(0,SUSPEND_REASON_SPIN); #endif }
INLINE void WLONG(offs_t addr, UINT32 data) { if (addr & 3) fprintf(stderr, "Unaligned long write @ %06X, PC=%06X\n", addr, dsp32.PC); program_write_dword_32le((addr), data); }
INLINE void cpu_write32( int addr, UINT32 data ) { /* Unaligned writes are treated as normal writes */ program_write_dword_32le(addr&ADDRESS_MASK,data); if (ARM_DEBUG_CORE && addr&3) logerror("%08x: Unaligned write %08x\n",R15,addr); }