ASCII by Jason Scott

Jason Scott's Weblog

JSMESS Now Supports USB Joypads. Sort of. —

Huge breakthrough this week. JSMESS now supports USB-connected Joypads.

In a few browsers. If you do the right thing at the right time. With luck.

s_Pitfall_1

Here’s how it works.

First, you need a browser that’s compatible with something called the Joypad API. As of this exact moment, that would be Google Chrome (most recent versions) and Firefox (most recent versions). In the case of Firefox, joypads will work if you type “about:config” into the toolbar and set dom.gamepad.enabled to trueHey, who said the cutting edge was comfortable?

You’ll need a USB Joypad. This looks like a game controller with a USB plug at the end of the cord. I checked around, and I found them for sale in many chain stores, such as GameStop, Best Buy, Sears, K-Mart and Target. The price ranges from I-can’t-believe-it-stays-functional $15 to $150 arcade-quality-stands-on-your-desk nightmares. I bought a test one for $25.

Over the last few years, people have made a whole range of ways to hook up Atari Joysticks, Nintendo Gamepads, Sony and Microsoft Gamepads, and other related items up through USB. Trust me, it’s a big fat tested market full of many items which you would be able to acquire with little effort.

The “Joypads in the Browser” API thing is not just new, it’s “steaming hot asphalt laid down 30 seconds ago and you’re walking through it” new. I find it pretty ironic that in the quest to be able to reach deep into history, decades of computer software and so much older material, we’re at the same time doing beta-grade updates and running standards that are still 90% wet paint. But that’s what JSMESS is about – innovation and changing the world.

So, here’s what you have to do:

  • Get a USB Joypad, and plug it into your machine with a browser.
  • Press down on a button on the Joypad.
  • Go to this link to start up a game of Pitfall! for the Atari 2600.
  • With luck, you’ll be able to go left and right with your joystick and it’ll work.

If it doesn’t work, there’s a whole range of things wrong. We’ll be fixing up our loader so that it’ll say “Joypad Detected” or something, in the future. One cheap fix is to hold down a button on your joypad and hit reload on the browser. If it doesn’t work after a few tries, don’t overwork yourself – it’ll get smoother and better over time. We don’t need bug reports this second – we know it’s rough.

But when it works… oh!

shopping

The experience of using the consoles and some computers with additional hardware like this is critical to some people – the games and programs were certainly designed with hardware like this in mind, and the experience wouldn’t be complete without having your hands wrapped around a control as opposed to pressing keys or clicking on screen-based representation of a controller.

It’s a fairly severe debate, which mires people into not enjoying or dismissing the keyboard-only experience, or saying that if we can’t have the controllers, the project shouldn’t be done. I dismiss that heartily, but one of the advantages of the JSMESS project is that by following the MESS/MAME codebase, all the work being done in emulation and additional support are going to fall into place much faster than if we were a 100% independent emulation project.

I don’t want to go into detail about all the other cool features JSMESS is capable of due to being a code conversion of MESS, but believe me, the MESS/MAME people have been working very hard for many years to make their project do a whole range of interface tricks and output variations, and JSMESS will hopefully benefit from that sooner rather than later.

Until then, look forward to smoother and smoother controller support in JSMESS and another aspect of the computing history experience to find its way into your hands.


Categorised as: computer history

Comments are disabled on this post


Comments are closed.