From 74cc9d5a9cafbd851bcdaea3b04974cd924fabd0 Mon Sep 17 00:00:00 2001 From: "B. Watson" Date: Mon, 16 Feb 2026 21:15:29 -0500 Subject: Font stuffs. --- font/fonttest.asm | 16 +++++++++++ font/mkfont.pl | 78 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ font/screen.dat | Bin 0 -> 256 bytes 3 files changed, 94 insertions(+) create mode 100644 font/fonttest.asm create mode 100644 font/mkfont.pl create mode 100644 font/screen.dat (limited to 'font') diff --git a/font/fonttest.asm b/font/fonttest.asm new file mode 100644 index 0000000..3085109 --- /dev/null +++ b/font/fonttest.asm @@ -0,0 +1,16 @@ + *= $8000 +font + .incbin "font.dat" + + *= $bc40 +screen + .incbin "screen.dat" + + *= $0600 +code + lda #>font + sta $02f4 + jmp code + + *= $02e0 + .word code diff --git a/font/mkfont.pl b/font/mkfont.pl new file mode 100644 index 0000000..20c5ece --- /dev/null +++ b/font/mkfont.pl @@ -0,0 +1,78 @@ +#!/usr/bin/perl -w + +use bytes; + +open $in, "font.dat" or die $!; + +my $junk; +read($in, $junk, 0x2000); # skip to the font + +read($in, $X2000, 256); # ASCII 32-63 +read($in, $X2100, 256); # ASCII 64-95 +read($in, $X2200, 256); # ASCII 0-31 +read($in, $X2300, 256); # ASCII 96=127 + +# ASCII 0 is a blank glyph +substr($X2200, 0, 8) = "\x00" x 8; + +$font = $X2200 . $X2000 . $X2100 . $X2300; + +while() { + chomp; + if(/^(\d+)$/) { + $offset = $1 * 8; + next; + } elsif(/^[-#]+$/) { + s/-/0/g; + s/#/1/g; + my $byte = eval "0b$_"; + substr($font, $offset++, 1) = chr $byte; + } +} + +print $out $font; + +close $in; +close $out; + +__DATA__ +96 +-------- +--##---- +--##---- +---##--- +-------- +-------- +-------- +-------- + +123 +----###- +---##--- +---##--- +--##---- +---##--- +---##--- +----###- +-------- + +125 +-###---- +---##--- +---##--- +----##-- +---##--- +---##--- +-###---- +-------- + +126 +-------- +-###--## +##-##-## +##--###- +-------- +-------- +-------- +-------- diff --git a/font/screen.dat b/font/screen.dat new file mode 100644 index 0000000..c866266 Binary files /dev/null and b/font/screen.dat differ -- cgit v1.2.3