VOGONS


Reply 60 of 84, by generic42

User metadata
Rank Newbie
Rank
Newbie
JimmyGee252 wrote on 2023-01-13, 21:55:

It turns out that Steam wants to map pretty much any controller to the twin-stick gamepad format, so there is no reason to try and make a SideWinder 3D Pro impersonate another controller. I have created a very usable Layout in Steam and have some documentation on how to do it should anyone be interested.

Hi Jimmy, I'm interested. Could you share the config/instructions? Thanks

Reply 61 of 84, by insanitor

User metadata
Rank Newbie
Rank
Newbie

I’m confused. RadioShack made adapters like this. I’ve got two of them.

When I go, the smiles and the laughs go with me.

Reply 62 of 84, by JimmyGee252

User metadata
Rank Newbie
Rank
Newbie
insanitor wrote on 2023-02-13, 07:54:

I’m confused. RadioShack made adapters like this. I’ve got two of them.

Radio Shack did make adapters. They were not like this and would only work with simple analog joysticks. What brand/model joysticks are you trying to use?

Last edited by JimmyGee252 on 2023-02-14, 22:10. Edited 1 time in total.

Reply 63 of 84, by JimmyGee252

User metadata
Rank Newbie
Rank
Newbie
generic42 wrote on 2023-02-06, 03:49:
JimmyGee252 wrote on 2023-01-13, 21:55:

It turns out that Steam wants to map pretty much any controller to the twin-stick gamepad format, so there is no reason to try and make a SideWinder 3D Pro impersonate another controller. I have created a very usable Layout in Steam and have some documentation on how to do it should anyone be interested.

Hi Jimmy, I'm interested. Could you share the config/instructions? Thanks

Absolutely. I published it on Steam today. https://steamcommunity.com/sharedfiles/filede … /?id=2933533452 If it isn't active, it should be shortly as Steam scans them for objectional content before making them live.

Reply 64 of 84, by Pierre32

User metadata
Rank Oldbie
Rank
Oldbie
JimmyGee252 wrote on 2023-01-17, 15:41:
I made a case for my Necroware Gameport Adapter from a small box I bought from Digi-Key. Here are some photos: […]
Show full quote

I made a case for my Necroware Gameport Adapter from a small box I bought from Digi-Key. Here are some photos:

IMG-4364.jpg IMG-4365.jpg IMG-4366.jpg

I think it came out pretty well. The box is a Hammond Manufacturing 1551RTBU, Digi-Key Part # HM1142-ND.

My adapter has the micro board soldered directly via headers (no socket) and a USB C connector. The cover holds the board in place pretty well, but I put a small double-stick pad
on a blank area on the bottom of the board just to be sure.

Very neat.

For any Aussies wanting to grab something from Jaycar, this one works decently. I'd show you the finished result but my hacking and filing is rough as guts.

The attachment PXL_20230417_075850116.jpg is no longer available

Reply 65 of 84, by generic42

User metadata
Rank Newbie
Rank
Newbie
Pierre32 wrote on 2023-04-17, 08:50:

For any Aussies wanting to grab something from Jaycar, this one works decently. I'd show you the finished result but my hacking and filing is rough as guts.

PXL_20230417_075850116.jpg

Excellent idea - we have Jaycar in NZ too so I'll pick one of these up

Reply 66 of 84, by insanitor

User metadata
Rank Newbie
Rank
Newbie
JimmyGee252 wrote on 2023-02-14, 22:05:
insanitor wrote on 2023-02-13, 07:54:

I’m confused. RadioShack made adapters like this. I’ve got two of them.

Radio Shack did make adapters. They were not like this and would only work with simple analog joysticks. What brand/model joysticks are you trying to use?

I use my RadioShack adapter with an Interact Magnum 6.

I also use a couple of Gamepads with my RadioShack adapter.

My adapter works with anything I’ve thrown at it so far.

Perhaps you are not aware of the particular one I have. Or that RadioShack made the adapter that I have.

When I go, the smiles and the laughs go with me.

Reply 67 of 84, by Pierre32

User metadata
Rank Oldbie
Rank
Oldbie
insanitor wrote on 2023-06-07, 01:36:
I use my RadioShack adapter with an Interact Magnum 6. […]
Show full quote
JimmyGee252 wrote on 2023-02-14, 22:05:
insanitor wrote on 2023-02-13, 07:54:

I’m confused. RadioShack made adapters like this. I’ve got two of them.

Radio Shack did make adapters. They were not like this and would only work with simple analog joysticks. What brand/model joysticks are you trying to use?

I use my RadioShack adapter with an Interact Magnum 6.

I also use a couple of Gamepads with my RadioShack adapter.

My adapter works with anything I’ve thrown at it so far.

Perhaps you are not aware of the particular one I have. Or that RadioShack made the adapter that I have.

Cool. Where can I buy one?

Reply 68 of 84, by insanitor

User metadata
Rank Newbie
Rank
Newbie

The RadioShack cat number is 26-164.

They come up on eBay.

When I go, the smiles and the laughs go with me.

Reply 69 of 84, by scorp

User metadata
Rank Member
Rank
Member

That's RadioShack is not the same. It's similar to the Rockfire adapter and is only for analogue devices. It doesn't support digital joystick like the Sidewinder or others.

My Youtube channel Necroware

Reply 70 of 84, by chjmartin2

User metadata
Rank Newbie
Rank
Newbie
scorp wrote on 2023-06-08, 04:42:

That's RadioShack is not the same. It's similar to the Rockfire adapter and is only for analogue devices. It doesn't support digital joystick like the Sidewinder or others.

How about a driver for http://www.dosusb.net/?

Reply 71 of 84, by davidmorom

User metadata
Rank Newbie
Rank
Newbie

Hi scorp!! First of all, I want to thank you for this great project.

I recently got a second hand Logitech ThunderPad Digital, as this was the first controller I used on my childhood PC. I first tested it on several retro rigs, with varing results, as I suspect that the original Logitech drivers don't work on fast CPUs or integrated gameports, as it worked fine on a AMD K6-2 with an ISA Sound Blaster, but on a Pentium 4 with integrated gameport, the operating system completely freezes when loading the driver.

Anyway, soon after, I started thinking on making an USB adapter for this gamepad, and when looking for documentation on the protocol used by these devices, I found your GitHub repo. I assembled the adapter but, sadly, it didn't work at all. Luckily, as you code is nicely written and documented, I was able to quickly debug and fix the issues preventing this gamepad from working.

I'm going to add a Pull Request to your GitHub repo but, just in case you don't like the way I coded the changes, or you want to address the issues in a completely different way, I leave here details of the issues:

- The first issue is that the controller is not initialized at all. Enabling the debug output reveals the following error: "Meta data package size mismatch, expected 128 but got 146" (the numbers are reversed, I think, but this is irrelevant). I initially thought it must be some kind of stupid bug in the gamepad's firmware, but then I saw you defined the packet buffer to have 128 elements, so I increased it to 255 and the gamepad was correctly detected.

- This controller defines itself as having 12 buttons an 0 axes. While this is not strictly an issue, I feel that considering up, down, left and right as buttons and not as axes is very inconvenient. I wrote two code blocks that are executed only if the device name is "ThunderPad". The first block, on the init() function, manually redefines the gamepad layout to have 2 axes and 8 buttons. The second block, on the update() function, manually remaps up, down, left and right buttons to X and Y axes.

- The third issue was a bit more subtle. After making all the modifications I realised that if I disconnect and reconnect the USB, the gamepad doesn't work at all, but if I reflash the firmware from the Arduino IDE, without making any changes, it starts working again. On another words, it only works if the Arduino is rebooted after powering the adapter, otherwise the gamepad seems to ignore the enableDigitalMode command and remains in analog mode. I assumed this is because the microcontroller on the gamepad takes a while to initialize, and the enableDigitalMode comes too early. I inserted a 100ms delay in the Setup() function an the problem got fixed. Bigger delays start to cause problems with the USB initialization. There seems to be a time frame within the custom USB descriptor must be defined, otherwise the USB behaves only as a COM port. I suppose this has to do with the way the bootloader or the Arduino IDE code handles the USB initialization. Anyway, 100ms seems to be enough and safe.

If you want to implent this in another way, I would be pleased to help you testing the code. I think it would be nice to add the ThunderPad to the supported list of controllers. After making these changes, I completed several Metal Slugs without any single issue, so it seems pretty solid.

Thanks again for your work.

Reply 72 of 84, by keenerb

User metadata
Rank Oldbie
Rank
Oldbie

Anyone know if this supports the Gravis digital pads like Xterminator and Xterminator joystick?

Reply 73 of 84, by hestermofet

User metadata
Rank Newbie
Rank
Newbie

Thank you scorp for this awesome project, looks like a lot of people are benefitting from it.

I built my own using a prototype board instead of a PCB, and in the process, I made this pinout chart because the Github project doesn't make it clear. Had to figure out how to read a KiCAD file, so I hope I did it right, 🤣. Would appreciate extra sets of eyes to make sure it's all accurate. The chart assumes you are using a Sparkfun Arduino Pro Micro (the part number is available in the BOM on scorp's GH).
https://docs.google.com/spreadsheets/d/14SG24 … dit?usp=sharing

if I get around to it, I might make a diagram using Fritzing, but not sure, since I already made my adapter so I may not to refer to the pinouts again. But I hope other people get a use out of it!

The final product looks like this:
e0ifkgS.jpeg
https://imgur.com/a/necroware-gameport-to-usb … adapter-Cy3RwLo
Will have to clean up the wiring by maybe putting it in heat shrink tubing, but works great.

The parts I used that are different than the BOM in the Github page are presented below (note: NONE of these are referral links, I just provided them to make it convenient for you if you want to make a similar DIY version).

Instead of an IC socket, I used two 20 pin female pin headers from this kit. Makes the Arduino removable for other projects.
Glarks 120Pcs 2.54mm Straight Single Row PCB Board Female Pin Header Socket Connector Strip Assortment Kit for Arduino Prototype Shield

Any PCB prototype board will do, but I used the 4x6 cm board from this kit:
https://www.amazon.ca/dp/B072Z7Y19F?ref=ppx_yo2ov_dt_b_fed_asin_title

Instead of tearing down some legacy hardware for a DB-15 port, I used this:
CERRXIAN DB15 Breakout Connector, DB15 D-SUB Female Solderless Serial to DB15 Screw Wiring Terminal Signal Module Breakout PCB Board with Plastic Case & Screws Nuts (Black) (FN)

Reply 74 of 84, by scorp

User metadata
Rank Member
Rank
Member

Looks great! Glad that this project attracts attention.

My Youtube channel Necroware

Reply 75 of 84, by Joseps

User metadata
Rank Newbie
Rank
Newbie

What an amazing project! I have made three boards in a row today and just finished testing the stuff I had around.

I am not sure if this is the better place for feedback, if GitHub is better I can drop this there. I drop the little info I gathered, in case might help others:

- Logitech Wingman Extreme. Original non-digital model (Analog , 4 button, 2 axis, hat)
Almost perfect with 1010 . Only bad thing it shows a phantom Z axis floating. All the real inputs work correctly.

- Gravis PC Gamepad (GriP, 4 buttons, 2 axis)
perfect with 1000 . Correct inputs, and the turbo works nicely when enabled.

- MS Sidewinder Force Feedback Pro. First model. (Sidewinder, 9 buttons, 4 axis, hat)
non working with 1110 . Sadly found a few issues:
--buttons 8 and 9 are floating, selfpressing randomly.
-- some other buttons do not hold the value when pressed, or are assigned incorrectly (I can elaborate in detail if that could help)
--hat floating. When idle self-triggers to random positions. When actuated moves to the right direction but immediatly floats to the opposite direction often (or to the right)

Sadly. I am unable to calibrate and properly test the axis, as the buttons fast forward instantly the assistant, but the axis seem to be correctlly asigned and if calibration was possible, I am almost sure they will work nicely.

I also have a 1st gen Sidewinder Force Feedback Weel, a Guillemot Analog wheel and a maybe a Logitech one (could also be usb, terrible memory), but those I will need time to test, as are still in boxes after moving.

I am pretty bad at coding low level (I have done thigns in simple and easy digital realm, i2c, sensors, screens, an similar baby stuff in Arduino), and I do not own an signal analyzer. I have a 2 ch Hantek digital oscilloscpe with maybe some capabilities, but I am still learning the basics with it. If something can be gathered in this scenario from a total noob, I would be glad to invest my free time if someone can suggest a good start point or just assign specific tasks I could perform.

Reply 77 of 84, by Joseps

User metadata
Rank Newbie
Rank
Newbie
1541 wrote on 2025-01-29, 22:39:

@Joseps do not use the code files v0.2.1.1 from the 2022 release, but download the code from the main branch directly as it's newer and got some fixes for the FFB:

https://github.com/necroware/gameport-adapter … /heads/main.zip

Good catch, I went straight to the releases following and old message you posted with instructions, and missed to check the date.

Thanks a lot!

Reply 78 of 84, by Joseps

User metadata
Rank Newbie
Rank
Newbie
Joseps wrote on 2025-01-29, 22:21:
(...) - MS Sidewinder Force Feedback Pro. First model. (Sidewinder, 9 buttons, 4 axis, hat) non working with 1110 . Sadly foun […]
Show full quote

(...)
- MS Sidewinder Force Feedback Pro. First model. (Sidewinder, 9 buttons, 4 axis, hat)
non working with 1110 . Sadly found a few issues:
--buttons 8 and 9 are floating, selfpressing randomly.
-- some other buttons do not hold the value when pressed, or are assigned incorrectly (I can elaborate in detail if that could help)
--hat floating. When idle self-triggers to random positions. When actuated moves to the right direction but immediatly floats to the opposite direction often (or to the right)
(...)

update: upgrading from release 0.2.1 to main (2025/01/30) fixed this entirely. 100% of the inputs work correctly on my sidewinder.

Awesome!

kudos to @1541 for that catch