Game port

Last updated
Game port
Da-15 port.PNG
A DA-15 connector on a sound card
Type Joystick input port
Production history
Designer IBM
Superseded by USB
General specifications
Hot pluggable Yes
External Yes
Pins 15
Connector DA-15
Pinout
DA-15 DSubminiatures female.svg
Pin 1 +5V +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 +5V +5 V DC
Pin 9 +5V +5 V DC
Pin 10 B3 Button 3 (B1 for joystick 2)
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 B4 Button 4 (B2 for joystick 2)
Pin 15 +5V +5 V DC (or MIDI in, sometimes unconnected)

The game port is a device port that was found on IBM PC compatible and other computer systems throughout the 1980s and 1990s. It was the traditional connector for joystick input, and occasionally MIDI devices, until made obsolete by USB in the late 1990s.

Contents

Originally located on a dedicated Game Control Adapter expansion card, the game port was later integrated with PC sound cards, and still later on the PC's motherboard. During the transition to USB, many input devices used the game port and a USB adapter dongle was included for systems without a game port.

History

Pre-IBM game ports

This Microsoft joystick's output was the traditional game port, but was supplied with a game-port-to-USB adapter for connection to newer systems. Game port to USB Adaptor.JPG
This Microsoft joystick's output was the traditional game port, but was supplied with a game-port-to-USB adapter for connection to newer systems.
A "Y-splitter" cable used to connect multiple devices to the same game port Gameport Splitter.jpg
A "Y-splitter" cable used to connect multiple devices to the same game port

At the time IBM was developing its game port, there was no industry standard for controller ports, although the Atari joystick port was close. It was introduced in 1977 with the Atari Video Computer System, and was later used on the VIC-20 (1980), Commodore 64 (1982), and Amstrad's PC1512 (1986).

In contrast with the IBM design, the Atari port was primarily designed for digital inputs (including a pair of two-axis/four-contact digital joysticks, each with a single pushbutton trigger). Its only analog connections were intended for paddles [1] -- although, as there were two analog inputs per port, each port could theoretically support a two-axis analog joystick, touchpad, trackball, or mouse [1] (some of these being eventually developed for Atari systems). [2] [3] [4]

The Apple II, [5] BBC Micro, [6] TRS-80 Color Computer, [7] and other popular 8-bit machines all used different, incompatible, joysticks and ports. In most respects, the IBM design was similar to, or more advanced than, existing designs.

Initial IBM PC type game ports

The IBM PC game port first appeared during the initial launch of the original IBM PC in 1981, in the form of an optional US$55 expansion card known as the Game Control Adapter. [8] [9] 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. [10]

Originally available only as add-on that took up an entire slot, [8] game ports remained relatively rare in the early days of the IBM PC, and most games used the keyboard as an input. IBM did not release a joystick of its own for the PC, which did not help. The most common device available was the Kraft joystick, originally developed for the Apple II but easily adapted to the IBM with the addition of another button on the back of the case. When IBM finally did release a joystick, for the IBM PCjr, it was a version of the Kraft stick. However, it connected to the computer using two incompatible 7-pin connectors, which were mechanically connected together as part of a larger multi-pin connector on the back of the machine. [11] This eliminated the need for the Y-adapter. [12] Adapters for Atari-style "digital" sticks were also common during this era. [13]

The game port became somewhat more common in the mid-1980s, as improving electronic density began to produce expansion cards with ever-increasing functionality. By 1983, it was common to see cards combining memory, game ports, serial and parallel ports and a realtime clock on a single expansion card. [14] The era of combo expansion cards largely came to an end by the late 1980s, as many of the separate functions normally provided on plug-in boards became common features of the motherboard itself. Game ports were not always part of this supported set of ports.

Integration with sound cards

However, the game port was given a major boost in usage in 1989, with the introduction of the first Sound Blaster. As sound cards were primarily used with computer games, Creative Labs took the opportunity to include a game port on the card, producing an all-in-one gaming solution. At the same time, they re-purposed two otherwise redundant pins on the port, 12 and 15, to produce a serial bus with enough performance to drive an external MIDI port adapter. Previous MIDI systems like the MPU-401 used their own separate expansion cards and a complex external adapter, whereas the Sound Blaster only required an inexpensive adapter to produce the same result. [15] By the end of the year the Sound Blaster was the best selling expansion card on the PC, and the game port was receiving widespread software support.

With the exception of laptops—for which companies released joystick adapters for parallel or serial ports, which needed custom software drivers [16] —through the early 1990s, the game port was universally supported on sound cards, [12] and increasingly became built-in features as motherboards added sound support of their own. This remained true through the second half of the 1990s, by which time integrated sound support had displaced the third-party sound card to a large degree. By the early 2000s, such support was so widespread that newer sound cards began to dispense with the game port as it was certain the machine they would be used in already had such support, including MIDI. Every Sound Blaster card from the first model up to August 2001 included a game port. In 2001 the Sound Blaster Audigy moved the game port to a second expansion slot, which connected to a header on the card. [17] [ circular reference ]

Replacement by USB

The introduction of the first USB standard in 1996, was aimed squarely at the sort of roles provided by the game port, but initially had little market impact. The introduction of the iMac, which was based almost entirely on USB expansion, began a rapid expansion of USB in the market. [18] This led both to new gaming devices using USB, as well as the profusion of adapters. For instance, the 1997 Microsoft Precision Pro joystick was re-introduced in a version that used a game port connector, but also included a USB adapter in the box. [19] The rapid takeover of USB meant that this was superfluous when the Precision Pro 2 was released the next year in 1998. By 2000, game ports were purely for backward compatibility with now outdated devices.

Microsoft Windows discontinued support for the game port with Windows Vista, [20] though USB converters can serve as a workaround.

Hardware

The game port's DA-15 connector includes inputs for a total of four analog channels and four buttons. These were almost always implemented as two joysticks with two buttons each, but it is also possible to support four paddle controllers each with one button, or a single gamepad with two analog sticks and four buttons using the same inputs. The port includes redundant pins, including a total of four +5 V supplies, and separate grounds for most of the buttons. In most similar game ports, like those on the Atari, a single +5 V and ground is used for all the channels. [21]

The game port was originally 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 break-out cable with the necessary opto-isolation hardware and compatible connectors is required - typically these consisted of a male and a female DA-15 and two male 5-pin DIN connectors. For many sound cards, the game port midi capabilities were based around the Roland MPU-401 MIDI interface (in UART mode only), however some older sound cards (notably the original Sound Blaster and Sound Blaster Pro) used a proprietary interface that was not compatible with the MPU-401. [22]

The analog channels are read by sending voltage into the line, through a potentiometer in the controller, in this case 100,000 ohm, and then into a capacitor. The value is read by timing how long it took for the voltage in the capacitor to cross a certain threshold. The rate varied depending on the resistance, and thus physical position, of the potentiometer. In the Atari port, which had similar analog channels, there is a convenient timer available in the form of the video clock circuitry. In the PC there is no similar clock because video functionality is normally provided on an expansion card. Instead, a software routine needs to first trigger capacitor discharge by issuing an IO write to the Gameport, and then measure the time it takes to charge them again by constantly polling Gameport. Using original IBM formula, Time = 24.2 μs + 0.011 (r) μs [23] and assuming 100Kohm potentiometers this process can take up to 1.1ms per readout, or over 60ms if we decide to read joystick position 60 times a second. This significant overhead was the reason why using original Gameport on the PC could consume up to 10% of CPU time independent of CPU speed. [24]

Software

Initially there was no standardized software for running the joysticks; applications would poll the known ports associated with the sticks as part of their game loop. This did, however, leave the implementation of a lot of housekeeping tasks to every application that used them, such as looking for and enumerating the active devices, and calibrating them. This changed in Windows 95, which introduced standardized Windows Registry entries to hold these values and make it easier for applications to find these devices. DirectX further expanded the options through DirectInput with the "joystick mini-driver" with a number of new capabilities. Among these were support for up to six analog axes, a point-of-view hat, and up to 64 buttons. It also supported up to 16 such devices, which could be connected using any interface, not just the game port. [25]

See also

Related Research Articles

<span class="mw-page-title-main">Motherboard</span> Main printed circuit board (PCB) for a computing device

A motherboard is the main printed circuit board (PCB) in general-purpose computers and other expandable systems. It holds and allows communication between many of the crucial electronic components of a system, such as the central processing unit (CPU) and memory, and provides connectors for other peripherals. Unlike a backplane, a motherboard usually contains significant sub-systems, such as the central processor, the chipset's input/output and memory controllers, interface connectors, and other components integrated for general use.

<span class="mw-page-title-main">Sound card</span> Expansion card that provides input and output of audio signals

A sound card is an internal expansion card that provides input and output of audio signals to and from a computer under the control of computer programs. The term sound card is also applied to external audio interfaces used for professional audio applications.

<span class="mw-page-title-main">Expansion card</span> Circuit board for connecting to a computer system to add functionality

In computing, an expansion card is a printed circuit board that can be inserted into an electrical connector, or expansion slot on a computer's motherboard to add functionality to a computer system. Sometimes the design of the computer's case and motherboard involves placing most of these slots onto a separate, removable card. Typically such cards are referred to as a riser card in part because they project upward from the board and allow expansion cards to be placed above and parallel to the motherboard.

<span class="mw-page-title-main">Serial port</span> Communication interface transmitting information sequentially

On computers, a serial port is a serial communication interface through which information transfers in or out sequentially one bit at a time. This is in contrast to a parallel port, which communicates multiple bits simultaneously in parallel. Throughout most of the history of personal computers, data has been transferred through serial ports to devices such as modems, terminals, various peripherals, and directly between computers.

<span class="mw-page-title-main">Parallel port</span> Computer interface

In computing, a parallel port is a type of interface found on early computers for connecting peripherals. The name refers to the way the data is sent; parallel ports send multiple bits of data at once, as opposed to serial communication, in which bits are sent one at a time. To do this, parallel ports require multiple data lines in their cables and port connectors and tend to be larger than contemporary serial ports, which only require one data line.

<span class="mw-page-title-main">Graphics card</span> Expansion card which generates a feed of output images to a display device

A graphics card is a computer expansion card that generates a feed of graphics output to a display device such as a monitor. Graphics cards are sometimes called discrete or dedicated graphics cards to emphasize their distinction to integrated graphics processor on the motherboard or the CPU. A graphics processing unit (GPU) that performs the necessary computations is the main component in a graphics card, but the acronym "GPU" is sometimes also used to erroneously refer to the graphics card as a whole.

<span class="mw-page-title-main">Sound Blaster</span> Family of sound cards by Creative Technology

Sound Blaster is a family of sound cards and audio peripherals designed by Singaporean technology company Creative Technology. The first Sound Blaster card was introduced in 1989.

<span class="mw-page-title-main">Microsoft SideWinder</span> Digital video game controllers

Microsoft SideWinder was the general name given to the family of digital game controllers developed by Microsoft for PCs. The line was first launched in 1995. Although intended only for use with Microsoft Windows, Microsoft SideWinder game controllers can also be used with macOS, Mac OS 9 with third-party software, and Linux.

<span class="mw-page-title-main">D-subminiature</span> Type of electrical connector

The D-subminiature or D-sub is a common type of electrical connector. They are named for their characteristic D-shaped metal shield. When they were introduced, D-subs were among the smallest connectors used on computer systems.

The Japan Amusement Machine and Marketing Association is a Japanese trade association headquartered in Tokyo.

<span class="mw-page-title-main">Gamepad</span> Type of video game controller

A gamepad is a type of video game controller held in two hands, where the fingers are used to provide input. They are typically the main input device for video game consoles.

<span class="mw-page-title-main">MPU-401</span> MIDI interface device

The MPU-401, where MPU stands for MIDI Processing Unit, is an important but now obsolete interface for connecting MIDI-equipped electronic music hardware to personal computers. It was designed by Roland Corporation, which also co-authored the MIDI standard.

<span class="mw-page-title-main">Covox Speech Thing</span> External digital-to-analog audio converter

The Covox Speech Thing is an external digital-to-analog converter (DAC) that plugs into the parallel printer port of a PC. It converts 8-bit digital sound using a simple R-2R resistor ladder into an analog signal output.

The Sirius Joyport is a game controller adapter for the Apple II computer designed by Keithen Hayenga and Steve Woita and then licensed for manufacture and distribution in 1981 by Sirius Software.

<span class="mw-page-title-main">PS/2 port</span> 6-pin mini-DIN connector for connecting keyboards and mice to a PC compatible computer

The PS/2 port is a 6-pin mini-DIN connector used for connecting keyboards and mice to a PC compatible computer system. Its name comes from the IBM Personal System/2 series of personal computers, with which it was introduced in 1987. The PS/2 mouse connector generally replaced the older DE-9 RS-232 "serial mouse" connector, while the PS/2 keyboard connector replaced the larger 5-pin/180° DIN connector used in the IBM PC/AT design. The PS/2 keyboard port is electrically and logically identical to the IBM AT keyboard port, differing only in the type of electrical connector used. The PS/2 platform introduced a second port with the same design as the keyboard port for use to connect a mouse; thus the PS/2-style keyboard and mouse interfaces are electrically similar and employ the same communication protocol. However, unlike the otherwise similar Apple Desktop Bus connector used by Apple, a given system's keyboard and mouse port may not be interchangeable since the two devices use different sets of commands and the device drivers generally are hard-coded to communicate with each device at the address of the port that is conventionally assigned to that device.

<span class="mw-page-title-main">Adapter (computing)</span>

An adapter in regard to computing can be either a hardware component (device) or software that allows two or more incompatible devices to be linked together for the purpose of transmitting and receiving data. Given an input, an adapter alters it in order to provide a compatible connection between the components of a system. Both software and hardware adapters are used in many different devices such as mobile phones, personal computers, servers and telecommunications networks for a wide range of purposes. Some adapters are built into devices, while the others can be installed on a computer's motherboard or connected as external devices.

<span class="mw-page-title-main">Computer port (hardware)</span> Computer hardware

In computer hardware, a port serves as an interface between the computer and other computers or peripheral devices. In computer terms, a port generally refers to the part of a computing device available for connection to peripherals such as input and output devices. Computer ports have many uses, to connect a monitor, webcam, speakers, or other peripheral devices. On the physical layer, a computer port is a specialized outlet on a piece of equipment to which a plug or cable connects. Electronically, the several conductors where the port and cable contacts connect, provide a method to transfer signals between devices.

<span class="mw-page-title-main">Creative Wave Blaster</span> MIDI synthesizer

The Wave Blaster was an add-on MIDI-synthesizer for Creative Sound Blaster 16 and Sound Blaster AWE32 family of PC soundcards. It was a sample-based synthesis General MIDI compliant synthesizer. For General MIDI scores, the Wave Blaster's wavetable-engine produced more realistic instrumental music than the SB16's onboard Yamaha-OPL3.

<span class="mw-page-title-main">Atari joystick port</span> Computer port used for gaming controllers

The Atari joystick port is a computer port used to connect various gaming controllers to game console and home computer systems in the 1970s to the 1990s. It was originally introduced on the Atari 2600 in 1977 and then used on the Atari 400 and 800 in 1979. It went cross-platform with the VIC-20 in 1981, and was then used on many following machines from both companies, as well as a growing list of 3rd party machines like the MSX platform and various Sega consoles.

References

  1. 1 2 Atari Hardware Manual (PDF). Atari. 1982. pp. III.19–III.32.
  2. "Atari Party 2014 - Photos", archived by New Breed Software, retrieved March 26, 2023
  3. Image Technology, By Don Leavitt, Popular Photography, Dec 1984, Page 140, ...the Okimate 10...will also work with Atari Artist,...
  4. Get the magic touch with the Atari Touch Table, Science Digest, Volume 92, 1984, Page 83, ...The ATARI Touch Tablet with Atari- Artist"' software cartridge turns your TV into a magic palette of 128 dazzling colors. The Touch Tablet works a little like an electronic slate. Hook it into any ATARI Computer and what you draw on the tablet ...
  5. "Apple II Pinouts". Usenet newsgroup Apple II FAQs. 21 August 1998.
  6. Connecting Joysticks To The BBC Micro (PDF) (Technical report). Acorn. 1992.
  7. Hodgson, Ian (May 1983). "A joystick for the color computer". Creative Computing . Vol. 9, no. 5. Retrieved 2019-12-16.
  8. 1 2 Lemmons, Phil (October 1981). "The IBM Personal Computer / First Impressions". BYTE. p. 36. Retrieved 19 October 2013.
  9. Calvert, J. B. (18 August 2002). "The Game Control Adapter". A Review of Electronics.
  10. "ABM advertisement". PC Mag: 273. July 1983.
  11. PC jr. Technical Reference (PDF). 1983. p. 2.12.
  12. 1 2 "DOS Games Joysticks & Other Gaming Device Support". Nerdy Pleasures. 10 February 2012.
  13. "Joystick PC Gameport Connector Pinout". AllPinouts.
  14. "Super 12 Pak Multi-Function". PC Mag: 342. 17 April 1984.
  15. Petzold, Charles (28 April 1992). "Environments". PC Mag: 403.
  16. "Laptops Take Flight". Computer Gaming World. November 1993. pp. 11–12. Retrieved 28 March 2016.
  17. Sound Blaster Audigy
  18. Edwards, Benj (15 August 2008). "Eight ways the iMac changed computing". Macworld.
  19. Grendel. "3DP-Vert, a USB adapter for the Microsoft SideWinder 3D Pro, Precision Pro and Force Feedback Pro" . Retrieved 2015-11-11.
  20. Rivera, Andre (11 September 2006). "Hardware Compatibility and Drivers 5600". Archived from the original on 2008-12-31. Q: Are MIDI/game ports supported under Vista? A: We've removed support for these types of devices, in favor of USB connected devices.
  21. "PC Gameport (Joystick) pinout". pinouts.ru.
  22. "Official design for a game port-MIDI adapter". MIDI Association.
  23. IBM Technical Reference. Options and Adapters. Vol. 2 "IBM Game Control Adapter" No. 6361493 (PDF). IBM.
  24. Thompson, Bruce (2002). PC hardware in a nutshell. ISBN   0596003536. CPU must constantly poll the gameport to detect when a button is pressed or a stick is moved. Polling can require as much as 10% of the CPU
  25. "Joystick Support". Microsoft Hardware Dev Center.