Unified Path 1 game engine for the Sony® PlayStation 2. VU1-native. Locked 60 FPS.
"Imagination unleashed."
Boot → world · Loop from retail PS2 capture
v1.0.1-Beta progression — 31×31 dynamic treadmill floor expansion with zero-pop boot sequence and locked 60 FPS
PCSX2 v2.7.x emulation at native 640×480 — Boot luma ramp reveal into treadmill loop, skydome timecycle progression, and orbit camera telemetry at locked 60 FPS
PANTHEON is a deterministic Path 1 rendering foundation for the Sony© PlayStation 2. . It enforces a rigorous manager-worker separation: the Emotion Engine (EE) functions exclusively as a high-bandwidth DMA/VIF conductor, asynchronously sequencing 128-bit command streams to a dedicated VLIW vector co-processor (VU1). . The worker node executes bespoke microcode (shader.vsm)—assembled via dvp-as—to perform all spatial compute, pack GIF tags, and fire XGKICK payloads directly to the Graphics Synthesizer. . This architecture bypasses standard software abstractions to extract maximum silicon throughput at a locked 60 FPS baseline. . Geometry is authored in Softimage 3D 3.8 (or optionally Blender), crunched offline via hrc2ps2.py and obj2ps2.py to ensure strict 16-byte alignment and hardware-compliant batch sizing, and delivered as pre-formatted C arrays.
The Emotion Engine never touches a single vertex.
- Boot title — 94BILLY luma ramp reveal sequence
- Timecycle skydome — San Andreas-style 8-slot weather + 4-channel RGB interpolation
- Walkable floor — Path 1 mesh rendering (tiled instancing + hybrid CPU deck where enabled)
- Orbit camera — Spherical telemetry, deadzone + smoothing
- DualShock input — Analog pad capture and edge detection
Build profiles:
- Hybrid (default) — CPU GIF floor + Path 1 skydome (avoids coplanar Z-fight)
- Strict Path 1 — VU1 renders all geometry; CPU GIF overlay disabled
- 31×31 Dynamic Treadmill — player-anchored tile grid snaps origin to nearest tile boundary; Y=0.0f ground invariant maintained at 60 FPS
- Zero-pop boot sequence — Path 1 world gated until luma-ramp reveal completes; eliminates Z-fight flicker
- Mesh slicing —
hrc2ps2.pyautomatically partitions assets into VU1-safe batches (≤72 verts) - Audio hardware-gated — IOP/SPU2 path compiled in under
PANTHEON_HARDWARE_TARGET; PCSX2 builds run clean
git clone https://github.com/94BILLY/PANTHEON.git
cd PANTHEON
make -f Makefile.worldOutput: floor.elf
Run in PCSX2 2.7.x or deploy to real PS2 hardware via OPL/FreeMcBoot.
Requirements: ps2sdk · ee-gcc 15.2.0 · dvp-as · Python 3.x
Setup guide: GETTING_STARTED.md
| File | Purpose |
|---|---|
pantheon_path1_contract.h |
EE ↔ VU1 compile-time memory layout contract |
pantheon_vram.h / pantheon_vram.c |
GS VRAM allocator (linear word-bump over 4 MB) |
shader.vsm |
VU1 microprogram — transform, matrix math, GIF packing, XGKICK |
floor.c |
EE conductor — DMA sequencing, boot, world loop, tile treadmill |
hrc2ps2.py |
Softimage 3D .hrc → C array mesh cruncher with auto-slicing |
| Document | Content |
|---|---|
GETTING_STARTED.md |
Build setup, PCSX2 config, profile flags, asset pipeline |
BETA_RELEASE.md |
v1.0.0-Beta scope, acceptance criteria, hybrid vs strict modes |
BASELINE_ACCEPTANCE.md |
Phase 1 acceptance gates and test procedures |
FLIGHT_LOG.md |
Development journal — debugging log, learnings, architecture decisions |
DOCS_INDEX.md |
Full documentation index |
CHANGELOG.md |
Release history |
Gallery (Retail PS2 captures):
docs/media/VIEW_PANTHEON_MEDIA.html — Stills and loops under docs/media/
Logo generation:
Source: docs/pantheon-oculus-straight-on-zenith.png
Generator: tools/generate_pantheon_zenith_logos.py
Details: docs/LOGO.md
- Phase 3 — Texturing — STQ coordinates, texture sampling in VU1, GS VRAM upload
- Phase 4 — Atmosphere — Full dynamic timecycle, day/night transition
- Phase 5 — Monolithic Assets — Large model ingestion via automatic mesh slicing
Public technical record. No LICENSE file; all rights reserved.
- Maintainer: 94BILLY is the sole project owner. In GitHub: Settings → Collaborators (and org membership) should list only 94BILLY for write access; remove any other users with push access if they appear.
- Issues, pull requests, and unsolicited contributions are not accepted
- Redistribution requires written permission from 94BILLY
- Source code and assets are provided for educational and reference purposes
This codebase is targeted at developers comfortable with:
- PS2SDK and
ps2-gcc - Emotion Engine (EE Core, DMA, VIF)
- Vector Unit 1 (VU1, microcode, VLIW instruction pairing)
- Graphics Synthesizer (GIF packets, register writes, GS memory layout)
- Bare-metal C (no OS abstractions, direct hardware access)
Entry point: Start with pantheon_path1_contract.h and shader.vsm.
github.com/94BILLY/PANTHEON
94BILLY · 94billy.com/PANTHEON
© 2026 94BILLY · All rights reserved
GitHub repository metadata
Description (one line):
Bare-metal Path 1 PlayStation 2 engine. VU1 microcode. Softimage 3D pipeline. 60 FPS.
Topics:
ps2 playstation2 ps2sdk homebrew vu1 path1 gamedev openworld softimage bare-metal demoscene
Language:
C (95%), Assembly (5%)