ゲームポート
スティック等のアナログ入力は電源 (Vcc、5V) と各アナログ端子 (3、6、11、13ピン) との間に100kΩの可変抵抗を接続することが推奨されている。また、デジタル入力は各端子 (2、7、10、14ピン) とGNDの間にトリガボタン等のスイッチを接続する。
ゲームポートは初代IBM PC (model 5150) が登場した時点で純正のオプションカードとして提供されていた。IBM自身が純正のジョイスティックを提供しなかったこともあり普及は進まなかったが、デファクトスタンダードとなったサウンドカードであるSound Blasterに標準採用されたことにより標準的なジョイスティック端子として幅広く利用されるようになった。以前からパラレルポート、シリアルポート、PS/2コネクタなどをゲームコントローラ用のポートとして使用する試みもあったが、最終的には上記のようにゲームポートに取って代わられることになった。
後にSound Blaster互換の音源がマザーボードに搭載されるようになり、それとともにゲームポートも搭載されるようになった。このようなマザーボードにおいてはMIDIポートやゲームポートの設定 (I/Oアドレス等) をBIOS上で設定が可能になっている。
その後1990年代後半にはプラグアンドプレイ性に優れたUSBが登場し、標準的なゲームコントローラコネクタとして定着していった。しかし、機器側にインテリジェントなコントローラを必要とせず機器を安価に製造可能であるという利点もあり、ゲームポート接続のアナログジョイスティックやゲームパッドは選択肢の一つだった。
USBが普及した2000年代以降ではゲームポートをマザーボードに内蔵したPCはほとんど見られなくなった。また、サウンドカードからもゲームポートが省略されるようになった。
また、Radio Shackのような小売業者はUSB上で古いゲームコントローラを使うためのアダプタを販売していた。
CPUはゲームポートのデジタル、アナログ各入力端子の状態をI/Oアドレス (典型的にはx201) を介して読み取ることが可能である。より具体的には当該アドレスのBit0~3が各アナログ端子のパルスの状態、Bit4~7が各デジタル入力端子の状態を示している。
アナログ入力端子の抵抗値の値は典型的には下記の手順によって取得される。
ゲームポートにアサインされたI/Oアドレスに書き込みを行う。これによって可変抵抗の値に応じたパルスの出力が開始される (Bit0~3が0となる)
周期的にI/Oアドレスを読み取り、Bit0~3の各々が0である状態を何回検出されたかをカウントする
Bit0~3のすべてが1となるか手順1から十分な時間が経過するまで、手順2を繰り返す
いわゆるアタリ仕様や任天堂のジョイスティックのようなデジタル入力のみのインタフェースはプログラマが扱うのが容易であるのに対して、上記のようにゲームポートは入力を読むためにタイミングよくソフトウェア割り込み等でトリガをかける必要がある (例えば、256段階の分解能を得るためには約4.4マイクロ秒間隔でI/Oアドレスに数百回アクセスする必要がある)。このた通常のデジタル (TTL) ジョイスティックポートを比較すると、ゲームポートは読み出しに著しくCPU時間を消費するものでありパフォーマンス問題を引き起こしうる。