pulse_input_line: change units to cycles and set default param to min_cycles (nw)

This commit is contained in:
hap 2017-11-15 15:40:43 +01:00
parent 6c38fc2009
commit 46bad5c707
27 changed files with 33 additions and 33 deletions

View File

@ -164,8 +164,8 @@ public:
int input_state(int linenum) const { return m_input[linenum].m_curstate; }
void pulse_input_line(int irqline, const attotime &duration);
void pulse_input_line_and_vector(int irqline, int vector, const attotime &duration);
void pulse_input_line(int irqline, int cycles) { pulse_input_line(irqline, cycles_to_attotime(cycles * min_cycles())); }
void pulse_input_line_and_vector(int irqline, int vector, int cycles) { pulse_input_line_and_vector(irqline, vector, cycles_to_attotime(cycles * min_cycles())); }
void pulse_input_line(int irqline, u32 cycles = 0) { pulse_input_line(irqline, cycles_to_attotime((cycles == 0) ? min_cycles() : cycles)); }
void pulse_input_line_and_vector(int irqline, int vector, u32 cycles = 0) { pulse_input_line_and_vector(irqline, vector, cycles_to_attotime((cycles == 0) ? min_cycles() : cycles)); }
// suspend/resume
void suspend(u32 reason, bool eatcycles);

View File

@ -1962,7 +1962,7 @@ TIMER_DEVICE_CALLBACK_MEMBER( dcs_audio_device::dcs_irq )
/* generate the (internal, thats why the pulse) irq */
if (LOG_DCS_IO)
logerror("dcs_irq: Genrating interrupt\n");
m_cpu->pulse_input_line(ADSP2105_IRQ1, 1);
m_cpu->pulse_input_line(ADSP2105_IRQ1);
}
/* store it */

View File

@ -227,7 +227,7 @@ TIMER_DEVICE_CALLBACK_MEMBER( acclaim_rax_device::dma_timer_callback )
if (m_control_regs[BDMA_CONTROL_REG] & 8)
m_cpu->set_input_line(INPUT_LINE_RESET, PULSE_LINE);
else
m_cpu->pulse_input_line(ADSP2181_BDMA, 1);
m_cpu->pulse_input_line(ADSP2181_BDMA);
timer.adjust(attotime::never);
}

View File

@ -114,7 +114,7 @@ TIMER_CALLBACK_MEMBER(cball_state::interrupt_callback)
{
int scanline = param;
m_maincpu->pulse_input_line(0, 1);
m_maincpu->pulse_input_line(0);
scanline = scanline + 32;

View File

@ -352,7 +352,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(changela_state::changela_scanline)
INTERRUPT_GEN_MEMBER(changela_state::chl_mcu_irq)
{
m_mcu->pulse_input_line(0, 1);
m_mcu->pulse_input_line(0);
}
void changela_state::machine_start()

View File

@ -227,7 +227,7 @@ WRITE8_MEMBER(cvs_state::cvs_s2636_2_or_character_ram_w)
INTERRUPT_GEN_MEMBER(cvs_state::cvs_main_cpu_interrupt)
{
device.execute().pulse_input_line_and_vector(0, 0x03, 1);
device.execute().pulse_input_line_and_vector(0, 0x03);
cvs_scroll_stars();
}

View File

@ -68,7 +68,7 @@ public:
TIMER_DEVICE_CALLBACK_MEMBER(dotrikun_state::interrupt)
{
m_maincpu->pulse_input_line(0, 1);
m_maincpu->pulse_input_line(0);
}
TIMER_DEVICE_CALLBACK_MEMBER(dotrikun_state::scanline_off)

View File

@ -416,7 +416,7 @@ WRITE8_MEMBER(equites_state::equites_c0f8_w)
case 1: // c0f9: RST75 trigger (written by NMI handler)
// Note: solder pad CP3 on the pcb would allow to disable this
m_audiocpu->pulse_input_line(I8085_RST75_LINE, 1);
m_audiocpu->pulse_input_line(I8085_RST75_LINE);
break;
case 2: // c0fa: INTR trigger (written by NMI handler)

View File

@ -58,7 +58,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(firetrk_state::firetrk_scanline)
// periodic IRQs are generated by inverse 16V signal
if ((scanline & 0x1f) == 0)
m_maincpu->pulse_input_line(0, 1);
m_maincpu->pulse_input_line(0);
// vblank interrupt
// NMIs are disabled during service mode

View File

@ -258,7 +258,7 @@ WRITE8_MEMBER(fitfight_state::snd_portc_w)
INTERRUPT_GEN_MEMBER(fitfight_state::snd_irq)
{
device.execute().pulse_input_line(UPD7810_INTF2, 1);
device.execute().pulse_input_line(UPD7810_INTF2);
}

View File

@ -561,7 +561,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(gaelco3d_state::adsp_autobuffer_irq)
reg = m_adsp_ireg_base;
/* generate the (internal, thats why the pulse) irq */
m_adsp->pulse_input_line(ADSP2105_IRQ1, 1);
m_adsp->pulse_input_line(ADSP2105_IRQ1);
}
/* store it */

View File

@ -253,7 +253,7 @@ INTERRUPT_GEN_MEMBER(homedata_state::homedata_irq)
INTERRUPT_GEN_MEMBER(homedata_state::upd7807_irq)
{
device.execute().pulse_input_line(UPD7810_INTF1, 1);
device.execute().pulse_input_line(UPD7810_INTF1);
}

View File

@ -329,7 +329,7 @@ INPUT_PORTS_END
INTERRUPT_GEN_MEMBER(igs_m027_state::igs_majhong_interrupt)
{
device.execute().pulse_input_line(ARM7_FIRQ_LINE, 1);
device.execute().pulse_input_line(ARM7_FIRQ_LINE);
}

View File

@ -699,7 +699,7 @@ INTERRUPT_GEN_MEMBER(m90_state::bomblord_fake_nmi)
INTERRUPT_GEN_MEMBER(m90_state::m90_interrupt)
{
device.execute().pulse_input_line(NEC_INPUT_LINE_INTP0, 1);
device.execute().pulse_input_line(NEC_INPUT_LINE_INTP0);
}
INTERRUPT_GEN_MEMBER(m90_state::dynablsb_interrupt)

View File

@ -164,7 +164,7 @@ uint32_t meyc8088_state::screen_update_meyc8088(screen_device &screen, bitmap_in
WRITE_LINE_MEMBER(meyc8088_state::screen_vblank_meyc8088)
{
// INTR on LC255 (pulses at start and end of vblank), INTA hardwired to $20
m_maincpu->pulse_input_line_and_vector(0, 0x20, 1);
m_maincpu->pulse_input_line_and_vector(0, 0x20);
}

View File

@ -159,7 +159,7 @@ TIMER_CALLBACK_MEMBER(mgolf_state::interrupt_callback)
update_plunger();
m_maincpu->pulse_input_line(0, 1);
m_maincpu->pulse_input_line(0);
scanline = scanline + 32;

View File

@ -322,7 +322,7 @@ INTERRUPT_GEN_MEMBER(namcond1_state::mcu_interrupt)
{
if( m_h8_irq5_enabled )
{
device.execute().pulse_input_line(5, 1);
device.execute().pulse_input_line(5);
}
}

View File

@ -2978,7 +2978,7 @@ ADDRESS_MAP_END
TIMER_DEVICE_CALLBACK_MEMBER(namcos22_state::propcycl_pedal_interrupt)
{
m_mcu->pulse_input_line(M37710_LINE_TIMERA3TICK, 1);
m_mcu->pulse_input_line(M37710_LINE_TIMERA3TICK);
}
TIMER_DEVICE_CALLBACK_MEMBER(namcos22_state::propcycl_pedal_update)
@ -3013,7 +3013,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(namcos22_state::propcycl_pedal_update)
TIMER_CALLBACK_MEMBER(namcos22_state::adillor_trackball_interrupt)
{
m_mcu->pulse_input_line(param ? M37710_LINE_TIMERA2TICK : M37710_LINE_TIMERA3TICK, 1);
m_mcu->pulse_input_line(param ? M37710_LINE_TIMERA2TICK : M37710_LINE_TIMERA3TICK);
}
TIMER_DEVICE_CALLBACK_MEMBER(namcos22_state::adillor_trackball_update)

View File

@ -284,7 +284,7 @@ INPUT_CHANGED_MEMBER(pntnpuzl_state::coin_inserted)
{
/* TODO: change this! */
if(newval)
m_maincpu->pulse_input_line((uint8_t)(uintptr_t)param, 1);
m_maincpu->pulse_input_line((uint8_t)(uintptr_t)param);
}
static INPUT_PORTS_START( pntnpuzl )

View File

@ -589,7 +589,7 @@ TIMER_CALLBACK_MEMBER(riscpc_state::IOMD_timer0_callback)
m_IRQ_status_A|=0x20;
if(m_IRQ_mask_A&0x20)
{
m_maincpu->pulse_input_line(ARM7_IRQ_LINE, 1);
m_maincpu->pulse_input_line(ARM7_IRQ_LINE);
}
}
@ -598,7 +598,7 @@ TIMER_CALLBACK_MEMBER(riscpc_state::IOMD_timer1_callback)
m_IRQ_status_A|=0x40;
if(m_IRQ_mask_A&0x40)
{
m_maincpu->pulse_input_line(ARM7_IRQ_LINE, 1);
m_maincpu->pulse_input_line(ARM7_IRQ_LINE);
}
}
@ -607,7 +607,7 @@ TIMER_CALLBACK_MEMBER(riscpc_state::flyback_timer_callback)
m_IRQ_status_A|=0x08;
if(m_IRQ_mask_A&0x08)
{
m_maincpu->pulse_input_line(ARM7_IRQ_LINE, 1);
m_maincpu->pulse_input_line(ARM7_IRQ_LINE);
}
m_flyback_timer->adjust(machine().first_screen()->time_until_pos(m_vidc20_vert_reg[VDER]));

View File

@ -339,7 +339,7 @@ TIMER_CALLBACK_MEMBER(ssfindo_state::PS7500_Timer0_callback)
m_PS7500_IO[IRQSTA]|=0x20;
if(m_PS7500_IO[IRQMSKA]&0x20)
{
m_maincpu->pulse_input_line(ARM7_IRQ_LINE, 1);
m_maincpu->pulse_input_line(ARM7_IRQ_LINE);
}
}
@ -358,7 +358,7 @@ TIMER_CALLBACK_MEMBER(ssfindo_state::PS7500_Timer1_callback)
m_PS7500_IO[IRQSTA]|=0x40;
if(m_PS7500_IO[IRQMSKA]&0x40)
{
m_maincpu->pulse_input_line(ARM7_IRQ_LINE, 1);
m_maincpu->pulse_input_line(ARM7_IRQ_LINE);
}
}
@ -376,7 +376,7 @@ INTERRUPT_GEN_MEMBER(ssfindo_state::interrupt)
m_PS7500_IO[IRQSTA]|=0x08;
if(m_PS7500_IO[IRQMSKA]&0x08)
{
device.execute().pulse_input_line(ARM7_IRQ_LINE, 1);
device.execute().pulse_input_line(ARM7_IRQ_LINE);
}
}

View File

@ -21,7 +21,7 @@ Atari Starship 1 driver
INTERRUPT_GEN_MEMBER(starshp1_state::starshp1_interrupt)
{
if ((ioport("SYSTEM")->read() & 0x90) != 0x90)
device.execute().pulse_input_line(0, 1);
device.execute().pulse_input_line(0);
}

View File

@ -185,7 +185,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(zac_2_state::zac_2_inttimer)
{
// a pulse is sent via a capacitor (similar to what one finds at a reset pin)
if (m_t_c > 0x80)
m_maincpu->pulse_input_line_and_vector(INPUT_LINE_IRQ0, 0xbf, 2);
m_maincpu->pulse_input_line_and_vector(INPUT_LINE_IRQ0, 0xbf, 10);
else
m_t_c++;
}

View File

@ -67,7 +67,7 @@ void archimedes_state::archimedes_request_fiq(int mask)
if (m_ioc_regs[FIQ_STATUS] & m_ioc_regs[FIQ_MASK])
{
m_maincpu->pulse_input_line(ARM_FIRQ_LINE, 1);
m_maincpu->pulse_input_line(ARM_FIRQ_LINE);
//m_maincpu->set_input_line(ARM_FIRQ_LINE, CLEAR_LINE);
//m_maincpu->set_input_line(ARM_FIRQ_LINE, ASSERT_LINE);

View File

@ -171,7 +171,7 @@ DRIVER_INIT_MEMBER(galaxold_state,4in1)
INTERRUPT_GEN_MEMBER(galaxold_state::hunchbks_vh_interrupt)
{
device.execute().pulse_input_line_and_vector(0, 0x03, 1);
device.execute().pulse_input_line_and_vector(0, 0x03);
}
DRIVER_INIT_MEMBER(galaxold_state,bullsdrtg)

View File

@ -504,7 +504,7 @@ WRITE8_MEMBER( namcos2_shared_state::namcos2_mcu_analog_ctrl_w )
/* If the interrupt enable bit is set trigger an A/D IRQ */
if(data & 0x20)
{
m_mcu->pulse_input_line(HD63705_INT_ADCONV, 1);
m_mcu->pulse_input_line(HD63705_INT_ADCONV);
}
}
}

View File

@ -90,7 +90,7 @@ READ16_MEMBER(pgm_arm_type3_state::svg_68k_nmi_r )
WRITE16_MEMBER(pgm_arm_type3_state::svg_68k_nmi_w )
{
m_prot->pulse_input_line(ARM7_FIRQ_LINE, 1);
m_prot->pulse_input_line(ARM7_FIRQ_LINE);
}
WRITE16_MEMBER(pgm_arm_type3_state::svg_latch_68k_w )