Generación de texto en video compuesto

3

Estoy construyendo una computadora casera. Quiero alguna forma de sacar el video, preferiblemente a lo largo de las líneas de texto de 80x25. No estoy interesado en los gráficos de framebuffer.

¿Existe tal cosa como un sistema de generación de texto de un solo chip, completo con reloj, ROM de generador de caracteres interno y memoria de video? Preferiblemente hablando algo como I2C ...

En los viejos tiempos estaba el generador de video de teletexto SAA5243, que hizo casi todo esto. Me sorprendería mucho si no hubiera algo similar (pero mejor) disponible hoy. He encontrado cosas como MAX7456 , pero realmente está destinada para uso en OSD y solo funciona en 30x16, que es un poco pequeño. ¿Hay algún tipo de equivalente moderno?

Por supuesto, soy consciente de que cualquier microcontrolador razonablemente rápido puede hacer bit-bang de video compuesto en el software, pero luego tengo que escribirlo yo mismo y me gustaría algo que funcione.

(Por cierto, y esto no es parte de la pregunta, pero si alguien sabe dónde puedo conseguir una pantalla LCD de caracteres de estilo HD44780 más grande que 80x16 aproximadamente, estaría encantado .)

Actualización: Por supuesto, cualquier cosa que emita VGA también está bien. Básicamente quiero algún tipo de video que sea barato y fácil de mostrar.

    
pregunta David Given

3 respuestas

1

¿Qué tipo de procesador y sistema de memoria está usando? Muchas computadoras domésticas en la década de 1980 tenían el sistema de video que toma datos directamente de la memoria del procesador. Dependiendo del procesador, es posible que el sistema de video reciba datos de la memoria cuando el procesador no lo está usando (esto se hizo, por ejemplo, en la serie de Apple); incluso si eso no es posible, hacer que el video reciba datos directamente de la CPU a menudo permitirá actualizaciones de pantalla más agradables de lo que sería posible si los datos se enviaran a otro chip; se puede variar la complejidad del hardware en función del nivel de carga de la CPU que se consideraría "aceptable". Tenga en cuenta que si su procesador / microcontrolador tiene un canal DMA de repuesto, el nivel de hardware requerido puede ser muy bajo, especialmente para una pantalla de mapa de bits, y la CPU solo puede ser interrumpida una vez por trama [dependiendo del controlador DMA, puede que ni siquiera necesites eso.

Sería posible usar un CPLD junto con una RAM paralela o en serie para crear un subsistema de video que se ejecutaría de forma mayoritaria o totalmente autónoma, pero permitiría a la CPU principal realizar algunas actualizaciones de la pantalla durante el tiempo en que la pantalla estaba en blanco (Dependiendo de la cantidad de lógica que desee colocar en el CPLD, la CPU principal puede tener que asegurarse de restablecer la dirección en la RAM SPI a tiempo para que el video reanude la sincronización). También puede utilizar un CPLD junto con una RAM paralela para emular una RAM en serie; Si de todos modos estuviera planeando interconectar una RAM en serie con su CPU, ese podría ser el mejor enfoque. Como la CPU principal y el video solo necesitarían acceder a un máximo de dos millones de bytes por segundo (suponiendo un video de un bit), no debería haber ningún problema entre los ciclos de memoria paralelos. Supongo que un CPLD con 64 o 72 macroceldas podría hacer el trabajo "apenas", o uno con 128 o 144 macroceldas podría hacer el trabajo "cómodamente". Me sentiría inclinado a ir con lo último, ya que probablemente podría incluir una variedad de características que agilizarían enormemente las actualizaciones de la pantalla (por ejemplo, la capacidad de cambiar automáticamente los datos entrantes o enmascarar los datos entrantes).

    
respondido por el supercat
1

Puede utilizar un chip de hélice Parallax como periférico, y usar un paralelo o un serial ( Bus SPI / I2C) para comunicarse con él. El chip cuesta $ 8 en cantidades individuales y está disponible en paquetes DIP o SMD (mientras que el MAX7456 cuesta más del doble y solo está disponible como SMD).

La hélice tiene circuitos de temporización especiales para generar video compuesto y VGA bajo el control del software. Aunque mencionó la necesidad de solo texto, también puede hacer gráficos: aquí hay una demostración . En cuanto al texto, vea la demostración de texto VGA alrededor de las 2:05 en el video que tiene un formato cercano al que está buscando.

Existen muchas bibliotecas para enviar texto a la pantalla, por lo que no tiene que escribir su propia cuenta desde cero. La fuente predeterminada está contenida en una tabla de mapa de bits incluida en la misma ROM que contiene el cargador de arranque y el intérprete utilizado para el lenguaje Spin (también se puede usar el lenguaje de alto nivel Parallax para la programación del Propeller; C y el ensamblaje). / p>     

respondido por el tcrosley
0

Si el color no es importante, puede consultar Tellymate barato para AVR y XMEGA . También hay un dispositivo que funciona tanto en video compuesto como en VGA.

    
respondido por el avra

Lea otras preguntas en las etiquetas