diff --git a/emulator/firmware-decomp/render-readout.html b/emulator/firmware-decomp/render-readout.html
index a440546..b372c9b 100644
--- a/emulator/firmware-decomp/render-readout.html
+++ b/emulator/firmware-decomp/render-readout.html
@@ -228,35 +228,38 @@
The firmware DMAs the render to the card as an opcode stream
- (DMAENGN.H). Left: a real per-region command list captured
- from the emulator. Right: where each SEND lands — bit-serial IGC micro-code, not
- plain floats, which is why final pixels need the array simulator.02 The output, decoded
# addr opcode -0x08015800 SEND(4) ; edge coeffs +0x08015000 SEND(4) ; edge coeffs 0x00000000 FLUSH -0x08015820 SENDE(0x35) ; z / colour -0x080159e0 SEND(0x18) -0x08015aa0 SEND(6) +0x08015020 SENDE(0x45) ; z / colour 0x00000000 FLUSH -0x08015ae0 SENDE(0x5c) -0x08015dc0 SEND(9) ; …binned per 64×128 tile+0x08014100 TXDN +0x08015260 SEND(0x21) +0x08015380 SEND(0x29) +0x00000020 TILE ; tile id +0x0801f008 GOTO ; → next region
# bit-serial Pixel-Planes program
+ SENDE target 0x08015020 · payload# bit-serial sweep (MEMpluseqMEM) +000 00000100 ; header -+008 46800000 ; 16384.0 scale -+01c 0610ff00 00401000 -+024 0610ff08 00401081 -+02c 0610ff10 00401102 -+034 0610ff18 00401183 - ; MEM += MEM, bit-serial - ; eval Ax+By+C across the tile++004 3a804834 ; = 9.79e-4 float ++008 8401213a ++00c 00000021 ; bit-plane 0x21 ++010 ba01253a ; = −4.93e-4 += A ++018 8381213a ++01c 00000022 ; bit-plane 0x22 … @@ -331,10 +334,13 @@ -
What this is not, yet: a decode of the compiled - bit-serial micro-code the DMA actually ships (§02, right). That binary encoding is still - undecoded, and it is how the ground and sky — which carry no stored vertices — reach the array. - This is the array's computational model: the pixels that micro-code would produce.
+What this is not, yet: execution of the compiled + micro-code the DMA actually ships (§02, right) — the form the ground and sky take, since + they carry no stored vertices. That stream is now partly decoded: the per-region command lists + read cleanly, and the SEND payloads turn out to carry the real float coefficients + interleaved with a regular bit-serial sweep — so what remains is pinning the control-word fields + and running that sweep, not reversing an opaque binary. This section is the array's + computational model: the pixels that micro-code produces.