ZX81 con ULA averiada

Avatar de Usuario
eltargui
Mensajes: 206
Registrado: 06 Feb 2014 18:38
Agradecido : 20 veces
Agradecimiento recibido: 26 veces

ZX81 con ULA averiada

Mensajepor eltargui » 16 Dic 2016 20:41

Probando uno de los ZX81 me dí cuenta de que aunque mostraba la imagen, el cursor K tenía algo extraño. Le falta algo -no

Imagen

Aparentemente funcionaba bien, pero al pulsar las teclas aparecían caracteres extraños. La membrana del teclado es nueva. Primera prueba, poner esta ULA en otro ZX81, y mismo efecto. Y la segunda, poner una ULA sana en esta placa y funcionaba correctamente. Por lo que a priori es cosa de la ULA.

Se me ocurre correr un simple programa en Basic para mostrar un carácter gráfico en pantalla. Concretamente el de la tecla 6. Un carácter solido que ocupa solo la mitad inferior de la matriz 8x8 del caracter. Es decir:

00000000
00000000
00000000
00000000
11111111
11111111
11111111
11111111

Imagen

Y esas rayas verticales¡¡¡¡. Hago lo mismo pero alternando el carácter de la tecla 6 y un espacio en blanco.

Imagen

Y un detalle:

Imagen

Es como si estuviera inverso. Cuando tiene que estar blanco aparece negro y viceversa, como se ve en el número 5 en la parte inferior de la imagen anterior. Esa línea se corresponde con el bit D3. Ahora compruebo el juego de caracteres del 0 al 63. Del 64 al 127 son los mismos pero en inverso. Por cierto la prueba anterior del gráfico la he ejecutado en video inverso y el mismo efecto.

Está sería la correcta:
Imagen

Y la que me sale:
Imagen

Por lo que, además de la imagen, el conjunto de caracteres tampoco sale correcto en muchos de ellos. Y algunos, mal ubicados.

La imagen en el ZX81 la genera la ULA. La dirección del byte en ROM a enviar a la salida de video se almacena en un registro interno de la ULA (16 bits) y se forma de la siguiente manera:

000RRRRC CCCCCLLL

R: Registro de Refresco (bits 9 a 12)
C: Código del caracter leido en el archivo del display D_FILE, son los bits D0 a D5 que se corresponden con los bits 3 a 8 del registro de la ULA.
L: Contador de líneas de carácter (bits 0 a 2)

Por lo tanto, en ese registro se almacena: el código del caracter en ROM, el contador de líneas de caracter y el de refresco; y estos datos son enviados con una frecuencia de 6,5 MHz a la salida de video. Por lo tanto, si uno de los bits -en este caso el D3- está mal por alguna causa, este afectará tanto al dato a leer de la ROM (siempre que sea entre el D0 y el D5), como a la imagen a mostrar. Y esta es la explicación que yo encuentro para ambos errores.

Pues nada, una ULA para hacer pruebas extrañas -507

Avatar de Usuario
kikems
Mensajes: 1790
Registrado: 30 May 2013 19:23
Agradecido : 269 veces
Agradecimiento recibido: 501 veces

Re: ZX81 con ULA averiada

Mensajepor kikems » 16 Dic 2016 21:06

Coño que observador eres. Muy bien documentado.

Avatar de Usuario
sinclair200
Mensajes: 689
Registrado: 20 Abr 2014 18:01
Ubicación: Madrid
Agradecido : 7 veces
Agradecimiento recibido: 25 veces

Re: ZX81 con ULA averiada

Mensajepor sinclair200 » 17 Dic 2016 02:31

Se está convirtiendo en todo un crack de los ZX81...... -thumbup
Imagen
Z80 INSIDE.........
WANTED: DRAGON 200, SINCLAIR PC200 :D

Avatar de Usuario
ron
Mensajes: 17206
Registrado: 28 Oct 2010 14:20
Ubicación: retrocrypta
Agradecido : 511 veces
Agradecimiento recibido: 546 veces

Re: ZX81 con ULA averiada

Mensajepor ron » 17 Dic 2016 08:24

sinclair200 escribió:Se está convirtiendo en todo un crack de los ZX81...... -thumbup


Más bien se ha convertido en el referente de los ZX81 de RetroWiki !
Esos son muchos galones, pero los vale y con creces.

Y encima es buen capitán, pues vivan los ZX81 y eltargui !!! -thumbup

Avatar de Usuario
eltargui
Mensajes: 206
Registrado: 06 Feb 2014 18:38
Agradecido : 20 veces
Agradecimiento recibido: 26 veces

Re: ZX81 con ULA averiada

Mensajepor eltargui » 17 Dic 2016 10:00

ron escribió:
sinclair200 escribió:Se está convirtiendo en todo un crack de los ZX81...... -thumbup


Más bien se ha convertido en el referente de los ZX81 de RetroWiki !
Esos son muchos galones, pero los vale y con creces.

Y encima es buen capitán, pues vivan los ZX81 y eltargui !!! -thumbup


Jejej, un poco exagerados. Salvo la generación de video y los gráficos HIRES o pseudo-HIRES, el resto es una máquina sencilla.

Además, mi interpretación es un supuesto. Hice una prueba adicional que es meter una sonda lógica en el pin 26 de la ULA que es por donde va el bit D3, pero la verdad es que no veo diferencias. Pareciera haber un retardo, o mejor dicho un adelanto, pero no sé si afecta, quizás no lo interprete bien.

ULA buena:
Imagen

ULA averiada:
Imagen


Volver a “Sinclair ZX80/81”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado