100 CLA /CLEAN UP 110 RIF /GET OUR FIELD 120 TAD [CDF] /TURN INTO CDF INSTRUCTION 130 DCA SETCDF /STORE IN-LINE 140 SETCDF, .-. /WILL BE CDF OUR FIELD 150 JMP I SETFLD /RETURN 160 170 / RELOAD CLEAR ROUTINE. 180 190 CLEAR, .-. /CLEAR ROUTINE 200 CLA CLL /CLEAN UP 210 JMP I CLEAR /RETURN 220 230 MOV4, .-. /MOVE FOUR CHARACTERS ROUTINE 240 TAD [-4] /SETUP THE 250 DCA CLEAR /MOVE COUNT 260 TAD I MOV4 /GET THE "FROM" LOCATION 270 DCA CXR1 /SET IT UP 280 ISZ MOV4 /BUMP TO NEXT 290 TAD I MOV4 /GET THE "TO" LOCATION 300 DCA CXR2 /SET IT UP 310 ISZ MOV4 /BUMP PAST ARGUMENT 320 TAD I CXR1 /GET A WORD 330 DCA I CXR2 /PUT A WORD 340 ISZ CLEAR /DONE YET? 350 JMP .-3 /NO, KEEP GOING 360 JMP I MOV4 /YES, RETURN 370 EJECT 380 PDP12EN,.-. /PDP-12 INTERRUPT ENABLE ROUTINE 390 PDP12ZA,JMP I PDP12ENABLE /**** PRE-OMNIBUS DEVICE 03 **** 0000 400 LINC /GOTO LINC MODE 410 COM /COMPLEMENT AC 420 PDP /BACK TO PDP-8 MODE 430 SNA CLA /SKIP IF AC CHANGED 440 JMP I PDP12ENABLE /RETURN IF NOT PDP-12 450 LINC /GOTO LINC MODE 460 SFA /GET CURRENT SPECIAL FUNCTIONS VALUE 470 BCLI; 40 /TURN OFF INTERRUPT INHIBIT BIT 480 ESF /WRITE BACK NEW VALUE 490 PDP /BACK TO PDP-8 MODE 500 CLA /CLEAN UP 510 JMP I PDP12ENABLE /RETURN 520 530 PAGE 540 EJECT 550 LPTBUFF=. /LPT: BUFFER STARTS HERE 560 570 NOPUNCH /FOOL THE ASSEMBLER 580 590 ZBLOCK 2600-. /END OF CHECKSUM CALCULATION REGION 600 610 ZBLOCK LPTBUFF+BUFSIZE-. /GET TO END OF LPT: BUFFER 620 630 INITEST,*6000-400 /GET TO END OF CONSOLE AREA 640 650 TRPAGE, ZBLOCK 200 /FIRST TRAP BLOCKS PAGE 660 670 TRPAG2, ZBLOCK 200 /SECOND TRAP BLOCKS PAGE 680 690 ENPUNCH /UN-FOOL THE ASSEMBLER 700 710 *INITEST /ESTABLISH CURRENT ORIGIN 720 EJECT 730 / ONCE-ONLY TEST FOR EXISTENCE CODE. THIS CAN BE LOCATED WITHIN A BUFFER 740 / ETC., SINCE IT IS ONLY USED WHEN THE OVERLAY IS RELOADED. 750 760 INITEST,.-. /EXISTENCE TEST ROUTINE 770 NL7776 /SETUP THE 780 DCA OUTCON /TIME-OUT COUNTER 790 JMS I [SETFLD] /SETUP OUR DATA FIELD 800 NL0001 /TAD (CIF-CDF) /SETUP CIF OFFSET 810 TAD I (SETCDF) /FORM CIF OUR FIELD 820 DCA I (INCIF1) /STORE IN-LINE 830 TAD I (INCIF1) /GET IT BACK 840 DCA I (INCIF2) /STORE IN-LINE 850 TAD I (INCIF2) /GET IT BACK 860 DCA I (LICIF1) /STORE IN-LINE 870 TAD I (LICIF1) /GET IT BACK 880 DCA I (LICIF2) /STORE IN LINE 890 TAD I (LICIF2) /GET IT BACK 900 DCA I (OUTCIF) /STORE IN-LINE 910 TAD I (OUTCIF) /GET IT BACK 920 DCA I (LPOCIF) /STORE IN LINE 930 TAD I (SETCDF) /GET CDF OUR FIELD 940 DCA I (LPECDF) /STORE IN-LINE 950 TAD I (SETCDF) /GET CDF OUR FIELD 960 DCA I (LPFCDF) /STORE IN-LINE 970 NL7777 /SETUP TEST VALUE 980 KTILOCA,KTIIOT /EXECUTE CONSOLE TEST IOT 990 SNA CLA /SKIP IF AC NOT CLEAR AND WE WEREN'T SKIPPED 1000 JMP OLDWAY /JUMP IF IOT CLEARED AC OR SKIPPED 1010 DMTEST, NL0010 /ATTEMPT 6120 FEAT 1020 TAD (-10) /DID IT WORK? 1030 SNA CLA /SKIP IF NOT 1040 JMP TSTAGN /JUMP IF IT DID 1050 DCA I (INPROT) /ALLOW INPUT PROTECTION VIA CIF 1060 DCA I (IFLGTEST) /SAME FOR HARDWARE TEST 1070 DCA I (LINPROT) /ALLOW LPT: INPUT PROTECTION VIA CIF 1080 DCA I (LIFLGTEST) /SAME FOR HARDWARE TEST 1090 DCA I (OUTPROTECT) /ALLOW CONSOLE OUTPUT PROTECTION VIA CIF 1100 DCA I (LPOTEST) /ALLOW LPT: OUTPUT PROTECTION VIA CIF 1110 TSTAGN, TAD (-10) /SETUP THE 1120 DCA INCON /TIME-OUT TIMER 1130 TIMTST, TSFIOT /FLAG UP? 1140 JMP TIMOUT /NO, GO TEST IT 1150 CLA CLL /YES, CLEAN UP 1160 JMP I INITEST /RETURN 1170 1180 OLDWAY, CLA /CLEAN UP 1190 DCA I (KINLOCATION) /PREVENT KEYBOARD INTERRUPT ENABLE 1200 DCA I (TINLOCATION) /PREVENT TERMINAL INTERRUPT ENABLE