static INTERRUPT_GEN( gaplus_interrupt_1 ) { device_t *io58xx = device->machine().device("58xx"); device_t *io56xx = device->machine().device("56xx"); irq0_line_assert(device); // this also checks if irq is enabled - IMPORTANT! // so don't replace with cputag_set_input_line(machine, "maincpu", 0, ASSERT_LINE); if (!namcoio_read_reset_line(io58xx)) /* give the cpu a tiny bit of time to write the command before processing it */ device->machine().scheduler().timer_set(attotime::from_usec(50), FUNC(namcoio_run)); if (!namcoio_read_reset_line(io56xx)) /* give the cpu a tiny bit of time to write the command before processing it */ device->machine().scheduler().timer_set(attotime::from_usec(50), FUNC(namcoio_run), 1); }
static INTERRUPT_GEN( gaplus_interrupt_1 ) { running_device *io58xx = device->machine->device("58xx"); running_device *io56xx = device->machine->device("56xx"); irq0_line_assert(device); // this also checks if irq is enabled - IMPORTANT! // so don't replace with cputag_set_input_line(machine, "maincpu", 0, ASSERT_LINE); if (!namcoio_read_reset_line(io58xx)) /* give the cpu a tiny bit of time to write the command before processing it */ timer_set(device->machine, ATTOTIME_IN_USEC(50), NULL, 0, namcoio_run); if (!namcoio_read_reset_line(io56xx)) /* give the cpu a tiny bit of time to write the command before processing it */ timer_set(device->machine, ATTOTIME_IN_USEC(50), NULL, 1, namcoio_run); }
static INTERRUPT_GEN( gaplus_vblank_main_irq ) { gaplus_state *state = device->machine().driver_data<gaplus_state>(); device_t *io58xx = device->machine().device("58xx"); device_t *io56xx = device->machine().device("56xx"); if(state->m_main_irq_mask) cputag_set_input_line(device->machine(), "maincpu", 0, ASSERT_LINE); if (!namcoio_read_reset_line(io58xx)) /* give the cpu a tiny bit of time to write the command before processing it */ device->machine().scheduler().timer_set(attotime::from_usec(50), FUNC(namcoio_run)); if (!namcoio_read_reset_line(io56xx)) /* give the cpu a tiny bit of time to write the command before processing it */ device->machine().scheduler().timer_set(attotime::from_usec(50), FUNC(namcoio_run), 1); }
static INTERRUPT_GEN( toypop_main_vblank_irq ) { toypop_state *state = device->machine().driver_data<toypop_state>(); device_t *namcoio_0 = device->machine().device("58xx"); device_t *namcoio_1 = device->machine().device("56xx_1"); device_t *namcoio_2 = device->machine().device("56xx_2"); if(state->m_main_irq_mask) device_set_input_line(device, 0, HOLD_LINE); if (!namcoio_read_reset_line(namcoio_0)) /* give the cpu a tiny bit of time to write the command before processing it */ device->machine().scheduler().timer_set(attotime::from_usec(50), FUNC(namcoio_run)); if (!namcoio_read_reset_line(namcoio_1)) /* give the cpu a tiny bit of time to write the command before processing it */ device->machine().scheduler().timer_set(attotime::from_usec(50), FUNC(namcoio_run), 1); if (!namcoio_read_reset_line(namcoio_2)) /* give the cpu a tiny bit of time to write the command before processing it */ device->machine().scheduler().timer_set(attotime::from_usec(50), FUNC(namcoio_run), 2); }