Reparación de 2 Joysticks con 2 pelotas (Trakballs)

Todo comienza una tarde de birras:

Como siempre sucede, un día quedas con Bieno para tomar unas birras, y aparece con una bolsa y te dice... "¿Puedes repararme esto?" Y si te niegas, entonces corre la cerveza como en una boda hasta que uno dice que "SI".

Bueno, pues al final me trae dos Trakball de ATARI CX22 que no funcionan, aunque en un principio no sabemos si es compatible con el Commodore, por lo que nos ponemos a investigar.

Finalmente, la solución fueron unos fallos en LM339, 4011 en uno de ellos y los sensores infrarrojos (encoders) del otro, que los sustituí con componentes alternativos.

¿Pero esto qué es?

Los mandos Trakball de Atari son artilugios con lo que se jugaba al Missile Comander, Centipede, Reactor... y esas juegos de bola en la consola 2600 de Atari. Como es norma Atari y el Commodore pues también, Bieno me los ha traído para reparar porque no funcionaban.

Con el tiempo, sus componentes pueden fallar, se desgasta, se pudren... ¡¡¡pero no todo está perdido!!!

Os voy a contar cómo reparé dos Trakball averiados mientras me tomaba una birra. (Nota: Commodore Plus no permite la publicidad de bebidas alcohólicas y por eso está fuera de plano).


Lo primero... ¿Cómo funciona?

A medida que la bola gira, la rueda codificadora alterna entre permitir y bloquear la luz infrarroja que se emite desde un lado del optoacoplador hacia el detector en el lado opuesto.

Cada optoacoplador tiene dos detectores que están separados 90 grados en relación con un ciclo de una ventana en la rueda codificadora. Esto produce dos formas de onda desfasadas 90 grados entre sí.

Estas formas de onda se envían al comparador de voltaje (A1). A1 limpia las señales y las convierte en ondas cuadradas de 5 V.

Las ondas cuadradas de 5 V luego se envían al biestable tipo D (A2). A2 determina la dirección. Cuando la bola gira hacia la derecha, el flanco ascendente de la señal de entrada “clock 1” se adelanta 90 grados a la señal de entrada “DI”. Esto hace que la salida Q (RIGHT) de A2 se ponga en alto. Por el contrario, cuando la bola gira hacia la izquierda, el flanco ascendente de la señal de entrada “clock 1” se atrasa 90 grados respecto a la señal “DI”. Esto hace que la salida Q (LEFT) de A2 se ponga en alto.

Las salidas de dirección de A2 se envían a las puertas de salida finales (A4), que invierten las señales.

A3 actúa como un sensor de movimiento. Cuando la bola gira hacia la izquierda o hacia la derecha, una señal de “X clock” se envía a la entrada de disparo positivo de A3. Esto hace que la salida Q! (Q negada) de A3 se ponga en alto, habilitando así las puertas de salida finales (A4). Mientras la bola esté en movimiento, las puertas de salida finales permanecen habilitadas. Cuando cesa el movimiento de la bola, la salida Q! (Q negada) de A3 vuelve a su estado estático (BAJO), deshabilitando las compuertas de salida finales (A4).

Puede sonar un poco a lío la descripción del circuito, pero el Trakball podemos decir que tiene dos modos de funcionamiento. O modo RATON o modo JOYSTICK.

En el primero, el modo RATÓN, lo que hace es enviar el sentido X o Y (En positivo o negativo) , y luego mediante pulsos, la velocidad de desplazamiento.

El modo JOYSTICK, deja en nivel alto, cada uno de los sentidos en los que rota la bola. Ya no hay señales del clock, las salidas quedan activas o no. Este es el modo mas compatible para usarlo en el Commodore.

¡¡Las reparaciones!!

Primer Trakball: fallo en CM339 y 4011

El primer mando no respondía. Tras una prueba inicial, no detectaba movimiento.

Diagnóstico:

  • Los encoders generaban pulsos, pero después del LM339 solo había ruido eléctrico.
  • El LM339 es un comparador que convierte la señal del encoder en una salida cuadrada de 5V.

Solución:

  • Sustituí el LM339 y recuperé la señal cuadrada.
  • Luego descubrí que el integrado 4011B (cuádruple NAND) tenía una puerta defectuosa.
  • Reemplacé el 4011B y… ¡Trakball funcionando!

Piezas sustituidas:

Componentes LM339 y 4011B en la placa del Trakball Atari

LM339

4011B

Segundo Trakball: fallo en los diodos del encoder horizontal

Este caso no fue más complicado. El encoder horizontal no mostraba cambios en el osciloscopio.

Diagnóstico:

  • Un diodo infrarrojo estaba fundido.
  • No encontré recambio original, así que desmonté el bloque detector (dos diodos IR y dos fototransistores).

Investigación:

  • Los LED IR de 940 nm son invisibles a simple vista.
  • Compré:
    • Diodos IR: SIR4045 (940 nm)
    • Fototransistores: SGPT4045
  • Ajusté la carcasa cortando salientes para que encajaran.
  • Primera prueba: exceso de luz en los fotodiodos.
  • Solución: eliminé la lente protuberante y reinstalé la pletina metálica.

El Encoder desmontado:

En esta foto se ve el Encoder que he tenido que abrirlo para sustituirle los fototransistores y los diodos. Y se aprecia en la chapita metálica de en medio, que hay una ranuras que hacen de ventana.

Bloque detector del Trakball Atari con diodos infrarrojos

Prueba de funcionamiento

Jugando al Centipede

Aquí Bieno, para informar de mi experiencia

Lo primero es comentar el porqué hay unos trakballs de Atari en un blog de Commodore. Todo se remonta ya a hace unos años cuando estos 2 trakball cayeron en mis manos a un precio casi ridículo y siempre pensé que de alguna manera los aprovecharía. Estaban nuevos pero sin probar. Como desconocía su funcionamiento, estuve indagando su funcionalidad y compatibilidad con algo de Commodore y visité algún foro para comprobar que si, son norma Atari, pero que no hay software específico para ellos en nuestro sistema a pesar de que algún modelo de trakball se vendió, o al menos se publicitó, para C64 y VIC20.

En la parte inferior del TB hay una palanca selectora que modifica su funcionalidad y tiene 2 posiciones:

  • Posición 1 Joystick: Funciona como lo que nombra. Si quieres mover hacia un lado, siempre tienes que estar girando la bola en ese sentido para que siga en esa dirección.
  • Posición 2 Trak Ball: Es el modo nativo para Atari y sería como si estuviéramos utilizando un ratón.

La función Trak Ball no es compatible con el C64. Lo he probado además con juegos que necesitan ratón, indiferentemente del 1531 de Commodore o el Neos, o con paddle, que tampoco.

En cambio en la posición Joystick sí que funciona, como sería lógico, aunque no como nos gustaría en juegos como el Marble Madness, Missile Defence, Crystal Castles o Centipede. Realmente funciona con cualquier juego y para que nos entendamos con un ejemplo simple: Si jugamos al Misión Imposible y queremos que nuestro personaje corra hacia la izquierda, debemos girar sin parar la bola hacia la izquierda. En el momento en el que paramos, el personaje se para. Ni va a ir mas rápido ni lento por mucho que así lo hagamos, ya que ningún juego está programado de este modo.

Hay juegos en los que la sensación es bastante fiel y otros en los que no y hay que tener claro que la precisión no es su punto fuerte, aunque los trakballs originales tampoco lo eran.

Publicar un comentario

1 Comentarios