-
-
Notifications
You must be signed in to change notification settings - Fork 0
Deferred 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.
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.
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).
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
mluainterpreter.
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%.
RustyNES is a cycle-accurate Nintendo Entertainment System emulator written in pure Rust. Licensed under MIT OR Apache-2.0. | GitHub Repository | Web Demo