emu_timer adjust(): set enable flag to false if timer isn't running

This commit is contained in:
hap 2022-10-24 20:53:46 +02:00
parent 71cd1a7168
commit 220a2cc8f6
2 changed files with 4 additions and 4 deletions

View file

@ -142,9 +142,8 @@ void emu_timer::adjust(attotime start_delay, s32 param, const attotime &period)
if (m_scheduler->m_callback_timer == this)
m_scheduler->m_callback_timer_modified = true;
// compute the time of the next firing and insert into the list
// set callback parameter
m_param = param;
m_enabled = true;
// clamp negative times to 0
if (start_delay.seconds() < 0)
@ -153,6 +152,7 @@ void emu_timer::adjust(attotime start_delay, s32 param, const attotime &period)
// set the start and expire times
m_start = m_scheduler->time();
m_expire = m_start + start_delay;
m_enabled = !m_expire.is_never();
m_period = period;
// remove and re-insert the timer in its new order

View file

@ -143,7 +143,7 @@ private:
u32 advision_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
{
bool hint_enable = bool(m_conf->read() & 1);
const bool hint_enable = bool(m_conf->read() & 1);
for (int y = 0; y < 40; y++)
{
@ -180,7 +180,7 @@ void advision_state::av_control_w(u8 data)
// disable led outputs (there is some delay before it takes effect)
// see for example codered twister and anime girl, gaps between the 'pixels' should be visible but minimal
if (m_video_bank == 0)
if (m_video_bank == 0 && !m_led_off->enabled())
m_led_off->adjust(attotime::from_usec(39));
// P24 rising edge: transfer led latches to outputs