radastan escribió:Lo suyo, si es posible, es configurar la salida a 75 Hz y duplicar imágenes. Al ser múltiplo...
No, me temo que no es así. Estás suponiendo que la frecuencia de barrido vertical son 25 Hz, y no: son 50 Hz. El Spectrum da salida de video progresiva. El primer múltiplo serían 100Hz, que no está soportado en la mayoría de monitores VGA.
radastan escribió:320x240 da espacio para los 256x192 de pantalla y el borde.
Tampoco es así: la resolución nativa del ZX-Uno es de 512x192 para la parte del paper (recuerda que tenemos el modo HiRes), o bien 704x288 si tienes en cuenta los bordes. Esto significa que la resolución mínima "estándar" que hay que implementar en VGA es 720x576, o más estándar aún, 800x600, aunque en este último caso habría un reborde negro por toda la pantalla.
Además, cualquier cosa que suponga repetir la pantalla completa más de una vez se enfrenta al problema de que no hay BRAM suficiente dentro de la FPGA para almcenarla (para que pueda pintarse N veces mientras se está generando el siguiente cuadro), así que la única solución es repetir no cada cuadro, sino cada scanline, sacando 704x576 de 704x288. Pero esto implica mantener la frecuencia de refresco vertical, y si se mantiene, es de 50Hz. Pero como hay monitores que no llegan tan bajo, hay que poder subir dicha frecuencia de forma programable cuando se use la salida de VGA, lo que signfica que TOOOOODO el sistema debe subir de frecuencia, para que CPU y ULA sigan sincronizadas una respecto de la otra.
Ya le di vueltas en su día al tema, y en un hilo que andará dios sabe donde, expuse con números lo que estoy resumiendo aquí, y por qué se va a implementar la VGA de la forma en que se va a implementar.
EDITO: mira, aquí está la discursión:
viewtopic.php?f=26&t=5691&start=40#p49132
Y el hilo donde comento lo del scandoubler:
viewtopic.php?f=26&t=5704