Around Maximum Size (10,000 bytes) for a Forum Post. Updated font data,
Character Rounding Pixels Patching data, and some #DEFINEs added. 5/4/26
Character Rounding Pixels Patching data, and some #DEFINEs added. 5/4/26
Code:
data 24,(0 ,$21 ,$41) ; "14" ; Single patchbytes
data 27,($20,$50 ,$24,$54 ,$2C,$6B) ; "MmQ" ; Two pixels per character
data ($2D,$5D ,$2D,$5D) ; "Ww"
data 37,($48,$49,$44,$45) ; "N" ; Four pixels per char
data 41,($14,$16,$37,$44,$54,$56) ; "~" ; Six pixels per char
#define rep
#define ppad
#define padp
tree:
REPT = pix ; Store last value in case repeat required
rank = chr / 16 - 2 ; First 32 codes skipped, then blocks of 16 ASCII codes
sub = chr AND 15 ; Subgroup
again:
pix = NOPIX ; To trap any missing characters and columns of pixels
on rank goto SYM,NUM,CAP1,CAP2,LOW1,LOW2 ,EXT1,EXT2
eac7: lookup pcol,($3E, $22, $3E),pix : Return ; Box ; Delete = Not Found
; Catch all undefined
SYM: on sub goto a32,a33,a34,a35,a36,a37,a38,a39, t40,a41,a42,a43,a44,a45,a46,a47
a32: lookup pcol,(ppad $80 padp),pix : Return ; half-width ; space (underlined)
a33: lookup pcol,(ppad $5F padp),pix : Return ; !
a34: lookup pcol,($03, $00, $03),pix : Return ; quotes ; "
a35: lookup pcol,($3E, $14, $3E),pix : Return ; #
a36: lookup pcol,($2C, $7F, $1A),pix : Return ; $
a37: lookup pcol,($33, $08, $66),pix : Return ; Vert dots ; %
a38: lookup pcol,($3E, $4D, $76),pix : Return ; &
a39: lookup pcol,(ppad $03 padp),pix : Return ; quote ; '
t40: lookup pcol,($1C, $22, $41),pix : Return ; (
a41: lookup pcol,($41, $22, $1C),pix : Return ; )
a42: lookup pcol,($2A, $1C, $2A),pix : Return ; *
a43: lookup pcol,($08, $3E, $08),pix : Return ; +
a44: lookup pcol,($40, $30 padp),pix : Return ; comma ; ,
a45: lookup pcol,($08, $08 rep, $08),pix : Return ; minus ; -
a46: lookup pcol,(ppad $30 padp),pix : Return ; larger dot ; .
a47: lookup pcol,($60, $18, $06),pix : Return ; /
NUM: on sub goto a48,a49,t50,a51,a52,a53,a54,a55, a56,a57,a58,a59,t60,a61,a62,a63
a48: lookup pcol,($7F, $41 rep, $7F),pix : Return ; square ; 0
a49: lookup pcol,($42, $7F, $40),pix : Return ; 1
t50: lookup pcol,($62, $51, $4E),pix : Return ; 2
a51: lookup pcol,($22, $49, $36),pix : Return ; 3
a52: lookup pcol,($1C, $12, $7F),pix : Return ; 4
a53: lookup pcol,($27, $45, $39),pix : Return ; higher ; 5
a54: lookup pcol,($3C, $4A, $31),pix : Return ; 6
a55: lookup pcol,($71, $09, $07),pix : Return ; 7
a56: lookup pcol,($36, $49, $36),pix : Return ; 8
a57: lookup pcol,($46, $29, $1E),pix : Return ; 9
a58: lookup pcol,(ppad $36 rep padp),pix : Return ; Colon ; :
a59: lookup pcol,($40, $36 rep padp),pix : Return ; S_colon ; ;
t60: lookup pcol,($08, $14, $22),pix : Return ; <
a61: lookup pcol,($14, $14 rep, $14),pix : Return ; =
a62: lookup pcol,($22, $14, $08),pix : Return ; >
a63: lookup pcol,($02, $59, $06),pix : Return ; ?
CAP1: on sub goto a64,a65,a66,a67,a68,a69,t70,a71, a72,a73,a74,a75,a76,a77,a78,a79
a64: lookup pcol,($3E, $45, $2E),pix : Return ; @
a65: lookup pcol,($7E, $09 rep, $7E),pix : Return ; A
a66: lookup pcol,($7F, $49 rep, $36),pix : Return ; B
a67: lookup pcol,($3E, $41 rep, $22),pix : Return ; C
a68: lookup pcol,($7F, $41 rep, $3E),pix : Return ; D
a69: lookup pcol,($7F, $49 rep, $41),pix : Return ; E
t70: lookup pcol,($7F, $09 rep, $01),pix : Return ; F
a71: lookup pcol,($3E, $41 rep, $72),pix : Return ; G
a72: lookup pcol,($7F, $08 rep, $7F),pix : Return ; H
a73: lookup pcol,($41, $7F, $41),pix : Return ; I
a74: lookup pcol,($21, $41, $3F),pix : Return ; J
a75: lookup pcol,($7F, $14, $63),pix : Return ; K
a76: lookup pcol,($7F, $40 rep, $40),pix : Return ; L
a77: lookup pcol,($7F, $02, $7F),pix : Return ; M
a78: lookup pcol,($7F, $0C, $7F),pix : Return ; N
a79: lookup pcol,($3E, $41 rep, $3E ),pix : Return ; O
CAP2: on sub goto t80,a81,a82,a83,a84,a85,a86,a87, a88,a89,t90,a91,a92,a93,a94,a95
t80: lookup pcol,($7F, $09 rep, $06),pix : Return ; P
a81: lookup pcol,($3E, $61, $7E),pix : Return ; Q
a82: lookup pcol,($7F, $19, $66),pix : Return ; R
a83: lookup pcol,($26, $49 rep, $32),pix : Return ; S
a84: lookup pcol,($01 rep, $7F, $01 rep),pix : Return ; T
a85: lookup pcol,($3F, $40 rep, $3F),pix : Return ; U
a86: lookup pcol,($1F, $60, $1F),pix : Return ; V
a87: lookup pcol,($7F, $30, $7F),pix : Return ; ; W
a88: lookup pcol,($63, $1C, $63),pix : Return ; ; X
a89: lookup pcol,($07, $78, $07),pix : Return ; Y
t90: lookup pcol,($71, $49, $47),pix : Return ; Z
a91: lookup pcol,(ppad $7F, $41),pix : Return ; [
a92: lookup pcol,($06, $18, $60),pix : Return ; \
a93: lookup pcol,($41, $7F padp),pix : Return ; ]
a94: lookup pcol,($02, $01, $02),pix : Return ; T caret ; ^
a95: lookup pcol,($40, $40 rep, $40),pix : Return ; ; _
LOW1: on sub goto a96,a97,a98,a99,ta0,aa1,aa2,aa3, aa4,aa5,aa6,aa7,aa8,aa9,tb0,ab1
a96: lookup pcol,($01, $02 padp),pix : Return ; backquote ; `
a97: lookup pcol,($24, $54 rep, $78),pix : Return ; a
a98: lookup pcol,($7F, $48 rep, $30),pix : Return ; b
a99: lookup pcol,($38, $44 rep, $44),pix : Return ; c
ta0: lookup pcol,($30, $48 rep, $7F),pix : Return ; d
aa1: lookup pcol,($38, $54 rep, $58),pix : Return ; e
aa2: lookup pcol,($08, $7E ,$09),pix : Return ; f
aa3: lookup pcol,($98, $A4 rep, $78),pix : Return ; g
aa4: lookup pcol,($7F, $08 rep, $70),pix : Return ; h
aa5: lookup pcol,(ppad $3A, $40),pix : Return ; cursive ; i
aa6: lookup pcol,($40, $80, $7A),pix : Return ; j
aa7: lookup pcol,($7F, $38, $44),pix : Return ; narrow ; k
aa8: lookup pcol,(ppad $3F, $40),pix : Return ; cursive ; l
aa9: lookup pcol,($7C, $08, $7C),pix : Return ; m
tb0: lookup pcol,($7C, $04, $78),pix : Return ; n
LOW2: on sub goto ab2,ab3,ab4,ab5,ab6,ab7,ab8,ab9, tc0,ac1,ac2,ac3,ac4,ac5,ac6,ac7
ab1: lookup pcol,($38, $44 rep, $38),pix : Return ; o
ab2: lookup pcol,($FC, $24 rep, $18),pix : Return ; p
ab3: lookup pcol,($18, $24 rep, $FC),pix : Return ; q
ab4: lookup pcol,($7C, $08, $04),pix : Return ; r
ab5: lookup pcol,($48, $54 rep, $24),pix : Return ; s
ab6: lookup pcol,($04, $3F, $44),pix : Return ; t
ab7: lookup pcol,($3C, $40 rep, $7C),pix : Return ; u
ab8: lookup pcol,($1C, $60, $1C),pix : Return ; v
ab9: lookup pcol,($7C, $20, $7C),pix : Return ; narrow ; w
tc0: lookup pcol,($44, $38, $44),pix : Return ; rounded ; x
ac1: lookup pcol,($9C, $A0, $7C),pix : Return ; y
ac2: lookup pcol,($64, $54, $4C),pix : Return ; z
ac3: lookup pcol,($04, $3E, $04),pix : Return ; Obelisk ; Dagger
ac4: lookup pcol,(ppad $77 padp),pix : Return ; Pipe/Bar ; |
ac5: lookup pcol,($22, $7F, $22),pix : Return ; Diesis ; Double dagger
ac6: lookup pcol,($04, $0C, $04),pix : Return ; Tilde ; T
ac7: lookup pcol,($80, $80, $80),pix : Return ; 3-width ; space (underlined)
#IFDEF ALTCHARS ; remove e/f prefix to use in main routine
EXT1: on sub goto ea35,ea36,ea37,ea38,ea42,ea46,ea58,ea59, fa59,ea64,fa64,ea71,ea75,ea77,ea78,fa78
ea35: lookup pcol,($14, $3E, $14, $3E, $14),pix : Return ; #
ea36: lookup pcol,($24, $2A, $7F, $2A, $12),pix : Return ; $
ea37: lookup pcol,($63, $13, $08, $64, $63),pix : Return ; 5 ; %
ea38: lookup pcol,($36, $49, $36, $50),pix : Return ; &
ea42: lookup pcol,($22, $14, $7F, $14, $22),pix : Return ; *
ea46: lookup pcol,(ppad $20 padp),pix : Return ; small dot ; .
' ea58: lookup pcol,(ppad $14 padp),pix : Return ; Small Colon ; :
fa59: lookup pcol,(ppad $20, $14),pix : Return ; Small Semicolon ; ;
ea58: lookup pcol,(ppad $36, $36),pix : Return ; Large Colon ; :
ea59: lookup pcol,(ppad $56, $36),pix : Return ; Large Semicolon ; ;
ea64: lookup pcol,($2E, $65, $2E),pix : Return ; AT ; @
fa64: lookup pcol,($1C, $22, $49, $55, $5E),pix : Return ; 5 ; @
ea71: lookup pcol,($3E, $41, $51, $72),pix : Return ; G
ea75: lookup pcol,($7F, $1C, $22, $41),pix : Return ; K
ea77: lookup pcol,($7F, $02, $0C, $02, $7F),pix : Return ; 5 ; M
ea78: lookup pcol,($7F, $02, $7C),pix : Return ; tall n ; N
' fa78: lookup pcol,($7F, $06, $18, $7F),pix : Return ; 4 ; N
fa78: lookup pcol,($7F, $04, $08, $10, $7F),pix : Return ; 5 ; N
EXT2:
on sub goto ea81,ea86,ea87,ea88,eaa5,eaa6,eaa7,eaa8, eaa9,etb0,eab8,eab9,etc0,eac3,eac5,eac6
ea81: lookup pcol,($3E, $41, $61, $5E),pix : Return ; Q
ea86: lookup pcol,($07, $18, $60, $18, $07),pix : Return ; V
ea87: lookup pcol,($3F, $40, $38, $40, $3F),pix : Return ; ; W
ea88: lookup pcol,($63, $14, $08, $14, $63),pix : Return ; ; X
eaa5: lookup pcol,(ppad $7A padp),pix : Return ; narrow short ; i
eaa6: lookup pcol,($44, $7D, $40),pix : Return ; serifs ; i
eaa7: lookup pcol,($7F, $10, $28, $44),pix : Return ; k
eaa8: lookup pcol,(ppad $7F padp),pix : Return ; narrow ; l
eaa9: lookup pcol,($7C, $04, $78, $04, $78),pix : Return ; Wide ; m
etb0: lookup pcol,($7C, $08, $04, $78),pix : Return ; n
eab8: lookup pcol,($1C, $20, $40, $20, $1C),pix : Return ; wide ; v
eab9: lookup pcol,($3C, $40, $30, $40, $3C),pix : Return ; wide ; w
; etc0: lookup pcol,($6C, $38, $6C),pix : Return ; no rounding ; x
etc0: lookup pcol,($44, $28, $10, $28, $44),pix : Return ; wide ; x
eac3: lookup pcol,($08, $36, $41),pix : Return ; {
eac5: lookup pcol,($41, $36, $08),pix : Return ; }
eac6: lookup pcol,($08, $04, $08, $04),pix : Return ; Tilde 4 ; ~
#ELSE ; No ALTCHARS
EXT1:
EXT2:
#ENDIF
Last edited: