Files
retroDE_ps2/docs/ch364_audit_log.md
thejayman77 ba74bbd5aa Snapshot: fog implementation + fidelity tooling baseline (pre bilinear-clamp fix)
Per-vertex GS fog end-to-end (gs_stub emit incl. persp_emit5, gs_prim_list_feeder
XYZ2->XYZF2 on PRIM.FGE, gs_make_sh3_scheduler_fixture.py F/FGE packing), new fog
TBs, fidelity attribution tooling. Functional baseline before removing the dead
bilinear lerp8 clamps (Codex: 161-node comb loop -> -0.042ns setup fail).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-20 19:56:46 -04:00

2.5 KiB

Ch364 Audit Log - Mixed Texture Rebind And Residency

Scope

  • Native 640x480 persistent-Z composite of 28 ordered authentic SH3 draws.
  • Four early single-draw texture/CLUT rebind epochs (5328, 11671, 77112, 89164) followed by the 24-draw tbp=8192 cluster in eight 204-triangle feeder lists.
  • Twelve epochs total: five upload/fill operations and seven consecutive, fail-closed verified reuses of the final resident texture.

Fixture Contract

  • gs_make_sh3_scheduler_fixture.py now accepts --group-sizes, an explicit ordered epoch partition. Every multi-draw group must have identical feeder-visible state and byte-identical texture/CLUT data; reuse is emitted only when the immediately preceding descriptor leaves those same bytes resident.
  • The selected partition is 1,1,1,1,3,3,3,3,3,3,3,3. It passed authentic ordering, native bounds, state, texture/CLUT, staging-capacity, and depth-state gates.
  • The Ch364 BIOS and payload memory words hash identically to Ch363 MT5. The existing GUI-fitted RBF is therefore provenance-valid; no RTL, QSF, SDC, GUI compile, or RBF reload was required.

Simulation Proof

  • Capture/residency: PASS. Five CRC-verified fills, seven verified reuses, 12 ordered fresh drains, no writer overflow or scanout underflow, and exactly 38,400 scanout beats/frame.
  • Texture oracle: ALL 105761/110544 (95.7%), MULTI 40756/42861 (95.1%), clut_bad=0.
  • Real Z integration: PASS. 465,250 fragments fed, 214,897 persistent-Z updates, zero drops, 12 markers/drains, exact Z 0/307200, and exact color 0/110324.
  • Request FIFO high-water by epoch: 415,401,64,222,341,21,112,166,72,176,311,240; all remain bounded below the 1024-entry production FIFO.

Board Closure

  • Board host gate: all five texture uploads passed CRC, all seven cache reuses verified the resident CRC, all 12 drains returned their expected records, and every epoch reported zero fragment drops.
  • Final board framebuffer: 110,324 nonzero pixels, bounds (36,10)..(568,399), sum 0x61884052, xor 0x802cf68e.
  • Board and zint framebuffer SHA-256 match exactly: fdff2f34eac22ee140b64d8fac129627549bbb0f6db37d4b91807a9058e47a04.
  • Replay-color is exact: 465,250 fragments, 214,897 Z-pass updates, 110,324 covered pixels, no stray coverage, and 307200/307200 exact framebuffer pixels.

Result

Ch364 is closed on silicon: 28 authentic SH3 draws, five texture/CLUT bindings, seven verified residency reuses, native 640x480 scanout, and persistent depth all agree with integration simulation and the independent replay oracle.