All the logic of the controller is contained in a single chip (IC1) which is labled as follows:
+--------------+ | SEGA | | E2 MAPLE BUS | | 315-6125-AB | | 841A2A20 | +--------------+
Male connector pinout:
The plate on top of the connector is for the cable shield. It
is internally connected to pin 3 (GND).
Internal connector inside controller pinout:
|
The current state of a gamepad is queried with the Get condition request. The condition stucture for the Controller function code ($001) is as follows:
int16 buttons ; digital buttons bitfield (little endian) int8 rtrigger ; right analogue trigger (0-255) int8 ltrigger ; left analogue trigger (0-255) int8 joyx ; analogue joystick X (0-255) int8 joyy ; analogue joystick Y (0-255) int8 joyx2 ; second analogue joystick X (0-255) int8 joyy2 ; second analogue joystick Y (0-255)The buttons bitfield contains zeroes for pressed buttons, and ones for unpressed buttons.
|
The function_data for the Controller function code is a bitfield describing which controls are present on the particular device (zero = not present, one = present):
|