mirror of
https://github.com/holub/mame
synced 2025-04-26 10:13:37 +03:00
pulse_input_line: change units to cycles and set default param to min_cycles (nw)
This commit is contained in:
parent
6c38fc2009
commit
46bad5c707
@ -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);
|
||||
|
@ -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 */
|
||||
|
@ -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);
|
||||
}
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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()
|
||||
|
@ -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();
|
||||
}
|
||||
|
@ -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)
|
||||
|
@ -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)
|
||||
|
@ -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
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
|
||||
|
@ -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 */
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
|
||||
|
@ -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)
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -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)
|
||||
|
@ -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 )
|
||||
|
@ -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]));
|
||||
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
|
||||
|
@ -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++;
|
||||
}
|
||||
|
@ -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);
|
||||
|
@ -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)
|
||||
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -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 )
|
||||
|
Loading…
Reference in New Issue
Block a user