It's not possible for the CPU to clear CR_EXTERNAL_INT

This commit is contained in:
Pokechu22 2023-01-23 19:23:26 -08:00
parent 295eac1c95
commit 93d4f75b42

View file

@ -224,7 +224,12 @@ void Interpreter::WriteControlRegister(u16 val)
state.control_reg, val, state.pc);
}
// The CR_EXTERNAL_INT bit is handled by DSPLLE::DSP_WriteControlRegister
if ((state.control_reg & CR_EXTERNAL_INT) != 0)
{
// The external interrupt can't be cleared by the CPU
// (and the CR_EXTERNAL_INT bit remains set until the external interrupt is sent to the DSP)
val |= CR_EXTERNAL_INT;
}
// reset
if ((val & CR_RESET) != 0)