Eudimorphodon
Veteran Member
Just wanted to share a little side/skunkworks project that saw its first "Hello World" today. For a while I've had an interest in building intentionally archaic/obsolete NTSC video projects. Lately I've been thinking about how easy/difficult it'd be to add color to a "dingus" I'm hoping to build soon, and while researching it I stumbled across what looked like a "Cadillac solution" (circa mid-90's) for converting an NTSC-frequency RGB source to separate Luma and Chroma feeds (in addition to composite), the Analog Devices AD724. The part is mostly obsolete these days but still available from mainstream outlets like Digikey, albeit often at positively eye-watering prices. Just for laughs I bought 10 of them from a Chinese seller on eBay for an order of magnitude less a month ago, and, well, obviously I needed to see if I'd gotten ripped off so I decided to build something.
I'm sure someone must have done this before, but I failed to find any evidence on the first Google so I designed my own circuit from scratch, combining the VGA-to-TV example in the datasheet with a 4-to-6-bit DAC loosely inspired by an old GGLabs "CGA2RGB" design. (The CGA page on Wikipedia links to the 5154 EGA monitor tech manual, which has a table in it explaining how the EGA monitor implements the "brown fix" that CGA monitors have in terms of the CGA 6 bit palette, so I just ran that through Logic Friday to come up with a suitable equation to stick a GAL to implement the resistor ladder.) My AD724JRs were SOIC surface mounts, so I had to do a gross job soldering one to a wrong-size (24 pin, I couldn't find the right pitch 16 pin) breadboard adapter, and... here's what it looks like:
I'm skeptical the 724's composite output would be much clearer than a normal CGA output because of the fundamental limitations of having to strip the luma and chroma apart, so I went for S-Video... or, in the case of my test environment, C64-style separated video. Here's the test mule, my Tandy 1000 EX, connected to a Commodore 1702 monitor:
The Tandy's native composite is connected to the front connector, while the separate Luma and Chroma from the breadboard is on the back. Is S-Video an improvement over Composite? Oh, heck yeah, at least for 80 column. What follows is some comparison shots. Here's the XTIDE BIOS message, built in composite vs. svideo:
A "DIR" command output:
And some color bars rendered in BASIC:
I tested with several programs that use colored text on colored backgrounds, like the QBasic editor, and they're all *far* easier to read than the CGA composite. I mean, they're not *great*, but you could *almost* kid yourself you're using a really lousy CGA monitor.
As you can see from the colorbar picture there are definitely still some problems to work out. The color palette is off from what it should be; "cyan" is way too green, "magenta" is too blue... the "brown" looks pretty good, I guess? The resistor ladder that's in there is undoubtedly wrong, I should add some pots and try to tune it. And the thing is clearly prone to picking up some interference, as you'd expect, so it definitely needs to be translated to a PCB to actually be "useful", but... curious what people think. If I can get the palette right this *should* be able to replicate the RGBI colors, instead of producing the kind of gross CGA composite set. That... of course is going to count as a negative for actually running games that use tricks to get extra colors on a real IBM composite card, but this might be useful for machines like PCjrs and Tandy 1000s?
*shrug* I dunno. Just thought I'd share.
I'm sure someone must have done this before, but I failed to find any evidence on the first Google so I designed my own circuit from scratch, combining the VGA-to-TV example in the datasheet with a 4-to-6-bit DAC loosely inspired by an old GGLabs "CGA2RGB" design. (The CGA page on Wikipedia links to the 5154 EGA monitor tech manual, which has a table in it explaining how the EGA monitor implements the "brown fix" that CGA monitors have in terms of the CGA 6 bit palette, so I just ran that through Logic Friday to come up with a suitable equation to stick a GAL to implement the resistor ladder.) My AD724JRs were SOIC surface mounts, so I had to do a gross job soldering one to a wrong-size (24 pin, I couldn't find the right pitch 16 pin) breadboard adapter, and... here's what it looks like:
I'm skeptical the 724's composite output would be much clearer than a normal CGA output because of the fundamental limitations of having to strip the luma and chroma apart, so I went for S-Video... or, in the case of my test environment, C64-style separated video. Here's the test mule, my Tandy 1000 EX, connected to a Commodore 1702 monitor:
The Tandy's native composite is connected to the front connector, while the separate Luma and Chroma from the breadboard is on the back. Is S-Video an improvement over Composite? Oh, heck yeah, at least for 80 column. What follows is some comparison shots. Here's the XTIDE BIOS message, built in composite vs. svideo:
A "DIR" command output:
And some color bars rendered in BASIC:
I tested with several programs that use colored text on colored backgrounds, like the QBasic editor, and they're all *far* easier to read than the CGA composite. I mean, they're not *great*, but you could *almost* kid yourself you're using a really lousy CGA monitor.
As you can see from the colorbar picture there are definitely still some problems to work out. The color palette is off from what it should be; "cyan" is way too green, "magenta" is too blue... the "brown" looks pretty good, I guess? The resistor ladder that's in there is undoubtedly wrong, I should add some pots and try to tune it. And the thing is clearly prone to picking up some interference, as you'd expect, so it definitely needs to be translated to a PCB to actually be "useful", but... curious what people think. If I can get the palette right this *should* be able to replicate the RGBI colors, instead of producing the kind of gross CGA composite set. That... of course is going to count as a negative for actually running games that use tricks to get extra colors on a real IBM composite card, but this might be useful for machines like PCjrs and Tandy 1000s?
*shrug* I dunno. Just thought I'd share.