]> cvs.zerfleddert.de Git - fpga-games/blame_incremental - galaxian/src/roms.v
impact 11 renamed the intel flash...
[fpga-games] / galaxian / src / roms.v
... / ...
CommitLineData
1module galaxian_roms(
2I_ROM_CLK,
3I_ADDR,
4O_DATA
5);
6
7input I_ROM_CLK;
8input [18:0]I_ADDR;
9output [7:0]O_DATA;
10
11//CPU-Roms
12wire [7:0]U_ROM_D;
13
14GALAXIAN_U U_ROM(
15.CLK(I_ROM_CLK),
16.ADDR(I_ADDR[10:0]),
17.DATA(U_ROM_D),
18.ENA(1'b1)
19);
20
21wire [7:0]V_ROM_D;
22
23GALAXIAN_V V_ROM(
24.CLK(I_ROM_CLK),
25.ADDR(I_ADDR[10:0]),
26.DATA(V_ROM_D),
27.ENA(1'b1)
28);
29
30wire [7:0]W_ROM_D;
31
32GALAXIAN_W W_ROM(
33.CLK(I_ROM_CLK),
34.ADDR(I_ADDR[10:0]),
35.DATA(W_ROM_D),
36.ENA(1'b1)
37);
38
39wire [7:0]Y_ROM_D;
40
41GALAXIAN_Y Y_ROM(
42.CLK(I_ROM_CLK),
43.ADDR(I_ADDR[10:0]),
44.DATA(Y_ROM_D),
45.ENA(1'b1)
46);
47
48//7L CPU-Rom
49wire [7:0]L_ROM_D;
50
51GALAXIAN_7L L_ROM(
52.CLK(I_ROM_CLK),
53.ADDR(I_ADDR[10:0]),
54.DATA(L_ROM_D),
55.ENA(1'b1)
56);
57
58reg [7:0]DATA_OUT;
59
60// address map
61//--------------------------------------------------
62// 0x00000 - 0x007FF galmidw.u CPU-ROM
63// 0x00800 - 0x00FFF galmidw.v CPU-ROM
64// 0x01000 - 0x017FF galmidw.w CPU-ROM
65// 0x01800 - 0x01FFF galmidw.y CPU-ROM
66// 0x02000 - 0x027FF 7l CPU-ROM
67// 0x04000 - 0x047FF 1k.bin VID-ROM
68// 0x05000 - 0x057FF 1h.bin VID-ROM
69// 0x10000 - 0x3FFFF mc_wav_2.bin Sound(Wav)Data
70always@(posedge I_ROM_CLK)
71begin
72 if (I_ADDR <= 18'h7ff) begin
73 //u
74 DATA_OUT <= U_ROM_D;
75 end
76 else if (I_ADDR >= 18'h800 && I_ADDR <= 18'hfff) begin
77 //v
78 DATA_OUT <= V_ROM_D;
79 end
80 else if (I_ADDR >= 18'h1000 && I_ADDR <= 18'h17ff) begin
81 //w
82 DATA_OUT <= W_ROM_D;
83 end
84 else if (I_ADDR >= 18'h1800 && I_ADDR <= 18'h1fff) begin
85 //y
86 DATA_OUT <= Y_ROM_D;
87 end
88 else if (I_ADDR >= 18'h2000 && I_ADDR <= 18'h27ff) begin
89 //7l
90 DATA_OUT <= L_ROM_D;
91 end
92 else begin
93 DATA_OUT <= DATA_OUT;
94 end
95end
96
97assign O_DATA = DATA_OUT;
98
99endmodule
Impressum, Datenschutz