All Projects → gmarty → Jssms

gmarty / Jssms

Licence: gpl-3.0
JavaScript Sega Master System & Game Gear dynamic recompiling emulator.

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Jssms

Pcbasic
PC-BASIC - A free, cross-platform emulator for the GW-BASIC family of interpreters
Stars: ✭ 196 (+44.12%)
Mutual labels:  emulator, interpreter
Corium
Corium is a modern scripting language which combines simple, safe and efficient programming.
Stars: ✭ 18 (-86.76%)
Mutual labels:  emulator, interpreter
Jquery.terminal
jQuery Terminal Emulator - JavaScript library for creating web-based terminals with custom commands
Stars: ✭ 2,623 (+1828.68%)
Mutual labels:  emulator, interpreter
i8080-Space-Invaders
Intel i8080 Space Invaders Arcade Emulator
Stars: ✭ 19 (-86.03%)
Mutual labels:  emulator, interpreter
kpspemu
PSP Emulator written in Kotlin for JVM, JS and Native. Can work as PWA.
Stars: ✭ 57 (-58.09%)
Mutual labels:  emulator, interpreter
Pseudo
PSeudo - The world's simplest PLAYSTATION emulator
Stars: ✭ 31 (-77.21%)
Mutual labels:  emulator, interpreter
Emukit
WebXR immersive console emulator w/ Retroach, Javascript, and WASM
Stars: ✭ 123 (-9.56%)
Mutual labels:  emulator
Rhisis
Rhisis is an experimental FlyFF MMORPG emulator built with C# 9 and .NET 5
Stars: ✭ 132 (-2.94%)
Mutual labels:  emulator
Gospeccy
A ZX Spectrum Emulator written in Go
Stars: ✭ 121 (-11.03%)
Mutual labels:  emulator
Easyprotector
一行代码检测XP/调试/多开/模拟器/root
Stars: ✭ 1,732 (+1173.53%)
Mutual labels:  emulator
Shibari
Gaming input peripherals test platform for Windows
Stars: ✭ 136 (+0%)
Mutual labels:  emulator
V86
x86 virtualization in your browser, recompiling x86 to wasm on the fly
Stars: ✭ 12,765 (+9286.03%)
Mutual labels:  emulator
Ethereal
Ethereal Language Reference Implementation (archived). Currently working on Feral
Stars: ✭ 129 (-5.15%)
Mutual labels:  interpreter
E4vm
A small portable virtual machine that would run Erlang on embedded systems
Stars: ✭ 124 (-8.82%)
Mutual labels:  emulator
Nes Js
JavaScript NES(Famicom) emulator
Stars: ✭ 131 (-3.68%)
Mutual labels:  emulator
Byuu
byuu is a multi-system emulator focused on performance, features, and ease of use.
Stars: ✭ 123 (-9.56%)
Mutual labels:  emulator
Designpatterns
🔑Elements of Reusable Object-Oriented Software🔓is a software engineering book describing software design patterns. The book's authors are Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides with a foreword by Grady Booch.
Stars: ✭ 134 (-1.47%)
Mutual labels:  interpreter
Alpine Term
Repository has been moved.
Stars: ✭ 121 (-11.03%)
Mutual labels:  emulator
Psxact
Sony Playstation emulator -- Moved to gitlab: https://gitlab.com/beannaich/psxact
Stars: ✭ 126 (-7.35%)
Mutual labels:  emulator
Szl
A lightweight, embeddable scripting language
Stars: ✭ 134 (-1.47%)
Mutual labels:  interpreter

jsSMS

jsSMS is a dynamic recompiling emulator for Sega Master System & Game Gear ROMs written in JavaScript and designed to be fast on mobile browsers.

Code

Originally, this is a JavaScript port of JavaGear by Chris White.

Original copyright: Copyright (C) 2002-2008 Chris White

The code then evolved from a basic interpreter to a complex recompiler able to run on mobile at full speed.

The recompilation code is located in src/compiler folder as well as technical insights.

Related talk

Video of the talk about JSSMS I gave at Reject.js 2013. There are also the slides in HTML.

Current state

  • Though state save and load functions are ported, there are not used and should be more JavaScript friendly (using JSON for example, see JSNES for an example of implementation).
  • Lightgun is not yet supported.
  • The recompiler is not compatible with Closure Compiler in advanced optimizations mode and will likely never be.

Many parts of the script are borrowed from JSNES, a NES emulator in JavaScript by Ben Firsh.

If you are looking for another SMS emulator in JavaScript, go to Miracle.

ToDos

  • Support latest IE.
  • Experiment with web workers for recompiled code generation.
  • Experiment with generator for calling interrupts.
  • Experiment with asm.js.

License

jsSMS - A dynamic recompiling emulator for Sega Master System & Game Gear written in JavaScript

Copyright (C) 2018 Guillaume Cedric Marty (https://github.com/gmarty)

Based on JavaGear Copyright (c) 2002-2008 Chris White

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].