.TITLE RSTDAT -- DATA FOR RSX/RSTS NETWORK TERMINAL .IDENT /X01.05/ ;* ;* LAST EDIT: ARK 3 JULY 80 ; ; COPYRIGHT (C) 1979,1980 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS. ; ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED ; OR COPIED IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE. ; ; VERSION X01.00 ; M.L. SPENCE ; MODIFIED FROM RVT PROGRAM, BY R. E. CALDWELL 15-DEC-79/11-JAN-80 ; ; ; REMOTE VIRTUAL TERMINAL ; ; THIS PROGRAM RUNS ON A LOCAL NODE (M/M-PLUS ONLY) TO ALLOW A TERMINAL ; TO APPEAR TO BE LOCALLY ATTACHED TO A REMOTE RSTS/E NODE. ; THE USER INTERFACE AND THE PROTOCOL OF THE DECNET/E "NET" TASK ARE USED. ; ; .SBTTL MACRO CALLS AND LOCAL CONSTANTS ; ; MACRO LIBRARY CALLS ; .MCALL GMCR$,ALUN$,GLUN$,SETF$ .MCALL QIO$,QIOW$ .MCALL GLNW$,DSCW$,ABT$ .MCALL CONB$$,CONW$,OPNW$,SPAW$ .MCALL SNDW$,RECW$ .MCALL NETDF$,CRBDF$,TTSYM$,FILIO$,SPCIO$ NETDF$ ; DEFINE NET SYMBOLICS CRBDF$ ; DEFINE CON BLOCK SYMBOLICS TTSYM$ ; DEFINE TT SYMBOLICS FILIO$ ; DEFINE NORMAL I/O SYMBOLICS SPCIO$ ; DEFINE SPECIAL I/O SYMBOLICS .PSECT $$CODE,RO,I ; ; EQUATED SYMBOLS ; $MXMSG == 540. ; MAX LINK MESSAGE SIZE $BFLVL == 1 ; BUFFERING LEVEL CTLC == 3. ; CONTROL C CRET == 13. ; CARRIAGE RETURN CTLP == 16. ; CONTROL P CTLU == 21. ; CONTROL U CTLY == 25. ; CONTROL Y CTLZ == 26. ; CONTROL Z RUBOUT == 127. ; RUBOUT (DEL) ; ; LUN ASSIGNMENTS ; TERM == 5 ; TI LUN NDATA == 1 ; LUN FOR NETWORK DATA QUEUE LINK == 2 ; LUN FOR LINK ; ; REMOTE DEVICE PROTOCOL DEFINITIONS ; ; DEFINED FOR RSTS NETWORK TERMINAL PACKAGE, "NET" AND "NPKDVR" ; .ASECT .=0 R.TYP:: .BLKB 1 ; MESSAGE TYPE RT.CFG==1 ; CONFIGURATION MSG RT.CTL==2 ; CONTROL MSG RT.UNS==3 ; UNSUPPORTED MSG RT.CON==4 ; CONTINUE MSG RT.DAT==5 ; DATA MESSAGE R.LEN:: .BLKB 2 ; MESSAGE LENGTH RM.HLEN==.-R.TYP ; LENGTH OF MESSAGE HEADER R.RES:: .BLKB 133. ; REST OF MESSAGE (SEE BELOW) RM.MAXLEN==.-R.TYP ; MAXIMUM MESSAGE LENGTH ; (ACTUALLY RSTS SENDS LONGER MSGS -- ; UP TO THE NSP MAX MSG LENGTH. ; BUT THIS IS THE MAX WE EVER SEND.) ; ; CONFIGURATION MESSAGE ; . = R.RES ;POINT TO REST OF MESSAGE (ABOVE) R.OST:: .BLKB 1 ; OPERATING SYSTEM TYPE RO.RT==1 ; RT-11 RO.RST==2 ; RSTS/E RO.RXS==3 ; RSX-11S RO.RXM==4 ; RSX-11M RO.RXD==5 ; RSX-11D RO.IAS==6 ; IAS RO.VMS==7 ; VMS R.VER:: .BLKB 5 ; VERSION NUMBERS R.MOD:: .BLKB 1 ; SESSION MODE R.MNU:: .BLKB 1 ; MENU FOR REST OF CONFIG MSG ; (NO MORE DEFINED NOW) ; ; CONTROL MESSAGE ; ; NOTE THAT SINCE ALL FIELDS EXCEPT THE MENU ARE OPTIONAL, ; THE OFFSETS ARE DEFINED HERE ONLY FOR DOCUMENTATION. ; . = R.RES ;POINT TO REST OF MESSAGE (ABOVE) R.MNL:: .BLKB 1 ; LENGTH OF VARIABLE-LENGTH MENU FIELD R.CMN:: .BLKB 6 ; MENU FOR CONTROL MESSAGE RC.ECH == 1 ; SET => ECHO FLAGS FIELD PRESENT RC.DLM == 2 ; SET => DELIMITER BIT MAP PRESENT RC.WID == 4 ; SET => WIDTH FIELD PRESENT RC.TYP == 10 ; SET => TERMINAL TYPE FIELD PRESENT RC.FIL == 20 ; SET => TERMINAL FILL CHAR COUNT PRESENT R.ECH:: .BLKB 1 ; ECHO FLAG BITS RE.OFF == 1 ; SET => LOCAL ECHO OFF (FROM HOST) RE.ONN == 2 ; SET => HOST ECHO ON, LOCAL OFF (FROM LOC) R.DLM:: .BLKB 32. ; DELIMITER CHARACTER BIT MAP ; BIT NUMBER = CHARACTER CODE ; ODT MODE = ALL ONES RD.CTC==000010 ; <^C> = 3. (WORD 0) RD.LF==002000 ; = 10. (WORD 0) RD.CR==020000 ; = 13. (WORD 0) RD.CTO==100000 ; <^O> = 15. (WORD 0) RD.CTT==000040 ; <^T> = 20. (WORD 1) RD.CTU==000100 ; <^U> = 21. (WORD 1) RD.CTY==001000 ; <^Y> = 25. (WORD 1) RD.CTZ==002000 ; <^Z> = 26. (WORD 1) RD.ESC==004000 ; = 27. (WORD 1) RD.DEL==100000 ; = 127. (WORD 7) R.WID:: .BLKB 2 ; WIDTH OF REAL TERMINAL (FROM TERMINAL SIDE) ; (ZERO FROM REMOTE HOST SIDE) R.TTP:: .BLKB 2 ; TERMINAL TYPE/FEATURE DEFINITIONS RP.ESC==1 ; SET => ESCAPE SEQUENCES RECOGNIZED RP.TAB==2 ; SET => TABS RECOGNIZED ; (NOT SET => TRANSLATE TABS TO SPACES) RP.LWI==4 ; SET => LOWER CASE INPUT IS OK RP.LWO==10 ; SET => LOWER CASE OUTPUT IS OK R.FIL:: .BLKB 2 ; COUNT OF FILL CHARACTERS REQUIRED BY TERM ; 0 => NO FILLING NECESSARY ; ; UNSUPPORTED MESSAGE ; . = R.RES ;POINT TO REST OF MESSAGE (ABOVE) R.ERR:: .BLKB 2 ; ERROR LOCATION OR CODE R.EMS:: .BLKB 130. ; ERROR MESSAGE ; ; CONTINUE MESSAGE ; ; THIS MESSAGE HAS NO FIELDS DEFINED. ; ; ; DATA MESSAGE ; . = R.RES ;POINT TO REST OF MESSAGE (ABOVE) R.DLN:: .BLKB 1 ; NUMBER OF BYTES OF DATA IN MSG R.DAT:: .BLKB 132. ; ACTUAL DATA FOR/FROM NETWORK .PSECT .SBTTL I/O CALLS FOR SYSTEM, IOSB'S AND BUFFERS .PSECT $$DATA,RW,D ; ; I/O SYSTEM DIRECTIVES ; GMCR:: GMCR$ ; GET COMMAND LINE .BLKW 4 ; SPACE FOR PMR STUFF ALUN:: ALUN$ ; ASSIGN NETWORK LUNS GLUN:: GLUN$ TERM,LBUF ; GET INFORMATION ABOUT USER TERMINAL SETEXI::SETF$ 3 ; SET FLAG TO START TASK EXIT PROCESSING ; ; I/O STATUS BLOCKS AND BUFFERS ; .EVEN IOSB:: .BLKW 2 ; IO STATUS FOR GENERAL USE NIOSB:: .BLKW 2 ; IOSB FOR NET DATA CTCIOS::.BLKW 2 ; IOSB FOR CONTROL-C MESSAGE TO HOST .EVEN CONBL:: CONB$$ ,23. ; CONNECT BLOCK .EVEN MBX:: .BLKB 40. ; NETWORK MAILBOX MBXLEN==.-MBX .EVEN CNFBUF::.BLKB 40. ; RECEIVE CONFIGURATION MESSAGE FROM HOST .SBTTL I/O CALLS FOR TERMINAL ; ; I/O TERMINAL DIRECTIVES ; NODQIO::QIOW$ IO.RPR,TERM,2,,IOSB,, ; PROMPT FOR REMOTE HOST NODE NAME(S) QIOKIL::QIOW$ IO.KIL,TERM,,,IOSB ;CANCEL ALL OUTSTANDING TERMINAL I/O QIOGTS::QIOW$ IO.GTS,TERM,2,,IOSB,, ; GET TERMINAL SUPPORT DATA QIOGMC::QIOW$ SF.GMC,TERM,2,,IOSB,, ; GET MULTIPLE CHARACTERISTICS FOR TERMINAL QIOATT::QIOW$ IO.ATA!TF.NOT!TF.ESQ,TERM,2,,IOSB,, ; ATTACH TERMINAL ; ; SEND CANNED RESPONSES TO TERMINAL ; QIOCRL::QIO$ IO.WAL,TERM,,,,, ; QIOCTC::QIO$ IO.WAL,TERM,,,,, ; CONTROL/C ; ; SEND TEXT OF LOCAL HELP AND ERROR MESSAGES ; QIOHLP::QIOW$ IO.WBT,TERM,2,,IOSB,, ; HELP TEXT QIOEMS::QIOW$ IO.WBT,TERM,2,,IOSB,, ; LOCAL ERROR ; ; INTERFACE TO PMR (POOR-MAN'S-ROUTING) ROUTINE ; PMRBLK::.BYTE LINK ;LOGICAL LINK .BYTE 5 ;EVENT FLAG .BYTE 0 ;HOP COUNT .BYTE 23. ;OBJECT TYPE .WORD 0 ;POINTER TO NODENAME STRING .WORD 0 ;POINTER TO TASK NAME .WORD 0 ;POINTER TO ACS STRING .SBTTL I/O TO REMOTE HOST ; ; GENERAL ACCESS ; OPNET:: OPNW$ NDATA,1,IOSB ; GET NETWORK ACCESS, MAILBOX CONNCT::CONW$ LINK,1,IOSB,, ; CONNECT TO REMOTE HOST DISCON::DSCW$ LINK,1,IOSB ; DISCONNECT LINK ABONET::ABT$ LINK,1,IOSB ; ABORT LINK GLND:: GLNW$ NDATA,1,IOSB,, ; GET LOCAL NODENAME NTDATA::SPAW$ NDATA,1,IOSB,, ; UNSOLICITED NETWORK DATA ; (DISCONNECT, ABORT FROM HOST) SNDCNF::SNDW$ LINK,1,IOSB,, ; SEND CONFIGURATION MSG RCVCNF::RECW$ LINK,1,IOSB,, ; RECEIVE CONFIGURATION MSG SNDINI::SNDW$ LINK,1,IOSB,, ; SEND INITIAL CONTROL MSG .SBTTL DATA ABOUT USER TERMINAL ; ; RESULT OF CALLS TO GET TERMINAL INFORMATION ; LBUF:: .BLKW 6 ; BUFFER FOR GLUN FOR TERMINAL GTSBUF::.BLKW 2 ; BUFFER FOR GET TERMINAL SUPPORT DATA ; ; FILLED IN WITH DEFAULTS, IN CASE "GET MULT CHAR" NOT SUPPORTED FOR TERMINAL. ; HIGH-ORDER BYTE = 1 IF CHARACTERISTIC IS TRUE. ; DEFAULTS ARE THOSE OF A VT52. ; GMCBUF:: ; GET MULTIPLE CHARACTERISTICS BUFFER .BYTE TC.ESQ ; INPUT ESCAPE SEQUENCE RECOGNITION TRIESC::.BYTE 1 ; DATA RETURNED .BYTE TC.FDX ; FULL DUPLEX MODE TRFDX:: .BYTE 1 ; DATA RETURNED .BYTE TC.HFF ; HARDWARE FORM-FEED CAPABILITY TRHWFF::.BYTE 0 ; DATA RETURNED .BYTE TC.HFL ; NUMBER OF FILL CHARACTERS TO USE AFTER TRFILL::.BYTE 0 ; DATA RETURNED .BYTE TC.HHT ; HORIZONTAL TAB CAPABILITY TRHTAB::.BYTE 1 ; DATA RETURNED .BYTE TC.LPP ; PAGE LENGTH TRPLEN::.BYTE 24. ; DATA RETURNED .BYTE TC.NEC ; ECHO SUPPRESSION IN EFFECT TRNECH::.BYTE 0 ; DATA RETURNED .BYTE TC.PRI ; PRIVILEGED TERMINAL TRPRIV::.BYTE 0 ; DATA RETURNED .BYTE TC.RAT ; TYPE-AHEAD BUFFER TRTYPA::.BYTE 1 ; DATA RETURNED .BYTE TC.SCP ; TERMINAL IS A SCOPE (CRT) TRSCOP::.BYTE 1 ; DATA RETURNED .BYTE TC.TTP ; TERMINAL TYPE TRTTYP::.BYTE T.VT52 ; DATA RETURNED .BYTE TC.VFL ; SEND FOUR FILL CHARACTERS AFTER LINE FEED TRVFIL::.BYTE 0 ; DATA RETURNED .BYTE TC.WID ; PAGE WIDTH TRPWID::.BYTE 80. ; DATA RETURNED GMCSIZ==.-GMCBUF .SBTTL INITIAL MESSAGES TO HOST ; ; CONFIGURATION MESSAGE TO TRANSMIT TO REMOTE HOST ; CNFMSG:: .BYTE RT.CFG ; MESSAGE TYPE .BYTE CNFLEN ; MESSAGE LENGTH (LOW-ORDER BYTE) .BYTE 0 ; MESSAGE LENGTH (HIGH-ORDER BYTE) .BYTE RO.RXM ; TELL TRUTH WHILE IT'S SAFE .BYTE 1,0,0,1,0 ; VERSION FIELDS .BYTE 1 ; MODE = DISCONNECT ON LOGOUT .BYTE 0 ; MENU FOR REST OF MESSAGE (UNDEFINED) CNFLEN=.-CNFMSG ; ; INITIAL CONTROL MESSAGE TO TRANSMIT TO REMOTE HOST ; ; DEFAULT MODE = COMMAND LINE, NORMAL DELIMITERS ; .EVEN ;GET DELIMITER FIELD ON EVEN BOUNDARY INIMSG:: .BYTE RT.CTL ; MESSAGE TYPE .BYTE INILEN ; MESSAGE LENGTH (LOW-ORDER BYTE) .BYTE 0 ; MESSAGE LENGTH (HIGH-ORDER BYTE) .BYTE 1 ; LENGTH OF MENU FIELD .BYTE RC.ECH!RC.DLM!RC.WID!RC.TYP!RC.FIL ; MENU = ALL FIELDS I.ECH:: .BYTE RE.ONN ; LOCAL ECHOING IN EFFECT .WORD RD.CTC!RD.LF!RD.CR!RD.CTO ; DELIMITERS = DEFAULT SET .WORD RD.CTT!RD.CTY!RD.CTZ!RD.ESC .REPT 14. .WORD 0 ; REMAINDER OF SPECIAL TERMINATOR TABLE .ENDR I.WID:: .WORD 80. ; WIDTH - DEFAULT = 80. I.TYP:: .WORD RP.ESC!RP.TAB!RP.LWI!RP.LWO ; TERM TYPE - DEFAULT = CRT I.FIL:: .WORD 0 ; TERM FILL COUNT - DEFAULT = NONE INILEN=.-INIMSG .SBTTL SEND SPECIAL MESSAGES TO HOST ; ; ENTER ODT MODE CONTROL MESSAGE -- TELL HOST TO ECHO ; ODTMSG:: .BYTE RT.CTL ; MESSAGE TYPE .BYTE ODTLEN ; MESSAGE LENGTH (LOW-ORDER BYTE) .BYTE 0 ; (HIGH-ORDER BYTE) .BYTE 1 ; LENGTH OF MENU FIELD .BYTE RC.ECH ; MENU = ECHO CONTROL FIELD .BYTE RE.OFF ; TELL HOST TO ECHO NOW ODTLEN==.-ODTMSG ; ; EXIT ODT MODE CONTROL MESSAGE -- TELL HOST WE'LL ECHO NOW ; NORMSG:: .BYTE RT.CTL ; MESSAGE TYPE .BYTE NORLEN ; MESSAGE LENGTH (LOW-ORDER BYTE) .BYTE 0 ; (HIGH-ORDER BYTE) .BYTE 1 ; LENGTH OF MENU FIELD .BYTE RC.ECH ; MENU = ECHO CONTROL FIELD .BYTE RE.ONN ; TELL HOST WE'LL ECHO NOW NORLEN==.-NORMSG ; ; SEND CONTROL-P TO HOST WITH CARRIAGE RETURN ; CTPMSG:: .BYTE RT.DAT ; MESSAGE TYPE .BYTE CTPLEN ; MESSAGE LENGTH (LOW-ORDER BYTE) .BYTE 0 ; (HIGH-ORDER BYTE) .BYTE 2 ; LENGTH OF DATA FIELD .BYTE CTLP ; CONTROL-P CHARACTER .BYTE CRET ; CARRIAGE RETURN CTPLEN==.-CTPMSG ; ; SEND CONTROL-C TO HOST ; CTCMSG:: .BYTE RT.DAT ; MESSAGE TYPE .BYTE CTCLEN ; MESSAGE LENGTH (LOW-ORDER BYTE) .BYTE 0 ; (HIGH-ORDER BYTE) .BYTE 1 ; LENGTH OF DATA FIELD .BYTE CTLC ; CONTROL-C CHARACTER CTCLEN==.-CTCMSG ; ; SEND UNSOLICITED CHARACTER TO HOST ; UNSMSG:: .BYTE RT.DAT ; MESSAGE TYPE .BYTE UNSLEN ; MESSAGE LENGTH (LOW-ORDER BYTE) .BYTE 0 ; (HIGH-ORDER BYTE) .BYTE 1 ; LENGTH OF DATA FIELD UNSCHR::.BYTE 0 ; UNSOLICITED CHARACTER UNSLEN==.-UNSMSG .SBTTL LOCAL CONTROLS ; ; LOCAL CONTROL PARAMETERS ; .EVEN TERCHR:: ; TABLE OF TERMINATING CHARACTERS .WORD RD.CTC!RD.LF!RD.CR!RD.CTO ; DELIMITERS = DEFAULT SET .WORD RD.CTT!RD.CTU!RD.CTY!RD.CTZ!RD.ESC .REPT 14. .WORD 0 ; REMAINDER OF SPECIAL TERMINATOR TABLE .ENDR ODTCHR:: ; ALL CHARACTERS TERMINATING IN ODT MODE .REPT 16. .WORD 177777 ; DELIMITERS = ALL .ENDR .ENABL LC .EVEN LNODE:: .WORD 0 ; LENGTH OF NODE NAME STRING NODPTR::.BLKW 1 ; POINTER TO NODENAME STRING (FOR PMR) LTGTND::.WORD 0 ; LENGTH OF TARGET (HOST) NODENAME TGTPTR::.BLKW 1 ; POINTER TO TARGET NODENAME IN ABOVE STRING XSTAT:: .WORD EX$SUC ; EXIT STATUS .EVEN ECHO:: .BYTE RE.ONN ; ECHO -- DEFAULT = LOCAL ECHOING MODE:: .BYTE 0 ; DATA TRANSMISSION MODE: ; 0 = DEFAULT: READ WITH TERMINATORS ; 1 = ODT MODE (SINGLE CHARACTER) LNKFLG::.BYTE 0 ; LINK STATUS BYTE ; SET => CONNECT ACCEPTED BY HOST HINFLG::.BYTE 0 ; HOST INITIALIZATION STATUS ; SET => INITIAL CFG/CTL MESSAGE SEQUENCE ; WITH HOST IS COMPLETE HTRFLG::.BYTE 0 ; ACCESS THROUGH NETWORK TERMINAL FLAG ; SET => TASK INVOKED FROM HT: DEVICE LOCFLG::.BYTE 0 ; LOCAL INTERACTION MODE ; SET => IN LOCAL TERMINAL DIALOGUE WITH USER ; CLEAR => NORMAL TERMINAL-HOST DATA FLOW TTREAD::.BYTE 0 ; COUNT NUMBER OF OUTSTANDING READS .EVEN POOL:: .BLKW 2 ; BUFFER POOL LISTHEAD .SBTTL ERROR MESSAGE TABLE .EVEN MSGTB:: .WORD 0 ; ERROR MESSAGE TABLE .WORD MERR1 ; .WORD MERR2 ; .WORD MERR3 ; .WORD MERR4 ; .WORD $ERROR ; (PMR ERROR MESSAGE) .WORD MERR6 ; .WORD MERR7 ; .WORD MERR8 ; .WORD MERR9 ; .WORD MERR10 ; .WORD MERR11 ; .WORD MERR12 ; .WORD MERR13 ; .WORD MERR14 ; .WORD MERR15 ; .WORD MERR16 ; .WORD MERR17 ; .WORD MERR18 ; .WORD MERR19 .WORD MERR20 .WORD MERR21 .SBTTL DISPATCH TABLES NETDSP:: ; DISPATCH FOR ENTRIES IN MAILBOX .WORD -1 ; ABORT .WORD ERR10 ; NT.CON .WORD ERR10 ; NT.INT .WORD NDSC ; NT.DSC .WORD NABT ; NT.ABT .WORD NABO ; NT.ABO .WORD ERR10 ; NT.EVT .WORD ERR10 ; NT.VFY .WORD ERR10 ; NT.NSP ; ; AFTER INITIALIZING WITH HOST, ONLY CONTROL AND DATA MESSAGES ; SHOULD BE RECEIVED. ; TYPTB:: ; DISPATCH FOR MESSAGES RECEIVED FROM HOST .WORD TRBOMB ; ILLEGAL .WORD TRBOMB ; RECEIVE CONFIGURATION MESSAGE .WORD TRMODE ; RECEIVE CONTROL MESSAGE .WORD TRBOMB ; RECEIVE UNSUPPORTED MESSAGE .WORD TRBOMB ; RECEIVE CONTINUE MESSAGE .WORD TRMWRT ; RECEIVE DATA MESSAGE .WORD TRBOMB ; ILLEGAL .WORD TRBOMB ; ILLEGAL ; ; ROUTINES TO EXECUTE LOCAL CONTROL COMMANDS FROM USER ; CMDTLN::.WORD 7 ; NUMBER OF ENTRIES IN TABLE CMDTAB:: ; MATCH AND DISPATCH FOR COMMANDS FROM USER .ASCII /? / ; QUERY OR "HE" GETS HELP .WORD CMDHLP ; PRINT HELP MESSAGE .ASCII /HE/ ; "HE" OR QUERY GETS HELP .WORD CMDHLP ; PRINT HELP MESSAGE .ASCII /CO/ ; "CO" RETURNS TO TERMINAL-HOST MODE .WORD CMDCNT ; STOP LOCAL COMMAND PROCESSING .ASCII /EX/ ; "EX" DISCONNECTS FROM HOST, EXITS .WORD CMDEXI ; END PROCESSING .ASCII /OD/ ; "OD" ENTERS ODT (SINGLE-CHAR) MODE .WORD CMDODT ; SET CONTROL FLAGS FOR ODT MODE .ASCII /NO/ ; "NO" EXITS ODT (SINGLE-CHAR) MODE .WORD CMDNOR ; CLEAR CONTROL FLAGS FOR ODT MODE .ASCII /CT/ ; "CT" SENDS A CONTROL-P TO HOST .WORD CMDCTP ; SEND CONTROL-P AND RETURN ; TO TERMINAL-HOST MODE .SBTTL CONVERSION TABLE FOR OUTPUT .NLIST BEX CVTLUP:: ; TRANSLATE TABLE FOR LOWER TO UPPER .BYTE 0,1,2,3,4,5,6,7 .BYTE 10,11,12,13,14,15,16,17 .BYTE 20,21,22,23,24,25,26,27 .BYTE 30,31,32,33,34,35,36,37 .BYTE 40,41,42,43,44,45,46,47 .BYTE 50,51,52,53,54,55,56,57 .BYTE 60,61,62,63,64,65,66,67 .BYTE 70,71,72,73,74,75,76,77 .BYTE 100,101,102,103,104,105,106,107 .BYTE 110,111,112,113,114,115,116,117 .BYTE 120,121,122,123,124,125,126,127 .BYTE 130,131,132,133,134,135,136,137 .BYTE 140,101,102,103,104,105,106,107 .BYTE 110,111,112,113,114,115,116,117 .BYTE 120,121,122,123,124,125,126,127 .BYTE 130,131,132,173,174,175,176,177 .SBTTL TERMINAL OUTPUT MESSAGE TEXT .ENABLE LC NODP:: .ASCII <15>/Host: / ; PROMPT FOR REMOTE NODE NAME RSTN:: .BLKB 6 ; LOCAL NODE NAME .ASCII /::/ ; PUNCTUATE RSTSK:: .ASCII /NET>/ ; TASK NAME STRING RSTNLN==.-RSTN .EVEN ERCNT:: .WORD 0 ; ERROR COUNTER = ERROR MESSAGE NUMBER ERMSG:: .BYTE 15,12 ; ERROR MESSAGE FOR OUTPUT TO USER TERMINAL .BLKB 76. ; TEXT FROM MESSAGE TABLE .BYTE 15,12 ; EOLBUF::.ASCII <15><12> ; TACK ON TO COMMAND LINES EOLSIZ==.-EOLBUF CTCBUF::.ASCII /^C/<15><12> ; LOCAL ECHO FOR CONTROL-C (HOST ATTENTION) CTCSIZ==.-CTCBUF .EVEN LOCSB:: .BLKW 2 ; IOSB FOR LOCAL COMMAND INPUT LOCINP::.BLKB 80. ; BUFFER FOR LOCAL COMMAND INPUT ; ; TEXT OF UNRECOGNIZED LOCAL COMMAND MESSAGE OUTPUT ; EMSBUF::.ASCII <15><12><11>/Unrecognized Command./<15> EMSSIZ==.-EMSBUF ; ; TEXT OF HELP MESSAGE OUTPUT ; HELBUF::.ASCII <15><12> .ASCII <11>/NETWORK Commands:/<15><12> .ASCII /CO [ntinue] Return to terminal mode/<15><12> .ASCII /EX [it] Kill remote job, disconnect, and exit/ .ASCII <15><12> .ASCII /HE [lp] Print this help text/<15><12> .ASCII /OD [t] Enter ODT (single-character) mode/<15><12> .ASCII /CT [rl P] Send a "^P" to remote host/<15><12> .ASCII /NO [rmal] Exit ODT mode/<15><12> HELSIZ==.-HELBUF .SBTTL ERROR MESSAGES FOR TERMINAL OUTPUT ; ; ERROR MESSAGES ; .ENABL LC .EVEN MERR1:: .ASCIZ /Failed to get command line/ MERR2:: .ASCIZ /Failed to get node name/ MERR3:: .ASCIZ /Failed to access network/ MERR4:: .ASCIZ /Failed to access network data queue/ MERR6:: .ASCIZ /Failed to attach terminal/ MERR7:: .ASCIZ /Failed to send configuration message/ MERR8:: .ASCIZ /Failed to receive configuration message/ MERR9:: .ASCIZ /Failed to send initialize message/ MERR10::.ASCIZ /Unexpected mailbox entry/ MERR11::.ASCIZ /Remote disconnect/ MERR12::.ASCIZ /Remote receiver abort/ MERR13::.ASCIZ /Network link abort/ MERR14::.ASCIZ /Insufficient dynamic memory/ MERR15::.ASCIZ .Failed to allocate buffer for i/o. MERR16::.ASCIZ .Link i/o error. MERR17::.ASCII /Protocol not supported by remote node / MRR17N::.ASCIZ / / .ODD MERR18::.ASCII /Control returned to node / MRR18N::.ASCIZ / / ; MUST BE ON EVEN BOUNDARY MERR19::.ASCIZ /Insufficient terminal driver support/ MERR20::.ASCII /Connection established to node / MRR20N::.ASCIZ / /<15><12> MERR21::.ASCIZ /WARNING -- Forced to ODT mode from HT: devices./ .EVEN .END