Tutorial de VHDL centrado en crear un clon

Sinclair QL, ZX81, +2, +3, 128K ...
Avatar de Usuario
mcleod_ideafix
Amiga 2500
Amiga 2500
Mensajes: 5316
Registrado: 06 Oct 2009, 04:12
Sistema Favorito: Spectrum 16Kb/48Kb
primer_sistema: Spectrum 16Kb/48Kb
consola_favorita: Vectrex
Primera consola: TV Games/Pong Clone
Ubicación: Jerez de la Frontera
Gracias dadas: 12 veces
Gracias recibidas: 54 veces
Contactar:

Re: Tutorial de VHDL centrado en crear un clon

Mensajepor mcleod_ideafix » 11 Jun 2013, 22:13

antoniovillena escribió:Pues no sé si será la misma que la tuya, pero uso la versíon 303 del T80, que la he encontrado por otro sitio. En opencores está disponible una versión más antigua a esta. Y de entre todas las posibilidades he escogido la opción asíncrona (el archivo Z80A).

No recuerdo cuál usé en aquella ocasión. La que uso ahora creo que es una versión toqueteada por alguien que ha hecho cores para el proyecto FPGAArcade. Con esa versión sí que he podido diseñar un clon cycle-perfect (el que está publicado en OpenCores, de hecho).

Pero ya te digo que con seguridad tu problema no sea que tengas un T80 malo, sino algo relacionado con la contención.
Recuerda: cada vez que se implementa un sistema clásico en FPGA, Dios mata a un purista

Avatar de Usuario
antoniovillena
Amiga 1200
Amiga 1200
Mensajes: 2013
Registrado: 16 Abr 2012, 21:22
Gracias recibidas: 8 veces

Re: Tutorial de VHDL centrado en crear un clon

Mensajepor antoniovillena » 11 Jun 2013, 22:24

Entonces es la misma que uso yo. Estoy pensando en sacar una lección 3 más sencilla sin contención, o mejor dicho con una contención muy simple: activar el reloj de la cpu entre las líneas 192 y 311, en las cuales la ULA no accede a memoria de video. De esta forma se puede ver el clon funcionando, aunque virtualmente serían 2MHz de CPU, y el código VHDL añadido con respecto a la lección 2 sería menor.

Por cierto hay un bug en la versión mod-vga que tienes subida en opencores, en concreto afecta al flash: En columnas impares no aparece y en columnas pares ocupa dos caracteres. En este video se puede ver el problema:

http://www.youtube.com/watch?v=1q6XisEF87k

Avatar de Usuario
mcleod_ideafix
Amiga 2500
Amiga 2500
Mensajes: 5316
Registrado: 06 Oct 2009, 04:12
Sistema Favorito: Spectrum 16Kb/48Kb
primer_sistema: Spectrum 16Kb/48Kb
consola_favorita: Vectrex
Primera consola: TV Games/Pong Clone
Ubicación: Jerez de la Frontera
Gracias dadas: 12 veces
Gracias recibidas: 54 veces
Contactar:

Re: Tutorial de VHDL centrado en crear un clon

Mensajepor mcleod_ideafix » 11 Jun 2013, 22:27

antoniovillena escribió:Por cierto hay un bug en la versión mod-vga que tienes subida en opencores, en concreto afecta al flash: En columnas impares no aparece y en columnas pares ocupa dos caracteres. En este video se puede ver el problema:

Es una primera versión preliminar que me envió Jepalza, no la hice yo. Él ya lo arregló hace meses, pero estoy tan perro que aún no he actualizado el repositorio con la versión buena :santo:
Recuerda: cada vez que se implementa un sistema clásico en FPGA, Dios mata a un purista

Avatar de Usuario
antoniovillena
Amiga 1200
Amiga 1200
Mensajes: 2013
Registrado: 16 Abr 2012, 21:22
Gracias recibidas: 8 veces

Re: Tutorial de VHDL centrado en crear un clon

Mensajepor antoniovillena » 11 Jun 2013, 22:44

mcleod_ideafix escribió:Es una primera versión preliminar que me envió Jepalza, no la hice yo. Él ya lo arregló hace meses, pero estoy tan perro que aún no he actualizado el repositorio con la versión buena :santo:


¿Seguro que la hizo Jepalza? Estoy hablando de la MOD-VGA, no de la OLS. La que hay colgada en opencores además tiene los colores apagados porque no usa los DACs. Tengo una versión más nueva que me envió Superfo que arregla el problema de los colores, pero el bug del flash sigue ahí.

Avatar de Usuario
mcleod_ideafix
Amiga 2500
Amiga 2500
Mensajes: 5316
Registrado: 06 Oct 2009, 04:12
Sistema Favorito: Spectrum 16Kb/48Kb
primer_sistema: Spectrum 16Kb/48Kb
consola_favorita: Vectrex
Primera consola: TV Games/Pong Clone
Ubicación: Jerez de la Frontera
Gracias dadas: 12 veces
Gracias recibidas: 54 veces
Contactar:

Re: Tutorial de VHDL centrado en crear un clon

Mensajepor mcleod_ideafix » 11 Jun 2013, 22:57

antoniovillena escribió:
mcleod_ideafix escribió:Es una primera versión preliminar que me envió Jepalza, no la hice yo. Él ya lo arregló hace meses, pero estoy tan perro que aún no he actualizado el repositorio con la versión buena :santo:


¿Seguro que la hizo Jepalza? Estoy hablando de la MOD-VGA, no de la OLS. La que hay colgada en opencores además tiene los colores apagados porque no usa los DACs. Tengo una versión más nueva que me envió Superfo que arregla el problema de los colores, pero el bug del flash sigue ahí.


Huy! Cierto! Entonces esa de la MOD-VGA ya no recuerdo si fue un intento mío preliminar, o me la pasó Don Superfo (supongo que es esto último)
Recuerda: cada vez que se implementa un sistema clásico en FPGA, Dios mata a un purista

Avatar de Usuario
antoniovillena
Amiga 1200
Amiga 1200
Mensajes: 2013
Registrado: 16 Abr 2012, 21:22
Gracias recibidas: 8 veces

Re: Tutorial de VHDL centrado en crear un clon

Mensajepor antoniovillena » 12 Jun 2013, 21:40

Estoy avanzando aunque a paso de tortuga. He encontrado una forma de implementar la RAM sin que sea dependiente de la arquitectura. Estoy investigando lo mismo para la ROM. En cuanto a tus sugerencias, he traducido la lección 1 para que se entienda mejor y a su vez sea más portable. Ahora los fuentes compilan tanto para la placa MODVGA como para la OLS:

http://retrolandia.net/foro/showthread. ... 402#pid402

Por cierto, ¿me podéis decir (mcleod o jepalza) el circuito que se le pone a la OLS para sacar video RGB?

Avatar de Usuario
mcleod_ideafix
Amiga 2500
Amiga 2500
Mensajes: 5316
Registrado: 06 Oct 2009, 04:12
Sistema Favorito: Spectrum 16Kb/48Kb
primer_sistema: Spectrum 16Kb/48Kb
consola_favorita: Vectrex
Primera consola: TV Games/Pong Clone
Ubicación: Jerez de la Frontera
Gracias dadas: 12 veces
Gracias recibidas: 54 veces
Contactar:

Re: Tutorial de VHDL centrado en crear un clon

Mensajepor mcleod_ideafix » 12 Jun 2013, 23:39

¿Video RGB? Pues el mismo que usa la ULA del ZX Spectrum 128K. Esa ULA saca 5 pines: brillo, rojo, verde, azul y sync. Pero... vamos, que estoy seguro de que tú sabes cómo va eso, ¿no?
Otra cosa es si me estás preguntando cómo sacar una señal de video analógica (varios niveles de tensión) en un único pin de la FPGA con idea de sacar tres pines para RGB analógico. Para eso yo uso un codificador sigma-delta. En la implementación del Spectrum que tengo publicada en OpenCores (para la Spartan 3-1000 y 250) puedes ver el código fuente de dicho conversor (en Verilog).
Recuerda: cada vez que se implementa un sistema clásico en FPGA, Dios mata a un purista

Avatar de Usuario
antoniovillena
Amiga 1200
Amiga 1200
Mensajes: 2013
Registrado: 16 Abr 2012, 21:22
Gracias recibidas: 8 veces

Re: Tutorial de VHDL centrado en crear un clon

Mensajepor antoniovillena » 12 Jun 2013, 23:48

Según veo en los fuentes que hay colgados en OpenCores se usa una cuarta señal de intensidad. Si hubiese un codificador sigma-delta no haría falta esta señal. Sería muy parecido al circuito de 3 diodos y 6 resistencias del clon superfo 128K, pero en lugar de 5V que funcione a 3.3V.

Es que quiero poner el esquema del circuito (en el tutorial) para que el que tenga una OLS lo pueda montar, y suponía que tú o jepalza ya lo habíais montado y tendríais los valores correctos de los componentes.

-- Actualizado 12 Jun 2013, 22:50 --

Lo del conversor sigma-delta está bien porque simplifica el circuito, pero no me parece buena idea incluirlo en el tutorial porque se supone que es para principiantes y añade complejidad innecesaria al código.

jepalza

Re: Tutorial de VHDL centrado en crear un clon

Mensajepor jepalza » 13 Jun 2013, 07:14

mcleod_ideafix escribió:¿Video RGB? Pues el mismo que usa la ULA del ZX Spectrum 128K. Esa ULA saca 5 pines: brillo, rojo, verde, azul y sync.

Exacto, el mismo cable que hemos usado en el Clon 128 te vale.

Avatar de Usuario
mcleod_ideafix
Amiga 2500
Amiga 2500
Mensajes: 5316
Registrado: 06 Oct 2009, 04:12
Sistema Favorito: Spectrum 16Kb/48Kb
primer_sistema: Spectrum 16Kb/48Kb
consola_favorita: Vectrex
Primera consola: TV Games/Pong Clone
Ubicación: Jerez de la Frontera
Gracias dadas: 12 veces
Gracias recibidas: 54 veces
Contactar:

Re: Tutorial de VHDL centrado en crear un clon

Mensajepor mcleod_ideafix » 13 Jun 2013, 08:32

antoniovillena escribió:Lo del conversor sigma-delta está bien porque simplifica el circuito, pero no me parece buena idea incluirlo en el tutorial porque se supone que es para principiantes y añade complejidad innecesaria al código.

Como quieras, pero es infinitamente más sencillo que el T80, que también se incluye en el tutorial. Ambas cosas (T80 y conversor sigma-delta) se usarían como cajas negras en tu tutorial.
Recuerda: cada vez que se implementa un sistema clásico en FPGA, Dios mata a un purista


Volver a “Sinclair/Spectrum”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 10 invitados