Game port
A DA-15 connector on a Soundcard | |||
Type | Joystick input port | ||
---|---|---|---|
Production history | |||
Designer | IBM | ||
Superseded by | USB | ||
General specifications | |||
Hot pluggable | yes | ||
External | yes | ||
Pins | 15 | ||
Connector | DA-15 | ||
Pin out | |||
Pin 1 | +5V | +5V 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 | +5V | +5V DC | |
Pin 9 | +5V | +5V 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.
Originally located on a dedicated expansion card, the game port was later integrated with PC sound cards.
History
The game port was originally released by IBM in 1981 as a separate expansion card for the first IBM PC.[1] 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.[citation needed]
Microsoft Windows discontinued support for the game port with Windows Vista, though USB converters can serve as a workaround.[2]
Hardware
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.[citation needed]
The game port power can be loaded with approximately 750 mA;[3] however, this is shared with the keyboard (max 100 mA[4]), mouse (~ 25 mA[5]), and the video port (VGA uses 50 mA[3]), leaving approximately 575 mA for actual game port usage. CAUTION: Some implementations provide no current limiting, with the 5V connector pins connected directly to the internal 5V 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 +5V 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).[6]
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.[citation needed]
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.[citation needed]
Uses
The analog nature of the game port made the IBM-PC particularly suitable for simulation games, especially flight simulators.[citation needed]
See also
- USB Human Interface Device class
References
- ↑ 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."
- ↑ 3.0 3.1 "System board D1170 reference manual". p. Page 21.
- ↑ "Small footprint Notebook style PS/2 Keyboard".
- ↑ "Solid-state optical mouse sensor with PS/2 and quadrature outputs. Technical Data. HDNS-2000".
- ↑ Official design for a game port-MIDI adapter
External links
- Fairly detailed game port pinouts and specs
- Page with extensive info and a lot of experimental/DIY material on game ports