Commodore‎ > ‎C128‎ > ‎

RGBI to S-Video

The Commodore 128 features an 80-Column color display using an RGBI output via the 8563 VDC. It offers higher resolution than the 40-Column display of the VIC-IIe (8564 NTSC, 8566 PAL-B often called simply VIC).  The VDC also supports video interlacing in hardware. The VIC is easy to connect to common video displays (TVs and monitors) due to various widely-used outputs: Composite, Chroma/Luminance (S-Video), and RF (analog TV antenna).

Unfortunately, the RGBI output of the VDC is not compatible with modern equipment. This poses a problem for C128 owners due to the dwindling supply (and expensive shipping) of RGBI and CGA monitors (CGA is very much like RGBI). RGBI is similar to VGA, but uses different voltages and horizontal frequency which most VGA monitors do not like (alternative options are VGA and SCART).

One solution built into the C128 by it's engineers is a monochrome output. You build a simple cable (or buy one) to connect this monochrome output to the Composite or S-Video input of many video displays. As you might guess from the name "monochrome," there is no color! Only three shades of gray: white, gray, and black. On my TV, white and gray appear almost identical. Because of this many programs are unpleasant or completely unusable!

A better solution, costing less than US $50, is an RGB to S-Video/Composite converter board. These are not too dificult to find and shipping is cheap. With one of these boards, a DC power supply, and some wiring, you get a nice color output compatible with many video displays.

The sharp readers among you probably noticed I called the board RGB to S-Video and not RGBI to S-Video. Notice the "I" (for Intensity) is missing. What this means is you only get 8 instead of all 16 colors!
 
So an RGB to S-Video board can be called only half a solution.  To be sure it is the most important half, but who doesn't want to experience the full capabilities of their VDC?  This page is about creating the second half.  That is, building a circuit to add Intensity to the RGB converter so you get 16 colors (full RGBI video) on a common video display.
 
  Adding Intensity: Theory  
The Intensity output is designed to make whatever primary color(s) is(are) currently active (Red, Green, and/or Blue) appear brighter. Thus you get twice as many colors. Examples: 2 shades of Red, 2 shades of Green, and 2 shades of yellow (Red+Green). A typical RGBI monitor would have a transistor in series with each of the R, G, and B lines. When the I line goes high, those transistors would amplify the R, G, and B signals producing a brighter color. When the I line is low, the transistors would still pass some current because they're slightly biased "on." By the way, RGBI output of the C128 is TTL Level (0V or +5V) unlike VGA which uses analog voltages around +1V.

The input to a typical RGB to S-Video converter is analog. Indeed, many of these boards have small pots (variable resistors) that can be used to scale the voltages on the R, G, and B inputs. It's easy to imagine using the Intensity output of the C128 to scale the R, G, and B outputs before going into the converter to get a true RGBI conversion -- and thus all 16 colors.

You could build a 3-transistor converter to do this (or use DACs). This could be a tedious project (especially with transistor biasing) and would need a power supply. However, there is a simpler way that works almost as well. Instead of active components (transistors), you can use passive components (resistors). The resistor method requires fewer components and is simple to test and build (assuming you're confortable building electronic circuits at all). To be honest, the resistor method also requires semi-active components (diodes).
 
  Adding Intensity: Reality  
I built four different circuits and got some screen shots for each. You can judge for yourself which you like best and might want to try building yourself.  Note: in all of my circuits I used 1/4 Watt resistors and 1N914 diodes (equivalent 4148 diodes).  You could probably use smaller (1/8 Watt) resistors.

The first thing I tried was using the Intensity line to pull-up the voltage of R, G, and B when I is +5V. The diodes prevent I from pulling R,G,B down and keep R, G, and B from interfering with each other. This results in the bright colors looking "washed out". The screen shot is a fairly accurate, but to my eyes, many of the bright colors were hard to tell apart. In particular, the bright versions of yellow, cyan, and purple were difficult to distinguish from white. To my eyes, the dark colors weren't as dark as I remember from my 1902 monitor (long dead).

A schematic diagram of RGBI to RGB using pull-up diodesA photo of C128 RGBI to S-Video using the Pull-Up Circuit

Due to the poor differentiation of the bright colors and the not-so-darkness of the dark colors, my second try used the Intensity line to pull-down the voltage of the R, G, and B lines when I is at ground (zero volts). Again the diodes prevent I from pulling the wrong way and the individual colors from interfering with each other. This results in very crisp colors. It would be perfect except one problem you should obviously see. As suspected before building it, the dark gray (bright black) is exactly the same as true black; thus you only get 15 colors instead of 16! This is because colors can only be made darker and you can't make black any darker.

A schematic diagram of RGBI to RGB using pull-down diodes A photo of C128 RGBI to S-Video using the Pull-Down Circuit

Because I like the colors more in the pull-down circuit but it lacked dark gray (bright black), I decided to try both methods at once. The third result is a comprise. The colors don't look as washed out. In the screen shot, the bright colors look almost as washed-out as with the pull-up method. But to my eyes, the bright colors were easy to distinguish from one another. Most importantly, there were 16 colors, although dark gray is a little too dark. To my eyes, dark gray was easy to distinguish from black, although in the screen shot, they seem nearly the same.

A schematic diagram of RGBI to RGB using pull-down and pull-up diodes A photo of C128 RGBI to S-Video using the Pull-Both Circuit

When a fellow C128 user asked me to build one for him, I tried some different values for the resistors to improve dark gray (light black).  I also wanted to try to use more common values (than 820 ohms) for the resistors.  I succeeded on both counts!  The fourth circuit is the same as the third, but the resistor values are different.  Once again, the screen shot shows dark gray almost the same as black, but to my eyes, it was clearly visible (better than the original pull-both circuit).

A schematic diagram of RGBI to RGB using pull-down and pull-up diodes (version 2) A photo of C128 RGBI to S-Video using the Pull-Both Circuit version 2

 
Finally note that all the screen shots above were taken while using the S-Video output of the RGB converter (more screen shots below). For reference purposes, below I have a screen shot using the Composite output of the RGB converter (using the Pull Both circuit). One the plus side, the colors look a little better. On the minus side, the pixels are rather blurry. Also for reference to the (probably) more familiar colors of the VIC-II, I have a Composite output screen shot of the 40-Column display. I tried to order the colors as close as possible to those of the 80-Column VDC.  All screen shots were taken from my 32-inch JVC television (CRT).

A photo of C128 RGBI to Composite using the Pull-Both CircuitA photo of C128 VIC-II standard Composite output

 
  Hardware  

I have built I nice little case for the RGB converter, my RBGI converter, and some extra connections. One extra connection is for monochrome output (just for completeness, I have no intention of using it). Besides the 9 to 12 volt DC input standard for the RGB converter, I also have a connector for 9 volts AC. This is so I can drive the RGB converter with the 9V AC from the C128's User Port (rectified with a circuit to 12V DC) instead of having to use a separate 9/12 V DC power supply.

A photo of RGBI to S-Video Converter, length-wise view (no Power circuit). A photo of RGBI to S-Video Converter, side view (no Power circuit).

It works but it causes interferance to the VIC's output at the moment. (The VIC screen shot above was taken with the RGB converter disconnected from the 9V AC). I'm pretty sure this is due to poor voltage regulation. By using 3 electrolytic capacitors in series, I have reduced the interference a lot. Also, the unshielded power wires (10+ cm) pick up interference; I will shield them upon completion of the project.

A photo of RGBI to RGB circuit board. A photo of completed RGBI to S-Video Converter.

Here are some photos of the unit with Pull-Both version 2 circuit. The completed unit has shorter wires and suffers no video interference. Note this unit does not have a connector for monochrome video.
 
  The Connectors  
Of course you will need to wire the RGBI board to a Male DB9 connector to plug into the rear of the C128.  Here is the pin layout of the connector you need to build.  Note: the view of the connector is when you are looking at the front (the side that plugs into the C128).  On the back where you connect the wires (and also on the connector of the C128) the pins are reversed horizontally.  That is pin 1 would appear on the right and pin 5 would be on the left.
Front view of Male DB9 Connector
  1. Ground
  2. Ground
  3. Red
  4. Green
  5. Blue
  6. Intensity
  7. (Monochrome)
  8. Horizontal Sync
  9. Vertical Sync

I recommend you wire both pins 1 and 2 to ground, however using just one of the two should be fine.  You don't need to wire pin 7 unless you plan on making a seperate monochrome connection.  You might want to do that for use with a TV/Monitor that does not have S-Video input, but in that case, you shouldn't be reading this!  Run pins 3 through 6 to the indicated lines on the left side of my circuit shown above.
 
You will also need to wire a connection to the RGB converter board.  This will depend on which particular RGB converter board you use.  The one I used has two seperate pin headers.  The large one does not have separate Horizontal and Vertical syncs, so the small one was used.  Here is the pin layout from left to right, with left being the side where the power and S-Video connectors are located:
Top view of 6-pin Header
  1. Vertical Sync
  2. Horizontal Sync
  3. Ground
  4. Blue
  5. Green
  6. Red

Be sure and check the board you are using, it may be different.  Three of the wires (Horizontal Sync, Vertical Sync, and Ground) do not connect to the RGBI circuit described above.  Just run them directly for the Male DB9 to your RGB converter.  Run pins 4 through 6 to the indicated lines on the right side of my circuit shown above.
 
And there you have it!  Plug the finished unit to your C128 and your Monitor.  Plug a power source to the RGB converter board.  Turn it on and enjoy!
 
  Screen Shots  
A screen shot of the C128 game BattleBlox

The screen-shots shown above were simple test screens. Now let's have a look at some real-world software! The first is from a game I made (years before I started this project) called BattleBlox. It uses the standard VDC configuration of 80x25 chars (non-interlace). You can download a D64 disk image plus source code here.

The second is from the popular text editor called ZED. This is using a non-standard VDC configuration of 80x45 chars in real interlace mode.

A screen shot of the C128 text editor ZED in 43-row interlace mode
 
  Update  
RGBI to S-Video in case with capacitor on V-Sync (by Michele Paciocco)

Wow I can't believe it has been almost 4 years since I first posted this! My adapter is still working. Several people have contacted me to report success building one themselves or ask me to build one for them. It seems to work well for both NTSC and PAL users. One PAL user, Michele Paciocco, had something interesting to report. On some displays, such as LG brand LCD TV it works fine; but on some displays, such as Samsung brand LCD TV, the screen would be "unstable." He was able to fix the unstable display by adding 1uF capacitor between V-Sync and Ground.

He also made a nice case for it and added some extra features. In his photo you can see the pull-both circuit board at the bottom right and the capacitor near the top right (soldered to the 80-column connector). The extra features, which have nothing to do with RGBI to S-Video, are a switch and connector for 40-column video. He said a 330 Ohm resistor on the 40-column chroma line was needed to keep the colors stable (top center of photo).  Just remember the extra resistor is not for RGBI.


© H2Obsession, 2009, 2010, 2013, 2014, 2017
Photo "With Capacitor" © Michele Paciocco, 2012. Used with permission.
Comments