Correct §06: the emit map is the shared standard screen program
Cross-checks against the vendor source settle the semantics: the 0x3xx words are pixel-memory bit addresses / opcode fields (EOF.S emits them as hardcoded constants; DIVPXMAP.H maps dvpx_* bit addresses 0-207 incl. eofr/g/b at 184/192/200), 0xec00 is a hardcoded control constant (EOF.S:2313), and the whole 2,541-word payload set is 98.98% identical between trek and klngvid = the standard screen program shared across captures. §06 now presents the render as an emit-stream structural map with the demo-specific geometry still to be located (beyond the 0x8014000-0x8018000 window; bin pages / far heap are the candidates). The EOF.S<->EOF.C correlation method for the exact per-macro decode is proven (send_em catalog: 30 emit sites with inline constants). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -362,20 +362,25 @@
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2><span class="idx">06</span> First frame from a live scene — the Star Trek demo</h2>
|
||||
<h2><span class="idx">06</span> A live scene emits — the Star Trek demo</h2>
|
||||
<p class="sub">The archive's <span class="mono">trek</span> capture — unreleased Star Trek
|
||||
material — now <b>replays and draws</b>. After the dual-instruction-mode fix, its full
|
||||
pipeline runs on the emulated i860: classify, LOD select, rasterise, and <b>emit compiled
|
||||
micro-code</b> per 64×128 tile. Below is that frame, assembled by reading the emit stream
|
||||
back out of DRAM: <b>21 payload blocks, 124 scanline spans</b>, each block a primitive of
|
||||
the scene. This is a <b>first-approximation decode</b> (the span/edge field scaling is
|
||||
still being pinned), drawn from the board's own compiled render program — the deepest
|
||||
read-out of this hardware yet.</p>
|
||||
micro-code</b> per 64×128 tile. Below is a <b>structural map of that emit stream</b>, read
|
||||
back out of DRAM: <b>21 payload blocks</b>, each a compiled primitive program — colors
|
||||
distinguish blocks, position reflects each program's instruction fields. It is <b>not yet
|
||||
the screen image</b>: cross-checking against the board's own source
|
||||
(<span class="mono">EOF.S</span> / <span class="mono">DIVPXMAP.H</span>) shows the fields are
|
||||
pixel-memory bit addresses and coefficients, whose exact per-macro layout is the decode in
|
||||
progress — and this block set turns out to be the <b>standard screen program</b> shared
|
||||
across captures (98.98% identical between the trek and Klingon demos), with the demo-specific
|
||||
geometry still to be located in memory. What it proves stands: <b>the full pipeline runs, the
|
||||
emit stream is readable, and the compiled programs are being captured one by one.</b></p>
|
||||
<div class="hero-render" style="margin-top:16px">
|
||||
<span class="tag">decoded from the compiled emit stream · first approximation</span>
|
||||
<canvas id="trekframe" width="832" height="512" aria-label="frame assembled from trek's compiled emit stream"></canvas>
|
||||
<div class="cap"><b>trek, draw 1–300 (static showcase scene)</b> — every mark is a span
|
||||
the firmware's rasteriser emitted; colors distinguish payload blocks (primitives).</div>
|
||||
<span class="tag">emit-stream structure · exact frame decode in progress</span>
|
||||
<canvas id="trekframe" width="832" height="512" aria-label="structural map of trek's compiled emit stream"></canvas>
|
||||
<div class="cap"><b>trek, draws 1–300 (compile-once showcase scene)</b> — each colored
|
||||
run is one compiled primitive program's field pattern in the emit stream.</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user