Hercules Graphics Card

From Wikipedia, the free encyclopedia

Original Hercules Graphics Card (1984) with an additional printer connection.
Original Hercules Graphics Card (1984) with an additional printer connection.

The Hercules Graphics Card (HGC) was a computer graphics controller which, through its popularity, became a widely-supported display standard. It was common on IBM PC compatibles connected to a monochrome (green, amber or, less often, black-white) phosphor monitor. It supported one high resolution text mode and a single graphics mode.

Its monochrome text mode could display 80×25 text characters and was MDA compatible. As such, it rendered characters in a box of 9×14 pixels, of which 7×11 made out the character itself (the other pixels being used for space between character columns and lines). This amounted to markedly clearer text display than the CGA adapter (which the Hercules card competed against) could offer. The total theoretical resolution of this text mode was 720×350 pixels. This number is arrived at through multiplying the character width of 9 pixels by the number of text columns possible on screen (80) as well as multiplying the character height of 14 pixels by the number of text lines (25). In the MDA compatible text mode however, these pixels were not individually addressable.

The Hercules cards's single monochrome graphics mode simply made all pixels directly addressable. This however translated to a resolution of not 720×350 but only 720×348 pixels (at 1 bit per pixel) because, for technical reasons, the screen height had to be a multiple of four.

Its provision of an MDA compatible high quality text mode in combination with a (for its time) high resolution graphics mode (as well as aggressive pricing) made the Hercules card extraordinarily popular in the early days of the PC. The existence of CGA emulation drivers/TSRs, which allowed Hercules users to run programs written for the CGA card's standard graphics modes (albeit only in monochrome, without actual colour), may also have been a contributing factor to its success, especially so because programming for the Hercules card's native graphics mode was somewhat hindered by the fact that there was neither any BIOS support nor standardization from IBM — after all, the HGC was a competing technology!

Long after its prime, the Hercules card continued to be popular for specialist applications, such as some debuggers and CAD programs, because it could be used to connect a secondary monitor alongside another (colour) graphic adaptor. Certain software detected the HGC and used the monochrome display for extra data display while running the application on the other screen — for example a CAD work area would be displayed on the main (non-Hercules driven) screen and a list of drawing commands would be shown on the HGC driven monochrome screen.

Contents

The Hercules was developed in 1982 by Van Suwannukul, founder of Hercules Computer Technology. The system was created by Suwannukul initially so that he could work on his doctoral thesis on an IBM PC using the Thai alphabet (his native language).

The Hercules card supported two graphic pages, one at address B0000h and one at address B8000h. The second page could be enabled or disabled by software; when it was disabled, the addresses used by the card did not overlap with those used by colour adaptors such as the CGA or VGA. The fact that these addresses didn't conflict with each other made dual screen operation possible, simply through installation of a Hercules card next to (for instance) a VGA adapter.

Hercules also made a CGA-compatible card, the Hercules Color Card, which could coexist with a monochrome 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.

In text modes, the memory appears just like a MDA card. The screen has 80x25 chars, so there are 80 ASCII code/atrribute pairs per line (160 bytes per line). To find the address of a given screen location in memory, you can use the formula...

address = (0xb0000) + ( row * 160 ) + column

In graphics mode, the lines are interleaved so it is a bit harder. There are 8 pixels per byte, 90 bytes per line. Consecutive lines on the screen are interleaved by 4 lines in memory, so in memory it looks like this...

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 ...

Here is the formula to find the memory address that contains a given pixel...

mem = (0xb8000) + ((y&3)<<13)+(y>>2)*90+(x>>3)

...and this code would set the correct pixel in that byte...

or contents with (128>> (x& 7 ) )


The HGC standard was extended by two later cards:

  • The Hercules Graphics Card Plus (June 1986) allowed user-defined fonts to be used in 80×25 text mode.
  • The Hercules InColor Card (April 1987) included colour capabilities similar to the EGA, with 16 colours from a palette of 64. It retained the same two modes - 80×25 text and 720×348 graphics.

Size comparison
Video hardware Size comparison
MDA | Hercules | CGA | EGA | VGA | MCGA | 8514 | XGA
Display resolutions
QQVGA | QVGA | VGA | SVGA | XGA | XGA+ | SXGA | SXGA+ | UXGA | QXGA | QSXGA | QUXGA | HXGA | HSXGA | HUXGA
Widescreen variants
WXGA | WSXGA/WXGA+ | WSXGA+ | WUXGA | WQXGA | WQSXGA | WQUXGA | WHXGA | WHSXGA | WHUXGA
Advanced Search
Included Web Search Engines


Safe Search

close

Top Matching Results

Occasionally Search.com will highlight specialized results that are based on the context of your query. Examples of specialized results include specific links to news, images, or video.

Top Matching Results may highlight information from other Search.com pages, content from the CNET Network of sites, or third party content. The listings are based purely on relevance. Search.com does not receive payment for listings in this section but our partners that provide this data may get paid for listing these products.

Sponsored Links

This section contains paid listings which have been purchased by companies that want to have their sites appear for specific search terms and related content. These listings are administered, sorted and maintained by a third party and are not endorsed by Search.com.

Search Results

Search.com sends your search query to several search engines at one time and integrates the results into one list which has been sorted by relevance using Search.com's proprietary algorithm. You can customize the list of search engines included in your metasearch from the preferences.

The search engines that are used in your metasearch may allow companies to pay to have their Web sites included within the results. To view the Paid Inclusion policy for a specific search engine, please visit their Web site. Search.com does not accept payment or share revenue with any search engine partner for listings in this section.