Just to have fun and learn things, I' trying to add PSX controller support to an opensource game controller firmware (gp2040-ce).
I use
this documentation for the PSX protocol.
Thing seem relatively accurate, but I get really strange levels. On the controller answer here (in dark blue, cursors show the 0V and 3,3V of the data line), you see the levels :
- change on clock rise (clock is cyan)
- is very low for "1" after a "0" has been sen and slowly rises.
Decoding sometimes work on the oscilloscope because I can choose the levels, but fail on the rp2040.

I've tried :
- checking every connection for bad breadboard connection, bad solder and shortcut : everything seems fine.
- slowing down the speed (trace is at half the nominal speed)
- activating or disabling pull up and pull down on the GPIO
- powering the controller with 5V instead of 3V3 (this is third party controller, but original one have been tested in 3-5V range and works fine)
Any idea what could be going wrong ? (I no lnoger have a playstation to test the controller, maybe it just doesn't work, but the problem could be on my side also)