From 0281cd8acf11fae720e68ab01119e6f46de129f9 Mon Sep 17 00:00:00 2001 From: Toni Wilen Date: Sat, 26 Nov 2022 19:46:01 +0200 Subject: [PATCH] CIA interrupt bit getting set without interrupt enabled sticky bit fix --- cia.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/cia.cpp b/cia.cpp index 37adbe41..aa69ec00 100644 --- a/cia.cpp +++ b/cia.cpp @@ -760,14 +760,14 @@ static void CIA_sync_interrupt(int num, uae_u8 icr) struct CIA *c = &cia[num]; if (acc_mode()) { - c->icr2 |= icr; - if ((c->icr1 & ICR_MASK) == (c->icr2 & ICR_MASK)) { - return; - } if (!(icr & c->imask)) { c->icr1 |= icr; return; } + c->icr2 |= icr; + if ((c->icr1 & ICR_MASK) == (c->icr2 & ICR_MASK)) { + return; + } int syncdelay = 0; int delay = get_cia_sync_cycles(&syncdelay); delay += syncdelay; -- 2.47.3