Ryojōhen controller (Sony PlayStation 2)

Overview

NameRyojōhen controller (Sony PlayStation 2)
Release dateJuly 25, 2002
Serial codeTCPP-20014
Notes

Supported software

SoftwareNotes
BVE Trainsim (PC - Windows)Supported via input plugin.
Densha de GO! Final (Sony PlayStation 2)
Densha de GO! Professional 2 (Sony PlayStation 2)
Densha de GO! Ryojōhen (Sony PlayStation 2)
OpenBVE (PC - Multiplatform)Supported via input plugin.

Technical details

This controller has 2 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 vendor-specific class device. The input data is compatible with HID, but the device does not provide a HID descriptor.

Product nameTAITO_DENSYA_CON_T03
ManufacturerTAITO
Vendor ID0x0AE4
Product ID0x0007
Serial numberTCPP20014
USB standard descriptorDownload
HID report descriptorDownload (recreated, not provided by actual device)

Input

The controller sends reports to the host (PS2) formed by 8 bytes:

Byte #Data
1Brake
2Power
3Pedal
4D-Pad
5Buttons
6Unused
7Unused
8Unused

Unlike traditional controllers, the brake handle is analogue and the brake byte reflects the position of the handle precisely. There are three areas with the ranges listed below, plus the emergency notch.

PositionRange
Reduce pressure0x23-0x64
Keep pressure0x65-0x89
Increase pressure0x8A-0xD6
Emergency0xD7

When using the controller with Densha de GO! Professional 2 or Densha de GO! Final, the brake handle is interpreted as having 6 brake notches + emergency. The aproximate byte range for each notch is listed below (taken from Densha de GO! Professional 2).

NotchRange
Released0x23-0x2A
B10x2B-0x3C
B20x3D-0x4E
B30x4F-0x63
B40x64-0x8A
B50x8B-0xB0
B60xB1-0xD6
Emergency0xD7

The values for the power notch byte are the following. Between notches, a transition value of 0xFF is reported.

NotchValue
N0x00
P10x3C
P20x78
P30xB4
P40xF0

The pedal byte has two possible values depending on the state of the pedal.

StateValue
Released0xFF
Pressed0x00

The D-pad byte represents the input from the Up, Down, Left and Right physical buttons. If two opposite directions are pressed simultaneously, the result is None unless a third button is pressed.

ButtonValue
Up0x00
Up+Right0x01
Right0x02
Down+Right0x03
Down0x04
Down+Left0x05
Left0x06
Up+Left0x07
None0x08

The button byte uses bits to represent the state of the physical buttons. 0 means that the button is released and 1 that it is pressed.

BitPhysical Button
1Horn
2Announce
3Camera
4Right doors
5Left doors
6Select
7Start
8Unused