mirror of
https://github.com/marcriera/ddgo-controller-docs.git
synced 2025-04-19 10:09:28 +02:00
71 lines
2.8 KiB
Markdown
71 lines
2.8 KiB
Markdown
## USB controllers
|
|
|
|
The information in this section applies to the following controllers:
|
|
|
|
- DGC-255: one-handle controller (Microsoft Windows)
|
|
- DGOC-44U: two-handle controller (Microsoft Windows)
|
|
- DRC-184/DYC-288: Ryojōhen controller (Microsoft Windows)
|
|
- TCPP-20009: two-handle controller "Type 2" (Sony PlayStation 2)
|
|
- TCPP-20011: Shinkansen controller (Sony PlayStation 2)
|
|
- TCPP-20012: two-handle controller "Type 2", purple skeleton (Sony PlayStation 2)
|
|
- TCPP-20014: Ryojōhen controller (Sony PlayStation 2)
|
|
|
|
### DGC-255
|
|
|
|
This controller shares most of its behaviour with DGOC-44U, but internal details need to be confirmed.
|
|
|
|
### DGOC-44U
|
|
|
|
This controller is a HID-compliant joystick with two axes and six buttons. You can find its HID descriptor [here](descriptor-dgoc44u.txt).
|
|
|
|
| | |
|
|
|-------------------|---------------------------|
|
|
| **Product name** | 電車でGO! コントローラ USB版 |
|
|
| **Manufacturer** | TAITO |
|
|
| **Vendor ID** | 0x0AE4 |
|
|
| **Product ID** | 0x0003 |
|
|
| **Serial number** | TCPP20009 |
|
|
|
|
The controller sends reports to the host (PC) formed by 6 bytes:
|
|
|
|
| Byte 1 | Byte 2 | Byte 3 | Byte 4 | Byte 5 | Byte 6 |
|
|
|:------:|:------:|:------:|:-------:|:------:|:------:|
|
|
| Brake | Power | Null | Buttons | Null | Null |
|
|
|
|
The values for the brake notch byte are the following. There are 5 unmarked positions between **B8** and **Emergency**, but unlike classic controllers, they are all report the value for **Emergency**.
|
|
|
|
| Released | B1 | B2 | B3 | B4 | B5 | B6 | B7 | B8 | Emergency | Transition |
|
|
|:--------:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:---------:|:----------:|
|
|
| 0x79 | 0x8A | 0x94 | 0x9A | 0xA2 | 0xA8 | 0xAF | 0xB2 | 0xB5 | 0xB9 | 0xFF |
|
|
|
|
The values for the power notch byte are listed below.
|
|
|
|
| N | B1 | B2 | B3 | B4 | B5 | Transition |
|
|
|:----:|:----:|:----:|:----:|:----:|:----:|:----------:|
|
|
| 0x81 | 0x6D | 0x54 | 0x3F | 0x21 | 0x00 | 0xFF |
|
|
|
|
The button byte uses six bits to represent the state of the physical buttons. **0** means that the button is released and **1** that it is pressed.
|
|
|
|
| Button 1 | Button 2 | Button 3 | Button 4 | Button 5 | Button 6 |
|
|
|:--------:|:--------:|:--------:|:--------:|:--------:|:--------:|
|
|
| B | A | C | D | SELECT | START |
|
|
|
|
### DRC-184/DYC-288
|
|
|
|
No details are available regarding internal functioning.
|
|
|
|
### TCPP-20009/TCPP-20012
|
|
|
|
No details are available regarding internal functioning.
|
|
|
|
### TCPP-20011
|
|
|
|
No details are available regarding internal functioning.
|
|
|
|
### TCPP-20014
|
|
|
|
No details are available regarding internal functioning.
|
|
|
|
## Acknowledgements
|
|
|
|
Big thanks to [GMMan](https://github.com/GMMan), who has provided the internal details of the DGOC-44U.
|