VOGONS


Reply 20 of 69, by Shores

User metadata
Rank Newbie
Rank
Newbie
scorp wrote on 2021-09-29, 08:48:
Shores wrote on 2021-09-29, 08:39:

Ok, so how can I get one as to test it with my Cyberman2? 😀

Well, I guess, the easiest and the cheapest way is to build it yourself. All you need, you can find on the official project site. Even if I'd sell them, the shipping costs would be probably very high anyway, dependent on the place, where you live of course.

Thank you for all your hard work, I'll see if I can get to understand enough of KiCAD to get PCBWay to make the board for me. 😀

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

Reply 21 of 69, by scorp

User metadata
Rank Member
Rank
Member
jesolo wrote on 2021-09-29, 19:11:
scorp wrote on 2021-09-29, 19:03:
BitWrangler wrote on 2021-09-29, 18:43:

I wonder if it is possible to get one of those Estonian e-citizenships and run it out of Estonian cyber territory.

Too much of a headaches for a couple of Euro and I will never cover the investment anyway. I release everything I make open source, so everybody can easily produce the devices. A "thank you" is already a great reward for me and if someone wants to support me, my channel and my projects, there is still a paypal and a patreon accounts on my YouTube channel. I just leave it to the fairness of others.

Thank you for all the contributions you've made to the community. I've also subscribed to your YouTube channel and really enjoy watching the videos you've uploaded thus far.

Thank you too!

My Youtube channel Necroware

Reply 22 of 69, by scorp

User metadata
Rank Member
Rank
Member
Shores wrote on 2021-09-29, 20:55:
scorp wrote on 2021-09-29, 08:48:
Shores wrote on 2021-09-29, 08:39:

Ok, so how can I get one as to test it with my Cyberman2? 😀

Well, I guess, the easiest and the cheapest way is to build it yourself. All you need, you can find on the official project site. Even if I'd sell them, the shipping costs would be probably very high anyway, dependent on the place, where you live of course.

Thank you for all your hard work, I'll see if I can get to understand enough of KiCAD to get PCBWay to make the board for me. 😀

Thanks, you don't need to understand KiCad. Just go to the releases on the project site, download the gerber zip file and throw it at PCBWay, JLCPCB or any other manufacturer. Pay the bill and wait a week or so. Done.

My Youtube channel Necroware

Reply 23 of 69, by appiah4

User metadata
Rank l33t++
Rank
l33t++

Now, if you could make a USB to gameport adapter for connecting newer peripherals to older PCs.. 😀 Would be nice to be able to hook up something simple like a Logitech Precision to an older PC, or use a newer flight stick to play Wing Commander.

Retronautics: A digital gallery of my retro computers, hardware and projects.

Reply 24 of 69, by BitWrangler

User metadata
Rank l33t++
Rank
l33t++

There's the "No task so simple it can't be complicated with a Raspberry Pi" version, for which you'll need, i) a Pi4 4GB ii) a touchscreen hat, iii) a servo control hat iv) an analog joystick mechanism v) a 3D printer vi) a bunch of servos vii) a firm grasp of how to use Python in ways that get round real time control problems in high level languages on top of a non realtime operating system... and just basically 3D print a yoke for the servos to control the analog stick which you plug in the PC analog joy port, write a program that wiggles them according to USB input, and have a GUI touch interface to fudge all the limits, centering and parameters which get screwed up every time you plug in a new controller or play a different game.

Then there's the hipster steampunk version which is the same as above with cogwheels cut out of brass effect vinyl on your cricut stuck all over it, then the real steampunk version which needs a 1/2 horsepower rated boiler with current safety certificate, a good supply of coal... ...

Unicorn herding operations are proceeding, but all the totes of hens teeth and barrels of rocking horse poop give them plenty of hiding spots.

Reply 25 of 69, by ajacocks

User metadata
Rank Member
Rank
Member

Here are the ones that I have built:

IMG_0997 (1).jpeg
Filename
IMG_0997 (1).jpeg
File size
1.86 MiB
Views
2935 views
File license
CC-BY-4.0

Thanks for your hard work, scorp! I very much enjoy your videos, as well.

- Alex

Reply 26 of 69, by scorp

User metadata
Rank Member
Rank
Member

Hi guys, I implemented the ADI protocol, now the adapter should also support Logitech devices. I have only Logitech Wingman Extreme Digital at hand, so I tested it only with that, but I hope, that other Logitech devices would also work, but may be some fixes will be required though. You can try the new firmware from this branch: https://github.com/necroware/gameport-adapter … ogitech-support

If you have some Logitech devices at hand, feel free to make some tests. You can send me some feedback on the following issue: https://github.com/necroware/gameport-adapter/issues/6

My Youtube channel Necroware

Reply 27 of 69, by Shores

User metadata
Rank Newbie
Rank
Newbie
scorp wrote on 2021-11-01, 20:37:

Hi guys, I implemented the ADI protocol, now the adapter should also support Logitech devices. I have only Logitech Wingman Extreme Digital at hand, so I tested it only with that, but I hope, that other Logitech devices would also work, but may be some fixes will be required though. You can try the new firmware from this branch: https://github.com/necroware/gameport-adapter … ogitech-support

If you have some Logitech devices at hand, feel free to make some tests. You can send me some feedback on the following issue: https://github.com/necroware/gameport-adapter/issues/6

HI Necroware! I'm currently building 5 copies of your board, I'm waiting for the PCBWay package but I've already got all the other parts, and I've managed to get my hands on a Gravis Firebird 2, apart from digging up my Logitech Cyberman2!

As soon as I've managed to build one adapter I'll begin testing and report back!

Also I've got nerd friends who might still have retro joysticks and controllers, I'll spread the word and see if someone has other devices that can be made to work!

Thanks again for your work, I'll ask if I can't get the firmware on the Arduino Micro Pro, is it correct to use "arduino Micro" as the target board for compilation?

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

Reply 30 of 69, by Shores

User metadata
Rank Newbie
Rank
Newbie
Shores wrote on 2021-11-08, 12:21:

Received just now the PCBWay package with the boards, i'll build one as soon as I can and report back on compatibility!

Ok, built one adapter and tested it with my Cyberman2:

It senses correctly all the axes (6 axes in total, 3 translate + 3 rotate) and all the 8 buttons, but then... No reaction at all to the movement of any axis nor to the press of any button!

😀

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

Reply 31 of 69, by scorp

User metadata
Rank Member
Rank
Member

Well, unfortunately I have no Cyberman 2 here to investigate, so you will probably have to try to find out what is wrong on your own. I just can tell, that if the Joystick is recognized properly, then the adapter can read the packages from the joystick properly. So the issue must be somewhere in the state decoder. If really nothing moves, not one button works and no other things are happening, like for example you press a button and an axis is jumping, or other way around you move and axis and some buttons are jumping, then the decoder seems to stop the operation very early.

If you are in C/C++, I'd start with the check of the packet size. See Logitech.cpp:63. You can use Serial.print() to send some values onto the serial console and see in the Arduino IDE Serial Monitor what comes out. May be this way you can spot the line, where it fails. As I said, it's going to be very complicated for me to make a remote assumption. From the Logitech devices I have only the Wingman Extreme Digital and that's the only one I tested so far.

My Youtube channel Necroware

Reply 32 of 69, by Shores

User metadata
Rank Newbie
Rank
Newbie
scorp wrote on 2021-11-08, 14:12:

Well, unfortunately I have no Cyberman 2 here to investigate, so you will probably have to try to find out what is wrong on your own. I just can tell, that if the Joystick is recognized properly, then the adapter can read the packages from the joystick properly. So the issue must be somewhere in the state decoder. If really nothing moves, not one button works and no other things are happening, like for example you press a button and an axis is jumping, or other way around you move and axis and some buttons are jumping, then the decoder seems to stop the operation very early.

If you are in C/C++, I'd start with the check of the packet size. See Logitech.cpp:63. You can use Serial.print() to send some values onto the serial console and see in the Arduino IDE Serial Monitor what comes out. May be this way you can spot the line, where it fails. As I said, it's going to be very complicated for me to make a remote assumption. From the Logitech devices I have only the Wingman Extreme Digital and that's the only one I tested so far.

Hi!

So, I've fiddled a bit with the sketch, and added a serial dump of the received packet bits to the readPacket() function.
This shows that the readPacket function does not always read the packet correctly from the CyberMan 2, since it mostly returns packets made of only 1, 2 or 3 bits.

If in the update() function I put

if (packet.length != m_metaData.packageSize) {
enableDigitalMode();
const auto discardMetaPacket = readPacket();
return false;
}

which resets the digital mode, discards the metadata packet and then waits for the next update, then the first two or three packets after that do come in correctly (64bit packets), and then it goes back to 1/2/3 bit packets, and gets reset again, and so on...

In this strange way the adapter works properly, and in the joystick control panel I can see all the buttons and axes working properly, albeit a little slow!

Any hint on how can I proceed, what to check/test/change ?

Thanks!

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

Reply 33 of 69, by scorp

User metadata
Rank Member
Rank
Member

Ok, that is a step forward, but is not a solution yet 😁 May be we read the packets too fast, I observed similar problem for the Sidewinder before and added a cooldown function there. You can try to insert a delayMicroseconds(2000) into the beginning of the update() function. Right into the first line. This will enforce the adapter to wait 2ms before every read. Let's see if it changes anything. You also can play with the value and increase/decrease it.

My Youtube channel Necroware

Reply 36 of 69, by Shores

User metadata
Rank Newbie
Rank
Newbie

Also: has anybody designed a 3d printable case for this adapter? If you do, please share the STL file!

Thanks again, both to scorp and everybody else!

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

Reply 37 of 69, by Shores

User metadata
Rank Newbie
Rank
Newbie
scorp wrote on 2021-11-09, 13:53:

I opened an issue, if you don't mind, we can discuss it there: https://github.com/necroware/gameport-adapter/issues/9

I'm currently testing your adapter also with the Gravis Firebird 2, but lacking more info or a manual this is proving to be a little hard, not mentioning also the hardware needs some repairs.

Your adapter seems to work already well with it, if set on CH flightstick mode it recognizes all the 4 buttons on the stick, three of the four axes do work, and the stick HAT works.

What doesn't work are the 9 buttons on the base, but I think these had to work via the strange ps2/keyb keyboard passthrough connector which is present on the device's cable, but trying to hook it up it seems that these buttons do nothing until programmed with the proprietary dos-based software tool, that should be used to choose which keypresses should they emulate...

I'm investigating, but do you think this device also has a digital mode? Setting the adapter to GrIp mode doesn't seem to get any response, but I'll test it more...

Do you think there are unused pins on the Arduino that eventually can be used to directly sample these 9 buttons on the base, by directly wiring them?

I'm just venting out my brainstorms... 😉

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

Reply 38 of 69, by scorp

User metadata
Rank Member
Rank
Member

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.

My Youtube channel Necroware

Reply 39 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.

That would be amazing, consider me available for any testing you might need! 😀

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