VOGONS


Reply 40 of 69, by Shores

User metadata
Rank Newbie
Rank
Newbie
scorp wrote on 2021-11-17, 13:27:

Yes, there are two pins left, which I planned to use for that one day. As far as I know, the Gravis Firebird 2 is an analog joystick, which doesn't use any digital protocol. I don't have it, but I looked at it already, because someone asked for the support. I think that it just sends the AT keyboard buttons through the passthrough. So theoretically the GamePort Adapter can be extended with a DIN5 connector and Clk/Data can be wired to the pins 2/3. Then we can implement the AT keyboard protocol and accept the keyboard input. But as long as I don't have the joystick, it would be hard to implement it. I could theoretically start to implement the AT protocol and add an additional Port on a separate branch. As far as I know, other joysticks like Thrustmaster F-16 used similar solution, so it would be useful not only for the Gravis Firebird 2.

It seems the Firebird2 is indeed a digitally programmable device, see Re: Gravis Firebird 2

It seems that what keystrokes does a button send is somewhat programmable in the device, so that it can be used from then on as a classic analog ch flightstick+keybard macros...

So its dos utility could program it... maybe we can reverse engineer the protocol? 😀

Everything that deserves to be done, should be done right.

Reply 41 of 69, by frankenduke

User metadata
Rank Newbie
Rank
Newbie

Howdy folks,
I have recently found this device and am working to build my own (waiting on PCBway).

I intend to make an openScad box for it and post that. Maybe submit it to the Git repo? Making that .stl is something I can do.

What I would like to do is get my Thrustmaster setup back including figuring out the programming of the WCS. That is currently beyond my skill but something I hope to grow into/recover.

Can confirm the hat on the FCS is just 4 microswitches and a set of resistors. I replaced the switches and am rebuilding it.

Reply 42 of 69, by MisterEd

User metadata
Rank Newbie
Rank
Newbie
frankenduke wrote on 2022-01-14, 02:49:

I intend to make an openScad box for it and post that. Maybe submit it to the Git repo? Making that .stl is something I can do.

Hey frankenduke, did you ever end up making a case for this project?

I am going to be building one shortly and have been looking around for a case that I could 3d print.

Reply 43 of 69, by frankenduke

User metadata
Rank Newbie
Rank
Newbie

Howdy, yes I did and what's better I had emailed it so I can still get at them. They're older I haven't worked on it since about January. So it's still for the micro USB version.

I'll try and get it uploaded someplace today and update this.

Reply 45 of 69, by MisterEd

User metadata
Rank Newbie
Rank
Newbie
frankenduke wrote on 2022-08-11, 03:43:

Here's the box:
https://www.thingiverse.com/thing:5457006

Had to dig it out of my email because I don't have access to my computer.

Thanks, that is awesome. I did use a USB-C board for my one so will need to make some modifications.

I was also thinking of flipping the DIP switches to the underside of the board. That way there could be a hole in the case to access them without having to open it if you want to change the joystick.

Reply 47 of 69, by JimmyGee252

User metadata
Rank Newbie
Rank
Newbie

I'm a late arrival to this thread. I have been searching for a gameport adapter like this ever since I put my SideWinder 3D Pro on my closet shelf. Found one on Tindie that uses the SparkFun Pro Micro board. I plugged it in and loaded up Wing Commander IV only to find out the throttle slider is mapped to the rudder and vice versa. I can't find anywhere to change the axes in Windows 11 (maybe I missed something) so I'm thinking that the firmware may be messed up. I'm not a coder by any means (utility scripts don't really count!) as I was a VMWare/Citrix guy until I retired. Any advice on what to do would be greatly appreciated! I reached out to the guy I bought it from, but he couldn't help.

Reply 48 of 69, by 1541

User metadata
Rank Member
Rank
Member

Hi JimmyGee252,

did you check the DIP-switches for their correct positions when using a SW3D?
In Windows (any version) you could start up the application "joy.cpl" and check the axis and button assignments. Maybe just WC4 messed something up...

If you want to flash the firmware yourself (to ensure you have the latest version), you can do that yourself as well:
#1 download all source files from https://github.com/necroware/gameport-adapter … ameport-adapter
#2 download the Arduino IDE from https://www.arduino.cc/en/software
#3 connect the Adapter with your USB cable
#4 open "gameport-adapter.ino" included in the source files
#5 in "Tools" -> Port -> select the virtual COM port that says (Arduino Micro)
#6 in "Sketch" -> select "Upload" which will compile the firmware and upload it to the Arduino
#7 you're done

💾 Windows 9x resources (drivers, tools, NUSB,...) 💾

Reply 49 of 69, by JimmyGee252

User metadata
Rank Newbie
Rank
Newbie
1541 wrote on 2023-01-04, 14:45:
Hi JimmyGee252, […]
Show full quote

Hi JimmyGee252,

did you check the DIP-switches for their correct positions when using a SW3D?
In Windows (any version) you could start up the application "joy.cpl" and check the axis and button assignments. Maybe just WC4 messed something up...

If you want to flash the firmware yourself (to ensure you have the latest version), you can do that yourself as well:
#1 download all source files from https://github.com/necroware/gameport-adapter … ameport-adapter
#2 download the Arduino IDE from https://www.arduino.cc/en/software
#3 connect the Adapter with your USB cable
#4 open "gameport-adapter.ino" included in the source files
#5 in "Tools" -> Port -> select the virtual COM port that says (Arduino Micro)
#6 in "Sketch" -> select "Upload" which will compile the firmware and upload it to the Arduino
#7 you're done

I verified the DIP switches, ran joy.cpl, etc. Wing Commander is one of the titles that Scorp played during his testing, and it was just fine. I downloaded Arduino IDE, installed it and added in the library for the SparkFun Pro Micro. I downloaded all the project files, compiled and uploaded it to the board. After it finished, I now get a mesage that it is an unknown USB device, so I am certain I "bricked" the board. I tried some suggestions to un-brick it but the board doesn't stay active long enough after I reset it for a "blank" sketch to upload. Anyone have gameport adapter for sale? 😉 The SparkFun Pro Micro is soldered to the Necro board so it will be a pain in the you-know to get it off, but I could try and then put an Arduino Pro Micro on it instead and start over, I guess. Socketed this time.

Any suggestions are very welcome course! A true rookie mistake for sure.

Reply 50 of 69, by scorp

User metadata
Rank Member
Rank
Member
JimmyGee252 wrote on 2023-01-05, 19:51:
1541 wrote on 2023-01-04, 14:45:
Hi JimmyGee252, […]
Show full quote

Hi JimmyGee252,

did you check the DIP-switches for their correct positions when using a SW3D?
In Windows (any version) you could start up the application "joy.cpl" and check the axis and button assignments. Maybe just WC4 messed something up...

If you want to flash the firmware yourself (to ensure you have the latest version), you can do that yourself as well:
#1 download all source files from https://github.com/necroware/gameport-adapter … ameport-adapter
#2 download the Arduino IDE from https://www.arduino.cc/en/software
#3 connect the Adapter with your USB cable
#4 open "gameport-adapter.ino" included in the source files
#5 in "Tools" -> Port -> select the virtual COM port that says (Arduino Micro)
#6 in "Sketch" -> select "Upload" which will compile the firmware and upload it to the Arduino
#7 you're done

I verified the DIP switches, ran joy.cpl, etc. Wing Commander is one of the titles that Scorp played during his testing, and it was just fine. I downloaded Arduino IDE, installed it and added in the library for the SparkFun Pro Micro. I downloaded all the project files, compiled and uploaded it to the board. After it finished, I now get a mesage that it is an unknown USB device, so I am certain I "bricked" the board. I tried some suggestions to un-brick it but the board doesn't stay active long enough after I reset it for a "blank" sketch to upload. Anyone have gameport adapter for sale? 😉 The SparkFun Pro Micro is soldered to the Necro board so it will be a pain in the you-know to get it off, but I could try and then put an Arduino Pro Micro on it instead and start over, I guess. Socketed this time.

Any suggestions are very welcome course! A true rookie mistake for sure.

You could try to disconnect the device from the USB and the joystick, then set all switches to OFF and try to reflash the firmware once again. If after that the device remains dead, then probably you'll need to reflash the bootloader on that, but I have no experience with SparkFun Pro Micro, so I don't really know how that can be done. With Arduino you can use a second one to recover. There are many howtos online, may be for SparkFun you can also find something.

My Youtube channel Necroware

Reply 51 of 69, by JimmyGee252

User metadata
Rank Newbie
Rank
Newbie
JimmyGee252 wrote on 2023-01-05, 19:51:
1541 wrote on 2023-01-04, 14:45:
Hi JimmyGee252, […]
Show full quote

Hi JimmyGee252,

did you check the DIP-switches for their correct positions when using a SW3D?
In Windows (any version) you could start up the application "joy.cpl" and check the axis and button assignments. Maybe just WC4 messed something up...

If you want to flash the firmware yourself (to ensure you have the latest version), you can do that yourself as well:
#1 download all source files from https://github.com/necroware/gameport-adapter … ameport-adapter
#2 download the Arduino IDE from https://www.arduino.cc/en/software
#3 connect the Adapter with your USB cable
#4 open "gameport-adapter.ino" included in the source files
#5 in "Tools" -> Port -> select the virtual COM port that says (Arduino Micro)
#6 in "Sketch" -> select "Upload" which will compile the firmware and upload it to the Arduino
#7 you're done

I verified the DIP switches, ran joy.cpl, etc. Wing Commander is one of the titles that Scorp played during his testing, and it was just fine. I downloaded Arduino IDE, installed it and added in the library for the SparkFun Pro Micro. I downloaded all the project files, compiled and uploaded it to the board. After it finished, I now get a mesage that it is an unknown USB device, so I am certain I "bricked" the board. I tried some suggestions to un-brick it but the board doesn't stay active long enough after I reset it for a "blank" sketch to upload. Anyone have gameport adapter for sale? 😉 The SparkFun Pro Micro is soldered to the Necro board so it will be a pain in the you-know to get it off, but I could try and then put an Arduino Pro Micro on it instead and start over, I guess. Socketed this time.

Any suggestions are very welcome course! A true rookie mistake for sure.

I forgot to say thank you! Thank you! 😀

Reply 52 of 69, by JimmyGee252

User metadata
Rank Newbie
Rank
Newbie
scorp wrote on 2023-01-05, 20:10:
JimmyGee252 wrote on 2023-01-05, 19:51:
1541 wrote on 2023-01-04, 14:45:
Hi JimmyGee252, […]
Show full quote

Hi JimmyGee252,

did you check the DIP-switches for their correct positions when using a SW3D?
In Windows (any version) you could start up the application "joy.cpl" and check the axis and button assignments. Maybe just WC4 messed something up...

If you want to flash the firmware yourself (to ensure you have the latest version), you can do that yourself as well:
#1 download all source files from https://github.com/necroware/gameport-adapter … ameport-adapter
#2 download the Arduino IDE from https://www.arduino.cc/en/software
#3 connect the Adapter with your USB cable
#4 open "gameport-adapter.ino" included in the source files
#5 in "Tools" -> Port -> select the virtual COM port that says (Arduino Micro)
#6 in "Sketch" -> select "Upload" which will compile the firmware and upload it to the Arduino
#7 you're done

I verified the DIP switches, ran joy.cpl, etc. Wing Commander is one of the titles that Scorp played during his testing, and it was just fine. I downloaded Arduino IDE, installed it and added in the library for the SparkFun Pro Micro. I downloaded all the project files, compiled and uploaded it to the board. After it finished, I now get a mesage that it is an unknown USB device, so I am certain I "bricked" the board. I tried some suggestions to un-brick it but the board doesn't stay active long enough after I reset it for a "blank" sketch to upload. Anyone have gameport adapter for sale? 😉 The SparkFun Pro Micro is soldered to the Necro board so it will be a pain in the you-know to get it off, but I could try and then put an Arduino Pro Micro on it instead and start over, I guess. Socketed this time.

Any suggestions are very welcome course! A true rookie mistake for sure.

You could try to disconnect the device from the USB and the joystick, then set all switches to OFF and try to reflash the firmware once again. If after that the device remains dead, then probably you'll need to reflash the bootloader on that, but I have no experience with SparkFun Pro Micro, so I don't really know how that can be done. With Arduino you can use a second one to recover. There are many howtos online, may be for SparkFun you can also find something.

Thank you for the tips Scorp! So far, it is still bricked. 🙁 What is the part number for the Arduino you are using with the USB C connector?

Reply 53 of 69, by JimmyGee252

User metadata
Rank Newbie
Rank
Newbie
JimmyGee252 wrote on 2023-01-05, 23:49:
scorp wrote on 2023-01-05, 20:10:
JimmyGee252 wrote on 2023-01-05, 19:51:

I verified the DIP switches, ran joy.cpl, etc. Wing Commander is one of the titles that Scorp played during his testing, and it was just fine. I downloaded Arduino IDE, installed it and added in the library for the SparkFun Pro Micro. I downloaded all the project files, compiled and uploaded it to the board. After it finished, I now get a mesage that it is an unknown USB device, so I am certain I "bricked" the board. I tried some suggestions to un-brick it but the board doesn't stay active long enough after I reset it for a "blank" sketch to upload. Anyone have gameport adapter for sale? 😉 The SparkFun Pro Micro is soldered to the Necro board so it will be a pain in the you-know to get it off, but I could try and then put an Arduino Pro Micro on it instead and start over, I guess. Socketed this time.

Any suggestions are very welcome course! A true rookie mistake for sure.

You could try to disconnect the device from the USB and the joystick, then set all switches to OFF and try to reflash the firmware once again. If after that the device remains dead, then probably you'll need to reflash the bootloader on that, but I have no experience with SparkFun Pro Micro, so I don't really know how that can be done. With Arduino you can use a second one to recover. There are many howtos online, may be for SparkFun you can also find something.

Thank you for the tips Scorp! So far, it is still bricked. 🙁 What is the part number for the Arduino you are using with the USB C connector?

After doing some reading and a lot of fiddling around with the reset pin on the Sparkfun Pro Micro and clicking in IDE I got the board un-bricked. I reloaded the board successfully (it seems I may not have selected the board processor correctly the last time.) But guess what? My SideWinder 3D Pro throttle & rudder are still reversed! I'm wondering if the Necro board has crossed traces. So what I did for now was edited Sidewinder.h.

I changed:
state.axes[2] = map(bits(35, 2) << 7 | bits(40, 7), 0, 511, 0, 1023);
state.axes[3] = bits(32, 3) << 7 | bits(48, 7);

To:
state.axes[2] = bits(32, 3) << 7 | bits(48, 7);
state.axes[3] = map(bits(35, 2) << 7 | bits(40, 7), 0, 511, 0, 1023);

Now my throttle and rudder are correct and work the way they do on my SideWinder Precision Pro 2. The question is, should I make similar changes to some of the other joystick files?

Reply 54 of 69, by scorp

User metadata
Rank Member
Rank
Member

Congratulations! Glad you got it back to life. The wiring on the board has nothing to do with it, SW3D is a digital joystick and decoding is made in the software. It's fine if this setting works for you, but there is no need to change it for the others. For some reason your settings in windows are that way, you should be able to reassign the axes in the games and/or operation system.

My Youtube channel Necroware

Reply 55 of 69, by generic42

User metadata
Rank Newbie
Rank
Newbie
MisterEd wrote on 2022-08-15, 06:09:
frankenduke wrote on 2022-08-11, 03:43:

Here's the box:
https://www.thingiverse.com/thing:5457006

Had to dig it out of my email because I don't have access to my computer.

Thanks, that is awesome. I did use a USB-C board for my one so will need to make some modifications.

I was also thinking of flipping the DIP switches to the underside of the board. That way there could be a hole in the case to access them without having to open it if you want to change the joystick.

MisterEd, did you ever make an updated case for the USB-C adapter? If so would you be willing to provide the file(s)?

Reply 56 of 69, by JimmyGee252

User metadata
Rank Newbie
Rank
Newbie
generic42 wrote on 2023-01-09, 02:20:
MisterEd wrote on 2022-08-15, 06:09:
frankenduke wrote on 2022-08-11, 03:43:

Here's the box:
https://www.thingiverse.com/thing:5457006

Had to dig it out of my email because I don't have access to my computer.

Thanks, that is awesome. I did use a USB-C board for my one so will need to make some modifications.

I was also thinking of flipping the DIP switches to the underside of the board. That way there could be a hole in the case to access them without having to open it if you want to change the joystick.

MisterEd, did you ever make an updated case for the USB-C adapter? If so would you be willing to provide the file(s)?

I'd love one of those if you design up one for USBC. One question: is your Arduino board socketed or soldered in just using headers?

Reply 57 of 69, by JimmyGee252

User metadata
Rank Newbie
Rank
Newbie
scorp wrote on 2023-01-06, 20:53:

Congratulations! Glad you got it back to life. The wiring on the board has nothing to do with it, SW3D is a digital joystick and decoding is made in the software. It's fine if this setting works for you, but there is no need to change it for the others. For some reason your settings in windows are that way, you should be able to reassign the axes in the games and/or operation system.

I wish Windows 10/11 did have a way to change the axis built in. Unless I missed it somewhere. I saw some folks talking about a driver for USB Joysticks that allowed that, they were calling it "USB Network Joystick Driver", but I haven't found anywhere reputable to download it. I'm not fond of downloading and running an .EXE file from "takeyourchance.net" if you get what I mean.

Reply 58 of 69, by JimmyGee252

User metadata
Rank Newbie
Rank
Newbie

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.

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

Reply 59 of 69, by JimmyGee252

User metadata
Rank Newbie
Rank
Newbie

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.