100 OLIST, "A /OPTION ALTERNATING (BLINKING) OUTPUT 110 "B /OPTION BOLD OUTPUT 120 "C /OPTION CLEAR ALPHANUMERICS, GRAPHICS 130 "D /OPTION DELETE GRAPHICS 140 "E /OPTION ERASE ALPHANUMERICS 150 "F /OPTION CURSOR OFF 160 "I /OPTION INVERTING (CURSOR) OUTPUT 170 "K /OPTION KEYBOARD (TTY:) INPUT 180 "N /OPTION NORMAL OUTPUT 190 "O /OPTION CURSOR ON 200 "S /OPTION VT-8/E SCREEN OUTPUT 210 "T /OPTION TTY: OUTPUT 220 "V /OPTION VT-8/E KEYBOARD INPUT 230 "W /OPTION WAIT WHILE DISPLAYING GRAPHICS 240 250 / LIST IS TERMINATED BY NEGATIVE ADDRESS CONSTANT WHICH FOLLOWS. 260 270 ODISP, OA /BLINKING OUTPUT 280 OB /BOLD OUTPUT 290 OC /CLEAR ALL OUTPUT 300 OD /CLEAR GRAPHICS 310 OE /CLEAR TEXT 320 OF /CURSOR OFF 330 OI /CURSOR OUTPUT 340 OK /TTY: INPUT 350 OEN /NORMAL MODE OUTPUT 360 OO /CURSOR ON 370 OS /SCOPE OUTPUT 380 OT /TTY: OUTPUT 390 OV /VT-8/E INPUT 400 OW /INPUT WAIT 410 420 DOWAIT, .-. /INPUT WAIT ROUTINE 430 JMS I INDEV /WAIT FOR A CHARACTER 440 CIF CODFLD /BACK TO CALLING FIELD 450 JMP I DOWAIT /RETURN 460 470 PAGE 480 EJECT 490 FIELD CODFLD%10 /WHERE CODE IS 500 510 *6400 /PAST BUFFERS 520 530 / CONTINUATION OF FDIS FUNCTION CODE. 540 550 XDISP3, TAD (136) /CENTER IT 560 SKP /DON'T FIRST TIME THROUGH 570 DIVLUP, ISZ Q /BUMP QUOTIENT 580 CLL /CLEAR LINK FOR TEST 590 TAD (7764) /SUBTRACT 12 600 SZL /UNDERFLOW? 610 JMP DIVLUP /NO, GO BACK 620 DCA MODCHK /SAVE AS COUNT 630 TAD Y /GET 640 TAD Q /CORRECTED ADDRESS 650 DCA Q /SAVE IT 660 IOF /PREVENT PROBLEMS 670 JMS DOMODE /MAKE SURE OF OUTPUT MODE 680 ION /COME OUT NOW! 690 CLL /CLEAR LINK FOR TEST 700 TAD Q /GET QUOTIENT 710 TAD (-6200) /COMPARE TO LIMIT 720 SZL CLA /SKIP IF OK 730 JMP VTERR /BARF 740 TAD MODCHK /GET COUNT 750 DCA Y /SETUP FOR RESTORATION 760 CDF GRFLD /GOTO BUFFER FIELD 770 TAD I Q /\ 780 RAR / \PUT BIT TO BE 790 ISZ MODCHK / /ZAPPED INTO LINK 800 JMP .-2 // 810 ISZ CHNGFLG /DELETE IT? 820 JMP VTEST /NO, TEST IT INSTEAD 830 STL /FORCE BIT ON 840 ISZ STORFLG /SHOULD WE CLEAR IT? 850 CLL /YES 860 RAL /\ 870 ISZ Y / >RESTORE WORD 880 JMP .-2 // 890 DCA I Q /STORE BACK 900 JMS MODCHK /CHECK IF MODE IS RIGHT 910 -GRFLD-3 /PUT THIS IN IF NOT 920 930 VTBACK, CLA CLL /CLEAN UP 940 CIF CDF 00 /BACK TO FIELD 0 950 JMP I (XRET) /RETURN 960 970 VTEST, CIF CDF 00 /BACK TO FIELD 0 980 SZL CLA /SET OR CLEAR? 990 NL7777 /INDICATE SET 1000 JMP I (XIN+2) /FINISH THERE 1010 1020 VTERR, CIF CDF 00 /BACK TO FIELD 0 1030 JMS I (ERR2) /OUT OF RANGE ERROR, COMPLAIN 1040 EJECT 1050 / CLEAR BUFFER SUB-ROUTINE. 1060 1070 CLRBUF, .-. /CLEAR THE BUFFER 1080 RDF /GET CALLING FIELD 1090 TAD VTERR /MAKE INTO CIF CDF INSTRUCTION 1100 DCA CLRXIT /SAVE FOR RETURNING 1110 TAD (CHRFLD+5^101) /FORCE DOUBLE CHARACTERS 1120 CIF CDF CODFLD /SELECT FIELD AND TURN OFF INTERRUPTS 1130 DCA MODE /STORE NEW MODE 1140 TAD (-6200) /SETUP 1150 DCA Q /COUNTER 1160 DCA Y /SETUP POINTER 1170 CDF GRFLD /GOTO BUFFER FIELD 1180 DCA I Y /CLEAR A WORD 1190 ISZ Y /BUMP TO NEXT 1200 ISZ Q /DONE ALL YET? 1210 JMP .-3 /NO, KEEP GOING 1220 CLRXIT, .-. /WILL BE RETURN CIF CDF 1230 JMP I CLRBUF /RETURN 1240 1250 Q, .-. /QUOTIENT 1260 Y, .-. /Y COORDINATE 1270 CHNGFLG,.-. /CHANGE/TEST FLAG 1280 STORFLG,.-. /STORE INTO FLAG 1290 1300 / INTERRUPT PROCESSOR FOR VT-8/E. 1310 1320 VTINT, DPCL /RETRACE INTERRUPT 1330 JMP VTKEY /NO, TRY VT-8/E KEYBOARD 1340 TAD MODE /\ 1350 BSW / >INVERT MODE 1360 DCA MODE // 1370 JMS DOMODE /SETUP NEW MODE