diff options
author | Loek Le Blansch <loek@pipeframe.xyz> | 2024-10-05 20:19:56 +0200 |
---|---|---|
committer | Loek Le Blansch <loek@pipeframe.xyz> | 2024-10-05 20:19:56 +0200 |
commit | 52971b9a2180ca3a54eb25ab49773e818cb8ae15 (patch) | |
tree | f6645d767661f6d953679456e3bd3348c915e5c8 | |
parent | e5381daf8cfa640494aaedaa99541eb58ec651f4 (diff) |
more debugging fiddled messages being ignored
-rw-r--r-- | .gitignore | 2 | ||||
-rw-r--r-- | assets/draw-area.svg | 3 | ||||
-rw-r--r-- | docs/figs.drawio | 159 | ||||
-rw-r--r-- | docs/notes.md | 13 | ||||
-rw-r--r-- | docs/time.txt | 1 | ||||
-rw-r--r-- | experiments/conv/makefile | 5 | ||||
-rwxr-xr-x | experiments/conv/png2pc | 7 | ||||
m--------- | melonDS | 0 |
8 files changed, 186 insertions, 4 deletions
@@ -19,3 +19,5 @@ roms/ copyright/ +# drawio +.$*.bkp diff --git a/assets/draw-area.svg b/assets/draw-area.svg new file mode 100644 index 0000000..8839997 --- /dev/null +++ b/assets/draw-area.svg @@ -0,0 +1,3 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="305px" height="160px" viewBox="-0.5 -0.5 305 160" style="background-color: rgb(255, 255, 255);"><defs/><rect fill="#ffffff" width="100%" height="100%" x="0" y="0"/><g><g data-cell-id="0"><g data-cell-id="1"><g data-cell-id="U3h8rfvwRMaaIss59gVv-44"><g><rect x="8" y="40" width="256" height="80" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/></g></g><g data-cell-id="U3h8rfvwRMaaIss59gVv-2"><g><rect x="8" y="40" width="24" height="80" fill="#000000" stroke="none" pointer-events="all"/></g></g><g data-cell-id="U3h8rfvwRMaaIss59gVv-3"><g><rect x="32" y="40" width="55" height="16" fill="#000000" stroke="none" pointer-events="all"/></g></g><g data-cell-id="U3h8rfvwRMaaIss59gVv-4"><g><rect x="260" y="40" width="4" height="80" fill="#000000" stroke="none" pointer-events="all"/></g></g><g data-cell-id="U3h8rfvwRMaaIss59gVv-8"><g><path d="M 32 56 L 87 56 L 87 40 L 260 40 L 260 120 L 32 120 Z" fill="none" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 226px; height: 1px; padding-top: 80px; margin-left: 33px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Inter; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">draw area</div></div></div></foreignObject><text x="146" y="84" fill="rgb(0, 0, 0)" font-family=""Inter"" font-size="12px" text-anchor="middle">draw area</text></switch></g></g></g><g data-cell-id="U3h8rfvwRMaaIss59gVv-13"><g><path d="M 264 20 L 264 40" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/></g></g><g data-cell-id="U3h8rfvwRMaaIss59gVv-14"><g><path d="M 260 20 L 260 40" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/></g></g><g data-cell-id="U3h8rfvwRMaaIss59gVv-15"><g><path d="M 240 30 L 253.63 30" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 258.88 30 L 251.88 33.5 L 253.63 30 L 251.88 26.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="U3h8rfvwRMaaIss59gVv-16"><g><path d="M 284 30 L 270.37 30" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 265.12 30 L 272.12 26.5 L 270.37 30 L 272.12 33.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="U3h8rfvwRMaaIss59gVv-18"><g><path d="M 32 20 L 32 40" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/></g></g><g data-cell-id="U3h8rfvwRMaaIss59gVv-19"><g><path d="M 8 20 L 8 40" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/></g></g><g data-cell-id="U3h8rfvwRMaaIss59gVv-21"><g><path d="M 25.63 30 L 14.37 30" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 30.88 30 L 23.88 33.5 L 25.63 30 L 23.88 26.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 9.12 30 L 16.12 26.5 L 14.37 30 L 16.12 33.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="U3h8rfvwRMaaIss59gVv-22"><g><rect x="8" y="0" width="24" height="20" fill="none" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 22px; height: 1px; padding-top: 10px; margin-left: 9px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Inter; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">24</div></div></div></foreignObject><text x="20" y="14" fill="rgb(0, 0, 0)" font-family=""Inter"" font-size="12px" text-anchor="middle">24</text></switch></g></g></g><g data-cell-id="U3h8rfvwRMaaIss59gVv-23"><g><path d="M 264 120 L 264 140" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/></g></g><g data-cell-id="U3h8rfvwRMaaIss59gVv-24"><g><path d="M 8 120 L 8 140" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/></g></g><g data-cell-id="U3h8rfvwRMaaIss59gVv-25"><g><path d="M 257.63 130 L 14.37 130" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 262.88 130 L 255.88 133.5 L 257.63 130 L 255.88 126.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 9.12 130 L 16.12 126.5 L 14.37 130 L 16.12 133.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="U3h8rfvwRMaaIss59gVv-27"><g><path d="M 264 40 L 284 40" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/></g></g><g data-cell-id="U3h8rfvwRMaaIss59gVv-29"><g><path d="M 274 46.37 L 274 113.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 274 41.12 L 277.5 48.12 L 274 46.37 L 270.5 48.12 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 274 118.88 L 270.5 111.88 L 274 113.63 L 277.5 111.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="U3h8rfvwRMaaIss59gVv-30"><g><rect x="284" y="40" width="20" height="80" fill="none" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 18px; height: 1px; padding-top: 80px; margin-left: 285px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Inter; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">80</div></div></div></foreignObject><text x="294" y="84" fill="rgb(0, 0, 0)" font-family=""Inter"" font-size="12px" text-anchor="middle">80</text></switch></g></g></g><g data-cell-id="U3h8rfvwRMaaIss59gVv-31"><g><path d="M 264 119.67 L 284 119.67" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/></g></g><g data-cell-id="U3h8rfvwRMaaIss59gVv-32"><g><path d="M 87 20 L 87 40" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/></g></g><g data-cell-id="U3h8rfvwRMaaIss59gVv-33"><g><path d="M 80.63 30 L 38.37 30" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 85.88 30 L 78.88 33.5 L 80.63 30 L 78.88 26.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 33.12 30 L 40.12 26.5 L 38.37 30 L 40.12 33.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="U3h8rfvwRMaaIss59gVv-34"><g><rect x="32" y="0" width="55" height="20" fill="none" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 53px; height: 1px; padding-top: 10px; margin-left: 33px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Inter; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">55</div></div></div></foreignObject><text x="60" y="14" fill="rgb(0, 0, 0)" font-family=""Inter"" font-size="12px" text-anchor="middle">55</text></switch></g></g></g><g data-cell-id="U3h8rfvwRMaaIss59gVv-35"><g><path d="M 87 40 L 107 40" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/></g></g><g data-cell-id="U3h8rfvwRMaaIss59gVv-38"><g><path d="M 87 56 L 107 56" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/></g></g><g data-cell-id="U3h8rfvwRMaaIss59gVv-40"><g><path d="M 97 76 L 97 62.37" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 97 57.12 L 100.5 64.12 L 97 62.37 L 93.5 64.12 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="U3h8rfvwRMaaIss59gVv-41"><g><path d="M 97 20 L 97 33.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 97 38.88 L 93.5 31.88 L 97 33.63 L 100.5 31.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="U3h8rfvwRMaaIss59gVv-42"><g><rect x="87" y="0" width="20" height="20" fill="none" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 18px; height: 1px; padding-top: 10px; margin-left: 88px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Inter; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">16</div></div></div></foreignObject><text x="97" y="14" fill="rgb(0, 0, 0)" font-family=""Inter"" font-size="12px" text-anchor="middle">16</text></switch></g></g></g><g data-cell-id="U3h8rfvwRMaaIss59gVv-43"><g><rect x="252" y="0" width="20" height="20" fill="none" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 18px; height: 1px; padding-top: 10px; margin-left: 253px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Inter; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">4</div></div></div></foreignObject><text x="262" y="14" fill="rgb(0, 0, 0)" font-family=""Inter"" font-size="12px" text-anchor="middle">4</text></switch></g></g></g><g data-cell-id="U3h8rfvwRMaaIss59gVv-45"><g><rect x="8" y="140" width="256" height="20" fill="none" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 254px; height: 1px; padding-top: 150px; margin-left: 9px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Inter; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">256</div></div></div></foreignObject><text x="136" y="154" fill="rgb(0, 0, 0)" font-family=""Inter"" font-size="12px" text-anchor="middle">256</text></switch></g></g></g></g></g></g></svg>
\ No newline at end of file diff --git a/docs/figs.drawio b/docs/figs.drawio new file mode 100644 index 0000000..5bb64a2 --- /dev/null +++ b/docs/figs.drawio @@ -0,0 +1,159 @@ +<mxfile host="Electron" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/24.7.5 Chrome/126.0.6478.183 Electron/31.3.0 Safari/537.36" version="24.7.5"> + <diagram name="draw-area" id="ag9XaxWigHyrzHp_qmMW"> + <mxGraphModel dx="1416" dy="1447" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="850" pageHeight="1100" math="0" shadow="0"> + <root> + <mxCell id="0" /> + <mxCell id="1" parent="0" /> + <mxCell id="U3h8rfvwRMaaIss59gVv-44" value="" style="rounded=0;whiteSpace=wrap;html=1;fontFamily=Inter;" vertex="1" parent="1"> + <mxGeometry width="256" height="80" as="geometry" /> + </mxCell> + <mxCell id="U3h8rfvwRMaaIss59gVv-2" value="" style="rounded=0;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillStyle=auto;fillColor=#000000;strokeColor=none;fontFamily=Inter;" vertex="1" parent="1"> + <mxGeometry width="24" height="80" as="geometry" /> + </mxCell> + <mxCell id="U3h8rfvwRMaaIss59gVv-3" value="" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=none;fillColor=#000000;fontFamily=Inter;" vertex="1" parent="1"> + <mxGeometry x="24" width="55" height="16" as="geometry" /> + </mxCell> + <mxCell id="U3h8rfvwRMaaIss59gVv-4" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#000000;strokeColor=none;fontFamily=Inter;" vertex="1" parent="1"> + <mxGeometry x="252" width="4" height="80" as="geometry" /> + </mxCell> + <object label="draw area" placeholders="1" id="U3h8rfvwRMaaIss59gVv-8"> + <mxCell style="shape=stencil(rVLhDoIgGHwa/hOs5t9G9R6kn8kkcUBpbx/waas53XJujO3uPu4YHOHCVbIFwmhF+IkwltGwBdghDARi6VrIPZKl6qFA2nlrauhU4YfzqqnAKh9Vfib0GGbi4uIq8/pmzaMpfoRRbmV0mAijfDfPeMkeQ4Y7vhDtDggJuyw4aNV8Oez3W1vQ/x0+j7udRbbCg65wyLVxMDvFReAnP5rYmRpwURoLC/0oldZYtoXU2YEUPUlILPY/EW8=);whiteSpace=wrap;html=1;strokeColor=none;fillColor=none;fillStyle=cross-hatch;gradientColor=none;labelBackgroundColor=none;spacing=2;spacingTop=0;fontFamily=Inter;" vertex="1" parent="1"> + <mxGeometry x="24" width="228" height="80" as="geometry" /> + </mxCell> + </object> + <mxCell id="U3h8rfvwRMaaIss59gVv-13" value="" style="endArrow=none;html=1;rounded=0;entryX=1;entryY=0;entryDx=0;entryDy=0;fontFamily=Inter;" edge="1" parent="1" target="U3h8rfvwRMaaIss59gVv-4"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint x="256" y="-20" as="sourcePoint" /> + <mxPoint x="240" as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="U3h8rfvwRMaaIss59gVv-14" value="" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=0;entryDx=0;entryDy=0;fontFamily=Inter;" edge="1" parent="1" target="U3h8rfvwRMaaIss59gVv-4"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint x="252" y="-20" as="sourcePoint" /> + <mxPoint x="252" as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="U3h8rfvwRMaaIss59gVv-15" value="" style="endArrow=classic;html=1;rounded=0;fontFamily=Inter;" edge="1" parent="1"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint x="232" y="-10" as="sourcePoint" /> + <mxPoint x="252" y="-10" as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="U3h8rfvwRMaaIss59gVv-16" value="" style="endArrow=classic;html=1;rounded=0;fontFamily=Inter;" edge="1" parent="1"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint x="276" y="-10" as="sourcePoint" /> + <mxPoint x="256" y="-10" as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="U3h8rfvwRMaaIss59gVv-18" value="" style="endArrow=none;html=1;rounded=0;entryX=1;entryY=0;entryDx=0;entryDy=0;fontFamily=Inter;" edge="1" parent="1"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint x="24" y="-20" as="sourcePoint" /> + <mxPoint x="24" as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="U3h8rfvwRMaaIss59gVv-19" value="" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=0;entryDx=0;entryDy=0;fontFamily=Inter;" edge="1" parent="1"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint y="-20" as="sourcePoint" /> + <mxPoint as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="U3h8rfvwRMaaIss59gVv-21" value="" style="endArrow=classic;html=1;rounded=0;startArrow=classic;startFill=1;fontFamily=Inter;" edge="1" parent="1"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint x="24" y="-10" as="sourcePoint" /> + <mxPoint y="-10" as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="U3h8rfvwRMaaIss59gVv-22" value="24" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontFamily=Inter;" vertex="1" parent="1"> + <mxGeometry y="-40" width="24" height="20" as="geometry" /> + </mxCell> + <mxCell id="U3h8rfvwRMaaIss59gVv-23" value="" style="endArrow=none;html=1;rounded=0;entryX=1;entryY=0;entryDx=0;entryDy=0;fontFamily=Inter;" edge="1" parent="1"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint x="256" y="80" as="sourcePoint" /> + <mxPoint x="256" y="100" as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="U3h8rfvwRMaaIss59gVv-24" value="" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=0;entryDx=0;entryDy=0;fontFamily=Inter;" edge="1" parent="1"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint y="80" as="sourcePoint" /> + <mxPoint y="100" as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="U3h8rfvwRMaaIss59gVv-25" value="" style="endArrow=classic;html=1;rounded=0;startArrow=classic;startFill=1;fontFamily=Inter;" edge="1" parent="1"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint x="256" y="90" as="sourcePoint" /> + <mxPoint y="90" as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="U3h8rfvwRMaaIss59gVv-27" value="" style="endArrow=none;html=1;rounded=0;fontFamily=Inter;" edge="1" parent="1"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint x="256" as="sourcePoint" /> + <mxPoint x="276" as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="U3h8rfvwRMaaIss59gVv-29" value="" style="endArrow=classic;html=1;rounded=0;startArrow=classic;startFill=1;fontFamily=Inter;" edge="1" parent="1"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint x="266" as="sourcePoint" /> + <mxPoint x="266" y="80" as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="U3h8rfvwRMaaIss59gVv-30" value="80" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontFamily=Inter;" vertex="1" parent="1"> + <mxGeometry x="276" width="20" height="80" as="geometry" /> + </mxCell> + <mxCell id="U3h8rfvwRMaaIss59gVv-31" value="" style="endArrow=none;html=1;rounded=0;fontFamily=Inter;" edge="1" parent="1"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint x="256" y="79.67000000000002" as="sourcePoint" /> + <mxPoint x="276" y="79.67000000000002" as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="U3h8rfvwRMaaIss59gVv-32" value="" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=0;entryDx=0;entryDy=0;fontFamily=Inter;" edge="1" parent="1"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint x="79" y="-20" as="sourcePoint" /> + <mxPoint x="79" as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="U3h8rfvwRMaaIss59gVv-33" value="" style="endArrow=classic;html=1;rounded=0;startArrow=classic;startFill=1;fontFamily=Inter;" edge="1" parent="1"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint x="79" y="-10" as="sourcePoint" /> + <mxPoint x="24" y="-10" as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="U3h8rfvwRMaaIss59gVv-34" value="55" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontFamily=Inter;" vertex="1" parent="1"> + <mxGeometry x="24" y="-40" width="55" height="20" as="geometry" /> + </mxCell> + <mxCell id="U3h8rfvwRMaaIss59gVv-35" value="" style="endArrow=none;html=1;rounded=0;fontFamily=Inter;" edge="1" parent="1"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint x="79" as="sourcePoint" /> + <mxPoint x="99" as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="U3h8rfvwRMaaIss59gVv-38" value="" style="endArrow=none;html=1;rounded=0;fontFamily=Inter;" edge="1" parent="1"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint x="79" y="16.000000000000014" as="sourcePoint" /> + <mxPoint x="99" y="16.000000000000014" as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="U3h8rfvwRMaaIss59gVv-40" value="" style="endArrow=classic;html=1;rounded=0;fontFamily=Inter;" edge="1" parent="1"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint x="89" y="36" as="sourcePoint" /> + <mxPoint x="89" y="16" as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="U3h8rfvwRMaaIss59gVv-41" value="" style="endArrow=classic;html=1;rounded=0;fontFamily=Inter;" edge="1" parent="1"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint x="89" y="-20" as="sourcePoint" /> + <mxPoint x="89" as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="U3h8rfvwRMaaIss59gVv-42" value="16" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontFamily=Inter;" vertex="1" parent="1"> + <mxGeometry x="79" y="-40" width="20" height="20" as="geometry" /> + </mxCell> + <mxCell id="U3h8rfvwRMaaIss59gVv-43" value="4" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontFamily=Inter;" vertex="1" parent="1"> + <mxGeometry x="244" y="-40" width="20" height="20" as="geometry" /> + </mxCell> + <mxCell id="U3h8rfvwRMaaIss59gVv-45" value="256" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontFamily=Inter;" vertex="1" parent="1"> + <mxGeometry y="100" width="256" height="20" as="geometry" /> + </mxCell> + </root> + </mxGraphModel> + </diagram> +</mxfile> diff --git a/docs/notes.md b/docs/notes.md index acc9067..fc7c43c 100644 --- a/docs/notes.md +++ b/docs/notes.md @@ -142,8 +142,17 @@ source: <https://git.pipeframe.xyz/fork/melonDS> screen become visible again in the edit field. This includes the bottom row of pixels, as well as the two rows of pixels shown in the single line message picture. - - The **apparent** drawable area (including obstructed top-left corner) is - 228x80 pixels. + - The drawable area (including obstructed top-left corner) is 228x80 pixels, + while the entire message is actually 256x80 pixels: + + ![](../assets/draw-area.svg) + + The above figure illustrates the area which is 'drawable' (i.e. the area in + which the pen tool works). Fiddled messages that go outside this area are + received normally, but masked slightly differently when re-sent (chunk left + of username label appears to be masked). The actual image data is + unmodified even after being forwarded by normal systems (non-fiddling + systems). Observed package counts (no resends) for messages of different sizes: |draw area|display height|packet#| diff --git a/docs/time.txt b/docs/time.txt index dac4bea..5c9ec3e 100644 --- a/docs/time.txt +++ b/docs/time.txt @@ -27,3 +27,4 @@ 2024-08-31 2h35m: packet decoder 2024-09-01 1h50m: homebrew ds toolchain hello world 2024-10-04 2h10m: reverse message serialization +2024-10-05 1h50m: debugging fiddled messages being ignored diff --git a/experiments/conv/makefile b/experiments/conv/makefile index ae2f70d..2a513c0 100644 --- a/experiments/conv/makefile +++ b/experiments/conv/makefile @@ -1,5 +1,8 @@ %.png: %.bin - ./pc2png $< + venv/bin/python3 pc2png $< + +%.bin: %.png + venv/bin/python3 png2pc $< %.h: %.bin ./bin2h $< > $@ diff --git a/experiments/conv/png2pc b/experiments/conv/png2pc index d1eaab8..21b3b29 100755 --- a/experiments/conv/png2pc +++ b/experiments/conv/png2pc @@ -1,7 +1,7 @@ #!/bin/python3 import itertools import io -from PIL import Image +from PIL import Image, ImageDraw from consts import * from shared import main @@ -37,6 +37,11 @@ def png2pc(data): img = img.convert('RGB') img = img.quantize(palette=palette_img) + draw = ImageDraw.Draw(img) + draw.rectangle(((0, 0), (24, img.height)), fill=0) + draw.rectangle(((252, 0), (256, img.height)), fill=0) + draw.rectangle(((24, 0), (79, 16)), fill=0) + output = b"" for tile_idx in range(tile_count): tile = ( diff --git a/melonDS b/melonDS -Subproject e361a4510b59b1ab85e2eb98203743b2017246d +Subproject 1609ecbe1e217c48189e377060b4068de90c594 |