SWAB=7431 FIELD 0 *3365 3171 *3171 0007 2520 0000 *3747 JMP 3771 *3771 NOP CLA CLL ION JMP I 3745 FIELD 1 *2611 JMS I .+1 / JMS to the spooler patch SPLFIX *5400 SPLINT, 0 / Do before execution start NOP / For displaced instruction RPE / Enable punch interrupt CLL STA / NL-1 KKIE, KIE / Enable console interrput SPLCDF, HLT / CDF Spooler field TAD I P200 / Change JMP I target DCA I P200 / in spooler JMP I SPLINT / and do it P200, 200 SPLFIX, 0 CLA CLL IAC RTL / NL4 AND I P7726 / Spooler running? SNA CLA / Then SKP JMP PATXIT / No - no harm done CDF 00 / Get interrupt link STA CLL / NL-1 - change CIF to CDF TAD I PONE / Get CIF spooler field DCA SPLCDF / Save for later TAD I P4027 / Get word we will overwrite DCA SPLINT+1 / and save for execution TAD KJMS / Make link to SPLINT DCA I P4027 / before start TAD PSPLNT / Get address DCA I P73 / Store it in page 0 TAD KCLAL / Disable line printer DCA I P240 / output (force I/O error) TAD KNOP / Ignore line printer DCA I P415 / interrupts TAD KNOP / Ignore line printer DCA I P511 / error flag TAD KKIE / Patch ^C procedure DCA I P243 / so we can leave ISZ P243 / keyboard flag set TAD I P360 / with interrupt on DCA I P243 / (Disable console TAD KJMP1 / interrupts) DCA I P360 TAD KKIE DCA I P423 ISZ P423 TAD KTAD DCA I P423 ISZ P423 TAD KDCA DCA I P423 ISZ P423 TAD I P471 DCA I P423 ISZ P423 TAD KJMP2 DCA I P423 ISZ P423 TAD KJMP3 DCA I P471 TAD KIAC DCA I P3747 ISZ P3747 TAD KJMP4 DCA I P3747 TAD P3771 DCA I P423 TAD P320 / Make TTY default for DCA I P4266 / I/O unit 3 (DSRN table) JMS I PMOVE / Move SPLINT over RTS8 CDF 10 / patches SPLINT-1 / (MOVE will change field CDF 00 / to 10 on entry & exit) SPLINT-1 -SPLFIX+SPLINT TAD P320 / Substitute TTY for LPT DCA I P3521 / assigned to other units TAD I P7401 / Patch exit routine to DCA I P7404 / change spooler JMP I TAD SPLCDF / target on exit DCA I P7401 / (The 2-page handler ISZ P7401 / code is not needed, TAD ISZ200 / since spooler fake DCA I P7401 / handler is always 1 page. ISZ P7401 / Field is restored (to 00) TAD P200 / by regular code after this) DCA I P7401 PATXIT, SWAB / Instructions covered by KIAC, CLL CLA IAC / patch JMS I .+1 ISZ SPLFIX JMP I SPLFIX / All done P7726, 7726 / Spooler flag (Field 1) PONE, 1 / Spooler CIF (Field 0) P73, 73 / Page 0 loc for indirect P240, 240 / Internal LPT handler P243, 243 / Patch for ^C P320, 320 / Internal TTY handler P360, 360 / ^C JMP I (7600 instruction P415, 415 / Skip chain LPT P423, 423 P471, 471 P511, 511 / Skip chain LPT error P3521, 3521 / Internal handler table (F1) P3747, 3747 P3771, 3771 P4027, 4027 / Plotter intrpt disable (F0) P4266, 4266 / LPT DSRN entry PSPLNT, SPLINT / Our final patch (reloc to F0) P7401, 7401 / Exit routine patch locations P7404, 7404 / (Field 1) PMOVE, 2522 / FRTS Move routine (Field 1) KNOP, NOP / For displaced instruction KJMS, JMS I 73 / Patch instructions KJMP1, JMP 5443 KJMP2, JMP 5472 KJMP3, JMP 5423 KJMP4, JMP 5571 KTAD, TAD 5423 KDCA, DCA I 5430 KCLAL, CLA CLL ISZ200, ISZ I 5403 / Really 7403 (ISZ I .+1) $