CGA Competitors From The 1980s

[David Murray], aka The 8-Bit Guy, did an interesting video (embedded below the break) on the time line of PC graphics cards from CGA through to EGA. Not only does he explain the different offerings of the day, but also proceeds to demonstrate most of them.

It’s interesting to learn about some of the video modes that went basically unused in these cards. Even if board designers include high resolution modes and better color palettes, if software programmers don’t use them they are forgotten.

We were particularly impressed by a couple of examples he had that were full-sized, double-stacked ISA cards — those were beasts. Both CGA and EGA sort of withered when the 1990s arrived.

According to [David]’s research, CGA monitors continued to be used for some time even after EGA was introduced — primarily because of cost. It might cost you $400 to get an ATI EGA Wonder card, and that or more for an EGA monitor. Many folks just upgraded the card first, and took advantage of the fact that the EGA Wonder could drive CGA monitors.

If you are interested in the history and technology of these old cards, check out our coverage from 2016 where [David] does a deep dive into CGA cards and discusses, among other things, the CGA composite video mode.

25 thoughts on “CGA Competitors From The 1980s

  1. Ah the M24. I wrote a charting program for that and got a prize in high-school, by writing my own graphics driver. It also had a graphics mode that was not documented, but you could figure it out by reading the chipset docs and noticing that you could set some bits on one register. Wrote some board games in Basic for that. Loved that thing.

  2. No matter how good the extra features are, unless enough have that capability, there won’t be major software for it.

    I’ve read that there was a limit to using the Z80, because the software was written for the 8080. When 8088 boards came out for the S-100 bus, if they were dual boards an 8085 was more common than a Z80.

    There’s no use to a nec v20 unless enough people were willing to upgrade.

      1. Turbo Pascal and its programs needed Z80, however.
        The 8080 emulation mode for V20/V30 simply wasn’t enough.

        Considering how insanely popular Turbo Pascal was, it’s not a trivial limitation.
        Turbo Pascal 3 existed on CP/M-80, DOS and CP/M-86 afaik. Maybe more than that, even.

        So it was an ideal multi-platform development tool of its time.
        Next to MBASIC/BASCOM/BASIC-80, afaik.

        You can see the compatibility issue in this video (13:20min):

        My father often used Z80MU emulator backen then when it was Public Domain software (PD), still.

        However, he also had upgraded all his i808x CPUs by NECs.
        Despite not using that 8080 emulation mode very often, they were useful to him.

        They were 10-15% faster when executing unoptimized 8086 code and had partial 80186 compatibility – enough for many programs compiled with /80286 compiler switches.
        Including that VGA driver of Win 3.0. (There’s a patch by now for plain 8086 support, see vcfed forums.)

  3. I had/have a Sperry PC with a two-full-size-cards graphics adapter. They go into adjacent slots, and have a wide ribbon cable between them. I believe it was built by Mitsubishi.

    It did 640x400x16 interlaced (with an adjustable palette of colors) and separate text alpha channel, and a number of other modes.

    It was combined with a long-persistence phosphor CRT so that the interlacing wasn’t irksome, although this did result in some ghosting of images sometimes.

    I did a fair bit of graphics programming on it, doing things like fractals and GIF development when that standard was introduced. I remember a first-draft naive-algorithm dithering attempt in the high-res-interlaced mode produced an interesting result on some images – one of the alternating frames would bloom more than the other on the CRT, and pixel registration was lost. I thought I’d broken something.

    A demonstration of CRT bloom (not mine):

    I have never encountered another example of this graphics adapter; they were clearly not popular. Unsurprising, because Sperry wasn’t exactly a popular PC brand, either, and even those customers stuck to the CGA and MDA offerings.

    1. I have found some references to this machine (Sperry XT PC 3070), with a full double card capable of 256 colors, but nobody gives a make or model for the video adapter :-/ Indeed, scanned documentation for this system is quite scarce.

    2. After adding 1.5 meg of static RAM to my Amiga so the program code was not in ‘Chip//Video’ memory, I used to run it all the time in interlaced mode for the extra resolution. I did not have a long-persistence phosphor CRT, but it never bother me to look at.

      However, plenty of other people would look at my screen and said it would give them a headache.
      Did you notice the same for others if they looked at your screen?

      Later I modified a Commodore 1402 mono-monitor to take an analog input, it was useful for reading text, especially if I took my system to the Amiga Guru Users Group, then others could look at the interlaced display without complaining.

      1. I came to this machine from an Atari 800. I started using white on blue text with it as an Atari-nostalgic thing, but found that did give me headaches. Switching to anything else (e.g. green on black) was fine, and nothing else ever caused issue.

        I did use the alpha-compositing to load images in the background as “wallpaper”, because I could!

  4. I was a happy adopter of multihead way back around 1987 timeframe, with a Hercules (monochrome) display adapter as well as a CGA display. IIRC, it worked because the memory for the monochrome framebuffer was at a different address to the CGA framebuffer. 0xb000 vs 0x8000 (without googling :-)?

    1. Hercules has two video pages, but can work in “half mode” – to coexist with a CGA in same system.

      MSHERC.COM has a switch for that (MSHERC /HALF).

      It may help programs like CheckIt! or MSD to detect a Hercules. Otherwise, it’s just an MDA to them.

      It’s possible to have a dual-monitor setup with CGA/MDA or CGA/MGA.
      Because, Hercules is a tiny superset of MDA (all pixels addressable).

      On MS-DOS 6, use MODE MONO for Hercules, MODE CO80 or MODE CO40 for CGA.

      You can try here (CGA+MDA):

      Older DOSes had separate DOS commands/programs. MONO.COM or CGA.COM or COLOR.COM, not sure. The Public Domain software sector had dozen of them.

      (MGA= Monochrome Graphics Adapter; an old generic term for Hercules Monochrome Card)

    2. Yup. In fact, it was INCREDIBLY useful with Turbo Debugger… where the assembly and debugging UI would all run on the MDA screen, and the program would run on the normal CGA/EGA/VGA one. It’s not like you could swap video buffers or something so this was a game changer…. (literally, haha)

      1. The CGA/Hercules combo also worked in graphics mode, it wasn’t limited to MDA/text-mode.

        So please don’t confuse it with the simple VGA+MDA setup.
        Yes, the debug monitor was popular, even back in ~1983 in AutoCAD (menu on separate text mode screen).

        However, that was using different memory addresses. Plain IBM MDA used 4K of video memory, Hercules uses 64KB in total (encapsulates the CGA video page).

        That’s why programs like SIMCGA worked, at all, without having a CGA card or an extra memory board installed (an UMB card). Let’s remember, Shadow Memory wasn’t available as a standard in the mid-80s – that came later, with NEAT chipsets, Turbo XTs etc. Without physical memory installed, memory writes go into nothing.

        So that’s why it’s so important to remember and understand that Hercules had two video pages!

        One video page (CGA’s) which existed as physical memory (frame buffer) on the Hercules card was being written to by DOS games, while the CGA simulator program copied the graphics over to the other video page that Hercules was actually using.

        Some more sophisticated programs also did reformatting, while simple ones simply switched the active video page that Hercules was using for output to CGA’s and prayed everything goes well.

        Afaik, that way, some sort of hardware rendering was happening by Hercules all on itself. The individual layers for color, that CGA stored in its video memory, were combined, thus creating a cheap dithering effect. If memory serves, something similar happens if a 320×200 4 color image is abruptly being displayed in 640×200 1 color mode (say, by doing a sudden mode switch).

        Let’s remember, both CGA and Hercules use the same Motorola CRTC chip!
        It’s merely the timings and the nature of the video memory that’s different.

        That’s why cheap CGA+Hercules clone cards existed, at all.
        They could operate in either mode, easily.
        It was simply a different configuration, selectable hardware-wise by a jumper or DIP switch.

        PS: I’m speaking under correction here. Please double-check. It’s night here and I’m very sleepy. 😴

  5. I worked at Plantronics/Frederick Electronics at the time the ColorPlus was developed, but was not on the team. They dropped the product quite suddenly and never made sense to me. In retrospect, it was probably due to two reasons.

    The first was that the company was not in the PC peripherals market and thus was not known nor set up for sales & distribution.

    The second, as I recall, was that they had difficulty getting software houses to come on board and support it.

  6. Early EGA cards were merely equipped with 64KB video RAM..
    They were thus unable to do “real” EGA in 640×350 with 16c on screen (out of 64 colors).

    Good luck playing Commander Keen or EGATrek on that relic. Without spending a fortune for the expensive RAM upgrade that’s needed.

    Personally, I think it were the Super EGA clone cards and VGA cards that had the full 256 KB. 256 KB, in practice, was the standard amount of video RAM for VGA.
    This essentially made EGA (mode 10h) a sub mode of VGA cards, because IBM EGA hadn’t enough RAM (merely 4 cols in 10h, if it worked at all).

    Afail, many SVGA cards from the late 80s could handle 512 KB of video memory, at least and could be upgraded by the installation of DIP/DIL RAM chips. Or by piggy-backing new RAM onto the installed RAM.

    VESA VBE 1.x was not in ROM yet, but available on the driver diskette as TSR. Super VGA 800×600 was a pseudo standard, due to the default palette with 16c – merely the respective mode number for each SVGA card had to be known. 800×600 was also supported through two (!) mode numbers in VBE.

  7. I watched this video yesterday, and the whole time I was watching all I could think is how bad the old days where! Having to write code to get graphics on a CGA or EGA monitor was a pain because every card had different API’s…

  8. Whenever I see an article about CGA and EGA, I remember how pukey the PC screens looked compared to my Amiga and Commodore 64 screens. I was doing things in 1985 that it took a full 10 years for PCs to caught up to. When I would show my PC friends, they would say, “Well of course – they are GAME machines.” When the PCs finally caught up, my PC friends called it, “Multi-media.” Factoids that still irk me to this day. I guess it’s moot because I’m typing this on a PC and Commodore has been extinct for almost 30 years.

      1. Commodore: “Computers for the masses, not the classes.”

        Hm, yes. I get it. They aimed for the simple-minded working class, not educated individuals. That’s why their computer attracted the population so much. 😆

        Quality and reliability was an alien concept to the company, it seems. Otherwise I can’t explain the many bugs in the C64 or the creation of the even more low-end C16 (16K stock RAM). 🤔

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.