100 IFNDEF NOLOE /LPEIOT ENALES LPT: INTERRUPTS 110 IFNDEF ONEWAY /TWO-WAY LPT: HANDLING 120 IFNDEF OUT /CONSOLE OUTPUT CODE 130 140 IFZERO LPT-66 < 150 160 IFNDEF VT8LPT /NO SHARED INTERRUPT HANDLING 170 180 > 190 200 IFNDEF VT8LPT /VT-8/E LPT: IF DEVICE 66 210 EJECT 220 230 // P?S/8 DEFINITIONS. 240 250 ADRLST= 7603 /ZAP ADDRESS LIST 260 CALADR= 0020 /CALLING ADDRESS 270 CALFLD= 0021 /CALLING FIELD 280 CCHECK= 2343 /<^C> CHECK ROUTINE 290 CHKCNT= 0043 /CHECKSUM COUNT 300 CHKPTR= 0044 /CHECKSUM POINTER 310 CNTLST= 7615 /ZAP CONTENTS LIST 320 CONINT= 0000 /CONSOLE INTERRUPT LOCATION 330 CONOFF= 0100 /CONSOLE OFF 340 DEVWRD= 0104 /DEVICE WORD 350 DSPBLB= 0024 /BLURB DISPLAY 360 ERRTRP= 0046 /ERROR TRAP 370 ESTATUS=0077 /ERROR STATUS 380 FILBLB= 0023 /BLURB FILL 390 FUDWRD= 0105 /FUDGE WORD 400 HIDWRD= 7600 /SYSTEM HANDLER ID NUMBER WORD 410 INCON= 0031 /CONSOLE INPUT 420 INFLAG= 0025 /CONSOLE INPUT EVENT FLAG 430 INTFLGS=0002 /INTERRUPT FLAGS 440 INTLST= 0003 /INTERRUPT LIST POINTER 450 IOTRAP= 0045 /I/O TRAP 460 IOWAIT= 0047 /I/O WAIT 470 LCMODE= 0006 /LPT: CASE 480 LINFLAG=0030 /LPT: INPUT EVENT FLAG 490 LPMODE= 0004 /LPT: BUFFERING MODE 500 LPTFLAG=0027 /LPT: OUTPUT EVENT FLAG 510 MOVBLB= 0022 /MOVE BLURB POINTER 520 OUTCON= 0033 /CONSOLE OUTPUT 530 OUTFLAG=0026 /CONSOLE OUTPUT EVENT FLAG 540 OUTLPT= 0035 /LOGICAL LPT: 550 OVID= 0106 /OVERLAY ID AREA 560 OVRCOMM=2511 /MONITOR ONCE-ONLY REJOIN ADDRESS 570 OVRWRD= 0111 /OVERLAY TYPE WORD 580 P7JMP= 2337 /OUTPUT JUMP INSTRUCTION 590 P7OUT= 2335 /OUTPUT WAITING ADDRESS 600 P7TLS= 2340 /OUTPUT INSTRUCTION HERE 610 P7TSF= 2336 /OUTPUT SKIP INSTRUCTION HERE 620 SBOOT= 7600 /MONITOR RESTARTS HERE 630 SBTFUN= 7602 /BOOTSTRAP FUNCTION WORD 640 SCRSIZE=7611 /SYSTEM CORE SIZE WORD 650 SYSIO= 7640 /SYSTEM I/O ADDRESS 660 TRAPIO= 1041 /I/O TRAP 670 TRPBLK= 0113 /TRAP BLOCKS ARE HERE 680 TRPERR= 1200 /ERROR TRAP 690 TTY= 0003 /BASIC TTY: DEVICE CODE 700 TTYTST= 2506 /TTY: TIME-OUT ROUTINE IN KEYBOARD MONITOR 710 VTMODE= 0005 /VT-8/E MODE WORD 720 WAITIO= 1110 /I/O WAIT TRAP 730 XIOMON= 0102 /MONITOR STARTUP ADDRESS WITHIN OVERLAY 740 ZAPLST= 7627 /I/O ZAP CONTENTS LIST 750 760 // END OF P?S/8 DEFINITIONS. 770 EJECT 780 / IOT DEFINITIONS. 790 800 / CONSOLE KEYBOARD DEFINITIONS. 810 820 KIEIOT= KEY^10+6005 /KEYBOARD INTERRUPT ENABLE PER AC[11] 830 KRBIOT= KEY^10+6006 /READ KEYBOARD BUFFER, CLEAR THE FLAG 840 KSFIOT= KEY^10+6001 /SKIP ON (AND CLEAR IF 6120) KEYBOARD FLAG 850 KTIIOT= KEY^10+6003 /KEYBOARD TEST INSTRUCTION 860 870 / CONSOLE OUTPUT DEFINITIONS. 880 890 TCFIOT= OUT^10+6002 /CLEAR TTY: FLAG 900 TFLIOT= OUT^10+6000 /SET TTY: FLAG 910 TIEIOT= OUT^10+6005 /OUTPUT INTERRUPT ENABLE PER AC[11] (FOR 6120) 920 TLSIOT= OUT^10+6006 /OUTPUT CHARACTER, CLEAR FLAG 930 TSFIOT= OUT^10+6001 /SKIP ON (CLEAR IF 6120) OUTPUT FLAG 940 950 / LPT: INPUT DEFINITIONS. 960 970 ISLI= ONEWAY-1 /7777 IF LPT: INPUT, ELSE 0000 980 ISLIE= NOLIE-1&ISLI /7777 IF LIEIOT EXISTS, ELSE 0000 990 LINNOP= ONEWAY^NOP /0000 IF LPT: INPUT, ELSE 7000 1000 1010 LIEIOT= LIN^10+6005&ISLIE /LPT: INPUT INTERRUPT ENALE PER AC[11] 1020 LIRBIOT=LIN^10+6006&ISLI /READ LPT: INPUT, CLEAR FLAG (IF NOT 6120) 1030 LISFIOT=LIN^10+6001&ISLI!LINNOP /SKIP ON (CLEAR FLAG IF 6120) LPT: INPUT FLAG 1040 1050 / LPT: OUTPUT DEFINITIONS. 1060 1070 ISLOE= NOLOE-1 /7777 IF LPEIOT EXISTS, ELSE 0000 1080 1090 LCFIOT= LPT^10+6002 /CLEAR LPT: OUTPUT FLAG 1100 LLSIOT= LPT^10+6006 /OUTPUT LPT: CHARACTER, CLEAR FLAG (IF NOT 6120) 1110 LPEIOT= LPT^10+6005&ISLOE /LPT: OUTPUT INTERRUPT ENABLE PER AC[11]