I recently started a little project using the casing of an old PlayStation. I'm using a Raspberry Pi with with a minimal Raspbian install and PCSX internally. Up until now, I have been using a third party adapter to use PlayStation controllers with the setup, but I would like to use the actual PSX Controller / Memory Card port with a Teensy and power everything via the PSU of the system. This is the basic idea: An additional power usb hub will be added and of course, a USB to SATA cable for HDD usage. My question is, does anyone have the pinout info or experience with doing something similar? Thanks as always for the help!
You will need an additional regulator - the outputs on the PSX PSU are 3.5V and 8V, and the PI needs 5V. I'm not sure it will supply enough current to run the disc drive, though. Interfacing with the controller is fairly simple - it's basically a 3.3V level serial port with an extra acknowledge line. The memory card slots are electrically identical to the controller ports (and in fact wired in parallel) but use a different protocol - it may be quite difficult to get the emulator working with real memory cards because of the lack of hooks. Lightgun support (except GunCon) uses a hardware interrrupt line on the controller port, so getting this working might be challenging.
Pretty sure you can pull 3.3V off the GPIO header. Also, the PS1 controller protocol is SPI from what I remember and the Pi does have SPI, but it's the wrong master/slave (I forget which).
PS1 controller is synchronous serial, SPI is synchronous serial but that doesn't make PS1 controller the same as SPI. The biggest difference appears to be that the SPI host has a slave select output, while the PS1 has an acknowledge input from the controller/memory card. The clock and data in/out are the same. Something that supports SPI might just be synchronous serial and be flexible enough to support PS1 controllers as well, for example if the SS pin is just a GPIO pin that can be configured as either an input or output. Once reconfigured it will no longer be SPI. There are many other synchronous serial standards that aren't SPI either.
Thanks for all the replies. I am not too familiar with these areas of the hardware. I found this: http://www.raphnet.net/electronique/psx_cardmgr/psx_cardmgr_en.php and thought it might be helpful along the way.
Shendo wrote an Arduino sketch that reads a memory card. Might be useful... http://shendohardware.blogspot.co.uk/