Игровой порт (Game port, GamePort) — стандартный аналоговый интерфейс для подключения джойстиков, геймпадов и педалей-«паддлов» к персональным компьютерам класса IBM PC. Реализован на 15-контактном разъёме DA-15 (двухрядный D-Sub, часто ошибочно называемый DB-15). Впервые появился в 1981 году на плате Game Control Adapter для первого IBM PC, а позже вошёл в состав практически всех звуковых карт, где часть контактов дополнительно отвели под интерфейс MIDI.
Схема цоколёвки
Со стороны кабеля устанавливается вилка (штыревая часть), со стороны корпуса компьютера — розетка (гнездовая часть). Ниже приведены изображения обеих частей разъёма:
| Вилка (устанавливается на кабеле) |
Розетка (устанавливается на корпусе компьютера) |
 |
 |
Названия и функциональные назначения выводов
Разъём обслуживает два джойстика (условно «А» и «В»), у каждого — две аналоговые оси и две кнопки. На звуковых картах два «избыточных» контакта питания/земли переназначены под MIDI-вход и MIDI-выход.
| № вывода |
Описание |
| 1 | Питание, +5В |
| 2 | Клавиша 1, джойстик А |
| 3 | Значение X, джойстик А |
| 4 | Земля |
| 5 | Земля |
| 6 | Ось Y, джойстик А |
| 7 | Клавиша 2, джойстик А |
| 8 | Питание, +5В |
| 9 | Питание, +5В |
| 10 | Клавиша 1, джойстик В |
| 11 | Ось X, джойстик В |
| 12 | MIDI Out |
| 13 | Ось Y, джойстик В |
| 14 | Клавиша 2, джойстик В |
| 15 | MIDI In |
Как это работает
В отличие от цифровых портов, игровой порт читает положение осей аналогово. Каждая ось джойстика — это переменный резистор (потенциометр номиналом до 100 кОм), включённый между линией +5В и соответствующим контактом оси. Плата подаёт короткий импульс на RC-цепочку (потенциометр + конденсатор на карте) и измеряет время заряда: чем больше сопротивление — тем длиннее задержка. По этой задержке и вычисляется координата.
- Оси (X, Y): 0 Ом (крайнее «влево»/«вверх») соответствует ~5В, полное сопротивление (крайнее «вправо»/«вниз») — ближе к 0В, нейтраль (~50 кОм) — примерно середина диапазона.
- Кнопки: обычные активные-низким уровнем TTL-входы (нажатие замыкает линию на землю).
- Опрос: состояние осей и кнопок считывается программно, обычно более 30 раз в секунду.
Из-за аналоговой природы (разброс номиналов, шум, зависимость от тактовой частоты CPU) джойстик требует калибровки: пользователь прогоняет ручку по всем крайним положениям, чтобы система запомнила диапазон каждой оси.
Простое и полное подключение
Простые контроллеры используют только контакты 1-8 — это первый джойстик (одна пара осей, две кнопки). Полный разъём поддерживает две оси и две кнопки на каждый из двух джойстиков (итого 4 оси + 4 кнопки), либо до четырёх «паддлов» через Y-разветвитель.
MIDI на звуковых картах
Когда игровой порт около 1990 года переехал на звуковые карты, «лишние» служебные линии переназначили под музыкальный интерфейс: контакт 12 — MIDI Out, контакт 15 — MIDI In. Так один DA-15 совмещал подключение джойстика и MIDI-клавиатуры/модуля (через специальный переходник-«косичку»).
Применение и замена
Игровой порт был штатным способом подключения аналоговых джойстиков и геймпадов в эпоху DOS и ранней Windows. С распространением USB, передающего сигнал в цифровом виде и не требующего калибровки, интерфейс вышел из употребления — в современных ПК его уже не встретить, а на старых машинах он остаётся частью ретро-совместимости.