void docastle_shared0_w(int offset,int data) { buffer0[offset] = data; if (offset == 8) /* awake the master CPU */ cpu_trigger(500); }
int arkanoid_68705_mcu_r (int offset) { /* mark that the command has been seen */ cpu_trigger (700); /* return the last value the Z80 wrote */ z80write = 0; return fromz80; }
void arkanoid_68705_portC_w(int offset,int data) { if ((ddrC & 0x04) && (~data & 0x04) && (portC_out & 0x04)) { /* mark that the command has been seen */ cpu_trigger(700); /* return the last value the Z80 wrote */ z80write = 0; portA_in = fromz80; } if ((ddrC & 0x08) && (~data & 0x08) && (portC_out & 0x08)) { /* a write from the 68705 to the Z80; remember its value */ m68705write = 1; toz80 = portA_out; } portC_out = data; }
static void cpu_timeslicecallback(int param) { cpu_trigger(TRIGGER_TIMESLICE); }
void cpu_triggerint(int cpunum) { cpu_trigger(TRIGGER_INT + cpunum); }