miércoles, 31 de julio de 2019

Reparando la placa de un C64C

Os cuento esta pequeña batallita por si alguna vez os encontráis con averías similares en vuestro C64. El año pasado compré en eBay una placa de C64C que teóricamente funcionaba correctamente, y a la que únicamente le faltaba el chip SID 8580, que conseguí también en eBay. Utilicé la placa durante un tiempo con el SD2IEC y EasyFlash3 sin ningún problema, pero al probar a cargar algún juego por cinta con un datasette detecté que algo no iba bien: el motor giraba continuamente. Más adelante comprobé que al conectarle un Tapuino, el ordenador directamente no arrancaba. También encontré otra avería: usar un joystick en el puerto 1 provocaba comportamientos extraños como reinicios de la máquina.
La placa con el cartucho Doktor64 y los conectores de loop, los dichosos "harnesses" en inglés.


Para poder detectar y encontrar las causas de estas y otras averías, recientemente adquirí un kit consistente en un cartucho de diagnóstico C64 Doctor (o Doktor64 en algunos sitios) + conectores de loop para testear las conexiones (puertos serie, paralelo y de cassette, joysticks y teclado), ya que aunque ya tenía un cartucho de diagnósticos, sin los conectores no podía localizar averías en determinados componentes.
Kit de cartucho C64 Doctor + conectores de loop/harnesses.


Al margen de esto, consulté el Service Manual para C64/C64C de CBM para averiguar las causas.

Entradas de las tablas de solución de problemas del manual, con las dos averías de mi placa.


El diagnóstico: la CPU MOS 8500 (controla el motor del cassette) y las CIAs MOS 6526 (controlan la mayoría de entradas y salidas del ordenador, como las de los joysticks) estaban dañadas.
Resultado de los tests de C64 Doctor en la placa, indicando las averías.
 
Revisé los chips que tenía por casa de otras placas averiadas y por fortuna tenía algunas CIAs y un 6510, que es compatible con el 8500 que llevaban algunos C64C.
Una de las CIAs averiadas.


Así que me dispuse a desoldar los componentes, reemplazarlos por zócalos y conectar chips en mejor estado. Comencé por las CIAs, y una vez sustituidas, C64 Doctor lo reflejaba en sus tests.
La CIA anterior reemplazada por un zócalo.


Al pasarle el C64 Doctor a la placa pude comprobar que esta vez únicamente aparecía la avería del puerto del cassette. A continuación retiré la CPU, coloqué en su lugar un zócalo y en éste instalé un chip 6510.
Resultado del test de C64 Doctor, que esta vez únicamente muestra la avería de la CPU.


Al volver a comprobar en C64 Doctor el funcionamiento de la placa, esta vez los tests indicaban que todo funcionaba correctamente, aún teniendo en cuenta que este y otros cartuchos pueden dar falsos positivos en la detección de averías en placas de modelos C64C. Ahora ya puedo volver a usar Tapuino en esta placa y los joysticks se comportan de forma correcta.
El test final indica que ya no hay averías en la placa.


Espero que esto os ayude en caso que os encontréis averías similares en vuestros C64. En estos tiempos tenemos la gran suerte de contar con una amplia gama de herramientas y una ingente cantidad de documentación sobre nuestras máquinas, y sobre todo podemos acceder a dicha información de forma inmediata y gratuita, algo que hace 30 años era impensable. Todo esto hace que reparar nuestros viejos cacharros en casa sea mucho más sencillo que antaño.


Salu2, Paco.