NES Emulator Written in ES6

Existing NES emulators (for the web) attempt to be an all-in-one solution. As a result, UI and emulator code is tightly coupled together, and you can’t do much with the package outside of using it on its own as a standalone emulator.

nES6 was created to allow programmatic control of each piece of the emulator. For example, if you drop an nES6 instance into a page, you’ll get a blank canvas and that’s it. It’s then up to you how the emulator is fed ROMs, controller input, etc, using the exposed API from nES6.

A real-world use case is MultiNES - instead of accepting keyboard input from the local user, the emulator is fed inputs from remote players over WebSockets.


  • []


  • []

In the future…

  • []