Puerto de juegos

El puerto de juegos (game port) es la conexión tradicional para los dispositivos de control de videojuegos en las arquitecturas x86 de los PC's. El puerto de juegos se integra, de manera frecuente, en una Entrada/Salida del ordenador o de la tarjeta de sonido (sea ISA o PCI), o como un puerto integrado más de algunas placas base.

Puerto de juegos
Da-15 port.PNG
Un conector DA-15 en una tarjeta de sonido
Tipo Puerto de entrada de joystick
Historia de producción
Diseñador IBM
Sustituido por USB
Especificaciones
Conectable en caliente
Externo
Pines 15
Conector DA-15
Patillaje
DA-15 DSubminiatures female.svg

Pin 1 +5V +5V DC
Pin 2 B1 Botón 1
Pin 3 X1 Eje X para joystick 1 (0-100 kΩ)
Pin 4 GND Tierra para B1
Pin 5 GND Tierra para B2
Pin 6 Y1 Eje Y para joystick 1 (0-100 kΩ)
Pin 7 B2 Botón 2
Pin 8 +5V +5V DC
Pin 9 +5V +5V DC
Pin 10 B4 Botón 4
Pin 11 X2 Eje X para joystick 2 (0-100 kΩ)
Pin 12 GND Tierra para Botones 3 y 4 (o salida MIDI)
Pin 13 Y2 Eje Y para joystick 2 (0-100 kΩ)
Pin 14 B3 Botón 3
Pin 15 +5V +5V DC (o MIDI en ocasiones desconectado)
Tarjete ISA puerto paralelo y puerto de juegos
Una tarjeta de sonido PCI con un conector DA-15.
Conectores de placa madre PC 99
Placa madre Elitegroup K7S5A con un conector DA-15 y bajo el los conectores de sonido.

CaracterísticasEditar

Interfaz analógicaEditar

Durante los primeros pasos de la informática popularizada y las videoconsolas, a diferencia de otros conectores (y controladores) para joysticks, el puerto de juegos era íntegramente analógico con algún tipo de conversor analógico-digital para interpretar los movimientos del joystick. Pronto, los manuales de IBM PC describían la capacidad de este puerto para conectarle dos palancas (ejes) analógicas. Esta aproximación permitía una mejor simulación en los videojuegos, especialmente en los simuladores de vuelo.

En el siguiente esquema se detalla el significado de cada uno de los pines del puerto de juegos. A la derecha de la misma aparecen en la parte superior el conector hembra (ordenador) y abajo el conector macho (periférico):

Adquisición y programaciónEditar

Mientras que otros estándares para joysticks (como los joysticks de ATARI o NES) son muy sencillos para los programadores, el puerto de juegos requiere una programación cuidadosa y una rutina de interrupción software con los tiempos precisos y exactos para leer una entrada. Esto, por supuesto, es la clave que explica que leer por el puerto de juegos es una operación más costosa en cuanto a ciclos de CPU, comparándola con la lectura en sistemas digitales (TTL).

CircuitosEditar

La implementación típica de un puerto de juegos emplea un condensador y un simple comparador de tensión, que constituyen un tipo de conversor analógico digital de rampa. Este debe ser encuestado periódicamente y reiniciado en momentos muy concretos para leer una entrada, algo que necesita realizarse varias veces (generalmente en torno a 30) por segundo para conseguir una entrada sensible. La frecuencia de adquisición actual depende de la resistividad interna del joystick, el ruido, la velocidad de la CPU y el total de las constantes de tiempo de los circuitos RC de los joysticks.

Otras características relevantesEditar

Su naturaleza analógica ha sido la causa de muchos de los problemas de los joysticks, como, por ejemplo, la necesidad de recalibración de cualquier tipo de joystick (obligatoria desde que los controladores de juegos no generan las mismas cantidades de tensión cada vez). Además, todas las clases de controladores de juegos sufren las consecuencias del ruido eléctrico.

El procedimiento de calibración es todavía necesario. En sistemas operativos modernos, como Windows XP, este proceso consiste en mover el joystick en todos sus ejes con el fin de medir los valores máximos de cada eje (si el joystick emplea señales analógicas se usa un potenciómetro, y si por el contrario, genera señales digitales se mide usando interruptores eléctricos). Los joystick USB no requieren de calibración previa, en general.

En los tiempos de DOS, cada juego que quisiese acceder al puerto de juegos tenía que realizar su propia calibración; frecuentemente, se llevaba a cabo cuando el juego se iniciaba. Algunas rutinas de calibración (pobremente programadas) fallaban en esta tarea haciendo que algunos joysticks no se pudiesen usar con algunos juegos.

Extensiones de las capacidades del puerto de juegosEditar

Algunos joysticks para el puerto de juegos tienen más de 4 botones (6 u 8, por ejemplo). Pero requerirán un driver especial para trabajar correctamente, ya que el puerto de juegos no ofrece soporte hardware para más de 4 botones diferentes.

Esto puede ser superado usando cualquiera de los pines que normalmente no se emplean o cambiando los circuitos de los joysticks (y el software correspondiente) para leer un código de estado de 4 bits de los cuatro botones de entrada, consiguiendo hasta 16 combinaciones de botones diferentes (no obstante podemos tener algunas limitaciones como que algunos botones no podrían mantenerse apretados), o una combinación de ambas técnicas.

Los joysticks más sofisticados, como el Sidewinder de Microsoft, cuentan con una corriente de datos multiplexados a través de las cuatro entradas estándares de botones y, a veces, también gracias a los pines no usados. De esta forma, consiguen un soporte total para un mayor número de botones (por ejemplo 16 o 20) y otras características especiales como vibración o múltiples joysticks en un solo puerto (mecanismo daisychaining).

La desventaja obvia en este aspecto es la necesidad de drivers específicos para interpretar la entrada del joystick, con lo que se aumenta el consumo de tiempo de procesamiento y la dependencia del sistema operativo. Dicho joystick no podría ser usado sin este driver especial.

Algunos entusiastas del mundo del hardware y DIY (Do It Yourself - Házlo Tú Mismo) han encontrado mecanismos para conectar una amplia variedad de dispositivos de entrada al puerto de juegos e incluso han ideado otras aplicaciones para este puerto como la medida de voltaje, la adquisición de datos, etc.

HistoriaEditar

Diseñado por IBM, el puerto del juego apareció por primera vez durante el lanzamiento inicial del IBM PC in 1981, en forma de una tarjeta de expansión opcional conocida como Game Control Adapter y a un precio de 55 dólares.[1][2]​ Permitía cuatro ejes analógicos y cuatro botones en un mismo puerto. Además, soportaba dos joysticks o cuatro paddles (palancas) conectadas mediante un cable "Y-splitter" (aunque no funcionaba esta estructura en algunos puertos de juegos/MIDI de las tarjetas de sonido). [3]

Algunas implementaciones pobre del puerto de juegos (generalmente las incluidas en viejas placas base y tarjetas de Entrada/Salida) no soportaban completamente los 4 ejes o los 4 botones, haciendo posible el uso de simples joysticks con 2 ejes y 2 botones.

El puerto de juegos de 15 pines, el cual también puede hacer de puerto MIDI, comenzó a abandonar las tarjetas opcionales siendo integrado en las placas madre a la derecha del bloque del puerto paralelo y dos RS-232 en los equipos que seguían la norma PC 99, permitiendo su configuración como puerto de juegos o como puerto MIDI mediante su BIOS. Los joystics comienzan incluir adaptadores a USB. Pero a medida que se consolida el mercado del USB, es eliminado de los nuevos diseños de placas. Para el año 2000, los puertos de juegos eran puramente para compatibilidad con dispositivos ahora obsoletos. Microsoft Windows retiró el soporte para el puerto de juegos con Windows Vista, [4]​ aunque los convertidores a USB pueden servir como solución para conectar viejos joysticks al puerto USB.

Conectores MIDIEditar

El puerto de juegos emplea conectores DA-15 (también llamados, de forma incorrecta, DB-15), y generalmente se emplea también para instrumentos MIDI. Para usar un puerto de juegos con un instrumento musical MIDI se necesita un cable (poco común) con un conector macho y uno hembra DA-15 y dos conectores macho DIN 5-pines. Los drivers y el hardware para las capacidades MIDI del puerto de juegos se centran en torno al estándar de interfaz MIDI Roland MPU-401 (solo en modo UART), y soportan la mayor parte de las aplicaciones MPU-401 para Windows y DOS. El diseño oficial para un adaptador MIDI para el puerto de juegos puede ser consultado en el siguiente enlace.

Otros tipos de conectores para controladores de juegosEditar

Anteriormente, el puerto de juegos intentó ser reemplazado por otros interfaces como el puerto paralelo, el puerto serie o PS/2 con muy poco éxito. Hasta la introducción del estándar Bus Serie Universal (USB), el cual sustituyó al puerto de juegos.

ReferenciasEditar

  1. Lemmons, Phil (Octubre de 2013). «The IBM Personal Computer / First Impressions». Byte Magazine. p. 36. Consultado el 30 de marzo de 2021. 
  2. Calvert, J. B. (18 de agosto de 2002). «The Game Control Adapter». A Review of Electronics (en inglés). Consultado el 30 de marzo de 2021. 
  3. «Anuncio de ABM». PC Magazine. Julio de 1983. p. 273. Consultado el 30 de marzo de 2021. 
  4. Rivera, Andre (11 de septiembre de 2006). «Hardware Compatibility and Drivers 5600». Archivado desde el original el 31 de diciembre de 2008. «Q: Are MIDI/game ports supported under Vista? A: We've removed support for these types of devices, in favor of USB connected devices.» 

Véase tambiénEditar