Skip to content
SPECIFICTION
Get listed

Dendy vs JSNES

Dendy

github.com

JSNES

github.com

Side by side

FigureDendyJSNES
Price from—Free
Free plan—Yes
Free trial——
Open source——
WebYesYes
WindowsYes—
macOSYes—
LinuxYesYes
Plans published01
Spec score · NES Emulators7.6 (#12)8.3 (#3)
AudioSound-chip emulation is described as work in progress and may produce pops and crackles.The API supports an audio callback and has sound emulation enabled by default with a default sample rate of 48000 Hz.
LicenseThe GitHub repository identifies the project as MIT licensed.The repository identifies its license as Apache-2.0.

Plans

Dendy

No plans published.

Dendy pricing →

JSNES

  • JSNESFree

JSNES pricing →

In their own words

Dendy

Dendy is a free NES/Famicom emulator written in Go, with desktop versions for Windows, macOS, and Linux and a WebAssembly version for modern browsers. The desktop program has no graphical interface and runs from the command line with a .nes ROM file. Player one can use a keyboard or a detected gamepad, and a mouse can emulate the Zapper light gun. Options include save-state control, rewind, screenshots, CRT effects, and Game Genie codes. Network multiplayer uses rollback networking and peer-to-peer connections. A public relay can help players behind NATs find peers and connect, though it will not work if both players are behind symmetric NATs. Users can also build and run their own relay. The browser version does not currently support netplay. The maker cautions that Dendy may not match established emulators in accuracy or compatibility, so some games may not run. Sound emulation is still in progress and may produce pops and crackles. The project is MIT-licensed.

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