Terminál DEC VT100 (uvedený na trh v roce 1978) se stal průmyslovým standardem pro textovou komunikaci. Namísto přímého zápisu do videopaměti (framebufferu) komunikuje počítač s terminálem výhradně pomocí proudu znaků po sériové lince.
Pokud terminál obdrží běžný ASCII znak (např. litera ‘A’, kód 65),
vykreslí ho na aktuální pozici kurzoru. Pokud však obdrží speciální
Escape znak (ASCII 27 / 0x1B / CHR$(27)), přepne se do režimu
zpracování příkazu.
ESC + [ + [Parametry] + Příkazový znak
Sekvence začínající dvojicí ESC [ se označují jako CSI (Control
Sequence Introducer). Většina příkazů má formát
ESC [ číslo1 ; číslo2 ... příkaz.
Kompletní Přehled VT100 / ANSI Escape Sekvencí
Při práci s terminálem (např. v nástroji tio, PuTTY nebo na fyzickém
terminálu) můžete využít širokou škálu příkazů:
Řízení Kurzoru
| Escape Sekvence | Zkrácený Kód | Popis Funkce |
ESC [ H | CUP | Posun na pozici [1,1] (Home) |
ESC [ Y ; X H | CUP | Posun kurzoru na řádek Y a sloupec X |
ESC [ Y ; X f | HVP | Ekvivalentní příkaz k H |
ESC [ N A | CUU | Posun kurzoru o N řádků NAHORU |
ESC [ N B | CUD | Posun kurzoru o N řádků DOLŮ |
ESC [ N C | CUF | Posun kurzoru o N sloupců DOPRAVA |
ESC [ N D | CUB | Posun kurzoru o N sloupců DOLEVA |
ESC [ ? 25 l | DECTCEM | Skryje blikající kurzor |
ESC [ ? 25 h | DECTCEM | Zobrazí kurzor |
ESC 7 nebo ESC [ s | DECSC | Uloží aktuální pozici kurzoru |
ESC 8 nebo ESC [ u | DECRC | Obnoví uloženou pozici kurzoru |
Mazání Obrazovky a Řádků
| Escape Sekvence | Zkrácený Kód | Popis Funkce |
ESC [ 2 J | ED2 | Smaže celou obrazovku |
ESC [ 0 J (nebo ESC [ J) | ED0 | Smaže obrazovku od kurzoru do konce |
ESC [ 1 J | ED1 | Smaže obrazovku od začátku do kurzoru |
ESC [ 2 K | EL2 | Smaže celý aktuální řádek |
ESC [ 0 K (nebo ESC [ K) | EL0 | Smaže řádek od kurzoru do konce |
ESC [ 1 K | EL1 | Smaže řádek od začátku do kurzoru |
Formátování Textu a Barvy (SGR - Select Graphic Rendition)
Atributy textu se nastavují pomocí ESC [ N m. Více parametrů lze
řetězit pomocí středníku (např. ESC [ 1;31;40m nastaví tučný červený
text na černém pozadí).
| Kód N | Kategorie | Význam / Účinek |
0 | Reset | Vypne všechny atributy a barvy (návrat k výchozímu) |
1 | Styl | Tučné písmo (Bold / Zvýšená intenzita) |
4 | Styl | Podtržené písmo (Underline) |
5 | Styl | Blikání (Blink) |
7 | Styl | Inverzní zobrazení (Invertuje pozadí a popředí) |
30 - 37 | Barva popředí | Černá (30), Červená (31), Zelená (32), Žlutá (33), Modrá (34), Fialová (35), Azurová (36), Bílá (37) |
40 - 47 | Barva pozadí | Černá (40), Červená (41), Zelená (42), Žlutá (43), Modrá (44), Fialová (45), Azurová (46), Bílá (47) |
90 - 97 | Jasné popředí | Jasné varianty základních barev (ANSI rozšíření) |
Pokročilé Řízení Terminálu
Nastavení oblasti rolování (Scroll Region):
ESC [ top ; bottom r– Omezí rolování textu pouze na zadané řádky.Měkký reset terminálu:
ESC ! p– Obnoví výchozí stav nastavení.Dotaz na pozici kurzoru:
ESC [ 6 n– Terminál odpoví do sériové linky sekvencíESC [ Y ; X R.
Ukázky Použití
Ehanced BASIC (68k-MBC) | Jazyk C (CP/M-68K / GCC) |