cdc:nos2.source:opl871:msi
Table of Contents
MSI
Table Of Contents
- [00012] MSI - MASS STORAGE DEVICE INITIALIZATION.
- [00014] MASS STORAGE DEVICE INITIALIZATION.
- [00018] MASS STORAGE DEVICE INITIALIZATION.
- [00301] MACROS.
- [00305] CLEAR - CLEAR STORAGE.
- [00325] ERROR - DISPLAY KEYBOARD ERROR MESSAGE.
- [00338] KEYMES - DISPLAY KEYBOARD MESSAGE.
- [00380] ASSEMBLY CONSTANTS.
- [00388] DISPLAY BUFFER LINE NUMBER TABLES.
- [00390] PARAMETER HOLD AREA.
- [00548] MAIN LOOP.
- [00549] MAIN PROGRAM.
- [00770] AUXILIARY PROCESSORS.
- [00772] RERUN - RERUN *MSI*.
- [00782] TKL - TRACK LIMIT PROCESSING.
- [00860] MAJOR PROCESSORS.
- [00862] REQ - REQUEST EST ORDINAL.
- [00913] DSP - DISPLAY EST ORDINALS.
- [00971] CPY - COPY MST PARAMETERS TO DISPLAY BLOCK.
- [01110] PPM - PROCESS PARAMETERS.
- [01402] CPN - CHECK PACKNAMES.
- [01456] ALP - ALLOCATE PACKS.
- [01565] UMS - UPDATE MASS STORAGE.
- [01753] TUMS - TABLE OF MST UPDATING PARAMETERS.
- [01771] EDF - SEPARATE FAMILY FROM OTHER MASS STORAGE.
- [01828] CMS - CHECK MASK AND DEVICE NUMBER.
- [01942] CRE - CHECK REQUIRED ENTRIES.
- [01976] EDD - EDIT DEVICE TRTS.
- [02019] ECT - EDIT CATALOGS.
- [02078] ABT - ABORT JOB.
- [02138] OCT - OPEN CATALOG.
- [02232] ACT - ADVANCE CATALOG TRACK.
- [02282] RDC - READ CATALOG.
- [02314] SFF - SEARCH FOR FILES.
- [02426] WTC - WRITE CATALOG BUFFER TO DISK.
- [02451] SUBROUTINES.
- [02453] ALD - ALLOCATE *LDAM* DEVICES.
- [02556] AUL - ASSEMBLE UNIT LIST.
- [02604] BPT - BUILD MST UPDATING PARAMETER TABLE.
- [02675] CIR - CHECK INITIALIZATION REQUESTED.
- [02761] CMC - CHECK MODE CHANGE.
- [02819] DIO - DISPLAY INITIALIZE OPTIONS.
- [02901] DTY - GET PARAMETERS FOR DEVICE TYPE.
- [02937] ISF - INITIALIZE SPECIAL FILES.
- [03038] MTW - MOVE THREE WORDS TO DISPLAY LINE.
- [03077] PMC - PROCESS MODE CHANGE.
- [03159] PTY - PROCESS TYPE.
- [03218] SAL - SET ACCESS LEVEL DEFAULTS.
- [03262] PRS - PRESET PROGRAM.
- [03363] K DISPLAY KEYBOARD MESSAGES
- [03426] KEYBOARD INPUT PROCESSOR.
- [03428] PKI - PROCESS KEYBOARD INPUT.
- [03528] RPT - RESTORE POINTERS.
- [03550] SPT - SAVE POINTERS.
- [03576] PROCESS FLAW ENTRIES
- [03577] CFE - CHECK FOR FLAW ENTRY.
- [03708] RPA - RETRIEVE PARAMETERS.
- [03772] FMD - FLAW LARGE MEMORY DEVICES.
- [03802] FRD - FLAW ROTATING MASS STORAGE DEVICES.
- [03881] TDTY - TABLE OF DEVICE TYPE PARAMETERS.
- [03915] TPHY - PHYSICAL DESCRIPTOR TABLE.
- [03945] COMMON DECKS.
- [03982] SYS= - PROCESS SYSTEM REQUEST.
- [04013] KEYBOARD PROCESSOR.
- [04015] KIP - KEYBOARD PROCESSOR.
- [04119] CDC - CLEAR K-DISPLAY ENTRIES.
- [04159] K-DISPLAY LINE NUMBERS.
- [04256] BUFFERS AND FLAGS
Source Code
- MSI.txt
- IDENT MSI,ORIG
- ABS
- SST
- ENTRY MSI
- ENTRY FLAW
- ENTRY RFL=
- ENTRY SSJ=
- ENTRY UTL=
- SYSCOM B1
- *COMMENT MSI - MASS STORAGE DEVICE INITIALIZATION.
- COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
- TITLE MSI - MASS STORAGE DEVICE INITIALIZATION.
- SPACE 4
- *** MSI - MASS STORAGE DEVICE INITIALIZATION.
- * D. A. HIVELEY. 72/09/27.
- * S.L. BETH. 73/01/23.
- SPACE 4
- *** MSI - MASS STORAGE DEVICE INITIALIZATION.
- *
- * THE FOLLOWING PARAMETERS MAY BE ENTERED VIA
- * THE K-DISPLAY.
- *
- * FM = FAMILY NAME / PACK NAME (DEPENDS ON *TY* VALUE).
- * PN = FAMILY NAME / PACK NAME (DEPENDS ON *TY* VALUE).
- * UN = USER NAME (FOR PRIVATE AUXILIARY PACK ONLY).
- * DM = DEVICE MASK.
- * SM = SECONDARY MASK.
- * NC = NUMBER OF CATALOG TRACKS.
- * NP = NUMBER OF PACKS.
- * DN = DEVICE NUMBER.
- * TY = TYPE
- * F = FAMILY DEVICE.
- * X = AUXILIARY DEVICE.
- * LA = LOWER BOUND ACCESS LEVEL.
- * UA = UPPER BOUND ACCESS LEVEL.
- *
- * ENTER XX=0. TO CLEAR ANY OF THE ENTRIES LISTED ABOVE.
- * ENTER XX=NULL. TO CLEAR THE FIELD IN THE MST (UN ONLY).
- *
- * EQ = EST ORDINAL. THIS OPTION IS ONLY VALID FOR *FLAW*
- * PROCESSING.
- *
- * NOTE IT IS NECESSARY TO USE THE DSD/EQPDECK *INITIALIZE*
- * ENTRY TO SELECT DEVICES AND OPTIONS TO BE INITIALIZED.
- * DEVICE CHARACTERISTICS CAN ONLY BE CHANGED DURING
- * *AL*, *FT*, OR *HT* INITIALIZATION. IF THE *FP*
- * OPTION IS SELECTED, INITIALIZATION WAITS FOR THE
- * DEVICE TO BE FORMATTED.
- *
- * THE FOLLOWING FLAW DIRECTIVES CAN ONLY BE ENTERED VIA
- * THE K-DISPLAY.
- *
- * SLF = SET LOGICAL TRACK FLAW ON *EQ*.
- * CLF = CLEAR LOGICAL TRACK FLAW ON *EQ*.
- * SPF = SET PHYSICAL TRACK FLAW ON *EQ*.
- * CPF = CLEAR PHYSICAL TRACK FLAW ON *EQ*.
- *
- * DEFAULT VALUES ARE -
- *
- * FM = NO NAME NC = (DEVICE DEPENDENT - SEE *COMSMSP*)
- * UN = NO NAME EQ = 0
- * DM = 0 NP = 0
- * TY = 0 DN = 1
- * LA = VALUE CONTAINED IN EST.
- * UA = VALUE CONTAINED IN EST.
- *
- * ********************
- *
- * IT SHOULD BE NOTED THAT MSI INITIALIZES WITH THE NEW
- * PARAMETER INPUT. THEREFORE IF A FAMILY MASK OR DEVICE
- * NUMBER IS CHANGED THE RESULTANT EDIT OF THE OTHER DEVICES
- * IN THE FAMILY MAY MISS SOME FILES LEAVING THE SPACE
- * RESERVED BUT WITH NO CATALOG ENTRIES POINTING TO THE FILES.
- * TO AVOID THIS SITUATION, FIRST PERFORM AN INITIALIZE OF THE
- * DEVICE WITH ITS OLD PARAMETERS TO CLEAN UP THE FAMILY,
- * THEN REINITIALIZE WITH THE NEW PARAMETERS.
- *
- * ********************
- *
- *
- *
- * THE *FM* PARAMETER WILL BE CONSIDERED A PACK NAME IF THE
- * DEVICE IS AN AUXILIARY DEVICE (*TY=X*).
- *
- * BEFORE ENTERING PARAMETERS CHECK THE K DISPLAY FOR
- * THE LIST OF EQUIPMENTS TO BE INITIALIZED, IF THE LIST
- * IS NOT COMPLETE ENTER THE INITIALIZE REQUESTS FOR THE
- * OTHER EQUIPMENTS AND ENTER *RERUN* TO UPDATE MSI.
- *
- * THE DEVICE WHICH IS TO BE INITIALIZED MUST FULFILL
- * CERTAIN REQUIRMENTS. IF THE DEVICE IS AVAILABLE AND/OR
- * HAS NO LABEL ERROR STATUS, IT MUST BE THE FIRST EQUIPMENT IN
- * THE CHAIN. *MSI* WILL NOT ALLOW A CHAINED EQUIPMENT TO BE
- * SPLIT IN THE MIDDLE OF THE CHAIN (SUCH AS INITIALIZING THE
- * THIRD UNIT IN A FOUR DEVICE CHAIN). DEVICES WHICH ARE TO BE
- * CHAINED TOGETHER AND ARE AVAILABLE AND/OR HAVE RECOVERED
- * LABELS, MUST HAVE THE INITIALIZE REQUESTS SET FOR EACH
- * EST ORDINAL IN THE CHAIN.
- *
- * THE INPUT TO THE FLAW ROUTINE IS CONSIDERED OCTAL
- * UNLESS THE DIGITS 8 OR 9 APPEAR IN THE NUMBER, OR
- * THE RADIX SYMBOL *D* IS APPENDED TO THE NUMBER.
- SPACE 4
- *** DAYFILE MESSAGES.
- *
- * * EQXXX, ACTIVE FILES, CANNOT INITIALIZE.*
- *
- * * EQXXX, INACTIVE QUEUES INITIALIZED.*
- *
- * * EQXXX, UNABLE TO INITIALIZE IQFT.*
- *
- * * USER ACCESS NOT VALID.*
- *
- * * INTERNAL ERROR IN MSI.*
- *
- * * IQFT FILE INTERLOCKED.*
- *
- * * LINK DEVICE CANNOT BE ALTERED.*
- *
- * * MSI ABORTED INITIALIZE MAY NOT BE COMPLETE.*
- *
- * * NO INITIALIZE REQUESTS SET FOR MSI.*
- *
- * * NO IQFT FILE FOUND.*
- *
- * * UNABLE TO READ IQFT FILE.*
- *
- * * MSI HUNG.*
- SPACE 4
- *** OPERATOR MESSAGES.
- *
- * *ENTER OLD PACK NAME* THIS INPUT MUST MATCH THE
- * OLD PACKNAME TO CONTINUE.
- *
- * *ENTER OLD FAMILY NAME* MUST BE ENTERED TO CONTINUE.
- *
- * *ENTER OLD USER NAME.* MUST BE ENTERED TO CONTINUE.
- *
- * *ENTER OLD DEVICE NUMBER* MUST BE ENTERED TO CONTINUE.
- *
- * *ENTER EST ORDINAL.* ENTER THE EST ORDINAL OF THE DEVICE
- * TO BE FLAWED OR INITIALIZED. THIS IS THE ONLY INPUT
- * WHICH WILL BE ACCEPTED AT THIS POINT.
- *
- * *ENTER PARAMETERS* ENTER ANY LEGAL PARAMETERS, THEN
- * ENTER *GO* TO PROCESS THE PARAMETERS.
- *
- * *ENTER FLAWS* ENTER ALL FLAWS FOR THE CURRENT EQUIPMENT,
- * ENTER *GO* TO PROCESS THE FLAWS. FLAWS MAY ALSO
- * BE ENTERED DURING AN INITIALIZE RUN.
- *
- * *ENTER IDENTITY OF EQXXX.* THE CURRENT DEVICE IS GOING TO
- * BE CHAINED TO ANOTHER DEVICE. TO VERIFY ITS
- * AVAILABILITY ENTER ITS (PACKNAME AND USER NAME),
- * (PACKNAME), (FAMILY NAME) OR (FAMILY NAME AND
- * DEVICE NUMBER) THE ORDER OF ENTRY IS NOT IMPORTANT.
- * THE ID ENTRIES MUST BE MADE TO CONTINUE PROCESSING.
- *
- * *END OF RUN* MSI COMPLETED REQUESTED FUNCTIONS.
- *
- * *ENTER CLEAR OR RERUN.* MSI WILL ONLY ACCEPT THE COMMANDS
- * *CLEAR* AND *RERUN* AT THIS TIME.
- *
- SPACE 4
- *** OPERATOR ERROR MESSAGES.
- *
- * *UN MUST BE SPECIFIED.* DEVICE IS FLAGGED AS PRIVATE
- * THE USER NAME MUST BE SPECIFIED OR THE
- * PACK NAME CLEARED.
- *
- * *NC IS NOT A POWER OF 2.* THE NUMBER OF CATALOG TRACKS
- * MUST BE A POWER OF 2. CORRECT AND ENTER *GO*.
- *
- * *FAMILY MASK NOT EQUAL TO 377.* THE DEVICE MASK FOR THE
- * FAMILY DOES NOT EQUAL 377B, CORRECT AND ENTER
- * *GO* OR ENTER *GO* TO OVERRIDE. THIS IS THE ONLY
- * INPUT ACCEPTED AT THIS TIME.
- *
- * *EQ OR DN INCORRECT.* EST ORDINAL TOO BIG, DEVICE SPECIFIED
- * IS NOT MASS STORAGE, OR DEVICE NUMBER .GT. 77B WAS
- * SPECIFIED. CORRECT AND ENTER *GO.*.
- *
- * *EQXXX, NO FULL TRACK ACCESS.* INDICATES AN ATTEMPT TO
- * INITIALIZE WITH *OP=FT* AND NO FULL TRACK ACCESS
- * EXISTS. ENTER *CLEAR* TO CLEAR THE INITIALIZE REQUEST
- * OR *GO* TO INITIALIZE AS A HALF TRACK DEVICE.
- *
- * *INCORRECT ENTRY.* INPUT NOT ALLOWED - INCORRECT FORMAT OF
- * INPUT LINE OR MODIFICATION OF A TRACK RESERVED FOR
- * HARDWARE TESTING WAS ATTEMPTED.
- *
- * *FM OR PN MUST BE SPECIFIED.* ENTER THE REQUIRED
- * PARAMETER AND ENTER *GO*.
- *
- * *NP GREATER THAN 8.* ENTER CORRECT NUMBER OF PACKS THEN
- * ENTER *GO*.
- *
- * *DUPLICATE PN.* ANOTHER PACK IN THE SYSTEM HAS THE SAME
- * NAME. CHANGE THE PACKNAM OR REMOVE THE OTHER
- * DEVICE FROM THE SYSTEM (IF THIS IS DONE *CMS* MUST
- * RUN TO UPDATE THE MST TABLES).
- *
- * *NC EXCEEDS 200B.* THE NUMBER OF CATALOG TRACKS EXCEEDS
- * 200B. CORRECT AND ENTER *GO*.
- *
- * *CANNOT ALLOCATE DEVICE.* CANNOT ALLOCATE A MULTI-SPINDLE
- * DEVICE, NOT ENOUGH SPARE EQUIPMENT OR SPARES
- * NOT UP AND ALLOCATABLE OR AN ATEMPT WAS MADE TO
- * ALLOCATE A NONREMOVABLE DEVICE. DECREASE THE PACK
- * COUNT AND ENTER *GO* OR ENTER *CLEAR* TO VOID MSI RUN.
- *
- * *NOT AUXILIARY PACK.* ATTEMPT TO MAKE A PRIVATE PACK OUT
- * OF A NONAUXILIARY DEVICE. CORRECT AND ENTER *GO*.
- *
- * *DUPLICATE DN.* DEVICE NUMBER MATCHES ANOTHER IN THE
- * FAMILY CORRECT AND ENTER *GO* OR OVERRIDE BY
- * ENTERING *GO*. THIS IS THE ONLY INPUT ACCEPTED AT
- * THIS TIME. THE OVERRIDE IS ONLY ALLOWED IF THE
- * CONFLICTING DEVICE HAS THE FULL INITIALIZE STATUS SET.
- *
- * *DEVICE NOT REMOVABLE.* A NONREMOVABLE DEVICE WAS
- * SELECTED FOR CHAINING IN A MULTIPACK STRING.
- * ENTER *CLEAR* TO VOID THE MSI RUN.
- *
- * *NP NOT ALLOWED.* THE EQUIPMENT IS NOT A PACK TYPE
- * DEVICE. CORRECT AND ENTER *GO*.
- *
- * *DUPLICATE BITS IN MASK.* THE MASK FOR THE FAMILY HAS
- * DUPLICATE BITS SET, THIS DESTROYS THE INTEGRITY OF
- * THE PF SYSTEM BY CREATING AN AMBIGUOUS MAPING OF THE
- * USER INDEX. CORRECT AND ENTER *GO* OR ENTER *GO* TO
- * OVERRIDE. THIS IS THE ONLY INPUT ACCEPTED AT THIS
- * TIME. THE OVERRIDE IS ONLY ALLOWED IF THE CONFLICTING
- * DEVICE HAS THE FULL INITIALIZE STATUS SET.
- *
- * *DEVICE NOT FIRST IN CHAIN.* TO PREVENT DESTROYING THE
- * INTEGRITY OF A LINKED DEVICE INITIALIZATION WILL ONLY
- * TAKE PLACE ON AN AVAILABLE DEVICE IF IT IS THE FIRST
- * DEVICE IN THE CHAIN. THE ONLY INPUT ACCEPTED AT THIS
- * TIME IS *RERUN* OR *CLEAR*.
- *
- * *EQXXX, INITIALIZE BIT NOT SET.* EQXXX IS AVAILABLE AND HAS
- * A GOOD LABEL, IT CANNOT BE LINKED TO ANOTHER EQUIPMENT
- * UNLESS THE TOTAL INITIALIZE REQUEST IS SET. ENTER DSD
- * COMMAND *INITIALIZE,AL,XXX.*, THEN ENTER *K.RERUN.* TO
- * UPDATE THE STATUS OF MSI, OR ENTER *CLEAR*
- * TO VOID THE MSI RUN.
- *
- * *DN CANNOT BE ZERO.* A (DN = 0) WAS ENTERED TO CLEAR A
- * DUPLICATE DEVICE NUMBER ERROR. THE DN CANNOT BE ZERO
- * FOR A FAMILY TYPE DEVICE. ENTER A NONZERO VALUE
- * TO CONTINUE OR ENTER *GO* TO OVERRIDE THE ERROR.
- *
- * *EQXXX, FORMAT PENDING.* EQXXX HAS THE FORMAT PENDING BIT
- * SET AND CANNOT BE PROCESSED UNTIL FORMATTING IS
- * COMPLETE.
- *
- * *DEADSTART INITIALIZE REQUIRED.* THE PENDING INITIALIZE IS
- * FOR A NONREMOVABLE DEVICE WITH ERROR IDLE OR A LABEL
- * ERROR STATUS. THIS ERROR STATUS REQUIRES A DEADSTART
- * INITIALIZE.
- *
- * *DEFINED DEVICE ALREADY EXISTS.* THE DEVICE AS DEFINED
- * ALREADY EXISTS IN THE MULTI-MAINFRAME ENVIRONMENT.
- * IF THIS IS AN AUXILIARY DEVICE CHANGE THE PACKNAME
- * OR REMOVE THE OTHER PACK FROM THE COMPLEX. IF A
- * FAMILY DEVICE CHANGE THE DEVICE NUMBER TO A UNIQUE
- * VALUE FOR THIS FAMILY.
- *
- * *FULL INITIALIZE REQUIRED.* THE PENDING INITIALIZE IS FOR
- * A DEVICE WITH AN ERROR STATUS SET. THIS DEVICE MUST
- * BE INITIALIZED WITH A FULL INITIALIZE REQUEST.
- *
- * *EQXXX, TRACK LIMIT.* INSUFFICIENT SPACE ON THE DEVICE TO
- * COMPLETE THE INITIALIZATION. FREE UP SPACE AND ENTER
- * *RERUN* OR ENTER *CLEAR*. IF THIS ERROR OCCURS
- * DURING DEADSTART, REDEADSTART AND CHECK EQUIPMENT
- * USAGE IN THE *CMRDECK*.
- *
- * *UA NOT WITHIN LIMIT.* THE UPPER BOUND ACCESS LEVEL
- * EXCEEDS THAT CONTAINED IN THE EST. CORRECT AND
- * ENTER *GO*.
- *
- * *LA NOT WITHIN LIMIT.* THE LOWER BOUND ACCESS LEVEL
- * IS SMALLER THAN THAT CONTAINED IN THE EST. CORRECT
- * AND ENTER *GO*.
- *
- * *LA GREATER THAN UA.* THE LOWER ACCESS LEVEL LIMIT
- * IS GREATER THAN THE UPPER LIMIT. CORRECT AND
- * ENTER *GO*.
- *
- * *UNKNOWN ACCESS LEVEL NAME.* THE ACCESS LEVEL NAME
- * ENTERED IS INCORRECT. CORRECT AND ENTER *GO*.
- *
- * TO HALT PROCESSING ON THE CURRENT EQUIPMENT ENTER *CLEAR*
- * THE CURRENT INITIALIZE REQUEST WILL BE CLEARED AND MSI WILL
- * ADVANCE TO THE NEXT DEVICE WITH AN INITIALIZE REQUEST UP.
- *
- * TO CLEAR ALL PARAMETER INPUT WITHOUT CLEARING THE INITIALIZE
- * REQUEST ENTER *RERUN*.
- TITLE MACROS.
- *CALL COMCMAC
- *CALL COMCDCM
- CLEAR SPACE 4
- ** CLEAR - CLEAR STORAGE.
- *
- * CLEAR FWA,COUNT,MASK
- *
- * IF *MASK* IS *X7* IT IS ASSUMED THAT (X7) = 0.
- PURGMAC CLEAR
- CLEAR MACRO L,C,M
- LOCAL A
- MACREF CLEAR
- IFNE M,X7,1
- MX7 0
- R= B2,L
- R= B3,L+C
- A SA7 B2
- SB2 B2+B1
- NE B2,B3,A
- ENDM
- ERROR SPACE 4
- ** ERROR - DISPLAY KEYBOARD ERROR MESSAGE.
- *
- * ERROR NUMBER
- PURGMAC ERROR
- ERROR MACRO N
- MACREF ERROR
- .N MICRO 1,,*N*
- SA1 ERROR".N"
- RJ MTW
- ENDM
- SPACE 4
- ** KEYMES - DISPLAY KEYBOARD MESSAGE.
- *
- * KEYMES MES
- PURGMAC KEYMES
- MACREF KEYMES
- KEYMES MACRO N
- SA1 N
- RJ MTW
- ENDM
- SPACE 4,10
- ** COMMON DECKS.
- *CALL COMSDSL
- *CALL COMSDSP
- *CALL COMSESS
- *CALL COMSIOQ
- *CALL COMSLSD
- *CALL COMSMLS
- LIST X
- *CALL COMSMSI
- LIST *
- *CALL COMSMSP
- *CALL COMSMST
- *CALL COMSPFM
- *CALL COMSPRD
- QUAL PFU
- *CALL COMSPFU
- QUAL *
- CTCT EQU /PFU/CTCT
- CTCU EQU /PFU/CTCU
- CTLM EQU /PFU/CTLM
- CTOP EQU /PFU/CTOP
- CTSU EQU /PFU/CTSU
- FTCA EQU /PFU/FTCA
- FTPM EQU /PFU/FTPM
- FTSC EQU /PFU/FTSC
- *CALL COMSSFM
- *CALL COMSSSD
- *CALL COMSSSJ
- TITLE ASSEMBLY CONSTANTS.
- SPACE 4,5
- * TABLE AND BUFFER SIZES.
- PKLL EQU 10B LENGTH OF PACK LINK TABLE
- CATBL EQU 1011B CATALOG BUFFER LENGTH
- SCRBL EQU 201B SCRATCH BUFFER LENGTH
- PARAML EQU 40B PARAMETER AREA LENGTH
- TITLE DISPLAY BUFFER LINE NUMBER TABLES.
- SPACE 4
- TITLE PARAMETER HOLD AREA.
- ORG 106B
- ORIG BSS 1 COMMAND NAME (FOR *UPC*)
- PAR BSS PARAML PARAMETER AREA
- SPACE 4
- * OPTION TABLE.
- OTBL EQU *
- LOC 0
- PMFN BSS 1 FAMILY NAME
- PMUN BSS 1 USER NAME
- PMID BSS 1 ID ENTRY
- BSS 1
- PMTY BSS 1 TYPE ENTRY
- PMLA BSS 1 LOWER ACCESS LEVEL
- PMUA BSS 1 UPPER ACCESS LEVEL
- NNME EQU *-PMFN
- PMDM BSS 1 DEVICE MASK
- PMSM BSS 1 SECONDARY MASK
- PMNC BSS 1 NUMBER CATALOG TRACKS
- PMNP BSS 1 NUMBER OF PACKS
- PMDN BSS 1 DEVICE NUMBER
- PMEQ BSS 1 EST ORDINAL
- PMOP BSS 1 OPTION
- PMXX BSS 1 GARBAGE INPUT
- NOCT EQU *-PMDM
- LOC *O
- OTBLL EQU *-OTBL OPTION TABLE LENGTH
- ORG OTBL
- SPACE 4
- * TENP - TABLE OF ENTERED PARAMETERS.
- TENP BSS 0
- BSS OTBLL
- SPACE 4
- * PARC - TABLE OF CONVERTED PARAMETERS.
- PARC BSS 0 42/FN,18/0
- BSSZ OTBLL 42/UI,18/0
- 42/ID,18/0
- 42/ID,18/0
- 06/TY,54/0
- 42/LA,18/0
- 42/UA,18/0
- 52/0,8/DM
- 52/0,8/SM
- 57/0,3/NC
- 57/0,3/NP
- 54/0,6/DN
- 54/0,6/EQ
- 57/0,3/OP
- 60/TRASH
- SPACE 4
- * TARG - ARGUMENT TABLE.
- TARG BSS 0
- FM ARG DARG,(TENP+PMFN),400B
- PN ARG DARG,(TENP+PMFN),400B
- UN ARG DARG,(TENP+PMUN),400B
- TY ARG DARG,(TENP+PMTY),400B
- ENLA BSS 0
- LA ARG DARG,(TENP+PMLA),400B
- ENUA BSS 0
- UA ARG DARG,(TENP+PMUA),400B
- DM ARG DARG,(TENP+PMDM),400B
- SM ARG DARG,(TENP+PMSM),400B
- NC ARG DARG,(TENP+PMNC),400B
- NP ARG DARG,(TENP+PMNP),400B
- DN ARG DARG,(TENP+PMDN),400B
- DARG BSSZ 1 DEFAULT ENTRY
- ENDP BSS 0
- OP ARG DARG,(TENP+PMOP),400B
- BSSZ 1
- ENEQ BSS 0
- EQ ARG DARG,(TENP+PMEQ),400B
- BSSZ 1
- ENMS BSS 0
- DM ARG DARG,(TENP+PMDM),400B
- NC ARG DARG,(TENP+PMNC),400B
- BSSZ 1
- ENDN BSS 0
- DN ARG DARG,(TENP+PMDN),400B
- BSSZ 1
- EIDS BSS 0
- FM ARG DARG,(TENP+PMID),400B
- PN ARG DARG,(TENP+PMID),400B
- UN ARG DARG,(TENP+PMID+1),400B
- DN ARG DARG,(TENP+PMID+1),400B
- BSSZ 1
- HNGP BSS 0
- XX ARG DARG,(TENP+PMXX),400B
- BSSZ 1
- DATB SPACE 4,10
- * DATB - DISPLAY ADDRESS TABLE.
- DATB BSS 0 DISPLAY ADDRESS TABLE
- CON FNDS+1
- CON UNDS+1
- CON SCRB
- CON SCRB
- CON TYDS+1
- CON LADS+1
- CON UADS+1
- CON DMDS+1
- CON SMDS+1
- CON NCDS+1
- CON NPDS+1
- CON DNDS+1
- CON EQDS+1
- CON SCRB
- CON SCRB
- DAST CON LTDS+1 LEFT SCREEN ADDRESS
- DASM CON LTDS+3 MATCH ADDRESS FOR TRT
- SPACE 4
- FETS SPACE 4,10
- * FETS.
- QFET FILEB CATB,CATBL,EPR,FET=8 *QFM* FET
- CATS FILEB CATB,CATBL,FET=10 *PFU* FET
- UIFT FILEB 0,0,FET=10 *PFU* UTILITY INTERLOCK FET
- OUTPUT FILEC 0,0 *ABT* PROCESSOR OUTPUT FET
- FLAGS SPACE 4
- * FLAGS (CLEARED BY *PRS*).
- FLGS EQU * FWA OF FLAG BLOCK
- TEMP BSS 1 TEMPORARY CELL
- FLAG BSS 1 FLAGS NO PARAMETER INPUT NEEDED
- PVT BSS 1 FLAGS DEVICE IS PRIVATE PACK
- DSI BSS 1 FLAG DEADSTART INITIALIZE
- TOTL BSS 1 FLAG TOTAL INITIALIZE (NEGATIVE)
- PALF BSS 1 PACKS ALLOCATED FLAG 12/EQ NUMBER
- CNT BSS 1 PARAMETER COUNT/ CATALOG TRACK COUNT
- LCRC BSS 1 LOW CORE READ CONTROL WORD
- BUFI BSS 1 INDEX TO MST RECORDS IN BUFFER
- ARGP BSS 1 POINTER TO CURRENT ARGUMENT TABLE
- PFUF BSS 1 FLAG *PFU* ACTIVE
- UIFL BSS 1 UTILITY INTERLOCK FLAG (PFU)
- LINK BSS 1 LINK EST ORDINAL
- CLF BSS 1 FLAG *CLEAR* REQUEST ENTERED
- CLOV BSS 1 *CLEAR* OVERRIDE EST ORDINAL
- SSFL BSS 1 SECURE SYSTEM FLAG
- SSID CON MSSI SUBSYSTEM ID
- FLGSL EQU *-FLGS LENGTH OF FLAG BLOCK
- SPACE 4
- ** TEMPORARY CELLS.
- EQ CON 0 EST ORDINAL (DISPLAY CODE)
- RQ CON 0 INITIALIZE REQUESTS PROCESSED
- * FLAW FLAG.
- FLFG CON 0 IF SET, FLAW PROCESSING
- TITLE MAIN LOOP.
- ** MSI - MAIN PROGRAM.
- MSI SB1 1
- EREXIT ABT1 SET ABORT PROCESSOR ADDRESS
- BX6 X6-X6 CLEAR FLAW FLAG
- SA6 FLFG
- MSI1 RJ PRS PRESET
- RJ CIR CHECK INITIALIZATION REQUESTED
- SA1 RQ
- PL B6,MSI3 IF INITIALIZATION REQUESTED
- NZ X1,MSI2 IF AT LEAST ONE REQUEST PROCESSED
- MESSAGE MESC * NO INITIALIZE REQUESTS SET FOR MSI.*
- MSI2 KEYMES EDRN *END OF RUN.*
- SYSTEM IMS,R,,CIT CLEAR *CMS* INTERLOCK
- EXCST =C*CMS.* CALL *CMS* TO UPDATE SYSTEM CONFIGURATION
- ENDRUN
- * IF EQUIPMENT AVAILABLE AND NOT DEADSTART STATUS OR
- * IF EQUIPMENT UNAVAILABLE AND IF THE LABEL WAS RECOVERED,
- * REQUEST THE VERIFICATION OF THE DEVICES PARAMETERS AND COPY
- * THE INFORMATION TO THE K DISPLAY. OTHERWISE GO REQUEST INPUT
- * OF THE NEW PARAMETERS.
- MSI3 SX6 X1+B1 INCREMENT REQUESTS PROCESSED
- SA6 A1
- RJ DSP DISPLAY EQUIPMENTS TO BE PROCESSED
- RJ DIO DISPLAY INITIALIZE OPTIONS
- SA5 PARC+PMEQ
- R= X1,ESTE
- IX1 X5*X1
- SA1 ESTB+X1+EQDE GET EST ENTRY
- SX7 TARG
- SA4 ESTF+X5
- SA7 ARGP
- SA3 X4+STLL
- MX6 6
- LX6 -18
- BX7 -X6*X3 CLEAR ERROR STATUS
- LX1 59-54
- SA7 X4+STLL
- BX3 X6*X3
- LX7 59-LIAL
- SA2 X4+PFGL
- NG X7,MSI4.1 IF DEADSTART INITIALIZE
- LX3 24
- AX2 12
- ZR X3,MSI5 IF NO ERROR STATUS
- SA4 TOTL
- NG X4,MSI4 IF FULL INITIALIZE
- ERROR 25 *FULL INITIALIZE REQUIRED.*
- EQ MSI6 HALT PROCESSING ON CURRENT DEVICE
- MSI4 NZ X2,MSI7 IF RECOVERED LABEL
- SX6 X3-STLE
- NZ X6,MSI4.1 IF NOT LABEL ERROR
- LX1 54-56
- PL X1,MSI7.1 IF NOT REMOVABLE DEVICE
- RJ SAL SET ACCESS LEVEL DEFAULTS
- EQ MSI10 PROCESS KEYBOARD INPUT
- MSI4.1 NG X1,MSI5 IF EQUIPMENT UNAVAILABLE
- * IF INITIALIZE SET, DEVICE AVAILABLE AND DEADSTART STATUS,
- * INITIALIZE AND DO NOT STOP FOR OPERATOR INTERVENTION.
- MX6 1
- BX7 X7-X7
- SA6 DSI FLAG DEADSTART INITIALIZE
- EQ MSI9 DEADSTART INITIALIZE (COPY PARAMETERS)
- MSI5 SA4 ESTF+X5
- SA3 X4+PFGL
- MX1 -3
- AX3 3
- BX1 -X1*X3
- BX6 -X5
- ZR X1,MSI7 IF ONE OF M
- SA6 CLOV SET OVERRIDE *CLEAR* INDICATOR
- ERROR 18 *DEVICE NOT FIRST IN CHAIN.*
- MSI6 SX6 HNGP
- SX7 7777B
- SA6 ARGP
- SA7 CNT
- RJ PKI STOP FURTHER PROCESSING
- KEYMES ENCL *ENTER CLEAR OR RERUN.*
- EQ MSI6 LOOP
- MSI7 SA4 ESTF+X5 CHECK STATUS OF DEVICE
- SA1 X4+DULL
- SA2 X4+ACGL
- SA3 X4+MDGL
- SA4 X4+STLL
- NG X3,MSI8 IF DEVICE REMOVABLE
- LX2 59-4
- PL X2,MSI8 IF ERROR IDLE NOT SET
- MSI7.1 ERROR 24 *DEADSTART INITIALIZE REQUIRED.*
- EQ MSI6 STOP PROCESSING
- MSI8 MX3 -12
- LX4 -12
- BX7 -X3*X4
- MX3 -11
- BX1 -X3*X1
- MX0 18
- LX4 59-LIPF+12
- BX7 X7+X1
- SA2 CLF CHECK *CLEAR* FLAG
- ZR X7,MSI9 IF NO ACTIVE FILES/USERS
- NZ X2,CLEAR IF *CLEAR* FLAG SET
- PL X4,MSI9 IF NOT INITIALIZING PF,S
- LX0 -18
- SA4 EQ
- LX4 42-18
- SA1 MESA
- BX7 -X0*X1
- BX7 X7+X4
- SA7 A1
- MESSAGE MESA * EQXXX, ACTIVE FILES, CANNOT INITIALIZE.*
- RJ ABT ABORT *MSI*
- MSI9 SA7 CLF CLEAR *CLEAR* FLAG
- RJ CPY COPY PARAMETERS TO K-DISPLAY
- SX6 B1 ALLOW FLAW ENTRIES TO NOW BE MADE
- SA6 CFEB
- SA1 DSI
- SA2 TOTL
- MI X1,MSI12 IF DEADSTART INITIALIZE
- PL X2,MSI12 IF NOT TOTAL INITIALIZE
- MSI10 SX7 200
- SA7 CNT
- KEYMES REQPM *ENTER PARAMETERS.*
- MSI11 RJ PKI PROCESS KEYBOARD INPUT
- MSI12 RJ PPM PROCESS PARAMETERS
- ZR X7,MSI11 IF MORE INPUT NEEDED
- RJ CRE CHECK REQUIRED ENTRIES
- ZR X6,MSI12 IF PARAMETERS TO PROCESS
- SA4 TOTL
- SA5 PARC+PMEQ
- NG X4,MSI12.1 IF TOTAL INITIALIZE
- SA4 X5+ESTF
- SA4 X4+STLL
- LX4 59-LIPF
- PL X4,MSI14.1 IF NOT *PF* INITIALIZE
- MSI12.1 BSS 0
- RJ UMS UPDATE MSTS
- ZR X1,MSI13 IF DEVICE ALLOWED
- KEYMES ERROR22 *DEFINED DEVICE ALREADY EXISTS.*
- EQ MSI11 PROCESS NEW INPUT
- MSI13 RJ EDF SEPARATE FAMILY FROM OTHER EQUIPMENTS
- SA1 ESTF+B7
- SA4 X1+MDGL
- LX4 59-58
- NG X4,MSI14 IF AUXILIARY DEVICE
- RJ CMS CHECK MASKS
- MI X7,MSI12 PROCESS NEW PARAMETERS
- SA5 PARC+PMEQ
- SA1 ESTF+X5
- LX1 59-54
- NG X1,MSI14 IF DEVICE UNAVAILABLE
- RJ ECT EDIT CATALOGS
- RJ EDD EDIT DIRECT ACCESS FILES IN FAMILY
- MSI14 SA5 PARC+PMEQ
- SYSTEM IMS,R,X5,IND INITIALIZE PERMANENT FILES
- MSI14.1 RJ ISF INITIALIZE SPECIAL FILES
- SA1 FLAI
- SX1 X1-TFLA
- ZR X1,CLEAR IF NO FLAWS
- SA1 TFLA
- BX2 X5
- LX2 59-35
- BX7 X2+X1 SET EQ NUMBER IN FLAW TABLE
- SA7 A1 RESET TABLE WITH EQ NUMBER ADDED
- SYSTEM IMS,R,TFLA,SFL SET FLAWS
- * CHECK FOR MORE DEVICES TO BE INITIALIZED.
- CLEAR BSS 0 CLEAR INITIALIZE REQUEST
- SA5 PARC+PMEQ
- SA4 CLOV CHECK OVERRIDE ON THIS EQUIPMENT
- SA2 PKL-1
- SA1 ESTF+X5
- SA1 X1+STLL
- SX6 B1
- PL X4,MSI15 IF OVERRIDE NOT SET
- IX6 X5+X4 CHECK EQUIPMENT
- MSI15 MX3 60-LIRP CLEAR CURRENT INITIALIZE REQUESTS
- BX1 -X3*X1
- MX3 48-LIMF
- LX3 48
- BX7 -X3*X1
- SA7 A1
- SA1 CLF CHECK FOR CLEAR OPERATION
- ZR X1,MSI16 IF NOT *CLEAR*
- ZR X6,MSI16 IF OVERRIDE SET FOR THIS EST ORDINAL
- RJ EDF SEPARATE THE FAMILY FROM OTHER DEVICES
- RJ CMS CHECK MASKS
- MI X7,MSI PROCESS NEW DATA AS A RERUN
- SA2 PKL-1
- SA5 PARC+PMEQ
- MSI16 ZR X5,MSI17 IF EST ORDINAL ZERO
- SB5 X5 SAVE EST ORDINAL
- SYSTEM IMS,R,X5,CIN CLEAR CURRENT INITIALIZE REQUEST
- SA2 A2+B1
- SX5 X2
- NZ X5,MSI16 IF LINKED PACKS CLEAR THEIR INITIALIZE
- REQUESTS.
- SA1 ESTF+B5 CHECK *ISD* INTERLOCK
- LX1 59-58
- PL X1,MSI17 IF NO INTERLOCK SET
- MSI16.1 SA2 PARC+PMEQ
- BX6 X2
- LX6 48
- SA6 CIRB
- SYSTEM IMS,R,CIRB,ISD CLEAR DEVICE INTERLOCK
- SA1 CIRB
- PL X1,MSI16.1 IF INTERLOCK NOT CLEAR
- MSI17 RJ CDS CLEAR THE DISPLAY
- EQ MSI1 LOOP FOR MORE EQUIPMENTS
- TITLE AUXILIARY PROCESSORS.
- RERUN SPACE 4,10
- ** RERUN - RERUN *MSI*.
- RERUN RJ CDS CLEAR DISPLAY
- SA1 RERNA LOAD RERUN ADDRESS
- SB2 X1
- JP B2 RERUN THE SELECTED OPTION
- RERNA VFD 42/0,18/MSI2
- TKL SPACE 4,10
- ** TKL - TRACK LIMIT PROCESSING.
- TKL SA1 PARC+PMEQ SET EST ORDINAL IN TRACK LIMIT MESSAGE
- RJ COD
- SA4 ERROR26
- MX7 -18
- LX6 48-18
- LX7 48-18
- BX6 -X7*X6
- BX7 X7*X4
- BX6 X6+X7
- SA6 A4
- ERROR 26 *EQXXX, TRACK LIMIT.*
- EQ MSI6 STOP PROCESSING
- SPACE 4
- *** FLAW - ENTER DEVICE FLAWS.
- FLAW SX6 FLAW SET RERUN ADDRESS
- SA6 RERNA
- SB1 1
- SX6 B1+ SET FLAW FLAG
- SA6 FLFG
- RJ PRS
- MX6 60 SET OVERRIDE CONTROL
- SA6 CLOV
- SETRNR NOROLL PREVENT JOB ROLLOUT
- SA5 LRDS SET UP DISPLAY CONTROL WORD
- BX7 X5
- SA7 KDCW
- SA5 BLK CLEAR PAGE 2 OF 2 COMMENT
- BX7 X5
- SA7 LNDS+3
- SA5 FLAA
- BX7 X5
- SA7 LNDS+4
- SA5 FLAB
- BX7 X5
- SA7 L
- SA7 R
- RJ REQ REQUEST EQUIPMENT
- SA1 PARC+PMEQ
- BX6 -X1
- SA6 CLOV SET OVERRIDE CONTROL FOR THIS EQUIPMENT
- RJ COD
- SX6 B1 ALLOW FLAW ENTRIES TO NOW BE MADE
- SA6 CFEB
- BX6 X4
- SA6 INDS+1 SET EST ORDINAL
- KEYMES ENFLS *ENTER FLAWS.*
- RJ PKI PROCESS KEYBOARD
- SA1 PARC+PMEQ
- SA2 TFLA
- LX1 59-35
- BX7 X1+X2 SET EQ NUMBER IN TABLE
- SA7 TFLA
- SYSTEM IMS,R,A7,SFL
- ENDRUN
- FLAA DATA 1L
- FLAB VFD 18/0,18/KDTA,24/0 DISPLAY CONTROL WORD
- FLAI CON TFLA
- SPACE 4,10
- ** FLAW TABLE FOR *IMS* CALL.
- *
- *T WORD1 12/ TYPE, 12/ 0, 12/ EQ, 12/ 0, 12/ TRACK
- *T,WORD2-N 12/ TYPE, 12/ 0, 12/ 0, 12/ 0, 12/ TRACK
- *
- * EQ = EST ORDINAL
- * TYPE = 0 - END TABLE
- * 1 - SET FLAW
- * 2 - CLEAR FLAW
- * TRACK = LOGICAL TRACK TO FLAW
- TFLA BSSZ PNFE FLAW TABLE
- TITLE MAJOR PROCESSORS.
- REQ SPACE 4,10
- ** REQ - REQUEST EST ORDINAL.
- *
- * EXIT (PARC+PMEQ) = EST ORDINAL.
- *
- * USES X - 1, 2, 4, 5, 6, 7.
- * A - 1, 2, 4, 5, 6, 7.
- *
- * CALLS PKI, COD.
- *
- * MACROS ERROR, KEYMES.
- REQ3 SA1 X4+ESTF
- SA1 X1+STLL
- MX2 1
- MI X1,REQ2 IF FORMAT PENDING
- LX2 LIAL-59
- BX7 X1+X2 SET INITIALIZE REQUEST IN MST IMAGE
- LX2 LIRP-LIAL
- BX7 X7+X2
- SA7 A1
- REQ SUBR ENTRY/EXIT
- SX6 ENEQ
- SA6 ARGP
- KEYMES REQEQ *ENTER EST ORDINAL.*
- REQ1 SX7 B1+
- SA7 CNT
- RJ PKI REQUEST EQUIPMENT
- SA4 PARC+PMEQ
- R= X5,ESTE
- IX5 X4*X5
- SA5 ESTB+X5+EQDE GET EST ENTRY
- MI X5,REQ3 IF EQ IS MASS STORAGE DEVICE
- ERROR 5 *EQ OR DN INCORRECT.*
- EQ REQ1 SEND ERROR MESSAGE AND WAIT ON CORRECTION
- REQ2 BX1 X4
- RJ COD
- MX7 -18 SET EST ORDINAL IN FORMAT PENDING MESSAGE
- LX6 30
- SA4 ERROR21
- LX7 30
- BX6 -X7*X6
- BX7 X7*X4
- BX6 X6+X7
- SA6 A4
- ERROR 21 *EQXXX, FORMAT PENDING.*
- EQ REQ1 WAIT ON NEW INPUT
- DSP SPACE 4,10
- ** DSP - DISPLAY EST ORDINALS.
- *
- * USES X - 1, 2, 3, 4, 5, 7.
- * A - 1, 2, 7.
- * B - 2, 3, 4, 5, 6, 7.
- *
- * MACROS CLEAR.
- DSP SUBR ENTRY/EXIT
- SB4 OPDS+1
- SA1 BLK CLEAR THE EQUIPMENT LIST
- BX7 X1
- CLEAR B4,4,X7
- CLEAR INDSA+1,4,X7
- SB2 B0
- SB5 B0
- MX4 -3
- SB7 B0
- DSP1 SA1 ESTF+B2
- SB2 B2+B1
- SB3 B2-ESMX
- ZR B3,DSPX IF END OF EQUIPMENTS
- ZR X1,DSP1 IF EMPTY LINK
- SA2 X1+STLL
- MI X2,DSP1 IF FORMAT PENDING
- LX2 59-LIRP
- SX3 B2-B1
- PL X2,DSP1 IF NO INITIALIZE REQUESTS
- SB5 B5+B1
- BX5 -X4*X3
- AX3 3
- BX7 -X4*X3
- LX7 6
- BX3 X4*X3
- LX3 9
- IX7 X3+X7
- SA3 DSPA
- IX7 X7+X5
- IX7 X7+X3
- SA1 B4+B7 MERGE EQUIPMENT IN DISPLAY
- LX7 42
- EQ B5,B1,DSP2 IF FIRST EQUIPMENT IN WORD
- LX7 -30
- SB5 B0
- SX2 B7-3
- SB7 B7+B1 NEXT WORD
- NZ X2,DSP2 IF NOT OVERFLOW TO SECOND LINE
- SB6 INDSA+1
- EQ B4,B6,DSPX IF OVERFLOW SECOND LINE
- SB4 B6
- SB7 B0
- DSP2 IX7 X7+X1 SET EST ORDINAL IN MESSAGE
- SA7 A1
- EQ DSP1 LOOP
- DSPA CON 3R000-3R
- CPY SPACE 4,10
- ** CPY - COPY MST PARAMETERS TO DISPLAY BLOCK.
- *
- * USES ALL REGISTERS.
- *
- * CALLS PKI, COD.
- *
- * MACROS KEYMES.
- CPY SUBR ENTRY/EXIT
- SA1 DSI
- SA5 PARC+PMEQ
- MX7 1
- SA7 FLAG FLAG NO PARAMETER INPUT NEEDED
- SA4 ESTF+X5 ADDRESS OF MST
- MI X1,CPY6 IF DEADSTART INITIALIZE
- SA1 X4+PUGL
- MX6 42
- BX1 X6*X1
- BX6 X4
- SA6 TEMP SAVE THE MST POINTER
- MX7 1
- ZR X1,CPY2 IF NOT PRIVATE PACK
- SA7 PVT SET PRIVATE PACK FLAG
- CPY1 KEYMES ENOUN *ENTER OLD USER NAME.*
- SX7 01
- SA7 CNT
- RJ PKI PROCESS KEYBOARD INPUT
- SA4 TEMP
- SA2 PARC+PMUN
- SA3 X4+PUGL
- BX1 X2-X3
- AX1 18
- NZ X1,CPY1 IF USER NAMES DO NOT MATCH
- CPY2 SA1 X4+MDGL
- LX1 59-58
- PL X1,CPY4 IF NOT AN AUXILIARY DEVICE
- CPY3 KEYMES ENOPN *ENTER OLD PACK NAME.*
- SX7 1
- SA7 CNT
- RJ PKI PROCESS KEYBOARD
- SA4 TEMP
- SA2 PARC+PMFN
- SA3 X4+PFGL
- BX1 X2-X3
- AX1 18
- NZ X1,CPY3 IF PACKNAMES DO NOT MATCH
- EQ CPY6 GO TO NEXT PARAMETER
- CPY4 SA1 X4+PFGL
- MX0 42
- BX1 X0*X1
- ZR X1,CPY6 IF NO FAMILY NAME
- CPY5 KEYMES ENOFN *ENTER OLD FAMILY NAME.*
- SX7 1
- SA7 CNT
- RJ PKI PROCESS KEYBOARD INPUT
- SA4 TEMP
- SA2 PARC+PMFN
- SA3 X4+PFGL
- MX0 42
- BX1 X2-X3
- BX1 X0*X1 TEST FAMILY NAME
- NZ X1,CPY5 IF FN DO NOT MATCH
- CPY6 SB5 X4 SET MST POINTER
- RJ PTY PROCESS TYPE
- MX0 -18
- SA1 PARC+PMEQ
- SX1 X1+1000B ENSURE LEADING ZEROES
- RJ COD
- SA2 =7L
- BX6 -X0*X6
- BX6 X6+X2
- LX6 -18
- SA6 EQDS+1 SET EST ORDINAL
- SA1 B5+ALGL
- MX6 -12
- LX1 59-11
- BX1 -X6*X1
- RJ COD CONVERT NUMBER OF CATALOG TRACKS
- BX6 X4
- SA6 NCDS+1
- RJ SAL SET ACCESS LEVEL DEFAULTS
- SA4 B5+DDLL GET PACK COUNT
- MX6 -3
- LX4 12
- BX1 -X6*X4
- SX1 X1+B1 ADJUST COUNT
- RJ DTY CHECK FOR PACK TYPE DEVICE
- PL X3,CPY7 IF NOT PACK DEVICE
- BX6 X1
- SA6 PARC+PMNP SET PACK COUNT IN PARM LIST
- + RJ COD CONVERT NUMBER OF PACKS
- BX6 X4
- SA6 NPDS+1
- CPY7 SA1 B5+MDGL
- SA2 DSI
- LX1 59-58
- MI X1,CPY9 IF AUXILIARY PACK
- SX7 B5
- SA7 TEMP
- SA3 B5+PFGL
- MX6 -6
- LX3 59-11
- BX6 -X6*X3
- BX7 X7-X7
- SA6 PARC+PMDN SET DEVICE NUMBER IN PARAMETER BLOCK
- MI X2,CPY9 IF DEADSTART INITIALIZE
- ZR X6,CPY10 IF DN EQUALS ZERO
- SA7 A6+ CLEAR THE DEVICE NUMBER
- CPY8 KEYMES ENODN *ENTER OLD DEVICE NUMBER.*
- SX7 1
- SA7 CNT
- RJ PKI PROCESS KEYBOARD
- SA4 TEMP
- SA2 PARC+PMDN
- SA3 X4+PFGL
- MX6 -6
- LX3 59-11
- BX1 -X6*X3 MASK OFF OLD DN
- BX1 X1-X2
- NZ X1,CPY8 IF DEVICE NUMBERS DO NOT MATCH
- SB5 X4 SAVE MST ADDRESS
- EQ CPY10 CLEAR *ID* AND *NC*
- CPY9 SA1 B5+PFGL
- MX6 -6
- LX1 59-11
- BX1 -X6*X1
- RJ COD CONVERT DEVICE NUMBER
- BX6 X4
- SA6 DNDS+1
- CPY10 BX7 X7-X7
- SA7 PARC+PMID ID
- SA7 A7+B1
- SA7 PARC+PMNC NC
- EQ CPYX RETURN
- PPM SPACE 4,10
- ** PPM - PROCESS PARAMETERS.
- *
- * EXIT (X7) = ZERO IF MORE PARAMETERS NEEDED.
- * (B5) = MST POINTER.
- *
- * USES ALL REGISTERS.
- *
- * CALLS CPN, DTY, MTW, PTY, VLC.
- *
- * MACROS ERROR, KEYMES.
- PPM SUBR ENTRY/EXIT
- SB4 PARC
- SB6 B0
- SB3 PMEQ
- SA1 PARC+PMEQ
- SA1 X1+ESTF
- SB5 X1 MST POINTER
- PPM1 SA5 B4+B6 CHECK PARAMETER LIST
- NZ X5,PPM2 IF PARAMETER ENTERED
- SB6 B6+B1
- NE B3,B6,PPM1 IF NOT END OF PARAMETERS
- KEYMES REQPM *ENTER PARAMETERS.*
- SA1 FLAG
- BX7 X1
- EQ PPMX EXIT PARAMETER ENTRY NEEDED
- PPM2 RJ CMC CHECK MODE CHANGE
- ZR X7,PPM23 IF NO FULL TRACK ACCESS
- SA1 PARC+PMDM PROCESS MASKS
- SA2 PARC+PMSM
- SA3 B5+PUGL
- MX0 -16
- LX2 8
- BX3 X0*X3 CLEAR OLD MASKS
- BX6 X1+X2
- BX6 X6+X3
- SA6 A3
- RJ PTY PROCESS TYPE
- PPM3 SA1 PVT
- SA2 PARC+PMFN
- MX7 42
- BX3 X2
- SA4 PARC+PMUN
- MI X1,PPM5 IF PRIVATE PACK (PVT SET)
- NZ X4,PPM5 IF PRIVATE PACK (UN DEFINED)
- ZR X2,PPM10 IF NO FAMILY NAME DEFINED
- * PROCESS FAMILY NAME.
- SA1 B5+PFGL
- BX6 -X7*X1
- BX6 X2+X6
- SA6 A1
- BX6 X6-X6
- SA6 PVT CLEAR PRIVATE PACK FLAG
- EQ PPM10 GO TO NEXT PARAMETER
- * PROCESS PACK NAME AND USER NAME.
- PPM5 SA5 B5+MDGL
- SA1 B5+PFGL
- SA2 B5+PUGL
- BX6 X5
- MX5 42
- BX0 -X5*X1
- LX6 59-58
- BX1 X5*X1 OLD PACK NAME
- BX7 -X5*X2
- ZR X4,PPM7 IF NO NEW UN USE OLD ONE
- SA5 NULL
- BX5 X5-X4 TEST FOR *NULL*
- NZ X5,PPM6 IF NOT NULL
- MX6 0 CLEAR PVT
- SA7 B5+PUGL
- SA6 PVT
- SA6 PARC+PMUN
- EQ PPM3 LOOP
- PPM6 PL X6,PPM21 IF NOT AUXILIARY DEVICE
- MX6 1
- BX7 X7+X4 SET NEW USER NAME
- SA6 PVT
- SA7 A2 UPDATE MST
- LX6 1
- SA6 PARC+PMNC FORCE NC TO 1
- EQ PPM8 CONTINUE
- PPM7 BX7 X5*X2 CHECK FOR OLD UN
- ZR X7,PPM22 IF NO OLD UN
- PPM8 NZ X3,PPM9 IF PACKNAM DEFINED
- NZ X1,PPM10 GO TO NEXT PARAMETER
- ERROR 7 *FN OR PN MUST BE SPECIFIED.*
- MX7 0
- SA7 PVT
- EQ PPMX ERROR EXIT
- PPM9 BX6 X3+X0 SET NEW PACK NAME
- SA6 A1
- PPM10 RJ CPN CHECK FOR DUPLICATE PACK NAME
- ZR X7,PPMX IF ERROR
- * PROCESS NUMBER OF CATALOG TRACKS.
- SA4 B5+ALGL
- MX0 -12
- LX4 -12
- SA3 B5+PUGL
- MX1 -8
- BX3 -X1*X3
- BX6 X0*X4
- LX6 12
- ZR X3,PPM13 IF NO MASK SET - NO CATALOGS NEEDED
- SA3 PARC+PMNC
- SA5 PARC+PMEQ
- NZ X3,PPM11 IF NC SPECIFIED
- BX3 -X0*X4 DEFAULT COUNT FROM MST
- PPM11 NZ X3,PPM12 IF NOT USING EQUIPMENT DEFAULT
- RJ DTY GET DEFAULT FOR DEVICE
- PPM12 BX1 -X0*X3 VALIDATE NC
- CX6 X1
- SB4 X1-201B
- BX4 X0*X4 CLEAR OLD COUNT
- SB6 X6
- PL B4,PPM20 IF NC TOO LARGE
- BX6 X4+X1 SET NEW COUNT
- NE B6,B1,PPM19 IF NC NOT POWER OF 2
- LX6 12
- * PROCESS NUMBER OF PACKS.
- PPM13 SA6 A4
- SA1 PARC+PMNP
- ZR X1,PPM14 IF NUMBER OF PACKS NOT SPECIFIED
- SA2 B5+DDLL
- MX7 -57
- MX0 -3
- SX1 X1-1
- BX6 X0*X1
- LX7 -9
- BX7 -X7*X2 CLEAR CURRENT UNIT COUNT
- NZ X6,PPM18 IF NP .GT. 7
- LX1 -12 POSITION PACK COUNT
- BX7 X7+X1
- LX1 12
- SA7 A2
- RJ DTY
- AX3 59
- BX3 -X3*X1
- NZ X3,PPM17 IF NOT PACK TYPE DEVICE AND NP .NE. 1
- RJ ALP ALLOCATE PACKS
- BX7 X7-X7
- MX0 -3
- PL X5,PPMX IF UNABLE TO ALLOCATE PACKS
- PPM14 SA2 PARC+PMEQ RESTORE EST POINTER
- SA2 X2+ESTF
- SA1 X2+DDLL GET NUMBER OF PACKS
- SB5 X2
- LX1 12
- SA2 B5+MDGL SET SECTOR LIMITS
- BX1 -X0*X1
- BX5 X1 SAVE PACK COUNT
- SX1 X1+B1
- MX0 -11
- BX2 X0*X2
- LX2 -36
- BX6 -X0*X2
- LX2 36
- IX6 X1*X6
- BX6 X2+X6
- SA6 A2
- * PROCESS DEVICE NUMBER.
- SA1 PARC+PMDN
- SA2 B5+PFGL
- SA3 B5+MDGL
- MX0 -6
- BX2 X0*X2 CLEAR OLD N/M
- BX2 X2+X5 SET NEW N/M
- BX4 X0*X1
- LX0 59-47
- LX3 59-58
- LX1 12
- AX3 59
- MX7 1
- NZ X1,PPM15 IF DN SPECIFIED
- BX1 -X0*X2
- NZ X1,PPM15 IF OLD DN SET
- SX1 10000B SET DEFAULT TO *1*
- PPM15 NZ X4,PPM16 IF *DN* TOO LARGE
- BX2 X0*X2 CLEAR OLD DN
- BX1 -X3*X1 CLEAR DN FOR AUXILIARY DEVICE
- BX6 X2+X1 ADD IN NEW DN
- SA6 A2 UPDATE PFGL
- * PROCESS DEVICE ACCESS LEVEL LIMITS. VERIFY THAT ACCESS
- * LEVEL VALUES ENTERED ARE VALID ENTRIES. WHEN RUNNING IN
- * UNSECURED MODE, NO VALIDATION AGAINST THE EQUIPMENT-S
- * DEFAULT LIMITS (IN THE EST) IS MADE, SINCE THESE DEFAULT
- * VALUES WILL ALWAYS BE ZERO.
- SA1 PARC+PMUA DETERMINE IF KNOWN UPPER LEVEL ENTERED
- SB2 B0
- RJ VLC VERIFY UPPER ACCESS LEVEL
- NG X2,PPM27 IF UNKNOWN VALUE ENTERED
- SB4 X2 STORE VALUE
- SA1 PARC+PMLA DETERMINE IF KNOWN LOWER LEVEL ENTERED
- RJ VLC VERIFY LOWER ACCESS LEVEL
- NG X2,PPM27 IF UNKNOWN VALUE ENTERED
- SB3 X2+ STORE VALUE
- SA1 SSFL
- GT B3,B4,PPM26 IF LA .GT. UA
- ZR X1,PPM15.1 IF UNSECURED SYSTEM
- SA1 PARC+PMEQ GET DEFAULT LIMITS FROM EST
- R= X4,ESTE
- IX4 X1*X4
- SA4 ESTB+1+X4
- LX4 -12 GET UPPER LIMIT
- MX0 -3
- BX2 -X0*X4
- SB7 X2 (B7) = UPPER LIMIT
- LX4 -3 GET LOWER LIMIT
- BX2 -X0*X4
- SB6 X2+ (B6) = UPPER LIMIT
- GT B4,B7,PPM24 IF VALUE SPECIFIED .GT. LIMIT
- LT B3,B6,PPM25 IF VALUE SPECIFIED .LT. LOWER LIMIT
- PPM15.1 SA1 B5+PFGL SET VALUES INTO MST
- MX0 -6
- LX0 6
- BX2 X0*X1
- SX3 B3 POSITION LOWER LEVEL
- LX3 9
- SX4 B4 POSITION UPPER LEVEL
- LX4 6
- BX3 X3+X4 SET INTO *PFGL*
- BX6 X2+X3
- SA6 A1
- EQ PPMX RETURN
- PPM16 ERROR 5 *EQ OR DN INCORRECT.*
- MX7 0
- EQ PPMX RETURN
- PPM17 ERROR 16 *NP NOT ALLOWED.*
- MX7 0
- EQ PPMX RETURN
- PPM18 ERROR 8 *NP GREATER THAN 8.*
- MX7 0
- EQ PPMX RETURN
- PPM19 ERROR 2 *NC IS NOT A POWER OF 2.*
- MX7 0
- EQ PPMX RETURN
- PPM20 ERROR 10 *NC EXCEEDS 200B.*
- MX7 0
- EQ PPMX RETURN
- PPM21 ERROR 12 *NOT AUXILIARY PACK.*
- MX7 0
- EQ PPMX RETURN
- PPM22 ERROR 1 *UN MUST BE SPECIFIED.*
- MX7 0
- SA7 PVT
- EQ PPMX RETURN
- PPM23 ERROR 23 * EQXXX, NO FULL TRACK ACCESS.*
- BX7 X7-X7
- EQ PPMX RETURN
- PPM24 ERROR 27 *UA NOT WITHIN LIMIT.*
- MX7 0
- EQ PPMX RETURN
- PPM25 ERROR 28 *LA NOT WITHIN LIMIT.*
- MX7 0
- EQ PPMX RETURN
- PPM26 ERROR 29 *LA GREATER THAN UA.*
- MX7 0
- EQ PPMX RETURN
- PPM27 ERROR 30 *UNKNOWN ACCESS LEVEL NAME.*
- MX7 0
- EQ PPMX RETURN
- NULL DATA 4LNULL
- CPN SPACE 4,10
- ** CPN - CHECK PACKNAMES.
- *
- * ENTRY (B5) = MST POINTER OF CURRENT EQUIPMENT.
- *
- * EXIT (X7) = 0 IF DUPLICATES OCCURED.
- *
- * USES X - 1, 2, 3,4, 5, 6, 7.
- * A - 1, 2, 3, 4, 5, 7.
- * B - 7.
- *
- * MACROS ERROR.
- CPN SUBR ENTRY/EXIT
- SA1 B5+MDGL
- SA2 ESTF-1
- SA4 B5+PFGL
- LX1 59-58
- BX7 X1
- SA7 CPNB
- MX7 42
- BX4 X7*X4 CURRENT PACKNAME
- CPN1 SA2 A2+B1
- SB7 A2-ESTF-ESMX-1
- ZR B7,CPNX IF END OF EQUIPMENTS
- ZR X2,CPN1 IF EMPTY LINK
- SA3 X2+PFGL
- BX1 X3-X4 TEST NAME
- SX6 B5
- BX1 X7*X1
- IX6 X2-X6
- NZ X1,CPN1 IF NO MATCH
- ZR X6,CPN1 IF CURRENT EQUIPMENT
- SA5 X2+MDGL
- LX5 59-58
- SA1 CPNB
- NG X1,CPN2 IF CURRENT DEVICE IS AUXILIARY
- PL X5,CPN1 IF PART OF SAME FAMILY
- CPN2 AX3 3
- SA1 CPNA
- MX6 -3
- SA5 X2+STLL
- BX6 -X6*X3
- BX5 X1*X5 CHECK ERROR STATUS AND INITIALIZE
- NZ X6,CPN1 IF NOT 1 OF M PACKS
- NZ X5,CPN1 IF ERROR STATUS OR INITIALIZE
- ERROR 9 *DUPLICATE PN.*
- MX7 0
- EQ CPNX ERROR EXIT
- CPNA VFD 12/3600B,12/77B,36/0 INITIALIZE/STATUS MASK
- CPNB CON 0 STATUS OF CURRENT DEVICE
- ALP SPACE 4,10
- ** ALP - ALLOCATE PACKS.
- *
- * ENTRY (X1) = NUMBER OF UNITS-1 TO ALLOCATE.
- *
- * EXIT (X5) .LT. 0 IF ABLE TO ALLOCATE.
- * TO *ABT* IF ACTIVE FILES ON LINKED EQUIPMENT.
- *
- * USES X - ALL.
- * A - 1, 2, 3, 4, 5, 6, 7.
- * B - 2.
- *
- * CALLS ALD, COD.
- *
- * MARCOS ERROR, MESSAGE.
- ALP6 MX6 1 SET PACK ALLOCATED FLAG
- BX7 X7-X7 SET END OF PACK EQUIPMENT LIST
- SA6 A5
- SA7 B2
- ALP SUBR ENTRY/EXIT
- SB2 PKL PACK EQUIPMENT LIST ADDRESS
- SA5 PALF PACK ALLOCATION FLAG
- NG X5,ALPX IF ALREADY ALLOCATED
- SA2 PARC+PMEQ FIRST EQUIPMENT OF PACK
- SA4 ESTF+X2 MST ADDRESS
- R= X3,ESTE
- IX3 X2*X3
- SA3 ESTB+X3+EQDE GET EST ENTRY
- SA4 X4+DDLL
- MX0 -3
- LX3 59-55
- AX4 51
- BX6 -X0*X4 SET ORIGINAL UNIT COUNT
- SX7 X6+B1
- IX5 X1-X7 UNIT COUNT-1 REMAINING TO ALLOCATE
- NG X5,ALP6 IF NO MORE UNITS TO ALLOCATE
- PL X3,ALP1 IF NOT *LDAM* DEVICE
- RJ ALD ALLOCATE *LDAM* DEVICE
- PL X5,ALP4 IF DEVICE NOT ALLOCATED
- EQ ALP6 RETURN
- ALP1 SA3 A3+ GET EST ENTRY
- SA1 ALPA STATUS MASK
- BX2 X1*X3 DESIRED EQUIPMENT STATUS
- LX3 59-56
- PL X3,ALP3 IF DEVICE NOT REMOVABLE
- ALP2 SA4 ESTF+X2 READ *STLL* WORD OF MST
- SA4 X4+STLL
- AX4 3 POSITION EST LINK
- MX6 -9
- BX6 -X6*X4
- LX7 39
- ZR X6,ALP4 IF END OF CHAINABLE DEVICE
- SA6 ALPB
- R= X3,ESTE
- IX3 X4*X3
- SA3 ESTB+X3+EQDE GET EST ENTRY
- BX6 X2-X3
- SA4 ESTF+X4 MST ADDRESS
- BX3 X1*X6
- NZ X3,ALP4 IF STATUS NOT CORRECT
- SA3 ALPB GET EST ORDINAL
- BX6 X7+X3
- SA6 B2 PUT IN PACK EQUIPMENT LIST
- MX6 1
- BX6 X6+X4
- SA6 A4 FLAG EQUIPMENT AS LINKED DEVICE
- MX6 -12
- SA3 X4+DDLL
- SA4 X4+STLL
- LX4 -12
- BX6 -X6*X4
- NZ X6,ALP5 IF ACTIVE USERS
- AX3 51
- BX7 -X0*X3 SET ORIGINAL UNIT COUNT
- SB2 B2+1 ADVANCE PACK EQUIPMENT LIST ADDRESS
- SX7 X7+B1
- IX5 X5-X7 UNIT COUNT - 1 REMAINING TO ALLOCATE
- NG X5,ALP6 IF NO MORE UNITS TO ALLOCATE
- EQ ALP2 PROCESS NEXT EQUIPMENT
- ALP3 ERROR 15 *DEVICE NOT REMOVABLE.*
- BX5 X5-X5
- EQ ALPX ERROR EXIT
- ALP4 ERROR 11 *CANNOT ALLOCATE DEVICE.*
- BX6 X6-X6
- SX5 B0
- SA6 PKL CLEAR PACK EQUIPMENT LIST
- EQ ALPX ERROR EXIT
- ALP5 SA1 ALPB GET EST ORDINAL
- RJ COD CONVERT EST ORDINAL TO DISPLAY CODE
- MX7 -18 SET EST ORDINAL IN ACTIVE FILES MESSAGE
- LX6 30
- SA4 MESA
- LX7 30
- BX6 -X7*X6
- BX7 X7*X4
- BX6 X6+X7
- SA6 A4
- MESSAGE A4 * EQXXX, ACTIVE FILES, CANNOT INITIALIZE.*
- RJ ABT ABORT *MSI*
- ALPA VFD 6/4,6/0,12/0,3/7,9/0,12/7777B,12/0
- ALPB BSS 1 EST ORDINAL
- UMS SPACE 4,10
- ** UMS - UPDATE MASS STORAGE.
- *
- * ENTRY INTERNAL EST,S AND MST,S REFLECT NEW DEVICE PARAMETERS.
- * (PKL) = LIST OF EQUIPMENT MST,S TO BE MODIFIED.
- *
- * EXIT (X1) .NE. 0 IF DUPLICATE DAT ENTRY.
- *
- * USES X - ALL.
- * A - ALL.
- *
- * CALLS COD, PKI, BPT.
- *
- * MACROS ERROR, KEYMES, MESSAGE, SYSTEM.
- UMS11 MESSAGE MESJ *LINK DEVICE CANNOT BE ALTERED.*
- BX1 X1-X1
- UMS SUBR ENTRY/EXIT
- SA1 PARC+PMEQ EQUIPMENT
- SA5 PKL
- RJ BPT BUILD MST UPDATING PARAMETER TABLE
- SA4 LINK
- SA3 DSI
- BX4 X4-X1
- SA1 PKL CHECK FOR LINKED DEVICE
- NG X3,UMS1 IF DEADSTART INITIALIZE
- ZR X4,UMS11 IF LINK DEVICE
- UMS1 NZ X1,UMS2 IF CHAINED DEVICE
- RJ DTY
- SA4 DTYA
- SX5 X4-2RDE
- SX4 X4-2RDP
- MX0 -2
- IX4 X4*X5
- NZ X4,UMS1.1 IF NOT EXTENDED MEMORY DEVICE
- SA4 PARC+PMEQ EXTRACT XM SHIFT
- R= X5,ESTE
- IX5 X4*X5
- SA5 ESTB+X5+EQAE
- LX5 -30
- BX2 -X0*X5
- SB2 X2
- MX0 -11
- SX5 20B
- SA4 TUMS+3 CLEAR OLD SECTOR LIMITS
- LX5 B2
- BX6 X0*X4
- LX0 36
- BX6 X0*X6
- BX6 X6+X5 MERGE NEW SECTOR LIMITS
- LX5 36
- BX6 X6+X5
- SA6 A4
- UMS1.1 SYSTEM IMS,R,TUMS,MMS
- SA1 TUMS+6 CHECK REPLY
- EQ UMSX RETURN
- * IF THE EQUIPMENT IN THE LINK LIST IS AVAILABLE AND HAS
- * A GOOD LABEL, THE PACKNAME AND USER NAME OR FAMILY NAME
- * AND DEVICE NUMBER OR JUST THE FAMILY NAME MUST BE
- * VERIFIED TO INSURE THE CORRECT PACK IS BEING INITIALIZED.
- UMS2 SA2 ESTF+X1
- R= X3,ESTE
- IX3 X1*X3
- SA3 ESTB+X3+EQDE GET EST ENTRY
- SA4 X2+STLL
- MX0 -6
- LX4 24
- LX3 59-54
- BX5 -X0*X4
- SX6 A1
- SA6 TEMP SAVE PKL INDEX
- PL X3,UMS4 IF AVAILABLE
- ZR X5,UMS4 IF NO LABEL ERRORS
- SA3 ELST CHECK LABEL ERROR FOR NONRECOVERABLE TYPE
- UMS3 BX6 X3-X5
- SA3 A3+B1
- ZR X6,UMS9 IF NONRECOVERABLE ERROR
- NZ X3,UMS3 IF NOT END LIST
- UMS4 SA3 X2+PFGL
- SA4 X2+PUGL
- SA5 X2+STLL
- MX0 42
- BX6 X0*X3 PACKNAME OR FAMILY NAME
- LX5 59-LIRP
- BX7 X0*X4 USER NAME
- SX1 X1+
- NG X5,UMS6 IF INITIALIZE SET
- RJ COD CONVERT EST ORDINAL TO DISPLAY CODE
- MX7 -18 SET EST ORDINAL IN ACTIVE FILES MESSAGE
- LX6 30
- SA4 ERROR19
- LX7 30
- BX6 -X7*X6
- BX7 X7*X4
- BX6 X6+X7
- SA6 A4
- UMS5 ERROR 19 * EQXXX, INITIALIZE BIT NOT SET.*
- SX6 7777B
- SX7 HNGP
- SA6 CNT
- SA7 ARGP
- RJ PKI
- EQ UMS5 LOOP
- UMS6 NZ X7,UMS7 IF USER NAME SET
- LX3 -12
- MX0 -6
- BX7 -X0*X3 DEVICE NUMBER
- MX0 -3
- ZR X7,UMS7 IF DEVICE NUMBER EQ ZERO
- BX2 -X0*X7
- AX7 3
- SX2 X2+2R00
- LX7 6
- IX7 X2+X7
- LX7 59-11
- UMS7 SA6 SPN
- SA7 SUN
- SX1 X1 CLEAR PACK COUNT
- MX0 1
- RJ COD CONVERT EQ NUMBER
- LX0 -22
- BX6 X0+X4 ADD TRAILING PERIOD
- SA6 ENID+2
- UMS8 SX7 B1
- SX6 EIDS
- SA6 ARGP
- SA7 CNT
- KEYMES ENID *ENTER IDENTITY OF EQXXX.*
- RJ PKI PROCESS KEYBOARD
- SA1 PARC+PMID
- SA5 PARC+PMID+1
- SA2 SPN
- SA3 SUN
- BX4 X1-X2
- BX5 X5-X3
- NZ X4,UMS8 IF FN OR PN DO NOT MATCH
- ZR X5,UMS9 IF UN OR DN MATCH
- SA1 PARC+PMID+1
- LX3 6
- SX2 1R0
- BX5 X3-X2
- BX1 X5-X1
- NZ X1,UMS8 IF NO MATCH ON DN
- UMS9 SA2 TEMP
- SA1 X2+B1 NEXT ENTRY IN PKL
- NZ X1,UMS2 IF NOT END OF LIST
- SA5 PKL START OF EQUIPMENTS
- * UPDATE MST,S AND LINK EQUIPMENTS.
- UMS10 BX4 X5 SAVE LINKED PACK COUNT
- AX4 36
- SYSTEM IMS,R,TUMS,MMS UPDATE MST
- SA1 TUMS+6 CHECK REPLY
- NZ X1,UMSX IF DUPLICATE DAT ENTRY
- BX1 X5 SET EQUIPMENT
- SA5 A5+B1 READ NEXT EQUIPMENT
- ZR X4,UMSX IF END OF LIST
- R= X2,ESTE
- IX2 X1*X2
- SA2 ESTB+X2+EQDE GET EST ENTRY
- MX0 1
- LX0 54-59
- BX6 X0+X2
- SA6 A2
- SA2 ESTF+X1 SET DEVICE IN USE IN CHAIN
- SA2 X2+STLL
- SA3 TUMS+1 UPDATE N/M
- SX4 X4
- LX0 2-54
- BX6 X2+X0
- IX7 X4+X3 INCREMENT N/M
- SA7 A2-STLL+PFGL
- SA6 A2
- RJ BPT BUILD PARAMETER TABLE
- EQ UMS10 LOOP FOR NEXT ENTRY
- SPN CON 0
- SUN CON 0
- ELST CON STLE LABEL ERROR
- CON STNR NOT READY
- CON 0
- TUMS SPACE 4,15
- ** TUMS - TABLE OF MST UPDATING PARAMETERS.
- *
- *T, TUMS 60/ EST ENTRY
- *T, 60/ PFGL MST WORD
- *T, 60/ PUGL MST WORD
- *T, 60/ MDGL MST WORD
- *T, 12/ NC,12/ EQ,12/ AI,12/ CI,12/ NE
- *T, 12/ NP, 48/ UNIT LIST (*LDAM* DEVICES)
- *T, 60/ REPLY WORD
- * NC NUMBER OF CATALOG TRACKS.
- * EQ EST ORDINAL.
- * AI ALGORITHM INDEX.
- * CI CLEAR IN USE AS CHAINED DEVICE.
- * NE NEXT EQUIPMENT IN LINKED DEVICE.
- TUMS BSSZ 7
- EDF SPACE 4,10
- ** EDF - SEPARATE FAMILY FROM OTHER MASS STORAGE.
- *
- * EXIT (B7) = EST ORDINAL.
- *
- * USES X - ALL.
- * A - 1, 2, 4, 7.
- * B - 2, 3, 7.
- EDF SUBR ENTRY/EXIT
- SA1 PARC+PMEQ
- SB7 X1 SAVE EST ORDINAL
- SA1 ESTF+X1
- SA1 X1+PFGL
- MX0 42
- BX5 X0*X1 FAMILY NAME
- SA1 ESTF-1
- EDF1 SA1 A1+B1
- MX3 42
- MI X1,EDF5 IF LINKED EQUIPMENT
- ZR X1,EDF2 IF EMPTY LINK
- SA4 X1+PFGL
- BX3 X0*X4
- BX3 X3-X5 TEST FAMILY NAME
- BX2 X1
- EDF2 SB3 A1-ESTF-ESMX
- ZR B3,EDFX IF END OF EST
- ZR X3,EDF4 IF MATCH ON FAMILY
- EDF3 MX7 0
- SA7 A1 CLEAR NON FAMILY LINK
- EQ EDF1 LOOP ON SEARCH
- EDF4 SB2 A1-ESTF
- EQ B2,B7,EDF1 IF CURRENT EQUIPMENT
- SX4 B2
- R= X3,ESTE
- IX3 X4*X3
- SA4 X2+STLL
- SA3 ESTB+X3+EQDE GET EST ENTRY
- SA2 X2+MDGL CHECK FOR AUXILIARY DEVICE
- LX4 59-LDIU
- LX3 59-54
- LX2 59-58
- NG X4,EDF3 IF DEVICE IN USE
- MI X2,EDF3 IF AUXILIARY DEVICE CLEAR ENTRY
- PL X3,EDF1 IF EQUIPMENT AVAILABLE LOOP FOR NEXT EQ
- EQ EDF3 IF NOT AVAILABLE CLEAR LINK
- EDF5 SA3 X1+STLL
- MX6 60-LIRP
- BX3 -X6*X3
- MX6 48-LIMF
- LX6 48
- BX6 -X6*X3 CLEAR INITIALIZE REQUEST IN LINKED EQ
- SA6 A3
- EQ EDF3 GO CLEAR LINK
- CMS SPACE 4,10
- ** CMS - CHECK MASK AND DEVICE NUMBER.
- *
- * ENTRY (B7) = EQ NUMBER.
- *
- * EXIT (B6) = DEVICE NUMBER.
- * (B7) = EQ NUMBER.
- * (X7) .LT. 0 IF NEW PARAMETERS TO PROCESS.
- *
- * USES ALL REGISTERS.
- *
- * CALLS PKI.
- *
- * MACROS ERROR.
- CMS11 SA1 PARC+PMEQ SET EQUIPMENT
- BX7 X7-X7
- SB7 X1
- SA1 ESTF+X1 SET DEVICE NUMBER
- SA1 X1+PFGL
- MX0 -6
- AX1 12
- BX1 -X0*X1
- SB6 X1
- CMS SUBR ENTRY/EXIT
- CMS1 SA1 ESTF-1
- MX6 0
- SA5 ESTF+B7
- SA5 X5+PFGL
- MX0 -6
- AX5 12
- BX4 -X0*X5
- SB6 X4 SAVE DN
- CMS2 SA1 A1+B1
- ZR X1,CMS5 IF EMPTY LINK
- MX5 -8
- SA2 X1+PUGL
- BX3 X6*X2
- BX2 -X5*X2
- IX6 X6+X2
- SA2 X1+PFGL
- MX7 60-LIFD
- SA5 X1+STLL CHECK INITIALIZE STATUS
- AX2 12
- BX2 -X0*X2 DEVICE NUMBER
- BX5 X7*X5 EXTRACT FULL INITIALIZE FLAGS
- IX2 X2-X4 CHECK AGAINST CURRENT DEVICE NUMBER
- CX5 X5
- MX7 1 ALLOW *GO* IF FULL INITIALIZE SET
- LX5 59
- BX7 X7-X5
- SA7 CMSA
- ZR X2,CMS8 IF DN MATCH
- CMS3 ZR X3,CMS5 IF NO DUPLICATION OF BITS IN MASK
- SB3 A1-ESTF
- SX7 B3-B7
- NZ X7,CMS4 IF NOT CURRENT DEVICE
- MX7 1
- SA7 CMSA INDICATE *GO* NOT ALLOWED
- CMS4 ERROR 17 *DUPLICATE BITS IN MASK.*
- EQ CMS6 DISPLAY ERROR
- CMS5 SB3 A1-ESTF-ESMX
- NZ B3,CMS2 IF NOT END OF FAMILY
- SX7 377B
- ZR X6,CMSX IF NO MASK BITS SET
- BX6 X7-X6 TEST MASK
- BX7 X7*X6
- ZR X7,CMSX EXIT MASK OK
- * PROCESS MASK OVER FLOW.
- ERROR 3 *FAMILY MASK NOT EQUAL 377.*
- SX7 0
- SA7 CMSA INDICATE *GO* ALLOWED FOR THIS ERROR
- CMS6 MX7 1
- SX6 B1
- SA7 PARC+PMDM CLEAR DEVICE MASK
- SA6 CNT
- SX7 ENMS
- SA7 ARGP
- RJ PKI PROCESS MASK ERROR
- SA1 PARC+PMDM
- SA5 CMSA CHECK IF *GO* ALLOWED
- MX7 1
- PL X1,CMSX IF NOT *GO*
- CMS7 ZR X5,CMS11 IF *GO* ALLOWED
- EQ CMS1 LOOP
- * PROCESS DUPLICATE DEVICE NUMBER.
- CMS8 SB3 A1-ESTF
- EQ B3,B7,CMS3 IF SAME EQUIPMENT
- ERROR 13 *DUPLICATE DN.*
- CMS9 MX7 1
- SA7 PARC+PMDN CLEAR DEVICE NUMBER
- SX6 B1
- SX7 ENDN
- SA6 CNT
- SA7 ARGP
- RJ PKI PROCESS DN ERROR
- SA1 PARC+PMDN
- SA5 CMSA CHECK IF *GO* ALLOWED
- MI X1,CMS7 IF *GO* ENTERED
- NZ X1,CMS10 IF DN NOT ZERO
- ERROR 20 *DN CANNOT BE ZERO.*
- EQ CMS9 PROCESS ERROR
- CMS10 MX7 1
- EQ CMSX GO PROCESS NEW DN
- CMSA CON 0 INDICATOR FOR ALLOWING *GO* ENTRY
- CRE SPACE 4,15
- ** CRE - CHECK REQUIRED ENTRIES.
- *
- * ENTRY (B5) = ADDRESS OF MST FOR EQUIPMENT.
- *
- * EXIT (X6) = 0 IF NEW PARAMETERS TO PROCESS.
- * (B5) = ADDRESS OF MST FOR EQUIPMENT.
- *
- * USES X - 0, 1, 2, 4, 6, 7.
- * A - 1, 2, 4, 6, 7.
- * B - 5.
- *
- * CALLS PKI.
- *
- * MACROS KEYMES.
- CRE SUBR ENTRY/EXIT
- MX0 42
- SA1 B5+PFGL CHECK FAMILY/PACK NAME
- BX6 X0*X1
- NZ X6,CREX IF FAMILY/PACK NAME SPECIFIED
- SX6 B5+ SAVE MST POINTER
- SA6 TEMP
- CRE1 KEYMES ENNFN *ENTER NEW FAMILY/PACK NAME.*
- SX7 B1+
- SA7 CNT
- RJ PKI PROCESS KEYBOARD INPUT
- SA2 PARC+PMFN
- ZR X2,CRE1 IF FAMILY/PACK NAME NOT ENTERED
- SA4 TEMP RESTORE MST POINTER
- SB5 X4
- MX6 0 NEW PARAMETERS TO PROCESS
- EQ CREX RETURN
- EDD SPACE 4,10
- ** EDD - EDIT DEVICE TRTS.
- *
- * ENTRY (B6) = DEVICE NUMBER.
- * (B7) = EST ORDINAL OF INITIALIZED EQUIPMENT.
- *
- * EXIT B6,B7 NOT CHANGED.
- *
- * USES X - 0, 1, 2, 4, 5, 6.
- * A - 1, 2, 4, 6.
- * B - 3, 4.
- *
- * MACROS SYSTEM.
- EDD SUBR ENTRY/EXIT
- SA1 ESTF+B7 SET IMS PARAMETER WORD
- MX0 -8
- SB3 -B1
- SA4 X1+PUGL
- BX0 -X0*X4 EXTRACT DEVICE MASK
- LX0 59-11
- ZR X0,EDDX IF NOT MASTER DEVICE
- SB0 0
- EDD1 SB3 B3+B1
- SB4 ESMX
- SX5 B3
- EQ B3,B4,EDDX IF END OF EQUIPMENTS
- SA1 ESTF+B3
- ZR X1,EDD1 IF NO ENTRY
- EQ B3,B7,EDD1 IF EQUIPMENT BEING INITIALIZED
- LX5 47-11
- SA2 X1+STLL
- MX4 60-LIPF
- BX2 X4*X2
- BX6 X0+X5
- NZ X2,EDD1 IF FULL OR *PF* INITIALIZE SET
- SA6 EDPA
- SYSTEM IMS,R,EDPA,EDT EDIT TRT ON DEVICE
- EQ EDD1 LOOP FOR NEXT EQUIPMENT
- EDPA CON 0 12/MASK, 12/EQ, 36/0
- ECT SPACE 4,10
- ** ECT - EDIT CATALOGS.
- *
- * ENTRY (B6) = DEVICE NUMBER.
- * (B7) = EST ORDINAL.
- *
- * EXIT (B6) (B7) UNCHANGED.
- *
- * USES ALL BUT B6 AND B7
- *
- * CALLS OPC, RDC, SCT, SFF, WTC.
- *
- * MACROS CALLPFU, MESSAGE, RECALL, RETURN, SYSTEM.
- ECT SUBR ENTRY/EXIT
- RETURN CATS,R
- SB5 ESTF-1
- NZ B6,ECT1 IN DEVICE NUMBER .NE. 0
- MESSAGE MESD * INTERNAL ERROR IN MSI.*
- RJ ABT ABORT *MSI*
- ECT1 SB4 B5-ESTF-ESMX+1
- ZR B4,ECTX IF END FAMILY
- SA1 B5+B1
- SB5 B5+B1
- ZR X1,ECT1 IF EMPTY LINK
- SA3 X1+ALGL
- SA5 X1+PUGL
- MX0 -8
- MX2 -12
- SA4 X1+STLL
- LX3 -12
- BX7 -X0*X5 DEVICE MASK
- MX0 60-LIPF
- BX6 -X2*X3 MASK CATALOG TRACK COUNT
- ZR X7,ECT1 IF NOT MASTER DEVICE
- SA6 CNT SAVE CATALOG TRACK COUNT
- BX4 X0*X4
- SA5 X1+PFGL
- NZ X4,ECT1 IF FULL OR *PF* INITIALIZE SET
- RJ OCT OPEN CATALOG
- ECT2 RJ RDC READ CATALOG ENTRIES
- RJ SFF SEARCH FOR FILES AND DELETE
- ZR X6,ECT3 IF NO FILES DELETED
- RJ WTC REWRITE UPDATED CATALOG
- ECT3 PL X7,ECT2 IF NOT END OF CATALOG TRACK
- RJ ACT ADVANCE TO NEXT CATALOG TRACK
- PL X7,ECT2 IF NOT END OF CATALOG TRACKS
- SA1 CATS DROP *PFU*
- SX7 10B
- MX0 42
- BX6 X0*X1
- BX7 X7+X6 SET FUNCTION TO DROP *PFU*
- SA7 A1
- RECALL A1 WAIT FOR PFU TO COMPLETE
- CALLPFU UIFT,CTCU,R CLEAR UTILITY INTERLOCK
- RETURN CATS
- EQ ECT1 LOOP FOR NEXT EQUIPMENT
- ABT SPACE 4,10
- ** ABT - ABORT JOB.
- *
- * USES X - 0, 1, 2, 6, 7.
- * A - 1, 2, 6, 7.
- * B - 3, 5.
- *
- * MACROS ABORT, CALLPFU, MESSAGE, RECALL, ROUTE, SYSTEM.
- ABT SUBR ENTRY
- ABT1 SA1 SSID
- SX1 X1-DSSI
- NZ X1,ABT2 IF NOT DEADSTART SEQUENCING
- MESSAGE MESL
- + EQ * HANG
- ABT2 SYSTEM IMS,R,B1,CIT CLEAR *CMS* INTERLOCK
- SB3 0
- SB5 ESMX
- ABT3 SA2 ESTF+B3 CHECK FOR ISD INTERLOCK
- LX2 59-58
- PL X2,ABT4 IF EQUIPMENT NOT INTERLOCKED
- SX6 B3
- LX6 48 SET EST ORDINAL
- SA6 CIRB
- SYSTEM IMS,R,CIRB,ISD CLEAR DEVICE INTERLOCK
- SA1 CIRB
- PL X1,ABT3 IF INTERLOCK NOT CLEARED
- ABT4 SB3 B3+1
- LT B3,B5,ABT3 IF NOT END OF EQUIPMENTS
- SA2 PFUF
- SA1 CATS CHECK *PFU* ACTIVITY
- SX7 10B
- MX0 42
- ZR X2,ABT5 IF *PFU* NOT ACTIVE
- BX6 X0*X1
- BX7 X7+X6
- SA7 A1
- RECALL A1 WAIT FOR PFU TO COMPLETE
- ABT5 SA1 UIFL
- ZR X1,ABT6 IF UTILITY INTERLOCK NOT SET
- SA1 UIFT
- SX2 B1 FORCE FET COMPLETE
- BX6 X1+X2
- SA6 A1
- CALLPFU A1,CTCU,R CLEAR UTILITY INTERLOCK
- ABT6 MESSAGE MESB * MSI ABORTED INITIALIZE MAY NOT BE
- * COMPLETE.*
- SYSTEM DMD,R,RFL=
- SETFS OUTPUT,0 CHANGE FILE STATUS FOR SSJ= OUTPUT
- ROUTE ABTA,R
- ABORT ABORT *MSI*
- * ROUTE BLOCK FOR MEMORY DUMP.
- ABTA VFD 42/0LOUTPUT,18/0
- VFD 24/0,12/2HLP,6/0,18/FRCS+FRDC
- BSS DPBL-2
- OCT SPACE 4,10
- ** OCT - OPEN CATALOG.
- *
- * ENTRY (B5) = ESTF POINTER.
- * (B6) = DEVICE NUMBER.
- * (B7) = EST ORDINAL.
- * (X5) = *PFGL* WORD OF MST.
- * (X7) = DEVICE MASK.
- *
- * EXIT B5, B6, B7, NOT CHANGED.
- * CATALOG OPENED AND *PFU* ACTIVE.
- * CATS FET NOT BUSY.
- *
- * USES ALL BUT B5, B6, B7.
- *
- * MACROS CALLPFU, RECALL.
- OCT SUBR ENTRY/EXIT
- MX0 -6
- AX5 12
- BX3 -X0*X5
- SB2 X3 SAVE DN OF THIS EQIPMENT
- LX5 12
- SB4 7
- LX7 59-7
- OCT1 MI X7,OCT2 IF MASK BIT SET
- LX7 1
- SB4 B4-B1
- EQ OCT1 FORM USER NAME FOR THIS DEVICE
- OCT2 MX0 42
- SX7 B5-ESTF EQ NUMBER
- SA7 SCRB PF DESCRIPTION (42/0, 6/, 12/ EST ORDINAL)
- SX6 B4 SAVE USER INDEX
- SA6 A7+B1
- SX1 A7 SET ADDRESS OF PF DESCRIPTION
- SX2 A6 SET ADDRESS OF USER INDEX
- LX1 18
- BX7 X1+X2
- SA7 CATS+FTPM
- CALLPFU CATS,CTCT,R GET CATALOG TRACK PARAMETERS
- * OPEN CATALOG FILE.
- SX2 5 FILE STATUS
- SA1 CATS+FTPM GET CATALOG TRACK PARAMETERS
- MX0 -24
- BX1 -X0*X1 SET EST ORDINAL AND FIRST TRACK
- MX0 -12
- BX6 -X0*X1 SET CURRENT TRACK
- LX1 36
- BX2 X2+X1 BUILD CATALOG TRACK FST ENTRY
- LX6 24
- BX7 X2+X6
- SA7 A1
- BX6 X6-X6 CLEAR SECTOR COUNT
- SA6 CATS+FTSC
- CALLPFU CATS,CTOP,R OPEN CATALOG FILE
- * SET UTILITY INTERLOCK ON DEVICE.
- SX7 B5-ESTF SET EQUIPMENT TO INTERLOCK
- SX2 UIFL SET INTERLOCK FLAG ADDRESS
- LX7 48
- BX6 X7+X2
- SA6 UIFT+FTPM
- CALLPFU UIFT,CTSU,R SET PF UTILITY INTERLOCK
- * ACTIVATE PFU LOAD PROCESSOR.
- SA1 CATS CLEAR CATS FET STATUS
- SX7 B2 SET MASTER DEVICE NUMBER
- MX2 42
- SX3 PFUF SET ADDRESS OF PFU ACTIVE FLAG
- LX7 54
- BX6 X7+X3
- SA6 CATS+FTPM
- BX1 X2*X1
- SX2 B1 SET CATS FET COMPLETE
- BX7 X1+X2
- SA7 A1
- * IT IS NECESSARY TO DO A SEPARATE RECALL ON CATS RATHER THAN
- * CALLING THE CTLM PROCESSOR OF PFU WITH AUTO RECALL SINCE PFU
- * STAYS AT THE CONTROL POINT AFTER INITIALIZING THE CTLM
- * PROCESSOR AND SETTING THE FET COMPLETE BUT DOES NOT RESTART
- * THE CPU.
- CALLPFU CATS,CTLM ACTIVATE PFU LOAD PROCESSOR
- RECALL CATS WAIT FOR PFU TO INITIALIZE
- EQ OCTX EXIT
- ACT SPACE 4,10
- ** ACT - ADVANCE CATALOG TRACK.
- *
- * ENTRY (B5) = ESTF POINTER.
- * (B6) = DEVICE NUMBER.
- * (B7) = EST ORDINAL.
- * CATS FET NOT BUSY.
- *
- * EXIT B5,B6,B7 UNCHANGED.
- * (X7) = 0 CATALOG TRACK ADVANCED.
- * (X7) .LT. 0 END OF CATALOG TRACKS.
- * CATS FET NOT BUSY.
- *
- * USES X - 0, 1, 2, 3, 6, 7.
- * A - 1, 2, 6, 7.
- *
- * MACROS RECALL.
- ACT SUBR ENTRY/EXIT
- SA1 CNT
- SX6 X1-1
- SA6 A1
- * ADVANCE TO NEXT CATALOG TRACK
- ACT1 SA2 SCRB+1 18/UI
- SX7 X2+10B
- SA7 A2 18/NEXT UI
- SX0 A7-B1
- SX7 A7
- LX0 18
- BX7 X0+X7 18/SCR,18/SCR+1
- SA1 CATS+1 REWIND BUFFER
- SA2 A1-B1 SET POSITION FUNCTION CODE IN FET
- SA7 CATS+FTCA
- MX3 42
- SX6 X1
- BX7 X7-X7 CLEAR SECTOR COUNTER
- SA6 A1+B1
- SA7 CATS+FTSC
- BX7 X3*X2
- SA6 A6+B1
- SA7 A2 ISSUE FILE POSITION REQUEST
- RECALL A2 WAIT FOR *PFU* TO PROCESS REQUEST
- SA1 CNT CHECK IF END OF CATALOG TRACKS
- MX7 1
- ZR X1,ACTX IF END OF CATALOG TRACKS
- MX7 0
- EQ ACTX RETURN
- RDC SPACE 4,10
- ** RDC - READ CATALOG.
- *
- * ENTRY (B5) = ESTF POINTER.
- * (B6) = DEVICE NUMBER.
- * (B7) = EST ORDINAL.
- *
- * EXIT B5,B6,B7 UNCHANGED.
- * CATALOGS READ INTO CATS BUFFER.
- * CATS FET NOT BUSY.
- *
- * USES X - 0, 1, 2, 3, 6, 7.
- * A - 1, 3, 6, 7.
- *
- * MACROS RECALL.
- RDC SUBR ENTRY/EXIT
- SA1 CATS
- MX0 42
- BX6 X0*X1
- SX2 4 READ FUNCTION
- BX6 X6+X2
- SA3 A1+B1 GET FIRST
- BX7 -X0*X3
- SA7 A3+B1 RESET IN AND OUT
- SA7 A7+B1
- SA6 A1 SET FUNCTION
- RECALL CATS
- MX7 0
- SA7 CATS+FTSC CLEAR SECTOR COUNT
- EQ RDCX RETURN
- SFF SPACE 4,20
- ** SFF - SEARCH FOR FILES.
- *
- * ENTRY (B5) = ESTF POINTER.
- * (B6) = DEVICE NUMBER.
- * (B7) = EST ORDINAL.
- *
- * EXIT B5,B6,B7 UNCHANGED.
- * (X6) = 0 IF CATALOG NOT CHANGED.
- * (X7) .LT. 0 IF EOI ENCOUNTERED.
- * CATALOG ENTRIES (PFC-S) THAT POINT TO FILES ON
- * SPECIFIED DEVICE ARE CHANGED AS FOLLOWS.
- * 1. IF PFC HAS VALID ALTERNATE STORAGE ADDRESS (ASA),
- * THE DISK ADDRESS IS CLEARED.
- * 2. IF THE PFC HAS NO ASA, THEN THE PFC IS DELETED
- * BY CLEARING THE USER INDEX.
- *
- * USES X - 0, 1, 2, 4, 6, 7.
- * A - 1, 2, 4, 7.
- * B - 3, 4.
- SFF SUBR ENTRY/EXIT
- SX7 B0
- SX6 B0
- SA1 CATS+2 IN
- SA2 CATS+1 FIRST
- SX0 177B
- SA2 X2
- BX0 X0*X2 CHECK FOR EMPTY SECTOR
- NZ X0,SFF1 IF NOT EMPTY
- MX7 1
- EQ SFFX EXIT
- SFF1 SB4 CATB+1
- SB3 X0 WORDS IN SECTOR
- MX0 -6
- SX1 B1 SET WRITE WITHOUT EOI FLAG
- LX1 53-0
- BX7 X1+X2
- SA7 A2
- SFF2 SA1 B4+FCEO CHECK DEVICE NUMBER
- SX4 B6
- LX1 59-35
- BX1 -X0*X1 MASK OFF DN
- IX4 X1-X4
- NZ X4,SFF4 IF DN-S DO NOT MATCH
- * CHECK ALTERNATE STORAGE COPIES OF FILE DATA. IF THE FILE
- * DATA RESIDES ON TAPE OR CARTRIDGE ALTERNATE STORAGE, THE
- * DISK ADDRESS AND THE DEVICE NUMBER IN THE CATALOG ENTRY
- * WILL BE CLEARED TO FORCE A RESTAGE OF THE FILE ON THE NEXT
- * *ATTACH*. OTHERWISE, THE CATALOG ENTRY WILL BE DELETED.
- SA1 B4+FCTV
- MX2 -24
- BX7 -X2*X1
- NZ X7,SFF2.1 IF TAPE ALTERNATE STORAGE COPY EXISTS
- SA1 B4+FCAA
- MX2 -36
- BX7 -X2*X1
- ZR X7,SFF3 IF NO CARTRIDGE ALTERNATE STORAGE COPY
- LX1 59-48
- NG X1,SFF3 IF CARTRIDGE COPY OBSOLETE
- SFF2.1 SA2 B4+FCBT CLEAR DISK ADDRESS OF FILE
- MX7 48
- LX7 12
- BX7 X7*X2
- SA7 A2
- SA2 B4+FCDN CLEAR DEVICE NUMBER
- MX7 54
- LX7 36
- BX7 X7*X2
- SA7 A2
- SX6 B1 FORCE CATALOG UPDATE
- EQ SFF4 CHECK NEXT CATALOG ENTRY
- SFF3 SA1 B4+FCUI CLEAR USER INDEX OF FILE
- MX2 42
- BX7 X2*X1 CLEAR USER INDEX
- SA7 A1
- SX6 B1 FORCE CATALOG UPDATE
- * PROCESS NEXT CATALOG ENTRY.
- SFF4 SB4 B4+NWCE
- SB3 B3-NWCE
- NZ B3,SFF2 IF MORE ENTRIES IN THIS SECTOR
- SA1 CATS+2 GET IN
- SA2 CATS+FTSC
- SA4 CATS+4 GET LIMIT
- SB3 B0
- SX7 X2+B1 BUMP SECTOR COUNT
- SX2 B4+B1
- IX2 X1-X2 IN - BUFFER POINTER
- SA7 A2
- IX4 X4-X1 LIMIT - IN
- MI X2,SFFX IF POINTER .EQ. IN
- SA1 B4 READ NEXT CONTROL WORD
- MX2 -24
- SX7 177B
- BX2 -X2*X1
- BX7 X7*X1
- SB4 B4+B1 SET TO NEXT CATALOG ENTRY
- SB3 X7 WORDS IN SECTOR
- MX7 1 SET WRITE WITHOUT EOI FLAG
- LX7 53-59
- BX7 X7+X1
- SA7 A1
- NZ X2,SFF2 IF MORE DATA
- MX7 1 FLAG EOI ENCOUNTERED
- EQ SFFX RETURN
- WTC SPACE 4,10
- ** WTC - WRITE CATALOG BUFFER TO DISK.
- *
- * ENTRY (B5) = ESTF POINTER.
- * (B6) = DEVICE NUMBER.
- * (B7) = EST ORDINAL.
- *
- * EXIT B5,B6,B7 UNCHANGED.
- * CATALOGS WRITTEN FROM CATS BUFFER.
- * CATS FET NOT BUSY.
- *
- * USES X - 0, 1, 2, 6.
- * A - 1, 6.
- *
- * MACROS RECALL.
- WTC SUBR ENTRY/EXIT
- SA1 CATS
- MX0 42
- SX2 2 WRITE FUNCTION
- BX6 X0*X1
- BX6 X6+X2
- SA6 CATS WRITE CATALOG
- RECALL CATS
- EQ WTCX RETURN
- TITLE SUBROUTINES.
- ALD SPACE 4,15
- ** ALD - ALLOCATE *LDAM* DEVICES.
- *
- * ENTRY (A3) = EST ENTRY ADDRESS.
- * (A5) = *PALF* ADDRESS.
- * (X2) = EST ORDINAL.
- * (X5) = UNIT COUNT-1 REMAINING TO ALLOCATE.
- * (X7) = ORIGINAL UNIT COUNT.
- * (B2) = *PKL* INDEX.
- *
- * EXIT (A5) = *PALF* ADDRESS.
- * (B2) = *PKL* INDEX.
- * (X5) = .LT. 0 IF DEVICE ALLOCATED.
- *
- * USES X - ALL.
- * A - 1, 2, 3, 4, 6, 7.
- * B - 2, 3, 4, 5.
- *
- * CALLS AUL.
- ALD SUBR ENTRY/EXIT
- SA3 A3 GET EST ENTRY
- SB3 X2 SAVE EST ORDINAL
- SA1 ALDA GET ALLOCATION MASK
- SB4 X2 SET SEARCH INDEX
- BX0 X1
- BX1 X0*X3 MATCH CRITERIA
- LX3 59-56
- PL X3,ALDX IF DEVICE NOT REMOVABLE
- ALD1 SB4 B4+B1 INCREMENT EST ORDINAL
- SX3 B4
- R= X2,ESTE
- IX2 X3*X2
- SA2 ESTB+X2+EQDE GET EST ENTRY
- SA3 B4+ESTF
- SX4 B4-ESMX
- PL X4,ALDX IF END OF EST ENTRIES
- BX6 X0*X2 CHECK DEVICE FOR MATCH
- BX6 X1-X6
- SA4 X3+STLL
- NZ X6,ALD1 IF NO DEVICE MATCH
- * THE CHANNELS OF THE FIRST DEVICE ARE COMPARED WITH
- * THE CHANNELS OF THE LINK CANDIDATES TO INSURE THAT ALL
- * ITS CHANNELS ARE CONTAINED IN THE LINK DEVICES CHANNELS.
- SB5 B0 INITIALIZE CHANNEL COMPARE
- LX2 24 POSITION CHANNELS (B * * * * * * * A)
- MX3 -12
- BX6 -X3*X2 CHANNEL *A*
- SA6 ALDB
- LX2 12
- BX6 -X3*X2 CHANNEL *B*
- SA6 A6+B1
- SX3 B3
- R= X2,ESTE
- IX3 X3*X2
- SA3 ESTB+X3+EQDE GET EST ENTRY OF FIRST EQUIPMENT
- LX3 24
- SA2 ALDB
- ALD2 MX6 -12 CHECK CHANNEL WITH LIST
- BX6 -X6*X3
- ZR X6,ALD3 IF CHANNEL .EQ. 0
- BX2 X2-X6
- ZR X2,ALD4 IF CHANNELS COMPARE
- SA2 A2+B1
- NZ X2,ALD2 IF MORE CHANNELS TO CHECK
- EQ ALD1 LOOP FOR NEXT EQUIPMENT
- ALD3 NZ B5,ALD4 IF NOT CHANNEL *A*
- NZ X2,ALD1 IF LIST CHANNEL *A* .NE. 0
- ALD4 LX3 12 TEST NEXT CHANNEL
- SB5 B5+B1
- SA2 ALDB
- SX6 B5-2 *** TWO CHANNEL SUPPORT
- NZ X6,ALD2 IF NOT END OF CHANNELS
- MX6 12 CHECK FOR ACTIVE USES
- SX2 B4
- MX3 60-LIFD
- LX6 24
- BX6 X6*X4
- BX3 X3*X4
- NZ X6,ALD1 IF ACTIVE USERS
- ZR X3,ALD1 IF TOTAL INITIALIZE NOT SET
- LX7 39
- LX4 0-3
- BX7 X7+X2 FORM *PKL* ENTRY
- MX6 -3
- SA7 B2
- BX7 -X6*X4
- SB2 B2+B1 INCREMENT *PKL* INDEX
- SX7 X7+B1 ADJUST UNIT COUNT
- IX5 X5-X7
- PL X5,ALD1 IF MORE UNITS TO ALLOCATE
- RJ AUL ASSEMBLE UNIT LIST
- EQ ALDX RETURN
- ALDA VFD 12/5600B *MS*, SHARED, REMOVABLE, *LDAM*
- VFD 24/0
- VFD 12/7777B 0N/OFF AND TYPE
- VFD 12/0
- ALDB BSS 3 CHANNEL LIST FOR DEVICE MATCH
- AUL SPACE 4,10
- ** AUL - ASSEMBLE UNIT LIST.
- *
- * ENTRY (B3) = EST ORDINAL.
- *
- * EXIT *DDLL* LIST BUILT.
- *
- * USES X - 0, 1, 2, 3, 4, 6, 7.
- * A - 1, 2, 3, 4, 7.
- * B - 3, 4, 5, 6, 7.
- AUL3 SA2 B3+ESTF FORM *DDLL*
- MX0 -48
- LX7 B5,X7
- SA1 X2+DDLL
- BX4 -X0*X7
- BX1 X0*X1
- BX7 X1+X4
- SA7 X2+DDLL SET *DDLL* IMAGE IN MST
- AUL SUBR ENTRY/EXIT
- SB4 PKL INITIALIZE INDEX
- SX1 B3
- MX0 -6
- SA4 PARC+PMNP GET UNIT COUNT
- SB5 B0 INITIALIZE SHIFT INDEX
- SB6 X4
- AUL1 SA1 X1+ESTF
- SA3 X1+DDLL
- BX2 X3
- MX6 -3 GET ORIGINAL UNIT COUNT
- LX2 -51
- SB7 6
- BX6 -X6*X2
- AUL2 BX4 -X0*X3 MASK UNIT
- BX7 X0*X7
- BX7 X4+X7 MERGE NEXT UNIT
- SX6 X6-1
- SB6 B6-B1
- LX7 -6
- AX3 6
- SB5 B5+B7
- ZR B6,AUL3 IF END OF ASSEMBLY
- PL X6,AUL2 IF MORE UNITS TO MERGE
- SA1 B4 GET NEXT EQUIPMENT
- SB4 B4+B1
- EQ AUL1 LOOP TO ASSEMBLE NEXT UNIT
- BPT SPACE 4,10
- ** BPT - BUILD MST UPDATING PARAMETER TABLE.
- *
- * ENTRY (X1) = EST ORDINAL.
- * INTERNAL EST AND MST REFLECT NEW PARAMETERS.
- * (X5) = *PKL* LIST ENTRY.
- *
- * EXIT *TUMS* BUILT FOR IMS FUNCTION 6.
- * (X5) = UNCHANGED.
- *
- * USES X - 0, 2, 3, 4, 6, 7.
- * A - 2, 3, 4, 6, 7.
- BPT SUBR ENTRY/EXIT
- SA2 X1+ESTF MST ADDRESS
- R= X3,ESTE
- IX3 X1*X3
- SA3 ESTB+X3+EQDE GET NEW EST ENTRY
- SA4 X2+PFGL GET NEW MST WORDS
- BX6 X3
- LX7 X4
- SA3 X2+PUGL
- SA6 TUMS
- MX0 1 SET 16-WORD PFC FLAG
- SA4 X2+MDGL
- LX0 57-59
- SA7 A6+B1 TUMS + 1
- LX6 X3
- BX7 X0+X4
- SA6 A7+B1 TUMS + 2
- SA7 A6+B1 TUMS + 3
- MX0 -12
- SA3 X2+ALGL CATALOG COUNT
- AX3 12
- BX6 -X0*X3
- SA4 X2+DILL ALGORITHM INDEX
- SA3 X2+STLL
- LX6 12
- MX7 LIHD-LIFD+1
- BX6 X6+X1 NC, EQ
- LX7 LIHD-59
- BX4 -X0*X4
- LX6 12
- BX7 X7*X3
- ZR X7,BPT1 IF NOT CHANGING ALGORITHM INDEX
- BX6 X6+X4 NC, EQ, AI
- BPT1 LX3 59-LDIU
- LX6 24
- LX0 12
- BX6 -X0+X6 NC, EQ, AI, CI
- SA4 X2+DDLL GET NEW DEVICES UNIT LIST
- PL X3,BPT2 IF CLEARING DEVICE IN USE IN CHAIN
- SA4 X2+STLL GET CURRENT UNIT COUNT
- SA3 X2+DDLL GET CURRENT UNIT LIST
- BX6 X0*X6
- MX0 -48
- LX4 59-14
- MX2 3
- BX7 -X0*X3
- LX2 -9
- BX4 X2*X4
- BX4 X4+X7
- BPT2 SX3 X5 SET NEXT EQUIPMENT IN CHAIN
- BX6 X6+X3
- SA6 A7+B1 TUMS+4
- BX7 X4
- MX6 0
- SA7 A6+B1 TUMS+5
- SA6 A7+B1 TUMS+6 = CLEAR REPLY WORD
- EQ BPTX RETURN
- CIR SPACE 4,10
- ** CIR - CHECK INITIALIZATION REQUESTED.
- *
- * EXIT (B6) .LT. 0 IF NO EQUIPMENT FOUND.
- * (B6) = FIRST EQUIPMENT FOUND.
- *
- * USES X - 0, 1, 2, 3, 4, 6, 7.
- * A - 1, 2, 3, 4, 6.
- * B - 4, 5, 6.
- *
- * MACROS SYSTEM.
- CIR SUBR ENTRY/EXIT
- SB3 NOPE INITIALIZE EST ORDINAL FOR SEARCH
- SB6 -B1
- SB5 ESMX
- CIR1 EQ B3,B5,CIRX IF END OF EQUIPMENTS
- SA2 ESTF+B3
- SB3 B3+B1
- ZR X2,CIR1 IF EMPTY LINK
- SX6 B3-B1 EST ORDINAL
- R= X1,ESTE
- IX1 X6*X1
- SA1 ESTB+X1+EQDE GET EST ENTRY
- SA4 X2+STLL
- NG X4,CIR2 IF FORMAT PENDING
- MX3 60-LIPF
- BX7 X3*X4
- LX4 59-LIRP
- PL X4,CIR1 IF NO INITIALIZE REQUESTS PENDING
- BX3 X1
- LX4 LIRP-LUNL
- MI X4,CIR1 IF DEVICE UNLOADED
- LX1 59-57
- BX4 X3
- LX4 59-49
- LX3 59-52
- BX1 X3+X1
- LX6 48
- NG X4,CIR2 IF DEVICE OFF OR DOWN
- PL X1,CIR3 IF NOT SHARED DEVICE
- ZR X7,CIR3 IF NOT GLOBAL INITIALIZE
- SA6 CIRA
- PL X3,CIR1.1 IF NOT AN ISD DEVICE
- SX7 B1
- BX6 X6+X7
- SA6 CIRB
- SYSTEM IMS,R,CIRB,ISD INTERLOCK DEVICE
- SA1 CIRB
- PL X1,CIR2 IF DEVICE NOT INTERLOCKED
- SA2 B3+ESTF-1 SET DEVICE INTERLOCKED FLAG
- MX7 1
- LX7 -1
- BX7 X7+X2
- SA7 A2
- CIR1.1 SYSTEM IMS,R,CIRA,CSD CHECK DEVICE STATUS
- SA1 CIRA CHECK REPLY
- NG X1,CIR3 IF DEVICE UNLOADED IN OTHER MACHINES
- CIR2 SA4 A4 CLEAR INITIALIZE REQUESTS
- MX3 60-LIRP
- BX4 -X3*X4
- MX3 48-LIMF
- LX3 48
- BX6 -X3*X4
- SA6 A4+
- EQ CIR1 LOOP ON SEARCH
- CIR3 PL B6,CIR1 IF EQUIPMENT ALREADY FOUND
- SB6 B3-B1
- SX7 B3-B1 SET EQUIPMENT TO PROCESS
- SX1 B3+1000B-1 ENSURE LEADING ZEROES IN CONVERSION
- MX0 -18
- SA7 PARC+PMEQ
- RJ COD
- SA2 =7L
- BX6 -X0*X6
- SA6 EQ
- BX7 X6+X2
- LX7 -18
- SA7 EQDS+1 SET EST ORDINAL IN K-DISPLAY
- EQ CIR1 LOOP ON SEARCH
- CIRA CON 0 IMS REQUEST/REPLY AREA
- CIRB CON 0 ISD INTERLOCK STATUS
- CMC SPACE 4,10
- ** CMC - CHECK MODE CHANGE.
- *
- * ENTRY (PARC+PMEQ) = EQUIPMENT TO CHECK FOR MODE CHANGE.
- * (B5) = MST ADDRESS OF EQUIPMENT.
- *
- * EXIT (X7) = 0 IF NO FULL TRACK ACCESS WHEN REQUIRED.
- * TO *ABT* IF INTERNAL ERROR DETECTED.
- *
- * USES X - ALL.
- * A - 1, 2, 3, 4, 6, 7.
- * B - 3, 6.
- *
- * CALLS PMC.
- CMC4 SX6 -B3 SET *CLEAR* OVERRIDE
- SA6 CLOV
- MX0 18
- SA4 EQ
- SA1 ERROR23 FORM MESSAGE
- LX0 -12
- BX6 -X0*X1
- LX4 48-18
- BX6 X6+X4
- SA6 A1 *EQXXX, NO FULL TRACK ACCESS.*
- BX7 X7-X7
- CMC SUBR ENTRY/EXIT
- SA4 PARC+PMEQ
- SX7 B1
- SB3 X4
- SA3 B5+STLL
- LX3 59-LIHD
- SB6 B0 INDICATE HALF TRACK
- NG X3,CMC1 IF HALF TRACK MODE
- LX3 LIHD-LIFD
- PL X3,CMCX IF NO MODE CHANGE
- BX3 X3-X3
- CMC1 RJ PMC PROCESS MODE CHANGE
- NG X5,CMC4 IF NO FULL TRACK ACCESS
- SB3 NOPE-1 INITIALIZE EST ORDINAL FOR SEARCH
- CMC2 SB3 B3+B1 ADVANCE EST ORDINAL
- SX7 B1
- SB4 B3-ESMX
- ZR B4,CMCX IF END OF EST
- SA2 B3+ESTF
- SB4 X2
- EQ B4,B5,CMC2 IF CURRENT EQUIPMENT
- SA3 B4+STLL
- LX3 59-LIHD
- SB6 B0 SET HALF TRACK MODE
- NG X3,CMC3 IF HALF TRACK MODE
- LX3 LIHD-LIFD
- PL X3,CMC2 IF NO MODE CHANGE
- BX3 X3-X3
- CMC3 RJ PMC PROCESS MODE CHANGE
- EQ CMC2 LOOP
- DIO SPACE 4,10
- ** DIO - DISPLAY INITIALIZE OPTIONS.
- *
- * EXIT DISPLAY UPDATED.
- * (TOTL) = 0 IF NOT TOTAL INITIALIZE.
- *
- * USES X - 0, 2, 3, 5, 6, 7.
- * A - 2, 3, 5, 6, 7.
- * B - 2, 3, 4.
- * DISABLE ACCESS LEVEL PARAMETER ENTRIES ON ANYTHING
- * OTHER THAN A TOTAL INITIALIZE.
- DIO2 MX7 1
- SA7 ENLA DISABLE *LA* PARAMETER ENTRY
- SA7 A7+B1 DISABLE *UA* PARAMETER ENTRY
- ERRNZ ENUA-ENLA-1 ERROR IF WORDS NOT CONTIGUOUS
- MX0 LIPF-LIQF+1 EXTRACT *PF* AND *QF* OPTIONS
- LX5 LIFD-LIPF
- BX3 X0*X5
- MX0 48-LIMF EXTRACT DAYFILE OPTIONS
- LX5 LIPF-LIDF
- BX2 X0*X5
- LX2 LIQF-LIFD MERGE PARTIAL INITIALIZE OPTIONS
- BX5 X3+X2
- SB4 TPDS+2
- SA3 BLK
- SB3 42
- SA2 DIOB
- BX7 X3
- SX0 77B
- DIO3 PL X5,DIO4 IF OPTION NOT SET
- BX3 X0*X2
- LX3 6
- SX3 X3+1RF&1R
- LX6 X3,B3
- BX7 X6-X7
- SB3 B3-18
- PL B3,DIO4 IF DISPLAY WORD NOT FILLED
- SA7 B4+1
- SX6 A7-TPDS-4
- ZR X6,DIOX IF DISPLAY LINE LIMIT
- SA3 BLK
- SB4 A7
- BX7 X3
- SB3 48 RESET SHIFT COUNT
- DIO4 AX2 6
- LX5 1
- NZ X2,DIO3 IF ALL OPTIONS NOT CHECKED
- BX6 X6-X6
- SA7 B4+B1
- SA6 TOTL CLEAR TOTAL INITIALIZE STATUS
- DIO SUBR ENTRY/EXIT
- SA3 PARC+PMEQ GET EST ORDINAL
- SA4 ESTF+X3 GET MST ADDRESS
- SA5 X4+STLL
- SB2 B0
- LX5 59-LIAL
- NG X5,DIO1 IF INITIALIZE *AL*
- SB2 B2+B1
- LX5 LIAL-LIHD
- NG X5,DIO1 IF INITIALIZE *HT*
- SB2 B2+B1
- LX5 LIHD-LIFD
- DIO1 PL X5,DIO2 IF NOT INITIALIZE *FT*
- SA2 B2+DIOA SET VALUE FOR INITIALIZE REQUEST
- MX7 1
- SA3 BLK
- BX6 X2
- SA7 TOTL SET TOTAL INITIALIZE INDICATOR
- SA6 TPDS+3
- BX7 X3
- SA7 A6+B1
- EQ DIOX RETURN
- DIOA DATA H$ *TOTAL*$
- DATA H$*TOTAL/HT*$
- DATA H$*TOTAL/FT*$
- DIOB VFD 24/0,36/6RMEADQP&6R
- DTY SPACE 4,10
- ** DTY - GET PARAMETERS FOR DEVICE TYPE.
- *
- * ENTRY PARC+PMEQ = EST ORDINAL.
- *
- * EXIT (X3) = TDTY ENTRY FOR DEVICE TYPE.
- * (X3) = 0 IF EQUIPMENT NOT FOUND.
- * (X5) = EST ORDINAL.
- *
- * USES X - 2, 3, 5, 6.
- * A - 3, 5.
- DTY SUBR ENTRY/EXIT
- MX2 11
- SA5 PARC+PMEQ GET EQUIPMENT
- LX2 -1
- R= X3,ESTE
- IX3 X5*X3
- SA3 ESTB+X3+EQDE GET EST ENTRY
- LX3 36
- BX2 X2*X3 DEVICE TYPE
- BX6 X2 SAVE DEVICE TYPE
- LX6 12
- SA6 DTYA
- SA3 TDTY-1
- DTY1 SA3 A3+B1
- BX6 X2-X3
- LX6 1
- AX6 48+1
- ZR X6,DTYX IF DEVICE TYPE FOUND
- NZ X3,DTY1 IF MORE ENTRIES
- EQ DTYX RETURN
- DTYA CON 0 DEVICE TYPE
- ISF SPACE 4,15
- ** ISF - INITIALIZE SPECIAL FILES.
- *
- * USES X - 0, 1, 2, 3, 4, 5, 6.
- * A - 1, 2, 3, 4, 6.
- *
- * MACROS MESSAGE, QCALL, SYSTEM.
- ISF SUBR ENTRY/EXIT
- SA1 PARC+PMEQ GET MST POINTER
- SA1 X1+ESTF
- SB5 X1
- SA3 TOTL
- SA4 B5+STLL
- AX3 59
- BX4 X3+X4
- MX5 -4
- LX4 59-LIQF CHECK QUEUE FILE INITIALIZATION
- PL X4,ISF5 IF NOT SELECTED
- * INITIALIZE INACTIVE QUEUED FILES.
- SA3 QFET
- SA2 PARC+PMEQ
- LX5 10
- BX6 X5*X3 CLEAR ERROR CODE
- LX2 48-0
- SA6 A3 RESET FET+0
- BX6 X2
- SA6 A3+7 SET EST ORDINAL FOR *QFM*
- QCALL IIQF,QFET INITIALIZE QUEUED FILES
- SA1 QFET
- BX5 -X5*X1 ISOLATE ERROR CODE
- AX5 10D SET ERROR CODE LOWER
- SA1 PARC+PMEQ
- SA3 MESI * EQXXX, INACTIVE QUEUES INITIALIZED.*
- SA2 TOTL
- ZR X5,ISF1 IF QUEUES INITIALIZED
- SA3 MESE * EQXXX, UNABLE TO INITIALIZE IQFT.*
- NG X2,ISF5 IF TOTAL INITIALIZE
- ISF1 SA1 EQ SET EST ORDINAL IN MESSAGE
- MX0 42
- LX1 42-18
- LX0 42-18
- BX3 X0*X3
- BX6 X3+X1
- SA6 A3
- SX0 A3 SET MESSAGE ADDRESS
- ZR X5,ISF4 IF FILE INITIALIZED
- SX2 X5-FAIE
- NZ X2,ISF2 IF NOT INTERLOCK ERROR
- MESSAGE MESF,,R * IQFT FILE INTERLOCKED.*
- EQ ISF4 SET UNABLE TO INITIALIZE IQFT FILE
- ISF2 SX2 X5-FNFE
- NZ X2,ISF3 IF FILE FOUND
- MESSAGE MESG,,R * NO IQFT FILE FOUND.*
- ISF3 SX2 X5-RMSE
- NZ X2,ISF4 IF NOT RMS ERROR
- MESSAGE MESH,,R * UNABLE TO READ IQFT FILE.*
- ISF4 MESSAGE X0,,R ISSUE INITIALIZATION STATUS MESSAGE
- * MESSAGE MESE,,R * EQXXX, UNABLE TO INITIALIZE IQFT.*
- * MESSAGE MESI,,R * EQXXX, INACTIVE QUEUES INITIALIZED.*
- ISF5 SA5 DSI
- SA4 B5+STLL
- NG X5,ISFX IF DEADSTART INITIALIZE
- SA3 TOTL
- AX3 59
- SA5 PARC+PMEQ
- BX4 X3+X4
- LX4 59-LIDF
- PL X4,ISF6 IF NOT DAYFILE INITIALIZATON
- * INITIALIZE SYSTEM DAYFILE.
- SYSTEM IMS,R,X5,IDF
- ISF6 LX4 LIDF-LIAF
- PL X4,ISF7 IF NOT ACCOUNT FILE INITIALIZATION
- * INITIALIZE ACCOUNT FILE.
- SYSTEM IMS,R,X5,IDF+1
- ISF7 LX4 LIAF-LIEF
- PL X4,ISF8 IF NOT ERRLOG INITIALIZATION
- * INITIALIZE ERRLOG.
- SYSTEM IMS,R,X5,IDF+2
- ISF8 LX4 LIEF-LIMF
- PL X4,ISF9 IF NOT MAINTENANCE LOG INITIALIZATION
- * INITIALIZE MAINTENANCE LOG.
- SYSTEM IMS,R,X5,IDF+3
- ISF9 PL X3,ISFX IF NOT TOTAL INITIALIZE
- SA1 B5+ACGL CHECK FOR LOCAL AREA SECTOR
- LX1 59-GLAP
- PL X1,ISFX IF LOCAL AREA SECTOR NOT DEFINED
- SYSTEM IMS,R,X5,ILA INITIALIZE LOCAL AREAS
- EQ ISFX RETURN
- MTW SPACE 4,10
- ** MTW - MOVE THREE WORDS TO DISPLAY LINE.
- *
- * ENTRY (A1) = MESSAGE ADDRESS.
- *
- * USES X - 1, 2, 5, 6, 7.
- * A - 1, 2, 5, 6, 7.
- * B - 2.
- MTW SUBR ENTRY/EXIT
- SA2 A1+B1
- BX6 X1
- SA1 A2+B1
- LX7 X2
- SA2 FLFG
- NZ X2,MTW2 IF FLAW PROCESSING
- SA5 PAGA
- LX5 30
- SB2 X5
- GT B2,B1,MTW2 IF CURRENT LEFT SCREEN INDEX IS 2
- SA6 MSDS1+1
- MTW1 BX6 X1
- SA7 A6+1
- SA6 A7+B1
- SA1 BLK
- BX6 X1
- EQ B1,B2,MTW3 IF CURRENT LEFT SCREEN INDEX IS 1
- SA2 MSDS1+1
- MTW1.1 SA6 A2
- SA6 A2+1
- SA6 A6+B1
- EQ MTWX RETURN
- MTW2 SA6 MSDS2+1 DISPLAY FLAW MESSAGE
- EQ MTW1 CONTINUE
- MTW3 SA2 MSDS2+1
- EQ MTW1.1 CONTINUE
- PMC SPACE 4,15
- ** PMC - PROCESS MODE CHANGE.
- *
- * ENTRY (B3) = EST ORDINAL.
- * (X3) = .LT. 0, IF HALF TRACK ACCESS.
- * (B6) = 0, IF HALF TRACK MODE.
- *
- * EXIT (X5) .LT. 0, IF NO FULL TRACK ACCESS.
- *
- * USES X - ALL.
- * A - 2, 4, 5, 7.
- * B - 4, 6.
- *
- * CALLS DTY.
- *
- * MACROS MESSAGE.
- PMC SUBR ENTRY/EXIT
- MX0 -12
- MX1 0
- NG X3,PMC3 IF HALF TRACK ACCESS
- MX1 60
- SB6 12 SET FULL TRACK SHIFT COUNT
- * ASSEMBLE EST IMAGE.
- PMC3 SX7 B3
- R= X4,ESTE
- IX7 X7*X4
- SA4 ESTB+X7+EQDE READ EST ENTRY
- LX4 -12
- BX5 -X0*X4 CURRENT DEVICE TYPE
- SA2 PMCB-1
- PMC4 SA2 A2+B1 READ NEXT LIST WORD
- BX7 -X0*X2
- ZR X2,PMC4.0 IF END OF LIST
- BX6 X5-X7
- NZ X6,PMC4 IF NO MATCH
- AX2 12
- AX2 X2,B6 POSITION NEW DEVICE TYPE
- BX5 -X0*X2 NEW DEVICE TYPE
- PMC4.0 BX4 X0*X4
- BX7 X4+X5 MERGE NEW DEVICE TYPE
- SX0 10001B SET CHANNEL ACCESS FLAGS
- LX7 12
- LX0 24+8
- BX2 X0*X7 CHANNEL MODE FLAGS
- BX2 X1-X2 SELECT MODE OF OPERATION
- BX2 X0*X2 NEW CHANNEL ACCESS FLAGS
- MX5 1
- ZR X1,PMC4.1 IF HALF TRACK INITIALIZE
- ZR X2,PMCX IF NO CHANNELS FOR ACCESS
- PMC4.1 SA7 A4
- RJ DTY SET SINGLE UNIT SECTOR LIMIT
- MX0 12
- LX0 -12
- SA1 X5+ESTF
- SA2 X1+MDGL
- BX7 X0*X3
- BX2 -X0*X2
- AX3 12
- BX7 X2+X7
- MX0 -6
- SA7 A2
- SA4 X1+DILL CHANGE ALGORITHM INDEX
- BX2 -X0*X3
- BX4 X0*X4
- BX7 X2+X4
- SA7 A4
- EQ PMCX RETURN
- ** DEVICE CONVERSION TABLES.
- *T PMCB 24/,12/ *FT* TYPE, 12/ *HT* TYPE, 12/OLD TYPE
- PMCB VFD 24/,12/2RDK,12/2RDI,12/2RDI
- VFD 24/,12/2RDL,12/2RDJ,12/2RDJ
- VFD 24/,12/2RDK,12/2RDI,12/2RDK
- VFD 24/,12/2RDL,12/2RDJ,12/2RDL
- VFD 24/,12/2RDQ,12/2RDM,12/2RDM
- VFD 24/,12/2RDQ,12/2RDM,12/2RDQ
- CON 0 END OF TABLE
- PTY SPACE 4,10
- ** PTY - PROCESS TYPE.
- *
- * ENTRY (B5) = MST POINTER.
- *
- * USES X - 0, 1, 2, 3, 4, 6, 7.
- * A - 1, 2, 3.
- *
- * CALLS COD.
- PTY SUBR ENTRY/EXIT
- SA1 PARC+PMTY
- SA2 B5+MDGL
- LX1 6
- SA3 B5+PUGL
- LX2 59-58
- PTY1 MX0 -16
- ZR X1,PTY3 IF TYPE NOT ENTERED
- BX6 -X0 DEFAULT MASK FOR AUXILIARY DEVICES
- MX7 1 SET AUXILIARY BIT
- SX4 X1-1RX
- BX2 -X7*X2
- ZR X4,PTY2 IF AUXILIARY TYPE
- MX7 0 CLEAR AUXILIARY BIT
- BX6 -X0*X3 DEFAULT MASKS FOR FAMILY TYPE
- SX1 1RF SET TO FAMILY DEVICE
- PTY2 BX3 X0*X3 SET DEFAULT MASKS
- BX6 X3+X6
- BX7 X7+X2 MERGE NEW AUXILIARY BIT
- SA6 A3
- LX7 58-59
- SA7 A2
- LX1 -6
- BX6 X1
- SA6 A1 RESET TYPE
- SA6 TYDS+1
- SA1 B5+PUGL SET INDIRECT FILE MASK
- MX0 -8
- BX7 -X0*X1
- BX1 -X0*X1
- SA7 PARC+PMDM
- RJ COD
- SA1 B5+PUGL SET DIRECT ACCESS MASK
- BX6 X4
- AX1 8
- SA6 DMDS+1
- BX7 -X0*X1
- BX1 -X0*X1
- SA7 PARC+PMSM
- RJ COD
- BX6 X4
- SA6 SMDS+1
- EQ PTYX RETURN
- PTY3 SX1 1RX
- NG X2,PTY1 IF AUXILIARY DEVICE
- SX1 1RF SET TO FAMILY DEVICE
- EQ PTY1 LOOP
- SAL SPACE 4,15
- ** SAL - SET ACCESS LEVEL DEFAULTS.
- *
- * EXIT DEFAULTS SET IN THE PARAMETER LIST AND THE K-DISPLAY.
- * IF THE INITIALIZE IS TOTAL, THE DEFAULTS WILL BE
- * SET TO THE LOWER EQUIPMENT ACCESS LIMIT FROM THE
- * EST ENTRY.
- * THE DEFAULTS WILL BE SET FROM THE MST FOR DEADSTART
- * INITIALIZE, AS WELL AS FOR A NON-TOTAL INITIALIZE.
- *
- * USES X - 0, 1, 2, 5, 6.
- * A - 1, 5, 6.
- * B - 3, 4.
- SAL SUBR ENTRY/EXIT
- SA1 TOTL
- SA5 B5+PFGL READ ACCESS LEVELS FROM LABEL
- SB4 51 SET SHIFT COUNTS
- SB3 3
- MX0 -3
- PL X1,SAL1 IF NOT TOTAL INITIALIZE
- SA1 DSI
- NG X1,SAL1 IF DEADSTART INITIALIZE
- SA5 PARC+PMEQ
- R= X1,ESTE
- IX1 X5*X1
- SA5 ESTB+X1+EQAE READ ACCESS LEVELS FROM EST
- SB4 45 SET SHIFT COUNTS
- SB3 B0+
- SAL1 LX5 B4 POSITION ACCESS LEVELS
- BX1 -X0*X5 PROCESS LOWER ACCESS LEVEL
- SA1 X1+TALV
- MX2 42
- BX6 X2*X1
- SA6 PARC+PMLA SET LOWER LIMIT IN PARAMETER LIST
- SA6 LADS+1 SET LOWER LIMIT IN DISPLAY
- LX5 B3 PROCESS UPPER ACCESS LEVEL
- BX1 -X0*X5
- SA1 X1+TALV
- BX6 X2*X1
- SA6 PARC+PMUA SET UPPER LIMIT IN PARAMETER LIST
- SA6 UADS+1 SET UPPER LIMIT IN DISPLAY
- EQ SALX RETURN
- PRS SPACE 4,15
- ** PRS - PRESET PROGRAM.
- *
- * EXIT EST AND MST TABLE READ INTO BUFFERS.
- *
- * USES X - ALL.
- * A - 1, 2, 5, 6, 7.
- * B - 7.
- *
- * CALLS PRK.
- *
- * MACROS CLEAR, GETSSM, MESSAGE, SYSTEM.
- PRS SUBR ENTRY/EXIT
- SA5 JOPR CHECK JOB ORIGIN
- MX0 -12
- LX5 -24
- BX5 -X0*X5
- SB7 X5-SYOT
- NZ B7,PRS3 IF NOT SYSTEM ORIGIN
- SX3 KYCT
- RJ PRK PRESET *K* DISPLAY
- SX7 TFLA SET FLAW INDEX
- SA7 FLAI
- CLEAR ESTB,BUF-ESTB CLEAR *ESTB*, *ESTF*, AND *PKL*
- CLEAR FLGS,FLGSL,X7 CLEAR FLAGS
- CLEAR PARC+PMFN,OTBLL,X7
- SA7 PREQ
- SA7 CFEB PREVENT SETTING FLAWS FOR SPECIFIED DEVICE
- SA1 PRSA READ EST POINTER WORD
- MX6 1
- BX7 X1
- SA6 ESTB SET LOW CORE READ
- SA7 LCRC
- SYSTEM RSB,R,LCRC
- SA2 ESTB SET *COMCRSB* ENTRY CONDITIONS
- MX3 -12
- SX1 A2 SET ADDRESS TO TRANSFER TO
- AX2 12
- BX7 -X3*X2
- AX2 24 SET ADDRESS TO TRANSFER FROM
- SA7 PRSB SAVE LAST EST ORDINAL + 1
- R= X6,ESTE
- IX3 X7*X6 SET WORD COUNT
- SX4 B0 SET SUBSYSTEM (= *CMR*)
- MX6 1
- SA6 X1
- RJ RSB= READ EST
- GETSSID SSID GET SUBSYSTEM ID
- GETSSM SSFL GET SYSTEM SECURITY MODE
- SA1 PRSC READ MMFL WORD
- MX6 1
- BX7 X1
- SA6 SCRB
- SA7 LCRC
- SYSTEM RSB,R,LCRC
- SA1 SCRB SET LINK DEVICE
- MX6 -9
- LX1 59-35
- BX6 -X6*X1
- NZ X6,PRS1 IF LINK DEVICE DEFINED
- R= X6,NEEQ
- PRS1 SA6 LINK
- SX6 BUF READ MST,S FOR ALL MASS STORAGE
- SA6 BUFI
- SX6 NOPE INITIALIZE EST ORDINAL FOR SEARCH
- SA6 TEMP
- PRS2 SA5 TEMP
- SX7 X5+B1
- SA7 A5
- SA1 PRSB CHECK ORDINAL
- IX6 X5-X1
- R= X0,ESTE
- IX7 X5*X0
- SA1 ESTB+X7+EQDE GET EST ENTRY
- ZR X6,PRSX IF END OF EST
- PL X1,PRS2 IF NOT MASS STORAGE
- MX0 -12
- SX6 MSTL
- SA2 BUFI
- IX7 X2+X6 INCREMENT BUFFER POINTER
- LX6 36
- BX1 -X0*X1
- SA7 A2
- LX1 18+3 MST ADDRESS
- BX6 X6+X2
- IX6 X6+X1
- SA6 LCRC
- BX7 X2
- MX6 1
- SA7 ESTF+X5 SET MST ADDRESS IN ESTF
- SA6 X2 FLAG LOW CORE READ
- SYSTEM RSB,R,LCRC READ MST
- EQ PRS2 LOOP FOR NEXT DEVICE
- PRS3 MESSAGE MESK * USER ACCESS NOT VALID.*
- ABORT
- PRSA VFD 24/1,18/ESTP,18/ESTB
- PRSB CON ** LAST MASS STORAGE ORDINAL + 1
- PRSC VFD 24/1,18/MMFL,18/SCRB
- TITLE K DISPLAY KEYBOARD MESSAGES
- SPACE 4
- * K-DISPLAY KEYBOARD ERROR MESSAGES.
- ERRF BSS 1
- ERROR1 DATA 30HUN MUST BE SPECIFIED.
- ERROR2 DATA 30HNC IS NOT A POWER OF 2.
- ERROR3 DATA 30HFAMILY MASK NOT EQUAL TO 377.
- ERROR5 DATA 30HEQ OR DN INCORRECT.
- ERROR6 DATA 30HINCORRECT ENTRY.
- ERROR7 DATA 30HFM OR PN MUST BE SPECIFIED.
- ERROR8 DATA 30HNP GREATER THAN 8.
- ERROR9 DATA 30HDUPLICATE PN.
- ERROR10 DATA 30HNC EXCEEDS 200B.
- ERROR11 DATA 30HCANNOT ALLOCATE DEVICE.
- ERROR12 DATA 30HNOT AUXILIARY PACK.
- ERROR13 DATA 30HDUPLICATE DN.
- ERROR15 DATA 30HDEVICE NOT REMOVABLE.
- ERROR16 DATA 30HNP NOT ALLOWED.
- ERROR17 DATA 30HDUPLICATE BITS IN MASK.
- ERROR18 DATA 30HDEVICE NOT FIRST IN CHAIN.
- ERROR19 DATA 30HEQXXX, INITIALIZE BIT NOT SET.
- ERROR20 DATA 30HDN CANNOT BE ZERO.
- ERROR21 DATA 30HEQXXX, FORMAT PENDING.
- ERROR22 DATA 30HDEFINED DEVICE ALREADY EXISTS.
- ERROR23 DATA 30HEQXXX, NO FULL TRACK ACCESS.
- ERROR24 DATA 30HDEADSTART INITIALIZE REQUIRED.
- ERROR25 DATA 30HFULL INITIALIZE REQUIRED.
- ERROR26 DATA 30HEQXXX, TRACK LIMIT.
- ERROR27 DATA 30HUA NOT WITHIN LIMIT.
- ERROR28 DATA 30HLA NOT WITHIN LIMIT.
- ERROR29 DATA 30HLA GREATER THAN UA.
- ERROR30 DATA 30HUNKNOWN ACCESS LEVEL NAME.
- * K-DISPLAY KEYBOARD INFORMATIVE MESSAGES.
- REQOP DATA 30HENTER OPTION.
- REQEQ DATA 30HENTER EST ORDINAL.
- REQPM DATA 30HENTER PARAMETERS.
- ENOFN DATA 30HENTER OLD FAMILY NAME.
- ENOPN DATA 30HENTER OLD PACK NAME.
- ENOUN DATA 30HENTER OLD USER NAME.
- ENODN DATA 30HENTER OLD DEVICE NUMBER.
- ENNFN DATA 30HENTER NEW FAMILY/PACK NAME.
- ENFLS DATA 30HENTER FLAWS.
- ENID DATA 30HENTER IDENTITY OF EQXXX.
- EDRN DATA 30HEND OF RUN.
- ENCL DATA 30HENTER CLEAR OR RERUN.
- * DAYFILE MESSAGES.
- MESA DATA C* EQXXX, ACTIVE FILES, CANNOT INITIALIZE.*
- MESB DATA C* MSI ABORTED INITIALIZE MAY NOT BE COMPLETE.*
- MESC DATA C* NO INITIALIZE REQUESTS SET FOR MSI.*
- MESD DATA C* INTERNAL ERROR IN MSI.*
- MESE DATA C* EQXXX, UNABLE TO INITIALIZE IQFT.*
- MESF DATA C* IQFT FILE INTERLOCKED.*
- MESG DATA C* NO IQFT FILE FOUND.*
- MESH DATA C* UNABLE TO READ IQFT FILE.*
- MESI DATA C* EQXXX, INACTIVE QUEUES INITIALIZED.*
- MESJ DATA C* LINK DEVICE CANNOT BE ALTERED.*
- MESK DATA C* USER ACCESS NOT VALID.*
- MESL DATA C* MSI HUNG.*
- TITLE KEYBOARD INPUT PROCESSOR.
- PKI SPACE 4,10
- ** PKI - PROCESS KEYBOARD INPUT.
- *
- * USES X - 1, 2, 3, 4, 5, 6, 7.
- * A - 0, 1, 2, 4, 5, 6, 7.
- * B - 2, 3, 4, 5, 7.
- *
- * CALLS ARG, CFE, DTY, DXB, RPT, SPT.
- PKI SUBR ENTRY/EXIT
- PKI1 EQ KIP KEYBOARD INPUT PROCESSOR
- PKI2 ZR B6,PKI3 IF NO PARAMETERS ENTERED
- KEYMES BLK BLANK MESSAGE LINE
- SB4 PAR
- RJ CFE CHECK FOR FLAW ENTRY
- NZ X4,PKI3 IF ERROR
- ZR X2,PKI1 IF FLAW ENTRY
- SA4 PAR
- SA2 ARGP
- SB4 B6
- SB5 X2
- RJ ARG
- ZR X1,PKI4 IF NO ARGUMENT ERRORS
- PKI3 ERROR 6 *INCORRECT ENTRY.*
- EQ PKI1 LOOP FOR NEW DATA
- PKI4 BX6 X6-X6 CLEAR ERROR FLAG
- SA6 ERRF
- SB2 TENP SET INITIAL REGISTERS
- SB4 PARC
- SA0 DATB
- * PROCESS NAMES.
- SB3 NNME SET NUMBER OF NAMES TO PROCESS
- PKI5 SA2 B2 GET NAME
- ZR X2,PKI7 IF NAME NOT ENTERED
- BX7 X2 SAVE CONVERTED PARAMETER
- SA1 A0 DISPLAY ENTERED PARAMETER
- SA7 X1
- SA1 =1L0
- BX1 X7-X1
- NZ X1,PKI6 IF NOT *0*
- BX7 X7-X7
- PKI6 SA7 B4 STORE PARAMETER
- PKI7 SB2 B2+B1 INCREMENT POINTERS
- SB3 B3-B1
- SB4 B4+B1
- SA0 A0+B1
- NZ B3,PKI5 IF MORE NAMES TO PROCESS
- * PROCESS OCTAL PARAMETERS.
- SB3 NOCT SET NUMBER OF OCTAL PARAMETERS
- SB7 B0
- PKI8 SA5 B2 GET OCTAL PARAMETER
- ZR X5,PKI10 IF PARAMETER NOT ENTERED
- RJ SPT SAVE POINTERS
- RJ DXB CONVERT PARAMETER
- RJ RPT RESTORE POINTERS
- ZR X4,PKI9 IF NO ERROR IN CONVERSION
- SX6 B1 SET ERROR FLAG
- SA6 ERRF
- EQ PKI10 INCREMENT POINTERS
- PKI9 SA6 B4 SAVE CONVERTED VALUE
- SA1 B2 DISPLAY ENTERED PARAMETER
- BX6 X1
- SA1 A0
- SA6 X1
- PKI10 SB2 B2+B1 INCREMENT POINTERS
- SB3 B3-B1
- SB4 B4+B1
- SA0 A0+B1
- NZ B3,PKI8 IF MORE OCTAL PARAMETERS TO PROCESS
- * CLEAR OUT ENTRY AREA.
- SB3 OTBLL-1 SET PARAMETER AREA LENGTH
- SB2 PARE
- BX6 X6-X6
- PKI11 SA6 B2+B3
- SB3 B3-B1
- PL B3,PKI11 IF MORE TO CLEAR
- RJ DTY GET FLAW PROCESSOR
- AX3 18
- SX6 X3
- SA6 DFPR
- * CHECK FOR ERROR CONDITION.
- SA1 ERRF CHECK FOR ERROR IN CONVERSION
- SA2 CNT
- NZ X1,PKI3 DISPLAY ERROR MESSAGE
- SX7 X2-1
- SA7 CNT
- ZR X7,PKIX IF END OF EXPECTED PARAMETERS
- EQ PKI1 GO FOR NEXT PARAMETER
- RPT SPACE 4,10
- ** RPT - RESTORE POINTERS.
- *
- * ENTRY SPTA = ENTERED PARAMETER ADDRESS.
- * SPTA+1 = NUMBER OF PARAMETERS TO PROCESS.
- * SPTA+2 = CONVERTED PARAMETER ADDRESS.
- *
- * EXIT (B2), (B3) AND (B4) RESTORED.
- *
- * USES X - 1, 2.
- * A - 1, 2.
- * B - 2, 3, 4.
- RPT SUBR ENTRY/EXIT
- SA1 SPTA
- SA2 A1+B1
- SB2 X1
- SB3 X2
- SA1 A2+B1
- SB4 X1
- EQ RPTX EXIT
- SPT SPACE 4,10
- ** SPT - SAVE POINTERS.
- *
- * ENTRY (B2) = ENTERED PARAMETER ADDRESS.
- * (B3) = NUMBER OF PARAMETERS LEFT TO PROCESS.
- * (B4) = CONVERTED PARAMETER ADDRESS.
- *
- * EXIT (SPTA - SPTA+1) = (B2), (B3) AND (B4).
- *
- * USES X - 6, 7.
- * A - 6, 7.
- * B - NONE.
- SPT SUBR ENTRY/EXIT
- SX6 B2
- SX7 B3
- SA6 SPTA
- SA7 A6+B1
- SX6 B4
- SA6 A7+B1
- EQ SPTX EXIT
- SPTA BSS 1 ADDRESS OF ENTERED PARAMETER
- BSS 1 NUMBER OF PARAMETERS LEFT TO PROCESS
- BSS 1 ADDRESS OF CONVERTED PARAMETERS
- TITLE PROCESS FLAW ENTRIES
- ** CFE - CHECK FOR FLAW ENTRY.
- *
- * ENTRY (B4) = ADDRESS OF PARAMETER.
- * (B6) = PARAMETER COUNT.
- *
- * EXIT (X2) = 0, IF FLAW ENTRY.
- * (X4) = 0, IF NO ERROR.
- *
- * USES X - ALL.
- * A - 0, 1, 2, 3, 4, 6, 7.
- * B - 2, 3, 4, 6.
- *
- * CALLS COD, FMD, FRD, RPA, SFN.
- CFE SUBR ENTRY/EXIT
- SX7 B1 SELECT *SET FLAW* AS DEFAULT
- SA7 CFEA
- SA1 B4
- MX0 18
- SX3 1R=
- BX4 -X0*X1
- SX2 B1
- IX3 X3-X4
- BX4 X4-X4
- NZ X3,CFEX IF NOT EQUIVALENCED
- SA3 CFEB
- ZR X3,CFEX IF FLAWS NOT ALLOWED YET
- SA3 =0LCPF
- BX6 X0*X1
- BX2 X6-X3
- ZR X2,CFE2 IF CLEARING PHYSICAL FLAW
- SA3 =0LSPF
- BX2 X6-X3
- ZR X2,CFE2.1 IF SETTING PHYSICAL FLAW
- SA3 =0LSLF
- BX2 X6-X3
- ZR X2,CFE1 IF SETTING LOGICAL FLAW
- SA3 =0LCLF
- BX2 X6-X3
- NZ X2,CFEX IF NOT CLEARING LOGICAL FLAW
- * PROCESS *CLF* ENTRY.
- SX7 B1+B1 SELECT *CLEAR FLAW* OPTION
- SA7 CFEA
- * PROCESS *SLF* ENTRY.
- CFE1 SX4 B1 PRESET RESPONSE
- SB6 B6-B1
- NE B6,B1,CFEX IF INCORRECT ENTRY
- SB4 B4+B1
- SX1 B0
- SX2 7777B LIMIT
- RJ RPA RETRIEVE PARAMETER
- NZ X4,CFEX IF ERROR
- EQ CFER STORE ENTRY
- * PROCESS *CPF* ENTRY.
- CFE2 SX7 B1+B1 SELECT *CLEAR FLAW* OPTION
- SA7 CFEA
- * PROCESS *SPF* ENTRY.
- CFE2.1 SB4 B4+B1
- SB6 B6-B1
- SA1 DFPR
- ZR X1,FMD IF LARGE MEMORY DEVICE
- SA0 X1 SET PHYSICAL DESCRIPTOR ENTRY ADDRESS
- EQ FRD FLAW ROTATING MASS STORAGE DEVICE
- CFER NZ X4,CFEX IF ERROR
- SA1 FLAI
- SX3 X1-TFLA-PNFE
- SX4 B1 PRESET ERROR
- SX7 X1+B1 INCREMENT POINTER
- PL X3,CFEX IF LIMIT EXCEEDED
- SA2 CFEA
- SA7 A1
- LX2 48
- BX6 X6+X2
- SA6 X1
- MX0 -12 FORM MASK FOR LOGICAL ENTRY
- BX1 -X0*X6 MASK OFF
- BX5 X6 SAVE X6
- RJ COD CONVERT TO DISPLAY CODE
- SA1 DASM
- SA0 X1 SAVE LAST ADDRESS
- SX7 X1+6
- SA7 A1
- SA6 X1
- SA4 DAST GET DISPLAY ADDRESS
- SX7 X4+6
- SA1 I DISPLAY ENTRY
- SA7 A4
- BX0 X4 SAVE (X4)
- RJ SFN
- SA6 X4
- SA1 A1+B1
- RJ SFN
- SA6 X0+B1
- SB3 A0 LAST ADDRESS OF LOGICAL TRACK
- SB2 LTDS+3
- SA4 STAR PRESET STAR
- BX6 X4
- CFE3 EQ B2,B3,CFE5 IF END OF LOOP - EXIT
- SA3 B3 MORE ENTRIES
- SA2 B2
- IX5 X3-X2
- NZ X5,CFE4 IF NOT EQUAL GO TO NEXT ENTRY
- SA6 B3+2 WRITE STAR TO BOTH ENTRIES
- SA6 B2+2
- CFE4 SB2 B2+6 INCREMENT TO NEXT ENTRY
- EQ CFE3 LOOP
- CFE5 BX4 X4-X4 CLEAR X4
- BX2 X2-X2
- EQ CFEX RETURN
- CFEA BSSZ 1 FLAW TYPE INDICATOR
- CFEB CON 0 *FLAWS ALLOWED* FLAG
- STAR DIS 1, *
- LRDS VFD 24/I,18/R,18/L FLAW K-DISPLAY CONTROL WORD
- * FLAW PROCESSOR TABLE.
- DFPR CON 0
- RPA SPACE 4,10
- ** RPA - RETRIEVE PARAMETERS.
- *
- * ENTRY (B4) = ADDRESS OF PARAMETER.
- * (X1) = 0, IF NO PARAMETER CHECK REQUIRED.
- * (X1) = RIGHT JUSTIFIED CHARACTER TO CHECK FOR.
- * (X2) = MAXIMUM VALUE.
- *
- * EXIT (X4) = 0, IF NO ERROR.
- * (X6) = PARAMETER.
- * (B4) = ADDRESS OF NEXT PARAMETER.
- *
- * USES X - 0, 1, 2, 4, 5, 6.
- * A - 1, 5, 6.
- * B - 4, 7.
- *
- * CALLS DXB.
- RPA SUBR ENTRY/EXIT
- SB7 B0 SET OCTAL BASE
- SX6 B1
- LX1 54
- IX6 X2-X6 ADJUST MAXIMUM COUNT
- SA5 B4 GET PARAMETER
- SA6 RPAA SAVE MAXIMUM VALUE
- ZR X1,RPA1 IF NO CHARACTER TO CHECK
- MX0 6
- BX2 X0*X5
- BX4 X2-X1
- NZ X4,RPAX IF INCORRECT ENTRY
- LX5 6
- RPA1 MX0 36 MASK OFF VALUE
- BX5 X0*X5
- SX6 B4 SAVE PARAMETER ADDRESS
- SA6 RPAB
- RJ DXB CONVERT TO OCTAL
- SA1 RPAB RESTORE PARAMETER ADDRESS
- SB4 X1+B1
- NZ X4,RPAX RETURN - IF ERROR
- SA1 RPAA
- IX4 X1-X6
- NG X4,RPAX IF MAXIMUM VALUE EXCEEDED
- BX4 X4-X4
- EQ RPAX RETURN
- RPAA BSSZ 1 HOLD FOR MAXIMUM VALUE
- RPAB BSSZ 1 HOLD FOR PARAMETER ADDRESS
- SPACE 4
- ** FLAW ROUTINES.
- *
- * ENTRY (B4) = PARAMETER ADDRESS.
- * (B6) = PARAMETER COUNT.
- *
- * EXIT (X4) = 0, IF NO ERROR.
- * = 1, IF ERROR.
- * (X6) = LOGICAL TRACK TO FLAW.
- *
- * USES X - ALL.
- * A - 0, 1, 2, 3, 5, 6.
- * B - ALL.
- *
- * CALLS RPA.
- FMD SPACE 4,10
- ** FMD - FLAW LARGE MEMORY DEVICES.
- FMD SX4 B6-B1
- R= X1,1RA
- NZ X4,CFER IF ERROR
- SA2 =100000000
- RJ RPA RETRIEVE ADDRESS
- NZ X4,CFER IF ERROR
- SX1 202B CONVERT TRACK ADDRESS
- SA4 PARC+PMEQ EXTRACT XM SHIFT
- R= X5,ESTE
- IX5 X4*X5
- SA5 ESTB+X5+EQAE
- MX0 -2
- LX5 -30
- BX5 -X0*X5
- SB7 X5
- LX1 B7
- IX6 X6/X1
- NZ X5,FMD1 IF NOT DEFAULT TRACK SIZE
- SX4 CETK-4000B
- IX4 X6-X4
- NZ X4,FMD1 IF NOT CETK
- SX4 B1
- EQ CFER
- FMD1 BX4 X4-X4 SET NO ERROR RESPONSE
- EQ CFER RETURN
- FRD SPACE 4,10
- ** FRD - FLAW ROTATING MASS STORAGE DEVICES.
- * GET AND VERIFY THE CYLINDER, TRACK AND SECTOR VALUES GIVEN
- * BY THE USER. FOR BUFFERED MASS STORAGE DEVICES, THE SECTOR
- * NUMBER VALUE ENTERED BY THE USER MUST BE CONVERTED TO THE
- * MAPPING USED BY THE OPERATING SYSTEM.
- FRD SX4 B6-3
- NZ X4,CFER IF TOO MANY PARAMETERS
- SX1 1RC
- SA2 A0 GET CYLINDER LIMIT FOR THIS DEVICE
- MX0 -12
- AX2 48
- BX2 -X0*X2
- RJ RPA GET CYLINDER SPECIFIED BY USER
- NZ X4,CFER IF INCORRECT CYLINDER VALUE GIVEN
- SA6 FRDA SAVE CYLINDER NUMBER
- SX1 1RT
- SA2 A0 GET TRACK LIMIT FOR THIS DEVICE
- MX0 -6
- AX2 42
- BX2 -X0*X2
- RJ RPA GET TRACK SPECIFIED BY USER
- NZ X4,CFER IF INCORRECT TRACK VALUE GIVEN
- SA6 FRDB SAVE TRACK NUMBER
- SX1 1RS
- SA2 A0 GET SECTOR LIMIT FOR THIS DEVICE
- MX0 -6
- AX2 36
- BX2 -X0*X2
- RJ RPA GET SECTOR SPECIFIED BY USER
- NZ X4,CFER IF INCORRECT SECTOR VALUE GIVEN
- SA3 A0
- MX0 -3
- LX3 -33 POSITION CONVERSION FACTOR
- BX2 -X0*X3
- SB7 X2
- LX6 B7 CONVERT PHYSICAL TO LOGICAL SECTOR
- * MULTIPLY THE TRACK VALUE BY THE NUMBER OF LOGICAL
- * SECTORS PER PHYSICAL TRACK.
- MX0 -6 MASK FOR PHYSICAL SECTORS/PHYSICAL TRACK
- LX3 33-36
- SA1 FRDB FETCH TRACK VALUE
- BX2 -X0*X3
- LX2 B7 CONVERT TO LOGICAL SECTORS/PHYSICAL TRACK
- IX1 X2*X1 CONVERT TRACK VALUE TO LOGICAL SECTORS
- LX3 36-12
- IX6 X6+X1 ACCUMULATE LOGICAL SECTOR COUNT
- * MULTIPLY THE CYLINDER VALUE BY THE NUMBER OF LOGICAL
- * SECTORS PER CYLINDER.
- SA1 FRDA FETCH CYLINDER VALUE
- MX0 -12
- BX2 -X0*X3 EXTRACT PHYSICAL SECTORS/CYLINDER
- LX2 B7 CONVERT TO LOGICAL SECTORS/CYLINDER
- IX1 X2*X1
- LX3 12
- IX6 X6+X1 ACCUMULATE LOGICAL SECTOR COUNT
- BX3 -X0*X3
- * DIVIDE THE ACCUMULATED LOGICAL SECTOR COUNT BY THE
- * SUM OF (LOGICAL + GAP) SECTORS PER LOGICAL TRACK.
- PX3 X3
- PX6 X6
- NX3 X3
- FX6 X6/X3 QUOTIENT = LOGICAL TRACK NUMBER
- UX6,B7 X6
- LX6 B7
- EQ CFER RETURN
- FRDA BSS 1 CYLINDER NUMBER
- FRDB BSS 1 TRACK NUMBER
- TDTY SPACE 4,10
- ** TDTY - TABLE OF DEVICE TYPE PARAMETERS.
- *
- *T, TDTY 1/ PK,11/ MN,1/ TT,11/ SL,18/ FP,6/ AI,12/ CT
- *
- * PK = PACK TYPE DEVICE FLAG.
- * MN = DEVICE MNEMONIC.
- * TT = TRACK TYPE, 0 = FULL TRACK, 1 = HALF TRACK.
- * SL = SINGLE UNIT SECTOR LIMIT.
- * FP = PHYSICAL DESCRIPTOR TABLE ENTRY.
- * AI = *LDAM* ALGORITHM INDEX.
- * CT = DEFAULT NUMBER OF CATALOG TRACKS.
- PURGMAC TBLM
- TBLM MACRO EQ
- .A IFNE CYUN_EQ,0
- VFD 1/1 SET ROTATING MASS STORAGE DEVICE
- .A ELSE
- VFD 1/0 SET LARGE MEMORY STORAGE DEVICE
- .A ENDIF
- VFD 11/2R_EQ,1/TT_EQ,11/SL_EQ
- .B IFNE CYUN_EQ,0
- VFD 18/PHY_EQ PHYSICAL DESCRIPTOR TABLE ENTRY
- .B ELSE
- VFD 18/0
- .B ENDIF
- VFD 6/AI_EQ,12/CT_EQ
- ENDM
- LIST G
- TDTY TBL "MSEQ"
- LIST -G
- CON 0 END OF TABLE
- TPHY SPACE 4,10
- ** TPHY - PHYSICAL DESCRIPTOR TABLE.
- *
- *T, TPHY 12/CYPN, 6/PTCY, 6/PSPT, 3/CF, 9/UNUSED, 12/PSCY, 12/LSLT
- *
- * CYPN = CYLINDERS PER PARTITION.
- * PTCY = PHYSICAL TRACKS PER CYLINDER.
- * PSPT = PHYSICAL SECTORS PER PHYSICAL TRACK.
- * CF = CONVERSION FACTOR.
- * PSCY = PHYSICAL SECTORS PER CYLINDER.
- * LSLT = LOGICAL SECTORS PER LOGICAL TRACK, INCLUDING
- * GAP SECTORS.
- PURGMAC TBLM
- TBLM MACRO EQ
- IFNE CYUN_EQ,0
- PHY_EQ VFD 12/CYPN_EQ
- VFD 6/PTCY_EQ
- VFD 6/PSPT_EQ
- VFD 3/CFS_EQ
- VFD 9/0 UNUSED
- VFD 12/PSPT_EQ*PTCY_EQ-SPSC_EQ
- VFD 12/SL_EQ+GS_EQ
- ENDIF
- ENDM
- LIST G
- TPHY TBL "MSEQ"
- LIST -G
- TITLE COMMON DECKS.
- SPACE 4
- * COMMON DECKS.
- *CALL COMCARG
- *CALL COMCDCP
- *CALL COMCDXB
- *CALL COMCMVE
- *CALL COMCSFN
- *CALL COMCUPC
- *CALL COMCCOD
- *CALL COMCVLC
- * COMMON DECKS WHICH MAKE SYSTEM REQUESTS.
- QUAL SYSREQ
- QUAL$ EQU 1
- *CALL COMCCIO
- *CALL COMCCPM
- *CALL COMCLFM
- *CALL COMCPFU
- *CALL COMCQFM
- *CALL COMCRSB
- *CALL COMCSYS
- QUAL *
- CIO= EQU /SYSREQ/CIO=
- CPM= EQU /SYSREQ/CPM=
- LFM= EQU /SYSREQ/LFM=
- PFU EQU /SYSREQ/PFU
- QFM EQU /SYSREQ/QFM
- MSG= EQU /SYSREQ/MSG=
- RCL= EQU /SYSREQ/RCL=
- RSB= EQU /SYSREQ/RSB=
- WNB= EQU /SYSREQ/WNB=
- SYS= SPACE 4,15
- ** SYS= - PROCESS SYSTEM REQUEST.
- *
- * ENTRY (X6) = SYSTEM REQUEST.
- *
- * USES X - 1, 6, 7.
- * A - 1, 7.
- * B - 2.
- *
- * CALLS /SYSREQ/SYS=.
- SYS= SUBR ENTRY/EXIT
- RJ /SYSREQ/SYS=
- SA1 PREQ
- ZR X1,SYS=X IF NO PP REQUEST
- BX7 X7-X7 CLEAR REQUEST WORD
- SX6 X1-TPPRL-1 VERIFY REQUEST
- SA7 A1
- PL X6,SYS=X IF INCORRECT REQUEST
- SB2 X1+TPPR-1
- JP B2 EXIT TO REQUEST PROCESSOR
- * TABLE OF PP REQUESTS.
- TPPR BSS 0
- + EQ CLEAR CLEAR INITIALIZATION FLAGS
- + EQ RERUN PROCESS RERUN
- + EQ TKL PROCESS TRACK LIMIT
- BSS 0
- TPPRL EQU *-TPPR
- TITLE KEYBOARD PROCESSOR.
- KIP SPACE 4,10
- ** KIP - KEYBOARD PROCESSOR.
- * *PKI* UNPACKS INPUT PARAMETERS FOR *MSI* FUNCTIONS.
- *
- * EXIT TO PKI2 IF NO INCORRECT FUNCTIONS ENCOUNTERED.
- * TO PKIX IF *GO* ENTERED.
- * TO PKI1 IF PAGING OCCURED.
- * TO *CLEAR* OR *RERUN* IF APPROPRIATE COMMAND ENTERED.
- * (B6) = NUMBER OF ARGUMENTS ENTERED.
- * (X6) = 0 IF NO ERRORS IN UNPACKING OF ARGUMENTS.
- *
- * USES X - ALL.
- * A - 1, 2, 3, 5, 6, 7.
- * B - 2, 3, 6, 7.
- *
- * CALLS PGD, UPC.
- *
- * MACROS CONSOLE, MOVE, RECALL.
- KIP BX6 X6-X6 CLEAR PARAMETER AREA
- SB3 PARAML-1
- KIP1 SA6 PAR+B3
- SB3 B3-B1 DECREMENT COUNT
- NZ B3,KIP1 IF MORE WORDS TO CLEAR
- SA6 I CLEAR INPUT BUFFER
- SA6 A6+B1
- CONSOLE KDCW
- KIP2 RECALL
- SA1 I
- ZR X1,KIP2 IF INPUT NOT READY
- MX0 6
- BX3 X1*X0 SET ENTRY CONDITIONS FOR *PGD*
- SX2 PAGA
- SA5 FLFG
- ZR X5,KIP2.1 IF INITIALIZE PROCESSING
- SX2 PAGB
- KIP2.1 BX4 X4-X4
- SX1 KDCW
- RJ PGD PAGE DISPLAY
- ZR X4,PKI1 IF PAGING OCCURRED
- MOVE 4,BLK,KBDS1+1
- MOVE 4,BLK,KBDS2+1
- SA1 I
- BX0 X1
- LX0 18
- SA3 FADD FLAW KEYBOARD INPUT ADDRESS
- SA5 FLFG
- NZ X5,KIP3 IF FLAW PROCESSING
- SA5 PAGA
- LX5 30
- SB2 X5
- NE B2,B1,KIP3 IF CURRENT LEFT SCREEN INDEX IS 2
- SA3 IADD
- KIP3 SX5 X0-3RGO.
- NZ X5,KIP3.1 IF NOT *GO*
- SA1 BLK
- KIP3.1 MOVE 4,I,X3
- ZR X5,PKIX IF *GO* ENTERED
- SA1 CLRM
- LX0 -18
- BX2 X1-X0
- SA1 RERN
- AX2 30
- SX7 B1
- ZR X2,KIP4 IF *CLEAR*
- BX2 X1-X0
- AX2 30
- ZR X2,RERUN IF *RERUN*
- SA5 CARD PROCESS COMMAND
- SB7 PAR-1
- RJ UPC UNPACK COMMAND
- SB6 B6-B1 SKIP FIRST ARGUMENT
- EQ PKI2 GO PROCESS ENTRY
- KIP4 SA7 CLF
- EQ CLEAR ENTER CLEAR ROUTINE
- CARD DATA H*MSI,* COMMAND IMAGE
- I BSSZ 8 KEYBOARD INPUT BUFFER
- KDCW VFD 24/I,18/R,18/O K DISPLAY CONTROL WORD
- FADD VFD 42/0,18/KBDS2+1 DISPLAY ADDRESS FOR FLAWING
- IADD VFD 42/0,18/KBDS1+1 DISPLAY ADDRESS FOR INITIALIZING
- BLK DIS 4,
- CLRM DATA 5LCLEAR
- RERN DATA 5LRERUN
- SPACE 4,10
- * INITIALIZE PAGE TABLE.
- PAGA PAGT O,MSDS1,KBDS1 LEFT SCREEN PAGE 1
- PAGT L,MSDS2,KBDS2 LEFT SCREEN PAGE 2
- PAGT
- PAGT R RIGHT SCREEN
- PAGT *
- * FLAW PAGE TABLE.
- PAGB PAGT L,MSDS2,KBDS2 LEFT SCREEN
- PAGT
- PAGT R RIGHT SCREEN
- PAGT *
- PGD HERE REMOTE BLOCK FROM *COMCDCP*
- CDS SPACE 4,10
- ** CDC - CLEAR K-DISPLAY ENTRIES.
- *
- * USES X - 0, 1, 6, 7.
- * A - 1, 6, 7.
- * B - 2, 3.
- CDS SUBR ENTRY/EXIT
- SX7 LTDS+1 RESTORE *DAST*
- SA7 DAST
- SX7 LTDS+3 RESTORE *DASM*
- SA7 DASM
- SA1 BLK
- SX7 1R0-1R
- SB2 20B
- LX7 -6
- IX7 X1+X7
- BX6 X1
- SA1 DATB
- CDS1 SA7 X1 CLEAR DISPLAY AREA
- SA1 A1+B1
- SB3 A1-DAST
- NZ B3,CDS1 IF NOT END OF OPTIONS
- SB3 X1 SAVE ADDRESS OF FLAW DISPLAY
- BX7 X6
- CDS2 SA6 B3
- SA7 A6+B1
- SB2 B2-B1
- SB3 B3+6
- NZ B2,CDS2 IF NOT END OF FLAW DISPLAY
- SB2 20B
- SB3 LTDS+1 BLANK OUT LEFT SCREEN
- CDS3 SA6 B3
- SA7 A6+B1
- SA7 A7+B1
- SA7 A7+B1
- SB2 B2-B1
- SB3 B3+6 INCREMENT TO NEXT LINE
- NZ B2,CDS3 IF NOT LAST LINE
- EQ CDSX RETURN
- TITLE K-DISPLAY LINE NUMBERS.
- SPACE 4
- SPACE 4,10
- * K-DISPLAY FOR THE LEFT SCREEN WHEN INITIALIZING DEVICES.
- * THERE IS NO RIGHT SCREEN.
- * EST ORDINALS THAT ARE SITE DEPENDENT.
- LVAL OCTMIC NOPE EST ORDINAL MINIMUM VALUE
- UVAL OCTMIC ESMX-1 EST ORDINAL MAXIMUM VALUE
- FVAL DECMIC PNFE FLAW ENTRIES MAXIMUM VALUE
- O VFD 18/0,18/KDTB,24/0 DISPLAY CONTROL WORD
- KDL 1,T,(MASS STORAGE DEVICE INITIALIZATION )
- KDL 54,T,(PAGE 1 OF 2)
- KDL 1,K,(INITIALIZE EQUIPMENT)
- OPDS KDL 1,K,( )
- INDSA KDL 1,K,( )
- TPDS KDL 1,H,(INITIALIZE REQUEST )
- KDL 1,H,( OPTION DESCRIPTION)
- EQDS KDL 1,K,( EQ = 0 EST ORDINAL OF DEVICE ("LVAL"-"UVAL")
- ,.)
- FNDS KDL 1,K,( FM = 0 FAMILY NAME OR PACK NAME IF TY=X (1-7
- , CHAR).)
- DNDS KDL 1,K,( DN = 0 DEVICE NUMBER (1-77).)
- UNDS KDL 1,K,( UN = 0 PRIVATE AUXILIARY DEVICE USER NAME (1
- ,-7 CHAR).)
- TYDS KDL 1,K,( TY = 0 ACCESS TYPE (F OR X).)
- LADS KDL 1,K,( LA = 0 LOWER ACCESS LEVEL (1-7 CHAR).)
- UADS KDL 1,K,( UA = 0 UPPER ACCESS LEVEL (1-7 CHAR).)
- DMDS KDL 1,K,( DM = 0 DEVICE MASK (0-377).)
- SMDS KDL 1,K,( SM = 0 SECONDARY MASK (0-377).)
- NCDS KDL 1,K,( NC = 0 CATALOG TRACKS (0-200).)
- NPDS KDL 1,K,( NP = 0 NUMBER OF PACKS (1-7).)
- MSDS1 KDL 1,M,( )
- KBDS1 KDL 1,I,( )
- CON 0 END OF DISPLAY
- SPACE 4,10
- * K-DISPLAY FOR THE LEFT SCREEN WHEN FLAWING DEVICES.
- * THERE IS A RIGHT SCREEN.
- L VFD 18/0,18/KDTB,24/0 DISPLAY CONTROL WORD
- LNDS KDL 1,T,(CURRENT FLAW ENTRIES )
- KDL 54,T,(PAGE 2 OF 2)
- INDS KDL 1,K,( EQ = 0 EST ORDINAL OF DEVICE. )
- KDL 1,H,( NUM VALUES ENTERED TRT OCTAL VALUES * = DUPLICAT
- ,E)
- LTDS KDL 1,K,( 1 )
- KDL 1,K,( 2 )
- KDL 1,K,( 3 )
- KDL 1,K,( 4 )
- KDL 1,K,( 5 )
- KDL 1,K,( 6 )
- KDL 1,K,( 7 )
- KDL 1,K,( 8 )
- KDL 1,K,( 9 )
- KDL 1,K,( 10 )
- KDL 1,K,( 11 )
- KDL 1,K,( 12 )
- KDL 1,K,( 13 )
- KDL 1,K,( 14 )
- KDL 1,K,( )
- MSDS2 KDL 1,M,( )
- KBDS2 KDL 1,I,( )
- CON 0 END OF DISPLAY
- SPACE 4,10
- * K-DISPLAY FOR THE RIGHT SCREEN WHEN FLAWING DEVICES.
- * THERE IS A LEFT SCREEN.
- R VFD 18/0,18/KDTB,24/0 DISPLAY CONTROL WORD
- KDL 1,T,(MASS STORAGE DEVICE FLAWING)
- KDL 1,H,(SLF, CLF, SPF AND CPF ENTRIES)
- RTDS KDL 1,K,( )
- KDL 1,K,( SLF = NNNN SET LOGICAL TRACK FLAW.)
- KDL 1,K,( CLF = NNNN CLEAR LOGICAL TRACK FLAW.)
- KDL 1,K,( SPF = XX SET PHYSICAL TRACK FLAW.)
- KDL 1,H,( CPF = XX CLEAR PHYSICAL TRACK FLAW.)
- KDL 1,K,( WHERE)
- KDL 1,K,( NNNN = VALID LOGICAL TRACK NUMBER.)
- KDL 1,K,( XX = C000,T00,S00 (CYLINDER,TRACK,SECTOR.)
- KDL 1,H,( = A0000000 (ADDR/10B, FOR DE/DP ONLY.))
- KDL 1,K,( NUMERIC VALUES ARE CONSIDERED OCTAL UNLESS THE)
- KDL 1,K,( DIGITS 8 OR 9 APPEAR IN THE NUMBER, OR A *D* IS)
- KDL 1,H,( APPENDED TO THE NUMBER.)
- KDL 1,K,(SEE LEFT SCREEN FOR CURRENT ENTRIES,)
- KDL 1,H,(UP TO "FVAL" ENTRIES ALLOWED.)
- CON 0 END OF DISPLAY
- * Y - COORDINATE TABLE.
- KYCT KDL *
- PRK HERE ASSEMBLE REMOTE BLOCK FROM COMCDCP HERE
- KDTA DATA C*FLAW.* K-DISPLAY TITLE
- KDTB DATA C*INITIALIZE.* K-DISPLAY TITLE
- TITLE BUFFERS AND FLAGS
- SPACE 4
- ** TABLES AND BUFFERS.
- USE BUFFERS
- UTL= BSS 0 SYSTEM UTILITY SPECIAL ENTRY POINT
- SSJ= BSSZ SSJL
- ESTB EQU * EST TABLE
- ESTF EQU ESTB+ESMX*ESTE EST MST LINK TABLE
- PKL EQU ESTF+ESMX PACK LINK TABLE
- BUF EQU PKL+PKLL MST BUFFER
- CATB EQU BUF+ESMX*MSTL BUFFER FOR CATALOG READS
- SCRB EQU CATB+CATBL SCRATCH BUFFER
- RFL= EQU SCRB+SCRBL
- SPACE 4
- END
cdc/nos2.source/opl871/msi.txt ยท Last modified: 2023/08/05 17:24 by Site Administrator