I have a working PIC based interface to PSX controllers. The PS2 controller is the same as the PS1 / PSX controller. I'm sorry but I can't share my code, but I can help you out if you have any questions.
The document referenced above should have all the info you n need.
The controller pulls ACK low to acknowledge your CMD was received.
The Sony brand controllers work well at clock speeds slower than that used by an actual PSX system. However, I've found that MadCatz controllers will not work at a slower clock speed - you pretty much must emulate the exact timing of an actual PSX controller for them to work.
Someone had posted graphs captured by a logic analyzer detailing the timing between a PSX and controller, but I can't seem to find it. It was a German site.
Dan East