CGA/EGA to VGA converter


Well-known member
The idea is to use Flexio and the existing VGA library to implement a CGA/EGA to VGA converter.
I found an existing project, but the CGA/EGA reading is done by software, relying on CPU cycles to syncronize everything.

The ideal converter would be CGA/EGA->Flexio DMA writing directly in the VGA ram buffers.
The VGA library use part of the Flexio system, but I don't know if there is enough ressource left, in order to implement the CGA/EGA reading part.
The CGA/EGA use some digital bits for color coding, Hsync and Vsync.

Any advice welcome, from "this is not feasible" to "here is an existing library" :)


I don't think you need a microcontroller to do this? The CGA lines are digital so you can just use resistor ladders to convert them to (VGA level) analog.
If the Teensy was in the middle all it would be doing is acting as a buffer (introducing delay), copying the input signals into memory and then sending them out FlexIO unmodified.
CGA, EGA and VGA all have different frequencies, H/V sync polarities and resolutions.
Common low cost VGA displays will not be able to accept H/V sync signals directly with CGA/EGA frequencies.
Some special displays have some autosync features, but they are expensive.

My first application is an old DRO which have 55Hz and 26kHz. Not even a CGA or EGA standard mode.