El martes por la noche, tras entregar dos trabajos para la universidad, tuve insomnio y me dio por diseñar. Miré los estándares de tiempo del estándar VGA, que encontré aquí. Luego ví este vídeo en youtube.
Curiosamente usa la misma página que encontré para determinar la generación de señales, aunque usa otra resolución de la que yo finalmente escogí (640x480).
Mientras que no me gusta cómo lo hizo (breadboard, tirando siempre bajo en el diseño, etc.) me dió muchas ideas sobre como implementar un sistema de vídeo con salida VGA. Investigando un poco me dí cuenta que puede adaptarse también a scart.
Establecí unas especificaciones base:
- Resolución 320x240.
- 512 Colores.
- Scroll vertical y horizontal.
Hay algunas cosas que tuve en cuenta y que cambiaron o adapté:
- Al usar 16 bits de RAM de color se podría aumentar el número de colores hasta 32k.
- Los colores se distribuirían en 128 paletas de 16 colores (sé que son muchas, pero lo que me hizo considerar usar un registro de 8 bits para determinar la paleta usada fue el ancho del bus de direcciones de la memoria (11 bits) y el bus de datos de un microprocesador de 8 bits, debería usarse sólo 7 de esos bits).
- La memoria de caracteres es de 8k x 8 bits, pero se usaría como una de 16k x 4.
- Los registros de scroll los definí como 2 registros de 10 bits (16 para que puedan ser leídos sin problemas para el procesador), incorrectamente escrito en el diagrama.
- Me preocupa que los componentes no sean lo suficientemente rápidos.
- En caso que individualmente fueran suficientemente rápidos, me da la impresión que necesitaré hacerlo por pasos e ir poniendo registros en algunos puntos.
- No tengo aún la multiplexación de datos y direcciones hecha (y esto me lleva al siguiente punto).
- Mi intención es construir mi propio micro algún día y ponerle esto, pero para hacer pruebas debería diseñarlo para uno ya existente. Me recomendaríais alguno?
- Me gustaría construir esto con componentes de la serie 74 (sin incluir las memorias), me recomendaríais alguna subfamília?
Gracias!