ASCII by Jason Scott

Jason Scott's Weblog

Javascript Hero: The New Batch —

Dormant while my attention was focused on a few other matters, the Javascript MESS Project is coming back. And if you are ready, willing, and a coder, we need your help.

If you don’t know what the Javascript MESS Project is, I wrote entries here and here about it. Oh, and here and here. I guess I’ve written quite a bit about it.

In essence, a group of people have been porting MESS, the Multi Emulator Super System, to Javascript. The reason to do this is to turn all of computer history into an embedded object, like a movie or audio or other information. Here’s a song, here’s a movie trailer, here’s a PDP-11 running Adventure so you can just try it out like any other thing. That’s what we’re up to here. It’s kind of a big deal, if it all works.

As an example that is not guaranteed to work in all browsers at all, here is KC Munchkin playing in a window at the end of a historical overview of the KC Munchkin case. Imagine talking about software and there you are, trying that software out. That’s the dream we’re going after, here.

And we have it working really well in some aspects; for example, nearly the entire MESS backend of information and modification is available in the window!

Exciting, really. A full Colecovision emulated in a window. It’s slow, to be sure, but we’ve done absolutely no optimization on it.

I have a theory about volunteer coding projects. There are two main kinds of programmers who will contribute some coding time to a volunteer project – both need to think the goal is worthwhile, of course, but they each have different preferences.

The first likes the crazy challenge of “it’s completely impossible, there’s no proof it’ll work, there’s not even a guarantee you’ll get halfway before you’re mired in misery and failure”. These guys are as rare as can be, especially for volunteering. I was lucky enough to find Justin De Vesine, an old friend, who did the months-long effort of hacking through two systems (MESS and Emscripten) that had completely different outlooks on life and which he forced together into playing nice. Justin worked on this whole thing for nearly a year and got a ton of the pieces in place.

And then there’s people who are comfortable seeing it all works in practicality, even broken practicality, and who want to bring some optimization and cleanup and improvement to the thing. In this way, you know SOMETHING will come of it all – after all, it already has.

So Justin Kerk took the main reins and helped bring the whole thing working to the point we see now, where you could actually bring up various Colecovision cartridges, then Odyssey 2 and we’ve even made inroads to computers like the original Commodore PET 2001 (although it doesn’t boot up 100%).

Let me stress that at least a dozen other people have been involved, not the least of which is Alon Zakai, maker of Emscripten, who’s been helping with a bunch of optimizations, and Gil Megidish, who hand-optimized javascript so we could see speed improvements before we go into more involved compiling. Tons of people have helped us get to where we are; and remember – ALL these changes and results are open-sourced.

It works, that’s right! But we need more help.

If you’re comfortable with Makefile, C++, and Javascript, please consider joining up with this project. You could really make a different contributing your energy and thoughts, and  if we get this JSMESS working to an expected level, actual millions of programs will come alive again in browsers around the world. Programs that will teach, inform, surprise, entertain and challenge. That’s quite a reward, sitting there.

The programming and project channel is on EFnet on IRC: It’s the #jsmess channel. If you want to write me about this project first, I’m all for that as well. We’re looking to:

  • Start making it easier to compile the 600+ machines that MESS can support (!)
  • Add a pre-loader that will bring up a JSMESS window AFTER a keypress, and with info
  • Make the whole thing as fast as possible by nailing down issues
  • Enjoy booting some crazy stuff in a browser

I hope it sounds like fun. Amazing things await. If you can help, please do.


Categorised as: computer history

Comments are disabled on this post

Comments are closed.