PANTHEON
Bare-Metal Path 1 Rendering Framework for the Sony® PlayStation 2. VU1. Deterministically Locked at 60 FPS.
Pantheon is a deterministic Path 1 rendering framework for PlayStation 2, built from scratch in C and VU1 vector assembly. It enforces a strict manager–worker execution contract: the Emotion Engine sequences 128-bit DMA command chains while VU1 executes a bespoke VLIW microprogram — shader.vsm — that transforms all vertices, builds GIF packets, and fires XGKICK directly to the Graphics Synthesizer. Maximum silicon throughput. Zero abstraction.
Born on March 23rd, 2026, Pantheon achieves locked 60 FPS through integrated precision engineering: geometry is authored in Softimage 3D, crunched offline via hrc2ps2.py, and delivered as C arrays. The Emotion Engine never touches a vertex. Compile-time memory contracts enforce correctness. VU1 owns all transformation authority. This is the same architecture that powered the most technically demanding PlayStation 2 titles.
1. Phase 1 Baseline — v1.0.0-Beta
- Locked 60 FPS: Deterministic asynchronous rendering in pure Path 1. Verified on PCSX2 2.7.x and real PS2 hardware.
- VU1 Skydome: Hemisphere geometry authored in Softimage 3D, crunched through offline pipeline, rendered entirely by VU1 microcode via XGKICK.
- San Andreas-Style Timecycle: Four weather presets across eight time slots with per-channel linear RGB interpolation. 24-minute game day cycle.
- GTA-Style Orbital Camera: Spherical camera telemetry with analog deadzone, pitch/yaw smoothing, and dynamic zoom.
- DualShock 2 Input: Left stick move, right stick orbit, L1/R1 zoom — analog capture with edge detection.
- Walkable Floor (Hybrid Profile): Tiled Path 1 mesh plus CPU GIF deck where enabled to avoid coplanar Z-fight; strict Path 1 build puts the full floor on VU1 for validation.
- IOP Theme Audio (Beta): Loads
LIBSD/AUDSRV, links audsrv, embedded intro PCM intheme_wav_data.hwith companiontheme.ads/ ADS headers. Reference theme_intro.wav on GitHub. - Compile-Time Memory Contract: Shared EE/VU1 address layout enforced by pantheon_path1_contract.h. Misalignment is a build error, not a runtime failure.
- Strategic VRAM Allocator: Linear word-bump allocator over 4 MB GS local memory. Zero-overlap layout audited via boot-time telemetry.
- 94BILLY Boot Sequence: Luma ramp with bitmap title. Path 1 world deferred until reveal completes.
2. Phase 2 Scale — v1.0.1-Beta
- 31×31 Dynamic Treadmill Floor: Player-anchored tile grid snaps origin to nearest tile boundary. Y=0.0f ground invariant maintained at locked 60 FPS. Seamless world expansion without visible tile transitions.
- Zero-Pop Boot Sequence: Eliminated intro flickering. Path 1 world rendering strictly gated until 94BILLY STUDIOS reveal completes. Z-fight artifacts eliminated.
- Optimized Mesh Slicing:
hrc2ps2.pyautomatically partitions assets into VU1-safe batches (≤72 verts). Respects 16KB VU1 data memory ceiling. Ready for monolithic asset ingestion. - Hardware-Ready Audio: IOP/SPU2 infrastructure complete. Gated via
#ifdef PANTHEON_HARDWARE_TARGETfor clean PCSX2 emulator builds. Real PS2 hardware builds retain full audsrv support. - Production Documentation:
ENGINE_STATE.mdcanonical technical specification. VRAM map, VU1 contract, build flags, toolchain paths. Hardware/emulator build examples.
3. Field Demonstration: v1.0.1-Beta
Retail PS2 capture — 60 FPS locked. Boot title through Path 1 skydome and walkable floor.
v1.0.1-Beta progression — 31×31 dynamic treadmill floor expansion with zero-pop boot sequence and locked 60 FPS.
4. Path 1 Pipeline — EE → VIF1 → VU1 → GS
Pantheon’s shader.vsm is compiled with dvp-as and linked directly into the ELF binary as a standard object. The entry point PantheonShader resolves to a non-zero address at link time. The memory contract it executes against is defined in pantheon_path1_contract.h and verified at compile time:
PIPELINE: EE → VIF1 → VU1 → XGKICK → GS
UNPACK: Burst MVP matrix + vertex stream into VU1 data memory
MSCAL: Execute PantheonShader — transform, perspective divide, pack GIF tags
XGKICK: Fire packed GIF packet directly to Graphics Synthesizer
FLUSHE: Synchronize VU1 pipeline before next batch
5. Installation
Requirements: ps2sdk (with audsrv) · ee-gcc 15.x · dvp-as · PCSX2 2.7.x · Python 3.x
Option A — Default Hybrid Build (Recommended):
- Clone:
git clone https://github.com/94BILLY/PANTHEON.git - Build:
make -f Makefile.world(links-laudsrvfor theme audio) - Deploy: Open floor.elf in PCSX2 2.7.x or copy to PS2 hardware via OPL.
Option B — Strict Path 1 Validation:
- Build:
make -f Makefile.world EE_EXTRA_CFLAGS='-DPANTHEON_RENDER_PROFILE=1' - Result: VU1 renders all geometry. CPU GIF overlay disabled. Pure Path 1 pipeline validation.