07 marzo 2013

Padhacking: Hackeo de control pad

En el presente documento hablaremos sobre el hack de un control pad obteniendo las mayores garantías para una buena resistencia de sus conexiones y funcionalidad. Es una forma práctica de obtener una interfaz para hacer funcionar tu control arcade en cualquier sistema que requieras, PC o consolas, según sea el control pad en el que vayas a trabajar.

Ventajas del hackeo de un gamepad

- Es una forma de construir tus controles de juegos fácil de comprender.

- Es tan caro o barato como los pads que elijamos comprar para los controles de los jugadores.

- Los gamepad o joystick son altamente compatibles con nuestros emuladores y juegos.

- En el caso de la PC, se pueden usar programas para asignar a sus botones y crucetas funciones de teclado (Xpadder, joytokey y otros) para sacar todo el jugo a las aplicaciones que pudiéramos usar en un arcade stick, alfombra de baile, máquina arcade o cualquier control que construyamos y conseguir mayor flexibilidad con nuestros emuladores.


Desventajas

- No funcionan en MS-DOS.

- En algunos PCB´s de gamepads es difícil soldar en las “pistas” (tracks), porque ésta son muy estrechas.

-Las conexiones de nuestros cables soldados al PCB pueden resultar muy poco seguras (esto en especial es lo que vamos a intentar mejorar con algunos trucos).

- Es una interface rápida (el input es rápidamente reconocido por el ordenador), pero menos que el del LPT.

- Los PCB´s, debido a su características (“solder” y “part side”), son difíciles de colocar de forma segura bajo nuestros controles.

- Corremos el riesgo de estropear los PCB´s con el calor o estropear los puntos de hackeo si no somos habilidosos o no tenemos suficiente maña.

- En algunos pad o joysticks es difícil acceder al PCB.

- ¿Qué gamepad o joystick comprar para hacer el “hacking”?

Si es para PC, yo recomiendo comprar un gamepad USB con, al menos, 6 botones de acción y “Start”. Los modelos “Genius Max-Fire” con 8 botones de acción son ideales para hacer esto y es el modelo que vamos usar para explicar. Puedes usar otros controles según el sistema que quieras, para que veas una buena lista sobre los controles buenos para hacer padhacking, haz click en:

http://www.slagcoin.com/joystick/pcb_wiring.html

En esta otra imagen detalle del PCB “Max Genius Max-Fire” sobre el que vamos a trabajar.




Un poco de teoría sobre el hacking de pad - “Fase” o "Señal" y “Masa” o "Tierra"

Realmente, los mecanismos por los cuales se desencadena el input en nuestro panel de control arcade no difiere en nada del pad. En el panel arcade todas las patillas de los switches correspondientes a las “masas” (palancas y botones) se encuentran relacionadas entre sí a través de un único cable (montaje en serie); En el PCB de gamepad o joystick ocurre exactamente lo mismo.

Si nos fijamos bien en el PCB de un gamepad seremos capaces de descubrir que, efectivamente, existe una única pista de cobre que conecta todas las zonas de contacto entre sí; esa pista es la que llamamos “masa”.

En la siguiente imagen se ha señalado en “azul” la pista de “masa” que relaciona todas las zonas de contactos del PCB entre sí.




A diferencia de la “masa”, la “fase” de los botones o contactos para el gamepad tienen recorridos independientes.

En color “rojo” los recorridos que hacen las pistas de “fase” en el PCB.




 Quizá, la clave para realizar un buen hack de pad esté en elegir los lugares de soldadura más adecuados en el PCB, y que este sea a su vez fácil (pistas anchas y bien definidas).

Los mejores puntos de soldadura no están en los lugares más obvios, las zonas de contacto de las gomas de la cruceta de dirección y botones, sino sobre las mismas pistas que están protegidas y bien aisladas.

Nota: Aunque se puede soldar sobre las zonas pseudomagnéticas de los contactos, se recomienda no hacerlo porque la adherencia de la soldadura no es la mejor. Otra razón es que las superficies en ocasiones no son suficientes para hacer la soldadura. Aunque a veces, según el PCB que estés utilizando, quizá sea tu única opción el soldar en esas zonas.

En la imagen detalle de los lugares más correctos para hacer las soldaduras para el cable de tierra (uno sólo) y los cables de “fase”, que serán tantos como botones queramos o tengamos.



Para eliminar el aislante sobre las zonas seleccionadas, rayaremos ligeramente la superficie con una pequeña cuchilla o la punta de un destornillador pequeño de pala hasta descubrir el cobre.







Para mejorar la firmeza de las soldaduras, dos cosas fundamentales:

- Perforaremos con una broca muy fina todas las zonas de "hack" donde hayamos rayado previamente para tirar cables.




- Limpiaremos bien las zonas rayadas con alcohol para eliminar residuos grasos. Veremos como mejora espectacularmente la adherencia de las soldaduras.




Para cablear recomiendo cable de 0,25 mm de sección. También pueden ser los pequeños cables dentro de un cable IDE, un cable viejo de impresora, cables de un par telefónico, etc. Sólo trata de que sean cables "multihebra" y no de un solo alambre, los multihebra son mucho más sencillos de trabajar para este proyecto.

Debes tener preparados el cable de "masa" con todos los fast-on colocados para conectarlos a todos los switches de la palanca y botones que le correspondan; y los cables de "fase", que van independientes unos de otros a cada switch también.

Pelas los cables por sus extremos a unos 5 ó 6 mm para introducirlos por los agujeros preparados para ello y soldamos a continuación.

En la imagen se ha hecho un pequeño montaje donde verás el único cable de "masa" (azul) que debería haber y otro cable de "fase" (rojo) correspondiente a una de las direcciones del gamepad.









 FAQ - Hackear un gamepad o joystick para controles arcade o de otro tipo.

- Si uso dos gamepads para mis controles (jugador 1 y 2), podría usar sólo la masa de uno de ellos para hacer las conexiones necesarias?

No. Los pads son sistemas independientes y necesitan ser conectados totalmente usando cuantas “fases” se prefieran o sean necesarias y su correspondiente “masa” para funcionar.

- ¿Existe alguna forma de testear el hack de pad o joy para comprobar su correcto funcionamiento?

Sí, en el “panel de control/dispositivos de juegos” puedes comprobar si el hack de pad es correcto y funcionan todos los botones, además de poder calibrar las direcciones. En caso que sea para consola, puedes conectar el pad y comprobarlo con algún juego o en el menú inicial (en el caso de las consolas que lo tienen como el ps2, dreamcast, ps3, etc)

- Dos o más botones tienen la misma función, ¿qué puede estar ocurriendo?

Comentábamos en el tutorial que no todos los gamepad o joystick son susceptibles de ser hackeados y otros revisten mucha dificultad porque las pistas están muy juntas o son muy estrechas. Probablemente, lo que esté sucediendo es que hayas hecho alguna soldadura /as que invada una pista que no le corresponda.

- He usado un gamepad de botones analógicos; mi hack de pad parece correcto, pero los botones no funcionan.

Hackear un pad analógico es sumamente complicado, porque lo que gestiona el chip del gamepad es la cantidad de input enviado cuya ocurrencia se relaciona con la presión del dedo sobre los botones. En algunos casos el input mínimo que produce nuestro hack no será registrado por el ordenador, en otros casos es posible solucionar el problema con driver específicos para ese software. No obstante, se recomienda no usar este tipo de hacks.

- Mis controles funcionan pero, por ejemplo, las combinaciones de movimientos y botones en algunos juegos no terminan de salir bien o cuestan mucho de hacer.

Este problema se relaciona con el retardo del input. Son especialmente propensos a sufrir este problema los hack hechos en pads o joys de consolas que usan adaptadores o multiplataformas. Generalmente este problema se ve en la PC, aunque tambien puede presentarse en la Ps3

Para evitar este problema se recomienda usar gamepad o joysticks específicos de PC, (en caso q el hack sea para PC) cuanto más sencillos mejor. O conseguirte un convertidor que no presente retardo, que los hay y muchos.

- Uno o más botones aparecen siempre pulsados.

Puede ser porque “masa” y “fase” en la hack de pad o joystick estén tocándose. También podría ser que hayamos conectado mal algunos switches, pues en los que poseen 3 pestañas existe una a la que le corresponde el estado de “cerrado”, esto es, la de crear un input continuo que se interrumpe cuando es pulsado el botón.

Espero les sea de utilidad y lo aprovechen!!! Hasta la próxima!!

NOTA: En caso de que tengas dificultades en el proceso de hackeo de control pad, o sencillamente sientes que no es tu fuerte la electrónica, en la tienda podemos hacer este trabajo por ti, para el sistema o consola que prefieras, ya listo sólo de conectar tus partes arcade al pad hackeado!. El precio puede variar dependiendo de para qué sistema se hará el trabajo.


4 comentarios:

  1. Disculpa es que yo use este tutorial para hacer una plataforma de baile y me ocurre que se me desconecta y conecta el joystick, pero no es cuestión del joystick es cuando extiendo los cables de los contactos , si me pudieras ayudar te lo agradeceria

    ResponderEliminar
  2. Parece un mal contacto. Revísa las soldaduras, solda de nuevo si es necesario y chequéalas con un multímetro o tester.

    ResponderEliminar
  3. yo hice un hack con 10 botones: http://oi65.tinypic.com/149t6xw.jpg

    ResponderEliminar
  4. por fa necesito ayuda hice el hack para adaptar a tablero arcade me funciona todo pero a la hora de hacer combos en kof se quedan las u no se que pasa reviso y reviso no encuentro nada raro

    ResponderEliminar