mirror of
https://github.com/holub/mame
synced 2025-04-27 10:43:07 +03:00
fix ymf278b irq regression
This commit is contained in:
parent
ee4c06f902
commit
9ab5eeb6fb
@ -333,8 +333,8 @@ void ymf278b_device::sound_stream_update(sound_stream &stream, stream_sample_t *
|
||||
void ymf278b_device::irq_check()
|
||||
{
|
||||
int prev_line = m_irq_line;
|
||||
m_irq_line = m_current_irq ? ASSERT_LINE : CLEAR_LINE;
|
||||
if(m_irq_line != prev_line && !m_irq_handler.isnull())
|
||||
m_irq_line = m_current_irq ? 1 : 0;
|
||||
if (m_irq_line != prev_line && !m_irq_handler.isnull())
|
||||
m_irq_handler(m_irq_line);
|
||||
}
|
||||
|
||||
@ -756,7 +756,7 @@ READ8_MEMBER( ymf278b_device::read )
|
||||
if (m_exp & 2)
|
||||
newbits = (m_status_ld << 1) | m_status_busy;
|
||||
|
||||
ret = newbits | m_current_irq | (m_irq_line == ASSERT_LINE ? 0x80 : 0x00);
|
||||
ret = newbits | m_current_irq | (m_irq_line ? 0x80 : 0x00);
|
||||
break;
|
||||
}
|
||||
|
||||
@ -850,7 +850,10 @@ void ymf278b_device::device_reset()
|
||||
m_timer_busy->reset(); m_status_busy = 0;
|
||||
m_timer_ld->reset(); m_status_ld = 0;
|
||||
|
||||
m_irq_line = CLEAR_LINE;
|
||||
m_irq_line = 0;
|
||||
m_current_irq = 0;
|
||||
if (!m_irq_handler.isnull())
|
||||
m_irq_handler(0);
|
||||
}
|
||||
|
||||
void ymf278b_device::precompute_rate_tables()
|
||||
|
@ -662,7 +662,7 @@ static I8255A_INTERFACE( aliencha_ppi8255_1_intf )
|
||||
|
||||
WRITE_LINE_MEMBER(lordgun_state::soundirq)
|
||||
{
|
||||
m_soundcpu->set_input_line(INPUT_LINE_IRQ0, state);
|
||||
m_soundcpu->set_input_line(INPUT_LINE_IRQ0, state ? ASSERT_LINE : CLEAR_LINE);
|
||||
}
|
||||
|
||||
static MACHINE_CONFIG_START( lordgun, lordgun_state )
|
||||
|
@ -254,7 +254,7 @@ INTERRUPT_GEN_MEMBER(metro_state::puzzlet_interrupt)
|
||||
|
||||
WRITE_LINE_MEMBER(metro_state::ymf278b_interrupt)
|
||||
{
|
||||
m_maincpu->set_input_line(2, state);
|
||||
m_maincpu->set_input_line(2, state ? ASSERT_LINE : CLEAR_LINE);
|
||||
}
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user