CGA2RGBv2 - Digital RGBI to analog RGB for C128 and IBM PC MDA/CGA/EGA

Submitted by GG on Sun, 05/02/2021 - 22:38
Project Status

CGA2RGBThe 80 column output of the Commodore 128 is the same digital RGBI used by the original IBM CGA graphics adapter. Unfortunately nowadays is quite difficult to find a monitor with the suitable RGBI input. The CGA2RGBv2 adapter will convert the TTL RGBI to analog RGB suitable to be connected directly to a 15KHz capable RGB monitor or to the popular Gonbes GBS-8200 VGA converter. As an added bonus the CGA2RGBv2 can also convert MDA and EGA to an analog format for the enjoyment of all our retro PC friends.

Similarly to the older CGA2RGB-C02, the basic circuit is a triple 2-bit digital to analog converter. The main improvement is the addition of micro USB connector to power the circuit.

U1 decodes the RGBI input to 2-bit per color component according to the dip switch settings and generates the composite sync needed for the GBS-8200.


For MDA the converter supports enhanced brightness and can be configured for white or green for a more retro look.
For EGA the conversion is direct as the digital signal is already 2-bit per component.

For CGA the decoding follows the standard color table which includes a special case for color 6.

Commodore Color Number CGA Color Number RGBI Color R G B
1 0 0000 Black 00 00 00
7 1 0010 Blue 00 00 10
6 2 0100 Green 00 10 00
12 3 0110 Cyan 00 10 10
3 4 1000 Red 10 00 00
9 5 1010 Magenta 10 00 10
10 6 1100 Brown 10 01 00
16 7 1110 Light Grey 10 10 10
13 8 0001 Grey 01 01 01
15 9 0011 Light Blue 01 01 11
14 10 0101 Light Green 01 11 01
4 11 0111 Light Cyan 01 11 11
11 12 1001 Light Red 11 01 01
5 13 1011 Light Magenta 11 01 11
8 14 1101 Yellow 11 11 01
2 15 1111 White 11 11 11

The resistor network R1,R2,R7 forms a simple R2R D/A converter. The output impedance of the converter is however too high to directly drive the 75ohm video cables. U2 buffers the signals and thanks to R12,R13,R15 provides a perfectly matched 75ohm impedance.

L1 an L2 and the related capacitors provide noise filtering some isolation between the analog and digital portion of the board.

The board requires a 5V power supply. It can be powered directly from the GBS-8200 or using an external USB power supply.

Jumper J4 allow to select between composite sync (pin 1-2) suitable for the GBS-8200 and separate sync (pin 2-3) suitable for 15KHz capable monitors.

Connector J5 can be used for internal connections.

Pin Signal
2 B
3 G
4 R
8 Video (if present, can be used as a CSYNC for SCART connections)

CGA Colors

Image Quality

The image quality of the GCA2RGB, like all analog video connections, heavily depends on the cable used. The standard multi colored cable included in the GBS-8200 is not an optimal choice. For sharp images a good quality VGA cable should be used.

Great care has been devoted to produce a sharp and noise free signal. The following pictures show the waveform for a single pixel line and a 1 to 7 pixel. Rise and fall times are consistently below 20ns with very limited overshoot.

Power filtering has been significantly improved as well to produce a noise free image even when using cheap 5V power supplies.

C01 signal integrityC01 signal integrity

Filed under

While I'm appreciative that this is available for purchase, the GPL 3 license requires that you disclose this project is copied from necroware/mce-adapter ( Adding this information to your page and eBay listing will increase customer confidence and provide the open-source origin for this component so the community can "give back". This benefits everyone including gglabs as you will benefit from improvements made to the adapter over time.

Thanks for the feedback. I never seen the mce-adapter before you sent the link.
In fact the first CGA2RGB design is from 2017 which is several years earlier than the mce-adapter publication on github. Therefore it's impossible for the CGA2RGB to be a derivative work of the mce-adapter.


Sun, 01/30/2022 - 14:26

I've bought CGA2RGBv2, but I can't see a plastic case in order to mount this stuff inside it.
Do you know where I could find it ?
Thanks a lot.

I think since it says the Commodore uses the same CGA output as PC CGA, the implication is that I could use a CGA output from a PC and use this card? Also, I'm not familiar with this site, but I dont see where I can buy a board or finished product.. Is there more than just a schematic available? I am happy to order and build my own boards, but I would prefer not to re-enter the schematic and do the routing if I'm just missing something on this page?

Yes, the converter will work for any CGA output including PC and Tandy 1000.
However, please keep in mind that it is not a scan converter and, in general, the output cannot be directly connected to a VGA monitor.
To purchase any pre-assembled items/PCBs, please check the "Shop" page that can be accesses in the navigation bar.