Classic controllers - Technical details

Internally, these controllers 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).

Power handle bit usage

The power handle uses a combination of three bits (buttons) to represent each notch.

PositionPOWER 1POWER 2POWER 3
N-XX
P1X-X
P2--X
P3XX-
P4-X-
P5X--
Transition---

Brake handle bit usage

The brake handle uses a combination of four bits (buttons) to represent each notch.

PositionBRAKE 1BRAKE 2BRAKE 3BRAKE 4
Released-XXX
B1X-XX
B2--XX
B3XX-X
B4-X-X
B5X--X
B6---X
B7XXX-
B8-XX-
Unmarked 1X-X-
Unmarked 2--X-
Unmarked 3XX--
Unmarked 4-X--
Unmarked 5X---
Emergency----
TransitionXXXX

The unmarked positions can be found between B8 and Emergency and produce no click when moving the handle.

Button mapping to a standard controller

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 64Sony PlayStation 1Sega DreamcastSega Saturn
SELECTRSELECTD??
STARTSTARTSTARTSTARTSTART
ABSQUAREAA
BACROSS??B
CLCIRCLECC
POWER 1RIGHTTRIANGLEZX
POWER 2UPLEFTYY
POWER 3ZRIGHTXZ
BRAKE 1C RIGHTL1UPL
BRAKE 2C LEFTL2DOWNR
BRAKE 3C DOWNR1LEFTDOWN
BRAKE 4C UPR2RIGHTLEFT

This can be used with a USB adapter to read the controller input from a PC.