Home

Awesome

VGA Framebuffer

This crate implements basic VGA text output on an embedded microcontroller, using nothing more than some timer peripherals and a few GPIO pins.

This crate is written to be hardware-agnostic.

The example code renders to a console using ANSI escape sequences to set the colour and printing a '█' character of the appropriate colour for each pixel. Obviously on a system with real VGA output you need to send the pixels to the display as analog values between 0V and 0.7V, along with appropriate Horizontal and Vertical sync signals. That is left as a platform-specific exercise for the reader, but the Monotron is one example for a specific embedded platform.

The Specs:

The pixels are double-width as I didn't have the CPU power to render colour pixels at 40 MHz. I do have experimental 40 MHz support in a branch, but only in black-and-white.

Tested on Monotron using a Texas Instruments Tiva-C TM4C123, which has a Cortex-M4F core clocked at 80 MHz.

Coming soon...

Contributing

I'll happy accept a patches to enable other resolutions and/or other text resolutions.