Diseño del controlador de video

3

Estoy diseñando mi propia computadora basada en el Zilog Z80. Tiene 256KiB de RAM estática con paginación, así como unos pocos megabytes de memoria flash. Todo va bastante bien hasta que * BAM * llegué a un callejón sin salida.

El problema que estoy teniendo es diseñar un controlador de video. Estaba pensando en algún tipo de terminal o pantalla. Un terminal de 24x80 o 25x80 sería maravilloso. Sin embargo, incluso una pantalla VGA de 640x480 ocuparía enormes cantidades de memoria.

640 * 480 = 307.2 Kbits

¡Eso es incluso más que la cantidad de memoria direccionable por el Z80 a la vez!

Además, si quiero color, por ejemplo, un bit por color, necesitaría 3 bits por píxel.

307.2 Kbits * 3 = 921.6 Kbits

Además, ¿no tendría que tener doble puerto para permitir el acceso desde Z80 y el monitor?

Debido a que esto es extremadamente difícil de implementar en software y hardware, ¿sería una buena decisión usar una ROM de caracteres? Me resultaría muy difícil obtener PROM de enlace de fusibles o EEPROM de UV. ¿Qué tengo que hacer? ¿Puedo poner una ROM de personaje en la memoria flash? ¿Cómo lo implementaría en el controlador? ¿Cómo le digo a la ROM del personaje qué personaje debe escupir? ¿Debo incluso utilizar VGA? ¿El video componente (NTSC o PAL) sería más fácil que VGA?

Si se puede diseñar un buen sistema, ¡quizás podamos usarlo para los microcontroladores! Dame todo lo que tienes, necesito tantas ideas como sea posible.

    
pregunta fuzzyhair2

4 respuestas

6

Esta es la razón por la que las pantallas VGA no ocurrieron hasta mucho después de la Z80.

Gráficos de bloques con sprites, o gráficos monocromos de 1 bit por píxel, o modos de visualización basados en ROM de caracteres fueron el orden del día. A veces puedes cambiar de modo entre ellos.

Usando ROMs de caracteres, el código de caracteres ASCII proporcionó la mayor parte de la dirección en la ROM, con (línea de escaneo mod 10) proporcionando 4 LSBs de dirección. Así que almacenó los códigos de caracteres ASCII en una RAM pequeña (tal vez 2 kbytes), y el hardware del controlador de video leyó una cadena de 80 desde esta RAM, (10 veces seguidas por 10 líneas de exploración sucesivas) para entregar 80 bytes (640 bits) por línea .

Esos 80 bytes pueden provenir de una sección de 128 bytes de la RAM 2K, para simplificar el direccionamiento de video. Del mismo modo, las 10 líneas de escaneo provienen de una sección de 16 bytes de la ROM de caracteres para simplificar el direccionamiento. Con un diseño adecuado, puede seleccionar una página diferente de ROM de caracteres con 14 o 16 bytes por carácter para una fuente más bonita (¡y menos líneas de texto en la pantalla!) Con solo pequeños cambios en el hardware de video.

El controlador de video 6845 era un dispositivo popular que podía manejar este tipo de direccionamiento y gráficos de mapa de bits simples; todavía debería ser fácil encontrar mucha información sobre él.

    
respondido por el Brian Drummond
4

Tal vez decida que una pantalla LCD serie será la adecuada para usted: -

He marcado con un círculo el bit en rojo que habla sobre el puerto serie. Esta es solo una idea: hay muchos LCD que pueden ser adecuados. Puede usar el Z80 UART o DART (si todavía los crean y disparan su información al módulo.

    
respondido por el Andy aka
1

Sé que esta es una pregunta antigua, pero en realidad estoy haciendo casi lo mismo. Estoy diseñando una consola "estilo 80's" basada en el Z80 .

Lo que he decidido usar es el microcontrolador Propeller de Parallax . enlace

La hélice (a veces llamada "prop") tiene 8 núcleos que se ejecutan al mismo tiempo. Cada núcleo es capaz de mostrar video NTSC / PAL y VGA sin mucha programación. Es un chip muy capaz y, aunque carece de algunas de las características de hardware integradas de Atmel, lo compensa en los 8 núcleos que ejecutan 20 MIPS cada uno (160 MIPS).

Además, la comunidad es increíble y ha habido muchos emuladores de audio / video escritos para ella. De hecho, creo que un Z80 completo es capaz de ejecutarse en un núcleo, dejando a otros 7 hacer otras cosas como video y audio.

No puedo recomendarlos lo suficiente. Especialmente para todo lo que tenga que ver con vídeo VGA o NTSC / PAL.

    
respondido por el cbmeeks
0
respondido por el avra

Lea otras preguntas en las etiquetas