Game port

From Infogalactic: the planetary knowledge core
Jump to: navigation, search

<templatestyles src="Module:Hatnote/styles.css"></templatestyles>

Lua error in package.lua at line 80: module 'strict' not found.

<templatestyles src="Module:Infobox/styles.css"></templatestyles>

Game port
Da-15 port.PNG
A DA-15 connector on a Soundcard
Type Joystick input port
Designer IBM
Superseded by USB
Hot pluggable yes
External yes
Pins 15
Connector DA-15
DA-15 DSubM.png
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.

Originally located on a dedicated expansion card, the game port was later integrated with PC sound cards.

History

A "Y-splitter" cable used to connect multiple devices to the same game port

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,[2] though USB converters can serve as a workaround.

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 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).[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

References

  1. Lua error in package.lua at line 80: module 'strict' not found.
  2. Lua error in package.lua at line 80: module 'strict' not found.
  3. 3.0 3.1 Lua error in package.lua at line 80: module 'strict' not found.
  4. Lua error in package.lua at line 80: module 'strict' not found.
  5. Lua error in package.lua at line 80: module 'strict' not found.
  6. Official design for a game port-MIDI adapter

External links