Skip to content
SPECIFICTION
Get listed

fixNES vs JSNES

fixNES

github.com

JSNES

github.com

Side by side

FigurefixNESJSNES
Price fromFreeFree
Free planYesYes
Free trial——
Open source——
Web—Yes
WindowsYes—
LinuxYesYes
Plans published11
Spec score · NES Emulators7.8 (#9)8.3 (#3)
LicenseThe repository includes an MIT License granting permission to use, copy, modify, merge, publish, distribute, sublicense, and sell the software, subject to its conditions.The repository identifies its license as Apache-2.0.
PurposefixNES is an NES emulator the author wrote to learn about the NES, and the README says it is not in the most complete or cleanest state.JSNES is a JavaScript NES emulator library that works in browsers and Node.js.

Plans

fixNES

  • fixNESFree

fixNES pricing →

JSNES

  • JSNESFree

JSNES pricing →

In their own words

fixNES

fixNES is a free, open-source NES emulator for Windows and Linux. It runs NTSC and PAL .nes ROMs and creates .sav files for games that support saving. FDS and QD titles can run when a FDS BIOS named disksys.rom is placed in the same folder, and NSF music files are supported with track changes on the left and right keys. Files can be opened by drag and drop, command-line argument or from ZIP archives. The project lists support for NES mappers and VRC6, VRC7, FDS, MMC5, N163 and Sunsoft 5B audio expansions. Controls are keyboard-only; Windows users can use joy2key for controller input. The standalone build uses supplied scripts and requires freeglut and openal-soft, while a Makefile supports RetroArch core use. The README says the project is not in its most complete or cleanest state. It is licensed under MIT.

Visit github.com

JSNES

JSNES is a free JavaScript library for emulating NES games in browsers and Node.js. Its Browser helper handles canvas rendering, audio, keyboard and gamepad input, and frame timing; the lower-level NES class allows custom rendering and audio handling in Node.js. ROM data can be loaded from a URL or from a string, Uint8Array, or ArrayBuffer. The API runs frames, accepts controller input for either player, resets, adjusts frame rate, and includes methods for moving and triggering the Zapper. Applications can serialize and restore emulator state with `toJSON()` and `fromJSON()`. The `onBatteryRamWrite` callback lets an application capture battery-backed SRAM writes for persistent game saves. Sound emulation is enabled by default, with a default sample rate of 48000 Hz, and an audio callback is available. The README provides npm installation for Node.js or Webpack and an unpkg script for browser use, as well as a React embedding example. JSNES is licensed under Apache-2.0; its GitHub Issues tracker accepts bug reports and feature requests.

Visit github.com