PPJoy: Configuración y uso

#150

0. Introducción

Bueno, una vez que tenemos el IPP construído, nos queda lo más sencillo, que es instalar su driver, llamado PPJoy (Parallel Port Joystick), con la que se le dice la función de cada botón que hemos diseñado en la matriz

1. Instalación

Tras descomprimir lo descargado en una carpeta, ejecutamos Setup.exe y le vamos dando a 'Next' en todos los pasos.

Ejecutamos setup.exe... Ventana de aviso Le damos siempre a 'Next'

Al terminar, nos aparecerán nuevos accesos directos en el menú 'Inicio' de Windows:

Nuevos programas disponibles en el menú inicio

2. Configuración de botones

2.1. Creación de un nuevo joystick

Lo primero que vamos a hacer es hacer clic en el icono 'Configure Joysticks'. Se abrirá una pantalla, y haremos clic en 'Add' para añadir un joystick. Para un interfaz por puerto paralelo, ponemos las opciones como se indica en la foto y entonces pulsamos en el botón 'Add'.

Añadimos un nuevo joystick... ...y elegimos de qué tipo

*En 'Interface type' tendríamos que elegir otra cosa si lo que quisiéramos fuese usar un pad de Megadrive, por ejemplo, en nuestro PC.

Si todo ha ido bien, Windows nos informará de que ha detectado nuevo hardware conectado:

Aviso de nuevo hardware conectado

Y en el listado de dispositivos controlados por PPJoy veremos nuestro recién creado joystick:

Nuestro Joystick aparece en el listado del PPJoy

Es posible que llegados a este punto nos aparezca el asistente de Windows para agregar nuevo hardware:

Cerramos el asistente de nuevo hardware de Windows

¡LE DAMOS A CANCELAR Y SANTAS PASCUAS!

Mapeando los botones del joystick creado

Una vez creado el joystick, lo seleccionamos y pinchamos sobre el botón 'Mapping' para empezar el mapeado de direcciones y botones.

Ahora viene lo importante del asunto, la definición del número de ejes y botones que queremos en nuetro joystick y el escaneo de las pulsaciones. En nuestro caso, necesitamos dos ejes (eje_x y eje_y) y trece botones. El número de 'POV_HATS', para un panel de control siempre lo dejaremos en cero ya que los 'pov_hats' son los sub-joysticks. Por ejemplo los podemos encontrar en los joysticks para simuladores de vuelo encargados de controlar el sistema de armamento y en el mando 'dual-shock' de Playstation 2.

Lo primero que nos pedirá el programa es que escaneemos los ejes que hayamos asignado. Para ello, presionamos el botón 'Scan' que tenemos al lado de cada dirección (4) con lo que se nos abrirá una ventana que pondrá: 'Reading Joystick Input. Please press/move desired control'. Al presionar la dirección deseada, dicha ventana deberá cerrarse automáticamente y al lado de la dirección mapeada deberá aparecer el código del botón o dirección presionada, por ejemplo 'Digital 2'.

Una vez terminemos con los ejes, le daremos a 'Next' y continuaremos mapeando tantos botones como hayamos definido.

Al acabar el proceso, podemos cerrar la utilidad de configuración del joystick que hemos creado y, a todos los efectos, windows reconocerá el joystick perfectamente. Para comprobar que todo ha ido bien, nos vamos al panel de control de windows y comprobamos dentro de dispositivos de juegos que todo funciona.

Por fin, tenemos el joystick totalmente funcional. A partir de aquí, ya solo nos quedará configurar los emuladores como deseemos. Incluso podemos utilizar joytokey en combinación con nuestro joystick por puerto paralelo. Esto nos brinda la posibilidad de controlar cualquier emulador y aplicación con nuestro joystick arcade.

3. Particularidades en la configuración del driver

Tanto el interfaz por puerto paralelo como el driver ppjoy han sido ampliamente testeados y funcionan perfectamente. Sin embargo, el driver contiene una serie de fallos menores que hacen que su configuración sea un poco complicada si no somos conscientes de ellos. El driver no se continúa desarrollando y tampoco se va a liberar su código fuente por lo que en principio, estos errores no serán corregidos.

FALLO 1: Mapeo invertido de eje_y

En geometría cartesiana en dos dimensiones (X,Y), lo normal es que el eje X sea la dirección horizontal y el eje Y la dirección vertical. Además, el eje Y negativo es hacia abajo, positivo hacia arriba, el eje X negativo es hacia la izquierda y positivo hacia la derecha.

Es decir, que cuando estamos mapeando ejes, lo lógico sería que cuando vamos a escanear 'Y Min' moviésemos la palanca hacia abajo. Pues bien, esto no es así, el eje y está invertido así que cuando escaneemos 'Y Min' debemos mover la palanca hacia arriba y cuando escaneemos 'Y Max', debemos mover la palanca hacia abajo.

FALLO 2: Separación total de joysticks

Imaginemos por un momento que queremos crear un joystick con 50 botones (para usar en un simulador de vuelo, por ejemplo). Pues bien, esto no es posible con el driver ppjoy ya que tiene una limitación máxima de 30 botones por joystick. Es decir, las primeras 30 entradas sólamente las podrá detectar el joystick 1 y las siguientes 30 el joystick 2.

La solución es bien sencilla, creamos dos joysticks y luego configuramos nuestros juegos y/o emuladores del modo deseado. Simplemente hay que tener en cuenta que en el cableado que se indica en este tutorial es el correcto y está en el orden adecuado. Es decir, que si utilizamos por error el cable 14 para el joystick físico 1, por mucho que intentemos escanear esta entrada en el driver del joystick 1, nunca detectaremos nada. Será necesario que creemos un segundo joystick en el driver para poder interpretar esta entrada 'mal cableada'.

Para mayor complicación, las entradas de datos de ambos joysticks se denominan igual en el driver. Es decir, la primera entrada del joystick 1 se llamará 'Digital 1' y la primera entrada del joystick 2 también se llama 'Digital 1' pese a que físicamente no son lo mismo ni el driver los interpreta como uno, sino como dos.

FALLO 3: Cableado 'caprichoso'

Esto está muy relacionado con el FALLO 2, si nos fijamos en las tablas ya expuestas, vemos que el orden de los cables de envío de datos y el de los de lectura no es consecutivo y es un poco caprichoso:

  • Cables de envío de datos (E): 10-11-12-13-15 (Se salta el cable 14)
  • Cables de recepción de datos (R): 2-3-4-5-6-7-8-9-1-14-16-17 (Orden poco evidente...)

Así que hay que prestar mucha atención al cableado si no queremos acabar con un joystick con 4 botones y otro con 16.

Esto no supone ningún problema ya que los emuladores siempre nos brindan muchísimas opciones de configuración, pero si nos lo podemos ahorrar cableando bién todo será más 'elegante'.

4. Errores comunes y consejo final

Este interfaz ya ha sido construido por bastantes visitantes de la web y está sobradamente comprobado su buen funcionamiento. Así mismo, también hemos comprobado que se suele complicar la construcción si no se va con cuidado. Antes de empezar a construir el interfaz, conviene comprender su funcionamiento, que se trata de una matriz de cables donde unos envían corriente y otros la reciben. Sabiendo qué cable envía la señal y cuál la recibe, se identifica perfectamente el botón pulsado.

Los errores más comunes son, confundir los cables de envío (E) y recepción (R) de señal, colocar los diodos al revés e intentar leer entradas del segundo joystick con el driver del primero.

Conviene, para familiarizarse con la construcción del interfaz y la configuración del driver, avanzar poco a poco y no ponernos a tirar cables como locos. La primera prueba, para ver si somos capaces de identificar correctamente los cables y de instalar el driver debería ser configurar un solo botón, para lo que no nos hace falta ni siquiera diodos solo con unir un cable (E) y un cable (R), windows debería ser capaz de detectar la unión de dichos cables.

Respecto a PPjoy, sabemos que en un montaje de 30 entradas para un jugador, por ejemplo, cuatro han de ser para las direcciones y el resto para botones. Pues bien, una vez asignadas las direcciones seguimos disponiendo de 30 entradas para botones. es decir, si pulsamos en las propiedades del dispositivo de juego veremos como con cada pulsación aparece el detello del botón correspondiente, pero, curiosamente, cuando pulsamos también la palanca se moverá también la cruz en la dirección pulsada y, además, un botón. Esto origina el problema en Mame. Tendrémos que inhabilitar esos botones que parece funcionar a la vez que realizamos movimientos con la palanca. ¿Cómo se hace esto? Pues muy fácil, nos vamos al menú del PPjoy y navegamos por los menús del dispositivo en cuestión buscando los botones que han correspondido a los movimientos de los ejes y los inhabilitamos. Por ejemplo: 8, 10, 12 y 13; buscamos estos botones, pinchamos en la pestañita y navehgamos hasta el final de la lista y damos a "no funcion" (o algo así, es que no tengo el programa delante), y ya está.

Bubu, Lord Hiryu, Macarro y Playjodete

Artículos relacionados: 

Publicidad