¿Interferencia ULA-ROM en un Spectrum?

¿Tienes problemas con tu equipo?, preguntanos.

Moderador: Fundadores

Avatar de Usuario
eltargui
Demonio tercer orden
Demonio tercer orden
Mensajes: 516
Registrado: 29 Abr 2014, 16:33

¿Interferencia ULA-ROM en un Spectrum?

Mensaje por eltargui »

Hola,

En realidad esta consulta viene de otro foro. Inicialmente pensaba que era el famoso "snow-effect" del spectrum, pero no era así. Quisiera saber la opinión de los expertos del foro. Pero para no tener que leer todo el hilo os hago un resumen a continuación.

En un Spectrum issue 3B obtengo el siguiente patrón de pantalla:

Imagen

Tras realizar una serie de pruebas asesorado por mcleod_ideafix, él concluyo que la ULA estaba dañada. En concreto el pin 5 que corresponde con la pista A0 (bit 7) del bus interno de direcciones de la ULA. Este pin es bi-direccional, y por alguna razón se comporta como si estuviera desconectado internamente. La CPU ve correctamente la memoria, pero la ULA o no es capaz de leer la dirección y/o no es capaz de leer correctamente el dato. Cuando la CPU está activa, ese bit tiene ruido y en consecuencia se ve la pantalla distorsionada o llena de ruido. Cuando se resetea la CPU (manteniendo pulsado el botón de reset), la pantalla se queda congelada y no hay ruido. Esto lo he hecho con el test mcleod, que al pulsar el reset congela la pantalla, no provoca un reset del spectrum. La foto:

Imagen

El patrón que muestra el test es como si uno de los multiplexores (IC3 o IC4) estuviera mal. Pero no es, porque en ese caso no se obtendría la pantalla inicial del logo.

Esta ULA la he montado en una placa sana y obtengo el mismo ruido. Y si pongo una ULA sana en esta placa funciona correctamente.

Sin embargo, realizando la modificación para conmutar ROMs de El Trastero -me entreno sobre esta placa siempre- observé otro tema. Usando EPROMs 27C128 y 27C256.

He probado varias ROMs (original, Groot, Gosh Wonderful,...) y siempre hay dos que no funcionan en esta placa de ULA dañada. Son la OpenSE (de 1981 de Nine Tiles - no confundir con la SE Basic, como me pasó a mí) y la del Jupiter ACE de Paul Farrow. Ya sea en la 27C128 o en la 27C256 junto con otra ROM, fallan. A veces, la OpenSE funciona. Una de cada diez veces.

Las pantallas que obtengo son. Para la OpenSE:

Imagen

Y para la Jupiter ACE:

Imagen

(Esto es color!!!. Estoy pensando en usar este última de salvapantallas :-] )

Muestran patrones más o menos típicos de ausencia de ROM, con esas franjas anchas verticales.

Estas dos ROMs funcionan bien en la otra placa donde he hecho la misma modificación. Y funcionan en cualquier combinación. Luego hay algo en esta placa que impide que arranquen estas ROMs.

Lo más curioso fue cuando le metí una ROM externa y probé diferentes programas de test. Con el programa de test de RAM de Paul Farrow obtengo la pantalla correcta al final.

Dejo un video con la prueba. Empieza con la pantalla llena de basura, pero al terminar la prueba muestra la pantalla final bien. Lo he probado varias veces, y en la mayoría sale la pantalla final bien. Pero alguna vez sale la pantalla bien de imagen pero cambian algunos caracteres y las palabras no se entienden. Es como si estuviera escrito en otro idioma, un montón de consonantes seguidas, palabras muy largas.... todo ininteligible.

[BBvideo 560,340]https://dl.dropboxusercontent.com/u/887 ... rrecto.mov[/BBvideo]

¿Pudiera ser que este programa, por la razón que sea, forzara un valor de la línea A0 de la ULA y por lo tanto corrigiera el error indirectamente?. Si es que esto fuera posible. Esto por un lado.

Y por otro, que haya unas ROMs que se comporten como si no estuvieran, y el resto funcionen bien, aunque con la pantalla con ruido.

No encuentro otra explicación. ¿Que se os ocurre?.
ZX eltargui un blog dedicado a los micro-ordenadores Sinclair
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: ¿Interferencia ULA-ROM en un Spectrum?

Mensaje por javu61 »

El juego de caracteres está en la ROM, y el texto sale de la ROM que lo copia en la memoria de pantalla, por tanto si fallan letras no puede ser la ULA que solo presenta la memoria en pantalla, no interviene en la generación de los dibujos. Por tanto mas que un problema de ULA parece que la ROM está ejecutando mal el programa en ese aspecto. Por otro lado la ULA roba tiempo de CPU para acceder a la memoria, si eso falla la imagen es mala. Me explico para los que quieran saber un poco mas del tema, en un Spectrum la CPU y la ULA deben acceder a la memoria de video a la vez, una para grabar información y la otra para leerla. Como ambos no pueden usar a la vez el bus de direcciones y el de datos, debe sincronizarse. Lo malo es que la ULA no es un procesador, solo es un circuito de puertas lógicas, por tanto no puede ponerse de acuerdo con la CPU, sino que hace lo contrario, utiliza algo que se robo de ciclos, para a la CPU mientras accede a la memoria para leerla, pero como la CPU es inteligente, ejecuta la parte de instrucciones que puede de forma interna mientras espera, y así no llega a pararse casi nunca realmente.

Creo que tienes un problema no de la ROM, sino de alguna señal de datos, y por eso se comporta de forma especial, en algunas ROM el acceso será mas rápido y no dará problemas, en otras será mas lento y se solapará con la ULA. Sugiero que grabes una ROM de las que no funcionan en una EPROM que si lo haga, a ver que pasa.
Larga vida y prosperidad \\//_
Avatar de Usuario
flopping
Fundador
Fundador
Mensajes: 9973
Registrado: 29 Mar 2013, 15:26
Ubicación: Valencia
Been thanked: 124 times
Contactar:

Re: ¿Interferencia ULA-ROM en un Spectrum?

Mensaje por flopping »

Y os recuerdo tambien, que ciertas marcas de eprom, por timings, accesos o niveles, son imcompatibles con algunos spectrum, segun los componentes que lleven, ademas de todo lo dicho, quiza ese sea tambien uno de tus problemas, ya que no entiendo muy bien si alguna vez han funcionado esas 2 eprom en tu spectrum malo o no lo ha hecho ninguna de las dos, 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
Avatar de Usuario
eltargui
Demonio tercer orden
Demonio tercer orden
Mensajes: 516
Registrado: 29 Abr 2014, 16:33

Re: ¿Interferencia ULA-ROM en un Spectrum?

Mensaje por eltargui »

No sé javu, estas ROMs modificadas en las mismas EPROMs, en otro spectrum funcionan. Ya sean en EPROMs de 16k o 32k, y en estas últimas en el banco 0 o en el banco 1. En varias combinaciones funcionan todas en otro Spectrum. Excepto 2 de ellas que no funcionan en este que tiene la ULA mal. Solo una de estas dos, a veces, funciona. Pero un 10% de las veces.

Bien, a ver si me explico mejor. En mi hilo hay 3 cuestiones sobre la misma placa 3B:

1. Patrón de pantalla distorsionado, digamos con "ruido" (primera foto de mi hilo), y el diagnóstico es fallo de la ULA, concretamente en la pista A0 (bit 7) del bus interno de direcciones de la ULA (pin 5). Aquí la ROM es la original.

2. Sobre el anterior, se hace la modificación de José Leandro (El Trastero) para poder conectar ROMs modificadas. Todas funcionan, ya sean grabadas en EPROMs 27C128 o 27C256, y en estas últimas en diferentes combinaciones, excepto dos de ellas. Los patrones se muestran en mi hilo y se corresponden al típico de ausencia de ROM.

3. Sobre el punto 1, y con ROM original (aunque da igual), se conecta al bus de expansión una interface de ROM externa. Se prueban diferentes programas de test, y todos dan pantallas con ruido excepto en dos casos:
Test mcleod + manteniendo pulsado el reset (foto en el hilo original)...esta prueba le sirvió a mcleod para determinar el fallo de la ULA
Test de RAM de Farrow: el video que adjunto. La mayoría de las veces la pantalla final la muestra sin ruido y bien.

Que la ULA está mal parece evidente (o me lo parece a mí), porque al probarla en otros spectrums en todos los casos da el patrón con ruido. Y sobre esta placa si pongo otra ULA sana, la pantalla del logo sale bien.

Ahora bien, ¿por qué hay algunas ROMs modificadas que no funcionan solo en este caso con ULA mala?.
La respuesta a esta pregunta pudiera ser lo que apunta flopping: incompatibilidad. De esta placa 3B, con estas ROMs modificadas, al estar grabada en una determinada EPROM. La placa en la cual funcionan sin problemas, sea cual se la configuración, es una 4B. Y en esto no tiene que ver el problema de la ULA.

Y, ¿cómo un software de test de RAM consigue eliminar el ruido de la pantalla al finalizar la prueba?.
Ni idea de por qué. Sin embargo aquí, pudiera tener algo que ver lo que apunta javu al respecto del juego de caracteres. La mayoría de las veces es correcta. Pero otras, selecciona mal las letras.
ZX eltargui un blog dedicado a los micro-ordenadores Sinclair
Avatar de Usuario
flopping
Fundador
Fundador
Mensajes: 9973
Registrado: 29 Mar 2013, 15:26
Ubicación: Valencia
Been thanked: 124 times
Contactar:

Re: ¿Interferencia ULA-ROM en un Spectrum?

Mensaje por flopping »

Vale, ya me queda mas claro el tema, bueno como te digo, las eprom que no van, son por problemas de imcompatiblidad, no le des mas vueltas, igual cambiando el micro o la ULA, se solucionaria el problema, pero no tiene mayor importancia.

Es evidente que esa ULA esta mal, lo que no se es si sera ese pin que comentas o que, aunque puedes comprobarlo, dejando fuera del zocalo ese pin, a ver si hace lo mismo o cambia el patron, el por que al hacer determinados test, la pantalla se ve bien, puede ser debido a que este forzando continuamente esa pantalla de inicio (leyendo y escribiendo), cosa que igual el spectrum no hace y por eso en uno casos se ven bien y en otros no.

Lo que habria que ver es si se puede simular lo que te falla, con electronica discreta y digamos de esta forma, sacar fuera de la ULA ese control.
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
Avatar de Usuario
Ben-kenobi
Hermano de Lucifer
Hermano de Lucifer
Mensajes: 3545
Registrado: 12 Nov 2013, 10:00
Has thanked: 1 time
Been thanked: 18 times

Re: ¿Interferencia ULA-ROM en un Spectrum?

Mensaje por Ben-kenobi »

La distorsión esa que se ve en la primera foto , es fija la imagen o parpadea? Es que se me a ocurrido al decir lo de que al hacer el test al finalizar la imagen se ve bien , que cuando el spectrum termina un proceso para el z80 , pero para hacerlo en realidad lo que hace es parar el reloj , con lo que la interferencia que muestra , podría deberse a un mal funcionamiento del reloj que estuviera mandando unos ciclos no regulares , no se si es así o no , pero podría ser.


Enviado desde mi iPad utilizando Tapatalk
Quieres vinilos para makear tu spectrum? Mira Aqui
Avatar de Usuario
flopping
Fundador
Fundador
Mensajes: 9973
Registrado: 29 Mar 2013, 15:26
Ubicación: Valencia
Been thanked: 124 times
Contactar:

Re: ¿Interferencia ULA-ROM en un Spectrum?

Mensaje por flopping »

No le deis mas vueltas, la ULA esta mal, ya que esa ULA en otra placa hace lo mismo y una ULA buena en esa placa se ve bien, conclusion, la ULA esta mal, lo que no tengo claro es que sea la linea A0 como comenta, ya que habria que investigarlo y hacer pruebas para verificarlo.
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
Avatar de Usuario
eltargui
Demonio tercer orden
Demonio tercer orden
Mensajes: 516
Registrado: 29 Abr 2014, 16:33

Re: ¿Interferencia ULA-ROM en un Spectrum?

Mensaje por eltargui »

Haré esa prueba de sacar ese pin del zócalo. A ver que pasa.
ZX eltargui un blog dedicado a los micro-ordenadores Sinclair
Avatar de Usuario
eltargui
Demonio tercer orden
Demonio tercer orden
Mensajes: 516
Registrado: 29 Abr 2014, 16:33

Re: ¿Interferencia ULA-ROM en un Spectrum?

Mensaje por eltargui »

Bueno, pues ya hice la prueba. Saqué el pin 5 de la ULA del zócalo y esta fue la pantalla que obtuve:

Imagen

¡¡¡Que raro!!!. Esto ya lo he visto antes, y no tiene que ver con la ULA. Creo yo.
Esta pantalla es un fallo tipico del algún IC de la RAM baja y/o de los multiplexores IC3/IC4.

Efectivamente, saqué la ULA y la probé en otro spectrum y la misma pantalla original, con el logo.
Lo primero que cambié fui los multiplexores IC 3 e IC4, pero nada, estaban los dos bien.

Todo apuntaba al IC6. El test mcleod lo confirmó. Lo cambié y de paso puse todos los ICs de la RAM baja en zócalo, y ya está otra vez con la pantalla del logo con tembleque.

Me parece raro que el sacar un pin de la ULA del zócalo haya podido provocar un fallo de un IC de la RAM baja. A saber.

Visto lo visto, poco se puede rascar más de aquí, como dice flopping.
ZX eltargui un blog dedicado a los micro-ordenadores Sinclair
Avatar de Usuario
flopping
Fundador
Fundador
Mensajes: 9973
Registrado: 29 Mar 2013, 15:26
Ubicación: Valencia
Been thanked: 124 times
Contactar:

Re: ¿Interferencia ULA-ROM en un Spectrum?

Mensaje por flopping »

Bueno, parece que esta claro que esa ULA esta mal, aunque quiza no este mal del todo, ya que sin ese pin, ni siquiera se ve el mensaje de inicio, asi que la ULA aunque mal, funciona, pero creo que poco se puede hacer, aunque podriamos probar alguna cosa antes de dar por descartada esa ULA, una de las cosas que podrias hacer, seria dejar ese pin fuera y hacerlo pasar por un buffer, en realidad debemos de pasarlo por dos buffers, uno en un sentido y otro en paralelo en sentido contario, ya que ese pin es bidireccional, ¿y por que hacer esto?, pues muy sencillo de esta manera hacemos que la señal de entrada y salida de ese pin, este amplificada y quiza con eso mejoremos el fucionamiento de esa ULA, tambien podriamos probar otras cosas, como amplificar la señal con transistores o poner un divisor de resistencias, etc...

De todas formas, como te decia, no tenemos la certeza de que los problemas vienen solo por ese pin o por otro u otros, quiza seria conveniente poner buffers en todas las lineas de direcciones de memoria, aunque parece complicado, no lo es ya que se trata de meter un integrado simplemente, pero como digo, deberiamos de asegurarnos de que es solo ese pin el que falla, si tuvieras un osciloscopio o analizador logico, podriamos hacer mas pruebas y mediciones y ver las señales, asi estariamos mas seguros de la averia.
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
Responder

Volver a “Consultas”