Demo: jtduchesne.github.io/Nestled *
This is a work-in-progress but fully functional javascript NES emulator carefully written in the ECMAScript 6 standard.
I've put a lot of efforts into writing beautiful, well organized, well documented and easy to understand code, and the same applies to the Git commits themselves. The repository, with its complete history, can be used for learning the step-by-step creation of a solo side-project using Git, Node.js, Rollup, Mocha, Chai, ESLint, JSDoc, and of course Javascript (currently writing a blog about all this).
✓ CPU
✓ PPU (image)
✓ APU (sound + music)
✓ Controllers (only Keyboard for now)
✓ Game loading from hard drive (.nes files)
Memory mappers:
✓ None (Ex.: Super Mario Bros.)
✓ MMC1 (Ex.: Tetris)
Debugger
Memory mappers:
UNROM, CNROM, MMC3, MMC5
Fully tested using Mocha.js + Chai.js
*Unfortunately, I cannot provide the games for legal reasons, so you have to load your own .NES
files.
There are lots of places on the internet where you can get that...