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.
Lastly, if you are into JavaScript, you might enjoy Echo JS.
- ElkJS - JavaScript based Acorn Electron emulator (Source)
- Acorn Atom Emulator - by Phil Mainwaring. Type "OLD" for an Easter Egg
- JSBeeb - JavaScript BBC Micro emulator (Source) (Development blog)
- Apple 1js - by Will Scullin
- Apple IIjs - An Apple ][ Emulator in JavaScript
- a2 - A fast, WebGL optimized Apple ][+ emulator.
- Apple2JS - A JavaScript emulator for the Apple II
- Yet Another Apple 2+ in JavaScript - by Thomas Skibo
- 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 LCD emulator - by Gabor Lenart
- Commodore PET - by Thomas Skibo
- JSC64 - Commodore 64 emulator written in JavaScript (Source)
- c64js - Commodore 64 emulator written in JavaScript by Mikael Borgbrant (Source)
- jsSID - SID player with minimal necessary C64 emulation (Source)
- Kim1 - emulation in JavaScript by Rob Sayers (Source)
- SAE - Scripted Amiga Emulator (Source)
- VIC-20 Emulator - JavaScript VIC-20 emulator
- VICE.js - Versatile Commodore Emulator for JavaScript (Source)
- PDP-1 running the SpaceWar game and the Minskytron demo - by Norbert Landsteiner
- PDP-8I emulator running FOCAL,1969 - by "Warlockd"
- Javascript PDP 11 - PDP-11/70 emulator with simulated front panel and a choice of operating systems. By Paul Nankervis
- PDP-11 Emulator - A JavaScript PDP-11 emulator running UNIX Sixth Edition. By Julius Schmidt
- pdp11-js - PDP-11 emulator with UNIX V6. By Takahiro Aoyagi
- 1964js - JavaScript port of the 1964 N64 emulator for Windows
- CycloaJS - JavaScript NES Emulator (Source)
- GBA.js - Game Boy Advance in the Browser (Source)
- GameBoy Online - JavaScript GameBoy Color emulator (Source)
- IodineGBA - A GameBoy Advance emulator written entirely in JavaScript (Source)
- JS-VBA-M - JavaScript port of VisualBoyAdvance-M, a Game Boy Color / Advance emulator
- 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)
- fam - JavaScript NES emulator (Source)
- jsGB - A GameBoy emulator in JavaScript (Source)
- mupen64plus - A port of the popular Nintendo 64 emulator for the Web (Source)
- n64js - An N64 emulator in JavaScript (Source)
- KC85_Emu - KC85/3 and KC85/4 emulator by Alexander Lang
- YAKC - Yet Another KC emulator by A.Weissflog (KC85/2..4, KC87, Z9001, Z1013)
- jsSMS - JavaScript Sega Master System & Game Gear emulator (Source)
- Miracle - Sega Master System emulator (Source)
- Enterprise-128 JavaScript Emulator - by Gábor Lénárt, based on JSSpeccy
- JSSpeccy - A ZX Spectrum emulator in JavaScript (Source)
- JtyOne Online ZX81 Emulator - by Simon Holdsworth
- Qaop/JS - ZX Spectrum emulator
- ZX80 Emulator - JavaScript ZX80 Emulator
- jBacteria - The smallest JavaScript Spectrum emulator
- Science of Cambridge MK14 simulator - by Doug Rice, based on Paul Robson's offline emulator.
- MC-10 Emulator - Emulator for the TRS-80 MC-10 microcomputer
- TRS-80 Model III Emulator a Javascript emulator for the TRS-80 Model III
- JS Mocha - The HTML5 CoCo 2 Emulator
- jTandy - Another JavaScript TRS-80 emulator
- 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.
- 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)
- 8008 running SCELBAL by Mark G. Arnold. ("SCELBAL is the only open-source, floating-point, high-level language ever implemented on the 8008")
- 8080 CPU emulator - Intel 8080 CPU emulator running Space Invaders ROM (Source)
- Angel - JavaScript RISC-V ISA simulator booting linux in a web-browser (Source)
- Angular 2 6502 written with TypeScript and Angular 2, by Jeremy Likness
- ARM-js - An ARM emulator written in JavaScript (Source)
- ASM80 - Online assembler for 8-bit microprocessors by Martin Malý. Includes emulation of several machines: 8080, Z80, 6502, 6809. (Sources)
- Basic MIPS functional simulator and Basic MIPS pipelined simulator by Mianzhi Wang (morriswmz). (Source)
- Easy6502 - JavaScript 6502 tutorial and emulator (Source)
- EduMIPS64 - educational MIPS64 CPU, ported from Java by Andrea Spadaccini using GWT (see blog here.) (Source)
- Imaginary 6502 - 6502 Emulator and Assembler
- Intel 4004 emulator - by Maciej Szyc. Includes assembler and disassembler.
- Intel 8080 CPU Emulator - Emulates a minimal Intel 8080 Microcomputer that runs CP/M
- JavaScript 8080 Emulator - 8080 arcade game emulator in JavaScript
- Simple 8-bit Assembler Simulator - Provides a simplified assembler syntax (based on NASM) and is simulating a x86 like CPU (Source)
- Visual ARM1 - JavaScript/WebGL for ARM's first CPU, modelling 25000 transistors at switch level and animating the original chip layout - in 3D. See the blog post
- Visual 6502 - JavaScript simulator for the 6502 CPU, modelling thousands of transistors at switch level and animating the original chip layout. See also expert mode.
- Visual 6800 - JavaScript simulator for the Motorola 6800 CPU, modelling thousands of transistors at switch level and animating the original chip layout.
- Visulator - x86 machine emulator that visualizes how each instruction is processed (Source)
- YAMD - Yet Another MIPS Debugger (Source)
- jor1k - OpenRISC OR1K JavaScript emulator running Linux with network support (Source)
- jslm32 - JavaScript LatticeMico32 emulator running Linux (Source)
- Babbage's Difference Engine (First funded 1823, first full build in 1855, first full rebuild in 1991)
- Turing machine simulated in JavaScript. See here for more information. (1936)
- Z1 machine's adder in 3D JavaScript/WebGL interactive simulation of the mechanical adder of Zuse's first machine. By Jakob Mischek (Source) (1938)
- Z3 machine's adder - ripple-carry electromechanical adder simulated in JavaScript, by Henry Raymond, Patrick Seewald and Vijeinath Tissaveerasingham. Explanation (1941)
- JsSSEM - Manchester Small-Scale Experimental Machine emulator (Also check Computer/zero which is very loosely based on the SSEM, and its tutorial) (1948)
- C88 - C88 computer simulation (The Homebrew CPU inspired by the SSEM) (1948)
- EDSAC on Browser - by NISHIO Hirokazu (Programming guide) (1949)
- WITCH Emulator - The Harwell Dekatron Machine, by Justin King. (Source and example programs) (1951)
- UNIVAC I emulator - by Nobert Landsteiner (1951)
- ElectroData/Burroughs Datatron 205 Emulator - by Paul Kimpel (Source) (1954)
- Digi-Comp 1 - educational plastic computer from 1963. Emulator by Larry Groebe and Kevin Williams. (1963)
- Burroughs B5500 emulator - Burroughs B5500 emulator in JavaScript (Source) (1964)
- Apollo Guidance Computer - Moonjs a port by Shahriar Iravanian of Ronald Burkey's Virtual AGC. (1966)
- CARDIAC - Bell Labs' CARDIAC cardboard computer from 1969. Instructions (1969)
- Kenbak-1 - John Blankenbaker's TTL-based 256byte personal computer. More information (1970)
- Ordinapoche - A paper computer from France, invented 1969, popularised in 1981 and 1985. (More here and see also the 1981 magazine)
- NRI 832 Emulator by Paul Robson. (See blog for source.) (1971)
- HP-35 - bug-compatible emulator by Ashley Feniello explained here using Eric Smith's and Jacques Laporte's work
- HP-35, HP-45, HP-55, HP-65, HP-80 - collection of HP Classics, based on Feniello's work, by Francois Roulet
- HP-45 - statically recompiled ROM by Norbert Kehrer
- HP-65 and HP-67 - with extra debug menu, by Greg Sydney-Smith
- Sinclair Scientific and TI-1500 - calculator simulations including full description of the algorithms and the reverse-engineering process. By Ken Shirriff
- TI-92 Plus emulator - JavaScript emulator for the TI-92 Plus
- HP-11C, HP-12C Platinum, HP-16C - by Elvis Pfützenreuter
- HP-15C - by Greg Hewgill. (Source)
- HP-21 and HP-29 by Greg Sydney-Smith (See here and here)
- HP-25 - by John Clenance
- HP-35 - JavaScript emulator by Neil Fraser
- HP-35 SOS - modified HP-35 with stack overflow sensing LED, by Hans Klaver, based on Fraser's work
- HP-48 - JavaScript implementation of the most commonly used HP-48 functions. More info here, by Josh Poley
- C1Pjs - JavaScript simulation of the Challenger 1P
- CFT - JavaScript simulation of Alexios Chouchoulas' 16-bit homebrew TTL machine. (More information including documentation and a video.)
- Chip-8 virtual machine by Alexander Dickson - see blog entry
- Chip-8 virtual machine by Brian Milton (Source may target several CPUs)
- Compucolor II Emulator - JavaScript Compucolor II Emulator
- Compukit UK101 - by David Stevenson
- COSMAC Elf-ish - simulator by William Donnelly
- DCMO5 Online - Thomson MO5 JavaScript emulator
- Heathkit ET3400 - by Phil Mainwaring. Click "Do" then "0000". (Instructions)
- IBM 5110 Emulator by Norbert Kehrer runs Basic or APL.
- jsH89 - Heathkit H89 emulator (runs CP/M) by Mark Garlanger
- JS99'er - TI-99/4A emulator written in JavaScript (Source)
- JSGS - Experimental JavaScript implementation of the Pico-8 fantasy console (Source)
- JSVecX - JavaScript port of the VecX Vectrex emulator
- JsPspEmu - JavaScript PSP emulator (Source)
- Little Man Computer a minimal CPU for teaching - emulator by Matthew Krutar. (Background)
- Little Man Computer a minimal CPU for teaching - emulator by Peter Higginson. (Background)
- NanoWasp - A MicroBee emulator
- Nascom 2 emulator by Tommy Thorn. (J to start Basic) (Source)
- One Instruction Set Computer (OISC) by Peter Crampton, presented by Brian L. Stuart. (Explanation)
- Orao - Orao emulator by Hrvoje Cavrak (More information)
- PC-01 Lviv - An emulator for the PC-01 Lviv (Ukrainian home computer) (Source)
- RockyJS - Pebble watch interpreter/emulator
- Radio-86RK Radio-86RK emulator in JavaScript (Intel 8080 based 8-bit Russian home computer) (Source)
- KM-Z80 web emulator for Sharp MZ-80K, by Katsumi Morimatsu. GOTO $1200 to start KM-BASIC. (More information)
- Turbo Pascal - A web-based Pascal compiler that runs a subset of Turbo Pascal 5.5 code
- Virt.js - JavaScript emulation library (Source)
- jsMSX - The first MSX emulator 100% written in JavaScript
- jupiler - Jupiter Ace emulator written in JavaScript
- Visual Computer a minimal CPU for teaching by Shimon Schocken. (Web site)
- WebMSX - WebMSX, or simply WMSX, is a new MSX emulator designed for the Web (Source)
- 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
- A Big List of Browser-Based Emulators by Richard Moss
- Qaop/JS – Emulator links by Jan Bobrowski
This resource collection is maintained by Frederic Cambus
- Site : http://www.cambus.net
- Twitter: https://twitter.com/fcambus
To the extent possible under law, Frederic Cambus has waived all copyright and related or neighboring rights to this work.