(MESS) Running eagles5 on the sms2kr driver. It apparently expects the irq to be cleared when explicitly disabling VINT irqs during VINT. (nw)

This commit is contained in:
Wilbert Pol 2013-01-12 19:58:49 +00:00
parent c5f62bebdf
commit eeb97d5e1d
2 changed files with 21 additions and 1 deletions

View File

@ -1777,7 +1777,7 @@
</part>
</software>
<software name="eagles5" supported="no">
<software name="eagles5">
<description>Eagles 5 (Kor)</description>
<year>1990</year>
<publisher>Zemina</publisher>

View File

@ -602,6 +602,26 @@ WRITE8_MEMBER( sega315_5124_device::register_write )
if (reg_num == 1)
{
m_check_vint_timer->adjust( m_screen->time_until_pos( m_screen->vpos(), VINT_HPOS) );
//
// When running eagles5 on the ssm2kr driver the irq_state is 1 because of some
// previos HINTs that occured. eagles5 sets register 01 to 0x02 and expects
// the irq state to be cleared after that.
// The following bit of code takes care of that.
//
if ((m_status & STATUS_VINT) && !(m_reg[0x01] & 0x20))
{
if (m_irq_state == 1)
{
m_irq_state = 0;
if ( !m_cb_int.isnull() )
{
m_cb_int(CLEAR_LINE);
}
}
}
}
m_addrmode = 0;
break;