cdc:nos2.source:opl871:ims
Table of Contents
IMS
Table Of Contents
- [00007] IMS - INITIALIZE MASS STORAGE.
- [00009] INITIALIZE MASS STORAGE.
- [00255] MACRO DEFINITIONS.
- [00257] ENTRY - DEFINE OVERLAY ENTRY POINT.
- [00275] FCN - DEFINE FUNCTION PROCESSOR.
- [00293] OVERLAY - DEFINE SECONDARY OVERLAY(S).
- [00336] MAIN PROGRAM.
- [00338] MAIN PROGRAM.
- [00352] RESIDENT SUBROUTINES.
- [00354] CLI - CLEAR INTERLOCKS.
- [00372] RDS - READ SECTOR.
- [00396] WDS - WRITE SECTOR.
- [00424] ABT - ABORT OPERATION.
- [00452] MSI - ISSUE *MSI* REQUEST.
- [00478] CKC - CALL *1CK* TO PROCESS CHECKPOINT.
- [00504] CAT - CALCULATE ADDRESS OF TRT.
- [00522] CDE - COMPARE DAT ENTRY.
- [00544] CQF - CHECK FOR QUEUED FILES.
- [00605] CST - CHECK SPECIAL TRACKS.
- [00656] CTB - CHECK TRACK BITS.
- [00693] FBT - FLAW BLOCK OF TRACKS IN TRT.
- [00736] GDS - GET DAT SECTOR.
- [00791] GLA - GET LOCAL AREA SECTOR.
- [00819] IMG - ISSUE *READING* MESSAGE.
- [00844] IPF - INITIALIZE PACK FLAWS.
- [00899] LDA - LOAD CM ADDRESS.
- [00915] RCS - RESERVE *CTI* SPACE.
- [01062] SDL - SET DIT LOCATION.
- [01091] SDT - SEARCH DAT TABLES.
- [01159] SLI - SET LOCAL UTILITY INTERLOCK.
- [01177] SME - SET MASS STORAGE EQUIPMENT.
- [01231] TSME - TABLE OF MESSAGES REQUIRING EQUIPMENT MNEMONICS AND
- [01252] STB - SET TRACK BIT.
- [01276] STI - SET TRACK INTERLOCK.
- [01310] STM - SET TRACK NUMBER IN MESSAGE.
- [01334] TED - TRANSFER DAT ENVIRONMENT DATA.
- [01365] TRT - UPDATE TRT.
- [01387] UDA - UPDATE DAT ENTRY.
- [01455] UEC - UPDATE EXTENDED MEMORY MST DATA.
- [01555] RESIDENT PROCESSORS.
- [01645] DFT - DROP AND FLAW TRACK.
- [01691] IAM - ISSUE ACCOUNTING MESSAGE.
- [01776] RCC - RESERVE CATALOG CHAIN.
- [01836] RPC - RELEASE PERMANENT FILE CHAINS.
- [01899] RPT - RESERVE PRESERVED FILE TRACK.
- [01963] SMD - SET MASS STORAGE DEVICE.
- [02065] PRESET.
- [02067] PRS - PRESET PROGRAM.
- [02178] TFCN - FUNCTION PROCESSOR TABLE.
- [02374] CCS - CHECK CHANNEL STATUS.
- [02404] CTR - CLEAR TRT AND MST.
- [02487] GAS - GET ALTERNATE LABEL SECTOR.
- [02711] PLA - PROCESS LOCAL AREAS.
- [02764] RFS - REFORMAT SECTOR.
- [02814] RRS - REREAD SYSTEM SECTOR IF TRACK INTERLOCK NOT SET.
- [03058] CRI - CHECK RECOVERY INTERLOCK.
- [03087] RCL - RECALL *IMS*.
- [03124] INT - INITIALIZE OVERLAY.
Source Code
- IMS.txt
- IDENT IMS,/IMS/IMS
- PERIPH
- BASE MIXED
- SST
- *COMMENT IMS - INITIALIZE MASS STORAGE.
- COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
- TITLE IMS - INITIALIZE MASS STORAGE.
- SPACE 4
- *** IMS - INITIALIZE MASS STORAGE.
- * S. L. BETH 73/01/31.
- * T. H. MACFARLAND. 74/04/25.
- * P. D. HAAS. 87/03/31.
- SPACE 4
- *** IMS MAY BE CALLED TO DO THE FOLLOWING
- *
- *
- * FUNCTION 1 INITIALIZE PERMANENT FILES.
- * RELEASES ALL PF TRACKS AND REALOCATES
- * THE CATALOG, PERMITS AND DATA TRACKS.
- *
- * FUNCTION 2 EDIT DIRECT ACCESS FILES.
- * RELEASES DIRECT ACCESS FILES WHICH
- * HAVE CATALOGS ON THE SPECIFIED DEVICE.
- *
- * FUNCTION 3 SET/CLEAR FLAWS ON THE EQUIPMENT.
- * PROCESS FLAW LIST AND ENTER IN TRT.
- *
- * FUNCTION 4 CHECK SHARED DEVICE STATUS.
- * CHECK IF SHARED DEVICE IS UNLOADED
- * IN OTHER MACHINES.
- *
- * FUNCTION 5 INITIALIZE LOCAL AREAS.
- * RELEASE SPACE WHICH IS PRESERVED BY
- * INACTIVE LOCAL AREAS.
- *
- * FUNCTION 6 ALTER MST DATA.
- * ENTER NEW DEVICE CHARACTERISTICS IN MST.
- *
- * FUNCTION 7 CLEAR INITIALIZE REQUESTS.
- * CLEARS ALL INITIALIZE REQUESTS ON
- * THE SPECIFIED DEVICE.
- *
- * FUNCTION 10 INITIALIZE INACTIVE DAYFILES.
- * RELEASE SPACE ON SPECIFIED INACTIVE
- * DAYFILE.
- *
- * FUNCTION 11 CLEAR CMS INTERLOCK.
- * CLEAR DATI INTERLOCK AND BYTE 2 OF MMFL.
- *
- * FUNCTION 12 SET/CLEAR DEVICE INTERLOCK ON AN
- * INDEPENDENT SHARED DEVICE.
- *
- * (THE CALLING JOB MUST HAVE SYSTEM PERMISSION)
- *
- *** CALL FORMATS
- *
- *
- * INITIALIZE 18/IMS,6/20,18/100,18/EQ
- *
- * EDIT DA FILES 18/IMS,6/20,18/200,18/PARAM
- *
- * PARAM 12/MASK,12/EQ,36/0
- *
- * SET FLAWS 18/IMS,6/20,18/300,18/PARAM
- *
- * PARAM 12/TYPE,12/0,12/EQ,12/0,12/LOGICAL TRACK
- *
- * TYPE 0 = END TABLE
- * 1 = SET FLAW
- * 2 = CLEAR FLAW
- *
- * CHECK STATUS 18/IMS,6/20,18/400,18/ADDRESS
- *
- * ADDRESS 12/EQ,48/0
- *
- * INITIALIZE LOCAL 18/IMS,6/20,18/500,18/EQUIPMENT
- *
- * UPDATE MST 18/IMS,6/20,18/600,18/LIST
- *
- * CLEAR INI REQ 18/IMS,6/20,18/700,18/EQ
- *
- ** INITIALIZE DAYFILES 18/IMS,6/20,18/100N,18/EQ
- *
- * N = 0 INITIALIZE SYSTEM DAYFILE.
- * = 1 INITIALIZE ACCOUNT FILE.
- * = 2 INITIALIZE ERRLOG FILE.
- * = 3 INITIALIZE MAINTENANCE LOG FILE.
- *
- * CLEAR INTERLOCK 18/IMS,6/20,18/1100,18/0
- *
- * INTERLOCK DEVICE 18/IMS,6/20,18/1200,18/ADDRESS
- * ADDRESS 12/EQ,47/0,1/F
- SPACE 4
- *** ENTRY CONDITIONS.
- *
- * (IR+2) = FUNCTION CODE.
- * (IR+3) = PARAMETER ADDRESS IF REQUIRED
- * (IR+4) = PARAMETER ADDRESS IF REQUIRED
- SPACE 4
- *** DAYFILE MESSAGES.
- *
- * * EQXXX, FILE ACTIVE - FILENAME.*
- *
- * * EQXXX, FILE BUSY - FILENAME.*
- *
- * * EQXXX, FLAWING INCOMPLETE.*
- *
- * * EQXXX, INITIALIZED - FILENAME.*
- *
- * * EQXXX, LABEL READ ERROR.*
- *
- * * EQXXX, LOCAL AREAS INITIALIZED.*
- *
- * * EQXXX, LOCAL AREA SECTOR RESET.*
- *
- * * EQXXX, NO INACTIVE DAYFILES FOUND.*
- *
- * * EQXXX, PF INITIALIZE COMPLETE.*
- *
- * * EQXXX, PROTECTED QUEUES IGNORED.*
- *
- * * EQXXX, TKYYYY - TRACK FLAWED BY IMS.
- *
- * * EQXXX, YY FLAWS NOT PROCESSED. (WITH LIST).*
- *
- * * EQXXX, YY TRACKS FLAWED.*
- *
- * * ERROR ON LINK DEVICE.*
- *
- * * INCORRECT IMS REQUEST.*
- *
- * * IMS ABORTED.*
- *
- * * LABEL TRACK CONFLICT.*
- SPACE 4
- *** ACCOUNT FILE MESSAGES.
- *
- * *ADDI, XXX, FFFFFFF, DD.* = EST ORDINAL XXX WITH FAMILY NAME
- * FFFFFFF AND DEVICE NUMBER DD HAS BEEN INITIALIZED.
- *
- * *ADPI, XXX, PPPPPPP, UUUUUUU.* = EST ORDINAL XXX WITH PACKNAME
- * PPPPPPP HAS BEEN INITIALIZED. IF PRESENT, UUUUUUU INDICATES
- * THAT THE PACK IS A PRIVATE PACK BELONGING TO THAT USER.
- SPACE 4
- *** ERRLOG MESSAGES.
- *
- * * EQXXX, LOCAL AREA SECTOR ERROR.*
- *
- * * EQXXX, TKYYYY, SYSTEM SECTOR ERROR.*
- *
- * * EQXXX, TKYYYY - TRACK FLAWED BY IMS.
- *
- * * EQXXX, TKYYYY - VERIFICATION ERRORS.
- *
- * * EQXXX, YY TRACKS FLAWED.*
- *
- * * EQXXX, YY FLAWS NOT PROCESSED. (WITH LIST).*
- *
- * * IMS ABORTED.*
- SPACE 4
- *** CONTROL POINT MESSAGES.
- * * EQXXX, BUSY ON MID YY.* = SHARED EST ORDINAL XXX IS NOT
- * UNLOADED ON MAINFRAME WITH MACHINE ID YY.
- *
- * * EQXXX, INTERLOCKED BY MID YY.* = INDEPENDENT SHARED EST
- * ORDINAL XXX IS INTERLOCKED FOR INITIALIZATION BY THE MAINFRAME
- * WITH MACHINE ID YY.
- *
- * *MSI ABORT.* = *MSI* ABORTED. IF THIS OCCURRED DURING THE
- * DEADSTART SEQUENCING JOB, JOB SCHEDULING WILL REMAIN DISABLED.
- *
- * *READING TRACK-XXXX* = *IMS* IS READING THE SPECIFIED TRACK.
- *
- * *WAITING - RECOVERY INTERLOCK.* = *IMS* IS WAITING FOR THE
- * DAT INTERLOCK TO BECOME FREE, TO ENSURE THAT *CMS* IS NOT
- * IN ANY OTHER MACHINE IN THE MMF COMPLEX.
- SPACE 4
- ** ROUTINES USED.
- *
- * 0PI - PRESET DRIVER TO READ/WRITE DEADSTART SECTOR.
- * 0TI - SET TRACK FLAWS IN TRT.
- * 1CK - CHECKPOINT DEVICE.
- SPACE 4
- *CALL COMPMAC
- *CALL COMSCPS
- *CALL COMSDSL
- QUAL EVENT
- *CALL COMSEVT
- QUAL *
- *CALL COMSHIO
- *CALL COMSIOQ
- *CALL COMSLSD
- *CALL COMSMMF
- *CALL COMSMSC
- *CALL COMSMSI
- *CALL COMSMSP
- *CALL COMSMST
- *CALL COMSPFM
- *CALL COMSPIM
- *CALL COMSSSD
- *CALL COMSWEI
- SPACE 4
- **** DIRECT LOCATION ASSIGNMENTS.
- T9 EQU 17 SCRATCH CELL
- CN EQU 20 - 24 CM WORD BUFFER (5 LOCATIONS)
- TI EQU 25 TEMP INDEX
- LD EQU 26 EST ORDINAL OF LINK DEVICE
- MI EQU 27 MACHINE INDEX
- ES EQU 30 - 34 EST ENTRY (5 LOCATIONS)
- LT EQU 35 LABEL TRACK
- TA EQU 36 TEMP COUNTER
- TL EQU 37 TRT LENGTH
- FN EQU 40 - 44 CM WORD BUFFER (5 WORDS).
- DI EQU 45 DAT INDEX
- BY EQU 46 BYTE COUNT
- DE EQU 47 DAT ENTRY COUNT
- AI EQU 57 ALGORITHM INDEX
- WB EQU 60 - 64 CM WORD BUFFER (5 LOCATIONS)
- PF EQU 65 PRESERVED FILE TRACK INTERLOCK STATUS
- CA EQU 66 - 67 CENTRAL BUFFER (2 LOCATIONS)
- ****
- SPACE 4,10
- * ASSEMBLY CONSTANTS.
- BUF EQU BFMS-502 ALTERNATE SECTOR BUFFER
- FPPA EQU BUF+5 FLAW PROCESSOR PARAMETER ADDRESS
- FPLA EQU FPPA+1 FLAW PROCESSOR LOAD ADDRESS
- VERC EQU 2 VERIFICATION ERROR RETRY COUNT
- SPACE 4
- * EQUATES FOR FUNCTION 6 PARAMETER BUFFER
- PMES EQU 5*0 EST ENTRY
- PMPF EQU 5*1 PFGL WORD OF MST
- PMPU EQU 5*2 PUGL WORD OF MST
- PMMD EQU 5*3 MDGL WORD OF MST
- PMNC EQU 5*4+0 NUMBER OF CATALOG TRACKS
- PMEQ EQU 5*4+1 EST ORDINAL
- PMAI EQU 5*4+2 ALGORITHM INDEX
- PMCI EQU 5*4+3 CLEAR IN USE AS CHAINED DEVICE
- PMNE EQU 5*4+4 NEXT EST ORDINAL IN CHAIN
- PMAL EQU 5*5 EQUIPMENT ALLOCATION *DDLL*
- PMRP EQU 5*6 REPLY WORD
- PMMSL EQU 7 LENGTH OF PARAMETER BLOCK
- SPACE 4
- * FUNCTION EQUATES FOR SUBROUTINE *UEC*.
- UPGA EQU 1 UPDATE GLOBAL AREA
- UPDA EQU 2 UPDATE DAT INFORMATION
- RDDA EQU 4 READ DAT INFORMATION
- TITLE MACRO DEFINITIONS.
- ENTRY SPACE 4,10
- ** ENTRY - DEFINE OVERLAY ENTRY POINT.
- *
- * NAME ENTRY
- * NAME = NAME OF ENTRY ADDRESS.
- PURGMAC ENTRY
- MACRO ENTRY,NAME
- MACREF ENTRY
- QUAL
- IF MIC,.M
- NAME EQU *+1R".M"*10000B
- ELSE 1
- NAME EQU *
- QUAL *
- ENDM
- FCN SPACE 4,10
- ** FCN - DEFINE FUNCTION PROCESSOR.
- *
- *TBLN FCN
- * FCN CODE,NAME
- *
- * ENTRY *TBLN* = TABLE NAME (FIRST ENTRY ONLY).
- * *CODE* = FUNCTION CODE.
- * *NAME* = FUNCTION PROCESSING ROUTINE NAME.
- MACRO FCN,T,C,N
- IFC EQ,*N**
- T INDEX C*2
- ELSE 2
- INDEX C*2,N-N/10000B*10000B
- CON N/10000B
- ENDM
- OVERLAY SPACE 4,10
- ** OVERLAY - DEFINE SECONDARY OVERLAY(S).
- *
- * OVERLAY (TEXT),PRS
- * ENTRY *TEXT* = TEXT OF SUBTITLE.
- * *PRS* = NAME OF OPTIONAL PRESET ROUTINE.
- .N SET 0
- OVLB MICRO 1,, 4D OVERLAY NAME
- PURGMAC OVERLAY
- OVERLAY MACRO TEXT,PRS
- MACREF OVERLAY
- QUAL
- .N SET .N+1
- .M MICRO .N,1, 0123456789
- .O MICRO 1,3, "OVLB"".M"
- QUAL IMS
- TTL IMS/".O" - TEXT
- TITLE
- IDENT ".O",OVLA TEXT
- *COMMENT IMS - TEXT
- COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
- ORG OVLA
- OV".M"_X LJM * ENTRY/EXIT
- IFC NE,*PRS**,1
- RJM PRS
- UJN OV".M"_X OVERLAY EXIT ADDRESS
- ENDM
- TBLM SPACE 4,10
- ** TBLM = GENERATE TABLE OF ALTERNATE LABEL SECTORS.
- *
- * TBLM EQ
- * EQ = MASS STORAGE EQUIPMENT MNEMONIC.
- PURGMAC TBLM
- TBLM MACRO EQ
- CON 2R_EQ,LC_EQ
- ENDM
- TITLE MAIN PROGRAM.
- IMS SPACE 4,10
- ** IMS - MAIN PROGRAM.
- QUAL IMS
- ORG PPFW
- IMS RJM PRS PRESET PROGRAM
- LDM TFCN+1,T2
- ZJN IMS1 IF PROCESSOR RESIDENT
- LMC 2L"OVLB"
- RJM EXR LOAD OVERLAY
- IMS1 LJM * PROCESS FUNCTION
- IMSA EQU *-1
- TITLE RESIDENT SUBROUTINES.
- CLI SPACE 4,10
- ** CLI - CLEAR INTERLOCKS.
- *
- * EXIT (A) = 0.
- *
- * USES T5.
- *
- * MACROS CMSTF.
- CLI SUBR ENTRY/EXIT
- LDC 0
- CLIA EQU *-1
- ZJN CLIX IF INTERLOCK NOT SET
- STD T5
- CMSTF LUAI CLEAR LOCAL UTILITY INTERLOCK
- * LDN 0
- UJN CLIX RETURN
- RDS SPACE 4,10
- ** RDS - READ SECTOR.
- *
- * ENTRY (A) = BUFFER ADDRESS.
- * (T5 - T7) = MASS STORAGE DRIVER PARAMETERS.
- *
- * EXIT (A) .LT. 0 IF MEDIA ERROR.
- *
- * ERROR TO *ABT1* IF NON-MEDIA ERROR.
- *
- * CALLS RDS.
- RDS1 LDC 1S17 RETURN WITH ERROR STATUS
- RDSA EQU *-1
- RDS SUBR ENTRY/EXIT
- RJM //RDS
- PJN RDSX IF NO ERROR
- STM RDSA
- LPN 77
- LMN PARE
- ZJN RDS1 IF MEDIA ERROR
- UJN ABT2 ABORT
- WDS SPACE 4,15
- ** WDS - WRITE SECTOR.
- *
- * ENTRY (A) = BUFFER ADDRESS.
- * (T5 - T7) = MASS STORAGE DRIVER PARAMETERS.
- *
- * EXIT (A) .LT. 0 IF MEDIA ERROR.
- * IF RECOVERED ERROR ON PREVIOUS SECTOR.
- *
- * ERROR TO *ABT1* IF NON-MEDIA ERROR.
- *
- * CALLS WDS.
- WDS1 LDC 1S17 RETURN WITH ERROR STATUS
- WDSA EQU *-1
- WDS SUBR ENTRY/EXIT
- RJM //WDS
- PJN WDSX IF NO ERROR
- STM WDSA
- SHN 21-11
- MJN WDS1 IF ERROR ON PREVIOUS SECTOR RECOVERED
- SHN 12
- LPN 77
- LMN PARE
- ZJN WDS1 IF MEDIA ERROR
- * UJN ABT2 ABORT
- ABT SPACE 4,10
- ** ABT - ABORT OPERATION.
- *
- * ENTRY (A) = ERROR MESSAGE ADDRESS.
- *
- * CALLS CLI, DFM.
- *
- * MACROS MONITOR.
- ABT2 CON 0 PASS INSTRUCTION
- ABTB EQU ABT2
- * UJN ABT1 (DEADSTART SEQUENCING JOB)
- ABT3 LDC MESM * IMS ABORTED.*
- ABT LMC ERLN ISSUE MESSAGE TO ERRLOG
- RJM DFM
- RJM CLI CLEAR INTERLOCKS
- MONITOR ABTM
- ABTA LJM PPR EXIT TO PP RESIDENT
- * LJM * (DEADSTART SEQUENCING)
- ABT1 LDD ES CHECK DEVICE TYPE
- SHN 21-10
- PJN ABT3 IF NON-REMOVABLE
- LDN PCLR
- * UJN MSI CLEAR INITIALIZE REQUEST
- MSI SPACE 4,15
- ** MSI - ISSUE *MSI* REQUEST.
- *
- * ENTRY (A) = REQUEST CODE.
- *
- * EXIT TO DPP.
- *
- * USES CM - CM+5.
- MSI STD CM+5 SET FUNCTION CODE
- LDN ZERL
- CRD CM
- LDD RA STORE *MSI* REQUEST
- SHN 6
- ADN PREQ
- CWD CM+1
- UJN DPP DROP
- DPP2 RJM IPF INITIALIZE PACK FLAWS
- DPP1 SMSTF LCKP SET EQUIPMENT CHECKPOINT
- DPP RJM CLI CLEAR INTERLOCKS
- MONITOR DPPM
- LJM PPR EXIT TO PP RESIDENT
- CKC SPACE 4,10
- ** CKC - CALL *1CK* TO PROCESS CHECKPOINT.
- *
- * ENTRY (A) = *1CK* FUNCTION CODE.
- * (T5) = EST ORDINAL TO CHECKPOINT.
- *
- * EXIT TO *1CK*.
- *
- * CALLS CLI.
- *
- * MACROS EXECUTE.
- CKC STM CKCA+2
- RJM CLI CLEAR INTERLOCKS
- LDD CP
- SHN -7 SET CONTROL POINT
- RAM CKCA+1
- LDD IA SET UP CALL TO 1CK
- CWM CKCA,ON
- EXECUTE 1CK,=
- LJM PPR RETURN TO PP RESIDENT
- CKCA VFD 18/3L1CK,6/40,36/0
- EQNO EQU CKCA+3
- CAT SPACE 4,10
- ** CAT - CALCULATE ADDRESS OF TRT.
- *
- * ENTRY (A) = ADDRESS OF *TRLL* IN MST.
- *
- * EXIT (A) = ADDRESS OF TRT.
- *
- * USES CM - CM+4.
- CAT SUBR ENTRY/EXIT
- CRD CM GET FWA OF TRT
- LDD CM+3
- LPN 77
- SHN 14
- LMD CM+4
- UJN CATX RETURN
- CCS SPACE 4,10
- CDE SPACE 4,10
- ** CDE - COMPARE DAT ENTRY.
- *
- * ENTRY (T2) = INDEX TO DAT SECTOR.
- * (FN - FN+4) = CURRENT DEVICE DESCRIPTION.
- *
- * EXIT (A) = 0 IF DUPLICATE ENTRY.
- CDE SUBR ENTRY/EXIT
- LDD FN COMPARE ENTRY
- LMM BFMS+2,T2
- NJN CDEX IF NOT DUPLICATE
- LDD FN+1
- LMM BFMS+2+1,T2
- NJN CDEX IF NOT DUPLICATE
- LDD FN+2
- LMM BFMS+2+2,T2
- NJN CDEX IF NOT DUPLICATE
- LDD FN+3
- LMM BFMS+2+3,T2
- UJN CDEX RETURN
- CQF SPACE 4,20
- ** CQF - CHECK FOR QUEUED FILES.
- *
- * ENTRY (T5) = EQUIPMENT.
- * (CN - CN+4) = TRT WORD.
- * (TL) = TRT ORDINAL.
- * (BY) = TRT BYTE NUMBER.
- * DRIVER LOADED.
- *
- * EXIT (A) = 0 IF QUEUED FILE, DAYFILE, MRT, DAT OR
- * USER EXTENDED MEMORY TRACK.
- * (T6) = TRACK NUMBER.
- *
- * USES T1, T3, T6.
- *
- * CALLS CST, IMG, RSS, STM.
- *
- * MACROS ENDMS.
- CQF5 LDN 1 SET NOT QUEUED FILE
- CQF SUBR ENTRY/EXIT
- LDD TL WORD COUNT
- SHN 2
- LMD BY BYTE COUNT
- LMC 4000
- STD T6
- RJM IMG ISSUE READING TRACK MESSAGE
- RJM CST CHECK FOR SPECIAL TRACKS
- ZJN CQF5 IF INDIRECT CHAIN OR PERMIT CHAIN
- MJN CQF2 IF IQFT TRACK OR DAT TRACK
- LDN 0
- RJM RSS READ SYSTEM SECTOR
- NJN CQF4 IF ERROR IN SYSTEM SECTOR
- ENDMS
- LDM FNSS+4
- SHN -6
- STD T1 FILE TYPE
- LMN LIFT CHECK FOR DAYFILES OR MRT
- ZJN CQF2 IF DAYFILE TRACK
- LDN RDATL
- STD T3 MAXIMUM TYPES
- CQF1 SOD T3
- MJN CQF3 IF NOT QUEUED FILE
- LDM RDAT,T3
- LMD T1
- NJN CQF1 IF NOT QUEUED
- AOM CQFA
- CQF2 LDN 0 INDICATE QUEUED FILE, DAYFILE, MRT, OR ECS
- CQF3 LJM CQFX RETURN
- CQF4 LDC MESN ISSUE SYSTEM SECTOR ERROR MESSAGE
- RJM STM
- UJN CQF2 RETURN
- CQFA CON 0 QUEUE FILE COUNT
- FILEREC GENERATE PROTECTED TYPE TABLE (RDAT)
- CST SPACE 4,10
- ** CST - CHECK SPECIAL TRACKS.
- *
- * ENTRY (T6) = TRACK.
- * (ES - ES+4) = EST ENTRY.
- * (LD) = LINK DEVICE EST ORDINAL.
- *
- * EXIT (A) = 0 IF MATCH ON SPECIAL PF TRACKS.
- * (A) .LT. 0 IF *IQFT*, DAT OR EXTENDED MEMORY TRACK.
- CST SUBR ENTRY/EXIT
- LDD ES+4 CHECK FOR PRESET NEEDED
- LMC 7777
- CSTB EQU *-1
- ZJN CST1 IF NO PRESET NEEDED
- LDD ES+4
- STM CSTB
- SHN 3
- ADN ACGL
- CRM CSTA+4,ON
- ADN ALGL-ACGL-1
- CRM CSTA,ON
- CST1 LDD T6 CHECK FOR IAF TRACK
- LMM CSTA
- ZJN CSTX IF IAF TRACK
- LDD T6
- LMM CSTA+1
- ZJN CSTX IF LABEL TRACK
- LDD T6
- LMM CSTA+2
- ZJN CSTX IF PERMITS TRACK
- LDD T6
- LMM CSTA+4+3
- ZJN CST3 IF MATCH ON IQFT FILE
- LDD T6 CHECK FOR USER EXTENDED MEMORY TRACKS
- LMM CSTA+4+1
- ZJN CST3 IF USER EXTENDED MEMORY CHAIN
- LDD T6 CHECK FOR DAT TRACK
- LMM CSTA+4
- NJN CST2 IF NO MATCH ON DAT TRACK
- LDD LD CHECK FOR LINK DEVICE
- ZJN CST2 IF NO LINK DEVICE
- LMD T5
- ZJN CST3 IF DAT TRACK
- CST2 LDN 2 INDICATE SPECIAL TRACKS NOT FOUND
- CST3 SBN 1 INDICATE *IQFT*, DAT OR ECS TRACK FOUND
- LJM CSTX RETURN
- CSTA BSSZ 5+4
- CTB SPACE 4,15
- ** CTB - CHECK TRACK BITS.
- *
- * ENTRY (A) = TRACK NUMBER.
- * (ES+4) = MST POINTER.
- *
- * EXIT (A) = (CM+4) = RESERVATION FLAG IN BIT 3.
- * = PRESERVED FILE FLAG IN BIT 13.
- * (T1) = TRT WORD INDEX.
- * (T2) = TRT WORD NUMBER.
- * (T6) = TRACK NUMBER.
- *
- * USES CM - CM+4.
- *
- * CALLS CAT.
- CTB SUBR ENTRY/EXIT
- STD T6
- LPC 3777 SET TRT WORD NUMBER
- SHN 21-1
- STD T2
- SHN 1-21 SET TRT WORD INDEX
- STD T1
- LMC SHNI+0
- STM CTBA
- LDD ES+4 READ TRT WORD
- SHN 3
- ADN TRLL
- RJM CAT CALCULATE FWA OF TRT
- ADD T2
- CRD CM
- LDD CM+4 SET TRACK BITS
- CTBA SHN 0
- LPC 4010
- STD CM+4
- UJN CTBX RETURN
- FBT SPACE 4,10
- ** FBT - FLAW BLOCK OF TRACKS IN TRT.
- *
- * ENTRY (T3) = STARTING TRACK NUMBER (TRACK BIT NOT SET).
- * (TL) = ENDING TRACK NUMBER + 1 (TRACK BIT NOT SET).
- * (T5) = EST ORDINAL.
- * (ES - ES+4) = *EQDE* WORD OF EST ENTRY.
- *
- * EXIT (A) = 0 IF TRACK FLAWED.
- *
- * USES T1, CM - CM+4.
- *
- * CALLS CAT.
- *
- * MACROS MONITOR.
- FBT SUBR ENTRY/EXIT
- FBT1 LDD T3 UNPACK TRACK
- SHN 21-1 SET TRT WORD INDEX
- STD T0
- SHN 1-21 SET BYTE INDEX
- STD T1
- LDD ES+4 READ TRT WORD
- SHN 3
- ADN TRLL
- RJM CAT CALCULATE FWA OF TRT
- ADD T0
- CRD CM
- LDM CM,T1 CHECK TRACK
- LMC 3777
- ZJN FBT2 IF TRACK ALREADY FLAWED
- LDD T5 FLAW TRACK IN TRT
- STD CM+1
- LDD T3
- STD CM+2
- LDN STFS
- STD CM+3
- MONITOR STBM
- FBT2 AOD T3 ADVANCE TRACK NUMBER
- LMD TL
- NJN FBT1 IF NOT END OF TRACKS TO FLAW
- UJN FBTX RETURN
- GDS SPACE 4,15
- ** GDS - GET DAT SECTOR.
- *
- * ENTRY (ES - ES+4) = EST ENTRY.
- * (LD) = LINK DEVICE EST ORDINAL.
- *
- * EXIT DAT SECTOR AT BFMS.
- * (TI) = INDEX TO DAT ENTRY.
- * (A) = 0 IF DEVICE NOT DEFINED IN DAT.
- *
- * USES TI, T5 - T7, CM - CM+4, FN - FN+4.
- *
- * CALLS ABT, RDS.
- *
- * MACROS ENDMS, SETMS.
- GDS SUBR ENTRY/EXIT
- LDD LD SET EQUIPMENT
- STD T5
- SETMS IO
- LDD CM+4 GET DAT POINTERS
- SHN 3
- ADN ALGL
- CRD CM
- LDD ES+4 READ DAT INDEX
- SHN 3
- ADN MDGL
- CRD FN
- LDD CM+4 SET DAT TRACK
- STD T6
- LDM EQNO
- LMD LD
- ZJN GDS1 IF LINK DEVICE
- LDD FN SET DAT SECTOR
- LPC 377
- ZJN GDSX IF NO DAT INDEX
- SHN 21-4
- GDS1 STD T7
- SHN -14 SET DAT SECTOR INDEX
- STD TI
- SHN 2
- RAD TI INDEX*5
- LDC BFMS READ SECTOR
- RJM RDS
- PJN GDS3 IF NO ERRORS
- GDS2 LDC GDSA
- LJM ABT ABORT *IMS*
- GDS3 ENDMS
- LDN 1
- LJM GDSX RETURN
- GDSA DATA C* ERROR ON LINK DEVICE.*
- GLA SPACE 4,15
- ** GLA - GET LOCAL AREA SECTOR.
- *
- * ENTRY (IR+4) = EST ORDINAL.
- *
- * EXIT (A) = RETURN FROM *COMPRLA*.
- * LOCAL UTILITY INTERLOCK SET.
- *
- * EREXIT TO *ABT* IF READ ERRORS.
- *
- * CALLS RLA, SLI, SME.
- GLA1 STM BFMS+1 CLEAR SECTOR WORD COUNT
- GLA SUBR ENTRY/EXIT
- LDD IR+4 SET MASS STORAGE EQUIPMENT
- RJM SME
- RJM SLI SET LOCAL UTILITY INTERLOCK
- RJM RLA READ SECTOR OF LOCAL AREAS
- PJN GLAX IF NO READ ERRORS
- LDM BFMS
- ZJN GLA1 IF SECTOR NOT REFORMATTED
- LDC GLAA * EQXXX, LOCAL AREA SECTOR ERROR.*
- LJM ABT ABORT
- GLAA DATA C* EQXXX, LOCAL AREA SECTOR ERROR.*
- IMG SPACE 4,10
- ** IMG - ISSUE *READING* MESSAGE.
- *
- * ENTRY (T6) = TRACK NUMBER TO ISSUE.
- *
- * EXIT MESSAGE WRITTEN TO *MS2W*.
- *
- * CALLS C2D.
- IMG SUBR
- LDD T6
- RJM C2D CONVERT LOWER
- STM IMGA+10
- LDD T6
- SHN -6
- RJM C2D CONVERT UPPER
- STM IMGA+7
- LDD CP STORE CONTROL POINT MESSAGE
- ADN MS2W
- CWM IMGA,TR
- UJN IMGX RETURN
- IMGA DATA C*READING TRACK-XXXX*
- IPF SPACE 4,10
- ** IPF - INITIALIZE PACK FLAWS.
- *
- * ENTRY (T5) = EST ORDINAL.
- * (ES - ES+4) = EST ENTRY.
- *
- * USES AI, T2, CM - CM+4, FN - FN+4.
- *
- * CALLS DFM, EXR, RCS, SDR, *0TI*, *0TJ*.
- *
- * MACROS EXECUTE.
- IPF3 LDD ES+4
- SHN 3
- ADN DDLL
- CRD CM
- LDD CM SET NUMBER OF UNITS
- LPN 7
- STD T2
- LDN PRFM SET TRACK FLAW REQUEST
- RJM SDR
- IPF SUBR ENTRY/EXIT
- IPFA LDN 0
- NJN IPFX IF PACK FLAWS ALREADY PROCESSED
- LDD ES
- SHN 21-7
- PJN IPFX IF NOT AN LDAM DEVICE
- AOM IPFA
- LDD ES+1 CHECK CONCURRENT CHANNEL FLAGS
- SHN 21-5
- PJN IPF1 IF NOT A CONCURRENT CHANNEL
- LDD ES+2
- ZJN IPF3 IF SECOND CHANNEL NOT DEFINED
- SHN 21-5
- MJN IPF3 IF BOTH CHANNELS CONCURRENT
- IPF1 LDD ES+4 FETCH THE ALGORITHM INDEX
- SHN 3
- ADN DILL
- CRD FN
- LDD T5 SET EQUIPMENT PARAMETER
- STM FPPA
- * EXECUTE FLAW PROCESSOR.
- LDD FN+4 SET ALGORITHM INDEX
- LPN 77
- STD AI
- EXECUTE 0TI,FPLA EXECUTE FLAW PROCESSOR
- ZJN IPF2 IF FLAWING COMPLETE
- LDC MESL * EQXXX, FLAWING INCOMPLETE.*
- RJM DFM
- IPF2 RJM RCS RESERVE *CTI* SPACE
- LJM IPFX RETURN
- LDA SPACE 4,10
- ** LDA - LOAD CM ADDRESS.
- *
- * ENTRY (IR+3 - IR+4) = RELATIVE ADDRESS.
- *
- * EXIT (A) = ABSOLUTE ADDRESS.
- LDA SUBR ENTRY/EXIT
- LDD IR+3
- LPN 77
- SHN 6
- ADD RA
- SHN 6
- ADD IR+4
- UJN LDAX RETURN
- RCS SPACE 4,15
- ** RCS - RESERVE *CTI* SPACE.
- *
- * ENTRY (T5) = EST ORDINAL.
- * (AI) = ALGORITHM INDEX
- * (ES - ES+4) = EST ENTRY.
- *
- * EXIT *CTI* SPACE FLAWED IN TRT.
- *
- * USES FL, TL, T3, T9, CM - CM+4, FN - FN+4.
- *
- * CALLS CTB, FBT, RDS, WDS, *0PI*.
- *
- * MACROS CMSTF, ENDMS, EXECUTE, MONITOR, SMSTF.
- RCS SUBR ENTRY/EXIT
- LDD T5 SET PARAMETER WORD
- LMC 4000
- STM FPPA
- EXECUTE 0PI,FPLA READ DEADSTART SECTOR
- NJN RCS0 IF NOT A VALID DEADSTART SECTOR
- STM RCSA PRESET FOR *CTI* PRESENT
- ENDMS
- LDM BFMS+MSLP
- NJN RCS1 IF *MSL* INSTALLED
- LDM BFMS+CDAP
- NJN RCS1 IF COMMON DISK AREA INSTALLED
- LDM BFMS+CTIP
- NJN RCS1 IF *CTI* INSTALLED
- RCS0 LDD AI
- LMN AIDR
- NJN RCSX IF NOT CDSS II
- LDC 840D FIRST CYLINDER OF AREA TO BE FLAWED
- STM RCSA INDICATE *CTI* NOT PRESENT
- RCS1 SHN 1 CONVERT CYLINDER TO LOGICAL TRACK
- STD T3
- LDD ES+4 GET DEVICE LENGTH FROM MST
- SHN 3
- ADK TDGL
- CRD TL
- ERRNZ TL+1-FN READ DESTROYS DIRECT CELLS
- ADN ACGL-TDGL FETCH DEADSTART FILE STATUS
- CRD FN
- LDD AI
- LMN AIDA
- NJN RCS2 IF NOT 33502
- LDD T3 COMPLETE CYLINDER TO TRACK CONVERSION
- SHN -1
- ADC NTDA/2
- STD T3
- UJN RCS4 FLAW TRACKS
- RCS2 LMN AIDI&AIDA
- ZJN RCS3 IF 7X54/844-21
- LMN AIDK&AIDI
- ZJN RCS3 IF 7154/844-21
- LMN AIDX&AIDK
- ZJN RCS3 IF FSC 3330-1
- LMN AIDR&AIDX
- NJN RCS4 IF NOT CDSS II
- LDD T3 INITIALIZE TRACK CALCULATION
- STD T9
- LDN 0
- STD T3
- LDC 1062 SET FLAW LIMIT FOR CDSS II
- STD TL
- RCS2.1 LCN 3 FOR THIS PURPOSE, TRACK = CYLINDER*2/3
- RAD T9
- MJN RCS5 IF CONVERSION COMPLETE
- AOD T3 INCREMENT TRACK NUMBER
- UJN RCS2.1 CONTINUE DIVISION
- RCS3 LDD T3 COMPLETE CYLINDER CONVERSION
- RAD T3
- RCS4 LDD T3
- SBD TL
- PJN RCS7 IF *CTI* BEYOND LOGICAL END OF DEVICE
- RCS5 RJM FBT FLAW BLOCK OF TRACKS
- RCS7 LDC ** ZERO IF *CTI* PRESENT
- RCSA EQU *-1
- NJP RCS9 IF *CTI* NOT PRESENT
- SMSTF GCTI SET *CTI* PRESENT FLAG
- LDD IR+2 CHECK FOR FLAW FUNCTION
- LMN 3
- ZJN RCS8 IF X.FLAW REQUEST
- CMSTF GDSF
- LDN ZERL CLEAR DEADSTART FILE INDICATOR
- CRM BFMS+OSBP,ON
- LDC BFMS+WLSF REWRITE DEADSTART SECTOR
- RJM WDS
- LDD FN
- LPC MGDSF
- ZJN RCS8 IF NO DEADSTART FILE
- LDM BFMS+OSBP+5
- RJM CTB
- ZJN RCS8 IF TRACK CHAIN RELEASED
- LDD T5
- STD CM+1
- LDD T6 DROP TRACK CHAIN
- STD CM+2
- MONITOR DTKM
- RCS8 ENDMS RELEASE CHANNEL
- RCS9 LJM RCSX RETURN
- RDT SPACE 4,10
- *** RDT - READ DIT TO BUFFER.
- *
- * ENTRY (A) = BUFFER ADDRESS.
- * (T5) = EST ORDINAL OF DEVICE.
- * (ES - ES+4) = EST ENTRY.
- *
- * ERROR TO *ABT2* IF ERROR READING LABEL (DIT) SECTOR.
- *
- * USES T1, T6, T7, CM - CM+4.
- *
- * CALLS RDS, SDL.
- *
- * MACROS ENDMS, MONITOR, SETMS.
- RDT SUBR ENTRY/EXIT
- STM RDTB SAVE BUFFER ADDRESS
- LDD ES+4 SET LABEL TRACK
- SHN 3
- ADN ALGL
- CRD CM
- LDD CM+1
- STD T6
- LDN 0
- STD T7
- SETMS IO,(DF,NS)
- LDC BFMS READ LABEL
- RJM RDS
- PJN RDT1 IF NO ERROR
- * LDC MESM
- LJM ABT2 ABORT
- RDT1 ENDMS
- LDN MISD
- STD T1
- RJM SDL
- CWM DISS,T1
- SBN MISD
- CRM **,T1 READ DIT TO BUFFER
- RDTB EQU *-1
- LJM RDTX RETURN
- SDL SPACE 4,10
- ** SDL - SET DIT LOCATION.
- *
- * ENTRY (ES - ES+4) = EST ENTRY.
- *
- * EXIT (A) = DIT ADDRESS.
- *
- * USES T2, T3, CM - CM+4.
- *
- * CALLS CAT.
- SDL SUBR ENTRY/EXIT
- LDD ES+4
- SHN 3
- ADK TDGL
- CRD CM
- LDD CM+2 SET MRT LENGTH
- STD T2
- ADN 7
- SHN -3
- STD T3
- LDD ES+4
- SHN 3
- ADN TRLL
- RJM CAT CALCULATE FWA OF TRT
- ADD T2 ADD TRT LENGTH
- ADD T3 ADD MRT LENGTH
- UJN SDLX RETURN
- SDT SPACE 4,10
- ** SDT - SEARCH DAT TABLES.
- *
- * ENTRY DAT INTERLOCK SET.
- * (ES - ES+4) = EST ENTRY.
- * (CN - CN+4) = SDGL WORD.
- * (LD) = LINK DEVICE.
- * (DI) = DAT INDEX.
- * (DE) = DAT ENTRY COUNT.
- *
- * EXIT (A) = 0 IF DUPLICATE ENTRY.
- *
- * USES T1 - T7, CM - CM+4, FN - FN+4, DC.
- *
- * CALLS CDE, RDS.
- *
- * MACROS ENDMS, SETMS.
- SDT SUBR ENTRY/EXIT
- LDD ES+4 READ DEVICE DESCRIPTION
- SHN 3
- ADN PFGL
- CRD FN
- LDD FN+4 CHECK IF 1 OF N
- LPN 70
- NJN SDTX IF NOT 1 OF N
- STD T7
- LDD LD SET LINK DEVICE
- STD T5
- SETMS IO
- LDD CM+4 GET DAT POINTER
- SHN 3
- ADN ALGL
- CRD CM
- LDD CM+4 SET DAT TRACK
- STD T6
- SDT1 LDC BFMS READ DAT SECTOR
- RJM RDS
- MJN SDT6 IF READ ERROR
- ENDMS
- * LDN 0
- STD T1
- STD T2
- SDT3 RJM CDE COMPARE ENTRIES
- ZJN SDT7 IF DUPLICATE ENTRY
- SDT4 AOM SDTA BUMP DAT INDEX
- LDN 5*2 BUMP SEARCH INDEX
- RAD T2
- SOD DE DECREMENT ENTRY COUNT
- ZJN SDT8 IF END OF ENTRIES
- LDN 2 BUMP WORD COUNT
- RAD T1
- LMD HN
- NJN SDT3 IF NOT END OF SECTOR
- AOD T7 BUMP SECTOR COUNT
- UJN SDT1 PROCESS NEXT SECTOR
- SDT6 LJM GDS2 ABORT
- SDT7 LDD DI CHECK IF THIS DEVICE
- LMC **
- SDTA EQU *-1
- ZJN SDT4 IF THIS DEVICE
- AOM BUF+PMRP+4 FLAG DUPLICATE *DAT* ENTRY
- LDN 1
- SDT8 LMN 1
- LJM SDTX RETURN
- SLI SPACE 4,10
- ** SLI - SET LOCAL UTILITY INTERLOCK.
- *
- * ENTRY (T5) = EST ORDINAL.
- *
- * ERROR TO *ABT2* IF INTERLOCK NOT SET.
- *
- * CALLS SDI.
- SLI1 LDD T5 SET INTERLOCK HELD
- STM CLIA
- SLI SUBR ENTRY/EXIT
- RJM SDI SET INTERLOCK
- NJN SLI1 IF INTERLOCK SET
- * LDC MESM
- LJM ABT2 ABORT
- SME SPACE 4,10
- ** SME - SET MASS STORAGE EQUIPMENT.
- *
- * ENTRY (A) = EST ORDINAL.
- *
- * EXIT (T5) = EST ORDINAL.
- * (ES - ES+4) = EST ENTRY.
- * EQUIPMENT MNEMONIC AND NUMBER SET IN MESSAGES.
- *
- * USES T0, T1, T2, T3, T4, T5, ES - ES+4.
- *
- * CALLS C2D.
- *
- * MACROS SFA.
- SME SUBR ENTRY/EXIT
- STD T5
- STM EQNO
- SFA EST READ EST ENTRY
- ADK EQDE
- CRD ES
- * SET (T0 - T2) = * EQXXX*, WHERE EQ = EQUIPMENT MNEMONIC AND
- * XXX = EST ORDINAL.
- LDD T5 CONVERT UPPER DIGIT OF EST ORDINAL
- SHN -6
- ADN 1R0
- STD T1
- LDD T5 CONVERT LOWER TWO DIGITS OF EST ORDINAL
- RJM C2D
- STD T2
- LDD ES+3 PROCESS DEVICE MNEMONIC
- LMC 1L
- SHN 14
- STD T0
- SHN -6
- SCN 77
- RAD T1
- LDN TSMEL INITIALIZE MESSAGE MODIFICATION LOOP
- STD T3
- SME1 SOD T3 DECREMENT MESSAGE INDEX
- MJN SMEX IF ALL MESSAGES MODIFIED
- LDM TSME,T3 SET MESSAGE ADDRESS
- STD T4
- LDD T0 TRANSFER * EQXXX* INTO DESTINATION BUFFER
- STI T4
- LDD T1
- STM 1,T4
- LDD T2
- STM 2,T4
- UJN SME1 LOOP FOR NEXT MESSAGE
- ** TSME - TABLE OF MESSAGES REQUIRING EQUIPMENT MNEMONICS AND
- * EST ORDINALS.
- TSME BSS 0
- CON GLAA
- CON MESA
- CON MESB
- CON MESC
- CON MESD
- CON MESE
- CON MESG
- CON MESH
- CON MESI
- CON MESJ
- CON MESK
- CON MESL
- CON MESN
- CON MESO
- CON MESP
- TSMEL EQU *-TSME
- STB SPACE 4,15
- ** STB - SET TRACK BIT.
- *
- * ENTRY (A) = *STBM* SUBFUNCTION CODE.
- * (T5) = EST ORDINAL.
- * (T6) = TRACK NUMBER.
- *
- * EXIT (A) = MONITOR RESPONSE.
- *
- * USES CM - CM+4.
- *
- * MACROS MONITOR.
- STB SUBR ENTRY/EXIT
- STD CM+3 SET SUBFUNCTION CODE
- LDD T6 SET TRACK
- STD CM+2
- LDD T5 SET EST ORDINAL
- LMC 1S10
- STD CM+1
- MONITOR STBM ISSUE REQUEST
- LDD CM+1
- UJN STBX RETURN
- STI SPACE 4,15
- ** STI - SET TRACK INTERLOCK.
- *
- * ENTRY (T5) = EST ORDINAL.
- * (T6) = TRACK.
- *
- * EXIT (A) = 0 IF TRACK INTERLOCKED.
- * = (T6) IF TRACK NOT RESERVED.
- * (PF) = (T6) IF TRACK INTERLOCKED.
- *
- * ERROR TO *ABT3* IF *ORET* ERROR FLAG DETECTED.
- *
- * CALLS STB.
- *
- * MACROS DELAY, PAUSE.
- STI2 LDD T6 FLAG TRACK INTERLOCKED
- STD PF
- STI3 LMD T6 RETURN INTERLOCK STATUS
- STI SUBR ENTRY/EXIT
- STI1 LDN STIS ATTEMPT TRACK INTERLOCK
- RJM STB
- ZJN STI2 IF INTERLOCK SET
- LMN 2
- ZJN STI3 IF TRACK NOT RESERVED
- DELAY 250D*10
- PAUSE
- LDD CM+1 CHECK ERROR FLAG
- LMN ORET
- NJN STI1 IF NOT OPERATOR OVERRIDE
- * LDC MESM
- LJM ABT3 ABORT
- STM SPACE 4,10
- ** STM - SET TRACK NUMBER IN MESSAGE.
- *
- * ENTRY (A) = MESSAGE ADDRESS.
- * (T6) = TRACK NUMBER.
- *
- * EXIT (T9) = MESSAGE ADDRESS.
- *
- * CALLS C2D, DFM.
- STM SUBR ENTRY/EXIT
- STD T9
- LDD T6 CONVERT TRACK NUMBER
- SHN -6
- RJM C2D
- STM 5,T9 SET CONVERSION IN MESSAGE
- LDD T6
- RJM C2D
- STM 6,T9
- LDC ERLN ISSUE MESSAGE TO ERRLOG
- LMD T9
- RJM DFM
- UJN STMX RETURN
- TED SPACE 4,10
- ** TED - TRANSFER DAT ENVIRONMENT DATA.
- *
- * ENTRY (A) = ECSM FUNCTION.
- * (T6 - T7) = LINK DEVICE ADDRESS.
- *
- * EXIT (A) = ECSM FUNCTION REPLY.
- *
- * USES CM - CM+4, BY.
- *
- * CALLS CEA.
- *
- * MACROS MONITOR.
- TED SUBR ENTRY/EXIT
- SHN 11
- STD BY
- RJM CEA CONVERT EXTENDED MEMORY ADDRESS
- LDN DAET SET DAT ENTRY
- RAD CM+4
- SHN -14
- LMD BY MERGE FUNCTION
- RAD CM+3
- LDN 0 SET WORD COUNT TO 1
- STD CM+1
- LDD MA SET CM ADDRESS
- STD CM+2
- MONITOR ECSM
- LDD CM+1
- UJN TEDX RETURN
- TRT SPACE 4,10
- ** TRT - UPDATE TRT.
- *
- * ENTRY (ES - ES+4) = EST ENTRY.
- * (T5) = EQUIPMENT.
- *
- * EXIT TRT UPDATED IF DEVICE IS SHARED.
- *
- * USES CM - CM+4.
- *
- * CALLS STB.
- *
- * MACROS MONITOR.
- TRT SUBR ENTRY/EXIT
- LDD ES CHECK IF SHARED
- SHN 21-11
- PJN TRTX IF DEVICE NOT SHARED
- LDN UTRS ENSURE TRT CURRENT
- RJM STB
- UJN TRTX RETURN
- UDA SPACE 4,15
- ** UDA - UPDATE DAT ENTRY.
- *
- * ENTRY (TA) = EXTENDED MEMORY ACCESS OPTIONS.
- * (DI) = DAT INDEX.
- * (CN - CN+4) = *SDGL* WORD OF MST.
- * (ES - ES+4) = *EQDE* WORD OF EST ENTRY.
- *
- * USES T1, T2, T5, CM - CM+4, CN - CN+4.
- *
- * CALLS GDS, SDT, WDS.
- *
- * MACROS ENDMS, SETMS.
- UDA5 LDM EQNO RESET EST ORDINAL
- STD T5
- UDA SUBR ENTRY/EXIT
- LDD TA CHECK REQUEST
- LPN RDDA
- NJN UDA1 IF READ DAT ONLY
- RJM SDT SEARCH DAT TABLES
- ZJN UDA5 IF DUPLICATE ENTRY
- UDA1 RJM GDS GET DAT SECTOR
- ZJN UDA5 IF NO DAT ENTRY OR LINK DEVICE
- LDD TI
- ADC BFMS+2
- STM UDAB
- STD TI
- ADN 11
- STD T2
- LDI T2 SET ACCESS STATUS IN CHECKPOINT REQUEST
- LPC 0
- UDAA EQU *-1
- STM CKCA+4
- SETMS IO,RW
- LDD TA RECHECK REQUEST
- LPN RDDA
- NJN UDA4 IF NOT DAT UPDATE
- LDD ES+4
- SHN 3
- ADN PFGL READ DAT INFORMATION
- CRD CM
- LDN 3
- STD T2
- UDA2 LDM CM,T2 COPY DATA TO DAT SECTOR
- STM **,T2
- UDAB EQU *-1
- SOD T2
- PJN UDA2 IF NOT END OF DATA
- LDD CM+4
- LPN 70
- ZJN UDA3 IF PACK IS 1 OF N
- LDN 0
- STI TI CLEAR DAT ENTRY
- STD CN
- STD CN+1 CLEAR EXTENDED MEMORY ADDRESS
- LDD ES+4
- SHN 3
- ADN SDGL UPDATE THE MST
- CWD CN
- LDD DI
- ZJN UDA4 IF DAT INDEX NOT SET
- UDA3 LDC BFMS+WLSF
- RJM WDS REWRITE DAT SECTOR
- UDA4 ENDMS
- LJM UDA5 RETURN
- UEC SPACE 4,15
- ** UEC - UPDATE EXTENDED MEMORY MST DATA.
- *
- * ENTRY (A) = UPDATE OPTIONS.
- * (LD) = LINK DEVICE EST ORDINAL.
- * (MI) = MACHINE INDEX.
- * (ES - ES+4) = *EQDE* WORD OF EST ENTRY.
- *
- * ERROR TO *GDS2* IF ERROR ON LINK DEVICE.
- *
- * USES TA, CM - CM+4, CN - CN+4.
- *
- * CALLS UDA.
- *
- * MACROS MONITOR.
- UEC SUBR ENTRY/EXIT
- STD TA
- LDD LD
- ZJN UECX IF NOT MMF MODE
- LDD ES+4
- SHN 3
- ADN SDGL FETCH MST ADDRESS INFORMATION
- CRD CN
- LDD TA
- LPN RDDA+UPDA
- ZJN UEC1 IF NOT DAT ACCESS
- RJM UDA
- * UPDATE GLOBAL AREA.
- UEC1 LDD CN CHECK EXTENDED MEMORY ADDRESS
- ADD CN+1
- ZJN UECX IF MST/TRT NOT EXTENDED MEMORY RESIDENT
- LDD TA
- LPN UPGA
- UEC2 ZJN UECX IF NOT GLOBAL AREA UPDATE
- LDD CN+1
- ADN ALGL
- STD CM+4 FORM EXTENDED MEMORY ADDRESS
- SHN -14
- ADD CN
- LMC WECS*1000 MERGE SUBFUNCTION
- STD CM+3
- LDD ES+4 COMPUTE CM ADDRESS
- SHN 3
- ADN ALGL
- STD CM+2
- SHN -14
- LMC 300 MERGE WORD COUNT
- STD CM+1
- MONITOR ECSM
- LDD CM+1
- ZJN UEC2 IF NO ERRORS
- LJM GDS2 ABORT
- SPACE 4
- * COMMON DECKS.
- QUAL$ EQU 1
- *CALL COMPRLA
- *CALL COMPRSS
- WCS$ EQU 1 CONSECUTIVE SECTORS AFTER SYSTEM SECTOR
- *CALL COMPWSS
- QUAL
- *CALL COMPCEA
- *CALL COMPC2D
- *CALL COMPIFR
- *CALL COMPSDI
- *CALL COMPSDR
- STI EQU /IMS/STI
- *CALL COMPTGB
- *CALL COMPTLB
- QUAL IMS
- SPACE 4,10
- ** DAYFILE MESSAGES.
- MESA DATA C* EQXXX, YY TRACKS FLAWED.*
- MESB DATA C* EQXXX, YY FLAWS NOT PROCESSED.*
- MESBL EQU * FLAW MESSAGE BUFFER
- MESC DATA C* EQXXX, LOCAL AREAS INITIALIZED.*
- MESD DATA C* EQXXX, LOCAL AREA SECTOR RESET.*
- MESE DATA C* EQXXX, PF INITIALIZE COMPLETE.*
- MESF DATA C* LABEL TRACK CONFLICT.*
- MESG DATA C* EQXXX, NO INACTIVE DAYFILES FOUND.*
- MENM EQU 13 FILENAME OFFSET FOR MESSAGES
- MESH DATA C* EQXXX, INITIALIZED - . *
- MESI DATA C* EQXXX, FILE ACTIVE - . *
- MESJ DATA C* EQXXX, FILE BUSY - . *
- MESK DATA C* EQXXX, PROTECTED QUEUES IGNORED.*
- MESL DATA C* EQXXX, FLAWING INCOMPLETE.*
- MESM DATA C* IMS ABORTED.*
- MESN DATA C* EQXXX, TKYYYY, SYSTEM SECTOR ERROR.*
- MESO DATA C* EQXXX, TKYYYY - TRACK FLAWED BY IMS.*
- MESP DATA C* EQXXX, TKYYYY - VERIFICATION ERRORS.*
- SPACE 4,10
- OVLA EQU *+5 OVERLAY LOAD ADDRESS
- TITLE RESIDENT PROCESSORS.
- IND SPACE 4,10
- *** FUNCTION *INDF* - INITIALIZE MASS STORAGE DEVICE.
- *
- * ENTRY (IR+4) = EST ORDINAL.
- IND ENTRY
- LDD IR+4 SET DEVICE PARAMETERS
- RJM SMD
- LDD WB CHECK INITIALIZE OPTIONS
- SHN 21-LIAL+LIAL/12D*12D
- MJN IND1 IF DEADSTART INITIALIZE
- RJM TRT UPDATE TRT
- RJM RPC RELEASE PERMANENT FILE CHAINS
- RJM IPF INITIALIZE PACK FLAWS
- IND1 LDD ES+4
- SHN 3
- ADN ALGL READ DEVICE ALLOCATION WORD FROM MST
- CRD CN
- ADN PUGL-ALGL GET DEVICE MASKS
- CRD FN
- ADN MDGL-PUGL GET DRIVER WORD
- CRD CM
- ADN STLL-MDGL UPDATE DEVICE STATUS
- CWD WB
- LDN 0 CLEAR ID DATA TRACK
- STD CN
- LDD CM
- SHN 21-12
- MJN IND2 IF AUXILIARY DEVICE
- LDD FN+4
- LPC 377
- NJN IND2 IF MASTER DEVICE
- * LDN 0
- LJM IND5 PROCESS NON-MASTER DEVICE
- IND2 LDD FN+3 SET CONTIGUOUS CATALOG TRACKS
- SCN 60
- LMN 40
- STD FN+3
- LDD FN
- ZJN IND3 IF NOT PRIVATE DEVICE
- LDN 1 SET CATALOG COUNT TO 1
- STD CN+3
- IND3 LDD CN+3 SET NUMBER OF CATALOG TRACKS
- ADN 1
- STD CA RESERVE CATALOG CHAIN
- RJM RCC
- ZJN IND4 IF ALL TRACKS NOT ASSIGNED
- LDC NDAT RESERVE DATA TRACK
- RJM RPT
- ZJN IND4 IF TRACK NOT ASSIGNED
- STD CN
- LDC NPER RESERVE PERMITS TRACK
- RJM RPT
- NJN IND5 IF TRACK ASSIGNED
- IND4 LDN PTKL
- LJM MSI PASS ERROR TO *MSI*
- IND5 STD CN+2 SET PERMIT TRACK
- LDD ES+4
- SHN 3
- ADN ALGL UPDATE DEVICE LAYOUT WORD
- CWD CN
- ADN PUGL-ALGL UPDATE CATALOG CHAIN STATUS
- CWD FN
- LDN 0 CLEAR ERROR STATUS
- RJM SES
- CMSTF GDEI CLEAR ERROR IDLE STATUS
- CMSTF GCTO CLEAR CATALOG TRACK OVERFLOW
- LDM CQFA
- ZJN IND7 IF NO QUEUES IGNORED
- LDC MESK * EQXXX, PROTECTED QUEUES IGNORED.*
- RJM DFM
- IND7 LDC MESE * EQXXX, PF INITIALIZE COMPLETE.*
- RJM DFM
- LDN RDDA+UPGA READ DAT / UPDATE GLOBAL MST
- RJM UEC
- RJM IAM PROCESS ACCOUNTING MESSAGE
- LDN 5
- LJM CKC SET CHECKPOINT REQUEST
- SPACE 4,10
- ** SYSTEM SECTOR FILE NAMES.
- NDAT VFD 42/0LDATA,6/1,6/SYFT,6/0
- NLAB VFD 42/0LLABEL,6/1,6/SYFT,6/0
- NPER VFD 42/0LPERMIT,6/1,6/SYFT,6/0
- DFT SPACE 4,20
- ** DFT - DROP AND FLAW TRACK.
- *
- * ENTRY (A) = 1/0,11/FT. ALL TRACKS AFTER *FT* ARE DROPPED
- * AND THE EOI IS SET IN SECTOR ZERO OF *FT*.
- * = 1/1,11/FT. ALL TRACKS FROM *FT* TO END OF
- * CHAIN ARE DROPPED.
- * (T5) = EST ORDINAL.
- * (T6) = TRACK ON WHICH ERROR OCCURED.
- * (TA) = VERIFICATION ERROR RETRY COUNT.
- *
- * EXIT (A) = 0 IF TRACK CHAIN DROPPED.
- *
- * ERROR TO *ABT2* IF RETRY COUNT EXHAUSTED.
- *
- * USES CM - CM+4.
- *
- * CALLS DFM, SES, STM.
- *
- * MACROS MONITOR.
- DFT1 STD CM+3 CLEAR SECTOR NUMBER FIELD
- LDD T5
- STD CM+1 DROP CURRENT TRACK
- MONITOR DTKM
- LDC MESO ISSUE TRACK FLAWED MESSAGE TO ERRLOG
- RJM STM
- LDD T9 ISSUE SAME MESSAGE TO SYSTEM DAYFILE
- RJM DFM
- * LDN 0
- DFT SUBR ENTRY/EXIT
- STD CM+2 SET FIRST TRACK TO DROP
- LDM RDCT
- LPN 77 CHECK MASS STORAGE ERROR TYPE
- LMN PARE
- ZJN DFT1 IF MEDIA PROBLEM
- LDC MESP
- RJM STM ISSUE VERIFICATION ERROR MESSAGE
- SOD TA
- NJN DFTX IF VERIFICATION RETRY IN ORDER
- LDN STVE
- RJM SES SET *VE* ERROR STATUS IN MST
- * LDC MESM
- LJM ABT2 ABORT - MAINTENANCE REQUIRED
- IAM SPACE 4,15
- ** IAM - ISSUE ACCOUNTING MESSAGE.
- *
- * ENTRY (T5) = EST ORDINAL.
- * (ES - ES+4) = *EQDE* WORD OF EST ENTRY.
- *
- * EXIT MESSAGE ISSUED TO ACCOUNTING DAYFILE.
- * EVENT SET FOR AUXILIARY DEVICE.
- *
- * USES T1, CM - CM+4, CN - CN+4.
- *
- * CALLS ACS, C2D, DFM.
- *
- * MACROS MONITOR.
- IAM SUBR ENTRY/EXIT
- LDC IAMB SET ADDRESS OF ASSEMBLY BUFFER
- STD T1
- LDD T5 CONVERT UPPER TWO DIGITS OF EST ORDINAL
- SHN -3
- RJM C2D
- STD CM
- LDD T5 CONVERT LOWER DIGIT OF EST ORDINAL
- LPN 7
- ADN 1R0
- SHN 6
- STD CM+1
- LDN CM ADD EST ORDINAL TO MESSAGE
- RJM ACS
- LDC =C*, * ADD SEPARATOR TO MESSAGE
- RJM ACS
- LDD ES+4 GET DEVICE DESCRIPTION
- SHN 3
- ADN PFGL
- CRD CM
- ADN PUGL-PFGL READ USER NAME
- CRD CN
- LDD CM+3 EXTRACT DEVICE NUMBER
- LPN 77
- NJN IAM1 IF NOT AUXILIARY DEVICE
- LDD CM+3
- ADD CM+2 BUILD PACKNAME EVENT HASH
- ADD CM+1
- ADD CM SAVE PACKNAME HASH
- STD CN+4
- UJN IAM2 FORMAT MESSAGE
- IAM1 RJM C2D CONVERT TO DISPLAY CODE
- STD CN
- LDC 2RDI CHANGE MESSAGE PREFIX TO *ADDI*
- STM IAMA+1
- LDD CM+3 SET END OF FAMILY NAME
- SCN 77
- STD CM+3
- IAM2 LDN CM ADD FAMILY/PACKNAME TO MESSAGE
- RJM ACS
- LDD CN
- ZJN IAM3 IF NO USER/DEVICE NUMBER
- LDC =C*, *
- RJM ACS
- LDD CN+3 SET END OF USER NAME
- SCN 77
- STD CN+3
- LDN CN ADD USER/DEVICE NUMBER TO MESSAGE
- RJM ACS
- IAM3 LDC =C*.* SET MESSAGE TERMINATOR
- RJM ACS
- LDC IAMA+ACFN ISSUE MESSAGE TO ACCOUNT FILE
- RJM DFM
- LDM IAMA+1 ISSUE EVENT
- LMC 2RPI
- NJN IAM4 IF NOT AUXILIARY DEVICE
- LDN ZERL
- CRD CM
- LDN /EVENT/VSNE/10000 SET EVENT
- STD CM+3
- LDD CN+4 SET PACKNAME HASH
- STD CM+4
- MONITOR EATM
- IAM4 LJM IAMX RETURN
- IAMA DATA 6HADPI,
- IAMB BSSZ 15 ASSEMBLY BUFFER
- RCC SPACE 4,20
- ** RCC - RESERVE CATALOG CHAIN.
- *
- * ENTRY (CA) = CATALOG COUNT.
- * (LT) = LABEL TRACK.
- * (T5) = EST ORDINAL (DRIVER PRESET).
- * (CN - CN+4) = DEVICE LAYOUT WORD OF MST
- * (FN - FN+4) = PUGL WORD OF THE MST.
- *
- * EXIT (A) = 0 IF TRACKS NOT AVAILABLE.
- * = .LT. 0 IF ALL CATALOG TRACKS RESERVED.
- * (FN+3) = CONTIGUOUS TRACKS FLAG CLEARED IF NECESSARY.
- *
- * USES TA, T2, T6, T7, CA - CA+1, CM - CM+4.
- *
- * CALLS DFT, WVE.
- *
- * MACROS MONITOR.
- RCC SUBR ENTRY/EXIT
- LDD LT
- STD T6 FIRST TRACK = LABEL TRACK
- RCC1 SOD CA
- MJN RCCX IF ALL CATALOG TRACKS RESERVED
- LDN ZERL
- CRD CM
- LDD T5 SET EQUIPMENT
- STD CM+1
- LDD T6 SET CURRENT TRACK
- STD CM+2
- STD CA+1
- MONITOR RTCM RESERVE TRACK
- * LDN 0
- STD T7 SET SECTOR
- LDD CM+4
- ZJN RCCX IF TRACK NOT ASSIGNED
- SBN 1
- SBD T6
- ZJN RCC2 IF CONSECUTIVE
- RAD T6
- LDD FN+3 CLEAR CONTIGUOUS CATALOG TRACKS
- SCN 40
- STD FN+3
- RCC2 AOD T6 SET NEXT TRACK
- LDN VERC
- STD TA
- RCC3 LDD LT SET FIRST TRACK OF CHAIN
- STD T2
- LDC BFMS WRITE AND VERIFY WITH EOI SECTORS
- RJM WVE
- ZJN RCC4 IF WRITE AND VERIFY GOOD
- LDD CA+1
- LPC 3777 DROP AND FLAW TRACK
- RJM DFT
- NJN RCC3 IF RETRY DUE TO VERIFICATION ERRORS
- AOD CA
- LDD CA+1 RESTORE CURRENT TRACK
- STD T6
- RCC4 LJM RCC1 ALLOCATE NEXT CATALOG TRACK
- RPC SPACE 4,15
- ** RPC - RELEASE PERMANENT FILE CHAINS.
- *
- * ENTRY (T5) = EST ORDINAL.
- * (LT) = LABEL TRACK.
- * (ES - ES+4) = *EQDE* WORD OF EST ENTRY.
- * (WB - WB+4) = *STLL* WORD OF MST.
- *
- * USES BY, TL, T5, T6, CM - CM+4, CN - CN+4.
- *
- * USES CAT, CQF.
- *
- * MACROS MONITOR, SETMS.
- RPC5 LDN 0 CLEAR USER COUNT
- STD WB+3
- LDD CP CLEAR MESSAGE AT CP
- ADN MS2W
- CWD WB+3
- RPC SUBR ENTRY/EXIT
- LDD ES+4
- SHN 3
- ADK TDGL
- CRD CN
- ADN TRLL-TDGL
- RJM CAT CALCULATE FWA OF TRT
- STM RPCA+1
- SHN -14
- RAM RPCA
- LDD CN+2 SET TRT LENGTH
- STD TL
- SETMS IO,(DF,NS)
- LDN 0
- RPC1 STD BY CLEAR BYTE COUNT
- SOD TL
- MJN RPC5 IF END OF TRT
- RPCA ADC *
- CRD CN READ TRT WORD
- RPC2 LDD CN+4
- LPC 7400 EXTRACT PRESERVED FILE FLAGS
- SHN 1
- STD CN+4
- ZJN RPC1 IF NONE SET
- SHN 5
- PJN RPC4 IF NOT PRESERVED FILE CHAIN
- RJM CQF CHECK FOR QUEUED FILES
- ZJN RPC4 IF QUEUE, DAYFILE, MRT OR DAT TRACK
- LDD T5
- STD CM+1 SET EST ORDINAL
- LDD T6
- STD CM+2 TRACK NUMBER
- LMD LT
- NJN RPC3 IF NOT LABEL TRACK
- STD CM+3
- LDD LT DROP ALL TRACKS AFTER LABEL TRACK
- LPC 3777
- STD CM+2
- RPC3 MONITOR DTKM
- RPC4 AOD BY ADVANCE BYTE COUNT
- UJN RPC2 LOOP FOR ALL BYTES
- RPT SPACE 4,15
- ** RPT - RESERVE PRESERVED FILE TRACK.
- *
- * ENTRY (A) = ADDRESS OF SYSTEM SECTOR NAME.
- *
- * EXIT (A) = TRACK RESERVED.
- *
- * USES TA, T1, T2, T6, CM - CM+4.
- *
- * CALLS DFT, STB, WSS, WVE.
- *
- * MACROS ENDMS, MONITOR, SETMS.
- RPT SUBR ENTRY/EXIT
- STM RPTA
- RPT1 LDC 500 PRESET INDEX
- STD T1
- RPT2 LDN 0 CLEAR SYSTEM SECTOR
- STM BFMS+1,T1
- SOD T1
- NJN RPT2 IF NOT END OF SECTOR
- LDD MA
- CWM *,ON
- RPTA EQU *-1
- SBN 1 MOVE SYSTEM SECTOR NAME TO BUFFER
- CRM FNSS,ON
- LDN ZERL REQUEST TRACK
- CRD CM
- LDD T5 SET EST ORDINAL IN REQUEST
- STD CM+1
- MONITOR RTCM
- LDD CM+4 SET TRACK
- STD T6
- ZJN RPTX IF TRACK NOT ASSIGNED
- SETMS IO,NS
- RJM WSS WRITE SYSTEM SECTOR
- MJN RPT4 IF PARITY ERROR
- LDN VERC
- STD TA
- RPT3 LDD T6 SET FIRST TRACK
- STD T2
- LDC BFMS WRITE AND VERIFY WITH EOI SECTORS
- RJM WVE
- NJN RPT4 IF WRITE / VERIFY ERRORS
- LDD T5
- STD CM+1 SET EST ORDINAL
- LDD T6
- LPC 3777 SET TRACK
- STD CM+2
- LDN FSMS SET SECTOR
- STD CM+3
- MONITOR DTKM SET EOI IN TRT
- LDN SPFS
- RJM STB SET FILE PRESERVED
- LDD T6
- LJM RPTX RETURN
- * PROCESS BAD TRACK.
- RPT4 LDD T6 DROP AND FLAW TRACK
- RJM DFT
- NJN RPT3 IF RETRY DUE TO VERIFICATION ERRORS
- LJM RPT1 RESERVE ANOTHER TRACK
- SMD SPACE 4,15
- ** SMD - SET MASS STORAGE DEVICE.
- *
- * ENTRY (A) = EST ORDINAL.
- *
- * EXIT (T5) = EST ORDINAL.
- * (LT) = LABEL TRACK.
- * (ES - ES+4) = *EQDE* WORD OF EST ENTRY.
- * (WB - WB+4) = *STLL* WORD OF MST.
- *
- * USES CM - CM+4, CN - CN+4, FN - FN+4.
- *
- * CALLS ABT, CAT, IPF, RPT, SLI, SME, WDS, WSS.
- *
- * MACROS ENDMS, MONITOR, SETMS.
- SMD SUBR ENTRY/EXIT
- RJM SME SET MASS STORAGE EQUIPMENT
- RJM SLI SET LOCAL UTILITY INTERLOCK
- LDD ES+4
- SHN 3
- ADN ALGL
- CRD CN
- ADN MDGL-ALGL
- CRD FN
- ADN STLL-MDGL READ MST STATUS WORD
- CRD WB
- LDD FN SET DAT INDEX
- LPC 377
- STD DI
- LDD CN+1 CHECK LABEL TRACK
- STD LT
- NJN SMDX IF DEFINED
- RJM IPF INITIALIZE PACK FLAWS
- LDC NLAB
- RJM RPT RESERVE LABEL TRACK
- STD CN+1
- STD LT SAVE LABEL TRACK
- LDD ES+4
- SHN 3
- ADN ALGL
- CWD CN UPDATE MST
- LDD LT
- ZJN SMD4 IF LABEL TRACK NOT ASSIGNED
- LMC 4000
- ZJN SMD3 IF LABEL ON TRACK ZERO
- LDN ZERL
- CRD CN
- SETMS IO,(DF,NS,SM)
- SMD1 LDD ES+4
- SHN 3
- ADN TRLL
- RJM CAT CALCULATE FWA OF TRT
- ADD CN+1
- CRD FN
- SMD2 LDM FN,CN CHECK TRACK BYTE
- LMC 3777
- ZJN SMD5 IF TRACK FLAWED
- LDD CN+2
- LMD LT
- LPN 77
- NJN SMD4 IF NOT LABEL TRACK
- SMD3 LJM SMDX RETURN
- SMD4 LDC MESF
- LJM ABT ABORT OPERATION
- * FLAG FLAWED TRACK IN SYSTEM SECTOR.
- SMD5 LDD CN+2 SET TRACK NUMBER
- LMC 4000
- STD T6
- LDC 3777 FLAWED TRACK INDICATOR
- STM FNSS
- RJM WSS WRITE SYSTEM SECTOR
- SMD6 LDC BFMS+WCSF
- RJM WDS WRITE FLAW DATA TO ALL SECTORS
- AOD T7
- SBM SLM
- NJN SMD6 IF NOT END OF TRACK
- ENDMS
- AOD CN+2 BUMP TRACK COUNT
- AOD CN BUMP BYTE COUNT
- LMN 4
- ZJN SMD7 IF END OF TRT WORD
- LJM SMD2 PROCESS NEXT TRACK
- SMD7 STD CN
- AOD CN+1 BUMP WORD INDEX
- LJM SMD1 GET NEXT TRT WORD
- SPACE 4,10
- * COMMON DECKS.
- *CALL COMPACS
- *CALL COMPSES
- LIST X
- *CALL COMPWVE
- LIST *
- SPACE 4,10
- USE LITERALS
- OVERFLOW OVLA,BUF
- TITLE PRESET.
- PRS SPACE 4,10
- ** PRS - PRESET PROGRAM.
- *
- * EXIT (PF) = 0.
- * (LD) = MMF LINK DEVICE.
- * (MI) = MACHINE INDEX.
- * (DE) = DAT ENTRY COUNT.
- * (T2) = FUNCTION TABLE INDEX.
- * (CA - CA+1) = 0.
- * (CN - CN+4) = *MMFL* WORD.
- PRS SUBR ENTRY/EXIT
- LDD CP
- ADN STSW FETCH CP ERROR STATUS
- CRD CM
- LDD CM+1
- NJP ABT3 IF ERROR FLAG SET
- * LDN 0
- STD CA CLEAR DIRECT CELLS
- STD CA+1
- STD PF
- * SET LINK DEVICE PARAMETERS.
- LDC MMFL
- CRD CN
- LDD CN+1 SET LINK EQUIPMENT
- LPC 777
- STD LD
- LDD CN+4 SET MACHINE INDEX
- STD MI
- LDD CN+3 SET MACHINE MASK
- STM UDAA
- LDD IR+2 CHECK REQUEST
- LMN MMSF
- NJN PRS2 IF NOT TO MODIFY MST-S
- LDD LD
- ZJN PRS2 IF NOT MMF ENVIRONMENT
- SFA EST
- ADK EQDE FETCH LINK DEVICE EST ENTRY
- CRD CM
- LDD CM+4 GET LABEL TRACK
- SHN 3
- ADN ALGL
- CRD CM
- LDD CM+1 SAVE LINK DEVICE LABEL TRACK
- STD T6
- LDN ETLT
- STD T7
- LDN RECS GET DAT ENTRY COUNT
- RJM TED
- ZJN PRS1 IF NO ERRORS
- LJM GDS2 ABORT
- PRS1 LDD MA
- CRD CM
- LDD CM+4 SET DAT ENTRY COUNT
- SHN -1
- STD DE
- * CHECK ORIGIN TYPE.
- PRS2 LDD CP FETCH EJT ORDINAL
- ADN TFSW
- CRD CM
- SBN TFSW-JCIW GET SUBSYSTEM ID
- CRD WB
- SFA EJT,CM READ EJT
- ADN SCLE
- CRD CM
- LDD CM CHECK ORIGIN TYPE
- LPN 17
- LMK SYOT
- NJN PRS4 IF NOT SYSTEM ORIGIN
- * SET ABORT CONDITIONS.
- LDD WB+2 CHECK SUBSYSTEM ID
- LMC DSSI
- NJN PRS3 IF NOT DEADSTART SEQUENCING JOB
- LDC *
- ORG *-1
- LOC ABTB
- UJN ABT1 CHECK DEVICE TYPE
- LOC *O
- STM ABTB SET DEADSTART SEQUENCING PATH
- LDC ABTA
- STM ABTA+1 FORCE PP HANG
- * PROCESS FUNCTION.
- PRS3 LDD IR+2
- SHN 1 SET FUNCTION TABLE INDEX
- STD T2
- ERRNZ TFCNS-2 CODE DEPENDS ON VALUE
- SBN TFCNL
- PJN PRS4 IF INCORRECT REQUEST
- LDM TFCN,T2
- STM IMSA
- LJM PRSX RETURN
- PRS4 LDC PRSB * INCORRECT IMS REQUEST.*
- RJM DFM
- LJM DPP DROP PP
- SPACE 4,10
- EJT$ EQU 0 DEFINE *COMPGFP* ACCESS TO EJT
- *CALL COMPGFP
- PRSB DATA C* INCORRECT IMS REQUEST.*
- TFCN SPACE 4
- ** TFCN - FUNCTION PROCESSOR TABLE.
- * ENTRY = 2 BYTES.
- * INDEXED BY FUNCTION NUMBER * 2.
- *
- *T, 12/ ADDR, 12/ OVLN
- * ADDR ADDRESS OF FUNCTION PROCESSOR.
- * OVLN LAST CHARACTER OF OVERLAY NAME.
- TFCN FCN
- FCN 0,PRS4 INCORRECT REQUEST
- TFCNS EQU *O-TFCN
- FCN INDF,IND INITIALIZE DEVICE
- FCN EDTF,EDT EDIT DIRECT ACCESS FILES
- FCN SFLF,SFL SET / CLEAR FLAWS
- FCN CSDF,CSD CHECK SHARED DEVICE STATUS
- FCN ILAF,ILA INITIALIZE LOCAL AREAS
- FCN MMSF,MMS MODIFY MST-S
- FCN CINF,CIN CLEAR INITIALIZE REQUESTS
- FCN IDFF,IDF INITIALIZE DAYFILES
- FCN CITF,CIT CLEAR *CMS* INTERLOCK
- FCN ISDF,ISD INTERLOCK ISD-S
- FCN IFMXF
- TFCNL EQU *-TFCN LENGTH OF TABLE
- SPACE 4,10
- OVERFLOW
- OVERLAY (MODIFY MASS STORAGE TABLES.)
- MMS SPACE 4,20
- *** FUNCTION *MMSF* - MODIFY MASS STORAGE TABLES.
- *
- * ENTRY (IR+3 - IR+4) = ADDRESS (ADDR) OF PARAMETERS.
- *
- *T, ADDR 60/ EST ENTRY
- *T, 60/ PFGL WORD OF MST
- *T, 60/ PUGL WORD OF MST
- *T, 60/ MDGL WORD OF MST
- *T, 12/ NC, 12/ EQ, 12/ AI, 12/ CI, 12/ NE
- *T, 12/ NP, 48/ UNIT LIST (*LDAM* DEVICES)
- *T, 60/ REPLY WORD
- * NC = NUMBER OF CATALOG TRACKS.
- * EQ = EST ORDINAL.
- * AI = *LDAM* ALGORITHM INDEX.
- * CI = CLEAR IN USE AS CHAINED DEVICE.
- * NE = NEXT EQUIPMENT IN CHAIN.
- MMS ENTRY
- LDN PMMSL READ PARAMETER BLOCK
- STD TI
- RJM LDA READ EST ENTRY
- CRD ES
- CRM BUF,TI
- LDM BUF+PMEQ SET EST ORDINAL
- STD T5
- STM EQNO
- LDD LD
- ZJN MMS1 IF NOT MMF ENVIRONMENT
- LMD T5
- NJN MMS1 IF NOT LINK DEVICE
- LDD ES+4
- SHN 3
- ADN PFGL RETAIN ORIGINAL PF DESCRIPTION
- CRM BUF+PMPF,TR
- MMS1 RJM SLI SET LOCAL UTILITY INTERLOCK
- LDD ES
- SHN 21-10
- PJN MMS2 IF NOT REMOVABLE
- LDD ES+4 CHECK INITIALIZE OPTION
- SHN 3
- ADN STLL
- CRD CM
- LDD CM
- SHN 21-LIAL+LIAL/12D*12D
- MJN MMS2 IF DEADSTART INITIALIZE
- RJM CTR CLEAR TRT
- * PROCESS CATALOG TRACK COUNT.
- MMS2 LDD ES+4
- SHN 3
- ADN ALGL
- CRD CM
- LDM BUF+PMNC
- STD CM+3
- LDD ES+4 UPDATE MST WORDS
- SHN 3
- ADN ALGL
- CWD CM
- ADN PFGL-ALGL STORE *PFGL* AND *PUGL*
- CWM BUF+PMPF,TR
- ADN DILL-PFGL-3
- CRD CN
- LDD CN+4 CLEAR ALGORITHM INDEX
- SCN 77
- STD CN+4
- LDM BUF+PMMD SET DAT INDEX
- LPC 377
- STD DI
- LDM BUF+PMAI
- ZJN MMS4 IF NOT CHANGING ALGORITHM INDEX
- RAD CN+4
- LDD ES+4 UPDATE MST
- SHN 3
- ADN DILL
- CWD CN
- LDD ES+3 SET NEW MNEMONIC
- STD CM+3
- LDN SMNS SET MNEMONIC SUBFUNCTION
- STD CM+2
- LDD T5 SET EST ORDINAL
- STD CM+1
- MONITOR SEQM CHANGE EQUIPMENT MNEMONIC
- LDD CN+4
- LPN 77 EXTRACT ALGORITHM INDEX
- SBN AIHT+1
- SHN 0-21 CALCULATE *SCSM* SUBFUNCTION
- ADN DAPS
- ERRNZ DAPS+1-EAPS CODE DEPENDS ON VALUE
- STD CM+3
- SBN DAPS
- SHN 3 APPEND CHANNEL PRESENT STATUS
- LMN 11
- RJM CCS
- ZJN MMS4 IF NO ACCESS PATH CHANGE
- * LDD T5
- * STD CM+1
- MONITOR SCSM SET CHANNELS FOR ACCESS
- * PROCESS REMOVABLE DEVICE.
- MMS4 LDD ES
- SHN 21-10
- PJN MMS6 IF NOT REMOVABLE
- LDM BUF+PMCI
- ZJN MMS5 IF SETTING DEVICE IN USE
- LCN 0
- MMS5 LMN LDIU SET/CLEAR DEVICE IN USE
- RJM TLB
- MMS6 LDN UPGA+UPDA
- RJM UEC UPDATE EXTENDED MEMORY DATA
- * UPDATE MST.
- LDD ES+4
- SHN 3
- ADN DULL GET DEVICE USAGE WORD
- CRD CN
- ADN STLL-DULL GET STATUS WORD
- CRD CM
- ADN DDLL-STLL STORE UNIT LIST
- CWM BUF+PMAL,ON
- LDD CM+4 SET NEXT EST ORDINAL IN CHAIN
- LPN 7
- SHN 22-3
- ADM BUF+PMNE
- SHN 3
- STD CM+4
- RJM GAS SET ALTERNATE LABEL SECTOR
- STD CN
- LDD ES+4
- SHN 3
- ADN STLL UPDATE DEVICE STATUS
- CWD CM
- SBN STLL-DULL STORE ALTERNATE LABEL SECTOR IN MST
- CWD CN
- LDD ES
- SHN 21-4
- PJN MMS9 IF NOT INDEPENDENT SHARED DEVICE
- LDD CM+1
- LPN 77
- LMN STLE
- ZJN MMS7 IF LABEL ERROR ON DEVICE
- LDD CM
- LPN MLPTU
- ZJN MMS9 IF *LPTU* INTERLOCK NOT SET
- MMS7 LDN ZERL
- CRD CN
- LDN 0
- STD T1
- LDC MMFL
- CRD CM
- LDD CM SET MACHINE ID IN DIT
- STD CN+4
- MMS8 RJM SDL
- ADD T1 ADD OFFSET
- CWD CN
- LDN 0 CLEAR REMAINDER OF DIT
- STD CN+4
- AOD T1
- LMN MISD
- NJN MMS8 IF NOT END OF DIT
- MMS9 RJM LDA
- ADN PMRP/5 REWRITE REPLY WORD
- CWM BUF+PMRP,ON
- LJM DPP EXIT
- CCS SPACE 4,10
- ** CCS - CHECK CHANNEL STATUS.
- *
- * ENTRY (A) = REQUESTED STATUS.
- * (ES - ES+4) = *EQDE* WORD OF EST ENTRY.
- *
- * EXIT (A) = (CM+2).
- * = 0 IF REQUESTED STATUS NOT PRESENT.
- * = CHANNEL DESCRIPTOR IF STATUS FOUND.
- *
- * USES T2.
- CCS2 LDI CM+3 SET CHANNEL DESCRIPTOR
- CCS3 STD CM+2
- CCS SUBR ENTRY/EXIT
- STD T2
- LDN ES+1 INITIALIZE FOR SCAN
- STD CM+3
- CCS1 LDI CM+3 CHECK CHANNEL
- SHN 0-10
- SCN 6 REMOVE STATE FIELD
- LMD T2
- ZJN CCS2 IF REQUESTED STATUS PRESENT
- AOD CM+3
- LMN ES+3
- NJN CCS1 IF ANOTHER CHANNEL TO CHECK
- * LDN 0
- UJN CCS3 RETURN
- CTR SPACE 4,15
- ** CTR - CLEAR TRT AND MST.
- *
- * ENTRY (T5) = EST ORDINAL (REMOVABLE DEVICE).
- * (ES - ES+4) = *EQDE* WORD OF EST ENTRY.
- *
- * EXIT MST UPDATED.
- * TRT CLEARED.
- *
- * USES T6, CM - CM+4, CN - CN+4, WB - WB+4.
- *
- * CALLS CAT, STB.
- *
- * MACROS MONITOR.
- CTR SUBR ENTRY/EXIT
- LDD ES
- SHN 21-4
- PJN CTR1 IF NOT INDEPENDENT SHARED DEVICE
- LDN PSNI
- STM CTRA
- CTR1 LDN SDIS SET DEVICE INTERLOCK
- RJM STB
- LDN ZERL
- CRD CM
- LDD ES+4
- SHN 3
- ADK TDGL
- CRD CN
- ADN ACGL-TDGL CLEAR DEVICE ACTIVITY WORD
- CWD CM
- ADN ALGL-ACGL CLEAR ALLOCATION WORD
- CWD CM
- ADN STLL-ALGL READ STATUS WORD
- CRD WB
- ADN TRLL-STLL
- RJM CAT CALCULATE FWA OF TRT
- STD CM+4
- SHN -14
- STD CM+3
- LDD CN+2 SET TRT LENGTH
- STD CM+2
- SHN 2
- STD CN+4 TRACK COUNT
- LDC 4000
- STD CN+3
- CTRA UJN CTR2 CLEAR TRT/MRT/DIT
- * PSN (INDEPENDENT SHARED DEVICE)
- LDD CN+2
- ADN 7
- SHN -3 SET MRT LENGTH
- ADN MISD
- RAD CM+2 CLEAR TRT
- CTR2 LDN 0
- STD CM+1
- MONITOR CSTM
- * LDN 0 CLEAR USER COUNTS
- STD WB+3
- STD WB+1 CLEAR ERROR STATUS
- LDD ES
- SHN 21-6
- PJN CTR3 IF DEVICE AVAILABLE
- LDN MLPTU
- STD WB CLEAR STATUS FLAGS
- CTR3 LDD ES+4
- SHN 3
- ADK TDGL
- CWD CN
- ADN STLL-TDGL STORE STATUS WORD
- CWD WB
- LDN CDIS CLEAR DEVICE INTERLOCK
- RJM STB
- LDD CN FLAW ODD TRACKS OFF END OF TRT
- STD T6
- CTR4 LPN 3
- NJN CTR5 IF ODD TRACK COUNT
- LJM CTRX RETURN
- CTR5 LDN STFS SET TRACK FLAWED
- RJM STB
- AOD T6
- UJN CTR4 CHECK NEXT TRACK
- GAS SPACE 4,10
- ** GAS - GET ALTERNATE LABEL SECTOR.
- *
- * ENTRY (ES - ES+4) = *EQDE* WORD OF EST ENTRY.
- *
- * EXIT (A) = ALTERNATE LABEL SECTOR.
- *
- * USES T1.
- GAS1 LDN 2 ADVANCE TABLE ADDRESS
- RAD T1
- GAS2 LDI T1
- ZJN GASX IF END OF TABLE
- LMD ES+3
- NJN GAS1 IF NOT MATCHING DEVICE MNEMONIC
- LDM 1,T1
- GAS SUBR ENTRY/EXIT
- LDC TALS
- STD T1
- UJN GAS2 ENTER SEARCH LOOP
- TALS BSS 0
- LIST G
- TBL "MSEQ"
- LIST *
- PURGMAC TBLM
- CON 0 END OF TABLE
- SPACE 4,10
- OVERFLOW OVLA,BUF
- OVERLAY (EDIT TRT / INITIALIZE LOCAL AREAS.)
- EDT SPACE 4,10
- *** FUNCTION *EDTF* - EDIT DEVICE TRT.
- *
- * ENTRY (IR+3 - IR+4) = ADDRESS (ADDR) 0F PARAMETERS.
- *
- *T, ADDR 12/ MASK, 12/ ESTO, 36/ 0
- EDT ENTRY
- RJM LDA READ PARAMETER WORD
- CRD CN
- LDC BUF-1 INITIALIZE BUFFER INDEX
- STD TI
- EDT1 AOD TI ADVANCE BUFFER INDEX
- LDD CN
- LPC 1 UNPACK MASK BITS
- EDTA EQU *-1
- STI TI SET IN MASK TABLE
- LDM EDTA
- RAM EDTA SHIFT BIT
- SHN -10
- ZJN EDT1 IF NOT END OF MASK
- * SET UP TRT SEARCH FOR SELECTED FILES.
- LDD CN+1 SET MASS STORAGE EQUIPMENT
- RJM SME
- RJM TRT UPDATE TRT
- LDD ES+4
- SHN 3
- ADK TDGL GET TRACK COUNT FROM MST
- CRD CN
- SETMS IO,(DF,NS,RW)
- LDD CN SET NUMBER OF TRACKS
- STD CN+2
- UJN EDT5 ENTER LOOP
- EDT2 LDC MESN ISSUE SYSTEM SECTOR ERROR MESSAGE
- RJM STM
- EDT3 LDD PF
- ZJN EDT5 IF TRACK NOT INTERLOCKED
- LDN CTIS
- RJM STB CLEAR TRACK INTERLOCK
- * LDN 0
- EDT4 STD PF CLEAR TRACK INTERLOCKED STATUS
- * SCAN TRT FOR PRESERVED FILES.
- EDT5 SOD CN+2
- PJN EDT7 IF NOT END OF TRACKS
- EDT6 LJM DPP1 SET CHECKPOINT AND DROP
- EDT7 LMC 4000 SET TRACK BIT
- RJM CTB CHECK TRACK IN TRT
- SHN -4
- ZJN EDT5 IF PRESERVED FILE BIT NOT SET
- RJM CST CHECK SPECIAL TRACKS
- ZJN EDT5 IF SPECIAL PF TRACK
- MJN EDT5 IF DAT OR IQFT TRACK
- LDN 0 READ SYSTEM SECTOR
- RJM RSS
- NJN EDT2 IF SYSTEM SECTOR ERROR
- LDM FNSS+4
- SHN -6
- LMN PMFT
- ZJN EDT9 IF DIRECT ACCESS FILE
- LMN FAFT&PMFT
- NJP EDT10 IF NOT FAST ATTACH FILE
- EDT9 LDM CTSS+FCUI+1
- LPN 7 SET USER INDEX
- STD TI
- LDM BUF,TI
- ZJN EDT10 IF MASK DOES NOT MATCH
- RJM RRS
- * IF FILE HAS ACTIVE USERS, SET *PURGE* BIT IN SYSTEM SECTOR.
- LDM CASS CHECK FOR ACTIVE USERS
- LPN 32
- ADM UCSS+1
- ADM UCSS+2
- ADM UCSS+3
- ADM UCSS+4
- ADM FISS
- ZJN EDT11 IF NO USERS
- LDM CASS
- SCN 40
- LMN 40 SET PURGE BIT
- STM CASS
- RJM WSS UPDATE SYSTEM SECTOR
- EDT10 ENDMS
- LJM EDT3 PROCESS NEXT TRACK
- * FILES WHICH MATCH WITH THE MASK BELONG TO MASTER DEVICE
- * WHICH HAS BEEN INITIALIZED AND MUST BE DROPPED.
- EDT11 ENDMS
- LDD T5 RELEASE TRACKS
- STD CM+1
- LDD T6
- STD CM+2
- MONITOR DTKM
- * LDN 0
- LJM EDT4 CLEAR TRACK INTERLOCKED STATUS
- ILA SPACE 4,10
- *** FUNCTION *ILAF* - INITIALIZE INACTIVE LOCAL AREAS.
- *
- * ENTRY (IR+4) = EST ORDINAL.
- ILA ENTRY
- LDC MMFL GET MACHINE ID CODE
- CRM BUF,ON
- LDD LD SET LINK EQUIPMENT
- STD T5
- ZJN ILA2 IF NOT MMF ENVIRONMENT
- LDN 5*MXMF
- STM PLAA
- SETMS IO
- LDD CM+4 GET LINK DEVICE LABEL TRACK
- SHN 3
- ADN ALGL
- CRD CM
- LDD CM+1
- STD T6
- LDN ETLT SET SECTOR ADDRESS
- STD T7
- LDC BUF-2 READ MACHINE ID CODES
- RJM RDS
- PJN ILA1 IF NO READ ERRORS
- LJM GDS2 ABORT
- ILA1 ENDMS RELEASE CHANNEL
- * GET LOCAL AREA SECTOR.
- ILA2 LDD IR+4 SET MASS STORAGE EQUIPMENT
- RJM SME
- LDD ES CHECK DEVICE USAGE
- SHN 21-4
- PJN ILA3 IF NOT INDEPENDENT SHARED DEVICE
- LDC BUF-4 READ DIT TO BUFFER
- RJM RDT
- LDC MISD*5 SET TABLE LENGTH
- STM PLAA
- ILA3 LDD ES+4
- SHN 3
- ADN STLL GET STATUS WORD FROM MST
- CRD CM
- LDD CM+1 CHECK ERROR FIELD
- LPN 77
- LMN STLE
- ZJN ILA4 IF LABEL ERROR
- RJM GLA GET LOCAL AREA SECTOR
- ZJN ILA4 IF NO SLA OR THIS MACHINE NOT PRESENT
- LDN 0
- STD TI CLEAR INDEX LOCATIONS
- STD TA
- * INITIALIZE INACTIVE LOCAL AREAS.
- LDM BFMS+1 CHECK SECTOR WORD COUNT
- ZJN ILA4 IF EMPTY SECTOR
- ADC -101
- MJN ILA5 IF LEGAL WORD COUNT
- ILA4 CMSTF GLAP CLEAR SECTOR OF LOCAL AREAS FLAG
- LDC MESD * EQXXX, LOCAL AREA SECTOR RESET.*
- UJN ILA7 COMPLETE PROCESSING
- ILA5 RJM PLA PROCESS LOCAL AREA
- LDN 2*5
- RAD TI ADVANCE SLA INDEX
- LDN 2
- RAD TA ADVANCE SECTOR INDEX
- SBM BFMS+1
- MJN ILA5 IF NOT END OF SECTOR DATA
- * REFORMAT SECTOR AND UPDATE DEVICE.
- RJM RFS REFORMAT SECTOR
- ZJN ILA6 IF EMPTY SECTOR
- SETMS IO,(DF,NS,RW)
- LDC BFMS+WLSF REWRITE SECTOR
- RJM WDS
- ENDMS
- ILA6 LDC MESC * EQXXX, LOCAL AREAS INITIALIZED.*
- ILA7 RJM DFM
- SMSTF LCKP SET EQUIPMENT CHECKPOINT
- LDN 2
- LJM CKC SET CHECKPOINT REQUEST
- PLA SPACE 4,10
- ** PLA - PROCESS LOCAL AREAS.
- *
- * ENTRY (TI) = INDEX TO LOCAL AREA.
- * (BUF) = LIST OF ACTIVE MACHINE ID CODES.
- *
- * EXIT TRACKS DROPPED FOR INACTIVE AREAS.
- *
- * USES T1, T2, CM - CM+4.
- *
- * MACROS MONITOR.
- PLA SUBR ENTRY/EXIT
- LDN 0
- STD T2
- PLA1 LDM BUF,T2 COMPARE ID CODES
- LMM BFMS+2,TI
- ZJN PLAX IF ACTIVE AREA
- LDN 5
- RAD T2 ADVANCE INDEX
- LMC 5
- PLAA EQU *-1
- * LMC 5*MXMF (MMF ENVIRONMENT)
- NJN PLA1 IF NOT END OF ID CODES
- * DROP INACTIVE DAYFILE TRACKS.
- LDN 5 SET DAYFILE INDEX
- STD T2
- LDC BFMS+2
- ADD TI
- STM PLAB SET LOCAL AREA ADDRESS
- STM PLAC
- STD T1
- PLA2 LDM **,T2 CHECK FOR DAYFILE TRACK
- PLAB EQU *-1
- ZJN PLA3 IF TRACK NOT RESERVED
- STD CM+2
- LDD T5 SET EQUIPMENT
- STD CM+1
- MONITOR DTKM
- PLA3 AOD T2 BUMP INDEX
- LMN EXDF+5
- NJN PLA2 IF NOT END OF DAYFILES
- STD T2
- PLA4 LDN 0 CLEAR LOCAL AREA
- STM **,T2
- PLAC EQU *-1
- AOD T2
- LMN 2*5
- NJN PLA4 IF NOT END OF CLEAR
- LJM PLAX RETURN
- RFS SPACE 4,10
- ** RFS - REFORMAT SECTOR.
- *
- * ENTRY (BFMS) = REMAINING LOCAL AREAS.
- *
- * EXIT (A) = 0 IF SECTOR EMPTY.
- *
- * USES T1 - T3, TI.
- *
- * MACROS CMSTF.
- RFS SUBR ENTRY/EXIT
- LDN 0
- STD T1 CLEAR INDICES
- STD T2
- STD TI CLEAR SECTOR WORD COUNT
- STD T3
- RFS1 LDM BFMS+2,T2
- ZJN RFS4 IF EMPTY LOCAL AREA
- LDD T2
- LMD T3
- ZJN RFS3 IF LOCAL AREA SECTOR MOVE NOT REQUIRED
- RFS2 LDM BFMS+2,T2
- STM BFMS+2,T3 MOVE DATA
- AOD T3
- LDN 0 CLEAR ENTRY
- STM BFMS+2,T2
- AOD T2 ADVANCE INDICES
- AOD T1
- LMN 2*5
- NJN RFS2 IF NOT END OF MOVE
- STD T1
- RFS3 LDN 2 ADVANCE SECTOR WORD COUNT
- RAD TI
- UJN RFS5 CONTINUE REFORMAT
- RFS4 LDN 2*5 ADVANCE SEARCH INDEX
- RAD T2
- RFS5 LCN 2 DECREMENT WORD COUNT
- RAM BFMS+1
- NJN RFS1 IF NOT END OF SECTOR
- LDD TI SET SECTOR WORD COUNT
- STM BFMS+1
- NJN RFS6 IF NOT EMPTY SECTOR
- * CLEAR LOCAL AREA SECTOR BIT.
- CMSTF GLAP
- RFS6 LJM RFSX RETURN
- RRS SPACE 4,15
- ** RRS - REREAD SYSTEM SECTOR IF TRACK INTERLOCK NOT SET.
- *
- * ENTRY (PF) = TRACK INTERLOCK STATUS.
- *
- * EXIT TO CALLER IF TRACK INTERLOCKED ON ENTRY.
- *
- * EXIT (A) = (T6) IF TRACK NO LONGER RESERVED.
- * = RESPONSE FROM *RSS*.
- * TO PREVIOUS *RSS* CALLER.
- *
- * CALLS RSS, STI.
- *
- * MACROS ENDMS.
- RRS SUBR ENTRY/EXIT
- LDD PF
- NJN RRSX IF FIRST TRACK INTERLOCKED
- ENDMS
- LDM RSS CHANGE RETURN TO LAST *RSS* CALLER
- STM RRS
- RJM STI SET TRACK INTERLOCK
- NJN RRSX IF TRACK NO LONGER RESERVED
- * LDN 0 REREAD SYSTEM SECTOR
- RJM RSS
- UJN RRSX RETURN
- SPACE 4,10
- OVERFLOW OVLA,BUF
- OVERLAY (SHARED MASS STORAGE FUNCTIONS.),INT
- CSD SPACE 4,15
- *** FUNCTION *CSDF* - CHECK SHARED DEVICE STATUS.
- *
- * ENTRY (IR+3 - IR+4) = ADDRESS (ADDR) OF PARAMETERS.
- * (T5) = EST ORDINAL.
- * (ES - ES+4) = *EQDE* WORD OF EST ENTRY.
- * (WB - WB+4) = PARAMETER WORD AT ADDR.
- *
- *T, ADDR 12/ ESTO, 48/ 0
- *
- * EXIT WHEN DEVICE UNLOADED ON OTHER MACHINES -
- *
- *T, ADDR 12/ 7777, 48/ 0
- CSD ENTRY
- LDD LD
- ZJP CSD7 IF INDEPENDENT SHARED DEVICE
- RJM CRI CHECK RECOVERY INTERLOCK
- RJM GDS GET DAT TRACK
- ZJN CSD2 IF NOT DEFINED IN DAT
- LDM BFMS+2+4,TI GET MST SECTOR
- STD T6
- LDN 0 SET SECTOR
- STD T7
- LDM BFMS+2+5+4,TI GET DAT STATUS
- STD WB
- SETMS IO,(DF,NS)
- LDC BFMS READ MST FROM LINK DEVICE
- RJM RDS
- MJP GDS2 IF READ ERROR
- ENDMS
- STD T2 INITIALIZE MACHINE INDEX
- * CHECK UNLOAD STATUS IN OTHER MACHINES.
- LDC BFMS+2+STLL*5
- STD TI
- CSD1 AOD T2 INCREMENT DEVICE INDEX
- LMN MXMF+1
- CSD2 ZJN CSD5 IF END OF LOCAL AREAS
- LDI TI
- LPN MLDUL
- NJN CSD4 IF UNLOADED
- LDD T2
- LMD MI
- ZJN CSD3 IF THIS MACHINE
- LDD WB
- CSDA SHN 21-0
- MJN CSD6 IF DEVICE ACTIVE ON ANOTHER MACHINE
- UJN CSD4 ADVANCE SEARCH
- CSD3 LDI TI CHECK THIS MACHINE STATUS
- SHN 21-LIAL+LIAL/12D*12D
- MJN CSD4 IF DEADSTART INITIALIZE
- LDM 1,TI
- LPN 77 CHECK ERROR CONDITION
- LMN STLE
- ZJN CSD4 IF LABEL ERROR
- LDM 3,TI
- NJN CSD6 IF ACTIVE USERS ON DEVICE
- CSD4 LDN LLLL*5
- RAD TI ADVANCE SEARCH INDEX
- SOM CSDA
- UJN CSD1 LOOP
- CSD5 LCN 0
- STD WB
- RJM LDA SET ADDRESS OF PARAMETER BLOCK
- CWD WB
- LJM DPP EXIT
- CSD6 LDM 2,TI SET MACHINE ID IN MESSAGE
- STM CSDD
- LDC CSDC SET MESSAGE ADDRESS
- LJM RCL RECALL *IMS*
- CSD7 LDD ES+4 CHECK ERROR STATUS
- SHN 3
- ADN STLL
- CRD CM
- LDD CM+1
- LPN 77
- LMN STLE
- ZJN CSD5 IF LABEL ERROR
- LDD CM
- SHN 21-LIAL+LIAL/12D*12D
- MJN CSD10 IF DEADSTART INITIALIZE
- LDC BFMS READ DIT TO BUFFER
- RJM RDT
- LDC MMFL GET MACHINE ID
- CRD T7
- LDC BFMS+2 SET SEARCH INDEX
- STD TI
- CSD8 LDM 2,TI
- ZJN CSD9 IF SLOT NOT ASSIGNED
- LDM 1,TI
- LPN 2
- NJN CSD9 IF NON-REMOVABLE DEVICE UNLOADED
- LDM 2,TI
- LMD T7
- NJN CSD11 IF NOT THIS MACHINE
- CSD9 LDN 5
- RAD TI
- LMC BFMS+2+5*MISD
- NJN CSD8 IF NOT END OF SEARCH
- CSD10 LJM CSD5 SET RESPONSE
- CSD11 LJM CSD6 SET BUSY RESPONSE
- CSDC DATA H* EQXXX, BUSY ON MID *
- CSDD DATA C*XX.*
- ISD SPACE 4,15
- *** FUNCTION *ISDF* - INTERLOCK INDEPENDENT SHARED DEVICE.
- *
- * ENTRY (IR+3 - IR+4) = ADDRESS (ADDR) OF PARAMETERS.
- * (T5) = EST ORDINAL.
- * (ES - ES+4) = *EQDE* WORD OF EST ENTRY.
- * (WB - WB+4) = PARAMETER WORD AT ADDR.
- *
- *T, ADDR 12/ ESTO, 47/ 0, 1/ F
- * F = 0 TO CLEAR INTERLOCK.
- * = 1 TO SET INTERLOCK.
- *
- * EXIT
- *
- *T, ADDR 12/ 7777, 48/ 0
- ISD11 LDC ISDD ISSUE MESSAGE TO DAYFILE
- RJM DFM
- LJM DPP EXIT
- ISD ENTRY
- LDD ES+4 FETCH LABEL TRACK WORD FROM MST
- SHN 3
- ADN ALGL
- CRD CN
- LDC MMFL GET MACHINE ID
- CRD FN
- LDD CN+1 SET LABEL TRACK
- STD T6
- LDN 0
- STD T7
- SETMS IO,(DE,DF,NS,RW)
- LDC BFMS READ LABEL SECTOR
- RJM RDS
- MJN ISD11 IF READ ERROR
- LDC DISS
- STD TI
- ISD1 LDM 3,TI CHECK INITIALIZE INTERLOCK
- LPN 1
- ZJN ISD2 IF INTERLOCK NOT SET
- LJM ISD7 PROCESS INTERLOCK SET
- ISD2 LDM 4,TI
- LMD FN
- NJN ISD3 IF NOT THIS MACHINE
- LDD TI SAVE ADDRESS FOR THIS MACHINE
- ADN 3
- STM ISDA
- ISD3 LDN 5 INCREMENT ADDRESS
- RAD TI
- LMC DISS+5*MISD
- NJN ISD1 IF NOT END OF SEARCH
- LDD WB+4 CHECK FUNCTION
- ZJN ISD5 IF CLEARING INTERLOCK
- AOM ** SET INTERLOCK
- ISDA EQU *-1
- ISD4 RJM CDC COMPUTE LABEL CHECKSUM
- STM CKSS
- LDC BFMS+WLSF REWRITE LABEL SECTOR
- RJM WDS
- ISD5 ENDMS
- LCN 0 SET RESPONSE
- STD WB
- RJM LDA
- CWD WB
- LDD WB+4
- ZJN ISD6 IF CLEARING INTERLOCK
- SMSTF LPTU SET TRT IN CM FLAG
- ISD6 LJM DPP EXIT
- ISD7 LDM 4,TI
- LMD FN
- NJN ISD8 IF NOT THIS MACHINE
- LDD WB+4
- NJN ISD5 IF SETTING THE INTERLOCK
- SOM 3,TI
- UJP ISD4 REWRITE SECTOR
- ISD8 LDD ES+4 FETCH MST ERROR STATUS
- SHN 3
- ADN STLL
- CRD CM
- LDD CM+1 CHECK ERROR STATUS
- LPN 77
- LMN STLE
- ZJN ISD9 IF LABEL ERROR
- LDD CM
- SHN 21-LIAL+LIAL/12D*12D
- PJN ISD10 IF NOT DEADSTART INITIALIZE
- ISD9 LJM ISD5 SET INTERLOCK COMPLETE
- ISD10 LDM 4,TI SET MACHINE ID IN MESSAGE
- STM ISDC
- ENDMS
- LDC ISDB DISPLAY MESSAGE
- LJM RCL RECALL *IMS*
- ISDB DATA H* EQXXX, INTERLOCKED BY MID *
- ISDC DATA C*XX.*
- ISDD DATA C* EQXXX, LABEL READ ERROR.*
- CRI TITLE SUBROUTINES.
- ** CRI - CHECK RECOVERY INTERLOCK.
- *
- * EXIT TO *RCL* IF INTERLOCK NOT SET.
- *
- * USES CN - CN+4.
- *
- * CALLS IFR, RCL.
- CRI1 LDC 4000 SET INTERLOCK FLAG
- RAD CN+2
- LDC MMFL STORE DAT INTERLOCK STATUS
- CWD CN
- CRI2 AOM RCLB FLAG DAT INTERLOCK SET
- CRI SUBR ENTRY/EXIT
- LDC MMFL
- CRD CN
- LDD CN+2 CHECK DAT INTERLOCKED
- SHN 21-13
- MJN CRI2 IF INTERLOCKED BY THIS MACHINE
- LDN DATI GET DAT INTERLOCK
- RJM IFR
- ZJN CRI1 IF INTERLOCK SET
- LDC CRIA RECALL WAITING FOR INTERLOCK
- UJN RCL RECALL *IMS*
- CRIA DATA C*$WAITING - RECOVERY INTERLOCK.*
- RCL SPACE 4,10
- ** RCL - RECALL *IMS*.
- *
- * ENTRY (A) = MESSAGE ADDRESS.
- * (IR - IR+4) = *IMS* CALL.
- RCL STM RCLA WRITE MESSAGE TO CP
- LDD CP
- ADN MS2W
- CWM **,TR
- RCLA EQU *-1
- RCLB LDN 0
- * LDN 1 (DAT INTERLOCK SET)
- ZJN RCL1 IF DAT NOT INTERLOCKED
- LCN DATI
- RJM IFR
- LDC MMFL CLEAR DAT INTERLOCK FLAG
- CRD CM
- LDC 4000
- RAD CM+2
- LDC MMFL
- CWD CM
- RCL1 LDN ZERL
- CRD CM
- LDD MA RECALL REQUEST
- CWM IR,ON
- CWD CM
- MONITOR RECM
- LJM PPR EXIT
- SPACE 4,10
- ** COMMON DECKS.
- *CALL COMPCLC
- SPACE 4
- OVERFLOW OVLA,BFMS
- INT SPACE 4,10
- ** INT - INITIALIZE OVERLAY.
- *
- * ENTRY (IR - IR+4) = *IMS* CALL.
- *
- * EXIT (ES - RS+4) = EST ENTRY.
- * (WB - WB+4) = PARAMETER WORD FOR *IMS* CALL.
- * (T5) = EST ORDINAL FROM THE PARAMETER WORD.
- *
- * CALLS C2D, LDA.
- *
- * MACROS SFA.
- INT SUBR ENTRY/EXIT
- RJM LDA READ PARAMETER WORD
- CRD WB
- SFA EST,WB GET EST ENTRY
- ADK EQDE
- CRD ES
- LDD WB SET EST ORDINAL
- STD T5
- STM EQNO
- RJM C2D
- STM CSDC+2
- STM ISDB+2
- STM ISDD+2
- LDD WB
- SHN -6
- ADC 2RQ0
- STM CSDC+1
- STM ISDB+1
- STM ISDD+1
- UJP INTX RETURN
- OVERLAY (MISCELLANEOUS FUNCTIONS.)
- SFL SPACE 4,10
- *** FUNCTION *SFLF* - SET FLAWS.
- *
- * ENTRY (IR+3 - IR+4) = ADDRESS (ADDR) OF PARAMETERS.
- *
- *T, ADDR 12/ TYPE, 12/ 0, 12/ ESTO, 12/ 0, 12/ TRACK
- *
- * TYPE 0 = END OF TABLE.
- * 1 = SET FLAW.
- * 2 = CLEAR FLAW.
- SFL ENTRY
- LDN PNFE PARAMETER BLOCK WORD COUNT
- STD TI
- RJM LDA READ FLAW LIST
- CRM BUF,TI
- LDN 0 SET END OF BUFFER
- STM BUF+PNFE*5
- LDM BUF+2 SET MASS STORAGE EQUIPMENT
- RJM SME
- LDD ES+4
- SHN 3
- ADK TDGL FETCH TRT LENGTH FROM MST
- CRD CN
- RJM TRT UPDATE TRT
- LDN 0
- STD CA CLEAR FLAW REQUESTS PROCESSED
- STD T4
- STD CA+1 CLEAR FLAWS NOT PROCESSED
- STD TI
- LDC MESBL-1 SET MESSAGE BUFFER ADDRESS FOR FLAWS
- STD TA
- LDN 5+1 NUMBER OF TRACKS + 1 PRINTED PER LINE
- STD T3
- UJN SFL4 ENTER LOOP
- * ENTER FLAW NOT PROCESSED IN MESSAGE.
- SFL1 SOD T3
- NJN SFL2 IF NOT YET A FULL LINE
- STI TA COMPLETE PREVIOUS LINE
- AOD T4 INCREMENT LINE COUNT
- LDN 5 NUMBER OF TRACKS PRINTED PER LINE
- STD T3
- SFL2 AOD CA+1 COUNT FLAWS NOT PROCESSED
- AOD TA
- LDD T6 PLACE TRACK IN MESSAGE
- SHN -6
- RJM C2D
- STI TA
- AOD TA
- LDD T6
- RJM C2D
- STI TA
- AOD TA
- LDC 2R,
- STI TA
- * INCREMENT TO NEXT FLAW REQUEST.
- SFL3 AOD CA INCREMENT REQUEST COUNTER
- LDN 5
- RAD TI ADVANCE TO NEXT REQUEST
- * CHECK FLAW REQUEST.
- SFL4 LDM BUF+4,TI CHECK TRACK BIT
- RJM CTB
- LDM BUF,TI
- ZJN SFL9 IF END OF LIST
- LDD T2
- SBD CN+2
- PJN SFL8 IF OUT OF TRT
- LDM CM,T1 CHECK LINKAGE BYTE
- LMC 3777
- NJN SFL7 IF TRACK NOT PREVIOUSLY FLAWED
- LDM BUF,TI CHECK REQUEST TYPE
- SBN 1
- SFL5 ZJN SFL3 IF SET REQUEST
- LDN CTFS&STFS
- SFL6 LMK STFS SET FLAW REQUEST
- RJM STB
- ZJN SFL5 IF NO REJECT
- UJN SFL8 SET FLAW NOT PROCESSED
- SFL7 LDM BUF,TI
- LMN 2
- ZJN SFL5 IF CLEAR REQUEST
- LDD CM+4
- ZJN SFL6 IF TRACK NOT RESERVED
- SFL8 LJM SFL1 SET FLAW NOT PROCESSED
- SFL9 LDD CA COMPUTE FLAWS PROCESSED
- SBD CA+1
- RJM C2D CONVERT TO DISPLAY CODE
- STM MESA+4
- LDC MESA * EQXXX, YY TRACKS FLAWED.*
- RJM DFM
- LDC ERLN+MESA ISSUE MESSAGE TO ERRLOG
- RJM DFM
- LDD CA+1
- ZJN SFL11 IF ALL FLAWS PROCESSED
- RJM C2D
- STM MESB+4 INSERT COUNT IN MESSAGE
- LDC MESB
- RJM DFM * EQXXX, YY FLAWS NOT PROCESSED.*
- LDC ERLN+MESB
- RJM DFM
- LDN 0
- STI TA COMPLETE LAST PARTIAL LINE
- LDC MESBL-3*5
- STD T3
- SFL10 LDN 3*5 ADVANCE TO NEXT LINE
- RAD T3
- RJM DFM ISSUE A BUFFER OF FLAWS MESSAGE
- LDD T3
- LMC ERLN ISSUE MESSAGE TO ERRLOG
- RJM DFM
- SOD T4
- PJN SFL10 IF MORE BUFFERS TO ISSUE
- SFL11 LJM DPP2 INITIALIZE PACK FLAWS
- IDF SPACE 4,15
- *** FUNCTION *IDFF* - INITIALIZE INACTIVE DAYFILES.
- *
- * ENTRY (IR+3) = 6/ N, 6/ 0
- * (IR+4) = EST ORDINAL.
- *
- * N = 0 TO INITIALIZE SYSTEM DAYFILE.
- * = 1 TO INITIALIZE ACCOUNT FILE.
- * = 2 TO INITIALIZE ERRLOG FILE.
- * = 3 TO INITIALIZE MAINTENANCE LOG FILE.
- *
- * EXIT INACTIVE DAYFILE TRACK CHAINS RELEASED.
- IDF ENTRY
- RJM GLA GET LOCAL AREA SECTOR
- ZJN IDF1 IF NO DAYFILES ON DEVICE
- STM IDFA
- LDD IR+3 PICKUP FILE POINTER
- SHN -6
- STD TI
- ADN 1 SET POINTER FOR CHECKPOINT REQUEST
- STM CKCA+4
- LDM IDFA,TI
- IDFA EQU *-1
- NJN IDF2 IF FILE ON THIS EQUIPMENT
- IDF1 LDC MESG * EQXXX, NO INACTIVE DAYFILES FOUND.*
- LJM IDF8 CLEAR INTERLOCK AND EXIT
- * SET DAYFILE EQUIPMENTS FOR ACTIVE FILES.
- IDF2 STD T6 SET FIRST TRACK
- LDN DFPP
- CRD FN DAYFILE POINTER (FN)
- LDD TI
- SHN 1
- ADD TI
- SHN 6
- ADD FN SET FWA OF DAYFILE POINTERS
- SHN 14
- ADD FN+1
- ADN 2
- CRD CN READ DAYFILE FST
- LDD CN
- LPN 77
- LMD T5
- NJN IDF4 IF NOT ACTIVE DAYFILE
- LDC MESI * EQXXX, FILE ACTIVE - (NAME)*
- UJN IDF7 CLEAR INTERLOCK AND ISSUE MESSAGE
- IDF4 RJM DTS CHECK IF INTERLOCKED
- PJN IDF5 IF FILE FREE
- LDC MESJ * EQXXX, FILE BUSY - (NAME)*
- UJN IDF7 CLEAR INTERLOCK AND ISSUE MESSAGE
- * RELEASE FILE FROM SYSTEM.
- IDF5 RJM STI INTERLOCK FILE
- LMD T6
- ZJN IDF6 IF TRACK NOT RESERVED
- STD CM+2
- LDD T5 RELEASE FILE
- STD CM+1
- MONITOR DTKM
- * LDN 0 INDICATE LOCAL AREA UPDATE
- IDF6 STM IDFD
- UJN IDF10 ISSUE MESSAGES
- IDF7 STD CM SET MESSAGE ADDRESS
- ADN MENM
- STM IDFC SET FILE TYPE ADDRESS
- LDM DFTY,TI
- STM IDFB SET FILE NAME
- LDD MA
- CWM **,ON
- IDFB EQU *-1 FILE NAME ADDRESS
- SBN 1
- CRM **,ON READ FILE NAME INTO MESSAGE
- IDFC EQU *-1
- LDD CM ISSUE DAYFILE MESSAGE
- ADC NMSN
- IDF8 RJM DFM
- LDC * CHECK FOR LOCAL AREA UPDATE
- IDFD EQU *-1
- ZJN IDF9 IF LOCAL AREA UPDATE REQUIRED
- LJM DPP DROP PP
- IDF9 LDN 4
- LJM CKC CHECKPOINT LOCAL AREA
- * ISSUE NORMAL COMPLETION MESSAGES.
- IDF10 LDM DFTY,TI SET FILE NAME ADDRESS
- STM IDFE
- LDD MA MOVE FILE NAME TO MESSAGE
- CWM **,ON
- IDFE EQU *-1 (FILE NAME ADDRESS)
- SBN 1
- CRM MESH+MENM,ON
- LDC MESH+NMSN ISSUE DAYFILES ONLY MESSAGE
- UJN IDF8
- * DAYFILE NAME POINTERS.
- DFTY CON DFDF
- CON DFAF
- CON DFEL
- CON DFML
- * DAYFILE NAMES.
- DFDF DATA 10HDAYFILE.
- DFAF DATA 10HACCOUNT.
- DFEL DATA 10HERRLOG.
- DFML DATA 10HMAINLOG.
- CIN SPACE 4,10
- *** FUNCTION *CINF* - CLEAR INITIALIZE REQUEST.
- *
- * ENTRY (IR+4) = EST ORDINAL.
- CIN ENTRY
- LDD IR+4
- STD T5
- SFA EST READ EST ENTRY
- ADK EQDE
- CRD ES
- LDD ES+4 GET MST STATUS WORD
- SHN 3
- ADN STLL
- CRD WB
- LDD WB CLEAR INITIALIZE FLAGS
- STD T1
- LPN MLCKP+MRASD+MLUNL+MLDUL
- STD WB
- LDD WB+1
- LPN 77
- STD WB+1
- CIN1 LDD ES+4 STORE DEVICE STATUS WORD
- SHN 3
- ADN STLL
- CWD WB
- CMSTF LIAL FORCE MST UPDATE ON LINK DEVICE
- LDD T1
- LPC MLIAL+MLIHD+MLIFD+MLIPF
- ZJN CIT3 IF NOT PF/FULL INITIALIZE
- SOD CN+2
- MJN CIT3 IF NOT MMF ENVIRONMENT
- LPN 77
- NJN CIT2 IF NOT LAST INITIALIZE REQUEST
- * UJN CIT
- CIT SPACE 4,10
- *** FUNCTION *CITF* - CLEAR *CMS* INTERLOCK.
- *
- * ENTRY (IR+4) = *MSI* ABORT FLAG.
- CIT ENTRY
- LDD IR+4
- NJN CIT4 IF *MSI* ABORT
- CIT1 LDD CN+2 CHECK DAT INTERLOCKED
- SHN 0-13
- ZJN CIT3 IF INTERLOCK NOT SET
- LCN DATI CLEAR DATI INTERLOCK
- RJM IFR
- STD CN+2 CLEAR INITIALIZE COUNT
- CIT2 LDC MMFL
- CWD CN
- CIT3 LJM DPP DROP PP
- CIT4 LDM ABTB
- NJN CIT5 IF NOT DEADSTART SEQUENCING
- LDD MA STORE *UADM* PARAMETERS
- CWM CITA,ON
- LDN 1 SET WORD COUNT / NO DROP PP
- STD CM+1
- STD CM+2 DISABLE JOB SCHEDULER
- MONITOR UADM
- CIT5 LDN NCPL READ NUMBER OF CONTROL POINTS
- CRD CM
- AOD CM+1 SET SYSTEM CONTROL POINT
- SHN 7
- ADN MS2W STORE CONTROL POINT MESSAGE
- CWM CITB,TR
- LJM CIT1 CHECK DAT INTERLOCKED
- CITA CON LIOS INCREMENT BY ONE
- CON INWL WORD ADDRESS
- CON 13DS6+1 BIT POSITION + FIELD WIDTH
- CON 0,0
- CITB DATA C*MSI ABORT.*
- SPACE 4,10
- * COMMON DECKS.
- *CALL COMPDTS
- SPACE 4,10
- OVERFLOW OVLA,BUF
- SPACE 4
- TTL IMS - INITIALIZE MASS STORAGE.
- END
cdc/nos2.source/opl871/ims.txt ยท Last modified: 2023/08/05 17:24 by Site Administrator