X-Git-Url: http://git.sky-visions.com/cgi-bin/gitweb.cgi/retro-software/dec/tops10/v4.5.git/blobdiff_plain/cda2ba6d27526e5ef6f27f7b3391cfb55055bf2e..a0865c742fe1bf0b69346aa5f90665fc301e0236:/src/scnsrf.mac diff --git a/src/scnsrf.mac b/src/scnsrf.mac index 14d7517..56a0e9e 100644 --- a/src/scnsrf.mac +++ b/src/scnsrf.mac @@ -73,9 +73,9 @@ SCNSRF: ;WHEN OUTPUT FINISHES IOSUPR=200 ;SUPPRESS ALL OUTPUT ;TILL NEXT INPUT OR INIT (^O). - TRMON=400 ;TTY IS IN MONITOR + TPMON=400 ;TTY IS IN MONITOR ;COMMAND MODE. - DDTM=1000 ;DDT MODE + DDTM=1000 ;DDT MDDE TTYDTC=2000 ;TTY DDB IS DETACHED FROM LINE SYNC=20000 ;BREAK CHARACTER SEEN ;SIGNAL TO INCREMENT SYNC COUNT @@ -142,7 +142,7 @@ XON=2 ;^Q TYPED, PAPER TAPE INPUT FULTWX=4 ;SELF ECHOING FULL DUPLEX T35=10 ;MODEL 35 T37=20 ;MODEL 37 -ROBTPB=40 ;RUBOUT TYPED LAST (ECHO \ BEFORE NEXT CHAR.) +ROBTPD=40 ;RUBOUT TYPED LAST (ECHO \ BEFORE NEXT CHAR.) LINRDY=100 ;LINE TYPED IN BY USER (TISYNC .G.0) ; NOT ACTUALLY IN LINTAB. BUT RETURNED BY ; GETLIN IN TTCALL @@ -151,7 +151,7 @@ LINRDY=100 ;LINE TYPED IN BY USER (TISYNC .G.0) ;(BY MONITOR, TYPE-IN COMMANDS, OR PROGRAM) LGLSET=T37+T35+FULTWX+XON ;THESE CAN BE SET OR ZEROED BY PROGRAM -KILMSK=ROBTPB+TLKRNG+XON ;CLEARED AT TTYKIL +KILMSK=ROBTPD+TLKRNG+XON ;CLEARED AT TTYKIL ;DECLARE THESE AS INTERNS TO GET THEM IN THE MAP ;AND TO CHECK AGAINST S IN COMMON @@ -165,6 +165,7 @@ INTERNAL T35,T37,FULTWX,LGLSET,KILMSK,XON LINE=TAC1 ;SCANNER LINE NUMBER HPOS=ITEM ;HORIZONTAL POSITION OF TTY,(0-71) + ;SPECIAL SYMBOLS PION=200 ;TURN PI ON BIT @@ -173,8 +174,10 @@ INTERNAL T35,T37,FULTWX,LGLSET,KILMSK,XON IDLECH=1 ;DELAY CHAR FOR TABS, ETC, ; SHOULD BE ^V, BUT FOR 37'S + ;BYTE POINTERS + INTERNAL TPCJOBN,TYPX,FULTWX,TYPE,TAKR,BREAKB PHPOS: POINT 7,DEVIAD(DEVDAT),12 ;HORIZONTAL POSITION @@ -213,7 +216,7 @@ TOIP=400000 ;SIGN OF TTYPTR(DDB) - TYPE-OUT IN PROGRESS ; DATA BLOCKS. ; 4)SETS TTYUSE#1 IN ALL TTY DDBS IN THE TRANSLATOR TABLE. -EXTERNAL SCNSCH,MLTTYL,MTTYLN,TTYTAB,SCNINI +EXTERNAL SCNCHN,MLTTYL,MTTYLN,TTYTAB,SCNINI TTYINI: MOVEI TAC,SCNCHN CONO TTY,1200(TAC) ;CLEAR CTY, ASSIGN CHANNEL @@ -240,7 +243,7 @@ SCN1: MOVSI DAT,TTYUSE ;TTY DDB IN USE BIT SCN2: MOVSI TAC,TTYUSE SKIPE DDB,TTYTAB(TAC1) IORM TAC,DEVMOD(DDB) - HRRZ TA,TAC1 ;SET UP PERMANENT LINTAB BITS + HRRZ TAC,TAC1 ;SET UP PERMANENT LINTAB BITS CAIGE TAC,TCONLN ;ORDINARY TTY LINE? JRST SCN3 ;YES CAIE TAC,TCONLN ;CTY LINE? @@ -254,6 +257,7 @@ SCN3: HRRM TAC,LINTAB(TAC1) ;SET LOG. LINE NUMBERS HLLM TAC,LINTAB(TAC1) ;LEAVING REST OF BITS AS THEY WERE AOBJN TAC1,SCN2 POPJ PDP, + ;ROUTINES TO SET UP BUFFERS INTERNAL TSETBF,SETBFI,PUTCHI @@ -276,6 +280,7 @@ SETBF0: MOVE TAC,BUF(DAT) MOVEM TAC,PCTR(DAT) HLRZ TAC,BUF(DAT) ;CHARACTER COUNT MOVEM TAC,FCTR(DAT) ;UPDATE FREE CHARACTER COUNT + POPJ PDP, ;ROUTINE TO PUT A CHARACTER INTO A BUFFER (FOR INPUT,MERTPO, AND ONCE) ;CALL MOVEI DAT,TTYBUF(DDB) ;TO SPECIFY BUFFER @@ -285,7 +290,7 @@ SETBF0: MOVE TAC,BUF(DAT) PUTCHI: SOSGE FCTR(DAT) ;ANY FREE SPACES LEFT? JRST PUTCI0 ;NO -PUTCI2: SOSLE PTCR(DAT) ;LAST BYTE IN BUFFER FILLED? +PUTCI2: SOSLE PCTR(DAT) ;LAST BYTE IN BUFFER FILLED? JRST PUTCI1 ;NO, GO AHEAD PUSH PDP,TAC MOVE TAC,BUF(DAT) ;GET ADR AND SIZE OF BUFFER @@ -336,6 +341,7 @@ GETCH1: TDZA CHREC,CHREC ;RETURN 0 INDICATING END OF BUFFER PUTCI0: AOS FCTR(DAT) ;READJUST FREE COUNTER POPJ PDP, + ;ROUTINE TO PLACE A CHARACTER INTO THE OUTPUT BUFFER ;CALLED AT INTERRUPT LEVEL ;CALL MOVE CHREC,CHARACTER TO PLACE INTO BUFFER @@ -351,7 +357,7 @@ PUTCHO: SOSGE TOFCTR(DDB) ;RETURN IMMEDIATELY IF NO ROOM HLRZM TAC,TOPCTR(DDB) ;INITIAL COUNTER HRLI TAC,440700 ;MAKE A BYTE POINTER MOVEM TAC,TOPUTR(DDB) ;INITIAL POINTER -PUTCO1: IDBP CHREC,TOPUTR(DDB) ;PUT CHARACTER INTO BUFFER +PUTCO1: IDPB CHREC,TOPUTR(DDB) ;PUT CHARACTER INTO BUFFER CONO PI,PION ;GET PI BACK ON POPJ PDP, ;ROUTINE TO CHECK IF A CHARACTER IS SPECIAL(ASCII 0-37, 175-177) @@ -379,7 +385,7 @@ SPACTN=40000 ;SPECIAL ACTION TO BE TAKEN SPOUT=100000 ;SPECIAL HANDLING ON UUO OUTPUT BREAKB=20000 ;BREAK CHARACTER SPHPOS=10000 ;CHARACTER AFFECTS HORIZONTAL POSITION -ECSBRK=4000 ;BREAK CHARACTER IN FCS(100) MODE +FCSBRK=4000 ;BREAK CHARACTER IN FCS(100) MODE ECHSUP=2000 ;SUPRESS ECHO OF CHAR ITSELF SPCTAB: XWD ECHSUP,0 ;NULL @@ -401,7 +407,7 @@ SPCTAB: XWD ECHSUP,0 ;NULL XWD SPACTN+ECHSUP,CONTP ;^P T35 SW XWD SPACTN+ECHSUP,CONTQ ;^Q XON (PAPERTAPE) XWD ECHSUP,0 ;^R TAPE PUNCH OFF - XWD SPACN+ECHSUP,CONTS ;^S XOFF + XWD SPACTN+ECHSUP,CONTS ;^S XOFF XWD ECHSUP,0 ;^T TAPE PUNCH OFF XWD SPACTN,CONTU ;^U DELETE LINE XWD ECHSUP,0 ;^V @@ -456,11 +462,11 @@ DDTIW: MOVE IOS,[XWD TTYIOW,IOACT] XFRIN: PUSHJ PDP,GETCHR ;TRANSFER INTO USER'S AREA JUMPE CHREC,XFRIN2 PUSHJ PDP,SPCHEK - JRST XFIN1 + JRST XFRIN1 TLNE TAC,FCSBRK+BREAKB SOS TISYNC(DDB) XFRIN1: CAIN CHREC,3 ;PRESTORED CONTROL C? - JRST DDONC ;YES, GO INTO MONITOR MODE + JRST DDTCNC ;YES, GO INTO MONITOR MODE IDPB CHREC,AC2 SOJG AC1,XFRIN ;LOOP TILL DONE XFRIN2: MOVEI CHREC,0 ;TERMINATE STRING @@ -502,7 +508,7 @@ DDTOUT: PUSHJ PDP,TTYFNU DDT5: MOVSI IOS,IO+DDTM IORB IOS,DEVIOS(DDB) HRLI UUO,PROG ;POINT TO USER AC - HRRI UUO,-1(PROG) ;COMPENSATE FOR GETWD1 + HRRI UUO,-1(UUO) ;COMPENSATE FOR GETWD1 DDT2: MOVE DAT,[XWD 440700,TAC] ;BYTE POINTER TO TAC PUSHJ PDP,GETWD1 ;GET THE USER'S WORD DDT3: TLNN DAT,760000 ;ANY CHARS LEFT? @@ -575,16 +581,16 @@ OUTC1C: CAIN TAC,14 ;FF? MOVNI HPOS,10 ;YES. 8 LF'S CAIN TAC,13 ;VT? MOVNI HPOS,4 ;YES. 4 LF'S -OUTC1B: PUSHJ PDP,PUTCH0 ;OUTPUT THE PHONEY CHAR +OUTC1B: PUSHJ PDP,PUTCHO ;OUTPUT THE PHONEY CHAR ADDI HPOS,1 ;COUNT THE OUTPUTS TRNE HPOS,7 ;ENOUGH? JRST OUTC1B ;NO. MORE. JRST OUTCH3 ;NO MORE. OUTC1A: ;HERE ON OUTPUT OF SLOW CHARS TO SMART TTY - PUSHJ PDP,PUTCH0 ;SENT THE REAL CHAR + PUSHJ PDP,PUTCHO ;SENT THE REAL CHAR MOVE TAC,CHREC ;COPY THE CHARACTER - MOVEI CHREC,IOLECH ;A DELAY CHARACTER + MOVEI CHREC,IDLECH ;A DELAY CHARACTER SUBI HPOS,2 ;TWO SHLUFF CHARACTERS JRST OUTC1C ;GO OUTPUT THE SLUFFS. ;COUNT WILL BE MODIFIED ON VT,FF @@ -593,7 +599,7 @@ OUTC1A: ;HERE ON OUTPUT OF SLOW CHARS TO SMART TTY ;TO ADJUST HPOS FOR OUTPUT OF CHREC ;SKIPS IF SPCHECK SAYS SPECIAL CHAR -ADJHP: CAIL CHREC,174 ;HIGH SPECIALS? +ADJHP: CAILE CHREC,174 ;HIGH SPECIALS? JRST SPCHEK ;YES, NO HPOS MOTION CAIL CHREC,40 ;CONTROL CHARACTERS? AOJA HPOS,SPCHEK ;NO. COUNT HPOS FOR PRINT CHAR @@ -763,7 +769,7 @@ IFN FTHDPX,< TTYIN1: SKIPG TISYNC(DDB) PUSHJ PDP,TWSYNC PUSHJ PDP,MONUSR -TENDIN: MOVE IOS,[XWD TTYIOW+DDTM+IOSUPR,ECHOF+MERTP+IGNOR+IOACT] +TENDIN: MOVE IOS,[XWD TTYIOW+DDTM+IOSUPR,ECHOF+MERTPO+IGNOR+IOACT] T0POPJ: ANDCAB IOS,DEVIOS(DDB) POPJ PDP, ;ROUTINE TO MOVE A LINE OR STRING FROM TTY INPUT BUFFER TO USER'S INPUT BUFFER @@ -786,7 +792,7 @@ MONUS1: PUSHJ PDP,GETCHR ;GET A CHAR, FROM IT PUSHJ PDP,SPCHEK ;SPECIAL CHARACTER? JRST MONUS2 ;NO - TLNE TAC,FCSBRK+BREAKP ;A BREAK CHARACTER? + TLNE TAC,FCSBRK+BREAKB ;A BREAK CHARACTER? SOSA TISYNC(DDB) ;SOME BREAK, COUNT IT DOWN MONUS2: SOJG AC2,MONUS1 ;NO, USER BUFFER FULL? CAIN CHREC,3 ;STORED CONTROL C? @@ -821,7 +827,7 @@ MONUS5: MOVSI IOS,IOFST MONUS7: MOVE IOS,[XWD TTYIOW,IOACT] IORB IOS,DEVIOS(DDB) ;PUT JOB BACK IN IOWAIT - PUSHJ PDP,MONU6 + PUSHJ PDP,MONUS6 JRST TTYIN ;RESTART INPUT UUO MONUS8: TLNN IOS,IOEND ;ROOM FOR ANOTHER BUFFER, ^Z SEEN? @@ -853,11 +859,11 @@ UTYPET: JUMPL LINE,PTYPE ;START PTY EXCHANGE IF PTY LINE MOVSI TAC,TOIP CONO PI,PIOFF ;PREVENT TIMING GLITCH TDNN TAC,TTYPTR(DDB) ;IS TYPE-OUT ALREADY ON? - JRST UTYPE1 + JRST UTYPT1 CONO PI,PION POPJ PDP,0 -UTYP1: IORM TAC,TTYPTR(DDB) ;START TYPEOUT +UTYPT1: IORM TAC,TTYPTR(DDB) ;START TYPTEOUT JRST XMTIN1 ;ROUTINE TO MOVE USER OUTPUT BUFFER TO MON. OUTPUT BUFFER ;CALLED ONLY AT UUO LEVEL,BY OUTPUT UUO @@ -918,7 +924,7 @@ TTUUOT: EXP INCHRW ;(0)INPUT CHAR. WAIT TILL TYPED EXP INCHSL ;(5)INPUT CHAR, SKIP. LINE MODE EXP GETLIN ;(6)GET LINE CHARACTERISTICS WORD EXP SETLIN ;(7)SET BITS IN LH LINTAB - EXP TRESOU ;(10)BACK UP POINTER TO COMMAND + EXP TRESCU ;(10)BACK UP POINTER TO COMMAND EXP SETBFI ;(11)CLEAR INPUT BUFFER EXP SETBF2 ;(12)CLEAR OUTPUT BUFFER EXP SKPINC ;(13)SKIP IF CHAR TO INPUT @@ -975,7 +981,7 @@ EXTERNAL TTPLEN,GETWDU INCHRW: PUSHJ PDP,INCHRS ;GET ACHAR IF ONE IS THERE JRST .+2 ;NONE THERE POPJ PDP, ;CHAR, PICKED UP AND STORED - MOVE IOS,[XWD TTYIOW+ODTM,IOACT][ ;SETUP FOR IOWAIT + MOVE IOS,[XWD TTYIOW+DDTM,IOACT] ;SETUP FOR IOWAIT IORB IOS,DEVIOS(DDB) ;SPECIFICALLY FOR INPUT WAIT PUSHJ PDP,TWSYNC ;WAIT FOR CHAR. TO BE TYPED JRST INCHRW ;GO GET IT @@ -1140,7 +1146,7 @@ INTERNAL TTYDET EXTERNAL PUNIT,TTYTAB TTYDET: MOVSI TAC,TTYATC - TDNN TAC,DEVMOND(DDB) ;IS THIS DDB WORTH KEEPING? + TDNN TAC,DEVMOD(DDB) ;IS THIS DDB WORTH KEEPING? JRST TTYDT1 ;NO. GO JUNK IT MOVSI IOS,TTYDTC ;YES. MARK IT DETACHED @@ -1191,7 +1197,7 @@ TBYTEP: PUSH PDP,TAC1 ;SAVE LINE ADDI TAC,TTYCHR IDIVI TAC,5 ADD TAC,TTIBUF(DDB) - HLL TAC,TLWBYT(TAC1) + HLL TAC,TLHBYT(TAC1) POP PDP,TAC1 ;RESTORE LINE POPJ PDP,0 ;ROUTINE TO FIND TTY FOR A JOB @@ -1204,11 +1210,13 @@ INTERNAL TTYFNU,TTYFND,TTYERP EXTERNAL JOB + TTYFNU: MOVE ITEM,JOB TTYFND: PUSHJ PDP,TTYSRC TTYDAT: MOVEI DAT,TTOBUF(DDB) POPJ PDP, + ;PUT JOB IN IO WAIT IF TTY BUFFER NOT EMPTY ;CALLED BY NON ERROR MESSAGE ROUTINES AT UUO LEVEL @@ -1318,7 +1326,7 @@ TTYF1: MOVSI TAC,576062 ;LOOK FOR DEVICE "OPR" SKIPA TAC,DEVOPR ;NOT FOUND. JRST TTYF9 JUMPN TAC,TTYF3 ;WAS OPR SPECIFIED IN ONCE ONLY CODE? - MOVEI DDR,TTYLST ;NO + MOVEI DDB,TTYLST ;NO SKIPE DEVNAM(DDB) ;HAS A TTY BEEN TYPED ON? JRST TTYF9 MOVEI LINE,TCONLN ;NO USE CTY. @@ -1372,7 +1380,7 @@ TTSTR1: MOVSI TAC,IO+TPMON MOVE IOS,DEVIOS(DDB) ;GET CORRECT IOS SKIPLE TISYNC(DDB) ;HAS USER TYPED AHEAD? PUSHJ PDP,COMSET ;YES, WAKE UP COMMAND DECODER(IF IN MON. MODE) - JRST UTYRET ;GO TYPE FIRST CHAR. + JRST UTYPET ;GO TYPE FIRST CHAR. ;ROUTINE TO ADD TTY TO TALK RING ;CALL: ADR. OF DDB TO BE ADDED TO RING AT -3(PDP) ; MOVE TAC,SIXBIT /TTYN/ @@ -1392,7 +1400,6 @@ TTYTLK: PUSHJ PDP,GETDDB ;IN CASE NOT SET UP POPJ PDP, MOVE IOS,DEVIOS(DEVDAT) ;IS TTY IN MONITOR MODE AND LEFT HAND MARGIN? MOVE TAC1,-3(PDP) ;TTY GIVING TALK COMMAND - MOVE TAC1,DEVNAM(TAC1) ;ITS NAME MOVE TAC,DEVNAM(DEVDAT) ;OPR IS NEVER TOO BUSY... CAME TAC1,DEVOPR ;EITHER ONE OPR? @@ -1405,7 +1412,7 @@ TTYTK1: CONO PI,SCNOFF LDB LINE,PUNIT ;LINE NUMBER IS RING. MOVSI TAC,TLKRNG LDB CHREC,PTALK - TDDN TAC,LINTAB(LINE) + TDNN TAC,LINTAB(LINE) HRRZ CHREC,LINE IORM TAC,LINTAB(LINE) EXCH DDB,-3(PDP) ;GET DDB OF TALKER @@ -1437,7 +1444,7 @@ TTYUSR: MOVSI IOS,USRB ;SET BIT TO SWITCH TTY TO USER MODE INTERNAL CTYINT EXTERNAL SCNSAV,SCNCHN,TCONLN -CTYINI: CONSO TTY,50 ;TTI OR TTO FLAG? +CTYINT: CONSO TTY,50 ;TTI OR TTO FLAG? JRST CTYINT ;NO JSR SCNSAV ;YES, SAVE AC'S MOVEI LINE,TCONLN ;LOAD LINE WITH PROPER @@ -1461,7 +1468,7 @@ EXTERNAL COMCNT RECINT: INUS2: ;TAG FOR INTERRUPT SERVICE -INJEXT: ;ANOTHER TAG, NOT USED, BUT WANTED BY LOSING DLSINT +INJEST: ;ANOTHER TAG, NOT USED, BUT WANTED BY LOSING DLSINT TRNN CHREC,177 ;IGNORE NULLS POPJ PDP,0 ;DISMISS INTERRUPT @@ -1505,7 +1512,7 @@ RECIN4: TLNE IOS,SYNC MOVE TAC,TIPCTR(DDB) ;UPDATE COUNTER FOR ^U DPB TAC,PLSTLC TLZN IOS,TTYIOW ;IN TELETYPE INPUT WAIT? - JRST TTYTST ;NO, GO ECHO + JRST TYPTST ;NO, GO ECHO PUSHJ PDP,STTIOD ;YES, SET IO DONE(OUT OF TTY IOW) MOVSI IOS,IOW+TTYIOW ANDCAB IOS,DEVIOS(DDB) ;CLEAR WAIT BITS @@ -1589,7 +1596,7 @@ COMSET: TLNN IOS,TPMON ;MONITOR MODE? POPJ PDP, INTERNAL XMTINT,PTYGET -XMTINT: HLL LINE,LINETAB(LINE) ;GET LINE CHAR. +XMTINT: HLL LINE,LINTAB(LINE) ;GET LIN CHAR. HRRZ DDB,TTYTAB(LINE) ;GET DDB ADDRESS JUMPE DDB,CPOPJ ;IF NONE, X BEING TYPED MOVE IOS,DEVIOS(DDB) ;GET IO STATUS @@ -1600,13 +1607,13 @@ PTYGET: ;CALL HERE TO SKIP ABOVE OVERHEAD SKIPL TTYPTR(DDB) ;WAS TYPE-OUT IN PROGRESS? POPJ PDP, ;IGNORE XMT DURING ECHO CK XMTIN1: MOVEI DAT,TTOBUF(DDB) ;SPECIFY TTO BUFFER -XMTI1A CONO PI,PIOFF ;KEEP TOIP AND PUTR/TAKR EQUAL +XMTI1A: CONO PI,PIOFF ;KEEP TOIP AND PUTR/TAKR EQUAL HLRZ TAC,BUF(DAT) ;IS OUTPUT BUFFER EMPTY? CAMLE TAC,FCTR(DAT) ;I.E. FREE COUNT AT MAX? JRST XMTIN2 ;NO, TYPING STILL IN PROGRESS TRNE IOS,MERTPO ;MONITOR ERROR MESSAGE? - CAIE DAT,TIOBUF(DDB) ;OUTPUT BUFFER? + CAIE DAT,TTOBUF(DDB) ;OUTPUT BUFFER? JRST XMTIN4 ;NO, MUST REALLY BE DONE MOVEI DAT,TTIBUF(DDB) ;YES. NOW EMPTY OUT TTI BUFFER JRST XMTI1A @@ -1629,7 +1636,6 @@ XMTIN4: MOVEI IOS,MERTPO ;OTHERWISE, DDB ONLY USED TO TYPE A JRST TTYKIL ;MESSAGE; KILL TTY DDB - XMTIN2: CONO PI,PION PUSHJ PDP,GETCHR ;NO, GET NEXT CHAR. IN BUFFER JUMPE CHREC,XMTIN1 ;IGNORE NULLS @@ -1675,7 +1681,7 @@ TYPE: JUMPE CHREC,CPOPJ ;IS TYPING STILL TO BE IN PROGRESS? TTEDIT: PUSHJ PDP,ADJHP ;ADJUST HP AND CHECK SPECIAL JRST TIPACK ;NOT SPECIAL MOVSI IOS,0 - TLNE TAC,BBREAK+FCSBRK ;BREAK CHAR? + TLNE TAC,BREAKB+FCSBRK ;BREAK CHAR? TLO IOS,SYNC ;BREAK CHAR, SET SYNC IORB IOS,DEVIOS(DDB) ;SET SYNC JUMPL TAC,0(TAC) ;DISPATCH IF SPACTN SET @@ -1687,8 +1693,8 @@ TTIPUT: TLZE LINE,ROBTPD ;HAVE WE BEEN DELETING? PUSHJ PDP,BSECHO ;YES. OUTPUT A BACKSLASH TTIPT1: PUSHJ PDP,PUTCHI ;PUT CHAR IN INPUT BUFFER JRST INBFUL ;IT DIDNT FIT - LTNN TAC,ECHSUP ;SHOULD THIS CHAR BE ECHOED? -DUPLEX: TLNE LINE,FULTWX,HLFDPX ;IS THIS LINE ECHOING ITSELF? + TLNN TAC,ECHSUP ;SHOULD THIS CHAR BE ECHOED? +DUPLEX: TLNE LINE,FULTWX+HLFDPX ;IS THIS LINE ECHOING ITSELF? POPJ PDP,0 ;JUST RETURN WITHOUT ECHO DUPLX1: PUSH PDP,TAC ;SAVE TAC OVER PUTCHO TLNN IOS,TPMON ;SHOULD ECHO IF IN MONITOR MODE @@ -1696,7 +1702,7 @@ DUPLX1: PUSH PDP,TAC ;SAVE TAC OVER PUTCHO PUSHJ PDP,PUTCHO ;SO ECHO IT. JRST TPOPJ ;RESTORE TAC AND RETURN -INTERNAL INBFUB ;FOR THE PTY +INTERNAL INBFUL ;FOR THE PTY INBFUL: MOVSI IOS,SYNC ;DONT COUNT SYNC COUNT ANDCAB IOS,DEVIOS(DDB) ; SINCE CHAR NOT STORED @@ -1762,7 +1768,6 @@ RUBOU2: PUSHJ PDP,RUBOU4 ;NOT A BREAK AFTER ALL AOJDPX: AOJA HPOS,DUPLX1 ;OUTPUT AND COUNT HPOS RUBOU1: TLZE LINE,ROBTPD ;END OF INPUT STREAM REACHED - PUSHJ PDP,BSECHO ;OUTPUT A BACKSLASH JRST CRLFEC ;AND A CR LF @@ -1777,6 +1782,7 @@ SIMFF1: PUSHJ PDP,DUPLX1 ;OUTPUT ECHO OF LF OR IDL TRNE TAC,17 ;DONE YET? SOJA TAC,.-2 ;NO. OUTPUT MORE POPJ PDP,0 ;DONE + SIMFF: TLO TAC,ECHSUP ;DON'T OUTPUT FF OR VT TO A 33 PUSHJ PDP,TTIPUT ;PUT IT IN BUFFER MOVEI CHREC,12 ;SIMULATE WITH LF'S @@ -1785,7 +1791,7 @@ SIMFF1: PUSHJ PDP,DUPLX1 ;OUTPUT ECHO OF LF OR IDL CONTI: TLNN LINE,T35 TLO TAC,ECHSUP ;DONT OUTPUT TAB TO 33 PUSHJ PDP,TTIPUT ;PUT IN BUFFER AND MAYBE ECHO - TLEN LINE,XON+DISLIN ;IF PAPER TAPE,DISMISS + TLNE LINE,XON+DISLIN ;IF PAPER TAPE,DISMISS POPJ PDP,0 ; SO AS NOT TO OVERFILL OUTBUF ;ALSO, DISPLAY DOESNT WANT FILLER HRRI TAC,1 ;TWO IDLES @@ -2015,7 +2021,6 @@ DDBSRC: HRRZ TAC,LINE ;NUMBER OF LINE ONLY HLRZ DEVDAT,DEVSER(DEVDAT) ;CHAIN THRU DDBS TDNE TAC,DEVMOD(DEVDAT) ;USE,ATTACH OR ASSIGN BITS ON? AOBJN IOS,.-2 ;YES. DONE? - JUMPGE IOS,CPOPJ ;YES. DEVICE DATA BLOCK FOUND? MOVSI TAC,TOIP ;CLEAR TOIP IN DDB ANDCAM TAC,TTYPTR(DDB) ;IN CASE OF PREVIOUS DETACH @@ -2070,7 +2075,7 @@ SCNIN0: ADDI LINE,20 TLNE LINE,CTYLIN ;IS THIS CONSOLE TTY? MOVEM TAC,DEVNAM(DEVDAT);YES, SET NAME TO CTY. TLNE LINE,PTYLIN ;IS THIS A PTY? - PUSHJ PDP,PTMNND ;YES. SET IT INTO MONITOR MODE + PUSHJ PDP,PTMNMD ;YES. SET IT INTO MONITOR MODE JRST CPOPJ1 ;SUCCESSFUL RETURN. SCNEND: END