Sony Playstation (PSX) joystick controller port

It appears that
you are using AdBlocking software. The cost of running this website
is covered by advertisements. If you like it please feel free to
a small amount of
money to secure the future of this website.

It appears that
you are using AdBlocking software. The cost of running this website
is covered by advertisements. If you like it please feel free to
a small amount of
money to secure the future of this website.

​01 Mar 1998

videogames connector including adaptation of PSX joystick to
PC

9 pin Sony
Playstation special connector at the deivce, looking at the
plug

PSX controllers are intelligent devices and communicate with the
Playstation device using a special syncrosound serial bus and
protocol. The controller system is implemented in bus
architechture, which means that all signal wires are all tied
together in PSX end (except select which is seperate for each
device).

Pin

Name

Description

1

DATA

Data

2

CMD

Command

3

N/C (9V)

Not connected (newer dual-shock controllers use it as power for
the vibration mechanism)

4

GND

Ground

5

VCC

Vcc

6

ATT

ATT select

7

CLK

Clock

8

N/C

Not connected

9

ACK

Acknowledge

===PSX Signals description==

DATA Signal from Controller to PSX. This
signal is an 8 bit serial transmission synchronous to the falling
edge of clock (That is both the incoming and outgoing signals
change on a high to low transition of clock. All the reading of
signals is done on the leading edge to allow settling time.)

COMMAND Signal from PSX to Controller. This
signal is the counter part of DATA. It is again an 8 bit serial
transmission on the falling edge of clock.

VCC VCC can vary from 5V down to 3V and the
official SONY Controllers will still operate. The controllers
outlined here really want 5V. The main board in the PSX also has a
surface mount 750mA fuse that will blow if you try to draw to much
current through the plug (750mA is for both left, right and memory
cards).

ATT ATT is used to get the attention of the
controller. This signal will go low for the duration of a
transmission. I have also seen this pin called Select, DTR and
Command.

CLOCK Signal from PSX to Controller. Used to
keep units in sync.

ACK Acknowledge signal from Controller to PSX.
This signal should go low for at least one clock period after each
8 bits are sent and ATT is still held low. If the ACK signal does
not go low within about 60 us the PSX will then start interogating
other devices.

It should also be noted that this is a bus of sorts. This means
that the wires are all tied together (except select which is
seperate for each device). For the CLK, ATT, and CMD pins this does
not matter as the PSX is always the originator. The DATA and ACK
pins however can be driven from any one of four devices. To avoid
contentions on these lines they are open collectors and can only be
driven low. How to connect Playstation joystick to PC ? It is
possible to adapt a joystick originally developed for PSX to a PC.
After connecting joystick to PC parallel port, you must install a
driver so the operating system understands that the device
connected is a joystick.

The logic level on the data lines is changed by the transmitting
device on the falling edge of clock. This is then read by the
receiving device on the leading edge (at the points marked *)
allowing time for the signal to settle. After each COMMAND is
recieved by a selected controller, that controller needs to pull
ACK low for at least one clock tick. If a selected controller does
not ACK the PSX will assume that there is no controller
present.When the PSX wants to read information from a controller it
pulls that devices ATT line low and issues a start command (0x01).
The Controller Will then reply with its ID (0x41=Digital,
0x23=NegCon, 0x73=Analogue Red LED, 0x53=Analogue Green LED). At
the same time as the controller is sending this ID byte the PSX is
transmitting 0x42 to request the data. Following this the COMMAND
line goes idle and the controller transmits 0x5A to say “here comes
the data”.This would look like this for a digital controller

After this command initiation proccess the controller then sends
all its data bytes (in the case of a digital controller there is
only two). After the last byte is sent ATT will go high and the
controller does not need to ACK.The data transmision for a digital
controller would look like this (where A0,A1,A2…B6,B7 are the data
bits in the two bytes).