Autor Tema: [Reparación infernal] Bubble Bobble licencia Phoenix  (Leído 3953 veces)

ArcadeHacker

  • Con experiencia
  • ***
  • Mensajes: 644
  • .
[Reparación infernal] Bubble Bobble licencia Phoenix
« en: 28 de Marzo de 2016, a las 22:54 horas »
Buenas foro,

Os quiero compartir una reparación en la que llevo trabajando un tiempo, se trata de una placa Bubble Bobble fabricada en Korea por Phoenix bajo licencia de Taito, y sin ninguna duda la peor reparación a la que me he enfrentado nunca.



Los orígenes de esta licencia de Bubble Bobble son desconocidos para mí, es una placa que ciertamente cuenta con componentes originales como por ejemplo el chip custom PS4 con el logo del dragón, o las roms oficiales incluyendo pegatinas y el código en las mismas. Las diferencias más visibles son el logo de Phoenix junto al de Taito y la etiqueta de licencia oficial que se encuentra en la placa principal.



Sin duda la mayor diferencia de la placa con las originales de Taito es la calidad de la fabricación (patética por decir algo) y la falta de sockets en varios de los componentes como cpus, chip custom, o roms sin usar en la parte de video. En particular la fabricación de la placa fue tan bruta que en el soldado de vias y componentes el proceso de soldado también añadió estaño a las lineas adyacentes, cosa que llegó a crear puentes en algún caso como os contaré despues... Podeis ver el problema en la siguiente foto:




El juego a primera vista no funciona, problemas graves de video (muy mala imagen y falta de colores), problemas de lógica (reseteos), y tampoco tiene sonido... Se puede pedir más??  ;D

Manos a la obra con la reparación: lo primero varias comprobaciones básicas: voltajes, cruces., código ok en las roms....Todo parece ok y en orden.  Acto seguido y por suerte al tener otro bubble bobble funcional fue poder probar la placa de las cpus y video por separado. El resultado de probar la placa de cpu con una buena de video es el siguiente:



Falta el color, faltan gráficos.... pero sabemos que las roms de programa están bien y la placa de video funciona perfectamente... Durante el desensamblado de las placas una cosa muy evidente llama mi atención, el conector que une ambas mitades está verdaderamente mal y muy oxidado:



Con cuidado y algo de paciencia procedo a desoldarlo y limpiarlo con el siguiente resultado:




Aunque a primera vista parece muy dañado por la corrosión, después de comprobar todas las pistas el resultado es correcto y todo tiene conductividad. Lamentablemente haber trabajado el conector no ha solucionado ninguno de los problemas de la placa, aunque creo que el trabajo no es tiempo perdido ya que de lo contrario la corrosión hubiera acabado por comerse completamente el metal de las vias...

Tras darle más vueltas al tema decido cambiar la ram de trabajo y el buffer que la separa de la cpu, fallo de ram es una avería tipica de las bubble bobble pero que en este caso no retorna nada positivo, todo sigue igual...

Queriendo atacar el problema de raíz, para la siguiente prueba me hago con la ayuda del analizador lógico recomendado en su día por Rockman, se trata de un analizador Tektronix multicanal que he usado en muchos de mis anteriores proyectos de ingeniería inversa, soporta mas de 100 canales y tiene funcionalidad para desensamblar código de algunas cpus en tiempo real según se van leyendo las señales directamente de las patas del chip... un lujazo!




Una vez analizado el runtime de la cpu veo claramente que hay un problema con la ejecución de código, parece que por algún motivo la cpu no puede acceder a algunos datos de una de las roms. Esto es extraño por que en esta placa la cpu tiene acceso directo fisico a las roms principales, no hay buferes ni nada por el estilo de por medio.

Inspeccionando la placa en la zona de las roms me encuentro con una sorpresa, parece ser que alguien la ha modificado y puenteado un par de pistas de una de las roms...





Sin mucha sorpresa descubro que cortando estos puentes recupero color y gráficos aunque no acaba de funcionar bien... falta por ejemplo el logo de taito y el juego sigue reseteando...



El siguiente paso es desoldar la cpu principal para poder comprobarla y entender que sucede, es justamente en este paso y tras sacar el z80 cuando me doy cuenta del problema de la pésima calidad de construcción de la placa al observar que una de las pistas del Z80 está cruzada con otra de las pistas adyacentes...



Con la ayuda de un cuter consigo suavemente eliminar el problema y que ambas pistas corran libres. Una vez solucionado este problema procedo a meter un socket dip40 y volver a colocar la cpu.... Con esto arreglado el juego ya funciona perfectamente! (al menos la placa de cpus)

Mi teoría es que la avería original de la placa era este cruce de pistas pero intentaron "arreglarla" con esos puentes?... Sin duda cosas más raras se han visto  ;D

Ahora a por el sonido.... la parte de amplificación parece estar bien ya que subiendo el volumen se puede escuchar ruido de fondo etc.. Al probar cambiando el z80 por otro equivalente el sonido vuelve a funcionar, la cpu estaba kaput...



Dicho sea esto, el sonido no es limpio del todo por lo que seguramente hay algún problema más con la parte de la amplificación, esto lo dejo para el final ya que no es importante de momento...

Una vez ya con la placa de cpus reparada vuelvo a conectar la otra mitad de este bubble bobble, la placa de video que tambien tiene fallos, con el siguiente resultado:



El problema es algo complejo de describir, por una parte vemos un problema permanente con la distribución de los gráficos, pero también un baile constante de lineas horizontales casi al azar.

Con la ayuda del tester de micros fluke y la documentación de Bubble Bobble en Mame veo que hay un problema en las memorias de video con los bytes impares (0xC001...0xC003..etc..), seguramente esté relacionado con el fallo gráfico.




Localizada la memoria de reemplazo en un proveedor chino y tras solo esperar 1 mes para avanzar con la reparación! :) el resultado es más que prometedor!:




Ahora ya solo nos queda dar con el problema del chisporreo horizontal, lo tengo bastante localizado pero su solución no la tengo clara de momento, osea que otro día os detallo el tema.

Como veis la reparación de este juego es de largo recorrido y de momento sigue dando guerra, sin duda (y casi que por verguenza) esta placa no la voy a vender y me la quedaré en mi colección ya que no deseo el mal ajeno  ;D ;D

Espero de momento os haya gustado el tema.  Un saludo!
Busco placa de Taito: Chack'n Pop.

Heckler

  • Animadillo
  • **
  • Mensajes: 148
Re:[Reparación infernal] Bubble Bobble licencia Phoenix
« Respuesta #1 en: 28 de Marzo de 2016, a las 22:59 horas »
Te doy 1000€ por ella!!!!  ;D ;D ;D ;D ;D

Con el curro que le estas metiendo espero que ocupe un lugar de honor en tu coleccion de placas malditas.

Rockman

  • Con experiencia
  • ***
  • Mensajes: 1280
Re:[Reparación infernal] Bubble Bobble licencia Phoenix
« Respuesta #2 en: 28 de Marzo de 2016, a las 23:48 horas »
Quizás aquí en el foro te acaban de iluminar para acabar de sacarle los fallos de sincronismos del video. Pero vaya de momento estás haciendo una pedazo de reparación. De todas maneras yo creo que lo más gordo ya está hecho, lo que estarás anclado en algo que quzás es más sencillo de lo que crees.

Por cierto, anda que no tiene juguetes el niño ni na.... ;-)

Saludos.
RESUMEN: Proyecto de incluir versiones españolas de juegos a Mame (Oficial): http://www.aumap.org/foro/index.php?topic=1270.0

Marcos75

  • ****
  • Mensajes: 3042
  • Arcadero de los 80s
Re:[Reparación infernal] Bubble Bobble licencia Phoenix
« Respuesta #3 en: 01 de Abril de 2016, a las 16:14 horas »
Muchísimas gracias por la explicación tan detallada.

Es increíble cómo la máscara de soldadura está metida en las pistas. Los problemas parecen de fábrica, con lo que es imposible que esta placa haya estado en explotación, ¿no?

La verdad es que ya es un gran logro llegar hasta donde has llegado. Tiene que ser muy frustrante estar reparando una placa que sabes que puede tener pistas cortocircuitadas...

¡Ánimo!

Un saludo.


ArcadeHacker

  • Con experiencia
  • ***
  • Mensajes: 644
  • .
Re:[Reparación infernal] Bubble Bobble licencia Phoenix
« Respuesta #4 en: 03 de Mayo de 2016, a las 00:29 horas »
Buenas, finalmente la última parte de la reparación ha consistido en algo feo pero práctico.

El problema visible en el post anterior está relacionado con la mala distribución de un clock buffereado por un 74244, el IC89. Esta señal de clock se reparte a unos 10 integrados a traves de una linea que recorre casi toda la placa de video del bubble bobble.

Por algún motivo la avería desaparece cuando haces correr la señal a través de un trozo de cable relativamente largo antes de devolverla al sistema (con un cable más corto no se arregla). Mis conocimientos electricos se escapan a esta cuestión y tengo poca o cero idea de pq ocurre esto... He probado utilizando resistencias equivalentes a las que produce el cable (~100ohms), y tampoco he conseguido arreglarlo. También he probado sombrereando el 244 con otro pero tampoco arregla el problema.



Tambien he aprovechado para cambiar el operacional del audio y efectivamente ese cambio ha dejado el sonido claro y cristalino. Esta es una avería que he encontrado en otras placas Bubble Bobble, parece común.

Aqui el resultado, sorprendentemente el juego se ve y escucha mejor que mi bubble bobble 100% original taito.



Jugando un poco me he percatado que la placa todavía tiene un problema, si os fijais cuando el juego comienza, las burbujas de la derecha que salen en la intro cuando bob y bub flotan en el espacio se ven reflejadas en el otro lado. Este problema de sprites tb se ve cuando el player2 aparece para pedir insert coin y cruza el borde de la pantalla, parte del letrero se ve en la parte opuesta...
« última modificación: 03 de Mayo de 2016, a las 09:51 horas por ArcadeHacker »
Busco placa de Taito: Chack'n Pop.

Marcos75

  • ****
  • Mensajes: 3042
  • Arcadero de los 80s
Re:[Reparación infernal] Bubble Bobble licencia Phoenix
« Respuesta #5 en: 03 de Mayo de 2016, a las 09:55 horas »
Enhorabuena Arcadehacker por la reparación.

Yo de estos temas no entiendo mucho, y voy a hablar por hablar. Podría ser que la gracia del cable no esté tanto en el elemento resistivo que incluya, sino en el elemento "capacitivo". Quizá el problema pueda solucionarse de una manera más elegante, colocando un condensador (101, por ejemplo, para probar) entre esa señal de reloj y GND. Puedes probar en diversos sitios.

Muchas placas tienen condensadores de este estilo, y me da a mí que son para salvar problemas similares.

Un saludo.


ArcadeHacker

  • Con experiencia
  • ***
  • Mensajes: 644
  • .
Re:[Reparación infernal] Bubble Bobble licencia Phoenix
« Respuesta #6 en: 03 de Mayo de 2016, a las 16:54 horas »
He llegado a probar con un ceramico 104 pero nada... crees que he de hacerlo con un 101? Saludos
Busco placa de Taito: Chack'n Pop.

Marcos75

  • ****
  • Mensajes: 3042
  • Arcadero de los 80s
Re:[Reparación infernal] Bubble Bobble licencia Phoenix
« Respuesta #7 en: 03 de Mayo de 2016, a las 16:58 horas »
Sí. Ya te digo que no conozco la teoría, y hablo solamente de lo que he visto en las placas. Igual que para filtrado de alimentación se coloca un 104, para evitar "jitters", o ruido digital, o como se llame siempre he visto capacidades de valor mucho menor.

Merece la pena que pruebes con algo tipo 101, o como mucho 102, a ver si consigues algún resultado.

Un saludo.


Characa

  • Con experiencia
  • ***
  • Mensajes: 916
Re:[Reparación infernal] Bubble Bobble licencia Phoenix
« Respuesta #8 en: 03 de Mayo de 2016, a las 17:06 horas »
El problema visible en el post anterior está relacionado con la mala distribución de un clock buffereado por un 74244, el IC89. Esta señal de clock se reparte a unos 10 integrados a traves de una linea que recorre casi toda la placa de video del bubble bobble.

Porqué no pruebas este integrado poniendo uno de la serie HCT? yo solucioné un problema de ruido en una de mis placas GALAXIAN de ese modo.

Un saludo.

ArcadeHacker

  • Con experiencia
  • ***
  • Mensajes: 644
  • .
Re:[Reparación infernal] Bubble Bobble licencia Phoenix
« Respuesta #9 en: 03 de Mayo de 2016, a las 17:34 horas »
Al tratarse de una placa con tantos problemas y de una linea con 11 integrados (1 enisor y 10 receptores), no estoy nada seguro de donde se encuentra el problema, puedo probar a quitar ese 244 (emisor) y ver que pasa reemplazandolo, algo me dice que no va a pasar nada...

Cita de: Characa en03 de Mayo de 2016, a las  17:06 horas
El problema visible en el post anterior está relacionado con la mala distribución de un clock buffereado por un 74244, el IC89. Esta señal de clock se reparte a unos 10 integrados a traves de una linea que recorre casi toda la placa de video del bubble bobble.

Porqué no pruebas este integrado poniendo uno de la serie HCT? yo solucioné un problema de ruido en una de mis placas GALAXIAN de ese modo.

Un saludo.
Busco placa de Taito: Chack'n Pop.

Marcos75

  • ****
  • Mensajes: 3042
  • Arcadero de los 80s
Re:[Reparación infernal] Bubble Bobble licencia Phoenix
« Respuesta #10 en: 03 de Mayo de 2016, a las 18:12 horas »
He leído por ahí que el fanout de los LS puede rondar los 20, con lo cual estaríamos dentro de los límites.

Por intentar entender el problema: ¿qué has hecho realmente? ¿En qué momento o en qué punto sacas la señal al cable y en qué punto la vuelves a meter en la placa? ¿La coges directamente de la salida del 244, de forma que a todos los destinos llega después de haber pasado por ese "cable largo"?

Si la resistividad de las pistas está dentro de la normalidad, no es mala idea cambiar ese integrado. Yo no conozco muy bien la familia que te recomienda Characa, pero la familia S tiene menor retardo y mayor fan-out que la LS. De hecho, en algunas placas hay integrados que son "S" no por casualidad. Por ejemplo, las system 2 de SEGA llevan un 112 crítico en temas de "timming" y es un S. Lo intenté sustituir por un LS, y los resultados no fueron buenos.

Un saludo.


ArcadeHacker

  • Con experiencia
  • ***
  • Mensajes: 644
  • .
Re:[Reparación infernal] Bubble Bobble licencia Phoenix
« Respuesta #11 en: 03 de Mayo de 2016, a las 21:50 horas »
Lo que hice es aislar la salida del 244 levantando el pin, pasarla por un cable y volverla a meter en el circuito en cualquier punto de la cadena de integrados. Da igual en que punto la metas, mientras el cable sea moderadamente largo funciona, cuanto más corto se ve peor y peor.
Busco placa de Taito: Chack'n Pop.

Rockman

  • Con experiencia
  • ***
  • Mensajes: 1280
Re:[Reparación infernal] Bubble Bobble licencia Phoenix
« Respuesta #12 en: 04 de Mayo de 2016, a las 07:52 horas »
Por un lado podrias probar lo que ha comentado Characa.
Por otro tendrias que conseguir para cada uno de los ttl que reciben la señal y usar el comparador o sombrerear uno a uno. A ver si el problema será que una de las entradas esta medio chunga y el cable le ayude q estar en sus condiciones normales de trabajo.

Igual tambien podria observarse el comportamiento de los integrados que hacen de entrada con un analizador logico en modo asincrono para mirar de buscar glitches no esperados en las señales.

Es una averia de las jodidas.
RESUMEN: Proyecto de incluir versiones españolas de juegos a Mame (Oficial): http://www.aumap.org/foro/index.php?topic=1270.0

raulnga

  • Recien llegado
  • Mensajes: 93
Re:[Reparación infernal] Bubble Bobble licencia Phoenix
« Respuesta #13 en: 02 de Junio de 2016, a las 23:09 horas »
Enhorabuena por el trabajo. Eso si que es tesón! Eso sí, aunque sea una placa no totalmente original, siendo el juego que es, se lo merece.

Tennos al tanto de los últimos avances!
S2