It seems that you're using an outdated browser. Some things may not work as they should (or don't work at all).
We suggest you upgrade newer and better browser like: Chrome, Firefox, Internet Explorer or Opera

×
avatar
dtgreene: Just one note:
You want to use an Arduino (or similar) that has native USB support; notably, the Arduino Uno does *not*. Try the Leonardo, for example.

Native USB support allows it to appear as a USB gamepad; without it, even if there's a USB port, it will only be able to act as a serial device, making it not work as a gamepad without a host-side driver.
avatar
Scrapack: If someone made an arduino firmware that allowed me to plug in a Gravis Digital gameport, or in case of the Stinger the serial port, to apply the Gravis Grip driver, then export hid compliant usb to the pc, I'd be so excited. Also, I'd be interested in one that worked with the Logitech Cyberman 2 6dof digital gameport, as it was made initially for NASA's robot arms on the space shuttle, also supposedly to be pretty good for the game "Decent," if you still have a working 98 pc for those drivers. Only 4 wires leave the Blackhawk Digital, but it is not compatible with the usb dongles all other Gravis digital gameports with "digital" in their name use, probably because it is the last derivative of their Phoenix design from the early 90's. I suspect it is closer to serial standards than usb.
avatar
dtgreene: As I said, if you want there to be any chance of this being possible, you need a device with native USB.

In any case, now's as good as any time to learn how to program, at least at a basic level. (I usually recommend Python for beginners, and you can actually get a board that can run MicroPython or CircuitPython, but if you're focused on embedded, C would be a better language.)
I don't think I understand. The game controllers I have that have native USB, don't need to be adapted, only the controllers that used weird proprietary win9x software to run. Why would I gut a usb joystick to put a Arduino board in it? I Agree that arduino is likely the best solution to building plug n play adapters that would be ideal for vintage nonstandard controller inputs, especially with their age contributing to potential longevity issues, or how much of a pain it is to reassemble some controllers, should they need to be replaced more than once.

I have to take C++ at the college and assembly language. Eventually, in a year maybe, I may be able to use that with Arduino, but I can solder buttons and potentiometers directly to a usb Xbox controller bypassing any Joystick microchips to have something working today and not worry about interfacing with 90's proprietary nonsense. Alternatively if I solder to a PlayStation 2 gamepad, than I have adapters to use that joystick on half a dozen consoles I own, and as a bluetooth device. There are long term and short term solutions, bypassing old control boards to solder directly to a existing hid compliant controller board is short term, learn to program, and get logic readers to reverse engineer old gamepad microchips, is more of a long term learning process. I admit the Ideal solution for adapting old proprietary nonsense like digital gameports, would be an external adapter requiring no modification like is made for console controllers. That would require Arduino and quite a bit of programming skill I think. I don't have that skill yet, and I don't have logic analyzers to reverse engineer stuff. I have a soldering iron, multimeters and the other tools I use to fix non-computer electronics like electric gates and turntables.



One of the biggest problems with using Arduino for converting the Blackhawk Digital is that the joystick doesn't use potentiometers for the X/Y axis. The throttle is labeled as a potentiometer with 3 pins, but the axis are controlled by 4 pin sliders that are labeled as variable resistors. I read that they do a similar job in a different way. I saw lots of links for using a potentiometers in place of variable resistors but not the other way around. Can a variable resistor be reliably wired to a circuit designed for a potentiometer?
avatar
Scrapack: I don't think I understand. The game controllers I have that have native USB, don't need to be adapted, only the controllers that used weird proprietary win9x software to run. Why would I gut a usb joystick to put a Arduino board in it? I Agree that arduino is likely the best solution to building plug n play adapters that would be ideal for vintage nonstandard controller inputs, especially with their age contributing to potential longevity issues, or how much of a pain it is to reassemble some controllers, should they need to be replaced more than once.
Let me explain what you would be doing:
* The Arduino Leonardo (just an example, there are other alternatives) has native device side USB. If you connect it to a computer, it will by default appear as a serial device, but you could easily program it to appear as, say, an HID device like a gamepad. This is the side you connect to the PC; it is *not* where you connect the controller you're trying to adapt.
* You can then wire up the gamepad to the GPIO pins on the Arduino; this is how you would receive the gamepad's input. Your software would then read that input, figure out what was pressed, and then send the resulting gamepad input to the computer via USB. The computer would then only see the input sent via USB. (Note that I do not know how to do said wiring, as I am not familiar with that sort of stuff, but you might be.)
* You need native USB for it to appear as a gamepad to the computer; with something like the Arduino Uno, on the other hand, the USB is attached to a serial-to-UAB adapter that can only appear as a serial port to the computer. It is for this reason that you need native USB for what you want to do.

avatar
Scrapack: One of the biggest problems with using Arduino for converting the Blackhawk Digital is that the joystick doesn't use potentiometers for the X/Y axis. The throttle is labeled as a potentiometer with 3 pins, but the axis are controlled by 4 pin sliders that are labeled as variable resistors. I read that they do a similar job in a different way. I saw lots of links for using a potentiometers in place of variable resistors but not the other way around. Can a variable resistor be reliably wired to a circuit designed for a potentiometer?
I do not know the answer to your question here, or rather I don't know of a way to do it purely in hardware.

With a microcontroller (like the Arduino), you could, of course, write software that converts the signal to the format that you need, but that would require some simple programming.

In any case, why not get an Arduino kit and use it to learn to program? There are plenty of resources for learning Arduino program, and the programming is done in C++, just with a different standard library. If you know at least a little about programming, you might find those early collage classes easier, especially if you get a bad professor.
Post edited May 27, 2020 by dtgreene
So no drivers , then throw it out.
Just in case that it could be of use somehow, I gather that Linux still supports the Gravis BlackHawk Digital. See this driver, but of course you would need a real gameport to make use of it. And then it's Linux, which may or may not be your cup of tea.

Also found this Arduino project, but it may be just for Gravis Gamepad Pro.
Post edited May 28, 2020 by Rixasha
avatar
Scrapack: One of the biggest problems with using Arduino for converting the Blackhawk Digital is that the joystick doesn't use potentiometers for the X/Y axis. The throttle is labeled as a potentiometer with 3 pins, but the axis are controlled by 4 pin sliders that are labeled as variable resistors. I read that they do a similar job in a different way. I saw lots of links for using a potentiometers in place of variable resistors but not the other way around. Can a variable resistor be reliably wired to a circuit designed for a potentiometer?
I have little time at the moment and will read the complete thread later.

The weirdest frankenstein I did with controllers was using the cheapest X-input we could get, and soldering wires to connect to the buttons on a mini arcade/emulation machine running Batocera. The controller we used was Trust brand link that cost 8 Euros on the local supermarket, I bought one for myself as well and still have it.

I don't know any controller you talk about but will check it later. A potentiometer is often used as a voltage divider, take a look at the search engine as it is very easy to find. A linear variable resistor (depending on the type) sometimes have only 2 pins instead of 3 pins, so it will need a extra resistor to make a voltage divider.
Armed with a multimeter you shoud be able to measure the circuit, either in volts, if connected, or ohms. Take notes!!!

Can you get a high res picture of the board itself?
avatar
Rixasha: Just in case that it could be of use somehow, I gather that Linux still supports the Gravis BlackHawk Digital. See this driver, but of course you would need a real gameport to make use of it. And then it's Linux, which may or may not be your cup of tea.

Also found this Arduino project, but it may be just for Gravis Gamepad Pro.
I'm trying to learn linux, and it doesn't anger me like the few Macs I have used did. I've heard of this, but am still not sure how it actually works. Additionaly, it seems like most of my games do not support linux, and I have not had any luck with wine. Also, with the tower being a win10 dual boot, windows will probably complain like crazy, or give a crash report, if I try to install one of my extra soundblaster cards on a pci-e to pci adapter as none of them are supported by win10. A good OS wouldn't crash because of a non essential component isn't supported, but apparently that's a new feature for some Windows 10 users. My games are really the only thing keeping me on windows as win10 keeps giving me reasons not to like it. It has so many problems that win7 didn't have. Also, I've heard that virtualbox creates it's own problems as to render non-casual gaming impossible with lag. It'd be nice if GOG gave a higher priority to linux compatibility, that would at least alleviate most of it.

Thank you for bringing it up though. It'd be my preferred solution if I could get my games to install properly in linux.

avatar
Scrapack: One of the biggest problems with using Arduino for converting the Blackhawk Digital is that the joystick doesn't use potentiometers for the X/Y axis. The throttle is labeled as a potentiometer with 3 pins, but the axis are controlled by 4 pin sliders that are labeled as variable resistors. I read that they do a similar job in a different way. I saw lots of links for using a potentiometers in place of variable resistors but not the other way around. Can a variable resistor be reliably wired to a circuit designed for a potentiometer?
avatar
Dark_art_: I have little time at the moment and will read the complete thread later.

The weirdest frankenstein I did with controllers was using the cheapest X-input we could get, and soldering wires to connect to the buttons on a mini arcade/emulation machine running Batocera. The controller we used was Trust brand link that cost 8 Euros on the local supermarket, I bought one for myself as well and still have it.

I don't know any controller you talk about but will check it later. A potentiometer is often used as a voltage divider, take a look at the search engine as it is very easy to find. A linear variable resistor (depending on the type) sometimes have only 2 pins instead of 3 pins, so it will need a extra resistor to make a voltage divider.
Armed with a multimeter you shoud be able to measure the circuit, either in volts, if connected, or ohms. Take notes!!!

Can you get a high res picture of the board itself?
On the Blackhawk digital, one of the pins on the variable resistor doesn't have contnuity. "Pin1"(only pin labeled) with the far connected pin seems to read randomly around 16.xx k ohms regardless of slider position. This number moves around constantly, possibly the fault in my meter. The other two pins range from 30.4K-0 ohm depending on slider position. The potentiometer has all three wires connected. P3A to P3B is 30k-0 ohm. P3A to P3C lists 30k ohm regardless of throttle position. P2B to P3C is 30k0 ohm. P2 are the leads from inside the handle.


Oddly the Blackhawk analogue registered 85.3k-0 ohm, and 86.7 ohm for the variable resistors.
the throttle potentiometer only has two wires connected and reads 96.3k-0 ohm
Gog doesn't allow posting photos of greater than 1 mb. I'll see if I can host it elsewhere. Was there a specific board you wanted to see?
I've traced the handle boards, and am nearly certain the Gravis Xterminator Dual Control and Microsoft Sidewinder Percision pro handles can be interchanged by just soldering the wires to the correct pinnout. This should be an easy mod if someone just wants a more ergonomic grip on their Sidewinder.

I am willing to accept now that any modding of an actual blackhawk digital with it's shell will either require extensive rewiring and a mod of the handle to rj45 with new cable management, or understanding of programming protocols and and Arduino. Joysticks with all internal wiring may be able to be bypassed to control boards but this design cannot.





This just leaves the question of if the variable resistors can be wired to an Arduino, or other board, with the same software as used for a potentiometer based joystick, or if it will need to be wired or programmed differently.