FDS: Fixed bug in IRQ code (Fixes Lutter freeze)

This commit is contained in:
Souryo 2017-04-09 17:03:38 -04:00
parent d829845a97
commit db96d7ca48

View file

@ -228,7 +228,9 @@ void FDS::WriteRegister(uint16_t addr, uint8_t value)
_irqReloadEnabled = (value & 0x01) == 0x01;
_irqEnabled = (value & 0x02) == 0x02;
_irqCounter = _irqReloadValue;
if(!_irqReloadEnabled) {
if(_irqEnabled && !_irqReloadEnabled) {
//Needed by Kaettekita Mario Bros
//If done when _irqEnabled is false, Lutter breaks
_irqReloadValue = 0;
}
CPU::ClearIRQSource(IRQSource::External);