JSX-C

From MSX Game Library

Revision as of 21:16, 3 November 2024 by Aoineko (talk | contribs) (Created page with "== Protocol == Proposal for a protocol to handle joypads with a '''variable number of sticks and buttons''', plug in the MSX’s '''[https://www.msx.org/wiki/General_Purpose_...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Protocol

Proposal for a protocol to handle joypads with a variable number of sticks and buttons, plug in the MSX’s general purpose port.

This protocol can manage joypads with up to 15 analog axis (one stick requires 2 axis) and 18 buttons.

Pin 8 is used to synchronize data transmission:

  • Leaving Pin 8 LOW for long enough (>1 ms, about 3580 t-states) resets the joystick's internal counter,
  • then successive pulses on Pin 8 (LOW > HIGH) are used for data transmission (6 bits per 6 bits).

Pin binding for received data:

Bits 7 6 5 4 3 2 1 0
–-–-–-–-–-–-–-–--–-–-
Pins x x 7 6 4 3 2 1