La Hercules Graphics Card (aussi connue sous les noms de HGC ou carte Hercules) est une carte graphique noir et blanc haute définition (pour l'époque) vendue par une société indépendante d'IBM, nommée Hercules Computer Technology, pour les premiers IBM PC. Les premiers IBM PC étaient vendus sans carte ou interface intégrée, mais avec de nombreux ports ISA.
La carte Hercules pouvait afficher des images dans une définition de 720x348. Elle était compatible avec la norme MDA d'IBM (pour Monochrome Display Adapter) : 80x25 en noir et blanc, en mode texte uniquement, et avec son moniteur comme l'IBM 5151 (connecteur DE-9). La norme CGA (pour Color Graphics Adapter) d'IBM définit un format d'image dans une définition de 320x200 en 4 couleurs ou de 640x200 en noir et blanc.
Le deux modes d'affichage de cette carte sont :
Moins chère que la carte CGA proposée par IBM, et de meilleure qualité, la carte Hercules s'est vite imposée dans les milieux professionnels en raison de la définition plus importante affichée, mais aussi parce que cette carte intégrait un port parallèle, permettant de brancher des imprimantes (évitant d'acheter un adaptateur supplémentaire). La carte Hercules a indirectement imposé cette norme au monde des IBM PC[1]. La majorité des imprimantes de l'époque utilisait la norme série.
Les 64 Kio de RAM de la carte Hercules peuvent contenir deux pages graphiques. En comparaison, la carte MDA avait 4 Kio de RAM et la carte CGA en avait 16. L'une ou l'autre des pages peut être affichée en réglant un bit dans le registre de commande de mode. Un autre bit, dans un registre de configuration exclusif à la carte détermine si les deuxièmes 32 Kio de RAM sont accessibles à l'adresse de B8000h. Ce bit est réinitialisé au démarrage du système afin que la carte n'entre pas en conflit avec une CGA ou une autre carte couleur à cette adresse. Cette possibilité permettait d'avoir 2 cartes graphiques et donc 2 moniteurs sur la même machine ; allongeant sa durée de vie malgré l'apparition de cartes "super-CGA" et de la carte EGA (dont la mémoire vidéo commence à l'adresse A0000h). Comme la carte MDA, la mémoire vidéo de la carte Hercules commence à l'adresse B0000h.
Les composants graphiques suivants produits par IBM ne seront pas compatibles avec la carte Hercules, et deux d'entre eux n'arriveront pas à la résolution horizontale de cette carte : le circuit MCGA (Multicolor Graphics Array) se limitera à 320×200 en 256 couleurs[2], le circuit VGA (Video Graphics Array) offrira en plus le 640×480 en palette de 16 couleurs (mode VGA, qui n'avait pas de très bonnes performances sur le bus AT Classique, mais fonctionnait bien sur le bus MCA). Le circuit XGA offrira enfin une définition de 1024×768 et les fonctions de sprites et de transparence (alpha channel) d'un écran graphique actuel. La carte EGA (Enhanced Graphics Adapter), norme précédant le VGA, avait "seulement" une définition maximale de 640×350.