PlayStation Protocol

The PlayStation controller-console communication relies on a five byte transmission using four lines.  These lines are described in the table found below.

Name
Wire Color
Description
DATA
White
This is the signal from controller to console.  It is an 8-bit serial transmission synchronous to the falling edge of the clock.
CMD
Orange
This is the signal from the console to the controller.  Again, it is an 8-bit serial transmission on the falling edge of the clock.
GND
Black
Ground
VCC
Red
Variable power from 5 V down to 3V.
ATT
Yellow
This signal is used to get the attention of the controller.  This signal will go low for the duration of a transmission.
CLK
Blue
This is the clock signal from the console to the controller at a frequency of 250 khz.
ACK
Green
This is the acknowledge signal from the controller to the console.  This signal is low for at least one clock period after each 8 bits are sent and ATT is still low.
* This web-site is a good resource.

The first three bytes of the transmission are used for a handshake protocol.  The last two bytes of the transmission are used to transmit the data representing the button presses.  The table found below outlines an example transmission of the "Circle" button.

CMD
DATA
0x80
0xFF
0x42
0x82
0x00
0x5A
0x00
0xFF*
0x00
0xFB**
* These values represent the directional, select, and start buttons.
** These values represent the circle, square, triangle, x, L1, L2, R1, and R2 buttons.


Each code has a zero in a unique bit position and, therefore, can be AND-ed together to form a single byte for transmission of multiple button presses.  The table found below outlines all of the data codes for single button presses.

Button
Data Code
R1
0xEF
R2
0xBF
L1
0xDF
L2
0x7F
Triangle
0xF7
Square
0xFE
Circle
0xFB
X
0xFD
Start
0xEF
Select
0x7F
Up
0xF7
Down
0xFD
Left
0xFE
Right
0xFB

The screen shot found below, captured from the Tektronix TLA704 Logic Analyzer, depicts a single byte transfer of the data code for the circle button.  Note that attention is held low throughout the tranmission and the low pulse on ACK is from the tranmssion of the previous byte.


Logic Analyzer Screen Capture




Project Description
PlayStation Protocol
USB Protocol
Devasys EZ-USB Board
Source Code
USB Board Flashing Instructions
Gameplay Project Progress
Downloads

Home