Skip to content
Daniel Nylander edited this page Aug 31, 2026 · 14 revisions

Project Eon Wiki

Project Eon is a preservation-first SDL3 reimplementation of Millennium 2.2 and Deuteros. Original game data are user supplied, hash-identified, and read directly from their media; Project Eon never unpacks, copies, modifies, or redistributes commercial data.

This wiki keeps verified bytes and code paths separate from observations, hypotheses, and unknown boundaries. It does not claim full game parity or invent missing original behaviour.

Index

Evidence levels

Level Meaning
Verified bytes Exact media/code range with offset/address and SHA-256.
Verified code path Control flow proved only to its stated boundary.
Observed behaviour Genuine runtime/media observation without extrapolation.
Inference Labelled hypothesis, never implementation authority.
Unknown Hard preservation boundary; no synthetic data are introduced.

Current status

The SDL launcher uses an explicit game-card → verified-platform-card → release-language (when required) → Original/Modern/Custom route. Original and Modern launch directly; Custom opens Modern renderer settings and requires a second explicit start. Cards distinguish unavailable media, a required exact release selection, and a start-ready identity. Atari cards additionally state that their recovered coverage is bootstrap-only: no platform or language is silently substituted.

The current runtime deliberately focuses on verifiable paths: Millennium DOS renders the original title surface and uses a text-availability handoff, while Deuteros Amiga runs its recovered opening to the hash-verified title handoff. The latter exposes original RGB4 palette and VM provenance values, rather than pretending to execute its unrecovered title screen. Other recognised platforms are preserved, scanned, and reported even where gameplay parity is not yet recovered. 2200AD.EXE, GX canvas selection, game simulation, and save execution remain unrecovered rather than being guessed.

Modern presentation is renderer-only. Its current deterministic Scale2x reconstruction is transient process memory, not an edited or cached game asset. Separately installed high-resolution art packs are hash-checked and release-bound before an explicit --inspect --modern-packs <root> report can call them eligible; no pack is currently selected or rendered automatically.

Reference-trace v2 now has strict diagnostics-only adapters for Millennium DOS startup, Millennium Amiga bootstrap handoffs, Deuteros Atari boot, and the Deuteros Amiga title-stage ABI boundary. A validated trace remains provenance, not replay or runtime input.

The reviewed external capture routes currently emit Millennium receipt v11 and Deuteros receipt v8. A receipt binds the recognised source, recorder, generated configuration, bounded optional raw output, and complete plus retained console identities. The Millennium route also binds its private-handler recorder grammar and an explicit early-stop reason for its recorded unhandled-interrupt boundary; the Deuteros route binds a finite realtime or diagnostic-only warp profile and records separate prefetched-IR and memory words at each raw-PC observation, with a canonical opaque per-site word-pair receipt. It proves the capture route's integrity, not game input, an ABI result, a title frame, timing, or gameplay. The current no-input captures remain explicit loader/driver boundaries until a physical-input title capture supplies the required ordered evidence.

Controls listed in the technical reference are Project Eon controls, not a guessed manual for the original games. Contributions must keep commercial data out of Git and record real-media hashes, byte offsets, runtime addresses, uncertainty, and tamper tests.

Clone this wiki locally