jsemu - A list of emulators written in the JavaScript programming language

  •        839

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.




Related Projects

unicorn.js - Unicorn CPU emulator framework port for JavaScript

  •    Javascript

Port of the Unicorn CPU emulator framework for JavaScript. Powered by Emscripten. Notes: Unicorn is a lightweight multi-architecture CPU emulator framework originally developed by Nguyen Anh Quynh, Dang Hoang Vu et al. and released under GPLv2 license. More information about contributors and license terms can be found in the files AUTHORS.TXT, CREDITS.TXT and COPYING inside the unicorn submodule of this repository.

pce - Emulates Mac Plus, PC, & Atari ST in asm.js

  •    C

PCE.js runs classic computers in the browser. It's a port of Hampa Hug's excellent PCE emulator, put together by James Friend. PCE.js currently emulates Mac Plus, IBM PC/XT and Atari ST functionally in recent versions of Chrome and Firefox.

emsdk - Emscripten SDK

  •    Python

Emscripten toolchain is distributed as a standalone Emscripten SDK. The SDK provides all the required tools, such as Clang, Python and Node.js along with an update mechanism that enables migrating to newer Emscripten versions as they are released. You can also set up Emscripten from source, without the pre-built SDK, see "Installing from Source" below.

emscripten - Emscripten: An LLVM-to-JavaScript Compiler

  •    C

Emscripten is an LLVM-to-JavaScript compiler. It takes LLVM bitcode - which can be generated from C/C++, using llvm-gcc (DragonEgg) or clang, or any other language that can be converted into LLVM - and compiles that into JavaScript, which can be run on the web (or anywhere else JavaScript can run). Emscripten is available under 2 licenses, the MIT license and the University of Illinois/NCSA Open Source License.

ffmpeg.js - Port of FFmpeg with Emscripten

  •    Javascript

This library provides FFmpeg builds ported to JavaScript using Emscripten project. Builds are optimized for in-browser use: minimal size for faster loading, asm.js, performance tunings, etc. Though they work in Node as well.Note: only NPM releases contain abovementioned files.

sql.js - SQLite compiled to JavaScript through Emscripten

  •    Javascript

sql.js is a port of SQLite to JavaScript, by compiling the SQLite C code with Emscripten. It uses a virtual database file stored in memory, and thus doesn't persist the changes made to the database. However, it allows you to import any existing sqlite file, and to export the created database as a javascript typed array. There is no C bindings or node-gyp compilation here, sql.js is a simple javascript file, that can be used like any traditional javascript library. If you are building a native application in javascript (using Electron for instance), or are working in node.js, you will likely prefer to use a native binding of SQLite to javascript.

ogv.js - JavaScript media player using Ogg/Vorbis/Theora/Opus/WebM libs compiled with Emscripten

  •    Javascript

Media decoder and player for Ogg Vorbis/Opus/Theora and WebM video. Based around libogg, libvorbis, libtheora, libopus, libvpx, and libnestegg compiled to JavaScript with Emscripten.

goboy - Multi-platform Nintendo Game Boy Color emulator written in go

  •    Go

GoBoy is a multi-platform Nintendo GameBoy and GameBoy Color emulator written in go. The emulator can run the majority of GB games and some CGB games. There is also colour and sound support. This emulator was primarily built as a development exercise and is still work in progress. Please feel free to contribute if you're interested in GameBoy emulator development. The program includes debugging functions making it useful for understanding the emulator operation for building one yourself. These functions include printing of opcodes and register values to the console at each step (although will greatly slow down the emulation) and toggling of individual sound channels.

viz.js - Simple Graphviz for the web, compiled with Emscripten.

  •    Javascript

Simple Graphviz for the web, compiled with Emscripten.

love.js - LÖVE ported to the web using Emscripten

  •    Javascript

This is LÖVE ported to the web using Emscripten. It differs from Motor or Punchdrunk in that it is not a reimplementation but a direct port of the existing LÖVE v0.10.0 code with very few code modifications. As such, it should be at feature parity, as long as the browser it's running in supports a given feature.

js-nacl - Pure-Javascript High-level API to Emscripten-compiled libsodium routines.

  •    Javascript

A high-level Javascript API wrapping an Emscripten-compiled libsodium, a cryptographic library based on NaCl. Includes both in-browser and node.js support. The paper "The security impact of a new cryptographic library" is an excellent summary of the motivation behind the NaCl API and library design.

ammo.js - Direct port of the Bullet physics engine to JavaScript using Emscripten

  •    C++

ammo.js is a direct port of the Bullet physics engine to JavaScript, using Emscripten. The source code is translated directly to JavaScript, without human rewriting, so functionality should be identical to the original Bullet. ammo.js is zlib licensed, just like Bullet.

box2d.js - Port of Box2D to JavaScript using Emscripten

  •    C

box2d.js is a direct port of the Box2D 2D physics engine to JavaScript, using Emscripten. The source code is translated directly to JavaScript, without human rewriting, so functionality should be identical to the original Box2D. box2d.js is zlib licensed, just like Box2D.

videoconverter.js - Convert videos in your browser

  •    Javascript

videoconverter.js is a library that allows you to convert and manipulate videos inside of your web browser. This is achieved by converting the popular FFmpeg library into JavaScript, using Emscripten.

fann.js - FANN compiled through Emscripten

  •    Javascript

The FANN (Fast Artificial Neural Network) library compiled through Emscripten. This library contains some higher level bindings. Much of the original documentation is still relevant. The noticable changes will be documented below. Note not all functions have a binding. You may see mention of Fixed vs Float mode, FANN.js uses Float mode.

webruby - mruby running in the browser

  •    Ruby

This project brings mruby to the browser. It uses [emscripten] (https://github.com/kripken/emscripten) to compile the mruby source code into JavaScript and runs in the browser. This project is distributed under the MIT License. See LICENSE for further details.

empythoned - CPython compiled to JS using emscripten

  •    Python

Empythoned is a build script that uses Emscripten to compile CPython for use in a browser. It attempts to compile the main interpreter as a single small executable and the whole standard library as dynamically loaded libraries. The project is in its infancy. Right now the core interpreter works very well, but many of the libraries either don't work at all or contain various bugs.

viz.js - A hack to put Graphviz on the web.

  •    Javascript

This project builds Graphviz with Emscripten and provides a simple wrapper for using it in the browser. For more information, see the wiki.

nbind - :sparkles: Magical headers that make your C++ library accessible from JavaScript :rocket:

  •    C++

nbind is a set of headers that make your C++11 library accessible from JavaScript. With a single #include statement, your C++ compiler generates the necessary bindings without any additional tools. Your library is then usable as a Node.js addon or, if compiled to asm.js with Emscripten, directly in web pages without any plugins. nbind works with the autogypi dependency management tool, which sets up node-gyp to compile your library without needing any configuration (other than listing your source code file names).

Worldwide - GameBoy Color emulator written in golang.

  •    Go

GameBoyColor emulator written in golang. This emulator can play almost all ROMs work without problems and has many features.

We have large collection of open source products. Follow the tags from Tag Cloud >>

Open source products are scattered around the web. Please provide information about the open source projects you own / you use. Add Projects.