Introduction
L'affichage est somme toute des plus difficiles à identifier comme un standard. On retrouve des cartes MDA, CGA, Hercules, EGA, PGA, VGA, Super VGA, VESA,.... Ceux-ci cependant fonctionne sous certains concepts universel:
- Affichage linéaire: Il s'agit d'une mémoire vidéo où chaque pixel, caractère ou attribut (non inclusivement) est stocké de façon linéaire l'un à la suite des autres en fonction de leur apparition à l'écran. Somme toute, les anciennes cartes fonctionnent partiellement sur ce principe, toutefois, les cartes vidéo VGA et postérieur on mit un terme définitif à la mémoire interlacer. Ce concept est sens doute le plus important, car on doit obligatoirement faire afficher une boîte par exemple du haut vers le bas ou du bas vers le haut, mais jamais de droite vers la gauche, car il perdrait un temps énorme! Ainsi dans un mode texte on peut considérer la mémoire de la façon suivantes (C = Caractère, A = Attribut):
- Les ports d'Entrée/Sortie sont très lentes! Peu importe que vous ayez le moins de nombre de lignes d'assembleur et que les cycles d'horloge devraient obligatoirement faire afficher de façon accélérer vos éléments d'affichage, on doit éviter d'utiliser inutilement les Ports E/S pour l'affichage de vos éléments. Car hormis les cartes Tseng Labs, il semblerait bien qu'aucun constructeurs semble avoir compris qu'un programme fait pourtant un usage intensif de la communication par les ports d'E/S qu'il le veuille ou non!
- Affichage horizontal basé sur le nombre 8 en mode graphique:L'affichage d'un pixel, tous particulièrement dans les anciens modes d'affichage graphique s'effectue plus facilement en utilisant un multiple de 8 pixels. On devra pour des raisons de performances (et parfois de mots de tête) éviter d'afficher sur une coordonnées horizontal ayant un restant de division par 8. Ou si vous préférer: X ET 7 <> 0. La raison en fort simple, c'est que les vieux modes d'affichage graphique comme le 640x200 en 2 couleurs conservait 8 pixels par octets et de se fait, on ne peut modifier un pixel du groupe sans connaître le contenu des autres.
- Aucun élément complexe: Il n'y aucun raccourci! On ne retrouve donc aucune fonction dite complexe d'affichage permettant d'économiser du temps, de code, ou autres idées du même genre. Le BIOS fournit peut-être quelques routines, mais il n'y a absolument rien pour faire une application digne du nom et surtout performante! Les polices de caractères sont pourtant fournit dans les modes graphiques? Oui, peut-être, mais la plupart des fabricants supposent qu'un bon programme utilise ses propres polices de caractères (et selon leur opinion Quattro Pro ne serait pas un bon logiciel, étrange...), alors on devra éviter de faire appel à ceux fournit par le fabricant et charger les siens.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | C | A | C | A | C | A | C | A | C | A | C | A | C | A | C | A | C | A | C | A | C | A | C | A | C | A | C | A | C | A | C | A |
1 | C | A | C | A | C | A | C | A | C | A | C | A | C | A | C | A | C | A | C | A | C | A | C | A | C | A | C | A | C | A | C | A |
2 | C | A | C | A | C | A | C | A | C | A | C | A | C | A | C | A | C | A | C | A | C | A | C | A | C | A | C | A | C | A | C | A |
3 | C | A | C | A | C | A | C | A | C | A | C | A | C | A | C | A | C | A | C | A | C | A | C | A | C | A | C | A | C | A | C | A |
Dernière mise à jour : Dimanche, le 1 mai 2016