cdc:nos2.source:opl871:loadbc
Table of Contents
LOADBC
Table Of Contents
- [00008] LOADBC - LOAD BUFFER CONTROLWARE.
- [00291] NIPADD - NAD INITIATION PARAMETER ADDRESS.
- [00310] NSTADD - NAD STATUS WORD ADDRESS.
- [00451] TRCM - GENERATE MESSAGE ADDRESS TABLE.
- [00467] TLRC - INDEXED TABLE OF LOAD RESPONSE MESSAGE ADDRESSES.
- [00513] TDMA - INDEXED TABLE OF DUMP RESPONSE MESSAGE ADDRESSES.
- [00601] NAD CONTROLWARE PARAMETERS.
- [00603] NADCON - GENERATE NAD CONSTANT.
- [00617] NADIP - NAD INITIALIZATION PARAMETERS.
- [00673] MAIN PROGRAM.
- [00675] LOAD BUFFER CONTROLWARE MAIN PROGRAM.
- [00765] DISK CONTROLWARE SUBROUTINES.
- [00767] CCS - CHECK CHANNEL STATUS.
- [00835] TCWT - TABLE OF CONTROLWARE TYPES.
- [00855] ELP - END *LOADBC* PROCESSING.
- [00893] FFI - FIND FIRMWARE IDENT.
- [00949] IRM - ISSUE RESPONSE MESSAGES.
- [01041] RCF - READ CONTROLWARE FILE.
- [01158] RCT - READ CHANNEL TABLES.
- [01179] SCN - SELECT CHANNEL NUMBER.
- [01294] VCD - VERIFY CONTROLWARE DUMP.
- [01375] PROCESS NAD CONTROLWARE.
- [01377] PNC - PROCESS NAD CONTROLWARE.
- [01434] CCV - SET UP PARAMETERS AND CALL *CVL*.
- [01512] CNL - CALL *NLD* TO LOAD NAD CONTROLWARE.
- [01572] CNP - CHECK NAD INITIATION PARAMETERS.
- [01675] EMS - ISSUE ERROR MESSAGE.
- [01707] FNP - FETCH NAD INITIATION PARAMETER.
- [01735] FNS - FETCH NAD STATUS WORD.
- [01766] NER - PROCESS *NLD* ERROR.
- [01787] PSE - PAUSE FOR OPERATOR GO/DROP.
- [01808] RET - RETURN NAD EQUIPMENT VIA *CVL*.
- [01838] SNP - SET NAD INITIATION PARAMETER.
- [01872] COMMON DECKS.
- [01890] BUFFER ALLOCATION.
- [01917] PRESET.
- [01919] PRS - PRESET PROGRAM.
- [02150] CNS - CHECK IF NAD ONLY PARAMETER SPECIFIED.
- [02165] TLCA - TABLE OF *LOADBC* ARGUMENTS.
- [02183] TRCT - TABLE OF REMOTE CONTROLWARE TYPES.
Source Code
- LOADBC.txt
- IDENT LOADBC,110B,LOADBC
- ABS
- SST
- ENTRY LOADBC
- ENTRY RFL=
- ENTRY SSJ=
- SYSCOM B1
- TITLE LOADBC - LOAD BUFFER CONTROLWARE.
- *COMMENT LOADBC - LOAD BUFFER CONTROLWARE.
- COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
- LOADBC SPACE 4,10
- ***** LOADBC - DOWNLOAD DISK OR NAD CONTROLWARE.
- *
- * W. J. SMITH. 79/07/21.
- * J. L. LARSON. 83/06/14.
- *
- * LOAD APPROPRIATE CONTROLWARE ON REQUESTED CHANNEL.
- LOADBC SPACE 4,10
- *** *LOADBC* IN CONJUNCTION WITH THE PP PROGRAM *1LC* WILL DOWN-
- * LOAD CONTROLWARE TO THE REQUESTED CHANNEL AND CONTROLLER.
- *
- * COMMAND CALL - (DISK AND LOCAL NAD FORMAT)
- *
- * LOADBC(C=XX,F=EEEEEEE,D=DDDDDDD)
- *
- * XX OCTAL CHANNEL NUMBER. IF NOT SPECIFIED
- * (FOR A SYSTEM INITIATED REQUEST), CHANNEL IS
- * DETERMINED FROM THE CHANNEL CONTROLWARE TABLE OR
- * THE EST (CONTROL MODULE LOAD).
- * IF THE PREFIX C IS USED THE CHANNEL IS A CONCURRENT
- * CHANNEL. (IE. C4 = CONCURRENT CHANNEL 4)
- *
- * EEEEEEE FILE NAME TO LOAD CONTROLWARE FROM
- * (DEFAULT = SYSTEM FILE).
- *
- * DDDDDDD FILE NAME TO DUMP CONTROLLER MEMORY TO BEFORE
- * CONTROLLER RELOAD. THE DUMP CAPABILITY IS AVAILABLE
- * FOR 7155/7165/7255 CONTROLLERS ONLY
- * (DEFAULT = NO LOAD).
- *
- * *LOADBC* PRESENTLY ASSUMES A CONTROLLER PHYSICAL EQUIPMENT
- * NUMBER OF ZERO.
- *
- * COMMAND CALL - (CONTROL MODULE)
- *
- * LOADBC(EQ=EO,F=EEEEEEE)
- *
- * EO CONTROL MODULE EST ORDINAL.
- * EEEEEEE FILE NAME TO LOAD CONTROLWARE FROM
- * (DEFAULT = SYSTEM FILE).
- *
- *
- * *LOADBC* CAN ALSO LOAD CONTROLWARE ON REMOTE NADS
- * VIA *NLD* AFTER FIRST OBTAINING VALIDATION FROM *CVL*.
- *
- * COMMAND CALL - (REMOTE NAD FORMAT)
- *
- * LOADBC(C=XX,ND=AA,TY=BBB,LT=CC,AC=DDDD,F=EEEEEEE)
- *
- * XX OCTAL CHANNEL NUMBER.
- * AA HEXADECIMAL REMOTE NAD NUMBER.
- * BBB TYPE OF CONTROLWARE TO LOAD.
- * 170 - CYBER 170 (DEFAULT).
- * IBM - IBM.
- * MIN - COMMON MINICOMPUTER.
- * 200 - CYBER 20X.
- * CC LOGICAL TCU ENABLES MASK.
- * DDDD HEXADECIMAL ACCESS CODE.
- * EEEEEEE FILE NAME TO LOAD CONTROLWARE FROM
- * (DEFAULT = SYSTEM FILE).
- LOADBC SPACE 4,10
- *** DAYFILE MESSAGES.
- *
- * * BUFFER ARGUMENT ERROR.*
- * *LOADBC* LOAD FET CONTAINED INCORRECT BUFFER POINTER.
- *
- * * CHXX, CONTROLLER RESERVED.*
- * THE MULTIPLE-ACCESS CONTROLLER IS RESERVED THROUGH THE
- * ALTERNATE ACCESS. *LOADBC* DELAYS AND CONTINUES RETRY
- * OF CONTROLWARE RELOAD VIA *1LC* UNTIL THE RESERVE IS
- * RELEASED.
- *
- * * CONTROLLER DID NOT TAKE ALL CONTROLWARE.*
- * THE CONTROLLER DID NOT TAKE ALL THE DATA IN THE
- * CONTROLWARE RECORD DURING LOAD PROCESSING.
- * THE CONTENTS OF THE A REGISTER IN *1LC* WAS NOT
- * ZERO AFTER ONE OF THE *OAM* INSTRUCTIONS.
- *
- * * CONTROLLER DUMP COMPLETE.*
- * REQUESTED CONTROLLER DUMP WAS SUCCESSFUL.
- *
- * * CONTROLLER DUMP UNSUCCESSFUL.*
- * *1LC* WAS UNABLE TO DUMP 7155 CONTROLLER MEMORY DUE
- * TO FUNCTION TIMEOUT OR INCORRECT CONTROLLER RESPONSE.
- *
- * * CONTROLWARE LOAD ABORT, C=XX.*
- * REQUESTED CONTROLWARE LOAD WAS UNSUCCESSFUL.
- * XX = CHANNEL NUMBER XX REQUESTED.
- *
- * * CONTROLWARE LOAD ABORT, EQ=XXX.*
- * REQUESTED CONTROLWARE LOAD WAS UNSUCCESSFUL.
- * XX = CONTROL MODULE EST ORDINAL.
- *
- * * CONTROLWARE LOAD ALREADY IN PROGRESS.*
- * REQUESTED CONTROLWARE LOAD FOR SPECIFIED CHANNEL
- * WAS ALREADY BEING PROCESSED BY ANOTHER COPY OF
- * *LOADBC*/*1LC*.
- *
- * * CONTROLWARE NOT FOUND.*
- * EITHER THE SPECIFIED FILE DOES NOT CONTAIN THE
- * REQUESTED CONTROLWARE, OR *F=0* WAS SPECIFIED.
- *
- * * DUMP BUFFER ARGUMENT ERROR.*
- * *LOADBC* DUMP FET CONTAINED INCORRECT BUFFER POINTER.
- *
- * * ERROR IN PARAMETERS.*
- * *LOADBC* COMMAND CONTAINED INCORRECT PARAMETER(S).
- *
- * * FUNCTION TIMED OUT=NNNN.*
- * *1LC* TIMED OUT IN THE FUNCTION ROUTINE WHEN
- * FUNCTIONING THE CONTROLLER DURING LOAD PROCESSING.
- * NNNN = FUNCTION NUMBER.
- *
- * * GENERAL STATUS = NNNN.*
- * NNNN = THE GENERAL STATUS AFTER THE CONTROLWARE LOAD
- * WAS COMPLETED. THE CONTROLWARE LOAD WAS NOT
- * SUCCESSFUL AND THE GENERAL STATUS IS NOT ZERO.
- *
- * * INSUFFICIENT DUMP BUFFER SPACE.*
- * *LOADBC* DUMP FET BUFFER SPACE WAS INSUFFICIENT FOR
- * CONTROLLER MEMORY DUMP.
- *
- * * INCORRECT CHANNEL NUMBER.*
- * CHANNEL NUMBER SUPPLIED ON *LOADBC* COMMAND WAS NOT
- * NUMERIC OR WAS NOT A VALID HARDWARE CHANNEL NUMBER.
- *
- * * INCORRECT EST ORDINAL.*
- * EST ORDINAL SUPPLIED ON *LOADBC* COMMAND WAS NOT A
- * VALID EST ORDINAL.
- *
- * * INCORRECT 1LC DUMP RESPONSE CODE.*
- * *1LC* RETURNED AN INCORRECT RESPONSE CODE TO *LOADBC*.
- *
- * * LENGTH IN 52 TABLE .NE. FET.*
- * THE CONTROLWARE RECORD LENGTH IN THE 52 TABLE DID NOT
- * EQUAL THE CONTROLWARE RECORD LENGTH SPECIFIED IN THE
- * FET AFTER THE CONTROLWARE WAS READ INTO *LOADBC* FIELD
- * LENGTH.
- *
- * * LOADBC ABORT - BAD INITIATION PARAMETERS.*
- * THE ACTUAL NAD MEMORY SIZE IS SMALLER THAN THE
- * SPECIFIED *LOADBC* DEFAULT MEMORY SIZE.
- *
- * * LOADBC ABORT - XXX ERROR CODE = YYY.*
- * PP PROGRAM XXX (*CVL* OR *NLD*) RETURNED A RESPONSE
- * CODE OF YYY WHEN VALIDATING THE NAD OR WHEN
- * LOADING NAD CONTROLWARE.
- *
- * * LOADBC REMOTE NAD LOAD - GO OR DROP.*
- * FLASHING DISPLAY MESSAGE INDICATING THAT *CVL* COULD
- * NOT DETERMINE THE STATUS OF THE NAD. OPERATOR
- * ACTION IS REQUIRED BEFORE CONTROLWARE WILL BE
- * LOADED.
- *
- * * NO CHANNEL LOAD REQUEST.*
- * CHANNEL WAS NOT SPECIFIED ON THE *LOADBC* COMMAND
- * AND CHANNEL CONTROLWARE LOAD REQUEST WAS NOT FOUND
- * IN THE CHANNEL TABLE.
- *
- * * NO CONTROLWARE ON CHANNEL.*
- * THE CHANNEL TABLES INDICATE NO CONTROLWARE
- * EXISTS ON THE REQUESTED CHANNEL.
- *
- * * NO GENERAL STATUS RECEIVED.*
- * AFTER A GENERAL STATUS FUNCTION IN *1LC*, THE *IAM*
- * INSTRUCTION DID NOT RECEIVE THE STATUS WORD.
- *
- * * NO 52 TABLE IN CONTROLWARE RECORD.*
- * THE CONTROLWARE RECORD READ FROM THE FILE DID
- * NOT CONTAIN A 52 TABLE ENTRY.
- *
- * * NO 77 TABLE IN CONTROLWARE RECORD.*
- * THE CONTROLWARE RECORD READ FROM THE FILE DID
- * NOT CONTAIN A 77 PREFIX TABLE.
- *
- * * NOT CORRECT CONTROLLER TYPE FOR DUMP.*
- * REQUESTED CONTROLLER DUMP WAS NOT PERFORMED SINCE
- * THE DEVICE IS NOT A 7155/7165 CONTROLLER NOR A 7255
- * ADAPTOR.
- *
- * * NOT CONTROL MODULE EST ORDINAL.*
- * EST ORDINAL SUPPLIED ON *LOADBC* COMMAND DOES NOT
- * CORRESPOND TO A CONTROL MODULE DEVICE.
- *
- * * SPECIFIED CHANNEL IS IN USE.*
- * THE CHANNEL TABLES INDICATE THE SPECIFIED CHANNEL
- * WAS DOWN AND ASSIGNED TO MAINTENANCE PERSONNEL.
- *
- * * SYSTEM NOT IN ENGR MODE.*
- * *LOADBC* AND *1LC* INITIATED FROM A NON-SYSTEM REQUEST
- * REQUIRE ENGINEERING MODE ENABLED.
- *
- * * USER NOT SYSTEM ORIGIN.*
- * *LOADBC* AND *1LC* CAN ONLY BE INITIATED FROM SYSTEM
- * ORIGIN OR FROM A SYSTEM REQUEST.
- *
- * * VALIDATION DENIED - DEVICE NOT FOUND.*
- * *CVL* RETURNED A RESPONSE INDICATING THAT THE
- * SPECIFIED NAD WAS NOT FOUND IN THE EST.
- *
- * * VALIDATION DENIED - DEVICE ON OR IN USE.*
- * *CVL* RETURNED A RESPONSE INDICATING THAT NAD
- * CONTROLWARE COULD NOT BE LOADED BECAUSE THE NAD
- * WAS TURNED ON OR IN USE.
- *
- * * YYY FIRMWARE MATTT-VVV,CH=XX.*
- * YYY = CONTROLLER TYPE (844, 885, FSC ADAPTOR).
- * TTT = CONTROLWARE TYPE (401, 454, 710, 721).
- * VVV = VERSION NUMBER (A12, A13,...).
- * XX = CHANNEL ON WHICH CONTROLWARE WAS DOWNLOADED.
- LOADBC SPACE 4,10
- *** ERRLOG MESSAGES.
- *
- * *CHXX,MATTT,AVV,LOAD COMPLETE.*
- * XX = CHANNEL ON WHICH DISK CONTROLWARE WAS DOWNLOADED.
- * TTT = CONTROLWARE TYPE (MA401, MA454, MA710, MA721).
- * VV = VERSION NUMBER (A12, A13, A15, ...).
- *
- * * CHXX,ABORT,SYYYY.*
- * AN ERROR IN GENERAL STATUS AFTER THE CONTROLWARE WAS
- * DOWNLOADED.
- * XX = CHANNEL NUMBER XX.
- * YYYY = GENERAL STATUS.
- *
- * * CHXX,ABORT,FYYYY.*
- * FUNCTION TIMEOUT WHEN FUNCTIONING THE DISK CONTROLLER.
- * XX = CHANNEL NUMBER.
- * YYYY = FUNCTION THAT TIMED OUT.
- *
- * * CHXX,ABORT,ALL DATA NOT TAKEN.*
- * THE CONTROLLER DID NOT ACCEPT ALL THE DATA ON A
- * DOWNLOAD CONTROLWARE ATTEMPT.
- * XX = CHANNEL NUMBER.
- *
- * * CHXX,ABORT,NO GENERAL STATUS.*
- * AFTER DOWNLOAD OF CONTROLWARE WAS COMPLETE, THE
- * GENERAL STATUS WORD WAS NOT RETURNED BY THE CONTROLLER
- * AFTER A STATUS FUNCTION.
- * XX = CHANNEL NUMBER.
- *
- * * CHXX, CONTROLLER RESERVED.*
- * THE GENERAL STATUS INDICATED THE MULTIPLE-ACCESS
- * CONTROLLER WAS RESERVED THROUGH THE ALTERNATE ACCESS.
- * CONTROLWARE IS DOWNLOADED AFTER THE CONTROLLER RESERVE
- * IS RELEASED.
- * XX = CHANNEL NUMBER.
- SPACE 4,10
- *** *LOADBC* IS A CPU PROGRAM WHICH LOADS CONTROLWARE TO
- * A SPECIFIED OR DRIVER REQUESTED CHANNEL OR CONTROL
- * MODULE. THE CONTROLWARE IS READ FROM A LOCAL
- * FILE OR FROM THE SYSTEM (DEFAULT) FILE.
- * IF CONTROLWARE IS TO BE LOADED ON A DISK CHANNEL, *1LC*
- * IS CALLED TO DO THE ACTUAL LOADING OF CONTROLWARE READ FROM
- * *LOADBC* FIELD LENGTH. A RESPONSE CODE IS RETURNED TO
- * *LOADBC* LOAD FET+0 AND THE APPROPRIATE DAYFILE MESSAGE
- * IS ISSUED. *LOADBC* WILL RETRY CONTROLWARE RELOAD VIA *1LC*
- * *CRRC* TIMES BEFORE THE RELOAD IS CONSIDERED UNSUCCESSFUL
- * DUE TO CONTROLLER HARDWARE MALFUNCTION. FOR 7155 DISK
- * CONTROLLERS, *1LC* WILL ALSO OPTIONALLY DUMP THE CONTROLLER
- * MEMORY TO *LOADBC* DUMP BUFFER BEFORE RELOADING THE
- * CONTROLWARE. *LOADBC* WILL PERFORM A BINARY COMPARISON
- * BETWEEN THE OLD AND NEW CONTROLWARE AND WRITE THIS
- * DATA TO A FILE THAT CAN BE PROCESSED BY *DSDI*.
- * IF CONTROLWARE IS TO BE LOADED ON A NAD CHANNEL, *CVL* IS
- * FIRST CALLED TO VALIDATE ACCESS TO THAT NAD. IF VALIDATION
- * HAS BEEN GRANTED, *NLD* IS CALLED FOUR TIMES - 1) TO LOAD
- * CONTROLWARE USING DEFAULT NAD BUFFER AND MEMORY SIZE
- * PARAMETERS, 2) TO OBTAIN GENERAL NAD STATUS AND THE NAD-S
- * ACTUAL MEMORY SIZE, 3) TO LOAD CONTROLWARE USING THE ACTUAL
- * NAD MEMORY SIZE, AND 4) TO RETURN THE LOCAL NAD TO A
- * USABLE STATE. THE ASSIGNED LOCAL NAD IS THEN RELEASED
- * BY A FINAL CALL TO *CVL*, AND AN APPROPRIATE DAYFILE
- * MESSAGE IS ISSUED.
- SPACE 4,10
- * MACRO DEFINITIONS.
- *CALL COMCCMD
- *CALL COMCMAC
- NIPADD SPACE 4,15
- ** NIPADD - NAD INITIATION PARAMETER ADDRESS.
- *
- * NIPADD W
- * W = NAD WORD ORDINAL (0-24).
- *
- * USES X - 2.
- * A - 2.
- * B - 2.
- NIPADD MACRO W
- LOCAL A,B
- MACREF NIPADD
- A SET W*24/60 *NADIP* TABLE OFFSET
- B SET W*24-A*60 SHIFT COUNT
- SA2 NADIP+A
- SB2 B+12D
- ENDM
- NSTADD SPACE 4,15
- ** NSTADD - NAD STATUS WORD ADDRESS.
- *
- * NSTADD W
- * W = NAD STATUS WORD ORDINAL (0-23).
- *
- * USES X - 2.
- * A - 2.
- * B - 2.
- NSTADD MACRO W
- LOCAL A,B
- MACREF NSTADD
- A SET W*16/60 NAD STATUS BLOCK OFFSET
- B SET W*16-A*60 SHIFT COUNT
- SA2 GST+A
- SB2 B
- ENDM
- SPACE 4,10
- * COMMON DECKS.
- *CALL COMSDFS
- *CALL COMSDSL
- *CALL COMSPRD
- *CALL COMSSSD
- *CALL COMSSSJ
- SPACE 4,10
- * LOCAL SYMBOL DEFINITIONS.
- BUFL EQU 10000D BUFFER SIZE NECESSARY FOR NAD CW
- CRRC EQU 3 CONTROLWARE RELOAD RETRY COUNT
- CTL EQU 201B *CVL* LOAD CONTROLWARE FLAGS
- CTSZ EQU 40000B 7165 CONTROLLER MEMORY SIZE
- DBUFL SET CTSZ*2+4
- DBUFL SET DBUFL/5+1 DUMP BUFFER LENGTH
- FDBC EQU 100B FIRST DUMP BYTE TO COMPARE
- FDWI EQU FDBC*2/5 FIRST DUMP WORD INDEX
- FDBI EQU FDBC*2-FDWI*5 FIRST DUMP BYTE INDEX
- LDBC EQU 13710B+1 LAST DUMP BYTE + 1 TO COMPARE
- LDWI EQU LDBC*2/5 LAST DUMP WORD INDEX
- LDBI EQU LDBC*2-LDWI*5 LAST DUMP BYTE INDEX
- CDHZ EQU 2410D CONTROLWARE DIAGNOSTICS HEADER SIZE
- FLBC EQU CDHZ+FDBC-100B FIRST LOAD BYTE TO COMPARE
- ERRNG FDBC-100B LOAD BEGINS AT 100B AFTER DIAGNOSTICS
- FLWI EQU FLBC*2/5 FIRST LOAD WORD INDEX
- FLBI EQU FLBC*2-FLWI*5 FIRST LOAD BYTE INDEX
- NAD EQU 300B *CVL* NAD DEVICE CODE
- RND EQU 301B *CVL* REMOTE NAD DEVICE CODE
- RTNU EQU 10B RETURN EQUIPMENT BIT
- VRNM EQU 4 *CVL* RESPONSE - DEVICE NOT FOUND
- VRUS EQU 6 *CVL* RESPONSE - DEVICE IN USE OR ON
- VRSI EQU 34B *CVL* RESPONSE - NAD STATUS INDETERMINATE
- SPACE 4,10
- * GLOBAL MEMORY DEFINITIONS.
- ORG 110B
- SSJ= VFD 36/0,12/LCCS,12/IRSI
- BSSZ SSJL-1
- SPACE 4,10
- * FILE ENVIRONMENT TABLES.
- IN EQU *
- SYSTEM RFILEB BUF,BUFL,(FET=9)
- DUMP FILEB DBUF,DBUFL
- ORG DUMP
- CON 0 CLEAR DUMP FILE NAME
- ORG DUMP+5
- SPACE 4,10
- * CONTROL STORAGE CELLS.
- ACC CON 0 REMOTE NAD ACCESS CODE
- CCHF CON 0 CONCURRENT CHANNEL FLAG
- CHAN VFD 18/2H ,42/0 CHANNEL IN DISPLAY CODE LEFT JUSTIFIED
- CHN CON 0 CHANNEL NUMBER
- CME CON 0 CONTROL MODULE EST ORDINAL
- CMES CON 0 EST ORDINAL DISPLAY CODE LEFT JUSTIFIED
- CMQ CON 0 CONTROL MODULE EQUIPMENT NUMBER
- CRN CON 0 CONTROLWARE RECORD NAME LEFT JUSTIFIED
- CWL CON 0 CONTROLWARE LENGTH
- DRCF CON 0 SET IF NOT DRIVER CALL
- ESTW CON -1 EST POINTER WORD *ESTP*
- FN VFD 36/6HSYSTEM,24/0 DEFAULT CONTROLWARE FILE
- FWC CON 0 FWA OF CONTROLWARE
- LTCU CON 0 LOGICAL TCU ENABLES
- LWC CON 0 LWA+1 OF CONTROLWARE
- RE CON 0 RETURN EQUIPMENT FLAG
- RL CON 0 REMOTE NAD LOAD FLAG
- RNAD CON 0 REMOTE NAD NUMBER
- RT CON CRRC RETRY COUNT
- TYPE DATA 0L170 NAD CONTROLWARE TYPE
- TYPN CON 0 NAD TYPE FLAG
- GST BSSZ 100B GENERAL STATUS RETURNED BY *NLD*
- GSTL EQU * APPROXIMATE END OF GENERAL STATUS
- CVLB SPACE 4,10
- ** *CVL* PARAMETER BLOCK.
- CVLB BSS 0
- LOC 0
- CRC CON 0 RESPONSE CODE
- CEO CON 0 EST ORDINAL
- CCH CON 1S48 CHANNEL
- CEQ CON 1S48+NAD*10000B LOCAL NAD DEVICE CODE
- CUN CON 0 UNIT (NOT USED FOR *RHF*)
- CDV CON 1S48 NAD DEVICE CODE
- CFC CON 0 FUNCTION CHARACTERISTICS
- CAC CON 0 REMOTE HOST ACCESS CODE
- CLT CON 0 LOGICAL TCU ENABLES MASK
- CND CON 0 REMOTE NAD NUMBER
- LOC *O
- NLDB SPACE 4,10
- ** *NLD* PARAMETER BLOCK.
- NLDB CON 0 RESPONSE CODE
- CON 0 *FIRST*
- CON 0 *IN*
- CON 0 *OUT*
- CON 0 *LIMIT*
- CON 0 RESERVED FOR REMOTE NAD LOADING
- * *NLD* PARAMETER BLOCK FOR NAD STATUS.
- NADSTAT BSS 1 WORD 0 OF *NLD* PARAMETER BLOCK
- VFD 60/GST *FIRST*
- VFD 60/GST *IN*
- VFD 60/GST *OUT*
- VFD 60/GSTL *LIMIT*
- BSSZ 1 RESERVED FOR REMOTE NAD STATUS
- SPACE 4,10
- * NAD STATUS SYMBOLS.
- WAMS EQU 22D WORD ORDINAL OF ACTUAL MEMORY SIZE
- WUNM EQU 12D WORD ORDINAL OF UNUSED NAD MEMORY
- TRCM SPACE 4,10
- ** TRCM - GENERATE MESSAGE ADDRESS TABLE.
- *
- * TRCM BML,DAY,ERROR
- *
- * BML BINARY MAINTENANCE LOG MESSAGE FIRST WORD ADDRESS.
- * DAY DAYFILE MESSAGE FIRST WORD ADDRESS.
- * ERROR ERROR LOG MESSAGE FIRST WORD ADDRESS.
- PURGMAC TRCM
- TRCM MACRO BML,DAY,ERROR
- VFD 24/BML
- VFD 18/DAY
- VFD 18/ERROR
- ENDM
- TLRC SPACE 4,10
- ** TLRC - INDEXED TABLE OF LOAD RESPONSE MESSAGE ADDRESSES.
- *
- *T TLRC VFD 6/0,18/ BML ,18/ DAY ,18/ ERROR
- *
- * BML BINARY MAINTENANCE LOG MESSAGE FIRST WORD ADDRESS.
- * DAY DAYFILE MESSAGE FIRST WORD ADDRESS.
- * ERROR ERROR LOG MESSAGE FIRST WORD ADDRESS.
- TLRC BSS 0
- LOC 0
- TRCM ,MSG0,EMSG
- RC1 TRCM ,MSG1
- RC2 TRCM ,MSG2
- RC3 TRCM ,MSG3
- RC4 TRCM ,MSG4
- RC5 TRCM ,MSGRR
- RC6 TRCM ,MSG6
- RC7 TRCM ,MSG7
- RC10 TRCM ,MSG10
- RC11 TRCM ,MSG11
- RC12 TRCM ,MSG12
- RC13 TRCM ,MSGRR
- RC14 TRCM ,MSG14
- RC15 TRCM ,MSG15
- RC16 TRCM ,MSG16
- RC17 TRCM ,MSG17
- RC20 TRCM ,MSG20
- RC21 TRCM ,MSG21
- RC22 TRCM ,MSGRR
- RC23 TRCM ,MSGRR
- RC24 TRCM ,MSGRR
- RC25 TRCM ,MSGRR
- RC26 TRCM ,MSGRR
- RC27 TRCM ,MSGRR
- RCAML EQU * LOAD RESPONSE CODE ABORT MESSAGE LIMIT
- RC30 TRCM BML30,MSG30,EMSG0
- RC31 TRCM BML31,MSG31,EMSG1
- RC32 TRCM BML32,MSG32,EMSG2
- RC33 TRCM BML33,MSG33,EMSG3
- RC34 TRCM 0,IRMB,EMSG4
- LOC *O
- TLRCL EQU *-TLRC TABLE LENGTH
- TDMA SPACE 4,10
- ** TDMA - INDEXED TABLE OF DUMP RESPONSE MESSAGE ADDRESSES.
- *
- * 42/0, 18/DAYFILE MESSAGE ADDRESS
- TDMA BSS 0
- LOC 0
- CON DRM0 * CONTROLLER DUMP COMPLETE.*
- DR1 CON DRM1 * DUMP BUFFER ARGUMENT ERROR.*
- DR2 CON DRM2 * INSUFFICIENT DUMP BUFFER SPACE.*
- DR3 CON DRM3 * NOT CORRECT CONTROLLER TYPE FOR DUMP.*
- DR4 CON DRM4 * CONTROLLER DUMP UNSUCCESSFUL.*
- TDMAL EQU * TABLE LENGTH
- DR5 CON DRM5 * INCORRECT 1LC DUMP RESPONSE CODE.*
- LOC *O
- SPACE 4,10
- * DAYFILE MESSAGES ISSUED BY *LOADBC*.
- MSG0 DATA C* YYY FIRMWARE VVVVVVVVV,CH=XXX.*
- MSG1 DATA C* USER NOT SYSTEM ORIGIN.*
- MSG2 DATA C* SPECIFIED CHANNEL IS IN USE.*
- MSG3 DATA C* NO CHANNEL LOAD REQUEST.*
- MSG4 DATA C* ERROR IN PARAMETERS.*
- MSG6 DATA C* INCORRECT CHANNEL NUMBER.*
- MSG7 DATA C* NO CONTROLWARE ON CHANNEL.*
- MSG10 DATA C* CONTROLWARE NOT FOUND.*
- MSG11 DATA C* SYSTEM NOT IN ENGR MODE.*
- MSG12 DATA C* BUFFER ARGUMENT ERROR.*
- MSG14 DATA C* CONTROLWARE LOAD ALREADY IN PROGRESS.*
- MSG15 DATA C* NO 77 TABLE IN CONTROLWARE RECORD.*
- MSG16 DATA C* NO 52 TABLE IN CONTROLWARE RECORD.*
- MSG17 DATA C* LENGTH IN 52 TABLE .NE. FET.*
- MSG20 DATA C* INCORRECT EST ORDINAL.*
- MSG21 DATA C* NOT CONTROL MODULE EST ORDINAL.*
- MSG30 DATA C* CONTROLLER DID NOT TAKE ALL CONTROLWARE.*
- MSG31 DATA C* GENERAL STATUS = NNNN.*
- MSG32 DATA C* FUNCTION TIMED OUT=NNNN.*
- MSG33 DATA C* NO GENERAL STATUS RECEIVED.*
- MSGRR DATA C* CDC RESERVED RESPONSE CODE.*
- DRM0 DATA C* CONTROLLER DUMP COMPLETE.*
- DRM1 DATA C* DUMP BUFFER ARGUMENT ERROR.*
- DRM2 DATA C* INSUFFICIENT DUMP BUFFER SPACE.*
- DRM3 DATA C* NOT CORRECT CONTROLLER TYPE FOR DUMP.*
- DRM4 DATA C* CONTROLLER DUMP UNSUCCESSFUL.*
- DRM5 DATA C* INCORRECT 1LC DUMP RESPONSE CODE.*
- MSGA DATA C* CONTROLWARE LOAD ABORT, C=XXXXXXX.*
- MSGB DATA C* CONTROLWARE LOAD COMPLETE.*
- MSGC DATA C* CONTROLWARE LOAD ABORT, EQ=XXXXXXX.*
- SPACE 4,10
- * ERROR LOG MESSAGES.
- EMSG DATA C*CHXXX,YYYYYYYYY,LOAD COMPLETE.*
- EMSG0 DATA C* CHXXX,ABORT,ALL DATA NOT TAKEN.*
- EMSG1 DATA C* CHXXX,ABORT,SYYYY.*
- EMSG2 DATA C* CHXXX,ABORT,FYYYY.*
- EMSG3 DATA C* CHXXX,ABORT,NO GENERAL STATUS.*
- EMSG4 DATA C* CHXXX, CONTROLLER RESERVED.*
- SPACE 4,10
- * BML MESSAGES.
- BMLM VFD 12/BMLML,48/0 SET MESSAGE LENGTH
- VFD 12/DM0401,12/HI0105,12/0,12/0,12/0 CHANNEL/EQUIPMENT
- VFD 60/0 CONTROLWARE TYPE AND VERSION
- BMLML EQU *-BMLM-1 MESSAGE LENGTH
- BML30 VFD 12/BML30L,48/0 SET MESSAGE LENGTH
- VFD 12/DM0401,12/HI0114,12/0,24/0 CHANNEL
- VFD 60/0 NOT USED
- BML30L EQU *-BML30-1 MESSAGE LENGTH
- BML31 VFD 12/BML31L,48/0 SET MESSAGE LENGTH
- VFD 12/DM0401,12/HI0115,12/0,24/0 CHANNEL
- VFD 60/0 LAST STATUS
- BML31L EQU *-BML31-1 MESSAGE LENGTH
- BML32 VFD 12/BML32L,48/0 SET MESSAGE LENGTH
- VFD 12/DM0401,12/HI0116,12/0,24/0 CHANNEL
- VFD 60/0 LAST FUNCTION
- BML32L EQU *-BML32-1 MESSAGE LENGTH
- BML33 VFD 12/BML33L,48/0 SET MESSAGE LENGTH
- VFD 12/DM0401,12/HI0117,12/0,24/0 CHANNEL
- VFD 60/0 NOT USED
- BML33L EQU *-BML33-1 MESSAGE LENGTH
- TITLE NAD CONTROLWARE PARAMETERS.
- NADCON SPACE 4,10
- ** NADCON - GENERATE NAD CONSTANT.
- *
- * NADCON P
- * P = HEXADECIMAL VALUE (0-FFFF).
- NADCON MACRO P
- LOCAL A,B
- MACREF NADCON
- A SET P/0#100
- B SET P-A*0#100
- VFD 4/0,8/A,4/0,8/B
- ENDM
- NADIP SPACE 4,10
- ** NADIP - NAD INITIALIZATION PARAMETERS.
- *
- * THE FOLLOWING INITIALIZATION PARAMETERS ARE LOADED AT THE
- * END OF THE NAD CONTROLWARE. THEY ARE USED BY THE CONTROLWARE
- * TO CONFIGURE THE NAD DURING INITIALIZATION.
- *
- * NOTE - IF ENABLED NAD BUFFER TRACING IS DESIRED, THE
- * ANALYST SHOULD CHANGE THE APPROPRIATE LINE BELOW TO -
- * NADCON 0#2954 ENABLE NAD BUFFER TRACING.
- NADIP BSS 0
- NADCON 0 NAD MEMORY SIZE - 1
- NADCON 0#F TCU ENABLES
- NADCON 0 STREAM MODE
- NADCON 0#19 NUMBER OF NADS
- NADCON 0#23 MAXIMUM NUMBER OF PATHS
- NADCON 0 RESERVED
- NADCON 0 INTERNAL BUFFER COUNT
- NADCON 0 RESERVED
- NADCON 0 CONTROL MESSAGE BUFFER COUNT
- NADCON 0#81 TYPE 0 BUFFER SIZE
- NADCON 0 TYPE 0 BUFFER COUNT
- NADCON 0#810 TYPE 1 BUFFER SIZE
- NADCON 0 TYPE 1 BUFFER COUNT
- NADCON 0 TYPE 2 BUFFER SIZE
- NADCON 0 TYPE 2 BUFFER COUNT
- NADCON 0 TYPE 3 BUFFER SIZE
- NADCON 0 TYPE 3 BUFFER COUNT
- NADCON 6 TRUNK RECEIVER QUEUE LIMIT
- NADCON 6 TRUNK SEND QUEUE LIMIT
- NADCON 0#1E CONTROL MESSAGE RECEIVE QUEUE LIMIT
- NADCON 0#1E CONTROL MESSAGE SEND QUEUE LIMIT
- NADCON 2 PATH RECEIVE QUEUE LIMIT
- NADCON 2 PATH SEND QUEUE LIMIT
- NADCON 0 DISABLE NAD BUFFER TRACING (DEFAULT)
- NADCON 1R:/1R:*10000B CHARACTER SET MODE (DEFAULT 64)
- DATA 0
- LNADIP EQU *-NADIP
- * *NADIP* TABLE WORD OFFSETS.
- WCBC EQU 8 CONTROL MESSAGE BUFFER COUNT
- WIBC EQU 6 INTERNAL (SYSTEM) BUFFER COUNT
- WMNP EQU 4 MAXIMUM NUMBER OF PATHS
- WNMS EQU 0 NAD MEMORY SIZE
- WTBC EQU 12D TYPE 1 BUFFER COUNT
- * NAD INITIATION PARAMETER DEFINITIONS.
- DCBC EQU 0#23 DEFAULT CONTROL MESSAGE BUFFER COUNT
- DNMS EQU 0#7FFF DEFAULT NAD MEMORY SIZE - 1
- DTBC EQU 2 DEFAULT TYPE 1 BUFFER SIZE
- LCBC EQU 0#30 CONTROL MESSAGE BUFFER LENGTH
- LTBC EQU 0#820 TYPE 1 BUFFER LENGTH
- TITLE MAIN PROGRAM.
- LBC SPACE 4,10
- ** LOADBC - LOAD BUFFER CONTROLWARE MAIN PROGRAM.
- LOADBC BSS 0 ENTRY
- SB1 1
- RJ PRS PRESET
- SA1 DRCF
- NZ X1,LBC2 IF NOT DRIVER CALL
- LBC1 RJ SCN SELECT CHANNEL NUMBER
- SA1 CME
- NZ X1,LBC2 IF LOAD REQUEST FOR CONTROL MODULE
- RJ CCS CHECK CHANNEL STATUS
- LBC2 RJ RCF READ CONTROLWARE FILE
- LBC3 SA2 DUMP
- ZR X2,LBC4 IF NO DUMP REQUESTED
- SX2 A2+
- LX2 18
- LBC4 SA3 CME
- SA1 CHN
- ZR X3,LBC4.1 IF CONTROL MODULE NOT SPECIFIED
- SX1 X3+4000B SET CONTROL MODULE FLAG FOR *1LC*
- LBC4.1 SA3 DRCF
- LX3 10
- BX6 X3+X1
- SA6 IN+8
- SA3 LBCA BUILD *1LC* CALL WORD
- BX6 X3+X2 SET DUMP REQUEST
- MX7 42
- SA1 IN CLEAR FET+0 RESPONSE CODE
- SA6 LBCD+1
- SA6 LBCB
- BX7 X7*X1
- SA7 A1
- SA2 CCHF CHECK FOR CONCURRENT CHANNEL
- NZ X2,LBC6 IF CONCURRENT CHANNEL
- SYSTEM SPC,,A6 CALL *1LC*
- EQ LBC7 COMPLETE LOAD
- LBC6 SYSTEM CPM,R,LBCD,140B*100B ASSIGN CIO PP FOR THE LOAD
- LBC7 RECALL IN WAIT FOR LOAD TO COMPLETE
- SA1 X2 GET *1LC* RESPONSE CODE
- MX0 -8
- LX1 -1
- BX0 -X0*X1
- SX2 X0-RC14 CHECK FOR LOAD ALREADY IN PROGRESS
- SA1 DRCF CHECK IF NEED TO RESELECT CHANNEL
- BX1 X1+X2
- CX1 X1
- ZR X1,LBC1 IF RELOAD IN PROGRESS FOR DRIVER REQUEST
- SA1 CME
- ZR X1,LBC8 IF NOT CONTROL MODULE LOAD
- SA1 IN+8 GET CHANNEL NUMBER USED
- MX6 12
- BX1 X6*X1
- LX1 12
- BX6 X1
- SX1 X1+10000B
- SA6 CHN
- RJ COD CONVERT TO DISPLAY CODE
- LX6 48-0
- MX4 12
- BX6 X4*X6
- SA6 CHAN
- LBC8 SX2 X0-RCAML
- NG X2,ELP IF NOT CONTROLLER HARDWARE ERROR
- SX6 X0-RC34
- ZR X6,LBC9 IF CONTROLLER RESERVED
- SA2 DRCF
- ZR X2,ELP IF DRIVER CALL
- SA2 RT CHECK RETRY COUNT
- SX6 X2-1
- SA6 A2+
- ZR X6,ELP IF RETRY COUNT EXHAUSTED
- RJ IRM ISSUE RESPONSE MESSAGES
- BX2 X2-X2 PREVENT DUMP ON RETRY
- EQ LBC4 RETRY CONTROLWARE LOAD
- LBC9 RECALL
- SA1 LBCC GET PREVIOUS CONTROLLER RESERVE FLAG
- NZ X1,LBC3 IF PREVIOUS CONTROLLER RESERVE
- SX6 B1
- SA6 A1
- RJ IRM ISSUE RESPONSE MESSAGES
- EQ LBC3 RETRY CONTROLWARE RELOAD
- LBCA VFD 18/3R1LC,24/0,18/IN *1LC* CALL WORD
- LBCB BSS 1 *SPC* PARAMETER WORD
- LBCC CON 0 CONTROLLER RESERVED RESPONSE FLAG
- LBCD CON 0,0 CALL BLOCK FOR CONCURRENT PP ASSIGNMENT
- TITLE DISK CONTROLWARE SUBROUTINES.
- CCS SPACE 4,15
- ** CCS - CHECK CHANNEL STATUS.
- *
- * ENTRY (CHN) = CHANNEL NUMBER.
- *
- * EXIT (X5) = CONTROLWARE TYPE FOR CHANNEL.
- * (CHAN) = CHANNEL NUMBER IN DISPLAY CODE.
- * (CRN) = CONTROLWARE RECORD NAME.
- *
- * ERROR EXIT TO *ELP* WITH (X0) = ERROR RESPONSE.
- *
- * USES X - ALL.
- * A - 1, 2, 3, 4, 5, 6, 7.
- * B - 3, 6.
- *
- * CALLS COD, RCT.
- CCS SUBR ENTRY/EXIT
- SA5 CHN CONVERT CHANNEL NUMBER TO DISPLAY
- MX0 -5 CLEAR POSSIBLE CCH FLAG
- BX1 -X0*X5
- SX1 X1+100B FORCE LEADING ZERO FILL
- SX0 5
- RJ COD
- MX1 -12
- SB6 -B1
- BX6 -X1*X6
- LX6 -12
- SA1 CHN CHECK FOR CONCURRENT CHANNEL
- LX1 59-5
- PL X1,CSS0 IF NOT A CONCURRENT CHANNEL
- SX1 1RC ADD *C* TO CHANNEL NUMBER
- LX6 -6
- LX1 54
- BX6 X6+X1
- CSS0 SA6 CHAN
- RJ RCT READ CHANNEL TABLES
- CCS1 SB6 B6+B1 CALCULATE WORD INDEX IN CHANNEL TABLE
- IX5 X5-X0
- PL X5,CCS1 IF DIVIDE BY 5 NOT COMPLETE
- IX5 X5+X0 BYTE INDEX
- SX1 12
- IX5 X5*X1
- SB3 X5 SHIFT FOR CHANNEL BYTE
- SA1 CBUF+B6 CHANNEL STATUS
- MX5 -5
- SA3 CBUF+CTALL*2+B6 CHANNEL CONTROLWARE
- LX1 B3
- LX3 B3
- SX0 RC7 * NO CONTROLWARE ON CHANNEL.*
- LX3 12
- BX5 -X5*X3 CONTROLWARE TYPE
- SX7 X5-MXCWT
- PL X7,ELP IF INCORRECT TYPE
- SA4 TCWT+X5 GET CONTROLWARE RECORD NAME
- ZR X4,ELP IF NO CONTROLWARE ON CHANNEL
- BX7 X4
- LX1 59-53
- SA7 CRN
- PL X1,CCSX IF CHANNEL UP
- SA2 CBUF+CTALL+B6 CHANNEL ASSIGNMENT
- MX6 12
- LX2 B3
- BX2 X6*X2
- R= X0,RC2 * SPECIFIED CHANNEL IS IN USE.*
- ZR X2,CCSX IF CHANNEL NOT ASSIGNED
- EQ ELP PROCESS ERROR
- TCWT SPACE 4,10
- ** TCWT - TABLE OF CONTROLWARE TYPES.
- TCWT BSS 0
- LOC 0
- NOCW CON 0 0 - NO CONTROLWARE
- HTCW DATA 0LBCS 1 - HT (7054/7154/7152)
- FTCW DATA 0LBCF 2 - FT (7154/7152)
- FMCW DATA 0LFMD 3 - FMD (7155)
- ADCW DATA 0LADP 4 - FSC ADAPTER
- PHCW DATA 0LPHD 5 - DEMA/PFMD (7155-10)
- IDCW DATA 0LISD 6 - 7255 ADAPTOR
- CCCW DATA 0LMA464 7 - 7165 CCC
- LNFL EQU * LOCAL NAD FLAG
- NDCW DATA 0L170 10 - CYBER 170 NAD
- CMCW DATA 0LCMD 11 - CONTROL MODULE I
- C2CW DATA 0LCM2 12 - CONTROL MODULE II
- M8CW DATA 0LCCC7990 13 - 7990 CCC
- LOC *O
- ELP SPACE 4,15
- ** ELP - END *LOADBC* PROCESSING.
- *
- * ENTRY (X0) = LOAD RESPONSE CODE.
- *
- * USES X - 1, 2.
- * A - 0, 1, 2.
- * B - 2, 5.
- *
- * CALLS IRM, SNM, VCD.
- *
- * MACROS ABORT, ENDRUN, MESSAGE.
- ELP BSS 0 ENTRY
- SA0 B0 SET NO ABORT FLAG
- ZR X0,ELP1 IF LOAD COMPLETE
- SA0 B1 SET ABORT FLAG
- SX1 X0-RCAML
- NG X1,ELP2 IF NOT CONTROLLER HARDWARE ERROR
- ELP1 RJ VCD VERIFY CONTROLWARE DUMP
- ELP2 RJ IRM ISSUE RESPONSE MESSAGES
- SB5 MSGB * CONTROLWARE LOAD COMPLETE.*
- ZR X0,ELP3 IF LOAD COMPLETE
- SB5 MSGA * CONTROLWARE LOAD ABORT, C=XX.*
- SA1 CHAN ENTER CHANNEL DISPLAY INTO SUMMARY MESSAGE
- SA2 CME
- ZR X2,ELP2.1 IF NOT CONTROL MODULE
- SB5 MSGC * CONTROLWARE LOAD ABORT, EQ=XXX.*
- SA1 CMES ENTER EST ORDINAL INTO SUMMARY MESSAGE
- ELP2.1 SB2 1RX
- RJ SNM
- ELP3 MESSAGE B5,0,R
- SX1 A0+
- NZ X1,ELP4 IF *LOADBC* TO BE ABORTED
- ENDRUN
- ELP4 ABORT
- FFI SPACE 4,10
- ** FFI - FIND FIRMWARE IDENT.
- *
- * (BUF - BUF+16) = PREFIX TABLE OF FIRMWARE RECORD.
- *
- * (X7) = FIRMWARE TYPE AND REVISION LEVEL.
- *
- * USES X - 1, 2, 3, 4, 7.
- * A - 1, 2, 3.
- * B - 2, 3.
- *
- * CALLS USB.
- * SET DEFAULT NAME.
- FFI4 SA3 FFIB DEFAULT NAME
- BX7 X3
- FFI SUBR 0 ENTRY/EXIT
- SB2 BUF+10B FIRST WORD ADDRESS OF UNPACK
- SB3 B0 DEFINE NO ASCII
- MX4 -6
- RJ USB
- SB2 70
- SA1 USBB-1
- FFI1 SA1 A1+B1 SCAN FOR *FIRMWARE*
- SB2 B2-B1
- SX1 X1-1RF
- ZR B2,FFI4 IF END OF TEXT STRING
- NZ X1,FFI1 IF NOT *F*
- SA2 A1+1
- SX2 X2-1RI
- NZ X2,FFI1 IF NOT *I*
- SA3 FFIA CHECK FOR REMAINDER OF *FIRMWARE*
- FFI2 BX1 -X4*X3
- SA2 A2+B1
- AX3 6
- IX2 X1-X2
- NZ X2,FFI1 IF NOT *RMWARE*
- NZ X3,FFI2 IF NOT END OF *RMWARE*
- SB3 A2-USBB-61
- SX7 1R ASSEMBLE FIRMWARE IDENT
- PL B3,FFI4 IF NOT ENOUGH CHARACTERS REMAIN
- SB3 9
- FFI3 LX7 6 POSITION ASSEMBLY
- SA2 A2+B1
- SB3 B3-B1
- BX7 X2+X7
- NZ B3,FFI3 IF NOT END OF ASSEMBLY
- LX7 6
- EQ FFIX RETURN
- FFIA VFD 18/0,42/7H ERAWMR
- FFIB DATA 10H**********
- IRM SPACE 4,15
- ** IRM - ISSUE RESPONSE MESSAGES.
- *
- * ENTRY (X0) = LOAD RESPONSE CODE.
- *
- * EXIT DAYFILE AND ERROR LOG MESSAGES ISSUED
- * FOR RESPONSE CODE.
- *
- * USES X - 1, 2, 3, 5, 6.
- * A - 1, 2, 3, 5, 6.
- * B - 2, 3, 5.
- *
- * CALLS COD, FFI, SNM.
- *
- * MACROS MESSAGE.
- IRM1 SX1 X0-RCAML
- NG X1,IRM3 IF NOT CONTROLLER HARDWARE ERROR
- SA1 IN+8 GET LAST FUNCTION/STATUS FROM *1LC*
- MX2 -12
- BX1 -X2*X1
- SX1 X1+10000B FORCE LEADING ZERO FILL
- RJ COD CONVERT TO DISPLAY CODE
- MX2 -24
- BX1 -X2*X6
- SX6 1R.
- LX1 -24
- LX6 30
- BX6 X1+X6
- SA6 MSG31+2 ENTER LAST STATUS IN MESSAGE
- SA6 BML31+2 ENTER LAST STATUS IN MESSAGE
- SA6 MSG32+2 ENTER LAST FUNCTION IN MESSAGE
- SA6 BML32+2 ENTER LAST FUNCTION IN MESSAGE
- IRM2 SB5 X5 ENTER DATA IN ERROR LOG MESSAGE
- SB3 IRMB
- SB5 -B5
- SB2 1RY
- RJ SNM
- SB5 IRMB ENTER CHANNEL DISPLAY IN ERROR LOG MESSAGE
- SB2 1RX
- SA1 CHAN
- RJ SNM
- MESSAGE B5,4 ISSUE ERROR LOG MESSAGE
- IRM3 AX5 18
- MESSAGE X5,0,R ISSUE LOAD RESPONSE MESSAGE
- AX5 18 CHECK FOR BML MESSAGE
- SX5 X5
- ZR X5,IRMX IF NO BML MESSAGE
- SA2 X5+1
- SA1 CHN SET CHANNEL IN BML MESSAGE
- LX1 24
- BX6 X1+X2
- SA6 A2
- MESSAGE X5,11B,R ISSUE LOAD COMPLETE MESSAGE TO BML
- IRM SUBR ENTRY/EXIT
- SA5 TLRC+X0 GET MESSAGE ADDRESSES
- NZ X0,IRM1 IF NOT LOAD COMPLETE
- SB5 MSG0 ENTER CONTROLWARE TYPE
- SB2 1RY
- SA1 BUF+10B
- RJ SNM
- SB5 MSG0 ENTER CHANNEL DISPLAY IN DAYFILE MESSAGE
- SB2 1RX
- SA1 CHAN
- RJ SNM
- RJ FFI FIND FIRMWARE IDENT
- SA2 BMLM+1
- SA1 CHN SET CHANNEL IN BML MESSAGE
- SA7 A2+1 STORE FIRMWARE IDENT
- SA7 IRMC
- LX1 24
- BX6 X1+X2
- SA3 CMQ SET EQUIPMENT NUMBER IN BML MESSAGE
- LX3 12
- BX6 X1+X2
- BX6 X6+X3
- SA6 A2
- MESSAGE BMLM,11B,R ISSUE LOAD COMPLETE MESSAGE TO BML
- SB5 MSG0 ENTER CONTROLWARE TYPE
- SB2 1RV
- BX1 X7
- RJ SNM
- SA1 IRMC
- EQ IRM2 SET CONTROLWARE TYPE IN ERROR LOG MESSAGE
- IRMA VFD 18/0,24/4H,CH=,12/0,6/1R.
- IRMB BSS 4
- IRMC CON 0
- RCF SPACE 4,20
- ** RCF - READ CONTROLWARE FILE.
- *
- * ENTRY (TYPN) = NAD TYPE FLAG.
- * .EQ. POSITIVE, IF *TY* OPTION NOT SPECIFIED.
- * .EQ. NEGATIVE, IF *TY* OPTION SPECIFIED.
- * (RL) = .NE. 0, IF REMOTE NAD LOAD.
- *
- * EXIT (FWC) = FWA CONTROLWARE IN LOAD BUFFER.
- * (LWC) = LWA CONTROLWARE IN LOAD BUFFER.
- *
- * ERROR EXIT TO *ELP* WITH (X0) = ERROR RESPONSE CODE.
- *
- * USES X - 0, 1, 2, 3, 5, 6, 7.
- * A - 1, 2, 3, 6, 7.
- * B - 2, 3, 4, 6.
- *
- * MACROS ASSIGN, READ, REWIND, SKIPB, SKIPEI, STATUS.
- RCF2 STATUS IN DETERMINE IF LOCAL FILE PRESENT
- SA1 X2
- MX2 -11
- AX1 1
- BX1 -X2*X1
- ZR X1,ELP IF NO LOCAL FILE
- REWIND IN,R
- RCF3 READ IN,R READ CONTROLWARE RECORD
- SA1 IN CLEAR FET CODE AND STATUS
- MX6 51
- BX6 X6*X1
- SA6 A1
- SA1 IN+2 READ *IN* POINTER
- SA2 A1+B1 READ *OUT* POINTER
- SB2 X2
- SA3 B2
- SB6 X1 SAVE *IN*
- MX5 12
- MX1 6 FORM 7700 MASK
- BX2 X5*X3
- SX0 RC15 * NO 77 TABLE IN CONTROLWARE RECORD.*
- BX1 X1-X2
- NZ X1,ELP IF NOT 7700 TABLE
- LX3 12
- BX2 X5*X3 LENGTH OF 7700 TABLE
- SX0 RC16 * NO 52 TABLE IN CONTROLWARE RECORD.*
- LX2 12
- SB3 X2+B1
- SA2 B2+B3 READ EXPECTED 5200 TABLE
- SX3 5200B
- SX6 A2+B1 FWA OF CONTROLWARE
- SA6 FWC
- SB2 X6 *OUT* = FWA OF CONTROLWARE
- SX6 X2-1 SUBTRACT LENGTH OF 5200 TABLE
- SX7 A2
- IX7 X2+X7 ADD CONTROLWARE LENGTH
- SB4 X6
- BX2 X5*X2
- SA7 LWC SAVE LWA+1 OF CONTROLWARE
- LX2 12
- BX2 X2-X3
- NZ X2,ELP IF NOT 5200 TABLE
- SB6 B6-B2 *IN* - *OUT*
- SB6 B6-B4
- SX0 RC17 * LENGTH IN 52 TABLE .NE. FET.*
- NZ B6,ELP IF CM WORD COUNT DOES NOT MATCH
- SA6 CWL SAVE CONTROLWARE LENGTH
- RCF SUBR ENTRY/EXIT
- SA1 IN
- SA2 FN ASSUMED FILE NAME
- SX0 RC10 * CONTROLWARE NOT FOUND.*
- ZR X1,ELP IF *F=0* SPECIFIED
- MX3 42
- BX1 X3*X1
- BX3 X1-X2
- NZ X3,RCF2 IF ALTERNATE FILE SPECIFIED
- ASSIGN IN
- SKIPEI IN,R POSITION TO EOI
- SKIPB IN,2,R POSITION TO BEGINNING OF DIRECTORY
- READ IN,R READ DIRECTORY
- SA2 X2+2 READ *IN* POINTER
- SA3 BUF LENGTH OF 7700 TABLE
- SB3 X2+ (B3) = LWA+1 OF DATA READ
- SA2 CRN
- LX3 24
- SB2 X3+BUF FIRST RECORD ON SYSTEM DIRECTORY
- MX7 42
- SA1 TYPN
- PL X1,RCF1 IF TYPE NOT SPECIFIED
- SA3 RL
- ZR X3,RCF1 IF NOT REMOTE NAD LOAD
- SA2 TYPE USE TYPE SPECIFIED BY CALLER
- RCF1 SA1 B2+ READ DIRECTORY ENTRY
- GE B2,B3,ELP IF END OF DIRECTORY
- SB2 B2+2
- BX3 X7*X1
- BX3 X3-X2
- NZ X3,RCF1 IF CONTROLWARE NOT FOUND
- BX1 -X7*X1
- SX1 X1-10
- NZ X1,RCF1 IF CONTROLWARE NOT FOUND
- SA1 A1+B1 SET RANDOM ADDRESS IN FET
- MX7 -29
- SA2 IN+6
- BX2 X7*X2
- BX6 -X7*X1
- BX6 X6+X2
- SA6 A2
- SA1 IN+2 RESET *IN* = *FIRST*
- SA2 IN+1
- MX7 -18
- BX2 -X7*X2
- BX1 X7*X1
- BX6 X1+X2
- SA6 A1
- EQ RCF3 READ CONTROLWARE RECORD
- RCT SPACE 4,10
- ** RCT - READ CHANNEL TABLES.
- *
- * ENTRY (RCTA) = CHANNEL TABLES DESCRIPTOR WORD.
- *
- * EXIT CBUF = CHANNEL TABLES FROM CMR.
- *
- * USES X - 7.
- * A - 7.
- *
- * MACROS SYSTEM.
- RCT SUBR ENTRY/EXIT
- MX7 1 READ FROM LOW CORE
- SA7 CBUF
- SYSTEM RSB,R,RCTA,0 READ CHANNEL TABLES
- EQ RCTX RETURN
- RCTA VFD 12/0,12/CTALL*3,18/0,18/CBUF
- SCN SPACE 4,15
- ** SCN - SELECT CHANNEL NUMBER.
- *
- * ENTRY (ESTW) = EST POINTER WORD *ESTP*.
- *
- * EXIT IF DRIVER REQUEST FOUND IN CHANNEL TABLE -
- * (CHN) = CHANNEL NUMBER.
- * (CME) = 0.
- * (CMQ) = 0.
- * IF DRIVER REQUEST FOUND IN CONTROL MODULE EST ENTRY -
- * (CME) = EST ORDINAL.
- * (CRN) = CONTROLWARE RECORD NAME LEFT JUSTIFIED.
- *
- * ERROR EXIT TO *ELP* WITH (X0) = ERROR RESPONSE.
- *
- * USES X - 2, 3, 4, 5, 6, 7.
- * A - 2, 4, 6.
- * B - 2, 3, 4, 5, 6.
- *
- * CALLS RCT.
- SCN7 SA6 CHN SAVE CHANNEL NUMBER
- LX6 59-5
- PL X6,SCN7.1 IF NOT CONCURRENT CHANNEL
- SA6 CCHF SET CONCURRENT CHANNEL FLAG
- SCN7.1 SX6 HI0103
- SCN8 SA1 BMLM+1 SET BML MESSAGE SYMPTOM CODE
- LX6 36
- MX5 12
- LX5 48
- BX1 -X5*X1
- BX6 X1+X6
- SA6 A1
- SCN SUBR ENTRY/EXIT
- SB4 4
- RJ RCT READ CHANNEL TABLES
- SA4 CBUF+CTALL*2 GET CHANNEL CONTROLWARE ENTRY
- SX6 B0+ INITIALIZE CHANNEL NUMBER
- SA6 CME CLEAR CONTROL MODULE EST ORDINAL
- SA6 CMQ CLEAR CONTROL MODULE EQUIPMENT NUMBER
- SCN1 SB4 B4-B1
- PL X4,SCN2 IF NO CONTROLWARE LOAD REQUESTED
- LX2 X4,B1
- PL X2,SCN7 IF NOT LOAD IN PROGRESS
- SCN2 LX4 12
- SX6 X6+B1 ADVANCE CHANNEL NUMBER
- PL B4,SCN1 IF MORE ENTRIES IN WORD
- SA4 A4+1
- SB4 4
- SB2 A4-CBUF-CTALL*3
- NE B2,SCN1 IF MORE CHANNELS IN TABLE
- * SCAN EST FOR LOAD REQUEST FOR CONTROL MODULE.
- SA4 ESTW GET LAST EST ORDINAL + 1
- MX6 -12
- LX4 -24
- BX4 -X6*X4
- SB3 X4
- MX7 -11
- R= B4,ESTE EST ENTRY SIZE
- SX5 2RCM CONTROL MODULE MNEMONIC
- SB7 CBUF
- SX0 100B
- SB5 B7+X0 END OF BUFFER
- LX0 18
- SCN3 SB6 B7-B4
- SA7 B6+B4 SET LOW CORE READ FLAG FOR *RSB*
- SYSTEM RSB,R,SCNA,0 READ NEXT 100B WORDS OF EST
- SA4 SCNA ADVANCE EST BLOCK IN *RSB* CALL
- IX6 X4+X0
- SA6 A4
- SCN4 SB6 B6+B4
- EQ B6,B5,SCN3 IF END OF BUFFER
- SA4 B6 READ WORD *EQDE* OF EST ENTRY
- ERRNZ EQDE CODE ASSUMES *EQDE* = 0
- SA2 A4+B1
- ERRNZ EQAE-1 CODE ASSUMES *EQAE* = 1
- LX4 -12
- BX6 -X7*X4
- BX6 X6-X5
- LX2 59-35
- NZ X6,SCN5 IF NOT CONTROL MODULE
- PL X2,SCN5 IF RELOAD NOT REQUESTED
- LX2 35-34
- PL X2,SCN6 IF LOAD NOT IN PROGRESS
- SCN5 SB2 B2+1 INCREMENT EST ORDINAL
- NE B2,B3,SCN4 IF NOT END OF EST
- SX0 RC3 * NO CHANNEL LOAD REQUEST.*
- EQ ELP PROCESS ERROR
- SCN6 MX0 -5 SET CONTROLWARE TYPE
- LX2 11
- BX2 -X0*X2 GET RECORD NAME TABLE INDEX
- MX0 -3 SAVE EQUIPMENT NUMBER
- LX4 3
- BX6 -X0*X4
- SA6 CMQ
- SA2 X2+TCWT
- BX6 X2
- SX7 B2 SET EST ORDINAL
- SA6 CRN SET RECORD NAME
- SA7 CME
- SX1 X7+1000B FORCE LEADING ZERO-FILL
- RJ COD CONVERT TO DISPLAY CODE
- LX6 42-0
- MX0 18
- BX6 X0*X6
- SA6 CMES
- SX6 HI0106
- EQ SCN8 SET BML MESSAGE SYMPTOM CODE
- SCNA VFD 12/0,12/100B,18/0,18/CBUF
- VCD SPACE 4,15
- ** VCD - VERIFY CONTROLWARE DUMP.
- *
- * EXIT CONTROLLER MEMORY DUMP VERIFIED WITH CONTROLWARE
- * RECORD AND DUMP FILE WRITTEN.
- *
- * USES X - 1, 2, 3, 4, 5, 6, 7.
- * A - ALL.
- * B - 2, 3, 4, 5.
- *
- * MACROS MESSAGE, WRITER.
- VCD SUBR ENTRY/EXIT
- SA1 DUMP
- ZR X1,VCDX IF NO DUMP REQUESTED
- MX2 -8
- LX1 -1
- BX5 -X2*X1 DUMP RESPONSE CODE
- SA0 B1 SET ABORT FLAG
- SB5 X5-TDMAL
- SA1 TDMA+X5 GET MESSAGE ADDRESS
- NG B5,VCD0 IF VALID RESPONSE CODE
- SA1 TDMA+DR5 SET INCORRECT *1LC* RESPONSE MESSAGE
- VCD0 SB3 12
- MESSAGE X1,0 ISSUE DUMP STATUS MESSAGE TO DAYFILE
- NZ X5,VCDX IF NOT DUMP COMPLETE
- SA4 FWC GET FWA CONTROLWARE IN LOAD BUFFER
- SA5 DBUF+FDWI GET FIRST WORD OF DUMP TO COMPARE
- SA4 X4+FLWI GET FIRST LOAD WORD (SKIP DIAGNOSTICS)
- LX5 FDBI*12+12
- SB5 60-FDBI*12-12
- LX4 FLBI*12+12
- SB4 60-FLBI*12-12
- MX3 -12
- SB2 B0
- VCD1 BX2 X4-X5 COMPARE DUMP AND LOAD CONTROLWARE
- BX2 -X3*X2
- ZR X2,VCD4 IF BYTE COMPARES
- CX6 X2
- AX2 1
- SX6 X6-1
- SX7 17B INDICATE MULTIPLE BITS DID NOT VERIFY
- NZ X6,VCD3 IF MULTIPLE BIT FAILURE
- SX7 10B INDICATE BIT 0 DID NOT VERIFY
- ZR X2,VCD3 IF BIT 0 FAILURE
- SX7 B0+
- VCD2 AX2 1 LOCATE FAILING BIT POSITION
- SX7 X7+B1
- NZ X2,VCD2 IF BIT NOT LOCATED
- VCD3 LX7 8
- BX5 X5+X7
- LX7 X5,B5
- SA7 A5
- VCD4 SB4 B4-B3
- LX4 12
- PL B4,VCD5 IF MORE BYTES IN LOAD WORD
- SA4 A4+B1 GET NEXT LOAD WORD
- SB4 48
- LX4 12
- VCD5 SB5 B5-B3
- LX5 12
- GE B5,B2,VCD1 IF MORE BYTES IN DUMP WORD
- SA5 A5+1 GET NEXT DUMP WORD
- SB5 60
- SX1 A5-DBUF-LDWI
- NG X1,VCD5 IF NOT AT LAST WORD
- SB2 60-LDBI*12
- ZR X1,VCD5 IF COMPARING LAST WORD
- SA3 CHAN SET DISPLAY CHANNEL IN DUMP HEADER
- SA2 CHID1
- SX7 DHDR RESET DUMP FET *FIRST* AND *OUT* TO HEADER
- LX3 -12
- BX6 X2+X3
- SA7 DUMP+3
- SA6 CHID2
- SA7 DUMP+1
- SA6 A2
- WRITER A7-B1 WRITE RECORD TO DUMP FILE
- SETFS X2,0 CLEAR FILE STATUS
- SA0 B0 SET NO ABORT FLAG
- EQ VCDX RETURN
- TITLE PROCESS NAD CONTROLWARE.
- PNC SPACE 4,10
- ** PNC - PROCESS NAD CONTROLWARE.
- PNC BSS 0 ENTRY
- RJ RCF READ CONTROLWARE FILE
- RJ CCV CALL *CVL* FOR VALIDATION
- ZR X1,PNC2 IF ALLOWED ACCESS TO NAD
- SX2 X1-VRNM
- ZR X2,PNC4 IF NAD NOT FOUND
- SX2 X1-VRUS
- ZR X2,PNC5 IF NAD IN USE OR ON
- SX2 X1-VRSI
- ZR X2,PNC1 IF REMOTE NAD STATUS INDETERMINATE
- SB6 3RCVL
- RJ EMS ISSUE ERROR MESSAGE
- ABORT
- PNC1 MESSAGE PNCA,2,R *$LOADBC REMOTE NAD LOAD - GO OR DROP.*
- RJ PSE PAUSE
- * SET UP *NLD* EST ORDINAL AND CHANNEL PARAMETERS.
- PNC2 SA1 CVLB+CEO EST ORDINAL (MAY BE ZERO)
- MX0 -12
- SA2 A1+B1 CHANNEL NUMBER
- BX1 -X0*X1
- BX2 -X0*X2
- LX1 36-0
- LX2 48-0
- BX6 X1+X2
- SA6 NLDB SAVE PARAMETERS FOR *NLD* CALL
- RJ CNP CHECK NAD INITIATION PARAMETERS
- NZ X6,NER IF ERROR DETECTED BY *NLD*
- RJ CNL LOAD NAD CONTROLWARE
- SX0 0 INDICATE LOAD COMPLETE FOR *IRM*
- RJ IRM ISSUE RESPONSE MESSAGES
- MESSAGE MSGB,0 * CONTROLWARE LOAD COMPLETE.*
- SA1 NLDB+5
- NZ X1,PNC3 IF LOAD FOR REMOTE NAD
- SA1 NLDB CLEAR COMPLETION BIT IN PARAMETER BLOCK
- MX0 48
- BX6 X0*X1
- SA6 A1
- SYSTEM NLD,R,NLDB,4*100B TURN NAD ON AND UP
- PNC3 RJ RET RETURN EQUIPMENT VIA *CVL*
- ENDRUN
- PNC4 MESSAGE PNCB,,R * DEVICE NOT FOUND.*
- ABORT
- PNC5 MESSAGE PNCC,,R * DEVICE ON OR IN USE.*
- ABORT
- PNCA DATA C*$REMOTE NAD LOAD - GO OR DROP.*
- PNCB DATA C* VALIDATION DENIED - DEVICE NOT FOUND.*
- PNCC DATA C* VALIDATION DENIED - DEVICE ON OR IN USE.*
- CCV SPACE 4,15
- ** CCV - SET UP PARAMETERS AND CALL *CVL*.
- *
- * ENTRY (RL) = REMOTE NAD LOAD FLAG.
- * .EQ. 0, IF LOCAL NAD LOAD.
- * .NE. 0, IF REMOTE NAD LOAD.
- * (CHN) = CHANNEL NUMBER (IN BINARY).
- *
- * EXIT (X1) = RESPONSE CODE FROM *CVL*.
- *
- * USES X - ALL.
- * A - 1, 2, 3, 4, 5, 6, 7.
- * B - NONE.
- *
- * CALLS CVL=.
- CCV SUBR ENTRY/EXIT
- SA1 CHN SET CHANNEL
- SA2 CVLB+CCH
- BX6 X1+X2
- SA6 A2
- MX0 1
- SA1 RL
- LX0 52-59
- NZ X1,CCV1 IF REMOTE NAD LOAD
- * SET UP PARAMETERS FOR DEDICATED LOCAL NAD ACCESS.
- SA2 A2+B1 SET LOCAL NAD DEDICATED ACCESS FLAG
- BX6 X0+X2
- SA6 A2
- SA2 CVLB+CDV SET LOCAL NAD DEVICE CODE
- SX3 NAD
- BX7 X2+X3
- SA7 A2
- SA2 A2+B1 SET *LOAD CONTROLWARE* FLAGS
- SX3 CTL
- BX6 X2+X3
- SA6 A2
- EQ CCV2 CALL *CVL*
- * SET UP PARAMETERS FOR DEDICATED REMOTE NAD ACCESS.
- CCV1 SA2 CVLB+CAC SET ACCESS CODE
- SA1 ACC
- LX0 48-52
- BX1 X0+X1
- BX6 X1+X2 ACCESS CODE
- SA6 A2
- SA2 A2+B1 SET TCU ENABLES MASK
- SX3 B1
- SA4 LTCU
- BX2 X0+X2
- LX3 4-0
- BX7 X2+X3
- BX7 X4+X7 MERGE TCU ENABLES FIELD
- SA7 A2
- SA2 A2+B1 SET REMOTE NAD NUMBER
- SX4 RND SET REMOTE NAD DEVICE CODE
- LX3 52-4
- SA1 RNAD
- BX2 X0+X3
- SA5 CVLB+CDV
- BX7 X4+X5
- SA7 A5
- BX6 X1+X2
- LX4 12 POSITION REMOTE NAD DEVICE CODE
- BX6 X4+X6
- SA6 A2
- CCV2 SX1 CVLB FWA OF PARAMETER BLOCK
- SX2 1 FUNCTION REQUEST
- RJ CVL= CALL *CVL*
- SA1 CVLB+CRC CHECK RESPONSE CODE FROM *CVL*
- MX0 -6
- LX1 -6
- BX1 -X0*X1
- EQ CCVX RETURN
- CNL SPACE 4,15
- ** CNL - CALL *NLD* TO LOAD NAD CONTROLWARE.
- *
- * ENTRY (NLDB - NLDB+5) = *NLD* PARAMETER BLOCK.
- * (RL) = REMOTE NAD LOAD FLAG.
- * .EQ. 0, IF LOCAL NAD LOAD.
- * .EQ. 1, IF REMOTE NAD LOAD.
- *
- * EXIT NAD CONTROLWARE LOADED.
- *
- * ERROR TO *NER*, IF *NLD* DETECTED ERROR.
- *
- * USES X - 0, 1, 2, 3, 4, 6, 7.
- * A - 1, 2, 3, 4, 6, 7.
- * B - NONE.
- *
- * MACROS MOVE, SYSTEM.
- CNL SUBR ENTRY/EXIT
- SA1 NLDB CLEAR COMPLETION BIT
- MX0 48
- BX6 X0*X1
- SA6 A1
- * ENSURE INITIALIZATION PARAMETERS START ON NAD WORD BOUNDARY.
- SA1 CWL GET CONTROLWARE LENGTH
- BX7 X7-X7
- SA4 LWC LWA+1 OF CONTROLWARE
- LX1 59-0
- PL X1,CNL1 IF EVEN NUMBER OF CM WORDS
- SA7 X4 APPEND ZERO WORD AFTER CONTROLWARE
- SX4 X4+B1
- CNL1 SX6 X4+LNADIP ADD NAD INITIALIZATION PARAMETERS
- SA6 NLDB+2 SET *IN*
- SA1 FWC SET *OUT* = *FIRST* = FWA OF CONTROLWARE
- BX7 X1
- SA7 A6+B1 *OUT*
- SA7 A6-B1 *FIRST*
- SX6 X6+B1 SET *LIMIT*
- SA6 A6+2
- SA3 RL
- ZR X3,CNL2 IF LOCAL NAD LOAD
- SA1 ACC ACCESS CODE
- SA2 RNAD REMOTE NAD NUMBER
- LX1 16-0
- SA3 LTCU LOGICAL TCU ENABLES
- LX2 8-0
- BX6 X1+X3
- BX6 X2+X6
- SA6 NLDB+5
- CNL2 MOVE LNADIP,NADIP,X4
- SYSTEM NLD,R,NLDB,1*100B
- SA1 NLDB CHECK *NLD* RESPONSE CODE
- MX0 -6
- LX1 -6
- BX1 -X0*X1
- ZR X1,CNLX IF NO ERROR
- EQ NER ISSUE ERROR MESSAGE AND ABORT
- CNP SPACE 4,15
- ** CNP - CHECK NAD INITIATION PARAMETERS.
- *
- * EXIT (X6) = 0, IF NAD READY FOR FINAL LOAD.
- * (X6) .GT. 0, IF *NLD* ERROR.
- *
- * USES X - 0, 1, 2, 5, 6.
- * A - 1, 6.
- * B - NONE.
- *
- * CALLS CNL, FNP, FNS, RET, SNP.
- *
- * MACROS ABORT, MESSAGE, NIPADD, NSTADD, SYSTEM.
- CNP SUBR ENTRY/EXIT
- NIPADD WNMS GET SPECIFIED NAD MEMORY SIZE
- RJ FNP
- NZ X6,CNP6 IF MEMORY SIZE SPECIFIED
- SX6 DNMS SET DEFAULT NAD MEMORY SIZE
- NIPADD WNMS
- RJ SNP
- NIPADD WMNP GET MAXIMUM NUMBER OF PATHS
- RJ FNP
- SX5 X6+B1 SAVE MAXIMUM NUMBER OF PATHS + 1
- NIPADD WIBC GET INTERNAL BUFFER COUNT
- RJ FNP
- IX6 X6-X5
- PL X6,CNP1 IF INTERNAL BUFFER COUNT .GT. PATHS
- BX6 X5
- NIPADD WIBC RESET INTERNAL BUFFER COUNT
- RJ SNP
- CNP1 SX5 DCBC
- NIPADD WCBC GET CONTROLWARE MESSAGE BUFFER COUNT
- RJ FNP
- IX6 X6-X5
- PL X6,CNP2 IF COUNT .GE. DEFAULT
- BX6 X5
- NIPADD WCBC SET DEFAULT COUNT
- RJ SNP
- CNP2 SX5 DTBC
- NIPADD WTBC GET TYPE 1 BUFFER COUNT
- RJ FNP
- IX6 X6-X5
- PL X6,CNP3 IF COUNT .GE. DEFAULT
- BX6 X5
- NIPADD WTBC SET DEFAULT TYPE 1 BUFFER COUNT
- RJ SNP
- CNP3 RJ CNL CALL *NLD* TO LOAD CONTROLWARE
- SA1 NLDB SET UP NAD STATUS PARAMETER BLOCK
- MX6 48
- BX6 X6*X1
- SA6 NADSTAT
- SA1 NLDB+5 REMOTE NAD ADDRESS
- BX6 X1
- SA6 NADSTAT+5
- SYSTEM NLD,R,NADSTAT,3*100B CALL *NLD*
- SA1 NADSTAT CHECK *NLD* RESPONSE CODE
- MX0 -6
- LX1 -6
- BX6 -X0*X1
- BX1 X6 SAVE STATUS IF *NLD* ERROR
- NZ X6,CNPX IF *NLD* ERROR
- NSTADD WAMS GET ACTUAL MEMORY SIZE FROM STATUS
- RJ FNS
- SX5 X6-DNMS
- ZR X5,CNP4 IF SAME AS DEFAULT SIZE
- NG X5,CNP7 IF ACTUAL .LT. DEFAULT
- NIPADD WNMS RESET NAD MEMORY SIZE
- RJ SNP
- CNP4 NSTADD WUNM GET UNUSED MEMORY FROM STATUS
- RJ FNS
- IX5 X5+X6 UNUSED MEMORY + (ACTUAL-DEFAULT)
- SX2 LTBC TYPE 1 BUFFER SIZE
- IX6 X5-X2
- NG X6,CNP5 IF NO ROOM FOR MORE TYPE 1 BUFFERS
- BX6 X5
- IX1 X6/X2 ADDITIONAL MEMORY USED
- SX2 LTBC TYPE 1 BUFFER SIZE
- IX2 X2*X1 ADDITIONAL MEMORY USED
- IX5 X5-X2 REMAINING UNUSED MEMORY
- NIPADD WTBC GET CURRENT TYPE 1 BUFFER COUNT
- RJ FNP
- IX6 X6+X1 INCREMENT COUNT
- NIPADD WTBC RESET TYPE 1 BUFFER COUNT
- RJ SNP
- CNP5 SX2 LCBC CONTROLWARE MESSAGE BUFFER SIZE
- IX6 X5-X2
- NG X6,CNP6 IF NO ROOM FOR MORE BUFFERS
- IX1 X5/X2 ADDITIONAL MESSAGE BUFFERS
- NIPADD WCBC GET CURRENT BUFFER COUNT
- RJ FNP
- IX6 X6+X1 INCREMENT COUNT
- NIPADD WCBC RESET MESSAGE BUFFER COUNT
- RJ SNP
- CNP6 BX6 X6-X6
- EQ CNPX RETURN
- CNP7 MESSAGE CNPA,0 * LOADBC ABORT - ...*
- RJ RET RETURN NAD EQUIPMENT
- ABORT
- CNPA DATA C* LOADBC ABORT - BAD INITIATION PARAMETERS.*
- EMS SPACE 4,15
- ** EMS - ISSUE ERROR MESSAGE.
- *
- * ENTRY (B6) = PP NAME IN DISPLAY CODE.
- * (X1) = ERROR CODE.
- *
- * EXIT DAYFILE MESSAGE ISSUED.
- *
- * USES X - 1.
- * A - NONE.
- * B - 2, 5.
- *
- * CALLS COD, SNM.
- *
- * MACROS MESSAGE.
- EMS SUBR ENTRY/EXIT
- RJ COD CONVERT TO OCTAL DISPLAY CODE
- SB2 1RY INSERT ERROR CODE INTO MESSAGE
- SB5 EMSA
- BX1 X4
- RJ SNM
- SX1 B6 INSERT PP NAME INTO MESSAGE
- SB2 1RX
- LX1 59-17
- SB5 EMSA
- RJ SNM
- MESSAGE EMSA,0 *LOADBC ABORT - ...*
- EQ EMSX RETURN
- EMSA DATA C* LOADBC ABORT - XXX ERROR CODE = YYY.*
- FNP SPACE 4,15
- ** FNP - FETCH NAD INITIATION PARAMETER.
- *
- * (NAD INITIATION PARAMETERS ARE 16-BIT VALUES DEFINED IN THE
- * *NADIP* TABLE, 2.5 PARAMETERS PER CM WORD.)
- *
- * ENTRY (X2) = *NADIP* TABLE WORD.
- * (B2) = SHIFT COUNT TO POSITION FIRST BYTE.
- *
- * EXIT (X6) = 44/0,16/VALUE.
- *
- * USES X - 0, 2, 6.
- * A - 2.
- * B - 2.
- FNP SUBR ENTRY/EXIT
- MX0 -8
- LX2 B2,X2 POSITION UPPER 8 BITS
- SB2 B2-60
- BX6 -X0*X2 EXTRACT UPPER 8 BITS
- NG B2,FNP1 IF PARAMETER NOT DIVIDED
- SA2 A2+B1 GET NEXT WORD
- FNP1 LX2 12 POSITION LOWER 8 BITS
- LX6 8
- BX0 -X0*X2 EXTRACT LOWER BITS
- IX6 X0+X6 COMBINE UPPER AND LOWER BITS
- EQ FNPX RETURN
- FNS SPACE 4,15
- ** FNS - FETCH NAD STATUS WORD.
- *
- * ENTRY (X2) = WORD CONTAINING FIRST DIGIT OF VALUE.
- * (B2) = SHIFT COUNT FOR POSITIONING DIGIT.
- *
- * EXIT (X6) = 44/0,16/NAD STATUS WORD.
- *
- * USES X - 0, 2, 3, 6.
- * A - 2.
- * B - 2, 3, 4.
- FNS SUBR ENTRY/EXIT
- SB4 4
- LX2 B2,X2 POSITION FIRST DIGIT
- SB3 B4-B1 DIGIT COUNT
- MX0 4
- SX6 B0 CLEAR RESULT
- FNS1 BX3 X0*X2 NEXT DIGIT
- SB3 B3-B1
- BX6 X6+X3
- SB2 B2+B4 INCREMENT POSITION
- LX6 4
- NG B3,FNSX IF ALL DIGITS EXTRACTED
- LX2 4 POSITION NEXT DIGIT
- SX3 B2-60
- NG X3,FNS1 IF STILL IN SAME WORD
- SA2 A2+B1 GET NEXT WORD
- SB2 B0 RESET POSITION
- EQ FNS1 CONTINUE
- NER SPACE 4,10
- ** NER - PROCESS *NLD* ERROR.
- *
- * ENTRY (X1) = *NLD* ERROR RESPONSE CODE.
- *
- * EXIT NAD IS RELEASED, AND JOB IS ABORTED.
- *
- * USES X - NONE.
- * A - NONE.
- * B - 6.
- *
- * CALLS EMS, RET.
- *
- * MACROS ABORT.
- NER BSS 0
- SB6 3RNLD
- RJ EMS ISSUE ERROR MESSAGE
- RJ RET RETURN NAD EQUIPMENT
- ABORT
- PSE SPACE 4,10
- ** PSE - PAUSE FOR OPERATOR GO/DROP.
- *
- * USES X - 1, 6.
- * A - 1, 6.
- * B - NONE.
- *
- * MACROS RECALL.
- PSE SUBR ENTRY/EXIT
- SA1 B0 SET PAUSE FLAG IN RA+0
- SX6 10000B
- BX6 X1+X6
- SA6 A1
- PSE1 RECALL
- SA1 B0 CHECK PAUSE FLAG IN RA+0
- SX6 10000B
- BX1 X1*X6
- NZ X1,PSE1 IF PAUSE FLAG NOT CLEARED
- EQ PSEX EXIT
- RET SPACE 4,10
- ** RET - RETURN NAD EQUIPMENT VIA *CVL*.
- *
- * EXIT ANY EQUIPMENT ASSIGNED TO JOB HAS BEEN RELEASED.
- *
- * USES X - 0, 1, 2, 3, 6, 7.
- * A - 1, 3, 6, 7.
- * B - NONE.
- *
- * CALLS CVL=.
- RET SUBR ENTRY/EXIT
- SA1 CVLB+CEO EST ORDINAL
- MX0 -12
- BX6 -X0*X1
- ZR X6,RETX IF NO EQUIPMENT ASSIGNED
- SA3 CVLB+CRC
- MX2 1 SET DATA-IN-WORD FLAG
- BX7 X0*X3 CLEAR RESPONSE CODE/COMPLETION BIT
- LX2 48-59
- SA7 A3
- BX6 X2+X6
- SA6 A1
- SX7 RTNU SET RETURN EQUIPMENT FLAG
- SA7 CVLB+CFC
- SX1 CVLB FWA OF PARAMETER BLOCK
- SX2 1 FUNCTION REQUEST
- RJ CVL= CALL *CVL*
- EQ RETX RETURN
- SNP SPACE 4,15
- ** SNP - SET NAD INITIATION PARAMETER.
- *
- * ENTRY (X2) = WORD CONTAINING FIRST BYTE OF VALUE.
- * (X6) = 44/0, 16/NEW VALUE.
- * (B2) = SHIFT COUNT FOR POSITIONING FIRST BYTE.
- *
- * EXIT NAD PARAMETER RESET.
- *
- * USES X - 0, 2, 6.
- * A - 2, 6.
- * B - 2.
- SNP SUBR ENTRY/EXIT
- MX0 -12
- LX6 -8 POSITION UPPER 8 BITS OF NEW VALUE
- LX2 B2,X2 POSITION WORD
- BX2 X0*X2 CLEAR OLD VALUE
- SB2 B2-60
- BX0 -X0*X6
- IX2 X0+X2 SET NEW VALUE (UPPER 8)
- BX0 -X0*X6 SAVE NEW VALUE (LOWER 8)
- LX0 -4
- LT B2,B0,SNP1 IF PARAMETER NOT DIVIDED
- BX6 X2
- SA6 A2 STORE FIRST WORD (UPPER 8)
- SA2 A2+B1 GET NEXT WORD (LOWER 8)
- SNP1 MX6 12
- BX2 -X6*X2 CLEAR OLD VALUE (LOWER BYTE)
- SB2 -B2 COMPLEMENT SHIFT COUNT
- BX0 X0+X2 INSERT NEW VALUE (LOWER 8)
- LX6 B2,X0
- SA6 A2 STORE WORD
- EQ SNPX RETURN
- TITLE COMMON DECKS.
- * COMMON DECKS.
- *CALL COMCARG
- *CALL COMCCIO
- *CALL COMCCOD
- *CALL COMCCVL
- *CALL COMCDXB
- *CALL COMCHXB
- *CALL COMCLFM
- *CALL COMCMVE
- *CALL COMCSNM
- *CALL COMCSYS
- *CALL COMCUSB
- SPACE 4,10
- USE LITS
- USE *
- TITLE BUFFER ALLOCATION.
- * BUFFER ALLOCATION.
- CBUF BSS 100B CHANNEL TABLES / EST BUFFER
- ERRNG *-CBUF-CTALL*3 CHANNEL TABLES OVERFLOW BUFFER
- DHDR BSS 0 DUMP FILE HEADER
- VFD 12/7700B,12/16B,36/0
- CHID1 VFD 12/2HCH,12/0,36/0 CONTROLLER CHANNEL NUMBER
- SYDT1 BSSZ 1 SYSTEM DATE ( YY/MM/DD.)
- SYTM1 BSSZ 1 SYSTEM TIME ( HH.MM.SS.)
- BSSZ 11
- CHID2 VFD 12/2HCH,12/0,36/0 CONTROLLER CHANNEL NUMBER
- VFD 12/2HID,48/5
- SYVR BSSZ 2 SYSTEM VERSION
- SYDT2 BSSZ 1 SYSTEM DATE
- SYTM2 BSSZ 1 SYSTEM TIME
- BSSZ 1
- VFD 12/2HBC,48/0
- DBUF EQU * CONTROLLER DUMP BUFFER
- BUF EQU DBUF+DBUFL CONTROLLER LOAD BUFFER
- RFL= EQU BUF+BUFL+4 FIELD LENGTH
- TITLE PRESET.
- PRS SPACE 4,20
- ** PRS - PRESET PROGRAM.
- *
- * EXIT (CHN) = CHANNEL, IF SPECIFIED ON COMMAND.
- * (CHAN) = DISPLAY CHANNEL, IF SPECIFIED ON COMMAND.
- * (CME) = CONTROL MODULE EST ORDINAL, IF SPECIFIED.
- * (CMES) = DISPLAY EST ORDINAL, IF SPECIFIED.
- * (CMQ) = CONTROL MODULE EQUIPMENT NUMBER.
- * (CRN) = CONTROLWARE RECORD NAME.
- * (DRCF) = 0 IF DRIVER CALL.
- * (ESTW) = EST POINTER WORD *ESTP*.
- * DUMP FILE HEADER PRESET IF CONTROLLER DUMP REQUESTED.
- * TO *PNC* IF TO LOAD NAD CONTROLWARE.
- * (RL) .NE. 0 IF REMOTE NAD LOAD.
- *
- * ERROR EXIT TO *ELP* WITH (X0) = ERROR RESPONSE CODE.
- *
- * USES X - ALL.
- * A - 1, 2, 3, 4, 5, 6, 7.
- * B - 4, 5, 7.
- *
- * CALLS ARG, CCS, DXB, HXB.
- *
- * MACROS CLOCK, DATE, MESSAGE, SYSTEM.
- PRS6 RJ CNS CHECK IF NAD ONLY PARAMETER SPECIFIED
- SA1 DUMP
- ZR X1,PRSX IF NO CONTROLLER DUMP REQUESTED
- DATE PRSA GET SYSTEM DATE
- SA1 PRSA
- BX6 X1
- SA6 SYDT1 SET SYSTEM DATE IN DUMP FILE HEADER
- SA6 SYDT2
- CLOCK PRSA GET SYSTEM TIME
- SA1 PRSA
- BX6 X1
- MX7 1
- SA6 SYTM1 SET SYSTEM TIME IN DUMP FILE HEADER
- SA6 SYTM2
- SA7 A1 READ FROM LOW CORE
- SYSTEM RSB,R,PRSC,0 GET SYSTEM VERSION
- SA1 PRSA SET SYSTEM VERSION IN DUMP FILE HEADER
- SA2 A1+B1
- BX6 X1
- LX7 X2
- SA6 SYVR
- SA7 A6+B1
- PRS SUBR ENTRY/EXIT
- SA1 XJPR
- LX1 59-23
- MX2 -6
- BX1 -X2*X1
- SX0 RC1 * USER NOT SYSTEM ORIGIN.*
- ERRNZ SYOT CODE DEPENDS ON VALUE
- NZ X1,ELP IF USER IS NOT SYSTEM ORIGIN
- SA1 ACTR GET ARGUMENT COUNT
- SA4 ARGR ADDRESS OF FIRST PARAMETER
- SB5 TLCA *LOADBC* ARGUMENT TABLE
- SB4 X1
- RJ ARG PROCESS ARGUMENTS
- NZ X1,PRS2 IF ARGUMENT ERROR
- SYSTEM RSB,R,PRSB,0 GET FWA CHANNEL TABLES
- SA1 PRSA
- MX0 -18
- AX1 12
- BX6 -X0*X1
- SA1 RCTA
- LX6 18
- BX6 X1+X6
- SA6 A1
- SYSTEM RSB,R,PRSD,0 GET EST POINTER WORD *ESTP*
- SA1 ESTW
- AX1 36
- BX6 -X0*X1
- SA1 SCNA PLACE EST FWA IN *RSB* CALL
- LX6 18
- BX6 X6+X1
- SA6 A1
- SA1 CMEF
- PL X1,PRS0 IF CONTROL MODULE NOT SPECIFIED
- SA1 CHFL
- NG X1,PRS2 IF CHANNEL PARAMETER SPECIFIED
- SA1 A1+B1
- SX7 B1 INDICATE NOT DRIVER CALL
- SA7 DRCF
- NG X1,PRS2 IF DUMP FILE NAME SPECIFIED
- SA5 CMES CONVERT EST ORDINAL
- RJ CNS CHECK IF NAD ONLY PARAMETER SPECIFIED
- SB7 B0+ SET OCTAL CONVERSION
- RJ DXB
- SX0 RC20 * INCORRECT EST ORDINAL.*
- NZ X4,ELP IF CONVERSION ERROR
- SA6 CME
- SA5 ESTW GET LAST EST ORDINAL + 1
- MX7 -12
- LX5 36
- BX7 -X7*X5
- IX7 X6-X7
- PL X7,ELP IF EST ORDINAL TOO BIG
- SX7 X6-NOPE
- NG X7,ELP IF EST ORDINAL TOO SMALL
- MX7 -24 ISOLATE EST FWA
- AX5 12
- BX2 -X7*X5
- ERRNZ ESTE-2 CODE ASSUMES *ESTE* = 2
- LX6 1
- IX6 X2+X6
- LX6 18
- SA1 PRSE SET EST ENTRY ADDRESS IN *RSB* WORD
- BX6 X6+X1
- SA6 A1
- SA7 PRSA SET LOW CORE READ FLAG FOR *RSB*
- SX5 2RCM
- SYSTEM RSB,R,PRSE,0 GET EST ENTRY
- ERRNZ EQDE CODE ASSUMES *EQDE* = 0
- SA1 A7
- SA2 A1+B1
- ERRNZ EQAE-1 CODE ASSUMES *EQAE* = 1
- MX0 -3 SAVE EQUIPMENT NUMBER
- AX1 9
- BX6 -X0*X1
- SA6 CMQ
- MX6 -11 GET MNEMONIC
- AX1 3
- BX6 -X6*X1
- BX6 X6-X5
- SX0 RC21 * NOT CONTROL MODULE EST ORDINAL.*
- MX7 -5
- NZ X6,ELP IF NOT *CM* DEVICE
- AX2 24 GET CONTROLWARE TYPE
- BX1 -X7*X2
- SA1 X1+TCWT GET CONTROLWARE RECORD NAME
- BX6 X1
- SA6 CRN
- EQ PRSX RETURN
- PRS0 R= X6,HI0105-HI0102
- SA5 CHAN CONVERT CHANNEL NUMBER
- MX7 -6
- BX2 X5
- LX2 6
- BX0 -X7*X2
- SB6 -34B SET MAXIMUM CHANNEL NUMBER
- SX0 X0-1RC
- NZ X0,PRS0.1 IF NOT A CONCURRENT CHANNEL
- BX5 X7*X2
- SX7 40B SET CONCURRENT CHANNEL FLAG
- SB6 -12B SET MAXIMUM CHANNEL NUMBER
- SA7 CCHF
- PRS0.1 SA1 CHFL
- PL X1,PRS6 IF CHANNEL PARAMETER NOT SPECIFIED
- SA1 BMLM+1 SET OPERATOR INITIATED LOAD
- LX6 36
- IX6 X1-X6
- SA6 A1
- SX7 B1 INDICATE NOT DRIVER CALL
- SA7 DRCF
- RJ DXB
- SX0 RC6 * INCORRECT CHANNEL NUMBER.*
- NZ X4,ELP IF CONVERSION ERROR
- SA1 CCHF
- SX5 X6+B6
- IX6 X6+X1
- PL X5,ELP IF NOT HARDWARE CHANNEL
- SA6 CHN
- LX6 12 SET CHANNEL IN *CPM* CALL BLOCK
- SA6 LBCD
- RJ CCS CHECK CHANNEL STATUS
- SX5 X5-LNFL
- NZ X5,PRS6 IF NOT NAD CHANNEL
- SA3 TYFL
- SA1 TYPE NAD TYPE
- MX0 18
- BX1 X0*X1
- BX7 X3
- SA7 TYPN SAVE NAD TYPE FLAG
- SA2 TRCT TABLE OF REMOTE CONTROLWARE TYPES
- PL X3,PRS3 IF NO NAD TYPE SPECIFIED
- PRS1 BX2 X1-X2
- ZR X2,PRS3 IF MATCH ON NAD TYPE
- SA2 A2+B1
- NZ X2,PRS1 IF NOT END OF TABLE
- PRS2 SX0 RC4 * ERROR IN PARAMETERS.*
- EQ ELP PROCESS ERROR
- PRS3 SA5 LTCU VALIDATE LTCU ENABLES
- ZR X5,PRS5 IF NOT REMOTE NAD LOAD
- SB7 B0
- RJ DXB
- NZ X4,PRS2 IF PARAMETER ERROR
- SX7 -1111B VALIDATE LTCU ENABLES
- BX5 X7*X6
- NZ X5,PRS2 IF PARAMETER ERROR
- MX0 4
- SA7 RL SET REMOTE NAD LOAD FLAG
- LX0 1
- BX7 X0*X6
- PRS4 LX0 1 CHANGE OCTAL DIGITS TO BINARY DIGITS
- AX6 2
- BX7 X7+X6
- BX6 -X0*X6
- NG X0,PRS4 IF MORE DIGITS TO PROCESS
- BX7 X0*X7
- SA7 A5
- SA5 RNAD
- ZR X5,PRS2 IF NO REMOTE NAD ADDRESS SPECIFIED
- RJ HXB
- NZ X4,PRS2 IF PARAMETER ERROR
- SX5 X6-0#100
- PL X5,PRS2 IF PARAMETER ERROR
- SA6 A5+
- SA5 ACC
- ZR X5,PRS5 IF NO ACCESS CODE SPECIFIED
- RJ HXB
- NZ X4,PRS2 IF PARAMETER ERROR
- SX5 X6-0#10000
- PL X5,PRS2 IF PARAMETER ERROR
- SA6 A5+
- PRS5 SA1 DUMP
- ZR X1,PNC IF NO CONTROLLER DUMP REQUESTED
- MESSAGE DRM3,0 * NOT CORRECT CONTROLLER TYPE FOR DUMP.*
- EQ PNC PROCESS NAD CONTROLWARE LOAD
- PRSA CON -1 TEMPORARY BUFFER
- PRSB VFD 12/0,12/1,18/CHTP,18/PRSA CHANNEL TABLE ADDRESS
- PRSC VFD 12/0,12/2,18/SVNL,18/PRSA SYSTEM VERSION
- PRSD VFD 12/0,12/1,18/ESTP,18/ESTW EST ADDRESS
- PRSE VFD 12/0,12/1,18/0,18/PRSA CONTROL MODULE EST ENTRY
- CNS SPACE 4,10
- ** CNS - CHECK IF NAD ONLY PARAMETER SPECIFIED.
- *
- * EXIT TO *PRS2* IF NAD ONLY PARAMETER SPECIFIED.
- *
- * USES X - 1.
- * A - 1.
- CNS SUBR ENTRY/EXIT
- SA1 NOLP-1
- CNS1 SA1 A1+B1
- NG X1,PRS2 IF NAD ONLY PARAMETER SPECIFIED
- NZ X1,CNS1 IF NOT END OF ARGUMENT TABLE
- EQ CNSX RETURN
- TLCA SPACE 4,10
- ** TLCA - TABLE OF *LOADBC* ARGUMENTS.
- TLCA BSS 0
- CHFL EQU * CHANNEL FLAG
- C ARG CHAN,CHAN,400B
- D ARG DUMP,DUMP
- F ARG IN,IN
- CMEF EQU * CONTROL MODULE FLAG
- EQ ARG CMES,CMES
- NOLP EQU * FOLLOWING ARE NAD ONLY *LOADBC* PARAMETERS
- AC ARG ACC,ACC
- LT ARG LTCU,LTCU
- ND ARG RNAD,RNAD,400B
- TYFL EQU * NAD TYPE FLAG
- TY ARG TYPE,TYPE
- ARG END OF ARGUMENT TABLE
- TRCT SPACE 4,10
- ** TRCT - TABLE OF REMOTE CONTROLWARE TYPES.
- TRCT BSS 0
- DATA 0L170 CYBER 170
- DATA 0LIBM IBM
- DATA 0LMIN COMMON MINICOMPUTER
- DATA 0L200 CYBER 20X
- CON 0 END OF TABLE
- SPACE 4,10
- END
cdc/nos2.source/opl871/loadbc.txt ยท Last modified: 2023/08/05 17:24 by Site Administrator