static CPU_EXECUTE( lh5801 ) { lh5801_state *cpustate = get_safe_token(device); if (cpustate->idle) { cpustate->icount=0; } else { do { cpustate->oldpc = P; debugger_instruction_hook(device, P); lh5801_instruction(cpustate); } while (cpustate->icount > 0); } }
void lh5801_cpu_device::execute_run() { do { check_irq(); if (m_idle) m_icount = 0; else { m_oldpc = P; debugger_instruction_hook(this, P); lh5801_instruction(); } } while (m_icount > 0); }
int lh5801_execute(int cycles) { lh5801_icount = cycles; change_pc17(P); if (lh5801.idle) { lh5801_icount=0; } else { do { lh5801.oldpc = P; CALL_MAME_DEBUG; lh5801_instruction(); } while (lh5801_icount > 0); } return cycles - lh5801_icount; }