NES EMULATOR
nes-bundler
nes-bundler: a Rust-based tool that packages a single NES ROM together with an NES emulator into a standalone executable for Windows, macOS and Linux.

WHY IT MATTERS
What it does
nes-bundler packages a NES game ROM plus a small NES emulator wrapper into a single native executable (a "bundle") for distribution. It is intended for authors of homebrew NES games who want to ship a playable desktop binary with configurable controls, automatic SRAM saves, a simple settings UI, and optional netplay.
BEST FOR
Primary strengths
Creates platform-native single-file executables with a bundled ROM and settings, includes remappable keyboard/gamepad handling, automatic SRAM save/load, a simple on-screen settings UI, and optional netplay. Designed to be built with Rust tooling so authors can produce signed installers/binaries for Windows, macOS and Linux.
The people behind nes-bundler
History and status
The project is hosted publicly on GitHub and is actively maintained in that repository (hundreds of commits shown in the repository history). The README describes the bundling concept (zip a configuration and ROM and submit for bundling) and provides build instructions. The repository is licensed MIT and is published with release artifacts on GitHub Releases. Activity, issues and commits are visible in the repository; consult the repository activity page for the current maintenance state and latest release dates.
What nes-bundler supports
- Windows (native executable)
- macOS (native executable)
- Linux (native executable)
- Bundled keyboard and gamepad input
- SRAM save/load
- Optional netplay (configurable)
Download and availability
OFFICIAL DOWNLOADS
Get nes-bundler
Official source and release binaries are published on the project's GitHub repository and the repository's Releases page. Pre-built demo/bundle executables can be downloaded from the Releases section; source can be built with cargo.
Get nes-bundler ↗DOCUMENTATION
Official documentation
Read the official configuration, compatibility, and troubleshooting material before changing advanced options.
Read official documentation ↗nes-bundler setup guide
Setup note: This guide explains how to obtain nes-bundler, build it from source, and create a basic bundle containing your ROM and configuration. It follows the project's own README instructions and the repository layout (Cargo-based Rust project).
- 1) Retrieve the project: Clone or download the official GitHub repository. The repository contains the Rust source, example config, and build scripts.
- 2) Install build dependencies: Install Rust toolchain (cargo and rustc). The README lists cmake as an additional dependency (used by native components). If you plan to build release packages you may also need cargo-release as noted in the repository. On macOS you can install cmake with Homebrew (brew install cmake).
- 3) Build from source: From the repository root run cargo build –release to produce a release binary. For development builds use cargo run –profile dev as described in the README. The project uses standard Cargo layout; binary artifacts will be under target/release.
- 4) Test a demo bundle: Download a prebuilt demo binary from the project's Releases page or run the built executable in the same directory as an example config.yaml and rom.nes. The executable will use rom.nes/config.yaml placed next to it if present.
- 5) Create a production bundle: Prepare your ROM (rom.nes) and a bundle configuration (config.yaml) that contains the desired default mappings, icons and settings. Zip the ROM and configuration according to the repository's bundling instructions and submit that archive to the project's bundling endpoint (the README references nes-bundler.com for the bundling service). The project then produces platform-specific bundles and sends them by email as described in the README.
- 6) Distribution and signing: The README mentions producing digitally signed executables and installers for distribution. Signing and installer creation are platform-specific steps that you will perform outside the repository (for example using platform code-signing certificates and installer-builder tools).
- 7) Runtime notes: The bundled executable exposes a simple UI toggled with ESC, supports remappable input and automatic SRAM persistence. Netplay is optional and can be disabled in configuration. The project does not include commercial ROMs, system BIOS, or other copyrighted firmware — you must supply any ROMs yourself.
Software reminder: Follow the repository README for exact configuration details. Do not distribute commercial ROMs or proprietary BIOS files with bundles; only distribute ROMs you have the right to distribute.
Sources and further reading
Detailed guides and tutorials
Explore step-by-step guides for nes-bundler as they are published.
Retro Replay Retro Gaming History, Reviews & Emulation