Depurando el clon del zx80

Proyectos de hardware con sus esquemáticos y si llevan software en fuente

Moderadores: cacharreo, Fundadores

Reglas del Foro
Aquí solo tienen cabida proyectos de hardware que incluyan siempre al menos sus esquemáticos para poder reproducirlos si llevan componentes electrónicos, y si es posible los ficheros del programa en que se hacen, los diseños de las placas, los gerber, etc. Si llevan algún tipo de software asociado debe estar diponible el código fuente

Para los que no cumplen estas condiciones se debe postear en el foro de proyectos generales.
Responder
Avatar de Usuario
wilco2009 !Sinclair 1
Hermano de Lucifer
Hermano de Lucifer
Mensajes: 8152
Registrado: 01 Abr 2013, 23:47
Ubicación: Valencia
Has thanked: 47 times
Been thanked: 101 times

Depurando el clon del zx80

Mensaje por wilco2009 »

Como sabéis tengo algún problemilla sin identificar en el zx80, y por más que he estado repasando la placa no doy con él.

Con objeto de no contaminar el otro post he abierto este única y exclusivamente para buscar donde está el problema.

Ahora mismo tienen un kit en su poder las siguientes personas:

- Flopping
- Dandare
- BCH
- evas2
- carmeloco
- jose_leandro
- wilco2009

Como veréis se ha cambiado algo la lista inicial para permitir que otros usuarios con herramientas y conocimientos puedan ayudar a buscar el problema.
Gracias a shikitin, vidamia y overclk por ceder sus kits, a jose_leandro, carmeloco y Habi por decidirse a ayudar y por supuesto a los que ya estabais y seguís en la lista (flopping, Dandare y BCH).

Intentaré usar este hilo para coordinar las pruebas y centralizar la información.

Empezaremos por dejar aquí toda la información relevante para el montaje y el diagnóstico.

Listado de componentes corregido:

Archivos de Eagle de la placa que se ha mandado fabricar:

Gerbers de la placa fabricada:

Errores encontrados hasta ahora y que hay modificar en la placa fabricada:

Cosas a modificar para eliminar la ampliación a zx81 y dejar la placa tal como si fuera un zx80 original:

Página de Grant Searle sobre el zx80: http://searle.hostei.com/grant/zx80/zx80.html

Fuentes de la ROM del zx80:

Por si hay alguien que no se maneja con el Eagle dejo aquí los esquemas en png de la placa fabricada:

Principal:

Ampliación a zx81:

Mod de video con LM:

Manual de usuario del zx80: https://1drv.ms/b/s!Avo9sa7McTNBgo8Ja7XOXAmTAp8J_g

Para enfocar el problema la idea es dejar la placa lo más parecida posible al zx80 original, para lo cual deberemos quitar algunos chips y hacer algun puente en la placa. De esa manera descartaremos cualquier error que haya podido cometer debido a la modificación para la ampliación a zx81.

Como introducción os comentaré que yo ya he hecho esta modificación e incluso he hecho un par de adaptadores para poder utilizar la RAM y la ROM originales del zx80.

Una vez hecho esto he probado a utilizar todos los componentes del zx80 original en el clon, y el resultado es que ha seguido sin funcionar.

También he hecho la operación contraria, he utilizado todos los componentes del clon en el zx80 original, funcionando perfectamente todos los chips a excepción de IC19. Este chip es un 74LS74AN.
He probado varios 74LS74N y varios 74HC74N sin éxito, solo funcionando con el original.
Al final he adquirido un lote de 74LS74AN y con este sí que funciona el zx80.
El chip que os he enviado en el kit es uno de los 74LS74N que compré originalmente, por lo que os enviaré un sobre con este chip para evitar incertidumbres adicionales.

La idea es ir siguiendo el funcionamiento del zx80 según está explicado en la web de Grant Searle, compartiendo en este primer post las pruebas relevantes.

Mañana colgaré las pruebas que he hecho hasta ahora que son:

- reloj de 6.5MHz
- reloj de 3.2MHz
- señal de vídeo+sincronismo.
- señal de video
- señal de sincronismo.
- /IORQ (señal fundamental para el sincronismo)
- Pulso de habilitación del serializador (IC9.1)

Como referencia para la reparación voy a ir poniendo las señales extraidas del zx80 original. Esta señal de video es la resultante de sumar la señal de video original del zx80 con la señal de back porch generada por el LM del mod de video de jose_leandro, el cual he aplicado al zx80.

La señal de reloj


El zx80 usa un cristal de 6.5MHz, que divide por dos para utilizarlo como referencia del microprocesador, obteniendo una frecuencia de 3,.2MHz.

Imagen

La medición la podemos realizar en el pin 6 del z80 para la señal de 3.2MHz y en el pin 3 de IC20 para medir la señal de 6.5MHz

La parte del esquema que genera el reloj es la siguiente:

Imagen


La señal de video.


La señal de video del zx80 se genera a partir de las señales separadas de video y sincronismo, ambas señales se mezclan en la parte izquierda de las resistencias R30 y R32:

Imagen

Dicha señal tiene la siguiente forma:

Imagen

Midiento en la parte derecha de las resistencias, podemos ver la señal desglosada.

Video:

Imagen

Sincronismo:

Imagen

Las principales señales del zx80 las he medido en el siguiente cronograma, en el que se pueden ver las dos fases de visualización de los caracteres; acceso a la memoria de pantalla en RAM cuando /RFSH = 1 y acceso a la tabla de caracteres en ROM cuando /RFSH = 0.

También he añadido la señal IC9.1 que es la señal de carga del serializador de datos, que según la página de Grant Searle debería cargar un byte cada 4 ciclos de reloj, pero que, como se puede ver en el cronograma, esto no coincide con la realidad, cosa que me tiene confundido, ya que lo lógico es lo que dice Grant. Recuerdese que estas señales están medidas directamente en un zx80 real.

Esto es una vista más amplia para que se vea la frecuencia con la que se ve el pulso en 19.1
Imagen

Y aquí una ampliación para ver más en detalle las señales.

Imagen

La señal de reloj de 6.5MHz del clon es una señal prácticamente idéntica a la señal de reloj del zx80, por lo que hasta ahí parece que todo va bien.

Imagen

y lo mismo podemos decir de la señal de 3.2 MHz.

Imagen

Las señales de video del clon son actualmente un electroencefalograma plano, por lo que es lógico que no se vea nada.

video:

Imagen

Sincronismo:

Imagen

Seguidamente también podemos ver las mismas señales que antes he puesto para el zx80, pero en este caso para el clon:

Primero la vista amplia, en la que se puede observar que la frecuencia del pulso de carga del serializador es mucho mayor que en el zx80, aunque aun no llega a la que teroricamente debería de ser:

Imagen

Y ahora el zoom con las mismas señales, en el que se puede observar que el comportamiento es el mismo que en el zx80, a excepción de la habilitación del serializador:

Imagen

Bueno, después de alguna pista de Grant Searle, he podido ver que lo que ocurre con la habilitación del serializador. Es solo que el pulso es extremadamente estrecho para mi analizador lógico capturando datos a 16MHz, por lo que muchos de los pulsos se le escapaban.
Estos pulsos se disparan con el reloj de 6,5MHz y se generan gracias al condensador C11 de 47pF, por lo que los pulsos son extremadamente estrechos.

El comportamiento correcto es que se produzca un pulso cada vez que tiene que leer un nuevo caracter, teniendo en cuenta que los puntos se representan con el reloj de 6,5MHz, por lo que tendremos un pulso por cada 4 pulsos de la CPU, o lo que es lo mismo una frecuencia de 800KHz, pero un ancho de pulso de menos de 100ns.

He usado el osciloscopio a 48MHz para capturar este extremadamente estrecho pulso y el resultado es que los pulsos están donde deben estar.

Imagen

Continuará................
Última edición por wilco2009 el 24 May 2017, 16:42, editado 6 veces en total.
"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.
Avatar de Usuario
wilco2009 !Sinclair 1
Hermano de Lucifer
Hermano de Lucifer
Mensajes: 8152
Registrado: 01 Abr 2013, 23:47
Ubicación: Valencia
Has thanked: 47 times
Been thanked: 101 times

Re: Depurando el clon del zx80

Mensaje por wilco2009 »

Añadidas señales de reloj y de video del zx80.

Mañana añadiré algunas señales representativas de control medidas con el analizador lógico.
"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.
Avatar de Usuario
wilco2009 !Sinclair 1
Hermano de Lucifer
Hermano de Lucifer
Mensajes: 8152
Registrado: 01 Abr 2013, 23:47
Ubicación: Valencia
Has thanked: 47 times
Been thanked: 101 times

Re: Depurando el clon del zx80

Mensaje por wilco2009 »

carmeloco escribió:¿Que hay grabado el el chip de rom? lo he leido con el grabador, y al principio, me encuentro con unos mensajes un poco extraños.

Es como si hubiese un menu de roms, pero salen títulos de juegos de Spectrum.
Es que las EEPROMs las probé grabando lo primero que pillé, pero no hay nada utilizable.

Habría que hacer una ROM con 16 copias de la ROM del zx80 (4kb cada una) para que ocupe un total de 64Kb. La ROM está en la página de Grant Searle:

http://searle.hostei.com/grant/zx80/zx80rom.zip

Cuando ya lo tengamos andando ya hablaremos de poner tambien la del zx81, pero de momento y para evitar interferencias, yo creo que lo mejor es hacerlo así.

Me alegro que ya tengas el kit. A ver si entre todos echamos esto a andar. :-]
"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.
Avatar de Usuario
wilco2009 !Sinclair 1
Hermano de Lucifer
Hermano de Lucifer
Mensajes: 8152
Registrado: 01 Abr 2013, 23:47
Ubicación: Valencia
Has thanked: 47 times
Been thanked: 101 times

Re: Depurando el clon del zx80

Mensaje por wilco2009 »

Añadido cronograma con algunas de las señales principales del zx80.
"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.
Avatar de Usuario
wilco2009 !Sinclair 1
Hermano de Lucifer
Hermano de Lucifer
Mensajes: 8152
Registrado: 01 Abr 2013, 23:47
Ubicación: Valencia
Has thanked: 47 times
Been thanked: 101 times

Re: Depurando el clon del zx80

Mensaje por wilco2009 »

Bueno, después de alguna pista de Grant Searle, he podido ver que lo que ocurre con la habilitación del serializador. Es solo que el pulso es extremadamente estrecho para mi analizador lógico capturando datos a 16MHz, por lo que muchos de los pulsos se le escapaban.
Estos pulsos se disparan con el reloj de 6,5MHz y se generan gracias al condensador C11 de 47pF, por lo que los pulsos son extremadamente estrechos.

El comportamiento correcto es que se produzca un pulso cada vez que tiene que leer un nuevo caracter, teniendo en cuenta que los puntos se representan con el reloj de 6,5MHz, por lo que tendremos un pulso por cada 4 pulsos de la CPU, o lo que es lo mismo una frecuencia de 800KHz, pero un ancho de pulso de menos de 100ns.

He usado el osciloscopio a 48MHz para capturar este extremadamente estrecho pulso y el resultado es que los pulsos están donde deben estar.

Imagen
"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.
Avatar de Usuario
wilco2009 !Sinclair 1
Hermano de Lucifer
Hermano de Lucifer
Mensajes: 8152
Registrado: 01 Abr 2013, 23:47
Ubicación: Valencia
Has thanked: 47 times
Been thanked: 101 times

Re: Depurando el clon del zx80

Mensaje por wilco2009 »

Mañana comprobaré y pondré los cronogramas del circuito generador de NOPs

Las señales necesarias.

IC15.2 SALIDA DEL CIRCUITO
/M1
/HALT
A15’
D6’

La salida IC15.2 será uno y por lo tanto las señales D0..D6 = 0 (NOP) si...

/D6’ * A15’ * //HALT * /M1

Es decir, la salida del circuito (patilla 2 de IC15) es igual a 0 cuando /HALT = 1, A15’ = 1 y D6’=0, o sea siempre y cuando no estemos ejecutando un HALT (/HALT y D6=0) y estemos ejecutando algo en la segunda mitad de la memoria (A15=1), que como ya habíamos dicho solo ocurre cuando refrescamos la pantalla. Al comprobar que /HALT = 1 y D6 = 0 descartamos también el momento en el que ya hemos llegado a fin de línea.
"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.
Avatar de Usuario
eltargui
Demonio tercer orden
Demonio tercer orden
Mensajes: 516
Registrado: 29 Abr 2014, 16:33

Re: Depurando el clon del zx80

Mensaje por eltargui »

Excelente trabajo wilco. A ver si hay suerte y dais con el problema.

A mi me supera, pero lo sigo precisamente porque tengo algún problema con un add-on para el ZX81 y tiene que ver con el manejo de señales. Llevo tiempo atascado y a ver si veo la luz con tu hilo.

Esas imágenes de osciloscopio que pones tienen buena pinta. ¿Qué modelo estás usando?. Supongo con usas un PC con un software apropiado.
ZX eltargui un blog dedicado a los micro-ordenadores Sinclair
Avatar de Usuario
wilco2009 !Sinclair 1
Hermano de Lucifer
Hermano de Lucifer
Mensajes: 8152
Registrado: 01 Abr 2013, 23:47
Ubicación: Valencia
Has thanked: 47 times
Been thanked: 101 times

Re: Depurando el clon del zx80

Mensaje por wilco2009 »

eltargui escribió:Excelente trabajo wilco. A ver si hay suerte y dais con el problema.

A mi me supera, pero lo sigo precisamente porque tengo algún problema con un add-on para el ZX81 y tiene que ver con el manejo de señales. Llevo tiempo atascado y a ver si veo la luz con tu hilo.

Esas imágenes de osciloscopio que pones tienen buena pinta. ¿Qué modelo estás usando?. Supongo con usas un PC con un software apropiado.
El osciloscopio es este. https://m.aliexpress.com/item/32615201890.html

Tiene dos canales analógicos y 16 digitales aunque el software que lleva hace los canales digitales totalmente inutiles ya que es muy malo.
Lo utilizo para los canales analógicos.

Lleva un botón con el que se hace compatible con un analizador lógico de saleae pero entonces solo detecta 8 canales.

El osciloscopio analógico no está mal para nuestras cosas ya que por 63€ no vas al encontrar otro que alcance los 48mhz, pero si quieres medir circuitos más modernos se te quedará corto.

Hay un software libre que está bastante bien y que se supone que funciona con este analizador en modo digital y así se pueden aprovechar los 16 canales, pero yo no lo he conseguido hacer funcionar.
"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.
Avatar de Usuario
wilco2009 !Sinclair 1
Hermano de Lucifer
Hermano de Lucifer
Mensajes: 8152
Registrado: 01 Abr 2013, 23:47
Ubicación: Valencia
Has thanked: 47 times
Been thanked: 101 times

Re: Depurando el clon del zx80

Mensaje por wilco2009 »

Pues con este resultado tengo una sensación agridulce, ya que te puedo asegurar que yo he probado con varios z80s todos ellos probados en otras máquinas.

Ahora mismo la situación es la siguiente:

- Yo ya tengo vídeo pero no tengo cursor, solo una pantalla blanca. El síntoma era el mismo que el tuyo, no hay /IORQ

- Jose_leandro, tiene video, un cursor sin K y zx80 bloqueado.

- Habi, tiene video, un cursor con K y unas cuantas "Q" distribuidas por la pantalla.

- Carmeloco tiene video un cursor con K y no funciona el teclado.

Total, cada uno tenemos un resultado y nadie hemos hecho nada significativo para que sea así, a excepción de carmeloco que ha cambiado el z80, aunque ya digo que yo he probado tres diferentes (el original del zx80, el que he comprado para el kit, y un z80 nmos que a su vez he probado en el zx80 original y se que funciona) y todo con el mismo resultado.

Hay algo que está en el límite del funcionamiento y que no está identificado todavía........
"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.
Avatar de Usuario
dandare
Hermano de Lucifer
Hermano de Lucifer
Mensajes: 3718
Registrado: 09 Feb 2016, 15:09
Ubicación: I Register
Been thanked: 6 times

Re: Depurando el clon del zx80

Mensaje por dandare »

Vaya, qué rabia no tener la placa a mano. Tengo un montón de Z80s de varias tiradas, velocidades y marcas... Aunque ya sería raro que fuera eso.
Habi dio con un punto significativo con el tema de sus "Q" en pantalla que se distingue en 1 bit del HALT...
¿Pediste las placas con "test eléctrico"? porque que todos los síntomas sean distintos ya es casualidad.
Cuando monte el mio voy a usar componentes al 1% de tolerancia, a ver si hace algo distinto.
Imagen
Imagen
Responder

Volver a “Proyectos de hardware abiertos”