Skip to content

CH Production joystick support #52

@BlazejosP

Description

@BlazejosP

Just d'like to announce that I have working version of files for CH analogue joysticks on game port which working with their extended buttons.

What is a CH joystick standard?

Long time ago in good old DOS days joystick on PC only have 2 axes and 2 buttons. That is why we can play with two joysticks. Then this two Joysticks were merged together and was possible to create joystick with throttle and pedals and four buttons and that was all what was possible to be done on 15 pin joystick port.
CH company try to extended this without loss of compatibility of their joysticks with older DOS games and in 1992 starts to sell CH Flightstick Pro. This Joystick start to use simple protocol where some combinations of four button pushed together means a new button. This 4 bit protocol has a 16 possible combination so as you imagine you may have 4 standard buttons + 12 additionally. Not all combination were used in all their joysticks for example this first CH Flightstick Pro only used eight to create 8-way POV HAT. From electronics point of view everyone can create such joystick simple by adding more buttons and using diodes no special circuit was necessary with any chips. I myself extended my ordinary cheap joystick by adding throttle and 6 buttons. I also build circuit in box which has pass through for game port additionally buttons and throttle . With this box I have extended CH Joystick without ordinary with 4 buttons. Without CH driver such joystick behaviour like normal one in DOS games but since 1992 especially simulators has build in drivers for CH what means that you can use fancy POV HATS and buttons for different task. Also since Win95 you can configure such CH joystick in control panel and use all functionality with Win32 games.

What I found during development?
First I haven't any CH original Joystick or peripherals. Thy were out of reach in DOS times for me. In 90's i play simulators especially US Navy Fighter etc. I found in early internet an schematics how extend usual joystick for more buttons and throttle so I start soldering simple circuit in my joystick with diodes and for my shock USNF recognise my circuit as a expensive CH joystick. Buttons starts to work throttle even an POV hat. The same I found in Win95 joystick after configuration also works with all buttons etc. Happy from that success I build with father DIY aileron pedals from Wood and that also works. Then I start to think that with other joystick I can build box with joystick cable pas through and I can have CH joystick with this accessory and ordinary joystick when I connect them without box. So in that case I don't modified second original joystick. Then I stored them for last 20 years . That is how I have now CH like joysticks with throttle and pedals for testing. I also have an late from 2000 Saitek Cyborg 3D for game port acquired recently which to my surprise also used CH standard to add more buttons. Based on that devices I was able to start thinking with @necroware code for CH Flightstick Pro.

In CH standard they have such joysticks

CH Flightstick Pro = 3 Axis 4 standard Buttons + 8 positions HAT -> 4 buttons not implemented
Combatstick 565F / F-16 Combat Stick = 3 Axis 4 standard Buttons + 4 positions HAT + 8 postions HAT -> no buttons combinations left unused
Virtual Pilot Pro = 3 Axis 4 standard Buttons + 4 positions HAT + 8 positions HAT -> -> no buttons combinations left unused
Flight Sim Yolk = -> 3 Axis 4 standard Buttons + 8 positions HAT + 4 additional buttons

My DIY Joystick -> 4 axes 4 standard Buttons + 4 positions HAT + 6 additional buttons -> 2 buttons not implemented (works in DOS and win9x)

So we need for implementation such version of Joystick:

**CH like standard Joystick *
3 axes 16 buttons

**CH like standard Joystick with pedals *
4 axes 16 buttons

CH like standard Joystick 4way hat
3 axes 12 buttons 4 way HAT

CH like standard Joystick 4way hat with pedals
4 axes 12 buttons 4 way HAT

CH like standard Joystick 8way hat
3 axes 8 buttons 8 way HAT

CH like standard Joystick 8way hat with pedals
4 axes 8 buttons 8 way HAT

CH like standard Joystick both hats
3 axes 4 buttons 8 way HAT 4 way HAT

CH like standard Joystick both hats with pedals
4 axes 4 buttons 8 way HAT 4 way HAT

Here is a solution I tested and all buttons working with my Joysticks all 6 I have problem to implement solution with joystick which have both hats 8 way and 4 way because I haven't such joystick. Meaby someone which such joystick can create table of buttons combinations so I can add this third case so now enjoy and check with your own CH joysticks on necrowave game port adapter
gameport_adapter.zip

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions