The title is a tiny bit misleading. Indeed all of those are JavaScript emulators, but not all of them were <i>written</i> in JS. At least one on the list (mupen64plus) is transpiled from C++ using the (amazing) emscripten.
This appears to be ripped from the original list here, which is also more uptodate:<p><a href="https://github.com/fcambus/jsemu" rel="nofollow">https://github.com/fcambus/jsemu</a>
How many of them are proper, accurate emulators though (and not emscriptened ones like mupen64)? Parsing bytes and mapping them to instructions is easy, and I believe that's why most of them are for very simple machines. We're still very far away from having multiple PS1/N64 era that are running at a tolerable framerate.<p>Except 1964js, which works in a way that both amazes me and makes me feel dirty at the same time.
small & easy linux-like in-browser emu:
<a href="http://bellard.org" rel="nofollow">http://bellard.org</a><p>fullscreen, "Unix-like virtual shell", u.a. ssh(!?); ping(ok)
"-":
no c&p,
<a href="http://cb.vu/" rel="nofollow">http://cb.vu/</a><p>think, there are some more Linux & unix Emulators in js?
would be nice, find some in next comments.
:-)
Intresting that SNES is missing from the nintendo list. There's a good bit of literature on the underlying implementation for SNES roms: <a href="https://github.com/bttf/snes_dev" rel="nofollow">https://github.com/bttf/snes_dev</a><p>(Full disclosure: I spent a little time accumulating aforementioned literature)
I wrote a Chip-8 emulator (VM?) in C# and then tweaked it so that Bridge.NET could compile it down to JavaScript:<p><a href="https://blog.dantup.com/2016/06/dachip8js-my-csharp-chip8-interpreter-running-in-the-browser/" rel="nofollow">https://blog.dantup.com/2016/06/dachip8js-my-csharp-chip8-in...</a>
Also missing a 6502 emulator I wrote in Go that is transpiled to JavaScript using Gopherjs: <a href="https://play.dodolabs.io/?code=89e9a475" rel="nofollow">https://play.dodolabs.io/?code=89e9a475</a>
Missing a TI calculator emulator I wrote in C that can be compiled with emscripten and run in the browser (does that count?):<p><a href="https://github.com/KnightOS/z80e" rel="nofollow">https://github.com/KnightOS/z80e</a>