Como diagnosticar problemas de ram en los spectrum 48K

Cursos, reparaciones, fichas, tutoriales, etc.

Moderador: Fundadores

Responder
Avatar de Usuario
hamham
Demonio segundo orden
Demonio segundo orden
Mensajes: 1854
Registrado: 02 Abr 2013, 18:17
Ubicación: Alicante
Has thanked: 5 times
Been thanked: 8 times
Contactar:

Como diagnosticar problemas de ram en los spectrum 48K

Mensaje por hamham » 10 May 2013, 12:49

Hola tropa, como la info para diagnosticar problemas en la ram de los gomitas esta bastante dispersa por la web, aqui os dejo una recopilacion que me hice en su dia para uso personal.
En ella hay tanto informacion del manual de servicio, como de los maestros del soldador que siempre estan ahi para ayudarnos cuando preguntamos en los foros.
Mis mas sentidos agradecimientos a todos ellos. ;)
Si encontrarais cualquier errata agradeceria que me lo hicierais saber para poder corregirla y esta info sea de la maxima utilidad para todos, asimismo cualquier conocimiento para ampliarla sera asimismo agredecida.
Saludos y espero que le sirva de utilidad a alguien. :mrgreen:

Si pensamos que tenemos un problema con la memoria Ram de nuestro spectrum estos son los pasos que deberias seguir:

1 - Lo primero es comprobar que esten correctamente alimentadas, los puntos de comprobación son los siguientes:
Imagen

2 - Si los voltajes son correctos y el spectrum no arranca podria darse el caso de que tuvieras problemas en la memoria alta, hay una cosa que puedes hacer para anularla y quedarte sólo con la memoria baja.
Hasta issue 4b cortocircuitar dos pines de uno de los integrados, el pin 5 de IC23, que debes puentearlo al pin 14 del mismo chip (+5V).
En el issue 5 y 6 esto se consigue llevando el pin 35 del PFC1306 a 5V (por ejemplo, uniendo ese pin 35 con el pin 40)
Haciendo ese puente se bloquea la memoria superior (32K) y el aparato aparece como si tuviera sólamente los 16K de memoria baja.
Si los voltajes son correctos y el spectrum no arranca tendras que ir probando a sustituir las memorias una a una o bien utilizar una Rom de testeo externa, en el Retrowiki magazine nº 1 mcleod_ideafix subió una y explica como utilizarla detalladamente como suele ser su costumbre..

Si los voltajes son correctos y el spectrum arranca hacemos un test de memoria.

Metodo service manual sinclair

Este metodo lo único que hace es introducir datos (poke) en la memoria y dependiendo del resultado puedes determinar si tienes uno o varios chip de la memoria cascados.
1 Ejecutar la sentencia.
PRINT PEEK 23732 + PEEK 23733 * 256
El valor que debe dar es:
(a) resultado para un 48k – 65535
(b) resultado para un16k - 32767
2 Si es distinto ejecutar la siguiente sentencia :
POKE 43201,85 : PRINT PEEK 43201 (= respuesta A)
Si el valor resultado es 85, y no estais comprobando un Spectrum16K probar la siguiente sentencia :
POKE 43201,170 : PRINT PEEK 43201 (= respuesta B)
Si la respuesta ( B ) es distinta a 170 mirar en la siguiente tabla para saber el IC que hay que sustituir. Igual procedimiento si el valor de la respuesta ( A ) no es 85.

Imagen

Por ejemplo si el resultado de la pregunta B = 234 , cambiar IC21

Si hay más de una ubicación RAM defectuosa el IC identificado tendrá que ser reparado antes de que sea posible continuar con el test, sustituyendo los IC necesarios hasta que los resultados sean correctos.

Metodo mcleod_ideafix

1. Haz PRINT 1+PEEK 23732+256*PEEK 23733 . El número que sale (33800 por ejemplo), lo anotas.

2. Haz:

POKE 33800,0: PRINT PEEK 33800
POKE 33800,255: PRINT PEEK 33800

3. Si en pantalla ves los números 0 y 255 respectivamente, significa que el fallo no es de memoria, o es un fallo de memoria intermitente. En tal caso, haz un programa que haga esta misma operación para todos los valores desde el 33800 hasta el 65535, y reporte las direcciones en las que falla. Algo así como esto:

10 FOR n=33800 TO 65535
20 POKE n,0: LET a=PEEK n: IF a<>0 THEN PRINT n; TAB 10;"0";TAB 20;a
30 POKE n,255: LET a=PEEK n: IF a<>255 THEN PRINT n;TAB 10;"255",TAB 20;a
40 NEXT n

Con suerte, este programa te podrá dar información extra que te valga para el siguiente paso. Si no es así, entonces casi casi seguro que el error no está en la memoria sino en otro sitio.

4. Si, como parece, alguno de los dos resultados es distinto del que debería dar, entonces coge el valor que salió y conviértelo a binario usando 8 bits (usando la calculadora de Windows, por ejemplo). Te saldrá un número con un montón de ceros, y algún que otro bit a 1, o bien un número con un montón de unos, y algún que otro bit a 0.

Los bits que se diferencian de los demás corresponden a chips de memoria estropeados. Cada bit es almacenado por un chip diferente, de forma que en tu resultado, el bit de más a la derecha (el menos significativo, o bit 0) es almacenado por el chip IC15. El siguiente, bit 1, lo almacena IC16, y así hasta el bit 7 (el de más a la izquierda), que es almacenado por IC22.

EJEMPLO 1
Haces los dos POKE's/PEEK's de rigor. En el primero sale un 8, y en el segundo 255. El 8 es el que no coincide con el valor esperado (0) así que lo pasas a binario usando 8 bits. Sale esto: 00001000
Cuenta de derecha a izquierda, y el bit "diferente" sale que está en la posición 3 (contamos siempre desde 0). El número de chip estropeado es IC18

EJEMPLO 2
Haces los dos POKE's/PEEK's de rigor. En el primero sale un 0, y en el segundo 111. El 111 es el que no coincide con el valor esperado (255) así que lo pasas a binario usando 8 bits. Sale esto: 01101111
Contando de derecha a izquierda, los bits "diferentes" son el 4 y el 7. Esto significa que hay dos chips estropeados: IC19 y IC22.

EJEMPLO 3
Haces los dos POKE's/PEEK's de rigor, y no sale nada extraño. Ejecutas el programa que te he puesto y aparecen estas líneas:

33802 ------ 0 ------2
33807 -----255 ----251

La segunda columna indica qué valor debería haber salido, y la tercera, el valor que realmente ha salido. En el primer caso, el 2 al pasarlo a binario nos da 00000010 . En el segundo caso, 251 al pasarlo a binario sale 11111011. Esto significa que están estropeados de forma intermitente IC16 e IC17.

Ah! Tampoco se comenta, pero es conveniente hacer los POKE/PEEK's cuando la ULA no está leyendo la pantalla, para que el bus flotante sea de verdad "flotante". Es decir:
POKE D+1,0: PAUSE 1: PRINT PEEK (D+1)

Igualmente es posible que pueda haber problemas en OTRO LADO sin que necesariamente sean las memorias
Puede pasar perfectamente. En tal caso, el culpable es uno de los multiplexores 74LS157.



Tenemos algun chip de memoria rota, ahora que?

Los modelos 48K tienen 2 bancos de memoria. Los primeros 16K son memoria 4116 con velocidad de acceso 150ns. ( IC6 - IC13 ), los restantes 32K son memorias 4532 con velocidad de acceso 200ns.( IC15 - IC22 )
Resulta obvio que los modelos de 16K no tienen los de memoria alta. ( IC15 – IC22 )
1 - Si tienes roto algun chip 4116. memoria baja
En este caso busca un 4116 con velocidad de acceso 150ns (chip 4116-15, 4116-2 ,
a veces viene como 416).
Si no lo encontraras puedes sustituirlo por un 4164 pero tendrias que modificarlo un poco primero para no cargartelo.
Lo ideal seria un 4164-15 o 4164-2 ( es otra nomenclatura 1-100, 2-150, 3-200ns ).
Si no lo encuentras de 150ns pues de una velocidad superior.
La cosa quedaria asi :
Levantamos el pin 1 y el pin 8 para que no entren en el zocalo,( este chip solo necesita la alimentación de +5v ), después hacemos un puente entre el pin 8 y el pin 9 y ya lo tenemos preparado para sustituir el 4116.

Imagen

Si no te a querado suficientemente clara la explicacion, pues a veces me explico como el
culx, jajajaja, aqui el mestre flopping se curro un mega tuto que no deja lugar a ninguna duda.
viewtopic.php?f=48&t=345

2 - Si tienes roto algún chip 4532. memoria alta

Estos chip son imposibles de encontrar. Basicamente la memoria 4532(32Kx1) es memoria 4164 (64Kx1) defectuosa que solo tenía bien la mitad.
Por eso todos los chip 4532 tienen una letrita H o L que indican que parte funciona. Si te bajas el esquema de tu issue verás que hay un selector para ajustarse a la memoria que se instalaba.
La solución es montar un chip 4164 con lo que solucionas todos los problemas. no te importara si es H o L.
Por ello, si tienes roto algún chip 4532 lo ideal es un chip 4164-20 o 4164-3
( es otra nomenclatura 1-100, 2-150, 3-200ns)
Si no lo encuentras de 200ns pues de una velocidad superior.
Última edición por hamham el 12 May 2013, 12:19, editado 1 vez en total.

Avatar de Usuario
España_Comunidad_Valenciana flopping
Fundador
Fundador
Mensajes: 9477
Registrado: 29 Mar 2013, 15:26
Ubicación: Valencia
Has thanked: 2 times
Been thanked: 239 times
Contactar:

Re: Como diagnosticar problemas de ram en los spectrum 48K

Mensaje por flopping » 10 May 2013, 13:35

Muy bueno si señor, esto ayudara a mas de uno.

Como las memorias 4164 ya empiezan a escasear o son algo caras, lo siguiente que haremos sera sustituir la memoria dinamica por memoria estatica, mas barata y facil de conseguir, a ver si me curro un tutorial y los ponemos todos juntitos, para ir resolviendo los problemas de nuestas maquinas, recordad que esto es solo lo relacionado con la memoria, pero nuestras maquinas tiene mas partes, como el micro, la rom, la ULA, etc...todo esto se puede aprender a testear o a revisar, viendo averias y soluciones, asi como el uso de ROM´s de testeo o placas expecificas para ayudarnos en estas tareas, estar atentos a las reparaciones y demas utensilios, que se van a ir colocando por este foro, salu2.
No me hago responsable de mis post pues estan escritos bajo la influencia del alcohol y drogas psicotropicas, por la esquizofrenia paranoide que padezco.
(C) 1982-2020, 38 años de ZX Spectrum.
http://www.va-de-retro.com/ un foro "diferente".

Avatar de Usuario
Bubu
Demonio segundo orden
Demonio segundo orden
Mensajes: 1125
Registrado: 02 May 2013, 20:35
Contactar:

Re: Como diagnosticar problemas de ram en los spectrum 48K

Mensaje por Bubu » 10 May 2013, 14:31

flopping, el tema de las SRAM está muy guay pero son sustituciones "guarras":

http://bitcycle.org/retro/spectrum/SRAM_replacement/

uséase, que yo sepa no hay chips SRAM de tal manera que quites los del Spectrum y los sustituyas direstamente, como sí ocurre con las 4164.
Si algo funciona... no lo toques. ¡¡Pero ni de coña!!

Avatar de Usuario
España_Comunidad_Valenciana flopping
Fundador
Fundador
Mensajes: 9477
Registrado: 29 Mar 2013, 15:26
Ubicación: Valencia
Has thanked: 2 times
Been thanked: 239 times
Contactar:

Re: Como diagnosticar problemas de ram en los spectrum 48K

Mensaje por flopping » 10 May 2013, 16:53

Bubu escribió:flopping, el tema de las SRAM está muy guay pero son sustituciones "guarras":

http://bitcycle.org/retro/spectrum/SRAM_replacement/

uséase, que yo sepa no hay chips SRAM de tal manera que quites los del Spectrum y los sustituyas direstamente, como sí ocurre con las 4164.
Bueno, eso no es asi del todo como dices, para la memoria baja del spectrum, no hay mas remedio que hacerlo metiendo electronica de por medio, pero para la memoria alta, al reves, hay que quitar electronica, se pueden quitar los chips de direccionamiento (multiplexores) y puentearlos, de forma que ya podriamos usar la memoria estatica, mas o menos casi directamente, no se puede usar directamente, quitar un chip y poner otro, por que los chips de memoria estatica tiene el bus de direcciones demultiplexado y tiene mas patillas que los de memoria dinamica, con lo que tendriamos que pinchar las señales necesarias de los 8 zocalos.

En la memoria baja no se puede hacer, sin meter electronica de por medio, por que como ya comentamos, la ULA da directamente el bus multiplexado, por lo que no podemos usar otra memoria sin meter algo de electronica de adaptacion, puesto que los multiplexores de la ULA son internos y no podemos eliminarlos.

De todas formas como bien dices, directamente, quitando un chip y poniendo otro, no se puede hacer, pero en la memoria alta como te digo, casi, casi, que se puede hacer sin meter electronica, simplemente quitando los chips multiplexores y la electronica de refresco y ya se podria meter una memoria estatica en vez de varias dinamicas.

Bueno, de hecho, tu tienes colocado un chip de RAM estatica de 32 en vez de los 8 chips, en tu spectrum portatil , asi que sabes muy bien de lo que hablamos, salu2.
No me hago responsable de mis post pues estan escritos bajo la influencia del alcohol y drogas psicotropicas, por la esquizofrenia paranoide que padezco.
(C) 1982-2020, 38 años de ZX Spectrum.
http://www.va-de-retro.com/ un foro "diferente".

Avatar de Usuario
España Goody
Fundador
Fundador
Mensajes: 4977
Registrado: 31 Mar 2013, 23:02
Ubicación: En mi barrio de los 80's
Has thanked: 1038 times
Been thanked: 135 times
Contactar:

Re: Como diagnosticar problemas de ram en los spectrum 48K

Mensaje por Goody » 10 May 2013, 18:21

Muchísimas gracias hamham :D
Saludos!!
La càpsula del temps
Mi mercadillo
El Goody de Va de Retro y WinUAEspañol ;)

Avatar de Usuario
Bubu
Demonio segundo orden
Demonio segundo orden
Mensajes: 1125
Registrado: 02 May 2013, 20:35
Contactar:

Re: Como diagnosticar problemas de ram en los spectrum 48K

Mensaje por Bubu » 11 May 2013, 11:52

flopping escribió: En la memoria baja no se puede hacer, sin meter electronica de por medio, por que como ya comentamos, la ULA da directamente el bus multiplexado, por lo que no podemos usar otra memoria sin meter algo de electronica de adaptacion, puesto que los multiplexores de la ULA son internos y no podemos eliminarlos.
Ya, lo que pasa es que la memoria poblemática es la baja, la alta (casi) nunca peta.

flopping escribió: Bueno, de hecho, tu tienes colocado un chip de RAM estatica de 32 en vez de los 8 chips, en tu spectrum portatil , asi que sabes muy bien de lo que hablamos, salu2.
¿Yoooooooooo? A mí que me registren, jiji. Mi portátil no ha sido modificado por dentro para nada, sólo para hacerle el mod AV ya que lleva un monitor TFT.
Si algo funciona... no lo toques. ¡¡Pero ni de coña!!

Avatar de Usuario
hamham
Demonio segundo orden
Demonio segundo orden
Mensajes: 1854
Registrado: 02 Abr 2013, 18:17
Ubicación: Alicante
Has thanked: 5 times
Been thanked: 8 times
Contactar:

Re: Como diagnosticar problemas de ram en los spectrum 48K

Mensaje por hamham » 12 May 2013, 12:22

Actualizo el post principal, con una descripicion de como testear la memoria facilitada por mcleod_ideafix.
No tiene desperdicio, que bueno es el jodio :D
saludetes

Avatar de Usuario
Pablibiris
USUARIO BANEADO
USUARIO BANEADO
Mensajes: 499
Registrado: 02 Abr 2013, 20:22
Ubicación: Valencia

Re: Como diagnosticar problemas de ram en los spectrum 48K

Mensaje por Pablibiris » 26 Sep 2013, 20:07

Joder...y yo perdiendome este hilo...
Genial Hamham! ;)
Pon un Z-80 en tu vida!
MIS COSITAS PARA VENDER/CAMBIAR

Avatar de Usuario
hamham
Demonio segundo orden
Demonio segundo orden
Mensajes: 1854
Registrado: 02 Abr 2013, 18:17
Ubicación: Alicante
Has thanked: 5 times
Been thanked: 8 times
Contactar:

Re: Como diagnosticar problemas de ram en los spectrum 48K

Mensaje por hamham » 26 Sep 2013, 23:45

Pablibiris escribió:Joder...y yo perdiendome este hilo...
Genial Hamham! ;)

estas cosas te pasan por vivir enterrado bajo toneladas de cintas de msx :)) :)) :))
bienvenido al lado oscuro del spectrum, ya tenemos otra victima mas
saludetes

Responder

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados