domingo, 3 de abril de 2011

Adaptador de control de SNES a USB (el principio).

Hace varios meses, vagando por sitios de videojugadores "retro" (melancólicos suena muy gay) encontré una serie de artículos donde se detallaba como conectar los controles de SNES a la PC.

Hace ya bastante tiempo (tiempos de vocacional y de vagancia en general) construí un adaptador de cinco controles del SNES al PC, utilizando los en aquel entonces famosos drivers y diagramas de DirectPad Pro. DirectPad Pro funcionaba de maravilla, pero al cabo del tiempo se hicieron presentes dos enormes detalles, el primero es que los drivers trabajaban con instrucciones de bajo nivel y dejaron de ser útiles en sistemas como Windows XP o NT, donde el acceso a recursos de hardware no se hacia de la misma forma que en los Windows 9x. El otro detalle es que la conexión de los controles se hacia por puerto paralelo. Resumiendo, DirectPad Pro servía de maravillas en las computadoras promedio de 2000 o 2001.

Al pasar del tiempo, la interfaz paralela y Windows9x prácticamente desaparecieron de las computadoras. Por ahí existía otro set de drivers de la interfaz DirectPad Pro que funcionaba en Windows XP (PSXPad), aunque nunca la probé en mi propia PC, gracias al amigo Max pude verla en acción y disfrutar de ella en los buenos tiempos de las retas de Queen of Hearts 99.

Actualmente la interfaz USB existe en prácticamente todas las computadoras, así que resulta conveniente construir cualquier adaptador o hardware en general apuntando a la arquitectura de dicho puerto, siempre y cuando la aplicación lo amerite. En la pagina de Raphael Assenat se detalla como hacer un adaptador de uno o hasta cuatro controles de SNES/NES por USB. Este diseño utiliza un microcontrolador ATMEGA8. Si bien, dicho microcontrolador era relativamente barato y fácil de encontrar a principios de 2010 en las tiendas de la calle de República del Salvador (Ciudad de México), a mediados de 2010 sufrió una alza de precio de mas del doble (en la actualidad cuesta 123 pesos mexicanos (11 USD) en cierta tienda llamada AG). Además se requería de un programador de microcontroladores compatible con los AVR de ATMEL.

La complicación más fuerte surgió cuando vi que los programadores más económicos se conectaban por el puerto serial o el puerto paralelo de la computadora (de los cuales, mi computadora no tiene ni uno) y los programadores USB son sensiblemente caros. Existen dos programadores USB de código y diagrama abiertos llamados USBASP y usbtinyisp. Ambos son excelente opciones, muy completos y confiables pero tienen un defecto en común... ambos utilizan un microcontrolador AVR que debe ser programado para que puedan funcionar.

Es decir, me encontré ante el clásico dilema del huevo y la gallina. Necesitaba un programador USB para programar un microcontrolador, pero dicho programador requería de la programación previa de un microcontrolador (irónicamente de la misma clase del que mi proyecto requería)...

¡Feliz 2021! El retorno del debraye pandémico (Edición "Rompemuros").

Hola, ¿Cómo han estado? Espero que estén con bien, con buena salud y con muchas ganas de aburrirse una vez más con una ronda de debrayes. Es...