From 98cab31fc3659e33aef260efca55bf9f1753164c Mon Sep 17 00:00:00 2001 From: Lars-Dominik Braun Date: Mon, 11 Feb 2019 11:49:19 +0100 Subject: Add source files from Michael --- system/ruc-terminal/unknown/doc/BIOSINT.PRT | 281 ++ system/ruc-terminal/unknown/doc/MACROS.PRT | 54 + system/ruc-terminal/unknown/doc/TDOC.PRT | 3012 +++++++++++++++ system/ruc-terminal/unknown/doc/TDOCP.PRT | 4008 ++++++++++++++++++++ system/ruc-terminal/unknown/doc/TINHALT.PRT | 120 + system/ruc-terminal/unknown/doc/TINHALTP.PRT | 157 + system/ruc-terminal/unknown/doc/TSTICHP.PRT | 211 ++ system/ruc-terminal/unknown/doc/TSTICHWO.PRT | 161 + system/ruc-terminal/unknown/doc/TTAB.PRT | 510 +++ system/ruc-terminal/unknown/doc/TTABP.PRT | 666 ++++ system/ruc-terminal/unknown/src/SCCPARAM.ELA | 144 + system/ruc-terminal/unknown/src/SETUP.ELA | 257 ++ system/ruc-terminal/unknown/src/Terminal108(ascii) | 121 + .../ruc-terminal/unknown/src/Terminal108(deutsch) | 122 + system/ruc-terminal/unknown/src/ructerm.apl-german | 125 + system/ruc-terminal/unknown/src/ructerm.ascii | 94 + 16 files changed, 10043 insertions(+) create mode 100644 system/ruc-terminal/unknown/doc/BIOSINT.PRT create mode 100644 system/ruc-terminal/unknown/doc/MACROS.PRT create mode 100644 system/ruc-terminal/unknown/doc/TDOC.PRT create mode 100644 system/ruc-terminal/unknown/doc/TDOCP.PRT create mode 100644 system/ruc-terminal/unknown/doc/TINHALT.PRT create mode 100644 system/ruc-terminal/unknown/doc/TINHALTP.PRT create mode 100644 system/ruc-terminal/unknown/doc/TSTICHP.PRT create mode 100644 system/ruc-terminal/unknown/doc/TSTICHWO.PRT create mode 100644 system/ruc-terminal/unknown/doc/TTAB.PRT create mode 100644 system/ruc-terminal/unknown/doc/TTABP.PRT create mode 100644 system/ruc-terminal/unknown/src/SCCPARAM.ELA create mode 100644 system/ruc-terminal/unknown/src/SETUP.ELA create mode 100644 system/ruc-terminal/unknown/src/Terminal108(ascii) create mode 100644 system/ruc-terminal/unknown/src/Terminal108(deutsch) create mode 100644 system/ruc-terminal/unknown/src/ructerm.apl-german create mode 100644 system/ruc-terminal/unknown/src/ructerm.ascii (limited to 'system/ruc-terminal') diff --git a/system/ruc-terminal/unknown/doc/BIOSINT.PRT b/system/ruc-terminal/unknown/doc/BIOSINT.PRT new file mode 100644 index 0000000..69006b6 --- /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 gltig, AH=0: Taste nicht gedrckt + 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 fr 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 fr 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 untersttzt) + +INT 4AH : Fr 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..70961ce --- /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..f1595c8 --- /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 Mnster-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 (fr den Basis 108 und den +Apple IIe) geliefert. Die Version ist in der Kommandozeile erkenntlich +(BASIS oder APPLE). + +Eigenschaften des Terminals: + +- Kommandozeilen fr schnelle Offline Parametereinstellung +- Statuszeile fr spezielle Betriebzust„nde +- šber 70 programmierbare Funktionstasten +- Druckerspooler 32k (4 ganze Graphikhardcopys und noch mehr) +- 7935 Zeichen Empfangspuffer +- Verschiedene Hardcopy Modi fr Text und Graphik +- 192x280 Punkte aufl”sender Graphikmodus mit zwei Helligkeitsstufen +- Zwei Graphikseiten mit getrennter Anzeige/Bearbeitung +- Viele Graphikroutinen (Bogen, Fl„chenfllung, Kreis, Rechteck...) +- Graphikmodus fr 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. ) in einigen F„llen auch durch ihren +Namen (z.B. oder ). 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. ). + +Nicht druckbare Ascii-Codes (z.B. oder ), sowie Kommandopara- +meter (z.B. ) werden ebenfalls in spitze Klammern gesetzt. Komandopara- +meter werden mit Kleinbuchstaben bezeichnet. + +#page# +#h("2.", "Die Hardware")# + + +Untersttzt 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 ). Es wer- +den alle 15 g„ngigen Baudrates zwischen 50 und 19200 Baud untersttzt. Pari- +tycheck kann mit gerader oder ungerader Parit„t durchgefhrt 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 verfgen, mssen einige Einschr„nkungen bei der +Parameterbergabe 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)# 0#ie(1)# (Hex 1B 30) + +initiiert werden, vom Basiskeyboard aus durch . 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 . + +#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 Drcken von und beim Apple durch . + +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")# + oder Wechselt in die jeweils andere Kommandozeile + + Springt zum vorherigen (linken) Parameter ohne etwas zu + ver„ndern. + + Springt zum n„chsten (rechten) Parameter ohne etwas zu + ver„ndern. + + Žndert das selektierte Parameterfeld. Das selektierte + Parameterfeld ist durch Invertierung hervorgehoben. Die + m”glichen Parameter wiederholen sich zyklisch. + + Die Kommandozeile wird verlassen. Es werden keine Žnde- + rungen durchgefhrt. + + Die Kommandozeile wird verlassen. Vorher werden alle + Žnderungen permanent auf die Diskette geschrieben. Wei- + tere Einzelheiten s.u. (Setup) + + Alle Parameter werden auf ihre Defaultwerte zurckge- + setzt. Die Kommandozeile wird noch nicht verlassen, daher + kann dieser 'Reset' durch wieder aufgehoben werden. + oder 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.) durchgefhrt, sind diese Žnderungen nicht + verloren. + + +#k("3.2", "Setup")# + +Beim Setup, der in der Kommandozeile durch ausgel”st werden kann, +werden wichtige Parameter auf die Diskette geschrieben. Sie werden dann +'permanent' und mssen 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 prfen, 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 Drcken 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 fr ) + +#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 fr ) + +#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 fr 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 fr jede Funktionstaste eine + Zeichenfolge x . 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 fhrt keine Codeumsetzung durch. + Wird allerdings die -Taste mit einer anderen + Taste zusammen gedrckt, 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 u oder + 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 fr 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 ausgefhrt + 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 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 fr : + +#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 fr 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 fr die serielle Schnitt- + stelle. + +DATA 8 DATA 7 W„hlt die Anzahl der Datenbits fr die serielle Schnitt- + stelle. + +NO PAR EVN PAR W„hlt Parity Check Art. NO PAR = Kein Parit„tsbit, keine + ODD PAR Parit„tsprfung. EVN PAR = Gerade Parit„t, ODD PAR = Unge- + rade Parit„t. + +NO XONOFF W„hlt XON (CTRL Q) und XOFF (CTRL S) als Protokoll fr 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 fr die serielle Schnittstel- + RTS/CTS le. Mit NO RTSCTS wird dieses Protokoll ausgeschaltet. + +NO DTRDSR W„hlt DTR/DSR als Protokoll fr 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)# }#ie(1)# (Hex 1B 7D) + +eingeschaltet werden. Ausschalten ebenso mit STATOFF oder + + #ib(1)# {#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 Drcken von 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 Drcken von 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 gefllt. 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 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 + 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 gengend 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 gedrckt 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 Verfgung 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 , , , +und der Zehnerblock mit Doppelfunktionen ber versehen. + + +#k("5.1", "Die Funktions- und Steuertasten")# + +Zuerst werden die Tastenfunktionen erl„utert fr ein nicht emulierendes +Terminal. Die TVI-Emulation kann in der Kommandozeile abgeschaltet werden +(1. Zeile, 2. Feld) oder mit dem Kommando + + #ib(1)# 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. bezeichnet beim Basiskeyboard die linke obere Eckposi- +tion des Cursorblocks, die rechte obere etc. + +Basis-Taste Apple-Taste Hex-Code Bedeutung +#linie ("16.2")# + 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). + + 89 Back-Tab (Rckw„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 + darberliegenden Zeile. War der Cur- + sor in Homeposition, dann „ndert sich + seine Position nicht. + + - Kommandozeile aktivieren. Einzelhei- + ten zur Kommandozeile siehe Abschnitt + 3.: Die Kommandozeilen. + + 18 U.a. Kommandozeile verlassen. + + 0D Zum Zeilenanfang ohne Zeilenvorschub. + Der Cursor steht dann in der ersten + Spalte der Zeile. + + 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). + + 8B/0B Cursor eine Zeile h”her. War der + Cursor in der ersten Bildschirmzei- + le, „ndert sich seine Position nicht. + + 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). + + 16 Cursor eine Zeile tiefer. War der + Cursor in Zeile 24, dann „ndert er + seine Position nicht. Die Spalte + „ndert sich nicht. + + 88/08 Cursor eine Spalte nach links. War + der Cursor in der ersten Bildschirm- + spalte, dann steht er jetzt in der + letzten Spalte der darberliegenden + Bildschirmspalte. War der Cursor + allerdings in Homeposition, „ndert + sich seine Position nicht. + + - 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). + + C0 Der Cursor wird in die linke obere + Bildschirmecke gebracht (Homeposi- + tion). + + D0 Bildschirm l”schen und Cursor Home. + + 7F Dieses Zeichen wird auf dem Bild- + schirm als Punktraster dargestellt. + Der Host interpretiert es in der + Regel als Zeichenl”schbefehl. + + 8E Zeichen bei Cursorposition einfgen. + Der Cursor „ndert seine Position + nicht. Unter dem Cursor steht dann + ein Leerzeichen. Das Zeichen in Spal- + te 79 geht verloren. + + 82 Zeichen unter Cursorposition l”schen. + In Spalte 79 steht dann ein Leerzei- + chen. + + 8F Zeile bei Cursorposition einfgen. + Die Cursorposition „ndert sich nicht. + Der Inhalt der letzten Bildschirmzei- + le ist verloren. Die Zeile in der der + Cursor steht wird mit Leerzeichen + gefllt. + + 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 + aufgefllt. + + 08 Cursor eine Spalte nach links. Die + Funktion ist mit der von iden- + tisch. + + 15 Apple: Cursor eine Spalte nach re- + chts. Die Funktion ist mit der von + identisch. + + EF Diese Taste ist eine programmierbare + Funktionstaste (siehe e). + + 81 Diese das liefert den + Makroparametercode (siehe e). + + 1B Leitet eine Escape-Sequenz ein. + + 9B W„hrend der Funktionstastedefinition + wirkt diese Taste wie ein Local + Escape, sonst liefert sie den Code 9B. + (siehe e). + + - Local/Online umschalten. + + '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")# + + ... ... E1 ... programmierbare Funktionstasten + E9 " " + EA " " + EB " " + EC " " + ED " " + + EF " " + (Dieser Code wird beim RESET des + Terminals ausgefhrt. Der Benut- + zer kann damit das Terminal nach + seinen Wnschen konfigurieren.) + + +#on("u")#Funktionstasten:#off("u")# + + ... ... C1 " " + CF " " + ... ... D1 " " + DF " " + ... ... A1 " " + AF " " +.. ... B1 " " + BF " " + +Die Programmierung der Funktionstasten geschieht mit #ib(1)# 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)# 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 drcken sind, +kann man im letzten Abschnitt nachlesen. + +Folgende Tasten senden andere Tastencodes: + +Taste TVI-Code(sequenz) Bemerkung +#linie ("16.2")# + 0C #ib(1)##ie(1)# Cursor nach rechts + + 1E #ib(1)##ie(1)# Cursor in Homeposition + + 1A #ib(1)##ie(1)# Durch Drcken von + Bildschirm l”schen und Cursor Home + + 1B 57 #ib(1)# W#ie(1)# Durch Drcken von + Zeichen l”schen + + 1B 52 #ib(1)# R#ie(1)# Durch Drcken von + Zeile l”schen + + 1B 51 #ib(1)# Q#ie(1)# Durch Drcken von + Zeichen einfgen + + 1B 45 #ib(1)# E#ie(1)# Durch Drcken von + Zeile einfgen + + 08 #ib(1)##ie(1)# Cursor nach links + + 1B 49 #ib(1)# I#ie(1)# Durch Drcken von + Rckw„rtstabulator + + 0A #ib(1)##ie(1)# Cursor nach unten + + 0B #ib(1)##ie(1)# Cursor nach oben + + 1F #ib(1)##ie(1)# Durch Drcken von + Waagenrcklauf und Zeilenvorschub + + +#on("u")#Funktionstasten:#off("u")# + +Fr jede Funktionstaste, die nicht belegt wurde wird eine Codesequenz der +Form also 01 0D gesendet. Fr gilt: + +Taste Hex-Code + ... @ ... 40 ... Diese Tasten sind auf fast allen + J 4A TVI-Terminals vorhanden. + ... ` ... 60 ... + c 63 + + ... K ... 4B ... + Y 59 + + +#on("u")#Zehnerblock:#off("u")# + + ... d ... 64 ... + l 6C + m 6D + n 6E + o 6F + p 70 + + r 72 + +Alle nicht in dieser Tabelle aufgefhrten 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)# $#ie(1)# (Hex 1B 24) + +eingeschaltet und mit dem Kommando + + #ib(1)# %#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 Parameterbergabe")# + +Die Koordinaten fr die Graphikkommandos drfen den Bereich von -32768 bis +32767 berstreichen. Der sichtbare Bereich ist fr die X-Koordinate 0..279 +und fr 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)##ie(1)# oder #ib(1)##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 gesendet wird. Solange +der Bereich oder die Position des Fadenkreuzes nicht ver„ndert wird, k”nnen +zwischen den beiden Kommandos auch andere Graphikkommandos ausge- +fhrt 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 , +, - 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 +fr 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 Parameterbergabe schneller +ist als bei dezimalen Parametern, da weder Host noch Terminal eine Konver- +tierung vornehmen mssen und die Anzahl der Parameterbytes in der Regel +geringer ist als bei dezimaler Parameterbergabe. + +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 drfen Leerzeichen () 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. v 200, 100; setzt den Cursor direkt auf die +Position X=200, Y=100. Die meisten Programme untersttzen 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. 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 +ausdrcklich 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 + +Fr Werte zwischen 0 und 31 benutzt man dann besser die Buchstaben (Groá- +buchstaben und [\]^_ oder Kleinbuchstaben und {|}~ und ). Die Zuord- +nung entnimmt man der ASCII-Tabelle in Anhang A. + + +#k("6.3", "Die Graphikparameter")# + +Fr 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 Bitverknpfungen (l”schen, invertieren...) festlegen. Diese Parameter +werden mit einem Kommando O ... ver„ndert. + +Mit dem Kommando + + #ib(1)# O 0#ie(1)# (Hex 1B 4F 30) + +werden all diese Parameter auf Defaultwerte zurckgesetzt. Diese Default- +werte sind: Strichdicke 1, durchgehende Linie, OR-Bitverknpfung (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 ursprnglichen 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)# O 1#ie(1)# (Hex 1B 4F 31 ) + +eingestellt. 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 untersttzt, da sich dann die Aufl”sung in X-Richtung +halbiert (also nur noch 140 x 192 Punkte). + +Mit dem Kommando + + #ib(1)# O 2#ie(1)# (Hex 1B 4F 32 ) + +kann die Helligkeit eingestellt werden. ist ein Byteparameter bei dem +nur das Bit 0 wichtig ist: + +Bit 0 Bedeutung + 0 dunkel/Violett ist eine gerade Zahl + 1 hell/Gelb 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)# O 3#ie(1)# (Hex 1B 4F 33 ) + +eingestellt. ist ein Byteparameter mit dem Wertebereich von 0 bis 7. Die +Strichtypen sind folgendermaáen zugeordnet: + +#on("u")# 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 Bitverknpfung 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 fr die n„chste Zeile fortgesetzt werden. + +Das benutzerdefinierbare Pattern wird mit dem Kommando + + #ib(1)# O 6#ie(1)# (Hex 1B 4F 36 ) + +festgelegt. ist dabei das niederwertige (Lowbyte) des Bitmusters, +ist das h”herwertige (Highbyte) des Bitmusters. Wenn das Pattern als Muster +fr Linien (und nicht fr 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", "Bitverknpfungen")# + +šber Bitverknpfungen 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 durchgefhrt. +Bis auf die COPY-Funktion wirken die Bitverknpfungen 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-) Verknpfung. + +- Das L”schen einer Linie (also das Zeichnen von "schwarzen" Punkten) ge- + schieht mit einer AND- (Und-) Verknpfung (Genau genommen eine NAND-, d.h. + negierte AND-Verknpfung). + +- Das Invertieren (d.h. Weiáer Punkt wird schwarz, schwarzer Punkt wird + weiá) kann man mit einer XOR- (Exklusiv-Oder-) Verknpfung erreichen. + +- Fr Icons (siehe 6.3.3.1) und andere Zwecke, gibt es noch die COPY-Funk- + tion, die eigentlich keine einzelne Bitverknpfung ist. Ist im Linientyp + das aktuelle Bit 0, dann wird in der Graphikseite eine AND-Verknpfung + durchgefhrt (d.h. der Punkt wird gel”scht) ist das aktuelle Bit im Li- + nientyp 1, dann wird eine OR-Verknpfung durchgefhrt (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 Bitverknpfung kann mit dem Kommando + + #ib(1)# O 4#ie(1)# (Hex 1B 4F 34 ) + +festgelegt werden. ist ein Byteparameter mit dem Wertebereich 0 bis 3. + hat folgende Bedeutung: + + Bitverknpfung 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)# O 5#ie(1)# (Hex 1B 4F 35 ) + + 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 : Bitverknpfung 0 = OR, 16 = AND, 32 = XOR, 48 = COPY + 6 : Farbe/Helligkeit 0 = Violett (dunkel), 64 = Gelb (hell) + +Standardeinstellung ist also ' 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 (mssen 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)# O 7#ie(1)# (Hex 1B 4F 37 ) + +gew„hlt werden. ist ein Byteparameter mit dem Wertebereich 0 bis 7. + +Bit 0 von : Sichtbare Seite (0 oder 1) +Bit 1 von : Arbeitsseite (0 oder 1) +Bit 2 von : 1 = 80 Zeichen Textseite wird in den untersten 32 Graphik- + zeilen eingeblendet. 0 = Nur Graphikmode. + +#on("u")# 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 Mll + 6 Seite 0 Seite 1 Text + 7 Seite 1 Seite 1 Mll + + +#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 Mll 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 verknpft werden k”nnen. Ver„n- +dert wird bei diesem Kommando nur die Arbeitsseite. + +Das Kommando lautet + + #ib(1)# !#ie(1)# (Hex 1B 21 ) + + ist dabei ein Byteparameter mit dem Wertebereich 0 bis 15 und hat fol- +gende Bedeutung: + + 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 Verknpfung). + 3 Mischt beide Seiten zusammen (OR) und invertiert das Ergebnis. + 6 Bildet den Durchschnitt beider Seiten (AND Verknpfung). + 7 Bildet den Durchschnitt beider Seite (AND) und invertiert das Ergebnis +10 Es sind die Punkte gesetzt, die in beiden Seiten verschieden sind (XOR + Verknpfung). +11 Es sind die Punkte gesetzt, die in beiden Seiten gleich sind (d.h. das + Inverse von =10). +14 Kopiert die andere Seite in die Arbeitsseite. +15 Kopiert das Inverse von der anderen Seite in die Arbeitsseite. + +Andere Werte fr 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)# /#ie(1)# + (Hex 1B 2F ...) + +kann eine Seite oder ein Teil einer Seite in die Arbeitsseite geladen wer- +den. , , , und sind Byteparameter (8 Bits). und + bilden zusammen die bin„re L„nge, d.h. die Anzahl der Datenbytes +, die die Graphik enthalten. Die L„nge kann von 0 bis Hex 2000 (dezi- +mal 8192) reichen. Die Adresse, durch und 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 +wrde. In einem dieser Fehlerf„lle werden die folgenden Graphikdatenbytes +ignoriert. Die Datenbytes werden dann als Kommandos interpretiert, was zu +unvorhersehbaren Reaktionen des Terminals fhrt. + + +#k("6.4.5", "Graphik auf Diskette speichern/laden")# + +Um Graphikseiten, zum Besipiel fr Pr„sentationen, unabh„ngig vom Host auf +dem Bildschirm darstellen zu k”nnen, benutzt man das Kommando + + #ib(1)# S#ie(1)# (Hex 1B 53 ). + +Man kann bis zu 8 verschiedene Graphikseiten vorbereiten, auf Diskette spei- +chern und zu einem sp„teren Zeitpunkt wieder in das Terminal zurckladen. +Dieses Kommando wird auch verwendet, um eine Textseite auf Diskette zu +schreiben oder von Diskette zu lesen. 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: + S liest die Graphikseite in Fach 0 in die Arbeitsseite. + S 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. + +Fr 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 Verfgung 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 natrlich nicht machen, zumal die +Geschwindigkeit, mit der die Zeichen auf den Bildschirm geschrieben werden +gegenber 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)# N#ie(1)# (Hex 1B 4E ) + +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) fr den jeweiligen Parameter eingestellt +werden. + bezeichnet die Zeichenbreite in Punkten. Standardwert ist 6. + bezeichnet die Zeichenh”he in Punkten. Standardwert ist 10. + bezeichnet den Drehwinkel in 5 Grad Schritten. Standardwert ist 0. + +Einige ausgezeichnet Werte fr sind: + Richtung +#linie ("16.2")# + 0 Waagerecht von links nach rechts (Ost) + 9 Schr„g nach unten rechts (Sd-Ost) +18 Senkrecht von oben nach unten (Sd) +27 Schr„g nach unten links (Sd-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 fr Striche eingestellt werden, wirken dann auch auf die Zeichen. M”g- +liche Parameter sind Farbe, Linientyp, Strichdicke und Bitverknpfung. Mit +dem Kommando + + #ib(1)# O 0#ie(1)# (Hex 1B 4F 30) + +werden alle diese Parameter auf Standardwerte zurckgesetzt. 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 Bitverknpfung ist in Kapitel 6.3.4 +beschrieben. Auch fr 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)# z#ie(1)# (Hex 1B 7A ) + +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. + ist ein Byteparameter mit dem Wertebereich 0 bis 15, im Graphikmodus +sind aber nur die beiden folgende Werte sinnvoll: + +#on("u")# 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)# G#ie(1)# (Hex 1B 47 ) + +eingestellt werden. ist ein Byteparameter mit dem Wertebereich 0, 1, 4 +und 5. Die Werte von sind folgendermaáen zugeordnet: + +#on("u")# 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)# )#ie(1)# (Hex 1B 29) + +hat wie im Textmodus die gleiche Bedeutung wie G 4. Damit wird im +Graphikmodus die Kursivschrift eingeschaltet. Mit dem Kommando + + #ib(1)# (#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)# &#ie(1)# (Hex 1B 26) + +kann man das vorherige L”schen einschalten, mit dem Kommando + + #ib(1)# '#ie(1)# (Hex 1B 27) + +wird der Modus des šberschreibens ausgeschaltet. + +Bei Kursivzeichen wird eine rautenf”rmige Fl„che gel”scht oder gefllt (wenn +Bitverknpfung AND eingeschaltet ist). Bei normalen Zeichen wird eine re- +chteckige Fl„che, der mit #ib(1)# N#ie(1)# eingestellten Breite und H”he, gel”scht +oder gefllt. Zu beachten ist, daá das L”schen/Fllen nur bei waagerechter +Schreibrichtung von links nach rechts funktioniert. + +Da die Gr”áe der Zeichen in weiten Grenzen mit N eingestellt werden +kann, ist es auch m”glich mit dem durch & eingeschalteten Ersetzungs- +modus schnell rechteckige Fl„chen zu fllen oder zu l”schen, wenn nicht auf +das sp„ter beschriebene Fllkommando fr beliebige Fl„chen zurckgegriffen +werden soll. Dazu schaltet man mit dem Kommando O 4 1 die Bitverkn- +pfung AND (fr Fllen) 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: + I (Backtab), j (Reverse Linefeed), E (Insert Line), +Q (Insert Character), R (Delete Line), 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 zurck) +auszufhren, nicht sondern wie bei normaler Schreibrichtung blich, + drcken. Die vier Cursorsteuertasten funktionieren fr beliebige +Schreibrichtungen. Alle anderen Steuertasten beziehen sich immer auf waage- +rechte Schreibrichtung von links nach rechts. + +Alle Steuertasten bercksichtigen 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)##ie(1)# 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)##ie(1)# - Kommandozeile aktivieren. + Einzelheiten zur Kommandozeile siehe + Abschnitt 3.: Die Kommandozeilen. + +#ib(1)##ie(1)# 18 u.a. Kommandozeile verlassen. + +#ib(1)##ie(1)# 0D Zum Zeilenanfang ohne Zeilenvorschub. + Der Cursor steht dann in der ersten + Spalte der Zeile. + +#ib(1)##ie(1)# 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)##ie(1)# 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)##ie(1)# 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)##ie(1)# 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)##ie(1)# 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)##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 ausgefhrt. + +#ib(1)##ie(1)# C0 Der Cursor wird in die linke obere + Bildschirmecke gebracht (Homeposi- + tion). + +#ib(1)##ie(1)# D0 Bildschirm l”schen und Cursor Home. + +#ib(1)##ie(1)# 7F Dieses Zeichen wird auf dem Bild- + schirm nicht dargestellt. Der Host + interpretiert es in der Regel als + Zeichenl”schbefehl. + +#ib(1)##ie(1)# 08 Cursor eine Spalte nach links (bzw. + entgegen der Schreibrichtung). Die + Funktion ist mit der von iden- + tisch. + +#ib(1)##ie(1)# 15 Apple: Cursor eine Spalte nach re- + chts (bzw. in Schreibrichtung). Die + Funktion ist mit der von + identisch. + +#ib(1)##ie(1)# 1B Leitet eine Escape-Sequenz ein. + +#ib(1)##ie(1)# - Local/Online umschalten + +#ib(1)##ie(1)# '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)# 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 Bitverknpfung immer gel”scht. Der Balken wird unabh„ngig von +der Schreibrichtung immer waagerecht gel”scht. + +Das Kommando (Clear to End Of Page) + + #ib(1)# 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 +Bitverknpfung und Schreibrichtung immer waagerecht. + +Die Kommandos + + #ib(1)# *#ie(1)# (Hex 1B 2A) + #ib(1)# ,#ie(1)# (Hex 1B 2C) + #ib(1)# +#ie(1)# (Hex 1B 2B) + #ib(1)# :#ie(1)# (Hex 1B 3A) + #ib(1)##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)# 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)# m#ie(1)# (Hex 1B 6D ) + +setzt einen Punkt an die Position x/y, wenn diese innerhalb des sichtbaren +Bereichs liegt. sind dezimale oder bin„re Koordinaten. Das Aussehen +des Punktes kann durch Farbe/Helligkeit oder Bitverknpfung festgelegt wer- +den. Mit einer AND-Bitverknpfung wird der angegebene Punkt gel”scht, mit +einer OR oder COPY Bitverknpfung wird der angegebene Punkt gesetzt, mit +einer XOR Bitverknpfung wird sein Zustand umgedreht (invertiert). +Soll ein dicker Punkt gezeichnet werden, dann kann man den (relativen) +Draw-Befehl 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 fr einen absoluten Move lautet + + #ib(1)# v#ie(1)# (Hex 1B 76 ) + +Dabei sind 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 und ist -32768 bis 32767. + +Das Kommando fr den relativen Move-Befehl lautet + + #ib(1)# q#ie(1)# (Hex 1B 71 ) + +Bei diesem Befehl werden die Werte von und , die auch den gesamten +Wertebereich von -32768 bis 32767 berstreichen drfen, 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 fr den Linientyp wieder auf +den Startwert zurck, 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 fr einen absoluten Draw +lautet + + #ib(1)# w#ie(1)# (Hex 1B 77 ) + +Dabei sind 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 und ist -32768 bis +32767. + +Das Kommando fr den relativen Draw-Befehl lautet + + #ib(1)# r#ie(1)# (Hex 1B 72 ) + +Bei diesem Befehl werden die Werte von und , die auch den gesamten +Wertebereich von -32768 bis 32767 berstreichen drfen, 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 zurcklassen 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 zurcklegt. 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. Natrlich ist die Zeichengeschwindigkeit +nicht mit der Fortbewegungsgeschwindigkeit von Schildkr”ten zu vergleichen. +Das erste Kommando lautet + + #ib(1)# n#ie(1)# (Hex 1B 6E ) + + und sind dezimale oder bin„re Parameter. ist die L„nge der Spur +mit einem Wertebereich von 0 bis 511. ist der relative Drehwinkel der +Schildkr”te, also die Žnderung von der ursprnglichen Blickrichtung aus. +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)# 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)# O 8#ie(1)# (Hex 1B 4F 38 ) + +benutzen. 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)# 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 durchgefhrt. 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)# K#ie(1)# (Hex 1B 4B ) + +wird ein Kreis mit dem Radius um die aktuelle Cursorposition gezeichnet +(relative Kreise). legt fest, welche Segmente gezeichnet werden sollen. + sind dezimale oder bin„re Parameter. hat den Wertebereich von 0 +bis 255. +Jedes Bit in 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 durchgefhrt wird. + +Die Segmente sind folgendermaáen numeriert: + + 7 0 + 6 1 + 5 2 + 4 3 + +Beispiele fr : + +#on("u")# 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 +Bitverknpfung 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 s fr 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)# J#ie(1)# (Hex 1B 4A ) + +zeichnet ein leeres Rechteck (Rahmen) an der aktuellen Cursorposition. sind dezimale oder bin„re Parameter. ist die Breite des Rechtecks +und kann den ganzen Wertebereich von -32768 bis 32767 berstreichen, ist +die H”he des Rechtecks und kann ebenfalls diesen Wertebereich berstreichen. +Je nach Vorzeichen von und wird das Rechteck links/ rechts und +oben/unten von der aktuelle Cursorposition gezeichnet. + + 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 fr Kreise eingefhrt (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)# s#ie(1)# (Hex 1B 73 ...) + +zeichnet um die aktuelle Cursorposition (also relativ) einen Ellipsenbogen +mit Radius in X-Richtung und Radius in Y-Richtung, ausgehend vom +Anfangswinkel im Uhrzeigersinn, bis zum Endwinkel . Der Winkel 0 +Grad ist dabei oben (Norden). + +Alle Parameter sind dezimale oder bin„re Parameter. und 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.. und drfen den +vollen Wertebereich von -32768 bis 32767 berstreichen. + + +#k("6.6.2.4", "Gefllte Fl„chen")# + +Rechteckige oder rautenf”rmige Fl„chen k”nnen, wie in Abschnitt 6.5.1.4 +beschrieben, schnell gefllt werden. Fr beliebig geformte Fl„chen kann das +Kommando + + #ib(1)# |#ie(1)# (Hex 1B 7C ) + +benutzt werden. Dies ist ein relatives Kommando, da um die aktuelle Cursor- +position herum gefllt wird. ist ein Byteparameter mit dem Wertebereich +0 bis 15, der die Nummer des Musters fr die Fllung angibt. Der Fill-Befehl +arbeitet auf der aktuellen Arbeitsseite und fllt eine sichtbar begrenzte +Fl„che mit einem angegebenen Muster aus. + +Ist die Bitverknpfung 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 Bitverknpfung 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 Bitverknpfung und Helligkeit/Farbe werden keine be- +rcksichtigt. + +Bei sehr komplex geformten Figuren kann der Fall eintreten, daá die Fl„che +nicht ganz gefllt ist. Dies liegt daran, daá intern ein zu gr”áer Spei- +cherplatz zum Merken von Rcksprungcursorpositionen ben”tigt wird (Stack- +šberlauf). In diesem Fall sollte man den Cursor nocheinmal auf die nicht +gefllte Fl„che setzen und das Kommando erneut geben. + + kann folgende Werte annehmen (Werte Hexadezimal angegeben 0..F): + Bedeutung +#linie ("16.2")# + 0 Fl„che ganz gefllt + 1 Fl„che halb gefllt (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-Bitverknpfung eingeschaltet, dann sind die Punkte schwarz und +weiá in den Mustern vertauscht und in der obigen Tabelle sind die Bezeich- +nungen 'gefllt' 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)# O :#ie(1)# (Hex 1B 4F 3A ) + +eingestellt werden. Das Defaultmuster wird dabei berschrieben, das neu +eingestellte Muster allerdings nicht beim Setup mitgesichert. + sind 8 Byteparameter mit dem gesamten Wertebereich 0 bis 255. Das +erste Byte wird im Fllmuster 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 / ... kann der modifizierte Teil +dann wieder an das Terminal zurckgesendet werden. Zum Aufbau der Graphik- +seite findet man in Kapitel 6.4.2 Informationen. + +Mit dem Kommando + + #ib(1)# \#ie(1)# (Hex 1B 5C ...) + +kann eine Seite oder ein Teil einer Seite in an den Host gesendet werden. +, , und sind Byteparameter (8 Bits). und 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 und 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 eingefhrt. Pro Koordinate werden dabei 2 Bytes, zusammen +also 4 Bytes, gesendet. Mit dem Kommando + + #ib(1)# ;#ie(1)# (Hex 1B 3B) + +kann der Host diese 4 Bytes anfordern. Die Reihenfolge der Bytes ist + . Im Gegensatz zu ? (fr die Textcursorposi- +tion) wird auch kein abschlieáendes 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 +Verfgung. Mit dem Kommando + + #ib(1)# _#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)# -#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)# 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)# O 7#ie(1)# , 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)# 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 : Bitverknpfung (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)# O 5#ie(1)# . + + +#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.) untersttzt. Die Anpassung +wird in diesem Abschnitt beschrieben. + +Mit dem Kommando + + #ib(1)# ~#ie(1)# (Hex 1B 7E ) + +k”nnen Kommandosequenzen eingestellt werden, die folgende Aufgaben haben: + + Default (Hex) Aufgabe +#linie ("16.2")# + 0 0D Einleiten der gesamten Hardcopy (Waagenrcklauf) + 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 Waagenrck- + 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. + + ist dabei ein Byteparameter mit dem Wertebereich von 0 bis 3. 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. Fr 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)# ^#ie(1)# (Hex 1B 5E ) + +druckt eine Hardcopy mit dem Parameter . ist ein Byteparameter mit +dem Wertebereich von 0 bis 15. Jedes Bit in 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 (linksbndig) gedruckt. + 1 8 Die aktuelle (mit #ib(1)# O 7#ie(1)# eingestellte) Graphikseite + wird linksbndig 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 ausgefhrt wird, ist diese Dichte nur solange gltig, + 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 durchgefhrt, +wenn die Parameterbergabe 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 fr 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)# #ie(1)# (Hex 1B 20 20 ) + + 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)# 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)# 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 geprft +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 Mlls 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 ausgefhrt 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)##ie(1)# Hex 13) + +verwendet. Als Startzeichen wird + + #ib(1)#XON#ie(1)# (#ib(1)##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)##ie(1)# (Hex 0F) + +eingeschaltet und mit + + #ib(1)##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 noch (Hex +11), also XON senden, um den Sender wieder einzuschalten. Dies wird vom +Terminal nicht automatisch gemacht, da sonst ein das im Datenstrom +vorkommt, auch noch ein Zeichen fr 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 mssen. +Bei dieser Art der Fluákontrolle drfen alle Zeichen bertragen werden, ohne +daá eines die Fluákontrolle steuert. Ausnahme: Wenn zus„tzlich XON/ XOFF +Fluákontrolle eingeschaltet ist werden natrlich 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)# #ie(1)# (Hex 1B 20 ) + +erreichen. Die Werte von sind + +#on("u")# 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 mssen. +Bei dieser Art der Fluákontrolle drfen alle Zeichen bertragen werden, ohne +daá eines die Fluákontrolle steuert. Ausnahme: Wenn zus„tzlich XON/ XOFF +Fluákontrolle eingeschaltet ist werden natrlich 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 erreichen. Die Werte von 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 zurckgesendet (geechoed) wird, um eventuelle šbertragungsfehler zu +erkennen. Dieser Modus wird mit dem Kommando + + #ib(1)# 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)# 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)# 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 Drcken von +#ib(1)##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 ausgefhrt, +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 gltigen Cursorpositio- +nierungskommandos gibt es noch einige weitere. Die fnf Kommandos Zeile +l”schen, Zeile einfgen, Zeichen l”schen, Zeichen einfgen und Rckw„rtsta- +bulator sind schon in Kapitel 5 beschrieben worden. + +Hier nur noch einmal die entsprechenden Kommandos: + +Funktion Escape-Sequenz +#linie("16.2")# +Zeile einfgen #ib(1)# E#ie(1)# oder #ib(1)# L#ie(1)# +Zeile l”schen #ib(1)# R#ie(1)# oder #ib(1)# M#ie(1)# +Zeichen einfgen #ib(1)# Q#ie(1)# +Zeichen l”schen #ib(1)# W#ie(1)# +Rckw„rtstabulator #ib(1)# I#ie(1)# + +Mit dem Kommando + + #ib(1)# 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 . Steht der Cursor +in Zeile 1, dann wird der Bildschirminhalt nach unten gescrollt und die +erste Bildschirmzeile gel”scht. + +Mit dem Kommando + + #ib(1)# =#ie(1)# (Hex 1B 3D ...) + +kann der Cursor auf eine bestimmte Position auf dem Bildschirm gesetzt wer- +den. und sind dabei Byteparameter. hat den Wertebe- +reich 32 () bis 110 ("o"), hat den Wertebereich 32 () +bis 55 ("7"). ist dabei die gewnschte x-Position + 32 (gez„hlt wird +von 0 bis 79), ist die gewnschte 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)# .#ie(1)# (Hex 1B 2E ) + +kann die Darstellung des Cursors ver„ndert werden. Fr sind ASCII-Zei- +chen "0", "1" und "2" zugelassen. hat folgende Bedeutung: + +#on("u")# 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)# 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)# z#ie(1)# (Hex 1B 7A ) + +wobei ein Byteparameter ist. Beim Apple hat folgende Bedeutung: + + 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 folgende Bedeutung: + + 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)# 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 und + gedruckt, der Drucker sollte deshalb kein Autolinefeed bei durch- +fhren. + +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)# G#ie(1)# (Hex 1B 47 ) + +eingestellt. ist ein Byteparameter, der folgende Werte annehmen kann: + +#on("u")# 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)# (#ie(1)# (Hex 1B 28) + +kann auf normale Darstellung umgeschaltet werden (wirkt „hnlich G 0, +schaltet aber nicht auf sichtbare Darstellung, falls unsichtbar). + +Mit dem Kommando + + #ib(1)# )#ie(1)# (Hex 1B 29) + +kann auf inverse Darstellung umgeschaltet werden (wirkt „hnlich 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- +zglich 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)# 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)# 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)# 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)# 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)# 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)# x 1#ie(1)# (Hex 1B 78 31 ) + +k”nnen die Zeilenbegrenzer der Sendekommandos festgelegt werden. und + 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)# x 4#ie(1)#

(Hex 1B 78 34

) + +kann der Seitenbegrenzer des Kommandos #ib(1)# 7#ie(1)# festgelegt werden.

ist +ein Byteparameter, der den Wertebereich von 0 bis 255 berstreicht. Ist

+Hex 00, dann wird kein Seitenbegrenzer gesendet. +Voreingestellt ist

= (Hex 0D). + + +#k("8.7.5", "Cursorposition senden")# + +Mit dem Kommando + + #ib(1)# ?#ie(1)# (Hex 1B 3F) + +kann der Host die Position des Textcursors abfragen. Es wird eine Folge von +3 Bytes gesendet: + + ist die y-Position + 32, die x-Position + 32. Beide Parameter +k”nnen fr den Befehl #ib(1)# =#ie(1)# 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 zurckgeladen 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" fr die Textseiten sind unabh„ngig von denen fr 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 fr diese Operationen lautet + + #ib(1)# S#ie(1)# (Hex 1B 53 ). + + 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. + +Fr 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)##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 fr fast alle Tasten erzeugt. Ausnahmen sind die + und die Tasten, sowie beim Apple die Apfeltasten. Der Tasta- +turclick kann in der ersten Kommandozeile abgeschaltet werden (CLK OFF) oder +mit dem Kommando + + #ib(1)# <#ie(1)# (Hex 1B 3C) + +vom Host. Mit dem Kommando + + #ib(1)# >#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)# `#ie(1)# (Hex 1B 60) + +abgeschaltet werden. Bis auf das Kommando + + #ib(1)# a#ie(1)# (Hex 1B 61) + +werden keine Escape-Squenzen oder Control-Codes interpretiert. Mit a +wird die Bildschirmausgabe wieder zugelassen. + +Die Druckerausgabe kann mit dem Kommando + + #ib(1)# @#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)# 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 (, , 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)# 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 ntzliche 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 fr 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 gegeben werden, damit der Setup samt Funktionstastende- +finitionen auf die Diskette geschrieben wird. + +Mit dem Kommando + + #ib(1)# e#ie(1)# (Hex 1B 65 ) + +wird eine Taste belegt. und sind Byteparameter. ist eine +Folge von Datenbytes, deren Bit 7 = 0 sein muá. 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 e gel”scht. + ist dabei der Code einer zu l”schenden Taste. +- In der ersten Kommandozeile wird F CODE eingeschaltet oder das Kommando + + #ib(1)# 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 (Hex 1B) verwendet. +Das Zeichen + + #ib(1)##ie(1)# (Hex 9B) + +teilt dem Terminal mit, daá die nun folgende Escape-Sequenz nicht an den +Host gesendet wird (was bei der Fall w„re), sondern vom Terminal in- +terpretiert werden muá. +Im Local-Modus wirkt ein wie ein normales , 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 Abkrzungen + h„ufig benutzter Zeichenfolgen beschleunigt werden. + +Ein Makro wird wie eine Funktionstaste mit dem Kommando + + + #ib(1)# e#ie(1)# (Hex 1B 65 ) + +definiert. und sind Byteparameter. ist eine Folge von +Datenbytes, deren Bit 7 = 0 sein muá. ist der Code der Funktionstaste +(Bit 7 = 1) oder mit anderen Worten der Makroname. +Es sind alle Codes fr 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)# #ie(1)# (Hex 1B ) + +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 vor dem weggelassen, dann wird der + Code ohne Makroausfhrung 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 erzeugt werden. +Wird bei der Makroausfhrung 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 drfen 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 (beim Apple ) erzeugt werden. + +Dieses Makro wird bei einem RESET des Terminals (Hardwarereset oder 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)# #ie(1)# (Hex 1B 7F ) + +verwendet werden. ist ein Byteparameter mit dem Wertebereich 0 bis 15 +und hat folgende Bedeutung: + +#on("u")# 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)# 9#ie(1)# (Hex 1B 39 ) + +kann eine Zeitverz”gerung aufgerufen werden. Man kann zum Beispiel ein Fa- +denkreuz darstellen, die Zeitverz”gerung aufrufen und das Fadenkreuz wieder +l”schen. ist ein Byteparameter mit dem Wertebereich von 0 bis 255. Die +Verz”gerung betr„gt ca. * 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)# U#ie(1)# (Hex 1B 55) + +kann der Monitormode eingeschaltet werden. Alle Zeichen werden ohne Inter- +pretation ausgegeben, Ausnahmen sind + + #ib(1)# u#ie(1)# (Hex 1B 75) + +und + + #ib(1)# 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)# u#ie(1)# (Hex 1B 75) + +ein- und ausgeschaltet werden. Alle Zeichen werden ohne Interpretation aus- +gegeben, auáer #ib(1)# u#ie(1)# und + + #ib(1)# 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. fr den +unteren Teil des APL-Zeichensatzes (Codes 0 bis 31 oder 128 bis 159), gibt +es das Kommando + + #ib(1)# F#ie(1)# (Hex 1B 46 ). + + ist dabei ein Byteparameter mit dem Wertebereich 0 bis 255, vorzugswei- +se 0 bis 31. 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..c3bdeb4 --- /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 Mnster-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 (fr den Basis 108 und den +Apple IIe) geliefert. Die Version ist in der Kommandozeile erkenntlich +(BASIS oder APPLE). + +Eigenschaften des Terminals: + +- Kommandozeilen fr schnelle Offline Parametereinstellung +- Statuszeile fr spezielle Betriebzust„nde +- šber 70 programmierbare Funktionstasten +- Druckerspooler 32k (4 ganze Graphikhardcopys und noch mehr) +- 7935 Zeichen Empfangspuffer +- Verschiedene Hardcopy Modi fr Text und Graphik +- 192x280 Punkte aufl”sender Graphikmodus mit zwei Helligkeitsstufen +- Zwei Graphikseiten mit getrennter Anzeige/Bearbeitung +- Viele Graphikroutinen (Bogen, Fl„chenfllung, Kreis, Rechteck...) +- Graphikmodus fr 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. ) in einigen F„llen auch durch ihren +Namen (z.B. oder ). 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. ). + +Nicht druckbare Ascii-Codes (z.B. oder ), sowie Kommandopara- +meter (z.B. ) 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")# + + +Untersttzt 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 ). Es wer- +den alle 15 g„ngigen Baudrates zwischen 50 und 19200 Baud untersttzt. Pari- +tycheck kann mit gerader oder ungerader Parit„t durchgefhrt 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 verfgen, mssen einige Einschr„nkungen bei der +Parameterbergabe 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)# 0#ie(1)# (Hex 1B 30) + +initiiert werden, vom Basiskeyboard aus durch . 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 . +#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 Drcken von und beim Apple durch . + +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# + oder Wechselt in die jeweils andere Kommandozeile + + Springt zum vorherigen (linken) Parameter ohne etwas zu + ver„ndern. + + Springt zum n„chsten (rechten) Parameter ohne etwas zu + ver„ndern. + + Žndert das selektierte Parameterfeld. Das selektierte + Parameterfeld ist durch Invertierung hervorgehoben. Die + m”glichen Parameter wiederholen sich zyklisch. + + Die Kommandozeile wird verlassen. Es werden keine Žnde- + rungen durchgefhrt. + + 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# + Alle Parameter werden auf ihre Defaultwerte zurckge- + setzt. Die Kommandozeile wird noch nicht verlassen, daher + kann dieser 'Reset' durch wieder aufgehoben werden. + oder 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.) durchgefhrt, sind diese Žnderungen nicht + verloren. + + +#type("8")##center##ib(3)#3.2 Setup#ie(3)##type("elite")# + +Beim Setup, der in der Kommandozeile durch ausgel”st werden kann, +werden wichtige Parameter auf die Diskette geschrieben. Sie werden dann +'permanent' und mssen 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 prfen, 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 Drcken 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 fr ) + +#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 fr ) + +#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 fr 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 fr jede Funktionstaste eine + Zeichenfolge x . 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 fhrt keine Codeumsetzung durch. + Wird allerdings die -Taste mit einer anderen + Taste zusammen gedrckt, 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 u oder + 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 fr 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 ausgefhrt + 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 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 fr : + +#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 fr 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 fr die serielle Schnitt- + stelle. + +DATA 8 DATA 7 W„hlt die Anzahl der Datenbits fr die serielle Schnitt- + stelle. + +NO PAR EVN PAR W„hlt Parity Check Art. NO PAR = Kein Parit„tsbit, keine + ODD PAR Parit„tsprfung. EVN PAR = Gerade Parit„t, ODD PAR = Unge- + rade Parit„t. + +NO XONOFF W„hlt XON (CTRL Q) und XOFF (CTRL S) als Protokoll fr 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 fr die serielle Schnittstel- + RTS/CTS le. Mit NO RTSCTS wird dieses Protokoll ausgeschaltet. + +NO DTRDSR W„hlt DTR/DSR als Protokoll fr 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)# }#ie(1)# (Hex 1B 7D) + +eingeschaltet werden. Ausschalten ebenso mit STATOFF oder + + #ib(1)# {#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 Drcken von 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 Drcken von 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 gefllt. 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 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 + 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 gengend 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 gedrckt 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 Verfgung 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 , , , +und der Zehnerblock mit Doppelfunktionen ber versehen. + + +#type("8")##center##ib(3)#5.1 Die Funktions- und Steuertasten#ie(3)##type("elite")# + +Zuerst werden die Tastenfunktionen erl„utert fr ein nicht emulierendes +Terminal. Die TVI-Emulation kann in der Kommandozeile abgeschaltet werden +(1. Zeile, 2. Feld) oder mit dem Kommando + + #ib(1)# 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. bezeichnet beim Basiskeyboard die linke obere Eckposi- +tion des Cursorblocks, die rechte obere etc. + +Basis-Taste Apple-Taste Hex-Code Bedeutung +#rpos(16.2)##fillchar(" ")##table# +#on("u")# #off("u")# +#table end# + 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). + + 89 Back-Tab (Rckw„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 + darberliegenden Zeile. War der Cur- + sor in Homeposition, dann „ndert sich + seine Position nicht. + + - 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# + 18 U.a. Kommandozeile verlassen. + + 0D Zum Zeilenanfang ohne Zeilenvorschub. + Der Cursor steht dann in der ersten + Spalte der Zeile. + + 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). + + 8B/0B Cursor eine Zeile h”her. War der + Cursor in der ersten Bildschirmzei- + le, „ndert sich seine Position nicht. + + 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). + + 16 Cursor eine Zeile tiefer. War der + Cursor in Zeile 24, dann „ndert er + seine Position nicht. Die Spalte + „ndert sich nicht. + + 88/08 Cursor eine Spalte nach links. War + der Cursor in der ersten Bildschirm- + spalte, dann steht er jetzt in der + letzten Spalte der darberliegenden + Bildschirmspalte. War der Cursor + allerdings in Homeposition, „ndert + sich seine Position nicht. + + - 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). + + C0 Der Cursor wird in die linke obere + Bildschirmecke gebracht (Homeposi- + tion). + + 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# + 7F Dieses Zeichen wird auf dem Bild- + schirm als Punktraster dargestellt. + Der Host interpretiert es in der + Regel als Zeichenl”schbefehl. + + 8E Zeichen bei Cursorposition einfgen. + Der Cursor „ndert seine Position + nicht. Unter dem Cursor steht dann + ein Leerzeichen. Das Zeichen in Spal- + te 79 geht verloren. + + 82 Zeichen unter Cursorposition l”schen. + In Spalte 79 steht dann ein Leerzei- + chen. + + 8F Zeile bei Cursorposition einfgen. + Die Cursorposition „ndert sich nicht. + Der Inhalt der letzten Bildschirmzei- + le ist verloren. Die Zeile in der der + Cursor steht wird mit Leerzeichen + gefllt. + + 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 + aufgefllt. + + 08 Cursor eine Spalte nach links. Die + Funktion ist mit der von iden- + tisch. + + 15 Apple: Cursor eine Spalte nach re- + chts. Die Funktion ist mit der von + identisch. + + EF Diese Taste ist eine programmierbare + Funktionstaste (siehe e). + + 81 Diese das liefert den + Makroparametercode (siehe e). + + 1B Leitet eine Escape-Sequenz ein. + + 9B W„hrend der Funktionstastedefinition + wirkt diese Taste wie ein Local + Escape, sonst liefert sie den Code 9B. + (siehe e). + + - 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# + '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")# + + ... ... E1 ... programmierbare Funktionstasten + E9 " " + EA " " + EB " " + EC " " + ED " " + + EF " " + (Dieser Code wird beim RESET des + Terminals ausgefhrt. Der Benut- + zer kann damit das Terminal nach + seinen Wnschen konfigurieren.) + + +#on("u")#Funktionstasten:#off("u")# + + ... ... C1 " " + CF " " + ... ... D1 " " + DF " " + ... ... A1 " " + AF " " +.. ... B1 " " + BF " " + +Die Programmierung der Funktionstasten geschieht mit #ib(1)# 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)# 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 drcken 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# + 0C #ib(1)##ie(1)# Cursor nach rechts + + 1E #ib(1)##ie(1)# Cursor in Homeposition + + 1A #ib(1)##ie(1)# Durch Drcken von + Bildschirm l”schen und Cursor Home + + 1B 57 #ib(1)# W#ie(1)# Durch Drcken von + Zeichen l”schen + + 1B 52 #ib(1)# R#ie(1)# Durch Drcken von + Zeile l”schen + + 1B 51 #ib(1)# Q#ie(1)# Durch Drcken von + Zeichen einfgen + + 1B 45 #ib(1)# E#ie(1)# Durch Drcken von + Zeile einfgen + + 08 #ib(1)##ie(1)# Cursor nach links + + 1B 49 #ib(1)# I#ie(1)# Durch Drcken von + Rckw„rtstabulator + + 0A #ib(1)##ie(1)# Cursor nach unten + + 0B #ib(1)##ie(1)# Cursor nach oben + + 1F #ib(1)##ie(1)# Durch Drcken von + Waagenrcklauf und Zeilenvorschub + + +#on("u")#Funktionstasten:#off("u")# + +Fr jede Funktionstaste, die nicht belegt wurde wird eine Codesequenz der +Form also 01 0D gesendet. Fr gilt: + +Taste Hex-Code + ... @ ... 40 ... Diese Tasten sind auf fast allen + J 4A TVI-Terminals vorhanden. + ... ` ... 60 ... + c 63 + + ... K ... 4B ... + 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")# + + ... d ... 64 ... + l 6C + m 6D + n 6E + o 6F + p 70 + + r 72 + +Alle nicht in dieser Tabelle aufgefhrten 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)# $#ie(1)# (Hex 1B 24) + +eingeschaltet und mit dem Kommando + + #ib(1)# %#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 Parameterbergabe#ie(3)##type("elite")# + +Die Koordinaten fr die Graphikkommandos drfen den Bereich von -32768 bis +32767 berstreichen. Der sichtbare Bereich ist fr die X-Koordinate 0..279 +und fr 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)##ie(1)# oder #ib(1)##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 gesendet wird. Solange +der Bereich oder die Position des Fadenkreuzes nicht ver„ndert wird, k”nnen +zwischen den beiden Kommandos auch andere Graphikkommandos ausge- +fhrt 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 , +, - 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 +fr 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 Parameterbergabe schneller +ist als bei dezimalen Parametern, da weder Host noch Terminal eine Konver- +tierung vornehmen mssen und die Anzahl der Parameterbytes in der Regel +geringer ist als bei dezimaler Parameterbergabe. + +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 drfen Leerzeichen () 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. v 200, 100; setzt den Cursor direkt auf die +Position X=200, Y=100. Die meisten Programme untersttzen 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. 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 +ausdrcklich 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 + +Fr Werte zwischen 0 und 31 benutzt man dann besser die Buchstaben (Groá- +buchstaben und [\]^_ oder Kleinbuchstaben und {|}~ und ). 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")# + +Fr 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 Bitverknpfungen (l”schen, invertieren...) festlegen. Diese Parameter +werden mit einem Kommando O ... ver„ndert. + +Mit dem Kommando + + #ib(1)# O 0#ie(1)# (Hex 1B 4F 30) + +werden all diese Parameter auf Defaultwerte zurckgesetzt. Diese Default- +werte sind: Strichdicke 1, durchgehende Linie, OR-Bitverknpfung (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 ursprnglichen 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)# O 1#ie(1)# (Hex 1B 4F 31 ) + +eingestellt. 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 untersttzt, da sich dann die Aufl”sung in X-Richtung +halbiert (also nur noch 140 x 192 Punkte). + +Mit dem Kommando + + #ib(1)# O 2#ie(1)# (Hex 1B 4F 32 ) + +kann die Helligkeit eingestellt werden. ist ein Byteparameter bei dem +nur das Bit 0 wichtig ist: + +Bit 0 Bedeutung + 0 dunkel/Violett ist eine gerade Zahl + 1 hell/Gelb 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)# O 3#ie(1)# (Hex 1B 4F 33 ) + +eingestellt. ist ein Byteparameter mit dem Wertebereich von 0 bis 7. Die +Strichtypen sind folgendermaáen zugeordnet: + +#on("u")# 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 Bitverknpfung 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 fr die n„chste Zeile fortgesetzt werden. + +Das benutzerdefinierbare Pattern wird mit dem Kommando + + #ib(1)# O 6#ie(1)# (Hex 1B 4F 36 ) + +festgelegt. ist dabei das niederwertige (Lowbyte) des Bitmusters, +ist das h”herwertige (Highbyte) des Bitmusters. Wenn das Pattern als Muster +fr Linien (und nicht fr 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 Bitverknpfungen#ie(3)##type("elite")# + +šber Bitverknpfungen 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 durchgefhrt. +Bis auf die COPY-Funktion wirken die Bitverknpfungen 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-) Verknpfung. + +- Das L”schen einer Linie (also das Zeichnen von "schwarzen" Punkten) ge- + schieht mit einer AND- (Und-) Verknpfung (Genau genommen eine NAND-, d.h. + negierte AND-Verknpfung). + +- Das Invertieren (d.h. Weiáer Punkt wird schwarz, schwarzer Punkt wird + weiá) kann man mit einer XOR- (Exklusiv-Oder-) Verknpfung erreichen. + +- Fr Icons (siehe 6.3.3.1) und andere Zwecke, gibt es noch die COPY-Funk- + tion, die eigentlich keine einzelne Bitverknpfung ist. Ist im Linientyp + das aktuelle Bit 0, dann wird in der Graphikseite eine AND-Verknpfung + durchgefhrt (d.h. der Punkt wird gel”scht) ist das aktuelle Bit im Li- + nientyp 1, dann wird eine OR-Verknpfung durchgefhrt (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 Bitverknpfung kann mit dem Kommando + + #ib(1)# O 4#ie(1)# (Hex 1B 4F 34 ) + +festgelegt werden. ist ein Byteparameter mit dem Wertebereich 0 bis 3. + hat folgende Bedeutung: + + Bitverknpfung 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)# O 5#ie(1)# (Hex 1B 4F 35 ) + + 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 : Bitverknpfung 0 = OR, 16 = AND, 32 = XOR, 48 = COPY + 6 : Farbe/Helligkeit 0 = Violett (dunkel), 64 = Gelb (hell) + +Standardeinstellung ist also ' 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 (mssen 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)# O 7#ie(1)# (Hex 1B 4F 37 ) + +gew„hlt werden. ist ein Byteparameter mit dem Wertebereich 0 bis 7. + +Bit 0 von : Sichtbare Seite (0 oder 1) +Bit 1 von : Arbeitsseite (0 oder 1) +Bit 2 von : 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")# 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 Mll + 6 Seite 0 Seite 1 Text + 7 Seite 1 Seite 1 Mll + + +#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 Mll 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 verknpft werden k”nnen. Ver„n- +dert wird bei diesem Kommando nur die Arbeitsseite. + +Das Kommando lautet + + #ib(1)# !#ie(1)# (Hex 1B 21 ) + +#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# + ist dabei ein Byteparameter mit dem Wertebereich 0 bis 15 und hat fol- +gende Bedeutung: + + 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 Verknpfung). + 3 Mischt beide Seiten zusammen (OR) und invertiert das Ergebnis. + 6 Bildet den Durchschnitt beider Seiten (AND Verknpfung). + 7 Bildet den Durchschnitt beider Seite (AND) und invertiert das Ergebnis +10 Es sind die Punkte gesetzt, die in beiden Seiten verschieden sind (XOR + Verknpfung). +11 Es sind die Punkte gesetzt, die in beiden Seiten gleich sind (d.h. das + Inverse von =10). +14 Kopiert die andere Seite in die Arbeitsseite. +15 Kopiert das Inverse von der anderen Seite in die Arbeitsseite. + +Andere Werte fr 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)# /#ie(1)# + (Hex 1B 2F ...) + +kann eine Seite oder ein Teil einer Seite in die Arbeitsseite geladen wer- +den. , , , und sind Byteparameter (8 Bits). und + bilden zusammen die bin„re L„nge, d.h. die Anzahl der Datenbytes +, die die Graphik enthalten. Die L„nge kann von 0 bis Hex 2000 (dezi- +mal 8192) reichen. Die Adresse, durch und 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 +wrde. In einem dieser Fehlerf„lle werden die folgenden Graphikdatenbytes +ignoriert. Die Datenbytes werden dann als Kommandos interpretiert, was zu +unvorhersehbaren Reaktionen des Terminals fhrt. + + +#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 fr Pr„sentationen, unabh„ngig vom Host auf +dem Bildschirm darstellen zu k”nnen, benutzt man das Kommando + + #ib(1)# S#ie(1)# (Hex 1B 53 ). + +Man kann bis zu 8 verschiedene Graphikseiten vorbereiten, auf Diskette spei- +chern und zu einem sp„teren Zeitpunkt wieder in das Terminal zurckladen. +Dieses Kommando wird auch verwendet, um eine Textseite auf Diskette zu +schreiben oder von Diskette zu lesen. 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: + S liest die Graphikseite in Fach 0 in die Arbeitsseite. + S 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. + +Fr 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 Verfgung 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 natrlich nicht machen, zumal die +Geschwindigkeit, mit der die Zeichen auf den Bildschirm geschrieben werden +gegenber 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)# N#ie(1)# (Hex 1B 4E ) + +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) fr den jeweiligen Parameter eingestellt +werden. + bezeichnet die Zeichenbreite in Punkten. Standardwert ist 6. + bezeichnet die Zeichenh”he in Punkten. Standardwert ist 10. + 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 fr sind: + 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 (Sd-Ost) +18 Senkrecht von oben nach unten (Sd) +27 Schr„g nach unten links (Sd-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 fr Striche eingestellt werden, wirken dann auch auf die Zeichen. M”g- +liche Parameter sind Farbe, Linientyp, Strichdicke und Bitverknpfung. Mit +dem Kommando + + #ib(1)# O 0#ie(1)# (Hex 1B 4F 30) + +werden alle diese Parameter auf Standardwerte zurckgesetzt. 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 Bitverknpfung ist in Kapitel 6.3.4 +beschrieben. Auch fr 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)# z#ie(1)# (Hex 1B 7A ) + +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. + ist ein Byteparameter mit dem Wertebereich 0 bis 15, im Graphikmodus +sind aber nur die beiden folgende Werte sinnvoll: + +#on("u")# 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)# G#ie(1)# (Hex 1B 47 ) + +eingestellt werden. ist ein Byteparameter mit dem Wertebereich 0, 1, 4 +und 5. Die Werte von sind folgendermaáen zugeordnet: + +#on("u")# 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)# )#ie(1)# (Hex 1B 29) + +hat wie im Textmodus die gleiche Bedeutung wie G 4. Damit wird im +Graphikmodus die Kursivschrift eingeschaltet. Mit dem Kommando + + #ib(1)# (#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)# &#ie(1)# (Hex 1B 26) + +kann man das vorherige L”schen einschalten, mit dem Kommando + + #ib(1)# '#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 gefllt (wenn +Bitverknpfung AND eingeschaltet ist). Bei normalen Zeichen wird eine re- +chteckige Fl„che, der mit #ib(1)# N#ie(1)# eingestellten Breite und H”he, gel”scht +oder gefllt. Zu beachten ist, daá das L”schen/Fllen nur bei waagerechter +Schreibrichtung von links nach rechts funktioniert. + +Da die Gr”áe der Zeichen in weiten Grenzen mit N eingestellt werden +kann, ist es auch m”glich mit dem durch & eingeschalteten Ersetzungs- +modus schnell rechteckige Fl„chen zu fllen oder zu l”schen, wenn nicht auf +das sp„ter beschriebene Fllkommando fr beliebige Fl„chen zurckgegriffen +werden soll. Dazu schaltet man mit dem Kommando O 4 1 die Bitverkn- +pfung AND (fr Fllen) 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: + I (Backtab), j (Reverse Linefeed), E (Insert Line), +Q (Insert Character), R (Delete Line), 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 zurck) +auszufhren, nicht sondern wie bei normaler Schreibrichtung blich, + drcken. Die vier Cursorsteuertasten funktionieren fr beliebige +Schreibrichtungen. Alle anderen Steuertasten beziehen sich immer auf waage- +rechte Schreibrichtung von links nach rechts. + +Alle Steuertasten bercksichtigen 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)##ie(1)# 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)##ie(1)# - Kommandozeile aktivieren. + Einzelheiten zur Kommandozeile siehe + Abschnitt 3.: Die Kommandozeilen. + +#ib(1)##ie(1)# 18 u.a. Kommandozeile verlassen. + +#ib(1)##ie(1)# 0D Zum Zeilenanfang ohne Zeilenvorschub. + Der Cursor steht dann in der ersten + Spalte der Zeile. + +#ib(1)##ie(1)# 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)##ie(1)# 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)##ie(1)# 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)##ie(1)# 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)##ie(1)# 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)##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 ausgefhrt. + +#ib(1)##ie(1)# C0 Der Cursor wird in die linke obere + Bildschirmecke gebracht (Homeposi- + tion). + +#ib(1)##ie(1)# D0 Bildschirm l”schen und Cursor Home. + +#ib(1)##ie(1)# 7F Dieses Zeichen wird auf dem Bild- + schirm nicht dargestellt. Der Host + interpretiert es in der Regel als + Zeichenl”schbefehl. + +#ib(1)##ie(1)# 08 Cursor eine Spalte nach links (bzw. + entgegen der Schreibrichtung). Die + Funktion ist mit der von iden- + tisch. + +#ib(1)##ie(1)# 15 Apple: Cursor eine Spalte nach re- + chts (bzw. in Schreibrichtung). Die + Funktion ist mit der von + identisch. + +#ib(1)##ie(1)# 1B Leitet eine Escape-Sequenz ein. + +#ib(1)##ie(1)# - Local/Online umschalten + +#ib(1)##ie(1)# '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)# 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 Bitverknpfung immer gel”scht. Der Balken wird unabh„ngig von +der Schreibrichtung immer waagerecht gel”scht. + +Das Kommando (Clear to End Of Page) + + #ib(1)# 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 +Bitverknpfung und Schreibrichtung immer waagerecht. + +Die Kommandos + + #ib(1)# *#ie(1)# (Hex 1B 2A) + #ib(1)# ,#ie(1)# (Hex 1B 2C) + #ib(1)# +#ie(1)# (Hex 1B 2B) + #ib(1)# :#ie(1)# (Hex 1B 3A) + #ib(1)##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)# 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)# m#ie(1)# (Hex 1B 6D ) + +setzt einen Punkt an die Position x/y, wenn diese innerhalb des sichtbaren +Bereichs liegt. sind dezimale oder bin„re Koordinaten. Das Aussehen +des Punktes kann durch Farbe/Helligkeit oder Bitverknpfung festgelegt wer- +den. Mit einer AND-Bitverknpfung wird der angegebene Punkt gel”scht, mit +einer OR oder COPY Bitverknpfung wird der angegebene Punkt gesetzt, mit +einer XOR Bitverknpfung wird sein Zustand umgedreht (invertiert). +Soll ein dicker Punkt gezeichnet werden, dann kann man den (relativen) +Draw-Befehl 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 fr einen absoluten Move lautet + + #ib(1)# v#ie(1)# (Hex 1B 76 ) + +Dabei sind 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 und ist -32768 bis 32767. + +Das Kommando fr den relativen Move-Befehl lautet + + #ib(1)# q#ie(1)# (Hex 1B 71 ) + +Bei diesem Befehl werden die Werte von und , die auch den gesamten +Wertebereich von -32768 bis 32767 berstreichen drfen, 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 fr den Linientyp wieder auf +den Startwert zurck, 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 fr einen absoluten Draw +lautet + + #ib(1)# w#ie(1)# (Hex 1B 77 ) + +Dabei sind 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 und ist -32768 bis +32767. + +Das Kommando fr den relativen Draw-Befehl lautet + + #ib(1)# r#ie(1)# (Hex 1B 72 ) + +Bei diesem Befehl werden die Werte von und , die auch den gesamten +Wertebereich von -32768 bis 32767 berstreichen drfen, 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 zurcklassen 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 zurcklegt. 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. Natrlich ist die Zeichengeschwindigkeit +nicht mit der Fortbewegungsgeschwindigkeit von Schildkr”ten zu vergleichen. +Das erste Kommando lautet + + #ib(1)# n#ie(1)# (Hex 1B 6E ) + + und sind dezimale oder bin„re Parameter. ist die L„nge der Spur +mit einem Wertebereich von 0 bis 511. ist der relative Drehwinkel der +Schildkr”te, also die Žnderung von der ursprnglichen Blickrichtung aus. +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)# 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)# O 8#ie(1)# (Hex 1B 4F 38 ) + +benutzen. 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)# 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 durchgefhrt. 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)# K#ie(1)# (Hex 1B 4B ) + +wird ein Kreis mit dem Radius um die aktuelle Cursorposition gezeichnet +(relative Kreise). legt fest, welche Segmente gezeichnet werden sollen. + sind dezimale oder bin„re Parameter. hat den Wertebereich von 0 +bis 255. +Jedes Bit in 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 durchgefhrt wird. + +Die Segmente sind folgendermaáen numeriert: + + 7 0 + 6 1 + 5 2 + 4 3 + +Beispiele fr : + +#on("u")# 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 +Bitverknpfung 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 s fr 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)# J#ie(1)# (Hex 1B 4A ) + +zeichnet ein leeres Rechteck (Rahmen) an der aktuellen Cursorposition. sind dezimale oder bin„re Parameter. ist die Breite des Rechtecks +und kann den ganzen Wertebereich von -32768 bis 32767 berstreichen, ist +die H”he des Rechtecks und kann ebenfalls diesen Wertebereich berstreichen. +Je nach Vorzeichen von und wird das Rechteck links/ rechts und +oben/unten von der aktuelle Cursorposition gezeichnet. + + 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 fr Kreise eingefhrt (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)# s#ie(1)# (Hex 1B 73 ...) + +zeichnet um die aktuelle Cursorposition (also relativ) einen Ellipsenbogen +mit Radius in X-Richtung und Radius in Y-Richtung, ausgehend vom +Anfangswinkel im Uhrzeigersinn, bis zum Endwinkel . Der Winkel 0 +Grad ist dabei oben (Norden). + +Alle Parameter sind dezimale oder bin„re Parameter. und 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.. und drfen 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 Gefllte Fl„chen#ie(3)##type("elite")# + +Rechteckige oder rautenf”rmige Fl„chen k”nnen, wie in Abschnitt 6.5.1.4 +beschrieben, schnell gefllt werden. Fr beliebig geformte Fl„chen kann das +Kommando + + #ib(1)# |#ie(1)# (Hex 1B 7C ) + +benutzt werden. Dies ist ein relatives Kommando, da um die aktuelle Cursor- +position herum gefllt wird. ist ein Byteparameter mit dem Wertebereich +0 bis 15, der die Nummer des Musters fr die Fllung angibt. Der Fill-Befehl +arbeitet auf der aktuellen Arbeitsseite und fllt eine sichtbar begrenzte +Fl„che mit einem angegebenen Muster aus. + +Ist die Bitverknpfung 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 Bitverknpfung 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 Bitverknpfung und Helligkeit/Farbe werden keine be- +rcksichtigt. + +Bei sehr komplex geformten Figuren kann der Fall eintreten, daá die Fl„che +nicht ganz gefllt ist. Dies liegt daran, daá intern ein zu gr”áer Spei- +cherplatz zum Merken von Rcksprungcursorpositionen ben”tigt wird (Stack- +šberlauf). In diesem Fall sollte man den Cursor nocheinmal auf die nicht +gefllte Fl„che setzen und das Kommando erneut geben. + + kann folgende Werte annehmen (Werte Hexadezimal angegeben 0..F): + Bedeutung +#rpos(16.2)##fillchar(" ")##table# +#on("u")# #off("u")# +#table end# + 0 Fl„che ganz gefllt + 1 Fl„che halb gefllt (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-Bitverknpfung eingeschaltet, dann sind die Punkte schwarz und +weiá in den Mustern vertauscht und in der obigen Tabelle sind die Bezeich- +nungen 'gefllt' 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)# O :#ie(1)# (Hex 1B 4F 3A ) + +eingestellt werden. Das Defaultmuster wird dabei berschrieben, das neu +eingestellte Muster allerdings nicht beim Setup mitgesichert. + sind 8 Byteparameter mit dem gesamten Wertebereich 0 bis 255. Das +erste Byte wird im Fllmuster 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 / ... kann der modifizierte Teil +dann wieder an das Terminal zurckgesendet werden. Zum Aufbau der Graphik- +seite findet man in Kapitel 6.4.2 Informationen. + +Mit dem Kommando + + #ib(1)# \#ie(1)# (Hex 1B 5C ...) + +kann eine Seite oder ein Teil einer Seite in an den Host gesendet werden. +, , und sind Byteparameter (8 Bits). und 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 und 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 eingefhrt. Pro Koordinate werden dabei 2 Bytes, zusammen +also 4 Bytes, gesendet. Mit dem Kommando + + #ib(1)# ;#ie(1)# (Hex 1B 3B) + +kann der Host diese 4 Bytes anfordern. Die Reihenfolge der Bytes ist + . Im Gegensatz zu ? (fr die Textcursorposi- +tion) wird auch kein abschlieáendes 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 +Verfgung. Mit dem Kommando + + #ib(1)# _#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)# -#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)# 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)# O 7#ie(1)# , 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)# 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 : Bitverknpfung (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)# O 5#ie(1)# . + + +#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.) untersttzt. Die Anpassung +wird in diesem Abschnitt beschrieben. + +Mit dem Kommando + + #ib(1)# ~#ie(1)# (Hex 1B 7E ) + +k”nnen Kommandosequenzen eingestellt werden, die folgende Aufgaben haben: + + Default (Hex) Aufgabe +#rpos(16.2)##fillchar(" ")##table# +#on("u")# #off("u")# +#table end# + 0 0D Einleiten der gesamten Hardcopy (Waagenrcklauf) + 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 Waagenrck- + 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. + + ist dabei ein Byteparameter mit dem Wertebereich von 0 bis 3. 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. Fr 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)# ^#ie(1)# (Hex 1B 5E ) + +druckt eine Hardcopy mit dem Parameter . ist ein Byteparameter mit +dem Wertebereich von 0 bis 15. Jedes Bit in 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 (linksbndig) gedruckt. + 1 8 Die aktuelle (mit #ib(1)# O 7#ie(1)# eingestellte) Graphikseite + wird linksbndig 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 ausgefhrt wird, ist diese Dichte nur solange gltig, + 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 durchgefhrt, +wenn die Parameterbergabe 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 fr 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)# #ie(1)# (Hex 1B 20 20 ) + + 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)# 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)# 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 geprft +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 Mlls 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 ausgefhrt 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)##ie(1)# Hex 13) + +verwendet. Als Startzeichen wird + + #ib(1)#XON#ie(1)# (#ib(1)##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)##ie(1)# (Hex 0F) + +eingeschaltet und mit + + #ib(1)##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 noch (Hex +11), also XON senden, um den Sender wieder einzuschalten. Dies wird vom +Terminal nicht automatisch gemacht, da sonst ein das im Datenstrom +vorkommt, auch noch ein Zeichen fr 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 mssen. +Bei dieser Art der Fluákontrolle drfen alle Zeichen bertragen werden, ohne +daá eines die Fluákontrolle steuert. Ausnahme: Wenn zus„tzlich XON/ XOFF +Fluákontrolle eingeschaltet ist werden natrlich 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)# #ie(1)# (Hex 1B 20 ) + +erreichen. Die Werte von sind + +#on("u")# 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 mssen. +Bei dieser Art der Fluákontrolle drfen alle Zeichen bertragen werden, ohne +daá eines die Fluákontrolle steuert. Ausnahme: Wenn zus„tzlich XON/ XOFF +Fluákontrolle eingeschaltet ist werden natrlich 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 erreichen. Die Werte von 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 zurckgesendet (geechoed) wird, um eventuelle šbertragungsfehler zu +erkennen. Dieser Modus wird mit dem Kommando + + #ib(1)# 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)# 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)# 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 Drcken von +#ib(1)##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 ausgefhrt, +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 gltigen Cursorpositio- +nierungskommandos gibt es noch einige weitere. Die fnf Kommandos Zeile +l”schen, Zeile einfgen, Zeichen l”schen, Zeichen einfgen und Rckw„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 einfgen #ib(1)# E#ie(1)# oder #ib(1)# L#ie(1)# +Zeile l”schen #ib(1)# R#ie(1)# oder #ib(1)# M#ie(1)# +Zeichen einfgen #ib(1)# Q#ie(1)# +Zeichen l”schen #ib(1)# W#ie(1)# +Rckw„rtstabulator #ib(1)# I#ie(1)# + +Mit dem Kommando + + #ib(1)# 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 . Steht der Cursor +in Zeile 1, dann wird der Bildschirminhalt nach unten gescrollt und die +erste Bildschirmzeile gel”scht. + +Mit dem Kommando + + #ib(1)# =#ie(1)# (Hex 1B 3D ...) + +kann der Cursor auf eine bestimmte Position auf dem Bildschirm gesetzt wer- +den. und sind dabei Byteparameter. hat den Wertebe- +reich 32 () bis 110 ("o"), hat den Wertebereich 32 () +bis 55 ("7"). ist dabei die gewnschte x-Position + 32 (gez„hlt wird +von 0 bis 79), ist die gewnschte 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)# .#ie(1)# (Hex 1B 2E ) + +kann die Darstellung des Cursors ver„ndert werden. Fr sind ASCII-Zei- +chen "0", "1" und "2" zugelassen. hat folgende Bedeutung: + +#on("u")# 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)# 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)# z#ie(1)# (Hex 1B 7A ) + +wobei ein Byteparameter ist. Beim Apple hat folgende Bedeutung: + + 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 folgende Bedeutung: + + 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)# 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 und + gedruckt, der Drucker sollte deshalb kein Autolinefeed bei durch- +fhren. + +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)# G#ie(1)# (Hex 1B 47 ) + +eingestellt. ist ein Byteparameter, der folgende Werte annehmen kann: + +#on("u")# 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)# (#ie(1)# (Hex 1B 28) + +kann auf normale Darstellung umgeschaltet werden (wirkt „hnlich 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)# )#ie(1)# (Hex 1B 29) + +kann auf inverse Darstellung umgeschaltet werden (wirkt „hnlich 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- +zglich 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)# 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)# 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)# 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)# 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)# 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)# x 1#ie(1)# (Hex 1B 78 31 ) + +k”nnen die Zeilenbegrenzer der Sendekommandos festgelegt werden. und + 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)# x 4#ie(1)#

(Hex 1B 78 34

) + +kann der Seitenbegrenzer des Kommandos #ib(1)# 7#ie(1)# festgelegt werden.

ist +ein Byteparameter, der den Wertebereich von 0 bis 255 berstreicht. Ist

+Hex 00, dann wird kein Seitenbegrenzer gesendet. +Voreingestellt ist

= (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)# ?#ie(1)# (Hex 1B 3F) + +kann der Host die Position des Textcursors abfragen. Es wird eine Folge von +3 Bytes gesendet: + + ist die y-Position + 32, die x-Position + 32. Beide Parameter +k”nnen fr den Befehl #ib(1)# =#ie(1)# 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 zurckgeladen 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" fr die Textseiten sind unabh„ngig von denen fr 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 fr diese Operationen lautet + + #ib(1)# S#ie(1)# (Hex 1B 53 ). + + 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. + +Fr 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)##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 fr fast alle Tasten erzeugt. Ausnahmen sind die + und die Tasten, sowie beim Apple die Apfeltasten. Der Tasta- +turclick kann in der ersten Kommandozeile abgeschaltet werden (CLK OFF) oder +mit dem Kommando + + #ib(1)# <#ie(1)# (Hex 1B 3C) + +vom Host. Mit dem Kommando + + #ib(1)# >#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)# `#ie(1)# (Hex 1B 60) + +abgeschaltet werden. Bis auf das Kommando + + #ib(1)# a#ie(1)# (Hex 1B 61) + +werden keine Escape-Squenzen oder Control-Codes interpretiert. Mit a +wird die Bildschirmausgabe wieder zugelassen. + +Die Druckerausgabe kann mit dem Kommando + + #ib(1)# @#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)# 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 (, , 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)# 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 ntzliche 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 fr 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 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)# e#ie(1)# (Hex 1B 65 ) + +wird eine Taste belegt. und sind Byteparameter. ist eine +Folge von Datenbytes, deren Bit 7 = 0 sein muá. 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 e gel”scht. + ist dabei der Code einer zu l”schenden Taste. +- In der ersten Kommandozeile wird F CODE eingeschaltet oder das Kommando + + #ib(1)# 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 (Hex 1B) verwendet. +Das Zeichen + + #ib(1)##ie(1)# (Hex 9B) + +teilt dem Terminal mit, daá die nun folgende Escape-Sequenz nicht an den +Host gesendet wird (was bei der Fall w„re), sondern vom Terminal in- +terpretiert werden muá. +Im Local-Modus wirkt ein wie ein normales , 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 Abkrzungen + 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)# e#ie(1)# (Hex 1B 65 ) + +definiert. und sind Byteparameter. ist eine Folge von +Datenbytes, deren Bit 7 = 0 sein muá. ist der Code der Funktionstaste +(Bit 7 = 1) oder mit anderen Worten der Makroname. +Es sind alle Codes fr 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)# #ie(1)# (Hex 1B ) + +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 vor dem weggelassen, dann wird der + Code ohne Makroausfhrung 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 erzeugt werden. +Wird bei der Makroausfhrung 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 drfen 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 (beim Apple ) erzeugt werden. + +Dieses Makro wird bei einem RESET des Terminals (Hardwarereset oder 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)# #ie(1)# (Hex 1B 7F ) + +verwendet werden. ist ein Byteparameter mit dem Wertebereich 0 bis 15 +und hat folgende Bedeutung: + +#on("u")# 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)# 9#ie(1)# (Hex 1B 39 ) + +kann eine Zeitverz”gerung aufgerufen werden. Man kann zum Beispiel ein Fa- +denkreuz darstellen, die Zeitverz”gerung aufrufen und das Fadenkreuz wieder +l”schen. ist ein Byteparameter mit dem Wertebereich von 0 bis 255. Die +Verz”gerung betr„gt ca. * 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)# 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)# u#ie(1)# (Hex 1B 75) + +und + + #ib(1)# 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)# u#ie(1)# (Hex 1B 75) + +ein- und ausgeschaltet werden. Alle Zeichen werden ohne Interpretation aus- +gegeben, auáer #ib(1)# u#ie(1)# und + + #ib(1)# 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. fr den +unteren Teil des APL-Zeichensatzes (Codes 0 bis 31 oder 128 bis 159), gibt +es das Kommando + + #ib(1)# F#ie(1)# (Hex 1B 46 ). + + ist dabei ein Byteparameter mit dem Wertebereich 0 bis 255, vorzugswei- +se 0 bis 31. 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..cfb865c --- /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 Parameterbergabe ........... 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 Bitverknpfungen .......................... 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 Gefllte 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 - Befehlsbersicht ...................... 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..a41bbc1 --- /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 Parameterbergabe ........... 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 Bitverknpfungen .......................... 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 Gefllte 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 - Befehlsbersicht ...................... 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")# + + ...................................... 14 + ..................................... 32 + .................................... 32 + ............................................. 16 + ............................................. 31 + ......................................... 58 + ...................................... 32 + ......................................... 14 + ......................................... 14 + ......................................... 49 + ......................................... 49 + ................................... 14 + ................................... 14 + ......................................... 31 + ......................................... 16 + ......................................... 14 + ......................................... 33 + ......................................... 49 + ......................................... 49 + ......................................... 32 + ........................................... 31 + ! .......................................... 24 + $ .......................................... 16 + % .......................................... 16 + & .......................................... 29 + ' .......................................... 29 + ( .......................................... 29 + ( .......................................... 54 + ) .......................................... 29 + ) .......................................... 55 + * .......................................... 33 + + .......................................... 33 + , .......................................... 33 + - .......................................... 41 + . .......................................... 53 + ............................................ 32 + / .......................................... 25 + 0 .......................................... 2 + 4 .......................................... 42 + 5 .......................................... 42 + 6 .......................................... 56 + 7 .......................................... 56 + 7 .......................................... 56 + 8 .......................................... 55 + 9 .......................................... 62 + : .......................................... 33 + ; .......................................... 41 + < .......................................... 58 + ...................................... 62 + ................................ 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# + .................................... 50 + 0 .................................. 10 + 1 .................................. 13 + 6 .................................. 47 + 7 .................................. 47 + ............................ 46 + = .......................................... 52 + = .......................................... 57 + > .......................................... 58 + ? .......................................... 57 + @ .......................................... 58 + A .......................................... 59 + D E ........................................ 51 + D L ........................................ 51 + D O ........................................ 51 + E .......................................... 14 + E .......................................... 52 + F .......................................... 63 + G .......................................... 29 + G .......................................... 54 + H .......................................... 59 + I .......................................... 14 + I .......................................... 52 + J .......................................... 38 + K .......................................... 37 + L .......................................... 52 + M .......................................... 52 + N .......................................... 27 + N .......................................... 30 + O 0 ........................................ 19 + O 0 ........................................ 28 + O 1 ........................................ 19 + O 2 ........................................ 19 + O 3 ........................................ 20 + O 4 ........................................ 21 + O 5 ........................................ 22 + O 5 ........................................ 43 + O 6 ........................................ 20 + O 7 ........................................ 22 + O 7 ........................................ 42 + O 7 ........................................ 44 + O 8 ........................................ 36 + O 9 ........................................ 36 + O : ........................................ 40 + P .......................................... 54 + Q .......................................... 14 + Q .......................................... 52 + R .......................................... 14 + R .......................................... 52 + S .......................................... 26 + S .......................................... 57 + 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# + U .......................................... 62 + W .......................................... 14 + W .......................................... 52 + X .......................................... 63 + X .......................................... 63 + Y .......................................... 33 + Z .......................................... 53 + \ .......................................... 40 + ^ .......................................... 44 + _ .......................................... 41 + ` .......................................... 58 + a .......................................... 58 + b .......................................... 55 + c .......................................... 60 + d .......................................... 55 + e .......................................... 13 + e .......................................... 60 + e .......................................... 61 + j .......................................... 52 + m .......................................... 34 + n .......................................... 35 + o .......................................... 36 + q .......................................... 34 + r .......................................... 35 + s .......................................... 38 + u .......................................... 63 + u .......................................... 63 + u .......................................... 63 + v .......................................... 34 + w .......................................... 35 + x 1 ........................................ 56 + x 4 ........................................ 56 + y .......................................... 33 + z .......................................... 28 + z .......................................... 53 + { .......................................... 8 + | .......................................... 39 + } .......................................... 8 + ~ .......................................... 43 + ........................................... 32 + ........................................... 32 + ............................................. 14 + ......................................... 60 + ......................................... 31 + .......................................... 32 + ....................................... 31 + ................................ 32 + ................................ 51 + ..................................... 32 + ................................... 31 + ............................................ 31 + ............................................. 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 ")# + + ...................................... 14 + ..................................... 32 + .................................... 32 + ............................................. 16 + ............................................. 31 + ......................................... 58 + ...................................... 32 + ......................................... 14 + ......................................... 14 + ......................................... 49 + ......................................... 49 + ................................... 14 + ................................... 14 + ......................................... 31 + ......................................... 16 + ......................................... 14 + ......................................... 33 + ......................................... 49 + ......................................... 49 + ......................................... 32 + ........................................... 31 + ! .......................................... 24 + $ .......................................... 16 + % .......................................... 16 + & .......................................... 29 + ' .......................................... 29 + ( .......................................... 29 + ( .......................................... 54 + ) .......................................... 29 + ) .......................................... 55 + * .......................................... 33 + + .......................................... 33 + , .......................................... 33 + - .......................................... 41 + . .......................................... 53 + ............................................ 32 + / .......................................... 25 + 0 .......................................... 2 + 4 .......................................... 42 + 5 .......................................... 42 + 6 .......................................... 56 + 7 .......................................... 56 + 7 .......................................... 56 + 8 .......................................... 55 + 9 .......................................... 62 + : .......................................... 33 + ; .......................................... 41 + < .......................................... 58 + ...................................... 62 + ................................ 61 + .................................... 50 + 0 .................................. 10 + 1 .................................. 13 + 6 .................................. 47 + 7 .................................. 47 + ............................ 46 + = .......................................... 52 + = .......................................... 57 + > .......................................... 58 + ? .......................................... 57 + @ .......................................... 58 + A .......................................... 59 + D E ........................................ 51 + D L ........................................ 51 + D O ........................................ 51 + E .......................................... 14 + E .......................................... 52 + F .......................................... 63 + G .......................................... 29 + G .......................................... 54 + H .......................................... 59 + I .......................................... 14 + I .......................................... 52 + J .......................................... 38 + K .......................................... 37 + L .......................................... 52 + M .......................................... 52 + N .......................................... 27 + N .......................................... 30 + O 0 ........................................ 19 + O 0 ........................................ 28 + O 1 ........................................ 19 + O 2 ........................................ 19 + O 3 ........................................ 20 + O 4 ........................................ 21 + O 5 ........................................ 22 + O 5 ........................................ 43 + O 6 ........................................ 20 + O 7 ........................................ 22 + O 7 ........................................ 42 + O 7 ........................................ 44 + O 8 ........................................ 36 + O 9 ........................................ 36 + O : ........................................ 40 + P .......................................... 54 + Q .......................................... 14 + Q .......................................... 52 + R .......................................... 14 + R .......................................... 52 + S .......................................... 26 + S .......................................... 57 + T .......................................... 33 + U .......................................... 62 + W .......................................... 14 + W .......................................... 52 + X .......................................... 63 + X .......................................... 63 + Y .......................................... 33 + Z .......................................... 53 + \ .......................................... 40 + ^ .......................................... 44 + _ .......................................... 41 + ` .......................................... 58 + a .......................................... 58 + b .......................................... 55 + c .......................................... 60 + d .......................................... 55 + e .......................................... 13 + e .......................................... 60 + e .......................................... 61 + j .......................................... 52 + m .......................................... 34 + n .......................................... 35 + o .......................................... 36 + q .......................................... 34 + r .......................................... 35 + s .......................................... 38 + u .......................................... 63 + u .......................................... 63 + u .......................................... 63 + v .......................................... 34 + w .......................................... 35 + x 1 ........................................ 56 + x 4 ........................................ 56 + y .......................................... 33 + z .......................................... 28 + z .......................................... 53 + { .......................................... 8 + | .......................................... 39 + } .......................................... 8 + ~ .......................................... 43 + ........................................... 32 + ........................................... 32 + ............................................. 14 + ......................................... 60 + ......................................... 31 + .......................................... 32 + ....................................... 31 + ................................ 32 + ................................ 51 + ..................................... 32 + ................................... 31 + ............................................ 31 + ............................................. 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..5fdab0d --- /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 + 1 01 SOH 5 1 1 1 + 2 02 STX 10 2 2 2 + 3 03 ETX 15 3 3 3 + 4 04 EOT 20 4 4 4 + 5 05 ENQ 25 5 5 5 + 6 06 ACK 30 6 6 6 + 7 07 BEL 35 7 7 7 + 8 08 BS 40 8 8 8 <== + 9 09 HT 45 9 9 9 + 10 0A LF 50 10 10 10 Apple: + 11 0B VT 55 11 11 11 Apple: + 12 0C FF 60 12 12 12 TVI: + 13 0D CR 65 13 13 13 + 14 0E SO 70 14 14 14 + 15 0F SI 75 15 15 15 + 16 10 DLE 80 0 16 16 + 17 11 DC1 XON 85 1 17 17 + 18 12 DC2 90 2 18 18 + 19 13 DC3 XOFF 95 3 19 19 + 20 14 DC4 100 4 20 20 + 21 15 NAK 105 5 21 21 ==> Apple: + 22 16 SYN 110 6 22 22 + 23 17 ETB 115 7 23 23 + 24 18 CAN 120 8 24 24 + 25 19 EM 125 9 25 25 + 26 1A SUB 130 10 26 26 TVI: + 27 1B ESC 135 11 27 27 + 28 1C FS 140 12 28 28 + 29 1D GS 145 13 29 29 + 30 1E RS 150 14 30 30 TVI: + 31 1F US 155 15 31 31 TVI: + 32 20 SPACE 160 0 0 0 32 + 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 +128 80 * NUL 280 0 0 0 +129 81 * SOH 285 1 1 1 +130 82 * STX 290 2 2 2 # +131 83 * ETX 295 3 3 3 # +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 # +137 89 * HT 325 9 9 9 # +138 8A * LF 330 10 10 10 # +139 8B * VT 335 11 11 11 # +140 8C * FF 340 12 12 12 +141 8D * CR 345 13 13 13 # +142 8E * SO 350 14 14 14 # +143 8F * SI 355 15 15 15 # +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 # +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 +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 +162 A2 * " 90 2 2 34 +163 A3 * # 95 3 3 35 +164 A4 * $ 100 4 4 36 +165 A5 * % 105 5 5 37 +166 A6 * & 110 6 6 38 +167 A7 * ' 115 7 7 39 +168 A8 * ( 120 8 8 40 +169 A9 * ) 125 9 9 41 +170 AA * * 130 10 10 42 +171 AB * + 135 11 11 43 +172 AC * , 140 12 12 44 +173 AD * - 145 13 13 45 +174 AE * . 150 14 14 46 +175 AF * / 155 15 15 47 +176 B0 * 0 160 0 16 48 +177 B1 * 1 165 1 17 49 +178 B2 * 2 170 2 18 50 +179 B3 * 3 175 3 19 51 +180 B4 * 4 180 4 20 52 +181 B5 * 5 185 5 21 53 +182 B6 * 6 190 6 22 54 +183 B7 * 7 195 7 23 55 +184 B8 * 8 200 8 24 56 +185 B9 * 9 205 9 25 57 +186 BA * : 210 10 26 58 +187 BB * ; 215 11 27 59 +188 BC * < 220 12 28 60 +189 BD * = 225 13 29 61 +190 BE * > 230 14 30 62 +191 BF * ? 235 15 31 63 +192 C0 * @ 240 0 0 0 +193 C1 * A 245 1 1 1 # +194 C2 * B 250 2 2 2 # +195 C3 * C 255 3 3 3 # +196 C4 * D 260 4 4 4 # +197 C5 * E 265 5 5 5 # +198 C6 * F 270 6 6 6 # +199 C7 * G 275 7 7 7 # +200 C8 * H 280 8 8 8 # +201 C9 * I 285 9 9 9 # +202 CA * J 290 10 10 10 # +203 CB * K 295 11 11 11 # +204 CC * L 300 12 12 12 # +205 CD * M 305 13 13 13 # +206 CE * N 310 14 14 14 # +207 CF * O 315 15 15 15 # +208 D0 * P 320 0 16 16 # +209 D1 * Q 325 1 17 17 # +210 D2 * R 330 2 18 18 # +211 D3 * S 335 3 19 19 # +212 D4 * T 340 4 20 20 # +213 D5 * U 345 5 21 21 # +214 D6 * V 350 6 22 22 # +215 D7 * W 355 7 23 23 # +216 D8 * X 0 8 24 24 # +217 D9 * Y 5 9 25 25 # +218 DA * Z 10 10 26 26 # +219 DB * [ * Ž 15 11 27 27 # +220 DC * \ * ™ 20 12 28 28 # +221 DD * ] * š 25 13 29 29 # +222 DE * ^ 30 14 30 30 # +223 DF * _ 35 15 31 31 # +224 E0 * ` 40 0 0 32 +225 E1 * a 45 1 1 33 # +226 E2 * b 50 2 2 34 # +227 E3 * c 55 3 3 35 # +228 E4 * d 60 4 4 36 # +229 E5 * e 65 5 5 37 # +230 E6 * f 70 6 6 38 # +231 E7 * g 75 7 7 39 # +232 E8 * h 80 8 8 40 # +233 E9 * i 85 9 9 41 # +234 EA * j 90 10 10 42 # +235 EB * k 95 11 11 43 # +236 EC * l 100 12 12 44 # +237 ED * m 105 13 13 45 # +238 EE * n 110 14 14 46 +239 EF * o 115 15 15 47 # +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 - Befehlsbersicht")# + + +#on("u")#Controlkommandos:#off("u")# + +Hex ASCII Taste(n) Funktion +#linie ("16.0")# +07 BEL Signalton +08 BS <== Backspace, Cursor Left +09 HT Tabulator, 8 Spalten +0A LF Apple: Zeilenvorschub, ggf. Scroll/Page +0B VT Apple: Cursor hoch +0C FF TVI: Cursor rechts +0D CR Waagenrcklauf, ohne Linefeed +0E SO XON/XOFF Protokoll ausschalten +0F SI XON/XOFF Protokoll einschalten +11 DC1 XON +13 DC3 XOFF +15 NAK ==> Apple: Cursor rechts +16 SYN Cursor runter (ohne Scroll/Page) +17 CAN Graphikmodus: Fadenkreuz an/aus +1A SUB TVI: Bildschirm l”schen & Cursor Home +1B ESC Escape-Sequenz einleiten +1E RS TVI: Cursor Home +1F US TVI: 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 einfgen (im Textmodus) +ESC I Rckw„rtstabulator (8 Spalten, im Textmodus) +ESC L Zeile einfgen (im Textmodus) +ESC M Zeile l”schen (im Textmodus) +ESC Q Zeichen einfgen (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,Bitverknpfung) senden +ESC 6 Aktuelle Textzeile senden +ESC 7 Ganze Textseite senden +ESC 8 Zeichen an der Cursorposition senden +ESC \ Aktuelle Graphikseite senden (oder Teile) +ESC ; Position des Graphikcursors senden +ESC ? Position des Textcursors senden +ESC _ Graphikbyte bei Graphikcursorposition senden +ESC x 1 Zeilenbegrenzer fr 6 und 7 einstellen +ESC x 4

Seitenbegrenzer fr 7 einstellen + + +d.) šbertragungskommandos + +ESC SPACE SPACE

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 ^

Hardcopy der aktuellen Graphikseite +ESC ` Empfangsdaten nicht auf dem Bildschirm anzeigen +ESC a Empfangsdaten auf dem Bildschirm anzeigen +ESC ~ Definition d.Druckertreiberstrings f.Graphikhardcopy + + +f.) Cursor/Cursor Adressierung + +ESC . 0 Cursor aus +ESC . 1 Cursor blinkend +ESC . 2 Cursor an, nicht blinkend +ESC = 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 Zeichensatz einstellen + + +h.) Text in Graphiken + +ESC & Graphikzeichen ersetzen darunterliegende +ESC ' Graphikzeichen berschreiben darunterliegende +ESC N Zeichenbreite, -h”he und Schreibrichtung einstellen + + +i.) Graphikzeichenkommandos + +ESC J Relatives Rechteck zeichnen +ESC K Kreis(segmente) mit dem Radius zeichnen +ESC m Absoluten Punkt bei (x, y) zeichnen +ESC n Turtle Draw/Move ist L„nge, ist Winkel +ESC o Turtle Penup/Pendown +ESC q Relativer Move +ESC r Relativer Draw +ESC s Ellipsenbogen(Radien xr,yr) v. bis zeichnen +ESC v Absoluter Move nach (x, y) +ESC w Absoluter Draw nach (x, y) + + +j.) Verschiede Graphikkommandos + +ESC !

Graphikseiten mischen, kopieren, trennen, invertieren +ESC / Graphikseite vom Host laden +ESC O 0 Graphikparameter auf Default +ESC O 1 Strichdicke setzen +ESC O 2 Farbe/Helligkeit einstellen +ESC O 3

Linientyp (Punkt/Strichmuster) einstellen +ESC O 4

Bitverknpfung setzen (0=OR, 1=AND, 2=XOR, 3=COPY) +ESC O 5

Farbe, Dicke, Bitverknpfung zusammen einstellen +ESC O 6 Benutzerdefinierbares Linienmuster einstellen +ESC O 7

Arbeitsseite, sichtbare Seite u.Mixedmode einstellen +ESC O 8

Turtle Penup/Pendown und Eraser/Drawer einstellen +ESC O 9 Turtle Bildmitte, Richtung nach oben, Pendown, Drawer +ESC O : Benutzerdefinierbares Fllmuster einstellen +ESC y Graphikseite l”schen und Cursor nach (0, 0) +ESC | Fl„che fllen/l”schen mit dem Muster Nummer + + +k.) Verschiedene und spezielle Funktionen + +ESC 0 Terminalprogramm initialisieren (Softwarereset) +ESC 9 Zeitverz”gerung ca. * 2 ms +ESC < Keyboardclick ausschalten +ESC > Keyboardclick einschalten +ESC F Controlcharacter darstellen +ESC e Funktionstaste mit Daten belegen +ESC { Statuszeile aus (24. Textzeile sichtbar) +ESC } Statuszeile an (24. Textzeile unsichtbar) +ESC S 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 fr '(', also den ASCII-Code 40 (dezimal). + bezeichnet den Code Hex 9B fr Local Escape, damit diese Tastenfunk- +tionen sowohl im Local- als auch im Onlinemodus ausgefhrt werden k”nnen. + +a.) Zehnerblock mit + +Die Anordnung der Zifferntasten entspricht einem "Cursorblock" mit acht +Richtungen. Die Taste 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 k”nnen alle Tasten auch im On- +line-Modus aufgerufen werden. + +Die Tastenbelegungen im einzelnen: + +Taste Hex-Code Code-Sequenz +#linie ("16.0")# + E1 q-1,-1; 9 <#40> + E2 q0,-1; 9 <#40> + E3 q1,-1; 9 <#40> + E4 q-1,0; 9 <#40> + E5 9 <#127> + E6 q1,0; 9 <#40> + E7 q-1,1; 9 <#40> + E8 q0,1; 9 <#40> + E9 q1,1; 9 <#40> + +Terminalinitialisierung mit : + EF (Cursorpositionierung und Einschaltmeldung) + + +b.) Die Funktionstasten mit + +Taste Hex-Code Code-Sequenz Bedeutung +#linie ("16.0")# + D1 $ O70 Graphikseite 1 + D2 $ O73 Graphikseite 2 + D3 % Textseite + D4 SW<#26> H e l p s c r e e n (a..f): S<#81> + 9<#81> SG Help-Bilschirm anzeigen + D8 O41 Linien schwarz (l”schen) + D9 O40 Linien weiá (sichtbar) + DA O12 N <#12><#20><#0> Groáe und dicke Schrift + DB O11 N <#0><#0><#0> Normal dnne Schrift + DC G4 Kursiv/Invers an + DD G0 Kursiv/Invers aus + DE ^0 Graphikhardcopy + DF 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..b562709 --- /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 + 1 01 SOH 5 1 1 1 + 2 02 STX 10 2 2 2 + 3 03 ETX 15 3 3 3 + 4 04 EOT 20 4 4 4 + 5 05 ENQ 25 5 5 5 + 6 06 ACK 30 6 6 6 + 7 07 BEL 35 7 7 7 + 8 08 BS 40 8 8 8 <== + 9 09 HT 45 9 9 9 + 10 0A LF 50 10 10 10 Apple: + 11 0B VT 55 11 11 11 Apple: + 12 0C FF 60 12 12 12 TVI: + 13 0D CR 65 13 13 13 + 14 0E SO 70 14 14 14 + 15 0F SI 75 15 15 15 + 16 10 DLE 80 0 16 16 + 17 11 DC1 XON 85 1 17 17 + 18 12 DC2 90 2 18 18 + 19 13 DC3 XOFF 95 3 19 19 + 20 14 DC4 100 4 20 20 + 21 15 NAK 105 5 21 21 ==> Apple: + 22 16 SYN 110 6 22 22 + 23 17 ETB 115 7 23 23 + 24 18 CAN 120 8 24 24 + 25 19 EM 125 9 25 25 + 26 1A SUB 130 10 26 26 TVI: + 27 1B ESC 135 11 27 27 + 28 1C FS 140 12 28 28 + 29 1D GS 145 13 29 29 + 30 1E RS 150 14 30 30 TVI: + 31 1F US 155 15 31 31 TVI: + 32 20 SPACE 160 0 0 0 32 + 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 +128 80 * NUL 280 0 0 0 +129 81 * SOH 285 1 1 1 +130 82 * STX 290 2 2 2 # +131 83 * ETX 295 3 3 3 # +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 # +137 89 * HT 325 9 9 9 # +138 8A * LF 330 10 10 10 # +139 8B * VT 335 11 11 11 # +140 8C * FF 340 12 12 12 +141 8D * CR 345 13 13 13 # +142 8E * SO 350 14 14 14 # +143 8F * SI 355 15 15 15 # +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 # +#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 +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 +162 A2 * " 90 2 2 34 +163 A3 * # 95 3 3 35 +164 A4 * $ 100 4 4 36 +165 A5 * % 105 5 5 37 +166 A6 * & 110 6 6 38 +167 A7 * ' 115 7 7 39 +168 A8 * ( 120 8 8 40 +169 A9 * ) 125 9 9 41 +170 AA * * 130 10 10 42 +171 AB * + 135 11 11 43 +172 AC * , 140 12 12 44 +173 AD * - 145 13 13 45 +174 AE * . 150 14 14 46 +175 AF * / 155 15 15 47 +176 B0 * 0 160 0 16 48 +177 B1 * 1 165 1 17 49 +178 B2 * 2 170 2 18 50 +179 B3 * 3 175 3 19 51 +180 B4 * 4 180 4 20 52 +181 B5 * 5 185 5 21 53 +182 B6 * 6 190 6 22 54 +183 B7 * 7 195 7 23 55 +184 B8 * 8 200 8 24 56 +185 B9 * 9 205 9 25 57 +186 BA * : 210 10 26 58 +187 BB * ; 215 11 27 59 +188 BC * < 220 12 28 60 +189 BD * = 225 13 29 61 +190 BE * > 230 14 30 62 +191 BF * ? 235 15 31 63 +192 C0 * @ 240 0 0 0 +193 C1 * A 245 1 1 1 # +194 C2 * B 250 2 2 2 # +195 C3 * C 255 3 3 3 # +196 C4 * D 260 4 4 4 # +197 C5 * E 265 5 5 5 # +198 C6 * F 270 6 6 6 # +199 C7 * G 275 7 7 7 # +200 C8 * H 280 8 8 8 # +201 C9 * I 285 9 9 9 # +#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 # +203 CB * K 295 11 11 11 # +204 CC * L 300 12 12 12 # +205 CD * M 305 13 13 13 # +206 CE * N 310 14 14 14 # +207 CF * O 315 15 15 15 # +208 D0 * P 320 0 16 16 # +209 D1 * Q 325 1 17 17 # +210 D2 * R 330 2 18 18 # +211 D3 * S 335 3 19 19 # +212 D4 * T 340 4 20 20 # +213 D5 * U 345 5 21 21 # +214 D6 * V 350 6 22 22 # +215 D7 * W 355 7 23 23 # +216 D8 * X 0 8 24 24 # +217 D9 * Y 5 9 25 25 # +218 DA * Z 10 10 26 26 # +219 DB * [ * Ž 15 11 27 27 # +220 DC * \ * ™ 20 12 28 28 # +221 DD * ] * š 25 13 29 29 # +222 DE * ^ 30 14 30 30 # +223 DF * _ 35 15 31 31 # +224 E0 * ` 40 0 0 32 +225 E1 * a 45 1 1 33 # +226 E2 * b 50 2 2 34 # +227 E3 * c 55 3 3 35 # +228 E4 * d 60 4 4 36 # +229 E5 * e 65 5 5 37 # +230 E6 * f 70 6 6 38 # +231 E7 * g 75 7 7 39 # +232 E8 * h 80 8 8 40 # +233 E9 * i 85 9 9 41 # +234 EA * j 90 10 10 42 # +235 EB * k 95 11 11 43 # +236 EC * l 100 12 12 44 # +237 ED * m 105 13 13 45 # +238 EE * n 110 14 14 46 +239 EF * o 115 15 15 47 # +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 - Befehlsbersicht#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 Signalton +08 BS <== Backspace, Cursor Left +09 HT Tabulator, 8 Spalten +0A LF Apple: Zeilenvorschub, ggf. Scroll/Page +0B VT Apple: Cursor hoch +0C FF TVI: Cursor rechts +0D CR Waagenrcklauf, ohne Linefeed +0E SO XON/XOFF Protokoll ausschalten +0F SI XON/XOFF Protokoll einschalten +11 DC1 XON +13 DC3 XOFF +15 NAK ==> Apple: Cursor rechts +16 SYN Cursor runter (ohne Scroll/Page) +17 CAN Graphikmodus: Fadenkreuz an/aus +1A SUB TVI: Bildschirm l”schen & Cursor Home +1B ESC Escape-Sequenz einleiten +1E RS TVI: Cursor Home +1F US TVI: 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 - Befehlsbersicht#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 einfgen (im Textmodus) +ESC I Rckw„rtstabulator (8 Spalten, im Textmodus) +ESC L Zeile einfgen (im Textmodus) +ESC M Zeile l”schen (im Textmodus) +ESC Q Zeichen einfgen (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,Bitverknpfung) senden +ESC 6 Aktuelle Textzeile senden +ESC 7 Ganze Textseite senden +ESC 8 Zeichen an der Cursorposition senden +ESC \ Aktuelle Graphikseite senden (oder Teile) +ESC ; Position des Graphikcursors senden +ESC ? Position des Textcursors senden +ESC _ Graphikbyte bei Graphikcursorposition senden +ESC x 1 Zeilenbegrenzer fr 6 und 7 einstellen +ESC x 4

Seitenbegrenzer fr 7 einstellen + + +d.) šbertragungskommandos + +ESC SPACE SPACE

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 ^

Hardcopy der aktuellen Graphikseite +ESC ` Empfangsdaten nicht auf dem Bildschirm anzeigen +ESC a Empfangsdaten auf dem Bildschirm anzeigen +ESC ~ Definition d.Druckertreiberstrings f.Graphikhardcopy + + +f.) Cursor/Cursor Adressierung + +ESC . 0 Cursor aus +ESC . 1 Cursor blinkend +ESC . 2 Cursor an, nicht blinkend +ESC = 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 Zeichensatz einstellen + + +h.) Text in Graphiken + +ESC & Graphikzeichen ersetzen darunterliegende +ESC ' Graphikzeichen berschreiben darunterliegende +ESC N Zeichenbreite, -h”he und Schreibrichtung einstellen + + +i.) Graphikzeichenkommandos + +ESC J Relatives Rechteck zeichnen +ESC K Kreis(segmente) mit dem Radius zeichnen +ESC m Absoluten Punkt bei (x, y) zeichnen +ESC n Turtle Draw/Move ist L„nge, ist Winkel +ESC o Turtle Penup/Pendown +ESC q Relativer Move +ESC r Relativer Draw +ESC s Ellipsenbogen(Radien xr,yr) v. bis zeichnen +ESC v Absoluter Move nach (x, y) +ESC w 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 - Befehlsbersicht#off("b")# + + + +#type("elite")##limit(16.2)##linefeed(01.0)# +#text begin# +j.) Verschiede Graphikkommandos + +ESC !

Graphikseiten mischen, kopieren, trennen, invertieren +ESC / Graphikseite vom Host laden +ESC O 0 Graphikparameter auf Default +ESC O 1 Strichdicke setzen +ESC O 2 Farbe/Helligkeit einstellen +ESC O 3

Linientyp (Punkt/Strichmuster) einstellen +ESC O 4

Bitverknpfung setzen (0=OR, 1=AND, 2=XOR, 3=COPY) +ESC O 5

Farbe, Dicke, Bitverknpfung zusammen einstellen +ESC O 6 Benutzerdefinierbares Linienmuster einstellen +ESC O 7

Arbeitsseite, sichtbare Seite u.Mixedmode einstellen +ESC O 8

Turtle Penup/Pendown und Eraser/Drawer einstellen +ESC O 9 Turtle Bildmitte, Richtung nach oben, Pendown, Drawer +ESC O : Benutzerdefinierbares Fllmuster einstellen +ESC y Graphikseite l”schen und Cursor nach (0, 0) +ESC | Fl„che fllen/l”schen mit dem Muster Nummer + + +k.) Verschiedene und spezielle Funktionen + +ESC 0 Terminalprogramm initialisieren (Softwarereset) +ESC 9 Zeitverz”gerung ca. * 2 ms +ESC < Keyboardclick ausschalten +ESC > Keyboardclick einschalten +ESC F Controlcharacter darstellen +ESC e Funktionstaste mit Daten belegen +ESC { Statuszeile aus (24. Textzeile sichtbar) +ESC } Statuszeile an (24. Textzeile unsichtbar) +ESC S 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 fr '(', also den ASCII-Code 40 (dezimal). + bezeichnet den Code Hex 9B fr Local Escape, damit diese Tastenfunk- +tionen sowohl im Local- als auch im Onlinemodus ausgefhrt werden k”nnen. + +a.) Zehnerblock mit + +Die Anordnung der Zifferntasten entspricht einem "Cursorblock" mit acht +Richtungen. Die Taste 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 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# + E1 q-1,-1; 9 <#40> + E2 q0,-1; 9 <#40> + E3 q1,-1; 9 <#40> + E4 q-1,0; 9 <#40> + E5 9 <#127> + E6 q1,0; 9 <#40> + E7 q-1,1; 9 <#40> + E8 q0,1; 9 <#40> + E9 q1,1; 9 <#40> + +Terminalinitialisierung mit : + EF (Cursorpositionierung und Einschaltmeldung) + + +b.) Die Funktionstasten mit + +Taste Hex-Code Code-Sequenz Bedeutung +#rpos(16.0)##fillchar(" ")##table# +#on("u")# #off("u")# +#table end# +#clearpos# + D1 $ O70 Graphikseite 1 + D2 $ O73 Graphikseite 2 + D3 % Textseite + D4 SW<#26> H e l p s c r e e n (a..f): S<#81> + 9<#81> SG Help-Bilschirm anzeigen + D8 O41 Linien schwarz (l”schen) + D9 O40 Linien weiá (sichtbar) + DA O12 N <#12><#20><#0> Groáe und dicke Schrift + DB O11 N <#0><#0><#0> Normal dnne Schrift + DC G4 Kursiv/Invers an + DD G0 Kursiv/Invers aus + DE ^0 Graphikhardcopy + DF 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..2a6ab19 --- /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 mssen zusammen gesetzt werden, da die Register keine + Read-Register sind. Alte Werte mssen 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..3e2f3e7 --- /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..71e335c --- /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 *) +enter outcode (17, 1) ; (* Zeichensatz : 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 : Bit 0 *) +enter outcode (23, 23) ; (*SetWindow (+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= Geschtztes Fis ( # ) + SHIFT F15= Geschtztes 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..b6fcfcf --- /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 *) +enter outcode (17, 1) ; (* Zeichensatz : 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 : Bit 0 *) +enter outcode (23, 23) ; (*SetWindow (+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= Geschtztes Fis ( # ) + SHIFT F15= Geschtztes 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..9b4bdf1 --- /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 : *) +enter outcode ( 2, 12) ; (* Cursor right: *) +enter outcode ( 3, 11) ; (* Cursor up : *) +enter outcode ( 4, 0, ""27"Y"27"z7") ; (* CLEOP und Zeichensatz : Y *) +enter outcode ( 5, 0, ""27"T") ; (* CLEOL : T *) +enter outcode ( 8, 8) ; (* Cursor left : *) +enter outcode ( 10, 10) ; (* Cursor down : *) +enter outcode ( 13, 13) ; (* 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= Geschtztes Fis ( # ) + SHIFT F15= Geschtztes 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..4b5cddd --- /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 : *) +enter outcode ( 2, 12) ; (* Cursor right: *) +enter outcode ( 3, 11) ; (* Cursor up : *) +enter outcode ( 4, 0, ""27"Y") ; (* CLEOP : Y *) +enter outcode ( 5, 0, ""27"T") ; (* CLEOL : T *) +enter outcode ( 8, 8) ; (* Cursor left : *) +enter outcode ( 10, 10) ; (* Cursor down : *) +enter outcode ( 13, 13) ; (* CR : *) +enter outcode ( 14, 0, " "27"(") ; (* END MARK : ( *) +enter outcode ( 15, 0, ""27") ") ; (* BEGIN MARK : ) *) + +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= Geschtztes Fis ( # ) + SHIFT F15= Geschtztes Blank ( ) *) + -- cgit v1.2.3