100 JMP OEXIT /FINISH UP 110 EJECT 120 OV, CIF CODFLD /PREVENT PROBLEMS 130 TAD (DKSF) /\ 140 DCA I (KINT) / \ENABLE 150 TAD (DKRB) / /VT-8/E 160 DCA I (KINT+2) // 170 TAD (KCC) /GET TTY: KEYBOARD CLEAR INSTRUCTION 180 OKIN, CDF CODFLD /GOTO CODE FIELD 190 DCA I (VTKEY) /DISABLE INACTIVE KEYBOARD 200 OEXIT, CIF CDF 00 /BACK TO FIELD 0 210 JMP I SPCND/TAD CHRTMP/RESTORE 220 DCA I (CHAR) /BUFFER 230 TAD CHRTMP /GET CHARACTER 240 TAD (-" ) /IS IT A " "? 250 SZA /SKIP IF SO 260 TAD (-",+" ) /IS IT A ","? 270 SZA CLA /SKIP IF EITHER 280 JMP I (PROC) /CONTINUE THERE 290 JMP I POCOMAGN /PROCESS FURTHER "O" ITEMS 300 310 OK, CIF CODFLD /PREVENT PROBLEMS 320 TAD (KSF) /\ 330 DCA I (KINT) / \ENABLE 340 TAD (KRB) / /TELETYPE 350 DCA I (KINT+2) // 360 TAD (DKCC) /GET VT-8/E KEYBOARD CLEAR INSTRUCTION 370 JMP OKIN /FINISH THERE 380 390 PAGE 400 EJECT 410 OT, CIF CODFLD /PREVENT INTERRUPTS 420 TAD (XI33&177+DCAC) /DCA XI33 430 DCA I (XOUTL+1) /RESTORE STORE INSTRUCTION 440 TAD (ION) /GET ION INSTRUCTION 450 DCA I (XOUTL+2) /PUT IT BACK 460 TAD (IOF) /GET IOF INSTRUCTION 470 DCA I (XOUTL+6) /RESTORE IT 480 JMP I (OEXIT) /FINISH UP 490 500 OS, CIF CODFLD /PREVENT PROBLEMS 510 TAD (VTOUT) /GET VT-8/E OUTPUT ADDRESS 520 DCA I (XOUTL+6) /STORE INSTEAD OF TTY: 530 TAD (XOUTL+6&177+JMPIC) /JMP I XOUTL+6 540 DCA I (XOUTL+2) /MAKE IT JUMP THERE 550 TAD (CIF CDF CODFLD) /GET CIF INSTRUCTION 560 DCA I (XOUTL+1) /PUT INTO OUTPUT CODE 570 JMS I (MODCHK) /CHECK IF ALPHA PRESENT 580 -CHRFLD-5 /PUT THIS IN IF NOT 590 JMP I (OEXIT) /FINISH UP 600 610 VTOUT, SPA /? 620 JMP I (RUBOUT) /YES 630 VTOUT2, AND (177) /JUST SEVEN-BIT 640 DCA VTTEMP /SAVE CHARACTER 650 TAD (SPCIAL-1) /SETUP 660 DCA VTSTPTR /TEST POINTER 670 VTSTLUP,ISZ VTSTPTR /BUMP TO CHARACTER 680 TAD I VTSTPTR /GET A CHARACTER 690 SNA /END OF LIST? 700 JMP NOTSPC /YES 710 ISZ VTSTPTR /BUMP TO ADDRESS 720 TAD VTTEMP /COMPARE 730 V7640, SZA CLA /SKIP IF EQUAL 740 JMP VTSTLUP /TRY NEXT 750 TAD I VTSTPTR /GET BRANCH ADDRESS 760 DCA VTSTPTR /STASH IT 770 JMP I VTSTPTR /GO THERE 780 EJECT 790 NOTSPC, TAD VTTEMP /GET CHARACTER 800 TAD V7640 /CHECK FOR LOWER CASE 810 SMA /SKIP IF NOT LOWER CASE 820 TAD (7740) /REMOVE LOWER CASE BIT 830 TAD (101) /CHECK FOR BAD CONTROL CHARACTERS 840 SPA SNA /SKIP IF OK 850 JMP BADCHR /BARF 860 TAD (37) /RESTORE TO SEVEN-BIT 870 CDF CHRFLD /GOTO BUFFER FIELD 880 JMS INSERT /OUTPUT IT 890 VTABIN, TAD VTPTR /GET POINTER 900 AND (77) /JUST LINE BITS 910 SZA CLA /SKIP IF AT BEGINNING OF NEXT LINE 920 JMP VTCHEK /JUMP IF NOT 930 TAD ("+&177+4200) /GET A BLINKING PLUS 940 JMS INSERT /OUTPUT IT 950 TAD VCOUNT /SETUP 960 DCA VTABCT / COUNT 970 VTABLP, ISZ VTABCT /DONE YET? 980 SKP /INVERT TEST 990 JMP VTCHEK /YES, GO CHECK IF WE FIT 1000 TAD (" &177+4000) /GET A 1010 JMS INSERT /OUTPUT IT 1020 JMP VTABLP /TRY AGAIN 1030 1040 VTCHEK, TAD VTPTR /GET POINTER 1050 TAD (5400) /ADD ON LIMIT 1060 SPA CLA /SKIP IF STILL ON SCREEN 1070 JMP I (VTROLL) /ROLL IT IF NOT 1080 VTEXIT, CDF CHRFLD /MAKE SURE OF BUFFER FIELD 1090 TAD (" &177+600) /GET A 1100 DCA I VTPTR /OUTPUT IT 1110 CDF CODFLD /BACK TO OUR FIELD 1120 TAD I (CURSW) /GET CURSOR VALUE 1130 TAD VTPTR /ADD ON CURRENT POSITION 1140 DCA VTTEMP /SAVE IT 1150 CDF CHRFLD /BACK TO BUFFER FIELD 1160 TAD (EOS) /GET CHARACTER 1170 DCA I VTTEMP /OUTPUT IT 1180 JMS I (MODCHK) /CHECK IF ALPHA PRESENT 1190 -CHRFLD-5 /PUT THIS IN IF NOT 1200 SKP /DON'T 1210