Tutoriales
Adaptador de joystick de Gamecube a USB
- Detalles
- Categoría: Tutorial
- Publicado el Jueves, 11 Marzo 2010 13:34
- Escrito por Santiago Villafuerte
- Visto: 46146
Mis dos consolas favoritas son el Nintendo 64 y el Nintendo Gamecube y sus controles también me encantan. Me he acabado como 2 controles de Gamecube por tanto jugar y los descompuestos terminaron arrumbados. Pero gracias a que hay tutoriales en la web sobre el protocolo de comunicación del joystick del Gamecube pude restaurar uno de mis controles antes occiso, y además conectarlo a Windows vía USB con interfaz DirectInput.
Advertencia: El tutorial mostrado en esta página es publicado en la forma más completa posible. Es sola y única responsabilidad del lector la forma en cómo lo lleve a cabo y sus consecuencias. Puedes dañar tu puerto USB o joystick si no tienes mucho conocimiento en el área electrónica.
No entraré en detalles sobre el protocolo de comunicación del joystick de Gamecube ni del protocolo USB ya que hay información amplia en la red. El protocolo del Gamecube está muy bien explicado en la siguiente página:
Nintendo Gamecube Controller Protocol
http://www.int03.co.uk/crema/hardware/gamecube/gc-control.html
Material necesario
- Control de Gamecube DOL-003 (no lo he probado en otros)
- Un extensor de conector para control de GC
- PIC18F2450 de Microchip
- Paquete a descargar (firmware del PIC, circuito impreso, etc.)
Contraseña: migsantiago.com
(Descarga)
Si usas un extensor de cable de GC evitas cortar el conector de tu control.
El circuito electrónico para leer el control es bastante básico:
El control opera a 3.3V y toda la alimentación se toma desde el puerto USB, no necesitas fuentes externas. El firmware del PIC está contenido en el paquete del link de arriba. El circuito impreso y la capa de componentes también están adjuntos en el paquete. La única opción que dejé fuera es la vibración del motor. Puedes desarmar tu control, retirar el motor y usarlo en algún otro proyecto.
El orden de los pines del gamecube es el siguiente:
Amarillo | Fuente de 5V para motor (dejar desconectado) |
Rojo | Línea de datos (conectado a RB0) |
Verde | Tierra |
Blanco | Tierra |
Azul | Fuente de 3.3V |
Negro | Tierra |
Pantalla | Tierra |
Todas las tierras deben estar unidas.
Esta es la foto de mi adaptador de Gamecube a USB:
El conector USB lo desoldé de un lector de memorias SD que se me descompuso pero puedes conseguir un cable USB y empatar los hilos.
Una vez que el PIC ha sido programado con su respectivo firmware y que se conecta el control, Windows lo detecta e instala automáticamente. El control funciona con DirectInput de DirectX para ser usado en cualquier juego compatible.
El joystick funciona en Windows XP, Vista y 7. Se comporta como un dispositivo de interfaz humana por lo que su uso es amigable.
El paquete de descarga contiene además un archivo de perfil de joystick para el emulador de Nintendo 64, Project64.
El código fuente de este proyecto es reservado, pero en Microchip.com existen demos sobre cómo enumerar un HID USB Joystick:
http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=2018&mcparam=en544407