;===================================================================== ; ; SYSTEM UTILITIES ; --------------- ; ; 23-OCT-80 ; DALLAS ; ORIGINATED BY: HAL HACKNEY ; ; APPROXIMATE TIME NEEDED FOR UPDATE IS 30 MIN ; ;===================================================================== ; .ASK YESNO DO YOU WANT TO DO THIS UPDATE NOW .IFF YESNO .GOTO 900 ; ; SUMMARY OF CHANGES: ; ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ; ; DDSC -- DIRECT REPLACEMENT FOR DEC'S DSC (DISK SAVE COMPRESS). ; THIS VERSION WRITTEN IN MACRO, PROMPTS THE USER THRU ALL ; STEPS NECESSARY TO INITIALIZE THE NEW DISK, AND THEN ; CALCULATES NECESSARY PARAMETERS WHILE ALLOWING OVER-RIDES ; ON ALL CALCULATIONS. IT WILL CREATE THE NEW DISK WITH ; THE INDEX IN THE MIDDLE, PUT ALL THE DIRECTORIES THERE ; AND THEN BEGIN MOVING THE FILES. THE INDEX MAY BE SORTED ; FIRST IF USER DESIRES, OTHERWISE ALL FILES ARE MOVED IN ; THE SAME SEQUENCE AS ON THE ORIGINAL. ALL INFORMATION ; ABOUT THE FILES ARE RETAINED IN THE HEADERS. ; WORKS MUCH FASTER THAN DEC VERSION AND PRODUCES A RELIABLE ; WORKING DISK. HAS BEEN IN USE AT OUT LOCATION AND AT LEAST ; THREE OTHERS FOR ALMOST A YEAR. ; ; DSKCPY -- ANOTHER REPLACEMENT, THIS TIME FOR "PRE". PROMPTS THE ; USER THROUGH THE STEPS OF DETERMINING WHICH DISK TO COPY ; ONTO WHERE, AND ALSO READS THE LABEL OF THE OBJECT PACK ; AND ALLOWS RETENTION OF THAT LABEL OR COPYING OF THE SOURCE ; PACK. TAKES ABOUT 5 1/2 MINUTES FOR A 40,000 BLOCK RP02. ; ; BADBLK -- ONE LAST REPLACEMENT, THIS ONE FOR "BAD". THIS VERSION ; WILL FLAG BAD SECTORS EVEN WITHOUT "ERRLOG" RUNNING WHICH ; WAS A REQUIREMENT FOR DEC'S VERSION IF YOU WANTED TO KNOW ; ABOUT MARGINAL TRACKS. COMPLETELY COMPATIBLE AND TRANSPARENT ; TO THE USER AS ARE THE PREVIOUS TWO PROGRAMS. ; ; NOTE, SINCE WE ONLY HAVE ACCESS TO RP02 AND RL01 DRIVES, THESE ; ARE THE ONLY TWO THAT HAVE BEEN TESTED ON SO FAR, HOWEVER, WE ; BELIEVE THAT THEY WILL WORK WITHOUT ANY PROBLEMS ON OTHER ; DRIVES. ; ; DP0DCF -- THIS PROGRAM HAS ONE FUNCTION, THE SET THE DCF CHARACTERISTICS ; FOR DP0:. MAY BE MODIFIED TO SET THEM FOR ANY DISK DEVICE, ; BUT [DCF] IS REQUIRED FOR RUNNING ANY OF THE ABOVE PROGRAMS ; AND IS ALSO NECESSARY FOR "DSKFX" WHICH WILL BE MENTIONED LATER. ; [DCF] CAN ALSO BE ACHIEVED BY MOUNTING A PACK "FOREIGN", ; HOWEVER, THIS IS NOT POSSIBLE FOR SY0:, AND WITH THE ADVENT ; OF IAS V3.0 SYSGEN PROCEDURES AND THE AUTOMATIC MOUNT OF SY0: ; FOLLOWING BOOT-UP, ERGO DP0DCF. ; ; REDRCT -- UNDER IAS V3.0, IT IS NOT POSSIBLE TO REDIRECT LINE PRINTERS ; THAT ARE SPOOLED WITHOUT A LOT OF HASSLE, I.E. DIS-MOUNT OF SY0: ; WHICH IS NOT FEASIBLE WITH A REAL-TIME SYSTEM. "REDRCT" WILL ; PERFORM THE REDIRECT OF A PRINTER WITHOUT DIS-MOUNTING SY0:, ; AND CAN THEN DIRECT IT BACK TO THE SPOOLER AGAIN BY BEING ; PRIVILEGED AND MODIFYING THE "PUD". A TYPICAL EXAMPLE IS ; TO REDIRECT LP0 TO LP1, THEN LATER, YOU WOULD REDIRECT LP0 ; BACK TO SP0 IF THE PRINTER WAS ORIGINALLY SPOOLED. ; ; DSKID -- THIS PROGRAM SCANS THE PUD AND LISTS OUT ALL DISK DRIVES ; THAT ARE MOUNTED [DCF] AND THEIR PACK LABELS, AND CREATION DATE. ; ; DSKFX -- THIS PROGRAM IN THE HANDS OF A COMPETENT, WILL ALLOW REPAIR ; OF ANY WORD IN A FILE HEADER, AND HAS SAVED US MANY A HEAD-ACHE ; OF RECONSTRUCTING FILES SIMPLY BECAUSE WE WERE ABLE TO REPAIR ; HEADERS THAT WERE CORRUPTED FOR WHATEVER REASON. ; ; NEWFIL -- THIS PROGRAM IN USE CAN BE USEFUL FOR CREATING FILES ; OF ANY SIZE RECORD, AND ALWAYS CREATES THE FILE AS "VARIABLE".DAT;1 ; WHERE "VARIABLE" IS ENTERED AT RUN TIME. WILL CREATE IT IN ; WHATEVER UIC YOU WANT (PROVIDED YOU HAVE WRITE ACCESS TO IT) ; AND THEN WILL ZERO OUT THE WHOLE FILE. VERY USEFUL FOR SETTING ; UP AND INITIALIZING NEW FILES. ; ; CNV -- PERHAPS ONE OF OUR MOST USEFUL UTILITIES WHEN TRYING TO ; COMMUNICATE WITH SOMEONE SIGNED ONTO OUR SYSTEM THRU THE DIALUP. ; (THIS PROGRAM IS INSTALLED AS ...CNV). WHEN YOU TYPE "CNV" ; IT PROMPTS FOR A TERMINAL # AND THEN PROCEEDS TO ALLOW BOTH ; TT'S TO TYPE THEIR MESSAGES AND SEND THEM (A LINE AT A TIME) ; FOLLOWING EACH . THE PROGRAM WRITES WITH BREAKTHROUGH ; SO THAT NO CONTENTION IS EXPERIENCED. CTRL Z BY EITHER PARTY ; TERMINATES THE PROGRAM. ; ; DEMO -- THIS IS THE VERSION FROM A DECUS TAPE SOMEWHERE, BUT WITH ; CORRECTIONS AND IMPROVEMENTS. REPLACES THE DEC VERSION ; (WHAT ELSE). TRY IT. ; ; DSK.OLB, CSP.OLB, CSP2.OLB AND CSP3.OLB ; THESE ARE SUBROUTINE LIBRARIES NECESSARY FOR BUILDING THE ; PROGRAMS IN THIS PACKAGE. THERE ARE SOME DIRECT CURSOR ; ROUTINES THAT SUPPORT VT50'S, VT52, VT100 AND LSI ADM3A. ; NO DOCUMENTATION IS INCLUDED AT THIS TIME BUT COULD BE ; FURNISHED ON REQUEST (IF THE NUMBER OF REQUESTS DON'T GET ; OUT OF HAND). ALSO SOME MAG TAPE ROUTINES WHICH CONFORM ; TO ANSI STANDARDS OF LABELLING, ETC. ; ; *.MCR ; THESE ARE ALL INDIRECT MCR FILES WHICH WE USE FREQUENTLY. ; I.E. LBR.MCR WILL ALLOW YOU TO LIST A LIBRARY, INSERT OR ; DELETE A MODULE WITHOUT TRYING TO REMEMBER ALL THE SYNTAX ; NECESSARY TO DO IT. PURGE WILL DO JUST THAT TO WHATEVER ; FILE NAME YOU GIVE IT, AND WILL THEN PUT THE PROTECTION ; YOU SPECIFY AND RENAMES YOUR FILE AS VERSION 1. VERY NEAT ; AND SAVES ABOUT 50 KEYSTROKES OF TYPING. ERRLOG JUST ; RUNS ERROFF FOR YOU, INSTALLS PSE AND SYE, DUMPS THE ; ERR LOG FOR YOU AND DELETES THE FILES IN [1,6], THEN ; RE-STARTS ERRLOG FOR YOU. IF YOUR SHOP IS LIKE OURS, WE ; KEEP ALL OUR SOURCE FILES DELETE-PROTECTED AT ALL TIMES ; SO THAT SOME NUMB-SKULL DOESN'T WIPE US OUT. THE DELETE.MCR ; FILE WILL ALLOW YOU TO DELETE ONE THAT IS PROTECTED BUT ; ONLY AFTER TWO WARNINGS. ; ======================================================================== ======================================================================== ; ANSWERS TO QUESTIONS ABOUT IAS V3.0 THAT YOU MAY OR MAY ; NOT HAVE ASKED. ; ; ;Q. HOW CAN I PREVENT MESSAGES ABOUT "LPX: WAITING FOR FORMS TYPE X" ; FROM PRINTING ON CONSOLE? ; ;A. DO THE FOLLOWING: "SCI>> RED SPR... 2 TTXX" WHERE "XX" IS ; SOME UNUSED TT LINE NUMBER IN YOUR SYSTEM. IF YOU DO IT BEFORE ; THE "SAV", YOU WILL NEED ONLY DO IT ONCE, OTHERWISE YOU WILL NEED ; TO DO IT AT EACH RE-BOOT. THE "BEST" SOLUTION IS TO PUT THE ; REDIRECT IN YOUR "SYSBLD.CMD" FILE WHERE IT WILL BE DONE DURING ; SYSGEN, ELIMINATING THE NEED TO DO IT MANUALLY. ; ; ;Q. HOW CAN I LOG OFF THE "SCITERMINAL" AND THEN LOG BACK ONTO IT? ; ;A. CURRENTLY THIS IS IMPOSSIBLE BECAUSE OF THE PASSWORD IN THE ; "PDSUPF.DAT" FILE IN [1,100] FOR THE SCITERMINAL USER PROFILE. ; SOLUTION: CHANGE THE PASSWORD TO ONE YOU KNOW. THE DISTRIBUTED ; PASSWORD IS COMPOSED OF SIX NULLS WHICH IS IMPOSSIBLE TO KEY IN, ; MAKING IT IMPOSSIBLE TO LOG ONTO IT WITH THE PROPER PASSWORD. ; THE PASSWORD FOR THE SCITERMINAL ACCOUNT IS LOCATED IN THE 2ND ; (SECOND) BLOCK OF OUR DISTRIBUTED IAS SYSTEM STARTING AT ADDRESS ; OCTAL 200. (VERIFY THIS USING "DMP TI:=[1,100]PDSUPF.DAT/R5) ; THE PASSWORD FIELD STARTS AT ADDRESS OCTAL 212, IS TWO WORDS LONG, ; (6 RAD 50). TO PUT IN A NEW PASSWORD, YOU WILL HAVE TO USE "ZAP". ; ZAP [1,100]PDSUPF.DAT;1/AB ; _2:212/ 000000 ; _DDDDDD ; _2:214/ 000000 ; _DDDDDD ; _X ; ; WHERE DDDDDD ARE THE OCTAL DIGITS OF THE NUMERIC VALUE OF YOUR ; PASSWORD. TO COMPUTE THE NUMERIC VALUE OF YOUR NEW PASSWORD, ; CHEAT!! PUT THE PASSWORD YOU WANT IN ANOTHER ACCOUNT (SET UP A ; NEW ONE IF YOU HAVE TO) WHICH YOU CAN THEN LOOK AT WITH THE ; DMP PROCEDURE NOTED ABOVE. THEN USING ZAP, COPY YOUR PASSWORD ; INTO THE SCITERMINAL ACCOUNT LOCATIONS AND PRESTO!, YOU CAN ; NOW LOG OFF AND ONTO THE SCITERMINAL ACCOUNT. BY WAY OF ; ADDITIONAL EXPALNATION AS TO WHY THE PASSWORD DOESN'T PRINT ; IN NORMAL CHARACTERS WHEN YOU DUMP THE REST OF THE ACCOUNT ; INFO IN RAD50, IT'S BECAUSE THE PASSWORD IS ACTUALL IN RAD50 ; TWO'S COMPLEMENT. ; ; ;Q. HOW CAN I REDIRECT MY LINE PRINTERS DYNAMICALLY (WITHOUT DISMOUNTING ; MY DISK DRIVES)? ; ;A. CURRENTLY IF YOU TRY TO REDIRECT A LINE PRINTER THAT IS SPOOLED, ; THE SYSTEM WILL NOT PERMIT WITH THE ADMONITION THAT THE SOURCE ; OR ITS REDIRECT IS MOUNTED. ; SOLUTION: USE THE MACRO (PRIVILEGED) PROGRAM "REDRCT". IT ; WILL REQUEST YOU TO ENTER THE DEVICE TO BE REDIRECTED, (4 CHARACTERS) ; AND THEN WHERE IT IS TO BE REDIRECTED TO, IE. LP00 TO LP01. ; TYPICAL SITUATION: PRIMARY LINE PRINTER GOES DOWN, BACK UP ; PRINTER IS TO BE USED. CONFIGURATION IS LP0 AND LP1 WITH BOTH ; SPOOLED. ; SCI>> RUN [X,X]REDRCT ; 00:00:00 ; ENTER DEVICE TO BE REDIRECTED LP00 ; ENTER DEVICE TO REDIRECT IT TO LP01 ; ; ALL PRINTOUT WILL NOW COME OUT ON LP1:. ; * NOTE, BOTH PRINTERS MUST BE SET TO "OPR LPX:/CHG" WHILE DOING ; THIS REDIRECT. TO GET ANYTHING IN QUEUE TO PRINT OUT ON LP1 THAT ; WAS IN IT BEFORE REDIRECT, USE "QUE LP1:/MO:X:...:Y" WHERE ; X AND Y ARE THE SEQUENCE NUMBERS IN THE QUEUE. ; ** WHEN REDIRECTING BACK , BE SURE TO FOLLOW THE SAME SEQUENCE ; AND REDIRECT LP00 BACK TO SP00, NOT ITSELF. REMEMBER, IT IS SPOOLED. ; YOU CAN CHECK THIS OUT BY DOING A "SYS /DEV". ; ======================================================================== ;======================================================================== ; ; ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ; .ASKS SGP ENTER SYSTEM GROUP NUMBER THESE UTILITIES ARE LOCATED IN .ASKS SON ENTER SYSTEM OWNER THESE UTILITIES ARE LOCATED IN .ASKS DEV SPECIFY DEVICE WHERE SOURCE IS TO RESIDE I.E. DL, DK ETC. .ASKS[0:7] DRV SPECIFY DRIVE NUMBER ; .ASK YESNO DO YOU NEED UFD'S [27,1] AND [27,3] ON YOUR SYSTEM .ENABLE SUBSTITUTION .IFF YESNO .GOTO 15 ; .IFNINS UFD INS [11,1]UFD UFD SY0:[27,1] UFD 'DEV''DRV':[27,3] ; .15: ; ; ; DDSC ; SET /UIC=[27,3] PIP [27,1]/NV/CO=['SGP','SON']DDSC.TSK;001 SET /UIC=[1,1] PIP ['SGP','SON']DDSC.TSK;001/DE PIP [27,1]DDSC.TSK;*/PR/SY:RWE/OW:RWE PIP 'DEV''DRV':[27,3]/NV/FO=['SGP','SON']DDSC.*;001 PIP 'DEV''DRV':[27,3]DDSC.*;*/PR/SY:RWE/OW:RWE ; ; ; ; DSK ; SET /UIC=[1,1] PIP [27,1]/NV/FO=['SGP','SON']DSK.OLB;001 PIP [27,1]DSK.OLB;*/PR/SY:RWE/OW:RWE/GR:RWE/WO:R ; ; ; DSKCPY ; SET /UIC=[27,3] PIP [27,1]/NV/CO=['SGP','SON']DSKCPY.TSK;001 SET /UIC=[1,1] PIP ['SGP','SON']DSKCPY.TSK;001/DE PIP [27,1]DSKCPY.TSK;*/PR/SY:RWE/OW:RWE PIP 'DEV''DRV':[27,3]/NV/FO=['SGP','SON']DSKCPY.*;001 PIP 'DEV''DRV':[27,3]DSKCPY.*;*/PR/SY:RWE/OW:RWE ; ; ; ; BADBLK ; SET /UIC=[27,3] PIP [27,1]/NV/CO=['SGP','SON']BADBLK.TSK;001 SET /UIC=[1,1] PIP ['SGP','SON']BADBLK.TSK;001/DE PIP [27,1]BADBLK.TSK;*/PR/SY:RWE/OW:RWE PIP 'DEV''DRV':[27,3]/NV/FO=['SGP','SON']BADBLK.*;001 PIP 'DEV''DRV':[27,3]BADBLK.*;*/PR/SY:RWE/OW:RWE ; ; ; ; DSKLST ; SET /UIC=[27,3] PIP [27,1]/NV/CO=['SGP','SON']DSKLST.TSK;001 SET /UIC=[1,1] PIP ['SGP','SON']DSKLST.TSK;001/DE PIP [27,1]DSKLST.TSK;*/PR/SY:RWE/OW:RWE PIP 'DEV''DRV':[27,3]/NV/FO=['SGP','SON']DSKLST.*;001 PIP 'DEV''DRV':[27,3]DSKLST.*;*/PR/SY:RWE/OW:RWE ; ; ; ; REDRCT ; SET /UIC=[27,3] PIP [27,1]/NV/CO=['SGP','SON']REDRCT.TSK;001 SET /UIC=[1,1] PIP ['SGP','SON']REDRCT.TSK;001/DE PIP [27,1]REDRCT.TSK;*/PR/SY:RWE/OW:RWE PIP 'DEV''DRV':[27,3]/NV/FO=['SGP','SON']REDRCT.*;001 PIP 'DEV''DRV':[27,3]REDRCT.*;*/PR/SY:RWE/OW:RWE ; ; ; ; DSKFX ; SET /UIC=[27,3] PIP [27,1]/NV/CO=['SGP','SON']DSKFX.TSK;001 SET /UIC=[1,1] PIP ['SGP','SON']DSKFX.TSK;001/DE PIP [27,1]DSKFX.TSK;*/PR/SY:RWE/OW:RWE PIP 'DEV''DRV':[27,3]/NV/FO=['SGP','SON']DSKFX.*;001 PIP 'DEV''DRV':[27,3]DSKFX.*;*/PR/SY:RWE/OW:RWE ; ; ; ; DSKID ; SET /UIC=[27,3] PIP [27,1]/NV/CO=['SGP','SON']DSKID.TSK;001 SET /UIC=[1,1] PIP ['SGP','SON']DSKID.TSK;001/DE PIP [27,1]DSKID.TSK;*/PR/SY:RWE/OW:RWE PIP 'DEV''DRV':[27,3]/NV/FO=['SGP','SON']DSKID.*;001 PIP 'DEV''DRV':[27,3]DSKID.*;*/PR/SY:RWE/OW:RWE ; ; ; ; NEWFIL ; SET /UIC=[27,3] PIP [27,1]/NV/CO=['SGP','SON']NEWFIL.TSK;001 SET /UIC=[1,1] PIP ['SGP','SON']NEWFIL.TSK;001/DE PIP [27,1]NEWFIL.TSK;*/PR/SY:RWE/OW:RWE PIP 'DEV''DRV':[27,3]/NV/FO=['SGP','SON']NEWFIL.*;001 PIP 'DEV''DRV':[27,3]NEWFIL.*;*/PR/SY:RWE/OW:RWE ; ; ; ; DP0DCF ; SET /UIC=[27,3] PIP [27,1]/NV/CO=['SGP','SON']DP0DCF.TSK;001 SET /UIC=[1,1] PIP ['SGP','SON']DP0DCF.TSK;001/DE PIP [27,1]DP0DCF.TSK;*/PR/SY:RWE/OW:RWE PIP 'DEV''DRV':[27,3]/NV/FO=['SGP','SON']DP0DCF.*;001 PIP 'DEV''DRV':[27,3]DP0DCF.*;*/PR/SY:RWE/OW:RWE ; ; ; ; CNV ; SET /UIC=[27,3] PIP [27,1]/NV/CO=['SGP','SON']CNV.TSK;001 SET /UIC=[1,1] PIP ['SGP','SON']CNV.TSK;001/DE PIP [27,1]CNV.TSK;*/PR/SY:RWE/OW:RWE PIP 'DEV''DRV':[27,3]/NV/FO=['SGP','SON']CNV.*;001 PIP 'DEV''DRV':[27,3]CNV.*;*/PR/SY:RWE/OW:RWE ; ; ; ; DEMO ; SET /UIC=[27,3] PIP [27,1]/NV/CO=['SGP','SON']DEMO.TSK;001 SET /UIC=[1,1] PIP ['SGP','SON']DEMO.TSK;001/DE PIP [27,1]DEMO.TSK;*/PR/SY:RWE/OW:RWE PIP 'DEV''DRV':[27,3]/NV/FO=['SGP','SON']DEMO.*;001 PIP 'DEV''DRV':[27,3]DEMO.*;*/PR/SY:RWE/OW:RWE ; ; ; "SPECIAL" INDIRECT MCR COMMAND FILES ; PIP [1,1]/NV/FO=['SGP','SON']DELETE.MCR,PURGE,LBR,ERRLOG,MAINT,EDIFLX ; ; .ASK YESNO DO YOU WANT TO DELETE EVERYTHING IN ['SGP','SON'] .IFF YESNO .GOTO 900 ; NOW CLEAN UP ['SGP','SON'] ; PIP ['SGP','SON']*.*;001/DE ; .900: /