Game port

from Wikipedia, the free encyclopedia
Game port on a sound card

The game port [ geɪmpɔːɹt ] (actually Game port ) is a port on PC -type computers to which one analog joystick , paddle , gamepad and in newer Ports MIDI connect devices can. Up to four analog control axes and four digital fire buttons can be queried via a game port.

Devices to be connected to the game port only require a minimum of their own electronics, since the analog signals are evaluated in the computer (for the basic functionality of all devices that can be connected to the game port, see paddle ). The Gameport was already offered as an expansion card for IBM's first PCs (1981) and, together with RS-232 serial and Centronics parallel, is one of the “classic” PC interfaces.

In the meantime, the game port, as well as the EIA-232 interface and the parallel interface , have been replaced by the more versatile USB connection, which however requires more complex electronics in the input devices. For this reason, there is usually no longer a game port on new PCs today. At the same time, the space freed up on the panel is now available for surround sockets.

While the Linux kernel still contains a driver for the game port to this day (2020), the Windows operating system from Windows Vista no longer offers any support for the game port and relies entirely on USB for the corresponding devices. However, it is still possible for manufacturers of game port hardware, at least under the 32-bit versions of Windows Vista and Windows 7 , to provide their own unsigned drivers, which has been done in some cases. With the 64-bit versions of these operating systems, however, this is not possible during normal operation, as Microsoft enforces driver signing here. The game port has therefore almost completely disappeared from the market.

The game port on the computer is a two-row 15-pin D-Sub socket. Since the PC System Design Guide from Intel and Microsoft, the connection is provided as gold. Two joysticks or gamepads can be connected at the same time via a Y adapter , but this only applies to two-axis and two-button standard joysticks. Multi-axis joysticks and gamepads with more buttons require an entire game port for themselves.

In addition, if the game port is integrated on a sound card or a motherboard with onboard sound, as has been customary since around 1990, MIDI input and output devices can usually be connected by means of a special cable, which are then controlled by the PC software according to the standard MPU-401 can be addressed. This gameport option was introduced by the first Sound Blaster cards and is not part of the original standard. MPU-401 is no longer supported as of Windows Vista. An MPU-401 driver is included in the Linux kernel to this day (2020).

Pin assignment

Game port connector
Sub-DA15 pin assignment: (top view) Pin assignment: (top view)
..1 ... 2 .... 3 ... 4 .... 5 .... 6 .... 7 ... 8

... 9..10..11..12..13..14 ... 15

..8 .... 7 .... 6 .... 5 .... 4 .... 3 .... 2 .... 1

..-... 15..14..13 ... 12..11 ... 10 ... 9

Pin code description
1 Supply voltage +5 volts
2 Joystick 1 button 1
3 Joystick 1 X-axis
4th Dimensions
5 unoccupied
6th Joystick 1 Y-axis
7th Joystick 1 button 2
8th Supply voltage +5 volts
9 Supply voltage +5 volts
10 Joystick 2 button 1
11 Joystick 2 X-axis
12 Ground ( MIDI Out )
13 Joystick 2 Y-axis
14th Joystick 2 button 2
15th +5 volts ( MIDI In )

The 100 kΩ potentiometer is connected between the pins of the axes and +5 V (pin 1), which is connected to the actual movable joystick and is usually built into its bottom part. When the buttons on the joystick are operated, the corresponding lines are connected to ground.

It should be noted that game ports on PCI cards often only output +3.3 volts instead of +5 volts on the corresponding pins. As a result, some devices with active electronics on such cards no longer work.

programming

While modern operating systems bring their own drivers for the game port, the games and application programs scaled and return normalized values, this was not the case in DOS times. Since DOS does not have its own driver for the game port, programs and games had to program the game port directly and query the values.

For this, any value must first be written to the I / O port 201 hex and then continuously read in a loop from the same port until the corresponding bits of the respective axes have dropped back to 0. The time it takes to drop to 0 is proportional to the measured resistance, which - depending on the joystick model - does not have to be proportional to the axis deflection.

In the PC-BIOS there is a function that can be called via software interrupt 15 hex , which queries the joystick values ​​from the game port as described above and returns values ​​between 0 and 255 for the analog axes.

Web links

Commons : Game port  - collection of pictures, videos and audio files

Individual evidence

  1. Archive link ( Memento of the original from September 14, 2007 in the Internet Archive ) Info: The archive link was inserted automatically and has not yet been checked. Please check the original and archive link according to the instructions and then remove this notice. @1@ 2Template: Webachiv / IABot / forums.creative.com
  2. http://www.designin.de/Artikel/PC-Schnittstellen/PC-MT05.PDF