You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 754f812
Browse filesBrowse the repository at this point in the historyBrowse files
Closes out the provenance/licensing/attribution pass, plus three README
corrections that belong with it. ZERO emulation-core behaviour change --
across the source files this pass touched, the only non-comment edit is one
test rename. AccuracySNES battery 56/56, scenes 2/2.
The AI-assistance disclosure moves to the TOP of the README, as a
"Development note" blockquote right after the opening paragraph, matching the
sibling project's placement. A disclosure a reader has to scroll 800 lines to
find is a disclosure in name only; the License section keeps a pointer.
The emulator capability-comparison graphic is removed, along with its
now-orphaned asset. It ranked this project against Mesen2, bsnes, Snes9x and
ares in a hand-drawn diagram that nothing verified and nothing regenerated --
its own caption already had to disclaim it as "illustrative" and point
elsewhere for the real numbers. A comparison that has to disclaim itself is
not carrying its weight.
The README's AccuracySNES figures were badly stale and are corrected against
the generated coverage report: 346 tests at 100% on-cart covering 304 of 443,
not "124/124 scoring plus 10 golden vectors"; scenes cover 55, not 3; the host
tier covers 2; 361 of 443 total, with the never-sum-the-tiers rule made
explicit. The cross-validation line also still said "Mesen2 and snes9x" after
ares became a third reference in v1.29.0.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: README.md
+29-26Lines changed: 29 additions & 26 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -14,7 +14,7 @@
14
14
</p>
15
15
16
16
<palign="center">
17
-
<ahref="https://github.com/doublegate/RustySNES/actions"><imgsrc="https://github.com/doublegate/RustySNES/workflows/CI/badge.svg"alt="Build Status"></a> <ahref="#license"><imgsrc="https://img.shields.io/badge/license-MIT%20OR%20Apache--2.0-blue.svg"alt="License: MIT OR Apache-2.0"></a> <ahref="https://github.com/doublegate/RustySNES/releases"><imgsrc="https://img.shields.io/badge/version-v1.30.0-blue.svg"alt="Version"></a> <ahref="rust-toolchain.toml"><imgsrc="https://img.shields.io/badge/rust-1.96-orange.svg"alt="Rust: 1.96"></a><br>
17
+
<ahref="https://github.com/doublegate/RustySNES/actions"><imgsrc="https://github.com/doublegate/RustySNES/workflows/CI/badge.svg"alt="Build Status"></a> <ahref="#license"><imgsrc="https://img.shields.io/badge/license-MIT%20OR%20Apache--2.0-blue.svg"alt="License: MIT OR Apache-2.0"></a> <ahref="https://github.com/doublegate/RustySNES/releases"><imgsrc="https://img.shields.io/badge/version-v1.30.1-blue.svg"alt="Version"></a> <ahref="rust-toolchain.toml"><imgsrc="https://img.shields.io/badge/rust-1.96-orange.svg"alt="Rust: 1.96"></a><br>
@@ -27,6 +27,17 @@ pure Rust.** Following the lineage of its predecessor
27
27
accuracy bar — a master-clock lockstep scheduler, a strictly-owned bus, and a deterministic audio
28
28
resync model.
29
29
30
+
> **Development note — AI-assisted:** RustySNES is heavily AI-assisted software, built with LLM
31
+
> tooling under a human-directed, test-driven workflow (public test ROMs and a first-party
32
+
> self-scoring accuracy cartridge as the oracle, a `no_std` core, and continuous CI). The
33
+
> repository's own history makes the pace plain — first commit `2026-06-25`, ~120,000 lines of Rust
34
+
> across ~480 commits in about six weeks. See
35
+
> [`docs/originality-and-provenance.md`](docs/originality-and-provenance.md) for what that means for
36
+
> originality and licensing, [`NOTICE`](NOTICE) for attribution, and the
37
+
> [Acknowledgments](#acknowledgments) for the references and components it builds on. Accuracy
38
+
> claims are meant to be *checked* by running the public suites, not taken on faith; comparisons to
39
+
> other emulators are comparisons, not a claim of being "better."
40
+
30
41
Beyond reference accuracy, RustySNES is a real, playable emulation platform today: a native
31
42
desktop shell (`winit` + `wgpu` + `cpal` + `egui`) boots real commercial ROMs with picture, sound,
32
43
and control, alongside **11 cartridge coprocessors**, save states with a thumbnail 10-slot
@@ -462,7 +473,8 @@ Run `rustysnes help controls` / `help gamepad` for the full reference.
462
473
No *publicly available* SNES ROM plays the role AccuracyCoin plays for the NES, so RustySNES
463
474
wrote one: **AccuracySNES** ([`tests/roms/AccuracySNES/`](tests/roms/AccuracySNES/)), a
464
475
first-party, dual-MIT/Apache-2.0 self-scoring test cartridge. It runs with no input, publishes its
465
-
verdicts to WRAM, and is cross-validated headlessly against Mesen2 and snes9x. The point of the
476
+
verdicts to WRAM, and is cross-validated headlessly against **three independent references** —
477
+
snes9x, Mesen2, and (as of `v1.29.0`) a headless ares host. The point of the
466
478
design is that it needs no host-side expected values: the identical image is meant to run
467
479
unmodified on any emulator and, on a flash cart, on a real console — though see the honest ceiling
468
480
below, because it has not yet been run on one. Around it, accuracy is a
@@ -472,8 +484,8 @@ here, always current, reaffirmed every release:
472
484
473
485
| Layer | Result |
474
486
| --- | --- |
475
-
| AccuracySNES (first-party self-scoring cartridge) |**100.00%** — 124 / 124 scoring, plus 10 golden vectors; agrees with Mesen2 and snes9x on both the NTSC and PAL images |
476
-
| AccuracySNES rendered scenes (host framebuffer oracle, [`docs/adr/0013`](docs/adr/0013-accuracysnes-framebuffer-oracle.md)) |**3 / 3 blessed**— reported separately and deliberately **not** folded into the line above, because a rendered scene needs a host holding the golden |
487
+
| AccuracySNES (first-party self-scoring cartridge) |**100.00% on-cart** — a 346-test battery covering **304 of 443** enumerated assertions; cross-validated against snes9x, Mesen2 and ares on both the NTSC and PAL images |
488
+
| AccuracySNES rendered scenes (host framebuffer oracle, [`docs/adr/0013`](docs/adr/0013-accuracysnes-framebuffer-oracle.md)) |**55 assertions**, all blessed only from a render the references agree on — reported separately and deliberately **not** folded into the line above, because a rendered scene needs a host holding the golden. A third **host-side** tier covers 2 more, admitted only where the cart physically cannot observe the assertion. **361 of 443 in total, never summed into one figure** ([`docs/accuracysnes-coverage.md`](docs/accuracysnes-coverage.md), regenerated with the ROM so it cannot drift)|
477
489
| CPU (65C816) per-opcode oracle |**99.994%** — 5,119,710 / 5,120,000; the 290 residuals are emulation-mode cases where SST is the lone outlier vs bsnes/ares/MesenCE/snes9x + AccuracySNES, resolved toward hardware ([`docs/adr/0002`](docs/adr/0002-fractional-timebase-refactor.md), [`docs/cpu.md`](docs/cpu.md)) |
0 commit comments