Fix uPD7810 sound/hang regressions in some MAME drivers (nw)

This commit is contained in:
Alex W. Jackson 2014-11-10 20:59:03 -05:00
parent 7d146da231
commit 8b46b5d928
3 changed files with 7 additions and 5 deletions

View File

@ -1991,7 +1991,7 @@ void upd7810_device::execute_set_input(int irqline, int state)
switch (irqline) {
case INPUT_LINE_NMI:
/* NMI is falling edge sensitive */
if ( m_nmi == ASSERT_LINE && state == CLEAR_LINE )
if ( m_nmi == CLEAR_LINE && state == ASSERT_LINE )
IRR |= INTNMI;
m_nmi = state;
@ -2005,10 +2005,12 @@ void upd7810_device::execute_set_input(int irqline, int state)
break;
case UPD7810_INTF2:
/* INT2 is falling edge sensitive */
if ( m_int2 == ASSERT_LINE && state == CLEAR_LINE )
/* we store the physical state (inverse of the logical state) */
/* to keep the handling of port C consistent with the upd7801 */
if ( (!m_int2) == CLEAR_LINE && state == ASSERT_LINE )
IRR |= INTF2;
m_int2 = state;
m_int2 = !state;
break;
default:
logerror("upd7810_set_irq_line invalid irq line #%d\n", irqline);

View File

@ -259,7 +259,7 @@ ADDRESS_MAP_END
INTERRUPT_GEN_MEMBER(fitfight_state::snd_irq)
{
device.execute().set_input_line(UPD7810_INTF2, HOLD_LINE);
generic_pulse_irq_line(device.execute(), UPD7810_INTF2, 1);
}

View File

@ -231,7 +231,7 @@ INTERRUPT_GEN_MEMBER(homedata_state::homedata_irq)
INTERRUPT_GEN_MEMBER(homedata_state::upd7807_irq)
{
device.execute().set_input_line(UPD7810_INTF1, HOLD_LINE);
generic_pulse_irq_line(device.execute(), UPD7810_INTF1, 1);
}