CGA was the first graphics card made for the IBM PC. It came out in 1981 and was produced in various forms until approximately 1987. Now, EGA graphics came out about 3 years later and then VGA a few years after that. Also, there was the PCjr/Tandy 1000 graphics that competed with all of these in the market. So, what happened to all of those graphics options? Well, VGA eventually morphed into SVGA and continues (in one form or another) into the present day. The others continued to be supported by software for several more years after they were discontinued. In fact, during this period of time it was not uncommon for a new game to support all 4 standards. I should mention that EGA was backwards compatible with CGA, and VGA was backwards compatible with EGA, and thus by default CGA as well. The Tandy graphics was only backwards compatible with CGA. Due to this backwards compatibility, one of the things I always did with MS-DOS games was to try playing the game with all of the graphics modes to see how it looked, and how the experience changed. You can see how this game looks in VGA mode, as compared to CGA mode. CGA looks, well, terrible. But, before you dismiss CGA as being all that bad, let me walk you through some of the technical details of it and then I have a few surprises for you. A true CGA card supports two different types of monitor: RGBI and Composite. Composite, you probably already know about. It’s that little round RCA jack that’s been in use for decades and most modern televisions still have at least one of these jacks on them. The RGBI standard, on the other hand, has been obsolete since the 1980’s. It used a 9-pin D-SUB connector. Let me show you what the pins on this thing did. Pins 3, 4, and 5 were for your red, green, and blue signals. So these were digital signals that were either on or off and there was no in-between shades. So by using them in different combinations you could create these 8 colors. Pin 6 was called intensity. This signal basically added one additional level of brightness to the colors giving you 8 more possible colors.
So there’s the whole 16 color palette of CGA graphics. As you can see, the limitation of
16 colors comes directly from the monitor itself. But CGA has many more limitations
beyond this. It only has 16 kilobytes of Video RAM. So, compromises had to be made. So, there were several modes of operation. The first was an 80×25 text mode, of which all 16 colors were available at the same time. Even some games like this one run in text mode and can take full advantage of the 16 colors. The most commonly used graphics mode was the 320 x 200 mode with 4 colors. The trouble is, the particular 4 colors available were horrible shades of black, cyan, magenta, and white. When playing a CGA game, this is the most common mode and you can see it looks pretty ugly. But wait! There were 3 other official
palettes that a game could choose from. Let’s see if the next one’s any better. Uhhh, not really. It’s basically a darker version of the first palette. What about the next? Yeah, not a great combination there either. Yuck! And then you get one more, which is a darker version of the last one. Some games, like Total Eclipse, would actually switch palettes on you when going from room to room in order to mix things up a bit and add a little variety. So there was a high resolution video mode available with double the pixels. But, because there was no additional video RAM to handle it the color had to be sacrificed. And you’re now limited to just 2 colors. A few games, like SimCity, actually did exploit this mode since they figured the extra detail was more important than the colors. There was also an undocumented 160×100 mode, which is really chunky but at least it was able to produce all 16 colors at the same time. This is actually a modified version of text mode. And very few games actually take advantage of this but Paku Paku is an example of one that does. It’s nifty clone of Pac-Man and it is very playable. OK, so CGA probably doesn’t look like it’s very good for playing video games. But if you’re thinking that, it’s probably because you’ve only ever seen it connected to an RGBI monitor. Remember how I said EGA and VGA were backwards compatible with CGA? Well, that isn’t entirely true. They’re only backwards compatible with the RGBI mode of CGA. Now, take a look at this laptop from 1994. Now this laptop has VGA graphics, and it is “backwards compatible” with CGA. I’m going to show you Maniac Mansion. It’s a really interesting case to use because it’s one of the few games that can switch graphics modes on the fly. If you press SHIFT+C, it will switch to CGA mode. Or SHIFT+E to go back to EGA. Now, CGA looks pretty terrible, doesn’t it? I mean, yeah, who would want to play this? Now, let me show you a different kind of laptop. And prepare to be blown away. This old Tandy 1400LT laptop was generously donated from Jadd Garcia. Thanks Jadd! This is one of the first true DOS compatible laptops. And while this was produced in 1987, it’s functionally equivalent to an IBM Turbo XT from several years earlier. Early laptops were always a good bit behind on technology. It has no hard drive, just dual 720K floppies. And while it has the Tandy logo on the front, it does not have the famous Tandy 1000 graphics and sound. Instead, it just has plain old CGA graphics and PC speaker sound. Even though it uses CGA, the built in LCD screen is monochrome. And about the worst thing ever for playing games. But, the one thing it does have is an RGBI and a Composite output like a true CGA card would have on a desktop computer. So, most laptops from this time period do not have the Composite video port. So, this is quite an unusual laptop. So, let me hook this laptop into a television and see how things look. Remember when we looked at Maniac Mansion earlier? Let’s look at it now. Wow, what happened to those ugly 4 color palettes? Well, technically speaking, Composite mode still only has 4 colors. However, by placing pixels in certain patterns on the screen, other colors will emerge due to NTSC artifacting. This is basically the same technique used by the Apple II, only on steroids. So, you start off with your 4 ugly primary colors, but if you mix black and cyan, you get blue. If you mix black and magenta, you get dark blue. And so on. So, these 4 primary colors are used to create 16. But you can change the primary palette to one of the other ones and you get a whole different set of colors. So you can have 16 colors on screen at once, out of a palette of about 64 colors to choose from. From this point on, I’m going to use this Commodore 1084 monitor. One of the great things about it is that it supports many different types of video, including RGBI and Composite. So, I can connect it to both outputs on this laptop at the same time, and use this switch to change between them. This way we can compare how each one appears in RGBI or Composite mode with the flick of a switch. So, let’s take a look at the game LHX Attack Chopper in Composite video mode. I’m going to select the Osprey, that’s my favorite one to fly. OK, so here’s RGBI mode. And here’s the same scene in Composite. How about Maniac Mansion. Composite mode looks great and colorful. Although the CPU in this machine is kinda slow. Here’s inside the house. Now, let’s switch to RGB. Yuck! Let’s switch back to Composite. Battle Chess is an interesting case. By default, it runs in RGBI mode on CGA and has that yucky 4 color look to it. And if you try to run it on a Composite monitor, it looks kind of yucky there too. But if you type in “/comp” on the command line, it will start up the game in a special mode just for CGA Composite monitor, and it looks fantastic by comparison. I would also like to point out that there was a demo made recently that used some software trickery to actually produce thousands of colors on CGA Composite. The demo is called 8088 MPH. And it has sort of a Back to the Future theme to it. It really shows what is possible with a CGA card in Composite mode. So you might be asking yourself, since Composite is so much better, why did it even have the RGBI mode to begin with? Well, RGBI mode shines when in comes producing sharp color full 80 column text. So, take a look at this text on Composite mode, and then on RGB. So if you were a business and you needed to use spreadsheets or word processors back then you would have been using text mode and that would have been more important than color graphics. So by splitting the card like this, IBM was able to address both the business and the home market at the same time. So here’s where things get confusing. When you look at this time period, all of the CGA games designed back then were designed primarily to run on Composite monitor. But when you move to this time period, some CGA games were designed specifically to run on RGBI and don’t look any better and often look even worse on Composite. So why is that? Well, I have one piece of speculation. Let’s imagine for a moment that you’re a developer during this time period and you have a machine that uses VGA graphics. Now, you’re going to be developing a game that its primary focus is going to be VGA. And CGA mode is going to be more or less an afterthought by this point in the industry. So you don’t even have a machine any more than has a Composite output on it. So if you’re coding a game, what mode of CGA are you going to prioritize? Well, the answer is you’re going to code it for RGB mode. So, how does CGA graphics compare to its competitors? Well, during that time, all of its competitors used Composite video as well. So if you compare the Composite video mode of CGA to say, an Apple II or Commodore 64 I would say it is superior to both of
them. And even if you compare it to say the Atari 800 series, it’s still a pretty close
bet. I still say CGA is probably superior. Yeah, so I think IBM CGA is probably the most underrated and misunderstood graphics card of all of IBM PC graphics history. Perhaps right next to the Tandy 1000. In fact, I hope to do an episode on the Tandy 1000 graphics and sound at some point in the future. Anyway, I hope you enjoyed this and I’ll see you next time.