aboutsummaryrefslogtreecommitdiff
path: root/src/cpu/cpu.ts
diff options
context:
space:
mode:
authorUri Shaked2021-10-24 15:33:09 +0300
committerUri Shaked2021-10-24 15:33:09 +0300
commita7132e3766deb4ee49f94513b702525b42af2c1f (patch)
treeb37a178f75476109090d98949defccaf1833d672 /src/cpu/cpu.ts
parent0.18.3 (diff)
downloadavr8js-a7132e3766deb4ee49f94513b702525b42af2c1f.tar.gz
avr8js-a7132e3766deb4ee49f94513b702525b42af2c1f.tar.bz2
avr8js-a7132e3766deb4ee49f94513b702525b42af2c1f.zip
fix(eeprom): EEPROM interrupt not firing #110
fix #110
Diffstat (limited to '')
-rw-r--r--src/cpu/cpu.ts5
1 files changed, 3 insertions, 2 deletions
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 {