Added VGA font rom in hex to (hopefully) solve the endianess problems between Yosys/Quartus

This commit is contained in:
Niels Moseley 2018-02-07 19:22:00 +01:00
parent dd2c480675
commit f76134bcf1
4 changed files with 656 additions and 16 deletions

640
roms/vga_font.hex Normal file
View File

@ -0,0 +1,640 @@
00
00
38
44
54
5C
58
40
3C
00
00
00
10
28
44
44
7C
44
44
00
00
00
78
44
44
78
44
44
78
00
00
00
38
44
40
40
40
44
38
00
00
00
78
44
44
44
44
44
78
00
00
00
7C
40
40
78
40
40
7C
00
00
00
7C
40
40
78
40
40
40
00
00
00
3C
40
40
40
4C
44
3C
00
00
00
44
44
44
7C
44
44
44
00
00
00
38
10
10
10
10
10
38
00
00
00
04
04
04
04
04
44
38
00
00
00
44
48
50
60
50
48
44
00
00
00
40
40
40
40
40
40
7C
00
00
00
44
6C
54
54
44
44
44
00
00
00
44
44
64
54
4C
44
44
00
00
00
38
44
44
44
44
44
38
00
00
00
78
44
44
78
40
40
40
00
00
00
38
44
44
44
54
48
34
00
00
00
78
44
44
78
50
48
44
00
00
00
38
44
40
38
04
44
38
00
00
00
7C
10
10
10
10
10
10
00
00
00
44
44
44
44
44
44
38
00
00
00
44
44
44
44
44
28
10
00
00
00
44
44
44
54
54
6C
44
00
00
00
44
44
28
10
28
44
44
00
00
00
44
44
28
10
10
10
10
00
00
00
7C
04
08
10
20
40
7C
00
00
00
7C
60
60
60
60
60
7C
00
00
00
00
40
20
10
08
04
00
00
00
00
7C
0C
0C
0C
0C
0C
7C
00
00
00
00
00
10
28
44
00
00
00
00
00
00
00
00
00
00
00
7C
00
00
00
00
00
00
00
00
00
00
00
00
00
10
10
10
10
10
00
10
00
00
00
28
28
28
00
00
00
00
00
00
00
28
28
7C
28
7C
28
28
00
00
00
10
3C
50
38
14
78
10
00
00
00
60
64
08
10
20
4C
0C
00
00
00
20
50
50
20
54
48
34
00
00
00
10
10
10
00
00
00
00
00
00
00
10
20
40
40
40
20
10
00
00
00
10
08
04
04
04
08
10
00
00
00
10
54
38
10
38
54
10
00
00
00
00
10
10
7C
10
10
00
00
00
00
00
00
00
00
10
10
20
00
00
00
00
00
00
7C
00
00
00
00
00
00
00
00
00
00
00
00
10
00
00
00
00
04
08
10
20
40
00
00
00
00
38
44
4C
54
64
44
38
00
00
00
10
30
10
10
10
10
7C
00
00
00
38
44
04
18
20
40
7C
00
00
00
7C
04
08
18
04
44
38
00
00
00
08
18
28
48
7C
08
08
00
00
00
7C
40
78
04
04
44
38
00
00
00
1C
20
40
78
44
44
38
00
00
00
7C
04
08
10
20
20
20
00
00
00
38
44
44
38
44
44
38
00
00
00
38
44
44
3C
04
08
70
00
00
00
00
00
10
00
10
00
00
00
00
00
00
00
10
00
10
10
20
00
00
00
08
10
20
40
20
10
08
00
00
00
00
00
7C
00
7C
00
00
00
00
00
20
10
08
04
08
10
20
00
00
00
38
44
08
10
10
00
10
00

View File

@ -95,11 +95,9 @@ module apple1(
//////////////////////////////////////////////////////////////////////////
// Address Decoding
wire ram_cs = (ab[15:13] == 3'b000); // 0x0000 -> 0x1FFF
wire ram_cs = (ab[15:13] == 3'b000); // 0x0000 -> 0x1FFF
wire uart_cs = (ab[15:2] == 14'b11010000000100); // 0xD010 -> 0xD013
//wire ps2kb_cs = 1'b0;
//wire vga_cs = 1'b0;
//wire ps2kb_cs = (ab[15:1] == 15'b110100000001000); // 0xD010 -> 0xD011
//wire uart_cs = (ab[15:1] == 15'b110100000001001); // 0xD012 -> 0xD013

View File

@ -75,13 +75,12 @@ module apple1_de0_top(
.vga_red(vga_bit),
//.vga_grn(vga_bit),
//.vga_blu(vga_bit),
.clr_screen_btn(~BUTTON[1]),
.pc_monitor(pc_monitor)
);
assign VGA_R[3:0] = vga_bit ? 4'b1111 : 4'b0000;
assign VGA_R[3:0] = vga_bit ? 4'b1000 : 4'b0000;
assign VGA_G[3:0] = vga_bit ? 4'b1111 : 4'b0000;
assign VGA_B[3:0] = vga_bit ? 4'b1111 : 4'b0000;
assign VGA_B[3:0] = vga_bit ? 4'b1000 : 4'b0000;
//////////////////////////////////////////////////////////////////////////
// Display 6502 address on 7-segment displays
@ -114,12 +113,13 @@ module apple1_de0_top(
.display_out(HEX3_D)
);
reg [15:0] cnt;
always @(posedge vga_bit)
begin
cnt <= cnt + 1;
end
// debugging for VGA stuff:
//reg [15:0] cnt;
//always @(posedge vga_bit)
//begin
// cnt <= cnt + 1;
//end
assign LEDG = cnt[7:0];
assign LEDG = 0;
endmodule

View File

@ -34,19 +34,21 @@ module font_rom(
);
`ifdef SIM
parameter ROM_FILENAME = "../roms/vga_font.bin";
parameter ROM_FILENAME = "../roms/vga_font.hex";
`else
parameter ROM_FILENAME = "../../roms/vga_font.bin";
parameter ROM_FILENAME = "../../roms/vga_font.hex";
`endif
reg [7:0] rom[0:1023];
initial
$readmemb(ROM_FILENAME, rom, 0, 1023);
$readmemh(ROM_FILENAME, rom, 0, 1023);
// double width of pixel by ignoring bit 0
wire [2:0] pixel_ptr;
assign pixel_ptr = (3'h7 - pixel[3:1]);
//assign pixel_ptr = (3'h7 - pixel[3:1]);
assign pixel_ptr = pixel[3:1];
// double height of pixel by ignoring bit 0
wire [3:0] line_ptr = line[4:1];