I thought writing this would be easier than pulling apart a saturn pad and sticking in the guts of a PSX controller. Turns out it probably wasn't. It currently works with real PSX and PS2 hardware, and all the converters I have available for testing ("3 in 1 PC joy box", "Super Dual Box Pro", a generic PS3 converter, and a Gemini GC/Xbox converter). The only known issue is with Ridge Racer Type 4, and may apply to other games that support a negcon. However, Wipeout and Wip3out appear to be fine. If you plug it in at a bad time the PSX may freeze.

Button mapping is the same as the official PS2 Saturn controller.
PS Home (Start + Select + Up)Start + C
Lag should not be noticeable. The time between the first button being sampled and the final bit being sent out should be under 0.3ms.

Construction is simple. The core of the converter is an Atmel ATTiny2313 microprocessor. The only other component is a power filter capacitor. A simple programmer for the microprocessor can be found here. The code is designed to run at 8mhz, the internal oscillator is good enough. I have the low fuse set to E4. How to connect everything:
Saturn 5 (S1)219PSX 7 (SCK)
Saturn 4 (S0)318PSX 1 (DATA)
NC4 17PSX 2 (CMD)
NC5 16PSX 9 (ACK)
Saturn 7 (D3)615PSX 6 (ATT)
Saturn 8 (D2)714NC
Saturn 2 (D1)813NC
Saturn 3 (D0)912NC
Connect Saturn 1 (VCC) and 6 (also VCC), PSX 5 (VCC) to VCC. Saturn 9 and PSX 4 go to GND. A filter capacitor (100uf or so) across VCC and GND is not a bad idea, but it seems to work fine without it. The saturn pin numberings are as on gamesx. PSX numberings seem to be consistent everywhere, but the pinout is shown at Curious Inventor.

Source for the uC with the layout as above is here(BSD license), compiled hex file is here. Alternatively, I created a layout that matches the defaults in Capcom games (Z as R1, C as R2, L as L1, R as L2). The source is here, the hex file is here.


Hardwarebook For some pinout and protocol stuff.
Near Future Laboratory For screenshots of a logic analyser showing the PSX protocol.
Curious Inventor For a very detailed description of the PSX protocol
GameSX For the data on the Saturn controller
Futurlec, where I bought my parts. Very cheap!