Skip to content
Jason Scott edited this page Apr 18, 2014 · 38 revisions

Hi! Thanks for your interest in JSMESS!

This introduction is for people who wish to help us improve the system. In the near future we will produce a easy to use distribution of JSMESS so that you can be emulating systems from your website in no time at all. For now, though, we are concentrating on making the system as efficient as possible, and we need lots of developers with lots of opinions and ideas.

JSMESS is a pipeline, using the Emscripten environment to compile the MAME/MESS emulator into JavaScript. The goal is to be able to get the latest improvements and bug fixes for all outside components into our distribution as quickly as possible. It also reduces our workload; we leave the emulation to the emulation authors, the conversion to the conversion authors, and simply work on using the best aspects of these environments to make the fastest and most flexible browser-based emulator we can.

We recently saw the success of our beta site demos and the Internet Archive Historical Software Collection launch, and now we're working on a few new things:

  • Finding Speed Improvements. MESS was never designed to be converted into JavaScript, and prioritizes accuracy overspeed, since a native build will usually run many times faster than the machine being emulated. Our project strives to increase speed to reflect the notably slower web environment we are pushing into.
  • Improving sound support. Sound works now, for some definition of "works," and will continue to improve. This is almost certainly related to the speed improvements.
  • Improving keyboard, keyboard mapping, and device support. Joysticks sometimes work! We're also working on improving keymaps (see How to fix keyboard mappings if you'd like to help with that), and supporting things like save states, disk swaps, or uploaded disk images.
  • Supporting better "normal" uses. Right now, you have to be pretty technically savvy to get a custom system deployed on your own web site; it should be as easy as a YouTube video embed.

You can follow our progress in our GitHub issues queue.

Drop in to our IRC channel at #jsmess@irc.efnet.org if you'd like to learn more about upcoming work, or if you're a savvy C++ or JavaScript developer and would like to contribute.


I'd like to build and deploy a JSMESS system myself

Okay! JSMESS now tracks the latest versions of MESS (current version is 0.153). You'll need to be pretty technically savvy: "git" and "Content-Encoding" shouldn't be alien terms. (If they are, you might be better linking to the demos on our beta site, or holding out a bit.)

Once you have a system compiling, you'll have HTML and a messloader.js loader suitable for testing, but not really for deployment. You'll want to have messloader.js use the .js.gz version of the JSMESS code, for example, and that means setting your web server up to properly deploy gzipped content. Feel free to stop by IRC, but JSMESS isn't in a state where you can non-technically roll out your own builds.


Other pages: