No matter what kind of computer or phone you are reading this on, it probably has a graphics system that would have been a powerful computer on its own back in the 1980s. When the IBM PC came out, you had two choices: the CGA card if you wanted color graphics, or the MDA if you wanted text. Today, you might think: no contest, we want color. But the MDA was cheaper and had significantly higher resolution, which was easier to read. But as free markets do, companies see gaps and they fill them. That’s how we got the Hercules card, which supported high-resolution monochrome text but also provided a graphics mode. [The 8-bit Guy] has a look at these old cards and how they were different from their peers.
Actually, the original MDA card could do eight colors, but no one knew because there weren’t any monitors it could work with, and it was a secret. The CGA resolution was a whopping 640×200, while the MDA was slightly better at 720×350. If you did the Hercules card, you got the same 720×350 MDA resolution, but also a 720×348 graphics mode. Besides that, you could keep your monitor (don’t forget that, in those days, monitors typically required a specific input and were costly).
These cards were huge and full of chips, although the 1986 version of the Hercules did have an ASIC, which helped. If you wrote software back in those days, you might remember that the CGA buffer was at address B800:0000, but monochrome cards were at B000:0000. That was inconvenient, but it did allow the wealthy to have two monitors: a color and a monochrome.
[The 8-bit Guy] likes games, and he shows off games that supported Hercules versus running them in color. It turns out, just because a game or other piece of software could run on Hercules graphics didn’t mean it should. Some games did a good job. Others just scaled up their CGA graphics with predictably sketchy results. There was even a software solution, and at the speeds of a PC, you can imagine how that went, too.
[The 8-bit Guy] has talked to us about old graphics before, and points out that if you knew a few tricks, CGA wasn’t as bad as you think. Then things evolved to super CGA, EGA, VGA, and beyond.

I had a 286 at 16 MHz with Hercules graphics, SimCGA and the others, there where plenty, worked more or less well, I cannot complain that it was very slow in comparison. SimCGA copied and scaled but I remember there was one called crazy, it would draw only alternate lines. I wonder if it only was a trick with the 6845 and no buffer copy. Where would I find a copy ? Maybe with some old games…
Native graphics… Monkey Island 1 supported Hercules natively.
Hercules was very interesting, it used same basic hardware as IBM MDA and CGA (such as 6845 CRTC).
The Hercules card had 64 KB of RAM with two graphics pages, one overlapping with CGA framebuffer if enabled.
That allowed for Hercules to emulate CGA (via several methods).
In Half-Mode, CGA graphics page was left untouched, so Hercules (aka MGA) was only carying about MDA text-mode (4 KB) and its own graphics page.
This mode could be set via an original Hercules utility or Microsofts graphics library (msherc /half).
After power on, Hercules behaved like an ordinary IBM MDA card, with the extra graphics RAM being disabled.
That’s why it could co-exist with EGA/VGA just fine and be used along with MDA-compatible debuggers such as SoftICE.
Programs such as AutoCAD 2.x also supported a dual-monitor configuration.
IBM MDA for text console, CGA for graphics.
About CGA.. It used an 32 KB frame buffer, but the actual frame buffer data was 16 KB (original CGA had 16 KB of physical RAM installed).
This was because of a design flaw of the address decoder circuit of the original IBM CGA boards, maybe.
Anyway, these 16 KB were being repeated in address space by default.
Except if a “Super CGA” mode was used on matching hardware.
Such as Plantronics ColorPlus (320×200 16c or 640×200 4c) or AT&T/Olivetti graphics mode (640×400 mono).
These graphics systems had 32 KB of video RAM, making use of the full CGA address space.
Speaking under correction.
Hercules was pretty popular in South Korea, since resolution of CGA was a bit too low for decent Korean fonts.
My best memories of working on an IBM PC clone (programming in Clipper in fact) are from a system at work that had a Hercules card coupled with a very decent amber monochrome display. It was gorgeous for the time, much easier on the eyes than the lower-res CGA-with-green-display most systems at the time used.
Virgins play on CGA, chads use Voodoo 2.
Hmm… sounds like someone is jealous of other people’s video cards isn’t he…
Don’t forget the Tandy 1000 / IBM PC-Jr graphics! It was like CGA but with a larger color pallet and some extra, higher resolution modes. Imagine those old bluish CGA games with the same resolution but “normal looking” colors.