summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/machine
diff options
context:
space:
mode:
author holub <andrei.holub@gmail.com>2022-05-13 03:21:15 -0400
committer GitHub <noreply@github.com>2022-05-13 17:21:15 +1000
commit51a0b7020883510300296cf77e3c8c22f70a6a02 (patch)
treed125288fea5d49dc5432f434c694af9253780975 /src/mame/machine
parent98b14fa8ae8451ccf1bb6ff6b82c1db775b9d8cf (diff)
zx spectrum drivers: Restore irq length == 32 / border timings. (#9711)
Diffstat (limited to 'src/mame/machine')
-rw-r--r--src/mame/machine/tsconf.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/mame/machine/tsconf.cpp b/src/mame/machine/tsconf.cpp
index 99bcb99c8c3..3540708fbf8 100644
--- a/src/mame/machine/tsconf.cpp
+++ b/src/mame/machine/tsconf.cpp
@@ -755,7 +755,7 @@ void tsconf_state::update_frame_timer()
INTERRUPT_GEN_MEMBER(tsconf_state::tsconf_vblank_interrupt)
{
update_frame_timer();
- m_line_irq_timer->adjust(m_screen->time_until_pos(0));
+ m_line_irq_timer->adjust(attotime::zero);
}
void tsconf_state::dma_ready(int line)
@@ -763,7 +763,7 @@ void tsconf_state::dma_ready(int line)
if (BIT(m_regs[INT_MASK], 4))
{
m_maincpu->set_input_line_and_vector(line, ASSERT_LINE, 0xfb);
- timer_set(m_maincpu->clocks_to_attotime(32 * (1 << (m_regs[SYS_CONFIG] & 0x03))), TIMER_IRQ_OFF, 0);
+ m_irq_off_timer->adjust(m_maincpu->clocks_to_attotime(32 * (1 << (m_regs[SYS_CONFIG] & 0x03))));
}
}
@@ -776,7 +776,7 @@ void tsconf_state::device_timer(emu_timer &timer, device_timer_id id, int param)
if (BIT(m_regs[INT_MASK], 0))
{
m_maincpu->set_input_line_and_vector(0, ASSERT_LINE, 0xff);
- timer_set(m_maincpu->clocks_to_attotime(32 * (1 << (m_regs[SYS_CONFIG] & 0x03))), TIMER_IRQ_OFF, 0);
+ m_irq_off_timer->adjust(m_maincpu->clocks_to_attotime(32 * (1 << (m_regs[SYS_CONFIG] & 0x03))));
}
break;
}
@@ -788,12 +788,12 @@ void tsconf_state::device_timer(emu_timer &timer, device_timer_id id, int param)
{
m_maincpu->set_input_line_and_vector(0, ASSERT_LINE, 0xfd);
// Not quite precise. Scanline can't be skipped.
- timer_set(m_maincpu->clocks_to_attotime(32 * (1 << (m_regs[SYS_CONFIG] & 0x03))), TIMER_IRQ_OFF, 0);
+ m_irq_off_timer->adjust(m_maincpu->clocks_to_attotime(32 * (1 << (m_regs[SYS_CONFIG] & 0x03))));
}
if (BIT(m_regs[INT_MASK], 0) && OFFS_512(VS_INT_L) == screen_vpos && m_regs[HS_INT] == 0)
{
m_maincpu->set_input_line_and_vector(0, ASSERT_LINE, 0xff);
- timer_set(m_maincpu->clocks_to_attotime(32 * (1 << (m_regs[SYS_CONFIG] & 0x03))), TIMER_IRQ_OFF, 0);
+ m_irq_off_timer->adjust(m_maincpu->clocks_to_attotime(32 * (1 << (m_regs[SYS_CONFIG] & 0x03))));
}
m_screen->update_now();