Train Mascon (Sony PlayStation 2)

Overview

NameTrain Mascon (Sony PlayStation 2)
Release dateOctober 31, 2002
Serial codeCOTM-02001
Notes

Supported software

SoftwareNotes
OpenBVE (PC - Multiplatform)Supported via input plugin.
Train Simulator + Densha de GO!: Tokyu Line (Sony PlayStation 2)
Train Simulator Real: THE Keihin Electric Express Railway (Sony PlayStation 2)
Train Simulator: Keisei, Toei Asakusa, Keikyu Lines (Sony PlayStation 2)
Train Simulator: Midōsuji Line (Sony PlayStation 2)

Technical details

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

Product nameUnavailable
ManufacturerUnavailable
Vendor ID0x1C06
Product ID0x77A7
Serial numberUnavailable
USB standard descriptorDownload (from Multi Train Controller)
HID report descriptorDownload (recreated, not provided by actual device)

Input

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

Byte #Data
10x01 (fixed)
2Reverser+handle
3Buttons 1
4Buttons 2

The reverser+handle byte combines two values representing the state of the reverser and the power/brake handle. The handle notch is represented sequentially starting from 0x1 (Emergency), brake notches from highest to lowest, N and power notches from lowest to highest.

PositionValue
Forward0x2X
Neutral0x0X
Backward0x1X

The first 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
1ATS
2Close
3A (soft)
4A (hard)
5B
6C
7Unused
8Unused

The second button byte also uses bits to represent the state of the physical buttons.

BitPhysical Button
1Start
2Select
3Up
4Down
5Left
6Right
7Unused
8Unused

Output

The controller supports receiving data via a control transfer to turn on/off the lamps. The USB setup packet is as follows:

DataValue
bmRequestType0x40
bRequest0x50
wValueLamp data
wIndex0x0
wLength0x0

Changing wValue controls the lamps with the logic below.

  • Door lamp: 0x0X is Off, 0x1X is On.
  • Signal lamp: 0xX0 is Off, 0xX1 is ATS, 0xX2 is 45, 0xX3 is 15.