NES Emulator (2014)

My NES emulator is a work in progress. The source is available on github, as is a (bring-your-own-ROM) hosted version. It currently (November 2014) runs games with cartridge mappers 0, 1, 2, 3 and (partially) 4. This includes Super Mario Brothers 1-3, Zelda 1 and 2, etc.

The emulator is written in JavaScript and runs in the browser. It uses <canvas> for graphics and the web audio API for playing sound. The emulator strives for accuracy over performance. Perhaps more fundamentally, my goal is to make the codebase didactic. I intend to use it as the basis for a series of articles on how to design and write an emulator.

If you are interested in the NES or in emulation of the NES, check out the incredibly helpful NesDev, and particularly the NesDev forum.

Last updated 1 November 2014