- Home
- NES Emulators
- binjnes
binjnes
What it is
binjnes is a free NES emulator written in C, available through a browser and source builds for Linux and macOS. Its cycle-accurate emulation passes many timing tests and supports numerous cartridge mappers with a built-in cartridge database. Additional audio channels work with mappers 19, 24, and 26. Users can save or load battery-backup data and emulator state files, pause, advance one frame, rewind, and seek to a chosen cycle. The browser version is built as WebAssembly and lets users upload a file to play. Linux and Mac build instructions use make or CMake; building requires CMake and sokol, while WebAssembly builds also require Emscripten. A Python test harness validates tests with hashes, and the source uses the MIT License. GitHub releases contain no packaged downloads, so desktop users need to build from source.
For and against
For
- Free browser and source-build emulator
- Cycle-accurate emulation passes timing tests
- Supports many cartridge mappers
- Save states and rewind included
- MIT-licensed source code
Against
- No packaged downloads on GitHub releases
- Desktop use requires building from source
- WebAssembly builds require Emscripten
- Browser play requires uploading a file
The verdict
binjnes offers focused NES emulation with timing accuracy, mapper coverage, save states, and rewind. Its lack of ready-made releases makes it more suitable for browser users or people willing to build the project.
Who it suits
It suits NES users who want browser play or are comfortable compiling software on Linux or macOS. Developers may value its source code, test harness, and MIT License.
Plans and prices
Free
NES emulator; web and build-from-source versions
Read 2 Oct 2026 · github.com
On the record
- Accuracy
- The emulator is cycle accurate and passes many timing tests.github.com · read 2 Oct 2026
- Audio
- Additional audio channels are supported for mappers 19, 24, and 26.github.com · read 2 Oct 2026
- Build requirements
- Building requires CMake and sokol; the WebAssembly build instructions also require Emscripten.github.com · read 2 Oct 2026
- Desktop builds
- The README gives Linux and Mac build instructions using make or CMake.github.com · read 2 Oct 2026
- Download availability
- The GitHub releases page states that there are no releases packaged for download.github.com · read 2 Oct 2026
- License
- The source code is distributed under the MIT License.github.com · read 2 Oct 2026
- Mapper support
- It supports numerous cartridge mappers and includes a built-in cartridge database.github.com · read 2 Oct 2026
- Playback controls
- The emulator supports pausing, stepping one frame, rewinding, and seeking to a specific cycle.github.com · read 2 Oct 2026
- Purpose
- binjnes is a simple NES emulator implemented in C that also runs in a browser.github.com · read 2 Oct 2026
- Save support
- Users can save and load battery backup data and emulator state files.github.com · read 2 Oct 2026
- Testing
- The repository includes a Python test harness that uses hashes to validate tests.github.com · read 2 Oct 2026
- Web use
- The project can be built as a WebAssembly module, and its linked browser version lets users upload a file to play.github.com · read 2 Oct 2026