joncampbell123 / dosbox-x

DOSBox-X fork of the DOSBox project
GNU General Public License v2.0
2.79k stars 383 forks source link

8-Button Joystick/Gamepad emulation (Gravis Gamepad Pro, etc.) #2328

Open Banjo-Oz opened 3 years ago

Banjo-Oz commented 3 years ago

Is it possible to use a joystick or gamepad in DOSBox-X that has more than four buttons? I assume not, and I believe it's a limitation of the DOS-era gameport connector?

However, in the 90's things existed like the Gravis Gamepad Pro that had eight buttons and somehow used the same port (presumably a combination of dos driver and individual game support?). The Gravis Pro also had a switch that toggled between 4 button and 8 button output for backwards compatibility (the original Gravis Gamepad had only 4 buttons).

Is there any chance of Gravis Gamepad/Gamepad Pro ever being emulatedunder DOSBox-X, even if drivers were required? Or, if not, just generic 8-button gamepad support (not as authentic as the Gravis, but more useful to most people probably)?

Wengier commented 3 years ago

@Banjo-Oz Sure! DOSBox-X hopes to accurately emulate all pre-2000 DOS and Windows 9x based hardware scenarios, and this of course includes Gravis Gamepad Pro that existed in the 1990s. If it worked in DOS at that time, then it will hopefully work in DOSBox-X at some point at well.

Banjo-Oz commented 3 years ago

@Wengier That's great news! I am a bit surprised that no (to my knowledge) fork of DOSBox seems to have attempted Gravis "GrIP" emulation or even "cheated" and allowed 8-button non-authentic controllers to work (meaning every build I know of is still limited to 4 button controllers/joysticks unless you use the mapper or an external program like Joy2Key).

Being able to use an 8-button controller in DOSBox-X would be awesome, whether it was limited to only games that supported the Gravis Gamepad Pro (or others I'm not as educated about, maybe the Microsoft Sidewinder?) or not.

rderooy commented 3 years ago

The issue with this is that it requires that someone has the controller and can either document it properly as to how it works (low-level) or actually can write the patch to support it.

Do you know of any documentation from Gravis for game developers on how to use the controller?

Banjo-Oz commented 3 years ago

@rderooy Not off-hand, but I will see what I can find! Sadly, as I said, I never owned one personally and only learned about the "Pro" recently (since I was researching controllers with more than 4 buttons). Somewhere I do have a gameport 8-button controller I think, but likely that's no help.

Totally makes sense that for Gravis Gamepad & Pro, the actual controller would be needed and better yet info on how to support it.

For a proper expert and someone likely to have both the actual device and the knowledge of how it works, VOGONS (drivers here, for example) is the first place I can think of or maybe /r/vintagecomputing on Reddit? Or this guy, who's knowledge and collection is pretty amazing! Maybe this project would have useful info, since it's about converting the pinout signals (though for a different end result)?