mirror of
https://github.com/alangarf/apple-one.git
synced 2024-06-07 08:30:20 +00:00
Added VGA font rom in hex to (hopefully) solve the endianess problems between Yosys/Quartus
This commit is contained in:
parent
dd2c480675
commit
f76134bcf1
640
roms/vga_font.hex
Normal file
640
roms/vga_font.hex
Normal 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
|
|
@ -95,11 +95,9 @@ module apple1(
|
||||||
//////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////
|
||||||
// Address Decoding
|
// 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 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 ps2kb_cs = (ab[15:1] == 15'b110100000001000); // 0xD010 -> 0xD011
|
||||||
//wire uart_cs = (ab[15:1] == 15'b110100000001001); // 0xD012 -> 0xD013
|
//wire uart_cs = (ab[15:1] == 15'b110100000001001); // 0xD012 -> 0xD013
|
||||||
|
|
|
@ -75,13 +75,12 @@ module apple1_de0_top(
|
||||||
.vga_red(vga_bit),
|
.vga_red(vga_bit),
|
||||||
//.vga_grn(vga_bit),
|
//.vga_grn(vga_bit),
|
||||||
//.vga_blu(vga_bit),
|
//.vga_blu(vga_bit),
|
||||||
.clr_screen_btn(~BUTTON[1]),
|
|
||||||
.pc_monitor(pc_monitor)
|
.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_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
|
// Display 6502 address on 7-segment displays
|
||||||
|
@ -114,12 +113,13 @@ module apple1_de0_top(
|
||||||
.display_out(HEX3_D)
|
.display_out(HEX3_D)
|
||||||
);
|
);
|
||||||
|
|
||||||
reg [15:0] cnt;
|
// debugging for VGA stuff:
|
||||||
always @(posedge vga_bit)
|
//reg [15:0] cnt;
|
||||||
begin
|
//always @(posedge vga_bit)
|
||||||
cnt <= cnt + 1;
|
//begin
|
||||||
end
|
// cnt <= cnt + 1;
|
||||||
|
//end
|
||||||
|
|
||||||
assign LEDG = cnt[7:0];
|
assign LEDG = 0;
|
||||||
|
|
||||||
endmodule
|
endmodule
|
||||||
|
|
|
@ -34,19 +34,21 @@ module font_rom(
|
||||||
);
|
);
|
||||||
|
|
||||||
`ifdef SIM
|
`ifdef SIM
|
||||||
parameter ROM_FILENAME = "../roms/vga_font.bin";
|
parameter ROM_FILENAME = "../roms/vga_font.hex";
|
||||||
`else
|
`else
|
||||||
parameter ROM_FILENAME = "../../roms/vga_font.bin";
|
parameter ROM_FILENAME = "../../roms/vga_font.hex";
|
||||||
`endif
|
`endif
|
||||||
|
|
||||||
reg [7:0] rom[0:1023];
|
reg [7:0] rom[0:1023];
|
||||||
|
|
||||||
initial
|
initial
|
||||||
$readmemb(ROM_FILENAME, rom, 0, 1023);
|
$readmemh(ROM_FILENAME, rom, 0, 1023);
|
||||||
|
|
||||||
// double width of pixel by ignoring bit 0
|
// double width of pixel by ignoring bit 0
|
||||||
wire [2:0] pixel_ptr;
|
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
|
// double height of pixel by ignoring bit 0
|
||||||
wire [3:0] line_ptr = line[4:1];
|
wire [3:0] line_ptr = line[4:1];
|
||||||
|
|
Loading…
Reference in New Issue
Block a user