From 22ce85fa9c645c0dd816f82d6134589b0ca0590b Mon Sep 17 00:00:00 2001 From: Souryo Date: Thu, 8 Sep 2016 22:55:54 -0400 Subject: [PATCH] FDS: Improved IRQ accuracy - fixes bug in Druid - Kyoufu no Tobira --- Core/FDS.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Core/FDS.cpp b/Core/FDS.cpp index df8df2c9..e85136b1 100644 --- a/Core/FDS.cpp +++ b/Core/FDS.cpp @@ -63,7 +63,6 @@ void FDS::ClockIrq() _irqCounter = _irqReloadValue; } else { _irqEnabled = false; - _irqReloadValue = 0; } } } @@ -229,6 +228,9 @@ void FDS::WriteRegister(uint16_t addr, uint8_t value) _irqReloadEnabled = (value & 0x01) == 0x01; _irqEnabled = (value & 0x02) == 0x02; _irqCounter = _irqReloadValue; + if(!_irqReloadEnabled) { + _irqReloadValue = 0; + } CPU::ClearIRQSource(IRQSource::External); break;