radastan escribió:...a ser posible con una CPLD que nos "empaquete" esa parte para que sea lo más simple posible.
Tú ya sabes que siempre voy a secundar esa moción

radastan escribió:La salida de vídeo la había pensado como vídeo compuesto en monocromo
Mmmmmmmm..... monocromo a estas alturas... bueno, todo depende de lo que pretendas hacer después con ese micro, pero me parece cortarle las alas más de la cuenta, sobre todo si la parte de video la puedes hacer en CPLD.
radastan escribió:muy simple de crear. El RGB necesitará lógica adicional y la VGA creo que ya se nos escapa en cuanto a lógica discreta, no se si un CPLD nos lo podría hacer fácilmente (sería una pasada tener salida VGA).
Con una CPLD puedes tener un modo gráfico en VGA. Mi primera "ULA" daba salida VGA, no RGB de televisión.
radastan escribió:En eso si me puedes dar un consejo te lo agradecería, ya he comentado que podríamos usar una memoria al doble de frecuencia de reloj para dar cobertura a Z80 y el sistema gráfico de forma simultánea. No se si sería muy complicado, pero de esa forma ninguna de las dos partes vería contención alguna y nos ahorramos el WAIT al Z80 si trata de acceder a esos 16K.
Así es como lo hace el gate array del Inves. Para evitar la contención puedes usar el ciclo de refresco del Z80, en el que la CPU no accede a memoria, para que el chip gráfico lea en ese momento una cantidad de bytes suficiente para que no se quede sin datos. De todas formas, el ciclo de memoria del Z80 es taaaaaaan lento que puedes multiplexar el acceso de la memoria a CPU o a chip gráfico incluso cuando hay un ciclo de memoria de CPU en curso.
Por cierto, si usas una versión CMOS del Z80 (de venta en la actualidad) puedes llegar hasta los 20MHz de frecuencia de reloj para la CPU.