From dc1f5bf4637fd8901c5b2f190f0a4924d4da29c7 Mon Sep 17 00:00:00 2001 From: Rob McMullen Date: Mon, 23 Jul 2018 06:22:56 -0700 Subject: [PATCH] Added beginnings of one-page summary of transposed font --- transposed_font_description.svg | 2536 +++++++++++++++++++++++++++++++ 1 file changed, 2536 insertions(+) create mode 100644 transposed_font_description.svg diff --git a/transposed_font_description.svg b/transposed_font_description.svg new file mode 100644 index 0000000..a071975 --- /dev/null +++ b/transposed_font_description.svg @@ -0,0 +1,2536 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + Fast Font Rendering using Transposed Fonts + Normal font rendering: glyphs stored sequentially + + Compiled font rendering: glyphs compiled in code + + * jump table to find definition of glyph, column in Yregister* each block of code can write one glyph anywhere* immediate mode data for each scan line of glyph* indirect indexed addressing to store onscreen, must increment address by $400for every scan line* requires tool to generate code* each font requires own code block + * indexed addressing to read glyph, initialaddress set through self-modifying code* indirect indexed addressing to write toscreen; must increment by $400 each line* works with any font data + + + + + + + + Transposed font rendering: glyph bytes reordered + + + * jump table to find row, column in X register, glyphindex in Y register* each block of code can write any glyph to one row* indexed addressing for each line of glyph* indexed addressing to store on screen* requires tool to generate code and transposefont* each font requires own code block + + TransposedFontRow0 .byte ... , $9e, $9f, $9e, $9f, $bf, ...TransposedFontRow1 .byte ... , $bf, $bf, $bf, $bf, $bf, ...TransposedFontRow2 .byte ... , $b3, $b3, $b3, $b3, $83, ...TransposedFontRow3 .byte ... , $bf, $9f, $83, $b3, $9f, ...TransposedFontRow4 .byte ... , $bf, $b3, $b3, $b3, $83, ...TransposedFontRow5 .byte ... , $b3, $bf, $bf, $bf, $bf, ...TransposedFontRow6 .byte ... , $b3, $9f, $9e, $9f, $bf, ...TransposedFontRow7 .byte ... , $80, $80, $80, $80, $80, ... + + + + + + + + +