Hercules Graphics Card

From Wikipedia, the free encyclopedia
Jump to: navigation, search
Hercules Graphics Card
Release date 1982; 34 years ago (1982)
Architecture Motorola 6845
Entry-level Hercules Graphics Card
Mid-range Hercules Graphics Card Plus
High-end Hercules InColor Card
Predecessor MDA, CGA
Successor Enhanced Graphics Adapter
ATI Technologies compatible Hercules card from 1986.
HGC-compatible video card.

The Hercules Graphics Card (HGC) was a computer graphics controller made by Hercules Computer Technology, Inc. that combined IBM's text-only MDA display standard with a bitmapped graphics mode. This allowed 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 connected to a monochrome monitor. The HGC standard was used long after more technically capable systems had entered the market, especially on dual-monitor setups.



The IBM Personal Computer was launched in 1981 with the Color Graphics Adapter (CGA) expansion card, and the Monichrome Display And Printer Adapter. The CGA offered two basic operating modes: 320×200 pixel (or 40x25 character) low resolution or a 640x200 (or 80×25 characters) pixels high resolution mode. While the low-resolution mode was very comparable to 8-bit home computers of the era, the higher-resolution mode offered a fair advance, used with a suitable monitor (such as the IBM 5153 color display or a composite monitor).

Simultaneously announced, The Monochrome Display and Printer Adapter (MDP), often shortened to Monochrome Display Adapter (MDA), which did not support bit-addressable graphics of any sort, offered a high-quality 80x25 character mode that could be used on monochrome monitors. Since CGA was connectable to cheap composite monitors, and even to home TVs (via RF modulator), CGA was more limited in resolution.

Due to lot of color dot mask, dedicated connection without ability to run lower resolution displays, monochrome monitors were sharper than color. The MDP also included a Centronics compatible parallel port for printers.


The two graphics standards were partially incompatible. There existed a very rare few programs that did not have capability of running on both, so to be able to run those rare few pieces of software, an IBM PC might have to have both video cards and two separate monitors.[1] Most games only supported CGA, while a few extremely rare business applications only supported MDA. Since business software at the time was text based, it could run on either. Most software that used anyt specific capabilities of either would simply check the system settings for monitor type (via Int 11h), or check the current video mode (via Int 10h), to configure itself appropriately.



It was essentially an MDA-compatible monochrome card, but through the use of third-party drivers (TSRs) it could later also run most programs written for the CGA card's standard graphics modes. As the Hercules did not actually have color-generating circuitry, color appeared as simulated greyscale in varying patterns (in essence, a primitive form of half-toning or dithering.)


Very large numbers of imitations appeared, including generic clones at very low prices, usually without the printer port, therefore "MDA" instead of "MDP". Hercules briefly ran ads implying that use of generic clones of the Hercules card could damage the computer.

Programming for the Hercules card's native graphics mode was somewhat hindered by a lack of BIOS support and standardization from IBM—after all, the HGC was a competing technology. Popular IBM PC programs at the time (such as Lotus 1-2-3 spreadsheet, AutoCAD computer-aided drafting, and Pagemaker and Xerox Ventura desktop publishing) came with their own drivers to allow use of the Hercules graphics mode.



DE9F connector. Using 5V TTL electrical signaling.[3][4]

Horizontal frequency 18.425 ±0.500 kHz, Vertical frequency 50 Hz.[5]

Technical specifications[edit]

Original Hercules Graphics Card[edit]





Later cards[edit]

The HGC standard was extended by two later 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[7][edit]

Tseng ET-1000 board

Other boards offered Hercules compatibility.


As part of its commercial packaging, the Hercules Graphics Card included a diskette with HBASIC, an interpreted version of the BASIC computer language that enabled programming graphics on a monochrome monitor.[6] An integrated development environment with the same name (HBasic) has appeared.

In text modes, the memory appears just like an MDA card.[6] The screen has 80×25 chars, so there are 80 ASCII code/attribute pairs per line (160 bytes per line, 2 bytes per symbol). The address of a given screen location in memory is given by the formula:



Screen Line #0 starts at B000:0000

Screen Line #1 starts at B000:2000

Screen Line #2 starts at B000:4000

Screen Line #3 starts at B000:6000

Screen Line #4 starts at B000:005A ...

The memory address that contains a given pixel is given by:


This code would set the correct pixel in that byte:


CGA Emulation[edit]


Hardware emulation was achieved by enabling the second Hercules video page, which would appear at segment B800h just like CGA, and then making it the visible page. The HGC onboard Motorola 6845 would then be reprogrammed to display 80 "columns" of data (640 pixels - each character is an 8×8 dot pattern) instead of the usual 80 (720 - each character is a 9×14 dot pattern). Data was then written just as it would on a real CGA (i.e. the video display was updated by writing to segment B800h) with only minor changes due to the different memory interlacing structure. The advantage of this method was no loss of speed during the emulation: Data did not need to be significantly reformatted from the original CGA data while written, only interlaced differently. The disadvantage was that the image appeared vertically "squashed", as CGA data only used 200 lines of the 350 available.



Although it cited flaws in the hardware and software, BYTE called the Hercules Graphics Card "a fine product" that gave owners of monochrome monitors graphics capability.[6] PC Magazine reported successfully running CGA-compatible games on a monochrome display, and using the card with a Columbia MPC.[8]

See also[edit]


  2. ^ PC Magazine March 6, 1984 page 5 advertisement
  3. ^ "IBM PC-Compatible EGA Video Reference".  070822 nemesis.lonestar.org
  4. ^ "Monitor Ports".  071105 whitefiles.org
  5. ^ "Industrial monochrome monitors 7" - 14"" (PDF).  070822 adm-electronic.de
  7. ^ VGA Legacy