Machine-Independent MDL for TOPS-20 and VAX.
[pdp10-muddle.git] / mim / development / mim / 20 / tty.mima
diff --git a/mim/development/mim/20/tty.mima b/mim/development/mim/20/tty.mima
new file mode 100644 (file)
index 0000000..3e76475
--- /dev/null
@@ -0,0 +1,2039 @@
+
+<PACKAGE "TTY">
+
+<ENTRY TERM-MOVE? NORMAL-OUT IMAGE-OUT SET-IMAGE-MODE SET-ECHO-MODE CLEAR-SCREEN CLEAR-EOL CLEAR-EOS KILL-CHAR ERASE-CHAR HOME-CURSOR BOTTOM-CURSOR HOR-POS-CURSOR VER-POS-CURSOR MOVE-CURSOR BACK-CURSOR DOWN-CURSOR UP-CURSOR FORWARD-CURSOR SAVE-CURSOR RESTORE-CURSOR INSERT-LINE INSERT-CHAR GET-TYPE PAD TYPE-AHEAD? TYPE-CHAR SET-CURSOR-POSITION>
+
+<USE "TWAY">
+
+"DONE"
+
+<NEW-CHANNEL-TYPE TTY (TWAY DEFAULT) GET-TYPE TTY-GET-TYPE QUERY TTY-QUERY OPEN TTY-OPEN TYPE-AHEAD? TTY-TYPE-AHEAD? READ-BYTE-IMMEDIATE TTY-READ-IMMEDIATE READ-BYTE TTY-READ-BYTE READ-BUFFER TTY-READ-BUFFER FILL-READ-BUFFER TTY-FILL-READ BUFLEN TTY-BUFLEN GET-READ-BUFFER TTY-GET-READ PRINT-DATA TTY-PRINT-DATA TERM-MOVE? TTY-TERM-MOVE? NORMAL-OUT TTY-NORMAL-OUT IMAGE-OUT TTY-IMAGE-OUT SET-IMAGE-MODE TTY-SET-IMAGE SET-ECHO-MODE TTY-SET-ECHO RESET TTY-RESET PAGE-WIDTH TTY-PARM PAGE-HEIGHT TTY-PARM PAGE-X TTY-PARM PAGE-Y TTY-PARM SET-CURSOR-POSITION TTY-SET-CURS CLEAR-SCREEN CLEAR-SCREEN CLEAR-EOL CLEAR-EOL CLEAR-EOS CLEAR-EOS FRESH-LINE FRESH-LINE KILL-CHAR KILL-CHAR ERASE-CHAR ERASE-CHAR HOME-CURSOR HOME-CURSOR BOTTOM-CURSOR BOTTOM-CURSOR HOR-POS-CURSOR HOR-POS-CURSOR VER-POS-CURSOR VER-POS-CURSOR MOVE-CURSOR MOVE-CURSOR BACK-CURSOR BACK-CURSOR DOWN-CURSOR DOWN-CURSOR UP-CURSOR UP-CURSOR FORWARD-CURSOR FORWARD-CURSOR SAVE-CURSOR SAVE-CURSOR RESTORE-CURSOR RESTORE-CURSOR INSERT-LINE INSERT-LINE INSERT-CHAR INSERT-CHAR PAD TTY-PAD TYPE-CHAR TTY-TYPE-CHAR>
+
+"This must be patterned according to the definition of TWAY-CHANNEL, so the
+TWAY code will work when it's wanted."
+
+<SETG TT-RJFN %<OFFSET 1 TTY-CHANNEL FIX>>
+
+<MANIFEST TT-RJFN>
+
+<SETG TT-MODE %<OFFSET 2 TTY-CHANNEL FIX>>
+
+<MANIFEST TT-MODE>
+
+<SETG TT-BSZ %<OFFSET 3 TTY-CHANNEL FIX>>
+
+<MANIFEST TT-BSZ>
+
+<SETG TT-RBUF %<OFFSET 4 TTY-CHANNEL '<OR FALSE STRING>>>
+
+<MANIFEST TT-RBUF>
+
+<SETG TT-RBC %<OFFSET 5 TTY-CHANNEL FIX>>
+
+<MANIFEST TT-RBC>
+
+<SETG TT-WJFN %<OFFSET 6 TTY-CHANNEL FIX>>
+
+<MANIFEST TT-WJFN>
+
+<SETG TT-WBUF %<OFFSET 7 TTY-CHANNEL '<OR FALSE STRING>>>
+
+<MANIFEST TT-WBUF>
+
+<SETG TT-WBC %<OFFSET 8 TTY-CHANNEL FIX>>
+
+<MANIFEST TT-WBC>
+
+<SETG TT-RFSAV %<OFFSET 9 TTY-CHANNEL FIX>>
+
+<MANIFEST TT-RFSAV>
+
+<SETG TT-RFCUR %<OFFSET 10 TTY-CHANNEL FIX>>
+
+<MANIFEST TT-RFCUR>
+
+<SETG TT-QUEUE %<OFFSET 11 TTY-CHANNEL '<OR STRING CHARACTER FALSE>>>
+
+<MANIFEST TT-QUEUE>
+
+<SETG TT-QCT %<OFFSET 12 TTY-CHANNEL FIX>>
+
+<MANIFEST TT-QCT>
+
+<NEWTYPE TTY-CHANNEL VECTOR '<<PRIMTYPE VECTOR> FIX FIX FIX <OR FALSE STRING> FIX FIX <OR FALSE STRING> FIX FIX FIX <OR STRING CHARACTER FALSE> FIX>>
+
+<SETG TYPE-NAMES ["35" "37" "TI" "IMLAC" "DM2500" "HP2645" "NVT" "SYSTEM" "TVT" "VT05" "VT50" "LA30" "LINEPROCESSOR?" "LA36" "VT52" "GLASS" "FOX" "VT100V" "T1061" "H19" "C100" "VT100" "LA38" "LA120" "PTV" "SUPDUP" "HP2640" "AAA" "BBN"]>
+
+#WORD *11256427112*
+<GFCN \1aTTY-GET-TYPE ("VALUE" STRING CHANNEL ANY) CHANNEL4 OPER5>
+                   <TEMP DATA6 VEC7:VECTOR TEMP11>
+                   <INTGO>
+                   <NTHUV CHANNEL4 5 = DATA6 (TYPE TTY-CHANNEL)>
+                   <DEAD CHANNEL4>
+                   <GVAL 'TYPE-NAMES = VEC7>
+                   <NTHUV DATA6 1 = TEMP11 (TYPE FIX)>
+                   <DEAD DATA6>
+                   <SYSOP 'GTTYP TEMP11 (RETURN 2) = DATA6>
+                   <DEAD TEMP11>
+                   <LENUV VEC7 = TEMP11 (TYPE FIX)>
+                   <GRTR? DATA6 TEMP11 - PHRASE13 (TYPE FIX)>
+                   <DEAD TEMP11>
+                   <RETURN "UNKNOWN">
+PHRASE13
+                   <NTHUV VEC7 DATA6 = TEMP11 (TYPE STRING)>
+                   <DEAD VEC7 DATA6>
+                   <RETURN TEMP11>
+                   <DEAD TEMP11>
+                   <END \1aTTY-GET-TYPE>
+#WORD *34260306044*
+                   <GFCN \1aTTY-TYPE-AHEAD? ("VALUE" <OR FALSE FIX> CHANNEL ANY) CHANNEL4 OPER5>
+                   <TEMP DATA6 QC8:FIX>
+                   <INTGO>
+                   <NTHUV CHANNEL4 5 = DATA6 (TYPE TTY-CHANNEL)>
+                   <DEAD CHANNEL4>
+                   <NTHUV DATA6 12 = QC8 (TYPE FIX)>
+                   <NTHUV DATA6 1 = DATA6 (TYPE FIX)>
+                   <SYSOP 'SIBE DATA6 (RETURN 2) = DATA6>
+                   <TYPE? DATA6 <TYPE-CODE FALSE> + PHRASE10>
+                   <VEQUAL? DATA6 0 + PHRASE10 (TYPE FIX)>
+                   <ADD DATA6 QC8 = DATA6 (TYPE FIX)>
+                   <DEAD QC8>
+                   <RETURN DATA6>
+                   <DEAD DATA6>
+PHRASE10
+                   <GRTR? QC8 0 + TAG16 (TYPE FIX)>
+                   <RETURN %<>>
+TAG16
+                   <RETURN QC8>
+                   <DEAD QC8>
+                   <END \1aTTY-TYPE-AHEAD?>
+
+#WORD *7573613245*
+<FCN \1aTTY-READ-IMMEDIATE ("VALUE" <OR CHARACTER FALSE> CHANNEL ANY "OPTIONAL" <OR ATOM FALSE>) CHANNEL6 OPER7 NOWAIT?8>
+                   <OPT-DISPATCH 2 %<> OPT4 OPT5>
+OPT4
+                   <PUSH %<>>
+OPT5
+                   <TEMP DATA9:TTY-CHANNEL (TEMP16 0) ECHO?11 IMAGE?12 TEMP3:LBIND TEMP25 TEMP39>
+                   <INTGO>
+                   <NTHUV CHANNEL6 5 = DATA9 (TYPE TTY-CHANNEL)>
+                   <NTHUV DATA9 10 = TEMP16 (TYPE FIX)>
+                   <AND TEMP16 #WORD *4000* = TEMP16>
+                   <VEQUAL? TEMP16 0 - TAG14 (TYPE FIX)>
+                   <DEAD TEMP16>
+                   <SET ECHO?11 %<> (TYPE FALSE)>
+                   <JUMP + TAG15>
+TAG14
+                   <SET ECHO?11 'T (TYPE ATOM)>
+TAG15
+                   <NTHUV DATA9 10 = TEMP16 (TYPE FIX)>
+                   <AND TEMP16 #WORD *300* = TEMP16>
+                   <VEQUAL? TEMP16 0 - TAG19 (TYPE FIX)>
+                   <DEAD TEMP16>
+                   <SET IMAGE?12 'T (TYPE ATOM)>
+                   <JUMP + TAG22>
+TAG19
+                   <SET IMAGE?12 %<> (TYPE FALSE)>
+TAG22
+                   <GETS 'BIND = TEMP3 (TYPE LBIND)>
+                   <LOCATION + TAG23 = TEMP16>
+                   <CFRAME = TEMP25 (TYPE FRAME)>
+                   <BBIND 'UNWIND TEMP16 'FIX TEMP25>
+                   <DEAD TEMP16 TEMP25>
+                   <LOOP>
+AGAIN30
+                   <INTGO>
+                   <FRAME '\1aDUMP-WRITE-BUFFER>
+                   <PUSH DATA9>
+                   <CALL '\1aDUMP-WRITE-BUFFER 1>
+                   <FRAME '\1aGET-QUEUE-CHAR>
+                   <PUSH DATA9>
+                   <CALL '\1aGET-QUEUE-CHAR 1 = TEMP16>
+                   <TYPE? TEMP16 <TYPE-CODE FALSE> + PHRASE33>
+                   <VEQUAL? IMAGE?12 0 - PHRASE65>
+                   <DEAD IMAGE?12>
+                   <VEQUAL? ECHO?11 0 + PHRASE65>
+                   <DEAD ECHO?11>
+                   <NTHUV DATA9 6 = TEMP25 (TYPE FIX)>
+                   <DEAD DATA9>
+                   <CHTYPE TEMP16 <TYPE-CODE FIX> = TEMP39>
+                   <SYSOP 'BOUT TEMP25 TEMP39>
+                   <DEAD TEMP25 TEMP39>
+                   <JUMP + PHRASE65>
+PHRASE33
+                   <TYPE? NOWAIT?8 <TYPE-CODE FALSE> + TAG43>
+                   <NTHUV DATA9 1 = TEMP39 (TYPE FIX)>
+                   <SYSOP 'SIBE TEMP39 (RETURN 2) = TEMP25>
+                   <DEAD TEMP39>
+                   <SET TEMP16 TEMP25>
+                   <TYPE? TEMP16 <TYPE-CODE FALSE> + PHRASE65>
+                   <VEQUAL? TEMP25 0 - TAG43 (TYPE FIX)>
+                   <DEAD TEMP25>
+                   <SET TEMP16 %<> (TYPE FALSE)>
+                   <JUMP + PHRASE65>
+TAG43
+                   <VEQUAL? IMAGE?12 0 - PHRASE47>
+                   <FRAME '\1aTTY-SET-IMAGE>
+                   <PUSH CHANNEL6>
+                   <PUSH OPER7>
+                   <PUSH 'T>
+                   <PUSH %<>>
+                   <CALL '\1aTTY-SET-IMAGE 4>
+PHRASE47
+                   <SETS 'RUNINT -1>
+                   <NTHUV DATA9 1 = TEMP25 (TYPE FIX)>
+                   <SYSOP 'BIN TEMP25 (RETURN 2) = TEMP16>
+                   <DEAD TEMP25>
+                   <SETS 'RUNINT 0>
+                   <TYPE? TEMP16 <TYPE-CODE FALSE> + PHRASE50>
+                   <CHTYPE TEMP16 <TYPE-CODE CHARACTER> = TEMP16>
+                   <JUMP + PHRASE55>
+PHRASE50
+                   <NTHL TEMP16 1 = TEMP25>
+                   <DEAD TEMP16>
+                   <EQUAL? TEMP25 196752 - PHRASE54>
+                   <DEAD TEMP25>
+                   <SET TEMP16 'T (TYPE ATOM)>
+                   <JUMP + PHRASE55>
+PHRASE54
+                   <SET TEMP16 %<> (TYPE FALSE)>
+PHRASE55
+                   <VEQUAL? IMAGE?12 0 - PHRASE60>
+                   <FRAME '\1aTTY-SET-IMAGE>
+                   <PUSH CHANNEL6>
+                   <PUSH OPER7>
+                   <PUSH %<>>
+                   <CALL '\1aTTY-SET-IMAGE 3>
+                   <VEQUAL? ECHO?11 0 + PHRASE60>
+                   <TYPE? TEMP16 <TYPE-CODE CHARACTER> - PHRASE60>
+                   <NTHUV DATA9 6 = TEMP25 (TYPE FIX)>
+                   <CHTYPE TEMP16 <TYPE-CODE FIX> = TEMP39>
+                   <SYSOP 'BOUT TEMP25 TEMP39>
+                   <DEAD TEMP25 TEMP39>
+PHRASE60
+                   <TYPE? TEMP16 <TYPE-CODE ATOM> + AGAIN30>
+                   <TYPE? TEMP16 <TYPE-CODE FIX> - PHRASE65>
+                   <SET TEMP16 %<> (TYPE FALSE)>
+PHRASE65
+                   <NTHR 'UNWIND 2 = TEMP39 (RECORD-TYPE ATOM) (TYPE LBIND)>
+                   <PUTR TEMP39 1 0 (RECORD-TYPE LBIND)>
+                   <DEAD TEMP39>
+                   <JUMP + TAG24>
+TAG23
+                   <VEQUAL? IMAGE?12 0 - UNWCONT>
+                   <FRAME '\1aTTY-SET-IMAGE>
+                   <PUSH CHANNEL6>
+                   <PUSH OPER7>
+                   <PUSH %<>>
+                   <CALL '\1aTTY-SET-IMAGE 3>
+                   <JUMP + UNWCONT>
+TAG24
+                   <UNBIND TEMP3>
+                   <DEAD TEMP3>
+                   <ADJ -9>
+                   <RETURN TEMP16>
+                   <DEAD TEMP16>
+                   <END \1aTTY-READ-IMMEDIATE>
+#WORD *31471745014*
+<GFCN \1aTTY-READ-BYTE ("VALUE" ANY CHANNEL ANY) CHANNEL4 OPER5>
+                   <TEMP DATA6:TTY-CHANNEL TEMP10>
+                   <INTGO>
+                   <NTHUV CHANNEL4 5 = DATA6 (TYPE TTY-CHANNEL)>
+                   <NTHUV DATA6 4 = TEMP10>
+                   <TYPE? TEMP10 <TYPE-CODE FALSE> + PHRASE8>
+                   <DEAD TEMP10>
+                   <NTHUV DATA6 5 = TEMP10 (TYPE FIX)>
+                   <DEAD DATA6>
+                   <VEQUAL? TEMP10 0 - PHRASE8 (TYPE FIX)>
+                   <DEAD TEMP10>
+                   <RETURN %<>>
+PHRASE8
+                   <FRAME '\1aTWAY-READ-BYTE>
+                   <PUSH CHANNEL4>
+                   <DEAD CHANNEL4>
+                   <PUSH OPER5>
+                   <DEAD OPER5>
+                   <CALL '\1aTWAY-READ-BYTE 2 = TEMP10>
+                   <RETURN TEMP10>
+                   <DEAD TEMP10>
+                   <END \1aTTY-READ-BYTE>
+#WORD *715555023*
+<GFCN \1aTTY-READ-BUFFER ("VALUE" ANY CHANNEL ANY STRING "OPTIONAL" FIX FIX) TTY7 OPER8 BUF9 LEN10 CONT11>
+                   <OPT-DISPATCH 3 %<> OPT4 OPT5 OPT6>
+OPT4
+                   <PUSH #T$UNBOUND 0>
+OPT5
+                   <PUSH 0>
+OPT6
+                   <TEMP DATA12 TEMP17>
+                   <INTGO>
+                   <TYPE? LEN10 <TYPE-CODE UNBOUND> - TAG13>
+                   <LENUS BUF9 = LEN10 (TYPE FIX)>
+TAG13
+                   <NTHUV TTY7 5 = DATA12 (TYPE TTY-CHANNEL)>
+                   <NTHUV DATA12 4 = TEMP17>
+                   <TYPE? TEMP17 <TYPE-CODE FALSE> + PHRASE16>
+                   <DEAD TEMP17>
+                   <FRAME '\1aTWAY-READ-BUFFER>
+                   <PUSH TTY7>
+                   <DEAD TTY7>
+                   <PUSH OPER8>
+                   <DEAD OPER8>
+                   <PUSH BUF9>
+                   <DEAD BUF9>
+                   <PUSH LEN10>
+                   <DEAD LEN10>
+                   <PUSH CONT11>
+                   <DEAD CONT11>
+                   <CALL '\1aTWAY-READ-BUFFER 5 = TEMP17>
+                   <RETURN TEMP17>
+                   <DEAD TEMP17>
+PHRASE16
+                   <NTHUV DATA12 1 = DATA12 (TYPE FIX)>
+                   <LENUS BUF9 = TEMP17 (TYPE FIX)>
+                   <GRTR? TEMP17 LEN10 - TAG22>
+                   <SET TEMP17 LEN10 (TYPE FIX)>
+                   <DEAD LEN10>
+TAG22
+                   <READ DATA12 BUF9 TEMP17 CONT11 = TEMP17>
+                   <DEAD DATA12 BUF9 CONT11>
+                   <RETURN TEMP17>
+                   <DEAD TEMP17>
+                   <END \1aTTY-READ-BUFFER>
+#WORD *27036321341*
+<GFCN \1aTTY-GET-READ ("VALUE" <OR FALSE STRING> CHANNEL ANY "OPTIONAL" STRING) TTY6 OPER7 NEW8>
+                   <OPT-DISPATCH 2 %<> OPT4 OPT5>
+OPT4
+                   <PUSH #T$UNBOUND 0>
+OPT5
+                   <TEMP DATA9>
+                   <INTGO>
+                   <NTHUV TTY6 5 = DATA9 (TYPE TTY-CHANNEL)>
+                   <DEAD TTY6>
+                   <TYPE? NEW8 <TYPE-CODE UNBOUND> + PHRASE11>
+                   <PUTUV DATA9 4 NEW8>
+                   <DEAD DATA9>
+                   <RETURN NEW8>
+                   <DEAD NEW8>
+PHRASE11
+                   <NTHUV DATA9 4 = DATA9>
+                   <RETURN DATA9>
+                   <DEAD DATA9>
+                   <END \1aTTY-GET-READ>
+#WORD *6355667155*
+<GFCN \1aTTY-BUFLEN ("VALUE" FIX CHANNEL ANY "OPTIONAL" FIX) TTY6 OPER7 NEW8>
+                   <OPT-DISPATCH 2 %<> OPT4 OPT5>
+OPT4
+                   <PUSH #T$UNBOUND 0>
+OPT5
+                   <TEMP DATA9>
+                   <INTGO>
+                   <NTHUV TTY6 5 = DATA9 (TYPE TTY-CHANNEL)>
+                   <DEAD TTY6>
+                   <TYPE? NEW8 <TYPE-CODE UNBOUND> + PHRASE11>
+                   <PUTUV DATA9 5 NEW8 (TYPE FIX)>
+                   <DEAD DATA9>
+                   <RETURN NEW8>
+                   <DEAD NEW8>
+PHRASE11
+                   <NTHUV DATA9 5 = DATA9 (TYPE FIX)>
+                   <RETURN DATA9>
+                   <DEAD DATA9>
+                   <END \1aTTY-BUFLEN>
+#WORD *1615720501*
+<GFCN \1aTTY-FILL-READ ("VALUE" ANY CHANNEL ANY "OPTIONAL" FIX <OR STRING FALSE> <OR STRING FALSE> <OR ATOM FALSE>) TTY9 OPER10 CONT11 RBUF12 END13 NOMORE14>
+                   <OPT-DISPATCH 2 %<> OPT4 OPT5 OPT6 OPT7 OPT8>
+OPT4
+                   <PUSH 0>
+OPT5
+                   <PUSH %<>>
+OPT6
+                   <PUSH %<>>
+OPT7
+                   <PUSH %<>>
+OPT8
+                   <TEMP DATA15:TTY-CHANNEL OB16 BUF17 TEMP25 TS19 PROMPT21 TEMP68 OLD73:STRING NEW74:STRING TEMP96>
+                   <INTGO>
+                   <NTHUV TTY9 5 = DATA15 (TYPE TTY-CHANNEL)>
+                   <NTHUV DATA15 4 = OB16 (TYPE STRING)>
+                   <TOPU OB16 = BUF17>
+                   <GEN-ASSIGNED? 'READ-PROMPT + TAG27>
+                   <SET TEMP25 %<> (TYPE FALSE)>
+                   <JUMP + PHRASE24>
+TAG27
+                   <GEN-LVAL 'READ-PROMPT = TS19>
+                   <TYPE? TS19 <TYPE-CODE STRING> + TAG32>
+                   <SET TEMP25 %<> (TYPE FALSE)>
+                   <JUMP + PHRASE24>
+TAG32
+                   <SET TEMP25 TS19>
+                   <DEAD TS19>
+PHRASE24
+                   <SET TS19 TEMP25>
+                   <DEAD TEMP25>
+                   <SET TEMP25 TS19>
+                   <TYPE? TEMP25 <TYPE-CODE FALSE> - BOOL35>
+                   <SET TEMP25 "" (TYPE STRING)>
+BOOL35
+                   <PUSH TEMP25>
+                   <DEAD TEMP25>
+                   <PUSH !\\0>
+                   <SBLOCK <TYPE-CODE STRING> 2 = PROMPT21 (TYPE STRING)>
+                   <LENUS PROMPT21 = TEMP25>
+                   <IFSYS "TOPS20">
+                   <ADD TEMP25 4 = TEMP25>
+                   <DIV TEMP25 5 = TEMP25>
+                   <ENDIF "TOPS20">
+                   <IFSYS "VAX">
+                   <ADD TEMP25 3 = TEMP25>
+                   <DIV TEMP25 4 = TEMP25>
+                   <ENDIF "VAX">
+                   <SUB 0 TEMP25 = TEMP25>
+                   <TYPE? TS19 <TYPE-CODE FALSE> - PHRASE37>
+                   <DEAD TS19>
+                   <SET PROMPT21 %<> (TYPE FALSE)>
+PHRASE37
+                   <TYPE? END13 <TYPE-CODE FALSE> - PHRASE39>
+                   <GEN-ASSIGNED? 'READ-BREAKS + TAG44>
+                   <SET TS19 %<> (TYPE FALSE)>
+                   <JUMP + TAG49>
+TAG44
+                   <GEN-LVAL 'READ-BREAKS = TS19>
+                   <TYPE? TS19 <TYPE-CODE STRING> + TAG49>
+                   <SET TS19 %<> (TYPE FALSE)>
+TAG49
+                   <SET END13 TS19>
+                   <DEAD TS19>
+PHRASE39
+                   <TYPE? RBUF12 <TYPE-CODE FALSE> + PHRASE52>
+                   <SET OB16 RBUF12>
+                   <SET BUF17 OB16>
+                   <DEAD OB16>
+                   <JUMP + COND51>
+PHRASE52
+                   <NTHUV DATA15 5 = TS19 (TYPE FIX)>
+                   <VEQUAL? TS19 0 - PHRASE53 (TYPE FIX)>
+                   <DEAD TS19>
+                   <VEQUAL? CONT11 0 + COND51 (TYPE FIX)>
+                   <BACKU OB16 CONT11 = OB16>
+                   <VEQUAL? OB16 BUF17 + COND51>
+                   <SET TS19 OB16 (TYPE STRING)>
+                   <DEAD OB16>
+                   <SET TEMP68 BUF17 (TYPE STRING)>
+                   <LOOP>
+MAP63
+                   <INTGO>
+                   <EMPUS? TS19 + COND51>
+                   <EMPUS? TEMP68 + COND51>
+                   <SET OLD73 TS19>
+                   <SET NEW74 TEMP68>
+                   <NTHUS OLD73 1 = OB16 (TYPE CHARACTER)>
+                   <DEAD OLD73>
+                   <PUTUS NEW74 1 OB16>
+                   <DEAD NEW74 OB16>
+                   <RESTUS TS19 1 = TS19 (TYPE STRING)>
+                   <RESTUS TEMP68 1 = TEMP68 (TYPE STRING)>
+                   <JUMP + MAP63>
+PHRASE53
+                   <SET CONT11 0 (TYPE FIX)>
+COND51
+                   <VEQUAL? CONT11 0 - PHRASE77 (TYPE FIX)>
+                   <TYPE? PROMPT21 <TYPE-CODE FALSE> + PHRASE77>
+                   <FRAME '\1aTWAY-WRITE-BUFFER>
+                   <PUSH TTY9>
+                   <PUSH OPER10>
+                   <PUSH PROMPT21>
+                   <LENUS PROMPT21 = TEMP68 (TYPE FIX)>
+                   <SUB TEMP68 1 = STACK (TYPE FIX)>
+                   <DEAD TEMP68>
+                   <CALL '\1aTWAY-WRITE-BUFFER 4>
+PHRASE77
+                   <RESTUS BUF17 CONT11 = TEMP68 (TYPE STRING)>
+                   <LOOP>
+AGAIN85
+                   <INTGO>
+                   <FRAME '\1aGET-QUEUE-CHAR>
+                   <PUSH DATA15>
+                   <CALL '\1aGET-QUEUE-CHAR 1 = OB16>
+                   <TYPE? OB16 <TYPE-CODE FALSE> + EXIT82>
+                   <PUTUS TEMP68 1 OB16>
+                   <RESTUS TEMP68 1 = TEMP68 (TYPE STRING)>
+                   <ADD CONT11 1 = CONT11 (TYPE FIX)>
+                   <FRAME '\1aTWAY-WRITE-BYTE>
+                   <PUSH TTY9>
+                   <PUSH OPER10>
+                   <PUSH OB16>
+                   <DEAD OB16>
+                   <CALL '\1aTWAY-WRITE-BYTE 3>
+                   <JUMP + AGAIN85>
+EXIT82
+                   <FRAME '\1aDUMP-WRITE-BUFFER>
+                   <PUSH DATA15>
+                   <CALL '\1aDUMP-WRITE-BUFFER 1>
+                   <LOOP>
+AGAIN93
+                   <INTGO>
+                   <NTHUV DATA15 1 = TEMP68 (TYPE FIX)>
+                   <LENUS BUF17 = TS19 (TYPE FIX)>
+                   <SET OB16 END13>
+                   <TYPE? OB16 <TYPE-CODE FALSE> - BOOL94>
+                   <SET OB16 0 (TYPE FIX)>
+BOOL94
+                   <SET TEMP96 PROMPT21>
+                   <TYPE? TEMP96 <TYPE-CODE FALSE> - BOOL95>
+                   <SET TEMP96 0 (TYPE FIX)>
+BOOL95
+                   <READ TEMP68 BUF17 TS19 CONT11 OB16 TEMP96 = OB16>
+                   <DEAD TEMP68 TS19 CONT11 TEMP96>
+                   <TYPE? NOMORE14 <TYPE-CODE FALSE> - PHRASE98>
+                   <LENUS BUF17 = TEMP68 (TYPE FIX)>
+                   <EQUAL? TEMP68 OB16 - PHRASE98>
+                   <DEAD TEMP68>
+                   <LENUS BUF17 = TEMP68 (TYPE FIX)>
+                   <ADD TEMP68 320 = TEMP68 (TYPE FIX)>
+                   <UUBLOCK <TYPE-CODE STRING> TEMP68 = TEMP96 (TYPE STRING)>
+                   <DEAD TEMP68>
+                   <PUTUV DATA15 4 TEMP96>
+                   <DEAD TEMP96>
+                   <SET TEMP96 BUF17 (TYPE STRING)>
+                   <DEAD BUF17>
+                   <NTHUV DATA15 4 = TEMP68 (TYPE STRING)>
+                   <LOOP>
+MAP101
+                   <INTGO>
+                   <EMPUS? TEMP96 + MAPAP104>
+                   <EMPUS? TEMP68 + MAPAP104>
+                   <SET OLD73 TEMP96>
+                   <SET NEW74 TEMP68>
+                   <NTHUS OLD73 1 = BUF17 (TYPE CHARACTER)>
+                   <DEAD OLD73>
+                   <PUTUS NEW74 1 BUF17>
+                   <DEAD NEW74 BUF17>
+                   <RESTUS TEMP96 1 = TEMP96 (TYPE STRING)>
+                   <RESTUS TEMP68 1 = TEMP68 (TYPE STRING)>
+                   <JUMP + MAP101>
+MAPAP104
+                   <NTHUV DATA15 4 = BUF17 (TYPE STRING)>
+                   <SET CONT11 OB16>
+                   <DEAD OB16>
+                   <JUMP + AGAIN93>
+PHRASE98
+                   <TYPE? RBUF12 <TYPE-CODE FALSE> - PHRASE113>
+                   <DEAD RBUF12>
+                   <PUTUV DATA15 4 BUF17>
+                   <DEAD BUF17>
+                   <PUTUV DATA15 5 OB16>
+                   <DEAD DATA15>
+PHRASE113
+                   <SUB TEMP25 2 = TEMP25 (TYPE FIX)>
+                   <ADJ TEMP25>
+                   <DEAD TEMP25>
+                   <RETURN OB16>
+                   <DEAD OB16>
+                   <END \1aTTY-FILL-READ>
+#WORD *16247637164*
+<GFCN \1aTTY-TERM-MOVE? ("VALUE" <OR ATOM !<FALSE>> CHANNEL ANY) TTY4 OPER5>
+                   <TEMP DATA6>
+                   <INTGO>
+                   <NTHUV TTY4 5 = DATA6 (TYPE TTY-CHANNEL)>
+                   <DEAD TTY4>
+                   <NTHUV DATA6 6 = DATA6 (TYPE FIX)>
+                   <SYSOP 'RTCHR DATA6 (RETURN 2) = DATA6>
+                   <AND DATA6 #WORD *400000000000* = DATA6>
+                   <VEQUAL? DATA6 0 - TAG7 (TYPE FIX)>
+                   <DEAD DATA6>
+                   <RETURN %<>>
+TAG7
+                   <RETURN 'T>
+                   <END \1aTTY-TERM-MOVE?>
+#WORD *10713635054*
+<GFCN \1aTTY-NORMAL-OUT ("VALUE" <OR CHARACTER FALSE FIX> CHANNEL ANY <OR BYTES STRING CHARACTER> "OPTIONAL" ANY) TTY6 OPER7 CHRS8 LENGTH9>
+                   <OPT-DISPATCH 3 %<> OPT4 OPT5>
+OPT4
+                   <PUSH %<>>
+OPT5
+                   <TEMP DATA10>
+                   <INTGO>
+                   <FRAME '\1aTTY-SET-IMAGE>
+                   <PUSH TTY6>
+                   <PUSH 'SET-IMAGE-MODE>
+                   <PUSH %<>>
+                   <CALL '\1aTTY-SET-IMAGE 3>
+                   <TYPE? CHRS8 <TYPE-CODE STRING> - PHRASE13>
+                   <FRAME '\1aTWAY-WRITE-BUFFER>
+                   <PUSH TTY6>
+                   <DEAD TTY6>
+                   <PUSH OPER7>
+                   <DEAD OPER7>
+                   <PUSH CHRS8>
+                   <TYPE? LENGTH9 <TYPE-CODE FALSE> + PHRASE16>
+                   <SET DATA10 LENGTH9>
+                   <DEAD LENGTH9>
+                   <JUMP + COND15>
+PHRASE16
+                   <LENUS CHRS8 = DATA10 (TYPE FIX)>
+                   <DEAD CHRS8>
+COND15
+                   <PUSH DATA10>
+                   <DEAD DATA10>
+                   <CALL '\1aTWAY-WRITE-BUFFER 4 = DATA10>
+                   <RETURN DATA10>
+                   <DEAD DATA10>
+PHRASE13
+                   <FRAME '\1aTWAY-WRITE-BYTE>
+                   <PUSH TTY6>
+                   <DEAD TTY6>
+                   <PUSH OPER7>
+                   <DEAD OPER7>
+                   <PUSH CHRS8>
+                   <DEAD CHRS8>
+                   <CALL '\1aTWAY-WRITE-BYTE 3 = DATA10>
+                   <RETURN DATA10>
+                   <DEAD DATA10>
+                   <END \1aTTY-NORMAL-OUT>
+#WORD *4434136522*
+<GFCN \1aTTY-IMAGE-OUT ("VALUE" FIX CHANNEL ANY <OR FIX CHARACTER STRING BYTES> "OPTIONAL" <OR FIX FALSE> "TUPLE" <TUPLE [REST <OR FIX BYTES STRING CHARACTER>]>) TTY6 OPER7 CHRS8 LENGTH9>
+                   <OPT-DISPATCH 3 4 OPT4 OPT5>
+OPT4
+                   <PUSH %<>>
+OPT5
+                   <MAKTUP MORE10 DATA11 TEMP24:FIX X26 = MORE10>
+                   <INTGO>
+                   <FRAME '\1aTTY-SET-IMAGE>
+                   <PUSH TTY6>
+                   <PUSH 'SET-IMAGE-MODE>
+                   <PUSH 'T>
+                   <CALL '\1aTTY-SET-IMAGE 3>
+                   <FRAME '\1aWRITE-STUFF>
+                   <PUSH TTY6>
+                   <PUSH OPER7>
+                   <PUSH CHRS8>
+                   <DEAD CHRS8>
+                   <PUSH LENGTH9>
+                   <DEAD LENGTH9>
+                   <CALL '\1aWRITE-STUFF 4 = DATA11>
+                   <SET TEMP24 0 (TYPE FIX)>
+                   <CHTYPE MORE10 <TYPE-CODE VECTOR> = MORE10>
+                   <LOOP>
+MAP16
+                   <INTGO>
+                   <EMPUV? MORE10 + MAPAP19>
+                   <NTHUV MORE10 1 = X26>
+                   <FRAME '\1aWRITE-STUFF>
+                   <PUSH TTY6>
+                   <PUSH OPER7>
+                   <PUSH X26>
+                   <DEAD X26>
+                   <PUSH %<>>
+                   <CALL '\1aWRITE-STUFF 4 = X26>
+                   <ADD TEMP24 X26 = TEMP24>
+                   <DEAD X26>
+                   <RESTUV MORE10 1 = MORE10 (TYPE VECTOR)>
+                   <JUMP + MAP16>
+MAPAP19
+                   <ADD DATA11 TEMP24 = DATA11 (TYPE FIX)>
+                   <DEAD TEMP24>
+                   <RETURN DATA11>
+                   <DEAD DATA11>
+                   <END \1aTTY-IMAGE-OUT>
+<SETG BUFSTR <ISTRING 12>>
+
+#WORD *20122054327*
+<GFCN \1aWRITE-STUFF ("VALUE" <OR FALSE FIX> CHANNEL ANY <OR STRING FIX CHARACTER> <OR FIX FALSE>) TTY4 OPER5 CHRS6 LENGTH7>
+                   <TEMP BS8:STRING (NEG?9 %<>) TEMP20>
+                   <INTGO>
+                   <GVAL 'BUFSTR = BS8>
+                   <TYPE? CHRS6 <TYPE-CODE STRING> + TAG12>
+                   <TYPE? CHRS6 <TYPE-CODE BYTES> - PHRASE11>
+TAG12
+                   <FRAME '\1aTWAY-WRITE-BUFFER>
+                   <PUSH TTY4>
+                   <DEAD TTY4>
+                   <PUSH OPER5>
+                   <DEAD OPER5>
+                   <PUSH CHRS6>
+                   <TYPE? LENGTH7 <TYPE-CODE FALSE> + PHRASE15>
+                   <SET NEG?9 LENGTH7>
+                   <DEAD LENGTH7>
+                   <JUMP + COND14>
+PHRASE15
+                   <LENUS CHRS6 = NEG?9 (TYPE FIX)>
+                   <DEAD CHRS6>
+COND14
+                   <PUSH NEG?9>
+                   <DEAD NEG?9>
+                   <CALL '\1aTWAY-WRITE-BUFFER 4 = NEG?9>
+                   <RETURN NEG?9>
+                   <DEAD NEG?9>
+PHRASE11
+                   <TYPE? CHRS6 <TYPE-CODE CHARACTER> - PHRASE17>
+                   <FRAME '\1aTWAY-WRITE-BYTE>
+                   <PUSH TTY4>
+                   <DEAD TTY4>
+                   <PUSH OPER5>
+                   <DEAD OPER5>
+                   <PUSH CHRS6>
+                   <DEAD CHRS6>
+                   <CALL '\1aTWAY-WRITE-BYTE 3>
+                   <RETURN 1>
+PHRASE17
+                   <LENUS BS8 = TEMP20 (TYPE FIX)>
+                   <RESTUS BS8 TEMP20 = BS8 (TYPE STRING)>
+                   <DEAD TEMP20>
+                   <LESS? CHRS6 0 - PHRASE22 (TYPE FIX)>
+                   <SET NEG?9 'T (TYPE ATOM)>
+                   <SUB 0 CHRS6 = CHRS6 (TYPE FIX)>
+PHRASE22
+                   <SET TEMP20 %<> (TYPE FALSE)>
+                   <LOOP>
+AGAIN28
+                   <INTGO>
+                   <VEQUAL? CHRS6 0 - PHRASE30 (TYPE FIX)>
+                   <VEQUAL? TEMP20 0 - PHRASE34>
+                   <DEAD TEMP20>
+                   <BACKU BS8 1 = BS8>
+                   <PUTUS BS8 1 !\0>
+                   <JUMP + PHRASE35>
+PHRASE34
+                   <VEQUAL? NEG?9 0 + PHRASE35>
+                   <DEAD NEG?9>
+                   <BACKU BS8 1 = BS8>
+                   <PUTUS BS8 1 !\->
+PHRASE35
+                   <FRAME '\1aTWAY-WRITE-BUFFER>
+                   <PUSH TTY4>
+                   <DEAD TTY4>
+                   <PUSH OPER5>
+                   <DEAD OPER5>
+                   <PUSH BS8>
+                   <LENUS BS8 = STACK (TYPE FIX)>
+                   <CALL '\1aTWAY-WRITE-BUFFER 4>
+                   <LENUS BS8 = NEG?9 (TYPE FIX)>
+                   <DEAD BS8>
+                   <RETURN NEG?9>
+                   <DEAD NEG?9>
+PHRASE30
+                   <MOD CHRS6 10 = TEMP20 (TYPE FIX)>
+                   <DIV CHRS6 10 = CHRS6 (TYPE FIX)>
+                   <BACKU BS8 1 = BS8>
+                   <ADD TEMP20 48 = TEMP20 (TYPE FIX)>
+                   <CHTYPE TEMP20 <TYPE-CODE CHARACTER> = TEMP20>
+                   <PUTUS BS8 1 TEMP20>
+                   <DEAD TEMP20>
+                   <SET TEMP20 'T (TYPE ATOM)>
+                   <JUMP + AGAIN28>
+                   <END \1aWRITE-STUFF>
+#WORD *3164705316*
+<GFCN \1aTTY-OPEN ("VALUE" <OR FALSE TTY-CHANNEL> ANY ANY "OPTIONAL" ANY ANY ANY ANY ANY) STYPE10 OPR11 NAME12 MODE13 BSZ14 OBUF?15 IBUF?16>
+                   <OPT-DISPATCH 2 %<> OPT4 OPT5 OPT6 OPT7 OPT8 OPT9>
+OPT4
+                   <PUSH %<>>
+OPT5
+                   <PUSH "">
+OPT6
+                   <PUSH "">
+OPT7
+                   <PUSH #T$UNBOUND 0>
+OPT8
+                   <PUSH #T$UNBOUND 0>
+OPT9
+                   <TEMP TO21 IJFN18 VAL20>
+                   <INTGO>
+                   <TYPE? IBUF?16 <TYPE-CODE UNBOUND> - COND24>
+                   <TYPE? BSZ14 <TYPE-CODE STRING> - PHRASE25>
+                   <SET IBUF?16 'T (TYPE ATOM)>
+                   <JUMP + COND24>
+PHRASE25
+                   <SET IBUF?16 BSZ14>
+                   <DEAD BSZ14>
+COND24
+                   <TYPE? OBUF?15 <TYPE-CODE UNBOUND> - COND28>
+                   <TYPE? MODE13 <TYPE-CODE STRING> - PHRASE29>
+                   <SET OBUF?15 %<> (TYPE FALSE)>
+                   <JUMP + COND28>
+PHRASE29
+                   <SET OBUF?15 MODE13>
+                   <DEAD MODE13>
+COND28
+                   <TYPE? NAME12 <TYPE-CODE FALSE> - PHRASE31>
+                   <SET TO21 65 (TYPE FIX)>
+                   <SET IJFN18 64 (TYPE FIX)>
+                   <JUMP + PHRASE34>
+PHRASE31
+                   <FRAME '\1aGET-JFN>
+                   <PUSH NAME12>
+                   <DEAD NAME12>
+                   <PUSH 106496>
+                   <PUSH 7>
+                   <PUSH %<>>
+                   <CALL '\1aGET-JFN 4 = TO21>
+                   <TYPE? TO21 <TYPE-CODE FALSE> + PHRASE32>
+                   <SET IJFN18 TO21>
+                   <JUMP + PHRASE34>
+PHRASE32
+                   <RETURN TO21>
+                   <DEAD TO21>
+PHRASE34
+                   <SYSOP 'RFMOD TO21 (RETURN 2) = VAL20>
+                   <PUSH IJFN18>
+                   <DEAD IJFN18>
+                   <PUSH -1>
+                   <PUSH 7>
+                   <SET IJFN18 IBUF?16>
+                   <DEAD IBUF?16>
+                   <TYPE? IJFN18 <TYPE-CODE FALSE> + PHRASE38>
+                   <UUBLOCK <TYPE-CODE STRING> 320 = IJFN18 (TYPE STRING)>
+PHRASE38
+                   <PUSH IJFN18>
+                   <DEAD IJFN18>
+                   <PUSH 0>
+                   <PUSH TO21>
+                   <DEAD TO21>
+                   <SET IJFN18 OBUF?15>
+                   <DEAD OBUF?15>
+                   <TYPE? IJFN18 <TYPE-CODE FALSE> + PHRASE41>
+                   <UUBLOCK <TYPE-CODE STRING> 320 = IJFN18 (TYPE STRING)>
+PHRASE41
+                   <PUSH IJFN18>
+                   <DEAD IJFN18>
+                   <PUSH 0>
+                   <PUSH VAL20>
+                   <PUSH VAL20>
+                   <DEAD VAL20>
+                   <PUSH %<>>
+                   <PUSH 0>
+                   <PUSH %<>>
+                   <PUSH %<>>
+                   <UBLOCK <TYPE-CODE VECTOR> 14 = IJFN18>
+                   <CHTYPE IJFN18 <TYPE-CODE TTY-CHANNEL> = IJFN18>
+                   <RETURN IJFN18>
+                   <DEAD IJFN18>
+                   <END \1aTTY-OPEN>
+#WORD *13704672357*
+<GFCN \1aTTY-SET-ECHO ("VALUE" CHANNEL CHANNEL ANY <OR ATOM FALSE>) TTY4 OPER5 ON?6>
+                   <TEMP DATA7 TEMP11>
+                   <INTGO>
+                   <NTHUV TTY4 5 = DATA7 (TYPE TTY-CHANNEL)>
+                   <NTHUV DATA7 10 = TEMP11 (TYPE FIX)>
+                   <AND TEMP11 #WORD *4000* = TEMP11>
+                   <VEQUAL? TEMP11 0 - TAG9 (TYPE FIX)>
+                   <DEAD TEMP11>
+                   <SET TEMP11 %<> (TYPE FALSE)>
+                   <JUMP + TAG10>
+TAG9
+                   <SET TEMP11 'T (TYPE ATOM)>
+TAG10
+                   <VEQUAL? TEMP11 ON?6 + PHRASE15>
+                   <DEAD TEMP11 ON?6>
+                   <NTHUV DATA7 10 = TEMP11 (TYPE FIX)>
+                   <XOR TEMP11 #WORD *4000* = TEMP11>
+                   <PUTUV DATA7 10 TEMP11 (TYPE FIX)>
+                   <DEAD TEMP11>
+                   <NTHUV DATA7 1 = TEMP11 (TYPE FIX)>
+                   <NTHUV DATA7 10 = DATA7 (TYPE FIX)>
+                   <SYSOP 'SFMOD TEMP11 DATA7>
+                   <DEAD TEMP11 DATA7>
+PHRASE15
+                   <RETURN TTY4>
+                   <DEAD TTY4>
+                   <END \1aTTY-SET-ECHO>
+#WORD *26564056631*
+<GFCN \1aTTY-SET-IMAGE ("VALUE" CHANNEL CHANNEL ANY <OR ATOM FALSE> "OPTIONAL" ANY) TTY6 OPER7 ON?8 SCREW?9>
+                   <OPT-DISPATCH 3 %<> OPT4 OPT5>
+OPT4
+                   <PUSH 'T>
+OPT5
+                   <TEMP DATA10:TTY-CHANNEL TEMP12 TEMP27:FIX>
+                   <INTGO>
+                   <NTHUV TTY6 5 = DATA10 (TYPE TTY-CHANNEL)>
+                   <NTHUV DATA10 10 = TEMP12 (TYPE FIX)>
+                   <AND TEMP12 #WORD *300* = TEMP12>
+                   <VEQUAL? TEMP12 0 - TAG13 (TYPE FIX)>
+                   <DEAD TEMP12>
+                   <SET TEMP12 'T (TYPE ATOM)>
+                   <JUMP + TAG16>
+TAG13
+                   <SET TEMP12 %<> (TYPE FALSE)>
+TAG16
+                   <VEQUAL? TEMP12 ON?8 + PHRASE18>
+                   <DEAD TEMP12>
+                   <FRAME '\1aTWAY-BUFOUT>
+                   <PUSH TTY6>
+                   <PUSH 'BUFOUT>
+                   <PUSH %<>>
+                   <CALL '\1aTWAY-BUFOUT 3>
+                   <TYPE? ON?8 <TYPE-CODE FALSE> + PHRASE21>
+                   <TYPE? SCREW?9 <TYPE-CODE FALSE> + PHRASE21>
+                   <DEAD SCREW?9>
+                   <NTHUV DATA10 1 = TEMP12 (TYPE FIX)>
+                   <SYSOP 'SFPOS TEMP12 -1>
+                   <DEAD TEMP12>
+PHRASE21
+                   <TYPE? ON?8 <TYPE-CODE FALSE> + PHRASE24>
+                   <DEAD ON?8>
+                   <NTHUV DATA10 10 = TEMP12 (TYPE FIX)>
+                   <AND TEMP12 #WORD *777777777477* = TEMP12>
+                   <JUMP + PHRASE25>
+PHRASE24
+                   <NTHUV DATA10 10 = TEMP12 (TYPE FIX)>
+                   <NTHUV DATA10 9 = TEMP27 (TYPE FIX)>
+                   <AND TEMP27 #WORD *300* = TEMP27>
+                   <OR TEMP12 TEMP27 = TEMP12>
+                   <DEAD TEMP27>
+PHRASE25
+                   <PUTUV DATA10 10 TEMP12 (TYPE FIX)>
+                   <DEAD TEMP12>
+                   <NTHUV DATA10 1 = TEMP12 (TYPE FIX)>
+                   <NTHUV DATA10 10 = TEMP27 (TYPE FIX)>
+                   <DEAD DATA10>
+                   <SYSOP 'SFMOD TEMP12 TEMP27>
+                   <DEAD TEMP12 TEMP27>
+PHRASE18
+                   <RETURN TTY6>
+                   <DEAD TTY6>
+                   <END \1aTTY-SET-IMAGE>
+\\f
+
+#WORD *23204133012*
+<GFCN \1aTTY-RESET ("VALUE" CHANNEL CHANNEL ANY "OPTIONAL" ANY <OR ATOM FALSE>) TTY7 OPER8 NEW?9 FLUSH?10>
+                   <OPT-DISPATCH 2 %<> OPT4 OPT5 OPT6>
+OPT4
+                   <PUSH %<>>
+OPT5
+                   <PUSH 'T>
+OPT6
+                   <TEMP DATA11:TTY-CHANNEL TEMP14 TEMP20>
+                   <INTGO>
+                   <NTHUV TTY7 5 = DATA11 (TYPE TTY-CHANNEL)>
+                   <TYPE? NEW?9 <TYPE-CODE FALSE> + PHRASE13>
+                   <DEAD NEW?9>
+                   <NTHUV DATA11 1 = TEMP14 (TYPE FIX)>
+                   <SYSOP 'RFMOD TEMP14 (RETURN 2) = TEMP14>
+                   <PUTUV DATA11 10 TEMP14>
+                   <DEAD TEMP14>
+                   <FRAME '\1aTTY-SET-IMAGE>
+                   <PUSH TTY7>
+                   <PUSH OPER8>
+                   <PUSH %<>>
+                   <CALL '\1aTTY-SET-IMAGE 3>
+                   <FRAME '\1aTTY-SET-ECHO>
+                   <PUSH TTY7>
+                   <PUSH OPER8>
+                   <DEAD OPER8>
+                   <PUSH 'T>
+                   <CALL '\1aTTY-SET-ECHO 3>
+                   <NTHUV DATA11 10 = TEMP14 (TYPE FIX)>
+                   <PUTUV DATA11 9 TEMP14 (TYPE FIX)>
+                   <DEAD TEMP14>
+                   <JUMP + PHRASE22>
+PHRASE13
+                   <NTHUV DATA11 10 = TEMP14 (TYPE FIX)>
+                   <NTHUV DATA11 9 = TEMP20 (TYPE FIX)>
+                   <VEQUAL? TEMP14 TEMP20 + PHRASE19 (TYPE FIX)>
+                   <DEAD TEMP14 TEMP20>
+                   <NTHUV DATA11 1 = TEMP20 (TYPE FIX)>
+                   <NTHUV DATA11 9 = TEMP14 (TYPE FIX)>
+                   <SYSOP 'SFMOD TEMP20 TEMP14>
+                   <DEAD TEMP20 TEMP14>
+                   <NTHUV DATA11 9 = TEMP20 (TYPE FIX)>
+                   <PUTUV DATA11 10 TEMP20 (TYPE FIX)>
+                   <DEAD TEMP20>
+PHRASE19
+                   <TYPE? FLUSH?10 <TYPE-CODE FALSE> + PHRASE22>
+                   <DEAD FLUSH?10>
+                   <NTHUV DATA11 1 = TEMP20 (TYPE FIX)>
+                   <SYSOP 'CFIBF TEMP20>
+                   <DEAD TEMP20>
+PHRASE22
+                   <NTHUV DATA11 4 = TEMP20>
+                   <TYPE? TEMP20 <TYPE-CODE FALSE> + PHRASE24>
+                   <DEAD TEMP20>
+                   <PUTUV DATA11 5 0 (TYPE FIX)>
+                   <NTHUV DATA11 4 = TEMP20 (TYPE STRING)>
+                   <TOPU TEMP20 = TEMP20>
+                   <PUTUV DATA11 4 TEMP20>
+                   <DEAD TEMP20>
+PHRASE24
+                   <NTHUV DATA11 7 = TEMP20>
+                   <TYPE? TEMP20 <TYPE-CODE FALSE> + PHRASE26>
+                   <DEAD TEMP20>
+                   <PUTUV DATA11 8 0 (TYPE FIX)>
+                   <NTHUV DATA11 7 = TEMP20 (TYPE STRING)>
+                   <TOPU TEMP20 = TEMP20>
+                   <PUTUV DATA11 7 TEMP20>
+                   <DEAD TEMP20>
+PHRASE26
+                   <PUTUV DATA11 12 0 (TYPE FIX)>
+                   <DEAD DATA11>
+                   <RETURN TTY7>
+                   <DEAD TTY7>
+                   <END \1aTTY-RESET>
+#WORD *34147104564*
+<GFCN \1aTTY-QUERY ("VALUE" <OR ATOM FALSE> CHANNEL ANY FIX) CHANNEL4 OPER5 BIT6>
+                   <TEMP DATA7>
+                   <INTGO>
+                   <NTHUV CHANNEL4 5 = DATA7 (TYPE TTY-CHANNEL)>
+                   <DEAD CHANNEL4>
+                   <VEQUAL? BIT6 2 + TAG11 (TYPE FIX)>
+                   <DEAD BIT6>
+                   <RETURN %<>>
+TAG11
+                   <NTHUV DATA7 4 = DATA7>
+                   <TYPE? DATA7 <TYPE-CODE FALSE> + PHRASE13>
+                   <SET DATA7 'T (TYPE ATOM)>
+PHRASE13
+                   <RETURN DATA7>
+                   <DEAD DATA7>
+                   <END \1aTTY-QUERY>
+\\f
+
+#WORD *31254076332*
+<GFCN \1aTTY-SET-CURS ("VALUE" ATOM CHANNEL ANY FIX FIX) TTY4 OPER5 X6 Y7>
+                   <TEMP DATA8 SU11 TEMP16:FIX>
+                   <INTGO>
+                   <NTHUV TTY4 5 = DATA8 (TYPE TTY-CHANNEL)>
+                   <NTHUV TTY4 6 = SU11>
+                   <DEAD TTY4>
+                   <TYPE? SU11 <TYPE-CODE MUD-CHAN> - PHRASE14>
+                   <PUTUV SU11 4 Y7 (TYPE FIX)>
+                   <PUTUV SU11 2 X6 (TYPE FIX)>
+                   <DEAD SU11>
+PHRASE14
+                   <NTHUV DATA8 1 = DATA8 (TYPE FIX)>
+                   <IFSYS "VAX">
+                   <PUTBITS X6 16 16 Y7 = TEMP16>
+                   <ENDIF "VAX">
+                   <IFSYS "TOPS20">
+                   <PUTBITS X6 18 18 Y7 = TEMP16>
+                   <DEAD X6 Y7>
+                   <ENDIF "TOPS20">
+                   <SYSOP 'SFPOS DATA8 TEMP16>
+                   <DEAD DATA8 TEMP16>
+                   <RETURN 'T>
+                   <END \1aTTY-SET-CURS>
+#WORD *33677634553*
+<GFCN \1aTTY-PARM ("VALUE" ANY CHANNEL ATOM "OPTIONAL" FIX) TTY6 OPER7 NEW8>
+                   <OPT-DISPATCH 2 %<> OPT4 OPT5>
+OPT4
+                   <PUSH #T$UNBOUND 0>
+OPT5
+                   <TEMP DATA9 TEMP14 RN27:FIX TEMP29:FIX TEMP46:FIX>
+                   <INTGO>
+                   <NTHUV TTY6 5 = DATA9 (TYPE TTY-CHANNEL)>
+                   <DEAD TTY6>
+                   <VEQUAL? OPER7 'PAGE-WIDTH - PHRASE11>
+                   <TYPE? NEW8 <TYPE-CODE UNBOUND> + PHRASE13>
+                   <NTHUV DATA9 1 = TEMP14 (TYPE FIX)>
+                   <DEAD DATA9>
+                   <SYSOP 'MTOPR TEMP14 25 NEW8 (RETURN 3) = TEMP14>
+                   <DEAD NEW8>
+                   <RETURN TEMP14>
+                   <DEAD TEMP14>
+PHRASE13
+                   <NTHUV DATA9 1 = DATA9 (TYPE FIX)>
+                   <SYSOP 'MTOPR DATA9 24 (RETURN 3) = TEMP14>
+                   <DEAD DATA9>
+                   <RETURN TEMP14>
+                   <DEAD TEMP14>
+PHRASE11
+                   <VEQUAL? OPER7 'PAGE-HEIGHT - PHRASE17>
+                   <TYPE? NEW8 <TYPE-CODE UNBOUND> + PHRASE19>
+                   <NTHUV DATA9 1 = DATA9 (TYPE FIX)>
+                   <SYSOP 'MTOPR DATA9 27 NEW8 (RETURN 3) = TEMP14>
+                   <DEAD DATA9 NEW8>
+                   <RETURN TEMP14>
+                   <DEAD TEMP14>
+PHRASE19
+                   <NTHUV DATA9 1 = DATA9 (TYPE FIX)>
+                   <SYSOP 'MTOPR DATA9 26 (RETURN 3) = TEMP14>
+                   <DEAD DATA9>
+                   <RETURN TEMP14>
+                   <DEAD TEMP14>
+PHRASE17
+                   <VEQUAL? OPER7 'PAGE-X - PHRASE21>
+                   <TYPE? NEW8 <TYPE-CODE UNBOUND> + PHRASE23>
+                   <NTHUV DATA9 1 = DATA9 (TYPE FIX)>
+                   <SYSOP 'RFPOS DATA9 (RETURN 2) = TEMP14>
+                   <SET RN27 NEW8>
+                   <DEAD NEW8>
+                   <IFSYS "VAX">
+                   <PUTBITS TEMP14 16 0 RN27 = TEMP29>
+                   <ENDIF "VAX">
+                   <IFSYS "TOPS20">
+                   <PUTBITS TEMP14 18 0 RN27 = TEMP29>
+                   <DEAD TEMP14 RN27>
+                   <ENDIF "TOPS20">
+                   <SYSOP 'SFPOS DATA9 TEMP29 (RETURN 2) = TEMP14>
+                   <DEAD DATA9 TEMP29>
+                   <RETURN TEMP14>
+                   <DEAD TEMP14>
+PHRASE23
+                   <IFSYS "VAX">
+                   <NTHUV DATA9 1 = TEMP14 (TYPE FIX)>
+                   <SYSOP 'RFPOS TEMP14 (RETURN 2) = TEMP14>
+                   <AND TEMP14 #WORD *177777* = TEMP14>
+                   <ENDIF "VAX">
+                   <IFSYS "TOPS20">
+                   <NTHUV DATA9 1 = TEMP14 (TYPE FIX)>
+                   <DEAD DATA9>
+                   <SYSOP 'RFPOS TEMP14 (RETURN 2) = TEMP14>
+                   <AND TEMP14 #WORD *777777* = TEMP14>
+                   <ENDIF "TOPS20">
+                   <RETURN TEMP14>
+                   <DEAD TEMP14>
+PHRASE21
+                   <VEQUAL? OPER7 'PAGE-Y + TAG38>
+                   <DEAD OPER7>
+                   <RETURN %<>>
+TAG38
+                   <TYPE? NEW8 <TYPE-CODE UNBOUND> + PHRASE40>
+                   <NTHUV DATA9 1 = DATA9 (TYPE FIX)>
+                   <SYSOP 'RFPOS DATA9 (RETURN 2) = TEMP14>
+                   <SET RN27 NEW8>
+                   <DEAD NEW8>
+                   <IFSYS "VAX">
+                   <PUTBITS TEMP14 16 16 RN27 = TEMP46>
+                   <ENDIF "VAX">
+                   <IFSYS "TOPS20">
+                   <PUTBITS TEMP14 18 18 RN27 = TEMP46>
+                   <DEAD TEMP14 RN27>
+                   <ENDIF "TOPS20">
+                   <SYSOP 'SFPOS DATA9 TEMP46 (RETURN 2) = TEMP14>
+                   <DEAD DATA9 TEMP46>
+                   <RETURN TEMP14>
+                   <DEAD TEMP14>
+PHRASE40
+                   <IFSYS "VAX">
+                   <NTHUV DATA9 1 = TEMP14 (TYPE FIX)>
+                   <SYSOP 'RFPOS TEMP14 (RETURN 2) = TEMP14>
+                   <GETBITS TEMP14 16 16 = TEMP14>
+                   <ENDIF "VAX">
+                   <IFSYS "TOPS20">
+                   <NTHUV DATA9 1 = TEMP14 (TYPE FIX)>
+                   <DEAD DATA9>
+                   <SYSOP 'RFPOS TEMP14 (RETURN 2) = TEMP14>
+                   <GETBITS TEMP14 18 18 = TEMP14>
+                   <ENDIF "TOPS20">
+                   <RETURN TEMP14>
+                   <DEAD TEMP14>
+                   <END \1aTTY-PARM>
+\\f
+
+#WORD *2247222022*
+<GFCN \1aINSERT-LINE ("VALUE" ANY CHANNEL ANY "OPTIONAL" FIX <OR FIX FALSE> <OR FIX FALSE>) TTY8 OPER9 N10 TOP11 BOT12>
+                   <OPT-DISPATCH 2 %<> OPT4 OPT5 OPT6 OPT7>
+OPT4
+                   <PUSH 1>
+OPT5
+                   <PUSH %<>>
+OPT6
+                   <PUSH %<>>
+OPT7
+                   <TEMP DATA13 TEMP18 TEMP49:FIX>
+                   <INTGO>
+                   <NTHUV TTY8 5 = DATA13 (TYPE TTY-CHANNEL)>
+                   <DEAD TTY8>
+                   <VEQUAL? N10 0 - PHRASE15 (TYPE FIX)>
+                   <RETURN 'T>
+PHRASE15
+                   <TYPE? TOP11 <TYPE-CODE FALSE> - PHRASE19>
+                   <TYPE? BOT12 <TYPE-CODE FALSE> - PHRASE19>
+                   <NTHUV DATA13 7 = TEMP18>
+                   <TYPE? TEMP18 <TYPE-CODE FALSE> + PHRASE25>
+                   <DEAD TEMP18>
+                   <NTHUV DATA13 8 = TEMP18 (TYPE FIX)>
+                   <VEQUAL? TEMP18 0 + PHRASE25 (TYPE FIX)>
+                   <DEAD TEMP18>
+                   <FRAME '\1aDUMP-WRITE-BUFFER>
+                   <PUSH DATA13>
+                   <CALL '\1aDUMP-WRITE-BUFFER 1>
+PHRASE25
+                   <NTHUV DATA13 6 = TEMP18 (TYPE FIX)>
+                   <DEAD DATA13>
+                   <SYSOP 'VTSOP TEMP18 17179869202 N10 = TEMP18>
+                   <DEAD N10>
+                   <RETURN TEMP18>
+                   <DEAD TEMP18>
+PHRASE19
+                   <TYPE? TOP11 <TYPE-CODE FALSE> - EXIT34>
+                   <IFSYS "VAX">
+                   <NTHUV DATA13 1 = TEMP18 (TYPE FIX)>
+                   <SYSOP 'RFPOS TEMP18 (RETURN 2) = TEMP18>
+                   <GETBITS TEMP18 16 16 = TOP11>
+                   <DEAD TEMP18>
+                   <ENDIF "VAX">
+                   <IFSYS "TOPS20">
+                   <NTHUV DATA13 1 = TEMP18 (TYPE FIX)>
+                   <SYSOP 'RFPOS TEMP18 (RETURN 2) = TEMP18>
+                   <GETBITS TEMP18 18 18 = TOP11>
+                   <DEAD TEMP18>
+                   <ENDIF "TOPS20">
+EXIT34
+                   <TYPE? BOT12 <TYPE-CODE FALSE> - PHRASE38>
+                   <NTHUV DATA13 1 = TEMP18 (TYPE FIX)>
+                   <SYSOP 'MTOPR TEMP18 26 (RETURN 3) = TEMP18>
+                   <SUB TEMP18 1 = BOT12 (TYPE FIX)>
+                   <DEAD TEMP18>
+PHRASE38
+                   <NTHUV DATA13 7 = TEMP18>
+                   <TYPE? TEMP18 <TYPE-CODE FALSE> + PHRASE42>
+                   <DEAD TEMP18>
+                   <NTHUV DATA13 8 = TEMP18 (TYPE FIX)>
+                   <VEQUAL? TEMP18 0 + PHRASE42 (TYPE FIX)>
+                   <DEAD TEMP18>
+                   <FRAME '\1aDUMP-WRITE-BUFFER>
+                   <PUSH DATA13>
+                   <CALL '\1aDUMP-WRITE-BUFFER 1>
+PHRASE42
+                   <NTHUV DATA13 6 = TEMP18 (TYPE FIX)>
+                   <DEAD DATA13>
+                   <LSH TOP11 18 = DATA13 (TYPE FIX)>
+                   <DEAD TOP11>
+                   <AND BOT12 #WORD *777777* = TEMP49>
+                   <DEAD BOT12>
+                   <OR DATA13 TEMP49 = DATA13>
+                   <DEAD TEMP49>
+                   <SYSOP 'VTSOP TEMP18 25769803794 N10 DATA13 = TEMP18>
+                   <DEAD N10 DATA13>
+                   <RETURN TEMP18>
+                   <DEAD TEMP18>
+                   <END \1aINSERT-LINE>
+#WORD *33673411765*
+<GFCN \1aINSERT-CHAR ("VALUE" ANY CHANNEL ANY "OPTIONAL" FIX <OR FIX FALSE> <OR FIX FALSE>) TTY8 OPER9 N10 LEFT11 RIGHT12>
+                   <OPT-DISPATCH 2 %<> OPT4 OPT5 OPT6 OPT7>
+OPT4
+                   <PUSH 1>
+OPT5
+                   <PUSH %<>>
+OPT6
+                   <PUSH %<>>
+OPT7
+                   <TEMP DATA13 TEMP24>
+                   <INTGO>
+                   <NTHUV TTY8 5 = DATA13>
+                   <DEAD TTY8>
+                   <TYPE? LEFT11 <TYPE-CODE FALSE> - PHRASE15>
+                   <TYPE? RIGHT12 <TYPE-CODE FALSE> - PHRASE15>
+                   <NTHUV DATA13 7 = TEMP24>
+                   <TYPE? TEMP24 <TYPE-CODE FALSE> + PHRASE22>
+                   <DEAD TEMP24>
+                   <NTHUV DATA13 8 = TEMP24 (TYPE FIX)>
+                   <VEQUAL? TEMP24 0 + PHRASE22 (TYPE FIX)>
+                   <DEAD TEMP24>
+                   <FRAME '\1aDUMP-WRITE-BUFFER>
+                   <PUSH DATA13>
+                   <CALL '\1aDUMP-WRITE-BUFFER 1>
+PHRASE22
+                   <NTHUV DATA13 6 = TEMP24 (TYPE FIX)>
+                   <DEAD DATA13>
+                   <SYSOP 'VTSOP TEMP24 17179869203 N10 = DATA13>
+                   <DEAD TEMP24 N10>
+                   <RETURN DATA13>
+                   <DEAD DATA13>
+PHRASE15
+                   <TYPE? LEFT11 <TYPE-CODE FALSE> - EXIT31>
+                   <IFSYS "VAX">
+                   <NTHUV DATA13 1 = TEMP24 (TYPE FIX)>
+                   <SYSOP 'RFPOS TEMP24 (RETURN 2) = TEMP24>
+                   <AND TEMP24 #WORD *177777* = LEFT11>
+                   <DEAD TEMP24>
+                   <ENDIF "VAX">
+                   <IFSYS "TOPS20">
+                   <NTHUV DATA13 1 = TEMP24 (TYPE FIX)>
+                   <SYSOP 'RFPOS TEMP24 (RETURN 2) = TEMP24>
+                   <AND TEMP24 #WORD *777777* = LEFT11>
+                   <DEAD TEMP24>
+                   <ENDIF "TOPS20">
+EXIT31
+                   <TYPE? RIGHT12 <TYPE-CODE FALSE> - PHRASE35>
+                   <NTHUV DATA13 1 = TEMP24 (TYPE FIX)>
+                   <SYSOP 'MTOPR TEMP24 24 (RETURN 3) = TEMP24>
+                   <SUB TEMP24 1 = RIGHT12 (TYPE FIX)>
+                   <DEAD TEMP24>
+PHRASE35
+                   <NTHUV DATA13 7 = TEMP24>
+                   <TYPE? TEMP24 <TYPE-CODE FALSE> + PHRASE39>
+                   <DEAD TEMP24>
+                   <NTHUV DATA13 8 = TEMP24 (TYPE FIX)>
+                   <VEQUAL? TEMP24 0 + PHRASE39 (TYPE FIX)>
+                   <DEAD TEMP24>
+                   <FRAME '\1aDUMP-WRITE-BUFFER>
+                   <PUSH DATA13>
+                   <CALL '\1aDUMP-WRITE-BUFFER 1>
+PHRASE39
+                   <NTHUV DATA13 6 = TEMP24 (TYPE FIX)>
+                   <DEAD DATA13>
+                   <AND RIGHT12 #WORD *777777000000* = DATA13>
+                   <DEAD RIGHT12>
+                   <OR DATA13 LEFT11 = DATA13>
+                   <DEAD LEFT11>
+                   <SYSOP 'VTSOP TEMP24 25769803795 N10 DATA13 = DATA13>
+                   <DEAD TEMP24 N10>
+                   <RETURN DATA13>
+                   <DEAD DATA13>
+                   <END \1aINSERT-CHAR>
+\\f
+
+#WORD *11274531177*
+<GFCN \1aCLEAR-SCREEN ("VALUE" ANY CHANNEL ANY) TTY4 OPER5>
+                   <TEMP SU9>
+                   <INTGO>
+                   <NTHUV TTY4 6 = SU9>
+                   <TYPE? SU9 <TYPE-CODE MUD-CHAN> - PHRASE12>
+                   <PUTUV SU9 4 0 (TYPE FIX)>
+                   <PUTUV SU9 2 0 (TYPE FIX)>
+                   <DEAD SU9>
+PHRASE12
+                   <NTHUV TTY4 5 = SU9 (TYPE TTY-CHANNEL)>
+                   <NTHUV SU9 7 = SU9>
+                   <TYPE? SU9 <TYPE-CODE FALSE> + PHRASE18>
+                   <DEAD SU9>
+                   <NTHUV TTY4 5 = SU9 (TYPE TTY-CHANNEL)>
+                   <NTHUV SU9 8 = SU9 (TYPE FIX)>
+                   <VEQUAL? SU9 0 + PHRASE18 (TYPE FIX)>
+                   <DEAD SU9>
+                   <FRAME '\1aDUMP-WRITE-BUFFER>
+                   <NTHUV TTY4 5 = STACK>
+                   <CALL '\1aDUMP-WRITE-BUFFER 1>
+PHRASE18
+                   <NTHUV TTY4 5 = SU9 (TYPE TTY-CHANNEL)>
+                   <DEAD TTY4>
+                   <NTHUV SU9 6 = SU9 (TYPE FIX)>
+                   <SYSOP 'VTSOP SU9 13 = SU9>
+                   <RETURN SU9>
+                   <DEAD SU9>
+                   <END \1aCLEAR-SCREEN>
+#WORD *21014113566*
+<GFCN \1aCLEAR-EOL ("VALUE" ANY CHANNEL ANY) TTY4 OPER5>
+                   <TEMP TEMP13>
+                   <INTGO>
+                   <NTHUV TTY4 5 = TEMP13 (TYPE TTY-CHANNEL)>
+                   <NTHUV TEMP13 7 = TEMP13>
+                   <TYPE? TEMP13 <TYPE-CODE FALSE> + PHRASE11>
+                   <DEAD TEMP13>
+                   <NTHUV TTY4 5 = TEMP13 (TYPE TTY-CHANNEL)>
+                   <NTHUV TEMP13 8 = TEMP13 (TYPE FIX)>
+                   <VEQUAL? TEMP13 0 + PHRASE11 (TYPE FIX)>
+                   <DEAD TEMP13>
+                   <FRAME '\1aDUMP-WRITE-BUFFER>
+                   <NTHUV TTY4 5 = STACK>
+                   <CALL '\1aDUMP-WRITE-BUFFER 1>
+PHRASE11
+                   <NTHUV TTY4 5 = TEMP13 (TYPE TTY-CHANNEL)>
+                   <DEAD TTY4>
+                   <NTHUV TEMP13 6 = TEMP13 (TYPE FIX)>
+                   <SYSOP 'VTSOP TEMP13 15 = TEMP13>
+                   <RETURN TEMP13>
+                   <DEAD TEMP13>
+                   <END \1aCLEAR-EOL>
+#WORD *21014113306*
+<GFCN \1aCLEAR-EOS ("VALUE" ANY CHANNEL ANY) TTY4 OPER5>
+                   <TEMP TEMP13>
+                   <INTGO>
+                   <NTHUV TTY4 5 = TEMP13 (TYPE TTY-CHANNEL)>
+                   <NTHUV TEMP13 7 = TEMP13>
+                   <TYPE? TEMP13 <TYPE-CODE FALSE> + PHRASE11>
+                   <DEAD TEMP13>
+                   <NTHUV TTY4 5 = TEMP13 (TYPE TTY-CHANNEL)>
+                   <NTHUV TEMP13 8 = TEMP13 (TYPE FIX)>
+                   <VEQUAL? TEMP13 0 + PHRASE11 (TYPE FIX)>
+                   <DEAD TEMP13>
+                   <FRAME '\1aDUMP-WRITE-BUFFER>
+                   <NTHUV TTY4 5 = STACK>
+                   <CALL '\1aDUMP-WRITE-BUFFER 1>
+PHRASE11
+                   <NTHUV TTY4 5 = TEMP13 (TYPE TTY-CHANNEL)>
+                   <DEAD TTY4>
+                   <NTHUV TEMP13 6 = TEMP13 (TYPE FIX)>
+                   <SYSOP 'VTSOP TEMP13 14 = TEMP13>
+                   <RETURN TEMP13>
+                   <DEAD TEMP13>
+                   <END \1aCLEAR-EOS>
+#WORD *10147325646*
+<GFCN \1aFRESH-LINE ("VALUE" ANY CHANNEL ANY "OPTIONAL" FIX) TTY6 OPER7 N8>
+                   <OPT-DISPATCH 2 %<> OPT4 OPT5>
+OPT4
+                   <PUSH 1>
+OPT5
+                   <TEMP SU11>
+                   <INTGO>
+                   <NTHUV TTY6 6 = SU11>
+                   <TYPE? SU11 <TYPE-CODE MUD-CHAN> - PHRASE14>
+                   <PUTUV SU11 2 0 (TYPE FIX)>
+                   <DEAD SU11>
+PHRASE14
+                   <NTHUV TTY6 5 = SU11 (TYPE TTY-CHANNEL)>
+                   <NTHUV SU11 7 = SU11>
+                   <TYPE? SU11 <TYPE-CODE FALSE> + PHRASE20>
+                   <DEAD SU11>
+                   <NTHUV TTY6 5 = SU11 (TYPE TTY-CHANNEL)>
+                   <NTHUV SU11 8 = SU11 (TYPE FIX)>
+                   <VEQUAL? SU11 0 + PHRASE20 (TYPE FIX)>
+                   <DEAD SU11>
+                   <FRAME '\1aDUMP-WRITE-BUFFER>
+                   <NTHUV TTY6 5 = STACK>
+                   <CALL '\1aDUMP-WRITE-BUFFER 1>
+PHRASE20
+                   <NTHUV TTY6 5 = SU11 (TYPE TTY-CHANNEL)>
+                   <DEAD TTY6>
+                   <NTHUV SU11 6 = SU11 (TYPE FIX)>
+                   <SYSOP 'VTSOP SU11 17179869194 N8 = SU11>
+                   <DEAD N8>
+                   <RETURN SU11>
+                   <DEAD SU11>
+                   <END \1aFRESH-LINE>
+#WORD *21264113046*
+<GFCN \1aKILL-CHAR ("VALUE" ANY CHANNEL ANY) TTY4 OPER5>
+                   <TEMP TEMP13>
+                   <INTGO>
+                   <NTHUV TTY4 5 = TEMP13 (TYPE TTY-CHANNEL)>
+                   <NTHUV TEMP13 7 = TEMP13>
+                   <TYPE? TEMP13 <TYPE-CODE FALSE> + PHRASE11>
+                   <DEAD TEMP13>
+                   <NTHUV TTY4 5 = TEMP13 (TYPE TTY-CHANNEL)>
+                   <NTHUV TEMP13 8 = TEMP13 (TYPE FIX)>
+                   <VEQUAL? TEMP13 0 + PHRASE11 (TYPE FIX)>
+                   <DEAD TEMP13>
+                   <FRAME '\1aDUMP-WRITE-BUFFER>
+                   <NTHUV TTY4 5 = STACK>
+                   <CALL '\1aDUMP-WRITE-BUFFER 1>
+PHRASE11
+                   <NTHUV TTY4 5 = TEMP13 (TYPE TTY-CHANNEL)>
+                   <DEAD TTY4>
+                   <NTHUV TEMP13 6 = TEMP13 (TYPE FIX)>
+                   <SYSOP 'VTSOP TEMP13 16 = TEMP13>
+                   <RETURN TEMP13>
+                   <DEAD TEMP13>
+                   <END \1aKILL-CHAR>
+#WORD *12640147511*
+<GFCN \1aERASE-CHAR ("VALUE" ANY CHANNEL ANY "OPTIONAL" FIX) TTY6 OPER7 N8>
+                   <OPT-DISPATCH 2 %<> OPT4 OPT5>
+OPT4
+                   <PUSH 1>
+OPT5
+                   <TEMP SU9 TEMP16>
+                   <INTGO>
+                   <NTHUV TTY6 6 = SU9>
+                   <TYPE? SU9 <TYPE-CODE MUD-CHAN> - PHRASE15>
+                   <NTHUV SU9 2 = TEMP16 (TYPE FIX)>
+                   <SUB TEMP16 N8 = TEMP16 (TYPE FIX)>
+                   <PUTUV SU9 2 TEMP16 (TYPE FIX)>
+                   <DEAD SU9 TEMP16>
+PHRASE15
+                   <NTHUV TTY6 5 = SU9 (TYPE TTY-CHANNEL)>
+                   <NTHUV SU9 7 = SU9>
+                   <TYPE? SU9 <TYPE-CODE FALSE> + PHRASE21>
+                   <DEAD SU9>
+                   <NTHUV TTY6 5 = SU9 (TYPE TTY-CHANNEL)>
+                   <NTHUV SU9 8 = SU9 (TYPE FIX)>
+                   <VEQUAL? SU9 0 + PHRASE21 (TYPE FIX)>
+                   <DEAD SU9>
+                   <FRAME '\1aDUMP-WRITE-BUFFER>
+                   <NTHUV TTY6 5 = STACK>
+                   <CALL '\1aDUMP-WRITE-BUFFER 1>
+PHRASE21
+                   <NTHUV TTY6 5 = SU9 (TYPE TTY-CHANNEL)>
+                   <DEAD TTY6>
+                   <NTHUV SU9 6 = SU9 (TYPE FIX)>
+                   <SYSOP 'VTSOP SU9 17179869201 N8 = TEMP16>
+                   <DEAD SU9 N8>
+                   <RETURN TEMP16>
+                   <DEAD TEMP16>
+                   <END \1aERASE-CHAR>
+\\f
+
+"SUBTITLE Cursor movement of various sorts"
+
+#WORD *36225716445*
+<GFCN \1aHOME-CURSOR ("VALUE" ANY CHANNEL ANY) TTY4 OPER5>
+                   <TEMP SU8>
+                   <INTGO>
+                   <NTHUV TTY4 6 = SU8>
+                   <TYPE? SU8 <TYPE-CODE MUD-CHAN> - PHRASE11>
+                   <PUTUV SU8 4 0 (TYPE FIX)>
+                   <PUTUV SU8 2 0 (TYPE FIX)>
+                   <DEAD SU8>
+PHRASE11
+                   <NTHUV TTY4 5 = SU8 (TYPE TTY-CHANNEL)>
+                   <NTHUV SU8 7 = SU8>
+                   <TYPE? SU8 <TYPE-CODE FALSE> + PHRASE17>
+                   <DEAD SU8>
+                   <NTHUV TTY4 5 = SU8 (TYPE TTY-CHANNEL)>
+                   <NTHUV SU8 8 = SU8 (TYPE FIX)>
+                   <VEQUAL? SU8 0 + PHRASE17 (TYPE FIX)>
+                   <DEAD SU8>
+                   <FRAME '\1aDUMP-WRITE-BUFFER>
+                   <NTHUV TTY4 5 = STACK>
+                   <CALL '\1aDUMP-WRITE-BUFFER 1>
+PHRASE17
+                   <NTHUV TTY4 5 = SU8 (TYPE TTY-CHANNEL)>
+                   <DEAD TTY4>
+                   <NTHUV SU8 6 = SU8 (TYPE FIX)>
+                   <SYSOP 'VTSOP SU8 8 = SU8>
+                   <RETURN SU8>
+                   <DEAD SU8>
+                   <END \1aHOME-CURSOR>
+#WORD *11170313764*
+<GFCN \1aBOTTOM-CURSOR ("VALUE" ANY CHANNEL ANY) TTY4 OPER5>
+                   <TEMP SU8>
+                   <INTGO>
+                   <NTHUV TTY4 6 = SU8>
+                   <TYPE? SU8 <TYPE-CODE MUD-CHAN> - PHRASE11>
+                   <PUTUV SU8 2 0 (TYPE FIX)>
+                   <DEAD SU8>
+PHRASE11
+                   <NTHUV TTY4 5 = SU8 (TYPE TTY-CHANNEL)>
+                   <NTHUV SU8 7 = SU8>
+                   <TYPE? SU8 <TYPE-CODE FALSE> + PHRASE17>
+                   <DEAD SU8>
+                   <NTHUV TTY4 5 = SU8 (TYPE TTY-CHANNEL)>
+                   <NTHUV SU8 8 = SU8 (TYPE FIX)>
+                   <VEQUAL? SU8 0 + PHRASE17 (TYPE FIX)>
+                   <DEAD SU8>
+                   <FRAME '\1aDUMP-WRITE-BUFFER>
+                   <NTHUV TTY4 5 = STACK>
+                   <CALL '\1aDUMP-WRITE-BUFFER 1>
+PHRASE17
+                   <NTHUV TTY4 5 = SU8 (TYPE TTY-CHANNEL)>
+                   <DEAD TTY4>
+                   <NTHUV SU8 6 = SU8 (TYPE FIX)>
+                   <SYSOP 'VTSOP SU8 9 = SU8>
+                   <RETURN SU8>
+                   <DEAD SU8>
+                   <END \1aBOTTOM-CURSOR>
+#WORD *17565616014*
+<GFCN \1aHOR-POS-CURSOR ("VALUE" ANY CHANNEL ANY ANY) TTY4 OPER5 X6>
+                   <TEMP SU9>
+                   <INTGO>
+                   <NTHUV TTY4 6 = SU9>
+                   <TYPE? SU9 <TYPE-CODE MUD-CHAN> - PHRASE12>
+                   <PUTUV SU9 2 X6>
+                   <DEAD SU9>
+PHRASE12
+                   <NTHUV TTY4 5 = SU9 (TYPE TTY-CHANNEL)>
+                   <NTHUV SU9 7 = SU9>
+                   <TYPE? SU9 <TYPE-CODE FALSE> + PHRASE18>
+                   <DEAD SU9>
+                   <NTHUV TTY4 5 = SU9 (TYPE TTY-CHANNEL)>
+                   <NTHUV SU9 8 = SU9 (TYPE FIX)>
+                   <VEQUAL? SU9 0 + PHRASE18 (TYPE FIX)>
+                   <DEAD SU9>
+                   <FRAME '\1aDUMP-WRITE-BUFFER>
+                   <NTHUV TTY4 5 = STACK>
+                   <CALL '\1aDUMP-WRITE-BUFFER 1>
+PHRASE18
+                   <NTHUV TTY4 5 = SU9 (TYPE TTY-CHANNEL)>
+                   <DEAD TTY4>
+                   <NTHUV SU9 6 = SU9 (TYPE FIX)>
+                   <SYSOP 'VTSOP SU9 17179869189 X6 = SU9>
+                   <DEAD X6>
+                   <RETURN SU9>
+                   <DEAD SU9>
+                   <END \1aHOR-POS-CURSOR>
+#WORD *32660202735*
+<GFCN \1aVER-POS-CURSOR ("VALUE" ANY CHANNEL ANY ANY) TTY4 OPER5 Y6>
+                   <TEMP SU9>
+                   <INTGO>
+                   <NTHUV TTY4 6 = SU9>
+                   <TYPE? SU9 <TYPE-CODE MUD-CHAN> - PHRASE12>
+                   <PUTUV SU9 4 Y6>
+                   <DEAD SU9>
+PHRASE12
+                   <NTHUV TTY4 5 = SU9 (TYPE TTY-CHANNEL)>
+                   <NTHUV SU9 7 = SU9>
+                   <TYPE? SU9 <TYPE-CODE FALSE> + PHRASE18>
+                   <DEAD SU9>
+                   <NTHUV TTY4 5 = SU9 (TYPE TTY-CHANNEL)>
+                   <NTHUV SU9 8 = SU9 (TYPE FIX)>
+                   <VEQUAL? SU9 0 + PHRASE18 (TYPE FIX)>
+                   <DEAD SU9>
+                   <FRAME '\1aDUMP-WRITE-BUFFER>
+                   <NTHUV TTY4 5 = STACK>
+                   <CALL '\1aDUMP-WRITE-BUFFER 1>
+PHRASE18
+                   <NTHUV TTY4 5 = SU9 (TYPE TTY-CHANNEL)>
+                   <DEAD TTY4>
+                   <NTHUV SU9 6 = SU9 (TYPE FIX)>
+                   <SYSOP 'VTSOP SU9 17179869190 Y6 = SU9>
+                   <DEAD Y6>
+                   <RETURN SU9>
+                   <DEAD SU9>
+                   <END \1aVER-POS-CURSOR>
+#WORD *16213765566*
+<GFCN \1aMOVE-CURSOR ("VALUE" ANY CHANNEL ANY ANY ANY) TTY4 OPER5 X6 Y7>
+                   <TEMP CD8 SU11 TEMP27:FIX>
+                   <INTGO>
+                   <NTHUV TTY4 5 = CD8 (TYPE TTY-CHANNEL)>
+                   <NTHUV TTY4 6 = SU11>
+                   <DEAD TTY4>
+                   <TYPE? SU11 <TYPE-CODE MUD-CHAN> - PHRASE14>
+                   <PUTUV SU11 4 Y7>
+                   <PUTUV SU11 2 X6>
+                   <DEAD SU11>
+PHRASE14
+                   <NTHUV CD8 6 = SU11 (TYPE FIX)>
+                   <SYSOP 'SFPOS SU11 -1>
+                   <DEAD SU11>
+                   <NTHUV CD8 7 = SU11>
+                   <TYPE? SU11 <TYPE-CODE FALSE> + PHRASE20>
+                   <DEAD SU11>
+                   <NTHUV CD8 8 = SU11 (TYPE FIX)>
+                   <VEQUAL? SU11 0 + PHRASE20 (TYPE FIX)>
+                   <DEAD SU11>
+                   <FRAME '\1aDUMP-WRITE-BUFFER>
+                   <PUSH CD8>
+                   <CALL '\1aDUMP-WRITE-BUFFER 1>
+PHRASE20
+                   <NTHUV CD8 6 = SU11 (TYPE FIX)>
+                   <DEAD CD8>
+                   <LSH Y7 18 = CD8 (TYPE FIX)>
+                   <DEAD Y7>
+                   <AND X6 #WORD *777777* = TEMP27>
+                   <DEAD X6>
+                   <OR CD8 TEMP27 = CD8>
+                   <DEAD TEMP27>
+                   <SYSOP 'VTSOP SU11 17179869191 CD8 = SU11>
+                   <DEAD CD8>
+                   <RETURN SU11>
+                   <DEAD SU11>
+                   <END \1aMOVE-CURSOR>
+#WORD *31663022755*
+<GFCN \1aBACK-CURSOR ("VALUE" ANY CHANNEL ANY "OPTIONAL" FIX) TTY6 OPER7 N8>
+                   <OPT-DISPATCH 2 %<> OPT4 OPT5>
+OPT4
+                   <PUSH 1>
+OPT5
+                   <TEMP SU11 TEMP15>
+                   <INTGO>
+                   <NTHUV TTY6 6 = SU11>
+                   <TYPE? SU11 <TYPE-CODE MUD-CHAN> - PHRASE14>
+                   <NTHUV SU11 2 = TEMP15 (TYPE FIX)>
+                   <SUB TEMP15 N8 = TEMP15 (TYPE FIX)>
+                   <PUTUV SU11 2 TEMP15 (TYPE FIX)>
+                   <DEAD SU11 TEMP15>
+PHRASE14
+                   <NTHUV TTY6 5 = SU11 (TYPE TTY-CHANNEL)>
+                   <NTHUV SU11 7 = SU11>
+                   <TYPE? SU11 <TYPE-CODE FALSE> + PHRASE20>
+                   <DEAD SU11>
+                   <NTHUV TTY6 5 = SU11 (TYPE TTY-CHANNEL)>
+                   <NTHUV SU11 8 = SU11 (TYPE FIX)>
+                   <VEQUAL? SU11 0 + PHRASE20 (TYPE FIX)>
+                   <DEAD SU11>
+                   <FRAME '\1aDUMP-WRITE-BUFFER>
+                   <NTHUV TTY6 5 = STACK>
+                   <CALL '\1aDUMP-WRITE-BUFFER 1>
+PHRASE20
+                   <NTHUV TTY6 5 = SU11 (TYPE TTY-CHANNEL)>
+                   <DEAD TTY6>
+                   <NTHUV SU11 6 = SU11 (TYPE FIX)>
+                   <SYSOP 'VTSOP SU11 17179869186 N8 = TEMP15>
+                   <DEAD SU11 N8>
+                   <RETURN TEMP15>
+                   <DEAD TEMP15>
+                   <END \1aBACK-CURSOR>
+#WORD *12050574065*
+<GFCN \1aDOWN-CURSOR ("VALUE" ANY CHANNEL ANY "OPTIONAL" FIX) TTY6 OPER7 N8>
+                   <OPT-DISPATCH 2 %<> OPT4 OPT5>
+OPT4
+                   <PUSH 1>
+OPT5
+                   <TEMP SU11 TEMP15>
+                   <INTGO>
+                   <NTHUV TTY6 6 = SU11>
+                   <TYPE? SU11 <TYPE-CODE MUD-CHAN> - PHRASE14>
+                   <NTHUV SU11 4 = TEMP15 (TYPE FIX)>
+                   <ADD TEMP15 N8 = TEMP15 (TYPE FIX)>
+                   <PUTUV SU11 4 TEMP15 (TYPE FIX)>
+                   <DEAD SU11 TEMP15>
+PHRASE14
+                   <NTHUV TTY6 5 = SU11 (TYPE TTY-CHANNEL)>
+                   <NTHUV SU11 7 = SU11>
+                   <TYPE? SU11 <TYPE-CODE FALSE> + PHRASE20>
+                   <DEAD SU11>
+                   <NTHUV TTY6 5 = SU11 (TYPE TTY-CHANNEL)>
+                   <NTHUV SU11 8 = SU11 (TYPE FIX)>
+                   <VEQUAL? SU11 0 + PHRASE20 (TYPE FIX)>
+                   <DEAD SU11>
+                   <FRAME '\1aDUMP-WRITE-BUFFER>
+                   <NTHUV TTY6 5 = STACK>
+                   <CALL '\1aDUMP-WRITE-BUFFER 1>
+PHRASE20
+                   <NTHUV TTY6 5 = SU11 (TYPE TTY-CHANNEL)>
+                   <DEAD TTY6>
+                   <NTHUV SU11 6 = SU11 (TYPE FIX)>
+                   <SYSOP 'VTSOP SU11 17179869188 N8 = TEMP15>
+                   <DEAD SU11 N8>
+                   <RETURN TEMP15>
+                   <DEAD TEMP15>
+                   <END \1aDOWN-CURSOR>
+#WORD *7016423674*
+<GFCN \1aUP-CURSOR ("VALUE" ANY CHANNEL ANY "OPTIONAL" FIX) TTY6 OPER7 N8>
+                   <OPT-DISPATCH 2 %<> OPT4 OPT5>
+OPT4
+                   <PUSH 1>
+OPT5
+                   <TEMP SU11 TEMP15>
+                   <INTGO>
+                   <NTHUV TTY6 6 = SU11>
+                   <TYPE? SU11 <TYPE-CODE MUD-CHAN> - PHRASE14>
+                   <NTHUV SU11 4 = TEMP15 (TYPE FIX)>
+                   <SUB TEMP15 N8 = TEMP15 (TYPE FIX)>
+                   <PUTUV SU11 4 TEMP15 (TYPE FIX)>
+                   <DEAD SU11 TEMP15>
+PHRASE14
+                   <NTHUV TTY6 5 = SU11 (TYPE TTY-CHANNEL)>
+                   <NTHUV SU11 7 = SU11>
+                   <TYPE? SU11 <TYPE-CODE FALSE> + PHRASE20>
+                   <DEAD SU11>
+                   <NTHUV TTY6 5 = SU11 (TYPE TTY-CHANNEL)>
+                   <NTHUV SU11 8 = SU11 (TYPE FIX)>
+                   <VEQUAL? SU11 0 + PHRASE20 (TYPE FIX)>
+                   <DEAD SU11>
+                   <FRAME '\1aDUMP-WRITE-BUFFER>
+                   <NTHUV TTY6 5 = STACK>
+                   <CALL '\1aDUMP-WRITE-BUFFER 1>
+PHRASE20
+                   <NTHUV TTY6 5 = SU11 (TYPE TTY-CHANNEL)>
+                   <DEAD TTY6>
+                   <NTHUV SU11 6 = SU11 (TYPE FIX)>
+                   <SYSOP 'VTSOP SU11 17179869187 N8 = TEMP15>
+                   <DEAD SU11 N8>
+                   <RETURN TEMP15>
+                   <DEAD TEMP15>
+                   <END \1aUP-CURSOR>
+#WORD *10415105544*
+<GFCN \1aFORWARD-CURSOR ("VALUE" ANY CHANNEL ANY "OPTIONAL" FIX) TTY6 OPER7 N8>
+                   <OPT-DISPATCH 2 %<> OPT4 OPT5>
+OPT4
+                   <PUSH 1>
+OPT5
+                   <TEMP SU11 TEMP15>
+                   <INTGO>
+                   <NTHUV TTY6 6 = SU11>
+                   <TYPE? SU11 <TYPE-CODE MUD-CHAN> - PHRASE14>
+                   <NTHUV SU11 2 = TEMP15 (TYPE FIX)>
+                   <ADD TEMP15 N8 = TEMP15 (TYPE FIX)>
+                   <PUTUV SU11 2 TEMP15 (TYPE FIX)>
+                   <DEAD SU11 TEMP15>
+PHRASE14
+                   <NTHUV TTY6 5 = SU11 (TYPE TTY-CHANNEL)>
+                   <NTHUV SU11 7 = SU11>
+                   <TYPE? SU11 <TYPE-CODE FALSE> + PHRASE20>
+                   <DEAD SU11>
+                   <NTHUV TTY6 5 = SU11 (TYPE TTY-CHANNEL)>
+                   <NTHUV SU11 8 = SU11 (TYPE FIX)>
+                   <VEQUAL? SU11 0 + PHRASE20 (TYPE FIX)>
+                   <DEAD SU11>
+                   <FRAME '\1aDUMP-WRITE-BUFFER>
+                   <NTHUV TTY6 5 = STACK>
+                   <CALL '\1aDUMP-WRITE-BUFFER 1>
+PHRASE20
+                   <NTHUV TTY6 5 = SU11 (TYPE TTY-CHANNEL)>
+                   <DEAD TTY6>
+                   <NTHUV SU11 6 = SU11 (TYPE FIX)>
+                   <SYSOP 'VTSOP SU11 17179869185 N8 = TEMP15>
+                   <DEAD SU11 N8>
+                   <RETURN TEMP15>
+                   <DEAD TEMP15>
+                   <END \1aFORWARD-CURSOR>
+\\f
+
+#WORD *21054111326*
+<GFCN \1aSAVE-CURSOR ("VALUE" ANY CHANNEL ANY) TTY4 OPER5>
+                   <TEMP TEMP13>
+                   <INTGO>
+                   <NTHUV TTY4 5 = TEMP13 (TYPE TTY-CHANNEL)>
+                   <NTHUV TEMP13 7 = TEMP13>
+                   <TYPE? TEMP13 <TYPE-CODE FALSE> + PHRASE11>
+                   <DEAD TEMP13>
+                   <NTHUV TTY4 5 = TEMP13 (TYPE TTY-CHANNEL)>
+                   <NTHUV TEMP13 8 = TEMP13 (TYPE FIX)>
+                   <VEQUAL? TEMP13 0 + PHRASE11 (TYPE FIX)>
+                   <DEAD TEMP13>
+                   <FRAME '\1aDUMP-WRITE-BUFFER>
+                   <NTHUV TTY4 5 = STACK>
+                   <CALL '\1aDUMP-WRITE-BUFFER 1>
+PHRASE11
+                   <NTHUV TTY4 5 = TEMP13 (TYPE TTY-CHANNEL)>
+                   <DEAD TTY4>
+                   <NTHUV TEMP13 6 = TEMP13 (TYPE FIX)>
+                   <SYSOP 'VTSOP TEMP13 11 = TEMP13>
+                   <RETURN TEMP13>
+                   <DEAD TEMP13>
+                   <END \1aSAVE-CURSOR>
+#WORD *21014111306*
+<GFCN \1aRESTORE-CURSOR ("VALUE" ANY CHANNEL ANY) TTY4 OPER5>
+                   <TEMP TEMP13>
+                   <INTGO>
+                   <NTHUV TTY4 5 = TEMP13 (TYPE TTY-CHANNEL)>
+                   <NTHUV TEMP13 7 = TEMP13>
+                   <TYPE? TEMP13 <TYPE-CODE FALSE> + PHRASE11>
+                   <DEAD TEMP13>
+                   <NTHUV TTY4 5 = TEMP13 (TYPE TTY-CHANNEL)>
+                   <NTHUV TEMP13 8 = TEMP13 (TYPE FIX)>
+                   <VEQUAL? TEMP13 0 + PHRASE11 (TYPE FIX)>
+                   <DEAD TEMP13>
+                   <FRAME '\1aDUMP-WRITE-BUFFER>
+                   <NTHUV TTY4 5 = STACK>
+                   <CALL '\1aDUMP-WRITE-BUFFER 1>
+PHRASE11
+                   <NTHUV TTY4 5 = TEMP13 (TYPE TTY-CHANNEL)>
+                   <DEAD TTY4>
+                   <NTHUV TEMP13 6 = TEMP13 (TYPE FIX)>
+                   <SYSOP 'VTSOP TEMP13 12 = TEMP13>
+                   <RETURN TEMP13>
+                   <DEAD TEMP13>
+                   <END \1aRESTORE-CURSOR>
+#WORD *6333473470*
+<GFCN \1aTTY-PAD ("VALUE" ATOM CHANNEL ANY FIX) TTY4 OPER5 AMT6>
+                   <TEMP DATA7 TB19>
+                   <INTGO>
+                   <NTHUV TTY4 5 = DATA7 (TYPE TTY-CHANNEL)>
+                   <NTHUV DATA7 6 = DATA7 (TYPE FIX)>
+                   <SYSOP 'MTOPR DATA7 23 (RETURN 3) = DATA7>
+                   <TYPE? DATA7 <TYPE-CODE FALSE> + BOOL11>
+                   <VEQUAL? DATA7 -1 - PHRASE10 (TYPE FIX)>
+BOOL11
+                   <SET DATA7 9600 (TYPE FIX)>
+PHRASE10
+                   <AND DATA7 #WORD *777777* = DATA7>
+                   <MUL DATA7 AMT6 = DATA7 (TYPE FIX)>
+                   <DEAD AMT6>
+                   <FLOAT DATA7 = DATA7 (TYPE FLOAT)>
+                   <DIVF DATA7 7000.0 = DATA7 (TYPE FLOAT)>
+                   <FIX DATA7 = AMT6 (TYPE FIX)>
+                   <DEAD DATA7>
+                   <FRAME '\1aTTY-SET-IMAGE>
+                   <PUSH TTY4>
+                   <PUSH 'PAD>
+                   <PUSH 'T>
+                   <CALL '\1aTTY-SET-IMAGE 3>
+                   <GVAL 'BUFSTR = DATA7>
+                   <SET TB19 DATA7>
+                   <LOOP>
+AGAIN20
+                   <INTGO>
+                   <VEQUAL? AMT6 0 - PHRASE22 (TYPE FIX)>
+                   <VEQUAL? TB19 DATA7 + PHRASE26>
+                   <FRAME '\1aTWAY-WRITE-BUFFER>
+                   <PUSH TTY4>
+                   <DEAD TTY4>
+                   <PUSH OPER5>
+                   <DEAD OPER5>
+                   <PUSH TB19>
+                   <LENUS TB19 = TB19 (TYPE FIX)>
+                   <LENUS DATA7 = DATA7 (TYPE FIX)>
+                   <SUB TB19 DATA7 = STACK (TYPE FIX)>
+                   <DEAD TB19 DATA7>
+                   <CALL '\1aTWAY-WRITE-BUFFER 4>
+PHRASE26
+                   <RETURN 'T>
+PHRASE22
+                   <EMPUS? DATA7 - PHRASE31 (TYPE STRING)>
+                   <FRAME '\1aTWAY-WRITE-BUFFER>
+                   <PUSH TTY4>
+                   <PUSH OPER5>
+                   <PUSH TB19>
+                   <CALL '\1aTWAY-WRITE-BUFFER 3>
+                   <SET DATA7 TB19>
+PHRASE31
+                   <PUTUS DATA7 1 !\\0>
+                   <RESTUS DATA7 1 = DATA7 (TYPE STRING)>
+                   <SUB AMT6 1 = AMT6 (TYPE FIX)>
+                   <JUMP + AGAIN20>
+                   <END \1aTTY-PAD>
+#WORD *14072610502*
+<GFCN \1aTTY-TYPE-CHAR ("VALUE" CHARACTER CHANNEL ANY CHARACTER) CHANNEL4 OPER5 CHAR6>
+                   <TEMP DATA7:TTY-CHANNEL Q8 QC9:FIX TEMP15>
+                   <INTGO>
+                   <NTHUV CHANNEL4 5 = DATA7 (TYPE TTY-CHANNEL)>
+                   <DEAD CHANNEL4>
+                   <NTHUV DATA7 11 = Q8>
+                   <NTHUV DATA7 12 = QC9 (TYPE FIX)>
+                   <TYPE? Q8 <TYPE-CODE FALSE> - PHRASE11>
+                   <PUTUV DATA7 11 CHAR6>
+                   <PUTUV DATA7 12 1 (TYPE FIX)>
+                   <DEAD DATA7>
+                   <RETURN CHAR6>
+                   <DEAD CHAR6>
+PHRASE11
+                   <TYPE? Q8 <TYPE-CODE CHARACTER> - PHRASE12>
+                   <PUSH Q8>
+                   <DEAD Q8>
+                   <PUSH CHAR6>
+                   <PUSH "        ">
+                   <UBLOCK <TYPE-CODE STRING> 3 = Q8 (TYPE STRING)>
+                   <PUTUV DATA7 11 Q8>
+                   <DEAD Q8>
+                   <PUTUV DATA7 12 2 (TYPE FIX)>
+                   <DEAD DATA7>
+                   <RETURN CHAR6>
+                   <DEAD CHAR6>
+PHRASE12
+                   <LENUS Q8 = TEMP15 (TYPE FIX)>
+                   <VEQUAL? QC9 TEMP15 - PHRASE14 (TYPE FIX)>
+                   <DEAD TEMP15>
+                   <PUSH Q8>
+                   <DEAD Q8>
+                   <PUSH CHAR6>
+                   <PUSH "         ">
+                   <UBLOCK <TYPE-CODE STRING> 3 = TEMP15 (TYPE STRING)>
+                   <PUTUV DATA7 11 TEMP15>
+                   <DEAD TEMP15>
+                   <ADD QC9 1 = TEMP15 (TYPE FIX)>
+                   <DEAD QC9>
+                   <PUTUV DATA7 12 TEMP15 (TYPE FIX)>
+                   <DEAD DATA7 TEMP15>
+                   <RETURN CHAR6>
+                   <DEAD CHAR6>
+PHRASE14
+                   <ADD QC9 1 = QC9 (TYPE FIX)>
+                   <PUTUS Q8 QC9 CHAR6>
+                   <DEAD Q8>
+                   <PUTUV DATA7 12 QC9 (TYPE FIX)>
+                   <DEAD DATA7 QC9>
+                   <RETURN CHAR6>
+                   <DEAD CHAR6>
+                   <END \1aTTY-TYPE-CHAR>
+#WORD *5030413504*
+<GFCN \1aGET-QUEUE-CHAR ("VALUE" ANY TTY-CHANNEL) DATA4>
+                   <TEMP CT6 TEMP9>
+                   <INTGO>
+                   <NTHUV DATA4 12 = CT6 (TYPE FIX)>
+                   <GRTR? CT6 0 + TAG10 (TYPE FIX)>
+                   <RETURN %<>>
+TAG10
+                   <SUB CT6 1 = CT6 (TYPE FIX)>
+                   <PUTUV DATA4 12 CT6 (TYPE FIX)>
+                   <NTHUV DATA4 11 = TEMP9>
+                   <TYPE? TEMP9 <TYPE-CODE CHARACTER> - PHRASE14>
+                   <PUTUV DATA4 11 %<>>
+                   <DEAD DATA4>
+                   <JUMP + COND16>
+PHRASE14
+                   <NTH1 TEMP9 = TEMP9>
+                   <VEQUAL? CT6 0 - PHRASE17 (TYPE FIX)>
+                   <DEAD CT6>
+                   <NTHUV DATA4 11 = CT6>
+                   <TOPU CT6 = CT6>
+                   <PUTUV DATA4 11 CT6>
+                   <DEAD DATA4 CT6>
+                   <JUMP + COND16>
+PHRASE17
+                   <NTHUV DATA4 11 = CT6>
+                   <REST1 CT6 = CT6>
+                   <PUTUV DATA4 11 CT6>
+                   <DEAD DATA4 CT6>
+COND16
+                   <RETURN TEMP9>
+                   <DEAD TEMP9>
+                   <END \1aGET-QUEUE-CHAR>
+\\f
+
+#WORD *2072607277*
+<GFCN \1aTTY-PRINT-DATA ("VALUE" CHARACTER CHANNEL ANY ANY) TTY4 OPER5 OUTCHAN6>
+                   <TEMP DATA7:TTY-CHANNEL TEMP13>
+                   <INTGO>
+                   <NTHUV TTY4 5 = DATA7 (TYPE TTY-CHANNEL)>
+                   <DEAD TTY4>
+                   <FRAME '\1aPRINC>
+                   <PUSH "#TTY-CHANNEL [">
+                   <PUSH OUTCHAN6>
+                   <CALL '\1aPRINC 2>
+                   <FRAME '\1aPRINC>
+                   <PUSH "JFN:">
+                   <PUSH OUTCHAN6>
+                   <CALL '\1aPRINC 2>
+                   <NTHUV DATA7 1 = TEMP13 (TYPE FIX)>
+                   <VEQUAL? TEMP13 64 - PHRASE12 (TYPE FIX)>
+                   <DEAD TEMP13>
+                   <FRAME '\1aPRINC>
+                   <PUSH "PRIMARY">
+                   <PUSH OUTCHAN6>
+                   <CALL '\1aPRINC 2>
+                   <JUMP + PHRASE15>
+PHRASE12
+                   <FRAME '\1aPRIN1>
+                   <NTHUV DATA7 1 = STACK (TYPE FIX)>
+                   <PUSH OUTCHAN6>
+                   <CALL '\1aPRIN1 2>
+PHRASE15
+                   <NTHUV DATA7 4 = TEMP13>
+                   <TYPE? TEMP13 <TYPE-CODE FALSE> + PHRASE18>
+                   <FRAME '\1aPRINC>
+                   <PUSH " RBUF:">
+                   <PUSH OUTCHAN6>
+                   <CALL '\1aPRINC 2>
+                   <FRAME '\1aPRIN1>
+                   <FRAME '\1aLENGTH>
+                   <TOPU TEMP13 = STACK>
+                   <CALL '\1aLENGTH 1 = STACK>
+                   <PUSH OUTCHAN6>
+                   <CALL '\1aPRIN1 2>
+                   <FRAME '\1aPRINC>
+                   <PUSH !\/>
+                   <PUSH OUTCHAN6>
+                   <CALL '\1aPRINC 2>
+                   <FRAME '\1aPRIN1>
+                   <LENUS TEMP13 = STACK (TYPE FIX)>
+                   <DEAD TEMP13>
+                   <PUSH OUTCHAN6>
+                   <CALL '\1aPRIN1 2>
+                   <FRAME '\1aPRINC>
+                   <PUSH !\/>
+                   <PUSH OUTCHAN6>
+                   <CALL '\1aPRINC 2>
+                   <FRAME '\1aPRIN1>
+                   <NTHUV DATA7 5 = STACK (TYPE FIX)>
+                   <PUSH OUTCHAN6>
+                   <CALL '\1aPRIN1 2>
+PHRASE18
+                   <NTHUV DATA7 7 = TEMP13>
+                   <TYPE? TEMP13 <TYPE-CODE FALSE> + PHRASE27>
+                   <FRAME '\1aPRINC>
+                   <PUSH " WBUF:">
+                   <PUSH OUTCHAN6>
+                   <CALL '\1aPRINC 2>
+                   <FRAME '\1aPRIN1>
+                   <FRAME '\1aLENGTH>
+                   <TOPU TEMP13 = STACK>
+                   <CALL '\1aLENGTH 1 = STACK>
+                   <PUSH OUTCHAN6>
+                   <CALL '\1aPRIN1 2>
+                   <FRAME '\1aPRINC>
+                   <PUSH !\/>
+                   <PUSH OUTCHAN6>
+                   <CALL '\1aPRINC 2>
+                   <FRAME '\1aPRIN1>
+                   <LENUS TEMP13 = STACK (TYPE FIX)>
+                   <DEAD TEMP13>
+                   <PUSH OUTCHAN6>
+                   <CALL '\1aPRIN1 2>
+                   <FRAME '\1aPRINC>
+                   <PUSH !\/>
+                   <PUSH OUTCHAN6>
+                   <CALL '\1aPRINC 2>
+                   <FRAME '\1aPRIN1>
+                   <NTHUV DATA7 8 = STACK (TYPE FIX)>
+                   <PUSH OUTCHAN6>
+                   <CALL '\1aPRIN1 2>
+PHRASE27
+                   <FRAME '\1aPRINC>
+                   <PUSH " RFCUR:">
+                   <PUSH OUTCHAN6>
+                   <CALL '\1aPRINC 2>
+                   <FRAME '\1aPRIN1>
+                   <NTHUV DATA7 10 = STACK (TYPE FIX)>
+                   <DEAD DATA7>
+                   <PUSH OUTCHAN6>
+                   <CALL '\1aPRIN1 2>
+                   <FRAME '\1aPRINC>
+                   <PUSH !\]>
+                   <PUSH OUTCHAN6>
+                   <DEAD OUTCHAN6>
+                   <CALL '\1aPRINC 2 = TEMP13>
+                   <RETURN TEMP13>
+                   <DEAD TEMP13>
+                   <END \1aTTY-PRINT-DATA>
+<ENDPACKAGE>