 
 BIOS
BIOS
 Cookie-Jar
Cookie-Jar
 XBRA-Verfahren
XBRA-Verfahren
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:
Die VT52 Emulation von TosWin2 unterstützt ausserdem folgende
Steuercodes:
  | Code | Name | Bedeutung | 
  | ESC 3 <c> | ANSI foreground color | ANSI Vordergrundfarbe setzen. | 
  | ESC 4 <c> | ANSI background color | ANSI Hintergrundfarbe setzen. | 
  | ESC F | Enter graphics mode | Alternativen Zeichensatz benutzen. | 
  | ESC G | Exit graphics mode | Normalen Zeichensatz benutzen. | 
  | ESC R <cols,rows> CR | Set window size | Fenstergröße setzen. | 
  | ESC S <s> CR | Set title bar | Fenstertitel setzen. | 
  | ESC Z | Identify | Antwortet mit ESC / Z | 
  | ESC a | Delete character | Zeichen unter Cursor löschen. | 
  | ESC h | Enter insert mode | Einfügemodus starten. | 
  | ESC i | Exit insert mode | Einfügemodus beenden. | 
  | ESC u | Original colors | Originalfarben wieder herstellen. | 
  | ESC y <c> | Set text effects | Text-Effekte setzen. | 
  | ESC z <c> | Clear text effects | Text-Effekte löschen. | 
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
| 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 
 | 
| 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 
 | 
| 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 
 | 
| 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 
 | 
| 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 
 | 
| 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 
 | 
| 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 
 | 
| 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 
 | 
| 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 
 | 
| 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 
 | 
| 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 
 | 
| 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 
 | 
| 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 
 | 
| 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 
 | 
| 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 
 | 
| 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 
 | 
  | 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
| 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 
 | 
| 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 
 | 
| 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 
 | 
| 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 
 | 
| 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 
 | 
| 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 
 | 
| 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 
 | 
| 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 
 | 
| 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 
 | 
| 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 
 | 
| 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 
 | 
| 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 
 | 
| 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 
 | 
| 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 
 | 
| 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 
 | 
| 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 
 | 
 
 BIOS
BIOS
 Cookie-Jar
Cookie-Jar
 XBRA-Verfahren
XBRA-Verfahren