include "/var/www/banner.php"; ?>



3.8 VT-52-Terminal
Die Ausgabefunktionen des GEMDOS bzw. BIOS können ein VT-52 Videoterminal
emulieren. Alle Steuersequenzen werden durch das ESC Zeichen des
ASCII-Codes eingeleitet, dem weitere Zeichen für die gewünschte Funktion
folgen. Deshalb spricht man auch von Escape-Sequenzen.
Zusätzlich stehen auch die Steuerzeichen des ASCII-Codes zur
Verfügung.
Der VT-52 Emulator stellt die folgenden Steuercodes zur Verfügung:
Hinweis: Programme die VT-52-Sequenzen für den
Bildschirmaufbau verwenden, sollten natürlich die gesamte verfügbare
Fläche nutzen. Da diese Fläche jedoch nicht mit GEMDOS, BIOS
oder XBIOS-Funktionen ermittelt werden kann gilt die folgende
Konvention:
Wenn die Environmentvariablen LINES (ROWS) und COLUMNS existieren,
enthalten sie die maximal mögliche Zeilen- bzw. Spaltenzahl.
Als Beispiel für die im folgenden vorgestellten Escape-Sequenzen
wird ein C Makro gezeigt. Da der Aufruf der Escape-Sequenzen in einer
Ausgabe der entsprechenden Zeichen besteht, sollte sich das C Beispiel
leicht auf andere Sprachen portieren lassen.
Querverweis: ASCII-Tabelle Scan-Code Tabelle
3.8.1 Bell
3.8.2 Blink_off
| Name: |
»Blink off« - Cursorblinken ausschalten. |
| Deklaration: |
#define Blink_off() Cursconf ( 3, 0 ) |
| Beschreibung: |
'Blink_off' ist ein Funktionen-Makro, mit der das Blinken des
Cursors ausgeschaltet werden kann. Hierzu wird die XBIOS-Funktion
Cursconf verwendet. |
| Querverweis: |
Escapesequenzen VT-52-Terminal
|
3.8.3 Blink_on
| Name: |
»Blink on« - Cursorblinken einschalten. |
| Deklaration: |
#define Blink_on() Cursconf ( 2, 0 ) |
| Beschreibung: |
'Blink_on' ist ein Funktionen-Makro, mit der das Blinken des
Cursors eingeschaltet werden kann. Hierzu wird die XBIOS-Funktion
Cursconf verwendet. |
| Querverweis: |
Escapesequenzen VT-52-Terminal
|
3.8.4 Clear_down
| Name: |
»Clear to end of screen« - Bildschirm ab Cursor löschen. |
| Deklaration: |
#define Clear_down() Cconws("\33J") |
| Beschreibung: |
Mit 'Clear to end of screen' kann der Bildschirm ab der
Cursorposition gelöscht werden. |
| Querverweis: |
Escapesequenzen VT-52-Terminal
|
3.8.5 Clear_eol
| Name: |
»Clear to end of line« - Aktuelle Zeile ab Cursor löschen. |
| Deklaration: |
#define Clear_eol() Cconws("\33K") |
| Beschreibung: |
Mit 'Clear to end of line' kann die aktuelle Zeile ab der
Cursorposition gelöscht werden. |
| Querverweis: |
Escapesequenzen VT-52-Terminal
|
3.8.6 Clear_home
| Name: |
»Clear screen« - Bildschirm löschen. |
| Deklaration: |
#define Clear_home() Cconws("\33E") |
| Beschreibung: |
Mit 'Clear screen' kann der gesamte Bildschirm gelöscht und der
TOS-Cursor in die obere linke Ecke des Bildschirms positioniert
werden. |
| Querverweis: |
Escapesequenzen VT-52-Terminal
|
3.8.7 Clear_line
| Name: |
»Clear line« - Aktuelle Zeile löschen. |
| Deklaration: |
#define Clear_line() Cconws("\33l") |
| Beschreibung: |
Mit 'Clear line' kann die aktuelle Zeile gelöscht werden. Die
nachfolgenden Zeilen werden nicht nachgeschoben. Der Cursor wird zum
Anfang der Zeile gesetzt. |
| Querverweis: |
Escapesequenzen VT-52-Terminal
|
3.8.8 Clear_sol
| Name: |
»Clear to start of line« - Aktuelle Zeile ab Cursor löschen. |
| Deklaration: |
#define Clear_sol() Cconws("\33o") |
| Beschreibung: |
Mit 'Clear to start of line' kann die aktuelle Zeile bis zur
Cursorposition gelöscht werden kann. |
| Querverweis: |
Escapesequenzen VT-52-Terminal
|
3.8.9 Clear_up
| Name: |
»Clear to start of screen« - Bildschirm bis Cursor löschen. |
| Deklaration: |
#define Clear_up() Cconws("\33d") |
| Beschreibung: |
Mit 'Clear to start of screen' kann der Bildschirm bis zur
Cursorposition gelöscht werden. |
| Querverweis: |
Escapesequenzen VT-52-Terminal
|
3.8.10 Cur_down
| Name: |
»Cursor down« - Cursor eine Zeile nach unten. |
| Deklaration: |
#define Cur_down() Cconws("\33B") |
| Beschreibung: |
Mit 'Cursor down' kann der TOS-cursor um eine Zeile nach unten
positioniert werden. Befindet sich der Cursor bereits in der untersten
Zeile, passiert nichts. |
| Querverweis: |
Escapesequenzen VT-52-Terminal
|
3.8.11 Cur_home
| Name: |
»Cursor home« - Cursor in die obere linke Ecke. |
| Deklaration: |
#define Cur_home() Cconws("\33H") |
| Beschreibung: |
Mit 'Cursor home' kann der TOS-cursor in die obere linke Ecke
des Bildschirms positioniert werden. |
| Querverweis: |
Escapesequenzen VT-52-Terminal
|
3.8.12 Cur_left
| Name: |
»Cursor left« - Cursor eine Spalte nach links. |
| Deklaration: |
#define Cur_left() Cconws("\33D") |
| Beschreibung: |
Mit 'Cursor left' kann der TOS-cursor um eine Spalte nach links
positioniert werden. Befindet sich der Cursor bereits in der ganz
linken Spalte, passiert nichts. |
| Querverweis: |
Escapesequenzen VT-52-Terminal
|
3.8.13 Cur_off
| Name: |
»Hide cursor« - Cursor ausschalten. |
| Deklaration: |
#define Cur_off() Cursconf ( 0, 0 ) |
| Beschreibung: |
'Cur_off' ist ein Funktionen-Makro, mit der der Cursor
ausgeschaltet werden kann. Hierzu wird die XBIOS-Funktion Cursconf
verwendet. |
| Querverweis: |
Escapesequenzen VT-52-Terminal
|
3.8.14 Cur_on
| Name: |
»Show cursor« - Cursor einschalten. |
| Deklaration: |
#define Cur_on() Cursconf ( 1, 0 ) |
| Beschreibung: |
'Cur_on' ist ein Funktionen-Makro, mit der der Cursor
eingeschaltet werden kann. Hierzu wird die XBIOS-Funktion Cursconf
verwendet. |
| Querverweis: |
Escapesequenzen VT-52-Terminal
|
3.8.15 Cur_right
| Name: |
»Cursor right« - Cursor eine Spalte nach rechts. |
| Deklaration: |
#define Cur_right() Cconws("\33C") |
| Beschreibung: |
Mit 'Cursor right' kann der TOS-cursor um eine Spalte nach
rechts positioniert werden. Befindet sich der Cursor bereits in der
ganz rechten Spalte, passiert nichts. |
| Querverweis: |
Escapesequenzen VT-52-Terminal
|
3.8.16 Cur_up
| Name: |
»Cursor up« - Cursor eine Zeile nach oben. |
| Deklaration: |
#define Cur_up() Cconws("\33A") |
| Beschreibung: |
Mit 'Cursor up' kann der TOS-cursor um eine Zeile nach oben
positioniert werden. Befindet sich der Cursor bereits in der obersten
Zeile, passiert nichts. |
| Querverweis: |
Escapesequenzen VT-52-Terminal
|
3.8.17 Del_line
| Name: |
»Delete line« - Zeile entfernen. |
| Deklaration: |
#define Del_line() Cconws("\33M") |
| Beschreibung: |
Mit 'Delete line' kann die aktuelle Zeile gelöscht werden. Die
nachfolgenen Zeilen werden nachgeschoben, der Cursor wird an den
Anfang der Zeile gesetzt. |
| Querverweis: |
Escapesequenzen VT-52-Terminal
|
3.8.18 Escapesequenzen
| C-Sequenz |
Wert |
Zeichen |
Wirkung |
| \a |
0x07 |
BEL |
Bell (Systemglocke) |
| \b |
0x08 |
BS |
Backspace |
| \f |
0x0C |
FF |
Formfeed (Seitenvorschub) |
| \n |
0x0A |
LF |
Linefeed (Newline) |
| \r |
0x0D |
CR |
Carriage return (Wagenrücklauf) |
| \t |
0x09 |
HT |
Tabulator (horizontal) |
| \v |
0x0B |
VT |
Tabulator (vertikal) |
Querverweis: VT-52-Terminal GEMDOS BIOS XBIOS
3.8.19 Get_blink
| Name: |
»Get blink rate« - Cursorblinkfrequenz abfragen. |
| Deklaration: |
#define Get_blink() Cursconf ( 5, 0 ) |
| Beschreibung: |
'Get_blink' ist ein Funktionen-Makro, mit der die Frequenz des
Cursorblinkens abgefragt werden kann. Hierzu wird die XBIOS-Funktion
Cursconf verwendet. |
| Querverweis: |
Escapesequenzen VT-52-Terminal
|
3.8.20 Goto_pos
| Name: |
»Set cursor position« - Cursor positionieren. |
| Deklaration: |
#define Goto_pos(x,y) (Cconws("\33Y"),Cconout(' '+x),Cconout('
'+y)) |
| Beschreibung: |
Mit 'Set cursor position' kann der Cursor an x-te Zeile und
y-te Spalte positioniert werden. Beachten Sie bitte, daß die Zählung
bei 32 beginnt. Deshalb wurde in obigem Makro 32 (Leerzeichen)
addiert, um bei der Verwendung des Makros mit 0 zählen zu können. |
| Querverweis: |
Escapesequenzen VT-52-Terminal
|
3.8.21 Ink
| Name: |
»Foreground color« - Textfarbe setzen. |
| Deklaration: |
#define Ink(c) (Cconws("\33b"),Cconout(c)) |
| Beschreibung: |
Mit 'Foreground color' kann die Textfarbe gesetzt werden kann.
Die Anzahl der verfügbaren Farben ist auflösungsabhängig. |
| Querverweis: |
Escapesequenzen VT-52-Terminal
|
3.8.22 Ins_line
| Name: |
»Insert line« - Zeile einfügen. |
| Deklaration: |
#define Ins_line() Cconws("\33L") |
| Beschreibung: |
Mit 'Insert line' kann eine neue Zeile an der Cursorposition
eingefügt werden. Der Cursor wird an den Anfang der neuen Zeile
gesetzt. |
| Querverweis: |
Escapesequenzen VT-52-Terminal
|
3.8.23 Line_feed
| Name: |
»Line feed« - Zeilenvorschub |
| Deklaration: |
#define Line_feed() Cconout('\n') |
| Beschreibung: |
'Line feed' setzt den Cursor in die nächste Zeile
(Zeilenvorschub). |
| Querverweis: |
Escapesequenzen VT-52-Terminal
|
3.8.24 Load_pos
| Name: |
»Restore cursor position« - Cursor restaurieren. |
| Deklaration: |
#define Load_pos() Cconws("\33k") |
| Beschreibung: |
Mit 'Restore cursor position' kann der Cursor wieder an die
Stelle positioniert werden, die vorher mit 'Save cursor position'
"gemerkt" wurde. |
| Querverweis: |
Escapesequenzen VT-52-Terminal Save_pos
|
3.8.25 Paper
| Name: |
»Background color« - Hintergrundfarbe setzen. |
| Deklaration: |
#define Paper(c) (Cconws("\33c"),Cconout(c)) |
| Beschreibung: |
Mit 'Background color' kann die Hintergrundfarbe gesetzt
werden. Die Anzahl der verfügbaren Farben ist auflösungsabhängig. |
| Querverweis: |
Escapesequenzen VT-52-Terminal
|
3.8.26 Return
| Name: |
»Carriage Return« - Cursor zum Anfang der Zeile. |
| Deklaration: |
#define Return() Cconout('\r') |
| Beschreibung: |
'Return' setzt den Cursor an den Anfang der aktuellen Zeile. |
| Querverweis: |
Escapesequenzen VT-52-Terminal
|
3.8.27 Rev_off
| Name: |
»Normal video« - Reverse Schrift ausschalten. |
| Deklaration: |
#define Rev_off() Cconws("\33q") |
| Beschreibung: |
Mit 'Normal video' kann die reverse Schrift (Reverse video)
wieder ausgeschaltet werden. |
| Querverweis: |
Escapesequenzen VT-52-Terminal Rev_on
|
3.8.28 Rev_on
| Name: |
»Reverse video« - Reverse Schrift einschalten. |
| Deklaration: |
#define Rev_on() Cconws("\33p") |
| Beschreibung: |
Mit 'Reverse video' kann die reverse Schrift (Hintergrund- und
Textfarbe vertauscht) eingeschaltet werden. Dieser Modus kann mit
'Normal video' wieder ausgeschaltet weden. |
| Querverweis: |
Escapesequenzen VT-52-Terminal Rev_off
|
3.8.29 Save_pos
| Name: |
»Save cursor position« - Cursor "merken". |
| Deklaration: |
#define Save_pos() Cconws("\33j") |
| Beschreibung: |
Mit 'Save cursor' position kann die aktuelle Cursorposition in
einen internen Puffer gespeichert wird. Die gespeicherte
Cursorposition kann später mit Restore cursor position restauriert
werden. |
| Querverweis: |
Escapesequenzen VT-52-Terminal Load_pos
|
3.8.30 Scroll_up
| Name: |
»Cursor up and insert« - Cursor eine Zeile nach oben und
scrollen. |
| Deklaration: |
#define Scroll_up() Cconws("\33I") |
| Beschreibung: |
Mit 'Cursor up' and insert kann der TOS-cursor um eine Zeile
nach oben positioniert werden. Befindet sich der Cursor bereits in der
obersten Zeile, wird der Bildschirminhalt um eine Zeile nach unten
gescrollt und eine Leerzeile eingefügt. |
| Querverweis: |
Escapesequenzen VT-52-Terminal
|
3.8.31 Set_blink
| Name: |
»Set blink rate« - Cursorblinkfrequenz einstellen. |
| Deklaration: |
#define Set_blink( rate ) Cursconf ( 4, rate ) |
| Beschreibung: |
'Set_blink' ist ein Funktionen-Makro, mit der die Frequenz des
Cursorblinkens eingestellt werden kann. Hierzu wird die XBIOS-Funktion
Cursconf verwendet. |
| Querverweis: |
Escapesequenzen VT-52-Terminal
|
3.8.32 Tab
| Name: |
»Tabulator« - Cursor zur nächsten Tabulatorposition. |
| Deklaration: |
#define Tab() Cconout('\t') |
| Beschreibung: |
'Tab' setzt den Cursor an die nächste Tabulatorposition. |
| Querverweis: |
Escapesequenzen VT-52-Terminal
|
3.8.33 Wrap_off
| Name: |
»Wrap off« - Zeilenumbruch ausschalten. |
| Deklaration: |
#define Wrap_off() Cconws("\33w") |
| Beschreibung: |
Mit 'Wrap off' kann der Zeilenumbruch (Wrap on) ausgeschaltet
werden. |
| Querverweis: |
Escapesequenzen VT-52-Terminal Wrap_on
|
3.8.34 Wrap_on
| Name: |
»Wrap on« - Zeilenumbruch einschalten. |
| Deklaration: |
#define Wrap_on() Cconws("\33v") |
| Beschreibung: |
Mit 'Wrap on' kann der Zeilenumbruch eingeschaltet werden. Dies
bewirkt, daß bei Erreichen des Endes einer Zeile automatisch zum
Anfang der nächsten Zeile gesprungen wird. |
| Querverweis: |
Escapesequenzen VT-52-Terminal Wrap_off
|


