http://gatatac.org/attachments/download/227/cgr.jpeg

TGRMach: un joystick para (casi) todos los ordenadores de tu colección.

Un buen joystick se agradece. Tanto que para disfrutar de él, en algún momento, puedes haber gastado dinero o tiempo. O te gustaría hacerlo. Lo malo es que si en su día compraste un buen joystick para Amiga, no lo pudiste aprovechar para seguir jugando a tu antiguo MSX, ni lo puedes usar con tu PC actual por USB.

TGRMach intenta solventar ésto, de forma que puedas construir un joystick nuevo, o retrabajar uno antiguo, para poder usarlo tanto en tu PC actual por USB, como en casi todos los ordenadores de 8 y 16 bits de tu colección, así como la mayoría de las consolas.

TGRMach es un proyecto abierto y vivo en el tiempo. De momento se centra en garantizar la máxima compatibilidad con dos conectores: USB y el conector de 9 pines de la norma Atari, la que usaban la mayoría de los ordenadores de 8 y 16 bits: Atari, Amiga, Amstrad, Commodore, MSX, algunos Spectrum…, así como consolas que usaban el mismo conector, como la Master System de Sega.

En el futuro: otras plataformas. La limitación es el conector y el software.

¿Cómo funciona un joystick?

Un joystick es algo muy sencillo, consta de unos botones, una palanca, una electrónica y un cable con un conector para el ordenador.

Los botones y la palanca son básicamente contactos que se cierran cuando presionas el botón o empujas la palanca en alguna dirección. El cable suele consistir simplemente en un manojo de hilos de cobre que une la electrónica con los pines del conector.

¿Y la electrónica?

La electrónica de un joystick debe detectar los contactos que se cierran, y traducirlos en señales eléctricas en el conector de salida. En los primeros joysticks, como los que usaban el conector de 9 pines de la norma Atari, la electrónica era casi inexistente, pues los botones se conectaban directamente a cables que venían de los pines del conector. Así de fácil.

PERO NO PODÍAN PONERSE DE ACUERDO!!

El problema es que, aunque el conector fuese el mismo, parece que ningún fabricante estaba satisfecho si no cambiaba cómo los botones se cableaban a los terminales. Si en un sistema el contacto del primer de botón de disparo iba conectado al pin 5, en otro era al pin 7, y en otro al 9. Eso hacía que un joystick de MSX no fuese compatible con uno de Spectrum, por ejemplo.

Y lo peor no es que los contactos estuviesen cambiados, lo peor es que también había contactos que llevaban alimentación eléctrica, para alimentar periféricos que necesitaran corriente, como un ratón o un lector de código de barras, etc. Ésto podía hacer que usar un joystick de un sistema en otro sistema pudiese crear un cortocircuito que fundiese tu joystick… o incluso el puerto de tu ordenador. Ojo!!!
En un joystick moderno, con conector USB o los de las consolas modernas, la electrónica ya es más compleja, ya que es capaz de convertir treintenas de contactos en señales eléctricas que viajan al ordenador a través de únicamente un par o tres de hilos, modulando o serializando la información para enviarla al ordenador.

¿Cómo funciona TGRMach?

TGRMach sustituye la electrónica sencilla anterior por un microprocesador que es capaz de convertirse en un joystick USB para tu ordenador, al tiempo que es también capaz de generar las señales eléctricas que deben salir por los 9 pines del conector clásico de la norma Atari.

El usuario simplemente ha de seleccionar el sistema al que lo quiere conectar (MSX, Atari, Amiga…) y conectarlo para jugar. Una peculiaridad interesante es que puede estar conectado a la vez por el cable USB y por el cable de la norma Atari, sin causar conflictos eléctricos de ningún tipo.

El microprocesador contiene un programa que lee los contactos de los botones y la palanca, y traduce los movimientos detectados a comandos de joystick USB para tu PC (o Raspberry Pi, etc.), al tiempo que, dependiendo de la posición del detector de sistema, traduce los mismos movimientos para tu ordenador o consola vintage.

Simple, sencillo. De esa forma puedes construirte un mega-mando arcade sabiendo que lo podrás usar con prácticamente toda tu colección, o puedes retrabajar el mejor joystick que tengas para convertirlo en multisistema.

¿Qué más puede hacer por mí?

TGRMach no se queda en lo básico, sino que intenta dar al usuario lo mejor de sí mismo a partir del hardware que tiene. Pongamos un ejemplo: el MSX sólo maneja uno o dos botones, y probablemente quieras tener un TGRMach con 6 u 8 botones. Si tienes 8 botones, hay 6 de ellos que no sirven para nada cuando lo conectas a un MSX, ¿no? Pues imagínate que el tercer botón se reprograma por software para que sea un auto-fire para Salamander,

Imagen de msxgamesworld.com

el cuarto para que simule las sacudidas de palanca necesarias para batir todos los récords en el Track & Field,

Imagen de MSXBlog.es

el quinto para que simule estar pulsado justo la duración que necesitas para que en Hyper Sports 2 puedas enviar la flecha siempre a la altura del centro de la diana,

el sexto para simular un movimiento de palanca complicado de Yie-Ar Kung Fu 2, etc.…

Imagen de hardcoregaming101.net

Imagínate después que lo conectas a un Amiga y que los botones 3 y 4 son los disparos con efecto a izquierda y a derecha de Sensible Soccer,

Imagen de mytop.fm

…. y así seguimos contando.
Todo ésto puede conseguirse por que se trata de un proyecto de código ABIERTO y documentado. Es así de sencillo: te bajas los esquemas para cablear tu mando, te compras la unidad de control (actualmente una Teensy pero en el futuro habrá otras opciones más asequibles), le grabas el software y listo.
Puedes modificar tú mismo el programa (está basado en arduino), o sugerir cambios sobre él. Si una funcionalidad te parece interesante seguramente a alguna otra persona también se lo parecerá ¡la unión hace la fuerza!

¿Ya está acabado?

Nooo, por fortuna! Actualmente se encuentra en el siguiente estado: se puede conectar a la vez a un PC o una Raspbery por USB y a un MSX, y en éste justo momento se están empezando a programar algunas funcionalidades básicas. De momento aún no se le ha incorporado el selector de sistema, por lo que aún no se puede conectar a un C64 o un Amstrad, pero pronto se andará. Como ya dijimos es un proyecto vivo.

Puedes ver la planificación al detalle en:

http://gatatac.org/projects/tgrmach/roadmap

Más información en:

http://gatatac.org/projects/tgrmach/wiki

http://gatatac.org/attachments/download/165/gatatac2.9.3-1.png

Misc

NormasJoystick.png View (24 KB) Txinto Vaz, 10/01/2016 12:08 AM

Salamander.png View (8.09 KB) Txinto Vaz, 10/01/2016 12:26 AM

HyperSports2.png View (3.65 KB) Txinto Vaz, 10/01/2016 12:29 AM

cgr.jpeg View (79.1 KB) Txinto Vaz, 10/01/2016 12:35 AM