Ir al contenido principal

El botiquín del Spectrum: Componentes de repuesto


Debido a la avanzada edad de nuestros Spectrum, hay que estar prevenidos ante cualquier imprevisto que pueda surgir en forma de avería. Como hemos podido ver en alguna de las reparaciones que he publicado en este blog, me ha hecho falta una serie de componentes electrónicos, que en algún caso no los tenía, y he tenido que esperar a conseguirlos yendo a una tienda de electrónica o comprándolos por internet. 

Para no encontrarnos en esta situación, he identificado cuales son las averías más frecuentes y qué componentes harían falta para poner de nuevo en marcha a nuestro Spectrum. 

CPU

La CPU que nos podemos encontrar en el ZX Spectrum puede ser Zilog Z80A de 4MHz o NEC D780-C, ambas totalmente compatibles. Aunque el cristal de cuarzo para generar una señal de reloj estable es de 14MHz, realmente la señal de reloj que utiliza la CPU es la marcada por el pin 32 (CLK) de la ULA. Esta señal tiene una frecuenca de 3,5MHZ, que es el resultado de dividir por 4 la señal de reloj producida por el cristal de cuarzo.
Por este motivo, da igual elegir una CPU de 4, 6, 8 ó 20MHz, ya que ésta funcionará, en cualquiera de los casos, a una frecuencia menor marcada por la ULA de 3,5MHz. En mi caso decidí cambiar una CPU Z0840004PSC de 4MHz por una Z084C0020PEC de 20MHz para probar el comportamiento.




Si comparamos las dos CPUs, se puede ver que hay ciertas ventajas a la hora de utilizar una CPU de más velocidad debido a que está hecha para tener una disipación en vatios menor y es capaz de funcionar a una temperatura máxima mucho más alta.


Finalmente, debido al correcto funcionamiento, dejé puesta la CPU de 20MHz en detrimento de la de 4MHZ, que aunque funcionaba, la guardé junto al lote de CPUs de 20MHz que compré. 



Durante el tiempo que he utilizado el Spectrum con la nueva CPU y haciendo un uso continuado de varias horas, no he experimentado nada raro, mostrándose el mismo comportamiento de siempre.

Uno de los motivos fundamentales para cambiar la CPU es que a la hora de conectar un dispositivo externo por el puerto de expansión, como por ejemplo un DivMMC, puede que no funcione correctamente debido a que la CPU antígua puede presentar anomalías de timing o una señal M1 débil.

Memoria RAM

Que la memoria falle puede ser por múltiples motivos, uno de ellos es que se conecte o desconecte un dispositivo del bus de expansión con el Spectrum encendido, haciendo que éste posiblemente no arranque mostrando una imagen con barras verticales de color blanco y negro, o un borde blanco con un fondo de pantalla de otro color, o puntos negros, o sprites flaseando en pantalla, etc... 

En el ZX Spectrum de 48K los primeros 16KB se corresponden con la memoria ROM, y esta empieza desde la dirección 0 hasta la dirección 16384 (16x1024), seguida por los 16KB de RAM de memoria baja hasta la dirección 32768 y continuada por los 32KB de memoria alta que nos lleva hasta el último byte direccionable correpondiente a la dirección 65535. 

La memoria baja son 8 chips que se localizan en la placa base como los ICs que van del IC6 al IC13, el IC6 es el bit 0, o menos significativo, y el IC13 es el bit 7, o más significativo. Y la memoria alta son otros 8 chips del IC15 al IC22, siendo el chip 15 el bit 0 y el chip 22 el bit 7.


En amarillo los chips de IC6 a IC13 (memoria baja) y en verde los chips de IC15 a IC22 (memoria alta)
Los chips de memoria baja son los 4116, que son memorias DRAM de 16Kx1bit.



La memoria alta suelen ser los chips TMS4532 o MSM3732 de 32Kx1bit. Con estos 16 chips de memoria se consiguen finalmente los 48KB de memoria RAM.



Para localizar qué chip está fallando, existen múltiples métodos, si el Spectrum no arranca, primero hay que ver si llegan los (+-)5V y 12V a todos los chips de memoria, si no llega es un problema de voltaje. Posiblemente el chip que falla es el que esté más caliente o, dependiendo del color de la imagen que aparece en pantalla, se puede identificar cual es el que falla con este método How to Quickly Diagnose 48K RAM failures (Nija Style)
Si el Spectrum arranca, el siguiente procedimiento sirve para localizar el chip que está fallando. 
  • Ejecutar en BASIC: PRINT PEEK 23732 + 256 * PEEK 23733
  • Si el resultado es inferior a 65535 (Spectrum 48K) o 32767 (Spectrum 16K), algún chip de memoria no funciona.
  • Se le suma 1 al resultado que nos ha dado y se ejecuta lo siguiente. Por ejemplo, si el resultado que nos ha dado es 54321, ejecutaríamos:

POKE 54322,85 (Enter)

PRINT PEEK 54322 (Enter)

  • Se repite la misma ejecución pero en lugar de utilizar el valor 85, se utiliza el valor 170. 
  • Para ver qué chip de memoria está fallando, según el resultado obtenido, en la siguiente tabla nos indica cual es el que no funciona. Si el valor que nos dió inicialmente está por debajo de 32767 tenemos que fijarnos en la columna de los ICs de 6 a 13, y si nos dio un valor superior, en la columna de los ICs del 15 al 22.
Valor erróneo obtenido en el paso 3  Bit erróneo Chip defectuoso 16k Chip defectuoso 32k
84 o 171 0 IC6 IC15
87 o 168 1 IC7 IC16
81 o 174 2 IC8 IC17
93 o 162 3 IC9 IC18
69 o 186 4 IC10 IC19
117 o 138 5 IC11 IC20
21 o 234 6 IC12 IC21
213 o 4 7 IC13 IC22

Una vez localizado el chip que falla, posiblemente esté soldado directamente en la placa, si es así, lo primero que hay que hacer es desoldarle. Para hacer esto, como suelo comentar, con una malla de desoldar y flux (pasta de soldar) suele salir bastante bien el estaño y nos queda un trabajo bastante limpio. Una vez quitado el chip, se suelda un zócalo donde antes estaba el chip. 

Para sustituir los chips de memoria se tienen que seguir las siguientes reglas:

  • Memoria baja (4116): se pueden sustituir por otra memoria del mismo tipo, una alternativa es cambiarlas por memorias TMS4116-15nl ( tiempo máximo de acceso de 150ns), también he probado sustituir una 4116 por una memoria TMS4116-25nl (tiempo máximo de acceso de 250ns) y me ha funcionado.
  • Memoria alta: En este caso si se tienen memorias TMS4532, se puede cambiar el chip que falla por un TMS4164, en mi caso utilizo TMS4164-15nl (tiempo máximo de acceso de 150ns). Pero si se tienen memorias de OKI (MSM3732), no es suficiente con solo cambiar el chip que falla por un TMS4164, sino que hay que cambiar los 8. 
Para la memoria RAM es relativamente fácil encontrar chips, pero hay que tener cuidado con los pedidos por internet, ya que en una famosa web china pedí un lote de TMS4116-15nl, y sin embargo, me enviaron chips TMS4116-25nl, lo único que pude hacer fue quejarme con comentarios negativos y poner una mala valoración. Pero ¿el Spectrum funcionaría con estas memorias con un tiempo de acceso mucho mayor de los 150ns? En mi caso cambié todos los módulos y funcionó, el análisis del porqué lo puedes encontrar en esta entrada de blog ¿Puedo utilizar memorias DRAM 4116 de 250ns en mi ZX Spectrum?.

En el ZX81 la memoria RAM son dos chips 2114 (1Kx4bits). Los Spectrum +2A/+2B/+3 nos solemos encontrar con 4 módulos de memoria RAM de 64k X 4 del tipo MT4067-10, de un tiempo de acceso RAS de 100ns, estas memorias suelen ser caras, por lo que la mejor opción para sustituirlas son las TMS4464-10NL. 


Pin-out memoria TMS4464 (izq) y MT4067-10 (der)

Multiplexores

Nos podemos encontrar que aun habiendo cambiado todos los chips de memoria, baja o alta, sigue fallando el acceso a memoria, esto puede ser debido a que los multiplexores que facilitan el acceso a memoria a la CPU estén fallando. En los ZX Spectrum de 48K nos encontramos 4 chips de este tipo, los IC3 y IC4, que dan acceso a memoria baja, y los IC25/IC26. Estos multiplexores se pueden sustituir por chips 74LS157N.



ROM

Si nos falla la ROM, en el ZX Spectrum 48K se puede sustituir por una EPROM de 16KB 27C128 o por una de 32KB com es la EPROM 27C256. Además de programarla, como hay ciertas diferencias entre la EPROM y la ROM del Spectrum, se requieren cambios en la PCB para que la EPROM funcione. 

Para el Spectrum +2A/+3, se pueden sustituir las dos ROMs por EPROMs ya programadas como son las +3e, que básicamente son dos EPROMs de 32K del tipo 27C256. Únicamente hace falta programar las dos ROMs y colocarlas en el Spectrum. También se pueden comprar ya programadas en tiendas web especializadas. 

El ZX81 tiene una ROM ZCM38818P de 24 pines, las EPROMs por lo general son de 28 pines. La ROM del ZX81 se puede sustituir por una EPROM 28C64 de 28 pines que hay que montar sobre una pequeña placa para adaptarla, con una tira de pines, a 24 pines. La venden ya montada, pero a un precio prohibitivo, como el circuito es muy sencillo, es mejor la opción de hacerlo nosotros mismos. 

Condensadores

En muchos casos no es necesario cambiar los condensadores electrolíticos, pero debido a que los que equipaban nuestros Spectrum no eran de muy buena calidad y con el tiempo tienden a secarse, para que estos sigan dando la prestación correcta, es recomendable cambiarlos.

En la web Re-caping the Spectrum de una forma visual se puede identificar, por cada versión de placa base, dónde se encuentran los condensadores electrolíticos que tenemos que cambiar.

Transistores

Las averías más frecuentes que nos podemos encontrar con un fallo en un transistor suelen ser con la imagen de vídeo, desde que se muestre la pantalla en negro, o no se muestra color (imagen en blanco y negro) hasta que la imagen salga totalmente distorsionada.


Imagen incorrecta por mal funcionamiento del transitor TR2 (ZTX313) 
El motivo de que se viera tan mal la imagen era porque no funcionaba el transistor TR2 (ZTX313), al cambiarlo se volvió a ver la imagen perfectamente.

En el caso que la pantalla salga en negro o sin color es debido a que los transistores TR4 y TR5 del circuito boost DC-DC no están funcionando, y no se están generando los 12V que necesita el chip de vídeo, si el voltaje es muy bajo, cerca de 0V, se mostrará la imagen en negro, y si el voltaje está cerca de 9V, se mostrará en blanco y negro. En esta entrada de blog se explica cómo medir los transistores y reparar la avería de imagen en blanco y negro: Reparación ZX Spectrum 48K: Imagen en blanco y negro.

Los transistores que deberíamos tener en nuestro botiquín deberían ser principalmente ZTX313, ZTX213, ZTX650 y BC549B.




Listado de transistores obtenido del ZX Spectrum Service Manual 

Chip de Vídeo

Si el circuito boost DC-DC funciona perfectamente dando los 12V que el chip de vídeo necesita para funcionar, los transistores del circuito de salida de vídeo hacia el modulador están bien y le hemos hecho un recap al Spectrum, a no ser que la imagen se vea mal sea por un problema de la ULA, posiblemente sea necesario sustituir este chip.

En el ZX Spectrum de 48K la salida de vídeo compuesto la genera el chip LM1889N y en los modelos de 128K es el TEA2000. Comentar además que en los modelos de 128K, la salida RGB es producida directamente por la ULA o Gate Array en el caso de +2A y +3. 


ULA

Para verificar si el problema es de la ULA, lo mejor es seguir las indicaciones del manual de servicio del Spectrum y con un osciloscopio revisar si la ULA funciona o no. 

Lo más rápido para verificar el estado de la ULA es hacer swapping con otra que sepamos que funciona, como este chip suele ir en zócalo se puede extraer sin tener que desoldarlo. Si disponemos de otro Spectrum que funciona, para probar la ULA que creemos que falla, la ponemos en el Spectrum que sí funciona. Para extraer el chip lo recomendable es utilizar herramientas de extracción y no utilizar un destornillador o tirar del chip con la mano. 

Si la ULA falla, esta es una de las perores situaciones con la que nos podemos encontrar, ya que estos chips no se fabrican y si nos encontramos alguno en venta hay que desconfiar de que funcione. Pero afortunadamente hay solución, y podemos adquirir nuevos diseños de ULA basados en CPLD o FPGA para sustituir el chip defectuoso. 

Para los modelos de Amstrad +2A y +3, el chip es el Gate Array, la única posibilidad es adquirir uno de segunda mano, ya que no existe la alternativa de FPGA/CPLD.

Entre las alternativas FPGA/CPLD tenemos las siguientes: 
  • ZX Spectrum 48K: Nebula y vLA82.
  • ZX Spectrum 128K (toastrack) y +2 (gris): vLA128.
  • ZX81: vLA81.

Botiquín

Un posible botiquín que podríamos tener, sin tener en cuenta componentes que son muy fácil de conseguir como condensadores, resistencias y diodos, ni tampoco otros componentes como pueden ser las membranas, podría ser el siguiente: 

Componente ZX Spectrum 48K (precio en €) Spectrum +128k/+2 Gris (precio en €) Spectrum +2A/+3 (precio en €) ZX81 (precio en €)
CPU Zilog Z80 (10 unidades) 7,03 7,03 7,03 7,03
RAM TMS4116-15NL (10 unidades) 2,46
RAM TMS4164-15NL (20 unidades) 3,58
RAM UPD2114LC (5 unidades) 2,36
RAM TMS4464-10NL (10 unidades) 7,97 7,97
EROM 27C256 (10 unidades) 6,15 6,15 6,15
EPROM 28C64 (5 unidades) 4,39
Chip de vídeo LM1889N (10 unidades) 9,04
Chip de vídeo TEA2000 (10 unidades) 9,86 9,86
Transistor ZTX313 (10 unidades) 6,01 6,01
Transistor ZTX213 (10 unidades) 12,01 12,01
Transistor ZTX650 (10 unidades) 5,25 5,25
Transistor BC184/BC549B(20 unidades) 0,85
ULA Nebula/vLA82 22
ULA VLA128 22
ULA vLA81 22
TOTAL 74,38 76,28 31,01 35,78

Nota: Estos precios han sido obtenidos de las webs Aliexpress, SellMyRetro y Retroleum, y solo se ha tenido en cuenta el precio del producto, por lo que habría que añadir a parte los gastos de envío. 

Aunque el precio del mantenimiento parezca caro, es un pequeño esfuerzo que hay que hacer para mantener en buen estado nuestros equipos, y de esta forma, nos sigan dando horas y horas de entretenimiento.

D. R Spectrum



Comentarios

Entradas populares de este blog

ZX Spectrum: Consejos para comprar un Spectrum

Nos hemos llenado de nostalgia y queremos revivir la sensación de disfrutar de ese Spectrum que tuvimos cuando eramos niños. Hasta aquí todo suena muy bien, pero no es algo que nos lo tengamos que tomar muy a la ligera, debido a que si optamos por comprarnos uno de segunda mano, muy posiblemente éste requiera de una restauración y reparación, con todo lo que supone, es decir, tener conocimientos de electrónica, aunque sean básicos, saber identificar averías, realizar modificaciones, cambiar piezas dañadas, y un largo etcétera, que nos quitará tiempo y supondrá gastarnos más pasta para conseguir que el cacharro funcione finalmente.

Si no hemos sido capaces de encontrar nuestro Spectrum en casa de nuestros padres, antes de decidirnos a comprar uno, lo mejor es probar primero con un emulador, para ver si esto consigue paliar ese ataque de nostalgia. Existen emuladores para plataformas como Windows, Linux, Android, etc... A mí personalmente no me atraen demasiado, pero lo mejor es darle u…

Reparación ZX Spectrum 48K: Imagen en blanco y negro

Cuando encendemos nuestro Spectrum, de vez en cuando y no muy raramente en ordenadores de más de 30 años, nos podemos encontrar con alguna sorpresa desagradable en forma de fallo, y esto es exactamente lo que me acaba de pasar. 

Como se puede apreciar en la fotografía, la imagen aparece en blanco y negro. Este fallo es muy difícil de detectar al encender el Spectrum, debido a que los colores que predominan en el inicio es un PAPER 7 e INK 0 (colores blanco y negro), pero si cargamos un programa o juego, es ahí cuando nos damos cuenta de que algo no va bien, al ver que no hay color. En la imagen se puede apreciar que poniendo un BORDER de color, ésta se ve con tonalidades en blanco y negro.

Llegados a este punto la típica pregunta que nos hacemos es ¿Cómo arreglo yo esto? Lo primero que tenemos que hacer es abrir el Spectrum y ver qué versión de la placa base tenemos.


Placa base de Spectrum 48K Issue 4A
Esta placa es una Issue 4A, haciendo zoom en la zona de la foto que se ha enmarcado en …

Mod de vídeo compuesto en Atari 2600 Jr

Hace aproximadamente un año y medio compré dos Atari 2600 Jr, a priori estaban en un buen estado, pero lo típico, me las vendieron sin probar, ya que decían que no disponían de los cables y el alimentador. Al conectarlas a una televisión moderna por antena RF, en ninguna de las dos conseguí que se pudiera ver la imagen, por lo que o no funcionaban o tenía que hacer el mod de vídeo para poder jugar con estas en mi tele. 

En un principio que tuvieran algún problema de funcionamiento no era algo que me preocupara demasiado, ya que la Atari 2600 es una consola muy simple, que básicamente dispone de una CPU (6507), una memoria ram + I/O (RIOT 6532) y un chip de vídeo y audio (TIA), de los que aún existen repuestos y son muy fácil de conseguir.

Antes de abrir las consolas, y ver a qué me estaba enfrentando, lo primero que hice fue buscar cómo realizar el mod de vídeo. Al empezar a indagar, me sorprendió que existieran múltiples formas de hacerlo, unas más intrusivas que otras y muy distintas …