X-Git-Url: http://git.joshuawise.com/fpgaboy.git/blobdiff_plain/a8f4468d0cd6910eba8031e21038d76857a2c107..1eb82e46a20fba718e0dd0e7ced354451189ea09:/Interrupt.v?ds=inline diff --git a/Interrupt.v b/Interrupt.v index 2686146..201c328 100644 --- a/Interrupt.v +++ b/Interrupt.v @@ -13,6 +13,7 @@ module Interrupt( input serial, input buttons, output master, + input ack, output [7:0] jaddr); wire [7:0] iflag = {3'b0,buttons,serial,tovf,lcdc,vblank}; @@ -45,7 +46,14 @@ module Interrupt( `ADDR_IE : begin imask <= data; ihold <= ihold | iflag; end endcase - end + end else if (ack) + ihold <= ihold & + (imasked[0] ? 8'b11111110 : + imasked[1] ? 8'b11111101 : + imasked[2] ? 8'b11111011 : + imasked[3] ? 8'b11110111 : + imasked[4] ? 8'b11101111 : + 8'b11111111); else ihold <= ihold | iflag; rdlatch <= rd;