Proposición ZXUno+

Dudas, cuestiones, sugerencias y peticiones en general sobre el proyecto / Questions and requests about the project
Avatar de Usuario
mcleod_ideafix
Mensajes: 831
Registrado: 27 Sep 2015, 00:14
Ubicación: Jerez de la Frontera
Contactar:

Re: Proposición ZXUno+

Mensaje por mcleod_ideafix » 24 Ene 2018, 19:17

De todas formas, mira.... si el A-Z80 se arregla, o bien consigo escribir una descripción del Z80 "subcycle exact", escribiré, a efectos didácticos, una descripción del Spectrum 48K todo lo "purist bitch edition" que la FPGA me permita. :D
http://www.zxuno.com
ZX-Uno · Clon de ordenador ZX Spectrum basado en FPGA

zx81
Mensajes: 56
Registrado: 08 Ene 2018, 16:55

Re: Proposición ZXUno+

Mensaje por zx81 » 24 Ene 2018, 19:25

mcleod_ideafix escribió:De todas formas, mira.... si el A-Z80 se arregla, o bien consigo escribir una descripción del Z80 "subcycle exact", escribiré, a efectos didácticos, una descripción del Spectrum 48K todo lo "purist bitch edition" que la FPGA me permita. :D
ooooeeee, oooeee, oooeee, oooeeeeeeeee

¿Todo lo que la FPGA te permita?. ¿Incluido que funcione la demo técnica brightminer? ;)
¿Le llamarás así al core, "purist bitch edition"? (me encantó la definición, lo mejor del hilo) :D
brightminer.tap
(857 Bytes) Descargado 382 veces
P.D: Ver en un Spectrum 48k real si no entiendes nada de lo que ves...

Avatar de Usuario
mcleod_ideafix
Mensajes: 831
Registrado: 27 Sep 2015, 00:14
Ubicación: Jerez de la Frontera
Contactar:

Re: Proposición ZXUno+

Mensaje por mcleod_ideafix » 24 Ene 2018, 19:55

Ese efecto ocurre ya en el ámbito analógico. En la ULA original, ocurre en los circuitos (analógicos) que transforman el espacio de color IRGB a YUV. La FPGA es 100% digital y no puede procesar o generar una señal analógica. Puedo añadir este comportamiento "a fuego" en la descripción, pero sería como emulación, es decir, fuerzo ese comportamiento, en lugar de ser un comportamiento que se derive de los propios circuitos que hay dentro de la FPGA.
http://www.zxuno.com
ZX-Uno · Clon de ordenador ZX Spectrum basado en FPGA

Avatar de Usuario
mcleod_ideafix
Mensajes: 831
Registrado: 27 Sep 2015, 00:14
Ubicación: Jerez de la Frontera
Contactar:

Re: Proposición ZXUno+

Mensaje por mcleod_ideafix » 24 Ene 2018, 20:12

Corrijo: no, no ocurre ahí. Ocurre antes. Es lo que explica Chris Smith en las páginas 243 y 244 del libro de la ULA. Este tipo de glitches se deben a los retardos de propagación propios de la ULA original (y de su tecnología de fabricación), y que no existirían (bueno, sí, pero de un orden de magnitud mucho menor) en la FPGA. Para que te hagas una idea, los retardos de propagación internos que suelo manejar dentro de la propia FPGA se miden en picosegundos, mientras que en la ULA original son decenas de nanosegundos. Es decir, un factor de 100 a 1000.
En una FPGA puedes emular un retardo de propagación metiendo un flip flop en medio, pero claro, es lo que decía antes: sería un comportamiento añadido, y no derivado del propio circuito de la ULA.
http://www.zxuno.com
ZX-Uno · Clon de ordenador ZX Spectrum basado en FPGA

zx81
Mensajes: 56
Registrado: 08 Ene 2018, 16:55

Re: Proposición ZXUno+

Mensaje por zx81 » 24 Ene 2018, 20:25

mcleod_ideafix escribió:Corrijo: no, no ocurre ahí. Ocurre antes. Es lo que explica Chris Smith en las páginas 243 y 244 del libro de la ULA. Este tipo de glitches se deben a los retardos de propagación propios de la ULA original (y de su tecnología de fabricación), y que no existirían (bueno, sí, pero de un orden de magnitud mucho menor) en la FPGA. Para que te hagas una idea, los retardos de propagación internos que suelo manejar dentro de la propia FPGA se miden en picosegundos, mientras que en la ULA original son decenas de nanosegundos. Es decir, un factor de 100 a 1000.
En una FPGA puedes emular un retardo de propagación metiendo un flip flop en medio, pero claro, es lo que decía antes: sería un comportamiento añadido, y no derivado del propio circuito de la ULA.
No te dije que sería fácil. Te dije que sería la verdad.

:D

Avatar de Usuario
Kyp
Mensajes: 240
Registrado: 18 May 2016, 20:16

Re: Proposición ZXUno+

Mensaje por Kyp » 25 Ene 2018, 18:27

Muy interesante esta conversación. He hecho unas pruebas con mi core. He metido el a-z80 y ha mejorado mucho la cosa. Solo he tenido que ajustar el momento en que está activa la contienda y lo poco que he probado sale perfecto. Estaba usando como referencia el un test que se llama prtiming y el programa que hizo azesmbog (lo podéis bajar en el hilo de mi core) y en ambos casos lo clava. Tengo que hacer más pruebas.
Última edición por Kyp el 25 Ene 2018, 20:13, editado 1 vez en total.

zx81
Mensajes: 56
Registrado: 08 Ene 2018, 16:55

Re: Proposición ZXUno+

Mensaje por zx81 » 25 Ene 2018, 18:55

Kyp escribió:Muy interesante esta conversación. He hecho unas pruebas con mi core. He metido el a-z80 y ha mejorado mucho la cosa. Solo he tenido que ajustar el momento en que está activa la contienda y lo poco que he probado sale perfecto. Estaba usando como referencia el ulatest3 y el programa que hizo azesmbog (lo podéis bajar en el hilo de mi core) y en ambos casos lo clava. Tengo que hacer más pruebas.
:plasplas:

Queremos catar ese core YA!. :mrgreen:

Avatar de Usuario
mcleod_ideafix
Mensajes: 831
Registrado: 27 Sep 2015, 00:14
Ubicación: Jerez de la Frontera
Contactar:

Re: Proposición ZXUno+

Mensaje por mcleod_ideafix » 25 Ene 2018, 19:46

Kyp escribió:Muy interesante esta conversación. He hecho unas pruebas con mi core. He metido el a-z80 y ha mejorado mucho la cosa. Solo he tenido que ajustar el momento en que está activa la contienda y lo poco que he probado sale perfecto. Estaba usando como referencia el ulatest3 y el programa que hizo azesmbog (lo podéis bajar en el hilo de mi core) y en ambos casos lo clava. Tengo que hacer más pruebas.
Wow! Eso es estupendo.... lo de la contienda.... ¿cómo lo haces? porque el A-Z80 (a menos que te hayas bajado una versión más moderna y Goran lo haya resuelto) no pone la dirección en el bus hasta que no baja MREQ, y eso fastidia del todo al detector de accesos a memoria contenida. ¿Cómo se comportan fusetest y las cosas que usan MEMPTR y demás? Yo también querría probarlo :)
http://www.zxuno.com
ZX-Uno · Clon de ordenador ZX Spectrum basado en FPGA

Avatar de Usuario
Kyp
Mensajes: 240
Registrado: 18 May 2016, 20:16

Re: Proposición ZXUno+

Mensaje por Kyp » 25 Ene 2018, 20:08

La contienda me sale, creo, bien.
Captura de un test que se llama prtiming:
Captura01.PNG
Este es el resultado del fusetest (si, el bus flotante no funciona ahora :smashPC: ),a ver que he roto:
Captura02.PNG
El test contention:
Captura03.PNG
Y el iocontention:
Captura04.PNG
Mi bestia negra, el programa de azesmbog que depende de que la interrupción salte cuando debe, de que la contienda sea la correcta, y que las instrucciones duren lo que deben durar (la zona blanca es el borde que sale blanco en vez de negro porque el a-z80 es un Z80 cmos):
Captura05.PNG

Avatar de Usuario
Kyp
Mensajes: 240
Registrado: 18 May 2016, 20:16

Re: Proposición ZXUno+

Mensaje por Kyp » 25 Ene 2018, 20:11

zx81 escribió: Queremos catar ese core YA!. :mrgreen:
En cuanto descubra porqué no me funciona ahora el bus flotante :mecagonto:

Responder