|This article needs additional citations for verification. (August 2009)|
||This article may be too technical for most readers to understand. (March 2015)|
||This article is written like a manual or guidebook. (March 2015)|
A DA-15 connector on a Soundcard
|Type||Joystick input port|
|Pin 1||+5 V||+5 V DC|
|Pin 2||B1||Button 1|
|Pin 3||X1||X axis for joystick 1 (0–100 kΩ)|
|Pin 4||GND||Ground for B1|
|Pin 5||GND||Ground for B2|
|Pin 6||Y1||Y axis for joystick 1 (0–100 kΩ)|
|Pin 7||B2||Button 2|
|Pin 8||+5 V||+5 V DC|
|Pin 9||+5 V||+5 V DC|
|Pin 10||B4||Button 4|
|Pin 11||X2||X axis for joystick 2 (0–100 kΩ)|
|Pin 12||GND||Ground for buttons 3 and 4 (or MIDI out)|
|Pin 13||Y2||Y axis for joystick 2 (0–100 kΩ)|
|Pin 14||B3||Button 3|
|Pin 15||+5 V||+5 V DC (or MIDI in, sometimes unconnected)|
The game port is a device port found on IBM PC compatible systems throughout the 1980s and 1990s. It was the traditional connector for joystick input devices until superseded by USB in the 21st century.
The game port was originally released by IBM in 1981 as a separate expansion card for the first IBM PC. The design allowed for four analog axes and four buttons on one port, allowing two joysticks or four paddles to be connected via a special "Y-splitter" cable.
Unlike the TTL connectors used in the early days of home computing and game consoles (most notably the DE-9 connector originally found on the Atari VCS, which was the de facto standard on other systems) the game port is analog rather than digital, relying on some form of analog-to-digital converter (ADC) to interpret joystick movements. The typical implementation of a game port uses a capacitor and a simple voltage comparator, which together form a ramp-compare ADC, which needs to be periodically polled several times per second to provide a responsive game input.
The game port power can be loaded with approximately 750 mA; however, this is shared with the keyboard (max 100 mA), mouse (~ 25 mA), and the video port (VGA uses 50 mA), leaving approximately 575 mA for actual game port usage. CAUTION: Some implementations provide no current limiting, with the 5 V connector pins connected directly to the internal 5 V bus. A short-circuit could blow traces or cause other damage.
The game port uses a DA-15 connector and was originally usually mounted on a dedicated ISA card. Since the early 1990s, when the game port moved from dedicated expansion cards to PC I/O or sound cards, these connectors have usually doubled as connectors for MIDI instruments; two of the redundant +5 V and GND pins of the original standard were rededicated to MIDI input and output to make this possible. To use a game port with MIDI instruments a cable is required with a male and a female DA-15 and two male 5-pin DIN connectors. The drivers and hardware for the game port midi capabilities are based around the now standard Roland MPU-401 MIDI interface (in UART mode only).
Programming and drivers
Regardless of whether the joystick uses analog signals (from potentiometers) or digital signals (using microswitches or contacts), peripherals connected using the game port require calibration prior to use. Calibration usually requires moving the joystick around all of its axes to measure the maximum axis excursion values. The game port requires careful programming and well-timed software interrupt triggering to read an input.
Some advanced game port joysticks support more than 4 buttons (e.g. 6 or 8). As the game port only has direct support for 4 distinct buttons, special device drivers were written to read pins and input meant for the second joystick (i.e. by mapping button 5 through 8 to the signals to the axis pins meant for the second joystick), using some normally "unused" pins, or changing the joystick's circuits (and related software) to read a 4-bit state code from the four button inputs, thus giving up to 16 button combinations). High-end game port joysticks such as the Microsoft SideWinder rely on multiplexing a proprietary data stream through the 4 standard button inputs and sometimes through the "unused" pins, achieving full support for a rather high number of buttons (e.g. 16 or 20) while special features such as daisy-chaining multiple joysticks, force feedback or joystick programming become possible in some cases.
- Calvert, J. B. (18 August 2002). "The Game Control Adapter". A Review of Electronics.
- Rivera, Andre (11 September 2006). "Hardware Compatibility and Drivers 5600".
Q: Are MIDI/game ports supported under Vista? A: We've removed support for these types of devices, in favor of USB connected devices.
- "System board D1170 reference manual" (PDF). p. Page 21.
- "Small footprint Notebook style PS/2 Keyboard" (PDF).
- "Solid-state optical mouse sensor with PS/2 and quadrature outputs. Technical Data. HDNS-2000" (PDF).
- Official design for a game port-MIDI adapter