cdc:nos2.source:opl871:rec
โTable of Contents
REC
Table Of Contents
- [00011] REC - SYSTEM RECOVERY PROCESSOR.
- [00013] SYSTEM RECOVERY PROCESSOR.
- [00178] MAIN PROGRAM.
- [00180] MAIN PROGRAM.
- [00314] SUBROUTINES.
- [00316] SJO - START JOB(S).
- [00368] TAXM - EXTENDED MEMORY ALLOCATION TABLE.
- [00375] MSR - ERROR RETURN FROM *RNS*.
- [00387] ERR - PROCESS ERROR.
- [00406] SCA - SET CP/PCP AREA ADDRESS.
- [00426] SRM - SEND RECOVERY MESSAGES.
- [00528] CONTROL POINT RECOVERY.
- [00530] CCP - CLEANUP CONTROL POINTS.
- [00599] RMT - RECOVER MANAGED TABLES.
- [00672] RTB - READ TABLE.
- [00719] SYSTEM RECOVERY.
- [00721] SYS - RECOVER SYSTEM.
- [00945] FDS - FIND DESCRIPTOR IN SAB.
- [00978] PCT - PROCESS CONTROL TABLES.
- [01059] SKR - SKIP RECORD.
- [01078] VEM - VERIFY EI AND MICROCODE NAMES.
- [01158] VTL - VERIFY TABLE LENGTHS.
- [01201] PRESET PROGRAM.
- [01203] PRS - PRESET.
- [01316] STU - SCAN TAPE UNITS IN *MAGNET*.
- [01417] 4RA - RECOVER DAYFILES.
- [01490] SUBROUTINES.
- [01492] IDF - INITIALIZE DAYFILES.
- [01740] IEM - ISSUE ERROR MESSAGE.
- [01793] FMM - FORMAT MESSAGES.
- [01869] GDT - GET DAYFILE TRACKS.
- [01906] TLM - TERMINATE LAST DAYFILE MESSAGE.
- [01969] USS - UPDATE SYSTEM SECTOR.
- [02082] ECS - MAIN ROUTINE.
- [02204] SUBROUTINES.
- [02206] ACE - ASSIGN CONTIGUOUS EXTENDED MEMORY TRACKS.
- [02418] CAD - CLEAR ALLOCATION DATA.
- [02439] CAT - CALCULATE ADDRESS OF TRT.
- [02461] CDI - CLEAR DEVICE INTERLOCK ON ECS.
- [02485] CTE - CREATE MEMORY CONTROL TABLE ENTRY.
- [02531] FAD - FETCH ALLOCATION DATA.
- [02550] FSS - FETCH SYSTEM SECTOR FOR USER EXTENDED MEMORY CHAIN.
- [02577] FTM - FIND THIS MACHINES ID IN THE SYSTEM SECTOR.
- [02617] HNG - ISSUE MESSAGE AND HANG.
- [02632] ISS - INITIALIZE SYSTEM SECTOR FOR USER EXTENDED MEMORY AREA.
- [02693] RLS - RELEASE EXISTING USER EXTENDED MEMORY SUB-CHAIN.
- [02789] SCP - SETUP CONTROL POINT AREAS.
- [02936] SDI - SET DEVICE INTERLOCK ON ECS.
- [02972] SMT - SETUP MEMORY CONTROL TABLE.
- [03014] SSS - STORE SYSTEM SECTOR FOR USER EXTENDED MEMORY CHAIN.
- [03068] PRS - PRESET PROGRAM.
- [03163] RCE - MAIN ROUTINE.
- [03182] SUBROUTINES.
- [03184] CDS - CHECK DEVICE STATUS.
- [03209] DDC - DETERMINE DOWN CHANNELS.
- [03256] IEQ - IDENTIFY EQUIPMENT.
- [03283] ISF - ISSUE *SEQM* FUNCTION.
- [03310] PCH - PROCESS CHANNEL TABLES.
- [03338] PET - PROCESS EST.
- [03394] RSE - RELEASE SYSTEM ASSIGNED EQUIPMENT.
- [03426] SES - SET EQUIPMENT STATE.
- [03484] SUBROUTINES.
- [03486] UQE - UPDATE QFT ENTRY.
- [03524] VEI - VALIDATE EOI FOR MASS STORAGE FILE.
- [03610] ABT - ABORT CM RECOVERY.
- [03639] CRS - CHECK ROLLIN/ROLLOUT STATUS.
- [03736] TJRP - TABLE OF JOB RECOVERY PROCESSORS.
- [03755] DEF - DETERMINE ERROR FLAG.
- [03823] JOB RECOVERY PROCESSORS.
- [03825] CSR - CHANGE STATUS TO ROLLOUT.
- [03846] REJ - RECOVER EXECUTING JOB.
- [03875] RJQ - RETURN JOB TO QUEUE.
- [03901] RPJ - RECOVER PRE-INITIAL JOB.
- [03922] RSJ - RECOVER JOB AT PSEUDO-CP.
- [03936] SUBROUTINES.
- [03938] PLF - PROCESS LOCAL FNT.
- [04026] SET - SET ENTRY TIME.
- [04145] IDM - ISSUE DEAD START MESSAGES.
- [04423] BRM - BUFFERED I/O RECOVERY MESSAGE GENERATOR.
- [04440] IGM - ISSUE GENERAL RECOVERY MESSAGES.
- [04477] IPM - ISSUE *PUT* RELATED RECOVERY ERROR MESSAGES.
- [04556] MTR - MANAGED TABLE RECOVERY.
- [04584] CNA - CLEAR NON-ROLLABLE ACCESS FLAG.
- [04617] CLT - PROCESS COMMON LIBRARIES TABLE RECOVERY.
- [04663] EJT - PROCESS EXECUTING JOB TABLE RECOVERY.
- [04728] FNT - PROCESS FILE NAME TABLE RECOVERY.
- [04796] LLF - LOCATE LIBRARY FILE.
- [04829] QFT - PROCESS QUEUE FILE TABLE RECOVERY.
- [04904] RRF - READ ROLLOUT FILE.
- [05083] CEL - DUMP CRITICAL ERROR LOG.
- [05114] AAP - ACTIVATE *APP*.
- [05165] CCF - CLEAR CEL FLAG IN DEADSTART SECTOR.
- [05195] CSC - COMPUTE SYMPTOM CODE.
- [05214] DAP - DEADSTART *APP*.
- [05232] FAB - FLUSH ASSEMBLY BUFFER.
- [05256] FEE - FIND EST ENTRY OF DEADSTART DISK.
- [05306] IBM - ISSUE BML MESSAGES.
- [05433] IEL - INITIATE ERROR LOGGING BY *DFT*.
- [05516] LPR - LOAD AND PREPARE *PPR* IN *DBUF*.
- [05578] MSW - MOVE SUPPLEMENT WORD TO ASSEMBLY BUFFER.
- [05606] PCL - PROCESS CRITICAL ERROR LOG.
- [05660] TRS - TERMINATE REGISTER SET.
- [05741] RMD - RECOVER MASS STORAGE DEVICES.
- [05842] CRP - CHECK RUNNING PP-S.
- [05865] GND - GET NEXT DEVICE.
Source Code
- REC.txt
- IDENT REC,REC
- PERIPH
- BASE MIXED
- SST
- EQV$ EQU 1 DEFINE NO EQUIPMENT CHECK FOR *COMPRSS*
- MSR$ EQU 1 SELECT ERROR PROCESSING FOR *RNS*
- IRA$ EQU 1 FLAG RANDOM ACCESS PROCESSORS INITIALIZED
- SEI$ EQU 1 SELECT TRT UPDATE FOR *COMPSEI*
- *COMMENT REC - SYSTEM RECOVERY PROCESSSOR.
- COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
- TITLE REC - SYSTEM RECOVERY PROCESSOR.
- SPACE 4
- *** REC - SYSTEM RECOVERY PROCESSOR.
- *
- * G. R. MANSFIELD. 70/12/17.
- * J. L. WARDELL. 72/08/17.
- * S. L. BETH. 74/12/17.
- * P. D. HAAS. 76/08/11.
- SPACE 4
- *** *REC* PROCESSES SYSTEM RECOVERY.
- SPACE 4,10
- *** DAYFILE MESSAGES.
- *
- *
- * THE FOLLOWING MESSAGES MAY APPEAR IN THE SYSTEM DAYFILE
- * AFTER A CM RECOVERY. EACH IS SELF EXPLANATORY AND
- * INDICATES THE NUMBER OF FILES IN A GIVEN CATEGORY FOUND
- * IN THE ASSOCIATED MANAGED TABLE.
- *
- * MESSAGES ASSOCIATED WITH THE FNT.
- *
- * *NNNN FAST ATTACH FILES RECOVERED.*
- *
- * MESSAGES ASSOCIATED WITH THE EJT.
- *
- * *NNNN PRE-INITIAL JOB FILES RECOVERED.*
- *
- * *NNNN EXECUTING JOB FILES RECOVERED.*
- *
- * *NNNN ROLLOUT FILES RECOVERED.*
- *
- * *NNNN SCP ROLLIN FILES RECOVERED.*
- *
- * *NNNN SCP ROLLOUT FILES RECOVERED.*
- *
- * *NNNN T/E ROLLOUT FILES RECOVERED.*
- *
- * *NNNN I/A ROLLOUT FILES RECOVERED.*
- *
- * *NNNN DISABLED ROLLOUT FILES RECOVERED.*
- *
- * *NNNN SUSPENDED ROLLOUT FILES RECOVERED.*
- *
- * *NNNN ROLLOUT ERROR FILES RECOVERED.*
- *
- * *NNNN PCP ROLLOUT FILES RECOVERED.*
- *
- * *NNNN PRE-INITIAL WAIT FILES RECOVERED.*
- *
- * *NNNN SERVICE LIMIT WAIT FILES RECOVERED.*
- *
- * MESSAGES ASSOCIATED WITH THE QFT.
- *
- * *NNNN INPUT FILES RECOVERED.*
- *
- * *NNNN PUNCH FILES RECOVERED.*
- *
- * *NNNN PLOT FILES RECOVERED.*
- *
- * *NNNN PRINT FILES RECOVERED.*
- *
- * *NNNN WAIT QUEUE FILES RECOVERED.*
- *
- * *NNNN SPECIAL FILES RECOVERED.*
- *
- * THE FOLLOWING MESSAGE INDICATES CM RECOVERY IS ABORTED DUE TO
- * PCP ROLLIN/ROLLOUT IN PROGRESS.
- *
- * * PCPNN CPA/MOVING.*
- SPACE 4
- *** ERROR LOG MESSAGES.
- *
- *
- * *CHXX,YYYYYYYYY.* = EQUIPMENT ON CHANNEL XX IS RUNNING WITH
- * FIRMWARE REVISION YYYYYYYYY.
- *
- * *ETXXX, UYY,PS=ZZZZZZ.* = THE PACK ON PHYSICAL UNIT YY OF EST
- * ORDINAL XXX OF TYPE ET HAS A SERIAL NUMBER OF ZZZZZZ.
- SPACE 4
- *** ENTRY CONDITIONS.
- *
- *
- * (IR+4) = RECOVERY STATUS.
- SPACE 4
- ** ROUTINES USED.
- *
- *
- * 4DA - CLEANUP PRESERVED FILE INTERLOCKS.
- * 0CI - IDENTIFY FIRMWARE.
- * 0PI - LIST PACK SERIAL NUMBERS.
- * 0DQ - DEQUEUE FILE.
- SPACE 4
- *CALL COMPMAC
- *CALL COMSACC
- *CALL COMSCPS
- *CALL COMSDFS
- QUAL DFT
- *CALL COMSDFT
- QUAL *
- *CALL COMSDSL
- *CALL COMSDST
- *CALL COMSEJT
- *CALL COMSHIO
- *CALL COMSJIO
- *CALL COMSMMF
- *CALL COMSMSC
- *CALL COMSMSP
- *CALL COMSMST
- *CALL COMSMTR
- QUAL MTX
- *CALL COMSMTX
- QUAL *
- QUAL COMSPFM
- *CALL COMSPFM
- QUAL *
- *CALL COMSPIM
- *CALL COMSPRD
- QUAL SCD
- *CALL COMSSCD
- QUAL *
- *CALL COMSSSD
- *CALL COMSSSE
- *CALL COMSWEI
- *CALL COMSZOL
- *CALL COMS1DS
- SPACE 4
- **** DIRECT LOCATION ASSIGNMENTS.
- NT EQU 16 TRACK COUNT
- FS EQU 20 - 24 FST ENTRY (5 LOCATIONS)
- CE EQU 25 CHECKPOINT DEVICE EST ORDINAL
- QA EQU 26 MANAGED TABLE ORDINAL
- ST EQU 27 SYSTEM TRACK NUMBER
- CN EQU 30 - 34 CM WORD BUFFER (5 LOCATIONS)
- QT EQU 35 QUEUED FILE TRACK
- QS EQU 36 QUEUED FILE SECTOR
- QI EQU 37 QUEUE INDEX
- FN EQU 40 - 44 FNT ENTRY (5 LOCATIONS)
- CR EQU 45 CM BUFFER ADDRESS
- DI EQU 46 DEVICE INITIALIZATION COUNT
- NS EQU 47 NUMBER OF CP-S + PCP-S
- NC EQU IR+2 NUMBER OF CONTROL POINTS
- RS EQU IR+4 RECOVERY STATUS
- FA EQU 57 FNT ADDRESS / ORDINAL
- LO EQU 60 LAST MASS STORAGE ORDINAL + 1
- PN EQU 61 CP / PCP NUMBER
- EO EQU 62 EJT ORDINAL
- CA EQU 63 - 67 CENTRAL ADDRESS (2 LOCATIONS)
- EC EQU CA+2 MANAGED TABLE ENTRY COUNT
- LM EQU CA+3 - CA+4 LIMIT ADDRESS (2 LOCATIONS)
- ****
- SPACE 4,10
- ** NFL FNT SECTOR EQUIVALENCES.
- TMP1 EQU FNTN+77
- TMP2 EQU FNTN/100*100
- FNTS EQU TMP1/100 FIRST SECTOR OF FNT-S IN NFL
- FNTT EQU FNTN-TMP2-LENF NON-FNT WORDS IN FIRST FNT SECTOR
- SBUFL EQU 2*500 DEFINE BUFFER SIZE
- SPACE 4,10
- * DEFINE UNQUALIFIED *COMSSCD* SYMBOLS.
- DSSC EQU /SCD/DSSC
- SSSC EQU /SCD/SSSC
- MXJC EQU /SCD/MXJC
- TITLE MAIN PROGRAM.
- REC SPACE 4
- ** REC - MAIN PROGRAM.
- ORG PPFW
- REC RJM PRS PRESET PROGRAM
- LDD RS
- ZJN REC2 IF NO RECOVERY
- RJM SYS RECOVER SYSTEM FILE
- NJN REC1 IF JOBS NOT RECOVERED FROM CM
- RJM CCP CLEANUP CONTROL POINTS
- REC1 RJM RMT RECOVER MANAGED TABLES
- REC2 EXECUTE 4RA SET UP DAYFILES
- LDC DSCP*200+MS1W
- CWM MSGA,TR *RECOVERY COMPLETE.*
- LDD RS CHECK RECOVERY STATUS
- LPN SYMK
- NJP REC5 IF RECOVERING SYSTEM
- * START SYSTEM TAPE LOAD AND WAIT FOR COMPLETION.
- LDC DSCP+ENRS MOVE TO DEADSTART CONTROL POINT
- STD CM+1
- MONITOR CCAM
- * LDN 0
- ERRNZ SYFO SYSTEM FILE ORDINAL .NE. 0
- STD QA
- SOD IR+3 SET RECOVERY COMPLETE
- LDD IA STORE INPUT REGISTER
- CWD IR
- REC3 PAUSE NE
- SFA FNT,QA READ SYSTEM FILE FNT
- CRD CM
- LDD CM+4 CHECK STATUS
- LPN 1
- NJN REC3 IF SYSTEM FILE BUSY
- LDD NC MOVE TO SYSTEM CONTROL POINT
- STD CM+1
- MONITOR CCAM
- REC4 LDC DSCP*CPAS+TFSW CHECK CONTROL POINT ACTIVITY
- CRD CM
- LDD CM
- NJN REC4 IF DEADSTART CONTROL POINT ACTIVE
- * COMPLETE RECOVERY OPERATIONS.
- REC5 LDN DSCL CHECK *DSD*
- CRD CM
- LMD CM+1
- NJN REC5 IF DATE/TIME NOT YET ENTERED
- RJM /RDB/USS UPDATE NEW DAYFILES SYSTEM SECTORS
- EXECUTE 4RE ISSUE DEADSTART MESSAGES
- LDD RS
- ZJN REC6 IF NOT RECOVERY DEADSTART
- EXECUTE 4RC RECOVER CHANNEL/EQUIPMENT STATUS
- * IDENTIFY MASS STORAGE EQUIPMENT.
- REC6 EXECUTE 4RG PROCESS ERROR LOGS
- RJM SRM SEND RECOVERY MESSAGES
- LDN ZERL
- CRD CM
- ADN DSDL-ZERL CLEAR *DSD* BUFFER INTERLOCK
- CWD CM
- RECA LDN 1
- * LDN 0 (MASS STORAGE VALIDATION ENABLED)
- ZJN REC7 IF MASS STORAGE VALIDATION ENABLED
- LDD RS
- NJN REC8 IF RECOVERY REQUESTED
- REC7 EXECUTE 4RH RECOVER MASS STORAGE DEVICES
- REC8 LDN ZERL
- CRD CM
- LDD MA STORE INPUT REGISTER FOR *1DS*
- CWM RECD,ON
- EXECUTE 1DS,=
- MONITOR RPPM CREATE DEADSTART SEQUENCING JOB
- LDN DSSL
- CRD CM
- LCN 4 CLEAR DEADSTART INTERLOCK
- RAD CM+4
- LDN DSSL
- CWD CM
- LDN ECRL FETCH EXTENDED MEMORY WORD
- CRD FS
- LDD FS
- ZJN REC9 IF USER EXTENDED MEMORY UNDEFINED
- EXECUTE 4RB ALLOCATE/RECOVER USER ECS
- REC9 LDN SYFO
- STD QA
- SFA FNT READ SYSTEM FILE FNT
- CRD FN
- LDD FN+4 CLEAR SYSTEM FILE INTERLOCK
- SCN 1
- STD FN+4
- SFA FNT,QA STORE FNT ENTRY
- CWD FN
- LDN JSCL RESET SCHEDULER CALL TIME
- CRD CM
- ADN RTCL-JSCL
- CRD CM+3
- LDN JSCL
- CWD CM
- RJM SJO START JOBS
- LDD RS CHECK RECOVERY STATUS
- LPN SYMK
- LMN SYCM
- RECB ZJN REC11 IF CM RECOVERY
- * PSN (DAYFILES CREATED)
- * ENTER HERE TO CALL *1CK*.
- REC10 LDD IA STORE INPUT REGISTER FOR *1CK*
- CWM RECC,ON
- EXECUTE 1CK,=
- UJN REC12 EXIT TO PP RESIDENT
- REC11 LDN JSCL CLEAR SCHEDULER ACTIVE
- CRD CM
- LDD CM
- LPC 3777
- STD CM
- LDN JSCL STORE SCHEDULER CONTROL
- CWD CM
- LDD MA
- CWM RECG,ON
- LDN 2 SELECT DROP PP OPTION
- STD CM+1
- MONITOR RPPM CALL *1PP*
- REC12 LJM PPR EXIT TO PP RESIDENT
- RECC VFD 60/0L1CK
- RECD VFD 18/0L1DS,6/0,6/0,6/DSSF,18/0LCMS,6/0
- RECE CON 0 CHECKPOINT FILE TRACK
- RECF CON 0 SYSTEM DEVICE EST ORDINAL
- RECG VFD 18/3L1PP,42/0
- TITLE SUBROUTINES.
- SJO SPACE 4,10
- ** SJO - START JOB(S).
- *
- * USES T7, CM - CM+4, CN - CN+4.
- *
- * MACROS MONITOR.
- SJO SUBR ENTRY/EXIT
- LDD NC
- STD T7
- SJO1 SOD T7
- ZJN SJOX IF ALL CP-S CHECKED
- SHN 7
- ADN STSW
- CRD CM
- ADN TFSW-STSW
- CRD CN
- LDD CM
- NJN SJO1 IF ACTIVITY
- LDD CN
- ZJN SJO1 IF NO JOB
- LDD T7 CHANGE CP
- STD CM+1
- MONITOR CCAM
- LDD CM+1
- NJN SJO1 IF CHANGE REJECTED
- LDD NC CHANGE BACK TO SYSTEM CP
- STD CM+1
- MONITOR CCAM
- UJN SJO1 LOOP
- SPACE 4,10
- ** COMMON DECKS.
- *CALL COMPACS
- *CALL COMPC2D
- CLT$ EQU 0 DEFINE *COMPGFP* ACCESS TO CLT
- EJT$ EQU 0 DEFINE *COMPGFP* ACCESS TO EJT
- FNT$ EQU 0 DEFINE *COMPGFP* ACCESS TO FNT
- QFT$ EQU 0 DEFINE *COMPGFP* ACCESS TO QFT
- IFP$ EQU 0 GENERATE *IFP* REMOTE CODE
- *CALL COMPGFP
- *CALL COMPIFR
- *CALL COMPRNS
- *CALL COMPRSS
- *CALL COMPSEI
- *CALL COMPSNT
- *CALL COMPIRA
- *CALL COMPWEI
- WCS$ EQU 1 CONSECUTIVE SECTOR AFTER SYSTEM SECTOR
- *CALL COMPWSS
- TAXM SPACE 4,10
- ** TAXM - EXTENDED MEMORY ALLOCATION TABLE.
- TAXMW EQU 4 ALLOW ROOM FOR 4 MACHINES WITH CPU PORTS
- TAXM BSS 5*TAXMW
- TAXML EQU *
- MSR SPACE 4,10
- ** MSR - ERROR RETURN FROM *RNS*.
- *
- * EXIT (A) .LT. 0.
- *
- * MACROS ENDMS.
- MSR CON 0 ENTRY
- ENDMS
- LCN 1
- LJM /COMPRNS/RNSX RETURN TO CALLER
- ERR SPACE 4,10
- ** ERR - PROCESS ERROR.
- *
- * ENTRY (A) = ADDRESS OF MESSAGE.
- ERR STM ERRA
- LDD NC STORE MESSAGE
- SHN 7
- ADN MS2W
- CWM *,TR
- ERRA EQU *-1
- LDD RS CHECK RECOVERY STATUS
- LPN FLMK
- LMN FLCM
- NJN * IF FILES NOT RECOVERED FROM CM
- LDN 6 SET *1CK* FUNCTION
- STM RECC+2
- LJM REC10 PROCESS OUTSTANDING CHECKPOINT REQUESTS
- SCA SPACE 4,10
- ** SCA - SET CP/PCP AREA ADDRESS.
- *
- * ENTRY (A) = CP/PCP NUMBER.
- * (NC) = SYSTEM CP NUMBER.
- *
- * EXIT (A) = CP/PCP AREA ADDRESS.
- SCA1 ADD NC SET REAL CP AREA ADDRESS
- SHN 7
- SCA SUBR ENTRY/EXIT
- SBD NC
- MJN SCA1 IF REAL CP
- ZJN SCA1 IF SYSTEM CP
- SHN 7
- ADC 0 ADD BASE PCPA ADDRESS - CPA LENGTH
- SCAA EQU *-1
- UJN SCAX RETURN
- SRM SPACE 4,10
- ** SRM - SEND RECOVERY MESSAGES.
- *
- * USES T1, T5, T6, T7.
- *
- * CALLS ACS, C2D, DFM.
- SRM3 STD CM CLEAR MESSAGE BUFFER
- LDD NC
- SHN 7
- ADN MS1W
- CWD CM
- SRM SUBR ENTRY/EXIT
- LDD RS
- ZJN SRMX IF NOT RECOVERY DEADSTART
- LCN 0 SET MESSAGE TABLE INDEX
- STD T7
- LDC BFMS SET ASSEMBLY BUFFER ADDRESS
- STD T5
- ADN 2
- STD T6
- SRM1 LDD T6
- STD T1
- LDC 2L ADD BLANK SEPARATOR
- STI T6
- SRM2 AOD T7 ADVANCE INDEX
- LMN MXFC
- ZJN SRM3 IF END OF TABLE
- LDM SRMA,T7
- ZJN SRM2 IF FILE CATEGORY NOT ENCOUNTERED
- SHN -6
- RJM C2D
- STI T5
- LDM SRMA,T7 CONVERT COUNT
- RJM C2D
- STM 1,T5 INSERT IN MESSAGE ASSEMBLY
- LDM SRMB,T7
- ZJN SRM2 IF KEY MESSAGE UNDEFINED
- RJM ACS
- LDC SRMC COMPLETE MESSAGE
- RJM ACS
- LDD T5 ISSUE MESSAGE TO DAYFILE
- RJM DFM
- LJM SRM1 LOOP
- SRMA BSS 0
- EJCT BSS 0
- CON -0
- ORG EJCT+MXJS
- P1L EQU *-EJCT
- QFCT BSS 0
- CON -0
- ORG QFCT+NRQT
- P2L EQU *-QFCT
- MSCT BSS 0
- LOC 0
- FACT CON 0 FAST ATTACH FILE COUNT
- PXL BSS 0
- LOC *O
- MXFC EQU *-SRMA
- SRMB BSS 0
- P1 INDEX
- INDEX PRJS,(=Z*PRE-INITIAL JOB*)
- INDEX EXJS,(=Z*EXECUTING JOB*)
- INDEX ROJS,(=Z*ROLLOUT*)
- INDEX SIJS,(=Z*SCP ROLLIN*)
- INDEX SOJS,(=Z*SCP ROLLOUT*)
- INDEX TOJS,(=Z*T/E ROLLOUT*)
- INDEX IOJS,(=Z*I/A ROLLOUT*)
- INDEX DOJS,(=Z*DISABLED ROLLOUT*)
- INDEX SUJS,(=Z*SUSPENDED ROLLOUT*)
- INDEX PCJS,(=Z*PCP ROLLOUT*)
- INDEX ERJS,(=Z*ROLLOUT ERROR*)
- INDEX NVJS,(=Z*NVE ENTRY*)
- INDEX PWJS,(=Z*PRE-INITIAL WAIT*)
- INDEX SWJS,(=Z*SERVICE LIMIT WAIT*)
- INDEX P1L
- P2 INDEX
- INDEX INQT,(=Z*INPUT*)
- INDEX PHQT,(=Z*PUNCH*)
- INDEX PLQT,(=Z*PLOT*)
- INDEX PRQT,(=Z*PRINT*)
- INDEX WTQT,(=Z*WAIT QUEUE*)
- INDEX SNQT,(=Z*SPECIAL*)
- INDEX P2L
- PX INDEX
- INDEX FACT,(=Z*FAST ATTACH*)
- INDEX PXL
- USE LITERALS
- SRMC DATA C* FILES RECOVERED.*
- SPACE 4,10
- OVLD EQU *+5 OVERLAY LOAD ADDRESS
- TITLE CONTROL POINT RECOVERY.
- CCP SPACE 4,10
- ** CCP - CLEANUP CONTROL POINTS.
- *
- * ERROR TO *ABT* IF CP/PCP MOVING.
- *
- * USES PN, CM - CM+4.
- *
- * CALLS CRS, PLF.
- *
- * MACROS EXECUTE, MONITOR, NFA.
- CCP SUBR ENTRY/EXIT
- EXECUTE 4RD LOAD RECOVERY ROUTINES
- LDN 0
- STD PN
- CCP1 AOD PN ADVANCE CP/PCP NUMBER
- SBD NS
- SBN 1
- ZJN CCPX IF END OF CP/PCP-S
- RJM CRS CHECK ROLLIN/ROLLOUT STATUS
- ZJN CCP1 IF NO JOB ASSIGNED TO CP/PCP
- LDC 0 CHECK CONTROL POINT MOVING
- CCPA EQU *-1
- LMD PN
- NJN CCP4 IF NOT MOVING
- CCPB LDN 0
- * LDN 1 (IF MOVING EM)
- NJN CCP4 IF MOVING EXTENDED MEMORY
- LDD CN
- ZJN CCP6 IF NO NFL ASSIGNED
- CCP3 LJM ABT ABORT CM RECOVERY
- CCP4 LDD CN
- ZJN CCP6 IF NO NFL ASSIGNED
- SBN DNFL
- MJN CCP3 IF LESS THAN DEFAULT
- SBN MNFL+1-DNFL
- PJN CCP3 IF GREATER THAN MAXIMUM
- LDD PN
- SBD NC
- PJN CCP1 IF PSEUDO CP OR SYSTEM CP
- RJM PLF PROCESS LOCAL FNT
- NFA DAPN+2 FETCH DAYFILE STATUS WORD
- CRD CM
- LDN 3 CLEAR DAYFILE INTERLOCKS
- STD CM+4
- NFA DAPN+2 STORE DAYFILE FST
- CWD CM
- CCP6 LDD CP GET JOB CONTROL INFORMATION
- ADN JCIW
- CRD CM
- ADK RFCW-JCIW GET DM* FILE POINTERS
- CRD CN
- LDD CM+3 CLEAR *DIS* FLAG
- LPC 6777
- STD CM+3
- LDN 0 CLEAR DM* FILE POINTERS
- STD CN
- STD CN+1
- LDD CP
- ADN JCIW
- CWD CM
- ADK RFCW-JCIW
- CWD CN
- LDD NC
- STD CM+1
- MONITOR CCAM RETURN TO SYSTEM CP
- LJM CCP1 LOOP FOR NEXT CP/PCP
- RMT SPACE 4,10
- ** RMT - RECOVER MANAGED TABLES.
- *
- * ERROR TO *ERR* IF ERROR RETURN FROM PROCESSOR.
- *
- * USES EO, LM, QA, QI, QT, ST, T3, CA - CA+4.
- *
- * CALLS CLT, EJT, FNT, QFT, *4RF*.
- *
- * MACROS EXECUTE.
- RMT SUBR ENTRY/EXIT
- LDC RMTA-1 SET LIST ADDRESS
- STD ST
- EXECUTE 4RF MANAGED TABLE RECOVERY
- RMT1 AOD ST ADVANCE LIST ADDRESS
- LDI ST
- ZJN RMTX IF END OF TABLES
- CRD CA READ TABLE POINTER
- LDN 0
- STD QT
- STD QI
- STD QA
- STD EO
- LDD EC SET NUMBER OF ASSIGNED ENTRIES
- SBD LM
- STD LM
- LDM RMTB-RMTA,ST SET PROCESSOR ADDRESS
- STD T3
- RJM 0,T3 PROCESS MANAGED TABLE
- ZJN RMT1 IF TABLE FULLY RECOVERED
- LDM RMTC-RMTA,ST
- STM RMTD SET TABLE IDENTIFIER
- LDC RMTD
- LJM ERR DISPLAY MESSAGE AND HANG
- RMTA BSS 0 LIST OF TABLE POINTER ADDRESSES
- CON QFTP
- CON EJTP
- CON FNTP
- CON CLTP
- RMTAA CON LIDP
- CON FOTP
- CON 0 END OF LIST
- RMTB BSS 0 LIST OF PROCESSOR ADDRESSES
- CON QFT
- CON EJT
- CON FNT
- CON CLT
- RMTC BSS 0 LIST OF TABLE IDENTIFIERS
- CON 2RQF
- CON 2REJ
- CON 2RFN
- CON 2RCL
- CON 2RLI
- CON 2RFO
- RMTD DATA C*FNT POINTER WORD ERROR.*
- SPACE 4,10
- ** MESSAGES.
- MSGA DATA C*RECOVERY COMPLETE.*
- OVLA EQU *+5 OVERLAY LOAD ADDRESS
- MSGR DATA C*CHECKPOINT DEVICE ERROR.*
- MSGS DATA C*CMR LENGTH CHANGED.*
- MSGT DATA C*VE ENTRY REQUIRED.*
- MSGU DATA C*SECURITY MODE CHANGED.*
- RTB SPACE 4,10
- ** RTB - READ TABLE.
- *
- * ENTRY (A) = LENGTH.
- * (CA - CA+1) = FWA.
- *
- * EXIT (A) .LT. 0 IF NOT ENOUGH SPACE FOR TABLE.
- * TO *SYS2* IF UNRECOVERED READ ERROR.
- *
- * USES T1, LM - LM+1.
- *
- * CALLS RNS.
- RTB2 ZJN RTBX IF EMPTY SECTOR
- LDD LM
- SHN 14 CHECK LENGTH
- ADD LM+1
- SBD T1
- MJN RTBX IF NO ROOM FOR SECTOR
- STD LM+1 DECREMENT LENGTH
- SHN -14
- STD LM
- LDD CA STORE SECTOR
- SHN 14
- ADD CA+1
- CWM BUF+2,T1
- STD CA+1 ADVANCE TABLE ADDRESS
- SHN -14
- STD CA
- LDD T1 CHECK WORD COUNT
- SHN -6
- NJN RTB1 IF NOT EOR
- RTB SUBR ENTRY/EXIT
- STD LM+1
- SHN -14 SET LENGTH
- STD LM
- RTB1 LDC BUF READ NEXT SECTOR
- RJM RNS
- PJN RTB2 IF SUCCESSFUL READ
- LJM SYS2 PROCESS READ ERROR
- SPACE 4
- ** COMMON DECKS WHICH ARE OVERLAID.
- *CALL COMPICT
- *CALL COMPLDB
- TITLE SYSTEM RECOVERY.
- SYS SPACE 4
- ** SYS - RECOVER SYSTEM.
- *
- * EXIT (A) = JOB RECOVERY STATUS.
- SYS SUBR ENTRY/EXIT
- LDD CE SET CHECKPOINT DEVICE EST ORDINAL
- STD T5
- LDD ST SET SYSTEM TABLE TRACK
- STD T6
- SETMS IO
- LDC NSYT SET SYSTEM TABLE ADDRESS
- RJM RSS READ SYSTEM SECTOR
- ZJN SYS4 IF VALID SYSTEM SECTOR
- SYS2 LDC MSGR *CHECKPOINT DEVICE ERROR.*
- LJM ERR ISSUE MESSAGE AND HANG
- SYS4 AOD T7
- LDC PBUF+500-2 READ SECOND SECTOR OF TABLE POINTERS
- RJM RNS
- MJN SYS2 IF READ ERROR
- LDN FSMS
- STD T7
- LDC PBUF-2 READ FIRST SECTOR OF TABLE POINTERS
- RJM RNS
- MJN SYS2 IF READ ERROR
- AOD T7
- RJM SKR SKIP EST
- RJM SKR SKIP CHANNEL TABLES
- * VERIFY EST LENGTH.
- LDN ESTP
- CRD CM
- LDD CM+2 COMPARE LENGTHS
- SBM PBUF+ESTP*5+2
- NJN SYS7 IF LENGTHS DIFFER
- RJM PCT PROCESS SUBSYSTEM TABLES
- * VERIFY LENGTH OF MANAGED TABLES.
- SYS6 LDC RMTA VERIFY TABLE LENGTHS
- RJM VTL
- ZJN SYS8 IF TABLE LENGTHS VALID
- LDM RMTC-RMTA,QA
- STM SYSA SET TABLE IDENTIFIER
- SYS7 ENDMS
- LDC SYSA
- LJM ERR DISPLAY MESSAGE AND HANG
- SYS8 STM RMTAA
- LDD RS CHECK RECOVERY STATUS
- LPN FLMK
- LMN FLCM
- NJN SYS9 IF FILES NOT RECOVERED FROM CM
- RJM SKR SKIP MANAGED TABLES
- LJM SYS11 READ LIBRARY TABLES
- * VERIFY OPERATING SYSTEM SECURITY MODE.
- SYS9 LDK SSML
- CRD CM
- LDM PBUF+SSML*5
- LMD CM
- LPN 7
- ZJN SYS10 IF SECURITY MODE UNCHANGED
- LDC MSGU *SECURITY MODE CHANGED.*
- LJM ERR PROCESS ERROR
- SYS10 LDK SSML RESTORE ACCESS CATEGORIES
- CWM PBUF+SSML*5,ON
- LDK JSNL RESTORE JOB SEQUENCE NUMBER
- CWM PBUF+5*JSNL,ON
- LDC 377777 READ MANAGED TABLES
- RJM RTB
- LDN ZERL
- CRD CM
- LDN FNTP SET SYSTEM FILE BUSY
- CRD CM+3
- ERRNZ SYFO SYSTEM FILE ORDINAL .NE. 0
- MONITOR UTEM
- * LDN 0 INTERLOCK *PROBE* TABLE
- STM PBUF+PRBP*5
- LDC PRBP RESTORE *PROBE* TABLE POINTER
- CWM PBUF+PRBP*5,ON
- LDD RS CHECK RECOVERY STATUS
- LPN SYMK
- NJN SYS11 IF SYSTEM RECOVERY REQUESTED
- LJM SYS20 COMPLETE MASS STORAGE OPERATION
- * READ LIBRARY TABLES.
- SYS11 LDC RPLP FETCH RPL POINTER
- CRD CN
- CRD CM
- ADN PLDP-RPLP GET PLD POINTER
- CRD FS
- LDM PBUF+RPLP*5 CHECK LIBRARY POINTER
- STD CA
- SBD CN
- SHN 14
- ADM PBUF+RPLP*5+1
- STD CA+1
- SBD CN+1
- PJN SYS12 IF CMR LENGTH HAS NOT INCREASED
- ENDMS
- LDC MSGS *CMR LENGTH CHANGED.*
- LJM ERR
- SYS12 RAD CN+1 ADJUST RPL ADDRESS
- SHN -14
- RAD CN
- LDN 0
- STD CM SET RPL LOCKED
- STD CM+1
- STD FS SET DIRECTORY LOCKED
- STD FS+1
- LDC RPLP STORE RESIDENT LIBRARY POINTER
- CWD CM
- ADN PLDP-RPLP STORE PLD POINTER
- CWD FS
- SYS16 LDM PBUF+5*CMRL+4 REQUEST STORAGE
- STD CM+1
- LDC 1000 SET CMR REQUEST
- STD CM+2
- MONITOR RSTM
- LDK CMRL
- CRD CM
- LDD CM+4
- LMM PBUF+5*CMRL+4
- NJN SYS16 IF NOT ASSIGNED
- LDC 377777 READ LIBRARY TABLES
- RJM RTB
- * SET LIBRARY TABLE ADDRESSES.
- LDM PBUF+5*PLDP+1 RESTORE PLD ADDRESS
- STD FS+1
- LDM PBUF+5*PLDP
- STD FS
- LDC RPLP UNLOCK RPL
- CWD CN
- ADN PLDP-RPLP STORE PLD POINTER
- CWD FS
- SBN PLDP-RCLP FETCH RCL POINTER
- CRD CM
- LDM PBUF+5*RCLP+1 RESTORE RCL ADDRESS
- STD CM+1
- LDM PBUF+5*RCLP
- STD CM
- LDC RCLP STORE RCL POINTER
- CWD CM
- LDN DSSL SET RECOVERY LEVEL
- CRD CM
- LDM PBUF+5*DSSL+4
- LMD CM+4
- SCN 7
- LMD CM+4
- STM PBUF+5*DSSL+4
- LDN DSSL STORE SYSTEM LABEL
- CWM PBUF+5*DSSL,ON
- LDC EPDP+PSTP* READ EPD POINTER
- CRD CM
- LDM PBUF+5*EPDP+1 RESTORE EPD ADDRESS
- STD CM+1
- LDM PBUF+5*EPDP
- STD CM
- ERRNZ PSTP-EPDP POINTERS NOT IN SAME WORD
- LDM PBUF+5*PSTP+3 RESTORE PST ADDRESS
- STD CM+3
- LDM PBUF+5*PSTP+2
- STD CM+2
- LDC EPDP+PSTP* SET EPD AND PST ADDRESS
- CWD CM
- SBN EPDP-LBDP FETCH PBD POINTER
- CRD CM
- LDM PBUF+5*LBDP+3 RESTORE LBD ADDRESS
- STD CM+3
- LDM PBUF+5*LBDP+2
- STD CM+2
- LDN SSTL FETCH SYSTEM STATUS WORD
- CRD FS
- ADN PRBP-SSTL GET *PROBE* TABLE ADDRESS
- CRD CN
- ADN LBDP-PRBP STORE LBD POINTER
- CWD CM
- ADN BIOL-LBDP READ BUFFERED I/O STATUS
- CRD FN
- LDD FS+2 CHECK *PROBE* ENABLED
- SHN 21-6
- MJN SYS19 IF *PROBE* NOT ENABLED
- LDD FN+1
- ADD FN+2
- ZJN SYS18 IF NO BUFFERED I/O
- LDN 0
- RJM RTB RETRIEVE BUFFERED DEVICE POINTER TABLE
- LDD FN+1
- SHN 14
- LMD FN+2
- ADN IOSP RESET BUFFERED I/O *PROBE* DATA POINTER
- CWM BUF+2+5*IOSP,ON
- SYS18 LDC 4000 CLEAR *PROBE* TABLE INTERLOCK
- STD CN
- LDC PRBP UPDATE *PROBE* TABLE POINTER
- CWD CN
- SYS19 RJM LDB
- LDN 1 INITIALIZE *CPUMTR* TABLES
- RJM ICT
- SYS20 ENDMS
- LDD RS SET EXIT CONDITION
- LPC JBMK
- LMD HN
- ERRNZ 100-JBCM ADJUST IF VALUE CHANGES
- LJM SYSX RETURN
- SYSA DATA C*EST LENGTH CONFLICT.*
- SPACE 4,10
- ** SYSTEM SECTOR FNT ENTRIES.
- NSYT VFD 42/0LSYSTAB,6/1,6/SYFT,6/0
- FDS SPACE 4,10
- ** FDS - FIND DESCRIPTOR IN SAB.
- *
- * ENTRY (A) = DESCRIPTOR ID.
- * (BUF) = SAB.
- *
- * EXIT (A) = 0 IF DESCRIPTOR FOUND.
- * (A) .NE. 0 IF DESCRIPTOR NOT FOUND.
- * (T2) = BYTE OFFSET OF DESCRIPTOR.
- *
- * USES T0 - T2.
- FDS SUBR ENTRY/EXIT
- STD T0 SAVE DESCRIPTOR ID
- LDN 0
- STD T1
- FDS1 LDD T1 SET BYTE OFFSET
- SHN 2
- ADD T1
- STD T2
- LDM BUF+2,T2
- SHN 14
- RAD T1 ADVANCE INDEX
- SHN -14
- LMD T0
- ZJN FDSX IF DESCRIPTOR FOUND
- LDD T1
- SBM BUF+1
- NJN FDS1 IF NOT END OF SAB
- ENDMS
- LDN 1 INDICATE ERROR
- UJN FDSX RETURN
- PCT SPACE 4,10
- ** PCT - PROCESS CONTROL TABLES.
- *
- * USES CA - CA+4, CM - CM+4, CN - CN+4.
- *
- * CALLS RTB, SKR, VEM.
- *
- * MACROS ENDMS.
- PCT3 RJM SKR SKIP EVENT TABLE
- RJM SKR SKIP SSCT AND SSAT
- RJM SKR SKIP SERVICE CLASS CONTROL TABLE
- RJM SKR SKIP SABB INFORMATION
- RJM SKR SKIP STATISTICAL DATA AREA
- PCT SUBR ENTRY/EXIT
- LDD RS
- LPN SYMK
- LMN SYCM
- ZJN PCT3 IF SYSTEM RECOVERED FROM CM
- LDK EVTP FETCH EVENT TABLE FWA
- CRD CN
- LDD CN SET ADDRESS OF TABLE
- STD CA
- LDD CN+1
- STD CA+1
- LDN EVTLL READ EVENT TABLE
- RJM RTB
- LDD CN CLEAR TABLE INTERLOCK
- SHN 14
- LMD CN+1
- CRD CM
- LDD CM+4
- SCN 1
- STD CM+4
- LDD CN
- SHN 14
- LMD CN+1
- CWD CM
- LDC SSCP FETCH SUBSYSTEM CONTROL TABLE POINTER
- CRD CM
- LDD CM+2 SET ADDRESS OF TABLES
- STD CA
- LDD CM+3
- STD CA+1
- LDN SSCTL*2 READ SSCT AND SSAT
- RJM RTB
- LDK JBCP SET FWA OF JOB CONTROL TABLE
- CRD CA
- LDK JCBE*/SCD/MXJC READ CONTROL TABLES
- RJM RTB
- RJM VEM VERIFY MICROCODE/EI NAMES
- LDC SDAP SET STATISTICAL DATA AREA ADDRESS
- CRD CA
- LDN SDAL READ STATISTICAL DATA AREA
- RJM RTB
- * SET RESERVED EJT ORDINAL.
- LDM PBUF+EIBP*5+3 GET PREVIOUS *EICB* ADDRESS
- SHN 14
- ADM PBUF+EIBP*5+4
- ZJN PCT2 IF NO EICB PREVIOUSLY
- LDN SSTL
- CRD CM
- LDD CM+3 CHECK FOR *VE=* ENTRY
- LMM PBUF+5*SSTL+3
- SHN 21-13
- PJN PCT1 IF *VE* STATUS NOT CHANGED
- ENDMS
- LDC MSGT (*VE ENTRY REQUIRED.*)
- LJM ERR ISSUE MESSAGE AND HANG
- PCT1 LDK NVOL
- CRD CM
- LDM PBUF+NVOL*5+4 SET NOS/VE EJT ORDINAL
- STD CM+4
- LDK NVOL
- CWD CM
- PCT2 LJM PCTX RETURN
- SKR SPACE 4
- ** SKR - SKIP RECORD.
- *
- * ENTRY (T4 - T7) = MASS STORAGE PARAMETERS.
- *
- * EXIT (T6 - T7) UPDATED.
- * TO *SYS2* IF UNRECOVERED READ ERROR.
- *
- * CALLS RNS.
- SKR2 SHN -6
- NJN SKR1 IF NOT EOR
- SKR SUBR ENTRY/EXIT
- SKR1 LDC BUF READ NEXT SECTOR
- RJM RNS
- PJN SKR2 IF NO READ ERROR
- LJM SYS2 ISSUE ERROR MESSAGE AND HANG
- VEM SPACE 4,10
- ** VEM - VERIFY EI AND MICROCODE NAMES.
- *
- * EXIT TO *ERR* IF VALUES DO NOT COMPARE.
- * TO *SYS2* IF I/O ERROR.
- *
- * USES T0 - T2, CM - CM+4, CN - CN+4.
- *
- * CALLS FDS, RNS.
- *
- * MACRO ENDMS.
- VEM7 LJM SYS2 ISSUE ERROR MESSAGE AND HANG
- VEM SUBR ENTRY/EXIT
- LDC BUF
- RJM RNS READ NEXT SECTOR
- MJN VEM7 IF ERROR
- LDK EABL+MFEI GET MAINFRAME DESCRIPTOR ADDRESS
- CRD CM
- LDD CM+1
- SCN 77
- SHN 6
- LMD CM
- SHN 6
- CRD CN
- ADN 1 GET EI NAME
- CRD CM
- LDD CN+1
- SHN -6
- LMN 7
- NJN VEMX IF NOT CYBER 180 MACHINE
- LDN 3 FIND MAINFRAME DESCRIPTOR
- RJM FDS
- VEM1 NJN VEM7 IF NOT FOUND
- LDM BUF+2+5+3,T2
- STM VEMB+6
- LMD CM+3
- NJP VEM5 IF EI MISMATCH
- LDK EABL+CPEI GET PROCESSOR DESCRIPTOR
- CRD CM
- LDD CM+1
- SCN 77
- SHN 6
- LMD CM
- SHN 6
- ADN 2
- CRD CM
- LDN 2 FIND PROCESSOR DESCRIPTOR
- RJM FDS
- NJN VEM1 IF NOT FOUND
- STD T0
- LDN 3
- STD T1
- RAD T2
- VEM2 LDM BUF+2+2*5,T2
- STM VEMA+12,T1
- LMM CM,T1
- ZJN VEM3 IF THIS BYTE MATCHES
- AOD T0 SET NO MATCH FLAG
- VEM3 SOD T2
- SOD T1 DECREMENT INDEX
- PJN VEM2 IF MORE TO COMPARE
- LDD T0
- ZJN VEM6 IF MICROCODE MATCHES
- VEM4 ENDMS
- LDC VEMA *MICROCODE MISMATCH*
- * LDC VEMB (EI MISMATCH)
- VEMC EQU *-1
- LJM ERR DISPLAY MESSAGE AND HANG PP
- VEM5 LDK VEMB-VEMA
- RAM VEMC
- UJN VEM4 DISPLAY MESSAGE AND HANG
- VEM6 LJM VEMX RETURN
- VEMA DATA C*MICROCODE MISMATCH, *
- VEMB DATA C*EI MISMATCH, *
- VTL SPACE 4,10
- ** VTL - VERIFY TABLE LENGTHS.
- *
- * ENTRY (A) = LIST ADDRESS OF TABLE POINTERS.
- *
- * EXIT (A) = 0 IF TABLE LENGTHS VALID.
- * (CA - CA+1) = FWA OF LAST TABLE IN LIST.
- *
- * USES EC, QA, T2, LM - LM+1.
- VTL1 STD T2
- CRD CA READ TABLE POINTER
- SHN 2
- ADC PBUF+2 SET ADDRESS OF CHECKPOINTED POINTER
- RAD T2
- LDD EC COMPARE NUMBER OF TABLE ENTRIES
- LMI T2
- NJN VTLX IF TABLE LENGTHS DIFFER
- LDD RS
- LPN FLMK
- LMN FLCM
- ZJN VTL2 IF FILES RECOVERED FROM CM
- LDM 1,T2
- STD LM
- LDM 2,T2 RESET POINTER PARAMETERS
- STD LM+1
- LDI QA UPDATE POINTER WORD
- CWD CA
- VTL2 AOD QA ADVANCE LIST ADDRESS
- VTL3 LDI QA
- NJN VTL1 IF NOT END OF LIST
- VTL SUBR ENTRY/EXIT
- STD QA
- UJN VTL3 ENTER LOOP
- BUFFERS SPACE 4
- * BUFFER DEFINITIONS.
- PBUF EQU *+2
- BUF EQU PBUF+5*BQRL
- ERRPL BUF+502-EPFW BUFFER OVERFLOW
- TITLE PRESET PROGRAM.
- PRS SPACE 4
- ** PRS - PRESET.
- *
- * EXIT (RS) = RECOVERY STATUS.
- * (NC) = NUMBER OF CONTROL POINTS.
- * (NS) = NUMBER OF CP-S + PCP-S + 1 (SYS CP).
- * (CE) = CHECKPOINT DEVICE EST ORDINAL.
- * (ST) = SYSTEM TRACK FOR RECOVERY.
- * (LO) = LAST MASS STORAGE ORDINAL + 1.
- *
- * USES CM - CM+4, CN - CN+4.
- PRS SUBR ENTRY/EXIT
- LDN SMRL
- CRD CM
- LDD CM+4 SET STORAGE MOVE STATUS
- STM CCPA
- LDD CM+3
- LPN 77
- RAM CCPB
- LDD IR+4 SET RECOVERY STATUS
- * STD RS
- STM RECC+4
- LDN NCPL FETCH CONTROL POINT COUNT
- CRD CM
- ADN MCTP-NCPL GET MCT POINTER
- CRD CN
- AOD CM+1 SET SYSTEM CP
- STD NC
- RAM RECC+1
- ERRNZ MCTP-PCPP CODE DEPENDS ON VALUE
- LDD CN+3
- SHN 14 FORM BASE PCPA ADDRESS
- LMD CN+4
- SBK CPAS
- STM SCAA SET ADDRESS - CPA LENGTH
- SHN -14
- RAM SCAA-1
- SOD CN+2 SET CP + PCP + SYS CP COUNT
- STD NS
- LDD IA
- CWD IR
- MONITOR CCAM
- * LDN 0
- STD ST
- LDN ESTP READ EST POINTER
- CRD CM
- LDD CM+3 SET LAST MASS STORAGE ORDINAL + 1
- STD LO
- LDN TAXMW SET TAXM WORD COUNT
- STD T2
- LDN ZERL
- CRD CM
- ADN DSDL+1-ZERL FETCH *TAXM* TABLE GENERATED BY *SET*
- CRM TAXM,T2
- RJM IFP INITIALIZE TABLE ACCESS ROUTINES
- * FIND SYSTEM DEVICE.
- LDN NOPE-1
- STD T5
- PRS1 AOD T5 INCREMENT EST ORDINAL
- STM RECF SET POSSIBLE SYSTEM DEVICE
- LMD LO
- ZJP PRS5 IF END OF SCAN
- SFA EST,T5
- ADK EQDE
- CRD FN READ EST ENTRY
- LDD FN
- SHN 21-13
- PJN PRS1 IF NOT MASS STORAGE
- SHN 13-12
- PJN PRS1 IF NOT SYSTEM DEVICE
- * FIND CHECKPOINT DEVICE.
- LDN NOPE-1
- STD CE
- PRS2 AOD CE INCREMENT EST ORDINAL
- LMD LO
- ZJN PRS4 IF END OF SCAN
- SFA EST,CE
- ADK EQDE
- CRD FN
- LDD FN
- SHN 21-13
- PJN PRS2 IF NOT MASS STORAGE
- SHN 13-2
- PJN PRS2 IF NOT CHECKPOINT DEVICE
- LDD FN+4 SET SYSTEM TABLE TRACK
- SHN 3
- ADN DULL
- CRD FS
- LDD FS+3
- SHN 21-13
- PJN PRS2 IF NOT VALID CHECKPOINT FILE
- SHN 13-21
- STD ST
- STM RECE
- PRS3 RJM STU SCAN TAPE UNITS
- LJM PRSX RETURN
- PRS4 LDD RS
- ZJN PRS3 IF NOT RECOVERY DEADSTART
- LDN PRSB-PRSA
- PRS5 ADC PRSA
- LJM ERR DISPLAY MESSAGE AND HANG
- PRSA DATA C*SYSTEM DEVICE NOT FOUND.*
- PRSB DATA C*CHECKPOINT DEVICE NOT FOUND.*
- IFP HERE DUMP *IFP* REMOTE CODE
- STU SPACE 4,10
- ** STU - SCAN TAPE UNITS IN *MAGNET*.
- *
- * EXIT JOB STATUS UPDATED IN *UST1* WORD OF UDT ENTRIES.
- *
- * USES CM - CM+4, CN - CN+4, FN - FN+4, FS - FS+4.
- *
- * CALLS AST.
- *
- * MACROS PAUSE, SFA.
- STU SUBR ENTRY/EXIT
- LDC FECF*10000+MTSI GET *MAGNET* SSCT ENTRY
- RJM AST
- SHN 21-13
- PJN STUX IF *MAGNET* NOT ACCESSIBLE
- LDC FEAF*10000+MTSI GET *MAGNET* SSAT ENTRY
- RJM AST
- ZJN STUX IF *MAGNET* NOT AT CONTROL POINT
- SFA EJT GET *MAGNET* CP NUMBER
- ADN SCHE
- CRD CM
- LDD CM+3 CHECK *MAGNET* SUBSYSTEM IDENTIFICATION
- SHN 7
- ADN JCIW
- CRD CM
- SBN JCIW-FLSW GET *MAGNET* RA AND FL
- CRD CN
- SCN 77
- LMM CCPA
- ZJN STUX IF *MAGNET* MOVING
- LDD CM+2
- LMC MTSI
- NJN STUX IF NOT CORRECT SUBSYSTEM IDENTIFICATION
- LDK MABL CHECK MAINFRAME TYPE
- CRD CM
- LDD CM+1
- SHN 21-13
- MJN STU1 IF NOT CM EXTENSION
- LRD CN+2
- LDC 4000
- STD CN+3
- STU1 LDD CN+3 GET *MAGNET* UDT FWA AND LWA+1
- SHN 6
- ADN /MTX/UBUF
- CRD CM
- LDD CM+4 VALIDATE UDT FWA AND LWA+1
- SBN 2
- MJN STU2 IF UDT FWA .LE. 1
- LDD CN+4
- SHN 6
- SBD CM+2
- SBN 1
- MJN STU2 IF UDT LWA+1 .GE. FL
- LDD CM+4
- SBD CM+2
- MJN STU4 IF UDT FWA .LT. LWA+1
- STU2 PAUSE NE RESET R REGISTER FOR CME MACHINE
- LJM STUX RETURN
- STU3 LDN /MTX/UNITL
- RAD CM+4
- SBD CM+2
- PJN STU2 IF END OF UDTS
- STU4 LDD CN+3 CHECK NEXT UDT
- SHN 6
- ADD CM+4
- ADK /MTX/UST1 GET JOB STATUS
- CRD FS
- ADK /MTX/UVRI-/MTX/UST1 GET EJT ORDINAL
- CRD FN
- LDD FS CLEAR JOB ROLLED OUT FLAG
- SCN 1
- STD FS
- SFA EJT,FN GET JOB STATUS
- ADK JSNE
- CRD FN
- LDD FN+4
- LPN 76
- LMN EXJS*2
- ZJN STU5 IF UNIT NOT ASSIGNED OR JOB AT CP
- AOD FS INDICATE JOB ROLLED OUT
- STU5 LDD CN+3
- SHN 6
- ADD CM+4
- ADN /MTX/UST1
- CWD FS
- UJN STU3 PROCESS NEXT UDT
- SPACE 4,10
- ** PRESET COMMON DECKS.
- *CALL COMPAST
- TTL REC/4RA - RECOVER DAYFILES.
- TITLE
- QUAL RDB
- IDENT 4RA,RDFX
- QUAL$ EQU 1 DONT QUALIFY COMMON DECKS
- *COMMENT REC - RECOVER DAYFILES.
- COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
- SPACE 4
- ** 4RA - RECOVER DAYFILES.
- *
- * *4RA* USES THE DAYFILE RECOVERY INFORMATION DEVELOPED
- * BY *RMS* TO SETUP THE DAYFILE FST ENTRIES. IT ALSO SETS
- * THE RECOVERED DAYFILES LENGTH IN THE CORRESPONDING
- * SYSTEM SECTOR. IF A DAYFILE IS NOT RECOVERED, *4RA*
- * WILL START A NEW DAYFILE ON THE DEVICE DEFINED BY
- * THE DAYFILE CMRDECK DIRECTIVES.
- SPACE 4,3
- *** ENTRY CONDITIONS.
- *
- * (SE) = SYSTEM EQUIPMENT.
- SPACE 4,3
- *** OPERATOR MESSAGES.
- *
- * *FILENAM UNRECOVERABLE.* = DAYFILE SPECIFIED
- * NOT RECOVERABLE.
- SPACE 4
- ORG OVLA
- RDF SUBR ENTRY/EXIT
- RJM IDF INITIALIZE DAYFILES
- UJN RDFX RETURN
- RDB SPACE 4,10
- QUAL
- * *4RA*/*4RE* COMMUNICATION BLOCK.
- RDBA BSS 0 CREATION DATE BUFFERS
- BSSZ 5 SYSTEM DAYFILE
- BSSZ 5 ACCOUNT DAYFILE
- BSSZ 5 ERRLOG DAYFILE
- BSSZ 5 MAINTENANCE LOG DAYFILE
- RDBB BSS 0 EOI DATE BUFFERS
- BSSZ 5 SYSTEM DAYFILE
- BSSZ 5 ACCOUNT DAYFILE
- BSSZ 5 ERRLOG DAYFILE
- BSSZ 5 MAINTENANCE LOG DAYFILE
- RDBC BSS 0 EOI TIME BUFFERS
- BSSZ 5 SYSTEM DAYFILE
- BSSZ 5 ACCOUNT DAYFILE
- BSSZ 5 ERRLOG DAYFILE
- BSSZ 5 MAINTENANCE LOG DAYFILE
- RDBD BSS 0
- DATA H*DAYFILE *
- DATA H*ACCOUNT *
- DATA H*ERRLOG *
- DATA H*MAINLOG *
- RDBE BSS 0
- RDBF BSSZ EXDF FIRST TRACK OF CREATED DAYFILES
- * THE FOLLOWING MESSAGE, *ARSY, LN, YY/MM/DD.* IS ISSUED WHEN
- * THE ACCOUNT DAYFILE IS RECOVERED ON DEADSTART LEVEL *LN*.
- * THE MESSAGE *ABSY, YY/MM/DD.* IS ISSUED WHEN THE ACCOUNT
- * DAYFILE IS INITIALIZED.
- RDBG DATA H*ARSY, 0, YY/MM/D*
- CON 0,0
- RDBH DATA C*FILENAM RECOVERED, EQXXX.*
- RDBI DATA C*FILENAM CREATION DATE YY/MM/DD. *
- RDBI1 EQU *-6
- RDBJ DATA C*FILENAM UPDATED YY/MM/DD. HH.MM.SS. *
- RDBJ1 EQU *-13
- RDBK CON RDBG+4 MESSAGE ADDRESS FOR DATE
- SPACE 4,10
- OVLB EQU *+5 ORIGIN FOR *4RE*
- QUAL RDB
- TITLE SUBROUTINES.
- IDF SPACE 4,9
- ** IDF - INITIALIZE DAYFILES.
- *
- * ENTRY (RS) = RECOVERY STATUS.
- * (RECF) = SYSTEM EQUIPMENT.
- *
- * EXIT (USST) = EQUIPMENT AND FIRST TRACK OF NEW DAYFILES.
- *
- * USES T1 - T7, CM - CM+4, CN - CN+4, FN - FN+4,
- * FS - FS+4, USST, QT, QS, FA.
- *
- * CALLS C2D, FMM, GDT, IEM, IRA, RDS, RSS, SEI, TLM, WEI, WSS.
- *
- * MACROS ENDMS, MONITOR, SETMS, SFA.
- IDF SUBR ENTRY/EXIT
- LDD RS CHECK RECOVERY STATUS
- LPN FLMK
- LMN FLCM
- ZJN IDFX IF FILES RECOVERED FROM CM
- LDN 0 CLEAR FST ADDRESS
- STD FA
- STD QS CLEAR *USST* INDEX
- LDN ZERL
- CRD CM
- * THE FIRST WORD OF THE SYSTEM DAYFILES BUFFER CONTAINS
- * THE DAYFILE RECOVERY INFORMATION.
- LDN DFPP SET FWA OF DAYFILE POINTERS
- CRD CN
- LDD CN
- SHN 14
- ADD CN+1
- CRD FS
- SBN 1 INITIALIZE DAYFILE STATUS WORD ADDRESS
- STD CN+1
- SHN -14
- STD CN
- LCN 0 INITIALIZE DAYFILE INDEX
- STD CN+3
- LDD FS
- SHN 14
- LMD FS+1
- CRD FN
- CWD CM
- LDD FN+1 CHECK ACCOUNT FILE RECOVERY INFORMATION
- SHN 21-13
- PJN IDF1 IF RECOVERY SELECTED
- SOM RDBK
- LCN 1RR-1RB SET *ABSY* IN MESSAGE
- RAM RDBG
- * LOOP TO PROCESS EACH DAYFILE.
- IDF1 AOD CN+3 ADVANCE DAYFILE INDEX
- LMN EXDF
- NJN IDF2 IF NOT LAST OF EXCESS DAYFILES
- LJM IDFX RETURN
- IDF2 LDN 3 SET STATUS WORD ADDRESS
- RAD CN+1
- SHN -14
- RAD CN
- SHN 14
- ADD CN+1
- CRD FS READ DAYFILE STATUS WORD
- SBN 1 READ DAYFILE BUFFER LENGTH WORD
- CRD CM
- LDD CM+3
- ZJN IDF1 IF ZERO LENGTH BUFFER
- STD CM+2
- LDN 0
- STD CM+3
- LDD CN ACTIVATE DAYFILE
- SHN 14
- ADD CN+1
- SBN 1
- CWD CM
- * PROCESS DAYFILE RECOVERY.
- LDM FN,CN+3 SET DAYFILE EST ORDINAL
- LPC 777
- STD T5
- LMN NEEQ
- ZJN IDF3 IF DEFAULT EQUIPMENT
- SFA EST,T5 READ EST ENTRY
- ADK EQDE
- CRD CM
- LDD CM CHECK EQUIPMENT
- SHN -6
- LPN 45
- LMN 40
- ZJN IDF4 IF MASS STORAGE, NOT REMOVABLE, AVAILABLE
- IDF3 LDM RECF DEFAULT TO SYSTEM DEVICE
- STD T5
- IDF4 RJM IRA INITIALIZE RANDOM ACCESS PROCESSORS
- LDD T5 SET EQUIPMENT IN FST
- STD FS
- RJM GDT GET DAYFILE TRACKS
- LDM FN,CN+3
- SHN 21-13
- PJN IDF6 IF RECOVERY OF DAYFILE SELECTED
- IDF5 LJM IDF11 INITIALIZE DAYFILE
- IDF6 LDM IDFD,CN+3 CHECK TRACK ASSIGNED
- NJN IDF7 IF TRACK ASSIGNED
- LDD T5 CHECK REQUESTED EQUIPMENT
- LMM FN,CN+3
- LPC 777
- NJN IDF5 IF DEFAULT EQUIPMENT
- LJM IDF10 TRACK NOT ASSIGNED RECOVERY IMPOSSIBLE
- * UPDATE RECOVERY INFORMATION IN SYSTEM SECTOR.
- IDF7 STD T6
- STD FS+1
- SETMS IO,(SM,RW)
- LDM IDFB,CN+3
- RJM RSS READ SYSTEM SECTOR
- NJN IDF8 IF INCORRECT SYSTEM SECTOR
- ENDMS
- * LDN 0 (FORCE CURRENT TRT)
- RJM SEI SET CURRENT POSITION TO EOI
- LDD T6
- STD FS+2
- LDD T7
- STD FS+3 SET SECTOR
- LDD T2 SAVE LENGTH
- STM FLSS
- LDD T3
- STM FLSS+1
- RJM TLM TERMINATE LAST MESSAGE
- LDC SBUF
- RJM RDS READ EOI SECTOR
- MJN IDF9 IF READ ERROR
- LDM SBUF
- ADM SBUF+1
- IDF8 NJN IDF9 IF NOT EOI
- RJM FMM FORMAT MESSAGES
- LJM IDF15
- * IF NO TRACK ASSIGNED, ERROR IN SYSTEM SECTOR
- * OR ERROR IN EOI SECTOR.
- IDF9 ENDMS
- IDF10 RJM IEM ISSUE ERROR MESSAGE
- * CREATE A NEW DAYFILE.
- IDF11 LDM IDFD,CN+3
- ZJN IDF12 IF NO TRACK ASSIGNED
- STD CM+2
- LDD T5
- STD CM+1
- MONITOR DTKM DROP TRACKS
- IDF12 LDN ZERL
- CRD CM
- LDD T5 SET EST ORDINAL
- STD CM+1
- LMC 4000
- STM USST,QS
- MONITOR RTCM RESERVE TRACK CHAIN
- LDD CM+4 SET TRACK
- STD T6
- STM RDBF,CN+3
- NJN IDF13 IF TRACK ASSIGNED
- LDD T5 CONVERT UPPER TWO DIGITS OF EST ORDINAL
- SHN -3
- RJM C2D
- STM IDFC+1
- LDD T5 CONVERT LOWER DIGIT OF EST ORDINAL
- LPN 7
- SHN 6
- ADC 2R0,
- STM IDFC+2
- LDC IDFC *EQXXX, DAYFILE TRACK LIMIT.*
- LJM ERR
- IDF13 STM USST+1,QS
- STD CM+2 SET PRESERVED FILE BIT
- LDD T5
- STD CM+1
- LDN SPFS
- STD CM+3
- MONITOR STBM
- * LDN 0 FORCE DEADSTART CHECKPOINT
- STM RECB
- LDN 2 ADVANCE SYSTEM SECTOR UPDATE INDEX
- RAD QS
- LDM IDFB,CN+3 SET DAYFILE NAME
- STM IDFA
- LDC 501-ETEI
- STD T1
- IDF14 LDN 0 CLEAR SYSTEM SECTOR / EOI BUFFER
- STM BFMS+ETEI,T1
- SOD T1
- PJN IDF14 LOOP UNTIL CLEAR
- LDD MA
- CWM *,ON
- IDFA EQU *-1
- SBN 1
- CRM FNSS,ON
- RJM WSS WRITE SYSTEM SECTOR
- RJM WEI WRITE EOI
- ENDMS
- LDD T5 SET EQUIPMENT
- STD FS
- LMC 4000
- STD CM+1
- LDD T6 SET TRACK
- STD FS+1
- STD FS+2
- LPC 3777
- STD CM+2
- LDD T7 SET SECTOR
- STD FS+3
- STD CM+3
- MONITOR DTKM SET EOI IN TRT
- * COMPLETE PROCESSING FOR THIS DAYFILE.
- IDF15 ENDMS
- LDD CN STORE DAYFILE FST
- SHN 14
- ADD CN+1
- CWD FS
- LJM IDF1 LOOP FOR NEXT DAYFILE
- * TABLE OF ADDRESSES FOR DAYFILE FNT ENTRIES.
- IDFB BSS 0
- CON NDYF
- CON NACF
- CON NERL
- CON NBML
- IDFC DATA C*EQXXX, DAYFILE TRACK LIMIT.*
- IDFD BSS 5 DAYFILES FIRST TRACK BUFFER
- * DAYFILE FNT ENTRIES.
- NDYF VFD 42/0LDAYFILE,6/1,6/LIFT,6/0
- NACF VFD 42/0LACCOUNT,6/1,6/LIFT,6/0
- NERL VFD 42/0LERRLOG,6/1,6/LIFT,6/0
- NBML VFD 42/0LMAINLOG,6/1,6/LIFT,6/0
- IEM SPACE 4
- ** IEM - ISSUE ERROR MESSAGE.
- *
- * ENTRY (CN+3) = DAYFILE INDEX.
- *
- * USES CM - CM+4.
- IEM SUBR ENTRY/EXIT
- LDM IDFB,CN+3
- STM IEMA
- LDD MA
- CWM *,ON FILENAME FOR MESSAGE
- IEMA EQU *-1
- SBN 1
- CRM IEMB,ON
- LDC 2R BLANK FILE NAME
- STM IEMB+4
- LDM IEMB+3
- SCN 77
- LMN 1R
- STM IEMB+3
- * SET PAUSE BIT.
- LDD NC SYSTEM CONTROL POINT
- SHN 7
- ADN SNSW SENSE SWITCH WORD
- CRD CM
- STD T1
- * SET PAUSE BIT AND WAIT FOR OPERATOR ACTION.
- LDD CM+3
- SCN 1
- LMN 1
- STD CM+3
- LDD T1
- CWD CM
- ADN MS2W-SNSW
- CWM IEMB,TR
- IEM1 LDN 77
- SBN 1
- NJN *-1 DELAY
- LDD T1
- CRD CM
- LDD CM+3
- LPN 1
- NJN IEM1 IF PAUSE BIT STILL SET
- LJM IEMX RETURN
- IEMB DATA C*DAYFILE UNRECOVERABLE.*
- FMM SPACE 4,15
- ** FMM - FORMAT MESSAGES.
- *
- * ENTRY CHANNEL RESERVED.
- * (T5) = EST ORDINAL.
- * (QS) = INDEX TO *USST* LIST.
- * SYSTEM SECTOR AT BFMS.
- * EOI SECTOR AT SBUF.
- * (CN+3) = DAYFILE INDEX.
- * (FS - FS+4) = DAYFILE STATUS WORD.
- * *SETMS IO,RW* PERFORMED.
- *
- * EXIT SYSTEM SECTOR UPDATED.
- * MESSAGE INFORMATION SAVED.
- *
- * USES T1, T2, T6, T7.
- *
- * CALLS WSS.
- FMM SUBR ENTRY/EXIT
- LDD CN+3 SAVE DATE AND TIME
- SHN 2
- ADD CN+3
- ADC RDBA
- STM FMMA
- ADN RDBB-RDBA
- STM FMMC
- ADN RDBC-RDBB
- STM FMMB
- * SAVE SYSTEM SECTOR CREATION DATE.
- LDD MA
- CWM BFMS+DTEI+2*5,ON
- SBN 1
- CRM **,ON
- FMMA EQU *-1
- * SAVE UPDATE TIME.
- SBN 1
- CWM SBUF+DTEI+5,ON
- SBN 1
- CRM **,ON
- FMMB EQU *-1
- * SAVE UPDATE DATE.
- SBN 1
- CWM SBUF+DTEI+2*5,ON
- SBN 1
- CRM **,ON
- FMMC EQU *-1
- * UPDATE SYSTEM SECTOR WITH NEW LENGTH.
- SETMS POSITION
- LDM FTSS REWRITE SYSTEM SECTOR
- STM USST+1,QS
- STD T6
- RJM WSS
- LDD T5 SET RECOVERED DAYFILE IN *USST*
- LMC 2000
- STM USST,QS
- LDN 2
- RAD QS
- LDD FS+1 CHECK STATUS OF DAYFILE
- LMD FS+2
- NJN FMM1 IF BUFFER DUMPED TO DISK
- LDD FS+3
- LMN FSMS
- NJN FMM1 IF BUFFER DUMPED
- LDD T6 SET FIRST TRACK IN CREATION TABLE
- STM RDBF,CN+3
- FMM1 LJM FMMX RETURN
- GDT SPACE 4,10
- ** GDT - GET DAYFILE TRACKS.
- *
- * ENTRY (T5) = EST ORDINAL.
- *
- * EXIT (IDFD) = FIRST TRACKS OF EXCESS DAYFILES.
- * = 0 IF NO DAYFILES ON DEVICE.
- *
- * EREXIT TO *ERR* IF ERROR READING SECTOR OF LOCAL AREAS.
- *
- * CALLS C2D, RLA.
- GDT1 ZJN GDT2 IF NO SECTOR OF LOCAL AREAS
- STM GDTA
- LDD MA MOVE DAYFILE TRACKS TO DIRECT CELLS
- CWM *,ON
- GDTA EQU *-1
- SBN 1
- GDT2 CRM IDFD,ON
- GDT SUBR ENTRY/EXIT
- RJM RLA READ LOCAL AREA SECTOR
- PJN GDT1 IF NO ERRORS
- LDD T5 CONVERT UPPER TWO DIGITS OF EST ORDINAL
- SHN -3
- RJM C2D
- STM GDTB+1 STORE IN MESSAGE
- LDD T5 CONVERT LOWER DIGIT OF EST ORDINAL
- LPN 7
- SHN 6
- ADC 2R0,
- STM GDTB+2
- LDC GDTB *EQXXX, LOCAL AREA SECTOR ERROR.*
- LJM ERR DISPLAY MESSAGE AND HANG
- GDTB DATA C*EQXXX, LOCAL AREA SECTOR ERROR.*
- TLM SPACE 4,15
- ** TLM - TERMINATE LAST DAYFILE MESSAGE.
- *
- * ENTRY (T5) = EST ORDINAL.
- * (T6) = (FS+2) = EOI TRACK FOR DAYFILE.
- * (T7) = (FS+3) = EOI SECTOR.
- * (FS+1) = FIRST TRACK OF DAYFILE.
- * (CN+3) = DAYFILE INDEX.
- * (CN - CN+1) = FWA OF DAYFILE POINTERS.
- * (T2 - T3) = DAYFILE LENGTH (SECTOR COUNT).
- *
- * USES T2, CM - CM+4.
- *
- * CALLS RDS, SNT.
- TLM SUBR ENTRY/EXIT
- LDD CN+3
- LMN MLDY
- ZJN TLMX IF MAINTENANCE LOG
- LDD T3
- LMN FSMS
- ADD T2
- ZJN TLMX IF DAYFILE EMPTY
- SOD T7
- PJN TLM2 IF EOI NOT ON TRACK BOUNDARY
- LDD FS+1
- STD T6
- TLM1 LDD T6 SAVE CURRENT TRACK
- STD T2
- RJM SNT SET NEXT TRACK
- STD T6
- LMD FS+2
- NJN TLM1 IF NOT EOI TRACK
- LDD T2
- STD T6
- LDM SLM SET LAST DATA SECTOR
- SBN 1
- STD T7
- TLM2 LDC SBUF READ LAST SECTOR OF DAYFILE DATA
- RJM RDS
- MJN TLM3 IF READ ERROR
- LDM SBUF+1
- LMD HN
- NJN TLM3 IF NOT FULL SECTOR (BUFFER FLUSHED)
- LDM SBUF+501
- ZJN TLM3 IF LAST MESSAGE COMPLETE
- LDD CN
- SHN 14
- ADD CN+1
- SBN 2
- CRD CM
- AOD CM+4 ADVANCE IN POINTER
- LDD CN
- SHN 14
- ADD CN+1
- SBN 2
- CWD CM
- TLM3 LDD FS+2 RESTORE EOI ADDRESS
- STD T6
- LDD FS+3
- STD T7
- LJM TLMX RETURN
- USS SPACE 4
- ** USS - UPDATE SYSTEM SECTOR.
- *
- * ENTRY EST ORDINAL AND FIRST TRACK OF SELECTED DAYFILES
- * STORED IN USST.
- *
- * EXIT DAYFILE SYSTEM SECTORS UPDATED WITH CURRENT TIME.
- *
- * USES T5, T6, QS.
- *
- * CALLS RSS, WSS.
- *
- * MACROS ENDMS, SETMS.
- USS SUBR ENTRY/EXIT
- LDN 0 CLEAR FILE INDEX
- STD QS
- STD FA
- USS1 LDM USST,QS CHECK FOR SELECTED EQUIPMENT
- ZJN USSX IF END OF FILES
- LPC 777
- STD T5
- SETMS IO,RW
- LDM USST+1,QS SET FIRST TRACK
- STD T6
- LDN 0 READ SYSTEM SECTOR
- RJM RSS
- NJN USS3 IF ERROR IN SYSTEM SECTOR
- LDM USST,QS
- SHN 21-12
- MJN USS2 IF A RECOVERED DAYFILE
- LDN PDTL ENTER CREATION DATE AND TIME
- CRM DTSS,TR
- USS2 RJM WSS UPDATE TIME IN SYSTEM SECTOR
- USS3 ENDMS
- LDN 2
- RAD QS
- LJM USS1 LOOP FOR NEXT FILE
- ** TABLE OF DAYFILE SYSTEM SECTORS TO UPDATE.
- * ENTRY = 2 WORDS, ZERO WORD TERMINATES THE TABLE.
- *
- *T, USST 3/FLAGS, 9/ ESTORD, 12/ FIRST TRACK
- *
- * FLAGS -
- * 4 = NEW DAYFILE.
- * 2 = RECOVERED DAYFILE.
- USST BSSZ 2*EXDF+1
- SPACE 4
- * COMMON DECKS.
- *CALL COMPRLA
- SPACE 4
- USE LITERALS
- SBUF EQU * SCRATCH BUFFER
- ERRNG BFMS-SBUF-502 SCRATCH BUFFER OVERFLOW INTO *BFMS*
- TTL REC/4RB - ALLOCATE/RECOVER USER XM.
- TITLE
- QUAL ECS
- IDENT 4RB,ECSX
- *COMMENT REC - ALLOCATE/RECOVER USER XM.
- COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
- 4RB SPACE 4,10
- *** ECS - ALLOCATE/RECOVER USER EXTENDED MEMORY.
- *
- * *ECS* PERFORMS THE ALLOCATION AND RECOVERY OF USER
- * ACCESS EXTENDED MEMORY. THE ALLOCATED XM FOR USER DIRECT
- * ACCESS IS MAINTAINED AS A PRESERVED FILE OF TYPE *LIFT* AND
- * IS NAMED -**UECS.-. THE FILE IS COMPOSED OF UP TO 5
- * SUB-CHAINS. THE FIRST SUB-CHAIN IS ONE TRACK LONG AND IS
- * TO GUARANTEE A SYSTEM SECTOR FOR THE ENTIRE CHAIN. EACH
- * SUBSEQUENT SUB-CHAIN, UP TO 4, IS COMPOSED OF ENOUGH
- * CONTINUOUS TRACKS TO MEET THE SPACE REQUIRMENTS OF ONE
- * MACHINES DIRECT ACCESS AREA. THE SYSTEM SECTOR CONTAINS
- * INFORMATION DESCRIBING EACH SUB-CHAIN PRESENT.
- 4RB SPACE 4,10
- *** OPERATOR MESSAGES.
- *
- * **ECSM* ERROR CLEARING USER XM.* = A HARDWARE ERROR OCCURRED
- * WHILE ATTEMPTING TO CLEAR A JOB-S EXTENDED MEMORY FIELD
- * LENGTH.
- *
- * *USER EXTENDED MEMORY IMPROPERLY ALLOCATED.* = AN
- * INCONSISTENCY HAS BEEN DETECTED, BETWEEN THE REQUESTED USER
- * EXTENDED MEMORY SPACE AND ALLOCATION INFORMATION IN THE
- * SYSTEM SECTOR, WHILE ATTEMPTING TO RECOVER THE USER
- * DIRECT ACCESS SPACE.
- *
- * *USER EM SPACE UNAVAILABLE.* = THE AMOUNT
- * REQUESTED FOR USER EXTENDED MEMORY (VIA THE *XM* ENTRY IN
- * *EQPDECK*) IS NOT AVAILABLE.
- *
- * *USER EXTENDED MEMORY SYSTEM SECTOR ERROR.* = AN ERROR WAS
- * DETECTED WHILE READING THE SYSTEM SECTOR FOR THE USER
- * EXTENDED MEMORY CHAIN.
- 4RB SPACE 4,10
- **** DIRECT CELL DEFINITIONS LOCAL TO *4RB*.
- T8 EQU 26 POINTER TO SUB-CHAIN ENTRY
- T9 EQU 27 CURRENT MACHINE ID
- KA EQU QS CP/PCP NUMBER
- KB EQU QI MCT ENTRY COUNT
- AB EQU FN CM WORD BUFFER
- ****
- ECS TITLE MAIN PROCESSING ROUTINE.
- ECS SPACE 4,10
- ** ECS - MAIN ROUTINE.
- ORG OVLA
- ECS SUBR ENTRY/EXIT
- RJM PRS PRESET OVERLAY
- LDM TAXM
- ZJN ECS1 IF NO ENTRY FOR THIS MACHINE
- LDM TAXM+2 GET LENGTH OF USER EXTENDED MEMORY
- STD FS+2
- ECS1 RJM SDI INTERLOCK ECS
- LDM ECSE+ACGL*5+1 CHECK FOR FIRST TRACK OF UEC CHAIN
- ZJN ECS2 IF MST NOT INITIALIZED
- LJM ECS8 IF SOME USER ECS SPACE ALLOCATED
- * INITIALIZE USER EXTENDED MEMORY CHAIN AND MST.
- ECS2 LDD FS+2
- ZJN ECS4 IF NO USER ECS REQUESTED FOR THIS MACHINE
- LDD RS
- NJN ECS6 IF NOT LEVEL 0 DEADSTART
- RJM ISS INITIALIZE SYSTEM SECTOR
- LDM ECSE+ACGL*5+1 END OF CURRENT CHAIN
- STD FS+4
- LDC BFMS+2+4*5 SET FIRST ENTRY POINTER
- STD T8
- * ASSIGN USER EXTENDED MEMORY AREA.
- ECS3 RJM ACE ASSIGN TRACKS
- RJM SSS STORE SYSTEM SECTOR
- ECS4 RJM CDI CLEAR INTERLOCK
- ECSA RJM SCP SETUP CONTROL POINT AREAS
- * UJN *+2 (DURING MMF PROCESSING)
- ECS5 LDC 0
- ECSB EQU *-1
- LMD FS
- ZJN ECS7 IF ALLOCATING ON MMF LINK
- ECS5.1 LJM ECSX RETURN
- * ERROR IN USER EXTENDED MEMORY ALLOCATION.
- ECS6 RJM CDI CLEAR INTERLOCK
- LDC =C*USER EXTENDED MEMORY IMPROPERLY ALLOCATED.*
- LJM HNG ISSUE ERROR AND HANG
- * SET UP TO PROCESS MULTIMAINFRAME ALLOCATION.
- ECS7 LDC UJNI+2 SET MMF SWITCHES
- STM ECSA
- LDD HN
- ERRNZ 100-LJMI ADJUST IF VALUE CHANGES
- STM ECSC
- LDC ECS5
- STM ECSC+1
- RJM CAD CLEAR THIS MACHINES ID AND DATA
- RJM FAD FETCH NEW MACHINE ID AND DATA
- ZJN ECS5.1 IF NO MORE MACHINES TO ALLOCATE
- STD T9
- LDM 2,T1 SET NEW USER EXTENDED MEMORY AREA LENGTH
- STD FS+2
- LJM ECS1 PROCESS ANOTHER MACHINE
- * PROCESS EXISTING USER EXTENDED MEMORY CHAIN.
- ECS8 RJM CDI CLEAR INTERLOCK ON ECS
- RJM FSS FETCH EXISTING SYSTEM SECTOR
- RJM FTM FIND THIS MACHINES ENTRY
- LDM 2,T8
- NJN ECS9 IF SPACE EXISTS FOR THIS MACHINE
- LDD FS+2
- ZJN ECS12 IF SPACE NOT REQUESTED FOR THIS MACHINE
- LDD RS
- NJN ECS10 IF NOT LEVEL 0, THEN ERROR
- UJN ECS14 LOCATE END OF USER EXTENDED MEMORY CHAIN
- * PROCESS EXISTING SUB-CHAIN.
- ECS9 LDM 3,T8 SET RAE FROM SYSTEM SECTOR
- STD FS+3
- LDM 1,T8 SET FIRST TRACK OF SUB CHAIN
- STD FS+1
- LDD FS+2
- NJN ECS13 IF SPACE REQUESTED
- LDD RS
- ZJN ECS11 IF LEVEL 0 DEADSTART
- ECS10 LJM ECS6 REPORT ERROR
- * RELEASE EXISTING SUB-CHAIN.
- ECS11 RJM RLS RELEASE SPACE
- STD T9 CLEAR SUB-CHAIN ENTRY
- STD FS+2
- RJM SSS STORE UPDATED SYSTEM SECTOR
- ECS12 LJM ECS4 COMPLETE PROCESSING
- * UPDATE EXISTING SUB-CHAIN.
- ECS13 LDM 2,T8
- SBD FS+2
- ZJN ECS12 IF SPACE MATCHES
- LDD RS
- NJN ECS10 IF NOT LEVEL 0 DEADSTART, THEN ERROR
- ECSC RJM RLS RELEASE SPACE
- * LJM ECS5 (DURING MMF PROCESSING)
- * FIND LAST TRACK OF USER EXTENDED MEMORY CHAIN.
- ECS14 LDD FS SET EQUIPMENT
- STD T5
- LDM ECSE+ACGL*5+1 SET FIRST TRACK
- STD T6
- RJM IRA INITIALIZE RANDOM ACCESS PROCESSORS
- LDN 0 FORCE TRT UPDATE
- RJM SEI SEARCH FOR EOI
- LDD T6 SET LAST TRACK
- STD FS+4
- LJM ECS3 ASSIGN TRACKS
- ECSE BSS 3*5 BUFFER FOR MST GLOBAL WORDS
- ECSF VFD 42/7H**UECS.,6/0,6/SYFT,6/0
- TITLE SUBROUTINES.
- ACE SPACE 4,10
- ** ACE - ASSIGN CONTIGUOUS EXTENDED MEMORY TRACKS.
- *
- * ENTRY (FS) = EXTENDED MEMORY EST ORDINAL.
- * (FS+2) = LENGTH OF USER EXTENDED MEMORY AREA / *EMBS*.
- * (FS+4) = LAST TRACK OF CURRENT CHAIN.
- *
- * EXIT (FS+1) = FIRST TRACK OF SUB-CHAIN.
- * (FS+3) = RA/*EMBS* OF USER EXTENDED MEMORY AREA.
- * (FS+4) = LAST TRACK OF NEW SUB-CHAIN.
- *
- * USES CM - CM+7, CN - CN+4, FS+1 - FS+3, T0 - T7.
- *
- * CALLS CAT, CDI.
- ACE17 LDN 0 CLEAR FIELDS
- STD FS+1
- STD FS+3
- ACE SUBR ENTRY/EXIT
- LDD FS+2
- ZJN ACE17 IF NO USER EXTENDED MEMORY TO BE ALLOCATED
- ADN 2
- SHN 5
- STD T1 ALLOW FOR *EMBS* WORD BLOCKS
- SHN -14
- STD T6
- LDN 0 TRACK COUNT = (FL*40) / 101
- STD T7
- ACE0 AOD T7 ADVANCE TRACK COUNT
- LDC -101
- RAD T1
- PJN ACE0 IF NOT UNDERFLOW
- AOD T1
- SOD T6
- PJN ACE0 IF NOT END OF CONVERSION
- LDN 17
- ACEB SHN -4 ADJUST FOR BLOCKING FACTOR
- * SHN -4+UESC-EMSC
- RAD T7
- RJM CDI CLEAR INTERLOCK ON ECS
- UJN ACE2 ENTER LOOP
- ACE1 LDD NC WRITE MESSAGE TO SYSTEM CONTROL POINT
- SHN 7
- ADN MS2W
- CWM =C*USER EM SPACE UNAVAILABLE.*,TR
- ACE2 PAUSE NE
- LCN 1 SET TO REQUEST ALL TRACKS
- STD CM+4
- SHN -14
- STD CM+3
- LDD FS SET EST ORDINAL
- STD CM+1
- LDD FS+4 SET CURRENT TRACK
- STD CM+2
- MONITOR RTCM REQUEST ALL AVAILABLE ECS SPACE
- LDD CM+4
- ZJN ACE1 IF TRACKS NOT AVAILABLE
- RJM CAT CALCULATE FWA OF TRT
- STM ACEA+1
- SHN -14
- ADC ADCI
- STM ACEA
- * FIND BEST FITTING CONTIGUOUS TRACK CHAIN.
- * (T0) = POINTER TO FIRST TRACK OF CHAIN UNDER CONSIDERATION.
- * (T1) = FIRST TRACK OF CHAIN UNDER CONSIDERATION.
- * (T2) = LENGTH OF CHAIN UNDER CONSIDERATION.
- * (T3) = POINTER TO FIRST TRACK OF BEST FIT SO FAR.
- * (T4) = FIRST TRACK OF BEST FIT SO FAR.
- * (T5) = LENGTH OF BEST FIT SO FAR.
- * (T6) = BYTE INDEX.
- * (T7) = LENGTH OF TRACK CHAIN REQUESTED.
- * (CM) = POINTER TO FIRST TRACK OF LONGEST CHAIN SO FAR.
- * (CM+1) = FIRST TRACK OF LONGEST CHAIN SO FAR.
- * (CM+2) = LENGTH OF LONGEST CHAIN SO FAR.
- LDN ZERL
- CRD T0
- LDN 0
- STD CM
- STD CM+1
- STD CM+2
- LDD NC CLEAR MESSAGE AT SYSTEM CONTROL POINT
- SHN 7
- ADN MS2W
- CWD CM
- LCN 0 PRESET AMOUNT OF SLOP IN BEST FIT
- STD T5
- LDD CM+4 SET FIRST TRACK
- LJM ACE9
- * SCAN TRT FOR CONTIGUOUS TRACKS.
- ACE4 AOD T2 INCREMENT LENGTH OF THIS CHAIN
- LDD CM+3 SET BYTE INDEX
- LPN 3
- STD T6
- NJN ACE6 IF NOT POINTER TO NEW WORD
- ACE5 LDD CM+3 READ NEW TRT WORD
- SHN -2
- ACEA ADC TRTS
- CRD CN
- ACE6 AOD CM+3
- LMM CN,T6
- ZJN ACE4 IF CONTIGUOUS TRACK
- LDD T2 CHECK FOR LONGEST CHAIN
- SBD CM+2
- MJN ACE7 IF OLD TRACK CHAIN LONGER
- RAD CM+2 SET NEW LENGTH
- LDD T0 SET POINTER TO FIRST TRACK
- STD CM
- LDD T1 SET FIRST TRACK
- STD CM+1
- ACE7 LDD T2 CHECK IF THIS CHAIN LONG ENOUGH
- SBD T7
- MJN ACE8 IF NOT LONG ENOUGH
- SBD T5 COMPARE AMOUNT OF SLOP
- PJN ACE8 IF OLD CHAIN HAS LESS SLOP
- RAD T5 SET NEW AMOUNT OF SLOP
- LDD T0 SET POINTER TO FIRST TRACK
- STD T3
- LDD T1 SET FIRST TRACK
- STD T4
- ACE8 SOD CM+3 SET POINTER TO FIRST TRACK OF NEXT CHAIN
- STD T0
- LDM CN,T6 CHECK FOR EOI
- ACE9 SHN 6
- PJN ACE10 IF EOI
- SHN -6
- STD CM+3 SET FIRST TRACK OF NEXT CHAIN TO CHECK
- STD T1
- LPN 3 SET BYTE INDEX
- STD T6
- LDN 1
- STD T2
- LJM ACE5
- * COMPLETE PROCESSING.
- ACE10 LDD T7 ADJUST TRACK CHAIN LENGTH
- RAD T5
- LDD T4 CHECK IF LARGE ENOUGH CHAIN FOUND
- NJN ACE11 IF CHAIN FOUND
- LDD FS+4
- UJN ACE14 DROP SHORT TRACK TRAIN
- * DROP UNUSED TRACKS.
- ACE11 LMD CM+4
- ZJN ACE12 IF ONLY NEED TO DROP TRACKS OFF END
- LDD FS SET EXTENDED MEMORY EQ NUMBER
- STD CM+1
- LDD FS+4 SET TRACK TO LINK TO
- LPC 3777
- STD CM+2
- LDD T4 SET FIRST TRACK OF CONTIGUOUS CHAIN
- STD CM+3
- LDD T3 SET LAST TRACK TO DROP
- STD CM+4
- MONITOR DLKM
- ACE12 LDD T7 CHECK IF ALL REQUEST SPACE FOUND
- SBD T5
- PJN ACE13 DROP UNNEEDED TRACKS
- RAD T5
- ACE13 LDD T4 COMPUTE LAST TRACK NEEDED IN CHAIN
- ADD T5
- SBN 1
- ACE14 LPC 3777
- STD CM+2
- LDD FS SET EXTENDED MEMORY EQ NUMBER
- LMC 4000
- STD CM+1
- LDN 0 SET SECTOR NUMBER
- STD CM+3
- MONITOR DTKM DROP TRACKS
- * COMPUTE RA AND LAST TRACK OF USER EXTENDED MEMORY AREA.
- LDD T4 SET FIRST TRACK
- NJN ACE15 IF USER EXTENDED MEMORY SPACE FOUND
- LJM ISS2 REPORT ERROR
- ACE15 STD FS+1
- LPC 3777 COMPUTE USER EXTENDED MEMORY RA
- STD T6
- SHN 6 *100
- ADD T6 *101
- SHN 1 *202
- ADN 77 ROUND TO NEAREST *EMBS* WORDS
- SHN -6
- STD FS+3 SET USER EXTENDED MEMORY RA
- LDN 17 ROUND TO NEAREST *UEBS* WORDS
- ACEC SHN -4
- * SHN -4+UESC-EMSC
- RAD FS+3
- LDD T5 COMPUTE USER EXTENDED MEMORY FL
- RAD T6
- STD FS+4 SET LAST TRACK
- SHN 6 *100
- ADD T6 *101
- SHN -5 *202/100
- SBD FS+3 SUBTRACT EXTENDED MEMORY RA
- SBD FS+2
- PJN ACE16 IF SUFFICIENT SPACE
- LJM ECS6 REPORT ERROR
- ACE16 LDC 3777 POINT TO LAST TRACK
- RAD FS+4
- LJM ACEX RETURN
- CAD SPACE 4,10
- ** CAD - CLEAR ALLOCATION DATA.
- *
- * ENTRY (T9) = ID OF MACHINE TO BE CLEARED.
- *
- * USES T1.
- CAD2 STI T1 CLEAR ENTRY
- CAD SUBR ENTRY/EXIT
- LDC TAXM
- STD T1
- CAD1 LDI T1
- LMD T9
- ZJN CAD2 IF MATCH FOUND
- LDN 5
- RAD T1
- LMC TAXML
- NJN CAD1 LOOP
- UJN CADX RETURN
- CAT SPACE 4,10
- ** CAT - CALCULATE ADDRESS OF TRT.
- *
- * ENTRY (CATA) = EXTENDED MEMORY MST ADDRESS / 10.
- *
- * EXIT (A) = FWA OF TRT - 1000.
- *
- * USES T0 - T4.
- CAT SUBR ENTRY/EXIT
- LDC ** READ TRT ADDRESS FROM EXTENDED MEMORY MST
- CATA EQU *-1 (ECS MST ADDRESS)
- SHN 3
- ADN TRLL
- CRD T0
- LDD T0+3
- LPN 77
- SHN 14
- LMD T0+4
- SBD TH 4000/4
- UJN CATX RETURN
- CDI SPACE 4,10
- ** CDI - CLEAR DEVICE INTERLOCK ON ECS.
- *
- * ENTRY (FS) = EXTENDED MEMORY EST ORDINAL.
- *
- * EXIT (DIFL) = 0.
- *
- * USES CM - CM+4.
- CDI SUBR ENTRY/EXIT
- LDM DIFL
- ZJN CDIX IF INTERLOCK NOT SET
- LDD FS SET EQUIPMENT
- STD CM+1
- LDN CDIS SET FUNCTION
- STD CM+3
- LDN 0
- STD CM+2
- STD CM+4
- MONITOR STBM
- * LDN 0 CLEAR INTERLOCK FLAG
- STM DIFL
- UJN CDIX RETURN
- CTE SPACE 4,10
- ** CTE - CREATE MEMORY CONTROL TABLE ENTRY.
- *
- * ENTRY (KA) = CP/PCP NUMBER.
- * (CN) = RAX BACKWARD LINK.
- * (CN+1) = RAX FORWARD LINK.
- *
- * USES AB - AB+4, CM - CM+4.
- *
- * CALLS SCA.
- CTE SUBR ENTRY/EXIT
- LDD KA
- RJM SCA SET CURRENT CPA/PCPA ADDRESS
- ADN ECSW
- CRD CM READ MEMORY CONTROL WORD
- LDD CM+4
- RAD CM+3 FORM RAX + FLX
- SHN -14
- RAD CM+2 NEXT POTENTIAL RAX
- LDD CN+1
- ZJN CTE1 IF SYSTEM CP
- LMD NC
- NJN CTE2 IF NOT LINKED TO SYSTEM CP
- CTE1 STD CM+2
- UJN CTE3 SET NO UNASSIGNED MEMORY
- CTE2 LDD CN+1 GET FORWARD LINKED CP/PCP ADDRESS
- RJM SCA
- ADN ECSW READ FL CONTROL WORD
- CRD AB
- LDD AB+2 RAX OF FORWARD LINK
- SHN 14
- LMD AB+3
- SBD CM+3 SUBTRACT CURRENT RAX + FLX
- CTE3 STD CN+4
- SHN -14
- SBD CM+2 SET UNASSIGNED MEMORY
- STD CN+3
- LDD KA FORM CONTROL TABLE ADDRESS
- SHN 1
- ADC 1 STORE MCT WORD
- CTEA EQU *-1
- CWD CN
- UJP CTEX RETURN
- FAD SPACE 4,10
- ** FAD - FETCH ALLOCATION DATA.
- *
- * EXIT (A) = ((T1)) = MACHINE ID,IF ONE FOUND.
- * = 0 IF NO ENTRIES IN ALLOCATION DATA.
- *
- * USES T1.
- FAD SUBR ENTRY/EXIT
- LDC TAXM
- STD T1
- FAD1 LDI T1
- NJN FADX IF ENTRY FOUND
- LDN 5
- RAD T1
- LMC TAXML
- ZJN FADX IF END OF SEARCH
- UJN FAD1 LOOP
- FSS SPACE 4,10
- ** FSS - FETCH SYSTEM SECTOR FOR USER EXTENDED MEMORY CHAIN.
- *
- * ENTRY (ECSE) = MST GLOBAL WORDS.
- * (FS) = EXTENDED MEMORY EST ORDINAL.
- *
- * EXIT (BFMS) = SYSTEM SECTOR FOR USER EXTENDED MEMORY CHAIN.
- *
- * USES T5, T6.
- *
- * CALLS CDI, RSS.
- FSS1 ENDMS
- FSS SUBR ENTRY/EXIT
- LDD FS SET EST ORDINAL
- STD T5
- LDM ECSE+ACGL*5+1 SET FIRST TRACK
- STD T6
- SETMS IO
- LDC ECSF READ SYSTEM SECTOR
- RJM RSS
- ZJN FSS1 IF NO ERROR IN SYSTEM SECTOR
- RJM CDI CLEAR DEVICE INTERLOCK
- LDC =C*USER EXTENDED MEMORY SYSTEM SECTOR ERROR.*
- UJN HNG ISSUE ERROR AND HANG
- FTM SPACE 4,10
- ** FTM - FIND THIS MACHINES ID IN THE SYSTEM SECTOR.
- *
- * ENTRY (T9) = MACHINE ID TO BE FOUND.
- * (BFMS) = SYSTEM SECTOR FOR USER EXTENDED MEMORY CHAIN.
- *
- * EXIT (T8) = POINTER TO THIS MACHINES ID OR POINTER TO THE
- * FIRST EMPTY SUB-CHAIN ENTRY.
- * IF NO MATCH AND NO EMPTY ENTRY THEN EXIT TO *ECS6*
- * TO REPORT ERROR CONDITION.
- *
- * USES T1, T8.
- FTM3 LDD T1
- NJN FTM4 IF EMPTY ENTRY FOUND
- LJM ECS6 REPORT ERROR
- FTM4 STD T8 SET POINTER TO EMPTY SUB-CHAIN
- FTM SUBR ENTRY/EXIT
- LDC BFMS+2+3*5 INITIALIZE POINTERS
- STD T8
- LDN 0
- STD T1
- FTM1 LDN 5 INCREMENT POINTER
- RAD T8
- LMC BFMS+2+10*5
- ZJN FTM3 IF END OF SUB-CHAIN ENTRIES
- LDI T8
- NJN FTM2 IF NOT AN EMPTY ENTRY
- LDD T1
- NJN FTM1 IF FIRST EMPTY ENTRY ALREADY FOUND
- LDD T8 SET POINTER TO EMPTY ENTRY
- STD T1
- UJN FTM1 LOOP
- FTM2 LMD T9
- ZJN FTMX IF MATCH FOUND
- UJN FTM1 LOOP
- HNG SPACE 4,10
- ** HNG - ISSUE MESSAGE AND HANG.
- *
- * ENTRY (A) = ERROR MESSAGE ADDRESS.
- HNG STM HNGA SAVE MESSAGE ADDRESS
- LDN 4
- STD T1
- LDD NC WRITE MESSAGE TO SYSTEM CONTROL POINT
- SHN 7
- ADN MS2W
- CWM **,T1
- HNGA EQU *-1
- UJN * HANG
- ISS SPACE 4,10
- ** ISS - INITIALIZE SYSTEM SECTOR FOR USER EXTENDED MEMORY AREA.
- *
- * ENTRY (FS) = EXTENDED MEMORY EST ORDINAL.
- * (CATA) = EXTENDED MEMORY MST ADDRESS / 10.
- * (ECSE) = GLOBAL MST WORDS.
- *
- * EXIT UPDATED GLOBAL MST STORED IN CENTRAL MEMORY.
- * SYSTEM SECTOR INITIALIZED.
- *
- * USES CM - CM+4, FA, T1, T2, T5, T6.
- *
- * CALLS CDI, DCH, RCH, SDI, SMS, WEI, WSS.
- ISS SUBR ENTRY/EXIT
- LDC 500 INITIALIZE TO CLEAR SYSTEM SECTOR
- STD T1
- ISS1 LDN 0 CLEAR SYSTEM SECTOR
- STM BFMS+2,T1
- SOD T1
- NJN ISS1 IF NOT TIME TO MOVE FNT ENTRY
- STD FA
- LDD MA SET FNT ENTRY IN SYSTEM SECTOR
- CWM ECSF,ON
- SBN 1
- CRM FNSS,ON
- RJM CDI CLEAR INTERLOCK ON ECS
- LDN ZERL REQUEST FIRST TRACK OF USER ECS CHAIN
- CRD CM
- LDD FS
- STD CM+1
- STD T5
- MONITOR RTCM
- LDD CM+4
- NJN ISS3 IF TRACK ASSIGNED
- ISS2 LDC =C*USER EXTENDED MEMORY SPACE UNAVAILABLE.*
- LJM HNG ISSUE ERROR AND HANG
- ISS3 STD T6
- RJM SDI INTERLOCK ECS
- LDD T6
- STM ECSE+ACGL*5+1 SET FIRST TRACK IN GLOBAL DATA
- LDM CATA SET FIRST TRACK IN MST
- SHN 3
- ADN ACGL
- CWM ECSE+ACGL*5,ON
- RJM CDI CLEAR INTERLOCK ON ECS
- SETMS IO
- RJM WSS WRITE SYSTEM SECTOR
- RJM WEI WRITE EOI
- ENDMS
- LDD T6 PRESERVE USER EXTENDED MEMORY AREA
- STD CM+2
- LDN SPFS
- STD CM+3
- LDD FS SET EXTENDED MEMORY EQUIPMENT
- ADC 4000 SET CHECKPOINT REQUEST
- STD CM+1
- MONITOR STBM
- LJM ISSX RETURN
- RLS SPACE 4,10
- ** RLS - RELEASE EXISTING USER EXTENDED MEMORY SUB-CHAIN.
- *
- * ENTRY (BFMS) = SYSTEM SECTOR FOR USER EXTENDED MEMORY CHAIN.
- * (ECSE) = GLOBAL MST WORDS.
- * (FS) = EXTENDED MEMORY EST ORDINAL.
- * (T8) = POINTER TO SUB-CHAIN ENTRY TO BE RELEASED.
- *
- * EXIT (A) = (FS+1) = (FS+3) = (FS+4) = 0.
- * TO *ECS6* IF UNABLE TO LOCATE PREDECESSOR TRACK FOR
- * SUB-CHAIN TO BE RELEASED.
- *
- * USES CM - CM+4, T1, T3.
- *
- * CALLS CAT.
- RLS SUBR ENTRY/EXIT
- RJM CAT CALCULATE FWA OF TRT
- STM RLSA+1
- STM RLSB+1
- SHN -14
- LMC ADCI
- STM RLSA
- STM RLSB
- LDC BFMS+2+3*5+4 INITIALIZE FOR SEARCH
- STD T3
- LDM ECSE+ACGL*5+1
- STI T3
- * LOCATE PREDECESSOR TRACK OF SUB-CHAIN TO BE RELEASED.
- RLS1 LDI T3 READ TRT WORD CONTAINING THIS TRACK
- SHN -2
- RLSA ADC TRTS
- CRD CM
- LDI T3 SET BYTE INDEX
- LPN 3
- STD T1
- LDM CM,T1 CHECK LINK
- LMM 1,T8
- ZJN RLS2 IF PREDECESSOR TRACK FOUND
- LDN 5
- RAD T3
- LMC BFMS+2+10*5+4
- NJN RLS1 IF MORE ENTRIES TO SEARCH
- LJM ECS6 REPORT ERROR
- * LOCATE SUCCESSOR TRACK TO SUB-CHAIN TO BE RELEASED.
- RLS2 LDM 4,T8 FIND TRACK TO LINK TO
- SHN -2
- RLSB ADC TRTS
- CRD CM
- LDM 4,T8
- LPN 3
- STD T1
- LDM CM,T1
- SHN 21-13
- PJN RLS3 IF LAST TRACK IN CHAIN
- * DELINK SUB-CHAIN.
- SHN -6 SET TRACK TO BE LINKED
- STD CM+3
- LDI T3 SET TRACK TO LINK TO
- LPC 3777
- STD CM+2
- LDM 4,T8 SET LAST TRACK TO DROP
- STD CM+4
- LDD FS SET EST ORDINAL
- ADC 4000 SET CHECKPOINT REQUEST
- STD CM+1
- MONITOR DLKM
- UJN RLS4 COMPLETE PROCESSING
- * DROP LAST SUB-CHAIN.
- RLS3 LDI T3 GET PREDECESSOR TRACK
- LPC 3777 SET TO DROP AFTER THIS TRACK
- STD CM+2
- LDN 0
- STD CM+3
- STD CM+4
- LDD FS SET EST ORDINAL
- ADC 4000 SET CHECKPOINT REQUEST
- STD CM+1
- MONITOR DTKM
- * COMPLETE RELEASE SUB-CHAIN PROCESSING.
- RLS4 LDN 0 CLEAR TRACK POINTERS
- STD FS+1
- STD FS+4
- STD FS+3 CLEAR RA OF RELEASED SUB-CHAIN
- LJM RLSX RETURN
- SCP SPACE 4,10
- ** SCP - SETUP CONTROL POINT AREAS.
- *
- * ENTRY (FS+2) = LENGTH OF USER EXTENDED MEMORY AREA / *EMBS*.
- * (FS+3) = RA/*EMBS* OF USER EXTENDED MEMORY AREA.
- * (NC) = NUMBER OF CONTROL POINTS.
- * (NS) = NUMBER OF CP-S + PCP-S.
- *
- * EXIT *ECRL* SETUP IN CMR, ALL CONTROL POINT AREAS SETUP.
- *
- * USES T1, T2, T7, CM - CM+4, FS+1 - FS+4.
- *
- * CALLS SMT.
- SCP SUBR ENTRY/EXIT
- LDD FS+2
- STD FS+1
- LDN ECRL COMPLETE BUILD OF *ECRL*
- CRD CM
- LDN 0 CLEAR EXTENDED MEMORY EQUIPMENT
- STD CM
- LDD FS+3 SET USER EXTENDED MEMORY RA
- SCPA SHN 0
- * SHN EMSC-UESC
- STD FS+3
- STD CM+3
- SHN -14
- STD FS+2
- STD CM+2
- LDN ECRL
- CWD CM
- LDD FS+1
- ZJN SCPX IF NO USER ECS IN ECS EQUIPMENT
- LDD CM+4
- STD FS+4 SAVE USER XM RESERVED FOR CP 0
- LDN ZERL
- CRD CM
- LDN CPNS SETUP CONTROL POINT AREAS
- STD T7
- LDD FS+2
- SHN 14
- ADD FS+3 SET XM RA IN CONTROL POINT WORK AREA
- ADD FS+4
- SCP2 STD CM+3
- SHN -14
- STD CM+2
- SCP3 LDD T7 FORM CONTROL POINT ADDRESS
- SHN 7
- ADN ECSW SET ECS RA IN CONTROL POINT AREA
- CWD CM
- AOD T7
- SBD NC
- ZJN SCP4 IF SYSTEM CP
- ADD NC
- LMN 2
- NJN SCP3 IF NOT SECOND CP
- LDD FS+1
- SCPB SHN 0
- * SHN EMSC-UESC
- ADD FS+3 ALLOCATE XM FL BETWEEN 1ST AND 2ND CP-S
- SHN 6
- LMD FS+2
- SHN 14
- UJN SCP2 SETUP SECOND CP AREA
- SCP4 LDD FS+2 SETUP *ECSW* FOR SYSTEM CONTROL POINT
- STD CM+2
- LDD FS+3
- STD CM+3
- LDD FS+1
- SCPC SHN 0
- * SHN EMSC-UESC
- STD CM+4
- LDD NC
- SHN 7
- ADN ECSW
- CWD CM
- LDD NS SET NUMBER OF PSEUDO CONTROL POINTS
- SBD NC
- ZJN SCP6 IF NO PCP-S
- STD T2
- * SET UP PSEUDO CONTROL POINT AREAS.
- LDD NC INITIALIZE PCP NUMBER
- STD T1
- SBN CPLK CP LINK TO PCP-S
- SHN 7
- ADN ECSW GET FLX CONTROL WORD
- CRD CM
- SCP5 AOD T1 ADVANCE AND SET PCPA ADDRESS
- RJM SCA
- ADN ECSW STORE FLX CONTROL WORD
- CWD CM
- SOD T2
- NJN SCP5 IF MORE PCP-S
- SCP6 RJM SMT
- LDN ACML
- CRD CM
- LDD FS+1 SET UNASSIGNED USER XM
- SCPF SHN 0
- * SHN EMSC-UESC
- SBD FS+4 ADJUST FOR USER XM RESERVED FOR CP 0
- STD CM+3
- LDN ACML STORE AVAILABLE USER XM
- CWD CM
- LDD FS+4
- NJN SCP8 IF USER XM FOR CP 0
- SCP7 LJM SCPX RETURN
- SCP8 SHN 11 CONVERT TO WORD COUNT
- SCPD SHN 0
- * SHN EMSC-UESC
- STD T2
- SHN -14
- STD T1
- LDN ZERL CLEAR THE MESSAGE BUFFER
- CRD CM
- LDD MA
- CWM CM,ON
- CWM CM,ON
- CWM CM,ON
- CWM CM,ON
- SCP9 LDD T1 CLEAR XM BUFFER
- SHN 14
- LMD T2
- SBN 4
- MJN SCP7 IF END OF BUFFER
- STD CM+4
- STD T2
- SHN -14
- STD T1
- LMC WRES*1000 MERGE SUBFUNCTION
- STD CM+3
- LDD MA SET CM ADDRESS
- STD CM+2
- LDC 300 SET WORD COUNT-1
- STD CM+1
- MONITOR ECSM
- LDD CM+1
- ZJN SCP9 IF NO ERROR
- LDC SCPE
- RJM ERR DISPLAY MESSAGE AND HANG
- SCPE DATA C+*ECSM* ERROR CLEARING USER XM.+
- SDI SPACE 4,10
- ** SDI - SET DEVICE INTERLOCK ON ECS.
- *
- * ENTRY (FS) = EXTENDED MEMORY EST ORDINAL.
- *
- * EXIT (ECSE) = MST GLOBAL WORDS.
- * (CATA) = EXTENDED MEMORY MST ADDRESS / 10.
- * (DIFL) = 1.
- *
- * USES CM - CM+4.
- *
- * MACROS MONITOR, SFA.
- SDI1 SFA EST,FS
- ADK EQDE
- CRD CM
- LDD CM+4 READ MST GLOBAL WORDS
- STM CATA
- SHN 3
- ADK TDGL
- CRM ECSE,TR
- SDI SUBR ENTRY/EXIT
- LDC 0
- DIFL EQU *-1 DEVICE INTERLOCKED FLAG (CLEARED BY *CDI*)
- NJN SDI1 IF DEVICE INTERLOCKED
- STD CM+2
- STD CM+4
- LDD FS SET EQUIPMENT
- STD CM+1
- LDN SDIS SET FUNCTION
- STD CM+3
- MONITOR STBM
- AOM DIFL SET INTERLOCKED FLAG
- UJN SDI1 READ MST GLOBAL WORDS
- SMT SPACE 4,10
- ** SMT - SETUP MEMORY CONTROL TABLE.
- *
- * ENTRY (NC) = SYSTEM CP NUMBER.
- * (NS) = NUMBER OF CP-S + PCP-S.
- *
- * USES T5, KA, KB, CN - CN+4.
- *
- * CALLS CTE.
- SMT SUBR ENTRY/EXIT
- LDN 0
- STD KA INITIALIZE CP NUMBER
- CRD CN
- LDD NS SET MCT ENTRY COUNT
- ADN 1
- STD KB INCLUDE CP-0
- STD T5
- SMT1 LDD KA
- STD CN SET BACKWARD LINK
- LDD CN+1
- STD KA CURRENT = PREVIOUS FORWARD LINK
- LMD NC
- ZJN SMT3 IF CREATING ENTRY FOR SYSTEM CP
- AOD CN+1
- ADN CPLK CHECK NEW FORWARD LINK
- SBD NC
- NJN SMT2 IF NOT CP TO LINK TO PCP-S
- LDD NC
- ADN 1 SET FIRST PCP NUMBER
- STD CN+1
- SMT2 LDD CN+1 CHECK NEW FORWARD LINK
- LMD T5
- NJN SMT4 IF NOT LINKING OUT OF PCP-S
- LDD NC
- SBN CPLK SET FORWARD LINK TO REAL CP
- SMT3 STD CN+1
- SMT4 RJM CTE CREATE TABLE ENTRY FOR XM
- SOD KB
- NJN SMT1 IF NOT END OF TABLE
- UJP SMTX RETURN
- SSS SPACE 4,10
- ** SSS - STORE SYSTEM SECTOR FOR USER EXTENDED MEMORY CHAIN.
- *
- * ENTRY (ECSE) = MST GLOBAL WORDS.
- * (FS) = EXTENDED MEMORY EST ORDINAL.
- * (FS+1) = FIRST TRACK OF SUB-CHAIN.
- * (FS+2) = LENGTH OF USER EXTENDED MEMORY AREA.
- * (FS+3) = RA OF USER EXTENDED MEMORY AREA.
- * (FS+4) = LAST TRACK OF SUB-CHAIN.
- * (T8) = POINTER TO SUB-CHAIN DESCRIPTOR ENTRY.
- * (T9) = MMF MACHINE ID FOR CHAIN.
- * = 0 IF SUB-CHAIN ENTRY TO BE CLEARED.
- *
- * EXIT SYSTEM SECTOR UPDATED WITH NEW INFORMATION.
- *
- * USES FA, T5, T6.
- *
- * CALLS WSS.
- *
- * MACROS ENDMS, SETMS.
- SSS SUBR ENTRY/EXIT
- LDD FS SET EST ORDINAL
- STD T5
- LDM ECSE+ACGL*5+1 SET FIRST TRACK
- STD T6
- LDD T9 SET MMF ID
- NJN SSS1 IF NOT CLEARING ENTRY
- LDD T8
- STM SSSA
- LDN ZERL
- CRM **,ON
- SSSA EQU *-1
- UJN SSS2 WRITE SECTOR
- SSS1 STI T8
- LDD FS+1 SET FIRST TRACK OF USER ECS AREA
- STM 1,T8
- LDD FS+2 SET LENGTH OF USER EXTENDED MEMORY AREA
- STM 2,T8
- LDD FS+3 SET RA OF USER EXTENDED MEMORY AREA
- STM 3,T8
- LDD FS+4 SET LAST TRACK OF USER ECS
- STM 4,T8
- SSS2 SETMS IO,DF
- LDN 0 SET FNT DATA PRESTORED
- STD FA
- RJM WSS WRITE SYSTEM SECTOR
- ENDMS
- LJM SSSX RETURN
- SPACE 4,10
- OVERFLOW ECSX,BFMS
- PRS SPACE 4,10
- ** PRS - PRESET PROGRAM.
- *
- * ENTRY (FS) = BYTE 0 OF *ECRL* = EM EST ORDINAL FROM *SET*.
- * (FS+1) = USER XM SIZE / *UEBS*.
- * (FS+2 - FS+3) = USER XM RA / *UEBS*.
- * (RS) = RECOVERY STATUS.
- * TAXM = EM ALLOCATION TABLE GENERATED BY *SET*.
- *
- * EXIT (FS+2) = USER XM SIZE / *EMBS*.
- * (FS+3) = USER XM RA / *EMBS*.
- * (T9) = MACHINE ID.
- *
- * USES CM - CM+4, CN - CN+4, T5 - T7.
- PRS SUBR ENTRY/EXIT
- LDN MEFL
- CRD T5 GET XM SHIFT COUNTS
- ADN MMFL-MEFL
- CRD CN FETCH MMF STATUS
- ADN MCTP-MMFL
- CRD CM READ MCT POINTER
- LDD CM+1
- RAM CTEA
- SHN -14 SET MCT ADDRESS
- ADD CM
- RAM CTEA-1
- LDD T7 EXTRACT USER XM SHIFT COUNT *UESC*
- SHN -11
- STD T9
- LDD T7 EXTRACT XM SHIFT COUNT *EMSC*
- SHN -5
- LPN 3
- STD T0
- SBD T9
- LPN 77 PRESET SHIFT INSTRUCTIONS
- RAM SCPA
- STM SCPB
- STM SCPC
- STM SCPD
- STM SCPF
- LMN 77
- STM PRSA
- STM PRSB
- LDD T9
- SBD T0
- RAM ACEB
- STM ACEC
- LDD FS+2 ADJUST USER XM RA
- SHN 14
- ADD FS+3
- PRSA SHN 0
- * SHN UESC-EMSC
- STD FS+3
- LDD FS+1 ADJUST USER XM FL VALUE
- PRSB SHN 0
- * SHN UESC-EMSC
- STD FS+2
- LDD CN+1 CHECK ALLOCATING ON LINK DEVICE
- LPC 777
- STM ECSB
- LDD CN SAVE MACHINE ID
- STD T9
- UJP PRSX RETURN
- QUAL
- TTL REC/4RC - RECOVER CHANNEL/EQUIPMENT STATUS.
- TITLE
- QUAL RCE
- IDENT 4RC,RCEX
- *COMMENT REC - RECOVER CHANNEL/EQUIPMENT STATUS.
- COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
- SPACE 4,10
- *** RCE - RECOVER CHANNEL/EQUIPMENT STATUS.
- *
- * RCE WILL READ THE CHANNEL INTERLOCK TABLES AND THE
- * EQUIPMENT STATUS TABLE (EST) FROM THE CHECKPOINT FILE.
- * THE FOLLOWING ITEMS MUST BE RESTORED TO THE STATUS THAT
- * EXISTED BEFORE THE RECOVERY.
- * 1. CHANNELS THAT ARE GLOBALLY DOWN.
- * 2. CHANNELS THAT ARE DOWN FOR A SPECIFIC EQUIPMENT, BUT
- * ARE NOT GLOBALLY DOWN.
- * 3. CHANNELS THAT ARE ASSIGNED TO EJT ORDINALS.
- * 4. EQUIPMENTS THAT ARE DOWN. THE DATA TO BE RESTORED
- * INCLUDES THE DOWN, UNAVAILABLE AND OFF BITS IN THE
- * EST, AND GLOBAL DOWN, GLOBAL UNLOAD, UNLOAD
- * REQUESTED AND UNLOADED BITS IN THE MST.
- RCE SPACE 4,10
- *** ENTRY CONDITIONS.
- *
- * (SE) = EST ORDINAL OF CHECKPOINT FILE.
- * (RECE) = FIRST TRACK OF CHECKPOINT FILE.
- SPACE 4,10
- ORG OVLA
- SPACE 4,10
- ** RCE - MAIN ROUTINE.
- RCE SUBR ENTRY/EXIT
- LDD RS
- LPN SYMK CHECK RECOVERY LEVEL
- LMN SYCM
- ZJN RCE1 IF CM RECOVERY
- LDD CE
- STD T5 CHECKPOINT DEVICE EST ORDINAL
- SETMS IO
- LDM RECE SET FIRST TRACK OF CHECKPOINT FILE
- STD T6
- LDN 3 SET SECTOR OF EST
- STD T7
- RJM PET PROCESS EST
- RJM PCH PROCESS CHANNEL TABLES
- RCE1 RJM RSE RELEASE SYSTEM ASSIGNED EQUIPMENT
- UJP RCEX RETURN
- TITLE SUBROUTINES.
- CDS SPACE 4,10
- ** CDS - CHECK DEVICE STATUS.
- *
- * ENTRY (T5) = EST ORDINAL.
- * (CA) = BUFFER ADDRESS OF EST ENTRY.
- *
- * MACROS SMSTF.
- CDS1 LDI CA CHECK PREVIOUS RECOVERY STATUS
- SHN 21-6
- PJN CDSX IF DEVICE AVAILABLE
- CDS2 SMSTF LUNL SET UNLOAD REQUESTED
- SMSTF LDUL SET DEVICE UNLOADED
- CDS SUBR ENTRY/EXIT
- LDI CA
- SHN 21-13
- PJN CDSX IF NOT MS DEVICE
- SHN 14
- LPN 3 CHECK DEVICE STATE
- LMN 3
- NJN CDS1 IF NOT DOWN
- SMSTF GUNL SET GLOBAL UNLOAD
- UJN CDS2 SET LOCAL MST STATUS
- DDC SPACE 4,10
- ** DDC - DETERMINE DOWN CHANNELS.
- *
- * ENTRY (CA) = ADDRESS OF EST ENTRY IN BUFFER.
- *
- * EXIT ANY CHANNEL MARKED AS DOWN ON THE CHECKPOINT FILE
- * WILL BE SET DOWN IN THE CM COPY OF THE EST ENTRY.
- *
- * USES T1, T2, CM - CM+4.
- *
- * CALLS ISF.
- *
- * MACROS MONITOR.
- DDC4 AOD T1 ADVANCE CHANNEL BYTE ADDRESS
- LMD T2
- NJN DDC1 IF ANOTHER CHANNEL TO CHECK
- DDC SUBR ENTRY/EXIT
- LDD CA
- ADN 1 SET CHANNEL BYTE ADDRESS
- STD T1
- ADN 2 SET END OF PATH DESCRIPTORS
- STD T2
- DDC1 LDI T1
- ZJN DDC4 IF ACCESS UNDEFINED
- SHN 0-11
- LMN 4
- DDC2 ZJN DDC4 IF CHANNEL PRESENT AND UP
- LPN 3
- ZJN DDC3 IF CHANNEL AVAILABLE
- LDN DNCS
- RJM ISF DOWN THE CHANNEL
- DDC3 LDI T1
- SHN 0-13
- NJN DDC4 IF CHANNEL PRESENT
- LDN DAPS
- STD CM+3
- LDD EO SET EST ORDINAL
- STD CM+1
- LDI T1
- LPN 77
- STD CM+2
- MONITOR SCSM DISABLE ACCESS PATH
- * LDN 0
- UJP DDC4 CHECK FOR ALTERNATE ACCESS
- IEQ SPACE 4,10
- ** IEQ - IDENTIFY EQUIPMENT.
- *
- * ENTRY (CA) = BUFFER ADDRESS OF EST ENTRY.
- * (T5) = EST ORDINAL.
- * (CN - CN+4) = EST ENTRY FROM CMR.
- *
- * MACROS SFA.
- IEQ SUBR ENTRY/EXIT
- LDD CA
- ADN EQAE*5
- STM IEQA
- SFA EST,T5 REWRITE *EQAE* WORD OF EST ENTRY
- ADK EQAE
- CWM **,ON
- IEQA EQU *-1
- LDI CA
- SHN 21-13
- MJN IEQX IF MS DEVICE
- LDM 3,CA
- STD CN+3
- SFA EST,T5 PRESERVE DEVICE MNEMONIC
- ADK EQDE
- CWD CN
- UJP IEQX RETURN
- ISF SPACE 4,10
- ** ISF - ISSUE *SEQM* FUNCTION.
- *
- * ENTRY (A) = *SEQM* SUBFUNCTION.
- * (T1) = CHANNEL DESCRIPTOR ADDRESS.
- * (EO) = EST ORDINAL.
- *
- * EXIT (A) = 0.
- * (CM+1) = *SEQM* STATUS.
- *
- * USES CM - CM+4.
- *
- * MACROS MONITOR.
- ISF SUBR ENTRY/EXIT
- STD CM+2
- LDD EO SET EST ORDINAL
- STD CM+1
- LDI T1 SET CHANNEL NUMBER
- LPN 77
- STD CM+3
- LDN 0 CLEAR MUX CHANNEL INDICATOR
- STD CM+4
- MONITOR SEQM MODIFY PATH DESCRIPTOR
- * LDN 0
- UJN ISFX RETURN
- PCH SPACE 4,10
- ** PCH - PROCESS CHANNEL TABLES.
- *
- * ENTRY SYSTEM FILE POSITIONED TO CHANNEL TABLES.
- *
- * EXIT CHANNEL EJT ASSIGNMENT TABLE RESTORED.
- *
- * USES T1, CM - CM+4.
- *
- * CALLS RNS.
- *
- * MACROS ENDMS.
- PCH SUBR ENTRY/EXIT
- LDC BFMS READ CHANNEL TABLES
- RJM RNS
- ENDMS
- LDN CTALL SET TABLE LENGTH
- STD T1
- LDC CHTP GET CHANNEL TABLE POINTER
- CRD CM
- LDD CM+2
- SHN 14
- ADD CM+3
- ADK CTALL
- CWM BFMS+2+CTALL*5,T1 RESTORE CHANNEL ASSIGNMENT TABLE
- UJN PCHX RETURN
- PET SPACE 4,10
- ** PET - PROCESS EST.
- *
- * ENTRY SYSTEM FILE POSITIONED TO EST SECTOR.
- *
- * EXIT FOR ALL EQUIPMENTS WITH DOWN STATUS SET,
- * THE DOWN, OFF, AND UNAVAILABLE BITS WILL BE
- * SET IN THE EST, AND THE GLOBAL
- * UNLOAD, UNLOAD REQUESTED, AND UNLOAD PROCESSED
- * BITS WILL BE SET IN THE MST.
- * FOR EQUIPMENTS WITH A CHANNEL DOWN ON THE CHECKPOINT
- * FILE, BUT NOT IN THE CM EST (CHANNEL IS NOT GLOABALLY
- * DOWN), THE CHANNEL DOWN STATUS IS RESET WITH A *SEQM*
- * FUNCTION.
- *
- * USES CA, EO, LM, T3, T5, CN - CN+4.
- *
- * CALLS CDS, DDC, IEQ, RNS, SES.
- *
- * MACROS ENDMS, SETMS, SFA.
- PET2 AOD EO ADVANCE EST ORDINAL
- STD T5
- ERRNZ ESTE/2*2-ESTE CODE ASSUMES INTEGRAL EST-S PER PRU
- LDN 5*ESTE ADVANCE BUFFER ADDRESS
- RAD CA
- SFA EST,EO GET EST ENTRY FROM CMR
- ADK EQDE
- CRD CN
- RJM IEQ IDENTIFY EQUIPMENT
- RJM SES
- RJM DDC
- RJM CDS CHECK DEVICE STATUS
- PET4 LCN ESTE DECREMENT WORD COUNT
- RAD LM
- PJN PET2 IF NOT END OF SECTOR
- LDD CE RESET CHECKPOINT DEVICE EST ORDINAL
- STD T5
- LDD T3 CHECK EST SECTOR
- SHN -6
- NJN PET1 IF NOT EOR
- PET SUBR ENTRY/EXIT
- LCN 0
- STD EO
- PET1 LDC BFMS+2-5*ESTE INITIALIZE BUFFER POINTER
- STD CA
- ADN 5*ESTE-2 READ NEXT SECTOR OF EST
- RJM RNS
- STD LM
- ENDMS
- LDD LM SET SECTOR WORD COUNT
- STD T3
- NJN PET4 IF NOT EMPTY SECTOR
- UJN PETX RETURN
- RSE SPACE 4,10
- ** RSE - RELEASE SYSTEM ASSIGNED EQUIPMENT.
- *
- * USES T5, T6, T7, CM - CM+4, FS - FS+4.
- *
- * MACROS SFA.
- RSE2 LDD CP
- ADN EACW UPDATE EQUIPMENT ASSIGNED COUNT WORD
- CWD FS
- RSE SUBR ENTRY/EXIT
- LDD CP
- ADN EACW GET EQUIPMENT ASSIGNED COUNT WORD
- CRD FS
- LDN ESTP
- CRD T7-2 FETCH EST POINTERS
- RSE1 SOD T7
- MJN RSE2 IF EST SCAN COMPLETE
- SFA EST
- ADK EQAE READ EST ASSIGNMENT WORD
- CRD CM
- LDD CM+4 CHECK ASSIGNMENT
- LMC 7777
- NJN RSE1 IF NOT SYSTEM
- STD CM+4
- STD FS CLEAR EQUIPMENT ASSIGNED COUNT
- SFA EST,T7
- ADK EQAE CLEAR SYSTEM ASSIGNMENT
- CWD CM
- UJN RSE1 CONTINUE EST SCAN
- SES SPACE 4,10
- ** SES - SET EQUIPMENT STATE.
- *
- * ENTRY (EO) = EST ORDINAL.
- * (CA) = BUFFER ADDRESS OF EST ENTRY.
- * (CN - CN+4) = EST ENTRY FROM CMR.
- *
- * USES CM - CM+4.
- *
- * MACROS MONITOR.
- SES SUBR ENTRY/EXIT
- LDI CA
- LMD CN COMPARE EQUIPMENT STATE
- LPN 3
- ZJN SESX IF NO CHANGE
- LDI CA
- LPN 3 EXTRACT PREVIOUS STATE
- STD CM+2
- ERRNZ ONES CODE DEPENDS ON VALUE
- ERRNZ IDES-1 CODE DEPENDS ON VALUE
- ERRNZ OFES-2 CODE DEPENDS ON VALUE
- ERRNZ DWES-3 CODE DEPENDS ON VALUE
- LDD EO
- STD CM+1 RESTORE EQUIPMENT STATE
- MONITOR SEQM
- UJN SESX RETURN
- SPACE 4,10
- ** COMMON DECKS.
- QUAL$ EQU 1 DO NOT QUALIFY COMMON DECKS
- *CALL COMPTGB
- *CALL COMPTLB
- SPACE 4,10
- ERRPL *-BFMS OVERFLOW INTO BUFFER
- SPACE 4,10
- QUAL
- TTL REC/4RD - CONTROL POINT RECOVERY ROUTINES.
- TITLE
- QUAL CPR
- IDENT 4RD,CPRX
- *COMMENT REC - CONTROL POINT RECOVERY ROUTINES.
- COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
- CPR SPACE 4,10
- *** CPR - CONTROL POINT RECOVERY ROUTINES.
- CPR SPACE 4,10
- ORG OVLA
- CPR SUBR ENTRY/EXIT
- UJN CPRX RETURN AFTER LOAD
- SPACE 4,10
- ** COMMON DECKS.
- LIST X
- *CALL COMPVEI
- LIST *
- TITLE SUBROUTINES.
- UQE SPACE 4,15
- ** UQE - UPDATE QFT ENTRY.
- *
- * ENTRY (EO) = EJT ORDINAL IF PROCESSING CONTROL POINTS.
- * = 0 IF PROCESSING QFT.
- * (FS - FS+4) = FST INFORMATION.
- *
- * USES T5, T6.
- *
- * CALLS RSS.
- *
- * MACROS ENDMS, SETMS, SFA.
- UQE SUBR ENTRY/EXIT
- LDD FS SET EQUIPMENT
- STD T5
- LDD FS+1 SET FIRST TRACK
- STD T6
- SETMS IO
- LDN 0 READ SYSTEM SECTOR
- RJM RSS
- NJN UQEX IF SYSTEM SECTOR ERROR
- ENDMS
- LDD EO
- ZJN UQE1 IF PROCESSING QFT
- STM IOSS+5*ENTQ+4
- LDN 2
- UQE1 STD T5
- LDM IOSS+5*JSNQ+4 SET/CLEAR EJT ASSIGNMENT
- SCN 7
- LMD T5
- STM IOSS+5*JSNQ+4
- LDN QFTE LENGTH OF QFT ENTRY
- STD T6
- SFA QFT,GQSS STORE QFT ENTRY
- CWM IOSS,T6
- LJM UQEX RETURN
- VEI SPACE 4,15
- ** VEI - VALIDATE EOI FOR MASS STORAGE FILE.
- *
- * ENTRY (FA) = FNT INDEX.
- * (QT) = FILE TYPE.
- * (FS - FS+4) = FST INFORMATION.
- *
- * USES QI, T6.
- *
- * CALLS CLF, C2D, IRA, RDC, RSS, WEI, WSS.
- *
- * MACROS ENDMS, SETMS, SFA.
- VEI5 LDD QI RESTORE FNT ORDINAL
- STD FA
- VEI6 ENDMS RELEASE CHANNEL
- VEI SUBR ENTRY/EXIT
- LDD FS
- ZJN VEIX IF NULL EQUIPMENT
- STD T5
- SFA EST READ EST ENTRY
- ADK EQDE
- CRD CM
- LDD CM
- SHN 0-13
- ZJN VEIX IF NOT MASS STORAGE
- LDD FS+1
- ZJN VEIX IF FILE NOT USED
- STD T6 SET FIRST TRACK
- SHN -6 PUT STARTING TRACK IN MESSAGE
- RJM C2D
- STM VEIC
- LDD T6
- RJM C2D
- STM VEIC+1
- LDD T5 PUT EST ORDINAL IN MESSAGE
- SHN -3
- RJM C2D
- STM VEIB
- LDD T5
- LPN 7
- SHN 6
- ADC 2R0,
- STM VEIB+1
- LDC DSCP*CPAS+MS1W DISPLAY MESSAGE
- CWM VEIA,TR
- SBN 1 SAVE ADDRESS FOR *RDC* MESSAGE
- STM RDCA
- RJM IRA INITIALIZE RANDOM ACCESS PROCESSORS
- SETMS IO,RW
- LCN 1 READ DISK CHAIN
- RJM RDC
- NJN VEI2 IF LENGTH/LINKAGE/DISK ERROR
- VEI1 LJM VEI6 RETURN
- VEI2 RJM CLF CHANGE LENGTH OF FILE IN TRT
- LDD FS+4
- NJN VEI3 IF NO REWRITE OF EOI REQUIRED
- RJM WEI WRITE EOI
- VEI3 LDD QT CHECK FILE TYPE
- LMN PMFT
- NJN VEI1 IF NOT DIRECT ACCESS PERMANENT FILE
- LDD FS+1 SET FIRST TRACK
- STD T6
- LDD FA SAVE FNT ORDINAL
- STD QI
- SETMS POSITION
- * LDN 0 SELECT NO FILE NAME VERIFICATION
- STD FA
- RJM RSS READ SYSTEM SECTOR
- NJN VEI4 IF SYSTEM SECTOR ERROR
- LDM /COMSPFM/CTSS+/COMSPFM/FCEC SET ERROR FLAG IN SS
- LPC 7077
- LMC 400
- STM /COMSPFM/CTSS+/COMSPFM/FCEC
- RJM WSS REWRITE SYSTEM SECTOR
- VEI4 LJM VEI5 RESTORE FNT ORDINAL
- VEIA DATA H* VERIFY EQ*
- VEIB DATA H*000, A*
- VEIC DATA C*0000.*
- SPACE 4,10
- OVLC EQU *+5 ORIGIN FOR *4RF*
- ABT SPACE 4,10
- ** ABT - ABORT CM RECOVERY.
- *
- * ENTRY (PN) = CP/PCP NUMBER.
- *
- * EXIT TO *ERR*.
- *
- * USES PN.
- *
- * CALLS C2D.
- ABT LDD PN CHECK CP NUMBER
- SBD NC
- MJN ABT1 IF REAL CP
- ZJN ABT1 IF SYSTEM CP
- SBN 1
- STD PN SAVE PCP OFFSET
- SOM ABTA
- ABT1 LDD PN CONVERT CP/PCP NUMBER
- RJM C2D
- STM ABTB+1 SET NUMBER IN MESSAGE
- LDC ABTB
- ABTA EQU *-1
- LJM ERR DISPLAY ERROR AND HANG
- DATA 2H P
- ABTB DATA C*CP00 CPA/MOVING.*
- CRS SPACE 4,20
- ** CRS - CHECK ROLLIN/ROLLOUT STATUS.
- *
- * ENTRY (PN) = CP/PCP NUMBER.
- *
- * EXIT CONTROL POINT RELEASED IF JOB ROLLING IN.
- * TO *ABT* IF PSEUDO-ROLLIN OR PSEUDO-ROLLOUT IN
- * PROGRESS.
- * *REC* ASSIGNED TO CP IF CP BEING RECOVERED.
- * (A) = (EO) = EJT ORDINAL IF CP/PCP ASSIGNED.
- * (A) = (EO) = 0 IF CP/PCP NOT ASSIGNED.
- * (CP) = REAL CPA ADDRESS.
- * (CN - CN+4) = *FLSW* WORD FROM CP/PCP AREA.
- * (FN - FN+4) = *STSW* WORD WITH -
- * ERROR FLAG SET AS REQUIRED.
- * ROLLOUT FLAGS CLEARED.
- *
- * USES EO, QA, T6, T7, CA - CA+4, CN - CN+4, FN - FN+4,
- * FS - FS+4.
- *
- * CALLS CSR, DEF, REJ, RJQ, RPJ, RSJ, SCA.
- *
- * MACROS MONITOR, SFA.
- CRS SUBR ENTRY/EXIT
- * GET CP/PCP PARAMETERS.
- LDD PN SET CP/PCP ADDRESS
- RJM SCA
- ADN TFSW FETCH EJT ORDINAL
- CRD EO
- ERRNZ EO+1-CA CODE DEPENDS ON VALUE
- SBN TFSW-STSW READ CONTROL POINT STATUS WORD
- CRD FN
- ADN FLSW-STSW READ FL PARAMETERS
- CRD CN
- LDD EO
- ZJN CRSX IF CONTROL POINT UNASSIGNED
- * GET EJT PARAMETERS AND CLEAR ROLLOUT FLAGS IF NOT PCP.
- STD QA
- SFA EJT READ EJT PARAMETERS
- ADK JSNE
- CRD FS
- ADN SCHE-JSNE
- CRD CA
- LDD NC
- SBD PN
- MJN CRS1 IF PCP
- LDN 0 CLEAR ROLLOUT FLAGS
- STD FN+2
- LDD PN SET CP/PCP ADDRESS
- RJM SCA UPDATE *STSW*
- ADN STSW
- CWD FN
- LDD FS+4 CLEAR JOB ADVANCE TO ALLOW *CCAM*
- LPC 7677
- STD FS+4
- SFA EJT,EO
- ADK JSNE
- CWD FS
- LDD PN
- STD CM+1
- MONITOR CCAM CHANGE ASSIGNMENT TO CP BEING RECOVERED
- * CALL JOB STATUS PROCESSOR.
- CRS1 LDD FS+4 EXTRACT JOB STATUS
- SHN -1
- LPN 37
- STD T6
- SBN MXJS
- MJN CRS2 IF VALID STATUS
- RJM DEF DETERMINE ERROR FLAG
- UJN CRS3 UPDATE CP/PCP STATUS
- CRS2 LDM TJRP,T6
- ZJN CRS3 IF PROCESSOR UNDEFINED
- STD T7
- * EXIT TO PROCESSOR WITH -
- * (PN) = CP/PCP NUMBER.
- * (CP) = CPA ADDRESS IF REAL CP.
- * (EO) = (QA) = EJT ORDINAL.
- * (FS - FS+4) = *JSNE* WORD OF EJT ENTRY.
- * (CA - CA+4) = *SCHE* WORD OF EJT ENTRY.
- * (FN - FN+4) = CONTROL POINT AREA *STSW* WORD.
- RJM 0,T7 RECOVER JOB
- * RETURN WITH CONTROL POINT ASSIGNED STATUS.
- CRS3 LDD EO
- LJM CRSX RETURN
- TJRP SPACE 4,10
- ** TJRP - TABLE OF JOB RECOVERY PROCESSORS.
- TJRP INDEX
- INDEX PRJS,RPJ
- INDEX EXJS,REJ
- INDEX ROJS,RJQ
- INDEX SIJS,CSR
- INDEX SOJS,RJQ
- INDEX TOJS,RJQ
- INDEX IOJS,RJQ
- INDEX DOJS,RJQ
- INDEX SUJS,RJQ
- INDEX PCJS,RSJ
- INDEX ERJS,RJQ
- INDEX PWJS,RPJ
- INDEX SWJS,RJQ
- INDEX MXJS
- DEF SPACE 4,20
- ** DEF - DETERMINE ERROR FLAG.
- *
- * ENTRY (EO) = EJT ORDINAL.
- * (PN) = CONTROL POINT NUMBER.
- * (CA - CA+4) = *SCHE* WORD OF EJT ENTRY.
- * (CN - CN+4) = *FLSW* WORD.
- * (FN - FN+4) = *STSW* WORD.
- * (FS - FS+4) = *JSNE* WORD OF EJT ENTRY.
- *
- * EXIT (FN+1) = ERROR FLAG.
- * ERROR FLAG SET IN CONTROL POINT AREA.
- * *JCRW* CLEARED IF RECOVERED SUBSYSTEM.
- *
- * USES FN+1, FS+4, CM - CM+4.
- *
- * MACROS DELAY, MONITOR, SFA.
- DEF3 LDD CA+2 CHECK *NORERUN* STATUS
- SHN 0-13
- ZJN DEF4 IF JOB IN RERUN STATE
- LDN RAET&DRET
- DEF4 LMN DRET SET ERROR FLAG
- DEF5 STD FN+1
- STD CM+1
- MONITOR CEFM
- DEF SUBR ENTRY/EXIT
- LDD CA+2
- LPC 3000
- NJN DEFX IF JOB TERMINATION IN PROGRESS
- LDD FN+1
- LMN PEET
- ZJN DEF2 IF *PEET* ERROR FLAG SET
- LDD CN+4
- ZJN DEF3 IF NOT RECOVERED SUBSYSTEM
- LDN ZERL CLEAR *JCRW*
- CRD CM
- LDD CP
- ADK JCRW
- CWD CM
- LDN RSET SET RECOVERED SUBSYSTEM ERROR
- UJN DEF5 RETURN
- DEF1 DELAY
- DEF2 LDD PN
- STD CM+1
- MONITOR VFLM CALL CPUMTR TO VALIDATE FL
- SOD CM+1
- ZJN DEFX IF FL VERIFICATION FAILED
- PJN DEF1 IF FUNCTION WAS IN USE
- LDD FS+4 CLEAR JOB ADVANCE FLAG
- LPC -100
- STD FS+4
- SFA EJT,EO
- ADK JSNE
- CWD FS
- LDD CP SET CPU PRIORITY = *LJCS*
- ADK CWQW
- CRD CM
- LDK LJCS
- SHN 3
- ADC 2000
- STD CM
- LDD CP
- ADK CWQW
- CWD CM
- UJP DEF3 SET ERROR FLAG
- TITLE JOB RECOVERY PROCESSORS.
- CSR SPACE 4,10
- ** CSR - CHANGE STATUS TO ROLLOUT.
- *
- * USES FS+4.
- *
- * CALLS RJQ, SET.
- CSR SUBR ENTRY/EXIT
- LDD FS+4
- SCN 76
- LMN ROJS*2 CHANGE JOB STATUS
- STD FS+4
- RJM SET SET ENTRY TIME IN *SCHE*
- SFA EJT,EO UPDATE EJT ENTRY
- ADK JSNE
- CWD FS
- ADN SCHE-JSNE
- CWD CA
- RJM RJQ RETURN JOB TO QUEUE
- UJN CSRX RETURN
- REJ SPACE 4,10
- ** REJ - RECOVER EXECUTING JOB.
- *
- * USES CA+2.
- *
- * CALLS DEF.
- *
- * MACROS SFA.
- *
- * EXIT TO *ABT* IF PSEUDO-ROLLOUT IN PROGRESS.
- REJ SUBR ENTRY/EXIT
- LDD NC
- SBD PN
- MJN REJ1 IF PROCESSING PCP-S
- LDD CA+2 CLEAR *DMP=* ROLLOUT FLAG
- LPC 7377
- STD CA+2
- SFA EJT,EO UPDATE EJT ENTRY
- ADK SCHE
- CWD CA
- RJM DEF DETERMINE ERROR FLAG
- UJN REJX RETURN
- * IF PROCESSING A PSEUDO-CONTROL POINT AND THE JOB STATE IS
- * *EXJS*, A PSEUDO-ROLLOUT IS IN PROGRESS.
- REJ1 LJM ABT ABORT RECOVERY
- RJQ SPACE 4,10
- ** RJQ - RETURN JOB TO QUEUE.
- *
- * EXIT CONTROL POINT RELEASED.
- * (EO) = 0.
- * *REC* ASSIGNED TO SYSTEM CP.
- *
- * USES EO, FS+4, CM+1.
- *
- * MACROS MONITOR, SFA.
- RJQ SUBR ENTRY/EXIT
- LDC 100 SET JOB ADVANCE FOR *JACM* FUNCTION
- RAD FS+4
- SFA EJT,EO
- CWD FS
- LDN CCPS SET RELEASE CONTROL POINT
- STD CM+1
- MONITOR JACM RELEASE CONTROL POINT
- * LDN 0
- STD EO CLEAR EJT ORDINAL TO FLAG CP RELEASED
- LDD NC
- STD CM+1
- MONITOR CCAM RETURN TO SYSTEM CP
- UJN RJQX RETURN
- RPJ SPACE 4,10
- ** RPJ - RECOVER PRE-INITIAL JOB.
- *
- * USES CM - CM+4.
- *
- * CALLS AST, RJQ.
- RPJ1 RJM RJQ RETURN JOB TO QUEUE
- RPJ SUBR ENTRY/EXIT
- LDD CP
- ADN JCIW
- CRD CM
- LDC LSSI CHECK SUBSYSTEM ID
- SBD CM+2
- PJN RPJ1 IF NOT SUBSYSTEM
- LDD CM+2
- LMC CEAF*10000 CLEAR JOB ACTIVE IN *SSAT*
- RJM AST
- UJN RPJ1 RETURN JOB TO QUEUE
- RSJ SPACE 4,10
- ** RSJ - RECOVER JOB AT PSEUDO-CP.
- *
- * EXIT TO *ABT* IF PSEUDO-ROLLIN IN PROGRESS.
- RSJ SUBR ENTRY/EXIT
- LDD NC
- SBD PN
- MJN RSJX IF PROCESSING PCP-S
- * IF PROCESSING A CONTROL POINT AND THE JOB STATE IS *PCJS*, A
- * PSEUDO-ROLLIN IS IN PROGRESS.
- LJM ABT ABORT RECOVERY
- TITLE SUBROUTINES.
- PLF SPACE 4,15
- ** PLF - PROCESS LOCAL FNT.
- *
- * ENTRY (CP) = CONTROL POINT ADDRESS.
- * (CN - CN+4) = *FLSW* WORD.
- * (FN - FN+4) = *STSW* WORD.
- *
- * EXIT (RA) = CONTROL POINT REFERENCE ADDRESS / 100.
- *
- * USES FA, QS, QT, CM - CM+4, FS - FS+4.
- *
- * CALLS UQE, VEI.
- *
- * MACROS MONITOR, NFA.
- PLF SUBR ENTRY/EXIT
- LDD CN SET END OF NFL
- SHN 6
- ADN 1
- STD QS
- LDC FNTN-LENF
- STD FA
- PLF1 LDN LENF ADVANCE FNT ADDRESS
- RAD FA
- SBD QS
- PJN PLFX IF END OF NFL
- NFA FA,R READ FNT ENTRY
- CRD CM
- ADN FSTL
- CRD FS
- LDD CM
- ZJN PLF1 IF EMPTY FNT SLOT
- LDD CM+4 SET FILE TYPE
- SHN -6
- STD QT
- LMN QFFT
- NJN PLF2 IF NOT QUEUE FILE
- RJM UQE UPDATE QFT ENTRY
- PLF2 LMN ROFT&QFFT
- ZJN PLF5 IF ROLLOUT FILE
- LDD FS+4
- LPN 1
- NJN PLF1 IF FILE NOT BUSY
- PLF3 AOD FS+4
- NFA FA,R UPDATE FST
- ADN FSTL
- CWD FS
- LDD FS+4 CHECK LAST OPERATION
- LPN 2
- ZJN PLF4 IF NOT WRITE
- RJM VEI VALIDATE EOI FOR FILE
- PLF4 LJM PLF1 LOOP FOR NEXT FILE
- PLF5 LDN LOFT-ROFT SET FILE TYPE TO *LOFT*
- SHN 6
- RAD CM+4
- NFA FA,R UPDATE FNT
- CWD CM
- LDD FS+1 SET FIRST TRACK
- ZJN PLF4 IF TRACKS NOT ASSIGNED
- STD CM+2
- LDD FS SET EQUIPMENT
- LMD TH SET RETURN ON INACCESSIBLE DEVICE
- STD CM+1
- MONITOR DTKM RELEASE MASS STORAGE SPACE
- LDN ZERL
- CRD FS
- LDN NEEQ ASSIGN TO NULL EQUIPMENT
- STD FS
- UJP PLF3 UPDATE FST
- SPACE 4,10
- ** COMMON DECKS.
- QUAL AST
- QUAL$ EQU 0 DONT REQUALIFY COMMON DECK
- AST$ EQU 0 ASSEMBLE *SSAT* MODIFICATION ROUTINES
- *CALL COMPAST
- QUAL SET
- QUAL$ EQU 0 DONT REQUALIFY COMMON DECK
- *CALL COMPRJC
- CET$ EQU 0 ASSEMBLE ENTRY TIME CALCULATION ROUTINES
- T1 EQU CA+3
- T2 EQU CA+4
- *CALL COMPCPE
- SET SPACE 4,15
- ** SET - SET ENTRY TIME.
- *
- * ENTRY (EO) = EJT ORDINAL.
- * (CA - CA+4) = *SCHE* WORD OF EJT ENTRY.
- *
- * EXIT ENTRY TIME SET IN (CA+2 - CA+4) FOR UPPER BOUND
- * PRIORITY OF SERVICE CLASS.
- *
- * USES T1, CA+2 - CA+4, CM - CM+4.
- *
- * CALLS CET.
- *
- * MACROS SFA.
- SET SUBR ENTRY/EXIT
- SFA EJT,EO FETCH SERVICE CLASS FROM EJT ENTRY
- ADN SCLE
- CRD CM
- LCN 0 SET MAXIMUM PRIORITY
- STD T1
- LDD CM CALCULATE ENTRY TIME
- SCN 77
- SHN 6
- LMN EXQT
- RJM CET
- LDD CA+2 SET ENTRY TIME IN *SCHE*
- SCN 77
- STD CA+2
- LDD T1
- STD CA+3
- LDD T2
- STD CA+4
- UJN SETX RETURN
- QUAL CPR
- AST EQU /AST/AST
- CEAF EQU /AST/CEAF
- SET EQU /SET/SET
- SPACE 4,10
- ERRPL *-BFMS OVERFLOW INTO BUFFER
- SPACE 4,10
- QUAL
- ABT EQU /CPR/ABT
- CRS EQU /CPR/CRS
- OVLC EQU /CPR/OVLC
- PLF EQU /CPR/PLF
- UQE EQU /CPR/UQE
- VEI EQU /CPR/VEI
- TTL REC/4RE - ISSUE DEADSTART MESSAGES.
- TITLE
- QUAL IDM
- IDENT 4RE,IDMX
- *COMMENT REC - ISSUE DEADSTART MESSAGES.
- COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
- IDF SPACE 4,10
- *** 4RE - ISSUE DEADSTART MESSAGES.
- *
- * *4RE* ISSUES THE DEADSTART MESSAGES PERTAINING TO RECOVERY,
- * AS SET UP BY *4RA*.
- IDF SPACE 4,20
- *** DAYFILE MESSAGES.
- *
- * * YY/MM/DD. DEAD START LEVEL X.* = DATE AND LEVEL NUMBER OF
- * DEADSTART.
- * *X...X* = SYSTEM TITLE.
- *
- * *X...X* = SYSTEM VERSION.
- *
- *
- * *EQXXX, DAYFILE TRACK LIMIT.* = DEADSTART IS ABANDONED.
- *
- * *EQXXX, LOCAL AREA SECTOR ERROR.* = READ ERROR OCCURRED.
- *
- * *FILENAM RECOVERED, EQXXX.* = SPECIFIED DAYFILE WAS
- * RECOVERED ON EST ORDINAL XXX.
- *
- * *FILENAM CREATION DATE YY/MM/DD. * = CREATION DATE OF
- * SPECIFIED DAYFILE.
- *
- * *FILENAME UPDATED YY/MM/DD. HH.MM.SS. * = DATE
- * AND TIME LAST EOI WAS WRITTEN.
- IDM SPACE 4,10
- *** ACCOUNT FILE MESSAGES.
- *
- * *ABSY, YY/MM/DD.* = ACCOUNT FILE WAS INITIALIZED.
- *
- * *ARSY, X, YY/MM/DD.* = DAYFILES WERE RECOVERED ON A LEVEL X
- * DEADSTART ON THE SPECIFIED DATE.
- *
- * *ABST, X...X.* = SYSTEM TITLE.
- *
- * *ABSV, X...X.* = SYSTEM VERSION.
- IDM SPACE 4,10
- *** ERROR LOG MESSAGES.
- *
- * *X...X* = SYSTEM TITLE.
- *
- * *X...X* = SYSTEM VERSION.
- *
- * *MICROCODE, XX.* = LEVEL OF LOADED MICROCODE.
- *
- * *EI, XX* = LEVEL OF ERROR INTERFACE.
- *
- * * BUFFERED I/O RECOVERY ERRORS.
- * * WRITE LIST LINKAGE ERROR.
- * * READ DATA ON WRITE LIST.
- * * INTERLOCKED BUFFER ON WRITE LIST.
- * * WRITE LIST BUFFER COUNT.
- * * NON-LINKED WRITE BUFFER.
- *
- * * BUFFERED I/O RECOVERY ERRORS EQXXX.
- * * I/O QUEUE SIZE ERROR.
- * * I/O LINKAGE ERROR.
- * * I/O *PUT* ORDINAL ERROR.
- IDM SPACE 4,10
- ORG OVLB
- IDM SPACE 4,10
- ** IDM - ISSUE DEAD START MESSAGES.
- *
- * ENTRY (FN - FN+4) = DAYFILE EQUIPMENTS.
- *
- * EXIT DEAD START MESSAGE ISSUED TO SYSTEM DAYFILE.
- * DEAD START MESSAGE ISSUED TO ACCOUNT DAYFILE.
- * DEAD START MESSAGE ISSUED TO ERROR LOG DAYFILE.
- * DEAD START MESSAGE ISSUED TO BML.
- * APPROPRIATE MESSAGES CONCERNING DAYFILE RECOVERY.
- * APPROPRIATE MESSAGES CONCERNING MICROCODE AND EI.
- * SYSTEM TITLE AND VERSION ISSUED TO SYSTEM DAYFILE.
- * SYSTEM TITLE AND VERSION ISSUED TO ACCOUNT DAYFILE.
- * SYSTEM TITLE AND VERSION ISSUED TO ERROR LOG DAYFILE.
- * SYSTEM TITLE AND VERSION ISSUED TO BML.
- * BUFFERED I/O RECOVERY ERRORS PROCESSED.
- *
- * CALLS ACS, BRM, C2D, DFM.
- *
- * USES QT, T1, T4, CM - CM+4.
- IDM SUBR ENTRY/EXIT
- LDN DSSL SET RECOVERY LEVEL
- CRD CM
- LDD CM+4 CONVERT RECOVERY MODE
- LPN 3
- STM IDMG+2 SET IN BML MESSAGE
- ADC 2R 0
- STM IDMF1
- SHN 6
- LMN 1R,
- STM RDBG+3
- * ISSUE DEADSTART MESSAGES.
- LDM RDBK
- STM IDMA
- LDN DTEL READ DATE TO MESSAGE
- CRM IDMF,ON
- SBN 1
- CRM **,ON
- IDMA EQU *-1
- * CRM RDBG+3,ON (ACCOUNT FILE INITIALIZED)
- * CRM RDBG+4,ON (ACCOUNT FILE RECOVERED)
- LDC IDMF ISSUE MESSAGE TO DAYFILE
- RJM DFM
- LDC ACFN+RDBG ISSUE MESSAGE TO ACCOUNT DAYFILE
- RJM DFM
- LDC ERLN+IDMF ISSUE MESSAGE TO ERROR LOG
- RJM DFM
- LDM RDBF+MLDY
- NJN IDM0 IF MAINTENANCE LOG CREATED
- LDC DS0104 SET RECOVERY SYMPTOM
- STM IDMG+1
- IDM0 LDN IDMGL SET MESSAGE LENGTH
- STD CM+1
- LDC BMLN+IDMG ISSUE MESSAGE TO MAINTENANCE LOG
- RJM DFM
- * ISSUE SYSTEM TITLE AND VERSION DAYFILE MESSAGES
- LDN 4 READ SYSTEM TITLE
- STD T1
- LDN SYTL
- CRM IDMM2,T1
- LDN 2 READ SYSTEM VERSION
- STD T1
- LDN SVNL
- CRM IDMN2,T1
- LDC IDMM2 ISSUE SYSTEM TITLE TO MASTER DAYFILE
- RJM DFM
- LDC IDMN2 ISSUE SYSTEM VERSION TO MASTER DAYFILE
- RJM DFM
- LDC ACFN+IDMM+2 ISSUE TITLE TO ACCOUNT DAYFILE
- RJM DFM
- LDC ACFN+IDMN+2 ISSUE SYSTEM VERSION TO ACCOUNT FILE
- RJM DFM
- LDC ERLN+IDMM2 ISSUE SYSTEM TITLE TO ERRLOG
- RJM DFM
- LDC ERLN+IDMN2 ISSUE SYSTEM VERSION TO ERRLOG
- RJM DFM
- LDN ZERL CLEAR BML AREA
- CRM IDMM,ON
- CRM IDMN,ON
- LDC DM0400 INSERT BML ID
- STM IDMM
- STM IDMN
- LDC SS0100 INSERT BML SYSTEM TITLE SYMPTOM
- STM IDMM+1
- LDC SS0101 INSERT BML SYSTEM VERSION SYMPTOM
- STM IDMN+1
- LDN IDMM1L SET SYSTEM TITLE MESSAGE LENGTH
- STD CM+1
- LDC BMLN+IDMM ISSUE MESSAGE TO MAINTENANCE LOG
- RJM DFM
- LDN IDMN1L SET SYSTEM VERSION MESSAGE LENGTH
- STD CM+1
- LDC BMLN+IDMN ISSUE MESSAGE TO MAINTENANCE LOG
- RJM DFM
- * COPY MICROCODE AND EI NAMES AND DATES TO MESSAGES.
- LDK EABL+MFEI GET MESSAGE INFORMATION
- CRD CM
- ADK CPEI-MFEI
- CRD CN
- LDD CM+1 GET MF DESCRIPTOR
- SCN 77
- SHN 6
- LMD CM
- SHN 6
- CRD CM
- ADN 1 READ EI DATE/NAME
- CRM IDMH1+2*5,ON
- LDD CM+1
- SHN -6
- LMN 7
- NJP IDM3 IF NOT CYBER 180 MACHINE
- LDD CM+1
- LPN 1
- NJN IDM0.1 IF CPU-0 OFF
- LDD CN+1 GET PROCESSOR DESCRIPTOR
- SCN 77
- SHN 6
- LMD CN
- SHN 6
- UJN IDM1 FETCH MICROCODE IDENTIFICATION
- IDM0.1 LDD CN+1
- LPN 77
- SHN 14
- LMD CN+2
- IDM1 ADN 2
- CRM IDMH1,ON READ MICROCODE NAME/DATE
- CRM IDMH1+5,ON
- LDM IDMH1+2*5+3 MOVE EI NAME
- STM IDMH1+4
- LDM IDMH1+2*5+4 MOVE VERIFICATION FLAG
- SHN 1
- RAM IDMH1+5+4
- LDN 0
- STM IDMH1+2*5+3
- STM IDMH1+2*5+4
- LDN IDMHL SET MESSAGE LENGTH
- STD CM+1
- LDC BMLN+IDMH ISSUE MESSAGE TO MAINTENANCE LOG
- RJM DFM
- LDC IDMJ SET ASSEMBLY BUFFER ADDRESS
- STD T1
- LDC IDMH1 SET MICROCODE NAME
- RJM ACS
- LDC =C*, * INSERT SEPARATOR
- RJM ACS
- LDC IDMH1+1*5+0 SET MICROCODE DATE
- RJM ACS
- LDM IDMH1+1*5+4 DETERMINE IF MICROCODE LOADED
- ZJN IDM2 IF LOADED
- LDC =C*, * SET SEPARATOR
- RJM ACS
- LCN 1
- IDM2 ADC =C*NL. *+1
- RJM ACS
- LDC IDML SET ASSEMBLY BUFFER ADDRESS
- STD T1
- LDM IDMH1+0*5+4 SET EI NAME
- STI T1
- AOD T1
- LDC =C*, * INSERT SEPARATOR
- RJM ACS
- LDC IDMH1+2*5+0 SET EI DATE
- RJM ACS
- LDC =C*. * INSERT TERMINATOR
- RJM ACS
- LDC ERLN+IDMI ISSUE MESSAGE TO ERRLOG
- RJM DFM
- LDC ERLN+IDMK ISSUE MESSAGE TO ERRLOG
- RJM DFM
- IDM3 LCN 0 CLEAR FILE INDEX
- STD QT
- * ISSUE DAYFILE RECOVERY MESSAGES.
- LDD RS
- LPN FLMK
- LMN FLCM
- NJN IDM6 IF DAYFILES NOT RECOVERED FROM CM
- RJM BRM PROCESS BUFFERED I/O RECOVERY MESSAGES
- IDM4 LJM IDMX RETURN
- IDM6 AOD QT ADVANCE TO NEXT FILE
- SHN 2
- ADD QT
- STD T4
- ADC RDBA CALCULATE DATE AND TIME ADDRESSES
- STM IDMB
- ADN RDBB-RDBA
- STM IDMC
- ADN RDBC-RDBB
- STM IDMD
- ADN RDBD-RDBC
- STM IDME
- LMC RDBE
- ZJN IDM4 IF END OF DAYFILES
- LDM RDBA,T4
- ZJN IDM6 IF NO CREATION DATE
- LDM FN,QT CONVERT UPPER DIGIT OF EST ORDINAL
- SHN -6
- LPN 7
- ADC 2RQ0
- STM RDBH+13
- LDM FN,QT CONVERT LOWER TWO DIGITS OF EST ORDINAL
- RJM C2D
- STM RDBH+14
- * COPY DATES AND TIMES TO MESSAGES.
- LDD MA COPY CREATION DATE
- CWM **,ON
- IDMB EQU *-1
- SBN 1
- CRM RDBI1,ON
- SBN 1 COPY UPDATE DATE
- CWM **,ON
- IDMC EQU *-1
- SBN 1
- CRM RDBJ1,ON
- SBN 1 COPY UPDATE TIME
- CWM **,ON
- IDMD EQU *-1
- SBN 1
- CRM RDBJ1+1*5,ON
- SBN 1 COPY FILE NAME
- CWM **,ON
- IDME EQU *-1
- SBN 1
- CRM RDBH,ON
- SBN 1
- CRM RDBI,ON
- SBN 1
- CRM RDBJ,ON
- * ISSUE MESSAGES.
- LDC RDBH *FILENAME RECOVERED, EQXXX.*
- RJM DFM
- LDM RDBB,T4
- ZJN IDM7 IF FILE NOT UPDATED
- LDC RDBI
- RJM DFM ISSUE MESSAGES
- LDC RDBJ
- RJM DFM
- IDM7 LJM IDM6 ADVANCE TO NEXT FILE
- IDMF DATA H* YY/MM/DD. DEAD START LEVEL *
- IDMF1 DATA C* 0.*
- IDMG CON DM0406,DS0101 MAINTENANCE LOG CREATION MESSAGE
- BSSZ IDMG+6-*
- IDMGL EQU *-IDMG LENGTH OF MESSAGE
- IDMH CON DM0407,DS0100 MAINTENANCE LOG MICROCODE/EI MESSAGE
- VFD 36/0
- IDMH1 BSSZ 3*5 MESSAGE
- IDMHL EQU *-IDMH
- IDMI DATA H*MICROCODE, * ERRLOG MICROCODE/EI MESSAGES
- IDMJ BSSZ 15
- IDMK DATA H*EI, *
- IDML BSSZ 6
- IDMM DATA H* ABST, * SYSTEM TITLE MESSGE
- IDMM2 BSSZ 24 MESSAGE BUFFER
- IDMM1L EQU *-IDMM
- IDMN DATA H* ABSV, * SYSTEM VERSION MESSAGE
- IDMN2 BSSZ 12 MESSAGE BUFFER
- IDMN1L EQU *-IDMN
- BRM SPACE 4,10
- ** BRM - BUFFERED I/O RECOVERY MESSAGE GENERATOR.
- *
- * USES CM - CM+4.
- *
- * CALLS IGM, IPM.
- BRM SUBR ENTRY/EXIT
- LDC BIOL
- CRD CM
- LDD CM+1
- ADD CM+2
- ZJN BRMX IF BUFFERED I/O NOT DEFINED
- RJM IGM ISSUE GENERAL MESSAGES
- RJM IPM ISSUE *PUT* RELATED MESSAGES
- UJN BRMX RETURN
- IGM SPACE 4,10
- ** IGM - ISSUE GENERAL RECOVERY MESSAGES.
- *
- * USES - T3, CM - CM+4, FN - FN+4.
- *
- * CALLS DFM.
- IGM SUBR ENTRY/EXIT
- LDN REML
- CRD FN
- LDD FN+4
- ZJN IGMX IF NO MESSAGES TO ISSUE
- LDC IGMA+ERLN ISSUE HEADER MESSAGE
- RJM DFM
- * LDN 0 INITIALIZE POINTER
- STD T3
- IGM1 LDD FN+4
- SHN 21-0
- STD FN+4
- PJN IGM2 IF MESSAGE NOT SELECTED
- LDM IGMB,T3
- ADC ERLN
- RJM DFM
- IGM2 AOD T3
- LMN IGMBL
- ZJN IGMX IF END OF MESSAGES
- UJN IGM1 CHECK NEXT MESSAGE
- IGMA DATA C* BUFFERED I/O RECOVERY ERRORS.*
- IGMB CON =C* WRITE LIST LINKAGE ERROR.*
- CON =C* READ DATA ON WRITE LIST.*
- CON =C* INTERLOCKED BUFFER ON WRITE LIST.*
- CON =C* WRITE LIST BUFFER COUNT.*
- CON =C* NON-LINKED WRITE BUFFER.*
- IGMBL EQU *-IGMB
- IPM SPACE 4,10
- ** IPM - ISSUE *PUT* RELATED RECOVERY ERROR MESSAGES.
- *
- * USES T3, CM - CM+4, CN - CN+4, FN - FN+4.
- *
- * CALLS DFM.
- IPM SUBR ENTRY/EXIT
- LDC BIOL SET UP *PUT* SCAN
- CRD CM
- LDD CM+1
- SHN 14
- LMD CM+2
- ADN PUTP READ *PUT* POINTERS
- CRD CN
- LDD CN+3 CLEAR FLAGS
- LPN 77
- STD CN+3
- AOD CN
- IPM1 SOD CN
- ZJN IPMX IF END OF *PUT* ENTRIES
- LDN PUTL INCREMENT *PUT* ADDRESS
- RAD CN+4
- SHN -14
- RAD CN+3
- SHN 14
- LMD CN+4
- ADK UNCT
- CRD CM
- ADN PILL-UNCT
- CRD FN
- LDD FN
- ZJN IPM1 IF NO ERRORS FOR THIS *PUT*
- LDD CM+1 SET EST ORDINAL IN MESSAGE
- RJM C2D
- STM IPMA+21
- LDD CM+1
- SHN -6
- ADC 2RQ0
- STM IPMA+20
- LDC IPMA+ERLN ISSUE HEADER MESSAGE
- RJM DFM
- * LDN 0
- STD T3
- IPM2 LDD FN
- SHN 21-0
- STD FN
- PJN IPM3 IF MESSAGE NOT SELECTED
- LDM IPMB,T3
- ADC ERLN
- RJM DFM
- IPM3 AOD T3
- LMN IPMBL
- NJN IPM2 IF NOT END OF MESSAGES
- LJM IPM1 LOOP FOR NEXT *PUT*
- IPMA DATA C* BUFFERED I/O RECOVERY ERRORS EQXXX.*
- IPMB CON =C* I/O QUEUE SIZE ERROR.*
- CON =C* I/O QUEUE LINKAGE ERROR.*
- CON =C$ I/0 QUEUE *PUT* ORDINAL ERROR.$
- IPMBL EQU *-IPMB
- SPACE 4,10
- USE LITERALS
- OVERFLOW IDMX
- QUAL
- TTL REC/4RF - MANAGED TABLE RECOVERY.
- TITLE
- QUAL MTR
- IDENT 4RF,MTRX
- *COMMENT REC - MANAGED TABLE RECOVERY.
- COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
- MTR SPACE 4,10
- *** MTR - MANAGED TABLE RECOVERY.
- SPACE 4,10
- ORG OVLC
- ** MTR - MANAGED TABLE RECOVERY.
- *
- * EXIT (EJTA) = PRIMARY FILE VALIDATION FLAG.
- * (RPFA) = MASS STORAGE VALIDATION FLAG.
- *
- * USES CN - CN+4.
- MTR SUBR ENTRY/EXIT
- LDN SSTL READ SYSTEM STATUS
- CRD CN
- LDD CN
- LPN 4
- NJN MTRX IF MASS STORAGE VALIDATION NOT PRESENT
- LDD RS
- SHN 21-6
- ERRNZ JBCM-100 ADJUST IF VALUE CHANGES
- PJN MTR1 IF NOT CM RECOVERY
- LDD CN
- LPN 20
- NJN MTRX IF FILE VALIDATION DISABLED
- LDC LDDI+QA ENABLE PRIMARY FILE VALIDATION
- STM EJTA
- LDK LDNI+PMFT
- STM FNTA
- MTR1 SOM RECA
- UJN MTRX RETURN
- CNA SPACE 4,10
- ** CNA - CLEAR NON-ROLLABLE ACCESS FLAG.
- *
- * ENTRY (FS - FS+4) = FST ENTRY.
- *
- * USES T5, T6, CM - CM+4.
- *
- * CALLS RSS, WSS.
- *
- * MACROS ENDMS, SETMS, SFA.
- CNA SUBR ENTRY/EXIT
- LDD FS SET EQUIPMENT
- STD T5
- SFA EST FETCH EST ENTRY
- ADK EQDE
- CRD CM
- LDD CM
- LPN 20
- ZJN CNAX IF NOT INDEPENDENT SHARED DEVICE
- SETMS IO,RW
- LDD FS+1 SET FIRST TRACK
- STD T6
- LDN 0 SET NO FILE NAME VERIFICATION
- RJM RSS READ SYSTEM SECTOR
- NJN CNA1 IF SYSTEM SECTOR ERROR
- LDM /COMSPFM/CASS CLEAR NON-ROLLABLE ACCESS
- LPC 7545
- STM /COMSPFM/CASS
- RJM WSS REWRITE SYSTEM SECTOR
- CNA1 ENDMS
- UJN CNAX RETURN
- CLT SPACE 4,15
- ** CLT - PROCESS COMMON LIBRARIES TABLE RECOVERY.
- *
- * ENTRY (EC) = NUMBER OF TABLE ENTRIES.
- * (LM) = NUMBER OF ENTRIES IN USE.
- * (QA) = (QI) = 0.
- *
- * EXIT (A) = 0 IF VALIDATION INFORMATION CLEARED FROM TABLE.
- *
- * USES LM, QA, CM - CM+4, FN - FN+4, FS - FS+4.
- *
- * MACROS SFA.
- CLT3 LDN 1 RETURN ERROR INDICATOR
- CLT SUBR ENTRY/EXIT
- LDD EC
- ZJN CLTX IF NO COMMON LIBRARIES TABLE EXISTS
- CLT1 SOD LM
- ZJN CLTX IF ALL ASSIGNED ENTRIES CHECKED
- CLT2 AOD QA
- LMD EC
- ZJN CLT3 IF END OF CLT
- SFA CLT,QA READ CLT ENTRY
- CRD CM
- ADN CLTF-CLTU
- CRD FN
- ADN CLTV-CLTF
- CRD FS
- LDD CM
- ZJN CLT2 IF EMPTY ENTRY
- LDD CM+3 CLEAR USER INDEX
- SCN 77
- STD CM+3
- LDN 0
- STD CM+4
- STD FN+4 CLEAR FAMILY EQUIPMENT
- STD FS+4 CLEAR PF VALIDATION
- SFA CLT,QA REWRITE COMMON LIBRARIES ENTRY
- CWD CM WRITE USER NAME
- ADN CLTF-CLTU WRITE FAMILY NAME
- CWD FN
- ADN CLTV-CLTF WRITE PF VALIDATION
- CWD FS
- UJN CLT1 LOOP FOR NEXT ENTRY
- EJT SPACE 4,15
- ** EJT - PROCESS EXECUTING JOB TABLE RECOVERY.
- *
- * ENTRY (EC) = NUMBER OF TABLE ENTRIES.
- * (LM) = NUMBER OF ENTRIES IN USE.
- * (QA) = (QI) = (QT) = 0.
- *
- * EXIT (A) = 0 IF TABLE FULLY RECOVERED.
- *
- * USES LM, QA, QI, T5 - T7, CM - CM+1, FN - FN+4,
- * FS - FS+4.
- *
- * CALLS RRF, VEI.
- *
- * MACROS SFA.
- EJT7 LDN 1 RETURN ERROR INDICATOR
- EJT SUBR ENTRY/EXIT
- EJT1 LDD QI CHECK JOB STATUS
- EJT2 SBN MXJS
- PJN EJT3 IF NON-STANDARD STATUS
- AOM EJCT,QI
- EJT3 SOD LM
- ZJN EJTX IF ALL ASSIGNED ENTRIES CHECKED
- EJT4 AOD QA
- LMD EC
- ZJN EJT7 IF END OF EJT
- SFA EJT,QA
- ADK JSNE
- CRD FN READ EJT ENTRY
- ADN SCHE-JSNE
- CRD T5 READ ROLLOUT FILE POINTERS
- ADN SCLE-SCHE
- CRD FS READ JOB ORIGIN TYPE
- LDD FN
- ZJN EJT4 IF EMPTY SLOT
- LDD FN+4
- LPN 77
- SHN 21-0 SET JOB STATUS
- STD QI
- PJN EJT5 IF ENTRY NOT BUSY
- LDD FN+4 CLEAR JOB ADVANCE/BUSY STATUS
- LPC 7676
- STD FN+4
- SFA EJT,QA CLEAR FILE BUSY
- CWD FN
- LDD QI CHECK JOB STATUS
- EJT5 LMK PRJS
- ZJN EJT6 IF PRE-INITIAL JOB STATUS
- LMK PWJS&PRJS
- ZJN EJT6 IF PRE-INITIAL WAIT JOB STATUS
- LMK EXJS&PWJS
- ZJN EJT6 IF EXECUTING JOB STATUS
- LMK NVJS&EXJS
- ZJN EJT6 IF NVE ENTRY
- RJM RRF READ ROLLOUT FILE
- EJTA UJN EJT6 PROCESS NEXT ENTRY
- * LDD QA (MS VALIDATION ENABLED ON CM RECOVERY)
- SFA EJT
- ADN PRFE FETCH PRIMARY FILE POINTERS
- CRD FS-3
- RJM VEI VERIFY PRIMARY FILE
- EJT6 LJM EJT1 PROCESS NEXT ENTRY
- FNT SPACE 4,15
- ** FNT - PROCESS FILE NAME TABLE RECOVERY.
- *
- * ENTRY (EC) = NUMBER OF TABLE ENTRIES.
- * (LM) = NUMBER OF ENTRIES IN USE.
- * (QA) = (QI) = 0.
- *
- * EXIT (A) = 0 IF TABLE FULLY RECOVERED.
- *
- * USES LM, QA, QT, CM - CM+4, FN - FN+4, FS - FS+4.
- *
- * CALLS CNA, VEI.
- *
- * MACROS MONITOR, SFA.
- FNT7 LDN 1 RETURN ERROR INDICATOR
- FNT SUBR ENTRY/EXIT
- FNT1 SOD LM
- ZJN FNTX IF ALL ASSIGNED ENTRIES CHECKED
- FNT2 AOD QA
- LMD EC
- ZJN FNT7 IF END OF FNT
- SFA FNT,QA
- CRD FN READ FNT ENTRY
- ADN FSTG
- CRD FS
- LDD FN
- ZJN FNT2 IF EMPTY SLOT
- LDD FN+4
- SHN -6
- LMN SYFT
- ZJN FNT3 IF INACTIVE FAST ATTACH FILE
- LMN FAFT&SYFT
- NJN FNT5 IF NOT ACTIVE FAST ATTACH FILE
- AOM MSCT+FACT
- LDD FS+4
- SHN 21-1
- PJN FNT3 IF NOT ATTACHED WITH NON-ROLLABLE OPTION
- LDD FS+4 CLEAR NON-ROLLABLE ACCESS IN FST
- LPC 375
- STD FS+4
- RJM CNA CLEAR SYSTEM SECTOR FLAG
- FNT3 LDD FN+4
- SCN 1
- STD FN+4
- SFA FNT,QA CLEAR FILE BUSY
- CWD FN
- ADN FSTG
- CWD FS
- FNT4 LJM FNT1 LOOP FOR NEXT ENTRY
- FNT5 LMN PMFT&FAFT
- ZJN FNT6 IF *CPD* SAMPLE FILE
- LDD QA
- STD CM+1
- LDN PFNT RELEASE FNT ENTRY
- STD CM+2
- MONITOR MTRM
- UJN FNT4 LOOP FOR NEXT ENTRY
- FNT6 UJN FNT4 SKIP EOI VERIFICATION
- * LDN PMFT (MS VALIDATION ENABLED ON CM RECOVERY)
- FNTA EQU *-1
- STD QT
- RJM VEI VERIFY EOI
- UJN FNT4 LOOP FOR NEXT ENTRY
- LLF SPACE 4,15
- ** LLF - LOCATE LIBRARY FILE.
- *
- * ENTRY (FS+1) = ADDRESS OF FNT ENTRY IN BUFFER.
- * (QA) = EJT ORDINAL.
- * (FN - FN+4) = FIRST WORD OF EJT ENTRY.
- *
- * EXIT ERROR FLAG SET TO *DRET* IF FILE IS *LIFT* AND
- * THE TRACK INTERLOCK FLAG IS SET IN THE FST.
- *
- * USES CM - CM+4.
- *
- * MACROS MONITOR.
- LLF SUBR ENTRY/EXIT
- LDM 4,FS+1
- SHN -6
- LMN LIFT
- NJN LLFX IF NOT LIBRARY TYPE FILE
- LDM 11,FS+1
- SHN 21-9D
- PJN LLFX IF TRACK INTERLOCK NOT SET
- LDC 4000+DRET SET ERROR FLAG
- STD CM+1
- LDD QA SET EJT ORDINAL
- STD CM+2
- LDD FN SET JSN
- STD CM+3
- LDD FN+1
- STD CM+4
- MONITOR CEFM CHANGE ERROR FLAG
- UJN LLFX RETURN
- QFT SPACE 4,15
- ** QFT - PROCESS QUEUE FILE TABLE RECOVERY.
- *
- * ENTRY (EC) = NUMBER OF TABLE ENTRIES.
- * (LM) = NUMBER OF ENTRIES IN USE.
- * (EO) = (QA) = (QI) = 0.
- *
- * EXIT (A) = 0 IF TABLE FULLY RECOVERED.
- *
- * USES LM, QA, QI, CM - CM+4, FN - FN+4, FS - FS+4.
- *
- * CALLS UQE, *0DQ*.
- *
- * MACROS EXECUTE, SFA.
- QFT10 LDN 1 RETURN ERROR INDICATOR
- QFT SUBR ENTRY/EXIT
- QFT1 AOM QFCT,QI
- QFT2 SOD LM
- ZJN QFTX IF ALL ASSIGNED ENTRIES CHECKED
- QFT3 AOD QA
- LMD EC
- ZJN QFT10 IF END OF QFT
- SFA QFT,QA
- ADK JSNQ
- CRD FN READ QFT ENTRY
- ADN ENTQ-JSNQ
- CRD FS
- ADN SCLQ-ENTQ
- CRD CM
- LDD FN
- ZJN QFT3 IF EMPTY SLOT
- LDD FN+4
- SHN -11
- STD QI SET QUEUE TYPE
- LDD FN+4 CHECK FOR *SOQF* OR *SQQF* FILE
- SHN -6
- LMN SOQF
- ZJN QFT8 IF *SOQF*
- LMN SQQF&SOQF
- ZJN QFT8 IF *SQQF*
- LDD FN+4
- LPN 6
- NJN QFT6 IF CREATION MODE AND/OR ASSIGNED
- LDD QI
- LMK INQT
- NJN QFT4 IF NOT INPUT FILE
- LDD CM
- LPN 77
- LMN IAOT
- ZJN QFT8 IF INTERACTIVE INPUT FILE
- QFT4 LDD FN+4
- LPN 1
- ZJN QFT5 IF ENTRY NOT INTERLOCKED
- SOD FN+4
- SFA QFT,QA CLEAR FILE BUSY
- CWD FN
- QFT5 LJM QFT1 LOOP FOR NEXT ENTRY
- QFT6 LPN 4
- NJN QFT7 IF CREATION MODE
- LDD FS+4
- NJN QFT4 IF ASSIGNED TO EXECUTING JOB
- RJM UQE
- UJN QFT5 LOOP FOR NEXT ENTRY
- QFT7 LDN 1
- * CALL *0DQ*.
- QFT8 STM ZDLA-1 DEQUEUE FILE
- EXECUTE 0DQ,ZDLA
- QFT9 LJM QFT2 LOOP FOR NEXT ENTRY
- RRF SPACE 4,15
- ** RRF - READ ROLLOUT FILE.
- *
- * ENTRY (T5) = ROLLOUT FILE EST ORDINAL.
- * (T6) = ROLLOUT FILE FIRST TRACK.
- * (FS - FS+4) = *SCLE* WORD OF EJT ENTRY.
- * (FN - FN+4) = *JSNE* WORD OF EJT ENTRY.
- *
- * USES FS - FS+4, T1, T2, T7, CN.
- *
- * CALLS LLF, RNS, RSS.
- *
- * MACROS ENDMS, SETMS.
- RRF SUBR ENTRY/EXIT
- LDD T5
- ZJN RRFX IF NO ROLLOUT FILE
- SETMS IO
- LDN 0
- RJM RSS READ SYSTEM SECTOR
- NJN RRFX IF ERROR
- LDC BUF READ CONTROL POINT AREA
- RJM RNS
- MJN RRFX IF ERROR
- AOD T7 SKIP SECOND CP AREA SECTOR
- LDM BUF+2+FLSW*5 GET NFL SIZE
- SBN FNTS-1
- STD CN SET NUMBER OF FNT SECTORS
- LDD FS CHECK ORIGIN TYPE
- LPN 17
- LMN IAOT
- NJN RRF3 IF NOT INTERACTIVE ORIGIN
- RRF1 LDC BUF SKIP TERMINAL OUTPUT
- RJM RNS
- RRF2 MJN RRFX IF ERROR
- LDD T1
- SHN -6
- NJN RRF1 IF MORE DATA SECTORS
- RRF3 LDC SBUF INITIALIZE SEARCH ADDRESS
- STD FS+1
- SBN 2 INITIALIZE BUFFER POINTER
- STD FS+2
- LDN 0 SET INITIAL SEARCH MODE FLAG
- STD T2
- LDN 5 SET INITIAL ADVANCE COUNT
- STD FS
- * FILL BUFFER WITH DATA.
- RRF4 LDD FS+2
- ADC -SBUF-SBUFL+2
- PJN RRF6 IF BUFFER IS FULL
- RRF5 LDI FS+2 SAVE TWO BYTES
- STD FS+3
- LDM 1,FS+2
- STD FS+4
- LDD FS+2 READ SECTOR
- RJM RNS
- MJN RRF2 IF ERROR
- LDD FS+3 RESTORE TWO BYTES
- STI FS+2
- LDD FS+4
- STM 1,FS+2
- LDC 500 ADVANCE BUFFER POINTER
- RAD FS+2
- SOD CN DECREMENT SECTOR COUNT
- NJN RRF4 IF MORE TO READ
- LDK -FNTT*5 ADJUST POINTER TO THE LAST FNT ENTRY
- RAD FS+2
- * PROCESS FULL BUFFER.
- RRF6 LDD FS+2 CHECK FOR END OF BUFFER
- ADN 2
- SBD FS+1
- SBN LENF*5
- MJN RRF9 IF END OF BUFFER
- LDI FS+1
- ZJN RRF8 IF EMPTY ENTRY
- LDD T2
- NJN RRF7 IF START OF FNT-S PREVIOUSLY FOUND
- AOD T2 CHANGE SEARCH MODE FLAG
- LDN LENF*5 CHANGE ADVANCE COUNT
- STD FS
- RRF7 RJM LLF LOCATE LIBRARY FILE
- RRF8 LDD FS ADVANCE TO NEXT ENTRY
- RAD FS+1
- UJN RRF6 CHECK NEXT ENTRY
- RRF9 ADN LENF*5
- STD T1 SAVE AMOUNT TO MOVE
- LDD CN
- ZJN RRF13 IF END OF FNT ENTRIES
- LDD T1
- NJN RRF10 IF NOT EXACT END OF BUFFER
- LDC SBUF RESET START OF SEARCH
- STD FS+1
- UJN RRF12 REFILL BUFFER
- * MOVE PARTIAL ENTRY TO TOP OF BUFFER.
- RRF10 LDD FS+1 SET ADDRESS TO MOVE FROM
- STM RRFA
- LDC SBUF SET ADDRESS TO MOVE TO
- SBD T1
- STM RRFB
- STD FS+1 RESET START OF SEARCH
- SOD T1
- RRF11 LDM **,T1 MOVE PARTIAL ENTRY TO TOP
- RRFA EQU *-1 (ADDRESS TO MOVE FROM)
- STM **,T1
- RRFB EQU *-1 (ADDRESS TO MOVE TO)
- SOD T1
- PJN RRF11 IF MORE TO MOVE
- RRF12 LDC SBUF-2 RESET BUFFER POINTER
- STD FS+2
- LJM RRF5 REFILL BUFFER
- RRF13 ENDMS RELEASE MS RESERVATIONS
- LJM RRFX RETURN
- ZDLA EQU *+1 *0DQ* LOAD ADDRESS
- ERRPL ZDLA+ZDQL-BFMS OVERFLOW INTO BUFFER
- * ROLLOUT FILE FNT SECTOR BUFFER.
- SBUF EQU *+LENF*5-5 LEAVE ROOM FOR FNT ENTRY - ONE WORD
- ERRPL SBUF+SBUFL-EPFW BUFFER OVERFLOW
- SPACE 4,10
- QUAL
- CLT EQU /MTR/CLT
- EJT EQU /MTR/EJT
- FNT EQU /MTR/FNT
- QFT EQU /MTR/QFT
- QUAL *
- TTL REC/4RG - PROCESS ERROR LOGS.
- TITLE
- QUAL PEL
- IDENT 4RG,PELX
- *COMMENT REC - PROCESS ERROR LOGS.
- COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
- CEL SPACE 4,10
- *** PEL - PROCESS ERROR LOGS.
- CEL SPACE 4,10
- * COMMON DECKS.
- *CALL COMPCHM
- CEL SPACE 4,10
- * DIRECT CELL DEFINITIONS.
- AP EQU 20 - 24 *DSAL*
- SC EQU 61 ERROR STATUS
- EA EQU 62 ERROR MESSAGE ADDRESS
- WX EQU 63 ASSEMBLY BUFFER INDEX
- BX EQU 64 SUPPLEMENT INDEX
- CX EQU 65 CEL BUFFER INDEX
- CEL SPACE 4,10
- * CONSTANTS.
- AC EQU 0 *APP* INTERFACE CHANNEL
- CEL SPACE 4,10
- ORG OVLD
- PEL SUBR ENTRY/EXIT
- LDC OVL0 SET MASS STORAGE IDENT LOAD ADDRESS
- STD LA
- LDN 3 ISSUE BOTH ERRLOG AND BML MESSAGES
- RJM IME IDENTIFY MASS STORAGE EQUIPMENT
- RJM CEL DUMP DEADSTART ERROR LOG
- RJM IEL INITIATE *DFT* ERROR LOGGING
- UJN PELX RETURN
- CEL SPACE 4,10
- ** CEL - DUMP CRITICAL ERROR LOG.
- *
- * USES CM+1, EA, AP - AP+4.
- *
- * CALLS AAP, DAP, DFM, LPR, PCL.
- *
- * MACROS MONITOR.
- CEL SUBR ENTRY/EXIT
- LDK DSAL READ *APP* PARAMETERS
- CRD AP
- RJM LPR PLACE *PPR* IN *DBUF*
- RJM AAP ACTIVATE *APP*
- MJN CEL1 IF *APP* NOT RESPONDING
- RJM PCL PROCESS CRITICAL ERROR LOG
- MJN CEL2 IF *APP* NOT RESPONDING
- RJM DAP TERMINATE *APP* AND LOAD *PPR*
- ZJN CEL2 IF NO ERRORS
- CEL1 STD EA
- CEL2 LDN 0 DROP *APP* INTERFACE CHANNEL
- CELA EQU CEL2
- ZJN CEL3 IF CHANNEL NOT RESERVED
- STD CM+1
- MONITOR DCHM
- CEL3 LDD EA
- ZJN CELX IF NO ERROR
- LMC ERLN ISSUE MESSAGE TO ERROR LOG
- RJM DFM
- LJM CELX RETURN
- AAP SPACE 4,10
- ** AAP - ACTIVATE *APP*.
- *
- * ENTRY (AP - AP+4) = *DSAL*.
- *
- * EXIT (A) = 1/1, 5/0, 12/MESSAGE ADDRESS IF *APP* NOT
- * RESPONDING.
- * (EA) = (SC) = 0.
- *
- * CALLS ECI, PRS.
- *
- * USES CM - CM+4.
- *
- * MACROS MONITOR.
- AAP SUBR ENTRY/EXIT
- LDC CHTP
- CRD CM
- LDN NCTAL SET CHANNEL TABLE LENGTH
- STD CM
- LDD CM+2 READ UP CHANNEL TABLE
- SHN 14
- LMD CM+3
- CRM BFMS,CM
- LDM BFMS,AP CHECK *APP* CHANNEL
- LPN 40
- NJN APP1 IF CHANNEL DOWN
- LDD AP
- STD CM+1 SET CHANNEL IN REQUEST
- STD CM+2
- RAM CELA
- MONITOR RCHM RESERVE THE CHANNEL
- APP1 LDN 0
- STD EA INITIALIZE MESSAGE ADDRESS
- STD SC
- LDN DSCL FETCH DEADSTART CONTROL WORD
- CRD CM
- LDD AP
- LMC 4000 ACTIVATE ALTERNATE PP
- STD CM
- LDK DSCL POST REQUEST
- CWD CM
- LDD AP PRESET CHANNEL INSTRUCTIONS
- RJM /COMPAPI/PRS
- LDC IJMI WAIT FOR CHANNEL ACTIVE
- RJM /COMPAPI/ECI
- SHN 0-13
- ZJN AAP2 IF NO ERROR
- LDC /COMPAPI/CAIA+400000
- AAP2 UJP AAPX RETURN
- CCF SPACE 4,10
- ** CCF - CLEAR CEL FLAG IN DEADSTART SECTOR.
- *
- * EXIT (A) = 0 IF CEL FLAG CLEARED.
- * .NE. 0 IF I/O ERROR.
- *
- * CALLS FEE, WDS, *0PI*.
- *
- * MACROS ENDMS, EXECUTE.
- CCF2 LDC =C*DEADSTART SECTOR ERROR.*
- CCF SUBR ENTRY/EXIT
- RJM FEE FIND EST ENTRY OF DEADSTART DISK
- NJN CCFX IF EST ENTRY NOT FOUND
- LDD T5 SET *0PI* PARAMETERS
- LMC 4000
- STM OVL0-1
- EXECUTE 0PI,OVL0 READ DEADSTART SECTOR
- CCF1 NJN CCF2 IF NOT A VALID DEADSTART SECTOR
- LDM BFMS+CFBP
- SCN 20 CLEAR CEL FLAG
- STM BFMS+CFBP
- LDC BFMS+WLSF REWRITE DEADSTART SECTOR
- RJM WDS
- MJN CCF1 IF I/O ERROR
- ENDMS
- * LDN 0
- LJM CCFX RETURN
- CSC SPACE 4,10
- ** CSC - COMPUTE SYMPTOM CODE.
- *
- * ENTRY (CX) = CEL BUFFER INDEX.
- *
- * EXIT (A) = SYMPTOM CODE.
- *
- * USES T0.
- CSC SUBR ENTRY/EXIT
- LDM BFMS+APDL,CX
- SHN -10
- STD T0
- LDN 2
- SBD T0
- SHN 10
- ADK /COMSDFS/HS0001
- UJN CSCX RETURN
- DAP SPACE 4,10
- ** DAP - DEADSTART *APP*.
- *
- * EXIT (A) = 0 IF NO ERROR LOADING *PPR*.
- DAP SUBR ENTRY/EXIT
- LDC ** (ERROR MESSAGE ADDRESS)
- DAPA EQU *-1
- NJN DAPX IF *PPR* LOAD FAILURE
- LDK MSFW+1 OUTPUT P ADDRESS
- OAN AC
- LDK PPFW-1 OUTPUT *PPR*
- OAM DBUF+6,AC
- FJM *,AC IF CHANNEL FULL
- DCN AC
- * LDN 0
- UJN DAPX RETURN
- FAB SPACE 4,10
- ** FAB - FLUSH ASSEMBLY BUFFER.
- *
- * EXIT (WX) = 0.
- *
- * USES T1, WX.
- *
- * CALLS DFM.
- FAB SUBR ENTRY/EXIT
- LDN 6*5 SET MESSAGE LENGTH
- STD CM+1
- LDC MBUF+BMLN ISSUE BML MESSAGE
- RJM DFM
- * LDN 0 RESET ASSEMBLY BUFFER INDEX
- STD WX
- LDN 3*5+4 CLEAR REGISTER AREA OF BUFFER
- STD T1
- FAB1 LDN 0
- STM MBUF+2*5,T1
- SOD T1
- PJN FAB1 IF MORE BYTES TO CLEAR
- UJN FABX RETURN
- FEE SPACE 4,10
- ** FEE - FIND EST ENTRY OF DEADSTART DISK.
- *
- * ENTRY (AP+4) = 6/UNIT, 6/CHANNEL.
- *
- * EXIT (A) = 0 IF EST ENTRY FOUND.
- * = ERROR MESSAGE ADDRESS IF EST ENTRY NOT FOUND.
- * (T5) = DEADSTART DISK EST ORDINAL.
- *
- * USES T2 - T6, CM - CM+4.
- *
- * MACROS SFA.
- FEE4 LDC =C*CEL DEVICE UNDEFINED.*
- FEE SUBR ENTRY/EXIT
- LDK ESTP
- CRD T2
- FEE1 SOD T5 DECREMENT EST ORDINAL
- LMK NOPE-1
- ZJN FEE4 IF END OF EST SCAN
- LMK NOPE-1
- SFA EST
- ADK EQDE
- CRD CM
- LDD CM
- SHN -6
- LPN 42
- LMN 42
- NJN FEE1 IF NOT MASS STORAGE/*LDAM* DEVICE
- LDD CM+1
- LMD AP+4
- LPN 77
- ZJN FEE3 IF MATCH ON PRIMARY CHANNEL
- LDD CM+2
- ZJN FEE1 IF NO ALTERNATE ACCESS
- LMD AP+4
- LPN 77
- FEE2 NJN FEE1 IF NOT A MATCH ON SECONDARY CHANNEL
- FEE3 LDD CM+4
- SHN 3
- ADK DDLL
- CRD CM
- LDD AP+4
- SHN -6
- LMD CM+4
- LPN 77
- NJN FEE2 IF NOT A MATCH ON UNIT
- LJM FEEX RETURN
- IBM SPACE 4,15
- ** IBM - ISSUE BML MESSAGES.
- *
- * ENTRY (BFMS) = WORD COUNT.
- * (BFMS+1 - BFMS+477) = CEL SECTOR.
- *
- * EXIT (EA) = ERROR MESSAGE ADDRESS IF BAD WORD COUNT.
- *
- * USES BX, CX, EA, EI, T6, T7, WX, CM - CM+4, CN - CN+4.
- *
- * CALLS CSC, FAB, MSW, TRS.
- IBM SUBR ENTRY/EXIT
- LDC MMFL SET MACHINE ID INTO BML
- CRD CN
- LDD CN
- STM MBUF+5+3
- LDK PPCP
- CRD CN
- LDD IA DETERMINE PP NUMBER
- SBD CN+4
- SHN 3
- RAM MBUF+2
- LDK ZERL INITIALIZE SUPPLEMENT WORD
- CRD CN
- LDN 0 INITIALIZE INDEX CELLS
- STD WX
- STD BX
- STD CX
- IBM1 RJM CSC COMPUTE SYMPTOM CODE
- STM MBUF+1
- LDN 4 SET CONTINUATION FLAG
- STM MBUF+5+1
- LDM BFMS+APDL+6,CX SET ELEMENT NUMBER
- LPN 7
- STD T7 SAVE ELEMENT NUMBER
- IBM2 LDC BFMS+APDL+1 STORE BITS 0 - 59 OF REGISTER
- ADD CX
- STM IBMA
- LDD WX
- SHN 2
- ADD WX
- ADC MBUF+2*5
- STM IBMB
- LDD MA
- CWM **,ON
- IBMA EQU *-1
- SBN 1
- CRM **,ON
- IBMB EQU *-1
- AOD WX INCREMENT ASSEMBLY BUFFER INDEX
- LDM BFMS+APDL+6,CX STORE REGISTER NUMBER AND UPPER BITS
- SCN 7
- STM CN,BX
- LDM BFMS+APDL,CX
- LPC 377
- RAM CN,BX
- AOD BX INCREMENT SUPPLEMENT BYTE INDEX
- IBM3 LDD WX
- LMN 4
- NJN IBM4 IF NOT FULL ASSEMBLY BUFFER
- RJM FAB FLUSH ASSEMBLY BUFFER
- LDM MBUF+5+1 SET NOT FIRST BLOCK BIT
- SCN 10
- LMN 10
- STM MBUF+5+1
- IBM4 LDD BX
- LMN 4
- NJN IBM5 IF SUPPLEMENT WORD NOT FULL
- RJM MSW MOVE SUPPLEMENT WORD TO ASSEMBLY BUFFER
- UJN IBM3 CHECK FOR ASSEMBLY BUFFER FULL
- IBM5 LDN 7 ADVANCE CEL BUFFER INDEX
- RAD CX
- SBM BFMS
- NJN IBM7 IF NOT END OF CEL BUFFER
- IBM6 RJM TRS TERMINATE REGISTER SET
- LJM IBMX RETURN
- IBM7 PJN IBM10 IF BAD WORD COUNT
- RJM CSC COMPUTE SYMPTOM CODE
- LMM MBUF+1
- NJN IBM8 IF SYMPTOM CODE CHANGED
- LDM BFMS+APDL+6,CX
- LPN 7
- LMD T7
- ZJN IBM9 IF ELEMENT NUMBER UNCHANGED
- * CHECK IF NEXT REGISTER IS FOR THE SECOND PROCESSOR.
- LDM BFMS+APDL,CX
- SHN 0-10
- NJN IBM8 IF NOT A PROCESSOR ERROR
- * CHANGE ELEMENT NUMBER IN BITS 32 - 39 OF ELEMENT ID REGISTER
- * TO 10(16) TO INDICATE SECOND PROCESSOR.
- LDM BFMS+APDL+3,CX
- SCN 17
- ADK 0#10S-4 SET ELEMENT NUMBER TO 10(16)
- STM BFMS+APDL+3,CX
- IBM8 RJM TRS TERMINATE REGISTER SET
- LJM IBM1 PROCESS NEXT REGISTER SET
- IBM9 LJM IBM2 PROCESS NEXT REGISTER
- IBM10 LDC =C*BAD CEL WORD COUNT.*
- STD EA
- LJM IBM6 TERMINATE REGISTER SET AND RETURN
- MBUF BSS 0 BML MESSAGE HEADER
- VFD 12//COMSDFS/HM0250 MESSAGE ID
- VFD 12/0 SYMPTOM CODE
- VFD 6/0 PP NUMBER
- VFD 6/17 MAINTENANCE CHANNEL
- VFD 24/0 UNUSED
- VFD 12/0 UNUSED
- VFD 12/4 CONTINUATION FLAG
- VFD 12/0 UNUSED
- VFD 12/0 MACHINE ID
- VFD 12/0 UNUSED
- BSSZ 4*5 MESSAGE ASSEMBLY BUFFER
- IEL SPACE 4,10
- ** IEL - INITIATE ERROR LOGGING BY *DFT*.
- *
- * EXIT TO *ERR* IF *DFT* DETERMINES THE REVISION LEVEL OF THE
- * *DFT/OS* INTERFACE IS INCORRECT.
- * *1MB* INHIBIT FLAG IN *SCRL* CLEARED.
- *
- * USES T1, T2, CM - CM+4.
- *
- * MACROS DCHAN, DELAY, EXECUTE, MONITOR, RCHAN.
- IEL SUBR ENTRY/EXIT
- LDK EIBP READ *EICB* POINTER WORD
- CRD CM
- LDD CM+3
- SHN 14
- LMD CM+4
- ZJP IEL2 IF NO *DFT* VERIFICATION REQUIRED
- ADN DSCM+3
- CRD CM
- LDD CM+2 SAVE ADDRESS OF *DFT* CONTROL WORD
- SHN 14
- LMD CM+3
- SHN -4
- SHN 6
- LMD CM
- CRD CM READ *DFT* CONTROL WORD
- STM IELA
- SHN -14
- RAM IELA-1
- LDD CM+4
- SHN 21-/DFT/DCDM
- MJN IEL0 IF NOT DEDICATED *DFT*
- LDN DSAL RESERVE *CIP* CHANNEL
- CRD CM
- LDD CM+4
- LPN 77
- STD T1 SAVE CHANNEL
- RCHAN
- IEL0 LDD MA
- CWM IELB,ON WRITE PP CALL TO MESSAGE BUFFER
- LDN 0
- STD CM+1
- EXECUTE 1MP,=
- MONITOR RPPM REQUEST PP FOR *1MB*
- IEL1 DELAY
- LDC ** READ *DFT* CONTROL WORD
- IELA EQU *-1
- CRD CM
- LDD CM+4 CHECK RESPONSE
- STD T2
- SHN 21-/DFT/DCVR CHECK VERIFICATION FLAG
- PJN IEL1 IF NO REPLY FROM *DFT*
- SHN /DFT/DCVR-/DFT/DCDM
- MJN IEL1.1 IF NOT DEDICATED *DFT*
- LDD T1 RELEASE *CIP* CHANNEL
- DCHAN
- IEL1.1 LDD T2 CHECK RESPONSE
- SHN 21-/DFT/DCRJ
- MJN IEL4 IF REVISION LEVEL REJECTED BY *DFT*
- SHN /DFT/DCRJ-/DFT/DCDM
- MJN IEL3 IF NOT DEDICATED *DFT*
- * CLEAR *1MB* INHIBIT FLAG IN *SCRL*.
- IEL2 LDC SCRL READ *SCRL*
- CRD CM
- LDD CM CLEAR *1MB* INHIBIT FLAG
- LPC 3777
- STD CM
- LDC SCRL REWRITE *SCRL*
- CWD CM
- IEL3 LJM IELX RETURN
- * PROCESS *DFT* REJECT.
- IEL4 LDC IELC *DFT REVISION LEVEL MISMATCH*
- LJM ERR DISPLAY MESSAGE AND HANG
- IELB VFD 18/3L1MP,6/**,12/0,24/0
- IELC DATA C*DFT REVISION LEVEL MISMATCH.*
- LPR SPACE 4,10
- ** LPR - LOAD AND PREPARE *PPR* IN *DBUF*.
- *
- * ENTRY (AP - AP+4) = *DSAL*.
- *
- * EXIT (DBUF - DBUF+PPFW-1) = *PPR*.
- *
- * USES T1, T2, T5 - T7, CM - CM+4, CN - CN+4.
- *
- * CALLS RNS.
- *
- * MACROS ENDMS, MONITOR, SETMS.
- LPR SUBR ENTRY/EXIT
- LDC 0L1PR SET *PPR* NAME
- STD CM+3
- SHN -14
- STD CM+2
- MONITOR SPLM SEARCH PERIPHERAL LIBRARY
- LDD CM+1 SET EST ORDINAL
- LPC 777
- STD T5
- LDD CM+2 SET TRACK NUMBER
- STD T6
- LDD CM+3 SET SECTOR NUMBER
- STD T7
- SETMS READSYS,ND
- LDC DBUF-2
- STD T2
- LPR1 LDI T2 SAVE TWO WORDS
- STD CN
- LDM 1,T2
- STD CN+1
- LDD T2
- RJM RNS READ NEXT SECTOR
- MJN LPR3 IF I/O ERROR
- LDD CN RESTORE TWO WORDS
- STI T2
- LDD CN+1
- STM 1,T2
- LDC 500 ADVANCE BUFFER ADDRESS
- RAD T2
- LDD T1
- SHN -6
- NJN LPR1 IF NOT END OF *PPR*
- ENDMS
- LDK PPCP GET FWA OF PP COMMUNICATIONS AREA
- CRD CM
- LDD AP *APP* PP NUMBER
- SHN 3
- ADD CM+4
- STM DBUF+IA+5 SET UP *IA*
- ADN 1
- STM DBUF+OA+5 SET UP *OA*
- ADN 1
- STM DBUF+MA+5 SET UP *MA*
- LPR2 LJM LPRX RETURN
- LPR3 LDC =C* PPR LOAD ERROR.*
- STM DAPA
- UJN LPR2 RETURN
- MSW SPACE 4,10
- ** MSW - MOVE SUPPLEMENT WORD TO ASSEMBLY BUFFER.
- *
- * ENTRY (WX) = ASSEMBLY BUFFER INDEX.
- * (CN - CN+4) = SUPPLEMENT WORD.
- *
- * EXIT (BX) = 0.
- * (CN - CN+4) = 0.
- *
- * USES BX, WX, CN - CN+4.
- MSW SUBR ENTRY/EXIT
- LDD WX MOVE SUPPLEMENT WORD
- SHN 2
- ADD WX
- ADC MBUF+2*5
- STM MSWA
- LDD MA
- CWD CN
- CRM **,ON
- MSWA EQU *-1
- AOD WX INCREMENT ASSEMBLY BUFFER INDEX
- LDK ZERL CLEAR SUPPLEMENT WORD
- CRD CN
- LDN 0 RESET BYTE INDEX
- STD BX
- UJN MSWX RETURN
- PCL SPACE 4,15
- ** PCL - PROCESS CRITICAL ERROR LOG.
- *
- * ENTRY (AP - AP+4) = *DSAL*.
- *
- * EXIT (A) = 0 IF CRITICAL ERROR LOG NOT PRESENT OR READ
- * WITHOUT ERROR.
- * .GT. 0 IF ERROR OTHER THAN *APP* NOT RESPONDING.
- * .LT. 0 IF *APP* NOT RESPONDING.
- *
- * USES EA, SC, CM+1.
- *
- * CALLS CCF, CDA, IBM.
- *
- * MACROS MONITOR.
- PCL3 LDD SC SET EXIT CONDITION
- SHN 14
- PCL SUBR ENTRY/EXIT
- LDD AP+3
- ZJN PCLX IF CRITICAL ERROR LOG NOT PRESENT
- LDD AP+4 REQUEST DEADSTART CHANNEL
- LPN 37
- STD CM+1
- LDN 0
- STD CM+2
- MONITOR RCHM
- LDC 3RLCE SET PROGRAM NAME
- STM BFMS
- SHN -6
- SCN 77
- STM BFMS+1
- LDK CDAS*10000+BFMS REQUEST CRITICAL ERROR LOG
- RJM CDA COMMON DISK AREA REQUEST
- ZJN PCL1 IF NO ERROR
- STD EA SAVE STATUS
- SHN -14
- STD SC
- PCL1 MONITOR DCHM
- LDM BFMS
- SHN 21-13
- PJN PCL2 IF NO DATA OR ERROR
- SHN 3
- SHN 13-21-3
- STM BFMS
- RJM IBM ISSUE BML MESSAGES
- RJM CCF CLEAR CEL FLAG IN DEADSTART SECTOR
- ZJN PCL2 IF NO ERROR
- STD EA
- SHN -14
- STD SC
- PCL2 LJM PCL3 RETURN
- TRS SPACE 4,10
- ** TRS - TERMINATE REGISTER SET.
- *
- * ENTRY (BX) = SUPPLEMENT BYTE INDEX.
- * (WX) = ASSEMBLY BUFFER INDEX.
- *
- * USES T6, WX.
- *
- * CALLS FAB, MSW.
- TRS SUBR ENTRY/EXIT
- LDD BX
- ZJN TRS3 IF SUPPLEMENT WORD IN CURRENT BLOCK
- LDD WX
- SBD BX
- STD T6
- PJN TRS1 IF SUPPLEMENT WORD NOT IN CURRENT BLOCK
- ADN 4
- UJN TRS2 PROCESS SUPPLEMENT WORD IN CURRENT BLOCK
- TRS1 RJM FAB FLUSH ASSEMBLY BUFFER
- LDD T6
- TRS2 STD WX
- RJM MSW MOVE SUPPLEMENT WORD TO ASSEMBLY BUFFER
- TRS3 LDM MBUF+5+1 CLEAR CONTINUATION BIT
- SCN 4
- STM MBUF+5+1
- RJM FAB FLUSH ASSEMBLY BUFFER
- UJN TRSX RETURN
- CEL SPACE 4,10
- * COMMON DECKS.
- QUAL
- CDA$ SET 1 SELECT *COMPAPI* COMMON DISK AREA ROUTINE
- PRS$ SET 1 SELECT *COMPAPI* PRESET PROCESSOR
- QUAL *
- LIST X
- *CALL COMPAPI
- LIST *
- CEL SPACE 4,10
- RSTC RESTORE CHANNEL I/O INSTRUCTIONS
- CEL SPACE 4,10
- USE BUFFER
- * DATA BUFFER.
- DBUF EQU *+2
- SPACE 4,10
- ** OVERLAID COMMON DECKS.
- LIST X
- *CALL COMPPDI
- LIST *
- SPACE 4,10
- * OVERLAY ORIGINS.
- OVL0 EQU DBUF+PPFW *0PI* ORIGIN
- ERRPL OVL0+500-BFMS BUFFER OVERFLOW
- CEL SPACE 4,10
- * OVERFLOW CHECKS.
- ERRPL OVL0+ZPXL-BFMS BUFFER OVERFLOW
- TTL REC/4RH - RECOVER MASS STORAGE DEVICES.
- TITLE
- QUAL RMD
- IDENT 4RH,RMDX
- *COMMENT REC - RECOVER MASS STORAGE DEVICES.
- COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
- RMD SPACE 4,10
- *** RMD - RECOVER MASS STORAGE DEVICES.
- *
- * *RMD* SCANS THE EST FOR MASS STORAGE DEVICES
- * AND INITIATES A COPY OF *1RF* FOR EACH ONE.
- RMD SPACE 4,10
- ORG OVLA
- ** RMD - RECOVER MASS STORAGE DEVICES.
- *
- * ENTRY (RS) = RECOVERY STATUS.
- * (NC) = SYSTEM CONTROL POINT NUMBER.
- RMD SUBR ENTRY/EXIT
- LDD RS SET RECOVERY STATUS IN PP CALL
- STM RMDA+4
- LDN ESTP GET ORDINAL OF LAST MS EQUIPMENT + 1
- CRD T7-3
- LDN NOPE-1 SET BEGINNING OF EST SEARCH
- STD T6
- LDN 0 CLEAR PP COUNT
- STD T5
- STD T4
- STD DI CLEAR INITIALIZE COUNT
- LDN EJTE
- STD T3
- LDN EJTP FETCH EJT POINTER
- CRD CA
- LDD CA GET SYSTEM EJT ENTRY
- SHN 14
- LMD CA+1
- CRM BUFM,T3
- .EO EQU DSEO-1
- ADK .EO*EJTE SAVE DEADSTART EJT ENTRY SLOT
- CRM RMDC,T3
- SBN EJTE STORE DEADSTART EJT ENTRY
- CWM BUFM,T3
- * REQUEST PP-S TO PROCESS DEVICES.
- RMD1 RJM GND GET NEXT DEVICE
- ZJN RMD3 IF NO MORE DEVICES
- STM RMDA+2 SET EST ORDINAL TO RECOVER
- LDK PPAL
- CRD CM
- LDD CM+4 CHECK NUMBER OF REMAINING PP-S
- SBN 3
- MJN RMD4 IF LESS THAN 3 FREE
- EXECUTE 1RF,=
- LDD MA REQUEST ANOTHER COPY OF *1RF*
- CWM RMDA,ON
- LDN 1 SET PRIORITY REQUEST
- STD CM+1
- MONITOR RPPM REQUEST PP
- LDD CM+1
- ZJN RMD4 IF NO PP AVAILABLE
- STM RMDB,T5
- AOD T5
- AOM RMDA+3 ADVANCE CONTROL POINT NUMBER
- SBD NC
- NJN RMD1 IF MORE CONTROL POINTS AVAILABLE
- * AS PP-S COMPLETE, START THEM ON ANOTHER DEVICE.
- RMD2 RJM GND GET NEXT DEVICE
- RMD3 ZJN RMD5 IF NO MORE DEVICES
- RMD4 RJM CRP CHECK RUNNING PP-S
- LDD T6
- STD CN+2
- LDM RMDB,T1 TELL PP TO START NEXT DEVICE
- CWD CN
- UJN RMD2 LOOP
- * AS PP-S FINISH, TELL THEM TO DROP.
- RMD5 RJM CRP CHECK RUNNING PP-S
- LDC 4000
- STD CN+2
- LDM RMDB,T1 TELL PP TO DROP
- CWD CN
- LDN 0 INDICATE THAT PP HAS DROPPED
- STM RMDB,T1
- AOD T4 INCREMENT COUNT OF DROPPED PP-S
- LMD T5
- NJN RMD5 IF PP-S STILL RUNNING
- LDC MMFL
- CRD CN READ MMF STATUS WORD
- LDD CN+2
- ZJN RMD6 IF DAT NOT INTERLOCKED
- LDD DI
- NJN RMD6 IF INITIALIZATION REQUESTS PENDING
- STD CN+2
- LDC MMFL CLEAR INTERLOCK STATUS
- CWD CN
- LCN DATI RELEASE FLAG REGISTER INTERLOCK
- RJM IFR
- RMD6 LDD CA EJT BASE ADDRESS
- SHN 14
- LMD CA+1
- ADK DSEO*EJTE RESTORE DEADSTART EJT ENTRY SLOT
- CWM RMDC,T3
- LJM RMDX RETURN
- RMDA VFD 18/3R1RF,6/0,12/0,12/1,12/0
- RMDB BSSZ 20D-4 PP INPUT REGISTER LIST
- RMDC BSS 5*EJTE EJT ENTRY SAVE AREA
- CRP SPACE 4,10
- ** CRP - CHECK RUNNING PP-S.
- *
- * EXIT (T1) = INDEX INTO PP TABLE.
- * (T5) = ASSIGNED PP COUNT.
- * (CN - CN+4) = CONTENTS OF PP INPUT REGISTER.
- *
- * USES T1, T2, FN - FN+4.
- CRP SUBR ENTRY/EXIT
- CRP1 LDN 0
- STD T1
- CRP2 LDM RMDB,T1
- ZJN CRP3 IF PP HAS ALREADY DROPPED
- CRD CN
- LDD CN+2
- ZJN CRPX IF PP DONE
- CRP3 AOD T1
- LMD T5
- NJN CRP2 IF MORE PP-S TO CHECK
- UJN CRP1 LOOP
- GND SPACE 4,10
- ** GND - GET NEXT DEVICE.
- *
- * ENTRY (T6) = ORDINAL OF LAST DEVICE PROCESSED.
- *
- * EXIT (A) = 0 IF NO MORE DEVICES.
- * = (T6) = ORDINAL OF NEXT DEVICE TO PROCESS.
- *
- * USES FN - FN+4.
- GND SUBR ENTRY/EXIT
- GND1 AOD T6
- LMD T7
- ZJN GNDX IF END OF MASS STORAGE DEVICES
- SFA EST,T6
- ADK EQDE READ EST ENTRY
- CRD FN
- LDD FN CHECK DEVICE AVAILABILITY
- SHN -6
- LPN 41
- LMN 40
- NJN GND1 IF NOT AVAILABLE MS DEVICE
- LDD FN
- LPN 3
- LMN DWES
- ZJN GND1 IF DEVICE IS *DOWN*
- LDD FN+4
- SHN 3
- ADK STLL FETCH LOCAL MST STATUS
- CRD FN
- LDD FN
- SHN 22-LIAL+LIAL/12D*12D
- LPN 1
- RAD DI COUNT INITIALIZED DEVICES
- LDD T6
- UJP GNDX RETURN
- SPACE 4,10
- BUFM BSS 0 MESSAGE HOLDING BUFFER
- SPACE 4,10
- ** OVERFLOW CHECK.
- ERRPL BUFM+5*3-10001 MESSAGE WRAPS PP MEMORY
- TTL REC - SYSTEM RECOVERY PROCESSOR.
- TTL REC - SYSTEM RECOVERY PROCESSOR.
- SPACE 4,10
- END
cdc/nos2.source/opl871/rec.txt ยท Last modified: 2023/08/05 17:24 by Site Administrator