IDENT 1IS,IOS PERIPH BASE M SST SYSCOM TITLE 1IS - INSTALL DEADSTART FILE. *COMMENT 1IS - INSTALL DEADSTART FILE. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992. SPACE 4,10 ***** 1IS - INSTALL DEADSTART FILE. * * P. D. HAAS. 78/03/16. * D. R. HILGREN. 78/08/01. SPACE 4,10 *** *1IS* WORKS IN CONJUNCTION WITH THE CP ROUTINE * *INSTALL* TO INSTALL THE RUNNING SYSTEM OR USER * SPECIFIED DEADSTART FILE ON A RMS DEADSTART DEVICE. SPACE 4,10 *** CALL. * *T 18/ *1IS* ,6/0,12/ CODE ,12/ SFA ,12/ IFA * * CODE = FUNCTION CODE. * SFA = SDF FET FWA (IF PRESENT). * IFA = INSTALL FILE FET FWA (IF PRESENT). * * * FOR FUNCTION CODE *IDF*, *T,FET+5 48/0,12/ EQ * * EQ = EST ORDINAL SPECIFIED ON *INSTALL*. * * * FOR FUNCTION CODE *CFI*, *T,FET+5 24/ R1 ,12/0,24/ R2 * * R1 = RANDOM SECTOR ADDRESS OF *OSB*. * R2 = RELATIVE SECTOR ADDRESS OF EOI. SPACE 4,10 *** DAYFILE MESSAGES. * * * ASSIGNED FILE CONFLICT - SDF.* - A LOCAL FILE NAMED *SDF* * IS ASSIGNED AT THE CONTROL POINT. *SDF* IS A RESERVED FILE * NAME. * * * INCORRECT SDF DEVICE.* - THE EQUIPMENT SELECTED TO RECEIVE * A DEADSTART FILE DOES NOT MEET THE REQUIREMENTS OF AN *RMS* * DEADSTART DEVICE. * * * INSTALL FILE NOT FOUND.* - THE FILE TO BE INSTALLED AS A * DEADSTART FILE WAS NOT FOUND (NOT ASSIGNED TO THE JOB CONTROL * POINT). * * * INSTALL FILE NOT MASS STORAGE.* - THE FILE TO BE INSTALLED * AS A DEADSTART FILE DOES NOT RESIDE ON MASS STORAGE. * * * MS ERROR ON DEADSTART FILE.* - A MASS STORAGE ERROR WAS * ENCOUNTERED WHILE WRITING THE DEADSTART FILE, OR READING * THE DEADSTART SECTOR. * * * TRACK LIMIT ON SDF DEVICE.* - THE DEVICE SELECTED TO BECOME * AN *RMS* DEADSTART DEVICE DOES NOT HAVE ENOUGH SPACE TO * ACCOMMODATE THE DEADSTART FILE. * * * 1IS - INCORRECT REQUEST.* - 1IS WAS CALLED WITH AN * INCORRECT FUNCTION REQUEST. * * * INSTALL ABORTED.* - OPERATOR ACTION ABORTED JOB. SPACE 4,10 *** OPERATOR MESSAGES. * * *WAITING - GLOBAL INTERLOCK.* - GLOBAL INTERLOCK IS NOT * AVAILABLE FOR DEADSTART FILE INSTALLATION. *1IS* ISSUES * MESSAGE AND GOES ON RECALL. SPACE 4,10 ** ROUTINES USED. * * 0BF - BEGIN FILE. * 0PI - PRESET DRIVER TO READ/WRITE DEADSTART SECTOR. SPACE 4,10 *CALL COMPMAC *CALL COMSCPS *CALL COMSDSL *CALL COMSLFD *CALL COMSMSP *CALL COMSMST *CALL COMSPIM *CALL COMSPRD *CALL COMSSSJ *CALL COMSWEI SPACE 4,10 **** DIRECT LOCATION ASSIGNMENTS. FS EQU 20 - 24 FST ENTRY (5 LOCATIONS) RI EQU 25 - 26 RANDOM INDEX (2 LOCATIONS) MS EQU 27 MST POINTER CN EQU 30 - 34 CM WORD BUFFER (5 LOCATIONS) TC EQU 35 TRACK COUNT CT EQU 36 CURRENT TRACK FN EQU 40 - 44 FNT ENTRY (5 LOCATIONS) EQ EQU 45 EST ORDINAL PA EQU 46 PROCESSOR ADDRESS FA EQU 57 FST ADDRESS WB EQU 63 - 67 CM WORD BUFFER (5 LOCATIONS) **** TITLE MACRO DEFINITIONS. SPACE 4,10 ** ERROR - ERROR MACRO. * * ERROR A * * *A* = ADDRESS OF ERROR MESSAGE. PURGMAC ERROR ERROR MACRO A LDC A RJM ABT ENDM TITLE MAIN PROGRAM. IOS SPACE 4,10 ** 1IS - MAIN PROGRAM. ORG PPFW IOS RJM CRQ CHECK REQUEST LDM TFCN-1,IR+2 SET PROCESSOR ADDRESS STD PA RJM 0,PA EXECUTE PROCESSOR LDN 1 SET REQUEST COMPLETE STD IR+4 LDD RA STORE REQUEST COMPLETE SHN 6 ADN ARGR CWD IR MONITOR DPPM DROP PP LJM PPR EXIT TO PP RESIDENT SPACE 4,10 TFCN BSS 0 TABLE OF FUNCTION REQUESTS LOC 1 CON VIF VALIDATE INSTALL FILE CON IDF INITIALIZE DEADSTART FILE CON CFI COMPLETE SDF INSTALLATION CON PME PROCESS MASS STORAGE ERROR TFCNL BSS 0 TABLE LENGTH LOC *O TITLE ERROR PROCESSOR / MESSAGES. ABT SPACE 4,10 ** ABT - ERROR PROCESSOR. * * ENTRY (A) = ADDRESS OF ERROR MESSAGE. * * EXIT TO *PPR*. * ERROR MESSAGE ISSUED. * CONTROL POINT ABORTED. * * CALLS DFM. * * MACROS MONITOR. ABT CON 0 ENTRY RJM DFM ISSUE MESSAGE MONITOR ABTM ABORT CONTROL POINT LJM PPR EXIT TO PP RESIDENT SPACE 4,10 * ERROR MESSAGES. EILR DATA C* 1IS - INCORRECT REQUEST.* EISD DATA C* INCORRECT SDF DEVICE.* EAFC DATA C* ASSIGNED FILE CONFLICT - SDF.* EFNF DATA C* INSTALL FILE NOT FOUND.* EFNM DATA C* INSTALL FILE NOT MASS STORAGE.* EMSE DATA C* MS ERROR ON DEADSTART FILE.* ETKL DATA C* TRACK LIMIT ON SDF DEVICE.* EABT DATA C* INSTALL ABORTED.* TITLE FUNCTION PROCESSORS. VIF SPACE 4,10 ** VIF - VALIDATE INSTALL FILE (FUNCTION 1). VIF SUBR ENTRY/EXIT LDD RA GET INSTALL FILE NAME FROM FET SHN 6 ADD IR+4 CRD FN ADN 4 READ LIMIT WORD CRD CN RJM SAF SEARCH FOR ASSIGNED FILE NJN VIF1 IF INSTALL FILE FOUND ERROR EFNF * INSTALL FILE NOT FOUND.* VIF1 STD CN SET FNT ADDRESS IN LIMIT WORD NFA CN,R READ INSTALL FILE FST INFORMATION ADN FSTL CRD FS CRD T5 SFA EST,T5 READ EST ENTRY ADK EQDE CRD CM LDD CM SHN 21-13 MJN VIF3 IF INSTALL FILE ON MASS STORAGE VIF2 ERROR EFNM * INSTALL FILE NOT MASS STORAGE.* VIF3 RJM IRA INITIALIZE RANDOM ACCESS PROCESSORS LDD FS+2 ZJN VIF2 IF NO TRACK ASSIGNED RJM SEI FIND EOI ON INSTALL FILE LDD T6 SET EOI POSITION IN FST STD FS+2 LDD T7 STD FS+3 LDN 1 STD FS+4 NFA CN,R STORE INSTALL FILE FST INFORMATION ADN FSTL CWD FS LDD RA STORE LIMIT WORD SHN 6 ADD IR+4 ADN 4 CWD CN LJM VIFX RETURN TITLE FUNCTION PROCESSORS. IDF SPACE 4,10 ** IDF - INITIALIZE DEADSTART FILE (FUNCTION 2). IDF SUBR ENTRY/EXIT LDD RA GET SDF FILE NAME FROM FET SHN 6 ADD IR+3 CRD FN ADN 4 READ LIMIT WORD CRD CN ADN 5-4 READ FET PARAMETER WORD CRD WB RJM SAF SEARCH FOR ASSIGNED FILE ZJN IDF2 IF FILE NOT FOUND NFA FA,R READ FST INFORMATION CRD CM ADN FSTL CRD FS LDD CM+4 LPN 77 LMN SSST ZJN IDF1 IF CREATED BY *1IS* REQUEST ERROR EAFC * ASSIGNED FILE CONFLICT - SDF.* IDF1 LDD FS SET EST ORDINAL STD EQ UJN IDF3 CREATED BY DEADSTART REQUEST IDF2 LDD WB+4 CREATE DEADSTART FILE FNT RJM CDF LDD EQ SET EST ORDINAL IDF3 STD T5 LDD FA SET FNT ADDRESS IN LIMIT WORD STD CN LDD RA STORE LIMIT WORD SHN 6 ADD IR+3 ADN 4 CWD CN RJM SGI SET GLOBAL INTERLOCK ZJN IDF4 IF INTERLOCK SET LJM RCL RECALL PP IDF4 LDD CN CHECK PRESENSE OF SDF LPC MGDSF ZJN IDF5 IF NO SDF ON DEVICE LDN 0 READ DEADSTART SECTOR RJM RDD LDN ZERL CLEAR SDF INDICATORS CRM BFMS+OSBP,ON LDC BFMS+WLSF REWRITE DEADSTART SECTOR RJM WMS ENDMS RELEASE CHANNEL CMSTF GDSF LDM BFMS+OSBP+5 EXTRACT FIRST TRACK OF SDF STD CM+2 SHN 0-13 ZJN IDF5 IF GARBAGE IN DEADSTART SECTOR LDD T5 LMC 4000 SET CHECKPOINT REQUEST STD CM+1 MONITOR DTKM RELEASE SDF TRACK CHAIN IDF5 RJM IRA INITIALIZE RANDOM ACCESS PROCESSORS LDD RA GET NEW DEADSTART FILE LENGTH SHN 6 ADD IR+4 READ INSTALL FET PARAMETER WORD ADN 5 CRD CN RJM DTC DETERMINE TRACK COUNT LDN ZERL REQUEST TRACK CHAIN FOR DEADSTART FILE CRD CM LDD T5 STD CM+1 LCN 1 SELECT RESERVE ALL TRACKS STD CM+4 SHN -14 STD CM+3 MONITOR RTCM LDD CM+4 SET FIRST TRACK STD T6 STD CT STD T4 ZJN IDF6 IF NO TRACKS AVAILABLE RJM SEI COUNT TRACKS IN CHAIN STD T3 SAVE TRACK COUNT SBD TC PJN IDF7 IF ENOUGH TRACKS IN CHAIN LDD T5 DROP TRACK CHAIN STD CM+1 LDD CT STD CM+2 MONITOR DTKM IDF6 RJM CFE CLEAR FNT/FST ENTRY RJM CGI CLEAR GLOBAL INTERLOCK ERROR ETKL * TRACK LIMIT ON SDF DEVICE.* IDF7 ZJN IDF9 IF EXACTLY ENOUGH TRACKS IDF8 LDD T4 SAVE CURRENT TRACK STD T6 RJM SNT SET NEXT TRACK STD T4 SOD T3 DECREMENT TRACK COUNT LMD TC NJN IDF8 IF NOT AT REQUIRED TRACK COUNT * DELINK FIRST PART OF TRACK CHAIN. STD CM+3 LDD CT SET FIRST TRACK STD CM+2 LDD T6 SET LAST TRACK TO BE DROPPED STD CM+4 LDD T5 STD CM+1 MONITOR DLKM DELINK FRONT OF TRACK CHAIN IDF9 LDD T4 SET FIRST TRACK IN FST STD FS+1 STD FS+2 SET CURRENT TRACK LDN FSMS SET FIRST SECTOR STD FS+3 LDN 1 STD FS+4 LDD EQ SET EST ORDINAL STD FS NFA FA,R STORE FST INFORMATION ADN FSTL CWD FS LJM IDFX RETURN TITLE FUNCTION PROCESSORS. CFI SPACE 4,10 ** CFI - COMPLETE SDF INSTALLATION (FUNCTION 3). CFI SUBR ENTRY/EXIT LDD RA READ SDF LIMIT WORD SHN 6 ADD IR+3 ADN 4 CRD CM SBD IR+3 READ INSTALL FILE PARAMETER WORD ADN 5-4 ADD IR+4 CRD RI (RI - RI+1) = RANDOM ADDRESS OF *OSB* LDD CM SET SDF FNT ADDRESS STD FA NFA CM,R READ FNT ENTRY CRD FN ADN FSTL CRD FS LCN LOFT-LIFT CHANGE FILE TYPE FOR SYSTEM SECTOR SHN 6 RAD FN+4 LDC BFMS+502-FTSS-1 STD T2 CFI1 LDN 0 CLEAR SYSTEM SECTOR BUFFER STM FTSS+1,T2 SOD T2 NJN CFI1 LOOP TO START OF BUFFER LDD FS SET EST ORDINAL STD T5 STD CM+1 SFA EST READ EST ENTRY ADK EQDE CRD WB LDD FS+1 SET FIRST TRACK STD CM+2 LDN SPFS PRESERVE SDF TRACK CHAIN STD CM+3 MONITOR STBM RJM IRA INITIALIZE RANDOM ACCESS PROCESSORS NFA FA,R STORE FNT ENTRY WITH FILE TYPE *LIFT* CWD FN SETMS IO,RW LDD FS+2 SET EOI TRACK STD T6 LDD FS+3 SET EOI SECTOR STD T7 RJM WEI WRITE EOI SETMS POSITION LDD FS+1 SET FIRST TRACK STD T6 RJM WSS WRITE SYSTEM SECTOR ENDMS RELEASE CHANNEL LDD T5 SET EOI IN TRT STD CM+1 LDD FS+2 LPC 3777 STD CM+2 LDD FS+3 STD CM+3 MONITOR DTKM LDD WB+4 GET ALGORITHM INDEX FROM MST SHN 3 ADN DILL CRD WB ADN DDLL-DILL GET UNIT NUMBER CRD FN LDD WB+4 SET ALGORITHM INDEX IN PARAMETER BLOCK LPN 77 LMD HN ADD SEEK FUNCTION (1 TO 1 INTERLACE) STD CN+3 LPN 77 SBN AIHT+1 PJN CFI2 IF FULL TRACK DEVICE LDD HN CHANGE SEEK FUNCTION (2 TO 1 INTERLACE) RAD CN+3 CFI2 RJM CRA CONVERT RANDOM ADDRESS OF *OSB* LDD FN+4 SET UNIT NUMBER IN MONITOR REQUEST LPN 77 STD T3 LDD T6 SET TRACK CONTAINING *OSB* STD CN+4 LDD MA CONVERT LOGICAL TO PHYSICAL ADDRESS CWD T4 MONITOR LDAM LDD MA READ PHYSICAL ADDRESS ADN 1 CRD CN-2 LDD CN+3 LPN 77 LMN AIDC NJN CFI3 IF NOT 895 DEVICE LDC 2000 SET 895 DEADSTART READ FLAG RAD CN+1 AOM CFIA ADVANCE SHIFTS IF 895 STM CFIB CFI3 AOD T7 SET ADDRESS OF *DIO* LMM SLM NJN CFI4 IF NOT TRACK SWITCH STD T7 RJM SNT SET NEXT TRACK STD T6 CFI4 LDD MA CONVERT LOGICAL TO PHYSICAL ADDRESS CWD T4 MONITOR LDAM * LDN 0 STD T7 LDD MA READ PHYSICAL ADDRESS ADN 1 CRD CM LDD CM+2 SET CYLINDER STD WB+1 LDD CM+3 PACK TRACK AND SECTOR CFIA SHN 6 * SHN 7 (IF 895) LMD CM+4 STD WB+2 RJM SNT SET NEXT TRACK STD T6 LDD MA CONVERT ADDRESS OF NEXT TRACK SWITCH CWD T4 MONITOR LDAM LDD MA READ PHYSICAL ADDRESS ADN 1 CRD CM LDD CM+2 SET CYLINDER STD WB+3 LDD CM+3 PACK TRACK AND SECTOR CFIB SHN 6 * SHN 7 (IF 895) LMD CM+4 STD WB+4 LDD FS+1 READ DEADSTART SECTOR STD WB RJM RDD LDD MA MOVE SDF PARAMETERS TO DEADSTART SECTOR CWD CN CRM BFMS+OSBP,ON CWD WB CRM BFMS+OSBP+5,ON LDC BFMS+WLSF REWRITE DEADSTART SECTOR RJM WMS ENDMS RELEASE CHANNEL RJM CFE CLEAR FNT/FST ENTRY SMSTF GDSF SET DEADSTART FILE PRESENT IN MST SMSTF LCKP SET CHECKPOINT REQUEST RJM CGI CLEAR GLOBAL INTERLOCK LJM CFIX RETURN TITLE FUNCTION PROCESSORS. PME SPACE 4,10 ** PME - PROCESS MASS STORAGE ERROR (FUNCTION 4). PME SUBR ENTRY/EXIT LDD RA SHN 6 CRD WB ADD IR+3 GET SDF LIMIT WORD ADN 4 CRD CN LDD CN SET FNT ADDRESS STD FA ZJN PME1 IF NO FNT ENTRY NFA CN,R READ FST INFORMATION ADN FSTL CRD FS RJM CFE CLEAR FNT/FST ENTRY LDD FS SET EST ORDINAL STD T5 STD CM+1 LDD FS+1 SET FIRST TRACK ZJN PME1 IF TRACK CHAIN NOT ASSIGNED STD CM+2 MONITOR DTKM DROP TRACK CHAIN RJM CGI CLEAR GLOBAL INTERLOCK PME1 LDD WB+2 CHECK ERROR CONDITION LPN 77 NJN PME2 IF NOT MASS STORAGE ERROR ERROR EMSE * MS ERROR ON DEADSTART FILE.* PME2 ERROR EABT * INSTALL ABORTED.* TITLE SUBROUTINES. CDF SPACE 4,15 ** CDF - CREATE DEADSTART FILE. * * ENTRY (A) = EST ORDINAL OF RMS DEADSTART DEVICE. * (FN - FN+3) = FILE NAME. * * EXIT (EQ) = EST ORDINAL. * (FA) = FNT ADDRESS. * * USES FS, T7, CM - CM+4. * * CALLS *0BF*. * * MACROS ERROR, EXECUTE, NFA. CDF SUBR ENTRY/EXIT STD EQ SAVE EST ORDINAL LDN ESTP CHECK EST ORDINAL CRD CM LDD EQ SBD CM+3 PJN CDF1 IF INCORRECT EQUIPMENT SPECIFIED SFA EST,EQ ADK EQDE CRD CM READ EST ENTRY LDD CM CHECK EQUIPMENT STATUS LPC 4312 LMC 4210 NJN CDF1 IF NOT ON/AVAILABLE/LDAM/MS DEVICE LDD CM+1 SHN 21-5 PJN CDF2 IF NOT A CONCURRENT CHANNEL LDD CM+2 ZJN CDF1 IF SINGLE ACCESS SHN 21-5 PJN CDF2 IF BOTH CHANNELS ARE NOT CONCURRENT CDF1 ERROR EISD * INCORRECT SDF DEVICE.* CDF2 LDD CM+3 CHECK DEVICE TYPE LMC 2RDB ZJN CDF1 IF *DB* DEVICE LDD CM+4 READ MST SHN 3 ADN ACGL CRD T7 ADN PFGL-ACGL CRD CM LDD T7 CHECK CTI PACKAGE PRESENT LPC MGCTI ZJN CDF1 IF CTI PACKAGE NOT INSTALLED LDD CM+4 CHECK DEVICE STATUS LPN 77 NJN CDF1 IF MULTI-UNIT DEVICE STM OVL-1 SELECT NO RETURN WITHOUT FILE CREATED LDN NEEQ SET NO MS ALLOCATION STD FS EXECUTE 0BF,OVL CREATE FNT/FST ENTRY LDD EQ STD FS NFA FA,R STORE FST INFORMATION ADN FSTL CWD FS LJM CDFX RETURN CFE SPACE 4,10 ** CFE - CLEAR FNT/FST ENTRY. * * ENTRY (FA) = FNT ADDRESS. * * EXIT (CM - CM+4) = 0. * FET FNT ADDRESS CLEARED. * * MACROS MONITOR. CFE SUBR ENTRY/EXIT LDN ZERL CRD CM LDD FA SET RELATIVE FNT ADDRESS STD CM+4 LDN DLFS DELETE LOCAL FNT ENTRY STD CM+1 MONITOR PLFM LDD RA CLEAR FNT ADDRESS IN FET SHN 6 ADD IR+3 ADN 4 CRD CM LDN 0 STD CM LDD RA SHN 6 ADD IR+3 ADN 4 CWD CM LDN ZERL CRD CM UJN CFEX RETURN CGI SPACE 4,10 ** CGI - CLEAR GLOBAL INTERLOCK. * * ENTRY (T5) = EST ORDINAL. * * EXIT INTERLOCK CLEARED. * ACTIVE USER COUNT DECREMENTED. * * USES CM - CM+4. * * MACROS MONITOR. CGI SUBR ENTRY/EXIT LDD T5 STD CM+1 LDN CIIS CLEAR INSTALL INTERLOCK STD CM+3 MONITOR STBM LDC 0 CGIA EQU *-1 NJN CGIX IF USER COUNT NOT INCREMENTED LDD T5 STD CM+1 LDN DUCS DECREMENT ACTIVE USER COUNT STD CM+3 MONITOR SMDM UJN CGIX RETURN DTC SPACE 4,10 ** DTC - DETERMINE TRACK COUNT. * * ENTRY (SLM) = SECTOR LIMIT. * (CN+3 - CN+4) = FILE LENGTH IN SECTORS. * * EXIT (TC) = TRACK COUNT. DTC SUBR ENTRY/EXIT LDN 0 INITIALIZE COUNTER STD TC DTC1 AOD TC ADVANCE TRACK COUNT LDD CN+4 DECREMENT SECTOR COUNT SBM SLM STD CN+4 PJN DTC1 IF NO UNDERFLOW AOD CN+4 SOD CN+3 PJN DTC1 IF COUNT NOT COMPLETE UJN DTCX RETURN RCL SPACE 4,10 ** RCL - RECALL PP. * * EXIT TO *PPR*. * * USES CM - CM+4. * * MACROS MONITOR. RCL BSS 0 LDD CP STORE CONTROL POINT MESSAGE ADN MS2W CWM RCLA,TR LDN ZERL CRD CM LDD MA STORE PP RECALL REQUEST CWD IR MONITOR RECM LJM PPR EXIT TO PP RESIDENT RCLA DATA C*$WAITING - GLOBAL INTERLOCK.* RDD SPACE 4,10 ** RDD - READ DEADSTART SECTOR. * * ENTRY (A) = FIRST TRACK OF SDF. * (T5) = EST ORDINAL. * (FA) = FST ADDRESS. * * EXIT (T4) = CHANNEL (RESERVED). * (T6) = LOGICAL TRACK OF DEADSTART SECTOR. * (T7) = LOGICAL SECTOR OF DEADSTART SECTOR. * (CT) = FIRST TRACK OF SDF. * (BFMS) = DEADSTART SECTOR. * * USES CM - CM+4. * * CALLS CFE, CGI, *0PI*. * * MACROS ERROR, EXECUTE, MONITOR. RDD SUBR ENTRY/EXIT STD CT LDD T5 SET EST ORDINAL FOR *0PI* LMC 4000 OPTION TO READ DEADSTART SECTOR STM OVL-1 EXECUTE 0PI,OVL ZJN RDDX IF A VALID DEADSTART SECTOR FOUND RDD1 RJM CFE CLEAR FNT ENTRY LDD CT ZJN RDD2 IF NO TRACK CHAIN ASSIGNED STD CM+2 LDD T5 LMC 4000 SET CHECKPOINT REQUEST STD CM+1 MONITOR DTKM RELEASE SDF TRACK CHAIN RDD2 RJM CGI CLEAR GLOBAL INTERLOCK ERROR EMSE * MS ERROR ON DEADSTART FILE.* SGI SPACE 4,10 ** SGI - SET GLOBAL INTERLOCK. * * ENTRY (T5) = EST ORDINAL. * * EXIT (A) = 0 IF INTERLOCK SET. * (MP) = MST POINTER. * (CN - CN+4) = ACGL WORD OF MST. * * USES CM - CM+4, WB - WB+4. * * CALLS CGI. * * MACROS MONITOR. SGI SUBR ENTRY/EXIT LDD T5 READ EST ENTRY STD CM+1 SFA EST ADK EQDE CRD WB LDD WB+4 SET MST POINTER STD MS SHN 3 READ MST STATUS WORD ADN STLL CRD WB LDD WB CHECK DEVICE STATUS LPN MLUNL NJN SGIX IF UNLOAD REQUESTED LDN SIIS SET INSTALL INTERLOCK STD CM+3 MONITOR STBM LDD CM+1 LPC 200 NJN SGIX IF OS INSTALLATION IN PROGRESS LDD T5 STD CM+1 LDN IUCS STD CM+3 MONITOR SMDM LDD CM+1 STM CGIA NJN SGI1 IF USER COUNT NOT INCREMENTED LDD MS SHN 3 ADN STLL CRD WB SBN STLL-ACGL FETCH DEADSTART FILE STATUS CRD CN LDD WB CHECK FOR UNLOAD NOW REQUESTED LPN MLUNL ZJN SGI2 IF NOT LOCAL UNLOAD REQUEST SGI1 RJM CGI LDN 1 SGI2 LJM SGIX RETURN WMS SPACE 4,15 ** WMS - WRITE MASS STORAGE. * * ENTRY (A) = BUFFER ADDRESS. * (CT) = FIRST TRACK OF SDF. * (T5 - T7) = MASS STORAGE PARAMETERS. * DRIVER PRESET. * * ERROR TO *RDD1* IF MASS STORAGE ERROR. * * USES T3, CM - CM+4. * * CALLS WDS. * * MACROS PAUSE. WMS3 LDD CP FETCH CONTROL POINT STATUS WORD ADN STSW CRD CM LDD CM+1 CHECK ERROR FLAG LMN ORET ZJN WMS2 IF OPERATOR OVERRIDE LDD T3 LMK WLSF RETRY WRITE RJM WDS MJN WMS1 IF WRITE ERRORS WMS SUBR ENTRY/EXIT STD T3 RJM WDS PJN WMSX IF WRITE COMPLETED WMS1 LPN 77 CHECK MASS STORAGE ERROR CODE LMN NRDE ZJN WMS3 IF NOT READY WMS2 LJM RDD1 ABORT SPACE 4,10 ** COMMON DECKS. *CALL COMPSAF *CALL COMPTGB *CALL COMPTLB QUAL WMS QUAL$ EQU 1 WDS EQU WMS *CALL COMPWEI *CALL COMPWSS QUAL * WEI EQU /WMS/WEI WSS EQU /WMS/WSS IRA$ EQU 1 RANDOM ACCESS PROCESSORS INITIALIZED *CALL COMPCRA *CALL COMPSEI *CALL COMPSNT *CALL COMPIRA SPACE 4,10 OVL EQU *+1 LOAD ADDRESS FOR ZERO LEVEL OVERLAYS ERRPL OVL-BFMS OVERFLOW INTO SYSTEM SECTOR BUFFER CRQ SPACE 4,10 ** CRQ - CHECK REQUEST. * * ENTRY (IR+2) = FUNCTION REQUEST. * * USES CN - CN+4, FS - FS+4. * * MACROS ERROR. CRQ SUBR ENTRY/EXIT LDD IR+2 ZJN CRQ1 IF INCORRECT FUNCTION CODE SBN TFCNL PJN CRQ1 IF INCORRECT FUNCTION CODE LDD CP CHECK CP PARAMETERS ADK SEPW CRD CN ADK JSCW-SEPW READ SECURITY WORD CRD FS LDD CN CHECK CALLING ROUTINE LPN 4 ZJN CRQ1 IF NOT CALLED BY SPECIAL SYSTEM JOB LDD CN+3 LPN 37 ADD CN+4 ZJN CRQ1 IF NO SSJ PARAMETER BLOCK LDK SSML READ SYSTEM SECURITY STATUS CRD CN LDD CN LPN 7 ZJN CRQX IF UNSECURED SYSTEM LDD FS SHN 21-13 MJN CRQX IF SECURITY ADMINISTRATOR CRQ1 ERROR EILR * 1IS - INCORRECT REQUEST.* END