void Sh4_int_Run() { sh4_int_bCpuRun=true; s32 l=SH4_TIMESLICE; #if !defined(TARGET_BOUNDED_EXECUTION) do #else for (int i=0; i<10000; i++) #endif { do { u32 op=ReadMem16(next_pc); next_pc+=2; OpPtr[op](op); l-=CPU_RATIO; } while(l>0); l+=SH4_TIMESLICE; UpdateSystem_INTC(); #if !defined(TARGET_BOUNDED_EXECUTION) } while(sh4_int_bCpuRun); sh4_int_bCpuRun=false; #else }
void Sh4_int_Run() { sh4_int_bCpuRun=true; s32 l=SH4_TIMESLICE; #if !defined(TARGET_BOUNDED_EXECUTION) do #else for (int i=0; i<10000; i++) #endif { #if !defined(NO_MMU) try { #endif do { u32 addr = next_pc; next_pc += 2; u32 op = IReadMem16(addr); OpPtr[op](op); l -= CPU_RATIO; } while (l > 0); l += SH4_TIMESLICE; UpdateSystem_INTC(); #if !defined(NO_MMU) } catch (SH4ThrownException ex) { Do_Exception(ex.epc, ex.expEvn, ex.callVect); l -= CPU_RATIO * 5; } #endif #if !defined(TARGET_BOUNDED_EXECUTION) } while(sh4_int_bCpuRun); sh4_int_bCpuRun=false; #else }
void Sh4_int_Run() { sh4_int_bCpuRun=true; s32 l=SH4_TIMESLICE; do { do { u32 op=ReadMem16(next_pc); next_pc+=2; OpPtr[op](op); l-=CPU_RATIO; } while(l>0); l+=SH4_TIMESLICE; UpdateSystem_INTC(); } while(sh4_int_bCpuRun); sh4_int_bCpuRun=false; }