VGA

VGA ( English  Video Graphics Array ) este o interfață video component utilizată în monitoare și adaptoare video . Lansat de IBM în 1987 pentru computerele PS/2 Model 50 și mai mari [1] .

Adaptorul video VGA, spre deosebire de adaptoarele video IBM anterioare ( MDA , CGA , EGA ), utilizează un semnal analogic pentru a transmite informații de culoare. Trecerea la un semnal analogic s-a datorat necesității de a reduce numărul de fire din cablu. De asemenea , semnalul analogic a făcut posibilă utilizarea monitoarelor VGA cu adaptoare video ulterioare care pot afișa mai multe culori [2] .

Adeptul oficial al VGA a fost standardul IBM XGA , de fapt acesta a fost înlocuit cu diverse extensii VGA cunoscute sub numele de „ Super VGA ” (SVGA).

Termenul VGA este folosit și pentru a se referi la un conector VGA cu 15 pini pentru transmiterea semnalelor video analogice la diferite rezoluții .

Arhitectura adaptorului video VGA

VGA (precum și EGA ) constă din următoarele subsisteme principale (cuvântul „sequencer” a fost numit[ cine? ] set de registre pentru controlul accesului la planurile de memorie video ):

Spre deosebire de CGA și EGA , principalele subsisteme sunt situate într-un singur cip , ceea ce permite reducerea dimensiunii adaptorului video ( EGA a fost implementat și într-un cip, cel puțin clonele sale non-originale din Taiwan ). La computerele PS/2, adaptorul video VGA este integrat în placa de bază [2] .

Diferențele față de EGA

VGA este exact același cu EGA (inclusiv memoria video în plan în moduri de 16 culori și un secvențior pentru accesul procesorului la acesta), cu excepția următoarelor:

Moduri text

În modurile de text standard , caracterele sunt formate într-o celulă de 9×16 pixeli , este posibil să se utilizeze fonturi de alte dimensiuni: 8-9 pixeli lățime și 1-32 pixeli înălțime. Dimensiunile personajelor în sine sunt de obicei mai mici, deoarece o parte din spațiu este cheltuit pentru a crea un decalaj între personaje. Funcția de selectare a mărimii fontului în BIOS este separată de funcția de selectare a modului video, care vă permite să utilizați diferite combinații de moduri și fonturi. Este posibil să încărcați opt și să afișați simultan două fonturi diferite pe ecran [2] [6] .

BIOS -ul VGA stochează următoarele tipuri de fonturi și funcții pentru a le încărca și activa:

De obicei, aceste fonturi sunt conforme cu pagina de coduri CP437 . De asemenea, acceptă descărcarea software-ului de fonturi, care pot fi folosite, de exemplu, pentru rusificare [7] .

Sunt disponibile următoarele moduri standard:

Deși în modurile text VGA un spațiu de caractere are 9 pixeli lățime, doar 8 dintre ei sunt definiți în datele generatorului de caractere (8 biți de un octet pe linie); pixelii coloanei din dreapta a matricei de caractere sunt determinați automat: goli (pentru caractere din intervalul 0x00-0xAF și 0xE0-0xFF) sau la fel ca pixelii coloanei a 8-a (pentru caracterele pseudografice din intervalul 0xB0-0xDF) . Modul de repetare a coloanei a 8-a poate fi dezactivat prin intermediul registrului (nici o cale prin cererea BIOS). De asemenea, prin registre, a fost posibilă comutarea modului text de la 9 coloane la 8 coloane pentru un caracter (la fel ca comutarea modurilor grafice de 320/360 pixeli pe linie), ceea ce era necesar pentru unele matrice de laptop. În acest caz, fonturile standard se lipeau de obicei împreună și trebuia să le încărcați pe ale dvs. (în BIOS, fonturile mai înguste erau de obicei prescrise de furnizor, dar fonturile rusești erau încărcate de programe terțe, cum ar fi KeyRus).

Folosind fonturi mai mici decât standardul 8x16, puteți crește numărul de linii în modul text. De exemplu, dacă activați fontul 8x14, atunci vor fi disponibile 28 de linii. Activarea fontului 8x8 crește numărul de linii la 50 (similar cu modul EGA 80x43 ) [8] [9] .

În modurile text, pentru fiecare celulă cu un caracter, puteți specifica un atribut care specifică modul în care este afișat caracterul. Există două seturi separate de atribute - pentru modurile de culoare și pentru monocrom.

Atributele modului text color vă permit să selectați una dintre cele 16 culori de caractere, una dintre cele 8 culori de fundal și să activați sau să dezactivați pâlpâirea (abilitatea de a selecta pâlpâirea poate fi înlocuită cu abilitatea de a selecta una dintre cele 16 culori de fundal), care este la fel ca și capabilitățile CGA.

Atributele modului monocrom sunt aceleași cu cele disponibile cu MDA și vă permit să activați strălucirea caracterelor, sublinierea, pâlpâirea, inversarea și unele combinații ale acestora [2] .

Moduri grafice

Spre deosebire de predecesorii săi (CGA și EGA), adaptorul video VGA avea un mod video cu pixeli pătrați (adică pe un ecran cu un raport de aspect de 4:3, raportul dintre rezoluțiile orizontale și verticale era tot de 4:3 ). Pentru adaptoarele CGA și EGA , pixelii au fost întinși pe verticală.

Moduri grafice standard

Moduri grafice non-standard (moduri X)

Reprogramarea VGA a permis obținerea unor rezoluții mai mari în comparație cu modurile VGA standard. Cele mai comune moduri sunt:

Toate aceste moduri folosesc o organizare plană a memoriei video, similară conceptual cu cea folosită în modurile cu 16 culori, dar folosind 2 biți din fiecare plan pentru a forma culoarea, și nu 1 - adică biții 0-1 ai octetului 0 în plan 0 a dat biților 0 -1 culorile pixelului 0, aceiași biți din planul 1 sunt biții de culoare 2-3 etc. Următorii biți ai aceluiași octet au dat culorile următorilor pixeli, adică 4 localizați „un paralel la celălalt" la aceeași adresă de octeți în 4 planuri setați culoarea la 4 pixeli.

Această aranjare a memoriei video a făcut posibilă utilizarea întregii memorie video a cardului, și nu doar planul 0 în 64K, pentru a forma o imagine de 256 de culori, ceea ce a făcut posibilă utilizarea rezoluțiilor înalte sau a multor pagini video.

Pentru a lucra cu o astfel de memorie, a fost folosit același secvențior ca în modurile cu 16 culori.

Dar, datorită particularităților controlerului de memorie video, copierea datelor în memoria video este de patru ori mai rapidă decât în ​​modul 13h (acest lucru depinde foarte mult de codul de mașină specific care efectuează copierea și scenariul specific de desen, și anume umplerea de culoare solidă , în general, memoria video plană este mult mai lentă decât de obicei și de aceea SVGA a abandonat-o complet).

Termenul „X-mode” ( în engleză  Mode X ) a fost inventat de Michael Abrash în 1991 pentru a se referi la un mod non-standard de 320 × 240 cu 256 de culori. Acest mod a fost deschis (prin studierea documentației IBM pentru echipamentele VGA, care la acea vreme era protejată la nivel legal și nu mergea sub formă de fișiere din domeniul public, au fost publicate doar apeluri VGA BIOS care nu puteau activa aceste moduri) de către diverși programatori, independent unul de celălalt, dar a devenit celebru datorită articolelor lui Michael Abrash din jurnalul Dr. Jurnalul lui Dobb[10] .

Vezi și

Note

  1. Wilton, Richard. Hardware și firmware IBM Video // Ghidul programatorului pentru sistemele video PC și Ps/2 . - Microsoft Press, 1987. - S.  544 . — ISBN 1-55615-103-9 .
  2. 1 2 3 4 Thompson, Stephen Opțiuni de semnare VGA pentru un nou subsistem video . IBM Systems Journal (1988). Consultat la 15 decembrie 2006. Arhivat din original la 25 august 2011.  
  3. Neal, JD VGA Sequencer Operation  . Proiectul FreeVGA (1998). Consultat la 23 februarie 2007. Arhivat din original pe 25 august 2011.
  4. 1 2 3 Scott, Michael comp.sys.ibm.pc.hardware.video FAQ  ( 1997). Consultat la 23 februarie 2007. Arhivat din original pe 19 octombrie 2008.
  5. Frolov, Alexandru; Frolov, Grigory. Arhitectura adaptoarelor video EGA și VGA . Programarea adaptoarelor video CGA, EGA și VGA (1992). Consultat la 23 februarie 2007. Arhivat din original pe 25 august 2011.
  6. ↑ Neal , JD VGA Text Mode Operation . Proiectul FreeVGA (1998). Consultat la 15 decembrie 2006. Arhivat din original la 25 august 2011.  
  7. Frolov, Alexandru; Frolov, Grigory. Aplicații . Programarea adaptoarelor video CGA, EGA și VGA (1992). Consultat la 23 februarie 2007. Arhivat din original pe 25 august 2011.
  8. Dnes, Walter Nicer console textmodes (engleză) (link nu este disponibil) . Data accesului: 11 ianuarie 2007. Arhivat din original la 7 decembrie 2003.   
  9. Rollins, Dan INT 10H 11H : Funcții generatoare de caractere EGA/VGA . Ajutor tehnic! (1997). Consultat la 11 ianuarie 2007. Arhivat din original pe 25 august 2011.  
  10. Abrash, Michael Mode X: 256-Color VGA Magic  (engleză)  (link indisponibil) . Cartea neagră de programare grafică (2001). Preluat la 30 martie 2007. Arhivat din original la 30 septembrie 2007.

Link -uri