Ulepszona karta graficzna — Enhanced Graphics Adapter

Ulepszona karta graficzna
Karta IBM EGA.jpg
Oryginalna karta IBM EGA 64 kB
Data wydania październik 1984 ; 36 lat temu ( październik 1984 )
Architektura Motorola 6845 , chipy i technologie
Karty
Poziom podstawowy Karta IBM EGA, Chips and Technologies , ATI EGA Wonder
Średni zakres ATI EGA Wonder 800
Wysokiej klasy ATI EGA Wonder 800+
Historia
Poprzednik Monochromatyczny adapter wyświetlacza , kolorowy adapter graficzny
Następca Tablica grafiki wideo

Enhanced Graphics Adapter ( EGA ) jest IBM PC karta graficzna i de facto tryb graficzny z 1984 roku, która zastąpiła CGA standard wprowadzony z oryginalnym IBM PC, a sama była zastąpiona przez VGA standardem w roku 1987. W dodatku do pierwotnego EGA wyprodukowana przez IBM, wyprodukowano wiele kompatybilnych kart innych firm, a tryby graficzne EGA były nadal obsługiwane przez standardy VGA i późniejsze.

Historia

EGA została wprowadzona w październiku 1984 roku przez IBM , wkrótce po swoim nowym PC/AT . EGA można było zainstalować we wcześniej wydanych komputerach IBM PC, ale wymagało aktualizacji pamięci ROM na płycie głównej.

W latach 1984-1987 kilku producentów zewnętrznych wyprodukowało kompatybilne karty, takie jak chipset Autoswitch EGA lub Genoa Systems Super EGA . Późniejsze karty obsługujące rozszerzoną wersję VGA były podobnie nazywane Super VGA .

Standard EGA stał się przestarzały wraz z wprowadzeniem w 1987 r. MCGA i VGA z linią komputerów PS/2 .

Projektowanie sprzętu

Monitory IBM MDA, CGA i EGA, wszystkie obsługiwane przez kartę EGA

Oryginalna karta IBM EGA była 8-bitową kartą PC ISA z 64 KB wbudowanej pamięci RAM. Opcjonalna płyta-córka (karta rozszerzenia pamięci graficznej) zapewnia co najmniej 64 KB dodatkowej pamięci RAM i do 192 KB, jeśli jest w pełni wypełniona zestawem modułu pamięci graficznej. Bez tych ulepszeń karta byłaby ograniczona do czterech kolorów w trybie 640×350.

Wyjście odbywało się za pośrednictwem bezpośredniego napędu RGB, tak jak w przypadku CGA, ale nie uwzględniono kompozytowego wyjścia wideo. Można sterować monitorami MDA i CGA, a także nowo wydanymi ulepszonymi monitorami kolorowymi do użytku specjalnie z EGA.

Monitory specyficzne dla EGA wykorzystywały konstrukcję z podwójną synchronizacją, która mogła przełączać się z 15,7 kHz w trybach 200-liniowych na 21,8 kHz dla trybów 350-liniowych.

Karta innej firmy niż IBM EGA

Wiele kart EGA ma przełączniki DIP z tyłu karty, aby wybrać typ monitora. W przypadku wybrania CGA karta będzie działać w trybie 200 linii i używać znaków 8x8 w trybie tekstowym. W przypadku wybrania EGA karta będzie działać w trybie 350 linii i używać tekstu 8×14.

Niektóre karty innych firm korzystające ze specyfikacji EGA były sprzedawane z pełnymi 128 KB pamięci RAM fabrycznie, podczas gdy inne zawierały aż 256 KB, aby umożliwić obsługę wielu stron graficznych, wiele zestawów znaków w trybie tekstowym i duże przewijane wyświetlacze. Kilka kart innych producentów, takich jak ATI Technologies EGA Wonder, zbudowanych w oparciu o standard EGA, dodatkowo oferuje funkcje, takie jak rozszerzone tryby graficzne do 800x560 i automatyczne wykrywanie typu monitora.

Możliwości

EGA wyświetla do 16 kolorów (przy użyciu stałej palety lub jednego wybranego z gamy 64 kolorów, w zależności od trybu) w kilku rozdzielczościach do 640×350 pikseli, a także dwóch trybach monochromatycznych w wyższych rozdzielczościach. Karty EGA zawierają pamięć ROM rozszerzającą BIOS systemu o dodatkowe funkcje graficzne oraz niestandardowy kontroler CRT (CRTC) .

IBM EGA CRTC obsługuje wszystkie tryby adapterów IBM MDA i CGA poprzez określone opcje trybów, ale nie jest w pełni kompatybilny z rejestrami Motorola MC6845 używanymi w tych kartach, więc oprogramowanie, które bezpośrednio programuje rejestry do wybranych trybów, może generować różne wyniki na EGA.

Obsługiwane rozdzielczości to 320×200 i 640×200 (na monitorze CGA), 720×350 i 640×350 (na monitorze MDA) oraz 320×350 i 640×350 (na monitorze EGA). Rozdzielczości CGA są również obsługiwane podczas korzystania z monitora EGA. EGA skanuje z częstotliwością 21,8 kHz, gdy używane są tryby 350-liniowe i 15,7 kHz, gdy używane są tryby 200-liniowe.

W trybie wysokiej rozdzielczości 640×350, który wymaga ulepszonego monitora EGA, można wybrać 16 kolorów z palety zawierającej wszystkie kombinacje dwóch bitów na piksel dla czerwonego, zielonego i niebieskiego, co pozwala na cztery poziomy intensywności dla każdego koloru podstawowego i 64 kolory ogólnie. Tryby graficzne 640×200 i 320×200 zapewniają kompatybilność wsteczną z oprogramowaniem i monitorami CGA, ale pozwalają na jednoczesne użycie wszystkich szesnastu kolorów z palety CGA , zamiast stałych czterech kolorów dostępnych w tych trybach na rzeczywistym CGA.

16-kolorowe tryby graficzne EGA wykorzystują bitplany i rejestry masek wraz z operacjami bitowymi procesora, aby umożliwić akcelerację grafiki , techniki, które będą używane w VGA .

Tryby

EGA wspiera:

  • 640×350 w/16 kolorów (z 6 bitowej palety 64 kolorów), proporcje pikseli 1:1,37.
  • 640×350 w 2 kolorach, proporcje pikseli 1:1,37.
  • 640×200 w/16 kolorów, proporcje pikseli 1:2,4.
  • 320×200 w/16 kolorów, proporcje pikseli 1:1,2.

Tryby tekstowe:

  • 40×25 z czcionką 8×8 pikseli (efektywna rozdzielczość 320×200)
  • 80×25 z czcionką 8×8 pikseli (efektywna rozdzielczość 640×200)
  • 80×25 z czcionką 8×14 pikseli (efektywna rozdzielczość 640×350)
  • 80×43 z czcionką 8×8 pikseli (efektywna rozdzielczość 640×344)

Rozszerzone tryby graficzne płyt firm trzecich:

  • 640×400
  • 640×480
  • 720×540

Paleta kolorów

Tabela kolorów EGA

Paleta EGA pozwala na jednoczesne użycie wszystkich 16 kolorów CGA i umożliwia zastąpienie każdego z tych kolorów dowolnym z 64 kolorów (dwa bity dla koloru czerwonego, zielonego i niebieskiego). Pozwala to również na użycie alternatywnego brązowego koloru CGA bez dodatkowego sprzętu do wyświetlania. Późniejszy standard VGA opierał się na tym, umożliwiając dalsze dostosowywanie każdego z 64 kolorów.

Standardowe monitory EGA nie obsługują korzystania z rozszerzonej palety kolorów w trybach 200-liniowych, ponieważ monitor nie może odróżnić podłączenia do karty CGA od połączenia z kartą EGA wyświetlającą tryb 200-wierszowy. EGA redefiniuje niektóre piny złącza, aby przenosić rozszerzone informacje o kolorze. Gdyby monitor był podłączony do karty CGA, styki te nie przekazywałyby prawidłowych informacji o kolorze, a ekran mógłby być zniekształcony, gdyby monitor zinterpretował je jako takie. Z tego powodu standardowe monitory EGA będą używać przypisania pinów CGA w trybach 200-liniowych, dzięki czemu monitor może być również używany z kartą CGA.

Niektóre monitory EGA są przełączalne , co oznacza, że ​​można je skonfigurować tak, aby korzystały z pełnej palety nawet w trybach 200-liniowych, często za pomocą przełącznika mechanicznego. Tylko kilka komercyjnych gier zostało wydanych z obsługą rozszerzonej palety kolorów w rozdzielczości 320×200 lub 640×200 (w tym DOSowa wersja Super Off Road ).

Przy wyborze koloru z palety EGA używane są dwa bity dla kanałów czerwonego, zielonego i niebieskiego. Pozwala to każdemu kanałowi na wartość 0, 1, 2 lub 3. Na przykład, aby wybrać kolor magenta, czerwone i niebieskie wartości będą średniej intensywności (2 lub 10 w systemie binarnym), a zielona wartość będzie wyłączona (0 ).

Poniższa tabela przedstawia przykładową paletę pasującą do 16 standardowych kolorów CGA, z ich reprezentacją w formacie szesnastkowym, dziesiętnym i binarnym. Reprezentacja binarna ma postać „rgbRGB”, gdzie małe litery to bity o niskiej intensywności, a duże litery to bity o wysokiej intensywności.

Domyślna paleta 16 kolorów EGA ( kolory CGA )
Numer Kolor Szesnastkowy rgbRGB Dziesiętny
0 Czarny #000000 000000 0
1 Niebieski #0000AA 000001 1
2 Zielony #00AA00 000010 2
3 Cyjan #00AAAA 000011 3
4 czerwony #AA0000 000100 4
5 Magenta #AA00AA 000101 5
6 brązowy #AA5500 010100 20
7 Biały/jasnoszary #AAAAAA 000111 7
8 Ciemnoszary/jasny czarny #555555 111000 56
9 Jasnoniebieski #5555FF 111001 57
10 Jasno zielony #55FF55 111010 58
11 Jasny cyjan #55FFFF 111011 59
12 Jasny czerwony #FF5555 111100 60
13 Jasny magenta #FF55FF 111101 61
14 Jasny żółty #FFFF55 111110 62
15 Jasny biały #FFFFFF 111111 63

Specyfikacje

EGA wykorzystuje żeńskie dziewięcio-pinowe złącze D-subminiaturowe ( DE-9 ) jako wyjście, identyczne ze złączem CGA, a standard sygnału i pinout są wstecznie kompatybilne z CGA, dzięki czemu monitory EGA mogą być używane z kartami CGA i imadłami odwrotnie.

Podczas pracy w trybach EGA, trzy piny są przystosowane do wtórnych sygnałów RGB EGA:

Szpilka Cel CGA Cel EGA
2 Drugi grunt Wtórny czerwony
6 Intensywność Wtórny zielony
7 Skryty Wtórny niebieski

Podczas pracy w 200-liniowych trybach CGA karta EGA jest w pełni kompatybilna wstecz ze standardowym monitorem IBM CGA; jednak monitory innych firm miały różną kompatybilność.

Widok z przodu iz tyłu TVM MD-3, monitora EGA innej firmy. Wejście DE-9, przełącznik trybu, regulacja kontrastu i jasności z przodu, pokrętła V-Size i V-Hold z tyłu.

Monitory innych firm czasami łączą wewnętrznie pin drugi z uziemieniem. Po podłączeniu do karty EGA, powoduje to zwarcie wtórnego czerwonego wyjścia EGA do masy i może uszkodzić kartę. Ponadto niektóre monitory zostały podłączone do drugiego styku jako jedynej masy i nie będą one działać z EGA.

I odwrotnie, monitor EGA powinien działać z adapterem CGA, ale jeśli nie jest ustawiony w trybie CGA, wtórny czerwony sygnał będzie uziemiony (zawsze zero), a wtórny niebieski będzie pływał (niepodłączony), powodując wszystkie kolory o wysokiej intensywności z wyjątkiem brązu, który wyświetla się nieprawidłowo, a wszystkie kolory mogą mieć zmienny niebieski odcień ze względu na nieokreślony stan niepołączonego wtórnego niebieskiego.

Monitor IBM 5154 EGA ma specjalny tryb kompatybilności IBM 5153 CGA podczas pracy z sygnałami synchronizacji CGA i automatycznie przełącza się na pinout CGA, aby uniknąć wszystkich wymienionych problemów podczas pracy w tym trybie.

Pinout

Wyprowadzenie złącza EGA patrząc z tyłu komputera
Przypnij zadania
Szpilka Nazwa Funkcjonować
1 GND Grunt
2 SR Wtórny czerwony (intensywność)
3 PR Podstawowy czerwony
4 PG Podstawowy zielony
5 PB Podstawowy niebieski
6 SG Wtórny zielony (intensywność)
7 SB Wtórny niebieski (intensywność)
8 h Synchronizacja pozioma
9 V Synchronizacja pionowa

Mapowanie pamięci

W przypadku kolorowego tekstu i trybów graficznych CGA pamięć wideo jest mapowana na 16 kB adresów zaczynających się od adresu B8000h, aw monochromatycznym (kompatybilnym z MDA) trybie tekstowym pamięć wideo zajmuje 16 kB, zaczynając od B0000h. Te mapowania adresów zapewniają zgodność wsteczną.

W nowych trybach EGA pamięć wideo zaczyna się od adresu A0000h i zajmuje 64 KB. Różne adresy bazowe dla trybów kolorowych i monochromatycznych umożliwiają jednoczesne używanie EGA z monochromatyczną kartą graficzną w tym samym komputerze lub jednoczesne używanie EGA w trybie tekstowym MDA z CGA w tym samym komputerze.

Natywne tryby graficzne EGA są planarne , w przeciwieństwie do trybów CGA i Hercules z przeplotem . Pamięć wideo jest podzielona na cztery strony (z wyjątkiem 640×350×2, która ma dwie strony), po jednej dla każdego składnika przestrzeni kolorów RGBI, przy czym każdy bit reprezentuje jeden piksel. Jeśli włączony jest bit na czerwonej stronie, ale żaden z równoważnych bitów na pozostałych stronach nie jest włączony, w tym miejscu na ekranie pojawi się czerwony piksel. Gdyby wszystkie inne bity dla tego konkretnego piksela były również włączone, stałby się biały i tak dalej.

Samoloty mają różne rozmiary w zależności od trybu:

Rozmiary samolotów wideo EGA
Tryb Rozmiar samolotu
tryby 200-wierszowe,

Tryb 640×350×2

8 KB
640×350 z 64kB RAM 16 KB
640×350 z 128kB RAM 32 KB

Wszystkie płaszczyzny znajdują się w segmencie A000 w przestrzeni adresowej procesora. Są one przełączane między bankami i tylko jedna płaszczyzna może być odczytywana na szynie CPU na raz, jednak programista może ustawić rejestry kontrolne na karcie, aby wybrać, do których płaszczyzn są zapisywane, co pozwala na zapis do kilku jednocześnie. Wyjątkiem jest tryb odczytu 1, w którym wszystkie cztery płaszczyzny są odczytywane i porównywane z zaprogramowanymi danymi „Color Compare”, a bajt wskazujący wynik porównania wszystkich czterech płaszczyzn może być odczytany na magistrali I/O.

Przyjęcie

Komercyjne oprogramowanie zaczęło wspierać EGA w 1986 roku, a gra Sierra's King's Quest III była jedną z pierwszych gier na PC, która z niego korzystała. Do 1987 roku wsparcie EGA było powszechne. Większość oprogramowania stworzonego do 1991 roku mogła działać w EGA, chociaż zdecydowana większość komercyjnych gier używała rozdzielczości 320×200 z 16 kolorami w celu zapewnienia wstecznej kompatybilności z CGA i Tandy oraz obsługi użytkowników, którzy nie posiadali ulepszonego monitora EGA. Tryby 350-liniowe były najczęściej używane w grach freeware/shareware i aplikacjach, chociaż SimCity jest godnym uwagi przykładem gry komercyjnej działającej w trybie 640×350×16.

Zobacz też

Uwagi

Bibliografia