• Please review our updated Terms and Rules here

CGA To VGA for Amstrad PPC

Land Rover Fan

Experienced Member
Joined
Oct 18, 2024
Messages
80
Location
Wiltshire
Hello all,
I am trying to hook up my Amstrad PPC640 to a external monitor, so I bought a GBS 8200 to covert the CGA signal out of the Amstrad to a VGA signal for my Dell CRT. Only after receiving it did i realise it only works with analog CGA not TTL CGA….. grrrrr…

Ideally I would use one of these: https://www.tindie.com/products/gglabs/cga2rgbv2-digital-to-analog-rgb-for-mdacgaega/
But there are 2 problems, one it is currently out of order and secondly it is in America so will cost a arm and a leg to get it into Blighty. I could try and make one, but my knowledge on SMD soldering is pretty much nil.

I think I will probably do this: https://oldcrap.org/2018/03/11/cga-to-vga-scaling-with-gbs-8220-board/

But in the meantime, is there any quick and easy method for this problem? Google’s AI thingy seems to think that I can just use a bunch of resistors on the r g b and sync lines to drop it from 5v to 0.7v although I highly doubt this will work.

The Amstrad does have a mono only composite output on pin 7 of its CGA connector, but it uses a non standard sync rate as my capture card cannot lock onto it, although you can occasionally see a bit of text wizzing past.

Any ideas?

Any help much appreciated,

George
 
Last edited:
I believe Necroware's MCE2VGA adapter was created for precisely this use case.


From the looks of it the item you referred to is either a clone of the linked example above or a very similar design.

IIRC, you can probably convert the digital color (TTL) signals to analog ones with just some resistors, but there are some other snags that justify the existence of the adapter/converter.

If you have the parts to make a sync combining circuit as described by the link you posted, that might be a better choice for the moment.

-----

Can the GBS-8200 do anything to/with the composite output which might make it possibke to capture?
 
Last edited:
I believe Necroware's MCE2VGA adapter was created for precisely this use case.


From the looks of it the item you referred to is either a clone of the linked example above or a very similar design.

Can the GBS-8200 do anything to/with the composite output which might make it possibke to capture?
That looks a lot friendlier (though hole), I’ll get one printed soon.
The GBS 8200 doesn’t support composite at all (believe me I’ve tried).

I’ll give the resistors a shot
 
Ok, I have given the resistors a shot and surprisingly it actually works! Not without issues though..
1st: the image flickers up and down slightly.
2nd: whenever the picture scrolls, the video cuts out but if I type cls, it comes back.

I’ve used 470 ohm resistors.

The problem likely is the shielding, or the lack there of, as it’s all just breadboards!
 
Last edited:
If you have or are willing to buy the programmer to flash a GAL16v8 I have my own version of a CGA-to-Analog DAC I could share. A while back I breadboarded up an idea to convert CGA to S-Video using an analog RGB to Composite/S-Video chip, and I ended up using the same DAC to drive a GBS-8220 board. Here’s a link to a post showing the smoke test of the hand-soldered breadboard with the DAC along with a ESP-32 microcontroller programmed with “GBS-Control”, which I *highly* recommend, it vastly improves the output from those boards:

Post in thread 'Project: External S-Video adapter for CGA/RGBI'
https://forum.vcfed.org/index.php?t...deo-adapter-for-cga-rgbi.1251231/post-1429218

(the picture is of a rapidly scrolling demo, trust me, it looks way better than this gives it credit for.) I used a chunk of perfboard big enough to mount the ESP-32 onto after this was taken, now the whole thing is mounted in an ad-hoc case I made out of Lexan and screwed to the VESA mount holes on a 23” 1080P LCD. (GBS-Control has a mode that does perfect pixel-integer scaling of CGA up to 1920x1080 while preserving the aspect ratio, and it looks amazing.)

My design differs from that GitHub one in that I have a 74HC buffer between the GAL and the resistors, because in theory at least the CMOS buffer has better drive strength, but it’s totally optional.
 
… forgot to pitch a link in for GBS Control, it’s totally worth it, even if getting it compiled is kind of a hassle. (When I set it up there was some “code rot” going on in the repo and I had to mess around with getting the right versions of some of the libraries installed; I think they’ve cleaned it up since then.)

 
… forgot to pitch a link in for GBS Control, it’s totally worth it, even if getting it compiled is kind of a hassle. (When I set it up there was some “code rot” going on in the repo and I had to mess around with getting the right versions of some of the libraries installed; I think they’ve cleaned it up since then.)

Thank you, I’ll take a look!
 
I use RGB2HDMI which utilises a Raspberry Pi Zero.

The output is cleaner than with a GBS. My goal was to replace the broken LCD with a new colour one, but an external monitor is easier of course.

Here are some videos I found helpful:



 
It's not necessary to have such an intelligent and complex adapter. The simplest is to mix the CGA video to somethging a VGA monitor can handle. And a good multisync capable monitor.

With a simple adapter you can connect the PC with it's "onboard" CGA card to a multisync capable VGA monitor. That can also be a modern TFT monitor. And you will be able to use all video modes and you will see all possible 16 colors. Hsync and Vsync for CGA and VGA is the same signal, it only differs in frequency, so you need a monitor which can display such low frequency like NTSC/PAL/CGA. The color signals on CGA are digital TTL signals, plus intensity which controls for example if the signal is dark or light red. VGA is analog input, the stronger the color signal, the lighter is the color on screen. A simple adapter which can be made for R, G, B which "adds" the intensity signal to RGB and then the VGA monitor understands the 16 different colors possible with CGA. This is really simple, just some resistors and diodes and you are done.

You can make the adapter by following this instructions, starting arround this post, later postings you will see that it works: https://forum.vcfed.org/index.php?threads/m24sp-db25-to-db9-adapter.66233/post-813380 This instruction over there was made for Olivetti M24, but also that machine basically does a CGA TTL signal, just at higher frequency. That color mixing circuit is frequency independent, and what you just need is a monitor which can do such low video frequency. A problem what all users of Commodore Amiga and Atari ST users also have, their video signal frequency is similar to CGA.

So, you need a monitor which is capable to display CGA frequency, that is same 15khz frequency as those homecomputers do as well (but their color signal is already analoque like VGA). There is a list of such monitors, the list was mainly made for users of Commodore Amiga and Atari ST and others, but such a monitor can also do the CGA video as it can do "anything" between NTSC/PAL/CGA/EGA/VGA/XGA and above, for example try to get a NEC TFT Multisync 1990nxp or so.

Here is the list: https://15khz.miraheze.org/wiki/Main_Page
 
It's not necessary to have such an intelligent and complex adapter. The simplest is to mix the CGA video to somethging a VGA monitor can handle. And a good multisync capable monitor.
The simplest is to use a CGA monitor. OP wants to use his Dell CRT, which almost certainly cannot sync to 15 kHz.

I have found this: https://www.ebay.co.uk/itm/13727259...WVQNE4&hash=item1ff6159381:g:KGcAAeSwC1Zp9NQf
It’s quite cheap and ready made so I will probably get one..
This is the best solution for your requirements.
 
Last edited:
In case anyone else stumbles upon this thread, or if you for some reason would want to use another CRT than your Dell VGA CRT:
For us who live in Europe it's super easy to use either those resistor "digital to analogue" converters or better use the slightly more advanced ones (that ensures that brown is actually brown rather than dark yellow) with most TVs that have a SCART connector.
(There were a few TVs that unfortunately only has composite input, and not RGB. If you haven't got any other way to test if your TV can take RGB, you can display a composite signal via the SCART input and then feed 1-3V DC (for example from a regular 1.5V battery) to SCART pin 16. If the picture goes blank then your TV is RGB capable. If you still see the composite signal picture then RGB won't work. If you have more than one SCART connector then try all of them. IIRC on Philips TVs the blue ones have RGB and the orange ones lack RGB (this also applies to some Philips branded cables, if the connectors are orange then they only connect composite+audio, not RGB)).
Related tangent: In my experience more or less all CRT TVs that are larger than 14" have a high enough dot pitch that any 15kHz "tv sync" signal will show up crystal clear. (Perhaps the 1280 pixels wide super hires resolution on an Amiga might be an exception). Also CRT's used in TVs in the 50Hz part of the world seems to have longer after glow than those used in the 60Hz part of the world and in more or less all monitors. Thus the picture has less flicker if you use a TV than if you use a monitor. (This is kind of my pet peeve with the "nice expensive collectible desirable" 14" 15kHz CRT monitors - they aren't actually that good and the picture on a good CRT TV can be better).
 
You can make the adapter by following this instructions, starting arround this post, later postings you will see that it works:

Later posting in that thread bring up some significant problems with the completely dumb just-using-resistors-and-diodes circuit that's pushed in there. The "brown shows up as dark yellow" is one. A more subtle one is that hanging those resistors directly off the digital outputs from the computer puts a significant load on them that that the original circuit wasn't designed to handle. A true "according to Hoyle" digital to analog adapter is going to use proper video-bandwidth amplifiers... which I will grant are probably overkill, but the circuit pushed in that thread is directly sourcing drive current from TTL outputs, which they weren't really build to supply, it's not really properly 75 ohm terminated, and there's no capacitors to remove DC bias. (Addressing those things are why I put a CMOS driver into my version of the GAL DAC circuit and it also has capacitors in the final drive unlike the MCE device above; the gglabs one has a proper video amplifier IC. I basically based mine on the circuit shown in the datasheet for the AD724 composite/svideo IC I mentioned in the thread.)

To be clear, I'm not saying it's not going to work or that it's particularly *likely* to damage your machine, but there are *reasons* for building one that uses active logic/buffer ICs.

So, you need a monitor which is capable to display CGA frequency, that is same 15khz frequency as those homecomputers do as well (but their color signal is already analoque like VGA).

In the real world monitors that support this are *really* hard to find. Yes, you can use that list that's kicking around out there and try to eBay one, or hope you stumble across one at thrift store, but most of the monitors on it are getting pretty old and at this point I'm sure a lot of them are just gone. (I used to see 4x3 LCD monitors on street corners with depressing regularity a few years ago. Nobody wants them anymore.) I don't think it's really that practical of a suggestion anymore.

This is the best solution for your requirements.

I guess "best" is a loaded term. The OP already bought the 8220, and it is actually a surprisingly capable scaler if you put a little work into it. The ESP microcontrollers for running GBS-Control are really cheap (sub-$5), so if you're able to DIY a proper digital DAC (another ~$5 in parts for one like what I built) with just a bit of elbow grease you can turn that sow's ear into a pretty decent silk purse that won't only do CGA, it'll be good for use with analog output machines like Amigas/Atari ST/Apple IIgs-es, and has a pretty slick web interface for adjusting the settings. These GBS boards in their stock form have rightly earned a pretty negative reputation, but since GBS-Control came out they can be turned into really useful tools for any retrocomputer collection. (You can actually buy pre-manufactured scalers off of Aliexpress and friends that are based on combining the chipset used in the GBS boards with GBS-Control enhancements and built-in control panels out of the box.)

But that said, sure, hacking the GBS is kind of a hobby all on its own, so if you want something simple and off the shelf... the *absolute* best out-of-box solution is probably the RGB2HDMI that uses the Raspberry Pi Zero, it's by far the most configurable and has options for achieving sub-single-frame latency... but a pre-built one is around $80-$100. This one based on the Pi Pico... I'm actually really interested in that one myself; someone posted about that a few months ago, and it's been on my list to build one myself. (I have a couple Pi Picos I've never actually found the time to use for anything, so building one seems like a no brainer.) This solution is far more bare-bones than RGB2HDMI, but assuming it does a good job (looking forward to seeing how the one for sale for $30 works) then sure, it's a no-brainer that's going to be a lot less hassle than hacking a GBS to do a good job.

(GBS also can't handle EGA or MDA reliably because of limitations of the scaler chip; unfortunately the silicon is kind of hard-coded to only handle TV-ish scan rates *or* VGA-ish scan rates, there's a black hole between around 18Khz-25khz where it has a really hard time locking on. But again, flip side, it does analog applications like Amiga that the Pi-based options don't handle so well.)

For us who live in Europe it's super easy to use either those resistor "digital to analogue" converters or better use the slightly more advanced ones (that ensures that brown is actually brown rather than dark yellow) with most TVs that have a SCART connector.

It really sucks RGB inputs never caught on in the US markets.

Of course, analog inputs in general are going away. I was kind of rudely surprised when I discovered my 2013 vintage TV, which did still have a composite connector and one component cluster, didn't have S-Video anymore. Now you're lucky if a new TV has a single lonely composite jack on it.
 
Last edited:
  • Like
Reactions: pH1
I guess "best" is a loaded term. The OP already bought the 8220, and it is actually a surprisingly capable scaler if you put a little work into it. The ESP microcontrollers for running GBS-Control are really cheap (sub-$5), so if you're able to DIY a proper digital DAC (another ~$5 in parts for one like what I built) with just a bit of elbow grease you can turn that sow's ear into a pretty decent silk purse that won't only do CGA, it'll be good for use with analog output machines like Amigas/Atari ST/Apple IIgs-es, and has a pretty slick web interface for adjusting the settings. These GBS boards in their stock form have rightly earned a pretty negative reputation, but since GBS-Control came out they can be turned into really useful tools for any retrocomputer collection. (You can actually buy pre-manufactured scalers off of Aliexpress and friends that are based on combining the chipset used in the GBS boards with GBS-Control enhancements and built-in control panels out of the box.)

But that said, sure, hacking the GBS is kind of a hobby all on its own, so if you want something simple and off the shelf... the *absolute* best out-of-box solution is probably the RGB2HDMI that uses the Raspberry Pi Zero, it's by far the most configurable and has options for achieving sub-single-frame latency... but a pre-built one is around $80-$100. This one based on the Pi Pico... I'm actually really interested in that one myself; someone posted about that a few months ago, and it's been on my list to build one myself. (I have a couple Pi Picos I've never actually found the time to use for anything, so building one seems like a no brainer.) This solution is far more bare-bones than RGB2HDMI, but assuming it does a good job (looking forward to seeing how the one for sale for $30 works) then sure, it's a no-brainer that's going to be a lot less hassle than hacking a GBS to do a good job.

(GBS also can't handle EGA or MDA reliably because of limitations of the scaler chip; unfortunately the silicon is kind of hard-coded to only handle TV-ish scan rates *or* VGA-ish scan rates, there's a black hole between around 18Khz-25khz where it has a really hard time locking on. But again, flip side, it does analog applications like Amiga that the Pi-based options don't handle so well.)
"Best" is subjective, but the output quality of the GBS is garbage. I bought one 20 years ago and was immediately disappointed. I really can't recommend it when there are better options.

RGBtoHDMI is nice, but the output is HDMI. VGA would require yet another adapter. Better to use the MCE Blaster or MCE2VGA (still available as EternalCRT) which will work out of the box.
 
FWIW, here is a link to a circuit that can do a buffered "brown fixed" RGB conversion using regular TTL logic instead of a programmable device like a GAL. (Not everyone has a GAL programmer, although if you're interested in oldschool DIY electronics the TL866-style programmers are probably a worthwhile investment. They do cost more now than they used to.)

I bought one 20 years ago and was immediately disappointed. I really can't recommend it when there are better options.

20 years ago was before GBS-Control. I agree, out of the box they're pretty much garbage. But seriously, you can make them *much, much, much* better with just a little elbow grease. (I need to take some better pictures of the output from my setup, it's genuinely uncanny how good the integer-perfect-scaling 1920x1080 mode is. (with optional scanline emulation.) It looks like an emulator.)

Depending on the board revision there is also some hacking of the analog circuitry that's worthwhile, but mine didn't need it for good results. (The GBS-Control wiki has a section on these mods ranking them in terms of necessity.) One of the less-obvious things about the GBS boards as sold on Amazon is they were originally built for *arcade scaling*, IE, converting the output of arcade cabinet boards with JAMMA standard output levels, not 75 ohm 0.7p-p analog as found on consumer electronics, *let alone* actual CGA/EGA TTL inputs (although they will tolerate them because of the fact that JAMMA is at similar voltage levels), so both the input pots (that row of three variable resistors near the input jacks) and the clamp levels in the utterly crap stock firmware basically ensure it's going to look miserable without tuning.

Again, I'm not saying someone should go out and buy one for CGA scaling, there are better solutions. (I would make a case for them for an Amiga or Apple IIgs or whatever, though, they're hella cheaper than a OSSC, RetroTink, or similar. Although there's probably a case to be made for checking eBay for something like an Exatron scaler first.) But if you have one already you can fix it.

Here's a shot taken shortly after I "finished" my GBS setup, with the unit driving one of those portable 15" LCD monitors that are basically just laptop screens via an HDMI adapter. Keep in mind this is a cheap*ss screen, I paid $40 for it on one of those prime day specials and the kind of muted colors are a result of the viewing angle limitations. In person this setup looks great.

(I guess I'm torn if I like the scanlines or not, but in a dark room they actually do look uncannily like the real thing. The display being unnaturally flat does kind of ruin it, though. But none of that is the GBS' fault.)

GBS-Control-HDMI.jpg

And yes, it looked like crap without GBS-Control. Here's a picture of some of the first smoke tests of just the homemade DAC and the out-of-the-box GBS board:

without-gbs-control.jpg
Muddy colors, non-integer scaling, that gross sync artifact up in the corner... etc.

Anyway. I think this is adequate proof that it *is* possible to fix these things, it's just whether it's really worth the time. If you don't need analog it probably isn't (anymore), but if you have one, well, you can.

RGB2HDMI is nice, but the output is HDMI. VGA would require yet another adapter.

Those adapters are dirt, dirt cheap (Amazon has them for less than seven dollars), so I wouldn't consider them a dealbreaker for RGB2HDMI even if you wanted to use it with a CRT. I would never recommend anyone buy the MCE2VGA today over the RGB2HDMI; yes, you can still get it, but it costs like $200 *if* you can find one. (The maker has basically disowned it; Serdashop sells a MCE2HDMI instead now, which is just a redo of RGB2HDMI.

MCE Blaster definitely looks pretty good considering the cost, there's no doubt about that, but is more limited than RGB2HDMI, so... you pay your money you take your choice. If you want the extra features of the RGB2HDMI you're already paying more than twice as much for it, the VGA adapter is basically nothing.
 
Last edited:
  • Like
Reactions: pH1
"Best" is subjective, but the output quality of the GBS is garbage. I bought one 20 years ago and was immediately disappointed. I really can't recommend it when there are better options.

RGBtoHDMI is nice, but the output is HDMI. VGA would require yet another adapter. Better to use the MCE Blaster or MCE2VGA (still available as EternalCRT) which will work out of the box.

VGA to HDMI adapters are fairly cheap, at least in relative terms.

RGB -> HDMI -> VGA is definitely a crazy round about way to get to the end result, unless you also have other RGB output devices that you want to connect to a HDMI TV/display.
 
Back
Top