Posted By azog on February 16, 2012
Lately it seems a large chunk of my retro computing hobby is devoted to display issues, notably trying to get a modern display to work with older computers. “Modern display” would be generally an LCD VGA panel, for the simple reason of size as well as possibly interchangeability between disparate video systems.
I guess the purpose of this post is both a vent, and perhaps if someone, somewhere in the world stumbles on it, and tells me about a magic universal solution.
Since my attention is on Commodore 8 bits and Atari 16 bits, I’ll use these as the examples, but the same issues can easily be transported to other systems.
The VIC-20 normally outputs composite video, but mods exist for S-Video. The Commodore 64 can natively output both composite video and S-Video. The Commodore 128 is slightly different, as the 40 column mode is the same as the C64 (composite and S-Video), but there needs to be special attention on the 80 column mode, which is RGBI.
For Atari 16 bits, e.g., the Atari ST, there are also three different resolutions, which run in two different video modes. ST Low and ST Medium are CGA, while ST high is close enough to VGA that it just works as VGA.
In the case of a C128, if you wanted both 40 and 80 column modes, you’d run either two monitors, or a monitor with both composite and RGB input. Same with an Atari ST, but in this case, you’d have no choice but to actually have two monitors, an SC1224 for color and an SM124 for monochrome, and a switch between them. Given the bulky sizes of CRT monitors, is it any wonder I want to have a hopefully single solution?
Composite, S-Video and VGA are not an issue. For example, here is the back panel of a not-quite-modern LCD TV.
This has a host of inputs: RF as pretty much the bottom of the barrel, composite, S-Video, component video, and what TV manufacturers often refer to as RGB, but is actually VGA. You need to be careful of their terminology there. All these video modes are analog video, and that’s a key issue.
The problem lies with the CGA or RGBI video modes. Actually, for all intents and purposes, the RGBI mode of a C128 is CGA, refering to either CGA or RGB(I) means the same thing. CGA is a digital signal, or TTL, and this is the same key issue as above.
I think the analog video modes all have a 1vpp signal, and TTL is, well, TTL, which is defined as 5v. Simply incompatible.
Voltages aside, another major difference between CGA and VGA is the horizontal sync rate (h-sync), which is roughly 15khz for CGA, versus roughly 31khz for VGA. So VGA is pretty much double the h-sync of CGA. Here, you will often find reference to “scan doublers”, but that phraseology seems to be mostly isolated to the Amiga community.
So there are two major incompatibilities which prevent CGA video being displayed on a VGA monitor. In the CRT era, many monitors were “multi-scan”, which would enable a sync rate down to 15khz, and up to like 60khz. But LCD monitors don’t seem to sync that low.
Why don’t they sync down to 15khz? I do know for a fact that there is a brand of LCD monitors that supports BOTH VGA AND CGA inputs, but they are barebone panels which usually cost in the range of $400. They’re targetted towards arcades who want to convert or replace CRT monitors with LCD panels.
Now, I’ve seen people post success or failures of attempting to connect TVs with VGA inputs to their CGA outputs, and I wonder how they’re doing this? Are they just connecting it and hoping there’s no Magic Smoke?
I mentioned scan doublers above, and there are a few different options. I used an ACV-011 in a previous experiment with my C128:
Another experiment was with the GBS-8220
They’re pretty much “more of the same”. The ACV has features the GBS doesn’t and vice versa. The labels on the GBS-8220 are clearer so I’ll use that as my focus.
The input from CGA is the header with wires heading off the top of the board, the other inputs and outputs are either not an issue at hand, or self-explanatory. You can see the signals on the board: VS (vert sync), HS (horizontal sync), S (composite sync, which combines both h-sync and v-sync), and the three colors.
So why can’t modern VGA panels support the CGA sync rates? The only reason I can think of is cost. “Nobody wants CGA”. While that’s not true, as the vintage or retro community is rather large, but probably not large enough to offset costs.
As far as I am aware, an LCD panel itself is digital. Not the video inputs, but the actual LCD panel. You have three pixels for each color, and the pixel is either on or off. That’s a digital signal. It’s up to the input drivers to take their respective signals and convert them to the “raw” signal an LCD requires.
Driving a “raw” LCD is not trivial. Here, for example, is the datasheet from an LCD SparkFun sells. Such a feat is beyond me. When I sit down with these datasheets and try to envision the process flow, I am quickly overwhelmed. Most of the comments mention using an FPGA to drive it, but that seems to be with the FPGA generating the signals, and not taking an external signal to drive it. Then you have to deal with the different sync rates, the different voltages, and who knows what else…
So to end this, WHY isn’t there a “universal” LCD that can support CGA as well as VGA, composite and S-Video? One that doesn’t cost an arm-and-a-leg.