X-Git-Url: http://git.joshuawise.com/fpgaboy.git/blobdiff_plain/c3cb12e87f7dd29f5ed5a8da179993a1affc20d8..d1b404569fd0bdc74a3397c4ef0a5c2e5f95c835:/Interrupt.v 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;