Hercules Graphics Card
The Hercules Graphics Card (HGC) is a computer graphics controller made by Hercules Computer Technology, Inc. that combines IBM's text-only MDA display standard with a bitmapped graphics mode. This allows the HGC to offer both high-quality text and graphics from a single card.

The HGC was very popular, and became a widely supported de facto display standard on IBM PC compatibles. The HGC standard was used long after more technically capable systems had entered the market, especially on dual-monitor setups.

History
The Hercules Graphics Card was released to fill a gap in the IBM video product lineup. When the IBM Personal Computer was launched in 1981, it had two graphics cards available, the Color Graphics Adapter (CGA) and the Monochrome Display And Printer Adapter (MDA). CGA offered low-resolution (320x200) color graphics and medium-resolution (640x200) monochrome graphics, while MDA offered a sharper text mode (equivalent of 720×350) but had no per-pixel addressing modes and had a fixed character set.

These adapters were quickly found to be inadequate by the market, creating a demand for a card that offered high resolution graphics without compromising on text quality. The founder of Hercules Computer Technology, Van Suwannukul, created the Hercules Graphics Card so that he could work on his doctoral thesis on an IBM PC using the Thai alphabet, which was impossible at the low resolution of CGA or the fixed character set of MDA. It initially retailed in 1982 for $499.

Hardware design 
The original HGC was an 8-bit ISA card with 64KB of RAM, visible on the board as eight 4164 RAM chips, and a DE-9 output compatible with the IBM monochrome monitor used with the MDA. Like the MDA, it included a parallel interface for attaching a printer.

The video output is 5V TTL, as with the MDA card. Nominally, the Hercules card provides a horizontal scanning frequency of 18.425 ±0.500 kHz, and 50 Hz vertical.

The Hercules actually ran at two slightly different frequencies depending on whether it was running in text or graphics mode, due to the slight difference in horizontal resolution.

Capabilities 
The Hercules card provided two modes: an MDA-compatible monochrome text mode, and a pixel-addressable graphics mode at 720x348. 

Modes:
 80×25 text mode with 9×14 pixel font (effective resolution of 720×348)
 720×348 graphics mode

The text mode of the Hercules card used the same signal timing as the MDA text mode.

The Hercules graphics mode had a lot in common with the CGA high-resolution (640×200) two-color mode: the video buffer contained a packed-pixel bitmap (eight pixels per byte, one bit per pixel) with the same byte format, including the pixel-to-bit mapping and byte order, as the CGA two-color graphics mode, and the video buffer was split into interleaved banks, each 8 KB in size, as in the CGA graphics modes.

However, because in the Hercules graphics mode there were more than 256 scanlines and the display buffer size was nearly 32 KB (instead of 16KB as in all CGA graphics modes), four interleaved banks were used in the Hercules mode instead of two as in the CGA modes. Also, to represent 720 pixels per line instead of 640 as on the CGA, each scanline had 90 bytes of pixel data instead of 80. 

The 64 KB RAM of the HGC could hold two graphics display pages.  Either page could be selected for display by setting or resetting a single bit in the Mode Control Register.  Another bit, in a configuration register exclusive to the HGC, determined whether the second 32 KB of RAM on the HGC was accessible to the CPU at the base address B8000h.  This bit was reset at system reset (e.g. power-on) so that the card would not conflict with a CGA or other color card at address B8000h.

Use 
In textmode, the HGC appears exactly like an MDA card.

Graphics mode required new techniques to use. Unlike the MDA and CGA, the PC BIOS provided no intrinsic support for the HGC. Hercules included extensions to IBM BASICA to add HGC support, called HBASIC, and Hercules cards came with a "GRAPH X" application which enhanced the BIOS by adding Hercules graphics-mode support and even geometric drawing primitives.

Popular IBM PC programs at the time (such as Lotus 1-2-3 spreadsheet, AutoCAD computer-aided drafting, Pagemaker and Xerox Ventura desktop publishing, and Microsoft Flight Simulator 2.0) came with their own drivers to use the Hercules graphics mode.

Though the graphics mode of the Hercules card was not CGA-compatible, it was technically similar enough to the two CGA graphics modes that eventually through the use of third-party drivers (TSRs) it could also work with programs written for the CGA card's standard graphics modes. As the Hercules card did not actually have color-generating circuitry, nor could it connect to a color monitor, color appeared as simulated greyscale in varying patterns. Some software achieved greater color depth by utilizing artifact color when connected to a composite monitor.

Clones of the Hercules appeared, including generic models at very low prices, usually without the printer port.  Hercules briefly ran ads implying that use of generic clones of the Hercules card could damage the monitor.

Reception 
The Hercules Graphics Card rapidly gained popularity, selling a half a million units by 1985, and even began shipping as standard hardware with some PC clones. Support in software was widespread.

Later cards 
The Hercules Graphics Card was followed by several other Hercules cards.

Hercules Graphics Card Plus (HGC+) 
The Hercules Graphics Card Plus (HGC+) was released in June 1986 by Hercules Computer Technology, Inc. at an original retail price of $299. It was an enhancement of the HGC, adding support for redefinable fonts called RAMFONT in MDA compatible text mode.

It was based around a specialty chip designed by Hercules Computer Technology, unlike the original Hercules Graphics Card which used standard components.

Software support included Lotus 1-2-3 v2, Symphony 1.1, Framework II and Microsoft Word 3.

Hercules Network Card Plus 
In 1988 Hercules released the Network Card Plus, a variant of the Graphics Card Plus with an integrated TOPS/FlashTalk-compatible network adapter. Like the HGC+ it supported RAMFONT, but lacked a printer port.

Others 
The Hercules InColor Card (April 1987) included color capabilities similar to the EGA, with 16 colors from a palette of 64. It retained the same two modes (80×25 text with redefinable fonts and 720×348 graphics), and was backward compatible with software written for the earlier monochrome Hercules cards. 

Hercules also sold the Hercules Color Card (not to be confused with the InColor Card), a CGA-compatible video board.
This board could coexist with the HGC and still allow both graphics pages to be used. It would detect when the second graphics page was selected and disable access to its own memory, which would otherwise have been at the same addresses.

Clone boards
Other boards offered Hercules compatibility.
SiS 86C12, 86C22
ATI Small Wonder Graphics Solution, 18700, Graphics Solution Plus
Tamarack Microelectronics TD3088A, TD3088A2, TD3088A3, TD3010, RY-3301, TD3010
Yamaha V6366C-F, V6363-F, V6363
Winbond W86855AF, W86855AF
NEC μPD65042GD
Tseng Labs ET1000-A
DFI MG-150
Hitachi HD6445P4, HD6845SP
RAM MCG2502, MCG2502
Proton PT6121T
Acer M3127
Sigma Designs 53C101+53C280A
CM607P

Certain later models of the Tandy 1000 (such as the 1000 TL and SL) and the Epson Equity contained circuitry built into their CPU boards that supported Hercules display modes in addition to their standard CGA modes.

See also
Orchid Graphics Adapter
Plantronics Colorplus
IBM Monochrome Display Adapter
Color Graphics Adapter
List of display interfaces
List of defunct graphics chips and card companies

References

Further reading 

 Wilton, Richard (1987) Programmer's Guide To PC and PS/2 Video Systems, Microsoft Press, 
 Hercules Computer Technology (1987) Hercules Compatibility Guide (a leaflet)
 "Hercules graphics" definition, Wi-FiPlanet.com
 How to Print Hercules Graphics SCREEN 3 to an Epson Printer, Microsoft.com
 Hercules Monochrome Graphics Adapter, Everything2.com

Graphics cards
Computer display standards
Monochrome Display Adapter
Computer-related introductions in 1982