avatar image

Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
  • Wednesday February 28, 2024, 2:41 am
  • Proudly celebrating 15+ years online.
  • Donate now to become a lifetime supporting member of the site and get a non-expiring license key for all of our programs.
  • donate

Author Topic: The JSMESS Triumph  (Read 1806 times)


  • Supporting Member
  • Joined in 2008
  • **
  • Posts: 7,540
  • @Slartibartfarst
    • View Profile
    • Read more about this member.
    • Donate to Member
The JSMESS Triumph
« on: September 16, 2013, 09:55 PM »
Update from
(Copied below sans embedded hyperlinks/images.)
The JSMESS Triumph — September 16, 2013
What an amazing few weeks it has been!


We made improvements to improvements. We refined refinements, and refined them even more. We found shortcuts and qualities and features. And eventually, it came down to a day when an automatically running script slammed through a list of every functioning platform MESS supports and created a working or near-working JSMESS version.

More than that, we found a single line in the code, one which was meant to make the emulator work better within the browsers, but had now been producing the effect of slowing the program down. We changed a single line to say “0″ instead of “60″, and to our shock, JSMESS now runs many platforms at 100% speed.

It was a fun experience to play with a Colecovision at 70% speed in the browser. Running it at 100% speed is another experience entirely – it is, as I’d hoped, a little window where you see an entire other computer running, doing its thing, accurately showing you images and visions from decades ago but breathing as alive as if they were crafted this morning.

To celebrate, I updated the JSMESS official site, purchasing a basic theme of dynamic images and transparency (since you need to be running javascript anyway), and then jazzing it up to stress how completely fun and fast JSMESS is to work with. I also now have links to all 300 supported platforms that will be in JSMESS 1.0. Three hundred!

addWe’ve got a bunch of tasks ahead of us, but they’re rapidly becoming the kind of tasks that winners have to do, that consist of the effort of the victory lap after a draining marathon, or that weigh heavy the crown of awesome.

They include:
  • Adding a virtual keyboard so that you can hit controls and keys that aren’t on whatever keyboard you’re using. It won’t be good for arcade games, but it’ll make using the machines a lot easier.
  • Going through and matching collections of software and support materials to the 300 platforms. Luckily many use similar software or are easy to track down. It’s just a lot of them, you know?
  • Finding what slows down the remaining platforms that run under 100%, and getting rid of that. Currently, our slowest platform is the Sega Genesis, which runs at 50% speed – Sonic is taking Valium and that needs to end.
  • Sound is not activated, because the sound API we’re currently using is going to be replaced with a new one, and we’re waiting on that. It should work nicely when it’s ready, though.
  • Moving closer to a distributable package that anybody can set up on their own webservers in minutes. The great thing about Javascript in this case is we can just provide you a .js.gz file and it’ll work, wherever you are. There’s no dealing with binaries or libraries or anything – that’s the browser’s job.
I’ve been cranking away on a new demonstration page, where a dream comes true: you have screenshots of many famous programs, like Visicalc or K.C. Munchkin, and one click brings you face to face with these programs, running as they always have, full speed, and waiting for you.

I feel really bad when people ask me about this in person because I can’t shut up about it. It’s like the first time you realize what version control can do, or taking a new bike out for a spin, or discovering a great new way to walk somewhere – it’s exciting and new and the results feel infinite, far beyond what we’re laying into them. It’s a brilliant new day.