device callback handler cleanup (nw)

This commit is contained in:
Miodrag Milanovic 2013-04-01 13:42:49 +00:00
parent d37c28691d
commit a1cdc3d898
176 changed files with 451 additions and 417 deletions

View File

@ -68,6 +68,7 @@ public:
TIMER_CALLBACK_MEMBER(shutter_req);
TIMER_CALLBACK_MEMBER(defender_req);
void tile_decode();
DECLARE_WRITE_LINE_MEMBER(irqhandler);
};
@ -408,15 +409,14 @@ INTERRUPT_GEN_MEMBER(_2mindril_state::drill_device_irq)
#endif
/* WRONG,it does something with 60000c & 700002,likely to be called when the player throws the ball.*/
static void irqhandler(device_t *device, int irq)
WRITE_LINE_MEMBER(_2mindril_state::irqhandler)
{
// _2mindril_state *state = machine.driver_data<_2mindril_state>();
// state->m_maincpu->set_input_line(5, irq ? ASSERT_LINE : CLEAR_LINE);
// m_maincpu->set_input_line(5, state ? ASSERT_LINE : CLEAR_LINE);
}
static const ym2610_interface ym2610_config =
{
DEVCB_LINE(irqhandler)
DEVCB_DRIVER_LINE_MEMBER(_2mindril_state,irqhandler)
};

View File

@ -1275,20 +1275,19 @@ static GFXDECODE_START( wbbc97 )
GFXDECODE_ENTRY( "gfx2", 0, wbbc97_spritelayout, 1024, 64 ) /* colors 1024-2047 in 4 banks */
GFXDECODE_END
static void irqhandler( device_t *device, int irq )
WRITE_LINE_MEMBER(aerofgt_state::irqhandler)
{
aerofgt_state *state = device->machine().driver_data<aerofgt_state>();
state->m_audiocpu->set_input_line(0, irq ? ASSERT_LINE : CLEAR_LINE);
m_audiocpu->set_input_line(0, state ? ASSERT_LINE : CLEAR_LINE);
}
static const ym2610_interface ym2610_config =
{
DEVCB_LINE(irqhandler)
DEVCB_DRIVER_LINE_MEMBER(aerofgt_state,irqhandler)
};
static const ym3812_interface ym3812_config =
{
DEVCB_LINE(irqhandler) /* IRQ Line */
DEVCB_DRIVER_LINE_MEMBER(aerofgt_state,irqhandler) /* IRQ Line */
};

View File

@ -507,10 +507,9 @@ READ8_MEMBER(angelkds_state::angelkds_sub_sound_r)
}
static void irqhandler( device_t *device, int irq )
WRITE_LINE_MEMBER(angelkds_state::irqhandler)
{
angelkds_state *state = device->machine().driver_data<angelkds_state>();
state->m_subcpu->set_input_line(0, irq ? ASSERT_LINE : CLEAR_LINE);
m_subcpu->set_input_line(0, state ? ASSERT_LINE : CLEAR_LINE);
}
static const ym2203_interface ym2203_config =
@ -520,7 +519,7 @@ static const ym2203_interface ym2203_config =
AY8910_DEFAULT_LOADS,
DEVCB_NULL, DEVCB_NULL, DEVCB_NULL, DEVCB_NULL
},
DEVCB_LINE(irqhandler)
DEVCB_DRIVER_LINE_MEMBER(angelkds_state,irqhandler)
};
/*** Graphics Decoding

View File

@ -152,9 +152,9 @@ TIMER_DEVICE_CALLBACK_MEMBER(argus_state::butasan_scanline)
}
/* Handler called by the YM2203 emulator when the internal timers cause an IRQ */
static void irqhandler(device_t *device, int irq)
WRITE_LINE_MEMBER(argus_state::irqhandler)
{
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 ym2203_interface ym2203_config =
@ -164,7 +164,7 @@ static const ym2203_interface ym2203_config =
AY8910_DEFAULT_LOADS,
DEVCB_NULL, DEVCB_NULL, DEVCB_NULL, DEVCB_NULL
},
DEVCB_LINE(irqhandler)
DEVCB_DRIVER_LINE_MEMBER(argus_state,irqhandler)
};

View File

@ -766,14 +766,14 @@ GFXDECODE_END
SOUND
**************************************************************/
static void irq_handler(device_t *device, int irq)
WRITE_LINE_MEMBER(asuka_state::irqhandler)
{
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 ym2610_interface ym2610_config =
{
DEVCB_LINE(irq_handler)
DEVCB_DRIVER_LINE_MEMBER(asuka_state,irqhandler)
};

View File

@ -620,14 +620,14 @@ MACHINE_START_MEMBER(sc4_state,sc4)
}
static void bfm_sc4_irqhandler(device_t *device, int state)
WRITE_LINE_MEMBER(sc4_state::bfm_sc4_irqhandler)
{
logerror("YMZ280 is generating an interrupt. State=%08x\n",state);
}
static const ymz280b_interface ymz280b_config =
{
DEVCB_LINE(bfm_sc4_irqhandler)
DEVCB_DRIVER_LINE_MEMBER(sc4_state,bfm_sc4_irqhandler)
};

View File

@ -103,16 +103,6 @@ TEST.TXT - suggests the content of a prototype version, which was expanded to ma
#include "cpu/m68000/m68000.h"
#include "sound/ymz280b.h"
static void irqhandler(device_t *device, int state)
{
}
static const ymz280b_interface ymz280b_config =
{
DEVCB_LINE(irqhandler)
};
class bfm_swp_state : public driver_device
{
public:
@ -132,6 +122,7 @@ public:
{
return 0;
}
DECLARE_WRITE_LINE_MEMBER(irqhandler);
protected:
@ -142,6 +133,14 @@ protected:
};
WRITE_LINE_MEMBER(bfm_swp_state::irqhandler)
{
}
static const ymz280b_interface ymz280b_config =
{
DEVCB_DRIVER_LINE_MEMBER(bfm_swp_state,irqhandler)
};
READ32_MEMBER(bfm_swp_state::bfm_swp_mem_r)

View File

@ -259,10 +259,9 @@ GFXDECODE_END
/* handler called by the 2203 emulator when the internal timers cause an IRQ */
static void irqhandler( device_t *device, int irq )
WRITE_LINE_MEMBER(blktiger_state::irqhandler)
{
blktiger_state *state = device->machine().driver_data<blktiger_state>();
state->m_audiocpu->set_input_line(0, irq ? ASSERT_LINE : CLEAR_LINE);
m_audiocpu->set_input_line(0, state ? ASSERT_LINE : CLEAR_LINE);
}
static const ym2203_interface ym2203_config =
@ -272,7 +271,7 @@ static const ym2203_interface ym2203_config =
AY8910_DEFAULT_LOADS,
DEVCB_NULL, DEVCB_NULL, DEVCB_NULL, DEVCB_NULL,
},
DEVCB_LINE(irqhandler)
DEVCB_DRIVER_LINE_MEMBER(blktiger_state,irqhandler)
};
void blktiger_state::machine_start()

View File

@ -696,10 +696,9 @@ GFXDECODE_END
*************************************/
// handler called by the 2203 emulator when the internal timers cause an IRQ
static void irqhandler(device_t *device, int irq)
WRITE_LINE_MEMBER(bublbobl_state::irqhandler)
{
bublbobl_state *state = device->machine().driver_data<bublbobl_state>();
state->m_audiocpu->set_input_line(0, irq ? ASSERT_LINE : CLEAR_LINE);
m_audiocpu->set_input_line(0, state ? ASSERT_LINE : CLEAR_LINE);
}
static const ym2203_interface ym2203_config =
@ -709,7 +708,7 @@ static const ym2203_interface ym2203_config =
AY8910_DEFAULT_LOADS,
DEVCB_NULL, DEVCB_NULL, DEVCB_NULL, DEVCB_NULL
},
DEVCB_LINE(irqhandler)
DEVCB_DRIVER_LINE_MEMBER(bublbobl_state,irqhandler)
};

View File

@ -194,10 +194,9 @@ WRITE8_MEMBER(capbowl_state::capbowl_sndcmd_w)
*
*************************************/
static void firqhandler( device_t *device, int irq )
WRITE_LINE_MEMBER(capbowl_state::firqhandler)
{
capbowl_state *state = device->machine().driver_data<capbowl_state>();
state->m_audiocpu->set_input_line(M6809_FIRQ_LINE, irq ? ASSERT_LINE : CLEAR_LINE);
m_audiocpu->set_input_line(M6809_FIRQ_LINE, state ? ASSERT_LINE : CLEAR_LINE);
}
@ -322,7 +321,7 @@ static const ym2203_interface ym2203_config =
DEVCB_NULL,
DEVCB_DEVICE_MEMBER("ticket", ticket_dispenser_device, write), /* Also a status LED. See memory map above */
},
DEVCB_LINE(firqhandler)
DEVCB_DRIVER_LINE_MEMBER(capbowl_state,firqhandler)
};

View File

@ -313,7 +313,7 @@ WRITE16_MEMBER(cave_state::cave_eeprom_msb_w)
WRITE16_MEMBER(cave_state::sailormn_eeprom_msb_w)
{
sailormn_tilebank_w(machine(), data & 0x0100);
sailormn_tilebank_w(data & 0x0100);
cave_eeprom_msb_w(space, offset, data & ~0x0100, mem_mask);
}
@ -1820,9 +1820,9 @@ static const ymz280b_interface ymz280b_intf =
DEVCB_LINE(sound_irq_gen)
};
static void irqhandler(device_t *device, int irq)
WRITE_LINE_MEMBER(cave_state::irqhandler)
{
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 ym2203_interface ym2203_config =
@ -1832,7 +1832,7 @@ static const ym2203_interface ym2203_config =
AY8910_DEFAULT_LOADS,
DEVCB_NULL, DEVCB_NULL, DEVCB_NULL, DEVCB_NULL
},
DEVCB_LINE(irqhandler)
DEVCB_DRIVER_LINE_MEMBER(cave_state,irqhandler)
};
/***************************************************************************

View File

@ -315,15 +315,14 @@ static GFXDECODE_START( crospang )
GFXDECODE_END
static void irqhandler( device_t *device, int linestate )
WRITE_LINE_MEMBER(crospang_state::irqhandler)
{
crospang_state *state = device->machine().driver_data<crospang_state>();
state->m_audiocpu->set_input_line(0, linestate);
m_audiocpu->set_input_line(0, state);
}
static const ym3812_interface ym3812_config =
{
DEVCB_LINE(irqhandler) /* IRQ Line */
DEVCB_DRIVER_LINE_MEMBER(crospang_state,irqhandler) /* IRQ Line */
};

View File

@ -420,15 +420,14 @@ GFXDECODE_END
static void irqhandler( device_t *device, int irq )
WRITE_LINE_MEMBER(crshrace_state::irqhandler)
{
crshrace_state *state = device->machine().driver_data<crshrace_state>();
state->m_audiocpu->set_input_line(0, irq ? ASSERT_LINE : CLEAR_LINE);
m_audiocpu->set_input_line(0, state ? ASSERT_LINE : CLEAR_LINE);
}
static const ym2610_interface ym2610_config =
{
DEVCB_LINE(irqhandler)
DEVCB_DRIVER_LINE_MEMBER(crshrace_state,irqhandler)
};
static const k053936_interface crshrace_k053936_intf =

View File

@ -765,10 +765,9 @@ GFXDECODE_END
**************************************************************/
/* handler called by the YM2203 emulator when the internal timers cause an IRQ */
static void irqhandler( device_t *device, int irq ) /* assumes Z80 sandwiched between 68Ks */
WRITE_LINE_MEMBER(darius_state::irqhandler) /* assumes Z80 sandwiched between 68Ks */
{
darius_state *state = device->machine().driver_data<darius_state>();
state->m_audiocpu->set_input_line(0, irq ? ASSERT_LINE : CLEAR_LINE);
m_audiocpu->set_input_line(0, state ? ASSERT_LINE : CLEAR_LINE);
}
static const ym2203_interface ym2203_interface_1 =
@ -781,7 +780,7 @@ static const ym2203_interface ym2203_interface_1 =
DEVCB_DRIVER_MEMBER(darius_state,darius_write_portA0), /* portA write */
DEVCB_DRIVER_MEMBER(darius_state,darius_write_portB0), /* portB write */
},
DEVCB_LINE(irqhandler)
DEVCB_DRIVER_LINE_MEMBER(darius_state,irqhandler)
};
static const ym2203_interface ym2203_interface_2 =

View File

@ -1905,10 +1905,9 @@ GFXDECODE_END
/******************************************************************************/
/* handler called by the 3812 emulator when the internal timers cause an IRQ */
static void irqhandler( device_t *device, int linestate )
WRITE_LINE_MEMBER(dec8_state::irqhandler)
{
dec8_state *state = device->machine().driver_data<dec8_state>();
state->m_audiocpu->set_input_line(0, linestate); /* M6502_IRQ_LINE */
m_audiocpu->set_input_line(0, state); /* M6502_IRQ_LINE */
}
static const ym3526_interface ym3526_config =
@ -1918,7 +1917,7 @@ static const ym3526_interface ym3526_config =
static const ym3812_interface ym3812_config =
{
DEVCB_LINE(irqhandler)
DEVCB_DRIVER_LINE_MEMBER(dec8_state,irqhandler)
};
static const msm5205_interface msm5205_config =

View File

@ -225,18 +225,16 @@ static GFXDECODE_START( deniam )
GFXDECODE_END
static void irqhandler( device_t *device, int linestate )
WRITE_LINE_MEMBER(deniam_state::irqhandler)
{
deniam_state *state = device->machine().driver_data<deniam_state>();
/* system 16c doesn't have the sound CPU */
if (state->m_audio_cpu != NULL)
state->m_audio_cpu->execute().set_input_line(0, linestate);
if (m_audio_cpu != NULL)
m_audio_cpu->execute().set_input_line(0, state);
}
static const ym3812_interface ym3812_config =
{
DEVCB_LINE(irqhandler)
DEVCB_DRIVER_LINE_MEMBER(deniam_state,irqhandler)
};

View File

@ -390,15 +390,14 @@ GFXDECODE_END
static void irqhandler( device_t *device, int irq )
WRITE_LINE_MEMBER(f1gp_state::irqhandler)
{
f1gp_state *state = device->machine().driver_data<f1gp_state>();
state->m_audiocpu->set_input_line(0, irq ? ASSERT_LINE : CLEAR_LINE);
m_audiocpu->set_input_line(0, state ? ASSERT_LINE : CLEAR_LINE);
}
static const ym2610_interface ym2610_config =
{
DEVCB_LINE(irqhandler)
DEVCB_DRIVER_LINE_MEMBER(f1gp_state,irqhandler)
};
static const k053936_interface f1gp_k053936_intf =

View File

@ -482,15 +482,14 @@ GFXDECODE_END
*
*************************************/
static void irqhandler(device_t *device, int irq)
WRITE_LINE_MEMBER(fromanc2_state::irqhandler)
{
fromanc2_state *state = device->machine().driver_data<fromanc2_state>();
state->m_audiocpu->set_input_line(0, irq ? ASSERT_LINE : CLEAR_LINE);
m_audiocpu->set_input_line(0, state ? ASSERT_LINE : CLEAR_LINE);
}
static const ym2610_interface ym2610_config =
{
DEVCB_LINE(irqhandler)
DEVCB_DRIVER_LINE_MEMBER(fromanc2_state,irqhandler)
};

View File

@ -391,15 +391,14 @@ GFXDECODE_END
***************************************************************************/
static void soundirq( device_t *device, int state )
WRITE_LINE_MEMBER(fuuki16_state::soundirq)
{
fuuki16_state *fuuki16 = device->machine().driver_data<fuuki16_state>();
fuuki16->m_audiocpu->set_input_line(0, state);
m_audiocpu->set_input_line(0, state);
}
static const ym3812_interface fuuki16_ym3812_intf =
{
DEVCB_LINE(soundirq) /* IRQ Line */
DEVCB_DRIVER_LINE_MEMBER(fuuki16_state,soundirq) /* IRQ Line */
};
/*

View File

@ -569,15 +569,14 @@ void fuuki32_state::machine_reset()
}
static void irqhandler( device_t *device, int irq )
WRITE_LINE_MEMBER(fuuki32_state::irqhandler)
{
fuuki32_state *state = device->machine().driver_data<fuuki32_state>();
state->m_audiocpu->set_input_line(0, irq ? ASSERT_LINE : CLEAR_LINE);
m_audiocpu->set_input_line(0, state ? ASSERT_LINE : CLEAR_LINE);
}
static const ymf278b_interface fuuki32_ymf278b_interface =
{
DEVCB_LINE(irqhandler) /* irq */
DEVCB_DRIVER_LINE_MEMBER(fuuki32_state,irqhandler) /* irq */
};
static const ymf262_interface fuuki32_ymf262_interface =

View File

@ -738,10 +738,9 @@ static GFXDECODE_START( drgnbowl )
GFXDECODE_END
/* handler called by the 2203 emulator when the internal timers cause an IRQ */
static void irqhandler( device_t *device, int irq )
WRITE_LINE_MEMBER(gaiden_state::irqhandler)
{
gaiden_state *state = device->machine().driver_data<gaiden_state>();
state->m_audiocpu->set_input_line(0, irq ? ASSERT_LINE : CLEAR_LINE);
m_audiocpu->set_input_line(0, state ? ASSERT_LINE : CLEAR_LINE);
}
static const ym2203_interface ym2203_config =
@ -751,7 +750,7 @@ static const ym2203_interface ym2203_config =
AY8910_DEFAULT_LOADS,
DEVCB_NULL, DEVCB_NULL, DEVCB_NULL, DEVCB_NULL
},
DEVCB_LINE(irqhandler)
DEVCB_DRIVER_LINE_MEMBER(gaiden_state,irqhandler)
};
static MACHINE_CONFIG_START( shadoww, gaiden_state )

View File

@ -205,15 +205,14 @@ GFXDECODE_END
static void irqhandler( device_t *device, int linestate )
WRITE_LINE_MEMBER(galspnbl_state::irqhandler)
{
galspnbl_state *state = device->machine().driver_data<galspnbl_state>();
state->m_audiocpu->set_input_line(0, linestate);
m_audiocpu->set_input_line(0, state);
}
static const ym3812_interface ym3812_config =
{
DEVCB_LINE(irqhandler)
DEVCB_DRIVER_LINE_MEMBER(galspnbl_state,irqhandler)
};

View File

@ -209,11 +209,10 @@ static INPUT_PORTS_START( goal92 )
INPUT_PORTS_END
/* handler called by the 2203 emulator when the internal timers cause an IRQ */
static void irqhandler( device_t *device, int irq )
WRITE_LINE_MEMBER(goal92_state::irqhandler)
{
/* NMI writes to MSM ports *only*! -AS */
//goal92_state *state = device->machine().driver_data<goal92_state>();
//state->m_audiocpu->set_input_line(INPUT_LINE_NMI, irq ? ASSERT_LINE : CLEAR_LINE);
//m_audiocpu->set_input_line(INPUT_LINE_NMI, state ? ASSERT_LINE : CLEAR_LINE);
}
static const ym2203_interface ym2203_config =
@ -223,7 +222,7 @@ static const ym2203_interface ym2203_config =
AY8910_DEFAULT_LOADS,
DEVCB_NULL, DEVCB_NULL, DEVCB_NULL, DEVCB_NULL
},
DEVCB_LINE(irqhandler)
DEVCB_DRIVER_LINE_MEMBER(goal92_state,irqhandler)
};
static void goal92_adpcm_int( device_t *device,int st )

View File

@ -155,26 +155,26 @@ GFXDECODE_END
/*****************************************************************************/
static void irqhandler(device_t *device, int linestate)
WRITE_LINE_MEMBER(hcastle_state::irqhandler)
{
// hcastle_state *state = device->machine().driver_data<hcastle_state>();
// state->m_audiocpu.device(0)->execute().set_input_line(linestate);
}
static WRITE8_DEVICE_HANDLER(volume_callback)
WRITE8_MEMBER(hcastle_state::volume_callback)
{
k007232_set_volume(device, 0, (data >> 4) * 0x11, 0);
k007232_set_volume(device, 1, 0, (data & 0x0f) * 0x11);
k007232_set_volume(machine().device("konami1"), 0, (data >> 4) * 0x11, 0);
k007232_set_volume(machine().device("konami1"), 1, 0, (data & 0x0f) * 0x11);
}
static const k007232_interface k007232_config =
{
DEVCB_DEVICE_HANDLER(DEVICE_SELF,volume_callback) /* external port callback */
DEVCB_DRIVER_MEMBER(hcastle_state,volume_callback) /* external port callback */
};
static const ym3812_interface ym3812_config =
{
DEVCB_LINE(irqhandler)
DEVCB_DRIVER_LINE_MEMBER(hcastle_state,irqhandler)
};
void hcastle_state::machine_start()

View File

@ -502,10 +502,10 @@ INPUT_PORTS_END
static void irqhandler(device_t *device, int irq)
WRITE_LINE_MEMBER(hnayayoi_state::irqhandler)
{
popmessage("irq");
// device->machine().device("maincpu")->execute().set_input_line(0, irq ? ASSERT_LINE : CLEAR_LINE);
// machine().device("maincpu")->execute().set_input_line(0, state ? ASSERT_LINE : CLEAR_LINE);
}
@ -519,7 +519,7 @@ static const ym2203_interface ym2203_config =
DEVCB_NULL,
DEVCB_NULL,
},
DEVCB_LINE(irqhandler)
DEVCB_DRIVER_LINE_MEMBER(hnayayoi_state,irqhandler)
};
static const msm5205_interface msm5205_config =

View File

@ -320,15 +320,14 @@ GFXDECODE_END
******************************************************************************/
static void irqhandler( device_t *device, int irq )
WRITE_LINE_MEMBER(inufuku_state::irqhandler)
{
inufuku_state *state = device->machine().driver_data<inufuku_state>();
state->m_audiocpu->set_input_line(0, irq ? ASSERT_LINE : CLEAR_LINE);
m_audiocpu->set_input_line(0, state ? ASSERT_LINE : CLEAR_LINE);
}
static const ym2610_interface ym2610_config =
{
DEVCB_LINE(irqhandler)
DEVCB_DRIVER_LINE_MEMBER(inufuku_state,irqhandler)
};

View File

@ -439,10 +439,9 @@ GFXDECODE_END
/******************************************************************************/
/* handler called by the 2203 emulator when the internal timers cause an IRQ */
static void irqhandler( device_t *device, int irq )
WRITE_LINE_MEMBER(lastduel_state::irqhandler)
{
lastduel_state *state = device->machine().driver_data<lastduel_state>();
state->m_audiocpu->set_input_line(0, irq ? ASSERT_LINE : CLEAR_LINE);
m_audiocpu->set_input_line(0, state ? ASSERT_LINE : CLEAR_LINE);
}
static const ym2203_interface ym2203_config =
@ -452,7 +451,7 @@ static const ym2203_interface ym2203_config =
AY8910_DEFAULT_LOADS,
DEVCB_NULL, DEVCB_NULL, DEVCB_NULL, DEVCB_NULL,
},
DEVCB_LINE(irqhandler)
DEVCB_DRIVER_LINE_MEMBER(lastduel_state,irqhandler)
};
TIMER_DEVICE_CALLBACK_MEMBER(lastduel_state::lastduel_timer_cb)

View File

@ -474,10 +474,9 @@ static GFXDECODE_START( lkage )
GFXDECODE_ENTRY( "gfx1", 0x0000, sprite_layout, 0, 16 )
GFXDECODE_END
static void irqhandler(device_t *device, int irq)
WRITE_LINE_MEMBER(lkage_state::irqhandler)
{
lkage_state *state = device->machine().driver_data<lkage_state>();
state->m_audiocpu->set_input_line(0, irq ? ASSERT_LINE : CLEAR_LINE);
m_audiocpu->set_input_line(0, state ? ASSERT_LINE : CLEAR_LINE);
}
static const ym2203_interface ym2203_config =
@ -487,7 +486,7 @@ static const ym2203_interface ym2203_config =
AY8910_DEFAULT_LOADS,
DEVCB_NULL, DEVCB_NULL, DEVCB_NULL, DEVCB_NULL
},
DEVCB_LINE(irqhandler)
DEVCB_DRIVER_LINE_MEMBER(lkage_state,irqhandler)
};
void lkage_state::machine_start()

View File

@ -664,14 +664,14 @@ static I8255A_INTERFACE( aliencha_ppi8255_1_intf )
};
static void soundirq(device_t *device, int state)
WRITE_LINE_MEMBER(lordgun_state::soundirq)
{
device->machine().device("soundcpu")->execute().set_input_line(INPUT_LINE_IRQ0, state);
machine().device("soundcpu")->execute().set_input_line(INPUT_LINE_IRQ0, state);
}
static const ym3812_interface lordgun_ym3812_interface =
{
DEVCB_LINE(soundirq)
DEVCB_DRIVER_LINE_MEMBER(lordgun_state,soundirq)
};
static MACHINE_CONFIG_START( lordgun, lordgun_state )
@ -712,7 +712,7 @@ MACHINE_CONFIG_END
static const ymf278b_interface ymf278b_config =
{
DEVCB_LINE(soundirq)
DEVCB_DRIVER_LINE_MEMBER(lordgun_state,soundirq)
};
static MACHINE_CONFIG_START( aliencha, lordgun_state )

View File

@ -538,10 +538,9 @@ GFXDECODE_END
static void irqhandler(device_t *device, int irq)
WRITE_LINE_MEMBER(lsasquad_state::irqhandler)
{
lsasquad_state *state = device->machine().driver_data<lsasquad_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(lsasquad_state::unk)
@ -559,7 +558,7 @@ static const ym2203_interface ym2203_config =
DEVCB_DRIVER_MEMBER(lsasquad_state,unk),
DEVCB_DRIVER_MEMBER(lsasquad_state,unk),
},
DEVCB_LINE(irqhandler)
DEVCB_DRIVER_LINE_MEMBER(lsasquad_state,irqhandler)
};

View File

@ -572,14 +572,13 @@ GFXDECODE_END
/*** MACHINE DRIVER **********************************************************/
static void irqhandler(device_t *device, int irq)
WRITE_LINE_MEMBER(macrossp_state::irqhandler)
{
// macrossp_state *state = space.machine().driver_data<macrossp_state>();
logerror("ES5506 irq %d\n", irq);
logerror("ES5506 irq %d\n", state);
/* IRQ lines 1 & 4 on the sound 68000 are definitely triggered by the ES5506,
but I haven't noticed the ES5506 ever assert the line - maybe only used when developing the game? */
// state->m_audiocpu->set_input_line(1, irq ? ASSERT_LINE : CLEAR_LINE);
// m_audiocpu->set_input_line(1, state ? ASSERT_LINE : CLEAR_LINE);
}
static const es5506_interface es5506_config =
@ -588,7 +587,7 @@ static const es5506_interface es5506_config =
"ensoniq.1",
"ensoniq.2",
"ensoniq.3",
DEVCB_LINE(irqhandler)
DEVCB_DRIVER_LINE_MEMBER(macrossp_state,irqhandler)
};

View File

@ -50,6 +50,7 @@ protected:
required_device<cpu_device> m_maincpu;
public:
DECLARE_DRIVER_INIT(maygayep);
DECLARE_WRITE_LINE_MEMBER(irqhandler);
};
// bp 29e58 in ep_simp reads the 'INITIALISE . . .' string
@ -100,13 +101,13 @@ DRIVER_INIT_MEMBER(maygayep_state,maygayep)
}
static void irqhandler(device_t *device, int state)
WRITE_LINE_MEMBER(maygayep_state::irqhandler)
{
}
static const ymz280b_interface ymz280b_config =
{
DEVCB_LINE(irqhandler)
DEVCB_DRIVER_LINE_MEMBER(maygayep_state,irqhandler)
};

View File

@ -1634,9 +1634,9 @@ MACHINE_CONFIG_END
***************************************************************************/
static void irq_handler(device_t *device, int irq)
WRITE_LINE_MEMBER(megasys1_state::irqhandler)
{
device->machine().driver_data<megasys1_state>()->m_audiocpu->set_input_line(0, irq ? ASSERT_LINE : CLEAR_LINE);
m_audiocpu->set_input_line(0, state ? ASSERT_LINE : CLEAR_LINE);
}
@ -1647,7 +1647,7 @@ static const ym2203_interface ym2203_config =
AY8910_DEFAULT_LOADS,
DEVCB_NULL, DEVCB_NULL, DEVCB_NULL, DEVCB_NULL
},
DEVCB_LINE(irq_handler)
DEVCB_DRIVER_LINE_MEMBER(megasys1_state,irqhandler)
};
static MACHINE_CONFIG_START( system_Z, megasys1_state )

View File

@ -1620,15 +1620,14 @@ WRITE8_MEMBER(metro_state::blzntrnd_sh_bankswitch_w)
membank("bank1")->set_base(&RAM[bankaddress]);
}
static void blzntrnd_irqhandler(device_t *device, int irq)
WRITE_LINE_MEMBER(metro_state::blzntrnd_irqhandler)
{
metro_state *state = device->machine().driver_data<metro_state>();
state->m_audiocpu->set_input_line(0, irq ? ASSERT_LINE : CLEAR_LINE);
m_audiocpu->set_input_line(0, state ? ASSERT_LINE : CLEAR_LINE);
}
static const ym2610_interface blzntrnd_ym2610_interface =
{
DEVCB_LINE(blzntrnd_irqhandler)
DEVCB_DRIVER_LINE_MEMBER(metro_state,blzntrnd_irqhandler)
};
static ADDRESS_MAP_START( blzntrnd_sound_map, AS_PROGRAM, 8, metro_state )

View File

@ -80,6 +80,7 @@ public:
virtual void video_start();
UINT32 screen_update_midas(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect);
DECLARE_WRITE_LINE_MEMBER(livequiz_irqhandler);
};
@ -686,14 +687,14 @@ static INPUT_PORTS_START( hammer )
INPUT_PORTS_END
static void livequiz_irqhandler(device_t *device, int state)
WRITE_LINE_MEMBER(midas_state::livequiz_irqhandler)
{
logerror("YMZ280 is generating an interrupt. State=%08x\n",state);
}
static const ymz280b_interface ymz280b_config =
{
DEVCB_LINE(livequiz_irqhandler)
DEVCB_DRIVER_LINE_MEMBER(midas_state,livequiz_irqhandler)
};
static MACHINE_CONFIG_START( livequiz, midas_state )

View File

@ -865,9 +865,9 @@ GFXDECODE_END
*
*************************************/
static void irqhandler(device_t *device, int irq)
WRITE_LINE_MEMBER(ninjakd2_state::irqhandler)
{
device->machine().device("soundcpu")->execute().set_input_line(0, irq ? ASSERT_LINE : CLEAR_LINE);
machine().device("soundcpu")->execute().set_input_line(0, state ? ASSERT_LINE : CLEAR_LINE);
}
static const ym2203_interface ym2203_config =
@ -877,7 +877,7 @@ static const ym2203_interface ym2203_config =
AY8910_DEFAULT_LOADS,
DEVCB_NULL, DEVCB_NULL, DEVCB_NULL, DEVCB_NULL
},
DEVCB_LINE(irqhandler)
DEVCB_DRIVER_LINE_MEMBER(ninjakd2_state,irqhandler)
};

View File

@ -635,15 +635,14 @@ GFXDECODE_END
**************************************************************/
/* handler called by the YM2610 emulator when the internal timers cause an IRQ */
static void irqhandler( device_t *device, int irq )
WRITE_LINE_MEMBER(ninjaw_state::irqhandler)
{
ninjaw_state *state = device->machine().driver_data<ninjaw_state>();
state->m_audiocpu->set_input_line(0, irq ? ASSERT_LINE : CLEAR_LINE);
m_audiocpu->set_input_line(0, state ? ASSERT_LINE : CLEAR_LINE);
}
static const ym2610_interface ym2610_config =
{
DEVCB_LINE(irqhandler)
DEVCB_DRIVER_LINE_MEMBER(ninjaw_state,irqhandler)
};

View File

@ -280,6 +280,7 @@ public:
virtual void video_start();
UINT32 screen_update_nmg5(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void draw_bitmap( bitmap_ind16 &bitmap );
DECLARE_WRITE_LINE_MEMBER(soundirq);
};
@ -971,15 +972,14 @@ static GFXDECODE_START( pclubys )
GFXDECODE_END
static void soundirq( device_t *device, int state )
WRITE_LINE_MEMBER(nmg5_state::soundirq)
{
nmg5_state *driver_state = device->machine().driver_data<nmg5_state>();
driver_state->m_soundcpu->set_input_line(0, state);
m_soundcpu->set_input_line(0, state);
}
static const ym3812_interface ym3812_intf =
{
DEVCB_LINE(soundirq) /* IRQ Line */
DEVCB_DRIVER_LINE_MEMBER(nmg5_state,soundirq) /* IRQ Line */
};
void nmg5_state::machine_start()

View File

@ -3501,9 +3501,9 @@ static const ym2203_interface ym2203_nmk004_interface =
DEVCB_LINE(NMK004_irq)
};
static void ym2203_irqhandler(device_t *device, int irq)
WRITE_LINE_MEMBER(nmk16_state::ym2203_irqhandler)
{
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 ym2203_interface ym2203_config =
@ -3513,7 +3513,7 @@ static const ym2203_interface ym2203_config =
AY8910_DEFAULT_LOADS,
DEVCB_NULL, DEVCB_NULL, DEVCB_NULL, DEVCB_NULL
},
DEVCB_LINE(ym2203_irqhandler)
DEVCB_DRIVER_LINE_MEMBER(nmk16_state,ym2203_irqhandler)
};
TIMER_DEVICE_CALLBACK_MEMBER(nmk16_state::nmk16_scanline)

View File

@ -327,15 +327,14 @@ static GFXDECODE_START( oneshot )
GFXDECODE_ENTRY( "gfx1", 0, oneshot8x8_layout, 0x00, 4 ) /* sprites */
GFXDECODE_END
static void irq_handler(device_t *device, int irq)
WRITE_LINE_MEMBER(oneshot_state::irqhandler)
{
oneshot_state *state = device->machine().driver_data<oneshot_state>();
state->m_audiocpu->set_input_line(0, irq ? ASSERT_LINE : CLEAR_LINE);
m_audiocpu->set_input_line(0, state ? ASSERT_LINE : CLEAR_LINE);
}
static const ym3812_interface ym3812_config =
{
DEVCB_LINE(irq_handler)
DEVCB_DRIVER_LINE_MEMBER(oneshot_state,irqhandler)
};
void oneshot_state::machine_start()

View File

@ -77,6 +77,7 @@ public:
virtual void video_start();
UINT32 screen_update_onetwo(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void set_color(int offset);
DECLARE_WRITE_LINE_MEMBER(irqhandler);
};
@ -329,15 +330,14 @@ GFXDECODE_END
*
*************************************/
static void irqhandler(device_t *device, int linestate)
WRITE_LINE_MEMBER(onetwo_state::irqhandler)
{
onetwo_state *state = device->machine().driver_data<onetwo_state>();
state->m_audiocpu->set_input_line(0, linestate);
m_audiocpu->set_input_line(0, state);
}
static const ym3812_interface ym3812_config =
{
DEVCB_LINE(irqhandler) /* IRQ Line */
DEVCB_DRIVER_LINE_MEMBER(onetwo_state,irqhandler) /* IRQ Line */
};
/*************************************

View File

@ -618,15 +618,14 @@ GFXDECODE_END
**************************************************************/
/* handler called by the YM2610 emulator when the internal timers cause an IRQ */
static void irqhandler( device_t *device, int irq )
WRITE_LINE_MEMBER(othunder_state::irqhandler)
{
othunder_state *state = device->machine().driver_data<othunder_state>();
state->m_audiocpu->set_input_line(0, irq ? ASSERT_LINE : CLEAR_LINE);
m_audiocpu->set_input_line(0, state ? ASSERT_LINE : CLEAR_LINE);
}
static const ym2610_interface ym2610_config =
{
DEVCB_LINE(irqhandler)
DEVCB_DRIVER_LINE_MEMBER(othunder_state,irqhandler)
};

View File

@ -186,6 +186,7 @@ public:
DECLARE_WRITE8_MEMBER( pending_command_clear_w );
DECLARE_READ8_MEMBER( pending_command_r );
DECLARE_READ8_MEMBER( sound_command_r );
DECLARE_WRITE_LINE_MEMBER(irqhandler);
};
@ -574,10 +575,9 @@ GFXDECODE_END
*
*************************************/
static void irqhandler(device_t *device, int irq )
WRITE_LINE_MEMBER(pipedrm_state::irqhandler)
{
pipedrm_state *state = device->machine().driver_data<pipedrm_state>();
state->m_subcpu->set_input_line(0, irq ? ASSERT_LINE : CLEAR_LINE);
m_subcpu->set_input_line(0, state ? ASSERT_LINE : CLEAR_LINE);
}
@ -588,13 +588,13 @@ static const ym2608_interface ym2608_config =
AY8910_DEFAULT_LOADS,
DEVCB_NULL, DEVCB_NULL, DEVCB_NULL, DEVCB_NULL
},
DEVCB_LINE(irqhandler)
DEVCB_DRIVER_LINE_MEMBER(pipedrm_state,irqhandler)
};
static const ym2610_interface ym2610_config =
{
DEVCB_LINE(irqhandler)
DEVCB_DRIVER_LINE_MEMBER(pipedrm_state,irqhandler)
};

View File

@ -46,6 +46,7 @@ public:
virtual void video_start();
UINT32 screen_update_pkscramble(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
TIMER_DEVICE_CALLBACK_MEMBER(scanline_callback);
DECLARE_WRITE_LINE_MEMBER(irqhandler);
};
@ -268,11 +269,10 @@ static GFXDECODE_START( pkscram )
GFXDECODE_ENTRY( "gfx1", 0, tiles8x8_layout, 0, 0x80 )
GFXDECODE_END
static void irqhandler(device_t *device, int irq)
WRITE_LINE_MEMBER(pkscram_state::irqhandler)
{
pkscram_state *state = device->machine().driver_data<pkscram_state>();
if(state->m_out & 0x10)
device->machine().device("maincpu")->execute().set_input_line(2, irq ? ASSERT_LINE : CLEAR_LINE);
if(m_out & 0x10)
machine().device("maincpu")->execute().set_input_line(2, state ? ASSERT_LINE : CLEAR_LINE);
}
static const ym2203_interface ym2203_config =
@ -282,7 +282,7 @@ static const ym2203_interface ym2203_config =
AY8910_DEFAULT_LOADS,
DEVCB_NULL, DEVCB_NULL, DEVCB_NULL, DEVCB_NULL
},
DEVCB_LINE(irqhandler)
DEVCB_DRIVER_LINE_MEMBER(pkscram_state,irqhandler)
};
void pkscram_state::machine_start()

View File

@ -317,9 +317,9 @@ void powerins_state::machine_reset()
m_oki_bank = -1; // samples bank "unitialised"
}
static void irqhandler(device_t *device, int irq)
WRITE_LINE_MEMBER(powerins_state::irqhandler)
{
device->machine().device("soundcpu")->execute().set_input_line(0, irq ? ASSERT_LINE : CLEAR_LINE);
machine().device("soundcpu")->execute().set_input_line(0, state ? ASSERT_LINE : CLEAR_LINE);
}
static const ym2203_interface ym2203_config =
@ -329,7 +329,7 @@ static const ym2203_interface ym2203_config =
AY8910_DEFAULT_LOADS,
DEVCB_NULL, DEVCB_NULL, DEVCB_NULL, DEVCB_NULL,
},
DEVCB_LINE(irqhandler)
DEVCB_DRIVER_LINE_MEMBER(powerins_state,irqhandler)
};
static const nmk112_interface powerins_nmk112_intf =

View File

@ -193,14 +193,14 @@ GFXDECODE_END
/******************************************************************************/
static void irqhandler(device_t *device, int irq)
WRITE_LINE_MEMBER(prehisle_state::irqhandler)
{
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 ym3812_interface ym3812_config =
{
DEVCB_LINE(irqhandler)
DEVCB_DRIVER_LINE_MEMBER(prehisle_state,irqhandler)
};
/******************************************************************************/

View File

@ -1162,15 +1162,14 @@ MACHINE_CONFIG_END
***************************************************************************/
static void irqhandler( device_t *device, int linestate )
WRITE_LINE_MEMBER(psikyo_state::irqhandler)
{
psikyo_state *state = device->machine().driver_data<psikyo_state>();
state->m_audiocpu->set_input_line(0, linestate ? ASSERT_LINE : CLEAR_LINE);
m_audiocpu->set_input_line(0, state ? ASSERT_LINE : CLEAR_LINE);
}
static const ymf278b_interface ymf278b_config =
{
DEVCB_LINE(irqhandler)
DEVCB_DRIVER_LINE_MEMBER(psikyo_state,irqhandler)
};
static MACHINE_CONFIG_START( s1945, psikyo_state )

View File

@ -645,15 +645,14 @@ static INPUT_PORTS_START( hotdebut )
INPUT_PORTS_END
static void irqhandler( device_t *device, int linestate )
WRITE_LINE_MEMBER(psikyo4_state::irqhandler)
{
psikyo4_state *state = device->machine().driver_data<psikyo4_state>();
state->m_maincpu->set_input_line(12, linestate ? ASSERT_LINE : CLEAR_LINE);
m_maincpu->set_input_line(12, state ? ASSERT_LINE : CLEAR_LINE);
}
static const ymf278b_interface ymf278b_config =
{
DEVCB_LINE(irqhandler)
DEVCB_DRIVER_LINE_MEMBER(psikyo4_state,irqhandler)
};

View File

@ -782,15 +782,14 @@ static INPUT_PORTS_START( mjgtaste )
INPUT_PORTS_END
static void irqhandler(device_t *device, int linestate)
WRITE_LINE_MEMBER(psikyosh_state::irqhandler)
{
psikyosh_state *state = device->machine().driver_data<psikyosh_state>();
state->m_maincpu->set_input_line(12, linestate ? ASSERT_LINE : CLEAR_LINE);
m_maincpu->set_input_line(12, state ? ASSERT_LINE : CLEAR_LINE);
}
static const ymf278b_interface ymf278b_config =
{
DEVCB_LINE(irqhandler)
DEVCB_DRIVER_LINE_MEMBER(psikyosh_state,irqhandler)
};

View File

@ -643,9 +643,9 @@ GFXDECODE_END
static void irqhandler(device_t *device, int irq)
WRITE_LINE_MEMBER(psychic5_state::irqhandler)
{
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 ym2203_interface ym2203_config =
@ -655,7 +655,7 @@ static const ym2203_interface ym2203_config =
AY8910_DEFAULT_LOADS,
DEVCB_NULL, DEVCB_NULL, DEVCB_NULL, DEVCB_NULL
},
DEVCB_LINE(irqhandler)
DEVCB_DRIVER_LINE_MEMBER(psychic5_state,irqhandler)
};
static MACHINE_CONFIG_START( psychic5, psychic5_state )

View File

@ -378,10 +378,9 @@ GFXDECODE_END
/******************************************************************************/
static void irqhandler(device_t *device, int irq)
WRITE_LINE_MEMBER(pushman_state::irqhandler)
{
pushman_state *state = device->machine().driver_data<pushman_state>();
state->m_audiocpu->set_input_line(0, irq ? ASSERT_LINE : CLEAR_LINE);
m_audiocpu->set_input_line(0, state ? ASSERT_LINE : CLEAR_LINE);
}
static const ym2203_interface ym2203_config =
@ -391,7 +390,7 @@ static const ym2203_interface ym2203_config =
AY8910_DEFAULT_LOADS,
DEVCB_NULL, DEVCB_NULL, DEVCB_NULL, DEVCB_NULL,
},
DEVCB_LINE(irqhandler)
DEVCB_DRIVER_LINE_MEMBER(pushman_state,irqhandler)
};

View File

@ -113,6 +113,7 @@ public:
void screen_eof_sandscrp(screen_device &screen, bool state);
INTERRUPT_GEN_MEMBER(sandscrp_interrupt);
void update_irq_state();
DECLARE_WRITE_LINE_MEMBER(irqhandler);
};
@ -460,9 +461,9 @@ GFXDECODE_END
/* YM3014B + YM2203C */
static void irq_handler(device_t *device, int irq)
WRITE_LINE_MEMBER(sandscrp_state::irqhandler)
{
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 ym2203_interface ym2203_intf_sandscrp =
@ -475,7 +476,7 @@ static const ym2203_interface ym2203_intf_sandscrp =
DEVCB_NULL, /* Port A Write */
DEVCB_NULL, /* Port B Write */
},
DEVCB_LINE(irq_handler) /* IRQ handler */
DEVCB_DRIVER_LINE_MEMBER(sandscrp_state,irqhandler) /* IRQ handler */
};

View File

@ -1091,12 +1091,12 @@ WRITE8_MEMBER(seibuspi_state::flashrom_write)
}
}
static void irqhandler(device_t *device, int state)
WRITE_LINE_MEMBER(seibuspi_state::irqhandler)
{
if (state)
device->machine().device("soundcpu")->execute().set_input_line_and_vector(0, ASSERT_LINE, 0xd7); // IRQ is RST10
machine().device("soundcpu")->execute().set_input_line_and_vector(0, ASSERT_LINE, 0xd7); // IRQ is RST10
else
device->machine().device("soundcpu")->execute().set_input_line(0, CLEAR_LINE);
machine().device("soundcpu")->execute().set_input_line(0, CLEAR_LINE);
}
WRITE32_MEMBER(seibuspi_state::sys386f2_eeprom_w)
@ -1112,7 +1112,7 @@ static const ymf271_interface ymf271_config =
{
DEVCB_DRIVER_MEMBER(seibuspi_state,flashrom_read),
DEVCB_DRIVER_MEMBER(seibuspi_state,flashrom_write),
DEVCB_LINE(irqhandler)
DEVCB_DRIVER_LINE_MEMBER(seibuspi_state,irqhandler)
};
/********************************************************************/

View File

@ -82,6 +82,7 @@ public:
TIMER_DEVICE_CALLBACK_MEMBER(sfkick_interrupt);
void sfkick_remap_banks();
void sfkick_bank_set(int num, int data);
DECLARE_WRITE_LINE_MEMBER(irqhandler);
};
@ -455,9 +456,9 @@ TIMER_DEVICE_CALLBACK_MEMBER(sfkick_state::sfkick_interrupt)
m_v9938->interrupt();
}
static void irqhandler(device_t *device, int irq)
WRITE_LINE_MEMBER(sfkick_state::irqhandler)
{
device->machine().device("soundcpu")->execute().set_input_line_and_vector(0, irq ? ASSERT_LINE : CLEAR_LINE, 0xff);
machine().device("soundcpu")->execute().set_input_line_and_vector(0, state ? ASSERT_LINE : CLEAR_LINE, 0xff);
}
static const ym2203_interface ym2203_config =
@ -467,7 +468,7 @@ static const ym2203_interface ym2203_config =
AY8910_DEFAULT_LOADS,
DEVCB_NULL,DEVCB_NULL,DEVCB_NULL,DEVCB_NULL,
},
DEVCB_LINE(irqhandler)
DEVCB_DRIVER_LINE_MEMBER(sfkick_state,irqhandler)
};
static MACHINE_CONFIG_START( sfkick, sfkick_state )

View File

@ -465,14 +465,14 @@ static const ay8910_interface ay8910_config =
DEVCB_NULL
};
static void irqhandler(device_t *device, int linestate)
WRITE_LINE_MEMBER(shangha3_state::irqhandler)
{
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 ym3438_config =
{
DEVCB_LINE(irqhandler)
DEVCB_DRIVER_LINE_MEMBER(shangha3_state,irqhandler)
};

View File

@ -476,15 +476,14 @@ GFXDECODE_END
**************************************************************/
/* handler called by the YM2610 emulator when the internal timers cause an IRQ */
static void irqhandler( device_t *device, int irq )
WRITE_LINE_MEMBER(slapshot_state::irqhandler)
{
slapshot_state *state = device->machine().driver_data<slapshot_state>();
state->m_audiocpu->set_input_line(0, irq ? ASSERT_LINE : CLEAR_LINE);
m_audiocpu->set_input_line(0, state ? ASSERT_LINE : CLEAR_LINE);
}
static const ym2610_interface ym2610_config =
{
DEVCB_LINE(irqhandler)
DEVCB_DRIVER_LINE_MEMBER(slapshot_state,irqhandler)
};

View File

@ -574,14 +574,14 @@ GFXDECODE_END
/******************************************************************************/
static void irqhandler(device_t *device, int irq)
WRITE_LINE_MEMBER(snk68_state::irqhandler)
{
device->machine().device("soundcpu")->execute().set_input_line(0, irq ? ASSERT_LINE : CLEAR_LINE);
machine().device("soundcpu")->execute().set_input_line(0, state ? ASSERT_LINE : CLEAR_LINE);
}
static const ym3812_interface ym3812_config =
{
DEVCB_LINE(irqhandler)
DEVCB_DRIVER_LINE_MEMBER(snk68_state,irqhandler)
};
/******************************************************************************/

View File

@ -1491,16 +1491,16 @@ static GFXDECODE_START( hyperpac )
GFXDECODE_END
/* handler called by the 3812/2151 emulator when the internal timers cause an IRQ */
static void irqhandler(device_t *device, int irq)
WRITE_LINE_MEMBER(snowbros_state::irqhandler)
{
device->machine().device("soundcpu")->execute().set_input_line(0, irq ? ASSERT_LINE : CLEAR_LINE);
machine().device("soundcpu")->execute().set_input_line(0, state ? ASSERT_LINE : CLEAR_LINE);
}
/* SnowBros Sound */
static const ym3812_interface ym3812_config =
{
DEVCB_LINE(irqhandler)
DEVCB_DRIVER_LINE_MEMBER(snowbros_state,irqhandler)
};

View File

@ -72,6 +72,7 @@ public:
TIMER_CALLBACK_MEMBER(subcpu_suspend);
TIMER_CALLBACK_MEMBER(subcpu_resume);
TIMER_DEVICE_CALLBACK_MEMBER(sothello_interrupt);
DECLARE_WRITE_LINE_MEMBER(irqhandler);
};
@ -308,9 +309,9 @@ static INPUT_PORTS_START( sothello )
PORT_BIT( 0x07, IP_ACTIVE_LOW, IPT_UNUSED )
INPUT_PORTS_END
static void irqhandler(device_t *device, int irq)
WRITE_LINE_MEMBER(sothello_state::irqhandler)
{
device->machine().device("sub")->execute().set_input_line(0, irq ? ASSERT_LINE : CLEAR_LINE);
machine().device("sub")->execute().set_input_line(0, state ? ASSERT_LINE : CLEAR_LINE);
}
static void sothello_vdp_interrupt(device_t *, v99x8_device &device, int i)
@ -352,7 +353,7 @@ static const ym2203_interface ym2203_config =
DEVCB_NULL,
DEVCB_NULL,
},
DEVCB_LINE(irqhandler)
DEVCB_DRIVER_LINE_MEMBER(sothello_state,irqhandler)
};
static MACHINE_CONFIG_START( sothello, sothello_state )

View File

@ -402,14 +402,14 @@ static GFXDECODE_START( spbactnp )
GFXDECODE_END
static void irqhandler(device_t *device, int linestate)
WRITE_LINE_MEMBER(spbactn_state::irqhandler)
{
device->machine().device("audiocpu")->execute().set_input_line(0, linestate);
machine().device("audiocpu")->execute().set_input_line(0, state);
}
static const ym3812_interface ym3812_config =
{
DEVCB_LINE(irqhandler)
DEVCB_DRIVER_LINE_MEMBER(spbactn_state,irqhandler)
};
static MACHINE_CONFIG_START( spbactn, spbactn_state )

View File

@ -375,14 +375,14 @@ static GFXDECODE_START( spdodgeb )
GFXDECODE_END
static void irq_handler(device_t *device, int irq)
WRITE_LINE_MEMBER(spdodgeb_state::irqhandler)
{
device->machine().device("audiocpu")->execute().set_input_line(M6809_FIRQ_LINE, irq ? ASSERT_LINE : CLEAR_LINE);
machine().device("audiocpu")->execute().set_input_line(M6809_FIRQ_LINE, state ? ASSERT_LINE : CLEAR_LINE);
}
static const ym3812_interface ym3812_config =
{
DEVCB_LINE(irq_handler)
DEVCB_DRIVER_LINE_MEMBER(spdodgeb_state,irqhandler)
};
static const msm5205_interface msm5205_config =

View File

@ -459,15 +459,14 @@ static const k007232_interface spy_k007232_interface =
};
static void irqhandler( device_t *device, int linestate )
WRITE_LINE_MEMBER(spy_state::irqhandler)
{
spy_state *state = device->machine().driver_data<spy_state>();
state->m_audiocpu->set_input_line(INPUT_LINE_NMI, linestate);
m_audiocpu->set_input_line(INPUT_LINE_NMI, state);
}
static const ym3812_interface ym3812_config =
{
DEVCB_LINE(irqhandler)
DEVCB_DRIVER_LINE_MEMBER(spy_state,irqhandler)
};

View File

@ -355,9 +355,9 @@ GFXDECODE_END
/******************************************************************************/
static void irqhandler(device_t *device, int state)
WRITE_LINE_MEMBER(sshangha_state::irqhandler)
{
device->machine().device("audiocpu")->execute().set_input_line(0, state);
machine().device("audiocpu")->execute().set_input_line(0, state);
}
static const ym2203_interface ym2203_config =
@ -367,7 +367,7 @@ static const ym2203_interface ym2203_config =
AY8910_DEFAULT_LOADS,
DEVCB_NULL, DEVCB_NULL, DEVCB_NULL, DEVCB_NULL
},
DEVCB_LINE(irqhandler)
DEVCB_DRIVER_LINE_MEMBER(sshangha_state,irqhandler)
};
static int sshangha_bank_callback( int bank )

View File

@ -212,14 +212,14 @@ GFXDECODE_END
/******************************************************************************/
static void irqhandler(device_t *device, int linestate)
WRITE_LINE_MEMBER(stadhero_state::irqhandler)
{
device->machine().device("audiocpu")->execute().set_input_line(0, linestate);
machine().device("audiocpu")->execute().set_input_line(0, state);
}
static const ym3812_interface ym3812_config =
{
DEVCB_LINE(irqhandler)
DEVCB_DRIVER_LINE_MEMBER(stadhero_state,irqhandler)
};
/******************************************************************************/

View File

@ -1763,9 +1763,9 @@ GFXDECODE_END
***************************************************************************/
static void soundirq(device_t *device, int state)
WRITE_LINE_MEMBER(suna8_state::soundirq)
{
device->machine().device("audiocpu")->execute().set_input_line(0, state);
machine().device("audiocpu")->execute().set_input_line(0, state);
}
/* In games with only 2 CPUs, port A&B of the AY8910 are used
@ -1910,7 +1910,7 @@ MACHINE_CONFIG_END
static const ym3812_interface brickzn_ym3812_interface =
{
DEVCB_LINE(soundirq) /* IRQ Line */
DEVCB_DRIVER_LINE_MEMBER(suna8_state,soundirq) /* IRQ Line */
};
MACHINE_RESET_MEMBER(suna8_state,brickzn)

View File

@ -69,6 +69,7 @@ public:
virtual void machine_reset();
virtual void video_start();
UINT32 screen_update_suprgolf(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
DECLARE_WRITE_LINE_MEMBER(irqhandler);
};
TILE_GET_INFO_MEMBER(suprgolf_state::get_tile_info)
@ -413,9 +414,9 @@ WRITE8_MEMBER(suprgolf_state::suprgolf_writeB)
mame_printf_debug("ymwA\n");
}
static void irqhandler(device_t *device, int irq)
WRITE_LINE_MEMBER(suprgolf_state::irqhandler)
{
//device->machine().device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, irq ? ASSERT_LINE : CLEAR_LINE);
//machine().device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, state ? ASSERT_LINE : CLEAR_LINE);
}
static const ym2203_interface ym2203_config =
@ -428,7 +429,7 @@ static const ym2203_interface ym2203_config =
DEVCB_DRIVER_MEMBER(suprgolf_state,suprgolf_writeA),
DEVCB_DRIVER_MEMBER(suprgolf_state,suprgolf_writeB),
},
DEVCB_LINE(irqhandler)
DEVCB_DRIVER_LINE_MEMBER(suprgolf_state,irqhandler)
};
static void adpcm_int(device_t *device,int st)

View File

@ -276,15 +276,14 @@ GFXDECODE_END
/*** MORE SOUND **************************************************************/
static void irqhandler(device_t *device, int irq)
WRITE_LINE_MEMBER(suprslam_state::irqhandler)
{
suprslam_state *state = device->machine().driver_data<suprslam_state>();
state->m_audiocpu->set_input_line(0, irq ? ASSERT_LINE : CLEAR_LINE);
m_audiocpu->set_input_line(0, state ? ASSERT_LINE : CLEAR_LINE);
}
static const ym2610_interface ym2610_config =
{
DEVCB_LINE(irqhandler)
DEVCB_DRIVER_LINE_MEMBER(suprslam_state,irqhandler)
};
/*** MACHINE DRIVER **********************************************************/

View File

@ -176,10 +176,9 @@ GFXDECODE_END
static void irqhandler( device_t *device, int irq )
WRITE_LINE_MEMBER(tail2nos_state::irqhandler)
{
tail2nos_state *state = device->machine().driver_data<tail2nos_state>();
state->m_audiocpu->set_input_line(0, irq ? ASSERT_LINE : CLEAR_LINE);
m_audiocpu->set_input_line(0, state ? ASSERT_LINE : CLEAR_LINE);
}
static const ym2608_interface ym2608_config =
@ -192,7 +191,7 @@ static const ym2608_interface ym2608_config =
DEVCB_NULL,
DEVCB_DRIVER_MEMBER(tail2nos_state,sound_bankswitch_w)
},
DEVCB_LINE(irqhandler)
DEVCB_DRIVER_LINE_MEMBER(tail2nos_state,irqhandler)
};

View File

@ -1890,15 +1890,14 @@ GFXDECODE_END
/* handler called by the YM2610 emulator when the internal timers cause an IRQ */
static void irqhandler( device_t *device, int irq )
WRITE_LINE_MEMBER(taitob_state::irqhandler)
{
taitob_state *state = device->machine().driver_data<taitob_state>();
state->m_audiocpu->set_input_line(0, irq ? ASSERT_LINE : CLEAR_LINE);
m_audiocpu->set_input_line(0, state ? ASSERT_LINE : CLEAR_LINE);
}
static const ym2610_interface ym2610_config =
{
DEVCB_LINE(irqhandler)
DEVCB_DRIVER_LINE_MEMBER(taitob_state,irqhandler)
};
static const ym2203_interface ym2203_config =
@ -1911,7 +1910,7 @@ static const ym2203_interface ym2203_config =
DEVCB_DRIVER_MEMBER(taitob_state, bankswitch_w),
DEVCB_NULL,
},
DEVCB_LINE(irqhandler)
DEVCB_DRIVER_LINE_MEMBER(taitob_state,irqhandler)
};
/*

View File

@ -2802,15 +2802,14 @@ GFXDECODE_END
/* handler called by the YM2610 emulator when the internal timers cause an IRQ */
static void irq_handler( device_t *device, int irq )
WRITE_LINE_MEMBER(taitof2_state::irqhandler)
{
taitof2_state *state = device->machine().driver_data<taitof2_state>();
state->m_audiocpu->set_input_line(0, irq ? ASSERT_LINE : CLEAR_LINE);
m_audiocpu->set_input_line(0, state ? ASSERT_LINE : CLEAR_LINE);
}
static const ym2610_interface ym2610_config =
{
DEVCB_LINE(irq_handler)
DEVCB_DRIVER_LINE_MEMBER(taitof2_state,irqhandler)
};
@ -2829,7 +2828,7 @@ static const ym2203_interface ym2203_config =
DEVCB_DRIVER_MEMBER(taitof2_state,cameltrya_porta_w), /* portA write - not implemented */
DEVCB_NULL, /* portB write */
},
DEVCB_LINE(irq_handler)
DEVCB_DRIVER_LINE_MEMBER(taitof2_state,irqhandler)
};

View File

@ -156,15 +156,14 @@ some kind of zoom table?
***************************************************************************/
/* Handler called by the YM2610 emulator when the internal timers cause an IRQ */
static void irqhandler( device_t *device, int irq )
WRITE_LINE_MEMBER(taitoh_state::irqhandler)
{
taitoh_state *state = device->machine().driver_data<taitoh_state>();
state->m_audiocpu->set_input_line(0, irq ? ASSERT_LINE : CLEAR_LINE);
m_audiocpu->set_input_line(0, state ? ASSERT_LINE : CLEAR_LINE);
}
static const ym2610_interface ym2610_config =
{
DEVCB_LINE(irqhandler)
DEVCB_DRIVER_LINE_MEMBER(taitoh_state,irqhandler)
};

View File

@ -1743,10 +1743,9 @@ GFXDECODE_END
static void irqhandler( device_t *device, int irq )
WRITE_LINE_MEMBER(taitol_state::irqhandler)
{
taitol_state *state = device->machine().driver_data<taitol_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(taitol_state::portA_w)
@ -1773,7 +1772,7 @@ static const ym2203_interface ym2203_interface_triple =
DEVCB_DRIVER_MEMBER(taitol_state,portA_w),
DEVCB_NULL,
},
DEVCB_LINE(irqhandler)
DEVCB_DRIVER_LINE_MEMBER(taitol_state,irqhandler)
};
static const ym2203_interface ym2203_interface_champwr =
@ -1786,7 +1785,7 @@ static const ym2203_interface ym2203_interface_champwr =
DEVCB_DRIVER_MEMBER(taitol_state,portA_w),
DEVCB_DRIVER_MEMBER(taitol_state,champwr_msm5205_volume_w),
},
DEVCB_LINE(irqhandler)
DEVCB_DRIVER_LINE_MEMBER(taitol_state,irqhandler)
};
@ -1798,7 +1797,7 @@ static const msm5205_interface msm5205_config =
static const ym2610_interface ym2610_config =
{
DEVCB_LINE(irqhandler)
DEVCB_DRIVER_LINE_MEMBER(taitol_state,irqhandler)
};
static const ym2203_interface ym2203_interface_single =

View File

@ -338,6 +338,7 @@ public:
DECLARE_DRIVER_INIT(kyustrkr);
DECLARE_MACHINE_START(taitox);
void reset_sound_region();
DECLARE_WRITE_LINE_MEMBER(irqhandler);
};
READ16_MEMBER(taitox_state::superman_dsw_input_r)
@ -791,14 +792,14 @@ GFXDECODE_END
/**************************************************************************/
/* handler called by the YM2610 emulator when the internal timers cause an IRQ */
static void irqhandler(device_t *device, int irq)
WRITE_LINE_MEMBER(taitox_state::irqhandler)
{
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 ym2610_interface ym2610_config =
{
DEVCB_LINE(irqhandler)
DEVCB_DRIVER_LINE_MEMBER(taitox_state,irqhandler)
};
MACHINE_START_MEMBER(taitox_state,taitox)

View File

@ -2899,28 +2899,26 @@ Interface B is for games which lack a Z80 (Spacegun, Bshark).
**************************************************************/
/* handler called by the YM2610 emulator when the internal timers cause an IRQ */
static void irqhandler(device_t *device, int irq)
WRITE_LINE_MEMBER(taitoz_state::irqhandler)
{
taitoz_state *state = device->machine().driver_data<taitoz_state>();
state->m_audiocpu->set_input_line(0, irq ? ASSERT_LINE : CLEAR_LINE);
m_audiocpu->set_input_line(0, state ? ASSERT_LINE : CLEAR_LINE);
}
/* handler called by the YM2610 emulator when the internal timers cause an IRQ */
static void irqhandlerb(device_t *device, int irq)
WRITE_LINE_MEMBER(taitoz_state::irqhandlerb)
{
// DG: this is probably specific to Z80 and wrong?
// taitoz_state *state = device->machine().driver_data<taitoz_state>();
// state->m_audiocpu->set_input_line(0, irq ? ASSERT_LINE : CLEAR_LINE);
// m_audiocpu->set_input_line(0, state ? ASSERT_LINE : CLEAR_LINE);
}
static const ym2610_interface ym2610_config =
{
DEVCB_LINE(irqhandler)
DEVCB_DRIVER_LINE_MEMBER(taitoz_state,irqhandler)
};
static const ym2610_interface ym2610_interfaceb =
{
DEVCB_LINE(irqhandlerb)
DEVCB_DRIVER_LINE_MEMBER(taitoz_state,irqhandlerb)
};

View File

@ -626,15 +626,14 @@ GFXDECODE_END
************************************************************/
/* Handler called by the YM2610 emulator when the internal timers cause an IRQ */
static void irqhandler( device_t *device, int irq )
WRITE_LINE_MEMBER(taitoair_state::irqhandler)
{
taitoair_state *state = device->machine().driver_data<taitoair_state>();
state->m_audiocpu->set_input_line(0, irq ? ASSERT_LINE : CLEAR_LINE);
m_audiocpu->set_input_line(0, state ? ASSERT_LINE : CLEAR_LINE);
}
static const ym2610_interface airsys_ym2610_interface =
{
DEVCB_LINE(irqhandler)
DEVCB_DRIVER_LINE_MEMBER(taitoair_state,irqhandler)
};

View File

@ -320,14 +320,14 @@ static GFXDECODE_START( taotaido )
GFXDECODE_ENTRY( "gfx2", 0, taotaido_layout, 0x300, 256 ) /* bg tiles */
GFXDECODE_END
static void irqhandler(device_t *device, int irq)
WRITE_LINE_MEMBER(taotaido_state::irqhandler)
{
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 ym2610_interface ym2610_config =
{
DEVCB_LINE(irqhandler)
DEVCB_DRIVER_LINE_MEMBER(taotaido_state,irqhandler)
};

View File

@ -419,14 +419,14 @@ GFXDECODE_END
*/
static void irqhandler(device_t *device, int linestate)
WRITE_LINE_MEMBER(tbowl_state::irqhandler)
{
device->machine().device("audiocpu")->execute().set_input_line(0, linestate);
machine().device("audiocpu")->execute().set_input_line(0, state);
}
static const ym3812_interface ym3812_config =
{
DEVCB_LINE(irqhandler)
DEVCB_DRIVER_LINE_MEMBER(tbowl_state,irqhandler)
};
static const msm5205_interface msm5205_config =

View File

@ -604,14 +604,14 @@ GFXDECODE_END
static void irqhandler(device_t *device, int linestate)
WRITE_LINE_MEMBER(tecmo_state::irqhandler)
{
device->machine().device("soundcpu")->execute().set_input_line(0, linestate);
machine().device("soundcpu")->execute().set_input_line(0, state);
}
static const ym3812_interface ym3812_config =
{
DEVCB_LINE(irqhandler)
DEVCB_DRIVER_LINE_MEMBER(tecmo_state,irqhandler)
};
static const msm5205_interface msm5205_config =

View File

@ -389,9 +389,9 @@ GFXDECODE_END
***************************************************************************/
static void irqhandler(device_t *device, int irq)
WRITE_LINE_MEMBER(thedeep_state::irqhandler)
{
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 ym2203_interface thedeep_ym2203_intf =
@ -401,7 +401,7 @@ static const ym2203_interface thedeep_ym2203_intf =
AY8910_DEFAULT_LOADS,
DEVCB_NULL, DEVCB_NULL, DEVCB_NULL, DEVCB_NULL
},
DEVCB_LINE(irqhandler)
DEVCB_DRIVER_LINE_MEMBER(thedeep_state,irqhandler)
};
TIMER_DEVICE_CALLBACK_MEMBER(thedeep_state::thedeep_interrupt)

View File

@ -492,9 +492,9 @@ GFXDECODE_END
/* handler called by the 2203 emulator when the internal timers cause an IRQ */
static void irqhandler(device_t *device, int irq)
WRITE_LINE_MEMBER(tigeroad_state::irqhandler)
{
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 ym2203_interface ym2203_config =
@ -504,7 +504,7 @@ static const ym2203_interface ym2203_config =
AY8910_DEFAULT_LOADS,
DEVCB_NULL, DEVCB_NULL, DEVCB_NULL, DEVCB_NULL,
},
DEVCB_LINE(irqhandler)
DEVCB_DRIVER_LINE_MEMBER(tigeroad_state,irqhandler)
};
static const msm5205_interface msm5205_config =

View File

@ -1566,10 +1566,9 @@ static const ym2203_interface ym2203_config =
/* handler called by the 2203 emulator when the internal timers cause an IRQ */
static void irqhandler( device_t *device, int irq )
WRITE_LINE_MEMBER(tnzs_state::irqhandler)
{
tnzs_state *state = device->machine().driver_data<tnzs_state>();
state->m_audiocpu->set_input_line(INPUT_LINE_NMI, irq ? ASSERT_LINE : CLEAR_LINE);
m_audiocpu->set_input_line(INPUT_LINE_NMI, state ? ASSERT_LINE : CLEAR_LINE);
}
static const ym2203_interface kageki_ym2203_interface =
@ -1592,7 +1591,7 @@ static const ym2203_interface ym2203b_interface =
AY8910_DEFAULT_LOADS,
DEVCB_NULL, DEVCB_NULL, DEVCB_NULL, DEVCB_NULL
},
DEVCB_LINE(irqhandler)
DEVCB_DRIVER_LINE_MEMBER(tnzs_state,irqhandler)
};
static const ym2203_interface kabukiz_ym2203_interface =
@ -1605,7 +1604,7 @@ static const ym2203_interface kabukiz_ym2203_interface =
DEVCB_DRIVER_MEMBER(tnzs_state,kabukiz_sound_bank_w),
DEVCB_DRIVER_MEMBER(tnzs_state,kabukiz_sample_w)
},
DEVCB_LINE(irqhandler)
DEVCB_DRIVER_LINE_MEMBER(tnzs_state,irqhandler)
};
static const samples_interface tnzs_samples_interface =

View File

@ -1515,14 +1515,14 @@ static GFXDECODE_START( vm )
GFXDECODE_END
static void irqhandler(device_t *device, int linestate)
WRITE_LINE_MEMBER(toaplan1_state::irqhandler)
{
device->machine().device("audiocpu")->execute().set_input_line(0, linestate);
machine().device("audiocpu")->execute().set_input_line(0, state);
}
static const ym3812_interface ym3812_config =
{
DEVCB_LINE(irqhandler)
DEVCB_DRIVER_LINE_MEMBER(toaplan1_state,irqhandler)
};

View File

@ -2973,21 +2973,19 @@ static GFXDECODE_START( fixeightbl )
GFXDECODE_END
static void irqhandler(device_t *device, int linestate)
WRITE_LINE_MEMBER(toaplan2_state::irqhandler)
{
toaplan2_state *state = device->machine().driver_data<toaplan2_state>();
if (state->m_sub_cpu != NULL) // wouldn't tekipaki have problem without this? "mcu" is not generally added
state->m_sub_cpu->execute().set_input_line(0, linestate);
if (m_sub_cpu != NULL) // wouldn't tekipaki have problem without this? "mcu" is not generally added
m_sub_cpu->execute().set_input_line(0, state);
}
static const ym3812_interface ym3812_config =
{
DEVCB_LINE(irqhandler)
DEVCB_DRIVER_LINE_MEMBER(toaplan2_state,irqhandler)
};
static void bbakraid_irqhandler(device_t *device, int state)
WRITE_LINE_MEMBER(toaplan2_state::bbakraid_irqhandler)
{
// Not used ??? Connected to a test pin (TP082)
logerror("YMZ280 is generating an interrupt. State=%08x\n",state);
@ -2995,7 +2993,7 @@ static void bbakraid_irqhandler(device_t *device, int state)
static const ymz280b_interface ymz280b_config =
{
DEVCB_LINE(bbakraid_irqhandler)
DEVCB_DRIVER_LINE_MEMBER(toaplan2_state,bbakraid_irqhandler)
};

View File

@ -547,14 +547,14 @@ GFXDECODE_END
/* handler called by the 3812 emulator when the internal timers cause an IRQ */
static void irqhandler(device_t *device, int linestate)
WRITE_LINE_MEMBER(twincobr_state::irqhandler)
{
device->machine().device("audiocpu")->execute().set_input_line(0, linestate);
machine().device("audiocpu")->execute().set_input_line(0, state);
}
static const ym3812_interface ym3812_config =
{
DEVCB_LINE(irqhandler)
DEVCB_DRIVER_LINE_MEMBER(twincobr_state,irqhandler)
};

View File

@ -207,10 +207,9 @@ GFXDECODE_END
/* handler called by the YM2203 emulator when the internal timers cause an IRQ */
static void irqhandler( device_t *device, int irq )
WRITE_LINE_MEMBER(volfied_state::irqhandler)
{
volfied_state *state = device->machine().driver_data<volfied_state>();
state->m_audiocpu->set_input_line(0, irq ? ASSERT_LINE : CLEAR_LINE);
m_audiocpu->set_input_line(0, state ? ASSERT_LINE : CLEAR_LINE);
}
static const ym2203_interface ym2203_config =
@ -223,7 +222,7 @@ static const ym2203_interface ym2203_config =
DEVCB_NULL,
DEVCB_NULL,
},
DEVCB_LINE(irqhandler)
DEVCB_DRIVER_LINE_MEMBER(volfied_state,irqhandler)
};

View File

@ -147,6 +147,7 @@ public:
DECLARE_WRITE8_MEMBER(wardner_ramrom_bank_sw);
DECLARE_READ8_MEMBER(wardner_bank_r);
DECLARE_DRIVER_INIT(wardner);
DECLARE_WRITE_LINE_MEMBER(irqhandler);
};
@ -364,14 +365,14 @@ static const gfx_layout spritelayout =
/* handler called by the 3812 emulator when the internal timers cause an IRQ */
static void irqhandler(device_t *device, int linestate)
WRITE_LINE_MEMBER(wardner_state::irqhandler)
{
device->machine().device("audiocpu")->execute().set_input_line(0, linestate);
machine().device("audiocpu")->execute().set_input_line(0, state);
}
static const ym3812_interface ym3812_config =
{
DEVCB_LINE(irqhandler)
DEVCB_DRIVER_LINE_MEMBER(wardner_state,irqhandler)
};

View File

@ -419,15 +419,14 @@ GFXDECODE_END
**************************************************************/
/* handler called by the YM2610 emulator when the internal timers cause an IRQ */
static void irqhandler( device_t *device, int irq )
WRITE_LINE_MEMBER(warriorb_state::irqhandler)
{
warriorb_state *state = device->machine().driver_data<warriorb_state>();
state->m_audiocpu->set_input_line(0, irq ? ASSERT_LINE : CLEAR_LINE);
m_audiocpu->set_input_line(0, state ? ASSERT_LINE : CLEAR_LINE);
}
static const ym2610_interface ym2610_config =
{
DEVCB_LINE(irqhandler)
DEVCB_DRIVER_LINE_MEMBER(warriorb_state,irqhandler)
};
/***********************************************************

View File

@ -290,9 +290,9 @@ GFXDECODE_END
/* handler called by the 2608 emulator when the internal timers cause an IRQ */
static void irqhandler(device_t *device, int irq)
WRITE_LINE_MEMBER(wc90_state::irqhandler)
{
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 =
@ -302,7 +302,7 @@ static const ym2608_interface ym2608_config =
AY8910_DEFAULT_LOADS,
DEVCB_NULL, DEVCB_NULL, DEVCB_NULL, DEVCB_NULL
},
DEVCB_LINE(irqhandler)
DEVCB_DRIVER_LINE_MEMBER(wc90_state,irqhandler)
};
static MACHINE_CONFIG_START( wc90, wc90_state )

View File

@ -324,10 +324,10 @@ GFXDECODE_END
/* handler called by the 2203 emulator when the internal timers cause an IRQ */
static void irqhandler(device_t *device, int irq)
WRITE_LINE_MEMBER(wc90b_state::irqhandler)
{
/* NMI writes to MSM ports *only*! -AS */
//device->machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_NMI, irq ? ASSERT_LINE : CLEAR_LINE);
//machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_NMI, state ? ASSERT_LINE : CLEAR_LINE);
}
static const ym2203_interface ym2203_config =
@ -337,7 +337,7 @@ static const ym2203_interface ym2203_config =
AY8910_DEFAULT_LOADS,
DEVCB_NULL, DEVCB_NULL, DEVCB_NULL, DEVCB_NULL
},
DEVCB_LINE(irqhandler)
DEVCB_DRIVER_LINE_MEMBER(wc90b_state,irqhandler)
};
static void adpcm_int(device_t *device,int st)

View File

@ -671,14 +671,14 @@ GFXDECODE_END
static void irqhandler(device_t *device, int irq)
WRITE_LINE_MEMBER(welltris_state::irqhandler)
{
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 ym2610_interface ym2610_config =
{
DEVCB_LINE(irqhandler)
DEVCB_DRIVER_LINE_MEMBER(welltris_state,irqhandler)
};

View File

@ -888,15 +888,14 @@ GFXDECODE_END
**************************************************************/
/* handler called by the YM2610 emulator when the internal timers cause an IRQ */
static void irqhandler( device_t *device, int irq ) // assumes Z80 sandwiched between 68Ks
WRITE_LINE_MEMBER(wgp_state::irqhandler) // assumes Z80 sandwiched between 68Ks
{
wgp_state *state = device->machine().driver_data<wgp_state>();
state->m_audiocpu->set_input_line(0, irq ? ASSERT_LINE : CLEAR_LINE);
m_audiocpu->set_input_line(0, state ? ASSERT_LINE : CLEAR_LINE);
}
static const ym2610_interface ym2610_config =
{
DEVCB_LINE(irqhandler)
DEVCB_DRIVER_LINE_MEMBER(wgp_state,irqhandler)
};

View File

@ -550,9 +550,9 @@ GFXDECODE_END
/* handler called by the 2203 emulator when the internal timers cause an IRQ */
static void irqhandler(device_t *device, int irq)
WRITE_LINE_MEMBER(xain_state::irqhandler)
{
device->machine().device("audiocpu")->execute().set_input_line(M6809_FIRQ_LINE, irq ? ASSERT_LINE : CLEAR_LINE);
machine().device("audiocpu")->execute().set_input_line(M6809_FIRQ_LINE, state ? ASSERT_LINE : CLEAR_LINE);
}
static const ym2203_interface ym2203_config =
@ -562,7 +562,7 @@ static const ym2203_interface ym2203_config =
AY8910_DEFAULT_LOADS,
DEVCB_NULL, DEVCB_NULL, DEVCB_NULL, DEVCB_NULL
},
DEVCB_LINE(irqhandler)
DEVCB_DRIVER_LINE_MEMBER(xain_state,irqhandler)
};
void xain_state::machine_start()

View File

@ -572,15 +572,14 @@ void yunsun16_state::machine_reset()
Magic Bubble
***************************************************************************/
static void soundirq(device_t *device, int state)
WRITE_LINE_MEMBER(yunsun16_state::soundirq)
{
yunsun16_state *yunsun16 = device->machine().driver_data<yunsun16_state>();
yunsun16->m_audiocpu->set_input_line(0, state);
m_audiocpu->set_input_line(0, state);
}
static const ym3812_interface magicbub_ym3812_intf =
{
DEVCB_LINE(soundirq) /* IRQ Line */
DEVCB_DRIVER_LINE_MEMBER(yunsun16_state,soundirq) /* IRQ Line */
};
static MACHINE_CONFIG_START( magicbub, yunsun16_state )

View File

@ -131,6 +131,7 @@ public:
void atpsx_dma_read(UINT32 *p_n_psxram, UINT32 n_address, INT32 n_size );
void atpsx_dma_write(UINT32 *p_n_psxram, UINT32 n_address, INT32 n_size );
void jdredd_vblank(screen_device &screen, bool vblank_state);
DECLARE_WRITE_LINE_MEMBER(irqhandler);
};
inline void ATTR_PRINTF(3,4) zn_state::verboselog( int n_level, const char *s_fmt, ... )
@ -1156,14 +1157,14 @@ static ADDRESS_MAP_START( fx1a_sound_map, AS_PROGRAM, 8, zn_state )
ADDRESS_MAP_END
/* handler called by the YM2610 emulator when the internal timers cause an IRQ */
static void irq_handler(device_t *device, int irq)
WRITE_LINE_MEMBER(zn_state::irqhandler)
{
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 ym2610_interface ym2610_config =
{
DEVCB_LINE(irq_handler)
DEVCB_DRIVER_LINE_MEMBER(zn_state,irqhandler)
};
static const tc0140syt_interface coh1000ta_tc0140syt_intf =

View File

@ -118,4 +118,5 @@ public:
void spikes91_draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect );
void aerfboot_draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect );
void wbbc97_draw_bitmap( bitmap_rgb32 &bitmap );
DECLARE_WRITE_LINE_MEMBER(irqhandler);
};

View File

@ -61,4 +61,5 @@ public:
virtual void video_start();
UINT32 screen_update_angelkds(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect, int enable_n);
DECLARE_WRITE_LINE_MEMBER(irqhandler);
};

View File

@ -96,4 +96,5 @@ public:
void valtric_draw_sprites(bitmap_rgb32 &bitmap, const rectangle &cliprect);
void butasan_draw_sprites(bitmap_rgb32 &bitmap, const rectangle &cliprect);
void butasan_log_vram();
DECLARE_WRITE_LINE_MEMBER(irqhandler);
};

View File

@ -62,4 +62,5 @@ public:
DECLARE_WRITE16_MEMBER( bonzeadv_cchip_ctrl_w );
DECLARE_WRITE16_MEMBER( bonzeadv_cchip_bank_w );
DECLARE_WRITE16_MEMBER( bonzeadv_cchip_ram_w );
DECLARE_WRITE_LINE_MEMBER(irqhandler);
};

View File

@ -497,6 +497,7 @@ public:
DECLARE_MACHINE_START(sc4);
DECLARE_MACHINE_RESET(sc4);
DECLARE_WRITE_LINE_MEMBER(bfm_sc4_irqhandler);
protected:
required_ioport m_io1;
required_ioport m_io2;

View File

@ -64,4 +64,5 @@ public:
virtual void video_start();
UINT32 screen_update_blktiger(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect );
DECLARE_WRITE_LINE_MEMBER(irqhandler);
};

Some files were not shown because too many files have changed in this diff Show More