ASCII by Jason Scott

Jason Scott's Weblog

The Javascript MESS Plays Commodore 64, Commodore PET, and Apple IIc —

061228-Apple_II_80kv6ma35ms36SFD-Cut EdgesGeez, it seems only yesterday we were talking about emulating the Atari 800… oh wait, it was yesterday. Well, thanks to Vitorio working hard with the Makefiles, we now have emulation using JSMESS of the Apple IIc, the Commodore C64, and the Commodore PET.

So, with the caveat that we still have along way to go with regards to keyboard mappings, profiling to find improvements of speed, and a bunch of other issues, I can now say that it is possible to interact and appreciate well over 200,000 programs in your browser, with no plug-ins.

The best part is that there’s no sign of stopping, other than the fact that our volunteer force needs time to do their actual lives, and can’t be spending too much time working out makefiles and other stuff. If playing with makefiles to help us bring another few dozen platforms online interests you, stop on by: #jsmess on EFNet.


Emulating specific systems in JavaScript is nothing new, and some of them are very mature and very well-developed. The big difference here is that by relying on the MESS developers, who are active, talented, and committed to emulating as much as possible, we can focus on a small amount of issues regarding browser compatibility, and in doing so, increase access to this vintage software and programming hardware.

Much like MESS and MAME itself, the approach of JSMESS is to use the power of shared code and a approach towards all platforms to ensure the widest amount of support. Platforms that otherwise would have no advocates are showing up in this collection of emulation. Over time, support for various plug-ins, cards, and peripherals ensure that we can take a reasonable shot at capturing a lot of vintage computer history.

As you can imagine, there is a bit of debate within archiving and preservation communities as to the viability of utilizing emulation over original hardware. But everyone agrees, in 50 years we will have a smaller percentage of the equipment we do now, and emulation is very likely the way to go. The fact that it is possible to bring this emulator up in a window in a phone or iPad or home computer or laptop, ensures that a much wider audience could learn what you’re talking about when you mention some sort of program. It also concentrates a lot of interested effort in emulating items to branches of code that the widest audience will see. If you contribute code to MESS, it will now potentially end up in a browser, capturing a potentially lost aspect of computing. That’s priceless.


As we get more platforms up and running through the pipeline, attention turns to speed and usability. Right now, JSMESS is a test program, providing a cute trick for you to enjoy checking out old programs. But it’s far from the level of usable that the original MESS has. The hope is that over the coming months we will see improvements in all aspects of this program, turning it into a cross-platform browser experience that will, as I hoped, change computer history for every all of time.

Now go screw around.

Categorised as: computer history

Comments are disabled on this post


  1. Allied says:

    Great job you guys have done! One question for you though. Is it pronounced “Jay Es Mess” or “Jay Smess?”

  2. iPadCary says:

    I use an iPad for 99.9% of my internet usage.
    I’ve got all of that Java shit turned on in SETTINGS > SAFARI, but MESS is still a no go.
    Any reason/solution as to why it isn’t working for me?

  3. Asterisk says:

    That picture isn’t of an authentic C64 – that’s the modern PC being sold by Commodore USA in a C64-replica case.