El puerto de juegos es un puerto de dispositivo que se encontró en los sistemas informáticos compatibles con IBM PC y otros durante las décadas de 1980 y 1990. Era el conector tradicional para la entrada de joystick y, ocasionalmente, dispositivos MIDI , hasta que quedó obsoleto por el USB a fines de la década de 1990.
Originalmente ubicado en una tarjeta de expansión dedicada al adaptador de control de juegos , el puerto de juegos se integró más tarde con tarjetas de sonido de PC y, más tarde, con la placa base de la PC. Durante la transición a USB, muchos dispositivos de entrada usaban el puerto de juegos y se incluyó un adaptador USB para sistemas sin puerto de juegos.
En la época en que IBM estaba desarrollando su puerto de juegos, no existía un estándar industrial para los puertos de mando, aunque el puerto de joystick de Atari estaba cerca de serlo. Se introdujo en 1977 con el Atari Video Computer System y, más tarde, se utilizó en el VIC-20 (1980), el Commodore 64 (1982) y el PC1512 de Amstrad (1986).
A diferencia del diseño de IBM, el puerto Atari fue diseñado principalmente para entradas digitales (incluido un par de joysticks digitales de dos ejes y cuatro contactos, cada uno con un solo botón pulsador disparador). Sus únicas conexiones analógicas estaban pensadas para paletas [1] , aunque, como había dos entradas analógicas por puerto, cada puerto podría admitir teóricamente un joystick analógico de dos ejes, un panel táctil , un trackball o un ratón [1] (algunos de ellos se desarrollaron finalmente para sistemas Atari). [2] [3] [4]
La Apple II , [5] la BBC Micro , [6] la TRS-80 Color Computer , [7] y otras máquinas populares de 8 bits usaban joysticks y puertos diferentes e incompatibles. En la mayoría de los aspectos, el diseño de IBM era similar o más avanzado que los diseños existentes.
El puerto de juegos para IBM PC apareció por primera vez durante el lanzamiento inicial de la IBM PC original en 1981, en forma de una tarjeta de expansión opcional de US$55 conocida como Game Control Adapter. [8] [9] El diseño permitía cuatro ejes analógicos y cuatro botones en un puerto, lo que permitía conectar dos joysticks o cuatro paletas a través de un cable "divisor en Y" especial. [10]
Originalmente disponibles solo como complemento que ocupaba una ranura entera, [8] los puertos de juego siguieron siendo relativamente raros en los primeros días de la IBM PC, y la mayoría de los juegos usaban el teclado como entrada. IBM no lanzó un joystick propio para la PC, lo que no ayudó. El dispositivo más común disponible era el joystick Kraft , desarrollado originalmente para Apple II pero fácilmente adaptado a IBM con la adición de otro botón en la parte posterior de la carcasa. Cuando IBM finalmente lanzó un joystick, para IBM PCjr , era una versión del joystick Kraft. Sin embargo, se conectaba a la computadora mediante dos conectores de 7 pines incompatibles, que estaban conectados mecánicamente entre sí como parte de un conector multipin más grande en la parte posterior de la máquina. [11] Esto eliminó la necesidad del adaptador en Y. [12] Los adaptadores para joysticks "digitales" de estilo Atari también eran comunes durante esta era. [13]
El puerto de juegos se volvió algo más común a mediados de la década de 1980, a medida que la mejora de la densidad electrónica comenzó a producir tarjetas de expansión con una funcionalidad cada vez mayor. En 1983, era común ver tarjetas que combinaban memoria, puertos de juegos, puertos seriales y paralelos y un reloj de tiempo real en una sola tarjeta de expansión. [14] La era de las tarjetas de expansión combinadas llegó a su fin en gran medida a fines de la década de 1980, ya que muchas de las funciones separadas que normalmente se proporcionaban en las placas enchufables se convirtieron en características comunes de la propia placa base . Los puertos de juegos no siempre fueron parte de este conjunto de puertos compatibles.
Sin embargo, el puerto de juegos recibió un gran impulso en su uso en 1989, con la introducción de la primera Sound Blaster . Como las tarjetas de sonido se usaban principalmente con juegos de computadora, Creative Labs aprovechó la oportunidad para incluir un puerto de juegos en la tarjeta, produciendo una solución de juegos todo en uno. Al mismo tiempo, reutilizaron dos pines redundantes en el puerto, 12 y 15, para producir un bus serial con suficiente rendimiento para manejar un adaptador de puerto MIDI externo . Los sistemas MIDI anteriores como el MPU-401 usaban sus propias tarjetas de expansión separadas y un adaptador externo complejo, mientras que la Sound Blaster solo requería un adaptador económico para producir el mismo resultado. [15] A fines de año, la Sound Blaster era la tarjeta de expansión más vendida en la PC y el puerto de juegos estaba recibiendo un amplio soporte de software.
Con la excepción de los ordenadores portátiles (para los que las empresas lanzaron adaptadores de joystick para puertos paralelos o seriales, que necesitaban controladores de software personalizados [16]) , a principios de los años 90, el puerto de juegos era universalmente compatible con las tarjetas de sonido [12] y se convirtió cada vez más en una característica integrada a medida que las placas base añadían su propio soporte de sonido. Esto siguió siendo así durante la segunda mitad de los años 90, momento en el que el soporte de sonido integrado había desplazado en gran medida a la tarjeta de sonido de terceros. A principios de los años 2000, dicho soporte estaba tan extendido que las tarjetas de sonido más nuevas comenzaron a prescindir del puerto de juegos, ya que era seguro que la máquina en la que se utilizarían ya tenía dicho soporte, incluido MIDI. Todas las tarjetas Sound Blaster desde el primer modelo hasta agosto de 2001 incluían un puerto de juegos. En 2001, la Sound Blaster Audigy trasladó el puerto de juegos a una segunda ranura de expansión, que se conectaba a un cabezal de la tarjeta. [17] [ referencia circular ]
La introducción del primer estándar USB en 1996 estaba directamente dirigida a las funciones que ofrecía el puerto de juegos, pero inicialmente tuvo poco impacto en el mercado. El lanzamiento posterior del iMac , que no presentaba puertos heredados a favor del USB, inició una rápida expansión del USB en el mercado. [18] Esto condujo tanto a nuevos dispositivos de juego que usaban USB, como a la profusión de adaptadores. Por ejemplo, el joystick Microsoft Precision Pro de 1997 se reintrodujo en una versión que usaba un conector de puerto de juegos, pero también incluía un adaptador USB en la caja. [19] La rápida adopción del USB significó que esto era superfluo cuando se lanzó el Precision Pro 2 al año siguiente en 1998. Para el año 2000, los puertos de juegos eran puramente para compatibilidad con dispositivos ahora obsoletos.
Microsoft Windows dejó de brindar soporte para el puerto de juegos con Windows Vista , [20] aunque los convertidores USB pueden servir como solución alternativa.
El conector DA-15 del puerto de juegos incluye entradas para un total de cuatro canales analógicos y cuatro botones. Estos casi siempre se implementaron como dos joysticks con dos botones cada uno, pero también es posible admitir cuatro controladores de paleta cada uno con un botón, o un solo gamepad con dos joysticks analógicos y cuatro botones utilizando las mismas entradas. El puerto incluye pines redundantes, incluido un total de cuatro suministros de +5 V y conexiones a tierra independientes para la mayoría de los botones. En la mayoría de los puertos de juegos similares, como los de Atari, se utiliza un solo +5 V y una conexión a tierra para todos los canales. [21]
El puerto de juegos se montó originalmente en una tarjeta ISA dedicada . Desde principios de la década de 1990, cuando el puerto de juegos pasó de las tarjetas de expansión dedicadas a las E/S de PC o tarjetas de sonido , estos conectores generalmente se han duplicado como conectores para instrumentos MIDI ; dos de los pines redundantes +5 V y GND del estándar original se volvieron a dedicar a la entrada y salida MIDI para hacer esto posible. Para usar un puerto de juegos con instrumentos MIDI, se requiere un cable de conexión con el hardware de optoaislamiento necesario y conectores compatibles; por lo general, estos consistían en un DA-15 macho y uno hembra y dos conectores DIN macho de 5 pines . Para muchas tarjetas de sonido, las capacidades midi del puerto de juegos se basaban en la interfaz MIDI Roland MPU-401 (solo en modo UART), sin embargo, algunas tarjetas de sonido más antiguas (en particular, la Sound Blaster y Sound Blaster Pro originales) usaban una interfaz propietaria que no era compatible con la MPU-401. [22]
Los canales analógicos se leen enviando voltaje a la línea, a través de un potenciómetro en el controlador, en este caso 100.000 ohmios, y luego a un condensador. El valor se lee cronometrando el tiempo que tarda el voltaje en el condensador en cruzar un cierto umbral. La velocidad varía según la resistencia y, por lo tanto, la posición física del potenciómetro. En el puerto Atari, que tenía canales analógicos similares, hay un temporizador disponible en forma de circuito de reloj de video. En la PC no hay un reloj similar porque la funcionalidad de video normalmente se proporciona en una tarjeta de expansión. En cambio, una rutina de software necesita primero activar la descarga del condensador emitiendo una escritura de E/S al puerto de juegos y luego medir el tiempo que tarda en cargarse nuevamente sondeando constantemente el puerto de juegos. Utilizando la fórmula original de IBM, Tiempo = 24,2 μs + 0,011 (r) μs [23] y suponiendo que se utilizan potenciómetros de 100 Kohm, este proceso puede tardar hasta 1,1 ms por lectura, o más de 60 ms si decidimos leer la posición del joystick 60 veces por segundo. Esta sobrecarga significativa fue la razón por la que el uso del Gameport original en la PC podía consumir hasta un 10 % del tiempo de CPU independientemente de la velocidad de la CPU. [24]
Inicialmente no había un software estandarizado para ejecutar los joysticks; las aplicaciones consultaban los puertos conocidos asociados con los joysticks como parte de su bucle de juego. Sin embargo, esto dejó la implementación de muchas tareas de mantenimiento a cada aplicación que los usaba, como buscar y enumerar los dispositivos activos y calibrarlos. Esto cambió en Windows 95 , que introdujo entradas estandarizadas en el Registro de Windows para almacenar estos valores y facilitar a las aplicaciones la búsqueda de estos dispositivos. DirectX amplió aún más las opciones a través de DirectInput con el "minicontrolador de joystick" con una serie de nuevas capacidades. Entre ellas se encontraban la compatibilidad con hasta seis ejes analógicos, un sombrero de punto de vista y hasta 64 botones. También admitía hasta 16 dispositivos de este tipo, que se podían conectar mediante cualquier interfaz, no solo el puerto de juego. [25]
P: ¿Se admiten los puertos MIDI/de juegos en Vista? R: Hemos eliminado la compatibilidad con este tipo de dispositivos y los hemos sustituido por dispositivos conectados por USB.
CPU debe sondear constantemente el puerto de juego para detectar cuándo se presiona un botón o se mueve un joystick. El sondeo puede requerir hasta un 10 % de la CPU.