Skip to content

Deferred Features

DoubleGate edited this page Jul 8, 2026 · 1 revision

Deferred Features

Work that is deliberately not planned for now, or is explicitly deferred until a later milestone — kept here rather than silently dropped, per the project's honesty-gate posture (see Architecture-Decision-Records, ADR 0003).

The fractional-timebase refactor (ADR 0002)

The current lockstep scheduler advances the master clock in whole ticks and treats each CPU access as an integer 6/8/12-tick block — it cannot represent sub-cycle bus phases (the φ1/φ2 access split, sub-cycle read/modify/write brackets, the exact intra-cycle moment a read or write lands on the bus). A small number of hard-tier accuracy residuals may ultimately need that resolution.

This refactor is explicitly deferred, not point-fixed — any residual that genuinely needs sub-cycle phase is documented rather than hacked around with a per-quirk patch. It is also the one milestone expected to break save-state / byte-identity compatibility, and it will not begin until the v0.5.0 "Fidelity" accuracy battery actually shows residuals that only sub-cycle resolution can close — not before.

Mid-line raster timing

Deferred from Phase 2 (scheduler + video) to the v0.5.0 "Fidelity" accuracy push, alongside the rest of the named hardware-gotcha regression suite (DRAM refresh timing, HDMA mid-scanline placement, the DMA/HDMA-collision crash quirk, open-bus-via-HDMA-latch behavior, and true mid-scanline/mid-dot writes).

The full wasm frontend

The wasm32 target builds and deploys today, but the live demo is a bootstrap scaffold only — it sets a panic hook and logs a console message, with no canvas, no egui/wgpu UI, and nothing playable. A genuine winit+wgpu+egui build running in the browser is Sprint 4 of the frontend work, gated to v0.6.0 "Shippable". See Frontend-Architecture for what the native frontend already supports.

Post-1.0 Reach features

Netplay, RetroAchievements, TAS movie tooling, Lua scripting, and a Libretro core are all deferred past v1.0.0 by design — see Netplay-and-Rollback, Scripting-Engine, and Libretro-Core for each item's status and rationale.

Clone this wiki locally