X-Git-Url: https://git.zerfleddert.de/cgi-bin/gitweb.cgi/raggedstone/blobdiff_plain/bba7a6d51635a1cb7d31bdfc03b1a66ee9df336b..1d175e4f030e4cee19ec6df3b39bfad3bf64863c:/dhwk/source/INTERRUPT.vhd diff --git a/dhwk/source/INTERRUPT.vhd b/dhwk/source/INTERRUPT.vhd index 65d89e1..cba3935 100644 --- a/dhwk/source/INTERRUPT.vhd +++ b/dhwk/source/INTERRUPT.vhd @@ -59,8 +59,8 @@ begin begin if (PCI_CLOCK'event and PCI_CLOCK ='1') then + -- THIS IS BROKEN (it cycles the interrupt) SIG_TAST_Q <= not (TAST_SETn and SIG_TAST_Qn); - SIG_TAST_Qn <= not (TAST_RESn and SIG_TAST_Q); end if; @@ -110,8 +110,9 @@ begin if(RESET = '1') then REG <= "00000000"; - elsif(SIG_TAST_Q = '1') then - REG <= "00000000" or SET; + -- elsif(SIG_TAST_Q = '1') then + -- REG <= "00000000" or SET; + elsif (TRDYn = '0' AND READ_XX5_4 = '1') then REG <= (REG AND NOT INT_RES) OR SET; @@ -121,15 +122,15 @@ begin end if; end process; - SIG_PROPAGATE_INT <= SIG_TAST_Q - OR (REG(0) AND not INT_MASKE(0)) - OR (REG(1) AND not INT_MASKE(1)) - OR (REG(2) AND not INT_MASKE(2)) - OR (REG(3) AND not INT_MASKE(3)) - OR (REG(4) AND not INT_MASKE(4)) - OR (REG(5) AND not INT_MASKE(5)) - OR (REG(6) AND not INT_MASKE(6)) - OR (REG(7) AND not INT_MASKE(7)); + SIG_PROPAGATE_INT <= + (REG(0) AND INT_MASKE(0)) + OR (REG(1) AND INT_MASKE(1)) + OR (REG(2) AND INT_MASKE(2)) + OR (REG(3) AND INT_MASKE(3)) + OR (REG(4) AND INT_MASKE(4)) + OR (REG(5) AND INT_MASKE(5)) + OR (REG(6) AND INT_MASKE(6)) + OR (REG(7) AND INT_MASKE(7)); process (PCI_CLOCK) begin