static TIMER_CALLBACK( irq_off ) { const address_space *space = cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM); /* clear the interrupt */ atarigen_scanline_int_ack_w(space, 0, 0, 0xffff); }
static TIMER_CALLBACK( irq_off ) { address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM); /* clear the interrupt */ atarigen_scanline_int_ack_w(space, 0, 0, 0xffff); }
static WRITE16_HANDLER( digital_w ) { if (ACCESSING_LSB) { foodf_set_flip(data & 0x01); if (!(data & 0x04)) atarigen_scanline_int_ack_w(0,0,0); if (!(data & 0x08)) atarigen_video_int_ack_w(0,0,0); coin_counter_w(0, (data >> 6) & 1); coin_counter_w(1, (data >> 7) & 1); } }
static WRITE16_HANDLER( digital_w ) { if (ACCESSING_BITS_0_7) { foodf_set_flip(data & 0x01); /* bit 1 = UPDATE */ if (!(data & 0x04)) atarigen_scanline_int_ack_w(space,0,0,0xffff); if (!(data & 0x08)) atarigen_video_int_ack_w(space,0,0,0xffff); output_set_led_value(0, (data >> 4) & 1); output_set_led_value(1, (data >> 5) & 1); coin_counter_w(0, (data >> 6) & 1); coin_counter_w(1, (data >> 7) & 1); } }
static WRITE16_HANDLER( interrupt_ack_w ) { atarigen_scanline_int_ack_w(space, offset, data, mem_mask); atarigen_video_int_ack_w(space, offset, data, mem_mask); }
static TIMER_CALLBACK( irq_off ) { /* clear the interrupt */ atarigen_scanline_int_ack_w(machine, 0, 0, 0xffff); }
static WRITE_HANDLER( interrupt_ack_w ) { atarigen_scanline_int_ack_w(offset, data); atarigen_video_int_ack_w(offset, data); }
static void interrupt_ack_w(int offset, int data) { atarigen_scanline_int_ack_w(offset, data); atarigen_video_int_ack_w(offset, data); }