mirror of
https://github.com/holub/mame
synced 2025-04-24 01:11:11 +03:00
device callback handler cleanup (nw)
This commit is contained in:
parent
c6533ad919
commit
1c813f4e2a
@ -275,15 +275,14 @@ GFXDECODE_END
|
||||
|
||||
/******************************************************************************/
|
||||
|
||||
static void sound_irq(device_t *device, int linestate)
|
||||
WRITE_LINE_MEMBER(actfancr_state::sound_irq)
|
||||
{
|
||||
actfancr_state *state = device->machine().driver_data<actfancr_state>();
|
||||
state->m_audiocpu->set_input_line(0, linestate); /* IRQ */
|
||||
m_audiocpu->set_input_line(0, state); /* IRQ */
|
||||
}
|
||||
|
||||
static const ym3812_interface ym3812_config =
|
||||
{
|
||||
DEVCB_LINE(sound_irq)
|
||||
DEVCB_DRIVER_LINE_MEMBER(actfancr_state,sound_irq)
|
||||
};
|
||||
|
||||
/******************************************************************************/
|
||||
|
@ -411,7 +411,7 @@ INPUT_PORTS_END
|
||||
|
||||
static const legacy_mos6526_interface cia_0_intf =
|
||||
{
|
||||
DEVCB_LINE(amiga_cia_0_irq), /* irq_func */
|
||||
DEVCB_DRIVER_LINE_MEMBER(amiga_state,amiga_cia_0_irq), /* irq_func */
|
||||
DEVCB_NULL, /* pc_func */
|
||||
DEVCB_NULL,
|
||||
DEVCB_NULL,
|
||||
@ -423,7 +423,7 @@ static const legacy_mos6526_interface cia_0_intf =
|
||||
|
||||
static const legacy_mos6526_interface cia_1_intf =
|
||||
{
|
||||
DEVCB_LINE(amiga_cia_1_irq), /* irq_func */
|
||||
DEVCB_DRIVER_LINE_MEMBER(amiga_state,amiga_cia_1_irq), /* irq_func */
|
||||
DEVCB_NULL, /* pc_func */
|
||||
DEVCB_NULL,
|
||||
DEVCB_NULL,
|
||||
|
@ -1846,15 +1846,14 @@ static const ym2203_interface ym2203_config =
|
||||
DEVCB_NULL
|
||||
};
|
||||
|
||||
static void YM3812_irq( device_t *device, int param )
|
||||
WRITE_LINE_MEMBER(alpha68k_state::ym3812_irq)
|
||||
{
|
||||
alpha68k_state *state = device->machine().driver_data<alpha68k_state>();
|
||||
state->m_audiocpu->set_input_line(0, (param) ? HOLD_LINE : CLEAR_LINE);
|
||||
m_audiocpu->set_input_line(0, (state) ? HOLD_LINE : CLEAR_LINE);
|
||||
}
|
||||
|
||||
static const ym3812_interface ym3812_config =
|
||||
{
|
||||
DEVCB_LINE(YM3812_irq)
|
||||
DEVCB_DRIVER_LINE_MEMBER(alpha68k_state,ym3812_irq)
|
||||
};
|
||||
|
||||
|
||||
|
@ -287,7 +287,7 @@ INPUT_PORTS_END
|
||||
|
||||
static const legacy_mos6526_interface cia_0_intf =
|
||||
{
|
||||
DEVCB_LINE(amiga_cia_0_irq), /* irq_func */
|
||||
DEVCB_DRIVER_LINE_MEMBER(amiga_state,amiga_cia_0_irq), /* irq_func */
|
||||
DEVCB_NULL, /* pc_func */
|
||||
DEVCB_NULL,
|
||||
DEVCB_NULL,
|
||||
@ -299,7 +299,7 @@ static const legacy_mos6526_interface cia_0_intf =
|
||||
|
||||
static const legacy_mos6526_interface cia_1_intf =
|
||||
{
|
||||
DEVCB_LINE(amiga_cia_1_irq), /* irq_func */
|
||||
DEVCB_DRIVER_LINE_MEMBER(amiga_state,amiga_cia_1_irq), /* irq_func */
|
||||
DEVCB_NULL, /* pc_func */
|
||||
DEVCB_NULL,
|
||||
DEVCB_NULL,
|
||||
|
@ -104,6 +104,7 @@ public:
|
||||
required_ioport m_io_in1;
|
||||
required_ioport m_io_in2;
|
||||
required_ioport m_io_in3;
|
||||
DECLARE_WRITE_LINE_MEMBER(sound_irq_gen);
|
||||
};
|
||||
|
||||
//UINT32 *backfire_180010, *backfire_188010;
|
||||
@ -436,14 +437,14 @@ static GFXDECODE_START( backfire )
|
||||
GFXDECODE_END
|
||||
|
||||
|
||||
static void sound_irq_gen(device_t *device, int state)
|
||||
WRITE_LINE_MEMBER(backfire_state::sound_irq_gen)
|
||||
{
|
||||
logerror("sound irq\n");
|
||||
}
|
||||
|
||||
static const ymz280b_interface ymz280b_intf =
|
||||
{
|
||||
DEVCB_LINE(sound_irq_gen)
|
||||
DEVCB_DRIVER_LINE_MEMBER(backfire_state,sound_irq_gen)
|
||||
};
|
||||
|
||||
INTERRUPT_GEN_MEMBER(backfire_state::deco32_vbl_interrupt)
|
||||
|
@ -633,9 +633,9 @@ GFXDECODE_END
|
||||
|
||||
/******************************************************************************/
|
||||
|
||||
static void sound_irq( device_t *device, int irq )
|
||||
WRITE_LINE_MEMBER(bbusters_state::sound_irq)
|
||||
{
|
||||
device->machine().device("audiocpu")->execute().set_input_line(0, irq ? ASSERT_LINE : CLEAR_LINE);
|
||||
machine().device("audiocpu")->execute().set_input_line(0, state ? ASSERT_LINE : CLEAR_LINE);
|
||||
}
|
||||
|
||||
static const ym2608_interface ym2608_config =
|
||||
@ -645,12 +645,12 @@ static const ym2608_interface ym2608_config =
|
||||
AY8910_DEFAULT_LOADS,
|
||||
DEVCB_NULL, DEVCB_NULL, DEVCB_NULL, DEVCB_NULL
|
||||
},
|
||||
DEVCB_LINE(sound_irq)
|
||||
DEVCB_DRIVER_LINE_MEMBER(bbusters_state,sound_irq)
|
||||
};
|
||||
|
||||
static const ym2610_interface ym2610_config =
|
||||
{
|
||||
DEVCB_LINE(sound_irq)
|
||||
DEVCB_DRIVER_LINE_MEMBER(bbusters_state,sound_irq)
|
||||
};
|
||||
|
||||
/******************************************************************************/
|
||||
|
@ -358,16 +358,14 @@ static INPUT_PORTS_START( bishi2p )
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
static void sound_irq_gen(device_t *device, int state)
|
||||
WRITE_LINE_MEMBER(bishi_state::sound_irq_gen)
|
||||
{
|
||||
bishi_state *bishi = device->machine().driver_data<bishi_state>();
|
||||
|
||||
bishi->m_maincpu->set_input_line(M68K_IRQ_1, (state) ? ASSERT_LINE : CLEAR_LINE);
|
||||
m_maincpu->set_input_line(M68K_IRQ_1, (state) ? ASSERT_LINE : CLEAR_LINE);
|
||||
}
|
||||
|
||||
static const ymz280b_interface ymz280b_intf =
|
||||
{
|
||||
DEVCB_LINE(sound_irq_gen)
|
||||
DEVCB_DRIVER_LINE_MEMBER(bishi_state,sound_irq_gen)
|
||||
};
|
||||
|
||||
|
||||
|
@ -139,11 +139,10 @@ INTERRUPT_GEN_MEMBER(cave_state::cave_interrupt)
|
||||
}
|
||||
|
||||
/* Called by the YMZ280B to set the IRQ state */
|
||||
static void sound_irq_gen( device_t *device, int state )
|
||||
WRITE_LINE_MEMBER(cave_state::sound_irq_gen)
|
||||
{
|
||||
cave_state *cave = device->machine().driver_data<cave_state>();
|
||||
cave->m_sound_irq = (state != 0);
|
||||
update_irq_state(device->machine());
|
||||
m_sound_irq = (state != 0);
|
||||
update_irq_state(machine());
|
||||
}
|
||||
|
||||
|
||||
@ -1817,7 +1816,7 @@ MACHINE_RESET_MEMBER(cave_state,cave)
|
||||
|
||||
static const ymz280b_interface ymz280b_intf =
|
||||
{
|
||||
DEVCB_LINE(sound_irq_gen)
|
||||
DEVCB_DRIVER_LINE_MEMBER(cave_state,sound_irq_gen)
|
||||
};
|
||||
|
||||
WRITE_LINE_MEMBER(cave_state::irqhandler)
|
||||
|
@ -739,7 +739,7 @@ INPUT_PORTS_END
|
||||
|
||||
static const legacy_mos6526_interface cia_0_intf =
|
||||
{
|
||||
DEVCB_LINE(amiga_cia_0_irq), /* irq_func */
|
||||
DEVCB_DRIVER_LINE_MEMBER(amiga_state,amiga_cia_0_irq), /* irq_func */
|
||||
DEVCB_NULL, /* pc_func */
|
||||
DEVCB_NULL,
|
||||
DEVCB_NULL,
|
||||
@ -751,7 +751,7 @@ static const legacy_mos6526_interface cia_0_intf =
|
||||
|
||||
static const legacy_mos6526_interface cia_1_intf =
|
||||
{
|
||||
DEVCB_LINE(amiga_cia_1_irq), /* irq_func */
|
||||
DEVCB_DRIVER_LINE_MEMBER(amiga_state,amiga_cia_1_irq), /* irq_func */
|
||||
DEVCB_NULL, /* pc_func */
|
||||
DEVCB_NULL,
|
||||
DEVCB_NULL,
|
||||
|
@ -94,6 +94,7 @@ public:
|
||||
virtual void palette_init();
|
||||
UINT32 screen_update_chanbara(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
void draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect );
|
||||
DECLARE_WRITE_LINE_MEMBER(sound_irq);
|
||||
};
|
||||
|
||||
|
||||
@ -361,10 +362,9 @@ WRITE8_MEMBER(chanbara_state::chanbara_ay_out_1_w)
|
||||
//if (data & 0xf8) printf("chanbara_ay_out_1_w unused bits set %02x\n", data & 0xf8);
|
||||
}
|
||||
|
||||
static void sound_irq( device_t *device, int linestate )
|
||||
WRITE_LINE_MEMBER(chanbara_state::sound_irq)
|
||||
{
|
||||
chanbara_state *state = device->machine().driver_data<chanbara_state>();
|
||||
state->m_maincpu->set_input_line(0, linestate);
|
||||
m_maincpu->set_input_line(0, state);
|
||||
}
|
||||
|
||||
|
||||
@ -378,7 +378,7 @@ static const ym2203_interface ym2203_config =
|
||||
DEVCB_DRIVER_MEMBER(chanbara_state,chanbara_ay_out_0_w),
|
||||
DEVCB_DRIVER_MEMBER(chanbara_state,chanbara_ay_out_1_w),
|
||||
},
|
||||
DEVCB_LINE(sound_irq)
|
||||
DEVCB_DRIVER_LINE_MEMBER(chanbara_state,sound_irq)
|
||||
};
|
||||
|
||||
|
||||
|
@ -197,9 +197,9 @@ GFXDECODE_END
|
||||
*
|
||||
*************************************/
|
||||
|
||||
static void sound_irq(device_t *device, int linestate)
|
||||
WRITE_LINE_MEMBER(compgolf_state::sound_irq)
|
||||
{
|
||||
device->machine().device("maincpu")->execute().set_input_line(0, linestate);
|
||||
machine().device("maincpu")->execute().set_input_line(0, state);
|
||||
}
|
||||
|
||||
static const ym2203_interface ym2203_config =
|
||||
@ -212,7 +212,7 @@ static const ym2203_interface ym2203_config =
|
||||
DEVCB_DRIVER_MEMBER(compgolf_state,compgolf_scrollx_lo_w),
|
||||
DEVCB_DRIVER_MEMBER(compgolf_state,compgolf_scrolly_lo_w),
|
||||
},
|
||||
DEVCB_LINE(sound_irq)
|
||||
DEVCB_DRIVER_LINE_MEMBER(compgolf_state,sound_irq)
|
||||
};
|
||||
|
||||
|
||||
|
@ -430,6 +430,7 @@ public:
|
||||
INTERRUPT_GEN_MEMBER(system_h1);
|
||||
TIMER_DEVICE_CALLBACK_MEMBER(system_h1_main);
|
||||
TIMER_DEVICE_CALLBACK_MEMBER(system_h1_sub);
|
||||
DECLARE_WRITE_LINE_MEMBER(scsp_irq);
|
||||
|
||||
void sysh1_dma_transfer( address_space &space, UINT16 dma_index );
|
||||
|
||||
@ -3536,16 +3537,15 @@ void coolridr_state::machine_reset()
|
||||
m_usethreads = m_io_config->read()&1;
|
||||
}
|
||||
|
||||
static void scsp_irq(device_t *device, int irq)
|
||||
WRITE_LINE_MEMBER(coolridr_state::scsp_irq)
|
||||
{
|
||||
coolridr_state *state = device->machine().driver_data<coolridr_state>();
|
||||
if (irq > 0)
|
||||
if (state > 0)
|
||||
{
|
||||
state->m_scsp_last_line = irq;
|
||||
state->m_soundcpu->set_input_line(irq, ASSERT_LINE);
|
||||
m_scsp_last_line = state;
|
||||
m_soundcpu->set_input_line(state, ASSERT_LINE);
|
||||
}
|
||||
else
|
||||
state->m_soundcpu->set_input_line(-irq, CLEAR_LINE);
|
||||
m_soundcpu->set_input_line(-state, CLEAR_LINE);
|
||||
}
|
||||
|
||||
WRITE_LINE_MEMBER(coolridr_state::scsp1_to_sh1_irq)
|
||||
@ -3569,7 +3569,7 @@ WRITE_LINE_MEMBER(coolridr_state::scsp2_to_sh1_irq)
|
||||
static const scsp_interface scsp_config =
|
||||
{
|
||||
0,
|
||||
DEVCB_LINE(scsp_irq),
|
||||
DEVCB_DRIVER_LINE_MEMBER(coolridr_state,scsp_irq),
|
||||
DEVCB_DRIVER_LINE_MEMBER(coolridr_state, scsp1_to_sh1_irq)
|
||||
};
|
||||
|
||||
|
@ -8982,16 +8982,14 @@ INTERRUPT_GEN_MEMBER(dynax_state::quizchq_irq)
|
||||
m_maincpu->set_input_line_and_vector(0, HOLD_LINE, 0xee);
|
||||
}
|
||||
|
||||
static WRITE_LINE_DEVICE_HANDLER( quizchq_rtc_irq )
|
||||
WRITE_LINE_MEMBER(dynax_state::quizchq_rtc_irq )
|
||||
{
|
||||
dynax_state *drvstate = device->machine().driver_data<dynax_state>();
|
||||
|
||||
drvstate->m_maincpu->set_input_line_and_vector(0, HOLD_LINE, 0xfc);
|
||||
m_maincpu->set_input_line_and_vector(0, HOLD_LINE, 0xfc);
|
||||
}
|
||||
|
||||
static MSM6242_INTERFACE( quizchq_rtc_intf )
|
||||
{
|
||||
DEVCB_LINE(quizchq_rtc_irq)
|
||||
DEVCB_DRIVER_LINE_MEMBER(dynax_state,quizchq_rtc_irq)
|
||||
};
|
||||
|
||||
static MACHINE_CONFIG_START( quizchq, dynax_state )
|
||||
@ -9066,16 +9064,14 @@ INTERRUPT_GEN_MEMBER(dynax_state::mmpanic_irq)
|
||||
}
|
||||
|
||||
|
||||
static WRITE_LINE_DEVICE_HANDLER( mmpanic_rtc_irq )
|
||||
WRITE_LINE_MEMBER(dynax_state::mmpanic_rtc_irq )
|
||||
{
|
||||
dynax_state *drvstate = device->machine().driver_data<dynax_state>();
|
||||
|
||||
drvstate->m_maincpu->set_input_line_and_vector(0, HOLD_LINE, 0xdf); // RST 18, clock
|
||||
m_maincpu->set_input_line_and_vector(0, HOLD_LINE, 0xdf); // RST 18, clock
|
||||
}
|
||||
|
||||
static MSM6242_INTERFACE( mmpanic_rtc_intf )
|
||||
{
|
||||
DEVCB_LINE(mmpanic_rtc_irq)
|
||||
DEVCB_DRIVER_LINE_MEMBER(dynax_state,mmpanic_rtc_irq)
|
||||
};
|
||||
|
||||
static MACHINE_CONFIG_START( mmpanic, dynax_state )
|
||||
@ -9147,22 +9143,20 @@ INTERRUPT_GEN_MEMBER(dynax_state::hanakanz_irq)
|
||||
m_maincpu->set_input_line_and_vector(0, HOLD_LINE, 0xe0);
|
||||
}
|
||||
|
||||
static WRITE_LINE_DEVICE_HANDLER(hanakanz_rtc_irq)
|
||||
WRITE_LINE_MEMBER(dynax_state::hanakanz_rtc_irq)
|
||||
{
|
||||
dynax_state *drvstate = device->machine().driver_data<dynax_state>();
|
||||
|
||||
/* I haven't found a irq ack register, so I need this kludge to
|
||||
make sure I don't lose any interrupt generated by the blitter,
|
||||
otherwise quizchq would lock up. */
|
||||
//if (downcast<cpu_device *>(drvstate->m_maincpu)->input_state(0))
|
||||
// return;
|
||||
|
||||
drvstate->m_maincpu->set_input_line_and_vector(0, HOLD_LINE, 0xe2);
|
||||
m_maincpu->set_input_line_and_vector(0, HOLD_LINE, 0xe2);
|
||||
}
|
||||
|
||||
static MSM6242_INTERFACE( hanakanz_rtc_intf )
|
||||
{
|
||||
DEVCB_LINE(hanakanz_rtc_irq)
|
||||
DEVCB_DRIVER_LINE_MEMBER(dynax_state,hanakanz_rtc_irq)
|
||||
};
|
||||
|
||||
static MACHINE_CONFIG_START( hanakanz, dynax_state )
|
||||
@ -9282,22 +9276,20 @@ INTERRUPT_GEN_MEMBER(dynax_state::mjchuuka_irq)
|
||||
m_maincpu->set_input_line_and_vector(0, HOLD_LINE, 0xf8);
|
||||
}
|
||||
|
||||
static WRITE_LINE_DEVICE_HANDLER(mjchuuka_rtc_irq)
|
||||
WRITE_LINE_MEMBER(dynax_state::mjchuuka_rtc_irq)
|
||||
{
|
||||
dynax_state *drvstate = device->machine().driver_data<dynax_state>();
|
||||
|
||||
/* I haven't found a irq ack register, so I need this kludge to
|
||||
make sure I don't lose any interrupt generated by the blitter,
|
||||
otherwise quizchq would lock up. */
|
||||
//if (downcast<cpu_device *>(drvstate->m_maincpu)->input_state(0))
|
||||
// return;
|
||||
|
||||
drvstate->m_maincpu->set_input_line_and_vector(0, HOLD_LINE, 0xfa);
|
||||
m_maincpu->set_input_line_and_vector(0, HOLD_LINE, 0xfa);
|
||||
}
|
||||
|
||||
static MSM6242_INTERFACE( mjchuuka_rtc_intf )
|
||||
{
|
||||
DEVCB_LINE(mjchuuka_rtc_irq)
|
||||
DEVCB_DRIVER_LINE_MEMBER(dynax_state,mjchuuka_rtc_irq)
|
||||
};
|
||||
|
||||
static MACHINE_CONFIG_DERIVED( mjchuuka, hanakanz )
|
||||
@ -9376,22 +9368,20 @@ static const ay8910_interface mjmyster_ay8910_interface =
|
||||
DEVCB_NULL, DEVCB_HANDLER(ddenlovr_select_w) // W
|
||||
};
|
||||
|
||||
static WRITE_LINE_DEVICE_HANDLER(mjmyster_rtc_irq)
|
||||
WRITE_LINE_MEMBER(dynax_state::mjmyster_rtc_irq)
|
||||
{
|
||||
dynax_state *drvstate = device->machine().driver_data<dynax_state>();
|
||||
|
||||
/* I haven't found a irq ack register, so I need this kludge to
|
||||
make sure I don't lose any interrupt generated by the blitter,
|
||||
otherwise quizchq would lock up. */
|
||||
//if (downcast<cpu_device *>(drvstate->m_maincpu)->input_state(0))
|
||||
// return;
|
||||
|
||||
drvstate->m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE);
|
||||
m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE);
|
||||
}
|
||||
|
||||
static MSM6242_INTERFACE( mjmyster_rtc_intf )
|
||||
{
|
||||
DEVCB_LINE(mjmyster_rtc_irq)
|
||||
DEVCB_DRIVER_LINE_MEMBER(dynax_state,mjmyster_rtc_irq)
|
||||
};
|
||||
|
||||
|
||||
@ -9447,22 +9437,20 @@ static const ay8910_interface hginga_ay8910_interface =
|
||||
DEVCB_NULL, DEVCB_HANDLER(ddenlovr_select_w) // W
|
||||
};
|
||||
|
||||
static WRITE_LINE_DEVICE_HANDLER(hginga_rtc_irq)
|
||||
WRITE_LINE_MEMBER(dynax_state::hginga_rtc_irq)
|
||||
{
|
||||
dynax_state *drvstate = device->machine().driver_data<dynax_state>();
|
||||
|
||||
/* I haven't found a irq ack register, so I need this kludge to
|
||||
make sure I don't lose any interrupt generated by the blitter,
|
||||
otherwise quizchq would lock up. */
|
||||
//if (downcast<cpu_device *>(drvstate->m_maincpu)->input_state(0))
|
||||
// return;
|
||||
|
||||
drvstate->m_maincpu->set_input_line_and_vector(0, HOLD_LINE, 0xee);
|
||||
m_maincpu->set_input_line_and_vector(0, HOLD_LINE, 0xee);
|
||||
}
|
||||
|
||||
static MSM6242_INTERFACE( hginga_rtc_intf )
|
||||
{
|
||||
DEVCB_LINE(hginga_rtc_irq)
|
||||
DEVCB_DRIVER_LINE_MEMBER(dynax_state,hginga_rtc_irq)
|
||||
};
|
||||
|
||||
static MACHINE_CONFIG_DERIVED( hginga, quizchq )
|
||||
@ -9564,17 +9552,15 @@ INTERRUPT_GEN_MEMBER(dynax_state::mjflove_irq)
|
||||
m_maincpu->set_input_line(0, HOLD_LINE);
|
||||
}
|
||||
|
||||
static WRITE_LINE_DEVICE_HANDLER(mjflove_rtc_irq)
|
||||
WRITE_LINE_MEMBER(dynax_state::mjflove_rtc_irq)
|
||||
{
|
||||
dynax_state *drvstate = device->machine().driver_data<dynax_state>();
|
||||
|
||||
drvstate->m_mjflove_irq_cause = 2;
|
||||
drvstate->m_maincpu->set_input_line(0, HOLD_LINE);
|
||||
m_mjflove_irq_cause = 2;
|
||||
m_maincpu->set_input_line(0, HOLD_LINE);
|
||||
}
|
||||
|
||||
static MSM6242_INTERFACE( mjflove_rtc_intf )
|
||||
{
|
||||
DEVCB_LINE(mjflove_rtc_irq)
|
||||
DEVCB_DRIVER_LINE_MEMBER(dynax_state,mjflove_rtc_irq)
|
||||
};
|
||||
|
||||
static MACHINE_CONFIG_DERIVED( mjflove, quizchq )
|
||||
|
@ -60,6 +60,7 @@ public:
|
||||
UINT32 screen_update_wcvol95(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
|
||||
INTERRUPT_GEN_MEMBER(deco32_vbl_interrupt);
|
||||
void descramble_sound( const char *tag );
|
||||
DECLARE_WRITE_LINE_MEMBER(sound_irq_gen);
|
||||
};
|
||||
|
||||
|
||||
@ -308,14 +309,14 @@ GFXDECODE_END
|
||||
|
||||
/**********************************************************************************/
|
||||
|
||||
static void sound_irq_gen(device_t *device, int state)
|
||||
WRITE_LINE_MEMBER(deco156_state::sound_irq_gen)
|
||||
{
|
||||
logerror("sound irq\n");
|
||||
}
|
||||
|
||||
static const ymz280b_interface ymz280b_intf =
|
||||
{
|
||||
DEVCB_LINE(sound_irq_gen)
|
||||
DEVCB_DRIVER_LINE_MEMBER(deco156_state,sound_irq_gen)
|
||||
};
|
||||
|
||||
INTERRUPT_GEN_MEMBER(deco156_state::deco32_vbl_interrupt)
|
||||
|
@ -772,18 +772,16 @@ READ8_MEMBER(dooyong_state::unk_r)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void irqhandler_2203_1(device_t *device, int irq)
|
||||
WRITE_LINE_MEMBER(dooyong_state::irqhandler_2203_1)
|
||||
{
|
||||
dooyong_state *state = device->machine().driver_data<dooyong_state>();
|
||||
state->m_interrupt_line_1=irq;
|
||||
device->machine().device("audiocpu")->execute().set_input_line(0, (state->m_interrupt_line_1 | state->m_interrupt_line_2) ? ASSERT_LINE : CLEAR_LINE);
|
||||
m_interrupt_line_1=state;
|
||||
machine().device("audiocpu")->execute().set_input_line(0, (m_interrupt_line_1 | m_interrupt_line_2) ? ASSERT_LINE : CLEAR_LINE);
|
||||
}
|
||||
|
||||
static void irqhandler_2203_2(device_t *device, int irq)
|
||||
WRITE_LINE_MEMBER(dooyong_state::irqhandler_2203_2)
|
||||
{
|
||||
dooyong_state *state = device->machine().driver_data<dooyong_state>();
|
||||
state->m_interrupt_line_2=irq;
|
||||
device->machine().device("audiocpu")->execute().set_input_line(0, (state->m_interrupt_line_1 | state->m_interrupt_line_2) ? ASSERT_LINE : CLEAR_LINE);
|
||||
m_interrupt_line_2=state;
|
||||
machine().device("audiocpu")->execute().set_input_line(0, (m_interrupt_line_1 | m_interrupt_line_2) ? ASSERT_LINE : CLEAR_LINE);
|
||||
}
|
||||
|
||||
static const ym2203_interface ym2203_interface_1 =
|
||||
@ -793,7 +791,7 @@ static const ym2203_interface ym2203_interface_1 =
|
||||
AY8910_DEFAULT_LOADS,
|
||||
DEVCB_DRIVER_MEMBER(dooyong_state,unk_r), DEVCB_NULL, DEVCB_NULL, DEVCB_NULL
|
||||
},
|
||||
DEVCB_LINE(irqhandler_2203_1)
|
||||
DEVCB_DRIVER_LINE_MEMBER(dooyong_state,irqhandler_2203_1)
|
||||
};
|
||||
|
||||
static const ym2203_interface ym2203_interface_2 =
|
||||
@ -803,7 +801,7 @@ static const ym2203_interface ym2203_interface_2 =
|
||||
AY8910_DEFAULT_LOADS,
|
||||
DEVCB_DRIVER_MEMBER(dooyong_state,unk_r), DEVCB_NULL, DEVCB_NULL, DEVCB_NULL
|
||||
},
|
||||
DEVCB_LINE(irqhandler_2203_2)
|
||||
DEVCB_DRIVER_LINE_MEMBER(dooyong_state,irqhandler_2203_2)
|
||||
};
|
||||
|
||||
/***************************************************************************
|
||||
|
@ -259,6 +259,7 @@ public:
|
||||
void init_lights(write32_delegate out1, write32_delegate out2, write32_delegate out3);
|
||||
void init_firebeat();
|
||||
void init_keyboard();
|
||||
DECLARE_WRITE_LINE_MEMBER(sound_irq_callback);
|
||||
};
|
||||
|
||||
|
||||
@ -1890,13 +1891,13 @@ READ8_MEMBER(firebeat_state::soundram_r)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void sound_irq_callback(device_t *device, int state)
|
||||
WRITE_LINE_MEMBER(firebeat_state::sound_irq_callback)
|
||||
{
|
||||
}
|
||||
|
||||
static const ymz280b_interface ymz280b_intf =
|
||||
{
|
||||
DEVCB_LINE(sound_irq_callback), // irq
|
||||
DEVCB_DRIVER_LINE_MEMBER(firebeat_state,sound_irq_callback), // irq
|
||||
DEVCB_DRIVER_MEMBER(firebeat_state,soundram_r)
|
||||
};
|
||||
|
||||
|
@ -259,17 +259,17 @@ GFXDECODE_END
|
||||
|
||||
/*** MORE SOUND RELATED ******************************************************/
|
||||
|
||||
static void gs_ym2610_irq(device_t *device, int irq)
|
||||
WRITE_LINE_MEMBER(gstriker_state::gs_ym2610_irq)
|
||||
{
|
||||
if (irq)
|
||||
device->machine().device("audiocpu")->execute().set_input_line(0, ASSERT_LINE);
|
||||
if (state)
|
||||
machine().device("audiocpu")->execute().set_input_line(0, ASSERT_LINE);
|
||||
else
|
||||
device->machine().device("audiocpu")->execute().set_input_line(0, CLEAR_LINE);
|
||||
machine().device("audiocpu")->execute().set_input_line(0, CLEAR_LINE);
|
||||
}
|
||||
|
||||
static const ym2610_interface ym2610_config =
|
||||
{
|
||||
DEVCB_LINE(gs_ym2610_irq)
|
||||
DEVCB_DRIVER_LINE_MEMBER(gstriker_state,gs_ym2610_irq)
|
||||
};
|
||||
|
||||
/*** MEMORY LAYOUTS **********************************************************/
|
||||
|
@ -257,6 +257,8 @@ public:
|
||||
|
||||
int write_dest_byte(UINT8 usedata);
|
||||
//UINT16 main_m_vram[0x800][0x800];
|
||||
|
||||
DECLARE_WRITE_LINE_MEMBER(sound_irq_gen);
|
||||
};
|
||||
|
||||
|
||||
@ -1309,14 +1311,14 @@ ADDRESS_MAP_END
|
||||
/***************************************************************************************/
|
||||
|
||||
|
||||
static void sound_irq_gen(device_t *device, int state)
|
||||
WRITE_LINE_MEMBER(gunpey_state::sound_irq_gen)
|
||||
{
|
||||
logerror("sound irq\n");
|
||||
}
|
||||
|
||||
static const ymz280b_interface ymz280b_intf =
|
||||
{
|
||||
DEVCB_LINE(sound_irq_gen)
|
||||
DEVCB_DRIVER_LINE_MEMBER(gunpey_state,sound_irq_gen)
|
||||
};
|
||||
|
||||
|
||||
|
@ -626,9 +626,9 @@ WRITE8_MEMBER(itech8_state::itech8_nmi_ack_w)
|
||||
}
|
||||
|
||||
|
||||
static void generate_sound_irq(device_t *device, int state)
|
||||
WRITE_LINE_MEMBER(itech8_state::generate_sound_irq)
|
||||
{
|
||||
device->machine().device("soundcpu")->execute().set_input_line(M6809_FIRQ_LINE, state ? ASSERT_LINE : CLEAR_LINE);
|
||||
machine().device("soundcpu")->execute().set_input_line(M6809_FIRQ_LINE, state ? ASSERT_LINE : CLEAR_LINE);
|
||||
}
|
||||
|
||||
|
||||
@ -1645,7 +1645,7 @@ static const ym2203_interface ym2203_config =
|
||||
DEVCB_NULL,
|
||||
DEVCB_DRIVER_MEMBER(itech8_state,ym2203_portb_out)
|
||||
},
|
||||
DEVCB_LINE(generate_sound_irq)
|
||||
DEVCB_DRIVER_LINE_MEMBER(itech8_state,generate_sound_irq)
|
||||
};
|
||||
|
||||
|
||||
@ -1659,13 +1659,13 @@ static const ym2608_interface ym2608b_config =
|
||||
DEVCB_NULL,
|
||||
DEVCB_DRIVER_MEMBER(itech8_state,ym2203_portb_out),
|
||||
},
|
||||
DEVCB_LINE(generate_sound_irq)
|
||||
DEVCB_DRIVER_LINE_MEMBER(itech8_state,generate_sound_irq)
|
||||
};
|
||||
|
||||
|
||||
static const ym3812_interface ym3812_config =
|
||||
{
|
||||
DEVCB_LINE(generate_sound_irq)
|
||||
DEVCB_DRIVER_LINE_MEMBER(itech8_state,generate_sound_irq)
|
||||
};
|
||||
|
||||
|
||||
|
@ -414,10 +414,9 @@ WRITE8_MEMBER(lockon_state::sound_vol)
|
||||
m_f2203_3r->flt_volume_set_volume(rgain);
|
||||
}
|
||||
|
||||
static void ym2203_irq(device_t *device, int irq)
|
||||
WRITE_LINE_MEMBER(lockon_state::ym2203_irq)
|
||||
{
|
||||
lockon_state *state = device->machine().driver_data<lockon_state>();
|
||||
state->m_audiocpu->set_input_line(0, irq ? ASSERT_LINE : CLEAR_LINE );
|
||||
m_audiocpu->set_input_line(0, state ? ASSERT_LINE : CLEAR_LINE );
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(lockon_state::ym2203_out_b)
|
||||
@ -440,7 +439,7 @@ static const ym2203_interface ym2203_config =
|
||||
DEVCB_NULL,
|
||||
DEVCB_DRIVER_MEMBER(lockon_state,ym2203_out_b),
|
||||
},
|
||||
DEVCB_LINE(ym2203_irq)
|
||||
DEVCB_DRIVER_LINE_MEMBER(lockon_state,ym2203_irq)
|
||||
};
|
||||
|
||||
|
||||
|
@ -412,15 +412,14 @@ GFXDECODE_END
|
||||
|
||||
|
||||
/* Stolen from Psikyo.c */
|
||||
static void sound_irq( device_t *device, int irq )
|
||||
WRITE_LINE_MEMBER(mcatadv_state::sound_irq)
|
||||
{
|
||||
mcatadv_state *state = device->machine().driver_data<mcatadv_state>();
|
||||
state->m_soundcpu->set_input_line(0, irq ? ASSERT_LINE : CLEAR_LINE);
|
||||
m_soundcpu->set_input_line(0, state ? ASSERT_LINE : CLEAR_LINE);
|
||||
}
|
||||
|
||||
static const ym2610_interface mcatadv_ym2610_interface =
|
||||
{
|
||||
DEVCB_LINE(sound_irq) /* irq */
|
||||
DEVCB_DRIVER_LINE_MEMBER(mcatadv_state,sound_irq) /* irq */
|
||||
};
|
||||
|
||||
|
||||
|
@ -244,10 +244,9 @@ INTERRUPT_GEN_MEMBER(metro_state::puzzlet_interrupt)
|
||||
m_maincpu->set_input_line(H8_METRO_TIMER_HACK, HOLD_LINE);
|
||||
}
|
||||
|
||||
static void ymf278b_interrupt( device_t *device, int active )
|
||||
WRITE_LINE_MEMBER(metro_state::ymf278b_interrupt)
|
||||
{
|
||||
metro_state *state = device->machine().driver_data<metro_state>();
|
||||
state->m_maincpu->set_input_line(2, active);
|
||||
m_maincpu->set_input_line(2, state);
|
||||
}
|
||||
|
||||
|
||||
@ -440,7 +439,7 @@ WRITE8_MEMBER(metro_state::daitorid_portb_w)
|
||||
|
||||
static const ymf278b_interface ymf278b_config =
|
||||
{
|
||||
DEVCB_LINE(ymf278b_interrupt)
|
||||
DEVCB_DRIVER_LINE_MEMBER(metro_state,ymf278b_interrupt)
|
||||
};
|
||||
|
||||
|
||||
|
@ -1872,22 +1872,21 @@ static ADDRESS_MAP_START( model2_snd, AS_PROGRAM, 16, model2_state )
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
static void scsp_irq(device_t *device, int irq)
|
||||
WRITE_LINE_MEMBER(model2_state::scsp_irq)
|
||||
{
|
||||
model2_state *state = device->machine().driver_data<model2_state>();
|
||||
if (irq > 0)
|
||||
if (state > 0)
|
||||
{
|
||||
state->m_scsp_last_line = irq;
|
||||
device->machine().device("audiocpu")->execute().set_input_line(irq, ASSERT_LINE);
|
||||
m_scsp_last_line = state;
|
||||
machine().device("audiocpu")->execute().set_input_line(state, ASSERT_LINE);
|
||||
}
|
||||
else
|
||||
device->machine().device("audiocpu")->execute().set_input_line(-irq, CLEAR_LINE);
|
||||
machine().device("audiocpu")->execute().set_input_line(-state, CLEAR_LINE);
|
||||
}
|
||||
|
||||
static const scsp_interface scsp_config =
|
||||
{
|
||||
0,
|
||||
DEVCB_LINE(scsp_irq),
|
||||
DEVCB_DRIVER_LINE_MEMBER(model2_state,scsp_irq),
|
||||
DEVCB_NULL
|
||||
};
|
||||
|
||||
|
@ -5286,22 +5286,21 @@ static ADDRESS_MAP_START( model3_snd, AS_PROGRAM, 16, model3_state )
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
static void scsp_irq(device_t *device, int irq)
|
||||
WRITE_LINE_MEMBER(model3_state::scsp_irq)
|
||||
{
|
||||
model3_state *state = device->machine().driver_data<model3_state>();
|
||||
if (irq > 0)
|
||||
if (state > 0)
|
||||
{
|
||||
state->m_scsp_last_line = irq;
|
||||
device->machine().device("audiocpu")->execute().set_input_line(irq, ASSERT_LINE);
|
||||
m_scsp_last_line = state;
|
||||
machine().device("audiocpu")->execute().set_input_line(state, ASSERT_LINE);
|
||||
}
|
||||
else
|
||||
device->machine().device("audiocpu")->execute().set_input_line(-irq, CLEAR_LINE);
|
||||
machine().device("audiocpu")->execute().set_input_line(-state, CLEAR_LINE);
|
||||
}
|
||||
|
||||
static const scsp_interface scsp_config =
|
||||
{
|
||||
0,
|
||||
DEVCB_LINE(scsp_irq),
|
||||
DEVCB_DRIVER_LINE_MEMBER(model3_state,scsp_irq),
|
||||
DEVCB_NULL
|
||||
};
|
||||
|
||||
|
@ -330,7 +330,7 @@ MACHINE_RESET_MEMBER(mquake_state,mquake)
|
||||
|
||||
static const legacy_mos6526_interface cia_0_intf =
|
||||
{
|
||||
DEVCB_LINE(amiga_cia_0_irq), /* irq_func */
|
||||
DEVCB_DRIVER_LINE_MEMBER(amiga_state,amiga_cia_0_irq), /* irq_func */
|
||||
DEVCB_NULL, /* pc_func */
|
||||
DEVCB_NULL,
|
||||
DEVCB_NULL,
|
||||
@ -342,7 +342,7 @@ static const legacy_mos6526_interface cia_0_intf =
|
||||
|
||||
static const legacy_mos6526_interface cia_1_intf =
|
||||
{
|
||||
DEVCB_LINE(amiga_cia_1_irq), /* irq_func */
|
||||
DEVCB_DRIVER_LINE_MEMBER(amiga_state,amiga_cia_1_irq), /* irq_func */
|
||||
DEVCB_NULL, /* pc_func */
|
||||
DEVCB_NULL,
|
||||
DEVCB_NULL,
|
||||
|
@ -1823,9 +1823,9 @@ ADDRESS_MAP_END
|
||||
/*
|
||||
* Aica
|
||||
*/
|
||||
static void aica_irq(device_t *device, int irq)
|
||||
WRITE_LINE_MEMBER(dc_state::aica_irq)
|
||||
{
|
||||
device->machine().device("soundcpu")->execute().set_input_line(ARM7_FIRQ_LINE, irq ? ASSERT_LINE : CLEAR_LINE);
|
||||
machine().device("soundcpu")->execute().set_input_line(ARM7_FIRQ_LINE, state ? ASSERT_LINE : CLEAR_LINE);
|
||||
}
|
||||
|
||||
|
||||
@ -1833,7 +1833,7 @@ static const aica_interface aica_config =
|
||||
{
|
||||
TRUE,
|
||||
0,
|
||||
DEVCB_LINE(aica_irq)
|
||||
DEVCB_DRIVER_LINE_MEMBER(dc_state,aica_irq)
|
||||
};
|
||||
|
||||
|
||||
|
@ -1480,7 +1480,7 @@ static const ay8910_interface ay8910_interface_2 =
|
||||
DEVCB_DEVICE_MEMBER("k007232", k005289_device, k005289_control_B_w)
|
||||
};
|
||||
|
||||
static void sound_irq(device_t *device, int state)
|
||||
WRITE_LINE_MEMBER(nemesis_state::sound_irq)
|
||||
{
|
||||
/* Interrupts _are_ generated, I wonder where they go.. */
|
||||
// nemesis_state *driver_state = device->machine().driver_data<nemesis_state>();
|
||||
@ -1489,7 +1489,7 @@ static void sound_irq(device_t *device, int state)
|
||||
|
||||
static const ym3812_interface ym3812_config =
|
||||
{
|
||||
DEVCB_LINE(sound_irq)
|
||||
DEVCB_DRIVER_LINE_MEMBER(nemesis_state,sound_irq)
|
||||
};
|
||||
|
||||
static WRITE8_DEVICE_HANDLER(volume_callback)
|
||||
|
@ -317,10 +317,9 @@ void neogeo_state::start_interrupt_timers()
|
||||
*
|
||||
*************************************/
|
||||
|
||||
static void audio_cpu_irq(device_t *device, int assert)
|
||||
WRITE_LINE_MEMBER(neogeo_state::audio_cpu_irq)
|
||||
{
|
||||
neogeo_state *state = device->machine().driver_data<neogeo_state>();
|
||||
state->m_audiocpu->set_input_line(0, assert ? ASSERT_LINE : CLEAR_LINE);
|
||||
m_audiocpu->set_input_line(0, state ? ASSERT_LINE : CLEAR_LINE);
|
||||
}
|
||||
|
||||
|
||||
@ -1148,7 +1147,7 @@ ADDRESS_MAP_END
|
||||
|
||||
static const ym2610_interface ym2610_config =
|
||||
{
|
||||
DEVCB_LINE(audio_cpu_irq)
|
||||
DEVCB_DRIVER_LINE_MEMBER(neogeo_state,audio_cpu_irq)
|
||||
};
|
||||
|
||||
|
||||
|
@ -59,6 +59,7 @@ public:
|
||||
UINT32 screen_update_nprsp(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
void draw_layer(bitmap_ind16 &bitmap,const rectangle &cliprect,int layer,int data_shift);
|
||||
void audio_cpu_assert_nmi();
|
||||
DECLARE_WRITE_LINE_MEMBER(audio_cpu_irq);
|
||||
};
|
||||
|
||||
|
||||
@ -448,14 +449,14 @@ static GFXDECODE_START( neoprint )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, neoprint_layout, 0x0, 0x1000 )
|
||||
GFXDECODE_END
|
||||
|
||||
static void audio_cpu_irq(device_t *device, int assert)
|
||||
WRITE_LINE_MEMBER(neoprint_state::audio_cpu_irq)
|
||||
{
|
||||
device->machine().device("audiocpu")->execute().set_input_line(0, assert ? ASSERT_LINE : CLEAR_LINE);
|
||||
machine().device("audiocpu")->execute().set_input_line(0, state ? ASSERT_LINE : CLEAR_LINE);
|
||||
}
|
||||
|
||||
static const ym2610_interface ym2610_config =
|
||||
{
|
||||
DEVCB_LINE(audio_cpu_irq)
|
||||
DEVCB_DRIVER_LINE_MEMBER(neoprint_state,audio_cpu_irq)
|
||||
};
|
||||
|
||||
|
||||
|
@ -376,10 +376,9 @@ ADDRESS_MAP_END
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
static void sound_irq( device_t *device, int irq )
|
||||
WRITE_LINE_MEMBER(psikyo_state::sound_irq)
|
||||
{
|
||||
psikyo_state *state = device->machine().driver_data<psikyo_state>();
|
||||
state->m_audiocpu->set_input_line(0, irq ? ASSERT_LINE : CLEAR_LINE);
|
||||
m_audiocpu->set_input_line(0, state ? ASSERT_LINE : CLEAR_LINE);
|
||||
}
|
||||
|
||||
READ8_MEMBER(psikyo_state::psikyo_soundlatch_r)
|
||||
@ -1036,7 +1035,7 @@ void psikyo_state::machine_reset()
|
||||
|
||||
static const ym2610_interface sngkace_ym2610_interface =
|
||||
{
|
||||
DEVCB_LINE(sound_irq)
|
||||
DEVCB_DRIVER_LINE_MEMBER(psikyo_state,sound_irq)
|
||||
};
|
||||
|
||||
static MACHINE_CONFIG_START( sngkace, psikyo_state )
|
||||
@ -1085,7 +1084,7 @@ MACHINE_CONFIG_END
|
||||
|
||||
static const ym2610_interface gunbird_ym2610_interface =
|
||||
{
|
||||
DEVCB_LINE(sound_irq) /* irq */
|
||||
DEVCB_DRIVER_LINE_MEMBER(psikyo_state,sound_irq) /* irq */
|
||||
};
|
||||
|
||||
static MACHINE_CONFIG_START( gunbird, psikyo_state )
|
||||
|
@ -1223,14 +1223,14 @@ INPUT_PORTS_END
|
||||
Sound interfaces
|
||||
******************************************************************************/
|
||||
|
||||
static void segac2_irq2_interrupt(device_t *device, int state)
|
||||
WRITE_LINE_MEMBER(segac2_state::segac2_irq2_interrupt)
|
||||
{
|
||||
//printf("sound irq %d\n", state);
|
||||
device->machine().device("maincpu")->execute().set_input_line(2, state ? ASSERT_LINE : CLEAR_LINE);
|
||||
machine().device("maincpu")->execute().set_input_line(2, state ? ASSERT_LINE : CLEAR_LINE);
|
||||
}
|
||||
static const ym3438_interface ym3438_intf =
|
||||
{
|
||||
DEVCB_LINE(segac2_irq2_interrupt) /* IRQ handler */
|
||||
DEVCB_DRIVER_LINE_MEMBER(segac2_state,segac2_irq2_interrupt) /* IRQ handler */
|
||||
};
|
||||
|
||||
|
||||
|
@ -1103,12 +1103,12 @@ WRITE8_MEMBER(segas32_state::sound_int_control_hi_w)
|
||||
}
|
||||
|
||||
|
||||
static void ym3438_irq_handler(device_t *device, int state)
|
||||
WRITE_LINE_MEMBER(segas32_state::ym3438_irq_handler)
|
||||
{
|
||||
if (state)
|
||||
signal_sound_irq(device->machine(), SOUND_IRQ_YM3438);
|
||||
signal_sound_irq(machine(), SOUND_IRQ_YM3438);
|
||||
else
|
||||
clear_sound_irq(device->machine(), SOUND_IRQ_YM3438);
|
||||
clear_sound_irq(machine(), SOUND_IRQ_YM3438);
|
||||
}
|
||||
|
||||
|
||||
@ -2138,7 +2138,7 @@ GFXDECODE_END
|
||||
|
||||
static const ym3438_interface ym3438_config =
|
||||
{
|
||||
DEVCB_LINE(ym3438_irq_handler)
|
||||
DEVCB_DRIVER_LINE_MEMBER(segas32_state,ym3438_irq_handler)
|
||||
};
|
||||
|
||||
|
||||
|
@ -1487,14 +1487,14 @@ static const x1_010_interface seta_sound_intf2 =
|
||||
0x1000, /* address */
|
||||
};
|
||||
|
||||
static void utoukond_ym3438_interrupt(device_t *device, int linestate)
|
||||
WRITE_LINE_MEMBER(seta_state::utoukond_ym3438_interrupt)
|
||||
{
|
||||
device->machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_NMI, linestate);
|
||||
machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_NMI, state);
|
||||
}
|
||||
|
||||
static const ym3438_interface utoukond_ym3438_intf =
|
||||
{
|
||||
DEVCB_LINE(utoukond_ym3438_interrupt) // IRQ handler
|
||||
DEVCB_DRIVER_LINE_MEMBER(seta_state,utoukond_ym3438_interrupt) // IRQ handler
|
||||
};
|
||||
|
||||
/***************************************************************************
|
||||
|
@ -229,14 +229,14 @@ static GFXDECODE_START( shootout )
|
||||
GFXDECODE_ENTRY( "gfx3", 0, tile_layout, 0, 16 ) /* tiles */
|
||||
GFXDECODE_END
|
||||
|
||||
static void shootout_snd_irq(device_t *device, int linestate)
|
||||
WRITE_LINE_MEMBER(shootout_state::shootout_snd_irq)
|
||||
{
|
||||
device->machine().device("audiocpu")->execute().set_input_line(0, linestate);
|
||||
machine().device("audiocpu")->execute().set_input_line(0, state);
|
||||
}
|
||||
|
||||
static void shootout_snd2_irq(device_t *device, int linestate)
|
||||
WRITE_LINE_MEMBER(shootout_state::shootout_snd2_irq)
|
||||
{
|
||||
device->machine().device("maincpu")->execute().set_input_line(0, linestate);
|
||||
machine().device("maincpu")->execute().set_input_line(0, state);
|
||||
}
|
||||
|
||||
static const ym2203_interface ym2203_config =
|
||||
@ -246,7 +246,7 @@ static const ym2203_interface ym2203_config =
|
||||
AY8910_DEFAULT_LOADS,
|
||||
DEVCB_NULL, DEVCB_NULL, DEVCB_NULL, DEVCB_NULL
|
||||
},
|
||||
DEVCB_LINE(shootout_snd_irq)
|
||||
DEVCB_DRIVER_LINE_MEMBER(shootout_state,shootout_snd_irq)
|
||||
};
|
||||
|
||||
static const ym2203_interface ym2203_interface2 =
|
||||
@ -259,7 +259,7 @@ static const ym2203_interface ym2203_interface2 =
|
||||
DEVCB_DRIVER_MEMBER(shootout_state, shootout_bankswitch_w),
|
||||
DEVCB_DRIVER_MEMBER(shootout_state, shootout_flipscreen_w)
|
||||
},
|
||||
DEVCB_LINE(shootout_snd2_irq)
|
||||
DEVCB_DRIVER_LINE_MEMBER(shootout_state,shootout_snd2_irq)
|
||||
};
|
||||
|
||||
static MACHINE_CONFIG_START( shootout, shootout_state )
|
||||
|
@ -447,11 +447,10 @@ TIMER_CALLBACK_MEMBER(snk_state::sndirq_update_callback)
|
||||
|
||||
|
||||
|
||||
static WRITE_LINE_DEVICE_HANDLER( ymirq_callback_1 )
|
||||
WRITE_LINE_MEMBER(snk_state::ymirq_callback_1 )
|
||||
{
|
||||
snk_state *drvstate = device->machine().driver_data<snk_state>();
|
||||
if (state)
|
||||
device->machine().scheduler().synchronize(timer_expired_delegate(FUNC(snk_state::sndirq_update_callback),drvstate), YM1IRQ_ASSERT);
|
||||
machine().scheduler().synchronize(timer_expired_delegate(FUNC(snk_state::sndirq_update_callback),this), YM1IRQ_ASSERT);
|
||||
}
|
||||
|
||||
WRITE_LINE_MEMBER(snk_state::ymirq_callback_2)
|
||||
@ -463,7 +462,7 @@ WRITE_LINE_MEMBER(snk_state::ymirq_callback_2)
|
||||
|
||||
static const ym3526_interface ym3526_config_1 =
|
||||
{
|
||||
DEVCB_LINE(ymirq_callback_1)
|
||||
DEVCB_DRIVER_LINE_MEMBER(snk_state,ymirq_callback_1)
|
||||
};
|
||||
|
||||
static const ym3526_interface ym3526_config_2 =
|
||||
@ -473,7 +472,7 @@ static const ym3526_interface ym3526_config_2 =
|
||||
|
||||
static const ym3812_interface ym3812_config_1 =
|
||||
{
|
||||
DEVCB_LINE(ymirq_callback_1)
|
||||
DEVCB_DRIVER_LINE_MEMBER(snk_state,ymirq_callback_1)
|
||||
};
|
||||
|
||||
static const y8950_interface y8950_config_2 =
|
||||
|
@ -436,15 +436,15 @@ GFXDECODE_END
|
||||
|
||||
|
||||
|
||||
static void sound_irq(device_t *device, int irq)
|
||||
WRITE_LINE_MEMBER(tecmosys_state::sound_irq)
|
||||
{
|
||||
/* IRQ */
|
||||
device->machine().device("audiocpu")->execute().set_input_line(0, irq ? ASSERT_LINE : CLEAR_LINE);
|
||||
machine().device("audiocpu")->execute().set_input_line(0, state ? ASSERT_LINE : CLEAR_LINE);
|
||||
}
|
||||
|
||||
static const ymf262_interface tecmosys_ymf262_interface =
|
||||
{
|
||||
DEVCB_LINE(sound_irq) /* irq */
|
||||
DEVCB_DRIVER_LINE_MEMBER(tecmosys_state,sound_irq) /* irq */
|
||||
};
|
||||
|
||||
void tecmosys_state::machine_start()
|
||||
|
@ -285,7 +285,7 @@ INPUT_PORTS_END
|
||||
|
||||
static const legacy_mos6526_interface cia_0_intf =
|
||||
{
|
||||
DEVCB_LINE(amiga_cia_0_irq), /* irq_func */
|
||||
DEVCB_DRIVER_LINE_MEMBER(amiga_state,amiga_cia_0_irq), /* irq_func */
|
||||
DEVCB_NULL, /* pc_func */
|
||||
DEVCB_NULL,
|
||||
DEVCB_NULL,
|
||||
@ -297,7 +297,7 @@ static const legacy_mos6526_interface cia_0_intf =
|
||||
|
||||
static const legacy_mos6526_interface cia_1_intf =
|
||||
{
|
||||
DEVCB_LINE(amiga_cia_1_irq), /* irq_func */
|
||||
DEVCB_DRIVER_LINE_MEMBER(amiga_state,amiga_cia_1_irq), /* irq_func */
|
||||
DEVCB_NULL, /* pc_func */
|
||||
DEVCB_NULL,
|
||||
DEVCB_NULL,
|
||||
|
@ -35,4 +35,5 @@ public:
|
||||
DECLARE_MACHINE_RESET(triothep);
|
||||
UINT32 screen_update_actfancr(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
void register_savestate( );
|
||||
DECLARE_WRITE_LINE_MEMBER(sound_irq);
|
||||
};
|
||||
|
@ -114,6 +114,7 @@ public:
|
||||
void jongbou_video_banking(int *bank, int data);
|
||||
void kyros_draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect, int c, int d );
|
||||
void sstingry_draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect, int c, int d );
|
||||
DECLARE_WRITE_LINE_MEMBER(ym3812_irq);
|
||||
};
|
||||
|
||||
/* game_id - used to deal with a few game specific situations */
|
||||
|
@ -472,6 +472,8 @@ public:
|
||||
TIMER_CALLBACK_MEMBER(amiga_irq_proc);
|
||||
TIMER_CALLBACK_MEMBER(amiga_blitter_proc);
|
||||
TIMER_CALLBACK_MEMBER(finish_serial_write);
|
||||
DECLARE_WRITE_LINE_MEMBER(amiga_cia_0_irq);
|
||||
DECLARE_WRITE_LINE_MEMBER(amiga_cia_1_irq);
|
||||
};
|
||||
|
||||
|
||||
@ -498,9 +500,6 @@ void amiga_add_autoconfig(running_machine &machine, const amiga_autoconfig_devic
|
||||
DECLARE_READ16_HANDLER( amiga_autoconfig_r );
|
||||
DECLARE_WRITE16_HANDLER( amiga_autoconfig_w );
|
||||
|
||||
void amiga_cia_0_irq(device_t *device, int state);
|
||||
void amiga_cia_1_irq(device_t *device, int state);
|
||||
|
||||
const amiga_machine_interface *amiga_get_interface(running_machine &machine);
|
||||
|
||||
|
||||
|
@ -60,4 +60,5 @@ public:
|
||||
inline const UINT8 *get_source_ptr(gfx_element *gfx, UINT32 sprite, int dx, int dy, int block);
|
||||
void bbusters_draw_block(bitmap_ind16 &dest,int x,int y,int size,int flipx,int flipy,UINT32 sprite,int color,int bank,int block);
|
||||
void draw_sprites(bitmap_ind16 &bitmap, const UINT16 *source, int bank, int colval, int colmask);
|
||||
DECLARE_WRITE_LINE_MEMBER(sound_irq);
|
||||
};
|
||||
|
@ -41,6 +41,7 @@ public:
|
||||
virtual void video_start();
|
||||
UINT32 screen_update_bishi(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
|
||||
TIMER_DEVICE_CALLBACK_MEMBER(bishi_scanline);
|
||||
DECLARE_WRITE_LINE_MEMBER(sound_irq_gen);
|
||||
};
|
||||
|
||||
/*----------- defined in video/bishi.c -----------*/
|
||||
|
@ -207,5 +207,6 @@ public:
|
||||
void cave_get_sprite_info();
|
||||
void sailormn_tilebank_w(int bank);
|
||||
DECLARE_WRITE_LINE_MEMBER(irqhandler);
|
||||
DECLARE_WRITE_LINE_MEMBER(sound_irq_gen);
|
||||
};
|
||||
|
||||
|
@ -44,4 +44,5 @@ public:
|
||||
UINT32 screen_update_compgolf(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
void draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect );
|
||||
void compgolf_expand_bg();
|
||||
DECLARE_WRITE_LINE_MEMBER(sound_irq);
|
||||
};
|
||||
|
@ -114,6 +114,7 @@ class dc_state : public driver_device
|
||||
DECLARE_WRITE64_MEMBER(dc_aica_reg_w);
|
||||
DECLARE_READ32_MEMBER(dc_arm_aica_r);
|
||||
DECLARE_WRITE32_MEMBER(dc_arm_aica_w);
|
||||
DECLARE_WRITE_LINE_MEMBER(aica_irq);
|
||||
};
|
||||
|
||||
/*----------- defined in machine/dc.c -----------*/
|
||||
|
@ -91,4 +91,6 @@ public:
|
||||
inline void dooyong_scroll8_w(offs_t offset, UINT8 data, UINT8 *scroll, tilemap_t *map);
|
||||
void draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect, int pollux_extensions);
|
||||
void rshark_draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
DECLARE_WRITE_LINE_MEMBER(irqhandler_2203_1);
|
||||
DECLARE_WRITE_LINE_MEMBER(irqhandler_2203_2);
|
||||
};
|
||||
|
@ -496,6 +496,13 @@ public:
|
||||
DECLARE_WRITE_LINE_MEMBER(jantouki_sound_callback);
|
||||
DECLARE_WRITE_LINE_MEMBER(adpcm_int);
|
||||
DECLARE_WRITE_LINE_MEMBER(adpcm_int_cpu1);
|
||||
DECLARE_WRITE_LINE_MEMBER(quizchq_rtc_irq);
|
||||
DECLARE_WRITE_LINE_MEMBER(mmpanic_rtc_irq);
|
||||
DECLARE_WRITE_LINE_MEMBER(hanakanz_rtc_irq);
|
||||
DECLARE_WRITE_LINE_MEMBER(mjchuuka_rtc_irq);
|
||||
DECLARE_WRITE_LINE_MEMBER(hginga_rtc_irq);
|
||||
DECLARE_WRITE_LINE_MEMBER(mjflove_rtc_irq);
|
||||
DECLARE_WRITE_LINE_MEMBER(mjmyster_rtc_irq);
|
||||
};
|
||||
|
||||
//----------- defined in drivers/dynax.c -----------
|
||||
|
@ -110,6 +110,7 @@ public:
|
||||
void MB60553_draw(int numchip, bitmap_ind16& screen, const rectangle &cliprect, int priority);
|
||||
tilemap_t* MB60553_get_tilemap(int numchip);
|
||||
void mcu_init( );
|
||||
DECLARE_WRITE_LINE_MEMBER(gs_ym2610_irq);
|
||||
};
|
||||
|
||||
#endif
|
||||
|
@ -110,6 +110,7 @@ public:
|
||||
inline void consume_rle(int count);
|
||||
void perform_blit(address_space &space);
|
||||
void itech8_update_interrupts(int periodic, int tms34061, int blitter);
|
||||
DECLARE_WRITE_LINE_MEMBER(generate_sound_irq);
|
||||
|
||||
/*----------- defined in machine/slikshot.c -----------*/
|
||||
|
||||
|
@ -114,4 +114,5 @@ public:
|
||||
void objects_draw( );
|
||||
void rotate_draw( bitmap_ind16 &bitmap, const rectangle &cliprect );
|
||||
void hud_draw( bitmap_ind16 &bitmap, const rectangle &cliprect );
|
||||
DECLARE_WRITE_LINE_MEMBER(ym2203_irq);
|
||||
};
|
||||
|
@ -45,4 +45,5 @@ public:
|
||||
void screen_eof_mcatadv(screen_device &screen, bool state);
|
||||
void draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect );
|
||||
void mcatadv_draw_tilemap_part( UINT16* current_scroll, UINT16* current_videoram1, int i, tilemap_t* current_tilemap, bitmap_ind16 &bitmap, const rectangle &cliprect );
|
||||
DECLARE_WRITE_LINE_MEMBER(sound_irq);
|
||||
};
|
||||
|
@ -267,6 +267,7 @@ public:
|
||||
DECLARE_READ16_MEMBER( printer_r );
|
||||
DECLARE_WRITE16_MEMBER( print_club_camera_w );
|
||||
DECLARE_READ16_MEMBER(ichirjbl_prot_r);
|
||||
DECLARE_WRITE_LINE_MEMBER(segac2_irq2_interrupt);
|
||||
};
|
||||
|
||||
class mplay_state : public md_base_state
|
||||
|
@ -187,6 +187,7 @@ public:
|
||||
void draw_tilemap( bitmap_ind16 &bitmap, const rectangle &cliprect, UINT32 flags, UINT32 pcode,
|
||||
int sx, int sy, int wx, int wy, int big, UINT16 *tilemapram, int layer );
|
||||
DECLARE_WRITE_LINE_MEMBER(blzntrnd_irqhandler);
|
||||
DECLARE_WRITE_LINE_MEMBER(ymf278b_interrupt);
|
||||
};
|
||||
|
||||
|
||||
|
@ -169,6 +169,7 @@ public:
|
||||
TIMER_DEVICE_CALLBACK_MEMBER(model2_interrupt);
|
||||
TIMER_DEVICE_CALLBACK_MEMBER(model2c_interrupt);
|
||||
void model2_exit();
|
||||
DECLARE_WRITE_LINE_MEMBER(scsp_irq);
|
||||
};
|
||||
|
||||
/*----------- defined in video/model2.c -----------*/
|
||||
|
@ -204,6 +204,7 @@ public:
|
||||
TIMER_CALLBACK_MEMBER(model3_sound_timer_tick);
|
||||
TIMER_DEVICE_CALLBACK_MEMBER(model3_interrupt);
|
||||
void model3_exit();
|
||||
DECLARE_WRITE_LINE_MEMBER(scsp_irq);
|
||||
};
|
||||
|
||||
|
||||
|
@ -91,4 +91,5 @@ public:
|
||||
TIMER_DEVICE_CALLBACK_MEMBER(gx400_interrupt);
|
||||
void nemesis_postload();
|
||||
void draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect );
|
||||
DECLARE_WRITE_LINE_MEMBER(sound_irq);
|
||||
};
|
||||
|
@ -250,6 +250,7 @@ public:
|
||||
DECLARE_DEVICE_IMAGE_LOAD_MEMBER(neo_cartridge);
|
||||
void neogeo_postload();
|
||||
void regenerate_pens();
|
||||
DECLARE_WRITE_LINE_MEMBER(audio_cpu_irq);
|
||||
|
||||
bool m_has_audio_banking; // does the system use Audio Banking (the NeoCD doesn't?)
|
||||
bool m_is_mvs; // is the system an MVS (watchdog, SRAM etc.)
|
||||
|
@ -99,6 +99,7 @@ public:
|
||||
int tilemap_width( int size );
|
||||
void s1945_mcu_init( );
|
||||
DECLARE_WRITE_LINE_MEMBER(irqhandler);
|
||||
DECLARE_WRITE_LINE_MEMBER(sound_irq);
|
||||
};
|
||||
|
||||
/*----------- defined in video/psikyo.c -----------*/
|
||||
|
@ -248,6 +248,7 @@ public:
|
||||
void update_tilemap_text(screen_device &screen, struct layer_info *layer, const rectangle &cliprect);
|
||||
void update_bitmap(screen_device &screen, struct layer_info *layer, const rectangle &cliprect);
|
||||
void update_background(struct layer_info *layer, const rectangle &cliprect);
|
||||
DECLARE_WRITE_LINE_MEMBER(ym3438_irq_handler);
|
||||
};
|
||||
|
||||
/*----------- defined in machine/segas32.c -----------*/
|
||||
|
@ -217,4 +217,5 @@ public:
|
||||
void draw_tilemap_palette_effect(bitmap_ind16 &bitmap, const rectangle &cliprect, tilemap_t *tilemap, int scrollx, int scrolly, int gfxnum, int flipscreen);
|
||||
void seta_layers_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, int sprite_bank_size, int sprite_setac );
|
||||
void uPD71054_timer_init( );
|
||||
DECLARE_WRITE_LINE_MEMBER(utoukond_ym3438_interrupt);
|
||||
};
|
||||
|
@ -28,4 +28,6 @@ public:
|
||||
UINT32 screen_update_shootout(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
UINT32 screen_update_shootouj(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
void draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect, int bank_bits );
|
||||
DECLARE_WRITE_LINE_MEMBER(shootout_snd_irq);
|
||||
DECLARE_WRITE_LINE_MEMBER(shootout_snd2_irq);
|
||||
};
|
||||
|
@ -177,4 +177,5 @@ public:
|
||||
int hardflags_check8(int num);
|
||||
int turbofront_check(int small, int num);
|
||||
int turbofront_check8(int small, int num);
|
||||
DECLARE_WRITE_LINE_MEMBER(ymirq_callback_1);
|
||||
};
|
||||
|
@ -87,4 +87,5 @@ public:
|
||||
void tecmosys_tilemap_copy_to_compose(UINT16 pri);
|
||||
void tecmosys_do_final_mix(bitmap_rgb32 &bitmap);
|
||||
void tecmosys_descramble();
|
||||
DECLARE_WRITE_LINE_MEMBER(sound_irq);
|
||||
};
|
||||
|
@ -1091,19 +1091,15 @@ WRITE16_HANDLER( amiga_cia_w )
|
||||
*
|
||||
*************************************/
|
||||
|
||||
void amiga_cia_0_irq(device_t *device, int state)
|
||||
WRITE_LINE_MEMBER(amiga_state::amiga_cia_0_irq)
|
||||
{
|
||||
amiga_state *sta = device->machine().driver_data<amiga_state>();
|
||||
|
||||
amiga_custom_w(sta->m_maincpu->space(AS_PROGRAM), REG_INTREQ, (state ? 0x8000 : 0x0000) | INTENA_PORTS, 0xffff);
|
||||
amiga_custom_w(m_maincpu->space(AS_PROGRAM), REG_INTREQ, (state ? 0x8000 : 0x0000) | INTENA_PORTS, 0xffff);
|
||||
}
|
||||
|
||||
|
||||
void amiga_cia_1_irq(device_t *device, int state)
|
||||
WRITE_LINE_MEMBER(amiga_state::amiga_cia_1_irq)
|
||||
{
|
||||
amiga_state *sta = device->machine().driver_data<amiga_state>();
|
||||
|
||||
amiga_custom_w(sta->m_maincpu->space(AS_PROGRAM), REG_INTREQ, (state ? 0x8000 : 0x0000) | INTENA_EXTER, 0xffff);
|
||||
amiga_custom_w(m_maincpu->space(AS_PROGRAM), REG_INTREQ, (state ? 0x8000 : 0x0000) | INTENA_EXTER, 0xffff);
|
||||
}
|
||||
|
||||
|
||||
|
@ -508,7 +508,7 @@ MACHINE_RESET_MEMBER(cdtv_state,cdtv)
|
||||
|
||||
static const legacy_mos6526_interface cia_0_ntsc_intf =
|
||||
{
|
||||
DEVCB_DEVICE_LINE("cia_0", amiga_cia_0_irq), /* irq_func */
|
||||
DEVCB_DRIVER_LINE_MEMBER(amiga_state, amiga_cia_0_irq), /* irq_func */
|
||||
DEVCB_DEVICE_LINE_MEMBER("centronics", centronics_device, strobe_w), /* pc_func */
|
||||
DEVCB_NULL,
|
||||
DEVCB_NULL,
|
||||
@ -520,7 +520,7 @@ static const legacy_mos6526_interface cia_0_ntsc_intf =
|
||||
|
||||
static const legacy_mos6526_interface cia_0_pal_intf =
|
||||
{
|
||||
DEVCB_DEVICE_LINE("cia_0", amiga_cia_0_irq), /* irq_func */
|
||||
DEVCB_DRIVER_LINE_MEMBER(amiga_state, amiga_cia_0_irq), /* irq_func */
|
||||
DEVCB_DEVICE_LINE_MEMBER("centronics", centronics_device, strobe_w), /* pc_func */
|
||||
DEVCB_NULL,
|
||||
DEVCB_NULL,
|
||||
@ -532,7 +532,7 @@ static const legacy_mos6526_interface cia_0_pal_intf =
|
||||
|
||||
static const legacy_mos6526_interface cia_1_intf =
|
||||
{
|
||||
DEVCB_DEVICE_LINE("cia_1", amiga_cia_1_irq), /* irq_func */
|
||||
DEVCB_DRIVER_LINE_MEMBER(amiga_state, amiga_cia_1_irq), /* irq_func */
|
||||
DEVCB_NULL, /* pc_func */
|
||||
DEVCB_NULL,
|
||||
DEVCB_NULL,
|
||||
@ -544,7 +544,7 @@ static const legacy_mos6526_interface cia_1_intf =
|
||||
|
||||
static const legacy_mos6526_interface cia_0_cdtv_intf =
|
||||
{
|
||||
DEVCB_DEVICE_LINE("cia_0", amiga_cia_0_irq), /* irq_func */
|
||||
DEVCB_DRIVER_LINE_MEMBER(amiga_state, amiga_cia_0_irq), /* irq_func */
|
||||
DEVCB_DEVICE_LINE_MEMBER("centronics", centronics_device, strobe_w), /* pc_func */
|
||||
DEVCB_NULL,
|
||||
DEVCB_NULL,
|
||||
@ -556,7 +556,7 @@ static const legacy_mos6526_interface cia_0_cdtv_intf =
|
||||
|
||||
static const legacy_mos6526_interface cia_1_cdtv_intf =
|
||||
{
|
||||
DEVCB_DEVICE_LINE("cia_1", amiga_cia_1_irq), /* irq_func */
|
||||
DEVCB_DRIVER_LINE_MEMBER(amiga_state, amiga_cia_1_irq), /* irq_func */
|
||||
DEVCB_NULL, /* pc_func */
|
||||
DEVCB_NULL,
|
||||
DEVCB_NULL,
|
||||
@ -589,7 +589,7 @@ READ8_MEMBER(a1200_state::a1200_cia_0_portA_r)
|
||||
|
||||
static const legacy_mos6526_interface a1200_cia_0_intf =
|
||||
{
|
||||
DEVCB_DEVICE_LINE("cia_0", amiga_cia_0_irq), /* irq_func */
|
||||
DEVCB_DRIVER_LINE_MEMBER(amiga_state, amiga_cia_0_irq), /* irq_func */
|
||||
DEVCB_NULL, /* pc_func */
|
||||
DEVCB_NULL,
|
||||
DEVCB_NULL,
|
||||
@ -601,7 +601,7 @@ static const legacy_mos6526_interface a1200_cia_0_intf =
|
||||
|
||||
static const legacy_mos6526_interface a1200_cia_1_intf =
|
||||
{
|
||||
DEVCB_DEVICE_LINE("cia_1", amiga_cia_1_irq), /* irq_func */
|
||||
DEVCB_DRIVER_LINE_MEMBER(amiga_state, amiga_cia_1_irq), /* irq_func */
|
||||
DEVCB_NULL, /* pc_func */
|
||||
DEVCB_NULL,
|
||||
DEVCB_NULL,
|
||||
|
Loading…
Reference in New Issue
Block a user