Problema de memoria extraño en ISSUE 3B [se repite ahora en un ISSUE 3]
Moderador: Fundadores
Problema de memoria extraño en ISSUE 3B [se repite ahora en un ISSUE 3]
Hola a todos,
Esto viene de otro hilo que... por no contaminarlo más... pues abro aquí este y a ver si alguien me puede ayudar (Flopping ya me ha dicho algo).
Se trata de un ISSUE 3B que enciende correctamente (tras cambiar el 7805 y TR4) pero que, al cargar algún programa, no funciona (otro sí).
Haciendo el test típico de memoria, todo aparenta estar correcto. Sin embargo lanzando el bucle de escritura en la RAM de 0 y 255 en cada dirección de memoria, me da este resultado:
- Prueba que me pidió Flopping: 32800 hasta la 32816 -> Todo correcto
- Otra más que me comentó: 65400 hasta la 65416 -> Todo correcto
- De hecho... todo correcto hasta llegar a la 65334 y de ahí hasta el final. Os pongo los primeros errores de esa zona... aunque son todos igual:
[Dirección / escrito / leído]
65334 / 255 / 219
65336 / 0 / 183
65336 / 255 / 183
65337 / 0 / 45
65337 / 255 / 45
65338 / 0 / 180
65338 / 255 / 180
65338 / 0 / 93
65338 / 255 / 93
65340 / 0 / 175
65340 / 255 / 175
...
65345 / 0 / 52
65345 / 255 / 52
...
65353 / 0 / 0 -> ¡Uno bien! Sonó la flauta
65353 / 255 / 0 -> ¡Ah no! es que siempre parece ser 0...
...
...
Y llegado sobre el 65370 se reseteó ... curioso...
Dicho esto, juraría que la primera vez que lancé el test, no repetía lo mismo en la dirección con 0 y 255... pero ahora sí es así...
Gracias por la ayuda... que llegará, llegará...
Esto viene de otro hilo que... por no contaminarlo más... pues abro aquí este y a ver si alguien me puede ayudar (Flopping ya me ha dicho algo).
Se trata de un ISSUE 3B que enciende correctamente (tras cambiar el 7805 y TR4) pero que, al cargar algún programa, no funciona (otro sí).
Haciendo el test típico de memoria, todo aparenta estar correcto. Sin embargo lanzando el bucle de escritura en la RAM de 0 y 255 en cada dirección de memoria, me da este resultado:
- Prueba que me pidió Flopping: 32800 hasta la 32816 -> Todo correcto
- Otra más que me comentó: 65400 hasta la 65416 -> Todo correcto
- De hecho... todo correcto hasta llegar a la 65334 y de ahí hasta el final. Os pongo los primeros errores de esa zona... aunque son todos igual:
[Dirección / escrito / leído]
65334 / 255 / 219
65336 / 0 / 183
65336 / 255 / 183
65337 / 0 / 45
65337 / 255 / 45
65338 / 0 / 180
65338 / 255 / 180
65338 / 0 / 93
65338 / 255 / 93
65340 / 0 / 175
65340 / 255 / 175
...
65345 / 0 / 52
65345 / 255 / 52
...
65353 / 0 / 0 -> ¡Uno bien! Sonó la flauta
65353 / 255 / 0 -> ¡Ah no! es que siempre parece ser 0...
...
...
Y llegado sobre el 65370 se reseteó ... curioso...
Dicho esto, juraría que la primera vez que lancé el test, no repetía lo mismo en la dirección con 0 y 255... pero ahora sí es así...
Gracias por la ayuda... que llegará, llegará...
Última edición por cdvazquez el 28 Abr 2017, 10:51, editado 1 vez en total.
- flopping
- Fundador
- Mensajes: 9971
- Registrado: 29 Mar 2013, 15:26
- Ubicación: Valencia
- Been thanked: 122 times
- Contactar:
Re: Problema de memoria extraño en ISSUE 3B
Vale, ¿estas seguro de lo que me dices, lee mas abajo.cdvazquez escribió: - Prueba que me pidió Flopping: 32800 hasta la 32816 -> Todo correcto
- Otra más que me comentó: 65400 hasta la 65416 -> Todo correcto
¿Como pueden estar bien las direciones de la 65400 a la 64416 y mal desde la 65334 hasta la 65536?, se supone que la 65400 esta despues de la 65334, ¿no?, vamos que algo no me cuadra, jajajajaaja...cdvazquez escribió: - De hecho... todo correcto hasta llegar a la 65334 y de ahí hasta el final con errores.
Bien mirando los resultados que me das, voy a ver si soy capaz de deducir algo, de momento todo parece indicar que son los multiplexores de la memroia alta, pero aun no te lo puedo asegurar, ya que podria ser tambien algun chip de memoria, dime una cosa,
¿la memoria es toda igual?, es decir, los chips de memoria alta, son todos iguales, misma marca, velocidad, etc...¿o hay alguno cambiado?.
Asi aventurandome un poco, yo diria que tienes mal IC25 un 74LS157, y no descarto que tambien este mal IC26, pero de momento centremonos en IC25.
No me hago responsable de mis post pues estan escritos bajo la influencia del alcohol y drogas psicotropicas, por la esquizofrenia paranoide.
(C) 1982-2024, 42 años de ZX Spectrum.
http://www.va-de-retro.com/ un foro "diferente".
Mi juego, que puedes descargar desde aqui
(C) 1982-2024, 42 años de ZX Spectrum.
http://www.va-de-retro.com/ un foro "diferente".
Mi juego, que puedes descargar desde aqui
- tacha
- Hermano de Lucifer
- Mensajes: 3139
- Registrado: 04 Abr 2013, 20:22
- Ubicación: Montevideo, Uruguay
- Has thanked: 44 times
- Been thanked: 30 times
- Contactar:
Re: Problema de memoria extraño en ISSUE 3B
ZAS!! jopta!! eso mismo me pasaba en la +2 gris que nunca he terminado de reparar... sigo atento el hiloflopping escribió:Vale, ¿estas seguro de lo que me dices, lee mas abajo.cdvazquez escribió: - Prueba que me pidió Flopping: 32800 hasta la 32816 -> Todo correcto
- Otra más que me comentó: 65400 hasta la 65416 -> Todo correcto
¿Como pueden estar bien las direciones de la 65400 a la 64416 y mal desde la 65334 hasta la 65536?, se supone que la 65400 esta despues de la 65334, ¿no?, vamos que algo no me cuadra, jajajajaaja...cdvazquez escribió: - De hecho... todo correcto hasta llegar a la 65334 y de ahí hasta el final con errores.
Bien mirando los resultados que me das, voy a ver si soy capaz de deducir algo, de momento todo parece indicar que son los multiplexores de la memroia alta, pero aun no te lo puedo asegurar, ya que podria ser tambien algun chip de memoria, dime una cosa,
¿la memoria es toda igual?, es decir, los chips de memoria lata, son todos iguales, misma marca, velocidad, etc...¿o hay alguno cambiado?.
Asi aventurandome un poco, yo diria que tienes mal IC25 un 74LS157, y no descarto que tambien este mal IC26, pero de momento centremonos en IC25.
66 6C 6F 70 70 69 6E 67 20 6D 61 73 63 61 20 50 30 6C 6C 34 / 6D 61 73 20 63 6F 74 69 6C 6C 61 20 73 65 72 E1 73 20 74 75 20 49 7A 61 72 6F 20 3A 70
Re: Problema de memoria extraño en ISSUE 3B
Hola de nuevo,
Tienes toda la razón, Flopping... estoy siendo poco preciso y he presupuesto cosas... Hice un pequeño programa en BASIC escribiendo 0 y 255 con un bucle FOR y que imprime por pantalla si hay algún error (si no, no imprime nada), a partir de ahí:
- Utilizando los rangos que me indicaste, no hay errores.
- A partir de 65334 empiezan a aparecer errores contínuamente (una página tras otra... con el "scroll?")
En esta ocasión se reseteó pero otras veces salían más páginas... pero obviamente no las vi todas... está claro que el problema no es hasta el final (tu rango es posterior)... pero ayer ya era tarde y estaba un poco apirolado ya... jajajaja.
Gracias por la indicación, a ver si tengo algún chip de esos o lo puedo sacar de otra placa para probar.
En cualquier caso, ¿nos podrías explicar como funciona lo de los multiplexores y como intervienen los diferentes chips en cada zona de memoria? ... lo de arreglarlo está estupendo pero me gusta entender el por qué...
Gracias por la ayuda
Tienes toda la razón, Flopping... estoy siendo poco preciso y he presupuesto cosas... Hice un pequeño programa en BASIC escribiendo 0 y 255 con un bucle FOR y que imprime por pantalla si hay algún error (si no, no imprime nada), a partir de ahí:
- Utilizando los rangos que me indicaste, no hay errores.
- A partir de 65334 empiezan a aparecer errores contínuamente (una página tras otra... con el "scroll?")
En esta ocasión se reseteó pero otras veces salían más páginas... pero obviamente no las vi todas... está claro que el problema no es hasta el final (tu rango es posterior)... pero ayer ya era tarde y estaba un poco apirolado ya... jajajaja.
Gracias por la indicación, a ver si tengo algún chip de esos o lo puedo sacar de otra placa para probar.
En cualquier caso, ¿nos podrías explicar como funciona lo de los multiplexores y como intervienen los diferentes chips en cada zona de memoria? ... lo de arreglarlo está estupendo pero me gusta entender el por qué...
Gracias por la ayuda
- flopping
- Fundador
- Mensajes: 9971
- Registrado: 29 Mar 2013, 15:26
- Ubicación: Valencia
- Been thanked: 122 times
- Contactar:
Re: Problema de memoria extraño en ISSUE 3B
Ah vale, entonces no me engañes jodio, jajajajaaja.....no es lo mismo que fallen todas las posisiciones a partir de una en concreto a que fallen unas determinadas, me gustaria saber por ejemplo que direcciones fallan y cuales no, ya que para hacer una explicacion adecuada, necesito ese dato, de todas formas, no soy el unico de este foro que puede darte explicaciones, es mas, seguro que alguien controla mejor que yo el tema del spectrm y sabe mas, pero bueno, yo intentare explicar lo poco que se, para que asi aprendamos todos un poco mas, de momento como te digo, cambia IC25, puedes hacer una cosa, si no tienes a mano un 74LS157, cambia o permuta IC25 por IC26, de esta forma, sabremos si el problema se traslada a otras posiciones de memoria o sigue en las mismas, si cambia, es que uno de esos integrados esta mal, como te digo de momento me parece que es IC25, si no cambia nada y el problema sigue en las mismas direciones, entonces esos IC´s no son los causantes del mal, a no ser que esten los dos mal y de la misma forma, algo casi casi imposible, jajajaja..
Bueno, pues eso, de momento ponzocalos a los integrados que vayas sacando y asi sera mas facil su cambio y podremos hacer pruebas mas facilmente, ya nos cuentas a ver como queda el tema, salu2.
Bueno, pues eso, de momento ponzocalos a los integrados que vayas sacando y asi sera mas facil su cambio y podremos hacer pruebas mas facilmente, ya nos cuentas a ver como queda el tema, salu2.
No me hago responsable de mis post pues estan escritos bajo la influencia del alcohol y drogas psicotropicas, por la esquizofrenia paranoide.
(C) 1982-2024, 42 años de ZX Spectrum.
http://www.va-de-retro.com/ un foro "diferente".
Mi juego, que puedes descargar desde aqui
(C) 1982-2024, 42 años de ZX Spectrum.
http://www.va-de-retro.com/ un foro "diferente".
Mi juego, que puedes descargar desde aqui
- tacha
- Hermano de Lucifer
- Mensajes: 3139
- Registrado: 04 Abr 2013, 20:22
- Ubicación: Montevideo, Uruguay
- Has thanked: 44 times
- Been thanked: 30 times
- Contactar:
Re: Problema de memoria extraño en ISSUE 3B
a ver... me voy a citar yo mismo en un hilo de shikitin, donde explico que hago los mismos pokes y en vez de saltarme el valor que poketeo, salta cualquier otro:
√
√
¿que hay en esta zona de memoria? O_Otacha escribió: 3-He salvado bloques de 128 bytes desde la direccion 27400 a la 65535 y me los ha devuelto ok. Cabe aclarar que he encontrado unos bytes "sucios" antes de USR "a", al parecer son una parte del sistema operativo de la +2gris y +2a/b?? acabo de corroborar en el emulador FUSE y esta parte de la memoria esta igual. pueden probar en un emulador en modo +2 un POKE 65361,2 o POKE 65361,x ... siempre hay algo nuevo para aprender .
66 6C 6F 70 70 69 6E 67 20 6D 61 73 63 61 20 50 30 6C 6C 34 / 6D 61 73 20 63 6F 74 69 6C 6C 61 20 73 65 72 E1 73 20 74 75 20 49 7A 61 72 6F 20 3A 70
- flopping
- Fundador
- Mensajes: 9971
- Registrado: 29 Mar 2013, 15:26
- Ubicación: Valencia
- Been thanked: 122 times
- Contactar:
Re: Problema de memoria extraño en ISSUE 3B
Esto quiza te lo podria explicar alguien mas dado en este tema, pero creo que tiene que ver con o siguiente, cuando tu tienes un spectrum de 16K, que en realidad son 32K, 16K de Rom y 16K de Ram, cuyas direcciones van de la 0 a la 32768, y en un spectrum de 64k, aunque le decimos de 48K, ademas de lo antes dicho, tenemos otro bloque de 32k de ram, de la 32768 a la 65536, bien, esto esta claro, y aunque creamos que la memoria ram debe de estar vacia y dispuesta para nuesrtro uso, eso no es asi, ya que existen una cosa, que se llaman variables del sistema, donde se guardan cosas como la autorepeticion de las teclas y cosas asi, que intervienen en el sistema y que se guardan en determinadas posiciones de memoria, que en un spectrum de 16K estan en un sitio y en uno de 48K, puede estar en el mismo sitio o quiza al detectar memoria, se trasladen a otras posiciones, esto ultimo no lo tengo muy claro, ya que creo que no es asi, pero es posible que al tener 48K, halla ciertas posiciones de memoria, que no deban de estra vacias, ya que se guardan ciertas cosas alli, como las variables que ya he conmentado o cosas necesarias para la deteccion de la memoria y demas, como os digo, yo no soy ningun experto en esto, quiza un programador lo tenga mas claro y en el manual del spectrum pone algo al rerspecto, esto me lo lei hace mas de 30 años y como entendereis, ya no lo recuero con precision, pero vamos, que no toda la memoria Ram esta libre para nuestro uso, ni vacia tampoco, salu2.tacha escribió:a ver... me voy a citar yo mismo en un hilo de shikitin, donde explico que hago los mismos pokes y en vez de saltarme el valor que poketeo, salta cualquier otro:
√¿que hay en esta zona de memoria? O_Otacha escribió: 3-He salvado bloques de 128 bytes desde la direccion 27400 a la 65535 y me los ha devuelto ok. Cabe aclarar que he encontrado unos bytes "sucios" antes de USR "a", al parecer son una parte del sistema operativo de la +2gris y +2a/b?? acabo de corroborar en el emulador FUSE y esta parte de la memoria esta igual. pueden probar en un emulador en modo +2 un POKE 65361,2 o POKE 65361,x ... siempre hay algo nuevo para aprender .
No me hago responsable de mis post pues estan escritos bajo la influencia del alcohol y drogas psicotropicas, por la esquizofrenia paranoide.
(C) 1982-2024, 42 años de ZX Spectrum.
http://www.va-de-retro.com/ un foro "diferente".
Mi juego, que puedes descargar desde aqui
(C) 1982-2024, 42 años de ZX Spectrum.
http://www.va-de-retro.com/ un foro "diferente".
Mi juego, que puedes descargar desde aqui
- wilco2009
- Hermano de Lucifer
- Mensajes: 8152
- Registrado: 01 Abr 2013, 23:47
- Ubicación: Valencia
- Has thanked: 47 times
- Been thanked: 101 times
Re: Problema de memoria extraño en ISSUE 3B
Vamos a ver si podemos probar una teoría que se me ha ocurrido.
En principio, la memoria alta no debería cambiar su valor así porque sí, a no ser que tuviera los chips de RAM mal, pero la memoria baja sí, ya que allí escribe el sistema operativo.
Supongamos que tenemos los chips de RAM bien, entonces ¿qué puede estar ocurriendo?. Pues lo que se me ha ocurrido es que quizás estamos accediendo a la memoria alta y sin embargo el sistema nos devuelve valores de la memoria baja.
Vamos a hacer una prueba. Escribamos el siguiente programa:
A ver si imprime algo este programa.
En principio, la memoria alta no debería cambiar su valor así porque sí, a no ser que tuviera los chips de RAM mal, pero la memoria baja sí, ya que allí escribe el sistema operativo.
Supongamos que tenemos los chips de RAM bien, entonces ¿qué puede estar ocurriendo?. Pues lo que se me ha ocurrido es que quizás estamos accediendo a la memoria alta y sin embargo el sistema nos devuelve valores de la memoria baja.
Vamos a hacer una prueba. Escribamos el siguiente programa:
Código: Seleccionar todo
10 FOR N = 16384 TO 32767
20 POKE N+16384,0
30 IF PEEK(N) <> 0 THEN GOTO 100
40 POKE N+16384,255
50 IF PEEK(N) <> 255 THEN GOTO 100
60 PRINT N; " = "; N+16384
100 NEXT N
"Aprender a volar es todo un arte. Aunque sólo hay que cogerle el truco. Consiste en tirarse al suelo y fallar".
Douglas Adams. Guía del autoestopista galáctico.
Douglas Adams. Guía del autoestopista galáctico.
- javu61
- Fundador
- Mensajes: 2175
- Registrado: 30 Mar 2013, 11:58
- Ubicación: Valencia
- Been thanked: 76 times
- Contactar:
Re: Problema de memoria extraño en ISSUE 3B
Pues debe imprimir siempre, ya que la memoria debe estar a cero y si no hay fallos el peek retornará un cero, por tanto antes deberías grabar un valor en la memoria alta diferente para a 00h o FFh
Larga vida y prosperidad \\//_
- wilco2009
- Hermano de Lucifer
- Mensajes: 8152
- Registrado: 01 Abr 2013, 23:47
- Ubicación: Valencia
- Has thanked: 47 times
- Been thanked: 101 times
Re: Problema de memoria extraño en ISSUE 3B
Cierto, aunque lo que hay que hacer es modificar la memoria baja, no la alta, y como es algo delicado voy a empezar desde el final hacia atrás y modificaré solo un valor al mismo tiempo, devolviendo el mismo valor que había antes de modificar el siguiente.
Código: Seleccionar todo
10 FOR N = 32767 TO 16384 STEP -1
15 A = PEEK(N)
17 POKE N, 255
20 POKE N+16384,0
30 IF PEEK(N) <> 0 THEN GOTO 100
40 POKE N+16384,255
50 IF PEEK(N) <> 255 THEN GOTO 100
60 PRINT N; " = "; N+16384
100 POKE N,A
110 NEXT N
"Aprender a volar es todo un arte. Aunque sólo hay que cogerle el truco. Consiste en tirarse al suelo y fallar".
Douglas Adams. Guía del autoestopista galáctico.
Douglas Adams. Guía del autoestopista galáctico.