El pasado mas presente que nunca

A

REPARANDO MPU BALLY

Por ZZT

La MPU es una de varias placas o tarjetas electrónicas que son parte del funcionamiento de un flipper. Ubicada en el cabezal o "backbox" es el soporte de varios componentes, entre ellos el más importante la CPU Motorola 6800, verdadero cerebro de la máquina. Además esta tarjeta es la encargada de controlar todo el funcionamiento del flipper y podemos considerarla una verdadera mini-computadora. Cualquier falla en ella hará que la máquina no funcione o lo haga de manera extraña o indebida. No hay que confundirse con las siglas: La tarjeta completa se llama MPU y el chip principal CPU.

Ahora, ¿Se a dado cuenta que los flippers Bally no encienden de inmediato? Esto sucede porque la máquina ejecuta un programa de diagnóstico antes de permitir que el juego esté disponible. Y esto es de máxima utilidad ya que nos permite identificar con relativa facilidad distintas fallas en los circuitos de la tarjeta MPU.

Para permitirnos visualizar el resultado de estos diagnósticos, la tarjeta MPU tiene un diodo emisor de luz o "LED" el cual al encender la máquina emite una cierta cantidad de parpadeos. Cada parpadeo indica que pasó exitosamente una prueba y por lo tanto debemos estar felices de esta espera de 7 segundos aproximadamente. A continuación se detalla lo que cada parpadeo indica:

Aca podemos apreciar una MPU que parte y da la correcta secuencia de siete parpadeos.

A

REVISIONES BASICAS

Si el flipper enciende, pero solo lo hacen las luces eso indica que al menos el transformador está bien. Consiga el manual esquemático de su máquina, ya sea original en papel o digital en http://www.ipdb.org/search.pl

Ahora, veremos los voltajes.

TENGA PRECAUCIÓN EN LAS SIGUIENTES PLACAS HAY VOLTAJE LETAL!!!

Lo siguiente a revisar es en la tarjeta "Driver Board", teniendo en cuenta que hay voltaje extremadamente peligroso!! Ya que los displays de gas se alimentan con aprox. 190V, este voltaje puede causar fibrilación ventricular, paro cardiaco y por ende la muerte. Pero bueno, si nos cuidamos nada pasará. Hay que verificar que los 5V medidos en TP1 y 12V en TP5 estén presentes. Si no estan revise la placa rectificadora (la que esta junto al transformador) pues el fusible F3 puede estar quemado. OJO: Esta placa también es peligrosa, use guantes si no esta seguro de lo que hace o donde no debe meter los dedos. Si los fusibles estan bien es posible que el puente rectificador esté quemado. Si todo está correcto y aun no hay voltaje en la driver board, los culpables seran los conectores o molex o sus soldaduras. Deberan ser reemplazados o resoldados.

Si los voltajes estan bien, entonces vamos a la MPU. Si no hay ningún parpadeo, lo primero que debe hacerse es ver que la pata 40 de la CPU mida unos 5V. Si está no marca nada (0V) quiere decir que la señal de RESET esta pegada. LAB: sacar la CPU de su base y doblar con cuidado el pin 40 para después soldar una resistencia de 1K hacia algun componente que tenga los 5V. Volver a insertar la CPU en su base y probar la tarjeta.
Si eso no solucionó el problema lo siguiente es reemplazar TODOS los sockets o bases porta integrado. Con eso se elimina la primera variable que puede impedir el funcionamiento del flipper.

Por último hay que estar seguro que los chips ROM esten correctos. Lo ideal es quemar eproms nuevas, sin estar seguro de esto la máquina jamás va a funcionar.

Esta guia no contempla reparación en caso de corrosión por el ácido de la bateria. En ese caso es muchisimo más complicado, puede la mayoría de los componentes del area afectada deberan reemplazarse. Tarea que debe realizar un verdadero experto en la materia.

Bueno, ya agotamos lo básico. Ahora debemos guiarnos por los "parpadeos".

 

PRIMER PARPADEO BREVE

Este primer parpadeo no es parte del programa de diagnóstico, más bien es parte del paso del estado de apagado a encendido. Al encender el flipper la CPU 6800 requiere que los 5V y 12V correspondientes a los voltajes de alimentación y la señal de CLOCK (reloj) Ø1 y Ø2 estén presentes. Si no se cumple con cualquiera de estas tres cosas la MPU jamás va a funcionar. Además necesitamos que la línea RESET cambie de 0 a 1 (4.8V) permitiendo que la CPU pueda comenzar a ejecutar los códigos contenidos en las ROM.

Usando el esquemático: Con multitester revise los voltajes marcados con puntos rojos. Para revisar los chips generadores de la señal CLOCK (U15 y U16), utilizando un osciloscopio, debe comprobar que las señales Ø1 y Ø2 esten presentes en las resistencias R8 y R9 y en las patas 3 y 37 de la CPU (U9). No se conforme con revisar solo que lleguen a las resistencias, ya que si la base del chip (socket) está mala es posible que la señal no haga contacto con el chip. También es prudente revisar la señal Ø2 externa, ya que es parte de la sincronización de los demás chips con la CPU.

Si Ud. dispone de un osciloscopio, así se deben ver las señales Ø1 ó Ø2 en las patas 3 y 37 de la CPU respectivamente. Desafortunadamente este osciloscopio no es de doble trazo y no podemos apreciar que ambas señales no son idénticas ya que están desfasadas en 180º.

A

El RESET es generado por un circuito que es crítico en el funcionamiento de la máquina. Este se llama “detector de voltaje válido” ó VALID POWER DETECTOR. La función de este circuito es mantener en nivel bajo ó "0" la señal de reset, impidiendo que la CPU comience a trabajar hasta que el voltaje (5V) esté correctamente estabilizado. Esto significa que cuando la máquina es encendida tienen que pasar unos cuantos milisegundos para que el condensador C23 (11000uF) ubicado en la tarjeta DRIVER BOARD se cargue al nivel normal de trabajo.

Usando el esquemático: Con multitester revise los voltajes marcados con puntos rojos. En TP2 mida 12V (aprox.) que vienen desde el condensador C23 ubicado en la Driver board. Si el voltaje no esta presente, revise que éste salga desde el conector J3 pata 11 de la driver board y llegue a la pata 12 del conector J4 de la MPU. Este voltaje se aplica al diodo zener VR1 que conectado en serie con la base del transistor Q1 demora que éste entre en conducción hasta que el condensador C23 se haya cargado con 8.9V aprox. Cuando este condensador a superado la carga los transistores Q1 y Q5 entran en conducción haciendo que la línea RESET se vaya a nivel alto ó "1" y permita que la CPU comience a operar. La sección marcada en azul es parte del circuito de alimentación auxiliar de la ram 5101 (baterias) y además mantiene energizados los transistores. Con la máquina encendida en CR5 debe medir entre 5V y 4.7V y con la máquina apagada 3.5V aprox.

Como podemos ver, cualquier componente de esta sección que esté malo causará que la línea RESET se mantenga en 0 impidiendo que la CPU parta. La utilidad principal de este circuito es impedir que la CPU comience a ejecutar las instrucciones del programa antes de que el voltaje este correctamente estabilizado. Y tan importante es que al no estar el voltaje apropiadamente estable la CPU puede malinterpretar los códigos del programa contenidos en las ROM saliéndose del orden normal y/o ejecutar código basura, haciendo que la máquina funcione de una manera errática o bien no funcione para nada. El programa contenido en las ROM tiene un orden preciso y no pueden haber errores.

Resumen: Si no hay primer parpadeo o el led permanece siempre encendido o apagado, hay que revisar las señales de clock, 5V (TP1), 12V (TP2) y 43V(TP3). Es muy normal que el ácido de las pilas haya corroído la sección de reset y esta no este funcionando. También es muy útil tener una CPU 6800 buena a mano.

Luego de este primer breve parpadeo, la CPU ira a buscar la primera instrucción en la ROM, la cual la lleva a ejecutar el programa de diagnóstico. Este programa causará una secuencia de 7 parpadeos más sólidos, los cuales explicaré a continuación.

A

LOS 7 PARPADEOS

Primer parpadeo

La primera tarea del programa de diagnóstico, es revisar los chips U1-U2-U6 (ROMs o PROMs de 2KB x 8bits). El test consiste en tomar el primer byte de la ROM U1 y lo suma con el segundo byte y el resultado se suma al tercer byte y así sucesivamente hasta completar los 2048 bytes de la memoria (2KB). Si la suma de todos los bytes es 0000 0000 pasa a revisar ROM U2, repitiendo el mismo proceso y por último U6. Si la suma de U6 es 0000 0000 el LED emitirá el primer parpadeo.

Hay que aclarar que en cada ROM se incluyen algunos bytes que solo están para que la suma sea la correcta. Se sobreentiende que el programa contenido en la memoria por si solo no va a darnos 0000 0000 a menos que sea por suerte. Estos bytes agregados se llaman CHECKSUM y fuerzan a que el resultado de la suma cada 512 bytes sea 0000 0000. Durante la vida de trabajo de estas máquinas más de algún bit de los 49152 contenidos entre las tres roms puede perderse o modificarse, esto es lo que detecta este test.

Resumen: Si U1, U2 ó U6 tienen errores en el código o están completamente malas, no habrá primer parpadeo y el programa quedará detenido. Para remediar esto hay que reemplazar las memorias defectuosas. Como el diagnóstico no especifica cual o cuales memorias están malas, deberemos sacarlas y probarlas en un lector/grabador de memorias, teniendo a mano el código correcto para hacer la comparación.

Nota: Las memorias ROM o PROM no se pueden borrar, sin embargo los bits contenidos en ellas pueden cambiar por defectos propios de la memoria. Algunas máquinas usan memorias EPROM las cuales si se pueden borrar y regrabar. Esto no lo puede hacer la máquina por si sola, solo es posible retirandola de la placa, borrandola en un dispositivo especial (borrador de eproms) y poniendola en un lector/grabador para regrabarlas o leerlas en caso de querer revisar su contenido.

A

Segundo parpadeo

Revisando U7 (RAM 6810 de 128 bytes x 8 bits). El diagnóstico consiste en borrar el contenido del primer byte dejándolo en 0000 0000 para inmediatamente leerlo. Si el contenido es efectivamente 0000 0000 (indicado que fue borrada exitosamente) le sumará 1 (obteniendo 0000 0001) y así seguirá sumando hasta completar 255 (1111 1111). Al final de este proceso leerá el valor final y si el resultado es el 1111 1111 esperado continuará hasta hacer lo mismo con cada uno de los 127 bytes restantes. Si cada byte está correcto el LED parpadeará por segunda vez.

Resumen: Si U7 tienen errores en algún byte o está completamente mala, no habrá segundo parpadeo y el programa quedará detenido. Para remediar esto hay que reemplazar la memoria.

Nota: Las memorias RAM si pueden ser borradas, grabadas y leidas por la CPU.

A

Tercer parpadeo

Revisando U8 (STATIC RAM L5101 de 256 bytes x 4 bits). Esta memoria RAM es la encargada de conservar los datos del puntaje más alto (Hi-score o record), cantidad de créditos y otros datos que no se deben borrar. Por lo tanto luego de probar la memoria todos los datos deben ser restaurados en su posición original. Esta conservación es posible gracias a que su alimentación, mientras la máquina está apagada, es proporcionada por dos o tres pilas. Hay que aclarar que esta memoria no es de 8bits, solo almacena 4bits por cada posición de memoria por eso podemos decir que guarda "medio-byte" (los bits marcados como XXXX son ignorados ya que no existen). El test consiste en copiar el valor del primer medio-byte a la RAM U8. Luego borra este primer medio-byte y lee para revisar que haya quedado en 0000 XXXX Si el resultado fue el esperado 0000 le suma 1 (obteniendo 0001 XXXX). Y continua repitiendo la suma hasta obtener 1111 XXXX. Si el resultado fue el esperado la posición se considera buena y se restaura el valor original. Luego repite todo el proceso con cada uno de los 255 medio-bytes restantes. Si después de todo el proceso cada byte se determinó como correcto, el LED parpadeará por tercera vez.

Resumen: Si U8 tienen errores en algún byte o está completamente mala, no habrá tercer parpadeo y el programa quedará detenido. Para remediar esto hay que reemplazar esta memoria. Como el chip está obsoleto hace muchos años, he desarrollado un adaptador para solucionar el problema.

Nota: Si la bateria esta mala, la memoria nunca conservará datos después que la máquina sea apagada.

A

Cuarto parpadeo

Revisando U10 (PIA 6820). El chip PIA es controlado a través de las líneas de entrada RSO, RS1, CS0, CS1 y CS2. Por medio de ellas el puerto puede configurarse para ser entrada o salida de datos. Estos puertos están marcados como PA0 a PA7 y PB0 a PB7 para un total de 16 posibles entradas o salidas. Estas líneas también nos permiten controlar que los puertos CA2 y CB2 sean entrada o salida de datos. Finalmente los puertos marcados como CA1 y CB1 se pueden usar solo como entrada de datos, pudiendo programarse para estar activos al caer el flanco de positivo a negativo o viceversa.

Para determinar si la PIA esta funcionando correctamente el programa de diagnóstico hará lo siguiente:

I- El programa entra, por medio de las entradas RS0, RS1, CS0, CS1 y CS2, a los dos registros usándolos para almacenar la información de inicialización de los puertos (primero el PA, luego el PB). Luego hace el mismo proceso de suma que con el test de prueba de la RAM hasta completar 256. Si cada valor escrito luego es leído correctamente el test continua. Si algún error es encontrado en esta sección del diagnóstico el programa quedará detenido hasta que se reemplace la PIA U10.

II- Ahora, por medio de las mismas entradas RS0, RS1, CS0, CS1 y CS2 se programan los registros, dejándolos como salida de datos. Hace el mismo proceso de suma descrito para el registro anterior. Si cada valor escrito es leído correctamente el test continuará. Si algún error es encontrado en esta sección del diagnóstico el programa quedará detenido hasta que se reemplace la PIA U10.

III- Y nuevamente gracias a las entradas RS0, RS1, CS0, CS1 y CS2, se accede a los puertos CA2 y CB2. Inicializandolos como salida de datos. Se escribe un "1" y después un "0". Si ambos puertos están bien obtendremos el 4º parpadeo. El puerto CA1 en la PIA U10 se prueba manualmente cada vez que presionamos el botón de TEST que esta en la puerta de la máquina. El puerto CB1 es revisado en la sección del 6º parpadeo. Si algún error es encontrado en esta sección del diagnóstico el programa quedará detenido hasta que se reemplace la PIA U10.

Resumen: Si algún error es encontrado en el diagnóstico no habrá cuarto parpadeo y el programa quedará detenido hasta que se reemplace la PIA U10.

Nota: La PIA U10 lee los distintos interruptores de la máquina y tablero (playfield) y además envia los puntajes a las pantallas.

A

Quinto parpadeo

Revisando U11 (PIA 6820). Se verifica de la misma manera que la PIA U10. Si pasa todos los diagnósticos, obtendremos el quinto parpadeo. El puerto CA1 de esta PIA es probado más tarde en el 7º parpadeo.

Para determinar si la PIA esta funcionando correctamente el programa de diagnóstico hará lo siguiente:

I- El programa entra, por medio de las entradas RS0, RS1, CS0, CS1 y CS2, a los dos registros usándolos para almacenar la información de inicialización de los puertos (primero el PA, luego el PB). Luego hace el mismo proceso de suma que con el test de prueba de la RAM hasta completar 256. Si cada valor escrito luego es leído correctamente el test continua. Si algún error es encontrado en esta sección del diagnóstico el programa quedará detenido hasta que se reemplace la PIA U11.

II- Ahora, por medio de las mismas entradas RS0, RS1, CS0, CS1 y CS2 se programan los registros, dejándolos como salida de datos. Hace el mismo proceso de suma descrito para el registro anterior. Si cada valor escrito es leído correctamente el test continuará. Si algún error es encontrado en esta sección del diagnóstico el programa quedará detenido hasta que se reemplace la PIA U11.

III- Y nuevamente gracias a las entradas RS0, RS1, CS0, CS1 y CS2, se accede a los puertos CA2 y CB2. Inicializandolos como salida de datos. Se escribe un "1" y después un "0". Si ambos puertos están bien obtendremos el 4º parpadeo. El puerto CA1 en la PIA U10 se prueba manualmente cada vez que presionamos el botón de TEST que esta en la puerta de la máquina. El puerto CB1 es revisado en la sección del 6º parpadeo. Si algún error es encontrado en esta sección del diagnóstico el programa quedará detenido hasta que se reemplace la PIA U11.

Resumen: Si algún error es encontrado en el diagnóstico no habrá quinto parpadeo y el programa quedará detenido hasta que se reemplace la PIA U11.

A pesar de todo este refinado programa de diagnóstico es posible que hayan fallas. Ya que el buffer que conecta el registro interno con el mundo exterior no puede ser probado por el diagnóstico, es posible que una PIA este bien internamente pero alguno de los pines no se comunique correctamente con los componentes externos ya sea entrada o salida de datos. Esta incertidumbre reduce la exactitud del diagnóstico haciendo que el técnico trabaje un poco más para detectar que el problema es una de las PIA.

Nota: la PIA U11 envia los datos para la activación de los solenoides, el encendido de las ampolletas y los sonidos.

A

Sexto parpadeo

Revisando circuito DISPLAY INTERRUPT GENERATOR. Para detectar su correcto funcionamiento el programa usa el puerto CA1 de la PIA U11. Si una transición de 1 a 0 es detectada se presume que el circuito DISPLAY INTERRUPT GENERATOR está trabajando correctamente y obtendremos el séptimo parpadeo.

Usando el esquemático: Usando multitester revise los voltajes del chip U12, la pata 7 debe medir 2.6V, la pata 3 debe medir 4.5V, la pata 5 debe medir 3.3V. Usando el osciloscopio revise la señal generada en la pata 3 del chip U12, la cual debe estar presente en la pata 40 de la PIA chip U11.

Si Ud. dispone de un osciloscopio, así se debe ver la señal en la pata 3 del chip U12 y 40 del chip U11.

Resumen: Si el chip U12 (LM555 timer) o alguno sus componentes asociados está fallando, no obtendremos el sexto parpadeo y el programa quedará detenido hasta que se repare el problema.

Séptimo parpadeo

Revisando circuito "ZERO CROSSING DETECTOR". Para detectar su correcto funcionamiento, el programa usa el pin 18 (CB1) de la PIA U10. Si una transición de 1 a 0 es detectada, se presume que el circuito Zero Crossing Detector está trabajando y así obtenemos el sexto parpadeo. Si el chip U14 está malo y la línea que va desde él hacia CB1 esta pegada en 1 ó 0 el programa quedará detenido y no obtendremos el sexto parpadeo. Este chip está conectado a los 43V que alimentan las bobinas (solenoides). Si por algún motivo este voltaje no está presente (por ejemplo fusible F4 quemado), tampoco obtendremos el sexto parpadeo quedando el programa detenido hasta que se repare el problema.

Usando el esquemático: Con multitester revise los voltajes marcados con puntos rojos. TP3 debe medir 43Volts DC. Si este voltaje no esta presente revise el fusible correspondiente en la fuente de poder. Si el fusible esta bueno, es posible que el conector de la fuente o el conector de la MPU J4 pata 15 este malo. En ambos casos revise que el voltaje salga del conector de la fuente y llegue al conector de la MPU.
En el chip U14, pata 14 mida 4.9V, en la pata 15 ó 9 mida .25V, en la pata 10 ó 5 mida 4.5V y finalmente en la pata 4 mida 0.25V si cualquier voltaje eno es el que corresponde cambie el chip U14. Además revise que la señal llegue a la pata 18 de la PIA U10. Si la señal llega bien a la PIA es probable que ésta esté mala.

Si Ud. dispone de un osciloscopio, así se debe ver la señal en la pata 4 del chip U14 y 18 del chip U10. Hay que reclacar que esta señal, al ser tomada de los 43 volts (correspondientes a las bobinas) y a pesar de estar rectificados, !no estan filtrados¡ por lo tanto la señal "parpadea" en concordancia con los hertz de la línea de corriente (50 ciclos por segundo en Chile). Por lo tanto es clave en el funcionamiento de la máquina ya que se usa como señal de sincronismo.

-----o-----

Finalizando los siete parpadeos el led permanecerá semi-encendido. Esto no debe preocuparnos ya que es parte normal del funcionamiento de la máquina.

Si la MPU pasa exitosamente todos los diagnósticos, se supone que la máquina esta operacional y el programa inicializa las PIA, como entrada y salida de datos según corresponda, leerá los DIP-SW y guardará en la RAM sus valores los que le dan los parámetros de funcionamiento a la máquina, como la cantidad de especiales, bolas extra, etc. Encenderá las pantallas y ejecutará el modo de espera (attract mode), esperando que le hechen una ficha. Mientras tanto realizará unas entretenidas secuencias de encendido de luces y algunas máquinas emiten algún sonido cada cierto tiempo invitandonos a jugar.

No espero que esta guía arregle de forma mágica alguna MPU, pero en la mayor parte de los casos le ayudará a encontrar el problema y eventualmente solucionarlo.

Disclaimer: Toda la información aquí entregada es gratuita y sin garantía. Apesar de eso, se asegura que todo fue comprobado y es fruto de 25 años de experiencia en la materia.

¿Alguna duda? Puedes consultar en el foro.

a