Adaptateur graphique couleur - Color Graphics Adapter

Adaptateur graphique couleur
IBM Color Graphics Adapter.jpg
Carte graphique IBM CGA
Date de sortie 1981 ; il y a 40 ans ( 1981 )
Architecture Motorola 6845 , ATI CW16800
Cartes
Niveau d'entrée Adaptateur graphique couleur IBM, solution graphique ATi Rev 3, carte d'émulation couleur ATi, Tseng Labs ColorPAK,
Milieu de gamme Solution graphique ATi plus, Solution graphique ATi Plus SP, Solution graphique ATi SR, système graphique Number Nine
Haut de gamme Solution graphique ATi Small Wonder, Tseng Labs EVA/480
Passionné Solution graphique ATi Small Wonder avec port de jeu
Histoire
Successeur

L' adaptateur graphique couleur ( CGA ), à l' origine également appelé adaptateur de couleur / Graphics ou IBM Couleur / Adaptateur graphique Moniteur , introduit en 1981, était IBM première carte graphique couleur de la PC IBM et a établi de facto la norme d'affichage de l' ordinateur .

Conception de matériel

La carte graphique IBM CGA d'origine était construite autour du contrôleur d'affichage Motorola 6845 , était livrée avec 16  kilo - octets de mémoire vidéo intégrée et comportait plusieurs modes graphiques et texte . La résolution d'affichage la plus élevée de tous les modes était de 640 × 200 et la profondeur de couleur la plus élevée prise en charge était de 4 bits (16 couleurs).

La carte CGA peut être connectée soit à un moniteur CRT à entraînement direct utilisant une interface RGBI numérique ( TTL ) 4 bits , telle que l' écran couleur IBM 5153 , soit à un téléviseur compatible NTSC ou à un moniteur vidéo composite via un connecteur RCA . Le connecteur RCA ne fournissait que de la vidéo en bande de base, donc pour connecter la carte CGA à un téléviseur sans entrée vidéo composite, il fallait un modulateur RF séparé .

IBM a produit l' écran couleur 5153 pour ordinateur personnel à utiliser avec le CGA, mais celui-ci n'était pas disponible à la sortie et ne le sera pas avant mars 1983.

Bien que le propre écran couleur d'IBM n'était pas disponible, les clients pouvaient soit utiliser la sortie composite (avec un modulateur RF si nécessaire), soit la sortie à entraînement direct avec des moniteurs tiers disponibles prenant en charge le format RGBI et la vitesse de balayage. Certains écrans tiers n'avaient pas l'entrée d'intensité, réduisant le nombre de couleurs disponibles à huit, et beaucoup n'avaient pas non plus les circuits uniques d'IBM qui rendaient la couleur jaune foncé en marron, de sorte que tout logiciel utilisant le marron s'afficherait de manière incorrecte.

Capacités de sortie

CGA proposait plusieurs modes vidéo.

Modes graphiques :

  • 160×100 en 16 couleurs, choisies parmi une palette de 16 couleurs, utilisant une configuration spécifique du mode texte 80x25.
  • 320×200 en 4 couleurs, au choix parmi 3 palettes fixes, avec des variantes haute et basse intensité, avec la couleur 1 choisie parmi une palette de 16 couleurs.
  • 640×200 en 2 couleurs, une noire, une choisie parmi une palette de 16 couleurs.

Certains logiciels ont atteint une plus grande profondeur de couleur en utilisant la couleur des artefacts lorsqu'ils sont connectés à un moniteur composite.

Modes texte :

  • 40×25 avec police 8×8 pixels (résolution effective de 320×200)
  • 80×25 avec police 8×8 pixels (résolution effective de 640×200)

IBM avait l'intention que CGA soit compatible avec un téléviseur domestique. Les modes texte 40x25 et graphiques 320x200 sont utilisables avec un téléviseur, et les modes texte 80x25 et graphiques 640x200 sont destinés à un moniteur.

Palette de couleurs

CGA utilise une gamme de 16 couleurs, mais toutes les couleurs ne sont pas disponibles à tout moment, selon le mode graphique utilisé. Dans les modes de résolution moyenne et haute, les couleurs sont stockées à une profondeur de bits inférieure et sélectionnées par des index de palette fixes, et non par une sélection directe à partir de la palette complète de 16 couleurs.

Lorsque quatre bits sont utilisés (pour le mode basse résolution, ou pour programmer des registres de couleurs), ils sont arrangés selon le modèle de couleur RGBI :

  • Les trois bits inférieurs représentent les composants de couleur rouge, vert et bleu
  • Le quatrième bit "intensificateur", lorsqu'il est activé, augmente la luminosité des trois composantes de couleur (rouge, vert et bleu).
Palette complète de 16 couleurs CGA
0 noir
#000000
8 gris foncé
#555555
1 bleu
#0000AA
9 bleu clair
#5555FF
2 vert
#00AA00
dix vert clair
#55FF55
3 cyan
#00AAAA
11 cyan clair
#55FFFF
4 rouge
#AA0000
12 rouge clair
#FF5555
5 magenta
#AA00AA
13 magenta clair
#FF55FF
6 marron
#AA5500
14 jaune
#FFFF55
7 gris clair
#AAAAAA
15 blanc
#FFFFFF

Avec un moniteur RGBI

Lors de l'utilisation d'un moniteur à entraînement direct, les quatre bits de couleur sont envoyés directement au connecteur DE-9 à l'arrière de la carte.

Dans le moniteur, les quatre signaux sont interprétés pour piloter les pistolets de couleur rouge, vert et bleu. En ce qui concerne le modèle de couleur RGBI décrit ci-dessus, le moniteur utiliserait approximativement la formule suivante pour traiter le numéro de couleur numérique à quatre bits en tensions analogiques allant de 0,0 à 1,0 :

red   := 2/3×(colorNumber & 4)/4 + 1/3×(colorNumber & 8)/8
green := 2/3×(colorNumber & 2)/2 + 1/3×(colorNumber & 8)/8
blue  := 2/3×(colorNumber & 1)/1 + 1/3×(colorNumber & 8)/8
jaune foncé
6 #AAAA00

La couleur 6 est traitée différemment ; en utilisant la formule ci-dessus, la couleur 6 deviendrait jaune foncé , comme on le voit à gauche, mais afin d'obtenir un ton marron plus agréable, des circuits spéciaux dans la plupart des moniteurs RGBI, à commencer par l'écran couleur IBM 5153, font une exception pour la couleur 6 et change sa teinte du jaune foncé au marron en réduisant de moitié l'amplitude du signal vert analogique.

Cette palette "RGBI avec marron modifié" a été conservée comme palette par défaut des normes graphiques PC ultérieures telles que EGA et VGA , qui peuvent sélectionner des couleurs dans des gammes beaucoup plus larges, mais par défaut jusqu'à ce qu'elles soient reprogrammées.

Avec un écran couleur composite/téléviseur

Les 16 couleurs de CGA lors de l'utilisation de la sortie NTSC (révision de la carte postérieure à 1983)

Pour la sortie composite, ces numéros de couleur à quatre bits sont codés par le matériel embarqué du CGA dans un signal compatible NTSC transmis à la prise de sortie RCA de la carte. Pour des raisons de coût, cela ne se fait pas à l'aide d'un convertisseur RVB vers YIQ comme le demande la norme NTSC, mais par une série de bascules et de lignes à retard.

Par conséquent, les teintes vues manquent de pureté; notamment, le cyan et le jaune ont tous deux une teinte verdâtre, et la couleur 6 est à nouveau jaune foncé au lieu de marron.

Les luminances relatives des couleurs produites par le circuit de génération de couleurs composite diffèrent entre les révisions CGA : elles sont identiques pour les couleurs 1-6 et 9-14 avec les premiers CGA produits jusqu'en 1983, et sont différentes pour les CGA ultérieurs en raison de l'ajout de résistances.

Comme indiqué cependant, cette méthode ne fonctionne que sur les téléviseurs NTSC. Les téléviseurs PAL n'affichent pas les couleurs comme prévu lorsqu'ils sont connectés à la sortie composite, car la séparation des couleurs PAL empêche l'apparition d'artefacts.

Modes de texte standard

CGA propose quatre modes texte du BIOS (appelés modes alphanumériques ou A/N dans la documentation d'IBM). Dans ces modes, les pixels individuels sur l'écran ne peuvent pas être adressés directement. Au lieu de cela, l'écran est divisé en une grille de cellules de caractères, chacune affichant un caractère défini dans l'une des deux polices bitmap, "normale" et "fine", incluses dans la ROM de la carte. Les polices sont fixes et ne peuvent pas être modifiées ou sélectionnées à partir du logiciel, uniquement par un cavalier sur la carte elle-même.

Les polices sont stockées sous forme de bitmaps à une profondeur de couleur de 1 bit, avec un "1" représentant le caractère et un "0" représentant l'arrière-plan. Ces couleurs peuvent être choisies indépendamment, pour chaque caractère à l'écran, à partir de la palette CGA complète de 16 couleurs. Le jeu de caractères est défini par la page de code matériel 437 .

Les données bitmap de police ne sont disponibles que pour la carte elle-même, elles ne peuvent pas être lues par la CPU. Dans les modes graphiques, la sortie de texte par le BIOS fonctionne en copiant le texte de la ROM de police bit par bit vers la mémoire vidéo.

40×25

40 colonnes par 25 lignes, avec chaque caractère un motif de 8×8 points. La résolution d'écran effective dans ce mode est de 320 × 200 pixels (un rapport hauteur/largeur de pixels de 1:1,2). La carte dispose de suffisamment de RAM vidéo pour huit pages de texte différentes dans ce mode.

Les modes BIOS 0 et 1 sont tous deux des modes de texte à 40 colonnes. La différence entre ces deux modes n'est visible que sur un moniteur composite, où le mode 0 désactive la rafale de couleurs, faisant apparaître tout le texte en niveaux de gris. Le mode 1 active la rafale de couleurs, permettant la couleur. Le mode 0 et le mode 1 sont fonctionnellement identiques sur les moniteurs RVB et sur les adaptateurs ultérieurs qui émulent CGA sans prendre en charge la sortie couleur composite.

80x25

80 colonnes par 25 lignes, avec chaque caractère toujours un motif de points 8 × 8, mais affiché à une vitesse de balayage plus élevée. La résolution d'écran effective de ce mode est de 640×200 pixels. Dans ce mode, la carte dispose de suffisamment de RAM vidéo pour quatre pages de texte différentes.

Les modes BIOS 2 et 3 sélectionnent 80 modes de texte en colonnes. Comme pour les modes texte à 40 colonnes, le mode 2 désactive la rafale de couleurs dans le signal composite et le mode 3 l'active.

Couleur du mode texte

Chaque cellule de caractère stockait quatre bits pour la couleur du premier plan et de l'arrière-plan. Cependant, dans la configuration par défaut des cartes, le quatrième bit de la couleur d'arrière-plan ne définit pas l'intensité, mais définit l'attribut de clignotement de la cellule. Tous les caractères à l'écran avec ce bit défini clignoteront périodiquement, ce qui signifie que leur couleur de premier plan sera remplacée par leur couleur d'arrière-plan afin que le caractère devienne invisible. Tous les personnages clignotent à l'unisson.

En définissant un registre matériel, la fonction de clignotement peut être désactivée, restaurant l'accès aux couleurs d'arrière-plan de haute intensité.

Tous les caractères clignotants à l'écran clignotent de manière synchronisée. L'effet d'attribut clignotant est activé par défaut et l'effet d'arrière-plan à haute intensité est désactivé ; désactiver le clignotement est le seul moyen de choisir librement les derniers indices à huit couleurs (8-15) pour la couleur d'arrière-plan.

Notamment, les langages de programmation GW-BASIC et Microsoft QBASIC inclus avec MS-DOS prenaient en charge tous les modes texte du CGA avec un contrôle complet des couleurs, mais ne fournissaient pas de moyen normal via le langage BASIC pour faire passer le CGA du mode clignotant à 16- mode couleur d'arrière-plan. Cela restait cependant possible en programmant directement les registres matériels à l'aide de l'instruction OUT du langage BASIC.

Modes graphiques standards

CGA propose des modes graphiques à trois résolutions : 160×100, 320×200 et 640×200. Dans tous les modes, chaque pixel de l'écran peut être réglé directement, mais la profondeur de couleur pour les modes supérieurs ne permet pas de sélectionner librement dans la palette complète de 16 couleurs.

160x100

Écran titre de PakuPaku, un clone de Pac-Man qui utilise le mode 160×100

Le mode basse résolution 160×100 est en fait un mode 40×25 caractères. Étant donné que la ROM de caractères intégrée contient des éléments "graphiques", tels qu'un caractère qui a une moitié supérieure de couleur de premier plan et une moitié inférieure de couleur d'arrière-plan, et parce que les couleurs de premier plan et d'arrière-plan peuvent être choisies librement en mode texte, une faible résolution mais un affichage graphique en couleur peut être obtenu.

320×200

Dans le mode de résolution moyenne 320 × 200, chaque pixel est composé de deux bits, qui sélectionnent les couleurs dans une palette de quatre couleurs. En mode 4, il y a deux palettes, et en mode 5 il y a une seule palette.

Palettes de matériel CGA
# Mode 4 Mode 5
Palette 0 Palette 1 faible intensité haute intensité
faible intensité haute intensité faible intensité haute intensité
0 0 – arrière-plan 0 – arrière-plan 0 – arrière-plan 0 – arrière-plan 0 – arrière-plan 0 – arrière-plan
1 2 – vert 10 – vert clair 3 – cyan 11 – cyan clair 3 – cyan 11 – cyan clair
2 4 – rouge 12 – rouge clair 5 – magenta 13 – magenta clair 4 – rouge 12 – rouge clair
3 6 – marron 14 – jaune 7 – gris clair 15 – blanc 7 – gris clair 15 – blanc

Plusieurs choix peuvent être faits en programmant des registres matériels. Tout d'abord, la palette sélectionnée. Deuxièmement, l'intensité - qui est définie pour l'ensemble de l'écran, et non par pixel. Troisièmement, la couleur 0 (la couleur "d'arrière-plan") peut être définie sur l'une des 16 couleurs.

Le mode graphique spécifique du BIOS influence les palettes disponibles. Le BIOS Mode 4 propose deux palettes : vert/rouge/marron et cyan/magenta/blanc.

Comme pour les modes texte 0 et 2, le mode 5 désactive la rafale de couleurs pour permettre aux couleurs d'apparaître en niveaux de gris sur le moniteur composite. Cependant, contrairement aux modes texte, cela affecte également les couleurs affichées sur un moniteur RGBI, les modifiant vers la palette cyan/rouge/blanc vue ci-dessus. Cette palette n'est pas documentée par IBM, mais a été utilisée dans certains logiciels.

Dans le mode haute résolution 640×200, chaque pixel est un bit, fournissant deux couleurs qui peuvent être choisies dans la palette de 16 couleurs en programmant des registres matériels.

640×200

Dans ce mode, l'image vidéo est stockée sous la forme d'un simple bitmap, avec un bit par pixel définissant la couleur sur "premier plan" ou "arrière-plan". Par défaut, les couleurs sont le noir et le blanc brillant, mais la couleur de premier plan peut être remplacée par n'importe quelle entrée de la palette CGA à 16 couleurs. La couleur d'arrière-plan ne peut pas être modifiée du noir sur une carte IBM CGA d'origine. Le BIOS Mode 6 configure le mode graphique 640 × 200. Ce mode désactive le signal de rafale de couleur composite par défaut. Le BIOS ne fournit pas d'option pour activer la rafale de couleurs en mode 640 × 200, et l'utilisateur doit écrire directement dans le registre de contrôle de mode pour l'activer.

Autres modes graphiques et ajustements

Il existe un certain nombre de fonctionnalités officielles et non officielles qui peuvent être exploitées pour réaliser des effets spéciaux.

  • En mode graphique 320 × 200, la couleur d'arrière-plan (qui affecte également la couleur de la bordure), qui est par défaut le noir lors de l'initialisation du mode, peut être remplacée par l'une des 15 autres couleurs de la palette CGA. Cela permet une certaine variation, ainsi que des effets de clignotement, car la couleur de fond peut être modifiée sans avoir à redessiner l'écran (c'est-à-dire sans changer le contenu de la RAM vidéo).
  • En mode texte, la couleur de la bordure (affichée en dehors de la zone d'affichage normale et y compris la zone de surbalayage ) peut être modifiée du noir par défaut à l'une des 15 autres couleurs.
  • Grâce à une synchronisation de précision, il est possible de passer à une autre palette pendant la sortie de la vidéo, permettant l'utilisation de l'une des six palettes par ligne de balayage. Un exemple de ceci est California Games , lorsqu'il est exécuté sur un stock de 4,77 MHz 8088. L'exécution sur un ordinateur plus rapide ne produit pas l'effet, car la méthode utilisée par les programmeurs pour changer de palette à des emplacements prédéterminés est extrêmement sensible à la vitesse de la machine. La même chose peut être faite avec la couleur d'arrière-plan, telle qu'elle est utilisée pour créer la rivière et la route dans Frogger . Un autre exemple documenté de la technique se trouve dans le portage de Jungle Hunt d' Atarisoft sur PC.
  • Des couleurs supplémentaires peuvent être approximées à l'aide du tramage .
  • L'utilisation de la palette 0 à faible intensité et bleu foncé comme couleur d'arrière-plan fournit les trois couleurs RVB primaires , ainsi que le marron.

Certains de ces réglages ci-dessus peuvent être combinés. Des exemples peuvent être trouvés dans plusieurs jeux.

160×100 16 modes de couleurs

Un seul gros "pixel" en mode 160×100. Il s'agit des deux rangées supérieures de la moitié du caractère 221. Notez les huit pixels non carrés constitutifs et le rapport hauteur/largeur global de 1:1,2.

Techniquement, ce mode n'est pas un mode graphique, mais un ajustement du mode texte 80×25. Le registre de hauteur de cellule de caractère est modifié pour n'afficher que deux lignes par cellule de caractère au lieu des huit lignes normales. Cela quadruple le nombre de lignes de texte affichées de 25 à 100. Ces caractères de texte "étroits" ne sont pas des caractères complets. Le système n'affiche que leurs deux premières lignes de pixels (huit chacune) avant de passer à la ligne suivante.

ASCII.221.caractère.svg Caractère 221
Demi-bloc.caractère.bleu.rouge.svg 221 avec texte bleu et couleur de fond rouge
Demi-bloc.caractère.rouge.bleu.svg 221 avec texte rouge et couleur de fond bleu.
ASCII.222.caractère.svg Caractère 222

Le caractère 221 du jeu de caractères CGA consiste en une case occupant toute la moitié gauche de la matrice de caractères. (Le personnage 222 consiste en une boîte occupant toute la moitié droite.)

Étant donné que chaque caractère peut se voir attribuer des couleurs de premier plan et d'arrière-plan différentes, il peut être coloré (par exemple) en bleu à gauche (couleur de premier plan) et en rouge vif à droite (couleur d'arrière-plan). Cela peut être inversé en échangeant les couleurs de premier plan et d'arrière-plan.

En utilisant le caractère 221 ou 222, chaque moitié de chaque cellule de caractère tronqué peut ainsi être traitée comme un pixel individuel, ce qui rend 160 pixels horizontaux disponibles par ligne. Ainsi, 160×100 pixels à 16 couleurs, avec un rapport hauteur/largeur de 1:1,2 sont possibles.

Bien qu'il s'agisse d'un moyen détourné d'obtenir un affichage graphique en 16 couleurs, cela fonctionne assez bien et le mode est même mentionné (bien que non expliqué) dans la documentation matérielle officielle d'IBM.

Plus de détails peuvent être obtenus dans ce mode en utilisant d'autres caractères, en combinant l'art ASCII avec la technique susmentionnée.

Parce que le CGA a 16  Ko (16 384 octets) de mémoire graphique, et non 16 000, il est tout aussi facile de régler le nombre de lignes dans ce mode à 102 au lieu de 100 pour une résolution de 160×102 (16320 pixels). Cela utilise une mémoire vidéo supplémentaire qui est normalement inutilisée. Cependant, la plupart des jeux ne l'ont pas fait, peut-être par crainte que cela ne fonctionne que sur certains moniteurs mais pas sur d'autres - une crainte qui n'est pas infondée car il a été découvert plus tard que certains compatibles ont des cartes qui glissent ou ignorent toute tentative de mettre le appareil dans ce mode.

La même technique de réduction de la hauteur des cellules de texte peut également être utilisée avec le mode texte 40×25. Cela n'avait de sens que lors de l'utilisation de l'art ASCII, car sans cela, la résolution résultante n'aurait été que de 80 × 100.

Sortie composite

L'utilisation de la sortie composite au lieu d'un moniteur RGBI a produit une vidéo de qualité inférieure, en raison de la séparation inférieure du NTSC entre la luminance et la chrominance. C'est particulièrement un problème avec le texte de 80 colonnes :

Texte de 80 colonnes sur RVB (à gauche) par rapport à un moniteur composite (à droite)

Pour cette raison, chacun des modes texte et graphique a un mode de duplication qui désactive le colorburst composite , ce qui donne une image en noir et blanc, mais élimine également le saignement des couleurs pour produire une image plus nette. Sur les moniteurs RGBI, les deux versions de chaque mode sont généralement identiques, à l'exception du mode graphique 320x200, où la version "monochrome" produit une troisième palette.

Couleurs d'artefact étendues

Les programmeurs ont découvert que cette faille pouvait être transformée en un atout, car des motifs distincts de points haute résolution se transformeraient en zones cohérentes de couleurs unies, permettant ainsi l'affichage de couleurs d'artefact complètement nouvelles . Les modes graphiques standard 320×200 quadrichromie et 640×200 couleur sur noir peuvent être utilisés avec cette technique.

Fonctionnement interne

Les couleurs directes sont les 16 couleurs normales décrites ci-dessus sous "La palette de couleurs CGA".

Les couleurs des artefacts sont visibles car le décodeur de chrominance NTSC du moniteur composite interprète à tort certaines informations de luminance comme de la couleur. En plaçant soigneusement les pixels dans des motifs appropriés, un programmeur peut produire des artefacts de couleurs croisées spécifiques produisant une nouvelle couleur souhaitée ; soit à partir de pixels purement noir et blanc en mode 640×200, soit résultant d'une combinaison de couleurs directes et d' artefacts en mode 320×200, comme on le voit sur ces images.

Ainsi, avec le choix entre le mode 320×200 vs. 640×200, le choix entre les deux palettes, et une couleur librement sélectionnable (le fond en modes 320×200 et le premier plan en mode 640×200), il est possible d'utiliser de nombreux jeux de couleurs d'artefacts différents, ce qui donne une gamme totale de plus de 100 couleurs.

Des démonstrations ultérieures par des passionnés ont augmenté le nombre maximal de couleurs que le CGA peut afficher en même temps à 1024. Cette technique implique un ajustement du mode texte qui quadruple le nombre de lignes de texte. Certains caractères ASCII tels que U et ‼ sont ensuite utilisés pour produire les motifs nécessaires, ce qui donne des images non tramées avec une résolution effective de 80×100 sur un moniteur composite.

Disponibilité et mises en garde

La variante 320 × 200 de cette technique (voir ci-dessus) correspond à l'apparence du mode graphique standard pris en charge par le BIOS sur un moniteur couleur composite. La variante 640×200, cependant, nécessite de modifier un bit (désactivation de la rafale de couleur) directement dans les registres matériels du CGA. Par conséquent, il est généralement appelé « mode » distinct.

Étant complètement dépendant du processus d'encodage/décodage NTSC, l'artefact de couleur composite n'est pas disponible sur un moniteur RGBI, ni émulé par les adaptateurs graphiques EGA, VGA ou contemporains.

L'émulateur PC moderne et centré sur les jeux DOSBox prend en charge un mode CGA, qui peut émuler l'artefact de couleur d'un moniteur composite. Le mode composite 640 × 200 et la variante plus complexe 320 × 200 sont pris en charge.

Résolution et utilisation

L'artefact composite, qu'il soit utilisé intentionnellement ou comme artefact indésirable, réduit la résolution horizontale effective à un maximum de 160 pixels, davantage pour le texte noir sur blanc ou blanc sur noir, sans modifier la résolution verticale. L'affichage vidéo composite résultant avec des couleurs « artificielles » est parfois décrit comme un « mode » 160×200/16 couleurs, bien que techniquement il s'agisse d'une technique utilisant un mode standard.

La faible résolution de cette méthode d'artefact de couleur composite a conduit à son utilisation presque exclusivement dans les jeux. De nombreux titres de premier plan proposaient des graphismes optimisés pour les moniteurs couleur composites. Ultima II , le premier jeu de la série à être porté sur IBM PC, utilisait des graphiques composites CGA. King's Quest I a également proposé des graphiques en 16 couleurs sur PC, PCjr et Tandy 1000, mais a fourni un « mode RVB » à l'écran titre qui n'utiliserait que le mode graphique CGA ordinaire, limité à 4 couleurs. Dans ce mode, le tramage a été utilisé pour simuler des couleurs supplémentaires.

Profondeur de couleur élevée

1024 couleurs en mode composite
1024 couleurs en mode composite

En tirant parti des couleurs d'artefact, de l'horloge couleur NTSC et d'une méthode similaire à celle utilisée dans le mode pseudo-graphique 16 couleurs 160×100 , il est possible d'afficher plus de 16 couleurs sur des moniteurs composites.

160 cycles de l'horloge couleur NTSC se produisent pendant la sortie de chaque ligne, donc en mode 40 colonnes, chaque pixel occupe un demi-cycle et en mode 80 colonnes, chaque pixel utilise un quart de cycle. En limitant l'affichage des caractères à la ou aux deux lignes de balayage supérieures, et en profitant de la disposition des pixels dans certains caractères de la page de codes 437 , il est possible d'afficher jusqu'à 1024 couleurs. Cette technique a été utilisée dans la démo 8088 MPH.

Limitations, bugs et errata

La synchronisation vidéo sur le CGA est fournie par le contrôleur vidéo Motorola 6845 . Ce circuit intégré a été conçu à l'origine uniquement pour les affichages alphanumériques (texte) à base de caractères et peut adresser un maximum de 128 lignes de caractères.

Pour réaliser des modes graphiques avec 200 lignes de balayage sur le CGA, le MC6845 est programmé avec 100 lignes de caractères par image et deux lignes de balayage par ligne de caractères. Étant donné que l'adresse de mémoire vidéo sortie par le MC6845 est identique pour chaque ligne de balayage dans une rangée de caractères, le CGA doit utiliser la sortie « adresse de ligne » du MC6845 (c'est-à-dire la ligne de balayage dans la rangée de caractères) comme bit d'adresse supplémentaire pour récupérer les données raster de la vidéo Mémoire.

Cela implique qu'à moins que la taille des données raster d'une seule ligne de balayage ne soit une puissance de deux, les données raster ne peuvent pas être disposées en continu dans la mémoire vidéo. Au lieu de cela, les modes graphiques sur le CGA stockent les lignes de balayage paires de manière contiguë en mémoire, suivies d'un deuxième bloc de lignes de balayage impaires commençant à la position de mémoire vidéo 8 192. Cette disposition entraîne une surcharge supplémentaire dans les modes graphiques pour les logiciels qui manipulent la mémoire vidéo.

Même si le contrôleur vidéo MC6845 peut fournir la synchronisation pour la vidéo entrelacée , le circuit du CGA aligne les signaux de synchronisation de manière à ce que le balayage soit toujours progressif. Par conséquent, il est impossible de doubler la résolution verticale à 400 lignes de balayage en utilisant un moniteur standard de 15 kHz.

La bande passante plus élevée utilisée par le mode texte à 80 colonnes entraîne l'apparition de courtes lignes horizontales aléatoires à l'écran (appelées « neige ») si un programme écrit directement dans la mémoire vidéo pendant le dessin à l'écran. Le BIOS évite le problème en n'accédant à la mémoire que pendant le retracement horizontal, ou en désactivant temporairement la sortie pendant le défilement. Bien que cela provoque le scintillement de l'affichage, IBM a décidé que cela valait mieux que la neige. Le problème "neige" ne se produit sur aucune autre carte vidéo ou sur la plupart des clones CGA.

Dans le mode texte à 80 colonnes, la fréquence d'horloge des pixels est doublée et tous les signaux de synchronisation sont émis pendant deux fois le nombre de cycles d'horloge afin de durer pendant leur durée appropriée. Le circuit de signal de rafale de couleur de la sortie composite est une exception : comme il produit toujours le même nombre de cycles, maintenant à la fréquence d'horloge doublée, le signal de rafale de couleur produit est trop court pour la plupart des moniteurs, ne produisant aucune couleur ou une couleur instable. Par conséquent, la documentation d'IBM répertorie le mode texte à 80 colonnes comme une "fonctionnalité" uniquement pour les moniteurs RGBI et composites noir et blanc. Une couleur stable peut toujours être obtenue en réglant la couleur de bordure sur marron, ce qui produit une phase identique au signal de salve de couleur correct et sert de substitut à celui-ci.

Support double tête

Le CGA a été publié avec le MDA d' IBM et pouvait en fait être installé avec le MDA dans le même ordinateur. Une commande incluse avec PC-DOS permettait de basculer la sortie d'affichage entre les cartes CGA et MDA. Certains programmes comme les premières versions MS-DOS d' AutoCAD prises en charge en utilisant les deux s'affichent simultanément.

Assistance logicielle

CGA a été largement pris en charge dans les logiciels PC jusque dans les années 1990. Certains des logiciels prenant en charge la carte étaient :

Adaptateurs concurrents

BYTE en janvier 1982 a décrit la sortie de CGA comme "très bonne - légèrement meilleure que les graphiques en couleur sur les micro-ordinateurs existants". PC Magazine n'était pas d'accord, rapportant en juin 1983 que "l'écran monochrome d'IBM est absolument magnifique pour le texte et merveilleusement agréable pour les yeux, mais se limite aux graphiques à caractères simples. La qualité du texte sur les écrans connectés à l'adaptateur couleur/graphique ... est de meilleur de qualité moyenne et propice à la fatigue oculaire sur le long terme".

Dans un commentaire rétrospectif, Next Generation a également eu un avis négatif sur le CGA, déclarant: "Même pour l'époque (début des années 1980), ces graphismes étaient terribles, pâles par rapport aux autres machines couleur disponibles sur le marché."

CGA avait plusieurs concurrents :

  • Pour une utilisation commerciale et de traitement de texte, IBM a fourni l' adaptateur d'affichage monochrome (MDA) en même temps que CGA. MDA était beaucoup plus populaire que CGA au début. Étant donné qu'un grand nombre de PC ont été vendus aux entreprises, le texte monochrome net et haute résolution était plus souhaitable pour l'exécution d'applications.
  • En 1982, la carte graphique non IBM Hercules (HGC) a été introduite, la première carte vidéo tierce pour PC. En plus d'un mode texte compatible MDA, il proposait un mode graphique monochrome avec une résolution de 720x348 pixels, supérieure au CGA.
  • Toujours en 1982, la carte Plantronics Colorplus a été introduite, avec deux fois plus de mémoire qu'une carte CGA standard (32k, contre 16k). La mémoire supplémentaire peut être utilisée dans les modes graphiques pour doubler la profondeur de couleur, offrant deux modes graphiques supplémentaires : 16 couleurs à une résolution de 320 × 200 ou 4 couleurs à une résolution de 640 × 200.
  • L' IBM PCjr (1984) et le Tandy 1000 compatible (1985) comportaient un matériel vidéo "CGA étendu" embarqué qui étendait la RAM vidéo au-delà de 16 Ko, permettant 16 couleurs à une résolution de 320 × 200 et quatre couleurs à une résolution de 640 × 200. Parce que le Tandy 1000 a longtemps survécu au PCjr, les modes vidéo sont devenus connus sous le nom de « Tandy Graphics Adapter » ou « TGA » , et étaient très populaires pour les jeux dans les années 1980. Le Plantronics Colorplus était similaire mais moins largement utilisé .
  • En 1984, IBM a également introduit le Professional Graphics Controller , une solution graphique haut de gamme destinée, par exemple, aux applications de CAO . Il était principalement rétrocompatible avec CGA. Le PGC n'a pas été adopté à grande échelle en raison de son prix de 4 000 $ et a été abandonné en 1987.

Autres alternatives :

  • Paradise Systems a introduit en 1984 la première carte à succès compatible CGA pour les moniteurs MDA. Il affichait les 16 couleurs de CGA dans des tons monochromes. Parce qu'elle était matériellement compatible avec CGA, la carte Paradise n'avait pas besoin de support logiciel spécial ou de pilotes supplémentaires.
  • Une autre extension de certains chipsets compatibles CGA (y compris ceux des Olivetti M24, AT&T 6300, DEC VAXmate et certains portables Compaq et Toshiba ) est une résolution verticale doublée. Cela donne un affichage de texte 8×16 de meilleure qualité et un mode graphique 640×400 supplémentaire.

La carte CGA a été remplacée dans l'espace grand public par la carte Enhanced Graphics Adapter (EGA) d'IBM , qui prend en charge la plupart des modes CGA et ajoute une résolution supplémentaire (640 × 350) ainsi qu'une palette sélectionnable par logiciel de 16 couleurs sur 64 dans modes texte et graphique.

Caractéristiques

Connecteur

L'adaptateur graphique couleur utilise un connecteur DE-9 standard pour la vidéo à entraînement direct (vers un moniteur RGBI). Le connecteur de la carte est femelle et celui du câble du moniteur est mâle.

Connecteur DE-9 vu en regardant à l'arrière d'un PC
Affectations des broches
Épingler Fonction
1 Sol
2 Sol
3 rouge
4 Vert
5 Bleu
6 Intensité
7 Réservé
8 Synchronisation horizontale
9 Synchronisation verticale

Signal

Taper Numérique, TTL
Résolution 640h × 200v, 320h × 200v
H-freq 15699.8 Hz (14,318181 MHz/8/114)
V-freq 59,923 Hz (H-freq/262)
Couleurs 16

Voir également

Les références

Remarques

Liens externes