/ROUTINE TO READ A LINE FROM THE TERMINAL, WITH /NICE ECHOING AND RUBOUT HANDLING. INPUT, 0 UND /TURN OFF ECHO STA /SET KB BREAK KSB / TO ANYTHING CLA TAD KKBBUF /GET PTR TO KB BUFFER DCA KBPTR /INIT POINTER DCA DELFLG /CLEAR RUBOUT FLAG INLOOP, KRB /READ A CHAR DCA INCBUF /SAVE IT TAD INCBUF /GET IT BACK TAD RUBOUT /RUBOUT? SNA /NO, SKIP JMP INPRUB /PROCESS RUBOUT CLA TAD INCBUF TAD ESC33 /MODEL 33 ALTMODE? SZA JMP INP1 /NO, SKIP TAD INPESC DCA INCBUF /REPLACE WITH ASCII ESCAPE INP1, CLA TAD INCBUF /GET CHAR DCA I KBPTR /PUT IN BUFFER ISZ KBPTR /INC PTR TAD DELFLG /CLOSING '\' NEEDED? SNA /YES JMP INP2 /NO, DON'T PRINT IT CLA TAD BACKSL /GET '\' TLS /PRINT IT CLA DCA DELFLG /CLEAR FLAG INP2, TAD INCBUF /GET CHAR JMS ECHO /ECHO IT TAD INCBUF TAD CARRET /CAR RET? SNA JMP INPRET CLA TAD INCBUF TAD LINFED /LINE FEED? SZA JMP INLOOP /NO, GET ANOTHER CHAR INPRET, DUP /ECHO BACK ON HLT /DURING DEBUGGING *** JMP I INPUT /RETURN / INPRUB, TAD KBPTR /GET BUFFER PTR CIA /NEGATE TAD KKBBUF /(KBPTR)=#KBBUF? SNA /NO, NOT AT BEGN OF LINE JMP INLOOP /YES, IGNORE RUBOUT CLA TAD DELFLG /RUBOUT FLAG SET? SZA /NO, GO PRINT '\' JMP RUB1 /YES, GO ECHO ISZ DELFLG /SET FLAG TAD BACKSL /LOAD '\' TLS /PRINT IT RUB1, STA TAD KBPTR DCA KBPTR /DEC KBPTR TAD I KBPTR /GET CHAR JMS ECHO /ECHO IT JMP INLOOP /GET ANOTHER CHAR / ECHO, 0 DCA INCBUF /SAVE CHAR TO BE ECHOED TAD INCBUF AND K7540 /CLEAR AC4,AC7-AC11 SNA /NOT CTRL CHAR, SKIP JMP ECHOCC /GO ECHO CTRL CHAR CLA TAD INCBUF /GET CHAR TLS /PRINT IT CLA JMP I ECHO /RETURN ECHOCC, TAD INCBUF /GET CHAR TAD CARRET /CAR RET? SNA JMP ECHOCR /PRINT CR/LF CLA TAD INCBUF TAD LINFED /LINE FEED? SNA JMP ECHOCR /PRINT CR/LF CLA TAD UPARR TLS /PRINT '^' CLA TAD INCBUF TAD K0100 /ADD 64. TLS /PRINT CHAR CLA JMP I ECHO ECHOCR, TAD INPCR TLS /PRINT CR CLA TAD INPLF TLS /PRINT LF CLA JMP I ECHO /RETURN / KKBBUF, KBBUF KBPTR, 0 DELFLG, 0 INCBUF, 0 RUBOUT, -377 CARRET, -215 LINFED, -212 ESC33, -375 /STRANGE MODEL 33 ESCAPE BACKSL, "\ K7540, 7540 UPARR, "^ K0100, 100 DOLSGN, "$ INPCR, 215 INPLF, 212 INPESC, 233 KBBUF, $