controls:playstation_controller
Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
controls:playstation_controller [2006/01/13 04:36] – created 195.149.50.76 | controls:playstation_controller [2019/08/27 20:45] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 24: | Line 24: | ||
|9|ACK|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.| | |9|ACK|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 | + | It should also be noted that this is a bus of sorts. This means that the wires are all tied together except |
=== Playstation Controller Signals === | === Playstation Controller Signals === | ||
Line 146: | Line 146: | ||
This page substantially based on Andrew J McCubbin' | This page substantially based on Andrew J McCubbin' | ||
+ | |||
+ | |||
+ | === Notes on Playstation Controller Commands === | ||
+ | |||
+ | Commands sent by the PlayStation (within the first five bytes of a packet) tell the controller how it should be configured, and what data it should respond with. Because each controller port also shares its ATT/Select line with the memory card of the same port, commands at the beginning of each packet specify which device the console is addressing. Packets beginning with 0x01 address the controllers, | ||
+ | |||
+ | |COMM Byte 1|| | ||
+ | |0x01|console is addressing controller on port with ATT line driven low| | ||
+ | |0x81|console is addressing memory card on port with ATT line driven low| | ||
+ | |COMM Byte 2|| | ||
+ | |0x42|main polling command, used to get button/ | ||
+ | |0x43|enter/ | ||
+ | |0x44|switch between analog/ | ||
+ | |0x45|command to retrieve status/ID info from controller| | ||
+ | |0x46|command to retrieve 10 bytes of ID/unknown data from controller over two packets| | ||
+ | |0x47|command to retrieve 5 bytes of ID/unknown data from controller| | ||
+ | |0x4C|command to retrieve 10 bytes of ID/unknown data from controller over two packets| | ||
+ | |0x4D|maps rumble motor commands to command bytes 3 and 4 in 0x42 polling packet| | ||
+ | |COMM Byte 3|| | ||
+ | |0x00|always empty| | ||
+ |
controls/playstation_controller.1137090965.txt.gz · Last modified: 2019/08/27 20:44 (external edit)