Emulators written in JavaScript

2014-06-12 15:46

A list of emulators written in the JavaScript programming language.

This list started as a compilation of JavaScript emulators posted to Echo JS over the years. If you know about any missing emulators, please consider adding them to the collection: the source for this page is available on GitHub. Thank you in advance.

Acorn

Altair

MITS Altair Simulator Front panel simulation of the 8080-based Altair, by Ian Davies, built on 8080.js

Amstrad

CPCBox - Amstrad CPC emulator in JavaScript

Roland - An Amstrad CPC emulator written in JavaScript

CPC Tiny Emu - by Andre Weissflog (source)

Apple

Atari

8bit Workshop - VCS IDE by Steven Hugg, building on Javatari.js

EstyJS - A pretty fast and functional JavaScript Atari ST emulator (Source)

Javatari.js - Atari 2600 emulator by Paulo Augusto Peccin. (Example cartridges online) (Source)

jsA8E - JavaScript version of the A8E Atari 800 XL Emulator

Commodore

Data General

Novas Are Forever - by Wild Hare Computer Systems, for the 50th anniversary.

DEC

Nintendo

1964js - JavaScript port of the 1964 N64 emulator for Windows

CycloaJS - JavaScript NES Emulator (Source)

em-fceux - an Emscripten port of FCEUX, an emulator of NES, Famicom, Famicom Disk System (FDS), and Dendy consoles. Demo site

GBA.js - Game Boy Advance in the Browser (Source)

IodineGBA - A GameBoy Advance emulator written entirely in JavaScript (Source)

gba.ninja - JavaScript port of VisualBoyAdvance-M, a GameBoy Advance emulator (Source)

JSNES - A JavaScript NES emulator (Source)

NESNES - JavaScript NES emulator, also available as a web component (Source)

Nezulator - A NES emulator in JavaScript

XNES - Experimental JavaScript Super Nintendo emulators (Source)

jsGB - A GameBoy emulator in JavaScript (Source)

jsGBC - GameBoy Color Emulator written in JavaScript (Source)

mupen64plus - A port of the popular Nintendo 64 emulator for the Web (Source)

n64js - An N64 emulator in JavaScript (Source)

pinky - A Rust based NES emulator ported to the web via WebAssembly (Source)

Robotron / VEB Mikroelektronik

Sega

jsSMS - JavaScript Sega Master System & Game Gear emulator (Source)

Miracle - Sega Master System emulator (Source)

Sinclair

Sony

PSeudo - JavaScript/WebGL/WebAudio browser based PLAYSTATION emulator (aka PSX) (needs boot ROM image, not supplied) (Source)

Tandy

Multi-system Emulators

JSMESS examples - The JavaScript MESS (Multi Emulator Super System) (Source) (Notes)

PCE - PC emulators in JavaScript (Atari ST, IBM PC 5150, Macintosh, RC759 Piccoline)

RetroArch - JavaScript port of RetroArch (bundles Gambatte (Gameboy), Genesis Plus GX, Handy (Lynx), Snes9x Next, VBA Next (GameBoy Advance), Tyrquake and FinalBurn Alpha)

RetroWeb - collection of Javascript emulators and boot media, including Apple-IIe (VisiCalc), Macintosh (System 1.0), Atari 1040ST, Commodore 64, Amiga 500 (Workbench 1.3), IBM PC Model 5150 (PC-DOS, CP/M-86, Cassette Basic), IBM PC XT (DOS, GEM 1.2, VisiCalc, Windows 1.01, 8088 Corruption demo), RC759 Piccoline (Eliza, Bil-simulation, Concurrent CP/M-86), TRS-80.

YAKC - Z1013, Z9001, KC85/2 family, Speccy, CPC, Acorn Atom, C64, with integrated debugging UI (source)

Tiny Emulators - based on the same chip- and system-emulator source code as YAKC, but as minimal WASM apps without fluff (source)

PC Emulators

Em-DOSBox - An Emscripten port of DOSBox (Demo)

JS/Linux - JavaScript PC emulator

JsDOSBox - JavaScript PC DOS emulator (Source)

PCjs - IBM PC Model 5150 emulator

Virtual x86 - An x86 emulator written in JavaScript (Source)

jemul8 - An object-oriented JavaScript x86 emulator for Node.js and the Browser (Source)

jsbochs - Bochs PC emulator for the Browser (Source)

Bare CPUs

Early machines

Calculator emulators

Microcode-level calculators

Workalike calculators

Miscellaneous

Adventure Game Engines

Emscripten ScummVM - Emscripten fork of the ScummVM engine (Source)

IFVMS - Infocom/Inform Web interpreter

Parchment - Infocom/Inform Web interpreter

ZZTJS - ZZT game engine in JavaScript

ngPAWS - Professional Adventure Writer (PAW) Web interpreter

See also (lists of JavaScript emulators elsewhere)