#4001 DATE=Sept 20, 1977 PERSON=Engle NAME=TIME NBR=360/1 DESCR=When subroutine is used on a 360 and the print option is DESCR=specified, "SPRINT CALL USES ILLEGAL PARAMETERS" results. OLDUPDATE=%AFTER TIME0620 OLDUPDATE= SR R15,R15 NEWUPDATE=/BEGIN C4001 NEWUPDATE=/COPY "TOFSOVLY" NEWUPDATE=/COPY COUNT=3 NEWUPDATE= SR R15,R15 NEWUPDATE=/END COMMENTS=Corrects incorrect value for modifiers address in SPRINT COMMENTS=parameter list when run on a 360. COMMENTS= COMMENTS=Note: Object for TIME on the restore tape has been changed. COMMENTS= Source, updated as per above, is in MTS:TIME on the COMMENTS= restore-tape pack. #4002 DATE=Sept 22, 1977 PERSON=Alexander NAME=MTS NBR=42/1 DESCR=Local time limit expiring just when user program was entering DESCR=CMD subroutine was not handled properly. OLDUPDATE=%AFTER MTS00742 OLDUPDATE= MVI CLSCMDID+1,MTSFLG for local time limit OLDUPDATE=* at entry to CMD NEWUPDATE=/BEGIN C4002 NEWUPDATE=/COPY "NXTSEG" NEWUPDATE=/COPY COUNT=4 NEWUPDATE= MVI CLSCMDID+1,MTSFLG for local time limit NEWUPDATE=* at entry to CMD NEWUPDATE=/END COMMENTS=REP cards for this are in the *IPL... files on the COMMENTS=restore-tape pack. #4003 DATE=Sept 22, 1977 PERSON=Helffrich NAME=TABLES(DECKGEN) NBR=004/5 DESCR=Corrects bug in generation of the CHANNELS table for selector DESCR=sub-channels. NEWUPDATE=/BEGIN C4003 NEWUPDATE=/COPY "TABSEL" NEWUPDATE=/COPY COUNT=3 NEWUPDATE=TABSE5 DS 0H NEWUPDATE=/COPY "TABSE4" NEWUPDATE=/EDIT "TABSE1" = "TABSE5" NEWUPDATE=/END COMMENTS=This correction is in the restore-tape pack files COMMENTS=MTS:DCKPCHR.S and MTS:DCKPCHR.O, and the ipl files *IPL... #4004 DATE=Sept 22, 1977 PERSON=Helffrich NAME=TABLES(DECKGEN) NBR=004/5 DESCR=Corrects generation of BLKMPX table, for both 360s and 370s. NEWUPDATE=/BEGIN C4004 NEWUPDATE=/COPY "TABSIO1" NEWUPDATE=/COPY BLANKS "ESDEF BLKMPX,R2" NEWUPDATE=/SKIP COUNT=2 NEWUPDATE=/COPY "TABBLK1" NEWUPDATE=/DELETE BLANKS "TM 3(RA),1" NEWUPDATE= TM 3(RA),8 SEL SUB? NEWUPDATE=/DELETE BLANKS "BZ TABBLK2" NEWUPDATE= BO TABBLK2 YES NEWUPDATE=/END COMMENTS=This correction is in the restore-tape pack files COMMENTS=MTS:DCKPCHR.S and MTS:DCKPCHR.O, and the ipl files *IPL... #4005 DATE=Sept 22, 1977 PERSON=Helffrich NAME=TABLES(DECKGEN) NBR=004/5 DESCR=Fixes bug in allocation of TERMBFRS. NEWUPDATE=/BEGIN C4005 NEWUPDATE=/COPY "TABGNJT" NEWUPDATE=/COPY BLANKS "ESDEF TERMBFRS,R2" NEWUPDATE=/DELETE BLANKS "LA R1,2(R2,R2)" NEWUPDATE= LA R1,0(R8,R8) PAST 'BUFUSE' NEWUPDATE=/DELETE BLANKS "BCTR R0,0" NEWUPDATE=/SKIP COUNT=1 NEWUPDATE=/END COMMENTS=This correction is in the restore-tape pack files COMMENTS=MTS:DCKPCHR.S and MTS:DCKPCHR.O, and the ipl files *IPL... ********** Sent with Distribution 4.0 ********** #4006 DATE=Oct 5, 1977 PERSON=Tiffany NAME=*APC(NEW_EXPLAIN) NBR=496/5 DESCR=If the user attempts "EXPLAIN COMPARE", he gets DESCR=more than just the description of the COMPARE DESCR=command. EDIT=EDIT ETC:APCEXP EDIT=SCAN 'COMPARE' EDIT=CHANGE '6M'6' EDIT=STOP COMMENTS=The offensive letter "M" after a line number COMMENTS=for the description of the COMPARE command is COMMENTS=removed. #4007 DATE=Oct 07, 1977 PERSON=Lift NAME=PLOT SYSTEM(PALPHA) NBR=615/7 DESCR=Corrects bug in PALPHA which prevented loading of alphabets DESCR=from user files. NEWUPDATE=/BEGIN C4007 NEWUPDATE=/COPY BEFORE "PALIB7" NEWUPDATE=PALIB7 L 3,0(,1) SAVE CONTROL BLOCK ADDRESS NEWUPDATE=/EDIT "PALIB7" = " " NEWUPDATE=/DELETE " L 3,CPACON" NEWUPDATE=/END #4008 DATE=Oct 07, 1977 PERSON=Lift NAME=PLOT SYSTEM(PALPHA) NBR=615/7 DESCR=Corrects bug in PSMLEN which prevented it from working for DESCR=characters sets with grid size > 16. NEWUPDATE=/BEGIN C4008 NEWUPDATE=/COPY BEFORE " LA 7,PLCHARC" NEWUPDATE=/SKIP C=4 NEWUPDATE=/COPY BEFORE "PLCHARA" NEWUPDATE=/COPY C=2 NEWUPDATE=/SKIP C=1 NEWUPDATE=/COPY BEFORE "PLCHARD" NEWUPDATE=/SKIP C=3 NEWUPDATE=/END #4009 DATE=Oct 07, 1977 PERSON=Alexander NAME=MTS NBR=42/1 DESCR=The changes specified in Change Form 4002 were incorrect DESCR=in that they not only fixed the problem described, they DESCR=also "fixed" a great many other things too. REMOVE THE DESCR=CHANGES SPECIFIED BY 4002 and then apply the change here. OLDUPDATE=%AFTER MTS04618 OLDUPDATE= MVI CLSCMDID+1,MTSFLG NEWUPDATE=/BEGIN C4009 NEWUPDATE=/COPY 'OKEDONE ' NEWUPDATE= MVI CLSCMDID+1,MTSFLG NEWUPDATE=/END COMMENTS=Don't forget to REMOVE THE INSERTION SPECIFIED in 4002. #4010 DATE=Oct 10, 1977 PERSON=Sherry NAME=UMLOAD NBR=001/1 DESCR=Corrects bug discovered by RPI to round length on END DESCR=card to nearest doubleword. OLDUPDATE=%DELETE UMLD1827 OLDUPDATE=ENDCF3 LA R2,7(,R2) ROUND UP LENGTH TO OLDUPDATE= N R2,=X'FFFFFFF8' NEAREST DOUBLEWORD. OLDUPDATE= ST R2,ESDLEN CSECT FINALLY HAS A LENGTH NEWUPDATE=/BEGIN C4010 NEWUPDATE=/DELETE "ENDCF3 ST R2,ESDLEN" NEWUPDATE=ENDCF3 LA R2,7(,R2) ROUND UP LENGTH TO NEWUPDATE= N R2,=X'FFFFFFF8' NEAREST DOUBLEWORD. NEWUPDATE= ST R2,ESDLEN CSECT FINALLY HAS A LENGTH NEWUPDATE=/END COMMENTS=This bug caused some TXT cards (in OS-generated modules) COMMENTS=to be rejected with the message "ILLEGAL TXT CARD LENGTH COMMENTS=DETECTED" ********** Sent October 11, 1977 ********** #4011 DATE=Oct 11, 1977 PERSON=Lift NAME=PLOT SYSTEM(CBDSECT) NBR=615/8 DESCR=Changes alphabet names from 8c to 16c. NEWUPDATE=/BEGIN C4011 NEWUPDATE=/DELETE "CBNAME" NEWUPDATE=CBNAME DS CL16 ALPHABET NAME NEWUPDATE=/END COMMENTS=This correction is to the dsect, so PSYM (615/6) and COMMENTS=PALPHA (615/7) must be reassembled. #4012 DATE=Oct 12, 1977 PERSON=Lift NAME=PLOT SYSTEM(PALPHA) NBR=615/7 DESCR=Changes (with #4011) alphabet names from 8c to 16c. NEWUPDATE=/BEGIN C4012 NEWUPDATE=/COPY "PALPHA1" NEWUPDATE=/DELETE BLANKS "CLC 0(8,2)" NEWUPDATE= CLC 0(9,2),=C'STANDARD ' IS IT DEFAULT ONE? NEWUPDATE=/COPY BEFORE " L 15,=V(PSYMSW1)" NEWUPDATE=/COPY COUNT=3 NEWUPDATE=/EDIT "9" = "17" NEWUPDATE=/COPY BEFORE "PALIB1" NEWUPDATE=/COPY COUNT=4 NEWUPDATE=/DELETE BLANKS "MVC DWORD(8)" NEWUPDATE= MVC DWORD(16),=CL16' ' PAD CALLER'S NAME TO 16C NEWUPDATE=/COPY "PALIB8" NEWUPDATE=/DELETE BLANKS "L 1,4(,2)" NEWUPDATE=/SKIP COUNT=1 NEWUPDATE=/EDIT "CPA" = "CDI" NEWUPDATE=/EDIT "READ" = "READBFR" NEWUPDATE=/DELETE BLANKS "L 3,4(,2)" NEWUPDATE= L 3,CDIREAD NEWUPDATE=/DELETE BLANKS "LA 4,12" NEWUPDATE= LA 4,20 ENTRY: 16C NAME, F LINE# NEWUPDATE=/COPY BEFORE "PALIB4" NEWUPDATE=/EDIT "0(8,3),DWORD " = "0(16,3),DWORD" NEWUPDATE=/COPY BEFORE "PALIB6" NEWUPDATE=/EDIT "1,8(,3) " = "1,16(,3)" NEWUPDATE=/COPY "CPAREAD" NEWUPDATE=CDIREAD DC A(0,LPABUF,MODF,LNUM,PAFDUB) FOR READBFR NEWUPDATE=/DELETE "DWORD" NEWUPDATE=DWORD DS 2D NEWUPDATE=/COPY "DEFALPHA" NEWUPDATE=/COPY COUNT=3 NEWUPDATE= DC C' ' NEWUPDATE=/END COMMENTS=Note #4011 should be applied before this one. #4013 DATE=Oct 11, 1977 PERSON=Alexander NAME=TABLES(DECKGEN) NBR=004/5 DESCR=Fixes generation of reverse pathfinding tables in cases DESCR=where the first control unit on a channel has a high DESCR=address. Formerly clobbered the tables generated. NEWUPDATE=/BEGIN C4013 NEWUPDATE=/COPY 'TABGL11 ' NEWUPDATE=/DELETE NEXT 'SR' NEXT 'R9,R9' NEWUPDATE= LA R9,16 USE MINIMUM VALUE NEWUPDATE=/END #4014 DATE=OCT 12, 1977 PERSON=Salisbury NAME=SDS(EDITOR) NBR=600/010 DESCR=Corrects bug in adding PL/I external variables DESCR=to symbol table. NEWUPDATE=/BEGIN C4014 NEWUPDATE=/COPY "DATADVS" NEWUPDATE=/COPY COUNT=1 NEWUPDATE=/SKIP COUNT=2 NEWUPDATE=/END COMMENTS=Deletes test for external entry in SDS editor #4015 DATE=OCT 12, 1977 PERSON=Salisbury NAME=SDS(IOC) NBR=600/006 DESCR=Corrects bug in handling variables@T=I on 360/67 NEWUPDATE=/BEGIN C4015 NEWUPDATE=/COPY "SUEX" NEWUPDATE=/DELETE BLANKS "L GR4,0(REALADD)" NEWUPDATE= LOAD GR4,0(REALADD),4 GET OPCODE AND MASK NEWUPDATE=/END COMMENTS=Changes load instr to LOAD macro call. #4016 DATE=OCT 12, 1977 PERSON=Salisbury NAME=SDS(IOC) NBR=600/006 DESCR=Scans for blank or comma ending binary input data NEWUPDATE=/BEGIN C4016 NEWUPDATE=/COPY "BINCONV1" NEWUPDATE=/COPY COUNT=2 NEWUPDATE= CLI 0(WA),C' ' NEWUPDATE= BE BINEXIT NEWUPDATE= CLI 0(WA),C',' NEWUPDATE= BE BINEXIT NEWUPDATE=/END #4017 DATE=OCT 12, 1977 PERSON=Salisbury NAME=SDS(CLSSOU) NBR=600/001 DESCR=Allows multiple A-type and B-type constants within DESCR=a single input item NEWUPDATE=/BEGIN C4017 NEWUPDATE=/COPY BEFORE "INAIP" NEWUPDATE=INAIP CLI 0(WA),C'''' NEWUPDATE= BNE INACHK2 NEWUPDATE=INACHK1 LA WA,1(WA) NEWUPDATE= B INACHK3 NEWUPDATE=INACHK2 CLI 0(WA),C',' NEWUPDATE= BE INACHK1 NEWUPDATE=INACHK3 CLI 0(WA),C' ' NEWUPDATE= BNE INACHK4 NEWUPDATE= LA WA,1(WA) NEWUPDATE= B INACHK3 NEWUPDATE=/EDIT "INAIP " = "INACHK4" NEWUPDATE=/DELETE BLANKS "LA WA,1(WA)" NEWUPDATE=/DELETE BLANKS "SR GR15,GR15" NEWUPDATE=/EDIT "INPUFOC" = "INFTFC3" NEWUPDATE=/COPY BEFORE "INBIP" NEWUPDATE=INBIP CLI 0(WA),C'''' NEWUPDATE= BNE INBCHK2 NEWUPDATE=INBCHK1 LA WA,1(WA) NEWUPDATE= B INBCHK3 NEWUPDATE=INBCHK2 CLI 0(WA),C',' NEWUPDATE= BE INBCHK1 NEWUPDATE=INBCHK3 CLI 0(WA),C' ' NEWUPDATE= BNE INBCHK4 NEWUPDATE= LA WA,1(WA) NEWUPDATE= B INBCHK3 NEWUPDATE=INBCHK4 BCTR WA,0 NEWUPDATE=/EDIT "INBIP" = " " NEWUPDATE=/COPY COUNT=2 NEWUPDATE=/EDIT "INPUFOC" = "INFTFC3" NEWUPDATE=/END #4018 DATE=Oct 22, 1977 PERSON=Lift NAME=PLOT SYSTEM(ETC:PLOTALPHA) NBR=615/9 DESCR=Changes alphabet names to 16C and introduces aliases for DESCR=some names. EDIT=ED ETC:PLOTALPHA EDIT=DE 1.001 1.999 OK EDIT=A 1 #TN#TN # EDIT=A 2 EDIT=A 1 #HELVETIC#HELVETIC # EDIT=A 3 EDIT=A 1 #GOTHICEN#GOTHICEN # EDIT=A 4 EDIT=A 1 #ROMANTX#ROMANTX # EDIT=A 5 EDIT=A 1 #ITALICTX#ITALICTX # EDIT=A 6 EDIT=A 1 #GREEKCS#GREEKCS # EDIT=A 7 EDIT=A 1 #ITALICCS#ITALICCS # EDIT=A 8 EDIT=A 1 #ROMANCS#ROMANCS # EDIT=A 9 EDIT=A 1 #ROMANDX#ROMANDX # EDIT=A 10 EDIT=A 1 #GREEKSX#GREEKSX # EDIT=A 11 EDIT=A 1 #ROMANSX#ROMANSX # EDIT=A 12 EDIT=A 1 #SCRIPTSX#SCRIPTSX # EDIT=A 13 EDIT=A 1 #GOTHICGE#GOTHICGE # EDIT=A 14 EDIT=A 1 #GOTHICIT#GOTHICIT # EDIT=A 15 EDIT=A 1 #SCRIPTCX#SCRIPTCX # EDIT=A 16 EDIT=A 1 #ROMANCX#ROMANCX # EDIT=A 17 EDIT=A 1 #ITALICCX#ITALICCX # EDIT=A 18 EDIT=A 1 #GREEKCX#GREEKCX # EDIT=A 19 EDIT=A 1 #CYRILLCX#CYRILLCX # EDIT=A 20 EDIT=A 1 #ROMANCAR#ROMANCAR # EDIT=A 21 EDIT=A 1 #GREEKCAR#GREEKCAR # EDIT=A 22 EDIT=A 1 #HIRAGANA#HIRAGANA # EDIT=A 23 EDIT=A 1 #KATAKANA#KATAKANA # EDIT=A 24 EDIT=A 1 #KANJI1#KANJI1 # EDIT=A 25 EDIT=A 1 #KANJI2#KANJI2 # EDIT=A 26 EDIT=A 1 #KANJI3#KANJI3 # EDIT=A 27 EDIT=A 1 #KANJI4#KANJI4 # EDIT=A 28 EDIT=A 1 #KANJI5#KANJI5 # EDIT=A 29 EDIT=COPY 1 TO 100 EDIT=CONC 100 LEN=20 EDIT=DE 100 EDIT=DE 121 127 OK EDIT=A 101 #HELVETIC #HELVETICA.1# EDIT=A 102 #GOTHICEN #GOTHIC.ENGLISH# EDIT=A 103 #ROMANTX#ROMAN.3# EDIT=A 104 #ITALICTX#ITALIC.3# EDIT=A 105 #GREEKCS #GREEK.2A# EDIT=A 106 #ITALICCS #ITALIC.2A# EDIT=A 107 #ROMANCS #ROMAN.2A# EDIT=A 108 #ROMANDX #SANSERIF.2# EDIT=A 109 #GREEKSX#GREEK.1# EDIT=A 110 #ROMANSX #SANSERIF.1# EDIT=A 111 #SCRIPTSX#SCRIPT.1# EDIT=A 112 #GOTHICGE #GOTHIC.FRAKTUR# EDIT=A 113 #GOTHICIT #GOTHIC.ITALIAN# EDIT=A 114 #SCRIPTCX#SCRIPT.2# EDIT=A 115 #ROMANCX#ROMAN.2# EDIT=A 116 #ITALICCX#ITALIC.2# EDIT=A 117 #GREEKCX#GREEK.2# EDIT=A 118 #CYRILLCX #CYRILLIC.2# EDIT=A 119 #ROMANCAR #SANSERIF.CART# EDIT=A 120 #GREEKCAR #GREEK.CART# EDIT=CONC 100 120 EDIT=MOVE 100 120 TO 1.001 EDIT=CONC 1 1.999 EDIT=DE 100 *L OK EDIT=DE 1.001 1.999 OK EDIT=STOP ********** Sent October 18, 1977 ********** #4019 DATE=Oct 18,1977 PERSON=FRONCZAK NAME=CALC(CLS) NBR=585/001 DESCR=Corrects the bug of not properly (re)initializing ATTNTRP DESCR=upon (re)entry to the CALC CLS. OLDUPDATE=%AFTER CALC0230 OLDUPDATE= MVI INTSAVE,0 DAMNED RESET!!! NEWUPDATE=/BEGIN C4019 NEWUPDATE=/COPY '* SOME INIT' NEWUPDATE=/COPY C=2 NEWUPDATE= MVI INTSAVE,0 DAMNED RESET!!! NEWUPDATE=/END ********** Sent November 1, 1977 ********** #4020 DATE=November 1, 1977 PERSON=Salisbury NAME=SDS(SDSCLSSOU) NBR=600/001 DESCR=Corrects bug in the processing of call tracing when the DESCR=call is from a low-core address. NEWUPDATE=/BEGIN C4020 NEWUPDATE=/COPY BEFORE "IBPTCHK2" NEWUPDATE=IBPTERR6 SET TRCNORET,18 SET NO RETURN FLAG NEWUPDATE= B IBPTERR NEWUPDATE=IBPTCHK2 CLI BREAKTYP,BRKRET RETURN BREAKPOINT? NEWUPDATE= BE IBPTERR6 DON'T SET NEWUPDATE=/EDIT "IBPTCHK2" = " " NEWUPDATE=/COPY "IBPTSIM" NEWUPDATE=/COPY COUNT=1 NEWUPDATE= CLI BREAKTYP,BRKRET RETURN BREAKPOINT? NEWUPDATE= BE IBPTERR6 DON'T SET NEWUPDATE=/COPY "OPERCALL" NEWUPDATE=/COPY COUNT=7 NEWUPDATE= RESET TRCNORET,18 RESET NO RETURN FLAG NEWUPDATE=/COPY BEFORE "OPERCAL4" NEWUPDATE=OPERCAL4 TOF TRCNORET,OPERCAL5,18 NO RETURN FLAG? NEWUPDATE= BRT ' (NO TRACING OF RETURN)' NEWUPDATE=/EDIT "OPERCAL4" = "OPERCAL5" NEWUPDATE=/END #4021 DATE=November 1, 1977 PERSON=Salisbury NAME=SDS(SDSCLISOU) NBR=600/004 DESCR=Part of correction described in #4020 NEWUPDATE=/BEGIN C4021 NEWUPDATE=/COPY BEFORE "CSNODO" NEWUPDATE=/EDIT "SMODE10" = "SMODE10+SPRED" NEWUPDATE=/END #4022 DATE=November 1, 1977 PERSON=Salisbury NAME=SDS(SDSPSECT) NBR=600/013 DESCR=Part of correction described in #4020 NEWUPDATE=/BEGIN C4022 NEWUPDATE=/COPY "TRCCALL" NEWUPDATE=TRCNORET EQU X'08' 1 -> NO TRACE OF RETURN NEWUPDATE=/END #4023 DATE=November 3, 1977 PERSON=Engle NAME=ACCOUNTING(GETFILE) NBR=104/88 DESCR=If a call on GDINFO3 produces a wait to open and that wait is DESCR=interrupted, GDINFO3 does not open the file but still returns DESCR=with a return code of zero. This change locks the file around DESCR=the call on GDINFO3 and thus, by eliminating the possibility DESCR=of a wait to open, insures that the file will be opened. NEWUPDATE=/B C4023 NEWUPDATE=/D LEN(72) "GTFL0046" NEWUPDATE= ST R0,FDUB NEWUPDATE= LA R1,=A(FDUB,F1,FM1) NEWUPDATE=LOCK L R15,=V(LOCK) NEWUPDATE= BASR R14,R15 LOCK FILE TO AVOID WAIT TO OPEN NEWUPDATE= C R15,=F'20' NEWUPDATE= BE LOCK WAIT TO LOCK INTERRUPTED NEWUPDATE= LTR R1,R15 NEWUPDATE= BNZ RETURN ERROR NEWUPDATE=/COP LEN(72) "GTFL0055" NEWUPDATE= LA R1,=A(FDUB) NEWUPDATE= L R15,=V(UNLK) NEWUPDATE= BASR R14,R15 UNLOCK FILE NEWUPDATE= LTR R15,R15 NEWUPDATE= BNZ RETURN ERROR NEWUPDATE=/COP LEN(72) "GTFL0069" NEWUPDATE=FDUB DS A NEWUPDATE=FM1 DC F'-1' NEWUPDATE=F1 DC F'1' NEWUPDATE=/EN COMMENTS=This error allowed the user to interrupt the wait to open COMMENTS=produced by GDINFO3 for *ACCOUNTINGn. The file, COMMENTS=consequently, was not opened; and when READ attempted to do COMMENTS=an implicit open, an attention interrupt would cause the COMMENTS=wait to open to be interrupted with a sideways exit, COMMENTS=leaving *ACCOUNTING locked. #4024 DATE=Nov 11,1977 PERSON=Helffrich NAME=GATE NBR=4000/1 DESCR=Corrects bug causing MODECHG bit to be on if user supplies DESCR=bad GR13 value for gated routine. NEWUPDATE=/BEGIN C4024 NEWUPDATE=/COPY "BADGR13 " NEWUPDATE= NI SWSP1,OFF-MODECHG didn't get around to changing NEWUPDATE=/END C4024 #4025 DATE=Nov 11,1977 PERSON=Helffrich NAME=GATE NBR=4000/1 DESCR=Fixes GUINFUPD entry in GATE. NEWUPDATE=/BEGIN C4025 NEWUPDATE=/DELETE "GUINFUPD " NEWUPDATE=GUINFUPD PORT SAVE,CLASS=3 NEWUPDATE=/END C4025 ********** Sent November 15, 1977 ********** #4026 DATE=November 16, 1977 PERSON=Salisbury NAME=SDS(SDSCLISOU) NBR=600/004 DESCR=Change MODIFY command such that users may not modify DESCR=system storage by specifying operands in the form (GRx)+yyy NEWUPDATE=/BEGIN C4026 NEWUPDATE=/COPY BEFORE "MODBLOC8" NEWUPDATE=MODBLOC8 BAL LINK,PREDFCHK CHECK PREDEFINED SYMBOL NEWUPDATE=/EDIT "MODBLOC8" = " " NEWUPDATE=/COPY BEFORE "MODEXIT" NEWUPDATE=MODERR12 COMMENT 'INVALID DISPLACEMENT FOR PREDEFINED SYMBOL.' NEWUPDATE= B NNEWCARD NEWUPDATE=MODERR13 COMMENT 'INVALID LENGTH FOR PREDEFINED SYMBOL.' NEWUPDATE= B NNEWCARD NEWUPDATE=/COPY "UNDOMOV" NEWUPDATE=* NEWUPDATE=* CHECK PREDEFINED SYMBOL FOR REASONABLE MODIFICATION NEWUPDATE=* NEWUPDATE=PREDFCHK TOF SPRED,0(LINK),3 PREDEFINED SYMBOL? NEWUPDATE= ST GR0,CLILINK2 SAVE REGISTER NEWUPDATE= CLC SSYMBOL(2),=C'GR' GENERAL REGISTER? NEWUPDATE= BE PREDF2 NEWUPDATE= LA GR0,8 SET PSW OR FR LENGTH NEWUPDATE=PREDF1 S GR0,CDISP NEWUPDATE= BNH MODERR12 DISPLACEMENT TOO BIG NEWUPDATE= BCTR GR0,0 NEWUPDATE= CR WC,GR0 NEWUPDATE= BH MODERR13 LENGTH TOO BIG NEWUPDATE= L GR0,CLILINK2 RESTORE REGISTER NEWUPDATE= BR LINK NEWUPDATE=PREDF2 LA GR0,4 SET GR LENGTH NEWUPDATE= B PREDF1 NEWUPDATE=/END #4027 DATE=November 18, 1977 PERSON=MTA NAME=PDP NBR=044/1 DESCR=The PDP gets an ILDN error when it retries after a fatal DESCR=I/O error on a paging disk (rather than a drum). NEWUPDATE=/BEGIN C4027 NEWUPDATE=/COPY 'UCRETRY2' NEWUPDATE=/COPY C=2 NEWUPDATE= L 0,DRUMLDN GET JUST THE LDN NEWUPDATE=/END #4028 DATE=November 23, 1977 PERSON=Engle NAME=*INDEX NBR=580/1 DESCR=If an entry attribute begins with a double colon, designating DESCR=a text colon instead of a sub-heading, and no sub-heading DESCR=(single) colons appear in the entry attribute, the result is DESCR=as though the entry attribute began with a triple colon. NEWUPDATE=/B C4028 NEWUPDATE=/D LEN(72) "INDX0402" NEWUPDATE= IF SUBSTR(NAME,N+1,1)=':' THEN DO; NEWUPDATE=/COP LEN(72) "INDX0406" NEWUPDATE=/S LEN(72) "INDX0408" NEWUPDATE= ELSE DO; NEWUPDATE=/EN #4029 DATE=November 23, 1977 PERSON=Engle NAME=*INDEX NBR=580/1 DESCR=If 4 or more consecutive colons appear in an entry attribute DESCR=to designate 2 or more consecutive text colons, the multiple DESCR=text colons are condensed to a single colon. NEWUPDATE=/B C4029 NEWUPDATE=/D LEN(72) "INDX0167" NEWUPDATE= FF = INDEX(SUBSTR(WORDD,NN+LENGTH(SUB)),CHAR); NEWUPDATE= IF FF=0 THEN NN=0; NEWUPDATE= ELSE NN=NN+FF+LENGTH(SUB)-1; NEWUPDATE=/COP LEN(72) "INDX0472" NEWUPDATE=/S LEN(72) "INDX0479" NEWUPDATE= CALL SUBS(LINE, '/', '/Z'); NEWUPDATE=/EN COMMENTS=The change at INDX0473-INDX0479 does not correct an error, COMMENTS=but was made possible by the error correction at INDX0167. #4030 DATE=November 28, 1977 PERSON=Engle NAME=*INDEX NBR=580/1 DESCR=If a level N subheading is given and the headings for the N-1 DESCR=and N-2 levels are not given separately with location DESCR=attributes, only the N and N-1 level headings are printed. DESCR=E.g., if "1 A" and "2 A:B:C:D" are entered and entries for A:B DESCR=and A:B:C are not given, the headings A, C, and D will print, DESCR=but the heading B will not print. NEWUPDATE=/B C4030 NEWUPDATE=/D LEN(72) "INDX0400" NEWUPDATE=HEAD: N=INDEX(NAME,':'); NEWUPDATE=/D LEN(72) "INDX0412" NEWUPDATE= F=LENGTH(PRESENT)-1; NEWUPDATE= IF SUBSTR(PRESENT, 1, F)=SUBSTR(FORMER, 1, F) THEN N= NEWUPDATE= INDEX(NAME, ':'); NEWUPDATE= ELSE N=0; NEWUPDATE=/COP LEN(72) "INDX0414" NEWUPDATE=/S LEN(72) "INDX0416" NEWUPDATE= F=LENGTH(PRESENT)-1; NEWUPDATE= IF SUBSTR(PRESENT,1,F) Â= SUBSTR(FORMER,1,F) THEN NEWUPDATE=/D LEN(72) "INDX0418" NEWUPDATE= FORMER=SUBSTR(PRESENT,1,F); NEWUPDATE=/D LEN(72) "INDX0441" NEWUPDATE= CALL SUBS(NAME, '::', ':'); NEWUPDATE=/COP LEN(72) "INDX0523" NEWUPDATE=/S LEN(72) "INDX0525" NEWUPDATE= GO TO HEAD; NEWUPDATE=/EN #4031 DATE=Nov 28, 1977 PERSON=Lift NAME=PLOT SYSTEM(PLTBGN) NBR=615/3 DESCR=Corrects PLTBGN bug occuring when PLTSIZ used or incorrect DESCR=argument given to PLTBGN NEWUPDATE=/BEGIN NEWUPDATE=/COPY BEFORE BLANKS "BO PBGN1" NEWUPDATE=/EDIT "PBGN1" = "PBGN7" NEWUPDATE=/COPY BEFORE BLANKS "LA 10,PBGN5" NEWUPDATE=/EDIT " " = "PBGN7" NEWUPDATE=/DELETE BLANKS "L 2,YWIDTH" NEWUPDATE= LE 0,YWIDTH NEWUPDATE= DE 0,USCALE NEWUPDATE= STE 0,PACKING NEWUPDATE= L 2,PACKING NEWUPDATE=/END ********** Sent November 28, 1977 ********** #4032 DATE=Dec 2, 1977 PERSON=Lift NAME=PLOT SYSTEM(PSYM) NBR=615/6 DESCR=Corrects bug in doing carriage returns while using DESCR=relative coordinates NEWUPDATE=/BEGIN NEWUPDATE=/COPY BEFORE BLANKS "ST 4,XMARGIN" NEWUPDATE=/BUFFER MARGINS NEWUPDATE=/EDIT " " = "PSINIT3" NEWUPDATE=/COPY COUNT=1 NEWUPDATE=/BUFFER END NEWUPDATE=/COPY BEFORE BLANKS "BZ PSINIT2" NEWUPDATE=/EDIT "PSINIT2" = "PSINIT3" NEWUPDATE=/COPY ".CCP5" NEWUPDATE=/INCLUDE MARGINS NEWUPDATE=/END #4033 DATE=Dec 12, 1977 PERSON=Lift NAME=PLOT SYSTEM(PALPHA) NBR=615/7 DESCR=Allows a little more space after "1" in the standard alphabet. NEWUPDATE=/BEGIN NEWUPDATE=/COPY "DEFCHAR" NEWUPDATE=/COPY BEFORE " DC X'06636F4D080B3D5F9FBDBA3433B30E0B'" NEWUPDATE=/EDIT "06" = "07" NEWUPDATE=/END #4034 DATE=Dec 12, 1977 PERSON=Lift NAME=PLOT SYSTEM(CCASM) NBR=615/4 DESCR=Establishes synonyms PWIND for PRSTER, PONWIN for PONRST, DESCR=and POFWIN for POFRST. Next V11 will use the new names DESCR=in place of the old. NEWUPDATE=/BEGIN NEWUPDATE=/COPY "#PRASTR CSECT" NEWUPDATE=/COPY BEFORE BLANKS "ENTRY PRSTER" NEWUPDATE=/EDIT "PRSTER " = "PWIND,PRSTER" NEWUPDATE=/COPY BEFORE "PRSTER" NEWUPDATE=/EDIT "PRSTER" = "PWIND " NEWUPDATE=PRSTER EQU PWIND NEWUPDATE=/COPY BEFORE BLANKS "ENTRY POFRST" NEWUPDATE=/EDIT "POFRST " = "POFWIN,POFRST" NEWUPDATE=/COPY BEFORE "POFRST" NEWUPDATE=/EDIT "POFRST" = "POFWIN" NEWUPDATE=POFRST EQU POFWIN NEWUPDATE=/COPY BEFORE BLANKS "ENTRY PONRST" NEWUPDATE=/EDIT "PONRST" = "PONWIN,PONRST" NEWUPDATE=/COPY BEFORE "PONRST" NEWUPDATE=/EDIT "PONRST" = "PONWIN" NEWUPDATE=PONRST EQU PONWIN NEWUPDATE=/END #4035 DATE=Dec 13, 1977 PERSON=Helffrich NAME=MTS NBR=42/1 DESCR=Change of the job number encoding in internal scratch file names. DESCR=If job number goes over 9999, the first digit goes to A, B, C, DESCR=etc. Base 33, sort of. NEWUPDATE=/BEGIN SFWRAP NEWUPDATE=/. SFWRAP -- Fix up scratch file numbering scheme so won't wrap NEWUPDATE=/. after job # 10000 NEWUPDATE=/COPY NEXT "CVD" NEXT "SCA,SCRATCH2" NEXT "SAVE JOB NUMBER" NEWUPDATE=/COPY C=1 NEWUPDATE= SRDA SCA,32 NEWUPDATE= D SCA,=F'1000' IF JOB # > 1000, MAKE FIRST NEWUPDATE= IC SCA,BASE36(SCB) DIGIT DO A, B, C, ... NEWUPDATE= STC SCA,SCRFNAME+4 STUNT NEWUPDATE=/COPY "STPARS " NEWUPDATE=BASE36 DC C'0123456789ABCDEFGHIJKLMNOPQRSTUVWQQSV' NEWUPDATE=/DELETE NEXT "USING" NEXT "*,GR10" NEWUPDATE= USING INLOOPX,GR10 This section is self-addressable NEWUPDATE=/COPY END NEWUPDATE=/END SFWRAP #4036 DATE=Dec 13, 1977 PERSON=Helffrich NAME=MTS NBR=42/1 DESCR=Make allocation/deallocation of FDUBs less subject to error DESCR=if SYGNOF branched to by GETSPACE/FREESPAC. Makes system less DESCR=suceptible to LOADT usecounts going negative. DESCR=NOTE: This change requires change #4037 to be applied at the DESCR=same time. NEWUPDATE=/BEGIN ROBUST1 NEWUPDATE=/. ROBUST1 -- Make fdub allocation/decallocation more robust NEWUPDATE=/. on a busy system with lots of people hanging up NEWUPDATE=/. in the middle of the signoff procedure. NEWUPDATE=/COPY "CFDCHAIN " NEWUPDATE=/COPY C=5 NEWUPDATE=/INCLUDE CFDMOVE NEWUPDATE=/COPY "CFDNON " NEWUPDATE=/BUFFER CFDMOVE NEWUPDATE=/COPY C=4 NEWUPDATE= LR SCA,GR1 NEWUPDATE=/COPY C=3 NEWUPDATE= LR GR1,SCA NEWUPDATE=/EDIT "SCA" = "GR1" NEWUPDATE=/COPY C=2 NEWUPDATE=/BUFFER END NEWUPDATE=/COPY END NEWUPDATE=/END ROBUST1 COMMENTS=This is part 1 of a two-change-form change. See also #4037. #4037 DATE=Dec 13, 1977 PERSON=Helffrich NAME=FSUB NBR=635/1 DESCR=Make allocation/deallocation of FDUBs less subject to error DESCR=if SYGNOF branched to by GETSPACE/FREESPAC. Makes system less DESCR=suceptible to LOADT usecounts going negative. DESCR=NOTE: This change requires change #4036 to be applied at the DESCR=same time. NEWUPDATE=/BEGIN ROBUST1 NEWUPDATE=/. ROBUST1:: To make GIVEBACK a bit more fail-safe in the NEWUPDATE=/. giving back of FDUBs. NEWUPDATE=/COPY BEFORE "*" BLANKS "FDGET" NEWUPDATE=/EDIT "." = "," NEWUPDATE=* IN MTS (IF YOU ARE NOT ONE OF THE HAPPY NEWUPDATE=* FEW WHO ALREADY KNOWS THIS.) NEWUPDATE=/COPY TAB(72) "FSUB0498" NEWUPDATE=/EDIT "BER" = "BZR" NEWUPDATE=/COPY "GVBULNE" NEWUPDATE=/COPY COUNT=1 NEWUPDATE= LTR SCA,SCA FCB still there? (Could happen if NEWUPDATE= BZ GVBFDB jumped out of middle of SYGNOF) NEWUPDATE=/DELETE BLANKS "BNP GVBGRFF" NEWUPDATE= BP GVBFDB -> somebody still using FCB NEWUPDATE= XC FDUBLN,FDUBLN not any more for this FDUB NEWUPDATE= B GVBGRFF NEWUPDATE=/COPY "GVBFDB " NEWUPDATE=/SKIP COUNT=17 NEWUPDATE=* NEWUPDATE= L SCB,FDUBNAM get backpointer to pointer NEWUPDATE= LTR SCB,SCB NEWUPDATE= BZ *+16 -> none NEWUPDATE= XC 0(4,SCB),0(SCB) pointer NEWUPDATE= XC FDUBNAM,FDUBNAM and backpointer NEWUPDATE=* NEWUPDATE= BAL GR14,UNCHFDUB unchain FDUB NEWUPDATE=* NEWUPDATE= L GR1,FDUBNAME release name if any NEWUPDATE= LTR GR1,GR1 NEWUPDATE= BZ *+14 NEWUPDATE= XC FDUBNAME,FDUBNAME NEWUPDATE= BAL GR14,HIABYMH NEWUPDATE=* NEWUPDATE= L GR1,FDUBERM release error message if any NEWUPDATE= LTR GR1,GR1 NEWUPDATE= BZ *+14 NEWUPDATE= XC FDUBERM,FDUBERM NEWUPDATE= BAL GR14,HIABYMH NEWUPDATE=* NEWUPDATE= L GR1,FDUBERXS release I/O error suspension NEWUPDATE= LTR GR1,GR1 block, if any NEWUPDATE= BZ *+14 NEWUPDATE= XC FDUBERXS,FDUBERXS NEWUPDATE= BAL GR14,HIABYMH NEWUPDATE=* NEWUPDATE=/COPY "GVBGRFCB" NEWUPDATE=/COPY BLANKS "L GR1,FCBMXLBA" NEWUPDATE= XC FCBMXLBA,FCBMXLBA make sure it gets lost NEWUPDATE=/END ROBUST1 COMMENTS=This is the second of a two-changeform change. See also #4036. #4038 DATE=Dec 13, 1977 PERSON=Ogden NAME=CMDS NBR=636/1 DESCR=Rewrite of SIGNONM job program. NEWUPDATE=/BEGIN SMNEW NEWUPDATE=/. SMNEW -- New SIGNONM NEWUPDATE=/COPY BEFORE "SIGNONM " NEWUPDATE=/DELETE "SIGNONM " NEWUPDATE=/SKIP COUNT=8 NEWUPDATE= EJECT NEWUPDATE=* SIGNONM -- Job program to read a line from the console NEWUPDATE=* which becomes a message printed out at NEWUPDATE=* signon for MTS users. NEWUPDATE= SPACE 3 NEWUPDATE=SIGNONM DC A(*+8,0) NEWUPDATE= USING *,15 NEWUPDATE= LA 1,SIGONMS+2 NEWUPDATE= SVC READ NEWUPDATE= BZ *-2 BACK AGAIN IF CANCELLED NEWUPDATE=* NEWUPDATE= AR 1,0 end of message+1 NEWUPDATE= AH 0,=H'1' include CC character in length NEWUPDATE=SIGNONM1 BCTR 1,0 trim off blanks NEWUPDATE= CLI 0(1),C' ' NEWUPDATE= BNE *+8 NEWUPDATE= BCT 0,SIGNONM1 -> loop de loop NEWUPDATE=* NEWUPDATE= STC 0,SIGONMS resultant length, maybe zero NEWUPDATE= SVC EXIT -> back to the womb NEWUPDATE=SIGONMS DC AL1(0),101C' ' length, text NEWUPDATE=/COPY END NEWUPDATE=/END SMNEW #4039 DATE=Dec 13, 1977 PERSON=Helffrich NAME=CMDS NBR=636/1 DESCR=Fix bug in D4.0 causing explicit concatenation of files to DESCR=be opened with the program key *MTS.RUN rather than *MTS.ETC.RUN NEWUPDATE=/BEGIN RUNPKEY NEWUPDATE=/. RUNPKEY -- Fixes bug causing program key to not be set NEWUPDATE=/. to *MTS.ETC.RUN when FDName concatenation is NEWUPDATE=/. run NEWUPDATE=/COPY "STDNEWF2 " NEWUPDATE=/COPY COUNT=3 NEWUPDATE= NI SWS17,255-DFPID don't default program key NEWUPDATE=* NEWUPDATE= TM SWS2,DBGCMSW NEWUPDATE= BO STDDFPID -> $DEBUGging today NEWUPDATE= L SCA,FDUBCH NEWUPDATE= LTR SCA,SCA NEWUPDATE= BNZ STDETCPK -> exp.concatenation, set to .ETC. NEWUPDATE= TM FDUBSWS2,FDUBBLN+FDUBELN+FDUBMOD NEWUPDATE= BNZ STDETCPK -> beginning #, ending # or mods NEWUPDATE= TM FDUBS,FDUBINC NEWUPDATE= BO STDETCPK -> explicit increment NEWUPDATE= TM SWS4,NOUNLD NEWUPDATE= BO STDETCPK -> UNLOAD=OFF NEWUPDATE= CLI SHFSEP,C':' NEWUPDATE= BE STDOPEN -> no changed SHFSEP NEWUPDATE= SPACE NEWUPDATE=STDETCPK L SCA,CLSPTR+MTSFLG*4 NEWUPDATE= MVC CLSPID-CLSAREA(12,SCA),=CL12'*MTS.ETC.RUN' NEWUPDATE=STDDFPID OI SWS17,DFPID flag something weird happened NEWUPDATE=/COPY C=1 NEWUPDATE=/ED " " = "STDOPEN" NEWUPDATE=/COPY "STHOPEOK " NEWUPDATE=/COPY COUNT=10 NEWUPDATE= TM SWS17,DFPID NEWUPDATE= BO STH04 -> see if PROT status needs change NEWUPDATE=/SKIP COUNT=14 NEWUPDATE=/DELETE "STH04 " NEWUPDATE=/SKIP C=4 NEWUPDATE=STH04 DS 0H NEWUPDATE=/COPY BEFORE "STEXP21 " NEWUPDATE=/ED "STEXP21" = " " NEWUPDATE=/END RUNPKEY #4040 DATE=Dec 13, 1977 PERSON=Helffrich NAME=CMDS NBR=636/1 DESCR=Fixes MTS SNARKing if user signs on with a ridiculously low DESCR=global time limit. NEWUPDATE=/BEGIN T=.001 NEWUPDATE=/. T=.001 -- Fixes snark if user says '$SIG xxxx T=.001' NEWUPDATE=/. -- by setting lowest time limit to .003, naturally NEWUPDATE=/COPY BEFORE "SIGPAST " NEWUPDATE= L GR15,GLOBCPUT check time limit, if given NEWUPDATE= C GR15,=A(100*768/10) must be > .1 NEWUPDATE= BNL SIGPAST NEWUPDATE= BXLE GR15,GR15,SIGPAST and nonzero NEWUPDATE= MVC GLOBCPUT,=A(100*768/10) NEWUPDATE=/END T=.001 #4041 DATE=Dec 13, 1977 PERSON=Helffrich NAME=CMDS NBR=636/1 DESCR=Fix bug causing EXEC cls to not return to cls which invoked DESCR=it, but rather always the MTS cls. NEWUPDATE=/BEGIN EXECRET NEWUPDATE=/. EXECRET -- Fix so that any CLS which calls the EXEC CLS NEWUPDATE=/. gets returned to when the EXEC CLS returns. NEWUPDATE=/COPY "SYSLAB2 " NEWUPDATE=/COPY C=5 NEWUPDATE=/EDIT " " = "SYSLAB3" NEWUPDATE=/COPY "RETLAB " NEWUPDATE=/COPY BEFORE NEXT "B" NEXT "SYSLAB2" NEWUPDATE=/EDIT "SYSLAB2" = "SYSLAB3" NEWUPDATE=/DELETE NEXT "B" NEXT "CKDUMP" NEWUPDATE=/INCLUDE CKDUMP NEWUPDATE=/COPY BEFORE "MTSCLAB2 " NEWUPDATE=MTSCLAB2 OI SWS19,RUNTOFDA disable RUNTOF setting CLSCMDID cuz * NEWUPDATE= we already did it (==KLUDGE) NEWUPDATE=/EDIT "MTSCLAB2" = " " NEWUPDATE=/COPY "MTSCMVC " NEWUPDATE=/SKIP C=1 NEWUPDATE=/BUFFER CKDUMP NEWUPDATE=/EDIT "CKDUMP" = " " NEWUPDATE=/COPY C=5 NEWUPDATE=/BUFFER END NEWUPDATE=/COPY "RUNTOF " NEWUPDATE=/COPY C=3 NEWUPDATE= TM SWS19,RUNTOFDA NEWUPDATE= BO RUNTOF1 -> this means don't touch CLSCMDID NEWUPDATE= CLI CLSCURB,EXECFLG NEWUPDATE= BNE RUNTOF1 -> EXEC wasn't previous, CLSCMDID * NEWUPDATE= already set NEWUPDATE= L SCA,CLSPTR+EXECFLG*4 NEWUPDATE= LTR SCA,SCA NEWUPDATE= BZ RUNTOF1 -> no EXEC CLS NEWUPDATE= MVC CLSCMDID,CLSCRID-CLSAREA(SCA) set up EXEC CLS invoker NEWUPDATE=RUNTOF1 NI SWS19,255-RUNTOFDA reset -- only a one-shot deal NEWUPDATE=/END EXECRET #4042 DATE=Dec 13, 1977 PERSON=Helffrich NAME=CMDS NBR=636/1 DESCR=Fix bug causing scratch files not to be destroyed if SCRFCHAR=* NEWUPDATE=/BEGIN SFCBUG NEWUPDATE=/. SFCBUG -- Fix bug causing scratch files not being destroyed NEWUPDATE=/. if SCRFCHAR=* NEWUPDATE=/COPY "GROD " NEWUPDATE=/COPY BEFORE NEXT "LA" NEXT "GR1,DSFDL" NEWUPDATE= MVI FNIASF,C'-' a nice, safe scratch file char NEWUPDATE=/END SFCBUG #4043 DATE=Dec 13, 1977 PERSON=Helffrich NAME=DSRS NBR=637/1 DESCR=Fix bug in PEEL when @MAXLEN@PEEL modifier combination used. NEWUPDATE=/BEGIN PEELBUG NEWUPDATE=/. PEELBUG -- Fix bug in PEEL causing unexpected movement of NEWUPDATE=/. stuff in segment 5 if high order byte of address NEWUPDATE=/. has garbage in it. NEWUPDATE=/COPY "PEEL " NEWUPDATE=/COPY C=8 NEWUPDATE= LA SCC,0(,SCC) NEWUPDATE=/COPY END NEWUPDATE=/END PEELBUG #4044 DATE=Dec 13, 1977 PERSON=Helffrich NAME=DSRS NBR=637/1 DESCR=Fix another @MAXLEN@PEEL combination bug. NEWUPDATE=/BEGIN PEELBUG2 NEWUPDATE=/. PEELBUG2 -- Fix another bug in peel if empty file read from NEWUPDATE=/. with @PEEL@MAXLEN set. Caused a reference to NEWUPDATE=/. page 0 in PEEL. NEWUPDATE=/COPY "PEEL " NEWUPDATE=/EDIT "BE" = "BZ" NEWUPDATE=/COPY NEXT "LA" NEXT "GR2,0(GR1,SCC)" NEWUPDATE= LR GR3,SCC save location of line NEWUPDATE= LTR GR2,GR2 NEWUPDATE= BZ PEEL1 -> no input buffer NEWUPDATE=/COPY C=3 NEWUPDATE=/SKIP C=1 NEWUPDATE=/COPY C=3 NEWUPDATE=/EDIT " " = "PEEL1" NEWUPDATE=/END PEELBUG2 #4045 DATE=Dec 13, 1977 PERSON=Helffrich NAME=DSRI NBR=639/1 DESCR=Make sure user input area is blanked following implicit DESCR=concatenation to another file. Wipes out fragment of DESCR=$CONTINUE WITH xxxx left in input buffer. NEWUPDATE=/BEGIN AREABLNK NEWUPDATE=/. AREABLNK :: to make sure user's input area is blanked from NEWUPDATE=/. end of text to end of area if explicit concat. NEWUPDATE=/. or $ENDFILE read resulted in end-of-file. NEWUPDATE=/. Previously, this condition resulted in $ENDFILE NEWUPDATE=/. or the tail end of the $CONTINUE WITH ... to be NEWUPDATE=/. left in the buffer. NEWUPDATE=/COPY MAXCOUNT=1200 "GIOSIQU" NEWUPDATE=/DELETE BLANKS "BE PSFXFE" NEWUPDATE= BE ISENDFIL -> give EOF NEWUPDATE=/DELETE BLANKS "BE PSFXFE" NEWUPDATE=/SKIP COUNT=1 NEWUPDATE= BNE GIOSIQC NEWUPDATE=ISENDFIL BAL GR14,BLANKIT blank rest of input region NEWUPDATE= B PSFXFE NEWUPDATE=* NEWUPDATE=/COPY "GIOSIQV" NEWUPDATE=/COPY COUNT=1 NEWUPDATE=/SKIP BLANKS "EX" NEXT "SCB,GIOSMVC" NEWUPDATE=/COPY BLANKS "LR GR3,SCA" NEWUPDATE= BAL GR14,BLANKIT blank rest of input region NEWUPDATE=/COPY "GIOSIQBB" NEWUPDATE=/SKIP COUNT=4 NEWUPDATE=/EDIT "0(SCA),FDUBNOEC " = "FDUBMTB,FDUBNOEC" NEWUPDATE=/COPY TAB(72) "DSRI1343" NEWUPDATE= EJECT NEWUPDATE=* BLANKIT -- Subroutine to blank out what we read for NEWUPDATE=* possible implicit concatenation or endfile. NEWUPDATE=* NEWUPDATE=* Clobbers SCRATCH. NEWUPDATE=* Assumes GR13 points to original savearea at call NEWUPDATE= SPACE 3 NEWUPDATE=BLANKIT STM SCA,SCD,SCRATCH NEWUPDATE= L SCA,24(,GR13) get original GR1 NEWUPDATE= LM SCA,SCB,0(SCA) A(reg,len) NEWUPDATE= LH SCB,0(,SCB) get length NEWUPDATE= LA SCC,0(SCA,SCB) end of input region NEWUPDATE=* NEWUPDATE= XR SCD,SCD select either X'00' or C' ' to NEWUPDATE= CLI 0(SCC),0 wipe out buffer with NEWUPDATE= BPI OPND,*+8 -> edge of world, use x'00' NEWUPDATE= BE *+8 NEWUPDATE= LA SCD,C' ' NEWUPDATE=* NEWUPDATE= AIF (&S370).MVCL NEWUPDATE= STC SCD,0(,SCA) propagate this NEWUPDATE= S SCB,=F'2' NEWUPDATE= BM BLANKRET -> nothing much to do NEWUPDATE=BLANKNXT S SCB,=F'256' NEWUPDATE= BM BLANKLST NEWUPDATE= MVC 1(256,SCA),0(SCA) propagate fill character NEWUPDATE= LA SCA,256(,SCA) NEWUPDATE= B BLANKNXT NEWUPDATE=BLANKMVC MVC 1(0,SCA),0(SCA) NEWUPDATE=BLANKLST EX SCB,BLANKMVC fill last portion NEWUPDATE= AGO .NOMVCL NEWUPDATE=.MVCL SLL SCD,24 fill character NEWUPDATE= MVCL SCA,SCC zap the easy way NEWUPDATE=.NOMVCL ANOP NEWUPDATE=BLANKRET LM SCA,SCD,SCRATCH NEWUPDATE= BR GR14 NEWUPDATE=/COPY END NEWUPDATE=/END AREABLNK #4046 DATE=Dec 13, 1977 PERSON=Helffrich NAME=DSRI NBR=639/1 DESCR=Fix bug in D4.0 MTS causing PGNT if SETIOERR subroutine returns DESCR=and original parameter list of output subroutine did not have DESCR=a line number parameter. NEWUPDATE=/BEGIN IOERSFL NEWUPDATE=/. :: Fix to save FAKELIST across I/O error subroutine NEWUPDATE=/. calls. NEWUPDATE=/COPY "EXNOGATE" NEWUPDATE=/SKIP COUNT=1 NEWUPDATE= XR GR14,GR14 assume not using fakelist; identifed NEWUPDATE= ST GR14,4+DSRISFL by zero address of length HW NEWUPDATE= LA GR14,FAKELIST NEWUPDATE= CR GR14,SCB NEWUPDATE= BNE UIOENOFL -> not using fakelist NEWUPDATE= MVC DSRISFL(7*4),FAKELIST save fakelist here NEWUPDATE=/EDIT " " = "UIOENOFL" NEWUPDATE=/COPY BEFORE "UIOEB1" NEWUPDATE=/SKIP COUNT=4 NEWUPDATE=* NEWUPDATE=UIOEB1 L GR2,24(,GR13) assume using user's parameters NEWUPDATE= L GR14,4+DSRISFL but check if fakelist was really NEWUPDATE= LTR GR14,GR14 used NEWUPDATE= BZ UIOEB2 -> no, user's parameters NEWUPDATE= MVC FAKELIST(7*4),DSRISFL NEWUPDATE= LA GR2,FAKELIST NEWUPDATE=UIOEB2 XC FDUBERXS,FDUBERXS free DIRISUSP NEWUPDATE= BAL GR14,HIABYMH after covering tracks NEWUPDATE= LR GR1,GR2 restore parameter list pointer NEWUPDATE=/END IOERSFL #4046 DATE=Dec 13, 1977 PERSON=Helffrich NAME=TIMT NBR=539/1 DESCR=Just a cleanup of some things. NEWUPDATE=/BEGIN CLEANUP1 NEWUPDATE=/. CLEANUP1:: Just a few diddlie things NEWUPDATE=/COPY "SWSNOLD" NEWUPDATE=/COPY COUNT=3 NEWUPDATE=/SKIP COUNT=2 NEWUPDATE= JOBTBL N=1,R=GR12 NEWUPDATE=/COPY "NOTCAND" NEWUPDATE=/SKIP COUNT=2 NEWUPDATE= JOBTBL N=1,R=GR4 NEWUPDATE=/END CLEANUP1 #4047 DATE=Dec 13, 1977 PERSON=Helffrich NAME=GATE NBR=4000/1 DESCR=Remove TRANTB from gate NEWUPDATE=/BEGIN REMTTB NEWUPDATE=/. REMTTB -- Remove "TRANTB" from GATE NEWUPDATE=/DELETE "TRANTB" NEXT "PORT" NEWUPDATE=/COPY END NEWUPDATE=/END REMTTB #4048 DATE=Dec 13, 1977 PERSON=Helffrich NAME=USUB NBR=638/1 DESCR=Fix bug causing subversion of LSS-imposed time limit if DESCR=SETLCL called to reset timer interrupt. NEWUPDATE=/BEGIN LCLTBUG NEWUPDATE=/. LCLTBUG -- Fixes bug which lets users subvert LSS if their NEWUPDATE=/. program sets a small local time limit. NEWUPDATE=/COPY BEFORE "SETLRS " NEWUPDATE=SETLRS TM SWS8,LSSBIT LSS=on for this user? NEWUPDATE= BO SETLRC4 -> yes, then can't cancel LSS limit NEWUPDATE=/EDIT "SETLRS" = " " NEWUPDATE=/COPY END NEWUPDATE=/END LCLTBUG #4049 DATE=Dec 16, 1977 PERSON=Sherry NAME=*WATFIV(INOUT) -- UPDATE NBR=483/001 DESCR=Fix bug in INOUT to properly diagnose syntax errors in DESCR=I/O statements with NAMELIST specified. EDIT=EDIT WAT5.SGEN EDIT=COMMENT -- Edit update to INOUT assembly -- EDIT=INSERT 58033 EDIT=%AFTER '08610000' ; INOUT BUGFIX EDIT= IF (IOBJBIT,ON,X'08'),IERSXA No list for NAMELIST EDIT=$ENDFILE EDIT=STOP COMMENTS=I/O statements of the form: COMMENTS= READ(5,DATA) X,Y,Z COMMENTS=were not flagged as syntax errors if DATA was a NAMELIST COMMENTS=variable (no list is allowed). #4050 DATE=Dec 16, 1977 PERSON=Sherry NAME=*WATFIV(STARTB) -- UPDATE NBR=483/001 DESCR=Fix bug in STARTB to detect illegal subscript for variable DESCR=dimension of dummy array in subroutines. EDIT=EDIT WAT5.SGEN EDIT=COMMENT -- Edit update to STARTB assembly -- EDIT=COMMENT -- (near sequence id '10180000') -- EDIT=INSERT 77077 EDIT= LA R6,0(,R6) Clear top byte of address EDIT=$ENDFILE EDIT=STOP COMMENTS=This corrects a bug n the following situations: COMMENTS= SUBROUTINE X( A, N) COMMENTS= DIMENSION A(N) COMMENTS= A(20) = 0. COMMENTS=If N=20 and A is dimensioned as A(10) in the calling COMMENTS=program, the reference to A(20) will now be flagged as COMMENTS=an error. #4051 DATE=December 16, 1977 PERSON=Engle NAME=GRJLDT/GRJLTM SUBRS (GRJLDT) NBR=519/1 DESCR=Check for and produce a return code of 4 if "digits" in the DESCR=argument would produce a data exception. NEWUPDATE=/B C4051 NEWUPDATE=/S LEN(72) "GJDT0002" NEWUPDATE=GJDT TITLE 'S-TYPE CALLING INTERFACE FOR GRGJULDT--C. F. ENGLE--16 1 NEWUPDATE= DEC 77' NEWUPDATE=/COP LEN(72) "GJDT0005" NEWUPDATE= PACK DOUBLE(2),0(2,1) CHECK FOR POTENTIAL DATA EXCEPTIONS NEWUPDATE= PACK DOUBLE+2(2),3(2,1) NEWUPDATE= PACK DOUBLE+4(2),6(2,1) NEWUPDATE= LA 15,4 NEWUPDATE= CP DOUBLE(2),DOUBLE+2(2) NEWUPDATE= BPI OPND,EXIT NEWUPDATE= CP DOUBLE(2),DOUBLE+4(2) NEWUPDATE= BPI OPND,EXIT NEWUPDATE=/D LEN(72) "GJDT0009" NEWUPDATE= SR 15,15 NEWUPDATE=EXIT L 13,SAVE+4 NEWUPDATE=/D LEN(72) "GJDT0011" NEWUPDATE=/EN #4052 DATE=December 16, 1977 PERSON=Engle NAME=GRJLDT/GRJLTM SUBRS (GRJLTM) NBR=519/3 DESCR=Check for and produce a return code of 4 if "digits" in the DESCR=argument would produce a data exception. NEWUPDATE=/B C4052 NEWUPDATE=/D LEN(72) "GJTM0002" NEWUPDATE= DEC 77' NEWUPDATE=/COP LEN(72) "GJTM0005" NEWUPDATE= PACK QUAD(2),0(2,1) CHECK FOR POTENTIAL DATA EXCEPTIONS NEWUPDATE= PACK QUAD+2(2),3(2,1) NEWUPDATE= PACK QUAD+4(2),6(2,1) NEWUPDATE= PACK QUAD+6(2),8(2,1) NEWUPDATE= PACK QUAD+8(2),11(2,1) NEWUPDATE= PACK QUAD+10(2),14(2,1) NEWUPDATE= LA 15,4 NEWUPDATE= CP QUAD(2),QUAD+2(2) NEWUPDATE= BPI OPND,EXIT NEWUPDATE= CP QUAD+4(2),QUAD+6(2) NEWUPDATE= BPI OPND,EXIT NEWUPDATE= CP QUAD+8(2),QUAD+10(2) NEWUPDATE= BPI OPND,EXIT NEWUPDATE=/D LEN(72) "GJTM0009" NEWUPDATE= SR 15,15 NEWUPDATE=EXIT L 13,SAVE+4 NEWUPDATE=/D LEN(72) "GJTM0011" NEWUPDATE=/EN #4053 DATE=December 16, 1977 PERSON=Engle NAME=GROSDT NBR=520/1 DESCR=Check for and produce a return code of 4 if "digits" in the DESCR=first argument would produce a data exception. NEWUPDATE=/B C4053 NEWUPDATE=/D LEN(72) "GODT0001" NEWUPDATE=GODT TITLE 'GREGORIAN TO OS DATE CONVERSION--C. F. ENGLE--16 DEC 771 NEWUPDATE=/COP LEN(72) "GODT0008" NEWUPDATE= PACK DOUBLE(2),0(2,1) CHECK FOR POTENTIAL DATA EXCEPTIONS NEWUPDATE= PACK DOUBLE+2(2),3(2,1) NEWUPDATE= PACK DOUBLE+4(2),6(2,1) NEWUPDATE= LA 15,4 NEWUPDATE= CP DOUBLE(2),DOUBLE+2(2) NEWUPDATE= BPI OPND,EXIT NEWUPDATE= CP DOUBLE(2),DOUBLE+4(2) NEWUPDATE= BPI OPND,EXIT NEWUPDATE=/D LEN(72) "GODT0025" NEWUPDATE= SR 15,15 NEWUPDATE=EXIT L 13,SAVE+4 NEWUPDATE=/D LEN(72) "GODT0027" NEWUPDATE=/EN #4054 DATE=20 December, 1977 PERSON=Lift NAME=PLOT SYSTEM(ASM) NBR=615/4 DESCR=Fixes a bug which occurred when both optional arguments were DESCR=omitted. NEWUPDATE=/BEGIN C4054 NEWUPDATE=/COPY "PNUMBR" NEWUPDATE=/COPY " LA 8,=F'0'" NEWUPDATE= SR 9,9 NEWUPDATE=/DELETE " SR 9,9" NEWUPDATE=/END #4055 DATE=Dec 22, 1977 PERSON=Boettner NAME=FILESTATUS NBR=529/1 DESCR=The SUMMARY option failed to print summary items for several DESCR=things, including the number of files, last-changed date, DESCR=and file information items if a catalog scan was the last DESCR=thing done. Also if a catalog scan was followed by a single DESCR=file and file information was requested (as in: DESCR= $FILESTATUS (AARD?,VARK) SIZE for example) DESCR=then file information printed for the single file was really DESCR=the information for the last file in the catalog scan. NEWUPDATE=/BEGIN C4055 NEWUPDATE=/COPY BEFORE BLANKS 'XC SCATINFO' NEWUPDATE=/EDIT '10' = '12' NEWUPDATE=/COPY BLANKS 'XC SFILINFO' NEWUPDATE= MVC SCATINFO+CIONID-CIDSECT(4),=CL32' ' ZAP THESE, NEWUPDATE= MVC SCATINFO+CIVOL-CIDSECT(8),=CL32' ' HAVING NO MEANING NEWUPDATE= MVC SCATINFO+CIPKEY-CIDSECT(12),=CL32' ' FOR SUMMARIZATION NEWUPDATE=/COPY 'FILOOPE' NEWUPDATE=/DELETE BLANKS 'BE BX' NEWUPDATE= BE BXCAT NEWUPDATE=/COPY BEFORE 'BX' NEWUPDATE=BXCAT MVC FILINFO,SAVFILI RESTORE THIS, DONE WITH SCAN NEWUPDATE=/DELETE BLANKS 'MVC CATINFO' NEWUPDATE= MVC CATINFO+8(12*4),SCATINFO+8 NEWUPDATE=/COPY 'NAMES2' NEWUPDATE=/COPY BLANKS 'MVI' NEWUPDATE= CVD GR6,DBLWD NEWUPDATE= ED 0(4,GR1),DBLWD+6 NEWUPDATE= A GR1,CBWID NEWUPDATE= XR GR15,GR15 NEWUPDATE= BR GR14 NEWUPDATE=/END OLDUPDATE=%DELETE FSTA0241 OLDUPDATE= XC SCATINFO(12*4),SCATINFO OLDUPDATE=%AFTER FSTA0242 OLDUPDATE= MVC SCATINFO+CIONID-CIDSECT(4),=CL32' ' ZAP THESE, OLDUPDATE= MVC SCATINFO+CIVOL-CIDSECT(8),=CL32' ' HAVING NO MEANING OLDUPDATE= MVC SCATINFO+CIPKEY-CIDSECT(12),=CL32' ' FOR SUMMARIZATION OLDUPDATE=%DELETE FSTA0781 OLDUPDATE= BE BXCAT OLDUPDATE=%AFTER FSTA0790 OLDUPDATE=BXCAT MVC FILINFO,SAVFILI RESTORE THIS, DONE WITH SCAN OLDUPDATE=%DELETE FSTA0798 OLDUPDATE= MVC CATINFO+8(12*4),SCATINFO+8 OLDUPDATE=%AFTER FSTA1584 OLDUPDATE= CVD GR6,DBLWD OLDUPDATE= ED 0(4,GR1),DBLWD+6 OLDUPDATE= A GR1,CBWID OLDUPDATE= XR GR15,GR15 OLDUPDATE= BR GR14 #4056 DATE=January 6, 1978 PERSON=Engle NAME=BILLING (BILLING) NBR=500/4 DESCR=If a checkpoint is written after all records with type numbers DESCR=greater than or equal to 1 have been processed, i.e., at most, DESCR=only project records (type 0) remain in the input stream after DESCR=the checkpoint is written, a VB record with null data (record DESCR=length including record descriptor length equals 4) is written DESCR=to file REPORT. This null data record causes an error when DESCR=processed by BILPRNT (500/7) for ALL, RUN, or CHARGE. NEWUPDATE=/B C4056 NEWUPDATE=/D LEN(72) 'BILL0593' NEWUPDATE= PUT FILE(REPORT) EDIT(TVCODE, '-') (COL(1), 2 A); NEWUPDATE=/EN #4057 DATE=January 6, 1978 PERSON=Engle NAME=ACCOUNTING CLS (ACCMXMAT) NBR=631/6 DESCR=Last line printed by STATUS PROJECT produced high order DESCR=truncation when the number of signon ID's in the project was DESCR=greater than 999. NEWUPDATE=/B C4057 NEWUPDATE=/COP LEN(72) 'AMXM0802' NEWUPDATE=/S LEN(72) 'AMXM0804' NEWUPDATE= MVC CNTMSG+16(6),=X'402020202120' NEWUPDATE= ED CNTMSG+16(6),DOUBLE+5 NEWUPDATE=/COP LEN(72) 'AMXM0808' NEWUPDATE=/S LEN(72) 'AMXM0810' NEWUPDATE= MVC CNTMSG+34(6),=X'402020202120' NEWUPDATE= ED CNTMSG+34(6),DOUBLE+5 NEWUPDATE=/COP LEN(72) 'AMXM0812' NEWUPDATE=/S LEN(72) 'AMXM0814' NEWUPDATE= MVC CNTMSG+47(6),=X'402020202120' NEWUPDATE= ED CNTMSG+47(6),DOUBLE+5 NEWUPDATE=/COP LEN(72) 'AMXM2207' NEWUPDATE=/S LEN(72) 'AMXM2209' NEWUPDATE=CNTMSG DC C' NOCHANGE ON FOR AND OFF FOR OF THE 1 NEWUPDATE= PROJECT ID''S' NEWUPDATE=/EN ********** Sent January 12, 1978 ********** #4058 DATE=Jan 19, 1978 PERSON=Tiffany NAME=UNLINKER NBR=562/001 DESCR=Prevents generation of junk RLD from an overlay module. DESCR=Occurs only when OS linkage editor doesn't reset bit 7 DESCR=of flag field in last RLD data for ENTAB. NEWUPDATE=/BEGIN C4058 NEWUPDATE=/SKIP COUNT=1 NEWUPDATE=UNLK TITLE 'ROUTINE TO PUNCH OS LOAD MODULES FOR MTS (AN198)' NEWUPDATE=/COPY "RLDP " NEWUPDATE=/COPY COUNT=1 NEWUPDATE= MVI RLDSW,0 RESET RLDSW. NEWUPDATE=/COPY SPAN(" ") "END" SPAN(" ") "UNLK" NEWUPDATE=/SKIP SPAN(" ") "EJECT" NEWUPDATE=/END COMMENTS=The switch is reset at start. COMMENTS=Extra source records at end are also removed. #4059 DATE=January 20, 1978 PERSON=Engle NAME=GRJLDT/GRJLTM SUBRS (GRJLDT) NBR=519/1 DESCR=Return a value of zero if the return code is nonzero. NEWUPDATE=/B C4059 NEWUPDATE=/S BEFORE LEN(72) 'GJDT0003' NEWUPDATE=GJDT TITLE 'S-TYPE CALLING INTERFACE FOR GRGJULDT--C. F. ENGLE--19 1 NEWUPDATE= JAN 78' NEWUPDATE=/COP LEN(72) 'GJDT0005' NEWUPDATE=/COP C=3 NEWUPDATE= SR 0,0 NEWUPDATE=/EN COMMENTS=Assumes that change number 4051 has been applied. #4060 DATE=January 20, 1978 PERSON=Engle NAME=GRJLDT/GRJLTM SUBRS (GRJLTM) NBR=519/3 DESCR=Return a value of zero if the return code is nonzero. NEWUPDATE=/B C4060 NEWUPDATE=/S BEFORE LEN(72) 'GJTM0003' NEWUPDATE=GJTM TITLE 'S-TYPE CALLING INTERFACE FOR GRGJULTM--C. F. ENGLE--19 1 NEWUPDATE= JAN 78' NEWUPDATE=/COP LEN(72) 'GJTM0005' NEWUPDATE=/COP C=6 NEWUPDATE= SR 0,0 NEWUPDATE=/COP LEN(72) 'GJTM0008' NEWUPDATE=/COP C=1 NEWUPDATE= LR 0,1 NEWUPDATE=/D LEN(72) 'GJTM0012' NEWUPDATE=/EN COMMENTS=Assumes that change number 4052 has been applied. #4061 DATE=January 20, 1978 PERSON=Engle NAME=GROSDT NBR=520/1 DESCR=Return values consisting of all blanks if the return code is DESCR=nonzero. NEWUPDATE=/B C4061 NEWUPDATE=/S BEFORE LEN(72) 'GODT0002' NEWUPDATE=GODT TITLE 'GREGORIAN TO OS DATE CONVERSION--C. F. ENGLE--19 JAN 781 NEWUPDATE=/COP LEN(72) 'GODT0006' NEWUPDATE=/S LEN(72) 'GODT0008' NEWUPDATE= MVC 0(8,3),=CL8' ' BLANKS NEWUPDATE=/COP BEFORE LEN(72) 'GODT0009' NEWUPDATE= MVC 3(2,3),6(1) YEAR NEWUPDATE=/D LEN(72) 'GODT0023' NEWUPDATE= SR 15,15 NEWUPDATE=EXIT MVC DOUBLE,0(3) NEWUPDATE=/COP LEN(72) 'GODT0024' NEWUPDATE=/S C=2 NEWUPDATE= L 13,SAVE+4 NEWUPDATE=/EN COMMENTS=Assumes that change number 4053 has been applied. #4062 DATE=January 20, 1978 PERSON=Engle NAME=OSGRDT NBR=523/1 DESCR=Check for and produce a return code of 4 and values consisting DESCR=of all blanks if "digits" in the first argument would produce DESCR=a data exception. NEWUPDATE=/B C4062 NEWUPDATE=/D LEN(72) 'OGDT0001' NEWUPDATE=OGDT TITLE 'OS TO GREGORIAN DATE CONVERSION--C. F. ENGLE--19 JAN 781 NEWUPDATE=/D LEN(72) 'OGDT0007' NEWUPDATE= PACK 0(2,3),3(2,1) CHECK FOR POTENTIAL DATA EXCEPTIONS NEWUPDATE= PACK 2(2,3),5(3,1) NEWUPDATE= MVC DOUBLE,=CL8' ' NEWUPDATE= LA 15,4 NEWUPDATE= CP 0(2,3),2(2,3) NEWUPDATE= BPI OPND,EXIT NEWUPDATE= ZAP DOUBLE,2(2,3) GET DAYS NEWUPDATE=/D LEN(72) 'OGDT0020' NEWUPDATE= SR 15,15 NEWUPDATE=EXIT MVC 0(8,3),DOUBLE NEWUPDATE=/D LEN(72) 'OGDT0024' NEWUPDATE=/EN #4063 DATE=Jan 23, 1978 PERSON=Tiffany NAME=APC NBR=0496/003 DESCR=If the synchronization mode is on, the printout DESCR=ignores the PRCOL option. NEWUPDATE=/BEGIN C4063 NEWUPDATE=/COPY "PRNTBOTH" NEWUPDATE=/COPY SPAN(" ") "IF" SPAN(" ") "R3,NZ" NEWUPDATE= S R2,=F'12' MAKE ROOM FOR LINE NUMBER NEWUPDATE= A R2,PRCOL ACCOUNT FOR PRCOL NEWUPDATE= S R3,PRCOL SET LENGTH=LENGTH-PRCOL+1 NEWUPDATE= A R3,=F'1' NEWUPDATE= IF NEG IF NEGATIVE, ZERO LENGTH NEWUPDATE= SR R3,R3 NEWUPDATE= S R2,PRCOL NEWUPDATE= A R2,=F'1' NEWUPDATE= ENDIF NEWUPDATE=/DELETE SPAN(" ") "S" SPAN(" ") "R2,=F'11'" NEWUPDATE=/COPY SPAN(" ") "IF" SPAN(" ") "R5,NZ" NEWUPDATE= S R4,=F'12' MAKE ROOM FOR LINE NUMBER NEWUPDATE= A R4,PRCOL ACCOUNT FOR PRCOL NEWUPDATE= S R5,PRCOL SET LENGTH=LENGTH-PRCOL+1 NEWUPDATE= A R5,=F'1' NEWUPDATE= IF NEG IF NEGATIVE, ZERO LENGTH NEWUPDATE= SR R5,R5 NEWUPDATE= S R4,PRCOL NEWUPDATE= A R4,=F'1' NEWUPDATE= ENDIF NEWUPDATE=/DELETE SPAN(" ") "S" SPAN(" ") "R4,=F'11'" NEWUPDATE=/END #4064 DATE=Jan 23,1978 PERSON=MTA NAME=RAMROD(SERVICE MODULE) NBR=1019/1 DESCR=Any system with a record longer than 256 bytes (for example a DESCR=CSI record) won't load properly. NEWUPDATE=/BEGIN C4064 NEWUPDATE=/COPY 'TMLOOP ' NEWUPDATE=/COPY NEXT 'A ' NEWUPDATE= A R7,=F'256' UPDATE TO ADDRESS ALSO NEWUPDATE=/END #4065 DATE=Jan 23, 1978 PERSON=MTA NAME=*FAKEOS(UPDATES) NBR=545/5 DESCR=OPEN blows up if the number of buffers requested is not odd (i.e DESCR=if it is a multiple of 2). OLDUPDATE=%DELETE FAKB4096 OLDUPDATE=%DELETE FAKB4102 OLDUPDATE=*NUMBER OF BUFFERS WANTED IN GR0 AND LENGTH OF EACH IN GR1 OLDUPDATE=%DELETE FAKB4108 OLDUPDATE= MH R1,DOUBLE TOTAL LENGTH OF ALL BUFFERS COMMENTS=These updates should be merged into 545/5 in the appropriate place. #4066 DATE=Jan 23, 1978 PERSON=MTA NAME=*FAKEOS(BDAM SIMULATOR) NBR=545/7 DESCR=Every BDAM I/O operation allocates X'90' bytes for an IOB which DESCR=is never released or reused. NEWUPDATE=/BEGIN C4066 NEWUPDATE=/COPY 'DAWAIT ' NEWUPDATE=/COPY NEXT 'STC ' NEWUPDATE=/BUFFER CHAIN NEWUPDATE=/SKIP '* CAM ' NEWUPDATE=/COPY BEFORE NEXT 'SR ' NEXT 'RF,RF ' NEWUPDATE=/SKIP C=1 NEWUPDATE=/BUFFER END NEWUPDATE=/COPY 'DACHKSYN ' NEWUPDATE=/COPY C=1 NEWUPDATE= MVI IOBDAVLI,0 RELEASE IOB NEWUPDATE=/COPY BEFORE 'DACLRIOB ' NEWUPDATE=/EDIT F=1 REM = NEWUPDATE=/COPY NEXT 'ST ' NEXT 'R4,' NEWUPDATE=/INCLUDE CHAIN NEWUPDATE= MVI IOBDAVLI,255 MARK IT IN USE NEWUPDATE=/EDIT F=1 = 'DACLRIOB' NEWUPDATE=/END #4067 DATE=Jan 24, 1978 PERSON=Sherry NAME=UMLOAD NBR=001/1 DESCR=Fix the relocation factor of CM with non-zero origin (as produced DESCR=by the OS Linkage Editor) - it's not the same as the value. NEWUPDATE=/BEGIN C4067 NEWUPDATE=/COPY "ESDDEF92 TM" NEWUPDATE=/COPY COUNT=1 NEWUPDATE= TM SETESD+ESDST1D,COMBT IF ESD ITEM = CM, COMPUTE NEW NEWUPDATE= BO ESDDEF8 RELFAC IN CASE NONZERO ORIGIN NEWUPDATE=/END COMMENTS=This bug caused A-type adcons referencing non-zero origin CMs COMMENTS=to be improperly relocated (inter-module references). #4068 DATE=Jan 24, 1978 PERSON=Sherry NAME=UMLOAD NBR=001/1 DESCR=Fix to properly relocate V-con reference to CM with non-zero DESCR=origin from csect defined within same module as csect declaring DESCR=CM as produced by the OS linkage editor (intra-module reference). NEWUPDATE=/BEGIN C4068 NEWUPDATE=/COPY "RLDSA3 OI" NEWUPDATE=/COPY COUNT=6 NEWUPDATE= TM RBFLGS+3,X'10' A V-CON REFERENCE? NEWUPDATE= BO RLDSA4 NO NEED TO RELOCATE NOW NEWUPDATE=/END #4069 DATE=Jan 24, 1978 PERSON=Sherry NAME=LLXU NBR=354/1 DESCR=Fix bug to free input fdub when loading empty file with the DESCR=noprompt and return on error bits set. NEWUPDATE=/BEGIN C4069 NEWUPDATE=/COPY "XRUNIT L" NEWUPDATE=/COPY BEFORE BLANKS "BO XLERRET" NEWUPDATE=/EDIT "XLERRET" = "XLERROR" NEWUPDATE=/END COMMENTS=This caused the file to be locked so other users could not COMMENTS=access it while the calling program was still loaded. #4070 DATE=Jan 30, 1978 PERSON=Tiffany NAME=APC NBR=0496/003 DESCR=To correct line number for sequential files when scanning DESCR=backwards. NEWUPDATE=/BEGIN C4070 NEWUPDATE=/DELETE "NOSCAN0 " NEWUPDATE=NOSCAN0 IF IOMOD+1,O,X'20',TM BACKWARDS? NEWUPDATE= NI IOMOD+1,NOT-X'20' NEWUPDATE= NI IOSWS,NOT-EOFSW NEWUPDATE= ENDIF NEWUPDATE=/COPY SPAN(" ") "BM" SPAN(" ") "READBSR " NEWUPDATE= IF IOSWS,O,EOFSW,TM ENDFILE? NEWUPDATE= TM IOMOD+1,X'20' BACKWARDS? NEWUPDATE= BZ READSEQ3 NO, QUICK RETURN NEWUPDATE= NI IOSWS,NOT-EOFSW RESET SWITCH NEWUPDATE= ENDIF NEWUPDATE=/SKIP COUNT=2 NEWUPDATE=/COPY BEFORE SPAN(" ") "BE" SPAN(" ") "READSEQ2" NEWUPDATE=/EDIT "SEQ2" = "SEQ6" NEWUPDATE=/COPY BEFORE SPAN(" ") "L" SPAN(" ") "R1,RDSAVE" NEWUPDATE= L R1,=F'1000' SET INCREMENT NEWUPDATE= TM IOMOD+1,X'20' IF BACKWARDS, NEWUPDATE= BZ *+6 NEGATE IT. NEWUPDATE= LNR R1,R1 NEWUPDATE= A R1,RDSAVE UPDATE LINE NUMBER NEWUPDATE=/SKIP COUNT=2 NEWUPDATE=/COPY BEFORE "READSEQ2" NEWUPDATE=READSEQ6 IF IOMOD+1,O,X'20',TM IF BACKWARDS NEWUPDATE= XC IOLNR,IOLNR SET LNR=0.0 NEWUPDATE= ELSE NEWUPDATE=/COPY BEFORE "READSEQ5" NEWUPDATE= ENDIF NEWUPDATE=/END #4071 DATE=Feb 3, 1978 PERSON=Boettner NAME=FILESTATUS COMMAND NBR=0529/001 DESCR=To correct one of the corrections in Change Form 4055. The DESCR=MVC instruction with label BXCAT that was inserted just DESCR=before the line with label BX should be executed only if DESCR=SPCBIT is on, since otherwise SAVFILI does not have a valid DESCR=value. This caused various strange behaviors, including DESCR=pgnts. The following change assumes that Change 4055 DESCR=has already been applied. NEWUPDATE=/BEGIN C4071 NEWUPDATE=/COPY BEFORE 'BXCAT' NEWUPDATE=BXCAT TM SWS3,SPCBIT NEWUPDATE= BZ BX NEWUPDATE=/EDIT 'BXCAT' = ' ' NEWUPDATE=/END #4072 DATE=February 6, 1978 PERSON=Engle NAME=ACCOUNTING (STATUS) NBR=104/11 DESCR=Exceeding a global time limit in conversational mode or a DESCR=local time limit in batch or conversational mode while the DESCR=accounting file is locked will leave the file locked until the DESCR=program is unloaded. This change causes the program to DESCR=terminate without locking the file if either of these limits DESCR=leaves too little remaining time. NEWUPDATE=/B C4072 NEWUPDATE=/D LEN(72) 'STAT0001' NEWUPDATE=STAT TITLE 'ACCOUNTING STATUS FOR MTS USER--C. F. ENGLE--6 FEB 78' NEWUPDATE=/COP LEN(72) 'STAT0133' NEWUPDATE= MACRO NEWUPDATE=&NAME GUINFO &ITEM,&LOC NEWUPDATE=.********************************************************************** NEWUPDATE=.* * NEWUPDATE=.* ITEM THE LOCATION SPECIFYING THE GUINFO ITEM TO BE OBTAINED.* NEWUPDATE=.* LOC THE LOCATION INTO WHICH THE GUINFO ITEM WILL BE PLACED.* NEWUPDATE=.* * NEWUPDATE=.********************************************************************** NEWUPDATE=&NAME LA R1,=A(&ITEM,&LOC) NEWUPDATE= L R15,=V(GUINFO) NEWUPDATE= BALR R14,R15 NEWUPDATE= LTR R15,R15 NEWUPDATE= BNZ GUINFERR NEWUPDATE= MEND NEWUPDATE= SPACE 5 NEWUPDATE=/COP LEN(72) 'STAT0158' NEWUPDATE=GETELT EQU 38 SVC DEFINITION NEWUPDATE= SPACE 5 NEWUPDATE=/D LEN(72) 'STAT0168' NEWUPDATE=/S LEN(72) 'STAT0173' NEWUPDATE= GUINFO SIGNONID,ID GET USER SIGNON ID NEWUPDATE=/D LEN(72) 'STAT0182' NEWUPDATE= GUINFO LOCCPUT,DOUBLE NEWUPDATE= GUINFO BATCHMD,DOUBLE+4 NEWUPDATE= C R6,DOUBLE+4 NEWUPDATE= BNE CKLCLTM BATCH, NO GLOBAL TIME LIMIT PROBLEM NEWUPDATE= GUINFO GLOBCPUT,DOUBLE+4 NEWUPDATE= L R2,DOUBLE+4 NEWUPDATE= LTR R2,R2 NEWUPDATE= BZ CKLCLTM NO GLOBAL TIME LIMIT NEWUPDATE= GUINFO GLOBTTN,DOUBLE+4 GLOBAL TIME LIMIT BASE NEWUPDATE= A R2,DOUBLE+4 NEWUPDATE= C R6,DOUBLE NEWUPDATE= BNE LCLBASE LOCAL TIME LIMIT NEWUPDATE= B GETREQTM NEWUPDATE= SPACE 5 NEWUPDATE=CKLCLTM C R6,DOUBLE NEWUPDATE= BE GETACC NO LOCAL TIME LIMIT NEWUPDATE= L R2,=X'7FFFFFFF' MAXIMUM FOR GLOBAL TIME LIMIT NEWUPDATE=LCLBASE GUINFO LOCTTN,DOUBLE+4 LOCAL TIME LIMIT BASE NEWUPDATE= L R3,DOUBLE NEWUPDATE= A R3,DOUBLE+4 NEWUPDATE= CR R2,R3 NEWUPDATE= BNH GETREQTM GLOBAL LIMIT BEFORE LOCAL LIMIT NEWUPDATE= LR R2,R3 USE LOCAL TIME LIMIT NEWUPDATE=GETREQTM L R3,=F'-7680' -0.1 CPU SEC NEEDED TO READ ACC REC NEWUPDATE= L R15,=V(CNFGINFO) NEWUPDATE= USING CNFGINFD,R15 NEWUPDATE= CLC CIMODEL,=X'0470' NEWUPDATE= BE CKREMTM 470V/6 NEWUPDATE= SLA R3,1 MINUS CPU TIME NEEDED FOR 370/168 NEWUPDATE= CLC CIMODEL,=X'0168' NEWUPDATE= BE CKREMTM 370/168 NEWUPDATE= DROP R15 NEWUPDATE= MH R3,=H'6' MINUS CPU TIME NEEDED FOR 360/67 NEWUPDATE=CKREMTM AR R3,R2 NEWUPDATE= SVC GETELT CURRENT CPU TIME NEWUPDATE= SR R3,R0 NEWUPDATE= SR R3,R1 REMAINING CPU TIME MINUS TIME NEEDED NEWUPDATE= BM NOTIME INSUFFICIENT CPU TIME TO READ ACC REC NEWUPDATE=GETACC L R0,SAVE+4 NEWUPDATE=/D LEN(72) 'STAT0255' NEWUPDATE=/S LEN(72) 'STAT0258' NEWUPDATE= GUINFO BATCHMD,DOUBLE NEWUPDATE= C R6,DOUBLE NEWUPDATE= BE NOFULL NOT BATCH, ABBREVIATED OUTPUT NEWUPDATE=/COP LEN(72) 'STAT0267' NEWUPDATE=GUINFERR LA R1,=A(GUINFMSG,H13,0) GUINFO ERROR NEWUPDATE= B READERR NEWUPDATE= SPACE 5 NEWUPDATE=/COP LEN(72) 'STAT0275' NEWUPDATE=NOTIME LA R1,=A(NOTIMMSG,H44,0) INSUFFICIENT CPU TIME NEWUPDATE= B READERR NEWUPDATE= SPACE 5 NEWUPDATE=/COP LEN(72) 'STAT0692' NEWUPDATE=BATCHMD DC F'10' NEWUPDATE=/COP LEN(72) 'STAT0695' NEWUPDATE=GLOBCPUT DC F'78' NEWUPDATE=GLOBTTN DC F'94' NEWUPDATE=/COP LEN(72) 'STAT0701' NEWUPDATE=LOCCPUT DC F'86' NEWUPDATE=LOCTTN DC F'96' NEWUPDATE=/COP LEN(72) 'STAT0703' NEWUPDATE=SIGNONID DC F'2' NEWUPDATE=/COP LEN(72) 'STAT0710' NEWUPDATE=H44 DC H'44' NEWUPDATE=/COP LEN(72) 'STAT0720' NEWUPDATE=GUINFMSG DC C' GUINFO ERROR' NEWUPDATE=/COP LEN(72) 'STAT0723' NEWUPDATE=NOTIMMSG DC C' THE LOCAL OR GLOBAL TIME LIMIT IS TOO SMALL' NEWUPDATE=/COP LEN(72) 'STAT0740' NEWUPDATE=*********************************************************************** NEWUPDATE=* * NEWUPDATE=* MACHINE CONFIGURATION TABLE * NEWUPDATE=* * NEWUPDATE=*********************************************************************** NEWUPDATE= SPACE 5 NEWUPDATE= COPY *CNFGINFODSECT NEWUPDATE= EJECT NEWUPDATE=/EN #4073 DATE=FEBRUARY 7, 1978 PERSON=MTA NAME=MSG ROUTINE NBR=1023/1 DESCR=A CALL item after a false IF test causes an infinite loop. NEWUPDATE=/BEGIN C4073 NEWUPDATE=/COPY 'L1SKP ' NEWUPDATE=/COPY C=4 NEWUPDATE= CLI 0(MSGLOC),CALL@ CALL THIS TO GET LENGTH NEWUPDATE= BE L1B NEWUPDATE=/COPY BEFORE 'CALLC ' NEWUPDATE=CALLC TM SWX,@SKIP ARE WE SKIPPING? NEWUPDATE= BO CALLSKP YES NEWUPDATE=/EDIT FIELD=1 'CALLC' = NEWUPDATE=/COPY 'CALLQ ' NEWUPDATE=/COPY NEXT 'B ' NEWUPDATE=CALLSKP LA MSGLOC,4(0,R6) SET RESUME POINT NEWUPDATE= B LOOP AND CONTINUE NEWUPDATE=/END ********** Sent February 8, 1978 ********** #4074 DATE=FEB 15, 1978 PERSON=Sherry NAME=*WATFIV(ACCT) -- UPDATE NBR=483/001 DESCR=Change the /COMPILE card scanner to recognize abbreviations DESCR=for some job options and also to allow commas or blanks as DESCR=delimiters. EDIT=EDIT WAT5.SGEN EDIT=COMMENT -- Edit update to ACCT assembly -- EDIT=INSERT 2090 EDIT=%DELETE '01250000' '01270000' EDIT= LR R2,R1 SAVE CURRENT POINTER EDIT=BLOOP IF (ZR1,EQ,C';'),BANALDON END OF PARAMETERS EDIT= CLI ZR1,C' ' EDIT= BNE *+12 EDIT= LA R1,ZR1+1 SKIP THE BLANK EDIT= B BLOOP CONTINUE EDIT= CLI ZR1,C',' SKIP ALL COMMAS EDIT= BNE BCHKDEL EDIT=BLOOP3 LA R1,ZR1+1 R1=R1+1; EDIT= B BLOOP TRY SOME MORE EDIT=BCHKDEL CR R1,R2 ANY DELIMITERS? EDIT= BE BANALERR NO, SO IT'S AN ERROR EDIT=$ENDFILE EDIT=INSERT 2092 EDIT=%BEFORE '01840000' EDIT= BE *+22 EDIT= CLC =C'T=',ZR1 "T="? EDIT=%BEFORE '01850000' EDIT= LA R1,ZR1+1 SKIP THE "T" EDIT= B *+8 EDIT=$ENDFILE EDIT=INSERT 2116 EDIT=%BEFORE '02030000' EDIT= BE *+22 EDIT= CLC =C'P=',ZR1 "P="? EDIT=%BEFORE '02040000' EDIT= LA R1,ZR1+1 SKIP THE "P" EDIT= B *+8 EDIT=%BEFORE '02360000' EDIT= BE *+22 EDIT= CLC =C'L=',ZR1 "L="? EDIT=%BEFORE '02370000' EDIT= LA R1,ZR1+1 SKIP THE "L" EDIT= B *+8 EDIT=$ENDFILE EDIT=INSERT 2128 EDIT= BE *+20 EDIT= CLI ZR1,C'S' "S"? EDIT=$ENDFILE EDIT=INSERT 2129 EDIT= LA R1,ZR1+1 SKIP THE "S" EDIT= B *+8 EDIT=$ENDFILE COMMENTS=Allowable abbreviations are T for TIME, P for PAGES, COMMENTS=L for LINES and S for SOURCE. #4075 DATE=FEB 15, 1978 PERSON=Sherry NAME=*WATFIV(SCAN) -- UPDATE NBR=483/001 DESCR=Change the control card scanner to detect illegal control cards DESCR=and print a warning message. EDIT=EDIT WAT5.SGEN EDIT=COMMENT -- Edit update to SCAN assembly -- EDIT=INSERT 71014 EDIT=%AFTER '02014000' EDIT= SPRIN XCARD1,90 PRINT OFFENDING CARD EDIT= MVI XCARD2,0 SO ERROR WON'T PRINT LAST BUFFER EDIT= ERROR (WARN,JB,2),DONE "UNRECOGNIZED CONTROL CARD" EDIT=$ENDFILE EDIT=COMMENT -- Edit update to ERRTEXTS assembly to add new message EDIT=INSERT 44001 EDIT=%AFTER '02790000' EDIT= EMESSAGE JB,2,'UNRECOGNIZABLE CONTROL CARD.' EDIT=$ENDFILE EDIT=COMMENT -- Edit update to STARTA section to add new switch. EDIT=INSERT 76052 EDIT=%AFTER '09351500' EDIT=XJOBSW DC X'00' ON IF $JOB CARD READ EDIT=$ENDFILE EDIT=COMMENT -- Edit update to MAIN assembly -- EDIT=INSERT 61042 EDIT=%DELETE '02690000' EDIT= BE MAIN15 YES, START THE JOB EDIT= CLI XJOBSW,0 READ A $JOB CARD YET? EDIT= BE MAIN10C NO, SO COMPLAIN EDIT= EX R0,COPENTRY AN $ENTRY CARD? EDIT= BNE MAIN10 NO, IGNORE IT EDIT= MVI XJOBSW,0 NO $JOB CARD YET EDIT= B MAIN10 EDIT=MAIN10C CLI XSRCPTR,0 BATCH? EDIT= BNE MAIN10P YES, PRINT THE CARD EDIT= CLI XITZFILE,0 SCARDS A FILE? EDIT= BE MAIN10 NO, SO IGNORE IT EDIT=MAIN10P SPRIN XCARD1,90 ECHO CONTROL CARD EDIT= SERCOM 'YOU MUST ENTER A "&CONTROL&NEWJOB" CARD FIRST' EDIT= B MAIN10 TRY AGAIN EDIT=$ENDFILE EDIT=INSERT 61044 EDIT= MVI XJOBSW,B'10000000' REMEMBER A $JOB CARD WAS READ EDIT=$ENDFILE EDIT=COMMENT -- Edit ERRTABLE macro to add new message type -- EDIT=INSERT 43000 EDIT=%INPUT *S* 43 ;43 ERRTABLE EDIT=%OUTPUT WAT5.FUNMAC(1000) EDIT=%AFTER '03090000' EDIT= ERRDEFN JB2 EDIT=%AFTER FILEMARK EDIT=%CLOSE *S* EDIT=%CLOSE WAT5.FUNMAC(1000) EDIT=$CONTINUE WITH *DUMMY* EDIT=$ENDFILE COMMENTS=The macro ERRTABLE must be regenerated and placed in the COMMENTS=appropriate macro library (WAT5.FUNMAC); the copy sections COMMENTS=ERRTEXTS and STARTA must be regenerated; and the modules COMMENTS=ERROR, SCAN and MAIN must be regenerated and assembled to COMMENTS=effect this change. #4076 DATE=FEB 15, 1978 PERSON=Sherry NAME=*WATFIV(INOUT) -- UPDATE NBR=483/001 DESCR=Fix the error message issued when more than 256 constants DESCR=appear in a DATA statement (WATFIV restriction). EDIT=EDIT WAT5.SGEN EDIT=COMMENT -- Edit update to INOUT assembly -- EDIT=%AFTER '06020000' ; BUGFIX EDIT= MVI IOBJBIT,X'00' INITIALIZE SWITCH EDIT=%AFTER '07830000' ; BUGFIX EDIT= C R4,=F'255' MORE THAN 255 CONSTANTS? EDIT= BNH ISETLEN NO, OK EDIT= MVI ZR3+1,255 SET MAX COUNT EDIT= ERROR (NOAC,DA,A),ITUFF "MORE THAN 255 CONSTANTS" EDIT=ISETLEN DS 0H EDIT=$ENDFILE EDIT=COMMENT -- Edit update to ERRTEXTS copy section -- EDIT=INSERT 44001 EDIT=%AFTER '00980000' EDIT= EMESSAGE DA,A,'MORE THAN 255 CONSTANTS IN DATA STATEMENT' EDIT=$ENDFILE EDIT=COMMENT -- Edit ERRTABLE macro to add new message type -- EDIT=INSERT 43003 EDIT=%BEFORE '03140000' EDIT= ERRDEFN DAA EDIT=$ENDFILE COMMENTS=Previously the message "MORE VARIABLES THAN CONSTANTS" was COMMENTS=printed because only one byte is used to save the number of COMMENTS=constants in the object code. This change requires that the COMMENTS=macro ERRTABLE, the copy section ERRTEXTS, the module ERROR, COMMENTS=and the module INOUT be regenerated. #4077 DATE=Feb 20, 1978 PERSON=Sherry NAME=LLXU NBR=354/1 DESCR=Fix bug to not unload run-only program when it loads a null DESCR=program with noprompt and return on error bits set. NEWUPDATE=/BEGIN C4077 NEWUPDATE=/COPY "XLERROR L" NEWUPDATE=/COPY BEFORE BLANKS "BAL GR2,XLCLEAN" NEWUPDATE=/EDIT " " = "XLERRCL" NEWUPDATE=/COPY "XRUNIT L" NEWUPDATE=/COPY BEFORE BLANKS "BO XLERROR" NEWUPDATE=/EDIT "XLERROR" = "XLERRCL" NEWUPDATE=/END COMMENTS=Note: this bug was introduced by the bugfix of change #4069. COMMENTS=The "B XLERROR" should have been "B XLERROR+8". #4078 DATE=Mar 25, 1978 PERSON=OGDEN NAME=OPERATOR JOB NBR=634/1 DESCR=Provides support for the 3286 log printer, which is just DESCR=treated like a 3284. NEWUPDATE=/BEGIN C4078 NEWUPDATE=/COPY "GETNUP " NEWUPDATE=/COPY COUNT=9 NEWUPDATE= CLC =C'3286',RDLNAM(R2) NEWUPDATE= BE IS3284 WELL ALMOST ANYWAY NEWUPDATE=/END #4079 DATE=Mar 25, 1978 PERSON=OGDEN NAME=OPERATOR JOB NBR=634/1 DESCR=Fixes several bugs in the log printer Unit Check routines. NEWUPDATE=/BEGIN C4079 NEWUPDATE=/COPY BEFORE "SVCSKIP " NEWUPDATE=/EDIT "31" = "13" NEWUPDATE=/COPY "TRYNUDVS " NEWUPDATE=/COPY COUNT=16 NEWUPDATE=/EDIT "SWS" = "SWS2" NEWUPDATE=/COPY "SAMPTR " NEWUPDATE=/COPY COUNT=6 NEWUPDATE=/EDIT "SWS" = "SWS2" NEWUPDATE=/COPY "UCPTR " NEWUPDATE=/COPY COUNT=11 NEWUPDATE=/EDIT "+OC" = "" NEWUPDATE=/COPY "WAITRTN " NEWUPDATE=/COPY COUNT=12 NEWUPDATE=/EDIT "SWS" = "SWS2" NEWUPDATE=/END COMMENTS=The D4.1 version will contain a "cleaner" fix for COMMENTS=the 1403 support. COMMENTS=I'm sorry it took me so long to get these COMMENTS=written up on a change form. #4080 DATE=Mar 25, 1978 PERSON=OGDEN NAME=OPERATOR JOB NBR=634/1 DESCR=Fix the register setup so the SVC TIMERCNCL will work. NEWUPDATE=/BEGIN C4080 NEWUPDATE=/COPY "WRITNOW " NEWUPDATE=/COPY COUNT=3 NEWUPDATE=/EDIT "R3" = "R0" NEWUPDATE=/END COMMENTS=My thanks to the folks from UBC for finding this. #4081 DATE=Mar 25, 1978 PERSON=OGDEN NAME=OPERATOR JOB NBR=634/1 DESCR=A fix so both digits of the month (mm-dd-yy) will print DESCR=on the console log. NEWUPDATE=/BEGIN C4081 NEWUPDATE=/COPY "DLTIME " NEWUPDATE=/SKIP COUNT=1 NEWUPDATE= DC X'21000800',AL1(0,0,0,0,0) NEWUPDATE=/END #4082 DATE=MARCH 31, 1978 PERSON=Sherry NAME=*WATFIV(FORMCONV) -- UPDATE NBR=483/001 DESCR=Fix E and D-type output format conversion for zero valued variables. EDIT=EDIT WAT5.SGEN EDIT=COMMENT -- Edit update to FORMCONV assembly -- EDIT=INSERT 50110 EDIT=%AFTER '13070000' EDIT= BAL R8,SPZERO CHECK IF VARIABLE IS ZERO EDIT=%AFTER '13100000' ; ADD NEW SUBROUTINE EDIT= SPACE EDIT=SPZERO L R1,STR1 POINT TO VARIABLE EDIT= LE 0,0(,R1) NOW IN FR0 EDIT= LTER 0,0 IS IT ZERO? EDIT= BNZR R8 NO, JUST RETURN EDIT= B ISZERO YES EDIT=DPZERO L R1,STR1 POINTER TO VARIABLE EDIT= LD 0,0(,R1) PICK UP REAL*8 VARIABLE EDIT= LTDR 0,0 IS IT ZERO? EDIT= BNZR R8 NO, RETURN EDIT=ISZERO LR R3,R4 BUFFER POINTER TO EXPONENT EDIT= SR R3,R7 - POINTER TO DECIMAL POINT EDIT= SH R3,=H'3' = NUMBER OF 0'S TO BLANK EDIT= BM ISZEROR NEGATIVE -> RETURN EDIT= MVI 2(R7),C' ' BLANK OUT FRACTION EDIT= BZ ISZEROR ONLY ONE EXTRA 0 EDIT= BCTR R3,0 IBM LENGTH EDIT= EX R3,BLKFRAC BLANK OUT EXTRA ZEROS IN FRACTION EDIT=ISZEROR LA R4,4(,R4) UPDATE BUFFER POINTER EDIT= B SUPCLEAN RETURN EDIT=BLKFRAC MVC 3(0,R7),2(R7) EDIT=%AFTER '13250000' EDIT= BAL R8,DPZERO CHECK FOR VAR = 0.0 EDIT=$ENDFILE COMMENTS=Previously FORMCONV would print zero valued variables with COMMENTS=formats like E13.5 as "0.00000E-01", now just "0.0" will COMMENTS=be printed for all E and D-type formats as FTN does. #4083 DATE=April 12, 1978 PERSON=Helffrich NAME=OPEN NBR=428/14 DESCR=When the RENAMEIT subroutine was called to rename a file from DESCR=one catalog to another, and the LASTCHG and CREDATE stuff was DESCR=supplied, the LASTCHG and CREDATE were exchanged. OLDUPDATE=%BEFORE 'OPEN1587' OLDUPDATE=* 16+CRECAT,80+CREFD,12+SDMLIKE,12+SDWRITE,12+FDWRITE OLDUPDATE=%DELETE 'OPEN1587' OLDUPDATE=%BEFORE 'OPEN2093' OLDUPDATE= MVC CFDPAR+56+4(22-4,RD),4(R2) RE-FORMAT PARAMETERS OLDUPDATE= MVC CFDPAR+56(2,RD),2(R2) SO THAT CREFD GETS THEM OLDUPDATE= MVC CFDPAR+56+2(2,RD),0(R2) RIGHT OLDUPDATE= LA R2,CFDPAR+56(,RD) POINT TO NEW ONES OLDUPDATE=%BEFORE 'OPEN2111' OLDUPDATE= LA RD,CFDPAR+56+24(,RD) OLDUPDATE=%DELETE 'OPEN2111' #4084 DATE=April 12, 1978 PERSON=Helffrich NAME=OPEN NBR=428/14 DESCR=This decreases the number of references to the catalog to DESCR=update the LASTCHG date and the FSAVEIT bit in the catalog DESCR=when a file is changed. OLDUPDATE=%BEFORE 'OPEN0285' OLDUPDATE= TM FDFODT(R5),FSAVEIT OLDUPDATE= BZ *+8 -> FSAVEIT bit not on OLDUPDATE= OI FCBFLG(R2),FDCHNG will, remember this then OLDUPDATE=%BEFORE 'OPEN0286' OLDUPDATE= MVC FCBOLCD(2,R2),FDLCHNG(R5) last change date at open OLDUPDATE=%BEFORE 'OPEN0287' OLDUPDATE= MVC FCBFDLOC(6,R2),BCBPA(R8) SAVE FDLOC FOR CLOSE OLDUPDATE=%DELETE 'OPEN0287' OLDUPDATE=%BEFORE 'OPEN0574' OLDUPDATE= MVC R1NAB(4,R7),FCBLNAB(R8) #AVAIL ENTRIES OLDUPDATE=%DELETE 'OPEN0574' OLDUPDATE=%BEFORE 'OPEN0614' OLDUPDATE= BZ CLOSD3X -> no, check if additional refs OLDUPDATE= TM FCBFLG(R8),FDCHNG FSAVEIT in FD set yet? OLDUPDATE= BZ CLOSR1 -> no, do it right away OLDUPDATE=* OLDUPDATE= SVC TIME see if last change date needs OLDUPDATE= D R0,=F'60000000' updating from value at open OLDUPDATE= XR R0,R0 OLDUPDATE= D R0,=A(24*60) mumbo jumbo OLDUPDATE= LA R0,1(,R1) OLDUPDATE= L R1,R1LOC(,RD) restore this OLDUPDATE= CH R0,FCBOLCD(,R8) see if has changed OLDUPDATE= BH CLOSR1 -> yup, have to update OLDUPDATE=* OLDUPDATE=CLOSD3X LH R9,FCBREFC(,R8) any new refrences to FCB besides OLDUPDATE= BXLE R9,R9,CLOSR20 this open? -> no OLDUPDATE= SPACE 2 OLDUPDATE=* Going to read and maybe write file descriptor, now OLDUPDATE= SPACE OLDUPDATE=CLOSR1 LR R6,R8 KEEP FCB LOC AROUND OLDUPDATE= SR R7,R7 THIS MARKS A ÂKEEPIT & INUSE BUFFER OLDUPDATE=%DELETE 'OPEN0614' 'OPEN0619' OLDUPDATE=%BEFORE 'OPEN0624' OLDUPDATE= BO *+6 DONT EVEN THINK ABOUT USING THIS ONE OLDUPDATE=%DELETE 'OPEN0624' OLDUPDATE=%BEFORE 'OPEN0666' OLDUPDATE=* OLDUPDATE= LH R4,FCBREFC(,R6) FIRST CHECK ADDITIONAL REFERENCES OLDUPDATE= LTR R4,R4 OLDUPDATE= BNZ CLOSR5 -> FOUND SOME FLEAS OLDUPDATE=* OLDUPDATE= CH R2,FDLCHNG(,R5) IF LAST CHANGE DATE ISN'T LATER, WE OLDUPDATE= BH CLOSR6 CAN SKIP WRITE ENTIRELY OLDUPDATE= TM FCBFLG(R6),FDCHNG UNLESS OLDUPDATE= BZ CLOSR6 FSAVEIT IN FD NOT SET OLDUPDATE=* OLDUPDATE= LA R0,LDN SKIP WRITE JUST FREE DRIVE OLDUPDATE=%DELETE 'OPEN0666' 'OPEN0675' OLDUPDATE=%BEFORE 'OPEN0689' OLDUPDATE= OI FCBFLG(R6),FDCHNG AND DON'T DO IT AGAIN OLDUPDATE=CLOSR7 MVC FCBOLCD(2,R6),FDLCHNG(R5) ANYWAY, UPDATE WHILE HERE OLDUPDATE= LA R8,0(,R8) OLDUPDATE=%DELETE 'OPEN0689' OLDUPDATE=%AFTER FILEMARK #4085 DATE=April 12, 1978 PERSON=Helffrich NAME=RWSEQ NBR=428/17 DESCR=Fix bug in D4.0 READS causing write pointer in sequential file DESCR=to not be updated properly on a backwards read. OLDUPDATE=%BEFORE 'RWSE0349' OLDUPDATE= CLC 0(4,R2),FCBSRPW(RE) check write pointer < read OLDUPDATE= BH RSSKIPCK -> yes OLDUPDATE=%DELETE 'RWSE0349' 'RWSE0350' ********** Sent April 13, 1978 ********** #4086 DATE=May 5, 1978 PERSON=Engle NAME=RCALL/ADROF SUBRS NBR=357/1 DESCR=Updates the source to agree with the object (357/2) in D4.0 by DESCR=including the entry point IADROF and zeroing the high order DESCR=byte of the value returned by ADROF (IADROF). NEWUPDATE=/B C4086 NEWUPDATE=/D LEN(72) 'RCAL0072' NEWUPDATE= ENTRY IADROF NEWUPDATE=IADROF EQU * NEWUPDATE= L 1,0(0,1) PICK UP THE ADDRESS FROM THE P LIST NEWUPDATE= LA 0,0(0,1) ZERO THE HIGH ORDER BYTE NEWUPDATE=/EN COMMENTS=The same source appears to have been distributed starting COMMENTS=with D2.0; the object changed sometime between D2.0 and COMMENTS=D3.0.