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:
Michaël Banaan Ananas 2012-02-11 10:01:01 +00:00
parent b1aa1cedf7
commit 495fe2b927
39 changed files with 65 additions and 65 deletions

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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