Files
retroDE_ps2/rtl/platform
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
..

rtl/platform

retroDE-specific platform integration. Matches docs/contracts/platform.md.

Wave 1 contents

  • platform_video_stub.sv — free-running raster generator. Default VGA 640x480 timing (overridable per-testbench to tiny values for fast sim). Takes bg_{r,g,b} from gs_stub and flood-fills the active region. Emits one EV_MODE per completed frame so testbenches can count frames without sampling raw video.

Scope boundary

This directory owns:

  • clock/reset sequencing entry points,
  • retroDE-facing video and audio adaptation,
  • HPS bridge plumbing (future),
  • top-level wrappers not belonging inside PS2 subsystems.

It does not own GS/PCRTC semantics (that's rtl/gif_gs/), SPU2 audio synthesis (rtl/spu2/), or any PS2 register behavior.

Replacement path

platform_video_stub stays as the platform adaptation layer. What changes is the upstream pixel source: Wave 1 → flat BGCOLOR from gs_stub, later waves → fuller GS/PCRTC output including framebuffer scan-out.