Just finished adding support for CD32 gamepads to the Retro Adapter firmware. I discovered a couple of interesting points.
1. The logic ICs used are really slow. I need a 75μs delay after the latch line changes before starting the clock and approximately 50μs before reading on every clock cycle. The shift register is a 74LS165 and the datasheet (from 2000 so ~8 years after of the CD32) says it will run at 20MHz with propagation delays in the low tens of nanoseconds. I suppose performance must really have improved in the 90s, or C= used low performance ICs, or there is some issue with the PCB/wiring capacitance.
2. The controller is not nearly as bad as I remember it. It’s no Saturn pad but it works reasonably well and the D-pad is similar to Sega ones. It’s better than a NES pad anyway.