diff --git a/transposed_font_description.pdf b/transposed_font_description.pdf index 46169ec..7dc8be4 100644 Binary files a/transposed_font_description.pdf and b/transposed_font_description.pdf differ diff --git a/transposed_font_description.svg b/transposed_font_description.svg index 58810c6..47350ca 100644 --- a/transposed_font_description.svg +++ b/transposed_font_description.svg @@ -16,7 +16,10 @@ version="1.1" id="svg8" inkscape:version="0.91 r13725" - sodipodi:docname="transposed_font_description.svg"> + sodipodi:docname="transposed_font_description.svg" + inkscape:export-filename="/home/rob/src/asmgen/transposed_font_description.svg.png" + inkscape:export-xdpi="90" + inkscape:export-ydpi="90"> image/svg+xml - + @@ -188,8 +191,8 @@ inkscape:groupmode="layer" id="layer1"> Compiled font rendering: glyph data embedded in code * jump table to find definition of glyph, column in Yregister* one entry in jump table for each glyph; each entry can writeglyph to any column or row* immediate mode data for each scan line of glyph* indirect indexed addressing to store on screen, must incrementaddress by $400 to move to next scan line* requires tool to generate code* each font requires separate jump table and glyph definitions* can write to either hi-res page * indexed addressing to read glyph, font data address set through* indexed addressing to read glyph; address set using self-modifying codeself-modifying code (boilerplate code not shown here)* indirect indexed addressing to write to screen; must increment by $400* indirect indexed addressing to write to screen; must increment by $400each lineeach line* works with any font in memory* works with any font in memory* can write to either hi-res page @@ -434,35 +432,37 @@ id="rect3962" width="22.061142" height="2.2475212" - x="15.900266" - y="93.454956" /> + x="15.093917" + y="91.439079" /> + x="15.071065" + y="91.608154" /> + x="15.080609" + y="94.35421" /> + x="15.075387" + y="96.925323" /> + width="24.40538" + inkscape:export-xdpi="90" + inkscape:export-ydpi="90" /> + width="42.975891" + inkscape:export-xdpi="90" + inkscape:export-ydpi="90" /> 8 rows of 128 bytes each. First row of 128 bytes contains topmost\ 8 rows of 128 bytes each. First row of 128 bytes contains topmost* can write to only one hi-res page; must have separate block to write* need second jump table and new entries for each row to write toto second hi-res page.second hi-res page. + height="90.334724" + width="9.0107517" + inkscape:export-xdpi="90" + inkscape:export-ydpi="90" /> + rx="3.0735984" + inkscape:export-xdpi="90" + inkscape:export-ydpi="90" /> + sodipodi:nodetypes="ccccc" + inkscape:export-xdpi="90" + inkscape:export-ydpi="90" /> + rx="1.4699824" + inkscape:export-xdpi="90" + inkscape:export-ydpi="90" /> + rx="1.4699824" + inkscape:export-xdpi="90" + inkscape:export-ydpi="90" /> + rx="3.0735984" + inkscape:export-xdpi="90" + inkscape:export-ydpi="90" /> + sodipodi:nodetypes="ccccc" + inkscape:export-xdpi="90" + inkscape:export-ydpi="90" /> Speed comparison: Source code available! See:Code generator now available! See:https://github.com/robmcmullen/asmgenRequires: Python 3.6Requires Python 3.6 to generate code;target assembler is configurable. + * includes built-in 1024 byte font; others can use any font in memory + height="29.35111" + width="113.73556" />