20 lines
1.3 KiB
Markdown
20 lines
1.3 KiB
Markdown
# LibPad
|
|
Low-level PS1/PS2 gamepad communication library (mostly for embedded usage)
|
|
|
|
## Data interface
|
|
It is just SPI: LSB first, CPOL=1, CPHA=1
|
|
|
|
## Pad pinout
|
|
|
|
| Pin number | Pin name | Meaning |
|
|
| ------------- | ------------------ |------------------------------------------------|
|
|
| 1 | DATA [Open-drain!] | Data from joypad/memory card (SPI_MISO on MCU). Open drain (requires pull-up) |
|
|
| 2 | CMD | Data to joypad/memory card (SPI_MOSI on MCU) |
|
|
| 3 | +7.6V | Power supply for vibration motors |
|
|
| 4 | GND | Ground |
|
|
| 5 | VCC | 3.6V (should work fine with 3.3V) |
|
|
| 6 | ATT | Attention (SPI_CS on MCU) |
|
|
| 7 | CLK | Clock (SPI_CLK on MCU) PS1: 250KHz for controller and memory card, 500KHz or 1MHz for multitap. PS2: 250KHz for controller, 25MHz for memory card |
|
|
| 8 | N/C [IRQ10] | Joy only (Konami Justifier). Typically not connected |
|
|
| 9 | Ack [IRQ7] [Open-drain!]| Goes low for at least 1 clock after each 8 bits transmitted with 60us timeout . Open drain (requires pull-up)|
|