diff --git a/content/controllers/usb/cotm02001/_index.md b/content/controllers/usb/cotm02001/_index.md index a29428e..024d6c7 100644 --- a/content/controllers/usb/cotm02001/_index.md +++ b/content/controllers/usb/cotm02001/_index.md @@ -6,7 +6,7 @@ title: "Train Mascon (Sony PlayStation 2)" This controller has one handle (5 power notches and 8+emergency brake notches), a D-Pad and 7 buttons (Select, Start, A, B, C, Close, ATS). The A button can distinguish between "soft" and "hard" presses. In addition, the controller has four lamps: doors, ATS, 45 and 15. -Internally, it is a HID device with a vendor-specific class. The reported data depends on the notch cartridge inserted. +Internally, it is a vendor-specific class device. | | | |-----------------------------|-------------------------------------------| @@ -15,7 +15,7 @@ Internally, it is a HID device with a vendor-specific class. The reported data d | **Vendor ID** | 0x1C06 | | **Product ID** | 0x77A7 | | **Serial number** | *Unavailable* | -| **USB standard descriptor** | *Unavailable* | +| **USB standard descriptor** | [Link](/controllers/usb/descriptors/sotp031201-P5B5_standard-descriptor.txt) from Multi Train Controller | | **HID report descriptor** | [Link](/controllers/usb/descriptors/cotm02001_hid-report-descriptor.txt) (recreated, not provided by actual device) | ### Input @@ -34,15 +34,15 @@ The reverser+handle byte combines two values representing the state of the rever The first 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. A bitmask can be used to retrieve the buttons. -| Button 1 | Button 2 | Button 3 | Button 4 | Button 5 | Button 6 | -|:--------:|:--------:|:--------:|:--------:|:--------:|:--------:| -| ATS | Close | A (soft) | A (hard) | B | C | +| Bit 0 | Bit 1 | Bit 2 | Bit 3 | Bit 4 | Bit 5 | +|:-----:|:-----:|:--------:|:--------:|:-----:|:-----:| +| ATS | Close | A (soft) | A (hard) | B | C | The second button byte also uses six bits to represent the state of the physical buttons. -| Button 1 | Button 2 | Button 3 | Button 4 | Button 5 | Button 6 | -|:--------:|:--------:|:--------:|:--------:|:--------:|:--------:| -| START | SELECT | UP | DOWN | LEFT | RIGHT | +| Bit 0 | Bit 1 | Bit 2 | Bit 3 | Bit 4 | Bit 5 | +|:-----:|:------:|:-----:|:-----:|:-----:|:-----:| +| START | SELECT | UP | DOWN | LEFT | RIGHT | ### Output diff --git a/content/controllers/usb/sotp031201/_index.md b/content/controllers/usb/sotp031201/_index.md index 8a99aa9..28b8c37 100644 --- a/content/controllers/usb/sotp031201/_index.md +++ b/content/controllers/usb/sotp031201/_index.md @@ -4,9 +4,9 @@ title: "Multi Train Controller (Sony PlayStation 2)" {{% controller-page "sotp031201" %}} -This controller has one handle with variable notches, a D-Pad and 7 buttons (Select, Start, A, B, C, D, ATS). The A button can distinguish between "soft" and "hard" presses. In addition, the controller has four lamps. +This controller has one handle with several notch cartridges (P4/B7, P4/B2-B7, P5/B5, P5/B7, B5/B8, P13/B7), a D-Pad and 7 buttons (Select, Start, A, B, C, D, ATS). The A button can distinguish between "soft" and "hard" presses. In addition, the controller has four lamps. -Internally, it is a HID device with a vendor-specific class. The reported data depends on the notch cartridge inserted. +Internally, it is a vendor-specific class device. The USB descriptors and the reported data change depending on the notch cartridge inserted. | | | |-----------------------------|-------------------------------------------| @@ -34,7 +34,7 @@ Only the top lamp is used, for the doors. When any of these cartridges is inserted, the controller functions similarly to the P5/B5 mode and data changes depending on the amount of notches. The specific cartridge in use can be detected by looking at the *bcdDevice* value from the standard USB descriptor: -| P4/B7 | P4/B2-B7 | P5/B7 |P13/B7 | +| P4/B7 | P4/B2-B7 | P5/B7 | P13/B7 | |:------:|:--------:|:------:|:------:| | 0x0300 | 0x0400 | 0x0800 | 0x0A00 | @@ -56,15 +56,15 @@ The reverser+handle byte combines two values representing the state of the rever The first 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. A bitmask can be used to retrieve the buttons. -| Button 1 | Button 2 | Button 3 | Button 4 | Button 5 | Button 6 | -|:--------:|:--------:|:--------:|:--------:|:--------:|:--------:| -| ATS | D | A (soft) | A (hard) | B | C | +| Bit 0 | Bit 1 | Bit 2 | Bit 3 | Bit 4 | Bit 5 | +|:-----:|:-----:|:--------:|:--------:|:-----:|:-----:| +| ATS | D | A (soft) | A (hard) | B | C | The second button byte also uses six bits to represent the state of the physical buttons. -| Button 1 | Button 2 | Button 3 | Button 4 | Button 5 | Button 6 | -|:--------:|:--------:|:--------:|:--------:|:--------:|:--------:| -| START | SELECT | UP | DOWN | LEFT | RIGHT | +| Bit 0 | Bit 1 | Bit 2 | Bit 3 | Bit 4 | Bit 5 | +|:-----:|:------:|:-----:|:-----:|:-----:|:-----:| +| START | SELECT | UP | DOWN | LEFT | RIGHT | #### Output diff --git a/content/controllers/usb/tcpp20009/_index.md b/content/controllers/usb/tcpp20009/_index.md index 239a35a..59c9d4b 100644 --- a/content/controllers/usb/tcpp20009/_index.md +++ b/content/controllers/usb/tcpp20009/_index.md @@ -6,7 +6,7 @@ title: 'Two handle controller "Type 2" (Sony PlayStation 2)' This controller has two handles (5 power notches and 8+emergency brake notches), a D-Pad and 6 buttons (Select, Start, A, B, C, D). In addition, it provides a door lamp and a 3.5 mm jack connector to plug a horn pedal. There are two rumble motors, one in each handle. -Internally, it is a HID device with a vendor-specific class. +Internally, it is a vendor-specific class device with a HID interface, but it does not provide HID descriptors. | | | |-----------------------------|-------------------------------------------| @@ -52,9 +52,9 @@ The D-pad byte represents the state of the arrow buttons. If two opposite direct 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. A bitmask can be used to retrieve the buttons. -| Button 1 | Button 2 | Button 3 | Button 4 | Button 5 | Button 6 | -|:--------:|:--------:|:--------:|:--------:|:--------:|:--------:| -| B | A | C | D | SELECT | START | +| Bit 0 | Bit 1 | Bit 2 | Bit 3 | Bit 4 | Bit 5 | +|:-----:|:-----:|:-----:|:-----:|:------:|:-----:| +| B | A | C | D | SELECT | START | ### Output diff --git a/content/controllers/usb/tcpp20011/_index.md b/content/controllers/usb/tcpp20011/_index.md index 683ce02..803c66d 100644 --- a/content/controllers/usb/tcpp20011/_index.md +++ b/content/controllers/usb/tcpp20011/_index.md @@ -6,7 +6,7 @@ title: "Shinkansen controller (Sony PlayStation 2)" This controller has two handles (13 power notches and 7+emergency brake notches), a D-Pad and 6 buttons (Select, Start, A, B, C, D). In addition, it provides a simple display, a door lamp and a 3.5 mm jack connector to plug a horn pedal. There are two rumble motors, one in each handle. -Internally, it is a HID device with a vendor-specific class. +Internally, it is a vendor-specific class device with a HID interface, but it does not provide HID descriptors. | | | |-----------------------------|-------------------------------------------| @@ -52,9 +52,9 @@ The D-pad byte represents the state of the arrow buttons. If two opposite direct 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. A bitmask can be used to retrieve the buttons. -| Button 1 | Button 2 | Button 3 | Button 4 | Button 5 | Button 6 | -|:--------:|:--------:|:--------:|:--------:|:--------:|:--------:| -| D | C | B | A | SELECT | START | +| Bit 0 | Bit 1 | Bit 2 | Bit 3 | Bit 4 | Bit 5 | +|:-----:|:-----:|:-----:|:-----:|:------:|:-----:| +| D | C | B | A | SELECT | START | ### Output diff --git a/content/controllers/usb/tcpp20014/_index.md b/content/controllers/usb/tcpp20014/_index.md index c63319d..3f9088f 100644 --- a/content/controllers/usb/tcpp20014/_index.md +++ b/content/controllers/usb/tcpp20014/_index.md @@ -6,7 +6,7 @@ title: "Ryojōhen controller (Sony PlayStation 2)" This controller has two handles (4 power notches and an analogue brake handle with three areas), a D-Pad and 7 buttons (Select, Start, Horn, Announce, Camera, Left doors, Right doors). In addition, it provides a 3.5 mm jack connector to plug a horn pedal. -Internally, it is a HID device with a vendor-specific class. +Internally, it is a vendor-specific class device with a HID interface, but it does not provide HID descriptors. | | | |-----------------------------|-------------------------------------------| @@ -58,6 +58,6 @@ The D-pad byte represents the state of the arrow buttons. If two opposite direct The button byte uses seven bits to represent the state of the physical buttons. **0** means that the button is released and **1** that it is pressed. A bitmask can be used to retrieve the buttons. -| Button 1 | Button 2 | Button 3 | Button 4 | Button 5 | Button 6 | Button 7 | -|:--------:|:--------:|:--------:|:-----------:|:----------:|:--------:|:--------:| -| Horn | Announce | Camera | Right doors | Left doors | SELECT | START | +| Bit 0 | Bit 1 | Bit 2 | Bit 3 | Bit 4 | Bit 5 | Bit 6 | +|:-----:|:--------:|:------:|:-----------:|:----------:|:------:|:-----:| +| Horn | Announce | Camera | Right doors | Left doors | SELECT | START |