X-Git-Url: http://git.zerfleddert.de/cgi-bin/gitweb.cgi/fpga-games/blobdiff_plain/b884ab49c82cc350e3d74264cff4b9da0d664878..36a47d3c8d89db7f85847c9d0b8985a52a914409:/galaxian/src/roms.v diff --git a/galaxian/src/roms.v b/galaxian/src/roms.v index 2ca0d07..84c5a8c 100644 --- a/galaxian/src/roms.v +++ b/galaxian/src/roms.v @@ -1,10 +1,10 @@ module galaxian_roms( -I_CLK_12M, +I_ROM_CLK, I_ADDR, O_DATA ); -input I_CLK_12M; +input I_ROM_CLK; input [18:0]I_ADDR; output [7:0]O_DATA; @@ -12,7 +12,7 @@ output [7:0]O_DATA; wire [7:0]U_ROM_D; GALAXIAN_U U_ROM( -.CLK(I_CLK_12M), +.CLK(I_ROM_CLK), .ADDR(I_ADDR[10:0]), .DATA(U_ROM_D), .ENA(1'b1) @@ -21,7 +21,7 @@ GALAXIAN_U U_ROM( wire [7:0]V_ROM_D; GALAXIAN_V V_ROM( -.CLK(I_CLK_12M), +.CLK(I_ROM_CLK), .ADDR(I_ADDR[10:0]), .DATA(V_ROM_D), .ENA(1'b1) @@ -30,7 +30,7 @@ GALAXIAN_V V_ROM( wire [7:0]W_ROM_D; GALAXIAN_W W_ROM( -.CLK(I_CLK_12M), +.CLK(I_ROM_CLK), .ADDR(I_ADDR[10:0]), .DATA(W_ROM_D), .ENA(1'b1) @@ -39,7 +39,7 @@ GALAXIAN_W W_ROM( wire [7:0]Y_ROM_D; GALAXIAN_Y Y_ROM( -.CLK(I_CLK_12M), +.CLK(I_ROM_CLK), .ADDR(I_ADDR[10:0]), .DATA(Y_ROM_D), .ENA(1'b1) @@ -49,32 +49,12 @@ GALAXIAN_Y Y_ROM( wire [7:0]L_ROM_D; GALAXIAN_7L L_ROM( -.CLK(I_CLK_12M), +.CLK(I_ROM_CLK), .ADDR(I_ADDR[10:0]), .DATA(L_ROM_D), .ENA(1'b1) ); -//1K VID-Rom -wire [7:0]K_ROM_D; - -GALAXIAN_1K K_ROM( -.CLK(I_CLK_12M), -.ADDR(I_ADDR[10:0]), -.DATA(K_ROM_D), -.ENA(1'b1) -); - -//1H VID-Rom -wire [7:0]H_ROM_D; - -GALAXIAN_1H H_ROM( -.CLK(I_CLK_12M), -.ADDR(I_ADDR[10:0]), -.DATA(H_ROM_D), -.ENA(1'b1) -); - reg [7:0]DATA_OUT; // address map @@ -87,7 +67,7 @@ reg [7:0]DATA_OUT; // 0x04000 - 0x047FF 1k.bin VID-ROM // 0x05000 - 0x057FF 1h.bin VID-ROM // 0x10000 - 0x3FFFF mc_wav_2.bin Sound(Wav)Data -always@(I_ADDR or U_ROM_D or V_ROM_D or W_ROM_D or Y_ROM_D or L_ROM_D or K_ROM_D or H_ROM_D) +always@(posedge I_ROM_CLK) begin if (I_ADDR <= 18'h7ff) begin //u @@ -109,20 +89,8 @@ begin //7l DATA_OUT <= L_ROM_D; end - else if (I_ADDR >= 18'h4000 && I_ADDR <= 18'h47ff) begin - //1k - DATA_OUT <= K_ROM_D; - end - else if (I_ADDR >= 18'h5000 && I_ADDR <= 18'h57ff) begin - //1h - DATA_OUT <= H_ROM_D; - end - else if (I_ADDR >= 18'h10000 && I_ADDR <= 18'h3fff) begin - //sound - DATA_OUT <= 8'h00; - end else begin - DATA_OUT <= 8'h00; + DATA_OUT <= DATA_OUT; end end