From a7132e3766deb4ee49f94513b702525b42af2c1f Mon Sep 17 00:00:00 2001 From: Uri Shaked Date: Sun, 24 Oct 2021 15:33:09 +0300 Subject: fix(eeprom): EEPROM interrupt not firing #110 fix #110 --- src/cpu/cpu.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'src/cpu') diff --git a/src/cpu/cpu.ts b/src/cpu/cpu.ts index 2675d1d..fe3bf63 100644 --- a/src/cpu/cpu.ts +++ b/src/cpu/cpu.ts @@ -141,9 +141,10 @@ export class CPU { } updateInterruptEnable(interrupt: AVRInterruptConfig, registerValue: u8) { - const { enableMask, flagRegister, flagMask } = interrupt; + const { enableMask, flagRegister, flagMask, inverseFlag } = interrupt; if (registerValue & enableMask) { - if (this.data[flagRegister] & flagMask) { + const bitSet = this.data[flagRegister] & flagMask; + if (inverseFlag ? !bitSet : bitSet) { this.queueInterrupt(interrupt); } } else { -- cgit v1.2.3