/ P?S/8 PATCH TO DTFRMT / PATCH TO DEC'S DTFRMT TO MAKE IT WORK ON P?S/8 SYSTEMS. / LAST EDIT: 17-DEC-1986 23:00:00 CJL / MUST BE ASSEMBLED WITH '/J' SWITCH SET. / DEFINITIONS: C1101= 1574 /CONSTANT 1101 LOCATION DTLB= 6774 /LOAD DECTAPE "B" REGISTER M617= 1573 /CONSTANT 7161 LOCATION NL0100= CLA IAC BSW /LOAD AC WITH 0100 NTYRTN= 0263 /NORMAL TTY: RETURN ADDRESS SPARM= 7756 /EQUALS PARAMETER OF MONITOR START0= 1000 /NORMAL STARTING ADDRESS SWAL= 7604 /SWITCHES /A-/L OF MONITOR *NTYRTN+3 /WAS KRB KRS /DON'T CLEAR THE FLAG *NTYRTN+14 /OVER <^C> HANDLER / SKIPS NEXT IF <^C> HIT. JMP FLGCLR /CLEAR FLAG THERE IF NOT <^C> L7600, 7600 /CLEAN UP; ALSO BOOTSTRAP POINTER JMP I L7600/(SBOOT) /BOOTSTRAP *NTYRTN+21 /GET PAST OBSOLETE CODE FLGCLR, KCC /CLEAR FLAG NOW ON NON-<^C> *START0+4 /OVER ANNOUNCEMENT BLURB TEXT "DT4MAT V4D";0 /NEW BLURB *2500 /OVER EMPTY SPACE / INTERRUPT DISABLE TEST LIST. TESTLST,7777 /DEVICE 00 RSF /DEVICE 01 - HIGH-SPEED READER PSF /DEVICE 02 - HIGH-SPEED PUNCH 7777/KSFIOT /DEVICE 03 - CONSOLE KEYBOARD 7777/TSFIOT /DEVICE 04 - CONSOLE PRINTER 7777 /DEVICE 05 7777 /DEVICE 06 7777 /DEVICE 07 7777 /DEVICE 10 11^10+6001 /DEVICE 11 - DC02, PT08 12^10+6001 /DEVICE 12 - DC02, PT08 7777 /DEVICE 13 7777 /DEVICE 14 7777 /DEVICE 15 7777 /DEVICE 16 7777 /DEVICE 17 7777 /DEVICE 20 - EXTENDED MEMORY 7777 /DEVICE 21 - EXTENDED MEMORY 7777 /DEVICE 22 - EXTENDED MEMORY 7777 /DEVICE 23 - EXTENDED MEMORY 7777 /DEVICE 24 - EXTENDED MEMORY 7777 /DEVICE 25 - EXTENDED MEMORY 7777 /DEVICE 26 - EXTENDED MEMORY 7777 /DEVICE 27 - EXTENDED MEMORY 30^10+6001 /DEVICE 30 31^10+6001 /DEVICE 31 32^10+6001 /DEVICE 32 33^10+6001 /DEVICE 33 34^10+6001 /DEVICE 34 35^10+6001 /DEVICE 35 36^10+6001 /DEVICE 36 37^10+6001 /DEVICE 37 40^10+6001 /DEVICE 40 - PT08, KL-8/E 41^10+6001 /DEVICE 41 - PT08, KL-8/E 42^10+6001 /DEVICE 42 - KL-8/E 43^10+6001 /DEVICE 43 - KL-8/E, VT-8/E 44^10+6001 /DEVICE 44 - KL-8/E 45^10+6006 /DEVICE 45 - VT-8/E, KL-8/E 46^10+6006 /DEVICE 46 - KL-8/E 47^10+6006 /DEVICE 47 - KL-8/E 7777 /DEVICE 50 7777 /DEVICE 51 7777 /DEVICE 52 7777 /DEVICE 53 7777 /DEVICE 54 7777 /DEVICE 55 7777 /DEVICE 56 7777 /DEVICE 57 7777 /DEVICE 60 7777 /DEVICE 61 7777 /DEVICE 62 7777 /DEVICE 63 7777 /DEVICE 64 65^10+6001 /DEVICE 65 - LPT: 66^10+6001 /DEVICE 66 - LPT: 7777 /DEVICE 67 7777 /DEVICE 70 7777 /DEVICE 71 7777 /DEVICE 72 7777 /DEVICE 73 7777 /DEVICE 74 7777 /DEVICE 75 7777 /DEVICE 76 7777 /DEVICE 77 / DT4MAT SYSTEM STARTS HERE. IFNZRO .&177 DT4MAT= . /DT4MAT SYSTEM STARTS HERE DT4MAT, 0000 /HERE IN CASE CHAINED TO /ALSO ENDS THE INTERRUPT KILL LIST TAD I (SWAL) /GET SWITCHES /A-/L L7700, SMA CLA /SKIP IF SET JMP NOTA /JUMP IF NOT TAD (-220) /SETUP PDP-8 SIZE BLOCK DCA I (M617) /AS DEFAULT VALUE TAD I (SPARM) /GET EQUALS PARAMETER CMA /INVERT IT SNA /SKIP IF ANYTHING GIVEN TAD (-3300-1) /ELSE USE DEFAULT LARGE VALUE CMA /INVERT BACK TO ORIGINAL FORM TAD (-1) /BACKUP USEDEF, DCA I (C1101) /STORE AS DEFAULT VALUE NOTA, DTLB /CLEAR "B" REGISTER NL0100 /TEST FOR PDP-8/E TAD L7700/(-100) /COMPARE TO EXPECTED VALUE SNA CLA /SKIP IF OTHER CAF /ELSE CLEAR THE BUS / COMES HERE TO ATTEMPT TO CLEAR OR DISABLE ALL ACTIVE (NON-REFERENCED) / INTERRUPTS BY EXECUTIVE SEVERAL IOT'S TO THE DEVICE. THE LIST MAY BE / PATCHED FOR INSTALLATION ANOMALIES. INTKILL,TAD (TESTLST) /POINT TO DCA LSTPTR /MASTER LIST INTKLUP,TAD I LSTPTR /GET AN ENTRY SNA /END OF LIST? JMP INTDONE /YES CMA /CHECK FOR 7777 ENTRY SNA /SKIP IF NOT 7777 JMP NOKILL /JUMP IF 7777 CMA /INVERT BACK AND (7770) /REMOVE IOP BITS DCA IOTINLINE /STORE IN TEST INSTRUCTION JMS IOTEXC /EXECUTE IOT0 ISZ IOTINLINE /BUMP UP AND JMS IOTEXC /EXECUTE IOT1 ISZ IOTINLINE /BUMP UP AND JMS IOTEXC /EXECUTE IOT2 ISZ IOTINLINE /BUMP ISZ IOTINLINE /UP ISZ IOTINLINE /AND JMS IOTEXC /EXECUTE IOT5 ISZ IOTINLINE /BUMP ISZ IOTINLINE /UP AND JMS IOTEXC /EXECUTE IOT7 TAD IOTINLINE /GET IOT7 TAD (2-7) /MAKE IT IOT2 DCA IOTINLINE /STORE IN-LINE TAD (-7) /GET TIME-OUT COUNTER DCA IOTEXC /STASH IT ISZ DT4MAT /WASTE JMP .-1 /SOME TIME ISZ IOTEXC /WAITED ENOUGH? JMP .-3 /NO, KEEP GOING JMS IOTEXC /EXECUTE IOT2 NOKILL, ISZ LSTPTR /BUMP TO NEXT ELEMENT JMP INTKLUP /KEEP GOING / COMES HERE AFTER KILLING INTERRUPTS FROM THE LIST. ADDITIONAL PATCH SPACE / CAN BE USED HERE FOR KILLING WEIRD DEVICES THAT WERE REMOVED FROM THE / MASTER LIST. INTDONE,ZBLOCK 20 /FOR ADDITIONAL IOT PATCHING JMP I (START0) /GO START IT UP IOTEXC, .-. /TEST IOT EXECUTION ROUTINE IOTINLI,.-. /WILL BE PROBLEMATIC IOT CIF 00 /PREVENT PROBLEMS! CIF 00 /PREVENT PROBLEMS! CIF 00 /PREVENT PROBLEMS! CIF 00 /PREVENT PROBLEMS! IOF /PREVENT PROBLEMS! CDF 00 /PREVENT PROBLEMS! CLA CLL /CLEAN UP JMP I IOTEXC /RETURN LSTPTR, .-. /INTERRUPT DISABLE LIST POINTER PAGE $ /THAT'S ALL FOLK!