diff options
Diffstat (limited to 'system/ruc-terminal/unknown')
| -rw-r--r-- | system/ruc-terminal/unknown/doc/BIOSINT.PRT | 281 | ||||
| -rw-r--r-- | system/ruc-terminal/unknown/doc/MACROS.PRT | 54 | ||||
| -rw-r--r-- | system/ruc-terminal/unknown/doc/TDOC.PRT | 3012 | ||||
| -rw-r--r-- | system/ruc-terminal/unknown/doc/TDOCP.PRT | 4008 | ||||
| -rw-r--r-- | system/ruc-terminal/unknown/doc/TINHALT.PRT | 120 | ||||
| -rw-r--r-- | system/ruc-terminal/unknown/doc/TINHALTP.PRT | 157 | ||||
| -rw-r--r-- | system/ruc-terminal/unknown/doc/TSTICHP.PRT | 211 | ||||
| -rw-r--r-- | system/ruc-terminal/unknown/doc/TSTICHWO.PRT | 161 | ||||
| -rw-r--r-- | system/ruc-terminal/unknown/doc/TTAB.PRT | 510 | ||||
| -rw-r--r-- | system/ruc-terminal/unknown/doc/TTABP.PRT | 666 | ||||
| -rw-r--r-- | system/ruc-terminal/unknown/src/SCCPARAM.ELA | 144 | ||||
| -rw-r--r-- | system/ruc-terminal/unknown/src/SETUP.ELA | 257 | ||||
| -rw-r--r-- | system/ruc-terminal/unknown/src/Terminal108(ascii) | 121 | ||||
| -rw-r--r-- | system/ruc-terminal/unknown/src/Terminal108(deutsch) | 122 | ||||
| -rw-r--r-- | system/ruc-terminal/unknown/src/ructerm.apl-german | 125 | ||||
| -rw-r--r-- | system/ruc-terminal/unknown/src/ructerm.ascii | 94 | 
16 files changed, 10043 insertions, 0 deletions
| diff --git a/system/ruc-terminal/unknown/doc/BIOSINT.PRT b/system/ruc-terminal/unknown/doc/BIOSINT.PRT new file mode 100644 index 0000000..26bde5a --- /dev/null +++ b/system/ruc-terminal/unknown/doc/BIOSINT.PRT @@ -0,0 +1,281 @@ +#type ("17.klein")# 
 +Interrupts/Traps/Exeptions (Bios)                                 29.04.87
 + 
 +Interrupt: IRQn (Durch Hardware ausgelöst, werden auf Traps umgelenkt) 
 +Trap     : INTn (Durch Software ausgelöst) 
 +Exeption : INTn (Im Protected Mode vom Prozessor ausgelöst) 
 + 
 +Traps   | Funktion 
 +--------+------------------------------------------------------------------ 
 +INT 00H : Abort Program
 +INT 01H : 
 +INT 02H : NMI-Routine (Parity-Check & Power-Fail & Redirected from INT 75H) 
 +INT 03H : INT3 - Break
 +INT 04H : INTO - Overflow
 +INT 05H : Print Screen 
 +INT 06H : 
 +INT 07H : 
 +INT 08H : IRQ0 System Interrupt 
 +INT 09H : IRQ1 Keyboard Buffer full
 +INT 0AH : Software redirected from IRQ9 
 +INT 0BH : IRQ3 Serial Port 2 
 +INT 0CH : IRQ4 Serial Port 1 
 +INT 0DH : IRQ5 Parallel Port 2 
 +INT 0EH : IRQ6 Diskette Interrupt 
 +INT 0FH : IRQ7 Parallel Port 1 
 + 
 +INT 10H : Video Trap 
 +  ah = 00H : set mode (al = mode) 
 +             (Videoram: Herkules: B0000 
 +                        EGA     : B8000)
 +             al | Tx/Gr| Pixel | Zeichen | Monitor | Farbe | Seiten 
 +             ---+------+-------+---------+---------+-------+-------- 
 +             00 | Text |640x200| 40 x 25 | Mono/Col| 16/64*|   8 
 +             01 | Text |640x200| 40 x 25 | Color   | 16/64*|   8 
 +             02 | Text |640x200| 80 x 25 | Mono/Col| 16/64*|   8 
 +             03 | Text |640x200| 80 x 25 | Color   | 16/64*|   8 
 +             04 | Graf |320x200| 40 x 25 | Mono/Col|   4   |   1 
 +             05 | Graf |320x200| 40 x 25 | Mono/Col|   4   |   1 
 +             06 | Graf |640x200| 80 x 25 | Mono/Col|   2   |   1 
 +             07 | Text |720x348| 80 x 25 | Mono    |   4   |   8 
 +             08 | Graf |720x348| 90 x 48 | Mono    |   2   |   1
 +       --------- ab hier nicht implementiert, nur EGA ------------------ 
 +             VideoRAM-Adresse A0000
 +             0D | Graf |320x200| 40 x 25 | Color   |  16   |   8 
 +             0E | Graf |640x350| 80 x 25 | Color   |  16   |   4 
 +             0F | Graf |640x350| 80 x 25 | Mono    |   4   |   2 
 +             10 | Graf |640x350| 80 x 25 | Enhanced| 16/64*|   2 
 +                                                           * mit EGA-Monitor 
 +  ah = 01H : set cursor type (Eingang: CH, CL Werte 0..31) 
 +             CH=Startzeile des Cursorblocks, CL=Endzeile des Cursorblocks 
 +  ah = 02H : set cursor pos (BH = Page, DL = Spalte, DH = Zeile)
 +  ah = 03H : read cursor 
 +             Ausgang: BH=Page, DL=Spalte, DH=Zeile, CL=Starzeile des 
 +                      Cursorblocks, CH=Endzeile des Cursorblocks
 +  ah = 04H : read lightpen 
 +             Ausgang: AH=1 : Register sind gültig, AH=0: Taste nicht gedrückt
 +                      DH = Zeile, DL = Spalte des Lightpens
 +                      CH=Rasterlinie (1..199), CX=Rasterlinie (1..349) 
 +                      BX = Rasterspalte (1..319/1..639) 
 +  ah = 05H : set actual display (AL = Neue Seite)
 +  ah = 06H : scroll up 
 +             AL = 0: Fenster löschen, sonst Anzahl Zeilen zu scrollen 
 +             CH, CL = linke obere Ecke des Scroll-Windows 
 +             DH, DL = rechte untere Ecke des Scroll-Windows 
 +             BH = Attribut fuer die Leerzeilen 
 +  ah = 07H : scroll down 
 +             AL = 0: Fenster löschen, sonst Anzahl Zeilen zu scrollen 
 +             CH, CL = linke obere Ecke des Scroll-Windows 
 +             DH, DL = rechte untere Ecke des Scroll-Windows 
 +             BH = Attribut fuer die Leerzeilen 
 +  ah = 08H : read current attribute and char
 +             Ausgang: BH=Anzeigeseite, AL=Zeichen, AH=Attribut (nur Alpha) 
 +  ah = 09H : write current attribute and char 
 +             BH=Anzeigeseite, CX=Anzahl Zeichen, AL=Zeichen, BL=Attribut/Farbe
 +  ah = 0AH : write current attribute and char 
 +             BH=Anzeigeseite, CX=Anzahl Zeichen, AL=Zeichen 
 +  ah = 0BH : set color (BH=Palettenfarbe 0..127, BH=Farbwert) 
 +  ah = 0CH : write dot 
 +             BH=Seite, DX=Zeile, CX=Spalte, AL=Farbwert (falls Bit 7=1, wird
 +             alte Farbe mit neuer Farbe geXORed)
 +  ah = 0DH : read dot (BH=Seite, DX=Zeile, CX=Spalte, AL=Punktfarbwert)
 +  ah = 0EH : write tty (Zeichen schreiben, AL=Zeichen, BL=Farbe) 
 +  ah = 0FH : video state (Ausgang: AL=Video-Mode (0..8), AH=Anzahl
 +                                   Zeichenspalten, BH=Seite)
 +  ah = 10H : reserved (EGA-Bios: Write Palette/Overscan/Intensity/Flash) 
 +  ax = 1142H: draw line (EGA-Bios: 12 Routinen für den Charactergenerator) 
 +             CX=X-pos-from, DX= Y-pos-from, BP=X-pos-to, DI=Y-pos-to
 +  ah = 12H : reserved (EGA-Bios: Alternate Characterset) 
 +  ah = 13H : write string
 +             Allgemein: 
 +               ES:BP = Stringanfang 
 +               CX = Stringlänge
 +               DL, DH = Cursorposition (Stringanfang) 
 +               BH = Seite 
 +       al = 0: BL=Attribut, String: CHAR, CHAR, CHAR,...,Cursor wird nicht 
 +               bewegt.
 +       al = 1: BL=Attribut, String: CHAR, CHAR, CHAR,..., Cursor wird bewegt.
 +       al = 2: String: CHAR, ATTR, CHAR, ATTR,..., Cursor wird nicht bewegt. 
 +       al = 3: String: CHAR, ATTR, CHAR, ATTR,..., Cursor wird bewegt. 
 + 
 +INT 11H : Equipment Trap (Ausgang: AX = Equipment Flag) 
 +          AX : 
 +             Bit 1 : 80287 installiert
 +             Bit 3 : Herkules installiert
 +             Bit 4/5   : 0 = No Primary Display set 
 +                         1 = Monochrome 
 +                         2 = Color 80 * 25 
 +                         3 = EGA
 +             Bit 6     : Drive B installiert
 +             Bit 9..12 : Anzahl RS232
 +             Bit 14/15 : Anzahl Printer
 + 
 +INT 12H : Memory Size Trap (Ausgang: AX = Memorysize in KB) 
 + 
 +INT 13H : Hardisk Trap 
 +          Allgemein: 
 +          DL = Drive (0, 1...) 
 +          AL = Sector count 
 +          CX = Bit 0... Bit 5 = Sector 
 +               Bit 6... Bit 15 = Cylinder 
 +          Exit: AH = 0 ok, <> 0 Fehler (z.b. in hf_error nachsehen) 
 +  ah = 0 reset diskette, wd1010, hdisks 
 +  ah = 1 return status 
 +  ah = 2 read 
 +  ah = 3 write 
 +  ah = 4 verify 
 +  ah = 5 format 
 +  ah = 8 drive params 
 +  ah = 9 init drive 
 +  ah = A read long 
 +  ah = B write long 
 +  ah = C seek 
 +  ah = D reset wd1010 (DL = Drive) 
 +  ah =10 ready test
 +  ah =11 reclibrate 
 +  ah =14 check controller  
 +  ah =15 read dasd (stacktop 2 words: anzahl sektoren der platte) 
 + 
 +INT 14H : RS232C Trap 
 +  Allgemein: dx = port (>= 1FE0H : SCC = 8530) 
 +  ah = 0 : Init
 +           al : Bit 5..7 = Baudrate 
 +                    000 = 110,
 +                    001 = 150, 
 +                    010 = 300, 
 +                    011 = 600, 
 +                    100 = 1200, 
 +                    101 = 2400, 
 +                    110 = 4800, 
 +                    111 = 9600, 
 +                Bit 3..4 = Parity    (no, odd, even) 
 +                Bit 2    = Stopbits  (1, 2)
 +                Bit 0..1 = Datenbits (5, 6, 7, 8)
 +  ah = 1 : Send (al = Zeichen, Ausgang: ah=80H Timeout, Zeichen dann in al) 
 +  ah = 2 : Read (Ausgang: ah=80H:Timeout, sonst ah=Statusregister,al=Zeichen)
 +  ah = 3 : Status (Ausgang: Nur 8250: al = Modemstatus) 
 +           ah : Bit 0 = 1 : Data available 
 +                Bit 1 = 1 : Receiver overrun 
 +                Bit 2 = 1 : Parity Error 
 +                Bit 3 = 1 : Framing Error 
 +                Bit 4 = 1 : Transmitter empty 
 +                Bit 5 = 1 : Break received 
 + 
 +INT 15H : Utility Trap 
 +  ah = 80H open device (nicht implementiert) 
 +  ah = 81H close device (nicht implementiert)
 +  ah = 82H prog term (nicht implementiert)
 +  ah = 83H event wait (Eingang: CX=RTCtmr high, DX=RTCtmr high, ES:BX=userflag) 
 +           Ausgang: CY=0, Event wait wurde aktiviert 
 +                    CY=1, Noch kein RTC-Event aufgetreten 
 +                          (INT 15H periodisch aufrufen zum pollen)
 +  ah = 84H joy stick (Eingang: DX)
 +       DX = 0: Ausgang: AL (Bits 4..7) = Buttons 
 +       DX = 1: Ausgang: AX=Xa, BX=Ya, CX=Xb, DX=Yb
 +  ah = 85H sys request (nicht implementiert) 
 +  ah = 86H wait a moment (CX=RTCtimer high, DX=RTCtimer low) 
 +  ah = 87H block move (extended memory) (Eingang: CX: Words, ES:SI = Block
 +           Descriptoren: 8 Bytes Source, 8 Bytes Destination)
 +  ah = 88H extended memory (Ausgang: AX= KB extended Memory) 
 +  ah = 89H enter protected mode
 +  ax = 8A42H run setup 
 +  ax = 8B42H error beep
 +  ax = 8C42H usr-powerfail-shutdown-routine
 +             (Benutzerdaten können von ES:0 bis ES:BACK_SYS abgelegt werden) 
 +  ax = 8D42H usr-powerfail-resume-routine 
 +             (Benutzerdaten können von ES:0 bis ES:BACK_SYS geholt werden) 
 +  ax = 8E42H set timer (Eingang: BL = Timer (0, 1, 2), CX = Countervalue 
 +                                 BH: Bit 0 = BCD, Bit 1..3 = Mode, 
 +                                     Bit 4..5 Write CMD, Bit 6/7 unused) 
 +                       (Timer wird bei Resume wieder so initialisert)
 +  ax = 8F42H hardcopy (Grafik & Mono)
 +  ah = 90H device busy (nicht implementiert)
 +  ah = 91H set int complete (nicht implementiert)
 +  ah = 9242H backup memory (CX=Anzahl Bytes, DS:SI = Sourceadr, E000H:DI 
 +                              = Destinationadr.)
 +  ah = 9342H restore memory (CX=Anzahl Bytes, E000H:SI = Sourceadr, ES:DI = 
 +                                Destinationadr.)
 +INT 16H : Keyboard Trap 
 +  ah = 00 Ascii read (Ausgnag: AX=Zeichen CY=1, sonst CY=0)
 +  ah = 01 Ascii status (Ausgang: ZF = 0 : Zeichen in Queue)
 +  ah = 02 Shift status (Ausgang: AL = KB_flag) 
 +  ax = 0342 set typematic (Ausgang: BL = Rate, BH = Delay) 
 +  ax = 0442 soft power down 
 + 
 +INT 17H : Printer Trap
 +  Allgemein: dx = port 
 +  ah = 0 : print char (Eingang: al = Char, Ausgang: ah = Printer Status) 
 +  ah = 1 : init printer port 
 +  ah = 2 : ah = Status 
 + 
 +INT 18H : Basic (nicht implementiert) 
 + 
 +INT 19H : Bootstrap Trap 
 +  Block 0 von Harddisk oder Floppy --> ES:BX laden und starten (Booting...) 
 +  Der Block hat in Bytes 510/511 das Kennzeichen AA55H. 
 + 
 +INT 1AH : Time of day Trap
 +  ah = 0 : Read Timer (Ausgang: CX=Timer low, DX=Timer high, AL<>0:Overflow)
 +  ah = 1 : Set Timer (CS=Timer low, DX=Timer high)  
 +  ah = 2 : Read Clock (Ausgang: DH = Sec, CL = Min, CH = Std) 
 +  ah = 3 : Set Clock  (DL=Sommerzeit (01), DH=sec, CL=Min, CH=Std)
 +  ah = 4 : Read Date (DL=Day, DH=Month, CL=Year, CH=Century) 
 +  ah = 5 : Set Date (DL=Day, DH=Month, CL=Year, CH=Century) 
 +  ah = 6 : Set Alarm (DH=Sec, CL=Min, CH=Std)
 +  ah = 7 : Reset Alarm 
 + 
 +INT 1BH : Dummy Return 
 + 
 +INT 1CH : User Timer Tic, wird einmal pro Sekunde aufgerufen.
 + 
 +INT 1DH : Zeigt auf die Video Parameter
 +INT 1EH : Zeigt auf Disk_base (DF, 02, 25, 02, 0F, 1B, FF, 54, F6, 0F, 08) 
 +INT 1FH : Pointer auf Zeichensatz mit Zeichen 128..255
 +
 +INT 20H ... INT 3FH sind für das Betriebssystem reserviert.
 + 
 +INT 20H : DOS: Terminate Program
 +INT 21H : DOS: Function Call
 +INT 22H : DOS:
 +INT 23H : DOS:
 +INT 24H : DOS: 
 +INT 25H : DOS: 
 + 
 +INT 40H : Diskette Trap 
 +  AH = 0 disk reset 
 +  AH = 1 disk status (ret) 
 +  AH = 2 disk read (ES:BP = Pointer auf Buffer, DI = Anzahl Sektoren,
 +                    DH = Head, DL = Drive, CL = Sektor, CH = Cylinder)
 +  AH = 3 disk write           "
 +  AH = 4 disk verify          "
 +  AH = 5 disk format          "
 +  AH = 21 disk type  (Ausgang: BL (Bit 0..3) 0=360K, 1/2 = 1.2MB) 
 +  AH = 22 disk change 
 +  AH = 23 format set 
 + 
 +INT 44H : Pointer auf weiteren Zeichensatz (Nur von EGA-Bios unterstützt)
 + 
 +INT 4AH : Für User software redirected from RTC-IRQ (Alarm, periodic) 
 + 
 +INT 60H 
 +  ...     User 
 +INT 6FH
 + 
 +Hardware-Interrupts 8..15:
 +INT 70H : IRQ 8 RTC-Interrupt
 +INT 71H : IRQ 9 Software Redirected to INT 0AH 
 +INT 72H : IRQ10 Frei
 +INT 73H : IRQ11 Frei 
 +INT 74H : IRQ12 Frei 
 +INT 75H : IRQ13 Coprozessor, Software Redirected to NMI (INT 02H) 
 +INT 76H : IRQ14 Harddisk Interrupt
 +INT 77H : IRQ15 Frei
 + 
 +INT 78H : User 0
 +INT 79H : User 1
 +INT 7AH : User 2
 +INT 7BH : User 3
 +INT 7CH : User 4
 +INT 7DH : User 5 
 +INT 7EH : User 6
 +INT 7FH : User 7
 diff --git a/system/ruc-terminal/unknown/doc/MACROS.PRT b/system/ruc-terminal/unknown/doc/MACROS.PRT new file mode 100644 index 0000000..4a3b78f --- /dev/null +++ b/system/ruc-terminal/unknown/doc/MACROS.PRT @@ -0,0 +1,54 @@ +#*t ($1)# 
 +#topage("$1")#
 +#*macroend# 
 +
 +
 +#*linie ($1)# 
 +#rpos($1)##fillchar(" ")##table# 
 +#on("u")# #off("u")# 
 +#table end# 
 +#clearpos#
 +#*macroend# 
 + 
 +
 +
 +#*k ($1, $2)#
 +#type("8")##center##ib(3)#$1  $2#ie(3)##type("elite")# 
 +#*macroend#
 + 
 +
 +
 +
 +
 +#*h ($1, $2)#
 +#type("8")##center##on("i")##on("u")##ib(3)#$1  $2#ie(3)##off("u")##off("i")##type("elite")# 
 +#headodd#
 +#center##on("b")#$1  $2#off("b")# 
 + 
 + 
 + 
 +#end#
 +#*macroend#
 + 
 +
 +
 +
 +
 +#*kopf ($1)#
 +#headeven#
 +#center##on("b")#$1#off("b")# 
 + 
 + 
 + 
 +#end# 
 +#bottomodd# 
 + 
 + 
 + α 
 +#end# 
 +#bottomeven# 
 + 
 + 
 +#right#α 
 +#end# 
 +#*macroend#
 diff --git a/system/ruc-terminal/unknown/doc/TDOC.PRT b/system/ruc-terminal/unknown/doc/TDOC.PRT new file mode 100644 index 0000000..2326c5e --- /dev/null +++ b/system/ruc-terminal/unknown/doc/TDOC.PRT @@ -0,0 +1,3012 @@ +#type ("elite")##limit (16.2)##block# 
 + 
 +#type ("8")##center##on("b")##on("u")#Bedienungshandbuch zum ruc - Graphikterminal#off("u")##off("b")##type ("elite")# 
 + 
 +#center#Version 1.1 
 + 
 +#center#Oktober 1986 
 +#free (16.0)# 
 +ruc - Rolf Uhlig Computer 
 +GmbH & Co Kommanditgesellschaft 
 +Sendenhorster Straße 82 
 +D - 4406 Drensteinfurt 1 
 +Telefon 02508/8500 
 + 
 +Michael Staubermann 
 +Moränenstraße 29 
 +D - 4400 Münster-Hiltrup 
 +Telefon 02501/4320 
 +#pagenr (""224"", 1)##page (1)# 
 +#kopf ("Bedienungshandbuch zum ruc - Graphikterminal")# 
 +#h("1.", "Einige Worte zuvor")# 
 + 
 + 
 +Dieses Terminalprogramm wird in zwei Versionen (für den Basis 108 und den
 +Apple IIe) geliefert. Die Version ist in der Kommandozeile erkenntlich
 +(BASIS oder APPLE). 
 + 
 +Eigenschaften des Terminals: 
 + 
 +- Kommandozeilen für schnelle Offline Parametereinstellung 
 +- Statuszeile für spezielle Betriebzustände 
 +- Über 70 programmierbare Funktionstasten 
 +- Druckerspooler 32k (4 ganze Graphikhardcopys und noch mehr) 
 +- 7935 Zeichen Empfangspuffer 
 +- Verschiedene Hardcopy Modi für Text und Graphik 
 +- 192x280 Punkte auflösender Graphikmodus mit zwei Helligkeitsstufen 
 +- Zwei Graphikseiten mit getrennter Anzeige/Bearbeitung 
 +- Viele Graphikroutinen (Bogen, Flächenfüllung, Kreis, Rechteck...) 
 +- Graphikmodus für Texte in verschieden Richtungen, Dicken, Grössen 
 +- Griechische Graphikzeichen und Kursivschrift 
 +- Graphikseiten Scrollen, Mischen, vom Host laden, zum Host schicken 
 + 
 + 
 +Zum Handbuch 
 + 
 +Tasten werden durch Angabe ihres Aufdruckes in Grossbuchstaben angegeben und
 +in spitze Klammern gesetzt (z.B. <TAB>) in einigen Fällen auch durch ihren
 +Namen (z.B. <DOWN> oder <TOPLEFT>). Eine zusätzlich zu betätigende Umschalt-
 +taste, wie SHIFT, CTRL, OPEN APPLE (kurz: OA) oder beide zusammen, wird in
 +der Klammer davorgestellt (z.B. <SHIFT RETURN>). 
 + 
 +Nicht druckbare Ascii-Codes (z.B. <ESC> oder <SPACE>), sowie Kommandopara-
 +meter (z.B. <n>) werden ebenfalls in spitze Klammern gesetzt. Komandopara-
 +meter werden mit Kleinbuchstaben bezeichnet. 
 + 
 +#page# 
 +#h("2.", "Die Hardware")# 
 + 
 + 
 +Unterstützt wird eine 80-Zeichen Textanzeige, ein Basiskeyboard oder ein
 +Applekeyboard mit Open-Apple Taste. Am Basis kann ein Drucker angeschlossen
 +werden. 
 + 
 + 
 +#k("2.1", "Die serielle Schnittstelle")# 
 + 
 +Die Parameter der seriellen Schnittstelle können vom Host oder vom Terminal
 +(LOCAL) eingestellt werden (Siehe Kommando <ESC> <SPACE> <SPACE>). Es wer-
 +den alle 15 gängigen Baudrates zwischen 50 und 19200 Baud unterstützt. Pari-
 +tycheck kann mit gerader oder ungerader Parität durchgeführt werden. Fluß-
 +kontrolle ist in allen Kombinationen aus RTS/CTS, DTR/DSR, XON/XOFF möglich.
 +Empfohlen wird DTR/DSR oder XON/XOFF. 
 + 
 +             Benötigte Verdrahtung der seriellen Schnittstelle 
 + 
 +            Pin                                        Priorität 
 +              2 : TXD Sendedaten    zum Host (RXD)         1 
 +              3 : RXD Empfangsdaten vom Host (TXD)         1 
 +              4 : RTS Ready To Send zum Host (CTS)         3 
 +              5 : CTS Clear To Send vom Host (RTS)         3 
 +              6 : DSR DataSet Ready vom Host (DTR)         2 
 +              7 : Masse an Host Masse                      1 
 +              8 : DCD Eingang, nicht benötigt 
 +             20 : DTR Data Terminal Ready zum Host (DSR)   2 
 + 
 +Priorität: 
 + 1 : Muß verdrahtet werden 
 + 2 : Ist bei DSR/DTR Flußkontrolle zu verdrahten 
 + 3 : Ist bei RTS/CTS Flußkontrolle zu verdrahten 
 + 
 +Der Datentransfer geschieht in der Regel mit 8 Datenbits. Sollte der Host
 +nur über 7 Bit Datentransfer verfügen, müssen einige Einschränkungen bei der
 +Parameterübergabe von Uploads/Downloads gemacht werden (Kein Farbbit). Die
 +Anzahl der Datenbits kann auch in der Kommandozeile verändert werden. 
 + 
 + 
 +#k("2.2", "Der Reset")# 
 + 
 +Ein Reset bringt das Terminal in einen definierten Zustand. Alle Bildschirm-
 +seiten und Puffer, sowie der Druckerspooler werden gelöscht. Der Reset kann
 +vom Host durch 
 + 
 +                         #ib(1)#<ESC> 0#ie(1)#    (Hex 1B 30) 
 + 
 +initiiert werden, vom Basiskeyboard aus durch <SHIFT SHIFT CTRL>. Die Para-
 +meter in der Kommandozeile werden dem Setup entnommen. Nach dem Löschen
 +aller Bildschirmseiten, wird das Makro mit dem Code Hex EF aufgerufen. Dies
 +ist die Funktionstaste <SHIFT BOTRIGHT>. 
 + 
 +#page# 
 +#h("3.", "Die Kommandozeile")# 
 + 
 + 
 +Die wichtigsten Parameter des Terminals können im laufenden Betrieb in den
 +beiden Kommandozeilen geändert werden. Die erste Kommandozeile erscheint
 +beim Basiskeyboard durch Drücken von <SHIFT CE> und beim Apple durch <OA
 +CTRL X>. 
 + 
 +Im Graphikmodus ersetzt die Kommandozeile die untersten 32 Graphikzeilen
 +(entspricht vier Textzeilen). Man hat also auch im Graphikmodus die Mög-
 +lichkeit wichtige Parameter in der Kommandozeile zu ändern. 
 + 
 +Die angezeigten Einstellungen bieten außerdem eine Informationsmöglichkeit
 +über die aktuellen Parameter der seriellen Schnittstelle u.s.w. Die zweite
 +Kommandozeile enthält die Parameter der seriellen Schnittstelle. 
 + 
 +Alle in den Kommandozeilen angezeigten Parameter (bis auf BELL ON/BELL OFF)
 +können auch durch ESC-Kommandos vom Host oder im Localmodus geändert wer-
 +den. 
 +Ein laufender Druckvorgang wird unterbrochen, solange die Kommandozeilen
 +sichtbar sind. 
 + 
 + 
 +#k("3.1", "Tastenfunktionen in der Kommandozeile")# 
 + 
 +Folgende Tasten haben in der Kommandozeile eine Wirkung: 
 + 
 +Taste              Bedeutung 
 +#linie ("16.2")#
 +<UP> oder <DOWN>   Wechselt in die jeweils andere Kommandozeile 
 + 
 +<LEFT>             Springt zum vorherigen (linken) Parameter ohne etwas zu
 +                   verändern. 
 + 
 +<RIGHT>            Springt zum nächsten (rechten) Parameter ohne etwas zu
 +                   verändern. 
 + 
 +<SPACE>            Ändert das selektierte Parameterfeld. Das selektierte
 +                   Parameterfeld ist durch Invertierung hervorgehoben. Die
 +                   möglichen Parameter wiederholen sich zyklisch. 
 + 
 +<ESC>              Die Kommandozeile wird verlassen. Es werden keine Ände-
 +                   rungen durchgeführt. 
 + 
 +<SHIFT S>          Die Kommandozeile wird verlassen. Vorher werden alle
 +                   Änderungen permanent auf die Diskette geschrieben. Wei-
 +                   tere Einzelheiten s.u. (Setup) 
 + 
 +<SHIFT R>          Alle Parameter werden auf ihre Defaultwerte zurückge-
 +                   setzt. Die Kommandozeile wird noch nicht verlassen, daher
 +                   kann dieser 'Reset' durch <ESC> wieder aufgehoben werden. 
 +                   <CE> oder <CTRL X> Die Kommandozeile wird verlassen. Die
 +                   Änderungen werden nur im Speicher vermerkt. Nach dem
 +                   Ein-/Ausschalten des Rechners werden die alten Parameter
 +                   von der Diskette gelesen. Wird allerdings ein Hardware-
 +                   reset (s.o.) durchgeführt, sind diese Änderungen nicht
 +                   verloren. 
 + 
 + 
 +#k("3.2", "Setup")# 
 + 
 +Beim Setup, der in der Kommandozeile durch <SHIFT S> ausgelöst werden kann,
 +werden wichtige Parameter auf die Diskette geschrieben. Sie werden dann
 +'permanent' und müssen nach dem Einschalten des Terminals nicht neu einge-
 +stellt werden. Diese Parameter sind die 
 +- Parameter der seriellen Schnittstelle (2. Kommandozeile) 
 +- anderen Parameter der Kommandozeilen 
 +- vom Benutzer programmierte Belegung der Funktionstasten 
 +- Druckerspezifischen Hardcopyparameter 
 + 
 +Vor dem Setup ist zu prüfen, ob der Diskettenschreibschutz entfernt wurde
 +(Klebeschildchen an der Diskettenseite entfernen). Der Schreibschutz sollte
 +nach dem Setup wieder angebracht werden. Wurde der Schreibschutz nicht ent-
 +fernt, wird eine Meldung 'Diskettenschreibschutz entfernen !' angezeigt. In
 +diesem Falle erscheint nach dem Drücken einer Taste wieder die Kommando-
 +zeile. 
 +Wenn keine Diskette einliegt oder ein harter Schreibfehler auftritt, er-
 +scheint die Meldung 'Setup kann nicht geschrieben werden (Diskettenfeh-
 +ler)!'. Weitere Schreibversuche sind möglicherweise erfolgreich. 
 + 
 + 
 +#k("3.3", "Die zweite Kommandozeile")# 
 + 
 +Beim Basis (erste Zeile zeigt Defaultwerte für <SHIFT R>) 
 + 
 +#type ("micron")# 
 +GER|BASIS|MON OFF|PRT OFF|SCRN ON |KEY CLK|NORVID|SCROLL|BELL ON |CUR FLH|F STRG 
 +USA  TVI  MON ON  PRT ON  SCRN OFF CLK OFF REVVID  PAGE  BELL OFF CUR STD F CODE 
 +APL       HEX ON                                                  CUR OFF 
 +UNI 
 +#type ("elite")# 
 + 
 +Beim Apple (erste Zeile zeigt Defaultwerte für <SHIFT R>) 
 + 
 +#type ("micron")# 
 +USA|APPLE|MON OFF|PRT OFF|SCRN ON |KEY CLK|NORVID|SCROLL|BELL ON |CUR FLH|F STRG 
 +FLH  TVI  MON ON  PRT ON  SCRN OFF CLK OFF REVVID  PAGE  BELL OFF CUR STD F CODE 
 +          HEX ON                                                  CUR OFF 
 +#type ("elite")# 
 + 
 + 
 +Default Andere   Funktion 
 +#linie ("16.2")# 
 +Basis 
 + GER    USA      Die Zeichensatzeinstellung ist für die gebräuchlichsten 
 +        APL      vier Zeichensätze in der Kommandozeile möglich. 
 +        UNI      GER = Deutsch Ascii, USA = US Ascii, APL = APL-Zeichensatz
 +                 UNI = Deutscher Zeichensatz mit inversen APL Zeichen. Der
 +                 APL-Zeichensatz entählt auch die Zeichen [\]{|}~. Über
 +                 ESC-Kommandos lassen weitere Möglichkeiten einstellen. 
 + 
 + BASIS  TVI      Keyboard Emulation. BASIS sendet die Funktionstastencodes
 +                 mit Bit 7 = 1. TVI sendet für jede Funktionstaste eine
 +                 Zeichenfolge <SOH> x <CR>. Die Cursortasten sowie DEL CHAR,
 +                 INS CHAR, DEL LINE, INS LINE werden wie bei TVI üblich
 +                 gesendet. Weiter Einzelheiten s.u. (TVI-Emulation) 
 + 
 +Apple 
 + USA    FLH      USA = US Ascii, FLH = Voller Ascii Zeichensatz mit Blinken
 +                 und Invers. 
 + 
 + APPLE  TVI      Keyboard Emulation. APPLE führt keine Codeumsetzung durch.
 +                 Wird allerdings die <OPEN APPLE>-Taste mit einer anderen
 +                 Taste zusammen gedrückt, wird das Bit 7 im Code auf 1 ge-
 +                 setzt. Zur TVI-Emulation siehe oben. 
 + 
 +MON OFF MON ON   Der Monitor Modus wird mit MON ON eingeschaltet. In diesem 
 +        HEX ON   Modus werden alle Steuerzeichen auf dem Bildschirm mar-
 +                 kiert ausgegeben. Bis auf die Kommandos <ESC> u oder <ESC>
 +                 X (um den Monitormodus auszuschalten) werden keine Komman-
 +                 dos interpretiert. Alle anderen Zeichen werden unverändert
 +                 dargestellt. Der Monitormodus kann auch durch MON OFF aus-
 +                 geschaltet werden. 
 +                 Im Hexmodus werden keine Zeichen, sondern deren Ascii-
 +                 Codes in Hexadezimaldarstellung ausgegeben. 
 + 
 +PRT OFF PRT ON   Parallele Druckerausgabe. Ist PRT ON eingeschaltet, werden
 +                 alle Zeichen die von der seriellen Schnittstelle kommen,
 +                 auf dem Drucker ausgegeben bzw. in den Druckerspooler ge-
 +                 schrieben. Die Bildschirmausgabe wird hiervon nicht beein-
 +                 flußt. 
 + 
 +SCRN ON SCR OFF  Bildschirmausgabe an/aus. Ist SCRN ON eingeschaltet, wer-
 +                 den alle Zeichen die von der seriellen Schnittstelle kom-
 +                 men, auf dem Bildschirm ausgegeben. SCR OFF und PRT ON kann
 +                 zum Beispiel benutzt werden, um Daten nur an den Drucker zu
 +                 schicken, ohne daß diese auch auf dem Bildschirm erschei-
 +                 nen. 
 + 
 +KEY CLK CLK OFF  Tastaturklick an/aus. Ist KEY CLK eingeschaltet, gibt jede
 +                 Taste (bis auf SHIFT, CTRL) bei ihrer Betätigung einen Ton
 +                 (Klick) von sich. CLK OFF schaltet dies ab. 
 + 
 +NORVID  REVVID   Bildschirmdarstellung. NORVID stellt hellen Text auf
 +                 schwarzem Grund dar, REVVID stellt schwarzen Text auf hel-
 +                 lem Grund dar (Möglicherweise angenehmer für die Augen). 
 + 
 +SCROLL  PAGE     Ist SCROLL eingeschaltet, wird der Bildschirm um eine Zeile
 +                 nach oben geschoben, sobald der Cursor in der letzten Bild-
 +                 schirmzeile steht und ein Zeilenvorschub <LF> ausgeführt
 +                 werden soll. Die erste Bildschirmzeile verschwindet. Ist
 +                 PAGE eingeschaltet, springt der Cursor in einer solchen
 +                 Situation in die erste Bildschirmzeile. Die Cursorspalte
 +                 wird dabei nicht verändert. 
 + 
 +BELL ON BELL OFF Normalerweise erzeugt jedes empfangene <CTRL G> einen kur-
 +                 zen Signalton. Wenn das stört, kann die Tonausgabe mit BELL
 +                 OFF abgeschaltet werden. 
 + 
 +CUR FLH CUR STD  Cursordarstellung. CUR FLH zeigt einen blinkenden CUR OFF
 +                 Cursorblock. CUR STD zeigt einen nichtblinkenden Cursor-
 +                 block. CUR OFF schaltet den Cursor ab (unsichtbar). 
 + 
 +F STRG  F CODE   Funktionstastenbelegung. Ist F STRG eingeschaltet, erzeugt
 +                 eine programmierte (belegte) Funktionstaste keinen Tasten-
 +                 code, sondern sendet die programmierten Zeichen. Eine unbe-
 +                 legte Funktionstaste sendet ihren Tastencode. Ist F CODE
 +                 eingeschaltet, erzeugen auch belegte Funktionstasten einen
 +                 Tastencode und senden keine programmierten Zeichen. 
 + 
 + 
 +#k("3.4", "Die zweite Kommandozeile")# 
 + 
 +Die erste Zeile zeigt Defaultwerte für <SHIFT R>: 
 + 
 +#type ("micron")# 
 +STATOFF|TXT| 9600|STOP 1|DATA 8|NO  PAR|NO XONOFF|NO RTSCTS|NO DTRDSR 
 +STAT ON GFX 19200 STOP 2 DATA 7 EVN PAR  XON/XOFF  RTS/CTS   DTR/DSR 
 +               50               ODD PAR 
 +               75 
 +            109.9 
 +            134.6 
 +              150 
 +              300 
 +              600 
 +             1200 
 +             1800 
 +             2400 
 +             3600 
 +             4800 
 +             7200 
 +#type ("elite")# 
 + 
 +Default Andere   Funktion 
 +#linie ("16.2")# 
 +STATOFF STAT ON  Anzeige der Statuszeile. Der Arbeitsbereich des Bildschirms
 +                 beträgt zwar immer 24 Zeilen, allerdings ist bei STAT ON
 +                 anstelle der 24. Textzeile die Statuszeile sichtbar. Bei
 +                 STATOFF wird der aktuelle Inhalt der 24. Textzeile sicht-
 +                 bar. Einzelheiten s.u. (Die Statuszeile) 
 + 
 +TXT     GFX      Textmodus/Graphikmodus. TXT schaltet in die 80x24 Zeichen
 +                 Textdarstellung um. GFX schaltet auf die aktuelle Graphik-
 +                 seite um. 
 + 
 +9600    19200    Wählt die Baudrate für die serielle Schnittstelle. 
 +           50    Die Angabe erfolgt in Bits/Sekunde (Baud) 
 +           75 
 +          109.9 
 +          134.6 
 +          150 
 +          300 
 +          600 
 +         1200 
 +         1800 
 +         2400 
 +         3600 
 +         4800 
 +         7200 
 + 
 +STOP 1  STOP 2   Wählt die Anzahl der Stopbits für die serielle Schnitt-
 +                 stelle. 
 + 
 +DATA 8  DATA 7   Wählt die Anzahl der Datenbits für die serielle Schnitt-
 +                 stelle. 
 + 
 +NO PAR  EVN PAR  Wählt Parity Check Art. NO PAR = Kein Paritätsbit, keine 
 +        ODD PAR  Paritätsprüfung. EVN PAR = Gerade Parität, ODD PAR = Unge-
 +                 rade Parität. 
 + 
 +NO XONOFF        Wählt XON (CTRL Q) und XOFF (CTRL S) als Protokoll für die 
 +        XON/XOFF serielle Schnittstelle. Wird XOFF vom Host gesendet, kann
 +                 das Terminal noch 255 Zeichen empfangen, bis der Empfangs-
 +                 puffer überläuft. Mit NO XONXOFF wird dieses Protokoll
 +                 ausgeschaltet. 
 + 
 +NO RTSCTS        Wählt RTS/CTS als Protokoll für die serielle Schnittstel-
 +        RTS/CTS  le. Mit NO RTSCTS wird dieses Protokoll ausgeschaltet. 
 + 
 +NO DTRDSR        Wählt DTR/DSR als Protokoll für die serielle Schnittstel-
 +        DTR/DSR  le. Mit NO DTRDSR wird dieses Protokoll ausgeschaltet. 
 + 
 +#page# 
 +#h("4.", "Die Statuszeile")# 
 + 
 + 
 +Die Statuszeile enthält 5 Felder, die über die wichtigsten Betriebszustände
 +des Terminals Auskunft geben. Die Statuszeile ersetzt die (dann in den 'Hin-
 +tergrund' verlegte) 24. Zeile. Die Statuszeile kann in der Kommandozeile mit
 +STAT ON oder vom Host oder im Local Modus mit 
 + 
 +                         #ib(1)#<ESC> }#ie(1)#   (Hex 1B 7D) 
 + 
 +eingeschaltet werden. Ausschalten ebenso mit STATOFF oder 
 + 
 +                         #ib(1)#<ESC> {#ie(1)#   (Hex 1B 7B) 
 + 
 +Die Zuordnung der Felder: 
 + 
 +#type ("micron")# 
 +Spooler | Empfängerpuffer | Senderpuffer | Bereit/Beschäftigt | Local/Online
 +#type ("elite")# 
 + 
 +Kritische Zustände werden invers markiert. Dies sind alle Fälle, in denen
 +ein Puffer überläuft. 
 +Ist dies beim Empfangspuffer der Fall (RX FULL), gehen Daten verloren. 
 +Sollte der Druckerpuffer voll sein (PR FULL) und das Terminal keine Eingabe
 +mehr annehmen, kann man durch längeres Drücken von <SHIFT ESC> Zeichen aus
 +dem Druckerpuffer entfernen, damit wieder Platz frei wird. 
 +Sollte der Senderpuffer voll sein (TX FULL), so liegt das wahrscheinlich
 +daran, daß der Host kein XON gesendet hat oder dieses falsch übertragen
 +wurde. Durch Drücken von <SHIFT ESC> kann man den Transmitter wieder star-
 +ten. 
 + 
 + 
 +#k("4.1", "Spoolerstatus")# 
 + 
 +- Ein leeres Feld bedeutet: Der Spooler (Druckerpuffer) ist leer, es ist
 +  nichts zum Drucken im Puffer. 
 + 
 +- PRINT zeigt an: Der Spooler ist gefüllt. Das Terminal ist druckwillig oder
 +  der Drucker druckt. 
 + 
 +- PR FULL bedeutet: Der Druckerpuffer ist voll. Da das Terminal keine wei-
 +  teren Zeichen annimmt bis wieder Platz im Druckerpuffer ist, kann man
 +  einzelne Zeichen mit <SHIFT ESC> aus dem Druckerpuffer entfernen bis PRINT
 +  im Feld erscheint. 
 + 
 + 
 +#k("4.2", "Empfängerstatus")# 
 + 
 +- Ein leeres Feld bedeutet: Im Empfängerpuffer ist noch Platz. 
 + 
 +- RX FULL zeigt an: Es gehen Empfangsdaten verloren, da der Empfängerpuffer
 +  voll ist. 
 + 
 + 
 +#k("4.3", "Senderstatus")# 
 + 
 +- TX ON bedeutet: Der Sender ist eingeschaltet. Wenn jetzt ein Zeichen ge-
 +  sendet werden muß, wird es sofort auf die serielle Schnittstelle ge-
 +  schickt. 
 +  Ein > vor TX ON zeigt an, daß das Terminal auf Freiwerden der seriellen
 +  Schnittstelle wartet. 
 + 
 +- TX OFF bedeutet: Der Host hat entweder XOFF gesendet oder die Hardware-
 +  flußkontrolle aktiviert, um das Terminal zu stoppen. 
 + 
 +- TX FULL zeigt an: Der Senderpuffer ist voll. Das Terminal nimmt keine
 +  Eingaben mehr an bis der Puffer wieder frei ist. Dies kann mit <SHIFT ESC>
 +  erzwungen werden. 
 + 
 + 
 +#k("4.4", "Busy - Anzeige")# 
 + 
 +- READY bedeutet: Der Empfänger ist empfangsbereit, d.h. im Empfangspuffer
 +  sind noch mindestens 256 Zeichen frei und das Terminal hat den Host nicht
 +  per Flußkontrolle gestoppt. 
 + 
 +- BUSY bedeutet: Der Empfänger hat dem Host per Flußkontrolle angezeigt, daß
 +  nicht mehr genügend Platz im Empfangspuffer war. Die Flußkontrolle wird
 +  wieder freigegeben, wenn nur noch 256 Bytes im Empfangspuffer sind. 
 +  (Warnung: Wenn BUSY angezeigt wird, eine Taste gedrückt wird und der Host
 +  #on("u")#nicht#off("u")# empfangsbereit ist, gerät das Terminal in eine
 +  "Deadlock-Situation", die (mit Datenverlust) nur durch einen Hardwarereset
 +  abgebrochen werden kann.) 
 + 
 + 
 +#k("4.5", "Online/Local - Anzeige")# 
 + 
 +- ONLINE bedeutet: Das Terminal sendet Tasteneingaben an den Host und emp-
 +  fängt Zeichen und Kommandos vom Host. 
 + 
 +- LOCAL bedeutet: Keyboardeingaben erscheinen auf dem Bildschirm bzw. blei-
 +  ben innerhalb des Terminals. Escape-Kommandos wirken direkt auf das Ter-
 +  minal. 
 + 
 +#page# 
 +#h("5.", "Die Bedeutung der Tasten")# 
 + 
 + 
 +Zusätzlich zu den normalerweise von der Tastatur gesendeten Tastencodes sind
 +einige weitere zur Verfügung gestellt worden. Beim Apple senden fast alle
 +Tasten mit Open-Apple zusammen einen Code mit Bit 7 = 1. Diese werden vom
 +Terminal als Funktions- oder Steuertasten interpretiert. Beim Basis wurden
 +einige bisher nur einfach belegte Tasten wie <RETURN>, <TAB>, <ESC>, <CE>
 +und der Zehnerblock mit Doppelfunktionen über <SHIFT> versehen. 
 + 
 + 
 +#k("5.1", "Die Funktions- und Steuertasten")# 
 + 
 +Zuerst werden die Tastenfunktionen erläutert für ein nicht emulierendes
 +Terminal. Die TVI-Emulation kann in der Kommandozeile abgeschaltet werden
 +(1. Zeile, 2. Feld) oder mit dem Kommando 
 + 
 +                         #ib(1)#<ESC> <SPACE> 0#ie(1)#    (Hex 1B 20 30) 
 + 
 +Die Cursortasten liefern beim Basiskeyboard andere Tastencodes als beim
 +Applekeyboard. Wird das Bit 7 ignoriert (ausgeblendet), stimmen die Codes
 +überein. <TOPLEFT> bezeichnet beim Basiskeyboard die linke obere Eckposi-
 +tion des Cursorblocks, <TOPRIGHT> die rechte obere etc. 
 + 
 +Basis-Taste    Apple-Taste  Hex-Code   Bedeutung 
 +#linie ("16.2")# 
 +<TAB>            <TAB>         09      Der Cursor wird an die nächste (re-
 +                                       chte) Tabulatorposition gesetzt.
 +                                       Tabulatorpositionen sind alle 8 Spal-
 +                                       ten. Also 1, 9, 17, 25, 33, 41, 49,
 +                                       57, 65, 73. War der Cursor in Spalte
 +                                       73 bis 79, dann wird er in die erste
 +                                       Spalte der nächst tieferen Bild-
 +                                       schirmzeile gesetzt. War der Cursor
 +                                       vorher auch noch in Zeile 24, dann
 +                                       wird der Bildschirminhalt entweder
 +                                       nach oben gescrollt (SCROLL) oder in
 +                                       Homeposition gebracht (PAGE). 
 + 
 +<SHIFT TAB>      <OA TAB>      89      Back-Tab (Rückwärtstabulator). Der
 +                                       Cursor wird in die nächste links vom
 +                                       Cursor befindliche Tabulatorposition
 +                                       gebracht. War der Cursor in Spalte 1,
 +                                       dann steht er jetzt in Spalte 73 der
 +                                       darüberliegenden Zeile. War der Cur-
 +                                       sor in Homeposition, dann ändert sich
 +                                       seine Position nicht. 
 + 
 +<SHIFT CE>       <OA CTRL X>    -      Kommandozeile aktivieren. Einzelhei-
 +                                       ten zur Kommandozeile siehe Abschnitt
 +                                       3.: Die Kommandozeilen. 
 + 
 +<CE>             <CTRL X>      18      U.a. Kommandozeile verlassen. 
 + 
 +<RETURN>         <RETURN>      0D      Zum Zeilenanfang ohne Zeilenvorschub.
 +                                       Der Cursor steht dann in der ersten
 +                                       Spalte der Zeile. 
 + 
 +<SHIFT RETURN>   <OA RETURN>   8D      Zum Anfang der nächsten Zeile. Falls
 +                                       der Cursor in der letzten (24.) Bild-
 +                                       schirmzeile war, wird der Bildschir-
 +                                       minhalt entweder nach oben gescrollt
 +                                       (SCROLL) oder in Homeposition ge-
 +                                       bracht (PAGE). 
 + 
 +<UP>             <UP>       8B/0B      Cursor eine Zeile höher. War der
 +                                       Cursor in der ersten Bildschirmzei-
 +                                       le, ändert sich seine Position nicht. 
 + 
 +<DOWN>           <DOWN>     8A/0A      Cursor eine Zeile tiefer. War der
 +                                       Cursor in Zeile 24, dann wird der
 +                                       Bildschirminhalt entweder nach oben
 +                                       gescrollt (SCROLL) oder der Cursor in
 +                                       die erste Bildschirmzeile gesetzt
 +                                       (PAGE). 
 + 
 +<CTRL V>         <CTRL V>      16      Cursor eine Zeile tiefer. War der
 +                                       Cursor in Zeile 24, dann ändert er
 +                                       seine Position nicht. Die Spalte
 +                                       ändert sich nicht. 
 + 
 +<LEFT>           <LEFT>     88/08      Cursor eine Spalte nach links. War
 +                                       der Cursor in der ersten Bildschirm-
 +                                       spalte, dann steht er jetzt in der
 +                                       letzten Spalte der darüberliegenden
 +                                       Bildschirmspalte. War der Cursor
 +                                       allerdings in Homeposition, ändert
 +                                       sich seine Position nicht. 
 + 
 +<RIGHT>             -          95      Cursor eine Spalte nach rechts. War
 +                                       der Cursor in Spalte 79, dann steht
 +                                       er jetzt in der ersten Spalte der
 +                                       folgenden Zeile. War der Cursor in
 +                                       der letzten Zeile, dann wird der
 +                                       Bildschirminhalt um eine Zeile nach
 +                                       oben gescrollt (SCROLL) oder der
 +                                       Cursor in Homeposition gebracht
 +                                       (PAGE). 
 + 
 +<HOME>           <OA @>        C0      Der Cursor wird in die linke obere
 +                                       Bildschirmecke gebracht (Homeposi-
 +                                       tion). 
 + 
 +<SHIFT HOME>     <OA P>        D0      Bildschirm löschen und Cursor Home. 
 + 
 +<DELETE>         <DELETE>      7F      Dieses Zeichen wird auf dem Bild-
 +                                       schirm als Punktraster dargestellt.
 +                                       Der Host interpretiert es in der
 +                                       Regel als Zeichenlöschbefehl. 
 + 
 +<TOPLEFT>        <OA CTRL N>   8E      Zeichen bei Cursorposition einfügen.
 +                                       Der Cursor ändert seine Position
 +                                       nicht. Unter dem Cursor steht dann
 +                                       ein Leerzeichen. Das Zeichen in Spal-
 +                                       te 79 geht verloren. 
 + 
 +<SHIFT TOPLEFT>  <OA CTRL B>   82      Zeichen unter Cursorposition löschen.
 +                                       In Spalte 79 steht dann ein Leerzei-
 +                                       chen. 
 + 
 +<TOPRIGHT>       <OA CTRL O>   8F      Zeile bei Cursorposition einfügen.
 +                                       Die Cursorposition ändert sich nicht.
 +                                       Der Inhalt der letzten Bildschirmzei-
 +                                       le ist verloren. Die Zeile in der der
 +                                       Cursor steht wird mit Leerzeichen
 +                                       gefüllt. 
 + 
 +<SHIFT TOPRIGHT> <OA CTRL C>   83      Zeile in der der Cursor steht lö-
 +                                       schen. Die Cursorposition ändert sich
 +                                       nicht. Der Inhalt der gelöschten
 +                                       Zeile ist verloren. Die letzte Bild-
 +                                       schirmzeile wird mit Leerzeichen
 +                                       aufgefüllt. 
 + 
 +<BOTTOMLEFT>     <BACKSPACE>   08      Cursor eine Spalte nach links. Die
 +                                       Funktion ist mit der von <LEFT> iden-
 +                                       tisch. 
 + 
 +<BOTTOMRIGHT>    <RIGHT>       15      Apple: Cursor eine Spalte nach re-
 +                                       chts. Die Funktion ist mit der von
 +                                       <RIGHT> identisch. 
 + 
 +<SHIFT BOTTOMRIGHT> <OA RIGHT> EF      Diese Taste ist eine programmierbare
 +                                       Funktionstaste (siehe <ESC> e). 
 + 
 +<SHIFT DELETE>   <OA DELETE>   81      Diese das liefert den
 +                                       Makroparametercode (siehe <ESC> e). 
 + 
 +<ESC>            <ESC>         1B      Leitet eine Escape-Sequenz ein. 
 + 
 +<SHIFT ESC>      <OA ESC>      9B      Während der Funktionstastedefinition
 +                                       wirkt diese Taste wie ein Local
 +                                       Escape, sonst liefert sie den Code 9B.
 +                                       (siehe <ESC> e). 
 +                                       
 +<SHIFT CTRL HOME><OA 0>         -      Local/Online umschalten. 
 + 
 +<CTRL HOME>      <OA SPACE>   '00'     Sendet V24-Break (Hexcode 00 mit
 +                                       Rahmenfehler). Als Rahmenfehler wird
 +                                       das Fehlen des oder der Stopbits
 +                                       bezeichnet (Stopbitpegel ist norma-
 +                                       lerweise 1, bei Break dagegen 0). 
 + 
 +#on("u")#Zehnerblock:#off("u")# 
 + 
 +<SHIFT 1> ...    <OA a> ...    E1 ...  programmierbare Funktionstasten 
 +<SHIFT 9>        <OA i>        E9             "               " 
 +<SHIFT 0>        <OA j>        EA             "               " 
 +<SHIFT .>        <OA k>        EB             "               " 
 +<SHIFT +>        <OA l>        EC             "               " 
 +<SHIFT ->        <OA m>        ED             "               " 
 + 
 +<SHIFT BOTRIGHT> <OA RIGHT>    EF             "               " 
 + (Dieser Code wird beim RESET des 
 + Terminals ausgeführt. Der Benut- 
 + zer kann damit das Terminal nach 
 + seinen Wünschen konfigurieren.) 
 + 
 + 
 +#on("u")#Funktionstasten:#off("u")# 
 + 
 +<F1> ...         <OA A> ...    C1             "               " 
 +<F15>            <OA O>        CF             "               " 
 +<SHIFT F1> ...   <OA Q> ...    D1             "               " 
 +<SHIFT F15>      <OA _>        DF             "               " 
 +<CTRL F1> ...    <OA !> ...    A1             "               " 
 +<CTRL F15>       <OA />        AF             "               " 
 +<SHIFT CTRL F1>..<OA 1> ...    B1             "               " 
 +<SHIFT CTRL F15> <OA ?>        BF             "               " 
 + 
 +Die Programmierung der Funktionstasten geschieht mit #ib(1)#<ESC> e#ie(1)#. 
 + 
 + 
 +#k("5.2", "Die TVI-Emulation")# 
 + 
 +Wird das Terminal in den TVI-Emulationsmode gebracht, dann senden einige
 +Tasten andere Tastencodes oder Codesequenzen. Die Bedeutung der Escape-
 +Sequenzen ändert sich dadurch nicht. 
 +Der TVI-Modus kann in der Kommandozeile eingeschaltet werden (1. Zeile, 2.
 +Feld) oder durch 
 + 
 +                         #ib(1)#<ESC> <SPACE> 1#ie(1)#    (Hex 1B 20 31) 
 + 
 +An dieser Stelle erscheinen nur noch die Tastenbezeichnungen des Basiskey-
 +boards. Die entsprechenden Tasten, die beim Applekeyboard zu drücken sind,
 +kann man im letzten Abschnitt nachlesen. 
 + 
 +Folgende Tasten senden andere Tastencodes: 
 + 
 +Taste       TVI-Code(sequenz)       Bemerkung 
 +#linie ("16.2")# 
 +<RIGHT>     0C    #ib(1)#<CTRL L>#ie(1)#          Cursor nach rechts 
 + 
 +<HOME>      1E    #ib(1)#<CTRL SHIFT ^>#ie(1)#    Cursor in Homeposition 
 + 
 +<CLEAR>     1A    #ib(1)#<CTRL Z>#ie(1)#          Durch Drücken von <SHIFT HOME> 
 +                                    Bildschirm löschen und Cursor Home 
 + 
 +<DEL CHAR>  1B 57 #ib(1)#<ESC> W#ie(1)#           Durch Drücken von <SHIFT TOPLEFT> 
 +                                    Zeichen löschen 
 + 
 +<DEL LINE>  1B 52 #ib(1)#<ESC> R#ie(1)#           Durch Drücken von <SHIFT TOPRIGHT> 
 +                                    Zeile löschen 
 + 
 +<INS CHAR>  1B 51 #ib(1)#<ESC> Q#ie(1)#           Durch Drücken von <TOPLEFT> 
 +                                    Zeichen einfügen 
 + 
 +<INS LINE>  1B 45 #ib(1)#<ESC> E#ie(1)#           Durch Drücken von <TOPRIGHT> 
 +                                    Zeile einfügen 
 + 
 +<LEFT>      08    #ib(1)#<BACKSPACE>#ie(1)#       Cursor nach links 
 + 
 +<BACK TAB>  1B 49 #ib(1)#<ESC> I#ie(1)#           Durch Drücken von <SHIFT TAB> 
 +                                    Rückwärtstabulator 
 + 
 +<DOWN>      0A    #ib(1)#<LF>#ie(1)#              Cursor nach unten 
 + 
 +<UP>        0B    #ib(1)#<CTRL K>#ie(1)#          Cursor nach oben 
 + 
 +<NEWLINE>   1F    #ib(1)#<CTRL SHIFT _>#ie(1)#    Durch Drücken von <SHIFT RETURN> 
 +                                    Waagenrücklauf und Zeilenvorschub 
 + 
 + 
 +#on("u")#Funktionstasten:#off("u")# 
 + 
 +Für jede Funktionstaste, die nicht belegt wurde wird eine Codesequenz der
 +Form <CTRL A> <code> <CR> also 01 <code> 0D gesendet. Für <code> gilt: 
 + 
 +Taste             <code>    Hex-Code 
 +<F1> ...            @ ...      40 ...   Diese Tasten sind auf fast allen 
 +<F11>               J          4A       TVI-Terminals vorhanden. 
 +<F12> ...           ` ...      60 ... 
 +<F15>               c          63 
 + 
 +<SHIFT F1> ...      K ...      4B ... 
 +<SHIFT F15>         Y          59 
 + 
 + 
 +#on("u")#Zehnerblock:#off("u")# 
 + 
 +<SHIFT 1> ...       d ...      64 ... 
 +<SHIFT 9>           l          6C 
 +<SHIFT 0>           m          6D 
 +<SHIFT .>           n          6E 
 +<SHIFT +>           o          6F 
 +<SHIFT ->           p          70 
 + 
 +<SHIFT BOTRIGHT>    r          72 
 + 
 +Alle nicht in dieser Tabelle aufgeführten Funktionstasten senden den Basis-
 +tastencode. 
 + 
 +#page# 
 +#h("6.", "Der Graphikmodus")# 
 + 
 + 
 +#k("6.1", "Allgemeines")# 
 + 
 +Der Graphikmodus kann in der 2. Kommandozeile ein- und ausgeschaltet (Gra-
 +phik: GFX, Text: TXT) oder mit dem Kommando 
 + 
 +                         #ib(1)#<ESC> $#ie(1)#    (Hex 1B 24) 
 + 
 +eingeschaltet und mit dem Kommando 
 + 
 +                         #ib(1)#<ESC> %#ie(1)#    (Hex 1B 25) 
 + 
 +ausgeschaltet. 
 + 
 +Die Auflösung beträgt in y-Richtung 280 Punkte und in x-Richtung 192 Punk-
 +te, das sind 53760 Punkte. 
 + 
 + 
 +#k("6.2", "Koordinaten und Parameterübergabe")# 
 + 
 +Die Koordinaten für die Graphikkommandos dürfen den Bereich von -32768 bis
 +32767 überstreichen. Der sichtbare Bereich ist für die X-Koordinate 0..279
 +und für die Y-Koordinate von 0..191. Der Ursprung (d.h. der Punkt (0,0) )
 +des Koordinatensystems ist die linke untere Ecke. Die Graphikroutinen zeic-
 +hnen nur innerhalb des sichtbaren Bereichs (Clipping). 
 + 
 + 
 +#k("6.2.1", "Cursorposition/Fadenkreuz")# 
 + 
 +Der Graphikcursor ist ein gedachter unsichtbarer Punkt, der sich im gesam-
 +ten (auch unsichtbaren) Bereich des Koordinatensystems befinden kann. Wenn
 +sich der Cursor im sichtbaren Bereich befindet, dann kann man an der Posi-
 +tion ein Fadenkreuz darstellen. Das Fadenkreuz kann mit 
 + 
 +                         #ib(1)#<CTRL X>#ie(1)# oder #ib(1)#<CE>#ie(1)#    (Hex 18) 
 + 
 +ein- und ausgeschaltet werden. Das Fadenkreuz wird Exklusiv-Oder (XOR) ge-
 +zeichnet. Das heißt, daß die Punkte an der Stelle des Fadenkreuzes inver-
 +tiert (umgedreht) werden. Das hat wiederum zur Folge, daß an der Graphik-
 +seite nichts verändert wird, wenn zweimal <CTRL X> gesendet wird. Solange
 +der Bereich oder die Position des Fadenkreuzes nicht verändert wird, können
 +zwischen den beiden <CTRL X> Kommandos auch andere Graphikkommandos ausge-
 +führt werden. 
 + 
 + 
 +#k("6.2.2", "Binäre oder dezimale Parameter")# 
 + 
 +Die Übergabe der x/y Koordinaten, eines Radius oder relativer Koordinaten
 +und in einigen Fällen auch anderer Parameter, kann auf zwei verschiedene
 +Arten erfolgen. Das Terminal erkennt die Übergabeart am ersten Parameterby-
 +te: 
 +Bei dezimalen Parametern ist dies entweder <SPACE>, +, - oder eine Zahl. Bei
 +Binären Parametern liegt das Höherwertige Byte (das erste!) im Bereich von
 +00..1F oder 3A..FF. Die Festlegung auf dezimale oder binäre Parameter gilt
 +für beide (X und Y) Koordinaten. 
 + 
 + 
 +#k("6.2.2.1", "Binäre Parameter")# 
 + 
 +Binäre Parameter sind eine Folge von vier Bytes (mit 8 Bits). Die ersten
 +beiden Bytes stellen die X-Koordinate dar, die anderen beiden Bytes die
 +Y-Koordinate. Negative Koordinaten oder negative relative Koordinaten wer-
 +den durch Bilden des Zweierkomplements dargestellt. 
 +Zu beachten ist, daß zuerst das höherwertige (Highbyte) und dann das nie-
 +derwertige (Lowbyte) gesendet werden muß. 
 + 
 +Der Vorteil der binären Parameter ist, daß die Parameterübergabe schneller
 +ist als bei dezimalen Parametern, da weder Host noch Terminal eine Konver-
 +tierung vornehmen müssen und die Anzahl der Parameterbytes in der Regel
 +geringer ist als bei dezimaler Parameterübergabe. 
 + 
 +Der Nachteil ist, daß bei XON/XOFF Flußkontrolle einige Zahlen als XON oder
 +XOFF interpretiert werden können und daß diese Parameter nicht auf Funk-
 +tionstasten gelegt werden können, wenn sie Zeichen > Hex 7F enthalten. 
 + 
 + 
 +#k("6.2.2.2", "Dezimale Parameter")# 
 + 
 +Dezimale Parameter bestehen aus einer Folge von ASCII-Zeichen. Die beiden
 +Koordinaten werden durch einen Separator (Komma, CR, Semikolon o.ä.) ge-
 +trennt. Nach dem 2. Parameter steht ein weiterer Separator. An beliebiger
 +Stelle in und vor den Zahlen dürfen Leerzeichen (<SPACE>) oder Pluszeichen
 +(+) stehen, die keine Änderung des Ergebnisses bewirken. Ein Minuszeichen
 +vor einer Zahl negiert sie. 
 + 
 +Der Vorteil der dezimalen Parameter ist, daß sie in höheren Programmier-
 +sprachen bequem und lesbar in ein Programm geschrieben werden können und daß
 +keine Steuerzeichen vorkommen, die die XON/XOFF - Flußkontrolle stören könn-
 +ten. Außerdem können diese Parameter immer auf Funktionstasten gelegt wer-
 +den, da sie keine Codes > Hex 7F enthalten. 
 + 
 +Der Nachteil ist wie unter 6.2.2.1 geschrieben, die Zeitdauer der zweima-
 +liegen Konvertierung (Host, Terminal) und die in der Regel längeren Parame-
 +ter. 
 + 
 + 
 +#k("6.2.3", "Absolute oder relative Koordinaten")# 
 + 
 +Bei den Move- und Drawbefehlen hat man die Wahl zwischen relativen und abso-
 +luten Koordinaten. 
 + 
 +Absolute Koordinaten setzen den Graphikcursor direkt auf die als Parameter
 +angegebene Position. Z.B. <ESC> v 200, 100; setzt den Cursor direkt auf die
 +Position X=200, Y=100. Die meisten Programme unterstützen nur absolute Koor-
 +dinaten. 
 + 
 +Relative Koordinaten werden zur aktuellen Position des Graphikcursors ad-
 +diert. Das hat den Vorteil, daß eine Routine nicht zu wissen braucht, wo der
 +Graphikcursor gerade steht. Man kann sich zum Beispiel Folgen von relativen
 +Move's und Draw's auf Funktionstasten legen, die dann im Localmodus an der
 +aktuellen Cursorposition irgendwelche Symbole oder Sonderzeichen zeichnen.
 +Z.B. <ESC> q -4, 3; bewegt den Graphikcursor 4 Punkte nach links und 3 Punk-
 +te nach oben. 
 + 
 + 
 +#k("6.2.4", "Byteparameter")# 
 + 
 +Byteparameter sind solche, die nur aus einem Byte bestehen. Die Werte kön-
 +nen also normalerweise von 0 bis 255 oder Hex 00 bis Hex FF. In den Fällen,
 +in denen nicht der ganze Wertebereich genutzt wird, werden nur die nieder-
 +wertigsten Bits ausaskiert, die höherwertigen werden ignoriert, wenn nicht
 +ausdrücklich etwas anderes angegeben ist. Im Bereich von 0 bis 7 sind Wert
 +und ASCII-Ziffer identisch. Bei Werten großer als 9 geht das allerdings
 +nicht mehr. Sind zum Beispiel die Werte von 0 bis 15 erlaubt, dann kann man
 +folgende Tabelle benutzen: 
 + 
 +#on("u")#Wert   ASCII (Hex) oder Binär#off("u")# 
 +  0      0     30        00 
 +  1      1     31        01 
 +  2      2     32        02 
 +  3      3     33        03 
 +  4      4     34        04 
 +  5      5     35        05 
 +  6      6     36        06 
 +  7      7     37        07 
 +  8      8     38        08 
 +  9      9     39        09 
 + 10      :     3A        0A 
 + 11      ;     3B        0B 
 + 12      <     3C        0C 
 + 13      =     3D        0D 
 + 14      >     3E        0E 
 + 15      ?     3F        0F 
 + 
 +Für Werte zwischen 0 und 31 benutzt man dann besser die Buchstaben (Groß-
 +buchstaben und [\]^_ oder Kleinbuchstaben und {|}~ und <DEL>). Die Zuord-
 +nung entnimmt man der ASCII-Tabelle in Anhang A. 
 + 
 + 
 +#k("6.3", "Die Graphikparameter")# 
 + 
 +Für die Linien und Zeichen in der Graphik gibt es verschiedene Darstellungs-
 +weisen. Man kann die Strichdicke, die Farbe (auf einem Monochrommonitor die
 +Helligkeit), den Linientyp (durchgehend, gepunktet, gestrichelt etc.) und
 +die Bitverknüpfungen (löschen, invertieren...) festlegen. Diese Parameter
 +werden mit einem Kommando <ESC> O <n> ... verändert. 
 + 
 +Mit dem Kommando 
 + 
 +                         #ib(1)#<ESC> O 0#ie(1)#    (Hex 1B 4F 30) 
 + 
 +werden all diese Parameter auf Defaultwerte zurückgesetzt. Diese Default-
 +werte sind: Strichdicke 1, durchgehende Linie, OR-Bitverknüpfung (Punkte
 +setzen), helle Farbe (gelb). Ausserdem wird die Seite 0 als sichtbare und
 +als Arbeitsseite gewählt. Es wird auf ganzseitige Graphik geschaltet (falls
 +im Graphikmodus). 
 + 
 + 
 +#k("6.3.1", "Strichdicke")# 
 + 
 +Die Strichdicke einer Linie ist normalerweise 1. Die Strichdicke 2 zeichnet
 +parallel zur ursprünglichen Linie auf beiden Seiten jeweils eine weitere
 +Linie der gleichen Länge. Die Strichdicke 3 zeichnet dann auf beiden Seiten
 +jeweils zwei parallele Linien usw. Die Strichdicke kann von 1 bis 15 ge-
 +wählt werden. Sie wird mit dem Kommando 
 + 
 +                         #ib(1)#<ESC> O 1#ie(1)# <dicke>   (Hex 1B 4F 31 <dicke>) 
 + 
 +eingestellt. <dicke> ist ein Byteparameter (Kapitel 6.2.4) mit dem Wertebe-
 +reich 1 bis 15. 
 + 
 + 
 +#k("6.3.2", "Farbe/Helligkeit")# 
 + 
 +Normalerweise ist Gelb (hell) eingestellt. Die Alternative ist Violett (dun-
 +kel). Jeweils 7 nebeneinanderliegene Graphikpunkte haben die gleiche Farbe.
 +Auf einem Farbmonitor kann die Farbe auch noch durch den Inhalt dieser 7
 +Graphikpunkte bestimmt werden. Der Farbmodus wird von diesem Terminalpro-
 +gramm allerdings nicht unterstützt, da sich dann die Auflösung in X-Richtung
 +halbiert (also nur noch 140 x 192 Punkte). 
 + 
 +Mit dem Kommando 
 + 
 +                         #ib(1)#<ESC> O 2#ie(1)# <n>    (Hex 1B 4F 32 <n>) 
 + 
 +kann die Helligkeit eingestellt werden. <n> ist ein Byteparameter bei dem
 +nur das Bit 0 wichtig ist: 
 + 
 +Bit 0   Bedeutung 
 +  0     dunkel/Violett     <n> ist eine gerade Zahl 
 +  1     hell/Gelb          <n> ist eine ungerade Zahl 
 + 
 + 
 +#k("6.3.3", "Linientyp")# 
 + 
 +Der Linientyp ist das "Muster" der Striche. Es gibt 7 vordefinierte Strich-
 +muster und ein vom Benutzer definiertes. Der Linientyp (im folgenden auch
 +Pattern genannt) wird mit dem Kommando 
 + 
 +                         #ib(1)#<ESC> O 3#ie(1)# <n>    (Hex 1B 4F 33 <n>) 
 + 
 +eingestellt. <n> ist ein Byteparameter mit dem Wertebereich von 0 bis 7. Die
 +Strichtypen sind <n> folgendermaßen zugeordnet: 
 + 
 +#on("u")#<n>  Bitmuster (16 Bit)  Name                    #off("u")# 
 + 0                       unsichtbare Linie 
 + 1   ----------------    durchgehende Linie 
 + 2   - - - - - - - -     gepunktete Linie 
 + 3   ----    ----        kurz gestrichelte Linie 
 + 4   --------            lang gestrichelte Linie 
 + 5   --------    -       Strichpunktlinie 
 + 6   -   -   -----       Strich-Punkt-Punkt Linie 
 + 7   - - - -  - - - -    Benutzerdefinierte Linie 
 +                         (Hier Defaultangabe) 
 + 
 +Die Bitmuster sind immer 16 Bit lang. Nach einem Movebefehl startet der
 +nächste Draw-Befehl mit dem linkesten (niederwertigsten!) Bit des Bitmu-
 +sters. Das Muster wiederholt sich bei längeren Linien zyklisch. Wird zwi-
 +schen zwei Draw-Befehlen kein Move-Befehl gegeben, dann setzt der zweite
 +Draw-Befehl im Bitmuster nach der gleichen Stelle fort, an der der erste
 +Draw-Befehl aufgehört hat. Auch dicke Linien behalten das Linienmuster bei,
 +man sollte dann allerdings von gepunkteter auf lang gestrichelte Linie über-
 +gehen, wenn man eine gepunktete dicke Linie haben will. 
 + 
 + 
 +#k("6.3.3.1", "Selbstdefinierte Linientypen (Pattern)")# 
 + 
 +Wie in 6.3.3 angemerkt kann ein Linientyp auch vom Benutzer selbst definiert
 +werden. Da die Länge 16 Bit ist, kann man mit den relativen Move's und
 +Draw's zusammen gut kleine Bildchen (Icons) zusammenstellen. Eine Hilfe ist
 +dabei auch die Bitverknüpfung COPY, die im nächsten Abschnitt erläutert
 +wird. Man legt dazu zuerst das 16 Bit-Pattern als jeweils eine Zeile des
 +Icons fest und zieht dann von links nach rechts eine 16 Punkte lange Linie
 +mit dem benutzerdefinierten Pattern. Nach einem relativen Move (-16, -1)
 +kann der Vorgang für die nächste Zeile fortgesetzt werden. 
 + 
 +Das benutzerdefinierbare Pattern wird mit dem Kommando 
 + 
 +                         #ib(1)#<ESC> O 6#ie(1)# <l> <h>    (Hex 1B 4F 36 <l> <h>) 
 + 
 +festgelegt. <l> ist dabei das niederwertige (Lowbyte) des Bitmusters, <h>
 +ist das höherwertige (Highbyte) des Bitmusters. Wenn das Pattern als Muster
 +für Linien (und nicht für Icons) benutzt wird, dann sollte man darauf ach-
 +ten, daß das Bit 0 im Lowbyte 1 ist, damit man bei kurzen Linien, denen ein
 +Move vorangegangen ist, zumindestes einen Punkt sieht. 
 + 
 + 
 +#k("6.3.4", "Bitverknüpfungen")# 
 + 
 +Über Bitverknüpfungen werden die Punkte auf der Graphikseite verändert. Das
 +Linienmuster wird dazu zyklisch punktweise abgetastet und jenachdem ob das
 +aktuelle Bit im Linienbitmuster 0 oder 1 ist eine Veränderung der Graphik-
 +seite durchgeführt. 
 +Bis auf die COPY-Funktion wirken die Bitverknüpfungen nur auf die Graphik-
 +seite, wenn der aktuelle Punkt im Linientyp-Bitmuster 1 ist. 
 + 
 +- Das Zeichnen einer sichtbaren Linie mit weißen Punkten geschieht zum Bei-
 +  spiel durch eine OR- (Oder-) Verknüpfung. 
 + 
 +- Das Löschen einer Linie (also das Zeichnen von "schwarzen" Punkten) ge-
 +  schieht mit einer AND- (Und-) Verknüpfung (Genau genommen eine NAND-, d.h.
 +  negierte AND-Verknüpfung). 
 + 
 +- Das Invertieren (d.h. Weißer Punkt wird schwarz, schwarzer Punkt wird
 +  weiß) kann man mit einer XOR- (Exklusiv-Oder-) Verknüpfung erreichen. 
 + 
 +- Für Icons (siehe 6.3.3.1) und andere Zwecke, gibt es noch die COPY-Funk-
 +  tion, die eigentlich keine einzelne Bitverknüpfung ist. Ist im Linientyp
 +  das aktuelle Bit 0, dann wird in der Graphikseite eine AND-Verknüpfung
 +  durchgeführt (d.h. der Punkt wird gelöscht) ist das aktuelle Bit im Li-
 +  nientyp 1, dann wird eine OR-Verknüpfung durchgeführt (d.h. der Punkt wird
 +  gelöscht). Der Effekt ist, daß genau das Bitmuster des Linientyps in der
 +  Graphikseite erscheint ("kopiert" wird), egal was vorher da stand, wo die
 +  Linie gezeichnet wurde. 
 + 
 +Die Bitverknüpfung kann mit dem Kommando 
 + 
 +                         #ib(1)#<ESC> O 4#ie(1)# <n>    (Hex 1B 4F 34 <n>) 
 + 
 +festgelegt werden. <n> ist ein Byteparameter mit dem Wertebereich 0 bis 3. 
 +<n> hat folgende Bedeutung: 
 + 
 +<n>  Bitverknüpfung         Verwendung 
 +#linie ("16.2")# 
 + 0   OR (Oder)              Weiß (auf schwarzem Grund) zeichnen 
 + 1   AND (Und)              Schwarz (auf weißem Grund) zeichnen 
 + 2   XOR (Exklusiv Oder)    Schwarze und Weiße Punkte umdrehen (invertie-
 + ren) 
 + 3   COPY (kopieren)        Icons zeichnen oder Bilduntergrund überschrei-
 + ben 
 + 
 + 
 +#k("6.3.5", "Multiparametereinstellung")# 
 + 
 +Die obigen Parameter (bis auf Linientyp) können alle zugleich mit einem
 +Kommando gesetzt werden. Das Kommando lautet 
 + 
 +                         #ib(1)#<ESC> O 5#ie(1)# <n>    (Hex 1B 4F 35 <n>) 
 + 
 +<n> ist ein Byteparameter mit dem Wertebereich 0 bis 127. Die Bits sind
 +folgendermaßen zugeordnet: 
 + 
 +   Bit     Bedeutung        Werte 
 +#linie ("16.2")# 
 + 0 .. 3  : Strickdicke      1 .. 15 
 + 4 .. 5  : Bitverknüpfung   0 = OR, 16 = AND, 32 = XOR, 48 = COPY 
 +      6  : Farbe/Helligkeit 0 = Violett (dunkel), 64 = Gelb (hell) 
 + 
 +Standardeinstellung ist also '<ESC> O 5 A'. 
 + 
 + 
 +#k("6.4", "Graphikseiten")# 
 + 
 +Das Terminal verwaltet zwei Graphikseiten mit einer Größe von jeweils 8k
 +Byte (d.h. 8192 Bytes). 
 + 
 + 
 +#k("6.4.1", "Die sichtbare Seite und die Arbeitsseite")# 
 + 
 +Die beiden Graphikseiten können (müssen aber nicht) getrennt voneinander
 +angezeigt und bearbeitet werden. Das kann sinnvoll sein, wenn eine Seite "im
 +Hintergrund" aufbereitet werden soll, während die andere (schon aufbereite-
 +te) Seite angezeigt wird. Man kann auch die 80-Zeichen Textseite anzeigen
 +und eine oder beide Graphikseiten im Hintergrund aufbereiten. Durch abwec-
 +hselndes Umschalten der Arbeits- und Anzeigeseite kann dann der Eindruck
 +eines bewegten Bildes erzeugt werden. Um diesen Vorgang zu beschleunigen,
 +kann man die Graphikseiten auch auf dem Host vorbereiten und (im Hinter-
 +grund) an das Terminal senden (bei 19200 Baud dauert das pro Seite ca. 4.7
 +Sekunden). 
 + 
 +Die sichtbare und die Arbeitsseite können mit dem Kommando 
 + 
 +                         #ib(1)#<ESC> O 7#ie(1)# <n>    (Hex 1B 4F 37 <n>) 
 + 
 +gewählt werden. <n> ist ein Byteparameter mit dem Wertebereich 0 bis 7. 
 + 
 +Bit 0 von <n> : Sichtbare Seite (0 oder 1) 
 +Bit 1 von <n> : Arbeitsseite (0 oder 1) 
 +Bit 2 von <n> : 1 = 80 Zeichen Textseite wird in den untersten 32 Graphik-
 +                zeilen eingeblendet. 0 = Nur Graphikmode. 
 + 
 +#on("u")#<n>     Sichtbar Arbeitsseite  Inhalt der untersten 32 Graphikzeilen#off("u")# 
 + 0      Seite 0  Seite 0       Graphik (Seite 0) 
 + 1      Seite 1  Seite 0       Graphik (Seite 1) 
 + 2      Seite 0  Seite 1       Graphik (Seite 0) 
 + 3      Seite 1  Seite 1       Graphik (Seite 1) 
 + 4      Seite 0  Seite 0       Text 
 + 5      Seite 1  Seite 0       Müll 
 + 6      Seite 0  Seite 1       Text 
 + 7      Seite 1  Seite 1       Müll 
 + 
 + 
 +#k("6.4.1.1", "80-Zeichen Text und Graphik")# 
 + 
 +Mit dem in 6.4.1 beschriebenen Kommando können, wie beschrieben, die unter-
 +sten 4 Zeilen der Textzeile (d.h. ggf. auch die Statuszeile) statt der un-
 +tersten 32 Graphikzeilen dargestellt werden. Da es nur eine Textseite gibt
 +und jeder Graphikseite eine eigene Textseite zugeordnet ist, ist die Mi-
 +schung von Text und Graphik in der Graphikseite 1 auf diese Weise nicht
 +sinnvoll, da dann in den unstersten 32 Graphikzeilen nur Müll erscheint. Das
 +Einblenden wird vom Terminal z.B. genutzt, wenn die Kommandozeile aktiviert
 +wird. Man kann zum Beispiel Benutzerhinweise in die untersten 4 Zeilen der
 +Textseite schreiben. Zeichenbefehle arbeiten in dem unsichtbaren (ausgeblen-
 +deten) Teil der Graphikseite weiter. Das Ergebnis kann man sich beim Wieder-
 +-Einblenden ansehen. 
 + 
 + 
 +#k("6.4.2", "Aufbau einer Graphikseite")# 
 + 
 +Eine Graphikseite besteht aus 8192 Bytes, von denen 7680 genutzt werden, 512
 +sind somit (in der Graphikseite verstreut) ungenutzt. Jedes Byte besteht aus
 +einem Farbbit (Bit 7) und 7 angezeigten Graphikbits. Ein gesetztes Bit ent-
 +spricht einem sichtbaren Punkt auf dem Bildschirm. Das niederwertigste Bit
 +eines Bytes wird am weitesten links angezeigt. 
 +Jede der 192 Graphikzeilen besteht also aus 40 Bytes. Jeweils 8 Graphikzei-
 +len sind zu Reihen zusammengefaßt. Es gibt also 24 Reihen. Jede erste Gra-
 +phikzeile einer Reihe hat eine Anfangsadresse, die in folgender Tabelle
 +aufgelistet ist: 
 + 
 +#on("u")#Reihe  Adresse  Hex  |  Reihe  Adresse  Hex  |  Reihe  Adresse  Hex#off("u")# 
 +  0        0    000  |    8      40     028  |   16      80     050 
 +  1      128    080  |    9     168     0A8  |   17     208     0D0 
 +  2      256    100  |   10     296     128  |   18     336     150 
 +  3      384    180  |   11     424     1A8  |   19     464     1D0 
 +  4      512    200  |   12     552     228  |   20     592     250 
 +  5      640    280  |   13     680     2A8  |   21     720     2D0 
 +  6      768    300  |   14     808     328  |   22     848     350 
 +  7      896    380  |   15     936     3A8  |   23     976     3D0 
 + 
 +Um den Offset den n. Graphikzeile in einer Reihe zu finden kann man folgen-
 +de Tabelle benutzen: 
 + 
 +#on("u")#n  Offset (Hex)#off("u")# 
 +0      0   0000 
 +1   1024   0400 
 +2   2048   0800 
 +3   3072   0C00 
 +4   4096   1000 
 +5   5120   1400 
 +6   6144   1800 
 +7   7168   1C00 
 + 
 +Beispiel: 
 +  Die Adresse des Punktes (123, 45) soll bestimmt werden. 
 +  45 DIV 8 = 5, d.h. Y liegt in Reihe 5 mit Adresse 640 (Dezimal). 45 MOD 8
 +                = 5, d.h. Y liegt in der n=5. Graphikzeile von Reihe 5. Der
 +                Y-Offset also 5120. 
 +  123 DIV 7 = 17 d.h. X liegt im Byte mit X-Offset 17. 
 +  Die Adresse des Punktes ist also im Byte 17 + 5120 + 640 = 5777. 
 +  123 MOD 7 = 4  d.h. Bit 4 in Byte 5777 ist der gesuchte Punkt. 
 + 
 + 
 +#k("6.4.3", "Operationen auf den Graphikseiten")# 
 + 
 +Hier sollen nur die Operationen erläutert werden, die nicht in andere Kate-
 +gorien (z.B. Löschen, Linien zeichnen etc.) passen. 
 + 
 +Es gibt ein universelles Kommando, mit dem zwei Graphikseiten invertiert,
 +kopiert, gemischt und miteinander logisch verknüpft werden können. Verän-
 +dert wird bei diesem Kommando nur die Arbeitsseite. 
 + 
 +Das Kommando lautet 
 + 
 +                         #ib(1)#<ESC> !#ie(1)# <n>    (Hex 1B 21 <n>) 
 + 
 +<n> ist dabei ein Byteparameter mit dem Wertebereich 0 bis 15 und hat fol-
 +gende Bedeutung: 
 + 
 +<n>   Bedeutung 
 +#linie ("16.2")# 
 + 0    Keine Veränderung. Kopiert die Arbeitsseite in sich selbst (Färbt die
 +      Arbeitsseite allerdings mit der aktuellen Farbe/Helligkeit). 
 + 1    Die Arbeitsseite wird invertiert. 
 + 2    Mischt beide Seiten zusammen (OR Verknüpfung). 
 + 3    Mischt beide Seiten zusammen (OR) und invertiert das Ergebnis. 
 + 6    Bildet den Durchschnitt beider Seiten (AND Verknüpfung). 
 + 7    Bildet den Durchschnitt beider Seite (AND) und invertiert das Ergebnis
 +10    Es sind die Punkte gesetzt, die in beiden Seiten verschieden sind (XOR
 +      Verknüpfung). 
 +11    Es sind die Punkte gesetzt, die in beiden Seiten gleich sind (d.h. das
 +      Inverse von <n>=10). 
 +14    Kopiert die andere Seite in die Arbeitsseite. 
 +15    Kopiert das Inverse von der anderen Seite in die Arbeitsseite. 
 + 
 +Andere Werte für <n> wiederholen sich in der Tabelle. Die ganze Arbeitssei-
 +te hat nach der Operation die gewählte Farbe/Helligkeit. 
 + 
 + 
 +#k("6.4.4", "Laden einer Graphikseite vom Host")# 
 + 
 +Graphikseiten können ganz oder teilweise vom Host geladen werden. Das kön-
 +nen auf dem Terminal erstellte und dann an den Host gesendete (Teil-)
 +Graphiken sein, aber auch auf dem Host erstellte. In diesem Fall ist das
 +Kapitel 6.4.2 (Aufbau einer Graphikseite) interessant. 
 + 
 +Mit dem Kommando 
 + 
 +                         #ib(1)#<ESC> /#ie(1)# <ll> <lh> <al> <ah> <b...> 
 +                                                    (Hex 1B 2F ...) 
 + 
 +kann eine Seite oder ein Teil einer Seite in die Arbeitsseite geladen wer-
 +den. <lh>, <ll>, <ah>, <al> und <p...> sind Byteparameter (8 Bits). <ll> und
 +<lh> bilden zusammen die binäre Länge, d.h. die Anzahl der Datenbytes
 +<p...>, die die Graphik enthalten. Die Länge kann von 0 bis Hex 2000 (dezi-
 +mal 8192) reichen. Die Adresse, durch <al> und <ah> gebildet, darf von 0 bis
 +Hex 1FFF reichen. Zusätzlich gilt, daß die Summe von Länge und Adresse nicht
 +größer als Hex 2000 sein darf, da sonst außerhalb der Graphikseite geladen
 +würde. In einem dieser Fehlerfälle werden die folgenden Graphikdatenbytes
 +ignoriert. Die Datenbytes werden dann als Kommandos interpretiert, was zu
 +unvorhersehbaren Reaktionen des Terminals führt. 
 + 
 + 
 +#k("6.4.5", "Graphik auf Diskette speichern/laden")# 
 + 
 +Um Graphikseiten, zum Besipiel für Präsentationen, unabhängig vom Host auf
 +dem Bildschirm darstellen zu können, benutzt man das Kommando 
 + 
 +                         #ib(1)#<ESC> S#ie(1)# <n>    (Hex 1B 53 <n>). 
 + 
 +Man kann bis zu 8 verschiedene Graphikseiten vorbereiten, auf Diskette spei-
 +chern und zu einem späteren Zeitpunkt wieder in das Terminal zurückladen.
 +Dieses Kommando wird auch verwendet, um eine Textseite auf Diskette zu
 +schreiben oder von Diskette zu lesen. <n> ist ein Byteparameter mit dem
 +Wertebereich 0 bis 31, wobei die Bits folgendermaßen belegt sind: 
 + 
 +Bit 0..2 : "Fachnummer" der Graphikseite auf der Diskette (0 bs 7) 
 +Bit 3    : Bei Graphikseiten immer 1 (Bei Textseiten 0) 
 +Bit 4    : 0 heißt: die Graphikseite wird von der Diskette gelesen, 
 +           1 heißt: die Graphikseite wird auf die Diskette geschrieben. 
 + 
 +Wird die Graphikseite auf die Diskette geschrieben, dann wird eine eventuell
 +schon in diesem "Fach" vorhandene Graphikseite überschrieben. 
 + 
 +Wie bei allen Graphikkommandos, bezieht sich dieses Kommando nicht unbedingt
 +auf die sichtbare Graphikseite, sondern auf die Arbeitsseite. 
 + 
 +Beispiele: 
 +    <ESC> S <CTRL H> liest die Graphikseite in Fach 0 in die Arbeitsseite. 
 +    <ESC> S <CTRL X> schreibt die Arbeitsseite in Fach 0 der Diskette. 
 + 
 +Da das Lesen einer Graphikseite von Diskette mit ca. 1.1 Sekunden, um eini-
 +ges schneller als der Datentransfer vom Host ist, sollte man bewegte Graphi-
 +ken auf Diskette vorbereiten und sie dann mit verschränkter Arbeits- und
 +Sichtbarkeitsseite anzeigen. 
 +Z.B.: Seite 1 als Arbeitsseite wählen, Seite 0 als sichtbare Seite. Graphik
 +      von Diskette laden (wird in Seite 1 (= Arbeitsseite) geladen) Seite 1
 +      als sichtbare Seite wählen, Seite 0 jetzt als Arbeitsseite wählen. Die
 +      nächste Graphikseite wird von der Diskette in die Seite 1 geladen etc. 
 +      Bei dieser Vorgehensweise scheinen Übergänge kontinuierlich zu sein. 
 + 
 +Für Insider: Eine Graphikseite belegt zwei Tracks (8k). Die 8 Graphikseiten
 +             befinden sich auf den Tracks 10 bis 25 in aufsteigender Reihen-
 +             folge. 
 + 
 + 
 +#k("6.5", "Textdarstellung im Graphikmodus")# 
 + 
 +Nicht nur auf der 80-Zeichen Textseite können Buchstaben und Zeichen darge-
 +stellt werden, sondern auch auf den Graphikseiten. Die Auflösung ist zwar
 +nicht so groß wie auf der reinen Textseite, aber die Anzahl der verschiede-
 +nen Darstellungsmöglichkeiten ist sehr viel größer. Fast alle Kommandos, die
 +in der Textseite angewandt werden können, haben in der Graphikseite die
 +gleiche Funktion. 
 + 
 +Textdarstellung in der Graphikseite ist hauptsächlich zum Beschriften von
 +Graphiken oder zum Drucken von Überschriften etc. vorgesehen. Da aber fast
 +alle Textkommandos (Delete/Insert Line/Character fehlt) auch im Graphikmo-
 +dus zur Verfügung stehen, kann man auch im Graphikmodus Textverarbeitung
 +oder Editor benutzen. 
 + 
 + 
 +#k("6.5.1", "Zeichendarstellung")# 
 + 
 +Die normale Größe eines Zeichens ist 6 x 10 Punkte (x * y), damit lassen
 +sich 46 x 19 Zeichen (874 Zeichen) voll auf dem Bildschirm darstellen. Wenn
 +die Größe mit einem Kommando auf 5 x 8 Punkte verringert wird, dann lassen
 +sich 56 x 24 Zeichen (1344 Zeichen) auf dem Bildschirm darstellen. Komfor-
 +table Textverarbeitung läßt sich damit natürlich nicht machen, zumal die
 +Geschwindigkeit, mit der die Zeichen auf den Bildschirm geschrieben werden
 +gegenüber der der reinen Textseite langsamer ist. 
 + 
 + 
 +#k("6.5.1.1", "Zeichengröße und Schreibrichtung")# 
 + 
 +Die Zeichen können in verschiedenen Größen und unter verschiedenen Winkeln
 +auf den Bildschirm geschrieben werden. Damit ist auch ein Schreiben von
 +rechts nach links mit auf dem Kopf stehenden Zeichen möglich. 
 +Bei normaler Schreibrichtung (waagerecht von links nach rechts) befindet
 +sich die linke untere Ecke eines Zeichens an der Position des Graphikcur-
 +sors. Nach dem Zeichnen des Zeichens befindet sich der Graphikcursor hinter
 +der rechten unteren Ecke des Zeichens. Da sich die Zeichen aus Vektoren
 +(Linien) zusammensetzen und nicht aus einer festen Punktmatrix, können sie
 +schnell beliebig gedreht und vergrössert (und verkleinert) werden. Der Dreh-
 +winkel ist wie bei allen Graphikwinkelangaben in 5 Grad Schritten anzugeben.
 +Die Zuordnung der Winkel zu den Parameterwerten oder ASCII-Zeichen ist im
 +Anhang A angegeben. 
 + 
 +Das Kommando 
 + 
 +                         #ib(1)#<ESC> N#ie(1)# <b> <h> <w>    (Hex 1B 4E <b><h><w>) 
 + 
 +stellt Breite, Höhe und Drehwinkel der Zeichen ein. Alle Parameter sind
 +Byteparameter mit dem Wertebereich 0 bis 255. Mit einem Parameter Hex 00
 +kann der Defaultwert (Standardwert) für den jeweiligen Parameter eingestellt
 +werden. 
 +<b> bezeichnet die Zeichenbreite in Punkten. Standardwert ist 6. 
 +<h> bezeichnet die Zeichenhöhe in Punkten. Standardwert ist 10. 
 +<w> bezeichnet den Drehwinkel in 5 Grad Schritten. Standardwert ist 0. 
 + 
 +Einige ausgezeichnet Werte für <w> sind: 
 +<w>    Richtung 
 +#linie ("16.2")# 
 + 0     Waagerecht von links nach rechts (Ost) 
 + 9     Schräg nach unten rechts         (Süd-Ost) 
 +18     Senkrecht von oben nach unten    (Süd) 
 +27     Schräg nach unten links          (Süd-West) 
 +36     Waagerecht (auf dem Kopf stehend) von rechts nach links (West) 
 +45     Schräg nach oben links           (Nord-West) 
 +54     Senkrecht von unten nach oben    (Nord) 
 +63     Schräg von nach oben rechts (Aufwärts) (Nord-Ost) 
 +72...  Wie 0 ... 
 + 
 + 
 +#k("6.5.1.2", "Dicke, Farbe etc.")# 
 + 
 +Buchstaben werden mit Vektoren (Linien) gezeichnet. Die gleichen Parameter,
 +die für Striche eingestellt werden, wirken dann auch auf die Zeichen. Mög-
 +liche Parameter sind Farbe, Linientyp, Strichdicke und Bitverknüpfung. Mit
 +dem Kommando 
 + 
 +                         #ib(1)#<ESC> O 0#ie(1)#    (Hex 1B 4F 30) 
 + 
 +werden alle diese Parameter auf Standardwerte zurückgesetzt. Die Standard-
 +werte sind in Kapitel 6.3 erläutert. Die Beschreibung des Kommandos zur
 +Einstellung der Zeichenfarbe ist in Kapitel 6.3.2 beschrieben, das Einstel-
 +len der Zeichendicke in Kapitel 6.3.1, das Einstellen des Linientyps in
 +Kapitel 6.3.3 und das Einstellen der Bitverknüpfung ist in Kapitel 6.3.4
 +beschrieben. Auch für die Zeichendarstellung können mehrere dieser Parame-
 +ter zugleich mit einem Kommando eingestellt werden. Das Multiparameterkom-
 +mando ist in Kapitel 6.3.5 beschrieben. 
 + 
 + 
 +#k("6.5.1.3", "Zeichensätze und Attribute")# 
 + 
 +Ähnlich wie bei der 80-Zeichen Textdarstellung können Zeichensatz und Text-
 +attribute eingestellt werden. Mit dem Kommando 
 + 
 +                         #ib(1)#<ESC> z#ie(1)# <n>    (Hex 1B 7A <n>) 
 + 
 +kann einer der beiden Zeichensätze USA oder GER (ASCII und Deutsch) gewählt
 +werden. Ein griechischer Zeichensatz ist unabhängig von beiden immer vor-
 +handen. 
 +<n> ist ein Byteparameter mit dem Wertebereich 0 bis 15, im Graphikmodus
 +sind aber nur die beiden folgende Werte sinnvoll: 
 + 
 +#on("u")#<n>  Zeichensatz  Abweichende Zeichen#off("u")# 
 + 2   Deutsch      Ä Ö Ü ä ö ü ß 
 + 4   Ascii        [ \ ] { | } ~ 
 + 
 +Außerdem kann der Zeichensatz im ersten Feld der ersten Kommandozeile ein-
 +gestellt werden. Im amerikanischen Zeichensatz treten die deutschen Buch-
 +staben außerdem im Bereich von 214 bis 219 und 251 auf. Der Graphikzeichen-
 +satz ist im Anhang abgebildet. 
 + 
 +Wie im Textmodus können Attribute mit dem Kommando 
 + 
 +                         #ib(1)#<ESC> G#ie(1)# <n>    (Hex 1B 47 <n>) 
 + 
 +eingestellt werden. <n> ist ein Byteparameter mit dem Wertebereich 0, 1, 4
 +und 5. Die Werte von <n> sind folgendermaßen zugeordnet: 
 + 
 +#on("u")#<n>  Bedeutung                                       #off("u")#
 + 0   Normaler Text (sichtbar und aufrecht) 
 + 1   Unsichtbarer Text (Nur der Cursor wird bewegt) 
 + 4   Kursivschrift, die Zeichen werden schräggestellt 
 + 5   Wie 1 (unsichtbarer Text) 
 + 
 +Das Kommando 
 + 
 +                         #ib(1)#<ESC> )#ie(1)#   (Hex 1B 29) 
 + 
 +hat wie im Textmodus die gleiche Bedeutung wie <ESC> G 4. Damit wird im
 +Graphikmodus die Kursivschrift eingeschaltet. Mit dem Kommando 
 + 
 +                         #ib(1)#<ESC> (#ie(1)#   (hex 1B 28) 
 + 
 +wird die Kursivschrift wieder ausgeschaltet. Im Textmodus invers hervorge-
 +hobene Textstellen werden im Graphikmodus also durch Kursivschrift hervor-
 +gehoben. 
 +Steht rechts neben der Zeichenspalte mit einem Kursivzeichen ein nicht kur-
 +sives Zeichen, dann wird das rechte Zeichen möglicherweise etwas überschrie-
 +ben, da es in den oberen Teil des Kursivzeichens hineinragt. Das kann ver-
 +mieden werden, wenn nach dem Ausschalten der Kursivschrift ein Leerzeichen
 +ausgegeben wird. 
 + 
 + 
 +#k("6.5.1.4", "Zeichen überschreiben")# 
 + 
 +Im 80-Zeichen Textmodus kann man Zeichen einfach übereinandertippen, das
 +zweite Zeichen ersetzt dann das erste. Im Graphikmodus sollen Texte auch mit
 +in eine Zeichnung geschrieben werden können, ohne daß Teile von Linien even-
 +tuell gelöscht werden. Dieser Modus bringt außerdem eine etwas größere
 +Schreibgeschwindigkeit mit sich. Es ist aber auch möglich, daß die Fläche,
 +in die das Zeichen geschrieben werden soll, vorher gelöscht wird, um ein
 +sauberes Schriftbild zu erzielen. Mit dem Kommando 
 + 
 +                         #ib(1)#<ESC> &#ie(1)#   (Hex 1B 26) 
 + 
 +kann man das vorherige Löschen einschalten, mit dem Kommando 
 + 
 +                         #ib(1)#<ESC> '#ie(1)#   (Hex 1B 27) 
 + 
 +wird der Modus des Überschreibens ausgeschaltet. 
 + 
 +Bei Kursivzeichen wird eine rautenförmige Fläche gelöscht oder gefüllt (wenn
 +Bitverknüpfung AND eingeschaltet ist). Bei normalen Zeichen wird eine re-
 +chteckige Fläche, der mit #ib(1)#<ESC> N#ie(1)# eingestellten Breite und Höhe, gelöscht
 +oder gefüllt. Zu beachten ist, daß das Löschen/Füllen nur bei waagerechter
 +Schreibrichtung von links nach rechts funktioniert. 
 + 
 +Da die Größe der Zeichen in weiten Grenzen mit <ESC> N eingestellt werden
 +kann, ist es auch möglich mit dem durch <ESC> & eingeschalteten Ersetzungs-
 +modus schnell rechteckige Flächen zu füllen oder zu löschen, wenn nicht auf
 +das später beschriebene Füllkommando für beliebige Flächen zurückgegriffen
 +werden soll. Dazu schaltet man mit dem Kommando <ESC> O 4 1 die Bitverknü-
 +pfung AND (für Füllen) ein und gibt dann einfach ein Leerzeichen aus, das
 +dann invertiert dargestellt wird. 
 + 
 + 
 +#k("6.5.2", "Textkommandos im Graphikmodus")# 
 + 
 +Fast alle Textkommandos des 80-Zeichen Textmodus wirken auch im Graphikmo-
 +dus. Einige Kommandos, wie Zeichen senden, Zeile senden, Cursorposition
 +senden, haben im Graphikmodus andere Funktionen und haben deshalb andere
 +Escape-Sequenzen. Textkommandos, die nicht im Graphikmodus vorhanden sind:
 +<ESC> I (Backtab), <ESC> j (Reverse Linefeed), <ESC> E (Insert Line), <ESC>
 +Q (Insert Character), <ESC> R (Delete Line), <ESC> W (Delete Character). 
 + 
 + 
 +#k("6.5.2.1", "Die Cursorpositionierung")# 
 + 
 +Die Cursorpositionierungskommandos (UP, DOWN, LEFT, RIGHT) wirken im Gra-
 +phikmodus in die aktuelle Schreibrichtung. Beispiel: Wenn als Schreibwinkel
 +180 Grad eingestellt wurde (Winkel 36, also von rechts nach links auf dem
 +Kopf schreiben), dann muß man, um einen Backspace (d.h. ein Zeichen zurück)
 +auszuführen, nicht <RIGHT> sondern wie bei normaler Schreibrichtung üblich,
 +<LEFT> drücken. Die vier Cursorsteuertasten funktionieren für beliebige
 +Schreibrichtungen. Alle anderen Steuertasten beziehen sich immer auf waage-
 +rechte Schreibrichtung von links nach rechts. 
 + 
 +Alle Steuertasten berücksichtigen die Zeichengröße (Breite und Höhe). Auch
 +die Graphikseite wird am Ende der letzten Zeile um soviele Graphikzeilen
 +gescrollt, wie ein Zeichen hoch ist. 
 + 
 +Folgende Steuerkommandos/Tasten wirken im Graphikmodus: 
 + 
 +Basis-Taste    Apple-Taste  Hex-Code   Bedeutung 
 +#linie ("16.2")# 
 +#ib(1)#<TAB>#ie(1)#            <TAB>         09      Der Cursor wird an die nächste (re-
 +                                       chte) Tabulatorposition gesetzt.
 +                                       Tabulatorpositionen sind alle 8 Spal-
 +                                       ten (wie im Textmodus). Liegt die
 +                                       nächste Tabulatorposition außerhalb
 +                                       des sichtbaren Bereichs, dann steht
 +                                       der Cursor jetzt da. 
 + 
 +#ib(1)#<SHIFT CE>#ie(1)#       <OA CTRL X>    -      Kommandozeile aktivieren. 
 +                                       Einzelheiten zur Kommandozeile siehe
 +                                       Abschnitt 3.: Die Kommandozeilen. 
 + 
 +#ib(1)#<CE>#ie(1)#             <CTRL X>      18      u.a. Kommandozeile verlassen. 
 + 
 +#ib(1)#<RETURN>#ie(1)#         <RETURN>      0D      Zum Zeilenanfang ohne Zeilenvorschub. 
 +                                       Der Cursor steht dann in der ersten
 +                                       Spalte der Zeile. 
 + 
 +#ib(1)#<SHIFT RETURN>#ie(1)#   <OA RETURN>   8D      Zum Anfang der nächsten Zeile. Falls
 +                                       der Cursor in der letzten sichtbaren
 +                                       Bildschirmzeile war, wird der Bild-
 +                                       schirminhalt entweder nach oben ge-
 +                                       scrollt (SCROLL) oder in Homeposition
 +                                       gebracht (PAGE). 
 + 
 +#ib(1)#<UP>#ie(1)#             <UP>       8B/0B      Cursor eine Zeile höher (bzw. über
 +                                       die Zeile). War der Cursor in der
 +                                       ersten sichtbaren Bildschirmzeile,
 +                                       dann steht er jetzt im unsichtbaren
 +                                       Bereich. 
 + 
 +#ib(1)#<DOWN>#ie(1)#           <DOWN>     8A/0A      Cursor eine Zeile tiefer (bzw. "un-
 +                                       ter" die Zeile). War der Cursor in
 +                                       der letzten sichtbaren Zeile, dann
 +                                       wird der Inhalt des Graphikbild-
 +                                       schirms nach oben gescrollt, d.h. die
 +                                       obersten Zeilen werden gelöscht (im
 +                                       SCROLL-Modus) oder der Cursor in die
 +                                       erste Zeile gesetzt (im PAGE-Modus). 
 + 
 +#ib(1)#<CTRL V>#ie(1)#         <CTRL V>      16      Cursor eine Zeile tiefer (bzw. "un-
 +                                       ter" die Zeile). War der Cursor in
 +                                       der letzten Zeile, dann ändert er
 +                                       seine Position nicht. Die Spalte
 +                                       ändert sich nicht. 
 + 
 +#ib(1)#<LEFT>#ie(1)#           <LEFT>     88/08      Cursor eine Spalte nach links (bzw.
 +                                       entegegen der Schreibrichtung). War
 +                                       der Cursor in der ersten sichtbaren
 +                                       Bildschirmspalte, dann ist er jetzt
 +                                       unsichtbar "links" davon. 
 + 
 +#ib(1)#<RIGHT>#ie(1)#             -          95      Cursor eine Spalte nach rechts (bzw.
 +                                       in Schreibrichtung). War der Cursor
 +                                       in der letzten sichtbaren Spalte,
 +                                       dann befindet er sich jetzt außer-
 +                                       halb des Bildschirms. Im Gegensatz
 +                                       zum Textmodus wird kein Linefeed oder
 +                                       Scroll ausgeführt. 
 + 
 +#ib(1)#<HOME>#ie(1)#           <OA @>        C0      Der Cursor wird in die linke obere
 +                                       Bildschirmecke gebracht (Homeposi-
 +                                       tion). 
 + 
 +#ib(1)#<SHIFT HOME>#ie(1)#     <OA P>        D0      Bildschirm löschen und Cursor Home. 
 + 
 +#ib(1)#<DELETE>#ie(1)#         <DELETE>      7F      Dieses Zeichen wird auf dem Bild-
 +                                       schirm nicht dargestellt. Der Host
 +                                       interpretiert es in der Regel als
 +                                       Zeichenlöschbefehl. 
 + 
 +#ib(1)#<BOTTOMLEFT>#ie(1)#     <BACKSPACE>   08      Cursor eine Spalte nach links (bzw.
 +                                       entgegen der Schreibrichtung). Die
 +                                       Funktion ist mit der von <LEFT> iden-
 +                                       tisch. 
 + 
 +#ib(1)#<BOTTOMRIGHT>#ie(1)#    <RIGHT>       15      Apple: Cursor eine Spalte nach re-
 +                                       chts (bzw. in Schreibrichtung). Die
 +                                       Funktion ist mit der von <RIGHT>
 +                                       identisch. 
 + 
 +#ib(1)#<ESC>#ie(1)#            <ESC>         1B      Leitet eine Escape-Sequenz ein. 
 + 
 +#ib(1)#<SHIFT CTRL HOME>#ie(1)#<OA 0>         -      Local/Online umschalten 
 + 
 +#ib(1)#<CTRL HOME>#ie(1)#      <OA SPACE>   '00'     Sendet V24-Break (Hexcode 00 mit
 +                                       Rahmenfehler). Als Rahmenfehler wird
 +                                       das Fehlen des oder der Stopbits
 +                                       bezeichnet (Stopbitpegel ist norma-
 +                                       lerweise 1, bei Break dagegen 0). 
 + 
 +Unbelegte Funktionstasten erzeugen Graphikzeichen, die im Anhang A nachge-
 +sehen werden können. 
 + 
 + 
 +#k("6.5.2.2", "Löschbefehle")# 
 + 
 +Das Kommando (Clear to End Of Line) 
 + 
 +                         #ib(1)#<ESC> T#ie(1)#    (Hex 1B 54) 
 + 
 +löscht ab der aktuellen Cursorposition bis zum Zeilenende. Die Höhe des
 +gelöschten Balkens entspricht der Buchstabenhöhe. Der Balken wird unabhän-
 +gig von der Bitverknüpfung immer gelöscht. Der Balken wird unabhängig von
 +der Schreibrichtung immer waagerecht gelöscht. 
 + 
 +Das Kommando (Clear to End Of Page) 
 + 
 +                         #ib(1)#<ESC> Y#ie(1)#    (Hex 1B 59) 
 + 
 +löscht den Graphikbildschirm von der aktuellen Cursorposition an bis zum
 +Bildschirmende. Auch dieses Kommando löscht unabhängig von der gewählten
 +Bitverknüpfung und Schreibrichtung immer waagerecht. 
 + 
 +Die Kommandos 
 + 
 +                         #ib(1)#<ESC> *#ie(1)#    (Hex 1B 2A) 
 +                         #ib(1)#<ESC> ,#ie(1)#    (Hex 1B 2C) 
 +                         #ib(1)#<ESC> +#ie(1)#    (Hex 1B 2B) 
 +                         #ib(1)#<ESC> :#ie(1)#    (Hex 1B 3A) 
 +                         #ib(1)#<CTRL Z>#ie(1)#   (Hex 1A) 
 + 
 +löschen den Bildschirm und bringen den Graphikcursor in Homeposition, d.h.
 +eine Buchstabenhöhe unter dem oberen Bildschirmrand. 
 + 
 +Das Kommando 
 + 
 +                         #ib(1)#<ESC> y#ie(1)#    (Hex 1B 79) 
 + 
 +löscht den Bildschirm und bringt den Graphikcursor in die linke untere Ecke,
 +d.h. den Ursprung des Koordinatensystems. 
 + 
 + 
 +#k("6.6", "Die Graphikkommandos")# 
 + 
 + 
 +#k("6.6.1", "Draw's und Move's")# 
 + 
 +Draw's sind Zeichenbefehle, die eine Linie zeichnen und den Cursor an den
 +Endpunkt der Linie positionieren. Move's positionieren nur den Cursor und
 +zeichnen nicht. Bei allen Draw's ist der Anfangspunkt der Linie die aktuel-
 +le Cursorposition. Die Endposition kann relativ, absolut oder mit einem
 +relativen Winkel angegeben werden. Der Befehl zum Setzen/Löschen eines Punk-
 +tes wurde mit in diese Befehlskategorie aufgenommen. 
 + 
 + 
 +#k("6.6.1.1", "Punkt setzen")# 
 + 
 +Der Befehl zum Setzen eines Graphikpunktes ist ein absoluter Befehl, d.h.
 +die Koordinaten des Punktes folgen dem Kommando. Die Position des Graphik-
 +cursors wird durch diesen Befehl nicht verändert. 
 + 
 +Das Kommando 
 + 
 +                         #ib(1)#<ESC> m#ie(1)# <x, y;>    (Hex 1B 6D <x, y;>) 
 + 
 +setzt einen Punkt an die Position x/y, wenn diese innerhalb des sichtbaren
 +Bereichs liegt. <x, y;> sind dezimale oder binäre Koordinaten. Das Aussehen
 +des Punktes kann durch Farbe/Helligkeit oder Bitverknüpfung festgelegt wer-
 +den. Mit einer AND-Bitverknüpfung wird der angegebene Punkt gelöscht, mit
 +einer OR oder COPY Bitverknüpfung wird der angegebene Punkt gesetzt, mit
 +einer XOR Bitverknüpfung wird sein Zustand umgedreht (invertiert). 
 +Soll ein dicker Punkt gezeichnet werden, dann kann man den (relativen)
 +Draw-Befehl <ESC> r 0, 0; benutzen, der an die Position des Graphikcursors,
 +einen Punkt der eingestellten Dicke zeichnet. 
 + 
 + 
 +#k("6.6.1.2", "Move-Befehle")# 
 + 
 +Den Move-Befehl gibt es in zwei Versionen, einer relativen und einer abso-
 +luten. Das Kommando für einen absoluten Move lautet 
 + 
 +                         #ib(1)#<ESC> v#ie(1)# <x, y;>    (Hex 1B 76 <x, y;>) 
 + 
 +Dabei sind <x, y;> dezimale oder binäre Koordinaten, die die neue Position
 +des Graphikcursors bezeichnen. Diese Position muß nicht im sichtbaren Be-
 +reich liegen, sondern kann auch außerhalb des Fensters liegen. Der Wertebe-
 +reich von <x> und <y> ist -32768 bis 32767. 
 + 
 +Das Kommando für den relativen Move-Befehl lautet 
 + 
 +                         #ib(1)#<ESC> q#ie(1)# <x, y;>    (Hex 1B 71 <x, y;>) 
 + 
 +Bei diesem Befehl werden die Werte von <x> und <y>, die auch den gesamten
 +Wertebereich von -32768 bis 32767 überstreichen dürfen, zu den Koordinaten
 +des Graphikcursors addiert. Auch hier darf die neue Position des Graphik-
 +cursors außerhalb des sichtbaren Bereichs liegen. 
 + 
 +Die Move-Befehle setzen außerdem das Bitmuster für den Linientyp wieder auf
 +den Startwert zurück, damit der nächste Draw-Befehl auch mit einem Punkt
 +beginnt. 
 + 
 + 
 +#k("6.6.1.3", "Draw-Befehle")# 
 + 
 +Ebenso wie den Move-Befehl gibt es auch den Draw-Befehl in zwei Versionen,
 +einer relativen und einer absoluten. Das Kommando für einen absoluten Draw
 +lautet 
 + 
 +                         #ib(1)#<ESC> w#ie(1)# <x, y;>    (Hex 1B 77 <x, y;>) 
 + 
 +Dabei sind <x, y;> dezimale oder binäre Koordinaten, die die Endposition der
 +Linie bezeichnen. Diese Position muß nicht im sichtbaren Bereich liegen,
 +sondern kann auch außerhalb des Fensters liegen. Der unsichtbare Teil der
 +Linie wird dann "geclippt". Der Wertebereich von <x> und <y> ist -32768 bis
 +32767. 
 + 
 +Das Kommando für den relativen Draw-Befehl lautet 
 + 
 +                         #ib(1)#<ESC> r#ie(1)# <x, y;>    (Hex 1B 72 <x, y;>) 
 + 
 +Bei diesem Befehl werden die Werte von <x> und <y>, die auch den gesamten
 +Wertebereich von -32768 bis 32767 überstreichen dürfen, zu den Koordinaten
 +des Graphikcursors addiert, die dann die Endposition der Linie bilden. Auch
 +hier darf die Endposition der Linie außerhalb des sichtbaren Bereichs lie-
 +gen. 
 + 
 + 
 +#k("6.6.1.4", "Turtle-Graphik")# 
 + 
 +Turtle-Graphik (Schildkröten-Graphik, obwohl hier keine Schildkröte sicht-
 +bar ist) wird zur Erzeugung von "rekursiven" Graphiken, die mit Längen und
 +Winkelangaben, statt mit x/y-Koordinaten, arbeiten benötigt. Man stellt sich
 +dazu eine Schildkröte vor, die auf ihrem Weg über den Bildschirm eine sicht-
 +bare Spur zurücklassen kann (aber nicht muß). Die Schildkröte kann einen Weg
 +bestimmter Länge in ihre Blickrichtung gehen und bleibt dann stehen. Außer-
 +dem kann sie sich nach links oder rechts drehen, d.h. ihre Blickrichtung
 +ändert sich. Alles was man dazu braucht, ist ein Befehl, der die Richtung
 +der Schildkröte verändern kann und dann einen Weg bestimmter Länge in dieser
 +Richtung zurücklegt. Außerdem wird noch ein Befehl benötigt, der das "Spur-
 +verhalten" der Schildkröte ändert, also von "Spur sichtbar" auf "Spur un-
 +sichtbar" umschaltet und umgekehrt. Natürlich ist die Zeichengeschwindigkeit
 +nicht mit der Fortbewegungsgeschwindigkeit von Schildkröten zu vergleichen.
 +Das erste Kommando lautet 
 + 
 +                         #ib(1)#<ESC> n#ie(1)# <l, w;>    (Hex 1B 6E <l, w;>) 
 + 
 +<l> und <w> sind dezimale oder binäre Parameter. <l> ist die Länge der Spur
 +mit einem Wertebereich von 0 bis 511. <w> ist der relative Drehwinkel der
 +Schildkröte, also die Änderung von der ursprünglichen Blickrichtung aus. <w>
 +überstreicht den positiven und negativen Winkelbereich (0..71 entsprechen 0
 +bis 355 in 5 Grad Schritten. -1 entspricht z.B. 355 Grad). 
 + 
 +Mit dem Kommando 
 + 
 +                         #ib(1)#<ESC> o#ie(1)#    (Hex 1B 6F) 
 + 
 +kann von 'Draw' einer Spur auf 'Move' umgeschaltet werden und umgekehrt. 
 + 
 +Um die Sichtbarkeit der Spur am Programmamfang auf einen definierten Wert zu
 +setzen, kann man das Kommando 
 + 
 +                         #ib(1)#<ESC> O 8#ie(1)# <n>    (Hex 1B 4F 38 <n>) 
 + 
 +benutzen. <n> ist ein Byteparameter mit dem Wertebereich 0 bis 3. 
 + 
 +#on("u")#Bit 0 hat folgende Bedeutung:                                    #off("u")# 
 +  0       Pendown. Die Schildkröte hinterläßt eine sichtbare Spur 
 +  1       Penup. Die Schildkröte hinterläßt keine Spur 
 + 
 +#on("u")#Bit 1 hat folgende Bedeutung:                                    #off("u")# 
 +  0       Drawer. Es wird eine weiße Linie gezeichnet. 
 +  1       Eraser. Es wird eine schwarze Linie gezeichnet (gelöscht) 
 + 
 + 
 +Mit dem Kommando 
 + 
 +                         #ib(1)#<ESC> O 9#ie(1)#    (Hex 1B 4F 39) 
 + 
 +wird die Turtle-Graphik initialisiert. Dieses Kommando muß nicht aufgerufen
 +werden bevor die Turtle-Graphik benutzt wird, sollte aber nach Möglichkeit
 +am Anfang eines Turtle-Graphik-Programmes benutzt werden. Das Kommando setzt
 +die Schildkröte in die Mitte des Bildschirms (140, 96) mit Blickrichtung
 +nach oben. Der Drawer wird eingeschaltet (zeichnen) und eine sichtbare Linie
 +wird voreingestellt (Pendown). 
 + 
 + 
 +#k("6.6.2", "Komplexere Zeichenkommandos")# 
 + 
 +Außer den Kommandos zum Zeichnen von Linien und zum Bewegen des Graphikcur-
 +sors gibt es noch verschiedene andere Zeichenkommandos. 
 + 
 + 
 +#k("6.6.2.1", "Kreise und Kreissegmente")# 
 + 
 +Der Mittelpunkt eines Kreises liegt immer an der aktuellen Cursorposition.
 +Der Radius eines Kreises ist in weiten Grenzen von 0 bis über 30000 Punkten
 +wählbar. Clipping wird ausserhalb des Bildschirmrandes durchgeführt. Ein
 +Kreis kann in 8 Segmente unterteilt werden, von denen alle oder nur einzel-
 +ne gezeichnet werden können. Damit ist es dann auch möglich, Halb- oder
 +Viertelkreise zu Zeichnen. 
 + 
 +Mit dem Kommando 
 + 
 +                         #ib(1)#<ESC> K#ie(1)# <r, s;>   (Hex 1B 4B <r, s;>) 
 + 
 +wird ein Kreis mit dem Radius <r> um die aktuelle Cursorposition gezeichnet
 +(relative Kreise). <s> legt fest, welche Segmente gezeichnet werden sollen.
 +<r, s;> sind dezimale oder binäre Parameter. <s> hat den Wertebereich von 0
 +bis 255. 
 +Jedes Bit in <s> ist einem Kreissegment zugeordnet. Ist das Bit gesetzt (1),
 +dann wird das zugehörige Segment gezeichnet. Der Wert 0 entspricht dem Wert
 +255 (der ganze Kreis wird gezeichnet), ist aber etwas schneller, da keine
 +Abfrage der einzelnen Bits durchgeführt wird. 
 + 
 +Die Segmente sind folgendermaßen numeriert: 
 + 
 +                                  7  0 
 +                                6      1 
 +                                5      2 
 +                                  4  3 
 + 
 +Beispiele für <n> : 
 + 
 +#on("u")#<n>  Bedeutung                               #off("u")#
 +  0  Zeichnet einen ganzen Kreis 
 + 15  Zeichnet einen links offenen Halbkreis 
 +240  Zeichnet einen rechts offenen Halbkreis 
 +195  Zeichnet einen unten offenen Halbkreis 
 + 60  Zeichnet einen oben offenen Halbkreis 
 +  3  Zeichnet ein Kreisviertel rechts oben 
 + 12  Zeichnet ein Kreisviertel rechts unten 
 + 48  Zeichnet ein Kreisviertel links unten 
 +192  Zeichnet ein Kreisviertel links oben 
 +etc. 
 + 
 +Das Aussehen von Kreisen kann durch die Parameter Farbe/Helligkeit und die
 +Bitverknüpfung verändert werden. Der Linientyp (Punkt-, Strichlinie) und die
 +Strickdicke haben keinen Einfluß, d.h. der Kreis wird immer mit durchgehen-
 +der Linie und einfacher Dicke gezeichnet. Sollen diese beiden Parameter auch
 +verändert werden, sollte man den Befehl <ESC> s für Ellipsenbögen verwenden. 
 + 
 + 
 +#k("6.6.2.2", "Rechtecke")# 
 + 
 +Rechtecke werden ebenso wie Kreise relativ gezeichnet, d.h. die aktuelle
 +Cursorposition bildet eine Ecke des Rechtecks. Die Seiten des Rechtecks
 +liegen parallel zur X- und Y-Achse, gedrehte Rechtecke können aber aus 4
 +relativen Draw-Befehlen zusammengesetzt werden. 
 + 
 +Das Kommando 
 + 
 +                         #ib(1)#<ESC> J#ie(1)# <b, h;>    (Hex 1B 4A <b, h;>) 
 + 
 +zeichnet ein leeres Rechteck (Rahmen) an der aktuellen Cursorposition. <b,
 +h;> sind dezimale oder binäre Parameter. <b> ist die Breite des Rechtecks
 +und kann den ganzen Wertebereich von -32768 bis 32767 überstreichen, <h> ist
 +die Höhe des Rechtecks und kann ebenfalls diesen Wertebereich überstreichen.
 +Je nach Vorzeichen von <b> und <h> wird das Rechteck links/ rechts und
 +oben/unten von der aktuelle Cursorposition gezeichnet. 
 + 
 +<b> <h>  Cursorposition bildet die Ecke 
 + +   +   unten links 
 + +   -   oben links 
 + -   +   unten rechts 
 + -   -   oben rechts 
 + 
 + 
 +#k("6.6.2.3", "Bögen und Ellipsen")# 
 + 
 +Um die Zeichengeschwindigkeit eines Kreises zu vergrößern, wurde ein sepa-
 +rater Befehl für Kreise eingeführt (6.6.2.1). Da der Kreis ein Sonderfall
 +der Ellipse ist, kann man das in diesem Abschnitt beschriebene Kommando auch
 +benutzen, um Kreise mit anderen als den unter 6.6.2.1 beschriebenen Segmen-
 +ten oder Parametern (Dicke, Strichtyp) zu Zeichnen. 
 + 
 +Das Kommando 
 + 
 +                         #ib(1)#<ESC> s#ie(1)# <xr, yr,> <aw, ew;>    (Hex 1B 73 ...) 
 + 
 +zeichnet um die aktuelle Cursorposition (also relativ) einen Ellipsenbogen
 +mit Radius <xr> in X-Richtung und Radius <yr> in Y-Richtung, ausgehend vom
 +Anfangswinkel <aw> im Uhrzeigersinn, bis zum Endwinkel <ew>. Der Winkel 0
 +Grad ist dabei oben (Norden). 
 + 
 +Alle Parameter sind dezimale oder binäre Parameter. <aw> und <ew> haben den
 +Wertebereich von 0 bis 255, wobei eine ganze Ellipse einem Anfangswinkel von
 +0 und einem Endwinkel von 72 entspricht. Die Winkelangaben sind in 5 Grad
 +Schritten und können Anhang A entnommen werden.. <xr> und <yr> dürfen den
 +vollen Wertebereich von -32768 bis 32767 überstreichen. 
 + 
 + 
 +#k("6.6.2.4", "Gefüllte Flächen")# 
 + 
 +Rechteckige oder rautenförmige Flächen können, wie in Abschnitt 6.5.1.4
 +beschrieben, schnell gefüllt werden. Für beliebig geformte Flächen kann das
 +Kommando 
 + 
 +                         #ib(1)#<ESC> |#ie(1)#<n>    (Hex 1B 7C <n>) 
 + 
 +benutzt werden. Dies ist ein relatives Kommando, da um die aktuelle Cursor-
 +position herum gefüllt wird. <n> ist ein Byteparameter mit dem Wertebereich
 +0 bis 15, der die Nummer des Musters für die Füllung angibt. Der Fill-Befehl
 +arbeitet auf der aktuellen Arbeitsseite und füllt eine sichtbar begrenzte
 +Fläche mit einem angegebenen Muster aus. 
 + 
 +Ist die Bitverknüpfung OR eingestellt darf der Cursor nicht auf einem weißen
 +Punkt stehen und die Fläche muß von einer durchgehenden weißen Linie be-
 +grenzt sein. 
 +Ist die Bitverknüpfung AND eingestellt, darf der Cursor nicht auf einem
 +schwarzen Punkt stehen und die Fläche muß von einer durchgehenden schwarzen
 +Linie begrenzt sein. 
 + 
 +Außer den Parametern Bitverknüpfung und Helligkeit/Farbe werden keine be-
 +rücksichtigt. 
 + 
 +Bei sehr komplex geformten Figuren kann der Fall eintreten, daß die Fläche
 +nicht ganz gefüllt ist. Dies liegt daran, daß intern ein zu größer Spei-
 +cherplatz zum Merken von Rücksprungcursorpositionen benötigt wird (Stack-
 +Überlauf). In diesem Fall sollte man den Cursor nocheinmal auf die nicht
 +gefüllte Fläche setzen und das Kommando erneut geben. 
 + 
 +<n> kann folgende Werte annehmen (Werte Hexadezimal angegeben 0..F): 
 +<n>  Bedeutung 
 +#linie ("16.2")# 
 + 0   Fläche ganz gefüllt 
 + 1   Fläche halb gefüllt (grau) 
 + 2   Jede 4. Zeile wird durchgezogen 
 + 3   Jede 2. Zeile wird durchgezogen 
 + 4   Jede 4. Spalte wird durchgezogen 
 + 5   Jede 2. Spalte wird durchgezogen 
 + 6   Jede 4. Zeile und jede 4. Spalte wird durchgezogen (grobes Raster) 
 + 7   Jede 2. zeile und jede 2. Spalte wird durchgezogen (feines Raster) 
 + 8   Schraffur von links unten nach rechts oben 
 + 9   Schraffur von links oben nach rechts unten 
 + A   Schräges Raster (Links- und Rechtsschraffur) 
 + B   Feines Funktraster(jeder 2.Punkt in x- und y-Richtung wird gesetzt) 
 + C   Mauerwerk 
 + D   Feines Netzgeflecht 
 + E   Feine Zickzacklinie 
 + F   Benutzerdefinierbares Muster. Default: Grobe Zickzacklinie 
 + 
 +Ist die AND-Bitverknüpfung eingeschaltet, dann sind die Punkte schwarz und
 +weiß in den Mustern vertauscht und in der obigen Tabelle sind die Bezeich-
 +nungen 'gefüllt' und 'gelöscht' auszutauschen. 
 + 
 + 
 +#k("6.6.2.4.1", "Definition des Musters")# 
 + 
 +Das benutzerdefinierbare Muster des Fill-Befehls (Muster 15) kann mit dem
 +Kommando 
 + 
 +                         #ib(1)#<ESC> O :#ie(1)# <b1..b8>   (Hex 1B 4F 3A <b1..b8>) 
 + 
 +eingestellt werden. Das Defaultmuster wird dabei überschrieben, das neu
 +eingestellte Muster allerdings nicht beim Setup mitgesichert. 
 +<b1..b1> sind 8 Byteparameter mit dem gesamten Wertebereich 0 bis 255. Das
 +erste Byte wird im Füllmuster in Richtung der niedrigeren y-Positionen dar-
 +gestellt, das niederwertigste Bit jedes Bytes in Richtung der niedrigeren
 +x-Positionen. 
 + 
 + 
 +#k("6.7", "Graphikdaten zum Host")# 
 + 
 +Bisher wurden nur Kommandos beschrieben, die der Host an das Terminal sen-
 +den kann. Damit der Host über den Status des Terminals informiert werden
 +kann, sind auch Kommandos vorhanden, die Daten an den Host senden. Der Host
 +kann auch ganze Graphikseiten anfordern, so daß die auf dem Terminal er-
 +zeugten Graphiken nach dem Ausschalten nicht verloren sind, sondern vom Host
 +gespeichert werden können. 
 + 
 + 
 +#k("6.7.1", "Graphikseiten zum Host")# 
 + 
 +Graphikseiten können ganz oder teilweise übertragen werden. Da ein angefor-
 +dertes Datenpaket immer ganz übertragen wird, sollte der Host, wenn keine
 +Flußkontrolle eingeschaltet ist, nur so große Blöcke anfordern, die er puf-
 +fern kann (z.B. 256 Bytes). Selektives Lesen von Graphikseiten kann auch
 +verwendet werden, um Teile einer Graphik vom Host (und nicht vom Terminal)
 +verändern zu lassen. Mit dem Kommando <ESC> / ... kann der modifizierte Teil
 +dann wieder an das Terminal zurückgesendet werden. Zum Aufbau der Graphik-
 +seite findet man in Kapitel 6.4.2 Informationen. 
 + 
 +Mit dem Kommando 
 + 
 +                         #ib(1)#<ESC> \#ie(1)# <ll> <lh> <al> <ah>   (Hex 1B 5C ...) 
 + 
 +kann eine Seite oder ein Teil einer Seite in an den Host gesendet werden.
 +<lh>, <ll>, <ah> und <al> sind Byteparameter (8 Bits). <ll> und <lh> bilden
 +zusammen die binäre Länge, d.h. die Anzahl der Datenbytes, die zum Host
 +gesendet werden. Die Länge kann von 0 bis Hex 2000 (dezimal 8192) reichen.
 +Die Adresse durch <al> und <ah> gebildet, darf von 0 bis Hex 1FFF reichen.
 +Zusätzlich gilt, daß die Summe von Länge und Adresse nicht größer als Hex
 +2000 sein darf, da sich die Endadresse dann ausserhalb der Graphikseite
 +befindet. In diesem Fehlerfall werden keine Daten gesendet. 
 + 
 + 
 +#k("6.7.2", "Cursorposition zum Host")# 
 + 
 +Da die Graphikcursorposition einen anderen Wertebereich überstreicht als die
 +Position des Textcursors, wurde zum Senden der Graphikcursorposition ein
 +weiteres Kommando eingeführt. Pro Koordinate werden dabei 2 Bytes, zusammen
 +also 4 Bytes, gesendet. Mit dem Kommando 
 + 
 +                         #ib(1)#<ESC> ;#ie(1)#    (Hex 1B 3B) 
 + 
 +kann der Host diese 4 Bytes anfordern. Die Reihenfolge der Bytes ist <xlow>
 +<xhigh> <ylow> <yhigh>. Im Gegensatz zu <ESC> ? (für die Textcursorposi-
 +tion) wird auch kein abschließendes <CR> gesendet. 
 + 
 + 
 +#k("6.7.3", "Einzelne Bits zum Host")# 
 + 
 +Außer ganzen Graphikseiten oder Blöcken daraus, kann der Host auch einzelne
 +Bytes oder Bits selektieren und empfangen. Dazu stehen zwei Kommandos zur
 +Verfügung. Mit dem Kommando 
 + 
 +                         #ib(1)#<ESC> _#ie(1)#    (Hex 1B 5F) 
 + 
 +kann das Byte angefordert werden, in dem sich der Graphikcursor gerade be-
 +findet. Das Bit 7 ist das Farb- oder Helligkeitsbit, das Bit (xpos MOD 7)
 +ist das Bit, das durch den Graphikcursor addressiert wird. Wenn der Cursor
 +außerhalb des sichtbaren Bereichs ist, wird ein Byte Hex 00 geliefert. 
 + 
 +Mit dem Kommando 
 + 
 +                         #ib(1)#<ESC> -#ie(1)#    (Hex 1B 2D) 
 + 
 +kann das Bit, daß durch die Graphikcursorposition addressiert wird, abge-
 +fragt werden. Dieses Kommando liefert ein Byte, in dem die Bits folgende
 +Bedeutung haben: 
 + 
 +#on("u")#Bit 0 Dezimal   Bedeutung                            #off("u")# 
 +  0      0      Das adressierte Bit ist nicht gesetzt 
 +  1      1      Das adressierte Bit ist gesetzt 
 + 
 +#on("u")#Bit 1 Dezimal   Bedeutung                   #off("u")# 
 +  0      0      Die Farbe ist violett/dunkel 
 +  1      2      Die Farbe ist gelb/hell 
 + 
 +Bit 2 Dezimal   Bedeutung 
 +#linie ("16.2")# 
 +  0      0      Der Graphikcursor ist innerhalb des sichtabren Bereichs 
 +  1      4      Der Graphikcursor ist außerhalb des sichtbaren Bereichs. 
 +                Bit 0 und Bit 1 sind dann 0. 
 + 
 +Bit 4 und Bit 5 sind immer 1. Es werden also die ASCII-Ziffern "0" bis "4"
 +geliefert. 
 + 
 + 
 +#k("6.7.4", "Parameter zum Host")# 
 + 
 +Die eingestellten Draw-Parameter können auch abgefragt werden. Dazu exi-
 +stieren zwei Kommandos. Mit dem Kommando 
 + 
 +                         #ib(1)#<ESC> 4#ie(1)#    (Hex 1B 34) 
 + 
 +können die Nummer der sichtbaren und der Arbeitsseite, im gleichen Format
 +wie zum Einstellen der Seiten mit dem Kommando #ib(1)#<ESC> O 7#ie(1)# <n>, angefordert
 +werden. Es werden ASCII-Zeichen von "0" bis "?" geliefert. Die Bits 0 bis 2
 +sind folgendermaßen zugeordnet: 
 + 
 +#on("u")#Bit 0  Bedeutung                #off("u")# 
 +  0    Sichtbar ist Seite 0 
 +  1    Sichtbar ist Seite 1 
 + 
 +#on("u")#Bit 1  Bedeutung               #off("u")# 
 +  0    Arbeitsseite ist Seite 0 
 +  1    Arbeitsseite ist Seite 1 
 + 
 +#on("u")#Bit 2  Bedeutung               #off("u")# 
 +  0    Nur Graphik eingeschaltet 
 +  1    In den letzten 32 Graphikzeilen 
 +       sind 4 Textzeilen eingeblendet 
 + 
 +#on("u")#Bit 3  Bedeutung                         #off("u")# 
 +  0    Der Graphikmodus ist eingeschaltet 
 +  1    Der Textmodus ist eingeschaltet 
 + 
 +Sinnvoll sind die Werte der Bits 0 bis 2 nur dann, wenn Bit 3 = 0 ist. 
 + 
 + 
 +Mit dem Kommando 
 + 
 +                         #ib(1)#<ESC> 5#ie(1)#    (Hex 1B 35) 
 + 
 +können die Linienparameter abgefragt werden. Es wird ein Byte mit dem Wer-
 +tebereich von 1 bis 127 geliefert. Die einzelnen Bits sind folgendermaßen
 +zugeordnet: 
 + 
 +Bit        Bedeutung 
 +#linie("16.2")# 
 +Bit 0..3 : Strichdicke 
 +Bit 4..5 : Bitverknüpfung (0 = OR, 16 = AND, 32 = XOR, 48 = COPY) 
 +Bit 6    : Aktuelle Farbe (0 = Violett/dunkel, 1 = Gelb/hell) 
 + 
 +Die Bitbelegung entspricht der des Parameters des Kommandos #ib(1)#<ESC> O 5#ie(1)# <n>. 
 + 
 + 
 +#k("6.8", "Graphikhardcopy")# 
 + 
 +Wie von der Textseite kann auch von den Graphikseiten ein Ausdruck angefer-
 +tigt werden. Dabei können keine verschiedene Helligkeitsstufen oder Farben
 +dargestellt werden. 
 + 
 + 
 +#k("6.8.1", "Der Druckertreiber")# 
 + 
 +Da das Ein- und Ausschalten des Graphikmodus nicht auf allen Druckern durch
 +gleiche Kommandos erreicht werden kann, muß das Terminal an den vorhandenen
 +Drucker angepaßt werden. Defaultmäßig werden die Epson-Modelle ab RX80 auf-
 +wärts, sowie kompatible (IBM, Panasonic etc.) unterstützt. Die Anpassung
 +wird in diesem Abschnitt beschrieben. 
 + 
 +Mit dem Kommando 
 + 
 +                         #ib(1)#<ESC> ~#ie(1)# <n> <p...>    (Hex 1B 7E <n> <p...>) 
 + 
 +können Kommandosequenzen eingestellt werden, die folgende Aufgaben haben: 
 + 
 +<n> Default (Hex)   Aufgabe 
 +#linie ("16.2")# 
 + 0  0D              Einleiten der gesamten Hardcopy (Waagenrücklauf) 
 + 1  1B 2A 04 18 01  Einschalten des Graphikmodus. Es folgen 280 Graphikby-
 +                    tes (jeweils 8 Bit) 
 + 2  0D 1B 4A 17     Ausschalten des Graphikmodus. Zeilenvorschub ohne Zwi-
 +                    schenraum (Zeilenabstand ca. 8 Punkte) und Waagenrück-
 +                    lauf. 
 + 3     Nichts       Dieses Kommando wird nach der kompletten Hardcopy zum
 +                    Drucker gesendet. 
 + 
 +Wenn doppelte Punktbreite eingeschaltet ist, oder zwei Seiten nebeneinander
 +gedruckt werden, wird die Kommandosequenz 1 auch mehrmals in einer Zeile
 +gegeben. 
 + 
 +<n> ist dabei ein Byteparameter mit dem Wertebereich von 0 bis 3. <p...> ist
 +eine Folge von bis zu 16 Bytes. Das erste dieser 16 Bytes ist ein Längenby-
 +te, das die Länge der Kommandosequenz (oder die Anzahl der noch folgenden
 +Bytes) angibt. Für die nach dem Längenbyte folgenden Bytes sind alle Werte
 +von 0 bis 255 erlaubt. 
 + 
 +Die Druckertreiberstrings (Kommandosequenzen) werden beim Setup in der Kom-
 +mandozeile auch mit abgespeichert, so daß sie nur einmal (wenn überhaupt)
 +und dann nie wieder eingestellt werden müßen. 
 + 
 + 
 +#k("6.8.2", "Die Hardcopyparameter")# 
 + 
 +Im Gegensatz zur Hardcopy einer Textseite kann das Aussehen einer Graphik
 +beim Ausdruck noch verändert werden. Das Kommando 
 + 
 +                         #ib(1)#<ESC> ^#ie(1)# <n>    (Hex 1B 5E <n>) 
 + 
 +druckt eine Hardcopy mit dem Parameter <n>. <n> ist ein Byteparameter mit
 +dem Wertebereich von 0 bis 15. Jedes Bit in <n> legt eine Darstellungsweise
 +fest. Die Bits haben folgende Bedeutung: 
 + 
 +Invertieren: 
 +Bit 0 Dezimal Bedeutung 
 +#linie("16.2")# 
 +  0      0    Helle Punkte auf dem Bildschirm werden auf dem Drucker schwarz
 +              gedruckt, dunkle Punkte bleiben beim Ausdruck weiß. 
 +  1      1    Die Graphik wird invertiert, d.h. Ein dunkler Bildhintergrund
 +              bleibt auf dem Drucker dunkel (schwarz). 
 + 
 +Doppelte Breite: 
 +Bit 1 Dezimal Bedeutung 
 +#linie("16.2")# 
 +  0      0    Jeder Bildschirmpunkt wird in normaler Breite gedruckt. Es
 +              werden also 280 Punkte nebeneinander gedruckt. 
 +  1      2    Jeder Bildschirmpunkt wird in doppelter Breite gedruckt. In
 +              diesem Fall werden auf dem Drucker 560 Punkte nebeneinander
 +              gedruckt. 
 + 
 +Doppelte Höhe: 
 +Bit 2 Dezimal Bedeutung 
 +#linie("16.2")# 
 +  0      0    Jeder Bildschirmpunkt wird in normaler Höhe gedruckt. Es wer-
 +              den also 192 Punkte untereinander gedruckt. 
 +  1      4    Jeder Bildschirmpunkt wird in doppelter Höhe gedruckt. In
 +              diesem Fall werden also 384 Punkte untereinander gedruckt. 
 + 
 +Zwei Seiten nebeneinander drucken: 
 +Bit 3 Dezimal Bedeutung 
 +#linie("16.2")# 
 +  0      0    Es wird nur eine Graphikseite (linksbündig) gedruckt. 
 +  1      8    Die aktuelle (mit #ib(1)#<ESC> O 7#ie(1)# <n> eingestellte) Graphikseite
 +              wird linksbündig und die andere Graphikseite nahtlos rechts
 +              daneben gedruckt. 
 + 
 +Zur Kombination von Möglichkeiten (mehrere Bits sind gesetzt): 
 + 
 +- Eine Graphik mit doppelter Höhe und doppelter Breite hat ungefähr das
 +  Format des Bildschirms. Ein Ausdruck besteht dann aus 560 x 384 = 215040
 +  Punkten. Zusätzliches Invertieren macht die Graphik dem Bildschirmausse-
 +  hen noch ähnlicher. 
 + 
 +- Werden zwei Seiten mit doppelter Breite nebeneinander gedruckt, dann re-
 +  icht die Anzahl der Graphikspalten auf dem Drucker mit dem Defaultgra-
 +  phikmodus nicht mehr aus. In diesem Fall sollte man die Druckertreiber
 +  Kommandosequenz 1 temporär auf eine hohe (4-fache) Dichte umschalten.
 +  Solange kein Setup ausgeführt wird, ist diese Dichte nur solange gültig,
 +  bis das Terminal ausgeschaltet wird. 
 + 
 +#page# 
 +#h("7.", "Die Parameter der seriellen Schnittstelle")# 
 + 
 + 
 +Die Parameter der seriellen Schnittstelle können vom Host durch Escape-
 +Sequenzen gändert werden. Die Änderung der Parameter wird erst durchgeführt,
 +wenn die Parameterübergabe komplett ist (d.h das letzte Byte wurde übertra-
 +gen). Alle Übertragungsparameter wie Stopbits, Datenbits, Parität und Bau-
 +drate werden zusammen in einem 'Rutsch' eingestellt. Die Art der Flußkon-
 +trolle wird mit separaten Escape-Sequenzen eingestellt. 
 +Die Einstellung in der Kommandozeile ist im Kapitel 3 beschrieben. 
 + 
 + 
 +#k("7.1", "Das Übertragungsformat")# 
 + 
 +Das Übertragunsformat eines Datenbytes sieht folgendermaßen aus: 
 +(Beispiel für 8 Datenbits, 1 Paritätsbit und 1 Stopbit) 
 + 
 +        +---+---+---+---+---+---+---+---+---+---+---+ 
 +    ... |"0"| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | P |"1"| ... 
 +        +---+---+---+---+---+---+---+---+---+---+---+ 
 +       Start-  ----  D a t e n b i t s ---- Pari- Stop- 
 +        bit                                 täts- bit 
 +                                            bit 
 +     --------> Zeit 
 + 
 +Bei 7 Datenbits ist das Bit 7 "0". P bezeichnet das Paritätsbit. Wenn zwei
 +Stopbits übertragen werden steht an dieser Stelle das 1. Stopbit ("1"). 
 + 
 + 
 +#k("7.2", "Die Übertragungsparameter")# 
 + 
 +Alle vier Parameter werden zugleich verändert. Das Kommando lautet 
 + 
 +                         #ib(1)#<ESC> <SPACE> <SPACE>#ie(1)# <x>    (Hex 1B 20 20 <x>) 
 + 
 +<x> ist dabei ein Datenbyte, das wie folgt festgelegt wird: 
 + 
 +   Bit     7       6       5       4       3       2       1       0 
 +       +-------+-------+-------+-------+-------+-------+-------+-------+ 
 +       |Parity |Parity | Stop- | Daten-|            Baudrate           | 
 +       | even/ |on/off | bits  | bits  |       |       |       |       | 
 +       | odd   |       |       |       |       |       |       |       | 
 +       +-------+-------+-------+-------+-------+-------+-------+-------+ 
 + 
 + 
 +#k("7.2.1", "Baudrate")# 
 + 
 +Baudrate = Anzahl der pro Sekunde übertragenen Bits (Übertragungsgeschwin-
 +digkeit) . 
 + 
 +         Bits 
 +#on("u")#Dezimal 3 2 1 0    Neue Baudrate#off("u")# 
 +  0     0 0 0 0    Alte Baudrate (nicht verändern) 
 +  1     0 0 0 1      50 Baud 
 +  2     0 0 1 0      75 Baud 
 +  3     0 0 1 1     109.9 Baud 
 +  4     0 1 0 0     134.58 Baud 
 +  5     0 1 0 1     150 Baud 
 +  6     0 1 1 0     300 Baud 
 +  7     0 1 1 1     600 Baud 
 +  8     1 0 0 0    1200 Baud 
 +  9     1 0 0 1    1800 Baud 
 + 10     1 0 1 0    2400 Baud 
 + 11     1 0 1 1    3600 Baud 
 + 12     1 1 0 0    4800 Baud 
 + 13     1 1 0 1    7200 Baud 
 + 14     1 1 1 0    9600 Baud 
 + 15     1 1 1 1   19200 Baud 
 + 
 +Der Wert 0 kann gebraucht werden, wenn nur Datenbits, Stopbits und Pari-
 +tätsbit verändert werden sollen. 
 + 
 + 
 +#k("7.2.2", "Datenbits")# 
 + 
 +Bit 4 legt die Anzahl der gesendeten und empfangenen Datenbits fest. 
 + 
 +#on("u")#Dezimal Bit 4              #off("u")# 
 +   0      0     8 Datenbits 
 +  16      1     7 Datenbits 
 + 
 +Mit einem anschliessenden Kommando 
 + 
 +                         #ib(1)#<ESC> <SPACE> 6#ie(1)#    (Hex 1B 20 36) 
 + 
 +kann das 8. Datenbit ausmaskiert (d.h auf "0" gesetzt) werden. Dies kann
 +notwendig sein, wenn der Host nur 7 Bit ASCII verarbeitet und auf ein ge-
 +setztes 8. Datenbit falsch reagiert (Steuerbit oder ähnliches). 
 + 
 +Mit 
 + 
 +                         #ib(1)#<ESC> <SPACE> 7#ie(1)#    (Hex 1B 20 37) 
 + 
 +kann die Maskierung wieder aufgehoben werden. 
 +Zu beachten ist, daß bei 7 Bit Datentransfer zum Beispiel das Farbbit bei
 +Download einer Graphikseite nicht übertragen wird. 
 + 
 + 
 +#k("7.2.3", "Stopbits")# 
 + 
 +Bit 5 legt die Anzahl der Stopbits fest. 
 + 
 +#on("u")#Dezimal Bit 5            #off("u")# 
 +   0      0    1 Stopbit 
 +  32      1    2 Stopbits 
 + 
 +Zu beachten ist, daß bei eingeschaltetem Paritycheck und 8 Datenbits immer
 +ein Stopbit übertragen wird, auch wenn 2 Stopbits programmiert wurden. (Es
 +können maximal 11 Bits/Daten"byte" übertragen werden.) 
 + 
 + 
 +#k("7.2.4", "Paritätsbit")# 
 + 
 +Bit 6 legt fest, ob Paritätskontrolle erfolgen soll und ob ein Paritätsbit
 +vorhanden ist. 
 + 
 +Dezimal Bit 6 
 +#linie("16.2")# 
 +   0      0     Keine Paritätskontrolle/Kein Paritätsbit 
 +  64      1     Paritätskontrolle eingeschaltet. Parität mit Bit 7 gewählt 
 + 
 +Wenn Bit 6 = 1 ist legt Bit 7 fest, ob gerade oder ungerade Parität geprüft
 +werden soll. 
 + 
 +#on("u")#Dezimal Bit 7                   #off("u")# 
 +   0      0     Ungerade Parität 
 + 128      1     Gerade Parität 
 + 
 + 
 +#k("7.2.5", "Übertragungsfehler")# 
 + 
 +Wird ein Rahmenfehler (Stopbit fehlt) oder ein Paritätsfehler (mindestens
 +ein Bit verfälscht) entdeckt, dann wird statt des empfangenen Mülls ein Byte
 +Hex FF vom Terminal interpretiert. Steht dies im Text, kann man es als in-
 +vertiertes Punktraster erkennen. Dieses Zeichen richtet wenig Schaden an,
 +wenn es mitten in einer Escape-Sequenz empfangen wird. 
 + 
 + 
 +#k("7.3", "Die Flußkontrolle")# 
 + 
 +Damit keine Daten verloren gehen, wenn der Host oder das Terminal keine
 +solchen mehr empfangen kann, sollte eine Flußkontrolle eingeschaltet wer-
 +den. Das Terminal hat zwar einen Empfangspuffer von 4K Byte (4096 Zeichen),
 +aber auch dieser kann einmal voll sein. Der Sendepuffer von 2K Byte (2048
 +Zeichen) wird in Anspruch genommen, wenn der Host dem Terminal per Flußkon-
 +trolle mitgeteilt hat, daß er keine Zeichen mehr empfangen kann. Das Termi-
 +nal wartet dann nicht aktiv auf Freigabe vom Host, sondern kann weiter ar-
 +beiten (Spooler, Bildschirmausgabe, Localmodus etc.). 
 + 
 +Wenn das Terminal den Host "gestoppt" hat, kann man das an einem "B U S Y"
 +in der Statuszeile erkennen, sonst steht dort "R E A D Y". 
 +Wenn der Host das Terminal "gestoppt" hat, kann man das an einem "T X O F F"
 +in der Statuszeile erkennen, sonst steht dort "T X   O N". 
 + 
 +Da dieses Terminal einen großen Empfangspuffer hat, sollte man allerdings im
 +Notfall auch ohne Flußkontrolle auskommen, wenn nicht gerade umfangreiche
 +Graphikoperationen ausgeführt werden sollen, bei denen der Puffer nicht
 +schnell genug geleert werden kann. 
 + 
 + 
 +#k("7.3.1", "XON/XOFF")# 
 + 
 +XON/XOFF ist eine Softwareflußkontrolle. Als Stopzeichen wird 
 + 
 +                         #ib(1)#XOFF#ie(1)#    (#ib(1)#<CTRL S>#ie(1)# Hex 13) 
 + 
 +verwendet. Als Startzeichen wird 
 + 
 +                         #ib(1)#XON#ie(1)#    (#ib(1)#<CTRL Q>#ie(1)# Hex 11) 
 + 
 +verwendet. Diese Flußkontrolle sollte nur im Textmodus verwendet werden, da
 +Binärdaten möglicherweise Hex 11 oder Hex 13 enthalten, die dann nicht als
 +Protokollzeichen verwendet werden sollen. Der Vorteil dieser Art der Fluß-
 +kontrolle ist, daß man mit 3 Leitungen (Masse, TXD, RXD) an der seriellen
 +Schnittstelle auskommt. 
 + 
 +Das Terminal reagiert auf empfangene XON/XOFF-Zeichen sofort, d.h diese
 +Zeichen werden nicht in den Empfangspuffer gestellt. Diese beiden Zeichen
 +werden auch dann interpretiert, wenn das Terminal im Local-Modus ist. 
 + 
 +Die XON/XOFF Flußkontrolle kann in der 2. Kommandozeile ein- und ausgeschal-
 +tet werden, sowie mit dem Kommando 
 + 
 +                         #ib(1)#<CTRL O>#ie(1)#    (Hex 0F) 
 + 
 +eingeschaltet und mit 
 + 
 +                         #ib(1)#<CTRL N>#ie(1)#    (Hex 0E) 
 + 
 +ausgeschaltet werden. 
 + 
 +Zu beachten ist, daß der Sender vor dem Ausschalten noch im "TX OFF"-
 +Zustand sein kann. Man sollte deshalb direkt vor <CTRL N> noch <CTRL Q> (Hex
 +11), also XON senden, um den Sender wieder einzuschalten. Dies wird vom
 +Terminal nicht automatisch gemacht, da sonst ein <CTRL N> das im Datenstrom
 +vorkommt, auch noch ein Zeichen für Flußkontrolle wäre. 
 + 
 + 
 +#k("7.3.2", "DTR/DSR")# 
 + 
 +DTR/DSR ist eine Hardwareflußkontrolle bei der die Leitungen Pin 20 (DTR)
 +und Pin 6 (DSR) (in der Regel überkreuzt) angeschloßen sein müssen. 
 +Bei dieser Art der Flußkontrolle dürfen alle Zeichen übertragen werden, ohne
 +daß eines die Flußkontrolle steuert. Ausnahme: Wenn zusätzlich XON/ XOFF
 +Flußkontrolle eingeschaltet ist werden natürlich XON/XOFF als Steuerzeichen
 +interpretiert. 
 + 
 +DTR (Data Terminal Ready)/DSR (DataSet Ready) Flußkontrolle kann in der 2.
 +Kommandozeile ein- und ausgeschaltet werden. Der Host kann dies mit dem
 +Kommando 
 + 
 +                         #ib(1)#<ESC> <SPACE>#ie(1)# <n>    (Hex 1B 20 <n>) 
 + 
 +erreichen. Die Werte von <n> sind 
 + 
 +#on("u")#<n>  Hex    Bedeutung                                              #off("u")# 
 + 2    32    Weder RTS/CTS noch DSR/DTR Flußkontrolle 
 + 3    33    RTS/CTS Flußkontrolle, aber keine DSR/DTR Flußkontrolle 
 + 4    34    DSR/DTR Flußkontrolle, aber keine RTS/CTS Fluskontrolle 
 + 5    35    DSR/DTR und RTS/CTS Flußkontrolle 
 + 
 +DTR/DSR Flußkontrolle wird empfohlen, da hier alle Zeichen ohne Veränderung
 +empfangen werden können. RTS/CTS Flußkontrolle kann, hardwaremäßig bedingt,
 +beim Einschalten von RTS ein Bit "umkippen". 
 + 
 + 
 +#k("7.3.3", "RTS/CTS")# 
 + 
 +RTS/CTS ist eine Hardwareflußkontrolle bei der die Leitungen Pin 4 (RTS) und
 +Pin 5 (CTS) (in der Regel überkreuzt) angeschloßen sein müssen. 
 +Bei dieser Art der Flußkontrolle dürfen alle Zeichen übertragen werden, ohne
 +daß eines die Flußkontrolle steuert. Ausnahme: Wenn zusätzlich XON/ XOFF
 +Flußkontrolle eingeschaltet ist werden natürlich XON/XOFF als Steuerzeichen
 +interpretiert. 
 + 
 +RTS (Ready To Send)/CTS (Clear To Send) Flußkontrolle kann in der 2. Kom-
 +mandozeile ein- und ausgeschaltet werden. Der Host kann dies mit dem Kom-
 +mando <ESC> <SPACE> <n> erreichen. Die Werte von <n> sind im letzten Ab-
 +schnitt (7.3.2 DTR/DSR) angegeben. 
 + 
 + 
 +#k("7.4", "Echo und Local/Online")# 
 + 
 +In einigen Fällen verlangt der Host, daß das vom Terminal empfangene Zei-
 +chen zurückgesendet (geechoed) wird, um eventuelle Übertragungsfehler zu
 +erkennen. Dieser Modus wird mit dem Kommando 
 + 
 +                         #ib(1)#<ESC> D E#ie(1)#    (Hex 1B 44 45) 
 + 
 +eingeschaltet. Zusätzlich wird hiermit der Localmodus ausgeschaltet (d.h der
 +Online-Modus eingeschaltet), falls das Kommando am Terminal im Local-Modus
 +gegeben wurde. 
 + 
 +Der Echo-Modus wird mit dem Kommando 
 + 
 +                         #ib(1)#<ESC> D O#ie(1)#    (Hex 1B 44 4F) 
 + 
 +ausgeschaltet. Das Terminal befindet sich dann im Fullduplex Online-Modus.
 +Der Local-Modus wird auch hierbei verlassen. 
 + 
 +Der Local-Modus kann vom Host mit dem Kommando 
 + 
 +                         #ib(1)#<ESC> D L#ie(1)#    (Hex 1B 44 4C) 
 + 
 +eingeschaltet werden. Dabei ist zu beachten, daß der Host den Local-Modus
 +nicht ausschalten kann. Der Local-Modus kann vom Benutzer durch Drücken von
 +#ib(1)#<SHIFT CTRL HOME>#ie(1)# am Keyboard verlassen werden. 
 + 
 +Im Local-Modus werden Keyboardeingabe nicht mehr an den Host geschickt,
 +sondern auf dem Bildschirm angezeigt bzw. durch das Terminal interpretiert.
 +Funktionstastensequenzen werden auch nicht an den Host geschickt. Escape-
 +Sequenzen die allerdings Daten senden (z.B Download von Text und Graphik
 +oder die Abfrage der Cursorposition), werden wie im Online-Modus ausgeführt,
 +d.h. die Daten werden zum Host geschickt. 
 + 
 +#page# 
 +#h("8.", "Spezielle Kommandos im Textmodus")# 
 + 
 + 
 +In diesem Kapitel werden weitere Kommandos, die im Textmodus wirksam sind
 +und thematisch nicht in die anderen Kapitel passen, beschrieben. 
 + 
 + 
 +#k("8.1", "Weitere Cursorpositionierungskommandos")# 
 + 
 +Zusätzlich zu den im Graphikmodus und im Textmodus gültigen Cursorpositio-
 +nierungskommandos gibt es noch einige weitere. Die fünf Kommandos Zeile
 +löschen, Zeile einfügen, Zeichen löschen, Zeichen einfügen und Rückwärtsta-
 +bulator sind schon in Kapitel 5 beschrieben worden. 
 + 
 +Hier nur noch einmal die entsprechenden Kommandos: 
 + 
 +Funktion            Escape-Sequenz 
 +#linie("16.2")# 
 +Zeile einfügen      #ib(1)#<ESC> E#ie(1)#     oder #ib(1)#<ESC> L#ie(1)# 
 +Zeile löschen       #ib(1)#<ESC> R#ie(1)#     oder #ib(1)#<ESC> M#ie(1)# 
 +Zeichen einfügen    #ib(1)#<ESC> Q#ie(1)# 
 +Zeichen löschen     #ib(1)#<ESC> W#ie(1)# 
 +Rückwärtstabulator  #ib(1)#<ESC> I#ie(1)# 
 + 
 +Mit dem Kommando 
 + 
 +                         #ib(1)#<ESC> j#ie(1)#    (Hex 1B 6A) 
 + 
 +kann ein umgekehrter Zeilenvorschub erreicht werden. Steht der Cursor in
 +Zeile 2 bis Zeile 24, dann wirkt dieses Kommando wie <UP>. Steht der Cursor
 +in Zeile 1, dann wird der Bildschirminhalt nach unten gescrollt und die
 +erste Bildschirmzeile gelöscht. 
 + 
 +Mit dem Kommando 
 + 
 +                         #ib(1)#<ESC> =#ie(1)# <y+32> <x+32>    (Hex 1B 3D ...) 
 + 
 +kann der Cursor auf eine bestimmte Position auf dem Bildschirm gesetzt wer-
 +den. <x+32> und <y+32> sind dabei Byteparameter. <x+32> hat den Wertebe-
 +reich 32 (<SPACE>) bis 110 ("o"), <y+32> hat den Wertebereich 32 (<SPACE>)
 +bis 55 ("7"). <x+32> ist dabei die gewünschte x-Position + 32 (gezählt wird
 +von 0 bis 79), <y+32> ist die gewünschte y-Position + 32 (gezählt wird von 0
 +bis 23). Die Zuordnungen der ASCII-Zeichen zu den Cursorpositionen kann man
 +auch im Anhang A unter "Cursor" nachlesen. 
 + 
 +Dieser Befehl hat im Graphikmodus die gleiche Wirkung! 
 + 
 + 
 +#k("8.2", "Cursormodus")# 
 + 
 +Mit dem Kommando 
 + 
 +                         #ib(1)#<ESC> .#ie(1)# <n>    (Hex 1B 2E <n>) 
 + 
 +kann die Darstellung des Cursors verändert werden. Für <n> sind ASCII-Zei-
 +chen "0", "1" und "2" zugelassen. <n> hat folgende Bedeutung: 
 + 
 +#on("u")#<n>   Bedeutung                             #off("u")# 
 + 0    Cursor blinkt nicht und ist unsichtbar 
 + 1    Cursor blinkt und ist sichtbar 
 + 2    Cursor blinkt nicht und ist sichtbar 
 + 
 +Mit dem Kommando 
 + 
 +                         #ib(1)#<ESC> Z#ie(1)#    (Hex 1B 5A) 
 + 
 +kann der Zustand des Cursors von sichtbar auf unsichtbar und umgekehrt umge-
 +schaltet werden. 
 + 
 + 
 +#k("8.3", "Zeichensatz einstellen")# 
 + 
 +Da die Zeichensätze von Basis und Apple unterschiedlich sind, muß hier bei
 +den Parametern unterschieden werden. Das Kommando zur Einstellung des Zei-
 +chensatzes lautet in beiden Fällen 
 + 
 +                         #ib(1)#<ESC> z#ie(1)# <n>    (Hex 1B 7A <n>) 
 + 
 +wobei <n> ein Byteparameter ist. Beim Apple hat <n> folgende Bedeutung: 
 + 
 +<n>   Zeichensatz 
 +#linie("16.2")# 
 + 1    Full Ascii: 128 Zeichen, ASCII, normale, inverse und blinkende Zei-
 + chen 
 + 4    Ascii: 128 Zeichen, ASCII, normale und blinkende Zeichen 
 + 
 +Beim Basis hat <n> folgende Bedeutung: 
 + 
 +<n>   Zeichensatz 
 +#linie("16.2")# 
 + 0 = Apple II: 64 Zeichen, ASCII, normale, inverse und blinkende Zeichen 
 + 1 = Full Ascii: 128 Zeichen, ASCII, normale, inverse und blinkende Zeichen 
 + 2 = Deutsch: 128 Zeichen, deutsch, normale und inverse Zeichen 
 + 4 = Ascii: 128 Zeichen, ASCII, normale und inverse Zeichen 
 + 6 = APL: 128 Zeichen, APL, normale und inverse Zeichen 
 + 
 +     Und mit blinkenden statt inversen Zeichen: 
 + 8 = Apple II: 64 Zeichen, ASCII, normale, blinkende und inverse Zeichen (!) 
 + 9 = Full Ascii: 128 Zeichen, ASCII, normale, blinkende und inv. Zeichen (!) 
 +10 = Deutsch: 128 Zeichen, deutsch, normale und blinkende Zeichen 
 +12 = Ascii: 128 zeichen, ASCII, normale und blinkende Zeichen 
 +14 = APL: 128 Zeichen, APL, normale und blinkende Zeichen 
 + 
 +Einige ausgewählte Zeichensätze können auch in der Kommandozeile eingestellt
 +werden. 
 + 
 + 
 +#k("8.4", "Texthardcopy")# 
 + 
 +Einen Ausdruck des Textbildschirminhaltes auf dem Drucker kann man mit dem
 +Kommando 
 + 
 +                         #ib(1)#<ESC> P#ie(1)#   (Hex 1B 50) 
 + 
 +erreichen. Der auf dem Drucker eingestellte Schrifttyp wird nicht verän-
 +dert. Es werden 24 Zeilen gedruckt, die Statuszeile wird nicht gedruckt,
 +sondern die "darunterliegende" 24. Textzeile. Nach jeder Zeile wird <CR> und
 +<LF> gedruckt, der Drucker sollte deshalb kein Autolinefeed bei <CR> durch-
 +führen. 
 + 
 +Inverse Bildschirmzeichen (80..FF) werden durch Doppeldruck (dunkler) her-
 +vorgehoben, Controlcharacter (00..1F und 80..9F) werden unterstrichen dar-
 +gestellt, das Punktraster (7F und FF) wird als unterstrichenes # darge-
 +stellt. 
 + 
 + 
 +#k("8.5", "Zeichen-Attribute")# 
 + 
 +Die Zeichenattribute werden mit dem Kommando 
 + 
 +                         #ib(1)#<ESC> G#ie(1)# <n>    (Hex 1B 47 <n>) 
 + 
 +eingestellt. <n> ist ein Byteparameter, der folgende Werte annehmen kann: 
 + 
 +#on("u")#<n>   Attribute                                                      #off("u")# 
 + 0    Sichtbare, normale Zeichen 
 + 1    Unsichtbare Zeichen, es werden Leerzeichen dargestellt 
 + 4    Sichtbare, inverse Zeichen 
 + 5    Unsichtbare Zeichen, es werden inverse Leerzeichen dargestellt. 
 + 
 +Mit dem Kommando 
 + 
 +                         #ib(1)#<ESC> (#ie(1)#    (Hex 1B 28) 
 + 
 +kann auf normale Darstellung umgeschaltet werden (wirkt ähnlich <ESC> G 0,
 +schaltet aber nicht auf sichtbare Darstellung, falls unsichtbar). 
 + 
 +Mit dem Kommando 
 + 
 +                         #ib(1)#<ESC> )#ie(1)#    (Hex 1B 29) 
 + 
 +kann auf inverse Darstellung umgeschaltet werden (wirkt ähnlich <ESC> G 4,
 +schaltet aber nicht auf sichtbare Darstellung, falls unsichtbar). 
 + 
 + 
 +#k("8.6", "Bildhintergrund hell/dunkel")# 
 + 
 +Die Bildschirmdarstellung kann von heller Schrift auf dunklem Grund (be-
 +züglich eines gelöschten Bildschirms) umgeschaltet werden auf dunkle Schrift
 +auf hellem Grund. Die Darstellung "schwarz auf weiß" ist auf einigen Monito-
 +ren augenfreundlicher. 
 + 
 +Mit dem Kommando 
 + 
 +                         #ib(1)#<ESC> b#ie(1)#    (Hex 1B 62) 
 + 
 +kann die dunkle Schrift auf weißem Grund eingeschaltet werden. Die Darstel-
 +lung von inverser und normaler Schrift wird vertauscht. 
 + 
 +Mit dem Kommando 
 + 
 +                         #ib(1)#<ESC> d#ie(1)#    (Hex 1B 64) 
 + 
 +kann helle Schrift auf dunklem Grund eingeschaltet werden. 
 + 
 + 
 +#k("8.7", "Zeichentransfer zum Host")# 
 + 
 +Der Host kann Teile oder den ganzen Bildschirm vom Terminal lesen. Alle
 +Zeichen werden als Bytes gesendet, bei denen ein gesetztes Bit 7 Invers-
 +schrift anzeigt. 
 + 
 + 
 +#k("8.7.1", "Ein Zeichen senden")# 
 + 
 +Mit dem Kommando 
 + 
 +                         #ib(1)#<ESC> 8#ie(1)#    (Hex 1B 38) 
 + 
 +wird nur das Zeichen an der Cursorposition gesendet. Die Cursorposition
 +ändert sich nicht. Der Cursor muß nicht sichtbar sein. 
 + 
 + 
 +#k("8.7.2", "Eine Zeile senden")# 
 + 
 +Mit dem Kommando 
 + 
 +                         #ib(1)#<ESC> 6#ie(1)#    (Hex 1B 36) 
 + 
 +wird die Zeile, in der der Cursor steht (genauer: die Zeile der Cursorrow,
 +falls der Cursor unsichtbar ist) an den Host gesendet. Falls der Cursor in
 +Zeile 24 steht, wird nicht die Stauszeile, sondern die 24. Textzeile gesen-
 +det. Im Anschluß an die Zeile werden eventuell ein oder zwei eingestellte
 +Zeilenbegrenzer gesendet (Lineterminator). Die Programmierung der Begrenzer
 +ist in Abschnitt 8.7.4 beschrieben. Es werden also 80 bis 82 Zeichen gesen-
 +det. Die Cursorposition ändert sich durch das Kommando nicht. 
 + 
 + 
 +#k("8.7.3", "Eine Seite senden")# 
 + 
 +Mit dem Kommando 
 + 
 +                         #ib(1)#<ESC> 7#ie(1)#    (Hex 1B 37) 
 + 
 +wird die gesamte Bildschirmseite an den Host gesendet. Im Anschluß an jede
 +Zeile werden (falls eingestellt) Zeilenbegrenzer gesendet. Im Anschluß an
 +die gesamte Seite wird ein (eingestellter) Seitenbegrenzer (Pageterminator)
 +gesendet. Es werden also je nach Zeilen- und Seitenbegrenzer 1920 bis 1969
 +Zeichen gesendet. Die Statuszeile wird nicht gesendet, sondern die "darun-
 +terliegende" 24. Textzeile. Die Programmierung der Zeilen- und Seitenbe-
 +grenzer ist in Abschnitt 8.7.4 beschrieben. Die Cursorposition ändert sich
 +durch dieses Kommando nicht. 
 + 
 + 
 +#k("8.7.4", "Terminatorzeichen definieren")# 
 + 
 +Mit dem Kommando 
 + 
 +                         #ib(1)#<ESC> x 1#ie(1)# <l1> <l2>    (Hex 1B 78 31 <l1><l2>) 
 + 
 +können die Zeilenbegrenzer der Sendekommandos festgelegt werden. <l1> und
 +<l2> sind dabei Byteparameter, die den Wertebereich 0 bis 255 überstrei-
 +chen. Ist ein Parameter Hex 00, dann wird dieses Zeichen nicht gesendet.
 +Wenn man also das Kommando (Hex) 1B 78 31 00 00 sendet, wird kein Begren-
 +zerzeichen nach der Zeile gesendet. 
 +Voreingestellt ist ein Begrenzerzeichen; und zwar US (Hex 1F). 
 + 
 +Mit dem Kommando 
 + 
 +                         #ib(1)#<ESC> x 4#ie(1)# <p>    (Hex 1B 78 34 <p>) 
 + 
 +kann der Seitenbegrenzer des Kommandos #ib(1)#<ESC> 7#ie(1)# festgelegt werden. <p> ist
 +ein Byteparameter, der den Wertebereich von 0 bis 255 überstreicht. Ist <p>
 +Hex 00, dann wird kein Seitenbegrenzer gesendet. 
 +Voreingestellt ist <p> = <CR> (Hex 0D). 
 + 
 + 
 +#k("8.7.5", "Cursorposition senden")# 
 + 
 +Mit dem Kommando 
 + 
 +                         #ib(1)#<ESC> ?#ie(1)#    (Hex 1B 3F) 
 + 
 +kann der Host die Position des Textcursors abfragen. Es wird eine Folge von
 +3 Bytes gesendet: <y+32> <x+32> <CR> 
 + 
 +<y+32> ist die y-Position + 32, <x+32> die x-Position + 32. Beide Parameter
 +können für den Befehl #ib(1)#<ESC> =#ie(1)# <y+32> <x+32> verwendet werden, da Sie den
 +gleichen Wertebereich überstreichen. 
 + 
 + 
 +#k("8.8", "Textseite auf Diskette speichern/laden")# 
 + 
 +Genau wie Graphikseiten kann auch die Textseite auf Diskette geschrieben und
 +zu einem späteren Zeitpunkt wieder zurückgeladen werden. Bei der Textseite
 +wird außerdem noch die aktuelle Cursorposition geladen/geschrieben. Man kann
 +sich zum Beispiel eine Datei Seitenweise auf dem Bildschirm anzeigen lassen
 +und diese Seiten auf Diskette abspeichern. Später kann man die Datei Offline
 +(im Localmodus) Seitenweise ansehen. 
 + 
 +Bis zu 8 Textseite lassen sich auf Diskette speichern und wieder abrufen.
 +Die "Fächer" für die Textseiten sind unabhängig von denen für die Graphik-
 +seiten. 
 +Die Seiten werden unabhängig von REVVID (Schwarz auf Weiß) immer NORVID
 +(also Weiß auf Schwarz) abgespeichert. Beim Laden der Seite wird sie je nach
 +REVVID/NORVID dargestellt. 
 + 
 +Das Kommando für diese Operationen lautet 
 + 
 +                         #ib(1)#<ESC> S#ie(1)# <n>    (Hex 1B 53 <n>). 
 + 
 +<n> ist ein Byteparameter mit dem Wertebereich 0 bis 31, wobei die Bits
 +folgendermaßen belegt sind: 
 +Bit 0..2 : "Fachnummer" der Textseite auf der Diskette (0 bis 7) 
 +Bit 3    : Bei Textseiten immer 0 (Bei Graphikseiten immer 1) 
 +Bit 4    : 0 heißt: die Textseite wird von der Diskette gelesen, 
 +           1 heißt: die Textseite wird auf die Diskette geschrieben. 
 + 
 +Wird die Textseite auf die Diskette geschrieben, dann wird eine eventuell
 +schon in diesem "Fach" vorhandene Textseite überschrieben. 
 + 
 +Für Insider: Jede Textseite belegt einen halben Track (2k). Die 8 Textseiten
 +             befindenden auf den Tracks 6 bis 9 in aufsteigender Reihenfol-
 +             ge. 
 + 
 + 
 +#page# 
 +#h("9.", "Verschiedene Steuerkommandos")# 
 + 
 + 
 +#k("9.1", "Signalton")# 
 + 
 +Mit 
 +                         #ib(1)#<CTRL G>#ie(1)#   (Hex 07) 
 + 
 +wird ein kurzer Signalton ausgegeben. Ein Warnton des Terminals ist schär-
 +fer (heller). 
 + 
 + 
 +#k("9.2", "Keyboardclick")# 
 + 
 +Der Tastaturclick wird für fast alle Tasten erzeugt. Ausnahmen sind die
 +<SHIFT> und die <CTRL> Tasten, sowie beim Apple die Apfeltasten. Der Tasta-
 +turclick kann in der ersten Kommandozeile abgeschaltet werden (CLK OFF) oder
 +mit dem Kommando 
 + 
 +                         #ib(1)#<ESC> <#ie(1)#    (Hex 1B 3C) 
 + 
 +vom Host. Mit dem Kommando 
 + 
 +                         #ib(1)#<ESC> >#ie(1)#    (Hex 1B 3E) 
 + 
 +kann der Keyboardclick wieder eingeschaltet werden. 
 + 
 + 
 +#k("9.3", "Bildschirmausgabe/Druckerausgabe")# 
 + 
 +Die Bildschirmausgabe, die ja normalerweise eingeschaltet ist, kann in der
 +Kommandozeile abgeschaltet werden (SCRNOFF) oder vom Host mit dem Kommando 
 + 
 +                         #ib(1)#<ESC> `#ie(1)#    (Hex 1B 60) 
 + 
 +abgeschaltet werden. Bis auf das Kommando 
 + 
 +                         #ib(1)#<ESC> a#ie(1)#    (Hex 1B 61) 
 + 
 +werden keine Escape-Squenzen oder Control-Codes interpretiert. Mit <ESC> a
 +wird die Bildschirmausgabe wieder zugelassen. 
 + 
 +Die Druckerausgabe kann mit dem Kommando 
 + 
 +                         #ib(1)#<ESC> @#ie(1)#    (Hex 1B 40) 
 + 
 +eingeschaltet werden. Man kann dann Texte parallel auf Drucker und Bild-
 +schirm ausgeben. In der ersten Kommandozeile kann die Druckerausgabe auch
 +ein- und ausgeschaltet werden. 
 +Man kann zum Beispiel den Schrifttyp des Druckers im Local-Modus umschal-
 +ten, wenn man in der Kommandozeile die Druckerausgabe (PRT ON) einschaltet.
 +Dazu kann man sich auch eine Funktionstaste belegen, die Bildschirmausgabe
 +abschaltet, Druckerausgabe einschaltet, den Schrifttyp umschaltet, Drucker-
 +ausgabe wieder ausschaltet und Bildschirmausgabe wieder einschaltet. 
 + 
 +Abgeschaltet wird die Druckerausgabe mit dem Kommando 
 + 
 +                         #ib(1)#<ESC> A#ie(1)#    (Hex 1B 41) 
 + 
 + 
 +#k("9.4", "Scroll/Page-Modus")# 
 + 
 +Steht der Cursor in der letzten Zeile und soll er in die nächst tiefere
 +gebracht werden (<DOWN>, <TAB>, <NEWLINE> etc.), dann gibt es entweder die
 +Möglichkeit, daß der Bildschirm nach oben gescrollt wird, d.h. die 1. Zeile
 +verschwindet und die 24. Zeile wird gelöscht, oder daß der Cursor in der
 +ersten Bildschirmzeile wieder auftaucht, ohne daß der Bildschirminhalt ver-
 +ändert wird. Die erste Möglichkeit heißt SCROLL-Modus, die zweite PAGE-
 +Modus. Die Umschaltung kann entweder in der ersten Kommandozeile erfolgen
 +oder mit dem Kommando 
 + 
 +                         #ib(1)#<ESC> H#ie(1)#    (Hex 1B 48). 
 + 
 +In der Kommandozeile hat man die Informationsmöglichkeit, welcher Modus
 +gerade aktiv ist. 
 + 
 + 
 +#k("9.5", "Belegung der Funktionstasten")# 
 + 
 +Eine nützliche Angelegenheit sind die programmierbaren Funktionstasten. Die
 +Codes der Funktionstasten sind unter anderem in Anhang A zu finden. Funk-
 +tionstasten können im Local-Modus aufgerufen werden, zum Beispiel für häu-
 +fig gebrauchte Terminalkommandos oder längere Kommandosequenzen (Graphikmo-
 +dus). Im Online-Modus kann man z.B. Betriebssystemkommandos auf Funktion-
 +stasten legen. 
 + 
 +Die Länge der Zeichen auf allen Funktionstasten darf zusammen nicht 4095
 +Zeichen überschreiten. Ein akustisches Warnsignal ertönt, wenn die Funk-
 +tionstastentabelle voll ist. Soll die Funktionstastendefinition auch noch
 +nach dem Abschalten des Terminals erhalten bleiben, dann muß in der Komman-
 +dozeile <SHIFT S> gegeben werden, damit der Setup samt Funktionstastende-
 +finitionen auf die Diskette geschrieben wird. 
 + 
 +Mit dem Kommando 
 + 
 +                         #ib(1)#<ESC> e#ie(1)# <d...> <t>    (Hex 1B 65 <d...><t>) 
 + 
 +wird eine Taste belegt. <d...> und <t> sind Byteparameter. <d...> ist eine
 +Folge von Datenbytes, deren Bit 7 = 0 sein muß. <t> ist der Code der Funk-
 +tionstaste (Bit 7 = 1), auf die die Sequenz gelegt werden soll. Durch diese
 +Einschränkung sind keine rekursiven (sich selbst aufrufenden) Tastenkomman-
 +dos möglich, man kann allerdings z.B. auch nicht alle binären Parameter auf
 +Tasten legen (Man sollte dezimale Parameter benutzen). Die Cursortasten etc.
 +können nicht belegt werden. 
 +Um die Original-Tastencodes wieder zu benutzen, gibt es drei Möglichkeiten: 
 + 
 +- Die Tabelle der Tastendefinitionen wird ganz gelöscht (Abschnitt 9.6). 
 +- Die Definition auf einzelnen Tasten wird durch <ESC> e <t> gelöscht. <t>
 +  ist dabei der Code einer zu löschenden Taste. 
 +- In der ersten Kommandozeile wird F CODE eingeschaltet oder das Kommando 
 + 
 +                         #ib(1)#<ESC> c#ie(1)#    (Hex 1B 63) 
 + 
 +  gegeben. Dieses Kommando schaltet um, ob immer Tastencodes (A1..EF) oder,
 +  bei belegten Tasten, die programmierte Sequenz geliefert werden soll. Im
 +  Graphikmodus möchte man eventuell die griechischen Sonderzeichen auf den
 +  Funktionstasten benutzen (F CODE) und nicht die programmierten Tasten-
 +  strings (F STRG). 
 + 
 + 
 +#k("9.5.1", "Local-Escape")# 
 + 
 +Um Funktionstasten mit Terminalkommandos auch im Online-Modus benutzen zu
 +können (zum Beispiel ein Bildschirm Hardcopy) wird ein spezielles ESC-Zei-
 +chen statt <ESC> (Hex 1B) verwendet. 
 +Das Zeichen 
 + 
 +                         #ib(1)#<LOCESC>#ie(1)#    (Hex 9B) 
 + 
 +teilt dem Terminal mit, daß die nun folgende Escape-Sequenz nicht an den
 +Host gesendet wird (was bei <ESC> der Fall wäre), sondern vom Terminal in-
 +terpretiert werden muß. 
 +Im Local-Modus wirkt ein <LOCESC> wie ein normales <ESC>, d.h. das Kommando
 +wird sowieso vom Terminal interpretiert. 
 + 
 + 
 +#k("9.5.2", "Makrokommandos")# 
 + 
 +Ein Makrokommando hat (mindestens) drei Aufgaben: 
 +- Der Host kann dem Terminal neue ESC-Sequenzen (mit Parametern) definieren,
 +  z.B. um andere Terminals zu emulieren. 
 +- Nicht nur das Terminal kann Funktionstasten aufrufen, sondern auch der
 +  Host, wenn die Funkionstaste als Makro aufgerufen wird. 
 +- Der Datentransfer vom Host zum Terminal kann durch Makros als Abkürzungen
 +  häufig benutzter Zeichenfolgen beschleunigt werden. 
 + 
 +Ein Makro wird wie eine Funktionstaste mit dem Kommando 
 + 
 + 
 +                         #ib(1)#<ESC> e#ie(1)# <d...> <t>    (Hex 1B 65 <d...><t>) 
 + 
 +definiert. <d...> und <t> sind Byteparameter. <d...> ist eine Folge von
 +Datenbytes, deren Bit 7 = 0 sein muß. <t> ist der Code der Funktionstaste
 +(Bit 7 = 1) oder mit anderen Worten der Makroname. 
 +Es sind alle Codes für <t> zugelassen, die auch bei der Funktionstastende-
 +finition zugelassen sind. 
 + 
 +Ein Makro kann sowohl vom Terminal (auch im F CODE-Modus) als auch vom Host
 +mit 
 + 
 +                         #ib(1)#<ESC> <Macrocode>#ie(1)#    (Hex 1B <Makrocode>) 
 + 
 +aufgerufen werden. Dem Terminal wird die Zeichensequenz des Makros so vorge-
 +setzt, als käme sie von der Tastatur im Local-Modus. Wird das Makro also
 +bereits im Local-Modus aufgerufen, hat das immer noch den Vorteil, daß man
 +im F CODE-Modus weiterhin programmierte Funktionstasten benutzen kann. 
 +Anmerkung: Wird das <ESC> vor dem <Makrocode> weggelassen, dann wird der
 +           Code <Makrocode> ohne Makroausführung an das Terminal gesendet
 +           und i.d.R. als inverses Zeichen dargestellt. 
 + 
 +Sollen Byteparameter in die Zeichensequenz des Makros übernommen werden, die
 +zur Zeit der Makrodefinition noch nicht feststehen, dann kann man einen
 +Platzhalter mit dem Code Hex 81 an der Stelle einsetzen. Der Code Hex 81
 +kann auf der Tastatur durch <SHIFT DELETE> erzeugt werden. 
 +Wird bei der Makroausführung ein solcher Code gefunden, wartet das Terminal
 +auf ein Byte von Tastatur, wenn das Makro im Local-Modus aufgerufen wurde,
 +oder vom Host, wenn das Makro vom Host aufgerufen wurde. Es dürfen beliebig
 +viele Codes 81 in der Makrozeichensequenz vorhanden sein. Jeder Code wird
 +durch ein weiteres Zeichen von Host oder Tastatur ersetzt. 
 + 
 + 
 +#k("9.5.3", "Startup-Makro")# 
 + 
 +Ein besonderes Makro hat den Code Hex EF. Dieser Code kann auf der Tastatur
 +durch <SHIFT BOTTOMRIGHT> (beim Apple <OA RIGHT>) erzeugt werden. 
 + 
 +Dieses Makro wird bei einem RESET des Terminals (Hardwarereset oder <ESC> 0)
 +oder beim Einschalten des Terminals aufgerufen. Der Bildschirm und die Gra-
 +phikseiten werden vorher gelöscht. 
 +
 +
 +#k("9.6", "Tabellen und Puffer löschen")# 
 + 
 +Das Terminal enthält den Empfangspuffer, den Sendepuffer, den Druckerspoo-
 +ler und die Tabelle der Tastendefinitionen. Um einen der Puffer oder die
 +Tabelle zu löschen, kann das Kommando 
 + 
 +                         #ib(1)#<ESC> <DEL>#ie(1)# <n>    (Hex 1B 7F <n>) 
 + 
 +verwendet werden. <n> ist ein Byteparameter mit dem Wertebereich 0 bis 15
 +und hat folgende Bedeutung: 
 + 
 +#on("u")#<n>    Gelöschte Tabelle oder Puffer#off("u")# 
 + 0     Keine 
 + 1     Tastendefinitionen 
 + 2     Druckerspooler 
 + 3     Empfangspuffer 
 + 4     Sendepuffer 
 + 
 +Zu beachten ist, daß zwar der Sendepuffer gelöscht wird, aber eine eventu-
 +ell gestoppte Übertragung (TX OFF) nicht wider gestartet wird. 
 + 
 + 
 +#k("9.7", "Zeitverzögerung")# 
 + 
 +Mit dem Kommando 
 + 
 +                         #ib(1)#<ESC> 9#ie(1)# <n>    (Hex 1B 39 <n>) 
 + 
 +kann eine Zeitverzögerung aufgerufen werden. Man kann zum Beispiel ein Fa-
 +denkreuz darstellen, die Zeitverzögerung aufrufen und das Fadenkreuz wieder
 +löschen. <n> ist ein Byteparameter mit dem Wertebereich von 0 bis 255. Die
 +Verzögerung beträgt ca. <n> * 2 ms. 
 + 
 + 
 +#k("9.8", "Transparentmodi")# 
 + 
 +Der Monitor- und der Hexadezimalmodus sind zum Test von unbekannten Emp-
 +fangsdaten oder zum Analysieren der Steuerzeichenausgabe von unbekannten
 +Programmen gedacht. 
 + 
 + 
 +#k("9.8.1", "Monitor-Modus")# 
 + 
 +Im Monitor-Modus werden druckbare Zeichen wie normal dargestellt. Control-
 +zeichen (Hex 00..1F und 80..9F) werden invertiert dargestellt. Im APL-Zei-
 +chensatz kann man diese inversen Controlzeichen von den Zeichen mit Code Hex
 +A0..FF unterscheiden, die auch invers dargestellt werden. 
 +Der Monitormode kann in der ersten Kommandozeile ein- und ausgeschaltet
 +werden. Mit dem Kommando 
 + 
 +                         #ib(1)#<ESC> U#ie(1)#    (Hex 1B 55) 
 + 
 +kann der Monitormode eingeschaltet werden. Alle Zeichen werden ohne Inter-
 +pretation ausgegeben, Ausnahmen sind 
 + 
 +                         #ib(1)#<ESC> u#ie(1)#    (Hex 1B 75) 
 + 
 +und 
 + 
 +                         #ib(1)#<ESC> X#ie(1)#    (Hex 1B 58) 
 + 
 +die den Monitormodus ausschalten. 
 + 
 + 
 +#k("9.8.2", "Hexadezimal-Modus")# 
 + 
 +In diesem Modus werden nicht die Zeichen auf dem Bildschirm gedruckt, son-
 +dern ihr ASCII-Code in hexadezimaler Schreibweise mit zwei nachfolgenden
 +Blanks. Der Hexmode kann mit dem Kommando 
 + 
 +                         #ib(1)#<ESC> u#ie(1)#    (Hex 1B 75) 
 + 
 +ein- und ausgeschaltet werden. Alle Zeichen werden ohne Interpretation aus-
 +gegeben, außer #ib(1)#<ESC> u#ie(1)# und 
 + 
 +                         #ib(1)#<ESC> X#ie(1)#    (Hex 1B 58), 
 + 
 +die den Hexmodus wieder ausschalten. Auch der Hexmode kann in der ersten
 +Kommandozeile ein- und ausgeschaltet werden. 
 + 
 + 
 +#k("9.8.3", "Einzelne Control-Zeichen anzeigen")# 
 + 
 +Um nur einzelne Controlzeichen auf dem Bildschirm darzustellen, z.B. für den
 +unteren Teil des APL-Zeichensatzes (Codes 0 bis 31 oder 128 bis 159), gibt
 +es das Kommando 
 + 
 +                         #ib(1)#<ESC> F#ie(1)# <z>    (Hex 1B 46 <z>). 
 + 
 +<z> ist dabei ein Byteparameter mit dem Wertebereich 0 bis 255, vorzugswei-
 +se 0 bis 31. <z> wir mit invertiertem Bit 7 (normal/invers) in den Bild-
 +schirmspeicher an der aktuellen Cursorposition geschrieben. 
 diff --git a/system/ruc-terminal/unknown/doc/TDOCP.PRT b/system/ruc-terminal/unknown/doc/TDOCP.PRT new file mode 100644 index 0000000..1c2b6f1 --- /dev/null +++ b/system/ruc-terminal/unknown/doc/TDOCP.PRT @@ -0,0 +1,4008 @@ +#type ("elite")##limit (16.2)##block# 
 +#page##--------------------------------- Ende der Seite 0 -----------#
 +#text begin# 
 + 
 +#type ("8")##center##on("b")##on("u")#Bedienungshandbuch zum ruc - Graphikterminal#off("u")##off("b")##type ("elite")# 
 + 
 +#center#Version 1.1 
 + 
 +#center#Oktober 1986 
 +#free (16.0)# 
 +ruc - Rolf Uhlig Computer 
 +GmbH & Co Kommanditgesellschaft 
 +Sendenhorster Straße 82 
 +D - 4406 Drensteinfurt 1 
 +Telefon 02508/8500 
 + 
 +Michael Staubermann 
 +Moränenstraße 29 
 +D - 4400 Münster-Hiltrup 
 +Telefon 02501/4320 
 +#pagenr (""224"", 1)#
 +#text end#
 +#free(2.2225)#
 +#page##--------------------------------- Ende der Seite 1 -----------#
 +#center##on("b")#1.  Einige Worte zuvor#off("b")# 
 + 
 + 
 + 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#text begin#
 +#type("8")##center##on("i")##on("u")##ib(3)#1.  Einige Worte zuvor#ie(3)##off("u")##off("i")##type("elite")# 
 + 
 + 
 +Dieses Terminalprogramm wird in zwei Versionen (für den Basis 108 und den
 +Apple IIe) geliefert. Die Version ist in der Kommandozeile erkenntlich
 +(BASIS oder APPLE). 
 + 
 +Eigenschaften des Terminals: 
 + 
 +- Kommandozeilen für schnelle Offline Parametereinstellung 
 +- Statuszeile für spezielle Betriebzustände 
 +- Über 70 programmierbare Funktionstasten 
 +- Druckerspooler 32k (4 ganze Graphikhardcopys und noch mehr) 
 +- 7935 Zeichen Empfangspuffer 
 +- Verschiedene Hardcopy Modi für Text und Graphik 
 +- 192x280 Punkte auflösender Graphikmodus mit zwei Helligkeitsstufen 
 +- Zwei Graphikseiten mit getrennter Anzeige/Bearbeitung 
 +- Viele Graphikroutinen (Bogen, Flächenfüllung, Kreis, Rechteck...) 
 +- Graphikmodus für Texte in verschieden Richtungen, Dicken, Grössen 
 +- Griechische Graphikzeichen und Kursivschrift 
 +- Graphikseiten Scrollen, Mischen, vom Host laden, zum Host schicken 
 + 
 + 
 +Zum Handbuch 
 + 
 +Tasten werden durch Angabe ihres Aufdruckes in Grossbuchstaben angegeben und
 +in spitze Klammern gesetzt (z.B. <TAB>) in einigen Fällen auch durch ihren
 +Namen (z.B. <DOWN> oder <TOPLEFT>). Eine zusätzlich zu betätigende Umschalt-
 +taste, wie SHIFT, CTRL, OPEN APPLE (kurz: OA) oder beide zusammen, wird in
 +der Klammer davorgestellt (z.B. <SHIFT RETURN>). 
 + 
 +Nicht druckbare Ascii-Codes (z.B. <ESC> oder <SPACE>), sowie Kommandopara-
 +meter (z.B. <n>) werden ebenfalls in spitze Klammern gesetzt. Komandopara-
 +meter werden mit Kleinbuchstaben bezeichnet. 
 + 
 +#text end#
 +#free(7.220185)#
 + 
 + 
 + 1 
 +#page##--------------------------------- Ende der Seite 1 -----------#
 +#center##on("b")#Bedienungshandbuch zum ruc - Graphikterminal#off("b")# 
 + 
 + 
 + 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#text begin# 
 +#type("8")##center##on("i")##on("u")##ib(3)#2.  Die Hardware#ie(3)##off("u")##off("i")##type("elite")# 
 + 
 + 
 +Unterstützt wird eine 80-Zeichen Textanzeige, ein Basiskeyboard oder ein
 +Applekeyboard mit Open-Apple Taste. Am Basis kann ein Drucker angeschlossen
 +werden. 
 + 
 + 
 +#type("8")##center##ib(3)#2.1  Die serielle Schnittstelle#ie(3)##type("elite")# 
 + 
 +Die Parameter der seriellen Schnittstelle können vom Host oder vom Terminal
 +(LOCAL) eingestellt werden (Siehe Kommando <ESC> <SPACE> <SPACE>). Es wer-
 +den alle 15 gängigen Baudrates zwischen 50 und 19200 Baud unterstützt. Pari-
 +tycheck kann mit gerader oder ungerader Parität durchgeführt werden. Fluß-
 +kontrolle ist in allen Kombinationen aus RTS/CTS, DTR/DSR, XON/XOFF möglich.
 +Empfohlen wird DTR/DSR oder XON/XOFF. 
 + 
 +             Benötigte Verdrahtung der seriellen Schnittstelle 
 + 
 +            Pin                                        Priorität 
 +              2 : TXD Sendedaten    zum Host (RXD)         1 
 +              3 : RXD Empfangsdaten vom Host (TXD)         1 
 +              4 : RTS Ready To Send zum Host (CTS)         3 
 +              5 : CTS Clear To Send vom Host (RTS)         3 
 +              6 : DSR DataSet Ready vom Host (DTR)         2 
 +              7 : Masse an Host Masse                      1 
 +              8 : DCD Eingang, nicht benötigt 
 +             20 : DTR Data Terminal Ready zum Host (DSR)   2 
 + 
 +Priorität: 
 + 1 : Muß verdrahtet werden 
 + 2 : Ist bei DSR/DTR Flußkontrolle zu verdrahten 
 + 3 : Ist bei RTS/CTS Flußkontrolle zu verdrahten 
 + 
 +Der Datentransfer geschieht in der Regel mit 8 Datenbits. Sollte der Host
 +nur über 7 Bit Datentransfer verfügen, müssen einige Einschränkungen bei der
 +Parameterübergabe von Uploads/Downloads gemacht werden (Kein Farbbit). Die
 +Anzahl der Datenbits kann auch in der Kommandozeile verändert werden. 
 + 
 + 
 +#type("8")##center##ib(3)#2.2  Der Reset#ie(3)##type("elite")# 
 + 
 +Ein Reset bringt das Terminal in einen definierten Zustand. Alle Bildschirm-
 +seiten und Puffer, sowie der Druckerspooler werden gelöscht. Der Reset kann
 +vom Host durch 
 + 
 +                         #ib(1)#<ESC> 0#ie(1)#    (Hex 1B 30) 
 + 
 +initiiert werden, vom Basiskeyboard aus durch <SHIFT SHIFT CTRL>. Die Para-
 +meter in der Kommandozeile werden dem Setup entnommen. Nach dem Löschen
 +aller Bildschirmseiten, wird das Makro mit dem Code Hex EF aufgerufen. Dies
 +ist die Funktionstaste <SHIFT BOTRIGHT>. 
 +#text end#
 +#free(02.351852e-2)#
 + 
 + 
 +#right#2 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#page##--------------------------------- Ende der Seite 2 -----------#
 +#center##on("b")#3.  Die Kommandozeile#off("b")# 
 + 
 + 
 + 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#text begin# 
 +#type("8")##center##on("i")##on("u")##ib(3)#3.  Die Kommandozeile#ie(3)##off("u")##off("i")##type("elite")# 
 + 
 + 
 +Die wichtigsten Parameter des Terminals können im laufenden Betrieb in den
 +beiden Kommandozeilen geändert werden. Die erste Kommandozeile erscheint
 +beim Basiskeyboard durch Drücken von <SHIFT CE> und beim Apple durch <OA
 +CTRL X>. 
 + 
 +Im Graphikmodus ersetzt die Kommandozeile die untersten 32 Graphikzeilen
 +(entspricht vier Textzeilen). Man hat also auch im Graphikmodus die Mög-
 +lichkeit wichtige Parameter in der Kommandozeile zu ändern. 
 + 
 +Die angezeigten Einstellungen bieten außerdem eine Informationsmöglichkeit
 +über die aktuellen Parameter der seriellen Schnittstelle u.s.w. Die zweite
 +Kommandozeile enthält die Parameter der seriellen Schnittstelle. 
 + 
 +Alle in den Kommandozeilen angezeigten Parameter (bis auf BELL ON/BELL OFF)
 +können auch durch ESC-Kommandos vom Host oder im Localmodus geändert wer-
 +den. 
 +Ein laufender Druckvorgang wird unterbrochen, solange die Kommandozeilen
 +sichtbar sind. 
 + 
 + 
 +#type("8")##center##ib(3)#3.1  Tastenfunktionen in der Kommandozeile#ie(3)##type("elite")# 
 + 
 +Folgende Tasten haben in der Kommandozeile eine Wirkung: 
 + 
 +Taste              Bedeutung 
 +#rpos(16.2)##fillchar(" ")##table# 
 +#on("u")# #off("u")# 
 +#table end# 
 +<UP> oder <DOWN>   Wechselt in die jeweils andere Kommandozeile 
 + 
 +<LEFT>             Springt zum vorherigen (linken) Parameter ohne etwas zu
 +                   verändern. 
 + 
 +<RIGHT>            Springt zum nächsten (rechten) Parameter ohne etwas zu
 +                   verändern. 
 + 
 +<SPACE>            Ändert das selektierte Parameterfeld. Das selektierte
 +                   Parameterfeld ist durch Invertierung hervorgehoben. Die
 +                   möglichen Parameter wiederholen sich zyklisch. 
 + 
 +<ESC>              Die Kommandozeile wird verlassen. Es werden keine Ände-
 +                   rungen durchgeführt. 
 + 
 +<SHIFT S>          Die Kommandozeile wird verlassen. Vorher werden alle
 +                   Änderungen permanent auf die Diskette geschrieben. Wei-
 +                   tere Einzelheiten s.u. (Setup) 
 + 
 +#text end#
 +#clear pos# 
 +#free(1.716852)#
 + 
 + 
 + 3 
 +#page##--------------------------------- Ende der Seite 3 -----------#
 +#center##on("b")#Bedienungshandbuch zum ruc - Graphikterminal#off("b")# 
 + 
 + 
 + 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#clearpos#
 +#rpos(16.2)##fillchar(" ")#
 +#text begin# 
 +<SHIFT R>          Alle Parameter werden auf ihre Defaultwerte zurückge-
 +                   setzt. Die Kommandozeile wird noch nicht verlassen, daher
 +                   kann dieser 'Reset' durch <ESC> wieder aufgehoben werden. 
 +                   <CE> oder <CTRL X> Die Kommandozeile wird verlassen. Die
 +                   Änderungen werden nur im Speicher vermerkt. Nach dem
 +                   Ein-/Ausschalten des Rechners werden die alten Parameter
 +                   von der Diskette gelesen. Wird allerdings ein Hardware-
 +                   reset (s.o.) durchgeführt, sind diese Änderungen nicht
 +                   verloren. 
 + 
 + 
 +#type("8")##center##ib(3)#3.2  Setup#ie(3)##type("elite")# 
 + 
 +Beim Setup, der in der Kommandozeile durch <SHIFT S> ausgelöst werden kann,
 +werden wichtige Parameter auf die Diskette geschrieben. Sie werden dann
 +'permanent' und müssen nach dem Einschalten des Terminals nicht neu einge-
 +stellt werden. Diese Parameter sind die 
 +- Parameter der seriellen Schnittstelle (2. Kommandozeile) 
 +- anderen Parameter der Kommandozeilen 
 +- vom Benutzer programmierte Belegung der Funktionstasten 
 +- Druckerspezifischen Hardcopyparameter 
 + 
 +Vor dem Setup ist zu prüfen, ob der Diskettenschreibschutz entfernt wurde
 +(Klebeschildchen an der Diskettenseite entfernen). Der Schreibschutz sollte
 +nach dem Setup wieder angebracht werden. Wurde der Schreibschutz nicht ent-
 +fernt, wird eine Meldung 'Diskettenschreibschutz entfernen !' angezeigt. In
 +diesem Falle erscheint nach dem Drücken einer Taste wieder die Kommando-
 +zeile. 
 +Wenn keine Diskette einliegt oder ein harter Schreibfehler auftritt, er-
 +scheint die Meldung 'Setup kann nicht geschrieben werden (Diskettenfeh-
 +ler)!'. Weitere Schreibversuche sind möglicherweise erfolgreich. 
 + 
 + 
 +#type("8")##center##ib(3)#3.3  Die zweite Kommandozeile#ie(3)##type("elite")# 
 + 
 +Beim Basis (erste Zeile zeigt Defaultwerte für <SHIFT R>) 
 + 
 +#type ("micron")# 
 +GER|BASIS|MON OFF|PRT OFF|SCRN ON |KEY CLK|NORVID|SCROLL|BELL ON |CUR FLH|F STRG 
 +USA  TVI  MON ON  PRT ON  SCRN OFF CLK OFF REVVID  PAGE  BELL OFF CUR STD F CODE 
 +APL       HEX ON                                                  CUR OFF 
 +UNI 
 +#type ("elite")# 
 + 
 +Beim Apple (erste Zeile zeigt Defaultwerte für <SHIFT R>) 
 + 
 +#type ("micron")# 
 +USA|APPLE|MON OFF|PRT OFF|SCRN ON |KEY CLK|NORVID|SCROLL|BELL ON |CUR FLH|F STRG 
 +FLH  TVI  MON ON  PRT ON  SCRN OFF CLK OFF REVVID  PAGE  BELL OFF CUR STD F CODE 
 +          HEX ON                                                  CUR OFF 
 +#type ("elite")# 
 + 
 + 
 +#text end#
 +#clear pos# 
 +#free(1.293519)#
 + 
 + 
 +#right#4 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#page##--------------------------------- Ende der Seite 4 -----------#
 +#center##on("b")#3.  Die Kommandozeile#off("b")# 
 + 
 + 
 + 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#clearpos#
 +#rpos(16.2)##fillchar(" ")#
 +#text begin# 
 +Default Andere   Funktion 
 +#rpos(16.2)##fillchar(" ")##table# 
 +#on("u")# #off("u")# 
 +#table end# 
 +Basis 
 + GER    USA      Die Zeichensatzeinstellung ist für die gebräuchlichsten 
 +        APL      vier Zeichensätze in der Kommandozeile möglich. 
 +        UNI      GER = Deutsch Ascii, USA = US Ascii, APL = APL-Zeichensatz
 +                 UNI = Deutscher Zeichensatz mit inversen APL Zeichen. Der
 +                 APL-Zeichensatz entählt auch die Zeichen [\]{|}~. Über
 +                 ESC-Kommandos lassen weitere Möglichkeiten einstellen. 
 + 
 + BASIS  TVI      Keyboard Emulation. BASIS sendet die Funktionstastencodes
 +                 mit Bit 7 = 1. TVI sendet für jede Funktionstaste eine
 +                 Zeichenfolge <SOH> x <CR>. Die Cursortasten sowie DEL CHAR,
 +                 INS CHAR, DEL LINE, INS LINE werden wie bei TVI üblich
 +                 gesendet. Weiter Einzelheiten s.u. (TVI-Emulation) 
 + 
 +Apple 
 + USA    FLH      USA = US Ascii, FLH = Voller Ascii Zeichensatz mit Blinken
 +                 und Invers. 
 + 
 + APPLE  TVI      Keyboard Emulation. APPLE führt keine Codeumsetzung durch.
 +                 Wird allerdings die <OPEN APPLE>-Taste mit einer anderen
 +                 Taste zusammen gedrückt, wird das Bit 7 im Code auf 1 ge-
 +                 setzt. Zur TVI-Emulation siehe oben. 
 + 
 +MON OFF MON ON   Der Monitor Modus wird mit MON ON eingeschaltet. In diesem 
 +        HEX ON   Modus werden alle Steuerzeichen auf dem Bildschirm mar-
 +                 kiert ausgegeben. Bis auf die Kommandos <ESC> u oder <ESC>
 +                 X (um den Monitormodus auszuschalten) werden keine Komman-
 +                 dos interpretiert. Alle anderen Zeichen werden unverändert
 +                 dargestellt. Der Monitormodus kann auch durch MON OFF aus-
 +                 geschaltet werden. 
 +                 Im Hexmodus werden keine Zeichen, sondern deren Ascii-
 +                 Codes in Hexadezimaldarstellung ausgegeben. 
 + 
 +PRT OFF PRT ON   Parallele Druckerausgabe. Ist PRT ON eingeschaltet, werden
 +                 alle Zeichen die von der seriellen Schnittstelle kommen,
 +                 auf dem Drucker ausgegeben bzw. in den Druckerspooler ge-
 +                 schrieben. Die Bildschirmausgabe wird hiervon nicht beein-
 +                 flußt. 
 + 
 +SCRN ON SCR OFF  Bildschirmausgabe an/aus. Ist SCRN ON eingeschaltet, wer-
 +                 den alle Zeichen die von der seriellen Schnittstelle kom-
 +                 men, auf dem Bildschirm ausgegeben. SCR OFF und PRT ON kann
 +                 zum Beispiel benutzt werden, um Daten nur an den Drucker zu
 +                 schicken, ohne daß diese auch auf dem Bildschirm erschei-
 +                 nen. 
 + 
 +KEY CLK CLK OFF  Tastaturklick an/aus. Ist KEY CLK eingeschaltet, gibt jede
 +                 Taste (bis auf SHIFT, CTRL) bei ihrer Betätigung einen Ton
 +                 (Klick) von sich. CLK OFF schaltet dies ab. 
 + 
 +#text end#
 +#clear pos# 
 +#free(02.351852e-2)#
 + 
 + 
 + 5 
 +#page##--------------------------------- Ende der Seite 5 -----------#
 +#center##on("b")#Bedienungshandbuch zum ruc - Graphikterminal#off("b")# 
 + 
 + 
 + 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#clearpos#
 +#rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")#
 +#text begin# 
 +NORVID  REVVID   Bildschirmdarstellung. NORVID stellt hellen Text auf
 +                 schwarzem Grund dar, REVVID stellt schwarzen Text auf hel-
 +                 lem Grund dar (Möglicherweise angenehmer für die Augen). 
 + 
 +SCROLL  PAGE     Ist SCROLL eingeschaltet, wird der Bildschirm um eine Zeile
 +                 nach oben geschoben, sobald der Cursor in der letzten Bild-
 +                 schirmzeile steht und ein Zeilenvorschub <LF> ausgeführt
 +                 werden soll. Die erste Bildschirmzeile verschwindet. Ist
 +                 PAGE eingeschaltet, springt der Cursor in einer solchen
 +                 Situation in die erste Bildschirmzeile. Die Cursorspalte
 +                 wird dabei nicht verändert. 
 + 
 +BELL ON BELL OFF Normalerweise erzeugt jedes empfangene <CTRL G> einen kur-
 +                 zen Signalton. Wenn das stört, kann die Tonausgabe mit BELL
 +                 OFF abgeschaltet werden. 
 + 
 +CUR FLH CUR STD  Cursordarstellung. CUR FLH zeigt einen blinkenden CUR OFF
 +                 Cursorblock. CUR STD zeigt einen nichtblinkenden Cursor-
 +                 block. CUR OFF schaltet den Cursor ab (unsichtbar). 
 + 
 +F STRG  F CODE   Funktionstastenbelegung. Ist F STRG eingeschaltet, erzeugt
 +                 eine programmierte (belegte) Funktionstaste keinen Tasten-
 +                 code, sondern sendet die programmierten Zeichen. Eine unbe-
 +                 legte Funktionstaste sendet ihren Tastencode. Ist F CODE
 +                 eingeschaltet, erzeugen auch belegte Funktionstasten einen
 +                 Tastencode und senden keine programmierten Zeichen. 
 + 
 + 
 +#type("8")##center##ib(3)#3.4  Die zweite Kommandozeile#ie(3)##type("elite")# 
 + 
 +Die erste Zeile zeigt Defaultwerte für <SHIFT R>: 
 + 
 +#type ("micron")# 
 +STATOFF|TXT| 9600|STOP 1|DATA 8|NO  PAR|NO XONOFF|NO RTSCTS|NO DTRDSR 
 +STAT ON GFX 19200 STOP 2 DATA 7 EVN PAR  XON/XOFF  RTS/CTS   DTR/DSR 
 +               50               ODD PAR 
 +               75 
 +            109.9 
 +            134.6 
 +              150 
 +              300 
 +              600 
 +             1200 
 +             1800 
 +             2400 
 +             3600 
 +             4800 
 +             7200 
 +#type ("elite")# 
 + 
 +#text end#
 +#clear pos# 
 +#free(1.716852)#
 + 
 + 
 +#right#6 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#page##--------------------------------- Ende der Seite 6 -----------#
 +#center##on("b")#3.  Die Kommandozeile#off("b")# 
 + 
 + 
 + 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#clearpos#
 +#rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")#
 +#text begin# 
 +Default Andere   Funktion 
 +#rpos(16.2)##fillchar(" ")##table# 
 +#on("u")# #off("u")# 
 +#table end# 
 +STATOFF STAT ON  Anzeige der Statuszeile. Der Arbeitsbereich des Bildschirms
 +                 beträgt zwar immer 24 Zeilen, allerdings ist bei STAT ON
 +                 anstelle der 24. Textzeile die Statuszeile sichtbar. Bei
 +                 STATOFF wird der aktuelle Inhalt der 24. Textzeile sicht-
 +                 bar. Einzelheiten s.u. (Die Statuszeile) 
 + 
 +TXT     GFX      Textmodus/Graphikmodus. TXT schaltet in die 80x24 Zeichen
 +                 Textdarstellung um. GFX schaltet auf die aktuelle Graphik-
 +                 seite um. 
 + 
 +9600    19200    Wählt die Baudrate für die serielle Schnittstelle. 
 +           50    Die Angabe erfolgt in Bits/Sekunde (Baud) 
 +           75 
 +          109.9 
 +          134.6 
 +          150 
 +          300 
 +          600 
 +         1200 
 +         1800 
 +         2400 
 +         3600 
 +         4800 
 +         7200 
 + 
 +STOP 1  STOP 2   Wählt die Anzahl der Stopbits für die serielle Schnitt-
 +                 stelle. 
 + 
 +DATA 8  DATA 7   Wählt die Anzahl der Datenbits für die serielle Schnitt-
 +                 stelle. 
 + 
 +NO PAR  EVN PAR  Wählt Parity Check Art. NO PAR = Kein Paritätsbit, keine 
 +        ODD PAR  Paritätsprüfung. EVN PAR = Gerade Parität, ODD PAR = Unge-
 +                 rade Parität. 
 + 
 +NO XONOFF        Wählt XON (CTRL Q) und XOFF (CTRL S) als Protokoll für die 
 +        XON/XOFF serielle Schnittstelle. Wird XOFF vom Host gesendet, kann
 +                 das Terminal noch 255 Zeichen empfangen, bis der Empfangs-
 +                 puffer überläuft. Mit NO XONXOFF wird dieses Protokoll
 +                 ausgeschaltet. 
 + 
 +NO RTSCTS        Wählt RTS/CTS als Protokoll für die serielle Schnittstel-
 +        RTS/CTS  le. Mit NO RTSCTS wird dieses Protokoll ausgeschaltet. 
 + 
 +NO DTRDSR        Wählt DTR/DSR als Protokoll für die serielle Schnittstel-
 +        DTR/DSR  le. Mit NO DTRDSR wird dieses Protokoll ausgeschaltet. 
 + 
 +#text end#
 +#clear pos# 
 +#free(1.293519)#
 + 
 + 
 + 7 
 +#page##--------------------------------- Ende der Seite 7 -----------#
 +#center##on("b")#Bedienungshandbuch zum ruc - Graphikterminal#off("b")# 
 + 
 + 
 + 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#clearpos#
 +#rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")#
 +#text begin# 
 +#type("8")##center##on("i")##on("u")##ib(3)#4.  Die Statuszeile#ie(3)##off("u")##off("i")##type("elite")# 
 + 
 + 
 +Die Statuszeile enthält 5 Felder, die über die wichtigsten Betriebszustände
 +des Terminals Auskunft geben. Die Statuszeile ersetzt die (dann in den 'Hin-
 +tergrund' verlegte) 24. Zeile. Die Statuszeile kann in der Kommandozeile mit
 +STAT ON oder vom Host oder im Local Modus mit 
 + 
 +                         #ib(1)#<ESC> }#ie(1)#   (Hex 1B 7D) 
 + 
 +eingeschaltet werden. Ausschalten ebenso mit STATOFF oder 
 + 
 +                         #ib(1)#<ESC> {#ie(1)#   (Hex 1B 7B) 
 + 
 +Die Zuordnung der Felder: 
 + 
 +#type ("micron")# 
 +Spooler | Empfängerpuffer | Senderpuffer | Bereit/Beschäftigt | Local/Online
 +#type ("elite")# 
 + 
 +Kritische Zustände werden invers markiert. Dies sind alle Fälle, in denen
 +ein Puffer überläuft. 
 +Ist dies beim Empfangspuffer der Fall (RX FULL), gehen Daten verloren. 
 +Sollte der Druckerpuffer voll sein (PR FULL) und das Terminal keine Eingabe
 +mehr annehmen, kann man durch längeres Drücken von <SHIFT ESC> Zeichen aus
 +dem Druckerpuffer entfernen, damit wieder Platz frei wird. 
 +Sollte der Senderpuffer voll sein (TX FULL), so liegt das wahrscheinlich
 +daran, daß der Host kein XON gesendet hat oder dieses falsch übertragen
 +wurde. Durch Drücken von <SHIFT ESC> kann man den Transmitter wieder star-
 +ten. 
 + 
 + 
 +#type("8")##center##ib(3)#4.1  Spoolerstatus#ie(3)##type("elite")# 
 + 
 +- Ein leeres Feld bedeutet: Der Spooler (Druckerpuffer) ist leer, es ist
 +  nichts zum Drucken im Puffer. 
 + 
 +- PRINT zeigt an: Der Spooler ist gefüllt. Das Terminal ist druckwillig oder
 +  der Drucker druckt. 
 + 
 +- PR FULL bedeutet: Der Druckerpuffer ist voll. Da das Terminal keine wei-
 +  teren Zeichen annimmt bis wieder Platz im Druckerpuffer ist, kann man
 +  einzelne Zeichen mit <SHIFT ESC> aus dem Druckerpuffer entfernen bis PRINT
 +  im Feld erscheint. 
 + 
 + 
 +#type("8")##center##ib(3)#4.2  Empfängerstatus#ie(3)##type("elite")# 
 + 
 +- Ein leeres Feld bedeutet: Im Empfängerpuffer ist noch Platz. 
 + 
 +- RX FULL zeigt an: Es gehen Empfangsdaten verloren, da der Empfängerpuffer
 +  voll ist. 
 + 
 + 
 +#text end#
 +#clear pos# 
 +#free(02.351852e-2)#
 + 
 + 
 +#right#8 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#page##--------------------------------- Ende der Seite 8 -----------#
 +#center##on("b")#4.  Die Statuszeile#off("b")# 
 + 
 + 
 + 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#clearpos#
 +#rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")#
 +#text begin# 
 +#type("8")##center##ib(3)#4.3  Senderstatus#ie(3)##type("elite")# 
 + 
 +- TX ON bedeutet: Der Sender ist eingeschaltet. Wenn jetzt ein Zeichen ge-
 +  sendet werden muß, wird es sofort auf die serielle Schnittstelle ge-
 +  schickt. 
 +  Ein > vor TX ON zeigt an, daß das Terminal auf Freiwerden der seriellen
 +  Schnittstelle wartet. 
 + 
 +- TX OFF bedeutet: Der Host hat entweder XOFF gesendet oder die Hardware-
 +  flußkontrolle aktiviert, um das Terminal zu stoppen. 
 + 
 +- TX FULL zeigt an: Der Senderpuffer ist voll. Das Terminal nimmt keine
 +  Eingaben mehr an bis der Puffer wieder frei ist. Dies kann mit <SHIFT ESC>
 +  erzwungen werden. 
 + 
 + 
 +#type("8")##center##ib(3)#4.4  Busy - Anzeige#ie(3)##type("elite")# 
 + 
 +- READY bedeutet: Der Empfänger ist empfangsbereit, d.h. im Empfangspuffer
 +  sind noch mindestens 256 Zeichen frei und das Terminal hat den Host nicht
 +  per Flußkontrolle gestoppt. 
 + 
 +- BUSY bedeutet: Der Empfänger hat dem Host per Flußkontrolle angezeigt, daß
 +  nicht mehr genügend Platz im Empfangspuffer war. Die Flußkontrolle wird
 +  wieder freigegeben, wenn nur noch 256 Bytes im Empfangspuffer sind. 
 +  (Warnung: Wenn BUSY angezeigt wird, eine Taste gedrückt wird und der Host
 +  #on("u")#nicht#off("u")# empfangsbereit ist, gerät das Terminal in eine
 +  "Deadlock-Situation", die (mit Datenverlust) nur durch einen Hardwarereset
 +  abgebrochen werden kann.) 
 + 
 + 
 +#type("8")##center##ib(3)#4.5  Online/Local - Anzeige#ie(3)##type("elite")# 
 + 
 +- ONLINE bedeutet: Das Terminal sendet Tasteneingaben an den Host und emp-
 +  fängt Zeichen und Kommandos vom Host. 
 + 
 +- LOCAL bedeutet: Keyboardeingaben erscheinen auf dem Bildschirm bzw. blei-
 +  ben innerhalb des Terminals. Escape-Kommandos wirken direkt auf das Ter-
 +  minal. 
 + 
 +#text end#
 +#clear pos# 
 +#free(5.103519)#
 + 
 + 
 + 9 
 +#page##--------------------------------- Ende der Seite 9 -----------#
 +#center##on("b")#Bedienungshandbuch zum ruc - Graphikterminal#off("b")# 
 + 
 + 
 + 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#clearpos#
 +#rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")#
 +#text begin# 
 +#type("8")##center##on("i")##on("u")##ib(3)#5.  Die Bedeutung der Tasten#ie(3)##off("u")##off("i")##type("elite")# 
 + 
 + 
 +Zusätzlich zu den normalerweise von der Tastatur gesendeten Tastencodes sind
 +einige weitere zur Verfügung gestellt worden. Beim Apple senden fast alle
 +Tasten mit Open-Apple zusammen einen Code mit Bit 7 = 1. Diese werden vom
 +Terminal als Funktions- oder Steuertasten interpretiert. Beim Basis wurden
 +einige bisher nur einfach belegte Tasten wie <RETURN>, <TAB>, <ESC>, <CE>
 +und der Zehnerblock mit Doppelfunktionen über <SHIFT> versehen. 
 + 
 + 
 +#type("8")##center##ib(3)#5.1  Die Funktions- und Steuertasten#ie(3)##type("elite")# 
 + 
 +Zuerst werden die Tastenfunktionen erläutert für ein nicht emulierendes
 +Terminal. Die TVI-Emulation kann in der Kommandozeile abgeschaltet werden
 +(1. Zeile, 2. Feld) oder mit dem Kommando 
 + 
 +                         #ib(1)#<ESC> <SPACE> 0#ie(1)#    (Hex 1B 20 30) 
 + 
 +Die Cursortasten liefern beim Basiskeyboard andere Tastencodes als beim
 +Applekeyboard. Wird das Bit 7 ignoriert (ausgeblendet), stimmen die Codes
 +überein. <TOPLEFT> bezeichnet beim Basiskeyboard die linke obere Eckposi-
 +tion des Cursorblocks, <TOPRIGHT> die rechte obere etc. 
 + 
 +Basis-Taste    Apple-Taste  Hex-Code   Bedeutung 
 +#rpos(16.2)##fillchar(" ")##table# 
 +#on("u")# #off("u")# 
 +#table end# 
 +<TAB>            <TAB>         09      Der Cursor wird an die nächste (re-
 +                                       chte) Tabulatorposition gesetzt.
 +                                       Tabulatorpositionen sind alle 8 Spal-
 +                                       ten. Also 1, 9, 17, 25, 33, 41, 49,
 +                                       57, 65, 73. War der Cursor in Spalte
 +                                       73 bis 79, dann wird er in die erste
 +                                       Spalte der nächst tieferen Bild-
 +                                       schirmzeile gesetzt. War der Cursor
 +                                       vorher auch noch in Zeile 24, dann
 +                                       wird der Bildschirminhalt entweder
 +                                       nach oben gescrollt (SCROLL) oder in
 +                                       Homeposition gebracht (PAGE). 
 + 
 +<SHIFT TAB>      <OA TAB>      89      Back-Tab (Rückwärtstabulator). Der
 +                                       Cursor wird in die nächste links vom
 +                                       Cursor befindliche Tabulatorposition
 +                                       gebracht. War der Cursor in Spalte 1,
 +                                       dann steht er jetzt in Spalte 73 der
 +                                       darüberliegenden Zeile. War der Cur-
 +                                       sor in Homeposition, dann ändert sich
 +                                       seine Position nicht. 
 + 
 +<SHIFT CE>       <OA CTRL X>    -      Kommandozeile aktivieren. Einzelhei-
 +                                       ten zur Kommandozeile siehe Abschnitt
 +                                       3.: Die Kommandozeilen. 
 + 
 +#text end#
 +#clear pos# 
 +#free(02.351852e-2)#
 + 
 + 
 +#right#10 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#page##--------------------------------- Ende der Seite 10 -----------#
 +#center##on("b")#5.  Die Bedeutung der Tasten#off("b")# 
 + 
 + 
 + 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#clearpos#
 +#rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")#
 +#text begin# 
 +<CE>             <CTRL X>      18      U.a. Kommandozeile verlassen. 
 + 
 +<RETURN>         <RETURN>      0D      Zum Zeilenanfang ohne Zeilenvorschub.
 +                                       Der Cursor steht dann in der ersten
 +                                       Spalte der Zeile. 
 + 
 +<SHIFT RETURN>   <OA RETURN>   8D      Zum Anfang der nächsten Zeile. Falls
 +                                       der Cursor in der letzten (24.) Bild-
 +                                       schirmzeile war, wird der Bildschir-
 +                                       minhalt entweder nach oben gescrollt
 +                                       (SCROLL) oder in Homeposition ge-
 +                                       bracht (PAGE). 
 + 
 +<UP>             <UP>       8B/0B      Cursor eine Zeile höher. War der
 +                                       Cursor in der ersten Bildschirmzei-
 +                                       le, ändert sich seine Position nicht. 
 + 
 +<DOWN>           <DOWN>     8A/0A      Cursor eine Zeile tiefer. War der
 +                                       Cursor in Zeile 24, dann wird der
 +                                       Bildschirminhalt entweder nach oben
 +                                       gescrollt (SCROLL) oder der Cursor in
 +                                       die erste Bildschirmzeile gesetzt
 +                                       (PAGE). 
 + 
 +<CTRL V>         <CTRL V>      16      Cursor eine Zeile tiefer. War der
 +                                       Cursor in Zeile 24, dann ändert er
 +                                       seine Position nicht. Die Spalte
 +                                       ändert sich nicht. 
 + 
 +<LEFT>           <LEFT>     88/08      Cursor eine Spalte nach links. War
 +                                       der Cursor in der ersten Bildschirm-
 +                                       spalte, dann steht er jetzt in der
 +                                       letzten Spalte der darüberliegenden
 +                                       Bildschirmspalte. War der Cursor
 +                                       allerdings in Homeposition, ändert
 +                                       sich seine Position nicht. 
 + 
 +<RIGHT>             -          95      Cursor eine Spalte nach rechts. War
 +                                       der Cursor in Spalte 79, dann steht
 +                                       er jetzt in der ersten Spalte der
 +                                       folgenden Zeile. War der Cursor in
 +                                       der letzten Zeile, dann wird der
 +                                       Bildschirminhalt um eine Zeile nach
 +                                       oben gescrollt (SCROLL) oder der
 +                                       Cursor in Homeposition gebracht
 +                                       (PAGE). 
 + 
 +<HOME>           <OA @>        C0      Der Cursor wird in die linke obere
 +                                       Bildschirmecke gebracht (Homeposi-
 +                                       tion). 
 + 
 +<SHIFT HOME>     <OA P>        D0      Bildschirm löschen und Cursor Home. 
 +#text end#
 +#clear pos# 
 +#free(02.351852e-2)#
 + 
 + 
 + 11 
 +#page##--------------------------------- Ende der Seite 11 -----------#
 +#center##on("b")#Bedienungshandbuch zum ruc - Graphikterminal#off("b")# 
 + 
 + 
 + 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#clearpos#
 +#rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")#
 +#text begin# 
 +<DELETE>         <DELETE>      7F      Dieses Zeichen wird auf dem Bild-
 +                                       schirm als Punktraster dargestellt.
 +                                       Der Host interpretiert es in der
 +                                       Regel als Zeichenlöschbefehl. 
 + 
 +<TOPLEFT>        <OA CTRL N>   8E      Zeichen bei Cursorposition einfügen.
 +                                       Der Cursor ändert seine Position
 +                                       nicht. Unter dem Cursor steht dann
 +                                       ein Leerzeichen. Das Zeichen in Spal-
 +                                       te 79 geht verloren. 
 + 
 +<SHIFT TOPLEFT>  <OA CTRL B>   82      Zeichen unter Cursorposition löschen.
 +                                       In Spalte 79 steht dann ein Leerzei-
 +                                       chen. 
 + 
 +<TOPRIGHT>       <OA CTRL O>   8F      Zeile bei Cursorposition einfügen.
 +                                       Die Cursorposition ändert sich nicht.
 +                                       Der Inhalt der letzten Bildschirmzei-
 +                                       le ist verloren. Die Zeile in der der
 +                                       Cursor steht wird mit Leerzeichen
 +                                       gefüllt. 
 + 
 +<SHIFT TOPRIGHT> <OA CTRL C>   83      Zeile in der der Cursor steht lö-
 +                                       schen. Die Cursorposition ändert sich
 +                                       nicht. Der Inhalt der gelöschten
 +                                       Zeile ist verloren. Die letzte Bild-
 +                                       schirmzeile wird mit Leerzeichen
 +                                       aufgefüllt. 
 + 
 +<BOTTOMLEFT>     <BACKSPACE>   08      Cursor eine Spalte nach links. Die
 +                                       Funktion ist mit der von <LEFT> iden-
 +                                       tisch. 
 + 
 +<BOTTOMRIGHT>    <RIGHT>       15      Apple: Cursor eine Spalte nach re-
 +                                       chts. Die Funktion ist mit der von
 +                                       <RIGHT> identisch. 
 + 
 +<SHIFT BOTTOMRIGHT> <OA RIGHT> EF      Diese Taste ist eine programmierbare
 +                                       Funktionstaste (siehe <ESC> e). 
 + 
 +<SHIFT DELETE>   <OA DELETE>   81      Diese das liefert den
 +                                       Makroparametercode (siehe <ESC> e). 
 + 
 +<ESC>            <ESC>         1B      Leitet eine Escape-Sequenz ein. 
 + 
 +<SHIFT ESC>      <OA ESC>      9B      Während der Funktionstastedefinition
 +                                       wirkt diese Taste wie ein Local
 +                                       Escape, sonst liefert sie den Code 9B.
 +                                       (siehe <ESC> e). 
 +                                       
 +<SHIFT CTRL HOME><OA 0>         -      Local/Online umschalten. 
 + 
 +#text end#
 +#clear pos# 
 +#free(02.351852e-2)#
 + 
 + 
 +#right#12 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#page##--------------------------------- Ende der Seite 12 -----------#
 +#center##on("b")#5.  Die Bedeutung der Tasten#off("b")# 
 + 
 + 
 + 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#clearpos#
 +#rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")#
 +#text begin# 
 +<CTRL HOME>      <OA SPACE>   '00'     Sendet V24-Break (Hexcode 00 mit
 +                                       Rahmenfehler). Als Rahmenfehler wird
 +                                       das Fehlen des oder der Stopbits
 +                                       bezeichnet (Stopbitpegel ist norma-
 +                                       lerweise 1, bei Break dagegen 0). 
 + 
 +#on("u")#Zehnerblock:#off("u")# 
 + 
 +<SHIFT 1> ...    <OA a> ...    E1 ...  programmierbare Funktionstasten 
 +<SHIFT 9>        <OA i>        E9             "               " 
 +<SHIFT 0>        <OA j>        EA             "               " 
 +<SHIFT .>        <OA k>        EB             "               " 
 +<SHIFT +>        <OA l>        EC             "               " 
 +<SHIFT ->        <OA m>        ED             "               " 
 + 
 +<SHIFT BOTRIGHT> <OA RIGHT>    EF             "               " 
 + (Dieser Code wird beim RESET des 
 + Terminals ausgeführt. Der Benut- 
 + zer kann damit das Terminal nach 
 + seinen Wünschen konfigurieren.) 
 + 
 + 
 +#on("u")#Funktionstasten:#off("u")# 
 + 
 +<F1> ...         <OA A> ...    C1             "               " 
 +<F15>            <OA O>        CF             "               " 
 +<SHIFT F1> ...   <OA Q> ...    D1             "               " 
 +<SHIFT F15>      <OA _>        DF             "               " 
 +<CTRL F1> ...    <OA !> ...    A1             "               " 
 +<CTRL F15>       <OA />        AF             "               " 
 +<SHIFT CTRL F1>..<OA 1> ...    B1             "               " 
 +<SHIFT CTRL F15> <OA ?>        BF             "               " 
 + 
 +Die Programmierung der Funktionstasten geschieht mit #ib(1)#<ESC> e#ie(1)#. 
 + 
 + 
 +#type("8")##center##ib(3)#5.2  Die TVI-Emulation#ie(3)##type("elite")# 
 + 
 +Wird das Terminal in den TVI-Emulationsmode gebracht, dann senden einige
 +Tasten andere Tastencodes oder Codesequenzen. Die Bedeutung der Escape-
 +Sequenzen ändert sich dadurch nicht. 
 +Der TVI-Modus kann in der Kommandozeile eingeschaltet werden (1. Zeile, 2.
 +Feld) oder durch 
 + 
 +                         #ib(1)#<ESC> <SPACE> 1#ie(1)#    (Hex 1B 20 31) 
 + 
 +An dieser Stelle erscheinen nur noch die Tastenbezeichnungen des Basiskey-
 +boards. Die entsprechenden Tasten, die beim Applekeyboard zu drücken sind,
 +kann man im letzten Abschnitt nachlesen. 
 + 
 +#text end#
 +#clear pos# 
 +#free(08.701852e-1)#
 + 
 + 
 + 13 
 +#page##--------------------------------- Ende der Seite 13 -----------#
 +#center##on("b")#Bedienungshandbuch zum ruc - Graphikterminal#off("b")# 
 + 
 + 
 + 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#clearpos#
 +#rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")#
 +#text begin# 
 +Folgende Tasten senden andere Tastencodes: 
 + 
 +Taste       TVI-Code(sequenz)       Bemerkung 
 +#rpos(16.2)##fillchar(" ")##table# 
 +#on("u")# #off("u")# 
 +#table end# 
 +<RIGHT>     0C    #ib(1)#<CTRL L>#ie(1)#          Cursor nach rechts 
 + 
 +<HOME>      1E    #ib(1)#<CTRL SHIFT ^>#ie(1)#    Cursor in Homeposition 
 + 
 +<CLEAR>     1A    #ib(1)#<CTRL Z>#ie(1)#          Durch Drücken von <SHIFT HOME> 
 +                                    Bildschirm löschen und Cursor Home 
 + 
 +<DEL CHAR>  1B 57 #ib(1)#<ESC> W#ie(1)#           Durch Drücken von <SHIFT TOPLEFT> 
 +                                    Zeichen löschen 
 + 
 +<DEL LINE>  1B 52 #ib(1)#<ESC> R#ie(1)#           Durch Drücken von <SHIFT TOPRIGHT> 
 +                                    Zeile löschen 
 + 
 +<INS CHAR>  1B 51 #ib(1)#<ESC> Q#ie(1)#           Durch Drücken von <TOPLEFT> 
 +                                    Zeichen einfügen 
 + 
 +<INS LINE>  1B 45 #ib(1)#<ESC> E#ie(1)#           Durch Drücken von <TOPRIGHT> 
 +                                    Zeile einfügen 
 + 
 +<LEFT>      08    #ib(1)#<BACKSPACE>#ie(1)#       Cursor nach links 
 + 
 +<BACK TAB>  1B 49 #ib(1)#<ESC> I#ie(1)#           Durch Drücken von <SHIFT TAB> 
 +                                    Rückwärtstabulator 
 + 
 +<DOWN>      0A    #ib(1)#<LF>#ie(1)#              Cursor nach unten 
 + 
 +<UP>        0B    #ib(1)#<CTRL K>#ie(1)#          Cursor nach oben 
 + 
 +<NEWLINE>   1F    #ib(1)#<CTRL SHIFT _>#ie(1)#    Durch Drücken von <SHIFT RETURN> 
 +                                    Waagenrücklauf und Zeilenvorschub 
 + 
 + 
 +#on("u")#Funktionstasten:#off("u")# 
 + 
 +Für jede Funktionstaste, die nicht belegt wurde wird eine Codesequenz der
 +Form <CTRL A> <code> <CR> also 01 <code> 0D gesendet. Für <code> gilt: 
 + 
 +Taste             <code>    Hex-Code 
 +<F1> ...            @ ...      40 ...   Diese Tasten sind auf fast allen 
 +<F11>               J          4A       TVI-Terminals vorhanden. 
 +<F12> ...           ` ...      60 ... 
 +<F15>               c          63 
 + 
 +<SHIFT F1> ...      K ...      4B ... 
 +<SHIFT F15>         Y          59 
 + 
 + 
 +#text end#
 +#clear pos# 
 +#free(04.468519e-1)#
 + 
 + 
 +#right#14 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#page##--------------------------------- Ende der Seite 14 -----------#
 +#center##on("b")#5.  Die Bedeutung der Tasten#off("b")# 
 + 
 + 
 + 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#clearpos#
 +#rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")#
 +#text begin# 
 +#on("u")#Zehnerblock:#off("u")# 
 + 
 +<SHIFT 1> ...       d ...      64 ... 
 +<SHIFT 9>           l          6C 
 +<SHIFT 0>           m          6D 
 +<SHIFT .>           n          6E 
 +<SHIFT +>           o          6F 
 +<SHIFT ->           p          70 
 + 
 +<SHIFT BOTRIGHT>    r          72 
 + 
 +Alle nicht in dieser Tabelle aufgeführten Funktionstasten senden den Basis-
 +tastencode. 
 + 
 +#text end#
 +#clear pos# 
 +#free(16.11019)#
 + 
 + 
 + 15 
 +#page##--------------------------------- Ende der Seite 15 -----------#
 +#center##on("b")#Bedienungshandbuch zum ruc - Graphikterminal#off("b")# 
 + 
 + 
 + 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#clearpos#
 +#rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")#
 +#text begin# 
 +#type("8")##center##on("i")##on("u")##ib(3)#6.  Der Graphikmodus#ie(3)##off("u")##off("i")##type("elite")# 
 + 
 + 
 +#type("8")##center##ib(3)#6.1  Allgemeines#ie(3)##type("elite")# 
 + 
 +Der Graphikmodus kann in der 2. Kommandozeile ein- und ausgeschaltet (Gra-
 +phik: GFX, Text: TXT) oder mit dem Kommando 
 + 
 +                         #ib(1)#<ESC> $#ie(1)#    (Hex 1B 24) 
 + 
 +eingeschaltet und mit dem Kommando 
 + 
 +                         #ib(1)#<ESC> %#ie(1)#    (Hex 1B 25) 
 + 
 +ausgeschaltet. 
 + 
 +Die Auflösung beträgt in y-Richtung 280 Punkte und in x-Richtung 192 Punk-
 +te, das sind 53760 Punkte. 
 + 
 + 
 +#type("8")##center##ib(3)#6.2  Koordinaten und Parameterübergabe#ie(3)##type("elite")# 
 + 
 +Die Koordinaten für die Graphikkommandos dürfen den Bereich von -32768 bis
 +32767 überstreichen. Der sichtbare Bereich ist für die X-Koordinate 0..279
 +und für die Y-Koordinate von 0..191. Der Ursprung (d.h. der Punkt (0,0) )
 +des Koordinatensystems ist die linke untere Ecke. Die Graphikroutinen zeic-
 +hnen nur innerhalb des sichtbaren Bereichs (Clipping). 
 + 
 + 
 +#type("8")##center##ib(3)#6.2.1  Cursorposition/Fadenkreuz#ie(3)##type("elite")# 
 + 
 +Der Graphikcursor ist ein gedachter unsichtbarer Punkt, der sich im gesam-
 +ten (auch unsichtbaren) Bereich des Koordinatensystems befinden kann. Wenn
 +sich der Cursor im sichtbaren Bereich befindet, dann kann man an der Posi-
 +tion ein Fadenkreuz darstellen. Das Fadenkreuz kann mit 
 + 
 +                         #ib(1)#<CTRL X>#ie(1)# oder #ib(1)#<CE>#ie(1)#    (Hex 18) 
 + 
 +ein- und ausgeschaltet werden. Das Fadenkreuz wird Exklusiv-Oder (XOR) ge-
 +zeichnet. Das heißt, daß die Punkte an der Stelle des Fadenkreuzes inver-
 +tiert (umgedreht) werden. Das hat wiederum zur Folge, daß an der Graphik-
 +seite nichts verändert wird, wenn zweimal <CTRL X> gesendet wird. Solange
 +der Bereich oder die Position des Fadenkreuzes nicht verändert wird, können
 +zwischen den beiden <CTRL X> Kommandos auch andere Graphikkommandos ausge-
 +führt werden. 
 + 
 + 
 +#text end#
 +#clear pos# 
 +#free(2.140185)#
 + 
 + 
 +#right#16 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#page##--------------------------------- Ende der Seite 16 -----------#
 +#center##on("b")#6.  Der Graphikmodus#off("b")# 
 + 
 + 
 + 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#clearpos#
 +#rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")#
 +#text begin# 
 +#type("8")##center##ib(3)#6.2.2  Binäre oder dezimale Parameter#ie(3)##type("elite")# 
 + 
 +Die Übergabe der x/y Koordinaten, eines Radius oder relativer Koordinaten
 +und in einigen Fällen auch anderer Parameter, kann auf zwei verschiedene
 +Arten erfolgen. Das Terminal erkennt die Übergabeart am ersten Parameterby-
 +te: 
 +Bei dezimalen Parametern ist dies entweder <SPACE>, +, - oder eine Zahl. Bei
 +Binären Parametern liegt das Höherwertige Byte (das erste!) im Bereich von
 +00..1F oder 3A..FF. Die Festlegung auf dezimale oder binäre Parameter gilt
 +für beide (X und Y) Koordinaten. 
 + 
 + 
 +#type("8")##center##ib(3)#6.2.2.1  Binäre Parameter#ie(3)##type("elite")# 
 + 
 +Binäre Parameter sind eine Folge von vier Bytes (mit 8 Bits). Die ersten
 +beiden Bytes stellen die X-Koordinate dar, die anderen beiden Bytes die
 +Y-Koordinate. Negative Koordinaten oder negative relative Koordinaten wer-
 +den durch Bilden des Zweierkomplements dargestellt. 
 +Zu beachten ist, daß zuerst das höherwertige (Highbyte) und dann das nie-
 +derwertige (Lowbyte) gesendet werden muß. 
 + 
 +Der Vorteil der binären Parameter ist, daß die Parameterübergabe schneller
 +ist als bei dezimalen Parametern, da weder Host noch Terminal eine Konver-
 +tierung vornehmen müssen und die Anzahl der Parameterbytes in der Regel
 +geringer ist als bei dezimaler Parameterübergabe. 
 + 
 +Der Nachteil ist, daß bei XON/XOFF Flußkontrolle einige Zahlen als XON oder
 +XOFF interpretiert werden können und daß diese Parameter nicht auf Funk-
 +tionstasten gelegt werden können, wenn sie Zeichen > Hex 7F enthalten. 
 + 
 + 
 +#type("8")##center##ib(3)#6.2.2.2  Dezimale Parameter#ie(3)##type("elite")# 
 + 
 +Dezimale Parameter bestehen aus einer Folge von ASCII-Zeichen. Die beiden
 +Koordinaten werden durch einen Separator (Komma, CR, Semikolon o.ä.) ge-
 +trennt. Nach dem 2. Parameter steht ein weiterer Separator. An beliebiger
 +Stelle in und vor den Zahlen dürfen Leerzeichen (<SPACE>) oder Pluszeichen
 +(+) stehen, die keine Änderung des Ergebnisses bewirken. Ein Minuszeichen
 +vor einer Zahl negiert sie. 
 + 
 +Der Vorteil der dezimalen Parameter ist, daß sie in höheren Programmier-
 +sprachen bequem und lesbar in ein Programm geschrieben werden können und daß
 +keine Steuerzeichen vorkommen, die die XON/XOFF - Flußkontrolle stören könn-
 +ten. Außerdem können diese Parameter immer auf Funktionstasten gelegt wer-
 +den, da sie keine Codes > Hex 7F enthalten. 
 + 
 +Der Nachteil ist wie unter 6.2.2.1 geschrieben, die Zeitdauer der zweima-
 +liegen Konvertierung (Host, Terminal) und die in der Regel längeren Parame-
 +ter. 
 + 
 + 
 +#text end#
 +#clear pos# 
 +#free(04.468519e-1)#
 + 
 + 
 + 17 
 +#page##--------------------------------- Ende der Seite 17 -----------#
 +#center##on("b")#Bedienungshandbuch zum ruc - Graphikterminal#off("b")# 
 + 
 + 
 + 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#clearpos#
 +#rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")#
 +#text begin# 
 +#type("8")##center##ib(3)#6.2.3  Absolute oder relative Koordinaten#ie(3)##type("elite")# 
 + 
 +Bei den Move- und Drawbefehlen hat man die Wahl zwischen relativen und abso-
 +luten Koordinaten. 
 + 
 +Absolute Koordinaten setzen den Graphikcursor direkt auf die als Parameter
 +angegebene Position. Z.B. <ESC> v 200, 100; setzt den Cursor direkt auf die
 +Position X=200, Y=100. Die meisten Programme unterstützen nur absolute Koor-
 +dinaten. 
 + 
 +Relative Koordinaten werden zur aktuellen Position des Graphikcursors ad-
 +diert. Das hat den Vorteil, daß eine Routine nicht zu wissen braucht, wo der
 +Graphikcursor gerade steht. Man kann sich zum Beispiel Folgen von relativen
 +Move's und Draw's auf Funktionstasten legen, die dann im Localmodus an der
 +aktuellen Cursorposition irgendwelche Symbole oder Sonderzeichen zeichnen.
 +Z.B. <ESC> q -4, 3; bewegt den Graphikcursor 4 Punkte nach links und 3 Punk-
 +te nach oben. 
 + 
 + 
 +#type("8")##center##ib(3)#6.2.4  Byteparameter#ie(3)##type("elite")# 
 + 
 +Byteparameter sind solche, die nur aus einem Byte bestehen. Die Werte kön-
 +nen also normalerweise von 0 bis 255 oder Hex 00 bis Hex FF. In den Fällen,
 +in denen nicht der ganze Wertebereich genutzt wird, werden nur die nieder-
 +wertigsten Bits ausaskiert, die höherwertigen werden ignoriert, wenn nicht
 +ausdrücklich etwas anderes angegeben ist. Im Bereich von 0 bis 7 sind Wert
 +und ASCII-Ziffer identisch. Bei Werten großer als 9 geht das allerdings
 +nicht mehr. Sind zum Beispiel die Werte von 0 bis 15 erlaubt, dann kann man
 +folgende Tabelle benutzen: 
 + 
 +#on("u")#Wert   ASCII (Hex) oder Binär#off("u")# 
 +  0      0     30        00 
 +  1      1     31        01 
 +  2      2     32        02 
 +  3      3     33        03 
 +  4      4     34        04 
 +  5      5     35        05 
 +  6      6     36        06 
 +  7      7     37        07 
 +  8      8     38        08 
 +  9      9     39        09 
 + 10      :     3A        0A 
 + 11      ;     3B        0B 
 + 12      <     3C        0C 
 + 13      =     3D        0D 
 + 14      >     3E        0E 
 + 15      ?     3F        0F 
 + 
 +Für Werte zwischen 0 und 31 benutzt man dann besser die Buchstaben (Groß-
 +buchstaben und [\]^_ oder Kleinbuchstaben und {|}~ und <DEL>). Die Zuord-
 +nung entnimmt man der ASCII-Tabelle in Anhang A. 
 + 
 +#text end#
 +#clear pos# 
 +#free(02.351852e-2)#
 + 
 + 
 +#right#18 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#page##--------------------------------- Ende der Seite 18 -----------#
 +#center##on("b")#6.  Der Graphikmodus#off("b")# 
 + 
 + 
 + 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#clearpos#
 +#rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")#
 +#text begin# 
 +#type("8")##center##ib(3)#6.3  Die Graphikparameter#ie(3)##type("elite")# 
 + 
 +Für die Linien und Zeichen in der Graphik gibt es verschiedene Darstellungs-
 +weisen. Man kann die Strichdicke, die Farbe (auf einem Monochrommonitor die
 +Helligkeit), den Linientyp (durchgehend, gepunktet, gestrichelt etc.) und
 +die Bitverknüpfungen (löschen, invertieren...) festlegen. Diese Parameter
 +werden mit einem Kommando <ESC> O <n> ... verändert. 
 + 
 +Mit dem Kommando 
 + 
 +                         #ib(1)#<ESC> O 0#ie(1)#    (Hex 1B 4F 30) 
 + 
 +werden all diese Parameter auf Defaultwerte zurückgesetzt. Diese Default-
 +werte sind: Strichdicke 1, durchgehende Linie, OR-Bitverknüpfung (Punkte
 +setzen), helle Farbe (gelb). Ausserdem wird die Seite 0 als sichtbare und
 +als Arbeitsseite gewählt. Es wird auf ganzseitige Graphik geschaltet (falls
 +im Graphikmodus). 
 + 
 + 
 +#type("8")##center##ib(3)#6.3.1  Strichdicke#ie(3)##type("elite")# 
 + 
 +Die Strichdicke einer Linie ist normalerweise 1. Die Strichdicke 2 zeichnet
 +parallel zur ursprünglichen Linie auf beiden Seiten jeweils eine weitere
 +Linie der gleichen Länge. Die Strichdicke 3 zeichnet dann auf beiden Seiten
 +jeweils zwei parallele Linien usw. Die Strichdicke kann von 1 bis 15 ge-
 +wählt werden. Sie wird mit dem Kommando 
 + 
 +                         #ib(1)#<ESC> O 1#ie(1)# <dicke>   (Hex 1B 4F 31 <dicke>) 
 + 
 +eingestellt. <dicke> ist ein Byteparameter (Kapitel 6.2.4) mit dem Wertebe-
 +reich 1 bis 15. 
 + 
 + 
 +#type("8")##center##ib(3)#6.3.2  Farbe/Helligkeit#ie(3)##type("elite")# 
 + 
 +Normalerweise ist Gelb (hell) eingestellt. Die Alternative ist Violett (dun-
 +kel). Jeweils 7 nebeneinanderliegene Graphikpunkte haben die gleiche Farbe.
 +Auf einem Farbmonitor kann die Farbe auch noch durch den Inhalt dieser 7
 +Graphikpunkte bestimmt werden. Der Farbmodus wird von diesem Terminalpro-
 +gramm allerdings nicht unterstützt, da sich dann die Auflösung in X-Richtung
 +halbiert (also nur noch 140 x 192 Punkte). 
 + 
 +Mit dem Kommando 
 + 
 +                         #ib(1)#<ESC> O 2#ie(1)# <n>    (Hex 1B 4F 32 <n>) 
 + 
 +kann die Helligkeit eingestellt werden. <n> ist ein Byteparameter bei dem
 +nur das Bit 0 wichtig ist: 
 + 
 +Bit 0   Bedeutung 
 +  0     dunkel/Violett     <n> ist eine gerade Zahl 
 +  1     hell/Gelb          <n> ist eine ungerade Zahl 
 +#text end#
 +#clear pos# 
 +#free(02.351852e-2)#
 + 
 + 
 + 19 
 +#page##--------------------------------- Ende der Seite 19 -----------#
 +#center##on("b")#Bedienungshandbuch zum ruc - Graphikterminal#off("b")# 
 + 
 + 
 + 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#clearpos#
 +#rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")#
 +#text begin# 
 +#type("8")##center##ib(3)#6.3.3  Linientyp#ie(3)##type("elite")# 
 + 
 +Der Linientyp ist das "Muster" der Striche. Es gibt 7 vordefinierte Strich-
 +muster und ein vom Benutzer definiertes. Der Linientyp (im folgenden auch
 +Pattern genannt) wird mit dem Kommando 
 + 
 +                         #ib(1)#<ESC> O 3#ie(1)# <n>    (Hex 1B 4F 33 <n>) 
 + 
 +eingestellt. <n> ist ein Byteparameter mit dem Wertebereich von 0 bis 7. Die
 +Strichtypen sind <n> folgendermaßen zugeordnet: 
 + 
 +#on("u")#<n>  Bitmuster (16 Bit)  Name                    #off("u")# 
 + 0                       unsichtbare Linie 
 + 1   ----------------    durchgehende Linie 
 + 2   - - - - - - - -     gepunktete Linie 
 + 3   ----    ----        kurz gestrichelte Linie 
 + 4   --------            lang gestrichelte Linie 
 + 5   --------    -       Strichpunktlinie 
 + 6   -   -   -----       Strich-Punkt-Punkt Linie 
 + 7   - - - -  - - - -    Benutzerdefinierte Linie 
 +                         (Hier Defaultangabe) 
 + 
 +Die Bitmuster sind immer 16 Bit lang. Nach einem Movebefehl startet der
 +nächste Draw-Befehl mit dem linkesten (niederwertigsten!) Bit des Bitmu-
 +sters. Das Muster wiederholt sich bei längeren Linien zyklisch. Wird zwi-
 +schen zwei Draw-Befehlen kein Move-Befehl gegeben, dann setzt der zweite
 +Draw-Befehl im Bitmuster nach der gleichen Stelle fort, an der der erste
 +Draw-Befehl aufgehört hat. Auch dicke Linien behalten das Linienmuster bei,
 +man sollte dann allerdings von gepunkteter auf lang gestrichelte Linie über-
 +gehen, wenn man eine gepunktete dicke Linie haben will. 
 + 
 + 
 +#type("8")##center##ib(3)#6.3.3.1  Selbstdefinierte Linientypen (Pattern)#ie(3)##type("elite")# 
 + 
 +Wie in 6.3.3 angemerkt kann ein Linientyp auch vom Benutzer selbst definiert
 +werden. Da die Länge 16 Bit ist, kann man mit den relativen Move's und
 +Draw's zusammen gut kleine Bildchen (Icons) zusammenstellen. Eine Hilfe ist
 +dabei auch die Bitverknüpfung COPY, die im nächsten Abschnitt erläutert
 +wird. Man legt dazu zuerst das 16 Bit-Pattern als jeweils eine Zeile des
 +Icons fest und zieht dann von links nach rechts eine 16 Punkte lange Linie
 +mit dem benutzerdefinierten Pattern. Nach einem relativen Move (-16, -1)
 +kann der Vorgang für die nächste Zeile fortgesetzt werden. 
 + 
 +Das benutzerdefinierbare Pattern wird mit dem Kommando 
 + 
 +                         #ib(1)#<ESC> O 6#ie(1)# <l> <h>    (Hex 1B 4F 36 <l> <h>) 
 + 
 +festgelegt. <l> ist dabei das niederwertige (Lowbyte) des Bitmusters, <h>
 +ist das höherwertige (Highbyte) des Bitmusters. Wenn das Pattern als Muster
 +für Linien (und nicht für Icons) benutzt wird, dann sollte man darauf ach-
 +ten, daß das Bit 0 im Lowbyte 1 ist, damit man bei kurzen Linien, denen ein
 +Move vorangegangen ist, zumindestes einen Punkt sieht. 
 +#text end#
 +#clear pos# 
 +#free(02.351852e-2)#
 + 
 + 
 +#right#20 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#page##--------------------------------- Ende der Seite 20 -----------#
 +#center##on("b")#6.  Der Graphikmodus#off("b")# 
 + 
 + 
 + 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#clearpos#
 +#rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")#
 +#text begin# 
 +#type("8")##center##ib(3)#6.3.4  Bitverknüpfungen#ie(3)##type("elite")# 
 + 
 +Über Bitverknüpfungen werden die Punkte auf der Graphikseite verändert. Das
 +Linienmuster wird dazu zyklisch punktweise abgetastet und jenachdem ob das
 +aktuelle Bit im Linienbitmuster 0 oder 1 ist eine Veränderung der Graphik-
 +seite durchgeführt. 
 +Bis auf die COPY-Funktion wirken die Bitverknüpfungen nur auf die Graphik-
 +seite, wenn der aktuelle Punkt im Linientyp-Bitmuster 1 ist. 
 + 
 +- Das Zeichnen einer sichtbaren Linie mit weißen Punkten geschieht zum Bei-
 +  spiel durch eine OR- (Oder-) Verknüpfung. 
 + 
 +- Das Löschen einer Linie (also das Zeichnen von "schwarzen" Punkten) ge-
 +  schieht mit einer AND- (Und-) Verknüpfung (Genau genommen eine NAND-, d.h.
 +  negierte AND-Verknüpfung). 
 + 
 +- Das Invertieren (d.h. Weißer Punkt wird schwarz, schwarzer Punkt wird
 +  weiß) kann man mit einer XOR- (Exklusiv-Oder-) Verknüpfung erreichen. 
 + 
 +- Für Icons (siehe 6.3.3.1) und andere Zwecke, gibt es noch die COPY-Funk-
 +  tion, die eigentlich keine einzelne Bitverknüpfung ist. Ist im Linientyp
 +  das aktuelle Bit 0, dann wird in der Graphikseite eine AND-Verknüpfung
 +  durchgeführt (d.h. der Punkt wird gelöscht) ist das aktuelle Bit im Li-
 +  nientyp 1, dann wird eine OR-Verknüpfung durchgeführt (d.h. der Punkt wird
 +  gelöscht). Der Effekt ist, daß genau das Bitmuster des Linientyps in der
 +  Graphikseite erscheint ("kopiert" wird), egal was vorher da stand, wo die
 +  Linie gezeichnet wurde. 
 + 
 +Die Bitverknüpfung kann mit dem Kommando 
 + 
 +                         #ib(1)#<ESC> O 4#ie(1)# <n>    (Hex 1B 4F 34 <n>) 
 + 
 +festgelegt werden. <n> ist ein Byteparameter mit dem Wertebereich 0 bis 3. 
 +<n> hat folgende Bedeutung: 
 + 
 +<n>  Bitverknüpfung         Verwendung 
 +#rpos(16.2)##fillchar(" ")##table# 
 +#on("u")# #off("u")# 
 +#table end# 
 + 0   OR (Oder)              Weiß (auf schwarzem Grund) zeichnen 
 + 1   AND (Und)              Schwarz (auf weißem Grund) zeichnen 
 + 2   XOR (Exklusiv Oder)    Schwarze und Weiße Punkte umdrehen (invertie-
 + ren) 
 + 3   COPY (kopieren)        Icons zeichnen oder Bilduntergrund überschrei-
 + ben 
 + 
 + 
 +#text end#
 +#clear pos# 
 +#free(2.986852)#
 + 
 + 
 + 21 
 +#page##--------------------------------- Ende der Seite 21 -----------#
 +#center##on("b")#Bedienungshandbuch zum ruc - Graphikterminal#off("b")# 
 + 
 + 
 + 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#clearpos#
 +#rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")#
 +#text begin# 
 +#type("8")##center##ib(3)#6.3.5  Multiparametereinstellung#ie(3)##type("elite")# 
 + 
 +Die obigen Parameter (bis auf Linientyp) können alle zugleich mit einem
 +Kommando gesetzt werden. Das Kommando lautet 
 + 
 +                         #ib(1)#<ESC> O 5#ie(1)# <n>    (Hex 1B 4F 35 <n>) 
 + 
 +<n> ist ein Byteparameter mit dem Wertebereich 0 bis 127. Die Bits sind
 +folgendermaßen zugeordnet: 
 + 
 +   Bit     Bedeutung        Werte 
 +#rpos(16.2)##fillchar(" ")##table# 
 +#on("u")# #off("u")# 
 +#table end# 
 + 0 .. 3  : Strickdicke      1 .. 15 
 + 4 .. 5  : Bitverknüpfung   0 = OR, 16 = AND, 32 = XOR, 48 = COPY 
 +      6  : Farbe/Helligkeit 0 = Violett (dunkel), 64 = Gelb (hell) 
 + 
 +Standardeinstellung ist also '<ESC> O 5 A'. 
 + 
 + 
 +#type("8")##center##ib(3)#6.4  Graphikseiten#ie(3)##type("elite")# 
 + 
 +Das Terminal verwaltet zwei Graphikseiten mit einer Größe von jeweils 8k
 +Byte (d.h. 8192 Bytes). 
 + 
 + 
 +#type("8")##center##ib(3)#6.4.1  Die sichtbare Seite und die Arbeitsseite#ie(3)##type("elite")# 
 + 
 +Die beiden Graphikseiten können (müssen aber nicht) getrennt voneinander
 +angezeigt und bearbeitet werden. Das kann sinnvoll sein, wenn eine Seite "im
 +Hintergrund" aufbereitet werden soll, während die andere (schon aufbereite-
 +te) Seite angezeigt wird. Man kann auch die 80-Zeichen Textseite anzeigen
 +und eine oder beide Graphikseiten im Hintergrund aufbereiten. Durch abwec-
 +hselndes Umschalten der Arbeits- und Anzeigeseite kann dann der Eindruck
 +eines bewegten Bildes erzeugt werden. Um diesen Vorgang zu beschleunigen,
 +kann man die Graphikseiten auch auf dem Host vorbereiten und (im Hinter-
 +grund) an das Terminal senden (bei 19200 Baud dauert das pro Seite ca. 4.7
 +Sekunden). 
 + 
 +Die sichtbare und die Arbeitsseite können mit dem Kommando 
 + 
 +                         #ib(1)#<ESC> O 7#ie(1)# <n>    (Hex 1B 4F 37 <n>) 
 + 
 +gewählt werden. <n> ist ein Byteparameter mit dem Wertebereich 0 bis 7. 
 + 
 +Bit 0 von <n> : Sichtbare Seite (0 oder 1) 
 +Bit 1 von <n> : Arbeitsseite (0 oder 1) 
 +Bit 2 von <n> : 1 = 80 Zeichen Textseite wird in den untersten 32 Graphik-
 +                zeilen eingeblendet. 0 = Nur Graphikmode. 
 + 
 +#text end#
 +#clear pos# 
 +#free(1.293519)#
 + 
 + 
 +#right#22 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#page##--------------------------------- Ende der Seite 22 -----------#
 +#center##on("b")#6.  Der Graphikmodus#off("b")# 
 + 
 + 
 + 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#clearpos#
 +#rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")#
 +#text begin# 
 +#on("u")#<n>     Sichtbar Arbeitsseite  Inhalt der untersten 32 Graphikzeilen#off("u")# 
 + 0      Seite 0  Seite 0       Graphik (Seite 0) 
 + 1      Seite 1  Seite 0       Graphik (Seite 1) 
 + 2      Seite 0  Seite 1       Graphik (Seite 0) 
 + 3      Seite 1  Seite 1       Graphik (Seite 1) 
 + 4      Seite 0  Seite 0       Text 
 + 5      Seite 1  Seite 0       Müll 
 + 6      Seite 0  Seite 1       Text 
 + 7      Seite 1  Seite 1       Müll 
 + 
 + 
 +#type("8")##center##ib(3)#6.4.1.1  80-Zeichen Text und Graphik#ie(3)##type("elite")# 
 + 
 +Mit dem in 6.4.1 beschriebenen Kommando können, wie beschrieben, die unter-
 +sten 4 Zeilen der Textzeile (d.h. ggf. auch die Statuszeile) statt der un-
 +tersten 32 Graphikzeilen dargestellt werden. Da es nur eine Textseite gibt
 +und jeder Graphikseite eine eigene Textseite zugeordnet ist, ist die Mi-
 +schung von Text und Graphik in der Graphikseite 1 auf diese Weise nicht
 +sinnvoll, da dann in den unstersten 32 Graphikzeilen nur Müll erscheint. Das
 +Einblenden wird vom Terminal z.B. genutzt, wenn die Kommandozeile aktiviert
 +wird. Man kann zum Beispiel Benutzerhinweise in die untersten 4 Zeilen der
 +Textseite schreiben. Zeichenbefehle arbeiten in dem unsichtbaren (ausgeblen-
 +deten) Teil der Graphikseite weiter. Das Ergebnis kann man sich beim Wieder-
 +-Einblenden ansehen. 
 + 
 + 
 +#type("8")##center##ib(3)#6.4.2  Aufbau einer Graphikseite#ie(3)##type("elite")# 
 + 
 +Eine Graphikseite besteht aus 8192 Bytes, von denen 7680 genutzt werden, 512
 +sind somit (in der Graphikseite verstreut) ungenutzt. Jedes Byte besteht aus
 +einem Farbbit (Bit 7) und 7 angezeigten Graphikbits. Ein gesetztes Bit ent-
 +spricht einem sichtbaren Punkt auf dem Bildschirm. Das niederwertigste Bit
 +eines Bytes wird am weitesten links angezeigt. 
 +Jede der 192 Graphikzeilen besteht also aus 40 Bytes. Jeweils 8 Graphikzei-
 +len sind zu Reihen zusammengefaßt. Es gibt also 24 Reihen. Jede erste Gra-
 +phikzeile einer Reihe hat eine Anfangsadresse, die in folgender Tabelle
 +aufgelistet ist: 
 + 
 +#on("u")#Reihe  Adresse  Hex  |  Reihe  Adresse  Hex  |  Reihe  Adresse  Hex#off("u")# 
 +  0        0    000  |    8      40     028  |   16      80     050 
 +  1      128    080  |    9     168     0A8  |   17     208     0D0 
 +  2      256    100  |   10     296     128  |   18     336     150 
 +  3      384    180  |   11     424     1A8  |   19     464     1D0 
 +  4      512    200  |   12     552     228  |   20     592     250 
 +  5      640    280  |   13     680     2A8  |   21     720     2D0 
 +  6      768    300  |   14     808     328  |   22     848     350 
 +  7      896    380  |   15     936     3A8  |   23     976     3D0 
 + 
 +#text end#
 +#clear pos# 
 +#free(1.716852)#
 + 
 + 
 + 23 
 +#page##--------------------------------- Ende der Seite 23 -----------#
 +#center##on("b")#Bedienungshandbuch zum ruc - Graphikterminal#off("b")# 
 + 
 + 
 + 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#clearpos#
 +#rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")#
 +#text begin# 
 +Um den Offset den n. Graphikzeile in einer Reihe zu finden kann man folgen-
 +de Tabelle benutzen: 
 + 
 +#on("u")#n  Offset (Hex)#off("u")# 
 +0      0   0000 
 +1   1024   0400 
 +2   2048   0800 
 +3   3072   0C00 
 +4   4096   1000 
 +5   5120   1400 
 +6   6144   1800 
 +7   7168   1C00 
 + 
 +Beispiel: 
 +  Die Adresse des Punktes (123, 45) soll bestimmt werden. 
 +  45 DIV 8 = 5, d.h. Y liegt in Reihe 5 mit Adresse 640 (Dezimal). 45 MOD 8
 +                = 5, d.h. Y liegt in der n=5. Graphikzeile von Reihe 5. Der
 +                Y-Offset also 5120. 
 +  123 DIV 7 = 17 d.h. X liegt im Byte mit X-Offset 17. 
 +  Die Adresse des Punktes ist also im Byte 17 + 5120 + 640 = 5777. 
 +  123 MOD 7 = 4  d.h. Bit 4 in Byte 5777 ist der gesuchte Punkt. 
 + 
 + 
 +#type("8")##center##ib(3)#6.4.3  Operationen auf den Graphikseiten#ie(3)##type("elite")# 
 + 
 +Hier sollen nur die Operationen erläutert werden, die nicht in andere Kate-
 +gorien (z.B. Löschen, Linien zeichnen etc.) passen. 
 + 
 +Es gibt ein universelles Kommando, mit dem zwei Graphikseiten invertiert,
 +kopiert, gemischt und miteinander logisch verknüpft werden können. Verän-
 +dert wird bei diesem Kommando nur die Arbeitsseite. 
 + 
 +Das Kommando lautet 
 + 
 +                         #ib(1)#<ESC> !#ie(1)# <n>    (Hex 1B 21 <n>) 
 + 
 +#text end#
 +#clear pos# 
 +#free(6.796852)#
 + 
 + 
 +#right#24 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#page##--------------------------------- Ende der Seite 24 -----------#
 +#center##on("b")#6.  Der Graphikmodus#off("b")# 
 + 
 + 
 + 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#clearpos#
 +#rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")#
 +#text begin# 
 +<n> ist dabei ein Byteparameter mit dem Wertebereich 0 bis 15 und hat fol-
 +gende Bedeutung: 
 + 
 +<n>   Bedeutung 
 +#rpos(16.2)##fillchar(" ")##table# 
 +#on("u")# #off("u")# 
 +#table end# 
 + 0    Keine Veränderung. Kopiert die Arbeitsseite in sich selbst (Färbt die
 +      Arbeitsseite allerdings mit der aktuellen Farbe/Helligkeit). 
 + 1    Die Arbeitsseite wird invertiert. 
 + 2    Mischt beide Seiten zusammen (OR Verknüpfung). 
 + 3    Mischt beide Seiten zusammen (OR) und invertiert das Ergebnis. 
 + 6    Bildet den Durchschnitt beider Seiten (AND Verknüpfung). 
 + 7    Bildet den Durchschnitt beider Seite (AND) und invertiert das Ergebnis
 +10    Es sind die Punkte gesetzt, die in beiden Seiten verschieden sind (XOR
 +      Verknüpfung). 
 +11    Es sind die Punkte gesetzt, die in beiden Seiten gleich sind (d.h. das
 +      Inverse von <n>=10). 
 +14    Kopiert die andere Seite in die Arbeitsseite. 
 +15    Kopiert das Inverse von der anderen Seite in die Arbeitsseite. 
 + 
 +Andere Werte für <n> wiederholen sich in der Tabelle. Die ganze Arbeitssei-
 +te hat nach der Operation die gewählte Farbe/Helligkeit. 
 + 
 + 
 +#type("8")##center##ib(3)#6.4.4  Laden einer Graphikseite vom Host#ie(3)##type("elite")# 
 + 
 +Graphikseiten können ganz oder teilweise vom Host geladen werden. Das kön-
 +nen auf dem Terminal erstellte und dann an den Host gesendete (Teil-)
 +Graphiken sein, aber auch auf dem Host erstellte. In diesem Fall ist das
 +Kapitel 6.4.2 (Aufbau einer Graphikseite) interessant. 
 + 
 +Mit dem Kommando 
 + 
 +                         #ib(1)#<ESC> /#ie(1)# <ll> <lh> <al> <ah> <b...> 
 +                                                    (Hex 1B 2F ...) 
 + 
 +kann eine Seite oder ein Teil einer Seite in die Arbeitsseite geladen wer-
 +den. <lh>, <ll>, <ah>, <al> und <p...> sind Byteparameter (8 Bits). <ll> und
 +<lh> bilden zusammen die binäre Länge, d.h. die Anzahl der Datenbytes
 +<p...>, die die Graphik enthalten. Die Länge kann von 0 bis Hex 2000 (dezi-
 +mal 8192) reichen. Die Adresse, durch <al> und <ah> gebildet, darf von 0 bis
 +Hex 1FFF reichen. Zusätzlich gilt, daß die Summe von Länge und Adresse nicht
 +größer als Hex 2000 sein darf, da sonst außerhalb der Graphikseite geladen
 +würde. In einem dieser Fehlerfälle werden die folgenden Graphikdatenbytes
 +ignoriert. Die Datenbytes werden dann als Kommandos interpretiert, was zu
 +unvorhersehbaren Reaktionen des Terminals führt. 
 + 
 + 
 +#text end#
 +#clear pos# 
 +#free(2.140185)#
 + 
 + 
 + 25 
 +#page##--------------------------------- Ende der Seite 25 -----------#
 +#center##on("b")#Bedienungshandbuch zum ruc - Graphikterminal#off("b")# 
 + 
 + 
 + 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#clearpos#
 +#rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")#
 +#text begin# 
 +#type("8")##center##ib(3)#6.4.5  Graphik auf Diskette speichern/laden#ie(3)##type("elite")# 
 + 
 +Um Graphikseiten, zum Besipiel für Präsentationen, unabhängig vom Host auf
 +dem Bildschirm darstellen zu können, benutzt man das Kommando 
 + 
 +                         #ib(1)#<ESC> S#ie(1)# <n>    (Hex 1B 53 <n>). 
 + 
 +Man kann bis zu 8 verschiedene Graphikseiten vorbereiten, auf Diskette spei-
 +chern und zu einem späteren Zeitpunkt wieder in das Terminal zurückladen.
 +Dieses Kommando wird auch verwendet, um eine Textseite auf Diskette zu
 +schreiben oder von Diskette zu lesen. <n> ist ein Byteparameter mit dem
 +Wertebereich 0 bis 31, wobei die Bits folgendermaßen belegt sind: 
 + 
 +Bit 0..2 : "Fachnummer" der Graphikseite auf der Diskette (0 bs 7) 
 +Bit 3    : Bei Graphikseiten immer 1 (Bei Textseiten 0) 
 +Bit 4    : 0 heißt: die Graphikseite wird von der Diskette gelesen, 
 +           1 heißt: die Graphikseite wird auf die Diskette geschrieben. 
 + 
 +Wird die Graphikseite auf die Diskette geschrieben, dann wird eine eventuell
 +schon in diesem "Fach" vorhandene Graphikseite überschrieben. 
 + 
 +Wie bei allen Graphikkommandos, bezieht sich dieses Kommando nicht unbedingt
 +auf die sichtbare Graphikseite, sondern auf die Arbeitsseite. 
 + 
 +Beispiele: 
 +    <ESC> S <CTRL H> liest die Graphikseite in Fach 0 in die Arbeitsseite. 
 +    <ESC> S <CTRL X> schreibt die Arbeitsseite in Fach 0 der Diskette. 
 + 
 +Da das Lesen einer Graphikseite von Diskette mit ca. 1.1 Sekunden, um eini-
 +ges schneller als der Datentransfer vom Host ist, sollte man bewegte Graphi-
 +ken auf Diskette vorbereiten und sie dann mit verschränkter Arbeits- und
 +Sichtbarkeitsseite anzeigen. 
 +Z.B.: Seite 1 als Arbeitsseite wählen, Seite 0 als sichtbare Seite. Graphik
 +      von Diskette laden (wird in Seite 1 (= Arbeitsseite) geladen) Seite 1
 +      als sichtbare Seite wählen, Seite 0 jetzt als Arbeitsseite wählen. Die
 +      nächste Graphikseite wird von der Diskette in die Seite 1 geladen etc. 
 +      Bei dieser Vorgehensweise scheinen Übergänge kontinuierlich zu sein. 
 + 
 +Für Insider: Eine Graphikseite belegt zwei Tracks (8k). Die 8 Graphikseiten
 +             befinden sich auf den Tracks 10 bis 25 in aufsteigender Reihen-
 +             folge. 
 + 
 + 
 +#type("8")##center##ib(3)#6.5  Textdarstellung im Graphikmodus#ie(3)##type("elite")# 
 + 
 +Nicht nur auf der 80-Zeichen Textseite können Buchstaben und Zeichen darge-
 +stellt werden, sondern auch auf den Graphikseiten. Die Auflösung ist zwar
 +nicht so groß wie auf der reinen Textseite, aber die Anzahl der verschiede-
 +nen Darstellungsmöglichkeiten ist sehr viel größer. Fast alle Kommandos, die
 +in der Textseite angewandt werden können, haben in der Graphikseite die
 +gleiche Funktion. 
 + 
 +#text end#
 +#clear pos# 
 +#free(02.351852e-2)#
 + 
 + 
 +#right#26 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#page##--------------------------------- Ende der Seite 26 -----------#
 +#center##on("b")#6.  Der Graphikmodus#off("b")# 
 + 
 + 
 + 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#clearpos#
 +#rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")#
 +#text begin# 
 +Textdarstellung in der Graphikseite ist hauptsächlich zum Beschriften von
 +Graphiken oder zum Drucken von Überschriften etc. vorgesehen. Da aber fast
 +alle Textkommandos (Delete/Insert Line/Character fehlt) auch im Graphikmo-
 +dus zur Verfügung stehen, kann man auch im Graphikmodus Textverarbeitung
 +oder Editor benutzen. 
 + 
 + 
 +#type("8")##center##ib(3)#6.5.1  Zeichendarstellung#ie(3)##type("elite")# 
 + 
 +Die normale Größe eines Zeichens ist 6 x 10 Punkte (x * y), damit lassen
 +sich 46 x 19 Zeichen (874 Zeichen) voll auf dem Bildschirm darstellen. Wenn
 +die Größe mit einem Kommando auf 5 x 8 Punkte verringert wird, dann lassen
 +sich 56 x 24 Zeichen (1344 Zeichen) auf dem Bildschirm darstellen. Komfor-
 +table Textverarbeitung läßt sich damit natürlich nicht machen, zumal die
 +Geschwindigkeit, mit der die Zeichen auf den Bildschirm geschrieben werden
 +gegenüber der der reinen Textseite langsamer ist. 
 + 
 + 
 +#type("8")##center##ib(3)#6.5.1.1  Zeichengröße und Schreibrichtung#ie(3)##type("elite")# 
 + 
 +Die Zeichen können in verschiedenen Größen und unter verschiedenen Winkeln
 +auf den Bildschirm geschrieben werden. Damit ist auch ein Schreiben von
 +rechts nach links mit auf dem Kopf stehenden Zeichen möglich. 
 +Bei normaler Schreibrichtung (waagerecht von links nach rechts) befindet
 +sich die linke untere Ecke eines Zeichens an der Position des Graphikcur-
 +sors. Nach dem Zeichnen des Zeichens befindet sich der Graphikcursor hinter
 +der rechten unteren Ecke des Zeichens. Da sich die Zeichen aus Vektoren
 +(Linien) zusammensetzen und nicht aus einer festen Punktmatrix, können sie
 +schnell beliebig gedreht und vergrössert (und verkleinert) werden. Der Dreh-
 +winkel ist wie bei allen Graphikwinkelangaben in 5 Grad Schritten anzugeben.
 +Die Zuordnung der Winkel zu den Parameterwerten oder ASCII-Zeichen ist im
 +Anhang A angegeben. 
 + 
 +Das Kommando 
 + 
 +                         #ib(1)#<ESC> N#ie(1)# <b> <h> <w>    (Hex 1B 4E <b><h><w>) 
 + 
 +stellt Breite, Höhe und Drehwinkel der Zeichen ein. Alle Parameter sind
 +Byteparameter mit dem Wertebereich 0 bis 255. Mit einem Parameter Hex 00
 +kann der Defaultwert (Standardwert) für den jeweiligen Parameter eingestellt
 +werden. 
 +<b> bezeichnet die Zeichenbreite in Punkten. Standardwert ist 6. 
 +<h> bezeichnet die Zeichenhöhe in Punkten. Standardwert ist 10. 
 +<w> bezeichnet den Drehwinkel in 5 Grad Schritten. Standardwert ist 0. 
 + 
 +#text end#
 +#clear pos# 
 +#free(2.986852)#
 + 
 + 
 + 27 
 +#page##--------------------------------- Ende der Seite 27 -----------#
 +#center##on("b")#Bedienungshandbuch zum ruc - Graphikterminal#off("b")# 
 + 
 + 
 + 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#clearpos#
 +#rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")#
 +#text begin# 
 +Einige ausgezeichnet Werte für <w> sind: 
 +<w>    Richtung 
 +#rpos(16.2)##fillchar(" ")##table# 
 +#on("u")# #off("u")# 
 +#table end# 
 + 0     Waagerecht von links nach rechts (Ost) 
 + 9     Schräg nach unten rechts         (Süd-Ost) 
 +18     Senkrecht von oben nach unten    (Süd) 
 +27     Schräg nach unten links          (Süd-West) 
 +36     Waagerecht (auf dem Kopf stehend) von rechts nach links (West) 
 +45     Schräg nach oben links           (Nord-West) 
 +54     Senkrecht von unten nach oben    (Nord) 
 +63     Schräg von nach oben rechts (Aufwärts) (Nord-Ost) 
 +72...  Wie 0 ... 
 + 
 + 
 +#type("8")##center##ib(3)#6.5.1.2  Dicke, Farbe etc.#ie(3)##type("elite")# 
 + 
 +Buchstaben werden mit Vektoren (Linien) gezeichnet. Die gleichen Parameter,
 +die für Striche eingestellt werden, wirken dann auch auf die Zeichen. Mög-
 +liche Parameter sind Farbe, Linientyp, Strichdicke und Bitverknüpfung. Mit
 +dem Kommando 
 + 
 +                         #ib(1)#<ESC> O 0#ie(1)#    (Hex 1B 4F 30) 
 + 
 +werden alle diese Parameter auf Standardwerte zurückgesetzt. Die Standard-
 +werte sind in Kapitel 6.3 erläutert. Die Beschreibung des Kommandos zur
 +Einstellung der Zeichenfarbe ist in Kapitel 6.3.2 beschrieben, das Einstel-
 +len der Zeichendicke in Kapitel 6.3.1, das Einstellen des Linientyps in
 +Kapitel 6.3.3 und das Einstellen der Bitverknüpfung ist in Kapitel 6.3.4
 +beschrieben. Auch für die Zeichendarstellung können mehrere dieser Parame-
 +ter zugleich mit einem Kommando eingestellt werden. Das Multiparameterkom-
 +mando ist in Kapitel 6.3.5 beschrieben. 
 + 
 + 
 +#type("8")##center##ib(3)#6.5.1.3  Zeichensätze und Attribute#ie(3)##type("elite")# 
 + 
 +Ähnlich wie bei der 80-Zeichen Textdarstellung können Zeichensatz und Text-
 +attribute eingestellt werden. Mit dem Kommando 
 + 
 +                         #ib(1)#<ESC> z#ie(1)# <n>    (Hex 1B 7A <n>) 
 + 
 +kann einer der beiden Zeichensätze USA oder GER (ASCII und Deutsch) gewählt
 +werden. Ein griechischer Zeichensatz ist unabhängig von beiden immer vor-
 +handen. 
 +<n> ist ein Byteparameter mit dem Wertebereich 0 bis 15, im Graphikmodus
 +sind aber nur die beiden folgende Werte sinnvoll: 
 + 
 +#on("u")#<n>  Zeichensatz  Abweichende Zeichen#off("u")# 
 + 2   Deutsch      Ä Ö Ü ä ö ü ß 
 + 4   Ascii        [ \ ] { | } ~ 
 + 
 +#text end#
 +#clear pos# 
 +#free(08.701852e-1)#
 + 
 + 
 +#right#28 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#page##--------------------------------- Ende der Seite 28 -----------#
 +#center##on("b")#6.  Der Graphikmodus#off("b")# 
 + 
 + 
 + 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#clearpos#
 +#rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")#
 +#text begin# 
 +Außerdem kann der Zeichensatz im ersten Feld der ersten Kommandozeile ein-
 +gestellt werden. Im amerikanischen Zeichensatz treten die deutschen Buch-
 +staben außerdem im Bereich von 214 bis 219 und 251 auf. Der Graphikzeichen-
 +satz ist im Anhang abgebildet. 
 + 
 +Wie im Textmodus können Attribute mit dem Kommando 
 + 
 +                         #ib(1)#<ESC> G#ie(1)# <n>    (Hex 1B 47 <n>) 
 + 
 +eingestellt werden. <n> ist ein Byteparameter mit dem Wertebereich 0, 1, 4
 +und 5. Die Werte von <n> sind folgendermaßen zugeordnet: 
 + 
 +#on("u")#<n>  Bedeutung                                       #off("u")#
 + 0   Normaler Text (sichtbar und aufrecht) 
 + 1   Unsichtbarer Text (Nur der Cursor wird bewegt) 
 + 4   Kursivschrift, die Zeichen werden schräggestellt 
 + 5   Wie 1 (unsichtbarer Text) 
 + 
 +Das Kommando 
 + 
 +                         #ib(1)#<ESC> )#ie(1)#   (Hex 1B 29) 
 + 
 +hat wie im Textmodus die gleiche Bedeutung wie <ESC> G 4. Damit wird im
 +Graphikmodus die Kursivschrift eingeschaltet. Mit dem Kommando 
 + 
 +                         #ib(1)#<ESC> (#ie(1)#   (hex 1B 28) 
 + 
 +wird die Kursivschrift wieder ausgeschaltet. Im Textmodus invers hervorge-
 +hobene Textstellen werden im Graphikmodus also durch Kursivschrift hervor-
 +gehoben. 
 +Steht rechts neben der Zeichenspalte mit einem Kursivzeichen ein nicht kur-
 +sives Zeichen, dann wird das rechte Zeichen möglicherweise etwas überschrie-
 +ben, da es in den oberen Teil des Kursivzeichens hineinragt. Das kann ver-
 +mieden werden, wenn nach dem Ausschalten der Kursivschrift ein Leerzeichen
 +ausgegeben wird. 
 + 
 + 
 +#type("8")##center##ib(3)#6.5.1.4  Zeichen überschreiben#ie(3)##type("elite")# 
 + 
 +Im 80-Zeichen Textmodus kann man Zeichen einfach übereinandertippen, das
 +zweite Zeichen ersetzt dann das erste. Im Graphikmodus sollen Texte auch mit
 +in eine Zeichnung geschrieben werden können, ohne daß Teile von Linien even-
 +tuell gelöscht werden. Dieser Modus bringt außerdem eine etwas größere
 +Schreibgeschwindigkeit mit sich. Es ist aber auch möglich, daß die Fläche,
 +in die das Zeichen geschrieben werden soll, vorher gelöscht wird, um ein
 +sauberes Schriftbild zu erzielen. Mit dem Kommando 
 + 
 +                         #ib(1)#<ESC> &#ie(1)#   (Hex 1B 26) 
 + 
 +kann man das vorherige Löschen einschalten, mit dem Kommando 
 + 
 +                         #ib(1)#<ESC> '#ie(1)#   (Hex 1B 27) 
 +#text end#
 +#clear pos# 
 +#free(02.351852e-2)#
 + 
 + 
 + 29 
 +#page##--------------------------------- Ende der Seite 29 -----------#
 +#center##on("b")#Bedienungshandbuch zum ruc - Graphikterminal#off("b")# 
 + 
 + 
 + 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#clearpos#
 +#rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")#
 +#text begin# 
 +wird der Modus des Überschreibens ausgeschaltet. 
 + 
 +Bei Kursivzeichen wird eine rautenförmige Fläche gelöscht oder gefüllt (wenn
 +Bitverknüpfung AND eingeschaltet ist). Bei normalen Zeichen wird eine re-
 +chteckige Fläche, der mit #ib(1)#<ESC> N#ie(1)# eingestellten Breite und Höhe, gelöscht
 +oder gefüllt. Zu beachten ist, daß das Löschen/Füllen nur bei waagerechter
 +Schreibrichtung von links nach rechts funktioniert. 
 + 
 +Da die Größe der Zeichen in weiten Grenzen mit <ESC> N eingestellt werden
 +kann, ist es auch möglich mit dem durch <ESC> & eingeschalteten Ersetzungs-
 +modus schnell rechteckige Flächen zu füllen oder zu löschen, wenn nicht auf
 +das später beschriebene Füllkommando für beliebige Flächen zurückgegriffen
 +werden soll. Dazu schaltet man mit dem Kommando <ESC> O 4 1 die Bitverknü-
 +pfung AND (für Füllen) ein und gibt dann einfach ein Leerzeichen aus, das
 +dann invertiert dargestellt wird. 
 + 
 + 
 +#type("8")##center##ib(3)#6.5.2  Textkommandos im Graphikmodus#ie(3)##type("elite")# 
 + 
 +Fast alle Textkommandos des 80-Zeichen Textmodus wirken auch im Graphikmo-
 +dus. Einige Kommandos, wie Zeichen senden, Zeile senden, Cursorposition
 +senden, haben im Graphikmodus andere Funktionen und haben deshalb andere
 +Escape-Sequenzen. Textkommandos, die nicht im Graphikmodus vorhanden sind:
 +<ESC> I (Backtab), <ESC> j (Reverse Linefeed), <ESC> E (Insert Line), <ESC>
 +Q (Insert Character), <ESC> R (Delete Line), <ESC> W (Delete Character). 
 + 
 + 
 +#type("8")##center##ib(3)#6.5.2.1  Die Cursorpositionierung#ie(3)##type("elite")# 
 + 
 +Die Cursorpositionierungskommandos (UP, DOWN, LEFT, RIGHT) wirken im Gra-
 +phikmodus in die aktuelle Schreibrichtung. Beispiel: Wenn als Schreibwinkel
 +180 Grad eingestellt wurde (Winkel 36, also von rechts nach links auf dem
 +Kopf schreiben), dann muß man, um einen Backspace (d.h. ein Zeichen zurück)
 +auszuführen, nicht <RIGHT> sondern wie bei normaler Schreibrichtung üblich,
 +<LEFT> drücken. Die vier Cursorsteuertasten funktionieren für beliebige
 +Schreibrichtungen. Alle anderen Steuertasten beziehen sich immer auf waage-
 +rechte Schreibrichtung von links nach rechts. 
 + 
 +Alle Steuertasten berücksichtigen die Zeichengröße (Breite und Höhe). Auch
 +die Graphikseite wird am Ende der letzten Zeile um soviele Graphikzeilen
 +gescrollt, wie ein Zeichen hoch ist. 
 + 
 +#text end#
 +#clear pos# 
 +#free(4.256852)#
 + 
 + 
 +#right#30 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#page##--------------------------------- Ende der Seite 30 -----------#
 +#center##on("b")#6.  Der Graphikmodus#off("b")# 
 + 
 + 
 + 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#clearpos#
 +#rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")#
 +#text begin# 
 +Folgende Steuerkommandos/Tasten wirken im Graphikmodus: 
 + 
 +Basis-Taste    Apple-Taste  Hex-Code   Bedeutung 
 +#rpos(16.2)##fillchar(" ")##table# 
 +#on("u")# #off("u")# 
 +#table end# 
 +#ib(1)#<TAB>#ie(1)#            <TAB>         09      Der Cursor wird an die nächste (re-
 +                                       chte) Tabulatorposition gesetzt.
 +                                       Tabulatorpositionen sind alle 8 Spal-
 +                                       ten (wie im Textmodus). Liegt die
 +                                       nächste Tabulatorposition außerhalb
 +                                       des sichtbaren Bereichs, dann steht
 +                                       der Cursor jetzt da. 
 + 
 +#ib(1)#<SHIFT CE>#ie(1)#       <OA CTRL X>    -      Kommandozeile aktivieren. 
 +                                       Einzelheiten zur Kommandozeile siehe
 +                                       Abschnitt 3.: Die Kommandozeilen. 
 + 
 +#ib(1)#<CE>#ie(1)#             <CTRL X>      18      u.a. Kommandozeile verlassen. 
 + 
 +#ib(1)#<RETURN>#ie(1)#         <RETURN>      0D      Zum Zeilenanfang ohne Zeilenvorschub. 
 +                                       Der Cursor steht dann in der ersten
 +                                       Spalte der Zeile. 
 + 
 +#ib(1)#<SHIFT RETURN>#ie(1)#   <OA RETURN>   8D      Zum Anfang der nächsten Zeile. Falls
 +                                       der Cursor in der letzten sichtbaren
 +                                       Bildschirmzeile war, wird der Bild-
 +                                       schirminhalt entweder nach oben ge-
 +                                       scrollt (SCROLL) oder in Homeposition
 +                                       gebracht (PAGE). 
 + 
 +#ib(1)#<UP>#ie(1)#             <UP>       8B/0B      Cursor eine Zeile höher (bzw. über
 +                                       die Zeile). War der Cursor in der
 +                                       ersten sichtbaren Bildschirmzeile,
 +                                       dann steht er jetzt im unsichtbaren
 +                                       Bereich. 
 + 
 +#ib(1)#<DOWN>#ie(1)#           <DOWN>     8A/0A      Cursor eine Zeile tiefer (bzw. "un-
 +                                       ter" die Zeile). War der Cursor in
 +                                       der letzten sichtbaren Zeile, dann
 +                                       wird der Inhalt des Graphikbild-
 +                                       schirms nach oben gescrollt, d.h. die
 +                                       obersten Zeilen werden gelöscht (im
 +                                       SCROLL-Modus) oder der Cursor in die
 +                                       erste Zeile gesetzt (im PAGE-Modus). 
 + 
 +#ib(1)#<CTRL V>#ie(1)#         <CTRL V>      16      Cursor eine Zeile tiefer (bzw. "un-
 +                                       ter" die Zeile). War der Cursor in
 +                                       der letzten Zeile, dann ändert er
 +                                       seine Position nicht. Die Spalte
 +                                       ändert sich nicht. 
 + 
 +#text end#
 +#clear pos# 
 +#free(08.701852e-1)#
 + 
 + 
 + 31 
 +#page##--------------------------------- Ende der Seite 31 -----------#
 +#center##on("b")#Bedienungshandbuch zum ruc - Graphikterminal#off("b")# 
 + 
 + 
 + 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#clearpos#
 +#rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")#
 +#text begin# 
 +#ib(1)#<LEFT>#ie(1)#           <LEFT>     88/08      Cursor eine Spalte nach links (bzw.
 +                                       entegegen der Schreibrichtung). War
 +                                       der Cursor in der ersten sichtbaren
 +                                       Bildschirmspalte, dann ist er jetzt
 +                                       unsichtbar "links" davon. 
 + 
 +#ib(1)#<RIGHT>#ie(1)#             -          95      Cursor eine Spalte nach rechts (bzw.
 +                                       in Schreibrichtung). War der Cursor
 +                                       in der letzten sichtbaren Spalte,
 +                                       dann befindet er sich jetzt außer-
 +                                       halb des Bildschirms. Im Gegensatz
 +                                       zum Textmodus wird kein Linefeed oder
 +                                       Scroll ausgeführt. 
 + 
 +#ib(1)#<HOME>#ie(1)#           <OA @>        C0      Der Cursor wird in die linke obere
 +                                       Bildschirmecke gebracht (Homeposi-
 +                                       tion). 
 + 
 +#ib(1)#<SHIFT HOME>#ie(1)#     <OA P>        D0      Bildschirm löschen und Cursor Home. 
 + 
 +#ib(1)#<DELETE>#ie(1)#         <DELETE>      7F      Dieses Zeichen wird auf dem Bild-
 +                                       schirm nicht dargestellt. Der Host
 +                                       interpretiert es in der Regel als
 +                                       Zeichenlöschbefehl. 
 + 
 +#ib(1)#<BOTTOMLEFT>#ie(1)#     <BACKSPACE>   08      Cursor eine Spalte nach links (bzw.
 +                                       entgegen der Schreibrichtung). Die
 +                                       Funktion ist mit der von <LEFT> iden-
 +                                       tisch. 
 + 
 +#ib(1)#<BOTTOMRIGHT>#ie(1)#    <RIGHT>       15      Apple: Cursor eine Spalte nach re-
 +                                       chts (bzw. in Schreibrichtung). Die
 +                                       Funktion ist mit der von <RIGHT>
 +                                       identisch. 
 + 
 +#ib(1)#<ESC>#ie(1)#            <ESC>         1B      Leitet eine Escape-Sequenz ein. 
 + 
 +#ib(1)#<SHIFT CTRL HOME>#ie(1)#<OA 0>         -      Local/Online umschalten 
 + 
 +#ib(1)#<CTRL HOME>#ie(1)#      <OA SPACE>   '00'     Sendet V24-Break (Hexcode 00 mit
 +                                       Rahmenfehler). Als Rahmenfehler wird
 +                                       das Fehlen des oder der Stopbits
 +                                       bezeichnet (Stopbitpegel ist norma-
 +                                       lerweise 1, bei Break dagegen 0). 
 + 
 +Unbelegte Funktionstasten erzeugen Graphikzeichen, die im Anhang A nachge-
 +sehen werden können. 
 + 
 + 
 +#text end#
 +#clear pos# 
 +#free(1.293519)#
 + 
 + 
 +#right#32 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#page##--------------------------------- Ende der Seite 32 -----------#
 +#center##on("b")#6.  Der Graphikmodus#off("b")# 
 + 
 + 
 + 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#clearpos#
 +#rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")#
 +#text begin# 
 +#type("8")##center##ib(3)#6.5.2.2  Löschbefehle#ie(3)##type("elite")# 
 + 
 +Das Kommando (Clear to End Of Line) 
 + 
 +                         #ib(1)#<ESC> T#ie(1)#    (Hex 1B 54) 
 + 
 +löscht ab der aktuellen Cursorposition bis zum Zeilenende. Die Höhe des
 +gelöschten Balkens entspricht der Buchstabenhöhe. Der Balken wird unabhän-
 +gig von der Bitverknüpfung immer gelöscht. Der Balken wird unabhängig von
 +der Schreibrichtung immer waagerecht gelöscht. 
 + 
 +Das Kommando (Clear to End Of Page) 
 + 
 +                         #ib(1)#<ESC> Y#ie(1)#    (Hex 1B 59) 
 + 
 +löscht den Graphikbildschirm von der aktuellen Cursorposition an bis zum
 +Bildschirmende. Auch dieses Kommando löscht unabhängig von der gewählten
 +Bitverknüpfung und Schreibrichtung immer waagerecht. 
 + 
 +Die Kommandos 
 + 
 +                         #ib(1)#<ESC> *#ie(1)#    (Hex 1B 2A) 
 +                         #ib(1)#<ESC> ,#ie(1)#    (Hex 1B 2C) 
 +                         #ib(1)#<ESC> +#ie(1)#    (Hex 1B 2B) 
 +                         #ib(1)#<ESC> :#ie(1)#    (Hex 1B 3A) 
 +                         #ib(1)#<CTRL Z>#ie(1)#   (Hex 1A) 
 + 
 +löschen den Bildschirm und bringen den Graphikcursor in Homeposition, d.h.
 +eine Buchstabenhöhe unter dem oberen Bildschirmrand. 
 + 
 +Das Kommando 
 + 
 +                         #ib(1)#<ESC> y#ie(1)#    (Hex 1B 79) 
 + 
 +löscht den Bildschirm und bringt den Graphikcursor in die linke untere Ecke,
 +d.h. den Ursprung des Koordinatensystems. 
 + 
 + 
 +#type("8")##center##ib(3)#6.6  Die Graphikkommandos#ie(3)##type("elite")# 
 + 
 + 
 +#type("8")##center##ib(3)#6.6.1  Draw's und Move's#ie(3)##type("elite")# 
 + 
 +Draw's sind Zeichenbefehle, die eine Linie zeichnen und den Cursor an den
 +Endpunkt der Linie positionieren. Move's positionieren nur den Cursor und
 +zeichnen nicht. Bei allen Draw's ist der Anfangspunkt der Linie die aktuel-
 +le Cursorposition. Die Endposition kann relativ, absolut oder mit einem
 +relativen Winkel angegeben werden. Der Befehl zum Setzen/Löschen eines Punk-
 +tes wurde mit in diese Befehlskategorie aufgenommen. 
 + 
 + 
 +#text end#
 +#clear pos# 
 +#free(04.468519e-1)#
 + 
 + 
 + 33 
 +#page##--------------------------------- Ende der Seite 33 -----------#
 +#center##on("b")#Bedienungshandbuch zum ruc - Graphikterminal#off("b")# 
 + 
 + 
 + 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#clearpos#
 +#rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")#
 +#text begin# 
 +#type("8")##center##ib(3)#6.6.1.1  Punkt setzen#ie(3)##type("elite")# 
 + 
 +Der Befehl zum Setzen eines Graphikpunktes ist ein absoluter Befehl, d.h.
 +die Koordinaten des Punktes folgen dem Kommando. Die Position des Graphik-
 +cursors wird durch diesen Befehl nicht verändert. 
 + 
 +Das Kommando 
 + 
 +                         #ib(1)#<ESC> m#ie(1)# <x, y;>    (Hex 1B 6D <x, y;>) 
 + 
 +setzt einen Punkt an die Position x/y, wenn diese innerhalb des sichtbaren
 +Bereichs liegt. <x, y;> sind dezimale oder binäre Koordinaten. Das Aussehen
 +des Punktes kann durch Farbe/Helligkeit oder Bitverknüpfung festgelegt wer-
 +den. Mit einer AND-Bitverknüpfung wird der angegebene Punkt gelöscht, mit
 +einer OR oder COPY Bitverknüpfung wird der angegebene Punkt gesetzt, mit
 +einer XOR Bitverknüpfung wird sein Zustand umgedreht (invertiert). 
 +Soll ein dicker Punkt gezeichnet werden, dann kann man den (relativen)
 +Draw-Befehl <ESC> r 0, 0; benutzen, der an die Position des Graphikcursors,
 +einen Punkt der eingestellten Dicke zeichnet. 
 + 
 + 
 +#type("8")##center##ib(3)#6.6.1.2  Move-Befehle#ie(3)##type("elite")# 
 + 
 +Den Move-Befehl gibt es in zwei Versionen, einer relativen und einer abso-
 +luten. Das Kommando für einen absoluten Move lautet 
 + 
 +                         #ib(1)#<ESC> v#ie(1)# <x, y;>    (Hex 1B 76 <x, y;>) 
 + 
 +Dabei sind <x, y;> dezimale oder binäre Koordinaten, die die neue Position
 +des Graphikcursors bezeichnen. Diese Position muß nicht im sichtbaren Be-
 +reich liegen, sondern kann auch außerhalb des Fensters liegen. Der Wertebe-
 +reich von <x> und <y> ist -32768 bis 32767. 
 + 
 +Das Kommando für den relativen Move-Befehl lautet 
 + 
 +                         #ib(1)#<ESC> q#ie(1)# <x, y;>    (Hex 1B 71 <x, y;>) 
 + 
 +Bei diesem Befehl werden die Werte von <x> und <y>, die auch den gesamten
 +Wertebereich von -32768 bis 32767 überstreichen dürfen, zu den Koordinaten
 +des Graphikcursors addiert. Auch hier darf die neue Position des Graphik-
 +cursors außerhalb des sichtbaren Bereichs liegen. 
 + 
 +Die Move-Befehle setzen außerdem das Bitmuster für den Linientyp wieder auf
 +den Startwert zurück, damit der nächste Draw-Befehl auch mit einem Punkt
 +beginnt. 
 + 
 + 
 +#text end#
 +#clear pos# 
 +#free(2.140185)#
 + 
 + 
 +#right#34 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#page##--------------------------------- Ende der Seite 34 -----------#
 +#center##on("b")#6.  Der Graphikmodus#off("b")# 
 + 
 + 
 + 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#clearpos#
 +#rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")#
 +#text begin# 
 +#type("8")##center##ib(3)#6.6.1.3  Draw-Befehle#ie(3)##type("elite")# 
 + 
 +Ebenso wie den Move-Befehl gibt es auch den Draw-Befehl in zwei Versionen,
 +einer relativen und einer absoluten. Das Kommando für einen absoluten Draw
 +lautet 
 + 
 +                         #ib(1)#<ESC> w#ie(1)# <x, y;>    (Hex 1B 77 <x, y;>) 
 + 
 +Dabei sind <x, y;> dezimale oder binäre Koordinaten, die die Endposition der
 +Linie bezeichnen. Diese Position muß nicht im sichtbaren Bereich liegen,
 +sondern kann auch außerhalb des Fensters liegen. Der unsichtbare Teil der
 +Linie wird dann "geclippt". Der Wertebereich von <x> und <y> ist -32768 bis
 +32767. 
 + 
 +Das Kommando für den relativen Draw-Befehl lautet 
 + 
 +                         #ib(1)#<ESC> r#ie(1)# <x, y;>    (Hex 1B 72 <x, y;>) 
 + 
 +Bei diesem Befehl werden die Werte von <x> und <y>, die auch den gesamten
 +Wertebereich von -32768 bis 32767 überstreichen dürfen, zu den Koordinaten
 +des Graphikcursors addiert, die dann die Endposition der Linie bilden. Auch
 +hier darf die Endposition der Linie außerhalb des sichtbaren Bereichs lie-
 +gen. 
 + 
 + 
 +#type("8")##center##ib(3)#6.6.1.4  Turtle-Graphik#ie(3)##type("elite")# 
 + 
 +Turtle-Graphik (Schildkröten-Graphik, obwohl hier keine Schildkröte sicht-
 +bar ist) wird zur Erzeugung von "rekursiven" Graphiken, die mit Längen und
 +Winkelangaben, statt mit x/y-Koordinaten, arbeiten benötigt. Man stellt sich
 +dazu eine Schildkröte vor, die auf ihrem Weg über den Bildschirm eine sicht-
 +bare Spur zurücklassen kann (aber nicht muß). Die Schildkröte kann einen Weg
 +bestimmter Länge in ihre Blickrichtung gehen und bleibt dann stehen. Außer-
 +dem kann sie sich nach links oder rechts drehen, d.h. ihre Blickrichtung
 +ändert sich. Alles was man dazu braucht, ist ein Befehl, der die Richtung
 +der Schildkröte verändern kann und dann einen Weg bestimmter Länge in dieser
 +Richtung zurücklegt. Außerdem wird noch ein Befehl benötigt, der das "Spur-
 +verhalten" der Schildkröte ändert, also von "Spur sichtbar" auf "Spur un-
 +sichtbar" umschaltet und umgekehrt. Natürlich ist die Zeichengeschwindigkeit
 +nicht mit der Fortbewegungsgeschwindigkeit von Schildkröten zu vergleichen.
 +Das erste Kommando lautet 
 + 
 +                         #ib(1)#<ESC> n#ie(1)# <l, w;>    (Hex 1B 6E <l, w;>) 
 + 
 +<l> und <w> sind dezimale oder binäre Parameter. <l> ist die Länge der Spur
 +mit einem Wertebereich von 0 bis 511. <w> ist der relative Drehwinkel der
 +Schildkröte, also die Änderung von der ursprünglichen Blickrichtung aus. <w>
 +überstreicht den positiven und negativen Winkelbereich (0..71 entsprechen 0
 +bis 355 in 5 Grad Schritten. -1 entspricht z.B. 355 Grad). 
 + 
 +#text end#
 +#clear pos# 
 +#free(08.701852e-1)#
 + 
 + 
 + 35 
 +#page##--------------------------------- Ende der Seite 35 -----------#
 +#center##on("b")#Bedienungshandbuch zum ruc - Graphikterminal#off("b")# 
 + 
 + 
 + 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#clearpos#
 +#rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")#
 +#text begin# 
 +Mit dem Kommando 
 + 
 +                         #ib(1)#<ESC> o#ie(1)#    (Hex 1B 6F) 
 + 
 +kann von 'Draw' einer Spur auf 'Move' umgeschaltet werden und umgekehrt. 
 + 
 +Um die Sichtbarkeit der Spur am Programmamfang auf einen definierten Wert zu
 +setzen, kann man das Kommando 
 + 
 +                         #ib(1)#<ESC> O 8#ie(1)# <n>    (Hex 1B 4F 38 <n>) 
 + 
 +benutzen. <n> ist ein Byteparameter mit dem Wertebereich 0 bis 3. 
 + 
 +#on("u")#Bit 0 hat folgende Bedeutung:                                    #off("u")# 
 +  0       Pendown. Die Schildkröte hinterläßt eine sichtbare Spur 
 +  1       Penup. Die Schildkröte hinterläßt keine Spur 
 + 
 +#on("u")#Bit 1 hat folgende Bedeutung:                                    #off("u")# 
 +  0       Drawer. Es wird eine weiße Linie gezeichnet. 
 +  1       Eraser. Es wird eine schwarze Linie gezeichnet (gelöscht) 
 + 
 + 
 +Mit dem Kommando 
 + 
 +                         #ib(1)#<ESC> O 9#ie(1)#    (Hex 1B 4F 39) 
 + 
 +wird die Turtle-Graphik initialisiert. Dieses Kommando muß nicht aufgerufen
 +werden bevor die Turtle-Graphik benutzt wird, sollte aber nach Möglichkeit
 +am Anfang eines Turtle-Graphik-Programmes benutzt werden. Das Kommando setzt
 +die Schildkröte in die Mitte des Bildschirms (140, 96) mit Blickrichtung
 +nach oben. Der Drawer wird eingeschaltet (zeichnen) und eine sichtbare Linie
 +wird voreingestellt (Pendown). 
 + 
 + 
 +#type("8")##center##ib(3)#6.6.2  Komplexere Zeichenkommandos#ie(3)##type("elite")# 
 + 
 +Außer den Kommandos zum Zeichnen von Linien und zum Bewegen des Graphikcur-
 +sors gibt es noch verschiedene andere Zeichenkommandos. 
 + 
 + 
 +#type("8")##center##ib(3)#6.6.2.1  Kreise und Kreissegmente#ie(3)##type("elite")# 
 + 
 +Der Mittelpunkt eines Kreises liegt immer an der aktuellen Cursorposition.
 +Der Radius eines Kreises ist in weiten Grenzen von 0 bis über 30000 Punkten
 +wählbar. Clipping wird ausserhalb des Bildschirmrandes durchgeführt. Ein
 +Kreis kann in 8 Segmente unterteilt werden, von denen alle oder nur einzel-
 +ne gezeichnet werden können. Damit ist es dann auch möglich, Halb- oder
 +Viertelkreise zu Zeichnen. 
 + 
 +#text end#
 +#clear pos# 
 +#free(1.293519)#
 + 
 + 
 +#right#36 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#page##--------------------------------- Ende der Seite 36 -----------#
 +#center##on("b")#6.  Der Graphikmodus#off("b")# 
 + 
 + 
 + 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#clearpos#
 +#rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")#
 +#text begin# 
 +Mit dem Kommando 
 + 
 +                         #ib(1)#<ESC> K#ie(1)# <r, s;>   (Hex 1B 4B <r, s;>) 
 + 
 +wird ein Kreis mit dem Radius <r> um die aktuelle Cursorposition gezeichnet
 +(relative Kreise). <s> legt fest, welche Segmente gezeichnet werden sollen.
 +<r, s;> sind dezimale oder binäre Parameter. <s> hat den Wertebereich von 0
 +bis 255. 
 +Jedes Bit in <s> ist einem Kreissegment zugeordnet. Ist das Bit gesetzt (1),
 +dann wird das zugehörige Segment gezeichnet. Der Wert 0 entspricht dem Wert
 +255 (der ganze Kreis wird gezeichnet), ist aber etwas schneller, da keine
 +Abfrage der einzelnen Bits durchgeführt wird. 
 + 
 +Die Segmente sind folgendermaßen numeriert: 
 + 
 +                                  7  0 
 +                                6      1 
 +                                5      2 
 +                                  4  3 
 + 
 +Beispiele für <n> : 
 + 
 +#on("u")#<n>  Bedeutung                               #off("u")#
 +  0  Zeichnet einen ganzen Kreis 
 + 15  Zeichnet einen links offenen Halbkreis 
 +240  Zeichnet einen rechts offenen Halbkreis 
 +195  Zeichnet einen unten offenen Halbkreis 
 + 60  Zeichnet einen oben offenen Halbkreis 
 +  3  Zeichnet ein Kreisviertel rechts oben 
 + 12  Zeichnet ein Kreisviertel rechts unten 
 + 48  Zeichnet ein Kreisviertel links unten 
 +192  Zeichnet ein Kreisviertel links oben 
 +etc. 
 + 
 +Das Aussehen von Kreisen kann durch die Parameter Farbe/Helligkeit und die
 +Bitverknüpfung verändert werden. Der Linientyp (Punkt-, Strichlinie) und die
 +Strickdicke haben keinen Einfluß, d.h. der Kreis wird immer mit durchgehen-
 +der Linie und einfacher Dicke gezeichnet. Sollen diese beiden Parameter auch
 +verändert werden, sollte man den Befehl <ESC> s für Ellipsenbögen verwenden. 
 + 
 + 
 +#type("8")##center##ib(3)#6.6.2.2  Rechtecke#ie(3)##type("elite")# 
 + 
 +Rechtecke werden ebenso wie Kreise relativ gezeichnet, d.h. die aktuelle
 +Cursorposition bildet eine Ecke des Rechtecks. Die Seiten des Rechtecks
 +liegen parallel zur X- und Y-Achse, gedrehte Rechtecke können aber aus 4
 +relativen Draw-Befehlen zusammengesetzt werden. 
 + 
 +#text end#
 +#clear pos# 
 +#free(1.716852)#
 + 
 + 
 + 37 
 +#page##--------------------------------- Ende der Seite 37 -----------#
 +#center##on("b")#Bedienungshandbuch zum ruc - Graphikterminal#off("b")# 
 + 
 + 
 + 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#clearpos#
 +#rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")#
 +#text begin# 
 +Das Kommando 
 + 
 +                         #ib(1)#<ESC> J#ie(1)# <b, h;>    (Hex 1B 4A <b, h;>) 
 + 
 +zeichnet ein leeres Rechteck (Rahmen) an der aktuellen Cursorposition. <b,
 +h;> sind dezimale oder binäre Parameter. <b> ist die Breite des Rechtecks
 +und kann den ganzen Wertebereich von -32768 bis 32767 überstreichen, <h> ist
 +die Höhe des Rechtecks und kann ebenfalls diesen Wertebereich überstreichen.
 +Je nach Vorzeichen von <b> und <h> wird das Rechteck links/ rechts und
 +oben/unten von der aktuelle Cursorposition gezeichnet. 
 + 
 +<b> <h>  Cursorposition bildet die Ecke 
 + +   +   unten links 
 + +   -   oben links 
 + -   +   unten rechts 
 + -   -   oben rechts 
 + 
 + 
 +#type("8")##center##ib(3)#6.6.2.3  Bögen und Ellipsen#ie(3)##type("elite")# 
 + 
 +Um die Zeichengeschwindigkeit eines Kreises zu vergrößern, wurde ein sepa-
 +rater Befehl für Kreise eingeführt (6.6.2.1). Da der Kreis ein Sonderfall
 +der Ellipse ist, kann man das in diesem Abschnitt beschriebene Kommando auch
 +benutzen, um Kreise mit anderen als den unter 6.6.2.1 beschriebenen Segmen-
 +ten oder Parametern (Dicke, Strichtyp) zu Zeichnen. 
 + 
 +Das Kommando 
 + 
 +                         #ib(1)#<ESC> s#ie(1)# <xr, yr,> <aw, ew;>    (Hex 1B 73 ...) 
 + 
 +zeichnet um die aktuelle Cursorposition (also relativ) einen Ellipsenbogen
 +mit Radius <xr> in X-Richtung und Radius <yr> in Y-Richtung, ausgehend vom
 +Anfangswinkel <aw> im Uhrzeigersinn, bis zum Endwinkel <ew>. Der Winkel 0
 +Grad ist dabei oben (Norden). 
 + 
 +Alle Parameter sind dezimale oder binäre Parameter. <aw> und <ew> haben den
 +Wertebereich von 0 bis 255, wobei eine ganze Ellipse einem Anfangswinkel von
 +0 und einem Endwinkel von 72 entspricht. Die Winkelangaben sind in 5 Grad
 +Schritten und können Anhang A entnommen werden.. <xr> und <yr> dürfen den
 +vollen Wertebereich von -32768 bis 32767 überstreichen. 
 + 
 + 
 +#text end#
 +#clear pos# 
 +#free(4.256852)#
 + 
 + 
 +#right#38 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#page##--------------------------------- Ende der Seite 38 -----------#
 +#center##on("b")#6.  Der Graphikmodus#off("b")# 
 + 
 + 
 + 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#clearpos#
 +#rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")#
 +#text begin# 
 +#type("8")##center##ib(3)#6.6.2.4  Gefüllte Flächen#ie(3)##type("elite")# 
 + 
 +Rechteckige oder rautenförmige Flächen können, wie in Abschnitt 6.5.1.4
 +beschrieben, schnell gefüllt werden. Für beliebig geformte Flächen kann das
 +Kommando 
 + 
 +                         #ib(1)#<ESC> |#ie(1)#<n>    (Hex 1B 7C <n>) 
 + 
 +benutzt werden. Dies ist ein relatives Kommando, da um die aktuelle Cursor-
 +position herum gefüllt wird. <n> ist ein Byteparameter mit dem Wertebereich
 +0 bis 15, der die Nummer des Musters für die Füllung angibt. Der Fill-Befehl
 +arbeitet auf der aktuellen Arbeitsseite und füllt eine sichtbar begrenzte
 +Fläche mit einem angegebenen Muster aus. 
 + 
 +Ist die Bitverknüpfung OR eingestellt darf der Cursor nicht auf einem weißen
 +Punkt stehen und die Fläche muß von einer durchgehenden weißen Linie be-
 +grenzt sein. 
 +Ist die Bitverknüpfung AND eingestellt, darf der Cursor nicht auf einem
 +schwarzen Punkt stehen und die Fläche muß von einer durchgehenden schwarzen
 +Linie begrenzt sein. 
 + 
 +Außer den Parametern Bitverknüpfung und Helligkeit/Farbe werden keine be-
 +rücksichtigt. 
 + 
 +Bei sehr komplex geformten Figuren kann der Fall eintreten, daß die Fläche
 +nicht ganz gefüllt ist. Dies liegt daran, daß intern ein zu größer Spei-
 +cherplatz zum Merken von Rücksprungcursorpositionen benötigt wird (Stack-
 +Überlauf). In diesem Fall sollte man den Cursor nocheinmal auf die nicht
 +gefüllte Fläche setzen und das Kommando erneut geben. 
 + 
 +<n> kann folgende Werte annehmen (Werte Hexadezimal angegeben 0..F): 
 +<n>  Bedeutung 
 +#rpos(16.2)##fillchar(" ")##table# 
 +#on("u")# #off("u")# 
 +#table end# 
 + 0   Fläche ganz gefüllt 
 + 1   Fläche halb gefüllt (grau) 
 + 2   Jede 4. Zeile wird durchgezogen 
 + 3   Jede 2. Zeile wird durchgezogen 
 + 4   Jede 4. Spalte wird durchgezogen 
 + 5   Jede 2. Spalte wird durchgezogen 
 + 6   Jede 4. Zeile und jede 4. Spalte wird durchgezogen (grobes Raster) 
 + 7   Jede 2. zeile und jede 2. Spalte wird durchgezogen (feines Raster) 
 + 8   Schraffur von links unten nach rechts oben 
 + 9   Schraffur von links oben nach rechts unten 
 + A   Schräges Raster (Links- und Rechtsschraffur) 
 + B   Feines Funktraster(jeder 2.Punkt in x- und y-Richtung wird gesetzt) 
 + C   Mauerwerk 
 + D   Feines Netzgeflecht 
 + E   Feine Zickzacklinie 
 + F   Benutzerdefinierbares Muster. Default: Grobe Zickzacklinie 
 + 
 +#text end#
 +#clear pos# 
 +#free(08.701852e-1)#
 + 
 + 
 + 39 
 +#page##--------------------------------- Ende der Seite 39 -----------#
 +#center##on("b")#Bedienungshandbuch zum ruc - Graphikterminal#off("b")# 
 + 
 + 
 + 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#clearpos#
 +#rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")#
 +#text begin# 
 +Ist die AND-Bitverknüpfung eingeschaltet, dann sind die Punkte schwarz und
 +weiß in den Mustern vertauscht und in der obigen Tabelle sind die Bezeich-
 +nungen 'gefüllt' und 'gelöscht' auszutauschen. 
 + 
 + 
 +#type("8")##center##ib(3)#6.6.2.4.1  Definition des Musters#ie(3)##type("elite")# 
 + 
 +Das benutzerdefinierbare Muster des Fill-Befehls (Muster 15) kann mit dem
 +Kommando 
 + 
 +                         #ib(1)#<ESC> O :#ie(1)# <b1..b8>   (Hex 1B 4F 3A <b1..b8>) 
 + 
 +eingestellt werden. Das Defaultmuster wird dabei überschrieben, das neu
 +eingestellte Muster allerdings nicht beim Setup mitgesichert. 
 +<b1..b1> sind 8 Byteparameter mit dem gesamten Wertebereich 0 bis 255. Das
 +erste Byte wird im Füllmuster in Richtung der niedrigeren y-Positionen dar-
 +gestellt, das niederwertigste Bit jedes Bytes in Richtung der niedrigeren
 +x-Positionen. 
 + 
 + 
 +#type("8")##center##ib(3)#6.7  Graphikdaten zum Host#ie(3)##type("elite")# 
 + 
 +Bisher wurden nur Kommandos beschrieben, die der Host an das Terminal sen-
 +den kann. Damit der Host über den Status des Terminals informiert werden
 +kann, sind auch Kommandos vorhanden, die Daten an den Host senden. Der Host
 +kann auch ganze Graphikseiten anfordern, so daß die auf dem Terminal er-
 +zeugten Graphiken nach dem Ausschalten nicht verloren sind, sondern vom Host
 +gespeichert werden können. 
 + 
 + 
 +#type("8")##center##ib(3)#6.7.1  Graphikseiten zum Host#ie(3)##type("elite")# 
 + 
 +Graphikseiten können ganz oder teilweise übertragen werden. Da ein angefor-
 +dertes Datenpaket immer ganz übertragen wird, sollte der Host, wenn keine
 +Flußkontrolle eingeschaltet ist, nur so große Blöcke anfordern, die er puf-
 +fern kann (z.B. 256 Bytes). Selektives Lesen von Graphikseiten kann auch
 +verwendet werden, um Teile einer Graphik vom Host (und nicht vom Terminal)
 +verändern zu lassen. Mit dem Kommando <ESC> / ... kann der modifizierte Teil
 +dann wieder an das Terminal zurückgesendet werden. Zum Aufbau der Graphik-
 +seite findet man in Kapitel 6.4.2 Informationen. 
 + 
 +Mit dem Kommando 
 + 
 +                         #ib(1)#<ESC> \#ie(1)# <ll> <lh> <al> <ah>   (Hex 1B 5C ...) 
 + 
 +kann eine Seite oder ein Teil einer Seite in an den Host gesendet werden.
 +<lh>, <ll>, <ah> und <al> sind Byteparameter (8 Bits). <ll> und <lh> bilden
 +zusammen die binäre Länge, d.h. die Anzahl der Datenbytes, die zum Host
 +gesendet werden. Die Länge kann von 0 bis Hex 2000 (dezimal 8192) reichen.
 +Die Adresse durch <al> und <ah> gebildet, darf von 0 bis Hex 1FFF reichen.
 +#text end#
 +#clear pos# 
 +#free(08.701852e-1)#
 + 
 + 
 +#right#40 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#page##--------------------------------- Ende der Seite 40 -----------#
 +#center##on("b")#6.  Der Graphikmodus#off("b")# 
 + 
 + 
 + 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#clearpos#
 +#rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")#
 +#text begin#
 +Zusätzlich gilt, daß die Summe von Länge und Adresse nicht größer als Hex
 +2000 sein darf, da sich die Endadresse dann ausserhalb der Graphikseite
 +befindet. In diesem Fehlerfall werden keine Daten gesendet. 
 + 
 + 
 +#type("8")##center##ib(3)#6.7.2  Cursorposition zum Host#ie(3)##type("elite")# 
 + 
 +Da die Graphikcursorposition einen anderen Wertebereich überstreicht als die
 +Position des Textcursors, wurde zum Senden der Graphikcursorposition ein
 +weiteres Kommando eingeführt. Pro Koordinate werden dabei 2 Bytes, zusammen
 +also 4 Bytes, gesendet. Mit dem Kommando 
 + 
 +                         #ib(1)#<ESC> ;#ie(1)#    (Hex 1B 3B) 
 + 
 +kann der Host diese 4 Bytes anfordern. Die Reihenfolge der Bytes ist <xlow>
 +<xhigh> <ylow> <yhigh>. Im Gegensatz zu <ESC> ? (für die Textcursorposi-
 +tion) wird auch kein abschließendes <CR> gesendet. 
 + 
 + 
 +#type("8")##center##ib(3)#6.7.3  Einzelne Bits zum Host#ie(3)##type("elite")# 
 + 
 +Außer ganzen Graphikseiten oder Blöcken daraus, kann der Host auch einzelne
 +Bytes oder Bits selektieren und empfangen. Dazu stehen zwei Kommandos zur
 +Verfügung. Mit dem Kommando 
 + 
 +                         #ib(1)#<ESC> _#ie(1)#    (Hex 1B 5F) 
 + 
 +kann das Byte angefordert werden, in dem sich der Graphikcursor gerade be-
 +findet. Das Bit 7 ist das Farb- oder Helligkeitsbit, das Bit (xpos MOD 7)
 +ist das Bit, das durch den Graphikcursor addressiert wird. Wenn der Cursor
 +außerhalb des sichtbaren Bereichs ist, wird ein Byte Hex 00 geliefert. 
 + 
 +Mit dem Kommando 
 + 
 +                         #ib(1)#<ESC> -#ie(1)#    (Hex 1B 2D) 
 + 
 +kann das Bit, daß durch die Graphikcursorposition addressiert wird, abge-
 +fragt werden. Dieses Kommando liefert ein Byte, in dem die Bits folgende
 +Bedeutung haben: 
 + 
 +#on("u")#Bit 0 Dezimal   Bedeutung                            #off("u")# 
 +  0      0      Das adressierte Bit ist nicht gesetzt 
 +  1      1      Das adressierte Bit ist gesetzt 
 + 
 +#on("u")#Bit 1 Dezimal   Bedeutung                   #off("u")# 
 +  0      0      Die Farbe ist violett/dunkel 
 +  1      2      Die Farbe ist gelb/hell 
 + 
 +#text end#
 +#clear pos# 
 +#free(1.716852)#
 + 
 + 
 + 41 
 +#page##--------------------------------- Ende der Seite 41 -----------#
 +#center##on("b")#Bedienungshandbuch zum ruc - Graphikterminal#off("b")# 
 + 
 + 
 + 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#clearpos#
 +#rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")#
 +#text begin# 
 +Bit 2 Dezimal   Bedeutung 
 +#rpos(16.2)##fillchar(" ")##table# 
 +#on("u")# #off("u")# 
 +#table end# 
 +  0      0      Der Graphikcursor ist innerhalb des sichtabren Bereichs 
 +  1      4      Der Graphikcursor ist außerhalb des sichtbaren Bereichs. 
 +                Bit 0 und Bit 1 sind dann 0. 
 + 
 +Bit 4 und Bit 5 sind immer 1. Es werden also die ASCII-Ziffern "0" bis "4"
 +geliefert. 
 + 
 + 
 +#type("8")##center##ib(3)#6.7.4  Parameter zum Host#ie(3)##type("elite")# 
 + 
 +Die eingestellten Draw-Parameter können auch abgefragt werden. Dazu exi-
 +stieren zwei Kommandos. Mit dem Kommando 
 + 
 +                         #ib(1)#<ESC> 4#ie(1)#    (Hex 1B 34) 
 + 
 +können die Nummer der sichtbaren und der Arbeitsseite, im gleichen Format
 +wie zum Einstellen der Seiten mit dem Kommando #ib(1)#<ESC> O 7#ie(1)# <n>, angefordert
 +werden. Es werden ASCII-Zeichen von "0" bis "?" geliefert. Die Bits 0 bis 2
 +sind folgendermaßen zugeordnet: 
 + 
 +#on("u")#Bit 0  Bedeutung                #off("u")# 
 +  0    Sichtbar ist Seite 0 
 +  1    Sichtbar ist Seite 1 
 + 
 +#on("u")#Bit 1  Bedeutung               #off("u")# 
 +  0    Arbeitsseite ist Seite 0 
 +  1    Arbeitsseite ist Seite 1 
 + 
 +#on("u")#Bit 2  Bedeutung               #off("u")# 
 +  0    Nur Graphik eingeschaltet 
 +  1    In den letzten 32 Graphikzeilen 
 +       sind 4 Textzeilen eingeblendet 
 + 
 +#on("u")#Bit 3  Bedeutung                         #off("u")# 
 +  0    Der Graphikmodus ist eingeschaltet 
 +  1    Der Textmodus ist eingeschaltet 
 + 
 +Sinnvoll sind die Werte der Bits 0 bis 2 nur dann, wenn Bit 3 = 0 ist. 
 + 
 + 
 +Mit dem Kommando 
 + 
 +                         #ib(1)#<ESC> 5#ie(1)#    (Hex 1B 35) 
 + 
 +können die Linienparameter abgefragt werden. Es wird ein Byte mit dem Wer-
 +tebereich von 1 bis 127 geliefert. Die einzelnen Bits sind folgendermaßen
 +zugeordnet: 
 + 
 +#text end#
 +#clear pos# 
 +#free(08.701852e-1)#
 + 
 + 
 +#right#42 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#page##--------------------------------- Ende der Seite 42 -----------#
 +#center##on("b")#6.  Der Graphikmodus#off("b")# 
 + 
 + 
 + 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#clearpos#
 +#rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")#
 +#text begin# 
 +Bit        Bedeutung 
 +#rpos(16.2)##fillchar(" ")##table# 
 +#on("u")# #off("u")# 
 +#table end# 
 +Bit 0..3 : Strichdicke 
 +Bit 4..5 : Bitverknüpfung (0 = OR, 16 = AND, 32 = XOR, 48 = COPY) 
 +Bit 6    : Aktuelle Farbe (0 = Violett/dunkel, 1 = Gelb/hell) 
 + 
 +Die Bitbelegung entspricht der des Parameters des Kommandos #ib(1)#<ESC> O 5#ie(1)# <n>. 
 + 
 + 
 +#type("8")##center##ib(3)#6.8  Graphikhardcopy#ie(3)##type("elite")# 
 + 
 +Wie von der Textseite kann auch von den Graphikseiten ein Ausdruck angefer-
 +tigt werden. Dabei können keine verschiedene Helligkeitsstufen oder Farben
 +dargestellt werden. 
 + 
 + 
 +#type("8")##center##ib(3)#6.8.1  Der Druckertreiber#ie(3)##type("elite")# 
 + 
 +Da das Ein- und Ausschalten des Graphikmodus nicht auf allen Druckern durch
 +gleiche Kommandos erreicht werden kann, muß das Terminal an den vorhandenen
 +Drucker angepaßt werden. Defaultmäßig werden die Epson-Modelle ab RX80 auf-
 +wärts, sowie kompatible (IBM, Panasonic etc.) unterstützt. Die Anpassung
 +wird in diesem Abschnitt beschrieben. 
 + 
 +Mit dem Kommando 
 + 
 +                         #ib(1)#<ESC> ~#ie(1)# <n> <p...>    (Hex 1B 7E <n> <p...>) 
 + 
 +können Kommandosequenzen eingestellt werden, die folgende Aufgaben haben: 
 + 
 +<n> Default (Hex)   Aufgabe 
 +#rpos(16.2)##fillchar(" ")##table# 
 +#on("u")# #off("u")# 
 +#table end# 
 + 0  0D              Einleiten der gesamten Hardcopy (Waagenrücklauf) 
 + 1  1B 2A 04 18 01  Einschalten des Graphikmodus. Es folgen 280 Graphikby-
 +                    tes (jeweils 8 Bit) 
 + 2  0D 1B 4A 17     Ausschalten des Graphikmodus. Zeilenvorschub ohne Zwi-
 +                    schenraum (Zeilenabstand ca. 8 Punkte) und Waagenrück-
 +                    lauf. 
 + 3     Nichts       Dieses Kommando wird nach der kompletten Hardcopy zum
 +                    Drucker gesendet. 
 + 
 +Wenn doppelte Punktbreite eingeschaltet ist, oder zwei Seiten nebeneinander
 +gedruckt werden, wird die Kommandosequenz 1 auch mehrmals in einer Zeile
 +gegeben. 
 + 
 +<n> ist dabei ein Byteparameter mit dem Wertebereich von 0 bis 3. <p...> ist
 +eine Folge von bis zu 16 Bytes. Das erste dieser 16 Bytes ist ein Längenby-
 +te, das die Länge der Kommandosequenz (oder die Anzahl der noch folgenden
 +Bytes) angibt. Für die nach dem Längenbyte folgenden Bytes sind alle Werte
 +von 0 bis 255 erlaubt. 
 + 
 +#text end#
 +#clear pos# 
 +#free(04.468519e-1)#
 + 
 + 
 + 43 
 +#page##--------------------------------- Ende der Seite 43 -----------#
 +#center##on("b")#Bedienungshandbuch zum ruc - Graphikterminal#off("b")# 
 + 
 + 
 + 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#clearpos#
 +#rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")#
 +#text begin# 
 +Die Druckertreiberstrings (Kommandosequenzen) werden beim Setup in der Kom-
 +mandozeile auch mit abgespeichert, so daß sie nur einmal (wenn überhaupt)
 +und dann nie wieder eingestellt werden müßen. 
 + 
 + 
 +#type("8")##center##ib(3)#6.8.2  Die Hardcopyparameter#ie(3)##type("elite")# 
 + 
 +Im Gegensatz zur Hardcopy einer Textseite kann das Aussehen einer Graphik
 +beim Ausdruck noch verändert werden. Das Kommando 
 + 
 +                         #ib(1)#<ESC> ^#ie(1)# <n>    (Hex 1B 5E <n>) 
 + 
 +druckt eine Hardcopy mit dem Parameter <n>. <n> ist ein Byteparameter mit
 +dem Wertebereich von 0 bis 15. Jedes Bit in <n> legt eine Darstellungsweise
 +fest. Die Bits haben folgende Bedeutung: 
 + 
 +Invertieren: 
 +Bit 0 Dezimal Bedeutung 
 +#rpos(16.2)##fillchar(" ")##table# 
 +#on("u")# #off("u")# 
 +#table end# 
 +  0      0    Helle Punkte auf dem Bildschirm werden auf dem Drucker schwarz
 +              gedruckt, dunkle Punkte bleiben beim Ausdruck weiß. 
 +  1      1    Die Graphik wird invertiert, d.h. Ein dunkler Bildhintergrund
 +              bleibt auf dem Drucker dunkel (schwarz). 
 + 
 +Doppelte Breite: 
 +Bit 1 Dezimal Bedeutung 
 +#rpos(16.2)##fillchar(" ")##table# 
 +#on("u")# #off("u")# 
 +#table end# 
 +  0      0    Jeder Bildschirmpunkt wird in normaler Breite gedruckt. Es
 +              werden also 280 Punkte nebeneinander gedruckt. 
 +  1      2    Jeder Bildschirmpunkt wird in doppelter Breite gedruckt. In
 +              diesem Fall werden auf dem Drucker 560 Punkte nebeneinander
 +              gedruckt. 
 + 
 +Doppelte Höhe: 
 +Bit 2 Dezimal Bedeutung 
 +#rpos(16.2)##fillchar(" ")##table# 
 +#on("u")# #off("u")# 
 +#table end# 
 +  0      0    Jeder Bildschirmpunkt wird in normaler Höhe gedruckt. Es wer-
 +              den also 192 Punkte untereinander gedruckt. 
 +  1      4    Jeder Bildschirmpunkt wird in doppelter Höhe gedruckt. In
 +              diesem Fall werden also 384 Punkte untereinander gedruckt. 
 + 
 +Zwei Seiten nebeneinander drucken: 
 +Bit 3 Dezimal Bedeutung 
 +#rpos(16.2)##fillchar(" ")##table# 
 +#on("u")# #off("u")# 
 +#table end# 
 +  0      0    Es wird nur eine Graphikseite (linksbündig) gedruckt. 
 +  1      8    Die aktuelle (mit #ib(1)#<ESC> O 7#ie(1)# <n> eingestellte) Graphikseite
 +              wird linksbündig und die andere Graphikseite nahtlos rechts
 +              daneben gedruckt. 
 + 
 +#text end#
 +#clear pos# 
 +#free(1.293519)#
 + 
 + 
 +#right#44 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#page##--------------------------------- Ende der Seite 44 -----------#
 +#center##on("b")#6.  Der Graphikmodus#off("b")# 
 + 
 + 
 + 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#clearpos#
 +#rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")#
 +#text begin# 
 +Zur Kombination von Möglichkeiten (mehrere Bits sind gesetzt): 
 + 
 +- Eine Graphik mit doppelter Höhe und doppelter Breite hat ungefähr das
 +  Format des Bildschirms. Ein Ausdruck besteht dann aus 560 x 384 = 215040
 +  Punkten. Zusätzliches Invertieren macht die Graphik dem Bildschirmausse-
 +  hen noch ähnlicher. 
 + 
 +- Werden zwei Seiten mit doppelter Breite nebeneinander gedruckt, dann re-
 +  icht die Anzahl der Graphikspalten auf dem Drucker mit dem Defaultgra-
 +  phikmodus nicht mehr aus. In diesem Fall sollte man die Druckertreiber
 +  Kommandosequenz 1 temporär auf eine hohe (4-fache) Dichte umschalten.
 +  Solange kein Setup ausgeführt wird, ist diese Dichte nur solange gültig,
 +  bis das Terminal ausgeschaltet wird. 
 + 
 +#text end#
 +#clear pos# 
 +#free(16.11019)#
 + 
 + 
 + 45 
 +#page##--------------------------------- Ende der Seite 45 -----------#
 +#center##on("b")#Bedienungshandbuch zum ruc - Graphikterminal#off("b")# 
 + 
 + 
 + 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#clearpos#
 +#rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")#
 +#text begin# 
 +#type("8")##center##on("i")##on("u")##ib(3)#7.  Die Parameter der seriellen Schnittstelle#ie(3)##off("u")##off("i")##type("elite")# 
 + 
 + 
 +Die Parameter der seriellen Schnittstelle können vom Host durch Escape-
 +Sequenzen gändert werden. Die Änderung der Parameter wird erst durchgeführt,
 +wenn die Parameterübergabe komplett ist (d.h das letzte Byte wurde übertra-
 +gen). Alle Übertragungsparameter wie Stopbits, Datenbits, Parität und Bau-
 +drate werden zusammen in einem 'Rutsch' eingestellt. Die Art der Flußkon-
 +trolle wird mit separaten Escape-Sequenzen eingestellt. 
 +Die Einstellung in der Kommandozeile ist im Kapitel 3 beschrieben. 
 + 
 + 
 +#type("8")##center##ib(3)#7.1  Das Übertragungsformat#ie(3)##type("elite")# 
 + 
 +Das Übertragunsformat eines Datenbytes sieht folgendermaßen aus: 
 +(Beispiel für 8 Datenbits, 1 Paritätsbit und 1 Stopbit) 
 + 
 +        +---+---+---+---+---+---+---+---+---+---+---+ 
 +    ... |"0"| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | P |"1"| ... 
 +        +---+---+---+---+---+---+---+---+---+---+---+ 
 +       Start-  ----  D a t e n b i t s ---- Pari- Stop- 
 +        bit                                 täts- bit 
 +                                            bit 
 +     --------> Zeit 
 + 
 +Bei 7 Datenbits ist das Bit 7 "0". P bezeichnet das Paritätsbit. Wenn zwei
 +Stopbits übertragen werden steht an dieser Stelle das 1. Stopbit ("1"). 
 + 
 + 
 +#type("8")##center##ib(3)#7.2  Die Übertragungsparameter#ie(3)##type("elite")# 
 + 
 +Alle vier Parameter werden zugleich verändert. Das Kommando lautet 
 + 
 +                         #ib(1)#<ESC> <SPACE> <SPACE>#ie(1)# <x>    (Hex 1B 20 20 <x>) 
 + 
 +<x> ist dabei ein Datenbyte, das wie folgt festgelegt wird: 
 + 
 +   Bit     7       6       5       4       3       2       1       0 
 +       +-------+-------+-------+-------+-------+-------+-------+-------+ 
 +       |Parity |Parity | Stop- | Daten-|            Baudrate           | 
 +       | even/ |on/off | bits  | bits  |       |       |       |       | 
 +       | odd   |       |       |       |       |       |       |       | 
 +       +-------+-------+-------+-------+-------+-------+-------+-------+ 
 + 
 + 
 +#text end#
 +#clear pos# 
 +#free(2.986852)#
 + 
 + 
 +#right#46 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#page##--------------------------------- Ende der Seite 46 -----------#
 +#center##on("b")#7.  Die Parameter der seriellen Schnittstelle#off("b")# 
 + 
 + 
 + 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#clearpos#
 +#rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")#
 +#text begin# 
 +#type("8")##center##ib(3)#7.2.1  Baudrate#ie(3)##type("elite")# 
 + 
 +Baudrate = Anzahl der pro Sekunde übertragenen Bits (Übertragungsgeschwin-
 +digkeit) . 
 + 
 +         Bits 
 +#on("u")#Dezimal 3 2 1 0    Neue Baudrate#off("u")# 
 +  0     0 0 0 0    Alte Baudrate (nicht verändern) 
 +  1     0 0 0 1      50 Baud 
 +  2     0 0 1 0      75 Baud 
 +  3     0 0 1 1     109.9 Baud 
 +  4     0 1 0 0     134.58 Baud 
 +  5     0 1 0 1     150 Baud 
 +  6     0 1 1 0     300 Baud 
 +  7     0 1 1 1     600 Baud 
 +  8     1 0 0 0    1200 Baud 
 +  9     1 0 0 1    1800 Baud 
 + 10     1 0 1 0    2400 Baud 
 + 11     1 0 1 1    3600 Baud 
 + 12     1 1 0 0    4800 Baud 
 + 13     1 1 0 1    7200 Baud 
 + 14     1 1 1 0    9600 Baud 
 + 15     1 1 1 1   19200 Baud 
 + 
 +Der Wert 0 kann gebraucht werden, wenn nur Datenbits, Stopbits und Pari-
 +tätsbit verändert werden sollen. 
 + 
 + 
 +#type("8")##center##ib(3)#7.2.2  Datenbits#ie(3)##type("elite")# 
 + 
 +Bit 4 legt die Anzahl der gesendeten und empfangenen Datenbits fest. 
 + 
 +#on("u")#Dezimal Bit 4              #off("u")# 
 +   0      0     8 Datenbits 
 +  16      1     7 Datenbits 
 + 
 +Mit einem anschliessenden Kommando 
 + 
 +                         #ib(1)#<ESC> <SPACE> 6#ie(1)#    (Hex 1B 20 36) 
 + 
 +kann das 8. Datenbit ausmaskiert (d.h auf "0" gesetzt) werden. Dies kann
 +notwendig sein, wenn der Host nur 7 Bit ASCII verarbeitet und auf ein ge-
 +setztes 8. Datenbit falsch reagiert (Steuerbit oder ähnliches). 
 + 
 +Mit 
 + 
 +                         #ib(1)#<ESC> <SPACE> 7#ie(1)#    (Hex 1B 20 37) 
 + 
 +kann die Maskierung wieder aufgehoben werden. 
 +Zu beachten ist, daß bei 7 Bit Datentransfer zum Beispiel das Farbbit bei
 +Download einer Graphikseite nicht übertragen wird. 
 + 
 +#text end#
 +#clear pos# 
 +#free(02.351852e-2)#
 + 
 + 
 + 47 
 +#page##--------------------------------- Ende der Seite 47 -----------#
 +#center##on("b")#Bedienungshandbuch zum ruc - Graphikterminal#off("b")# 
 + 
 + 
 + 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#clearpos#
 +#rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")#
 +#text begin# 
 +#type("8")##center##ib(3)#7.2.3  Stopbits#ie(3)##type("elite")# 
 + 
 +Bit 5 legt die Anzahl der Stopbits fest. 
 + 
 +#on("u")#Dezimal Bit 5            #off("u")# 
 +   0      0    1 Stopbit 
 +  32      1    2 Stopbits 
 + 
 +Zu beachten ist, daß bei eingeschaltetem Paritycheck und 8 Datenbits immer
 +ein Stopbit übertragen wird, auch wenn 2 Stopbits programmiert wurden. (Es
 +können maximal 11 Bits/Daten"byte" übertragen werden.) 
 + 
 + 
 +#type("8")##center##ib(3)#7.2.4  Paritätsbit#ie(3)##type("elite")# 
 + 
 +Bit 6 legt fest, ob Paritätskontrolle erfolgen soll und ob ein Paritätsbit
 +vorhanden ist. 
 + 
 +Dezimal Bit 6 
 +#rpos(16.2)##fillchar(" ")##table# 
 +#on("u")# #off("u")# 
 +#table end# 
 +   0      0     Keine Paritätskontrolle/Kein Paritätsbit 
 +  64      1     Paritätskontrolle eingeschaltet. Parität mit Bit 7 gewählt 
 + 
 +Wenn Bit 6 = 1 ist legt Bit 7 fest, ob gerade oder ungerade Parität geprüft
 +werden soll. 
 + 
 +#on("u")#Dezimal Bit 7                   #off("u")# 
 +   0      0     Ungerade Parität 
 + 128      1     Gerade Parität 
 + 
 + 
 +#type("8")##center##ib(3)#7.2.5  Übertragungsfehler#ie(3)##type("elite")# 
 + 
 +Wird ein Rahmenfehler (Stopbit fehlt) oder ein Paritätsfehler (mindestens
 +ein Bit verfälscht) entdeckt, dann wird statt des empfangenen Mülls ein Byte
 +Hex FF vom Terminal interpretiert. Steht dies im Text, kann man es als in-
 +vertiertes Punktraster erkennen. Dieses Zeichen richtet wenig Schaden an,
 +wenn es mitten in einer Escape-Sequenz empfangen wird. 
 + 
 + 
 +#type("8")##center##ib(3)#7.3  Die Flußkontrolle#ie(3)##type("elite")# 
 + 
 +Damit keine Daten verloren gehen, wenn der Host oder das Terminal keine
 +solchen mehr empfangen kann, sollte eine Flußkontrolle eingeschaltet wer-
 +den. Das Terminal hat zwar einen Empfangspuffer von 4K Byte (4096 Zeichen),
 +aber auch dieser kann einmal voll sein. Der Sendepuffer von 2K Byte (2048
 +Zeichen) wird in Anspruch genommen, wenn der Host dem Terminal per Flußkon-
 +trolle mitgeteilt hat, daß er keine Zeichen mehr empfangen kann. Das Termi-
 +nal wartet dann nicht aktiv auf Freigabe vom Host, sondern kann weiter ar-
 +beiten (Spooler, Bildschirmausgabe, Localmodus etc.). 
 + 
 +#text end#
 +#clear pos# 
 +#free(04.468519e-1)#
 + 
 + 
 +#right#48 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#page##--------------------------------- Ende der Seite 48 -----------#
 +#center##on("b")#7.  Die Parameter der seriellen Schnittstelle#off("b")# 
 + 
 + 
 + 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#clearpos#
 +#rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")#
 +#text begin# 
 +Wenn das Terminal den Host "gestoppt" hat, kann man das an einem "B U S Y"
 +in der Statuszeile erkennen, sonst steht dort "R E A D Y". 
 +Wenn der Host das Terminal "gestoppt" hat, kann man das an einem "T X O F F"
 +in der Statuszeile erkennen, sonst steht dort "T X   O N". 
 + 
 +Da dieses Terminal einen großen Empfangspuffer hat, sollte man allerdings im
 +Notfall auch ohne Flußkontrolle auskommen, wenn nicht gerade umfangreiche
 +Graphikoperationen ausgeführt werden sollen, bei denen der Puffer nicht
 +schnell genug geleert werden kann. 
 + 
 + 
 +#type("8")##center##ib(3)#7.3.1  XON/XOFF#ie(3)##type("elite")# 
 + 
 +XON/XOFF ist eine Softwareflußkontrolle. Als Stopzeichen wird 
 + 
 +                         #ib(1)#XOFF#ie(1)#    (#ib(1)#<CTRL S>#ie(1)# Hex 13) 
 + 
 +verwendet. Als Startzeichen wird 
 + 
 +                         #ib(1)#XON#ie(1)#    (#ib(1)#<CTRL Q>#ie(1)# Hex 11) 
 + 
 +verwendet. Diese Flußkontrolle sollte nur im Textmodus verwendet werden, da
 +Binärdaten möglicherweise Hex 11 oder Hex 13 enthalten, die dann nicht als
 +Protokollzeichen verwendet werden sollen. Der Vorteil dieser Art der Fluß-
 +kontrolle ist, daß man mit 3 Leitungen (Masse, TXD, RXD) an der seriellen
 +Schnittstelle auskommt. 
 + 
 +Das Terminal reagiert auf empfangene XON/XOFF-Zeichen sofort, d.h diese
 +Zeichen werden nicht in den Empfangspuffer gestellt. Diese beiden Zeichen
 +werden auch dann interpretiert, wenn das Terminal im Local-Modus ist. 
 + 
 +Die XON/XOFF Flußkontrolle kann in der 2. Kommandozeile ein- und ausgeschal-
 +tet werden, sowie mit dem Kommando 
 + 
 +                         #ib(1)#<CTRL O>#ie(1)#    (Hex 0F) 
 + 
 +eingeschaltet und mit 
 + 
 +                         #ib(1)#<CTRL N>#ie(1)#    (Hex 0E) 
 + 
 +ausgeschaltet werden. 
 + 
 +Zu beachten ist, daß der Sender vor dem Ausschalten noch im "TX OFF"-
 +Zustand sein kann. Man sollte deshalb direkt vor <CTRL N> noch <CTRL Q> (Hex
 +11), also XON senden, um den Sender wieder einzuschalten. Dies wird vom
 +Terminal nicht automatisch gemacht, da sonst ein <CTRL N> das im Datenstrom
 +vorkommt, auch noch ein Zeichen für Flußkontrolle wäre. 
 + 
 + 
 +#text end#
 +#clear pos# 
 +#free(1.293519)#
 + 
 + 
 + 49 
 +#page##--------------------------------- Ende der Seite 49 -----------#
 +#center##on("b")#Bedienungshandbuch zum ruc - Graphikterminal#off("b")# 
 + 
 + 
 + 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#clearpos#
 +#rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")#
 +#text begin# 
 +#type("8")##center##ib(3)#7.3.2  DTR/DSR#ie(3)##type("elite")# 
 + 
 +DTR/DSR ist eine Hardwareflußkontrolle bei der die Leitungen Pin 20 (DTR)
 +und Pin 6 (DSR) (in der Regel überkreuzt) angeschloßen sein müssen. 
 +Bei dieser Art der Flußkontrolle dürfen alle Zeichen übertragen werden, ohne
 +daß eines die Flußkontrolle steuert. Ausnahme: Wenn zusätzlich XON/ XOFF
 +Flußkontrolle eingeschaltet ist werden natürlich XON/XOFF als Steuerzeichen
 +interpretiert. 
 + 
 +DTR (Data Terminal Ready)/DSR (DataSet Ready) Flußkontrolle kann in der 2.
 +Kommandozeile ein- und ausgeschaltet werden. Der Host kann dies mit dem
 +Kommando 
 + 
 +                         #ib(1)#<ESC> <SPACE>#ie(1)# <n>    (Hex 1B 20 <n>) 
 + 
 +erreichen. Die Werte von <n> sind 
 + 
 +#on("u")#<n>  Hex    Bedeutung                                              #off("u")# 
 + 2    32    Weder RTS/CTS noch DSR/DTR Flußkontrolle 
 + 3    33    RTS/CTS Flußkontrolle, aber keine DSR/DTR Flußkontrolle 
 + 4    34    DSR/DTR Flußkontrolle, aber keine RTS/CTS Fluskontrolle 
 + 5    35    DSR/DTR und RTS/CTS Flußkontrolle 
 + 
 +DTR/DSR Flußkontrolle wird empfohlen, da hier alle Zeichen ohne Veränderung
 +empfangen werden können. RTS/CTS Flußkontrolle kann, hardwaremäßig bedingt,
 +beim Einschalten von RTS ein Bit "umkippen". 
 + 
 + 
 +#type("8")##center##ib(3)#7.3.3  RTS/CTS#ie(3)##type("elite")# 
 + 
 +RTS/CTS ist eine Hardwareflußkontrolle bei der die Leitungen Pin 4 (RTS) und
 +Pin 5 (CTS) (in der Regel überkreuzt) angeschloßen sein müssen. 
 +Bei dieser Art der Flußkontrolle dürfen alle Zeichen übertragen werden, ohne
 +daß eines die Flußkontrolle steuert. Ausnahme: Wenn zusätzlich XON/ XOFF
 +Flußkontrolle eingeschaltet ist werden natürlich XON/XOFF als Steuerzeichen
 +interpretiert. 
 + 
 +RTS (Ready To Send)/CTS (Clear To Send) Flußkontrolle kann in der 2. Kom-
 +mandozeile ein- und ausgeschaltet werden. Der Host kann dies mit dem Kom-
 +mando <ESC> <SPACE> <n> erreichen. Die Werte von <n> sind im letzten Ab-
 +schnitt (7.3.2 DTR/DSR) angegeben. 
 + 
 + 
 +#text end#
 +#clear pos# 
 +#free(3.833519)#
 + 
 + 
 +#right#50 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#page##--------------------------------- Ende der Seite 50 -----------#
 +#center##on("b")#7.  Die Parameter der seriellen Schnittstelle#off("b")# 
 + 
 + 
 + 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#clearpos#
 +#rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")#
 +#text begin# 
 +#type("8")##center##ib(3)#7.4  Echo und Local/Online#ie(3)##type("elite")# 
 + 
 +In einigen Fällen verlangt der Host, daß das vom Terminal empfangene Zei-
 +chen zurückgesendet (geechoed) wird, um eventuelle Übertragungsfehler zu
 +erkennen. Dieser Modus wird mit dem Kommando 
 + 
 +                         #ib(1)#<ESC> D E#ie(1)#    (Hex 1B 44 45) 
 + 
 +eingeschaltet. Zusätzlich wird hiermit der Localmodus ausgeschaltet (d.h der
 +Online-Modus eingeschaltet), falls das Kommando am Terminal im Local-Modus
 +gegeben wurde. 
 + 
 +Der Echo-Modus wird mit dem Kommando 
 + 
 +                         #ib(1)#<ESC> D O#ie(1)#    (Hex 1B 44 4F) 
 + 
 +ausgeschaltet. Das Terminal befindet sich dann im Fullduplex Online-Modus.
 +Der Local-Modus wird auch hierbei verlassen. 
 + 
 +Der Local-Modus kann vom Host mit dem Kommando 
 + 
 +                         #ib(1)#<ESC> D L#ie(1)#    (Hex 1B 44 4C) 
 + 
 +eingeschaltet werden. Dabei ist zu beachten, daß der Host den Local-Modus
 +nicht ausschalten kann. Der Local-Modus kann vom Benutzer durch Drücken von
 +#ib(1)#<SHIFT CTRL HOME>#ie(1)# am Keyboard verlassen werden. 
 + 
 +Im Local-Modus werden Keyboardeingabe nicht mehr an den Host geschickt,
 +sondern auf dem Bildschirm angezeigt bzw. durch das Terminal interpretiert.
 +Funktionstastensequenzen werden auch nicht an den Host geschickt. Escape-
 +Sequenzen die allerdings Daten senden (z.B Download von Text und Graphik
 +oder die Abfrage der Cursorposition), werden wie im Online-Modus ausgeführt,
 +d.h. die Daten werden zum Host geschickt. 
 + 
 +#text end#
 +#clear pos# 
 +#free(7.643519)#
 + 
 + 
 + 51 
 +#page##--------------------------------- Ende der Seite 51 -----------#
 +#center##on("b")#Bedienungshandbuch zum ruc - Graphikterminal#off("b")# 
 + 
 + 
 + 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#clearpos#
 +#rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")#
 +#text begin# 
 +#type("8")##center##on("i")##on("u")##ib(3)#8.  Spezielle Kommandos im Textmodus#ie(3)##off("u")##off("i")##type("elite")# 
 + 
 + 
 +In diesem Kapitel werden weitere Kommandos, die im Textmodus wirksam sind
 +und thematisch nicht in die anderen Kapitel passen, beschrieben. 
 + 
 + 
 +#type("8")##center##ib(3)#8.1  Weitere Cursorpositionierungskommandos#ie(3)##type("elite")# 
 + 
 +Zusätzlich zu den im Graphikmodus und im Textmodus gültigen Cursorpositio-
 +nierungskommandos gibt es noch einige weitere. Die fünf Kommandos Zeile
 +löschen, Zeile einfügen, Zeichen löschen, Zeichen einfügen und Rückwärtsta-
 +bulator sind schon in Kapitel 5 beschrieben worden. 
 + 
 +Hier nur noch einmal die entsprechenden Kommandos: 
 + 
 +Funktion            Escape-Sequenz 
 +#rpos(16.2)##fillchar(" ")##table# 
 +#on("u")# #off("u")# 
 +#table end# 
 +Zeile einfügen      #ib(1)#<ESC> E#ie(1)#     oder #ib(1)#<ESC> L#ie(1)# 
 +Zeile löschen       #ib(1)#<ESC> R#ie(1)#     oder #ib(1)#<ESC> M#ie(1)# 
 +Zeichen einfügen    #ib(1)#<ESC> Q#ie(1)# 
 +Zeichen löschen     #ib(1)#<ESC> W#ie(1)# 
 +Rückwärtstabulator  #ib(1)#<ESC> I#ie(1)# 
 + 
 +Mit dem Kommando 
 + 
 +                         #ib(1)#<ESC> j#ie(1)#    (Hex 1B 6A) 
 + 
 +kann ein umgekehrter Zeilenvorschub erreicht werden. Steht der Cursor in
 +Zeile 2 bis Zeile 24, dann wirkt dieses Kommando wie <UP>. Steht der Cursor
 +in Zeile 1, dann wird der Bildschirminhalt nach unten gescrollt und die
 +erste Bildschirmzeile gelöscht. 
 + 
 +Mit dem Kommando 
 + 
 +                         #ib(1)#<ESC> =#ie(1)# <y+32> <x+32>    (Hex 1B 3D ...) 
 + 
 +kann der Cursor auf eine bestimmte Position auf dem Bildschirm gesetzt wer-
 +den. <x+32> und <y+32> sind dabei Byteparameter. <x+32> hat den Wertebe-
 +reich 32 (<SPACE>) bis 110 ("o"), <y+32> hat den Wertebereich 32 (<SPACE>)
 +bis 55 ("7"). <x+32> ist dabei die gewünschte x-Position + 32 (gezählt wird
 +von 0 bis 79), <y+32> ist die gewünschte y-Position + 32 (gezählt wird von 0
 +bis 23). Die Zuordnungen der ASCII-Zeichen zu den Cursorpositionen kann man
 +auch im Anhang A unter "Cursor" nachlesen. 
 + 
 +Dieser Befehl hat im Graphikmodus die gleiche Wirkung! 
 + 
 + 
 +#text end#
 +#clear pos# 
 +#free(1.716852)#
 + 
 + 
 +#right#52 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#page##--------------------------------- Ende der Seite 52 -----------#
 +#center##on("b")#8.  Spezielle Kommandos im Textmodus#off("b")# 
 + 
 + 
 + 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#clearpos#
 +#rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")#
 +#text begin# 
 +#type("8")##center##ib(3)#8.2  Cursormodus#ie(3)##type("elite")# 
 + 
 +Mit dem Kommando 
 + 
 +                         #ib(1)#<ESC> .#ie(1)# <n>    (Hex 1B 2E <n>) 
 + 
 +kann die Darstellung des Cursors verändert werden. Für <n> sind ASCII-Zei-
 +chen "0", "1" und "2" zugelassen. <n> hat folgende Bedeutung: 
 + 
 +#on("u")#<n>   Bedeutung                             #off("u")# 
 + 0    Cursor blinkt nicht und ist unsichtbar 
 + 1    Cursor blinkt und ist sichtbar 
 + 2    Cursor blinkt nicht und ist sichtbar 
 + 
 +Mit dem Kommando 
 + 
 +                         #ib(1)#<ESC> Z#ie(1)#    (Hex 1B 5A) 
 + 
 +kann der Zustand des Cursors von sichtbar auf unsichtbar und umgekehrt umge-
 +schaltet werden. 
 + 
 + 
 +#type("8")##center##ib(3)#8.3  Zeichensatz einstellen#ie(3)##type("elite")# 
 + 
 +Da die Zeichensätze von Basis und Apple unterschiedlich sind, muß hier bei
 +den Parametern unterschieden werden. Das Kommando zur Einstellung des Zei-
 +chensatzes lautet in beiden Fällen 
 + 
 +                         #ib(1)#<ESC> z#ie(1)# <n>    (Hex 1B 7A <n>) 
 + 
 +wobei <n> ein Byteparameter ist. Beim Apple hat <n> folgende Bedeutung: 
 + 
 +<n>   Zeichensatz 
 +#rpos(16.2)##fillchar(" ")##table# 
 +#on("u")# #off("u")# 
 +#table end# 
 + 1    Full Ascii: 128 Zeichen, ASCII, normale, inverse und blinkende Zei-
 + chen 
 + 4    Ascii: 128 Zeichen, ASCII, normale und blinkende Zeichen 
 + 
 +Beim Basis hat <n> folgende Bedeutung: 
 + 
 +<n>   Zeichensatz 
 +#rpos(16.2)##fillchar(" ")##table# 
 +#on("u")# #off("u")# 
 +#table end# 
 + 0 = Apple II: 64 Zeichen, ASCII, normale, inverse und blinkende Zeichen 
 + 1 = Full Ascii: 128 Zeichen, ASCII, normale, inverse und blinkende Zeichen 
 + 2 = Deutsch: 128 Zeichen, deutsch, normale und inverse Zeichen 
 + 4 = Ascii: 128 Zeichen, ASCII, normale und inverse Zeichen 
 + 6 = APL: 128 Zeichen, APL, normale und inverse Zeichen 
 + 
 +#text end#
 +#clear pos# 
 +#free(1.716852)#
 + 
 + 
 + 53 
 +#page##--------------------------------- Ende der Seite 53 -----------#
 +#center##on("b")#Bedienungshandbuch zum ruc - Graphikterminal#off("b")# 
 + 
 + 
 + 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#clearpos#
 +#rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")#
 +#text begin# 
 +     Und mit blinkenden statt inversen Zeichen: 
 + 8 = Apple II: 64 Zeichen, ASCII, normale, blinkende und inverse Zeichen (!) 
 + 9 = Full Ascii: 128 Zeichen, ASCII, normale, blinkende und inv. Zeichen (!) 
 +10 = Deutsch: 128 Zeichen, deutsch, normale und blinkende Zeichen 
 +12 = Ascii: 128 zeichen, ASCII, normale und blinkende Zeichen 
 +14 = APL: 128 Zeichen, APL, normale und blinkende Zeichen 
 + 
 +Einige ausgewählte Zeichensätze können auch in der Kommandozeile eingestellt
 +werden. 
 + 
 + 
 +#type("8")##center##ib(3)#8.4  Texthardcopy#ie(3)##type("elite")# 
 + 
 +Einen Ausdruck des Textbildschirminhaltes auf dem Drucker kann man mit dem
 +Kommando 
 + 
 +                         #ib(1)#<ESC> P#ie(1)#   (Hex 1B 50) 
 + 
 +erreichen. Der auf dem Drucker eingestellte Schrifttyp wird nicht verän-
 +dert. Es werden 24 Zeilen gedruckt, die Statuszeile wird nicht gedruckt,
 +sondern die "darunterliegende" 24. Textzeile. Nach jeder Zeile wird <CR> und
 +<LF> gedruckt, der Drucker sollte deshalb kein Autolinefeed bei <CR> durch-
 +führen. 
 + 
 +Inverse Bildschirmzeichen (80..FF) werden durch Doppeldruck (dunkler) her-
 +vorgehoben, Controlcharacter (00..1F und 80..9F) werden unterstrichen dar-
 +gestellt, das Punktraster (7F und FF) wird als unterstrichenes # darge-
 +stellt. 
 + 
 + 
 +#type("8")##center##ib(3)#8.5  Zeichen-Attribute#ie(3)##type("elite")# 
 + 
 +Die Zeichenattribute werden mit dem Kommando 
 + 
 +                         #ib(1)#<ESC> G#ie(1)# <n>    (Hex 1B 47 <n>) 
 + 
 +eingestellt. <n> ist ein Byteparameter, der folgende Werte annehmen kann: 
 + 
 +#on("u")#<n>   Attribute                                                      #off("u")# 
 + 0    Sichtbare, normale Zeichen 
 + 1    Unsichtbare Zeichen, es werden Leerzeichen dargestellt 
 + 4    Sichtbare, inverse Zeichen 
 + 5    Unsichtbare Zeichen, es werden inverse Leerzeichen dargestellt. 
 + 
 +Mit dem Kommando 
 + 
 +                         #ib(1)#<ESC> (#ie(1)#    (Hex 1B 28) 
 + 
 +kann auf normale Darstellung umgeschaltet werden (wirkt ähnlich <ESC> G 0,
 +schaltet aber nicht auf sichtbare Darstellung, falls unsichtbar). 
 + 
 +#text end#
 +#clear pos# 
 +#free(04.468519e-1)#
 + 
 + 
 +#right#54 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#page##--------------------------------- Ende der Seite 54 -----------#
 +#center##on("b")#8.  Spezielle Kommandos im Textmodus#off("b")# 
 + 
 + 
 + 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#clearpos#
 +#rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")#
 +#text begin# 
 +Mit dem Kommando 
 + 
 +                         #ib(1)#<ESC> )#ie(1)#    (Hex 1B 29) 
 + 
 +kann auf inverse Darstellung umgeschaltet werden (wirkt ähnlich <ESC> G 4,
 +schaltet aber nicht auf sichtbare Darstellung, falls unsichtbar). 
 + 
 + 
 +#type("8")##center##ib(3)#8.6  Bildhintergrund hell/dunkel#ie(3)##type("elite")# 
 + 
 +Die Bildschirmdarstellung kann von heller Schrift auf dunklem Grund (be-
 +züglich eines gelöschten Bildschirms) umgeschaltet werden auf dunkle Schrift
 +auf hellem Grund. Die Darstellung "schwarz auf weiß" ist auf einigen Monito-
 +ren augenfreundlicher. 
 + 
 +Mit dem Kommando 
 + 
 +                         #ib(1)#<ESC> b#ie(1)#    (Hex 1B 62) 
 + 
 +kann die dunkle Schrift auf weißem Grund eingeschaltet werden. Die Darstel-
 +lung von inverser und normaler Schrift wird vertauscht. 
 + 
 +Mit dem Kommando 
 + 
 +                         #ib(1)#<ESC> d#ie(1)#    (Hex 1B 64) 
 + 
 +kann helle Schrift auf dunklem Grund eingeschaltet werden. 
 + 
 + 
 +#type("8")##center##ib(3)#8.7  Zeichentransfer zum Host#ie(3)##type("elite")# 
 + 
 +Der Host kann Teile oder den ganzen Bildschirm vom Terminal lesen. Alle
 +Zeichen werden als Bytes gesendet, bei denen ein gesetztes Bit 7 Invers-
 +schrift anzeigt. 
 + 
 + 
 +#type("8")##center##ib(3)#8.7.1  Ein Zeichen senden#ie(3)##type("elite")# 
 + 
 +Mit dem Kommando 
 + 
 +                         #ib(1)#<ESC> 8#ie(1)#    (Hex 1B 38) 
 + 
 +wird nur das Zeichen an der Cursorposition gesendet. Die Cursorposition
 +ändert sich nicht. Der Cursor muß nicht sichtbar sein. 
 + 
 + 
 +#text end#
 +#clear pos# 
 +#free(2.563519)#
 + 
 + 
 + 55 
 +#page##--------------------------------- Ende der Seite 55 -----------#
 +#center##on("b")#Bedienungshandbuch zum ruc - Graphikterminal#off("b")# 
 + 
 + 
 + 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#clearpos#
 +#rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")#
 +#text begin# 
 +#type("8")##center##ib(3)#8.7.2  Eine Zeile senden#ie(3)##type("elite")# 
 + 
 +Mit dem Kommando 
 + 
 +                         #ib(1)#<ESC> 6#ie(1)#    (Hex 1B 36) 
 + 
 +wird die Zeile, in der der Cursor steht (genauer: die Zeile der Cursorrow,
 +falls der Cursor unsichtbar ist) an den Host gesendet. Falls der Cursor in
 +Zeile 24 steht, wird nicht die Stauszeile, sondern die 24. Textzeile gesen-
 +det. Im Anschluß an die Zeile werden eventuell ein oder zwei eingestellte
 +Zeilenbegrenzer gesendet (Lineterminator). Die Programmierung der Begrenzer
 +ist in Abschnitt 8.7.4 beschrieben. Es werden also 80 bis 82 Zeichen gesen-
 +det. Die Cursorposition ändert sich durch das Kommando nicht. 
 + 
 + 
 +#type("8")##center##ib(3)#8.7.3  Eine Seite senden#ie(3)##type("elite")# 
 + 
 +Mit dem Kommando 
 + 
 +                         #ib(1)#<ESC> 7#ie(1)#    (Hex 1B 37) 
 + 
 +wird die gesamte Bildschirmseite an den Host gesendet. Im Anschluß an jede
 +Zeile werden (falls eingestellt) Zeilenbegrenzer gesendet. Im Anschluß an
 +die gesamte Seite wird ein (eingestellter) Seitenbegrenzer (Pageterminator)
 +gesendet. Es werden also je nach Zeilen- und Seitenbegrenzer 1920 bis 1969
 +Zeichen gesendet. Die Statuszeile wird nicht gesendet, sondern die "darun-
 +terliegende" 24. Textzeile. Die Programmierung der Zeilen- und Seitenbe-
 +grenzer ist in Abschnitt 8.7.4 beschrieben. Die Cursorposition ändert sich
 +durch dieses Kommando nicht. 
 + 
 + 
 +#type("8")##center##ib(3)#8.7.4  Terminatorzeichen definieren#ie(3)##type("elite")# 
 + 
 +Mit dem Kommando 
 + 
 +                         #ib(1)#<ESC> x 1#ie(1)# <l1> <l2>    (Hex 1B 78 31 <l1><l2>) 
 + 
 +können die Zeilenbegrenzer der Sendekommandos festgelegt werden. <l1> und
 +<l2> sind dabei Byteparameter, die den Wertebereich 0 bis 255 überstrei-
 +chen. Ist ein Parameter Hex 00, dann wird dieses Zeichen nicht gesendet.
 +Wenn man also das Kommando (Hex) 1B 78 31 00 00 sendet, wird kein Begren-
 +zerzeichen nach der Zeile gesendet. 
 +Voreingestellt ist ein Begrenzerzeichen; und zwar US (Hex 1F). 
 + 
 +Mit dem Kommando 
 + 
 +                         #ib(1)#<ESC> x 4#ie(1)# <p>    (Hex 1B 78 34 <p>) 
 + 
 +kann der Seitenbegrenzer des Kommandos #ib(1)#<ESC> 7#ie(1)# festgelegt werden. <p> ist
 +ein Byteparameter, der den Wertebereich von 0 bis 255 überstreicht. Ist <p>
 +Hex 00, dann wird kein Seitenbegrenzer gesendet. 
 +Voreingestellt ist <p> = <CR> (Hex 0D). 
 +#text end#
 +#clear pos# 
 +#free(02.351852e-2)#
 + 
 + 
 +#right#56 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#page##--------------------------------- Ende der Seite 56 -----------#
 +#center##on("b")#8.  Spezielle Kommandos im Textmodus#off("b")# 
 + 
 + 
 + 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#clearpos#
 +#rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")#
 +#text begin# 
 +#type("8")##center##ib(3)#8.7.5  Cursorposition senden#ie(3)##type("elite")# 
 + 
 +Mit dem Kommando 
 + 
 +                         #ib(1)#<ESC> ?#ie(1)#    (Hex 1B 3F) 
 + 
 +kann der Host die Position des Textcursors abfragen. Es wird eine Folge von
 +3 Bytes gesendet: <y+32> <x+32> <CR> 
 + 
 +<y+32> ist die y-Position + 32, <x+32> die x-Position + 32. Beide Parameter
 +können für den Befehl #ib(1)#<ESC> =#ie(1)# <y+32> <x+32> verwendet werden, da Sie den
 +gleichen Wertebereich überstreichen. 
 + 
 + 
 +#type("8")##center##ib(3)#8.8  Textseite auf Diskette speichern/laden#ie(3)##type("elite")# 
 + 
 +Genau wie Graphikseiten kann auch die Textseite auf Diskette geschrieben und
 +zu einem späteren Zeitpunkt wieder zurückgeladen werden. Bei der Textseite
 +wird außerdem noch die aktuelle Cursorposition geladen/geschrieben. Man kann
 +sich zum Beispiel eine Datei Seitenweise auf dem Bildschirm anzeigen lassen
 +und diese Seiten auf Diskette abspeichern. Später kann man die Datei Offline
 +(im Localmodus) Seitenweise ansehen. 
 + 
 +Bis zu 8 Textseite lassen sich auf Diskette speichern und wieder abrufen.
 +Die "Fächer" für die Textseiten sind unabhängig von denen für die Graphik-
 +seiten. 
 +Die Seiten werden unabhängig von REVVID (Schwarz auf Weiß) immer NORVID
 +(also Weiß auf Schwarz) abgespeichert. Beim Laden der Seite wird sie je nach
 +REVVID/NORVID dargestellt. 
 + 
 +Das Kommando für diese Operationen lautet 
 + 
 +                         #ib(1)#<ESC> S#ie(1)# <n>    (Hex 1B 53 <n>). 
 + 
 +<n> ist ein Byteparameter mit dem Wertebereich 0 bis 31, wobei die Bits
 +folgendermaßen belegt sind: 
 +Bit 0..2 : "Fachnummer" der Textseite auf der Diskette (0 bis 7) 
 +Bit 3    : Bei Textseiten immer 0 (Bei Graphikseiten immer 1) 
 +Bit 4    : 0 heißt: die Textseite wird von der Diskette gelesen, 
 +           1 heißt: die Textseite wird auf die Diskette geschrieben. 
 + 
 +Wird die Textseite auf die Diskette geschrieben, dann wird eine eventuell
 +schon in diesem "Fach" vorhandene Textseite überschrieben. 
 + 
 +Für Insider: Jede Textseite belegt einen halben Track (2k). Die 8 Textseiten
 +             befindenden auf den Tracks 6 bis 9 in aufsteigender Reihenfol-
 +             ge. 
 + 
 + 
 +#text end#
 +#clear pos# 
 +#free(1.293519)#
 + 
 + 
 + 57 
 +#page##--------------------------------- Ende der Seite 57 -----------#
 +#center##on("b")#Bedienungshandbuch zum ruc - Graphikterminal#off("b")# 
 + 
 + 
 + 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#clearpos#
 +#rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")#
 +#text begin# 
 +#type("8")##center##on("i")##on("u")##ib(3)#9.  Verschiedene Steuerkommandos#ie(3)##off("u")##off("i")##type("elite")# 
 + 
 + 
 +#type("8")##center##ib(3)#9.1  Signalton#ie(3)##type("elite")# 
 + 
 +Mit 
 +                         #ib(1)#<CTRL G>#ie(1)#   (Hex 07) 
 + 
 +wird ein kurzer Signalton ausgegeben. Ein Warnton des Terminals ist schär-
 +fer (heller). 
 + 
 + 
 +#type("8")##center##ib(3)#9.2  Keyboardclick#ie(3)##type("elite")# 
 + 
 +Der Tastaturclick wird für fast alle Tasten erzeugt. Ausnahmen sind die
 +<SHIFT> und die <CTRL> Tasten, sowie beim Apple die Apfeltasten. Der Tasta-
 +turclick kann in der ersten Kommandozeile abgeschaltet werden (CLK OFF) oder
 +mit dem Kommando 
 + 
 +                         #ib(1)#<ESC> <#ie(1)#    (Hex 1B 3C) 
 + 
 +vom Host. Mit dem Kommando 
 + 
 +                         #ib(1)#<ESC> >#ie(1)#    (Hex 1B 3E) 
 + 
 +kann der Keyboardclick wieder eingeschaltet werden. 
 + 
 + 
 +#type("8")##center##ib(3)#9.3  Bildschirmausgabe/Druckerausgabe#ie(3)##type("elite")# 
 + 
 +Die Bildschirmausgabe, die ja normalerweise eingeschaltet ist, kann in der
 +Kommandozeile abgeschaltet werden (SCRNOFF) oder vom Host mit dem Kommando 
 + 
 +                         #ib(1)#<ESC> `#ie(1)#    (Hex 1B 60) 
 + 
 +abgeschaltet werden. Bis auf das Kommando 
 + 
 +                         #ib(1)#<ESC> a#ie(1)#    (Hex 1B 61) 
 + 
 +werden keine Escape-Squenzen oder Control-Codes interpretiert. Mit <ESC> a
 +wird die Bildschirmausgabe wieder zugelassen. 
 + 
 +Die Druckerausgabe kann mit dem Kommando 
 + 
 +                         #ib(1)#<ESC> @#ie(1)#    (Hex 1B 40) 
 + 
 +eingeschaltet werden. Man kann dann Texte parallel auf Drucker und Bild-
 +schirm ausgeben. In der ersten Kommandozeile kann die Druckerausgabe auch
 +ein- und ausgeschaltet werden. 
 +#text end#
 +#clear pos# 
 +#free(1.293519)#
 + 
 + 
 +#right#58 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#page##--------------------------------- Ende der Seite 58 -----------#
 +#center##on("b")#9.  Verschiedene Steuerkommandos#off("b")# 
 + 
 + 
 + 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#clearpos#
 +#rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")#
 +#text begin# 
 +Man kann zum Beispiel den Schrifttyp des Druckers im Local-Modus umschal-
 +ten, wenn man in der Kommandozeile die Druckerausgabe (PRT ON) einschaltet.
 +Dazu kann man sich auch eine Funktionstaste belegen, die Bildschirmausgabe
 +abschaltet, Druckerausgabe einschaltet, den Schrifttyp umschaltet, Drucker-
 +ausgabe wieder ausschaltet und Bildschirmausgabe wieder einschaltet. 
 + 
 +Abgeschaltet wird die Druckerausgabe mit dem Kommando 
 + 
 +                         #ib(1)#<ESC> A#ie(1)#    (Hex 1B 41) 
 + 
 + 
 +#type("8")##center##ib(3)#9.4  Scroll/Page-Modus#ie(3)##type("elite")# 
 + 
 +Steht der Cursor in der letzten Zeile und soll er in die nächst tiefere
 +gebracht werden (<DOWN>, <TAB>, <NEWLINE> etc.), dann gibt es entweder die
 +Möglichkeit, daß der Bildschirm nach oben gescrollt wird, d.h. die 1. Zeile
 +verschwindet und die 24. Zeile wird gelöscht, oder daß der Cursor in der
 +ersten Bildschirmzeile wieder auftaucht, ohne daß der Bildschirminhalt ver-
 +ändert wird. Die erste Möglichkeit heißt SCROLL-Modus, die zweite PAGE-
 +Modus. Die Umschaltung kann entweder in der ersten Kommandozeile erfolgen
 +oder mit dem Kommando 
 + 
 +                         #ib(1)#<ESC> H#ie(1)#    (Hex 1B 48). 
 + 
 +In der Kommandozeile hat man die Informationsmöglichkeit, welcher Modus
 +gerade aktiv ist. 
 + 
 + 
 +#type("8")##center##ib(3)#9.5  Belegung der Funktionstasten#ie(3)##type("elite")# 
 + 
 +Eine nützliche Angelegenheit sind die programmierbaren Funktionstasten. Die
 +Codes der Funktionstasten sind unter anderem in Anhang A zu finden. Funk-
 +tionstasten können im Local-Modus aufgerufen werden, zum Beispiel für häu-
 +fig gebrauchte Terminalkommandos oder längere Kommandosequenzen (Graphikmo-
 +dus). Im Online-Modus kann man z.B. Betriebssystemkommandos auf Funktion-
 +stasten legen. 
 + 
 +Die Länge der Zeichen auf allen Funktionstasten darf zusammen nicht 4095
 +Zeichen überschreiten. Ein akustisches Warnsignal ertönt, wenn die Funk-
 +tionstastentabelle voll ist. Soll die Funktionstastendefinition auch noch
 +nach dem Abschalten des Terminals erhalten bleiben, dann muß in der Komman-
 +dozeile <SHIFT S> gegeben werden, damit der Setup samt Funktionstastende-
 +finitionen auf die Diskette geschrieben wird. 
 + 
 +#text end#
 +#clear pos# 
 +#free(3.410185)#
 + 
 + 
 + 59 
 +#page##--------------------------------- Ende der Seite 59 -----------#
 +#center##on("b")#Bedienungshandbuch zum ruc - Graphikterminal#off("b")# 
 + 
 + 
 + 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#clearpos#
 +#rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")#
 +#text begin# 
 +Mit dem Kommando 
 + 
 +                         #ib(1)#<ESC> e#ie(1)# <d...> <t>    (Hex 1B 65 <d...><t>) 
 + 
 +wird eine Taste belegt. <d...> und <t> sind Byteparameter. <d...> ist eine
 +Folge von Datenbytes, deren Bit 7 = 0 sein muß. <t> ist der Code der Funk-
 +tionstaste (Bit 7 = 1), auf die die Sequenz gelegt werden soll. Durch diese
 +Einschränkung sind keine rekursiven (sich selbst aufrufenden) Tastenkomman-
 +dos möglich, man kann allerdings z.B. auch nicht alle binären Parameter auf
 +Tasten legen (Man sollte dezimale Parameter benutzen). Die Cursortasten etc.
 +können nicht belegt werden. 
 +Um die Original-Tastencodes wieder zu benutzen, gibt es drei Möglichkeiten: 
 + 
 +- Die Tabelle der Tastendefinitionen wird ganz gelöscht (Abschnitt 9.6). 
 +- Die Definition auf einzelnen Tasten wird durch <ESC> e <t> gelöscht. <t>
 +  ist dabei der Code einer zu löschenden Taste. 
 +- In der ersten Kommandozeile wird F CODE eingeschaltet oder das Kommando 
 + 
 +                         #ib(1)#<ESC> c#ie(1)#    (Hex 1B 63) 
 + 
 +  gegeben. Dieses Kommando schaltet um, ob immer Tastencodes (A1..EF) oder,
 +  bei belegten Tasten, die programmierte Sequenz geliefert werden soll. Im
 +  Graphikmodus möchte man eventuell die griechischen Sonderzeichen auf den
 +  Funktionstasten benutzen (F CODE) und nicht die programmierten Tasten-
 +  strings (F STRG). 
 + 
 + 
 +#type("8")##center##ib(3)#9.5.1  Local-Escape#ie(3)##type("elite")# 
 + 
 +Um Funktionstasten mit Terminalkommandos auch im Online-Modus benutzen zu
 +können (zum Beispiel ein Bildschirm Hardcopy) wird ein spezielles ESC-Zei-
 +chen statt <ESC> (Hex 1B) verwendet. 
 +Das Zeichen 
 + 
 +                         #ib(1)#<LOCESC>#ie(1)#    (Hex 9B) 
 + 
 +teilt dem Terminal mit, daß die nun folgende Escape-Sequenz nicht an den
 +Host gesendet wird (was bei <ESC> der Fall wäre), sondern vom Terminal in-
 +terpretiert werden muß. 
 +Im Local-Modus wirkt ein <LOCESC> wie ein normales <ESC>, d.h. das Kommando
 +wird sowieso vom Terminal interpretiert. 
 + 
 + 
 +#type("8")##center##ib(3)#9.5.2  Makrokommandos#ie(3)##type("elite")# 
 + 
 +Ein Makrokommando hat (mindestens) drei Aufgaben: 
 +- Der Host kann dem Terminal neue ESC-Sequenzen (mit Parametern) definieren,
 +  z.B. um andere Terminals zu emulieren. 
 +- Nicht nur das Terminal kann Funktionstasten aufrufen, sondern auch der
 +  Host, wenn die Funkionstaste als Makro aufgerufen wird. 
 +- Der Datentransfer vom Host zum Terminal kann durch Makros als Abkürzungen
 +  häufig benutzter Zeichenfolgen beschleunigt werden. 
 +#text end#
 +#clear pos# 
 +#free(02.351852e-2)#
 + 
 + 
 +#right#60 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#page##--------------------------------- Ende der Seite 60 -----------#
 +#center##on("b")#9.  Verschiedene Steuerkommandos#off("b")# 
 + 
 + 
 + 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#clearpos#
 +#rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")#
 +#text begin# 
 +Ein Makro wird wie eine Funktionstaste mit dem Kommando 
 + 
 + 
 +                         #ib(1)#<ESC> e#ie(1)# <d...> <t>    (Hex 1B 65 <d...><t>) 
 + 
 +definiert. <d...> und <t> sind Byteparameter. <d...> ist eine Folge von
 +Datenbytes, deren Bit 7 = 0 sein muß. <t> ist der Code der Funktionstaste
 +(Bit 7 = 1) oder mit anderen Worten der Makroname. 
 +Es sind alle Codes für <t> zugelassen, die auch bei der Funktionstastende-
 +finition zugelassen sind. 
 + 
 +Ein Makro kann sowohl vom Terminal (auch im F CODE-Modus) als auch vom Host
 +mit 
 + 
 +                         #ib(1)#<ESC> <Macrocode>#ie(1)#    (Hex 1B <Makrocode>) 
 + 
 +aufgerufen werden. Dem Terminal wird die Zeichensequenz des Makros so vorge-
 +setzt, als käme sie von der Tastatur im Local-Modus. Wird das Makro also
 +bereits im Local-Modus aufgerufen, hat das immer noch den Vorteil, daß man
 +im F CODE-Modus weiterhin programmierte Funktionstasten benutzen kann. 
 +Anmerkung: Wird das <ESC> vor dem <Makrocode> weggelassen, dann wird der
 +           Code <Makrocode> ohne Makroausführung an das Terminal gesendet
 +           und i.d.R. als inverses Zeichen dargestellt. 
 + 
 +Sollen Byteparameter in die Zeichensequenz des Makros übernommen werden, die
 +zur Zeit der Makrodefinition noch nicht feststehen, dann kann man einen
 +Platzhalter mit dem Code Hex 81 an der Stelle einsetzen. Der Code Hex 81
 +kann auf der Tastatur durch <SHIFT DELETE> erzeugt werden. 
 +Wird bei der Makroausführung ein solcher Code gefunden, wartet das Terminal
 +auf ein Byte von Tastatur, wenn das Makro im Local-Modus aufgerufen wurde,
 +oder vom Host, wenn das Makro vom Host aufgerufen wurde. Es dürfen beliebig
 +viele Codes 81 in der Makrozeichensequenz vorhanden sein. Jeder Code wird
 +durch ein weiteres Zeichen von Host oder Tastatur ersetzt. 
 + 
 + 
 +#type("8")##center##ib(3)#9.5.3  Startup-Makro#ie(3)##type("elite")# 
 + 
 +Ein besonderes Makro hat den Code Hex EF. Dieser Code kann auf der Tastatur
 +durch <SHIFT BOTTOMRIGHT> (beim Apple <OA RIGHT>) erzeugt werden. 
 + 
 +Dieses Makro wird bei einem RESET des Terminals (Hardwarereset oder <ESC> 0)
 +oder beim Einschalten des Terminals aufgerufen. Der Bildschirm und die Gra-
 +phikseiten werden vorher gelöscht. 
 +
 +
 +#text end#
 +#clear pos# 
 +#free(2.986852)#
 + 
 + 
 + 61 
 +#page##--------------------------------- Ende der Seite 61 -----------#
 +#center##on("b")#Bedienungshandbuch zum ruc - Graphikterminal#off("b")# 
 + 
 + 
 + 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#clearpos#
 +#rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")#
 +#text begin#
 +#type("8")##center##ib(3)#9.6  Tabellen und Puffer löschen#ie(3)##type("elite")# 
 + 
 +Das Terminal enthält den Empfangspuffer, den Sendepuffer, den Druckerspoo-
 +ler und die Tabelle der Tastendefinitionen. Um einen der Puffer oder die
 +Tabelle zu löschen, kann das Kommando 
 + 
 +                         #ib(1)#<ESC> <DEL>#ie(1)# <n>    (Hex 1B 7F <n>) 
 + 
 +verwendet werden. <n> ist ein Byteparameter mit dem Wertebereich 0 bis 15
 +und hat folgende Bedeutung: 
 + 
 +#on("u")#<n>    Gelöschte Tabelle oder Puffer#off("u")# 
 + 0     Keine 
 + 1     Tastendefinitionen 
 + 2     Druckerspooler 
 + 3     Empfangspuffer 
 + 4     Sendepuffer 
 + 
 +Zu beachten ist, daß zwar der Sendepuffer gelöscht wird, aber eine eventu-
 +ell gestoppte Übertragung (TX OFF) nicht wider gestartet wird. 
 + 
 + 
 +#type("8")##center##ib(3)#9.7  Zeitverzögerung#ie(3)##type("elite")# 
 + 
 +Mit dem Kommando 
 + 
 +                         #ib(1)#<ESC> 9#ie(1)# <n>    (Hex 1B 39 <n>) 
 + 
 +kann eine Zeitverzögerung aufgerufen werden. Man kann zum Beispiel ein Fa-
 +denkreuz darstellen, die Zeitverzögerung aufrufen und das Fadenkreuz wieder
 +löschen. <n> ist ein Byteparameter mit dem Wertebereich von 0 bis 255. Die
 +Verzögerung beträgt ca. <n> * 2 ms. 
 + 
 + 
 +#type("8")##center##ib(3)#9.8  Transparentmodi#ie(3)##type("elite")# 
 + 
 +Der Monitor- und der Hexadezimalmodus sind zum Test von unbekannten Emp-
 +fangsdaten oder zum Analysieren der Steuerzeichenausgabe von unbekannten
 +Programmen gedacht. 
 + 
 + 
 +#type("8")##center##ib(3)#9.8.1  Monitor-Modus#ie(3)##type("elite")# 
 + 
 +Im Monitor-Modus werden druckbare Zeichen wie normal dargestellt. Control-
 +zeichen (Hex 00..1F und 80..9F) werden invertiert dargestellt. Im APL-Zei-
 +chensatz kann man diese inversen Controlzeichen von den Zeichen mit Code Hex
 +A0..FF unterscheiden, die auch invers dargestellt werden. 
 +Der Monitormode kann in der ersten Kommandozeile ein- und ausgeschaltet
 +werden. Mit dem Kommando 
 + 
 +                         #ib(1)#<ESC> U#ie(1)#    (Hex 1B 55) 
 + 
 +#text end#
 +#clear pos# 
 +#free(02.351852e-2)#
 + 
 + 
 +#right#62 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#page##--------------------------------- Ende der Seite 62 -----------#
 +#center##on("b")#9.  Verschiedene Steuerkommandos#off("b")# 
 + 
 + 
 + 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#clearpos#
 +#rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")##rpos(16.2)##fillchar(" ")#
 +#text begin# 
 +kann der Monitormode eingeschaltet werden. Alle Zeichen werden ohne Inter-
 +pretation ausgegeben, Ausnahmen sind 
 + 
 +                         #ib(1)#<ESC> u#ie(1)#    (Hex 1B 75) 
 + 
 +und 
 + 
 +                         #ib(1)#<ESC> X#ie(1)#    (Hex 1B 58) 
 + 
 +die den Monitormodus ausschalten. 
 + 
 + 
 +#type("8")##center##ib(3)#9.8.2  Hexadezimal-Modus#ie(3)##type("elite")# 
 + 
 +In diesem Modus werden nicht die Zeichen auf dem Bildschirm gedruckt, son-
 +dern ihr ASCII-Code in hexadezimaler Schreibweise mit zwei nachfolgenden
 +Blanks. Der Hexmode kann mit dem Kommando 
 + 
 +                         #ib(1)#<ESC> u#ie(1)#    (Hex 1B 75) 
 + 
 +ein- und ausgeschaltet werden. Alle Zeichen werden ohne Interpretation aus-
 +gegeben, außer #ib(1)#<ESC> u#ie(1)# und 
 + 
 +                         #ib(1)#<ESC> X#ie(1)#    (Hex 1B 58), 
 + 
 +die den Hexmodus wieder ausschalten. Auch der Hexmode kann in der ersten
 +Kommandozeile ein- und ausgeschaltet werden. 
 + 
 + 
 +#type("8")##center##ib(3)#9.8.3  Einzelne Control-Zeichen anzeigen#ie(3)##type("elite")# 
 + 
 +Um nur einzelne Controlzeichen auf dem Bildschirm darzustellen, z.B. für den
 +unteren Teil des APL-Zeichensatzes (Codes 0 bis 31 oder 128 bis 159), gibt
 +es das Kommando 
 + 
 +                         #ib(1)#<ESC> F#ie(1)# <z>    (Hex 1B 46 <z>). 
 + 
 +<z> ist dabei ein Byteparameter mit dem Wertebereich 0 bis 255, vorzugswei-
 +se 0 bis 31. <z> wir mit invertiertem Bit 7 (normal/invers) in den Bild-
 +schirmspeicher an der aktuellen Cursorposition geschrieben. 
 +#text end#
 +#clear pos# 
 +#free(5.103519)#
 + 
 + 
 + 63 
 +#page##--------------------------------- Ende der Seite 63 -----------#
 diff --git a/system/ruc-terminal/unknown/doc/TINHALT.PRT b/system/ruc-terminal/unknown/doc/TINHALT.PRT new file mode 100644 index 0000000..e8e7435 --- /dev/null +++ b/system/ruc-terminal/unknown/doc/TINHALT.PRT @@ -0,0 +1,120 @@ +#type ("elite")##limit (16.2)# 
 +#kopf ("Bedienungshandbuch zum ruc - Graphikterminal")# 
 +#h("", "Inhalt  ")# 
 + 
 +1.  Einige Worte zuvor ...........................  1 
 +2.  Die Hardware .................................  2 
 +2.1  Die serielle Schnittstelle ..................  2 
 +2.2  Der Reset ...................................  2 
 +3.  Die Kommandozeile ............................  3 
 +3.1  Tastenfunktionen in der Kommandozeile .......  3 
 +3.2  Setup .......................................  4 
 +3.3  Die zweite Kommandozeile ....................  4 
 +3.4  Die zweite Kommandozeile ....................  6 
 +4.  Die Statuszeile ..............................  8 
 +4.1  Spoolerstatus ...............................  8 
 +4.2  Empfängerstatus .............................  8 
 +4.3  Senderstatus ................................  9 
 +4.4  Busy - Anzeige ..............................  9 
 +4.5  Online/Local - Anzeige ......................  9 
 +5.  Die Bedeutung der Tasten .....................  10 
 +5.1  Die Funktions- und Steuertasten .............  10 
 +5.2  Die TVI-Emulation ...........................  13 
 +6.  Der Graphikmodus .............................  16 
 +6.1  Allgemeines .................................  16 
 +6.2  Koordinaten und Parameterübergabe ...........  16 
 +6.2.1  Cursorposition/Fadenkreuz .................  16 
 +6.2.2  Binäre oder dezimale Parameter ............  17 
 +6.2.2.1  Binäre Parameter ........................  17 
 +6.2.2.2  Dezimale Parameter ......................  17 
 +6.2.3  Absolute oder relative Koordinaten ........  18 
 +6.2.4  Byteparameter .............................  18 
 +6.3  Die Graphikparameter ........................  19 
 +6.3.1  Strichdicke ...............................  19 
 +6.3.2  Farbe/Helligkeit ..........................  19 
 +6.3.3  Linientyp .................................  20 
 +6.3.3.1  Selbstdefinierte Linientypen (Pattern) ..  20 
 +6.3.4  Bitverknüpfungen ..........................  21 
 +6.3.5  Multiparametereinstellung .................  22 
 +6.4  Graphikseiten ...............................  22 
 +6.4.1  Die sichtbare Seite und die Arbeitsseite ..  22 
 +6.4.1.1  80-Zeichen Text und Graphik .............  23 
 +6.4.2  Aufbau einer Graphikseite .................  23 
 +6.4.3  Operationen auf den Graphikseiten .........  24 
 +6.4.4  Laden einer Graphikseite vom Host .........  25 
 +6.4.5  Graphik auf Diskette speichern/laden ......  26 
 +6.5  Textdarstellung im Graphikmodus .............  26 
 +6.5.1  Zeichendarstellung ........................  27 
 +6.5.1.1  Zeichengröße und Schreibrichtung ........  27 
 +6.5.1.2  Dicke, Farbe etc. .......................  28 
 +6.5.1.3  Zeichensätze und Attribute ..............  28 
 +6.5.1.4  Zeichen überschreiben ...................  29 
 +6.5.2  Textkommandos im Graphikmodus .............  30 
 +6.5.2.1  Die Cursorpositionierung ................  30 
 +6.5.2.2  Löschbefehle ............................  33 
 +6.6  Die Graphikkommandos ........................  33 
 +6.6.1  Draw's und Move's .........................  33 
 +6.6.1.1  Punkt setzen ............................  34 
 +6.6.1.2  Move-Befehle ............................  34 
 +6.6.1.3  Draw-Befehle ............................  35 
 +6.6.1.4  Turtle-Graphik ..........................  35 
 +6.6.2  Komplexere Zeichenkommandos ...............  36 
 +6.6.2.1  Kreise und Kreissegmente ................  36 
 +6.6.2.2  Rechtecke ...............................  37 
 +6.6.2.3  Bögen und Ellipsen ......................  38 
 +6.6.2.4  Gefüllte Flächen ........................  39 
 +6.6.2.4.1  Definition des Musters ................  40 
 +6.7  Graphikdaten zum Host .......................  40 
 +6.7.1  Graphikseiten zum Host ....................  40 
 +6.7.2  Cursorposition zum Host ...................  41 
 +6.7.3  Einzelne Bits zum Host ....................  41 
 +6.7.4  Parameter zum Host ........................  42 
 +6.8  Graphikhardcopy .............................  43 
 +6.8.1  Der Druckertreiber ........................  43 
 +6.8.2  Die Hardcopyparameter .....................  44 
 +7.  Die Parameter der seriellen Schnittstelle ....  46 
 +7.1  Das Übertragungsformat ......................  46 
 +7.2  Die Übertragungsparameter ...................  46 
 +7.2.1  Baudrate ..................................  47 
 +7.2.2  Datenbits .................................  47 
 +7.2.3  Stopbits ..................................  48 
 +7.2.4  Paritätsbit ...............................  48 
 +7.2.5  Übertragungsfehler ........................  48 
 +7.3  Die Flußkontrolle ...........................  48 
 +7.3.1  XON/XOFF ..................................  49 
 +7.3.2  DTR/DSR ...................................  50 
 +7.3.3  RTS/CTS ...................................  50 
 +7.4  Echo und Local/Online .......................  51 
 +8.  Spezielle Kommandos im Textmodus .............  52 
 +8.1  Weitere Cursorpositionierungskommandos ......  52 
 +8.2  Cursormodus .................................  53 
 +8.3  Zeichensatz einstellen ......................  53 
 +8.4  Texthardcopy ................................  54 
 +8.5  Zeichen-Attribute ...........................  54 
 +8.6  Bildhintergrund hell/dunkel .................  55 
 +8.7  Zeichentransfer zum Host ....................  55 
 +8.7.1  Ein Zeichen senden ........................  55 
 +8.7.2  Eine Zeile senden .........................  56 
 +8.7.3  Eine Seite senden .........................  56 
 +8.7.4  Terminatorzeichen definieren ..............  56 
 +8.7.5  Cursorposition senden .....................  57 
 +8.8  Textseite auf Diskette speichern/laden ......  57 
 +9.  Verschiedene Steuerkommandos .................  58 
 +9.1  Signalton ...................................  58 
 +9.2  Keyboardclick ...............................  58 
 +9.3  Bildschirmausgabe/Druckerausgabe ............  58 
 +9.4  Scroll/Page-Modus ...........................  59 
 +9.5  Belegung der Funktionstasten ................  59 
 +9.5.1  Local-Escape ..............................  60 
 +9.5.2  Makrokommandos ............................  60 
 +9.5.3  Startup-Makro .............................  61 
 +9.6  Tabellen und Puffer löschen .................  62 
 +9.7  Zeitverzögerung .............................  62 
 +9.8  Transparentmodi .............................  62 
 +9.8.1  Monitor-Modus .............................  62 
 +9.8.2  Hexadezimal-Modus .........................  63 
 +9.8.3  Einzelne Control-Zeichen anzeigen .........  63 
 +Anhang A - ASCII Tabelle, Zeichensätze, Parameter.  64 
 +Anhang B - Befehlsübersicht ......................  70 
 +Anhang C - Default Funktionstastenbelegungen .....  74 
 +Stichwortverzeichnis .............................  75 
 diff --git a/system/ruc-terminal/unknown/doc/TINHALTP.PRT b/system/ruc-terminal/unknown/doc/TINHALTP.PRT new file mode 100644 index 0000000..22b1d0a --- /dev/null +++ b/system/ruc-terminal/unknown/doc/TINHALTP.PRT @@ -0,0 +1,157 @@ +#type ("elite")##limit (16.2)# 
 +#page##--------------------------------- Ende der Seite 0 -----------#
 +#center##on("b")#  Inhalt  #off("b")# 
 + 
 + 
 + 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#text begin# 
 +#type("8")##center##on("i")##on("u")##ib(3)#  Inhalt  #ie(3)##off("u")##off("i")##type("elite")# 
 + 
 +1.  Einige Worte zuvor ...........................  1 
 +2.  Die Hardware .................................  2 
 +2.1  Die serielle Schnittstelle ..................  2 
 +2.2  Der Reset ...................................  2 
 +3.  Die Kommandozeile ............................  3 
 +3.1  Tastenfunktionen in der Kommandozeile .......  3 
 +3.2  Setup .......................................  4 
 +3.3  Die zweite Kommandozeile ....................  4 
 +3.4  Die zweite Kommandozeile ....................  6 
 +4.  Die Statuszeile ..............................  8 
 +4.1  Spoolerstatus ...............................  8 
 +4.2  Empfängerstatus .............................  8 
 +4.3  Senderstatus ................................  9 
 +4.4  Busy - Anzeige ..............................  9 
 +4.5  Online/Local - Anzeige ......................  9 
 +5.  Die Bedeutung der Tasten .....................  10 
 +5.1  Die Funktions- und Steuertasten .............  10 
 +5.2  Die TVI-Emulation ...........................  13 
 +6.  Der Graphikmodus .............................  16 
 +6.1  Allgemeines .................................  16 
 +6.2  Koordinaten und Parameterübergabe ...........  16 
 +6.2.1  Cursorposition/Fadenkreuz .................  16 
 +6.2.2  Binäre oder dezimale Parameter ............  17 
 +6.2.2.1  Binäre Parameter ........................  17 
 +6.2.2.2  Dezimale Parameter ......................  17 
 +6.2.3  Absolute oder relative Koordinaten ........  18 
 +6.2.4  Byteparameter .............................  18 
 +6.3  Die Graphikparameter ........................  19 
 +6.3.1  Strichdicke ...............................  19 
 +6.3.2  Farbe/Helligkeit ..........................  19 
 +6.3.3  Linientyp .................................  20 
 +6.3.3.1  Selbstdefinierte Linientypen (Pattern) ..  20 
 +6.3.4  Bitverknüpfungen ..........................  21 
 +6.3.5  Multiparametereinstellung .................  22 
 +6.4  Graphikseiten ...............................  22 
 +6.4.1  Die sichtbare Seite und die Arbeitsseite ..  22 
 +6.4.1.1  80-Zeichen Text und Graphik .............  23 
 +6.4.2  Aufbau einer Graphikseite .................  23 
 +6.4.3  Operationen auf den Graphikseiten .........  24 
 +6.4.4  Laden einer Graphikseite vom Host .........  25 
 +6.4.5  Graphik auf Diskette speichern/laden ......  26 
 +6.5  Textdarstellung im Graphikmodus .............  26 
 +6.5.1  Zeichendarstellung ........................  27 
 +6.5.1.1  Zeichengröße und Schreibrichtung ........  27 
 +6.5.1.2  Dicke, Farbe etc. .......................  28 
 +6.5.1.3  Zeichensätze und Attribute ..............  28 
 +6.5.1.4  Zeichen überschreiben ...................  29 
 +6.5.2  Textkommandos im Graphikmodus .............  30 
 +6.5.2.1  Die Cursorpositionierung ................  30 
 +6.5.2.2  Löschbefehle ............................  33 
 +#text end#
 +#free(02.351852e-2)#
 + 
 + 
 + i 
 +#page##--------------------------------- Ende der Seite 1 -----------#
 +#center##on("b")#Bedienungshandbuch zum ruc - Graphikterminal#off("b")# 
 + 
 + 
 + 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#text begin# 
 +6.6  Die Graphikkommandos ........................  33 
 +6.6.1  Draw's und Move's .........................  33 
 +6.6.1.1  Punkt setzen ............................  34 
 +6.6.1.2  Move-Befehle ............................  34 
 +6.6.1.3  Draw-Befehle ............................  35 
 +6.6.1.4  Turtle-Graphik ..........................  35 
 +6.6.2  Komplexere Zeichenkommandos ...............  36 
 +6.6.2.1  Kreise und Kreissegmente ................  36 
 +6.6.2.2  Rechtecke ...............................  37 
 +6.6.2.3  Bögen und Ellipsen ......................  38 
 +6.6.2.4  Gefüllte Flächen ........................  39 
 +6.6.2.4.1  Definition des Musters ................  40 
 +6.7  Graphikdaten zum Host .......................  40 
 +6.7.1  Graphikseiten zum Host ....................  40 
 +6.7.2  Cursorposition zum Host ...................  41 
 +6.7.3  Einzelne Bits zum Host ....................  41 
 +6.7.4  Parameter zum Host ........................  42 
 +6.8  Graphikhardcopy .............................  43 
 +6.8.1  Der Druckertreiber ........................  43 
 +6.8.2  Die Hardcopyparameter .....................  44 
 +7.  Die Parameter der seriellen Schnittstelle ....  46 
 +7.1  Das Übertragungsformat ......................  46 
 +7.2  Die Übertragungsparameter ...................  46 
 +7.2.1  Baudrate ..................................  47 
 +7.2.2  Datenbits .................................  47 
 +7.2.3  Stopbits ..................................  48 
 +7.2.4  Paritätsbit ...............................  48 
 +7.2.5  Übertragungsfehler ........................  48 
 +7.3  Die Flußkontrolle ...........................  48 
 +7.3.1  XON/XOFF ..................................  49 
 +7.3.2  DTR/DSR ...................................  50 
 +7.3.3  RTS/CTS ...................................  50 
 +7.4  Echo und Local/Online .......................  51 
 +8.  Spezielle Kommandos im Textmodus .............  52 
 +8.1  Weitere Cursorpositionierungskommandos ......  52 
 +8.2  Cursormodus .................................  53 
 +8.3  Zeichensatz einstellen ......................  53 
 +8.4  Texthardcopy ................................  54 
 +8.5  Zeichen-Attribute ...........................  54 
 +8.6  Bildhintergrund hell/dunkel .................  55 
 +8.7  Zeichentransfer zum Host ....................  55 
 +8.7.1  Ein Zeichen senden ........................  55 
 +8.7.2  Eine Zeile senden .........................  56 
 +8.7.3  Eine Seite senden .........................  56 
 +8.7.4  Terminatorzeichen definieren ..............  56 
 +8.7.5  Cursorposition senden .....................  57 
 +8.8  Textseite auf Diskette speichern/laden ......  57 
 +9.  Verschiedene Steuerkommandos .................  58 
 +9.1  Signalton ...................................  58 
 +9.2  Keyboardclick ...............................  58 
 +9.3  Bildschirmausgabe/Druckerausgabe ............  58 
 +9.4  Scroll/Page-Modus ...........................  59 
 +#text end#
 +#free(02.351852e-2)#
 + 
 + 
 +#right#ii 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#page##--------------------------------- Ende der Seite 2 -----------#
 +#center##on("b")#  Inhalt  #off("b")# 
 + 
 + 
 + 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#text begin# 
 +9.5  Belegung der Funktionstasten ................  59 
 +9.5.1  Local-Escape ..............................  60 
 +9.5.2  Makrokommandos ............................  60 
 +9.5.3  Startup-Makro .............................  61 
 +9.6  Tabellen und Puffer löschen .................  62 
 +9.7  Zeitverzögerung .............................  62 
 +9.8  Transparentmodi .............................  62 
 +9.8.1  Monitor-Modus .............................  62 
 +9.8.2  Hexadezimal-Modus .........................  63 
 +9.8.3  Einzelne Control-Zeichen anzeigen .........  63 
 +Anhang A - ASCII Tabelle, Zeichensätze, Parameter.  64 
 +Anhang B - Befehlsübersicht ......................  70 
 +Anhang C - Default Funktionstastenbelegungen .....  74 
 +Stichwortverzeichnis .............................  75 
 +#text end#
 +#free(16.11019)#
 + 
 + 
 + iii
 +#page##--------------------------------- Ende der Seite 3 -----------#
 diff --git a/system/ruc-terminal/unknown/doc/TSTICHP.PRT b/system/ruc-terminal/unknown/doc/TSTICHP.PRT new file mode 100644 index 0000000..4f2a3e8 --- /dev/null +++ b/system/ruc-terminal/unknown/doc/TSTICHP.PRT @@ -0,0 +1,211 @@ +#type ("elite")##limit (16.2)# 
 +#pagenr (""224"", 75)#
 +#page##--------------------------------- Ende der Seite 0 -----------#
 +#center##on("b")#  Stichwortverzeichnis  #off("b")# 
 + 
 + 
 + 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#text begin# 
 +#type("8")##center##on("i")##on("u")##ib(3)#  Stichwortverzeichnis  #ie(3)##off("u")##off("i")##type("elite")# 
 + 
 +<BACKSPACE> ......................................  14 
 +<BOTTOMLEFT> .....................................  32 
 +<BOTTOMRIGHT> ....................................  32 
 +<CE> .............................................  16 
 +<CE> .............................................  31 
 +<CTRL G> .........................................  58 
 +<CTRL HOME> ......................................  32 
 +<CTRL K> .........................................  14 
 +<CTRL L> .........................................  14 
 +<CTRL N> .........................................  49 
 +<CTRL O> .........................................  49 
 +<CTRL SHIFT ^> ...................................  14 
 +<CTRL SHIFT _> ...................................  14 
 +<CTRL V> .........................................  31 
 +<CTRL X> .........................................  16 
 +<CTRL Z> .........................................  14 
 +<CTRL Z> .........................................  33 
 +<CTRL Q> .........................................  49 
 +<CTRL S> .........................................  49 
 +<DELETE> .........................................  32 
 +<DOWN> ...........................................  31 
 +<ESC> ! ..........................................  24 
 +<ESC> $ ..........................................  16 
 +<ESC> % ..........................................  16 
 +<ESC> & ..........................................  29 
 +<ESC> ' ..........................................  29 
 +<ESC> ( ..........................................  29 
 +<ESC> ( ..........................................  54 
 +<ESC> ) ..........................................  29 
 +<ESC> ) ..........................................  55 
 +<ESC> * ..........................................  33 
 +<ESC> + ..........................................  33 
 +<ESC> , ..........................................  33 
 +<ESC> - ..........................................  41 
 +<ESC> . ..........................................  53 
 +<ESC> ............................................  32 
 +<ESC> / ..........................................  25 
 +<ESC> 0 ..........................................  2 
 +<ESC> 4 ..........................................  42 
 +<ESC> 5 ..........................................  42 
 +<ESC> 6 ..........................................  56 
 +<ESC> 7 ..........................................  56 
 +<ESC> 7 ..........................................  56 
 +<ESC> 8 ..........................................  55 
 +<ESC> 9 ..........................................  62 
 +<ESC> : ..........................................  33 
 +<ESC> ; ..........................................  41 
 +<ESC> < ..........................................  58 
 +<ESC> <DEL> ......................................  62 
 +<ESC> <Macrocode> ................................  61 
 +#text end#
 +#free(02.351852e-2)#
 + 
 + 
 + 75 
 +#page##--------------------------------- Ende der Seite 75 -----------#
 +#center##on("b")#Bedienungshandbuch zum ruc - Graphikterminal#off("b")# 
 + 
 + 
 + 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#text begin# 
 +<ESC> <SPACE> ....................................  50 
 +<ESC> <SPACE> 0 ..................................  10 
 +<ESC> <SPACE> 1 ..................................  13 
 +<ESC> <SPACE> 6 ..................................  47 
 +<ESC> <SPACE> 7 ..................................  47 
 +<ESC> <SPACE> <SPACE> ............................  46 
 +<ESC> = ..........................................  52 
 +<ESC> = ..........................................  57 
 +<ESC> > ..........................................  58 
 +<ESC> ? ..........................................  57 
 +<ESC> @ ..........................................  58 
 +<ESC> A ..........................................  59 
 +<ESC> D E ........................................  51 
 +<ESC> D L ........................................  51 
 +<ESC> D O ........................................  51 
 +<ESC> E ..........................................  14 
 +<ESC> E ..........................................  52 
 +<ESC> F ..........................................  63 
 +<ESC> G ..........................................  29 
 +<ESC> G ..........................................  54 
 +<ESC> H ..........................................  59 
 +<ESC> I ..........................................  14 
 +<ESC> I ..........................................  52 
 +<ESC> J ..........................................  38 
 +<ESC> K ..........................................  37 
 +<ESC> L ..........................................  52 
 +<ESC> M ..........................................  52 
 +<ESC> N ..........................................  27 
 +<ESC> N ..........................................  30 
 +<ESC> O 0 ........................................  19 
 +<ESC> O 0 ........................................  28 
 +<ESC> O 1 ........................................  19 
 +<ESC> O 2 ........................................  19 
 +<ESC> O 3 ........................................  20 
 +<ESC> O 4 ........................................  21 
 +<ESC> O 5 ........................................  22 
 +<ESC> O 5 ........................................  43 
 +<ESC> O 6 ........................................  20 
 +<ESC> O 7 ........................................  22 
 +<ESC> O 7 ........................................  42 
 +<ESC> O 7 ........................................  44 
 +<ESC> O 8 ........................................  36 
 +<ESC> O 9 ........................................  36 
 +<ESC> O : ........................................  40 
 +<ESC> P ..........................................  54 
 +<ESC> Q ..........................................  14 
 +<ESC> Q ..........................................  52 
 +<ESC> R ..........................................  14 
 +<ESC> R ..........................................  52 
 +<ESC> S ..........................................  26 
 +<ESC> S ..........................................  57 
 +<ESC> T ..........................................  33 
 +#text end#
 +#free(02.351852e-2)#
 + 
 + 
 +#right#76 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#page##--------------------------------- Ende der Seite 76 -----------#
 +#center##on("b")#  Stichwortverzeichnis  #off("b")# 
 + 
 + 
 + 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#text begin# 
 +<ESC> U ..........................................  62 
 +<ESC> W ..........................................  14 
 +<ESC> W ..........................................  52 
 +<ESC> X ..........................................  63 
 +<ESC> X ..........................................  63 
 +<ESC> Y ..........................................  33 
 +<ESC> Z ..........................................  53 
 +<ESC> \ ..........................................  40 
 +<ESC> ^ ..........................................  44 
 +<ESC> _ ..........................................  41 
 +<ESC> ` ..........................................  58 
 +<ESC> a ..........................................  58 
 +<ESC> b ..........................................  55 
 +<ESC> c ..........................................  60 
 +<ESC> d ..........................................  55 
 +<ESC> e ..........................................  13 
 +<ESC> e ..........................................  60 
 +<ESC> e ..........................................  61 
 +<ESC> j ..........................................  52 
 +<ESC> m ..........................................  34 
 +<ESC> n ..........................................  35 
 +<ESC> o ..........................................  36 
 +<ESC> q ..........................................  34 
 +<ESC> r ..........................................  35 
 +<ESC> s ..........................................  38 
 +<ESC> u ..........................................  63 
 +<ESC> u ..........................................  63 
 +<ESC> u ..........................................  63 
 +<ESC> v ..........................................  34 
 +<ESC> w ..........................................  35 
 +<ESC> x 1 ........................................  56 
 +<ESC> x 4 ........................................  56 
 +<ESC> y ..........................................  33 
 +<ESC> z ..........................................  28 
 +<ESC> z ..........................................  53 
 +<ESC> { ..........................................  8 
 +<ESC> | ..........................................  39 
 +<ESC> } ..........................................  8 
 +<ESC> ~ ..........................................  43 
 +<HOME> ...........................................  32 
 +<LEFT> ...........................................  32 
 +<LF> .............................................  14 
 +<LOCESC> .........................................  60 
 +<RETURN> .........................................  31 
 +<RIGHT> ..........................................  32 
 +<SHIFT CE> .......................................  31 
 +<SHIFT CTRL HOME> ................................  32 
 +<SHIFT CTRL HOME> ................................  51 
 +<SHIFT HOME> .....................................  32 
 +<SHIFT RETURN> ...................................  31 
 +<TAB> ............................................  31 
 +<UP> .............................................  31 
 +#text end#
 +#free(02.351852e-2)#
 + 
 + 
 + 77 
 +#page##--------------------------------- Ende der Seite 77 -----------#
 +#center##on("b")#Bedienungshandbuch zum ruc - Graphikterminal#off("b")# 
 + 
 + 
 + 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#text begin# 
 +XOFF .............................................  49 
 +XON ..............................................  49 
 +#text end#
 +#free(21.19019)#
 + 
 + 
 +#right#78 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#page##--------------------------------- Ende der Seite 78 -----------#
 diff --git a/system/ruc-terminal/unknown/doc/TSTICHWO.PRT b/system/ruc-terminal/unknown/doc/TSTICHWO.PRT new file mode 100644 index 0000000..ac6f011 --- /dev/null +++ b/system/ruc-terminal/unknown/doc/TSTICHWO.PRT @@ -0,0 +1,161 @@ +#type ("elite")##limit (16.2)# 
 +#pagenr (""224"", 75)##page (75)# 
 +#kopf ("Bedienungshandbuch zum ruc - Graphikterminal")# 
 +#h("", "Stichwortverzeichnis  ")# 
 + 
 +<BACKSPACE> ......................................  14 
 +<BOTTOMLEFT> .....................................  32 
 +<BOTTOMRIGHT> ....................................  32 
 +<CE> .............................................  16 
 +<CE> .............................................  31 
 +<CTRL G> .........................................  58 
 +<CTRL HOME> ......................................  32 
 +<CTRL K> .........................................  14 
 +<CTRL L> .........................................  14 
 +<CTRL N> .........................................  49 
 +<CTRL O> .........................................  49 
 +<CTRL SHIFT ^> ...................................  14 
 +<CTRL SHIFT _> ...................................  14 
 +<CTRL V> .........................................  31 
 +<CTRL X> .........................................  16 
 +<CTRL Z> .........................................  14 
 +<CTRL Z> .........................................  33 
 +<CTRL Q> .........................................  49 
 +<CTRL S> .........................................  49 
 +<DELETE> .........................................  32 
 +<DOWN> ...........................................  31 
 +<ESC> ! ..........................................  24 
 +<ESC> $ ..........................................  16 
 +<ESC> % ..........................................  16 
 +<ESC> & ..........................................  29 
 +<ESC> ' ..........................................  29 
 +<ESC> ( ..........................................  29 
 +<ESC> ( ..........................................  54 
 +<ESC> ) ..........................................  29 
 +<ESC> ) ..........................................  55 
 +<ESC> * ..........................................  33 
 +<ESC> + ..........................................  33 
 +<ESC> , ..........................................  33 
 +<ESC> - ..........................................  41 
 +<ESC> . ..........................................  53 
 +<ESC> ............................................  32 
 +<ESC> / ..........................................  25 
 +<ESC> 0 ..........................................  2 
 +<ESC> 4 ..........................................  42 
 +<ESC> 5 ..........................................  42 
 +<ESC> 6 ..........................................  56 
 +<ESC> 7 ..........................................  56 
 +<ESC> 7 ..........................................  56 
 +<ESC> 8 ..........................................  55 
 +<ESC> 9 ..........................................  62 
 +<ESC> : ..........................................  33 
 +<ESC> ; ..........................................  41 
 +<ESC> < ..........................................  58 
 +<ESC> <DEL> ......................................  62 
 +<ESC> <Macrocode> ................................  61 
 +<ESC> <SPACE> ....................................  50 
 +<ESC> <SPACE> 0 ..................................  10 
 +<ESC> <SPACE> 1 ..................................  13 
 +<ESC> <SPACE> 6 ..................................  47 
 +<ESC> <SPACE> 7 ..................................  47 
 +<ESC> <SPACE> <SPACE> ............................  46 
 +<ESC> = ..........................................  52 
 +<ESC> = ..........................................  57 
 +<ESC> > ..........................................  58 
 +<ESC> ? ..........................................  57 
 +<ESC> @ ..........................................  58 
 +<ESC> A ..........................................  59 
 +<ESC> D E ........................................  51 
 +<ESC> D L ........................................  51 
 +<ESC> D O ........................................  51 
 +<ESC> E ..........................................  14 
 +<ESC> E ..........................................  52 
 +<ESC> F ..........................................  63 
 +<ESC> G ..........................................  29 
 +<ESC> G ..........................................  54 
 +<ESC> H ..........................................  59 
 +<ESC> I ..........................................  14 
 +<ESC> I ..........................................  52 
 +<ESC> J ..........................................  38 
 +<ESC> K ..........................................  37 
 +<ESC> L ..........................................  52 
 +<ESC> M ..........................................  52 
 +<ESC> N ..........................................  27 
 +<ESC> N ..........................................  30 
 +<ESC> O 0 ........................................  19 
 +<ESC> O 0 ........................................  28 
 +<ESC> O 1 ........................................  19 
 +<ESC> O 2 ........................................  19 
 +<ESC> O 3 ........................................  20 
 +<ESC> O 4 ........................................  21 
 +<ESC> O 5 ........................................  22 
 +<ESC> O 5 ........................................  43 
 +<ESC> O 6 ........................................  20 
 +<ESC> O 7 ........................................  22 
 +<ESC> O 7 ........................................  42 
 +<ESC> O 7 ........................................  44 
 +<ESC> O 8 ........................................  36 
 +<ESC> O 9 ........................................  36 
 +<ESC> O : ........................................  40 
 +<ESC> P ..........................................  54 
 +<ESC> Q ..........................................  14 
 +<ESC> Q ..........................................  52 
 +<ESC> R ..........................................  14 
 +<ESC> R ..........................................  52 
 +<ESC> S ..........................................  26 
 +<ESC> S ..........................................  57 
 +<ESC> T ..........................................  33 
 +<ESC> U ..........................................  62 
 +<ESC> W ..........................................  14 
 +<ESC> W ..........................................  52 
 +<ESC> X ..........................................  63 
 +<ESC> X ..........................................  63 
 +<ESC> Y ..........................................  33 
 +<ESC> Z ..........................................  53 
 +<ESC> \ ..........................................  40 
 +<ESC> ^ ..........................................  44 
 +<ESC> _ ..........................................  41 
 +<ESC> ` ..........................................  58 
 +<ESC> a ..........................................  58 
 +<ESC> b ..........................................  55 
 +<ESC> c ..........................................  60 
 +<ESC> d ..........................................  55 
 +<ESC> e ..........................................  13 
 +<ESC> e ..........................................  60 
 +<ESC> e ..........................................  61 
 +<ESC> j ..........................................  52 
 +<ESC> m ..........................................  34 
 +<ESC> n ..........................................  35 
 +<ESC> o ..........................................  36 
 +<ESC> q ..........................................  34 
 +<ESC> r ..........................................  35 
 +<ESC> s ..........................................  38 
 +<ESC> u ..........................................  63 
 +<ESC> u ..........................................  63 
 +<ESC> u ..........................................  63 
 +<ESC> v ..........................................  34 
 +<ESC> w ..........................................  35 
 +<ESC> x 1 ........................................  56 
 +<ESC> x 4 ........................................  56 
 +<ESC> y ..........................................  33 
 +<ESC> z ..........................................  28 
 +<ESC> z ..........................................  53 
 +<ESC> { ..........................................  8 
 +<ESC> | ..........................................  39 
 +<ESC> } ..........................................  8 
 +<ESC> ~ ..........................................  43 
 +<HOME> ...........................................  32 
 +<LEFT> ...........................................  32 
 +<LF> .............................................  14 
 +<LOCESC> .........................................  60 
 +<RETURN> .........................................  31 
 +<RIGHT> ..........................................  32 
 +<SHIFT CE> .......................................  31 
 +<SHIFT CTRL HOME> ................................  32 
 +<SHIFT CTRL HOME> ................................  51 
 +<SHIFT HOME> .....................................  32 
 +<SHIFT RETURN> ...................................  31 
 +<TAB> ............................................  31 
 +<UP> .............................................  31 
 +XOFF .............................................  49 
 +XON ..............................................  49 
 diff --git a/system/ruc-terminal/unknown/doc/TTAB.PRT b/system/ruc-terminal/unknown/doc/TTAB.PRT new file mode 100644 index 0000000..e8333d5 --- /dev/null +++ b/system/ruc-terminal/unknown/doc/TTAB.PRT @@ -0,0 +1,510 @@ +#type ("elite")##limit (16.2)# 
 +#pagenr (""224"", 64)##type ("elite")# 
 +#page (64)# 
 +#kopf ("Bedienungshandbuch zum ruc - Graphikterminal")# 
 +#h("A.", "Anhang A - ASCII Tabelle, Zeichensätze, Parameter")# 
 + 
 + 
 +              Winkel Cur- Byteparameter 
 +Dez Hex ASCII  Grad  sor  4    5    6 Taste(n)             Graphikzeichen 
 +#linie ("16.0")# 
 +  0 00  NUL       0       0    0    0  <SHIFT CTRL @> 
 +  1 01  SOH       5       1    1    1  <CTRL A> 
 +  2 02  STX      10       2    2    2  <CTRL B> 
 +  3 03  ETX      15       3    3    3  <CTRL C> 
 +  4 04  EOT      20       4    4    4  <CTRL D> 
 +  5 05  ENQ      25       5    5    5  <CTRL E> 
 +  6 06  ACK      30       6    6    6  <CTRL F> 
 +  7 07  BEL      35       7    7    7  <CTRL G> 
 +  8 08  BS       40       8    8    8  <BACKSPACE>  <== 
 +  9 09  HT       45       9    9    9  <TAB> 
 + 10 0A  LF       50      10   10   10  <CTRL J> Apple: <DOWN> 
 + 11 0B  VT       55      11   11   11  <CTRL K> Apple: <UP> 
 + 12 0C  FF       60      12   12   12  <CTRL L> TVI: <RIGHT> 
 + 13 0D  CR       65      13   13   13  <RETURN> 
 + 14 0E  SO       70      14   14   14  <CTRL N> 
 + 15 0F  SI       75      15   15   15  <CTRL O> 
 + 16 10  DLE      80       0   16   16  <CTRL P> 
 + 17 11  DC1 XON  85       1   17   17  <CTRL Q> 
 + 18 12  DC2      90       2   18   18  <CTRL R> 
 + 19 13  DC3 XOFF 95       3   19   19  <CTRL S> 
 + 20 14  DC4     100       4   20   20  <CTRL T> 
 + 21 15  NAK     105       5   21   21  ==>   Apple: <RIGHT> 
 + 22 16  SYN     110       6   22   22  <CTRL V> 
 + 23 17  ETB     115       7   23   23  <CTRL W> 
 + 24 18  CAN     120       8   24   24  <CTRL X> <CE> 
 + 25 19  EM      125       9   25   25  <CTRL Y> 
 + 26 1A  SUB     130      10   26   26  <CTRL Z> TVI: <CLEAR> 
 + 27 1B  ESC     135      11   27   27  <ESC> 
 + 28 1C  FS      140      12   28   28  <CTRL \> 
 + 29 1D  GS      145      13   29   29  <CTRL ]> 
 + 30 1E  RS      150      14   30   30  <CTRL ^> TVI: <HOME> 
 + 31 1F  US      155      15   31   31  <CTRL _> TVI: <SHIFT RETURN> 
 + 32 20  SPACE   160   0   0    0   32  <SPACE> 
 + 33 21  !       165   1   1    1   33  ! 
 + 34 22  "       170   2   2    2   34  " 
 + 35 23  #       175   3   3    3   35  # 
 + 36 24  $       180   4   4    4   36  $ 
 + 37 25  %       185   5   5    5   37  % 
 + 38 26  &       190   6   6    6   38  & 
 + 39 27  '       195   7   7    7   39  ' 
 + 40 28  (       200   8   8    8   40  ( 
 + 41 29  )       205   9   9    9   41  ) 
 + 42 2A  *       210  10  10   10   42  * 
 + 43 2B  +       215  11  11   11   43  + 
 + 44 2C  ,       220  12  12   12   44  , 
 + 45 2D  -       225  13  13   13   45  - 
 + 46 2E  .       230  14  14   14   46  . 
 + 47 2F  /       235  15  15   15   47  / 
 + 48 30  0       240  16   0   16   48  0 
 + 49 31  1       245  17   1   17   49  1 
 + 50 32  2       250  18   2   18   50  2 
 + 51 33  3       255  19   3   19   51  3 
 + 52 34  4       260  20   4   20   52  4 
 + 53 35  5       265  21   5   21   53  5 
 + 54 36  6       270  22   6   22   54  6 
 + 55 37  7       275  23   7   23   55  7 
 + 56 38  8       280  24   8   24   56  8 
 + 57 39  9       285  25   9   25   57  9 
 + 58 3A  :       290  26  10   26   58  : 
 + 59 3B  ;       295  27  11   27   59  ; 
 + 60 3C  <       300  28  12   28   60  < 
 + 61 3D  =       305  29  13   29   61  = 
 + 62 3E  >       310  30  14   30   62  > 
 + 63 3F  ?       315  31  15   31   63  ? 
 + 64 40  @       320  32   0    0    0  @ 
 + 65 41  A       325  33   1    1    1  A 
 + 66 42  B       330  34   2    2    2  B 
 + 67 43  C       335  35   3    3    3  C 
 + 68 44  D       340  36   4    4    4  D 
 + 69 45  E       345  37   5    5    5  E 
 + 70 46  F       350  38   6    6    6  F 
 + 71 47  G       355  39   7    7    7  G 
 + 72 48  H         0  40   8    8    8  H 
 + 73 49  I         5  41   9    9    9  I 
 + 74 4A  J        10  42  10   10   10  J 
 + 75 4B  K        15  43  11   11   11  K 
 + 76 4C  L        20  44  12   12   12  L 
 + 77 4D  M        25  45  13   13   13  M 
 + 78 4E  N        30  46  14   14   14  N 
 + 79 4F  O        35  47  15   15   15  O 
 + 80 50  P        40  48   0   16   16  P 
 + 81 51  Q        45  49   1   17   17  Q 
 + 82 52  R        50  50   2   18   18  R 
 + 83 53  S        55  51   3   19   19  S 
 + 84 54  T        60  52   4   20   20  T 
 + 85 55  U        65  53   5   21   21  U 
 + 86 56  V        70  54   6   22   22  V 
 + 87 57  W        75  55   7   23   23  W 
 + 88 58  X        80  56   8   24   24  X 
 + 89 59  Y        85  57   9   25   25  Y 
 + 90 5A  Z        90  58  10   26   26  Z 
 + 91 5B  [   Ä    95  59  11   27   27  [ 
 + 92 5C  \   Ö   100  60  12   28   28  \ 
 + 93 5D  ]   Ü   105  61  13   29   29  ] 
 + 94 5E  ^       110  62  14   30   30  ^ 
 + 95 5F  _       115  63  15   31   31  _ 
 + 96 60  `       120  64   0    0   32  ` 
 + 97 61  a       125  65   1    1   33  a 
 + 98 62  b       130  66   2    2   34  b 
 + 99 63  c       135  67   3    3   35  c 
 +100 64  d       140  68   4    4   36  d 
 +101 65  e       145  69   5    5   37  e 
 +102 66  f       150  70   6    6   38  f 
 +103 67  g       155  71   7    7   39  g 
 +104 68  h       160  72   8    8   40  h 
 +105 69  i       165  73   9    9   41  i 
 +106 6A  j       170  74  10   10   42  j 
 +107 6B  k       175  75  11   11   43  k 
 +108 6C  l       180  76  12   12   44  l 
 +109 6D  m       185  77  13   13   45  m 
 +110 6E  n       190  78  14   14   46  n 
 +111 6F  o       195  79  15   15   47  o 
 +112 70  p       200       0   16   48  p 
 +113 71  q       205       1   17   49  q 
 +114 72  r       210       2   18   50  r 
 +115 73  s       215       3   19   51  s 
 +116 74  t       220       4   20   52  t 
 +117 75  u       225       5   21   53  u 
 +118 76  v       230       6   22   54  v 
 +119 77  w       235       7   23   55  w 
 +120 78  x       240       8   24   56  x 
 +121 79  y       245       9   25   57  y 
 +122 7A  z       250      10   26   58  z 
 +123 7B  {   ä   255      11   27   59  { 
 +124 7C  |   ö   260      12   28   60  | 
 +125 7D  }   ü   265      13   29   61  } 
 +126 7E  ~   ß   270      14   30   62  ~ 
 +127 7F  DEL     275      15   31   63  <DELETE> 
 +128 80  * NUL   280       0    0    0 
 +129 81  * SOH   285       1    1    1  <SHIFT DELETE> 
 +130 82  * STX   290       2    2    2  <SHIFT TOPLEFT> # 
 +131 83  * ETX   295       3    3    3  <SHIFT TOPRIGHT> # 
 +132 84  * EOT   300       4    4    4 
 +133 85  * ENQ   305       5    5    5 
 +134 86  * ACK   310       6    6    6 
 +135 87  * BEL   315       7    7    7 
 +136 88  * BS    320       8    8    8  <LEFT> # 
 +137 89  * HT    325       9    9    9  <SHIFT TAB> # 
 +138 8A  * LF    330      10   10   10  <DOWN> # 
 +139 8B  * VT    335      11   11   11  <UP> # 
 +140 8C  * FF    340      12   12   12 
 +141 8D  * CR    345      13   13   13  <SHIFT RETURN> # 
 +142 8E  * SO    350      14   14   14  <TOPLEFT> # 
 +143 8F  * SI    355      15   15   15  <TOPRIGHT> # 
 +144 90  * DLE     0       0   16   16 
 +145 91  * DC1     5       1   17   17 
 +146 92  * DC2    10       2   18   18 
 +147 93  * DC3    15       3   19   19 
 +148 94  * DC4    20       4   20   20 
 +149 95  * NAK    25       5   21   21  <RIGHT> # 
 +150 96  * SYN    30       6   22   22 
 +151 97  * ETB    35       7   23   23 
 +152 98  * CAN    40       8   24   24 
 +153 99  * EM     45       9   25   25 
 +154 9A  * SUB    50      10   26   26 
 +155 9B  * ESC    55      11   27   27  <SHIFT ESC> 
 +156 9C  * FS     60      12   28   28 
 +157 9D  * GS     65      13   29   29 
 +158 9E  * RS     70      14   30   30 
 +159 9F  * US     75      15   31   31 
 +160 A0  * SPACE  80       0    0   32 
 +161 A1  * !      85       1    1   33  <CTRL F1> 
 +162 A2  * "      90       2    2   34  <CTRL F2> 
 +163 A3  * #      95       3    3   35  <CTRL F3> 
 +164 A4  * $     100       4    4   36  <CTRL F4> 
 +165 A5  * %     105       5    5   37  <CTRL F5> 
 +166 A6  * &     110       6    6   38  <CTRL F6> 
 +167 A7  * '     115       7    7   39  <CTRL F7> 
 +168 A8  * (     120       8    8   40  <CTRL F8> 
 +169 A9  * )     125       9    9   41  <CTRL F9> 
 +170 AA  * *     130      10   10   42  <CTRL F10> 
 +171 AB  * +     135      11   11   43  <CTRL F11> 
 +172 AC  * ,     140      12   12   44  <CTRL F12> 
 +173 AD  * -     145      13   13   45  <CTRL F13> 
 +174 AE  * .     150      14   14   46  <CTRL F14> 
 +175 AF  * /     155      15   15   47  <CTRL F15> 
 +176 B0  * 0     160       0   16   48 
 +177 B1  * 1     165       1   17   49  <SHIFT CTRL F1> 
 +178 B2  * 2     170       2   18   50  <SHIFT CTRL F2> 
 +179 B3  * 3     175       3   19   51  <SHIFT CTRL F3> 
 +180 B4  * 4     180       4   20   52  <SHIFT CTRL F4> 
 +181 B5  * 5     185       5   21   53  <SHIFT CTRL F5> 
 +182 B6  * 6     190       6   22   54  <SHIFT CTRL F6> 
 +183 B7  * 7     195       7   23   55  <SHIFT CTRL F7> 
 +184 B8  * 8     200       8   24   56  <SHIFT CTRL F8> 
 +185 B9  * 9     205       9   25   57  <SHIFT CTRL F9> 
 +186 BA  * :     210      10   26   58  <SHIFT CTRL F10> 
 +187 BB  * ;     215      11   27   59  <SHIFT CTRL F11> 
 +188 BC  * <     220      12   28   60  <SHIFT CTRL F12> 
 +189 BD  * =     225      13   29   61  <SHIFT CTRL F13> 
 +190 BE  * >     230      14   30   62  <SHIFT CTRL F14> 
 +191 BF  * ?     235      15   31   63  <SHIFT CTRL F15> 
 +192 C0  * @     240       0    0    0 
 +193 C1  * A     245       1    1    1  <F1> # 
 +194 C2  * B     250       2    2    2  <F2> # 
 +195 C3  * C     255       3    3    3  <F3> # 
 +196 C4  * D     260       4    4    4  <F4> # 
 +197 C5  * E     265       5    5    5  <F5> # 
 +198 C6  * F     270       6    6    6  <F6> # 
 +199 C7  * G     275       7    7    7  <F7> # 
 +200 C8  * H     280       8    8    8  <F8> # 
 +201 C9  * I     285       9    9    9  <F9> # 
 +202 CA  * J     290      10   10   10  <F10> # 
 +203 CB  * K     295      11   11   11  <F11> # 
 +204 CC  * L     300      12   12   12  <F12> # 
 +205 CD  * M     305      13   13   13  <F13> # 
 +206 CE  * N     310      14   14   14  <F14> # 
 +207 CF  * O     315      15   15   15  <F15> # 
 +208 D0  * P     320       0   16   16  <SHIFT HOME> # 
 +209 D1  * Q     325       1   17   17  <SHIFT F1> # 
 +210 D2  * R     330       2   18   18  <SHIFT F2> # 
 +211 D3  * S     335       3   19   19  <SHIFT F3> # 
 +212 D4  * T     340       4   20   20  <SHIFT F4> # 
 +213 D5  * U     345       5   21   21  <SHIFT F5> # 
 +214 D6  * V     350       6   22   22  <SHIFT F6> # 
 +215 D7  * W     355       7   23   23  <SHIFT F7> # 
 +216 D8  * X       0       8   24   24  <SHIFT F8> # 
 +217 D9  * Y       5       9   25   25  <SHIFT F9> # 
 +218 DA  * Z      10      10   26   26  <SHIFT F10> # 
 +219 DB  * [ * Ä  15      11   27   27  <SHIFT F11> # 
 +220 DC  * \ * Ö  20      12   28   28  <SHIFT F12> # 
 +221 DD  * ] * Ü  25      13   29   29  <SHIFT F13> # 
 +222 DE  * ^      30      14   30   30  <SHIFT F14> # 
 +223 DF  * _      35      15   31   31  <SHIFT F15> # 
 +224 E0  * `      40       0    0   32 
 +225 E1  * a      45       1    1   33  <SHIFT NUM1> # 
 +226 E2  * b      50       2    2   34  <SHIFT NUM2> # 
 +227 E3  * c      55       3    3   35  <SHIFT NUM3> # 
 +228 E4  * d      60       4    4   36  <SHIFT NUM4> # 
 +229 E5  * e      65       5    5   37  <SHIFT NUM5> # 
 +230 E6  * f      70       6    6   38  <SHIFT NUM6> # 
 +231 E7  * g      75       7    7   39  <SHIFT NUM7> # 
 +232 E8  * h      80       8    8   40  <SHIFT NUM8> # 
 +233 E9  * i      85       9    9   41  <SHIFT NUM9> # 
 +234 EA  * j      90      10   10   42  <SHIFT NUM0> # 
 +235 EB  * k      95      11   11   43  <SHIFT NUM.> # 
 +236 EC  * l     100      12   12   44  <SHIFT NUM+> # 
 +237 ED  * m     105      13   13   45  <SHIFT NUM-> # 
 +238 EE  * n     110      14   14   46 
 +239 EF  * o     115      15   15   47  <SHIFT BOTRIGHT> # 
 +240 F0  * p     120       0   16   48 
 +241 F1  * q     125       1   17   49 
 +242 F2  * r     130       2   18   50 
 +243 F3  * s     135       3   19   51 
 +244 F4  * t     140       4   20   52 
 +245 F5  * u     145       5   21   53 
 +246 F6  * v     150       6   22   54 
 +247 F7  * w     155       7   23   55 
 +248 F8  * x     160       8   24   56 
 +249 F9  * y     165       9   25   57 
 +250 FA  * z     170      10   26   58 
 +251 FB  * { * ä 175      11   27   59 
 +252 FC  * | * ö 180      12   28   60 
 +253 FD  * } * ü 185      13   29   61 
 +254 FE  * ~ * ß 190      14   30   62 
 +255 FF  * DEL   195      15   31   63 
 + 
 +Beim Apple-Keyboard können alle Codes > 127 auch mit der Open-Apple Taste
 +und einem ASCII-Zeichen zusammen erzeugt werden. 
 +Die mit # gekennzeichneten Tasten erzeugen im TVI-Modus nicht diesen Code. 
 +Die mit * gekennzeichneten ASCII-Zeichen werden auf dem Bildschirm invers
 +dargestellt. 
 + 
 +#page# 
 +#h("B.", "Anhang B - Befehlsübersicht")# 
 + 
 + 
 +#on("u")#Controlkommandos:#off("u")# 
 + 
 +Hex ASCII Taste(n)                      Funktion 
 +#linie ("16.0")# 
 +07  BEL  <CTRL G>                       Signalton 
 +08  BS   <BACKSPACE>  <==               Backspace, Cursor Left 
 +09  HT   <TAB>                          Tabulator, 8 Spalten 
 +0A  LF   <CTRL J> Apple: <DOWN>         Zeilenvorschub, ggf. Scroll/Page 
 +0B  VT   <CTRL K> Apple: <UP>           Cursor hoch 
 +0C  FF   <CTRL L> TVI: <RIGHT>          Cursor rechts 
 +0D  CR   <RETURN>                       Waagenrücklauf, ohne Linefeed 
 +0E  SO   <CTRL N>                       XON/XOFF Protokoll ausschalten 
 +0F  SI   <CTRL O>                       XON/XOFF Protokoll einschalten 
 +11  DC1  <CTRL Q>                       XON 
 +13  DC3  <CTRL S>                       XOFF 
 +15  NAK  <CTRL U> ==> Apple: <RIGHT>    Cursor rechts 
 +16  SYN  <CTRL V>                       Cursor runter (ohne Scroll/Page) 
 +17  CAN  <CTRL X> <CE>                  Graphikmodus: Fadenkreuz an/aus 
 +1A  SUB  <CTRL Z> TVI: <CLEAR>          Bildschirm löschen & Cursor Home 
 +1B  ESC  <ESC>                          Escape-Sequenz einleiten 
 +1E  RS   <CTRL ^> TVI: <HOME>           Cursor Home 
 +1F  US   <CTRL _> TVI: <SHIFT RETURN>   Zum nächsten Zeilenanfang, ggf.
 +                                        Scroll/Page 
 + 
 + 
 +Escape-Sequenzen, thematisch sortiert 
 +------------------------------------- 
 + 
 +a.) Betriebsmodi: 
 + 
 +ESC $                 Graphikmodus einschalten 
 +ESC %                 Textmodus einschalten 
 +ESC H                 Autoscroll/Pagemode 
 +ESC U                 Monitormode einschalten 
 +ESC X                 Monitormode/Hexmode ausschalten 
 +ESC c                 Funktionstastencode/Funktionstastenstring 
 +ESC u                 Hexmode ein-/ausschalten, Monitormode ausschalten 
 + 
 + 
 +b.) Editkommandos 
 + 
 +ESC *                 Text oder Graphikbildschirm löschen und Cursor Home 
 +ESC +                                        " 
 +ESC ,                                        " 
 +ESC :                                        " 
 +ESC E                 Zeile einfügen (im Textmodus) 
 +ESC I                 Rückwärtstabulator (8 Spalten, im Textmodus) 
 +ESC L                 Zeile einfügen (im Textmodus) 
 +ESC M                 Zeile löschen (im Textmodus) 
 +ESC Q                 Zeichen einfügen (im Textmodus) 
 +ESC R                 Zeile löschen (im Textmodus) 
 +ESC T                 Zeile ab Cursorposition bis zum Zeilenende löschen 
 +ESC W                 Zeichen löschen (im Textmodus) 
 +ESC Y                 Seite ab Cursorposition bis zum Seitenende löschen 
 +ESC j                 Umgekehrter Zeilenvorschub 
 +ESC t                 Zeile ab Cursor bis Zeilenende löschen (im Textmodus) 
 + 
 + 
 +c.) Sendekommandos 
 + 
 +ESC -                 Farbe, Zustand, In-Window-Bit bei Cursorpos senden 
 +ESC 4                 Nummer der sichtbaren und der Arbeitsseite senden 
 +ESC 5                 Graphikparameter (Dicke,Farbe,Bitverknüpfung) senden 
 +ESC 6                 Aktuelle Textzeile senden 
 +ESC 7                 Ganze Textseite senden 
 +ESC 8                 Zeichen an der Cursorposition senden 
 +ESC \ <ll><lh><al><ah>Aktuelle Graphikseite senden (oder Teile) 
 +ESC ;                 Position des Graphikcursors senden 
 +ESC ?                 Position des Textcursors senden 
 +ESC _                 Graphikbyte bei Graphikcursorposition senden 
 +ESC x 1 <l><m>        Zeilenbegrenzer für <ESC> 6 und <ESC> 7 einstellen 
 +ESC x 4 <p>           Seitenbegrenzer für <ESC> 7 einstellen 
 + 
 + 
 +d.) Übertragungskommandos 
 + 
 +ESC SPACE SPACE <p>   Baudrate, Stopbits, Datenbits, Parity einstellen 
 +ESC SPACE 0           Basis/Apple Keyboardcodes, keine Emulation 
 +ESC SPACE 1           TVI - Emulation 
 +ESC SPACE 2           Keine Hardware Flußkontrolle 
 +ESC SPACE 3           RTS/CTS Flußkontrolle 
 +ESC SPACE 4           DTR/DSR Flußkontrolle 
 +ESC SPACE 5           RTS/CTS und DTR/DSR Flußkontrolle 
 +ESC SPACE 6           8. Datenbit ist 0 
 +ESC SPACE 7           8. Datenbit vorhanden 
 +ESC D L               Local-Modus 
 +ESC D E               Online-Modus mit Echo 
 +ESC D O               Online-Modus ohne Echo 
 + 
 + 
 +e.) Bildschirm/Druckerausgabe 
 + 
 +ESC @                 Empfangsdaten auf Drucker ausgeben 
 +ESC A                 Empfangsdaten nicht auf Drucker ausgeben 
 +ESC P                 Hardcopy der Textseite 
 +ESC ^ <p>             Hardcopy der aktuellen Graphikseite 
 +ESC `                 Empfangsdaten nicht auf dem Bildschirm anzeigen 
 +ESC a                 Empfangsdaten auf dem Bildschirm anzeigen 
 +ESC ~ <n><l><p.>      Definition d.Druckertreiberstrings f.Graphikhardcopy 
 + 
 + 
 +f.) Cursor/Cursor Adressierung 
 + 
 +ESC . 0               Cursor aus 
 +ESC . 1               Cursor blinkend 
 +ESC . 2               Cursor an, nicht blinkend 
 +ESC = <y+32><x+32>    Cursor auf Adresse positionieren 
 +ESC Z                 Cursor an/aus 
 + 
 + 
 +g.) Attribute 
 + 
 +ESC (                 Normale Zeichen 
 +ESC )                 Textmodus: Inversschrift, Graphik: Kursivschrift 
 +ESC G 0               Normale Schrift 
 +ESC G 1               Unsichtbare Schrift, Leerzeichen 
 +ESC G 4               Inverse Schrift 
 +ESC G 5               Unsichtbare Schrift, inverse Leerzeichen 
 +ESC b                 Schwarze Schrift auf hellem Grund (nur im Textmodus) 
 +ESC d                 Helle Schrift auf dunklem Grund, (nur im Textmodus) 
 +ESC z <n>             Zeichensatz einstellen 
 + 
 + 
 +h.) Text in Graphiken 
 + 
 +ESC &                 Graphikzeichen ersetzen darunterliegende 
 +ESC '                 Graphikzeichen überschreiben darunterliegende 
 +ESC N <b><h><w>       Zeichenbreite, -höhe und Schreibrichtung einstellen 
 + 
 + 
 +i.) Graphikzeichenkommandos 
 + 
 +ESC J <b, h;>         Relatives Rechteck zeichnen 
 +ESC K <r, s;>         Kreis(segmente) mit dem Radius <r> zeichnen 
 +ESC m <x, y;>         Absoluten Punkt bei (x, y) zeichnen 
 +ESC n <l, w;>         Turtle Draw/Move <l> ist Länge, <w> ist Winkel 
 +ESC o                 Turtle Penup/Pendown 
 +ESC q <x, y;>         Relativer Move 
 +ESC r <x, y;>         Relativer Draw 
 +ESC s <xr,yr,aw,ew;>  Ellipsenbogen(Radien xr,yr) v.<aw> bis <ew> zeichnen 
 +ESC v <x, y;>         Absoluter Move nach (x, y) 
 +ESC w <x, y;>         Absoluter Draw nach (x, y) 
 + 
 + 
 +j.) Verschiede Graphikkommandos 
 + 
 +ESC ! <p>             Graphikseiten mischen, kopieren, trennen, invertieren 
 +ESC / <ll><lh><al><ah><p...> Graphikseite vom Host laden 
 +ESC O 0               Graphikparameter auf Default 
 +ESC O 1 <d>           Strichdicke setzen 
 +ESC O 2 <f>           Farbe/Helligkeit einstellen 
 +ESC O 3 <p>           Linientyp (Punkt/Strichmuster) einstellen 
 +ESC O 4 <p>           Bitverknüpfung setzen (0=OR, 1=AND, 2=XOR, 3=COPY) 
 +ESC O 5 <p>           Farbe, Dicke, Bitverknüpfung zusammen einstellen 
 +ESC O 6 <pl><ph>      Benutzerdefinierbares Linienmuster einstellen 
 +ESC O 7 <p>           Arbeitsseite, sichtbare Seite u.Mixedmode einstellen 
 +ESC O 8 <p>           Turtle Penup/Pendown und Eraser/Drawer einstellen 
 +ESC O 9               Turtle Bildmitte, Richtung nach oben, Pendown, Drawer 
 +ESC O : <b1..b8>      Benutzerdefinierbares Füllmuster einstellen 
 +ESC y                 Graphikseite löschen und Cursor nach (0, 0) 
 +ESC | <n>             Fläche füllen/löschen mit dem Muster Nummer <n> 
 + 
 + 
 +k.) Verschiedene und spezielle Funktionen 
 + 
 +ESC 0                 Terminalprogramm initialisieren (Softwarereset) 
 +ESC 9 <d>             Zeitverzögerung ca. <d> * 2 ms 
 +ESC <                 Keyboardclick ausschalten 
 +ESC >                 Keyboardclick einschalten 
 +ESC F <c>             Controlcharacter darstellen 
 +ESC e <d...><t>       Funktionstaste <t> mit Daten <d...> belegen 
 +ESC {                 Statuszeile aus (24. Textzeile sichtbar) 
 +ESC }                 Statuszeile an (24. Textzeile unsichtbar) 
 +ESC S <n>             Graphik/Textseite von/auf Diskette laden/speichern 
 +ESC DEL 1             Tastenbelegungen löschen 
 +ESC DEL 2             Druckerpuffer löschen 
 +ESC DEL 3             Empfangspuffer löschen 
 +ESC DEL 4             Sendepuffer löschen 
 + 
 +#page# 
 +#h("C.", "Anhang C - Default Funktionstastenbelegungen")# 
 + 
 + 
 +Bemerkung zur Schreibweise: 
 +<#40> bezeichnet den ASCII-Code für '(', also den ASCII-Code 40 (dezimal). 
 +<LESC> bezeichnet den Code Hex 9B für Local Escape, damit diese Tastenfunk-
 +tionen sowohl im Local- als auch im Onlinemodus ausgeführt werden können. 
 + 
 +a.) Zehnerblock mit <SHIFT> 
 + 
 +Die Anordnung der Zifferntasten entspricht einem "Cursorblock" mit acht
 +Richtungen. Die Taste <SHIFT 5> zeigt nur das Fadenkreuz, d.h. die Position
 +des Graphikcursors bleibt unverändert. Bei allen anderen Zifferntasten än-
 +dert sich die Position des Graphikcursors und das Fadenkreuz wird kurz
 +sichtbar. Bis auf die Help-Taste <SHIFT F4> können alle Tasten auch im On-
 +line-Modus aufgerufen werden. 
 + 
 +Die Tastenbelegungen im einzelnen: 
 + 
 +Taste    Hex-Code Code-Sequenz 
 +#linie ("16.0")# 
 +<SHIFT 1>  E1  <LESC> q-1,-1; <LESC><CTRL X><LESC> 9 <#40><LESC><CTRL X> 
 +<SHIFT 2>  E2  <LESC> q0,-1;  <LESC><CTRL X><LESC> 9 <#40><LESC><CTRL X> 
 +<SHIFT 3>  E3  <LESC> q1,-1;  <LESC><CTRL X><LESC> 9 <#40><LESC><CTRL X> 
 +<SHIFT 4>  E4  <LESC> q-1,0;  <LESC><CTRL X><LESC> 9 <#40><LESC><CTRL X> 
 +<SHIFT 5>  E5  <LESC> <CTRL X><LESC> 9 <#127> <LESC> <CTRL X> 
 +<SHIFT 6>  E6  <LESC> q1,0;   <LESC><CTRL X><LESC> 9 <#40><LESC><CTRL X> 
 +<SHIFT 7>  E7  <LESC> q-1,1;  <LESC><CTRL X><LESC> 9 <#40><LESC><CTRL X> 
 +<SHIFT 8>  E8  <LESC> q0,1;   <LESC><CTRL X><LESC> 9 <#40><LESC><CTRL X> 
 +<SHIFT 9>  E9  <LESC> q1,1;   <LESC><CTRL X><LESC> 9 <#40><LESC><CTRL X> 
 + 
 +Terminalinitialisierung mit <SHIFT BOTTOMRIGHT>: 
 +            EF  (Cursorpositionierung und Einschaltmeldung) 
 + 
 + 
 +b.) Die Funktionstasten mit <SHIFT> 
 + 
 +Taste    Hex-Code Code-Sequenz                     Bedeutung 
 +#linie ("16.0")# 
 +<SHIFT F1>  D1  <LESC> $ <LESC> O70                Graphikseite 1 
 +<SHIFT F2>  D2  <LESC> $ <LESC> O73                Graphikseite 2 
 +<SHIFT F3>  D3  <LESC> %                           Textseite 
 +<SHIFT F4>  D4  <ESC>SW<#26> H e l p s c r e e n (a..f): <ESC>S<#81> 
 +                <ESC>9<#81> <ESC>SG                Help-Bilschirm anzeigen 
 +<SHIFT F8>  D8  <LESC> O41                         Linien schwarz (löschen) 
 +<SHIFT F9>  D9  <LESC> O40                         Linien weiß (sichtbar) 
 +<SHIFT F10> DA  <LESC> O12 <LESC> N <#12><#20><#0> Große und dicke Schrift 
 +<SHIFT F11> DB  <LESC> O11 <LESC> N <#0><#0><#0>   Normal dünne Schrift 
 +<SHIFT F12> DC  <LESC> G4                          Kursiv/Invers an 
 +<SHIFT F13> DD  <LESC> G0                          Kursiv/Invers aus 
 +<SHIFT F14> DE  <LESC> ^0                          Graphikhardcopy 
 +<SHIFT F15> DF  <LESC> P                           Texthardcopy 
 + 
 diff --git a/system/ruc-terminal/unknown/doc/TTABP.PRT b/system/ruc-terminal/unknown/doc/TTABP.PRT new file mode 100644 index 0000000..f5b9b57 --- /dev/null +++ b/system/ruc-terminal/unknown/doc/TTABP.PRT @@ -0,0 +1,666 @@ +#type ("elite")##limit (16.2)# 
 +#pagenr (""224"", 64)##type ("elite")# 
 +#page##--------------------------------- Ende der Seite 0 -----------#
 +#center##on("b")#Bedienungshandbuch zum ruc - Graphikterminal#off("b")# 
 + 
 + 
 + 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#text begin# 
 +#type("8")##center##on("i")##on("u")##ib(3)#A.  Anhang A - ASCII Tabelle, Zeichensätze, Parameter#ie(3)##off("u")##off("i")##type("elite")# 
 + 
 + 
 +              Winkel Cur- Byteparameter 
 +Dez Hex ASCII  Grad  sor  4    5    6 Taste(n)             Graphikzeichen 
 +#rpos(16.0)##fillchar(" ")##table# 
 +#on("u")# #off("u")# 
 +#table end# 
 +#clearpos# 
 +  0 00  NUL       0       0    0    0  <SHIFT CTRL @> 
 +  1 01  SOH       5       1    1    1  <CTRL A> 
 +  2 02  STX      10       2    2    2  <CTRL B> 
 +  3 03  ETX      15       3    3    3  <CTRL C> 
 +  4 04  EOT      20       4    4    4  <CTRL D> 
 +  5 05  ENQ      25       5    5    5  <CTRL E> 
 +  6 06  ACK      30       6    6    6  <CTRL F> 
 +  7 07  BEL      35       7    7    7  <CTRL G> 
 +  8 08  BS       40       8    8    8  <BACKSPACE>  <== 
 +  9 09  HT       45       9    9    9  <TAB> 
 + 10 0A  LF       50      10   10   10  <CTRL J> Apple: <DOWN> 
 + 11 0B  VT       55      11   11   11  <CTRL K> Apple: <UP> 
 + 12 0C  FF       60      12   12   12  <CTRL L> TVI: <RIGHT> 
 + 13 0D  CR       65      13   13   13  <RETURN> 
 + 14 0E  SO       70      14   14   14  <CTRL N> 
 + 15 0F  SI       75      15   15   15  <CTRL O> 
 + 16 10  DLE      80       0   16   16  <CTRL P> 
 + 17 11  DC1 XON  85       1   17   17  <CTRL Q> 
 + 18 12  DC2      90       2   18   18  <CTRL R> 
 + 19 13  DC3 XOFF 95       3   19   19  <CTRL S> 
 + 20 14  DC4     100       4   20   20  <CTRL T> 
 + 21 15  NAK     105       5   21   21  ==>   Apple: <RIGHT> 
 + 22 16  SYN     110       6   22   22  <CTRL V> 
 + 23 17  ETB     115       7   23   23  <CTRL W> 
 + 24 18  CAN     120       8   24   24  <CTRL X> <CE> 
 + 25 19  EM      125       9   25   25  <CTRL Y> 
 + 26 1A  SUB     130      10   26   26  <CTRL Z> TVI: <CLEAR> 
 + 27 1B  ESC     135      11   27   27  <ESC> 
 + 28 1C  FS      140      12   28   28  <CTRL \> 
 + 29 1D  GS      145      13   29   29  <CTRL ]> 
 + 30 1E  RS      150      14   30   30  <CTRL ^> TVI: <HOME> 
 + 31 1F  US      155      15   31   31  <CTRL _> TVI: <SHIFT RETURN> 
 + 32 20  SPACE   160   0   0    0   32  <SPACE> 
 + 33 21  !       165   1   1    1   33  ! 
 + 34 22  "       170   2   2    2   34  " 
 + 35 23  #       175   3   3    3   35  # 
 + 36 24  $       180   4   4    4   36  $ 
 + 37 25  %       185   5   5    5   37  % 
 + 38 26  &       190   6   6    6   38  & 
 + 39 27  '       195   7   7    7   39  ' 
 + 40 28  (       200   8   8    8   40  ( 
 + 41 29  )       205   9   9    9   41  ) 
 + 42 2A  *       210  10  10   10   42  * 
 + 43 2B  +       215  11  11   11   43  + 
 + 44 2C  ,       220  12  12   12   44  , 
 + 45 2D  -       225  13  13   13   45  - 
 +#text end#
 +#free(02.351852e-2)#
 + 
 + 
 +#right#64 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#page##--------------------------------- Ende der Seite 64 -----------#
 +#center##on("b")#A.  Anhang A - ASCII Tabelle, Zeichensätze, Parameter#off("b")# 
 + 
 + 
 + 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#text begin# 
 + 46 2E  .       230  14  14   14   46  . 
 + 47 2F  /       235  15  15   15   47  / 
 + 48 30  0       240  16   0   16   48  0 
 + 49 31  1       245  17   1   17   49  1 
 + 50 32  2       250  18   2   18   50  2 
 + 51 33  3       255  19   3   19   51  3 
 + 52 34  4       260  20   4   20   52  4 
 + 53 35  5       265  21   5   21   53  5 
 + 54 36  6       270  22   6   22   54  6 
 + 55 37  7       275  23   7   23   55  7 
 + 56 38  8       280  24   8   24   56  8 
 + 57 39  9       285  25   9   25   57  9 
 + 58 3A  :       290  26  10   26   58  : 
 + 59 3B  ;       295  27  11   27   59  ; 
 + 60 3C  <       300  28  12   28   60  < 
 + 61 3D  =       305  29  13   29   61  = 
 + 62 3E  >       310  30  14   30   62  > 
 + 63 3F  ?       315  31  15   31   63  ? 
 + 64 40  @       320  32   0    0    0  @ 
 + 65 41  A       325  33   1    1    1  A 
 + 66 42  B       330  34   2    2    2  B 
 + 67 43  C       335  35   3    3    3  C 
 + 68 44  D       340  36   4    4    4  D 
 + 69 45  E       345  37   5    5    5  E 
 + 70 46  F       350  38   6    6    6  F 
 + 71 47  G       355  39   7    7    7  G 
 + 72 48  H         0  40   8    8    8  H 
 + 73 49  I         5  41   9    9    9  I 
 + 74 4A  J        10  42  10   10   10  J 
 + 75 4B  K        15  43  11   11   11  K 
 + 76 4C  L        20  44  12   12   12  L 
 + 77 4D  M        25  45  13   13   13  M 
 + 78 4E  N        30  46  14   14   14  N 
 + 79 4F  O        35  47  15   15   15  O 
 + 80 50  P        40  48   0   16   16  P 
 + 81 51  Q        45  49   1   17   17  Q 
 + 82 52  R        50  50   2   18   18  R 
 + 83 53  S        55  51   3   19   19  S 
 + 84 54  T        60  52   4   20   20  T 
 + 85 55  U        65  53   5   21   21  U 
 + 86 56  V        70  54   6   22   22  V 
 + 87 57  W        75  55   7   23   23  W 
 + 88 58  X        80  56   8   24   24  X 
 + 89 59  Y        85  57   9   25   25  Y 
 + 90 5A  Z        90  58  10   26   26  Z 
 + 91 5B  [   Ä    95  59  11   27   27  [ 
 + 92 5C  \   Ö   100  60  12   28   28  \ 
 + 93 5D  ]   Ü   105  61  13   29   29  ] 
 + 94 5E  ^       110  62  14   30   30  ^ 
 + 95 5F  _       115  63  15   31   31  _ 
 + 96 60  `       120  64   0    0   32  ` 
 + 97 61  a       125  65   1    1   33  a 
 +#text end#
 +#free(02.351852e-2)#
 + 
 + 
 + 65 
 +#page##--------------------------------- Ende der Seite 65 -----------#
 +#center##on("b")#Bedienungshandbuch zum ruc - Graphikterminal#off("b")# 
 + 
 + 
 + 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#text begin# 
 + 98 62  b       130  66   2    2   34  b 
 + 99 63  c       135  67   3    3   35  c 
 +100 64  d       140  68   4    4   36  d 
 +101 65  e       145  69   5    5   37  e 
 +102 66  f       150  70   6    6   38  f 
 +103 67  g       155  71   7    7   39  g 
 +104 68  h       160  72   8    8   40  h 
 +105 69  i       165  73   9    9   41  i 
 +106 6A  j       170  74  10   10   42  j 
 +107 6B  k       175  75  11   11   43  k 
 +108 6C  l       180  76  12   12   44  l 
 +109 6D  m       185  77  13   13   45  m 
 +110 6E  n       190  78  14   14   46  n 
 +111 6F  o       195  79  15   15   47  o 
 +112 70  p       200       0   16   48  p 
 +113 71  q       205       1   17   49  q 
 +114 72  r       210       2   18   50  r 
 +115 73  s       215       3   19   51  s 
 +116 74  t       220       4   20   52  t 
 +117 75  u       225       5   21   53  u 
 +118 76  v       230       6   22   54  v 
 +119 77  w       235       7   23   55  w 
 +120 78  x       240       8   24   56  x 
 +121 79  y       245       9   25   57  y 
 +122 7A  z       250      10   26   58  z 
 +123 7B  {   ä   255      11   27   59  { 
 +124 7C  |   ö   260      12   28   60  | 
 +125 7D  }   ü   265      13   29   61  } 
 +126 7E  ~   ß   270      14   30   62  ~ 
 +127 7F  DEL     275      15   31   63  <DELETE> 
 +128 80  * NUL   280       0    0    0 
 +129 81  * SOH   285       1    1    1  <SHIFT DELETE> 
 +130 82  * STX   290       2    2    2  <SHIFT TOPLEFT> # 
 +131 83  * ETX   295       3    3    3  <SHIFT TOPRIGHT> # 
 +132 84  * EOT   300       4    4    4 
 +133 85  * ENQ   305       5    5    5 
 +134 86  * ACK   310       6    6    6 
 +135 87  * BEL   315       7    7    7 
 +136 88  * BS    320       8    8    8  <LEFT> # 
 +137 89  * HT    325       9    9    9  <SHIFT TAB> # 
 +138 8A  * LF    330      10   10   10  <DOWN> # 
 +139 8B  * VT    335      11   11   11  <UP> # 
 +140 8C  * FF    340      12   12   12 
 +141 8D  * CR    345      13   13   13  <SHIFT RETURN> # 
 +142 8E  * SO    350      14   14   14  <TOPLEFT> # 
 +143 8F  * SI    355      15   15   15  <TOPRIGHT> # 
 +144 90  * DLE     0       0   16   16 
 +145 91  * DC1     5       1   17   17 
 +146 92  * DC2    10       2   18   18 
 +147 93  * DC3    15       3   19   19 
 +148 94  * DC4    20       4   20   20 
 +149 95  * NAK    25       5   21   21  <RIGHT> # 
 +#text end#
 +#free(02.351852e-2)#
 + 
 + 
 +#right#66 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#page##--------------------------------- Ende der Seite 66 -----------#
 +#center##on("b")#A.  Anhang A - ASCII Tabelle, Zeichensätze, Parameter#off("b")# 
 + 
 + 
 + 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#text begin# 
 +150 96  * SYN    30       6   22   22 
 +151 97  * ETB    35       7   23   23 
 +152 98  * CAN    40       8   24   24 
 +153 99  * EM     45       9   25   25 
 +154 9A  * SUB    50      10   26   26 
 +155 9B  * ESC    55      11   27   27  <SHIFT ESC> 
 +156 9C  * FS     60      12   28   28 
 +157 9D  * GS     65      13   29   29 
 +158 9E  * RS     70      14   30   30 
 +159 9F  * US     75      15   31   31 
 +160 A0  * SPACE  80       0    0   32 
 +161 A1  * !      85       1    1   33  <CTRL F1> 
 +162 A2  * "      90       2    2   34  <CTRL F2> 
 +163 A3  * #      95       3    3   35  <CTRL F3> 
 +164 A4  * $     100       4    4   36  <CTRL F4> 
 +165 A5  * %     105       5    5   37  <CTRL F5> 
 +166 A6  * &     110       6    6   38  <CTRL F6> 
 +167 A7  * '     115       7    7   39  <CTRL F7> 
 +168 A8  * (     120       8    8   40  <CTRL F8> 
 +169 A9  * )     125       9    9   41  <CTRL F9> 
 +170 AA  * *     130      10   10   42  <CTRL F10> 
 +171 AB  * +     135      11   11   43  <CTRL F11> 
 +172 AC  * ,     140      12   12   44  <CTRL F12> 
 +173 AD  * -     145      13   13   45  <CTRL F13> 
 +174 AE  * .     150      14   14   46  <CTRL F14> 
 +175 AF  * /     155      15   15   47  <CTRL F15> 
 +176 B0  * 0     160       0   16   48 
 +177 B1  * 1     165       1   17   49  <SHIFT CTRL F1> 
 +178 B2  * 2     170       2   18   50  <SHIFT CTRL F2> 
 +179 B3  * 3     175       3   19   51  <SHIFT CTRL F3> 
 +180 B4  * 4     180       4   20   52  <SHIFT CTRL F4> 
 +181 B5  * 5     185       5   21   53  <SHIFT CTRL F5> 
 +182 B6  * 6     190       6   22   54  <SHIFT CTRL F6> 
 +183 B7  * 7     195       7   23   55  <SHIFT CTRL F7> 
 +184 B8  * 8     200       8   24   56  <SHIFT CTRL F8> 
 +185 B9  * 9     205       9   25   57  <SHIFT CTRL F9> 
 +186 BA  * :     210      10   26   58  <SHIFT CTRL F10> 
 +187 BB  * ;     215      11   27   59  <SHIFT CTRL F11> 
 +188 BC  * <     220      12   28   60  <SHIFT CTRL F12> 
 +189 BD  * =     225      13   29   61  <SHIFT CTRL F13> 
 +190 BE  * >     230      14   30   62  <SHIFT CTRL F14> 
 +191 BF  * ?     235      15   31   63  <SHIFT CTRL F15> 
 +192 C0  * @     240       0    0    0 
 +193 C1  * A     245       1    1    1  <F1> # 
 +194 C2  * B     250       2    2    2  <F2> # 
 +195 C3  * C     255       3    3    3  <F3> # 
 +196 C4  * D     260       4    4    4  <F4> # 
 +197 C5  * E     265       5    5    5  <F5> # 
 +198 C6  * F     270       6    6    6  <F6> # 
 +199 C7  * G     275       7    7    7  <F7> # 
 +200 C8  * H     280       8    8    8  <F8> # 
 +201 C9  * I     285       9    9    9  <F9> # 
 +#text end#
 +#free(02.351852e-2)#
 + 
 + 
 + 67 
 +#page##--------------------------------- Ende der Seite 67 -----------#
 +#center##on("b")#Bedienungshandbuch zum ruc - Graphikterminal#off("b")# 
 + 
 + 
 + 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#text begin# 
 +202 CA  * J     290      10   10   10  <F10> # 
 +203 CB  * K     295      11   11   11  <F11> # 
 +204 CC  * L     300      12   12   12  <F12> # 
 +205 CD  * M     305      13   13   13  <F13> # 
 +206 CE  * N     310      14   14   14  <F14> # 
 +207 CF  * O     315      15   15   15  <F15> # 
 +208 D0  * P     320       0   16   16  <SHIFT HOME> # 
 +209 D1  * Q     325       1   17   17  <SHIFT F1> # 
 +210 D2  * R     330       2   18   18  <SHIFT F2> # 
 +211 D3  * S     335       3   19   19  <SHIFT F3> # 
 +212 D4  * T     340       4   20   20  <SHIFT F4> # 
 +213 D5  * U     345       5   21   21  <SHIFT F5> # 
 +214 D6  * V     350       6   22   22  <SHIFT F6> # 
 +215 D7  * W     355       7   23   23  <SHIFT F7> # 
 +216 D8  * X       0       8   24   24  <SHIFT F8> # 
 +217 D9  * Y       5       9   25   25  <SHIFT F9> # 
 +218 DA  * Z      10      10   26   26  <SHIFT F10> # 
 +219 DB  * [ * Ä  15      11   27   27  <SHIFT F11> # 
 +220 DC  * \ * Ö  20      12   28   28  <SHIFT F12> # 
 +221 DD  * ] * Ü  25      13   29   29  <SHIFT F13> # 
 +222 DE  * ^      30      14   30   30  <SHIFT F14> # 
 +223 DF  * _      35      15   31   31  <SHIFT F15> # 
 +224 E0  * `      40       0    0   32 
 +225 E1  * a      45       1    1   33  <SHIFT NUM1> # 
 +226 E2  * b      50       2    2   34  <SHIFT NUM2> # 
 +227 E3  * c      55       3    3   35  <SHIFT NUM3> # 
 +228 E4  * d      60       4    4   36  <SHIFT NUM4> # 
 +229 E5  * e      65       5    5   37  <SHIFT NUM5> # 
 +230 E6  * f      70       6    6   38  <SHIFT NUM6> # 
 +231 E7  * g      75       7    7   39  <SHIFT NUM7> # 
 +232 E8  * h      80       8    8   40  <SHIFT NUM8> # 
 +233 E9  * i      85       9    9   41  <SHIFT NUM9> # 
 +234 EA  * j      90      10   10   42  <SHIFT NUM0> # 
 +235 EB  * k      95      11   11   43  <SHIFT NUM.> # 
 +236 EC  * l     100      12   12   44  <SHIFT NUM+> # 
 +237 ED  * m     105      13   13   45  <SHIFT NUM-> # 
 +238 EE  * n     110      14   14   46 
 +239 EF  * o     115      15   15   47  <SHIFT BOTRIGHT> # 
 +240 F0  * p     120       0   16   48 
 +241 F1  * q     125       1   17   49 
 +242 F2  * r     130       2   18   50 
 +243 F3  * s     135       3   19   51 
 +244 F4  * t     140       4   20   52 
 +245 F5  * u     145       5   21   53 
 +246 F6  * v     150       6   22   54 
 +247 F7  * w     155       7   23   55 
 +248 F8  * x     160       8   24   56 
 +249 F9  * y     165       9   25   57 
 +250 FA  * z     170      10   26   58 
 +251 FB  * { * ä 175      11   27   59 
 +252 FC  * | * ö 180      12   28   60 
 +253 FD  * } * ü 185      13   29   61 
 +#text end#
 +#free(02.351852e-2)#
 + 
 + 
 +#right#68 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#page##--------------------------------- Ende der Seite 68 -----------#
 +#center##on("b")#A.  Anhang A - ASCII Tabelle, Zeichensätze, Parameter#off("b")# 
 + 
 + 
 + 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#text begin# 
 +254 FE  * ~ * ß 190      14   30   62 
 +255 FF  * DEL   195      15   31   63 
 + 
 +Beim Apple-Keyboard können alle Codes > 127 auch mit der Open-Apple Taste
 +und einem ASCII-Zeichen zusammen erzeugt werden. 
 +Die mit # gekennzeichneten Tasten erzeugen im TVI-Modus nicht diesen Code. 
 +Die mit * gekennzeichneten ASCII-Zeichen werden auf dem Bildschirm invers
 +dargestellt. 
 + 
 +#text end#
 +#free(18.22685)#
 + 
 + 
 + 69 
 +#page##--------------------------------- Ende der Seite 69 -----------#
 +#center##on("b")#Bedienungshandbuch zum ruc - Graphikterminal#off("b")# 
 + 
 + 
 + 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#text begin# 
 +#type("8")##center##on("i")##on("u")##ib(3)#B.  Anhang B - Befehlsübersicht#ie(3)##off("u")##off("i")##type("elite")# 
 + 
 + 
 +#on("u")#Controlkommandos:#off("u")# 
 + 
 +Hex ASCII Taste(n)                      Funktion 
 +#rpos(16.0)##fillchar(" ")##table# 
 +#on("u")# #off("u")# 
 +#table end# 
 +#clearpos# 
 +07  BEL  <CTRL G>                       Signalton 
 +08  BS   <BACKSPACE>  <==               Backspace, Cursor Left 
 +09  HT   <TAB>                          Tabulator, 8 Spalten 
 +0A  LF   <CTRL J> Apple: <DOWN>         Zeilenvorschub, ggf. Scroll/Page 
 +0B  VT   <CTRL K> Apple: <UP>           Cursor hoch 
 +0C  FF   <CTRL L> TVI: <RIGHT>          Cursor rechts 
 +0D  CR   <RETURN>                       Waagenrücklauf, ohne Linefeed 
 +0E  SO   <CTRL N>                       XON/XOFF Protokoll ausschalten 
 +0F  SI   <CTRL O>                       XON/XOFF Protokoll einschalten 
 +11  DC1  <CTRL Q>                       XON 
 +13  DC3  <CTRL S>                       XOFF 
 +15  NAK  <CTRL U> ==> Apple: <RIGHT>    Cursor rechts 
 +16  SYN  <CTRL V>                       Cursor runter (ohne Scroll/Page) 
 +17  CAN  <CTRL X> <CE>                  Graphikmodus: Fadenkreuz an/aus 
 +1A  SUB  <CTRL Z> TVI: <CLEAR>          Bildschirm löschen & Cursor Home 
 +1B  ESC  <ESC>                          Escape-Sequenz einleiten 
 +1E  RS   <CTRL ^> TVI: <HOME>           Cursor Home 
 +1F  US   <CTRL _> TVI: <SHIFT RETURN>   Zum nächsten Zeilenanfang, ggf.
 +                                        Scroll/Page 
 + 
 + 
 +Escape-Sequenzen, thematisch sortiert 
 +------------------------------------- 
 + 
 +a.) Betriebsmodi: 
 + 
 +ESC $                 Graphikmodus einschalten 
 +ESC %                 Textmodus einschalten 
 +ESC H                 Autoscroll/Pagemode 
 +ESC U                 Monitormode einschalten 
 +ESC X                 Monitormode/Hexmode ausschalten 
 +ESC c                 Funktionstastencode/Funktionstastenstring 
 +ESC u                 Hexmode ein-/ausschalten, Monitormode ausschalten 
 + 
 + 
 +#text end#
 +#free(4.256852)#
 + 
 + 
 +#right#70 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#page##--------------------------------- Ende der Seite 70 -----------#
 +#center##on("b")#B.  Anhang B - Befehlsübersicht#off("b")# 
 + 
 + 
 + 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#text begin# 
 +b.) Editkommandos 
 + 
 +ESC *                 Text oder Graphikbildschirm löschen und Cursor Home 
 +ESC +                                        " 
 +ESC ,                                        " 
 +ESC :                                        " 
 +ESC E                 Zeile einfügen (im Textmodus) 
 +ESC I                 Rückwärtstabulator (8 Spalten, im Textmodus) 
 +ESC L                 Zeile einfügen (im Textmodus) 
 +ESC M                 Zeile löschen (im Textmodus) 
 +ESC Q                 Zeichen einfügen (im Textmodus) 
 +ESC R                 Zeile löschen (im Textmodus) 
 +ESC T                 Zeile ab Cursorposition bis zum Zeilenende löschen 
 +ESC W                 Zeichen löschen (im Textmodus) 
 +ESC Y                 Seite ab Cursorposition bis zum Seitenende löschen 
 +ESC j                 Umgekehrter Zeilenvorschub 
 +ESC t                 Zeile ab Cursor bis Zeilenende löschen (im Textmodus) 
 + 
 + 
 +c.) Sendekommandos 
 + 
 +ESC -                 Farbe, Zustand, In-Window-Bit bei Cursorpos senden 
 +ESC 4                 Nummer der sichtbaren und der Arbeitsseite senden 
 +ESC 5                 Graphikparameter (Dicke,Farbe,Bitverknüpfung) senden 
 +ESC 6                 Aktuelle Textzeile senden 
 +ESC 7                 Ganze Textseite senden 
 +ESC 8                 Zeichen an der Cursorposition senden 
 +ESC \ <ll><lh><al><ah>Aktuelle Graphikseite senden (oder Teile) 
 +ESC ;                 Position des Graphikcursors senden 
 +ESC ?                 Position des Textcursors senden 
 +ESC _                 Graphikbyte bei Graphikcursorposition senden 
 +ESC x 1 <l><m>        Zeilenbegrenzer für <ESC> 6 und <ESC> 7 einstellen 
 +ESC x 4 <p>           Seitenbegrenzer für <ESC> 7 einstellen 
 + 
 + 
 +d.) Übertragungskommandos 
 + 
 +ESC SPACE SPACE <p>   Baudrate, Stopbits, Datenbits, Parity einstellen 
 +ESC SPACE 0           Basis/Apple Keyboardcodes, keine Emulation 
 +ESC SPACE 1           TVI - Emulation 
 +ESC SPACE 2           Keine Hardware Flußkontrolle 
 +ESC SPACE 3           RTS/CTS Flußkontrolle 
 +ESC SPACE 4           DTR/DSR Flußkontrolle 
 +ESC SPACE 5           RTS/CTS und DTR/DSR Flußkontrolle 
 +ESC SPACE 6           8. Datenbit ist 0 
 +ESC SPACE 7           8. Datenbit vorhanden 
 +ESC D L               Local-Modus 
 +ESC D E               Online-Modus mit Echo 
 +ESC D O               Online-Modus ohne Echo 
 + 
 + 
 +#text end#
 +#free(04.468519e-1)#
 + 
 + 
 + 71 
 +#page##--------------------------------- Ende der Seite 71 -----------#
 +#center##on("b")#Bedienungshandbuch zum ruc - Graphikterminal#off("b")# 
 + 
 + 
 + 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#text begin# 
 +e.) Bildschirm/Druckerausgabe 
 + 
 +ESC @                 Empfangsdaten auf Drucker ausgeben 
 +ESC A                 Empfangsdaten nicht auf Drucker ausgeben 
 +ESC P                 Hardcopy der Textseite 
 +ESC ^ <p>             Hardcopy der aktuellen Graphikseite 
 +ESC `                 Empfangsdaten nicht auf dem Bildschirm anzeigen 
 +ESC a                 Empfangsdaten auf dem Bildschirm anzeigen 
 +ESC ~ <n><l><p.>      Definition d.Druckertreiberstrings f.Graphikhardcopy 
 + 
 + 
 +f.) Cursor/Cursor Adressierung 
 + 
 +ESC . 0               Cursor aus 
 +ESC . 1               Cursor blinkend 
 +ESC . 2               Cursor an, nicht blinkend 
 +ESC = <y+32><x+32>    Cursor auf Adresse positionieren 
 +ESC Z                 Cursor an/aus 
 + 
 + 
 +g.) Attribute 
 + 
 +ESC (                 Normale Zeichen 
 +ESC )                 Textmodus: Inversschrift, Graphik: Kursivschrift 
 +ESC G 0               Normale Schrift 
 +ESC G 1               Unsichtbare Schrift, Leerzeichen 
 +ESC G 4               Inverse Schrift 
 +ESC G 5               Unsichtbare Schrift, inverse Leerzeichen 
 +ESC b                 Schwarze Schrift auf hellem Grund (nur im Textmodus) 
 +ESC d                 Helle Schrift auf dunklem Grund, (nur im Textmodus) 
 +ESC z <n>             Zeichensatz einstellen 
 + 
 + 
 +h.) Text in Graphiken 
 + 
 +ESC &                 Graphikzeichen ersetzen darunterliegende 
 +ESC '                 Graphikzeichen überschreiben darunterliegende 
 +ESC N <b><h><w>       Zeichenbreite, -höhe und Schreibrichtung einstellen 
 + 
 + 
 +i.) Graphikzeichenkommandos 
 + 
 +ESC J <b, h;>         Relatives Rechteck zeichnen 
 +ESC K <r, s;>         Kreis(segmente) mit dem Radius <r> zeichnen 
 +ESC m <x, y;>         Absoluten Punkt bei (x, y) zeichnen 
 +ESC n <l, w;>         Turtle Draw/Move <l> ist Länge, <w> ist Winkel 
 +ESC o                 Turtle Penup/Pendown 
 +ESC q <x, y;>         Relativer Move 
 +ESC r <x, y;>         Relativer Draw 
 +ESC s <xr,yr,aw,ew;>  Ellipsenbogen(Radien xr,yr) v.<aw> bis <ew> zeichnen 
 +ESC v <x, y;>         Absoluter Move nach (x, y) 
 +ESC w <x, y;>         Absoluter Draw nach (x, y) 
 +#text end#
 +#free(02.351852e-2)#
 + 
 + 
 +#right#72 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#page##--------------------------------- Ende der Seite 72 -----------#
 +#center##on("b")#B.  Anhang B - Befehlsübersicht#off("b")# 
 + 
 + 
 + 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#text begin# 
 +j.) Verschiede Graphikkommandos 
 + 
 +ESC ! <p>             Graphikseiten mischen, kopieren, trennen, invertieren 
 +ESC / <ll><lh><al><ah><p...> Graphikseite vom Host laden 
 +ESC O 0               Graphikparameter auf Default 
 +ESC O 1 <d>           Strichdicke setzen 
 +ESC O 2 <f>           Farbe/Helligkeit einstellen 
 +ESC O 3 <p>           Linientyp (Punkt/Strichmuster) einstellen 
 +ESC O 4 <p>           Bitverknüpfung setzen (0=OR, 1=AND, 2=XOR, 3=COPY) 
 +ESC O 5 <p>           Farbe, Dicke, Bitverknüpfung zusammen einstellen 
 +ESC O 6 <pl><ph>      Benutzerdefinierbares Linienmuster einstellen 
 +ESC O 7 <p>           Arbeitsseite, sichtbare Seite u.Mixedmode einstellen 
 +ESC O 8 <p>           Turtle Penup/Pendown und Eraser/Drawer einstellen 
 +ESC O 9               Turtle Bildmitte, Richtung nach oben, Pendown, Drawer 
 +ESC O : <b1..b8>      Benutzerdefinierbares Füllmuster einstellen 
 +ESC y                 Graphikseite löschen und Cursor nach (0, 0) 
 +ESC | <n>             Fläche füllen/löschen mit dem Muster Nummer <n> 
 + 
 + 
 +k.) Verschiedene und spezielle Funktionen 
 + 
 +ESC 0                 Terminalprogramm initialisieren (Softwarereset) 
 +ESC 9 <d>             Zeitverzögerung ca. <d> * 2 ms 
 +ESC <                 Keyboardclick ausschalten 
 +ESC >                 Keyboardclick einschalten 
 +ESC F <c>             Controlcharacter darstellen 
 +ESC e <d...><t>       Funktionstaste <t> mit Daten <d...> belegen 
 +ESC {                 Statuszeile aus (24. Textzeile sichtbar) 
 +ESC }                 Statuszeile an (24. Textzeile unsichtbar) 
 +ESC S <n>             Graphik/Textseite von/auf Diskette laden/speichern 
 +ESC DEL 1             Tastenbelegungen löschen 
 +ESC DEL 2             Druckerpuffer löschen 
 +ESC DEL 3             Empfangspuffer löschen 
 +ESC DEL 4             Sendepuffer löschen 
 + 
 +#text end#
 +#free(7.220185)#
 + 
 + 
 + 73 
 +#page##--------------------------------- Ende der Seite 73 -----------#
 +#center##on("b")#Bedienungshandbuch zum ruc - Graphikterminal#off("b")# 
 + 
 + 
 + 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#text begin# 
 +#type("8")##center##on("i")##on("u")##ib(3)#C.  Anhang C - Default Funktionstastenbelegungen#ie(3)##off("u")##off("i")##type("elite")# 
 + 
 + 
 +Bemerkung zur Schreibweise: 
 +<#40> bezeichnet den ASCII-Code für '(', also den ASCII-Code 40 (dezimal). 
 +<LESC> bezeichnet den Code Hex 9B für Local Escape, damit diese Tastenfunk-
 +tionen sowohl im Local- als auch im Onlinemodus ausgeführt werden können. 
 + 
 +a.) Zehnerblock mit <SHIFT> 
 + 
 +Die Anordnung der Zifferntasten entspricht einem "Cursorblock" mit acht
 +Richtungen. Die Taste <SHIFT 5> zeigt nur das Fadenkreuz, d.h. die Position
 +des Graphikcursors bleibt unverändert. Bei allen anderen Zifferntasten än-
 +dert sich die Position des Graphikcursors und das Fadenkreuz wird kurz
 +sichtbar. Bis auf die Help-Taste <SHIFT F4> können alle Tasten auch im On-
 +line-Modus aufgerufen werden. 
 + 
 +Die Tastenbelegungen im einzelnen: 
 + 
 +Taste    Hex-Code Code-Sequenz 
 +#rpos(16.0)##fillchar(" ")##table# 
 +#on("u")# #off("u")# 
 +#table end# 
 +#clearpos# 
 +<SHIFT 1>  E1  <LESC> q-1,-1; <LESC><CTRL X><LESC> 9 <#40><LESC><CTRL X> 
 +<SHIFT 2>  E2  <LESC> q0,-1;  <LESC><CTRL X><LESC> 9 <#40><LESC><CTRL X> 
 +<SHIFT 3>  E3  <LESC> q1,-1;  <LESC><CTRL X><LESC> 9 <#40><LESC><CTRL X> 
 +<SHIFT 4>  E4  <LESC> q-1,0;  <LESC><CTRL X><LESC> 9 <#40><LESC><CTRL X> 
 +<SHIFT 5>  E5  <LESC> <CTRL X><LESC> 9 <#127> <LESC> <CTRL X> 
 +<SHIFT 6>  E6  <LESC> q1,0;   <LESC><CTRL X><LESC> 9 <#40><LESC><CTRL X> 
 +<SHIFT 7>  E7  <LESC> q-1,1;  <LESC><CTRL X><LESC> 9 <#40><LESC><CTRL X> 
 +<SHIFT 8>  E8  <LESC> q0,1;   <LESC><CTRL X><LESC> 9 <#40><LESC><CTRL X> 
 +<SHIFT 9>  E9  <LESC> q1,1;   <LESC><CTRL X><LESC> 9 <#40><LESC><CTRL X> 
 + 
 +Terminalinitialisierung mit <SHIFT BOTTOMRIGHT>: 
 +            EF  (Cursorpositionierung und Einschaltmeldung) 
 + 
 + 
 +b.) Die Funktionstasten mit <SHIFT> 
 + 
 +Taste    Hex-Code Code-Sequenz                     Bedeutung 
 +#rpos(16.0)##fillchar(" ")##table# 
 +#on("u")# #off("u")# 
 +#table end# 
 +#clearpos# 
 +<SHIFT F1>  D1  <LESC> $ <LESC> O70                Graphikseite 1 
 +<SHIFT F2>  D2  <LESC> $ <LESC> O73                Graphikseite 2 
 +<SHIFT F3>  D3  <LESC> %                           Textseite 
 +<SHIFT F4>  D4  <ESC>SW<#26> H e l p s c r e e n (a..f): <ESC>S<#81> 
 +                <ESC>9<#81> <ESC>SG                Help-Bilschirm anzeigen 
 +<SHIFT F8>  D8  <LESC> O41                         Linien schwarz (löschen) 
 +<SHIFT F9>  D9  <LESC> O40                         Linien weiß (sichtbar) 
 +<SHIFT F10> DA  <LESC> O12 <LESC> N <#12><#20><#0> Große und dicke Schrift 
 +<SHIFT F11> DB  <LESC> O11 <LESC> N <#0><#0><#0>   Normal dünne Schrift 
 +<SHIFT F12> DC  <LESC> G4                          Kursiv/Invers an 
 +<SHIFT F13> DD  <LESC> G0                          Kursiv/Invers aus 
 +<SHIFT F14> DE  <LESC> ^0                          Graphikhardcopy 
 +<SHIFT F15> DF  <LESC> P                           Texthardcopy 
 +#text end#
 +#free(02.351852e-2)#
 + 
 + 
 +#right#74 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#page##--------------------------------- Ende der Seite 74 -----------#
 +#center##on("b")#C.  Anhang C - Default Funktionstastenbelegungen#off("b")# 
 + 
 + 
 + 
 +#type("elite")##limit(16.2)##linefeed(01.0)# 
 +#text begin# 
 +#text end#
 +#free(22.03685)#
 + 
 + 
 + 75 
 +#page##--------------------------------- Ende der Seite 75 -----------#
 diff --git a/system/ruc-terminal/unknown/src/SCCPARAM.ELA b/system/ruc-terminal/unknown/src/SCCPARAM.ELA new file mode 100644 index 0000000..ab59518 --- /dev/null +++ b/system/ruc-terminal/unknown/src/SCCPARAM.ELA @@ -0,0 +1,144 @@ +(* Uebertragungsparameter fuer Kanal 2 und 3 (SCC) setzen *) 
 +(* Vers. 1.2 : 'setup'-Prozedur / 03.02.86, M.Staubermann *) 
 + 
 +PACKET scc DEFINES baudrate, 
 +                   setup ,
 + 
 +                   channel a, 
 +                   channel b, 
 +                   no parity, 
 +                   even parity, 
 +                   odd parity, 
 + 
 +                   read port, 
 +                   write port, 
 +                   register, 
 +                   quartz :
 + 
 +BOOL CONSTchannel a   :: TRUE , 
 +          channel b   :: FALSE ; 
 +INT CONST no parity   :: 0, 
 +          even parity :: 3, 
 +          odd parity  :: 1; 
 + 
 +REAL VAR clk frequency := 12288000.0 ; (* Oszillatorfrequenz *) 
 +LET offset        = 0 ; 
 + 
 +PROC quartz (REAL CONST wert) : 
 + clk frequency := wert 
 +ENDPROC quartz ; 
 + 
 +REAL PROC quartz : 
 + clk frequency 
 +ENDPROC quartz ; 
 + 
 +PROC setup (BOOL CONST channel, INT CONST parity, 
 +            REAL CONST stopbits, INT CONST bits, 
 +            BOOL CONST dtr, rts, auto dtr, auto cts) :
 + 
 +(* Parameter müssen zusammen gesetzt werden, da die Register keine 
 +   Read-Register sind. Alte Werte müssen ausserhalb des SCC's gespeichert 
 +   werden. *) 
 + 
 + INT VAR value := 64 ; 
 + value INCR parity value ; 
 + value INCR stopbit value ; 
 + 
 + register (channel, 3, 0) ; 
 + register (channel, 5, 32 * bits value) ;
 + register (channel,14, 2) ; 
 + 
 + register (channel, 4, value) ; 
 + register (channel, 5, 8 + dtr value + rts value + 32 * bits value) ;
 + register (channel,14, 3 + auto dtr value) ;
 + register (channel, 3, 1 + 64 * bits value + auto cts value) .
 + 
 +bits value : 
 + IF bits <= 5 THEN 0 
 + ELIF bits >= 8 THEN 3 
 + ELIF bits = 6 THEN 2 
 + ELSE 1
 + FI .
 + 
 +parity value : 
 + IF parity >= 0 AND parity <= 3 THEN parity ELSE 0 FI . 
 + 
 +stopbit value : 
 + IF stopbits = 1.0 THEN 4 
 + ELIF stopbits = 1.5 THEN 8 
 + ELIF stopbits = 2.0 THEN 12 
 + ELSE 4 
 + FI . 
 + 
 +dtr value : 
 + IF dtr THEN 128 ELSE 0 FI . 
 + 
 +rts value : 
 + IF rts THEN 2 ELSE 0 FI . 
 + 
 +auto cts value :
 + IF auto cts THEN 32 ELSE 0 FI . 
 + 
 +auto dtr value : 
 + IF auto dtr THEN 4 ELSE 0 FI . 
 + 
 +ENDPROC setup ;
 + 
 +PROC baudrate (BOOL CONST channel, REAL CONST rate) :
 + INT CONST time constant :: int (clk frequency / (64.0 * rate) + 0.5) - 2 ;
 + register (channel, 13, time constant DIV 256) ; 
 + register (channel, 12, time constant AND 255)
 +ENDPROC baudrate ; 
 + 
 +REAL PROC baudrate (BOOL CONST channel) : 
 + INT CONST time constant :: 
 +     register (channel, 12) + 256 * register (channel, 13) ;
 + round (clk frequency / (real (time constant + 2) * 64.0), 1)
 +ENDPROC baudrate ; 
 + 
 + 
 +(*********************************************************************) 
 +(********* S C C    -     Z u g r i f f s p r o z e d u r e n ********)
 +(*********************************************************************) 
 + 
 + 
 +INT PROC read port (INT CONST port) : 
 + INT VAR value ; 
 + control (-1, offset + port, -1, value) ; 
 + IF value = -1 THEN errorstop ("SCC - Read failed") ; 0 
 + ELSE value 
 +FI . 
 + 
 +ENDPROC read port ;
 + 
 +PROC write port (INT CONST port, value) : 
 + INT VAR rcode, my channel := channel ; 
 + continue (32) ; 
 + control (-1, offset + port, value, r code) ; 
 + continue (my channel) ; 
 + IF r code = -1 THEN errorstop ("SCC - Write failed") FI 
 +ENDPROC write port ; 
 + 
 +INT PROC register (BOOL CONST is channel a, INT CONST register x) : 
 + INT VAR value ; 
 + IF is channel a 
 +    THEN write port (1, registerx) ; 
 +         read port (1) 
 +    ELSE write port (0, registerx) ; 
 +         read port (0) 
 + FI 
 +ENDPROC register ; 
 + 
 + 
 +PROC register (BOOL CONST is channel a, INT CONST register x, wert): 
 + IF is channel a 
 +    THEN write port (1, register x) ;
 +         write port (1, wert) 
 +    ELSE write port (0, register x) ;
 +         write port (0, wert)
 + FI 
 +ENDPROC register ; 
 + 
 +ENDPACKET scc ; 
 + 
 +
 diff --git a/system/ruc-terminal/unknown/src/SETUP.ELA b/system/ruc-terminal/unknown/src/SETUP.ELA new file mode 100644 index 0000000..ade2118 --- /dev/null +++ b/system/ruc-terminal/unknown/src/SETUP.ELA @@ -0,0 +1,257 @@ +PACKET setup DEFINES setup :         (* 02.03.86, M.Staubermann *) 
 + 
 +LET separator  = "|" , 
 +    old option mark = " " , (* ""16"" , *)
 +    choice mark = ""15"" , 
 +    end mark   = ""14"" , 
 +    left       = ""8"" , 
 +    right      = ""2"" , 
 +    bottom     = ""6""21""0"" , 
 +    clr line   = ""13""5"" ,
 +    home       = ""1"" ;
 + 
 +PROC selektor (TEXT CONST options, INT VAR option number,BOOL CONST warten) :
 + TEXT VAR zeichen ;
 + INT VAR i , 
 +         last separator pos , 
 +         new separator pos := 0 ,
 +         old option := option number , 
 +         max options := 0 ;
 + REP 
 +  new separator pos := pos (options, separator, new separator pos +1) ; 
 +  max options INCR 1 
 + UNTIL new separator pos = 0 PER ;
 + out (""13"") ; 
 + REP 
 +  i := 0 ; 
 +  last separator pos := 0 ;
 +  REP 
 +   i INCR 1 ;
 +   new separator pos := pos (options, separator, last separator pos + 1) ; 
 +   IF new separator pos = 0 
 +      THEN new separator pos := LENGTH options + 1 
 +   FI ;
 +   IF i = option number
 +      THEN out (choice mark) 
 +   ELIF i = old option 
 +      THEN out (old option mark) 
 +   ELSE out (end mark) 
 +   FI ; 
 +   out subtext (options, last separator pos + 1, new separator pos - 1) ; 
 +   out (end mark) ;
 +   last separator pos := new separator pos 
 +  UNTIL last separator pos = LENGTH options + 1 PER ;
 +  out (""13"") ;
 +  IF warten 
 +     THEN inchar (zeichen) ; 
 +          IF zeichen = ""27"" 
 +             THEN option number := old option 
 +          ELIF zeichen = left AND option number = 1 
 +             THEN option number := max options 
 +          ELIF zeichen = left 
 +             THEN option number DECR 1 
 +          ELIF zeichen = right AND option number = max options 
 +             THEN option number := 1 
 +          ELIF zeichen = right 
 +             THEN option number INCR 1 
 +          FI 
 +  ELSE zeichen := ""13"" 
 +  FI
 + UNTIL zeichen = ""13"" OR zeichen = ""27"" PER 
 +ENDPROC selektor ; 
 + 
 +LET std datenbits = 4 , (* 8 *) 
 +    std stopbits  = 1 , (* 1.0 *) 
 +    std flowmode  = 1 , (* xon/xoff *) 
 +    std parity    = 1 , (* no parity *) 
 +    std fixed     = 4 , (* RTS ON, DTR ON *) 
 + 
 +    setup text    = "Ende|Kanal|Baudrate|Datenbits|Stopbits|Parity|Flußkontrolle", 
 +    ende text     = "Ändern|Abbruch" , 
 +    kanal text    = "2|3" , 
 +    datenbits text= "5|6|7|8" , 
 +    stopbits text = "1.0|1.5|2.0" , 
 +    parity text   = "no|even|odd" , 
 +    fixed text    = "DTR OFF/RTS OFF|DTR OFF/RTS ON|DTR ON/RTS OFF|DTR ON/RTS ON" , 
 +    flowmode text = "xon/xoff|dtr|rts/cts|dtr/rts/cts|fixed" ; 
 + 
 +INT VAR old session := 0 ; 
 +ROW 2 INT VAR datenbits, stopbits, parity, flowmode , fixed ; 
 +ROW 2 REAL VAR baudrates ; 
 + 
 +PROC init params : 
 + datenbits := ROW 2 INT:(std datenbits , std datenbits) ; 
 + stopbits  := ROW 2 INT:(std stopbits , std stopbits) ; 
 + parity    := ROW 2 INT:(std parity , std parity) ; 
 + flowmode  := ROW 2 INT:(std flowmode , std flowmode) ; 
 + fixed     := ROW 2 INT:(std fixed, std fixed) ; 
 + baudrates := ROW 2REAL:(baudrate (channelb), baudrate (channela)) ;
 +ENDPROC init params ; 
 + 
 +PROC setup :
 + INT VAR kanal := aktueller kanal , 
 +         setup choice := 1 ; 
 + BOOL VAR x dtr, x rts, x auto dtr, x cts ; 
 + page ;
 + init setup (kanal, setup choice) ; 
 + select setup choice ; 
 + cursor (1, 19) ; 
 + setup choice := 2 ; 
 + selektor (ende text, setup choice, TRUE) ; 
 + out (bottom) ;
 + IF setup choice = 1 
 +    THEN kanal := 1 ; 
 +         x flowmode ; 
 +         setup (kanal bool, x parity, x stopbits, x datenbits, 
 +                x dtr, x rts, x auto dtr, x cts) ; 
 +         baudrate (kanal bool, baudrates (kanal)) ; 
 +         kanal := 2 ; 
 +         x flowmode ; 
 +         setup (kanal bool, x parity, x stopbits, x datenbits, 
 +                x dtr, x rts, x auto dtr, x cts) ; 
 +         baudrate (kanal bool, baudrates (kanal)) 
 + FI . 
 + 
 +x flowmode : 
 + x dtr := FALSE ; 
 + x rts := FALSE ; 
 + SELECT flowmode (kanal) OF 
 +  CASE 1 : x auto dtr := FALSE ; (* XON/XOFF *) 
 +           x cts      := FALSE 
 +  CASE 2 : x auto dtr := TRUE ;  (* DTR *)
 +           x cts      := FALSE 
 +  CASE 3 : x auto dtr := FALSE ; (* RTS/CTS *)
 +           x cts      := TRUE 
 +  CASE 4 : x auto dtr := TRUE  ; (* RTS/CTS/DTR *) 
 +           x cts      := TRUE 
 +  CASE 5 : x auto dtr := FALSE ; (* fixed *) 
 +           x cts      := FALSE ; 
 +           SELECT fixed (kanal) OF 
 +            CASE 1 : x dtr := FALSE ; (* wie XON/XOFF *)
 +                     x rts := FALSE 
 +            CASE 2 : x dtr := FALSE ; (* RTS=1 *) 
 +                     x rts := TRUE 
 +            CASE 3 : x dtr := TRUE ;  (* DTR=1 *)
 +                     x rts := FALSE 
 +            CASE 4 : x dtr := TRUE ;  (* RTS=1,DTR=1 *) 
 +                     x rts := TRUE 
 +           ENDSELECT 
 +ENDSELECT. 
 + 
 +x parity : 
 + SELECT parity (kanal) OF 
 +  CASE 2 : even parity 
 +  CASE 3 : odd parity 
 +  OTHERWISE no parity 
 + ENDSELECT. 
 + 
 +x stopbits : 
 + SELECT stopbits (kanal) OF 
 +  CASE 2 : 1.5 
 +  CASE 3 : 2.0 
 +  OTHERWISE 1.0 
 + ENDSELECT. 
 + 
 +x datenbits : 
 + datenbits (kanal) + 4. 
 + 
 +select setup choice : 
 + REP 
 +  cursor (1, 5) ; 
 +  selektor (setup text, setup choice, TRUE) ; 
 +  SELECT setup choice OF 
 +   CASE 1 : LEAVE select setup choice 
 +   CASE 2 : select kanal choice 
 +   CASE 3 : select baudrate choice 
 +   CASE 4 : select datenbits choice 
 +   CASE 5 : select stopbits choice 
 +   CASE 6 : select parity choice 
 +   CASE 7 : select flowmode choice 
 +  ENDSELECT 
 + PER . 
 + 
 +select kanal choice : 
 + INT VAR save kanal := kanal ; 
 + cursor (1, 7) ; 
 + selektor (kanal text, kanal, TRUE) ; 
 + init setup (kanal, setup choice) .
 + 
 +select baudrate choice : 
 + cursor (1, 9) ; 
 + TEXT VAR t := text (baudrates (kanal)) + "    " ; 
 + out (" ") ;
 + editget (t) ; 
 + baudrates (kanal) := real (t) . 
 + 
 +select datenbits choice : 
 + cursor (1, 11) ; 
 + selektor (datenbits text, datenbits (kanal), TRUE) . 
 + 
 +select stopbits choice : 
 + cursor (1, 13) ; 
 + selektor (stopbits text, stopbits (kanal), TRUE) . 
 + 
 +select parity choice : 
 + cursor (1, 15) ; 
 + selektor (parity text, parity (kanal), TRUE).
 + 
 +select flowmode choice : 
 + cursor (1, 17) ; 
 + selektor (flowmode text, flowmode (kanal), TRUE) ; 
 + IF flowmode (kanal) = 5 
 +    THEN cursor (1, 19) ; 
 +         selektor (fixed text, fixed (kanal), TRUE) ; 
 +         out (clr line) 
 + FI . 
 + 
 +aktueller kanal : 
 + IF channel = 2 THEN 1 
 + ELIF channel = 3 THEN 2 
 + ELSE 1 
 + FI . 
 + 
 +kanal bool : 
 + IF kanal = 1 THEN channel b ELSE channel a FI . 
 + 
 +ENDPROC setup ; 
 + 
 +PROC init setup (INT VAR kanal, setup choice) :
 + IF session <> old session 
 +    THEN init params ; 
 +         old session := session 
 + FI ;
 + out (home) ; 
 + putline (" ----------------------------- V 2 4 - S E T U P ---------------------------") ; 
 + line ; 
 + putline (" Verlassen 'ESC', Aussuchen 'LEFT' und 'RIGHT', Einstellen 'RETURN'") ; 
 + line ; 
 + selektor (setup text, setup choice, FALSE) ; 
 + line ; 
 + line ; 
 + selektor (kanal text, kanal, FALSE) ; 
 + line ; 
 + line ; 
 + out (" ") ; put (baudrates (kanal)) ; out ("     ") ;
 + line ; 
 + line ; 
 + selektor (datenbits text, datenbits (kanal), FALSE) ; 
 + line ; 
 + line ; 
 + selektor (stopbits text, stopbits (kanal), FALSE) ; 
 + line ; 
 + line ; 
 + selektor (parity text, parity (kanal), FALSE) ; 
 + line ; 
 + line ; 
 + selektor (flowmode text, flowmode (kanal), FALSE) ; 
 + line ; 
 + line ; 
 + line ; 
 + line ;
 + putline (" --------------------------------------------------------------------------") ; 
 + out (home) . 
 +ENDPROC init setup ;
 + 
 +ENDPACKET setup ; 
 + 
 +
 diff --git a/system/ruc-terminal/unknown/src/Terminal108(ascii) b/system/ruc-terminal/unknown/src/Terminal108(ascii) new file mode 100644 index 0000000..f06755e --- /dev/null +++ b/system/ruc-terminal/unknown/src/Terminal108(ascii) @@ -0,0 +1,121 @@ +                                      (* Terminaltyp: Terminal108 *) 
 +                                      (* Keyboard   : Deutsch     *) 
 +                                      (* Zeichensatz: ASCII       *) 
 +                                      (* Stand      : 28.04.86    *) 
 + 
 +forget  ("Terminal108(ascii)", quiet) ; 
 +new type ("Terminal108(ascii)") ; 
 + 
 +cursor logic  (32, ""30"", "", "") ; 
 + 
 +(* Nicht im EUMEL-Zeichensatz definierte Steuerzeichen *) 
 +illegal (11, 12) ; 
 +illegal (16, 31) ; 
 +illegal (128, 213) ; 
 +illegal (224, 250) ; 
 +illegal (252, 255) ; 
 + 
 +enter outcode ( 1, 25) ;                (* Cursor Home *) 
 +enter outcode ( 2, 28) ;                (* Cursor right *)
 +enter outcode ( 3, 31) ;                (* Cursor up *) 
 +enter outcode ( 4, 11) ;                (* Clear EOP *) 
 +enter outcode ( 5, 29) ;                (* Clear EOL *) 
 +enter outcode ( 7,  7) ;                (* Bell      *) 
 +enter outcode (14, 0, " "14"") ;        (* Norm Vid  *) 
 +enter outcode (15, 0, ""15" ") ;        (* Inv  Vid  *) 
 +
 +enter outcode (214, 193) ;  (* Inv A *)
 +enter outcode (215, 207) ;  (* Inv O *)
 +enter outcode (216, 213) ;  (* Inv U *)
 +enter outcode (217, 225) ;  (* Inv a *)
 +enter outcode (218, 239) ;  (* Inv o *)
 +enter outcode (219, 245) ;  (* Inv u *)
 +enter outcode (220, 235) ;  (* Inv k *)
 +enter outcode (221, 173) ;  (* Inv - *)
 +enter outcode (222, 163) ;  (* Inv # *)
 +enter outcode (223, 160) ;  (* Inv Blank *)
 +enter outcode (251, 194) ;  (* Inv B *)
 + 
 +enter outcode (64, 0, ""1"B"64"") ; (* ""1"B" = ASCII *)
 +enter outcode (91, 0, ""1"B"91"") ; 
 +enter outcode (92, 0, ""1"B"92"") ; 
 +enter outcode (93, 0, ""1"B"93"") ; 
 +enter outcode (123,0, ""1"B"123"") ; 
 +enter outcode (124,0, ""1"B"124"") ; 
 +enter outcode (125,0, ""1"B"125"") ; 
 +enter outcode (126,0, ""1"B"126"") ; 
 +(* 
 +enter outcode (12, 12) ;              (* CLR SCRN *) 
 +enter outcode (16, 2) ;               (* Cursor Mode <mode> *) 
 +enter outcode (17, 1) ;               (* Zeichensatz <switch> : Bit 0..3 *)
 +enter outcode (18, 18) ;              (* Insert Line *) 
 +enter outcode (19, 26) ;              (* Erase (nicht Delete) Line *) 
 +enter outcode (20, 5) ;               (* xpos := 80 *) 
 +enter outcode (22, 22) ;              (* Select Screen <nr> : Bit 0 *) 
 +enter outcode (23, 23) ; (*SetWindow <left><top><right+1><bottom+1>  (+128)*) 
 +*)
 +enter incode (  1, ""192"") ; (* Home        : Cursorblock mitte          *)
 +enter incode (  2, ""149"") ; (* Cursor right: Cursorblock mitte rechts   *) 
 +enter incode (  3, ""139"") ; (* Cursor up   : Cursorblock oben mitte     *) 
 +(*enter incode (4,  ""21"") ; (* Info usw.   : Cursorblock unten rechts*) *) 
 +enter incode (  7, ""194"") ; (* SV - Call   : Funktionstaste F2          *) 
 +enter incode (  8, ""136"") ; (* Cursor left : Cursorblock mitte links    *) 
 +enter incode ( 10, ""138"") ; (* Cursor down : Cursorblock unten mitte    *) 
 +enter incode ( 11, ""142"") ; (* RUBIN/Insert: Cursorblock oben links     *) 
 +enter incode ( 12, ""127"") ; (* RUBOUT/Delete:DELETE-Taste               *) 
 +enter incode ( 16, ""143"") ; (* MARK        : Cursorblock oben rechts    *) 
 +enter incode ( 17, ""193"") ; (* Stop        : Funktionstaste F1          *) 
 +enter incode ( 23, ""195"") ; (* Weiter      : Funktionstaste F3          *) 
 +enter incode ( 31,   ""8"") ; (* Backspace   : (2x) gerahmter Linkspfeil  *) 
 + 
 +enter incode (214,  ""91"") ; 
 +enter incode (215,  ""92"") ; 
 +enter incode (216,  ""93"") ; 
 +enter incode (217, ""123"") ; 
 +enter incode (218, ""124"") ; 
 +enter incode (219, ""125"") ; 
 +enter incode (251, ""126"") ; 
 +
 +enter incode ( 0,  ""24"") ;  (* CE *) 
 +enter incode ( 5, ""196"") ;  (* F4 *) 
 +enter incode ( 6, ""197"") ;  (* F5 *) 
 +enter incode (14, ""198"") ;  (* F6 *) 
 +enter incode (15, ""199"") ;  (* F7 *) 
 +enter incode (18, ""200"") ;  (* F8 *) 
 +enter incode (19, ""201"") ;  (* F9 *) 
 +enter incode (20, ""202"") ;  (* F10 *) 
 +enter incode (21, ""203"") ;  (* F11 *) 
 +enter incode (22, ""204"") ;  (* F12 *) 
 +enter incode (24, ""205"") ;  (* F13 *) 
 +enter incode (25, ""206"") ;  (* F14 *) 
 +enter incode (26, ""207"") ;  (* F15 *) 
 +enter incode (28, ""209"") ;  (* SHIFT F1 *) 
 +enter incode (29, ""210"") ;  (* SHIFT F2 *) 
 +enter incode (30, ""211"") ;  (* SHIFT F3 *) 
 + 
 +enter incode (126,""165"") ;  (* CTRL  F5 *) 
 +enter incode (91, ""166"") ;  (* CTRL  F6 *) 
 +enter incode (92, ""167"") ;  (* CTRL  F7 *) 
 +enter incode (93, ""168"") ;  (* CTRL  F8 *) 
 +enter incode (123,""169"") ;  (* CTRL  F9 *) 
 +enter incode (124,""170"") ;  (* CTRL  F10 *) 
 +enter incode (125,""171"") ;  (* CTRL  F11 *) 
 + 
 +enter incode (251, ""213"") ; (* SHIFT F5 = ß *) 
 +                              (* SHIFT F6 = ä 
 +Andere incodes schon Hardware-   SHIFT F7 = ö 
 +mäßig implementiert:             SHIFT F8 = ü 
 +                                 SHIFT F9 = Ä 
 +                                 SHIFT F10= Ö 
 +                                 SHIFT F11= Ü 
 +                                 SHIFT F12= Trenn-k           ( k ) 
 +                                 SHIFT F13= Trenn-Strich      ( - ) 
 +                                 SHIFT F14= Geschütztes Fis   ( # ) 
 +                                 SHIFT F15= Geschütztes Blank (   ) *) 
 + 
 +PROC illegal (INT CONST from, to) : 
 + INT VAR i ; 
 + FOR i FROM from UPTO to REP 
 +  enter outcode (i, 127)
 + PER 
 +ENDPROC illegal ;
 diff --git a/system/ruc-terminal/unknown/src/Terminal108(deutsch) b/system/ruc-terminal/unknown/src/Terminal108(deutsch) new file mode 100644 index 0000000..24ad9e7 --- /dev/null +++ b/system/ruc-terminal/unknown/src/Terminal108(deutsch) @@ -0,0 +1,122 @@ +                                      (* Terminaltyp: Terminal108 *) 
 +                                      (* Keyboard   : Deutsch     *) 
 +                                      (* Zeichensatz: Deutsch     *) 
 +                                      (* Stand      : 28.04.86    *) 
 + 
 +forget  ("Terminal108(deutsch)", quiet) ; 
 +new type ("Terminal108(deutsch)") ; 
 + 
 +cursor logic  (32, ""30"", "", "") ; 
 + 
 +(* Nicht im EUMEL-Zeichensatz definierte Steuerzeichen *) 
 +illegal (11, 12) ; 
 +illegal (16, 31) ; 
 +illegal (128, 213) ; 
 +illegal (224, 250) ; 
 +illegal (252, 255) ; 
 + 
 +enter outcode (91,  0, ""15"("14"") ; 
 +enter outcode (92,  0, ""15"/"14"") ; 
 +enter outcode (93,  0, ""15")"14"") ; 
 +enter outcode (123, 0, ""15"<"14"") ; 
 +enter outcode (124, 0, ""15"!"14"") ; 
 +enter outcode (125, 0, ""15">"14"") ; 
 +enter outcode (126, 0, ""15"`"14"") ; 
 + 
 +enter outcode (214, 0, ""1"D"91"") ; (* ""1"D" = Deutsch *)
 +enter outcode (215, 0, ""1"D"92"") ; 
 +enter outcode (216, 0, ""1"D"93"") ; 
 +enter outcode (217, 0, ""1"D"123"") ; 
 +enter outcode (218, 0, ""1"D"124"") ; 
 +enter outcode (219, 0, ""1"D"125"") ; 
 +enter outcode (220, 235) ;           (* Inv k *)
 +enter outcode (221, 173) ;           (* Inv - *)
 +enter outcode (222, 163) ;           (* Inv # *)
 +enter outcode (223, 160) ;           (* Inv Blank *)
 +enter outcode (251, 0, ""1"D"126"") ; 
 + 
 +enter outcode ( 1, 25) ;                (* Cursor Home *) 
 +enter outcode ( 2, 28) ;                (* Cursor right *)
 +enter outcode ( 3, 31) ;                (* Cursor up *) 
 +enter outcode ( 4, 11) ;                (* Clear EOP *) 
 +enter outcode ( 5, 29) ;                (* Clear EOL *) 
 +enter outcode ( 7,  7) ;                (* Bell      *) 
 +enter outcode (14, 0, " "14"") ;        (* Norm Vid  *) 
 +enter outcode (15, 0, ""15" ") ;        (* Inv  Vid  *) 
 +(* 
 +enter outcode (12, 12) ;              (* CLR SCRN *) 
 +enter outcode (16, 2) ;               (* Cursor Mode <mode> *) 
 +enter outcode (17, 1) ;               (* Zeichensatz <switch> : Bit 0..3 *)
 +enter outcode (18, 18) ;              (* Insert Line *) 
 +enter outcode (19, 26) ;              (* Erase (nicht Delete) Line *) 
 +enter outcode (20, 5) ;               (* xpos := 80 *) 
 +enter outcode (22, 22) ;              (* Select Screen <nr> : Bit 0 *) 
 +enter outcode (23, 23) ; (*SetWindow <left><top><right+1><bottom+1>  (+128)*) 
 +*)
 +enter incode (  1, ""192"") ; (* Home        : Cursorblock mitte          *)
 +enter incode (  2, ""149"") ; (* Cursor right: Cursorblock mitte rechts   *) 
 +enter incode (  3, ""139"") ; (* Cursor up   : Cursorblock oben mitte     *) 
 +(*enter incode (4,  ""21"") ; (* Info usw.   : Cursorblock unten rechts*) *) 
 +enter incode (  7, ""194"") ; (* SV - Call   : Funktionstaste F2          *) 
 +enter incode (  8, ""136"") ; (* Cursor left : Cursorblock mitte links    *) 
 +enter incode ( 10, ""138"") ; (* Cursor down : Cursorblock unten mitte    *) 
 +enter incode ( 11, ""142"") ; (* RUBIN/Insert: Cursorblock oben links     *) 
 +enter incode ( 12, ""127"") ; (* RUBOUT/Delete:DELETE-Taste               *) 
 +enter incode ( 16, ""143"") ; (* MARK        : Cursorblock oben rechts    *) 
 +enter incode ( 17, ""193"") ; (* Stop        : Funktionstaste F1          *) 
 +enter incode ( 23, ""195"") ; (* Weiter      : Funktionstaste F3          *) 
 +enter incode ( 31,   ""8"") ; (* Backspace   : (2x) gerahmter Linkspfeil  *) 
 + 
 +enter incode (214,  ""91"") ; 
 +enter incode (215,  ""92"") ; 
 +enter incode (216,  ""93"") ; 
 +enter incode (217, ""123"") ; 
 +enter incode (218, ""124"") ; 
 +enter incode (219, ""125"") ; 
 +enter incode (251, ""126"") ; 
 +
 +enter incode ( 0,  ""24"") ;  (* CE *) 
 +enter incode ( 5, ""196"") ;  (* F4 *) 
 +enter incode ( 6, ""197"") ;  (* F5 *) 
 +enter incode (14, ""198"") ;  (* F6 *) 
 +enter incode (15, ""199"") ;  (* F7 *) 
 +enter incode (18, ""200"") ;  (* F8 *) 
 +enter incode (19, ""201"") ;  (* F9 *) 
 +enter incode (20, ""202"") ;  (* F10 *) 
 +enter incode (21, ""203"") ;  (* F11 *) 
 +enter incode (22, ""204"") ;  (* F12 *) 
 +enter incode (24, ""205"") ;  (* F13 *) 
 +enter incode (25, ""206"") ;  (* F14 *) 
 +enter incode (26, ""207"") ;  (* F15 *) 
 +enter incode (28, ""209"") ;  (* SHIFT F1 *) 
 +enter incode (29, ""210"") ;  (* SHIFT F2 *) 
 +enter incode (30, ""211"") ;  (* SHIFT F3 *) 
 + 
 +enter incode (126,""165"") ;  (* CTRL  F5 *) 
 +enter incode (91, ""166"") ;  (* CTRL  F6 *) 
 +enter incode (92, ""167"") ;  (* CTRL  F7 *) 
 +enter incode (93, ""168"") ;  (* CTRL  F8 *) 
 +enter incode (123,""169"") ;  (* CTRL  F9 *) 
 +enter incode (124,""170"") ;  (* CTRL  F10 *) 
 +enter incode (125,""171"") ;  (* CTRL  F11 *) 
 + 
 +enter incode (251, ""213"") ; (* SHIFT F5 = ß *) 
 +                              (* SHIFT F6 = ä 
 +Andere incodes schon Hardware-   SHIFT F7 = ö 
 +mäßig implementiert:             SHIFT F8 = ü 
 +                                 SHIFT F9 = Ä 
 +                                 SHIFT F10= Ö 
 +                                 SHIFT F11= Ü 
 +                                 SHIFT F12= Trenn-k           ( k ) 
 +                                 SHIFT F13= Trenn-Strich      ( - ) 
 +                                 SHIFT F14= Geschütztes Fis   ( # ) 
 +                                 SHIFT F15= Geschütztes Blank (   ) *) 
 + 
 +PROC illegal (INT CONST from, to) : 
 + INT VAR i ; 
 + FOR i FROM from UPTO to REP 
 +  enter outcode (i, 127)
 + PER 
 +ENDPROC illegal ;
 + 
 + 
 diff --git a/system/ruc-terminal/unknown/src/ructerm.apl-german b/system/ruc-terminal/unknown/src/ructerm.apl-german new file mode 100644 index 0000000..c381c6b --- /dev/null +++ b/system/ruc-terminal/unknown/src/ructerm.apl-german @@ -0,0 +1,125 @@ +                                      (* Terminaltyp: ructerm  *) 
 +                                      (* Keyboard   : Deutsch  *) 
 +                                      (* Zeichensatz: Universal*) 
 +                                      (* Stand      : 08.10.86 *) 
 +                                      (* Mit 'info'-Taste auf => *) 
 + 
 +forget  ("ructerm.apl/german", quiet) ; 
 +new type ("ructerm.apl/german") ; 
 + 
 +enter outcode (11, 253) ;              (* links Pfeil *) 
 +enter outcode (12, 221) ;              (* rechts Pfeil *) 
 +enter outcode (16, 240) ; 
 +enter outcode (17, 241) ; 
 +enter outcode (18, 242) ; 
 +enter outcode (19, 243) ; 
 +enter outcode (20, 244) ; 
 +enter outcode (21, 245) ; 
 +enter outcode (22, 246) ; 
 +enter outcode (23, 247) ; 
 +enter outcode (24, 248) ; 
 + 
 +cursor logic (32, ""27"=", "", "") ;
 + 
 +(* Ausgabe Codes : *)
 +enter outcode (  1,  30) ;        (* Cursor Home : <CTRL-^> *) 
 +enter outcode (  2,  12) ;        (* Cursor right: <CTRL-L> *) 
 +enter outcode (  3,  11) ;        (* Cursor up   : <CTRL-K> *) 
 +enter outcode (  4, 0, ""27"Y"27"z7") ; (* CLEOP und Zeichensatz : <ESC> Y *) 
 +enter outcode (  5, 0, ""27"T") ; (* CLEOL       : <ESC> T *) 
 +enter outcode (  8,   8) ;        (* Cursor left : <CTRL-H> *) 
 +enter outcode ( 10,  10) ;        (* Cursor down : <LF> *) 
 +enter outcode ( 13,  13) ;        (* CR          : <CR> *) 
 +enter outcode ( 14,  175) ;       (* END MARK    : Spitz. Klammer zu *)
 +enter outcode ( 15,  192) ;       (* BEGIN MARK  : Spitz. Klammer auf *)
 + 
 +enter outcode (214, 91) ;               (* Ae *) 
 +enter outcode (215, 92) ;               (* Oe *) 
 +enter outcode (216, 93) ;               (* Ue *) 
 +enter outcode (217, 123) ;              (* ae *) 
 +enter outcode (218, 124) ;              (* oe *) 
 +enter outcode (219, 125) ;              (* ue *)
 +enter outcode (220, 235) ;              (* Trenn-k *) 
 +enter outcode (221, 191) ;              (* Trennstrich *) 
 +enter outcode (222, 188) ;              (* Fest-# = Raute *)
 +enter outcode (223, 160) ;              (* Fest-Blank *) 
 +enter outcode (251, 126) ;              (* sz *) 
 +enter outcode (252, 64) ;               (* paragraph *)
 + 
 +enter outcode (64, 131) ;               (* At-Sign *) 
 +enter outcode (91, 252) ;               (* Eck. Klammer auf *) 
 +enter outcode (92, 223) ;               (* Backslash *) 
 +enter outcode (93, 251) ;               (* Eck. Klammer zu *) 
 +enter outcode (123, 167) ;              (* Geschw. Klammer auf *) 
 +enter outcode (124, 205) ;              (* Senkr. Strich *) 
 +enter outcode (125, 163) ;              (* Geschw. Klammer zu *) 
 +enter outcode (126, 212) ;              (* Tilde *) 
 +
 +enter outcode (144, 214) ;              (* Zeichen mit Umlautcodes *)
 +enter outcode (145, 215) ;              (* verlegen *)
 +enter outcode (146, 216) ; 
 +enter outcode (147, 217) ; 
 +enter outcode (148, 218) ; 
 +enter outcode (149, 219) ; 
 +enter outcode (150, 220) ; 
 +enter outcode (151, 221) ; 
 +enter outcode (152, 222) ;
 +
 +enter incode (  1, ""192"") ; (* Home        : Cursorblock mitte          *) 
 +enter incode (  2, ""149"") ; (* Cursor right: Cursorblock mitte rechts   *) 
 +enter incode (  3, ""139"") ; (* Cursor up   : Cursorblock oben mitte     *) 
 +enter incode (  4,  ""21"") ; (* Info usw.   : Cursorblock unten rechts   *) 
 +enter incode (  7, ""194"") ; (* SV - Call   : Funktionstaste F2          *) 
 +enter incode (  8, ""136"") ; (* Cursor left : Cursorblock mitte links    *) 
 +enter incode ( 10, ""138"") ; (* Cursor down : Cursorblock unten mitte    *) 
 +enter incode ( 11, ""142"") ; (* RUBIN/Insert: Cursorblock oben links     *) 
 +enter incode ( 12, ""127"") ; (* RUBOUT/Delete:DELETE-Taste               *) 
 +enter incode ( 16, ""143"") ; (* MARK        : Cursorblock oben rechts    *) 
 +enter incode ( 17, ""193"") ; (* Stop        : Funktionstaste F1          *) 
 +enter incode ( 23, ""195"") ; (* Weiter      : Funktionstaste F3          *) 
 +enter incode ( 31,   ""8"") ; (* Backspace   : (2x) gerahmter Linkspfeil  *) 
 + 
 +enter incode (214,  ""91"") ; 
 +enter incode (215,  ""92"") ; 
 +enter incode (216,  ""93"") ; 
 +enter incode (217, ""123"") ; 
 +enter incode (218, ""124"") ; 
 +enter incode (219, ""125"") ; 
 +enter incode (251, ""126"") ; 
 + 
 +enter incode ( 0,  ""24"") ;  (* CE *) 
 +enter incode ( 5, ""196"") ;  (* F4 *) 
 +enter incode ( 6, ""197"") ;  (* F5 *) 
 +enter incode (14, ""198"") ;  (* F6 *) 
 +enter incode (15, ""199"") ;  (* F7 *) 
 +enter incode (18, ""200"") ;  (* F8 Insert Line *)
 +enter incode (19, ""201"") ;  (* F9 *) 
 +enter incode (20, ""202"") ;  (* F10 *) 
 +enter incode (21, ""203"") ;  (* F11 *) 
 +enter incode (22, ""204"") ;  (* F12 *) 
 +enter incode (24, ""205"") ;  (* F13 *) 
 +enter incode (25, ""206"") ;  (* F14 *) 
 +enter incode (26, ""207"") ;  (* F15 *) 
 +enter incode (28, ""209"") ;  (* SHIFT F1 *) 
 +enter incode (29, ""210"") ;  (* SHIFT F2 *) 
 +enter incode (30, ""211"") ;  (* SHIFT F3 *) 
 + 
 +enter incode (126,""165"") ;  (* CTRL  F5 *) 
 +enter incode (91, ""166"") ;  (* CTRL  F6 *) 
 +enter incode (92, ""167"") ;  (* CTRL  F7 *) 
 +enter incode (93, ""168"") ;  (* CTRL  F8 *) 
 +enter incode (123,""169"") ;  (* CTRL  F9 *) 
 +enter incode (124,""170"") ;  (* CTRL  F10 *) 
 +enter incode (125,""171"") ;  (* CTRL  F11 *) 
 + 
 +                              (* SHIFT F6 = ä 
 +Andere incodes schon Hardware-   SHIFT F7 = ö 
 +mäßig implementiert:             SHIFT F8 = ü 
 +                                 SHIFT F9 = Ä 
 +                                 SHIFT F10= Ö 
 +                                 SHIFT F11= Ü 
 +                                 SHIFT F12= Trenn-k           ( k ) 
 +                                 SHIFT F13= Trenn-Strich      ( - ) 
 +                                 SHIFT F14= Geschütztes Fis   ( # ) 
 +                                 SHIFT F15= Geschütztes Blank (   ) *) 
 + 
 diff --git a/system/ruc-terminal/unknown/src/ructerm.ascii b/system/ruc-terminal/unknown/src/ructerm.ascii new file mode 100644 index 0000000..b06df7c --- /dev/null +++ b/system/ruc-terminal/unknown/src/ructerm.ascii @@ -0,0 +1,94 @@ +                                      (* Terminaltyp: ructerm  *) 
 +                                      (* Keyboard   : Deutsch  *) 
 +                                      (* Zeichensatz: Ascii    *) 
 +                                      (* Stand      : 08.10.86 *) 
 +                                      (* Mit 'info'-Taste auf => *) 
 + 
 +forget  ("ructerm.ascii", quiet) ; 
 +new type ("ructerm.ascii") ; 
 + 
 +cursor logic (32, ""27"=", "", "") ;
 +
 +(* Ausgabe Codes : *)
 +enter outcode (  1,  30) ;        (* Cursor Home : <CTRL-^> *) 
 +enter outcode (  2,  12) ;        (* Cursor right: <CTRL-L> *) 
 +enter outcode (  3,  11) ;        (* Cursor up   : <CTRL-K> *) 
 +enter outcode (  4, 0, ""27"Y") ; (* CLEOP       : <ESC> Y *) 
 +enter outcode (  5, 0, ""27"T") ; (* CLEOL       : <ESC> T *) 
 +enter outcode (  8,   8) ;        (* Cursor left : <CTRL-H> *) 
 +enter outcode ( 10,  10) ;        (* Cursor down : <LF> *) 
 +enter outcode ( 13,  13) ;        (* CR          : <CR> *) 
 +enter outcode ( 14,  0, " "27"(") ;   (* END MARK    : <ESC> ( *)
 +enter outcode ( 15,  0, ""27") ") ;   (* BEGIN MARK  : <ESC> ) *)
 + 
 +enter outcode (214, 193) ;              (* Ae *) 
 +enter outcode (215, 207) ;              (* Oe *) 
 +enter outcode (216, 213) ;              (* Ue *) 
 +enter outcode (217, 225) ;              (* ae *) 
 +enter outcode (218, 239) ;              (* oe *) 
 +enter outcode (219, 245) ;              (* ue *)
 +enter outcode (220, 235) ;              (* Trenn-k *) 
 +enter outcode (221, 173) ;              (* Trennstrich *) 
 +enter outcode (222, 163) ;              (* Fest-# *)
 +enter outcode (223, 160) ;              (* Fest-Blank *) 
 +enter outcode (251, 194) ;              (* sz *) 
 +enter outcode (252, 192) ;              (* paragraph *)
 + 
 +enter incode (  1, ""192"") ; (* Home        : Cursorblock mitte          *) 
 +enter incode (  2, ""149"") ; (* Cursor right: Cursorblock mitte rechts   *) 
 +enter incode (  3, ""139"") ; (* Cursor up   : Cursorblock oben mitte     *) 
 +enter incode (  4,  ""21"") ; (* Info usw.   : Cursorblock unten rechts   *) 
 +enter incode (  7, ""194"") ; (* SV - Call   : Funktionstaste F2          *) 
 +enter incode (  8, ""136"") ; (* Cursor left : Cursorblock mitte links    *) 
 +enter incode ( 10, ""138"") ; (* Cursor down : Cursorblock unten mitte    *) 
 +enter incode ( 11, ""142"") ; (* RUBIN/Insert: Cursorblock oben links     *) 
 +enter incode ( 12, ""127"") ; (* RUBOUT/Delete:DELETE-Taste               *) 
 +enter incode ( 16, ""143"") ; (* MARK        : Cursorblock oben rechts    *) 
 +enter incode ( 17, ""193"") ; (* Stop        : Funktionstaste F1          *) 
 +enter incode ( 23, ""195"") ; (* Weiter      : Funktionstaste F3          *) 
 +enter incode ( 31,   ""8"") ; (* Backspace   : (2x) gerahmter Linkspfeil  *) 
 + 
 +enter incode (214,  ""91"") ; 
 +enter incode (215,  ""92"") ; 
 +enter incode (216,  ""93"") ; 
 +enter incode (217, ""123"") ; 
 +enter incode (218, ""124"") ; 
 +enter incode (219, ""125"") ; 
 +enter incode (251, ""126"") ; 
 + 
 +enter incode ( 0,  ""24"") ;  (* CE *) 
 +enter incode ( 5, ""196"") ;  (* F4 *) 
 +enter incode ( 6, ""197"") ;  (* F5 *) 
 +enter incode (14, ""198"") ;  (* F6 *) 
 +enter incode (15, ""199"") ;  (* F7 *) 
 +enter incode (18, ""200"") ;  (* F8 Insert Line *)
 +enter incode (19, ""201"") ;  (* F9 *) 
 +enter incode (20, ""202"") ;  (* F10 *) 
 +enter incode (21, ""203"") ;  (* F11 *) 
 +enter incode (22, ""204"") ;  (* F12 *) 
 +enter incode (24, ""205"") ;  (* F13 *) 
 +enter incode (25, ""206"") ;  (* F14 *) 
 +enter incode (26, ""207"") ;  (* F15 *) 
 +enter incode (28, ""209"") ;  (* SHIFT F1 *) 
 +enter incode (29, ""210"") ;  (* SHIFT F2 *) 
 +enter incode (30, ""211"") ;  (* SHIFT F3 *) 
 + 
 +enter incode (126,""165"") ;  (* CTRL  F5 *) 
 +enter incode (91, ""166"") ;  (* CTRL  F6 *) 
 +enter incode (92, ""167"") ;  (* CTRL  F7 *) 
 +enter incode (93, ""168"") ;  (* CTRL  F8 *) 
 +enter incode (123,""169"") ;  (* CTRL  F9 *) 
 +enter incode (124,""170"") ;  (* CTRL  F10 *) 
 +enter incode (125,""171"") ;  (* CTRL  F11 *) 
 + 
 +                              (* SHIFT F6 = ä 
 +Andere incodes schon Hardware-   SHIFT F7 = ö 
 +mäßig implementiert:             SHIFT F8 = ü 
 +                                 SHIFT F9 = Ä 
 +                                 SHIFT F10= Ö 
 +                                 SHIFT F11= Ü 
 +                                 SHIFT F12= Trenn-k           ( k ) 
 +                                 SHIFT F13= Trenn-Strich      ( - ) 
 +                                 SHIFT F14= Geschütztes Fis   ( # ) 
 +                                 SHIFT F15= Geschütztes Blank (   ) *) 
 + 
 | 
