Skip to content

RustyNES: update for v3.0.0 (UNIF, core options, background, four players) - #1215

Open
doublegate wants to merge 2 commits into
libretro:masterfrom
doublegate:rustynes-v3.0.0
Open

doublegate wants to merge 2 commits into
libretro:masterfrom
doublegate:rustynes-v3.0.0

Conversation

@doublegate

Copy link
Copy Markdown
Contributor

Updates the RustyNES core page for the v3.0.0 release, matching the core's .info (submitted alongside to libretro-super):

  • Extensions: add .unf / .unif (UNIF loading since v2.8.1)
  • Features: Core Options ✔ (declared since v2.8.1)
  • Background: describes the current scheduler (one master clock, each CPU cycle in two halves) instead of the retired dot-lockstep model
  • Controllers: "User 1 - 4" input descriptors (Four Score support)

License, BIOS and the rest of the features table are unchanged and match the core.

Release: https://github.com/doublegate/RustyNES/releases/tag/v3.0.0

Adds .unf/.unif, marks Core Options supported (Four Score), describes
the one-clock scheduler that replaced the lockstep model, and lists the
four input-descriptor ports the core declares.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014qfTKi2M3swo7qnwvYCkDj
Copilot AI balanced review requested due to automatic review settings October 6, 2026 14:37

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Warning

Copilot couldn't run its full agentic review because it didn't start before the timeout. Make sure your repository has a runner available, or add a copilot-code-review.yml file specifying one with the runs-on attribute. See the docs for more details.

Copilot review overview

Review effort: Lite
Findings: 1 Medium severity

Open (1)
What changed in this PR

Updates the RustyNES core documentation page to align with the v3.0.0 release and the core’s .info metadata (extensions, features, background timing model, and controller descriptors).

Changes:

  • Updated Background section to describe the current scheduler (master clock, split CPU cycles, PPU catch-up).
  • Added UNIF-related extensions (.unf, .unif) to the supported content list.
  • Marked Core Options as supported and expanded input descriptors to “User 1 - 4”.
File Description
docs/​library/​rustynes.md Updates core capabilities and descriptive text to match v3.0.0/.info (UNIF extensions, Core Options, timing model, four-player descriptors).

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread docs/library/rustynes.md Outdated
## Background

RustyNES is a cycle-accurate Nintendo Entertainment System (NES) and Famicom emulator written entirely in pure Rust. It targets the highest accuracy bar (comparable to Mesen and higan) through strict lockstep timing at PPU-dot resolution, without relying on threading or standard library timing.
RustyNES is a cycle-accurate Nintendo Entertainment System (NES) and Famicom emulator written entirely in pure Rust. It targets the highest accuracy bar (comparable to Mesen and higan) by running from one master clock, splitting every CPU cycle into two halves and bringing the PPU up to date at each, rather than relying on per-game hacks.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Still true at v3.0.0, so restored in e2173d0: the emulation core uses no threads and no standard-library timing (the chip crates build as no_std), so its output depends only on the ROM and the input.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants