*20 / /TELETYPE /READS ? PRINTS ASR33 TTY /JMP TO SUBROUTINE /RETURNS TO NEXT LOCATION / D.A.OVERTON 9-9-70 / /JMP KBD8: WAITS FOR KBD CHARACTER / RTNS WITH 8-BIT ASCII IN AC KBD8, LDA /SAVE RTN 0 STC .+5 KST /NEW CHAR ? JMP .-1 /NO: WAIT IOB /YES:READ CHAR 6036 /KRB JMP /RTN / 100 /CONSTANTS FOR TYP6 200 /JMP SPACE: TO TYPE 1 SPACE SPACE, LDA I -20 /JMP TYPDIG: WITH BINARY 0-9 IN AC TYPDIG, ADA I 60 /JMP TYP6: WITH 6-BIT ASCII IN AC TYP6, STA I 0 /SAVE ASCII BCL I 7737 AZE I /ADD 200 OR 300? ADD .-13 ADD .-13 BCL I /CLEAR BIT 6 40 ADD .-10 /ADD IN BITS 6-11 /JMP TYP8: WITH 8-BIT ASCII IN AC. TYP8, STC TYP6+1 /SAVE ASCII ADD 0 /SAVE RTN STC .+10 ADD TYP6+1 /GET CHAR IOB 6046 /TLS - TYPE CHARACTER IOB 6041 /TSF JMP .-2 /WAIT FOR FLAG CLR JMP /RTN / /JMP LFCR: LINE FEED ? CARRIAGE RETURN LFCR, LDA /SAVE RTN 0 STC .+7 LDA I /CR 215 JMP TYP8 LDA I /LF 212 JMP TYP8 JMP /RTN / /JMP TYPNEW: TO SET NEW TEXT ADDRESS / AND TYPE TILL BACK-SLASH IS FOUND IN TEXT /CALLING SEQUENCE: / JMP TYPNEW / XXXX /ADDRESS OF 1ST CHAR TYPNEW, LDA /GET TEXT STARTING ADDRESS 0 BCL I 6000 STC .+2 LDA 0 STC .+10 XSK I 0 /BUMP RTN ADDRESS /JMP TYPMOR: CONTINUES TYPING AFTER BACK SLASH / UNTILL NEXT BACK SLASH IS FOUND. /ENTER VIA: JMP TYPMOR TYPMOR, LDA /SAVE RTN 0 STC TYPXIT ADD 2 /SAVE IR.2 STC TYPXIT-1 LDA I /GET CURRENT TEXT ADDRESS 0 STC 2 /IR.2 POINTS LDH 2 /GET 1ST CHAR SKP TYPNXT, LDH I 2 /GET NEXT CHAR SHD I /TERMINATE TYPING? 3400 /BACK SLASH JMP TYPXIT-6 /YES: EXIT SHD I /HORIZ TABULATE? 4700 /HT JMP TYPNXT /IGNORRED BY THIS S\R SHD I /CARRIAGE RETURN? 4300 /CR JMP .+3 /TYPE LF ? CR JMP TYP6 /ITS A REGULAR CHAR - TYPE IT JMP TYPNXT /THEN GET NEXT CHAR JMP LFCR JMP TYPNXT /EXIT S\R LDH I 2 /BUMP IR.2 PAST ARROW LDA /SAVE POINTER 2 STC TYPMORE+6 SET I 2 /RESTORE IR.2 0 TYPXIT, JMP /EXIT /END TELETYPE / / /