Tamás Ferenc: CGA monitorok
Az IBM 1981-ben vezette be a CGA (Colour Graphics Adapter) videókártyát, ami egyben egy vadonatúj monitor neve is volt. Ez volt a cég legelső színes kártyája és monitora az IBM PC-hez. A szabványos IBM CGA kártya 16 KB memóriával rendelkezett, kimenetére rá lehetett kötni az akkori NTSC-szabványos monitorokat, illetve egy RCA kábel segítségével a kártya által kibocsájtott jelet ki lehetett vezetni egy sima televíziókészülékre; esetleg egy RGBI csatlakozóval egy akkori CRT monitorra, például az IBM 5153-as típusra is.
(Kép eredetije: http://www.recycledgoods.com/zoom.aspx?productID=34676 )
Az eredetileg Motorola MC6845-ös chipkészletre épített CGA kártyának számos grafikus és szöveges üzemmódja is volt, melyek közül a legmagasabb grafikus felbontás a 640*200 volt, míg az elérhető színmélység 4 bit, azaz 16 szín.
Teljes CGA színpaletta | |||
---|---|---|---|
0 | fekete #000000 |
8 | szürke #555555 |
1 | kék #0000AA |
9 | világoskék #5555FF |
2 | zöld #00AA00 |
10 | világoszöld #55FF55 |
3 | cián #00AAAA |
11 | világos cián #55FFFF |
4 | vörös #AA0000 |
12 | világos vörös #FF5555 |
5 | magenta #AA00AA |
13 | világos magenta #FF55FF |
6 | barna #AA5500 |
14 | sárga #FFFF55 |
7 | világos szürke #AAAAAA |
15 | fehér (erős intenzitás) #FFFFFF |
(Kép eredetije: http://hu.wikipedia.org/wiki/CGA )
A 4 bites színmélységet RGBI megjelenítéskor lehetett legjobban értelmezni, ugyanis ilyen esetben az első három bit a szabványos RGB-modellnek felelt meg, míg a negyedik bit az intenzitásért volt felelős.
Történelmi érdekesség, hogy 1981-ben, amikor az első CGA-monitorokat piacra dobta az IBM, akkor még a cég nem rendelkezett saját gyártású RGBI-kijelzőkkel, hanem az ügyfelek egy szabványos RCA-kimenetet használtak, hogy a képet a saját televíziójukon meg tudják jeleníteni. (Kép eredetije: http://taiwanconnector.com/RCA_Cable.html ) Az első szabványos RGBI-monitort csak 1983-ban dobták piacra IBM 5153 személyi számítógép színes képernyő (Personal Computer Colour Display) néven. A hiány miatt 1981-ben és 1982-ben számos felhasználó egyszerűbb RGB-monitorokat használt (jellemzően „erősítőbit” nélkül), csökkentve ezzel a színek számát 8-ra és jócskán összezavarva az akkori megjelenítést.
Szabványos szöveges üzemmódok:
40x25-ös felbontású karakteres mód akár 16 színben: Minden egyes karakternek volt egy 8x8-as megjelenítési mintája, tehát a gyakorlati felbontás ebben az üzemmódban 320x200 képpont volt, habár az egyes képpontokat nem lehetett külön-külön megcímezni. Az egyes karaktereket az alapértelmezett kódlap 256 karakteréből lehetett kiválasztani, ám ezt a (437-es számú) kódlapot a ROM-ban tárolták, tehát nem lehetett változtatni. Az eredeti IBM CGA kártyák esetén lehetett normál és vékonyított megjelenítési módot választani egy beállítás megadásával, de ezt a többi gyártó klón-kártyájánál már nem lehetett megválasztani. Magán a CGA kártyán 8 különböző szöveges lap megjelenítésére volt elegendő RAM.
A 0-ás és 1-es BIOS módok a 40 oszlopos megjelenítést tettek lehetővé. A két mód közötti különbséget csak a kompozit monitorok teszik láthatóvá, ugyanis a 0-ás mód letiltja a színeket, azokat a szürke árnyalataivá konvertálja. Azonban az 1-es mód lehetővé teszi a színek helyes megjelenítését.
80x25 karakteres mód akár 16 színben: Itt is, az előzőhöz hasonlóan, minden egyes karakternek 8x8-as megjelenítési mintája van, tehát a gyakorlati képfelbontás 640x200 képpont. Mivel az előzőhöz képest kétszer annyi karakter van egyszerre a képernyőn, így a kártya RAM-jában már csak 4 oldalnyi szöveg fér el.
A 2-es és 3-as BIOS üzemmódok a 80 oszlopos megjelenítést teszik lehetővé. Az előzőhöz hasonlóan a 2-es mód csak a szürke változatait jeleníti meg, míg a 3-as BIOS mód már 16 szín megjelenítését teszi lehetővé.
Minden szöveges módban valamennyi karakternek van háttérszíne és előtérszíne, pl. piros háttér előtt sárga szöveg. Bár a színek ábrázolására ugyanazt a 4-bites színmintát használja a kártya minden egyes karakter megjelenítésére, de a gyakorlatban célszerűbb volt az egész lapra kiterjedő háttérszínt választani. A hardver lehetővé tette az egyes karakterek villogtatását, de egyes speciális kártyák esetén nem volt sikeres. A villogó attribútum alapértelmezetten engedélyezve van, így a második nyolc szín csak úgy választható ki, ha ez a bit letiltásra kerül. Érdeklődésre tarthat számot az a tény is, hogy a Microsoft GW-Basic programozási nyelvében (ami az MS-DOS-ba beágyazott QuickBasic elődjének tekinthető) mindkét szöveges módot támogatta (teljes színskálával!), de nem adott semmilyen beviteli eszközt a villogtatásra, habár a hardver támogatta az OUT (képernyőre) kiírási parancsot. A BASIC nyelv ezen variánsában a az előtér-színek száma: 16-31, amik a 0-15 közötti színek villogó verziói, de a a 8-15 háttérszínek megegyeznek a 0-7 közöttiekkel.
Szabványos grafikus üzemmódok:
A CGA két általánosan használt BIOS-támogatású grafikus üzemmódot tett lehetővé (egyes elnevezések szerint „IBM-féle minden pont címezhető” megoldással).
320x200-as grafikus mód: Ez a 40x25-ös karakteres mód grafikus verziójának tekinthető, azonban minden egyes képpontot külön lehetett címezni! Annyi kompromisszum azért volt, hogy mindössze négy színt lehetett egyidejűleg használni! Valamint a négy színből csak egyet lehetett szabadon választani a CGA 16-os színpalettájáról. Mindössze két paletta volt választható ezen módban:
-
Bíbor, cián, fehér és háttérszín (bármelyik a 16 színből, alapértelmezetten: fekete).
szám | 1.paletta | 1. paletta magas intenzitással |
---|---|---|
0 | alapértelmezett | alapértelmezett |
1 | 3 — cián | 11 — világos cián |
2 | 5 — magenta | 13 — világos magenta |
3 | 7 — fehér | 15 — fehér (magas intenzitású) |
-
Vörös, zöld, barna/sárga és háttérszín (bármelyik a 16 színből, alapértelmezetten: fekete).
szám | 0. paletta | 0. paletta magas intenzitással |
---|---|---|
0 | alapértelmezett | alapértelmezett |
1 | 2 — zöld | 10 — világoszöld |
2 | 4 — piros | 12 — világospiros |
3 | 6 — barna | 14 — sárga |
Azonban a CGA-szabvány szerinti magas intenzitású bitek csak ezzel voltak megcímezhetőek és így elérhetőek. Továbbá a programozásnál figyelembe kellett venni, hogy a pixelek képernyős méretarány: 1:1,2 volt. A 4-es és az 5-ös BIOS üzemmód állította be a grafikus képet. A szöveges üzemmódhoz hasonlóan a 4-es mód állította be a kompozit színes módot, míg az 5-ös mód tiltja azt.
A kor egyik, talán a legelső játéka volt az „Alley Cat”. Itt egy macskával kellett a kerítések tetején ugrálni. A képet csak azért hoztam, hogy innen indult a fejlődés a mai hipermodern játékokhoz...
(Kép eredetije: http://www.dosgamesarchive.com/download/alley-cat/
640x200-as grafikus üzemmódban: Ez a 80x25-ös szöveges mód grafikus verziójának volt tekinthető. Az előzőhöz hasonlóan itt is minden egyes képpont egyenként volt címezhető. Itt a monokróm képarány: 1:2,4 volt. Alapértelmezetten a színek csak a fekete és a fehér voltak, de a háttérszínt a CGA palettáról lehetett választani – ráadásul a háttérszíncserét a kép törlése nélkül is meg lehetett valósítani! A 6-os BIOS mód állította be a 640x200-as grafikát. Ez a mód viszont alapértelmezésben letiltja a kompozit videó bitet.
Szöveges üzemmódban a betűminták közvetlenül a BIOS-ból jöttek, amit csak maga a kártya érhetett el. Grafikus üzemmódban ellenben a BIOS két külön táblát használt: az első felét (az alapvető 128 karaktert) közvetlenül a BIOS ROM chipből vette, míg a további karaktereket egy memóriahelyről vette ki egy megszakítás-rutin. Ennek az volt a következménye, hogy a második fél rendszeresen hiányzott (üres volt) vagy csak ilyen-olyan szemeteket rakott bele a gép. Éppen ezért a karakterek adatait közvetlenül a felhasználó vihette be, például a GRAFTABL nevű speciális alkalmazással.
Kevésbé szabványos üzemmódok:
Számos további üzemeltetési lehetőség létezik (bár itt csak pár példa szerepel), amit ezzel a sokoldalú monitorral el lehetett érni a minél jobb megjelenítési hatás végett – némi trükközéssel:
320x200-as grafikus módban az alapértelmezetten fekete háttér színét a CGA paletta 15 színéből ki lehetett választani, de ez nagyban befolyásolta a keret színét. Ez néhány újabb variációt tett lehetővé, beleértve például a keret villogtatását is – mindezt úgy, hogy a képen lévő grafikát nem kellett újrarajzolni.
640x200-as grafikus módban az előtér (alapértelmezetten fehér) színét meg lehetett változtatni a paletta további 15 színére. Azonban a háttér és a keret továbbra is csak fekete maradhatott.
Szöveges üzemmódban a keret színét a szokásos feketéről fel lehetett cserélni a többi 15-re.
Az akkori (elég kezdetleges) grafikus játékok már a technológia határait feszegették. Ezekre jó példák voltak az Epyx: California Games, illetve az Atarisoft: Jungle Hunt c. kiadványai. Így nyilvánvaló lett, hogy ezen a grafikus felbontáson és a színek számán fejleszteni kell! De ez mellett feltétlenül kellett az újabb, nagyobb teljesítményt elbíró CPU-k, illetve gyorsabb vasak is. (memória, alaplap, HDD, stb.)
Felhasznált irodalom: