From 70eef1d4e38d7442015b6da97cc568360e0dde4f Mon Sep 17 00:00:00 2001 From: Gyorgy Szombathelyi Date: Mon, 23 Mar 2020 16:12:05 +0100 Subject: [PATCH] [C64] T65: detect IRQ even when not RDY Fixes Tsunami demo Waiting for RDY while the interrupt already asserted causes too much delay. The interrupt cycle will still start at the correct position, as soon as the RDY line is de-asserted, and other conditions are satisfied. --- T65.vhd | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/T65.vhd b/T65.vhd index 90bf886..66df868 100755 --- a/T65.vhd +++ b/T65.vhd @@ -474,9 +474,11 @@ begin P<=tmpP;--new way - 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... - IRQ_n_o <= IRQ_n; - end if; + 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... + IRQ_n_o <= IRQ_n; end if; -- detect nmi 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...