Skip to content

Deferred Features

DoubleGate edited this page Jun 29, 2026 · 1 revision

Deferred and Carryover Features

While RustyNES achieves 100% AccuracyCoin validation on its core, there is a comprehensive list of features that have been explicitly deferred or carried over for future implementation (documented in to-dos/DEFERRED-AND-CARRYOVER-FEATURES.md).

This catalogue ensures transparency regarding what is and is not supported in the current release.

Major Deferred Work

Vs. DualSystem Emulation

RustyNES detects Vs. DualSystem ROMs via the NES 2.0 header but does not currently emulate them. DualSystem requires dual-CPU, dual-PPU, and dual-WRAM instances running in parallel. This is explicitly deferred until post-v2.0.0.

Fractional Master-Clock Timebase

The current core uses a strict integer-lockstep "3 PPU dots per CPU cycle" model. While this achieves 100% coverage on existing test ROMs, esoteric edge cases (like the exact PAL 3.2:1 CPU:PPU ratio and obscure C1 IRQ-sample races) require a fractional master clock. This is planned for the v2.0.0 refactor (ADR 0002).

WebAssembly Enhancements

The WASM build works flawlessly for playing games, but deeper integrations are deferred:

  • Browser RetroAchievements: Requires Auth-proxy deployments and wasm trampoline marshalling.
  • Complete Piccolo Parity: Bringing the pure-Rust Lua parser up to complete parity with the native C-based mlua interpreter.

Long-Tail Mapper Support

Currently, RustyNES supports 172 mapper families. The long tail of ~130 obscure, unlicensed, or pirate mappers remains deferred to future feature passes to ensure that TASVideos compatibility can eventually reach 100%.

Clone this wiki locally