Ejemplo n.º 1
0
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);

}
Ejemplo n.º 2
0
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);

}
Ejemplo n.º 3
0
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);
}
Ejemplo n.º 4
0
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);

}