100 110 OUTCON, .-. /CONSOLE OUTPUT ROUTINE 120 JMP I [CONOUT] /GO HANDLE IT THERE 130 140 OUTLPT, .-. /LPT: OUTPUT ROUTINE 150 JMP I [LPTOUT] /GO HANDLER IT THERE 160 170 EMPTPTR,.-. /BUFFER EMPTYING POINTER 180 EMPTR, .-. /TEMPORARY EMPTYING POINTER 190 FILLPTR,.-. /BUFFER FILLING POINTER 200 LSTATUS,0 /LPT: STATUS 210 220 / THE FOLLOWING WORDS ARE USED BY THE CONSOLE UTILITY CODE TO DETERMINE THE 230 / CHECKSUMMED REGION OF THE OVERLAY. DUE TO RESTRICTIONS OF THE UTILITY, 240 / THIS REGION MUST BE LOCATED BETWEEN 0000 AND 2577. 250 260 CHKCNT, CONOFF+1-ENDROM /CHECKSUM COUNT 270 CHKPTR, CONOFF+1 /CHECKSUM POINTER 280 290 / THE PREVIOUS LOCATIONS ARE AVAILABLE AS TEMPORARIES FOR THE OVERLAY CODE. 300 310 VTEMP1= CHKCNT /TEMPORARY 320 VTEMP2= CHKPTR /TEMPORARY 330 340 / THE FOLLOWING ARE LINKAGE POINTERS PROVIDED FOR THE TRAP BLOCK ROUTINES. 350 360 IOTRAP, JMP I [OURTRAP] /GO HANDLE I/O CALLS THERE 370 ERRTRP, JMP I [TRPERR&177+TRPAG2] /GO HANDLE I/O ERRORS THERE 380 IOWAIT, JMP I [WAITIO&177+TRPAGE] /GO WAIT FOR I/O TO COMPLETE THERE 390 0 /RESERVED FOR ADDITIONAL HANDLER INTERCEPT 400 410 / THE FOLLOWING WORD IS USED TO INDICATE INITIAL RELOADING OF THE OVERLAY. 420 / ANY CLEANUP CAUSED BY RELOADING OF THE OVERLAY IS GOVERNED BY THE 430 / VALUE OF THIS WORD. THE TRAP BLOCKS WILL BE RELOADED IF THIS WORD IS -1. 440 450 INITSW, -1 /FIRST TIME SINCE RELOAD SWITCH 460 EJECT 470 / THE FOLLOWING LOCATIONS CONTROL THE FLOW OF CURSOR ADDRESSING AND 480 / SEQUENCE COMMANDS. 490 500 CADDRES,CADNORMAL /CURSOR ADDRESSING <^N> ROUTINE ADDRESS 510 SCAPADD,SCAPNORMAL / SEQUENCE ROUTINE ADDRESS 520 530 / THE FOLLOWING LOCATION CONTROLS THE TAB-IN FOR A CONTINUED LINE AFTER 540 / A BLINKING "+" CHARACTER IS INSERTED AT THE BEGINNING OF THE LINE. 550 560 TABCNT, -50 /TAB-IN COUNT 570 580 / THE INTERRUPT ROUTINE EXITS HERE. 590 600 INTRET, .-. /WILL BE CIF CDF RETURN FIELD 610 JMP I CONINT /RETURN TO CALLER 620 630 / THE CONSOLE TURNOFF ROUTINE EXITS HERE. 640 650 OFFRET, .-. /WILL BE CIF CDF RETURN FIELD 660 JMP I CONOFF /RETURN TO CALLER 670 680 / THE LPT: ROUTINE EXITS HERE. 690 700 LPTRET, .-. /WILL BE CIF CDF RETURN FIELD 710 JMP I OUTLPT /RETURN TO CALLER 720 730 / THE INPUT ROUTINE RETURNS HERE. 740 750 INRET, .-. /WILL BE CIF CDF RETURN FIELD 760 JMP I INCON /RETURN TO CALLER 770 780 / THE OUTPUT ROUTINE RETURNS HERE. 790 800 OUTRET, .-. /WILL BE CIF CDF RETURN FIELD 810 JMP I OUTCON /RETURN TO CALLER 820 830 GOFLAG, .-. /HARDWARE "GO" FLAG (NO INTERRUPTS ONLY) 840 OLDCHR, .-. /PREVIOUS CONTENTS OF LOCATION WHERE CURSOR IS 850 OLDPTR, OLDPTR /ADDRESS OF CURSED LOCATION 860 VTLNPTR,.-. /POINTER TO BEGINNING OF CURRENT LINE IN DISPLAY BUFFER 870 VTPTR, .-. /POINTER TO CURRENT CHARACTER IN DISPLAY BUFFER 880 VMODE, .-. /AUGMENTATION MODE BITS 890 CURSW, .-. /CURSOR ON SWITCH 900 IOERSW, 0 /I/O ERROR RECOVRY SWITCH 910 920 ZBLOCK 77-. /EMPTY SPACE 930 940 ESTATUS,.-. /ERROR STATUS STORED HERE DURING ERROR RECOVERY 950 EJECT 960 / THE FOLLOWING ENTRY IS USED FOR ANY HOUSEKEEPING NEEDED BY 970 / THE OVERLAY ROUTINES WHEN THE OVERLAY IS REQUESTED TO SHUT DOWN 980 / BY VARIOUS PROGRAMS SUCH AS "BIN" ETC., WHICH CAN'T FUNCTION DURING 990 / DMA, ETC. CAUSED BY VARIOUS VERSIONS OF THE OVERLAY. 1000 1010 CONOFF, .-. /CONSOLE OFF ROUTINE 1020 JMP I [OFFCON] /HANDLE IT THERE 1030 1040 / THE FOLLOWING IS THE SPECIAL ENTRY POINT FOR THE KEYBOARD MONITOR. IT IS 1050 / DELIBERATELY PLACED WITHIN THE "ROM" AREA (WHICH STARTED ONE WORD AGO) 1060 / AS A DELIBERATE MEASURE TO CAUSE RELOAD IN CASE THE OVERLAY IS PARTIALLY 1070 / CLOBBERED, BUT NOT WITHIN THE "ROM" AREA. SHOULD THE MONITOR INITIALIZATION