device callback handler cleanup (nw)

This commit is contained in:
Miodrag Milanovic 2013-04-02 09:53:25 +00:00
parent c6533ad919
commit 1c813f4e2a
65 changed files with 200 additions and 195 deletions

View File

@ -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)
};
/******************************************************************************/

View File

@ -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,

View File

@ -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)
};

View File

@ -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,

View File

@ -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)

View File

@ -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)
};
/******************************************************************************/

View File

@ -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)
};

View File

@ -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)

View File

@ -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,

View File

@ -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)
};

View File

@ -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)
};

View File

@ -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)
};

View File

@ -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 )

View File

@ -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)

View File

@ -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)
};
/***************************************************************************

View File

@ -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)
};

View File

@ -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 **********************************************************/

View File

@ -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)
};

View File

@ -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)
};

View File

@ -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)
};

View File

@ -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 */
};

View File

@ -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)
};

View File

@ -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
};

View File

@ -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
};

View File

@ -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,

View File

@ -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)
};

View File

@ -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)

View File

@ -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)
};

View File

@ -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)
};

View File

@ -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 )

View File

@ -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 */
};

View File

@ -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)
};

View File

@ -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
};
/***************************************************************************

View File

@ -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 )

View File

@ -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 =

View File

@ -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()

View File

@ -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,

View File

@ -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);
};

View File

@ -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 */

View File

@ -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);

View File

@ -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);
};

View File

@ -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 -----------*/

View File

@ -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);
};

View File

@ -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);
};

View File

@ -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 -----------*/

View File

@ -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);
};

View File

@ -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 -----------

View File

@ -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

View File

@ -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 -----------*/

View File

@ -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);
};

View File

@ -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);
};

View File

@ -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

View File

@ -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);
};

View File

@ -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 -----------*/

View File

@ -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);
};

View File

@ -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);
};

View File

@ -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.)

View File

@ -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 -----------*/

View File

@ -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 -----------*/

View File

@ -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);
};

View File

@ -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);
};

View File

@ -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);
};

View File

@ -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);
};

View File

@ -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);
}

View File

@ -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,