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.
| PSX | Saturn |
|---|---|
| X | A |
| Circle | B |
| Triangle | X |
| Square | Y |
| L1 | Z |
| R1 | C |
| L2 | L |
| R2 | R |
| Start | Start+A |
| Select | Start+B |
| PS Home (Start + Select + Up) | Start + C |
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:
| Connection | Pin | Pin | Connection |
|---|---|---|---|
| NC | 1 | 20 | VCC |
| Saturn 5 (S1) | 2 | 19 | PSX 7 (SCK) |
| Saturn 4 (S0) | 3 | 18 | PSX 1 (DATA) |
| NC | 4 | 17 | PSX 2 (CMD) |
| NC | 5 | 16 | PSX 9 (ACK) |
| Saturn 7 (D3) | 6 | 15 | PSX 6 (ATT) |
| Saturn 8 (D2) | 7 | 14 | NC |
| Saturn 2 (D1) | 8 | 13 | NC |
| Saturn 3 (D0) | 9 | 12 | NC |
| GND | 10 | 11 | NC |
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!