Giter Club home page Giter Club logo

jsemu's Introduction

Emulators written in JavaScript

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

Amstrad

  • CPCBox - Amstrad CPC emulator in JavaScript (archive link)
  • CPC Tiny Emu - by Andre Weissflog (source)
  • Roland - An Amstrad CPC emulator written in JavaScript. (Source)

Apple

Atari

Commodore

Data General

DEC

Nintendo

  • 1964js - JavaScript port of the 1964 N64 emulator for Windows
  • CfxNES - JavaScript NES Emulator (Demo)
  • 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 Game Boy Advance emulator written entirely in JavaScript (Source)
  • gba.ninja - JavaScript port of VisualBoyAdvance-M, a Game Boy 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
  • N64Wasm - A web based N64 Emulator (Source)
  • XNES - Experimental JavaScript Super Nintendo emulators (Source)
  • jsGB - A Game Boy emulator in JavaScript (Source)
  • jsGBC - Game Boy 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)
  • DeSmuME-wasm - A WebAssembly port of the DeSmuME Nintendo DS emulator (Demo)
  • Desmond.js - A portable/embeddable version of DeSmuME-wasm (Demo)
  • SkyEmu - SkyEmu is a low level Game Boy, Game Boy Color and Game Boy Advance emulator
  • CAMLBOY - A Game Boy emulator that runs in your browser written in OCaml
  • TinyGB - A Game Boy emulator that runs only in the terminal written in NodeJS
  • Boytacean - A Game Boy emulator written in Rust that works in the Browser using WebAssembly (Source)

Robotron / VEB Mikroelektronik

Sega

Sinclair

Sony

  • eNGE - JavaScript browser based PSX emulator (runs games at full speed) (Source)
  • PSeudo - JavaScript/WebGL/WebAudio browser based PLAYSTATION emulator (aka PSX) (needs boot ROM image, not supplied) (Source)
  • PCSXjs - Modified PCSX-Reloaded compiled with Emscripten (Source)
  • WASMpsx - Easily embeddable fork of PCSXjs
  • kpspemu - PSP Emulator written in Kotlin for JVM, JS and Native
  • Play!.js - This is a port of Play!, a PlayStation2 emulator, running in a web browser

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 (Game Boy), Genesis Plus GX, Handy (Lynx), Snes9x Next, VBA Next (Game Boy 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)
  • EmulatorJS - RetroArch compiled to emscripten with a nice wrapper (source)

PC Emulators

  • Em-DOSBox - An Emscripten port of DOSBox (Demo)
  • Halfix - x86 PC emulator that runs both natively and in the browser, via WebAssembly (Demo 1, Demo2)
  • js-dos - WebAssembly port of DOSBox (fork of Em-DOSBox with better js API) (Demo,Source)
  • JS/Linux - JavaScript PC emulator
  • JsDOSBox - JavaScript PC DOS emulator (Source)
  • PCjs - IBM PC Model 5150 emulator (Source)
  • QemuJS - An Emscripten port of QEMU (Demo)
  • Virtual x86 - x86 virtualization in your browser, recompiling x86 to wasm on the fly (Source)
  • jemul8 - An object-oriented JavaScript x86 emulator for Node.js and the Browser (Source)
  • jsbochs - Bochs PC emulator for the Browser (Source)
  • Boxedwine - An emulator that runs Windows applications using Wine and emulating a Linux kernel and CPU (Source)

Bare CPUs

  • 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)
  • AVR8js - AVR architecture emulator, capable of running Arduino code (source)
  • EMF Arcade Invaders - EMF-based 8080 Emulator with Space Invaders ROM - by Steven Goodwin (@MarquisdeGeek) (Source)
  • 8086tiny running FreeDOS - An Emscriptem port of Adrian Cable's 8086tiny. Source, and other emulators ported by Clay Shippy, at https://github.com/tecan/emscripten-projects.
  • Angel - JavaScript RISC-V ISA simulator booting Linux in a web-browser
  • 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 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)
  • FRISCjs - an 8-register educational RISC from the University of Zagreb, with both assembler and front panel, by Ivan Žužak. 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
  • iRISC - Interactive ARMv7 assembly language interpreter and computer architecture simulator (Source)
  • JavaScript 8080 Emulator - 8080 arcade game emulator in JavaScript
  • Mipsdis - MIPS disassembler that runs in the browser
  • RISC Relay Computer - Relay based computer project with a 16 bit RISC CPU. Emulator includes an assembler and source for a calculator program. By RJH. See website.
  • RISCVEMU - RISC-V emulator boots 64-bit Linux. By Fabrice Bellard.
  • RP2040js - Raspberry Pi Pico (RP2040 / Arm Cortex-M0+) emulator with C/C++/MicroPython/CircuitPython support (Source)
  • Simple 8-bit Assembler Simulator - Provides a simplified assembler syntax (based on NASM) and is simulating a x86 like CPU (Source)
  • uARM.wasm - ARMv5TE emulator running Linux in browsers (Source)
  • Unicorn.js - The Unicorn emulator framework, now available for JavaScript (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.
  • Visual Z80 - JavaScript simulator for the Z80 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)
  • ZUSIE - JavaScript simulation of Fredrik Andersson's homebrew relay machine inspired by Zuse's machines.

Early machines

Calculator emulators

Microcode-level calculators

Workalike calculators

Miscellaneous

Adventure Game Engines

  • Emscripten ScummVM - Emscripten fork of the ScummVM engine
  • 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)

Additional Information

This resource collection is maintained by Frederic Cambus.

License

CC0

To the extent possible under law, Frederic Cambus has waived all copyright and related or neighboring rights to this work.

jsemu's People

Contributors

biged avatar caldwell avatar cas-c avatar diversen avatar doodlewind avatar ethanaobrien avatar fcambus avatar felipebueno avatar floogulinc avatar floooh avatar jaens avatar joamag avatar joedborg avatar jung-kurt avatar koenkivits avatar kootstra-rene avatar ledyba avatar mborgbrant avatar nbarkhina avatar neophob avatar nippur72 avatar ohuet avatar pavel-krivanek avatar pixelsuft avatar ppeccin avatar rajsite avatar readmecritic avatar simon-paris avatar tonylianlong avatar urish avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

jsemu's Issues

Dead Links

Amstrad: Roland
Commodore: c64js
DEC: PDP-8I emulator
Nintendo: NESNES
Sinclair: JtyOne Online ZX81 Emulator
Tandy: jTandy, redirects to ad
Early machines: WITCH Emulator

FRISCjs

Hi fcambus,
I've tried adding the following at the bottom of "Bare CPUs section":
...
@@ -147,6 +147,7 @@
- jslm32 - JavaScript LatticeMico32 emulator running Linux (Source)
+- FRISCjs - FRISCjs is a simulator of the FRISC processor written in JavaScript. FRISC is a simple, educational RISC processor developed at the University of Zagreb, Faculty of Electrical Engineering and Computing. (Source)
...

but, unfortunately, GH threw an error (I'm not exactly an expert).

Would you review my contribution, please?
Looks cool to me. I believe it'd be an interesting addition.

Sincerely,
Mel

Webcontainers

This page doesn't mention Webcontainers: this is apparently an emulator that runs a node.js server in a web browser. Should it be included in the list of emulators?

Suggested Additions

Here are a few you can add if you like -

Adventure Game Engines

  • Sarien - Sierra On-Line game emulator
  • Parchment - Infocom/Inform web interpreter
  • IFVMS - Infocom/Inform web interpreter
  • ZZTJS - ZZT game engine
  • ZZTMMO - Multiplayer ZZT game engine
  • ngPAWS - Professional Adventure Writer (PAW) web interpreter

Move Emscripten ScummVM from Miscellaneous to this section?

Miscellaneous

  • RockyJS - Pebble Watch interpreter/emulator

A JS retro game remake page would be good too! I'd be happy to contribute too.

Nate

jupiler link dead

The link for juplier (jupiler.retrolandia.net) redirects to a malicious site according to my antivirus - looks like the domain is for sale.

jupiler - Jupiter Ace emulator written in JavaScript

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.