void cpunum_set_op_base(int cpunum, unsigned val) { VERIFY_CPUNUM_VOID(cpunum_set_op_base); cpuintrf_push_context(cpunum); (*cpu[cpunum].intf.set_op_base)(val); cpuintrf_pop_context(); }
void cpunum_set_cycle_tbl(int cpunum, int which, void *new_table) { VERIFY_CPUNUM_VOID(cpunum_set_cycle_tbl); cpuintrf_push_context(cpunum); (*cpu[cpunum].intf.set_cycle_table)(which, new_table); cpuintrf_pop_context(); }
void cpunum_set_reg(int cpunum, int regnum, unsigned val) { VERIFY_CPUNUM_VOID(cpunum_set_reg); cpuintrf_push_context(cpunum); (*cpu[cpunum].intf.set_reg)(regnum, val); cpuintrf_pop_context(); }
void cpunum_write_byte(int cpunum, offs_t address, data8_t data) { VERIFY_CPUNUM_VOID(cpunum_write_byte); cpuintrf_push_context(cpunum); (*cpu[cpunum].intf.memory_write)(address, data); cpuintrf_pop_context(); }
void cpunum_reset(int cpunum, void *param, int (*irqack)(int)) { VERIFY_CPUNUM_VOID(cpunum_reset); cpuintrf_push_context(cpunum); (*cpu[cpunum].intf.set_op_base)(0); (*cpu[cpunum].intf.reset)(param); if (irqack) (*cpu[cpunum].intf.set_irq_callback)(irqack); cpuintrf_pop_context(); }
void cpunum_resume(int cpunum, int reason) { VERIFY_CPUNUM_VOID(cpunum_resume); LOG(("cpunum_resume (CPU=%d, r=%X)\n", cpunum, reason)); /* clear the pending suspend bits, and force a resync */ cpu[cpunum].nextsuspend &= ~reason; if (cpu_getexecutingcpu() >= 0) activecpu_abort_timeslice(); }
void cpunum_set_clockscale(int cpunum, double clockscale) { VERIFY_CPUNUM_VOID(cpunum_set_clockscale); cpu[cpunum].clockscale = clockscale; sec_to_cycles[cpunum] = cpu[cpunum].clockscale * Machine->drv->cpu[cpunum].cpu_clock; cycles_to_sec[cpunum] = 1.0 / sec_to_cycles[cpunum]; /* re-compute the perfect interleave factor */ compute_perfect_interleave(); }
void cpunum_suspend(int cpunum, int reason, int eatcycles) { VERIFY_CPUNUM_VOID(cpunum_suspend); LOG(("cpunum_suspend (CPU=%d, r=%X, eat=%d)\n", cpunum, reason, eatcycles)); /* set the pending suspend bits, and force a resync */ cpu[cpunum].nextsuspend |= reason; cpu[cpunum].nexteatcycles = eatcycles; if (cpu_getexecutingcpu() >= 0) activecpu_abort_timeslice(); }