[Reparación] Crime Fighters, no bootea
Publicado: Vie Feb 08, 2019 12:46 pm
Recibí ésta Crime Fighters de un buen amigo, pues no funcionaba y quería ver si algo podíamos hacer por ella.
Al probarla se quedaba en una pantalla estática, que parpadeaba cada par de segundos. Esto me indicaba que el watchdog estaba reiniciando la placa sin éxito.
El watchdog es una parte de la PCB que se dedica a revisar si hay actividad en el BUS, y de no haberla asume que el juego llegó a un estado indeseado, se bloqueó o se cayó el programa, y reinicia el CPU para que la máquina tenga oportunidad de volver a arrancar y seguir como si nada hubiera pasado. Era muy útil en arcade puesto que permitía que el show continuara y se siguiera recaudando.
Por supuesto una placa que sólo hace esto es un indicador de que no hay nada de actividad. De hecho no llegaba a la pantalla de revisión de ROMs típica de Konami.
Lo primero a revisar fue la señal de reloj del CPU. Pero sorpresa, el CPU es custom y los pines están por debajo:
Procedí a medir la señal que salía del cristal (por debajo de la PCB), y ésta era correcta a 24Mhz:
De allí me moví a buscar si existían esquemáticos de la PCB, con la finalidad de ver de donde se generaba el reloj y por cuáles circuitos pasaba.
Por fortuna están incluidos en el manual, de una época donde se pretendía que el usuario/propietario pudiera dar mantenimiento a sus cosas.
En la primer página está el CPU y recibe el reloj de 12 MHz por el pin 11, y ésta señal se llama NCLK12 que viene del cuadrante K8 del esquemático.
Esta señal ya está dividida entre 2, derivada de los 24Mhz del cristal. Viene de un TTL ubicado en H12, un 74LS04, que se puede ver en la foto junto al cristal más arriba en este post.
Revisé con el osciloscopio y la señal no entraba por el pin 3, y por lo mismo tampoco salía por el pin 3. Así que sabemos que el CPU no esta recibiendo la señal de reloj. Un buen indicador de que posiblemente ésta es la falla principal, y quizá la única, en la PCB. Así que tenemos que buscar de donde viene esa señal dividida de 12 Mhz.
Lo primero que hice fue buscar el cristal en el esquemático, y ver como se procesaba la señal.
Es el mismo 74LS04 en H12, el que recibe la señal recién salida del cristal por el pin 5, y sale por el 6 pero aún en 24Mhz. Las señales sí estaban allí, así que el problema era al dividirla entre 2 (convertir CLK24 en CLK12).
Revisando la fuente encontré que ésto lo hace un custom 051960 de Konami:
Ubicado en J4:
El reloj entra por el pin 2 y sale por el 117, así que medí ambas. La señal si entraba por el 2 correctamente, pero al presionar el pin 117 la placa trataba de arrancar... en otras palabras había un falso entre toda esa mugre:
Fui a revisar con el microscopio para confirmar lo evidente:
Al probarla se quedaba en una pantalla estática, que parpadeaba cada par de segundos. Esto me indicaba que el watchdog estaba reiniciando la placa sin éxito.
El watchdog es una parte de la PCB que se dedica a revisar si hay actividad en el BUS, y de no haberla asume que el juego llegó a un estado indeseado, se bloqueó o se cayó el programa, y reinicia el CPU para que la máquina tenga oportunidad de volver a arrancar y seguir como si nada hubiera pasado. Era muy útil en arcade puesto que permitía que el show continuara y se siguiera recaudando.
Por supuesto una placa que sólo hace esto es un indicador de que no hay nada de actividad. De hecho no llegaba a la pantalla de revisión de ROMs típica de Konami.
Lo primero a revisar fue la señal de reloj del CPU. Pero sorpresa, el CPU es custom y los pines están por debajo:
Procedí a medir la señal que salía del cristal (por debajo de la PCB), y ésta era correcta a 24Mhz:
De allí me moví a buscar si existían esquemáticos de la PCB, con la finalidad de ver de donde se generaba el reloj y por cuáles circuitos pasaba.
Por fortuna están incluidos en el manual, de una época donde se pretendía que el usuario/propietario pudiera dar mantenimiento a sus cosas.
En la primer página está el CPU y recibe el reloj de 12 MHz por el pin 11, y ésta señal se llama NCLK12 que viene del cuadrante K8 del esquemático.
Esta señal ya está dividida entre 2, derivada de los 24Mhz del cristal. Viene de un TTL ubicado en H12, un 74LS04, que se puede ver en la foto junto al cristal más arriba en este post.
Revisé con el osciloscopio y la señal no entraba por el pin 3, y por lo mismo tampoco salía por el pin 3. Así que sabemos que el CPU no esta recibiendo la señal de reloj. Un buen indicador de que posiblemente ésta es la falla principal, y quizá la única, en la PCB. Así que tenemos que buscar de donde viene esa señal dividida de 12 Mhz.
Lo primero que hice fue buscar el cristal en el esquemático, y ver como se procesaba la señal.
Es el mismo 74LS04 en H12, el que recibe la señal recién salida del cristal por el pin 5, y sale por el 6 pero aún en 24Mhz. Las señales sí estaban allí, así que el problema era al dividirla entre 2 (convertir CLK24 en CLK12).
Revisando la fuente encontré que ésto lo hace un custom 051960 de Konami:
Ubicado en J4:
El reloj entra por el pin 2 y sale por el 117, así que medí ambas. La señal si entraba por el 2 correctamente, pero al presionar el pin 117 la placa trataba de arrancar... en otras palabras había un falso entre toda esa mugre:
Fui a revisar con el microscopio para confirmar lo evidente: