Files
retroDE_ps2/docs/ch365_audit_log.md
T
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.6 KiB

Ch365 Audit Log - Two-Frame Motion Sequence

Scope

  • Native 640x480 persistent-Z presentation of two adjacent authentic SH3 capture states.
  • Frame A is Ch364's 28-draw mixed-rebind/residency composite (zs640m28); frame B is the adjacent capture's 24-draw texture cluster (zs640b24).
  • The production bootlet preloads the union of their six relocated CLUTs at CBPs 480,484,488,492,496,500.
  • The host sequencer clears color and Z at every frame boundary, then presents the A/B tables in order.

Compile Provenance

  • The GUI build loaded bios_sh3_zs640motionab.mem and payload_sh3_zs640motionab.mem.
  • Quartus reports Timing requirements were met: setup +0.095 ns, hold 0.000 ns, recovery +1.042 ns, removal +0.185 ns, and minimum pulse width +0.200 ns.
  • The loaded RBF was produced after the motion bootlet and QSF inputs.

Frame-B Simulation And Board Proof

  • Capture/residency: PASS. One CRC-verified fill, seven verified reuses, eight ordered fresh drains, no writer overflow or scanout underflow, and 38,400 scanout beats/frame.
  • Texture oracle: ALL 101111/108647 (93.1%), MULTI 66968/69063 (97.0%), clut_bad=0.
  • Persistent-Z integration: PASS. 664,865 fragments fed, 252,657 Z updates, zero drops, exact Z 0/307200, and exact color 0/108435. Per-epoch request-FIFO high-water was 546,297,393,498,32,572,617,592, below the 1024-entry production depth.
  • Board host gate: all eight drains were fresh with 204 records, the one fill and all seven reuses passed CRC, and every epoch reported zero fragment drops.
  • Board framebuffer: 108,435 nonzero pixels, bounds (12,128)..(633,469), sum 0xdd9faa5a, xor 0x80e70a5e.
  • Board and integration-simulation framebuffer SHA-256 match exactly: 3191d75983e72a158f91f15cc1f57b6ff7c5e40d5bbb4a49957db06db4e2fded.
  • Replay-color is exact: 664,865 fragments, 252,657 Z-pass updates, 108,435 covered pixels, no stray coverage, and 307200/307200 exact framebuffer pixels.

Two-Way Sequencer Gate

  • A one-loop run established the A-to-B boundary and captured the final B framebuffer above.
  • A subsequent two-loop run exercised A-to-B, B-to-A, A-to-B again. All 40 epoch drains were fresh, all expected record counts matched, every texture fill/reuse CRC gate passed, and every fragment-drop gate remained zero.

Result

Ch365 is closed on silicon: two authentic 640x480 persistent-Z frame states are sequenced in both directions by the host without reconfiguration. Each endpoint has independent integration-simulation and replay-oracle framebuffer proof, and the hardware frame-boundary protocol has passed across a full A/B/A/B loop.