Tryb tekstowy - Text mode

Tryb tekstowy to tryb wyświetlania komputera , w którym zawartość jest wewnętrznie reprezentowana na ekranie komputera w postaci znaków, a nie pojedynczych pikseli . Zwykle ekran składa się z jednolitej siatki prostokątnej o komórkach postaci , z których każda zawiera jeden ze znaków z zestawu znaków ; w tym samym czasie, w przeciwieństwie do wszystkich trybów adresowalnych punktów (APA) lub innych rodzajów trybów grafiki komputerowej .

Aplikacje trybu tekstowego komunikują się z użytkownikiem za pomocą interfejsów wiersza polecenia i tekstowych interfejsów użytkownika . Wiele zestawów znaków używanych w aplikacjach w trybie tekstowym zawiera również ograniczony zestaw predefiniowanych pół-graficznych znaków , które można wykorzystać do rysowania ramek i innych podstawowych elementów graficznych, których można używać do podświetlania zawartości lub do symulowania widgetów lub obiektów interfejsu sterowania występujących w programach GUI . Typowym przykładem jest zestaw znaków 437 strony kodowej IBM .

Ważną cechą programów tekstowych jest to, że przyjmują czcionki o stałej szerokości , w których każdy znak ma tę samą szerokość na ekranie, co pozwala im łatwo zachować wyrównanie w pionie podczas wyświetlania znaków półgraficznych. Była to analogia do wczesnych drukarek mechanicznych, które miały stałą podziałkę. W ten sposób wydruk widoczny na ekranie mógłby zostać przesłany bezpośrednio do drukarki z zachowaniem tego samego formatu.

W zależności od środowiska bufor ekranu może być bezpośrednio adresowalny . Programy wyświetlające dane wyjściowe na zdalnych terminalach wideo muszą wydawać specjalne sekwencje sterujące, aby manipulować buforem ekranu. Najpopularniejszymi standardami dla takich sekwencji sterowania są ANSI i VT100 .

Programy uzyskujące dostęp do bufora ekranu poprzez sekwencje sterujące mogą utracić synchronizację z rzeczywistym wyświetlaczem, tak że wiele programów w trybie tekstowym ma polecenie ponownego wyświetlania wszystkiego , często skojarzone z kombinacją klawiszy Ctrl -L.

Historia

Renderowanie wideo w trybie tekstowym zyskało na znaczeniu we wczesnych latach siedemdziesiątych XX wieku, kiedy terminale tekstowe zorientowane na wideo zaczęły zastępować tele-drukarki w interaktywnym korzystaniu z komputerów.

Korzyści

Zalety trybów tekstowych w porównaniu z trybami graficznymi obejmują mniejsze zużycie pamięci i szybszą obsługę ekranu. W czasach, gdy terminale tekstowe zaczęły zastępować tele-drukarki w latach siedemdziesiątych XX wieku, niezwykle wysoki koszt pamięci o dostępie swobodnym w tamtym okresie sprawił, że zainstalowanie wystarczającej ilości pamięci, aby komputer mógł jednocześnie przechowywać bieżącą wartość każdego piksela na ekranie, sprawiło, że było to niezwykle kosztowne. tworzą coś, co teraz nazwanoby buforem ramki . Wczesne bufory ramki były samodzielnymi urządzeniami, które kosztowały tysiące dolarów, poza kosztem zaawansowanych wyświetlaczy o wysokiej rozdzielczości, do których były podłączone. W przypadku aplikacji, które wymagały prostej grafiki liniowej, ale dla których koszt bufora ramki nie mógł być uzasadniony, popularnym obejściem były wyświetlanie wektorowe . Było jednak wiele aplikacji komputerowych (np. Wprowadzanie danych do bazy danych), dla których potrzebna była tylko możliwość renderowania zwykłego tekstu w szybki i ekonomiczny sposób na lampę elektronopromieniową .

Tryb tekstowy pozwala uniknąć problemu kosztownej pamięci, ponieważ dedykowany sprzęt wyświetlający ponownie renderuje każdą linię tekstu ze znaków na piksele przy każdym skanowaniu ekranu przez promień katodowy. Z kolei sprzęt wyświetlający potrzebuje tylko wystarczającej ilości pamięci, aby przechowywać piksele odpowiadające jednej linii tekstu (lub nawet mniej) naraz. W ten sposób bufor ekranu komputera przechowuje tylko podstawowe znaki tekstowe i wie o nich (stąd nazwa „tryb tekstowy”), a jedyną lokalizacją, w której rzeczywiste piksele reprezentujące te znaki istnieją jako pojedynczy ujednolicony obraz, jest sam ekran, widziany przez użytkownika (dzięki zjawisku utrzymywania się wzroku ).

Na przykład bufor ekranu wystarczający do przechowywania standardowej siatki o wymiarach 80 na 25 znaków wymaga co najmniej 2000 bajtów. Zakładając monochromatyczny wyświetlacz , 8 bitów na bajt i standardowy rozmiar 8 razy 8 bitów na każdy znak, bufor ramki wystarczająco duży, aby pomieścić każdy piksel na wynikowym ekranie, wymagałby co najmniej 128 000 bitów, 16 000 bajtów lub nieco poniżej 16 kilobajtów . Według standardów współczesnych komputerów może się to wydawać trywialnymi ilościami pamięci, ale aby umieścić je w kontekście, oryginalny Apple II został wydany w 1977 roku z zaledwie czterema kilobajtami pamięci i ceną 1300 USD w USD (w czasie, gdy płaca minimalna w Stanach Zjednoczonych było tylko 2,30 $ za godzinę). Ponadto z biznesowego punktu widzenia uzasadnienie biznesowe dotyczące terminali tekstowych nie miało sensu, chyba że można je było wyprodukować i eksploatować taniej niż głodne papieru drukarki, które miały zastąpić.

Kolejną zaletą trybu tekstowego jest to, że ma on stosunkowo niskie wymagania dotyczące przepustowości przy korzystaniu z terminala zdalnego. W związku z tym zdalny terminal w trybie tekstowym może koniecznie aktualizować ekran znacznie szybciej niż zdalny terminal w trybie graficznym połączony z tą samą przepustowością (iz kolei będzie wydawał się bardziej responsywny), ponieważ zdalny serwer może potrzebować tylko przesłania kilkudziesięciu bajtów dla każdej aktualizacji ekranu w trybie tekstowym, w przeciwieństwie do złożonych zdalnych procedur grafiki rastrowej , które mogą wymagać transmisji i renderowania całych map bitowych .

Znaki zdefiniowane przez użytkownika

Norton Utilities 6.01, przykład zaawansowanego TUI, który na nowo definiuje zestaw znaków, aby wyświetlać małe graficzne widżety , ikony i wskaźnik strzałki w trybie tekstowym.

Granica między trybem tekstowym a programami graficznymi może być czasami niewyraźna, szczególnie na sprzęcie VGA komputera PC , ponieważ wiele późniejszych programów trybu tekstowego próbowało doprowadzić model do skrajności, grając z kontrolerem wideo . Na przykład przedefiniowali zestaw znaków, aby tworzyć niestandardowe znaki półgraficzne, a nawet stworzyli wygląd graficznego wskaźnika myszy, zmieniając wygląd znaków, nad którymi w danym momencie był wyświetlany wskaźnik myszy.

Renderowanie w trybie tekstowym ze znakami zdefiniowanymi przez użytkownika jest również przydatne w przypadku gier komputerowych 2D i gier wideo, ponieważ ekranem gry można manipulować znacznie szybciej niż w przypadku renderowania zorientowanego na piksele.

Podstawa techniczna

Kontroler wideo realizuje tryb tekstowy zwykle wykorzystuje dwa odrębne obszary pamięci . Pamięć postaci lub Tabela wzór zawiera czcionki rastrowego podczas użytkowania, w którym każdy znak jest reprezentowanych przez matrycę kropek (A matrycy z bity ), dzięki czemu postać pamięci może być traktowana jako trójwymiarowy tablica bitów . Matrycą (a buforze tekstu , bufor ekran lub nametable ) torach postaci w każdej komórce. W prostym przypadku matryca wyświetlacza może być po prostu macierzą punktów kodowych (tak zwana tablica wskaźników znaków ), ale zwykle dla każdej pozycji znaku przechowuje nie tylko kod, ale także atrybuty .

L \ C 0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
1
1
0
0
1
0
0
0
0
1
0
1
0
0
1
1
0
0
0
1
1
1
00000000
11111111
00001111
00110011
01010101
11…
00…
00…
00…
01…
00000          
00001        
00010    
00011    
00100    
00101            
00110        
00111                
01000
01001
………
Schemat generatora znaków.svg
Próbka skrzynki znakowej i odpowiadający jej schemat elektroniczny. Glif ma wymiary 8 × 8 pikseli, z 3-bitowymi dolnymi częściami linii skanowania i licznikiem punktów. Ekran ma komórki o wymiarach od 20 × 18 do 32 × 32 znaków, z 5-bitowymi indeksami.

W przypadku wyjścia skanowania rastrowego , które jest najczęściej spotykane w monitorach komputerowych, odpowiedni sygnał wideo jest wytwarzany przez generator znaków , specjalną jednostkę elektroniczną, podobną do urządzeń o tej samej nazwie używanej w technologii wideo . Kontroler wideo ma dwa rejestry : licznik linii skanowania i licznik punktów, które służą jako współrzędne w matrycy punktowej ekranu. Każdy z nich musi zostać podzielony przez odpowiedni rozmiar glifu, aby uzyskać indeks w matrycy wyświetlania; reszta jest indeksem w matrycy nadlewek. Jeśli rozmiar glifu jest równy 2 n , to można po prostu użyć n niskich bitów rejestru binarnego jako indeksu w macierzy glifów, a pozostałych bitów jako indeksu w macierzy wyświetlania - patrz schemat.

W niektórych systemach pamięć znaków znajduje się w pamięci tylko do odczytu . Inne systemy pozwalają na użycie pamięci RAM do tego celu, co umożliwia przedefiniowanie kroju pisma, a nawet zestawu znaków do celów specyficznych dla aplikacji. Użycie znaków opartych na pamięci RAM ułatwia również niektóre specjalne techniki, takie jak implementacja bufora ramki pikseli-grafiki poprzez rezerwowanie niektórych znaków dla mapy bitowej i zapisywanie pikseli bezpośrednio w odpowiadającej im pamięci znaków. W niektórych historycznych układach graficznych, w tym TMS9918 , MOS Technology VIC i sprzęcie graficznym Game Boy , był to w rzeczywistości kanoniczny sposób tworzenia grafiki pikselowej.

Tryby tekstowe często przypisują atrybuty wyświetlanym znakom. Na przykład terminal VT100 umożliwia podkreślenie, rozjaśnienie, miganie lub odwrócenie każdego znaku. Urządzenia obsługujące kolory zazwyczaj pozwalają na wybór koloru każdej postaci, a często także koloru tła z ograniczonej palety kolorów. Te atrybuty mogą współistnieć z indeksami znaków lub wykorzystywać inny obszar pamięci zwany pamięcią kolorów lub pamięcią atrybutów .

Niektóre implementacje trybu tekstowego mają również koncepcję atrybutów linii. Na przykład linia terminali tekstowych zgodna z VT100 obsługuje podwojenie szerokości i wysokości znaków w poszczególnych wierszach tekstu.

Typowe tryby tekstowe na PC

W zależności od używanej karty graficznej, różne tryby tekstowe są dostępne na komputerach kompatybilnych z IBM PC . Są one wymienione w poniższej tabeli:

Res. Tekst. Zwęglać. rozmiar Grafika res. Zabarwienie Adaptery
80 × 25 9 × 14 720 × 350 Tekst czarno-biały MDA , Hercules
40 × 25 8 × 8 320 × 200 16 kolorów CGA , EGA
80 × 25 8 × 8 640 × 200 16 kolorów CGA, EGA
80 × 25 8 × 14 640 × 350 16 kolorów EGA
80 × 43 8 × 8 640 × 350 16 kolorów EGA
80 × 25 9 × 16 720 × 400 16 kolorów VGA
80 × 30 8 × 16 640 × 480 16 kolorów VGA
80 × 50 9 × 8 720 × 400 16 kolorów VGA
80 × 60 16 kolorów Super VGA kompatybilny z VESA
132 × 25 16 kolorów Super VGA kompatybilny z VESA
132 × 43 16 kolorów Super VGA kompatybilny z VESA
132 × 50 16 kolorów Super VGA kompatybilny z VESA
132 × 60 16 kolorów Super VGA kompatybilny z VESA

Tekst MDA można uwydatnić za pomocą jasnych, podkreślonych, odwróconych i migających atrybutów.

Karty graficzne są ogólnie kompatybilne wstecz, tj. EGA obsługuje wszystkie tryby MDA i CGA, VGA obsługuje tryby MDA, CGA i EGA.

Zdecydowanie najpopularniejszym trybem tekstowym używanym w środowiskach DOS i początkowych konsolach Windows jest domyślny tryb 80 kolumn na 25 wierszy lub 80 × 25 z 16 kolorami. Ten tryb był dostępny na praktycznie wszystkich komputerach osobistych IBM i kompatybilnych. Kilka programów, takich jak emulatory terminali , używało tylko 80 × 24 dla głównego wyświetlacza i zarezerwowało dolny wiersz na pasek stanu .

Istnieją dwa inne tryby tekstowe VGA, 80 × 43 i 80 × 50, ale były bardzo rzadko używane. 40-kolumnowe tryby tekstowe nigdy nie były bardzo popularne poza grami i innymi aplikacjami przeznaczonymi do kompatybilności z monitorami telewizyjnymi i były używane tylko do celów demonstracyjnych lub na bardzo starym sprzęcie.

Rozmiary znaków i rozdzielczości graficzne dla rozszerzonych trybów tekstowych Super VGA zgodnych ze standardem VESA zależą od producenta. Również w tych kartach graficznych dostępne kolory mogą zostać zmniejszone o połowę z 16 do 8, gdy używany jest drugi niestandardowy zestaw znaków (co daje całkowity repertuar 512 - zamiast typowych 256 - różnych znaków graficznych wyświetlanych jednocześnie na ekranie).

Niektóre karty (np. S3 ) obsługiwały niestandardowe bardzo duże tryby tekstowe, takie jak 100 × 37 lub nawet 160 × 120. W systemach Linux program o nazwie SVGATextMode jest często używany z kartami SVGA do ustawiania bardzo dużych trybów tekstowych konsoli, na przykład do użytku z multiplekserami terminali z podzielonym ekranem .

Nowoczesne zastosowanie

Wiele nowoczesnych programów z interfejsem graficznym symuluje styl wyświetlania programów w trybie tekstowym, zwłaszcza gdy ważne jest zachowanie pionowego wyrównania tekstu, np. Podczas programowania komputerowego . Istnieją również komponenty oprogramowania do emulacji trybu tekstowego, takie jak emulatory terminali lub konsole wiersza poleceń . W systemie Microsoft Windows , konsoli Win32 zazwyczaj otwiera się w trybie graficznym odwzorowaniem, okna. Można go przełączyć na pełny ekran, tryb prawdziwego tekstu i odwrotnie, naciskając jednocześnie klawisze Alt i Enter . Nie jest to już obsługiwane przez sterowniki ekranu WDDM wprowadzone w systemie Windows Vista.

Konsola wirtualna Linux działa w trybie tekstowym. Większość dystrybucji Linuksa obsługuje kilka ekranów konsoli wirtualnej, do których można uzyskać dostęp, naciskając jednocześnie Ctrl , Alt i klawisz funkcyjny .

Biblioteka open source AAlib zawiera programy i procedury specjalizujące się w tłumaczeniu standardowych plików graficznych i wideo, takich jak PNG i WMV , oraz wyświetlaniu ich jako zbioru znaków ASCII . Umożliwia to podstawowe przeglądanie plików graficznych w systemach tekstowych i przeglądarkach internetowych w trybie tekstowym, takich jak Lynx .

Zobacz też

Bibliografia

Linki zewnętrzne

Dalsza lektura