From ecbd103917315e3aa24fd2a682208f5548ec5d1b Mon Sep 17 00:00:00 2001 From: Guy Perfect Date: Tue, 4 Mar 2025 10:19:12 -0600 Subject: [PATCH] Manage IRQ on writes to INTENB --- core/vip.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/core/vip.c b/core/vip.c index 49f12f3..ca4239f 100644 --- a/core/vip.c +++ b/core/vip.c @@ -436,6 +436,9 @@ static void vipWriteIO( case 0x5F802>>1: /* INTENB */ sim->vip.intenb = (sim->vip.intenb & mask) | (value & 0xE01F); + if (sim->vip.intenb & sim->vip.intpnd) + sim->cpu.irq |= 0x0010; + else sim->cpu.irq &= ~0x0010; break; case 0x5F804>>1: /* INTCLR */ sim->vip.intpnd &= ~value;