X-Git-Url: http://git.joshuawise.com/fpgaboy.git/blobdiff_plain/01878f5fdca9d08e4cf7ceed7f5a39f4df602de4..a6035e0c1b5785205c73dd6510e0b83631bda75b:/Sound1.v?ds=inline diff --git a/Sound1.v b/Sound1.v index 41abaa5..ca97b17 100644 --- a/Sound1.v +++ b/Sound1.v @@ -23,18 +23,23 @@ module Sound1( reg [3:0] delta = 4'b1111; reg toggle = 0; reg [3:0] snd_out = 0; + + reg rdlatch; + reg [15:0] addrlatch; assign snd_data = en ? snd_out : 0; - assign data = rd ? - addr == `ADDR_NR10 ? nr10 : - addr == `ADDR_NR11 ? nr11 : - addr == `ADDR_NR12 ? nr12 : - addr == `ADDR_NR13 ? nr13 : - addr == `ADDR_NR14 ? nr14 : 8'bzzzzzzzz + assign data = rdlatch ? + addrlatch == `ADDR_NR10 ? nr10 : + addrlatch == `ADDR_NR11 ? nr11 : + addrlatch == `ADDR_NR12 ? nr12 : + addrlatch == `ADDR_NR13 ? nr13 : + addrlatch == `ADDR_NR14 ? nr14 : 8'bzzzzzzzz : 8'bzzzzzzzz; - always @ (negedge core_clk) begin + always @ (posedge core_clk) begin + rdlatch <= rd; + addrlatch <= addr; if(en && wr) begin case(addr) `ADDR_NR10: nr10 <= data;