Skip to content
Screenshot published by the ness project
Screenshot published in the ness project's official README. Image source: ness project on GitHub.

ness

NES EMULATOR

ness

Ness — an open-source Super Nintendo Entertainment System (SNES) emulator implementation written in Rust with native builds and WebAssembly/web frontend artifacts available from the project's GitHub repository.

NESPRIMARY SYSTEM
History documentedPROJECT BEGAN
Open sourcePROJECT MODEL

WHY IT MATTERS

Why Ness is notable

Ness is a Rust-based SNES emulator project that targets multiple frontends: native builds for Windows, Linux and macOS, plus a WebAssembly/web app. The repository includes a native core and frontend components and provides prebuilt nightly binaries linked from the README.

BEST FOR

Best use-case

For users or developers who want a modern-Rust SNES codebase to study, contribute to, or build cross-platform frontends (native GUI or WebAssembly). Also suitable for people who want to try the project's nightly builds rather than compiling from source.

The Legend of Zelda gameplay on NES
Gameplay from The Legend of Zelda on NES.

The people behind ness

History & status

The project's public source is hosted on GitHub (kelpsyberry/ness). The repository contains multiple folders (core, frontend, db) and shows active development activity and commits in the repository history. The README describes Ness as "A Super Nintendo Entertainment System emulator written in Rust" and lists prebuilt binaries (Windows, Linux, macOS) via nightly links. There are no official releases published under the GitHub Releases page at the time the repository index was viewed; prebuilt nightly artifacts are referenced from the README instead. The repository shows small community interest (stars/forks) and a small number of open issues, indicating an active but modest project.

What ness supports

  • Super Nintendo Entertainment System (SNES)
  • Windows (native binaries)
  • Linux (native binaries)
  • macOS (native binaries)
  • WebAssembly / browser (web frontend)

Download and availability

OFFICIAL DOWNLOADS

Get ness

Official source, prebuilt nightlies, and release information are available from the project's GitHub repository. The repository README links to prebuilt nightly binaries for Windows, Linux and macOS. The GitHub Releases page for the repository shows no formal releases.

Get ness ↗

DOCUMENTATION

Official documentation

Read the official configuration, compatibility, and troubleshooting material before changing advanced options.

Read official documentation ↗
Broken or missing download? Emulator projects move and official links sometimes change. Please contact Retro Replay so the source can be verified and updated.

ness setup guide

Setup note: Practical setup paths: (A) use prebuilt nightly binaries linked from the repository README, or (B) build from source with Rust/Cargo. The guide below explains building and running the native or web builds as documented in the project's GitHub repo.

  1. 1) Get the source or prebuilt binaries: Visit the project's GitHub page to choose between cloning the repository or downloading prebuilt nightly artifacts linked from the README. If you prefer source builds: git clone https://github.com/kelpsyberry/ness (the repository hosts core/frontend/db folders and Cargo.toml). If you prefer not to build, use the prebuilt nightly links provided in the README (Windows, Linux, macOS).
  2. 2) Install build prerequisites (for source builds): Install Rust (rustup) and a recent toolchain (stable or nightly as required by the project). Ensure you have cargo and rustc in PATH. For the native GUI frontends you may need platform-specific toolchains (for macOS a recent Xcode/clang toolchain, for Windows the MSVC toolchain or mingw depending on how the project configures builds). For WebAssembly builds, install wasm32-unknown-unknown or wasm-pack as the README or build scripts require.
  3. 3) Build the core and frontend: From the repository root, use cargo build –release to build native binaries. If the repository documents additional workspace members or frontend build steps (for example a separate frontend folder), follow those subdirectory instructions (cargo build or wasm-pack build). Use cargo run –release –bin <binary-name> if the project provides named binaries. Expect platform-specific build times and dependencies.
  4. 4) Running the emulator: Run the produced native binary (or the downloaded nightly executable). Provide your own ROM files — the project does not include commercial games, BIOS, or firmware. Configure input and video options using the emulator's command-line flags or GUI; check the repository README or any frontend-specific README for available runtime options.
  5. 5) Browser / WebAssembly build: If using the WebAssembly/web frontend, follow the repository's frontend build instructions. Typical steps include building a wasm artifact and serving the web frontend via a local static server to test it in a browser. The README references a WebAssembly web app and prebuilt web artifacts.
  6. 6) Troubleshooting & contribution: If build errors occur, check the repository issues and commits for guidance. Open an issue on the project's GitHub if you encounter reproducible build/runtime bugs or to ask about missing steps. Follow the repository's contribution guidelines if you intend to submit patches.

Software reminder: The project provides source code and (in-repo) links to nightly binaries. You must supply your own game ROMs and any system firmware your region's laws require; commercial games, BIOS, or firmware are not included with the project.

Sources and further reading

Detailed guides and tutorials

Explore step-by-step guides for ness as they are published.