JSNES
As time progresses, canvas applications are becoming more and more impressive. Ben Firshman has written a rather impressive JavaScript NES emulator.
Rather than rewriting the game in JavaScript, JSNES emulates and reads the encoded ROMs displaying the screen within a canvas element.
Ben comments:
I got underway shamelessly porting vNES into Javascript. Although not the most efficient, it didn’t have any of the pointer memory mapping magic associated with emulators written in lower level languages. As such, it was more or less a direct port, bar a few tweaks to compensate for the lack of static typing, and obviously a rewrite of all the I/O.

A selection of the titles demoed.
As everything is happening in JavaScript, JSNES eats a lot of resource so it’s best to try in Chrome.
Please ensure you follow the relevant laws regarding ROMs for your country before trying this demo.


Comments
Levi Aho
The fact that this works is utterly mindblowing. Of course, at about 4fps, iitit’s pretty unusable, but still, wow!
Posted on February 25, 2010
slam
Miercole, que bien eso si me gusto mucho
Posted on February 28, 2010
pwnsause
wait so is this in HTML 5, cause if it is, then wow.
Posted on April 5, 2010
CodexDraco
Amazing! Just amazing!
Posted on April 27, 2010
knx
@Levi Aho: this is actually perfectly playable on Chrome (about 60 fps on my 4-year old laptop)
Posted on June 3, 2010
fr0
Amazing. Works great without sound on Chrome 5.0.375.55 beta (Xubuntu Karmic). Enabling sound makes it much slower.
Posted on June 4, 2010
Fox
really impressive, also you can add Opera to the list, runs @ 60fps here.
Posted on June 5, 2010
Martin
Works well in Safari 5.0 without sound, 55fps
Posted on June 12, 2010
Pierre Rudloff
Works (with a terrible FPS) with 3.0, wow !
Posted on August 8, 2010
SWFlash
Aww, I wanna JSSNES!
Posted on August 28, 2010
Related demos