And --this is the important part-- without the old hidsporb driver.
Whoops, I did it again.
Well, sorta. You see, I really was never satisfied with hidsporb as a Windows HID driver for a number of reasons. The enumeration of serial ports took time, and as legacy serial ports dropped from modern motherboards it became trickier and trickier to use. But it's punishing working on Windows drivers, and Vista is even moreso, since I hear it doesn't even allow unsigned hobby drivers. And I have neither the time nor the inclination to explain myself to an operating system that so dreads the hobby developers that made the home computer revolution possible.
So... I did away with the driver.
Entirely.
Sorry to be so dramatic, but I've dreamed of this for a long time and finally had the convergence of resources, time, and irritation to do it. You want a driver? I got your driver RIGHT HERE:
Ignore the hairy chip on the right; that's a prototyping board. Look at the board on the left. You see a small prototyping board with a serial-to-TTL circuit at the top, connected (along with a 9v battery pack) to the SpaceOrb cable (the extra power comes from the fact that using only the +5 volts from USB you can only get the buttons on the orb; the ball itself requires a bit more juice). At the bottom of the tan board you see a basic USB interface. Both of these are connected on the right to an Arduino Diecimila hobbyist microprocessor.
And what you get is a hot-pluggable USB orb, six axes, 16 buttons with chording. I haven't added every tweak of the hidsporb driver, but mapping axes works, swapping polarity of axes works, and it's hardwired with the "sensitivity 3" curve right now. It looks like there is room in the memory for multiple curves and every last feature of hidsporb. It *may* even be possible to do keyboard and mouse events; I haven't tried that yet. It's early days.
And the best thing, folks--it JUST WORKS. You plug it in, you get an orb. You unplug it, orb goes away. It's a hot-pluggable USB device just like we always wanted.
The bad news is it does cost; raw materials about $40-$50 I'd say ($30 for the Arduino, peanuts for the rest of the parts) and it is a bit irritating to wire together. I'm going to try and figure out what else is needed (if anything), design a proper circuit board, and make the design easy enough that interested folks can make their own with a bit of applied solder.
The best part is that the Arduino software makes fiddling with the driver pretty easy. Plug the other USB port into the computer, flip a switch (right now unplugging a wire), and you can reprogram the thing to do whatever you want. I will bet you even money that it will work with ANYTHING that accepts a USB device, including USB-friendly consoles.
I'm really excited about this. Never mind that I'm ABSOLUTE RUBBISH in first-person shooters with the orb... it's the orb, and it works again--and will work forever.
I need a rest. More details in several days; I've sorta gotten obsessive over this project and need some breathing time (and a couple of tries to simplify the circuit and bring the price down a bit, and learn about circuit board designs). Eventually this will be what the Arduino folks call a "shield"--it'll just dock with the main processor board (see the "green board sandwich" on the right, covered in jumpers? We'll make a shield that replaces the top part, so you'll have a tidy package. It may even fit in an altoids tin).
Viva SpaceOrb, 2009!