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
GottZ
works fluitly for me in chrome
running on an intel centrino mobile with 1.7 ghz as singlecore.
Posted on January 19, 2011
Somebody
Dude, are you kidding with the HTML5 comment? This is Canvas, not HTML5… HTML5 is only a definition set for new HTML tags and attributes .
And ANYTHING you see on the web that is interactive has almost nothing to do with the ‘HTML’. Most likely it is javascript/yourbrowser doing the work…
Posted on May 1, 2011
Somebody else
@Somebody
Are you kidding me with the comment about the comment about HTML5?
canvas is part of HTML5… so yeah, you’re half right, but so was pwnsause
Posted on May 7, 2011
Nobody
@Somebody else
If you look at the HTML source of the game page, you’ll find that it does in fact not use HTML 5. Canvas is included in HTML 5, but it is also available independently of it. So Somebody is right in saying that this has very little to do with HTML at all.
Posted on July 28, 2011
Related demos