SukkoPera/PsxNewLib

Seeking compatibility with Steering Wheel Madcatz Dual Force

youenchene opened this issue · 7 comments

Context

I have build some OpenPSX2AmigaPadAdapter. It's working well with several official PS1 and PS2 joypads. Tx for the great work.

My point is to make work a Steering Wheel Madcatz Dual Force with my Amiga.

I looked OpenPSX2AmigaPadAdapter firmware, the pull request to make is obsviously in PsxNewLib.

Status

On psx.begin() we get a 0 / No Controller found.

I've noticed that on the plug :

  • pin/wire 5 / red / power 3.3v is missing (not broken, was never here).
  • pin/wire 8 / white is missing (not broken, was never here).

I'll dig into several documentations in the next days (the one you linked at the end of README.md).

I would be delighted of you can share some hints to be able to accomplish this.

If the 3V3 power pin is missing, it can only mean that the wheel either requires external power or takes 7.5V from pin 3, which OpenPSX2AmigaPadAdapter does not provide. It must draw power somewhere :).

In the latter case, you might try building the devel version of my PsxControllerShield project and use it with an Arduino powered at 9V through the barrel jack or just hack external power on the right pin of the OpenPSX2AmigaPadAdapter.

As for the protocol, the manual says that this wheel can function in three different modes: digital, analog or neGcon. All of them are already supported by PsxNewLib.

The wheel got some battery for force effect but it can work without it (no force effect).

So I bet it use the pin3.

When you say the right pin, it's pin 3, ok?

I confirm for the 3 modes.

So next step would to do a test powering pin 3.

Yep!

Got pin 4 on ground and pin 3 +7,5 on a stabilized power :

Unknown Controller type found, using anyway
Mouse -> Joystick
Controller lost
No controller found
No controller found

(the no controller found is very slow, as before it was very quick)

LED1 : blinking very slowly.

Note that, I made a mistake on the first plug (reverting ground and power 7.5V) which make all button viewed as pressed. It may have damaged the card.

If you plugged the wheel in with reversed power, the wheel might have been damaged, too.

Wheel is not damaged. I played Gran turismo for 5mn without any issue.

OpenPSX is damaged.

It works well when FTDI cable is on (+5v power is plugged).

If not it's a mess with the buttons and directions on the amiga.

I guess this the tension regulator or the BSS138 transistor.

I clean up my mess and next step would be to add a extra power plug directly within the wheel.

And may be , may be not, I will be allowed to write some code after.

You were lucky, OpenPSX is cheap and easy to fix :).

In theory you don't need to write any code, all the protocols the wheel speaks are already supported. But you might need to add a custom direction/button mapping so that every control goes where you want.