• Stars
    star
    145
  • Rank 254,144 (Top 6 %)
  • Language
    JavaScript
  • License
    GNU General Publi...
  • Created almost 13 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

JavaScript Sega Master System & Game Gear dynamic recompiling emulator.

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/.

More Repositories

1

grunt-closure-compiler

A Grunt task for Closure Compiler
JavaScript
181
star
2

DVD.js

Playing DVD in JavaScript for the sake of interoperability
TypeScript
163
star
3

xgettext

Extracts translatable strings from source. Identical to xgettext but for template languages.
JavaScript
77
star
4

x-video

An enhanced video player for modern browsers with a consistent UI and extra features!
JavaScript
61
star
5

hough-transform-js

A simple script to perform Hough transform in JavaScript given a canvas.
JavaScript
56
star
6

web-workers-benchmark

Benchmark various aspects of Web workers.
JavaScript
44
star
7

SCD.js

Pixel based video scene change detection in JavaScript.
JavaScript
35
star
8

jsMSX

The first MSX emulator 100% written in Javascript (unofficial mirror)
JavaScript
12
star
9

image8bit

jQuery plugin to give images the aspect of good old 8-bit graphics.
JavaScript
11
star
10

all-saints-ar

An AR experiment using computer vision in the browser.
JavaScript
10
star
11

vsop87

🪐 A fast implementation of the VSOP87 theory in JavaScript.
JavaScript
8
star
12

wifi-columns

Play Columns with your friends locally, no Internet connection required!
JavaScript
8
star
13

Mozilla-Dev-Derby-2011-07

My submission to the Mozilla Dev Derby of July 2011
JavaScript
7
star
14

Editor.js

Web-based video editor in JavaScript. Requires Firefogg extension.
JavaScript
5
star
15

c2js

A collection of regexp to speed porting of C applications to JavaScript.
JavaScript
5
star
16

nesCompiler

Please welcome the first webifier of NES games!
TypeScript
4
star
17

photo-browse

Display photos of Hello Kitty, one thread at a time
JavaScript
4
star
18

syntactic-machine-translation

Hacking a quick and dirty syntactic machine translation for English and Japanese.
JavaScript
3
star
19

Mozilla-Dev-Derby-2011-08

My submission to the Mozilla Dev Derby of August 2011
JavaScript
3
star
20

wordlist-generator

Generate words list XML files suitable for IME dictionaries.
Python
3
star
21

scumm-nes

An app to explore and modify the game Maniac Mansion on NES 🎮.
JavaScript
2
star
22

blog

A blog by G.C. Marty
Astro
2
star
23

VR-diary

VR Diary (VRにっき)
2
star
24

fxos-physical-web

Walk up and use anything
JavaScript
2
star
25

vr-landscapes

Imaginary virtual landscapes
HTML
1
star
26

jsconf-2014-talk-play-dvd-in-js

Slides for my talk at JS Conf 2014 - Playing DVD in JavaScript for the sake of interoperability
1
star
27

2015-06-MLOC.js

Slides for crash course in compile-to-the-web
1
star
28

bluetooth-demo

Experiment with Bluetooth
JavaScript
1
star
29

media-experiments

1
star
30

fxos-homescreen-template

A home screen template for Firefox OS with the bare minimum structure
JavaScript
1
star
31

pluto99

♇ A fast implementation of the so-called pluto99 theory in JavaScript.
JavaScript
1
star
32

latin-editor

An editor to ease the reading and understanding of texts written in classical Latin.
Python
1
star
33

2018-05-Unusual-Career-Paths

Slides for a talk about unusual career paths
JavaScript
1
star
34

SMSStaRec

[DEPRECATED] An attempt to compile statically SMS/GG ROMs to pure JavaScript.
JavaScript
1
star