Página 1 de 1

[Reparación] Argus no Senshi (Rygar), sólo bootea a veces

Publicado: Mar Mar 19, 2013 12:53 pm
por Artemio
Adquirí esta Rygar Japonesa de un vendedor que lo tenía guardado por ser su juego favorito, me comentó que le gustaba mucho pero que se le había descompuesto. Después de negociar un precio, lo adquirí y llevé a casa. Como esperaba al revisarlo, tenía un adaptador soldado directamente, mediante unos cables de los que colgaba un fingerboard. Ya que varios cables estaban sueltos, preferí armar mi propio adaptador que sólo se conectara a la placa, sin soldarlo.
Adaptador
Adaptador
También dí con una resistencia que estaba fuera de su lugar, sobre un TTL al reverso de la placa, la reajusté en su lugar, feliz de dar con lo que seguramente era la falla.

Una vez hecha la parte de voltaje, audio y video del adaptador decidí probarla. El juego arrancó bien, pero tenía una conducta errática. A veces no arrancaba, y otras veces se reiniciaba a medio juego. A los pocos intentos, se volvió cada vez menos frecuente que arrancara. Así pospuse su diagnóstico por falta de tiempo, y porque no están disponibles los diagramas de la pcb.

Para descansar de Sidearms - una PCB que presenta un problema de sprites que no consigo diagnosticar aun con diagramas - retomé Rygar. En primer lugar me parecía un falso contacto, ya que a veces arrancaba mientras la manipulaba. Pero no daba con la zona que podía estar fallando, por soldadura ya dañada debido a la flexión de la placa. Así di con una zona que consideré sensible, abajo del CPU de audio y entre las ROMs con el código del juego. Decidí retocar la soldadura en la zona, y esto pareció resolver el problema durante una semana, durante la que lo jugué felizmente. Sin embargo al llegar el viernes siguió presentando el problema de no arrancar, en realidad el refluír la soldadura había sido un paliativo que muy probablemente no tenía nada que ver con la falla real.

Lo primero fue revisar las líneas en el CPU, donde todo se encontraba normal: el reloj llegaba al CPU, y las líneas de direcciones estaban bien. Realicé un dump de las roms, y todas estaban en buen estado. Asi que me dispuse a revisar el bus de datos y direcciones, donde todo parecía normal también.

Una parte muy importante de bus son las señales de control, en si las líneas de /Enable de las RAMs y ROMs, que son derivadas de la señal read y/o de direcciones del CPU. En la ROM de booteo se encontraba una señal errática, así que asumí que allí estaba el problema. Si una de estas señales está mal, el bus contiene información incorrecta a la esperada.

Así que me dispuse a seguir la línea enable desde la ROM hasta el CPU. Las formas de hacer esto son básicas, ya sea por inspección visual contra luz, o con el multímetro en continuidad. El segundo método es más dirigido cuando se sabe que el área de búsqueda es limitada, ya que seguir las líneas en la placa a veces no es viable por estar cubiertas por los integrados.

Usando este método regresé unos 8 chips, de los cuales confirmé su correcta operación observando sus salidas y entradas; incluso modificándolas en algunos casos para ver si la salida correspondía con la especificación, inyectando una señal de 0 o 5 volts. De esta manera dí con una 74LS32 que no se comportaba como se esperaba, así que desoldé una igual de mi querida PCB pirata de Street Fighter II, y se la sobre puse.
74LS32
74LS32
Y funcionó.

Sólo restó desoldar el chip defectuoso y poner a su sustituto a trabajar. Se trataba de un Fujitsu, conocidos por fallar. La PCB funciona muy bien, pero presenta unos ligeros problemas de transparencia que después me daré a la tarea de revisar.