You could make your own "print" character sub.
Setup character draw subs that use pset or lines or circles or ... that fit into a character block 8x16.
sub printChar x, y, charID
select case charID
case c1& : drawC1 x, y
case c2& : drawC2 x, y
...
end select
end sub
sub drawC1 x, y
pset (? + x, ? + y), color?
line ( ? + x, ? + y)-step(?, ?), color?
circle(? + x, ? + y), r, color?
... a bunch of drawing instructions to make the character, all offset by the x, y place to put the top left corner of block.
end sub
with such you can control the colors more than you could with with a font character. You can even make the characters scalable.
This is like making your own tiles.