100 VTLNPTR,4000 /LINE REFERENCE POINTER 110 VROLL1, .-. /TEMPORARY 120 VROLL2, .-. /TEMPORARY 130 VROLCT, .-. /TEMPORARY 140 EJECT 150 FIELD 0 /BACK TO FIELD 0 160 170 *2606 /OVER INTERRUPT CODE 180 190 CIF CODFLD /WAS TSF 200 JMP I .+1 /WAS JMP KINT 210 VTINT /WAS TCF 220 230 INTRET= . /INTERRUPT RETURN LOCATION 240 EJECT 250 *4000 /IN THE FOCAL TEXT BUFFER 260 270 PSTART, IOF /PREVENT PROBLEMS 280 TAD (BFLPTR&177+ISZC) /RESTORE LOADER 290 DCA I (BEOLOD) /INSTRUCTION 300 TAD BOTTOM /GET CURRENT LIMIT 310 TAD (7601) /BACK UP 320 AND L7600 /JUST PAGE BITS 330 DCA PBASE /SAVE IT AS BASE 340 TAD PBASE /GET BASE 350 TAD (NSTART&177-1) /GET CODE START 360 DCA BOTTOM /SETUP NEW LIMIT 370 TAD PBASE /\ 380 TAD I (LARG1) / >RELOCATE ARG CALLER 390 DCA I (LARG1) // 400 TAD I (LARG1) /GET RELOCATED ARG ADDRESS 410 DCA I (LARG2) /COPY TO OTHER CALLER 420 CDF CODFLD /GOTO CODE FIELD 430 TAD PBASE /\ 440 TAD I (POCOMAGN) / >RELOCATE "O" COMMAND REENTRY 450 DCA I (POCOMAGN) // 460 TAD PBASE /\ 470 TAD I (PDOWAIT) / >RELOCATE WAIT ROUTINE 480 DCA I (PDOWAIT) // 490 CDF 00 /BACK TO FIELD 0 500 TAD PBASE /\ 510 TAD I (OCOMX) / >RELOCATE "O" COMMAND 520 DCA I (OCOMX) // 530 TAD PBASE /\ 540 TAD I (OLISTP) / >RELOCATE "O" LIST POINTER 550 DCA I (OLISTP) // 560 TAD I (SYSIO+1) /GET OPENING INSTRUCTION 570 DCA I (DISPLC) /SAVE IT 580 TAD (JMP I 4) /GET ODT-LIKE TRAP INSTRUCTION 590 DCA I (SYSIO+1) /PUT IN PLACE OF OPENER 600 TAD PBASE /GET BASE AGAIN 610 TAD (VTRAP&177) /RELOCATE TRAP ADDRESS 620 DCA 4 /PUT INTO TRAP POINTER 630 TAD PBASE /GET BASE AGAIN 640 TAD (VTRAP2&177) /RELOCATE TRAP ADDRESS 650 DCA 174 /PUT INTO TRAP POINTER 660 TAD I L7600 /GET OLD CONTENTS 670 DCA I (DSPLC2) /SAVE FOR RESTORING LATER 680 TAD (JMP I 174) /SETUP ANOTHER TRAP 690 DCA I L7600 /FOR BOOTSTRAP ATTEMPTS 700 EJECT 710 TAD PBASE /GET BASE 720 DCA I (PXDIS2) /RELOCATE CONTINUATION POINTER 730 TAD BOTTOM /GET LIMIT 740 IAC /CORRECT 750 DCA PBASE /STASH IT 760 TAD I LNSTART /\ 770 DCA I PBASE / \ 780 ISZ LNSTART / \MOVE DOWN 790 ISZ PBASE / /THE CODE 800 ISZ PLEN / / 810 JMP .-5 // 820 CIF CODFLD /GOTO CODE FIELD 830 XLIST OFF 840 IFNZRO VTON < 850 XLIST ON 860 JMP I (OS) /PUT US ON SCREEN 870 XLIST OFF > 880 IFZERO VTON < 890 XLIST ON 900 JMP I (OT) /PUT US ON TTY: 910 XLIST OFF > 920 XLIST ON 930 940 INITBAK,TAD (CHRTMP&177+TADC) /GET PROPER INSTRUCTION 950 CIF CDF CODFLD /SELECT PROPER FIELD 960 DCA I (OEXIT+1) /RESTORE IT 970 DCA I (SPCND) /DELIMIT LIST 980 JMS I (CLRCHR) /CLEAR CHARACTER BUFFER 990 CDF CODFLD /BACK TO CODE FIELD 1000 CLA IAC /GET A ONE 1010 DKIE /ENABLE KEYBOARD INTERRUPTS 1020 DCA I (CURSW) /ENABLE CURSOR 1030 ISZ I (VTPTR) /BUMP POINTER TO 4001 1040 CDF 00 /BACK TO FIELD 0 1050 CIF CODFLD /GOTO CODE FIELD 1060 JMS I (CLRBUF) /CLEAR THE SCREEN 1070 DPLA /SETUP BUFFER ADDRESS 1080 TAD (GRFLD+3) /GET MODE BITS 1090 DPGO /START IT UP 1100 CDF 00 /BACK TO FIELD 0 1110 TAD I (CSTAR) /GET OUTPUT CHARACTER 1120 CDF CHRFLD /GOTO BUFFER FIELD 1130 TAD (400-200) /MAKE IT BOLD 1140 DCA I (4000) /INITIALIZE SCREEN 1150 CDF 00 /BACK TO FIELD 0 1160 ION /SAFE TO COME OUT NOW 1170 DPBL /RING THE BELL 1180 JMP I (BEOLOD) /RESTART THE LOADER 1190 1200 PBASE, .-. /TEMPORARY 1210 PLEN, NSTART-PSTART /PATCH LENGTH 1220 LNSTART,NSTART /BASE OF PATCH AS LOADED 1230 EJECT