VGA

VGA ( englanninkielinen  Video Graphics Array ) on komponenttivideoliitäntä , jota käytetään näytöissä ja videosovittimissa . IBM julkaisi sen vuonna 1987 PS/2 Model 50 -tietokoneille ja sitä uudemmille tietokoneille [1] .

VGA-videosovitin, toisin kuin aikaisemmat IBM -videosovittimet ( MDA , CGA , EGA ), käyttää analogista signaalia väritietojen välittämiseen. Siirtyminen analogiseen signaaliin johtui tarpeesta vähentää kaapelin johtimien määrää. Analoginen signaali mahdollisti myös VGA - näyttöjen käytön seuraavien videosovittimien kanssa , jotka pystyvät näyttämään enemmän värejä [2] .

VGA:n virallinen seuraaja oli IBM XGA -standardi , itse asiassa se korvattiin useilla VGA-laajennuksilla, jotka tunnetaan nimellä " Super VGA " (SVGA).

Termiä VGA käytetään myös viittaamaan 15-nastaiseen VGA-liittimeen analogisten videosignaalien lähettämiseen eri resoluutioilla .

VGA-videosovittimen arkkitehtuuri

VGA (sekä EGA ) koostuu seuraavista pääalijärjestelmistä (sanaa "sekvenssori" kutsuttiin[ kuka? ] joukko rekistereitä videomuistitasoihin pääsyn ohjaamiseksi ):

Toisin kuin CGA ja EGA , pääalijärjestelmät sijaitsevat yhdessä sirussa , mikä mahdollistaavideosovittimen koon pienentämisen ( EGA toteutettiin myös yhdellä sirulla, ainakin sen taiwanilaiset ei-alkuperäiset kloonit ). PS/2-tietokoneissa VGA -videosovitin on integroitu emolevyyn [2] .

Erot EGA:sta

VGA on täsmälleen sama kuin EGA (sisältää tason sisäisen videomuistin 16 -väritilassa ja sekvensserin prosessorin pääsyä varten ), lukuun ottamatta seuraavia:

Tekstitilat

Tavallisissa tekstitiloissa merkit muodostetaan 9×16 pikselin soluun , on mahdollista käyttää muun kokoisia fontteja : 8-9 pikseliä leveä ja 1-32 pikseliä korkea. Itse hahmojen koot ovat yleensä pienempiä, koska osa tilasta kuluu hahmojen välisen aukon luomiseen. Fonttikoon valintatoiminto BIOSissa on erillinen videotilan valintatoiminnosta, jonka avulla voit käyttää erilaisia ​​tilojen ja fonttien yhdistelmiä. On mahdollista ladata kahdeksan ja näyttää samanaikaisesti kaksi eri fonttia näytöllä [2] [6] .

VGA BIOS tallentaa seuraavan tyyppisiä fontteja ja toimintoja niiden lataamista ja aktivointia varten:

Yleensä nämä fontit ovat CP437 -koodisivun mukaisia . Se tukee myös fonttien ohjelmistolatausta, jota voidaan käyttää esimerkiksi venäläistämiseen [7] .

Seuraavat vakiotilat ovat saatavilla:

Vaikka VGA-tekstitiloissa yksi merkkitila on 9 pikseliä leveä, vain 8 niistä on määritelty merkkigeneraattoritiedoissa (8 bittiä yksi tavu riviä kohden); merkkimatriisin oikean sarakkeen pikselit määritetään automaattisesti: tyhjät (merkit välillä 0x00-0xAF ja 0xE0-0xFF) tai samat kuin 8. sarakkeen pikselit ( pseudografisille merkeille alueella 0xB0-0xDF) . 8. sarakkeen toistotila voidaan poistaa käytöstä rekisterin kautta (ei mitenkään BIOS-pyynnön kautta). Rekistereiden kautta oli myös mahdollista vaihtaa tekstitilaa yhdeksästä sarakkeesta 8 sarakkeeseen merkin kohdalla (kuten 320/360 pikselin graafisten tilojen vaihtaminen riviä kohti), mikä oli tarpeen joissakin kannettavan tietokoneen matriiseissa. Tässä tapauksessa tavalliset kirjasimet takertuivat yleensä toisiinsa, ja sinun piti ladata omasi (BIOSissa kapeammat kirjasimet olivat yleensä myyjän määräämiä, mutta venäläiset kirjasimet latasivat kolmannen osapuolen ohjelmat, kuten KeyRus).

Käyttämällä fontteja, jotka ovat pienempiä kuin standardi 8x16, voit lisätä rivien määrää tekstitilassa. Jos esimerkiksi otat käyttöön 8x14-fontin, käytettävissä on 28 riviä. 8x8-fontin käyttöönotto lisää rivien lukumäärän 50:een (samanlainen kuin EGA 80x43 -tilassa ) [8] [9] .

Tekstitiloissa jokaiselle solulle, jossa on merkki, voit määrittää attribuutin , joka määrittää, miten merkki näytetään. Attribuutteja on kaksi erillistä - väritiloille ja yksivärisille.

Väritekstitilan määritteiden avulla voit valita yhden 16 merkkiväristä, yhden kahdeksasta taustaväristä ja ottaa käyttöön tai poistaa käytöstä välkkymisen (mahdollisuuden valita välkkyminen voidaan korvata mahdollisuudella valita yksi 16 taustaväristä), mikä on samat kuin CGA-ominaisuudet.

Yksivärisen tilan attribuutit ovat samat kuin MDA:ssa saatavilla olevat, ja niiden avulla voit ottaa käyttöön merkkien kirkastamisen, alleviivauksen, välkkymisen, kääntämisen ja jotkin niistä [2] .

Grafiikkatilat

Toisin kuin edeltäjänsä (CGA ja EGA), VGA-videosovittimessa oli videotila neliöpikseleillä (eli näytöllä, jonka kuvasuhde oli 4:3, vaaka- ja pystyresoluutioiden suhde oli myös 4:3 ). CGA- ja EGA - sovittimissa pikselit venytettiin pystysuunnassa.

Normaalit grafiikkatilat

Epätyypilliset grafiikkatilat (X-tilat)

VGA-uudelleenohjelmointi mahdollisti suurempien resoluutioiden saavuttamisen verrattuna tavallisiin VGA-tiloihin. Yleisimmät tilat ovat:

Kaikki nämä tilat käyttävät videomuistin tasomaista järjestelyä, joka on käsitteellisesti samanlainen kuin 16-väritiloissa, mutta käyttää 2 bittiä kustakin tasosta värin muodostamiseen, ei yhtä - eli tavun 0 bittejä 0-1 tasossa. 0 antoi bitit 0 -1 pikselin 0 värit, samat bitit tasossa 1 ovat väribittejä 2-3 jne. Saman tavun seuraavat bitit antoivat seuraavien pikselien värit, eli 4 sijaitsee "yhdessä rinnakkaisessa toiselle" samassa tavuosoitteessa 4 tasossa, aseta väri 4 pikseliin.

Tämä videomuistin järjestely mahdollisti kortin koko videomuistin, ei vain tason 0:n käyttämisen 64K:ssa, muodostamaan 256 värin kuva, mikä mahdollisti korkeiden resoluutioiden tai useiden videosivujen käytön.

Tällaisen muistin kanssa työskentelyyn käytettiin samaa sekvensseria kuin 16-väritiloissa.

Mutta videomuistiohjaimen ominaisuuksista johtuen tietojen kopioiminen videomuistiin on neljä kertaa nopeampaa kuin 13h-tilassa (tämä riippuu vahvasti kopioinnin suorittavasta konekoodista ja tietystä piirustusskenaariosta, nimittäin yksivärisestä täytöstä , yleensä tasovideomuisti on paljon tavallista hitaampi , ja siksi SVGA hylkäsi sen kokonaan).

Termi "X-mode" ( englanniksi  Mode X ) loi Michael Abrash vuonna 1991 viittaamaan epätyypilliseen 320 × 240 -tilaan, jossa on 256 väriä. Tämä tila avattiin (tutkimalla IBM :n VGA-laitteiden dokumentaatiota, joka oli tuolloin suojattu laillisella tasolla ja joka ei mennyt julkisten tiedostojen muodossa, julkaistiin vain VGA BIOS -kutsut , jotka eivät voineet ottaa näitä käyttöön . tilat) eri ohjelmoijat toisistaan ​​riippumatta, mutta niistä tuli kuuluisa Michael Abrashin artikkeleiden ansiosta Dr. Dobbin päiväkirja " [10] .

Katso myös

Muistiinpanot

  1. Wilton, Richard. IBM Video Hardware and Firmware // Ohjelmoijan opas PC- ja Ps/2-videojärjestelmiin . - Microsoft Press, 1987. - S.  544 . — ISBN 1-55615-103-9 .
  2. 1 2 3 4 Thompson, Stephen VGA-merkkivalinnat uudelle videoalijärjestelmälle . IBM Systems Journal (1988). Haettu 15. joulukuuta 2006. Arkistoitu alkuperäisestä 25. elokuuta 2011.  
  3. Neal, JD VGA -sekvensaattorin toiminta  . FreeVGA-projekti (1998). Haettu 23. helmikuuta 2007. Arkistoitu alkuperäisestä 25. elokuuta 2011.
  4. 1 2 3 Scott, Michael comp.sys.ibm.pc.hardware.video FAQ  ( 1997). Haettu 23. helmikuuta 2007. Arkistoitu alkuperäisestä 19. lokakuuta 2008.
  5. Frolov, Aleksanteri; Frolov, Grigori. EGA- ja VGA-videosovittimien arkkitehtuuri . CGA-, EGA- ja VGA-videosovittimien ohjelmointi (1992). Haettu 23. helmikuuta 2007. Arkistoitu alkuperäisestä 25. elokuuta 2011.
  6. ↑ Neal , JD VGA - tekstitilan käyttö . FreeVGA-projekti (1998). Haettu 15. joulukuuta 2006. Arkistoitu alkuperäisestä 25. elokuuta 2011.  
  7. Frolov, Aleksanteri; Frolov, Grigori. Sovellukset . CGA-, EGA- ja VGA-videosovittimien ohjelmointi (1992). Haettu 23. helmikuuta 2007. Arkistoitu alkuperäisestä 25. elokuuta 2011.
  8. Dnes, Walter Nicer-konsoli textmodes (englanniksi) (linkki ei saatavilla) . Käyttöpäivä: 11. tammikuuta 2007. Arkistoitu alkuperäisestä 7. joulukuuta 2003.   
  9. Rollins, Dan INT 10H 11H : EGA/VGA-merkkigeneraattoritoiminnot . Tekninen apu! (1997). Haettu 11. tammikuuta 2007. Arkistoitu alkuperäisestä 25. elokuuta 2011.  
  10. Abrash, Michael Mode X: 256-värinen VGA Magic  (englanniksi)  (linkki ei ole käytettävissä) . Graphics Programming Black Book (2001). Haettu 30. maaliskuuta 2007. Arkistoitu alkuperäisestä 30. syyskuuta 2007.

Linkit