1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4001 + 4001 + 4001 Date: Sept 20, 1977 Person: Engle -Component: TIME (360/1) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) When subroutine is used on a 360 and the print option is specified, "SPRINT CALL USES ILLEGAL PARAMETERS" results. -Source changes expressed in old update (*UPDATE) form, +______________ based on D4.0 sequence id. %AFTER TIME0620 SR R15,R15 -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /BEGIN C4001 /COPY "TOFSOVLY" /COPY COUNT=3 SR R15,R15 /END -Comments: +________ Corrects incorrect value for modifiers address in SPRINT parameter list when run on a 360. Note: Object for TIME on the restore tape has been changed. Source, updated as per above, is in MTS:TIME on the restore-tape pack. 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4002 + 4002 + 4002 Date: Sept 22, 1977 Person: Alexander -Component: MTS (42/1) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) Local time limit expiring just when user program was entering CMD subroutine was not handled properly. -Source changes expressed in old update (*UPDATE) form, +______________ based on D4.0 sequence id. %AFTER MTS00742 MVI CLSCMDID+1,MTSFLG for local time limit * at entry to CMD -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /BEGIN C4002 /COPY "NXTSEG" /COPY COUNT=4 MVI CLSCMDID+1,MTSFLG for local time limit * at entry to CMD /END -Comments: +________ REP cards for this are in the *IPL... files on the restore-tape pack. 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4003 + 4003 + 4003 Date: Sept 22, 1977 Person: Helffrich -Component: TABLES(DECKGEN) (004/5) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) Corrects bug in generation of the CHANNELS table for selector sub-channels. -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /BEGIN C4003 /COPY "TABSEL" /COPY COUNT=3 TABSE5 DS 0H /COPY "TABSE4" /EDIT "TABSE1" = "TABSE5" /END -Comments: +________ This correction is in the restore-tape pack files MTS:DCKPCHR.S and MTS:DCKPCHR.O, and the ipl files *IPL... 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4004 + 4004 + 4004 Date: Sept 22, 1977 Person: Helffrich -Component: TABLES(DECKGEN) (004/5) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) Corrects generation of BLKMPX table, for both 360s and 370s. -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /BEGIN C4004 /COPY "TABSIO1" /COPY BLANKS "ESDEF BLKMPX,R2" /SKIP COUNT=2 /COPY "TABBLK1" /DELETE BLANKS "TM 3(RA),1" TM 3(RA),8 SEL SUB? /DELETE BLANKS "BZ TABBLK2" BO TABBLK2 YES /END -Comments: +________ This correction is in the restore-tape pack files MTS:DCKPCHR.S and MTS:DCKPCHR.O, and the ipl files *IPL... 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4005 + 4005 + 4005 Date: Sept 22, 1977 Person: Helffrich -Component: TABLES(DECKGEN) (004/5) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) Fixes bug in allocation of TERMBFRS. -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /BEGIN C4005 /COPY "TABGNJT" /COPY BLANKS "ESDEF TERMBFRS,R2" /DELETE BLANKS "LA R1,2(R2,R2)" LA R1,0(R8,R8) PAST 'BUFUSE' /DELETE BLANKS "BCTR R0,0" /SKIP COUNT=1 /END -Comments: +________ This correction is in the restore-tape pack files MTS:DCKPCHR.S and MTS:DCKPCHR.O, and the ipl files *IPL... 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4006 + 4006 + 4006 Date: Oct 5, 1977 Person: Tiffany -Component: *APC(NEW_EXPLAIN) (496/5) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) If the user attempts "EXPLAIN COMPARE", he gets more than just the description of the COMPARE command. -Source changes expressed in edit commands form, +______________ based on D4.0 source. EDIT ETC:APCEXP SCAN 'COMPARE' CHANGE '6M'6' STOP -Comments: +________ The offensive letter "M" after a line number for the description of the COMPARE command is removed. 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4007 + 4007 + 4007 Date: Oct 07, 1977 Person: Lift -Component: PLOT SYSTEM(PALPHA) (615/7) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) Corrects bug in PALPHA which prevented loading of alphabets from user files. -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /BEGIN C4007 /COPY BEFORE "PALIB7" PALIB7 L 3,0(,1) SAVE CONTROL BLOCK ADDRESS /EDIT "PALIB7" = " " /DELETE " L 3,CPACON" /END 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4008 + 4008 + 4008 Date: Oct 07, 1977 Person: Lift -Component: PLOT SYSTEM(PALPHA) (615/7) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) Corrects bug in PSMLEN which prevented it from working for characters sets with grid size > 16. -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /BEGIN C4008 /COPY BEFORE " LA 7,PLCHARC" /SKIP C=4 /COPY BEFORE "PLCHARA" /COPY C=2 /SKIP C=1 /COPY BEFORE "PLCHARD" /SKIP C=3 /END 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4009 + 4009 + 4009 Date: Oct 07, 1977 Person: Alexander -Component: MTS (42/1) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) The changes specified in Change Form 4002 were incorrect in that they not only fixed the problem described, they also "fixed" a great many other things too. REMOVE THE CHANGES SPECIFIED BY 4002 and then apply the change here. -Source changes expressed in old update (*UPDATE) form, +______________ based on D4.0 sequence id. %AFTER MTS04618 MVI CLSCMDID+1,MTSFLG -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /BEGIN C4009 /COPY 'OKEDONE ' MVI CLSCMDID+1,MTSFLG /END -Comments: +________ Don't forget to REMOVE THE INSERTION SPECIFIED in 4002. 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4010 + 4010 + 4010 Date: Oct 10, 1977 Person: Sherry -Component: UMLOAD (001/1) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) Corrects bug discovered by RPI to round length on END card to nearest doubleword. -Source changes expressed in old update (*UPDATE) form, +______________ based on D4.0 sequence id. %DELETE UMLD1827 ENDCF3 LA R2,7(,R2) ROUND UP LENGTH TO N R2,=X'FFFFFFF8' NEAREST DOUBLEWORD. ST R2,ESDLEN CSECT FINALLY HAS A LENGTH -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /BEGIN C4010 /DELETE "ENDCF3 ST R2,ESDLEN" ENDCF3 LA R2,7(,R2) ROUND UP LENGTH TO N R2,=X'FFFFFFF8' NEAREST DOUBLEWORD. ST R2,ESDLEN CSECT FINALLY HAS A LENGTH /END -Comments: +________ This bug caused some TXT cards (in OS-generated modules) to be rejected with the message "ILLEGAL TXT CARD LENGTH DETECTED" 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4011 + 4011 + 4011 Date: Oct 11, 1977 Person: Lift -Component: PLOT SYSTEM(CBDSECT) (615/8) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) Changes alphabet names from 8c to 16c. -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /BEGIN C4011 /DELETE "CBNAME" CBNAME DS CL16 ALPHABET NAME /END -Comments: +________ This correction is to the dsect, so PSYM (615/6) and PALPHA (615/7) must be reassembled. 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4012 + 4012 + 4012 Date: Oct 12, 1977 Person: Lift -Component: PLOT SYSTEM(PALPHA) (615/7) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) Changes (with #4011) alphabet names from 8c to 16c. -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /BEGIN C4012 /COPY "PALPHA1" /DELETE BLANKS "CLC 0(8,2)" CLC 0(9,2),=C'STANDARD ' IS IT DEFAULT ONE? /COPY BEFORE " L 15,=V(PSYMSW1)" /COPY COUNT=3 /EDIT "9" = "17" /COPY BEFORE "PALIB1" /COPY COUNT=4 /DELETE BLANKS "MVC DWORD(8)" MVC DWORD(16),=CL16' ' PAD CALLER'S NAME TO 16C /COPY "PALIB8" /DELETE BLANKS "L 1,4(,2)" /SKIP COUNT=1 /EDIT "CPA" = "CDI" /EDIT "READ" = "READBFR" /DELETE BLANKS "L 3,4(,2)" L 3,CDIREAD /DELETE BLANKS "LA 4,12" LA 4,20 ENTRY: 16C NAME, F LINE# /COPY BEFORE "PALIB4" /EDIT "0(8,3),DWORD " = "0(16,3),DWORD" /COPY BEFORE "PALIB6" /EDIT "1,8(,3) " = "1,16(,3)" /COPY "CPAREAD" CDIREAD DC A(0,LPABUF,MODF,LNUM,PAFDUB) FOR READBFR /DELETE "DWORD" DWORD DS 2D /COPY "DEFALPHA" /COPY COUNT=3 DC C' ' /END -Comments: +________ Note #4011 should be applied before this one. 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4013 + 4013 + 4013 Date: Oct 11, 1977 Person: Alexander -Component: TABLES(DECKGEN) (004/5) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) Fixes generation of reverse pathfinding tables in cases where the first control unit on a channel has a high address. Formerly clobbered the tables generated. -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /BEGIN C4013 /COPY 'TABGL11 ' /DELETE NEXT 'SR' NEXT 'R9,R9' LA R9,16 USE MINIMUM VALUE /END 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4014 + 4014 + 4014 Date: OCT 12, 1977 Person: Salisbury -Component: SDS(EDITOR) (600/010) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) Corrects bug in adding PL/I external variables to symbol table. -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /BEGIN C4014 /COPY "DATADVS" /COPY COUNT=1 /SKIP COUNT=2 /END -Comments: +________ Deletes test for external entry in SDS editor 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4015 + 4015 + 4015 Date: OCT 12, 1977 Person: Salisbury -Component: SDS(IOC) (600/006) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) Corrects bug in handling variables@T=I on 360/67 -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /BEGIN C4015 /COPY "SUEX" /DELETE BLANKS "L GR4,0(REALADD)" LOAD GR4,0(REALADD),4 GET OPCODE AND MASK /END -Comments: +________ Changes load instr to LOAD macro call. 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4016 + 4016 + 4016 Date: OCT 12, 1977 Person: Salisbury -Component: SDS(IOC) (600/006) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) Scans for blank or comma ending binary input data -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /BEGIN C4016 /COPY "BINCONV1" /COPY COUNT=2 CLI 0(WA),C' ' BE BINEXIT CLI 0(WA),C',' BE BINEXIT /END 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4017 + 4017 + 4017 Date: OCT 12, 1977 Person: Salisbury -Component: SDS(CLSSOU) (600/001) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) Allows multiple A-type and B-type constants within a single input item -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /BEGIN C4017 /COPY BEFORE "INAIP" INAIP CLI 0(WA),C'''' BNE INACHK2 INACHK1 LA WA,1(WA) B INACHK3 INACHK2 CLI 0(WA),C',' BE INACHK1 INACHK3 CLI 0(WA),C' ' BNE INACHK4 LA WA,1(WA) B INACHK3 /EDIT "INAIP " = "INACHK4" /DELETE BLANKS "LA WA,1(WA)" /DELETE BLANKS "SR GR15,GR15" /EDIT "INPUFOC" = "INFTFC3" /COPY BEFORE "INBIP" INBIP CLI 0(WA),C'''' BNE INBCHK2 INBCHK1 LA WA,1(WA) B INBCHK3 INBCHK2 CLI 0(WA),C',' BE INBCHK1 INBCHK3 CLI 0(WA),C' ' BNE INBCHK4 LA WA,1(WA) B INBCHK3 INBCHK4 BCTR WA,0 /EDIT "INBIP" = " " /COPY COUNT=2 /EDIT "INPUFOC" = "INFTFC3" /END 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4018 + 4018 + 4018 Date: Oct 22, 1977 Person: Lift -Component: PLOT SYSTEM(ETC:PLOTALPHA) (615/9) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) Changes alphabet names to 16C and introduces aliases for some names. -Source changes expressed in edit commands form, +______________ based on D4.0 source. ED ETC:PLOTALPHA DE 1.001 1.999 OK A 1 #TN#TN # A 2 A 1 #HELVETIC#HELVETIC # A 3 A 1 #GOTHICEN#GOTHICEN # A 4 A 1 #ROMANTX#ROMANTX # A 5 A 1 #ITALICTX#ITALICTX # A 6 A 1 #GREEKCS#GREEKCS # A 7 A 1 #ITALICCS#ITALICCS # A 8 A 1 #ROMANCS#ROMANCS # A 9 A 1 #ROMANDX#ROMANDX # A 10 A 1 #GREEKSX#GREEKSX # A 11 A 1 #ROMANSX#ROMANSX # A 12 A 1 #SCRIPTSX#SCRIPTSX # A 13 A 1 #GOTHICGE#GOTHICGE # A 14 A 1 #GOTHICIT#GOTHICIT # A 15 A 1 #SCRIPTCX#SCRIPTCX # A 16 A 1 #ROMANCX#ROMANCX # A 17 A 1 #ITALICCX#ITALICCX # A 18 A 1 #GREEKCX#GREEKCX # A 19 A 1 #CYRILLCX#CYRILLCX # A 20 A 1 #ROMANCAR#ROMANCAR # A 21 A 1 #GREEKCAR#GREEKCAR # A 22 A 1 #HIRAGANA#HIRAGANA # A 23 A 1 #KATAKANA#KATAKANA # A 24 A 1 #KANJI1#KANJI1 # A 25 A 1 #KANJI2#KANJI2 # A 26 A 1 #KANJI3#KANJI3 # A 27 A 1 #KANJI4#KANJI4 # A 28 A 1 #KANJI5#KANJI5 # A 29 COPY 1 TO 100 CONC 100 LEN=20 DE 100 DE 121 127 OK A 101 #HELVETIC #HELVETICA.1# A 102 #GOTHICEN #GOTHIC.ENGLISH# A 103 #ROMANTX#ROMAN.3# A 104 #ITALICTX#ITALIC.3# A 105 #GREEKCS #GREEK.2A# A 106 #ITALICCS #ITALIC.2A# A 107 #ROMANCS #ROMAN.2A# A 108 #ROMANDX #SANSERIF.2# A 109 #GREEKSX#GREEK.1# A 110 #ROMANSX #SANSERIF.1# A 111 #SCRIPTSX#SCRIPT.1# A 112 #GOTHICGE #GOTHIC.FRAKTUR# A 113 #GOTHICIT #GOTHIC.ITALIAN# A 114 #SCRIPTCX#SCRIPT.2# A 115 #ROMANCX#ROMAN.2# A 116 #ITALICCX#ITALIC.2# A 117 #GREEKCX#GREEK.2# A 118 #CYRILLCX #CYRILLIC.2# A 119 #ROMANCAR #SANSERIF.CART# A 120 #GREEKCAR #GREEK.CART# CONC 100 120 MOVE 100 120 TO 1.001 CONC 1 1.999 DE 100 *L OK DE 1.001 1.999 OK STOP 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4019 + 4019 + 4019 Date: Oct 18,1977 Person: FRONCZAK -Component: CALC(CLS) (585/001) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) Corrects the bug of not properly (re)initializing ATTNTRP upon (re)entry to the CALC CLS. -Source changes expressed in old update (*UPDATE) form, +______________ based on D4.0 sequence id. %AFTER CALC0230 MVI INTSAVE,0 DAMNED RESET!!! -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /BEGIN C4019 /COPY '* SOME INIT' /COPY C=2 MVI INTSAVE,0 DAMNED RESET!!! /END 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4020 + 4020 + 4020 Date: November 1, 1977 Person: Salisbury -Component: SDS(SDSCLSSOU) (600/001) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) Corrects bug in the processing of call tracing when the call is from a low-core address. -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /BEGIN C4020 /COPY BEFORE "IBPTCHK2" IBPTERR6 SET TRCNORET,18 SET NO RETURN FLAG B IBPTERR IBPTCHK2 CLI BREAKTYP,BRKRET RETURN BREAKPOINT? BE IBPTERR6 DON'T SET /EDIT "IBPTCHK2" = " " /COPY "IBPTSIM" /COPY COUNT=1 CLI BREAKTYP,BRKRET RETURN BREAKPOINT? BE IBPTERR6 DON'T SET /COPY "OPERCALL" /COPY COUNT=7 RESET TRCNORET,18 RESET NO RETURN FLAG /COPY BEFORE "OPERCAL4" OPERCAL4 TOF TRCNORET,OPERCAL5,18 NO RETURN FLAG? BRT ' (NO TRACING OF RETURN)' /EDIT "OPERCAL4" = "OPERCAL5" /END 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4021 + 4021 + 4021 Date: November 1, 1977 Person: Salisbury -Component: SDS(SDSCLISOU) (600/004) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) Part of correction described in #4020 -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /BEGIN C4021 /COPY BEFORE "CSNODO" /EDIT "SMODE10" = "SMODE10+SPRED" /END 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4022 + 4022 + 4022 Date: November 1, 1977 Person: Salisbury -Component: SDS(SDSPSECT) (600/013) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) Part of correction described in #4020 -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /BEGIN C4022 /COPY "TRCCALL" TRCNORET EQU X'08' 1 -> NO TRACE OF RETURN /END 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4023 + 4023 + 4023 Date: November 3, 1977 Person: Engle -Component: ACCOUNTING(GETFILE) (104/88) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) If a call on GDINFO3 produces a wait to open and that wait is interrupted, GDINFO3 does not open the file but still returns with a return code of zero. This change locks the file around the call on GDINFO3 and thus, by eliminating the possibility of a wait to open, insures that the file will be opened. -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /B C4023 /D LEN(72) "GTFL0046" ST R0,FDUB LA R1,=A(FDUB,F1,FM1) LOCK L R15,=V(LOCK) BASR R14,R15 LOCK FILE TO AVOID WAIT TO OPEN C R15,=F'20' BE LOCK WAIT TO LOCK INTERRUPTED LTR R1,R15 BNZ RETURN ERROR /COP LEN(72) "GTFL0055" LA R1,=A(FDUB) L R15,=V(UNLK) BASR R14,R15 UNLOCK FILE LTR R15,R15 BNZ RETURN ERROR /COP LEN(72) "GTFL0069" FDUB DS A FM1 DC F'-1' F1 DC F'1' /EN -Comments: +________ This error allowed the user to interrupt the wait to open produced by GDINFO3 for *ACCOUNTINGn. The file, consequently, was not opened; and when READ attempted to do an implicit open, an attention interrupt would cause the wait to open to be interrupted with a sideways exit, leaving *ACCOUNTING locked. 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4024 + 4024 + 4024 Date: Nov 11,1977 Person: Helffrich -Component: GATE (4000/1) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) Corrects bug causing MODECHG bit to be on if user supplies bad GR13 value for gated routine. -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /BEGIN C4024 /COPY "BADGR13 " NI SWSP1,OFF-MODECHG didn't get around to changing /END C4024 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4025 + 4025 + 4025 Date: Nov 11,1977 Person: Helffrich -Component: GATE (4000/1) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) Fixes GUINFUPD entry in GATE. -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /BEGIN C4025 /DELETE "GUINFUPD " GUINFUPD PORT SAVE,CLASS=3 /END C4025 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4026 + 4026 + 4026 Date: November 16, 1977 Person: Salisbury -Component: SDS(SDSCLISOU) (600/004) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) Change MODIFY command such that users may not modify system storage by specifying operands in the form (GRx)+yyy -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /BEGIN C4026 /COPY BEFORE "MODBLOC8" MODBLOC8 BAL LINK,PREDFCHK CHECK PREDEFINED SYMBOL /EDIT "MODBLOC8" = " " /COPY BEFORE "MODEXIT" MODERR12 COMMENT 'INVALID DISPLACEMENT FOR PREDEFINED SYMBOL.' B NNEWCARD MODERR13 COMMENT 'INVALID LENGTH FOR PREDEFINED SYMBOL.' B NNEWCARD /COPY "UNDOMOV" * * CHECK PREDEFINED SYMBOL FOR REASONABLE MODIFICATION * PREDFCHK TOF SPRED,0(LINK),3 PREDEFINED SYMBOL? ST GR0,CLILINK2 SAVE REGISTER CLC SSYMBOL(2),=C'GR' GENERAL REGISTER? BE PREDF2 LA GR0,8 SET PSW OR FR LENGTH PREDF1 S GR0,CDISP BNH MODERR12 DISPLACEMENT TOO BIG BCTR GR0,0 CR WC,GR0 BH MODERR13 LENGTH TOO BIG L GR0,CLILINK2 RESTORE REGISTER BR LINK PREDF2 LA GR0,4 SET GR LENGTH B PREDF1 /END 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4027 + 4027 + 4027 Date: November 18, 1977 Person: MTA -Component: PDP (044/1) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) The PDP gets an ILDN error when it retries after a fatal I/O error on a paging disk (rather than a drum). -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /BEGIN C4027 /COPY 'UCRETRY2' /COPY C=2 L 0,DRUMLDN GET JUST THE LDN /END 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4028 + 4028 + 4028 Date: November 23, 1977 Person: Engle -Component: *INDEX (580/1) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) If an entry attribute begins with a double colon, designating a text colon instead of a sub-heading, and no sub-heading (single) colons appear in the entry attribute, the result is as though the entry attribute began with a triple colon. -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /B C4028 /D LEN(72) "INDX0402" IF SUBSTR(NAME,N+1,1)=':' THEN DO; /COP LEN(72) "INDX0406" /S LEN(72) "INDX0408" ELSE DO; /EN 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4029 + 4029 + 4029 Date: November 23, 1977 Person: Engle -Component: *INDEX (580/1) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) If 4 or more consecutive colons appear in an entry attribute to designate 2 or more consecutive text colons, the multiple text colons are condensed to a single colon. -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /B C4029 /D LEN(72) "INDX0167" FF = INDEX(SUBSTR(WORDD,NN+LENGTH(SUB)),CHAR); IF FF=0 THEN NN=0; ELSE NN=NN+FF+LENGTH(SUB)-1; /COP LEN(72) "INDX0472" /S LEN(72) "INDX0479" CALL SUBS(LINE, '/', '/Z'); /EN -Comments: +________ The change at INDX0473-INDX0479 does not correct an error, but was made possible by the error correction at INDX0167. 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4030 + 4030 + 4030 Date: November 28, 1977 Person: Engle -Component: *INDEX (580/1) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) If a level N subheading is given and the headings for the N-1 and N-2 levels are not given separately with location attributes, only the N and N-1 level headings are printed. E.g., if "1 A" and "2 A:B:C:D" are entered and entries for A:B and A:B:C are not given, the headings A, C, and D will print, but the heading B will not print. -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /B C4030 /D LEN(72) "INDX0400" HEAD: N=INDEX(NAME,':'); /D LEN(72) "INDX0412" F=LENGTH(PRESENT)-1; IF SUBSTR(PRESENT, 1, F)=SUBSTR(FORMER, 1, F) THEN N= INDEX(NAME, ':'); ELSE N=0; /COP LEN(72) "INDX0414" /S LEN(72) "INDX0416" F=LENGTH(PRESENT)-1; IF SUBSTR(PRESENT,1,F) Â= SUBSTR(FORMER,1,F) THEN /D LEN(72) "INDX0418" FORMER=SUBSTR(PRESENT,1,F); /D LEN(72) "INDX0441" CALL SUBS(NAME, '::', ':'); /COP LEN(72) "INDX0523" /S LEN(72) "INDX0525" GO TO HEAD; /EN 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4031 + 4031 + 4031 Date: Nov 28, 1977 Person: Lift -Component: PLOT SYSTEM(PLTBGN) (615/3) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) Corrects PLTBGN bug occuring when PLTSIZ used or incorrect argument given to PLTBGN -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /BEGIN /COPY BEFORE BLANKS "BO PBGN1" /EDIT "PBGN1" = "PBGN7" /COPY BEFORE BLANKS "LA 10,PBGN5" /EDIT " " = "PBGN7" /DELETE BLANKS "L 2,YWIDTH" LE 0,YWIDTH DE 0,USCALE STE 0,PACKING L 2,PACKING /END 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4032 + 4032 + 4032 Date: Dec 2, 1977 Person: Lift -Component: PLOT SYSTEM(PSYM) (615/6) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) Corrects bug in doing carriage returns while using relative coordinates -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /BEGIN /COPY BEFORE BLANKS "ST 4,XMARGIN" /BUFFER MARGINS /EDIT " " = "PSINIT3" /COPY COUNT=1 /BUFFER END /COPY BEFORE BLANKS "BZ PSINIT2" /EDIT "PSINIT2" = "PSINIT3" /COPY ".CCP5" /INCLUDE MARGINS /END 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4033 + 4033 + 4033 Date: Dec 12, 1977 Person: Lift -Component: PLOT SYSTEM(PALPHA) (615/7) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) Allows a little more space after "1" in the standard alphabet. -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /BEGIN /COPY "DEFCHAR" /COPY BEFORE " DC X'06636F4D080B3D5F9FBDBA3433B30E0B'" /EDIT "06" = "07" /END 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4034 + 4034 + 4034 Date: Dec 12, 1977 Person: Lift -Component: PLOT SYSTEM(CCASM) (615/4) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) Establishes synonyms PWIND for PRSTER, PONWIN for PONRST, and POFWIN for POFRST. Next V11 will use the new names in place of the old. -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /BEGIN /COPY "#PRASTR CSECT" /COPY BEFORE BLANKS "ENTRY PRSTER" /EDIT "PRSTER " = "PWIND,PRSTER" /COPY BEFORE "PRSTER" /EDIT "PRSTER" = "PWIND " PRSTER EQU PWIND /COPY BEFORE BLANKS "ENTRY POFRST" /EDIT "POFRST " = "POFWIN,POFRST" /COPY BEFORE "POFRST" /EDIT "POFRST" = "POFWIN" POFRST EQU POFWIN /COPY BEFORE BLANKS "ENTRY PONRST" /EDIT "PONRST" = "PONWIN,PONRST" /COPY BEFORE "PONRST" /EDIT "PONRST" = "PONWIN" PONRST EQU PONWIN /END 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4035 + 4035 + 4035 Date: Dec 13, 1977 Person: Helffrich -Component: MTS (42/1) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) Change of the job number encoding in internal scratch file names. If job number goes over 9999, the first digit goes to A, B, C, etc. Base 33, sort of. -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /BEGIN SFWRAP /. SFWRAP -- Fix up scratch file numbering scheme so won't wrap /. after job # 10000 /COPY NEXT "CVD" NEXT "SCA,SCRATCH2" NEXT "SAVE JOB NUMBER" /COPY C=1 SRDA SCA,32 D SCA,=F'1000' IF JOB # > 1000, MAKE FIRST IC SCA,BASE36(SCB) DIGIT DO A, B, C, ... STC SCA,SCRFNAME+4 STUNT /COPY "STPARS " BASE36 DC C'0123456789ABCDEFGHIJKLMNOPQRSTUVWQQSV' /DELETE NEXT "USING" NEXT "*,GR10" USING INLOOPX,GR10 This section is self-addressable /COPY END /END SFWRAP 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4036 + 4036 + 4036 Date: Dec 13, 1977 Person: Helffrich -Component: MTS (42/1) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) Make allocation/deallocation of FDUBs less subject to error if SYGNOF branched to by GETSPACE/FREESPAC. Makes system less suceptible to LOADT usecounts going negative. NOTE: This change requires change #4037 to be applied at the same time. -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /BEGIN ROBUST1 /. ROBUST1 -- Make fdub allocation/decallocation more robust /. on a busy system with lots of people hanging up /. in the middle of the signoff procedure. /COPY "CFDCHAIN " /COPY C=5 /INCLUDE CFDMOVE /COPY "CFDNON " /BUFFER CFDMOVE /COPY C=4 LR SCA,GR1 /COPY C=3 LR GR1,SCA /EDIT "SCA" = "GR1" /COPY C=2 /BUFFER END /COPY END /END ROBUST1 -Comments: +________ This is part 1 of a two-change-form change. See also #4037. 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4037 + 4037 + 4037 Date: Dec 13, 1977 Person: Helffrich -Component: FSUB (635/1) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) Make allocation/deallocation of FDUBs less subject to error if SYGNOF branched to by GETSPACE/FREESPAC. Makes system less suceptible to LOADT usecounts going negative. NOTE: This change requires change #4036 to be applied at the same time. -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /BEGIN ROBUST1 /. ROBUST1:: To make GIVEBACK a bit more fail-safe in the /. giving back of FDUBs. /COPY BEFORE "*" BLANKS "FDGET" /EDIT "." = "," * IN MTS (IF YOU ARE NOT ONE OF THE HAPPY * FEW WHO ALREADY KNOWS THIS.) /COPY TAB(72) "FSUB0498" /EDIT "BER" = "BZR" /COPY "GVBULNE" /COPY COUNT=1 LTR SCA,SCA FCB still there? (Could happen if BZ GVBFDB jumped out of middle of SYGNOF) /DELETE BLANKS "BNP GVBGRFF" BP GVBFDB -> somebody still using FCB XC FDUBLN,FDUBLN not any more for this FDUB B GVBGRFF /COPY "GVBFDB " /SKIP COUNT=17 * L SCB,FDUBNAM get backpointer to pointer LTR SCB,SCB BZ *+16 -> none XC 0(4,SCB),0(SCB) pointer XC FDUBNAM,FDUBNAM and backpointer * BAL GR14,UNCHFDUB unchain FDUB * L GR1,FDUBNAME release name if any LTR GR1,GR1 BZ *+14 XC FDUBNAME,FDUBNAME BAL GR14,HIABYMH * L GR1,FDUBERM release error message if any LTR GR1,GR1 BZ *+14 XC FDUBERM,FDUBERM BAL GR14,HIABYMH * L GR1,FDUBERXS release I/O error suspension LTR GR1,GR1 block, if any BZ *+14 XC FDUBERXS,FDUBERXS BAL GR14,HIABYMH * /COPY "GVBGRFCB" /COPY BLANKS "L GR1,FCBMXLBA" XC FCBMXLBA,FCBMXLBA make sure it gets lost /END ROBUST1 -Comments: +________ This is the second of a two-changeform change. See also #4036. 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4038 + 4038 + 4038 Date: Dec 13, 1977 Person: Ogden -Component: CMDS (636/1) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) Rewrite of SIGNONM job program. -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /BEGIN SMNEW /. SMNEW -- New SIGNONM /COPY BEFORE "SIGNONM " /DELETE "SIGNONM " /SKIP COUNT=8 EJECT * SIGNONM -- Job program to read a line from the console * which becomes a message printed out at * signon for MTS users. SPACE 3 SIGNONM DC A(*+8,0) USING *,15 LA 1,SIGONMS+2 SVC READ BZ *-2 BACK AGAIN IF CANCELLED * AR 1,0 end of message+1 AH 0,=H'1' include CC character in length SIGNONM1 BCTR 1,0 trim off blanks CLI 0(1),C' ' BNE *+8 BCT 0,SIGNONM1 -> loop de loop * STC 0,SIGONMS resultant length, maybe zero SVC EXIT -> back to the womb SIGONMS DC AL1(0),101C' ' length, text /COPY END /END SMNEW 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4039 + 4039 + 4039 Date: Dec 13, 1977 Person: Helffrich -Component: CMDS (636/1) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) Fix bug in D4.0 causing explicit concatenation of files to be opened with the program key *MTS.RUN rather than *MTS.ETC.RUN -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /BEGIN RUNPKEY /. RUNPKEY -- Fixes bug causing program key to not be set /. to *MTS.ETC.RUN when FDName concatenation is /. run /COPY "STDNEWF2 " /COPY COUNT=3 NI SWS17,255-DFPID don't default program key * TM SWS2,DBGCMSW BO STDDFPID -> $DEBUGging today L SCA,FDUBCH LTR SCA,SCA BNZ STDETCPK -> exp.concatenation, set to .ETC. TM FDUBSWS2,FDUBBLN+FDUBELN+FDUBMOD BNZ STDETCPK -> beginning #, ending # or mods TM FDUBS,FDUBINC BO STDETCPK -> explicit increment TM SWS4,NOUNLD BO STDETCPK -> UNLOAD=OFF CLI SHFSEP,C':' BE STDOPEN -> no changed SHFSEP SPACE STDETCPK L SCA,CLSPTR+MTSFLG*4 MVC CLSPID-CLSAREA(12,SCA),=CL12'*MTS.ETC.RUN' STDDFPID OI SWS17,DFPID flag something weird happened /COPY C=1 /ED " " = "STDOPEN" /COPY "STHOPEOK " /COPY COUNT=10 TM SWS17,DFPID BO STH04 -> see if PROT status needs change /SKIP COUNT=14 /DELETE "STH04 " /SKIP C=4 STH04 DS 0H /COPY BEFORE "STEXP21 " /ED "STEXP21" = " " /END RUNPKEY 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4040 + 4040 + 4040 Date: Dec 13, 1977 Person: Helffrich -Component: CMDS (636/1) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) Fixes MTS SNARKing if user signs on with a ridiculously low global time limit. -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /BEGIN T=.001 /. T=.001 -- Fixes snark if user says '$SIG xxxx T=.001' /. -- by setting lowest time limit to .003, naturally /COPY BEFORE "SIGPAST " L GR15,GLOBCPUT check time limit, if given C GR15,=A(100*768/10) must be > .1 BNL SIGPAST BXLE GR15,GR15,SIGPAST and nonzero MVC GLOBCPUT,=A(100*768/10) /END T=.001 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4041 + 4041 + 4041 Date: Dec 13, 1977 Person: Helffrich -Component: CMDS (636/1) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) Fix bug causing EXEC cls to not return to cls which invoked it, but rather always the MTS cls. -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /BEGIN EXECRET /. EXECRET -- Fix so that any CLS which calls the EXEC CLS /. gets returned to when the EXEC CLS returns. /COPY "SYSLAB2 " /COPY C=5 /EDIT " " = "SYSLAB3" /COPY "RETLAB " /COPY BEFORE NEXT "B" NEXT "SYSLAB2" /EDIT "SYSLAB2" = "SYSLAB3" /DELETE NEXT "B" NEXT "CKDUMP" /INCLUDE CKDUMP /COPY BEFORE "MTSCLAB2 " MTSCLAB2 OI SWS19,RUNTOFDA disable RUNTOF setting CLSCMDID cuz * we already did it (==KLUDGE) /EDIT "MTSCLAB2" = " " /COPY "MTSCMVC " /SKIP C=1 /BUFFER CKDUMP /EDIT "CKDUMP" = " " /COPY C=5 /BUFFER END /COPY "RUNTOF " /COPY C=3 TM SWS19,RUNTOFDA BO RUNTOF1 -> this means don't touch CLSCMDID CLI CLSCURB,EXECFLG BNE RUNTOF1 -> EXEC wasn't previous, CLSCMDID * already set L SCA,CLSPTR+EXECFLG*4 LTR SCA,SCA BZ RUNTOF1 -> no EXEC CLS MVC CLSCMDID,CLSCRID-CLSAREA(SCA) set up EXEC CLS invoker RUNTOF1 NI SWS19,255-RUNTOFDA reset -- only a one-shot deal /END EXECRET 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4042 + 4042 + 4042 Date: Dec 13, 1977 Person: Helffrich -Component: CMDS (636/1) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) Fix bug causing scratch files not to be destroyed if SCRFCHAR=* -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /BEGIN SFCBUG /. SFCBUG -- Fix bug causing scratch files not being destroyed /. if SCRFCHAR=* /COPY "GROD " /COPY BEFORE NEXT "LA" NEXT "GR1,DSFDL" MVI FNIASF,C'-' a nice, safe scratch file char /END SFCBUG 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4043 + 4043 + 4043 Date: Dec 13, 1977 Person: Helffrich -Component: DSRS (637/1) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) Fix bug in PEEL when @MAXLEN@PEEL modifier combination used. -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /BEGIN PEELBUG /. PEELBUG -- Fix bug in PEEL causing unexpected movement of /. stuff in segment 5 if high order byte of address /. has garbage in it. /COPY "PEEL " /COPY C=8 LA SCC,0(,SCC) /COPY END /END PEELBUG 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4044 + 4044 + 4044 Date: Dec 13, 1977 Person: Helffrich -Component: DSRS (637/1) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) Fix another @MAXLEN@PEEL combination bug. -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /BEGIN PEELBUG2 /. PEELBUG2 -- Fix another bug in peel if empty file read from /. with @PEEL@MAXLEN set. Caused a reference to /. page 0 in PEEL. /COPY "PEEL " /EDIT "BE" = "BZ" /COPY NEXT "LA" NEXT "GR2,0(GR1,SCC)" LR GR3,SCC save location of line LTR GR2,GR2 BZ PEEL1 -> no input buffer /COPY C=3 /SKIP C=1 /COPY C=3 /EDIT " " = "PEEL1" /END PEELBUG2 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4045 + 4045 + 4045 Date: Dec 13, 1977 Person: Helffrich -Component: DSRI (639/1) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) Make sure user input area is blanked following implicit concatenation to another file. Wipes out fragment of $CONTINUE WITH xxxx left in input buffer. -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /BEGIN AREABLNK /. AREABLNK :: to make sure user's input area is blanked from /. end of text to end of area if explicit concat. /. or $ENDFILE read resulted in end-of-file. /. Previously, this condition resulted in $ENDFILE /. or the tail end of the $CONTINUE WITH ... to be /. left in the buffer. /COPY MAXCOUNT=1200 "GIOSIQU" /DELETE BLANKS "BE PSFXFE" BE ISENDFIL -> give EOF /DELETE BLANKS "BE PSFXFE" /SKIP COUNT=1 BNE GIOSIQC ISENDFIL BAL GR14,BLANKIT blank rest of input region B PSFXFE * /COPY "GIOSIQV" /COPY COUNT=1 /SKIP BLANKS "EX" NEXT "SCB,GIOSMVC" /COPY BLANKS "LR GR3,SCA" BAL GR14,BLANKIT blank rest of input region /COPY "GIOSIQBB" /SKIP COUNT=4 /EDIT "0(SCA),FDUBNOEC " = "FDUBMTB,FDUBNOEC" /COPY TAB(72) "DSRI1343" EJECT * BLANKIT -- Subroutine to blank out what we read for * possible implicit concatenation or endfile. * * Clobbers SCRATCH. * Assumes GR13 points to original savearea at call SPACE 3 BLANKIT STM SCA,SCD,SCRATCH L SCA,24(,GR13) get original GR1 LM SCA,SCB,0(SCA) A(reg,len) LH SCB,0(,SCB) get length LA SCC,0(SCA,SCB) end of input region * XR SCD,SCD select either X'00' or C' ' to CLI 0(SCC),0 wipe out buffer with BPI OPND,*+8 -> edge of world, use x'00' BE *+8 LA SCD,C' ' * AIF (&S370).MVCL STC SCD,0(,SCA) propagate this S SCB,=F'2' BM BLANKRET -> nothing much to do BLANKNXT S SCB,=F'256' BM BLANKLST MVC 1(256,SCA),0(SCA) propagate fill character LA SCA,256(,SCA) B BLANKNXT BLANKMVC MVC 1(0,SCA),0(SCA) BLANKLST EX SCB,BLANKMVC fill last portion AGO .NOMVCL .MVCL SLL SCD,24 fill character MVCL SCA,SCC zap the easy way .NOMVCL ANOP BLANKRET LM SCA,SCD,SCRATCH BR GR14 /COPY END /END AREABLNK 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4046 + 4046 + 4046 Date: Dec 13, 1977 Person: Helffrich -Component: DSRI (639/1) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) Fix bug in D4.0 MTS causing PGNT if SETIOERR subroutine returns and original parameter list of output subroutine did not have a line number parameter. -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /BEGIN IOERSFL /. :: Fix to save FAKELIST across I/O error subroutine /. calls. /COPY "EXNOGATE" /SKIP COUNT=1 XR GR14,GR14 assume not using fakelist; identifed ST GR14,4+DSRISFL by zero address of length HW LA GR14,FAKELIST CR GR14,SCB BNE UIOENOFL -> not using fakelist MVC DSRISFL(7*4),FAKELIST save fakelist here /EDIT " " = "UIOENOFL" /COPY BEFORE "UIOEB1" /SKIP COUNT=4 * UIOEB1 L GR2,24(,GR13) assume using user's parameters L GR14,4+DSRISFL but check if fakelist was really LTR GR14,GR14 used BZ UIOEB2 -> no, user's parameters MVC FAKELIST(7*4),DSRISFL LA GR2,FAKELIST UIOEB2 XC FDUBERXS,FDUBERXS free DIRISUSP BAL GR14,HIABYMH after covering tracks LR GR1,GR2 restore parameter list pointer /END IOERSFL 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4046.1 + 4046.1 + 4046.1 Date: Dec 13, 1977 Person: Helffrich -Component: TIMT (539/1) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) Just a cleanup of some things. -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /BEGIN CLEANUP1 /. CLEANUP1:: Just a few diddlie things /COPY "SWSNOLD" /COPY COUNT=3 /SKIP COUNT=2 JOBTBL N=1,R=GR12 /COPY "NOTCAND" /SKIP COUNT=2 JOBTBL N=1,R=GR4 /END CLEANUP1 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4047 + 4047 + 4047 Date: Dec 13, 1977 Person: Helffrich -Component: GATE (4000/1) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) Remove TRANTB from gate -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /BEGIN REMTTB /. REMTTB -- Remove "TRANTB" from GATE /DELETE "TRANTB" NEXT "PORT" /COPY END /END REMTTB 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4048 + 4048 + 4048 Date: Dec 13, 1977 Person: Helffrich -Component: USUB (638/1) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) Fix bug causing subversion of LSS-imposed time limit if SETLCL called to reset timer interrupt. -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /BEGIN LCLTBUG /. LCLTBUG -- Fixes bug which lets users subvert LSS if their /. program sets a small local time limit. /COPY BEFORE "SETLRS " SETLRS TM SWS8,LSSBIT LSS=on for this user? BO SETLRC4 -> yes, then can't cancel LSS limit /EDIT "SETLRS" = " " /COPY END /END LCLTBUG 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4049 + 4049 + 4049 Date: Dec 16, 1977 Person: Sherry -Component: *WATFIV(INOUT) -- UPDATE (483/001) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) Fix bug in INOUT to properly diagnose syntax errors in I/O statements with NAMELIST specified. -Source changes expressed in edit commands form, +______________ based on D4.0 source. EDIT WAT5.SGEN COMMENT -- Edit update to INOUT assembly -- INSERT 58033 %AFTER '08610000' ; INOUT BUGFIX IF (IOBJBIT,ON,X'08'),IERSXA No list for NAMELIST $ENDFILE STOP -Comments: +________ I/O statements of the form: READ(5,DATA) X,Y,Z were not flagged as syntax errors if DATA was a NAMELIST variable (no list is allowed). 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4050 + 4050 + 4050 Date: Dec 16, 1977 Person: Sherry -Component: *WATFIV(STARTB) -- UPDATE (483/001) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) Fix bug in STARTB to detect illegal subscript for variable dimension of dummy array in subroutines. -Source changes expressed in edit commands form, +______________ based on D4.0 source. EDIT WAT5.SGEN COMMENT -- Edit update to STARTB assembly -- COMMENT -- (near sequence id '10180000') -- INSERT 77077 LA R6,0(,R6) Clear top byte of address $ENDFILE STOP -Comments: +________ This corrects a bug n the following situations: SUBROUTINE X( A, N) DIMENSION A(N) A(20) = 0. If N=20 and A is dimensioned as A(10) in the calling program, the reference to A(20) will now be flagged as an error. 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4051 + 4051 + 4051 Date: December 16, 1977 Person: Engle -Component: GRJLDT/GRJLTM SUBRS (GRJLDT) (519/1) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) Check for and produce a return code of 4 if "digits" in the argument would produce a data exception. -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /B C4051 /S LEN(72) "GJDT0002" GJDT TITLE 'S-TYPE CALLING INTERFACE FOR GRGJULDT--C. F. ENGLE--16 1 DEC 77' /COP LEN(72) "GJDT0005" PACK DOUBLE(2),0(2,1) CHECK FOR POTENTIAL DATA EXCEPTIONS PACK DOUBLE+2(2),3(2,1) PACK DOUBLE+4(2),6(2,1) LA 15,4 CP DOUBLE(2),DOUBLE+2(2) BPI OPND,EXIT CP DOUBLE(2),DOUBLE+4(2) BPI OPND,EXIT /D LEN(72) "GJDT0009" SR 15,15 EXIT L 13,SAVE+4 /D LEN(72) "GJDT0011" /EN 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4052 + 4052 + 4052 Date: December 16, 1977 Person: Engle -Component: GRJLDT/GRJLTM SUBRS (GRJLTM) (519/3) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) Check for and produce a return code of 4 if "digits" in the argument would produce a data exception. -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /B C4052 /D LEN(72) "GJTM0002" DEC 77' /COP LEN(72) "GJTM0005" PACK QUAD(2),0(2,1) CHECK FOR POTENTIAL DATA EXCEPTIONS PACK QUAD+2(2),3(2,1) PACK QUAD+4(2),6(2,1) PACK QUAD+6(2),8(2,1) PACK QUAD+8(2),11(2,1) PACK QUAD+10(2),14(2,1) LA 15,4 CP QUAD(2),QUAD+2(2) BPI OPND,EXIT CP QUAD+4(2),QUAD+6(2) BPI OPND,EXIT CP QUAD+8(2),QUAD+10(2) BPI OPND,EXIT /D LEN(72) "GJTM0009" SR 15,15 EXIT L 13,SAVE+4 /D LEN(72) "GJTM0011" /EN 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4053 + 4053 + 4053 Date: December 16, 1977 Person: Engle -Component: GROSDT (520/1) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) Check for and produce a return code of 4 if "digits" in the first argument would produce a data exception. -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /B C4053 /D LEN(72) "GODT0001" GODT TITLE 'GREGORIAN TO OS DATE CONVERSION--C. F. ENGLE--16 DEC 771 /COP LEN(72) "GODT0008" PACK DOUBLE(2),0(2,1) CHECK FOR POTENTIAL DATA EXCEPTIONS PACK DOUBLE+2(2),3(2,1) PACK DOUBLE+4(2),6(2,1) LA 15,4 CP DOUBLE(2),DOUBLE+2(2) BPI OPND,EXIT CP DOUBLE(2),DOUBLE+4(2) BPI OPND,EXIT /D LEN(72) "GODT0025" SR 15,15 EXIT L 13,SAVE+4 /D LEN(72) "GODT0027" /EN 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4054 + 4054 + 4054 Date: 20 December, 1977 Person: Lift -Component: PLOT SYSTEM(ASM) (615/4) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) Fixes a bug which occurred when both optional arguments were omitted. -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /BEGIN C4054 /COPY "PNUMBR" /COPY " LA 8,=F'0'" SR 9,9 /DELETE " SR 9,9" /END 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4055 + 4055 + 4055 Date: Dec 22, 1977 Person: Boettner -Component: FILESTATUS (529/1) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) The SUMMARY option failed to print summary items for several things, including the number of files, last-changed date, and file information items if a catalog scan was the last thing done. Also if a catalog scan was followed by a single file and file information was requested (as in: $FILESTATUS (AARD?,VARK) SIZE for example) then file information printed for the single file was really the information for the last file in the catalog scan. -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /BEGIN C4055 /COPY BEFORE BLANKS 'XC SCATINFO' /EDIT '10' = '12' /COPY BLANKS 'XC SFILINFO' MVC SCATINFO+CIONID-CIDSECT(4),=CL32' ' ZAP THESE, MVC SCATINFO+CIVOL-CIDSECT(8),=CL32' ' HAVING NO MEANING MVC SCATINFO+CIPKEY-CIDSECT(12),=CL32' ' FOR SUMMARIZATION /COPY 'FILOOPE' /DELETE BLANKS 'BE BX' BE BXCAT /COPY BEFORE 'BX' BXCAT MVC FILINFO,SAVFILI RESTORE THIS, DONE WITH SCAN /DELETE BLANKS 'MVC CATINFO' MVC CATINFO+8(12*4),SCATINFO+8 /COPY 'NAMES2' /COPY BLANKS 'MVI' CVD GR6,DBLWD ED 0(4,GR1),DBLWD+6 A GR1,CBWID XR GR15,GR15 BR GR14 /END -Source changes expressed in old update (*UPDATE) form, +______________ based on D4.0 sequence id. %DELETE FSTA0241 XC SCATINFO(12*4),SCATINFO %AFTER FSTA0242 MVC SCATINFO+CIONID-CIDSECT(4),=CL32' ' ZAP THESE, MVC SCATINFO+CIVOL-CIDSECT(8),=CL32' ' HAVING NO MEANING MVC SCATINFO+CIPKEY-CIDSECT(12),=CL32' ' FOR SUMMARIZATION %DELETE FSTA0781 BE BXCAT %AFTER FSTA0790 BXCAT MVC FILINFO,SAVFILI RESTORE THIS, DONE WITH SCAN %DELETE FSTA0798 MVC CATINFO+8(12*4),SCATINFO+8 %AFTER FSTA1584 CVD GR6,DBLWD ED 0(4,GR1),DBLWD+6 A GR1,CBWID XR GR15,GR15 BR GR14 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4056 + 4056 + 4056 Date: January 6, 1978 Person: Engle -Component: BILLING (BILLING) (500/4) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) If a checkpoint is written after all records with type numbers greater than or equal to 1 have been processed, i.e., at most, only project records (type 0) remain in the input stream after the checkpoint is written, a VB record with null data (record length including record descriptor length equals 4) is written to file REPORT. This null data record causes an error when processed by BILPRNT (500/7) for ALL, RUN, or CHARGE. -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /B C4056 /D LEN(72) 'BILL0593' PUT FILE(REPORT) EDIT(TVCODE, '-') (COL(1), 2 A); /EN 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4057 + 4057 + 4057 Date: January 6, 1978 Person: Engle -Component: ACCOUNTING CLS (ACCMXMAT) (631/6) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) Last line printed by STATUS PROJECT produced high order truncation when the number of signon ID's in the project was greater than 999. -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /B C4057 /COP LEN(72) 'AMXM0802' /S LEN(72) 'AMXM0804' MVC CNTMSG+16(6),=X'402020202120' ED CNTMSG+16(6),DOUBLE+5 /COP LEN(72) 'AMXM0808' /S LEN(72) 'AMXM0810' MVC CNTMSG+34(6),=X'402020202120' ED CNTMSG+34(6),DOUBLE+5 /COP LEN(72) 'AMXM0812' /S LEN(72) 'AMXM0814' MVC CNTMSG+47(6),=X'402020202120' ED CNTMSG+47(6),DOUBLE+5 /COP LEN(72) 'AMXM2207' /S LEN(72) 'AMXM2209' CNTMSG DC C' NOCHANGE ON FOR AND OFF FOR OF THE 1 PROJECT ID''S' /EN 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4058 + 4058 + 4058 Date: Jan 19, 1978 Person: Tiffany -Component: UNLINKER (562/001) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) Prevents generation of junk RLD from an overlay module. Occurs only when OS linkage editor doesn't reset bit 7 of flag field in last RLD data for ENTAB. -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /BEGIN C4058 /SKIP COUNT=1 UNLK TITLE 'ROUTINE TO PUNCH OS LOAD MODULES FOR MTS (AN198)' /COPY "RLDP " /COPY COUNT=1 MVI RLDSW,0 RESET RLDSW. /COPY SPAN(" ") "END" SPAN(" ") "UNLK" /SKIP SPAN(" ") "EJECT" /END -Comments: +________ The switch is reset at start. Extra source records at end are also removed. 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4059 + 4059 + 4059 Date: January 20, 1978 Person: Engle -Component: GRJLDT/GRJLTM SUBRS (GRJLDT) (519/1) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) Return a value of zero if the return code is nonzero. -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /B C4059 /S BEFORE LEN(72) 'GJDT0003' GJDT TITLE 'S-TYPE CALLING INTERFACE FOR GRGJULDT--C. F. ENGLE--19 1 JAN 78' /COP LEN(72) 'GJDT0005' /COP C=3 SR 0,0 /EN -Comments: +________ Assumes that change number 4051 has been applied. 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4060 + 4060 + 4060 Date: January 20, 1978 Person: Engle -Component: GRJLDT/GRJLTM SUBRS (GRJLTM) (519/3) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) Return a value of zero if the return code is nonzero. -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /B C4060 /S BEFORE LEN(72) 'GJTM0003' GJTM TITLE 'S-TYPE CALLING INTERFACE FOR GRGJULTM--C. F. ENGLE--19 1 JAN 78' /COP LEN(72) 'GJTM0005' /COP C=6 SR 0,0 /COP LEN(72) 'GJTM0008' /COP C=1 LR 0,1 /D LEN(72) 'GJTM0012' /EN -Comments: +________ Assumes that change number 4052 has been applied. 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4061 + 4061 + 4061 Date: January 20, 1978 Person: Engle -Component: GROSDT (520/1) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) Return values consisting of all blanks if the return code is nonzero. -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /B C4061 /S BEFORE LEN(72) 'GODT0002' GODT TITLE 'GREGORIAN TO OS DATE CONVERSION--C. F. ENGLE--19 JAN 781 /COP LEN(72) 'GODT0006' /S LEN(72) 'GODT0008' MVC 0(8,3),=CL8' ' BLANKS /COP BEFORE LEN(72) 'GODT0009' MVC 3(2,3),6(1) YEAR /D LEN(72) 'GODT0023' SR 15,15 EXIT MVC DOUBLE,0(3) /COP LEN(72) 'GODT0024' /S C=2 L 13,SAVE+4 /EN -Comments: +________ Assumes that change number 4053 has been applied. 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4062 + 4062 + 4062 Date: January 20, 1978 Person: Engle -Component: OSGRDT (523/1) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) Check for and produce a return code of 4 and values consisting of all blanks if "digits" in the first argument would produce a data exception. -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /B C4062 /D LEN(72) 'OGDT0001' OGDT TITLE 'OS TO GREGORIAN DATE CONVERSION--C. F. ENGLE--19 JAN 781 /D LEN(72) 'OGDT0007' PACK 0(2,3),3(2,1) CHECK FOR POTENTIAL DATA EXCEPTIONS PACK 2(2,3),5(3,1) MVC DOUBLE,=CL8' ' LA 15,4 CP 0(2,3),2(2,3) BPI OPND,EXIT ZAP DOUBLE,2(2,3) GET DAYS /D LEN(72) 'OGDT0020' SR 15,15 EXIT MVC 0(8,3),DOUBLE /D LEN(72) 'OGDT0024' /EN 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4063 + 4063 + 4063 Date: Jan 23, 1978 Person: Tiffany -Component: APC (0496/003) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) If the synchronization mode is on, the printout ignores the PRCOL option. -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /BEGIN C4063 /COPY "PRNTBOTH" /COPY SPAN(" ") "IF" SPAN(" ") "R3,NZ" S R2,=F'12' MAKE ROOM FOR LINE NUMBER A R2,PRCOL ACCOUNT FOR PRCOL S R3,PRCOL SET LENGTH=LENGTH-PRCOL+1 A R3,=F'1' IF NEG IF NEGATIVE, ZERO LENGTH SR R3,R3 S R2,PRCOL A R2,=F'1' ENDIF /DELETE SPAN(" ") "S" SPAN(" ") "R2,=F'11'" /COPY SPAN(" ") "IF" SPAN(" ") "R5,NZ" S R4,=F'12' MAKE ROOM FOR LINE NUMBER A R4,PRCOL ACCOUNT FOR PRCOL S R5,PRCOL SET LENGTH=LENGTH-PRCOL+1 A R5,=F'1' IF NEG IF NEGATIVE, ZERO LENGTH SR R5,R5 S R4,PRCOL A R4,=F'1' ENDIF /DELETE SPAN(" ") "S" SPAN(" ") "R4,=F'11'" /END 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4064 + 4064 + 4064 Date: Jan 23,1978 Person: MTA -Component: RAMROD(SERVICE MODULE) (1019/1) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) Any system with a record longer than 256 bytes (for example a CSI record) won't load properly. -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /BEGIN C4064 /COPY 'TMLOOP ' /COPY NEXT 'A ' A R7,=F'256' UPDATE TO ADDRESS ALSO /END 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4065 + 4065 + 4065 Date: Jan 23, 1978 Person: MTA -Component: *FAKEOS(UPDATES) (545/5) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) OPEN blows up if the number of buffers requested is not odd (i.e if it is a multiple of 2). -Source changes expressed in old update (*UPDATE) form, +______________ based on D4.0 sequence id. %DELETE FAKB4096 %DELETE FAKB4102 *NUMBER OF BUFFERS WANTED IN GR0 AND LENGTH OF EACH IN GR1 %DELETE FAKB4108 MH R1,DOUBLE TOTAL LENGTH OF ALL BUFFERS -Comments: +________ These updates should be merged into 545/5 in the appropriate place. 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4066 + 4066 + 4066 Date: Jan 23, 1978 Person: MTA -Component: *FAKEOS(BDAM SIMULATOR) (545/7) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) Every BDAM I/O operation allocates X'90' bytes for an IOB which is never released or reused. -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /BEGIN C4066 /COPY 'DAWAIT ' /COPY NEXT 'STC ' /BUFFER CHAIN /SKIP '* CAM ' /COPY BEFORE NEXT 'SR ' NEXT 'RF,RF ' /SKIP C=1 /BUFFER END /COPY 'DACHKSYN ' /COPY C=1 MVI IOBDAVLI,0 RELEASE IOB /COPY BEFORE 'DACLRIOB ' /EDIT F=1 REM = /COPY NEXT 'ST ' NEXT 'R4,' /INCLUDE CHAIN MVI IOBDAVLI,255 MARK IT IN USE /EDIT F=1 = 'DACLRIOB' /END 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4067 + 4067 + 4067 Date: Jan 24, 1978 Person: Sherry -Component: UMLOAD (001/1) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) Fix the relocation factor of CM with non-zero origin (as produced by the OS Linkage Editor) - it's not the same as the value. -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /BEGIN C4067 /COPY "ESDDEF92 TM" /COPY COUNT=1 TM SETESD+ESDST1D,COMBT IF ESD ITEM = CM, COMPUTE NEW BO ESDDEF8 RELFAC IN CASE NONZERO ORIGIN /END -Comments: +________ This bug caused A-type adcons referencing non-zero origin CMs to be improperly relocated (inter-module references). 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4068 + 4068 + 4068 Date: Jan 24, 1978 Person: Sherry -Component: UMLOAD (001/1) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) Fix to properly relocate V-con reference to CM with non-zero origin from csect defined within same module as csect declaring CM as produced by the OS linkage editor (intra-module reference). -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /BEGIN C4068 /COPY "RLDSA3 OI" /COPY COUNT=6 TM RBFLGS+3,X'10' A V-CON REFERENCE? BO RLDSA4 NO NEED TO RELOCATE NOW /END 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4069 + 4069 + 4069 Date: Jan 24, 1978 Person: Sherry -Component: LLXU (354/1) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) Fix bug to free input fdub when loading empty file with the noprompt and return on error bits set. -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /BEGIN C4069 /COPY "XRUNIT L" /COPY BEFORE BLANKS "BO XLERRET" /EDIT "XLERRET" = "XLERROR" /END -Comments: +________ This caused the file to be locked so other users could not access it while the calling program was still loaded. 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4070 + 4070 + 4070 Date: Jan 30, 1978 Person: Tiffany -Component: APC (0496/003) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) To correct line number for sequential files when scanning backwards. -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /BEGIN C4070 /DELETE "NOSCAN0 " NOSCAN0 IF IOMOD+1,O,X'20',TM BACKWARDS? NI IOMOD+1,NOT-X'20' NI IOSWS,NOT-EOFSW ENDIF /COPY SPAN(" ") "BM" SPAN(" ") "READBSR " IF IOSWS,O,EOFSW,TM ENDFILE? TM IOMOD+1,X'20' BACKWARDS? BZ READSEQ3 NO, QUICK RETURN NI IOSWS,NOT-EOFSW RESET SWITCH ENDIF /SKIP COUNT=2 /COPY BEFORE SPAN(" ") "BE" SPAN(" ") "READSEQ2" /EDIT "SEQ2" = "SEQ6" /COPY BEFORE SPAN(" ") "L" SPAN(" ") "R1,RDSAVE" L R1,=F'1000' SET INCREMENT TM IOMOD+1,X'20' IF BACKWARDS, BZ *+6 NEGATE IT. LNR R1,R1 A R1,RDSAVE UPDATE LINE NUMBER /SKIP COUNT=2 /COPY BEFORE "READSEQ2" READSEQ6 IF IOMOD+1,O,X'20',TM IF BACKWARDS XC IOLNR,IOLNR SET LNR=0.0 ELSE /COPY BEFORE "READSEQ5" ENDIF /END 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4071 + 4071 + 4071 Date: Feb 3, 1978 Person: Boettner -Component: FILESTATUS COMMAND (0529/001) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) To correct one of the corrections in Change Form 4055. The MVC instruction with label BXCAT that was inserted just before the line with label BX should be executed only if SPCBIT is on, since otherwise SAVFILI does not have a valid value. This caused various strange behaviors, including pgnts. The following change assumes that Change 4055 has already been applied. -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /BEGIN C4071 /COPY BEFORE 'BXCAT' BXCAT TM SWS3,SPCBIT BZ BX /EDIT 'BXCAT' = ' ' /END 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4072 + 4072 + 4072 Date: February 6, 1978 Person: Engle -Component: ACCOUNTING (STATUS) (104/11) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) Exceeding a global time limit in conversational mode or a local time limit in batch or conversational mode while the accounting file is locked will leave the file locked until the program is unloaded. This change causes the program to terminate without locking the file if either of these limits leaves too little remaining time. -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /B C4072 /D LEN(72) 'STAT0001' STAT TITLE 'ACCOUNTING STATUS FOR MTS USER--C. F. ENGLE--6 FEB 78' /COP LEN(72) 'STAT0133' MACRO &NAME GUINFO &ITEM,&LOC .********************************************************************** .* * .* ITEM THE LOCATION SPECIFYING THE GUINFO ITEM TO BE OBTAINED.* .* LOC THE LOCATION INTO WHICH THE GUINFO ITEM WILL BE PLACED.* .* * .********************************************************************** &NAME LA R1,=A(&ITEM,&LOC) L R15,=V(GUINFO) BALR R14,R15 LTR R15,R15 BNZ GUINFERR MEND SPACE 5 /COP LEN(72) 'STAT0158' GETELT EQU 38 SVC DEFINITION SPACE 5 /D LEN(72) 'STAT0168' /S LEN(72) 'STAT0173' GUINFO SIGNONID,ID GET USER SIGNON ID /D LEN(72) 'STAT0182' GUINFO LOCCPUT,DOUBLE GUINFO BATCHMD,DOUBLE+4 C R6,DOUBLE+4 BNE CKLCLTM BATCH, NO GLOBAL TIME LIMIT PROBLEM GUINFO GLOBCPUT,DOUBLE+4 L R2,DOUBLE+4 LTR R2,R2 BZ CKLCLTM NO GLOBAL TIME LIMIT GUINFO GLOBTTN,DOUBLE+4 GLOBAL TIME LIMIT BASE A R2,DOUBLE+4 C R6,DOUBLE BNE LCLBASE LOCAL TIME LIMIT B GETREQTM SPACE 5 CKLCLTM C R6,DOUBLE BE GETACC NO LOCAL TIME LIMIT L R2,=X'7FFFFFFF' MAXIMUM FOR GLOBAL TIME LIMIT LCLBASE GUINFO LOCTTN,DOUBLE+4 LOCAL TIME LIMIT BASE L R3,DOUBLE A R3,DOUBLE+4 CR R2,R3 BNH GETREQTM GLOBAL LIMIT BEFORE LOCAL LIMIT LR R2,R3 USE LOCAL TIME LIMIT GETREQTM L R3,=F'-7680' -0.1 CPU SEC NEEDED TO READ ACC REC L R15,=V(CNFGINFO) USING CNFGINFD,R15 CLC CIMODEL,=X'0470' BE CKREMTM 470V/6 SLA R3,1 MINUS CPU TIME NEEDED FOR 370/168 CLC CIMODEL,=X'0168' BE CKREMTM 370/168 DROP R15 MH R3,=H'6' MINUS CPU TIME NEEDED FOR 360/67 CKREMTM AR R3,R2 SVC GETELT CURRENT CPU TIME SR R3,R0 SR R3,R1 REMAINING CPU TIME MINUS TIME NEEDED BM NOTIME INSUFFICIENT CPU TIME TO READ ACC REC GETACC L R0,SAVE+4 /D LEN(72) 'STAT0255' /S LEN(72) 'STAT0258' GUINFO BATCHMD,DOUBLE C R6,DOUBLE BE NOFULL NOT BATCH, ABBREVIATED OUTPUT /COP LEN(72) 'STAT0267' GUINFERR LA R1,=A(GUINFMSG,H13,0) GUINFO ERROR B READERR SPACE 5 /COP LEN(72) 'STAT0275' NOTIME LA R1,=A(NOTIMMSG,H44,0) INSUFFICIENT CPU TIME B READERR SPACE 5 /COP LEN(72) 'STAT0692' BATCHMD DC F'10' /COP LEN(72) 'STAT0695' GLOBCPUT DC F'78' GLOBTTN DC F'94' /COP LEN(72) 'STAT0701' LOCCPUT DC F'86' LOCTTN DC F'96' /COP LEN(72) 'STAT0703' SIGNONID DC F'2' /COP LEN(72) 'STAT0710' H44 DC H'44' /COP LEN(72) 'STAT0720' GUINFMSG DC C' GUINFO ERROR' /COP LEN(72) 'STAT0723' NOTIMMSG DC C' THE LOCAL OR GLOBAL TIME LIMIT IS TOO SMALL' /COP LEN(72) 'STAT0740' *********************************************************************** * * * MACHINE CONFIGURATION TABLE * * * *********************************************************************** SPACE 5 COPY *CNFGINFODSECT EJECT /EN 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4073 + 4073 + 4073 Date: FEBRUARY 7, 1978 Person: MTA -Component: MSG ROUTINE (1023/1) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) A CALL item after a false IF test causes an infinite loop. -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /BEGIN C4073 /COPY 'L1SKP ' /COPY C=4 CLI 0(MSGLOC),CALL@ CALL THIS TO GET LENGTH BE L1B /COPY BEFORE 'CALLC ' CALLC TM SWX,@SKIP ARE WE SKIPPING? BO CALLSKP YES /EDIT FIELD=1 'CALLC' = /COPY 'CALLQ ' /COPY NEXT 'B ' CALLSKP LA MSGLOC,4(0,R6) SET RESUME POINT B LOOP AND CONTINUE /END 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4074 + 4074 + 4074 Date: FEB 15, 1978 Person: Sherry -Component: *WATFIV(ACCT) -- UPDATE (483/001) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) Change the /COMPILE card scanner to recognize abbreviations for some job options and also to allow commas or blanks as delimiters. -Source changes expressed in edit commands form, +______________ based on D4.0 source. EDIT WAT5.SGEN COMMENT -- Edit update to ACCT assembly -- INSERT 2090 %DELETE '01250000' '01270000' LR R2,R1 SAVE CURRENT POINTER BLOOP IF (ZR1,EQ,C';'),BANALDON END OF PARAMETERS CLI ZR1,C' ' BNE *+12 LA R1,ZR1+1 SKIP THE BLANK B BLOOP CONTINUE CLI ZR1,C',' SKIP ALL COMMAS BNE BCHKDEL BLOOP3 LA R1,ZR1+1 R1=R1+1; B BLOOP TRY SOME MORE BCHKDEL CR R1,R2 ANY DELIMITERS? BE BANALERR NO, SO IT'S AN ERROR $ENDFILE INSERT 2092 %BEFORE '01840000' BE *+22 CLC =C'T=',ZR1 "T="? %BEFORE '01850000' LA R1,ZR1+1 SKIP THE "T" B *+8 $ENDFILE INSERT 2116 %BEFORE '02030000' BE *+22 CLC =C'P=',ZR1 "P="? %BEFORE '02040000' LA R1,ZR1+1 SKIP THE "P" B *+8 %BEFORE '02360000' BE *+22 CLC =C'L=',ZR1 "L="? %BEFORE '02370000' LA R1,ZR1+1 SKIP THE "L" B *+8 $ENDFILE INSERT 2128 BE *+20 CLI ZR1,C'S' "S"? $ENDFILE INSERT 2129 LA R1,ZR1+1 SKIP THE "S" B *+8 $ENDFILE -Comments: +________ Allowable abbreviations are T for TIME, P for PAGES, L for LINES and S for SOURCE. 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4075 + 4075 + 4075 Date: FEB 15, 1978 Person: Sherry -Component: *WATFIV(SCAN) -- UPDATE (483/001) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) Change the control card scanner to detect illegal control cards and print a warning message. -Source changes expressed in edit commands form, +______________ based on D4.0 source. EDIT WAT5.SGEN COMMENT -- Edit update to SCAN assembly -- INSERT 71014 %AFTER '02014000' SPRIN XCARD1,90 PRINT OFFENDING CARD MVI XCARD2,0 SO ERROR WON'T PRINT LAST BUFFER ERROR (WARN,JB,2),DONE "UNRECOGNIZED CONTROL CARD" $ENDFILE COMMENT -- Edit update to ERRTEXTS assembly to add new message INSERT 44001 %AFTER '02790000' EMESSAGE JB,2,'UNRECOGNIZABLE CONTROL CARD.' $ENDFILE COMMENT -- Edit update to STARTA section to add new switch. INSERT 76052 %AFTER '09351500' XJOBSW DC X'00' ON IF $JOB CARD READ $ENDFILE COMMENT -- Edit update to MAIN assembly -- INSERT 61042 %DELETE '02690000' BE MAIN15 YES, START THE JOB CLI XJOBSW,0 READ A $JOB CARD YET? BE MAIN10C NO, SO COMPLAIN EX R0,COPENTRY AN $ENTRY CARD? BNE MAIN10 NO, IGNORE IT MVI XJOBSW,0 NO $JOB CARD YET B MAIN10 MAIN10C CLI XSRCPTR,0 BATCH? BNE MAIN10P YES, PRINT THE CARD CLI XITZFILE,0 SCARDS A FILE? BE MAIN10 NO, SO IGNORE IT MAIN10P SPRIN XCARD1,90 ECHO CONTROL CARD SERCOM 'YOU MUST ENTER A "&CONTROL&NEWJOB" CARD FIRST' B MAIN10 TRY AGAIN $ENDFILE INSERT 61044 MVI XJOBSW,B'10000000' REMEMBER A $JOB CARD WAS READ $ENDFILE COMMENT -- Edit ERRTABLE macro to add new message type -- INSERT 43000 %INPUT *S* 43 ;43 ERRTABLE %OUTPUT WAT5.FUNMAC(1000) %AFTER '03090000' ERRDEFN JB2 %AFTER FILEMARK %CLOSE *S* %CLOSE WAT5.FUNMAC(1000) $CONTINUE WITH *DUMMY* $ENDFILE -Comments: +________ The macro ERRTABLE must be regenerated and placed in the appropriate macro library (WAT5.FUNMAC); the copy sections ERRTEXTS and STARTA must be regenerated; and the modules ERROR, SCAN and MAIN must be regenerated and assembled to effect this change. 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4076 + 4076 + 4076 Date: FEB 15, 1978 Person: Sherry -Component: *WATFIV(INOUT) -- UPDATE (483/001) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) Fix the error message issued when more than 256 constants appear in a DATA statement (WATFIV restriction). -Source changes expressed in edit commands form, +______________ based on D4.0 source. EDIT WAT5.SGEN COMMENT -- Edit update to INOUT assembly -- %AFTER '06020000' ; BUGFIX MVI IOBJBIT,X'00' INITIALIZE SWITCH %AFTER '07830000' ; BUGFIX C R4,=F'255' MORE THAN 255 CONSTANTS? BNH ISETLEN NO, OK MVI ZR3+1,255 SET MAX COUNT ERROR (NOAC,DA,A),ITUFF "MORE THAN 255 CONSTANTS" ISETLEN DS 0H $ENDFILE COMMENT -- Edit update to ERRTEXTS copy section -- INSERT 44001 %AFTER '00980000' EMESSAGE DA,A,'MORE THAN 255 CONSTANTS IN DATA STATEMENT' $ENDFILE COMMENT -- Edit ERRTABLE macro to add new message type -- INSERT 43003 %BEFORE '03140000' ERRDEFN DAA $ENDFILE -Comments: +________ Previously the message "MORE VARIABLES THAN CONSTANTS" was printed because only one byte is used to save the number of constants in the object code. This change requires that the macro ERRTABLE, the copy section ERRTEXTS, the module ERROR, and the module INOUT be regenerated. 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4077 + 4077 + 4077 Date: Feb 20, 1978 Person: Sherry -Component: LLXU (354/1) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) Fix bug to not unload run-only program when it loads a null program with noprompt and return on error bits set. -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /BEGIN C4077 /COPY "XLERROR L" /COPY BEFORE BLANKS "BAL GR2,XLCLEAN" /EDIT " " = "XLERRCL" /COPY "XRUNIT L" /COPY BEFORE BLANKS "BO XLERROR" /EDIT "XLERROR" = "XLERRCL" /END -Comments: +________ Note: this bug was introduced by the bugfix of change #4069. The "B XLERROR" should have been "B XLERROR+8". 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4078 + 4078 + 4078 Date: Mar 25, 1978 Person: OGDEN -Component: OPERATOR JOB (634/1) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) Provides support for the 3286 log printer, which is just treated like a 3284. -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /BEGIN C4078 /COPY "GETNUP " /COPY COUNT=9 CLC =C'3286',RDLNAM(R2) BE IS3284 WELL ALMOST ANYWAY /END 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4079 + 4079 + 4079 Date: Mar 25, 1978 Person: OGDEN -Component: OPERATOR JOB (634/1) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) Fixes several bugs in the log printer Unit Check routines. -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /BEGIN C4079 /COPY BEFORE "SVCSKIP " /EDIT "31" = "13" /COPY "TRYNUDVS " /COPY COUNT=16 /EDIT "SWS" = "SWS2" /COPY "SAMPTR " /COPY COUNT=6 /EDIT "SWS" = "SWS2" /COPY "UCPTR " /COPY COUNT=11 /EDIT "+OC" = "" /COPY "WAITRTN " /COPY COUNT=12 /EDIT "SWS" = "SWS2" /END -Comments: +________ The D4.1 version will contain a "cleaner" fix for the 1403 support. I'm sorry it took me so long to get these written up on a change form. 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4080 + 4080 + 4080 Date: Mar 25, 1978 Person: OGDEN -Component: OPERATOR JOB (634/1) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) Fix the register setup so the SVC TIMERCNCL will work. -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /BEGIN C4080 /COPY "WRITNOW " /COPY COUNT=3 /EDIT "R3" = "R0" /END -Comments: +________ My thanks to the folks from UBC for finding this. 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4081 + 4081 + 4081 Date: Mar 25, 1978 Person: OGDEN -Component: OPERATOR JOB (634/1) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) A fix so both digits of the month (mm-dd-yy) will print on the console log. -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /BEGIN C4081 /COPY "DLTIME " /SKIP COUNT=1 DC X'21000800',AL1(0,0,0,0,0) /END 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4082 + 4082 + 4082 Date: MARCH 31, 1978 Person: Sherry -Component: *WATFIV(FORMCONV) -- UPDATE (483/001) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) Fix E and D-type output format conversion for zero valued variables. -Source changes expressed in edit commands form, +______________ based on D4.0 source. EDIT WAT5.SGEN COMMENT -- Edit update to FORMCONV assembly -- INSERT 50110 %AFTER '13070000' BAL R8,SPZERO CHECK IF VARIABLE IS ZERO %AFTER '13100000' ; ADD NEW SUBROUTINE SPACE SPZERO L R1,STR1 POINT TO VARIABLE LE 0,0(,R1) NOW IN FR0 LTER 0,0 IS IT ZERO? BNZR R8 NO, JUST RETURN B ISZERO YES DPZERO L R1,STR1 POINTER TO VARIABLE LD 0,0(,R1) PICK UP REAL*8 VARIABLE LTDR 0,0 IS IT ZERO? BNZR R8 NO, RETURN ISZERO LR R3,R4 BUFFER POINTER TO EXPONENT SR R3,R7 - POINTER TO DECIMAL POINT SH R3,=H'3' = NUMBER OF 0'S TO BLANK BM ISZEROR NEGATIVE -> RETURN MVI 2(R7),C' ' BLANK OUT FRACTION BZ ISZEROR ONLY ONE EXTRA 0 BCTR R3,0 IBM LENGTH EX R3,BLKFRAC BLANK OUT EXTRA ZEROS IN FRACTION ISZEROR LA R4,4(,R4) UPDATE BUFFER POINTER B SUPCLEAN RETURN BLKFRAC MVC 3(0,R7),2(R7) %AFTER '13250000' BAL R8,DPZERO CHECK FOR VAR = 0.0 $ENDFILE -Comments: +________ Previously FORMCONV would print zero valued variables with formats like E13.5 as "0.00000E-01", now just "0.0" will be printed for all E and D-type formats as FTN does. 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4083 + 4083 + 4083 Date: April 12, 1978 Person: Helffrich -Component: OPEN (428/14) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) When the RENAMEIT subroutine was called to rename a file from one catalog to another, and the LASTCHG and CREDATE stuff was supplied, the LASTCHG and CREDATE were exchanged. -Source changes expressed in old update (*UPDATE) form, +______________ based on D4.0 sequence id. %BEFORE 'OPEN1587' * 16+CRECAT,80+CREFD,12+SDMLIKE,12+SDWRITE,12+FDWRITE %DELETE 'OPEN1587' %BEFORE 'OPEN2093' MVC CFDPAR+56+4(22-4,RD),4(R2) RE-FORMAT PARAMETERS MVC CFDPAR+56(2,RD),2(R2) SO THAT CREFD GETS THEM MVC CFDPAR+56+2(2,RD),0(R2) RIGHT LA R2,CFDPAR+56(,RD) POINT TO NEW ONES %BEFORE 'OPEN2111' LA RD,CFDPAR+56+24(,RD) %DELETE 'OPEN2111' 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4084 + 4084 + 4084 Date: April 12, 1978 Person: Helffrich -Component: OPEN (428/14) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) This decreases the number of references to the catalog to update the LASTCHG date and the FSAVEIT bit in the catalog when a file is changed. -Source changes expressed in old update (*UPDATE) form, +______________ based on D4.0 sequence id. %BEFORE 'OPEN0285' TM FDFODT(R5),FSAVEIT BZ *+8 -> FSAVEIT bit not on OI FCBFLG(R2),FDCHNG will, remember this then %BEFORE 'OPEN0286' MVC FCBOLCD(2,R2),FDLCHNG(R5) last change date at open %BEFORE 'OPEN0287' MVC FCBFDLOC(6,R2),BCBPA(R8) SAVE FDLOC FOR CLOSE %DELETE 'OPEN0287' %BEFORE 'OPEN0574' MVC R1NAB(4,R7),FCBLNAB(R8) #AVAIL ENTRIES %DELETE 'OPEN0574' %BEFORE 'OPEN0614' BZ CLOSD3X -> no, check if additional refs TM FCBFLG(R8),FDCHNG FSAVEIT in FD set yet? BZ CLOSR1 -> no, do it right away * SVC TIME see if last change date needs D R0,=F'60000000' updating from value at open XR R0,R0 D R0,=A(24*60) mumbo jumbo LA R0,1(,R1) L R1,R1LOC(,RD) restore this CH R0,FCBOLCD(,R8) see if has changed BH CLOSR1 -> yup, have to update * CLOSD3X LH R9,FCBREFC(,R8) any new refrences to FCB besides BXLE R9,R9,CLOSR20 this open? -> no SPACE 2 * Going to read and maybe write file descriptor, now SPACE CLOSR1 LR R6,R8 KEEP FCB LOC AROUND SR R7,R7 THIS MARKS A ÂKEEPIT & INUSE BUFFER %DELETE 'OPEN0614' 'OPEN0619' %BEFORE 'OPEN0624' BO *+6 DONT EVEN THINK ABOUT USING THIS ONE %DELETE 'OPEN0624' %BEFORE 'OPEN0666' * LH R4,FCBREFC(,R6) FIRST CHECK ADDITIONAL REFERENCES LTR R4,R4 BNZ CLOSR5 -> FOUND SOME FLEAS * CH R2,FDLCHNG(,R5) IF LAST CHANGE DATE ISN'T LATER, WE BH CLOSR6 CAN SKIP WRITE ENTIRELY TM FCBFLG(R6),FDCHNG UNLESS BZ CLOSR6 FSAVEIT IN FD NOT SET * LA R0,LDN SKIP WRITE JUST FREE DRIVE %DELETE 'OPEN0666' 'OPEN0675' %BEFORE 'OPEN0689' OI FCBFLG(R6),FDCHNG AND DON'T DO IT AGAIN CLOSR7 MVC FCBOLCD(2,R6),FDLCHNG(R5) ANYWAY, UPDATE WHILE HERE LA R8,0(,R8) %DELETE 'OPEN0689' %AFTER FILEMARK 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4085 + 4085 + 4085 Date: April 12, 1978 Person: Helffrich -Component: RWSEQ (428/17) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) Fix bug in D4.0 READS causing write pointer in sequential file to not be updated properly on a backwards read. -Source changes expressed in old update (*UPDATE) form, +______________ based on D4.0 sequence id. %BEFORE 'RWSE0349' CLC 0(4,R2),FCBSRPW(RE) check write pointer < read BH RSSKIPCK -> yes %DELETE 'RWSE0349' 'RWSE0350' 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4086 + 4086 + 4086 Date: May 5, 1978 Person: Engle -Component: RCALL/ADROF SUBRS (357/1) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) Updates the source to agree with the object (357/2) in D4.0 by including the entry point IADROF and zeroing the high order byte of the value returned by ADROF (IADROF). -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /B C4086 /D LEN(72) 'RCAL0072' ENTRY IADROF IADROF EQU * L 1,0(0,1) PICK UP THE ADDRESS FROM THE P LIST LA 0,0(0,1) ZERO THE HIGH ORDER BYTE /EN -Comments: +________ The same source appears to have been distributed starting with D2.0; the object changed sometime between D2.0 and D3.0. 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4087 + 4087 + 4087 Date: May 16, 1978 Person: Engle -Component: ACCOUNTING (ACCPRINT) (104/5) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) Remove the external symbol LINCOUNT from this module so that it can be placed in an independent module, and include the provision that a new page is generated if LINCOUNT contains zero. -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /B C4087 /S LEN(72) 'APRT0002' APRT TITLE 'MTS ACCOUNTING RECORD PRINT PROGRAM--C. F. ENGLE--15 MA1' Y 78' /D LEN(72) 'APRT0193' /D LEN(72) 'APRT0245' CKINIT L R4,=V(LINCOUNT) GET LINE COUNT L R4,0(,R4) LTR R4,R4 BZ INIT LINE COUNT IS ZERO CLI INITIAL,0 /D LEN(72) 'APRT0247' INIT SR R4,R4 INITIALIZE GR4 FOR LINE COUNT /D LEN(72) 'APRT0334' L R2,=V(LINCOUNT) ST R4,0(,R2) SAVE LINE COUNT /D LEN(72) 'APRT0340' /S LEN(72) 'APRT0341' CONTINUE CH R4,=H'50' /D LEN(72) 'APRT0376' /EN -Comments: +________ Changes 4087, 4088, and 4090 through 4094 should be implemented simultaneously. 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4088 + 4088 + 4088 Date: May 16, 1978 Person: Engle -Component: ACCOUNTING (ACCLSTPR) (104/72) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) Remove the external symbol LINCOUNT from this module so that it can be placed in an independent module, and include the provision that a new page is generated if LINCOUNT contains zero. -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /B C4088 /D LEN(72) 'ALPR0002' 15 MAY 78' /D LEN(72) 'ALPR0195' /D LEN(72) 'ALPR0243' CKINIT L R4,=V(LINCOUNT) GET LINE COUNT L R4,0(,R4) LTR R4,R4 BZ INIT LINE COUNT IS ZERO CLI INITIAL,0 /D LEN(72) 'ALPR0245' INIT MVI INITIAL,X'FF' /D LEN(72) 'ALPR0297' L R2,=V(LINCOUNT) ST R4,0(,R2) SAVE LINE COUNT /D LEN(72) 'ALPR0302' /S LEN(72) 'ALPR0303' CONTINUE CH R4,=H'57' /D LEN(72) 'ALPR0320' /EN -Comments: +________ Changes 4087, 4088, and 4090 through 4094 should be implemented simultaneously. 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4089 + 4089 + 4089 Date: May 16, 1978 Person: Engle -Component: ACCOUNTING (ACPRJPRT) (104/32) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) Reverse the printing of the no high priority flags so that the indication is printed when the flag is off rather than on. -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /B C4089 /D LEN(72) 'APPR0001' /S LEN(72) 'APPR0002' APPR TITLE 'MTS PROJECT RECORD PRINT PROGRAM--C. F. ENGLE--15 MAY 71 8' /D LEN(72) 'APPR0262' MAXFLAGS+2,40,NONRMT,MAXFLAGS+2,-20,HITRM 3 /D LEN(72) 'APPR0264' MAXFLAGS+2,-4,HIBAT /D LEN(72) 'APPR0288' MAXFLAGS+2,40,NONRMT,MAXFLAGS+2,-20,HITRM, 3 /D LEN(72) 'APPR0290' MAXFLAGS+2,-4,HIBAT /EN 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4090 + 4090 + 4090 Date: May 16, 1978 Person: Engle -Component: ACCOUNTING (ACPRJPRT) (104/32) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) Remove the external symbol LINCOUNT from this module so that it can be placed in an independent module, and include the provision that a new page is generated if LINCOUNT contains zero. -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /B C4090 /D LEN(72) 'APPR0195' /COP LEN(72) 'APPR0224' L R4,=V(LINCOUNT) GET LINE COUNT L R4,0(,R4) LTR R4,R4 BZ INIT LINE COUNT IS ZERO /D LEN(72) 'APPR0227' INIT SR R4,R4 INITIALIZE GR4 FOR LINE COUNT /D LEN(72) 'APPR0298' L R2,=V(LINCOUNT) ST R4,0(,R2) SAVE LINE COUNT /D LEN(72) 'APPR0304' /S LEN(72) 'APPR0305' CONTINUE CH R4,=H'55' /D LEN(72) 'APPR0332' /EN -Comments: +________ Changes 4087, 4088, and 4090 through 4094 should be implemented simultaneously. 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4091 + 4091 + 4091 Date: May 16, 1978 Person: Engle -Component: ACCOUNTING (LINCOUNT) (104) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) Place the external symbol LINCOUNT in an independent module. -Source changes expressed in new update (UBCUPDATE) form, +______________ based on no previous source. /B C4091 LCNT TITLE 'STORAGE FOR THE EXTERNAL SYMBOL LINCOUNT--C. F. ENGLE--1 15 MAY 78' LINCOUNT START DS F END /EN -Comments: +________ The object module should be placed in ACC:ACCLIB (104/31). Since the symbol LINCOUNT is no longer a duplicate symbol in the library nor loaded by reference to another symbol in the same module, the previous practice of removing it from the library directory when ACCLIB is generated must be abandoned. Changes 4087, 4088, and 4090 through 4094 should be implemented simultaneously. 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4092 + 4092 + 4092 Date: May 16, 1978 Person: Engle -Component: ACCOUNTING (ACCMAINT) (104/15) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) Change instructions referencing the data in LINCOUNT from halfword operations to fullword operations. -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /B C4092 /COP LEN(72) 'AMAT0745' /E 'LH'='L ' /COP LEN(72) 'AMAT0747' /E 'STH'='ST ' /COP LEN(72) 'AMAT0852' /E 'LH'='L ' /COP LEN(72) 'AMAT0854' /E 'STH'='ST ' /COP LEN(72) 'AMAT0946' /E 'LH'='L ' /COP LEN(72) 'AMAT0948' /E 'STH'='ST ' /EN -Comments: +________ Changes 4087, 4088, and 4090 through 4094 should be implemented simultaneously. 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4093 + 4093 + 4093 Date: May 16, 1978 Person: Engle -Component: ACCOUNTING (ACCPRJMT) (104/29) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) Change instructions referencing the data in LINCOUNT from halfword operations to fullword operations. -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /B C4093 /COP LEN(72) 'APMT0417' /E 'LH'='L ' /COP LEN(72) 'APMT0419' /E 'STH'='ST ' /COP LEN(72) 'APMT0492' /E 'LH'='L ' /COP LEN(72) 'APMT0494' /E 'STH'='ST ' /EN -Comments: +________ Changes 4087, 4088, and 4090 through 4094 should be implemented simultaneously. 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4094 + 4094 + 4094 Date: May 16, 1978 Person: Engle -Component: ACCOUNTING (ACONSIST) (104/40) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) Change instructions referencing the data in LINCOUNT from halfword operations to fullword operations. -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /B C4094 /COP LEN(72) 'ACNS0013' /E 'LH'='L ' /COP LEN(72) 'ACNS0015' /E 'STH'='ST ' /EN -Comments: +________ Changes 4087, 4088, and 4090 through 4094 should be implemented simultaneously. 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4095 + 4095 + 4095 Date: May 25, 1978 Person: Engle -Component: SORT (*SORT) (303/1) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) An addressing exception occurs at ISPAC14(10), IMOD2, or possibly other locations with certain rare, and difficult to describe, combinations of maximum record length, maximum block length, record format, and estimated number of records. -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 and D4.1 source. /B C4095 /COP 'ISPAC8' /D LEN(9) 'LA R0,0(R8,R3)' TAB(34) '+BUFFER REQ' LR R0,R3 R0 <- L(RSA+TREE+4) AR R0,R8 L(BUFFER REQ+RSA+TREE+4) /EN -Comments: +________ Two manifestations of the error which this corrects can be produced by: $RUN *SORT PAR=I=,,360 R=91000 and $RUN *SORT PAR=I=,,360 R=91500 To determine the location of the interrupt, include the DPI parameter, e.g., $RUN *SORT PAR=I=,,360 R=91000,DP 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4096 + 4096 + 4096 Date: May 26, 1978 Person: Tiffany -Component: *MACUTIL (738/1) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) The PUNCH command is ignored by *MACUTIL if the modifiers are specified. The following update fixes this bug. -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.1 source. /BEGIN C4096 /COPY 'RENULHTE' /COPY BEFORE BLANKS "KWSET" /EDIT "LCLRHT" = "PUNRHT" /END -Comments: +________ The KWSET macro before "PUNLHT" should specify RHTABLE=PUNRHT instead of RHTABLE=LCLRHT. Otherwise, KWSCAN will give a bad return code, forcing *MACUTIL to ignore PUNCH command completely. 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4097 + 4097 + 4097 Date: 30 May, 1978 Person: Lift -Component: PLOT SYSTEM (615/7) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) PSMLEN was treating sub- and super-script characters x'09' and x'38' as regular characters. This fixes that bug. -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.1 source. /BEGIN /COPY "PSMLEN" /COPY BEFORE "PLCHAR" /EDIT "2F" = "38" /COPY COUNT=1 BZ PLCHARF CLI 0(3),X'2F' /EDIT "L " = "NZ" /COPY COUNT=1 /EDIT " " = "PLCHARF" /COPY "PLCHAR4" BZ PLCHARD JUST SOME CHARACTER /SKIP COUNT=1 CLI 0(3),X'09' BNZ PLCHAR1 /COPY COUNT=1 /EDIT " " = "PLCHARD" /END 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4098 + 4098 + 4098 Date: June 1, 1978 Person: Engle -Component: ACCOUNTING (DIRECTRY) (104/44) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) If DIRCLOSE is called before the directory is opened, an error in unlocking the file is mistakenly detected. -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /B C4098 /D LEN(72) 'DIR00003' DIR TITLE 'DIRECTORY ASSISTANCE PROGRAMS--C. F. ENGLE--1 JUN 78' /COP LEN(72) 'DIR00488' L R15,FDUBPTR LTR R15,R15 BZ CLSEXIT DIRECTORY IS NOT OPEN /EN -Comments: +________ This error occurred when the first command given to ACCMAINT was DPN and there was no directory record, and hence no ID's, for the project. 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4099 + 4099 + 4099 Date: June 28, 1978 Person: Tiffany -Component: *TEXT360 (PPR1) (138/6) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) Page numbers were left out in the table of contents if the margin is nonzero, as specified by the last +MARGIN+ in the TEXT360 input. -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /BEGIN C4099 /COPY BLANKS "LASTPAG:" /COPY BEFORE BLANKS "BETA" /EDIT "+" = "-" /END -Comments: +________ This sign change fixes the IBM bug that has been there for years!! 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4100 + 4100 + 4100 Date: AUG 14, 1978 Person: OGDEN -Component: CONSIO (634/003) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) The version of CONSIO sent out with D4.1 was the same as sent out with D4.0, but it shouldn't have been. The following changes will bring the D4.0 or D4.1 source up to the present. -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /BEGIN D4.1-CONSIO CONSIO TITLE 'SUBROUTINE TO DO STAND-ALONE I/O TO 1052 OR 3066' * * REQUIRES 2=COPY:SETPARM AND 3=COPY:MISC.MACROS * * LAST CHANGED DEC. '77 BY JCO * TO USE CONSDSCT MACRO FROM COPY:MISC.MACROS * AND AGAIN IN APRIL '78 BY MTA * SO IT WILL WORK WHEN THERE IS NO 1052, 3215 OR 3066 CONSOLE * AND TO ALLOW THE RETURN OF NULL LINES SPACE 2 /SKIP COUNT=1 /COPY COUNT=3 AIF (&S370).NO360 INSTSET S370=NO,M67=YES .NO360 ANOP SPACE 3 /COPY COUNT=100 NI CONSFLG,ALL-CONSLINT-CONSNOSQ RESET LOST INT FLAG /SKIP COUNT=1 /COPY COUNT=15 TM CONSFLG,CONSBKUP HAVE WE BEEN USING 1052 /SKIP COUNT=1 /COPY COUNT=2 CLC =H'-1',0(R2) IS THERE A BACK UP CONSOLE BE *+12 NO - DON'T TRY TO USE ONE THEN /COPY COUNT=2 OI CONSFLG,CONSCALL SIGNAL FOR OPERATOR JOB /SKIP COUNT=1 /COPY COUNT=31 CH R1,=H'-1' IS THERE A BACK UP CONSOLE? BE NOBAKUP NOPE /COPY COUNT=3 LH R1,CONSPATH DEVICE ADDRESS /SKIP COUNT=1 /COPY COUNT=28 CONSEXIT TM CONSFLG,CONSLINT ANY LOST INTERRUPTS? /SKIP COUNT=1 /COPY COUNT=24 LH R1,CONSPATH DEVICE ADDRESS /SKIP COUNT=1 /COPY COUNT=12 L R1,CSW CHECK FOR A NULL LINE LA R1,0(0,R1) ADDR OF LAST CCW + 8 LA R2,CONSRCCW+8 POINT TO SECOND CCW CR R1,R2 DID WE GET TO IT BH *+8 YES LH R0,6(0,R3) NO - SET RESID CNT TO INIT CNT /COPY COUNT=33 USE1052 OI CONSFLG,CONSBKUP TEMPORARILY USING OLD STUFF /SKIP COUNT=1 /COPY COUNT=56 ATTNWAIT OI CONSFLG,CONSNOSQ DON'T Q INTS FOR THIS DEV /SKIP COUNT=1 /COPY COUNT=11 CH R1,CONSPATH MIGHT WE HAVE TO HDV /SKIP COUNT=1 /COPY COUNT=32 CONSGO OI CONSFLG,CONSNOSQ DON'T QUEUE STATUS FOR THIS DEV /SKIP COUNT=1 /COPY COUNT=33 RING TM CONSFLG,CONSBKUP ARE WE USING THE 3270? BNZ RING2 NO, FORCE OUR WAY THROUGH CH R1,CONSPATH IS IT THE 1052 CAUSING TROUBLE? /SKIP COUNT=3 /COPY COUNT=25 QUECHK TM CONSFLG,CONSNOSQ Q STATUS FOR ALL DEV? /SKIP COUNT=1 /COPY COUNT=10 OI CONSFLG,CONSLINT REMEMBER /SKIP COUNT=1 /COPY COUNT=32 EXTINT TM CONSFLG,CONSBKUP ALREADY USING BACKUP? /SKIP COUNT=1 /COPY COUNT=8 CONSCOMM DS 0F .NOOJ2 ANOP CONSDSCT TYPE=CSECT * SPACE /SKIP COUNT=17 /COPY COUNT=60 /END -Comments: +________ The above update lines produce three changes: 1) Allow null lines to be returned. 2) Allow CONSIO to work even where where isn't a a "backup" console. 3) Move the DSECT CONSDSCT into the macro library COPY:MISC.MACROS, changing a few symbol names along the way. 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4101 + 4101 + 4101 Date: Aug 22, 1978 Person: MTA -Component: ASMH Macro Update (737/20) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) Several mistakes in the update for the ASMH macro library resulted from trying to simultaneously update both the macro library and its update. The fixes are as follows -Source changes expressed in edit commands form, +______________ based on Dist 4.1 source. MOVE 103.3 103.6 112 MOVE 1 TO 1 INSERT 1 '/OPTIONS CHANGE_CODE=(73-80,REPLACE)' CHANGE 4035 'SYSCCID'SYSLINE' INSERT 2011.7 '/SKIP C=1' 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4102 + 4102 + 4102 Date: August 31, 1978 Person: Engle -Component: *INDEX (580/1) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) If a location attribute (page number) contains a number which is followed by a period, and the period is not followed by a numeric digit, an infinite loop results. For example, any of the following will produce a loop: 24. Term 24.X Term 24..8 Term -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.1 source. /B C4102 /COP LEN(72) 'INDX0322' ELSE DO; FNLPG=FNLPG||'.'; ATTRT=ATTRT||'.'; PAGEE=SUBSTR(PAGEE, 2); END; /EN 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4103 + 4103 + 4103 Date: September 5, 1978 Person: Alexander -Component: CONFIG (046/2) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) When calculating the length of the preloaded part of shared VM, CONFIG fails to take account of the 8 bytes occupied by the ENDSEG2 CSECT. This means that if ENDSEG2 falls on a page boundary, it is effectively discarded by CONFIG. -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.1 source. /BEGIN C4103 /COPY '.SX10 ' /COPY NEXT 'L ' LA GR4,8(0,GR4) PLUS 8 FOR ENDSEG2 ITSELF /END 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4104 + 4104 + 4104 Date: September 27, 1978 Person: Engle -Component: ACCOUNTING (ACCFLATN) (104/103) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) This subroutine was inadvertently left out of D4.1. This updates it to the D4.1 level. -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /B /C Change C4104 - Change codes cannot be added to GOM programs /COP C=2 /S C=3 P'N ACTSW, ATTNSV(17), ATTNSW, EXPTM, STAFSW B'N ACTSW, ATTNSW, STAFSW /EN 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4105 + 4105 + 4105 Date: September 27, 1978 Person: Engle -Component: ACCOUNTING (ACCFLATN) (104/103) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) If an attention interrupt is entered twice, the second one will produce a program interrupt at a location which is twice the address of ATTN. -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /B /C Change C4105 - Change codes cannot be added to GOM programs /D TAB(16) 'ATTNTRP' ATTNTRP.(R0=ATTN, R1=.LOC. ATTNSV) /EN -Comments: +________ The current version of GOM produces two RLD items when a function contains a function name constant referring to the function itself. The solution to this is to refer to the function with a function name variable having the name of the function instead of with a function name constant. 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4106 + 4106 + 4106 Date: September 27, 1978 Person: Engle -Component: ACCOUNTING (FILUPDAT) (104/58) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) Eliminate updating of the accounting record fields if the last time the cumulative sums were updated is greater than or equal to the time to which the file charges are being updated. -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.1 source. /B C4106 /D TAB(72) 'FLUP0002' NGLE--11 JUL 78' /COP TAB(72) 'FLUP0184' CL 5,ACCTAF BNH NEXT /EN 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4107 + 4107 + 4107 Date: September 27, 1978 Person: Sherry -Component: *SYMBOLS (0096/001) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) This fix is required because *LIBRARY was changed from a sequential file to a line file. Consequently, *SYMBOLS must now process DIR records in line files. -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.1 source. /BEGIN C4107 /COPY "SCANDIR " MVC DIRTYPEF,LBA+9 SAVE FILE TYPE FLAG /COPY BLANKS "CALL FREESPAC" /COPY COUNT=1 TM DIRTYPEF,X'01' IS THE LIBRARY A LINE FILE? BO LINELIB YES, DON'T POINT (IT'S IMPOLITE) /COPY BLANKS "B LBREAD" LINELIB L R1,PDIRPTR LINE NUMBER OF ENDJUNK BCTR R1,0 POINT BEFORE ST R1,LBN THIS IS THE LINE TO READ MVC LBM,=X'10060002' @ÂEC,@ÂIC,@SP,@I CALL READ,LBREADP THIS DOES THE "POINT" XC LBM,LBM RESET MODIFIERS B LBREAD CONTINUE /COPY "LBL " DIRTYPEF DS XL1 /END 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4108 + 4108 + 4108 Date: October 9, 1978 Person: Engle -Component: SORT (SORT PGM, SORT PGM PH 1, SORT PGM PH 2) (303/1,24,28) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) If the sequence (SE) collating type is used, if more than one output data set is specified in the control statement and SORT changes to a new output data set, and if no intermediate files are needed by SORT, then SORT terminates with a program interrupt. -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.1 and RDIST15 source. /B C4108 /D TAB(72) 'SORT1441' CLI CURINP+1,1 REAL EOF? /D TAB(72) 'SORT1460' MVI CURINP+1,1 MARK REAL SEQUENCE EOF /D TAB(72) 'SORT1468' CLI CURINP+1,1 REAL EOF? /EN -Comments: +________ This condition may be produced as follows: $RUN *SORT PAR=S=CH,A,1,7,SE I=*SOURCE* O=-1(,2),,,,-2 R=10 LINE A LINE B LINE C LINE D LINE E $ENDFILE 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4109 + 4109 + 4109 Date: October 9, 1978 Person: Engle -Component: SORT (SORT PGM, SORT PGM PH 1, SORT PGM PH 2) (303/1,24,28) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) If the delete (DEL) parameter and more than one output data set are specified in the control statement, and if SORT changes to a new output data set, then the first record after the change will be treated as not equal to the following record regardless of its actual relationship. -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.1 and RDIST15 source. /B C4109 /COP TAB(72) 'SORT1596' L R1,AREC A(NEXT OUTPUT REC) FOR DELETE OPTION /EN -Comments: +________ This condition may be produced as follows: $R *SORT PAR=S=CH,A,2,4,SE I=*SOURCE* O=-1(,2),,,,-2 DEL=LAST LINE A LINE B LINE C LINE D LINE E $ENDFILE " LINE C" will be erroneously deleted. 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4110 + 4110 + 4110 Date: October 12, 1978 Person: MTA -Component: *REDUCE2 (556/3) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) One line in the RDIST15 version of REDUCE2 is longer than 72 characters. Unfortunately it is a comment line and the semi-colon is lost causing the next line to be ignored. This has disastrous results (e.g., i**2 is 0). -Source changes expressed in new update (UBCUPDATE) form, +______________ based on RDIST15 source. /BEGIN C4110 /. FIX A LINE THAT GOT TOO LONG SOMEHOW IN SUBS2F* /COPY 'SYMBOLIC PROCEDURE SUBS2F!* U;' /COPY C=2 /EDIT HOLD 'SUBSTITUTION' = 'SUBST' /EDIT 'OCCUR' = 'OCCURS;' /END 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4111 + 4111 + 4111 Date: October 27, 1978 Person: Tiffany -Component: *UNLINKER (562/2) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) This fixes a program interrupt in routine BLKRTN of *UNLINKER when the user is trying to input an IEHMOVE data set with parameter LIST,DUMP. -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /BEGIN C4111 /. Get rid of a bad branch in the BXLE instruction. /COPY 'XDUMP1 ' /COPY BEFORE NEXT 'BXLE' /EDIT 'DUMP2 ' = 'XDUMP2' /END -Comments: +________ This affects also the program *IEHMOVE (component #291). 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4112 + 4112 + 4112 Date: Oct 31, 1978 Person: Ogden -Component: MTS (42/1) +_________ -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /. ================================================================= /. FIXLNR - Fix things so MTS line numbers bigger than 999999.999 /. or smaller than -99999.999 print as eight hex digits /. with primes on either side, like the editor does. /. I don't like this fix much, but it is better than /. just printing as much of the number as will fit and /. we don't really want to change the format of the /. output produced by the $LIST command. /BEGIN FIXLNR /COPY 'WHAF ' /COPY C=2 /EDIT 'PUTDEC' = 'PUTLNR' /COPY 'AFREDINC ' /COPY NEXT 'B' NEXT 'CONFIRM' B PUTLNR /COPY 'POUT ' /COPY NEXT 'EJECT' * PUTLNR -- SUBROUTINE TO PUT OUT DECIMAL LINE * NUMBER IN LINE IMAGE READY TO PRINT. * IF THE NUMBER IS TOO BIG TO FIT IN * 10 COLUMNS THEN IT IS PRINTED IN HEX. * * ENTRY - SDC CONTAINS THE FW VALUE * SCC CONTAINS LOCN OF WHERE * THE 12 CHAR. RESULT IS TO GO * * RESULT HAS THE FORM BDDDDDD.DDDB IF * THE VALUE IS BIGGER THAN 999999.999 OR * LESS THAN -99999.999, OTHERWISE * IT HAS THE FORM B'HHHHHHHH'B * * CLOBBERS GR1 SPACE 3 PUTLNR C SCD,=F'999999999' TOO BIG? BH PUTBIG C SCD,=F'-99999999' TOO SMALL? BNL PUTDEC * TOO BIG OR TOO SMALL SO PUT IT OUT IN HEX PUTBIG LA SCC,2(,SCC) WHERE TO PUT HEX. NBR. LR GR1,GR14 SAVE THIS BAL GR14,PUTHEX S SCC,=F'2' BACK THE WAY IT WAS MVC 0(2,SCC),=C' ''' MVC 10(2,SCC),=C''' ' LR GR14,GR1 RESORE THIS BR GR14 RETURN EJECT /END FIXLNR 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4113 + 4113 + 4113 Date: Oct 31, 1978 Person: Ogden -Component: MTS (42/1) +_________ -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /. ================================================================= /. FIXDEC - Fit PUTDEC so that attempts to convert number bigger /. than 999999.999 or smaller than -99999.999 cause a /. string of asterisks to be output instead /BEGIN FIXDEC /COPY BEFORE 'PUTDEC ' PUTDEC C SCD,=F'999999999' TOO BIG? BH PUTSTARS C SCD,=F'-99999999' TOO SMALL? BL PUTSTARS /EDIT 'PUTDEC' = ' ' /COPY BEFORE '* ' SPACE PUTSTARS MVC 0(12,SCC),=C' ********** ' OH WELL BR GR14 /END FIXDEC 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4114 + 4114 + 4114 Date: Oct 31, 1978 Person: Helffrich -Component: MTS (42/1) +_________ -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /. ================================================================= /. TRIMNOW - In theory it is on longer necessary to write /. @-TRIM @PEEL from OUT. This change tests that /. theory. It was necessary to WRITE @TRIM @PEEL /. before to keep FAKELIST from being reused, but /. now that DSRI doesn't use FAKELIST anymore .... /BEGIN TRIMNOW /COPY 'OUT ' /COPY C=1 /SKIP C=1 SR SCC,SCC START WITH MODS ALL DEFAULT /COPY 'OUTMATN ' /COPY C=1 /SKIP C=1 SR SCC,SCC MODS ARE ZERO TO START /COPY 'OUTM ' /COPY C=1 /EDIT '48' = '00' /COPY 'OUTBNATN ' /COPY C=1 /EDIT '48' = '00' /COPY 'OUTB ' /COPY C=1 /SKIP C=1 SR SCC,SCC ZERO MODS /COPY 'OUTMC ' /COPY C=1 /EDIT '68' = '20' /END TRIMNOW 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4115 + 4115 + 4115 Date: Oct 31, 1978 Person: Ogden -Component: MTS (42/1) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) This eliminates the message, "THERE IS NO ACTIVE FILE TO PUT THAT IN" if the hapless user types a line number on the front of his input line. -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /. ================================================================= /. KILLAFD - Push the use of *AFD* in to the back ground a /. little more and someday it may die a natural death. /BEGIN KILLAFD /COPY BEFORE 'NWHAF2 ' /SKIP C=1 /COPY C=1 /SKIP C=2 B INLOOP /SKIP C=2 /COPY 'INC89 ' /COPY C=5 BZ INC8 IF NOT THEN DON'T PEEL /SKIP BEFORE 'INC88 ' /EDIT 'INC88' = ' ' /END KILLAFD 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4116 + 4116 + 4116 Date: Oct 31, 1978 Person: Helffrich -Component: MTS (42/1) +_________ -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /. ================================================================= /. LFRRAX - KILL OFF THE SET LFR OPTION /BEGIN LFRAX /COPY 'INLP45 ' /COPY C=3 /SKIP C=8 /END LFRAX 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4117 + 4117 + 4117 Date: Oct 31, 1978 Person: Helffrich -Component: MTS (42/1) +_________ -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /. ================================================================ /. FIXHADDD - GET ZHADDDA TO USE THE STACK /BEGIN FIXHADDD /COPY 'MTS ' /COPY BEFORE NEXT 'ENTRY' NEXT 'ATTNNGCK,ZHADDDA,CHKSPEL' /EDIT ',ZHADDDA' = '' /COPY 'OUTMA ' /SKIP C=1 RSECT(NULLRCT),LINKAGE-TYPE(MTS) /COPY 'HIABYMHA ' /COPY C=1 ZHADDDA ROUTINE ENTRY,LINKAGE-TYPE(MTS),PARAMETER-TYPE(R(2,0)) CFDUBA ROUTINE ENTRY,LINKAGE-TYPE(MTS),PARAMETER-TYPE(R(3,1)), @ RSECT(NULLRCT) ***ADAPTOR*** /COPY 'ZTRCHL ' /COPY C=3 /SKIP C=3 RICALL ZHADDDA(A(1),(SCD)) /COPY 'HIABYMHA ' /COPY C=2 SPACE 5 CFDUBA RAENTER , CFDUB ADAPTOR BAL GR14,CFDUB REXIT VALUE() FDUB IN GR0 ALREADY /COPY 'OPERAN3 ' /COPY '* ' /COPY C=3 /SKIP C=1 /COPY C=2 * GR1 = FDUB TO BE HELD /SKIP C=5 SPACE 2 ZHARCT RSECT ZHAMSG DS CL19 FOR "*...* NNNNNN RELEASED" MSG REND SPACE 3 ZHADDDA RENTER , ZILCH TO HOLD *...* /COPY C=1 LR SCD,GR1 /COPY NEXT 'LPR' NEXT 'GR0,SCD' /SKIP C=3 RCALL CFDUBA(,A(5),(SCD)) COPY FDUB ONTO CHAIN 5 /COPY C=6 /EDIT 'SCSSVA' = 'ZHAMSG' /EDIT 'SCSSVA' = 'ZHAMSG' /EDIT 'SCSSVA' = 'ZHAMSG' /SKIP C=6 RCALL OUTMA(A(19),A(ZHAMSG)) DROP SCC,SCD ZHADRET REXIT /END FIXHADDD 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4118 + 4118 + 4118 Date: Oct 31, 1978 Person: Helffrich -Component: MTS (42/1) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) This implements the suggestion by UQV to make SIGMCD macro expand its buffer size dependent on RATELEN. -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /. ================================================================= /. SIGMCD - If that macro is going to reference RATELEN then /. this better become part of "THEDSECT" /BEGIN SIGMCD /COPY 'FTV ' /COPY BEFORE NEXT 'COPY' NEXT 'COPY:RATEVEC' /SKIP C=2 /END SIGMCD 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4119 + 4119 + 4119 Date: Oct 31, 1978 Person: Helffrich -Component: MTS (42/1) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) This is a "temporary" UM change to set a mousetrap for some dumps which have shown this up recently. -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /. ================================================================= /. FREEDSCT - DON'T LET THE MTS DSECT GET AWAY /BEGIN FREEDSCT /COPY 'HIABYMH ' LA GR2,0(GR1) DON'T GIVE AWAY THE MTS DSECT! CR GR2,GR4 BL HIABWIOK LA GR0,LASTDSCT-DSCT(,GR4) CR GR2,GR0 BNL HIABWIOK BAL GR2,GMABPDIE OOPS HIABWIOK DS 0H HERE IS A BUFFER WHICH IS OK TO FREE /END FREEDSCT 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4120 + 4120 + 4120 Date: Oct 31, 1978 Person: Ogden -Component: MTS (42/1) +_________ -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /. ================================================================= /. ARLCHK - Accounting record length check to prevent unexpectedly /. long accounting records from clobbering the DSECT, or /. prevent long records from being written out. /BEGIN ARLCHK /COPY 'GETACR4 ' /COPY C=6 CH GR1,=Y(LACCR-11) TOO LONG? BH GARERR YES - ERROR /COPY BEFORE 'GETACR7 ' GETACR7 CH GR1,=Y(LACCR) TOO LONG? BH GARERR YES - ERROR /EDIT 'GETACR7' = ' ' /COPY 'RWFXIT2 ' /COPY C=5 SPACE GARERR LA GR0,LGAREMSG WARN OPERATOR LA GR1,GAREMSG SVC WRITE B OOPS GO SNARK SPACE GAREMSG DC C'ACCOUNTING RECORD TOO LONG IN GETACCR' LGAREMSG EQU *-GAREMSG /COPY 'PUTACRL ' /COPY C=2 BPI OPND,PARERR MISSING OR CLOBERED TERMINATOR /COPY C=4 CH SCB,=Y(LACCR) TOO BIG? BH PARERR OH WELL /COPY C=2 SPACE PARERR LA GR0,LPAREMSG WARN OPERATOR LA GR1,PAREMSG SVC WRITE B OOPS GO SNARK SPACE PAREMSG DC C'ACCOUNTING RECORD TOO LONG IN PUTACCR' LPAREMSG EQU *-PAREMSG /END ARLCHK 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4121 + 4121 + 4121 Date: Oct 31, 1978 Person: Helffrich -Component: MTS (42/1) +_________ -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /. ================================================================= /. REPLINN -- Replace LINNBRN subroutine with NEWMTS routine, /. LINENBR, which always returns. /BEGIN REPLINN /COPY NEXT "ENTRY" NEXT "WTPLG" ENTRY MINLIN,MAXLIN MIN/MAX INTERNAL FILE LINE NUMBERS /COPY C=1 * NEWMTS ROUTINE DECLARATIONS SPACE /COPY C=1 LINENBR ROUTINE EXTERNAL,LINKAGE-TYPE(MTS),PARAMETER-TYPE(R(3,3)) SPACE 2 /COPY "CFDUBA " /COPY C=1 GIVEBACA ROUTINE ENTRY,LINKAGE-TYPE(MTS),PARAMETER-TYPE(R(1,0)), * RSECT(NULLRCT) ***ADAPTOR*** PABOSFTA ROUTINE ENTRY,LINKAGE-TYPE(MTS),PARAMETER-TYPE(R(2,2)), * RSECT(NULLRCT) ***ADAPTOR*** /COPY "INLOOP " /DELETE NEXT "B" NEXT "LINNBR" BAL GR2,OOPS ***A DISABLING BLOW TO LINNBR CALLS*** /DELETE NEXT "B" NEXT "LINNBRN" BAL GR2,OOPS ***A DISABLING BLOW TO LINNBRN CALLS*** /DELETE "LINNBRN " /SKIP NEXT "EJECT" LINNBR STM GR1,GR2,LNRSA SAVE REGS HERE FOR THE NONCE LA GR1,0(,SCC) COPY OVER POINTER LR SCC,GR14 SAVE RETURN LR GR2,SCD COPY FDUB TM SWS10,GETLNRSW BO *+8 -> SEZ FDUB IS IN SCD L GR2,AFD OTHERWISE, USE AFD OI SWS8,NONUM NO NUMBER RICALL LINENBR(A(4095),,) CALL THE GOOD GUYS LR GR0,GR2 COPY LINE NUMBER RETURNED LR GR14,SCC RE-PLANT RETURN POINT LR SCC,GR1 AND SCAN POINTER B *+4(GR15) TEST RC B *+12 -> LOOKS GOOD B LINNRC0 -> NOTHING THERE, RC=0 VALUE=0 B LINNMSG -> DID SOMETHING BAD * NI SWS8,255-NONUM GOT A NUMBER CLC LNS,0(SCC) TERMINATED BY LNS? BNE LINNRC0 -> NO LA SCC,1(,SCC) EAT IT UP SPACE LINNRC0 XR GR15,GR15 GIVE RC=0 LINNRET LM GR1,GR2,LNRSA LOAD UP FOR BLAST OFF BR GR14 SPACE LINNRC4 LA GR15,4 GIVE RC=4 B LINNRET SPACE LINNMSG BCT GR0,LINNMSG2 -> MUST HAVE BEEN CODE 2 LINNMSG1 FMSG 116,NXTSEG TOO MANY DIGITS TO LEFT OF DEC. LINNMSG2 FMSG 115,NXTSEG TOO MANY DIGITS TO RIGHT OF DEC. EJECT /COPY "FMSGGAL " /SKIP C=2 RICALL LINENBR(A(33*4-2),A(SCSSVA+2),(SCA)) LTR GR15,GR15 BNZ FMSGOUCH -> SOMEBODY BLEW SOMETHING /EDIT F=3 "0" = "GR2" /DELETE "LNRMF " /COPY "CFDUBA " /COPY NEXT "REXIT" SPACE 5 GIVEBACA RAENTER , GIVEBACK ADAPTOR GIVEBACK , MACRO DOES DIRTY WORK REXIT , SPACE 5 PABOSFTA RAENTER , PABOSFTC ADAPTOR BAL GR14,PABOSFTC REXIT VALUE(,) VALUES SET UP ALREADY /COPY "DSRDISPV " /COPY BEFORE "DTBLOFFS " DC V(LINENBRE) DSR ENTRY TO LINENBR /END REPLINN 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4122 + 4122 + 4122 Date: Oct 31, 1978 Person: Ogden -Component: MTS (42/1) +_________ -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /. ================================================================= /. NEWPW -- Implement new password setting changes. Here, only /. thing that is done is to set password changed bit /. in accounting record when record is written out. /BEGIN NEWPW /COPY "TSA " /DELETE NEXT "BH" NEXT "*+10" BH *+14 NI ACCSWS2,255-ACCPWCC PW NO LONGER SET BY COMP. CNTR. /END NEWPW 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4123 + 4123 + 4123 Date: Oct 31, 1978 Person: Helffrich -Component: MTS (42/1) +_________ -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /. ================================================================= /. FMSGCMSG -- Define NEWMTS type routines FMSG and CMSG which /. called when FMSG and CMSG macros are expanded in /. a NEWMTS type routine. /BEGIN FMSGCMSG /COPY "DEQIT " FMSGSUB ROUTINE ENTRY,LINKAGE-TYPE(MTS),PARAMETER-TYPE(R(2,0)), * RSECT(NULLRCT) CMSGSUB ROUTINE ENTRY,LINKAGE-TYPE(MTS),PARAMETER-TYPE(R(3,0)), * RSECT(NULLRCT) /DELETE NEXT "EJECT" /COPY BEFORE "*" NEXT "CHKSPEL" * FMSGSUB -- FMSG CALLER INVOKED BY USAGE OF FMSG MACRO IN * NEWMTS ENVIRONMENT. * * NEWMTS R(2,0) CALLING SEQUENCE * GR0 - OPTIONS BITS: * BIT 31 1 - TRANSFER TO INLOOP WHEN DONE * 0 - RETURN WHEN DONE * BIT 30 1 - WRITE ON SINK * 0 - NO WRITE ON SINK * BIT 29 1 - WRITE ON MSINK * 0 - NO WRITE ON MSINK * GR1 - ERROR MESSAGE NUMBER * RC=0 ALWAYS SPACE 2 FMSGSUB RAENTER , ADAPTOR ROUTINE FOR NOW LA 2,OUTB ASSUME BOTH SINK/MSINK TM NULR0+3,X'06' BO FMSGCALL -> RIGHT LA 2,OUTM ASSUME MSINK ONLY TM NULR0+3,X'04' BO FMSGCALL -> RIGHT LA 2,OUT MUST BE JUST SINK FMSGCALL LA 1,NULR1+2 POINT AT MESSAGE NUMBER BAL 0,FMSG DO DIRTY WORK TM NULR0+3,X'01' BO INLOOP -> SIDEWAYS BRANCH REQUESTED REXIT , RETURN PROPERLY SPACE 5 * CMSGSUB -- CMSG CALLER INVOKED BY USAGE OF CMSG MACRO IN * NEWMTS ENVIRONMENT. * * NEWMTS R(3,0) CALLING SEQUENCE * GR0 - OPTIONS BITS: * BIT 31 1 - TRANSFER TO INLOOP WHEN DONE * 0 - RETURN WHEN DONE * BIT 30 1 - WRITE ON SINK * 0 - NO WRITE ON SINK * BIT 29 1 - WRITE ON MSINK * 0 - NO WRITE ON MSINK * GR1 - ERROR MESSAGE LENGTH * GR2 - ERROR MESSAGE TEXT POINTER * RC=0 ALWAYS SPACE 2 CMSGSUB RAENTER , ADAPTOR ROUTINE FOR NOW LR 0,GR1 COPY LENGTH LR 1,GR2 COPY TEXT ADDRESS LA 2,OUTB ASSUME OUT ON BOTH TM NULR0+3,X'06' BO CMSGCALL -> RIGHT LA 2,OUTM ASSUME OUT ON JUST MSINK TM NULR0+3,X'04' BO CMSGCALL -> RIGHT LA 2,OUT JUST OUT ON SINK CMSGCALL BALR 2,2 CALL ROUTINE TM NULR0+3,X'01' BO INLOOP -> REQUESTED SIDEWAYS BRANCH REXIT , THAT'S ALL EJECT /END FMSGCMSG 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4124 + 4124 + 4124 Date: Oct 31, 1978 Person: Helffrich -Component: MTS (42/1) +_________ -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /. ================================================================= /. GIGO -- Add GETOUTTC and change GETINTC to simplify /. temporary dynamic loading of components. /BEGIN GIGO /DELETE "INLP44 " /SKIP "INLP45 " BAL GR14,GETOUTTC GET RID OF LFTC COMPONENTS /COPY NEXT "B " NEXT "PUTLNR" B GETOUTTC /COPY BEFORE "GETINTC " GETINTC LR GR1,GR0 GETINTC CONDITIONAL -- DOES NOT BCTR GR1,0 INCREMENT USECOUNT IF ALREADY MH GR1,=Y(LDTSIZE) LOADED A GR1,LDTLOCN L GR15,LDTLOC-LOADTDCT(,GR1) LTR GR15,GR15 BNZR GR14 -> ALREADY LOADED, RETURN /EDIT "GETINTC" = " " /COPY BEFORE "GETOUT " GETOUTTC LH GR1,LFTCC GETOUT FOR LFTC COMPONENTS SH GR1,=H'1' ANY LEFT? BMR GR14 -> NO, RETURN STH GR1,LFTCC NEW COUNT XR GR0,GR0 IC GR0,LFTC(GR1) GET GETIN INDEX LR GR15,GR14 SAVE RETURN BAL GR14,GETOUT RID OURSELVES OF IT LR GR14,GR15 RESET RETURN B GETOUTTC -> PERFORM TILL ALL UNLOADED SPACE 2 /COPY BEFORE NEXT "LA" NEXT "GR1,18*4" /EDIT F=3 "18*4" = "18*4+4" /COPY C=2 ST GR15,18*4(,GR13) SAVE GR15 /COPY NEXT "CALL" NEXT "STORSCAN" L GR15,18*4(,GR13) RESTORE GR15 /END GIGO 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4125 + 4125 + 4125 Date: Oct 31, 1978 Person: Helffrich -Component: MTS (42/1) +_________ -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /. ================================================================= /. CFDUB -- Fix problem in CFDUB which left instruction window /. during which branch to DSROFF could have caused use /. counts, etc., to be left inconsistent when fdub freed. /. This bug is responsible for the balance of the /. LOADT usecount negative snarks. /BEGIN CFDUB /COPY "CFDUB " /COPY NEXT "BAL" NEXT "GR14,GMABP" /EDIT F=3 "4" = "FDUBAL" /DELETE "CFDCHAIN " /SKIP C=4 CFDCHAIN DS 0H NOW COPY OVER ALL NON-CRITICAL FDUB * FIELDS, AND UPDATE CRITICAL ONES IN AN ORDER WHICH WILL ENSURE CONSISTENCY * IF INTERRUPTED. MVC 4+FDUBS-FDBDCT(FDUBLN-FDUBS,GR1),FDUBS-FDBDCT(SCD) * SKIP FDUBLN MVC 4+FDUBBL-FDBDCT(FDUBSBR-FDUBBL,GR1),FDUBBL-FDBDCT(SCD) * SKIP FDUBSBR MVC 4+FDUBSCR-FDBDCT(FDUBNAM-FDUBSCR,GR1),FDUBSCR-FDBDCT(SCDX ) * SKIP FDUBNAM MVC 4+FDUBDS-FDBDCT(FDUBCH-FDUBDS,GR1),FDUBDS-FDBDCT(SCD) * SKIP FDUBCH MVC 4+FDUBTYPE-FDBDCT(FDUBIX-FDUBTYPE,GR1),FDUBTYPE-FDBDCT(SX CD) * SKIP FDUBIX MVC 4+FDUBSWS-FDBDCT(FDUBNAME-FDUBSWS,GR1),FDUBSWS-FDBDCT(SCX D) * SKIP FDUBNAME, FDUBERM MVC 4+FDUBSWS2-FDBDCT(FDUBERXS-FDUBSWS2,GR1),FDUBSWS2-FDBDCTX (SCD) * SKIP FDUBERXS MVC 4+FDUBSWS3-FDBDCT(FDUBL-(FDUBSWS3-FDBDCT),GR1),FDUBSWS3-X FDBDCT(SCD) /COPY NEXT "LR" NEXT "GR1,SCA" MVC 4+FDUBIX-FDBDCT(1,GR1),FDUBIX-FDBDCT(SCD) /COPY "CFDNOSBR " /EDIT F=3 "+4(1)" = "(SCD)" /EDIT F=3 "4(GR1)" = "FDUBS-FDBDCT(SCD)" /COPY NEXT "USING" OI 4+FDUBS-FDBDCT(GR1),FDUBNO /COPY NEXT "STH" LA SCB,FCBDSCT-FCBHDR(,SCA) BACK TO REAL FCB ST SCB,4+FDUBLN-FDBDCT(,GR1) NOW STUFF FCB POINTER /EDIT F=3 "+4(GR1)" = "(SCD)" /COPY NEXT "STH" NI 4+FDUBS-FDBDCT(GR1),255-FDUBNO /COPY BEFORE NEXT "XC" NEXT "0(4,GR1),0(GR1)" /EDIT F=3 "4" = "FDUBAL" /COPY "CFDWD " LA SCB,1 /EDIT F=2 "L" = "AH" /SKIP C=1 STH SCB,DEVTBLU(SCA) UPDATE USE COUNT MVC 4+FDUBLN-FDBDCT(4,GR1),FDUBLN-FDBDCT(SCD) PLANT LDN OI 4+FDUBS-FDBDCT(GR1),FDUBNO /EDIT F=3 "+4(GR1)" = "(SCD)" /SKIP BEFORE NEXT "B " NEXT "CFDCPY" BO CFDCPY -> NO, SKIP REMAINDER LA SCB,1 INCREMENT OPEN COUNT AH SCB,2+DEVTBLU(SCA) STH SCB,2+DEVTBLU(SCA) NI 4+FDUBS-FDBDCT(GR1),255-FDUBNO /END CFDUB 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4126 + 4126 + 4126 Date: Oct 31, 1978 Person: Helffrich -Component: MTS (42/1) +_________ -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /. ================================================================= /. MERITBUG -- Fix bug in TSA which skips generation of STOP /. command to Merit batch if user didn't get signed /. on. /BEGIN MERITBUG /COPY "TSANSO " /COPY NEXT "L" NEXT "GR15,=V(HASP3B)" BALR GR14,GR15 /END MERITBUG 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4127 + 4127 + 4127 Date: Oct 31, 1978 Person: Helffrich -Component: MTS (42/1) +_________ -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /. ================================================================= /. DSRDISPV -- Remove vestigial entries in DSRDISPV formerly used /. only by CMDSTAT when it was non-MTS component. /BEGIN DSRDISPV /COPY "DSRDISPV " /DELETE NEXT "DC" NEXT "F'-1'" /DELETE NEXT "DC" NEXT "A(CLSCURR-DSCT)" /END DSRDISPV 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4128 + 4128 + 4128 Date: Oct 31, 1978 Person: Helffrich -Component: MTS (42/1) +_________ -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /. ================================================================= /. INCONT -- Fix bug in IN which does not properly handle case /. when null continuation line is entered. /BEGIN INCONT /COPY "IN " /COPY "INC9 " /DELETE NEXT "C" NEXT "GR0,=F'1'" /SKIP C=1 N GR0,=F'1' SEE IF NOTIFICATION GIVEN BNZ INSWITCH -> NOPE /COPY C=2 /INCLUDE INCLC /DELETE NEXT "LTR" NEXT "SCB,SCB" /SKIP C=1 /BUFFER INCLC /COPY C=2 /BUFFER END /COPY MAXCOUNT=5 NEXT "A" NEXT "SCB,INREGL" C SCB,INREGL BE INCONT -> NULL LINE, DONE WITH CONTINUATION /END INCONT 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4129 + 4129 + 4129 Date: Oct 31, 1978 Person: Ogden -Component: MTS (42/1) +_________ -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /. ================================================================= /. LSSGOOF - FIX THINGS SO THAT MTS CHECKS THE RIGHT BYTE IN THE /. COMMAND TABLE ENTRY WHEN IT CHECKS TO SEE IF THE /. COMMAND SHOULD BE ALLOWED DURING LSS EVEN IF IT IS /. NORMALLY PROHIBITED. /BEGIN LSSGOOF /COPY BEFORE 'INLPCDT ' /EDIT '10(GR15)' = 'CMDFLAGS' /END LSSGOOF 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4130 + 4130 + 4130 Date: Oct 31, 1978 Person: Helffrich -Component: MTS (42/1) +_________ -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /. ================================================================= /. NOPW -- Implement mechanism whereby DSR may request that a /. signon not require a PW. /BEGIN NOPW /COPY NEXT "ENTRY MINLIN" EXTRN WFOPER,WFDISK /COPY "INITNPW " /EDIT " " = "INITNPW2" /COPY "INITOPER " /EDIT F=3 "INITNPW" = "INITNPW2" /COPY BEFORE "OPERTV " /EDIT "OPERANSU,SCSBF2" = "OPERANSU,WFOPER" /COPY BEFORE "DISKTV " /EDIT "SCSBF2,GVBGRF" = "WFDISK,GVBGRF" /COPY "INC9 " /DELETE NEXT "N " /SKIP C=1 STC GR0,SCRATCH2+4 EASIER TO TEST BITS IN MEMORY TM SCRATCH2+4,X'04' BZ *+8 OI SWS7,NOPWN2 DSR SAID NO PW NEEDED TM SCRATCH2+4,X'01' BO INSWITCH -> SOURCE CHANGED /END NOPW 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4131 + 4131 + 4131 Date: Oct 31, 1978 Person: Helffrich -Component: FSUB (635/1) +_________ -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /. ================================================================= /. GVBFUNNY - THIS FIX SHOULD HELP THOSE CASES WHERE GIVEBACK /. TAKES AN UNEXPECTED SIDEWAYS EXIT AND THEN LATER /. COMES BACK AND TRIES TO RERELEASE THE SPACE IT /. HAS ALREADY FREED. /BEGIN GVBFUNNY /COPY 'GVBNOSUB ' /COPY C=1 /EDIT 'GVBGRD4' = ' ' /COPY C=3 ST SCC,DEVTBLC(SCA) /COPY C=1 /EDIT 'GVBGRD4' = 'GVBNOSUB' /END GVBFUNNY 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4132 + 4132 + 4132 Date: Oct 31, 1978 Person: Helffrich -Component: FSUB (635/1) +_________ -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /. ================================================================= /. FMSGCMSG -- Define NEWMTS type routines FMSG and CMSG for /. use by FMSG and CMSG macros when being expanded /. in NEWMTS type routine. /BEGIN FMSGCMSG /COPY "DEQIT " FMSGSUB ROUTINE EXTERNAL,LINKAGE-TYPE(MTS),PARAMETER-TYPE(R(2,0)) CMSGSUB ROUTINE EXTERNAL,LINKAGE-TYPE(MTS),PARAMETER-TYPE(R(3,0)) /END FMSGCMSG 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4133 + 4133 + 4133 Date: Oct 31, 1978 Person: Helffrich -Component: FSUB (635/1) +_________ -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /. ================================================================= /. REPLINN -- Replace usage of LINNBRN in the system with new /. subroutine LINENBR which always returns. /. Also: Rewrite SFFPL so is NEWMTS type routine, /. and fix bug causing lower case modifiers /. not to be recognized; /. Rewrite GETLNR so that it is type NEWMTS /. routine and dosen't use LINNBRN; /. Make adaptor routine for HOPENIT called /. OPENIT; /. Add external entry for DSRs to use to call /. LINENBR, LINENBRE. /BEGIN REPLINN /COPY BEFORE NEXT "ENTRY" NEXT "FDGET2," /EDIT F=3 "GETLNR," = "" /COPY BEFORE "DEQIT " ENTRY LINENBRE LINENBR FOR DSRS TO CALL OPENIT ROUTINE ENTRY,LINKAGE-TYPE(MTS),PARAMETER-TYPE(R(2,0)), * RSECT(NULLRCT) LINENBR ROUTINE ENTRY,LINKAGE-TYPE(MTS),PARAMETER-TYPE(R(3,3)) /COPY "HIABYMHA " PABOSFTA ROUTINE EXTERNAL,LINKAGE-TYPE(MTS),PARAMETER-TYPE(R(2,2)) GIVEBACA ROUTINE EXTERNAL,LINKAGE-TYPE(MTS),PARAMETER-TYPE(R(1,0)) CFDUBA ROUTINE EXTERNAL,LINKAGE-TYPE(MTS),PARAMETER-TYPE(R(3,1)) SPACE 5 * INTERNAL ROUTINE DECLARATIONS SPACE SFFPL ROUTINE INTERNAL,LINKAGE-TYPE(MTS),PARAMETER-TYPE(R(3,2)) GETFLLNR ROUTINE INTERNAL,LINKAGE-TYPE(MTS),PARAMETER-TYPE(R(3,3)) /DELETE "MFDU44A " /SKIP NEXT "LR" NEXT "SCA,SCC" MFDU44A XR GR0,GR0 FIGURE WHETHER TO HAVE SFFPL TM SWS3,GTFDBIT GENERATE MESSAGES OR NOT BO *+8 LA GR0,1 OK, GENERATE MESSAGES RICALL SFFPL(,FDGNXCHR,(SCC)) FILE PARAMETERS AND LIMITS * LR GR15,SCD IMPLANT GETFD/FDGET RETURN CODE * LR GR0,GR1 NOW FIND END OF FDNAME TEXT XR GR14,GR14 PARENTHESIS LEVEL COUNTER /EDIT "SCC" = "GR1" /COPY C=2 /EDIT "SCC" = "GR1" /COPY C=1 /EDIT F=3 "GR1,GR1" = "GR14,GR14" /COPY C=1 /EDIT "SCC" = "GR1" /COPY C=1 /EDIT "SCC" = "GR1" /COPY C=1 /EDIT "SCC" = "GR1" /COPY C=1 /EDIT F=3 "GR1,1(,GR1" = "GR14,1(,GR14" /EDIT "SCC" = "GR1" /COPY C=1 /EDIT F=3 "GR1" = "GR14" /EDIT F=3 "GR1,GR1" = "GR14,GR14" /COPY C=1 /EDIT F=3 "GR1,GR1" = "GR14,GR14" /EDIT "SCC,1(,SCC" = "GR1,1(,GR1" /DELETE MAXCOUNT=10 "FDGEND " FDGEND ST GR1,FDGNXCHR SAVE POSITION FOR RAINY DAY CR GR0,GR1 /DELETE MAXCOUNT=20 "FDGOK " DROP SCC * USING FDBDCT,SCD FDGOK LR SCD,SCC NOW CONSTRUCT FDUBNAME FIELD L SCC,FDGNXCHR BAD WEATHER ALREADY /SKIP C=1 /COPY "*" NEXT "SFFPL" NEXT "--" /COPY C=1 /SKIP NEXT "USING FDBDCT,SCD" * NEWMTS R(3,2) CALLING SEQUENCE: * GR0 - SWITCHES: BIT 31 = 0 NO ERROR MESSAGES * = 1 PRINT ERROR MESSAGES * GR1 - POINTER TO AREA TO SCAN FOR PARAMETERS AND * LIMITS, UPDATED TO POINT TO FIRST UNSCANNED * CHARACTER ON RETURN * GR2 - FDUB SPACE 2 SFFRCT RSECT SFFREG DS 8A UC CONVERSION REGION AND SCRATCH SFFSWS DS X SWITCHES: SFFMSG EQU X'01' 1 = GENERATE ERROR MESSAGES SFFNOT EQU X'02' 1 = NEGATE SENSE OF MODIFIER REND SPACE 2 SFFPL RENTER , SCAN FOR FILE PARAMETERS AND LIMITS LR SCD,GR2 COPY OVER FDUB STC GR0,SFFSWS INITIALIZE SWITCHES NI SFFSWS,SFFMSG JUST THIS BIT, PLEASE SPACE USING FDBDCT,SCD SFFLOOP DS 0H LOOK FOR SOMETHING STARTING WITH * "(" OR "@" /EDIT "SCC" = "GR1" /EDIT F=3 "0(GR14)" = "SFFPLRET" /COPY C=1 /EDIT "SCC" = "GR1" /SKIP C=2 BNE SFFPLRET -> TH-TH-THAT'S ALL, FOLKS SPACE 2 * PARSE OFF A PARAMETER SPACE /EDIT F=3 "SCC,1(0,SCC)" = "GR1,1(,GR1)" /COPY C=1 /SKIP C=1 LR SCC,GR1 SAVE FIRST CHAR /COPY "SFFEND " /EDIT F=3 "SWS9" = "SFFSWS" /COPY C=5 /EDIT F=3 "SWS9" = "SFFSWS" /COPY C=2 CH 1,*+10 TRUNCATE AT 32 CHARS BNH *+8 LA 1,31 EX 1,SFFMVC MVC SFFREG(0),0(SCC) /COPY BEFORE NEXT "TM" NEXT "SWS9" /EDIT F=3 "SWS9" = "SFFSWS" /DELETE NEXT "B" NEXT "SFFSFDG" LR GR1,SCC MOVE OVER SCAN POINTER B SFFLOOP -> LOOK FOR MORE STUFF /COPY BEFORE NEXT "LA" NEXT "SCC" /EDIT F=3 "SCC" = "GR1" /DELETE NEXT "TM" NEXT "SWS3" /SKIP C=1 TM SFFSWS,SFFMSG BZ SFFLOOP -> DON'T GENERATE MESSAGES /EDIT F=3 "SFFSFDG" = "SFFLOOP" /COPY BEFORE "SFFCLC " /EDIT F=3 "0(0,SCC)" = "SFFREG(0)" SFFMVC MVC SFFREG(0),0(SCC) /SKIP C=4 /SKIP C=5 SPACE 2 * PARSE OFF A LIMIT, THAT IS A LINE NUMBER RANGE SPACE 1 SFFIFL DS 0H /DELETE NEXT "L" NEXT "SCA,MAXLIN" L SCA,=V(MAXLIN) L SCA,0(,SCA) /DELETE NEXT "LA" NEXT "SCC,1(SCC)" LA GR1,1(,GR1) /SKIP C=2 BAL GR2,SFGLN GET STARTING LINE NUMBER /COPY C=1 B *+8 -> GOT IT, IN GR0 B SFFLOOP -> THAT'S IT, NO MORE LINE NUMBERS /COPY BEFORE "SFFISP " /EDIT "SCA" = "GR2" /EDIT F=3 "12" = "20" B *+8 -> GOT LAST, IN GR0 B SFFLOOP -> NO MORE LINE NUMBERS /COPY BEFORE NEXT "BAL" NEXT "SCA" /EDIT "SCA" = "GR2" /EDIT "12" = "20" B *+8 -> GOT INCREMENT, IN GR0 B SFFLOOP -> NO MORE LINE NUMBERS /COPY C=2 /EDIT "SCC" = "GR1" /SKIP C=2 BE SFFRBNC -> OK, AT END, END OF LINE NUMBERS OI FDUBS,FDUBBAD MARK BAD CLI 0(GR1),C',' BNE SFFLOOP -> IF NOT A COMMA, ASSUME SFGLN PARKED GR1 AT A GOOD CHAR TO RESTART TM SFFSWS,SFFMSG BZ SFFLEAT -> NO MESSAGE CMSG 'TOO MANY NUMBERS GIVEN FOR LINE NUMBER RANGE.',* SFFLEAT BAL GR2,SFFADV LOOK FOR END OF RANGE B SFFLOOP -> FOUND END OF FDNAME CLI 0(GR1),C')' END? BE SFFRBNC -> YES, ADVANCE PAST LA GR1,1(,GR1) B SFFLEAT -> NO, CONTINUE UNTIL SOMETHING FOUND /SKIP "SFGLN " SPACE 2 * SFGLN -- GET A LINE NUMBER. * * CALLED VIA BAL GR2,SFGLN WITH: * GR1 - CHARACTER POINTER, ADVANCED TO FIRST UNSCANNED * CHARACTER ON RETURN. * SCD - FDUB POINTER * * RETURNS TO 0(GR2) IF NULL SPECIFICATION (DEFAULT) * 4(GR2) IF NUMBER FOUND, NUMBER IN GR0 * 8(GR2) IF END OF LIMIT SPECIFICATION * * CLOBBERS GR0,GR1,GR14,GR15 SPACE SFGLN LA GR0,8 ASSUME END RETURN CLI 0(GR1),C')' ARE WE AT END BE SFGLN2 -> YES /SKIP C=1 XR GR0,GR0 ASSUME NULL RETURN /EDIT "SCC" = "GR1" BE SFGLN2 -> NULL SPECIFICATION IT IS /SKIP C=4 STM GR1,GR2,SFFREG SAVE POINTER, RETURN HERE A MINIT RCALL LINENBR(A(255),,(SCD)),EXIT=(,SFGLNER) GET NUMBER /EDIT "SCC" = "GR1" /COPY C=1 /EDIT "SCC" = "GR1" /EDIT F=3 "SFDLER" = "SFGLNER" /EDIT "SCC,1(0,SCC)" = "GR1,1(,GR1)" /SKIP C=2 SFGLNC LR GR0,GR2 COPY RETURNED LINE NUMBER OR ZERO L GR2,SFFREG+4 OUR RETURN POINT /SKIP C=1 L GR15,=V(MAXLIN) C GR0,0(,GR15) CHECK LINE NUMBER AGAINST LIMITS /EDIT F=3 "SFFRBAD" = "SFGLNER" /SKIP C=1 L GR15,=V(MINLIN) C GR0,0(,GR15) /EDIT F=3 "SFFRBAD" = "SFGLNER" /DELETE NEXT "B" NEXT "4(" B 4(,GR2) RETURN A LINE NUMBER * SFGLNER OI FDUBS,FDUBBAD DON'T USE FDUB L GR1,SFFREG RESTORE POINTER TO INPUT SFGLNER1 BAL GR2,SFFADV LOOK FOR INTERESTING CHARACTER B SFFMSG1 -> OFF END OF FDNAME, GIVE MESSAGE CLI 0(GR1),C'+' BNE SFFMSG2 -> OK, INTERESTING ENOUGH LA GR1,1(,GR1) B SFGLNER1 -> ASSUME + IS ARITHMETIC HERE SFFMSG2 L GR2,SFFREG+4 RESTORE RETURN POINT CLI 0(GR1),C',' BNE *+8 -> DON'T MOVE PAST NON-COMMA LA GR1,1(,GR1) TM SFFSWS,SFFMSG BZR GR2 -> NO MESSAGE, NULL RETURN CMSG 'INVALID LINE NUMBER.',0(,GR2) SFFMSG1 L GR2,SFFREG+4 RESTORE RETURN TM SFFSWS,SFFMSG BZ 8(,GR2) -> NO MESSAGE, END RETURN CMSG 'INVALID LINE NUMBER OR LINE NUMBER DELIMITER.',8(,GR2) /SKIP "SFGLN2 " /SKIP C=1 SFGLN2 LA GR1,1(,GR1) SKIP COMMA SFGLN3 ALR GR2,GR0 ADJUST RETURN POINT BR GR2 -> RETURN SPACE 2 * SFFADV -- ADVANCE TO NEXT INTERESTING CHARACTER IN * FILE LIMIT SPECIFICATION. * * CALLED VIA BAL GR2,SFFADV WITH * GR1 -- TEXT POINTER, UPDATED * * RETURNS TO 0(GR2) IF PGNT, BLANK, OR X'FF' FOUND * 4(GR2) IF ZERO LEVEL COMMA, PLUS, OR RIGHT PAREN * * CLOBBERS GR0 SPACE SFFADV XR GR0,GR0 NESTING LEVEL COUNTR SFFADVLP CLI 0(GR1),C' ' CHECK FOR END BPI OPND,0(GR2) -> UNLESS RUDELY INTERRUPTED BER GR2 -> FOUND END CLI 0(GR1),X'FF' BER GR2 -> FOUND END LTR GR0,GR0 BNZ SFFADVIP -> SKIP + , TEST IF INSIDE (...) CLI 0(GR1),C'+' BE 4(,GR2) -> GOT + CLI 0(GR1),C',' BE 4(,GR2) -> GOT , SFFADVIP CLI 0(GR1),C'(' BNE *+8 AH GR0,=H'1' UP ONE LEVEL CLI 0(GR1),C')' BNE *+12 SH GR0,=H'1' DOWN A LEVEL BM 4(,GR2) -> THIS IS OF INTEREST AT ZERO LEVEL LA GR1,1(,GR1) B SFFADVLP -> NEXT CHARACTER OF INTEREST SPACE 2 SFFRBNC LA GR1,1(,GR1) ADVANCE TO NEXT CHARACTER B SFFLOOP -> AND BACK TO TOP SPACE 2 SFFPLRET RRETURN VALUE(,) REGS SET UP FOR RETURN /COPY C=1 /EDIT F=3 "GR10," = "" REND EJECT * LINENBR -- PARSE A LINE NUMBER FROM AN INPUT STRING. * * NEWMTS R(3,3) TYPE CALLING SEQUENCE * GR0 - LENGTH OF INPUT STRING, UPDATED ON RETURN * GR1 - INPUT STRING, UPDATED ON RETURN * GR2 - FDUB (FOR EVALUATION OF *F ETC) OR ZERO, * LINE NUMBER VALUE ON RETURN * * RC=0 LINE NUMBER FOUND, GR0 & GR1 UPDATED, GR2 IS * VALUE * RC=4 LINE NUMBER NOT FOUND, GR2 IS ZERO * RC=8 SYNTAX ERROR, GR0 HAS ERROR CODE AND GR1 * ERROR MESSAGE IN FORM HALFWORD LENGTH FOLLOWED * BY ERROR MESSAGE TEXT. * ERROR CODES: 1 = TOO MANY DIGITS BEFORE DECIMAL * 2 = TOO MANY DIGITS AFTER DECIMAL SPACE 2 * LINENBRE IS OS-R TYPE CALLABLE VERSION FOR DSRS TO USE. * PARAMETERS/RETURNS IDENTICAL TO LINENBR. SPACE 2 LINRCT RSECT LINFL DS F VALUE RETURNED BY GETFLLNR LINSWS DS X SWITCHES: LINSIGN EQU X'80' - SIGN FOUND LINPER EQU X'40' . FOUND LINDIGIT EQU X'20' DIGIT FOUND LINGFL EQU X'10' GETFLLNR FOUND SOMETHING REND SPACE 2 LINENBRE BEGIN 1,N=2 EXTERNAL ENTRY TO THIS RICALL LINENBR(,,) CALL REAL MCCOY EXIT *,RESTORE=3 RETURN WITH RC FROM LINENBR SPACE 2 LINENBR RENTER , FLASHY NEW ROUTINE CODED HERE LR GR5,GR1 COPY INPUT ADDRESS LR GR9,GR2 COPY FDUB LTR GR0,GR0 BNP LINRET4 -> NO INPUT TEXT LTR GR1,GR1 BZ LINRET4 -> NO INPUT TEXT * NI LINSWS,255-LINSIGN-LINPER-LINDIGIT-LINGFL RCALL GETFLLNR(,,) TRY FOR *F OR ITS ILK ST GR2,LINFL SAVE VALUE CR GR1,GR5 TAKE ANYTHING? BE *+4+4+2 -> NO OI LINSWS,LINGFL REMEMBER LR GR5,GR1 REMEMBER POINTER, TOO * XR GR6,GR6 NOW GO AFTER SIGN/NUMBER XR GR2,GR2 NUMBER BUILT IN GR2 LA GR3,7 MAX 6 INTEGRAL DIGITS CLI 0(GR1),C'-' BE LINMINUS -> EAT 'EM UP CLI 0(GR1),C'+' BE LINLOOP -> EAT THIS TOO TM LINSWS,LINGFL BO LINRET -> GOT *F OR SOMETHING, SKIP REST B LINLOOP1 -> JUMP INTO LOOP * * LINMINUS OI LINSWS,LINSIGN REMEMBER LINLOOP LA GR1,1(,GR1) ADVANCE SCAN POINTER BCT GR0,*+8 B LINRET -> COUNT EXHAUSTED LINLOOP1 TM LINSWS,LINPER BO LINNOPER -> ALREADY GOT DOT, NOT AGAIN CLI 0(GR1),C'.' BNE LINNOPER LA GR3,4 MAX 3 FRACTIONAL DIGITS OI LINSWS,LINPER B LINLOOP LINNOPER CLI 0(GR1),C'0' BL LINRET CLI 0(GR1),C'9' BH LINRET OI LINSWS,LINDIGIT REMEMBER A DIGIT IC GR6,0(,GR1) DECODE DIGIT N GR6,=X'0000000F' MH GR2,=H'10' SHIFT NUMBER AR GR2,GR6 ADD IN DIGIT BCT GR3,LINLOOP -> WILL BRANCH IF NOT TOO MANY DIGITS * TM LINSWS,LINPER BO LINDRDP -> TOO MANY DIGITS TO RIGHT LA GR1,L'ECM1 LA GR2,ECM1 LA GR3,1 B LINERR -> GENERATE MESSAGE & RETURN LINDRDP LA GR1,L'ECM2 LA GR2,ECM2 LA GR3,2 B LINERR SPACE LINRET TM LINSWS,LINGFL+LINDIGIT BZ LINRET4 -> RC4 IF NO *F OR DIGITS TM LINSWS,LINDIGIT BO *+4+2 NO NUMERIC PORTION, POINT BACK AT LR GR1,GR5 WHAT GETFLLNR ATE UP THROUGH TM LINSWS,LINPER BO *+4+4 -> GOT A FRACTIONAL PART LA GR3,4 NO FRACTION, PRIME COUNT BCTR GR3,0 NOW 3-(NUMBER FRACTIONAL DIGITS) SLL GR3,1 *2 MH GR2,=H'1,10,100,1000'(GR3) SHIFT PROPER AMOUNT TM LINSWS,LINSIGN BZ *+4+2 LCR GR2,GR2 NEGATE A GR2,LINFL ADD IN CONTRIBUTION BY GETFLLNR L GR0,LINR1 COMPUTE LENGTH USED SR GR0,GR1 (GR0 COUNT UNRELIABLE IF E.G. "*F+") A GR0,LINR0 RRETURN VALUE(,,),RC(0) SPACE LINERR LR GR5,GR1 GENERATE ERROR MESSAGE AND GIVE LA GR1,2(,GR1) RC=8 RCALL PABOSFTA(,) GET STORAGE FOR ERROR MESSAGE BCTR GR5,0 EX GR5,LINERRMV MVC 2(0,GR1),0(GR2) LA GR5,3(,GR5) STH GR5,0(,GR1) RRETURN VALUE((GR3),,),RC(8) LINERRMV MVC 2(0,GR1),0(GR2) SPACE LINRET4 RRETURN VALUE(LINR0,LINR1,A(0)),RC(4) SPACE 2 ECM1 DC C'NUMBER HAS TOO MANY DIGITS BEFORE DECIMAL POINT.' ECM2 DC C'NUMBER HAS TOO MANY DIGITS AFTER DECIMAL POINT.' SPACE REND EJECT /SKIP NEXT "USING FDBDCT,SCD" * GETFLLNR -- GET FIRST OR LAST LINE NUMBER. EVALUATE * "*F", "*L", "FIRST", "LAST", "MIN", OR "MAX" * AS A LINE NUMBER. * * NEWMTS R(3,3) CALLING SEQUENCE: * GR0 - LENGTH OF INPUT STRING, UPDATED ON RETURN * GR1 - ADDRESS OF INPUT STRING, UPDATED ON RETURN * GR2 - FDUB OR ZERO, VALUE ON RETURN OR ZERO IF NO * VALUE OR CAN'T BE EVALUATED (ZERO FDUB, NO * ACCESS TO FILE TO READ FIRST/LAST LINE #, ETC.) * * RC=0 IF FOUND SOMETHING INTERESTING * =4 IF NOTHING FOUND OF INTEREST SPACE 2 GETRCT RSECT SA=NO GETFLSCR DS XL(READLSS) SCRATCH FOR READF/READL CALL GETSA RSA , SAVEAREA GETFLPAR DS 2A READF/READL PARAMETERS REND SPACE 2 GETFLLNR RENTER , GET FIRST/LAST LINE NUMBER CH GR0,=H'2' CHECK FOR TOO SHORT BL GETRC4 -> NO NUMBER LR GR3,GR0 MOVE MAX 5, MIN NUMBER GIVEN CH GR3,*+10 CHARACTERS INTO SCRATCH AREA BNH *+8 LA GR3,5 BCTR GR3,0 EX GR3,GETFLMVC MVC GETFLSCR(0),0(GR1) L GR15,=V(CASECONV) TR GETFLSCR(5),0(GR15) LR GR9,GR2 COPY FDUB MVI GETFLPAR,0 FLAG READF CALL CH GR0,=H'2' BE GET2CHAR -> 2 CHARACTERS ONLY CH GR0,=H'4' BL GET3CHAR -> 3 CHARACTERS BE GET4CHAR -> 4 CHARACTERS LA GR3,5 MUST BE 5 OR MORE CLC =C'FIRST',GETFLSCR BE GETFLOPE -> EVALUATE 'FIRST' GET4CHAR LA GR3,4 TRYING FOR 4 CHARACTER MATCH NOW CLC =C'LAST',GETFLSCR BNE GET3CHAR -> NO, TRY 3 MVI GETFLPAR,4 FLAG READL CALL B GETFLOPE -> EVALUATE 'LAST' GET3CHAR LA GR3,3 TRYING FOR 3 CHARACTER MATCH NOW L GR2,=V(MINLIN) L GR2,0(,GR2) CLC =C'MIN',GETFLSCR BE GETFLRC0 -> GOT 'MIN' L GR2,=V(MAXLIN) L GR2,0(,GR2) CLC =C'MAX',GETFLSCR BE GETFLRC0 -> GOT 'MAX' GET2CHAR LA GR3,2 TRYING FOR 2 CHARACTER MATCH NOW CLC =C'*F',GETFLSCR BE GETFLOPE -> EVALUATE '*F' CLC =C'*L',GETFLSCR BNE GETRC4 -> DIDN'T FIND ANYTING MVI GETFLPAR,4 FLAG READL CALL SPACE USING FDBDCT,GR9 OK, GOING TO USE FDUB GETFLOPE XR GR2,GR2 ZERO VALUE FOR NOW LTR GR9,GR9 BZ GETFLNF -> NO FDUB /COPY C=1 /EDIT F=3 "GETLNR5" = "GETFLNF" /COPY C=1 /SKIP C=1 /COPY C=2 /EDIT F=3 "GETLNR5" = "GETFLNF" /SKIP BEFORE NEXT "NI" NEXT "FDUBSWS" LR GR5,GR0 PROTECT ACROSS CFDUBA CALL LR GR6,GR1 RCALL CFDUBA(A(1),A(3),(GR9)) COPY FDUB ONTO CHAIN 3 LR GR9,GR0 LODGE NEW FDUB /EDIT F=3 "-FDBDCT(SCD)" = "" /EDIT F=3 "-FDBDCT(SCD)" = "" /SKIP C=5 RCALL OPENIT(A(0),(GR9)) OPEN FDUB IN NORMAL FASHION /COPY C=1 /EDIT F=3 "GETLNRER" = "GETFLGVB" IC GR15,GETFLPAR L GR15,=V(READF,READL)(GR15) ROUTINE TO CALL /EDIT F=3 "-FDBDCT(,GR1)" = "" /SKIP C=1 /EDIT F=3 "GR1" = "GR2" /SKIP C=6 STM GR1,GR2,GETFLPAR PARAMETERS TO READF/READL LA GR1,GETFLPAR XR GR2,GR2 /COPY C=2 /SKIP NEXT "B" NEXT "GETLNR5A" BNZ *+4+2 LR GR2,GR1 COPY OVER RETURNED LINE # GETFLGVB RCALL GIVEBACA((GR9)) GIVE BACK COPIED FDUB LR GR0,GR5 COPY BACK COUNT LR GR1,GR6 AND POINTER SPACE GETFLNF DS 0H GETFLRC0 AR GR1,GR3 ECHE POINTER SR GR0,GR3 BACK DOWN COUNT RRETURN VALUE(,,),RC(0) GETFLMVC MVC GETFLSCR(0),0(GR1) SPACE GETRC4 RRETURN VALUE(GETR0,GETR1,A(0)),RC(4) SPACE DROP GR9 LASTJBA2 DC V(LASTJOB) REND /SKIP MAXCOUNT=20 NEXT "DS" NEXT "0H" /SKIP C=1 EJECT * OPENIT -- OPEN A FDUB ACCORDING TO SPECIFIED OPTIONS. * * NEWMTS R(2,0) CALLING SEQUENCE * GR0 - OPTIONS SWITCHES: * BIT 31 - 1=DON'T ALTER LOCKING STATUS * 0=OK TO ALTER * BIT 30 - 1=MAKE SEQUENTIAL (IN THIRD SENSE) * 0=DON'T FORCE SEQUENTIAL * BIT 29 - 1=OPEN EVEN IF NO ACCESS************ * 0=DON'T OPEN IF IMPROPER ACCESS***** * *******NOT YET IMPLEMENTED********** * GR1 - FDUB * RC=0 - FILE HAS BEEN OPENED IF NECESSARY * =4 - FILE DOES NOT EXIST * =8 - ERROR IN OPEN OR ILLEGAL DEVICE TYPE * =12- NO ACCESS * =16- CAN'T WAIT: DEADLOCK * =20- WAIT TO OPEN INTERRUPTED SPACE 2 OPENIT RAENTER , ADAPTOR ROUTINE FOR NOW LR SCD,GR1 FDUB FOR HOPENIT L GR15,=A(HOPENIT) LTR GR0,GR0 BZ OPENIT1 -> NORMAL FLAVOR L GR15,=A(HOPENLK) SRA GR0,1 BZ OPENIT1 -> DON'T ALTER LOCKING L GR15,=A(SEQFILE) MAKE SEQUENTIAL THEN OPENIT1 BALR GR14,GR15 RRETURN RC() REND EJECT /COPY "WRITEBUF " /DELETE "*" NEXT "USES" NEXT "GR2," * USES GR0,GR2,SCA,SCB,SCC,SCD /COPY "RENUMP " /DELETE NEXT "OI" NEXT "SWS10" /DELETE NEXT "LR" NEXT "SCD,GR0" /COPY NEXT "ST" NEXT "SCC,9*4(,GR1)" LR SCD,GR1 /EDIT "GR2,GR2" = "SCC,SCC" /EDIT "SCA" = "GR1" /COPY C=1 LR GR0,SCB /EDIT "SCA" = "GR1" /COPY C=1 /EDIT "SCA" = "GR1" /COPY C=1 /SKIP C=2 RICALL LINENBR(,,5*4(,SCD)) PROCESS FIRST OR NEW * FIRST LINE NUMBER /COPY C=2 /SKIP C=4 ST GR2,6*4(SCC,SCD) PLANT EITHER FIRST OR NEW FIRST /EDIT "SCA" = "GR1" /COPY C=1 /EDIT "SCA" = "GR1" /COPY C=1 LR SCA,GR1 COPY OVER FOR NEXPAR CALL LR SCB,GR0 /COPY C=1 LR GR0,SCB COPY REMAINING COUNT /EDIT "SCA" = "GR1" /COPY MAXCOUNT=10 BEFORE "RNBP6 " /EDIT "SCA" = "GR1" /COPY C=1 /EDIT "SCA" = "GR1" /COPY C=1 /EDIT "SCA,1(,SCA)" = "GR1,1(,GR1)" /EDIT "SCB" = "GR0" /EDIT "SCA" = "GR1" /COPY C=1 LR SCA,GR1 COPY FOR NEXPAR CALL LR SCB,GR0 /COPY C=1 LR GR0,SCB /EDIT "SCA" = "GR1" /COPY C=1 /EDIT "SCA" = "GR1" /DELETE "RNBP5 " /SKIP C=1 RNBP5 RICALL LINENBR(,,5*4(,SCD)) /COPY C=2 /SKIP NEXT "LR" NEXT "SCA,SCC" ST GR2,7*4(SCC,SCD) PLANT EITHER NEW LAST OR INCR. /EDIT "SCA" = "GR1" /COPY C=1 LR SCA,GR1 HERE WE GO AGAIN, SHUFFLING FEET LR SCB,GR0 FOR NEXPAR /COPY C=1 LR GR0,SCB /EDIT "SCA" = "GR1" /COPY MAXCOUNT=10 BEFORE "RNBP7 " /EDIT "SCA" = "GR1" /COPY C=1 /SKIP C=1 RNBP3 LTR SCC,SCC SEE IF ALREADY HAVE 'TO' BNZ RNBPERR -> YES, NOT AGAIN LA GR1,2(,GR1) /EDIT "SCB" = "GR0" /EDIT "SCB" = "GR0" /EDIT "SCA" = "GR1" /COPY C=1 LR SCA,GR1 SHUFFLE, SHUFFLE NEXPAR LR SCB,GR0 /COPY C=1 LR GR0,SCB /EDIT "SCA" = "GR1" /COPY MAXCOUNT=10 BEFORE "RNBP8 " /EDIT "GR2,GR2" = "SCC,SCC" /SKIP C=3 LA SCC,8 BZ RNBPAGN -> BACK TO PROCESS NEW FIRST, INCR. B RNBPERR -> TRIED TO GIVE TOO MANY PARAMETERS /COPY BEFORE "RNBP2 " /EDIT "GR1" = "SCD" /COPY C=1 /SKIP C=2 RICALL LINENBR(A(5),A(=C'FIRST'),5*4(,SCD)) GET *F VALUE /COPY C=2 /EDIT "GR0,6*4(,GR1" = "GR2,6*4(,SCD" /EDIT "GR1" = "SCD" /COPY C=1 /SKIP C=2 RICALL LINENBR(A(4),A(=C'LAST'),5*4(,SCD)) GET *L VALUE /COPY C=2 /EDIT HOLD "GR0" = "GR2" /EDIT "GR1" = "SCD" /DELETE "RNBPOUT" RNBPOUT LR GR1,SCD GIVE BACK PARAMETER REGION /END REPLINN 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4134 + 4134 + 4134 Date: Oct 31, 1978 Person: Ogden -Component: CMDS (636/1) +_________ -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /. ================================================================= /. LENFIX - The following change prevents an MTS program /. interrupt after Len Harding enters first /. $START PRINT=TN /. followed by a response of NO when prompted by /. KWSCAN to see if he might allow SPRINT for PRINT. /. Why he wanted to say $START PRINT=TN in the first /. place is anyones guess. /BEGIN LENFIX /COPY 'RLDFDN ' C GR13,KWSAVE BE 2(,GR5) ILLEGAL FROM START OR RESTART /END LENFIX 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4135 + 4135 + 4135 Date: Oct 31, 1978 Person: Helffrich -Component: CMDS (636/1) +_________ -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /. ================================================================= /. FIXDUMPS - Make sure that GR13 points to a valid save area, /. even when there are no extra pars to go with the /. DUMP command and the user hasn't $SET ERRORDUMP=ON /BEGIN FIXDUMPS /COPY 'JOBD89 ' /COPY NEXT 'IC' L GR13,KWSAVE USED IT BEFORE, MIGHT AS WELL AGAIN /END FIXDUMPS 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4136 + 4136 + 4136 Date: Oct 31, 1978 Person: Helffrich -Component: CMDS (636/1) +_________ -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /. ================================================================= /. LYSTPFX - This fixes a minor bug introduced when long prefixes /. were added. No one noticed for months! /BEGIN LYSTPFX /COPY 'LYSTFOD ' /COPY NEXT 'LR' NEXT '13,1' LA GR0,MTSFLG LA GR1,LYSTPFX BAL GR14,SAVPFX SET PFX TO ">" AND SAVE OLD ONE ST GR1,4(,GR13) IN THE SA BACK POINTER (WHERE ELSE?) /COPY BEFORE 'LYSTGO ' /SKIP BEFORE 'LYSTLLP ' /COPY BEFORE 'LYSTEF2' /EDIT 'LYSTEF2' = ' ' /COPY 'CKLYST ' /COPY C=2 /EDIT 'LYSTGO' = 'LYSTLLP' /END LYSTPFX 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4137 + 4137 + 4137 Date: Oct 31, 1978 Person: Ogden -Component: CMDS (636/1) +_________ -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /. ================================================================ /. FIXLNR - So the $LIST command will do something "reasonable" /. when it tries to list lines with line numbers that /. are bigger than 999999.999 or smaller than -99999.999 /BEGIN FIXLNR /COPY 'LYSTOK ' /COPY BEFORE NEXT 'BAL' /EDIT 'PUTDEC' = 'PUTLNR' /END FIXLNR 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4138 + 4138 + 4138 Date: Oct 31, 1978 Person: Helffrich -Component: CMDS (636/1) +_________ -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /. ================================================================ /. FDNJUNK - FIX THINGS SO THAT LINE RANGES AND I/O MODIFIERS /. on FDnames cause an error when given where they /. don't make sense, for example: $EMPTY file(5,10). /BEGIN FDNJUNK /COPY 'KREANL3 ' /COPY NEXT 'LR' NEXT 'SCA,GR0' TM FDUBSWS2-FDBDCT(SCA),FDUBBLN+FDUBELN+FDUBMOD BNZ KREFP FOUND JUNK AT END OF FDNAME TM FDUBS-FDBDCT(SCA),FDUBINC BNZ KREFP OTHER JUNK AT END OF FDNAME /COPY 'CREME ' /COPY C=2 * KREFP FMSG 168 JUNK AT END OF FDNAME SPACE 3 DS 0H /COPY 'CLOBBER' /COPY C=6 L GR1,FDGNXCHR GET NEXT CHARACTER CLI 0(GR1),C'@' BPI OPND,CLOBASK -> OK, I GUESS (HOPE) BE CLOBFP OOPS, JUNK AT END OF NAME CLI 0(GR1),C'(' BE CLOBFP MORE JUNK CLOBASK DS 0H /COPY 'DAFDF ' CLOBFP FMSG 168 JUNK AT END OF FILE NAME /COPY 'MT ' /COPY C=6 TM FDUBS-FDBDCT(SCD),FDUBINC INCREMENT? BNZ MTFP TM FDUBSWS2-FDBDCT(SCD),FDUBBLN+FDUBELN+FDUBMOD BNZ MTFP /COPY 'MTBP ' MTFP FMSG 168 JUNK AT END OF FDNAME /COPY 'TRUNK ' /COPY C=6 TM FDUBS-FDBDCT(SCD),FDUBINC INCREMENT? BNZ TRUNKFP TM FDUBSWS2-FDBDCT(SCD),FDUBBLN+FDUBELN+FDUBMOD BNZ TRUNKFP /COPY 'TRCMP ' TRUNKFP FMSG 168 JUNK AT END OF FDNAME /COPY 'LOCH ' /COPY C=5 LR GR1,GR0 TM FDUBS-FDBDCT(GR1),FDUBINC INCREMENT? BNZ LOCHFP TM FDUBSWS2-FDBDCT(GR1),FDUBBLN+FDUBELN+FDUBMOD BNZ LOCHFP /COPY 'LOCHMP ' LOCHFP FMSG 168 JUNK AT END OF FILENAME /COPY 'UNLOCH2 ' TM FDUBS-FDBDCT(SCC),FDUBINC INCREMENT? BNZ UNLFP TM FDUBSWS2-FDBDCT(SCC),FDUBBLN+FDUBELN+FDUBMOD BNZ UNLFP /COPY 'UNLOCHMP ' UNLFP FMSG 168 JUNK AT END OF FDNAME /COPY 'LSTAT3 ' /COPY C=5 L GR1,FDGNXCHR GET NEXT CHARACTER CLI 0(GR1),C'@' BPI OPND,LSTAT4 -> OK, I GUESS (HOPE) BE LSTFP OOPS, JUNK AT END OF NAME CLI 0(GR1),C'(' BE LSTFP MORE JUNK /COPY 'LSTBP ' LSTFP FMSG 168 JUNK AT END OF FILE NAME /COPY 'CNTRLCMD ' /COPY C=10 TM FDUBS-FDBDCT(SCA),FDUBINC BNZ CCMFP TM FDUBSWS2-FDBDCT(SCA),FDUBBLN+FDUBELN+FDUBMOD BNZ CCMFP /COPY 'CCMDERR1 ' * CCMFP FMSG 168 JUNK AT END OF FDNAME /END FDNJUNK 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4139 + 4139 + 4139 Date: Oct 31, 1978 Person: Ogden -Component: CMDS (636/1) +_________ -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /. ================================================================= /. CLEANPWM - Clean up calls to PWM /BEGIN CLEANPWM /COPY 'SYGCPW ' /COPY C=5 /SKIP C=2 /COPY 'STPWX ' /COPY C=1 /SKIP C=2 /COPY 'CANGO ' /COPY C=6 /SKIP C=2 /COPY C=2 LA GR2,CANACR /END CLEANPWM 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4140 + 4140 + 4140 Date: Oct 31, 1978 Person: Ogden -Component: CMDS (636/1) +_________ -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /. ================================================================= /. ADDPWCON - Add $SET PWCONFIRM=ON to force user to enter old /. PW before the new PW may be changed. Only applies /. to terminal users and can only be set ON /BEGIN ADDPWCON /COPY BEFORE 'SETLHTL ' KWTEL PWCONFIRM,ONOFF,STPWCX-SETEXT /COPY BEFORE 'STEXPFX ' STPWCX NI SWS19,255-PWCONF $SET PWCONFIRM=ON BAL GR5,*+4 $SET PWCONFIRM=OFF TM SWS19,PWCONF BOR GR5 IS ALREADY OFF FMSG 170,* CAN'T SET OFF BR GR5 SPACE /END ADDPWCON 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4141 + 4141 + 4141 Date: Oct 31, 1978 Person: Ogden -Component: CMDS (636/1) +_________ -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /. ================================================================= /. CLEANSET - CLEAN UP THE SET COMMAND A LITTLE /BEGIN CLEANSET /COPY 'SETTE ' /COPY C=4 LA R13,SETSA1 SA TO KEEP KWSCAN HAPPY /COPY C=7 /SKIP C=1 L SCB,=V(RHTABLE) 5. RHT LOCN. /COPY C=10 /EDIT "X'17'" = "X'37'" /EDIT 'PROMPT,' = 'PROMPT, UC' /END CLEANSET 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4142 + 4142 + 4142 Date: Oct 31, 1978 Person: Ogden -Component: CMDS (636/1) +_________ -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /. ============================================================= /. LFRAX - DELETE THE $SET LFR OPTION, I'LL BET YOU DIDN'T EVEN KNOW /. IT WAS THERE! /BEGIN LRFAX /COPY 'SYGNOTSA ' /COPY BEFORE NEXT 'MVI' NEXT 'SWS,LFRBIT+' /EDIT HOLD 'LFRBIT+' = '' /EDIT 'LFR=OFF' = '' /COPY 'RALPHA ' /SKIP C=4 /COPY 'SETLHT ' /COPY C=1 /SKIP C=1 /COPY BEFORE 'STLFRX ' /SKIP C=3 /END LFRAX 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4143 + 4143 + 4143 Date: Oct 31, 1978 Person: Ogden -Component: CMDS (636/1) +_________ -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /. =============================================================== /. CANBATCH - ALLOW PASSWORD TO BE GIVEN IN BATCH ON CARD FOLLOWING /. $CANCEL COMMAND IF ID=XXXX GIVEN ON COMMAND ITSELF. /BEGIN CANBATCH /COPY 'CANCMD ' /COPY '* ' /COPY BEFORE NEXT 'BAL' NEXT 'GR14,GUSER' /EDIT 'GUSER' = 'GUSEREOF' LTR GR15,GR15 BNZ CANIPW /END CANBATCH 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4144 + 4144 + 4144 Date: Oct 31, 1978 Person: Ogden -Component: CMDS (636/1) +_________ -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /. ================================================================= /. NEWPW - ALLOW $SET PW= WITHOUT ANY RHS /BEGIN NEWPW /COPY 'SINTNB ' /COPY C=3 /EDIT "0" = "PWCONF" /COPY BEFORE 'STPWX ' /SKIP 'STMPW ' STPWX BAL GR5,STPW1 $SET PW=SOMETHING BAL GR5,STPW2 $SET PW=NOTHING OR SIMPLY $SET PW SPACE 2 * THIS CODE IS EXECUTED WHEN THE USER GIVES THE PW= OR * PASSWORD= COMMAND WITH SOMETHING ON THE RIGHT HAND SIDE. * * KWSCAN SETS UP THE REGISTERS: * GR1 -> THE IBM LENGTH OF THE NEW PASSWORD * GR2 -> ADDRESS OF THE NEW PASSWORD * GR4 -> MTS DSECT * GR5 -> LINK REGISTER * GR10-> LOCAL BASE * GR11 AND GR12 -> COMBASE * GR13-> ADDRESS OF THE SET COMMAND'S DSECT SPACE STPW1 DS 0H LR SCD,GR13 ADDRESS OF OUR DSECT USING SETKWD,SCD LA GR13,SETSA2 A STANDARD SAVE AREA MVC SETPW1,=CL12' ' BLANK SETPW1 LA GR3,SETPW1 WHERE TO MOVE THE PW FROM THE SET CMD. EX GR1,STPWMVC GR1 IS IBM LENGTH PROVIDED BY KWSCAN BAL SCC,STOPWC DO OLD PWCONFIRM PROCESSING IF NECESSARY * SOMEDAY THIS CODE WILL CAUSE TERMINAL USERS WHO ENTER THEIR * PASSWORDS ON THE $SET CMD. TO REENTER IT AGAIN JUST TO BE SAFE. * TM SWS2,BATCHM IS IT BATCH? * BO STPW1B IF SO SKIP THE CONFIRMATION * BAL SCC,STGETPW BETTER READ A LINE * LA GR3,SETPW2 THE 2ND PASSWORD IS UP NEXT * BAL SCC,STMOVPW MOVE THE PW INTO SETPW2 * CLC SETPW1,SETPW2 DO THEY MATCH? * BE STPW1B YES * FMSG 184,STPWXIT,TYPE=M 1ST & 2ND NEW PASSWORDS DON'T MATCH STPW1B BAL SCC,STNPW ENCODE AND SET THE NEW PASSWORD BAL GR14,ECHOTST2 DID USER SEE THE $SET COMMAND? B STPW1C NO, SO GO WARN HIM/HER * THIS TOO WILL BE EXECUTED SOMEDAY * FMSG 185,* SAW CMD., BUT IT IS A BAD PRACTICE B STPWXIT EXIT STPW1C FMSG 162,*,TYPE=M PASSWORD HAS BEEN CHANGED STPWXIT LR GR13,SCD PUT THIS BACK THE WAY WE FOUND IT BR GR5 RETURN SPACE DROP SCD SPACE STPWMVC MVC 0(0,GR3),0(GR2) EXECUTED SPACE 2 * THIS CODE IS EXECUTED WHEN THE USER GIVES THE PW= OR * PASSWORD= COMMAND WITH NOTHING ON THE RIGHT HAND SIDE. * * KWSCAN SETS UP THE REGISTERS: * GR4 -> MTS DSECT * GR5 -> LINK REGISTER * GR10-> LOCAL BASE * GR11 AND GR12 -> COMBASE * GR13-> ADDRESS OF THE SET COMMAND'S DSECT SPACE STPW2 DS 0H LR SCD,GR13 ADDRESS OF OUR DSECT USING SETKWD,SCD LA GR13,SETSA2 A STANDARD SAVE AREA BAL SCC,STOPWC DO OLD PWCONFIRM PROCESSING IF NECESSARY TM SWS2,BATCHM BATCH? BO STPW2A YES, THEN SKIP PROMPT FMSG 187,*,TYPE=M ENTER NEW USER PASSWORD. STPW2A BAL SCC,STGETPW BLANK INPUT AND READ A LINE FROM MSOURCE LA GR3,SETPW1 WE ARE DEALING WITH THE FIRST PW BAL SCC,STMOVPW MOVE THE PW INTO SETPW1 CLC SETPW1,=CL12' ' DID WE GET ONE BNE STPW2B FMSG 188,STPWXIT,TYPE=M PW TOO SHORT (IE. NULL) STPW2B BAL SCC,STSKIPW SKIP TO NEXT PW ON LINE, IF ANY B STPW2C GOT ONE TM SWS2,BATCHM 2ND PW NOT ON SAME LINE, IS IT BATCH? BO STPW2F IF SO SKIP THE CONFIRMATION FMSG 190,*,TYPE=M BAL SCC,STGETPW BETTER READ A LINE STPW2C LA GR3,SETPW2 THE 2ND PASSWORD IS UP NEXT BAL SCC,STMOVPW MOVE THE PW INTO SETPW2 CLC SETPW1,SETPW2 DO THEY MATCH? BE STPW2E YES STPW2D FMSG 184,STPWXIT,TYPE=M 1ST AND 2ND NEW PASSWORDS DON'T MATCH STPW2E BAL SCC,STSKIPW CHECK FOR JUNK AT END OF LINE B STPW2D FOUND JUNK STPW2F BAL SCC,STNPW ENCODE AND SET THE NEW PASSWORD B STPWXIT EXIT SPACE 2 * CALLS CONTROL TO BLANK MSOURCE, READS A LINE AND RETURNS * WITH THE LENGTH+1 IN GR0 AND A POINTER TO THE TEXT IN GR2 SPACE STGETPW DS 0H CALL CONTROL,(STBLANK,STBLEN,MSOURCE),VL, @ MF=(E,STCTLPAR),LIT=YES BLANK THE INPUT LINE BAL GR14,GUSEREOF LTR GR15,GR15 CHECK RC BZ STGETPWA STPWNC FMSG 191,STPWXIT,TYPE=M PW NOT CHANGED - EXIT STGETPWA LH GR2,0(,GR1) GET THE LENGTH LA GR0,1(,GR2) ADD ONE LA GR2,2(,GR1) ADDRESS OF TEXT BR SCC RETURN SPACE STBLANK DC C'BLANK=12 ' STBLEN DC Y(L'STBLANK) SPACE 2 * CALLED TO MOVE THE PW INTO THE REGION POINTED TO BY GR3 * ON ENTRY GR2 POINTES TO START OF TEXT, GR0 HAS REMAINING * LENGTH PLUS ONE. ON EXIT GR0 AND GR2 ARE UPDATED. SPACE STMOVPW DS 0H MVC 0(12,GR3),=CL12' ' A FEW BLANKS TO START LR SCA,GR2 MAKE AN EXTRA COPY STMOVPWA CLI 0(SCA),C' ' A BLANK? BE STMOVPWB CLI 0(SCA),C',' A COMMA? BE STMOVPWB LA SCA,1(,SCA) NEXT CHAR. BCT GR0,STMOVPWA THIS CAN'T FAIL B STPWNC BUT JUST IN CASE STMOVPWB LR GR1,SCA ANOTHER COPY SR GR1,GR2 THIS GIVES THE LENGTH CH GR1,=H'12' TOO BIG? BNH STMOVPWC NO FMSG 197,STPWXIT,TYPE=M PW TOO LONG STMOVPWC LTR GR1,GR1 NULL PW? BZR SCC YUP, RETURN BLANKS BCTR GR1,0 IBM LENGTH EX GR1,STPWMVC MOVE IT TO 0(GR3) LR GR2,SCA NEW TEXT POINTER BR SCC RETURN SPACE 2 * CALLED TO SCAN FOR A 2ND PW ON A LINE, RETURNS 0(SCC) * IF A 2ND PW IS FOUND AND 4(SCC) IF NOT. GR2 CONTAINS * A POINTER TO THE REMAINING TEXT AND GR0 THE LENGTH ON ENTRY. * GR0 AND GR2 ARE UPDATED ON EXIT. SPACE STSKIPW DS 0H CLI 0(GR2),C' ' SKIP OVER BLANKS BE STSKIPWA CLI 0(GR2),C',' SKIP OVER COMMAS BNER SCC NOT BLANK OR COMMA RETURN STSKIPWA LA GR2,1(,GR2) ON TO NEXT BCT GR0,STSKIPW LOOP B 4(,SCC) OOPS, RAN OUT OF LINE SPACE 2 * CALLED TO ENCODE AND SET THE NEW PW, USES THE PW TEXT * FROM SETPW1 SPACE STNPW DS 0H MVC SCRATCH2(12),SETPW1 GET THE NEW PW LR GR3,SCC BAL GR14,PWM ENCODE IT MVC SAVEPW(4),SCRATCH2 SAVE IT FOR LATER SVC BINTIME D GR0,=F'60000000' TIME IN MINS. ST GR1,SAVEPW+4 SAVE THIS TOO BR GR3 RETURN ADDRESS WAS MOVED HERE SPACE 2 * CALLED TO DO OLD PW CONFIRMATION IF REQUESTED BY USER * AND OPERATING IN TERMINAL MODE. SPACE STOPWC DS 0H TM SWS19,PWCONF USER REQUEST THIS? BOR SCC ON=OFF IS THIS MIXED UP WORLD TM SWS2,BATCHM IF BATCH BOR SCC THEN RETURN FMSG 192,*,TYPE=M ENTER OLD USER PASSWORD LR GR3,SCC SAVE THIS HERE FOR NOW BAL SCC,STGETPW LR GR15,GR3 AND NOW HERE LA GR3,SCRATCH2 WHERE WE WANT THE PW TO BE BAL SCC,STMOVPW MOVE IT BAL SCC,STSKIPW CHECK FOR JUNK AT END OF LINE B STOPWCA FOUND JUNK BAL GR14,PWM ENCODE IT, CLOBBERS SCA, SCB, SCC CLC ACCPW,SCRATCH2 CHECK IT BER GR15 THIS IS WHERE WE HIDE THE LINK CLC SAVEPW(4),SCRATCH2 A 2ND CHANGE BER GR15 STOPWCA FMSG 193,STPWXIT,TYPE=M PASSWORD INCORRECT - RETURN SPACE DROP SCD SPACE 3 /END NEWPW 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4145 + 4145 + 4145 Date: Oct 31, 1978 Person: Helffrich -Component: CMDS (636/1) +_________ -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /. ================================================================= /. SIGMCD - MOVE COPY:RATEVEC INTO THEDSECT TO KEEP SIGMCD HAPPY /BEGIN SIGMCD /COPY "UNLTCH " /COPY "* " /COPY C=3 /SKIP C=1 /COPY C=4 /SKIP C=1 /END SIGMCD 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4146 + 4146 + 4146 Date: Oct 31, 1978 Person: Ogden -Component: CMDS (636/1) +_________ -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /. ================================================================= /. SIGBATCH - GIVE THE USER ONLY ONE CHANCE TO ENTER A SIGNON /. COMMAND IN BATCH. /BEGIN SIGBATCH /COPY 'SYGNE ' /COPY C=4 /EDIT HOLD '7' = '6' /EDIT 'SIGNOFF' = 'SIGNOF' /COPY 'SYGNUNA ' TM SWS2,BATCHM BO SYGNOFNL ONE CHANCE IN BATCH! /END SIGBATCH 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4147 + 4147 + 4147 Date: Oct 31, 1978 Person: Helffrich -Component: CMDS (636/1) +_________ -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /. ================================================================= /. SIGNOFF -- Make parsing of $SIGNOFF parameters (LONG, SHORT, $) /. done by KWSCAN. /. Change prompted by UBC change to MTS /BEGIN SIGNOFF /COPY "SYGNOFC " /SKIP BEFORE NEXT "B " NEXT "SYGNOF" L GR0,INREGP SEE IF ANY PARAMETERS LTR GR0,GR0 BZ SYGNOF -> NONE * LA GR1,INREG COMPUTE REMAINDER OF INPUT S GR1,INREGP A GR1,INREGL STH GR1,SCRATCH TO PASS TO KWSCAN L GR2,INREGP TEXT POINTER TO KWSCAN XR GR3,GR3 SPELLING CORRECTION BITS IC GR3,SPELCOR SLL GR3,14 LA GR3,7(,GR3) + PRINT, PROMPT, MULTIPLE ST GR3,SCRATCH+4 SWITCHES L GR13,KWSAVE CALL KWSCAN,(=Y(SIGOFLTL),SIGOFLT,SIGOFEXT,(GR2),SIGOFRHT,SCRX ATCH,SCRATCH+4,0),MF=(E,SCRATCH+8) LTR GR15,GR15 BNZ INLOOP -> ABORT IF BAD RC * TM SWS2,BATCHM BZ SYGNOF -> DO WHAT USER SAID IF TERMINAL MVI SYGTYPE,0 OTHERWISE FORCE LONG SIGNOFF /COPY ".S370M3 " SPACE 3 * SIGNOFF EXECUTE TABLE SPACE 1 SIGOFEXT DS 0H SIGOFSHO MVI SYGTYPE,1 SHORT SIGOF$ MVI SYGTYPE,2 $ SIGOFLON MVI SYGTYPE,0 LONG SPACE 3 /SKIP C=1 /COPY C=1 /SKIP C=1 SPACE 1 /COPY "LSOL " SPACE 3 SIGOFLT DC AL1(SIGOFRHT-SIGOFRHT,0,0) $SIGNOFF LEFT-HAND TABLE SIGOFLTL EQU *-SIGOFLT SPACE 2 SIGOFRHT DC AL1(20,SIGOFSHO-SIGOFEXT,6,1),C'SHORT' DC AL1(1,SIGOF$-SIGOFEXT,1),C'$' DC AL1(20,SIGOFLON-SIGOFEXT,5,1),C'LONG' DC X'FF' /END SIGNOFF 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4148 + 4148 + 4148 Date: Oct 31, 1978 Person: Helffrich -Component: CMDS (636/1) +_________ -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /. ================================================================= /. REPLINN -- Replace all usages of LINNBR in the system with /. calls to LINENBR, which never makes sideways /. branch. /BEGIN REPLINN /COPY "DELSFT " LINENBR ROUTINE EXTERNAL,LINKAGE-TYPE(MTS),PARAMETER-TYPE(R(3,3)) /COPY "NUMBB " /EDIT "SCC" = "GR1" /EDIT "SCC,SCC" = "GR1,GR1" /COPY C=1 /EDIT "SCC" = "GR1" /COPY C=1 /EDIT "SCC" = "GR1" /DELETE NEXT "BAL" NEXT "GR14,LINNBRN" RICALL LINENBR(A(255),,AFD) TRY FOR STARTINGNUMBER /COPY BEFORE NEXT "C" NEXT "GR0," /EDIT F=3 "0" = "2" /COPY C=1 /EDIT F=3 "0" = "2" /DELETE NEXT "LR" /EDIT "SCC" = "GR1" /COPY C=1 /EDIT "SCC" = "GR1" /COPY C=1 /EDIT HOLD "SCC" = "GR1" /EDIT "SCC" = "GR1" NUMFSP LR SCC,GR2 COPY BEGINNING LINE NUMBER /SKIP C=1 RICALL LINENBR(A(255),,AFD) TRY FOR INCREMENT /COPY BEFORE NEXT "C" NEXT "GR0," /EDIT "GR0" = "GR2" /COPY C=1 /EDIT "GR0" = "GR2" /COPY C=1 /EDIT "SCC" = "GR1" /COPY C=1 /BUFFER NUMSSP /DELETE "NUMSSP " NUMOK LTR SCA,GR1 CHECK FOR EXTRA PARAM BZ *+8 -> NONE, SKIP NEXPARB CALL /COPY C=2 /BUFFER END /EDIT HOLD " " = "NUMSSP" /EDIT "GR0" = "GR2" /EDIT "SCD" = "SCC" /INCLUDE NUMSSP /EDIT F=1 "NUMOK" = "" /COPY "NUMSTD " LR GR2,SCC DEFINE INCREMENT, TOO /SKIP NEXT "B" NEXT "NUMOK" B NUMSSP /COPY BEFORE "NUMSTD1 " /EDIT "SCD" = "GR2" /COPY BEFORE "NUMSTD2 " NUMSTD2 LR SCC,GR2 COPY OVER STARTINGNUMBER /EDIT HOLD "NUMSTD2" = " " /EDIT F=3 "0" = "GR2" /COPY BEFORE "NUMCFB " /EDIT "SCC" = "GR1" /COPY C=1 /EDIT "SCC" = "GR1" /COPY C=3 /EDIT "SCC" = "GR1" /EDIT "SCA" = "GR1" /COPY C=1 /EDIT "SCA" = "GR1" /COPY C=1 /EDIT "SCC" = "GR1" /COPY C=3 /EDIT "SCC" = "GR1" /END REPLINN 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4149 + 4149 + 4149 Date: Oct 31, 1978 Person: Helffrich -Component: CMDS (636/1) +_________ -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /. ================================================================= /. UBCFRBUG -- Fix bug in altering and displaying FRS. Fixed by /. UBC update, included here. /BEGIN UBCFRBUG /COPY "DYSPLB20 " /DELETE NEXT "SLL" NEXT "SCA,3" SLL SCA,2 (FRS ARE ALREADY MULTIPLES OF 2) /COPY "ALTC2 " /DELETE NEXT "SLL" NEXT "SCD,3" SLL SCD,2 (FRS ARE ALREADY MULTIPLES OF 2) /END UBCFRBUG 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4150 + 4150 + 4150 Date: Oct 31, 1978 Person: Helffrich -Component: CMDS (636/1) +_________ -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /. ================================================================= /. GIGO -- Install GETINTCC and GETOUTTC subroutines in MTS. /. Make changes in signoff procedure to use them. /BEGIN GIGO /COPY "GROD " /DELETE NEXT "L" NEXT "GR15,ASETKEY" /SKIP NEXT "XC" NEXT "ASETFSAV" /DELETE NEXT "SR" NEXT "GR3,GR3" /COPY BEFORE NEXT "BZ" NEXT "SYGNODES" /EDIT F=3 "DES" = "DET" /DELETE "SYGTPI " /SKIP C=1 /EDIT " " = "SYGTPI" /EDIT F=3 "GETIN" = "GETINTC" /SKIP C=1 /EDIT "SYGDHP" = " " /DELETE "SYGNODES " /SKIP BEFORE "SYGNODET " /COPY "SINTNB " /COPY NEXT "STH" NEXT "SCA,CLSCMDID" BAL GR14,GETOUTTC THROW AWAY LFTC JUNK NOW /COPY "DYSPLA2 " /SKIP NEXT "BNZ " /COPY "DDA5 " /DELETE NEXT "XC" NEXT "ADYSSUB" /END GIGO 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4151 + 4151 + 4151 Date: Oct 31, 1978 Person: Helffrich -Component: CMDS (636/1) +_________ -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /. ================================================================= /. STOP -- Make change to DSROFF and ERRRTN so that signoffs will /. be forced even if in a gated subroutine. This means /. that tasks waiting in the DSR during a call to READ /. from a user subroutine will stop, rather than /. having to be blasted or some similar violent act. /BEGIN STOP /COPY "DSROFF " /DELETE NEXT "TM" NEXT "SWSP1,GATED" /SKIP C=1 /COPY "ERRRTN " /COPY "ERROFF " /DELETE NEXT "TM" NEXT "SWSP1,GATED" /SKIP C=1 /END STOP 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4152 + 4152 + 4152 Date: Oct 31, 1978 Person: Helffrich -Component: CMDS (636/1) +_________ -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /. ================================================================= /. NOPW -- Define mechanism whereby DSR may request that a signon /. not require a password. /BEGIN NOPW /COPY "SIGPAST " /DELETE NEXT "TM" NEXT "SWS7" /SKIP C=1 TM SWS7,NOPWN+NOPWN2 PASSWORD NEEDED? BNZ SYGNPW -> NO PW IF BNCH OR DSR REQUESTED /COPY "SYGNOFX " /DELETE NEXT "CLI" NEXT "JOBTYPE" /SKIP BEFORE "SYGNOTF " /DELETE "STARMVC " /SKIP C=1 /END NOPW 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4153 + 4153 + 4153 Date: Oct 31, 1978 Person: Helffrich -Component: CMDS (636/1) +_________ -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /. ================================================================= /. UNLFIX -- Fix a couple of potential problems in UNLI/UNLC /. which could cause buffer release snarks if user hangs /. up at critical moment. /BEGIN UNLFIX /COPY "UNLCF " /COPY NEXT "BALR " L GR1,CLSPTR+EXECFLG*4 XC CLSUDP-CLSAREA(4,GR1),CLSUDP-CLSAREA(GR1) * ZERO POINTER TO USER CLS EXTENSION /COPY "UNLNOUND " /COPY BEFORE NEXT "BZ" /EDIT F=3 "8" = "12" ST SCA,CLSPGNSA ZERO POINTER BEFORE HIABYMH /DELETE NEXT "ST" NEXT "SCA" /COPY BEFORE NEXT "BZ" /EDIT F=3 "8" = "12" ST SCA,CLSATNSA ZERO POINTER BEFORE HIABYMH /DELETE NEXT "ST" NEXT "SCA" /DELETE NEXT "ST" NEXT "SCA,CLSUDP" /END UNLFIX 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4154 + 4154 + 4154 Date: Oct 31, 1978 Person: Ogden -Component: DSRI (639/1) +_________ -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /. ================================================================= /. CHKMODS - GET DSRI TO CHECK THE MODIFIER WORD IN A /. more controlled way then getting a PGNT behind /. the GATE. /BEGIN CHKMODS /COPY 'GIOIO ' /COPY C=5 BPI OPND,GIOBP /COPY C=2 C GR1,0(SCC) NOT REALLY A COMPARE, JUST CHECKING ADDR. BPI OPND,GIOBP /END CHKMODS 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4155 + 4155 + 4155 Date: Oct 31, 1978 Person: Ogden -Component: DSRI (639/1) +_________ -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /. ================================================================= /. FIXLNR - Change to deal with line numbers bigger than /. 999999.999 or smaller than -99999.999. /BEGIN FIXLNR /COPY 'GIOSIJ2 ' /COPY C=3 /EDIT 'PUTDEC' = 'PUTLNR' /END FIXLNR 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4156 + 4156 + 4156 Date: Oct 31, 1978 Person: Ogden -Component: DSRI (639/1) +_________ -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /. ================================================================= /. CONJUNK - Check for junk at the end of $CONTINUE WITH lines. /BEGIN CONJUNK /COPY 'GIOSIQC ' /COPY C=3 /EDIT "=F'16'" = "=A(L'CONTW)" /COPY C=2 /EDIT "(15)" = "(L'CONTW)" /COPY C=1 /EDIT "(15)" = "(L'CONTW)" /EDIT "(15)" = "" /COPY C=1 /SKIP BEFORE 'GIOSIQBB ' CH SCC,=H'16' IF IT ISN'T THIS LONG THEN BL GIOICGBG IT IS WRONG CLI 14(SCA),C' ' AND IF THIS ISN'T A BLANK BNE GIOICGBG THAT IS AN ERROR TOO LA SCA,L'CONTW(,SCA) ADVANCE PAST THIS LR SCB,SCC LENGTH SH SCB,=Y(L'CONTW) REMAINING LENGTH BAL GR14,NEXPAR FIND NEXT PAR - FDNAME I HOPE BZ GIOICGBG NO FDNAME, ERROR LR SCC,SCA SAVE POINTER TO FDNAME LR GR15,SCB SAVE REMAINING LENGTH FOR MVCL BAL GR14,NEXPAR FIND ANYTHING ELSE BZ GIOICP NOPE, CAN'T BE RETURN THEN CH SCB,=H'6' LONG ENOUGH FOR "RETURN" BL GIOICGBG NOPE, JUNK AT END MVC SCRATCH(6),0(SCA) MOVE TO SAFE PLACE L GR14,=V(CASECONV) TR SCRATCH(6),0(GR14) TO UPPER CASE CLC =C'RETURN',SCRATCH SOMETHING WE LIKE? BNE GIOICGBG NO, GARBAGE AT END CH SCB,=H'6' ANYTHING MORE? BE GIOICRET NO, THEN GO FLAG IT CLI 6(SCA),C' ' MUST BE A BLANK OR ELSE BNE GIOICGBG NOT BLANK, TRASH BAL GR14,NEXPAR ANYTHING MORE? BNZ GIOICGBG YUP, JUNK GIOICRET SR GR3,GR3 FLAG, NO "RETURN" B GIOFDG SPACE GIOICP LA GR3,1 FLAG "RETURN" LA SCA,0(SCC,GR15) SCA=FDNAME+REM-LENGTH CLI 0(SCA),C' ' A BLANK AFTER FDNAME? BPI OPND,GIOICP1 NOT A BLANK I GUESS BE GIOFDG YES, WHAT LUCK GIOICP1 LR GR0,SCC POINTER TO FDNAME LR GR14,SCC POINTER TO FDNAME FOR MVCL BCTR GR0,0 LESS ONE FOR MVCL LR SCC,GR0 FDGET WILL WANT THIS LATER LR GR1,GR15 GR15 HAS THE REMAINING LENGTH MVCL GR0,GR14 MOVE IT ALL DOWN BY ONE BCTR SCA,0 MVI 0(SCA),C' ' AND ADD A BLANK AT THE END GIOFDG C SCD,MSOURCE ATTEMPT TO CHANGE MSOURCE? BE GIOCCMS YUP, CAN'T ALLOW THAT BAL GR14,FDGET GET FDUB - SCC HAS POINTER TO FDNAME BAL GR14,BLANKIT CLEAN UP THE MESS B GIOREPT SPACE 2 GIOCCMS FMSG 82,ERRSAV,TYPE=M CAN'T CHANGE MSOURCE SPACE 2 GIOICGBG FMSG 169,*,TYPE=M INVALID $CONTINUE WITH TM SWS2,BATCHM BATCH? BO GIOICGB1 ALWAYS IN BATCH LR SCA,SCD L SCB,MSOURCE BAL GR14,CLFDUB $C...W READ FROM MSOURCE? BE ERRSAV GIOICGB1 LA GR1,256 A PLACE TO PUT THE FDNAME BAL GR14,PABOSFTC LR SCA,GR1 SAVE THIS FOR LATER L SCB,FDUBNAME LH SCC,0(,SCB) HW LENGTH OF THE FDNAME BCTR SCC,0 IBM LENGTH OF THE FDNAME EX SCC,GIONMVC LA SCB,1(SCA,SCC) ONE PAST END OF FDNAME MVI 0(SCB),C' ' DELIM FOR MSG ROUTINE LA SCB,FDUBCL ADDRESS OF CURRENT LINE# FMSG 183,*,TYPE=M INVALID $CONTINUE WITH ... LR GR1,SCA BAL GR14,TABOSFTC CLEAN UP B ERRSAV GET THE HELL OUT SPACE GIONMVC MVC 0(0,SCA),2(SCB) EXECUTED TO MOVE EXTERNAL FDNAME EJECT /COPY BEFORE 'CONTW ' /EDIT "WITH " = "WITH" /END CONJUNK 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4157 + 4157 + 4157 Date: Oct 31, 1978 Person: Ogden -Component: DSRI (639/1) +_________ -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /. ================================================================= /. MOVEMAKE - MOVE THE MAKE MACRO FROM COPY:MTS.MACROS TO DSRI /BEGIN MOVEMAKE /COPY C=1 MACRO MAKE &NAME,&LABEL= DC CL8'&NAME' USING *,GR15 AIF (T'&LABEL EQ 'O').L1 &LABEL SAVE (14,12),T ENTRY &LABEL AGO .L2 .L1 ANOP &NAME SAVE (14,12),T ENTRY &NAME .L2 ANOP AIF ('&NAME' EQ 'READ' OR '&NAME' EQ 'WRITE').L3 SR SCA,SCA LA SCC,&NAME.I*4 .L4 L GR5,LGIOSP2 BR GR5 DROP GR15 SPACE 5 AGO .END .L3 L SCB,16(1) AIF ('&NAME' EQ 'READ').L5 LA SCA,8 AGO .L4 .L5 LA SCA,4 AGO .L4 .END MEND /SKIP C=1 SPACE 5 /COPY NEXT 'SETPARM' /SKIP C=1 EJECT /COPY 'CALLNOHO ' /COPY C=8 /SKIP C=1 SPACE /END MAKEMOVE 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4158 + 4158 + 4158 Date: Oct 31, 1978 Person: Ogden -Component: DSRI (639/1) +_________ -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /. ================================================================= /. GOODMSGS - FIX THE DSRI MESSAGE "... CALL USES ILLEGAL PARS..." /. UP TO SAY JUST WHAT IS WRONG /BEGIN GOODMSGS /COPY NEXT 'MAKE' DS 0H START ON A HALFWORD TO BE SAFE /COPY NEXT "DC" NEXT "CL8'&NAME'" DC CL4' ' TO GIVE THE MSG ROUTINES A DELIM. /COPY '.L3 ' BPI OPND,GIOERR1 /COPY 'GIOSPP ' /EDIT 'GIOBPNF' = 'GIOERR3' /COPY 'GIOSPOO ' /EDIT 'GIOBP' = 'GIOERR4' /COPY BEFORE NEXT 'BPI' NEXT 'OPND,GIOBP' /EDIT 'GIOBP' = 'GIOERR4' /COPY 'GIONOTO ' /EDIT 'GIOZFDB' = 'GIOERR5' /COPY 'GIORDWR ' /EDIT 'GIOBPNF' = 'GIOERR6' /COPY 'GIORW5 ' /COPY C=1 /EDIT 'GIOBPNF' = 'GIOERR6' /COPY BEFORE NEXT 'BNZ' NEXT 'GIOBPNF' /EDIT 'GIOBPNF' = 'GIOERR12' /COPY 'GIOBTCH ' /COPY C=1 /EDIT 'LR ' = 'LTR' BZ GIOSAV /COPY 'GIOIO ' /COPY C=1 /EDIT 'GIOBP' = 'GIOERR2' /COPY C=3 /EDIT 'GIOBP' = 'GIOERR2' /COPY C=3 /EDIT 'GIOBP' = 'GIOERR7' /COPY BEFORE 'GIOCKLN ' /SKIP C=1 GIOCKLN CLI 12+1(GR1),USERSEG*16 CHECK LINE# BPI OPND,GIOERR2 BAD PAR BL GIOERR8 MUST BE ABOVE SYS. SEGMENT /COPY C=2 /SKIP C=2 CLI 0+1(GR1),USERSEG*16 CHECK BUFFER BL GIOERR9 CLI 4+1(GR1),USERSEG*16 CHECK LENGTH BL GIOERR10 /COPY C=1 /EDIT 'GIOBP' = 'GIOERR10' /COPY C=3 /EDIT 'GIOSLE' = 'GIOERR11' /COPY C=2 /EDIT 'GIOBP' = 'GIOERR9' /COPY 'GIONIC ' /EDIT 'GIOBP' = 'GIOERR2' /COPY BEFORE NEXT 'BPI' /EDIT 'GIOBP' = 'GIOERR7' /COPY 'GIOSIS ' /COPY C=10 /EDIT 'GIOBP' = 'GIOERR10' /COPY 'GIOSIS3A ' BPI OPND,GIOERR2 /COPY C=1 /EDIT 'GIOBP' = 'GIOERR8' /COPY 'GIOSIS2 ' /COPY C=6 /EDIT 'GIOBP' = 'GIOERR10' /COPY 'GIOSIZ3 ' /COPY C=1 /EDIT 'GIOBP' = 'GIOERR8' /COPY 'GIOSII2 ' /COPY C=1 /EDIT 'GIOBP' = 'GIOERR8' /COPY BEFORE 'GIOSLE ' /SKIP 'GIOBPM' EJECT * IF YOU GET TO THIS PART OF THE CODE IT MEANS THAT ONE OR * MORE OF THE PARAMETERS TO THE I/O CALL WERE BAD, AND WE * NEED TO PRODUCE AN ERROR MESSAGE AND EXIT. MOST OF THE * DIRTY WORK IS LEFT TO THE MSG ROUTINES WHICH ARE CALLED * BY FMSG. SPACE 2 PUSH USING DROP SPACE GIOERR1 BALR GR5,0 NEED A GOOD LOCAL BASE USING *,GR5 L GR5,LGIOSP JUST LIKE EVERONE ELSE DROP GR5 USING GIOSP,GR5 L GR10,LGIOSP+4 USING GIOSP+4096,GR10 HWIMB 1,N=7 USING DSCT,GR4 LM GR11,GR12,COMBASE DROP POP USING BACK TO NORMAL SR SCD,SCD NO FDUB SR GR2,GR2 NO SWITCHES TO START LA GR14,0(GR14) COME THROUGH THE GATE? C GR14,=V(GATEOUT) BE *+8 YES LA GR2,FDUBNOG NO - FLAG IT FOR LATER CHKPAR NOTIFY=GIOERR2 TURN OFF MODE CHANGE IF NEC. O GR2,=A(FDUBPRC) REMEMBER SPACE GIOERR2 TM 0(GR1),0 BPI OPND,GIOERR2A BAL GR1,GIOERR FMSG 172,GIOBTCH,TYPE=M PART OF PAR LIST ISN'T ADDR. SPACE GIOERR2A BAL GR1,GIOERR FMSG 173,GIOBTCH,TYPE=M ALL OF PAR LIST ISN'T ADDR. SPACE GIOERR3 LR SCD,GR2 GIOERR4 BAL GR1,GIOERR FMSG 174,GIOBTCH,TYPE=M INVLAID FDNAME POINTER SPACE GIOERR5 BAL GR1,GIOERR FMSG 175,GIOBTCH,TYPE=M INVALID FDUB SPACE GIOERR6 LR SCD,GR2 BAL GR1,GIOERR FMSG 176,GIOBTCH,TYPE=M UNIT PAR IS NOT ADDR. SPACE GIOERR7 BAL GR1,GIOERR FMSG 177,GIOBTCH,TYPE=M MODS NOT ADDRESSABLE SPACE GIOERR8 BAL GR1,GIOERR FMSG 178,GIOBTCH,TYPE=M LINE# NOT ADDRESSABLE SPACE GIOERR9 BAL GR1,GIOERR FMSG 179,GIOBTCH,TYPE=M I/O BUFFER IS NOT ADDRESSABLE SPACE GIOERR10 BAL GR1,GIOERR FMSG 180,GIOBTCH,TYPE=M LENGTH IS NOT ADDRESSABLE SPACE GIOERR11 BAL GR1,GIOERR FMSG 181,GIOBTCH,TYPE=M OUTPUT CALL USES NEG. LENGTH SPACE GIOERR12 BAL GR1,GIOERR FMSG 182,GIOBTCH,TYPE=M UNIT PAR. IS INVALID SPACE 2 * THIS ROUTINE IS CALLED ON GR1, IT SETS SCA TO POINT AT THE * CALLER'S GR14 ADDRESS AND SCB TO POINT AT THE NAME OF THE * CALLED ROUTINE. SPACE GIOERR LA SCB,=C'I/O ' A NAME TO USE IF NO OTHER L SCA,16(,GR13) SEARCH FOR A BETTER NAME LA SCA,0(,SCA) CL SCA,=A(GIOENTRY) BL GIOERRA TOO LOW CL SCA,LGIOSP BNL GIOERRA TOO HIGH SL SCA,=F'12' BACK UP TO NAME LR SCB,SCA ADDRESS OF NAME TO USE GIOERRA DS 0H LA SCA,12(,GR13) CALLER'S GR14 IN SA L SCD,0(,SCA) LA SCD,0(,SCD) CLEAN IT C SCD,=V(GATEOUT) IS THE GATE IN THE WAY? BNE GIOERRB LA SCA,GATER14 GIOERRB BR GR1 BACK WE GO /END GOODMSGS 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4159 + 4159 + 4159 Date: Oct 31, 1978 Person: Helffrich -Component: DSRI (639/1) +_________ -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /. ================================================================ /. EOFJUNK -- Check for junk following $ENDFILE card. /BEGIN EOFJUNK /COPY "GIOSIQU " CH SCC,=Y(L'EOF) LONG ENOUGH FOR $ENDFILE? BL GIOSIQC -> NO WAY, JOSE /COPY C=1 /EDIT F=3 "8" = "L'EOF" /COPY C=1 /EDIT F=3 "8" = "L'EOF" /EDIT F=3 "=C'$ENDFILE'" = "EOF" /COPY BEFORE "ISENDFIL " B GIOSIQUE -> OK, GOT-UM ENDFILE SPACE ISENDFIL LR SCB,SCC COPY OVER COUNT FOR NEXPAR SH SCB,=Y(L'EOF) BNP GIOSIQUE -> NOTHING LEFT, OK ENDFILE AH SCA,=Y(L'EOF) CLI 0(SCA),C' ' BNE GIOEOFBG -> NOT A BLANK AT END, BUM ONE BAL GR14,NEXPAR BNZ GIOEOFBG -> EXTRA STUFF, BUM ONE /EDIT "ISENDFIL" = "GIOSIQUE" /COPY BEFORE "GIOICGBG" GIOEOFBG FMSG 37,GIO##BG,TYPE=M INVALID $ENDFILE ... /COPY C=1 /EDIT " " = "GIO##BG" /COPY "BINEOF " EOF DC C'$ENDFILE' /END EOFJUNK 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4160 + 4160 + 4160 Date: Oct 31, 1978 Person: Helffrich -Component: DSRI (639/1) +_________ -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /. ================================================================ /. NOPW -- Define mechanism whereby DSR may request that no /. password is needed for this signon. /BEGIN NOPW /COPY "GIONTFY " /SKIP BEFORE NEXT "BR" NEXT "14" LA GR0,1 REGULAR-TYPE NOTIFY CLI FDBDSRSW,2 DID DSR SAY NO PASSWORD, TOO? BNE *+8 LA GR0,4+1 INCLUDE IRREGULAR ONE FROM DSR L 14,12(,13) LM 1,12,24(13) XR 15,15 /COPY "GIOSIRA " /COPY NEXT "SR" CLI FDBDSRSW,2 BNE *+8 -> NO NO PASSWORD NOTIFICATION LA SCB,4 /END NOPW 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4161 + 4161 + 4161 Date: Oct 31, 1978 Person: Helffrich -Component: DSRS (637/1) +_________ -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /. ================================================================= /. FIXHADDD - FIX THIS TO USE THE STACK (AND NOT LOOP) /BEGIN FIXHADDD /COPY 'DSRS ' /COPY NEXT 'ENTRY' NEXT 'PCHCLOS,PTRCLOS' /COPY C=1 ZHADDDA ROUTINE EXTERNAL,LINKAGE-TYPE(MTS),PARAMETER-TYPE(R(2,0)) SPACE 5 /COPY 'HCTHOLD ' /COPY C=3 /SKIP C=5 RICALL ZHADDDA(,HCTLDR) GO HOLD IT /END FIXHADDD 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4162 + 4162 + 4162 Date: Oct 31, 1978 Person: Helffrich -Component: DSRS (637/1) +_________ -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /. ================================================================= /. REPLINN -- Replace calls to LINNBRN in system with calls to /. new routine LINENBR which never takes the sidewasy /. branch. /BEGIN REPLINN /COPY "ZHADDDA " LINENBR ROUTINE EXTERNAL,LINKAGE-TYPE(MTS),PARAMETER-TYPE(R(3,3)) /COPY "PEEL " /COPY NEXT "LR" NEXT "SCC,SCB" /EDIT "SCC" = "GR1" /EDIT "GR1" = "SCC" /EDIT "GR1,0(,GR1)" = "GR0,0(,SCC)" /SKIP C=2 LA GR3,0(,GR1) CLEAN AND COPY /SKIP BEFORE "PEEL1 " STM GR14,GR15,PEELSAV I WISH I DIDN'T HAVE TO DO THIS RICALL LINENBR(,,(SCD)) TRY FOR A LINE NUMBER SRA GR15,3 CHECK FOR RC=8 LM GR14,GR15,PEELSAV BNZ PEELERR -> ERROR MESSAGE RETURNED LTR GR0,GR0 BNP PEEL1 -> NO TEXT LEFT CLC LNS,0(GR1) BNE PEEL1 -> LNS DIDN'T END LINE NUMBER LA GR1,1(,GR1) EAT UP LNS BCTR GR0,0 /EDIT "GR2" = "SCC" /EDIT "GR0,0(,GR2)" = "GR2,0(,SCC)" /SKIP C=2 /COPY C=1 /EDIT "GR1" = "GR0" /SKIP C=2 LA GR2,0(,GR1) COPY AND CLEAN WHERE TO MOVE TO LR GR1,GR0 COUNT OF BYTES TO MOVE CR GR2,GR3 BE PLMAX -> SKIP MOVE IF SAME ADDRESS /COPY NEXT "LH" NEXT "GR1,0(,SCC)" /SKIP C=2 B PLMOVIT WILL RETURN THRU GR14 SPACE PEELERR LH GR0,0(,GR1) GET ERROR MESSAGE LENGTH LA GR1,2(,GR1) AND ADDRESS BAL GR2,OUTM PRINT ON MSINK ONLY, I GUESS B INLOOP -> TAKE THE BIG SIDEWAYS BRANCH /END REPLINN 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4163 + 4163 + 4163 Date: Oct 31, 1978 Person: Helffrich -Component: DSRS (637/1) +_________ -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /. ================================================================= /. NOPW -- Define mechanism whereby DSR may request that signon /. not require password. /BEGIN NOPW /COPY NEXT "ENTRY PCHCLOS" ENTRY WFOPER,WFDISK /COPY "GFRDR " /DELETE NEXT "BAL" NEXT "SCD,INITJUNK" L SCD,=A(INITJUNK) INVOKE THIS GRUBBY LITTLE ROUTINE BALR SCD,SCD /COPY "GFRRTY " /COPY NEXT "EJECT" * WFOPER -- WAITFOR FOR OPERATORS CONSOLE SPACE 5 USING WFOPER,GR10 WFOPER LR GR10,GR15 ESTABLISH BASE LR GR1,GR0 COPY FDUB * L GR1,FDUBLN-FDBDCT(,GR1) GET OPER FCB S GR1,=A(FCBDSCT-FCBHDR) BACK OFF TO PREFIX OI FCBSWS2-FCBHDR(GR1),FCBWFWLO FLAG WAITFOR LAST OP * LM 14,12,12(13) RESTORE XR 15,15 WHATEVER THIS MEANS BR 14 -> RETURN EJECT /COPY "GFOPER " /DELETE NEXT "LR" NEXT "SCD,0" LR SCA,1 PRESERVE GR1 ACROSS SVC READ * /COPY C=1 LR SCD,0 IMPLANT FDUB /SKIP C=1 L GR1,FDUBLN OPER FCB S GR1,=A(FCBDSCT-FCBHDR) BACK OFF TO PREFIX TM FCBSWS2-FCBHDR(GR1),FCBWFWLO BZ *+12 -> WAITFOR WASN'T LAST OP NI FCBSWS2-FCBHDR(GR1),255-FCBWFWLO NOW IT ISN'T ANY MORE MVI FDBDSRSW,2 TELL POSTFIX TO NOTIFY NO PW NEEDED * /COPY C=1 /EDIT "16" = "12" /SKIP C=1 /EDIT F=3 "FCBLINK-FCBDSCT+4" = "FCBOPBUF-FCBHDR" /COPY NEXT "EJECT" * WFDISK -- WAITFOR FOR DISK DSR. * * THIS GETS USED WHEN *-FILE JOBS ARE STARTED SPACE 5 USING WFDISK,GR10 WFDISK LR GR10,GR15 ESTABLISH BASE LR GR9,GR0 ESTABLISH FDUB * L GR2,FDUBNAME-FDBDCT(,GR9) PUT NAME OF *-FILE WE ARE LH GR3,0(,GR2) INTO JOB TABLE FOR SSRTN CH GR3,*+10 TO NICELY DISPLAY BNH *+8 LA GR3,5 MAX OF 5 CHARS, PLEASE BCTR GR3,0 L GR1,LOCPARR SVC PROOFF MVC 13(5,GR1),=5C' ' PAD WITH BLANKS EX GR3,WFDISKMV MVC 13(0,GR1),2(GR2) SVC PROTON * L GR1,FDUBLN-FDBDCT(,GR9) NOW FLAG WAITFOR WAS LAST S GR1,=A(FCBDSCT-FCBHDR) OPERATION OI FCBSWS2-FCBHDR(GR1),FCBWFWLO * LM 14,12,12(13) RETURN XR 15,15 WHATEVER THIS MEANS BR 14 SPACE 2 WFDISKMV MVC 13(0,GR1),2(GR2) EJECT /COPY "GFDRET " L GR1,FDUBLN NOW SET UP INSTRUCTIONS TO POSTFIX S GR1,=A(FCBDSCT-FCBHDR) TM FCBSWS2-FCBHDR(GR1),FCBWFWLO BZ *+12 -> NOT FIRST OP AFTER WAITFOR NI FCBSWS2-FCBHDR(GR1),255-FCBWFWLO MVI FDBDSRSW,2 TELL POSTFIX NO PASSWORD NEEDED /COPY "PLMOVITM " /COPY NEXT "DROP" LTORG THIS PROVED TO BE NECESSARY /DELETE "WOOPER " WOOPER DS 0H WRITE ON OPER /COPY "WOPTR " /DELETE NEXT "BAL" NEXT "SCD,INITJUNK" L SCD,=A(INITJUNK) BALR SCD,SCD CALL THIS BASELESS ROUTINE /COPY "WOPCH " /DELETE NEXT "BAL" NEXT "SCD,INITJUNK" L SCD,=A(INITJUNK) BALR SCD,SCD CALL THIS BASELESS ROUTINE /COPY "LWOPTR " /COPY BEFORE NEXT "EJECT" /BUFFER INITJUNK /COPY NEXT "SPACE" PUSH USING DROP , NOTA BENE USING DSCT,GR4 NOTA BENE SPACE 2 /COPY BEFORE NEXT "EJECT" SPACE 2 POP USING /BUFFER END /DELETE "WODISK " WODISK DS 0H WRITE ON DISK /COPY "WODWCM " /COPY BEFORE NEXT "EJECT" /INCLUDE INITJUNK /END NOPW 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4164 + 4164 + 4164 Date: Oct 31, 1978 Person: Helffrich -Component: RSF (578/1) +_________ -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /. ================================================================= /. SIGMCD - RATEVEC HAS MOVED INTO "THEDSECT" /BEGIN SIGMCD /COPY 'LASTJBA5 ' /COPY C=3 /SKIP C=1 /COPY C=3 /SKIP C=1 /END SIGMCD 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4165 + 4165 + 4165 Date: Oct 31, 1978 Person: Helffrich -Component: RSF (578/1) +_________ -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /. ================================================================= /. GIGO -- Install GETINTCC and GETOUTTC subroutines in MTS. /. Change code to load SETKEY, SETFSAV, SETFPRIV by /. using GETINTCC. /BEGIN GIGO /COPY "FCSETPK " /DELETE NEXT "L" NEXT "GR15,ASETKEY" /SKIP "FCSETPK1 " LA GR0,SKEYIX LOAD SETKEY BAL GR14,GETINTC LA GR1,FCTLPL PARAMETER LIST /COPY "FCTPR " /SKIP "FCTPR1 " LR GR3,GR2 PROTECT PARLIST PTR LA GR0,SPRVIX LOAD SETFPRIV BAL GR14,GETINTC LR GR1,GR3 /COPY "FCTSSB " /SKIP "FCTSSB1 " LR GR3,GR2 PROTECT PARLIST PTR LA GR0,SSBIX LOAD SETFSAV BAL GR14,GETINTC LR GR1,GR3 /END GIGO 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4166 + 4166 + 4166 Date: Oct 31, 1978 Person: Helffrich -Component: TIMNTRP (539/1) +_________ -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /. ================================================================= /. SWSTATE -- This fixes a bug which is evidenced by having the /. wrong CLS area user extension in the job table if /. the SWSTATE process gets interrupted at a critical /. spot. /BEGIN SWSTATE /COPY "SWSDONE " /BUFFER TWOMVCS /COPY C=2 /BUFFER END /EDIT F=3 "GR11" = "GR11,L=SCRATCH" /INCLUDE JBTBLUPD /INCLUDE TWOMVCS /COPY "SWSNOLD " /COPY C=2 /BUFFER JBTBLUPD /EDIT F=3 "GR11" = "GR14" /EDIT F=3 "GR12" = "GR15" /COPY C=1 /EDIT HOLD "GR11" = "GR14" /EDIT "GR12" = "GR15" /COPY NEXT "SVC" NEXT "PROTON" /BUFFER END /END SWSTATE 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4167 + 4167 + 4167 Date: Oct 31, 1978 Person: Helffrich -Component: CMDSTAT (531/1) +_________ -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.1 source. /. DSRDISPV -- Remove CMDSTAT usage of DSRDISPV, as it is now a /. true MTS component. /BEGIN DSRDISPV /DELETE "NOPW " /SKIP NEXT "LA" NEXT "GR1,1(GR4,GR2)" /EDIT HOLD " " = "NOPW" /EDIT F=3 "0(GR1)" = "CLSCURB" /END DSRDISPV 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4168 + 4168 + 4168 Date: Oct 31, 1978 Person: Sherry -Component: LLXU (354/1) +_________ -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /. ERRRTN - update to have LLXU read @ERRRTN and @NOPROMPT if /. called with NOPROMPT and ERRRTN bits set. /. Note: LLXNTMOD must be defined in LXDCT as DS XL1 before this /. update will work. The "spare" byte following LLXSW1 can be used /. for this. /BEGIN ERRRTN /COPY "XLNIE " /COPY BLANKS "XC" BLANKS "LLXUSSA," MVI LLXNTMOD,X'80' SET @NOTIFY MODIFIER FOR LLXINP /COPY "XLNBL2 " TM XLSWS+3,ERRTNBT+NOPRMTBT CALLER WANTS FULL CONTROL? BNO *+8 NOPE OI LLXNTMOD,X'44' YES, READ @ERRRTN AND @NOPROMPT /COPY "LLXINP " /DELETE BLANKS "OI" BLANKS "LLXINMOD" OC LLXINMOD(1),LLXNTMOD SET @NOTIFY AND POSSIBLY @ERRRTN /COPY BEFORE "LLXINCK " LLXINCK LTR SCD,GR0 IO OPERATION COMPLETED? BZ LLXINSDS YES, ONTO SDS N SCD,=F'2' ERROR OPENING NEW FDUB? BZ LLXINFY NO, CHECK FOR NOTIFY LA GR15,8 YES, GIVE UMLOAD AN IO ERROR RETURN B LLXINRET /EDIT "CK" = "FY" ;* CHANGE THE LABEL /COPY "LLXRETI " ;* POSITION TO USER INPUT ROUTINE INTERCEPT /DELETE BLANKS "C" BLANKS "GR0" /SKIP COUNT=1 LTR GR0,GR0 IO OPERATION COMPLETED? BNZ LLXUXIT NO, A NOTIFICATION OR ERROR /END ERRRTN 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4169 + 4169 + 4169 Date: Oct 31, 1978 Person: Sherry -Component: LLXU (354/1) +_________ -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /. ================================================================= /. RUNONLY - update to return to caller if ERRRTN bit is set on call /. to LLXU even is program is "RUN ONLY". /BEGIN RUNONLY /COPY BEFORE "XLPFDN " /EDIT "XLDEFPID" = "XLDEFPKY" /COPY BEFORE "XLPIGN " /EDIT "XLDEFPID" = "XLDEFPKY" /COPY BEFORE "XLDEFPID " XLDEFPID TM XLSWS+3,ERRTNBT ERROR RETURN REQUESTED? BOR GR14 YES, SO DON'T UNLOAD PGM /EDIT "XLDEFPID" = "XLDEFPKY" ;* CHANGE THE NAME /END RUNONLY 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4170 + 4170 + 4170 Date: Oct 31, 1978 Person: Sherry -Component: LLXU (354/1) +_________ -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /. ================================================================= /. LSW - update to return the correct loader status word when /. calling the error exit supplied on the call to LINK or XCTL. /BEGIN LSW /COPY "XLERRCL " ;* AFTER XLERROR /COPY COUNT=1 ST SCD,LSW RESTORE ERROR LSW FOR EXIT RTN /COPY "XLERRET3 " /COPY BEFORE BLANKS "MVC " /EDIT "(," = "(4," ;* RETURN ALL 4 BYTES!! /END LSW 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4171 + 4171 + 4171 Date: Oct 31, 1978 Person: Sherry -Component: LLXU (354/1) +_________ -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /. ================================================================= /. FIXPFX - update to restore previous prefix before calling user /. error exit routine after bad LINK or XCTL. /BEGIN FIXPFX /COPY BEFORE "XLERRET1 " /BUFFER LOADTEST /EDIT FIELD=1 "XLERRET1" = ;* REMOVE LABEL FIELD /COPY BEFORE "XLERRET2 " /BUFFER END /EDIT "RET2" = "RET1" ;* CHANGE LABEL /COPY BLANKS "DROP GR15" /INCLUDE LOADTEST ;* MOVE SOME CODE /COPY BEFORE BLANKS "LR" BLANKS "GR1" /EDIT FIELD=1 = "XLERRET2" ;* ADD A NEW LABEL /END FIXPFX 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4172 + 4172 + 4172 Date: Oct 31, 1978 Person: Ogden -Component: MTS.MACROS (344/1) +_________ -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.1 source. /. ================================================================= /. FIXLNR - Make FIXLNR one of the commonly addressable subs. /BEGIN FIXLNR /COPY '*MACRO ' NEXT 'CLSAREA' /COPY 'CLSAREAL ' /SKIP C=1 EJECT /COPY '*MACRO ' NEXT 'MTSTV' /COPY 'CONFIRM ' PUTLNR B 0 /END FIXLNR 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4173 + 4173 + 4173 Date: Oct 31, 1978 Person: Ogden -Component: MTS.MACROS (344/1) +_________ -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.1 source. /. ================================================================= /. SIGMCD -- FIX UP SIGMCD MACRO SO USES SYMBOLIC RATE VECCTOR /. LENGTH. /BEGIN SIGMCD /COPY "*MACRO" NEXT "THEDSECT" /COPY C=2 SPACE 2 COPY COPY:RATEVEC /COPY "*MACRO" NEXT "SIGMCD" /COPY BEFORE "SIGMRVEC" /EDIT F=3 "20" = "(RATELEN/2)" /END SIGMCD 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4174 + 4174 + 4174 Date: Oct 31, 1978 Person: Ogden -Component: MTS.MACROS (344/1) +_________ -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.1 source. /. ================================================================= /. ADDPWCON - Add $SET PWCONFIRM=ON option /BEGIN ADDPWCON /COPY '*MACRO ' NEXT 'DSCT' /COPY 'EOFISOK' PWCONF EQU X'08' 1->OFF 0->ON REQUIRE OLD PW /END ADDPWCON 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4175 + 4175 + 4175 Date: Oct 31, 1978 Person: Ogden -Component: MTS.MACROS (344/1) +_________ -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.1 source. /. ================================================================= /. ADDPWARN - Add warnings if (1) the PW is one that was set by /. the computing center rather than the user or (2) /. if the password has been changed in a 'long' time. /. Note: COPY:ACCFORMAT should really be a MACRO and then this /. would work! /. /BEGIN ADDPWARN /. /COPY '*MACRO ' NEXT 'DSCT' /. /COPY 'ACCDCT ' /. /COPY '*' NEXT '14' /. * 15 - PW SET BY CC /. /COPY 'ACCPUSE ' /. ACCPWCC EQU X'01' PW SET BY COMPUTING CENTER /. /END ADDPWARN 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4176 + 4176 + 4176 Date: Oct 31, 1978 Person: Ogden -Component: MTS.MACROS (344/1) +_________ -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.1 source. /. ================================================================= /. PWNORHS - Allow PW with no right hand side /BEGIN PWNORHS /COPY '*MACRO ' NEXT 'SETKWD' /COPY 'SETKWD ' SETSA1 DS 18F A SAVE AREA FOR KWSCAN SETSA2 DS 18F A SAVE AREA FOR CONTROL, ... SETPW1 DS CL12 COPY OF 1st USER PW SETPW2 DS CL12 COPY OF 2nd USER PW STCTLPAR DS 3A PAR LIST TO CALL CONTROL /COPY '*MACRO ' NEXT 'RHTABLE' /COPY BEFORE 'PWRHT ' /SKIP C=1 PWRHT DC AL1(3,0,2,1,12) . PW=something (1=>n<=12) DC AL1(3,4,1,0) PW=nothing DC AL1(7,4,0) PW all by itself /END PWNORHS 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4177 + 4177 + 4177 Date: Oct 31, 1978 Person: Ogden -Component: MTS.MACROS (344/1) +_________ -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.1 source. /. ================================================================= /. MOVEMAKE - MOVE THE MAKE MACRO OUT OF COPY:MTS.MACROS AND INTO /. DSRI THE ONE AND ONLY PLACE IT IS USED. /BEGIN MOVEMAKE /COPY BEFORE '*MACRO ' NEXT 'MAKE' /SKIP NEXT 'MEND' /END MOVEMAKE 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4178 + 4178 + 4178 Date: Oct 31, 1978 Person: Ogden -Component: MTS.MACROS (344/1) +_________ -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.1 source. /. ================================================================= /. LFRAX - KILL OFF THE SET LFR OPTION /BEGIN LFRAX /COPY BEFORE 'LFRBIT ' /SKIP C=1 * X'40' IS CURRENTLY UNUSED, WAS LFRBIT /COPY BEFORE 'LFRRUN ' /SKIP C=1 * X'04' IS CURRENTLY UNUSED, WAS LFRRUN /END LFRAX 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4179 + 4179 + 4179 Date: Oct 31, 1978 Person: Sherry -Component: MTS.MACROS (344/1) +_________ -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.1 source. /. ================================================================ /. LXDCT - Add a new item ("LLXNTMOD") to LXDCT. /BEGIN LXDCT /COPY "*MACRO" NEXT "LXDCT" /DELETE BLANKS "DS" BLANKS "X" SPAN(' .') "SPARE" LLXNTMOD DS X @NOTIFY, @ERRRTN AND @NOPROMPT MODS /END LXDCT 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4180 + 4180 + 4180 Date: Oct 31, 1978 Person: Sherry -Component: MTS.MACROS (344/1) +_________ -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.1 source. /. ================================================================ /. LSWORD - Add a new bit definition for "IOERRBT". /BEGIN LSWORD /COPY "*MACRO" NEXT "LSWORD" /DELETE "*" BLANKS "X'08'" ;* NO LONGER SPARE IOERRBT EQU X'08' ON IF IO ERROR FROM INPUT ROUTINE /END LSWORD 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4181 + 4181 + 4181 Date: Oct 31, 1978 Person: Helffrich -Component: MTS.MACROS (344/1) +_________ -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.1 source. /. ================================================================= /. FMSGCMSG -- Make FMSG and CMSG macros call NEWMTS type routines /. FMSGSUB and CMSGSUB when they are expanded in a /. NEWMTS type routine. /BEGIN FMSGCMSG /COPY "*MACRO" NEXT "CMSG" /COPY NEXT "GBLA" NEXT "&CNT" GBLA &CURNON NONZERO IF IN NEWMTS ENVIRONMENT LCLA &J,&K /COPY C=1 AIF (&CURNON NE 0).NEWMTS /DELETE NEXT "MEND" MEXIT .* .* .NEWMTS ANOP &J SETA K'&MSG ROUND LENGTH TO NEXT HALFWORD &K SETA (&J+1)/2*2 &CNT SETA &CNT+&K-&J ADJUST FOR ROUNDING AIF ('&LBL' NE '').RET &J SETA 1 SET INLOOP OPTION .RET AIF ('&TYPE' EQ 'B').BOTH, * ('&TYPE' EQ 'M').MSINK, * ('&TYPE' EQ 'S').SINK MNOTE 4,'ILLEGAL CMSG TYPE' .BOTH ANOP &J SETA &J+4+2 AGO .L6 .MSINK ANOP &J SETA &J+4 AGO .L6 .SINK ANOP &J SETA &J+2 .L6 AIF ('&SL' EQ '').L6SKIP &SL DS 0H .L6SKIP AIF ('&LBL' EQ '').RCALL STM GR14,GR2,0(GR12) SAVE REGISTERS ON STACK LA GR12,5*4(,GR12) COVER THEM OVER .RCALL RCALL CMSGSUB(A(&J),A(&K),A(G&SYSNDX)) AIF ('&LBL' EQ '').L8 LA GR15,5*4 SR GR12,GR15 LM GR14,GR2,0(GR12) RESTORE REGISTERS AIF ('&LBL' NE '*').L7 B *+4+&K AGO .L8 .L7 B &LBL .L8 ANOP G&SYSNDX DC CL&K&MSG MEND /COPY "*MACRO" NEXT "FMSG" /COPY C=2 GBLA &CURNON NONZERO IF IN NEWMTS ENVIRONMENT LCLA &J AIF (&CURNON NE 0).NEWMTS /DELETE NEXT "MEND" MEXIT .* .* .NEWMTS AIF ('&LBL' NE '').RET &J SETA 1 SET INLOOP OPTION .RET AIF ('&TYPE' EQ 'B').BOTH, * ('&TYPE' EQ 'M').MSINK, * ('&TYPE' EQ 'S').SINK MNOTE 4,'ILLEGAL FMSG TYPE' .BOTH ANOP &J SETA &J+4+2 AGO .L6 .MSINK ANOP &J SETA &J+4 AGO .L6 .SINK ANOP &J SETA &J+2 .L6 AIF ('&SL' EQ '').L6SKIP &SL DS 0H .L6SKIP AIF ('&LBL' EQ '').RCALL STM GR14,GR1,0(GR12) SAVE REGISTERS ON STACK LA GR12,4*4(,GR12) COVER THEM OVER .RCALL RCALL FMSGSUB(A(&J),A(&LNR)) AIF ('&LBL' EQ '').MEND LA GR15,4*4 SR GR12,GR15 LM GR14,GR1,0(GR12) RESTORE REGISTERS AIF ('&LBL' EQ '*').MEND B &LBL .MEND MEND /END FMSGCMSG 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4182 + 4182 + 4182 Date: Oct 31, 1978 Person: Helffrich -Component: MTS.MACROS (344/1) +_________ -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.1 source. /. ================================================================ /. REPLINN -- Replace LINNBRN subroutine with LINENBR subroutine /. coded a la new MTS. Make changes to DSCT macro to /. reflect this. /BEGIN REPLINN /COPY "*MACRO" NEXT "DSCT" /DELETE "SFFGR14 " /DELETE "SFFNOT " * EQU 4 UNUSED - WAS SFFNOT /DELETE "LNRN " * EQU X'80' UNUSED - WAS LNRN /COPY BEFORE "SDSINVSA " PEELSAV DS 2A PEEL SAVE AREA /COPY "*MACRO" NEXT "MTSTV" /DELETE "LINNBR " B 0 UNUSED -- WAS LINNBR /DELETE "LINNBRN " B 0 UNUSED -- WAS LINNBRN /END REPLINN 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4183 + 4183 + 4183 Date: Oct 31, 1978 Person: Helffrich -Component: MTS.MACROS (344/1) +_________ -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.1 source. /. ================================================================= /. GIGO -- Add GETOUTTC and GETINTCC subroutines to MTS. /BEGIN GIGO /COPY "*MACRO" NEXT "DSCT" /DELETE "ASETKEY " /DELETE "ASETPRIV " /DELETE "ASETFSAV " /COPY "*MACRO" NEXT "MTSTV" /COPY "PUTLNR " GETOUTTC B 0 /END GIGO 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4184 + 4184 + 4184 Date: Oct 31, 1978 Person: Helffrich -Component: MTS.MACROS (344/1) +_________ -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.1 source. /. ================================================================= /. CLEANUP1 -- Clean out MTSTV entry for CHKSER /BEGIN CLEANUP1 /COPY "*MACRO" NEXT "MTSTV" /DELETE "CHKSER " B 0 UNUSED -- WAS CHKSER /END CLEANUP1 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4185 + 4185 + 4185 Date: Oct 31, 1978 Person: Helffrich -Component: MTS.MACROS (344/1) +_________ -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.1 source. /. ================================================================= /. CMNDBUG -- Fix bug in CMND macro which causes wrong CMDSTAT /. type to be picked up for the R abbreviation for /. the RUN command. /BEGIN CMNDBUG /COPY "*MACRO" NEXT "CMND" /DELETE "&T" NEXT "SETC" NEXT "'&CMDCT'" &T SETC '&T'.' ' derive CMDSTAT type from command name AIF ('&CMDCT' EQ '').GOTCT &T SETC '&CMDCT'.' ' unless one explicitly given .GOTCT ANOP /END CMNDBUG 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4186 + 4186 + 4186 Date: Oct 31, 1978 Person: Helffrich -Component: MTS.MACROS (344/1) +_________ -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.1 source. /. ================================================================= /. NOPW -- Define mechanism whereby DSR may request that signon /. not require password. /BEGIN NOPW /COPY "*MACRO" NEXT "FCBDSCT" /DELETE " " NEXT "DS" NEXT "H" DS X UNUSED FCBSWS2 DS X ANOTHER SWITCH BYTE FCBWFWLO EQU X'80' WAITFOR WAS LAST OP (ONLY SET/USED BY* SOME DSRS) /COPY "BNCHLNG " SPACE 3 ORG FCBLINK+4 FCB FOR OPER DSR FCBOPBUF DS CL100 INPUT REGION FOR SVC READ OPERLNG EQU *-FCBHDR /COPY "*MACRO" NEXT "DSCT" /COPY "SWS7 " /DELETE "*" NOPWN2 EQU 4 NO PW NEEDED BECAUSE DSR SAID SO /COPY "*MACRO" NEXT "MTSCTAB" /COPY "FTYPTBL " /EDIT F=3 "FCBLINK-FCBHDR+4+100" = "OPERLNG" /END NOPW 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4187 + 4187 + 4187 Date: Oct 31, 1978 Person: Ogden -Component: RATENBR (651/10) +_________ -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /. ================================================================= /. HSLINE - The powers that be have changed the name of PRIVATE /. LINES to HIGH SPEED LINES so we need to change the /. code as well. /BEGIN HSLINE /COPY BEFORE 'RPRIVL ' /EDIT 'RPRIVL' = 'RHSLINE' /COPY 'NOTBATCH ' /COPY BEFORE NEXT 'BE' NEXT 'TSTPVT' /SKIP C=1 BE TSTHSL YES - MAY BE A HIGH SPEED LINE /COPY BEFORE 'TSTPVT ' /EDIT HOLD 'TSTPVT' = 'TSTHSL' /EDIT ' PVT LINE' = ' HS LINE' /COPY C=1 /EDIT HOLD 'RPRIVL' = 'RHSLINE' /EDIT 'PRIVATE LINES' = 'HIGH SPEED LINES' /EDIT HOLD "=C'PRIVATE LINE,'" = "=C'HIGH SPEED LINE,'" /EDIT '13' = '16' /EDIT '13' = '16' /END HSLINE 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4188 + 4188 + 4188 Date: Oct 31, 1978 Person: Ogden -Component: RATENBR (651/10) +_________ -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /. ================================================================= /. SIGMCD - RATEVEC has moved into "THEDSECT" /BEGIN SIGMCD /COPY 'ENGLE ' /COPY C=4 /SKIP C=1 /COPY C=4 /SKIP C=1 /END SIGMCD 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4189 + 4189 + 4189 Date: Oct 31, 1978 Person: Ogden -Component: USUB (638/1) +_________ -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.0 source. /. ================================================================= /. FREEDSCT - DON'T ALLOW ANYONE TO FREE THE MTS DSECT /BEGIN FREEDSCT /COPY 'FSBASE ' LA GR15,0(,GR1) DON'T LET GO OF THE MTS DSECT CR GR15,GR4 BL FSD0 BELOW DSECT IS OK (SORT OF) LA GR14,LASTDSCT-DSCT(,GR4) CR GR15,GR14 BEYONE DSECT? BL FSMTD NO, CAUGHT ONE FSD0 DS 0H SAFE SO FAR /COPY 'FSCHK ' /COPY C=1 /EDIT ' ' = 'FSMTD' /END FREEDSCT 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4190 + 4190 + 4190 Date: NOV. 9, 1978 Person: Ogden -Component: CONSIO (634/3) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) The version of CONSIO sent out on the RD15 tape (you remember the code should have gone out on D4.1, but by mistake the D4.0 version was sent instead) contains a bug (now, aren't you glad we didn't send out the right version the first time). -Source changes expressed in new update (UBCUPDATE) form, +______________ based on RD15 source. /BEGIN FIXREAD /. FIXREAD - This deck fixes a bug that was introduced /. when CONSIO was changed to allow the /. return of NULL lines. /COPY 'CHKATN ' /COPY NEXT 'LA' NEXT 'R0,CONSWCCW' LH R1,CONSPATH DON'T TRUST TO FATE /END FIXREAD -Comments: +________ It took a long time for this bug to surface here at UM. Depending on where CONSIO was loaded and what devices were attached to what channels input requests directed through CONSIO would or wouldn't work. 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4191 + 4191 + 4191 Date: NOV. 13, 1978 Person: Sherry -Component: LLXU (354/1) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) This update fixes a bug inadvertently introduced by the XLCLEAN update of RD15 - a DROP GR10 statement was deleted when the XLCLEAN subroutine was moved to become self-addressable. -Source changes expressed in new update (UBCUPDATE) form, +______________ based on RD15 source. /BEGIN DROP10 /COPY "FGRC2" /COPY NEXT "BR GR14" SPACE DROP GR10 /END DROP10 -Comments: +________ This bug manifested itself in GBSTOR near XLEIB(10) where the maximum storage index number (MSIN) was reset to garbage because GR10 instead of SCB was assembled as the base register in the statement: L SCD,GR14LSAV+4(GR1) 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4192 + 4192 + 4192 Date: NOV. 13, 1978 Person: OGDEN -Component: TASKSTAT (647/1) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) THIS UPDATE FIXES A BUG IN THE RD15 VERSION OF TASKSTAT. THE ERROR SHOULD ONLY OCCUR IN THOSE SYSTEMS RUNNING UBC INTERTASK. -Source changes expressed in new update (UBCUPDATE) form, +______________ based on RD15 source. /BEGIN R3TOR2 /. R3TOR2 - Fix TASKSTAT so that TSTATE values are /. always stored off of R2 rahter than incorrectly /. off of R3. /COPY 'TRYITBSY ' /COPY C=1 /EDIT 'R3' = 'R2' /COPY 'TRYITRDY ' /COPY C=1 /EDIT 'R3' = 'R2' /END R3TOR2 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4193 + 4193 + 4193 Date: November 20, 1978 Person: Engle -Component: SORT (SORT PGM PH 2) (303/28) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) "Terminated" is spelled with an extra "t" in a warning message. -Source changes expressed in new update (UBCUPDATE) form, +______________ based on RDIST15 source. /B 4193 /COP 'WARNMSG' /S C=1 ment is not terminated by the' /EN 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4194 + 4194 + 4194 Date: November 28, 1978 Person: Tiffany -Component: *FTNTIDY (727/1) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) The following fixes the PAUSE problem for *FTNTIDY. Thanks from John Stevens for reporting. -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.1 source. /BEGIN *PAUSE* /COPY 'QUOTE ' /COPY COUNT=1 CLC =C'PAUSE',STACK If PAUSE statement BE OPEXIT then don't turn SKIPPING off. /END *PAUSE* 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4195 + 4195 + 4195 Date: January 12, 1978 Person: Tiffany -Component: *FTNTIDY (727/1) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) The following fixes *FTNTIDY to treat 100 of the READ statement in the example below as a label instead of an ordinary number. READ (IU'(INDEX),100) X 100 FORMAT (F10.2) END Thanks from Gavin Eadie for reporting. -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.1 source. /BEGIN *READ* /COPY "INCR1 " /COPY BEFORE NEXT "BNE" NEXT "INCR2" /EDIT "2" = "3" ; Change INCR2 to INCR3 /COPY BEFORE "INCR2 " /BUFFER INCR2 ; Move INCR2 code to just before INCR4 /COPY BEFORE NEXT "BNE" NEXT "INCR3" ; Change all references in /EDIT "3" = "4" ; the code from INCR3 to INCR4. /COPY BEFORE NEXT "BZ" NEXT "INCR3" /EDIT "3" = "4" /COPY BEFORE NEXT "BNZ" NEXT "INCR3" /EDIT "3" = "4" /COPY BEFORE "INCR3 " /BUFFER END /COPY BEFORE NEXT "BZ" NEXT "INCR4" /EDIT "4" = "2" ; Change all references in the INCR3 /COPY BEFORE NEXT "BP" NEXT "INCR4" ; code from "INCR4" to "INCR2". /EDIT "4" = "2" /COPY BEFORE "INCR4 " /INCLUDE INCR2 ; Include INCR2 code here. /END *READ* -Comments: +________ After a call to CLEAN from IOEXP, the return should be made with the stack pointer at the comma in the example above instead of the first right parenthesis. 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4196 + 4196 + 4196 Date: April 9, 1979 Person: Tiffany -Component: *FTNTIDY (727/1) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) When LBLXREF option is in effect, *FTNTIDY actually not only produces the label dictionary but also the variable dictionary. The following CDUPDATE will prevent printing the variable dictionary. -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.2 source. /BEGIN LBLXREF /COPY "PRINLST " /COPY NEXT "BAL" NEXT "R10,PRINT" /DELETE NEXT "ENDIF" /COPY BEFORE NEXT "LA" NEXT "R2,NLIST-8" ENDIF /END LBLXREF -Comments: +________ The ENDIF macro is moved forward to just before printing the label dictionary, so that *FTNTIDY will not print the variable dictionary when LBLXREF is in effect. 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4197 + 4197 + 4197 Date: April 24, 1979 Person: Engle -Component: SORT (SORT PGM) (303/1) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) A spurious output record is generated if the first input record is an end-of-file and a particular half-word of acquired storage (via GETSPACE) contains a value greater than four. -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.2 source. /B C4198; CORRECT ERROR CAUSING ZERO INPUT RECORDS TO PRODUCE A SPURIOUS /C OUTPUT RECORD /COP TAB(72) 'SORT1505' BC 4,*+8 NULL RECORD? STH R3,0(0,R2) YES, ZERO LENGTH FOR FLUSH /EN -Comments: +________ It is hard to produce this error. If the acquired storage contains X'81's, it will not occur. The following sequence produced it at U of M on April 23 and April 24 from an IBM 3278, but it might not work at another time or place. (The same sequence except for using DEBUG instead of RUN did not produce the error.) $R *SORT PAR=I=*DUMMY* R=10 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4198 + 4198 + 4198 Date: April 25, 1979 Person: Fronczak -Component: VTRX (681/002) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) This update fixes a bug inadvertently introduced by disallowing the VOTRAX user's being able to refer to any file via %DEF, %VOC, and %MVO device commands before signing on MTS. This security change also disallowed the use of the Touch-Tone code #4 to reference the system text-definition file *ARUDEF. -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.2 source. /BEGIN D4.2.1 /COPY BEFORE "OPENFILE CLC" OPENFILE CLC =C'*ARUDEF ',0(1) SKIP TEST FOR SYS TXT DEF FILE. BE OPNF1 TM CTRLWHER,2 USER SIGNED ON YET? BNOR R14 NO, NO FILE ACCESS ALLOWED. OPNF1 ST R14,OPENSAV /SKIP "R14,OPENSAV" /END D4.2.1 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4199 + 4199 + 4199 Date: April 26, 1979 Person: Engle -Component: ACCOUNTING (ACCFLINF) (104/116) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) If the date is given in the PAR field as mm/dd/yy instead of DATE=mm/dd/yy, it is rejected as invalid. -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.1 source. /B ; C4200 CORRECT ERROR MAKING PAR=MM/DD/YY INVALID. /D TAB(21) '(2)' C'T PARLHT(22)=4@BR, 0@BR, 0@BR /EN 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4200 + 4200 + 4200 Date: April 26, 1979 Person: Engle -Component: ACCOUNTING (ACCFLINF) (104/116) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) Add the END parameter to the SORT control statement. -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.1 source. /B ; C4201 ADD THE END PARAMETER TO THE SORT CONTROL STATEMENT. /D TAB(16) 'SORT' SORT.("=,D,,4,,,5,8 I=*,F,* O=**,FB,,* R=* E ", FDUB, /EN 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4201 + 4201 + 4201 Date: May 9, 1979 Person: Ogden -Component: TASKSTAT SUBR (647) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) Fix TASKSTAT so it won't PGNT if it looks for an SVC in fetch protected VM. -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.2 source. /COPY "CHKSVC " /COPY C=1 BPI OPND,ASSWAYT 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4202 + 4202 + 4202 Date: May 11, 1979 Person: Engle -Component: SORT (SORT PGM) (303/1) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) A warning that the control statement is not terminated by the END parameter followed by a program interrupt is produced if the control statement is read via GUSER and the end of a line occurs after a type, aspect, or location parameter which is immediately followed by a comma. -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.2 source. /B C4202; CORRECT ERROR CAUSING A SPURIOUS MISSING END PARAMETER WARNING /C MESSAGE AND PROGRAM INTERRUPT IF THE CONTROL STATEMENT IS SPLIT /C BETWEEN TWO LINES READ VIA GUSER AFTER THE TYPE, ASPECT, OR, LOCATION /C PARAMETERS. /D TAB(72) 'SORT0547' /S TAB(72) 'SORT0548' .WARN4 BC 8,*+10 L R6,AWARN BR R6 FORGET THE REQUEST /EN -Comments: +________ This occurs only in the version of *SORT which produces a warning message if the control statement is not terminated by the END parameter. The following produces the error: $RUN *SORT SCARDS=*SOURCE* S=CH, A,1,4 INPUT LINE ONE INPUT LINE TWO 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4203 + 4203 + 4203 Date: May 23, 1979 Person: Engle -Component: ACCOUNTING (STATUS) (104/14) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) If SIGNONS@REMAINING or an equivalent expression with the attribute explicitly specified is contained in the PAR field and the maximum number of concurrent signons is four or zero (unlimited), the number of remaining signons is printed as unlimited or negative, respectively. -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.1 source. /B C4203; CORRECT INDICATION THAT REMAINING NUMBER OF SIGNONS IS UNLIMITED /COM OR NEGATIVE WHEN MAXIMUM NUMBER IS 4 OR 0, RESPECTIVELY, AND /COM @REMAINING OR ITS EQUIVALENT IS EXPLICITLY GIVEN WITH SIGNONS /COM PARAMETER /D TAB(72) 'STAT0643' CH R6,ACCMSIG /EN 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4204 + 4204 + 4204 Date: May 29, 1979 Person: Engle -Component: ACCOUNTING (STATUS) (104/14) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) If the cumulative disk storage is greater than 85899345 page- hours or the cumulative paper tape punched is greater than 21474836 inches, the wrong values are printed. -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.1 source. /B C4204; CORRECT ERROR WHEN CONVERSION TO CHARACTERS DOES A MULTIPLY BEFORE A /COM DIVIDE AND THE PRODUCT IS GREATER THAN 31 BITS. /S BEFORE TAB(72) 'STAT0002' STAT TITLE 'ACCOUNTING STATUS FOR MTS USER--C. F. ENGLE--29 MAY 79' /D TAB(72) 'STAT0038' AIF ('&DIV' NE '').MULT CHECK FOR DIVISOR LPR R3,R3 POSITIVE VALUE NEEDED FOR ROUNDING .MULT M R2,=F'&MULT' AIF ('&DIV' NE '').RND CHECK FOR DIVISOR /COP TAB(72) 'STAT0041' .RND ANOP /D TAB(72) 'STAT0043' /S TAB(72) 'STAT0044' AL R3,=F'&T' ROUND FOR DIVISION AIF ('&MULT' EQ '').DIV CHECK FOR MULTIPLYING FACTOR BC 12,*+8 A R2,=F'1' .DIV D R2,=F'&DIV' /EN 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4205 + 4205 + 4205 Date: July 2, 1979 Person: Fronczak -Component: BASIC (508/024) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) This update fixes a bug for the RENUMBER command which caused problems when a statement for the form IF YY="string", THEN line# was encountered. The line#'s left-most digit was prefixed to the new line# under the renumbering. E.g., IF YY="Y", THEN 100 would become IF YY="Y", THEN 1300 if line 100 became 300 under the renumbering. -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.2 source. /BEGIN D4.2.1 /COPY "PTRF6 LA 3,3(,3)" /DELETE "B PTRF2" B PTRF0 RETURN TO MAIN SCAN /END D4.2.1 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4206 + 4206 + 4206 Date: July 5, 1979 Person: Engle -Component: *INDEX (580/1) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) If any special characters other than #-Â/?:*;¢|,.()%=+!"'<>&$ appear in the page attribute, an infinite loop results. -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.2 source. /B C4206; ELIMINATE INFINITE LOOP WHEN LOCATION ATTRIBUTE CONTAINS A /C CHARACTER NOT LISTED IN "SYMBOL;" E.G., _ OR @ /D TAB(72) 'INDX0145' /D TAB(72) 'INDX0179' /D TAB(72) 'INDX0361' Y = INDEX(TRANSLATE(PAGEE, (11)'0', ' '||NOS), '0'); /EN -Comments: +________ The following input will produce the infinite loop: First_Page Error#example 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4207 + 4207 + 4207 Date: August 13,1979 Person: Tiffany -Component: COMPARE (746/1) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) Wrong line numbers get printed on blocks. -Source changes expressed in new update (UBCUPDATE) form, +______________ based on RD16 source. /BEGIN BADLNRS /COPY "MARKBLK " /COPY "*" NEXT "In blocking mode, we back up" /COPY BEFORE NEXT "SR" NEXT "BLKCNT,BLKCNT" MVC OLDBLK1,LISTLNR-LIST(OLD) Set last old line nr. MVC NEWBLK1,LISTLNR-LIST(NEW) And last new line nr. INVOKE GETBLK Insert line numbers. SR R0,R0 Restore register 0. /COPY "*" NEXT "Here lines in both files" /COPY NEXT "ENDIF" /COPY NEXT "ENDIF" MVC OLDBLK0,LISTLNR-LIST(OLD) Set first old line nr. MVC NEWBLK0,LISTLNR-LIST(NEW) and first new line nr. /COPY "PRTFILES" /DELETE NEXT "INVOKE" NEXT "GETBLK" /END BADLNRS -Comments: +________ To get proper line numbers, GETBLK should be invoked from MARKBLK instead of PRTFILES. 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4208 + 4208 + 4208 Date: August 13,1979 Person: Tiffany -Component: COMPARE (746/1) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) PRTFILES get mixed up when it encounters two different blocks on both units. In that case, it uses the block on unit 0. -Source changes expressed in new update (UBCUPDATE) form, +______________ based on RD16 source. /BEGIN BADBLKS /COPY "PRTFILES" /COPY NEXT "SET" NEXT "BLOCKING,ON" LH R14,LISTBLK#-LIST(0,OLD) LH R15,LISTBLK#-LIST(0,NEW) IF (R14,ZERO),AND,(R15,ZERO) /INCLUDE HELP /DELETE NEXT "IF" ELSEIF (R15,ZERO),OR,((R14,NZ),AND,(R14,LT,R15,CR)) /DELETE NEXT "ELSEIF" ELSE /DELETE NEXT "ELSE " /BUFFER HELP /COPY NEXT "ERROR" /BUFFER END /END BADBLKS 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4209 + 4209 + 4209 Date: August 27,1979 Person: Boettner -Component: FILESTATUS (529) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) Too many sharing descriptors (would you believe it took 15 lines on 3270 to print) can cause program interrupt on ALL (full-access-maybe category) output. -Source changes expressed in new update (UBCUPDATE) form, +______________ based on RD16 source. /BEGIN FAMFIX /COPY "FACCESSS" /COPY NEXT "ST" NEXT "GR6,FAMAX" L GR6,EOBREG CLI OUTFORM,COLS BE *+8 ST GR6,FAMAX /COPY "ACCUPNL " /COPY C=2 C GR1,FAMAX BH ACCWUPS /COPY NEXT "ST" NEXT "TEMPGR1S" /COPY C=1 C GR1,FAMAX BH ACCWUPS /COPY "ACCLFO " /COPY C=2 C GR1,FAMAX BH ACCWUPS /COPY "ACCUPN22 " /COPY NEXT "BNH" NEXT "ACCNMAY" ACCNMAZ DS 0H /COPY "ACCAD " /COPY C=2 ACCWUPS C GR2,=A(FACCESMC) BE ACCNMAZ S GR1,=F'11' MVC 0(11,GR1),=C'*truncated*' A GR1,=F'11' B ACCAD /END FAMFIX 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4210 + 4210 + 4210 Date: September 5,1979 Person: Boettner -Component: FILESTATUS (529) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) Alas would you believe that change #4209, while fixing the problem, did not give the desired behavior in all cases. This change, to be applied after #4209, allows FULLACCESS info to exceed the column width (if column output) if it is the last column of information. And if it can't, instead of saying "*truncated*" it will give just ACCESS with flag. -Source changes expressed in new update (UBCUPDATE) form, +______________ based on RD16 source. /BEGIN FAMFIX2 /COPY "FACCESSS" /COPY BEFORE NEXT "L" NEXT "GR6,SIOA" C GR2,=A(FACCESMC) BE ACFAMNB IF FAM, STAY IN COLS L GR14,CBSSAV+4 LA GR14,8(,GR14) C GR14,NXTCBS is this the last column? BNE *+8 ST GR6,FAMAX if so go to end of page. ACFAMNB DS 0H /DELETE "ACIVS " ACIVS ST GR1,FASTAR SAVE LOCATION OF POTENTIAL * C GR2,=A(FACCESSC) WANT FULL CRAP? /COPY C=1 /SKIP C=1 /DELETE "ACCNMAZ " ACCWUPS DS 0H /COPY "ACCAD " /DELETE "ACCWUPS " /SKIP C=5 /END FAMFIX2 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4211 + 4211 + 4211 Date: September 20,1979 Person: Tiffany -Component: MACUTIL (738/1) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) *MACUTIL blew up on a PGNT 4. -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.2 source. /BEGIN KILPGNT4 /COPY "WTONEMAC" /COPY BEFORE NEXT "IF" NEXT "MCFSTLNR-MACDSCT(R6)" /EDIT F=3 "MCFSTLNR-MACDSCT(R6),EQ,TOKENLNR" = "TOKENLNR,EQ,MCFSTLNR-MACDSCT(R6)" /END KILPGNT4 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4212 + 4212 + 4212 Date: December 4, 1979 Person: Tiffany -Component: COMPARE (746/1) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) *COMPARE printed unexplicable block numbers, etc. -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.2C source. /BEGIN BLOCK# /COPY "MARKBLK " /COPY NEXT "INVOKE DECIDE" L BLKCNT,BLK# Restore block count register. /END BLOCK# -Comments: +________ The register BLKCNT (R2) at the call to DECIDE was clobbered and needs to be restored after the call. This explains the unexpected results of the COMPARE program. 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4213 + 4213 + 4213 Date: January 11, 1980 Person: Tiffany -Component: PL1 COMPILER (163/10) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) *PL1 blew up when using a large virtual memory file with MACRO option on. -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.2C source. /BEGIN VMFILE /COPY "VMWRITE " /COPY BEFORE NEXT "MVC" NEXT "4(0,R1),ZEROS" /EDIT F=3 "4(0" = "0(4" /END VMFILE -Comments: +________ The next VM file pointer was not zeroed. The contents was X'1000'; so *PL1 started to read the UMLOAD which it shouldn't. 1MTS CHANGE FORM +MTS CHANGE FORM +MTS CHANGE FORM Change Nbr: 4214 + 4214 + 4214 Date: February 7, 1980 Person: Tiffany -Component: PL1 COMPILER (163/9) +_________ -Reason for change (in case of error correction, erroneous behavior noticed +_________________ and conditions in which it occurs) *PL1 grabbed tons of virtual memory storage with MACRO option enabled for the second time in batch compilation. -Source changes expressed in new update (UBCUPDATE) form, +______________ based on D4.2C source. /BEGIN VMFILE /COPY "TIOX " /COPY BEFORE NEXT "MVI" NEXT "DCBDEVT,DCB_VMFILE" /BUFFER MVI /COPY COUNT=1 /BUFFER END /COPY NEXT "IF" NEXT "DCBDSGVM.DCBDSRG2" /INCLUDE MVI /END VMFILE -Comments: +________ The VM file should always be a VM file. The RD4.2C PL/I(F) compiler may be patched in the csect OPEN# in the file *PL1 as follows: $RUN *OBJUTIL 0=*PL1 CSECT OPEN# DISPLAY 1EA@T=I COMMENT SHOULD BE I'B 0C65C' MODIFY 1EA I'B 0CEA6' MODIFY EA6 I'MVI 06B04A,B 0C65C' STOP