asmgen/transposed_font_description...

1056 lines
201 KiB
XML
Raw Permalink Normal View History

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="210mm"
height="297mm"
viewBox="0 0 210 297"
version="1.1"
id="svg8"
inkscape:version="0.91 r13725"
2018-07-24 06:29:16 +00:00
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">
<defs
id="defs2">
<marker
inkscape:isstock="true"
style="overflow:visible;"
id="marker5873"
refX="0.0"
refY="0.0"
orient="auto"
inkscape:stockid="Arrow1Mend">
<path
transform="scale(0.4) rotate(180) translate(10,0)"
style="fill-rule:evenodd;stroke:#fa0e0a;stroke-width:1pt;stroke-opacity:1;fill:#fa0e0a;fill-opacity:1"
d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
id="path5871" />
</marker>
<inkscape:path-effect
effect="bspline"
id="path-effect5863"
is_visible="true"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<marker
inkscape:stockid="Arrow1Mstart"
orient="auto"
refY="0.0"
refX="0.0"
id="Arrow1Mstart"
style="overflow:visible"
inkscape:isstock="true">
<path
id="path4821"
d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
style="fill-rule:evenodd;stroke:#fa0e0a;stroke-width:1pt;stroke-opacity:1;fill:#fa0e0a;fill-opacity:1"
transform="scale(0.4) translate(10,0)" />
</marker>
<marker
inkscape:stockid="Arrow1Mend"
orient="auto"
refY="0.0"
refX="0.0"
id="marker5713"
style="overflow:visible;"
inkscape:isstock="true">
<path
id="path5711"
d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
transform="scale(0.4) rotate(180) translate(10,0)" />
</marker>
<inkscape:path-effect
effect="bspline"
id="path-effect5707"
is_visible="true"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<marker
inkscape:stockid="Arrow1Mend"
orient="auto"
refY="0.0"
refX="0.0"
id="marker5475"
style="overflow:visible;"
inkscape:isstock="true">
<path
id="path5473"
d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
style="fill-rule:evenodd;stroke:#1cfd08;stroke-width:1pt;stroke-opacity:1;fill:#1cfd08;fill-opacity:1"
transform="scale(0.4) rotate(180) translate(10,0)" />
</marker>
<marker
inkscape:stockid="Arrow1Mend"
orient="auto"
refY="0.0"
refX="0.0"
id="marker5429"
style="overflow:visible;"
inkscape:isstock="true">
<path
id="path5427"
d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
style="fill-rule:evenodd;stroke:#0a94fa;stroke-width:1pt;stroke-opacity:1;fill:#0a94fa;fill-opacity:1"
transform="scale(0.4) rotate(180) translate(10,0)" />
</marker>
<marker
inkscape:stockid="Arrow1Mend"
orient="auto"
refY="0.0"
refX="0.0"
id="Arrow1Mend"
style="overflow:visible;"
inkscape:isstock="true"
inkscape:collect="always">
<path
id="path4824"
d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
style="fill-rule:evenodd;stroke:#fa0e0a;stroke-width:1pt;stroke-opacity:1;fill:#fa0e0a;fill-opacity:1"
transform="scale(0.4) rotate(180) translate(10,0)" />
</marker>
<marker
inkscape:stockid="Arrow1Lend"
orient="auto"
refY="0.0"
refX="0.0"
id="marker5363"
style="overflow:visible;"
inkscape:isstock="true">
<path
id="path5361"
d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
style="fill-rule:evenodd;stroke:#0a94fa;stroke-width:1pt;stroke-opacity:1;fill:#0a94fa;fill-opacity:1"
transform="scale(0.8) rotate(180) translate(12.5,0)" />
</marker>
<marker
inkscape:stockid="Arrow1Lend"
orient="auto"
refY="0.0"
refX="0.0"
id="Arrow1Lend"
style="overflow:visible;"
inkscape:isstock="true">
<path
id="path4818"
d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
style="fill-rule:evenodd;stroke:#1cfd08;stroke-width:1pt;stroke-opacity:1;fill:#1cfd08;fill-opacity:1"
transform="scale(0.8) rotate(180) translate(12.5,0)" />
</marker>
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
2018-07-24 06:29:16 +00:00
inkscape:zoom="1.4"
inkscape:cx="421.86456"
inkscape:cy="210.65445"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:window-width="1895"
inkscape:window-height="1061"
inkscape:window-x="25"
inkscape:window-y="0"
inkscape:window-maximized="1" />
<metadata
id="metadata5">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
2018-07-24 06:29:16 +00:00
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1">
<image
2018-07-24 06:29:16 +00:00
y="88.773331"
x="8.0758867"
id="image5550"
xlink:href="data:image/png;base64,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
style="image-rendering:optimizeSpeed"
preserveAspectRatio="none"
height="43.901257"
width="28.064734" />
<image
y="18.454895"
x="17.924126"
id="image3775"
xlink:href="data:image/png;base64,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
style="image-rendering:optimizeSpeed"
preserveAspectRatio="none"
height="53.597027"
width="14.184468" />
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
2018-07-23 20:15:10 +00:00
x="13.703023"
y="12.19173"
id="text3780"><tspan
sodipodi:role="line"
id="tspan3778"
2018-07-23 20:15:10 +00:00
x="13.703023"
y="12.19173"
style="font-size:7.05555534px;stroke-width:0.26458332">Fast Font Rendering for the Apple II using Transposed Fonts</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:5.64444447px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
x="54.303799"
y="23.803257"
id="text3784"><tspan
sodipodi:role="line"
id="tspan3782"
x="54.303799"
y="23.803257"
style="font-size:5.64444447px;stroke-width:0.26458332">Normal font rendering: glyphs stored sequentially</tspan></text>
<image
y="28.622459"
x="48.331184"
id="image3817"
xlink:href="data:image/png;base64,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
style="image-rendering:optimizeSpeed"
preserveAspectRatio="none"
height="38.304905"
width="30.324713" />
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:5.64444447px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
2018-07-24 06:29:16 +00:00
x="43.202675"
y="79.701477"
id="text3828"><tspan
sodipodi:role="line"
id="tspan3826"
2018-07-24 06:29:16 +00:00
x="43.202675"
y="79.701477"
style="font-size:5.64444447px;stroke-width:0.26458332">Compiled font rendering: glyph data embedded in code</tspan></text>
<image
2018-07-24 06:29:16 +00:00
y="86.523949"
x="62.555054"
id="image3852"
xlink:href="data:image/png;base64,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
style="image-rendering:optimizeSpeed"
preserveAspectRatio="none"
height="47.020241"
width="31.346828" />
<flowRoot
xml:space="preserve"
id="flowRoot3855"
style="fill:black;fill-opacity:1;stroke:none;font-family:sans-serif;font-style:normal;font-weight:normal;font-size:24px;line-height:1.25;letter-spacing:0px;word-spacing:0px"><flowRegion
id="flowRegion3857"><rect
id="rect3859"
width="253.28572"
height="349.92859"
x="38.857143"
y="261.8768" /></flowRegion><flowPara
id="flowPara3861" /></flowRoot> <text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:3.52777791px;line-height:1;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
2018-07-24 06:29:16 +00:00
x="105.00178"
y="87.638977"
id="text3865"><tspan
sodipodi:role="line"
id="tspan3863"
2018-07-24 06:29:16 +00:00
x="105.00178"
y="87.638977"
style="font-size:3.52777791px;line-height:1;stroke-width:0.26458332">* jump table to find definition of glyph, column in Y</tspan><tspan
sodipodi:role="line"
2018-07-24 06:29:16 +00:00
x="105.00178"
y="91.166756"
style="font-size:3.52777791px;line-height:1;stroke-width:0.26458332"
id="tspan5688">register</tspan><tspan
sodipodi:role="line"
2018-07-24 06:29:16 +00:00
x="105.00178"
y="94.694534"
style="font-size:3.52777791px;line-height:1;stroke-width:0.26458332"
id="tspan5682" /><tspan
sodipodi:role="line"
2018-07-24 06:29:16 +00:00
x="105.00178"
y="98.222313"
style="font-size:3.52777791px;line-height:1;stroke-width:0.26458332"
id="tspan4414">* one entry in jump table for each glyph; each entry can write</tspan><tspan
sodipodi:role="line"
2018-07-24 06:29:16 +00:00
x="105.00178"
y="101.75009"
style="font-size:3.52777791px;line-height:1;stroke-width:0.26458332"
id="tspan4428">glyph to any column or row</tspan><tspan
sodipodi:role="line"
2018-07-24 06:29:16 +00:00
x="105.00178"
y="105.27787"
style="font-size:3.52777791px;line-height:1;stroke-width:0.26458332"
id="tspan4416" /><tspan
sodipodi:role="line"
2018-07-24 06:29:16 +00:00
x="105.00178"
y="108.80564"
style="font-size:3.52777791px;line-height:1;stroke-width:0.26458332"
id="tspan5581">* immediate mode data for each scan line of glyph</tspan><tspan
sodipodi:role="line"
2018-07-24 06:29:16 +00:00
x="105.00178"
y="112.33342"
style="font-size:3.52777791px;line-height:1;stroke-width:0.26458332"
id="tspan3867" /><tspan
sodipodi:role="line"
2018-07-24 06:29:16 +00:00
x="105.00178"
y="115.8612"
style="font-size:3.52777791px;line-height:1;stroke-width:0.26458332"
id="tspan3871">* indirect indexed addressing to store on screen, must increment</tspan><tspan
sodipodi:role="line"
2018-07-24 06:29:16 +00:00
x="105.00178"
y="119.38898"
style="font-size:3.52777791px;line-height:1;stroke-width:0.26458332"
id="tspan3875">address by $400 to move to next scan line</tspan><tspan
sodipodi:role="line"
2018-07-24 06:29:16 +00:00
x="105.00178"
y="122.91676"
style="font-size:3.52777791px;line-height:1;stroke-width:0.26458332"
id="tspan3933" /><tspan
sodipodi:role="line"
2018-07-24 06:29:16 +00:00
x="105.00178"
y="126.44453"
style="font-size:3.52777791px;line-height:1;stroke-width:0.26458332"
id="tspan3935">* requires tool to generate code</tspan><tspan
sodipodi:role="line"
2018-07-24 06:29:16 +00:00
x="105.00178"
y="129.97232"
style="font-size:3.52777791px;line-height:1;stroke-width:0.26458332"
id="tspan4393" /><tspan
sodipodi:role="line"
2018-07-24 06:29:16 +00:00
x="105.00178"
y="133.50009"
style="font-size:3.52777791px;line-height:1;stroke-width:0.26458332"
id="tspan3939">* each font requires separate jump table and glyph definitions</tspan><tspan
sodipodi:role="line"
2018-07-24 06:29:16 +00:00
x="105.00178"
y="137.02788"
style="font-size:3.52777791px;line-height:1;stroke-width:0.26458332"
id="tspan4490" /><tspan
sodipodi:role="line"
2018-07-24 06:29:16 +00:00
x="105.00178"
y="140.55565"
style="font-size:3.52777791px;line-height:1;stroke-width:0.26458332"
id="tspan4492">* can write to either hi-res page</tspan><tspan
sodipodi:role="line"
2018-07-24 06:29:16 +00:00
x="105.00178"
y="144.08344"
style="font-size:3.52777791px;line-height:1;stroke-width:0.26458332"
id="tspan3929" /><tspan
sodipodi:role="line"
2018-07-24 06:29:16 +00:00
x="105.00178"
y="147.61121"
style="font-size:3.52777791px;line-height:1;stroke-width:0.26458332"
id="tspan3931" /></text>
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:3.52777791px;line-height:1;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
x="83.500427"
y="32.487064"
id="text3889"><tspan
sodipodi:role="line"
x="83.500427"
y="32.487064"
style="font-size:3.52777791px;stroke-width:0.26458332"
2018-07-24 06:29:16 +00:00
id="tspan3891">* indexed addressing to read glyph; address set using self-modifying code</tspan><tspan
sodipodi:role="line"
x="83.500427"
y="36.014843"
style="font-size:3.52777791px;stroke-width:0.26458332"
2018-07-24 06:29:16 +00:00
id="tspan4876" /><tspan
sodipodi:role="line"
x="83.500427"
y="39.542622"
style="font-size:3.52777791px;stroke-width:0.26458332"
id="tspan3897">* indirect indexed addressing to write to screen; must increment by $400</tspan><tspan
sodipodi:role="line"
x="83.500427"
2018-07-24 06:29:16 +00:00
y="43.070396"
style="font-size:3.52777791px;stroke-width:0.26458332"
id="tspan4484">each line</tspan><tspan
sodipodi:role="line"
x="83.500427"
2018-07-24 06:29:16 +00:00
y="46.598175"
style="font-size:3.52777791px;stroke-width:0.26458332"
id="tspan3941" /><tspan
sodipodi:role="line"
x="83.500427"
2018-07-24 06:29:16 +00:00
y="50.125954"
style="font-size:3.52777791px;stroke-width:0.26458332"
id="tspan3943">* works with any font in memory</tspan><tspan
sodipodi:role="line"
x="83.500427"
2018-07-24 06:29:16 +00:00
y="53.653732"
style="font-size:3.52777791px;stroke-width:0.26458332"
id="tspan4486" /><tspan
sodipodi:role="line"
x="83.500427"
2018-07-24 06:29:16 +00:00
y="57.181511"
style="font-size:3.52777791px;stroke-width:0.26458332"
id="tspan4488">* can write to either hi-res page</tspan></text>
<path
style="fill:none;stroke:#fa0e0a;stroke-width:0.46730128;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
2018-07-24 06:29:16 +00:00
d="M 36.146869,92.808467 68.86636,90.976491"
id="path3956"
inkscape:connector-curvature="0" />
<path
style="fill:#0a94fa;fill-opacity:1;stroke:#0a94fa;stroke-width:0.47565567;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker5429)"
2018-07-24 06:29:16 +00:00
d="M 36.150168,95.256263 68.800915,108.07319"
id="path3958"
inkscape:connector-curvature="0" />
<path
style="fill:none;stroke:#1cfd08;stroke-width:0.48592278;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker5475)"
2018-07-24 06:29:16 +00:00
d="M 36.1486,98.018417 69.128057,124.43157"
id="path3960"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<rect
style="fill:none;stroke-width:0.26458332"
id="rect3962"
width="22.061142"
height="2.2475212"
2018-07-24 06:29:16 +00:00
x="15.093917"
y="91.439079" />
<rect
style="fill:none;fill-opacity:1;stroke:#fa0e0a;stroke-width:0.43276417;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect4775"
width="21.069557"
height="2.3023968"
2018-07-24 06:29:16 +00:00
x="15.071065"
y="91.608154" />
<rect
style="fill:none;fill-opacity:1;stroke:#0a94fa;stroke-width:0.41960299;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect4775-5"
width="21.074093"
height="2.1370215"
2018-07-24 06:29:16 +00:00
x="15.080609"
y="94.35421" />
<rect
style="fill:none;fill-opacity:1;stroke:#1efa0a;stroke-width:0.43900001;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect4775-6"
width="21.084538"
height="2.3243451"
2018-07-24 06:29:16 +00:00
x="15.075387"
y="96.925323" />
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:5.64444447px;line-height:1;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
x="52.90155"
y="151.69447"
2018-07-24 06:29:16 +00:00
id="text5540"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90"><tspan
sodipodi:role="line"
id="tspan5538"
x="52.90155"
y="151.69447"
style="font-size:5.64444447px;stroke-width:0.26458332">Transposed font rendering: glyph bytes reordered</tspan></text>
<image
y="146.75719"
x="6.1260886"
id="image3775-2"
xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIwAAAIRCAIAAAAXxcLdAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAA B3RJTUUH4gcWDwgXEFyMiAAAAB1pVFh0Q29tbWVudAAAAAAAQ3JlYXRlZCB3aXRoIEdJTVBkLmUH AAAau0lEQVR42u2de1xU1drH194zMAKKwBEQFRgug1wEQi4GJGrqm5qHNLuZ+YodLaNjWgqVHrTU zjGvWZLmMbxS6hHxVppoGaEoQxqaAjIDG9RITFQEBZmZ/f6BcPTNreB+qAF/3z/3Z7mU9XWv9bD4 8QyXmpoaHR3N/hDUanVzhomiyMBt8FgCSAKQBEkAkgAkQRKAJABJkAQgCZKAWaL8A/6OZt6rthIc x5nt6jfzKvmPkCQIgjnYwnYH/gBJdcU7Z4/uF+zrG9T3uZlpRbUND09vnvlybExogI8mIPx/xs7e WlAj3ms8aE1J9SeWx09ff6TC2sOz4yXtF+/ELztex5h44/TetKOXHUMGDnvcR1mate7t8XMOVkuP B60pqf7YtrSielXkjG1f7U5P6mtl0Kdv1d5knE30zD3ZB9NWf/zRZ/9Z/0YvpbHiaHaRQXI8Y4yx m2X7Fkwc9mivnn6PRP914oL95SYsMoUkU8Xp0xeNCnVEuCPPd4mI1ChMlwryy03MwsXbw1bRMNBQ X884hZOLIy89nrHqQx+Mi1+xv7DWOaRPoGNV7q6sMkgiKcFNlyuviIzrzLITosfXTxhjyzPxSuUV E3NvPLHqi7/81/ozrPuzk0Z055lRarzb1Yy1WwWjTfR729eOUyuZ6YpQZkJpQlrdWXUPiooK7mH9 /4YYy/fO+NvcLFP4tE9nPW7P3WO8sbRQVydaBA8d4q5kjDHeTq12gCQSSby9gx3HxKs33MYuXPyy Z12ViXF2DnY8Y4yZLn0/d/ybaZVBb3z+70lBNg1/5h7jzf3bx7Yrycnfz1FhFHK0F02miznZRUbe oaefC8/EK0cXvvz6hl/83/g8ZUqobePSS45XuGm8VVx93p59Zw2MMWaqEoRKnEnySU1NFYQzO//u a8FxHbr6+rpYcZzS69W0QkHQpU1wUzBO6eDu69dAQN+EHTpBarwglJzc8JK7kuOU9pqoQQMf9eni HrdZJzTR/MsSQsx58Zv5JTTsUZZBkz9dNLaP0/WS4msOoaPnfzo1VMWYeLPupshEQ2VpQf4tzpTX iJLjGeM69U1a98mrj3tbnM85eOiMGDAk2g1nkmy4tptgfXiOPvw/hyQASZAEIAlAEiQBSAKQBEkA kiAJmCftP8HaTGh/qEF7+YsEK7Y7QCkJCVazl4QEq/lLokuwipdzU6aN6hvcU+MfNnjc3J16vGJE ksgSrEZh/evj56UXKAOHxA5wr85OeStu3g/VWGQSSbclUiOnZBqbEqlNNCZYR04a0Z2XHG84tWV9 TrVVv9lbNixbnLwpOU7Nzu3Y/H0NVpmwBLfqHhQVZehhnXnnkKYEa8LdEqy3jb9eVHjOINZ9lxju kdg0/7mzFUbmocBKy5R0RyKV06/YfdcEa8rdE6y3jRcZExnfOfipF6K6NlaNvHOwLcp8CklO/n6O Cq2Qo71o8uHummBN+X2C9ffjbby8uyu+LVcFjJ42Qa1kjIk1wonznR0QOpYLZYJVf2BWREeOUzr4 xgyPHdY/zMNe5Ttlj66VEqzk10JmG5slTbAqvOJWrpv1XJhdhXbvnoN551X+w5+OdMZ5JBckWHF3 ByAJkgAkAUiCJABJAJIgCUASJAFIAg8IEqyQxBhDghXb3cMkqWUJVqMu7R9/G9EvWOOh9op+P8fw 3/mQbG01SS1NsBrLsnd/X1RnbaO48+duSLa2nqSWJliZRfj0r4/lZX4wqOOdju7RmxXIk9TSBCtj XKeu3Wx/V3PcozcrkC2phQlWKe4/D5Bd3bW0B6sUEvMAOZJa2oNVcq779GYFciS1sAer5FxS8wCZ PEiCtfjI0lFBfn6+rnYKjrNwUPv6+QWPXZVXItmbtQ0kWM3/WsgyaPKni6pmLN5+vNjUJXT0mx9M DVUxVt+QYDVWlhZU3npXnENrRMbYzUul+fn59Q1HVqVQUMksnS4bpeYBMkGCtWV/aXOXlfTfhgOj jZXgAJIAJEESgCQASZAEIAlAEiQBSHpoQIIVkhhjSLBiu3uYJJEkWO/RsxXIlkSTYJUeD+RLIkqw So8HsiVRJVilxwP5kogSrA8+HjS7uiNKsLY48QqaIYkqwfog40FzJRElWFs8HjQTwgRrkWTPVvRg JbgWokmwip2kxgNZtOEE68NZ3QFIApAESQCSACRBEoAkAEmQBCAJkoD50P4TrO3gs7CQYMV2Bygl UfVgZYwxJlbueyvSS63uOXE7Pq6ZTBJVD9YGRVcOLpizo9yIxSWVRNWDlTHGxOrDS95PMwSHuiqx uoSSyBKsjLEa7UezN9U++Y+Efp2xuKSSyBKsN35KnrXxysB33h3SBRVJ61R3chOshoLPZ62piE5M inVG5I5aElWCtV53qvBG5YHEKE+11+BFPxtYXcbUR0avR89pim9mGxKsWiFHe9Hkw901wZrSnESq wt6rd1hYQxqvtjz/1Pkbdp4hPZ1UeK3kQtqDtQl9xvReSqYa/NEpodV6sD48rVppe7CCVgE9WNtY dQcgCUASJAFIApAESQCSACRBEoAkSALmA3qw3sKcP+QKCVZsd4BSElmCtbZ49/yJT0YG9vQJCB88 9hNtLdaYSBJVglWs/GbGmCmffXvOyr9v/z5eSqHwHD6fnuhMakywJm3bOIbfHDdgRlb6Vu2bIY/Z RM/ck+3hYatgzFCUPHLowtNHs4sMA0KUFuHTvz42v0vuOxF/S79tMlNp2qpdFzr1m7dz9Ytuyobj GEtM8yaRJVhr8nJPG/juNnmJ/Xv5+PZ+4tUV2iuwRCSJKMFqunzxkkE0nPp61y/dInq73Cz6ZtHU RVnXsciU1Z3sHqyiaGKMU/VJ/HJTypdb5wzsaLqQlZmPntMUkqgSrJytnS3HOFtPLyeecZ29vJ0V 4rWqamx4JJKIerBynTS+3ZVilV5fYWLiVZ3ugpF3cnZEgFU2pAlW3VdT/Sw5zto1rF+ER0eeUwVO 24serETXQlQJVmVA/IolVUlLt+cezlP1iBo/fd6rvvhdMtm0/x6s7SDoirs7SAKQBEkAkgAkQRKA JABJkAQgCZKAedKGE6y0N6dIsAqtagvbHTAfSUQJVtNvh5Pjhz8aoPH2Cx00du7ukjosMZUkogSr WLk7KX7xnhJLv5j+gZ3KD6VMT9xYikZqNJKoerAadcdPXOO945I3fb76ixUTfBT1v5y/AEkkhcOt BKtXRLgjz3MRkRpF5umC/HLTY+4u3h6NA3+XYGXsdzFv3lXj2cF4aO3kF89oeF223j7qnWeCkXEg eZPIerDyLs/NX/CM2liak5FxRKhzDIgK6maJNSat7uQnWCuzVi79um7Qwoy8E98ufVLxw6I3lxzB 776QSKJKsIoVe1ZvKbaKef4pTWdbz+GjH3div+ZqS9GskEQSUYJVrL1+3SRe0+t+NTJmvFCou2ri rKytkGCVDWWCVbdrck8LjrNwCozpF+RsyXEdgt/ep0eCleZaiCjBqgz8+4ol19/7eIf28CFm5zVg 0rT3J/go8CLIBT1Y21h1ByAJQBIkAUgCkARJAJIAJEESgCRIAuZDG06wPjz3sEiwYrsDlJLIerCC 1pJE1YMVtJ4kqgQrMxRunRE3vG9ogI/GNyRm1LQ1x6vQ7Y5GElkPVmYo+m53Pu8TM+Kl/431NZ7c Nu+t5cfrscgU1d3tCdbx9RPGNCVY3RtPrMYE67P3TrAyVcycg1l2VtUXL12rrexSNurDXK32vLG3 GmEUshLcqntQVJShh3XmnUOaEqwJ902wXj6VmjDj3weFa8Zbu5yy6spVbHgU2x1VgrU+d3nisgOl ou/TifOXLV8cF6RkzARFRJKIEqw3ysoqjJxl39fmxr/w1NAAe1
style="image-rendering:optimizeSpeed"
preserveAspectRatio="none"
height="92.217468"
2018-07-24 06:29:16 +00:00
width="24.40538"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90" />
<image
y="192.72911"
x="52.342533"
id="image5576"
xlink:href="data:image/png;base64,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
style="image-rendering:optimizeSpeed"
preserveAspectRatio="none"
height="54.23526"
2018-07-24 06:29:16 +00:00
width="42.975891"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90" />
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:3.52777791px;line-height:1;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
x="98.262032"
y="195.67509"
id="text3865-9"><tspan
sodipodi:role="line"
x="98.262032"
y="195.67509"
style="font-size:3.52777791px;line-height:1;stroke-width:0.26458332"
id="tspan5686">* jump table to find row, column in X register, glyph index in Y register</tspan><tspan
sodipodi:role="line"
x="98.262032"
y="199.20287"
style="font-size:3.52777791px;line-height:1;stroke-width:0.26458332"
id="tspan5579-2" /><tspan
sodipodi:role="line"
x="98.262032"
y="202.73065"
style="font-size:3.52777791px;line-height:1;stroke-width:0.26458332"
id="tspan5676">* one entry in jump table for each row; each entry can write any </tspan><tspan
sodipodi:role="line"
x="98.262032"
y="206.25842"
style="font-size:3.52777791px;line-height:1;stroke-width:0.26458332"
id="tspan4436">glyph to any column in <tspan
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:3.52777791px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold'"
id="tspan5680">one</tspan> row</tspan><tspan
sodipodi:role="line"
x="98.262032"
y="209.78621"
style="font-size:3.52777791px;line-height:1;stroke-width:0.26458332"
id="tspan4461" /><tspan
sodipodi:role="line"
x="98.262032"
y="213.31398"
style="font-size:3.52777791px;line-height:1;stroke-width:0.26458332"
id="tspan4441">* <tspan
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold'"
id="tspan4443">the big win</tspan>: no pointer addition or index incrementing necessary</tspan><tspan
sodipodi:role="line"
x="98.262032"
y="216.84177"
style="font-size:3.52777791px;line-height:1;stroke-width:0.26458332"
id="tspan4445">to write entire glyph</tspan><tspan
sodipodi:role="line"
x="98.262032"
y="220.36954"
style="font-size:3.52777791px;line-height:1;stroke-width:0.26458332"
id="tspan3933-0" /><tspan
sodipodi:role="line"
x="98.262032"
y="223.89732"
style="font-size:3.52777791px;line-height:1;stroke-width:0.26458332"
id="tspan4474">* requires tool to generate code and transpose font: e.g. 128 glyph font:</tspan><tspan
sodipodi:role="line"
x="98.262032"
y="227.42509"
style="font-size:3.52777791px;line-height:1;stroke-width:0.26458332"
2018-07-24 06:29:16 +00:00
id="tspan4476"> 8 rows of 128 bytes each. First row of 128 bytes contains topmost</tspan><tspan
sodipodi:role="line"
x="98.262032"
y="230.95288"
style="font-size:3.52777791px;line-height:1;stroke-width:0.26458332"
id="tspan4507">byte of each glyph, 2nd row contains row below that, etc. </tspan><tspan
sodipodi:role="line"
x="98.262032"
y="234.48065"
style="font-size:3.52777791px;line-height:1;stroke-width:0.26458332"
id="tspan3937-2" /><tspan
sodipodi:role="line"
x="98.262032"
y="238.00842"
style="font-size:3.52777791px;line-height:1;stroke-width:0.26458332"
id="tspan3939-6">* each font requires new jump table and row definition</tspan><tspan
sodipodi:role="line"
x="98.262032"
y="241.53621"
style="font-size:3.52777791px;line-height:1;stroke-width:0.26458332"
id="tspan4517" /><tspan
sodipodi:role="line"
x="98.262032"
y="245.06398"
style="font-size:3.52777791px;line-height:1;stroke-width:0.26458332"
2018-07-24 06:29:16 +00:00
id="tspan4521">* need second jump table and new entries for each row to write to</tspan><tspan
sodipodi:role="line"
x="98.262032"
y="248.59177"
style="font-size:3.52777791px;line-height:1;stroke-width:0.26458332"
2018-07-24 06:29:16 +00:00
id="tspan5064">second hi-res page.</tspan><tspan
sodipodi:role="line"
x="98.262032"
y="252.11954"
style="font-size:3.52777791px;line-height:1;stroke-width:0.26458332"
id="tspan3929-1" /><tspan
sodipodi:role="line"
x="98.262032"
y="255.64732"
style="font-size:3.52777791px;line-height:1;stroke-width:0.26458332"
id="tspan3931-8" /></text>
<image
y="149.04016"
x="32.797626"
id="image5655"
xlink:href="data:image/png;base64,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
style="fill:#782121;image-rendering:optimizeSpeed"
preserveAspectRatio="none"
2018-07-24 06:29:16 +00:00
height="90.334724"
width="9.0107517"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90" />
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:4.23333311px;line-height:100%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
x="54.77243"
y="161.37852"
id="text5660"
2018-07-24 06:29:16 +00:00
sodipodi:linespacing="100%"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90"><tspan
sodipodi:role="line"
id="tspan5658"
x="54.77243"
y="161.37852"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52777767px;line-height:100%;font-family:'Liberation Mono';-inkscape-font-specification:'Liberation Mono';stroke-width:0.26458332">TransposedFontRow0 .byte ... , $9e, $9f, $9e, $9f, $bf, ...</tspan><tspan
sodipodi:role="line"
x="54.77243"
y="164.9063"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52777767px;line-height:100%;font-family:'Liberation Mono';-inkscape-font-specification:'Liberation Mono';stroke-width:0.26458332"
id="tspan5662">TransposedFontRow1 .byte ... , $bf, $bf, $bf, $bf, $bf, ...</tspan><tspan
sodipodi:role="line"
x="54.77243"
y="168.43408"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52777767px;line-height:100%;font-family:'Liberation Mono';-inkscape-font-specification:'Liberation Mono';stroke-width:0.26458332"
id="tspan5664">TransposedFontRow2 .byte ... , $b3, $b3, $b3, $b3, $83, ...</tspan><tspan
sodipodi:role="line"
x="54.77243"
y="171.96185"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52777767px;line-height:100%;font-family:'Liberation Mono';-inkscape-font-specification:'Liberation Mono';stroke-width:0.26458332"
id="tspan5666">TransposedFontRow3 .byte ... , $bf, $9f, $83, $b3, $9f, ...</tspan><tspan
sodipodi:role="line"
x="54.77243"
y="175.48964"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52777767px;line-height:100%;font-family:'Liberation Mono';-inkscape-font-specification:'Liberation Mono';stroke-width:0.26458332"
id="tspan5668">TransposedFontRow4 .byte ... , $bf, $b3, $b3, $b3, $83, ...</tspan><tspan
sodipodi:role="line"
x="54.77243"
y="179.01741"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52777767px;line-height:100%;font-family:'Liberation Mono';-inkscape-font-specification:'Liberation Mono';stroke-width:0.26458332"
id="tspan5670">TransposedFontRow5 .byte ... , $b3, $bf, $bf, $bf, $bf, ...</tspan><tspan
sodipodi:role="line"
x="54.77243"
y="182.5452"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52777767px;line-height:100%;font-family:'Liberation Mono';-inkscape-font-specification:'Liberation Mono';stroke-width:0.26458332"
id="tspan5672">TransposedFontRow6 .byte ... , $b3, $9f, $9e, $9f, $bf, ...</tspan><tspan
sodipodi:role="line"
x="54.77243"
y="186.07297"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52777767px;line-height:100%;font-family:'Liberation Mono';-inkscape-font-specification:'Liberation Mono';stroke-width:0.26458332"
id="tspan5674">TransposedFontRow7 .byte ... , $80, $80, $80, $80, $80, ...</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:4.23333311px;line-height:1;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
x="151.54181"
y="164.70157"
id="text5697"><tspan
sodipodi:role="line"
id="tspan5695"
x="151.54181"
y="167.91791"
style="stroke-width:0.26458332" /></text>
<rect
style="fill:none;fill-opacity:1;stroke:#fa0e0a;stroke-width:0.44400001;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect5701"
width="9.2208061"
height="31.571693"
x="123.72797"
y="156.70131"
ry="3.0735984"
2018-07-24 06:29:16 +00:00
rx="3.0735984"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90" />
<path
style="fill:none;stroke:#fa0e0a;stroke-width:0.26499999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-start:url(#Arrow1Mstart)"
2018-07-24 06:29:16 +00:00
d="m 123.71265,157.75939 c -6.73034,-1.08775 -13.46066,-2.17549 -22.14197,-2.77821 -8.681304,-0.60272 -19.312398,-0.72032 -27.86506,-0.57333 -8.552662,0.147 -15.025535,0.55857 -19.99018,1.59272 -4.964646,1.03416 -8.420068,2.69086 -11.875929,4.34776"
id="path5705"
inkscape:connector-curvature="0"
inkscape:original-d="m 123.34489,163.49887 c -6.99329,-1.64843 -13.98664,-3.29654 -20.98066,-4.94449 -11.047197,-0.17845 -22.093759,-0.35662 -33.141419,-0.53454 -6.726174,0.62338 -13.45201,1.24697 -20.17885,1.87089 -3.590508,2.51011 -7.180969,5.02027 -10.77185,7.5308"
2018-07-24 06:29:16 +00:00
sodipodi:nodetypes="ccccc"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90" />
<rect
style="fill:none;fill-opacity:1;stroke:#fa0e0a;stroke-width:0.44400001;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect5709"
width="3.7417722"
height="19.377037"
x="38.283298"
y="148.06242"
ry="1.4699824"
2018-07-24 06:29:16 +00:00
rx="1.4699824"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90" />
<rect
style="fill:none;fill-opacity:1;stroke:#fa0e0a;stroke-width:0.44400001;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect5709-7"
width="3.7417722"
height="19.377037"
x="38.283298"
2018-07-24 06:29:16 +00:00
y="202.69809"
ry="1.4699824"
2018-07-24 06:29:16 +00:00
rx="1.4699824"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90" />
<rect
style="fill:none;fill-opacity:1;stroke:#fa0e0a;stroke-width:0.44400001;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect5701-4"
width="9.2208061"
height="32.176456"
x="155.46623"
y="156.30042"
ry="3.0735984"
2018-07-24 06:29:16 +00:00
rx="3.0735984"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90" />
<path
style="fill:none;stroke:#fa0e0a;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker5873)"
2018-07-24 06:29:16 +00:00
d="m 42.060142,203.96712 c 1.473553,-4.99606 2.94705,-9.99194 8.793579,-12.5317 5.846529,-2.53977 16.065898,-2.62361 33.568885,-2.38605 17.502984,0.23758 42.291134,0.79659 55.421044,0.6197 13.12989,-0.17689 14.6023,-1.0895 16.07444,-2.00196"
id="path5861"
inkscape:connector-curvature="0"
inkscape:original-d="m 39.571403,223.33286 c 1.509622,-7.96234 3.018977,-15.92442 4.528069,-23.88624 10.468313,-0.1339 20.936378,-0.26753 31.404168,-0.4009 25.39009,0.8906 50.78148,1.78153 76.17182,2.67269 1.5085,-1.45473 3.01673,-2.9092 4.5247,-4.36339"
2018-07-24 06:29:16 +00:00
sodipodi:nodetypes="ccccc"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90" />
<text
xml:space="preserve"
2018-07-24 06:29:16 +00:00
style="font-style:normal;font-weight:normal;font-size:7.76111126px;line-height:1;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
x="16.326876"
y="259.68747"
id="text5540-8"><tspan
sodipodi:role="line"
2018-07-24 06:29:16 +00:00
x="16.326876"
y="259.68747"
style="font-size:7.76111126px;stroke-width:0.26458332"
2018-07-23 20:15:10 +00:00
id="tspan4308">Speed comparison:</tspan></text>
<rect
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#f5ff00;fill-opacity:0.20388351;fill-rule:nonzero;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
id="rect4523"
width="79.285835"
2018-07-24 06:29:16 +00:00
height="30.678297"
2018-07-23 20:15:10 +00:00
x="4.5298781"
2018-07-24 06:29:16 +00:00
y="263.18567"
2018-07-23 20:15:10 +00:00
ry="1.4699826"
rx="1.4699827" />
<text
xml:space="preserve"
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.38666654px;line-height:125%;font-family:FreeSans;-inkscape-font-specification:FreeSans;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;baseline-shift:baseline;text-anchor:start;display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.28222221px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
x="10.26315"
y="265.92545"
id="text4527"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan4529"
x="10.26315"
y="265.92545"
style="stroke-width:0.28222221px" /></text>
<text
xml:space="preserve"
2018-07-24 06:29:16 +00:00
style="font-style:normal;font-weight:normal;font-size:4.23333359px;line-height:1;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
x="6.5116229"
y="268.88205"
2018-07-23 20:15:10 +00:00
id="text3865-7"><tspan
sodipodi:role="line"
2018-07-24 06:29:16 +00:00
x="6.5116229"
y="268.88205"
style="font-size:4.23333359px;line-height:1;stroke-width:0.26458332"
id="tspan4689">Code generator now available! See:</tspan><tspan
2018-07-23 20:15:10 +00:00
sodipodi:role="line"
2018-07-24 06:29:16 +00:00
x="6.5116229"
y="273.11539"
style="font-size:4.23333359px;line-height:1;stroke-width:0.26458332"
id="tspan4699" /><tspan
2018-07-23 20:15:10 +00:00
sodipodi:role="line"
2018-07-24 06:29:16 +00:00
x="6.5116229"
y="277.34872"
style="font-size:4.23333359px;line-height:1;stroke-width:0.26458332"
2018-07-23 20:15:10 +00:00
id="tspan4701">https://github.com/robmcmullen/asmgen</tspan><tspan
sodipodi:role="line"
2018-07-24 06:29:16 +00:00
x="6.5116229"
y="281.58206"
style="font-size:4.23333359px;line-height:1;stroke-width:0.26458332"
id="tspan4693"></tspan><tspan
sodipodi:role="line"
x="6.5116229"
y="285.81537"
style="font-size:4.23333359px;line-height:1;stroke-width:0.26458332"
id="tspan5070">Requires Python 3.6 to generate code;</tspan><tspan
2018-07-23 20:15:10 +00:00
sodipodi:role="line"
2018-07-24 06:29:16 +00:00
x="6.5116229"
y="290.04871"
style="font-size:4.23333359px;line-height:1;stroke-width:0.26458332"
id="tspan5066">target assembler is configurable.</tspan><tspan
2018-07-23 20:15:10 +00:00
sodipodi:role="line"
2018-07-24 06:29:16 +00:00
x="6.5116229"
y="294.28204"
style="font-size:4.23333359px;line-height:1;stroke-width:0.26458332"
2018-07-23 20:15:10 +00:00
id="tspan4681" /><tspan
sodipodi:role="line"
2018-07-24 06:29:16 +00:00
x="6.5116229"
y="298.51538"
style="font-size:4.23333359px;line-height:1;stroke-width:0.26458332"
2018-07-23 20:15:10 +00:00
id="tspan4683" /><tspan
sodipodi:role="line"
2018-07-24 06:29:16 +00:00
x="6.5116229"
y="302.74872"
style="font-size:4.23333359px;line-height:1;stroke-width:0.26458332"
2018-07-23 20:15:10 +00:00
id="tspan4492-4" /><tspan
sodipodi:role="line"
2018-07-24 06:29:16 +00:00
x="6.5116229"
y="306.98206"
style="font-size:4.23333359px;line-height:1;stroke-width:0.26458332"
2018-07-23 20:15:10 +00:00
id="tspan3929-0" /><tspan
sodipodi:role="line"
2018-07-24 06:29:16 +00:00
x="6.5116229"
y="311.21539"
style="font-size:4.23333359px;line-height:1;stroke-width:0.26458332"
2018-07-23 20:15:10 +00:00
id="tspan3931-3" /></text>
2018-07-24 06:29:16 +00:00
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:3.52777791px;line-height:1;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
x="93.290054"
y="290.80872"
id="text3865-7-9"
onclick="http://www.softalkapple.com/blogs/assembly-lines-complete-book"><tspan
sodipodi:role="line"
x="93.290054"
y="290.80872"
style="font-size:3.52777791px;line-height:1;stroke-width:0.26458332"
id="tspan4812">* includes built-in 1024 byte font; others can use any font in memory</tspan><tspan
sodipodi:role="line"
x="93.290054"
y="294.33649"
style="font-size:3.52777791px;line-height:1;stroke-width:0.26458332"
id="tspan4492-4-0" /><tspan
sodipodi:role="line"
x="93.290054"
y="297.86426"
style="font-size:3.52777791px;line-height:1;stroke-width:0.26458332"
id="tspan3929-0-5" /><tspan
sodipodi:role="line"
x="93.290054"
y="301.39206"
style="font-size:3.52777791px;line-height:1;stroke-width:0.26458332"
id="tspan3931-3-6" /></text>
<image
2018-07-24 06:29:16 +00:00
y="254.10222"
x="88.073494"
id="image4873"
xlink:href="data:image/png;base64,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
"
preserveAspectRatio="none"
2018-07-24 06:29:16 +00:00
height="29.35111"
width="113.73556" />
</g>
</svg>