100 / THE ABILITY TO INTERACT WITH THE OVERLAY BETTER. 110 120 INTFLGS,.-. /INTERRUPT FLAGS 130 INTLST, INTDEV /INTERRUPT DEVICE LIST POINTER 140 150 / THE FOLLOWING LOCATION CONTROLS WHETHER OR NOT LPT: BUFFERING OCCURS. 160 / SETTING LPMODE=1 PREVENTS BUFFERING, SETTING LPMODE=0 ALLOWS BUFFERING TO 170 / A CHARACTER. IF BUFFERING IS ALLOWED, LPMODE WILL BE NEGATIVE 180 / IMMEDIATELY AFTER SENDING A 7777 TO THE LPT: ROUTINE. THIS WILL STILL 190 / ALLOW BUFFERING, BUT WILL TEMPORARILY SUSPEND IT WHEN STARTING UP A NEW 200 / PROGRAM, SO THAT THE PROGRAM CAN TIME OUT THE EXISTENCE OF THE LPT: 210 / HARDWARE. THE LPMODE VALUE WILL BE THE TWO'S COMPLEMENT OF THE CURRENT 220 / COUNT OF CHARACTERS STILL LEFT TO BE SENT UNTIL FULL BUFFERING TO A 230 / IS TO BE REENABLED. IF LPMODE=1, THEN THIS WILL NOT OCCUR. 240 250 LPMODE, 1-LPBUFF /LPT: BUFFERING MODE; 1=NO BUFFERING ALLOWED 260 EJECT 270 / THE FOLLOWING WORD IS RESERVED FOR VT-8/E, ETC. OVERLAY STRUCTURES WHICH 280 / REQUIRE MODE SWITCHING ON INTERRUPT, ETC. IF THE USER PROGRAM DISCOVERS 290 / THAT THE VT-8/E VIDEO INTERRUPT IS BEING HANDLED BY SEARCHING THE INTERRUPT 300 / DEVICE LIST FOR AN EXTRA DEVICE, AND THAT DEVICE HAPPENS TO BE THE VT-8/E 310 / VIDEO INTERFACE, THEN THIS WORD CAN BE MODIFIED TO ALLOW USER GRAPHICS 320 / MODE, ETC. TO BE APPENDED TO THE INTERRUPT HANDLER. 330 340 VTMODE, .-. /VT-8/E MODE WORD 350 360 / THE FOLLOWING WORD CONTROLS THE DISPOSITION OF LOWER-CASE CHARACTERS TO 370 / BE OUTPUT TO THE LOGICAL LPT: HANDLER. IF LCMODE=0 THEN THESE CHARACTERS 380 / WILL BE OUTPUT AS IS; IF LCMODE=7740 THEN THEY WILL BE "FOLDED" TO THEIR 390 / UPPER-CASE EQUIVALENTS. 400 410 LCMODE, 1-LCASE^7740 /LOWER-CASE MODE; 7740=FOLD TO UPPER 420 LINCHAR,.-. /LPT: INPUT CHARACTER 430 440 *10 /GET TO AUTO-INDEX AREA 450 460 CXR1, .-. /AUTO-INDEX NUMBER ONE 470 CXR2, .-. /AUTO-INDEX NUMBER TWO 480 INCHAR, .-. /LATEST INPUT CHARACTER 490 KEYTMP, .-. /KEYBOARD INTERRUPT TEMPORARY 500 LPTAC, .-. /LPT: AC TEMPORARY 510 LPTCHAR,.-. /LPT: CHARACTER TEMPORARY 520 OUTAC, .-. /OUTPUT ROUTINE AC TEMPORARY 530 OUTCHR, .-. /OUTPUT CHARACTER TEMPORARY 540 550 *20 /GET PAST AUTO-INDEX AREA 560 570 / THE FOLLOW LOCATIONS ARE USED TO HOLD THE CALLER'S ADDRESS AND FIELD. THEY 580 / ARE USED BOTH BY THE TRAP BLOCK ROUTINES AND THE ERROR BLURB HANDLING 590 / ROUTINES OF THE OVERLAY. 600 610 CALADR, .-. /CALLING ADDRESS 620 CALFLD, .-. /CALLING FIELD 630 640 / THE FOLLOWING ARE ROUTINE POINTERS FOR THE TRAP BLOCK ROUTINES. 650 / THEY ARE EXPECTED TO HANDLE THEIR RESPECTIVE TASKS BY THE 660 / ERROR RECOVERY ROUTINES CONTAINED IN THE PARTICULAR TRAP BLOCKS OF 670 / THE CURRENTLY CONFIGURED SYSTEM. 680 690 MOVBLB, BLBMOVE /POINTER TO ERROR BLURB MOVE ROUTINE 700 FILBLB, BLBFILL /POINTER TO ERROR BLURB FILL ROUTINE 710 DSPBLB, BLBDISPLAY /POINTER TO ERROR BLURB DISPLAY ROUTINE 720 EJECT 730 / THE FOLLOWING ARE EVENT FLAGS FOR THE INTERRUPT HANDLERS OF THE DEVICES 740 / SUPPORTED BY THE OVERLAY. IT IS POSSIBLE TO REFERENCE THEM DIRECTLY FROM 750 / A REAL-TIME PROGRAM, BUT IT IS RECOMMENDED THAT THEY BE CLEARED BY CALLING 760 / THE APPROPRIATE OVERLAY ROUTINE ESPECIALLY THE LPT: INPUT FLAG. THIS FLAG 770 / IS USED TO ARBITRATE OUTPUT FLOW WITHIN THE LPT: ROUTINE ITSELF. UNLESS 780 / THE USER IS THOROUGHLY FAMILIAR WITH THE INNER STRUCTURE OF THE LPT: 790 / ROUTINE, IT IS BEST LEFT TO ITSELF! 800 810 INFLAG, 0 /CONSOLE INPUT INTERRUPT FLAG 820 OUTFLAG,0 /CONSOLE OUTPUT INTERRUPT FLAG 830 LPTFLAG,0 /LPT: OUTPUT INTERRUPT FLAG 840 LINFLAG,0 /LPT: INPUT INTERRUPT FLAG 850 860 / THE FOLLOWING ARE THE MAIN ENTRY POINTS FOR THE CONSOLE AND LPT: ROUTINES.