Gameport

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen
Gameport an einer Soundkarte

Der Gameport [ˈgeɪmpɔːɹt] (eigentlich Game port) ist eine externe Schnittstelle an IBM-PC-kompatiblen Computern, an die man analoge Joysticks, Paddles, Gamepads und bei neueren Ports MIDI-Geräte anschließen kann. Es können bis zu vier analoge Steuerungsachsen und vier digitale Feuerknöpfe über einen Gameport abgefragt werden.

Geräte zum Anschluss an den Gameport benötigen nur ein Minimum an eigener Elektronik, da die Auswertung der analogen Signale im Computer erfolgt (zur prinzipiellen Funktionsweise aller am Gameport anschließbaren Geräte siehe Paddle). Der Gameport wurde bereits für den originalen IBM Personal Computer von 1981 als Steckkarte angeboten und gehört damit zusammen mit der seriellen RS-232 und der parallelen Centronics zu den „klassischen“ PC-Schnittstellen.

Inzwischen wurde der Gameport, ebenso wie die RS-232 und Centronics (bzw. IEEE 1284), durch die vielseitigere USB-Schnittstelle verdrängt, die jedoch komplexere Elektronik in den Eingabegeräten benötigt. An neuen PCs ist deshalb heute zumeist kein Gameport mehr vorhanden. Zugleich steht der freigewordene Platz auf der Blende nun für Surroundbuchsen zur Verfügung.

Während der Linux-Kernel bis heute (2020) einen Treiber für den Gameport enthält, bietet das Betriebssystem Microsoft Windows ab Version NT 6.0 (Windows Vista) keinerlei Unterstützung mehr für den Gameport und setzt für die entsprechenden Geräte vollständig auf USB. Allerdings ist es für die Hersteller von Gameport-Hardware zumindest unter den 32-Bit-Versionen von Windows Vista und neuer durchaus noch möglich, unsignierte eigene Treiber bereitzustellen, was teilweise auch getan wurde. Unter den 64-Bit-Versionen dieser Betriebssysteme ist dies dagegen im Normalbetrieb nicht möglich, da Microsoft hier die Treibersignierung erzwingt.[1] Der Gameport ist daher beinahe vollständig vom Markt verschwunden.

Am Computer ist der Gameport als zweireihige 15-polige D-Sub-Buchse ausgeführt. Seit dem PC System Design Guide von Intel und Microsoft ist der Anschluss als goldfarben vorgesehen. Es können über einen Y-Adapter auch zwei Joysticks bzw. Gamepads zugleich angeschlossen werden, allerdings gilt dies nur für zweiachsige und zweiknöpfige Standard-Joysticks. Mehrachsige Joysticks und Gamepads mit mehr Knöpfen benötigen einen ganzen Gameport für sich selbst.

Zusätzlich können, wenn der Gameport wie seit etwa 1990 üblich auf einer Soundkarte oder einer Hauptplatine mit Onboard-Soundchip integriert ist, mittels eines speziellen Kabels meistens auch MIDI-Ein- und Ausgabegeräte angeschlossen werden, die dann von der Software des PCs nach dem Standard MPU-401 angesprochen werden. Diese Möglichkeit des Gameports wurde von den ersten Sound-Blaster-Karten eingeführt und ist nicht Bestandteil der ursprünglichen Norm. Auch MPU-401 wird ab Windows Vista nicht mehr unterstützt. Im Linux-Kernel ist bis heute (2020) ein MPU-401-Treiber enthalten.

Pinbelegung[Bearbeiten | Quelltext bearbeiten]

Gameport-Stecker
Sub-DA15 Steckerbelegung: (Draufsicht) Pfostensteckerbelegung: (Draufsicht)
..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 Beschreibung
1 Versorgungsspannung +5 Volt
2 Joystick 1 Taste 1
3 Joystick 1 X-Achse
4 Masse
5 Masse
6 Joystick 1 Y-Achse
7 Joystick 1 Taste 2
8 Versorgungsspannung +5 Volt
9 Versorgungsspannung +5 Volt
10 Joystick 2 Taste 1
11 Joystick 2 X-Achse
12 Masse (MIDI Out)
13 Joystick 2 Y-Achse
14 Joystick 2 Taste 2
15 +5 Volt (MIDI In)

Zwischen den Pins der Achsen und +5 V (Pin 1) wird das 100--Potentiometer geschaltet, das mit dem eigentlichen beweglichen Joystick verbunden und meist in dessen Bodenteil eingebaut ist. Wenn die Tasten des Joysticks betätigt werden, werden die entsprechenden Leitungen mit Masse verbunden.

Es ist zu beachten, dass Gameports auf PCI-Karten oft nur +3,3 V Spannung statt +5 V auf den entsprechenden Pins ausgeben. Dadurch funktionieren einige Geräte mit aktiver Elektronik an solchen Karten nicht mehr.

Programmierung[Bearbeiten | Quelltext bearbeiten]

Während moderne Betriebssysteme eigene Treiber für den Gameport mitbringen, die Spielen und Anwendungsprogrammen skalierte und normierte Werte zurückgeben, war dies zu DOS-Zeiten nicht der Fall. Da DOS selbst keinen eigenen Treiber für den Gameport mitbringt, mussten Programme und Spiele den Gameport direkt programmieren und die Werte abfragen.

Hierfür muss zuerst ein beliebiger Wert an den I/O-Port 201hex geschrieben werden und dann in einer Schleife fortwährend vom gleichen Port gelesen werden, bis die entsprechenden Bits der jeweiligen Achsen auf 0 zurückgefallen sind. Die Zeit bis zum Fallen auf 0 ist dabei proportional zum gemessenen Widerstand, welcher jedoch – je nach Joystick-Modell – nicht proportional zur Achsauslenkung sein muss.

Im PC-BIOS existiert eine Funktion, die über Software-Interrupt 15hex aufgerufen werden kann, welche die Joystick-Werte vom Gameport wie oben beschrieben abfragt und für die analogen Achsen Werte zwischen 0 und 255 zurückgibt.[2]

Weblinks[Bearbeiten | Quelltext bearbeiten]

Commons: Game port – Sammlung von Bildern, Videos und Audiodateien

Einzelnachweise[Bearbeiten | Quelltext bearbeiten]

  1. Archivlink (Memento des Originals vom 14. September 2007 im Internet Archive)  Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.@1@2Vorlage:Webachiv/IABot/forums.creative.com
  2. http://www.designin.de/Artikel/PC-Schnittstellen/PC-MT05.PDF