└── README.md /README.md: -------------------------------------------------------------------------------- 1 | # Emulators written in JavaScript 2 | 3 | A list of emulators written in the JavaScript programming language. 4 | 5 | This list started as a compilation of JavaScript emulators posted to Echo JS 6 | over the years. If you know about any missing emulators, please consider 7 | adding them to the collection: the source for this page is available on 8 | [GitHub](https://github.com/fcambus/jsemu). Thank you in advance. 9 | 10 | ## Acorn 11 | 12 | - [Atom Tiny Emu](https://floooh.github.io/tiny8bit/atom.html) - by Andre Weissflog ([source](https://github.com/floooh/chips-test)) 13 | - [Acorn Atom Emulator](http://econet.network/atom/) - by Phil Mainwaring. Software archive [here](http://econet.network/atom/menu.html). (Older version [here](http://phils-place.co.uk/HTeMuLator/atom/): Type "OLD" for an Easter Egg.) 14 | - [ElkJS](https://elkjs.azurewebsites.net/) - JavaScript based Acorn Electron emulator ([Source](https://github.com/dmcoles/elkjs)) 15 | - [JSBeeb](https://bbc.godbolt.org) - JavaScript BBC Micro emulator ([Source](https://github.com/mattgodbolt/jsbeeb)) ([Development blog](https://xania.org/Emulation)) 16 | - [JSAtom](https://jsacorn.commandercoder.com/?model=atom) - JavaScript Acorn Atom emulator including Software Archive ([Source](https://github.com/CommanderCoder/JSATOM)) Based on JSBeeb 17 | 18 | ## Altair 19 | 20 | - [MITS Altair Simulator](https://s2js.com/altair/) Front panel simulation of the 8080-based Altair, by Ian Davies, built on 8080.js 21 | 22 | ## Amstrad 23 | 24 | - [CPCBox](https://web.archive.org/web/20130302051242/http://www.cpcbox.com/) - Amstrad CPC emulator in JavaScript (archive link) 25 | - [CPC Tiny Emu](https://floooh.github.io/tiny8bit/cpc.html) - by Andre Weissflog ([source](https://github.com/floooh/chips-test)) 26 | - Roland - An Amstrad CPC emulator written in JavaScript. ([Source](https://sourceforge.net/p/emuscriptoria/code/HEAD/tree/jcpc.js)) 27 | 28 | ## Apple 29 | 30 | - [Apple 1js](https://www.scullinsteel.com/apple1/) - by Will Scullin 31 | - [Apple2e](https://inindev.github.io/apple2e/) - Apple IIe emulator by John Clark ([Source](https://github.com/inindev/apple2e)) 32 | - [Apple IIjs](https://www.scullinsteel.com/apple2/) - An Apple ][ Emulator in JavaScript 33 | - [a2](https://porkrind.org/a2/) - A fast, WebGL optimized Apple ][+ emulator 34 | - [Apple2JS](https://github.com/gmegidish/apple2js) - A JavaScript emulator for the Apple II 35 | - [BasiliskII](https://github.com/jsdf/macemu) - An Emscripten Port of BasiliskII ([Demo 1](https://jamesfriend.com.au/projects/basiliskii/BasiliskII-worker.html), [Demo 2](http://macintosh-js-html.herokuapp.com/)) 36 | - [MiniVMac-Em](https://github.com/yksoft1/minivmac-em) - An Emscripten Port of MiniVMac ([Demo](https://yksoft1.github.io/mvmacdemo.html)) 37 | - [Yet Another Apple 2+ in JavaScript](http://www.skibo.net/6502/apple2/) - by Thomas Skibo 38 | 39 | ## Atari 40 | 41 | - [8bit Workshop](https://8bitworkshop.com/?platform=vcs&file=examples%2Fhello) - VCS IDE by Steven Hugg, building on Javatari.js 42 | - [EstyJS](https://estyjs.azurewebsites.net) - A pretty fast and functional JavaScript Atari ST emulator ([Source](https://github.com/dmcoles/estyjs)) 43 | - [Javatari.js](https://javatari.org) - Atari 2600 emulator by Paulo Augusto Peccin. ([Example cartridges online](https://www.2600online.com/adventure.php)) ([Source](https://github.com/ppeccin/javatari.js)) 44 | - [jsA8E](http://zerstoerung.de/jsa8e/) - JavaScript version of the A8E Atari 800 XL Emulator 45 | - [JS7800](https://raz0red.github.io/js7800/) - JavaScript Atari 7800 Emulator 46 | 47 | ## Commodore 48 | 49 | - [Commodore LCD emulator](http://commodore-lcd.lgb.hu/jsemu/) - by Gábor Lénárt "LGB" 50 | - [Commodore PET](http://www.skibo.net/6502/pet2001/) - by Thomas Skibo 51 | - [JSC64](https://www.kingsquare.nl/jsc64/) - Commodore 64 emulator written in JavaScript ([Source](https://github.com/Reggino/jsc64)) 52 | - [c64js](https://mborgbrant.github.io/c64js/) - Commodore 64 emulator written in JavaScript by Mikael Borgbrant ([Source](https://github.com/mborgbrant/c64js)) 53 | - [C64 Tiny Emu](https://floooh.github.io/tiny8bit/c64.html) - by Andre Weissflog ([source](https://github.com/floooh/chips-test)) 54 | - [Kim1](http://www.robsayers.com/jskim1/) - emulation in JavaScript by Rob Sayers ([Source](https://github.com/rsayers/jskim1)) 55 | - [SAE](http://scriptedamigaemulator.net) - Scripted Amiga Emulator ([Source](https://github.com/naTmeg/ScriptedAmigaEmulator)) 56 | - [VIC-20 Emulator](https://www.mdawson.net/vic20chrome/vic20.php) - JavaScript VIC-20 emulator 57 | - [VICE.js](https://vice.janicek.co/c64/) - Versatile Commodore Emulator for JavaScript ([Source](https://github.com/rjanicek/vice.js)) 58 | 59 | ## Data General 60 | 61 | - [Novas Are Forever](http://www.novasareforever.org/novajs/index.php) - by Wild Hare Computer Systems, for the 50th anniversary. 62 | 63 | ## DEC 64 | 65 | - [PDP-1 running the SpaceWar game](https://www.masswerk.at/spacewar/) and the [Minskytron demo](https://www.masswerk.at/minskytron/) - by Norbert Landsteiner 66 | - [PDP-8](https://programmer209.wordpress.com/2011/01/30/pdp-8-assembly-language-part-2/) and [PDP-11](https://programmer209.wordpress.com/2011/08/14/pdp-11-assembly-language-simulator/) simulators with assembly language interfaces (explanatory articles with full source, not live site) - by programmer209 67 | - [JavaScript PDP 11](https://skn.noip.me/pdp11/pdp11.html) - PDP-11/70 emulator with simulated front panel and a choice of operating systems. By Paul Nankervis 68 | - [PDP-11 Emulator](http://pdp11.aiju.de/) - A JavaScript PDP-11 emulator running UNIX Sixth Edition. By Julius Schmidt 69 | - [with teletype](https://pavel-krivanek.github.io/pdp11/) - PDP-11 emulator with teletype interface 70 | - [pdp11-js](https://takahirox.github.io/pdp11-js/unixv6.html) - PDP-11 emulator with UNIX V6. By Takahiro Aoyagi ([Source](https://github.com/takahirox/pdp11-js)) 71 | 72 | ## Nintendo 73 | 74 | - [1964js](https://github.com/schibo/1964js) - JavaScript port of the 1964 N64 emulator for Windows 75 | - [CfxNES](https://github.com/jpikl/cfxnes) - JavaScript NES Emulator ([Demo](https://cfxnes.herokuapp.com/)) 76 | - [CycloaJS](https://app.7io.org/CycloaJS/) - JavaScript NES Emulator ([Source](https://github.com/ledyba/CycloaJS)) 77 | - [em-fceux](https://bitbucket.org/tsone/em-fceux) - an Emscripten port of FCEUX, an emulator of NES, Famicom, Famicom Disk System (FDS), and Dendy consoles. [Demo site](https://tsone.kapsi.fi/em-fceux/) 78 | - [GBA.js](https://endrift.github.io/gbajs/) - Game Boy Advance in the Browser ([Source](https://github.com/endrift/gbajs)) 79 | - [IodineGBA](https://taisel.github.io/IodineGBA/) - A Game Boy Advance emulator written entirely in JavaScript ([Source](https://github.com/taisel/IodineGBA)) 80 | - [gba.ninja](https://gba.ninja/) - JavaScript port of VisualBoyAdvance-M, a Game Boy Advance emulator ([Source](https://github.com/simon-paris/gba.ninja)) 81 | - [JSNES](https://jsnes.org) - A JavaScript NES emulator ([Source](https://github.com/bfirsh/jsnes)) 82 | - [NESNES](http://koen.kivits.com/nesnes/) - JavaScript NES emulator, also available as a [web component](https://github.com/koenkivits/x-nes) ([Source](https://github.com/koenkivits/nesnes)) 83 | - [Nezulator](http://zelex.net/nezulator/) - A NES emulator in JavaScript 84 | - [N64Wasm](https://neilb.net/n64wasm/) - A web based N64 Emulator ([Source](https://github.com/nbarkhina/N64Wasm)) 85 | - [XNES](https://tjwei.github.io/xnes/) - Experimental JavaScript Super Nintendo emulators ([Source](https://github.com/tjwei/xnes)) 86 | - jsGB - A Game Boy emulator in JavaScript ([Source](https://github.com/Two9A/jsGB)) 87 | - [jsGBC](https://ardean.github.io/jsGBC-web/) - Game Boy Color Emulator written in JavaScript ([Source](https://github.com/ardean/jsGBC)) 88 | - [mupen64plus](https://jquesnelle.github.io/mupen64plus-ui-console/) - A port of the popular Nintendo 64 emulator for the Web ([Source](https://github.com/jquesnelle/mupen64plus-ui-console/)) 89 | - [n64js](https://hulkholden.github.io/n64js/) - An N64 emulator in JavaScript ([Source](https://github.com/hulkholden/n64js)) 90 | - [pinky](https://koute.github.io/pinky-web/) - A Rust based NES emulator ported to the web via WebAssembly ([Source](https://github.com/koute/pinky/tree/master/pinky-web)) 91 | - [DeSmuME-wasm](https://github.com/44670/desmume-wasm) - A WebAssembly port of the DeSmuME Nintendo DS emulator ([Demo](https://ds.44670.org/)) 92 | - [Desmond.js](https://github.com/Unzor/desmond) - A portable/embeddable version of DeSmuME-wasm ([Demo](https://js-emulators.github.io/desmond/)) 93 | - [SkyEmu](https://github.com/skylersaleh/SkyEmu) - SkyEmu is a low level Game Boy, Game Boy Color and Game Boy Advance emulator 94 | - [CAMLBOY](https://github.com/linoscope/CAMLBOY) - A Game Boy emulator that runs in your browser written in OCaml 95 | - [TinyGB](https://github.com/Unzor/TinyGB) - A Game Boy emulator that runs only in the terminal written in NodeJS 96 | - [Boytacean](https://boytacean.joao.me) - A Game Boy emulator written in Rust that works in the Browser using WebAssembly ([Source](https://github.com/joamag/boytacean)) 97 | 98 | ## Robotron / VEB Mikroelektronik 99 | 100 | - [KC85\_Emu](https://lanale.de/kc85_emu/KC85_Emu.html) - KC85/3 and KC85/4 emulator by Alexander Lang 101 | - KC85/2 family emulators by Andre Weissflog ([source](https://github.com/floooh/chips-test)): 102 | * [KC85/2 Tiny Emu](https://floooh.github.io/tiny8bit/kc85.html?type=kc85_2) 103 | * [KC85/3 Tiny Emu](https://floooh.github.io/tiny8bit/kc85.html?type=kc85_3) 104 | * [KC85/4 Tiny Emu](https://floooh.github.io/tiny8bit/kc85.html?type=kc85_4) 105 | - [LC-80](https://floooh.github.io/tiny8bit/lc80.html) - single board U880-based trainer from the DDR (warning: auto-plays sound at boot), via emscripten. By Andre Weissflog ([source](https://github.com/floooh/chips-test)) 106 | - [Z1013 Tiny Emu](https://floooh.github.io/tiny8bit/z1013.html) - by Andre Weissflog ([source](https://github.com/floooh/chips-test)) 107 | - [KC87 Tiny Emu](https://floooh.github.io/tiny8bit/z9001.html?type=kc87) - by Andre Weissflog ([source](https://github.com/floooh/chips-test)) 108 | 109 | ## Sega 110 | 111 | - [jsSMS](https://gmarty.github.io/jsSMS/) - JavaScript Sega Master System & Game Gear emulator ([Source](https://github.com/gmarty/jsSMS)) 112 | - [Miracle](https://xania.org/miracle/miracle.html) - Sega Master System emulator ([Source](https://github.com/mattgodbolt/Miracle)) 113 | 114 | ## Sinclair 115 | 116 | - [JSSpeccy](http://jsspeccy.zxdemo.org) - A ZX Spectrum emulator in JavaScript ([Source](https://github.com/gasman/jsspeccy2)) 117 | - [JtyOne Online ZX81 Emulator](http://www.zx81stuff.org.uk/zx81/jtyone.html) - by Simon Holdsworth 118 | - [Qaop/JS](http://torinak.com/qaop) - ZX Spectrum emulator 119 | - [ZX80 Emulator](https://nocanvas.zame-dev.org/0004/) - JavaScript ZX80 Emulator 120 | - [EMF ZX80](http://em.ulat.es/machines/SinclairZX80) - EMF-based ZX80 Emulator - by Steven Goodwin (@MarquisdeGeek) ([Source](https://github.com/MarquisdeGeek/emf-emulator-sinclair-zx80)) 121 | - [EMF ZX81](http://em.ulat.es/machines/SinclairZX81) - EMF-based ZX81 Emulator - by Steven Goodwin (@MarquisdeGeek) ([Source](https://github.com/MarquisdeGeek/emf-emulator-sinclair-zx81)) 122 | - [Science of Cambridge MK14 simulator](http://www.dougrice.plus.com/dev/seg_mk14.htm) - by Doug Rice, based on Paul Robson's offline emulator. 123 | - [ZX Spectrum 48K Tiny Emy](https://floooh.github.io/tiny8bit/zx.html?type=zx48k) - by Andre Weissflog ([source](https://github.com/floooh/chips-test)) 124 | - [ZX Spectrum 128 Tiny Emu](https://floooh.github.io/tiny8bit/zx.html?type=zx128) - by Andre Weissflog ([source](https://github.com/floooh/chips-test)) 125 | 126 | ## Sony 127 | 128 | - [eNGE](https://kootstra-rene.github.io/enge-js/) - JavaScript browser based PSX emulator (runs games at full speed) ([Source](https://github.com/kootstra-rene/enge-js)) 129 | - PSeudo - JavaScript/WebGL/WebAudio browser based PLAYSTATION emulator (aka PSX) (needs boot ROM image, not supplied) ([Source](https://github.com/dkoluris/pseudo)) 130 | - [PCSXjs](https://tjwei.github.io/pcsxjs/) - Modified PCSX-Reloaded compiled with Emscripten ([Source](https://github.com/tjwei/pcsxjs)) 131 | - [WASMpsx](https://github.com/js-emulators/WASMpsx) - Easily embeddable fork of PCSXjs 132 | - [kpspemu](https://github.com/kpspemu/kpspemu) - PSP Emulator written in Kotlin for JVM, JS and Native 133 | - [Play!.js](https://playjs.purei.org) - This is a port of Play!, a PlayStation2 emulator, running in a web browser 134 | 135 | ## Tandy 136 | 137 | - [CloudT TRS-80 Model 100 Emulator](https://bitchin100.com/CloudT/#/M100Display) - by John R. Hogerhuis ([Announcement](https://www.mail-archive.com/m100@lists.bitchin100.com/msg02714.html)) 138 | - [MC-10 Emulator](http://mc-10.com/) - Emulator for the TRS-80 MC-10 microcomputer 139 | - [TRS-80 Model III Emulator](http://trsjs.48k.ca/trs80.html) a JavaScript emulator for the TRS-80 Model III, by Peter Phillips 140 | - [JS Mocha](http://www.haplessgenius.com/mocha/) - The HTML5 CoCo 2 Emulator 141 | 142 | ## Multi-system Emulators 143 | 144 | - [JSMESS examples](https://archive.org/details/historicalsoftware) - The JavaScript MESS (Multi Emulator Super System) ([Source](https://github.com/jsmess/jsmess)) ([Notes](https://github.com/jsmess/jsmess/wiki)) 145 | - [PCE](https://github.com/jsdf/pce) - PC emulators in JavaScript (Atari ST, [IBM PC 5150](https://jamesfriend.com.au/pce-js/ibmpc-win/), [Macintosh](https://jamesfriend.com.au/pce-js/), RC759 Piccoline) 146 | - [RetroArch](https://toadking.com/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) 147 | - [RetroWeb](http://retroweb.maclab.org) - 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. 148 | - [YAKC](https://floooh.github.io/virtualkc/) - Z1013, Z9001, KC85/2 family, Speccy, CPC, Acorn Atom, C64, with integrated debugging UI ([source](https://github.com/floooh/yakc)) 149 | - [Tiny Emulators](https://floooh.github.io/tiny8bit/) - based on the same chip- and system-emulator source code as YAKC, but as minimal WASM apps without fluff ([source](https://github.com/floooh/chips-test)) 150 | - [EmulatorJS](https://emulatorjs.netlify.app/) - RetroArch compiled to emscripten with a nice wrapper ([source](https://github.com/emulatorjs/emulatorjs)) 151 | 152 | ## PC Emulators 153 | 154 | - [Em-DOSBox](https://github.com/dreamlayers/em-dosbox) - An Emscripten port of DOSBox ([Demo](http://playdosgamesonline.com/)) 155 | - [Halfix](https://github.com/nepx/halfix/) - x86 PC emulator that runs both natively and in the browser, via WebAssembly ([Demo 1](https://nepx.github.io/halfix-demo/), [Demo2](https://pixelsuft.github.io/onwin/)) 156 | - [js-dos](https://js-dos.com) - WebAssembly port of DOSBox (fork of Em-DOSBox with better js API) ([Demo](https://js-dos.com/#js-dos-622-demo),[Source](https://github.com/caiiiycuk/js-dos)) 157 | - [JS/Linux](https://bellard.org/jslinux/) - JavaScript PC emulator 158 | - [JsDOSBox](http://jsdosbox.sourceforge.net) - JavaScript PC DOS emulator ([Source](https://sourceforge.net/projects/jsdosbox/files/)) 159 | - [PCjs](https://www.pcjs.org) - IBM PC Model 5150 emulator ([Source](https://github.com/jeffpar/pcjs)) 160 | - [QemuJS](https://github.com/atrosinenko/qemujs) - An Emscripten port of QEMU ([Demo](https://atrosinenko.github.io/qemujs-demo)) 161 | - [Virtual x86](https://copy.sh/v86/) - x86 virtualization in your browser, recompiling x86 to wasm on the fly ([Source](https://github.com/copy/v86)) 162 | - [jemul8](http://jemul8.com) - An object-oriented JavaScript x86 emulator for Node.js and the Browser ([Source](https://github.com/asmblah/jemul8)) 163 | - jsbochs - Bochs PC emulator for the Browser ([Source](https://github.com/codinguncut/jsbochs)) 164 | - [Boxedwine](http://www.boxedwine.org/) - An emulator that runs Windows applications using Wine and emulating a Linux kernel and CPU ([Source](https://github.com/danoon2/Boxedwine)) 165 | 166 | ## Bare CPUs 167 | 168 | - [8008 running SCELBAL](http://www.xlnsresearch.com/scelbal.htm) by Mark G. Arnold. ("SCELBAL is the only open-source, floating-point, high-level language ever implemented on the 8008") 169 | - [8080 CPU emulator](http://typedarray.org/wp-content/projects/Intel8080/index.html) - Intel 8080 CPU emulator running Space Invaders ROM ([Source](https://github.com/thibaultimbert/Intel8080)) 170 | - [AVR8js](https://wokwi.com/arduino/projects/297787059514376717) - AVR architecture emulator, capable of running Arduino code ([source](https://github.com/wokwi/avr8js)) 171 | - [EMF Arcade Invaders](http://em.ulat.es/machines/TaitoSpaceInvaders) - EMF-based 8080 Emulator with Space Invaders ROM - by Steven Goodwin (@MarquisdeGeek) ([Source](https://github.com/MarquisdeGeek/emf-emulator-arcade_invaders)) 172 | - [8086tiny running FreeDOS](https://www.netpipe.ca/apps/8086tiny/8086tiny.html) - An Emscriptem port of Adrian Cable's 8086tiny. Source, and other emulators ported by Clay Shippy, at [https://github.com/tecan/emscripten-projects](emscripten-projects). 173 | - [Angel](https://github.com/riscv/riscv-angel) - JavaScript RISC-V ISA simulator booting Linux in a web-browser 174 | - [Angular 2 6502](https://github.com/JeremyLikness/6502emulator#readme) written with TypeScript and Angular 2, by Jeremy Likness 175 | - [ARM-js](https://biged.github.io/arm-js/arm-js.html) - An ARM emulator written in JavaScript ([Source](https://github.com/ozaki-r/arm-js)) 176 | - [ASM80](https://www.asm80.com) - Online assembler for 8-bit microprocessors by Martin Malý. Includes emulation of several machines: 8080, Z80, 6502, 6809. ([Sources](https://github.com/maly)) 177 | - Basic MIPS functional simulator by Mianzhi Wang (morriswmz). ([Source](https://github.com/morriswmz/SimpleMIPS.js)) 178 | - [Easy6502](https://skilldrick.github.io/easy6502/) - JavaScript 6502 tutorial and emulator ([Source](https://github.com/skilldrick/easy6502)) 179 | - [EduMIPS64](https://web.edumips.org/) - [Educational MIPS64 CPU](https://www.edumips.org/), ported from Java by Andrea Spadaccini using GWT (see blog [here](http://edumips64.blogspot.com/2016/06/towards-javascript-port-of-edumips64.html).) ([Source](https://github.com/lupino3/edumips64)) 180 | - [FRISCjs](http://ivanzuzak.info/FRISCjs/webapp/) - an 8-register educational RISC from the University of Zagreb, with both assembler and front panel, by Ivan Žužak. [Source](https://github.com/izuzak/FRISCjs) 181 | - [Imaginary 6502](https://www.mdawson.net/asm6502/6502asm.php) - 6502 Emulator and Assembler 182 | - [Intel 4004 emulator](http://e4004.szyc.org/) - by Maciej Szyc. Includes assembler and disassembler. 183 | - [Intel 8080 CPU Emulator](https://www.tramm.li/i8080/) - Emulates a minimal Intel 8080 Microcomputer that runs CP/M 184 | - [iRISC](https://polysoftit.co.uk/irisc-web/) - Interactive ARMv7 assembly language interpreter and computer architecture simulator ([Source](https://github.com/rtybanana/irisc-web/)) 185 | - [JavaScript 8080 Emulator](https://bluishcoder.co.nz/js8080/) - 8080 arcade game emulator in JavaScript 186 | - [Mipsdis](http://blog.loadzero.com/demo/mipsdis/demo.html) - MIPS disassembler that runs in the browser 187 | - [RISC Relay Computer](https://www.enscope.nl/rrca/) - Relay based computer project with a 16 bit RISC CPU. Emulator includes an assembler and source for a calculator program. By RJH. See [website](http://www.enscope.nl/rrc). 188 | - [RISCVEMU](https://bellard.org/riscvemu/js/) - RISC-V emulator boots 64-bit Linux. By Fabrice Bellard. 189 | - [RP2040js](https://wokwi.com/arduino/projects/297323005822894602) - Raspberry Pi Pico (RP2040 / Arm Cortex-M0+) emulator with C/C++/MicroPython/CircuitPython support ([Source](https://github.com/wokwi/rp2040js)) 190 | - [Simple 8-bit Assembler Simulator](https://schweigi.github.io/assembler-simulator/) - Provides a simplified assembler syntax (based on NASM) and is simulating a x86 like CPU ([Source](https://github.com/Schweigi/assembler-simulator)) 191 | - uARM.wasm - ARMv5TE emulator running Linux in browsers ([Source](https://github.com/TonyLianLong/uARM.wasm)) 192 | - [Unicorn.js](https://alexaltea.github.io/unicorn.js/) - The Unicorn emulator framework, now available for JavaScript ([Source](https://github.com/AlexAltea/unicorn.js)) 193 | - [Visual ARM1](http://visual6502.org/sim/varm/armgl.html) - 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](http://blog.visual6502.org/2015/11/the-visual-arm1.html) 194 | - [Visual 6502](http://www.visual6502.org/JSSim/) - JavaScript simulator for the 6502 CPU, modelling thousands of transistors at switch level and animating the original chip layout. See also [expert mode](http://www.visual6502.org/JSSim/expert.html?steps=10). 195 | - [Visual 6800](http://www.visual6502.org/JSSim/expert-6800.html?steps=10) - JavaScript simulator for the Motorola 6800 CPU, modelling thousands of transistors at switch level and animating the original chip layout. 196 | - [Visual Z80](http://www.visual6502.org/JSSim/expert-z80.html) - JavaScript simulator for the Z80 CPU, modelling thousands of transistors at switch level and animating the original chip layout. 197 | - [Visulator](http://thlorenz.com/visulator/) - x86 machine emulator that visualizes how each instruction is processed ([Source](https://github.com/thlorenz/visulator)) 198 | - [YAMD](http://yamd.xuanji.li) - Yet Another MIPS Debugger ([Source](https://github.com/zodiac/yamd)) 199 | - [jor1k](https://s-macke.github.io/jor1k/) - OpenRISC OR1K JavaScript emulator running Linux with network support ([Source](https://github.com/s-macke/jor1k/)) 200 | - [jslm32](https://www.ubercomp.com/jslm32/src/) - JavaScript LatticeMico32 emulator running Linux ([Source](https://github.com/ubercomp/jslm32/)) 201 | - [ZUSIE](http://www.nablaman.com/relay/sim/zusie.html) - JavaScript simulation of [Fredrik Andersson's homebrew relay machine](http://www.nablaman.com/relay/) inspired by Zuse's machines. 202 | 203 | ## Early machines 204 | 205 | - [Babbage's Difference Engine](http://ed-thelen.org/bab/bab-diff-JavaScript.html) (First funded 1823, first full build in 1855, first full rebuild in 1991) 206 | - [Babbage's Analytical Engine](https://www.fourmilab.ch/babbage/aem/) in JavaScript, by John Walker. (First described 1837, never completed, not yet rebuilt.) ([Documentation](https://www.fourmilab.ch/babbage/emulator.html)) 207 | - [Turing machine](http://rendell-attic.org/gol/TMapplet/index.htm) simulated in JavaScript. See [here](http://rendell-attic.org/gol/utm/) for more information. (1936) 208 | - [Z1 machine's adder in 3D](http://zuse-z1.zib.de/simulations/z1/adders/wgl/) JavaScript/WebGL interactive simulation of the mechanical adder of Zuse's first machine. By Jakob Mischek ([Source](https://github.com/daign/zuse-z1.js)) (1938) 209 | - [Z3 machine's adder](http://gymoberwil.educanet2.ch/a.hu/projektarbeit/zuse/addition/addition.htm) - ripple-carry electromechanical adder simulated in JavaScript, by Henry Raymond, Patrick Seewald and Vijeinath Tissaveerasingham. [Explanation](http://gymoberwil.educanet2.ch/a.hu/projektarbeit/zuse/simu.htm) (1941) 210 | - [JsSSEM](http://edmundgriffiths.com/jsssem.html) - Manchester Small-Scale Experimental Machine emulator (Also check [Computer/zero](http://www.edmundgriffiths.com/czero.html) which is very loosely based on the SSEM, and its [tutorial](http://www.edmundgriffiths.com/degreezero.html)) (1948) 211 | - [EMF Manchester Baby](https://github.com/MarquisdeGeek/ManchesterBaby) - aka SSEM (Small-Scale Experimental Machine) emulator, using the EMF framework. Live version at (https://em.ulat.es/machines/ManchesterBaby/#) 212 | - [C88](https://danieljabailey.github.io/c88-js/) - C88 computer simulation ([The Homebrew CPU inspired by the SSEM](http://bitofahack.com/post/1434913931)) (1948) 213 | - [EDSAC on Browser](http://nhiro.org/learn_language/repos/EDSAC-on-browser/index.html) - by NISHIO Hirokazu ([Programming guide](https://www.dcs.warwick.ac.uk/~edsac/Software/EdsacTG.pdf)) (1949) 214 | - [EMF Elliott](http://em.ulat.es/machines/Elliott903) - EMF-based Elliott Emulator - by Steven Goodwin (@MarquisdeGeek) ([Source](https://github.com/MarquisdeGeek/emf-emulator-elliott-903)) 215 | - WITCH Emulator - The Harwell Dekatron Machine, by Justin King. ([Source and example programs](https://github.com/jsking/witch-e)) (1951) 216 | - [UNIVAC I emulator](https://www.masswerk.at/virtualunivac/) - JavaScript emulator by Norbert Landsteiner (1951) 217 | - [ElectroData/Burroughs Datatron 205 Emulator](http://www.phkimpel.us/ElectroData-205/webUI/D205.html) - by Paul Kimpel ([Source](https://github.com/pkimpel/retro-205)) (1954) 218 | - [TX-0](https://www.wizforest.com/tech/tx-0/#) emulator by @wizforest, including several programs from the time. ([Instructions](https://www.wizforest.com/tech/tx-0/manual.html)) (1956) 219 | - [Mailüfterl](http://members.aon.at/nkehrer/mailuefterl/mailuefterl.html) - JavaScript emulator by Norbert Kehrer (1958) 220 | - [Setun (Russian)](http://trinary.ru/projects/setunws/) and [English (archived)](https://web.archive.org/web/20170114102246/http://en.trinary.ru/projects/setunws/) - JavaScript emulator by Обухов Александр. Ternary machine from Soviet Union (1958) 221 | - [Digi-Comp 1](http://digicomp-1.appspot.com) ([previously](https://web.archive.org/web/20140222193139/http://www.scoopsfolks.com/digicomp1)) - educational sliding-rods plastic computer. Emulator by Larry Groebe and Kevin Williams. (1963) 222 | - [Digi-Comp II](https://museum.syssrc.com/joda/) - educational falling-marbles computer. Emulator by Joda Redfearn. (1965) 223 | - [Burroughs B5500 emulator](https://retro-b5500.blogspot.com) - Burroughs B5500 emulator in JavaScript ([Source](https://github.com/pkimpel/retro-b5500)) (1964) 224 | - [Apollo Guidance Computer](http://svtsim.com/moonjs/agc.html) - Moonjs a port by Shahriar Iravanian of Ronald Burkey's Virtual AGC. (1966) 225 | - [BESM-6](http://www.mailcom.com/besm6/runitnew.cgi) - with examples in Algol, Fortran, and assembler. By Leonid A. Broukhis and Michael Yaroslavtsev. More [here](http://www.mailcom.com/besm6/). (1968) 226 | - [CARDIAC](https://www.cs.drexel.edu/~bls96/museum/cardsim.html) - Bell Labs' CARDIAC cardboard computer from 1969. [Instructions](https://www.cs.drexel.edu/~bls96/museum/cardiac.html) (1969) 227 | - [Kenbak-1](http://www.neocomputer.org/kenbak/kenbak1-JS.html) - John Blankenbaker's TTL-based 256byte personal computer. [More information](http://www.neocomputer.org/kenbak/) (1970) 228 | - [Ordinapoche](http://nguyen.univ-tln.fr/share/Archi/ordinapoche.html) - A paper computer from France, invented 1969, popularised in 1981 and 1985. ([More here](http://nguyen.univ-tln.fr/ordinapoche.html) and [see also the 1981 magazine](https://www.abandonware-magazines.org/affiche_mag.php?mag=85&num=3809&album=oui)) 229 | - [BullGammaTor](https://www.aconit.org/histoire/Gamma-3/Simulateur/) - A JavaScript emulator for the Bull Gamma 3 ET computer ([Source](https://github.com/lutrampal/bullgammator/)) (1952) 230 | 231 | ## Calculator emulators 232 | 233 | ### Microcode-level calculators 234 | 235 | - [HP21u](https://www.sydneysmith.com/products/hp21u/run/index.html), [HP25u](https://www.sydneysmith.com/products/hp25u/run/index.html), and [HP29u](https://www.sydneysmith.com/products/hp29u/run/index.html) - by Greg Sydney-Smith 236 | - [HP-35](https://ashleyf.github.io/HP35/) - bug-compatible emulator by Ashley Feniello [explained here](https://blogs.msdn.microsoft.com/ashleyf/2010/09/25/microcode-level-hp-35-emulator-in-javascript/) using [Eric Smith](https://nonpareil.brouhaha.com/)'s and [Jacques Laporte](https://web.archive.org/web/20210601085601/http://home.citycable.ch/pierrefleur/Jacques-Laporte/)'s work 237 | - [HP-35, HP-45, HP-55, HP-65, HP-80](https://torotrak.wordpress.com/hp-classic/) - collection of HP Classics, based on Feniello's work, by Francois Roulet 238 | - [HP-45](http://members.aon.at/nkehrer/hp45_js/hp45.html) - statically recompiled ROM by Norbert Kehrer 239 | - [jsEmu48](https://jadegame.com/jsemu48/) - emscripten port by Julien Meyer of HP EMU By Daniel Nilsson. ([Source](https://github.com/brizzly/jsEmu48)) 240 | - [HP-55](https://www.sydneysmith.com/products/hp55u/run/), [HP-65](https://www.sydneysmith.com/wordpress/hp65/) and [HP-67](https://www.sydneysmith.com/wordpress/1178/hp67-microcode-emulator/) - with extra debug menu, by Greg Sydney-Smith 241 | - [мк-61](http://mk-61.moy.su/emulator.html) - Elektronika's programmable calculators MK-61, Б3-34, МК-54, and МК-56, also the Феликс-М (Felix M) arithmometer, a slide rule and an abacus. By Felix Lazarev, Andrey_emu, Sergey Tarasov and others. 242 | - [Sinclair Scientific](https://files.righto.com/sinclair) and [TI-1500](https://files.righto.com/ti) - calculator simulations including full description of the algorithms and the reverse-engineering process. By Ken Shirriff. Further work by Phil Mainwaring shows [Sinclair Cambridge](http://phils-place.co.uk/calculators/?calc=sc), [TI-1500](http://phils-place.co.uk/calculators/?calc=ti) and [Sinclair Scientific](http://phils-place.co.uk/calculators/?calc=sc), each using different customisations of TI's 080x chip. 243 | - [TI-42 "MBA" Programmable Calculator](https://www.pcjs.org/devices/ti42/machine/) by Jeff Parsons (PCjs) 244 | - [TI-55](https://www.pcjs.org/devices/ti55/) by Jeff Parsons (PCjs) 245 | - [TI-57 Programmable Calculator](https://www.pcjs.org/devices/ti57/machine/) by Jeff Parsons (PCjs) 246 | - [TI-92 Plus emulator](https://www.ocf.berkeley.edu/~pad/emu/v11.html) - JavaScript emulator for the TI-92 Plus 247 | - [JavaScript TI-89 / TI-92+ / TI-V200 / TI-89T emulator](https://tiplanet.org/emu68k_fork/) - by Patrick Davidson and Lionel Debroux 248 | 249 | ### Workalike calculators 250 | 251 | - [HP-11C](https://stendec.io/ctb/hp11c.html), [HP-12C Platinum](https://stendec.io/ctb/hp12c-platinum.html), [HP-16C](https://stendec.io/ctb/hp16c.html) - by Elvis Pfützenreuter 252 | - [HP-16C (Jovial RPN)](https://jrpn.jovial.com/) - by Bill Foote 253 | - [HP-15C](https://hp15c.com/web/hp15c.html) - by Greg Hewgill. ([Source](https://github.com/ghewgill/hp15c)) 254 | - [HP-21](http://www.sydneysmith.com/products/gss-hp21/run/index.html#) and [HP-29](http://www.sydneysmith.com/products/gss-hp29/run/index.html#) by Greg Sydney-Smith (See [here](http://www.sydneysmith.com/wordpress/hp21/) and [here](http://www.sydneysmith.com/wordpress/hp29/)) 255 | - [HP-25](http://www.jcczone.net/hp-25.html) - by John Clenance 256 | - [HP-35](https://neil.fraser.name/software/hp-35/) - JavaScript emulator by Neil Fraser 257 | - [HP-35 SOS](http://hansklav.home.xs4all.nl/rpn/hp35sos.html) - modified HP-35 with stack overflow sensing LED, by Hans Klaver, based on Fraser's work 258 | - [HP-48](http://www.poleyland.com/hp48/index.html) - JavaScript implementation of the most commonly used HP-48 functions. More info [here](http://www.poleyland.com/hp48/help.html), by Josh Poley 259 | - [Olivetti Programma 101](https://biged.github.io/P101/p101viewport.html) - JavaScript emulation of the first commercial programmable desktop computer, by "Fabioamd87". [Source on GitHub](https://github.com/Fabioamd87/P101) 260 | - [Sinclair Cambridge Programmable](http://www.caffnib.co.uk/calculators/sinclair_prog.html) by Nigel Bromley. (Source [here](http://www.caffnib.co.uk/calculators/sinclair_prog.js).) 261 | 262 | ## Miscellaneous 263 | 264 | - [C1Pjs](https://www.pcjs.org/docs/c1pjs/) - JavaScript simulation of the Challenger 1P (PCjs) 265 | - [Canon Cat (in JSMess)](https://archive.org/details/canoncat) - Jef Raskin's Forth-capable 68000-based word processor. ([Instructions](https://github.com/mamedev/mame/blob/master/src/mame/drivers/cat.cpp#L16) and [more info](http://www.canoncat.net/)) 266 | - [CFT](https://www.bedroomlan.org/hardware/cft/microcode-emulator) - JavaScript simulation of Alexios Chouchoulas' 16-bit homebrew TTL machine. ([More information](https://www.bedroomlan.org/hardware/cft/) including documentation and a video.) 267 | - [Chip-8 virtual machine](https://biged.github.io/Chip-8-Emulator/) by Alexander Dickson - see [blog entry](http://blog.alexanderdickson.com/javascript-chip-8-emulator) 268 | - [Chip-8 virtual machine](http://pachisystems.com/JSEmu/chip8.html) by Brian Milton ([Source](https://github.com/PachiSystems/JSEmu) may target several CPUs) 269 | - [Chip8 1k](https://xem.github.io/chip8/) - a code-golfed chip 8 emulator in 1k by Maxime Euzière and others 270 | - [EMF Chip 8](http://em.ulat.es/machines/Chip8) - EMF-based Elliott Emulator - by Steven Goodwin (@MarquisdeGeek) ([Source](https://github.com/MarquisdeGeek/emf-emulator-chip-8)) 271 | - [EMF Megaprocessor](http://em.ulat.es/machines/Megaprocessor) - EMF-based Megaprocessor Emulator - by Steven Goodwin (@MarquisdeGeek) of the room-sized machine built by James Newman and housed in the Museum of Computing History, in Cambridge, England. ([Source](https://github.com/MarquisdeGeek/emf-emulator-megaprocessor)) 272 | - [Merry8](https://github.com/doodlewind/merry8) - JavaScript Chip-8 emulator by Yifeng Wang 273 | - [Compucolor II Emulator](http://compucolor.org/emu/ccemu.html) - JavaScript Compucolor II Emulator 274 | - [Compukit UK101](http://www.avoncliff.com/uk101/) - by David Stevenson 275 | - [ContrAltoJS](https://archives.loomcom.com/contraltojs/) - Pure JavaScript implementation of the ContrAlto Xerox Alto emulator ([Source](https://github.com/sethm/ContrAltoJS)) 276 | - [COSMAC Elf-ish](http://www.donnelly-house.net/programming/cdp1802/simelf/) - simulator by William Donnelly 277 | - [DCMO5 Online](http://dcmo5.free.fr/online/) - Thomson MO5 JavaScript emulator 278 | - [Dodo Playground](https://play.dodolabs.io/?code=51447f62) - IDE and simulator for 6502-based Dodo homebrew game system by Peter Noyes 279 | - [EMF Dragon](http://em.ulat.es/machines/Dragon32) - EMF-based Dragon Emulator - by Steven Goodwin (@MarquisdeGeek) 280 | - [EMF Jupiter Ace](http://em.ulat.es/machines/JupiterAce) - EMF-based ZX80 Emulator - by Steven Goodwin (@MarquisdeGeek) ([Source](https://github.com/MarquisdeGeek/emf-emulator-jupiter-ace)) 281 | - [Enterprise-128 JavaScript Emulator](http://ep.lgb.hu/jsep/demo/?autostart=yes) - by Gábor Lénárt "LGB", based on JSSpeccy 282 | - [ESP8266 Game Engine](https://corax89.github.io/esp8266Game/index.html) - a console-game-oriented virtual machine running on ESP8266, by Corax. ([Source](https://github.com/corax89/esp8266_game_engine)) 283 | - [Gigatron](https://gigatron.io/emu/) - emulator of the present-day TTL console computer with Tiny Basic and games. Also Wozmon on a nested emulation of 6502. ([Website](https://gigatron.io/)) 284 | - [Hack](https://diversen.github.io/hack-emulator-js/) - emulator of the computer from [nand2tetris](https://nand2tetris.org), by diversen. ([Source](https://github.com/diversen/hack-emulator-js).) 285 | - [Heathkit ET3400](http://phils-place.co.uk/demos/et3400/) - by Phil Mainwaring. Click "Do" then "0000". ([Instructions](http://phils-place.co.uk/demos/et3400/heathkit_3400_trainer_manual_pages_46_to_104_edit_1.txt)) 286 | - [IBM 5110 Emulator](https://norbertkehrer.github.io/ibm_5110/emu5110.html) by Norbert Kehrer runs Basic or APL. 287 | - [JS99'er](https://js99er.net/) - TI-99/4A emulator written in JavaScript ([Source](https://github.com/Rasmus-M/Js99er)) 288 | - [jsH89](http://heathkit.garlanger.com/emulator/jsH89/) - Heathkit H89 emulator (runs CP/M) by Mark Garlanger 289 | - JSGS - Experimental JavaScript implementation of the Pico-8 fantasy console ([Source](https://github.com/burakcan/jsgs)) 290 | - [jsMSX](http://jsmsx.sourceforge.net/) - The first MSX emulator 100% written in JavaScript 291 | - [JsPspEmu](http://jspspemu.com) - JavaScript PSP emulator ([Source](https://github.com/jspspemu/jspspemu)) 292 | - [JSVecX](http://www.twitchasylum.com/jsvecx/) - JavaScript port of the VecX Vectrex emulator 293 | - [jupiler](http://jupiler.zxtres.com) - Jupiter Ace emulator written in JavaScript ([Source](https://sourceforge.net/p/emuscriptoria/code/HEAD/tree/jupiler.js)) 294 | - [KM-Z80 web](http://hp.vector.co.jp/authors/VA016157/kmz80web10/kmz80web.html) emulator for Sharp MZ-80K, by Katsumi Morimatsu. GOTO $1200 to start KM-BASIC. ([More information](http://hp.vector.co.jp/authors/VA016157/kmz80web10/)) 295 | - [laser500emu](https://nippur72.github.io/laser500emu/) emulator for Video Technology (VTech) Laser 350/500/700, by Antonino Porcino. 296 | - [Little Man Computer](http://matt.krutar.org/LMC4/) a minimal CPU for teaching - emulator by Matthew Krutar. ([Background](https://en.wikipedia.org/wiki/Little_man_computer)) 297 | - [Little Man Computer](https://blog.paulhankin.net/lmc/lmc.html) a minimal CPU for teaching - emulator by Paul Hankin. ([Background](https://en.wikipedia.org/wiki/Little_man_computer)) 298 | - [Little Man Computer](https://peterhigginson.co.uk/LMC/) a minimal CPU for teaching - emulator by Peter Higginson. ([Background](https://en.wikipedia.org/wiki/Little_man_computer)) 299 | - [Machine in a machine](https://js1k.com/2010-first/details/455) - Turing Machine Implementation in 1k from the [JS1k competition](https://js1k.com/) 300 | - [Marmmodore-1K](https://js1k.com/2016-elemental/details/2415) - minimal 8-bit computer in 1k by Felipe Alfonso 301 | - [NanoWasp](http://nanowasp.org) - A MicroBee emulator 302 | - [Nascom 2 emulator](http://thorn.ws/jsnascom/jsnascom.html) by Tommy Thorn. (J to start Basic) ([Source](https://github.com/tommythorn/jsnascom)) 303 | - [One Instruction Set Computer (OISC)](https://www.cs.drexel.edu/~bls96/oisc/OISC.html) by Peter Crampton, presented by Brian L. Stuart. ([Explanation](https://www.cs.drexel.edu/~bls96/oisc/)) 304 | - [Orao](http://orao.hrvoje.org/) - Orao emulator by Hrvoje Cavrak ([More information](https://github.com/hrvach/OraoJs)) 305 | - [Oricutron](https://torguet.net/oric/Oricutron.html) - An emulator for the ORIC series of home computers, by Peter Gordon ([Source](https://github.com/pete-gordon/oricutron)) 306 | - PC-01 Lviv - An emulator for the PC-01 Lviv (Ukrainian home computer) ([Source](https://github.com/dolgarev/emulator-pc01-lviv)) 307 | - [RISC Simulator](https://www.peterhigginson.co.uk/RISC/) - RISC Simulator with Fetch/Execute and register based CPU model, by Peter Higginson 308 | - [RockyJS](https://pebble.github.io/rockyjs/) - Pebble watch interpreter/emulator 309 | - [Radio-86RK](https://rk86.ru) Radio-86RK emulator in JavaScript (Intel 8080 based 8-bit Russian home computer) ([Source](https://github.com/begoon/rk86-js)) 310 | - [Setunka](http://www.edmundgriffiths.com/setunka.html) - Ternary computing for the browser 311 | - [SAP-1](https://ellisgl.github.io/SAP-1-CPU/) JavaScript emulation of the Simple As Possible TTL machine from Malvino's book, Digital Computer Electronics. By Kenneth Ellis McCall. ([Source](https://github.com/ellisgl/SAP-1-CPU)) 312 | - [Tejotron](https://www.tejotron.com/) - Virtual breadboard, inspired by Ben Eater's 6502 computer 313 | - [Turbo Pascal](https://github.com/lkesteloot/turbopascal) - A web-based Pascal compiler that runs a subset of Turbo Pascal 5.5 code 314 | - [Vector06js](http://sensi.org/scalar/ware/468/) - Vector-06C (AKA Вектор-06Ц) JavaScript emulator by Viacheslav Slavinsky. Also runnable [here](https://svofski.github.io/vector06js/). ([Source](https://github.com/svofski/vector06js).) 315 | - Virt.js - JavaScript emulation library ([Source](https://github.com/arcanis/virtjs)) 316 | - [Visual Computer](http://www1.idc.ac.il/vic/software/computer/) a minimal CPU for teaching by Shimon Schocken. ([Web site](https://sites.google.com/site/schocken/thevisualcomputer)) 317 | - [WebMSX](https://webmsx.org/) - WebMSX, or simply WMSX, is a new MSX emulator designed for the Web ([Source](https://github.com/ppeccin/webmsx)) 318 | - [Wireworld computer](https://dested.com/projects/wire/) - JavaScript port by Salvatore Aiello of the prime-generating computer implemented in the Wireworld cellular automaton, as described [here](https://www.quinapalus.com/wi-index.html). 319 | - [WPCEmu](https://github.com/neophob/wpc-emu) - Williams Pinball Emulator by Michael Vogt 320 | 321 | ## Adventure Game Engines 322 | 323 | - [Emscripten ScummVM](https://github.com/juj/emscripten-scummvm) - Emscripten fork of the ScummVM engine 324 | - [IFVMS](https://github.com/curiousdannii/ifvms.js) - Infocom/Inform Web interpreter 325 | - [Parchment](https://github.com/curiousdannii/parchment) - Infocom/Inform Web interpreter 326 | - [ZZTJS](https://github.com/bstreiff/zztjs) - ZZT game engine in JavaScript 327 | - [ngPAWS](https://github.com/Utodev/ngPAWS) - Professional Adventure Writer (PAW) Web interpreter 328 | 329 | ## See also (lists of JavaScript emulators elsewhere) 330 | 331 | - [A Big List of Browser-Based Emulators](https://archive.vg/blog/a-big-list-of-browser-based-emulators-and-ports-of-classic-games) by Richard Moss 332 | - [Qaop/JS – Emulator links](http://torinak.com/qaop/links) by Jan Bobrowski 333 | 334 | ## Additional Information 335 | 336 | This resource collection is maintained by Frederic Cambus. 337 | 338 | - Site: https://www.cambus.net 339 | 340 | ## License 341 | 342 | [![CC0](https://licensebuttons.net/p/zero/1.0/88x31.png)](https://creativecommons.org/publicdomain/zero/1.0/) 343 | 344 | To the extent possible under law, [Frederic Cambus](https://www.cambus.net) has waived all copyright and related or neighboring rights to this work. 345 | --------------------------------------------------------------------------------