ASCII by Jason Scott

Jason Scott's Weblog

JSMESS Breakthroughs —

We’ve been nibbling away at the Javascript MESS project for a long while, and the current lead guy has had a breakthrough in the last couple of days.

We’ve been partially inspired by a number of Javascript projects out there that have shown the whole thing is possible, and not just possible, but probable. Most striking is the Janus Javascript Emulator, an emulator of the Amiga family of computers that gives you an enormous amount of startup options, reads a range of floppy images, and produces a pretty good approximation of the Amiga’s functioning… all in Javascript!

I’ll re-iterate the main driving reason for using MESS over just writing individual emulators – it’s that it offloads the difficult emulation issues like accurately portraying peripherals and unusual cards and the trickiness of some memory maps to where it should be. If you decide to watch either the MESS or MAME development trees, you’ll see that they’re constantly, unendingly, improving the whole endeavor top to bottom. There shouldn’t be yet another set of people redoing that work on a lower level with emulation – they should be contributing up to those two projects.

Once the system for porting MESS to JSMESS is smoother, I forsee a time when you go to a page and download an “emulator pack”, that consists of a bunch of Javascript files and support Javascript files that you then install wherever you’d like, a model not that dissimilar to the JWplayer or VideoJS players, which focus on Video and Audio. You figure this project releases quarterly updates of the collection, with improvements in speed and the wrapper that drives the players, and there we go – all of computer history is embedded like audio and video are now.

Anyway, we have now gotten JSMESS to render the following systems:

  • Odyssey²
  • Atari 2600
  • Texas Instruments TI 99/4a
  • Colecovision
  • Fairchild F

We have also gotten it to start but fail at:

  • Atari 800
  • Commodore PET

The key to these failed ones is that the process of compiling the new Javascript has become notably easier. We’re going to step through a bunch of these platforms to see performance, and then work on a system of near-automatic compiling to be able to generate the roughly 400-500 platforms that MESS has.

I keep making the call for it, but the fact is developers who want to hop in on this project would be very welcome, especially people familiar with javascript or who have worked with the MAME/MESS codebase. But all are welcome – understanding how this all works is a shared experience that should really have a lot of people looking at it. Write me or visit #jsmess on EFNet in IRC.

But we’re moving along! Life is awesome! And most importantly:

Texas Instruments Household Budget Management has been saved for future generations – and who can put a price on that?


Categorised as: computer history

Comments are disabled on this post


Comments are closed.