JSMESS

From CPCWiki - THE Amstrad CPC encyclopedia!
Revision as of 07:50, 12 October 2013 by Morn (Talk | contribs)

Jump to: navigation, search
JSMESS emulating a CPC6128 in Chromium 30 on Linux

JSMESS is a JavaScript port of MESS that runs in modern web browsers like Chrome and Firefox and is considered to be in its public beta stage right now. Particularly sound is still a problem.

Building from source

Out of the box only a small selection of MESS machines can be immediately compiled to JavaScript from the JSMESS package. Compiling MESS in its entirety would create a JavaScript file that is far too big for web browsers to handle. So one has to find out which parts of MESS are really needed for a given machine and create Makefiles with that subset. (JSMESS now also includes scripts that automate this task.)

It is recommended to build JSMESS modules on Linux which also makes it easier to install the dependencies for Emscripten. The basis for JSMESS is MESS 0.142 and a custom version of Emscripten.

A JSMESS fork that includes the necessary Makefiles to build the CPC6128 version exists.

Features and status

Note that the ROM file cpc6128.zip also needs to contain the AMSDOS ROM from cpc464.zip because unlike regular MESS, JSMESS only loads a single ROM ZIP file per machine.

As of October 2013, sound only works in Firefox and not in Chrome/Chromium. Emulation speed in Firefox is better than in Chrome, presumably because Firefox has better support for Emscripten's asm.js-based JS code. Also, keymapping has not been done for JSMESS systems, although in principle you should be able to create keymaps in MESS and use them with JSMESS. The joystick is mapped to Alt and the arrow keys by default.

CPC demo page

This JSMESS CPC demo page (with the SubHunter disc in drive A) also has a ZIP file download of the build.

Links