# Hercules Graphics Card

The Hercules Graphics Card (HGC) is a computer graphics controller formerly made by Hercules Computer Technology, Inc. that combines IBM's text-only MDA display standard with a bitmapped graphics mode, also offering a parallel printer port. 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 (320 × 200) color graphics and medium-resolution (640 × 200) monochrome graphics, while MDA offers a sharper text mode (equivalent to 720 × 350) but has no per-pixel addressing modes and is limited to a fixed character set.
These adapters were quickly found to be inadequate by the market, creating a demand for a card that offers high-resolution graphics and text. 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, impossible with the low resolution of CGA or the fixed character set of MDA. It initially retailed in 1982 for $499.

## Hardware design

The original HGC is an 8-bit ISA card with 64 KB 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 includes a parallel interface for attaching a printer.
The video output is 5 V 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. It runs at two slightly different sets of frequencies depending on whether in text or graphics mode, providing a different vertical refresh rate and a different aspect ratio via a different pixel clock and number of scanlines.

## Capabilities

The Hercules card provides two modes:
* 80 × 25 text mode with 9 × 14 pixel font (effective resolution of 720 × 350, MDA-compatible)
* 720 × 348 graphics mode (pixel-addressable graphics)
The text mode of the Hercules card uses the same signal timing as the MDA text mode.
The Hercules graphics mode is similar to the CGA high-resolution (640 × 200) two-color mode; the video buffer contains 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 is also split into interleaved banks, each 8 KB in size.
However, because in the Hercules graphics mode there are more than 256 scanlines and the display buffer size is nearly 32 KB (instead of 16 KB as in all CGA graphics modes), four interleaved banks are 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 has 90 bytes of pixel data instead of 80.
The 64 KB RAM of the HGC can hold two graphics display pages. Either page can be selected for display by setting a single bit in the Mode Control Register. Another bit, in a configuration register exclusive to the HGC, determines whether the second 32 KB of RAM on the HGC is accessible to the CPU at the base address B8000h. This bit is reset at system reset (e.g. power-on) so that the card does not conflict with a CGA or other color card at address B8000h.

## Use

In text mode, the HGC appears exactly like an MDA card. Graphics mode requires new techniques to use. Unlike the MDA and CGA, the PC BIOS provides no intrinsic support for the HGC. Hercules developed extensions, called HBASIC, for IBM Advanced BASIC to add HGC support and Hercules cards came with Graph X, a software library for Hercules graphical-mode support and geometric primitives.
Popular IBM PC programs 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 is not CGA-compatible, it is similar enough to the two CGA graphics modes that with the use of third-party terminate-and-stay-resident programs it can also work with programs written for the CGA card's standard graphics modes. As the Hercules card does not actually have color-generating circuitry, nor can it connect to a color monitor, color appears as simulated grayscale in varying dithering patterns.
Clones of the Hercules appeared, including generic models at very low prices, usually without the printer port. Hercules advertisements implied that use of generic Hercules clones can damage the monitor.

## Reception

The Hercules Graphics Card was very successful, especially after Lotus 1-2-3 supported it, with one-half million units sold by 1985. As of June 1986 Hercules Computer Technology had 18% of the graphics card market, second to IBM. Hercules-compatible graphics cards shipped as standard hardware with most PC clones. As a de facto standard, support in software was widespread.

## Card versions

The Hercules Graphics Card had several versions.

### Hercules Graphics Card

Several updated versions of the original Hercules Graphics Card exist. The original board from 1982 is referenced as GB100, with updated versions in 1983 (GB101), 1984 (GB102) and 1988 (GB102Z).

### Hercules Graphics Card Plus

The Hercules Graphics Card Plus or HGC+ (GB112) was released in June 1986 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 Hercules Network Card Plus, (HNC NB112) 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.

### Hercules InColor Card

The InColor Card (GB222) was introduced in April 1987. It 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 Color Card

The Hercules Color Card (GB200) was a CGA-compatible video board and should not be confused with the InColor Card. 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. A version without printer port exists

### Hercules Text Card

The Hercules Text Card was a text-only MDA clone, but offered a parallel printer port.

## 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
* AST Research AST Preview!
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.
* Tseng ET-1000 Hercules compatible card
* ATI Hercules compatible card from 1986
* A Tamarack Microelectronics Hercules compatible card
* Uncle-RAY Hercules compatible card