mirror of
https://github.com/holub/mame
synced 2025-06-03 11:26:56 +03:00
allow generic_pulse_irq_line to be longer than 1 cycle.
message to messdev: just change all callers: generic_pulse_irq_line(x, y); to generic_pulse_irq_line(x, y, 1);
This commit is contained in:
parent
b1aa1cedf7
commit
495fe2b927
@ -583,17 +583,17 @@ static TIMER_CALLBACK( irq_pulse_clear )
|
||||
|
||||
/*-------------------------------------------------
|
||||
generic_pulse_irq_line - "pulse" an IRQ line by
|
||||
asserting it and then clearing it 1 cycle
|
||||
asserting it and then clearing it x cycle(s)
|
||||
later
|
||||
-------------------------------------------------*/
|
||||
|
||||
void generic_pulse_irq_line(device_t *device, int irqline)
|
||||
void generic_pulse_irq_line(device_t *device, int irqline, int cycles)
|
||||
{
|
||||
assert(irqline != INPUT_LINE_NMI && irqline != INPUT_LINE_RESET);
|
||||
assert(irqline != INPUT_LINE_NMI && irqline != INPUT_LINE_RESET && cycles > 0);
|
||||
device_set_input_line(device, irqline, ASSERT_LINE);
|
||||
|
||||
cpu_device *cpudevice = downcast<cpu_device *>(device);
|
||||
attotime target_time = cpudevice->local_time() + cpudevice->cycles_to_attotime(cpudevice->min_cycles());
|
||||
attotime target_time = cpudevice->local_time() + cpudevice->cycles_to_attotime(cycles * cpudevice->min_cycles());
|
||||
device->machine().scheduler().timer_set(target_time - device->machine().time(), FUNC(irq_pulse_clear), irqline, (void *)device);
|
||||
}
|
||||
|
||||
@ -601,16 +601,16 @@ void generic_pulse_irq_line(device_t *device, int irqline)
|
||||
/*-------------------------------------------------
|
||||
generic_pulse_irq_line_and_vector - "pulse" an
|
||||
IRQ line by asserting it and then clearing it
|
||||
1 cycle later, specifying a vector
|
||||
x cycle(s) later, specifying a vector
|
||||
-------------------------------------------------*/
|
||||
|
||||
void generic_pulse_irq_line_and_vector(device_t *device, int irqline, int vector)
|
||||
void generic_pulse_irq_line_and_vector(device_t *device, int irqline, int vector, int cycles)
|
||||
{
|
||||
assert(irqline != INPUT_LINE_NMI && irqline != INPUT_LINE_RESET);
|
||||
assert(irqline != INPUT_LINE_NMI && irqline != INPUT_LINE_RESET && cycles > 0);
|
||||
device_set_input_line_and_vector(device, irqline, ASSERT_LINE, vector);
|
||||
|
||||
cpu_device *cpudevice = downcast<cpu_device *>(device);
|
||||
attotime target_time = cpudevice->local_time() + cpudevice->cycles_to_attotime(cpudevice->min_cycles());
|
||||
attotime target_time = cpudevice->local_time() + cpudevice->cycles_to_attotime(cycles * cpudevice->min_cycles());
|
||||
device->machine().scheduler().timer_set(target_time - device->machine().time(), FUNC(irq_pulse_clear), irqline, (void *)device);
|
||||
}
|
||||
|
||||
@ -633,35 +633,35 @@ INTERRUPT_GEN( nmi_line_assert ) { if (interrupt_enabled(device)) device_set_inp
|
||||
-------------------------------------------------*/
|
||||
|
||||
INTERRUPT_GEN( irq0_line_hold ) { if (interrupt_enabled(device)) device_set_input_line(device, 0, HOLD_LINE); }
|
||||
INTERRUPT_GEN( irq0_line_pulse ) { if (interrupt_enabled(device)) generic_pulse_irq_line(device, 0); }
|
||||
INTERRUPT_GEN( irq0_line_pulse ) { if (interrupt_enabled(device)) generic_pulse_irq_line(device, 0, 1); }
|
||||
INTERRUPT_GEN( irq0_line_assert ) { if (interrupt_enabled(device)) device_set_input_line(device, 0, ASSERT_LINE); }
|
||||
|
||||
INTERRUPT_GEN( irq1_line_hold ) { if (interrupt_enabled(device)) device_set_input_line(device, 1, HOLD_LINE); }
|
||||
INTERRUPT_GEN( irq1_line_pulse ) { if (interrupt_enabled(device)) generic_pulse_irq_line(device, 1); }
|
||||
INTERRUPT_GEN( irq1_line_pulse ) { if (interrupt_enabled(device)) generic_pulse_irq_line(device, 1, 1); }
|
||||
INTERRUPT_GEN( irq1_line_assert ) { if (interrupt_enabled(device)) device_set_input_line(device, 1, ASSERT_LINE); }
|
||||
|
||||
INTERRUPT_GEN( irq2_line_hold ) { if (interrupt_enabled(device)) device_set_input_line(device, 2, HOLD_LINE); }
|
||||
INTERRUPT_GEN( irq2_line_pulse ) { if (interrupt_enabled(device)) generic_pulse_irq_line(device, 2); }
|
||||
INTERRUPT_GEN( irq2_line_pulse ) { if (interrupt_enabled(device)) generic_pulse_irq_line(device, 2, 1); }
|
||||
INTERRUPT_GEN( irq2_line_assert ) { if (interrupt_enabled(device)) device_set_input_line(device, 2, ASSERT_LINE); }
|
||||
|
||||
INTERRUPT_GEN( irq3_line_hold ) { if (interrupt_enabled(device)) device_set_input_line(device, 3, HOLD_LINE); }
|
||||
INTERRUPT_GEN( irq3_line_pulse ) { if (interrupt_enabled(device)) generic_pulse_irq_line(device, 3); }
|
||||
INTERRUPT_GEN( irq3_line_pulse ) { if (interrupt_enabled(device)) generic_pulse_irq_line(device, 3, 1); }
|
||||
INTERRUPT_GEN( irq3_line_assert ) { if (interrupt_enabled(device)) device_set_input_line(device, 3, ASSERT_LINE); }
|
||||
|
||||
INTERRUPT_GEN( irq4_line_hold ) { if (interrupt_enabled(device)) device_set_input_line(device, 4, HOLD_LINE); }
|
||||
INTERRUPT_GEN( irq4_line_pulse ) { if (interrupt_enabled(device)) generic_pulse_irq_line(device, 4); }
|
||||
INTERRUPT_GEN( irq4_line_pulse ) { if (interrupt_enabled(device)) generic_pulse_irq_line(device, 4, 1); }
|
||||
INTERRUPT_GEN( irq4_line_assert ) { if (interrupt_enabled(device)) device_set_input_line(device, 4, ASSERT_LINE); }
|
||||
|
||||
INTERRUPT_GEN( irq5_line_hold ) { if (interrupt_enabled(device)) device_set_input_line(device, 5, HOLD_LINE); }
|
||||
INTERRUPT_GEN( irq5_line_pulse ) { if (interrupt_enabled(device)) generic_pulse_irq_line(device, 5); }
|
||||
INTERRUPT_GEN( irq5_line_pulse ) { if (interrupt_enabled(device)) generic_pulse_irq_line(device, 5, 1); }
|
||||
INTERRUPT_GEN( irq5_line_assert ) { if (interrupt_enabled(device)) device_set_input_line(device, 5, ASSERT_LINE); }
|
||||
|
||||
INTERRUPT_GEN( irq6_line_hold ) { if (interrupt_enabled(device)) device_set_input_line(device, 6, HOLD_LINE); }
|
||||
INTERRUPT_GEN( irq6_line_pulse ) { if (interrupt_enabled(device)) generic_pulse_irq_line(device, 6); }
|
||||
INTERRUPT_GEN( irq6_line_pulse ) { if (interrupt_enabled(device)) generic_pulse_irq_line(device, 6, 1); }
|
||||
INTERRUPT_GEN( irq6_line_assert ) { if (interrupt_enabled(device)) device_set_input_line(device, 6, ASSERT_LINE); }
|
||||
|
||||
INTERRUPT_GEN( irq7_line_hold ) { if (interrupt_enabled(device)) device_set_input_line(device, 7, HOLD_LINE); }
|
||||
INTERRUPT_GEN( irq7_line_pulse ) { if (interrupt_enabled(device)) generic_pulse_irq_line(device, 7); }
|
||||
INTERRUPT_GEN( irq7_line_pulse ) { if (interrupt_enabled(device)) generic_pulse_irq_line(device, 7, 1); }
|
||||
INTERRUPT_GEN( irq7_line_assert ) { if (interrupt_enabled(device)) device_set_input_line(device, 7, ASSERT_LINE); }
|
||||
|
||||
|
||||
|
@ -106,8 +106,8 @@ void set_led_status(running_machine &machine, int num, int value);
|
||||
|
||||
/* ----- interrupt enable and vector helpers ----- */
|
||||
|
||||
void generic_pulse_irq_line(device_t *device, int irqline);
|
||||
void generic_pulse_irq_line_and_vector(device_t *device, int irqline, int vector);
|
||||
void generic_pulse_irq_line(device_t *device, int irqline, int cycles);
|
||||
void generic_pulse_irq_line_and_vector(device_t *device, int irqline, int vector, int cycles);
|
||||
|
||||
|
||||
|
||||
|
@ -1977,7 +1977,7 @@ static TIMER_DEVICE_CALLBACK( dcs_irq )
|
||||
reg = dcs.ireg_base;
|
||||
|
||||
/* generate the (internal, thats why the pulse) irq */
|
||||
generic_pulse_irq_line(dcs.cpu, ADSP2105_IRQ1);
|
||||
generic_pulse_irq_line(dcs.cpu, ADSP2105_IRQ1, 1);
|
||||
}
|
||||
|
||||
/* store it */
|
||||
|
@ -191,7 +191,7 @@ static void spacefev_sound_pins_changed( running_machine &machine )
|
||||
}
|
||||
if (changes & ((1 << 0x2) | (1 << 0x3) | (1 << 0x5)))
|
||||
{
|
||||
generic_pulse_irq_line(machine.device("audiocpu"), 0);
|
||||
generic_pulse_irq_line(machine.device("audiocpu"), 0, 1);
|
||||
}
|
||||
}
|
||||
|
||||
@ -216,7 +216,7 @@ static void sheriff_sound_pins_changed( running_machine &machine )
|
||||
}
|
||||
if (changes & ((1 << 0x2) | (1 << 0x3) | (1 << 0x5)))
|
||||
{
|
||||
generic_pulse_irq_line(machine.device("audiocpu"), 0);
|
||||
generic_pulse_irq_line(machine.device("audiocpu"), 0, 1);
|
||||
}
|
||||
}
|
||||
|
||||
@ -232,7 +232,7 @@ static void helifire_sound_pins_changed( running_machine &machine )
|
||||
|
||||
if (changes & (1 << 6))
|
||||
{
|
||||
generic_pulse_irq_line(machine.device("audiocpu"), 0);
|
||||
generic_pulse_irq_line(machine.device("audiocpu"), 0, 1);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1398,7 +1398,7 @@ static WRITE8_HANDLER( meter_w )
|
||||
if (changed & (1 << i))
|
||||
{
|
||||
MechMtr_update(i, data & (1 << i) );
|
||||
generic_pulse_irq_line(&space->device(), M6809_FIRQ_LINE);
|
||||
generic_pulse_irq_line(&space->device(), M6809_FIRQ_LINE, 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1756,7 +1756,7 @@ static DRIVER_INIT( bfcobra )
|
||||
/* TODO */
|
||||
static INTERRUPT_GEN( timer_irq )
|
||||
{
|
||||
generic_pulse_irq_line(device, M6809_IRQ_LINE);
|
||||
generic_pulse_irq_line(device, M6809_IRQ_LINE, 1);
|
||||
}
|
||||
|
||||
/* TODO */
|
||||
|
@ -176,7 +176,7 @@ static INTERRUPT_GEN( timer_irq )
|
||||
|
||||
state->m_sc1_Inputs[2] = input_port_read(device->machine(),"STROBE0");
|
||||
|
||||
generic_pulse_irq_line(device->machine().device("maincpu"), M6809_IRQ_LINE);
|
||||
generic_pulse_irq_line(device->machine().device("maincpu"), M6809_IRQ_LINE, 1);
|
||||
}
|
||||
}
|
||||
|
||||
@ -277,7 +277,7 @@ static WRITE8_HANDLER( mmtr_w )
|
||||
if ( changed & (1 << i) )
|
||||
{
|
||||
MechMtr_update(i, data & (1 << i) );
|
||||
generic_pulse_irq_line(space->machine().device("maincpu"), M6809_FIRQ_LINE);
|
||||
generic_pulse_irq_line(space->machine().device("maincpu"), M6809_FIRQ_LINE, 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -444,7 +444,7 @@ static INTERRUPT_GEN( timer_irq )
|
||||
state->m_irq_timer_stat = 0x01;
|
||||
state->m_irq_status = 0x02;
|
||||
|
||||
generic_pulse_irq_line(device, M6809_IRQ_LINE);
|
||||
generic_pulse_irq_line(device, M6809_IRQ_LINE, 1);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -172,7 +172,7 @@ static INTERRUPT_GEN( timer_irq )
|
||||
if ( state->m_is_timer_enabled )
|
||||
{
|
||||
state->m_irq_status = 0x01 |0x02; //0xff;
|
||||
generic_pulse_irq_line(device, M6809_IRQ_LINE);
|
||||
generic_pulse_irq_line(device, M6809_IRQ_LINE, 1);
|
||||
}
|
||||
}
|
||||
|
||||
@ -235,7 +235,7 @@ static WRITE8_HANDLER( mmtr_w )
|
||||
for (i=0; i<8; i++)
|
||||
if ( changed & (1 << i) ) MechMtr_update(i, data & (1 << i) );
|
||||
|
||||
if ( data ) generic_pulse_irq_line(space->machine().device("maincpu"), M6809_FIRQ_LINE);
|
||||
if ( data ) generic_pulse_irq_line(space->machine().device("maincpu"), M6809_FIRQ_LINE, 1);
|
||||
}
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
@ -736,7 +736,7 @@ INPUT_PORTS_END
|
||||
|
||||
static INTERRUPT_GEN( vblank_irq )
|
||||
{
|
||||
generic_pulse_irq_line(device, NEC_INPUT_LINE_INTP0);
|
||||
generic_pulse_irq_line(device, NEC_INPUT_LINE_INTP0, 1);
|
||||
}
|
||||
|
||||
static const gfx_layout cb2001_layout =
|
||||
|
@ -73,7 +73,7 @@ static TIMER_CALLBACK( interrupt_callback )
|
||||
cball_state *state = machine.driver_data<cball_state>();
|
||||
int scanline = param;
|
||||
|
||||
generic_pulse_irq_line(state->m_maincpu, 0);
|
||||
generic_pulse_irq_line(state->m_maincpu, 0, 1);
|
||||
|
||||
scanline = scanline + 32;
|
||||
|
||||
|
@ -433,7 +433,7 @@ static INTERRUPT_GEN( chl_mcu_irq )
|
||||
{
|
||||
changela_state *state = device->machine().driver_data<changela_state>();
|
||||
|
||||
generic_pulse_irq_line(state->m_mcu, 0);
|
||||
generic_pulse_irq_line(state->m_mcu, 0, 1);
|
||||
}
|
||||
|
||||
static MACHINE_START(changela)
|
||||
|
@ -239,7 +239,7 @@ WRITE8_HANDLER( cvs_s2636_2_or_character_ram_w )
|
||||
static INTERRUPT_GEN( cvs_main_cpu_interrupt )
|
||||
{
|
||||
device_set_input_line_vector(device, 0, 0x03);
|
||||
generic_pulse_irq_line(device, 0);
|
||||
generic_pulse_irq_line(device, 0, 1);
|
||||
|
||||
cvs_scroll_stars(device->machine());
|
||||
}
|
||||
|
@ -436,7 +436,7 @@ static WRITE8_HANDLER(equites_c0f8_w)
|
||||
|
||||
case 1: // c0f9: RST75 trigger (written by NMI handler)
|
||||
// Note: solder pad CP3 on the pcb would allow to disable this
|
||||
generic_pulse_irq_line(state->m_audio_cpu, I8085_RST75_LINE);
|
||||
generic_pulse_irq_line(state->m_audio_cpu, I8085_RST75_LINE, 1);
|
||||
break;
|
||||
|
||||
case 2: // c0fa: INTR trigger (written by NMI handler)
|
||||
|
@ -62,7 +62,7 @@ static TIMER_CALLBACK( periodic_callback )
|
||||
{
|
||||
int scanline = param;
|
||||
|
||||
generic_pulse_irq_line(machine.device("maincpu"), 0);
|
||||
generic_pulse_irq_line(machine.device("maincpu"), 0, 1);
|
||||
|
||||
/* IRQs are generated by inverse 16V signal */
|
||||
scanline += 32;
|
||||
|
@ -119,7 +119,7 @@ static TIMER_CALLBACK( flyball_joystick_callback )
|
||||
int potsense = param;
|
||||
|
||||
if (potsense & ~state->m_potmask)
|
||||
generic_pulse_irq_line(state->m_maincpu, 0);
|
||||
generic_pulse_irq_line(state->m_maincpu, 0, 1);
|
||||
|
||||
state->m_potsense |= potsense;
|
||||
}
|
||||
|
@ -657,7 +657,7 @@ static TIMER_DEVICE_CALLBACK( adsp_autobuffer_irq )
|
||||
reg = state->m_adsp_ireg_base;
|
||||
|
||||
/* generate the (internal, thats why the pulse) irq */
|
||||
generic_pulse_irq_line(adsp, ADSP2105_IRQ1);
|
||||
generic_pulse_irq_line(adsp, ADSP2105_IRQ1, 1);
|
||||
}
|
||||
|
||||
/* store it */
|
||||
|
@ -383,7 +383,7 @@ GFXDECODE_END
|
||||
|
||||
static INTERRUPT_GEN( igs_majhong_interrupt )
|
||||
{
|
||||
generic_pulse_irq_line(device, ARM7_FIRQ_LINE);
|
||||
generic_pulse_irq_line(device, ARM7_FIRQ_LINE, 1);
|
||||
}
|
||||
|
||||
|
||||
|
@ -51,7 +51,7 @@ static WRITE8_HANDLER( sound_command_w )
|
||||
{
|
||||
lasso_state *state = space->machine().driver_data<lasso_state>();
|
||||
soundlatch_w(space, offset, data);
|
||||
generic_pulse_irq_line(state->m_audiocpu, 0);
|
||||
generic_pulse_irq_line(state->m_audiocpu, 0, 1);
|
||||
}
|
||||
|
||||
static WRITE8_HANDLER( pinbo_sound_command_w )
|
||||
|
@ -696,7 +696,7 @@ static INTERRUPT_GEN( bomblord_fake_nmi )
|
||||
|
||||
static INTERRUPT_GEN( m90_interrupt )
|
||||
{
|
||||
generic_pulse_irq_line(device, NEC_INPUT_LINE_INTP0);
|
||||
generic_pulse_irq_line(device, NEC_INPUT_LINE_INTP0, 1);
|
||||
}
|
||||
|
||||
static INTERRUPT_GEN( dynablsb_interrupt )
|
||||
|
@ -178,7 +178,7 @@ static TIMER_DEVICE_CALLBACK( mcu_timer_proc )
|
||||
if ( (state->m_tcr & 0x40) == 0 )
|
||||
{
|
||||
//timer interrupt!
|
||||
generic_pulse_irq_line(timer.machine().device("mcu"), M68705_INT_TIMER);
|
||||
generic_pulse_irq_line(timer.machine().device("mcu"), M68705_INT_TIMER, 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -112,7 +112,7 @@ static TIMER_CALLBACK( interrupt_callback )
|
||||
|
||||
update_plunger(machine);
|
||||
|
||||
generic_pulse_irq_line(state->m_maincpu, 0);
|
||||
generic_pulse_irq_line(state->m_maincpu, 0, 1);
|
||||
|
||||
scanline = scanline + 32;
|
||||
|
||||
|
@ -377,7 +377,7 @@ static void multigam3_mmc3_scanline_cb( device_t *device, int scanline, int vbla
|
||||
if (--state->m_multigam3_mmc3_scanline_counter == -1)
|
||||
{
|
||||
state->m_multigam3_mmc3_scanline_counter = state->m_multigam3_mmc3_scanline_latch;
|
||||
generic_pulse_irq_line(device->machine().device("maincpu"), 0);
|
||||
generic_pulse_irq_line(device->machine().device("maincpu"), 0, 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -273,7 +273,7 @@ static INTERRUPT_GEN( mcu_interrupt )
|
||||
namcond1_state *state = device->machine().driver_data<namcond1_state>();
|
||||
if( state->m_h8_irq5_enabled )
|
||||
{
|
||||
generic_pulse_irq_line(device, H8_IRQ5);
|
||||
generic_pulse_irq_line(device, H8_IRQ5, 1);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -2727,7 +2727,7 @@ static READ8_HANDLER( propcycle_mcu_adc_r )
|
||||
int i;
|
||||
for (i = 0; i < 16; i++)
|
||||
{
|
||||
generic_pulse_irq_line(space->machine().device("mcu"), M37710_LINE_TIMERA3TICK);
|
||||
generic_pulse_irq_line(space->machine().device("mcu"), M37710_LINE_TIMERA3TICK, 1);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -638,9 +638,9 @@ static const adc12138_interface nwktr_adc_interface = {
|
||||
static void sound_irq_callback(running_machine &machine, int irq)
|
||||
{
|
||||
if (irq == 0)
|
||||
generic_pulse_irq_line(machine.device("audiocpu"), INPUT_LINE_IRQ1);
|
||||
generic_pulse_irq_line(machine.device("audiocpu"), INPUT_LINE_IRQ1, 1);
|
||||
else
|
||||
generic_pulse_irq_line(machine.device("audiocpu"), INPUT_LINE_IRQ2);
|
||||
generic_pulse_irq_line(machine.device("audiocpu"), INPUT_LINE_IRQ2, 1);
|
||||
}
|
||||
|
||||
static const k056800_interface nwktr_k056800_interface =
|
||||
|
@ -313,7 +313,7 @@ static WRITE16_HANDLER( arm7_latch_68k_w )
|
||||
logerror("M68K: Latch write: %04x (%04x) (%06x)\n", data & 0x0000ffff, mem_mask, cpu_get_pc(&space->device()));
|
||||
COMBINE_DATA(&state->m_kov2_latchdata_68k_w);
|
||||
|
||||
generic_pulse_irq_line(state->m_prot, ARM7_FIRQ_LINE);
|
||||
generic_pulse_irq_line(state->m_prot, ARM7_FIRQ_LINE, 1);
|
||||
space->machine().scheduler().boost_interleave(attotime::zero, attotime::from_usec(200));
|
||||
device_spin_until_time(&space->device(), state->m_prot->cycles_to_attotime(200)); // give the arm time to respond (just boosting the interleave doesn't help)
|
||||
}
|
||||
@ -562,7 +562,7 @@ static READ16_HANDLER( svg_68k_nmi_r )
|
||||
static WRITE16_HANDLER( svg_68k_nmi_w )
|
||||
{
|
||||
pgm_state *state = space->machine().driver_data<pgm_state>();
|
||||
generic_pulse_irq_line(state->m_prot, ARM7_FIRQ_LINE);
|
||||
generic_pulse_irq_line(state->m_prot, ARM7_FIRQ_LINE, 1);
|
||||
space->machine().scheduler().boost_interleave(attotime::zero, attotime::from_usec(200));
|
||||
device_spin_until_time(&space->device(), state->m_prot->cycles_to_attotime(200)); // give the arm time to respond (just boosting the interleave doesn't help)
|
||||
}
|
||||
|
@ -319,7 +319,7 @@ static INPUT_CHANGED( coin_inserted )
|
||||
|
||||
/* TODO: change this! */
|
||||
if(newval)
|
||||
generic_pulse_irq_line(state->m_maincpu, (UINT8)(FPTR)param);
|
||||
generic_pulse_irq_line(state->m_maincpu, (UINT8)(FPTR)param, 1);
|
||||
}
|
||||
|
||||
static INPUT_PORTS_START( pntnpuzl )
|
||||
|
@ -1401,7 +1401,7 @@ static WRITE8_HANDLER( mcu_data_w )
|
||||
{
|
||||
segas1x_state *state = space->machine().driver_data<segas1x_state>();
|
||||
state->m_mcu_data = data;
|
||||
generic_pulse_irq_line(state->m_mcu, 1);
|
||||
generic_pulse_irq_line(state->m_mcu, 1, 1);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
@ -528,7 +528,7 @@ INPUT_PORTS_END
|
||||
|
||||
static INTERRUPT_GEN( timer_irq )
|
||||
{
|
||||
generic_pulse_irq_line(device, M6809_IRQ_LINE);
|
||||
generic_pulse_irq_line(device, M6809_IRQ_LINE, 1);
|
||||
}
|
||||
|
||||
|
||||
|
@ -279,7 +279,7 @@ static TIMER_CALLBACK( PS7500_Timer0_callback )
|
||||
state->m_PS7500_IO[IRQSTA]|=0x20;
|
||||
if(state->m_PS7500_IO[IRQMSKA]&0x20)
|
||||
{
|
||||
generic_pulse_irq_line(machine.device("maincpu"), ARM7_IRQ_LINE);
|
||||
generic_pulse_irq_line(machine.device("maincpu"), ARM7_IRQ_LINE, 1);
|
||||
}
|
||||
}
|
||||
|
||||
@ -300,7 +300,7 @@ static TIMER_CALLBACK( PS7500_Timer1_callback )
|
||||
state->m_PS7500_IO[IRQSTA]|=0x40;
|
||||
if(state->m_PS7500_IO[IRQMSKA]&0x40)
|
||||
{
|
||||
generic_pulse_irq_line(machine.device("maincpu"), ARM7_IRQ_LINE);
|
||||
generic_pulse_irq_line(machine.device("maincpu"), ARM7_IRQ_LINE, 1);
|
||||
}
|
||||
}
|
||||
|
||||
@ -320,7 +320,7 @@ static INTERRUPT_GEN( ssfindo_interrupt )
|
||||
state->m_PS7500_IO[IRQSTA]|=0x08;
|
||||
if(state->m_PS7500_IO[IRQMSKA]&0x08)
|
||||
{
|
||||
generic_pulse_irq_line(device, ARM7_IRQ_LINE);
|
||||
generic_pulse_irq_line(device, ARM7_IRQ_LINE, 1);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -17,7 +17,7 @@ Atari Starship 1 driver
|
||||
static INTERRUPT_GEN( starshp1_interrupt )
|
||||
{
|
||||
if ((input_port_read(device->machine(), "SYSTEM") & 0x90) != 0x90)
|
||||
generic_pulse_irq_line(device, 0);
|
||||
generic_pulse_irq_line(device, 0, 1);
|
||||
}
|
||||
|
||||
|
||||
|
@ -149,7 +149,7 @@ static INTERRUPT_GEN( toratora_timer )
|
||||
if (state->m_last != (input_port_read(device->machine(), "INPUT") & 0x0f))
|
||||
{
|
||||
state->m_last = input_port_read(device->machine(), "INPUT") & 0x0f;
|
||||
generic_pulse_irq_line(device, 0);
|
||||
generic_pulse_irq_line(device, 0, 1);
|
||||
}
|
||||
state->m_pia_u1->set_a_input(input_port_read(device->machine(), "INPUT") & 0x0f, 0);
|
||||
state->m_pia_u1->ca1_w(input_port_read(device->machine(), "INPUT") & 0x10);
|
||||
|
@ -399,7 +399,7 @@ static INTERRUPT_GEN( truco_interrupt )
|
||||
{
|
||||
if ( state->m_trigger == 0 )
|
||||
{
|
||||
generic_pulse_irq_line(device, M6809_IRQ_LINE);
|
||||
generic_pulse_irq_line(device, M6809_IRQ_LINE, 1);
|
||||
state->m_trigger++;
|
||||
}
|
||||
} else
|
||||
|
@ -202,7 +202,7 @@ static INTERRUPT_GEN( ultrsprt_vblank )
|
||||
static void sound_irq_callback(running_machine &machine, int irq)
|
||||
{
|
||||
if (irq == 0)
|
||||
/*generic_pulse_irq_line(machine.device("audiocpu"), INPUT_LINE_IRQ5)*/;
|
||||
/*generic_pulse_irq_line(machine.device("audiocpu"), INPUT_LINE_IRQ5, 1)*/;
|
||||
else
|
||||
cputag_set_input_line(machine, "audiocpu", INPUT_LINE_IRQ6, HOLD_LINE);
|
||||
}
|
||||
|
@ -1084,7 +1084,7 @@ MACHINE_CONFIG_END
|
||||
|
||||
static INTERRUPT_GEN( hotchase_sound_timer )
|
||||
{
|
||||
generic_pulse_irq_line(device, M6809_FIRQ_LINE);
|
||||
generic_pulse_irq_line(device, M6809_FIRQ_LINE, 1);
|
||||
}
|
||||
|
||||
static const k051316_interface hotchase_k051316_intf_0 =
|
||||
|
@ -74,7 +74,7 @@ void archimedes_request_irq_b(running_machine &machine, int mask)
|
||||
|
||||
if (ioc_regs[IRQ_MASK_B] & mask)
|
||||
{
|
||||
generic_pulse_irq_line(machine.device("maincpu"), ARM_IRQ_LINE);
|
||||
generic_pulse_irq_line(machine.device("maincpu"), ARM_IRQ_LINE, 1);
|
||||
}
|
||||
}
|
||||
|
||||
@ -84,7 +84,7 @@ void archimedes_request_fiq(running_machine &machine, int mask)
|
||||
|
||||
if (ioc_regs[FIQ_MASK] & mask)
|
||||
{
|
||||
generic_pulse_irq_line(machine.device("maincpu"), ARM_FIRQ_LINE);
|
||||
generic_pulse_irq_line(machine.device("maincpu"), ARM_FIRQ_LINE, 1);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -418,7 +418,7 @@ DRIVER_INIT( 4in1 )
|
||||
|
||||
INTERRUPT_GEN( hunchbks_vh_interrupt )
|
||||
{
|
||||
generic_pulse_irq_line_and_vector(device,0,0x03);
|
||||
generic_pulse_irq_line_and_vector(device,0,0x03,1);
|
||||
}
|
||||
|
||||
DRIVER_INIT( ladybugg )
|
||||
|
@ -774,7 +774,7 @@ WRITE8_HANDLER( namcos2_mcu_analog_ctrl_w )
|
||||
/* If the interrupt enable bit is set trigger an A/D IRQ */
|
||||
if(data & 0x20)
|
||||
{
|
||||
generic_pulse_irq_line(space->machine().device("mcu"), HD63705_INT_ADCONV);
|
||||
generic_pulse_irq_line(space->machine().device("mcu"), HD63705_INT_ADCONV, 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -872,7 +872,7 @@ static void gboard_scanline_cb( device_t *device, int scanline, int vblank, int
|
||||
if (--state->m_gboard_scanline_counter == -1)
|
||||
{
|
||||
state->m_gboard_scanline_counter = state->m_gboard_scanline_latch;
|
||||
generic_pulse_irq_line(device->machine().device("cart"), 0);
|
||||
generic_pulse_irq_line(device->machine().device("cart"), 0, 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user