Alaplap Magazin 1990-06

Page 42

PÉCÉZZÜNK

ROM B I O S üz mód ( h e x a )

P ix e l f e l bontás

Sí: í n e k s s ám a

M ón i t o r t í p u s

320

*

200

szín es!!

fe jle tt

szín es

640

*

200

szín es;

fe jle tt

szín es

640

*

350

m on o kr óm

640 *

350

640

350

f e j l e t t s zín es RAM ~ 6 4 K ) f e j l e t t szín es RAM > 6 4 K )

*

(EGA (EGA

1. táblázat. Fejlett grafikus üzemmódok

egyszerre csak 4 színt használhatunk. E bben az üzem m ódban m inim um 128 k-s EG A R A M szükséges a 16 színű grafikához. írható olyan E G A grafikai program , am ely m egfelelően képes kezelni a k ü­ lönböző videoüzem m ódokat a rendel­ kezésre álló hardverkiépítés függvé­ nyében. (N éhány részletesebb progra­ m ozási tanácsunkat lásd itt, később.)

Csatlakozások, regiszterek A program ozó közvetlenül vezérel­ heti az EG A LSI céláram körének m ű­ ködését. A z EG A kijelzésvezérlő áram ­ körét így beállíthatjuk a különböző bit­ m anipulációs videokijelző funkciók végrehajtására, m elyekre a bittérképes grafikához van szükségünk. A konfigu­ rációt az EG A -chipen található külön­ böző célregiszterek tartalm a határozza meg. Ezeket a regisztereket különböző előre m eghatározott I/O portokra kül­ dött adatbájtokkal tölthetjük fel. E rre az assem bly és az IB M PC Basic O U T utasítása egyaránt megfelel. Gyakran több regiszter is tartozik ugyanahhoz az I/O porthoz. Ilyenkor általában a port egyik cím én m egadjuk a regiszter sorszám át, egy m ásik cím én pedig a tartalm át. Például a Grafikai V ezérlő port, m elyhez a 3C EH hexade­ cim ális cím tartozik, 9 különböző re­ giszter beállítását végzi. E z esetben egy bájtot úgy töltünk be valam elyik regisz­ terbe, hogy a regiszter sorszám át a 3CEH , tartalm át pedig a 3C FH cím re adjuk ki. (H a továbbiakban a hexadeci­ m ális alakot jelöli). A fenti m űveletekre a 2 -5 . forrásnyelvű listákban találhatunk p éld ák at

Mi van a fedélzeten? A CG A -hoz hasonlóan az EG A is saját, „fedélzeti” R A M -m al bír. A R A M elsősorban az EG A videovezérlő áram körének frissítő puffereként szol­ gál. A képernyő egyes pixeleihez az 32

ALAPLAP 1990/6

EG A R A M m eghatározott bitcsoportjai tartoznak. A kárcsak a CGA-n, az EG A -n is a program ozó feladata a képem yő-R A M bitenkénti beállítása. Az ilyen m űvelet igencsak nagy szám olási terheket róhat a PC központi m ikroprocesszorára (ez PC /X T esetén 8088-as, A T-nél 80286os), különösen akkor, ha a képernyő nagyobb területének bitjeit kell módo­ sítani. A z EG A video-RA M -ja több szem­ pontból is különbözik a C G A-étól. M íg a CG A RA M m indig a B800H cím ű szegm ensen kezdődik, az EG A RAM kezdőcím éül három szegm enseim kö­ zül választhatunk: - a B800H cím tartozik a ROM BIOS 0 -6 -o s üzem m ódjaihoz, a C G A emulálásához; - a B000H a R O M BIOS 7-es üzem ­ m ódjához, a M onokróm A dapter emuláiásához* - az A 000H pedig a ODH, OEH, OFH és 10H fejlett grafikus üzem m ódokhoz. A pixelek m em óriatérképzése is kü­ lönböző az EG A -n és a CGA-n. A CG A-n a páros és páratlan sorszám ú sorok alkotják a display-R A M egy-egy felét. A z EG A képbitek beosztása ezzel szem ben folyam atosan balról jo b b ra és fentről lefelé halad. A fejlett grafikai üzem m ódokban az első kijelzett pixel­ nek az A 000:0000H m em óriacím en le­ vő bájt 7-es (legm agasabb helyiértékű) bitje felel meg. Ilyen m ódon egy 640 pixeles sor 80 bájt (=50H) m em óriát igényel. E zzel a cím zési m ódszerrel a m ásodik sor első pixeléhez az A 000:0050H m em óriacím en levő bájt 7-es bitje tartozik, a sor második pixe­ léhez ugyanezen bájt 6 -os bitje, és így tovább. Végül egy nagy felépítésbeli eltérést em lítünk a CGA-tól: az EGA RAM négy párhuzam osan használt „bitsíkból” áll. Például egy 64 k R A M -os EGA képm em óriája 4 db 16 k-s „síkra” osz­ lik, m elyek egyazon cím területen „osz­

toznak” (például az A 000:0000 kezdetű területen, fejlett grafikai üzem mód ese­ tén). A z egyes 16 k-s síkok egyenkénti és páronkénti eléréséhez az EG A speci­ ális áram körrel rendelkezik.

Bitsíkok és pixelek A „bitsík” és „pixel” kifejezéseket az EG A R A M kétdim enziós m odellezésé­ nél használjuk. A m odellezés alapján könnyebben m egérthetjük a R A M fel­ építését. K épzeljünk el egy 640 pixeles sort. Ez a sor 640 b it (=80 bájt) „hosszú” és 4 b it „m ély” (soronként 1 bit). Az egyes pixelek cím ének kiszám olásakor a sor „hosszában” m ozgunk, és az illető pixel értékét (színét) az adott helyen egym ás „m ögött” levő 4 bit értéke együttesen határozza m eg. V együnk például egy pixelt, amely­ nek értéke 5 (binárisan 1010), és a kép­ ernyő bal felső sarkában helyezkedik el, azaz az E G A RA M 0. bájtjának legma­ gasabb helyiértékű (7.) bitje tartozik hozzá. A pixel értékét úgy állíthatjuk be, hogy a bitsíkok m egfelelő (ez eset­ ben első) bitjeit a 0 . és 2 . síkban 1 -re, az 1. és 3. síkban 0-ra állítjuk. A bitsíkok­ nak term észetesen a valóságban egy­ más után következő (ez esetünkben 16 k-s) m em óriatartom ányok felelnek meg. A z EG A G rafikus V ezérlője lehető­ vé teszi a négy bitsík egyidejű címzését. A m ikor az EG A R A M egy címéről ki­ olvasunk egy bájtot (m ondjuk a 8086os M OV utasításával vagy egy BASIC PEEK -kel), a G rafikus V ezérlő négy bájtot olvas ki: m indegyik síkból egyetegyet a m egfelelő cím ekről. A bájtokat továbbra is összekapcsolva kezeli: be­ tölti a G rafikus V ezérlőn belüli regisz­ terekbe, ahol m ódosíthatók, újraírhatók, és ahonnan szintén négyes csopor­ tonként kiírhatók az E G A R A M bitsík­ jaira. A négy bitsík bitjeinek felhasználási m ódja a rendelkezésre álló EG A RAM m éretétől és a grafikus kijelzési üzem­ m ódtól függ. V izsgáljuk m eg például azt, hogyan tudunk m egjeleníteni 640x350 pixeles, négyszínű grafikát 64 k RA M -os EG Aval. Ez esetben 224 000 (=640x350) pixelt jelenítünk m eg, am ihez minden bitsíknak 28 000 (=224 000/8) bájtot kell tartalm aznia. Ez több a síkonként rendelkezésre álló 16 kbájtnál. A prob­ lém a m egoldására az EG A videoáramköre ilyenkor két párként kezeli a síko-


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.