From 29d579eadacc2af4536b17f4d79a2d10f209c390 Mon Sep 17 00:00:00 2001 From: Gyorgy Szombathelyi Date: Sun, 12 Apr 2020 23:10:06 +0200 Subject: [PATCH] C64: [T65] don't delay IRQ with branches when not RDY Fixes Trick & Treat demo glitches due to too big IRQ delays TODO: - check with Visual6502? - do the same with NMI? --- cores/c64/rtl/t65/T65.vhd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cores/c64/rtl/t65/T65.vhd b/cores/c64/rtl/t65/T65.vhd index 66df868..2b2182e 100755 --- a/cores/c64/rtl/t65/T65.vhd +++ b/cores/c64/rtl/t65/T65.vhd @@ -477,7 +477,7 @@ begin end if; -- detect irq even if not rdy - if IR(4 downto 0)/="10000" or Jump/="01" then -- delay interrupts during branches (checked with Lorenz test and real 6510), not best way yet, though - but works... + if IR(4 downto 0)/="10000" or Jump/="01" or really_rdy = '0' then -- delay interrupts during branches (checked with Lorenz test and real 6510), not best way yet, though - but works... IRQ_n_o <= IRQ_n; end if; -- detect nmi even if not rdy