![]() |
|||||||||
|
|
|||||||||
A
REPARANDO MPU BALLY
Por ZZT
La MPU es una de varias placas electrónicas (tarjetas) 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 es la CPU Motorola 6800 el cual es el cerebro de la máquina. Esta tarjeta es la que controla todo el funcionamiento del flippers 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 es la CPU.
¿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 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 describiré lo que cada parpadeo nos indica:
Aca podemos apreciar una MPU que parte y da la correcta secuencia de siete parpadeos.
A
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 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 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 "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.
A
Séptimo 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 séptimo parpadeo y el programa quedará detenido hasta que se repare el problema.
-----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