Acknowledgements
- GMMan, who has provided the internal details of the DGOC-44U and has conducted extensive research on the Densha de GO! Plug and Play.
- TheYamanote, who has helped with the TCPP-20009.
diff --git a/404.html b/404.html index 11c5dfc..0375e20 100644 --- a/404.html +++ b/404.html @@ -1,2 +1,2 @@ -
Besides the official compatibility, it is possible to use unofficial adapters, tools and hacks to use controllers with games which is unsupported officially.
Autotraintas has created a tool that makes it possible to use nearly any Densha de GO! controller with the PC versions of the games. This includes the classic console controllers (USB adapter required) and the USB controllers for the PlayStation 2. The tool patches the game memory on the fly to reflect the input from the controller.
While Densha de GO! 3 and Densha de GO! Shinkansen officially support the original (non-USB) PlayStation controllers, other games are only compatible with USB controllers. Via cheat codes, it is possible to use the original PlayStation controllers on real hardware, either with retail discs or via OPL.
The codes emulate a Type 2 controller. You will need to connect the controller as follows:
Note: Other controllers may be used like this with an adapter (Titan One/Two + Brook/PADEMU). In this case, buttons are not remapped and the Dualshock on port 1 is not needed. More information
Each game requires a specific cheat code:
There are also cheat codes available for games in the Train Simulator series, emulating a Multi Train Controller (MTC):
For retail discs, the codes can be loaded with ps2rd or Cheat Device. If you are using OPL, it already includes ps2rd and you just need to copy the codes and enable cheats.
BVE Trainsim and OpenBVE both support input plugins, which allow expanding the controllers compatible with the program.
BVE Trainsim requires installing external input plugins, depending on the controller:
OpenBVE includes built-in input plugins for all classic and USB Densha de GO! controllers, the MTC with P5/B8 cassette and the OHC-PC01. They can be enabled and configured in the program’s settings. Note that a USB adapter is required for classic controllers.
The following table lists the compatibility between each controller (first row) and each software (first column). Additional software compatible with the controllers is also listed. The column for the Multi Train Controller (MTC) specifies the supported cassettes. Scroll to the right to see the full table.
Software | Classic console controller | DGOC-44 | DGC-255 DGOC-44U | DRC-184 DYC-288 | TCPP-20009 TCPP-20012 | TCPP-20011 | TCPP-20014 | TCPP-20017 | MTC | ZKNS-001 | OHC-PC01 |
---|---|---|---|---|---|---|---|---|---|---|---|
Densha de GO! (Microsoft Windows) | Unofficial | Yes | Yes (1) | No | Unofficial | Unofficial | No | No | No | Unofficial | Yes |
Densha de GO! (Sony PlayStation) | Yes | No | No | No | No | No | No | No | No | No | No |
Densha de GO! EX (Sega Saturn) | Yes | No | No | No | No | No | No | No | No | No | No |
Densha de GO! 2 (Microsoft Windows) | Unofficial | Yes | Yes (1) | No | Unofficial | Unofficial | No | No | No | Unofficial | Yes |
Densha de GO! 2 (Sega Dreamcast) | Yes | No | No | No | No | No | No | No | No | No | No |
Densha de GO! 2 (Sony PlayStation) | Yes | No | No | No | No | No | No | No | No | No | No |
Densha de GO! 64 (Nintendo 64) | Yes | No | No | No | No | No | No | No | No | No | No |
Kisha de GO! (Microsoft Windows) | Unofficial | Yes | Yes (1) | No | Unofficial | Unofficial | No | No | No | Unofficial | Yes |
Kisha de GO! (Sony PlayStation) | Yes | No | No | No | No | No | No | No | No | No | No |
Densha de GO! Professional (Microsoft Windows) | Unofficial | Yes | Yes (1) | No | Unofficial | Unofficial | No | No | No | Unofficial | Yes |
Densha de GO! Professional (Sony PlayStation) | Yes | No | No | No | No | No | No | No | No | No | No |
Densha de GO! Nagoya Tetsudōhen (Microsoft Windows) | Unofficial | Yes | Yes (1) | No | Unofficial | Unofficial | No | No | No | Unofficial | Yes |
Densha de GO! Nagoya Tetsudōhen (Sony PlayStation) | Yes | No | No | No | No | No | No | No | P5/B8 | No | No |
Densha de GO! 3 (Microsoft Windows) | Unofficial | Yes | Yes (1) | No | Unofficial | Unofficial | No | No | No | Unofficial | Yes |
Densha de GO! 3 (Sony PlayStation 2) | Yes (2) | No | No | No | Yes | No | No | No | P5/B8 | No | No |
Densha de GO! Shinkansen (Microsoft Windows) | Unofficial | Unknown | Yes | No | Unofficial | Unofficial | No | No | No | Unofficial | Yes |
Densha de GO! Shinkansen (Sony PlayStation 2) | Yes (2) | No | No | No | Yes | Yes | No | No | P5/B8 | No | No |
Densha de GO! Shinkansen (Nintendo Wii) | No | No | No | No | No | No | No | Yes | No | No | No |
Densha de GO! Ryojōhen (Microsoft Windows) | Unofficial | Unknown | Unknown | Yes | Unofficial | Unofficial | No | No | No | Unofficial | Yes |
Densha de GO! Ryojōhen (Sony PlayStation 2) | Unofficial (2) | No | No | No | Yes | Yes | Yes | No | P5/B8 | No | No |
Densha de GO! Professional 2 (Microsoft Windows) | Unofficial | Unknown | Yes | Yes | Unofficial | Unofficial | No | No | No | Unofficial | Yes |
Densha de GO! Professional 2 (Sony PlayStation 2) | Unofficial (2) | No | No | No | Yes | Yes | Yes | No | P5/B8 | No | No |
Densha de GO! Final (Microsoft Windows) | Unofficial | Unknown | Yes | Yes | Unofficial | Unofficial | No | No | No | Unofficial | Yes |
Densha de GO! Final (Sony PlayStation 2) | Unofficial (2) | No | No | No | Yes | Yes | Yes | No | P5/B8 | No | No |
Densha de GO! Hashirō Yamanote‑sen (Sony PlayStation 4) | Yes (3) | No | Yes (4) | Untested (4) | No | No | No | No | No | No | Yes |
Densha de GO! Hashirō Yamanote‑sen (Nintendo Switch) | Yes (3) | No | Yes (4) | Untested (4) | No | No | No | No | No | Yes | Yes |
Train Simulator Real: THE Yamanote Line (Sony PlayStation 2) | No | No | No | No | Yes | No | No | No | P5/B8 | No | No |
Train Simulator Real: THE Keihin Electric Express Railway (Sony PlayStation 2) | No | No | No | No | No | No | No | No | P5/B5 | No | No |
Train Simulator: Midosuji Line (Sony PlayStation 2) | Unofficial (2) | No | No | No | No | No | No | No | P4/B7 (without B1) | No | No |
Train Simulator + Densha de GO! Tokyu Line (Sony PlayStation 2) | Unofficial (2) | No | No | No | No | No | No | No | P4/B7 | No | No |
Train Simulator: Keisei, Toei Asakusa, Keikyu Lines (Sony PlayStation 2) | No | No | No | No | No | No | No | No | P5/B5 P13/B7 | No | No |
Train Simulator: Kyūshū Shinkansen (Sony PlayStation 2) | No | No | No | No | No | Yes | No | No | P5/B7 P13/B7 | No | No |
BVE Trainsim | Yes | No | Yes | Yes | Yes | No | Yes | No | Yes | Yes | Yes |
OpenBVE | Yes | No | Yes | Yes | Yes | Yes | Yes | No | P5/B8 | Yes | Yes |
The information in this section applies to the following controllers:
These controllers all have five physical buttons (SELECT, START, A, B, C) and two handles (with the TCPP-20001 combining them into one). Internally, they use the same protocol as a standard controller for the corresponding console and input is reported in the data bytes corresponding to buttons (where each bit reports the state of a single button). Only the regular physical buttons have dedicated bits for them; the handles combine three and four bits for the power notches and brake notches, respectively (you can find an example with the Nintendo 64 here).
The power handle uses a combination of three bits (buttons) to represent each notch. When using the TCPP-20001 controller, the equivalent of N is reported for power whenever a brake notch is applied.
Position | POWER 1 | POWER 2 | POWER 3 |
---|---|---|---|
N | - | X | X |
P1 | X | - | X |
P2 | - | - | X |
P3 | X | X | - |
P4 | - | X | - |
P5 | X | - | - |
Transition | - | - | - |
The brake handle uses a combination of four bits (buttons) to represent each notch. When using the TCPP-20001 controller, the equivalent of Released is reported for brake whenever a power notch is applied.
Position | BRAKE 1 | BRAKE 2 | BRAKE 3 | BRAKE 4 |
---|---|---|---|---|
Released | - | X | X | X |
B1 | X | - | X | X |
B2 | - | - | X | X |
B3 | X | X | - | X |
B4 | - | X | - | X |
B5 | X | - | - | X |
B6 | - | - | - | X |
B7 | X | X | X | - |
B8 | - | X | X | - |
Unmarked 1 | X | - | X | - |
Unmarked 2 | - | - | X | - |
Unmarked 3 | X | X | - | - |
Unmarked 4 | - | X | - | - |
Unmarked 5 | X | - | - | - |
Emergency | - | - | - | - |
Transition | X | X | X | X |
The unmarked positions can be found between B8 and Emergency and produce no click when moving the handle. When using the TCPP-20001 or the TCPP-20002, only the first and fourth unmarked positions are available.
Because they use the same data bytes, the input between a Densha de GO! controller and a standard controller for each console can be matched as follows:
Densha de GO! | Nintendo 64 | Sony PlayStation 1 | Sega Dreamcast | Sega Saturn |
---|---|---|---|---|
SELECT | R | SELECT | D | ?? |
START | START | START | START | ?? |
A | B | SQUARE | A | ?? |
B | A | CROSS | ?? | ?? |
C | L | CIRCLE | C | ?? |
POWER 1 | RIGHT | TRIANGLE | Z | X |
POWER 2 | UP | LEFT | Y | Y |
POWER 3 | Z | RIGHT | X | Z |
BRAKE 1 | C RIGHT | L1 | UP | L |
BRAKE 2 | C LEFT | L2 | DOWN | R |
BRAKE 3 | C DOWN | R1 | LEFT | DOWN |
BRAKE 4 | C UP | R2 | RIGHT | LEFT |
This is useful when using a USB adapter to read the controller input from a PC.
The controllers report the same data amount and structure as a standard digital PlayStation controller. UP and DOWN are pressed permanently. The games detect the controllers with these two buttons, as it is an impossible combination with a standard digital controller.
The information in this section applies to the following controllers:
This is the original controller for the Microsoft Windows releases. No details are available regarding internal functioning.
The information in this section applies to the following controllers:
This controller is different from traditional controllers in the sense that it contains the game (an improved version of Densha de GO! Final) and does not connect to a PC or console. Externally, it looks similar to a TCPP-20009, except it does not include a pedal connection. Internally, it contains an ARM board running Linux. It requires a micro USB cable for power and a HDMI cable for video output.
The micro USB port supports USB OTG with a powered adapter and is used by Taito to install software updates.
It is possible to update the Linux kernel on the board to enable USB gadget mode and emulate traditional controllers, such as the DGOC-44U. This makes it possible to control other software. You can find more information here.
The information in this section applies to the following controllers:
This controller has one handle (5 power notches and 8+emergency brake notches), a D-Pad and 6 buttons (Select, Start, A, B, C, D).
Internally, it is a HID-compliant joystick with two axes, 6 buttons and a PoV hat switch (the handle positions are reported via axes).
Besides the PoV hat switch, it reports the same data as a DGOC-44U controller. The games check if the controller has a PoV hat switch to distinguish between a DGC-255 and a DGOC-44U.
This controller has two handles (5 power notches and 8+emergency brake notches) and 6 buttons (Select, Start, A, B, C, D).
Internally, it is a HID-compliant joystick with two axes and 6 buttons (the handle positions are reported via axes).
Product name | 電車でGO! コントローラ USB版 |
Manufacturer | TAITO |
Vendor ID | 0x0AE4 |
Product ID | 0x0003 |
Serial number | TCPP20009 |
USB standard descriptor | Unavailable |
HID report descriptor | Link |
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 | P1 | P2 | P3 | P4 | P5 | 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 |
No details are available regarding internal functioning.
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.
Product name | TAITO_DENSYA_CON_T01 |
Manufacturer | TAITO |
Vendor ID | 0x0AE4 |
Product ID | 0x0004 |
Serial number | TCPP20010 |
USB standard descriptor | Link |
HID report descriptor | Unavailable |
The controller sends reports to the host (PS2) formed by 6 bytes:
Byte 1 | Byte 2 | Byte 3 | Byte 4 | Byte 5 | Byte 6 |
---|---|---|---|---|---|
0x01 | Brake | Power | Pedal | D-Pad | Buttons |
The values for the brake notch byte are the following.
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 | P1 | P2 | P3 | P4 | P5 | Transition |
---|---|---|---|---|---|---|
0x81 | 0x6D | 0x54 | 0x3F | 0x21 | 0x00 | 0xFF |
The pedal byte has two possible values depending on the state of the pedal.
Released | Pressed |
---|---|
0xFF | 0x00 |
The D-pad byte represents the state of the arrow buttons. If two opposite directions are pressed simultaneously, the result is Center unless a third button is pressed.
N | NE | E | SE | S | SW | W | NW | None/Center |
---|---|---|---|---|---|---|---|---|
0x00 | 0x01 | 0x02 | 0x03 | 0x04 | 0x05 | 0x06 | 0x07 | 0x08 |
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 |
The controller supports receiving data via a control transfer to turn on/off the door lamp and provide rumble. The setup packet is as follows:
bmRequestType | bRequest | wValue | wIndex | wLength |
---|---|---|---|---|
0x40 | 0x09 | 0x0301 | 0x0000 | 0x0002 |
The data sent to the controller follows the structure below.
Byte 1 | Byte 2 |
---|---|
Status | Function |
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.
Product name | TAITO_DENSYA_CON_T02 |
Manufacturer | TAITO |
Vendor ID | 0x0AE4 |
Product ID | 0x0005 |
Serial number | TCPP20011 |
USB standard descriptor | Link |
HID report descriptor | Unavailable |
The controller sends reports to the host (PS2) formed by 6 bytes:
Byte 1 | Byte 2 | Byte 3 | Byte 4 | Byte 5 | Byte 6 |
---|---|---|---|---|---|
Brake | Power | Pedal | D-Pad | Buttons | Null |
The values for the brake notch byte are the following.
Released | B1 | B2 | B3 | B4 | B5 | B6 | B7 | Emergency | Transition |
---|---|---|---|---|---|---|---|---|---|
0x1C | 0x38 | 0x54 | 0x70 | 0x8B | 0xA7 | 0xC3 | 0xDF | 0xFB | 0xFF |
The values for the power notch byte are listed below.
N | P1 | P2 | P3 | P4 | P5 | P6 | P7 | P8 | P9 | P10 | P11 | P12 | P13 | Transition |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x12 | 0x24 | 0x36 | 0x48 | 0x5A | 0x6C | 0x7E | 0x90 | 0xA2 | 0xB4 | 0xC6 | 0xD7 | 0xE9 | 0xFB | 0xFF |
The pedal byte has two possible values depending on the state of the pedal.
Released | Pressed |
---|---|
0xFF | 0x00 |
The D-pad byte represents the state of the arrow buttons. If two opposite directions are pressed simultaneously, the result is Center unless a third button is pressed.
N | NE | E | SE | S | SW | W | NW | None/Center |
---|---|---|---|---|---|---|---|---|
0x00 | 0x01 | 0x02 | 0x03 | 0x04 | 0x05 | 0x06 | 0x07 | 0x08 |
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 |
The controller supports receiving data via a control transfer to update the screen, turn on/off the door lamp and provide rumble. The setup packet is as follows:
bmRequestType | bRequest | wValue | wIndex | wLength |
---|---|---|---|---|
0x40 | 0x09 | 0x0301 | 0x0000 | 0x0008 |
The data sent to the controller follows the structure below.
Byte 1 | Byte 2 | Byte 3 | Byte 4 | Bytes 5-6 | Bytes 7-8 |
---|---|---|---|---|---|
Left rumble | Right rumble | Door lamp + Limit approach | Speed gauge | Speedometer | ATC limit |
Multi-byte values should be stored in Little Endian.
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.
Product name | TAITO_DENSYA_CON_T03 |
Manufacturer | TAITO |
Vendor ID | 0x0AE4 |
Product ID | 0x0007 |
Serial number | TCPP20014 |
USB standard descriptor | Link |
HID report descriptor | Unavailable |
The controller sends reports to the host (PS2) formed by 8 bytes:
Byte 1 | Byte 2 | Byte 3 | Byte 4 | Byte 5 | Bytes 6-8 |
---|---|---|---|---|---|
Brake | Power | Pedal | D-Pad | Buttons | Unused |
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.
Reduce pressure | Keep pressure | Increase pressure | Emergency |
---|---|---|---|
0x23-0x64 | 0x65-0x89 | 0x8A-0xD6 | 0xD7 |
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).
Released | B1 | B2 | B3 | B4 | B5 | B6 | Emergency |
---|---|---|---|---|---|---|---|
0x23-0x2A | 0x2B-0x3C | 0x3D-0x4E | 0x4F-0x63 | 0x64-0x8A | 0x8B-0xB0 | 0xB1-0xD6 | 0xD7 |
The values for the power notch byte are listed below.
N | P1 | P2 | P3 | P4 | Transition |
---|---|---|---|---|---|
0x00 | 0x3C | 0x78 | 0xB4 | 0xF0 | 0xFF |
The pedal byte has two possible values depending on the state of the pedal.
Released | Pressed |
---|---|
0xFF | 0x00 |
The D-pad byte represents the state of the arrow buttons. If two opposite directions are pressed simultaneously, the result is Center unless a third button is pressed.
N | NE | E | SE | S | SW | W | NW | None/Center |
---|---|---|---|---|---|---|---|---|
0x00 | 0x01 | 0x02 | 0x03 | 0x04 | 0x05 | 0x06 | 0x07 | 0x08 |
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 |
No details are available regarding internal functioning.
This controller has one handle (5 power notches and 8+emergency brake notches) and 16 buttons (the same as a Nintendo Switch Pro Controller, except the stick buttons).
Internally, it is a HID-compliant joystick mimicking a Nintendo Switch Pro Controller. The stick buttons and the right stick are unused, and only the Y axis of the left stick is used.
Product name | One Handle MasCon for Nintendo Switch |
Manufacturer | None |
Vendor ID | 0x0F0D |
Product ID | 0x00C1 |
Serial number | None |
USB standard descriptor | Link |
HID report descriptor | Link |
The power/brake handle notches are reported in the Y axis of the left stick. There are no transition values between notches. In addition, when the handle is set to Emergency, ZL is pressed.
Emergency | B8 | B7 | B6 | B5 | B4 | B3 | B2 | B1 | N | P1 | P2 | P3 | P4 | P5 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x00 | 0x05 | 0x13 | 0x20 | 0x2E | 0x3C | 0x49 | 0x57 | 0x65 | 0x80 | 0x9F | 0xB7 | 0xCE | 0xE6 | 0xFF |
The information in this section applies to the following controllers:
This controller is similar externally to the PlayStation 2 version of the Shinkansen controller. However, the screen has been replaced by a sticker and there is no pedal, so the only functioning parts are the handles, the buttons and the door lamp. In addition, instead of USB, it connects to a Wiimote using its extension port, like other accessories made for the console. No details are available regarding internal functioning.
Here you will find a collection of technical information for the various controllers of the Densha de GO! series of games. The information has been gathered from my actual experience and the references mentioned on this site.
The information in this section applies to the following controllers:
These controllers all have five physical buttons (SELECT, START, A, B, C) and two handles (with the TCPP-20001 combining them into one). Internally, they use the same protocol as a standard controller for the corresponding console and input is reported in the data bytes corresponding to buttons (where each bit reports the state of a single button). Only the regular physical buttons have dedicated bits for them; the handles combine three and four bits for the power notches and brake notches, respectively (you can find an example with the Nintendo 64 here).
The power handle uses a combination of three bits (buttons) to represent each notch. When using the TCPP-20001 controller, the equivalent of N is reported for power whenever a brake notch is applied.
Position | POWER 1 | POWER 2 | POWER 3 |
---|---|---|---|
N | - | X | X |
P1 | X | - | X |
P2 | - | - | X |
P3 | X | X | - |
P4 | - | X | - |
P5 | X | - | - |
Transition | - | - | - |
The brake handle uses a combination of four bits (buttons) to represent each notch. When using the TCPP-20001 controller, the equivalent of Released is reported for brake whenever a power notch is applied.
Position | BRAKE 1 | BRAKE 2 | BRAKE 3 | BRAKE 4 |
---|---|---|---|---|
Released | - | X | X | X |
B1 | X | - | X | X |
B2 | - | - | X | X |
B3 | X | X | - | X |
B4 | - | X | - | X |
B5 | X | - | - | X |
B6 | - | - | - | X |
B7 | X | X | X | - |
B8 | - | X | X | - |
Unmarked 1 | X | - | X | - |
Unmarked 2 | - | - | X | - |
Unmarked 3 | X | X | - | - |
Unmarked 4 | - | X | - | - |
Unmarked 5 | X | - | - | - |
Emergency | - | - | - | - |
Transition | X | X | X | X |
The unmarked positions can be found between B8 and Emergency and produce no click when moving the handle. When using the TCPP-20001 or the TCPP-20002, only the first and fourth unmarked positions are available.
Because they use the same data bytes, the input between a Densha de GO! controller and a standard controller for each console can be matched as follows:
Densha de GO! | Nintendo 64 | Sony PlayStation 1 | Sega Dreamcast | Sega Saturn |
---|---|---|---|---|
SELECT | R | SELECT | D | ?? |
START | START | START | START | ?? |
A | B | SQUARE | A | ?? |
B | A | CROSS | ?? | ?? |
C | L | CIRCLE | C | ?? |
POWER 1 | RIGHT | TRIANGLE | Z | X |
POWER 2 | UP | LEFT | Y | Y |
POWER 3 | Z | RIGHT | X | Z |
BRAKE 1 | C RIGHT | L1 | UP | L |
BRAKE 2 | C LEFT | L2 | DOWN | R |
BRAKE 3 | C DOWN | R1 | LEFT | DOWN |
BRAKE 4 | C UP | R2 | RIGHT | LEFT |
This is useful when using a USB adapter to read the controller input from a PC.
The controllers report the same data amount and structure as a standard digital PlayStation controller. UP and DOWN are pressed permanently. The games detect the controllers with these two buttons, as it is an impossible combination with a standard digital controller.
The information in this section applies to the following controllers:
This is the original controller for the Microsoft Windows releases. No details are available regarding internal functioning.
The information in this section applies to the following controllers:
This controller is different from traditional controllers in the sense that it contains the game (an improved version of Densha de GO! Final) and does not connect to a PC or console. Externally, it looks similar to a TCPP-20009, except it does not include a pedal connection. Internally, it contains an ARM board running Linux. It requires a micro USB cable for power and a HDMI cable for video output.
The micro USB port supports USB OTG with a powered adapter and is used by Taito to install software updates.
It is possible to update the Linux kernel on the board to enable USB gadget mode and emulate traditional controllers, such as the DGOC-44U. This makes it possible to control other software. You can find more information here.
The information in this section applies to the following controllers:
This controller has one handle (5 power notches and 8+emergency brake notches), a D-Pad and 6 buttons (Select, Start, A, B, C, D).
Internally, it is a HID-compliant joystick with two axes, 6 buttons and a PoV hat switch (the handle positions are reported via axes).
Besides the PoV hat switch, it reports the same data as a DGOC-44U controller. The games check if the controller has a PoV hat switch to distinguish between a DGC-255 and a DGOC-44U.
This controller has two handles (5 power notches and 8+emergency brake notches) and 6 buttons (Select, Start, A, B, C, D).
Internally, it is a HID-compliant joystick with two axes and 6 buttons (the handle positions are reported via axes).
Product name | 電車でGO! コントローラ USB版 |
Manufacturer | TAITO |
Vendor ID | 0x0AE4 |
Product ID | 0x0003 |
Serial number | TCPP20009 |
USB standard descriptor | Unavailable |
HID report descriptor | Link |
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 | P1 | P2 | P3 | P4 | P5 | 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 |
No details are available regarding internal functioning.
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.
Product name | TAITO_DENSYA_CON_T01 |
Manufacturer | TAITO |
Vendor ID | 0x0AE4 |
Product ID | 0x0004 |
Serial number | TCPP20010 |
USB standard descriptor | Link |
HID report descriptor | Unavailable |
The controller sends reports to the host (PS2) formed by 6 bytes:
Byte 1 | Byte 2 | Byte 3 | Byte 4 | Byte 5 | Byte 6 |
---|---|---|---|---|---|
0x01 | Brake | Power | Pedal | D-Pad | Buttons |
The values for the brake notch byte are the following.
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 | P1 | P2 | P3 | P4 | P5 | Transition |
---|---|---|---|---|---|---|
0x81 | 0x6D | 0x54 | 0x3F | 0x21 | 0x00 | 0xFF |
The pedal byte has two possible values depending on the state of the pedal.
Released | Pressed |
---|---|
0xFF | 0x00 |
The D-pad byte represents the state of the arrow buttons. If two opposite directions are pressed simultaneously, the result is Center unless a third button is pressed.
N | NE | E | SE | S | SW | W | NW | None/Center |
---|---|---|---|---|---|---|---|---|
0x00 | 0x01 | 0x02 | 0x03 | 0x04 | 0x05 | 0x06 | 0x07 | 0x08 |
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 |
The controller supports receiving data via a control transfer to turn on/off the door lamp and provide rumble. The setup packet is as follows:
bmRequestType | bRequest | wValue | wIndex | wLength |
---|---|---|---|---|
0x40 | 0x09 | 0x0301 | 0x0000 | 0x0002 |
The data sent to the controller follows the structure below.
Byte 1 | Byte 2 |
---|---|
Status | Function |
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.
Product name | TAITO_DENSYA_CON_T02 |
Manufacturer | TAITO |
Vendor ID | 0x0AE4 |
Product ID | 0x0005 |
Serial number | TCPP20011 |
USB standard descriptor | Link |
HID report descriptor | Unavailable |
The controller sends reports to the host (PS2) formed by 6 bytes:
Byte 1 | Byte 2 | Byte 3 | Byte 4 | Byte 5 | Byte 6 |
---|---|---|---|---|---|
Brake | Power | Pedal | D-Pad | Buttons | Null |
The values for the brake notch byte are the following.
Released | B1 | B2 | B3 | B4 | B5 | B6 | B7 | Emergency | Transition |
---|---|---|---|---|---|---|---|---|---|
0x1C | 0x38 | 0x54 | 0x70 | 0x8B | 0xA7 | 0xC3 | 0xDF | 0xFB | 0xFF |
The values for the power notch byte are listed below.
N | P1 | P2 | P3 | P4 | P5 | P6 | P7 | P8 | P9 | P10 | P11 | P12 | P13 | Transition |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x12 | 0x24 | 0x36 | 0x48 | 0x5A | 0x6C | 0x7E | 0x90 | 0xA2 | 0xB4 | 0xC6 | 0xD7 | 0xE9 | 0xFB | 0xFF |
The pedal byte has two possible values depending on the state of the pedal.
Released | Pressed |
---|---|
0xFF | 0x00 |
The D-pad byte represents the state of the arrow buttons. If two opposite directions are pressed simultaneously, the result is Center unless a third button is pressed.
N | NE | E | SE | S | SW | W | NW | None/Center |
---|---|---|---|---|---|---|---|---|
0x00 | 0x01 | 0x02 | 0x03 | 0x04 | 0x05 | 0x06 | 0x07 | 0x08 |
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 |
The controller supports receiving data via a control transfer to update the screen, turn on/off the door lamp and provide rumble. The setup packet is as follows:
bmRequestType | bRequest | wValue | wIndex | wLength |
---|---|---|---|---|
0x40 | 0x09 | 0x0301 | 0x0000 | 0x0008 |
The data sent to the controller follows the structure below.
Byte 1 | Byte 2 | Byte 3 | Byte 4 | Bytes 5-6 | Bytes 7-8 |
---|---|---|---|---|---|
Left rumble | Right rumble | Door lamp + Limit approach | Speed gauge | Speedometer | ATC limit |
Multi-byte values should be stored in Little Endian.
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.
Product name | TAITO_DENSYA_CON_T03 |
Manufacturer | TAITO |
Vendor ID | 0x0AE4 |
Product ID | 0x0007 |
Serial number | TCPP20014 |
USB standard descriptor | Link |
HID report descriptor | Unavailable |
The controller sends reports to the host (PS2) formed by 8 bytes:
Byte 1 | Byte 2 | Byte 3 | Byte 4 | Byte 5 | Bytes 6-8 |
---|---|---|---|---|---|
Brake | Power | Pedal | D-Pad | Buttons | Unused |
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.
Reduce pressure | Keep pressure | Increase pressure | Emergency |
---|---|---|---|
0x23-0x64 | 0x65-0x89 | 0x8A-0xD6 | 0xD7 |
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).
Released | B1 | B2 | B3 | B4 | B5 | B6 | Emergency |
---|---|---|---|---|---|---|---|
0x23-0x2A | 0x2B-0x3C | 0x3D-0x4E | 0x4F-0x63 | 0x64-0x8A | 0x8B-0xB0 | 0xB1-0xD6 | 0xD7 |
The values for the power notch byte are listed below.
N | P1 | P2 | P3 | P4 | Transition |
---|---|---|---|---|---|
0x00 | 0x3C | 0x78 | 0xB4 | 0xF0 | 0xFF |
The pedal byte has two possible values depending on the state of the pedal.
Released | Pressed |
---|---|
0xFF | 0x00 |
The D-pad byte represents the state of the arrow buttons. If two opposite directions are pressed simultaneously, the result is Center unless a third button is pressed.
N | NE | E | SE | S | SW | W | NW | None/Center |
---|---|---|---|---|---|---|---|---|
0x00 | 0x01 | 0x02 | 0x03 | 0x04 | 0x05 | 0x06 | 0x07 | 0x08 |
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 |
No details are available regarding internal functioning.
This controller has one handle (5 power notches and 8+emergency brake notches) and 16 buttons (the same as a Nintendo Switch Pro Controller, except the stick buttons).
Internally, it is a HID-compliant joystick mimicking a Nintendo Switch Pro Controller. The stick buttons and the right stick are unused, and only the Y axis of the left stick is used.
Product name | One Handle MasCon for Nintendo Switch |
Manufacturer | None |
Vendor ID | 0x0F0D |
Product ID | 0x00C1 |
Serial number | None |
USB standard descriptor | Link |
HID report descriptor | Link |
The power/brake handle notches are reported in the Y axis of the left stick. There are no transition values between notches. In addition, when the handle is set to Emergency, ZL is pressed.
Emergency | B8 | B7 | B6 | B5 | B4 | B3 | B2 | B1 | N | P1 | P2 | P3 | P4 | P5 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x00 | 0x05 | 0x13 | 0x20 | 0x2E | 0x3C | 0x49 | 0x57 | 0x65 | 0x80 | 0x9F | 0xB7 | 0xCE | 0xE6 | 0xFF |
The information in this section applies to the following controllers:
This controller is similar externally to the PlayStation 2 version of the Shinkansen controller. However, the screen has been replaced by a sticker and there is no pedal, so the only functioning parts are the handles, the buttons and the door lamp. In addition, instead of USB, it connects to a Wiimote using its extension port, like other accessories made for the console. No details are available regarding internal functioning.