DarkKobold: Yeah, actually, I have been considering that. I only count 8 extra buttons though: on the 745 theres digital inputs on RA4, RB0-7, and RC0-2,6,7. And for analog inputs, AN0-4 = 14 digital and 5 analog. On the 765 I see digital RA4, RB0-7, RC0-2,6,7, and RD0-7, and analog AN0-7 = 22 digital and 8 analog.
Of course, the analog pins could be used as digital pins, but not simultaniously without some kind of multiplexing...
For now, in the report descriptor, I've got the 5 axes mapped to x,y,z,x-rot, and y-rot.
I'm not sure I follow you with regards to the extra buttons... are you saying, for instance, with the x-axis, x-max and x-min could be mapped to two extra buttions? I'm not quite sure what advantage that would bring, as I thought analog axes could be mapped to digital axes in mame anyways...
Or do you mean that, if someone doesnt need all 5 axes, they could wire up buttons in their place? Please elaborate

The code itself was written in ASM, based on microchip's firmware 2.0 (polling version) with a few bugs squashed. The biggest problem I had with microchip's code was that it seemed to begin polling the hardware too soon (i.e. before the report descriptor was sent, which is handled in the ISR), which crashed the device. I hadn't planned on releasing the source, but it's something I'll consider. As for the report descriptor, I wouldn't mind sharing it with you, but I'm curious as to why you'd like to see it.
