Spectrum +2 pasa diagnósticos pero falla al cargar juegos

Moderador: Fundadores

Responder
Avatar de Usuario
llopis
Demonio tercer orden
Demonio tercer orden
Mensajes: 787
Registrado: 05 Jul 2018, 09:43
Ubicación: Asturias
Has thanked: 2 times
Been thanked: 21 times
Contactar:

Spectrum +2 pasa diagnósticos pero falla al cargar juegos

Mensaje por llopis »

Acabo de reparar un Spectrum +2 negro (Issue 1 para más datos). Tenía las típicas memorias fundidas. Le meto los diagnósticos desde el Dandanator y pasa todo. Hasta ahí todo bien.

Pero resulta que en cuanto empiezo a jugar a algo, pufff, se resetea! (esto no es lo de la incompatibilidad del 128K que me pasó otra vez :) ). Por ejemplo le meto el Rainbow Islands desde el Dandanator, carga la pantalla de presentación, hace la animación, y se resetea. Lo hago en otro +2 negro que tengo y funciona a la perfección. Esto pasa con casi todos (pero no todos) los juegos.

También comprobé que pasa lo mismo cargando juegos desde cinta, o sea que no es algo que tenga que ver con el Dandanator.

He cambiado el Z80 y las memorias, pero todo sigue igual. Me temo que va a ser el integrado ASIC ese, porque no hay mucho más en esa placa :-( Por si acaso me repasé todas las conexiones de chip y están todas bien.

¿A alguien se le ocurre lo que puede ser, o qué cosas puedo probar para averiguar de dónde viene el problema?
ehontecillas
Demonio tercer orden
Demonio tercer orden
Mensajes: 533
Registrado: 29 Abr 2013, 23:08
Has thanked: 7 times
Been thanked: 79 times

Re: Spectrum +2 pasa diagnósticos pero falla al cargar juegos

Mensaje por ehontecillas »

A mi me pasó algo parecido. Lo solucioné montando memorias más rápidas.

Suerte
Avatar de Usuario
Spirax !Sinclair 1
Demonio tercer orden
Demonio tercer orden
Mensajes: 715
Registrado: 09 Oct 2017, 17:03
Ubicación: Leganes (Madrid)
Has thanked: 24 times
Been thanked: 46 times

Re: Spectrum +2 pasa diagnósticos pero falla al cargar juegos

Mensaje por Spirax »

hola llopis.
yo tuve un problema rarisimo con un +3.
me pasaba todos los test de memoria que probé, tanto el de retroleun como en el brendan.
Al final el problema del mio era que las memorias eran de distintas velocidades y fallaba la contencion de memoria.

me ayudaron una utilidades de diagnostico del zxuno.
viewtopic.php?f=18&t=6867&start=20#p122937

mira este hila y prueba los taps, deberian de funcionar todos.
si se resetea con alguno hay algo mal .....

saludos
Avatar de Usuario
javu61 !Sinclair QL
Fundador
Fundador
Mensajes: 2175
Registrado: 30 Mar 2013, 11:58
Ubicación: Valencia
Been thanked: 76 times
Contactar:

Re: Spectrum +2 pasa diagnósticos pero falla al cargar juegos

Mensaje por javu61 »

No te olvide de las ROM, si fallan en alguna llamada puede haer un jmp 0 y reiniciar la máquina, a mi me pasaba con un +2, se solucionó cambiandolas.
Larga vida y prosperidad \\//_
Avatar de Usuario
llopis
Demonio tercer orden
Demonio tercer orden
Mensajes: 787
Registrado: 05 Jul 2018, 09:43
Ubicación: Asturias
Has thanked: 2 times
Been thanked: 21 times
Contactar:

Re: Spectrum +2 pasa diagnósticos pero falla al cargar juegos

Mensaje por llopis »

javu61 escribió: 21 Ene 2019, 23:43 No te olvide de las ROM, si fallan en alguna llamada puede haer un jmp 0 y reiniciar la máquina, a mi me pasaba con un +2, se solucionó cambiandolas.
Esas están bien, que el test de ZX Diagnostics las comprueba y las da como buenas.

Lo de las memorias, tenéis razón de que van a ir por ahí los tiros. De hecho, me las miré con más detalle, y tenía 3 de 10ns y 1 de 12ns. Las puse todas de 10ns y... todavía nada.

Pero estuve hablando con Brendan (el del test de ZX Diagnostics) y me dijo lo siguiente:
Regarding the black +2, check that it has either MT or AMS branded RAM in it – anything else is known to cause instability in Issue 1 +2A’s.
Muy curioso! Sobre todo si sólo pasa en los issue 1. Voy a ver si tengo esas memorias por ahí en otro modelo y compruebo.
Avatar de Usuario
javu61 !Sinclair QL
Fundador
Fundador
Mensajes: 2175
Registrado: 30 Mar 2013, 11:58
Ubicación: Valencia
Been thanked: 76 times
Contactar:

Re: Spectrum +2 pasa diagnósticos pero falla al cargar juegos

Mensaje por javu61 »

No conjozco exactamente como funciona el ZX Diagnostics. La verificación de las ROM se puede hacer de dos maneras, una es verificar que se puede leer toda la información y que si se leen varias veces los resultados son los mismos, la otra es comparar el contenido con lo que debería haber y para eso es necesario disponer de un fichero con los datos a comparar. Si se usa la primera puedes pasar el test, pero no te garantiza que funcionen bien, si se usa la segunda si que se garantiza el funcionamiento.

De todas formas es muy sencillo cambiarlas y descartar que sea eso, los test no siempre son fiables pues depende de muchos factores, por ejemplo puede que la lectura secuencial funcione bien y la aleatoria no, o en acceso aleatorio solo falle cuando se salta varios bloques de memoria por fallo del demuplexor interno, pero funcione bien cuando son bloques contíguos.
Larga vida y prosperidad \\//_
Avatar de Usuario
Spirax !Sinclair 1
Demonio tercer orden
Demonio tercer orden
Mensajes: 715
Registrado: 09 Oct 2017, 17:03
Ubicación: Leganes (Madrid)
Has thanked: 24 times
Been thanked: 46 times

Re: Spectrum +2 pasa diagnósticos pero falla al cargar juegos

Mensaje por Spirax »

javu61 escribió: 22 Ene 2019, 12:59 No conjozco exactamente como funciona el ZX Diagnostics. La verificación de las ROM se puede hacer de dos maneras, una es verificar que se puede leer toda la información y que si se leen varias veces los resultados son los mismos, la otra es comparar el contenido con lo que debería haber y para eso es necesario disponer de un fichero con los datos a comparar. Si se usa la primera puedes pasar el test, pero no te garantiza que funcionen bien, si se usa la segunda si que se garantiza el funcionamiento.

De todas formas es muy sencillo cambiarlas y descartar que sea eso, los test no siempre son fiables pues depende de muchos factores, por ejemplo puede que la lectura secuencial funcione bien y la aleatoria no, o en acceso aleatorio solo falle cuando se salta varios bloques de memoria por fallo del demuplexor interno, pero funcione bien cuando son bloques contíguos.
Los diagnosticos de Bendan Alfort, lo que hace es leer la rom0 (de 16k) completa y hace una serie de operaciones para calcular un CRC, un cambio de bit en cualquier posicion de la rom altera ese CRC incluso cambiar un $0001 $0000 por un $0000 $0001 que una suma normal seria lo mismo, el cambio de orden afectara a calculo del crc.
Una vez calcula el CRC de tu rom lo compara con una base de datos con muuuuuchas de las rom0 conocidas para determinar que rom tienes.
si el CRC calculado de lo leido no coincide con ninguna de la base de datos de CRC's que ya tiene almacenados te da un error de ROM desconocida o Invalida.
osea la rom puede ser una rom modificada y ser perfectamente valida que no esta en su base de datos o es una rom a la cual le falla algun bit.

pero si reconoce el CRC de la rom 0 sigue haciendo pruebas para determinar que modelo es y ampliar las pruebas de memoria.
Si reconoce la rom de un zx48 que solo tiene una rom de 16k te dice es un 48k y ya no hay mas roms que comprobar y salta a comprobar la memoria de un 48k.
si reconoce la rom de un 128k con una rom de 32k comprueba que la segunda rom tambien sea valido el crc y salta a comprobar la memoria de un 128k incluidos el cambio de paginas para probar toda la memoria.
si reconoce un +2a,+2b o +3 ue tienen la misma rom de 64k (en dos chips de 32k) comprueba cada una de ellas y si falla algun crc te dice cual de los dos chip es el que no coincide el crc y luego salta a comprobar los bancos de memoria de un 128k.

reconoce casi todas las roms que no esten modificadas, 16k y 48k (que es la misma) la del inves, la del zx 48k español, de los 128k tambien deecta tanto el ingles como el español.del +2 ingles y español, de los +2a,+2b y +3 detecta las distintas versiones de roms tanto en ingles y en español.
Incluso detecta algunos mods como los de proyecto +3e, pero aqui ya no tiene todos las posibles variantes en la base de datos.
osea la rom0 es igual en todos los mods del +3e y es capaz de detectar que tienes un +2e o +3e en ingles o en español, pero creo que luego ya solo tiene el crc de las 4 roms solo para el divide, osea si tienes un mod +3e para el divide te ira que la rom es correcta pero si lo tienes con rom SM8 detectara que es un +3e pero fallara en la comprobacion del crc de la rom2 ya que varia el CRC de la del divide.
es compliciado añadir todos los crcs de todas las roms modificadas que hay en internet, solo del proyecto +3e hay unas 150 roms diferentes entre ingles español y diferentes interfaces........ y veo que ya anda justo de espacio libre en la rom de diagnosticos :|

pero si tienes una rom standar y te dice que pasa el test correcto de ROM, estate por seguro que ha leido la rom completa y coincide bit a bit con la original asi que dala por buena ;)
Avatar de Usuario
llopis
Demonio tercer orden
Demonio tercer orden
Mensajes: 787
Registrado: 05 Jul 2018, 09:43
Ubicación: Asturias
Has thanked: 2 times
Been thanked: 21 times
Contactar:

Re: Spectrum +2 pasa diagnósticos pero falla al cargar juegos

Mensaje por llopis »

Spirax escribió: 22 Ene 2019, 14:50 pero si tienes una rom standar y te dice que pasa el test correcto de ROM, estate por seguro que ha leido la rom completa y coincide bit a bit con la original asi que dala por buena ;)
Ser, es posible que dos ROMs diferentes den el mismo CRC, pero es muy raro. De eso tengo yo una anécdota de un juego en el que trabajé hace mucho tiempo para PSX. Usábamos un CRC32 para las diferentes texturas, modelos, sonidos, etc y hacer un diccionario con ellos. Pues justo antes del día antes de sacar el master, encuentran un bug en el juego y empezamos a darle vueltas y vueltas. Tras varias horas, nos damos cuenta de que estaban cargando un recurso equivocado en las texturas porque coincidió que uno de los que metimos la última semana coincidía con el mismo CRC32 que otro! ¿Cómo lo arreglamos? Fuimos con el editor en binario, añadimos un bit por ahí donde no importase y listo :-)

Mo me lo he mirado, pero supongo que para la ROM usarán un CRC64. Eso ya sí que lo hace muchísimo más difícil que coincida.
Última edición por llopis el 22 Ene 2019, 17:01, editado 1 vez en total.
Avatar de Usuario
llopis
Demonio tercer orden
Demonio tercer orden
Mensajes: 787
Registrado: 05 Jul 2018, 09:43
Ubicación: Asturias
Has thanked: 2 times
Been thanked: 21 times
Contactar:

Re: Spectrum +2 pasa diagnósticos pero falla al cargar juegos

Mensaje por llopis »

Por cierto: Eran las dichosas RAM. Por lo visto en los Issue 1, tienen que ser las MT4067!

Ahora la pregunta es, ¿dónde se pueden conseguir esas a precios razonables? Veo que hay algunas en Ebay, pero a precios disparatados (5€ más envío por cada UNA).
Avatar de Usuario
javu61 !Sinclair QL
Fundador
Fundador
Mensajes: 2175
Registrado: 30 Mar 2013, 11:58
Ubicación: Valencia
Been thanked: 76 times
Contactar:

Re: Spectrum +2 pasa diagnósticos pero falla al cargar juegos

Mensaje por javu61 »

Spirax escribió: 22 Ene 2019, 14:50 pero si tienes una rom standar y te dice que pasa el test correcto de ROM, estate por seguro que ha leido la rom completa y coincide bit a bit con la original asi que dala por buena ;)
Ese test es bueno para verificar el contenido de la ROM, pero la lee secuencialmente por lo que puede dar un resultado correcto, pero luego al leerla de forma aleatória puede fallar y no retornar el valor correcto.

Los test de memoria cuando se prueban las RAM las rellenan con un valor y verifican ese valor, primero de forma secuencial y luego de forma aleatoria para buscar estos otros fallos. No es un fallo muy normal pero si posible.

Otro fallo raro pero que se da es cuando al modificar una posición de memoria altera el valor de otra total o parcialmente, este fallo solo se detecta si se hacen cambios de valores en la RAM con barridos en ambas direcciones de la memoria para verificar si hay cambios en otros lugares, por lo que es un test que le cuesta bastante.
Larga vida y prosperidad \\//_
Responder

Volver a “Sinclair”