A new version of this project is available here
The 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 CGA2RGB 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.
Similarly to the older CGA2RGB-B00, the basic circuit is a triple 2-bit digital to analog converter. The main improvement is the addition of J5 to improve the support for SCART and third party cases. Small capacitors have also been added to the output of the DAC to improve signal integrity.
U1 decodes the 4-bit RGBI input to the full 2-bit per color component and generates the composite sync needed for the GBS-8200.
The decoding follows the standard CGA color table which includes a special case for color 6.
|Commodore Color Number||CGA Color Number||RGBI||Color||R||G||B|
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.
The board requires a 5V power supply. It can be powered directly from the GBS-8200 or using an external 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.
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. The recommended configuration is to plug the CGA2RGB directly into the GBS HDB-15 input. If this is not an option a good quality VGA Male to Female 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 about 20ns with no visible overshoot.