cdc:nos2.source:opl871:set
Table of Contents
SET
Table Of Contents
- [00007] SET - INITIALIZE SYSTEM.
- [00009] INITIALIZE SYSTEM.
- [00069] DIRECT LOCATION ASSIGNMENTS.
- [00151] ASSEMBLY CONSTANTS.
- [00255] AOD - ASSEMBLE OCTAL DIGITS.
- [00281] ASD - ASSEMBLE DIGITS.
- [00304] ASN - ASSEMBLE NAME.
- [00351] CDR - CONVERT DIGITS RIGHT ADJUSTED.
- [00392] CHKAPE - CHECK ALTERNATE PP ERROR.
- [00404] JMP - THREADED JUMP.
- [00423] SCLASS - DEFINE SERVICE CLASS TABLE.
- [00458] SUBSYST - GENERATE SUBSYSTEM TABLE.
- [00511] CMR TABLE ORGANIZATION.
- [00559] MAIN PROGRAM.
- [00561] MAIN PROGRAM.
- [00606] DSTO - DEADSTART OPTIONS.
- [00621] TTXC - TABLE OF TEXT DECK COUNTS.
- [00710] SUBROUTINES.
- [00712] IBF - INITIATE BUFFER PP FUNCTION.
- [00734] IDF - ISSUE *DIO* REQUEST.
- [00745] RTB - READ TAPE BLOCK.
- [00755] RTD - READ TEXT DECKS.
- [00799] ROV - READ OVERLAY.
- [00858] CLS - CLEAR STORAGE.
- [00889] DSE - DISPLAY ERROR.
- [00929] SME - SEARCH EST FOR MASS STORAGE EQUIPMENT.
- [01003] ASSEMBLE TEXT DECK.
- [01005] ATD - ASSEMBLE TEXT DECK.
- [01054] ILL - INCORRECT ENTRY RETURN.
- [01061] ERR - ERROR RETURN.
- [01070] KBR - NORMAL KEYBOARD RETURN.
- [01076] AKL - ASSEMBLE KEYBOARD LINE.
- [01142] CKB - CLEAR KEYBOARD BUFFER.
- [01163] DKB - DISPLAY KEYBOARD BUFFER.
- [01352] ROL - READ ONE LINE.
- [01375] KBUF - KEYBOARD BUFFER.
- [01381] PROCESSING ROUTINES.
- [01413] OVL - OVERLAY ORIGIN.
- [01421] PRESET PROGRAM.
- [01423] PRS - PRESET PROGRAM.
- [01768] CDD - CHECK DISPLAY DRIVER.
- [01798] CLK - PROCESS CTI CLOCK.
- [01820] CSB - COUNT SET BITS.
- [01844] DCB - DEFINE CM BUFFER SPACE.
- [01908] DDV - DETERMINE *DFT* VERSION.
- [01948] EPP - EXCLUDE PP FROM THOSE TO WHICH *APP* MAY BE MOVED.
- [01983] IAF - ISSUE FUNCTION TO ALTERNATE PP.
- [02001] MCI - MODIFY CHANNEL INSTRUCTIONS.
- [02024] MSB - DETERMINE MOST SIGNIFICANT BIT.
- [02083] SHO - SET HARDWARE OPTIONS.
- [02265] PMNT - TABLE OF PROCESSOR MODEL NUMBERS.
- [02303] VCC - VERIFY CPU CONFIGURATION.
- [02349] TRCO - TABLE OF RECOVERY OPTIONS.
- [02402] PP BUFFER IDLER PROGRAM.
- [02491] IDL - IDLER.
- [02502] TFCN - FUNCTION PROCESSORS.
- [02521] TIDP - TABLE OF INITIAL DISPLAY PROCESSORS.
- [02537] RSP - RESET PP.
- [02553] IFB - INPUT FIRST BUFFER.
- [02570] ISB - INPUT SECOND BUFFER.
- [02577] DDD - DISPLAY DEADSTART DATA.
- [02628] UEC - UPDATE EQUIPMENT COUNT.
- [02638] ONL - OUTPUT NEXT LINE.
- [02654] RCL - REPLACE CURRENT LINE.
- [02661] ANL - ADD NEXT LINE.
- [02670] ADB - ADVANCE BUFFER.
- [02682] ADD - ADVANCE DISPLAY.
- [02692] RPS - RESET POINTERS ON SECOND BUFFER.
- [02700] ADL - ADD DISPLAY LINE.
- [02737] ADP - INITIAL APRDECK DISPLAY PROCESSOR.
- [02766] CCD - CONVERT CHANNEL FOR DISPLAY.
- [02809] CDI - CHECK DISPLAY INDEX.
- [02824] CDP - COMPLETE DISPLAY PROCESSING.
- [02849] CLB - CLEAR LINE BUFFER.
- [02861] C1D - CONVERT ONE DIGIT.
- [02879] C2D - CONVERT TWO DIGITS.
- [02901] D4S - DISPLAY 4 DIGITS WITH LEADING ZERO SUPPRESSION.
- [02944] EQP - INITIAL EQPDECK DISPLAY PROCESSOR.
- [02960] GCD - INITIATE CONTROLWARE STATUS DISPLAY.
- [03022] GCL - GENERATE CONTROLWARE STATUS DISPLAY LINE.
- [03084] TDCW - TABLE OF DEFAULT CONTROLWARE.
- [03096] TLCS - TABLE OF CONTROLWARE RECORD TYPES TO LOAD.
- [03127] GDH - GENERATE DISPLAY HEADER.
- [03151] GED - INITIATE EST DISPLAY.
- [03171] GEL - GENERATE EST DISPLAY LINE.
- [03242] GID - INITIATE MASS STORAGE INITIALIZATION DISPLAY.
- [03268] GIL - GENERATE MASS STORAGE INITIALIZATION LINE.
- [03367] GMD - INITIATE MST DISPLAY.
- [03397] GML - GENERATE MST DISPLAY LINE.
- [03495] GTD - INITIATE MASS STORAGE ERROR THRESHOLD DISPLAY.
- [03521] GTL - GENERATE MASS STORAGE ERROR THRESHOLD LINE.
- [03552] IEL - INITIALIZE EQUIPMENT DISPLAY LINE.
- [03594] IML - INITIALIZE MASS STORAGE DISPLAY LINE.
- [03616] REP - READ EQUIPMENT PARAMETERS.
- [03646] RNB - READ NEXT BLOCK.
- [03670] RTL - READ TEXT LINE.
- [03704] SBS - SET BIT STATUS.
- [03741] SCT - SEARCH CONTROLWARE TABLE.
- [03765] UTD - UNPACK TEXT DECK.
- [03913] MTLN - GENERATE TAGGED LIST OF MANAGED TABLE ENTRY COUNTS.
- [03942] NVECPU - SUBROUTINES TO RESERVE CPU1 FOR NOS/VE.
- [04079] CMR - INITIALIZE CENTRAL MEMORY.
- [04111] TAXM - EXTENDED MEMORY ALLOCATION TABLE.
- [04131] CFT - CONVERT EXTENDED MEMORY FL TO TRACK COUNT.
- [04158] CMS - CHECK MEMORY SIZES.
- [04282] VDA - VALIDATE DEVICE ALLOCATION.
- [04310] TSYN - SYNTAX TABLE.
- [04345] CCP - COMPLETE *CMR* PROCESSING.
- [04396] CM TABLE PROCESSORS.
- [04969] KWDF - KEYWORD DEFINITIONS.
- [05023] TBKP - GENERATE TABLE OF KEYWORD PARAMETERS.
- [05044] TBKW - GENERATE TABLE OF VALID AND REQUIRED KEYWORDS.
- [05060] TEQP - DEFINE EQUIPMENT PROCESSING.
- [05080] EQP - INITIALIZE CENTRAL MEMORY.
- [05107] RESIDENT SUBROUTINES.
- [05109] EEB - ENTER EQUIPMENT BUFFER.
- [05140] STA - SET DESCRIPTION TABLE ADDRESS.
- [05207] TCST - CHANNEL STATUS TABLE.
- [05217] TCHS - TABLE OF CONTROLWARE TYPES TO LOAD.
- [05228] EBUF - EQUIPMENT STATUS TABLE BUFFER.
- [05260] TDDE - TABLE OF DEVICE DESCRIPTIONS.
- [05270] RMD - RESET MASS STORAGE DEVICE INFORMATION.
- [05339] SCC - SET CONTROLWARE TABLE IN CM.
- [05355] SFE - SEARCH FOR SPECIFIED EQUIPMENT TYPE.
- [05383] SID - SEARCH FOR *ISMD* DEVICE.
- [05408] TFSD - TABLE OF *ISMD* DEVICE TYPES.
- [05417] TENB - TABLE OF *CM* EST ORDINALS.
- [05424] SPE - SYNCHRONIZE PARTITIONS AND ENTER EQUIPMENT.
- [05568] LOV - LOAD *EQP* OVERLAYS.
- [05635] EQUIPMENT DEFINITIONS.
- [05858] EQUIPMENT DEFINITION PROCESSORS.
- [06152] KWP - KEYWORD MAIN PROCESSOR.
- [06247] MISCELLANEOUS EQUIPMENT DEFINITION SUBROUTINES.
- [06249] CDC - CLEAR ISMD CHANNELS.
- [06275] CLE - CHECK LAST EQUIPMENT.
- [06313] CML - CHECK MASS STORAGE LIMIT.
- [06339] EDC - ENTER ISMD CHANNELS.
- [06380] SDC - SET ISMD CHANNELS.
- [06416] SMD - SEARCH MASS STORAGE DEVICE TABLE *TMSD*.
- [06441] VKW - VALIDATE KEYWORD.
- [06494] STV - STORE KEYWORD VALUE.
- [06531] KEYWORD PROCESSORS.
- [06533] AOK - ASSEMBLE OCTAL KEYWORD VALUE.
- [07074] MISCELLANEOUS KEYWORD SUBROUTINES.
- [07077] AST - ASSEMBLE STATUS.
- [07121] CET - CHECK EXTENDED MEMORY TYPE.
- [07182] CSC - CHECK SEPARATOR CHARACTER.
- [07196] SUL - SET UNIT LIST.
- [07237] SUN - SET UNIT NUMBER.
- [07283] VCP - VALIDATE CHANNEL PAIR.
- [07304] VCN - VALIDATE CHANNEL NUMBER.
- [07399] TRQP - TABLE OF REQUIRED PARAMETERS.
- [07407] TBLM - GENERATE TABLE OF MASS STORAGE PROCESSING PARAMETERS.
- [07429] TMSD - TABLE OF MASS STORAGE DEVICES.
- [07486] EQUIPMENT DEFINITIONS.
- [07751] EQUIPMENT DEFINITION PROCESSORS.
- [07753] ALD - PROCESS ALLOCATABLE DEVICE.
- [07955] KWP - KEYWORD MAIN PROCESSOR.
- [08034] MISCELLANEOUS EQUIPMENT DEFINITION SUBROUTINES.
- [08036] CDC - CLEAR ISMD CHANNELS.
- [08062] CLE - CHECK LAST EQUIPMENT.
- [08100] CML - CHECK MASS STORAGE LIMIT.
- [08114] EDC - ENTER ISMD CHANNELS.
- [08143] RCC - REVERSE CHANNELS FOR CARTRIDGE TAPE.
- [08170] SDC - SET ISMD CHANNELS.
- [08206] VKW - VALIDATE KEYWORD.
- [08259] STV - STORE KEYWORD VALUE.
- [08296] KEYWORD PROCESSORS.
- [08298] AOK - ASSEMBLE OCTAL KEYWORD VALUE.
- [08689] TTFO - TABLE OF TAPE FLAG OPTIONS.
- [08775] MISCELLANEOUS KEYWORD SUBROUTINES.
- [08779] AST - ASSEMBLE STATUS.
- [08817] CIT - CHECK ISMT DEVICES.
- [08838] CHN - CHECK ISMT DUPLICATE CHANNEL ERROR.
- [08874] CKC - CHECK CHANNELS.
- [08901] CHD - CHECK ISMT DUAL CHANNEL ERROR.
- [08916] CSC - CHECK SEPARATOR CHARACTER.
- [08930] VCN - VALIDATE CHANNEL NUMBER.
- [09043] TRQP - TABLE OF REQUIRED PARAMETERS.
- [09068] EQ3 - PROCESS MISCELLANEOUS *EQPDECK* ENTRY.
- [09073] TSYN - SYNTAX TABLE.
- [09108] CM TABLE AND BUFFER PROCESSORS.
- [09202] EQUIPMENT DEFINITION ENTRIES.
- [09271] TVEQ - TABLE OF VALID EQUIPMENT TYPES FOR ACCESS LEVELS.
- [09534] TINO - TABLE OF INITIALIZE OPTIONS.
- [09549] TINF - TABLE OF INITIALIZE FLAGS.
- [10141] TTHD - TABLE OF THRESHOLD IDENTIFIERS.
- [10358] MISCELLANEOUS SUBROUTINES.
- [10360] ACM - ADJUST CENTRAL MEMORY.
- [10516] AVS - ASSEMBLE AND VALIDATE SIZE PARAMETER.
- [10594] A2C - ASSEMBLE TWO CHARACTER VALUE.
- [10616] CDD - CHECK DEADSTART DISK.
- [10648] CDT - CHECK DEADSTART TAPE.
- [10677] CEM - CHECK FOR MASS STORAGE.
- [10697] CLD - CHECK LINK DEVICE DEFINED FOR MMF OPERATION.
- [10744] CME - CHECK *MMF* ENVIRONMENT.
- [10765] COD - CONVERT OCTAL TO DISPLAY CODE.
- [10790] DCM - DISPLAY CONVERTED MESSAGE.
- [10805] DDE - DISPLAY DEADSTART ERROR.
- [10818] DSC - DEVICE STATUS CHECK.
- [10862] GNE - GET NEXT EST ORDINAL.
- [10933] IRE - INCORRECT RANGE ERROR.
- [10950] SDF - SET DEFAULT MASS STORAGE DEVICE.
- [10991] SDS - SEARCH FOR DEADSTART DEVICE.
- [11024] SOT - SEARCH OPTION TABLE.
- [11056] MISCELLANEOUS ENTRIES.
- [11127] TLBC - TABLE OF CONTROLWARE RECORD TYPES TO LOAD.
- [11214] CCN - CHECK CHANNEL NUMBERS.
- [11244] DDV - DOWN ISMD DEVICE.
- [11278] VCD - VALIDATE *CM* AND ISMD ENTRIES.
- [11348] VUN - VALIDATE UNIT NUMBER.
- [11425] TUNB - TABLE OF UNIQUE ISMD UNIT NUMBERS.
- [11457] IPPSUB - SUBROUTINES COMMON TO PP INITIALIZATION.
- [11463] APP - ASSIGN PP-S.
- [11517] HPP - HANG PP.
- [11544] SCSSUB - SUBROUTINE FOR SETTING CPU STATUS WORD.
- [11550] SCS - SET CPU STATUS.
- [11578] SPWSUB - SUBROUTINE FOR SETTING UP POINTER WORDS.
- [11584] SPW - SET UP POINTER WORD.
- [11613] MAIN ROUTINE.
- [11615] ICM - INITIALIZE CENTRAL MEMORY.
- [11634] SUBROUTINES.
- [11636] IPS - INITIALIZE PPU STATUS.
- [11753] PMS - PROCESS MASS STORAGE CHANNELS TO LOAD CONTROLWARE
- [11819] PTR - PROCESS POINTER AREA.
- [12006] SEC - SETUP POINTER WORD *ECRL*.
- [12046] COMMON SUBROUTINES.
- [12066] COMMON - COMMON ROUTINES FOR *ICT* AND *RCT*.
- [12075] TCTP - TABLE OF CMR TABLE PROCESSORS.
- [12119] CDL - COMPUTE DEVICE LENGTH.
- [12143] PBD - PROCESS BUFFERED DEVICE CHANNELS.
- [12179] RCA - ROUND CM ADDRESS TO NEXT MULTIPLE OF 10B.
- [12199] SBB - SET BUFFER BIAS.
- [12220] SPT - SETUP *SCD* PARAMETER TABLE.
- [12282] SXA - SET EXCHANGE AREA FOR CYBER 176.
- [12339] SSESUB - SUBROUTINE TO SEARCH FOR SELECTED EQUIPMENT.
- [12345] SSE - SEARCH FOR SELECTED EQUIPMENT TYPE.
- [12379] MAIN ROUTINE.
- [12381] ICT - INITIALIZE CENTRAL MEMORY TABLES.
- [12435] TABLE ALLOCATION PROCESSORS.
- [12437] BDT - ALLOCATE BUFFERED DEVICE CONTROL TABLES.
- [12519] BST - DEFINE BUFFER STATUS TABLES.
- [12562] CHT - DEFINE CHANNEL TABLES.
- [12584] CLT - DEFINE COMMON LIBRARIES TABLE.
- [12605] DFB - DEFINE DAYFILE BUFFERS.
- [12643] ECB - DEFINE *EICB* TABLES.
- [12736] EJT - DEFINE EXECUTING JOB TABLE.
- [12762] EMB - DEFINE ERROR MESSAGE BUFFER.
- [12787] EST - DEFINE EQUIPMENT STATUS TABLE.
- [12874] EVT - DEFINE EVENT TABLE.
- [12886] EXM - DEFINE EXTENDED MEMORY BUFFERS.
- [12941] EXP - DEFINE C176 EXCHANGE PACKAGES.
- [12954] FNT - DEFINE FILE NAME TABLE.
- [12977] FOT - DEFINE FAMILY ORDINAL TABLE.
- [12996] INB - DEFINE INSTALLATION BLOCK.
- [13011] JCA - DEFINE JOB CONTROL BLOCK TABLE (*JCB*).
- [13077] LDB - DEFINE *L* DISPLAY BUFFER.
- [13089] LID - DEFINE LOGICAL ID TABLE.
- [13106] MCT - DEFINE MEMORY CONTROL TABLE.
- [13134] MSA - DEFINE MASS STORAGE ALLOCATION TABLE.
- [13199] MST - DEFINE MASS STORAGE TABLES.
- [13248] ODB - DEFINE OPERATOR DISPLAY BUFFER.
- [13270] ORT - DEFINE OPTICAL DISK REQUEST TABLE.
- [13288] OST - DEFINE OPTICAL DISK STATUS TABLES.
- [13339] PDB - DEFINE PREVIEW DISPLAY BUFFER.
- [13361] PSV - DEFINE PP SAVE AREAS.
- [13392] QFT - DEFINE QUEUE FILE TABLE.
- [13418] RPT - DEFINE RING PORT TABLE.
- [13459] SAB - DEFINE SYSTEM ATTRIBUTE BLOCK.
- [13492] SCD - DEFINE *SCD* PARAMETER TABLE.
- [13516] SCT - DEFINE SUBSYSTEM CONTROL TABLE.
- [13528] SDA - DEFINE STATISTICAL DATA AREA.
- [13540] SIE - *SET* INTERNAL ERROR.
- [13551] SIT - DEFINE *SECDED* ID TABLE.
- [13569] TRT - ALLOCATE TRT SPACE.
- [13599] PRIMARY SUBROUTINES.
- [13601] LST - LINK SYSTEM TABLE.
- [13638] COMMON SUBROUTINES.
- [13645] SUBROUTINES.
- [13647] IDB - INITIALIZE DAYFILE BUFFER.
- [13690] RMM - RECOVER MST-S FROM MASS STORAGE.
- [14013] SHS - SET HASH TABLE SIZE.
- [14051] SPP - SEARCH FOR PRIOR PARTITIONS.
- [14116] INO - INITIALIZE OVERLAY.
- [14141] TBLM - GENERATE TABLE OF MASS STORAGE FLAWING PARAMETERS.
- [14175] MSF - PROCESS MASS STORAGE FLAWS.
- [14199] SMF - SEARCH MASS STORAGE FLAW TABLE *TMSF*.
- [14223] TMSF - TABLE OF MASS STORAGE DEVICES.
- [14253] TSYN - SYNTAX TABLE.
- [14267] TRACK FLAWS.
- [14355] FMD - SET/CLEAR FLAW ON LARGE MEMORY DEVICE.
- [14397] FRD - SET/CLEAR FLAW ON ROTATING MASS STORAGE DEVICE.
- [14471] CTE - CHECK TRACK ENTRY.
- [14500] AJT - ADJUST TRT FOR UNUSED TRACKS.
- [14528] CET - CONVERT EXTENDED MEMORY ADDRESS TO TRACK NUMBER.
- [14566] PDF - PROCESS DISK FLAWS.
- [14662] PTF - PROCESS TRACK FLAW.
- [14744] PTL - PROCESS TRT LENGTH.
- [14768] SUBROUTINES.
- [14773] CMC - CHECK MACHINE CONFIGURATION.
- [14847] ECT - DEFINE *EICB* TABLES.
- [14920] DML - DEFINE *MLST* BUFFER.
- [14957] DFO - DEFINE *DFT/OS* BUFFER.
- [15264] PWP - POSITION AND WRITE POINTER.
- [15307] BUILD SAB TABLE.
- [15309] BVS - BUILD VARIABLE SIZE SYSTEM ATTRIBUTE BLOCK.
- [15596] CDS - COPY DATA TO SAB BLOCK.
- [15627] CMN - CALCULATE MODEL NUMBERS (NON C180 MAINFRAMES).
- [15787] GPD - GENERATE PROCESSOR DESCRIPTOR.
- [15823] IAF - ISSUE FUNCTION TO ALTERNATE PP.
- [15841] SDA - SET DESCRIPTOR ADDRESS.
- [15940] IPR - PROCESS INSTALLATION PARAMETERS.
- [15974] TSYN - SYNTAX TABLE.
- [16015] TCOM - TABLE OF ENABLE/DISABLE COMMANDS.
- [16174] SUBROUTINES.
- [16176] CSB - CHANGE SYSTEM STATUS BIT.
- [16245] PMP - PROCESS MICROCODE/EI PARAMETERS.
- [16284] VMN - VERIFY MICROCODE/EI NAMES.
- [16339] SUBROUTINES.
- [16341] TJB - TOGGLE JOB SCHEDULER BITS.
- [16356] TSB - TOGGLE SYSTEM STATUS BIT.
- [16374] SYNTAX PROCESSORS.
- [16804] TDLY - TABLE OF DELAY ENTRY ADDRESSES.
- [17985] PARAMETER TABLES.
- [17987] TBDP - TABLE OF BOUNDS PARAMETERS.
- [17995] TCPM - TABLE OF CPUS.
- [18002] TCSM - TABLE OF CHARACTER SET MODES.
- [18010] TDLP - TABLE OF DELAY PARAMETERS.
- [18022] TMDT - TABLE OF MASS STORAGE DEVICE TYPES.
- [18034] TJOT - TABLE OF JOB ORIGIN TYPES.
- [18044] TJSC - TABLE OF JOB SERVICE CLASSES.
- [18050] TKCM - TABLE OF KEYPUNCH CONVERSION MODES.
- [18058] TLDA - TABLE OF LID ATTRIBUTE PARAMETERS.
- [18068] TQPN - TABLE OF QUEUE PARAMETERS.
- [18079] TQUT - TABLE OF QUEUE TYPES.
- [18088] TSPC - TABLE OF PRINT DENSITIES.
- [18095] TSPD - TABLE OF PRINT DENSITIES.
- [18102] TSCM - TABLE OF SERVICE CLASS MASK BITS.
- [18117] TSVP - TABLE OF SERVICE PARAMETERS.
- [18154] TTDN - TABLE OF TAPE DENSITIES.
- [18166] TTDT - TABLE OF TAPE DEVICE TYPES.
- [18176] TTCV - TABLE OF TAPE CONVERSION MODES.
- [18185] SUBROUTINES.
- [18190] AUN - ASSEMBLE USER NAME.
- [18235] CPN - COMPARE NAMES.
- [18261] ESS - EDIT SUBSYSTEM TABLE.
- [18291] SAC - SET (ENABLE/DISABLE) ALL SECURITY CATEGORIES.
- [18312] SPT - SEARCH PARAMETER TABLE.
- [18369] MCTSUB - SUBROUTINES COMMON TO MCT PROCESSING.
- [18376] CTE - CREATE MEMORY CONTROL TABLE ENTRY.
- [18443] GHA - GET HIGHEST MEMORY ADDRESS.
- [18470] SCA - SET CP/PCP AREA ADDRESS.
- [18494] MCTPRS - INLINE CODE TO PRESET *MCTSUB* SUBROUTINES.
- [18519] MAIN ROUTINE.
- [18521] RCM - RECOVER CENTRAL MEMORY.
- [18541] SUBROUTINES.
- [18551] CEI - CLEAR EST INTERLOCKS (FOR SELECTED DEVICES).
- [18588] IPS - INITIALIZE PP STATUS.
- [18694] PTR - PROCESS POINTER AREA.
- [18812] VEM - VERIFY EI LEVEL AND MICROCODE NAME.
- [18881] MEMORY MANAGEMENT ROUTINES.
- [18883] CFC - CHECK FL CONTROL WORDS.
- [18917] DCB - DEFINE CM BUFFER SPACE.
- [18960] FFL - FIND FORWARD LINK FOR MCT ENTRY.
- [19043] MVE - MOVE NFL.
- [19112] RCW - READ FL CONTROL WORD FROM CP/PCP AREA.
- [19154] RFL - RELEASE FIELD LENGTH.
- [19256] RMT - REBUILD MEMORY CONTROL TABLE.
- [19357] INO - INITIALIZE OVERLAY.
- [19426] TCMB - TABLE OF CMR BLOCKS CLEARED FOR RECOVERY.
- [19451] RCT - RECOVER CMR TABLES.
- [19505] TABLE VERIFICATION PROCESSORS.
- [19507] BDT - ALLOCATE BUFFERED DEVICE CONTROL TABLES.
- [19540] BST - VERIFY BUFFER STATUS TABLES.
- [19586] CHT - VERIFY CHANNEL TABLES.
- [19620] CLT - VERIFY COMMON LIBRARIES TABLE.
- [19635] DFB - VERIFY DAYFILE BUFFERS.
- [19668] ECB - VERIFY *EICB* TABLES.
- [19839] EJT - VERIFY EXECUTING JOB TABLE.
- [19854] EMB - VERIFY ERROR MESSAGE BUFFER.
- [19925] EST - VERIFY EQUIPMENT STATUS TABLE.
- [19959] EVT - VERIFY EVENT TABLE.
- [19985] EXM - VERIFY EXTENDED MEMORY BUFFERS.
- [20028] EXP - ALLOCATE C176 EXCHANGE PACKAGES.
- [20045] FNT - VERIFY FILE NAME TABLE.
- [20076] FOT - VERIFY FAMILY ORDINAL TABLE.
- [20089] INB - VERIFY INSTALLATION BLOCK.
- [20102] JCA - VERIFY JOB CONTROL BUFFER TABLE (*JCB*).
- [20115] LDB - ALLOCATE *L* DISPLAY BUFFER.
- [20130] LID - VERIFY LOGICAL ID TABLE.
- [20143] MCT - VERIFY MEMORY CONTROL TABLE.
- [20171] MSA - VERIFY MASS STORAGE ALLOCATION TABLE.
- [20184] MST - VERIFY MASS STORAGE TABLES.
- [20206] ODB - ALLOCATE OPERATOR DISPLAY BUFFER.
- [20231] ORT - VERIFY OPTICAL DISK REQUEST TABLE.
- [20246] OST - VERIFY OPTICAL DISK STATUS TABLE.
- [20269] PDB - CLEAR PREVIEW DISPLAY BUFFER.
- [20292] PSV - VERIFY PP SAVE AREAS.
- [20313] QFT - VERIFY QUEUE FILE TABLE.
- [20328] RPT - VERIFY RING PORT TABLE.
- [20353] SAB - VERIFY SYSTEM ATTRIBUTE BLOCK.
- [20366] SCD - VERIFY *SCD* PARAMETER TABLE.
- [20392] SCT - VERIFY SUBSYSTEM CONTROL TABLE.
- [20405] SDA - VERIFY STATISTICAL DATA AREA.
- [20418] SIE - *SET* INTERNAL ERROR.
- [20429] SIT - VERIFY *SECDED* ID TABLE.
- [20446] TRT - VERIFY TRACK RESERVATION TABLE POINTERS.
- [20482] PRIMARY SUBROUTINES.
- [20484] CTA - CHECK TABLE ADDRESS.
- [20519] SUBROUTINES.
- [20521] CDP - CHECK DAYFILE POINTERS.
- [20574] RMC - RECOVER MSTS FROM CMR.
- [20684] SBD - SEARCH FOR BUFFERED DEVICES.
- [20708] LEVEL 3 OPTION PROCESSING.
- [20887] DRO - DISPLAY RECOVERY OPTIONS.
- [20932] DRB - DISPLAY LEVEL 3 RECOVERY BUFFERS.
- [20953] GCW - GET CHANNEL CONTROL WORD.
- [20987] UDS - UPDATE DISPLAY STATUS.
- [21103] PRT - PRESET *RCT*.
- [21135] SCP - SETUP CONTROL POINTS.
- [21317] SUBROUTINES.
- [21324] IRS - INITIALIZE PP RECALL STACK.
- [21361] SFL - SET CONTROL POINT FIELD LENGTH WORDS.
- [21406] SMC - SETUP MEMORY CONTROL TABLE.
- [21451] SSF - SET SECOND FLSW/CMRL WORD.
- [21478] SXP - SETUP *CPUMTR* PRESET EXCHANGE PACKAGE.
- [21623] INO - INTIALIZE OVERLAY.
Source Code
- SET.txt
- IDENT SET,0
- PERIPH J
- BASE MIXED
- SST LA,MA,.EST,DLYA
- *COMMENT SET - INITIALIZE SYSTEM.
- COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
- TITLE SET - INITIALIZE SYSTEM.
- SPACE 4
- *** SET - INITIALIZE SYSTEM.
- *
- * G. R. MANSFIELD. 70/12/13.
- * D. A. HIVELEY. 72/07/01.
- * J. L. WARDELL. 73/01/15.
- * P. D. HAAS. 74/07/24.
- SPACE 4
- *** *SET* PERFORMS SYSTEM INITIALIZATION BY PROCESSING
- * TEXT DECKS ON THE DEAD START TAPE. THE TEXT RECORDS
- * MAY CONSIST OF ANY NUMBER OF LOGICAL GROUPINGS WITH A
- * PROCESSING OVERLAY. THE ASSEMBLY PROCESS REQUIRES 2 TEXT
- * RECORDS, THE FIRST CONTAINS INSTRUCTIONS FOR THE OPERATOR,
- * AND THE SECOND CONTAINS THE ACTUAL TEXT. NEITHER OF THESE
- * RECORDS SHOULD BE LONGER THAN ONE TAPE PRU. THE PROCESS OF
- * ASSEMBLY CONTINUES UNTIL THE RECORD *PP/PPR* IS READ AS
- * AN OVERLAY.
- *
- * EXAMPLE - THE FOLLOWING RECORDS ARE PRESENT.
- * CMR CENTRAL MEMORY INITIALIZER
- * CMRINST INSTRUCTIONS FOR USE
- * CMRDECK TEXT FOR ASSEMBLY
- SPACE 4,10
- *CALL COMPMAC
- *CALL COMDMAC
- QUAL BIO
- *CALL COMSBIO
- QUAL *
- *CALL COMSDFT
- LIST X
- *CALL COMSDSL
- LIST *
- *CALL COMSDST
- *CALL COMSESS
- *CALL COMSHIO
- QUAL IOU
- *CALL COMSIOU
- QUAL *
- *CALL COMSLSD
- *CALL COMSMSC
- *CALL COMS176
- *CALL COMPCHM
- *CALL COMSCPS
- *CALL COMSEJT
- *CALL COMSMLS
- *CALL COMSMMF
- *CALL COMSMSP
- *CALL COMSMST
- QUAL PFM
- *CALL COMSPFM
- QUAL *
- *CALL COMSPIM
- *CALL COMSREM
- QUAL SCR
- *CALL COMSSCR
- QUAL *
- *CALL COMSSRU
- *CALL COMSSSD
- *CALL COMSSSJ
- *CALL COMS1DS
- SPACE 4
- TITLE DIRECT LOCATION ASSIGNMENTS.
- **** DIRECT LOCATION ASSIGNMENTS.
- ORG 0
- T0 CON PRS-1 TRANSFER ADDRESS
- T1 CON 0
- T2 CON 0 *SCD* PP NUMBER ON ENTRY
- T3 CON 0
- T4 CON 0 DEADSTART CHANNEL ON ENTRY
- T5 CON 0 INTERCOMMUNICATIONS CHANNEL ON ENTRY
- T6 CON 0
- T7 CON 77
- CM VFD 60/0 CM WORD BUFFER
- TA CON 0 TABLE ADDRESS
- NC EQU TA NUMBER OF CONTROL POINTS + 1
- ID CON 2RAA DEFAULT MACHINE ID
- LD CON 0 1/ISD FLAG, 11/MMF LINK DEVICE
- CN VFD 60/0 CM WORD BUFFER
- CA CON 0,1 CENTRAL ADDRESS
- ES CON /EQP/EBUT EQUIPMENT STATUS ADDRESS
- EB CON 0 *EBUF* POINTER
- ET CON 0 *TDDB* POINTER
- MS CON 0 *TMSD* POINTER SET BY */EQ1/SMD*
- * *TETY* POINTER SET BY */EQ2/EQM*.
- EQ CON 0 EST ORDINAL
- LA CON OVL OVERLAY LOAD ADDRESS
- RS CON 0 RECOVERY STATUS
- KB CON 0 KEYBOARD BUFFER ADDRESS
- ST CON 0 SYNTAX TABLE ADDRESS
- DP CON 0 DISPLAY CONTROL (IPRDECK)
- MZ CON 0,0 TOTAL CENTRAL MEMORY SIZE/100B
- RM CON 0 RECOVERY MODE
- DI CON -0 TEXT DECK INDEX
- DF CON 0 DEADSTART FUNCTION
- DH CON DC DEADSTART CHANNEL
- * *HO* BIT DEFINITIONS (SAME AS MABL) -
- *
- * 0001 - CPU0 NOT PRESENT
- * 0002 - CPU1 NOT PRESENT
- * 0004 - IF 865/875, 0=865, 1=875
- * 0010 - CMU NOT PRESET
- * 0020 - CPU0 DOES NOT HAVE A STACK
- * 0040 - RESERVED
- * 0100 - NOT A CYBER 170 (NO SCR PRESENT)
- * 0200 - NOT A CYBER 70 (NO I/L REGISTER PRESENT)
- * 0400 - NOT A CYBER 170-700
- * 3000 - 0 IF NOT 7000-TYPE CPU
- * - 1 IF CYBER 76 MODEL A
- * - 2 IF CYBER 76 MODEL B
- * - 3 IF CYBER 176
- * 4000 - NOT A CYBER 170-800
- HO CON 0 HARDWARE OPTIONS
- AB VFD 60/0 ASSEMBLY BUFFER
- PD CON 0 POSSIBLE LINK DEVICE (=5 IF EST 5 IS ESM)
- FL CON 0,1770 DEFAULT EXECUTION MEMORY SIZE
- DS CON 0 DISPLAY STATUS
- KI CON 0 KEYBOARD INDEX
- KM CON 0 KEYBOARD MESSAGE
- KA CON 0 CHARACTER ADDRESS
- NS CON 0 NUMBER OF SHARED MS DEVICES
- XC CON CH01 X-COORDINATE
- YC CON 0 Y-COORDINATE
- AM CON 0 ASSEMBLY MODE
- ON CON 1 CONSTANT 1
- HN CON 100 CONSTANT 100
- TH CON 1000 CONSTANT 1000
- TR CON 3 CONSTANT 3
- EN CON 0 EXTENDED MEMORY CPU ACCESS EST ORDINAL
- DV CON TDDCL MASS STORAGE DESCRIPTOR TABLE LENGTH
- LE CON NOPE LAST EST ORDINAL
- ZR VFD 60/0 ZERO WORD
- ****
- TITLE ASSEMBLY CONSTANTS.
- SPACE 4,10
- * ASSEMBLY CONSTANTS.
- BC EQU 1 BUFFER PP CHANNEL
- XPC EQU 100 C176 EXCHANGE PACKAGE SIZE
- MEBF EQU DSDL+12 MICROCODE/EI BUFFER
- ERRNZ CPAS-3-MEBF
- BBFL EQU CPML+PRSL BASIC BUFFER LENGTH
- EBFL EQU BBFL+5000/100 EXTENDED BUFFER LENGTH
- EDBL EQU 44 EXTENDED MEMORY DISPLAY BUFFER LENGTH
- LDEQ EQU 5 DEFAULT LINK DEVICE EQUIPMENT NUMBER
- DBPS EQU 2*400-3*3-2*1 PP SAVE AREA CONSTANT
- PSAL EQU PPFW/5 *SCI* PP RESIDENT SAVE AREA LENGTH
- QUAL$ EQU 1
- YCPH EQU LN02 Y-COORDINATE - PRIMARY HEADER LINE
- YCSH EQU LN04 Y-COORDINATE - SECONDARY HEADER LINE
- SPACE 4,10
- * BUFFER PP FUNCTIONS.
- TBPF BSS 0
- LOC 0
- RSBF BSS 1 RESET BUFFER PP
- IFBF BSS 1 INPUT FIRST BUFFER
- ISBF BSS 1 INPUT SECOND BUFFER
- DDDF BSS 1 DISPLAY BUFFER
- UECF BSS 1 UPDATE EQUIPMENT COUNT
- ONLF BSS 1 OUTPUT NEXT LINE
- RCLF BSS 2 REPLACE CURRENT LINE
- ANLF EQU RCLF+1 ADD NEXT LINE
- ADBF BSS 1 ADVANCE BUFFER
- ADDF BSS 1 ADVANCE DISPLAY
- RPSF BSS 1 RESET SECOND BUFFER
- SPACE 4,10
- * MASS STORAGE DESCRIPTOR TABLE TAGS.
- BSS 0
- LOC 0
- DVFA BSS 1 FILE ALLOCATION FLAGS
- DVNT BSS 1 NUMBER OF TRACKS
- DVPR BSS 1 3/ CN, 3/ C2, 1/ F2, 3/ 0,1/ CD, 1/ PF
- * CN = CONTROLLER NUMBER
- * C2 = CONTROLLER NUMBER, SECOND CHANNEL
- * F2 = SECOND CONTROLLER NUMBER FLAG
- * CD = SYSTEM CHECKPOINT DEVICE
- * PF = ISD PRESET FLAG
- DVPF BSS 2 8/ NC,8/ SM,8/ DM
- * NC = NUMBER OF CATALOG TRACKS
- * SM = SECONDARY MASK
- * DM = DEVICE MASK
- DVNM BSS 3 FAMILY OR PACK NAME
- DVDN BSS 1 DEVICE NUMBER
- DVAP BSS 1 APRDECK NUMBER
- DVED BSS 1 EQUIPMENT DESCRIPTION
- DVES BSS 0 1000B WORD BLOCKS OF EM (2 LOCATIONS)
- DVUN BSS 4 UNIT LIST
- DVUNL EQU *-DVUN LENGTH OF UNIT LIST
- DVTH BSS 0 DEVICE THRESHOLD WORD
- DVVF BSS 1 VALIDATION FAILURE THRESHOLD
- DVRA BSS 1 RESTRICT ACTIVITY TRACK THRESHOLD
- DVLS BSS 1 LOW SPACE TRACK THRESHOLD
- DVRE BSS 1 RECOVERED ERROR THRESHOLD
- DVUE BSS 1 UNRECOVERED ERROR THRESHOLD
- DVCT BSS 1 1/ SHARED DEVICE FLAG,
- * 11/ DEFAULT NUMBER OF CATALOG TRACKS
- DVAI BSS 1 6/ CONTROLWARE LOAD, 6/ ALGORITHM INDEX
- DVDI BSS 1 6/ DRIVER INDEX, 6/ UNUSED
- DVSL BSS 1 1/ FULL TRACK FLAG,
- * 11/ SECTOR LIMIT + MAX PARTITION NO.
- DVCO BSS 1 12/ CYLINDER OFFSET FOR THIS PARTITION
- TDDEL BSS 0 LENGTH OF MS DESCRIPTOR TABLE ENTRY
- ERRNZ TDDEL/5*5-TDDEL TABLE LENGTH MUST BE MULTIPLE OF 5
- TDDCL EQU TDDEL/5 CM WORD LENGTH OF TABLE
- ERRNZ TDDCL-5 DV VALUE DEPENDS ON LENGTH OF TABLE
- .TDDB EQU TDDCL*ESMX+77 CM BUFFER SIZE PLUS ROUNDING FACTOR
- TDDBL EQU .TDDB/100 CM BUFFER LENGTH/100B FOR TABLE
- SPACE 4,10
- * DEFAULT MASS STORAGE ERROR THRESHOLDS.
- ORG AB
- AB INDEX
- INDEX DVVF-DVTH,1
- INDEX DVRA-DVTH,0 TRACK COUNT / 8
- INDEX DVRE-DVTH,50
- INDEX DVLS-DVTH,0 TRACK COUNT / 16
- INDEX DVUE-DVTH,1
- ORG TBPF
- SPACE 4,10
- ** MACRO SUBROUTINES FOR ASSEMBLING DIRECTIVE VALUES AND NAMES.
- AODSUB MACRO
- LIST G
- AOD SPACE 4
- ** AOD - ASSEMBLE OCTAL DIGITS.
- *
- * ENTRY (KA) = ADDRESS OF CHARACTER STRING.
- *
- * EXIT (A) = LOWER ASSEMBLY.
- * (AB - AB+4) = ASSEMBLED VALUE.
- * ERROR IF SEPARATOR NOT *,* OR *.*.
- *
- * CALLS CDR.
- AOD1 LDD AB+4 RETURN WITH LOWER ASSEMBLY
- AOD SUBR ENTRY/EXIT
- RJM CDR
- LMN 1R, CHECK SEPARATOR
- ZJN AOD1 IF *,*
- LMN 1R.&1R,
- ZJN AOD1 IF *.*
- JMP ILL PROCESS INCORRECT ENTRY
- LIST *
- AODSUB ENDM
- ASDSUB MACRO
- LIST G
- ASD SPACE 4,10
- ** ASD - ASSEMBLE DIGITS.
- *
- * ENTRY (KA) = ADDRESS OF CHARACTER STRING.
- *
- * EXIT (AB - AB+4) = ASSEMBLED DIGITS.
- * ERROR EXIT IF NO *.*.
- *
- * CALLS CDR.
- ASD1 LDD AB+4 RETURN WITH LOWER ASSEMBLY
- ASD SUBR ENTRY/EXIT
- RJM CDR
- LMN 1R.
- ZJN ASD1 IF *.*
- JMP ILL PROCESS INCORRECT ENTRY
- LIST *
- ASDSUB ENDM
- ASNSUB MACRO
- LIST G
- ASN SPACE 4,10
- ** ASN - ASSEMBLE NAME.
- *
- * ENTRY (A) = NUMBER OF CHARACTERS TO ASSEMBLE.
- * (KA) = ADDRESS OF CHARACTER STRING.
- *
- * EXIT (CM - CM+4) = ASSEMBLED NAME.
- * (A) = 0 IF ASSEMBLY TERMINATED ON *,* OR *.*.
- * (T0) = NUMBER OF CHARACTERS ASSEMBLED.
- *
- * USES T1, T2.
- ASN2 AOD T0 ADVANCE CHARACTER COUNT
- SBN 1
- SHN 21-0 FORM BUFFER ADDRESS
- ADN CM
- STD T1
- LMD T1 CLEAR ADDRESS
- LMI KA INSERT CHARACTER
- MJN ASN3 IF CHARACTER PACKED LOW
- SHN 6 POSITION CHARACTER HIGH
- ASN3 RAI T1 ASSEMBLE BYTE
- AOD KA ADVANCE CHARACTER BUFFER
- SOD T2 DECREMENT CHARACTER COUNT
- NJN ASN1 IF NOT END OF ASSEMBLY
- LDD T0
- ASN SUBR ENTRY/EXIT
- STD T2 SET CHARACTER COUNT
- LDN 0 CLEAR ASSEMBLY BUFFER
- STD T0
- CRD CM
- AOD KA SKIP SEPARATOR
- ASN1 LDI KA CHECK NEXT CHARACTER
- SBN 1R9+1
- MJN ASN2 IF ALPHANUMERIC
- SBN 1R,-1R9-1
- ZJN ASNX IF *,*
- SBN 1R.-1R,
- ZJN ASNX IF *.*
- JMP ILL PROCESS INCORRECT ENTRY
- LIST *
- ASNSUB ENDM
- CDRSUB MACRO
- LIST G
- CDR SPACE 4,10
- ** CDR - CONVERT DIGITS RIGHT ADJUSTED.
- *
- * ENTRY (KA) = ADDRESS OF CHARACTER STRING.
- *
- * EXIT (A) = SEPARATOR CHARACTER.
- * (AB - AB+4) = ASSEMBLY.
- *
- * USES T1, T2.
- CDR4 SBN 1R -1R8
- ZJN CDR3 IF SPACE
- CDR5 LDI KA RETURN WITH CHARACTER
- CDR SUBR ENTRY/EXIT
- LDN ZERL CLEAR ASSEMBLY BUFFER
- CRD AB
- CDR1 LDI KA CHECK CHARACTER
- SBN 1R0
- MJN CDR5 IF ALPHA
- SBN 1R8-1R0
- PJN CDR4 IF NOT OCTAL DIGIT
- ADN 10 STORE DIGIT
- STD T1
- LDN AB+4 SET BYTE ADDRESS
- STD T2
- CDR2 LDI T2 LOAD BYTE
- SHN 3
- LMD T1 ADD NEW DIGIT
- STI T2 STORE
- SHN -14 SAVE OVERFLOW
- STD T1
- SOD T2 ADVANCE BYTE ADDRESS
- LMN AB-1
- NJN CDR2 IF NOT FINISHED
- CDR3 AOD KA ADVANCE CHARACTER
- UJN CDR1 PROCESS NEXT CHARACTER
- LIST *
- CDRSUB ENDM
- SPACE 4,10
- ** CHKAPE - CHECK ALTERNATE PP ERROR.
- *
- * CALLS *DSE* IF THE *A* REGISTER .NE. 0.
- CHKAPE MACRO
- LOCAL CHK1
- ZJN CHK1 IF NO ERROR RETURNED
- JMP DSE DISPLAY ERROR AND HANG
- CHK1 BSS 0
- ENDM
- SPACE 4
- ** JMP - THREADED JUMP.
- *
- *
- * JMP ADDR
- * ENTRY *ADDR* = JUMP ADDRESS.
- JMP MACRO ADDR
- IF -DEF,.ADDR,2
- NOREF .ADDR
- .ADDR MAX ADDR,*-40
- IFGT .ADDR,*-40
- UJN .ADDR
- .ADDR SET *-1
- ELSE 2
- .ADDR SET *
- LJM ADDR
- ENDM
- SCLASS SPACE 4,15
- ** SCLASS - DEFINE SERVICE CLASS TABLE.
- *
- * SCLASS NM,MN,DF,ST,TX
- *
- * ENTRY *NM* = SERVICE CLASS NAME.
- * *MN* = TWO CHARACTER MNEMONIC.
- * *DF* = DAYFILE MESSAGE CHARACTER.
- * *ST* = SHORT TEXT FOR *QFTLIST*.
- * *TX* = TEXT OF SERVICE CLASS NAME FOR BANNER PAGE.
- *
- * NOTE - THE CALL TO *COMSSCD* MUST FOLLOW THE DEFINITION OF
- * THIS MACRO.
- PURGMAC SCLASS
- SCLASS MACRO NM,MN,DF,ST,TX
- .A IFC NE,$NM$SSSC$
- .SCL RMT
- INDEX /SCD/NM,/SCD/MN_MK TX
- .SCL RMT
- .A ENDIF
- SCLASS ENDM
- SCL$ EQU 0 ONLY PROCESS CLASSES WITH JCB-S
- QUAL SCD
- *CALL COMSSCD
- QUAL *
- * DEFINE UNQUALIFIED *COMSSCD* SYMBOLS.
- MXJC EQU /SCD/MXJC
- MXSC EQU /SCD/MXSC
- SUBSYST SPACE 4,10
- ** SUBSYST - GENERATE SUBSYSTEM TABLE.
- *
- * SUBSYST NAME,ID,PR,PP,AUTO,DEF,DCP,CP,PROC,ABT
- *
- * ENTRY *NAME* = 3 CHARACTER SUBSYSTEM NAME.
- * *ID* = SUBSYSTEM ID.
- * *DCP* = DEFAULT CONTROL POINT.
- * *CP* = *YES* IF A CONTROL POINT IS ALLOWED.
- * *DEF* = *ENABLE* IF SUBSYSTEM ENABLED BY DEFAULT.
- PURGMAC SUBSYST
- SUBSYST MACRO NM,ID,PT,PP,AU,DF,DC,CP,PR,AB
- .A IFC NE,$NM$CMS$
- .SUB1 RMT ENABLE/DISABLE CODE
- .B IFC EQ,$CP$YES$
- NM DATA C*NM*
- .B ELSE
- NM DATA C*NM_.*
- .B ENDIF
- .1 SET MXSI-ID
- .2 SET .1/12D
- .3 SET 4-.2 *SSSL* BYTE
- .4 DECMIC .1-12D*.2
- .5 SET 1S".4" *SSSL* MASK
- LDK .3*10000B+.5
- JMP CSB
- .SUB1 RMT
- * SET UP DEFAULT *SSSL*.
- .C IFC EQ,$DF$ENABLE$
- .1 SET MXSI-ID
- .2 SET .1/12D
- .3 SET 4-.2
- .4 DECMIC .1-12D*.2
- .5 SET 1S".4"
- .6 DECMIC .3
- SSSL.".6" SET SSSL.".6"-.5
- .C ENDIF
- .SUB RMT ENABLE/DISABLE SYNTAX
- INDEX MXSI-ID,NM
- .SUB RMT
- .A ENDIF
- .D IFC NE,$DC$$ DEFAULT SSCT TABLE
- .SUB2 RMT
- INDEX MXSI-ID,DC
- .SUB2 RMT
- .D ENDIF
- SUBSYST ENDM
- TITLE CMR TABLE ORGANIZATION.
- SPACE 4,10
- ** LIST OF *SET* GENERATED TABLES.
- *
- * SYMBOLS IN THIS LIST DEFINE THE ORDER IN WHICH TABLES
- * IN CMR ARE ALLOCATED BY *SET*. TABLES MUST BE
- * CREATED AND RECOVERED IN THE SAME SEQUENCE.
- BSS 0
- LOC 0
- ESTO BSS 1 EQUIPMENT STATUS TABLE
- EXPO BSS 1 C176 (AND 819) EXCHANGE PACKAGES
- MCTO BSS 1 MEMORY CONTROL TABLE
- SCDO BSS 1 *SCD* PARAMETER TABLE
- RPTO BSS 1 RING PORT TABLE
- CHTO BSS 1 CHANNEL TABLES
- ECBO BSS 1 *EICB* TABLES
- EMBO BSS 1 ERROR MESSAGE BUFFER
- EVTO BSS 1 EVENT TABLE
- SCTO BSS 1 SUBSYSTEM CONTROL TABLES
- SITO BSS 1 *SECDED* ID TABLE
- SABO BSS 1 SYSTEM ATTRIBUTE BLOCK
- JCAO BSS 1 JOB CONTROL BLOCK TABLE
- MSAO BSS 1 MASS STORAGE ALLOCATION AREA
- ODBO BSS 1 OPERATOR DISPLAY BUFFER
- LDBO BSS 1 *L* DISPLAY BUFFER
- PDBO BSS 1 PREVIEW DISPLAY BUFFER
- DFBO BSS 1 DAYFILE BUFFERS
- PSVO BSS 1 PP SAVE AREAS
- MSTO BSS 1 MASS STORAGE TABLES
- TRTO BSS 1 TRACK RESERVATION TABLES
- EXMO BSS 1 EXTENDED MEMORY BUFFERS
- INBO BSS 1 INSTALLATION BLOCK
- SDAO BSS 1 STATISTICAL DATA AREA
- FOTO BSS 1 FAMILY ORDINAL TABLE
- FNTO BSS 1 FILE NAME TABLE
- EJTO BSS 1 EXECUTING JOB TABLE
- QFTO BSS 1 QUEUE FILE TABLE
- CLTO BSS 1 COMMON LIBRARIES TABLE
- LIDO BSS 1 *LID* TABLE
- OSTO BSS 1 OPTICAL DISK STATUS TABLE
- ORTO BSS 1 OPTICAL DISK REQUEST TABLE
- BSTO BSS 1 BUFFER STATUS TABLES
- BDTO BSS 1 BUFFERED DEVICE CONTROL TABLES
- TSGTE BSS 0 END OF TABLES GENERATED BY *SET*
- ERRNZ BDTO+1-TSGTE BUFFERED DEVICE TABLES MUST BE LAST
- TITLE MAIN PROGRAM.
- SET SPACE 4
- ** SET - MAIN PROGRAM.
- ORG TBPF
- SET LDN 0 LOAD TEXT DECK
- RJM RTD
- RJM ATD ASSEMBLE TEXT DECK
- RJM 3,LA PROCESS ASSEMBLY VALUES
- SET1 RJM ROV LOAD TEXT PROCESSOR
- AOD DI ADVANCE TEXT DECK INDEX
- LMN TTXCL
- NJN SET IF NOT END OF TEXT DECKS TO ASSEMBLE
- RJM ROV SKIP *RCT*
- LDN RSBF TERMINATE BUFFER PP PROGRAM
- RJM IBF
- SET2 RJM ROV LOAD *SCP*
- RJM SCP SETUP CONTROL POINTS
- RJM ROV LOAD *PPR*
- * PP RESIDENT (PPR) NOW LOADED.
- LDC PPFW-1 SET START ADDRESS
- STM OVL
- LDD DH SET DEADSTART CHANNEL
- STM OVL+T1
- LDD RS SET RECOVERY STATUS
- STM OVL+T2
- LDD DF SET DEADSTART EQUIPMENT
- STM OVL+DRSW
- LDC 0 SET DEADSTART OPTIONS
- DSTO EQU *-1
- STM OVL+CM
- LDC 0 SET FIRST TRACK OF RMS DEADSTART FILE
- SETE EQU *-1
- STM OVL+DRSW+1
- LDC PPFW OUTPUT *PPR* TO PP 2
- CC1 OAM. OVL,2
- RJM ROV
- LDD T3 OUTPUT *STL* TO PP2
- CC2 OAM. OVL,2
- CC3 DCN. 2
- CC4 ACN. 0 INPUT *MTR*
- LCN 0
- CC5 IAM. 0,0
- DSTO SPACE 4,10
- ** DSTO - DEADSTART OPTIONS.
- *
- * DSTO = 8/0,2/RA,1/A,1/G
- * A = 0 IF AUTOLOADING ENABLED.
- * = 1 IF AUTOLOADING DISABLED.
- * G = 0 IF NO GRENADE AFTER CONTROLLER AUTOLOAD.
- * 1 IF GRENADE AFTER CONTROLLER AUTOLOAD.
- * RA = 0, ALLOW RECOVERY.
- * RA = 1, CHECKPOINT ALL DEVICES, ABORT LEVEL 3.
- * RA = 2 OR 3, CHECKPOINT NON-BUFFERED DEVICES,
- * ABORT LEVEL 3 RECOVERY.
- DSTO EQU DSTO DEADSTART OPTIONS
- TTXC SPACE 4,10
- ** TTXC - TABLE OF TEXT DECK COUNTS.
- * ENTRY = 1 WORD.
- *
- *T, 12/ N
- * N TEXT DECK NUMBER
- TTXC BSS 0
- LOC 0
- CMRD CON 0 CMRDECK NUMBER
- EQPD CON 0 EQPDECK NUMBER
- APRD CON 0 APRDECK NUMBER
- IPRD CON 0 IPRDECK NUMBER
- TTXCL BSS 0 END OF PROCESSED TEXT DECKS
- LIBD CON 0 LIBDECK NUMBER
- LOC *O
- DATA SPACE 4
- ** CONFIGURATION DATA.
- .CCHN CON 0 CONCURRENT CHANNEL/PP COUNT
- .CPPL CON 0 LOGICAL CONCURRENT PP STATUS
- .CPU CON 0,0 CPU STATUS (PHYSICAL, LOGICAL)
- .CHN CON 20 CHANNEL COUNT
- .PPN CON 0 PP COUNT
- .PPS CON 0,0 PPU STATUS
- .PPL CON 0,0 LOGICAL PP STATUS
- .PPU CON 10D PP CONFIGURATION
- .CEL CON 0 CRITICAL ERROR LOG STATUS
- .DSD CON 0 DEADSTART DEVICE DATA
- .DCS CON 0 DISPLAY CONSOLE STATUS
- .APP CON 0 NEW ALTERNATE PP NUMBER
- .MDD CON 0 *MDD* PP NUMBER
- .NCP CON 11D NUMBER OF CONTROL POINTS + 1
- .NPCP CON 0 NUMBER OF PSEUDO CONTROL POINTS
- BSPT CON 0 BUILD *SCI* PARAMETER TABLE FLAG
- CMCC CON /IOU/MRRD MAINTENANCE CHANNEL READ FUCTION
- CMDL CON 0 MODEL NUMBER
- C8XX CON 1 0 = CYBER 800 TYPE MAINFRAME
- C9LM CON 0 1 = CYBER 990 LARGE MEMORY
- DCPC CON 0 NONZERO IF DUAL 170-STATE CPUS WITH CACHE
- DCPN CON 0 NONZERO IF *DUALCPU=N* SPECIFIED
- DCPS CON 0 NONZERO IF DUAL-NOS-CPU SELECTED IN *CIP*
- DLYA CON SBNI+4 DELAY CONSTANT FOR *COMPAPP*
- DSFL CON 0,0 FL ADJUSTMENT FOR DSCB
- EMAF CON 0 EXTENDED ADDRESS MODE FLAG
- EMTY BSSZ 5 EXTENDED MEMORY TYPE
- EMFL EQU EMTY+1 EXTENDED MEMORY FIELD LENGTH / *EMBS*
- EMSC EQU EMTY+2 EXTENDED MEMORY SHIFT COUNT
- UEMZ EQU EMTY+3 UEM SIZE/100B (2 LOCATIONS)
- ISPF CON -1 SET POSITIVE IF CYBER 810/815/825/830
- LDSH CON 0 XM SHIFT COUNT FOR LINK DEVICE
- MDDP CON 0 TWO PORT MUX PORT FOR *MDD*
- MSBD CON 0 MAXIMUM SHARED BUFFERED DEVICE COUNT
- MSDC CON 0 MAXIMUM SHARED DEVICE COUNT
- NSBD CON 0 NUMBER OF SHARED BUFFERED DEVICES
- PRSF CON 0 MMF *PRESET* FLAG
- P2CC CON 0 CPU-1 CONNECT CODE
- SCIP CON 0 TWO PORT MUX PORT FOR CDC 721 CONSOLE
- SPPC CON 2 SYSTEM CONTROL POINT PP COUNT
- UESC CON 0 USER EXTENDED MEMORY SHIFT COUNT
- VEFL CON 0 4000B IF *VE=* SPECIFIED
- VEMZ CON 0,0 NVE CM BLOCK SIZE/100B
- SPACE 4,10
- ** *DFT* ALLOCATION DATA.
- *
- *T, 6/ N, 6/ M, 1/ D, 1/ T, 10/ SIZE
- * N = NUMBER OF MAINTENANCE REGISTER BUFFERS.
- * M = SIZE OF EACH M/R BUFFER.
- * D = 1, IF *DFT* WILL BE DEDICATED.
- * T = 1, IF MODEL 990.
- * SIZE = TOTAL SIZE OF M/R BUFFERS (N*M).
- DFTA VFD 6/NUMR+1,6/0
- VFD 1/0,1/0,10/0
- DFSZ CON 0 SIZE OF *DFT/OS* BUFFER
- * *DFT* DESCRIPTOR OBTAINED FROM *CTI*.
- DFTV CON 0 DEFAULT = *DFT* LEVEL 3, OS INITIALIZATION
- * CON N *DFT* VERSION (0 = VERSION 3)
- * (1 = VERSION 4)
- * (2 = VERSION 5)
- TITLE SUBROUTINES.
- IBF SPACE 4,10
- ** IBF - INITIATE BUFFER PP FUNCTION.
- *
- * ENTRY (A) = FUNCTION CODE.
- * (T5) = PARAMETER FOR FUNCTION.
- *
- * EXIT (A) = RESPONSE FROM BUFFER PP WHERE APPLICABLE.
- IBF SUBR ENTRY/EXIT
- LMN DDDF
- STM AKLA SET REFRESH STATUS
- LMN DDDF
- IBFA ACN BC
- * UJN IBFX (RETURN ON LEVEL 3 RECOVERY)
- OAN BC OUTPUT REQUEST
- FJM *,BC WAIT FUNCTION ACCEPT
- LDD T5 OUTPUT PARAMETER
- OAN BC
- FJM *,BC WAIT PARAMETER ACCEPT
- IBFB IAN BC INPUT RESPONSE
- UJN IBFX RETURN
- IDF SPACE 4,10
- ** IDF - ISSUE *DIO* REQUEST.
- *
- * ENTRY (A) = FUNCTION CODE.
- IDF SUBR ENTRY/EXIT
- ACN TC
- OAN TC OUTPUT REQUEST
- FJM *,TC WAIT FUNCTION ACCEPT
- UJN IDFX RETURN
- RTB SPACE 4,10
- ** RTB - READ TAPE BLOCK.
- RTB SUBR ENTRY/EXIT
- LDN RTBF INITIATE TAPE BLOCK READ
- ACN TC
- OAN TC
- AJM *,TC WAIT FUNCTION ACCEPT
- UJN RTBX RETURN
- RTD SPACE 4,10
- ** RTD - READ TEXT DECKS.
- *
- * ENTRY (A) = 0 TO LOAD INSTRUCTION DECK AND TEXT DECK.
- * .NE. 0 TO LOAD TEXT DECK ONLY.
- *
- * EXIT TO *DSE* IF CORRECT TEXT DECK NOT FOUND.
- *
- * CALLS IBF, IDF, RTB.
- RTD SUBR ENTRY/EXIT
- NJN RTD1 IF LOADING TEXT DECK ONLY
- RJM RTB
- LDD DI TRANSMIT DECK TYPE TO BUFFER PP
- STD T5
- LDN IFBF LOAD INSTRUCTION DECK
- RJM IBF
- RTD1 LDN LTDF INITIATE SEARCH FOR TEXT DECK
- RJM IDF
- LDM TTXC,DI TRANSMIT DECK NUMBER
- OAN TC
- AJM *,TC WAIT SEARCH COMPLETE
- LDN ISBF LOAD TEXT DECK
- RJM IBF
- NJN RTDX IF TEXT DECK FOUND
- RTD2 LDD DI SET TEXT DECK NAME
- SHN 1
- STD DI
- LDM RTDB,DI
- STM RTDC
- LDM RTDB+1,DI
- STM RTDC+1
- LDC RTDC
- LJM DSE
- RTDB BSS 0
- DATA 4RCMRD
- DATA 4REQPD
- DATA 4RAPRD
- DATA 4RIPRD
- RTDC DATA C*CMRDECK NOT ON TAPE.*
- ROV SPACE 4,10
- ** ROV - READ OVERLAY.
- *
- * EXIT (T3) = BYTE COUNT FOR DATA.
- * (LA) = LOAD ADDRESS.
- *
- * USES T4, T6, CM - CM+4.
- *
- * CALLS IDF, RTB.
- ROV SUBR ENTRY/EXIT
- ORG ROV
- CON RCM EXIT TO *RCM* ON CM RECOVERY
- ROV1 LDN LNOF INITIATE OVERLAY LOAD
- RJM IDF
- ACN TC
- IAN TC INPUT WORD COUNT
- SBN 20
- STD T3 SET BYTE COUNT
- SHN 2
- RAD T3
- LMC MXRL SET EOR STATUS
- STD T4
- LDN 20
- STD T6
- ROV2 LDN 5 SKIP *PRFX* TABLE
- IAM CM,TC
- SOD T6
- NJN ROV2 IF NOT *6PPM* TABLE
- LDN 5
- ADD CM+2 SET LOAD ADDRESS
- STD LA
- LDD LA
- ROVB NJN ROV3 IF NOT PP RESIDENT
- LDN PSNI
- STM ROVB
- LDC OVL
- ROV3 STM ROVC SET LOAD ADDRESS
- ADC MXRL
- STM ROVD
- LDD T3
- IAM OVL,TC INPUT DATA BLOCK
- ROVC EQU *-1
- LDD T4
- NJN ROV4 IF EOR
- RJM RTB READ REMAINDER OF RECORD
- ACN TC
- IAN TC INPUT WORD COUNT
- STD T4
- ZJN ROV4 IF EMPTY BLOCK
- SHN 2
- RAD T4
- RAD T3 ADD TO TOTAL BYTE COUNT
- LDD T4 INPUT REMAINDER OF RECORD
- IAM OVL+MXRL,TC
- ROVD EQU *-1
- ROV4 LJM ROVX RETURN
- CLS SPACE 4,10
- ** CLS - CLEAR STORAGE.
- *
- * ENTRY (A) = WORD COUNT.
- * (CA - CA+1) = CM ADDRESS.
- *
- * EXIT (A) .NE. 0.
- * (CA - CA+1) ADVANCED.
- *
- * USES T1, T2.
- CLS SUBR ENTRY/EXIT
- SBN 1
- MJN CLSX IF NULL WORD COUNT
- STD T2
- SHN -14 SET WORD COUNT
- STD T1
- CLS1 LDD CA CLEAR WORD
- SHN 14
- ADD CA+1
- CWD ZR
- AOD CA+1 ADVANCE CENTRAL ADDRESS
- SHN -14
- RAD CA
- SOD T2 DECREMENT
- PJN CLS1 IF NO BORROW FROM NEXT BYTE
- AOD T2
- SOD T1
- PJN CLS1 IF NOT END OF CLEAR
- UJN CLSX RETURN
- DSE SPACE 4,10
- ** DSE - DISPLAY ERROR.
- *
- * ENTRY (A) BITS 13 - 00 = MESSAGE ADDRESS.
- * BITS 15 - 14 = CC545 CHARACTER SIZE FLAGS.
- *
- * EXIT NO EXIT.
- *
- * USES T1, T2.
- *
- * MACROS CFNC, DFIM.
- DSE SBN 1 SET MESSAGE ADDRESS
- STD T1
- SHN -14
- LMC SLMF SELECT LEFT SCREEN
- CFNC
- DSE1 LDD T1 SET MESSAGE ADDRESS
- STD T2
- LDN 2 OUTPUT COORDINATES
- OAM DSEA,CH
- DSE2 AOD T2 DISPLAY MESSAGE
- LDI T2
- OAN CH
- NJN DSE2
- CFNC THVF TRANSFER HIDDEN TO VISIBLE
- LDC SBNI+1 DELAY
- NJN *-1
- DFIM (UJN *)
- UJN DSE1 LOOP
- DFIM (CON LN15)
- DSEA CON LN25,CH01
- SPACE 4,10
- ** DISPLAY SUBROUTINES.
- FNC DSUB
- SME SPACE 4,10
- ** SME - SEARCH EST FOR MASS STORAGE EQUIPMENT.
- *
- * ENTRY (EQ) = PREVIOUS EST ORDINAL.
- * (LE) = NUMBER OF EST ENTRIES.
- *
- * EXIT (A) = BYTE 0 OF ENTRY WITH BIT 13 IN SIGN POSITION.
- * = 0 IF END OF EST.
- * (EQ) = CURRENT EST ORDINAL.
- * (AB - AB+4) = EST ENTRY.
- *
- * MACROS SFA.
- SME SUBR ENTRY/EXIT
- SME1 AOD EQ
- LMD LE
- ZJN SMEX IF END OF EST
- SFA EST,EQ
- CRD AB READ EST ENTRY
- LDD AB
- SHN 21-13
- PJN SME1 IF NOT MASS STORAGE
- UJN SMEX RETURN
- SPACE 4,10
- ** COMMON DECKS.
- QUAL GFP
- EST$ EQU 0 DEFINE *COMPGFP* ACCESS TO EST
- *CALL COMPGFP
- QUAL *
- .EST EQU /GFP/.EST
- SPACE 4,10
- **** SYSTEM STATUS AND CONTROL WORDS.
- SPACE 4,10
- .SSML BSS 0 MULTI-LEVEL SECURITY WORD
- VFD 3/0 RESERVED
- VFD 3/0 OUTPUT QUEUE SPECIAL HANDLING LEVEL
- VFD 3/0 RESERVED
- VFD 3/0 OPERATING SYSTEM SECURITY MODE
- VFD 16/0 RESERVED
- VFD 32/-0 SYSTEM ACCESS CATEGORIES
- SPACE 4,10
- .INWL BSS 0 INTERLOCK WORD
- VFD 12/0 RESERVED FOR CDC
- VFD 12/0 RESERVED FOR CDC
- VFD 12/0 RESERVED FOR CDC
- VFD 6/0 ACTIVE *MREC* COUNT
- VFD 2/0 RESERVED FOR CDC
- VFD 1/1 DEADSTART JOB FLAG (JOB NOT COMPLETE)
- VFD 1/0 JOB SCHEDULER (DISABLED)
- VFD 1/1 DISABLE JOB SCHEDULING
- VFD 1/0 RESERVED FOR CDC
- VFD 6/0 RESERVED FOR CDC
- VFD 1/0 *MCH* ERROR IN PROGRESS FLAG
- VFD 1/0 CHECKPOINT IN PROGRESS FLAG
- VFD 1/0 WALL CLOCK CHIP RESET
- VFD 1/0 *CPD* DROP FLAG
- VFD 1/0 FATAL MAINFRAME ERROR
- VFD 1/0 SUBSYSTEM ABORT INTERLOCK
- SPACE 4,10
- .PFNL BSS 0 PERMANENT FILE CONTROL
- VFD 18//PFM/DFPT DEFAULT REMOVABLE PACK TYPE
- VFD 18/0 RESERVED
- VFD 12/0 DEFAULT FAMILY EST ORDINAL
- VFD 12//PFM/CPTT CPU TRANSFER THRESHOLD FOR INDIRECT FILE
- ****
- TITLE ASSEMBLE TEXT DECK.
- ATD SPACE 4
- ** ATD - ASSEMBLE TEXT DECK.
- *
- * ENTRY AT *ATD3* TO FORCE DISPLAY OF TEXT DECK FOLLOWING
- * A POST PROCESSING ERROR.
- ATD6 LDD DS
- ZJN ATD3 IF DISPLAY REQUESTED
- ATD SUBR ENTRY/EXIT
- ATD1 LDN 0 CLEAR KEYBOARD ASSEMBLY
- STD AM
- ATD2 RJM ROL READ 1 LINE
- LDD KI
- ZJN ATD6 IF END OF DATA
- RJM AKL ASSEMBLE KEYBOARD LINE
- LDD KM CHECK ERROR MESSAGE
- ZJN ATD2 LOOP IF NO ERROR
- LDN 1 SET KEYBOARD ASSEMBLY
- STD AM
- LDN 0 FORCE TEXT DECK DISPLAY
- STD DS
- STD DP
- RJM AKL ASSEMBLE KEYBOARD LINE
- LDN RCLF
- UJN ATD5 ADD CORRECTED LINE TO PP BUFFER
- * ENTER HERE TO FORCE DISPLAY OF TEXT DECK FOLLOWING A
- * POST PROCESSING ERROR.
- ATD3 LDN 2 SET KEYBOARD ASSEMBLY
- STD AM
- LDM 1,LA ADD *GO.*
- STD T1
- LDC GGO
- STI T1
- ATD4 RJM AKL ASSEMBLE KEYBOARD LINE
- LDD KI
- ZJN ATD4 IF NO ENTRY LINE
- LDN ANLF ADD NEW LINE
- ATD5 RJM IBF
- LDN KBUFL+1 TRANSMIT KEYBOARD BUFFER
- OAM KBUF,BC
- RJM CKB CLEAR KEYBOARD BUFFER
- LDD AM
- LMN 2
- ZJN ATD4 ASSEMBLE NEXT KEYBOARD LINE
- LJM ATD1 PROCESS REST OF TEXT DECK
- ILL SPACE 4
- ** ILL - INCORRECT ENTRY RETURN.
- ILL LDC AKLD MESSAGE = *INCORRECT ENTRY.*
- ILL1 STD KM
- * UJN ERR
- ERR SPACE 4,10
- ** ERR - ERROR RETURN.
- *
- * ENTRY (KM) = ADDRESS OF ERROR MESSAGE.
- ERR LDD AM
- NJN AKL1 IF ERROR NOT IN TEXT DECK
- * UJN AKLX
- KBR SPACE 4
- ** KBR - NORMAL KEYBOARD RETURN.
- KBR BSS 0 NORMAL RETURN FROM OVERLAY
- * UJN AKLX
- AKL SPACE 4
- ** AKL - ASSEMBLE KEYBOARD LINE.
- AKL SUBR ENTRY/EXIT
- LDD AM CHECK ASSEMBLY MODE
- ZJN AKL5 IF NOT KEYBOARD
- DFIM (CON LDCI)
- AKL1 UJN AKL2 DISPLAY BUFFER
- AKLA CON 1
- ZJN AKL3 IF NOT TIME TO REFRESH
- AKL2 LDN DDDF DISPLAY BUFFER
- STD KB
- RJM IBF
- * RJM /RCM/DRB (DISPLAY LEVEL 3 RECOVERY OPTIONS)
- AKLB EQU *-1
- AKL3 RJM DKB DISPLAY KEYBOARD BUFFER
- RJM KBI CHECK KEYBOARD INPUT
- UJN AKL4 NORMAL RETURN - *CR* NOT ENTERED
- UJN AKL5 PROCESS *CR*
- AKL4 LDD KI
- NJN AKL1 IF LINE NOT EMPTY
- AKL5 LDD KI
- ZJN AKLX RETURN IF NO ENTRY
- LDI LA SET SYNTAX TABLE ADDRESS
- STD ST
- LDC KBUF SET KEYBOARD BUFFER ADDRESS
- STD KB
- STD T3
- STD KA
- LDI KB
- LMN 1R*
- ZJN AKLX IF COMMENT LINE
- AKLC UJN *+2 SEARCH FOR MATCH
- * RJM /EQP/LOV LOAD CORRECT *EQP* OVERLAY
- CON /EQP/LOV
- AKL6 LDD KB RESET CHARACTER ADDRESS
- STD KA
- AKL7 AOD ST ADVANCE TABLE ADDRESS
- LDI ST
- NJN AKL8 IF NOT END OF TABLE
- JMP ILL PROCESS INCORRECT ENTRY
- AKL8 STD T2 SET TABLE ENTRY
- AKL9 LDI T2 COMPARE UPPER
- SHN -6
- ZJN AKL10 IF COMPARE COMPLETE
- LMI KA
- NJN AKL6 IF NO MATCH
- AOD KA
- LDI T2 COMPARE LOWER
- LPN 77
- ZJN AKL10 IF COMPARE COMPLETE
- LMI KA
- NJN AKL6 IF NO MATCH
- AOD KA
- AOD T2
- UJN AKL9 CONTINUE COMPARE
- AKL10 CRD AB CLEAR ASSEMBLY BUFFER
- STD KM CLEAR KEYBOARD MESSAGE
- LDD KA (A) = CHARACTER ADDRESS
- LJM 1,T2 EXIT TO PROCESSOR
- AKLD DATA C*INCORRECT ENTRY.*
- CKB SPACE 4,10
- ** CKB - CLEAR KEYBOARD BUFFER.
- *
- * ENTRY (KM) = KEYBOARD MESSAGE ADDRESS.
- *
- * EXIT (KI) = 0.
- *
- * USES T1.
- CKB SUBR ENTRY/EXIT
- LDD KM
- NJN CKBX RETURN IF MESSAGE SET
- STD KI CLEAR KEYBOARD INDEX
- STD T1
- CKB1 LDN 0 CLEAR BUFFER
- STM KBUF,T1
- AOD T1
- LMN KBUFL
- NJN CKB1
- UJN CKBX RETURN
- DKB SPACE 4,10
- ** DKB - DISPLAY KEYBOARD BUFFER.
- *
- * ENTRY (KM) = KEYBOARD MESSAGE ADDRESS.
- * (KB) = KEYBOARD BUFFER REFRESH STATUS.
- *
- * USES T1, T2, YC.
- *
- * MACROS CFNC, DFIM.
- DKBX DCN. CH
- LJM * ENTRY/EXIT
- DKB EQU *-1
- LDD KB
- ZJN DKBX IF NO KEYBOARD BUFFER REFRESH
- DFIM (CON LN50),*+1
- LDC LN48
- STD YC
- CFNC SLPF SELECT LEFT SCREEN - PRIORITY OUTPUT
- LDN 2
- OAM. XC,CH OUTPUT COORDINATES
- LDD KM
- ZJN DKB2 IF NO MESSAGE
- SBN 1 SET MESSAGE ADDRESS
- STD T1
- DKB1 AOD T1 DISPLAY MESSAGE
- LDI T1
- OAN CH
- NJN DKB1
- DKB2 LCN YINC ADJUST Y-COORDINATE
- RAD YC
- DFIM (CFNC EELF) ERASE TO END OF LINE
- DFIM (UJN DKB3)
- LDN 1
- STD T2
- LDD KI CHECK KEYBOARD INDEX
- ZJN DKBX IF EMPTY LINE
- SBN 40
- PJN DKB3 IF > 32 CHARACTERS
- DCN. CH
- CFNC SLMF SELECT LEFT SCREEN - MEDIUM CHARACTERS
- LCN 4 DECREMENT Y
- RAD YC
- LDN 2 ADVANCE COUNT
- RAD T2
- DKB3 LDN 2 OUTPUT COORDINATES
- OAM XC,CH
- LCN 1 SET INDEX
- STD T1
- DKB4 LDN 2 ADVANCE INDEX
- RAD T1
- LDM KBUF,T1 DISPLAY 2 CHARACTERS
- ZJN DKB5 IF END OF KEYBOARD LINE
- SHN 6
- ADM KBUF+1,T1
- OAN CH
- LPN 77
- NJN DKB4 LOOP
- DKB5 CFNC EELF ERASE TO END OF LINE
- LDD KM
- ZJN DKB7 IF NO KEYBOARD MESSAGE
- LDD KA SET CHARACTER COUNT
- ADC -KBUF
- SHN 3
- STD T1
- LDD KI
- DFIM (CFNC BIVF) BEGIN INVERSE VIDEO
- SBN 40
- PJN DKB6 IF > 32 CHARACTERS
- LDD T1
- RAD T1
- DKB6 LDC LN51
- OAN. CH
- LDC CH01
- RAD T1
- OAN CH
- DFIM (LDI KA)
- LDN 1RA DISPLAY CURSOR
- SHN 6
- OAN CH
- LDD T1
- DFIM (CFNC EIVF) END INVERSE VIDEO
- DFIM (UJN DKB8)
- OAN CH
- LDN 1RI
- SHN 6
- OAN CH
- DKB7 SOD T2
- MJN DKB8 IF DISPLAY CYCLE COMPLETE
- LJM DKB3 LOOP
- DKB8 LJM DKBX RETURN
- KBI SPACE 4,20
- *** KBI - KEYBOARD INPUT.
- * ALL ENTRIES ARE DISPLAYED AT THE BOTTOM OF THE LEFT SCREEN.
- * AS THEY ARE ENTERED.
- *
- * *CR* MUST FOLLOW ALL ENTRIES BEFORE ACTION IS TAKEN.
- * *BKSP* DELETES THE PREVIOUS CHARACTER TYPED.
- * *LEFT BLANK* DELETES THE CURRENT LINE BEING ENTERED.
- * *RIGHT BLANK* TOGGLES THE DISPLAY.
- *
- * ABOVE THE ENTRY DISPLAY, THE FOLLOWING MESSAGE MAY
- * APPEAR -
- * *INCORRECT ENTRY.* = ENTRY IS UNRECOGNIZABLE.
- *
- * EXIT ADVANCED IF *CR* ENTERED.
- * (A) = (KB) = -1 IF *LEFT BLANK* OR *BKSP* ENTERED.
- * (KB) = CHARACTER IF DATA ADDED TO KEYBOARD BUFFER.
- *
- * USES T1.
- *
- * CALLS CKB, IBF.
- *
- * MACROS CFNC, DFIM.
- KBI12 AOM AKLA FORCE DISPLAY REFRESH
- KBI SUBR ENTRY/EXIT
- LDN 0
- STD KB
- CFNC SKIF SELECT KEYBOARD INPUT
- IAN CH
- DCN CH
- DFIM (UJN KBI1)
- ZJN KBI1 IF NO INPUT
- LMC 60 (PRESET CR)
- KBIA EQU *-1
- ZJN KBIX IF SAME INPUT
- LMM KBIA STORE NEW INPUT
- KBI1 STM KBIA
- ZJN KBIX RETURN IF NO INPUT
- SBD HN
- PJN KBI12 IF SPECIAL CHARACTER
- ADD HN
- STD T1
- LDD KI
- NJN KBI3 IF NOT FIRST CHARACTER
- LDD T1
- LMN 61
- ZJN KBIX RETURN IF *BKSP*
- LMN 1R+&61
- NJN KBI3 IF NOT *+*
- LDN ADBF ADVANCE BUFFER
- KBI2 RJM IBF
- JMP KBIX RETURN
- KBI3 LDD T1 CHECK CHARACTER
- LMN 53
- NJN KBI5 IF NOT *LEFT BLANK*
- STD KM CLEAR KEYBOARD MESSAGE
- RJM CKB CLEAR KEYBOARD BUFFER
- KBI4 SOD KB
- JMP KBIX RETURN
- KBI5 LMN 55&53
- NJN KBI6 IF NOT *RIGHT BLANK*
- LDN ADDF ADVANCE DISPLAY
- UJN KBI2 ISSUE BUFFER PP FUNCTION
- KBI6 LMN 60&55
- NJN KBI7 IF NOT *CR*
- AOM KBI ADVANCE EXIT
- JMP KBIX RETURN
- KBI7 LMN 61&60
- NJN KBI8 IF NOT *BKSP*
- STD KM CLEAR KEYBOARD MESSAGE
- STM KBUF-1,KI CLEAR PREVIOUS ENTRY
- SOD KI
- JMP KBI4 RETURN
- KBI8 LMN 62&61
- NJN KBI9 IF NOT *SPACE*
- LDN 1R SUBSTITUTE * *
- STD T1
- KBI9 LDD KI
- NJN KBI10 IF NOT FIRST CHARACTER
- STD KM
- KBI10 LMN KBUFL
- ZJN KBI11 IF BUFFER FULL
- LDD T1 STORE CHARACTER
- STM KBUF,KI
- STD KB
- AOD KI
- KBI11 JMP KBIX RETURN
- ROL SPACE 4,10
- ** ROL - READ ONE LINE.
- *
- * EXIT (KI) = KEYBOARD INDEX.
- *
- * CALLS CKB, IBF.
- ROL1 SHN 14 UNPACK DATA
- STM KBUF,KI
- SHN -14
- STM KBUF+1,KI
- LDN 2 ADVANCE BUFFER INDEX
- RAD KI
- IAN BC
- ROL2 NJN ROL1 IF NOT END OF LINE OR DATA
- DCN BC
- ROL SUBR ENTRY/EXIT
- RJM CKB CLEAR KEYBOARD BUFFER
- LDN ONLF SELECT NEXT LINE INPUT
- RJM IBF
- UJN ROL2 CHECK NEXT LINE PRESENT
- KBUF SPACE 4
- ** KBUF - KEYBOARD BUFFER.
- KBUF BSS 60D
- KBUFL EQU *-KBUF
- CON 0 INSURE END OF LINE
- TITLE PROCESSING ROUTINES.
- GO SPACE 4
- *** GO.
- * CONTINUE WITH LOAD.
- GGO DATA C*GO.*
- AOD DP DISABLE *IPRDECK* DISPLAY
- GGO0 LDD KM
- NJN NXT1 IF ERROR MESSAGE
- LDN 1 SET NO DISPLAY
- STD DS
- GGO1 LJM ATDX EXIT FROM ASSEMBLY
- IPR SPACE 4,10
- *** IPR.
- * CONTINUE LOAD WITH NO DISPLAY UNTIL *IPRDECK*.
- IPR DATA C*IPR.*
- LDN 0 SET DISPLAY FOR *IPRDECK*
- STD DP
- UJN GGO0 CHECK ERROR MESSAGE
- NEXT SPACE 4
- *** NEXT.
- * CONTINUE TO NEXT ASSEMBLY.
- NEXT DATA C*NEXT.*
- LDD KM
- ZJN GGO1 IF NO ERROR MESSAGE
- NXT1 JMP KBR RETURN
- SPACE 4
- ** OVL - OVERLAY ORIGIN.
- * WORD 1 OF OVERLAY = ADDRESS OF SYNTAX TABLE.
- * WORD 2 OF OVERLAY = ADDRESS OF SYNTAX TABLE END.
- *
- * WORD 4 = ENTRY TO PROCESSOR.
- OVL BSS 0
- TITLE PRESET PROGRAM.
- PRS SPACE 4,10
- ** PRS - PRESET PROGRAM.
- *
- * ENTRY (T4) = DEADSTART CHANNEL.
- * (T5) = INTERCOMMUNICATIONS CHANNEL.
- PRS BSS 0
- LDN ZERL ZERO OUT ZERO WORD
- CWD ZR
- RJM CDD CHECK DISPLAY DRIVER
- LDN 40 EXIT *IBF* ON INACTIVE CHANNEL
- RAM IBFB
- LDD T5 BUFFER PP COMMUNICTAION CHANNEL
- SHN 14
- ADC CTTC MODIFY CHANNEL INSTRUCTIONS
- RJM MCI
- LDM APPC ALTERNATE PP LOCATION/CHANNEL
- LPN 77
- SHN 14
- ADC CTAC MODIFY ALTERNATE PP CHANNEL INSTRUCTIONS
- RJM MCI
- LDN DPIS REQUEST DEADSTART PANEL
- RJM IAF
- LDM DBUF+DPW13 WORD 13 OF DEADSTART PANEL
- STD T1
- LPN 77
- STM TTXC+CMRD
- STM TTXC+EQPD SET DEFAULT EQPDECK NUMBER
- LMD T1
- SHN 6+3 EXTRACT RECOVERY MODE
- SCN 4
- STD RM
- SHN 3 SET DISPLAY STATUS
- LPN 1
- LMN 1
- STD DS
- STD DP
- LDM DBUF+DPW6 WORD 6 OF DEADSTART PANEL
- STD DF
- LDN CPTS REQUEST COMMON POINTER AREA
- RJM IAF
- LDM DBUF+CIDP+3 GET CRITICAL ERROR LOG FLAG
- LPN 20
- STM .CEL
- LDD DF DEADSTART FUNCTION
- LPC 700
- SBK 300
- MJN PRS1 IF DEADSTART FROM TAPE
- LDD DF
- LPN 77 SET DISK DEADSTART
- STD DF
- LDM DBUF+OSRP FIRST TRACK OF DEADSTART FILE
- STM SETE
- PRS1 LDD T4 SET DEADSTART CHANNEL
- STD DH
- LDM TRCO,RM SET RECOVERY STATUS
- STD RS
- LPN SYMK
- LMN SYCM
- ZJN PRS2 IF CM RECOVERY
- LDC CPAS-1
- RJM CLS
- LDN MSCL PRESERVE DEFAULT ERROR THRESHOLDS
- CWD AB
- PRS2 LDN EMDS REQUEST EI/MICROCODE DESCRIPTOR
- RJM IAF
- LDM MBUF
- ZJN PRS3 IF NO DESCRIPTOR RETURNED
- LDM DBUF+EINM
- STM DBUF+EIDT+3 MOVE EI SPECIFICATION
- SOM C8XX
- STM DBUF+EIDT+4
- LDM DBUF+MNLF CLEAR MICROCODE LOADED FLAG
- SCN 1
- STM DBUF+MNLF
- LDC MEBF SAVE MICROCODE/EI INFORMATION
- CWM DBUF+MCNM,TR
- PRS3 LDN 0 SELECT FIRST PROCESSOR
- STM MBUF
- LDN CPDS REQUEST CPU DESCRIPTOR
- RJM IAF
- LDM DBUF+CPOA
- LPN 1 SET CYBER 990 LARGE MEMORY OPTION
- STM C9LM
- LDN CMDS REQUEST CM DESCRIPTOR
- RJM IAF
- LDM DBUF+LCMS SET CM SIZE
- STD MZ
- STD CM+2
- LDM DBUF+LCMS+1
- STD MZ+1
- STD CM+3
- LDM DBUF+MCTC SAVE MEMORY CONNECT CODE
- RAM CMCC
- RJM SHO SET HARDWARE OPTIONS
- ZJP PRS5 IF CM RECOVERY OR CYBER 180
- LDM DBUF+OPTN SET MAINFRAME OPTIONS
- LPC 5700
- LMD TH INVERT CYBER 176 FLAG
- STD HO
- LPC 1000 DUPLICATE CYBER 176 FLAG
- SHN 1
- RAD HO
- LDN 0 SELECT FIRST PROCESSOR
- STM MBUF
- LDN CPDS REQUEST CPU DESCRIPTOR
- RJM IAF
- LDM DBUF+CPOP
- LPN 37 EXTRACT PROCESSOR OPTIONS
- RAD HO
- LPN 7 SET PROCESSOR AVAILABLE STATUS
- STM .CPU
- LPN 4
- ZJN PRS4 IF CEJ / MEJ ENABLED
- LDC =C*CEJ/MEJ DISABLED.*
- JMP DSE DISPLAY ERROR AND HANG
- PRS4 LDD HO
- LPC 4100
- NJN PRS5 IF NOT CYBER 865 / 875
- LDK /SCR/FCRD+/SCR/M875
- OAN CHSC
- IAN CHSC
- LPN 2 SET 865/875 STATUS
- SHN 2-1
- ADC -400
- RAD HO
- PRS5 LDD HO CHECK CPU STATUS
- LPN 3
- LMN 3
- ZJN PRS5.1 IF NO 170 STATE CPU(S) ON
- LPN 1
- NJN PRS6 IF CPU0 ON
- LDM DCPC
- ZJN PRS6 IF NOT DUAL 170-STATE CPUS WITH CACHE
- PRS5.1 LDC =C*NO CPU AVAILABLE.*
- JMP DSE DISPLAY ERROR AND HANG
- PRS6 LDN IUDS REQUEST IOU DESCRIPTOR
- RJM IAF
- LDM DBUF+PPSD SET PP SPEED
- STD CM+4
- RAM IBUF+/BPP/CDPA
- LDN CSWL SAVE *MABL* DATA
- CWD CM
- * SET PP STATUS.
- LDM DBUF+LPP0 SET LOGICAL PP STATUS
- STM .PPL
- LDM DBUF+LPP1
- STM .PPL+1
- LDM DBUF+LPC1 SET LOGICALLY ON CONCURRENT PP-S
- STM .CPPL
- LDC 6000 SET PHYSICAL PP COUNT
- RAM DBUF+PPP0
- RJM CSB
- STM .PPN
- LDC 6000 CHECK UPPER BANK
- RAM DBUF+PPP1
- RJM CSB
- ZJN PRS7 IF .LE. 10 PP-S
- LDN 10D
- RAM .PPN
- LDN 10D ADJUST PP CONFIGURATION
- RAM .PPU
- * SET CHANNEL STATUS.
- LDN 34 SET CHANNEL COUNT
- STM .CHN
- PRS7 LDM C8XX
- NJN PRS8 IF NOT CYBER 800 TYPE MAINFRAME
- LDM DBUF+CHP1
- RJM CSB
- ADN 20 ADJUST CHANNEL COUNT
- STM .CHN
- LDC 6000 SET PHYSICAL CONCURRENT CHANNEL/PP COUNT
- RAM DBUF+PPC1
- RJM CSB
- STM .CCHN
- ZJN PRS8 IF NO CONCURRENT CHANNELS
- ADN 40
- UJN PRS8.1 SET MAX CHANNELS FOR FIRMWARE DISPLAY
- PRS8 LDM .CHN SET COUNT FOR BUFFER PP
- PRS8.1 RAM IBUF+/BPP/GCLA
- * SET *MDD* STATUS.
- LDN CIDS REQUEST CONSOLE DESCRIPTOR
- RJM IAF
- LDM MBUF
- ZJN PRS9 IF NO DESCRIPTOR RETURNED
- LDM DBUF+SMPP
- SHN -6 SET *MDD* PP NUMBER
- STM .MDD
- LDM DBUF+MDDF SAVE *MDD* LOADED FLAG AND PORT
- STM MDDP
- PRS9 RJM CLK PROCESS CTI CLOCK
- RJM DDV DETERMINE *DFT* VERSION
- LDD DH
- LMN 2
- NJN PRS10 IF DEADSTART NOT FROM CHANNEL 2
- LDN 12-2 SET CHANNEL 12 FOR *STL* LOAD
- RAM CC1
- STM CC2
- LDN 12-2
- RAM CC3
- PRS10 LDD DH
- NJN PRS11 IF DEADSTART NOT ON CHANNEL 0
- LDN 12-0 SET *MTR* LOAD FROM CHANNEL 12
- RAM CC4
- LDN 12-0
- RAM CC5
- PRS11 LDD DH
- LMN BC
- NJN PRS12 IF DEADSTART NOT ON BUFFER PP CHANNEL
- LDC 12S12+CTBC
- RJM MCI MODIFY BUFFER PP CHANNEL INSTRUCTIONS
- * MOVE ALTERNATE PP.
- PRS12 LDN DIDS GET DEADSTART DISK INFORMATION
- RJM IAF
- LDM DBUF+DDCH
- LPN 37
- SHN 14
- LMM DBUF+DDEU
- SHN 6
- STM .DSD
- RJM EPP EXCLUDE D/S DISK CHANNEL PP
- LDD DH
- RJM EPP EXCLUDE D/S TAPE CHANNEL PP
- LDM .PPL
- LMC 6407 REMOVE PP-S 0, 1, 2, 10
- PRSC EQU *-1
- RJM MSB
- PJN PRS15 IF PP FOUND
- LDM .PPL+1
- LMC 6000 CHECK UPPER BANK
- PRSD EQU *-1
- RJM MSB
- PJN PRS14 IF PP FOUND
- LDC =C* NOT ENOUGH PP-S FOR DEADSTART.*
- JMP DSE DISPLAY ERROR AND HANG
- PRS14 ADN 20 SET NEW ALTERNATE PP NUMBER
- PRS15 STM .APP
- ADC MAPS*10000 MOVE PP FUNCTION
- RJM APM
- CHKAPE CHECK ALTERNATE PP ERROR
- * IDLE CPU(S) AWAY FROM LOCATION 0.
- PRS16 LDN 20 EXCHANGE PACKAGE LENGTH
- STD T1
- LDD HN SAVE EXCHANGE PACKAGE AREA
- CRM MBUF,T1
- LDN CPSL STORE CPU IDLE PROGRAM
- CWM PRSA,ON
- LDD HO CHECK CPU TYPE
- SHN 21-11
- MJN PRS18 IF CYBER 176 (CPU STOPPED)
- LDD HO
- LPN 2
- NJN PRS17 IF CPU 1 OFF / NON-EXISTENT
- LDM DCPC
- NJN PRS17 IF DUAL 170-STATE CPUS WITH CACHE
- LDD HN STORE EXCHANGE PACKAGE
- CWM PRSB,T1
- SBN 20
- EXN 1 EXCHANGE CPU 1
- SBN 1 WAIT EXCHANGE COMPLETE
- NJN *-1
- LDD HO
- LPN 1
- NJN PRS18 IF CPU 0 OFF
- PRS17 LDD HN STORE EXCHANGE PACKAGE
- CWM PRSB,T1
- SBN 20 EXCHANGE CPU 0
- EXN 0
- SBN 1 WAIT EXCHANGE COMPLETE
- NJN *-1
- PRS18 LDD HN RESTORE EXCHANGE PACKAGE AREA
- CWM MBUF,T1
- LDN 0 CLEAR LOCATION 0
- CWD ZR
- * START BUFFER PP.
- RJM DCB DEFINE CM BUFFER SPACE
- STM IBUF+/BPP/EA
- .ESBL EQU ESTE*ESMX+77 CM BUFFER SIZE PLUS ROUNDING FACTOR
- ESTBL EQU .ESBL/100 CM BUFFER LENGTH/100B FOR EST
- ADK ESTBL RA/100 OF *TDDB* TABLE
- STD ET
- STM IBUF+/BPP/MA
- .CTBL EQU 3*CTALL+77 CM BUFFER SIZE PLUS ROUNDING FACTOR
- CTABL EQU .CTBL/100 CM BUFFER LENGTH/100 FOR CHANNEL TABLES
- ADK TDDBL+CTABL
- STM IBUF+/BPP/FA
- LDC IBUFL TRANSMIT PP BUFFER PROGRAM
- OAM IBUF,BC
- FJM *,BC WAIT OUTPUT COMPLETE
- DCN BC
- LDD EB CLEAR EST ASSEMBLY BUFFER
- SHN 6
- STD CA+1
- SHN -14
- STD CA
- LDC ESTBL*100+TDDBL*100+CTABL*100
- RJM CLS
- LDD LE ENTER EST CONSTANTS
- SHN 1
- STD T1
- LDD EB
- SHN 6
- CWM EBTA,T1
- LDN CFGL SET EXTENDED MEMORY MODE INTO *CFGL*
- CRD AB
- LDD HO
- LPC 4100
- NJN PRS19 IF NOT CYBER 865/875
- LDN 1 FORCE ESM MODE
- UJN PRS20 SET MODE IN *CFGL*
- PRS19 IJM SET1,CHSC IF SCR CHANNEL INACTIVE
- LDN /SCR/FCRD+/SCR/ESMM/14 READ SCR EXTENDED MEMORY MODE
- OAN CHSC
- IAN CHSC
- SHN -/SCR/ESMM+/SCR/ESMM/14*14
- LPN 1
- PRS20 SHN 12-0
- RAD AB+3 INSERT MODE BIT
- LDN CFGL
- CWD AB
- LJM SET1 PROCESS TEXT DECKS
- SPACE 4,10
- * SCRATCH BUFFER.
- MBUFL MAX MLED,CTALL*5,100*5
- MBUF EQU 7777-MBUFL
- DBUF EQU MBUF+APDL
- CDD SPACE 4,10
- ** CDD - CHECK DISPLAY DRIVER.
- *
- * ENTRY (T2) = *SCD* PP NUMBER IF CDC721 CONSOLE.
- * (T7) = 77.
- * (CM - CM+4) = 0.
- *
- * MACROS MDIN.
- CDD SUBR ENTRY/EXIT
- LDD T2
- LPN 1 SET PORT NUMBER IN EST ENTRY
- RAM EBTA+5*DSEQ*ESTE+5*EQDE+4
- LPN 1
- SHN 4
- STM SCIP
- LDD T2 EXTRACT *SCD* PP NUMBER
- SHN -6
- STM .DCS
- CDD1 ZJN CDDX IF DEADSTART FROM CC545 CONSOLE
- RAM CDDA
- LPN 37 MODIFY CHANNEL INSTRUCTIONS
- RAM CDDB
- LDN 3 INITIALIZE *SCD*
- CDDA OAM. T7,0
- CDDB DCN. 0
- AOM EBTA+5*DSEQ*ESTE+5*EQAE+2
- MDIN MODIFY DISPLAY GENERATORS
- UJP CDD1 RETURN
- CLK SPACE 4,10
- ** CLK - PROCESS CTI CLOCK.
- *
- * EXIT (DTEL) = CTI-SUPPLIED DATE.
- * (TIML) = CTI-SUPPLIED TIME.
- * (PDTL) = CTI-SUPPLIED *FRC* VALUE.
- *
- * CALLS IAF.
- CLK SUBR ENTRY/EXIT
- LDM C8XX CHECK MAINFRAME TYPE
- NJN CLKX IF NOT CYBER 180
- LDN CLKS REQUEST CTI CLOCK INFORMATION
- RJM IAF
- LDN PDTL
- CWM MBUF+10,ON WRITE CTI-SUPPLIED *FRC* VALUE
- ADK TIML-PDTL-1
- CWM MBUF+3,ON WRITE CTI-SUPPLIED TIME
- ADK DTEL-TIML-1
- CWM MBUF,ON WRITE CTI-SUPPLIED DATE
- UJN CLKX RETURN
- CSB SPACE 4,10
- ** CSB - COUNT SET BITS.
- *
- * ENTRY (A) = COMPLEMENT OF BYTE TO COUNT.
- *
- * EXIT (A) = NUMBER OF ZERO BITS IN LOWER 12 BITS.
- *
- * USES T1, T2.
- CSB2 LDD T2 NUMBER OF BITS SET
- CSB SUBR ENTRY/EXIT
- LMC 7777 COMPLEMENT ENTRY
- STD T1 SAVE ENTRY CONDITION
- LDN 0
- STD T2 RESET COUNTER
- CSB1 LDD T1
- ZJN CSB2 IF NO MORE BITS SET
- SHN 21-0 SHIFT OFF LAST BIT
- STD T1
- SHN 0-21 INCREMENT COUNTER
- RAD T2
- UJN CSB1 LOOP FOR NEXT BIT
- DCB SPACE 4,15
- ** DCB - DEFINE CM BUFFER SPACE.
- *
- * EXIT (A) = (EB) = RA/100 FOR EST BUFFER.
- *
- * USES T1, AB - AB+4.
- *
- * CALLS API, IDF.
- *
- * MACROS CFNC, CHKAPE, DFIM.
- DCB2 LDN CSWL FETCH *MABL* DATA
- CRD AB
- CWD ZR
- ADN MABL-CSWL STORE *MABL* WORD
- CWD AB
- LDD AB+2 SET BUFFER LIMIT
- SHN 14
- LMD AB+3
- MJN DCB3 IF MEMORY SIZE .GT. 64 MBYTES
- SBK 4001
- MJN DCB4 IF MEMORY SIZE .LE. 131K WORDS
- DCB3 LCN 1
- DCB4 ADC 4001
- STM IBUF+/BPP/BL
- SBK EBFL SET RA FOR *EBUT* TABLE
- STD EB
- DCB SUBR ENTRY/EXIT
- LDD RS
- LPN SYMK
- LMN SYCM
- NJN DCB2 IF SYSTEM NOT RECOVERED FROM CM
- LDN LROF
- RJM IDF INITIATE SEARCH FOR *RCM*
- CFNC SLMF SELECT LEFT SCREEN - MEDIUM CHARACTERS
- DCB1 LDN DCBAL DISPLAY MESSAGE
- OAM DCBA,CH
- CFNC THCF TRANSFER HIDDEN AND CLEAR
- LDC SBNI+1 DELAY
- NJN *-1
- AJM DCB1,TC IF *DIO* BUSY
- DCN CH
- * SUSPEND ALTERNATE PP.
- LDM .APP MODIFY *APP* CHANNEL INSTRUCTIONS
- SHN 14
- LMC CTAC
- RJM MCI
- LDK ZERL CLEAR *DSCL*
- CRD CM
- LDK DSCL
- CWD CM
- LDK RPCS*10000+DSCL REMOVE PP FROM CHANNEL
- RJM APM
- CHKAPE CHECK ALTERNATE PP ERROR
- LJM ROV1 LOAD AND EXECUTE *RCM*
- DFIM (CON LN12)
- DCBA CON LN19,CH06
- DATA C*RECOVERY IN PROGRESS.*
- DCBAL EQU *-DCBA
- DDV SPACE 4,10
- ** DDV - DETERMINE *DFT* VERSION.
- *
- * EXIT (DFTV) = 0, IF VERSION 3 *DFT* PRESENT.
- * (DFSZ) = SIZE OF *DFT/OS* BUFFER, IF VERSION 4 OR
- * ABOVE *DFT* PRESENT.
- *
- * TO *DSE* IF THE SIZE OF THE *DFT/OS* BUFFER FROM THE
- * DESCRIPTOR IS GREATER THAN 7777B.
- *
- * CALLS IAF.
- DDV SUBR ENTRY/EXIT
- LDM C8XX
- NJN DDVX IF NOT CYBER 180
- LDN DFTS GET *DFT* DESCRIPTOR
- RJM IAF ISSUE ALTERNATE PP FUNCTION
- LDM MBUF
- ZJN DDVX IF NO DESCRIPTOR RETURNED
- LDM DBUF+DFVR SAVE *DFT* VERSION
- SHN 21-0
- PJN DDVX IF VERSION 3 *DFT*
- SHN 0-5
- LPN 77
- NJN DDV0 IF NOT *DFT* VERSION 4
- LDN 4
- DDV0 SBN 3 *DFT* VERISON 3 = 0
- STM DFTV
- LDM DBUF+DFSI SAVE *DFT/OS* BUFFER SIZE
- NJN DDV1 IF *DFT/OS* BUFFER SIZE TOO LARGE
- LDM DBUF+DFSI+1
- STM DFSZ
- UJN DDVX RETURN
- DDV1 LDC DDVA *DFT BUFFER TOO LARGE*
- LJM DSE DISPLAY ERROR AND HANG
- DDVA DATA C*DFT BUFFER TOO LARGE*
- EPP SPACE 4,10
- ** EPP - EXCLUDE PP FROM THOSE TO WHICH *APP* MAY BE MOVED.
- *
- * ENTRY (A) = 7/, 5/CHANNEL.
- *
- * USES T1.
- EPP SUBR ENTRY/EXIT
- LPN 37
- SHN 22-4
- STD T1
- SHN 4-22
- LMD TH
- ERRNZ SHNI-1000 CODE ASSUMES *SHNI* = 1000
- STM EPPA
- LDN 1 SET PP MASK
- EPPA SHN **
- STM EPPB
- STM EPPC
- LDM .PPL,T1
- LPC **
- EPPB EQU *-1
- EPP1 NJN EPPX IF PP OFF
- LDM EPPD,T1
- STD T1
- LDI T1
- LPC **
- EPPC EQU *-1
- NJN EPP1 IF PP ALREADY DESELECTED
- LDM EPPC DESELECT PP
- RAI T1
- UJN EPP1 RETURN
- EPPD CON PRSC,PRSD
- IAF SPACE 4,10
- ** IAF - ISSUE FUNCTION TO ALTERNATE PP.
- *
- * ENTRY (A) = FUNCTION CODE.
- *
- * EXIT (A) = 0.
- *
- * ERROR TO *DSE* IF ALTERNATE PP ERROR.
- *
- * CALLS API.
- IAF SUBR ENTRY/EXIT
- SHN 14
- LMC MBUF APPEND BUFFER ADDRESS TO REQUEST
- RJM API
- ZJN IAFX IF NO ERROR
- JMP DSE DISPLAY ERROR AND HANG
- MCI SPACE 4,10
- ** MCI - MODIFY CHANNEL INSTRUCTIONS.
- *
- * ENTRY (A) = 6/ CHANNEL NUMBER,
- * 12/ ADDRESS OF INSTRUCTION LIST.
- *
- * USES T0, T1, T2.
- MCI1 STD T2 SET INSTRUCTION ADDRESS
- LDI T2 MODIFY INSTRUCTION
- SCN 37
- LMD T0
- STI T2
- AOD T1 ADVANCE LIST ADDRESS
- MCI2 LDI T1
- NJN MCI1 IF NOT END OF LIST
- MCI SUBR ENTRY/EXIT
- STD T1 SET LIST ADDRESS
- SHN -14
- STD T0 SET CHANNEL
- UJN MCI2 ENTER LOOP
- MSB SPACE 4,10
- ** MSB - DETERMINE MOST SIGNIFICANT BIT.
- *
- * ENTRY (A) = COMPLEMENT OF BYTE TO CHECK.
- *
- * EXIT (A) = NUMBER OF MOST SIGNIFICANT BIT, IF FOUND.
- * (A) .LT. 0 IF ALL BITS ARE ZERO.
- *
- * USES T1, T2, T3.
- MSB2 SOD T2 MOST SIGNIFICANT BIT
- MSB SUBR ENTRY/EXIT
- LMC 7777 COMPLEMENT ENTRY
- STD T1 SAVE ENTRY CONDITION
- LDN 0
- STD T2 RESET MOST SIGNIFICANT BIT
- STD T3 RESET BIT COUNTER
- MSB1 AOD T3 INCREMENT BIT COUNTER
- LDD T1
- ZJN MSB2 IF NO MORE BITS ARE SET
- SHN 21-0 SHIFT OFF LEAST SIGNIFICANT BIT
- STD T1
- PJN MSB1 IF BIT IS NOT SET
- LDD T3 UPDATE MOST SIGNIFICANT BIT
- STD T2
- UJN MSB1 LOOP FOR NEXT BIT
- RWR SPACE 4,10
- ** READ / WRITE ENVIRONMENTAL CONTROL REGISTER.
- *
- * ENTRY (A) = *RMRF* TO READ REGISTER,
- * = *WMRF* TO WRITE REGISTER.
- *
- * EXIT (RBUF) = REGISTER CONTENTS.
- RWR SUBR ENTRY/EXIT
- LMM CMCC
- FAN. MR FUNCTION MAINTENANCE CHANNEL
- LPN 20
- ERRNZ RMRF+20-WMRF CODE DEPENDS ON VALUE
- SHN 3
- LMC IAMI+MR FORM I/O INSTRUCTION
- STM RWRA
- ACN. MR
- LDN 0
- OAN. MR SEND MEMORY *EC* REGISTER NUMBER
- LDK /IOU/ECMR
- OAN. MR
- FJM. *,MR IF CHANNEL BUSY, WAIT
- DCN. MR
- ACN. MR READ / WRITE REGISTER
- LDN 10
- RWRA IAM. RBUF,MR
- UJP RWRX RETURN
- RBUF EQU MBUF+500-10
- SHO SPACE 4,15
- ** SHO - SET HARDWARE OPTIONS.
- *
- * EXIT (A) = 0 IF CYBER 180 MAINFRAME OR CM RECOVERY.
- * (HO) = HARDWARE OPTIONS.
- * (DFTA) = DEFAULT *DFT* VALUES SET.
- * (DCPC) .NE. 0, IF DUAL-NOS-CPU CACHE MACHINE.
- * (DCPS) .NE. 0, IF DUAL-NOS-CPU SELECTED IN *CIP*.
- * CYBER 180 CPU(S) STARTED.
- *
- * ERROR TO *DSE* IF CPU MODEL NOT FOUND.
- *
- * USES HO, T2, T4, AB - AB+4.
- *
- * CALLS IAF.
- SHO7 LDN PMNTL SEARCH TABLE OF PROCESSOR MODELS
- STD T2
- SHO8 SOD T2
- PJN SHO9 IF NOT END OF TABLE
- LDC SHOH *CPU MODEL NOT FOUND*
- LJM DSE DISPLAY ERROR AND HANG
- SHO9 LDM PMNT,T2 CHECK NEXT TABLE ENTRY
- LPC 377 EXTRACT MODEL NUMBER
- STM CMDL
- LMC 0 PROCESSOR MODEL NUMBER
- SHOF EQU *-1
- NJN SHO8 IF NO MATCH
- LDD T2 SET DEFAULT DEDICATED *DFT* STATUS
- SBN PMNTA
- SHN 0-21
- SHN 13-0
- RAM DFTA+1
- LDM PMNT,T2 SET 990 FLAG IF 990 PROCESSOR
- SCN 77
- SHN 12-6
- RAM DFTA+1
- SHN 6-12-10
- STD T2
- SHN 2 MULTIPLY BY 5
- RAD T2
- RAM DFTA
- LPN 77
- ERRNZ NUMR-20 CODE ASSUMES *NUMR* = 20
- SHN 4 MULTIPLY BY *NUMR*+1
- RAD T2
- RAM DFTA+1 SET DEFAULT TOTAL SIZE OF M/R BUFFERS
- SHOJ UJN SHO11 RETURN
- * PSN (IF CM RECOVERY)
- RJM VCC VERIFY CPU CONFIGURATION
- UJN SHO11 RETURN
- SHO10 STM SHOJ SET *PSN*
- LDK MABL FETCH MAINFRAME ATTRIBUTE INFORMATION
- CRD AB
- LDD AB+1 RECOVER HARDWARE OPTIONS
- STM VCCA
- STD HO
- LDM C8XX
- ZJP SHO1 IF CYBER 180 MAINFRAME
- SHO11 LDN 0
- SHO SUBR ENTRY/EXIT
- LDN GPDS REQUEST GLOBAL PROCESSOR DESCRIPTOR
- RJM IAF
- LDM DBUF+CPSF CHECK FOR DUAL-NOS-CPU SELECTED
- LPN 10
- RAM SHOB
- LDN MFDS REQUEST MAINFRAME DESCRIPTOR
- RJM IAF
- LDM DBUF+PCPF
- LPN 3
- STM .CPU
- STM .CPU+1 PRESET LOGICAL STATUS = PHYSICAL STATUS
- LDD RS
- LPN SYMK CHECK DEADSTART LEVEL
- LMN SYCM
- ZJP SHO10 IF CM RECOVERY
- LDM C8XX
- NJN SHOX IF NOT CYBER 180 MAINFRAME
- STM SHOE
- LDM .CPU
- ADC 720 APPEND CME, NO STACK, CMU STATUS
- STD HO
- * START CYBER 180 CPU(S).
- SHO1 LDN 0 STORE IDLE PROGRAM AT LOCATION ZERO
- CWM SHOC,ON
- SHO2 AOM SHOA ADVANCE PROCESSOR MASK
- LMN 3
- LPN 3
- ZJP SHO7 IF TWO PROCESSORS CHECKED
- LDD HO
- LMN 3 CHECK HARDWARE OPTIONS
- SHOA LPN 0
- * LPN 1 (CPU 0)
- * LPN 2 (CPU 1)
- ZJN SHO2 IF CPU NOT PRESENT
- STD T4
- SHN -1 SET PROCESSOR NUMBER
- STM MBUF
- LDN CPDS REQUEST CPU DESCRIPTOR
- RJM IAF
- LDM DBUF+PSTA CHECK PROCESSOR STATUS
- LPC 1001 CHECK FOR OFF AND/OR DOWN
- ZJN SHO3 IF PROCESSOR ON AND UP
- SHO2.1 LDD T4 UPDATE CPU ON/OFF STATUS
- RAM .CPU+1
- LDD T4 DISABLE PROCESSOR
- RAD HO
- UJP SHO2 CHECK NEXT PROCESSOR
- * SET UP TO START SECOND CPU ON CACHE MACHINE.
- SHO3 LDM DBUF+HDMN SET PROCESSOR MODEL NUMBER
- SHN -4
- STM SHOF
- SHN -4
- LMN 0#1
- NJN SHO3.2 IF NOT P1 PROCESSOR
- STM ISPF SET ISMD-CAPABLE PROCESSOR FLAG
- SHO3.1 LJM SHO4 START CPU
- SHO3.2 LDM SHOA
- LPN 2
- ZJN SHO3.1 IF NOT PROCESSING CPU 1
- LDM SHOF CHECK PROCESSOR MODEL NUMBER
- LMC 0#3A
- ZJN SHO3.5 IF 960-32
- LMN 0#32&0#3A
- ZJN SHO3.3 IF 870
- LMC 0#41&0#32
- ZJN SHO3.3 IF 990 MODEL B
- LMN 0#44&0#41
- NJN SHO3.4 IF NOT 994, DO NOT START CPU
- SHO3.3 LDN 0
- * LDN 10 (DUAL-NOS-CPU SELECTED IN *CIP*)
- SHOB EQU *-1
- STM DCPS SET DUAL-NOS-CPU SELECTED FLAG
- NJN SHO3.5 IF DUAL-NOS-CPU SELECTED
- SHO3.4 LJM SHO2.1 DO NOT START SECOND CPU
- SHO3.5 LDN CPSL SET IDLE PROGRAM FOR CPU1 OF CACHE MACHINE
- CWM PRSA,ON
- STM DCPC SET DUAL 170-STATE CPUS WITH CACHE FLAG
- SCF. *,MR GET MAINTENANCE CHANNEL
- LDK RMRF READ ENVIRONMENTAL CONTROL REGISTER
- RJM RWR
- DCN. MR
- LDM RBUF+4 ENABLE PORT TO SECOND CPU
- SCN 40
- STM RBUF+4
- LDK WMRF WRITE *EC* REGISTER
- RJM RWR
- FJM. *,MR IF CHANNEL BUSY, WAIT
- DCN. MR
- CCF. *,MR RELEASE CHANNEL
- * START CPU.
- SHO4 LDM DBUF+MCTC START CPU
- STM P2CC
- SCF. SHO4,MR REQUEST CHANNEL FLAG
- LMN /IOU/MRSP
- FAN. MR START CPU
- CCF. *+2,MR
- UJN SHO6 CHECK NEXT PROCESSOR
- * PSN (NON - CM RECOVERY)
- SHOE EQU *-1
- LDD HO
- LPN 10
- NJN SHO6 IF CMU SIMULATION OFF
- LDM DBUF+CPOP
- LPN 10 ADJUST CMU STATUS
- RAD HO
- SHO6 LJM SHO2 CHECK NEXT PROCESSOR
- SHOC VFD 12/0400,18/0,15/61000,15/46000
- PMNT SPACE 4,20
- ** PMNT - TABLE OF PROCESSOR MODEL NUMBERS.
- *
- *T, 4/ E, 8/ M.
- *
- * E = ENTRIES PER MAINTENANCE REGISTER BUFFER.
- * M = PROCESSOR MODEL NUMBER.
- *
- * MODELS WHICH REQUIRE DEDICATED *DFT* STATUS AS THE DEFAULT
- * MUST APPEAR AT THE START OF THE TABLE. THIS INCLUDES MODELS
- * 96X AND 99X.
- PMNT BSS 0
- VFD 4/6,8/0#40 CYBER 180-990
- VFD 4/6,8/0#41 CYBER 180-990 MODEL B
- VFD 4/6,8/0#44 CYBER 180-994
- VFD 4/6,8/0#3B CYBER 180-960-11
- VFD 4/6,8/0#3A CYBER 180-960-31/32
- PMNTA EQU *-PMNT END OF DEFAULT DEDICATED *DFT* MODELS
- VFD 4/5,8/0#34 CYBER 180-840
- VFD 4/5,8/0#37 CYBER 180-840S
- VFD 4/5,8/0#33 CYBER 180-850
- VFD 4/5,8/0#32 CYBER 180-860
- VFD 4/5,8/0#31 CYBER 180-845
- VFD 4/5,8/0#35 CYBER 180-845S
- VFD 4/5,8/0#30 CYBER 180-855
- VFD 4/5,8/0#36 CYBER 180-855S
- VFD 4/3,8/0#20 CYBER 180-835
- VFD 4/3,8/0#14 CYBER 180-810
- VFD 4/3,8/0#13 CYBER 180-830
- VFD 4/3,8/0#12 CYBER 180-825
- VFD 4/3,8/0#16 CYBER 180-825S
- VFD 4/3,8/0#11 CYBER 180-815
- VFD 4/3,8/0#15 CYBER 180-815S
- PMNTL EQU *-PMNT LENGTH OF TABLE
- SHOH DATA C*CPU MODEL NOT FOUND*
- VCC SPACE 4,10
- ** VCC - VERIFY CPU CONFIGURATION.
- *
- * ENTRY (VCCA) = ORIGINAL (HO) FROM PRIOR DEADSTART.
- *
- * EXIT (A) = ORIGINAL (HO).
- *
- * ERROR TO *DSE* IF CPU STATE CHANGE.
- *
- * USES CM - CM+4.
- VCC2 LDM VCCA CHECK CPU STATE CHANGE
- LMD HO
- LPN 3
- ZJN VCC3 IF CPU STATUS HAS NOT CHANGED
- LMN 3
- NJN VCC1 IF CPU STATUSES HAVE NOT SWAPPED
- VCC3 LDC ** RESTORE (HO)
- VCCA EQU *-1
- STD HO
- VCC SUBR ENTRY/EXIT
- LDN SSTL CHECK NOS/VE STATUS
- CRD CM
- LDD CM+3
- SHN 0-13
- NJN VCC2 IF NOS/VE DISABLED
- LDM VCCA CHECK CPU STATE CHANGE FOR CPU 0
- LMD HO
- LPN 1
- ZJN VCC3 IF CPU 0 AVAILABLE
- VCC1 LDC VCCB *CPU STATE CHANGE.*
- JMP DSE DISPLAY ERROR AND HANG
- VCCB DATA C*CPU STATE CHANGE.*
- SPACE 4,10
- ** COMMON DECKS.
- QUAL
- API$ SET 1 SELECT ALTERNATE PP REQUEST INTERFACE
- APM$ SET 1 SELECT ALTERNATE PP MANAGEMENT ROUTINE
- QUAL *
- *CALL COMPAPI
- TRCO SPACE 4,10
- ** TRCO - TABLE OF RECOVERY OPTIONS.
- * ENTRY = 1 WORD.
- * INDEXED WITH RECOVERY MODE.
- *
- *T, 12/ RO
- * RO RECOVERY OPTIONS
- TRCO BSS 0
- LOC 0
- CON 0
- CON FLTB+SYTB
- CON FLTB
- CON JBCM+FLCM+SYCM
- LOC *O
- EBTA CON 0,0,0,2RRD,0 *RD*
- CON 0,0,0,0,0
- CON 0,CH+4000,0,2RDS,7000 *DS*
- CON 0,0,0,0,0
- CON 2000,0,0,2RNE,0 *NE*
- CON 0,0,0,7,0
- CON 2000,0,0,2RTE,0 *TE*
- CON 0,0,0,7,0
- CON 2000,0,0,2RTT,NIAC *TT*
- CON 0,0,0,7,0
- NIAC EQU 200 DEFAULT NUMBER OF NETWORK CONNECTIONS
- SPACE 4,10
- ERRZR BC-12 INCORRECT CHANNEL DEFINITION
- SPACE 4,10
- ** CPU IDLE PROGRAMS.
- PRSA VFD 12/0400,18/CPSL,30/0
- SPACE 4,10
- ** EXCHANGE PACKAGE.
- PRSB VFD 6/0,18/CPSL,36/0
- VFD 60/0
- VFD 6/0,18/200,36/0
- VFD 60/0
- VFD 60/0
- VFD 60/0
- VFD 60/0
- USE LITERALS
- TITLE PP BUFFER IDLER PROGRAM.
- IBUF BSS 0
- QUAL BPP
- MACROS SPACE 4,10
- ** MACRO DEFINITIONS.
- ** TBLM = GENERATE TABLE OF DEFAULT CONTROLWARE TYPES
- * TO LOAD.
- *
- * TBLM EQ
- * EQ = MASS STORAGE EQUIPMENT MNEMONIC.
- TBLM MACRO EQ
- VFD 12/2R_EQ
- VFD 12/C"FW_EQ"
- ENDM
- SPACE 4,10
- ** ASSEMBLY CONSTANTS.
- Y545 EQU //Y545-YINC BOTTOM OF SCREEN - CC545
- Y721 EQU //Y721-YINC BOTTOM OF SCREEN - CDC721
- SPACE 4,10
- **** DIRECT LOCATION ASSIGNMENTS.
- LOC 0
- CON IDL-1 START ADDRESS - 1
- BSS 2
- CB BSS 5 DAYFILE AND SYSTEM DEFAULT FAMILY BUFFER
- WB BSS 5 CM WORD BUFFER
- BA CON 0 BUFFER ADDRESS
- BL CON 0 BUFFER LIMIT
- DB CON 0 DISPLAY BUFFER INDEX
- LN CON 0 LINE NUMBER
- LL CON 0 LINE LIMIT
- WC CON 0 PRU WORD COUNT
- SX CON 6 CONSTANT SIX
- DV CON TDDCL MASS STORAGE DESCRIPTOR TABLE LENGTH
- ON CON 1 CONSTANT ONE
- PA CON 0 PROCESSOR ADDRESS
- FD CON 0 FULL DISPLAY STATUS
- FP CON 0 FUNCTION PARAMETER
- SN CON 0 SCREEN NUMBER
- DN CON -0 DECK NUMBER
- TDBP BSS 0 TABLE OF DISPLAY BUFFER PARAMETERS
- CON GDH INSTRUCTION DECK DISPLAY
- FA CON 0 FIRST BUFFER ADDRESS
- FW CON 0 FIRST BUFFER LINE COUNT
- FI CON 0 DISPLAY INDEX
- CON RTL TEXT DECK DISPLAY
- SA CON 0 SECOND BUFFER ADDRESS
- SW CON 0 SECOND BUFFER LINE COUNT
- SI CON 0 DISPLAY INDEX
- CON 0 EST DISPLAY
- EA CON 0 EST BUFFER ADDRESS
- EW CON NOPE EST EQUIPMENT COUNT
- EI CON 0 DISPLAY INDEX
- CON GMD MASS STORAGE DISPLAY
- MA CON 0 MST PARAMETER BUFFER ADDRESS
- MW CON NOPE DISPLAY CONTROL
- CON 0 DISPLAY INDEX
- CON GID MASS STORAGE INITIALIZATION DISPLAY
- CON 0 MST PARAMETER BUFFER ADDRESS
- IW CON NOPE DISPLAY CONTROL
- CON 0 DISPLAY INDEX
- CON GTD MASS STORAGE ERROR THRESHOLD DISPLAY
- CON 0 MST PARAMETER BUFFER ADDRESS
- TW CON NOPE DISPLAY CONTROL
- CON 0 DISPLAY INDEX
- CON GCD CONTROLWARE STATUS DISPLAY
- CON 0 BUFFER ADDRESS
- CW CON 0 DISPLAY CONTROL
- CON 0 DISPLAY INDEX
- CON 0 END OF DISPLAYS
- CV CON 0 CLOCK VALUE
- ET CON 0 ELAPSED TIME
- BSS 77-*
- YY CON YCSH Y-COORDINATE
- XX CON CH01 X-COORDINATE
- LBUF EQU YY+2 LINE BUFFER
- BSS KBUFL/2
- CON 0
- ****
- IDL SPACE 4,10
- ** IDL - IDLER.
- IDL IAN BC INPUT FUNCTION REQUEST
- STD T1
- LDM TFCN,T1 PROCESS FUNCTION
- STM IDLA
- IAN BC INPUT PARAMETER
- LJM *
- IDLA EQU *-1
- TFCN SPACE 4
- ** TFCN - FUNCTION PROCESSORS.
- TFCN BSS 0
- LOC 0
- DFIM (CON RSP1)
- CON RSP RESET PP
- CON IFB INPUT FIRST BUFFER
- CON ISB INPUT SECOND BUFFER
- CON DDD DISPLAY BUFFER DATA
- CON UEC UPDATE EQUIPMENT COUNT
- CON ONL OUTPUT NEXT LINE
- CON RCL REPLACE CURRENT LINE
- CON ANL ADD NEXT LINE
- CON ADB ADVANCE BUFFER
- CON ADD ADVANCE DISPLAY
- CON RPS RESET POINTERS ON SECOND BUFFER
- LOC *L+TFCN
- TIDP SPACE 4,10
- ** TIDP - TABLE OF INITIAL DISPLAY PROCESSORS.
- TIDP BSS 0
- LOC 0
- CMRD CON GDH CMRDECK
- EQPD CON EQP EQPDECK
- APRD CON ADP APRDECK
- IPRD CON GDH IPRDECK
- LOC *L+TIDP
- SPACE 4,10
- ** DISPLAY SUBROUTINES.
- FNC DSUB
- RSP SPACE 4
- ** RSP - RESET PP.
- RSP1 CFNC SLSF SELECT LEFT SCREEN - SMALL CHARACTERS
- DISPLA CH20,LN15,(INITIALIZING SYSTEM LOAD.)
- CFNC THCF TRANSFER HIDDEN AND CLEAR
- DFIM (CON SDCF),*+1
- RSP LDC DDCF CLEAR DISPLAY CONTROLLER
- CFNC
- LDC 1000
- OAN BC
- SBN 1
- NJN *-1
- DCN CH
- IAM 0,BC
- IFB SPACE 4
- ** IFB - INPUT FIRST BUFFER.
- IFB STD DN SET DECK TYPE
- LDN FA UNPACK INSTRUCTION DECK
- RJM UTD
- ADN 7 SET SECOND BUFFER ADDRESS
- SHN -3
- ADD FA
- STD SA
- LDN 0 SET DISPLAY POINTER TO FIRST BUFFER
- STD DB
- STD EA-1 DISABLE EQPDECK DISPLAYS
- LDM TIDP,DN SET INITIAL DISPLAY PROCESSOR
- STD SA-1
- JMP IDL RETURN
- ISB SPACE 4
- ** ISB - INPUT SECOND BUFFER.
- ISB LDN SA UNPACK TEXT DECK
- RJM UTD
- JMP IDL RETURN
- DDD SPACE 4,10
- ** DDD - DISPLAY DEADSTART DATA.
- DDD LDM TDBP+3,DB SET BUFFER INDEX
- STD T1
- LDN 1
- STD SN
- IAN. 14 SET INITIAL CLOCK VALUE
- STD CV
- LDC SLSF SELECT LEFT SCREEN - SMALL CHARACTERS
- DDD1 CFNC
- LDM TDBP,DB SET PROCESSOR ADDRESS
- STD PA
- LDC BL01 SET Y-COORDINATE
- STD YY
- DDD3 RJM 0,PA FETCH DISPLAY LINE
- MJN DDD9 IF FORMAT EFFECTOR ENCOUNTERED
- NJN DDD6 IF NOT END OF DISPLAY
- DDD4 STD FD
- DDD5 RJM CDP COMPLETE DISPLAY PROCESSING
- DCN BC
- JMP IDL RETURN
- DDD6 OAM. YY,CH OUTPUT DISPLAY LINE
- DFIM (UJN DDD8)
- IAN. 14 READ CLOCK
- STD T0
- SBD CV
- PJN DDD7 IF NO OVERFLOW
- ADC 10000
- DDD7 SHN -11
- ZJN DDD8 IF NOT HALF MILLISECOND ELAPSED
- RAD ET
- LDD T0
- STD CV SET NEW CLOCK VALUE
- DDD8 AOD T1
- STD FD ADVANCE FULL DISPLAY STATUS
- LMM TDBP+2,DB
- ZJN DDD4 IF END OF DATA IN BUFFER
- LCN YINC
- RAD YY ADVANCE Y-COORDINATE
- DFIM (ADC -Y721)
- ADC -Y545
- PJN DDD3 IF NOT BOTTOM OF SCREEN
- DDD9 SOD SN
- MJN DDD5 IF RIGHT SCREEN DISPLAYED
- FJM. *,CH
- DCN. CH
- LDC SRSF SELECT RIGHT SCREEN
- LJM DDD1 DISPLAY RIGHT SCREEN
- UEC SPACE 4,10
- ** UEC - UPDATE EQUIPMENT COUNT.
- UEC STD EW UPDATE EQUIPMENT LIMIT
- DCN BC
- STD MW
- STD IW
- STD TW
- JMP IDL RETURN
- ONL SPACE 4
- ** ONL - OUTPUT NEXT LINE.
- ONL AOD LN ADVANCE LINE NUMBER
- LMD SW
- ZJN ONL1 IF END OF DATA
- LDD SA
- SHN 3
- ADD LN READ NEXT LINE
- SHN 3
- ONL1 CRM LBUF,SX
- LDN LBUFL+1 OUTPUT LINE
- OAM LBUF,BC
- AJM *,BC WAIT OUTPUT COMPLETE
- JMP IDL RETURN
- RCL SPACE 4,10
- ** RCL - REPLACE CURRENT LINE.
- RCL LDD LN REPLACE LINE
- RJM ADL
- JMP IDL RETURN
- ANL SPACE 4
- ** ANL - ADD NEXT LINE.
- ANL LDD SW ADD LINE
- RJM ADL
- ZJN ANL1 IF BUFFER FULL
- AOD SW ADVANCE LINE COUNT
- ANL1 JMP IDL RETURN
- ADB SPACE 4,10
- ** ADB - ADVANCE BUFFER.
- ADB LDD FD
- ZJN ADB1 IF NOT FULL DISPLAY
- LMM TDBP+2,DB
- ZJN ADB1 IF END OF BUFFER
- LDD FD
- ADB1 STM TDBP+3,DB RESET BUFFER INDEX
- ADB2 DCN BC
- JMP IDL RETURN
- ADD SPACE 4,10
- ** ADD - ADVANCE DISPLAY.
- ADD LDN SA-FA ADVANCE DISPLAY POINTER
- RAD DB
- LDM TDBP,DB
- NJN ADD1 IF NOT END OF DISPLAYS
- STD DB RESET FIRST DISPLAY
- ADD1 JMP ADB2 RETURN
- RPS SPACE 4,10
- ** RPS - RESET POINTERS ON SECOND BUFFER.
- RPS STD FP
- LDN 0 RESET LINE NUMBER
- STD LN
- JMP ADB2 RETURN
- ADL SPACE 4,10
- ** ADL - ADD DISPLAY LINE.
- *
- * ENTRY (A) = LINE NUMBER.
- *
- * EXIT (A) = FIRST BYTE OF NEW LINE.
- *
- * USES T1, T2.
- *
- * CALLS CLB.
- ADL1 IAN BC INPUT CHARACTER
- SHN 6
- STI T2 ASSEMBLE DISPLAY LINE
- ADL2 IAN BC
- ZJN ADL3 IF END OF DATA
- RAI T2
- AOD T2 ADVANCE LINE ADDRESS
- LMC LBUF+LBUFL
- NJN ADL1 IF LINE NOT COMPLETE
- ADL3 DCN BC
- LDD T1 CHECK LINE LIMIT
- LMD LL
- ZJN ADLX IF BUFFER FULL
- LDD SA
- SHN 3
- ADD T1 STORE NEW LINE
- SHN 3
- CWM LBUF,SX
- LDM LBUF
- ADL SUBR ENTRY/EXIT
- STD T1 SAVE LINE NUMBER
- OAN BC
- RJM CLB CLEAR LINE BUFFER
- UJN ADL2 ASSEMBLE LINE
- ADP SPACE 4,10
- ** ADP - INITIAL APRDECK DISPLAY PROCESSOR.
- *
- * ENTRY (FP) = EST ORDINAL.
- *
- * EXIT SEE *RTL*.
- * (PA) = RTL.
- * (YY) = COORDINATE FOR NEXT TEXT DECK LINE.
- *
- * CALLS GEL, RTL.
- ADP SUBR ENTRY/EXIT
- LCN YINC
- RAD YY
- LDN EDHAA OUTPUT DISPLAY HEADER
- OAM EDHA,CH
- LDD FP GENERATE EQUIPMENT DISPLAY LINE
- STD T1
- RJM GEL
- OAM YY,CH DISPLAY EQUIPMENT STATUS
- LCN 2*YINC
- RAD YY
- LDD SI RESTORE TEXT DECK LINE NUMBER
- STD T1
- LDC RTL CHANGE DISPLAY PROCESSOR
- STD PA
- RJM RTL READ TEXT LINE
- UJN ADPX RETURN
- CCD SPACE 4,10
- ** CCD - CONVERT CHANNEL FOR DISPLAY.
- *
- * ENTRY (A) = CHANNEL DATA.
- * (WB - WB+4) = EST DATA.
- *
- * EXIT (A) = (T2) = LINE ADDRESS ADJUSTED.
- *
- * USES BA.
- *
- * CALLS C2D.
- CCD SUBR ENTRY/EXIT
- STD BA
- LPN 40
- ZJN CCD1 IF NOT A CONCURRENT CHANNEL
- LDN 1R &1RC
- CCD1 LMC 2R
- STI T2
- AOD T2
- LDD BA CONVERT CHANNEL NUMBER
- LPN 37
- RJM C2D
- SOD T2
- LDD BA CHECK TYPE OF CHANNEL
- LPN 40
- ZJN CCD2 IF NOT CONCURRENT CHANNEL
- LDD BA
- SHN 0-7 EXTRACT PORT NUMBER
- LPN 1
- ADC 2R-A CONVERT TO A OR B
- STI T2
- AOD T2
- LDC 2R. ADJUST SEPARATOR
- STI T2
- CCD2 LDD BA CHECK CHANNEL STATE
- SHN 21-12
- PJN CCD3 IF CHANNEL IS NOT DOWN
- LDC 2R* INDICATE CHANNEL DOWN
- STI T2
- CCD3 AOD T2 ADVANCE ADDRESS
- UJP CCDX EXIT
- CDI SPACE 4,10
- ** CDI - CHECK DISPLAY INDEX.
- *
- * ENTRY (T1) = DISPLAY INDEX.
- * (EW) = CURRENT EQUIPMENT COUNT.
- CDI SUBR ENTRY/EXIT
- LDD T1
- SBD EW
- MJN CDIX IF INDEX BELOW LIMIT
- LDN 0
- STD T1 SET INDEX TO FIRST PAGE OF DISPLAY
- STM TDBP+3,DB
- UJN CDIX RETURN
- CDP SPACE 4,10
- ** CDP - COMPLETE DISPLAY PROCESSING.
- *
- * ENTRY (ET) = ELAPSED TIME FOR DISPLAY GENERATION.
- *
- * EXIT (ET) = 0.
- *
- * MACROS CFNC, DFIM.
- CDP SUBR ENTRY/EXIT
- CFNC THCF
- DCN. CH
- DFIM (UJN CDPX)
- LDN 21DS1 CALCULATE REFRESH DELAY
- SBD ET
- PJN CDP1 IF REFRESH TIME NOT EXCEEDED
- LDN 0
- CDP1 SHN 10-1 POSITION DELAY VALUE
- CDPA EQU CDP1
- ZJN CDP2 IF REFRESH CYCLE AT LIMIT
- SBN 1
- NJN *-1 DELAY
- CDP2 STD ET
- UJN CDPX RETURN
- CLB SPACE 4,10
- ** CLB - CLEAR LINE BUFFER.
- *
- * EXIT (T2) = LBUF.
- CLB SUBR ENTRY/EXIT
- LDN 0
- CRM LBUF,SX
- LDC LBUF SET BUFFER ADDRESS
- STD T2
- UJN CLBX RETURN
- C1D SPACE 4,10
- ** C1D - CONVERT ONE DIGIT.
- *
- * ENTRY (A) = VALUE TO CONVERT.
- * (T2) = ADDRESS TO STORE CONVERSION.
- *
- * EXIT (A) = (T2) ADVANCED.
- C1D SUBR ENTRY/EXIT
- LPN 7
- ADC 2R 0 CONVERT DIGIT
- STI T2
- AOD T2 ADVANCE ADDRESS
- LDC 2R.
- STI T2 STORE SEPARATOR
- AOD T2
- UJN C1DX RETURN
- C2D SPACE 4,10
- ** C2D - CONVERT TWO DIGITS.
- *
- * ENTRY (A) = VALUE TO CONVERT.
- * (T2) = ADDRESS TO STORE CONVERSION.
- *
- * EXIT (A) = (T2) ADVANCED.
- C2D SUBR ENTRY/EXIT
- LPN 77
- STD T0 CONVERT DIGITS
- SHN 3
- LMD T0
- SCN 70
- ADC 2R00 STORE CONVERSION
- STI T2
- AOD T2 ADVANCE ADDRESS
- LDC 2R.
- STI T2 STORE SEPARATOR
- AOD T2
- UJN C2DX RETURN
- D4S SPACE 4,10
- ** D4S - DISPLAY 4 DIGITS WITH LEADING ZERO SUPPRESSION.
- * ROUTINE ADAPTED FROM *COMDDIS*.
- *
- * ENTRY (A) = VALUE TO BE CONVERTED.
- * (T2) = BUFFER INDEX.
- *
- * EXIT (T2) ADVANCED.
- *
- * USES T2.
- D4S SUBR ENTRY/EXIT
- STD T0
- SHN -6
- ZJN D4S2 IF FIRST TWO DIGITS ARE ZERO
- SHN -3
- ZJN D4S1 IF FIRST DIGIT IS ZERO
- ADN 1R0
- SHN 14
- D4S1 ADD T0
- SHN -6
- SCN 70
- ADN 1R0
- D4S2 STI T2 STORE UPPER DIGIT(S)
- AOD T2
- LDD T0
- ZJN D4S4 IF ALL FOUR DIGITS ARE ZERO
- SHN -3
- ZJN D4S3 IF FIRST THREE DIGITS ARE ZERO
- LPN 7
- ADN 1R0
- SHN 6
- D4S3 LMD T0
- SCN 7
- LMD T0
- D4S4 ADN 1R0 STORE LOWER DIGIT(S)
- STI T2
- AOD T2
- LDC 2R. STORE SEPARATOR
- STI T2
- AOD T2
- LJM D4SX RETURN
- EQP SPACE 4,10
- ** EQP - INITIAL EQPDECK DISPLAY PROCESSOR.
- *
- * EXIT SEE *GDH*.
- * EST DISPLAY ENABLED.
- *
- * CALLS GDH.
- EQP SUBR ENTRY/EXIT
- LDC GED ENABLE EQPDECK DISPLAYS
- STD EA-1
- LDC GDH CHANGE PROCESSOR ADDRESS
- STD SA-1
- RJM GDH
- UJN EQPX RETURN
- GCD SPACE 4,15
- ** GCD - INITIATE CONTROLWARE STATUS DISPLAY.
- *
- * ENTRY (T1) = CHANNEL NUMBER.
- * (EW) = CURRENT EQUIPMENT COUNT.
- *
- * EXIT SEE *GCL*.
- * (A) = 0 IF NO MORE CHANNELS
- * (PA) = GCL.
- * (YY) = COORDINATE FOR NEXT DISPLAY.
- *
- * USES FP, PA, T0, T1, T2.
- *
- * CALLS GCL, REP, SCT.
- GCD6 RJM GCL GENERATE CONTROLWARE STATUS LINE
- ZJN GCDX IF NO MORE CHANNELS
- STD T2
- LCN YINC ADJUST Y-COORDINATE
- RAD YY
- LDN EDHDA OUTPUT DISPLAY HEADER
- OAM EDHD,CH
- LDC GCL CHANGE PROCESSOR ADDRESS
- STD PA
- LDD T2
- GCD SUBR ENTRY/EXIT
- LDD T1
- NJN GCD6 IF CONTROLWARE TABLE PROCESSED
- GCD1 LDN CTALL
- STD FP
- LDD MA READ CONTROLWARE STATUSES
- ADN TDDBL
- SHN 6
- CRM TCCS,FP
- GCD2 RJM REP READ EQUIPMENT PARAMETERS
- ZJN GCD5 IF NOT MASS STORAGE
- LDD WB+1
- LMN 37
- ZJN GCD5 IF ISMD CHANNELS NOT YET SPECIFIED
- LDD WB+3
- RJM SCT SEARCH CONTROLWARE TABLE
- ZJN GCD5 IF NOT FOUND
- LDD WB+1 SET CHANNEL
- LPN 77
- GCD3 STD FP
- LDI T2 DEFAULT CONTROLWARE FOR LOAD
- SBM TCCS,FP
- MJN GCD4 IF OTHER DEFAULT HAS PRIORITY
- RAM TCCS,FP
- GCD4 LDD WB+2
- LPN 77
- SHN 14
- STD WB+2
- SHN 6
- NJN GCD3 IF NOT END OF CHANNELS
- GCD5 AOD T1
- LMD EW
- NJN GCD2 IF MORE EQUIPMENT TO CHECK
- STD T1 SET CHANNEL NUMBER
- LJM GCD6 GENERATE CONTROLWARE STATUS LINE
- GCL SPACE 4,15
- ** GCL - GENERATE CONTROLWARE STATUS DISPLAY LINE.
- *
- * ENTRY (T1) = CHANNEL NUMBER.
- *
- * EXIT (A) = 0 IF NO MORE CHANNELS.
- * = LENGTH OF DISPLAY LINE (INCLUDING COORDINATES).
- * (T1) = CHANNEL NUMBER.
- * (LBUF) = DISPLAY LINE.
- *
- * USES FP, T1, T2, YY.
- *
- * CALLS CLB.
- GCL4 AOD T2 INCREMENT ASSEMBLY ADDRESS
- LDD T1
- LPN 40
- ZJN GCL5 IF NOT A CONCURRENT CHANNEL
- LDN 1R &1RC
- GCL5 LMC 2R
- STI T2
- AOD T2
- LDD T1 CONVERT CHANNEL NUMBER
- LPN 37
- RJM C2D
- LDN 4 INCREMENT POSITION
- RAD T2
- LDM TLCS-1,FP SET CONTROLWARE RECORD TYPE
- STI T2
- AOD T2 ADJUST POSITION
- LDD T2 SET LENGTH OF DISPLAY LINE
- SBN YY
- GCL SUBR ENTRY/EXIT
- RJM CLB CLEAR LINE BUFFER
- LDD T1
- UJN GCL2 CONTINUE
- GCL1 AOD T1
- GCLA LMN 0
- GCL2 EQU GCLA
- NJN GCL3 IF MORE TO DISPLAY
- STM GCLB
- UJN GCLX RETURN
- GCL3 LDM TCCS,T1
- ZJN GCL1 IF CONTROLWARE NOT SPECIFIED
- LPN 77
- STD FP
- AOM GCLB
- SBN 22
- NJP GCL4 IF NOT END OF LEFT SCREEN
- DFIM (LDC Y721)
- LDC Y545 ADJUST Y-COORDINATE FOR BLANK LINE
- STD YY
- SOD T1
- LDN 3
- UJN GCLX RETURN
- GCLB CON 0
- TDCW SPACE 4,10
- ** TDCW - TABLE OF DEFAULT CONTROLWARE.
- TDCW BSS 0
- LIST G
- TBL "MSEQ"
- LIST *
- PURGMAC TBLM
- CON 0 END OF TABLE
- TLCS SPACE 4,10
- ** TLCS - TABLE OF CONTROLWARE RECORD TYPES TO LOAD.
- TLCS BSS 0
- LOC CLHT
- CLHT CON 2RHT LOAD HALF TRACK CONTROLWARE
- CNHT CON 2RNH NO LOAD HALF TRACK CONTROLWARE
- CLFT CON 2RFT LOAD FULL TRACK CONTROLWARE
- CNFT CON 2RNF NO LOAD FULL TRACK CONTROLWARE
- CLFM CON 2RFM LOAD FMD CONTROLWARE
- CNFM CON 2RNM NO LOAD FMD CONTROLWARE
- CLAD CON 2RAD LOAD FSC ADAPTOR CONTROLWARE
- CNAD CON 2RNA NO LOAD FSC ADAPTOR CONTROLWARE
- CLPH CON 2RPH LOAD DEMA/PFMD CONTROLWARE
- CNPH CON 2RNP NO LOAD DEMA/PFMD CONTROLWARE
- CLID CON 2RID LOAD 7255 ADAPTOR CONTROLWARE
- CNID CON 2RNI NO LOAD 7255 ADAPTOR CONTROLWARE
- CLCC CON 2RCC LOAD 7165 ADAPTOR CONTROLWARE
- CNCC CON 2RCN NO LOAD 7165 ADAPTOR CONTROLWARE
- CLND CON 2R LOAD NAD CONTROLWARE
- CNND CON 2RNN NO LOAD NAD CONTROLWARE
- CON 2R (LOAD CONTROL MODULE - N/A)
- CON 2R (NO LOAD CONTROL MODULE - N/A)
- CLM8 CON 2RM8 LOAD 7990 CONTROLWARE
- CNM8 CON 2RN8 NO LOAD 7990 CONTROLWARE
- CLCX CON 2R LOAD CCC/NIP CONTROLWARE
- CNCX CON 2RNX NO LOAD CCC/NIP CONTROLWARE
- CLCT CON 2R LOAD CCC/698 CONTROLWARE
- CNCT CON 2RNT NO LOAD CCC/698 CONTROLWARE
- LOC *L+TLCS-1
- GDH SPACE 4,10
- ** GDH - GENERATE DISPLAY HEADER.
- *
- * ENTRY (T1) = LINE NUMBER.
- *
- * EXIT SEE *RTL*.
- * (PA) = RTL.
- *
- * CALLS RTL.
- GDH SUBR ENTRY/EXIT
- LDM TDBP+1,DB
- SHN 6 FETCH DECK NAME
- CRM DHDR+2,ON
- LDN DHDRL DISPLAY NAME
- OAM. DHDR,CH
- LDD T1
- NJN GDH1 IF NOT FIRST PAGE OF DECK
- AOD T1
- GDH1 LDC RTL CHANGE PROCESSOR ADDRESS
- STD PA
- RJM RTL
- UJN GDHX RETURN
- GED SPACE 4,10
- ** GED - INITIATE EST DISPLAY.
- *
- * EXIT SEE *GEL*.
- * (PA) = GEL.
- * (YY) = COORDINATE FOR NEXT DISPLAY LINE.
- *
- * CALLS CDI, GEL.
- GED SUBR ENTRY/EXIT
- RJM CDI CHECK DISPLAY INDEX
- LCN YINC
- RAD YY
- LDN EDHAA OUTPUT DISPLAY HEADER
- OAM EDHA,CH
- LDC GEL CHANGE PROCESSOR ADDRESS
- STD PA
- RJM GEL GENERATE EST DISPLAY LINE
- UJN GEDX RETURN
- GEL SPACE 4,10
- ** GEL - GENERATE EST DISPLAY LINE.
- *
- * ENTRY (T1) = EST ORDINAL.
- *
- * EXIT (A) = LENGTH OF DISPLAY LINE (INCLUDING COORDINATES).
- * (LBUF) = DISPLAY LINE.
- *
- * USES BA, T2.
- *
- * CALLS CCD, C1D, C2D, IEL, REP.
- GEL5 LDD T2 SET LENGTH OF DISPLAY LINE
- SBN YY
- GEL SUBR ENTRY/EXIT
- RJM REP READ EQUIPMENT PARAMETERS
- RJM IEL INITIALIZE DISPLAY LINE
- ZJN GEL5 IF EQUIPMENT UNDEFINED
- LDD WB
- LPN 3 EXTRACT EQUIPMENT STATUS
- SHN 1
- STD BA SET INDEX
- LDM GELA,BA
- STI T2
- AOD T2
- LDM GELA+1,BA SET STATUS IN DISPLAY LINE
- STI T2
- AOD T2
- LDD WB
- SHN 0-13
- NJN GEL2 IF MASS STORAGE
- LDD WB+4
- SHN -11
- RJM C1D CONVERT EQUIPMENT (CONTROLLER) NUMBER
- AOD T2
- LDD WB+4
- LPN 77
- UJN GEL3 CONVERT UNIT NUMBER
- GEL2 LDM MSTB+DVPR CONTROLLER NUMBER
- SHN -11
- RJM C1D
- SOD T2 BACK UP FOR SECOND CONTROLLER DISPLAY
- LDM MSTB+DVPR
- SHN 21-5
- PJN GEL2.1 IF NO SECOND CONTROLLER
- RJM C1D CONVERT SECOND CHANNEL CONTROLLER NUMBER
- UJN GEL2.2 CONVERT UNIT NUMBER
- GEL2.1 LDN 2 SKIP SECOND CONTROLLER FIELD
- RAD T2
- GEL2.2 LDM MSTB+DVUN+3 CONVERT UNIT NUMBER
- GEL3 RJM C2D
- LDD WB+1 CONVERT PRIMARY CHANNEL
- LMN 37
- ZJN GEL4 IF CHANNEL NOT SPECIFIED
- LDD WB+1
- RJM CCD CONVERT CHANNEL NUMBER
- LDD WB+2
- ZJN GEL4 IF NO 2ND CHANNEL
- RJM CCD
- GEL4 LJM GEL5 SET LENGTH OF DISPLAY LINE
- GELA SPACE 4,10
- * EQUIPMENT STATUS.
- GELA DATA 4H ON
- DATA 4HIDLE
- DATA 4H OFF
- DATA 4HDOWN
- GID SPACE 4,10
- ** GID - INITIATE MASS STORAGE INITIALIZATION DISPLAY.
- *
- * EXIT SEE *GIL*.
- * (A) = 0 IF END OF MASS STORAGE EQUIPMENT.
- * (PA) = GIL.
- * (YY) = COORDINATE FOR NEXT DISPLAY LINE.
- *
- * USES PA, T2, YY.
- *
- * CALLS CDI, GIL.
- GID SUBR ENTRY/EXIT
- LDN EDHCA OUTPUT DISPLAY HEADER
- OAM EDHC,CH
- RJM CDI CHECK DISPLAY INDEX
- RJM GIL GENERATE LINE
- ZJN GIDX IF NO MORE MASS STORAGE
- STD T2
- LCN YINC ADJUST Y-COORDINATE
- RAD YY
- LDC GIL CHANGE PROCESSOR ADDRESS
- STD PA
- LDD T2
- UJN GIDX RETURN
- GIL SPACE 4,15
- ** GIL - GENERATE MASS STORAGE INITIALIZATION LINE.
- *
- * ENTRY (T1) = EST ORDINAL.
- * (EW) = CURRENT EQUIPMENT COUNT.
- *
- * EXIT (A) = 0 IF NO MORE MASS STORAGE EQUIPMENT.
- * = LENGTH OF DISPLAY LINE (INCLUDING COORDINATES).
- * (T1) = MASS STORAGE EST ORDINAL.
- * (LBUF) = DISPLAY LINE.
- *
- * USES FP, T0, T2.
- *
- * CALLS C1D, C2D, IML, SBS.
- GIL SUBR ENTRY/EXIT
- RJM IML
- ZJN GILX IF NO MORE MASS STORAGE EQUIPMENT
- LDD WB+4 SET INITIALIZATION OPTIONS
- LPC 7760
- ZJN GIL2 IF INITIALIZATION NOT SPECIFIED
- STD T0 FTPQSAEB
- LDC GILA
- RJM SBS DISPLAY BIT STATUS
- UJN GIL3 CHECK *PF* ENTRY
- GIL2 LDN 4 ADVANCE POSITION
- RAD T2
- GIL3 LDM MSTB+DVNM DETERMINE IF *PF* ENTRY ENTERED
- NJN GIL4 IF ENTERED
- LJM GIL9 SET LENGTH OF DISPLAY LINE
- GIL4 AOD T2
- LDD WB DETERMINE DEVICE TYPE
- LPN 4
- ZJN GIL5 IF FAMILY DEVICE
- LDC 2RX &2RF
- GIL5 LMC 2RF SET *F* OR *X*
- STI T2
- AOD T2
- LDM MSTB+DVPF+1 SET DEVICE MASK
- SHN -6
- LPN 3
- RJM C1D
- SOD T2 BACKSPACE OVER SEPARATOR
- LDM MSTB+DVPF+1
- RJM C2D
- LDM MSTB+DVPF SET SECONDARY MASK
- SHN -2
- LPN 3
- RJM C1D
- SOD T2 BACKSPACE OVER SEPARATOR
- LDM MSTB+DVPF
- LPN 3
- SHN 14
- LMM MSTB+DVPF+1
- SHN -10
- RJM C2D
- LDC MSTB+DVNM SET FAMILY OR PACKNAME
- STD FP
- AOD T2
- GIL6 LDI FP
- STI T2
- AOD T2
- AOD FP
- LMC MSTB+DVNM+3
- NJN GIL6 IF MORE CHARACTERS TO CHECK
- LDM MSTB+DVNM+3 SET SEVENTH CHARACTER
- SCN 77 CLEAR DEVICE NUMBER
- STI T2
- AOD T2
- LDD WB DETERMINE IF FAMILY OR AUXILARY DEVICE
- LPN 4
- ZJN GIL7 IF FAMILY DEVICE
- LDN 2 ADVANCE POSITION
- RAD T2
- UJN GIL8 SET NUMBER OF CATALOG TRACKS
- GIL7 LDM MSTB+DVDN SET DEVICE NUMBER
- RJM C2D
- GIL8 LDM MSTB+DVPF SET NUMBER OF CATALOG TRACKS
- SHN -12
- RJM C1D
- SOD T2 BACKSPACE OVER SEPARATOR
- LDM MSTB+DVPF
- SHN -4
- RJM C2D
- GIL9 LDD T2 SET LENGTH OF DISPLAY LINE
- SBN YY
- LJM GILX RETURN
- GILA SPACE 4,10
- * OPTION MASK.
- GILA CON 2RFT&2R--
- CON 2RPQ&2R--
- CON 2RSA&2R--
- CON 2REB&2R--
- CON 0
- GMD SPACE 4,10
- ** GMD - INITIATE MST DISPLAY.
- *
- * EXIT SEE *GML*.
- * (A) = 0 IF END OF MASS STORAGE EQUIPMENT.
- * (PA) = GML.
- * (YY) = COORDINATE FOR NEXT DISPLAY LINE.
- *
- * USES T2.
- *
- * CALLS CDI, GML.
- GMD SUBR ENTRY/EXIT
- LDN EDHBA OUTPUT DISPLAY HEADER
- OAM EDHB,CH
- LDD MA GET DAYFILE AND DEFAULT FAMILY EQUIPMENTS
- SHN 6
- ADN NEEQ*TDDCL
- CRD CB
- RJM CDI CHECK DISPLAY INDEX
- RJM GML
- ZJN GMDX IF NO MORE MASS STORAGE
- STD T2
- LCN YINC ADJUST Y-COORDINATE
- RAD YY
- LDC GML CHANGE PROCESSOR ADDRESS
- STD PA
- LDD T2
- UJN GMDX RETURN
- GML SPACE 4,15
- ** GML - GENERATE MST DISPLAY LINE.
- *
- * ENTRY (T1) = EST ORDINAL.
- * (EW) = CURRENT EQUIPMENT COUNT.
- *
- * EXIT (A) = 0 IF NO MORE MASS STORAGE EQUIPMENT.
- * = LENGTH OF DISPLAY LINE (INCLUDING COORDINATES).
- * (T1) = MASS STORAGE EST ORDINAL.
- * (LBUF) = DISPLAY LINE.
- *
- * USES BA, T2.
- *
- * CALLS IML, SBS.
- GML SUBR ENTRY/EXIT
- RJM IML
- ZJN GMLX IF NO MORE MASS STORAGE EQUIPMENT
- LDD WB
- LPC 3400 SET S, M, R
- SHN 1
- STD T0 SMR.........
- LDD WB
- LPN 20 SET N
- SHN 10-4
- RAD T0 SMRN........
- LDD WB+4
- LPN 10 SET A
- SHN 7-3
- RAD T0 SMRNA.......
- LDD WB+4
- SCN 17
- ZJN GML2 IF NO INITIALIZE PENDING
- LDC 100 SET I
- RAD T0 SMRNAI......
- GML2 LDM MSTB+DVPR SET P
- LPN 1
- SHN 5
- RAD T0 SMRNAIP.....
- LDN 4
- STD BA
- GML3 LDM CB,BA DETERMINE DAYFILE AND FAMILY RESIDENCE
- LPC 777
- LMD T1
- NJN GML4 IF NO RESIDENCE
- LDM GMLC,BA SET D, C, E, B, AND/OR F
- RAD T0
- GML4 SOD BA
- PJN GML3 IF MORE TO CHECK
- LDC GMLA
- RJM SBS DISPLAY BIT STATUS
- LDM MSTB+DVPR SET G
- LPN 2
- SHN 12
- STD T0
- LDC GMLB
- RJM SBS DISPLAY BIT STATUS
- LDN 2
- RAD T2
- LDM MSTB+DVFA SET FILE TYPE BITS
- SHN 3
- ADN 4 SET UNUSED BIT
- STD T0
- LDC GMLD
- RJM SBS DISPLAY BIT STATUS
- LDD T2 SET LENGTH OF DISPLAY LINE
- SBN YY
- LJM GMLX RETURN
- GMLA SPACE 4,10
- * STATUS MASKS.
- GMLA CON 2RSM&2R--
- CON 2RRN&2R--
- CON 2RAI&2R--
- CON 2RPD&2R--
- CON 2RCE&2R--
- CON 2RBF&2R--
- CON 0
- GMLB CON 2RG-&2R--
- CON 0
- GMLC CON 20
- CON 10
- CON 4
- CON 2
- CON 1
- * FILES MASK.
- GMLD CON 2RSB&2R--
- CON 2RLP&2R--
- CON 2RDR&2R--
- CON 2ROI&2R--
- CON 2RT &2R--
- CON 0
- GTD SPACE 4,10
- ** GTD - INITIATE MASS STORAGE ERROR THRESHOLD DISPLAY.
- *
- * EXIT SEE *GTL*.
- * (A) = 0 IF END OF MASS STORAGE EQUIPMENT.
- * (PA) = GTL.
- * (YY) = COORDINATE FOR NEXT DISPLAY LINE.
- *
- * USES T2.
- *
- * CALLS CDI, GTL.
- GTD SUBR ENTRY/EXIT
- LDN EDHEA OUTPUT DISPLAY HEADER
- OAM. EDHE,CH
- RJM CDI CHECK DISPLAY INDEX
- RJM GTL GENERATE LINE
- ZJN GTDX IF NO MORE MASS STORAGE
- STD T2
- LCN YINC ADJUST Y-COORDINATE
- RAD YY
- LDC GTL CHANGE PROCESSOR ADDRESS
- STD PA
- LDD T2
- UJN GTDX RETURN
- GTL SPACE 4,15
- ** GTL - GENERATE MASS STORAGE ERROR THRESHOLD LINE.
- *
- * ENTRY (T1) = EST ORDINAL.
- * (EW) = CURRENT EQUIPMENT COUNT.
- *
- * EXIT (A) = 0 IF NO MORE MASS STORAGE EQUIPMENT.
- * = LENGTH OF DISPLAY LINE (INCLUDING COORDINATES).
- * (T1) = MASS STORAGE EST ORDINAL.
- * (LBUF) = DISPLAY LINE.
- *
- * USES BA.
- *
- * CALLS D4S, IML.
- GTL SUBR ENTRY/EXIT
- RJM IML
- ZJN GTLX IF NO MORE MASS STORAGE EQUIPMENT
- LDM MSTB+DVNT
- RJM D4S CONVERT TRACK COUNT
- LDN 0
- STD BA
- GTL1 LDM MSTB+DVTH,BA CONVERT THRESHOLD VALUE
- RJM D4S
- AOD BA ADVANCE INDEX
- LMN 5
- NJN GTL1 IF MORE ERROR LIMITS
- LDD T2
- SBN YY
- UJP GTLX RETURN
- IEL SPACE 4,10
- ** IEL - INITIALIZE EQUIPMENT DISPLAY LINE.
- *
- * ENTRY (T1) = EST ORDINAL.
- * (WB - WB+4) = EST DATA.
- *
- * EXIT (A) = 0 IF EQUIPMENT UNDEFINED.
- * (T2) = *LBUF* ADDRESS FOR CONTINUED ASSEMBLY.
- *
- * CALLS CLB, D4S.
- IEL3 LDN 2 ADVANCE PAST PARTITION FIELD
- RAD T2
- IEL SUBR ENTRY/EXIT
- RJM CLB
- LDD T1 CONVERT EST ORDINAL
- RJM D4S
- LDD WB+3 SET EQUIPMENT MNEMONIC
- ZJN IELX IF EQUIPMENT UNDEFINED
- STI T2
- LDN 2 ADVANCE ASSEMBLY ADDRESS
- RAD T2
- LDD WB
- SHN 21-13
- PJN IEL3 IF NOT MASS STORAGE
- SHN 21-5-21+13
- PJN IEL3 IF NOT BUFFERED DEVICE
- LDM ESTB+3
- SHN 21-13
- PJN IEL3 IF NO PARTITION NUMBER
- SHN 21-11-21+13
- MJN IEL2 IF DOUBLE DIGIT PARTITION NUMBER
- SHN 0-16
- RJM C1D CONVERT 1 OCTAL DIGIT
- IEL1 UJN IELX RETURN
- IEL2 SHN 4
- LPN 17
- RJM C2D DISPLAY 2 OCTAL DIGITS
- UJN IEL1 RETURN
- IML SPACE 4,10
- ** IML - INITIALIZE MASS STORAGE DISPLAY LINE.
- *
- * ENTRY (T1) = EST ORDINAL.
- * (EW) = CURRENT EQUIPMENT COUNT.
- *
- * EXIT (A) = 0 IF NO MORE MASS STORAGE EQUIPMENT.
- * (T1) = MASS STORAGE EST ORDINAL.
- *
- * CALLS IEL, REP.
- IML2 RJM IEL INITIALIZE DISPLAY LINE
- IML SUBR ENTRY/EXIT
- IML1 RJM REP
- NJN IML2 IF MASS STORAGE EQUIPMENT FOUND
- AOD T1
- LMD EW
- NJN IML1 IF MORE EQUIPMENT TO CHECK
- * LDN 0
- UJN IMLX RETURN
- REP SPACE 4,10
- ** REP - READ EQUIPMENT PARAMETERS.
- *
- * ENTRY (T1) = EST ORDINAL.
- *
- * EXIT (A) = 0 IF NOT MASS STORAGE.
- * (WB - WB+4) = EST DATA.
- * (MSTB) = MST DATA IF MASS STORAGE.
- REP SUBR ENTRY/EXIT
- LDD EA
- SHN 5
- ADD T1 FETCH EST DATA
- SHN 1
- ADK EQDE
- CRD WB
- ADK EQAE-EQDE
- CRM ESTB,ON
- LDD WB
- SHN 0-13
- ZJN REPX IF NOT MASS STORAGE
- LDD MA
- SHN 4
- ADD T1
- SHN 2
- ADD T1
- ERRNZ TDDCL-5 CODE DEPENDS ON VALUE OF TAG
- CRM MSTB,DV
- UJN REPX RETURN
- RNB SPACE 4,10
- ** RNB - READ NEXT BLOCK.
- *
- * ENTRY (A) = 0 IF READ INITIATED.
- * (WC) = WORD COUNT OF PREVIOUS BLOCK.
- *
- * EXIT (A) = (WC) = BLOCK SIZE (CM WORD COUNT).
- RNB2 LDN 0 INDICATE EOR
- RNB SUBR ENTRY/EXIT
- ZJN RNB1 IF READ INITIATED
- LDD WC
- LMC TPLN/5
- NJN RNB2 IF EOR
- ACN TC
- LDN RTBF INITIATE READ
- OAN TC
- AJM *,TC WAIT FUNCTION ACCEPT
- RNB1 ACN TC
- IAN TC INPUT WORD COUNT
- STD WC
- UJN RNBX RETURN
- RTL SPACE 4,10
- ** RTL - READ TEXT LINE.
- *
- * ENTRY (T1) = LINE NUMBER.
- * (DB) = DISPLAY BUFFER INDEX.
- * (YY) = Y-COORDINATE FOR LINE.
- *
- * EXIT (A) = LINE LENGTH (INCLUDING COORDINATES)
- * .LT. 0 IF FORMAT EFFECTOR ENCOUNTERED.
- * (LBUF) = LINE IMAGE.
- RTL1 LDN 1R -1R1 REMOVE FORMAT EFFECTOR
- SHN 6
- RAM LBUF
- RTL2 LDN LBUFL+1+2 SET LINE LENGTH
- RTL SUBR ENTRY/EXIT
- LDM TDBP+1,DB
- SHN 3
- ADD T1 READ REQUEST LINE
- SHN 3
- CRM LBUF,SX
- LDD DB
- NJN RTL2 IF NOT INSTRUCTION DISPLAY
- LDM LBUF
- SHN -6 CHECK LINE
- LMN 1R1
- NJN RTL2 IF NO FORMAT EFFECTOR
- LDD YY
- SBK BL01
- ZJN RTL1 IF TOP OF DISPLAY
- * LCN 0
- UJN RTLX RETURN
- SBS SPACE 4,10
- ** SBS - SET BIT STATUS.
- *
- * ENTRY DISPLAY HARDWARE POSTIIONED AT DESIRED LOCATION.
- * (A) = ADDRESS OF LETTER TABLE. TABLE MUST BE
- * TERMINATED BY A ZERO WORD.
- * (T0) = BIT STATUS LEFT JUSTIFIED.
- * (T2) = ADDRESS TO STORE BIT STATUS.
- *
- * USES BA, FP, T0, T2.
- SBS1 LPC 0
- SBSA EQU *-1
- LMC 2R-- FORM LETTER IF BIT ON OR *-* IF BIT OFF
- STI T2
- AOD FP ADVANCE BIT INDEX
- AOD T2 ADVANCE ADDRESS
- SBS2 LDD T0 POSITION NEXT 2 BITS
- SHN 2
- STD T0
- SHN -14 GET NEXT 2 BITS
- STD BA
- LDM SBSB,BA GET MASK
- STM SBSA
- LDI FP
- NJN SBS1 IF NOT END OF TABLE
- SBS SUBR ENTRY/EXIT
- STD FP SAVE TABLE ADDRESS
- UJN SBS2 POSITION BITS
- SBSB CON 0000 --
- CON 0077 -X
- CON 7700 X-
- CON 7777 XX
- SCT SPACE 4,10
- ** SCT - SEARCH CONTROLWARE TABLE.
- *
- * ENTRY (A) = EQUIPMENT TYPE (DEVICE MNEMONIC).
- *
- * EXIT (A) = (T2) = CONTROLWARE TYPE ADDRESS IN *TDCW*.
- * = 0 IF ENTRY NOT FOUND.
- *
- * USES T2.
- SCT1 LDN 2 ADVANCE TABLE ADDRESS
- RAD T2
- SCT2 LDI T2 CHECK ENTRY
- ZJN SCTX IF END OF TABLE
- LMD T0 COMPARE DEVICE TYPE
- NJN SCT1 IF NO MATCH
- AOD T2
- SCT SUBR ENTRY/EXIT
- STD T0
- LDC TDCW SET TABLE ADDRESS
- STD T2
- UJN SCT2 ENTER LOOP
- UTD SPACE 4,15
- ** UTD - UNPACK TEXT DECK.
- *
- * ENTRY (A) = ADDRESS OF BUFFER POINTER.
- *
- * EXIT (A) = LINE COUNT FOR DECK.
- * (LL) = LINE LIMIT FOR BUFFER.
- * (LN) = 0.
- *
- * USES BA, T1, T2, WC, WB - WB+4.
- *
- * CALLS RNB.
- UTD1 LDD WB+4
- NJN UTD5 IF NOT END OF LINE
- CRD WB
- UTD2 LDI T1 CHECK LINE COUNT
- LMD LL
- ZJN UTD5 IF BUFFER FULL
- LDI BA
- SHN 3
- ADI T1 STORE WORD
- SHN 3
- ADD T2
- CWD WB
- AOD T2 ADVANCE WORD COUNT
- LMN 6
- NJN UTD1 IF NOT SIX WORDS
- STD T2
- AOI T1 ADVANCE LINE COUNT
- LDD WB+4
- ZJN UTD5 IF END OF LINE
- UTD3 LDN 5 SKIP NEXT WORD
- IAM WB,TC
- ZJN UTD4 IF NOT END OF DATA
- RJM RNB
- UTD4 LDD WB+4
- NJN UTD3 IF NOT END OF LINE
- UTD5 LDN 5 INPUT NEXT WORD
- IAM WB,TC
- ZJN UTD2 IF NOT END OF DATA
- UTD6 RJM RNB
- NJN UTD5 IF NOT EMPTY PRU
- LDI T1
- OAN BC OUTPUT LINE COUNT FOR DECK
- DCN BC
- UTD SUBR ENTRY/EXIT
- STD BA
- ADN FW-FA SET LINE COUNTER ADDRESS
- STD T1
- LDD BL SET LINE LIMIT FOR BUFFER
- SBI BA
- SHN 3
- STD LL
- LDN 0 CLEAR LINE COUNT
- STD T2
- STI T1
- STD WB+4
- STM FI-FW,T1 CLEAR BUFFER INDEX
- STD LN
- UJN UTD6 ENTER LOOP
- SPACE 4,10
- ** DISPLAY HEADERS.
- DHDR CON HL03,CH01
- BSS 5
- DHDRL EQU *-DHDR
- EDHA CON YCPH,CH02
- DATA H*EQUIPMENT STATUS*
- CON YCSH,CH02
- DATA H*EST TYPE PN ST EQ UN CHANNELS-PORTS*
- EDHAA EQU *-EDHA
- EDHB CON YCPH,CH02
- DATA H*MASS STORAGE STATUS*
- CON YCSH,CH02
- DATA H*EST TYPE PN STATUS FILES*
- EDHBA EQU *-EDHB
- EDHC CON YCPH,CH02
- DATA H*MASS STORAGE INITIALIZATION STATUS*
- CON YCSH,CH02
- DATA H*EST TYPE PN OPTIONS T IAM DAM FM/PK*
- DATA H* DN NC*
- EDHCA EQU *-EDHC
- EDHD CON YCPH,CH02
- DATA H*CONTROLWARE STATUS*
- CON YCSH,CH02
- DATA H*CHANNEL CONTROLWARE*
- EDHDA EQU *-EDHD
- EDHE CON YCPH,CH02
- DATA H*MASS STORAGE ERROR THRESHOLDS*
- CON YCSH,CH02
- DATA H*EST TYPE PN NT VF RA LS RE UE*
- EDHEA EQU *-EDHE
- SPACE 4,10
- * DISPLAY BUFFERS.
- DIS HERE
- ESTB EQU * SECOND WORD OF EST ENTRY FOR DISPLAY
- MSTB EQU ESTB+5 MASS STORAGE DESCRIPTOR TABLE BUFFER
- TCCS EQU MSTB+TDDEL CONTROLWARE TYPES TO LOAD
- SPACE 4,10
- LBUFL EQU KBUFL/2 LINE BUFFER LENGTH
- ERRNZ KBUFL-60D CODE DEPENDS ON VALUE
- LOC *O
- QUAL *
- IBUFL EQU *-IBUF
- SPACE 4,10
- * CHANNEL TABLES.
- CHTB TC
- CHTB BC
- CHTB AC
- SPACE 4,10
- * INSTRUCTION MODIFICATION BLOCK.
- DIMB
- SPACE 4,10
- ERRNG MBUF-* *SET* OVERFLOWS INTO MOVE BUFFER
- SPACE 4,10
- * RESTORE I/O INSTRUCTIONS.
- RSTC
- SPACE 4,10
- .DSE SET 0
- .ILL SET 0
- .KBR SET 0
- TTL SET/CMR - SET SYSTEM CONFIGURATION.
- TITLE
- IDENT CMR,OVL
- QUAL CMR
- ORG OVL
- *COMMENT SET - SET SYSTEM CONFIGURATION.
- COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
- MACROS SPACE 4,10
- ** MACRO DEFINITIONS.
- MTLN SPACE 4,10
- ** MTLN - GENERATE TAGGED LIST OF MANAGED TABLE ENTRY COUNTS.
- *
- *N MTLN I,L
- * N = TABLE NAME.
- * I = MANAGED TABLE IDENTIFIER.
- * L = DEFAULT NUMBER OF ENTRIES.
- MACRO MTLN,N,I,L
- .A IFC NE,*N**
- N BSS 0
- .2 SET N
- TT MICRO 1,3, N
- .A ELSE
- .B IFC NE,*I**
- .I EQU *-.2
- CON L
- ENDIF
- ENDM
- SPACE 4,10
- ** MAINTENANCE REGISTER REQUEST CODE SYMBOLS.
- QUAL
- RMRF EQU /IOU/MRRD-/IOU/MRRD READ
- WMRF EQU /IOU/MRWT-/IOU/MRRD WRITE
- QUAL *
- NVECPU SPACE 4,10
- ** NVECPU - SUBROUTINES TO RESERVE CPU1 FOR NOS/VE.
- *
- * THIS MACRO PROVIDES COMMON CODE FOR *CMR* AND *RCM*.
- NVECPU MACRO
- LIST G
- ** RESERVE PROCESSOR FOR NOS/VE.
- *
- * USES T5, CM - CM+4.
- *
- * CALLS RWR.
- RPN4 CCF. *+2,MR CLEAR CHANNEL FLAG
- RPN SUBR ENTRY/EXIT
- LDM .CPU
- RPN1 LPN 2
- ADM C8XX
- NJN RPNX IF NOT DUAL STATE DUAL CPU MAINFRAME
- SCF. RPN1,MR SET CHANNEL FLAG
- LDM ISPF
- SHN 0-13
- STD T5 FORM REGISTER INDEX
- SHN 1
- RAD T5
- ZJN RPN1.1 IF CYBER 180 - 810/815/825/830
- * PROCESS LEVEL 3 DEADSTART.
- .RCM IF DEF,RCM
- LDC EIBP
- CRD CM
- LDD CM
- SHN 21-12
- PJN RPN2 IF NOT DUAL 170-STATE CPUS WITH CACHE
- LDD CM
- LPC 2177 CLEAR MONITOR, NVE AND CACHE PURGE FLAGS
- STD CM
- LDC EIBP
- CWD CM
- UJN RPN3 CLEAR CHANNEL FLAG AND RETURN
- RPN1.1 LDD HO
- LPN 1
- NJN RPN3 IF FIRST CPU OFF
- LDN SSTL PROCESS LEVEL 3 DEADSTART
- CRD CM
- LDD CM+3
- SHN 0-13
- NJN RPN3 IF NOS/VE DISABLED
- * PROCESS LEVEL 0, 1 OR 2 DEADSTART.
- .RCM ELSE
- LDM DCPC
- ZJN RPN2 IF NOT DUAL 170-STATE CPUS WITH CACHE
- LDM DCPN
- NJN RPN4 IF SECOND CPU DEDICATED TO NOS
- RPN1.1 LDD HO
- LPN 1
- NJN RPN4 IF FIRST CPU OFF
- LDM VEFL
- ZJN RPN3 IF NOS/VE MEMORY SPACE UNDECLARED
- LDD HO
- LPN 2
- NJN RPN3 IF SECOND CPU OFF
- LDM P2CC
- LMK /IOU/MRHP HALT PROCESSOR
- FAN. MR
- LDN 2
- RAD HO
- .RCM ENDIF
- * DISABLE PORT TO SECOND CPU.
- RPN2 LDK RMRF READ ENVIRONMENTAL CONTROL REGISTER
- RJM RWR
- DCN. MR
- LDM RBUF+1,T5 DISABLE PORT TO SECOND CPU
- SCN 40
- LMN 40
- STM RBUF+1,T5
- LDK WMRF WRITE *EC* REGISTER
- RJM RWR
- FJM. *,MR WAIT CHANNEL EMPTY
- DCN. MR
- RPN3 LJM RPN4 CLEAR CHANNEL FLAG AND RETURN
- ** READ / WRITE ENVIRONMENTAL CONTROL REGISTER.
- *
- * ENTRY (A) = *RMRF* TO READ REGISTER,
- * = *WMRF* TO WRITE REGISTER.
- *
- * EXIT (RBUF) = REGISTER CONTENTS.
- RWR SUBR ENTRY/EXIT
- LMM CMCC
- FAN. MR FUNCTION MAINTENANCE CHANNEL
- LPN 20
- ERRNZ RMRF+20-WMRF CODE DEPENDS ON VALUE
- SHN 3
- LMC IAMI+MR FORM I/O INSTRUCTION
- STM RWRA
- ACN. MR
- LDN 0
- OAN. MR SEND MEMORY *EC* REGISTER NUMBER
- LDK /IOU/ECMR
- OAN. MR
- FJM. *,MR WAIT CHANNEL BUSY
- DCN. MR
- ACN. MR READ / WRITE REGISTER
- LDN 10
- RWRA IAM. RBUF,MR
- UJP RWRX RETURN
- RBUF EQU MBUF+500-10
- LIST *
- ENDM
- ENTRY SPACE 4,10
- ** ENTRY POINTS.
- CON TSYN-1 ADDRESS OF SYNTAX TABLE
- CON TSYNA ADDRESS OF END OF SYNTAX TABLE
- CMR SPACE 4,10
- ** CMR - INITIALIZE CENTRAL MEMORY.
- CMR SUBR ENTRY/EXIT
- RJM CCP COMPLETE *CMR* PROCESSING
- UJN CMRX RETURN
- QUAL
- SPACE 4,10
- **** ASSEMBLED VALUES.
- * CM TABLE LENGTHS.
- MTBL MTLN
- MTLN FOT,10 FAMILY ORDINAL TABLE
- MTLN FNT,23 FILE NAME TABLE
- MTLN EJT,620 EXECUTING JOB TABLE
- MTLN QFT,620 QUEUE FILE TABLE
- MTLN CLT,0 COMMON LIBRARIES TABLE
- MTLN LID,DFLDT LOGICAL ID TABLE
- MTLN MLS,MLTLD NOS/VE MESSAGE LINK STATUS TABLE
- MTLN ORT,100B
- MTLN EMB,EMBMN ERROR MESSAGE BUFFER
- MTLN
- * MISCELLANEOUS.
- INBS CON 0 INSTALLATION BLOCK SIZE
- ****
- TAXM SPACE 4,10
- ** TAXM - EXTENDED MEMORY ALLOCATION TABLE.
- * ENTRY = 5 BYTES.
- * FIRST ENTRY IS FOR THIS MACHINE.
- *
- *T, TAXM 12/ID, 12/FU, 12/UEC, 12/IOBT, 12/IOB
- *
- * ID = MACHINE ID.
- * FU = 0 IF USER ECS TO RESIDE IN EXTENDED MEMORY EQUIPMENT.
- * .NE. 0 IF INTERNAL USER EXTENDED MEMORY IN UEM.
- * UEC = AMOUNT OF USER XM/*EMBS* TO ALLOCATE TO
- * MACHINE *ID*.
- * IOBT = TRACKS NEEDED FOR I/O BUFFERS.
- * IOB = AMOUNT OF SPACE/*EMBS* TO ALLOCATE TO DEMA/819/895
- * BUFFERS.
- TAXM BSSZ 4*5 ALLOW 4 MACHINES WITH CPU ACCESS TO EM
- TAXML EQU *-TAXM
- TAXXL EQU *-TAXM EXTENDED *TAXM* LENGTH
- CFT SPACE 4,10
- ** CFT - CONVERT EXTENDED MEMORY FL TO TRACK COUNT.
- *
- * ENTRY (A) = EXTENDED MEMORY FL/*EMBS*.
- *
- * EXIT (A) = DESIRED SPACE IN TRACKS.
- * (T0) = DESIRED SPACE IN TRACKS.
- *
- * USES T6, T7.
- CFT SUBR ENTRY/EXIT
- SHN 5
- STD T7 SET EXTENDED MEMORY FL
- SHN -14
- STD T6
- LCN 0 TRACK COUNT = (FL * 40) / 101
- STD T0
- CFT1 AOD T0 ADVANCE TRACK COUNT
- LDC -101
- RAD T7
- PJN CFT1 IF NOT UNDERFLOW
- AOD T7
- SOD T6
- PJN CFT1 IF NOT END OF CONVERSION
- LDD T0
- UJN CFTX RETURN
- CMS SPACE 4,20
- ** CMS - CHECK MEMORY SIZES.
- *
- * CHECKS THAT CM, USER XM AND I/O BUFFER BLOCKS WILL ALL FIT
- * INTO THE MEMORIES DEFINED TO HOLD THEM.
- *
- * ENTRY (A) = 0 IF CHECK TO INCLUDE *XM* ALLOCATION DATA.
- * (PD) = 5, IF EST ORDINAL 5 DEFINED AS EXTERNAL XM.
- * (EN) = CPU ACCESS EXTENDED MEMORY EST ORDINAL.
- * (FL - FL+1) = MINIMUM CM REQUIRED.
- * (MZ - MZ+1) = MEMORY SIZE (FROM CTI).
- * (UEMZ - UEMZ+1) = UEM REQUIRED/100B.
- * (VEMZ - VEMZ+1) = NVE BLOCK REQUIRED/100B.
- * TAXM = TABLE OF EXTENDED MEMORY ALLOCATIONS.
- *
- * EXIT (A) = 0 IF NO ERRORS.
- * (KM) = MESSAGE ADDRESS IF ERROR.
- *
- * USES CN - CN+4, T1 - T5.
- *
- * CALLS CFT, VDA.
- CMS SUBR ENTRY/EXIT
- NJP CMS10 IF NOT CHECKING *XM* ALLOCATION DATA
- CRD T1
- CRD CN
- LDD PD
- ZJN CMS3 IF NO POSSIBLE LINK DEVICE
- ADD EN
- SBN 2*LDEQ+1
- MJN CMS3 IF NOT BOTH A LINK DEVICE AND A CPU DEVICE
- AOD CN
- UJN CMS3 ENTER LOOP
- * ACCUMULATE TOTALS FOR USER XM AND I/O BUFFERS.
- * IF BOTH A LINK DEVICE AND A CPU ACCESS EXTENDED MEMORY DEVICE
- * ARE DEFINED, THE TOTALS MUST BE KEPT SEPARATE. ALL *XM*
- * ENTRIES FOR OTHER MACHINES ARE DEFINING SPACE IN THE LINK
- * DEVICE.
- CMS1 LDD T2
- NJN CMS2 IF NOT THIS MACHINE-S ENTRY
- LDD CN
- ZJN CMS2 IF NOT TWO EXTENDED MEMORY EQUIPMENTS
- LDD T4 SAVE USER XM TRACK COUNT FOR THIS MACHINE
- STD CN+1
- LDN ZERL CLEAR TOTALS FOR LINK DEVICE
- CRD T1
- CMS2 LDN 5 ADVANCE INDEX
- RAD T2
- LMN TAXML
- ZJN CMS7 IF END OF ALLOCATION TABLE
- CMS3 LDM TAXM,T2
- CMS4 ZJN CMS2 IF EMPTY ENTRY
- LDM TAXM+1,T2
- NJN CMS5 IF USER XM IN UEM WITH NO EST ENTRY
- LDM TAXM+2,T2
- RJM CFT CONVERT TO TRACK COUNT
- RAD T4 ACCUMULATE USER XM TRACKS NEEDED
- SHN -13
- NJN CMS6 IF TOO MUCH DEFINED
- CMS5 LDM TAXM+3,T2 ACCUMULATE TOTAL I/O BUFFER TRACKS NEEDED
- RAD T1
- LDM TAXM+4,T2 ACCUMULATE TOTAL I/O BUFFER SPACE NEEDED
- RAD T3
- SHN -14
- ZJP CMS1 IF NO OVERFLOW
- CMS6 LDC 2RXM *XM ALLOCATION ERROR.*
- LJM CMS14 SET MESSAGE ADDRESS
- * CHECK EXTENDED MEMORY FIT.
- CMS7 LDD HO
- SHN 21-11
- PJN CMS8 IF NOT CYBER 176
- AOD T5 COUNT 176 TRACK
- CMS8 LDD PD
- NJN CMS9 IF EQUIPMENT 5 EM DEVICE
- LDD EN
- ZJN CMS10 IF NO EST ENTRY
- CMS9 RJM VDA VERIFY DEVICE ALLOCATION
- MJN CMS6 IF INSUFFICIENT SPACE
- LDD CN
- ZJN CMS10 IF NOT TWO EXTENDED MEMORY EQUIPMENTS
- LDM TAXM+3 TRACK COUNT FOR I/O BUFFER SPACE
- STD T1
- LDD CN+1 TRACK COUNT FOR USER XM
- STD T4
- LDD EN
- RJM VDA VERIFY DEVICE ALLOCATION
- MJN CMS6 IF INSUFFICIENT SPACE
- * CHECK MAIN MEMORY FIT.
- CMS10 LDM UEMZ+1
- ADM UEMZ
- ZJN CMS11 IF NO UEM DEFINED
- LDD MZ+1 ADJUST CM SIZE FOR 1000B WORD UEM BOUNDARY
- LPN 7
- CMS11 ADM VEMZ+1 ACCUMULATE TOTAL MAIN MEMORY REQUIRED
- ADM UEMZ+1
- ADD FL+1
- STD T2
- SHN -14
- ADM VEMZ
- ADM UEMZ
- ADD FL
- STD T1
- LDD MZ+1 CHECK AGAINST SIZE RETURNED BY *CTI*
- SBD T2
- PJN CMS12 IF NO BORROW
- AOD T1 PROPAGATE BORROW
- CMS12 LDD MZ
- SBD T1
- SHN -21
- ZJN CMS15 IF IT ALL FITS
- LDC 2RCM
- CMS14 STM CMSA
- LDC CMSA
- STD KM SET MESSAGE ADDRESS
- CMS15 LJM CMSX RETURN
- CMSA DATA C*CM ALLOCATION ERROR.*
- VDA SPACE 4,10
- ** VDA - VALIDATE DEVICE ALLOCATION.
- *
- * ENTRY (A) = EST ORDINAL TO VALIDATE.
- * (T1) = TRACKS OF I/O BUFFERS DEFINED.
- * (T4) = TRACKS OF USER EXTENDED MEMORY DEFINED.
- * (T5) = 1, IF MACHINE IS 176.
- *
- * EXIT (A) .LT. 0 IF DEFINED TRACKS WILL NOT FIT.
- *
- * CALLS STA.
- VDA SUBR ENTRY/EXIT
- RJM /EQP/STA
- LDD T4
- ZJN VDA2 IF NO EXTERNAL USER XM DEFINED
- AOD T4 COUNT USER XM SYSTEM SECTOR TRACK
- VDA2 LDM /EQP/TDDB+DVNT
- SBD T1 TRACK COUNT FOR I/O BUFFER SPACE
- SBD T4 TRACK COUNT FOR USER XM SPACE
- SBD T5 176 SPACE
- SBN 2 LABEL AND CE TRACKS
- UJN VDAX RETURN
- EQPL BSS 0 *EQP* LOAD ADDRESS
- QUAL *
- SPACE 4,10
- ** TSYN - SYNTAX TABLE.
- TSYN BSS 0
- CON BSP
- CON CLT
- CON DFT
- CON DUALCPU
- CON EJE
- CON EMB
- CON EQP
- CON FNE
- CON FOE
- CON INB
- CON IPD
- CON LIB
- CON LIE
- CON MID
- CON MCM
- CON MLS
- CON NAME
- CON NCP
- CON OPS
- CON ORT
- CON PCP
- CON PPU
- CON QFE
- CON VEE
- CON VERSION
- TSYNA CON 0
- CON NEXT
- CON IPR
- CON 0 END OF TABLE
- CCP SPACE 4,10
- ** CCP - COMPLETE *CMR* PROCESSING.
- *
- * SYSTEM NAME AND VERSION ARE SAVED IN CENTRAL MEMORY NOW,
- * INSTEAD OF WAITING UNTIL *ICM*, TO MAKE ROOM IN *EQP*.
- * THE *NOS/VE* PROCESSOR IS RESERVED IF REQUIRED, AND THE
- * *EQP* OVERLAYS ARE READ IN AND WRITTEN TO CENTRAL MEMORY.
- CCP SUBR ENTRY/EXIT
- LDN 6
- STD T1
- LDN SYTL STORE SYSTEM NAME, VERSION
- CWM .NME,T1
- LDC RJMI FORCE OVERLAY LOADS FOR *EQPDECK* ENTRIES
- STM AKLC
- RJM RPN RESERVE PROCESSOR FOR *NVE*
- LDN 3*EQXL LOAD *EQ1*, *EQ2* AND *EQ3*
- STD T5
- LDC EQXL*100 SET NUMBER OF WORDS TO READ
- STD T7
- CCP1 RJM ROV
- LDD EB
- SBD T5
- SHN 6
- CWM EQXO,T7
- LDD T5
- SBN EQXL
- STD T5
- NJN CCP1 IF MORE OVERLAYS
- UJN CCPX RETURN
- **** OPERATING SYSTEM NAME AND VERSION.
- .NME DATA C* CDC NETWORK OPERATING SYSTEM.*
- BSSZ .NME+24-*
- VER170 MICRO 2,18,$"VER170"$ REMOVE LEADING/TRAILING SPACES
- .VER DATA C*"VER170"*
- BSSZ .VER+12-*
- ****
- ERRNG /EQP/EQXO-* OVERFLOW INTO *EQ1*/*EQ2*/*EQ3* OVERLAYS
- SPACE 4,10
- ** COMMON SUBROUTINES.
- AODSUB
- ASDSUB
- ASNSUB
- CDRSUB
- NVECPU
- TITLE CM TABLE PROCESSORS.
- EJE SPACE 4,10
- *** EJT=XXXX.
- * SET NUMBER OF EJT ENTRIES = XXXX.
- * DEFAULT = VALUE ASSEMBLED WITH TAG *.EJT*.
- EJE DATA C*EJT=*
- LDN .EJT
- UJN QFE1 PROCESS EJT DEFINITION
- FOE SPACE 4,10
- *** FOT=XXX.
- * SET NUMBER OF FOT ENTRIES = XXX.
- * DEFAULT = VALUE ASSEMBLED WITH TAG *.FOT*.
- FOE DATA C*FOT=*
- LDN .FOT
- UJN QFE1 PROCESS FOT DEFINITION
- FNE SPACE 4,10
- *** FNT=XXXX.
- * SET NUMBER OF FNT ENTRIES = XXXX.
- * DEFAULT = VALUE ASSEMBLED WITH TAG *.FNT*.
- FNE DATA C*FNT=*
- LDN .FNT
- UJN QFE1 PROCESS FNT DEFINITION
- ORT SPACE 4,16
- *** ORT=XXX.
- * SET NUMBER OF ORT ENTRIES = XXX.
- * DEFAULT = VALUE ASSEMBLED WITH TAG *.ORT*.
- ORT DATA C*ORT=*
- LDN .ORT
- UJN QFE1 PROCESS ORT DEFINITION
- QFE SPACE 4,10
- *** QFT=XXXX.
- * SET NUMBER OF QFT ENTRIES = XXXX.
- * DEFAULT = VALUE ASSEMBLED WITH TAG *.QFT*.
- QFE DATA C*QFT=*
- LDN .QFT
- QFE1 STD T7 SAVE INDEX
- RJM ASD ASSEMBLE NUMBER OF TABLE ENTRIES
- SBN 3
- MJN QFE2 IF INCORRECT VALUE
- SBN 101-3
- MJN QFE3 IF CORRECT VALUE FOR ALL TABLES
- LDD T7
- LMK .FOT
- NJN QFE3 IF NOT DEFINING FOT
- QFE2 JMP ILL PROCESS INCORRECT ENTRY
- QFE3 LDD AB+4 SET ENTRY COUNT
- STM MTBL,T7
- JMP KBR RETURN
- CLT SPACE 4,10
- *** CLT=XXX.
- * SET NUMBER OF CLT ENTRIES = XXX.
- * DEFAULT = VALUE ASEMBLED WITH TAG *.CLT*.
- CLT DATA C*CLT=*
- LDN .CLT
- UJN QFE1 PROCESS CLT DEFINITION
- BSP SPACE 4,10
- *** BSP=X.
- * SPECIFIES WHETHER OR NOT TO BUILD THE *SCI* PARAMETER
- * TABLE. FOR COMPATIBILITY REASONS, *BSP=N.* MUST BE
- * SPECIFIED WHEN RUNNING A DUAL STATE ENVIRONMENT IN
- * WHICH THE NOS/VE PSR LEVEL IS 688 OR EARLIER.
- * DEFAULT = BUILD *SCI* PARAMETER TABLE.
- BSP DATA C*BSP=*
- LDM C8XX
- NJN BSP1 IF NOT DUAL STATE MAINFRAME
- LDI KA
- SHN 6
- LMM 1,KA
- LMC 2RY.
- ZJN BSP3 IF BUILD TABLE SPECIFIED
- LMC 2RN.&2RY.
- ZJN BSP2 IF DO NOT BUILD SPECIFIED
- BSP1 JMP ILL PROCESS INCORRECT ENTRY
- BSP2 LDN 1 SET FLAG TO NOT BUILD TABLE
- BSP3 STM BSPT
- JMP KBR RETURN
- DFT SPACE 4,10
- *** DFT=X.
- * SET/CLEAR *DFT* DEDICATED MODE.
- *
- * X = *N* TO CLEAR DEDICATED MODE,
- * X = *D* TO SET DEDICATED MODE.
- *
- * DEFAULT IS NON-DEDICATED MODE, UNLESS THE *VE* ENTRY IS
- * SPECIFIED.
- DFT DATA C*DFT=*
- LDI KA GET FIRST CHARACTER
- LMN 1RN
- ZJN DFT1 IF NOT DEDICATED MODE
- LMN 1RN&1RD
- NJN DFT2 IF INCORRECT ENTRY
- LDC 4000
- DFT1 STD T3
- AOD KA GET NEXT CHARACTER
- LDI KA
- LMN 1R.
- NJN DFT2 IF NOT TERMINATED BY A *.*
- LDM DFTA+1
- LPC 3777
- LMD T3 SAVE DEDICATED MODE
- STM DFTA+1
- JMP KBR RETURN
- DFT2 JMP ILL PROCESS INCORRECT ENTRY
- DUALCPU SPACE 4,10
- *** DUALCPU=X.
- * SET DUAL CPU OPERATING MODE FOR DUAL STATE.
- *
- * X = *N* TO DEDICATE SECOND CPU TO *NOS*.
- * X = *V* TO DEDICATE SECOND CPU TO *NOS/VE*.
- *
- * DEFAULT IS TO DEDICATE SECOND CPU TO *NOS/VE*. THE FIRST
- * CPU IS ALWAYS SHARED. ONLY ALLOWED ON CY960-32.
- DUALCPU DATA C*DUALCPU=*
- LDM CMDL CHECK CPU MODEL NUMBER
- LMC 0#3A
- NJN DUA2 IF NOT 960/970
- LDD HO
- LPN 2
- NJN DUA2 IF CPU 1 OFF / NONEXISTANT
- LDI KA GET FIRST CHARACTER
- LMN 1RV
- ZJN DUA1 IF *DUALCPU=V*
- LMN 1RN&1RV
- NJN DUA2 IF NOT *DUALCPU=N*
- LDN 1
- DUA1 STD T3 SAVE DUAL CPU FLAG
- AOD KA GET NEXT CHARACTER
- LDI KA
- LMN 1R.
- NJN DUA2 IF NOT TERMINATED BY A *.*
- LDD T3 SET DUAL CPU FLAG
- STM DCPN
- JMP KBR RETURN
- DUA2 JMP ILL PROCESS INCORRECT ENTRY
- EMB SPACE 4,16
- *** EMB=XXXX.
- * SET NUMBER WORDS FOR EMB = XXXX.
- * DEFAULT = VALUE ASSEMBLED WITH TAG *.EMB*.
- * MINIMUM = VALUE DEFINED IN *PPCOM* AS *EMBMN*.
- * MAXIMUM = VALUE DEFINED IN *PPCOM* AS *EMBMX* (7777B).
- EMB DATA C*EMB=*
- RJM ASD ASSEMBLE DIGITS
- ADC -EMBMN
- MJN EMB1 IF TABLE LENGTH .LT. *PPCOM* MINIMUM
- LDD AB
- ADD AB+1
- ADD AB+2
- ADD AB+3
- NJN EMB1 IF TABLE LENGTH .GT. 7777B
- LDD AB+4
- STM .EMB+MTBL SET TABLE LENGTH
- JMP KBR RETURN
- EMB1 JMP ILL PROCESS INCORRECT ENTRY
- EQP SPACE 4,10
- *** EQP=NN.
- *
- * BUILD SYSTEM WITH SPECIFIED EQPDECK.
- * OMITTED. USE EQPDNN, WHERE NN IS THE SAME NUMBER
- * AS THE CMRDECK USED.
- * EQP=NN. USE RECORD NAMED EQPDNN.
- EQP DATA C*EQP=*
- LDN EQPD
- UJN IPD1 SET DECK NUMBER
- IPD SPACE 4,10
- *** IPD=NN.
- * ASSEMBLE INSTALLATION PARAMETER DECK NN.
- * DEFAULT = ASSEMBLE FIRST IPRDECK RECOGNIZED.
- IPD DATA C*IPD=*
- LDN IPRD
- IPD1 STD T7 SET TABLE INDEX
- RJM ASD ASSEMBLE DECK NUMBER
- SHN -6
- ZJN IPD2 IF VALID DECK NUMBER
- JMP ILL PROCESS INCORRECT ENTRY
- IPD2 LDD AB+4 SET DECK NUMBER
- STM TTXC,T7
- IPD3 JMP KBR RETURN
- INB SPACE 4,10
- *** INB=NNNN.
- * SET THE LENGTH OF THE INSTALLATION BLOCK.
- * DEFAULT = 0.
- * MAXIMUM = 7777B.
- INB DATA C*INB=*
- RJM ASD ASSEMBLE DIGITS
- STM INBS
- JMP KBR RETURN
- LIB SPACE 4,10
- *** LIB=NN.
- * BUILD SYSTEM WITH SPECIFIED LIBDECK.
- * OMITTED. USE RECORD NAMED *LIBD00*.
- * LIB=NN. USE RECORD NAMED *LIBDNN*.
- LIB DATA C*LIB=*
- LDN LIBD
- UJN IPD1 SET DECK NUMBER
- LIE SPACE 4,10
- *** LDT=NNNN.
- *
- * SET THE LENGTH OF THE LID TABLE, NOT INCLUDING THE HEADER.
- * THE NUMBER OF WORDS MUST BE .LE. MXLDT, AND .GE. MNLDT.
- LIE DATA C*LDT=*
- RJM ASD ASSEMBLE DIGITS
- SBK MNLDT
- MJN LIE1 IF TABLE LENGTH TOO SMALL
- SBK MXLDT+1-MNLDT
- PJN LIE1 IF TABLE LENGTH TOO LARGE
- AOD AB+4 ADD A WORD FOR TABLE HEADER
- STM .LID+MTBL SET TABLE LENGTH
- JMP KBR RETURN
- LIE1 JMP ILL PROCESS INCORRECT ENTRY
- MID SPACE 4,10
- *** MID=XX.
- *
- * SET MACHINE IDENTIFICATION MNEMONIC = XX.
- * XX MUST BE 2 ALPHANUMERIC CHARACTERS.
- * DEFAULT VALUE = AA.
- MID DATA C*MID=*
- SOD KA
- LDN 3 ASSEMBLE ID
- RJM ASN
- LDD T0
- SBN 2
- NJN MID1 IF .NE. 2 CHARACTERS
- LDI KA CHECK END OF ENTRY
- LMN 1R.
- ZJN MID2 IF TERMINATOR FOUND
- MID1 JMP ILL PROCESS INCORRECT ENTRY
- MID2 LDD CM SET MACHINE ID
- STD ID
- JMP KBR RETURN
- MCM SPACE 4,10
- *** MINCM=XXXX.
- * SET THE MINIMUM REQUIRED AMOUNT OF CM FL TO XXXX HUNDRED
- * WORDS. THIS AMOUNT OF CM + UEM SIZE + NVE SIZE MUST BE
- * .LE. THE PHYSICAL MEMORY AVAILABLE (FROM *CTI*). THE
- * ACTUAL AMOUNT OF MEMORY USED AS CM WILL BE PHYSICAL SIZE -
- * UEM SIZE - NVE SIZE. FOR NON-CME MAINFRAMES, UEM SIZE
- * IS ZERO.
- MCM DATA C*MINCM=*
- RJM ASD ASSEMBLE SIZE
- LDD FL SAVE PREVIOUS VALUE
- STD AB
- LDD FL+1
- STD AB+1
- LDD AB+3 SET MINCM SIZE
- STD FL
- LDD AB+4
- STD FL+1
- LDN 1
- RJM CMS CHECK MEMORY SIZES
- ZJN MCM2 IF VALID
- MCM1 LDD AB RESTORE PREVIOUS VALUE
- STD FL
- LDD AB+1
- STD FL+1
- JMP ERR DISPLAY ERROR
- MCM2 LDD AB+3 CHECK FOR MINCM .LT. ABSOLUTE MINIMUM
- SHN 14
- LMD AB+4
- ADC -MEMS
- PJN MCM3 IF CORRECT MEMORY SIZE
- LDC CMSA *CM ALLOCATION ERROR.*
- STD KM SET ERROR MESSAGE
- UJN MCM1 ERROR EXIT
- MCM3 JMP KBR RETURN
- SPACE 4,10
- *** MLST=NN.
- * SET SIZE OF MESSAGE LINK STATUS TABLE. THE *MLST* IS USED
- * TO COMMUNICATE MESSAGE LINK INTERFACE (*MLI*) STATUS FROM
- * *NOS/VE* TO *NVE*. SIZE MAY RANGE FROM 0 TO MLTLM.
- MLS DATA C*MLST=*
- RJM ASD ASSEMBLE DIGITS
- SBK MLTLM+1
- MJN MLS1 IF TABLE LENGTH IN RANGE
- JMP ILL PROCESS INCORRECT ENTRY
- MLS1 LDD AB+4
- STM .MLS+MTBL SET TABLE LENGTH
- JMP KBR RETURN
- NAME SPACE 4,10
- *** NAME=CCC-CCC
- * SET SYSTEM DATE LINE NAME = CCC-CCC.
- * (MAXIMUM OF 38 CHARACTERS ALLOWED.)
- NAME DATA C*NAME=*
- LDC 2*19DS12+.NME
- NME1 STD T3 SET BUFFER ADDRESS
- SHN -14
- STD T1
- SHN -1 SET BUFFER LIMIT
- ADD T3
- STD T2
- LDD KI SET KEYBOARD BUFFER LIMIT
- RAD KB
- NME2 SOD KB CHECK LAST CHARACTER
- LDI KB
- ZJN NME2 IF NULL
- LMN 1R
- ZJN NME2 IF BLANK
- LMN 1R.&1R
- ZJN NME3 IF *.*
- AOD KB
- LDN 1R.
- STI KB
- NME3 AOD KB CHECK COMMAND LENGTH
- SBD KA
- SBD T1
- MJN NME5 IF .LT. LIMIT
- ZJN NME5 IF .EQ. LIMIT
- NME4 JMP ILL PROCESS INCORRECT ENTRY
- NME5 LDI KA PACK CHARACTER DATA
- SHN 6
- LMM 1,KA MOVE COMMAND TO BUFFER
- STI T3
- LDN 2 ADVANCE KEYBOARD BUFFER ADDRESS
- RAD KA
- AOD T3 ADVANCE BUFFER ADDRESS
- LMD T2
- NJN NME5 IF NOT COMMAND LIMIT
- JMP KBR RETURN
- NCP SPACE 4,10
- *** NCP=X.
- * SET NUMBER OF CONTROL POINTS = X. (X = 2 - NCPS-1)
- * DEFAULT = 12B.
- NCP DATA C*NCP=*
- RJM ASD ASSEMBLE DIGITS
- SBN MNCP
- MJN NME4 IF .LT. 2 CONTROL POINTS
- SBN NCPS-MNCP+1
- PJN NME4 IF .GT. MAXIMUM ALLOWED
- ADN NCPS+2 SET NUMBER OF CONTROL POINTS
- STM .NCP
- NCP1 JMP KBR RETURN
- OPS SPACE 4,10
- *** OPSECM=N.
- * SELECTS SECURITY MODE OF SYSTEM.
- * N SECURITY MODE (0-3).
- * DEFAULT = 0.
- OPS DATA C*OPSECM=*
- RJM ASD ASSEMBLE DIGITS
- SBN 4
- PJN OPS1 IF INCORRECT VALUE
- LDM .SSML SET NEW SECURITY MODE
- SCN 7
- LMD AB+4
- STM .SSML
- JMP KBR RETURN
- OPS1 JMP ILL PROCESS INCORRECT ENTRY
- PCP SPACE 4,10
- *** PCP=XXX.
- * SET NUMBER OF PSEUDO CONTROL POINTS = XXX.
- * DEFAULT = 0.
- PCP DATA C*PCP=*
- RJM ASD ASSEMBLE PCP COUNT
- SBK NPPS+1
- MJN PCP1 IF .LE. MAXIMUM ALLOWED
- JMP ILL PROCESS INCORRECT ENTRY
- PCP1 LDD AB+4 SET PCP COUNT
- STM .NPCP
- JMP KBR RETURN
- PPU SPACE 4,10
- *** PPU=*
- * TOGGLE STATUS OF UPPER 10 PPU.
- * DEFAULT = SET STATUS TO OFF.
- PPU SPACE 4,10
- *** PPU=X,Y,...,Z.
- * TOGGLE STATUS OF PPU X,Y,...,Z.
- * PP-S 0, 1, 2, 10 AND *APP* PP ARE INVALID ENTRIES.
- PPU DATA C*PPU=*
- LDM .PPS COPY PPU STATUS
- STD T6
- LDM .PPS+1
- STD T6+1
- LDI KA CHECK NEXT CHARACTER
- LMN 1R*
- NJN PPU3 IF NOT (*)
- LDM .APP
- SBN 20
- PJN PPU4 IF ALTERNATE PP IN UPPER BANK
- LCN 0 TOGGLE UPPER BANK
- LMM .PPS+1
- STM .PPS+1
- PPU1 JMP KBR RETURN
- PPU3 RJM AOD ASSEMBLE PPU NUMBER
- SBN 3
- MJN PPU4 IF PPU = 0, 1, 2
- SBN 10-3
- ZJN PPU4 IF PPU = 10
- ADN 10
- LMM .APP
- ZJN PPU4 IF ALTERNATE PP
- LDD AB+4 SET BANK
- SHN -4
- STD T1
- ZJN PPU5 IF LOWER BANK
- SCN 1
- NJN PPU4 IF ABOVE 20
- LDM .PPU CHECK PPU COUNT
- SBN 20D
- PJN PPU5 IF .GT. 10 PPU-S SENSED
- PPU4 JMP ILL PROCESS INCORRECT ENTRY
- PPU5 LDD AB+4 SET PPU NUMBER
- LPN 17
- SBN 12
- PJN PPU4 IF OUT OF RANGE
- ADN 12 FORM SHN INSTRUCTION
- LMC SHNI
- STM PPUA
- LDN 1 SHIFT PPU BIT
- PPUA SHN **
- LMM T6,T1 TOGGLE STATUS BIT
- STM T6,T1
- LDI KA CHECK CHARACTER
- LMN 1R.
- ZJN PPU6 IF *.*
- AOD KA SKIP SEPARATOR
- LJM PPU3 LOOP
- PPU6 LDD T6 SET NEW STATUS
- STM .PPS
- LDD T6+1
- STM .PPS+1
- JMP KBR RETURN
- VEE SPACE 4,10
- *** VE=XXXXXXX.
- * BUILD THE *EICB* AND SET THE MAXIMUM NOS/VE BLOCK SIZE TO
- * XXXXXXX THOUSAND WORDS. XXXXXXX MUST BE AN EVEN NUMBER.
- * THE SUM OF UEM SIZE + NVE SIZE + MINCM SIZE (65K USED IF
- * MINCM NOT SPECIFIED) MUST BE .LE. THE PHYSICAL MEMORY
- * AVAILABLE (FROM *CTI*). IF *VE=0* IS SPECIFIED,
- * NOS/VE WILL DYNAMICALLY REQUEST MEMORY FROM NOS AT
- * NOS/VE INITIATION. NOTE THAT UEM MAY NOT BE DEFINED
- * IF *VE=0* HAS BEEN SPECIFIED.
- *
- * VE=*.
- * THIS KEYBOARD ONLY ENTRY CLEARS *VE* SPECIFICATION.
- VEE DATA C*VE=*
- LDM C8XX
- NJN VEE0 IF ENTRY INCORRECT FOR MAINFRAME TYPE
- LDM DCPS
- NJN VEE0 IF DUAL-NOS-CPU SELECTED IN *CIP*
- LDD AM
- ZJN VEE1 IF NOT KEYBOARD ASSEMBLY
- LDI KA
- SHN 6
- LMM 1,KA CHECK *VE* PARAMETER
- LMC 2R*.
- NJN VEE1 IF NOT /VE=*/
- STM VEFL CLEAR PREVIOUS SPECIFICATION
- STM VEMZ
- STM VEMZ+1
- JMP KBR RETURN
- VEE0 JMP ILL PROCESS INCORRECT ENTRY
- VEE1 RJM ASD ASSEMBLE MAXIMUM BLOCK SIZE
- LPN 1
- NJN VEE0 IF NOT EVEN NUMBER
- LDD AB+3
- SHN 0-11
- ADD AB+2
- ADD AB+1
- ADD AB
- NJN VEE0 IF BLOCK SIZE .GT. 4 GIGABYTES
- LDM VEMZ SAVE PREVIOUS VALUE
- STD AB
- LDM VEMZ+1
- STD AB+1
- LDD AB+4 CONVERT FROM WORDS/1000B TO WORDS/100B
- SHN 3
- STM VEMZ+1
- SHN -14
- SHN 17
- LMD AB+3
- SHN 3
- STM VEMZ
- LDN 1
- RJM CMS CHECK MEMORY SIZES
- ZJN VEE2 IF VALID
- LDD AB RESTORE PREVIOUS VALUE
- STM VEMZ
- LDD AB+1
- STM VEMZ+1
- JMP ERR DISPLAY ERROR
- VEE2 LDC 4000 SET *VE* ENTRY PRESENT FLAG
- STM VEFL
- JMP KBR RETURN
- VERSION SPACE 4,10
- *** VERSION=CCC-CCC.
- * SET VERSION NAME = CCC-CCC.
- * (MAXIMUM OF 18 CHARACTERS ALLOWED.)
- VERSION DATA C*VERSION=*
- LDC 2*9DS12+.VER
- LJM NME1 PROCESS VERSION NAME
- ERRNG 7777-*-4 IF OVERFLOW
- QUAL *
- TTL SET/EQP - PROCESS EQUIPMENT PARAMETERS.
- TITLE
- IDENT EQP,EQPL
- QUAL EQP
- ORG EQPL
- *COMMENT SET - PROCESS EQUIPMENT PARAMETERS.
- COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
- SPACE 4,10
- ** MACRO DEFINITIONS.
- KWDF SPACE 4,15
- ** KWDF - KEYWORD DEFINITIONS.
- *
- * THIS MACRO GENERATES A TABLE WHICH HAS A BIT SET FOR EACH
- * KEYWORD SPECIFIED. *KWOF* IS DEFINED AS THE WORD OFFSET
- * AND *KWBT* IS DEFINED AS THE BIT NUMBER TO BE SET FOR THE
- * KEYWORD *KW*. IF *EM* IS SPECIFIED, A WORD CONTAINING THE
- * 2 CHARACTER EQUIPMENT MNEMONIC IS DEFINED.
- *
- * KWDF EM,(KW)
- *
- * ENTRY (EM) = EQUIPMENT MNEMONIC.
- * (KW) = KEYWORD LIST.
- PURGMAC KWDF
- KWDF MACRO EM,KW
- IFC NE,+EM++,1
- VFD 12/2R_EM
- .A SET 0
- DUP KTWC
- .B DECMIC .A
- .".B" SET 0
- .A SET .A+1
- ENDD
- IRP KW
- .D SET 1
- .B SET -1
- .C ECHO ,P=("KWM")
- IFC EQ,*P*KW*,2
- .D SET 0
- STOPDUP
- .B SET .B+1
- .C ENDD
- IFNE .D,0,1
- ERR INCORRECT KEYWORD - KW
- .A SET .B/12D
- .B SET .B-.A*12D
- KW_BT EQU 11D-.B
- KW_OF EQU .A
- .C DECMIC .A
- .B DECMIC KW_BT
- .".C" SET .".C"+1S".B"
- IRP
- DUP KTWC
- .A DECMIC .D
- VFD 12/.".A"
- .D SET .D+1
- NOREF .".A"
- ENDD
- NOREF .A,.B,.D
- KWDF ENDM
- TBKP SPACE 4,10
- ** TBKP - GENERATE TABLE OF KEYWORD PARAMETERS.
- *
- * TBKP KW,V,W,SC,M
- *
- * ENTRY (KW) = KEYWORD.
- * (V) = 1 IF NULL KEYWORD VALUE ALLOWED.
- * = 0 IF NULL KEYWORD VALUE INCORRECT.
- * (W) = PP WORD OFFSET INTO EST TO STORE VALUE.
- * (SC) = SHIFT COUNT TO POSITION VALUE.
- * (M) = MASK.
- PURGMAC TBKP
- TBKP MACRO KW,V,W,SC,M
- PL_KW CON P_KW
- VFD 6/KW_BT,6/KW_OF+1
- VFD 6/SC,1/V,5/W
- VFD 12/M
- TBKP ENDM
- TBKW SPACE 4,10
- ** TBKW - GENERATE TABLE OF VALID AND REQUIRED KEYWORDS.
- *
- * TBKW EQ,(V1,...,VN),(R1,...,RN)
- *
- * ENTRY (EQ) = EQUIPMENT MNEMONIC.
- * (VN) = KEYWORD WHICH IS VALID FOR THE EQUIPMENT.
- * (RN) = KEYWORD WHICH IS REQUIRED FOR THE EQUIPMENT.
- PURGMAC TBKW
- TBKW MACRO EQ,VK,RK
- KWDF EQ,(VK)
- KWDF ,(RK)
- TBKW ENDM
- TEQP SPACE 4,10
- ** TEQP - DEFINE EQUIPMENT PROCESSING.
- *
- * NAME TEQP PROC,MUN,MCH
- *
- * PROC = PROCESSOR.
- * MUN = MAXIMUM UNIT NUMBER.
- * MCH = MAXIMUM NUMBER OF CHANNELS.
- PURGMAC TEQP
- TEQP MACRO NAME,PROC,MUN,MCH
- VFD 12/2R_NAME,12/PROC,6/MUN,6/MCH
- ENDM
- SPACE 4,10
- ** ENTRY POINTS.
- CON /EQ3/TSYN-1 ADDRESS OF SYNTAX TABLE
- CON LOVB+1 INSTRUCTION TO CHANGE END OF SYNTAX TABLE
- EQP SPACE 4,10
- ** EQP - INITIALIZE CENTRAL MEMORY.
- EQP SUBR ENTRY/EXIT
- LDC EQ3L-77 READ *EQ3* FROM CM
- STD T7
- LDD EB
- SBN EQXL
- SHN 6
- CRM EQXO,T7
- RJM /EQ3/VCD VALIDATE *CM*/ISMD ENTRIES
- RJM /EQ3/SDF SET DEFAULT MASS STORAGE DEVICE
- RJM /EQ3/CME CHECK MMF ENVIRONMENT
- RJM /EQ3/SDS SEARCH FOR DEADSTART DEVICE
- LDC UJNI+2 DISABLE *EQP* OVERLAY LOADS
- STM AKLC
- LDD AB+4 SET DEADSTART EQUIPMENT
- STD DF
- MCMS RJM /EQ3/ACM ADJUST CENTRAL MEMORY
- *MCMS CON 0,0 (MINCM VALUE AFTER *ACM* CALL)
- RJM ROV READ NEXT OVERLAY
- RJM /ICM/ICM INITIALIZE CENTRAL MEMORY
- RJM ROV READ NEXT OVERLAY
- RJM /ICT/ICT INITIALIZE CENTRAL MEMORY TABLES
- RJM ROV READ NEXT OVERLAY
- RJM /APR/MSF PROCESS FLAW DECKS
- LJM EQPX RETURN
- TITLE RESIDENT SUBROUTINES.
- EEB SPACE 4,10
- ** EEB - ENTER EQUIPMENT BUFFER.
- *
- * ENTRY (EBUT) = EQUIPMENT EST ENTRY.
- * (TDDB) = MST ENTRY IF MASS STORAGE.
- * (EB) = EBUF ADDRESS.
- * (EQ) = DEVICE ENTRY TABLE NUMBER.
- * (ET) = TDDE ADDRESS.
- *
- * EXIT (EBUT) ENTRY IN EBUF.
- * (TDDB) ENTRY IN TDDE IF MASS STORAGE.
- EEB SUBR ENTRY/EXIT
- LDD EB (EBUF ADDRESS)
- SHN 5
- ADD EQ
- SHN 1
- CWM EBUT,ON
- CWM EBUT+5,ON
- LDI ES
- SHN -13
- ZJN EEBX IF NOT MASS STORAGE
- LDD ET
- SHN 4
- ADD EQ
- SHN 2
- ADD EQ
- ERRNZ TDDCL-5 CODE DEPENDS ON VALUE OF TAG
- CWM TDDB,DV
- UJN EEBX RETURN
- STA SPACE 4,10
- ** STA - SET DESCRIPTION TABLE ADDRESS.
- *
- * ENTRY (A) = EST ORDINAL.
- *
- * EXIT (A) = 0 IF NOT MASS STORAGE.
- * (EQ) = EST ORDINAL.
- * (EBUT) = EST ENTRY.
- * (TDDB) = DEVICE DESCRIPTION IF MASS STORAGE.
- STA1 LDD ET READ IN *TDDB* ENTRY
- SHN 4
- ADD EQ
- SHN 2
- ADD EQ
- ERRNZ TDDCL-5 CODE DEPENDS ON VALUE OF TAG
- CRM TDDB,DV
- STA SUBR ENTRY/EXIT
- STD EQ
- SHN 22-5
- ADD EB (EBUF ADDRESS)
- SHN 6
- CRM EBUT,ON READ EQUIPMENT ENTRY
- CRM EBUT+5,ON
- LDI ES
- SHN -13
- ZJN STAX IF NOT A MASS STORAGE DEVICE
- UJN STA1 READ IN *TDDB* ENTRY
- QUAL
- SPACE 4,10
- **** ASSEMBLED VALUES.
- * SYSTEM DEVICE VALUES.
- SYDC CON 0 SYSTEM DEVICE COUNT
- SYDT CON 0 SYSTEM DEVICE TYPE
- SYNU CON 0 NUMBER OF UNITS
- * CM BUFFER LENGTHS.
- .DFB CON 400+MCML+1 SYSTEM DAYFILE BUFFER
- .ACF CON 400+MCML+1 ACCOUNT FILE BUFFER
- .ERL CON 200+MCML+1 ERROR LOG BUFFER
- .BML CON 400+MBML+1 MAINTENANCE LOG BUFFER
- * DAYFILE RESIDENCE EST ORDINALS.
- DFBF BSS 0
- CON 4000+NEEQ SYSTEM DAYFILE
- CON 4000+NEEQ ACCOUNT DAYFILE
- CON 4000+NEEQ ERRLOG DAYFILE
- CON 4000+NEEQ MAINTENANCE LOG DAYFILE
- DFBFL EQU *-DFBF
- * MISCELLANEOUS.
- DFMS CON 0 DEFAULT MASS STORAGE DEVICE
- MDLL EQU *-DFMS
- MSLM CON MSMX MASS STORAGE LIMIT
- SPSA CON 0,0 *SCI* PP RESIDENT SAVE AREA FWA
- ****
- TCST SPACE 4,10
- ** TCST - CHANNEL STATUS TABLE.
- * ENTRY = 1 WORD.
- *
- *T, TCST 6/ 0, 1/ S, 5/ 0
- * S = UP/DOWN STATUS - 0 = UP, 1 = DOWN.
- TCSTL EQU CTALL*5
- TCST BSSZ TCSTL
- TCHS SPACE 4,10
- ** TCHS - TABLE OF CONTROLWARE TYPES TO LOAD.
- * ENTRY = 1 WORD.
- *
- *T, TCHS 12/ CT+100
- * CT = CONTROLWARE TYPE AS DEFINED IN *COMSDSL*
- TCHSL EQU CTALL*5
- TCHS BSSZ TCHSL
- QUAL *
- EBUF SPACE 4,40
- ** EBUF - EQUIPMENT STATUS TABLE BUFFER.
- * ENTRY = 2 CENTRAL MEMORY WORDS.
- *
- *T EBUF 60/EST WORD 0
- *T EBUF+1 60/EST WORD 1
- *
- * EBUF BIT 51 IS USED AS A PSEUDO EQUIPMENT INTERLOCK. WHEN
- * SET, THE ENTRY CANNOT BE CHANGED OR REDEFINED.
- *
- * FOR MASS STORAGE EQUIPMENT, EBUF BIT 50 AND BITS 11-0
- * ARE USED BY *SET* TO INDICATE THE FOLLOWING -
- *
- * BIT 50 = AUXILIARY DEVICE
- *
- * BITS 11-0
- *
- *T, 1/F,1/T,1/P,1/Q,1/D,1/A,1/E,1/M,1/L,3/NU
- *
- * F = FORMAT PACK (844 ONLY)
- * T = INITIALIZE ALL
- * P = INITIALIZE PERMANENT FILES
- * Q = INITIALIZE QUEUED FILES
- * D = INITIALIZE SYSTEM DAYFILE
- * A = INITIALIZE ACCOUNT DAYFILE
- * E = INITIALIZE ERRLOG DAYFILE
- * M = INITIALIZE MAINTENANCE LOG
- * L = ALTERNATE SYSTEM LIBRARY RESIDENCE
- * NU = NUMBER OF UNITS-1
- EBUT BSSZ ESTE*5 EBUF BUILD TABLE
- TDDE SPACE 4,15
- ** TDDE - TABLE OF DEVICE DESCRIPTIONS.
- *
- * ENTRY = TDDEL WORDS.
- * NO ENTRY IS PRESENT FOR EQUIPMENT ZERO.
- TDDB BSSZ TDDEL
- SPACE 4,10
- APRL BSS 0 LOAD ADDRESS FOR *ICM*, *ICT* AND *APR*
- RMD SPACE 4,10
- ** RMD - RESET MASS STORAGE DEVICE INFORMATION.
- *
- * ENTRY (EQ) = EST ORDINAL OF EQUIPMENT.
- * (EBUT) = EQUIPMENT EST ENTRY.
- * (CN - CN+4) = EST ENTRY IF (EBUT) = 0.
- * (TDDB) = DEVICE DESCRIPTION.
- *
- * USES T1.
- RMD6 LDD CN CHECK NEW DEFINITION
- SHN 0-13
- ZJN RMDX IF NOT MASS STORAGE
- * RESET DEFAULT ERROR THRESHOLD VALUES.
- RMD7 LDN MSCL FETCH DEFAULT VALUES
- CRM TDDB+DVTH,ON
- LDD CN+3
- LMK 2RDE
- ZJN RMDX IF EXTENDED MEMORY EQUIPMENT
- LMK 2RDP&2RDE
- ZJN RMDX IF EXTENDED MEMORY EQUIPMENT
- LDM TDDB+DVNT
- SHN 0-3 RESTRICTED = TRACK COUNT / 8
- STM TDDB+DVRA
- SHN 3-4 LOW SPACE = TRACK COUNT / 16
- STM TDDB+DVLS
- RMD SUBR ENTRY/EXIT
- LDI ES
- ZJN RMD6 IF EQUIPMENT NOT PREVIOUSLY DEFINED
- SHN 21-13
- PJN RMDX IF NOT MASS STORAGE
- SHN 21-11-21+13
- PJN RMD1 IF NOT SHARED DEVICE
- SHN 21-5-21+11
- PJN RMD0 IF NOT SHARED BUFFERED DEVICE
- SOM NSBD DECREMENT SHARED BUFFERED DEVICE COUNT
- RMD0 SOD NS DECREMENT SHARED DEVICE COUNT
- NJN RMD1 IF MORE SHARED DEVICES
- STD LD CLEAR ISD FLAG/LINK DEVICE NUMBER
- RMD1 LDI ES
- SHN 21-12
- PJN RMD2 IF NOT SYSTEM DEVICE
- SOM SYDC DECREMENT SYSTEM DEVICE COUNT
- NJN RMD2 IF MORE SYSTEM DEVICES
- STM SYDT CLEAR SYSTEM DEVICE TYPE
- STM SYNU CLEAR NUMBER OF UNITS
- RMD2 LDM .PFNL+3
- SBD EQ
- NJN RMD3 IF NOT DEFAULT FAMILY EQUIPMENT
- STM .PFNL+3 CLEAR DEFAULT FAMILY EST ORDINAL
- RMD3 LDN 4 SET DAYFILE INDEX
- STD T1
- RMD4 LDM DFBF-1,T1
- LPC 3777
- SBD EQ
- NJN RMD5 IF NOT A MATCH
- LDC 4000+NEEQ
- STM DFBF-1,T1 RESET DEFAULT RESIDENCE
- RMD5 SOD T1
- NJN RMD4 IF MORE DAYFILES
- LDD ET
- SHN 6
- ADN NEEQ*TDDCL
- CWM DFBF,ON
- LJM RMD7 SET DEFAULT ERROR THRESHOLDS
- SCC SPACE 4,10
- ** SCC - SET CONTROLWARE TABLE IN CM.
- *
- * EXIT CONTROLWARE TYPES SET IN CM.
- *
- * USES T1.
- SCC SUBR ENTRY/EXIT
- LDN CTALL
- STD T1
- LDD ET SET TABLE IN CM
- ADN TDDBL CM BUFFER SIZE/100
- SHN 6
- CWM TCHS,T1
- UJN SCCX RETURN
- SFE SPACE 4,10
- ** SFE - SEARCH FOR SPECIFIED EQUIPMENT TYPE.
- *
- * ENTRY (A) = 1/1,17/MNEMONIC, IF INITIAL CALL.
- * (LE) = LAST EST ORDINAL.
- *
- * EXIT (A) .LT. 0, IF SPECIFIED EQUIPMENT NOT FOUND.
- * = BYTE 4 OF EST ENTRY, IF EQUIPMENT FOUND.
- * (EQ) = EST ORDINAL.
- *
- * CALLS STA.
- SFE SUBR ENTRY/EXIT
- PJN SFE1 IF NOT INITIAL CALL
- STM SFEA
- LDD LE INITIALIZE EST INDEX
- ADN 1
- STD EQ
- SFE1 SOD EQ DECREMENT EST INDEX
- MJN SFEX IF END OF EST
- RJM STA
- LDM EBUT+3
- LMC 0
- SFEA EQU *-1
- NJN SFE1 IF NO MATCH
- LDM EBUT+4
- UJN SFEX RETURN
- SID SPACE 4,10
- ** SID - SEARCH FOR *ISMD* DEVICE.
- *
- * ENTRY (A) .LT. 0 IF INITIAL CALL.
- * (T4) = *TFSD* INDEX IF NOT INITIAL CALL.
- *
- * EXIT SEE *SFE*.
- * (T4) = *TFSD* INDEX.
- *
- * CALLS SFE.
- SID1 LMC 1S17 SET INITIAL CALL
- SID2 RJM SFE
- PJN SIDX IF DEVICE FOUND
- AOD T4
- SID3 LDM TFSD,T4
- NJN SID1 IF NOT END OF TABLE
- LCN 0
- SID SUBR ENTRY/EXIT
- PJN SID2 IF NOT INITIAL CALL
- LDN 0
- STD T4
- UJN SID3 ENTER SEARCH LOOP
- TFSD SPACE 4,10
- ** TFSD - TABLE OF *ISMD* DEVICE TYPES.
- *
- *T 12/ DEVICE MNEMONIC
- TFSD CON 2RDD
- CON 2RDG
- CON 0
- TENB SPACE 4,10
- ** TENB - TABLE OF *CM* EST ORDINALS.
- *
- *T 12/ EST ORDINAL
- TENB BSSZ 8D
- SPE SPACE 4,20
- ** SPE - SYNCHRONIZE PARTITIONS AND ENTER EQUIPMENT.
- *
- * ENTRY (EBUT) = EQUIPMENT EST ENTRY.
- * (TDDB) = MST ENTRY IF MASS STORAGE.
- * (EB) = EBUF ADDRESS.
- * (EQ) = DEVICE ENTRY TABLE NUMBER.
- * (ET) = TDDE ADDRESS.
- *
- * EXIT (EBUT) ENTRY IN EBUF.
- * (TDDB) ENTRY IN TDDE IF MASS STORAGE.
- * TO *ILL* IF CHANNEL MISMATCH.
- *
- * USES CM, T1.
- *
- * CALLS EEB.
- SPE11 RJM EEB ENTER EQUIPMENT INTO BUFFER
- SPE SUBR ENTRY/EXIT
- LDI ES
- SHN 21-13
- PJN SPE11 IF NOT MASS STORAGE
- SHN 21-5-21+13
- PJN SPE11 IF NOT A BUFFERED DEVICE
- LDM EBUT+10
- SHN 21-13
- PJN SPE11 IF NOT A PARTITIONED DEVICE
- LDD LE
- STD T1
- * CHECK NEXT EST ENTRY.
- SPE1 SOD T1
- ZJN SPE11 IF SEARCH COMPLETED
- SHN -5+22
- ADD EB (EBUF ADDRESS)
- SHN 6
- CRM SPEA,ON READ EQUIPMENT ENTRY
- LDM EBUT+3
- LMM SPEA+3
- NJN SPE1 IF NOT THE SAME DEVICE TYPE
- * CHECK IF TWO PARTITIONS ARE PART OF THE SAME DEVICE.
- LDM SPEA+1 COMPARE CHANNELS
- LMM EBUT+1
- ZJN SPE2 IF FIRST CHANNEL MATCHES
- LDM SPEA+1
- LMM EBUT+2
- ZJN SPE2 IF FIRST CHANNEL MATCHES SECOND CHANNEL
- LDM SPEA+2
- LMM EBUT+2
- NJN SPE1 IF SECOND CHANNEL DOES NOT MATCH
- SPE2 LDD ET READ *TDDB* ENTRY
- SHN 4
- ADD T1
- SHN 2
- ADD T1
- CRM SPEB,DV
- LDM TDDB+DVPR COMPARE EQUIPMENT NUMBER
- LMM SPEB+DVPR
- SHN -11
- NJN SPE3 IF EQUIPMENT NUMBER DOES NOT MATCH
- LDM TDDB+DVUN+3 COMPARE UNIT NUMBER
- LMM SPEB+DVUN+3
- ZJN SPE4 IF UNIT NUMBER MATCHES
- SPE3 LJM SPE1 CHECK NEXT EST ENTRY
- * VERIFY THAT SAME CHANNEL PAIR DEFINED FOR BOTH PARTITIONS.
- SPE4 LDM SPEA+1 COMPARE CHANNELS
- LMM EBUT+1
- NJN SPE6 IF FIRST CHANNEL DOES NOT MATCH
- LDM SPEA+2
- LMM EBUT+2
- ZJN SPE7 IF SECOND CHANNEL MATCHES
- SPE5 JMP ILL PROCESS INCORRECT ENTRY
- SPE6 LDM SPEA+1
- LMM EBUT+2
- NJN SPE5 IF FIRST CHANNEL DOES NOT MATCH SECOND
- LDM SPEA+2
- LMM EBUT+1
- NJN SPE5 IF SECOND CHANNEL DOES NOT MATCH FIRST
- * SYNCHRONIZE *INITIALIZE,FP* FOR BOTH PARTITIONS.
- SPE7 LDM EBUT+4
- LMM SPEA+4
- LPC MLFPR
- ZJN SPE8 IF *INITIALIZE,FP* FLAGS ARE THE SAME
- AOM SPEC FORCE *EBUF* UPDATE
- LDM EBUT+4 SET *INITIALIZE,FP* FOR BOTH PARTITIONS
- LPN 17
- LMC MLFPR+MLIAL
- STM EBUT+4
- LDM SPEA+4
- LPN 17
- LMC MLFPR+MLIAL
- STM SPEA+4
- * SYNCHRONIZE *SHARE* FOR BOTH PARTITIONS.
- SPE8 LDI ES
- LMM SPEA
- LPC 1000
- ZJN SPE9 IF *SHARE* FLAGS ARE THE SAME
- AOM SPEC FORCE *EBUF* UPDATE
- AOD NS INCREMENT SHARED DEVICE COUNT
- AOM NSBD INCREMENT SHARED BUFFERED DEVICE COUNT
- LDI ES SET *SHARE* FLAG FOR BOTH PARTITIONS
- LPC 6777
- LMD TH
- STI ES
- LDM SPEA
- LPC 6777
- LMD TH
- STM SPEA
- LDM TDDB+DVFA CLEAR TEMP, NONSHARED FOR BOTH PARTITIONS
- LPC -4000
- STM TDDB+DVFA
- LDM SPEB+DVFA
- LPC -4000
- STM SPEB+DVFA
- * UPDATE *EBUF*, IF REQUIRED.
- SPE9 LDC ** (NONZERO IF *EBUF* UPDATE REQUIRED)
- SPEC EQU *-1
- ZJN SPE10 IF *EBUF* UPDATE NOT REQUIRED
- LDN 0 CLEAR FLAG FOR NEXT EST ENTRY
- STM SPEC
- LDD T1
- SHN 22-5
- ADD EB (EBUF ADDRESS)
- SHN 6
- CWM SPEA,ON
- SPE10 LJM SPE1 CHECK NEXT EST ENTRY
- SPEA BSS 5 TEMPORARY EBUF ENTRY
- SPEB BSS TDDCL*5 TEMPORARY TDDE ENTRY
- LOV SPACE 4,10
- ** LOV - LOAD *EQP* OVERLAYS.
- *
- * ENTRY AT *LOV1* WITH (A) = -EQXL TO LOAD *EQ2*.
- LOV SUBR ENTRY/EXIT
- LDC EQML
- STD T7
- LDM KBUF CHECK INITIAL KEYWORD
- SHN 6
- LMM KBUF+1
- LMC 2REQ
- STM LOVA+1
- ZJN LOV1 IF *EQXXX=* ENTRY, LOAD *EQ1*
- LCN 2*EQXL LOAD *EQ3*
- LOV1 ADN 3*EQXL (ENTRY FROM */EQ1/EQM* TO LOAD *EQ2*)
- STD T6
- LDD EB
- SBD T6
- SHN 6
- CRM EQXO,T7
- LOVA LDC *
- ZJN LOV2 IF *EQXXX=* ENTRY
- LOVB LDC 0 SET *TSYNA* VALUE
- * LDC GGO (IF PROCESSING KEYBOARD ENTRY)
- STM /EQ3/TSYNA
- LOV2 BSS 0
- EQXO BSS 0 ORIGIN FOR *EQ1*/*EQ2*/*EQ3*
- SPACE 4,10
- * DEFINE UNQUALIFIED (RESIDENT) TAGS FOR *EQP*.
- QUAL *
- EEB EQU /EQP/EEB
- RMD EQU /EQP/RMD
- SCC EQU /EQP/SCC
- SFE EQU /EQP/SFE
- SID EQU /EQP/SID
- SPE EQU /EQP/SPE
- STA EQU /EQP/STA
- APRL EQU /EQP/APRL
- EBUT EQU /EQP/EBUT
- EQXO EQU /EQP/EQXO
- MCMS EQU /EQP/MCMS
- TDDB EQU /EQP/TDDB
- TENB EQU /EQP/TENB
- TFSD EQU /EQP/TFSD
- TTL SET/EQ1 - PROCESS MASS STORAGE *EQXXX=* ENTRY.
- TITLE
- IDENT EQ1,/EQ1/EQM
- QUAL EQ1
- ORG EQXO
- *COMMENT SET - PROCESS MASS STORAGE *EQXXX=* ENTRY.
- COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
- SPACE 4,10
- ** MICRO DEFINITIONS.
- KWM MICRO 1,,*AP,CH,EQ,ET,IB,MA,MC,PN,ST,SZ,TS,UN*
- .A MICCNT KWM
- .A SET .A+1
- KWMC EQU .A/3 KEYWORD COUNT
- .A SET KWMC+11D
- KTWC EQU .A/12D KEYWORD TABLE WORD COUNT
- TITLE EQUIPMENT DEFINITIONS.
- EQM SPACE 4,10
- *** EQXXX=TY-N,P1=V1,...,PI=VN.
- *
- * SET MASS STORAGE EQUIPMENT XXX WITH:
- *
- * TY = TYPE (2 CHARACTERS)
- * N = NUMBER OF PARTITIONS (PARTITIONED DEVICES ONLY).
- * PARTITIONED DEVICES ARE NOTED IN THE LIST BELOW.
- *
- * DEVICE TYPES SUPPORTED -
- *
- * DA = FSC 33502 DISK SUBSYSTEM.
- * DB = 885-42 DEMA.
- * DC = 895 DISK SUBSYSTEM.
- * DD = 834 DISK SUBSYSTEM.
- * DE = EXTENDED MEMORY.
- * DF = 887 DISK SUBSYSTEM (4KB SECTORS).
- * DG = 836 DISK SUBSYSTEM.
- * DH = 887 DISK SUBSYSTEM (16KB SECTORS).
- * DI = 844-21 DISK SUBSYSTEM (HALF TRACK).
- * DJ = 844-4X DISK SUBSYSTEM (HALF TRACK).
- * DK = 844-21 DISK SUBSYSTEM (FULL TRACK).
- * DL = 844-4X DISK SUBSYSTEM (FULL TRACK).
- * DM = 885 DISK SUBSYSTEM (HALF TRACK).
- * DN = 9853 XMD DISK SUBSYSTEM.
- * DP = EXTENDED MEMORY WITH DDP/LSP.
- * DQ = 885 DISK SUBSYSTEM (FULL TRACK).
- * DR = CDSS II DISK SUBSYSTEM.
- * DV = 819 DISK SUBSYSTEM (SINGLE DENSITY).
- * DW = 819 DISK SUBSYSTEM (DOUBLE DENSITY).
- * DX = FSC 3330-01 DISK SUBSYSTEM.
- * DY = FSC 3330-11 DISK SUBSYSTEM.
- * DZ = FSC 3350 DISK SUBSYSTEM.
- * EA = 5830 DISK ARRAY SUBSYSTEM; 5832 (1X SSD) DISK.
- * EB = 5830 DISK ARRAY SUBSYSTEM; 5832 (2X SSD) DISK.
- * EC = 5830 DISK ARRAY SUBSYSTEM; 5833 (1X SABRE) DISK.
- * ED = 5830 DISK ARRAY SUBSYSTEM; 5833 (1P SABRE) DISK.
- * EE = 5830 DISK ARRAY SUBSYSTEM; 5833 (2X SABRE) DISK.
- * EF = 5830 DISK ARRAY SUBSYSTEM; 5833 (2P SABRE) DISK.
- * EM-2 = 5830 DISK ARRAY SUBSYSTEM; 5833 (3P SABRE) DISK.
- * EN-2 = 5830 DISK ARRAY SUBSYSTEM; 5833 (4X SABRE) DISK.
- * EG = 5830 DISK ARRAY SUBSYSTEM; 5838 (1X ELITE) DISK.
- * EH = 5830 DISK ARRAY SUBSYSTEM; 5838 (1P ELITE) DISK.
- * EI-2 = 5830 DISK ARRAY SUBSYSTEM; 5838 (2X ELITE) DISK.
- * EJ-2 = 5830 DISK ARRAY SUBSYSTEM; 5838 (2P ELITE) DISK.
- * EK-3 = 5830 DISK ARRAY SUBSYSTEM; 5838 (3P ELITE) DISK.
- * EL-4 = 5830 DISK ARRAY SUBSYSTEM; 5838 (4X ELITE) DISK.
- * EO = 5830 DISK ARRAY SUBSYSTEM; 47444 (1X 3.5IN) DISK.
- * EP = 5830 DISK ARRAY SUBSYSTEM; 47444 (1P 3.5IN) DISK.
- * ES-2 = 5830 DISK ARRAY SUBSYSTEM; 47444 (2X 3.5IN) DISK.
- * EU-2 = 5830 DISK ARRAY SUBSYSTEM; 47444 (2P 3.5IN) DISK.
- * EV-3 = 5830 DISK ARRAY SUBSYSTEM; 47444 (3P 3.5IN) DISK.
- * EW-4 = 5830 DISK ARRAY SUBSYSTEM; 47444 (4X 3.5IN) DISK.
- *
- *
- * AND PARAMETERS WHERE P1,...,PI ARE THE FOLLOWING KEYWORDS
- *
- * AP = APRDECK (FLAW DECK) NUMBER.
- * CH = CHANNEL NUMBER(S).
- * EQ = EQUIPMENT (CONTROLLER) NUMBER.
- * ET = MT/PT/CT.
- * MT = EXTENDED MEMORY TYPE.
- * PT = PATH TYPE.
- * CT = CPU TYPE.
- * IB = INSTALLATION BYTE.
- * MA = MAINTENANCE MODE (EM HALF SIZE).
- * MC = ESM SIDE DOOR MAINTENANCE PORT CHANNEL NUMBER.
- * PN = PARTITION NUMBER.
- * ST = STATUS.
- * SZ = EXTENDED MEMORY SIZE.
- * TS = EXTENDED MEMORY TRACK SIZE.
- * UN = UNIT NUMBER(S).
- EQM BSS 0
- LDN 2 ADVANCE CHARACTER ADDRESS
- RAD KA
- RJM CDR ASSEMBLE DIGITS
- LMN 1R=
- ZJN EQM2 IF *=*
- EQM1 JMP ILL PROCESS INCORRECT ENTRY
- EQM2 AOD KA SKIP CHARACTER
- LDD AB+4 CHECK EST ORDINAL
- SBN NOPE
- MJN EQM1 IF PSEUDO EQUIPMENT
- SBK ESMX-NOPE
- PJN EQM1 IF EST ORDINAL EXCEEDS MAXIMUM
- LDD AB+4 SET EST ORDINAL
- RJM STA READ EBUF ENTRY
- RJM CDR
- LMN 1R.
- NJP EQM5 IF NOT *EQXXX=.*
- LDD AB+4
- NJN EQM1 IF *EQXXX = N.*
- RJM CDC CLEAR ISMD CHANNELS
- LDN 0
- CRD CN CLEAR DEVICE DESCRIPTION
- CRM EBUT+5,ON
- ERRNG 5-TDDCL CODE DEPENDS ON VALUE
- CRM TDDB,DV
- LDD EQ
- LMD EN
- NJN EQM4 IF NOT EXTENDED MEMORY EQUIPMENT
- STD EN CLEAR EST ORDINAL
- STM EMSC DE/DP SHIFT COUNT
- LDN TAXXL CLEAR EXTENDED MEMORY ALLOCATION TABLES
- STD T1
- LDD EQ
- LMN LDEQ
- NJN EQM3 IF NOT LINK DEVICE
- STD PD
- EQM3 LDN 0
- STM TAXM-1,T1
- SOD T1
- NJN EQM3 IF MORE TO CLEAR
- CRM EMTY,ON
- EQM4 LJM EQM19 CLEAR EST
- * PROCESS TYPE.
- EQM5 LDI KA ASSEMBLE TYPE
- SHN 6
- LMM 1,KA
- STD AB+4
- LDM EBUT+3
- ZJN EQM7 IF EMPTY ENTRY
- LMD AB+4
- ZJN EQM8 IF NO CHANGE IN DEVICE TYPE
- LDD AB+4
- LMC 2R**
- ZJN EQM8 IF NONSTANDARD EQUIPMENT ENTRY
- RJM CDC CLEAR ISMD CHANNELS
- EQM7 LDN 0 CLEAR DEVICE DESCRIPTION
- CRD CN
- CRM EBUT+5,ON
- ERRNG 5-TDDCL CODE DEPENDS ON VALUE
- CRM TDDB,DV
- LDD AB+4
- STD CN+3
- AOM TRQP SET INITIAL ENTRY FLAG
- UJN EQM9 SEARCH FOR DEVICE
- EQM8 LDN JSNL MOVE EST ENTRY TO DIRECT CELLS
- CWM EBUT,ON
- SBN 1
- CRD CN
- * SEARCH FOR DEVICE IN MASS STORAGE TABLE.
- EQM9 LDD AB+4
- RJM SMD SEARCH MASS STORAGE DEVICE TABLE
- NJN EQM10 IF MASS STORAGE DEVICE
- * EQUIPMENT IS NOT MASS STORAGE - LOAD *EQ2* TO PROCESS ENTRY.
- LDD KB RESET CHARACTER ADDRESS
- STD KA
- LCN EQXL
- LJM /EQP/LOV1 FORCE LOAD OF *EQ2*
- EQM10 LDM TRQP
- ZJP EQM14 IF NOT INITIAL ENTRY
- LDC 4100 SET MASS STORAGE AND UNAVAILABLE
- STD CN
- LDI MS SET SHARED DEVICE, DEFAULT CATALOG TRACKS
- LPC 4000
- LMM MSCT,MS
- STM TDDB+DVCT
- LDM MSNT,MS SET NUMBER OF TRACKS
- LPC 3777
- STM TDDB+DVNT
- LDM MSAI,MS SET CONTROLWARE LOAD, ALGORITHM INDEX
- STM TDDB+DVAI
- LDM MSDI,MS SET DRIVER INDEX
- STM TDDB+DVDI
- LDM MSSL,MS SET MAXIMUM PARTITION NUMBER
- STM TDDB+DVSL
- LDM MSUL,MS SET BUFFERED DEVICE FLAGS IN MST
- LPC 6000
- STM TDDB+DVED
- SHN 5-12 SET BUFFERED DEVICE FLAG IN EST
- LPN 40
- RAD CN
- EQM14 LDN 2 SKIP EQUIPMENT MNEMONIC
- RAD KA
- LDM MSPR,MS
- STD T1
- LDC TVRK-TVRKL SET TABLE OF VALID KEYWORDS
- STD TA
- EQM16 LDN TVRKL ADVANCE TABLE ADDRESS
- RAD TA
- LDI TA
- ZJN EQM21 IF END OF TABLE
- LMD AB+4
- NJN EQM16 IF NO MATCH
- LDM TRQP
- ** EXIT TO PROCESSOR WITH -
- *
- * (A) = (TRQP) = PREVIOUS DEFINITION STATUS.
- * (CN - CN+4) = WORD TO BUILD EST ENTRY.
- * (TDDB) = BUFFER TO BUILD *TDDE* ENTRY.
- * (MS) = *TMSD* ADDRESS IF MASS STORAGE.
- * (TA) = *TVRK* ENTRY ADDRESS.
- RJM 0,T1
- LDM EBUT+3
- LMD CN+3
- ZJN EQM20 IF NOT INITIAL ENTRY
- EQM19 RJM CML CHECK MASS STORAGE LIMIT
- RJM RMD RESET MASS STORAGE DEVICE
- EQM20 LDN JSNL
- CWD CN MOVE EST ENTRY TO BUFFER
- CRM EBUT,ON
- RJM EEB ENTER EQUIPMENT DEFINITION
- RJM EDC ENTER ISMD CHANNELS
- RJM CLE CHECK LAST EQUIPMENT
- JMP KBR RETURN
- EQM21 JMP ILL PROCESS INCORRECT ENTRY
- TITLE EQUIPMENT DEFINITION PROCESSORS.
- ECS SPACE 4,10
- *** EQXXX=DE.
- * EQXXX=DP.
- ECS SUBR ENTRY/EXIT
- ZJN ECS1 IF NOT INITIAL ENTRY
- LDC 4112
- STM TDDB+DVED
- ECS1 LDN BMLL SAVE CURRENT PARAMETERS
- CWM EMTY,ON
- RJM KWP PROCESS KEYWORDS
- LDD CN+3
- LMC 2RDP
- ZJN ECS2 IF TYPE *DP*
- LDM TDDB+DVED
- SCN 7 SET NO DDP PATH FOR *DE*
- STM TDDB+DVED
- * PROCESS EXTENDED MEMORY SIZE.
- ECS2 LDM EBUT+7 PRESET SHIFT TO *EMBS* BLOCKS
- SHN -6
- LPN 3
- STD T5
- LMC SHNI+77
- STM ECSA
- LDN 0
- STD T1
- LDM TDDB+DVED CHECK DEVICE TYPE
- SHN -6
- LPN 7
- LMN 1
- NJN ECS4 IF NOT ECS 1
- LDM TDDB+DVES
- ZJN ECS3 IF NOT 2 MILLION WORDS
- LMN 1
- ADM TDDB+DVES+1
- NJP ILL IF .GT. 2M WORDS
- LDC 2015232D/1000
- UJN ECS5 SET DEVICE SIZE
- ECS3 LDM TDDB+DVES+1 ADJUST ECS 1 SIZE FOR FLAWED AREA
- SHN 2
- ADM TDDB+DVES+1
- SHN -7
- STD T1 SIZE*5/200B
- ECS4 LDM TDDB+DVES
- SHN 14
- LMM TDDB+DVES+1
- ECS5 SBD T1
- ECSA SHN 0
- * SHN -EMSC (CONVERT TO *EMBS*-WORD BLOCKS)
- RJM CFT
- STM TDDB+DVNT
- LDM TDDB+DVED
- SHN 21-11
- PJN ECS6 IF NOT IN MAINTENANCE MODE
- SHN 12-6
- LPN 7
- SBN 5
- MJP ILL IF NOT ESM/STORNET EQUIPMENT TYPE
- LDM TDDB+DVNT
- SHN -1 REDUCE PHYSICAL EM SIZE BY ONE HALF
- STM TDDB+DVNT
- ECS6 LDD EQ RESET EXTENDED MEMORY PARAMETERS
- LMD EN
- NJN ECS7 IF REDEFINING EXTENDED MEMORY
- STD EN
- CRM EMTY,ON
- * MEMORY TYPE DEPENDENT PROCESSING.
- ECS7 LDM TDDB+DVED
- LPN 70
- ZJP ECS10 IF NO CPU PATH
- LMN 40
- NJN ECS8 IF NOT UEM
- LDM TDDB+DVES SET UEM SIZE/100B
- SHN 14
- LMM TDDB+DVES+1
- SHN 3
- STM UEMZ+1
- SHN -14
- STM UEMZ
- LDN 1
- RJM CMS CHECK MEMORY SIZE
- ZJN ECS8 IF NO MEMORY SIZE CONFLICTS
- LDN BMLL RESTORE PREVIOUS PARAMETERS
- CRM EMTY,ON
- JMP ERR DISPLAY ERROR
- ECS8 LDD EN
- NJN ECS9 IF CPU PATH EQUIPMENT PREVIOUSLY SET
- LDD EQ
- STD EN
- ECS9 LDM TDDB+DVED
- SHN -6
- LPN 7
- STM EMTY
- LDD T5 SET XM SHIFT COUNT
- STM EMSC
- LDM TDDB+DVNT COMPUTE FIELD LENGTH
- SHN 6
- ADM TDDB+DVNT
- ADN 37 ROUND UP
- SHN -5
- STM EMFL XM FL / *EMBS*
- ECS10 LDD EQ
- LMN LDEQ
- NJN ECS11 IF NOT POSSIBLE LINK DEVICE
- LDD T5
- STM LDSH
- LDM TDDB+DVED
- LPN 70
- LMN 40
- ZJN ECS11 IF UEM
- LDN LDEQ SET POSSIBLE LINK DEVICE
- STD PD
- ECS11 LJM ECSX RETURN
- PDE EQU ECS *DE* PROCESSOR
- PDP EQU ECS *DP* PROCESSOR
- PDC SPACE 4,10
- *** EQXXX=DC.
- PDC1 RJM KWP PROCESS KEYWORDS
- PDC SUBR ENTRY/EXIT
- LDC MABL CHECK PP SPEED
- CRD CM
- LDD CM+4
- SBN 2
- PJN PDC1 IF 4X PP SPEED
- JMP ILL PROCESS KEYWORDS
- PDD SPACE 4,10
- *** EQXXX=DD.
- * EQXXX=DG.
- PDD1 LDN 37 PRESET NO CHANNELS SPECIFIED
- STD CN+1
- LDN 4 SET LIMIT TEST FOR DRIVE NUMBER
- RAM SUNB
- RJM KWP PROCESS KEYWORDS
- PDD SUBR ENTRY/EXIT
- LDM ISPF
- SHN 21-13
- PJN PDD1 IF CYBER 810/815/825/830
- JMP ILL PROCESS INCORRECT ENTRY
- PDG EQU PDD *DG* PROCESSOR
- PDF SPACE 4,10
- *** EQXXX=DF.
- * EQXXX=DH.
- * EQXXX=DN.
- * EQXXX=EA.
- * EQXXX=EB.
- * EQXXX=EC.
- * EQXXX=ED.
- * EQXXX=EE.
- * EQXXX=EF.
- * EQXXX=EG.
- * EQXXX=EH.
- * EQXXX=EO.
- * EQXXX=EP.
- PDF1 LDC PCC SET CHANNEL PROCESSOR
- STM TKWPA
- LDM TKWPB+2 *EQ* DEFINITION PARAMETERS
- SCN 37
- LMN TDDB-EBUT+DVPR SET LOCATION FOR CONTROLLER NUMBER
- STM TKWPB+2
- RJM KWP PROCESS KEYWORDS
- PDF SUBR ENTRY/EXIT
- LDM .CCHN
- NJN PDF1 IF *I4* IOU
- JMP ILL PROCESS INCORRECT ENTRY
- PDH EQU PDF *DH* PROCESSOR
- PDN EQU PDF *DN* PROCESSOR
- PEA EQU PDF *EA* PROCESSOR
- PEB EQU PDF *EB* PROCESSOR
- PEC EQU PDF *EC* PROCESSOR
- PED EQU PDF *ED* PROCESSOR
- PEE EQU PDF *EE* PROCESSOR
- PEF EQU PDF *EF* PROCESSOR
- PEG EQU PDF *EG* PROCESSOR
- PEH EQU PDF *EH* PROCESSOR
- PEO EQU PDF *EO* PROCESSOR
- PEP EQU PDF *EP* PROCESSOR
- PEI SPACE 4,10
- *** EQXXX=EI-2. (MULTIPLE PARTITION DEVICES)
- * EQXXX=EJ-2.
- * EQXXX=EK-3.
- * EQXXX=EL-4.
- * EQXXX=EM-2.
- * EQXXX=EN-2.
- * EQXXX=ES-2.
- * EQXXX=EU-2.
- * EQXXX=EV-3.
- * EQXXX=EW-4.
- PEI SUBR ENTRY/EXIT
- LDI KA CHECK SEPARATOR
- LMN 1R,
- ZJN PEI2 IF *,*
- LMN 1R-&1R,
- NJN PEI1 IF NOT *-*
- AOD KA
- RJM CDR ASSEMBLE NUMBER OF PARTITIONS
- LMN 1R,
- NJN PEI1 IF INCORRECT SEPARATOR
- LDD AB+4
- ZJN PEI1 IF NULL PARTITION COUNT
- STM PEIB
- LDM MSSL,MS
- LPN 17
- ADN 1
- SBD AB+4
- PJN PEI3 IF PARTITION COUNT OK
- PEI1 JMP ILL PROCESS INCORRECT ENTRY
- PEI2 AOM PEIB INDICATE ONLY ONE PARTITION
- PEI3 NJN PEI4 IF NOT MAXIMUM PARTITONS
- AOM PEIA MAKE *PN=* NOT REQUIRED
- PEI4 RJM PDF PROCESS BASIC DAS SETUP
- PEIA LDN ** *PN=* PROCESSED INDICATOR
- ZJN PEI1 IF REQUIRED *PN=* NOT PROCESSED
- LDC 0 NUMBER OF PARTITIONS
- PEIB EQU *-1
- ADD EQ
- SBN 1
- STD T7
- LDC 0 FIRST PARTITION NUMBER
- PEIC EQU *-1
- STD T6
- PEI5 STD T0 PRESET CYLINDER CALCULATION
- LDM EBUT+10 SET EST PARTITION NUMBER
- SHN 14
- SCN 57
- LMD T6
- LMN 40 MARK AS A PARTITIONED DEVICE
- SHN 6
- STM EBUT+10
- LDN 0 CLEAR MST CYLINDER OFFSET
- STM TDDB+DVCO
- PEI6 SOD T0 CALCULATE CYLINDER OFFSET
- MJN PEI7 IF CALCULATION IS COMPLETE
- LDM MSCP,MS
- RAM TDDB+DVCO
- UJN PEI6 CHECK FOR COMPLETION
- PEI7 LDD EB READ ORIGINAL EQUIPMENT ENTRY
- SHN 5
- ADD EQ
- SHN 1
- CRM EBUT,ON
- LDD EQ
- LMD T7
- ZJP PEIX IF THIS IS THE LAST PARTITION
- LDM EBUT+3
- LMD CN+3
- ZJN PEI8 IF NOT INITIAL ENTRY
- RJM CML CHECK MASS STORAGE LIMIT
- RJM RMD RESET MASS STORAGE DEVICE
- PEI8 LDN JSNL
- CWD CN MOVE EST ENTRY TO BUFFER
- CRM EBUT,ON
- RJM SPE ENTER EQUIPMENT DEFINITION
- LDM EBUT+4 UPDATE INITIALIZATION FLAGS
- STM CN+4
- RJM CLE CHECK LAST EQUIPMENT
- AOD T6 INCREMENT PARTITION NUMBER
- UJP PEI5 PROCESS NEXT PARTITION
- PEJ EQU PEI *EJ* PROCESSOR
- PEK EQU PEI *EK* PROCESSOR
- PEL EQU PEI *EL* PROCESSOR
- PEM EQU PEI *EM* PROCESSOR
- PEN EQU PEI *EN* PROCESSOR
- PES EQU PEI *ES* PROCESSOR
- PEU EQU PEI *EU* PROCESSOR
- PEV EQU PEI *EV* PROCESSOR
- PEW EQU PEI *EW* PROCESSOR
- KWP SPACE 4,10
- ** KWP - KEYWORD MAIN PROCESSOR.
- *
- * ENTRY (KA) = ADDRESS OF SEPARATOR CHARACTER.
- * (TA) = *TVRK* ENTRY ADDRESS.
- KWP SUBR ENTRY/EXIT
- KWP1 AOD KA
- LDI KA ASSEMBLE KEYWORD
- SHN 6
- LMM 1,KA
- STD AB
- LDN 2 ADVANCE KEYBOARD BUFFER ADDRESS
- RAD KA
- LDI KA
- LMN 1R=
- NJN KWP3 IF INCORRECT SEPARATOR
- AOD KA
- LDC TKWP-TKWPL
- STD T3
- KWP2 LDN TKWPL
- RAD T3
- LDI T3
- NJN KWP4 IF NOT END OF TABLE
- KWP3 JMP ILL PROCESS INCORRECT ENTRY
- KWP4 STD T2
- LDD AB
- LMI T2
- NJN KWP2 IF NOT MATCH
- RJM VKW VALIDATE KEYWORD
- * EXIT TO KEYWORD PROCESSOR.
- * (T3) = ADDRESS OF *TKWP* ENTRY.
- * (KA) = ADDRESS OF KEYWORD VALUE FIRST CHARACTER.
- LJM 1,T2 EXIT TO PROCESSOR
- * RETURN FROM KEYWORD PROCESSOR.
- * (KA) = ADDRESS OF SEPARATOR CHARACTER.
- KWP5 LDI KA CHECK SEPARATOR
- LMN 1R,
- ZJN KWP1 IF NOT END OF ENTRY
- LMN 1R.&1R,
- NJN KWP3 IF INCORRECT SEPARATOR
- LDM TRQP
- ZJN KWP7 IF NOT INITIAL ENTRY
- LDN KTWC
- STD T2
- LDN TVRKL
- RAD TA
- KWP6 SOD TA
- LDI TA
- STM KWPA
- LDM TRQP,T2
- LPC **
- KWPA EQU *-1
- LMI TA
- NJN KWP3 IF REQUIRED KEYWORD NOT SPECIFIED
- SOD T2
- NJN KWP6 IF MORE KEYWORDS TO CHECK
- KWP7 LDD CN
- LPN 3
- LMN 3
- ZJN KWP9 IF DEVICE IS DOWN
- LDD CN+1 CHECK PRIMARY CHANNEL
- SHN 21-13
- PJN KWP9 IF NO PRIMARY CHANNEL
- SHN 21-12-21+13
- PJN KWP9 IF CHANNEL IS UP
- LDD CN+2 CHECK SECONDARY CHANNEL
- SHN 21-13
- PJN KWP8 IF NO SECONDARY CHANNEL
- SHN 21-12-21+13
- PJN KWP9 IF CHANNEL IS UP
- KWP8 JMP ILL PROCESS INCORRECT ENTRY
- KWP9 LJM KWPX RETURN
- PDI EQU KWP *DI* PROCESSOR
- PDJ EQU KWP *DJ* PROCESSOR
- PDM EQU KWP *DM* PROCESSOR
- PDK EQU KWP *DK* PROCESSOR
- PDL EQU KWP *DL* PROCESSOR
- PDQ EQU KWP *DQ* PROCESSOR
- PDR EQU KWP *DR* PROCESSOR
- PDB EQU KWP *DB* PROCESSOR
- PDX EQU KWP *DX* PROCESSOR
- PDY EQU KWP *DY* PROCESSOR
- PDZ EQU KWP *DZ* PROCESSOR
- PDA EQU KWP *DA* PROCESSOR
- PDV EQU KWP *DV* PROCESSOR
- PDW EQU KWP *DW* PROCESSOR
- TITLE MISCELLANEOUS EQUIPMENT DEFINITION SUBROUTINES.
- CDC SPACE 4,15
- ** CDC - CLEAR ISMD CHANNELS.
- *
- * ENTRY (EBUT) = PREVIOUS EBUT *CM* EQUIPMENT ENTRY.
- *
- * EXIT CHANNEL NUMBERS ARE CLEARED IN ALL ISMD DEVICE ENTRIES
- * WHICH HAVE THE FIRST UNIT ON THIS *CM* EQUIPMENT.
- *
- * USES T1, T2, T3.
- *
- * CALLS SDC.
- CDC SUBR ENTRY/EXIT
- LDM EBUT+4 SAVE EQUIPMENT NUMBER
- SHN -11
- STD T1
- LDM EBUT+3
- LMC 2RCM
- NJN CDCX IF NOT CONTROL MODULE
- STM TENB,T1 CLEAR EST ORDINAL
- STD T3
- LDN 37 SET NO CHANNEL SPECIFIED
- STD T2
- RJM SDC SET ISMD CHANNELS
- UJN CDCX RETURN
- CLE SPACE 4,15
- ** CLE - CHECK LAST EQUIPMENT.
- *
- * ENTRY (EQ) = CURRENT EST ORDINAL.
- * (LE) = LAST EQUIPMENT DEFINED.
- * (CN - CN+4) = CURRENT EQUIPMENT DEFINITION.
- *
- * EXIT (LE) = CURRENT LAST EQUIPMENT.
- * (EQ) = CURRENT EST ORDINAL + 1.
- *
- * USES T5, CN - CN+4.
- *
- * CALLS IBF.
- CLE3 AOD EQ CHECK NEW EQUIPMENT DEFINITION
- SBD LE
- PJN CLE2 IF ORDINAL .GE. PREVIOUS HIGH
- CLE SUBR ENTRY/EXIT
- LDD CN+3
- NJN CLE3 IF DEFINING EQUIPMENT
- AOD EQ
- LMD LE
- NJN CLEX IF NOT CLEARING LAST EQUIPMENT
- CLE1 SOD LE
- SHN 14+1
- ADD EB SEARCH FOR LAST EQUIPMENT
- SHN 6
- CRD CN
- LDD CN+3
- ZJN CLE1 IF EQUIPMENT UNDEFINED
- LDN 1
- CLE2 RAD LE UPDATE LAST EQUIPMENT
- STD T5
- LDN UECF SEND COUNT TO BUFFER PP
- RJM IBF
- UJN CLEX RETURN
- CML SPACE 4,10
- ** CML - CHECK MASS STORAGE LIMIT.
- *
- * ENTRY (CN - CN+4) = CURRENT EQUIPMENT DEFINITION.
- * (EBUT - EBUT+4) = PREVIOUS EQUIPMENT DEFINITION.
- CML2 SOM MSLM
- CML SUBR ENTRY/EXIT
- LDI ES
- LMD CN CHECK REDEFINITION
- SHN 0-13
- ZJN CMLX IF NO CHANGE IN STATUS
- LDD CN CHECK MASS STORAGE
- SHN 0-13
- ZJN CML1 IF NOT MASS STORAGE
- LDM MSLM
- NJN CML2 IF NOT MASS STORAGE LIMIT
- LDC CMLB SET ERROR MESSAGE
- JMP ILL1 DISPLAY ERROR
- CML1 AOM MSLM ADVANCE MASS STORAGE LIMIT
- UJN CMLX RETURN
- CMLB DATA C*MS LIMIT EXCEEDED.*
- EDC SPACE 4,20
- ** EDC - ENTER ISMD CHANNELS.
- *
- * ENTRY (CN - CN+4) = EQUIPMENT ENTRY.
- * (EQ) = CURRENT EST ORDINAL.
- *
- * EXIT (EQ) = CURRENT EST ORDINAL.
- * IF DEVICE IS AN ISMD, A SEARCH IS MADE FOR THE *CM*
- * EQUIPMENT WHICH CORRESPONDS TO THE FIRST UNIT - IF
- * FOUND, THE CHANNEL NUMBERS ARE SET IN THE ISMD
- * ENTRY.
- *
- * USES T1, T2, T3, CM - CM+4.
- *
- * CALLS EEB.
- EDC SUBR ENTRY/EXIT
- LCN 0
- STD T5
- EDC1 AOD T5 ADVANCE INDEX
- LDM TFSD,T5
- ZJN EDCX IF END OF TABLE
- LMD CN+3
- NJN EDC1 IF NOT MATCHING DEVICE TYPE
- LDM TDDB+DVUN+3 SAVE FIRST UNIT EQUIPMENT NUMBER
- LPN 70
- SHN -3
- STD T3
- LDM TENB,T3
- ZJN EDCX IF NO *CM* DEFINED
- SHN 22-5
- ADD EB
- SHN 6 READ CONTROL MODULE EST ENTRY
- CRD CM
- LDD CM+1 SET CHANNEL(S) INTO ISMD ENTRY
- STM EBUT+1
- LDD CM+2
- STM EBUT+2
- RJM EEB ENTER EQUIPMENT ENTRY
- LJM EDCX RETURN
- SDC SPACE 4,15
- ** SDC - SET ISMD CHANNELS.
- *
- * ENTRY (T1) = *CM* EQUIPMENT NUMBER.
- * (T2) = FIRST CHANNEL.
- * (T3) = SECOND CHANNEL.
- *
- * EXIT CHANNEL NUMBERS ARE SET IN ALL ISMD DEVICE ENTRIES
- * WHICH HAVE THE FIRST UNIT ON THIS *CM* EQUIPMENT.
- *
- * USES T5.
- *
- * CALLS EEB, SID, STA.
- SDC2 LDD T5 RESTORE *EQ* CONTENTS
- RJM STA
- SDC SUBR ENTRY/EXIT
- LDD EQ SAVE CONTENTS OF *EQ*
- STD T5
- RJM EEB SAVE *EBUT*
- LCN 0
- SDC1 RJM SID SEARCH FOR ISMD DEVICE
- MJN SDC2 IF NONE FOUND
- LDM TDDB+DVUN+3 GET FIRST UNIT EQUIPMENT NUMBER
- LPN 70
- SHN -3
- LMD T1
- NJN SDC1 IF NOT THIS *CM* EQUIPMENT NUMBER
- LDD T2 SET CHANNEL NUMBERS
- STM EBUT+1
- LDD T3
- STM EBUT+2
- RJM EEB ENTER EQUIPMENT ENTRY
- UJN SDC1 FIND NEXT ISMD ENTRY
- SMD SPACE 4,10
- ** SMD - SEARCH MASS STORAGE DEVICE TABLE *TMSD*.
- *
- * ENTRY (A) = EQUIPMENT TYPE (DEVICE MNEMONIC).
- *
- * EXIT (A) = (MS) = *TMSD* TABLE ADDRESS.
- * = 0 IF ENTRY NOT FOUND.
- *
- * USES MS.
- SMD1 LDN TMSDL ADVANCE TABLE ADDRESS
- RAD MS
- SMD2 LDI MS CHECK ENTRY
- ZJN SMDX IF END OF TABLE
- LMD T0 COMPARE DEVICE TYPE
- LPC 3777
- NJN SMD1 IF NO MATCH
- LDD MS
- SMD SUBR ENTRY/EXIT
- STD T0
- LDC TMSD SET TABLE ADDRESS
- STD MS
- UJN SMD2 ENTER LOOP
- VKW SPACE 4,10
- ** VKW - VALIDATE KEYWORD.
- *
- * ENTRY (TA) = *TVRK* ENTRY ADDRESS.
- * (T3) = *TKWP* ENTRY ADDRESS.
- * (KA) = CHARACTER ADDRESS OF KEYWORD VALUE.
- *
- * EXIT (A) = (AB+4) = 0, IF NULL VALUE SPECIFIED.
- * TO *ILL* IF INCORRECT KEYWORD OR NULL VALUE SPECIFIED
- * AND NULL VALUE NOT ALLOWED.
- *
- * USES T5, T6, T7, AB+4.
- *
- * CALLS CSC.
- VKW SUBR ENTRY/EXIT
- LDM 1,T3 GET KEYWORD BIT POSITION
- SHN 14
- LMD TH
- ERRNZ 1000-SHNI ADJUST IF VALUE CHANGES
- STM VKWA
- SHN -14 GET KEYWORD WORD OFFSET
- STD T6
- ADD TA ADDRESS OF *TVRK* WORD
- STD T5
- LDN 1 GENERATE KEYWORD BIT MASK
- VKWA SHN **
- STD T7
- STM VKWB
- STM VKWC
- LDI T5 CHECK IF KEYWORD ALLOWED
- LPC 0
- VKWB EQU *-1
- NJN VKW2 IF KEYWORD IS ALLOWED
- VKW1 JMP ILL PROCESS INCORRECT ENTRY
- VKW2 LDC TRQP SET KEYWORD SPECIFIED BIT
- RAD T6
- LDI T6
- LPC 0
- VKWC EQU *-1
- NJN VKW1 IF KEYWORD ALREADY PROCESSED
- LDD T7
- RAI T6
- RJM CSC CHECK FOR NULL VALUE
- NJN VKW3 IF NOT NULL VALUE
- LDM 2,T3 CHECK *TKWP*
- SHN 21-5
- PJN VKW1 IF NULL VALUE NOT ALLOWED
- LDN 0 CLEAR VALUE
- STD AB+4
- VKW3 LJM VKWX RETURN
- STV SPACE 4,10
- ** STV - STORE KEYWORD VALUE.
- *
- * ENTRY (AB+4) = KEYWORD VALUE.
- * (T3) = ADDRESS OF KEYWORD PARAMETERS.
- * (CN - CN+4) = *EQDE* EST WORD.
- * (EBUT+5 - EBUT+11) = *EQAE* EST WORD.
- *
- * EXIT KEYWORD VALUE STORED IN EST ENTRY.
- STV SUBR ENTRY/EXIT
- LDM 2,T3
- SHN 14 SET SHIFT COUNT
- LMD TH
- ERRNZ 1000-SHNI ADJUST IF VALUE CHANGES
- STM STVB
- SHN -14 SET EST ENTRY LOCATION
- LPN 37
- STD T0
- SBN 5
- MJN STV1 IF IN *EQDE* WORD
- LDC EBUT
- UJN STV2 PROCESS DATA
- STV1 LDN CN
- STV2 ADD T0
- STD T7
- LDM 3,T3 SET MASK
- STM STVA
- LDI T7 UPDATE EST ENTRY
- LPC **
- STVA EQU *-1
- STI T7
- LDD AB+4
- STVB SHN ** POSITION KEYWORD VALUE
- RAI T7 STORE KEYWORD VALUE
- UJN STVX RETURN
- TITLE KEYWORD PROCESSORS.
- AOK SPACE 4,10
- ** AOK - ASSEMBLE OCTAL KEYWORD VALUE.
- *
- * ENTRY (A) = 6/MINIMUM VALUE, 12/MAXIMUM VALUE+1
- *
- * EXIT TO *KWP5*, KEYWORD VALUE STORED.
- * TO *ILL* IF INCORRECT VALUE.
- *
- * USES T6, T7.
- *
- * CALLS CDR, STV.
- AOK BSS 0
- STD T7 SAVE MAXIMUM VALUE+1
- SHN -14
- STD T6 SAVE MINIMUM VALUE
- RJM CDR ASSEMBLE KEYWORD VALUE
- LDD AB+4
- SBD T6
- PJN AOK2 IF VALUE .GE. MINIMUM
- AOK1 JMP ILL PROCESS INCORRECT ENTRY
- AOK2 LDD AB+4
- SBD T7
- PJN AOK1 IF VALUE .GT. MAXIMUM
- RJM STV STORE VALUE
- JMP KWP5 RETURN
- PAP SPACE 4,10
- *** AP=N.
- *
- * APRDECK NUMBER.
- * N = 0-77B.
- PAP DATA H*AP*
- ZJN PAP1 IF NULL VALUE
- RJM CDR ASSEMBLE APRDECK NUMBER
- LDD AB+4
- SHN -6
- ZJN PAP1 IF .LE. 77B
- JMP ILL PROCESS INCORRECT ENTRY
- PAP1 LDD AB+4 SET APRDECK NUMBER
- STM TDDB+DVAP
- JMP KWP5 RETURN
- PCC SPACE 4,10
- *** CH=C1N/C2N.
- *
- * CONCURRENT CHANNEL + PORT NUMBER.
- * C1 = PRIMARY CHANNEL.
- * C2 = SECONDARY CHANNEL.
- * N = A FOR PORT A.
- * = B FOR PORT B.
- PCC DATA H*CH*
- LDN 0 PRESET PORT A DEFINITIONS
- STD CN+1
- STD CN+2
- LDN CN+1 PRESET CHANNEL INDEX
- STD T4
- PCC1 RJM CDR ASSEMBLE CHANNEL NUMBER
- LMN 1RA
- ZJN PCC2 IF PORT A SPECIFIED
- LMN 1RB&1RA
- NJN PCC3 IF NOT PORT B (DEFAULT TO A)
- LDC 200 SET PORT B INDICATOR
- STI T4
- PCC2 AOD KA ADVANCE CHARACTER ADDRESS
- PCC3 LDN 40 MARK CHANNEL CONCURRENT
- RAD AB+4
- LMC 4000 MARK CHANNEL ACCESSIBLE
- RAI T4 SET CHANNEL ENTRY
- LPN 37
- SBM .CCHN
- MJN PCC5 IF VALID CHANNEL NUMBER
- PCC4 JMP ILL PROCESS INCORRECT ENTRY
- PCC5 LDM TCST,AB+4
- ZJN PCC6 IF CHANNEL IS NOT DOWN
- LDC 3000 MARK CHANNEL DOWN
- RAI T4
- PCC6 RJM CSC CHECK SEPARATOR CHARACTER
- NJN PCC7 IF NOT VALID KEYWORD SEPARATOR
- LDD CN+1 PRIMARY CHANNEL
- LMD CN+2 SECONDARY CHANNEL
- LPN 77
- ZJN PCC4 IF DUPLICATE CHANNELS
- JMP KWP5 RETURN
- PCC7 LMN 1R/&1R,
- NJN PCC4 IF NO OTHER CHANNEL
- AOD KA
- AOD T4
- LMN CN+3
- ZJN PCC4 IF MORE THAN TWO CHANNELS SPECIFIED
- LJM PCC1 PROCESS SECOND CHANNEL
- PCH SPACE 4,10
- *** CH=C1/C2.
- *
- * CHANNEL NUMBER.
- * CN = 2, 4 OR 6, IF EQUIPMENT TYPE IS *DV* OR *DW*.
- * CN = 0-13B, 20-33B, FOR ALL OTHER EQUIPMENT TYPES.
- * CN = C0-C11B FOR CONCURRENT CHANNELS 0-11B.
- PCH DATA H*CH*
- LDN CN+1 SET CHANNEL BYTE ADDRESS
- STD T4
- LDN CN+1+2 SET MAXIMUM NUMBER OF CHANNELS ALLOWED
- STD T3
- LDN 0 CLEAR CHANNEL BUFFER
- STD CN+1
- STD CN+2
- LDD CN+3
- LMC 2RRM
- NJN PCH3 IF NOT TYPE *RM*
- RJM CDR
- LDD AB+4
- SBN 15
- NJN PCH6 IF INCORRECT CHANNEL NUMBER
- LDC 4000+CHMX
- LJM PCH9 SET CHANNEL DATA
- PCH3 LMC 2RDV&2RRM
- ZJN PCH4 IF TYPE *DV*
- LMN 1RW&1RV
- ZJN PCH4 IF TYPE *DW*
- LDC LDNI SET FIRST CHANNEL
- STM VCNA
- UJN PCH7 ASSEMBLE FIRST CHANNEL NUMBER
- PCH4 LDC VCP
- STM PCHA
- PCH5 LDD T4
- SBD T3
- MJN PCH7 IF MORE CHANNELS ALLOWED
- PCH6 JMP ILL PROCESS INCORRECT ENTRY
- PCH7 LDC 4000 SET CHANNEL ACCESSIBLE
- STI T4
- LDI KA CHECK SEPARATOR
- SBN 1R8
- PJN PCH6 IF NULL CHANNEL PARAMETER
- ADN 1R8-1RC
- NJN PCH8 IF NOT A CONCURRENT CHANNEL
- LDN 40
- RAI T4 SET CONCURRENCY ATTRIBUTE
- AOD KA
- PCH8 RJM CDR ASSEMBLE CHANNEL NUMBER
- RJM VCN VALIDATE CHANNEL NUMBER
- * RJM VCP (VALIDATE CHANNEL PAIR)
- PCHA EQU *-1
- LDD AB+4 APPEND CHANNEL NUMBER
- PCH9 RAI T4
- LPN 77 CHECK CHANNEL DATA
- STD AB+4
- SBN 40
- MJN PCH11 IF NOT A CONCURRENT CHANNEL
- SBM .CCHN
- MJN PCH11 IF VALID CHANNEL NUMBER
- PCH10 JMP ILL PROCESS INCORRECT ENTRY
- PCH11 LDM TCST,AB+4
- ZJN PCH12 IF CHANNEL IS NOT DOWN
- LDC 3000 MARK CHANNEL DOWN
- RAI T4
- PCH12 RJM CSC CHECK SEPARATOR CHARACTER
- NJN PCH13 IF INVALID KEYWORD SEPARATOR
- JMP KWP5 RETURN
- PCH13 LMN 1R/&1R,
- NJN PCH10 IF INVALID SEPARATOR
- AOD T4
- AOD KA
- LJM PCH5 PROCESS NEXT CHANNEL
- PEQ SPACE 4,10
- *** EQ=N.
- *
- * EQUIPMENT (CONTROLLER) NUMBER.
- * N = 0-7.
- PEQ DATA H*EQ*
- LDN 10 SET MAXIMUM VALUE + 1
- JMP AOK ASSEMBLE KEYWORD VALUE
- PET SPACE 4,20
- *** ET=MT.
- * ET=MT/PT. (*DP* TYPE EQUIPMENT ONLY).
- * ET=MT/PT/CT. (*DP* TYPE EQUIPMENT ONLY).
- *
- * EXTENDED MEMORY TYPE (DEFAULT = E1,D1).
- * MT = MEMORY TYPE.
- * E1 - ECS 1.
- * E2 - ECS 2.
- * LE - LCME.
- * EM - UEM.
- * ES - ESM.
- * SN - STORNET.
- * PT = PATH TYPE.
- * D1 - DC135 DDP (DEFAULT FOR MT = E1/E2).
- * D2 - DC145 PARITY ENHANCED DDP OR ESM LOW SPEED PORT.
- * (DEFAULT FOR MT = ES OR SN).
- * CT = CPU TYPE.
- * NC - NO CPU COUPLER.
- * (DEFAULT FOR MT = SN).
- PET DATA H*ET*
- LDN CFGL GET HARDWARE MODE
- CRD CM
- LDD CM+3
- SHN 4-12
- LPN 20
- ADC 4511 4531 = EXTENDED, 4511 = ECS ADDRESSING
- STM TMTO+ESMP+2
- LDC TMTOL*10000+TMTO CHECK MEMORY TYPE
- RJM CET
- RJM CSC CHECK SEPARATOR CHARACTER
- ZJN PET3 IF NO PATH TYPE/CPU TYPE SPECIFIED
- LMN 1R/&1R,
- ZJN PET2 IF CORRECT SEPARATOR
- PET1 JMP ILL PROCESS INCORRECT ENTRY
- PET2 LDD CN+3
- LMC 2RDP
- NJN PET1 IF NOT TYPE *DP*
- AOD KA
- LDI KA
- LMN 1R/
- ZJN PET4 IF NULL PATH TYPE
- LDC TPTOL*10000+TPTO CHECK PATH TYPE
- RJM CET
- RJM CSC CHECK SEPARATOR CHARACTER
- PET3 ZJN PET5 IF NO CPU TYPE
- LMN 1R/&1R,
- NJN PET1 IF NOT CORRECT SEPARATOR
- PET4 AOD KA
- LDC TCTOL*10000+TCTO CHECK CPU TYPE
- RJM CET
- PET5 JMP KWP5 RETURN
- SPACE 4,10
- ** EXTENDED MEMORY TYPE OPTION TABLES.
- *
- * ENTRY = 3 WORDS
- *T, 12/ OP,12/ MASK,1/D,2/ R,3/ MT,3/ CT,3/ PT
- *
- * OP = MNEMONIC.
- * MASK = *DILL* BYTE 3 MASK.
- * R = RESERVED.
- * D = DEVICE SUPPORTS DIRECT TRANSFER.
- * MT = MEMORY TYPE.
- * 0 = RESERVED.
- * 1 = E1 (ECS 1).
- * 2 = E2 (ECS 2).
- * 3 = LE (LCME).
- * 4 = EM (UEM).
- * 5 = ES (ESM).
- * 6 = SN (STORNET).
- * 7 = RESERVED.
- *
- * CT = CPU TYPE
- * 0 = NO CPU PATH.
- * 1 = ECS MODE.
- * 2 = LCME.
- * 3 = ESM MODE.
- * 4 = UEM CPU INTERFACE.
- * 5 - 7 = RESERVED.
- *
- * PT = PP PATH TYPE.
- * 0 = NO DDP.
- * 1 = DC145 PARITY ENHANCED DDP
- * OR ESM LOW SPEED PORT.
- * 2 = DC135 DDP.
- * 3-7 = RESERVED
- TMTO BSS 0 TABLE OF MEMORY TYPE OPTIONS
- CON 2RE1,0,4112 ECS 1, DC135 DDP
- CON 2RE2,0,4212 ECS 2, DC135 DDP
- CON 2RLE,0,4320 LCME
- CON 2REM,0,4440 UEM
- ESMP EQU *-TMTO POINTER FOR ESM ENTRY
- CON 2RES,0,4511 ESM, LSP
- CON 2RSN,0,0601 STORNET
- TMTOL EQU *-TMTO
- TPTO BSS 0 TABLE OF PATH TYPE OPTIONS
- CON 2RD1,-7,2 DC135 DDP
- CON 2RD2,-7,1 DC145 PARITY ENHANCED DDP
- TPTOL EQU *-TPTO
- TCTO BSS 0 TABLE OF CPU TYPE OPTIONS
- CON 2RNC,-4077,1 NO CPU COUPLER
- TCTOL EQU *-TCTO
- PIB SPACE 4,10
- *** IB=N.
- *
- * INSTALLATION BYTE.
- * N = 0B - 7777B.
- PIB DATA H*IB*
- RJM AOD ASSEMBLE INSTALLATION BYTE VALUE
- STM EBUT+5
- JMP KWP5 RETURN
- PMA SPACE 4,10
- *** MA=STATUS.
- *
- * EXTENDED MEMORY MAINTENANCE MODE.
- * STATUS = *ON* OR *OFF*.
- PMA DATA H*MA*
- RJM AST ASSEMBLE MAINTENANCE MODE STATUS
- SHN 21-0
- PJN PMA1 IF *ON* OR *OFF*
- JMP ILL PROCESS INCORRECT ENTRY
- PMA1 LDM TDDB+DVED SET STATUS
- SHN 23-11
- SCN 2
- LMD AB+4
- LMN 2
- SHN 11-1
- STM TDDB+DVED
- JMP KWP5 RETURN
- PMC SPACE 4,10
- *** MC=N.
- *
- * ESM SIDE DOOR PORT CHANNEL NUMBER.
- * N = 0-13B, 20B-33B.
- PMC DATA H*MC*
- RJM CDR ASSEMBLE CHANNEL NUMBER
- LDC LDNI SET FIRST CHANNEL
- STM VCNA
- RJM VCN VALIDATE CHANNEL NUMBER
- RJM STV STORE VALUE
- JMP KWP5 RETURN
- PPN SPACE 4,10
- *** PN=N.
- *
- * PARTITION NUMBER.
- * PN = 1-17B
- PPN DATA H*PN*
- RJM AOD ASSEMBLE PARTITION NUMBER
- LDM MSSL,MS
- LPN 17B
- ADN 1
- SBD AB+4
- SBM PEIB CHECK NUMBER OF PARTITIONS
- MJN PPN1 IF PARTITION OUT OF RANGE
- LDD AB+4 SAVE FIRST PARTITION NUMBER
- STM PEIC
- AOM PEIA INDICATE *PN* PARAMETER PROCESSED.
- JMP KWP5 RETURN
- PPN1 JMP ILL PROCESS INCORRECT ENTRY
- PST SPACE 4,10
- *** ST=STATUS.
- *
- * DEVICE STATUS.
- * STATUS = *ON* OR *IDLE* OR *OFF* OR *DOWN*.
- *
- * *ON* OR *IDLE* = EQUIPMENT AVAILABLE FOR ACCESS.
- * *OFF* OR *DOWN* = EQUIPMENT UNAVAILABLE FOR ACCESS.
- *
- * *OFF* OR *DOWN* IS NOT VALID FOR AN EQUIPMENT WHICH IS
- * DEFINED AS A SYSTEM, FAMILY, OR CHECKPOINT DEVICE.
- PST DATA H*ST*
- RJM AST ASSEMBLE STATUS
- ZJN PST3 IF *ON*
- LPN 2
- NJN PST2 IF *OFF* OR *DOWN*
- UJN PST3 PROCESS *IDLE*
- PST1 JMP ILL PROCESS INCORRECT ENTRY
- PST2 LDD CN
- SHN 21-12
- MJN PST1 IF SYSTEM DEVICE
- LDM .PFNL+3
- SBD EQ
- ZJN PST1 IF FAMILY EQUIPMENT
- LDM TDDB+DVPR
- LPN 2
- NJN PST1 IF CHECKPOINT DEVICE
- PST3 RJM STV STORE VALUE
- JMP KWP5 RETURN
- PSZ SPACE 4,10
- *** SZ=N.
- *
- * SIZE OF EXTENDED MEMORY.
- * N = VALUE (ECS 1 AVAILABLE) (ECS 2, ESM, OR LCME AVAILABLE)
- * 400B (125K) (131K)
- * 1000B (250K) (262K)
- * 2000B (500K) (524K)
- * 4000B (1000K) (1048K)
- * 10000B (2000K) (2096K)
- *
- * N = 10B (4K) THROUGH 10000B-MINCM (2000K-MINCM) FOR UEM.
- *
- * FOR UEM, ECS 2, LCM AND ESM, SZ MAY BE ANY VALUE BETWEEN AND
- * INCLUDING 10B (4K WORDS) AND 10000B (2M WORDS). THE SUM OF
- * UEM SIZE + NVE SIZE + MINCM SIZE (65K USED IF NOT SPECIFIED)
- * MUST BE .LE. THE PHYSICAL MAIN MEMORY SIZE RETURNED BY *CTI*.
- *
- * FOR UEM AND ESM, *SZ* MAY BE UP TO 100000B (16M WORDS).
- PSZ DATA H*SZ*
- RJM AOD ASSEMBLE SIZE
- STM TDDB+DVES+1
- LDD AB+3
- STM TDDB+DVES
- SCN 17
- NJN PSZ1 IF TOO MANY DIGITS
- LDM EBUT+7
- LPC 300
- STD T1 SAVE PREVIOUS XM SHIFT
- LDD AB+3
- SHN 14
- LMD AB+4
- SBN 10
- PJN PSZ2 IF .GE. 10K
- PSZ1 JMP ILL PROCESS INCORRECT ENTRY
- PSZ2 ADN 10-1
- SHN -14
- ZJN PSZ5 IF .LE. 2M WORDS
- SHN -1
- ZJN PSZ4 IF .LE. 4M WORDS
- SHN -1
- ZJN PSZ3 IF .LE. 8M WORDS
- SHN -1
- NJN PSZ1 IF .GT. 16M WORDS
- LDN 1
- PSZ3 ADN 1
- PSZ4 ADN 1
- PSZ5 SHN 6
- SBD T1
- MJN PSZ6 IF PREVIOUS SHIFT OKAY
- RAM EBUT+7
- PSZ6 JMP KWP5 RETURN
- PTS SPACE 4,10
- *** TS=N.
- *
- * TRACK SIZE FOR EXTENDED MEMORY.
- * N = VALUE (TRACK SIZE IN SECTORS)
- * 20 (20B)
- * 40 (40B)
- * 100 (100B)
- * 200 (200B)
- *
- * EXTENDED MEMORY MAY BE ALLOCATED IN TRACKS OF 20B, 40B, 100B
- * AND 200B SECTORS, ALLOWING THE SIZE OF EXTENDED MEMORY TO
- * EXCEED THE PREVIOUS 2M WORD LIMIT AND EXTEND TO 16MW.
- PTS DATA H*TS*
- LDM EBUT+7 SAVE PREVIOUS XM SHIFT
- LPC 300
- STD T3
- RJM AOD ASSEMBLE TRACK SIZE
- SBN 20
- ZJN PTS3 IF 20B
- SBN 40-20
- ZJN PTS2 IF 40B
- SBN 100-40
- ZJN PTS1 IF 100B
- SBD HN
- NJN PTS4 IF NOT 200B
- LDN 1
- PTS1 ADN 1
- PTS2 ADN 1
- SHN 6
- SBD T3
- MJN PTS3 IF PREVIOUS SHIFT OKAY
- RAM EBUT+7
- PTS3 JMP KWP5 RETURN
- PTS4 JMP ILL PROCESS INCORRECT ENTRY
- PUN SPACE 4,10
- *** UN=U1.
- * UN=U1/.../UN.
- * UN=U1-UN. (HORIZONTALLY CONTIGUOUS UNITS)
- *
- * UNIT NUMBER.
- * UN = 0-77B (MAXIMUM UNIT NUMBER AND NUMBER OF UNITS
- * ALLOWED ARE DEVICE TYPE DEPENDENT.)
- PUN DATA H*UN*
- LDI KA
- SBN 1R8
- PJN PUN1 IF NULL UNIT PARAMETER
- RJM CDR ASSEMBLE UNIT NUMBER
- RJM CSC
- ZJN PUN3 IF SINGLE UNIT SPECIFIED
- LMN 1R/&1R,
- ZJN PUN3 IF MULTIPLE UNITS SPECIFIED
- LMN 1R-&1R/
- NJN PUN1 IF INCORRECT SEPARATOR
- LDD AB+4 SAVE FIRST UNIT NUMBER
- STD T6
- AOD KA
- RJM CDR ASSEMBLE LAST UNIT NUMBER
- RJM CSC
- ZJN PUN2 IF NOT INCORRECT SEPARATOR
- PUN1 JMP ILL PROCESS INCORRECT ENTRY
- PUN2 LDD AB+4 SET LAST UNIT NUMBER
- RAM SUNA
- LDD T6
- SBD AB+4
- PJN PUN1 IF INCORRECT RANGE
- RAD AB+4 RESET FIRST UNIT NUMBER
- PUN3 LDM MSUL,MS SET UP MAXIMUM UNIT NUMBER
- LPN 77
- RAM SUNC
- LDC DVUNL*10000B+TDDB+DVUN DESCRIPTOR TABLE WORD/COUNT
- RJM SUL SET UNIT LIST
- LDM MSUL,MS CHECK UNIT COUNT
- SHN -6
- LPN 7
- SBD T6
- MJN PUN1 IF INCORRECT UNIT COUNT
- LDD T6 SAVE UNIT COUNT-1
- STD CN+4
- LDM MSNT,MS
- SHN 0-13
- ZJN PUN4 IF NOT *LDAM* TYPE DEVICE
- LDD CN SET *LDAM* STATUS IN EST
- LPC 7577
- ADC 200
- STD CN
- PUN4 JMP KWP5 RETURN
- TITLE MISCELLANEOUS KEYWORD SUBROUTINES.
- AODSUB
- AST SPACE 4,15
- ** AST - ASSEMBLE STATUS.
- *
- * EXIT (A) = (AB+4) = STATUS.
- * 0 = ON.
- * 1 = IDLE.
- * 2 = OFF.
- * 3 = DOWN.
- *
- * USES KB, ST.
- *
- * CALLS AKL7.
- AST1 DATA C*DOWN*
- LDN 3
- UJN AST5 SET *DOWN* STATUS
- AST2 DATA C*OFF*
- LDN 2
- UJN AST5 SET *OFF* STATUS
- AST3 DATA C*IDLE*
- LDN 1
- UJN AST5 SET *IDLE* STATUS
- AST4 DATA C*ON*
- LDN 0
- AST5 STD AB+4 SET STATUS
- AST SUBR ENTRY/EXIT
- LDC ASTA-1
- STD ST SET SYNTAX TABLE ADDRESS
- LDD KA
- STD KB
- LJM AKL7 ASSEMBLE STATUS
- ASTA CON AST4
- CON AST2
- CON AST1
- CON AST3
- CON 0 END OF STATUS SYNTAX TABLE
- CDRSUB
- CET SPACE 4,10
- ** CET - CHECK EXTENDED MEMORY TYPE.
- *
- * ENTRY (A) = 6/TL,12/TA.
- * TL = TABLE LENGTH.
- * TA = FWA OF TABLE.
- *
- * EXIT OPTION MERGED INTO *DILL* BYTE 3.
- * TO *ILL* IF ERROR.
- * (KA) ADVANCED.
- *
- * USES AB, T1, T7.
- CET SUBR ENTRY/EXIT
- STD T7
- SHN -14
- ADD T7 SET LWA+1 OF TABLE
- STD T1
- LDI KA ASSEMBLE NAME
- SHN 6
- LMM 1,KA
- STD AB
- LDN 2 ADVANCE CHARACTER ADDRESS
- RAD KA
- CET1 LCN 3 SEARCH OPTION TABLE
- RAD T1
- SBD T7
- PJN CET3 IF MORE OPTIONS
- CET2 JMP ILL PROCESS INCORRECT ENTRY
- CET3 LDI T1
- LMD AB
- NJN CET1 IF OPTION NOT FOUND
- LDM 2,T1 CHECK MAINFRAME REQUIREMENTS
- SHN -6
- LPN 7
- SBN 3
- MJN CET6 IF ECS OR PATH TYPE/CPU TYPE OPTION
- ZJN CET4 IF LCME
- SBN 4-3
- NJN CET6 IF NOT UEM
- LDD CN+3
- LMC 2RDE
- NJN CET2 IF UEM AND NOT TYPE *DE*
- LDD HO
- SHN 21-13
- PJN CET6 IF CM EXTENSION ON MAINFRAME
- UJN CET2 PROCESS INCORRECT ENTRY
- CET4 LDD HO
- SHN 21-11
- PJN CET2 IF NOT CYBER 176
- CET6 LDM 1,T1 SET MASK
- STM CETA
- LDM TDDB+DVED MERGE NEW OPTION INTO *DILL* BYTE 3
- LPC **
- CETA EQU *-1
- LMM 2,T1
- STM TDDB+DVED
- LJM CETX RETURN
- CSC SPACE 4,10
- ** CSC - CHECK SEPARATOR CHARACTER.
- *
- * ENTRY (KA) = ADDRESS OF SEPARATOR CHARACTER
- *
- * EXIT (A) = 0 IF SEPARATOR CHARACTER IS *,* OR *.*.
- CSC SUBR ENTRY/EXIT
- LDI KA
- LMN 1R.
- ZJN CSCX IF *.*
- LMN 1R,&1R.
- UJN CSCX RETURN
- SUL SPACE 4,10
- ** SUL - SET UNIT LIST.
- *
- * ENTRY (A) = 6/LIST WORD COUNT, 12/ LIST WORD ADDRESS.
- * (AB+4) = FIRST UNIT NUMBER.
- *
- * EXIT (T6) = UNIT COUNT - 1.
- * UNIT LIST SET IN SPECIFIED ADDRESS.
- *
- * USES T0, T5, T6.
- *
- * CALLS SUN.
- SUL SUBR ENTRY/EXIT
- STM SULA FWA OF LIST
- STD T5
- SHN -14 NUMBER OF WORDS
- RAD T5 LWA+1 OF LIST
- LDN 0 INITIALIZE UNIT COUNT
- STD T6
- SUL1 SOD T5
- SBM SULA
- MJP ILL IF TOO MANY ENTRIES FOR LIST
- LDD AB+4
- STI T5 SET LOWER UNIT
- RJM SUN GET NEXT UNIT
- MJN SUL2 IF END OF LIST
- SHN 6 SET UPPER ENTRY
- RAI T5
- RJM SUN GET NEXT UNIT
- PJN SUL1 IF NOT END OF LIST
- SUL2 SOD T5
- SBM SULA
- MJN SULX IF ALL DONE WITH LIST
- LDN 0 CLEAR EMPTY LIST ENTRIES
- STI T5
- UJN SUL2 CHECK IF DONE
- SULA BSS 1 TABLE ADDRESS STORAGE
- SUN SPACE 4,20
- ** SUN - SET UNIT NUMBER.
- *
- * ENTRY (MS) = *TMSD* ADDRESS.
- * (AB+4) = CURRENT UNIT NUMBER.
- *
- * EXIT (A) = (AB+4) = NEXT UNIT NUMBER.
- * = -1 IF END OF UNITS.
- * (T6) = (T6) + 1 IF NEXT UNIT FOUND.
- * TO *ILL* IF ERROR.
- *
- * USES AB+4, KA, T6.
- *
- * CALLS CDR, CSC.
- SUN3 SBD AB+4
- ZJN SUN4 IF END OF ENTRIES
- AOD T6
- AOD AB+4
- ADN 1
- SUN4 SBN 1
- SUN SUBR ENTRY/EXIT
- LDD AB+4
- SUNB LPN 0
- NJN SUN1 IF NUMBER OUT OF RANGE
- SUNC LDN 0 MAXIMUM VALUE
- SBD AB+4
- MJN SUN1 IF NUMBER .GT. LIMIT
- SUNA LDN 0
- NJN SUN3 IF RANGE OF ENTRIES
- RJM CSC
- ZJN SUN4 IF END OF ENTRIES
- LMN 1R/&1R,
- ZJN SUN2 IF MORE ENTRIES
- SUN1 JMP ILL PROCESS INCORRECT ENTRY
- SUN2 AOD KA
- LDI KA
- SBN 1R8
- PJN SUN1 IF NULL ENTRY
- RJM CDR ASSEMBLE NEXT ENTRY
- AOD T6
- LDD AB+4
- UJN SUNX RETURN
- VCP SPACE 4,10
- ** VCP - VALIDATE CHANNEL PAIR.
- *
- * ENTRY (AB+4) = CHANNEL PAIR NUMBER.
- *
- * EXIT TO *ILL* IF INCORRECT CHANNEL NUMBER.
- *
- * USES T1.
- VCP2 LDD T1
- SHN 1
- SBD AB+4
- NJN VCP1 IF NOT VALID CHANNEL PAIR NUMBER
- VCP SUBR ENTRY/EXIT
- LDN 4
- STD T1
- VCP1 SOD T1
- NJN VCP2 IF MORE VALID CHANNEL PAIRS
- JMP ILL PROCESS INCORRECT ENTRY
- VCN SPACE 4,10
- ** VCN - VALIDATE CHANNEL NUMBER.
- *
- * ENTRY (AB+4) = CHANNEL NUMBER.
- *
- * EXIT TO *ILL* IF INCORRECT CHANNEL NUMBER.
- VCN2 ADN 20
- SBM .CHN
- PJN VCN1 IF NOT LEGAL CHANNEL
- VCN SUBR ENTRY/EXIT
- VCNA LDN 0
- ZJN VCN0 IF FIRST CHANNEL
- LDD AB+4
- ZJN VCN1 IF .EQ. 0
- VCN0 AOM VCNA
- LDD AB+4 GET CHANNEL NUMBER
- SBN 14
- MJN VCNX IF .LE. 13B
- SBN 20-14
- PJN VCN2 IF .GE. 20B
- VCN1 JMP ILL PROCESS INCORRECT ENTRY
- TVRK SPACE 4,10
- **** TVRK - TABLE OF VALID AND REQUIRED KEYWORDS.
- TVRK BSS 0
- TBKW DA,(ST,UN,CH,AP,IB),(UN,CH)
- TVRKL EQU *-TVRK
- TBKW DB,(ST,UN,CH,AP,IB),(UN,CH)
- TBKW DC,(ST,UN,CH,AP,IB),(UN,CH)
- TBKW DD,(ST,UN,AP,IB),(UN)
- TBKW DE,(ST,MA,ET,SZ,AP,MC,TS,IB),(SZ)
- TBKW DF,(ST,UN,CH,AP,IB),(UN,CH)
- TBKW DG,(ST,UN,AP,IB),(UN)
- TBKW DH,(ST,UN,CH,AP,IB),(UN,CH)
- TBKW DI,(ST,UN,CH,AP,IB),(UN,CH)
- TBKW DJ,(ST,UN,CH,AP,IB),(UN,CH)
- TBKW DK,(ST,UN,CH,AP,IB),(UN,CH)
- TBKW DL,(ST,UN,CH,AP,IB),(UN,CH)
- TBKW DM,(ST,UN,CH,AP,IB),(UN,CH)
- TBKW DN,(ST,EQ,UN,CH,AP,IB),(UN,CH)
- TBKW DP,(ST,MA,ET,SZ,CH,AP,MC,TS,IB),(SZ,CH)
- TBKW DQ,(ST,UN,CH,AP,IB),(UN,CH)
- TBKW DR,(ST,UN,CH,AP,IB),(UN,CH)
- TBKW DV,(ST,UN,CH,AP,IB),(UN,CH)
- TBKW DW,(ST,UN,CH,AP,IB),(UN,CH)
- TBKW DX,(ST,UN,CH,AP,IB),(UN,CH)
- TBKW DY,(ST,UN,CH,AP,IB),(UN,CH)
- TBKW DZ,(ST,UN,CH,AP,IB),(UN,CH)
- TBKW EA,(ST,EQ,UN,CH,AP,IB),(EQ,UN,CH)
- TBKW EB,(ST,EQ,UN,CH,AP,IB),(EQ,UN,CH)
- TBKW EC,(ST,EQ,UN,CH,AP,IB),(EQ,UN,CH)
- TBKW ED,(ST,EQ,UN,CH,AP,IB),(EQ,UN,CH)
- TBKW EE,(ST,EQ,UN,CH,AP,IB),(EQ,UN,CH)
- TBKW EF,(ST,EQ,UN,CH,AP,IB),(EQ,UN,CH)
- TBKW EG,(ST,EQ,UN,CH,AP,IB),(EQ,UN,CH)
- TBKW EH,(ST,EQ,UN,CH,AP,IB),(EQ,UN,CH)
- TBKW EI,(ST,EQ,UN,CH,AP,IB,PN),(EQ,UN,CH)
- TBKW EJ,(ST,EQ,UN,CH,AP,IB,PN),(EQ,UN,CH)
- TBKW EK,(ST,EQ,UN,CH,AP,IB,PN),(EQ,UN,CH)
- TBKW EL,(ST,EQ,UN,CH,AP,IB,PN),(EQ,UN,CH)
- TBKW EM,(ST,EQ,UN,CH,AP,IB,PN),(EQ,UN,CH)
- TBKW EN,(ST,EQ,UN,CH,AP,IB,PN),(EQ,UN,CH)
- TBKW EO,(ST,EQ,UN,CH,AP,IB),(EQ,UN,CH)
- TBKW EP,(ST,EQ,UN,CH,AP,IB),(EQ,UN,CH)
- TBKW ES,(ST,EQ,UN,CH,AP,IB,PN),(EQ,UN,CH)
- TBKW EU,(ST,EQ,UN,CH,AP,IB,PN),(EQ,UN,CH)
- TBKW EV,(ST,EQ,UN,CH,AP,IB,PN),(EQ,UN,CH)
- TBKW EW,(ST,EQ,UN,CH,AP,IB,PN),(EQ,UN,CH)
- CON 0 END OF TABLE
- ****
- TKWP SPACE 4,10
- **** TKWP - TABLE OF KEYWORD PARAMETERS.
- TKWP BSS 0
- TBKP AP,1,DVAP,00B,0000B APRDECK NUMBER
- TKWPL EQU *-TKWP
- TKWPA TBKP CH,0,1,00B,7777B CHANNEL(S)
- TKWPB TBKP EQ,0,4,11B,0777B EQUIPMENT (CONTROLLER) NUMBER
- TBKP ET,0,DVED,00B,7777B EXTENDED MEMORY TYPE
- TBKP IB,0,5,00B,0000B INSTALLATION BYTE
- TBKP MA,0,DVED,11B,6777B MAINTENANCE MODE
- TBKP MC,0,7,00B,7700B MAINTENANCE CHANNEL
- TBKP PN,0,10B,6,6077B PARTITION NUMBER
- TBKP ST,0,0,0,7774B STATUS
- TBKP SZ,0,DVNT,00B,0000B EXTENDED MEMORY SIZE
- TBKP TS,0,0,00B,0000B EXTENDED MEMORY TRACK SIZE
- TBKP UN,0,4,00B,7777B UNIT NUMBER(S)
- CON 0 END OF TABLE
- ****
- TRQP SPACE 4,10
- ** TRQP - TABLE OF REQUIRED PARAMETERS.
- *
- * (TRQP) .NE. 0 IF INITIAL ENTRY OF THIS EQUIPMENT.
- * (TRQP+1)-(TRQP+KTWC) = REQUIRED KEYWORDS - BIT CORRESPONDING
- * TO *TVRK* BITS SET WHEN KEYWORD IS SPECIFIED.
- TRQP BSSZ KTWC+1
- TBLM SPACE 4,10
- ** TBLM - GENERATE TABLE OF MASS STORAGE PROCESSING PARAMETERS.
- *
- * TBLM EQ
- *
- * ENTRY (EQ) = MASS STORAGE EQUIPMENT MNEMONIC.
- PURGMAC TBLM
- TBLM MACRO EQ
- DT_EQ VFD 1/SD_EQ,11/2R_EQ
- CON /EQ1/P_EQ
- VFD 1/LDAM_EQ,11/NT_EQ
- VFD 3/BF_EQ,3/PK_EQ-1,6/NU_EQ-1
- CON CT_EQ
- VFD 1/TT_EQ,11/SL_EQ+PNUN_EQ-1
- VFD 6/DI_EQ,6/2R"DRN_EQ"-1RD*100
- VFD 6/C"FW_EQ",6/AI_EQ
- CON CYPN_EQ
- TBLM ENDM
- TMSD SPACE 4,10
- ** TMSD - TABLE OF MASS STORAGE DEVICES.
- * ENTRY = TMSDL WORDS.
- * THE ENTRIES IN *TMSD* ARE REFERENCED WITH THE FOLLOWING TAGS.
- TMSD BSS 0
- LOC 0
- BSS 1 1/ SHARED FLAG, 11/ DEVICE MNEMONIC
- MSPR BSS 1 12/ PROCESSOR ADDRESS
- MSNT BSS 1 1/ LDAM FLAG, 11/ NUMBER OF TRACKS
- MSUL BSS 1 3/ FLAGS, 3/ MAX PACKS, 6/ MAX UNIT NO.
- MSCT BSS 1 12/ DEFAULT NUMBER OF CATALOG TRACKS
- MSSL BSS 1 1/ FULL TRACK FLAG,
- * 11/ SECTOR LIMIT + MAX PARTITION NO.
- MSDI BSS 1 6/ DRIVER INDEX,
- * 6/ DRIVER NAME (LAST CHARACTER)
- MSAI BSS 1 6/ CONTROLWARE LOAD, 6/ ALGORITHM INDEX
- MSCP BSS 1 12/ CYLINDERS PER PARTITION
- TMSDL BSS 0 TABLE LENGTH
- ORG TMSD
- LIST G
- TBL "MSEQ"
- PURGMAC TBLM
- LIST *
- CON 0 END OF TABLE
- SPACE 4,10
- QUAL *
- EQ1S EQU *+4-EQXO *EQ1* SIZE
- EQ1L EQU EQ1S/5+77 *EQ1* OVERLAY LENGTH
- ERRNG 7777-*-4 OVERFLOW WHEN LOADING *EQ1*
- TTL SET/EQ2 - PROCESS NON-MASS STORAGE *EQXXX=* ENTRY.
- TITLE
- IDENT EQ2,/EQ2/EQM
- QUAL EQ2
- ORG EQXO
- *COMMENT SET - PROCESS NON-MASS STORAGE *EQXXX=* ENTRY.
- COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
- SPACE 4,10
- ** MICRO DEFINITIONS.
- KWM MICRO 1,,*CH,CW,DR,EQ,FC,IB,ID,LS,ND,NT,PA,PI,PS,PT,SA,ST,TF,
- ,TN,UN,W0,W1*
- .A MICCNT KWM
- .A SET .A+1
- KWMC EQU .A/3 KEYWORD COUNT
- .A SET KWMC+11D
- KTWC EQU .A/12D KEYWORD TABLE WORD COUNT
- TITLE EQUIPMENT DEFINITIONS.
- EQM SPACE 4,10
- *** EQXXX=TY,P1=V1,...,PN=VN.
- *
- * SET NON MASS STORAGE EQUIPMENT XXX WITH
- *
- * TY = TYPE (2 CHARACTERS)
- *
- * DEVICE TYPES SUPPORTED -
- *
- * AT = ACS CARTRIDGE MAGNETIC TAPE DRIVE.
- * CC = 6683 SATELLITE COUPLER.
- * CI = *CYBIS* DEVICE.
- * CM = CONTROL MODULE.
- * CP = 415 CARD PUNCH.
- * CR = 405 CARD READER.
- * CT = CARTRIDGE MAGNETIC TAPE DRIVE.
- * D1 = *CYBIS* DEVICE.
- * D2 = *CYBIS* DEVICE.
- * D3 = *CYBIS* DEVICE.
- * D4 = *CYBIS* DEVICE.
- * LQ = 512 LINE PRINTER.
- * LR = 580-12 LINE PRINTER.
- * LS = 580-16 LINE PRINTER.
- * LT = 580-20 LINE PRINTER.
- * LX = 5870 NON-IMPACT PRINTER.
- * LY = 5970 NON-IMPACT PRINTER.
- * MP = MAP III.
- * MT = 7-TRACK MAGNETIC TAPE DRIVE.
- * NC = NAD.
- * ND = CDNA MAINFRAME INTERFACE (MDI).
- * NI = *CYBIS* DEVICE.
- * NO = *CYBIS* DEVICE.
- * NP = 255X NETWORK PROCESSING UNIT.
- * NT = 9-TRACK MAGNETIC TAPE DRIVE.
- * OD = OPTICAL DISK
- * RM = TWO PORT MULTIPLEXER.
- * RP = RING PORT.
- * SP = *CYBIS* DEVICE.
- * SS = MSE M860 CONTROLLER.
- * TT = TIME-SHARING MULTIPLEXER.
- * NOTE - THE TERMINAL DRIVER SCANS ONLY THE FIRST
- * *N* NUMBER OF PORTS (ZERO THRU *N*)
- * SPECIFIED BY THE *PT=* KEYWORD WHEN THE
- * DEVICE TYPE (TY) IS *TT*. IF NO *PT=*
- * KEYWORD IS GIVEN, ALL 64 PORTS ARE
- * SCANNED.
- * ** = NONSTANDARD EQUIPMENT ENTRY.
- *
- * AND PARAMETERS WHERE P1,...,PN ARE THE FOLLOWING KEYWORDS
- *
- * CH = CHANNEL NUMBER(S).
- * CW = CONTROL MODULE CONTROLWARE.
- * DR = ACS DRIVE INDEX (WITHIN PANEL).
- * EQ = EQUIPMENT (CONTROLLER) NUMBER.
- * FC = FORMS CODE.
- * IB = INSTALLATION BYTE.
- * ID = UNIT RECORD ID.
- * LS = ACS LSM INDEX (WITHIN ACS).
- * ND = NPU NODE NUMBER.
- * NT = MDI NODE NUMBER.
- * PA = ACS PANEL INDEX (WITHIN LSM).
- * PI = PIP INDEX.
- * PS = PAPER SIZE.
- * PT = PORT NUMBER OR NUMBER OF PORTS.
- * SA = 255X SAM (SYSTEM AUTOSTART MODULE) STATUS.
- * ST = STATUS.
- * TF = TAPE FLAGS.
- * TN = PRINT TRAIN.
- * UN = UNIT NUMBER.
- * W0 = OCTAL VALUE OF EST ENTRY - WORD ZERO.
- * W1 = OCTAL VALUE OF EST ENTRY - WORD ONE.
- EQM BSS 0
- LDN 2 ADVANCE CHARACTER ADDRESS
- RAD KA
- RJM CDR ASSEMBLE DIGITS
- LMN 1R=
- ZJN EQM2 IF *=*
- EQM1 JMP ILL PROCESS INCORRECT ENTRY
- EQM2 AOD KA SKIP CHARACTER
- LDD AB+4 CHECK EST ORDINAL
- SBN NOPE
- MJN EQM1 IF PSEUDO EQUIPMENT
- SBK ESMX-NOPE
- PJN EQM1 IF EST ORDINAL EXCEEDS MAXIMUM
- LDD AB+4 SET EST ORDINAL
- RJM STA READ EBUF ENTRY
- RJM CDR
- LMN 1R.
- NJP EQM5 IF NOT *EQXXX=.*
- LDD AB+4
- NJN EQM1 IF *EQXXX = N.*
- RJM CDC CLEAR ISMD CHANNELS
- LDN 0
- CRD CN CLEAR DEVICE DESCRIPTION
- CRM EBUT+5,ON
- ERRNG 5-TDDCL CODE DEPENDS ON VALUE
- CRM TDDB,DV
- LDD EQ
- LMD EN
- NJN EQM4 IF NOT EXTENDED MEMORY EQUIPMENT
- STD EN CLEAR EST ORDINAL
- STM EMSC DE/DP SHIFT COUNT
- LDN TAXXL CLEAR EXTENDED MEMORY ALLOCATION TABLES
- STD T1
- LDD EQ
- LMN LDEQ
- NJN EQM3 IF NOT LINK DEVICE
- STD PD
- EQM3 LDN 0
- STM TAXM-1,T1
- SOD T1
- NJN EQM3 IF MORE TO CLEAR
- CRM EMTY,ON
- EQM4 LJM EQM19 CLEAR EST
- * PROCESS TYPE.
- EQM5 LDI KA ASSEMBLE TYPE
- SHN 6
- LMM 1,KA
- STD AB+4
- LDM EBUT+3
- ZJN EQM7 IF EMPTY ENTRY
- LMD AB+4
- ZJN EQM8 IF NO CHANGE IN DEVICE TYPE
- LDD AB+4
- LMC 2R**
- ZJN EQM8 IF NONSTANDARD EQUIPMENT ENTRY
- RJM CDC CLEAR ISMD CHANNELS
- EQM7 LDN 0 CLEAR DEVICE DESCRIPTION
- CRD CN
- CRM EBUT+5,ON
- ERRNG 5-TDDCL CODE DEPENDS ON VALUE
- CRM TDDB,DV
- LDD AB+4
- STD CN+3
- AOM TRQP SET INITIAL ENTRY FLAG
- UJN EQM10 SEARCH FOR DEVICE
- EQM8 LDN JSNL MOVE EST ENTRY TO DIRECT CELLS
- CWM EBUT,ON
- SBN 1
- CRD CN
- * SEARCH FOR DEVICE IN EQUIPMENT TYPE TABLE.
- EQM10 LDC TETY-TETYL SET EQUIPMENT TYPE TABLE
- STD MS
- EQM11 LDN TETYL ADVANCE TABLE ADDRESS
- RAD MS
- LDI MS
- NJN EQM13 IF NOT END OF TABLE
- EQM12 JMP ILL PROCESS INCORRECT ENTRY
- EQM13 LMD AB+4 CHECK TYPE
- NJN EQM11 IF NO MATCH
- LDN 2 SKIP EQUIPMENT MNEMONIC
- RAD KA
- LDM EQPR,MS
- STD T1
- LDC TVRK-TVRKL SET TABLE OF VALID KEYWORDS
- STD TA
- EQM16 LDN TVRKL ADVANCE TABLE ADDRESS
- RAD TA
- LDI TA
- ZJN EQM12 IF END OF TABLE
- LMD AB+4
- NJN EQM16 IF NO MATCH
- LDM TRQP
- ** EXIT TO PROCESSOR WITH -
- *
- * (A) = (TRQP) = PREVIOUS DEFINITION STATUS.
- * (CN - CN+4) = WORD TO BUILD EST ENTRY.
- * (TDDB) = BUFFER TO BUILD *TDDE* ENTRY.
- * (MS) = *TETY* ADDRESS.
- * (TA) = *TVRK* ENTRY ADDRESS.
- RJM 0,T1
- LDM TRQP
- ZJN EQM20 IF NOT INITIAL ENTRY
- EQM19 RJM CML CHECK MASS STORAGE LIMIT
- RJM RMD RESET MASS STORAGE DEVICE
- EQM20 LDN JSNL
- CWD CN MOVE EST ENTRY TO BUFFER
- CRM EBUT,ON
- RJM EEB ENTER EQUIPMENT DEFINITION
- RJM EDC ENTER ISMD CHANNELS
- RJM CLE CHECK LAST EQUIPMENT
- JMP KBR RETURN
- TETY SPACE 4,10
- **** TETY - TABLE OF EQUIPMENT TYPES.
- * ENTRY = 3 WORDS.
- *
- * 12/ NAME, 12/ ADDR, 6/ UN, 6/ CH
- * NAME EQUIPMENT MNEMONIC
- * ADDR ADDRESS OF PROCESSOR
- * UN MAXIMUM UNIT NUMBER ALLOWED (2**N-1).
- * CH MAXIMUM CHANNELS ALLOWED
- *
- * NOTE - MASS STORAGE DEVICES ARE IN TABLE *TMSD*.
- TETY BSS 0
- EQPR EQU 1 PROCESSOR ADDRESS
- * UNIT RECORD DEVICES.
- TEQP CP,KWP,0,1
- TETYL EQU *-TETY
- TEQP CR,KWP,0,1
- TEQP LQ,LPT,0,1
- TEQP LR,LPT,0,1
- TEQP LS,LPT,0,1
- TEQP LT,LPT,0,1
- TEQP LX,LXT,0,1
- TEQP LY,LXT,0,1
- * COMMUNICATIONS / NETWORK DEVICES.
- TEQP CC,ALD,0,1
- TEQP NC,NAD,17,1
- TEQP ND,KWP,0,1
- TEQP NP,KWP,0,1
- TEQP NQ,KWP,0,1
- TEQP RM,ALD,1,1
- TEQP TT,ALD,10,1
- * *CYBIS* DEVICES.
- TEQP CI,KWP,7,2
- TEQP D1,KWP,7,2
- TEQP D2,KWP,7,2
- TEQP D3,KWP,7,2
- TEQP D4,KWP,7,2
- TEQP NI,KWP,7,2
- TEQP NO,KWP,7,2
- TEQP SP,KWP,7,2
- * MAGNETIC TAPE DEVICES.
- TEQP AT,MMT,17,2
- TEQP CT,MMT,17,2
- TEQP MT,MMT,17,2
- TEQP NT,MMT,17,2
- * MISCELLANEOUS DEVICES.
- TEQP CM,CMD,0,2
- TEQP MP,KWP,0,1
- TEQP OD,ALD,17,1 OPTICAL DISK
- TEQP RP,KWP,0,1
- TEQP SS,KWP,17,2
- * INSTALLATION DEFINED DEVICES.
- TEQP **,KWP,0,0
- CON 0 END OF TABLE
- ****
- TITLE EQUIPMENT DEFINITION PROCESSORS.
- ALD SPACE 4,10
- ** ALD - PROCESS ALLOCATABLE DEVICE.
- ALD SUBR ENTRY/EXIT
- ZJN ALD1 IF NOT INITIAL EQUIPMENT ENTRY
- LDC 2000 SET ALLOCATABLE DEVICE
- RAD CN
- ALD1 RJM KWP PROCESS KEYWORDS
- UJN ALDX RETURN
- CMD SPACE 4,10
- *** EQXXX=CM.
- CMD SUBR ENTRY/EXIT
- LDM ISPF
- SHN 21-13
- PJN CMD2 IF CYBER 810/815/825/830
- CMD1 JMP ILL PROCESS INCORRECT ENTRY
- CMD2 LDM TRQP
- ZJN CMD3 IF NOT INITIAL ENTRY
- LDN CMCW SET DEFAULT CONTROLWARE
- STD AB+4
- LDC PLCW SET KEYWORD PARAMETER ADDRESS
- STD T3
- RJM STV STORE KEYWORD VALUE
- CMD3 RJM KWP PROCESS KEYWORDS
- LDD CN+4 GET EQUIPMENT NUMBER
- SHN -11
- STD T6
- LDM TENB,T6
- ZJN CMD4 IF UNIQUE EQUIPMENT NUMBER
- LMD EQ
- NJN CMD1 IF NOT CURRENT EST ORDINAL
- CMD4 RJM CDC CLEAR ISMD CHANNELS
- LDD EQ SET EST ORDINAL
- STM TENB,T6
- LJM CMDX RETURN
- LPT SPACE 4,10
- *** EQXXX=LQ.
- * EQXXX=LR-P.
- * EQXXX=LS-P.
- * EQXXX=LT-P.
- *
- * IF *-P* IS PRESENT, SPECIFIES 580 PFC PRINTER.
- LPT1 AOD KA
- LDC 200 SET 580 PFC BIT
- RAD CN
- LPT2 RJM KWP PROCESS KEYWORDS
- LPT SUBR ENTRY/EXIT
- LDD CN CLEAR 580 PFC BIT
- LPC 7577
- STD CN
- LDI KA CHECK SEPARATOR
- LMN 1R-
- NJN LPT2 IF NOT *-*
- AOD KA SKIP *-*
- LDI KA CHECK FOR 580 PFC
- LMN 1RP
- ZJN LPT1 IF 580 PFC
- JMP ILL PROCESS INCORRECT ENTRY
- LXT SPACE 4,10
- *** EQXXX=LX.
- * EQXXX=LY.
- LXT1 RJM KWP PROCESS KEYWORDS
- LDD CN+1
- LPN 37
- STD T1
- LDN CNCX SET NO LOAD OF NIP CONTROLWARE
- STM TCHS,T1
- RJM SCC UPDATE CONTROLWARE TABLE
- LXT SUBR ENTRY/EXIT
- LDD CN
- LPN 57
- LMN 20 SET CONTROLWARE LOAD REQUIRED
- STD CN
- LDC 700 FORCE TRAIN = 7
- STD CN+4
- UJN LXT1 COMPLETE PROCESSING
- MMT SPACE 4,20
- *** EQXXX=MT-N.
- * EQXXX=NT-N.
- * EQXXX=CT-N.
- * EQXXX=AT-N.
- *
- * *N* CONSECUTIVE EST ENTRIES ARE GENERATED BEGINNING AT *XXX*.
- *
- * THE *N* UNITS BEGIN WITH THE UNIT NUMBER SPECIFIED BY *UN=*
- * AND MUST BE NUMBERED CONSECUTIVELY.
- *
- * FOR *AT* UNITS, THE ACS DRIVE INDEXES FOR THE *N* UNITS
- * BEGIN WITH THE DRIVE INDEX SPECIFIED BY *DR=* AND MUST BE
- * NUMBERED CONSECUTIVELY.
- *
- * FOR *CT* AND *AT* UNITS DEFINED WITH DUAL CHANNEL ACCESS,
- * THE PRIMARY AND SECONDARY CHANNELS WILL BE REVERSED FOR EACH
- * CONSECUTIVE EST ENTRY GENERATED.
- MMT CON 0 ENTRY
- LDI KA CHECK SEPARATOR
- LMN 1R,
- ZJN MMT1 IF *,*
- LMN 1R-&1R,
- NJN MMT2 IF NOT *-*
- AOD KA
- RJM CDR ASSEMBLE NUMBER OF UNITS
- LMN 1R,
- NJN MMT2 IF INCORRECT SEPARATOR
- LDD AB+4
- ZJN MMT2 IF NULL UNIT COUNT
- SBN 21
- PJN MMT2 IF UNIT COUNT TOO LARGE
- ADN 20
- MMT1 ADN 1 SET UNIT COUNT
- STM MMTA
- ADD EQ
- SBK ESMX+1
- MJN MMT3 IF LAST UNIT DOES NOT EXCEED MAXIMUM
- MMT2 JMP ILL PROCESS INCORRECT ENTRY
- MMT3 RJM KWP PROCESS KEYWORDS
- LDD CN+4
- LPN 17
- ADM MMTA
- SBN 21
- PJN MMT2 IF UNIT NUMBER OVERFLOW
- LDD CN+3
- LMC 2RAT
- NJN MMT3.1 IF NOT *AT* DEVICE
- LDM EBUT+5+2
- LPN 7
- ADM MMTA
- SBN 5
- PJN MMT2 IF ACS DRIVE INDEX OVERFLOW
- MMT3.1 LDD EQ
- STD T6
- ADM MMTA SET NEXT EST ORDINAL
- STD T7
- MMT4 LDD EB READ PREVIOUS EQUIPMENT DEFINITION
- SHN 5
- ADD T6
- SHN 1
- CRD AB
- LDD AB CHECK ORIGINAL EQUIPMENT STATUS
- SHN 21-13
- MJP MMT2 IF REDEFINING MS
- AOD T6
- LMD T7
- NJN MMT4 IF NOT END OF UNITS
- RJM CHD CHECK ISMT DUAL CHANNEL ERROR
- LDD CN+1 FIRST CHANNEL
- RJM CHN CHECK ISMT DUPLICATE CHANNEL ERROR
- LDD CN+2 SECOND CHANNEL
- ZJN MMT5 IF NO SECOND CHANNEL
- RJM CHN CHECK ISMT DUPLICATE CHANNEL ERROR
- MMT5 LDD EB
- SHN 5
- ADD EQ ENTER TAPE DEFINITION IN EST BUFFER
- SHN 1
- CWD CN
- ADN 1
- CWM EBUT+5,ON
- AOD CN+4 ADVANCE UNIT NUMBER
- LDD CN+3
- LMC 2RAT
- NJN MMT5.1 IF NOT *AT* DEVICE
- AOM EBUT+5+2 ADVANCE ACS DRIVE INDEX
- MMT5.1 AOD EQ
- LMD T7
- ZJN MMT6 IF ALL UNITS DEFINED
- RJM RCC REVERSE CHANNELS FOR CARTRIDGE TAPE
- UJN MMT5 DEFINE REMAINING UNITS
- MMT6 SOD EQ
- RJM CLE CHECK LAST EQUIPMENT
- JMP KBR RETURN
- MMTA CON 0 UNIT COUNT
- NAD SPACE 4,15
- ** EQXXX=NC.
- NAD SUBR ENTRY/EXIT
- ZJN NAD1 IF NOT INITIAL EQUIPMENT ENTRY
- LDC 3000 SET ALLOCATABLE, CONTROLWARE NOT LOADED
- RAD CN
- NAD1 RJM KWP
- LDD CN+1 CHANNEL NUMBER
- LPN 37
- STD T1
- LDN CNND SET NO LOAD OF NAD CONTROLWARE
- STM TCHS,T1
- RJM SCC
- UJN NADX RETURN
- KWP SPACE 4,10
- ** KWP - KEYWORD MAIN PROCESSOR.
- *
- * ENTRY (KA) = ADDRESS OF SEPARATOR CHARACTER.
- * (TA) = *TVRK* ENTRY ADDRESS.
- KWP SUBR ENTRY/EXIT
- KWP1 AOD KA
- LDI KA ASSEMBLE KEYWORD
- SHN 6
- LMM 1,KA
- STD AB
- LDN 2 ADVANCE KEYBOARD BUFFER ADDRESS
- RAD KA
- LDI KA
- LMN 1R=
- NJN KWP3 IF INCORRECT SEPARATOR
- AOD KA
- LDC TKWP-TKWPL
- STD T3
- KWP2 LDN TKWPL
- RAD T3
- LDI T3
- NJN KWP4 IF NOT END OF TABLE
- KWP3 JMP ILL PROCESS INCORRECT ENTRY
- KWP4 STD T2
- LDD AB
- LMI T2
- NJN KWP2 IF NOT MATCH
- RJM VKW VALIDATE KEYWORD
- * EXIT TO KEYWORD PROCESSOR.
- * (T3) = ADDRESS OF *TKWP* ENTRY.
- * (KA) = ADDRESS OF KEYWORD VALUE FIRST CHARACTER.
- LJM 1,T2 EXIT TO PROCESSOR
- * RETURN FROM KEYWORD PROCESSOR.
- * (KA) = ADDRESS OF SEPARATOR CHARACTER.
- KWP5 LDI KA CHECK SEPARATOR
- LMN 1R,
- ZJN KWP1 IF NOT END OF ENTRY
- LMN 1R.&1R,
- NJN KWP3 IF INCORRECT SEPARATOR
- LDM TRQP
- ZJN KWP7 IF NOT INITIAL ENTRY
- LDN KTWC
- STD T2
- LDN TVRKL
- RAD TA
- KWP6 SOD TA
- LDI TA
- STM KWPA
- LDM TRQP,T2
- LPC **
- KWPA EQU *-1
- LMI TA
- NJN KWP3 IF REQUIRED KEYWORD NOT SPECIFIED
- SOD T2
- NJN KWP6 IF MORE KEYWORDS TO CHECK
- KWP7 LDD CN
- LPN 3
- LMN 3
- ZJN KWP9 IF DEVICE IS DOWN
- LDD CN+1 CHECK PRIMARY CHANNEL
- SHN 21-13
- PJN KWP9 IF NO PRIMARY CHANNEL
- SHN 21-12-21+13
- PJN KWP9 IF CHANNEL IS UP
- LDD CN+2 CHECK SECONDARY CHANNEL
- SHN 21-13
- PJN KWP8 IF NO SECONDARY CHANNEL
- SHN 21-12-21+13
- PJN KWP9 IF CHANNEL IS UP
- KWP8 JMP ILL PROCESS INCORRECT ENTRY
- KWP9 LJM KWPX RETURN
- TITLE MISCELLANEOUS EQUIPMENT DEFINITION SUBROUTINES.
- CDC SPACE 4,15
- ** CDC - CLEAR ISMD CHANNELS.
- *
- * ENTRY (EBUT) = PREVIOUS EBUT *CM* EQUIPMENT ENTRY.
- *
- * EXIT CHANNEL NUMBERS ARE CLEARED IN ALL ISMD DEVICE ENTRIES
- * WHICH HAVE THE FIRST UNIT ON THIS *CM* EQUIPMENT.
- *
- * USES T1, T2, T3.
- *
- * CALLS SDC.
- CDC SUBR ENTRY/EXIT
- LDM EBUT+4 SAVE EQUIPMENT NUMBER
- SHN -11
- STD T1
- LDM EBUT+3
- LMC 2RCM
- NJN CDCX IF NOT CONTROL MODULE
- STM TENB,T1 CLEAR EST ORDINAL
- STD T3
- LDN 37 SET NO CHANNEL SPECIFIED
- STD T2
- RJM SDC SET ISMD CHANNELS
- UJN CDCX RETURN
- CLE SPACE 4,15
- ** CLE - CHECK LAST EQUIPMENT.
- *
- * ENTRY (EQ) = CURRENT EST ORDINAL.
- * (LE) = LAST EQUIPMENT DEFINED.
- * (CN - CN+4) = CURRENT EQUIPMENT DEFINITION.
- *
- * EXIT (LE) = CURRENT LAST EQUIPMENT.
- * (EQ) = CURRENT EST ORDINAL + 1.
- *
- * USES T5, CN - CN+4.
- *
- * CALLS IBF.
- CLE3 AOD EQ CHECK NEW EQUIPMENT DEFINITION
- SBD LE
- PJN CLE2 IF ORDINAL .GE. PREVIOUS HIGH
- CLE SUBR ENTRY/EXIT
- LDD CN+3
- NJN CLE3 IF DEFINING EQUIPMENT
- AOD EQ
- LMD LE
- NJN CLEX IF NOT CLEARING LAST EQUIPMENT
- CLE1 SOD LE
- SHN 14+1
- ADD EB SEARCH FOR LAST EQUIPMENT
- SHN 6
- CRD CN
- LDD CN+3
- ZJN CLE1 IF EQUIPMENT UNDEFINED
- LDN 1
- CLE2 RAD LE UPDATE LAST EQUIPMENT
- STD T5
- LDN UECF SEND COUNT TO BUFFER PP
- RJM IBF
- UJN CLEX RETURN
- CML SPACE 4,10
- ** CML - CHECK MASS STORAGE LIMIT.
- *
- * ENTRY (CN - CN+4) = CURRENT EQUIPMENT DEFINITION.
- * (EBUT - EBUT+4) = PREVIOUS EQUIPMENT DEFINITION.
- CML SUBR ENTRY/EXIT
- LDI ES
- LMD CN CHECK REDEFINITION
- SHN 0-13
- ZJN CMLX IF NO CHANGE IN STATUS
- AOM MSLM ADVANCE MASS STORAGE LIMIT
- UJN CMLX RETURN
- EDC SPACE 4,20
- ** EDC - ENTER ISMD CHANNELS.
- *
- * ENTRY (CN - CN+4) = EQUIPMENT ENTRY.
- * (EQ) = CURRENT EST ORDINAL.
- *
- * EXIT (EQ) = CURRENT EST ORDINAL.
- * IF DEVICE TYPE = *CM*, THE CHANNEL NUMBERS ARE SET IN
- * ALL ISMD ENTRIES WHICH HAVE THE FIRST UNIT ON THIS
- * *CM* EQUIPMENT.
- *
- * USES T1, T2, T3, CM - CM+4.
- *
- * CALLS SDC.
- EDC SUBR ENTRY/EXIT
- LDD CN+3
- LMC 2RCM
- NJN EDCX IF NOT *CM* DEVICE
- LDD CN+4 SET EQUIPMENT NUMBER
- SHN -11
- STD T1
- LDD CN+1 SET CHANNEL NUMBERS
- STD T2
- LDD CN+2
- STD T3
- RJM SDC SET ISMD CHANNELS
- UJN EDCX RETURN
- RCC SPACE 4,10
- ** RCC - REVERSE CHANNELS FOR CARTRIDGE TAPE.
- *
- * IF *CT* OR *AT* DEVICE WITH DUAL CHANNEL ACCESS DEFINED,
- * REVERSE THE PRIMARY AND SECONDARY CHANNELS.
- *
- * ENTRY (CN - CN+4) = FIRST WORD OF EST ENTRY.
- *
- * EXIT (CN - CN+4) = UPDATED FIRST WORD OF EST ENTRY.
- *
- * USES CN+1, CN+2, T1.
- RCC SUBR ENTRY/EXIT
- LDD CN+3
- LMC 2RCT
- ZJN RCC1 IF *CT* EQUIPMENT
- LMC 2RAT&2RCT
- NJN RCCX IF NOT *AT* EQUIPMENT
- RCC1 LDD CN+2
- ZJN RCCX IF NO SECOND CHANNEL
- STD T1
- LDD CN+1 REVERSE CHANNELS
- STD CN+2
- LDD T1
- STD CN+1
- UJN RCCX RETURN
- SDC SPACE 4,15
- ** SDC - SET ISMD CHANNELS.
- *
- * ENTRY (T1) = *CM* EQUIPMENT NUMBER.
- * (T2) = FIRST CHANNEL.
- * (T3) = SECOND CHANNEL.
- *
- * EXIT CHANNEL NUMBERS ARE SET IN ALL ISMD DEVICE ENTRIES
- * WHICH HAVE THE FIRST UNIT ON THIS *CM* EQUIPMENT.
- *
- * USES T5.
- *
- * CALLS EEB, SID, STA.
- SDC2 LDD T5 RESTORE *EQ* CONTENTS
- RJM STA
- SDC SUBR ENTRY/EXIT
- LDD EQ SAVE CONTENTS OF *EQ*
- STD T5
- RJM EEB SAVE *EBUT*
- LCN 0
- SDC1 RJM SID SEARCH FOR ISMD DEVICE
- MJN SDC2 IF NONE FOUND
- LDM TDDB+DVUN+3 GET FIRST UNIT EQUIPMENT NUMBER
- LPN 70
- SHN -3
- LMD T1
- NJN SDC1 IF NOT THIS *CM* EQUIPMENT NUMBER
- LDD T2 SET CHANNEL NUMBERS
- STM EBUT+1
- LDD T3
- STM EBUT+2
- RJM EEB ENTER EQUIPMENT ENTRY
- UJN SDC1 FIND NEXT ISMD ENTRY
- VKW SPACE 4,10
- ** VKW - VALIDATE KEYWORD.
- *
- * ENTRY (TA) = *TVRK* ENTRY ADDRESS.
- * (T3) = *TKWP* ENTRY ADDRESS.
- * (KA) = CHARACTER ADDRESS OF KEYWORD VALUE.
- *
- * EXIT (A) = (AB+4) = 0, IF NULL VALUE SPECIFIED.
- * TO *ILL* IF INCORRECT KEYWORD OR NULL VALUE SPECIFIED
- * AND NULL VALUE NOT ALLOWED.
- *
- * USES T5, T6, T7, AB+4.
- *
- * CALLS CSC.
- VKW SUBR ENTRY/EXIT
- LDM 1,T3 GET KEYWORD BIT POSITION
- SHN 14
- LMD TH
- ERRNZ 1000-SHNI ADJUST IF VALUE CHANGES
- STM VKWA
- SHN -14 GET KEYWORD WORD OFFSET
- STD T6
- ADD TA ADDRESS OF *TVRK* WORD
- STD T5
- LDN 1 GENERATE KEYWORD BIT MASK
- VKWA SHN **
- STD T7
- STM VKWB
- STM VKWC
- LDI T5 CHECK IF KEYWORD ALLOWED
- LPC 0
- VKWB EQU *-1
- NJN VKW2 IF KEYWORD IS ALLOWED
- VKW1 JMP ILL PROCESS INCORRECT ENTRY
- VKW2 LDC TRQP SET KEYWORD SPECIFIED BIT
- RAD T6
- LDI T6
- LPC 0
- VKWC EQU *-1
- NJN VKW1 IF KEYWORD ALREADY PROCESSED
- LDD T7
- RAI T6
- RJM CSC CHECK FOR NULL VALUE
- NJN VKW3 IF NOT NULL VALUE
- LDM 2,T3 CHECK *TKWP*
- SHN 21-5
- PJN VKW1 IF NULL VALUE NOT ALLOWED
- LDN 0 CLEAR VALUE
- STD AB+4
- VKW3 LJM VKWX RETURN
- STV SPACE 4,10
- ** STV - STORE KEYWORD VALUE.
- *
- * ENTRY (AB+4) = KEYWORD VALUE.
- * (T3) = ADDRESS OF KEYWORD PARAMETERS.
- * (CN - CN+4) = *EQDE* EST WORD.
- * (EBUT+5 - EBUT+11) = *EQAE* EST WORD.
- *
- * EXIT KEYWORD VALUE STORED IN EST ENTRY.
- STV SUBR ENTRY/EXIT
- LDM 2,T3
- SHN 14 SET SHIFT COUNT
- LMD TH
- ERRNZ 1000-SHNI ADJUST IF VALUE CHANGES
- STM STVB
- SHN -14 SET EST ENTRY LOCATION
- LPN 37
- STD T0
- SBN 5
- MJN STV1 IF IN *EQDE* WORD
- LDC EBUT
- UJN STV2 PROCESS DATA
- STV1 LDN CN
- STV2 ADD T0
- STD T7
- LDM 3,T3 SET MASK
- STM STVA
- LDI T7 UPDATE EST ENTRY
- LPC **
- STVA EQU *-1
- STI T7
- LDD AB+4
- STVB SHN ** POSITION KEYWORD VALUE
- RAI T7 STORE KEYWORD VALUE
- UJN STVX RETURN
- TITLE KEYWORD PROCESSORS.
- AOK SPACE 4,10
- ** AOK - ASSEMBLE OCTAL KEYWORD VALUE.
- *
- * ENTRY (A) = 6/MINIMUM VALUE, 12/MAXIMUM VALUE+1
- *
- * EXIT TO *KWP5*, KEYWORD VALUE STORED.
- * TO *ILL* IF INCORRECT VALUE.
- *
- * USES T6, T7.
- *
- * CALLS CDR, STV.
- AOK BSS 0
- STD T7 SAVE MAXIMUM VALUE+1
- SHN -14
- STD T6 SAVE MINIMUM VALUE
- RJM CDR ASSEMBLE KEYWORD VALUE
- LDD AB+4
- SBD T6
- PJN AOK2 IF VALUE .GE. MINIMUM
- AOK1 JMP ILL PROCESS INCORRECT ENTRY
- AOK2 LDD AB+4
- SBD T7
- PJN AOK1 IF VALUE .GT. MAXIMUM
- RJM STV STORE VALUE
- JMP KWP5 RETURN
- PCH SPACE 4,10
- *** CH=C1/C2.
- *
- * CHANNEL NUMBER.
- * CN = 15B, IF EQUIPMENT TYPE IS *RM*.
- * CN = 0-13B, 20-33B, FOR ALL OTHER EQUIPMENT TYPES.
- PCH DATA H*CH*
- LDN CN+1 SET CHANNEL BYTE ADDRESS
- STD T4
- LDM 2,MS
- LPN 77 MAXIMUM CHANNELS ALLOWED
- ADN CN+1
- STD T3
- LDN 0 CLEAR CHANNEL BUFFER
- STD CN+1
- STD CN+2
- LDD CN+3
- LMC 2RRM
- NJN PCH7 IF NOT TYPE *RM*
- RJM CDR
- LDD AB+4
- SBN 15
- NJN PCH6 IF INCORRECT CHANNEL NUMBER
- LDC 4000+CHMX
- LJM PCH9 SET CHANNEL DATA
- PCH5 LDD T4
- SBD T3
- MJN PCH7 IF MORE CHANNELS ALLOWED
- PCH6 JMP ILL PROCESS INCORRECT ENTRY
- PCH7 LDC 4000 SET CHANNEL ACCESSIBLE
- STI T4
- LDI KA CHECK SEPARATOR
- SBN 1R8
- PJN PCH6 IF NULL CHANNEL PARAMETER
- RJM CDR ASSEMBLE CHANNEL NUMBER
- RJM VCN VALIDATE CHANNEL NUMBER
- LDD AB+4 APPEND CHANNEL NUMBER
- PCH9 RAI T4
- LPN 77 CHECK CHANNEL DATA
- STD AB+4
- LDM TCST,AB+4
- ZJN PCH12 IF CHANNEL IS NOT DOWN
- LDC 3000 MARK CHANNEL DOWN
- RAI T4
- PCH12 RJM CSC CHECK SEPARATOR CHARACTER
- NJN PCH13 IF INVALID KEYWORD SEPARATOR
- JMP KWP5 RETURN
- PCH13 LMN 1R/&1R,
- NJN PCH6 IF INVALID SEPARATOR
- AOD T4
- AOD KA
- LJM PCH5 PROCESS NEXT CHANNEL
- PCW SPACE 4,10
- *** CW=CC.
- *
- * CONTROL MODULE CONTROLWARE.
- * CC = *CM*, *NCM*, *C2*, OR *NC2*.
- PCW DATA H*CW*
- LDN TCMCL INITIALIZE TABLE OFFSET
- STD T7
- SOD KA
- LDN 4
- RJM ASN
- NJN PCW2 IF ERROR IN ASSEMBLY
- PCW1 LCN 3
- RAD T7
- PJN PCW3 IF NOT END OF TABLE
- PCW2 JMP ILL PROCESS INCORRECT ENTRY
- PCW3 LDM TCMC,T7
- LMD CM
- NJN PCW1 IF NO MATCH
- LDM TCMC+1,T7
- LMD CM+1
- NJN PCW1 IF NO MATCH
- LDM TCMC+2,T7
- STD AB+4
- RJM STV STORE VALUE
- JMP KWP5 RETURN
- TCMC SPACE 4,10
- * TCMC - TABLE OF CONTROL MODULE CONTROLWARE TYPES.
- TCMC BSS 0
- VFD 24/0LCM,12/CMCW
- VFD 24/0LNCM,12/CMCW+40
- VFD 24/0LC2,12/C2CW
- VFD 24/0LNC2,12/C2CW+40
- TCMCL EQU *-TCMC TABLE LENGTH
- PDR SPACE 4,10
- *** DR=N.
- *
- * ACS DRIVE INDEX.
- * N = 0-3.
- PDR DATA H*DR*
- LDN 4 SET MAXIMUM VALUE + 1
- JMP AOK ASSEMBLE KEYWORD VALUE
- PEQ SPACE 4,10
- *** EQ=N.
- *
- * EQUIPMENT (CONTROLLER) NUMBER.
- * N = 0-7.
- PEQ DATA H*EQ*
- LDN 10 SET MAXIMUM VALUE + 1
- JMP AOK ASSEMBLE KEYWORD VALUE
- PFC SPACE 4,10
- *** FC=XX.
- *
- * FORMS CODE.
- * XX = 2 ALPHANUMERIC CHARACTERS IN THE RANGE AA-99.
- PFC DATA H*FC*
- ZJN PFC3 IF NULL VALUE
- SOD KA
- LDN 3 ASSEMBLE FORMS CODE
- RJM ASN
- NJN PFC1 IF INCORRECT FORMS CODE
- LDD T0
- SBN 2
- ZJN PFC2 IF 2 CHARACTERS
- PFC1 JMP ILL PROCESS INCORRECT ENTRY
- PFC2 LDD CM
- STD AB+4
- PFC3 RJM STV STORE VALUE
- JMP KWP5 RETURN
- PIB SPACE 4,10
- *** IB=N.
- *
- * INSTALLATION BYTE.
- * N = 0B - 7777B.
- PIB DATA H*IB*
- RJM AOD ASSEMBLE INSTALLATION BYTE VALUE
- STM EBUT+5
- JMP KWP5 RETURN
- PID SPACE 4,10
- *** ID=N.
- *
- * UNIT RECORD ID.
- * N = 0-67B.
- PID DATA H*ID*
- ZJN PID1 IF NULL VALUE
- RJM CDR ASSEMBLE ID
- LDD AB+4
- SBN IDLM
- MJN PID1 IF VALID ID
- JMP ILL PROCESS INCORRECT ENTRY
- PID1 RJM STV STORE VALUE
- JMP KWP5 RETURN
- PLS SPACE 4,10
- *** LS=N.
- *
- * ACS LSM INDEX.
- * N = 0-17B.
- PLS DATA H*LS*
- LDN 20 SET MAXIMUM VALUE + 1
- JMP AOK ASSEMBLE KEYWORD VALUE
- PND SPACE 4,10
- *** ND=N.
- *
- * NPU NODE NUMBER.
- * N = 1-377B.
- PND DATA H*ND*
- LDC 1S12+400 SET MINIMUM VALUE, MAXIMUM VALUE+1
- JMP AOK ASSEMBLE KEYWORD VALUE
- PNT SPACE 4,10
- *** NT=N.
- *
- * MDI NODE NUMBER.
- * N = 1-377B.
- PNT DATA H*NT*
- LDC 1S12+400 SET MINIMUM VALUE, MAXIMUM VALUE+1
- JMP AOK ASSEMBLE KEYWORD VALUE
- PPA SPACE 4,10
- *** PA=N.
- *
- * ACS PANEL INDEX.
- * N = 0-23B.
- PPA DATA H*PA*
- LDN 24 SET MAXIMUM VALUE + 1
- JMP AOK ASSEMBLE KEYWORD VALUE
- PPI SPACE 4,10
- *** PI=N.
- *
- * PIP INDEX.
- * N = 1-4.
- PPI DATA H*PI*
- LDC 1S12+5 SET MINIMUM VALUE, MAXIMUM VALUE+1
- JMP AOK ASSEMBLE KEYWORD VALUE
- PPS SPACE 4,10
- *** PS=X.
- *
- * PAPER SIZE.
- * X = *S* (SHORT) OR *L* (LONG).
- PPS DATA H*PS*
- LDI KA
- LMN 1RL
- ZJN PPS2 IF LONG PAPER
- LMN 1RS&1RL
- ZJN PPS1 IF SHORT PAPER
- JMP ILL PROCESS INCORRECT ENTRY
- PPS1 LDD CN
- SHN -7 USE PFC FLAG TO SET LAST PFC LOADED FLAG
- LPN 1
- LMN 2 SET SHORT PAPER FLAG
- PPS2 STD AB+4
- RJM STV STORE VALUE
- AOD KA
- JMP KWP5 RETURN
- PPT SPACE 4,10
- *** PT=N.
- *
- * PORT NUMBER OR NUMBER OF PORTS.
- * N = 0 OR 1 (MULTIPLEXER PORT NUMBER) IF *RM* EQUIPMENT TYPE.
- * = 1-1000B (NUMBER OF PORTS) IF *TT* STIMULATOR.
- PPT DATA H*PT*
- RJM CDR ASSEMBLE PORT NUMBER
- LDD CN+3
- LMC 2RTT
- ZJN PPT5 IF *TT* STIMULATOR EQUIPMENT TYPE
- LDD AB+4 MULTIPLEXER PORT NUMBER
- SHN -1
- ZJN PPT2 IF .LE. 1
- PPT1 JMP ILL PROCESS INCORRECT ENTRY
- PPT2 LCN 1 SET MASK IN *TKWP* ENTRY
- PPT3 STM 3,T3
- RJM STV STORE VALUE
- JMP KWP5 RETURN
- PPT5 LDD AB+4 NUMBER OF PORTS TO STIMULATE
- ZJN PPT1 IF .EQ. 0
- SBN 1
- SHN -11
- NJN PPT1 IF .GT. 1000B
- LDD AB+4
- LPC 777
- STD AB+4
- LDC 7000
- UJN PPT3 SET MASK
- PSA SPACE 4,10
- *** SA=STATUS.
- *
- * 255X SYSTEM AUTOSTART MODULE (SAM) FLAG.
- * STATUS = *ON* OR *OFF*.
- *
- * *ON* = *SAM* IS PRESENT.
- * *OFF* = *SAM* IS ABSENT.
- PSA DATA H*SA*
- RJM AST ASSEMBLE *SAM* STATUS
- SHN 21-0
- PJN PSA2 IF *ON* OR *OFF*
- JMP ILL PROCESS INCORRECT ENTRY
- PSA2 LMN 1 COMPLEMENT FLAG
- STD AB+4
- RJM STV STORE VALUE
- JMP KWP5 RETURN
- PST SPACE 4,10
- *** ST=STATUS.
- *
- * DEVICE STATUS.
- * STATUS = *ON* OR *OFF* OR *DOWN*.
- *
- * *ON* = EQUIPMENT AVAILABLE FOR ACCESS.
- * *OFF* OR *DOWN* = EQUIPMENT UNAVAILABLE FOR ACCESS.
- PST DATA H*ST*
- RJM AST ASSEMBLE STATUS
- RJM STV STORE VALUE
- JMP KWP5 RETURN
- PTF SPACE 4,10
- *** TF=XXX.
- *
- * TAPE FLAG.
- * XXX = ATS - DEVICE IS 67X (ATS) UNIT.
- * FSC - DEVICE IS FSC UNIT.
- * MTS - DEVICE IS 66X (MTS) UNIT.
- * IST - DEVICE IS ISMT UNIT.
- * CMTGE - DEVICE IS 698 (CMTS) UNIT.
- * ATSGE - ATS UNIT WITH GE (6250 CPI) CAPABILITY.
- * FSCGE - FSC UNIT WITH GE (6250 CPI) CAPABILITY.
- PTF DATA H*TF*
- LDI KA ASSEMBLE TAPE FLAG
- SHN 6
- LMM 1,KA
- STD AB
- LDN 2
- RAD KA
- LDI KA
- SHN 6
- STD AB+1
- AOD KA
- LDC TTFO-3 SEARCH TAPE FLAG OPTION TABLE
- STD T1
- PTF1 LDN 3
- RAD T1
- LDI T1 COMPARE FIRST 2 CHARACTERS
- ZJN PTF2 IF END OF TABLE
- LMD AB
- NJN PTF1 IF NOT MATCH
- LDM 1,T1 COMPARE NEXT CHARACTER
- SCN 77
- LMD AB+1
- NJN PTF1 IF NOT MATCH
- LDM 2,T1 SET TAPE FLAG VALUE
- STD AB+4
- RJM CIT CHECK ISMT DEVICES
- RJM CSC CHECK SEPARATOR CHARACTER
- ZJN PTF4 IF *,* OR *.*
- LDM 1,T1
- SHN 21-5
- MJN PTF3 IF *GE* ALLOWED
- PTF2 JMP ILL PROCESS INCORRECT ENTRY
- PTF3 LDI KA
- SHN 6
- LMM 1,KA
- LMC 2RGE
- NJN PTF2 IF NOT *GE*
- LDN 2
- RAD KA
- LDN 4
- RAD AB+4
- PTF4 RJM STV STORE VALUE
- JMP KWP5 RETURN
- TTFO SPACE 4,10
- ** TTFO - TABLE OF TAPE FLAG OPTIONS.
- * ENTRY = 3 WORDS.
- *
- *T, 18/ TO, 1/ GE, 5/, 12/ OV
- * TO = 3 CHARACTER TAPE FLAG OPTION.
- * GE = GE (6250 CPI) CAPABILITIES ALLOWED.
- * OV = OPTION VALUE.
- TTFO BSS 0
- VFD 18/3LATS,1/1,5/0,12/40
- VFD 18/3LFSC,1/1,5/0,12/60
- VFD 18/3LMTS,1/0,5/0,12/100
- TTFOA VFD 18/3LIST,1/1,5/0,12/42
- VFD 18/3LCMT,1/1,5/0,12/41
- CON 0
- PTN SPACE 4,10
- *** TN=N.
- *
- * PRINTER WITH TRAIN CARTRIDGE N.
- * N = 0-7.
- * 0-3 = CDC GRAPHIC 64-CHARACTER SET.
- * 4-5 = ASCII GRAPHIC 64-CHARACTER SET.
- * 6 = ASCII GRAPHIC 95-CHARACTER SET.
- * 7 = ASCII GRAPHIC 95-CHARACTER SET USED AS AN
- * ASCII 64-CHARACTER SET.
- PTN DATA H*TN*
- LDN 10 SET MAXIMUM VALUE+1
- JMP AOK ASSEMBLE KEYWORD VALUE
- PUN SPACE 4,10
- *** UN=U1.
- *
- * UNIT NUMBER.
- * UN = 0-77B (MAXIMUM UNIT NUMBER IS DEVICE DEPENDENT).
- PUN DATA H*UN*
- LDI KA
- SBN 1R8
- PJN PUN1 IF NULL UNIT PARAMETER
- RJM CDR ASSEMBLE UNIT NUMBER
- RJM CSC
- NJN PUN1 IF INCORRECT SEPARATOR
- LDM 2,MS
- SHN -6
- STM PUNA
- SBD AB+4
- PJN PUN2 IF UNIT NUMBER .LE. LIMIT
- PUN1 JMP ILL PROCESS INCORRECT ENTRY
- PUN2 LDD CN+4 SET UNIT NUMBER
- LPC * MASK EXISTING UNIT NUMBER
- PUNA EQU *-1
- LMD CN+4 CLEAR OLD UNIT NUMBER
- LMD AB+4 ADD NEW UNIT NUMBER
- STD CN+4
- JMP KWP5 RETURN
- PW0 SPACE 4,10
- *** W0=N.
- *
- * EST ENTRY WORD 0.
- * N = OCTAL VALUE OF EST ENTRY WORD 0 (20 DIGIT MAXIMUM).
- PW0 DATA H*W0*
- RJM AOD ASSEMBLE OCTAL DIGITS
- LDN JSNL
- CWD AB
- CRD CN
- JMP KWP5 RETURN
- PW1 SPACE 4,10
- *** W1=N.
- *
- * EST ENTRY WORD 1.
- * N = OCTAL VALUE OF EST ENTRY WORD 1 (20 DIGIT MAXIMUM).
- PW1 DATA H*W1*
- RJM AOD ASSEMBLE OCTAL DIGITS
- LDN JSNL
- CWD AB
- CRM EBUT+5,ON
- JMP KWP5 RETURN
- TITLE MISCELLANEOUS KEYWORD SUBROUTINES.
- AODSUB
- ASNSUB
- AST SPACE 4,15
- ** AST - ASSEMBLE STATUS.
- *
- * EXIT (A) = (AB+4) = STATUS.
- * 0 = ON.
- * 2 = OFF.
- * 3 = DOWN.
- *
- * USES KB, ST.
- *
- * CALLS AKL7.
- AST1 DATA C*DOWN*
- LDN 3
- UJN AST5 SET *DOWN* STATUS
- AST2 DATA C*OFF*
- LDN 2
- UJN AST5 SET *OFF* STATUS
- AST4 DATA C*ON*
- LDN 0
- AST5 STD AB+4 SET STATUS
- AST SUBR ENTRY/EXIT
- LDC ASTA-1
- STD ST SET SYNTAX TABLE ADDRESS
- LDD KA
- STD KB
- LJM AKL7 ASSEMBLE STATUS
- ASTA CON AST4
- CON AST2
- CON AST1
- CON 0 END OF STATUS SYNTAX TABLE
- CDRSUB
- CIT SPACE 4,10
- ** CIT - CHECK ISMT DEVICES.
- *
- * ENTRY (T1) = TAPE FLAG.
- * (MMTA) = UNIT COUNT.
- *
- *
- * EXIT TO *ILL* IF ERROR.
- CIT SUBR ENTRY/EXIT
- LDD T1 TAPE FLAG
- LMC TTFOA
- NJN CITX IF NOT ISMT DEVICE
- LDM ISPF
- SHN 21-13
- MJN CIT1 IF NOT CYBER 170-810/815/825/830
- LDM MMTA UNIT COUNT
- SBN 1
- ZJN CITX IF VALID UNIT COUNT
- CIT1 JMP ILL PROCESS INCORRECT ENTRY
- CHN SPACE 4,10
- ** CHN - CHECK ISMT DUPLICATE CHANNEL ERROR.
- *
- * ENTRY (A) = TAPE CHANNEL.
- * (CN - CN+4) = EST ENTRY.
- * (EB) = *EBUF* POINTER.
- *
- * USES T1, T2, AB - AB+4.
- *
- * CALLS CKC.
- CHN SUBR ENTRY/EXIT
- LPN 37
- STD T2
- LDD LE SET START OF SEARCH
- STD T1
- CHN1 SOD T1 DECREMENT EST ORDINAL
- SBN NOPE
- MJN CHNX IF NO MORE TO CHECK
- LDD EB READ EST ENTRY
- SHN 5
- ADD T1
- SHN 1
- ADK EQDE
- CRD AB
- LDD AB+3
- ZJN CHN1 IF EMPTY ENTRY
- LMC 2RDE
- ZJN CHN1 IF TYPE *DE*
- LDD AB+1
- RJM CKC CHECK FIRST CHANNEL
- LDD AB+2
- ZJN CHN1 IF NO SECOND CHANNEL
- RJM CKC CHECK SECOND CHANNEL
- UJN CHN1 GET NEXT EST ENTRY
- CKC SPACE 4,10
- ** CKC - CHECK CHANNELS.
- *
- * ENTRY (A) = CHANNEL DATA.
- * (T1) = EST ORDINAL TO CHECK.
- * (T2) = CHANNEL TO COMPARE AGAINST.
- * (EQ) = CURRENT EST ORDINAL.
- * (CN - CN+4) = CURRENT EST ENTRY.
- * (AB - AB+4) = EST ENTRY TO COMPARE AGAINST.
- *
- * EXIT TO *ILL* IF ISMT DUPLICATE CHANNEL ERROR.
- CKC SUBR ENTRY/EXIT
- LPN 77
- LMD T2
- NJN CKCX IF NOT SAME CHANNEL
- LDD EQ CURRENT EST ORDINAL
- LMD T1
- ZJN CKCX IF SAME EST ORDINAL
- LDD CN
- SHN 21-3
- MJN CKC2 IF ISMT
- LDD AB
- SHN 21-3
- PJN CKCX IF NOT ISMT ENTRY
- CKC2 JMP ILL PROCESS ERROR
- CHD SPACE 4,10
- ** CHD - CHECK ISMT DUAL CHANNEL ERROR.
- *
- * ENTRY (CN - CN+4) = EST ENTRY.
- *
- * EXIT TO *ILL* IF ISMT DUAL CHANNEL ERROR.
- CHD SUBR ENTRY/EXIT
- LDD CN
- SHN 21-3
- PJN CHDX IF NOT ISMT
- LDD CN+2
- ZJN CHDX IF SECOND CHANNEL DOES NOT EXIST
- JMP ILL PROCESS ERROR
- CSC SPACE 4,10
- ** CSC - CHECK SEPARATOR CHARACTER.
- *
- * ENTRY (KA) = ADDRESS OF SEPARATOR CHARACTER
- *
- * EXIT (A) = 0 IF SEPARATOR CHARACTER IS *,* OR *.*.
- CSC SUBR ENTRY/EXIT
- LDI KA
- LMN 1R.
- ZJN CSCX IF *.*
- LMN 1R,&1R.
- UJN CSCX RETURN
- VCN SPACE 4,10
- ** VCN - VALIDATE CHANNEL NUMBER.
- *
- * ENTRY (AB+4) = CHANNEL NUMBER.
- *
- * EXIT TO *ILL* IF INCORRECT CHANNEL NUMBER.
- VCN2 ADN 20
- SBM .CHN
- PJN VCN1 IF NOT LEGAL CHANNEL
- VCN SUBR ENTRY/EXIT
- VCNA LDN 0
- ZJN VCN0 IF FIRST CHANNEL
- LDD AB+4
- ZJN VCN1 IF .EQ. 0
- VCN0 AOM VCNA
- LDD AB+4 GET CHANNEL NUMBER
- SBN 14
- MJN VCNX IF .LE. 13B
- SBN 20-14
- PJN VCN2 IF .GE. 20B
- VCN1 JMP ILL PROCESS INCORRECT ENTRY
- TVRK SPACE 4,10
- **** TVRK - TABLE OF VALID AND REQUIRED KEYWORDS.
- TVRK BSS 0
- * UNIT RECORD DEVICES.
- TBKW CP,(ST,EQ,CH,ID,FC,IB),(EQ,CH)
- TVRKL EQU *-TVRK
- TBKW CR,(ST,EQ,CH,ID,IB),(EQ,CH)
- TBKW LQ,(ST,EQ,CH,ID,FC,TN,PS,IB),(EQ,CH)
- TBKW LR,(ST,EQ,CH,ID,FC,TN,PS,IB),(EQ,CH)
- TBKW LS,(ST,EQ,CH,ID,FC,TN,PS,IB),(EQ,CH)
- TBKW LT,(ST,EQ,CH,ID,FC,TN,PS,IB),(EQ,CH)
- TBKW LX,(ST,EQ,CH,ID,FC,IB),(EQ,CH)
- TBKW LY,(ST,EQ,CH,ID,FC,IB),(EQ,CH)
- * COMMUNICATIONS / NETWORK DEVICES.
- TBKW CC,(ST,EQ,CH,IB),(EQ,CH)
- TBKW NC,(ST,CH,IB),(CH)
- TBKW ND,(ST,EQ,CH,PI,ND,NT,IB),(EQ,CH,PI,ND,NT)
- TBKW NP,(ST,EQ,CH,PI,ND,SA,IB),(EQ,CH,PI,ND,SA)
- TBKW NQ,(ST,EQ,CH,PI,ND,SA,IB),(EQ,CH,PI,ND,SA)
- TBKW RM,(ST,CH,PT,IB),(CH,PT)
- TBKW TT,(ST,EQ,CH,PT,IB),(EQ,CH)
- * *CYBIS* DEVICES.
- TBKW CI,(CH,EQ,UN,ST,IB),(CH)
- TBKW D1,(CH,EQ,UN,ST,IB),(CH)
- TBKW D2,(CH,EQ,UN,ST,IB),(CH)
- TBKW D3,(CH,EQ,UN,ST,IB),(CH)
- TBKW D4,(CH,EQ,UN,ST,IB),(CH)
- TBKW NI,(CH,EQ,UN,ST,IB),(CH)
- TBKW NO,(CH,EQ,UN,ST,IB),(CH)
- TBKW SP,(CH,EQ,UN,ST,IB),(CH)
- * MAGNETIC TAPE DEVICES.
- TBKW AT,(ST,UN,CH,LS,PA,DR,IB),(UN,CH,LS,PA,DR)
- TBKW CT,(ST,UN,CH,IB),(UN,CH)
- TBKW MT,(ST,EQ,UN,CH,TF,IB),(EQ,UN,CH,TF)
- TBKW NT,(ST,EQ,UN,CH,TF,IB),(EQ,UN,CH,TF)
- * MISCELLANEOUS DEVICES.
- TBKW CM,(EQ,CH,CW,IB),(EQ,CH)
- TBKW MP,(ST,CH,IB),(CH)
- TBKW OD,(ST,EQ,UN,CH,IB),(ST,EQ,UN,CH)
- TBKW RP,(ST,CH,IB),(CH)
- TBKW SS,(ST,EQ,UN,CH,IB),(EQ,UN,CH)
- * INSTALLATION DEFINED DEVICES.
- TBKW **,(W0,W1),(W0)
- CON 0 END OF TABLE
- ****
- TKWP SPACE 4,10
- **** TKWP - TABLE OF KEYWORD PARAMETERS.
- TKWP BSS 0
- TBKP CH,0,1,00B,7777B CHANNEL(S)
- TKWPL EQU *-TKWP
- TBKP CW,0,7,00B,0000B CONTROLWARE
- TBKP DR,0,7,00B,7770B ACS DRIVE INDEX
- TBKP EQ,0,4,11B,0777B EQUIPMENT (CONTROLLER) NUMBER
- TBKP FC,1,7,00B,0000B FORMS CODE
- TBKP IB,0,5,00B,0000B INSTALLATION BYTE
- TBKP ID,1,4,00B,7700B UNIT RECORD ID
- TBKP LS,0,7,10B,0377B ACS LSM INDEX
- TBKP ND,0,4,00B,7400B NODE NUMBER
- TBKP NT,0,7,00B,7400B MDI NODE NUMBER
- TBKP PA,0,7,03B,7407B ACS PANEL INDEX
- TBKP PI,0,7,11B,0777B PIP INDEX
- TBKP PS,0,0,10B,6377B PAGE SIZE
- TBKP PT,0,4,00B,7777B PORT / PORT COUNT
- TBKP SA,0,0,11B,6777B *SAM* FLAG
- TBKP ST,0,0,0,7774B STATUS
- TBKP TF,0,0,02B,7043B TAPE FLAGS
- TBKP TN,1,4,06B,7077B PRINT TRAIN
- TBKP UN,0,4,00B,7777B UNIT NUMBER
- TBKP W0,0,0,00B,0000B WORD 0 (FOR **)
- TBKP W1,0,0,00B,0000B WORD 1 (FOR **)
- CON 0 END OF TABLE
- ****
- TRQP SPACE 4,10
- ** TRQP - TABLE OF REQUIRED PARAMETERS.
- *
- * (TRQP) .NE. 0 IF INITIAL ENTRY OF THIS EQUIPMENT.
- * (TRQP+1)-(TRQP+KTWC) = REQUIRED KEYWORDS - BIT CORRESPONDING
- * TO *TVRK* BITS SET WHEN KEYWORD IS SPECIFIED.
- TRQP BSSZ KTWC+1
- SPACE 4,10
- QUAL *
- EQ2S EQU *+4-EQXO *EQ2* SIZE
- EQ2L EQU EQ2S/5+77 *EQ2* OVERLAY LENGTH
- ERRNG 7777-*-4 OVERFLOW WHEN LOADING *EQ2*
- TTL SET/EQ3 - PROCESS MISCELLANEOUS *EQPDECK* ENTRY.
- TITLE
- IDENT EQ3,/EQ3/EQ3
- QUAL EQ3
- ORG EQXO
- *COMMENT SET - PROCESS MISCELLANEOUS *EQPDECK* ENTRY.
- COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
- SPACE 4,10
- .ILL SET 0
- .KBR SET 0
- EQ3 SPACE 4,10
- ** EQ3 - PROCESS MISCELLANEOUS *EQPDECK* ENTRY.
- EQ3 UJN /EQP/LOVX RETURN TO SYNTAX PROCESSOR
- SPACE 4,10
- ** TSYN - SYNTAX TABLE.
- TSYN BSS 0
- CON ACC
- CON ACF
- CON ASR
- CON AXM
- CON BML
- CON CKP
- CON DFL
- CON DWN
- CON ERL
- CON FAM
- CON ISH
- CON LBC
- CON MSF
- CON MXS
- CON PFS
- CON REM
- CON SHD
- CON SYS
- CON THD
- CON UEM
- CON UPC
- TSYNA CON 0
- CON NEXT
- CON IPR
- CON AUT
- CON GRN
- CON RST
- CON INI
- CON PRS
- CON 0 END OF TABLE
- TITLE CM TABLE AND BUFFER PROCESSORS.
- ACF SPACE 4,10
- *** ACCOUNT=EQ,BL.
- * DEFINE ACCOUNT DAYFILE RESIDENCE AND CM BUFFER SIZE.
- *
- * EQ EST ORDINAL, IF FILE IS NOT RECOVERED.
- * DEVICE CANNOT BE DEFINED AS REMOVABLE.
- * BL CM BUFFER LENGTH, MUST BE A MULTIPLE OF 100B,
- * DEFAULT = 400B.
- ACF DATA C*ACCOUNT=*
- LDN 1
- UJN ERL1 PROCESS ACCOUNT LOG DEFINITION
- BML SPACE 4,10
- *** MAINLOG=EQ,BL.
- * DEFINE MAINTENANCE LOG RESIDENCE AND CM BUFFER SIZE.
- *
- * EQ EST ORDINAL, IF FILE IS NOT RECOVERED.
- * DEVICE CANNOT BE DEFINED AS REMOVABLE.
- * BL CM BUFFER LENGTH, MUST BE A MULTIPLE OF 100B,
- * DEFAULT = 0.
- BML DATA C*MAINLOG=*
- LDN 3
- UJN ERL1 PROCESS MAINTENANCE LOG DEFINITION
- DFL SPACE 4,10
- *** DAYFILE=EQ,BL.
- * DEFINE SYSTEM DAYFILE RESIDENCE AND CM BUFFER SIZE.
- *
- * EQ EST ORDINAL, IF FILE IS NOT RECOVERED.
- * DEVICE CANNOT BE DEFINED AS REMOVABLE.
- * BL CM BUFFER LENGTH, MUST BE A MULTIPLE OF 100B,
- * DEFAULT = 400B.
- DFL DATA C*DAYFILE=*
- LDN 0
- UJN ERL1 PROCESS DAYFILE LOG DEFINITION
- ERL SPACE 4,10
- *** ERRLOG=EQ,BL.
- * DEFINE ERRLOG DAYFILE RESIDENCE AND CM BUFFER SIZE.
- *
- * EQ EST ORDINAL, IF FILE IS NOT RECOVERED.
- * DEVICE CANNOT BE DEFINED AS REMOVABLE.
- * BL CM BUFFER LENGTH, MUST BE A MULTIPLE OF 100B,
- * DEFAULT = 200B.
- ERL DATA C*ERRLOG=*
- LDN 2
- ERL1 STD T3
- LDN NEEQ PRESET DEFAULT EQUIPMENT
- STD T7
- LDI KA
- LMN 1R,
- ZJN ERL4 IF DEFAULT EQUIPMENT
- LMN 1R.&1R,
- ZJN ERL2 IF ZERO LENGTH BUFFER
- SOD KA
- RJM CEM CHECK FOR MASS STORAGE EQUIPMENT
- SHN 13-10
- PJN ERL3 IF NOT REMOVABLE DEVICE
- ERL2 JMP ILL PROCESS INCORRECT ENTRY
- ERL3 LDD AB+4 SET EST ORDINAL
- STD T7
- LDI KA
- LMN 1R.
- ZJN ERL6 IF DEFAULT (PREVIOUS) BUFFER LENGTH
- ERL4 AOD KA
- RJM ASD
- ZJN ERL2 IF ZERO LENGTH BUFFER
- LPN 77
- NJN ERL2 IF NOT MULTIPLE OF 100B
- LDD AB+4
- ADC -MXDB-1
- PJN ERL2 IF ENTRY .GT. SYSTEM DEFINED MAXIMUM
- LDM .DFB,T3 SET BUFFER LENGTH
- LPN 77
- LMD AB+4
- STM .DFB,T3
- ERL6 LDD T7 SET DAYFILE EQUIPMENT
- LMC 4000
- STM DFBF,T3
- * ENTRY FROM *FAMILY = N* PROCESSOR.
- ERL7 LDD ET
- SHN 6
- ADN NEEQ*TDDCL
- CWM DFBF,ON
- JMP KBR RETURN
- TITLE EQUIPMENT DEFINITION ENTRIES.
- SPACE 4,10
- *** THESE ENTRIES MUST BE MADE AFTER EQUIPMENT HAS BEEN DEFINED.
- * THESE DEFINITIONS ARE CLEARED BY *RESET*, AND IF THE
- * EQUIPMENT IS REDEFINED OR DELETED (EQXXX=0.).
- ACC SPACE 4,10
- *** ACCESS,LL,UL,X1,X2,...,XN.
- *
- * SETS UPPER AND LOWER SECURITY ACCESS LEVEL LIMITS FOR
- * EQUIPMENTS X1,X2,...,XN. THIS ENTRY IS VALID ONLY FOR
- * MASS STORAGE, UNIT RECORD, MAGNETIC TAPE AND MULTIPLEXOR
- * EQUIPMENTS. THIS ENTRY WILL BE IGNORED ON AN UNSECURE
- * SYSTEM.
- *
- * XN = EST ORDINAL.
- * LL = LOWER ACCESS LEVEL LIMIT.
- * UL = UPPER ACCESS LEVEL LIMIT.
- ACC DATA C*ACCESS,*
- LDN AB
- STD T5
- SOD KA
- LDM .SSML
- LPN 7
- NJN ACC1 IF SECURE SYSTEM
- ACC0 JMP KBR RETURN
- ACC1 LDN 10
- RJM ASN ASSEMBLE ACCESS LEVEL LIMIT
- NJN ACC2 IF MORE THAN 7 CHARACTERS
- LDN CM CHECK FOR VALID ACCESS LEVEL
- RJM VAL
- MJN ACC2 IF NO MATCH
- STI T5
- LDI KA
- LMN 1R,
- NJN ACC2 IF INCORRECT SEPARATOR
- AOD T5
- SBN AB+2
- NJN ACC1 IF NOT END OF LIMITS
- LDD AB+1
- SBD AB
- PJN ACC3 IF LOWER LIMIT .LE. UPPER LIMIT
- ACC2 JMP ILL PROCESS INCORRECT ENTRY
- ACC3 LDD AB SAVE ACCESS LEVELS
- SHN 3
- ADD AB+1
- STD CM
- ACC4 RJM GNE GET NEXT EST ORDINAL
- ZJN ACC0 IF END OF EST
- MJN ACC9 IF MASS STORAGE
- LDN 0 CHECK EQUIPMENT TYPE
- STD T5
- ACC8 AOD T5
- LDM TVEQ-1,T5
- ZJN ACC10 IF END OF TABLE
- LMM EBUT+3
- NJN ACC8 IF NOT MATCH
- ACC9 LDM EBUT+10
- SCN 77
- LMD CM
- STM EBUT+10
- RJM EEB UPDATE EQUIPMENT ENTRY
- UJN ACC4 CHECK NEXT EQUIPMENT
- ACC10 RJM IRE PROCESS RANGE ERROR
- TVEQ SPACE 4,10
- ** TVEQ - TABLE OF VALID EQUIPMENT TYPES FOR ACCESS LEVELS.
- TVEQ BSS 0
- CON 2RAT
- CON 2RCP
- CON 2RCR
- CON 2RCT
- CON 2RLQ
- CON 2RLR
- CON 2RLS
- CON 2RLT
- CON 2RLX
- CON 2RLY
- CON 2RMT
- CON 2RNT
- CON 2ROD DEVICE TYPE OPTICAL DISK
- CON 2RRM
- CON 2RTT
- CON 0 END OF EQUIPMENT TYPES
- ASR SPACE 4,10
- *** ASR=X,Y,...,Z.
- *
- * DEFINE EQ X,Y,...,Z AS ALTERNATE SYSTEM DEVICES.
- * X - Z EST ORDINALS MUST BE .LT. 40.
- *
- * NOTE THE FOLLOWING SPECIFICATIONS ARE NOT ALLOWED FOR ASR
- * DEVICES AND IF SPECIFIED PREVIOUSLY WILL CAUSE
- * *INCORRECT ENTRY* FOR THIS ENTRY.
- * *SYSTEM*
- * *REMOVE*
- ASR DATA C*ASR=*
- SOD KA
- ASR1 RJM GNE GET NEXT EST ORDINAL
- NJN ASR2 IF MORE EQUIPMENT
- JMP KBR RETURN
- ASR2 PJN ASR3 IF NOT MASS STORAGE
- SHN 21-12-21+13
- MJN ASR3 IF SYSTEM DEVICE
- SHN 12-10
- PJN ASR4 IF NOT REMOVABLE DEVICE
- ASR3 RJM IRE PROCESS INCORRECT RANGE
- ASR4 LDM EBUT+4 SET *ASR* STATUS
- SCN 10
- LMN 10
- STM EBUT+4
- LDD EQ
- SHN -5
- NJN ASR3 IF EQUIPMENT OUT OF RANGE
- RJM EEB ENTER EQUIPMENT IN TABLES
- UJN ASR1 PROCESS NEXT EQUIPMENT
- DWN SPACE 4,10
- *** DOWN,CH=C1,C2,...,CN.
- *
- * DOWN SPECIFIED CHANNELS.
- *
- * C1 - CN = CHANNEL NUMBER TO BE DOWNED. A PREFIX OF
- * *C* DESIGNATES A CONCURRENT CHANNEL.
- DWN DATA C*DOWN,*
- LDN 40 INDICATE *DOWN* PROCESSING
- * ENTRY FROM *UPC* FOR COMMON
- * PROCESSING OF *UP* AND *DOWN*.
- DWN1 STD T6 SAVE UP/DOWN INDICATOR
- LDC DWNA
- RJM SOT SEARCH OPTION TABLE
- LDI KA
- LMN 1R=
- NJN DWN5 IF INCORRECT SEPARATOR
- STD T5 CLEAR THE UNDO FLAG
- STD T4 CLEAR ERROR COUNT
- DWN2 STD T3 ASSUME NORMAL CHANNEL
- AOD KA
- STM DWNB SAVE COMMAND STRING POINTER
- LDI KA
- LMN 1RC
- NJN DWN3 IF NOT *C* FOR CONCURRENT CHANNEL
- LDN 40 INDICATE CONCURRENT CHANNEL
- STD T3
- AOD KA SKIP PAST THE *C*
- DWN3 RJM AOD ASSEMBLE CHANNEL NUMBER
- ADD T3
- STD AB+4
- SBN TCSTL
- PJN DWN4 IF CHANNEL NUMBER TOO HIGH
- LDD AB+4
- LMD DH
- ZJN DWN4 IF DEADSTART CHANNEL
- LDM .DSD
- LMD AB+4
- LPN 77
- NJN DWN6 IF NOT DISK DEADSTART (CIP) CHANNEL
- DWN4 LDM DWNB POSITION COMMAND LINE POINTER
- STD KA
- DWN5 LJM ILL RETURN ERROR
- DWN6 LDM TCST,AB+4
- LMN 40
- LMD T6
- ZJN DWN9 IF NOT ALREADY IN REQUESTED STATE
- DWN7 LDI KA
- LMN 1R,
- ZJP DWN2 IF NOT LAST CHANNEL
- LJM KBR RETURN
- DWN8 LDD T4
- ZJN DWN7 IF NO ERRORS
- LDD T5
- NJN DWN4 IF UNDO PASS
- AOD T5 FLAG UNDO PASS
- LDN 40 REVERSE THE PROCESSING
- DWN9 LMD T6
- STD T6
- STM TCST,AB+4
- LDN NOPE-1 INITIALIZE *EST* SEARCH ORDINAL
- STD EQ
- DWN10 AOD EQ INCREMENT *EST* ORDINAL
- SBD LE
- PJN DWN8 IF END OF *EST*
- LDD EQ
- RJM STA GET *EST* ENTRY
- LDM EBUT+3
- ZJN DWN10 IF NULL ENTRY
- LMC 2RDE
- ZJN DWN10 IF *DE* EQUIPMENT
- LDN 40 SET *NO CHANGE* FLAG
- STD AB
- LDD ES
- STD T3
- DWN11 AOD T3
- LMC EBUT+3
- NJN DWN12 IF ANOTHER CHANNEL TO CHECK
- LDD AB
- NJN DWN10 IF ACCESSIBLE OR NOT CHANGED
- LDI ES
- LPN 3
- LMN 3
- ZJN DWN10 IF EQUIPMENT IS DOWN
- AOD T4 INCREMENT ERROR COUNT
- UJP DWN10 CONTINUE SCAN OF *EST*
- DWN12 LDI T3
- ZJN DWN11 IF NO CHANNEL PRESENT
- LMD AB+4 CHANNEL NUMBER
- LPN 77
- NJN DWN13 IF NOT THIS CHANNEL
- LDC 3000 DOWN/UP CHANNEL STATUS
- LMI T3
- STI T3
- RJM EEB UPDATE *EST* ENTRY
- LDD AB CLEAR *NO CHANGE* FLAG
- LPN 37
- STD AB
- DWN13 LDI T3
- SHN 21-12
- MJN DWN11 IF THIS CHANNEL IS DOWN
- AOD AB INCREMENT ACCESS COUNT
- UJP DWN11 CHECK NEXT CHANNEL
- DWNA CON 2RCH
- CON 0
- DWNB CON 0
- FAM SPACE 4,10
- *** FAMILY=NN.
- *
- * SET DEFAULT FAMILY NAME TO NAME ON EQUIPMENT NN.
- * ALL PERMANENT FILE REQUESTS WILL GO TO THIS FAMILY UNLESS
- * USER HAS INDICATED HE IS USER OF ALTERNATE FAMILY.
- * NOTE THE FOLLOWING SPECIFICATIONS ARE NOT ALLOWED FOR
- * DEFAULT FAMILY DEVICE AND IF SPECIFIED PREVIOUSLY WILL
- * CAUSE *INCORRECT ENTRY* FOR THIS ENTRY.
- * *REMOVE*
- * ST = *OFF*
- FAM DATA C*FAMILY=*
- SOD KA
- RJM CEM CHECK IF MASS STORAGE EQUIPMENT
- LPC 402S6
- ZJN FAM2 IF NOT OFF/DOWN/REMOVABLE
- FAM1 JMP ILL PROCESS INCORRECT ENTRY
- FAM2 LDI KA
- LMN 1R.
- NJN FAM1 IF NOT *.*
- LDD AB+4 SET DEFAULT FAMILY EQUIPMENT
- STM .PFNL+3
- LJM ERL7 SET FAMILY NUMBER
- INI SPACE 4,25
- *** INITIALIZE,OP,X1,X2,...,XN.
- * INITIALIZE MASS STORAGE EQUIPMENT *XN* BASED
- * ON THE OPTION *OP*.
- * OP FUNCTION
- *
- * AL TOTAL INITIALIZE.
- * PF INITIALIZE PERMANENT FILES.
- * QF INITIALIZE QUEUED FILES.
- * DF INITIALIZE SYSTEM DAYFILE.
- * AF INITIALIZE ACCOUNT DAYFILE.
- * EF INITIALIZE ERRLOG DAYFILE.
- * MF INITIALIZE MAINTENANCE LOG.
- * FP FORMAT PACK (AUTOMATIC SELECTION OF *AL*).
- *
- * THIS ENTRY IS ONLY ALLOWED FROM THE KEYBOARD AND WHEN
- * LEVEL 0 RECOVERY IS SELECTED.
- *
- * USE *DSD* ONLINE INITIALIZATION COMMANDS FOR ALL
- * OTHER SITUATIONS.
- *
- * FOR OP=AL THE PARAMETERS ON THE *PF* ENTRY WILL
- * BE USED TO DESCRIBE THE DEVICE.
- INI DATA C*INITIALIZE,*
- LDD RS
- NJN INI2 IF NOT LEVEL 0
- STD T4
- LDC TINO SEARCH OPTION TABLE
- RJM SOT
- STD T6 SAVE INDEX
- SBN TINOA
- SHN 4-22
- NJN INI1 IF FULL INITIALIZE OPTION
- LDC 1777
- STD T4
- LMM TINF,T6 SET MASK
- INI1 STM INIA
- LDI KA CHECK SEPARATOR
- LMN 1R,
- ZJN INI6 IF VALID SYNTAX
- INI2 JMP ILL PROCESS INCORRECT ENTRY
- * SET EQUIPMENTS TO INITIALIZE.
- INI6 RJM CEM CHECK FOR MASS STORAGE EQUIPMENT
- RJM CDD CHECK DEADSTART DEVICE
- ADD T4
- ZJN INI2 IF FULL INITIALIZE OF DEADSTART DEVICE
- LDI ES
- LPN 3 CHECK DEVICE STATE
- LMN 3
- ZJN INI2 IF EQUIPMENT *DOWN*
- * SET INITIALIZE OPTION.
- LDM EBUT+4
- LPC ** CLEAR BIT TO BE SET
- INIA EQU *-1
- LMM TINF,T6 APPEND NEW OPTION FLAG(S)
- STM EBUT+4
- RJM SPE ENTER EQUIPMENT IN TABLES
- LDI KA
- LMN 1R,
- ZJN INI6 IF MORE EQUIPMENTS
- JMP KBR RETURN
- SPACE 4,10
- ** TINO - TABLE OF INITIALIZE OPTIONS.
- TINO BSS 0
- CON 2RAL FULL INITIALIZE
- CON 2RFP FORMAT PACK
- TINOA EQU *-TINO
- CON 2RPF PERMANENT FILES
- CON 2RQF QUEUE FILES
- CON 2RDF DAYFILE
- CON 2RAF ACCOUNT FILE
- CON 2REF ERRORLOG
- CON 2RMF MAINTENANCE LOG
- CON 0
- TINF SPACE 4,10
- ** TINF - TABLE OF INITIALIZE FLAGS.
- TINF BSS 0
- CON MLIAL
- CON MLFPR+MLIAL
- CON MLIPF*4
- CON MLIQF*4
- CON MLIDF/20
- CON MLIAF/20
- CON MLIEF/20
- CON MLIMF/20
- ISHARE SPACE 4,10
- *** ISHARE=X1,X2,...,XN.
- *
- * DEFINE X1,X2,...,XN AS INDEPENDENT SHARED DEVICES.
- * XN MUST BE MASS STORAGE AND OF TYPE FLAGGED IN *TMSD*.
- *
- ISH DATA C*ISHARE=*
- LDD LD
- LPC -4000
- ZJN ISH1 IF NO *SHARE=* ENTRIES
- JMP ILL PROCESS INCORRECT ENTRY
- ISH1 SOD KA CHARACTER STRING ADDRESS
- LDC 1020 SET INDEPENDENT SHARED DEVICE FLAG
- RJM DSC DEVICE STATUS CHECK
- LDC 4000
- STD LD
- JMP KBR RETURN
- MSF SPACE 4,10
- *** MSAL,X=E1,E2,... EN.
- *
- * ALLOW ALLOCATION TYPE *X* ON EQUIPMENTS *E1* TO *EN*.
- *
- * X = T FOR TEMPORARY FILES.
- * I FOR INPUT FILES.
- * O FOR OUTPUT FILES.
- * R FOR ROLLOUT FILES.
- * D FOR USER DAYFILES.
- * P FOR PRIMARY FILES.
- * L FOR LOCAL FILES.
- * B FOR *LGO* FILES.
- * S FOR SECONDARY ROLLOUT FILES.
- *
- * NOTE THIS ENTRY IS NOT ALLOWED FOR REMOVABLE EQUIPMENT.
- * EST ORDINALS *EN* MUST BE .LT. 60.
- MSF DATA C*MSAL,*
- LDN MXRS-1
- STD T1
- MSF1 LDM TMSF,T1 FIND FILE TYPE
- LMI KA
- ZJN MSF3 IF FOUND
- SOD T1
- PJN MSF1 IF NOT END OF TABLE
- MSF2 JMP ILL PROCESS INCORRECT ENTRY
- MSF3 AOD KA CHECK SEPARATOR
- LDI KA
- LMN 1R=
- NJN MSF2 IF INCORRECT SEPARATOR
- AOD KA
- LDD T1 SET BIT
- ADD TH
- ERRNZ 1000-SHNI ADJUST IF VALUE CHANGES
- STM MSFA
- LDN 1
- MSFA SHN **
- MSF4 STD T7 SET MASKS
- LMC -0
- STM MSFB
- LDC TDDB+DVFA
- STD T6
- SOD KA
- MSF5 RJM GNE GET NEXT EST ORDINAL
- NJN MSF6 IF MORE EQUIPMENT
- JMP KBR RETURN
- MSF6 PJN MSF7 IF NOT MASS STORAGE
- SHN 21-10-21+13
- PJN MSF8 IF NOT REMOVABLE DEVICE
- MSF7 RJM IRE PROCESS INCORRECT RANGE
- MSF8 LDN 57
- SBD EQ
- MJN MSF7 IF EQUIPMENT OUT OF RANGE
- LDI T6
- LPC 0
- MSFB EQU *-1
- LMD T7
- STI T6
- LPN 1
- ZJN MSF9 IF NOT TEMPORARY FILES
- LDI ES
- SHN 21-11
- MJN MSF9 IF SHARED DEVICE
- LDI T6
- LPC -4000
- LMC 4000
- STI T6
- MSF9 RJM SPE UPDATE EQUIPMENT DEFINITION
- UJN MSF5 PROCESS NEXT EQUIPMENT
- TMSF INDEX ALLOCATION TYPE TABLE
- INDEX TMPS,1RT TEMPORARY FILES
- INDEX INPS,1RI INPUT FILES
- INDEX OUTS,1RO OUTPUT FILES
- INDEX ROLS,1RR ROLLOUT FILES
- INDEX DAYS,1RD USER DAYFILES
- INDEX PRIS,1RP PRIMARY FILES
- INDEX LOCS,1RL LOCAL FILES
- INDEX LGOS,1RB *LGO* FILES
- INDEX SROS,1RS SECONDARY ROLLOUT FILES
- INDEX MXRS
- MXS SPACE 4,10
- *** MAXSHARE=N,B.
- *
- * DEFINE MAXIMUM NUMBER OF SHARED DEVICES, IF *PRESET* MAY BE
- * PERFORMED AND NOT ALL SHARED DEVICES ARE DEFINED ON THIS
- * MAINFRAME.
- *
- * N = MAXIMUM TOTAL NUMBER OF SHARED DEVICES (N < 377B).
- * B = OPTIONAL PARAMETER SPECIFYING MAXIMUM NUMBER OF SHARED
- * DEVICES WHICH ARE BUFFERED DEVICES (B .LE. N; B < 377B).
- MXS DATA C*MAXSHARE=*
- RJM AOD ASSEMBLE OCTAL DIGITS
- SBK 377
- PJN MXS1 IF DEVICE COUNT TOO LARGE
- LDD AB+4
- STD T3
- SBD NS
- PJN MXS2 IF .GE. NUMBER OF SHARED DEVICES
- MXS1 JMP ILL PROCESS INCORRECT ENTRY
- MXS2 LDI KA CHECK SEPARATOR
- LMN 1R.
- ZJN MXS3 IF NO OPTIONAL PARAMETER SPECIFIED
- AOD KA SKIP SEPARATOR
- RJM ASD ASSEMBLE DIGITS
- SBK 377
- PJN MXS1 IF DEVICE COUNT TOO LARGE
- LDD AB+4
- SBM NSBD
- MJN MXS1 IF .LT. NUMBER OF SHARED DEVICES
- LDD T3
- SBD AB+4
- MJN MXS1 IF MORE SHARED BUFFERED THAN TOTAL SHARED
- LDD AB+4 SET MAXIMUM SHARED BUFFERED DEVICE COUNT
- STM MSBD
- MXS3 LDD T3 SET MAXIMUM SHARED DEVICE COUNT
- STM MSDC
- JMP KBR RETURN
- PFS SPACE 4,30
- *** PF=NNN,TY,DM,SM,FM,DN,NC.
- *
- * DEFINE PERMANENT FILE FAMILY DEVICE PARAMETERS (TY=F).
- *
- * PF=NNN,TY,FM,NC.
- *
- * DEFINE AUXILIARY PERMANENT FILE DEVICE PARAMETERS (TY = X).
- *
- * ALL PARAMETERS ARE ORDER DEPENDENT.
- * THIS ENTRY IS REQUIRED ONLY IF DEVICE IS TO BE INITIALIZED.
- * PF DESCRIPTIONS WILL BE RECOVERED FROM LABEL IF INITIALIZE
- * IS NOT SPECIFIED.
- *
- * NNN EST ORDINAL.
- *
- * TY TYPE OF PERMANENT FILE RESIDENCE.
- * *F* = DEVICE IS A FAMILY DEVICE.
- * *X* = DEVICE IS AUXILIARY (BOTH DIRECTS AND INDIRECTS
- * ALLOWED) IF TX = X THEN ONLY FM PARAMETER
- * IS REQUIRED
- *
- * DM DEVICE MASK - THIS DEFINES WHICH USERS CATALOGS RESIDE
- * ON THIS DEVICE. 0 < DM < 377.
- * THIS IS NOT ENTERED FOR AUXILIARY DEVICE.
- * A BIT SET IN DM FIELD DIRECTS TO THIS
- * DEVICE ALL CATALOGS WHOSE LAST DIGIT
- * CORRESPONDS TO BIT POSITION.
- * EXAMPLE DM = 132 CONTAINS USERS WITH USER
- * INDEX -
- * XXX1
- * XXX3
- * XXX4
- * XXX6
- *
- * SM SECONDARY MASK THIS DEFINES WHICH USERS MAY DEFINE
- * DIRECT ACCESS PERMANENT FILES ON THIS
- * DEVICE. THE VALIDATION IS PERFORMED
- * IN THE SAME MANNER AS FOR THE
- * DEVICE MASK.
- *
- * FM FAMILY NAME (1 - 7 CHARACTERS) THIS SHOULD
- * BE THE SAME FOR ALL DEVICES IN
- * THE FAMILY.
- * THIS IS PACK NAME IF TY = X.
- *
- * DN DEVICE NUMBER THIS DEFINES UNIQUE DESCRIPTION OF
- * DEVICE IN FAMILY. ALL DEVICES IN FAMILY
- * SHOULD HAVE DIFFERENT DN SPECIFIED.
- * DN = 1-77. THIS IS NOT ENTERED FOR
- * AUXILIARY DEVICE.
- *
- * NC NUMBER OF CATALOG TRACKS THIS PARAMETER MUST
- * BE A POWER OF 2 AND NOT GREATER THAN
- * 200B. THIS PARAMETER IS OPTIONAL WITH
- * THE DEFAULT BASED ON EQUIPMENT TYPE.
- * THIS ENTRY IS MEANINGLESS IF *DM* IS NOT
- * DEFINED.
- PFS DATA C*PF=*
- SOD KA
- RJM CEM CHECK IF EQUIPMENT MASS STORAGE
- LDI KA CHECK SEPARATOR
- LMN 1R,
- NJN PFS1 IF NOT *,*
- AOD KA SKIP *,*
- * PROCESS *TY*.
- LDI KA
- LMN 1RF
- ZJN PFS3 IF FAMILY DEVICE
- LMN 1RX&1RF
- ZJN PFS2 IF *X*
- PFS1 JMP ILL PROCESS INCORRECT ENTRY
- PFS2 LDN 4 SET AUXILIARY STATUS
- PFS3 STD T4
- AOD KA ADVANCE CHARACTER
- LDI KA
- LMN 1R,
- NJN PFS1 IF SEPARATOR NOT *,*
- LDD T4
- ZJN PFS4 IF NOT AUXILIARY DEVICE
- LDC 377S8 SET DEFAULT MASKS
- UJN PFS5 PROCESS PACK NAME
- * PROCESS *DM*.
- PFS4 AOD KA ASSEMBLE DEVICE MASK
- RJM AOD
- SHN -10
- NJN PFS6 IF OUT OF RANGE
- LDD AB+4 SET IN DEVICE DESCRIPTION *TDDE*
- STD T7
- * PROCESS *SM*.
- AOD KA ASSEMBLE *SM*
- RJM AOD
- SHN -10
- NJN PFS6 IF OUT OF RANGE
- LDD AB+4
- SHN 10
- ADD T7
- PFS5 STD T7
- SHN -14
- STD T6
- * PROCESS FAMILY OR PACKNAME.
- LDN 10 ASSEMBLE NAME
- RJM ASN
- NJN PFS6 IF .GT. 7 CHARACTERS
- LDD CM CHECK NAME
- ZJN PFS6 IF NO CHARACTERS ASSEMBLED
- LMC 1R0*100
- NJN PFS7 IF NOT *0*
- PFS6 JMP ILL PROCESS INCORRECT ENTRY
- * PROCESS *DN*.
- PFS7 LDD T4
- NJN PFS8 IF AUXILIARY DEVICE
- AOD KA ASSEMBLE DEVICE NUMBER
- RJM AOD
- LPN 77
- ZJN PFS6 IF INCORRECT DEVICE NUMBER
- RAD CM+3
- * PROCESS *NC*.
- PFS8 LDI KA
- LMN 1R.
- ZJN PFS9 IF DEFAULT USED
- AOD KA
- RJM ASD
- SHN 4
- PFS9 RAD T6
- STM TDDB+DVPF SAVE PARAMETERS
- SHN -14
- PFS10 NJN PFS6 IF *NC* .GT. 200B
- LDD T7
- STM TDDB+DVPF+1
- LDD T6
- SHN -4
- ZJN PFS11 IF *NC* = ZERO
- LDD AB+4
- SHN 21-10
- SHN 1
- PJN *-1 IF BIT NOT DETECTED
- LPC 376000
- NJN PFS10 IF *NC* NOT A POWER OF 2
- PFS11 LDI ES
- SCN 4
- LMD T4 SET *X* STATUS
- STI ES
- LDD CM MOVE NAME TO *TDDE*
- STM TDDB+DVNM
- LDD CM+1
- STM TDDB+DVNM+1
- LDD CM+2
- STM TDDB+DVNM+2
- LDD CM+3
- STM TDDB+DVDN
- RJM SPE UPDATE TABLE IN CM
- LJM KBR RETURN
- PRS SPACE 4,10
- *** PRESET.
- *
- * PRESET LINK DEVICE FOR MULTI-MAINFRAME OPERATION.
- *
- * PRESET=X,Y,...,Z.
- * PRESET=X-Z.
- *
- * PRESET TABLES ON INDEPENDENT SHARED DEVICES X,Y,...,Z.
- *
- * THIS ENTRY IS ALLOWED ONLY FROM THE KEYBOARD.
- PRS DATA C*PRESET*
- LDD RS
- NJN PRS1 IF NOT LEVEL 0 DEADSTART
- LDI KA
- LMN 1R=
- ZJN PRS5 IF PRESETTING ISHARED DEVICES
- RJM CLD ASSURE LINK DEVICE DEFINED
- ZJN PRS1 IF NO SHARED DEVICES
- LDI KA
- LMN 1R.
- ZJN PRS3 IF NO PARAMETER
- PRS1 JMP ILL PROCESS INCORRECT ENTRY
- PRS3 LDN 1 SET *PRESET* FLAG
- STM PRSF
- PRS4 JMP KBR RETURN
- PRS5 LDD LD
- SHN 0-13
- ZJN PRS1 IF NOT ISHARED ENVIRONMENT
- PRS6 RJM GNE GET NEXT EST ORDINAL
- ZJN PRS4 IF END OF COMMAND
- PJN PRS1 IF NOT MASS STORAGE
- SHN 13-4
- PJN PRS1 IF NOT ISHARED DEVICES
- LDM DVPR+TDDB
- SCN 1
- LMN 1 SET PRESET FLAG
- STM DVPR+TDDB
- RJM SPE RETURN EQUIPMENT ENTRIES
- UJN PRS6 NEXT ORDINAL
- REM SPACE 4,10
- *** REMOVE=X,Y,...,Z.
- *
- * DEFINE EQUIPMENTS X,Y,...,Z AS REMOVABLE DEVICES.
- * THESE EQUIPMENTS WILL BE AVAILABLE TO REMOVE OR INTRODUCE
- * DEVICES DURING OPERATION OF SYSTEM.
- *
- * NOTE THIS DIRECTIVE MUST BE ENTERED BEFORE A MASS STORAGE
- * DEVICE CAN BE SPECIFIED AS *DOWN* SUCCESSFULLY.
- * DEVICES *DE*, *DP*, *DV* AND *DW* CANNOT BE REMOVABLE.
- * THE FOLLOWING SPECIFICATIONS ARE NOT ALLOWED FOR
- * REMOVABLE DEVICES AND IF SPECIFIED PREVIOUSLY WILL
- * CAUSE *INCORRECT ENTRY* FOR THIS ENTRY.
- *
- * *ASR*
- * *SYSTEM*
- * *TEMP*
- * *FAMILY*
- * *DAYFILE*
- * *ACCOUNT*
- * *ERRLOG*
- * *SCKP*
- REM DATA C*REMOVE=*
- SOD KA
- REM1 RJM GNE GET NEXT EST ORDINAL
- NJN REM2 IF MORE EQUIPMENT
- JMP KBR RETURN
- REM2 PJN REM3 IF NOT MASS STORAGE
- LPC 2000S6
- ADM TDDB+DVFA
- ZJN REM4 IF NOT SYSTEM OR FILE ALLOCATION DEVICE
- REM3 RJM IRE PROCESS INCORRECT RANGE
- REM4 LDM TDDB+DVPR CHECK CHECKPOINT DEVICE
- LPN 2
- NJN REM3 IF SYSTEM CHECKPOINT DEVICE
- LDM EBUT+4
- LPN 10
- NJN REM3 IF ALTERNATE SYSTEM DEVICE
- LDD AB+4
- LMM .PFNL+3
- ZJN REM3 IF DEFAULT FAMILY DEVICE
- LDN DFBFL-1+MDLL
- STD T1
- REM5 LDM DFBF,T1
- LPC 777
- LMD AB+4
- ZJN REM3 IF DAYFILE DEVICE
- SOD T1
- PJN REM5 IF NOT END OF DAYFILES
- LDN REML-1 CHECK TABLE OF NON-REMOVABLE DEVICES
- STD T1
- REM6 LDM REMA,T1 CHECK NEXT TABLE ENTRY
- LMM EBUT+3
- ZJN REM3 IF DEVICE CANNOT BE REMOVABLE
- SOD T1
- PJN REM6 IF NOT END OF TABLE
- LDI ES
- LPC 7377
- LMC 400
- STI ES
- RJM SPE RETURN EQUIPMENT ENTRY TO TABLES
- LJM REM1 MORE EQUIPMENT TO PROCESS
- REMA BSS 0 DEVICES THAT CANNOT BE REMOVABLE
- CON 2RDE
- CON 2RDP
- CON 2RDV
- CON 2RDW
- REML EQU *-REMA LENGTH OF TABLE
- CKP SPACE 4,10
- *** SCKP=X,Y,...,Z.
- *
- * *CKP* ASSIGNS THE CHECKPOINT ATTRIBUTE TO DEVICES WITH EST
- * ORDINALS X, Y, ..., Z. CHECKPOINT DEVICES MUST BE
- * NON-REMOVABLE AND CANNOT BE EXTENDED MEMORY DEVICES.
- CKP DATA C*SCKP=*
- SOD KA
- CKP1 RJM GNE GET NEXT EST ORDINAL
- NJN CKP2 IF MORE EQUIPMENT
- JMP KBR RETURN
- CKP2 PJN CKP3 IF NOT MASS STORAGE DEVICE
- SHN 13-10
- MJN CKP3 IF REMOVABLE DEVICE
- LDM EBUT+3
- LMC 2RDE
- ZJN CKP3 IF EM DEVICE
- LMK 2RDP&2RDE
- ZJN CKP3 IF EM DEVICE
- LDM TDDB+DVPR SET CHECKPOINT DEVICE BIT IN SKELETAL MST
- SCN 2
- LMN 2
- STM TDDB+DVPR BACK INTO MST BUFFER
- RJM SPE UPDATE EQUIPMENT DEFINITION
- UJN CKP1 CHECK FOR MORE EQUIPMENT
- CKP3 RJM IRE PROCESS INCORRECT ENTRY
- SHD SPACE 4,10
- *** SHARE=X1,X2,...,XN.
- *
- * DEFINE X1,X2,...,XN AS SHARED DEVICES.
- * XN MUST BE MASS STORAGE AND OF TYPE FLAGGED IN *TMSD*.
- *
- * NOTE THIS ENTRY IS NOT ALLOWED FOLLOWING *PRESET*.
- SHD DATA C*SHARE=*
- LDD LD
- SHN 0-13
- NJN SHD2 IF ISD PRESENT
- LDM PRSF
- NJN SHD2 IF LINK DEVICE PRESET
- SOD KA
- LDD TH
- RJM DSC DEVICE STATUS CHECK
- LDN LDEQ SET LINK DEVICE NUMBER
- STD LD
- JMP KBR RETURN
- SHD2 JMP ILL PROCESS INCORRECT ENTRY
- SYSTEM SPACE 4,10
- *** SYSTEM=X,Y,...,Z.
- * SET SYSTEM DEVICES TO X, Y, ..., Z.
- * X - Z MAY BE ANY NON REMOVABLE MASS STORAGE DEVICE.
- * IF NONE IS SPECIFIED, THE FIRST MASS STORAGE
- * DEVICE IS USED AS A DEFAULT.
- * ALL EQUIPMENTS SPECIFIED MUST BE OF SAME TYPE.
- * X - Z EST ORDINALS MUST BE .LT. 40.
- *
- * ENTRY IS NOT ALLOWED IF
- * ST = *OFF*
- * *REMOVE*
- * *ASR*
- SYS DATA C*SYSTEM=*
- SOD KA
- SYS1 RJM GNE GET NEXT EST ORDINAL
- NJN SYS2 IF MORE EQUIPMENT
- JMP KBR RETURN
- SYS2 PJN SYS3 IF NOT MASS STORAGE
- SHN 21-12-21+13
- MJN SYS1 IF ALREADY SYSTEM DEVICE
- LPC 402S7
- NJN SYS3 IF OFF/DOWN/REMOVABLE
- LDM EBUT+4
- SHN 21-3
- MJN SYS3 IF ALTERNATE SYSTEM DEVICE
- LDD EQ
- SHN -5
- NJN SYS3 IF EQUIPMENT OUT OF RANGE
- LDM SYDC
- ZJN SYS4 IF NO PREVIOUS SYSTEM DEVICES
- LMN MXSY
- ZJN SYS3 IF MAXIMUM SYSTEM DEVICE COUNT
- LDM EBUT+3
- LMM SYDT
- NJN SYS3 IF NOT SAME DEVICE TYPE
- LDM EBUT+4
- LMM SYNU
- LPN 7
- ZJN SYS5 IF SAME UNIT COUNT
- SYS3 RJM IRE PROCESS INCORRECT RANGE
- SYS4 LDM EBUT+3 SET SYSTEM DEVICE TYPE
- STM SYDT
- LDM EBUT+4
- STM SYNU
- SYS5 LDC 2000 SET SYSTEM DEVICE STATUS
- RAI ES
- LDN 1 SET *TSDS* ALLOCATION STATUS
- SHN TSDS
- RAM TDDB+DVFA
- RJM SPE RETURN EQUIPMENT ENTRIES
- AOM SYDC INCREMENT SYSTEM DEVICE COUNT
- LJM SYS1 CHECK FOR ADDITIONAL SYSTEM DEVICES
- THD SPACE 4,10
- *** THRESHOLD,OP=XXXX,X1,X2,...,XN.
- *
- * OP = VF TO SET VALIDATION FAILURE THRESHOLD.
- * RA TO SET RESTRICT ACTIVITY THRESHOLD.
- * LS TO SET LOW SPACE THRESHOLD.
- * RE TO SET RECOVERED ERROR THRESHOLD.
- * UE TO SET UNRECOVERED ERROR THRESHOLD.
- * XXXX = THRESHOLD VALUE.
- * X1,X2,...,XN = EST ORDINALS OF MS DEVICES.
- THD DATA C*THRESHOLD,*
- LDC TTHD
- RJM SOT SEARCH TABLE FOR THRESHOLD OPTION
- STD T6
- LDI KA CHECK SEPARATOR
- LMN 1R=
- NJN THD1 IF NOT *=*
- AOD KA
- RJM AOD ASSEMBLE THRESHOLD VALUE
- STD T7
- SHN 0-13
- NJN THD1 IF VALUE TOO LARGE
- LDI KA CHECK NEXT SEPARATOR
- LMN 1R,
- ZJN THD3 IF VALID SYNTAX
- THD1 JMP ILL INCORRECT ENTRY
- THD2 PJN THD1 IF NOT MASS STORAGE DEVICE
- LDD T7 SET ERROR THRESHOLD
- STM TDDB+DVTH,T6
- RJM SPE UPDATE EQUIPMENT DEFINITION
- THD3 RJM GNE CHECK NEXT EST ORDINAL
- NJN THD2 IF ANOTHER DEVICE SPECIFIED
- JMP KBR RETURN
- ** TTHD - TABLE OF THRESHOLD IDENTIFIERS.
- TTHD INDEX
- INDEX DVVF-DVTH,2RVF VERIFICATION FAILURES
- INDEX DVRA-DVTH,2RRA RESTRICTED ACTIVITY
- INDEX DVLS-DVTH,2RLS LOW SPACE
- INDEX DVRE-DVTH,2RRE RECOVERED ERRORS
- INDEX DVUE-DVTH,2RUE UNRECOVERED ERRORS
- INDEX 5
- CON 0
- UEM SPACE 4,10
- *** UEMIN.
- *
- * TOGGLE FULL INITIALIZE STATUS FOR *UEM* EQUIPMENT
- * ON LEVEL 0 DEADSTART.
- UEM DATA C*UEMIN.*
- LDD EN CHECK FOR UEM PRESENT
- RJM STA
- ZJN UEM1 IF EXTENDED MEMORY EQUIPMENT UNDEFINED
- LDM EMTY
- LMN 4
- ZJN UEM2 IF MEMORY TYPE *UEM*
- UEM1 JMP ILL PROCESS INCORRECT ENTRY
- UEM2 LDD RS
- NJN UEM3 IF RECOVERY DEADSTART
- LDM EBUT+4
- LPC MLIAL+17
- LMC MLIAL SET FULL INITIALIZE REQUESTED
- STM EBUT+4
- RJM EEB UPDATE EQUIPMENT SPECIFICATION
- UEM3 JMP KBR RETURN
- UPC SPACE 4,10
- *** UP,CH=C1,C2,...,CN.
- *
- * UP SPECIFIED CHANNELS PREVIOUSLY DOWNED.
- *
- * C1 - CN = CHANNEL NUMBER TO BE UPPED. A PREFIX OF
- * *C* DESIGNATES A CONCURRENT CHANNEL.
- UPC DATA C*UP,*
- LDN 0 INDICATE *UP* PROCESSING
- UJP DWN1 JOIN COMMON *UP*/*DOWN* PROCESSING
- XM SPACE 4,20
- *** XM=MID,IIII,UUUUU,EM.
- * ALLOCATE EXTENDED MEMORY WHERE -
- *
- * MID = MACHINE ID.
- * IIII = NUMBER OF WORDS/1000B TO ALLOCATE FOR 819/DEMA/895
- * BUFFERS. MINIMUM = 40B (16K WORDS).
- * MAXIMUM = 37770B (8M WORDS).
- * = 0 IF NO BUFFERS DESIRED.
- * UUUUU = NUMBER OF WORDS/1000B TO ALLOCATE FOR USER XM.
- * MAXIMUM = 77740B.
- * EM = IF PRESENT, FORCE USER EXTENDED MEMORY TO UEM.
- *
- * XM=MID.
- * CLEAR ALLOCATION FOR MACHINE *ID*.
- AXM DATA C*XM=*
- LDC SHNI+3 PRESET SHIFT INSTRUCTION
- ADM EMSC
- STM AXMA
- LDN ZERL INITIALIZE TABLE ENTRY
- CRD CN
- SOD KA
- RJM A2C ASSEMBLE MACHINE ID
- AXM0 ZJP .ILL IF NOT SPECIFIED
- STD CN
- LDN 1
- RJM AVS ASSEMBLE IOB SIZE
- ZJN AXM1 IF NO IOB SIZE SPECIFIED
- STD CN+4
- RJM CFT CONVERT TO TRACK COUNT
- SHN 6
- ADD T0
- SHN -5
- SBD CN+4
- SHN 0-21
- RAD T0
- STD CN+3
- AXM1 LDN 0
- RJM AVS ASSEMBLE USER XM SIZE
- STD CN+2
- ZJN AXM1.1 IF VALUE NOT SPECIFIED
- LDM VEFL
- ZJN AXM1.1 IF *VE* NOT SPECIFIED
- LDM VEMZ
- ADM VEMZ+1
- ZJN AXM0 IF *VE=.* SPECIFIED
- AXM1.1 RJM A2C ASSEMBLE OPTIONAL *EM* PARAMETER
- LMC 2REM
- NJN AXM2 IF NO *EM* PARAMETER
- LDM EMTY
- LMN 4
- ZJN AXM2 IF UEM EST ENTRY PRESENT
- AOD CN+1 SET USER XM IN UEM
- * VALIDATE ENTRIES ARE CONSISTENT FOR MAINFRAME AND EM TYPE.
- AXM2 LDD ID
- LMD CN
- NJN AXM6 IF NOT FOR THIS MACHINE
- * *EM* REQUIRES CME MACHINE.
- LDD CN+1
- ZJN AXM3 IF NOT *EM*
- LDD HO
- SHN 21-13
- MJN AXM5 IF NOT CME
- * I/O BUFFERS REQUIRE CPU ACCESS EQUIPMENT.
- AXM3 LDD CN+4
- ZJN AXM4 IF NO I/O BUFFERS
- LDD EN
- ZJN AXM5 IF NO CPU ACCESS EQUIPMENT
- * USER XM REQUIRES CPU ACCESS, UNLESS IT-S IN UEM WITH NO EST.
- AXM4 LDD CN+2
- ZJN AXM8 IF NO USER XM
- LDD EN
- NJN AXM8 IF CPU ACCESS EQUIPMENT
- LDD CN+1
- NJN AXM8 IF *EM*
- AXM5 JMP ILL
- * VALIDATE ENTRIES FOR ANOTHER MACHINE.
- * I/O BUFFERS OR USER XM REQUIRES LINK DEVICE.
- AXM6 LDD CN+4
- ADD CN+2
- ZJN AXM7 IF NO I/O BUFFERS OR USER XM
- LDD PD
- ZJN AXM5 IF NO LINK DEVICE
- LDN 0
- AXM7 STD CN+1 CLEAR POSSIBLE USER XM IN UEM FLAG
- * LOCATE PROPER ENTRY IN TABLE.
- AXM8 LDN 0
- STD T3 CLEAR POINTER TO EMPTY SLOT
- STD T4
- LDD CN
- LMD ID
- ZJN AXM11 IF ENTRY FOR THIS MACHINE, USE FIRST SLOT
- * SEARCH EXTENDED MEMORY ALLOCATION TABLE FOR MATCHING ID
- * OR EMPTY SLOT.
- AXM9 LDN 5
- RAD T4 ADVANCE SEARCH
- ADK -TAXML
- MJN AXM10 IF NOT END OF TABLE
- LDD T3
- ZJN AXM5 IF NO FREE ENTRY
- STD T4
- LJM AXM15 MOVE ENTRY TO TABLE
- AXM10 LDM TAXM,T4
- LMD CN
- ZJN AXM15 IF MATCHING ENTRY FOUND
- LMD CN
- NJN AXM9 IF SLOT USED
- LDD T3
- NJN AXM9 IF FREE ENTRY FOUND
- LDD T4
- STD T3 SAVE POINTER TO EMPTY SLOT
- UJN AXM9 LOOP
- * PROCESS ENTRY FOR THIS MACHINE.
- AXM11 LDD T5 SET SHIFT COUNT FROM *AVS*
- STM UESC
- LDM EMTY
- LMN 4
- ZJN AXM15 IF UEM PRESENT, PRESERVE ITS SIZE
- LDD CN+1
- NJN AXM13 IF INTERNAL USER EXTENDED MEMORY SPECIFIED
- LDM TAXM+1 CHECK PRIOR *XM* ENTRY
- ZJN AXM15 IF NO PRIOR INTERNAL USER EM DEFINITION
- LDN 0
- UJN AXM14 CLEAR UEM SIZE
- AXM13 LDD CN+2 GET USER EXTENDED MEMORY SIZE
- AXMA SHN 3 CONVERT BACK TO 100B WORD BLOCKS
- * SHN 3+EMSC (EMSC = EXTENDED MEMORY SHIFT COUNT)
- AXM14 STM UEMZ+1 SET/CLEAR UEM REQUIRED SIZE
- SHN -14
- STM UEMZ
- * ENTER *XM* ENTRY IN *TAXM* TABLE.
- AXM15 LDN CN
- STD T1
- LDD CN+2
- ADD CN+4
- NJN AXM16 IF NOT CLEARING ENTRY
- STD CN CLEAR MACHINE ID
- AXM16 LDI T1 MOVE ENTRY TO *TAXM* TABLE
- STM TAXM,T4
- AOD T4
- AOD T1
- SBN CN+5
- NJN AXM16 IF MORE BYTES TO MOVE
- RJM CMS
- ZJN AXM17 IF NO ERROR
- JMP ERR ERROR EXIT
- AXM17 JMP KBR RETURN
- TITLE MISCELLANEOUS SUBROUTINES.
- ACM SPACE 4,10
- ** ACM - ADJUST CENTRAL MEMORY.
- *
- * EXIT (FL - FL+1) = EXECUTION FIELD LENGTH.
- *
- * USES T1 - T4.
- ACM SUBR ENTRY/EXIT
- LDD FL
- STM MCMS
- LDD FL+1 SAVE MINCM VALUE
- STM MCMS+1
- LCN 0 SET MAXIMUM NOS FL TO 2097088
- STD T2
- LPN 7
- STD T1
- LDM UEMZ+1
- ADM UEMZ
- ZJN ACM1 IF NO UEM DEFINED
- LDD MZ+1
- LPN 7 ADJUST FOR 1000B WORD UEM BOUNDARY
- ACM1 STD T4
- LDM VEMZ+1 FIND MEMORY NOT ALLOCATED TO VE OR UEM
- ADM UEMZ+1
- RAD T4
- SHN -14
- ADM VEMZ
- ADM UEMZ
- STD T3
- LDD MZ+1
- SBD T4
- STD FL+1
- PJN ACM1.1 IF NO BORROW
- AOD T3 ADJUST FOR BORROW
- AOD FL+1
- ACM1.1 LDD MZ
- SBD T3
- STD FL
- LDD T1 COMPARE WITH MAXIMUM USABLE NOS FL
- STD T3
- LDD FL+1
- SBD T2
- STD T4
- PJN ACM2 IF NO BORROW
- AOD T3 ADJUST FOR BORROW
- AOD T4
- ACM2 LDD FL
- SBD T3
- STD T3
- MJN ACM4 IF NO UNUSED MEMORY AVAILABLE FOR NOS/VE
- LDM VEFL
- ZJN ACM3 IF NOS/VE NOT DEFINED
- LDD T4
- RAM VEMZ+1 ADJUST NOS/VE MEMORY SIZE
- SHN -14
- ADD T3
- RAM VEMZ
- ACM3 LDD T1 ADJUST NOS MEMORY SIZE
- STD FL
- LDD T2
- STD FL+1
- ACM4 LDD FL
- ZJN ACM5 IF MACHINE FL .LT. 262K
- LDD HO
- SHN 0-13
- ZJN ACM5 IF CME MAINFRAME
- LCN 0 SET NOS MEMORY SIZE TO 262K - 100B
- STD FL+1
- LDN 0
- STD FL
- ACM5 LDD FL+1
- ADM UEMZ+1
- SHN -14
- ADD FL
- ADM UEMZ
- SHN -3
- NJN ACM6 IF EXPANDED MODE NEEDED
- LDM EMSC
- ADD TH
- ERRNZ SHNI-1000
- STM ACMB
- LDM EMFL
- ZJN ACM7 IF EXPANDED MODE NOT NEEDED
- ACMB SHN 0
- * SHN EMSC
- SBN 1
- SHN -14 CHECK FOR EMFL GT 2MW
- ZJN ACM7 IF EXPANDED MODE NOT NEEDED
- ACM6 LDK PSNI
- STM ACMD
- LDM CMDL GET MODEL NUMBER
- SBN 40
- ZJP ACM11 IF CYBER 835
- SBN 77-40
- PJN ACM10 IF CYBER 990
- LDM C8XX
- ZJN ACM8 IF CYBER 800 TYPE MAINFRAME
- LDD HO
- SHN 21-13
- PJN ACM8 IF CYBER 865/875
- LDC PJNI+ACM13-ACMC
- STM ACMC ERROR, IF ECS AND .GT. 2MW XM
- ACM7 LDM CMDL
- SBN 77
- PJN ACM10 IF CYBER 990
- LDD HO
- LPC 100 CHECK FOR A CYBER 170 TYPE MAINFRAME
- NJN ACM9 IF NOT A CYBER 170 TYPE MAINFRAME
- LDN CFGL
- CRD CM
- LDD CM+3
- SHN 21-12 GET ESM MODE BIT
- ACMC PJN ACM9 IF ECS AND NOT ESM
- * PJN ACM13 (IF ECS MODE AND .GT. 2MW)
- ACM8 LDN 1 SET EXPANDED ADDRESSING MODE
- STM EMAF
- ACM9 LJM ACMX RETURN
- ACM10 LDM C9LM
- NJN ACM15 IF LARGE CYBER 990
- ACMD UJN ACM9 RETURN
- * PSN (IF .GE. 2MW CM)
- ACM11 LDD FL SUBTRACT UEM FROM CM
- SBM UEMZ
- STD FL
- SBM MCMS CHECK FOR TOO LITTLE MEMORY AVAILABLE
- MJN ACM13 IF MORE XM REQUESTED THAN AVAILABLE
- LDD FL
- SHN 14
- ADD FL+1
- SBM UEMZ+1
- STD FL+1
- SHN -14
- STD FL
- SHN 14
- ADD FL+1
- SBM MCMS+1 CHECK FOR TOO LITTLE MEMORY AVAILABLE
- ACM12 PJN ACM9 IF VALID MEMORY SIZE REMAINING
- ACM13 LDC 2RXM
- STM CMSA
- LDC CMSA
- ACM14 LJM DSE DISPLAY ERROR MESSAGE AND HANG
- ACM15 LDM TAXM+2
- NJN ACM12 IF USER XM PRESENT
- LDC ACME
- UJN ACM14 DISPLAY ERROR MESSAGE
- ACME DATA C*USER XM REQUIRED.*
- ERRPL ACM13-ACMC-40 JUMP OUT OF RANGE
- AODSUB
- ASDSUB
- ASNSUB
- AVS SPACE 4,10
- ** AVS - ASSEMBLE AND VALIDATE SIZE PARAMETER.
- *
- * ENTRY (A) = 0 IF PROCESSING USER EM SIZE.
- * = 1 IF PROCESSING IO BUFFER SIZE.
- * (KA) = CURRENT CHARACTER STRING ADDRESS.
- *
- * EXIT (A) = 0 IF END OF STRING, ELSE ASSEMBLED SIZE/*EMBS*.
- * (T5) = USER EM SHIFT COUNT REQUIRED FOR USER EM SIZE
- * TO FIT IN 11 BITS.
- *
- * ERROR TO *ILL* IF INCORRECT SIZE ENTRY.
- *
- * CALLS AOD.
- AVS6 LDD LD
- LPC 777
- NJN AVS7 IF LINK DEVICE DEFINED
- LDM EMSC
- STM LDSH USE EM DEVICE WITH CPU ACCESS
- AVS7 LDC SHNI+3
- SBM EMSC
- STM AVSA
- LDD AB+3 RETURN SIZE PARAMETER VALUE
- SHN 14
- LMD AB+4
- AVSA SHN 3 ALLOW FOR BLOCKING FACTOR
- * SHN 3-EMSC
- ADN 7
- SHN -3
- STD T0
- SHN -14
- NJN AVS1 IF VALUE TOO LARGE
- LDD T0
- AVS SUBR ENTRY/EXIT
- STD T5
- LDI KA
- SBN 1R.
- ZJN AVSX IF NO ENTRY
- AOD KA ADVANCE CHARACTER ADDRESS
- RJM AOD ASSEMBLE SIZE PARAMETER
- LDD AB+3 VALIDATE SIZE PARAMETER
- SCN 7
- NJN AVS1 IF SIZE TOO LARGE
- LDD T5
- ZJN AVS2 IF PROCESSING USER XM SIZE
- LDD AB+3
- SHN 14
- LMD AB+4
- ZJN AVSX IF NO IOB SIZE SPECIFIED
- SBN 40
- MJN AVS1 IF IOB SIZE .LT. 16K WORDS
- SBK 37771-40
- MJN AVS5 IF IOB SIZE .LT. 8M WORDS
- AVS1 JMP ILL PROCESS INCORRECT ENTRY
- AVS2 LDD AB+3
- SHN 14
- LMD AB+4
- ADC -77741
- PJN AVS1 IF USER XM SIZE .GT. MAXIMUM
- ADC 77741
- SHN -13
- ZJN AVS4 IF .LE. 1M WORDS
- AVS3 STD T0
- AOD T5 INCREASE EM SHIFT COUNT
- LDD T0
- SHN -1
- NJN AVS3 IF XM SIZE NOT YET DETERMINED
- AVS4 LDD EN
- NJN AVS5 IF XM DEVICE DEFINED
- LDD T5
- ZJN AVS5 IF NO SHIFT REQUIRED
- SBN 1
- STM EMSC
- AVS5 UJP AVS6 RETURN SIZE PARAMETER VALUE
- A2C SPACE 4,10
- ** A2C - ASSEMBLE TWO CHARACTER VALUE.
- *
- * ENTRY KA = CURRENT CHARACTER STRING ADDRESS.
- *
- * EXIT (A) = VALUE ASSEMBLED.
- * TO *ILL* IF SEPARATOR NOT *.* OR *,* OR IF
- * VALUE LONGER THAN TWO CHARACTERS.
- *
- * CALLS ASN.
- A2C1 LDD CM RETURN VALUE
- A2C SUBR
- LDI KA
- SBN 1R.
- ZJN A2CX IF NOTHING TO ASSEMBLE
- LDN 3
- RJM ASN ASSEMBLE VALUE
- ZJN A2C1 IF .LE. 2 CHARACTERS AND PROPER SEPARATOR
- JMP ILL PROCESS INCORRECT ENTRY
- CDD SPACE 4,10
- ** CDD - CHECK DEADSTART DISK.
- *
- * ENTRY (DF) = DEADSTART FUNCTION.
- * (DH) = DEADSTART CHANNEL.
- *
- * EXIT (A) = 0 IF DEADSTART DEVICE.
- CDD SUBR ENTRY/EXIT
- LDD DF
- LPC 700
- NJN CDDX IF NOT DISK DEADSTART
- LDI ES
- SHN -6
- LPN 42
- CDD1 LMN 42
- NJN CDDX IF NOT MASS STORAGE / *LDAM* DEVICE
- LDM EBUT+1
- LMD DH
- LPN 77
- ZJN CDD2 IF MATCH ON PRIMARY CHANNEL
- LDM EBUT+2
- ZJN CDD1 IF NO SECONDARY CHANNEL
- LMD DH
- LPN 77
- NJN CDDX IF NO MATCH ON SECONDARY CHANNEL
- CDD2 LDD DF
- LPN 77
- LMM TDDB+DVUN+3
- UJN CDDX RETURN
- CDRSUB
- CDT SPACE 4,10
- ** CDT - CHECK DEADSTART TAPE.
- *
- * ENTRY (DF) = DEADSTART FUNCTION.
- * (DH) = DEADSTART CHANNEL.
- *
- * EXIT (A) = 0 IF DEADSTART DEVICE.
- CDT SUBR ENTRY/EXIT
- LDM EBUT+3 CHECK EQUIPMENT TYPE
- SHN 14
- LMC 1LT+1RN
- ZJN CDT2 IF *NT*
- CDT1 LMN 1RM&1RN
- NJN CDTX IF NOT *MT*
- CDT2 LDM EBUT+4
- LMD DF CHECK CONNECT CODE
- LPC 7017
- NJN CDTX IF NO MATCH ON EQUIPMENT AND UNIT
- LDM EBUT+1 CHECK 1ST CHANNEL
- LMD DH
- LPN 37
- ZJN CDTX IF MATCH ON 1ST CHANNEL
- LDM EBUT+2
- ZJN CDT1 IF NO SECOND CHANNEL
- LMD DH
- LPN 37
- UJN CDTX RETURN
- CEM SPACE 4,10
- ** CEM - CHECK FOR MASS STORAGE.
- *
- * EXIT (A) = (EBUT) WITH BIT 13 SHIFTED TO SIGN POSITION.
- * (MS) = *TMSD* TABLE ADDRESS.
- * (AB+4) = EST ORDINAL.
- CEM2 LDD AB+4 FETCH EQUIPMENT DEFINITION
- RJM STA
- LDI ES
- SHN 21-13
- PJN CEM1 IF NOT MASS STORAGE
- CEM SUBR ENTRY/EXIT
- AOD KA
- RJM AOD ASSEMBLE EST ORDINAL
- SBD LE
- MJN CEM2 IF VALID EST ORDINAL
- CEM1 JMP ILL PROCESS INCORRECT ENTRY
- CLD SPACE 4,10
- ** CLD - CHECK LINK DEVICE DEFINED FOR MMF OPERATION.
- *
- * EXIT (A) = 0 IF NO SHARED DEVICES.
- *
- * ERROR TO *DDE*.
- *
- * NOTES IF (NS) .NE. 0 AND A LINK DEVICE IS DEFINED
- * CORRECTLY, SHARED STATUS WILL BE SET IF THE
- * LINK DEVICE IS NOT ALREADY SHARED.
- *
- * CALLS EEB, STA.
- CLD SUBR ENTRY/EXIT
- LDD LD
- LMC 4000
- ZJN CLDX IF ISD PRESENT
- LDD NS
- ZJN CLDX IF NO SHARED DEVICES
- LDN LDEQ CHECK LINK DEVICE TYPE
- RJM STA
- ZJN CLD4 IF NO EQUIPMENT DEFINED
- LDM TDDB+DVED CHECK EXTENDED MEMORY TYPE
- SHN -6
- LPN 7
- ZJN CLD3 IF NOT EXTENDED MEMORY
- SBN 3
- ZJN CLD3 IF LCME
- LDI ES
- SHN 21-1
- MJN CLD3 IF DEVICE *OFF* OR *DOWN*
- SHN 2+21-11
- MJN CLDX IF SHARED STATUS SET PREVIOUSLY
- LDD TH SET SHARED STATUS
- RAI ES
- RJM EEB RETURN EQUIPMENT ENTRY
- AOD NS ADVANCE SHARED DEVICE COUNT
- UJP CLDX RETURN
- CLD3 LDN CLDB-CLDA SET ERROR MESSAGE ADDRESS
- CLD4 ADC CLDA
- LJM DDE DISPLAY DEADSTART ERROR
- CLDA DATA C*NO LINK DEVICE DEFINED.*
- CLDB DATA C*LINK DEVICE INCORRECTLY DEFINED.*
- CME SPACE 4,10
- ** CME - CHECK *MMF* ENVIRONMENT.
- *
- * ERROR TO *DDE*.
- *
- * CALLS CLD.
- CME SUBR ENTRY/EXIT
- RJM CLD
- ZJN CMEX IF NOT ECS MMF ENVIRONMENT
- LDM EBUT+4
- SCN 17
- ZJN CMEX IF LINK DEVICE NOT BEING INITIALIZED
- LDM PRSF
- NJN CMEX IF PRESET SPECIFIED
- LDC CMEA
- LJM DDE DISPLAY DEADSTART ERROR
- CMEA DATA C*INITIALIZE OF LINK DEVICE REQUIRES PRESET.*
- COD SPACE 4,10
- ** COD - CONVERT OCTAL TO DISPLAY CODE.
- *
- * ENTRY (A) = FWA OF ERROR MESSAGE.
- * (EQ) = EST ORDINAL OF INCORRECT EQUIPMENT.
- *
- * EXIT (KM) = ERROR MESSAGE ADDRESS.
- COD SUBR ENTRY/EXIT
- STD KM
- LDD EQ UNPACK FIRST TWO DIGITS
- SHN -3
- STD T0
- SHN 3
- LMD T0
- SCN 70
- ADC 2R00 CONVERT DIGIT
- STM 1,KM
- LDD EQ UNPACK THIRD DIGIT
- LPN 7
- SHN 6
- ADC 2R0 CONVERT DIGIT
- STM 2,KM
- UJN CODX RETURN
- DCM SPACE 4,10
- ** DCM - DISPLAY CONVERTED MESSAGE.
- *
- * ENTRY (A) = ADDRESS OF ERROR MESSAGE.
- * (EQ) = EST ORDINAL OF INCORRECT EQUIPMENT.
- *
- * EXIT TO *DDE*.
- *
- * CALLS COD.
- DCM RJM COD CONVERT OCTAL TO DISPLAY
- LDD KM
- * UJN DDE
- ERRNZ DDE-* IF CODE NOT CONTIGUOUS
- DDE SPACE 4,10
- ** DDE - DISPLAY DEADSTART ERROR.
- *
- * ENTRY (A) = ADDRESS OF ERROR MESSAGE.
- *
- * EXIT TO *ATD3*.
- DDE STD KM SET MESSAGE ADDRESS
- LDN 0
- STD DS FORCE DISPLAY
- STD DP
- LJM ATD3 PROCESS KEYBOARD ASSEMBLY
- DSC SPACE 4,10
- ** DSC - DEVICE STATUS CHECK.
- *
- * ENTRY (A) = BITS TO SET IN BYTE 0 OF EST ENTRY.
- *
- * EXIT (MS) = *TMSD* BUFFER ADDRESS IF MASS STORAGE.
- * (AB+4) = EST ORDINAL.
- *
- * USES NS, T7.
- *
- * CALLS GNE, IRE, SPE.
- DSC SUBR ENTRY/EXIT
- STD T7
- DSC1 RJM GNE GET NEXT EST ORDINAL
- ZJN DSCX IF NO MORE EQUIPMENT
- PJN DSC3 IF NOT MASS STORAGE
- SHN 21-11-21+13
- MJN DSC1 IF ALREADY DEFINED AS SHARED
- LDM TDDB+DVCT CHECK FOR VALID DEVICE TYPE
- SHN 21-13
- PJN DSC3 IF INCORRECT DEVICE TYPE
- LDD T7
- RAI ES
- LPN 20
- ZJN DSC4 IF NOT INDEPENDENT SHARED DEVICE
- LDM EBUT+3
- LMC 2RDE
- ZJN DSC3 IF EXTENDED MEMORY
- LMK 2RDP&2RDE
- NJN DSC4 IF NOT EXTENDED MEMORY
- DSC3 RJM IRE PROCESS INCORRECT RANGE
- DSC4 AOD NS INCREMENT SHARED DEVICE COUNT
- LDI ES
- LPN 40
- ZJN DSC5 IF NOT BUFFERED DEVICE
- AOM NSBD INCREMENT SHARED BUFFERED DEVICE COUNT
- DSC5 LDM TDDB+DVFA CLEAR TEMP - NONSHARED STATUS
- LPC -4000
- STM TDDB+DVFA
- RJM SPE SYNCHRONIZE PARTITIONS AND ENTER EQUIPMENT
- UJP DSC1 PROCESS NEXT EQUIPMENT
- GNE SPACE 4,15
- ** GNE - GET NEXT EST ORDINAL.
- *
- * ENTRY (KA) = ADDRESS OF SEPARATOR.
- *
- * EXIT (A) = (EBUT) WITH BIT 13 SHIFTED TO SIGN POSITION,
- * IF MASS STORAGE EQUIPMENT.
- * = 1, IF NOT MASS STORAGE EQUIPMENT.
- * = 0, IF NO MORE EQUIPMENTS.
- * (EQ) = EST ORDINAL.
- *
- * USES AB+3, AB+4, EQ, KA.
- *
- * CALLS AOD, CDR, STA.
- GNE6 LDD AB+4
- STD EQ
- SBD LE
- MJN GNE7 IF VALID EST ORDINAL
- RJM IRE PROCESS INCORRECT RANGE
- GNE7 LDD AB+4
- RJM STA
- LDM EBUT+3
- NJN GNE8 IF ENTRY NOT NULL
- LDM GNEA
- NJN GNE1 IF PROCESSING A RANGE OF ORDINALS
- JMP ILL PROCESS INCORRECT ENTRY
- GNE8 LDI ES
- SHN 21-13
- MJN GNEX IF MASS STORAGE
- LDN 1
- GNE SUBR ENTRY/EXIT
- LDM GNEA
- ZJN GNE2 IF NOT PROCESSING RANGE
- GNE1 AOD AB+4
- LDM GNEA
- SBD AB+4
- PJN GNE3 IF NOT END OF RANGE
- LDN 0
- STM GNEA
- GNE2 LDI KA
- LMN 1R. CHECK SEPARATOR
- ZJN GNEX IF *.*
- AOD KA
- RJM CDR ASSEMBLE EST ORDINAL
- LMN 1R, CHECK SEPARATOR
- ZJN GNE3 IF *,*
- LMN 1R.&1R,
- ZJN GNE3 IF *.*
- LMN 1R-&1R.
- NJN GNE4 IF NOT *-*
- LDD AB+4 SAVE EST ORDINAL
- STD EQ
- AOD KA
- RJM AOD ASSEMBLE LAST EST ORDINAL
- STM GNEA SAVE LAST EST ORDINAL
- SBK ESMX
- PJN GNE4 IF EST ORDINAL EXCEEDS MAXIMUM
- LDD EQ
- STD AB+4 RESTORE CURRENT EST ORDINAL
- SBM GNEA
- PJN GNE4 IF INCORRECT RANGE
- GNE3 LJM GNE6 READ EST ENTRY
- GNE4 JMP ILL PROCESS INCORRECT ENTRY
- GNEA CON 0 LAST EST ORDINAL IN RANGE
- IRE SPACE 4,10
- ** IRE - INCORRECT RANGE ERROR.
- *
- * ENTRY (EQ) = EST ORDINAL OF INCORRECT EQUIPMENT.
- *
- * EXIT TO *ERR*.
- *
- * CALLS COD.
- IRE EQU *-1
- LDC IREA
- RJM COD
- JMP ERR
- IREA DATA C*EQXXX - INCORRECT ENTRY*
- SDF SPACE 4,10
- ** SDF - SET DEFAULT MASS STORAGE DEVICE.
- *
- * EXIT (DFMS) = FIRST NONREMOVABLE MASS STORAGE DEVICE.
- *
- * ERROR TO *DDE*.
- *
- * USES EQ.
- *
- * CALLS STA.
- SDF3 LPC 402S6
- NJN SDF2 IF OFF/DOWN/REMOVABLE
- LDM EBUT+3
- LMC 2RDE
- ZJN SDF2 IF EXTENDED MEMORY
- LMK 2RDP&2RDE
- ZJN SDF2 IF EXTENDED MEMORY
- LDD EQ
- SBN 40
- PJN SDF2 IF ORDINAL OUT OF RANGE
- ADN 40
- STM DFMS SET DEFAULT DEVICE
- SDF SUBR ENTRY/EXIT
- LDN NOPE
- STD EQ
- SDF1 LDD EQ FETCH EQUIPMENT ENTRY
- RJM STA
- LDI ES
- SHN 21-13
- MJN SDF3 IF MASS STORAGE
- SDF2 AOD EQ INCREMENT ORDINAL
- LMD LE
- NJN SDF1 IF NOT END OF EST
- LDC SDFA
- LJM DDE DISPLAY DEADSTART ERROR
- SDFA DATA C*NO SYSTEM DEVICE DEFINED.*
- SDS SPACE 4,10
- ** SDS - SEARCH FOR DEADSTART DEVICE.
- *
- * EXIT (AB+4) = EST ORDINAL OF DEADSTART DEVICE.
- *
- * ERROR TO *DDE*.
- *
- * USES AB+4.
- *
- * CALLS CDD, CDT, STA.
- SDS SUBR ENTRY/EXIT
- LDN NOPE
- STD AB+4
- SDS1 LDD AB+4 READ EQUIPMENT ENTRY
- RJM STA
- LDI ES
- LPN 3
- LMN 3
- ZJN SDS2 IF DEVICE *DOWN*
- RJM CDD CHECK DEADSTART DISK
- ZJN SDSX IF MS DEVICE IDENTIFIED
- RJM CDT CHECK DEADSTART TAPE
- ZJN SDSX IF TAPE UNIT FOUND
- SDS2 AOD AB+4 ADVANCE EST ORDINAL
- LMD LE
- NJN SDS1 IF NOT END OF EST
- LDC SDSA
- LJM DDE DISPLAY DEADSTART ERROR
- SDSA DATA C*DEADSTART DEVICE UNDEFINED.*
- SOT SPACE 4,15
- ** SOT - SEARCH OPTION TABLE.
- *
- * ENTRY (A) = FWA OF PARAMETER TABLE.
- * ((KA - KA+1)) = PARAMETER NAME.
- *
- * EXIT (A) = INDEX OF ENTRY FOUND.
- * (T2) = TABLE ADDRESS OF ENTRY FOUND.
- * (T1) = ((T2)) = PARAMETER NAME.
- * (KA) = KEYBOARD BUFFER ADDRESS ADVANCED.
- *
- * USES T3.
- SOT2 LDN 2 ADVANCE BUFFER ADDRESS
- RAD KA
- LDD T2 RETURN WITH INDEX
- SBD T3
- SOT SUBR ENTRY/EXIT
- STD T2
- STD T3 SAVE FWA OF TABLE
- LDI KA
- SHN 6
- LMM 1,KA ASSEMBLE PARAMETER NAME
- STD T1
- LDI T2
- SOT1 LMD T1
- ZJN SOT2 IF MATCH FOUND
- AOD T2
- LDI T2
- NJN SOT1 IF NOT END OF TABLE
- JMP ILL INCORRECT ENTRY
- TITLE MISCELLANEOUS ENTRIES.
- AUT SPACE 4,10
- *** AUTOLOAD.
- * TOGGLE SELECTION OF AUTOLOADING OF MASS STORAGE CONTROLLERS.
- * INITIALLY AUTOLOADING IS SELECTED FOR ALL LEVELS OF
- * DEADSTART.
- *
- * THIS ENTRY IS ONLY ALLOWED FROM THE KEYBOARD.
- AUT DATA C*AUTOLOAD.*
- LDN 2
- UJN GRN1 TOGGLE AUTOLOAD STATUS
- GRN SPACE 4,10
- *** GRENADE.
- * TOGGLE SELECTION OF THE GRENADE OPERATION FOR MASS STORAGE
- * CONTROLLERS THAT ARE AUTOLOADED. INITIALLY THE GRENADE
- * OPERATION IS NOT SELECTED.
- *
- * THIS ENTRY IS ONLY ALLOWED FROM THE KEYBOARD.
- *
- * THE GRENADE OPERATION CAN INTERRUPT ACTIVITY ON A DRIVE
- * WHICH IS BEING ACCESSED FROM ANOTHER CONTROLLER.
- GRN DATA C*GRENADE.*
- LDN 1 TOGGLE GRENADE OPTION BIT
- GRN1 LMM DSTO
- STM DSTO
- JMP KBR RETURN
- LBC SPACE 4,10
- *** LBC,AA,C1,C2,...,CN.
- *
- * LOAD CONTROLWARE RECORD TYPE *AA* ON CHANNELS C1 TO CN.
- LBC DATA C*LBC,*
- LDC TLBC
- RJM SOT SEARCH TABLE FOR CONTROLWARE OPTION
- STD T6
- LDI KA CHECK SEPARATOR
- LMN 1R,
- ZJN LBC3 IF VALID SYNTAX
- LBC2 JMP ILL PROCESS INCORRECT ENTRY
- LBC3 STD T3 CLEAR CONCURRENT CHANNEL FLAG
- AOD KA
- LDI KA CHECK FOR *C* PREFIX
- SBN 1RC
- NJN LBC4 IF NOT A CONCURRENT CHANNEL
- LDN 40 SET CONCURRENT CHANNEL FLAG
- STD T3
- AOD KA ADVANCE PAST *C*
- LBC4 RJM AOD CONVERT DIGITS
- SBN TCHSL
- PJN LBC2 IF INCORRECT CHANNEL
- LDD T3 MERGE CCH FLAG WITH CHANNEL NUMBER
- RAD AB+4
- LDD T6
- ZJN LBC5 IF NULL CONTROLWARE
- SBK CNSD
- ZJN LBC4.1 IF SUPPRESSED CONTROLWARE
- ADK CNSD
- LBC4.1 LMD HN
- LBC5 STM TCHS,AB+4
- LDI KA CHECK SEPARATOR
- LMN 1R,
- ZJN LBC3 IF NOT END OF CHANNELS
- RJM SCC SET CONTROLWARE TABLE IN CM
- JMP KBR RETURN
- SPACE 4,10
- ** TLBC - TABLE OF CONTROLWARE RECORD TYPES TO LOAD.
- TLBC BSS 0
- DUP MXCLO,1
- CON 6060
- ORG TLBC
- TLBC INDEX
- INDEX CNNC,2RNC NULL CONTROLWARE
- INDEX CLHT,2RHT LOAD HALF TRACK CONTROLWARE
- INDEX CNHT,2RNH NO LOAD HALF TRACK CONTROLWARE
- INDEX CLFT,2RFT LOAD FULL TRACK CONTROLWARE
- INDEX CNFT,2RNF NO LOAD FULL TRACK CONTROLWARE
- INDEX CLFM,2RFM LOAD FMD CONTROLWARE
- INDEX CNFM,2RNM NO LOAD FMD CONTROLWARE
- INDEX CLAD,2RAD LOAD FSC ADAPTOR CONTROLWARE
- INDEX CNAD,2RNA NO LOAD FSC ADAPTOR CONTROLWARE
- INDEX CLPH,2RPH LOAD DEMA/PFMD CONTROLWARE
- INDEX CNPH,2RNP NO LOAD DEMA/PFMD CONTROLWARE
- INDEX CLID,2RID LOAD 7255 ADAPTOR CONTROLWARE
- INDEX CNID,2RNI NO LOAD 7255 ADAPTOR CONTROLWARE
- INDEX CLCC,2RCC LOAD 7165 ADAPTOR CONTROLWARE
- INDEX CNCC,2RCN NO LOAD 7165 ADAPTOR CONTROLWARE
- INDEX CNND,2RNN NO LOAD NAD CONTROLWARE
- INDEX CLM8,2RM8 LOAD M860 FSC CONTROLWARE
- INDEX CNM8,2RN8 NO LOAD M860 FSC CONTROLWARE
- INDEX CNCX,2RNX NO LOAD CCC/NIP CONTROLWARE
- INDEX CNCT,2RNT NO LOAD CCC/698 CONTROLWARE
- INDEX CNSD,2RSD SUPPRESS DEFAULT CONTROLWARE
- INDEX MXCLO
- CON 0 END OF TABLE
- RST SPACE 4,10
- *** RESET=X1,X2,...,XN.
- *
- * RESET CHARACTERISTICS FOR EQUIPMENTS X1, X2, ... ,XN.
- * ONLY THE INFORMATION ENTERED VIA THE *EQXXX=* COMMAND
- * WILL BE RETAINED.
- *
- * THIS ENTRY IS ONLY ALLOWED FROM THE KEYBOARD.
- RST DATA C*RESET=*
- SOD KA
- RST1 AOD KA
- RJM AOD ASSEMBLE EST ORDINAL
- ZJN RST2 IF EQUIPMENT ZERO
- SBD LE
- PJN RST2 IF INCORRECT EST ORDINAL
- LDD AB+4
- RJM STA SET TABLE ADDRESS
- LDM EBUT+3
- ZJN RST2 IF NULL ENTRY
- LDI ES
- SHN 21-3
- PJN RST3 IF NOT PSEUDO EQUIPMENT
- RST2 JMP ILL PROCESS INCORRECT ENTRY
- RST3 SHN 22+21-13+3-21
- PJN RST4 IF NOT MASS STORAGE DEVICE
- RJM RMD RESET MASS STORAGE DEVICE
- LDN 0 CLEAR *TDDB* INFORMATION
- STM TDDB+DVFA
- STM TDDB+DVDN
- CRM TDDB+DVPF,ON
- LDM TDDB+DVPR
- SCN 3
- STM TDDB+DVPR
- LDM EBUT+4 CLEAR EST INFORMATION
- LPN 7
- STM EBUT+4
- LDI ES
- LPC 4352
- STI ES
- RST4 LDI ES RESET *ON* STATUS
- SCN 3
- STI ES
- LDM EBUT+10 CLEAR ACCESS LEVELS
- SCN 77
- STM EBUT+10
- RJM EEB UPDATE EQUIPMENT ENTRY
- LDI KA
- LMN 1R.
- ZJN RST5 IF END OF LIST
- LJM RST1 PROCESS NEXT ENTRY
- RST5 JMP KBR RETURN
- CCN SPACE 4,10
- ** CCN - CHECK CHANNEL NUMBERS.
- *
- * (EBUT - EBUT+4) = FIRST UNIT EST ENTRY.
- * (CN+1 - CN+2) = CONTROL MODULE CHANNEL(S).
- *
- * ERROR TO *DCM*.
- *
- * USES T7, CN+1.
- CCN2 LMD CN+1 REVERSE CHANNELS
- LMD CN+2
- NJN CCN1 IF NO CHANNEL MATCH
- LDD CN+1
- LMM EBUT+2
- NJN CCN1 IF NO CHANNEL MATCH
- CCN SUBR ENTRY/EXIT
- LDM EBUT+1
- LMD CN+1
- NJN CCN2 IF NO CHANNEL MATCH
- LDM EBUT+2
- LMD CN+2
- ZJN CCNX IF THE CHANNELS MATCH
- CCN1 LDC CCNA
- JMP DCM DISPLAY CONVERTED MESSAGE
- CCNA DATA C*EQXXX UNITS SPAN DIFFERENT CHANNELS*
- DDV SPACE 4,10
- ** DDV - DOWN ISMD DEVICE.
- *
- * ENTRY (EBUT) = EBUF EQUIPMENT ENTRY.
- *
- * EXIT DEVICE DOWN AND OFF IF VALID FOR THIS DEVICE.
- *
- * ERROR TO *DCM*.
- *
- * CALLS CDD, EEB.
- DDV2 SHN 11-10
- PJN DDV1 IF NOT REMOVABLE
- LDM EBUT+4
- SCN 17
- NJN DDV1 IF INITIALIZATION REQUESTED
- RJM CDD
- ZJN DDV1 IF DEADSTART DEVICE
- LDI ES
- SCN 3
- LMN 3 SET DEVICE *OFF* AND *DOWN*
- STI ES
- RJM EEB ENTER EQUIPMENT ENTRY
- DDV SUBR ENTRY/EXIT
- LDI ES
- SHN 21-11
- PJN DDV2 IF NOT SHARED
- DDV1 LDC DDVA
- JMP DCM DISPLAY CONVERTED MESSAGE
- DDVA DATA C*EQXXX CAN NOT BE DOWNED*
- VCD SPACE 4,30
- ** VCD - VALIDATE *CM* AND ISMD ENTRIES.
- *
- * ENTRY (ISPF) .LT. 0, IF NOT CYBER 810/815/825/830.
- *
- * EXIT (ISPF) = COUNT OF CONTROL MODULES DEFINED.
- * *CM* AND ISMD TYPE ENTRIES VALIDATED.
- * IF A *CM* DEVICE IS DEFINED AS DOWN, ALL CORRESPONDING
- * ISMD DEVICES ARE ALSO DOWNED.
- *
- * ERROR TO *DCM* IF ANY OF THE FOLLOWING IS TRUE.
- *
- * 1) NO *CM* ENTRY EXISTS FOR AN ISMD DEVICE.
- * 2) NO ISMD ENTRY EXISTS FOR A *CM* DEVICE.
- * 3) A MULTI-UNIT ISMD DEVICE SPANS *CM* DEVICES ON
- * DIFFERENT CHANNEL(S).
- * 4) UNIT NUMBERS FOR A GIVEN *CM* ARE NOT UNIQUE.
- * 5) A *CM* DEVICE IS DEFINED AS DOWN BUT A
- * CORRESPONDING ISMD DEVICE CAN NOT BE
- * DOWNED.
- * 6) AN ISMD DEVICE IS DEFINED WITH AN INCOMPATIBLE
- * CONTROL MODULE.
- *
- * USES T2, T5.
- *
- * CALLS SID, VUN.
- VCD SUBR ENTRY/EXIT
- LDM ISPF
- SHN 0-13
- NJN VCDX IF NOT CYBER 810/815/825/830
- STM ISPF CLEAR ISMD PRESENT FLAG
- CRM TUNB,ON CLEAR TABLE OF UNIT NUMBERS
- CRM TUNB+3,ON
- LDC ATD3 PRESET ERROR RETURN ADDRESS
- STM AKL
- LCN 0 SEARCH FOR ISMD DEVICE
- VCD1 RJM SID
- MJN VCD3 IF NO MORE FOUND
- LPN 7 SAVE NUMBER OF UNITS IN THIS DEVICE
- ADN 1
- STD T5
- LDC TDDB+DVUN+3 INITIALIZE UNIT LIST OFFSET
- STD T2
- VCD2 LDI T2 VALIDATE LOWER UNIT NUMBER
- LPN 77
- RJM VUN
- ZJN VCD1 IF END OF UNIT LIST FOR THIS DEVICE
- LDI T2 VALIDATE UPPER UNIT NUMBER
- SHN -6
- RJM VUN
- ZJN VCD1 IF END OF UNIT LIST FOR THIS DEVICE
- SOD T2
- UJN VCD2 PROCESS NEXT UNIT
- VCD3 LDN 8D CHECK *CM* ENTRIES
- STD T2
- VCD4 SOD T2
- MJP VCDX IF ALL *CM* ENTRIES CHECKED
- LDM TENB,T2
- ZJN VCD4 IF THIS *CM* NOT DEFINED
- STD EQ
- AOM ISPF
- LDM TUNB,T2
- NJN VCD4 IF AT LEAST ONE DRIVE DEFINED ON THIS *CM*
- LDC VCDA
- JMP DCM DISPLAY CONVERTED MESSAGE
- VCDA DATA C*EQXXX HAS NO DRIVE DEFINED*
- VUN SPACE 4,20
- ** VUN - VALIDATE UNIT NUMBER.
- *
- * ENTRY (A) = UNIT NUMBER.
- * (T4) = *TFSD* INDEX SET BY *SID*.
- * (T5) = NUMBER OF UNITS LEFT TO PROCESS.
- *
- * EXIT (T5) DECREMENTED.
- * (A) = (T5).
- * CORRESPONDING *TUNB* ENTRY UPDATED.
- * ISMD DEVICE DOWNED IF *CM* IS DOWN.
- *
- * ERROR TO *DCM*.
- *
- * USES T1, T6, CM - CM+4, CN - CN+4.
- *
- * CALLS CCN, DDV.
- VUN3 RAM TUNB,T6
- RJM CCN ENSURE CHANNELS OF ALL UNITS MATCH
- LDD CN
- LPN 3
- LMN 3
- NJN VUN4 IF NOT *DOWN*
- RJM DDV
- VUN4 SOD T5 DECREMENT UNIT COUNT
- VUN SUBR ENTRY/EXIT
- SHN 21-2 SAVE *CM* NUMBER
- STD T6
- SHN 2-21 SAVE DRIVE NUMBER
- STD T1
- LDM TENB,T6
- ZJN VUN1 IF NO *CM* FOR THIS UNIT EXISTS
- SHN 22-5
- ADD EB
- SHN 6
- CRD CN FETCH EST ENTRY FOR CONTROL MODULE
- ADN EQAE
- CRD CM
- LDD CM+2
- LPN 37
- LMM VUNB,T4
- ZJN VUN2 IF *CM* TYPE CORRECT FOR THIS UNIT
- VUN1 LDC VUNC
- JMP DCM DISPLAY CONVERTED MESSAGE
- VUN2 LDM TUNB,T6 VERIFY THAT UNIT NUMBER IS UNIQUE
- LMM VUNA,T1
- SBM TUNB,T6
- PJP VUN3 IF UNIQUE UNIT NUMBER FOR THIS *CM*
- LDM TENB,T6 GET *CM* EST ORDINAL FOR MESSAGE
- STD EQ
- LDC VUND
- JMP DCM DISPLAY CONVERTED MESSAGE
- VUNA BSS 0 TABLE OF DRIVE NUMBER MASKS
- CON 1
- CON 2
- CON 4
- CON 10
- VUNB BSS 0
- CON CMCW
- CON C2CW
- VUNC DATA C/EQXXX UNIT DEFINED ON WRONG *CM*/
- VUND DATA C/EQXXX HAS DUPLICATE UNIT NUMBER/
- QUAL
- VAL$ EQU 1
- SCH$ EQU 1
- QUAL *
- *CALL COMSMLS
- *CALL COMPVLC
- TUNB SPACE 4,10
- ** TUNB - TABLE OF UNIQUE ISMD UNIT NUMBERS.
- *
- * ENTRY = 1 WORD.
- TUNB BSS 0
- ERRPL TUNB+10-10001 TABLE WRAPS PP MEMORY
- SPACE 4,10
- QUAL *
- EQ3S EQU *+4-EQXO *EQ3* SIZE
- EQ3L EQU EQ3S/5+77 *EQ3* OVERLAY LENGTH
- ERRNG 7777-*-4 OVERFLOW WHEN LOADING *EQ3*
- .EQXL MAX EQ1L/100,EQ2L/100,EQ3L/100 MAXIMUM OVERLAY LENGTH
- EQXL EQU .EQXL
- .EQML MAX EQ1L-77,EQ2L-77,EQ3L-77 MAXIMUM OVERLAY ACTUAL LENGTH
- EQML EQU .EQML
- TTL SET/ICM - INITIALIZE CENTRAL MEMORY.
- TITLE
- IDENT ICM,/ICM/ICMX
- QUAL ICM
- ORG APRL
- *COMMENT SET - INITIALIZE CENTRAL MEMORY.
- COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
- SPACE 4,10
- ** COMMON ROUTINES FOR *ICM* AND *RCM*.
- *
- * THESE MACROS PROVIDE COMMON CODE FOR *ICM* AND *RCM*.
- SPACE 4,10
- ** IPPSUB - SUBROUTINES COMMON TO PP INITIALIZATION.
- IPPSUB MACRO
- LIST G
- APP SPACE 4,10
- ** APP - ASSIGN PP-S.
- *
- * ENTRY (NC) = SYSTEM CP NUMBER.
- * (CN+4) = FWA OF PP COMMUNICATIONS AREA.
- *
- * USES T5, AB - AB+4, CM - CM+4.
- APP1 LDM APPA,AB+2 SET PP PACKAGE NAME
- STD AB
- LDM APPA+1,AB+2
- LMD NC ASSIGN TO SYSTEM CP
- STD AB+1
- LDM APPA+2,AB+2 EXTRACT STATUS WORD
- STD T0
- LDI T0
- ZJN APP3 IF PROGRAM NOT ACTIVE
- SBN 12
- MJN APP2 IF PP IN LOWER BANK
- SBN 20-12
- APP2 ADN 12 ASSIGN *CTI* INITIATED PP
- STI T5
- SHN 3
- ADD CN+4
- CWD AB
- AOM SPPC ADJUST PP-S ASSIGNED TO SYSTEM CP
- APP3 AOD T5
- LDN 3 ADVANCE INDEX
- RAD AB+2
- LMN APPAL
- APP4 NJN APP1 IF NOT END OF LIST
- LDM .CEL
- STD CM+3 SET CRITICAL ERROR LOG STATUS
- LDM .DSD
- STD CM+4 SET DEADSTART CHANNEL
- LDK DSAL
- CWD CM STORE POINTER WORD
- APP SUBR ENTRY/EXIT
- LDN ZERL
- CRD AB
- CRD CM
- LDC 2RDS SET DEADSTART INDICATOR
- STD AB+4
- LDN CM
- STD T5
- UJN APP4 ENTER LOOP
- APPA VFD 24/3LAPP,12/.APP
- VFD 24/3LSCI,12/.DCS
- VFD 24/3LMDD,12/.MDD
- APPAL EQU *-APPA LENGTH OF LIST
- HPP SPACE 4,10
- ** HPP - HANG PP.
- *
- * ENTRY (A) = CHANNEL NUMBER.
- * (DH) = DEADSTART CHANNEL.
- HPP SUBR ENTRY/EXIT
- LMD DH
- NJN HPP1 IF NOT DEADSTART CHANNEL
- LDD DH
- LMN 12 DEADSTART CHANNEL PP ON CHANNEL 12
- HPP1 LMD DH
- LMC OAMI SET CHANNEL INSTRUCTIONS
- STM HPPA
- LMC DCNI&OAMI
- STM HPPB
- LDN 2 HANG PP
- HPPA OAM HPPC,0
- HPPB DCN 0
- UJN HPPX RETURN
- HPPC CON 0
- UJN * HANG PP
- LIST *
- IPPSUB ENDM
- SPACE 4,10
- ** SCSSUB - SUBROUTINE FOR SETTING CPU STATUS WORD.
- SCSSUB MACRO
- LIST G
- SCS SPACE 4,10
- ** SCS - SET CPU STATUS.
- *
- * USES T1.
- SCS SUBR ENTRY/EXIT
- LDN ACPL-1
- STD T0
- LDD HO EXTRACT CPU STATUS
- LPN 3
- SCS1 SHN 21-0 EXTRACT CPU FLAG
- STD T1
- SHN 13-21 POSITION ON/OFF BIT
- STD ZR
- AOD T0 STORE CPU STATUS WORD
- CWD ZR
- LDD T1
- NJN SCS1 IF CPU 1 UNAVAILABLE
- STD ZR
- UJN SCSX RETURN
- LIST *
- SCSSUB ENDM
- SPACE 4,10
- ** COMMON ROUTINES FOR *ICM* AND *ICT*.
- *
- * THESE MACROS PROVIDE COMMON CODE FOR *ICM* AND *ICT*.
- SPACE 4,10
- ** SPWSUB - SUBROUTINE FOR SETTING UP POINTER WORDS.
- SPWSUB MACRO
- LIST G
- SPW SPACE 4,10
- ** SPW - SET UP POINTER WORD.
- *
- * ENTRY (A) BITS 0 - 11 = POINTER WORD ADDRESS.
- * BITS 12 - 14 = BYTE INDEX.
- * (CA - CA+1) = CURRENT CM ADDRESS.
- *
- * EXIT (T5) = POINTER WORD ADDRESS.
- * (CM - CM+4) = POINTER WORD.
- *
- * USES T4.
- SPW SUBR ENTRY/EXIT
- STD T5 SAVE POINTER WORD ADDRESS
- SHN -14
- ADN CM SET BYTE ADDRESS WITHIN POINTER WORD
- STD T4
- LDD T5 FETCH POINTER WORD
- CRD CM
- LDD CA INSERT TABLE ADDRESS
- STI T4
- LDD CA+1
- STM 1,T4
- LDD T5 STORE POINTER WORD
- CWD CM
- UJN SPWX RETURN
- LIST *
- SPWSUB ENDM
- TITLE MAIN ROUTINE.
- ICM SPACE 4,10
- ** ICM - INITIALIZE CENTRAL MEMORY.
- ICM SUBR ENTRY/EXIT
- RJM PTR PROCESS POINTERS
- RJM IPS INITIALIZE PPU STATUS
- LDN 50 ALLOCATE PP BREAKPOINT DISPLAY BUFFER
- RJM CLS
- * DEFINE DAYFILE POINTER AREA.
- LDN DFPP STORE POINTER WORD
- RJM SPW
- LDN EXDF*3
- RAD CA+1
- SHN -14
- RAD CA
- RJM PMS PROCESS MS CHANNELS AND SYSTEM
- UJP ICMX RETURN
- TITLE SUBROUTINES.
- IPS SPACE 4,10
- ** IPS - INITIALIZE PPU STATUS.
- *
- * ENTRY (NC) = SYSTEM CONTROL POINT NUMBER.
- *
- * EXIT (CA - CA+1) = NEXT CM ADDRESS.
- *
- * USES CA, CA+1, T1, T2, T3, T6, T7, CM - CM+4, CN - CN+4.
- *
- * CALLS APP, CLS, HPP.
- IPS SUBR ENTRY/EXIT
- * ALLOCATE PP COMMUNICATION AREAS.
- LDN PPCP READ PPU COMMUNICATION AREA POINTER
- CRD CN
- LDD NC SET FWA = SYSTEM CP AREA END
- ADN 1
- SHN 7
- STD CN+4
- STD CA+1
- STD T7
- SHN -14
- STD CA
- LDM .PPU CLEAR PP COMMUNICATIONS AREA
- STD T6
- ADM .CCHN
- STD T3
- ADN 1 ALLOW FOR PSEUDO PP
- SHN 3
- RJM CLS CLEAR PP COMMUNICATION AREA
- LDD CA SET EXTENDED PP COMMUNICATION AREA FWA
- STD CN
- SHN 14
- ADD CA+1
- STD CN+1
- SBD CN+4
- SHN PPXES-PPCES LENGTH OF EXTENDED PP COMMUNICATION AREA
- RJM CLS CLEAR EXTENDED PP COMMUNICATION AREA
- LDN PPCP STORE PPU COMMUNICATION AREA POINTER
- CWD CN
- * CHECK FOR DISABLED PP-S.
- LDD NC INSERT SYSTEM CP INTO DISABLED PP IR
- RAM IPSA+1
- LDD T3 STORE PSEUDO PP INDICATOR
- SHN 3
- ADD CN+4
- CWM IPSA+2,ON
- LDN 0 CLEAR CHANNEL COUNT
- STD T1
- STD T2 CLEAR CHANNEL STATUS INDEX
- IPS1 LDM .PPS,T2 CHECK PP N ON/OFF STATUS
- LPC 1 (MASK FOR PP N)
- IPSB EQU *-1
- STD T3
- LDM .PPL,T2 CHECK PP STATUS RETURNED BY *CTI*
- LPC 1 (MASK FOR PP N)
- IPSC EQU *-1
- NJN IPS3 IF PP DISABLED BY CTI
- LDD T3
- ZJN IPS4 IF PP NOT OFF VIA CMRDECK ENTRY
- RAM .PPL,T2 UPDATE PP OFF DATA
- LDD T2 CALCULATE CHANNEL NUMBER
- SHN 4
- LMD T1
- RJM HPP HANG PP
- IPS3 LDD T7 STORE INPUT REGISTER
- CWM IPSA,ON
- IPS4 LDN 10 ADVANCE INPUT REGISTER ADDRESS
- RAD T7
- LDM IPSB ADVANCE PP MASK
- RAM IPSB
- STM IPSC
- AOD T1 COUNT CHANNEL
- LMN 10D
- NJN IPS5 IF PPS BANK NOT PROCESSED
- STD T1
- AOD T2 ADVANCE STATUS INDEX
- * LDN 1 REINITIALIZE MASK
- STM IPSB
- STM IPSC
- LCN 10D DECREMENT PPU COUNT
- RAD T6
- ZJN IPS6 IF ALL PP-S CHECKED
- IPS5 LJM IPS1 PROCESS NEXT PP
- IPS6 LDM .CCHN CHECK FOR CPP-S
- ZJN IPS9 IF NO CPP-S
- STD T3
- IPS7 LDM .CPPL
- SHN 21-0 REMOVE CPP STATUS
- STM .CPPL
- PJN IPS8 IF CPP ON
- LDD T7
- CWM IPSA,ON STORE INPUT REGISTER
- IPS8 LDN 10 ADVANCE INPUT REGISTER ADDRESS
- RAD T7
- SOD T3
- NJN IPS7 IF MORE CPP-S OFF
- * ASSIGN *CTI* PP-S AND STORE PP CONFIGURATION.
- IPS9 RJM APP ASSIGN PP-S
- LDN PPUL
- CRD CM
- LDM .PPN SET PP COUNT
- STD CM+2
- LDN PPUL STORE PPU CONFIGURATION
- CWD CM
- LJM IPSX RETURN
- IPSA VFD 18/3R***,6/**,36/
- VFD 24/3RCIO
- PMS SPACE 4,10
- ** PMS - PROCESS MASS STORAGE CHANNELS TO LOAD CONTROLWARE
- * AND VALIDATE SYSTEM DEVICES.
- * PMS WILL ALSO ENSURE THAT AT LEAST ONE CHECKPOINT DEVICE
- * HAS BEEN DEFINED. IF ONE HAS NOT *PMS* WILL ASSIGN THE
- * FIRST VALID AVAILABLE DEVICE AS A CHECKPOINT DEVICE.
- *
- * EXIT (TCHS) = DEFAULT FIRMWARE RECORD TYPES.
- *
- * USES T0 - T4, EQ, CM - CM+4.
- *
- * CALLS EEB, SMT, STA.
- PMS5 LDD T1
- NJN PMS6 IF SYSTEM DEVICE DEFINED
- LDM DFMS
- RJM STA
- LDC 2000 SET SYSTEM DEVICE FLAG
- RAI ES
- LDM EBUT+4 CLEAR ALTERNATE SYSTEM STATUS
- SCN 10
- STM EBUT+4
- RJM EEB RETURN EQUIPMENT ENTRIES
- PMS6 LDD T3
- NJN PMSX IF CHECKPOINT DEVICE DEFINED
- LDM DFMS
- RJM STA
- LDN 2 SET DEFAULT RMS AS CHECKPOINT DEVICE
- RAM TDDB+DVPR
- RJM EEB UPDATE EQUIPMENT STATUS
- PMS SUBR ENTRY/EXIT
- LDN 0
- CRD T0
- LDN NOPE-1 INITIALIZE EST SCAN
- STD EQ
- PMS1 AOD EQ
- LMD LE
- ZJP PMS5 IF ALL EQUIPMENTS PROCESSED
- LDD EQ
- RJM STA SET TABLE ADDRESSES
- LDI ES
- SHN 21-13
- PJN PMS1 IF NOT MASS STORAGE
- LDN 2
- STD T4 INITIALIZE CHANNEL INDEX
- PMS2 LDM EBUT,T4
- ZJN PMS3 IF NULL CHANNEL
- LPN 77
- STD T2
- LDM TDDB+DVAI DEFAULT CONTROLWARE FOR LOAD
- SHN -6
- SBM TCHS,T2
- MJN PMS3 IF OTHER DEFAULT HAS PRIORITY
- RAM TCHS,T2
- PMS3 SOD T4
- NJN PMS2 IF NOT END OF CHANNELS
- LDI ES
- SHN -12
- LPN 1
- RAD T1
- LDM TDDB+DVPR
- LPN 2
- RAD T3 UPDATE CHECKPOINT DEVICE FOUND FLAG
- LJM PMS1 PROCESS NEXT EQUIPMENT
- PTR SPACE 4,10
- ** PTR - PROCESS POINTER AREA.
- *
- * EXIT (NC) = SYSTEM CONTROL POINT NUMBER.
- *
- * USES LD, NC, T1, AB - AB+4, CM - CM+4, CN - CN+4.
- *
- * CALLS SEC, SCS, STA.
- PTR SUBR ENTRY/EXIT
- LDC SHNI+73
- ADM EMSC ADJUST SHIFT
- STM PTRA
- LDC SHNI+77
- SBM EMSC ADJUST SHIFT
- STM PTRC
- LDN 17
- PTRA SHN -4
- * SHN -4+EMSC
- RAM PTRB
- RJM SEC INITIALIZE *ECRL*
- LDN DSSL
- CRD CM
- LDM TTXC+LIBD SET LIBDECK NUMBER
- SHN 6
- LMD RM APPEND RECOVERY MODE
- LMN 4
- STD CM+4
- LDN DSSL STORE DEADSTART STATUS
- CWD CM
- LDN DSCL SET MMF *PRESET* COUNTS
- CRD CM
- LDN 0
- STD CM+3
- STD CM+4
- LDM PRSF
- ZJN PTR0 IF *PRESET* NOT ENTERED
- LDD NS NUMBER OF SHARED DEVICES
- STD CM+3
- LDM NSBD NUMBER OF SHARED BUFFERED DEVICES
- STD CM+4
- LDM MSDC
- ZJN PTR0 IF *MAXSHARE* NOT ENTERED
- STD CM+3 NUMBER OF SHARED DEVICES
- LDM MSBD
- ZJN PTR0 IF NO SECOND PARAMETER ON *MAXSHARE*
- STD CM+4 NUMBER OF SHARED BUFFERED DEVICES
- PTR0 LDN DSCL STORE MMF *PRESET* COUNTS
- CWD CM
- LDN ZERL
- CRD CM
- CRD AB
- LDC 4000 SET INTERLOCK
- STD CM
- LDN 2
- STD T2
- LDN JSNL STORE INITIAL SEQUENCE NUMBER
- CWM .JSN,ON
- LDM C8XX CHECK MAINFRAME TYPE
- ZJN PTR1 IF CYBER 180
- LDN TIML STORE TIME/DATE
- CWM .TIM,T2
- ERRNZ TIML+1-DTEL CODE DEPENDS ON VALUE
- PTR1 AOD CM+4 SET MAINTENANCE LOG MESSAGE LINK
- LDN BMLL STORE MAINTENANCE LOG CONTROL WORD
- CWD CM
- ADN RTCL-BMLL STORE REAL TIME CLOCK
- CWM .RTC,ON
- SOD CM+4
- LDN TAXML/5
- STD T1
- LDC SCRL SET *1MB* (ERROR LOGGING)
- CWD CM
- ADN DSDL-SCRL STORE *DSD* BUFFER INTERLOCK
- CWD CM
- ADN 1 STORE *TAXM* IN DSD/1DS BUFFER
- CWM TAXM,T1
- LCN 0 INITIALIZE FLAG REGISTER STATUS
- STD AB+3
- LDD LD
- LPC 777
- ZJN PTR2 IF NO LINK EQUIPMENT
- RJM STA
- LDM TDDB+DVED
- LPN 30
- NJN PTR2 IF CPU PATH PRESENT (NOT UEM)
- LDC 2000 SET LSP MMF FLAG
- RAD LD
- LDM NSBD
- ZJN PTR2 IF NO SHARED BUFFERED DEVICES
- LDD TH SET SHARED BUFFERED DEVICES FLAG
- RAD LD
- PTR2 LDN ZERL
- CRD CN
- ADN MMFL-ZERL STORE MMF STATUS
- CWD ID
- ADN EFRL-MMFL
- CWD AB
- * ENTER CONFIGURATION.
- LDN NCPL SET NUMBER OF CONTROL POINTS
- CRD CM
- LDM .NCP
- STD NC
- SBN 1
- STD CM+1
- LDM .CHN SET CHANNEL COUNT
- STD CM
- ERRNZ NCPL-NCHL CODE DEPENDS ON VALUE
- ERRNZ NCPL-CPPL
- LDM .CCHN SET NUMBER OF PHYSICALLY PRESENT CPP-S
- RAD CM+3
- LDN NCPL
- CWD CM
- ADN MABL-NCPL
- CRD CM
- LDM UESC SET USER XM SHIFT COUNT
- SHN 2
- LMM EMAF SET EXPANDED ADDRESSING FLAG
- SHN 2
- LMM EMSC SET XM SHIFT COUNT
- SHN 5
- STD CN+2
- LDM EMFL SET XM FIELD LENGTH/*EMBS*
- STD CN+3
- LDK MEFL
- CWD CN
- LDN ZERL
- CRD AB
- LDD HO SET HARDWARE OPTIONS
- STD CM+1
- LDM UEMZ
- SHN 14
- ADM UEMZ+1
- ZJN PTR3 IF UEM NOT PRESENT
- SHN -3 UEM FL / 1000B
- PTRB ADN 0
- * ADN (EMBS - 1000B) / 1000B
- PTRC SHN 0
- * SHN -EMSC
- STD AB+1
- LDD FL
- SHN 14
- LMD FL+1
- SHN -3 SET UEM BASE ADDRESS/1000B
- STD AB
- SHN 3 ADJUST EXECUTION MEMORY SIZE
- STD FL+1
- SHN -14
- STD FL
- LDN 2
- STD AB+4 SET UEM PRESENT FLAG
- LDM EMTY
- LMN 4
- NJN PTR3 IF NO UEM EQUIPMENT
- LDD EN SET USER EM EQUIPMENT
- STD AB+2
- PTR3 LDD FL SET EXECUTION MEMORY SIZE
- STD CM+2
- LDD FL+1
- STD CM+3
- LDC MABL
- CWD CM
- LDN EXML
- CRD CM
- LDD EN
- STD CM+4
- LDN EXML STORE EXTENDED MEMORY CONFIGURATION
- CWD CM
- LDM TAXM+2
- ZJN PTR4 IF NO USER EXTENDED MEMORY
- LDM TAXM+1
- NJN PTR4 IF USER EM IN UEM
- LDD EN SET USER EM EQUIPMENT
- STD AB+2
- PTR4 LDK UEML STORE MAINFRAME ATTRIBUTES
- CWD AB
- RJM SCS SET CPU STATUS
- LJM PTRX RETURN
- .JSN VFD 12/0,12/0,12/PQFT,24/0LAAAA
- .TIM VFD 60/10H 00.00.00.
- VFD 60/10H"DATE"
- .RTC VFD 12/0037,12/7777,36/0
- SEC SPACE 4,10
- ** SEC - SETUP POINTER WORD *ECRL*.
- *
- * USES AB - AB+4.
- SEC SUBR ENTRY/EXIT
- LDM EMSC PRESET SHIFT INSTRUCTIONS
- SBM UESC
- LPN 77
- RAM SECA
- LDN ZERL INITIALIZE *ECRL*
- CRD AB
- LDN 0
- STD T1
- LDM TAXM+2
- ZJN SEC1 IF NO USER XM FOR THIS MACHINE
- SECA SHN 0
- * SHN EMSC-UESC
- STD AB+1
- LDN ECSY
- ADM C9LM APPEND LARGE MEMORY OPTION
- STD AB+4
- LDM TAXM+1
- ZJN SEC2 IF NO USER EXTENDED MEMORY
- LDM EMTY
- LMN 4
- ZJN SEC2 IF UEM EQUIPMENT - HAVE *REC* ALLOCATE
- LDN 0
- STM TAXM+2 CLEAR USER EM IN UEM FOR *REC*
- SEC1 LDN 5
- RAD T1
- SBN TAXML
- PJN SEC3 IF END OF TABLE
- LDM TAXM+2,T1 CHECK FOR USER EXTENDED MEMORY
- ZJN SEC1 IF NO USER EXTENDED MEMORY
- SEC2 LDD EN SET EXTENDED MEMORY EQUIPMENT FOR *REC*
- STD AB
- SEC3 LDN ECRL STORE *ECRL*
- CWD AB
- LJM SECX RETURN
- TITLE COMMON SUBROUTINES.
- SPACE 4,10
- ** COMMON SUBROUTINES.
- IPPSUB
- SCSSUB
- SPWSUB
- SPACE 4,10
- QUAL *
- SPACE 4,10
- ERRNG 7777-*-4 IF OVERFLOW
- TTL SET/ICT - INITIALIZE CENTRAL MEMORY TABLES.
- TITLE
- IDENT ICT,/ICT/ICTX
- QUAL ICT
- ORG APRL
- *COMMENT SET - INITIALIZE CENTRAL MEMORY.
- COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
- SPACE 4,10
- ** COMMON - COMMON ROUTINES FOR *ICT* AND *RCT*.
- *
- * THIS MACRO PROVIDES COMMON CODE FOR *ICT* AND *RCT*.
- QUAL
- COMMON MACRO
- LIST G
- TCTP SPACE 4,10
- ** TCTP - TABLE OF CMR TABLE PROCESSORS.
- TCTP BSS 0
- DUP TSGTE,1
- CON SIE
- ORG TCTP
- TCTP INDEX
- INDEX ESTO,EST EQUIPMENT STATUS TABLE
- INDEX EXPO,EXP C176 (AND 819) EXCHANGE PACKAGES
- INDEX MCTO,MCT MEMORY CONTROL TABLE
- INDEX SCDO,SCD *SCD* PARAMETER TABLE
- INDEX RPTO,RPT RING PORT TABLE
- INDEX CHTO,CHT CHANNEL TABLES
- INDEX ECBO,ECB *EICB* TABLES
- INDEX EMBO,EMB ERROR MESSAGE BUFFER
- INDEX EVTO,EVT EVENT TABLE
- INDEX SCTO,SCT SUBSYSTEM CONTROL TABLES
- INDEX SITO,SIT *SECDED* ID TABLE
- INDEX SABO,SAB SYSTEM ATTRIBUTE BLOCK
- INDEX JCAO,JCA JOB CONTROL BLOCK TABLE
- INDEX MSAO,MSA MASS STORAGE ALLOCATION AREA
- INDEX ODBO,ODB OPERATOR DISPLAY BUFFER
- INDEX LDBO,LDB *L* DISPLAY BUFFER
- INDEX PDBO,PDB PREVIEW DISPLAY BUFFER
- INDEX DFBO,DFB DAYFILE BUFFERS
- INDEX PSVO,PSV PP SAVE AREAS
- INDEX MSTO,MST MASS STORAGE TABLES
- INDEX TRTO,TRT TRACK RESERVATION TABLES
- INDEX EXMO,EXM EXTENDED MEMORY BUFFERS
- INDEX INBO,INB INSTALLATION BLOCK
- INDEX SDAO,SDA STATISTICAL DATA AREA
- INDEX FOTO,FOT FAMILY ORDINAL TABLE
- INDEX FNTO,FNT FILE NAME TABLE
- INDEX EJTO,EJT EXECUTING JOB TABLE
- INDEX QFTO,QFT QUEUE FILE TABLE
- INDEX CLTO,CLT COMMON LIBRARIES TABLE
- INDEX LIDO,LID LOGICAL ID TABLE
- INDEX OSTO,OST OPTICAL DISK STATUS TABLES
- INDEX ORTO,ORT OPTICAL DISK REQUEST TABLE
- INDEX BSTO,BST BUFFER STATUS TABLES
- INDEX BDTO,BDT BUFFERED DEVICE CONTROL TABLES
- INDEX TSGTE
- CDL SPACE 4,10
- ** CDL - COMPUTE DEVICE LENGTH.
- *
- * ENTRY (AB) = BYTE 0 OF EST ENTRY.
- * (CM+2) = TRT LENGTH.
- *
- * EXIT (A) = TOTAL LENGTH OF DEVICE TABLES (TRT+MRT+DIT).
- CDL SUBR ENTRY/EXIT
- LDD AB
- LPC 1020
- ZJN CDL2 IF STAND ALONE DEVICE
- LPN 20
- ZJN CDL1 IF NOT INDEPENDENT SHARED DEVICE
- * LDN DITL ADD LENGTH OF DIT
- ERRNZ MMPF-20
- CDL1 STD T0
- LDD CM+2 COMPUTE LENGTH OF MRT
- ADN 7
- SHN -3
- ADD T0
- CDL2 ADD CM+2 ADD LENGTH OF TRT
- UJN CDLX RETURN
- PBD SPACE 4,10
- ** PBD - PROCESS BUFFERED DEVICE CHANNELS.
- *
- * ENTRY (AB+1 - AB+2) = CHANNEL BYTES FROM EST ENTRY.
- *
- * EXIT (KI) = CUMULATIVE 819 COUNT.
- *
- * USES T1, T4.
- PBD2 LDI T1 SET 819 CHANNEL IN TABLE
- LPN 37
- SHN -1
- STD T4
- RAM TFMC,T4
- AOD T1
- LMN AB+3
- NJN PBD2 IF ANOTHER CHANNEL
- AOD KI
- PBD SUBR
- LDN AB+1
- STD T1
- LDD HO
- SHN -11
- LMN 7
- ZJN PBD2 IF C176 SYSTEM
- PBD1 LDI T1
- ZJN PBDX IF CHANNEL NOT DEFINED
- LPN 77
- STD T4
- AOM KBUF,T4 COUNT CHANNEL USAGE
- AOD T1
- LMN AB+3
- NJN PBD1 IF POSSIBLE SECOND CHANNEL
- UJN PBDX RETURN
- RCA SPACE 4,10
- ** RCA - ROUND CM ADDRESS TO NEXT MULTIPLE OF 10B.
- *
- * ENTRY (CA - CA+1) = CURRENT CM ADDRESS.
- *
- * EXIT (A) = ROUNDED CM ADDRESS / 10B.
- * (CA - CA+1) = ROUNDED CM ADDRESS.
- RCA SUBR ENTRY/EXIT
- LDD CA+1
- ADN 7
- SCN 7
- STD CA+1
- SHN -14
- RAD CA
- SHN 14
- LMD CA+1
- SHN -3
- UJN RCAX RETURN
- SBB SPACE 4,10
- ** SBB - SET BUFFER BIAS.
- *
- * ENTRY (A) = STARTING BIT VALUE + FUNCTION CODE.
- * (T1) = VALUE TO SET.
- *
- * USES T1.
- SBB SUBR ENTRY/EXIT
- STD T0 SAVE STARTING VALUE
- SBB1 LDD T1
- ZJN SBBX IF NO BITS TO SET
- SHN 21
- STD T1
- PJN SBB2 IF BIAS BIT NOT TO BE SET
- LDD T0
- OAN SC+40
- IAN SC+40
- SBB2 AOD T0 ADVANCE BIT NUMBER
- UJN SBB1 LOOP
- SPT SPACE 4,10
- ** SPT - SETUP *SCD* PARAMETER TABLE.
- *
- * ENTRY (CM+2 - CM+3) = FWA OF *SCD* PARAMETER TABLE.
- *
- * USES CM - CM+4.
- *
- * CALLS CLS.
- SPT1 STM SPTA+3 CLEAR *SCD* DATA
- LDN 3 SET PARAMETER TABLE LENGTH
- SHN 10
- STM SPTA+2
- LDN 3 CLEAR TABLE
- RJM CLS
- LDM .MDD SET POSSIBLE *MDD* PP NUMBER
- RAM SPTA+1
- * SET *MDD* INFORMATION.
- SPT2 LDM MDDP
- SHN 21-3
- PJN SPT3 IF *MDD* NOT LOADED
- SHN -16
- LPN 7 SET *MDD* PORT NUMBER
- LMN 40 SET *MDD* ACTIVE BIT
- SHN 6
- STM SPTA+4
- SPT3 LDD CM+2 STORE PARAMETER TABLE FIRST WORD
- SHN 14
- LMD CM+3
- CWM SPTA,ON
- SPT SUBR ENTRY/EXIT
- LDM .DCS
- ZJP SPT1 IF NOT 721 CONSOLE
- * SET *SCD* INFORMATION.
- RAM SPTA+1 SET *SCD* PP NUMBER
- LDM SCIP
- RAM SPTA+3 SET *SCD* PORT NUMBER
- LDD CM+3
- ADN 4
- STM SPTB+4 SET FWA OF DISPLAY BUFFER
- SHN -14
- ADD CM+2
- STM SPTB+3
- LDC SCDCL+4 CLEAR TABLE AND BUFFER
- RJM CLS
- LDD CM+2 STORE DISPLAY BUFFER POINTER
- SHN 14
- LMD CM+3
- ADN 3
- CWM SPTB,ON
- UJP SPT2 SET AND STORE FIRST WORD
- SPTA VFD 12/0,16/140004,4/0,1/1,2/1,3/1,3/1,3/0,16/0
- SPTB VFD 3/2,9/0,16/SCDCL,32/0
- SSESUB
- SXA SPACE 4,10
- ** SXA - SET EXCHANGE AREA FOR CYBER 176.
- *
- * ENTRY (KI) = NUMBER 0F 819 EQUIPMENTS.
- *
- * USES T1, T3.
- *
- * CALLS CLS, SBB.
- SXA SUBR ENTRY/EXIT
- LDD CA RESERVE SPACE FOR 176 EXCHANGE PACKAGES
- SHN 14
- ADD CA+1
- ADC 777 ROUND TO NEXT MULTIPLE OF 1000B
- LPC 17000
- STD CA+1
- SHN -11
- STD T1
- STD T3
- SHN -3
- STD CA
- LDC /SCR/FCSB+/SCR/EXBB SET EXCHANGE PACKAGE BIAS
- RJM SBB
- LDD HN ALLOCATE BASIC 176 EXCHANGE PACKAGES
- RJM CLS
- LDD KI
- ZJN SXAX IF NO 819-S DEFINED
- LDC 300 ALLOCATE 819 EXCHANGE PACKAGES
- RJM CLS
- LDD T3 SET CHANNELS 2 - 3 BUFFER BIAS
- STD T1
- LDC /SCR/FCSB+/SCR/C2BB
- RJM SBB
- LDC 400 ALLOCATE CHANNELS 2 - 3 BUFFER
- RJM CLS
- LDM TFMC+2
- ADM TFMC+3
- ZJN SXA1 IF CHANNELS 4 - 7 NOT PRESENT
- AOD T3 SET CHANNELS 4 - 7 BUFFER BIAS
- STD T1
- LDC /SCR/FCSB+/SCR/C4BB
- RJM SBB
- LDC 400 ALLOCATE CHANNELS 4 - 5 BUFFER
- RJM CLS
- LDM TFMC+3
- ZJN SXA1 IF CHANNELS 6 - 7 NOT PRESENT
- LDC 400 ALLOCATE CHANNELS 6 - 7 BUFFER
- RJM CLS
- SXA1 LJM SXAX RETURN
- TFMC EQU KBUF FLPP MUX CHANNEL STATUS TABLE
- LIST *
- ENDM
- SPACE 4,10
- ** SSESUB - SUBROUTINE TO SEARCH FOR SELECTED EQUIPMENT.
- SSESUB MACRO
- LIST G
- SSE SPACE 4,10
- ** SSE - SEARCH FOR SELECTED EQUIPMENT TYPE.
- *
- * ENTRY (A) = 1/1,17/MNEMONIC IF INITIAL ENTRY.
- * = POSITIVE IF SUBSEQUENT ENTRY.
- *
- * EXIT (A) = 0 IF EQUIPMENT TYPE FOUND.
- * (EQ) = EST ORDINAL.
- * (AB - AB+4) = WORD *EQDE* OF EST ENTRY.
- *
- * MACROS SFA.
- SSE1 SOD EQ
- MJN SSEX IF END OF EST
- SFA EST
- ADK EQDE
- CRD AB
- LDD AB+3 CHECK MNEMONIC
- LMC 0
- SSEA EQU *-1
- NJN SSE1 IF NOT FOUND
- SSE SUBR ENTRY/EXIT
- PJN SSE1 IF NOT INITIAL ENTRY
- STM SSEA
- LDN ESTP
- CRD AB
- LDD AB+2 INITIALIZE EST ORDINAL
- STD EQ
- UJN SSE1 SEARCH EST
- LIST *
- SSESUB ENDM
- QUAL *
- TITLE MAIN ROUTINE.
- ICT SPACE 4
- ** ICT - INITIALIZE CENTRAL MEMORY TABLES.
- ICT SUBR ENTRY/EXIT
- RJM INO INITIALIZE OVERLAY
- * ALLOCATE CMR TABLES AND BUFFERS.
- LDN 0
- STD LA
- ICT1 LDM TCTP,LA SET PROCESSOR ADDRESS
- STD T1
- RJM 0,T1 DEFINE TABLE
- AOD LA
- LMN TSGTE
- NJN ICT1 IF NOT END OF TABLES
- * COMPLETE TABLES.
- LDC BIOL
- CRD CN
- LDN CMRL
- CRD CM
- LDD CA SET CM ADDRESS
- STD CN+3
- SHN 14
- LMD CA+1
- STD CN+4
- ADN 77
- SHN -6
- STD CM+4
- LDD FL
- SHN 14
- LMD FL+1
- SBK 4001
- MJN ICT2 IF EXECUTION MEMORY SIZE .LE. 131K
- LCN 1
- ICT2 ADC 4001-CPML-PRSL
- STD CN SET LOAD ADDRESS FOR *CPUMLD*
- SBD CM+4
- PJN ICT3 IF NO CMR OVERFLOW
- LDC =C*CMR OVERFLOW.*
- JMP DSE DISPLAY ERROR AND HANG
- ICT3 LDC BIOL STORE *CPUMTR* LOAD ADDRESS
- CWD CN
- LDN CMRL STORE CMR LENGTH
- CWD CM
- LJM ICTX RETURN
- ICTA VFD 42/0LSYSTEM,6/0,6/LIFT,6/1
- ICTB VFD 24/4L"SJSN",36/0
- ICTC VFD 6//SCD/SYSC,54/0
- TITLE TABLE ALLOCATION PROCESSORS.
- BDT SPACE 4,10
- ** BDT - ALLOCATE BUFFERED DEVICE CONTROL TABLES.
- *
- * ENTRY (EN) = EXTENDED MEMORY EST ORDINAL.
- *
- * USES T1, T4.
- *
- * CALLS CLS, SPW.
- BDT SUBR ENTRY/EXIT
- LDM .PUTP
- ZJN BDTX IF NO BUFFERED DEVICES DEFINED
- STM .FTTP
- LDD EN
- NJN BDT1 IF EXTENDED MEMORY DEFINED
- LDC BDTB *XX REQUIRES DE/DP WITH CPU PORT.*
- JMP DSE DISPLAY ERROR AND HANG
- BDT1 LDN PUTL
- RAM .PUTP+2 COUNT DEAD ENTRY ZERO
- SHK FTTLS-PUTLS
- STM .FTTP+2
- LDM EMSC ACCOUNT FOR XM BLOCK SIZE
- SBN 2
- LPN 77
- RAM BDTC
- LDC 1S12+BIOL
- RJM SPW
- LDM TAXM
- NJN BDT2 IF XM ALLOCATED FOR THIS MACHINE
- LDC =C*XM ENTRY NEEDED.*
- JMP DSE DISPLAY ERROR AND HANG
- BDT2 LDM TAXM+4 BUFFER SPACE DEFINED FOR THIS MACHINE
- NJN BDT3 IF SPACE DEFINED
- LDC =C*NO IO BUFFERS DEFINED.*
- JMP DSE DISPLAY ERROR AND HANG
- * SET UP *CBTP*.
- BDT3 SHN 0 BUFFERS = (SPACE/1000B)/4
- BDTC EQU BDT3
- * SHN EMSC-2
- ERRNZ PSLB-4
- STM .CBTP NUMBER OF CONTROL BUFFER TABLE ENTRIES
- ADN 1 COUNT DEAD ENTRY ZERO
- SHN CBTLS
- STM .CBTP+2 TOTAL CBT LENGTH
- SHN -14
- RAM .CBTP+1
- ADM .HATP+1
- LPN 77
- SHN 14
- ADM .CBTP+2 COMPUTE TOTAL IO TABLE SPACE
- ADN BDTL+IBSL+PLTL
- ADM .CCTP+2
- ADM .PUTP+2
- ADM .FTTP+2
- ADM .HATP+2
- RJM CLS CLEAR BUFFERED IO TABLE SPACE
- LDN BDTAL/5
- STD T1
- LDD CM+1 STORE BDT
- SHN 14
- ADD CM+2
- CWM BDTA,T1
- LJM BDTX RETURN
- BDTA BSS 0 BDT TABLE SKELETON
- .IBSP VFD 12/IBSL,6/1,18/IBSL,6/0,18/0
- .PLTP VFD 12/PLTL,6/1,18/PLTL,6/0,18/0
- .CCTP VFD 12/0,6/CCTL,18/0,6/0,18/0
- .PUTP VFD 12/0,6/PUTL,18/0,6/0,18/0
- .FTTP VFD 12/0,6/FTTL,18/0,6/0,18/0
- .HATP VFD 12/0,6/10,18/0,6/0,18/0
- .CBTP VFD 12/0,6/CBTL,18/0,6/0,18/0
- .IOSP VFD 12/0,6/0,18/0,6/0,18/0
- BDTAL EQU *-BDTA BDT LENGTH (BYTES)
- BDTB DATA C*XX REQUIRES DE/DP WITH CPU PORT.*
- BST SPACE 4,10
- ** BST - DEFINE BUFFER STATUS TABLES.
- *
- * EXIT (A) = 0.
- *
- * USES EQ, CM - CM+4.
- *
- * CALLS CLS, SME.
- BST SUBR ENTRY/EXIT
- LDM NSBD
- ZJN BSTX IF NO SHARED BUFFERED DEVICES
- LDN NOPE
- STD EQ
- * PROCESS NEXT EQUIPMENT.
- BST1 RJM SME SEARCH FOR MASS STORAGE EQUIPMENT
- ZJN BSTX IF END OF MS EST ENTRIES
- SHN 21-11-21+13
- PJN BST1 IF NOT SHARED DEVICE
- SHN 21-5-21+11
- PJN BST1 IF NOT BUFFERED DEVICE
- LDD AB+4
- SHN 3
- ADK BDLL
- CRD CM
- LDD CA SET BST ADDRESS INTO *BDLL*
- STD CM+1
- LDD CA+1
- STD CM+2
- LDD CM+3 SET *BST/BAT PROCESSING DISABLED* FLAG
- LPC 3777
- LMC 4000
- STD CM+3
- LDD AB+4
- SHN 3
- ADK BDLL
- CWD CM
- LDK BSTL ALLOCATE AND CLEAR BST
- RJM CLS
- UJP BST1 PROCESS NEXT EQUIPMENT
- CHT SPACE 4,10
- ** CHT - DEFINE CHANNEL TABLES.
- *
- * USES T1.
- *
- * CALLS CLS, SPW.
- CHT SUBR ENTRY/EXIT
- LDC 2S12+CHTP
- RJM SPW
- LDN CTALL*3 CLEAR TABLE
- RJM CLS
- LDN CTALL SET LENGTH OF SINGLE TABLE
- STD T1
- LDD CM+2 STORE CHANNEL STATUS TABLE
- SHN 14
- LMD CM+3
- CWM TCST,T1
- ADN CTALL STORE FIRMWARE LOAD TABLE
- CWM TCHS,T1
- UJN CHTX RETURN
- CLT SPACE 4,10
- ** CLT - DEFINE COMMON LIBRARIES TABLE.
- *
- * USES CM+2.
- *
- * CALLS CLS, LST, SPW.
- *
- * MACROS CFI.
- CLT SUBR ENTRY/EXIT
- LDC CLTP
- RJM SPW
- LDM .CLT+MTBL SET CLT ENTRY COUNT
- STD CM+2
- ZJN CLTX IF EMPTY TABLE
- CFI CLT,,CM+2 CLEAR TABLE
- RJM CLS
- LDN CLTE LINK CLT
- RJM LST
- UJN CLTX RETURN
- DFB SPACE 4,10
- ** DFB - DEFINE DAYFILE BUFFERS.
- *
- * USES T3, T6, T7, CM - CM+4.
- *
- * CALLS CLS, IDB.
- DFB SUBR ENTRY/EXIT
- LDN DFPP SET FWA OF DAYFILE POINTERS
- CRD T6
- LDN 0 SET SYSTEM DAYFILE BUFFER NUMBER
- STD T3
- DFB1 RJM IDB
- LDN 3 ADVANCE DAYFILE POINTER ADDRESS
- RAD T7
- SHN -14
- RAD T6
- AOD T3 ADVANCE DAYFILE NUMBER
- LMN EXDF
- NJN DFB1 IF NOT END OF EXCESS DAYFILES
- LDC 2S12+DFPP STORE POINTER WORD
- RJM SPW
- LDN 1 SET PP DUMP BUFFER NOT BUSY
- STD CM+4
- LDN DFPP STORE POINTER
- CWD CM
- LDC DFDS+3 CLEAR DUMP BUFFER
- RJM CLS
- LDD CM
- SHN 14
- LMD CM+1
- CRD CM
- LDD CM PASS DAYFILE RESIDENCE OPTIONS TO *RMS*
- SHN 14
- LMD CM+1
- CWM DFBF,ON
- LJM DFBX RETURN
- ECB SPACE 4,10
- ** ECB - DEFINE *EICB* TABLES.
- *
- * ENTRY (DFTA - DFTA+1) = *DFT* ALLOCATION DATA.
- * (DFTV) = *DFT* VERSION.
- * (DFSZ) = TOTAL SIZE OF *DFT/OS* BUFFER, IF *DFT*
- * VERSION 4 OR ABOVE.
- *
- * USES T1, T6.
- *
- * CALLS CLS, SPW.
- ECB SUBR ENTRY/EXIT
- LDM C8XX
- NJN ECBX IF NOT LOWER 800 SERIES MAINFRAME
- LDC 3S12+EIBP
- RJM SPW
- * CALCULATE TOTAL SIZE OF *EICB* TABLES.
- * THE *EICB* TABLES INCLUDE THE *EICB*, THE *MLST* AND THE
- * *DFT/OS* BUFFER. ONE EXTRA WORD IS ALLOCATED TO ALLOW FOR
- * ADJUSTING THE START OF THE *DFT/OS* BUFFER, SINCE IT CANNOT
- * BEGIN ON THE LAST WORD OF A SECTOR.
- *
- * FOR *DFT* VERSION 4 AND ABOVE, THE *DFT/OS* BUFFER IS BUILT
- * BY *DFT*. THE TOTAL SIZE IS OBTAINED FROM THE *DFT*
- * DESCRIPTOR IN THE *HDT*. THE NOS REQUEST AREA SIZE (*RQBL*
- * WORDS) AND THE *PPR* SAVE AREA SIZE (*DFPSL* WORDS) MUST BE
- * ADDED TO THIS TO DETERMINE THE AMOUNT OF SPACE TO ALLOCATE.
- *
- * FOR *DFT* VERSION 3, THE *DFT/OS* BUFFER CONSISTS OF THE
- * FOLLOWING.
- * 1. CONTROL WORD AND POINTERS (*DFHL* WORDS).
- * 2. M/R BUFFER CONTROL WORDS (*NUMR*+1 WORDS).
- * 3. ELEMENT COUNTER BUFFER (*MECB* WORDS).
- * 4. SECDED ID TABLE (*SIDL* WORDS - CORR. MEMORY THRESHOLD).
- * 5. M/R BUFFERS (*NUMR*+1 BUFFERS OF MODEL-DEPENDENT LENGTH).
- * 6. CYBER 990 BUFFER (*M9DB* WORDS, IF CYBER 990).
- * 7. PP RESIDENT SAVE AREA (*DFPSL* WORDS).
- * 8. NOS REQUEST AREA (*RQBL* WORDS).
- LDN 0
- STD T6
- LDM VEFL
- ZJN ECB0 IF *VE* ENTRY NOT SPECIFIED
- LDM DFTA+1
- LPC 3777
- ADC 4000 SET DEDICATED *DFT*
- STM DFTA+1
- LDM .MLS+MTBL ALLOW SPACE FOR *MLST*
- STD T6
- LDM DCPN
- ZJN ECB1 IF *DUALCPU=N* NOT SPECIFIED
- ECB0 LDM DCPC
- ZJN ECB1 IF NOT DUAL 170-STATE CPUS WITH CACHE
- LDC 2000 SET *CPU1 ON CACHE MACHINE IN C170 MODE*
- STD CM
- LDN EIBP
- CWD CM
- ECB1 LDK DSCBL+1 ALLOW PAD FOR *DFT/OS* BUFFER ADJUSTMENT
- RAD T6
- LDK RQBL+1 ADD NOS REQUEST AREA SIZE
- RAD T6
- LDM DFTA+1
- SHN 21-13
- MJN ECB2 IF DEDICATED *DFT*
- LDK DFPSL ADD *PPR* SAVE AREA SIZE
- RAD T6
- ECB2 LDM DFTV
- ZJN ECB3 IF *DFT* VERSION 3
- LDM DFSZ COMPUTE TOTAL *DFT/OS* BUFFER SIZE
- UJN ECB5 CLEAR TABLE
- ECB3 LDM DFTA+1
- SHN 21-12
- PJN ECB4 IF NOT CYBER 990
- LDC M9DB ADD FOR CYBER 990 BUFFER
- RAD T6
- LDM .CPU+1 CHECK FOR DUAL CPU
- LPN 2
- NJN ECB4 IF CPU-1 *OFF* OR NOT PRESENT
- LDC M9DB DOUBLE CYBER 990 BUFFER SIZES
- RAD T6
- ECB4 LDM DFTA+1 ADD M/R BUFFER SIZE
- LPC 1777
- RAD T6
- LDM DFTA ADD M/R BUFFER CONTROL WORD SIZE
- SHN -6
- ADK DFHL+MECB+SIDL ADD *DFT* HEADER/SECDED/ELEMENT
- ECB5 ADD T6
- RJM CLS CLEAR TABLE
- LJM ECBX RETURN
- EJT SPACE 4,10
- ** EJT - DEFINE EXECUTING JOB TABLE.
- *
- * CALLS CLS, LST, SPW.
- *
- * MACROS CFI.
- EJT SUBR ENTRY/EXIT
- LDN EJTP
- RJM SPW
- LDM .EJT+MTBL SET EJT ENTRY COUNT
- STD CM+2
- CFI EJT,,CM+2 CLEAR TABLE
- RJM CLS
- LDN EJTE LINK EJT
- RJM LST
- LDN EXJS*2
- STM ICTB+4
- LDD CM STORE SYSTEM EJT ENTRY
- SHN 14
- LMD CM+1
- CWM ICTB,ON
- ADN SCLE-JSNE-1
- CWM ICTC,ON
- UJN EJTX RETURN
- EMB SPACE 4,10
- ** EMB - DEFINE ERROR MESSAGE BUFFER.
- *
- * CALLS CLS, SPW.
- EMB SUBR ENTRY/EXIT
- LDC 1S12+EMBP
- RJM SPW
- LDM .EMB+MTBL CLEAR BUFFER
- RJM CLS
- LDN ZERL SET UP INTERLOCK WORD
- CRD AB
- CRD CN
- AOD AB
- LDM .EMB+MTBL ESTABLISH *LIMIT*
- SBN 2 ALLOW FOR HEADER
- STD CN+4
- LDD CM+1 STORE BUFFER INTERLOCK/*IN* WORD
- SHN 14
- LMD CM+2
- CWD AB
- ADN 1 STORE BUFFER *OUT*/*LIMIT* WORD
- CWD CN
- UJN EMBX RETURN
- EST SPACE 4,10
- ** EST - DEFINE EQUIPMENT STATUS TABLE.
- *
- * EXIT (KI) = NUMBER OF 819 DEVICES.
- *
- * USES T1, T2, T5, AB+1 - AB+2, CM - CM+4.
- *
- * CALLS CKB, PBD, SPW, STA.
- *
- * MACROS CFI, SFA.
- EST1 RJM STA FETCH EST ENTRY
- ZJN EST5 IF NOT MASS STORAGE
- * SET HALF/FULL TRACK FLAGS.
- LDN AB+1
- STD T1
- EST2 LDM EBUT-AB,T1 EXTRACT CHANNEL
- STI T1
- ZJN EST4 IF SINGLE ACCESS DEVICE
- LPN 77
- STD CM
- LDI ES CHECK DEVICE TYPE
- SHN 21-7
- PJN EST3 IF NOT *LDAM* DEVICE
- LPN 2
- LMC SCNI+77 SET DRIVER INSTRUCTION
- STM EBUT+5+2
- LDM TCHS,CM
- SBN CLFT
- SHN -21
- SHN 10-0
- RAM EBUT-AB,T1
- EST3 AOD T1 ADVANCE CHANNEL BYTE INDEX
- LMN AB+3
- NJN EST2 IF ANOTHER CHANNEL TO PROCESS
- EST4 LDM TDDB+DVED
- SHN 21-12
- EST5 PJN EST6 IF NOT BUFFERED DEVICE
- RJM PBD PROCESS BUFFERED DEVICE
- EST6 SFA EST,T5
- CWM EBUT,T2 STORE EST ENTRY
- EST7 SOD T5
- PJP EST1 IF NOT END OF EST
- * SET UP CHANNEL TABLE POINTER WORD.
- LDN CTALL*5 INITIALIZE CHANNEL LIST INDEX
- STD T5
- EST8 LDM KBUF,T5
- ZJN EST9 IF NOT BUFFERED DEVICE
- AOM .CCTP
- SHN 2 COUNT USAGE
- STM .CCTP+2
- ERRNZ CCTL-4 CODE DEPENDS ON VALUE
- EST9 SOD T5
- PJN EST8 IF MORE CHANNELS TO SCAN
- LDD HO CHECK MAINFRAME TYPE
- SHN -11
- SBN 7
- NJN ESTX IF NOT CYBER 176
- * SET UP CHANNEL TABLE POINTER FOR CYBER 176/819.
- LDN 4 SET NUMBER OF ENTRIES
- STM .CCTP
- SHN CCTLS SET TABLE LENGTH
- STM .CCTP+2
- EST SUBR ENTRY/EXIT
- LDN ESTP
- RJM SPW
- LDD LE SET LAST EQUIPMENT + 1
- STD CM+2
- STD T5
- CFI EST,,LE ADVANCE CENTRAL ADDRESS
- RAD CA+1
- SHN -14
- RAD CA
- RJM CKB
- LDN ESTP STORE EST POINTER
- CWD CM
- LDN ESTE SET EST ENTRY LENGTH
- STD T2
- LJM EST7 PROCESS EST
- EVT SPACE 4,10
- ** EVT - DEFINE EVENT TABLE.
- *
- * CALLS CLS, SPW.
- EVT SUBR ENTRY/EXIT
- LDC EVTP
- RJM SPW
- LDN EVTLL CLEAR TABLE
- RJM CLS
- UJN EVTX RETURN
- EXM SPACE 4,10
- ** EXM - DEFINE EXTENDED MEMORY BUFFERS.
- *
- * ENTRY (EN) = EXTENDED MEMORY CPU ACCESS EST ORDINAL.
- *
- * USES T3, AB - AB+4, CN - CN+4.
- *
- * CALLS CLS, SPW.
- *
- * MACROS SFA.
- EXM SUBR ENTRY/EXIT
- LDK UEML
- CRD AB
- LDD AB+4
- LPN 2
- ADD EN
- ADD LD
- LPC 777
- ZJN EXMX IF NO EXTENDED MEMORY DEFINED
- LDC EDBP
- RJM SPW
- LDN EDBL CLEAR DISPLAY BUFFER
- RJM CLS
- LDD EN
- ZJN EXMX IF NO EXTENDED MEMORY EQUIPMENT
- SFA EST,,EN
- CRD CN
- LDM TAXM+3
- ZJN EXM1 IF NO SPACE RESERVED FOR I/O BUFFERS
- LDM .PPU
- SBN 2
- SHN -1
- EXM1 STD T3
- SHN -1
- RAD T3
- LDD CN+3 CHECK EXTENDED MEMORY ACCESS
- LPN 77
- LMN 1RP
- ZJN EXM2 IF DDP
- AOD T3
- EXM2 LDC 3S12+EPBP
- RJM SPW
- LDD T3 SET BUFFER COUNT
- ZJN EXM4 IF NO I/O BUFFERS DEFINED
- SHN 6
- RAD CM+3
- LDD T5 STORE EXTENDED MEMORY BUFFER POINTER
- CWD CM
- EXM3 LDC ECBL CLEAR BUFFER
- RJM CLS
- SOD T3
- NJN EXM3 IF ALL BUFFERS NOT ALLOCATED
- EXM4 LJM EXMX RETURN
- EXP SPACE 4,10
- ** EXP - DEFINE C176 EXCHANGE PACKAGES.
- *
- * CALLS SXA.
- EXP SUBR ENTRY/EXIT
- LDD HO
- SHN -11
- LMN 7
- NJN EXPX IF NOT C176
- RJM SXA
- UJN EXPX RETURN
- FNT SPACE 4,10
- ** FNT - DEFINE FILE NAME TABLE.
- *
- * CALLS CLS, LST, SPW.
- *
- * MACROS CFI.
- FNT SUBR ENTRY/EXIT
- LDN FNTP
- RJM SPW
- LDM .FNT+MTBL SET FNT ENTRY COUNT
- STD CM+2
- CFI FNT,,CM+2 CLEAR TABLE
- RJM CLS
- LDN FNTE LINK FNT
- RJM LST
- LDD CM STORE SYSTEM FILE FNT ENTRY
- SHN 14
- LMD CM+1
- ERRNZ SYFO SYSTEM FILE ORDINAL .NE. 0
- CWM ICTA,ON
- UJN FNTX RETURN
- FOT SPACE 4,10
- ** FOT - DEFINE FAMILY ORDINAL TABLE.
- *
- * CALLS CLS, LST, SPW.
- FOT SUBR ENTRY/EXIT
- LDC FOTP
- RJM SPW
- LDM .FOT+MTBL SET FOT ENTRY COUNT
- STD CM+2
- RJM CLS
- LDN 1 LINK FOT
- RJM LST
- LDD CM STORE SYSTEM FOT ENTRY
- SHN 14
- LMD CM+1
- CWM ICTB,ON
- UJN FOTX RETURN
- INB SPACE 4,10
- ** INB - DEFINE INSTALLATION BLOCK.
- *
- * CALLS SPW.
- INB SUBR ENTRY/EXIT
- LDC 2S12+INBP
- RJM SPW
- LDM INBS SET TABLE LENGTH
- STD CM+4
- RJM CLS CLEAR THE BLOCK
- LDD T5 STORE POINTER WORD
- CWD CM
- UJN INBX RETURN
- JCA SPACE 4,10
- ** JCA - DEFINE JOB CONTROL BLOCK TABLE (*JCB*).
- *
- * USES T1.
- *
- * CALLS SPW.
- JCA SUBR ENTRY/EXIT
- LDK JBCP
- RJM SPW
- LDN 0
- STD T1
- LDN JCBE SET WORD COUNT
- STD T2
- LDD CA INITIALIZE SCT (JCB ORDINAL ZERO)
- SHN 14
- ADD CA+1
- CWM JCAC,T2
- UJN JCA2 PROCESS NEXT BLOCK
- JCA1 LDD CA STORE JCB ENTRY FOR NEXT SERVICE CLASS
- SHN 14
- ADD CA+1
- CWM JCAB,T2
- JCA2 STD CA+1
- SHN -14
- STD CA
- AOD T1 COUNT JCB ENTRY
- SBN MXJC
- MJN JCA1 IF MORE SERVICE CLASSES TO PROCESS
- UJN JCAX RETURN
- JCAB BSS 0 DEFAULT JCB (JCB ORDINAL .GT. 0)
- CON 0,100,7000,1,0 INPUT FILE CONTROL
- CON 700,100,7000,1,7000 EXECUTING JOB CONTROL
- CON 0,100,7000,1,0 OUTPUT FILE CONTROL
- CON 0,4,20,-0,341 SERVICE CONTROL
- CON 6760,4004,3777,7,7777
- CON 0,0,3777,0,-0
- CON 0,0,0,0,/SCD/DISC
- CON 30,10,20,4,20
- BSS 4*5
- .L SET *-JCAB
- JCABL EQU .L/5 LENGTH OF ENTRY
- ERRNZ JCABL-JCBE ERROR IN LENGTH
- JCAC BSS 0 DEFAULT SCT (JCB ORDINAL 0)
- CON 0,0,0,/SCD/A2MK,/SCD/A1MK+/SCD/SSMK
- CON 0,0,0,0,/SCD/BCMK
- CON 0,0,0,0,/SCD/RBMK
- CON 0,0,0,0,/SCD/DIMK+/SCD/TSMK
- CON 0,0,0,0,0
- CON 0,0,0,0,0
- CON 0,0,0,0,0
- CON 0,0,0,0,0
- CON 0,0,0,0,0
- CON 0,0,0,0,0
- CON 0,0,0,0,0
- CON 0,0,0,0,0
- .L SET *-JCAC
- JCACL EQU .L/5 LENGTH OF ENTRY
- ERRNZ JCACL-JCBE ERROR IN LENGTH
- LDB SPACE 4,10
- ** LDB - DEFINE *L* DISPLAY BUFFER.
- *
- * CALLS CLS, SPW.
- LDB SUBR ENTRY/EXIT
- LDC 2S12+LDSP
- RJM SPW
- LDC LDSY+LCOM+5 CLEAR BUFFER
- RJM CLS
- UJN LDBX RETURN
- LID SPACE 4,10
- ** LID - DEFINE LOGICAL ID TABLE.
- *
- * USES T7.
- *
- * CALLS CLS, SPW.
- LID SUBR ENTRY/EXIT
- LDC LIDP
- RJM SPW
- LDM .LID+MTBL SET LID ENTRY COUNT
- STD CM+2
- RJM CLS
- LDD T5 STORE POINTER WORD
- CWD CM
- UJN LIDX RETURN
- MCT SPACE 4,10
- ** MCT - DEFINE MEMORY CONTROL TABLE.
- *
- * USES CM+2, T3.
- *
- * CALLS CLS, SPW.
- MCT SUBR ENTRY/EXIT
- LDC MCTP
- RJM SPW
- LDM .NPCP PSEUDO CONTROL POINT COUNT
- STD T3
- ADD NC FORM MCT ENTRY COUNT
- ADN 1
- STD CM+2
- SHN 1 CLEAR TABLE
- RJM CLS
- LDD T5 UPDATE POINTER WORD
- CWD CM
- LDD T3
- ZJN MCTX IF NO PCP-S
- LDC 3S12+PCPP
- RJM SPW
- LDD T3 CLEAR PCP AREA
- SHN 7
- RJM CLS
- UJP MCTX RETURN
- MSA SPACE 4,10
- ** MSA - DEFINE MASS STORAGE ALLOCATION TABLE.
- *
- * USES EQ, T2, T3, T5, CM - CM+4, CN - CN+4.
- *
- * CALLS CLS, EEB, SME, SPW, STA.
- MSA5 LDD CM WRITE ALLOCATION WORD
- SHN 14
- LMD CM+1
- ADD T3
- CWD CN
- LDM MSAA ADVANCE ALLOCATION MASK
- RAM MSAA
- AOD T3
- LMN MXRS
- NJN MSA2 IF NOT END OF ALLOCATION TYPES
- MSA SUBR ENTRY/EXIT
- LDC MSAP
- RJM SPW
- LDN MXRS CLEAR TABLE
- RJM CLS
- LDN 0
- STD T3
- STD T5
- UJN MSA2 ENTER LOOP
- MSA1 LDD T5
- NJN MSA5 IF NO DEFAULT TO SET
- LDM DFMS
- RJM STA
- AOM TDDB+DVFA UPDATE EQUIPMENT DEFINITION
- RJM EEB
- MSA2 LDN NOPE-1 INITIALIZE EQUIPMENT SEARCH LOOP
- STD EQ
- LDN ZERL
- CRD CN
- MSA3 RJM SME
- ZJN MSA1 IF END OF ALLOCATION TYPE
- LDD EQ
- STD T2
- RJM STA FETCH DEVICE DESCRIPTION
- LDM TDDB+DVFA
- LPC 1
- MSAA EQU *-1
- ZJN MSA3 IF SELECTION NOT SET FOR THIS EQUIPMENT
- AOD T5
- LDN CN
- STD T0
- MSA4 AOD T0 DIVIDE BY 12
- LCN 12D
- RAD T2
- PJN MSA4 IF NOT COMPLETE
- LMC 777777-SHNI
- SBN 1
- STM MSAB
- LDN 1
- MSAB SHN 0
- RAI T0
- LDC 2000
- STD CN
- UJN MSA3 CHECK NEXT EQUIPMENT
- MST SPACE 4,10
- ** MST - DEFINE MASS STORAGE TABLES.
- *
- * EXIT (LE) = LAST MASS STORAGE EQUIPMENT + 1.
- *
- * USES EQ, T3, AB - AB+4, CM - CM+4.
- *
- * CALLS EEB, RMM, SME, SMT, STA.
- *
- * MACROS SFA.
- MST2 RJM RMM RECOVER MSTS FROM MS
- * PROCESS NEXT EQUIPMENT.
- LDD EQ SET LAST DEVICE
- STD T3
- RJM SME
- ZJN MST3 IF END OF MS EST ENTRIES
- LDD EQ
- RJM STA
- NJN MST2 IF A MASS STORAGE DEVICE
- LDC =C*INCORRECT DEVICE TYPE.*
- JMP DSE
- MST3 SFA EST,.PFNL+3 CHECK DEFAULT FAMILY EQUIPMENT
- CRD AB
- LDD AB
- SHN 21-13
- MJN MST4 IF DEFINED
- LDM DFMS SET DEFAULT FAMILY
- STM .PFNL+3
- MST4 LDN ESTP
- CRD CM
- AOD T3 SET LAST MASS STORAGE EQUIPMENT + 1
- STD CM+3
- STD LE
- LDN ESTP
- CWD CM
- MST SUBR ENTRY/EXIT
- LDD ID SET MACHINE ID IN DEFAULT FAMILY NAME
- STM DEFM+2
- LDN RDEQ
- STD EQ
- SFA EST,,EQ FETCH EST ENTRY FOR *RD* DEVICE
- CRD AB
- LJM MST2 ENTER LOOP
- ODB SPACE 4,10
- ** ODB - DEFINE OPERATOR DISPLAY BUFFER.
- *
- * USES CM - CM+4.
- *
- * CALLS CLS.
- ODB SUBR ENTRY/EXIT
- LDN ZERL
- CRD CM
- AOD CM SET UP INTERLOCK WORD
- LDD CA
- SHN 14
- LMD CA+1 STORE INTERLOCK WORD
- CWD CM
- AOD CA+1 ADVANCE CENTRAL ADDRESS
- SHN -14
- RAD CA
- LDN LODS-1 CLEAR BUFFER
- RJM CLS
- UJN ODBX RETURN
- ORT SPACE 4,10
- ** ORT - DEFINE OPTICAL DISK REQUEST TABLE.
- *
- * CALLS CLS, LST, SPW.
- *
- * MACROS CFI.
- ORT SUBR ENTRY/EXIT
- LDC ORTP
- RJM SPW
- LDM .ORT+MTBL SET ORT ENTRY COUNT
- STD CM+2
- CFI ORT,,CM+2 CLEAR TABLE
- RJM CLS
- LDN ORTE LINK ORT
- RJM LST
- UJN ORTX RETURN
- OST SPACE 4,10
- ** OST - DEFINE OPTICAL DISK STATUS TABLES.
- *
- * USES EQ, T4, T5, AB - AB+4, CM - CM+4.
- *
- * CALLS CLS, SPW.
- *
- * MACROS SFA.
- OST2 LDC OSTP SET NUMBER OF ENTRIES IN OST POINTER WORD
- CRD CM
- LDD T4
- SHN -2
- STD CM+2
- LDC OSTP
- CWD CM
- LDD T4 SET LENGTH OF TABLE
- RJM CLS
- OST SUBR ENTRY/EXIT
- LDC OSTP
- RJM SPW
- LDN 0
- STD EQ SET INITIAL EST ORDINAL
- STD T4 SET INITIAL TABLE INDEX
- LDN ESTP
- CRD CM
- LDD CM+2 SET MAXIMUM EST ORDINAL
- STD T5
- OST1 AOD EQ ADVANCE EST ENTRY
- LMD T5
- ZJN OST2 IF END OF EST
- SFA EST,EQ READ EST ENTRY
- ADK EQDE
- CRD CM
- LDD CM+3
- LMC 2ROD
- NJN OST1 IF NOT OPTICAL DISK
- LDN ZERL
- CRD AB
- LDD T4
- SHN -2 SET OST ENTRY ORDINAL IN EST
- ERRNZ OSTE-4 CODE DEPENDS ON VALUE
- STD AB+2
- SFA EST,EQ
- ADN EQAE
- CWD AB UPDATE EST ENTRY
- LDN OSTE ADVANCE TABLE ADDRESS
- RAD T4
- UJN OST1 PROCESS NEXT EST ENTRY
- PDB SPACE 4,10
- ** PDB - DEFINE PREVIEW DISPLAY BUFFER.
- *
- * USES CA, CA+1.
- *
- * CALLS CLS.
- PDB SUBR ENTRY/EXIT
- LDD CA SET INTERLOCK WORD ADDRESS
- SHN 14
- ADD CA+1
- CWM PDBA,ON INITIALIZE INTERLOCK WORD
- STD CA+1 ADVANCE CENTRAL ADDRESS
- SHN -14
- STD CA
- LDC LPDS-1
- RJM CLS CLEAR PREVIEW DISPLAY BUFFER
- UJN PDBX RETURN
- PDBA VFD 12/7777B,12/0,12/0,12/0,12/0
- PSV SPACE 4,10
- ** PSV - DEFINE PP SAVE AREAS.
- *
- * USES CM - CM+4.
- *
- * CALLS CLS, SPW.
- PSV SUBR ENTRY/EXIT
- LDD LD
- SHN 0-13
- ZJN PSVX IF NO ISHARED DEVICES
- LDC 2S12+PPSP
- RJM SPW
- LDM .PPN COMPUTE NUMBER OF SAVE AREAS
- SBN 2
- STD CM+4
- SBD NS
- MJN PSV1 IF FEWER PP-S THAN ISHARED DEVICES
- LDD NS
- STD CM+4
- PSV1 LDD T5
- CWD CM
- * ALLOCATE SAVE AREAS.
- PSV2 SOD CM+4
- MJN PSVX IF NO MORE TO ALLOCATE
- LDC PPSA CLEAR SAVE AREA
- RJM CLS
- UJN PSV2 ALLOCATE NEXT SAVE AREA
- QFT SPACE 4,10
- ** QFT - DEFINE QUEUE FILE TABLE.
- *
- * CALLS CLS, LST, SPW.
- *
- * MACROS CFI.
- QFT SUBR ENTRY/EXIT
- LDN QFTP
- RJM SPW
- LDM .QFT+MTBL SET QFT ENTRY COUNT
- STD CM+2
- CFI QFT,,CM+2 CLEAR TABLE
- RJM CLS
- LDN QFTE LINK QFT
- RJM LST
- LDN 0
- STM ICTB+4
- LDD CM STORE SYSTEM QFT ENTRY
- SHN 14
- LMD CM+1
- CWM ICTB,ON
- ADN SCLQ-JSNQ-1
- CWM ICTC,ON
- UJN QFTX RETURN
- RPT SPACE 4,10
- ** RPT - DEFINE RING PORT TABLE.
- *
- * ENTRY (CA - CA+1) = CURRENT CM ADDRESS.
- *
- * USES T4, EQ, AB - AB+4.
- *
- * CALLS CLS, DSE, SSE.
- RPT2 LDD CA SET ADDRESS INTO EST ENTRY
- SHN 14
- LMD CA+1
- ADN 1S"RPTSM"-1
- ADD T4
- SHN -RPTAS
- STD AB+4
- SHN -14
- NJN RPT1 IF ADDRESS TOO LARGE
- SFA EST,EQ
- ADK EQDE
- CWD AB
- LDN RPTL INCREMENT ADDRESS OFFSET
- RAD T4
- RPT3 RJM SSE SEARCH FOR *RP* EQUIPMENT
- ZJN RPT2 IF FOUND
- LDD T4
- ZJN RPTX IF NO TABLE SPACE RESERVED
- LDD CA+1
- LPN 1S"RPTSM"-1
- ADD T4
- RJM CLS CLEAR STORAGE
- RPT SUBR ENTRY/EXIT
- LDN 0
- STD T4
- LDC 1S17+2RRP
- UJN RPT3 SEARCH FOR EQUIPMENT
- RPT1 LDC =C*RING PORT TABLE OVERFLOW.*
- JMP DSE DISPLAY ERROR
- SAB SPACE 4,10
- ** SAB - DEFINE SYSTEM ATTRIBUTE BLOCK.
- *
- * USES CM - CM+4.
- *
- * CALLS CLS, SPW.
- SAB SUBR ENTRY/EXIT
- LDC SABL
- RJM SPW SETUP POINTER WORD
- LDN ELDWL
- SBM C8XX SET BASE DESCRIPTOR BLOCK LENGTH
- STD CM+2
- LDD EN
- ADM UEMZ
- ADM UEMZ+1
- ZJN SAB2 IF NO EXTENDED MEMORY DESCRIPTOR REQUIRED
- AOD CM+2 ADVANCE DESCRIPTOR LENGTH
- SAB2 LDM .CPU ADD SECOND CPU DESCRIPTOR
- LMN 2
- ERRNZ CPDWL-4 CODE DEPENDS ON VALUE
- LPN 2
- SHN 1 LENGTH = 4 WORDS
- RAD CM+2
- LDD HO APPEND FLPP DESCRIPTOR WORD
- SHN 0-11
- LPN 1
- RAD CM+2 CLEAR ELEMENT DESCRIPTOR BLOCK
- RJM CLS
- LDD T5 STORE POINTER WORD
- CWD CM
- UJP SABX RETURN
- SCD SPACE 4,10
- ** SCD - DEFINE *SCD* PARAMETER TABLE.
- *
- * CALLS CLS, SPT, SPW.
- SCD2 LDD CA SET SAVE AREA FWA
- STM SPSA
- LDD CA+1
- STM SPSA+1
- LDC PSAL CLEAR SAVE AREA
- RJM CLS
- SCD SUBR ENTRY/EXIT
- LDM C8XX
- NJN SCDX IF NOT DUAL STATE MAINFRAME
- LDM BSPT
- ZJN SCD1 IF TABLE SHOULD BE CREATED
- LDM .DCS
- ZJN SCD2 IF DEADSTART FROM CC545
- SCD1 LDC 2S12+SCDP
- RJM SPW
- RJM SPT SET UP PARAMETER TABLE
- UJN SCD2 RESERVE PP RESIDENT SAVE AREA
- SCT SPACE 4,10
- ** SCT - DEFINE SUBSYSTEM CONTROL TABLE.
- *
- * CALLS CLS, SPW.
- SCT SUBR ENTRY/EXIT
- LDC 2S12+SSCP
- RJM SPW
- LDN SSCTL*2 CLEAR TABLE
- RJM CLS
- UJN SCTX RETURN
- SDA SPACE 4,10
- ** SDA - DEFINE STATISTICAL DATA AREA.
- *
- * CALLS CLS, SPW.
- SDA SUBR ENTRY/EXIT
- LDC SDAP SET STATISTICAL AREA POINTER
- RJM SPW
- LDN SDAL CLEAR TABLE
- RJM CLS
- UJN SDAX RETURN
- SIE SPACE 4,10
- ** SIE - *SET* INTERNAL ERROR.
- *
- * ENTRY TABLE VERIFICATION PROCESSOR MISSING.
- *
- * EXIT TO *DSE*.
- SIE CON 0 ENTRY
- LDC =C+*SET* INTERNAL ERROR IN *ICM*.+
- JMP DSE DISPLAY ERROR AND HANG
- SIT SPACE 4,10
- ** SIT - DEFINE *SECDED* ID TABLE.
- *
- * CALLS CLS, SPW.
- SIT SUBR ENTRY/EXIT
- LDM C8XX
- ZJN SITX IF LOWER 800 SERIES MAINFRAME
- LDC SCRL
- RJM SPW
- LDC 4000 SET *1MB* (ERROR LOGGING) ACTIVE
- RAD CM
- LDD T5 STORE POINTER WORD
- CWD CM
- LDK 2*/SCR/UIDL CLEAR TABLE
- RJM CLS
- UJN SITX RETURN
- TRT SPACE 4,10
- ** TRT - ALLOCATE TRT SPACE.
- *
- * USES EQ, CM - CM+4, CN - CN+4.
- *
- * CALLS CDL, CLS, SME.
- TRT1 LDD AB+4 FETCH TRT LENGTH
- SHN 3
- ADK TDGL
- CRD CM
- ADN TRLL-TDGL READ TRT ADDRESS WORD
- CRD CN
- LDD CA SET TRT ADDRESS
- RAD CN+3
- LDD CA+1
- STD CN+4
- LDD AB+4 STORE TRT ADDRESS
- SHN 3
- ADN TRLL
- CWD CN
- RJM CDL
- RJM CLS CLEAR TRT SPACE
- TRT2 RJM SME
- NJN TRT1 IF NOT END OF MASS STORAGE EST
- TRT SUBR ENTRY/EXIT
- LDN NOPE-1
- STD EQ
- UJN TRT2 BEGIN EST SEARCH
- TITLE PRIMARY SUBROUTINES.
- LST SPACE 4,10
- ** LST - LINK SYSTEM TABLE.
- *
- * ENTRY (A) = LENGTH OF TABLE ENTRY.
- * (T5) = POINTER WORD ADDRESS.
- * (CM - CM+4) = POINTER WORD.
- *
- * EXIT (A) .NE. 0 IF RECOVERY DEADSTART.
- *
- * USES T3, AB - AB+4, CN - CN+4.
- LST2 LDD T3 ADVANCE TABLE ADDRESS
- RAD AB+1
- SHN -14
- RAD AB
- SHN 14 STORE TABLE LINKAGE
- LMD AB+1
- CWD CN
- LST3 AOD CN+4 ADVANCE LINKAGE
- LMD CM+2
- NJN LST2 IF NOT END OF TABLE
- LST SUBR ENTRY/EXIT
- STD T3 SAVE LENGTH OF ENTRY
- LDD RS
- NJN LST1 IF RECOVERY DEADSTART
- CRD CN
- AOD CN+4 SET FIRST AVAILABLE ORDINAL
- STD CM+4
- LDD CM+2 NUMBER OF FREE ENTRIES
- SBN 1
- STD CM+3
- LST1 LDD T5 UPDATE POINTER WORD
- CWD CM
- CRD AB
- LSTA UJN LST3 LINK TABLE
- * UJN LSTX (RECOVERY DEADSTART)
- TITLE COMMON SUBROUTINES.
- SPACE 4,10
- ** COMMON SUBROUTINES.
- COMMON
- SPWSUB
- TITLE SUBROUTINES.
- IDB SPACE 4,15
- ** IDB - INITIALIZE DAYFILE BUFFER.
- *
- * ENTRY (T3) = BUFFER NUMBER.
- * (T6 - T7) = FWA OF DAYFILE POINTERS.
- * (CA - CA+1) = ADDRESS OF NEXT BUFFER.
- *
- * EXIT (CA - CA+1) ADVANCED.
- *
- * USES AB - AB+4, CM - CM+4, CN - CN+4.
- *
- * CALLS CLS.
- IDB SUBR ENTRY/EXIT
- LDN ZERL
- CRD CM
- CRD AB
- CRD CN
- LDD CA SET BUFFER ADDRESS
- STD CM
- LDD CA+1
- STD CM+1
- LDM .DFB,T3 SET BUFFER LENGTH
- STD AB+3
- SCN 77
- NJN IDB1 IF NOT ZERO LENGTH BUFFER
- STD AB+3
- IDB1 LDD T3 SET BUFFER INDEX
- SHN 6
- ADC 103 APPEND NOT BUSY / NOT INTERLOCKED STATUS
- STD CN+4
- LDD T6 STORE DAYFILE BUFFER POINTERS
- SHN 14
- LMD T7
- CWD CM
- ADN 1
- CWD AB
- ADN 1 STORE DAYFILE FST
- CWD CN
- LDD AB+3 CLEAR BUFFER
- RJM CLS
- LJM IDBX RETURN
- RMM SPACE 4,10
- ** RMM - RECOVER MST-S FROM MASS STORAGE.
- RMM SUBR ENTRY/EXIT
- LDD AB
- SCN 14
- STD AB
- LDM TDDB+DVPR
- LPN 2
- SHN 1
- RAD AB
- RJM RCA SET MST POINTER
- STD AB+4
- SHN -14
- ZJN RMM1 IF TABLE WITHIN LIMIT
- LDC =C*MASS STORAGE TABLE OVERFLOW.*
- LJM DSE
- RMM1 STM RMMC CLEAR PARTITION LINK STORAGE
- SFA EST,EQ STORE EST ENTRY
- CWD AB
- LDN MSTXL CLEAR MST SPACE (INCLUDING EXTENSION)
- RJM CLS
- LDD EQ
- ZJN RMMX IF EQUIPMENT ZERO
- LMN LDEQ
- NJN RMM2 IF NOT LINK DEVICE
- SBM TAXM+3+5*1
- SBM TAXM+3+5*2 SUBTRACT I/O BUFFERS FOR OTHER MACHINES
- SBM TAXM+3+5*3
- RAM TDDB+DVNT
- RMM2 LDD EN
- LMD EQ
- NJN RMM3 IF NOT XM EQUIPMENT WITH I/O BUFFERS
- SBM TAXM+3
- RAM TDDB+DVNT SUBTRACT I/O BUFFERS FOR THIS MACHINE
- RMM3 RJM SHS SET *HAT* AND *PUT* TABLE SIZES
- * PRESET MASS STORAGE TABLE WORDS.
- LDM TDDB+DVNT SET NUMBER OF TRACKS
- STD CM
- STD CM+4
- ADN 3
- SHN -2
- STD CM+2
- LDN 0
- STD CM+1
- STD CM+3
- LDD AB+4 STORE *TDGL*
- SHN 3
- ADK TDGL
- CWD CM
- * SDGL - SHARED DEVICE STATUS WORD.
- LDN ZERL
- CRD CM
- LDD AB SET ISD FLAG IN *SDGL*
- LPN 20
- SHN 13-4
- STD CM
- LDD AB+4
- SHN 3
- ADN SDGL
- CWD CM
- * ACGL - DEVICE GLOBAL INFORMATION WORD.
- LDD AB SET GLOBAL UNLOAD IF *OFF* OR *DOWN*
- LPN 2
- SHN GUNL-GUNL/12D*12D-1
- STD CM+4
- LDN 0
- STD CM
- LDM TDDB+DVPR
- LPN 1 APPEND PRESET STATUS FOR ISD
- SHN GPRS-GPRS/12D*12D
- RAD CM+4
- LDD AB+4 STORE *ACGL*
- SHN 3
- ADN ACGL
- CWD CM
- * DALL - DRIVER ACTIVITY WORD.
- LDN ZERL
- CRD CM
- LDD AB
- LPN 3
- SHN 11-1
- STD CM
- LDD AB+4
- SHN 3
- ADN DALL
- CWD CM
- * DILL - DRIVER INTERLOCK WORD.
- LDM TDDB+DVFA SET FILE ALLOCATION STATUS
- STD CM
- LDD EQ SET EST ORDINAL
- STD CM+1
- LDC ** SET PRIOR PARTITION EST ORDINAL
- RMMC EQU *-1
- STD CM+2
- LDM TDDB+DVED SET EQUIPMENT PARAMETERS
- STD CM+3
- LDM TDDB+DVAI SET ALGORITHM INDEX
- LPN 77
- STD CM+4 ALGORITHM INDEX TO BYTE 4
- LDD AB+4 WRITE *DILL*
- SHN 3
- ADN DILL
- CWD CM
- * ALGL - DEVICE ALLOCATION INFORMATION WORD.
- LDC TDDB+DVNM
- STD T3 SET POINTER TO PF DEVICE NAME
- STM RMMA
- LDD RS
- NJN RMM7 IF RECOVERY DEADSTART
- CRD CM
- LDI T3
- NJN RMM4 IF PF ENTRY PRESENT
- LDD EQ
- LMM DFMS
- NJN RMM5 IF NOT DEFAULT EQUIPMENT
- LDN 1
- UJN RMM6 SET CATALOG TRACK COUNT TO 1
- RMM4 LDM TDDB+DVPF
- SHN -4
- NJN RMM6 IF CATALOG TRACK COUNT SPECIFIED
- RMM5 LDM TDDB+DVCT GET DEFAULT CATALOG TRACK COUNT
- LPC 3777
- RMM6 STD CM+3 SET CATALOG TRACK COUNT
- LDD AB+4
- SHN 3
- ADN ALGL STORE *ALGL*
- CWD CM
- * MDGL - MASS STORAGE DRIVER WORD.
- RMM7 LDM TDDB+DVSL SET SINGLE UNIT SECTOR LIMIT
- STD CM+1
- LPC 3777
- STD CM+4
- LDD AB
- LPN 40
- ZJN RMM7.1 IF NOT A BUFFERED DEVICE
- LDD CM+1 REMOVE PARTITION NUMBER
- SCN 17
- STD CM+1
- RMM7.1 LDM TDDB+DVDI SET DRIVER INDEX
- SHN 14
- STD CM+3
- SHN -14
- LMC 1RD*100
- STD CM+2
- LDD AB+3 CHECK *EST* MNEMONIC
- LMC 2RDP
- ZJN RMM8 IF TYPE *DP*
- LMK 2RDE&2RDP
- NJN RMM9 IF NOT TYPE *DE*
- LDM TDDB+DVED
- LPN 70
- LMN 40
- NJN RMM8 IF NOT UEM
- LDC 2RDX CHANGE DRIVER NAME TO *DX*
- STD CM+2
- LDN LA6DX RESET DRIVER INDEX
- STD CM+3
- RMM8 LDM EBUT+7 UPDATE SECTOR LIMIT TO REFLECT XM SHIFT
- SHN -6
- LPN 3
- ADD TH
- ERRNZ SHNI-1000
- STM RMMB
- LDN 20 MINIMUM SECTOR LIMIT
- RMMB SHN 0
- * SHN EMSC
- STD CM+4
- ADC 4000 MAINTAIN FULL-TRACK FLAG
- STD CM+1
- RMM9 LDI ES
- LPC 404
- SHN 12-2
- STD CM SET AUXILIARY STATUS
- SHN 13-20
- SCN 77
- RAD CM SET REMOVABLE STATUS
- LDD AB+4 STORE DRIVER WORD
- SHN 3
- ADN MDGL
- CWD CM
- * STLL - DEVICE STATUS WORD.
- LDN ZERL
- CRD CM
- LDD ID ADD MACHINE ID
- STD CM+2
- AOD CM+4
- LDM EBUT+4 CHECK FOR INITIALIZE REQUEST
- SCN 17
- ZJN RMM11 IF NO INITIALIZE OPTIONS
- STD T0
- LPC MLFPR+MLIAL
- NJN RMM10 IF FULL INITIALIZE SPECIFIED
- LDD T0
- SHN 4
- STD CM+1 SET DAYFILE OPTIONS
- SHN -6
- LPC MLIPF+MLIQF
- RMM10 LMN MLIRP ADD INITIALIZE PENDING FLAG
- STD CM
- RMM11 STD T1
- LDM EBUT+4 SET ALTERNATE DEVICE STATUS
- SHN RASD-RASD/12D*12D-3
- LPN MRASD
- RAD CM
- LDD AB SET UNLOAD REQUESTED IF *OFF* OR *DOWN*
- LPN 2
- SHN LUNL-LUNL/12D*12D-1
- STD T0
- SHN LDUL-LUNL SET LOCAL UNLOAD IF *OFF* OR *DOWN*
- LMD T0
- RAD CM
- LDD AB+4 STORE DEVICE STATUS
- SHN 3
- ADN STLL
- CWD CM
- * SCYL - STARTING CYLINDER OF PARTITION.
- LDN ZERL
- CRD CM
- LDM TDDB+DVCO SET STARTING CYLINDER
- STD CM+2
- LDD AB+4 STORE STARTING CYLINDER
- SHN 3
- ADN SCYL
- CWD CM
- * DDLL - DEVICE DEFINITION WORD (WITH UNIT LIST).
- LDM EBUT+4 SET NUMBER OF UNITS
- LPN 7
- STM TDDB+DVED
- SHN 3
- RAM TDDB+DVED
- LDM TDDB+DVPR SET EQUIPMENT (CONTROLLER) NUMBER
- SHN -11
- SHN 6
- RAM TDDB+DVED
- LDD AB+4 STORE DEVICE DEFINITION
- SHN 3
- ADN DDLL
- CWM TDDB+DVED,ON
- * THLL - DEVICE ERROR THRESHOLD WORD.
- ADN THLL-DDLL-1 STORE THRESHOLD VALUES
- CWM TDDB+DVTH,ON
- LDD T1
- LPC MLIAL
- ZJP RMMX IF FULL INITIALIZE NOT SPECIFIED
- * PUGL - PERMANENT FILE USER DESCRIPTION.
- LDN 0 CLEAR USER DESCRIPTION
- CRD CM
- LDI T3
- NJN RMM14 IF PF DESCRIPTION
- LDD EQ
- LMM DFMS
- NJN RMM16 IF NOT DEFAULT EQUIPMENT
- LDC 177777
- UJN RMM15 SET DEFAULT MASKS
- RMM14 LDM TDDB+DVPF SET MASKS
- LPN 17
- SHN 14
- LMM TDDB+DVPF+1
- RMM15 STD CM+4
- SHN -14
- STD CM+3
- LDD AB+4 STORE *PUGL*
- SHN 3
- ADN PUGL
- CWD CM
- * PFGL - PERMANENT FILE DESCRIPTION WORD.
- RMM16 LDI T3
- NJN RMM17 IF PF DESCRIPTION
- AOM DEFN
- LDC DEFM
- STM RMMA
- STD T3
- RMM17 SFA EST,EQ SET DEVICE ACCESS LEVELS IN PFGL
- ADK EQAE
- CRD CM
- LDD CM+3
- SHN 6
- STM 4,T3
- LDM TDDB+DVED SET UNIT COUNTS IN PFGL
- LPN 77
- RAM 4,T3
- LDD AB+4 STORE PF DESCRIPTOR WORD
- SHN 3
- ADN PFGL
- CWM **,ON
- RMMA EQU *-1
- LJM RMMX RETURN
- DEFM DATA 6LSYSTEM DEFAULT FAMILY NAME
- DEFN CON 0 DEFAULT DEVICE NUMBER
- CON 0 UNIT COUNT
- SHS SPACE 4,10
- ** SHS - SET HASH TABLE SIZE.
- * UPDATE .HATP AND .PUTP FOR BUFFERED DISKS.
- *
- * ENTRY EBUT = EST ENTRY BUILT BY *CMR*.
- * TDDB = MST PARAMETERS FROM *CMR*.
- *
- * USES T2.
- SHS SUBR ENTRY/EXIT
- LDM TDDB+DVED
- SHN 21-12
- PJN SHSX IF NOT BUFFERED DEVICE
- LDD AB+3 SAVE EQUIPMENT MNEMONIC IN MESSAGE
- STM BDTB
- LDM EBUT+4
- LPN 7
- ADN 1
- STD T2 SAVE UNIT COUNT
- RJM SPP SEARCH FOR PRIOR PARTITIONS
- ZJN SHS1 IF A PRIOR PARTITION WAS FOUND
- RAM .PUTP UPDATE NUMBER OF *PUT* ENTRIES NEEDED
- SHN PUTLS
- STM .PUTP+2 ADVANCE TABLE LENGTH
- SHS1 SOD T2
- MJN SHSX IF NO MORE UNITS
- LDK HATLE/10B
- RAM .HATP ACCUMULATE HASH TABLE LENGTHS
- SHN 3
- STM .HATP+2 UPDATE TOTAL LENGTH
- SHN -14
- LMD TH
- STM .HATP+1
- LPN 70
- ZJN SHS1 IF NO OVERFLOW
- LDC =C*HASH TABLE OVERFLOW.*
- LJM DSE ERROR HALT
- SPP SPACE 4,10
- ** SPP - SEARCH FOR PRIOR PARTITIONS.
- *
- * ENTRY (EQ) = CURRENT EST ORDINAL.
- * (T2) = NUMBER OF UNITS.
- * (AB)-(AB+4) = CURRENT EST ENTRY.
- *
- * EXIT (A) = NUMBER OF UNITS IF NO PRIOR PARTITION.
- * (A) = 0 IF PRIOR PARTITION FOUND.
- * (RMMC) = (T1) = EST ORDINAL IF PRIOR PARTITION FOUND.
- *
- * USES T1, CM - CM+4.
- *
- * MACROS SFA.
- SPP6 STM RMMC CLEAR PRIOR PARTITION LINK
- LDD T2 GET NUMBER OF UNITS
- SPP SUBR ENTRY/EXIT
- LDD EQ
- STD T1
- SPP1 SOD T1
- ZJN SPP6 IF END OF EST - NO PRIOR PARTITION FOUND
- SFA EST,T1
- CRD CM READ EST ENTRY
- LDD CM
- SHN 21-13
- PJN SPP1 IF NOT MASS STORAGE
- LDD AB+3
- LMD CM+3
- SPP2 NJN SPP1 IF NOT THE SAME DEVICE TYPE
- LDN CM COMPARE CHANNEL ENTRIES
- STD CM
- SPP3 AOD CM
- SBN CM+3
- ZJN SPP1 IF ALL PRIOR DEVICE CHANNELS CHECKED
- LDN AB
- STD T0
- SPP4 AOD T0
- SBN AB+3
- ZJN SPP3 IF ALL CURRENT DEVICE CHANNELS CHECKED
- LDI T0 CURRENT CHANNEL
- ZJN SPP4 IF NO CHANNEL ENTRY
- LMI CM PRIOR DEVICE CHANNEL
- LPC 4277
- NJN SPP4 IF CHANNELS ARE NOT THE SAME
- LDD CM+4 GET EQUIPMENT/UNIT FROM PRIOR DEVICE MST
- SHN 3
- ADN DDLL
- CRD CM
- LDM TDDB+DVUN+3 COMPARE UNIT NUMBER
- LMD CM+4
- SPP5 NJN SPP2 IF NO MATCH
- LDM TDDB+DVPR COMPARE EQUIPMENT NUMBER
- SHN -3
- LMD CM
- SHN -6
- NJN SPP5 IF NO MATCH
- LDD T1 SET LINK TO PRIOR PARTITION
- STM RMMC
- LDN 0 INDICATE PRIOR PARTITION FOUND
- UJP SPPX RETURN
- SPACE 4,10
- USE LITERALS DUMP LITERALS BLOCK
- INO SPACE 4,10
- ** INO - INITIALIZE OVERLAY.
- INO SUBR ENTRY/EXIT
- LDD RS
- ZJN INOX IF NOT RECOVERY DEADSTART
- LDC *
- ORG *-1
- LOC LSTA
- UJN LSTX RETURN
- LOC *O
- STM LSTA
- UJN INOX RETURN
- SPACE 4,10
- QUAL *
- SPACE 4,10
- ERRNG 7777-*-4 IF OVERFLOW
- TTL SET/APR - AUXILIARY MASS STORAGE PARAMETERS.
- TITLE
- IDENT APR,APRL
- QUAL APR
- ORG APRL
- *COMMENT SET - AUXILIARY MASS STORAGE PARAMETERS.
- COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
- SPACE 4,10
- ** TBLM - GENERATE TABLE OF MASS STORAGE FLAWING PARAMETERS.
- *
- * TBLM EQ
- * EQ = MASS STORAGE EQUIPMENT MNEMONIC.
- TBLM MACRO EQ
- MS_EQ VFD 12/2R_EQ
- .A IFNE CYUN_EQ,0
- CON CYPN_EQ CYLINDERS/PARTITION
- CON PTCY_EQ PHYSICAL TRACKS/CYLINDER
- CON PSPT_EQ PHYSICAL SECTORS/PHYSICAL TRACK
- CON CFS_EQ CONVERSION FACTOR SHIFT COUNT
- .B SET PSPT_EQ*PTCY_EQ-SPSC_EQ
- .C SET .B*LSPS_EQ
- .D SET .C/10000
- .E SET .D*10000
- CON .D UPPER LOGICAL SECTORS/CYLINDER
- CON .C-.E LOWER LOGICAL SECTORS/CYLINDER
- CON LSPT_EQ LOGICAL SECTORS/PHYSICAL TRACK
- CON SL_EQ+GS_EQ LOGICAL SECTORS/LOGICAL TRACK
- CON FRD FLAW ROTATING MASS STORAGE DEVICE
- .A ELSE
- BSS 10B DUMMY TABLE ENTRIES
- CON FMD FLAW LARGE MEMORY DEVICE
- .A ENDIF
- ENDM
- SPACE 4,10
- ** ENTRY POINTS.
- CON TSYN-1 ADDRESS OF SYNTAX TABLE
- CON TSYNA ADDRESS OF END OF SYNTAX TABLE
- MSF SPACE 4,10
- ** MSF - PROCESS MASS STORAGE FLAWS.
- MSF1 RJM PDF PROCESS DISK FLAWS
- RJM PTL PROCESS TRT LENGTHS
- MSF4 RJM CMC CHECK MACHINE CONFIGURATION
- RJM ECT DEFINE *EICB* TABLES.
- RJM BVS BUILD VARIABLE *SAB* TABLE
- LDD DP SET DISPLAY CONTROL FOR *IPRDECK*
- STD DS
- MSF SUBR ENTRY/EXIT
- AOD DI ADVANCE DECK INDEX
- LDD RS
- NJN MSF4 IF NOT A LEVEL 0 DEADSTART
- * LDN 0
- RJM RTD LOAD *APRINST* AND *APRD00*
- LMN 1
- ZJN MSF1 IF TEXT DECK EMPTY
- LDC MSFA
- JMP DSE DISPLAY MESSAGE AND HANG
- MSFA DATA C+*APRD00* MUST BE EMPTY.+
- SMF SPACE 4,10
- ** SMF - SEARCH MASS STORAGE FLAW TABLE *TMSF*.
- *
- * ENTRY (A) = EQUIPMENT TYPE (DEVICE MNEMONIC).
- *
- * EXIT (A) = (T3) = ADDRESS OF ENTRY.
- * (A) = 0, IF ENTRY NOT FOUND.
- *
- * USES T0, T3.
- SMF1 LDN TMSFL ADVANCE TABLE ADDRESS
- RAD T3
- SMF2 LDI T3 CHECK ENTRY
- ZJN SMFX IF END OF TABLE
- LMD T0 COMPARE DEVICE TYPE
- NJN SMF1 IF NO MATCH
- LDD T3 EXIT WITH ADDRESS OF ENTRY
- SMF SUBR ENTRY/EXIT
- STD T0
- LDC TMSF SET TABLE ADDRESS
- STD T3
- UJN SMF2 ENTER LOOP
- TMSF SPACE 4,10
- ** TMSF - TABLE OF MASS STORAGE DEVICES.
- *
- * ENTRY = TMSFL WORDS.
- * THE ENTRIES IN *TMSF* ARE REFERENCED WITH THE FOLLOWING TAGS.
- TMSF BSS 0
- LOC 0
- BSS 1 DEVICE MNEMONIC
- CYUN BSS 1 CYLINDERS/UNIT
- TKCY BSS 1 PHYSICAL TRACKS/CYLINDER
- PSPT BSS 1 PHYSICAL SECTORS/PHYSICAL TRACK
- CVNF BSS 1 CONVERSION FACTOR
- LSCY BSS 2 LOGICAL SECTORS/CYLINDER
- LSPT BSS 1 LOGICAL SECTORS/PHYSICAL TRACK
- LSLT BSS 1 LOGICAL SECTORS/LOGICAL TRACK
- PADR BSS 1 PROCESSOR ADDRESS
- TMSFL BSS 0 TABLE ENTRY LENGTH
- ORG TMSF
- LIST G
- TBL "MSEQ"
- LIST *
- PURGMAC TBLM
- CON 0 END OF TABLE
- TSYN SPACE 4,10
- ** TSYN - SYNTAX TABLE.
- TSYN BSS 0
- CON SPF SET PHYSICAL DEVICE FLAW
- CON CPF CLEAR PHYSICAL DEVICE FLAW
- CON SLF SET LOGICAL TRACK FLAW
- CON CLF CLEAR LOGICAL TRACK FLAW
- CON CAF CLEAR ALL DEVICE FLAWS
- TSYNA CON 0
- CON NEXT
- CON IPR
- CON 0 END OF TABLE
- TITLE TRACK FLAWS.
- CAF SPACE 4,10
- *** CAF.
- * CLEAR ALL FLAWS PREVIOUSLY SET FOR THIS EQUIPMENT.
- CAF DATA C*CAF.*
- LDD T7 GET TRT LENGTH
- SHN 3
- ADK TDGL
- CRD CN
- ADN TRLL-TDGL
- CRD CM
- LDD CM+4 SET TRT ADDRESS
- STD CA+1
- LDD CM+3
- LPN 77
- STD CA
- LDD CN+2 CLEAR TRT
- RJM CLS
- LDD CN RESET TRACK COUNT
- STD CN+4
- LDD T7
- SHN 3
- ADK TDGL
- CWD CN
- JMP KBR RETURN
- CLF SPACE 4,10
- *** CLF=XXXX.
- * CLEAR FLAW ON LOGICAL TRACK XXXX.
- CLF DATA C*CLF=*
- LDN 1 PRESET TO CLEAR FLAW
- UJN SLF1 ENTER PROCESSING
- SLF SPACE 4,10
- *** SLF=XXXX.
- * SET FLAW ON LOGICAL TRACK XXXX.
- SLF DATA C*SLF=*
- LDN 0 PRESET TO SET FLAW
- SLF1 STD T4 SET *PTF* OPTION
- RJM ASD ASSEMBLE DIGITS
- RJM PTF PROCESS TRACK FLAW
- JMP KBR KEYBOARD RETURN
- CPF SPACE 4,10
- *** CPF=CAAAA,TBB,SCC.
- * CLEAR FLAW ON CYLINDER AAAA, TRACK BB, AND SECTOR CC.
- *
- * CPF=AIIIIIII.
- * CLEAR FLAW ON EXTENDED MEMORY BLOCK STARTING AT
- * ADDRESS IIIIIII.
- *
- * CPF=AIIIIIII-AJJJJJJJ.
- * CLEAR FLAW ON EXTENDED MEMORY BLOCK FROM ADDRESS IIIIIII
- * THROUGH ADDRESS JJJJJJJ.
- CPF DATA C*CPF=*
- LDN 1
- UJN SPF1 CLEAR LOGICAL TRACK FLAW
- SPF SPACE 4,10
- *** SPF=CAAAA,TBB,SCC.
- * SET FLAW ON CYLINDER AAAA, TRACK BB, AND SECTOR CC.
- *
- * SPF=AIIIIIIII.
- * SET FLAW ON EXTENDED MEMORY BLOCK STARTING AT
- * ADDRESS IIIIIIII.
- *
- * SPF=AIIIIIIII-AJJJJJJJJ.
- * SET FLAW ON EXTENDED MEMORY BLOCK FROM ADDRESS IIIIIIII
- * THROUGH ADDRESS JJJJJJJJ.
- SPF DATA C*SPF=*
- LDN 0 PRESET FOR TRACK FLAWING
- SPF1 STD T4
- LDC ** SEARCH FOR ENTRY IN *TMSF*
- SPFA EQU *-1
- RJM SMF SEARCH MASS STORAGE FLAW PROCESSOR TABLE
- NJN SPF2 IF ENTRY FOUND
- JMP ILL PROCESS INCORRECT ENTRY
- SPF2 LDM PADR,T3 PROCESS ENTRY
- STD T2
- LJM 0,T2 ENTER PROCESSOR
- FMD SPACE 4,10
- ** FMD - SET/CLEAR FLAW ON LARGE MEMORY DEVICE.
- FMD LDI KA CHECK CHARACTER
- LMN 1RA
- NJN FMD2 IF NOT *A*
- AOD KA ASSEMBLE ADDRESS
- RJM CDR
- RJM CET CONVERT ADDRESS TO TRACK
- STD T5 SET FIRST TRACK
- LDI KA CHECK SEPARATOR
- LMN 1R.
- ZJN FMD1 IF PERIOD TERMINATOR (NO RANGE)
- LMN 1R-&1R.
- NJN FMD2 IF INCORRECT SEPARATOR
- AOD KA
- LDI KA
- LMN 1RA
- NJN FMD2 IF NOT AN *A*
- AOD KA
- RJM ASD ASSEMBLE SECOND ADDRESS
- RJM CET CONVERT EXTENDED MEMORY ADDRESS TO TRACK
- FMD1 LDD T5
- STD AB+4 SET FIRST TRACK TO FLAW
- SBD T3
- ZJN FMD3 IF ONE TRACK (FIRST = LAST)
- MJN FMD3 IF FIRST .LE. LAST TRACK
- FMD2 JMP ILL PROCESS INCORRECT ENTRY
- FMD3 LDM /EQP/EBUT+7
- LPC 300
- NJN FMD4 IF NOT DEFAULT TRACK SIZE
- LDD AB+4
- LMN CETK-4000B
- ZJN FMD2 IF *CETK*
- FMD4 RJM PTF PROCESS TRACK FLAW
- AOD AB+4
- SBD T3
- MJN FMD3 IF MORE TRACKS TO FLAW
- ZJN FMD3 IF MORE TRACKS TO FLAW
- JMP KBR RETURN
- FRD SPACE 4,10
- ** FRD - SET/CLEAR FLAW ON ROTATING MASS STORAGE DEVICE.
- *
- * *FRD* CONVERTS A PHYSICAL DISK ADDRESS INTO A LOGICAL TRACK
- * NUMBER AND THEN SETS OR CLEARS THE FLAW ON THAT TRACK.
- *
- * ENTRY (T3) = ADDRESS OF DEVICE DESCRIPTOR ENTRIES.
- * (T4) = 0, IF A FLAW IS TO BE SET.
- * 1, IF A FLAW IS TO BE CLEARED.
- FRD5 JMP ILL PROCESS INCORRECT ENTRY
- FRD LDM /EQP/TDDB+DVCO BASE CYLINDER FOR PARTITION
- ADM CYUN,T3 CHECK FOR VALID CYLINDER ADDRESS
- SBN 1
- LMC 1LC
- RJM CTE
- SBM /EQP/TDDB+DVCO BASE CYLINDER FOR PARTITION
- MJN FRD5 IF CYLINDER NOT IN THIS PARTITION
- STD CM SAVE RELATIVE CYLINDER
- LDM CVNF,T3
- ERRNZ SHNI-1000 CODE DEPENDS ON VALUE
- LMD TH
- STM FRDA SET PHYSICAL SECTOR CONVERSION
- LDC 1LT
- LMM TKCY,T3 CHECK FOR VALID TRACK ADDRESS
- RJM CTE
- STD CM+1 SAVE TRACK
- LDM PSPT,T3
- LMC 1LS CHECK FOR A VALID SECTOR ADDRESS
- RJM CTE
- FRDA SHN 0 CONVERT PHYSICAL TO LOGICAL SECTOR
- STD AB+1
- SHN -14
- STD AB
- LCN 0 INITIALIZE LOGICAL TRACK CALCULATION
- STD AB+4
- * MULTIPLY THE TRACK VALUE BY THE NUMBER OF LOGICAL
- * SECTORS PER PHYSICAL TRACK.
- FRD1 SOD CM+1
- MJN FRD3 IF END OF CONVERSION
- LDM LSPT,T3
- RAD AB+1 ADVANCE LOGICAL SECTOR COUNT
- SHN -14
- RAD AB
- UJN FRD1 LOOP ON CONVERSION
- * MULTIPLY THE CYLINDER VALUE BY THE NUMBER OF LOGICAL
- * SECTORS PER CYLINDER.
- FRD2 LDM LSCY+1,T3 ADVANCE LOGICAL SECTOR COUNT
- RAD AB+1
- SHN -14
- ADM LSCY,T3
- RAD AB
- FRD3 SOD CM
- PJN FRD2 IF NOT END OF CONVERSION
- * DIVIDE THE ACCUMULATED LOGICAL SECTOR COUNT BY THE
- * SUM OF (LOGICAL + GAP) SECTORS PER LOGICAL TRACK.
- FRD4 AOD AB+4 ADVANCE LOGICAL TRACK NUMBER
- LDN 0
- SBM LSLT,T3 DIVIDE BY ITERATIVE SUBTRACTION
- RAD AB+1
- PJN FRD4 IF NO UNDERFLOW
- AOD AB+1
- SOD AB
- PJN FRD4 IF DIVISION INCOMPLETE
- RJM PTF PROCESS TRACK FLAW
- JMP KBR RETURN
- CTE SPACE 4,10
- ** CTE - CHECK TRACK ENTRY.
- *
- * ENTRY (A) 12 - 17 = CHARACTER OF NEXT ENTRY.
- * (A) 0 - 11 = LIMIT FOR NUMBER.
- * (KA) = NEXT CHARACTER ADDRESS.
- *
- * CALLS AOD.
- CTE2 AOD KA SKIP PREFIX CHARACTER
- RJM AOD
- LDI KA CHECK SEPARATOR
- LMN 1R.
- ZJN CTE3 IF END OF ENTRY
- AOD KA
- CTE3 LDC * CHECK ASSEMBLY
- CTEA EQU *-1
- SBD AB+4
- MJN CTE1 IF OUT OF RANGE
- LDD AB+4 RETURN WITH ASSEMBLY
- CTE SUBR ENTRY/EXIT
- SBN 1 SET LIMIT
- STM CTEA
- SHN -14 CHECK NEXT CHARACTER
- LMI KA
- ZJN CTE2 IF PROPER CHARACTER
- CTE1 JMP ILL PROCESS INCORRECT ENTRY
- AJT SPACE 4,10
- ** AJT - ADJUST TRT FOR UNUSED TRACKS.
- *
- * ENTRY (T7) = MST ADDRESS / 10B.
- * (T4) = 0 (SET FLAW REQUEST FOR *PTF*).
- *
- * USES AB+4, CN - CN+4.
- *
- * CALLS PTF.
- AJT SUBR ENTRY/EXIT
- LDD T7 READ *TDGL*
- SHN 3
- ADK TDGL
- CRD CN
- LDD CN SET LAST TRACK
- STD AB+4
- AJT1 LPN 3
- ZJN AJTX IF END OF TRT
- RJM PTF PROCESS TRACK FLAW
- AOD CN+4 RESET TRACK COUNT
- LDD T7 RESTORE *TDGL*
- SHN 3
- ADK TDGL
- CWD CN
- AOD AB+4 ADVANCE TRACK
- UJN AJT1 LOOP FOR NEXT TRACK
- CET SPACE 4,10
- ** CET - CONVERT EXTENDED MEMORY ADDRESS TO TRACK NUMBER.
- *
- * ENTRY (AB+3 - AB+4) = EXTENDED MEMORY ADDRESS.
- *
- * EXIT (A) = (T3) = TRACK NUMBER.
- *
- * USES T1 - T3.
- CET2 JMP ILL ADDRESS TOO LARGE
- CET SUBR
- LDD AB+4
- CETA SHN -3
- * SHN -3-EMSC (EMSC = EXTENDED MEMORY SHIFT COUNT)
- STD T2
- LDD AB+3 CHECK ASSEMBLY
- CETB SHN -11
- * SHN -11-EMSC (EMSC = EXTENDED MEMORY SHIFT COUNT)
- NJN CET2 IF OUT OF RANGE
- LDD AB+3
- CETC SHN 17
- * SHN 17-EMSC (EMSC = EXTENDED MEMORY SHIFT COUNT)
- STD T1
- SHN -6
- RAD T2
- LCN 0 CLEAR TRACK
- STD T3
- CET1 AOD T3
- LDC -202
- RAD T2
- PJN CET1 IF TRACK NOT FOUND
- AOD T2
- SOD T1
- PJN CET1 IF TRACK NOT FOUND
- LDD T3
- UJN CETX RETURN
- PDF SPACE 4,10
- ** PDF - PROCESS DISK FLAWS.
- *
- * USES EQ, T5, T7, CM - CM+4, CN - CN+4.
- *
- * CALLS ATD, IBF, RTD, SME, /EQP/STA.
- PDF9 LDC 0
- PDFD EQU *-1
- ZJN PDFX IF NO MORE FLAW DECKS TO PROCESS
- STM TTXC+APRD
- RJM RTD LOAD NEXT DECK
- LDN 0
- STM PDFD
- UJN PDF1 FIND EQUIPMENT ENTRY TO MATCH APRDECK
- PDF SUBR ENTRY/EXIT
- PDF1 LDN NOPE-1 INITIALIZE EQUIPMENT SEARCH
- STD EQ
- PDF2 RJM SME
- ZJN PDF9 IF EST SCAN COMPLETE
- LDD AB+4
- STD T7
- SHN 3
- ADN STLL
- CRD CM
- LDD CM CHECK FOR INITIALIZE SET
- LPC MLIAL
- ZJN PDF2 IF NOT INITIALIZED
- * PROCESS EXTENDED MEMORY.
- LDD AB+3
- LMC 2RDE
- ZJN PDF3 IF EXTENDED MEMORY
- LMK 2RDP&2RDE
- NJP PDF5 IF NOT EXTENDED MEMORY
- PDF3 LDD AB+2
- SHN -6
- LPN 3
- STD T0
- LDC SHNI+77-3
- SBD T0
- STM CETA PRESET EXTENDED MEMORY SHIFTS
- SBN 6
- STM CETB
- ADK 11+17-77
- STM CETC
- LDD T0
- NJN PDF4 IF NOT DEFAULT TRACK SIZE
- LDC CETK SET *CETK* TRACK FLAW
- STD AB+4
- LDN 0 PROCESS TRACK FLAW
- STD T4
- RJM PTF
- PDF4 LDK BIOL CHECK IF BUFFERED I/O PRESENT
- CRD CM
- LDD CM+1
- ADD CM+2
- ZJN PDF5 IF NO BUFFERED I/O DEFINED
- LDD T7
- SHN 3
- ADN DILL
- CRD CN
- LDD CN+3 CHECK FOR LCME
- LPN 70
- LMN 20
- NJN PDF5 IF NOT LCME
- LDC LCTK RESERVE 176/BUFFERED I/O TRACK
- STD AB+4
- RJM PTF PROCESS TRACK FLAW
- PDF5 LDD EQ
- RJM /EQP/STA FETCH DEVICE PARAMETERS
- LDM /EQP/TDDB+DVAP
- STD CN+4 SAVE APRDECK NUMBER
- SBM TTXC+APRD
- NJN PDF6 IF NOT APRDECK MATCH
- LDD EQ
- STD T5
- LDN RPSF RESET SECOND BUFFER
- RJM IBF
- LDD AB+3 SAVE EQUIPMENT MNEMONIC
- STM SPFA
- RJM ATD ASSEMBLE TEXT
- UJN PDF8 CHECK NEXT ORDINAL
- PDF6 MJN PDF8 IF SMALLER APRDECK NUMBER
- LDM PDFD
- ZJN PDF7 IF FIRST DECK ON THIS EST PASS
- LDD CN+4 FIND NEXT LARGEST APRDECK
- SBM PDFD
- PJN PDF8 IF NOT A SMALLER APRDECK NUMBER
- PDF7 LDD CN+4 SET NEXT DECK NUMBER
- STM PDFD
- PDF8 LJM PDF2 CHECK NEXT ORDINAL
- PTF SPACE 4,10
- ** PTF - PROCESS TRACK FLAW.
- *
- * ENTRY (T4) = 0, IF SET FLAW REQUEST.
- * 1, IF CLEAR FLAW REQUEST.
- * (T7) = MST ADDRESS / 10B.
- * (AB+4) = TRACK NUMBER.
- *
- * EXIT (CA - CA+1) = TRT ADDRESS.
- *
- * USES T1 - T2, CM - CM+4, CN - CN+4.
- PTF SUBR ENTRY/EXIT
- LDD AB+4 UNPACK TRACK
- LPC 3777
- SHN 21-1 SET WORD INDEX
- STD T1
- SHN 1-21 SET BYTE INDEX
- ADN CM
- STD T2
- LMC SHNI+77-CM FORM SHIFT INSTRUCTION
- STM PTFA
- STM PTFB
- LDD T7 READ MST TRACK COUNT
- SHN 3
- ADK TDGL
- CRD CN
- ADN TRLL-TDGL
- CRD CM
- LDD CM+3 SET TRT ADDRESS
- LPN 77
- STD CA
- SHN 14 READ TRT WORD
- LMD CM+4
- STD CA+1
- ADD T1
- CRD CM
- LDD CN+2 CHECK TRACK
- SHN 2
- SBD T1
- SBN 1
- PJN PTF1 IF TRACK WITHIN TRT
- JMP ILL PROCESS INCORRECT ENTRY
- PTF1 LDD T4
- ZJN PTF4 IF SET FLAW OPTION
- LDI T2
- ZJN PTF3 IF TRACK NOT RESERVED
- AOD CN+4 INCREMENT AVAILABLE TRACK COUNT
- LDN 10 RESERVE TRACK
- PTFA SHN -**
- LMD CM+4 CLEAR RESERVATION
- STD CM+4
- LDN 0 CLEAR BYTE
- PTF3 STI T2
- LDD T7 UPDATE TRACK COUNT IN MST
- SHN 3
- ADK TDGL
- CWD CN
- LDD CA STORE TRT WORD
- SHN 14
- LMD CA+1
- ADD T1
- CWD CM
- LJM PTFX RETURN
- PTF4 LDN 10
- PTFB SHN -**
- STD T0
- LMC 7777
- STM PTFC
- LDD CM+4 SET TRACK RESERVATION
- LPC 0
- PTFC EQU *-1
- LMD T0
- STD CM+4
- LDI T2
- NJN PTF5 IF TRACK ALREADY FLAWED
- SOD CN+4 DECREMENT TRACK COUNT
- PTF5 LDC 3777
- UJN PTF3 SET TRACK BYTE
- PTL SPACE 4,10
- ** PTL - PROCESS TRT LENGTH.
- *
- * USES EQ, T4, T7, CM - CM+4.
- *
- * CALLS AJT, SME.
- PTL1 LDD AB+4 SET MST POINTER
- STD T7
- SHN 3
- ADN STLL
- CRD CM
- LDD CM CHECK FOR INITIALIZE SET
- LPC MLIAL
- ZJN PTL2 IF INITIALIZE NOT SET
- RJM AJT
- PTL2 RJM SME
- NJN PTL1 IF NOT END OF EST
- PTL SUBR ENTRY/EXIT
- LDN 0
- STD T4 SELECT SET FLAW PROCESSING
- STD EQ
- UJN PTL2 CHECK TRT LENGTHS
- TITLE SUBROUTINES.
- AODSUB
- ASDSUB
- CDRSUB
- CMC SPACE 4,10
- ** CMC - CHECK MACHINE CONFIGURATION.
- *
- * ENTRY (EP) = EST ADDRESS.
- * (LD) = LINK DEVICE DEFINITION.
- *
- * USES AB - AB+4, CM - CM+4, T1 - T7.
- CMC SUBR ENTRY/EXIT
- LDD LD
- LPC 777
- ZJN CMCX IF NOT MMF ENVIRONMENT
- SFA EST
- CRD CM READ EST ENTRY FOR LINK DEVICE
- LDN ZERL
- CRD T0
- CRD AB
- LCN 0 INITIALIZE FLAG REGISTER STATUS
- STD AB+3
- LDD CM+4 GET MST STATUS WORD
- SHN 3
- ADN STLL
- CRD CM
- ADN TRLL-STLL FETCH TRT ADDRESS
- CRD T7-4
- LDD CM EXTRACT INITIALIZE FLAG
- SHN -6
- LPN 20
- RAD AB+2
- LDM PRSF CHECK PRESET STATUS
- ZJN CMC7 IF PRESET NOT SPECIFIED
- LDN 40 SET *PRESET* SELECTED
- RAD AB+2
- UJN CMC7 FIND POTENTIAL LABEL TRACK
- CMC4 LDC =C*LINK DEVICE LABEL TRACK ERROR.*
- LJM DSE GO DISPLAY ERROR
- * LOCATE FIRST AVAILABLE TRACK AS POSSIBLE LABEL TRACK.
- CMC6 AOD T1 ADVANCE TRT INDEX
- SHN 2
- SBN LTKL-4000
- PJN CMC4 IF AT LABEL TRACK LIMIT
- CMC7 LDD T6
- LPN 77
- SHN 14 READ TRT WORD
- LMD T7
- ADD T1
- CRD CM
- LDD CM+4 CHECK FOR UNASSIGNED TRACK
- LPN 17
- LMN 17
- ZJN CMC6 IF THESE 4 TRACKS RESERVED
- LMN 17
- SHN 13-3
- STD T2
- LDN 0 INITIALIZE BYTE INDEX
- STD T0
- CMC8 RAD T0 ADVANCE BYTE INDEX
- LDD T2 CHECK NEXT TRACK
- SHN 1
- STD T2
- SHN -14
- NJN CMC8 IF TRACK RESERVED
- LDD T1 FORM TRACK NUMBER
- LMD TH
- SHN 2
- LMD T0
- CMC9 STD AB+4
- LDC EFRL STORE STATUS FOR *CPUMTR*/*MTE*
- CWD AB
- LJM CMCX RETURN
- ECT SPACE 4,10
- ** ECT - DEFINE *EICB* TABLES.
- *
- * USES AB - AB+4, CA - CA+1, CM - CM+4, CN - CN+4.
- *
- * CALLS DFO, DML.
- ECT SUBR ENTRY/EXIT
- LDM C8XX
- NJN ECTX IF NOT LOWER 800 SERIES MAINFRAME
- CRD CN
- CRD AB
- LDK EIBP READ *EICB* POINTER WORD
- CRD CM
- LDM VEMZ SET WORD *D7CM*
- LPN 7
- SHN 14
- ADM VEMZ+1
- SHN -3 FORM BLOCK SIZE/1000B
- STD CN+4
- LDM VEMZ
- SHN -3
- STD CN+3
- LDM /EQP/MCMS FORM MINCM/1000
- SHN 14
- LMM /EQP/MCMS+1
- ADN 7
- SHN -3
- STD CN+2
- SHN -14
- STD CN+1
- LDD MZ SET WORD *D7CM+1*
- LPN 7
- SHN 14
- LMD MZ+1
- ADN 7
- SHN -3
- STD AB+2
- STD AB+4
- SHN -14
- STD CM
- LDD MZ
- SHN -3
- ADD CM
- STD AB+1
- STD AB+3
- LDD CM+3 WRITE WORD *D7TY*
- SHN 14
- LMD CM+4
- ADK D7TY
- CWM ECTA,ON
- ADN D7CM-D7TY-1 WRITE WORD *D7CM
- CWD CN
- ADN 1 WRITE WORD *D7CM+1*
- CWD AB
- ADN DSCBL-D7CM-1 SAVE DFT/OS BUFFER FWA
- STD CA+1
- SHN -14
- STD CA
- RJM DML DEFINE *MLST* BUFFER
- RJM DFO DEFINE DFT/OS BUFFER
- LJM ECTX RETURN
- ECTA BSS 0 WORD *D7TY*
- VFD 6/0 RESERVED
- VFD 18/DTEL DATE WORD ADDRESS
- VFD 18/TIML TIME WORD ADDRESS
- VFD 6/1 OS TYPE
- VFD 6/5 *EICB* INTERFACE VERSION
- VFD 6/1 INTERFACE LEVEL
- DML SPACE 4,10
- ** DML - DEFINE *MLST* BUFFER.
- *
- * ENTRY (CA - CA+1) = FWA OF *MLST* BUFFER IF VE DEFINED.
- * (CM+3 - CM+4) = *EICB* POINTER.
- *
- * EXIT (CA - CA+1) ADVANCED.
- *
- * USES CN - CN+4.
- DML SUBR ENTRY/EXIT
- LDN ZERL CLEAR FOR *MLST* POINTER
- CRD CN
- LDC 4000
- STD CN
- LDM VEFL
- ZJN DML1 IF NOS/VE NOT DEFINED
- LDD CA
- SHN 14
- LMD CA+1 *MLST* ADDRESS (BITS 35-17 OF *D7ST*)
- SHN 14
- STD CN+2
- LDD CA+1
- SHN 6
- LMM .MLS+MTBL *MLST* SIZE
- STD CN+3
- LPN 77
- RAD CA+1 ADVANCE PAST *MLST*
- SHN -14
- RAD CA
- DML1 LDD CM+3 WRITE STATUS AND *MLST* POINTER
- SHN 14
- LMD CM+4
- ADN D7ST
- CWD CN
- UJP DMLX RETURN
- DFO SPACE 4,10
- ** DFO - DEFINE *DFT/OS* BUFFER.
- *
- * ENTRY (CA - CA+1) = FWA OF *DFT/OS* BUFFER.
- * (CM+3 - CM+4) = *EICB* POINTER WORD.
- * (DFTA) = *DFT* ALLOCATION DATA.
- *
- * EXIT *DFT/OS* BUFFER INITIALIZED.
- *
- * USES AB - AB+4, CM - CM+1, CN - CN+4, T1 - T6.
- * BUILD *DFT/OS* INTERFACE HANDOFF FOR VERSION 4 AND ABOVE.
- *
- * NOTE - THE *DFT/OS* BUFFER CANNOT START ON THE LAST WORD OF
- * A SECTOR. THIS IS TO ENSURE A NON-ZERO VALUE FOR THE
- * *OFFSET* FIELD OF THE *DFT/OS* BUFFER POINTER WORD IN THE
- * *EICB*. THIS POINTER POINTS TO THE *DFT* CONTROL WORD,
- * WHICH IS THE SECOND WORD OF THE BUFFER.
- DFO10 LDM DFTV DETERMINE LOWEST *DFT* LEVEL
- SBN DIRL-3 CURRENT OS *DFT* LEVEL
- MJN DFO10.1 IF OS IS NOT LOWEST LEVEL
- LDN 0
- DFO10.1 ADN DIRL RESTORE LEVEL NUMBER
- SHN 4
- STD CN+1 SET LEVEL FOR *DFT*
- LDM DFSZ SAVE TOTAL SIZE FROM DESCRIPTOR
- STD AB+4
- STD T3
- LDM DFTA+1 SAVE DEDICATED MODE FLAG
- SHN 0-13
- LMN 1
- STD T6
- ZJN DFO11 IF DEDICATED *DFT*
- LDN 24 SET *C* AND *D* FLAGS IN CONTROL WORD
- DFO11 LMN 10 SET *L* FLAG
- STD CN+4
- AOD CA+1 ENSURE *DFT/OS* BUFFER STARTS ON EVEN WORD
- SCN 1
- STD CA+1
- SHN -14
- RAD CA
- LDD CA CONSTRUCT POINTER TO *DFT/OS* BUFFER
- STD CM
- SHN 14
- LMD CA+1
- STD CM+1
- CWD AB WRITE TOTAL SIZE TO FIRST WORD
- ADN 1 ADVANCE POINTER TO CONTROL WORD
- CWD CN WRITE *DFT* CONTROL WORD
- STD T1 SAVE OFFSET
- SHN -6
- SHN 4
- STD AB+3 R-LOWER
- SHN -14
- STD AB+2 R-UPPER
- LDD T1
- LPN 77
- STD AB OFFSET
- * WRITE THE *PPR* SAVE AREA POINTER AND THE NOS OS REQUEST
- * HEADER POINTER TO THE *DFT/OS* HANDOFF INTERFACE. ALSO
- * WRITE THE NOS REQUEST HEADER WORD.
- LDN 0 CLEAR *DFT* LEVEL FIELD
- STD CN+1
- LDN 2 SET ADDRESS OF POINTER WORD TO WRITE
- RAD CA+1
- SHN -14
- RAD CA
- LDD T6
- ZJN DFO12 IF DEDICATED *DFT*
- LDK DFPSL SIZE OF *PPR* SAVE AREA
- STD T6
- STD CN+4
- DFO12 RJM PWP WRITE *PPR* SAVE AREA POINTER
- LDD T6 SET OFFSET TO NOS REQUEST HEADER
- RAD T3
- SHN -14
- RAD T2
- LDN 1 SET NUMBER OF NOS REQUEST BUFFERS
- STD CN+4
- RJM PWP WRITE NOS REQUEST HEADER POINTER
- LDD T3 SET ADDRESS OF NOS REQUEST HEADER
- ADD CM+1
- STD CA+1
- SHN -14
- ADD T2
- ADD CM
- STD CA
- AOD T3 SET OFFSET TO NOS REQUEST AREA
- SHN -14
- RAD T2
- LDN STIN SET STATUS = *INACTIVE*
- STD CN+4
- LDN 1 INSURE POINTER WRITTEN
- RJM PWP WRITE NOS REQUEST HEADER WORD
- * CALCULATE TOTAL SIZE OF THE *DFT/OS* BUFFER.
- LDM DFSZ GET SIZE FROM DESCRIPTOR
- ADK RQBL+1 ADD NOS REQUEST AREA SIZE
- ADD T6 ADD *PPR* SAVE AREA SIZE
- STD AB+4
- SHN -14
- RAD AB+3
- LDD CM+3 WRITE *DFT/OS* POINTER WITH TOTAL SIZE
- SHN 14
- LMD CM+4
- ADK DSCM+3
- CWD AB
- * COPY THE *PPR* SAVE AREA POINTER AND THE NOS REQUEST
- * HEADER POINTER TO THEIR PROPER POSITIONS. THIS IS REQUIRED
- * FOR *MTR* PRESET AND *1MB*, WHICH NEED THEM PRIOR TO *DFT*
- * BUILDING THE COMPLETE *DFT/OS* BUFFER.
- LDD CM
- SHN 14
- LMD CM+1
- ADN 2
- CRD CN READ *PPR* SAVE AREA POINTER
- ADN 1
- CRD AB READ NOS REQUEST HEADER POINTER
- ADN 3
- CWD CN WRITE *PPR* SAVE AREA POINTER
- ADN 1
- CWD AB WRITE NOS REQUEST HEADER POINTER
- DFO SUBR ENTRY/EXIT
- LDN ZERL CLEAR ASSEMBLY BUFFER
- CRD CN
- CRD AB
- CRD T1
- LDM DFTV
- NJP DFO10 IF NOT *DFT* VERSION 3
- * CONSTRUCT *DFT/OS* BUFFER FOR *DFT* VERSION 3.
- LDD CA
- SHN 14
- LMD CA+1
- STD T1 SAVE OFFSET
- SHN -6
- SHN 4
- STD AB+3 R-LOWER
- SHN -14
- STD AB+2 R-UPPER
- LDD T1
- LPN 77
- STD AB
- LDN DFHL SET NUMBER OF HEADER WORDS
- SHN 14-4
- STD CN
- LDN 3*20 SET *DFT* REVISION LEVEL TO 3
- STD CN+1
- LDM DFTA GET MAINTENANCE REGISTER BUFFER DATA
- STD T1
- SHN -6
- STD T5 SAVE NUMBER OF BUFFERS
- SHN 4
- STD CN+3 SET *NBUF* IN *DFT* CONTROL WORD
- LDD T1
- LPN 77
- STD CN+2 SET *LBUF* IN *DFT* CONTROL WORD
- STD T4
- LDM DFTA+1 CHECK DEDICATED FLAG
- STD T1
- SHN -13
- NJN DFO1 IF DEDICATED DFT
- LDN 24 SET *C* AND *D* FLAGS IN CONTROL WORD
- STD CN+4
- DFO1 LDN 10 SET *L* FLAG
- RAD CN+4
- LDD CA WRITE *DFT* CONTROL WORD
- STD CM
- SHN 14
- LMD CA+1
- STD CM+1
- CWD CN
- AOD CA+1 ADVANCE ADDRESS
- SHN -14
- RAD CA
- LDN ZERL CLEAR ASSEMBLY BUFFER
- CRD CN
- LDD T1
- SHN 0-12
- LPN 1
- ZJN DFO2 IF NOT 990
- LDM .CPU+1 CHECK FOR DUAL CPU CYBER 990
- LPN 2
- ZJN DFO1.1 IF CPU-1 *OFF* OR NOT PRESENT
- LDC -M9DB REDUCE BUFFER FOR SINGLE CPU CYBER 990
- DFO1.1 ADC M9DB*2 SET MODEL DEPENDENT BUFFER SIZE
- DFO2 STD T6
- * WRITE POINTER WORDS.
- LDN SIDL LENGTH OF SECDED ID TABLE
- STD CN+4
- LDN DFHL+MECB HEADER + COUNTER BUFFER SIZE
- ADD T5 M/R BUFFER COUNT +1
- STD T3
- RJM PWP WRITE SECDED ID TABLE POINTER
- LDD T1 LENGTH OF M/R BUFFERS
- LPC 1777
- STD T1
- STD CN+4
- LDN SIDL OFFSET OF M/R BUFFERS
- RAD T3
- RJM PWP WRITE M/R BUFFER POINTER
- LDD T1 OFFSET OF MODEL DEPENDENT BUFFER
- RAD T3
- LDD T6 MODEL DEPENDENT BUFFER SIZE
- ZJN DFO3 IF NOT 990
- STD CN+4
- LDD T3
- DFO3 RJM PWP WRITE MODEL DEPENDENT BUFFER POINTER
- LDN 0
- RJM PWP WRITE NOS/VE BUFFER POINTER
- LDC DFPSL LENGTH OF PP RESIDENT SAVE AREA
- STD CN+4
- STD T7 SAVE LENGTH OF PP RESIDENT SAVE AREA
- LDD T6 OFFSET OF NEXT ELEMENT
- RAD T3
- LDM DFTA+1
- SHN 21-13
- MJN DFO4 IF DEDICATED DFT
- LDD T3
- UJN DFO5 WRITE POINTER
- DFO4 LDN 0
- STD T7 CLEAR LENGTH OF PP RESIDENT SAVE AREA
- DFO5 RJM PWP WRITE PP RESIDENT POINTER
- LDD T7 OFFSET OF NOS REQUEST AREA POINTER
- RAD T3
- LDN 1 NUMBER OF NOS REQUEST BUFFERS
- STD CN+4
- RJM PWP WRITE NOS REQUEST AREA POINTER
- AOD T3
- * CALCULATE TOTAL LENGTH OF DFT/OS BUFFER.
- LDK MECB+SIDL MAINFRAME ELEMENT COUNTERS, SECDED
- ADD T1 M/R BUFFER SIZE
- ADD T6 MODEL DEPENDENT BUFFER SIZE
- ADD T7 PP RESIDENT SAVE AREA
- STD T0 SAVE POINTER OFFSET
- ADD T5 M/R CONTROL WORDS
- ADN DFHL+RQBL+1 CONTROL WORD, POINTERS, NOS REQUEST AREA
- STD AB+4
- LDD CM+3 WRITE DFT/OS POINTER = SIZE
- SHN 14
- LMD CM+4
- ADN DSCM+3
- CWD AB
- * ADD OFFSET FIELD TO BUFFER CONTROL WORDS.
- LDN ZERL
- CRD CN
- DFO6 SOD T5
- ZJN DFO7 IF NO MORE CONTROL WORDS TO PROCESS
- LDD T4
- RAD CN+4
- LDD CA
- SHN 14
- LMD CA+1
- ADN 1 ADVANCE ADDRESS
- CWD CN
- STD CA+1
- SHN -14
- STD CA
- UJN DFO6 PROCESS NEXT ENTRY
- * POST REQUEST TO *DFT* TO UPDATE ERROR THRESHOLDS.
- DFO7 AOD T0 ADVANCE TO NOS REQUEST HEADER
- RAD CA+1
- SHN -14
- RAD CA
- LDM .CPU CHECK CPU CONFIGURATION
- LPN 2
- ZJN DFO8 IF CPU-1 PRESENT
- LDN ZERL CLEAR THRESHOLDS FOR CPU-1
- CRM DFOB,ON
- DFO8 LDN STRY SET STATUS = *READY*
- STD CN+4
- RJM PWP WRITE NOS REQUEST HEADER
- LDN DFOAL/5 SET WORD COUNT
- STD CN
- LDD CA WRITE THRESHOLD REQUEST TO BUFFER
- SHN 14
- LMD CA+1
- CWM DFOA,CN
- LJM DFOX RETURN
- * *DFT* THRESHOLD REQUEST INFORMATION.
- DFOA VFD 4/,8/RQTH,8/0,8/7,8/0,8/0,8/THCI,8/THUE IOU
- VFD 4/,8/RQTH,8/0,8/7,8/1,8/0,8/THCM,8/THUE MEMORY
- VFD 4/,8/RQTH,8/0,8/7,8/2,8/0,8/THCP,8/THUE CPU-0
- DFOB VFD 4/,8/RQTH,8/0,8/7,8/2,8/1,8/THCP,8/THUE CPU-1
- VFD 60/0 TERMINATOR
- DFOAL EQU *-DFOA LENGTH OF THRESHOLD DATA (PP WORDS)
- PWP SPACE 4,10
- ** PWP - POSITION AND WRITE POINTER.
- *
- * ENTRY (A) = 0 IF A ZERO POINTER WORD IS TO BE WRITTEN.
- * (T2 - T3) = OFFSET FROM FWA OF THE DFT/OS BUFFER OF
- * THE BUFFER FOR WHICH THE POINTER IS TO
- * BE WRITTEN.
- * (CN+4) = LENGTH OF BUFFER FOR WHICH POINTER IS TO
- * BE WRIITEN.
- * (CM - CM+1) = FWA OF DFT/OS BUFFER.
- * (CA - CA+1) = ADDRESS TO WRITE.
- *
- * EXIT (CA - CA+1) ADVANCED.
- *
- * USES CN - CN+4.
- PWP1 LDN ZERL CLEAR POINTER
- CRD CN
- PWP2 LDD CA ADVANCE POINTER WORD
- SHN 14
- LMD CA+1
- CWD CN WRITE POINTER WORD
- AOD CA+1 ADVANCE ADDRESS
- SHN -14
- RAD CA
- PWP SUBR ENTRY/EXIT
- ZJN PWP1 IF ZERO WORD TO BE WRITTEN
- LDD CM
- ADD T2
- SHN 14
- LMD CM+1
- ADD T3 ADDRESS OF POINTER WORD
- STD CN SAVE OFFSET
- SHN -6
- SHN 4
- STD CN+3 SAVE R-LOWER
- SHN -14
- STD CN+2
- LDD CN OFFSET
- LPN 77
- STD CN
- UJN PWP2 WRITE AND ADVANCE POINTER WORD
- TITLE BUILD SAB TABLE.
- BVS SPACE 4,10
- ** BVS - BUILD VARIABLE SIZE SYSTEM ATTRIBUTE BLOCK.
- *
- * USES KB, CM - CM+4, CN - CN+4, T1 - T7.
- *
- * CALLS APM, CDS, CMN, GPD, IAF, PRS, SDA.
- *
- * MACROS CHKAPE.
- BVS SUBR ENTRY/EXIT
- LDM .APP MODIFY *APP* CHANNEL INSTRUCTIONS
- RJM PRS
- LDK TSABL LENGTH OF SAB BLOCK
- STD T6
- BVS1 LDN 0 CLEAR SAB BLOCK
- STM TSAB-1,T6
- SOD T6
- NJN BVS1 IF NOT FINISHED
- LDK TEABL
- STD T7
- BVS2 LDN 0 CLEAR EABL BLOCK
- STM TEAB-1,T7
- SOD T7
- NJN BVS2 IF NOT FINISHED
- LDK SABL
- CRD CN
- LDD CN+2 SET ELEMENT DESCRIPTOR BLOCK LENGTH
- STM TEAB+5*MFEI+3
- * LDN 0 INITIALIZE INDICES
- * STD T6 *TSAB* INDEX
- * STD T7 *EABL* INDEX
- * BUILD MAINFRAME DESCRIPTOR.
- LDC MEBF+2 FETCH EI SPECIFICATION
- CRM DBUF+5,ON
- LDN MFDS REQUEST MAINFRAME DESCRIPTOR
- RJM IAF
- STM DBUF+4
- LDD HO SET HARDWARE OPTIONS
- STM DBUF+OPTN
- LDN MFEI*5 SET MAINFRAME DESCRIPTOR ADDRESS
- RJM SDA
- LDN MFDSL COPY DESCRIPTOR TO SAB
- RJM CDS
- LDM TSAB+HDID
- LPN 77
- LMC MFDWL*100B APPEND DESCRIPTOR LENGTH TO HEADER
- STM TSAB+HDID
- BVS3 RJM CMN CALCULATE MODEL NUMBERS
- * PROCESSOR DESCRIPTOR(S).
- LDN CPEI*5 SET CPU 0 DESCRIPTOR ADDRESS
- RJM SDA
- LDN 0 GENERATE CPU 0 DESCRIPTOR
- STD T5
- RJM GPD
- LDM .CPU CHECK CPU STATUS
- LPN 2
- NJN BVS4 IF CPU 1 NOT PRESENT
- LCN 5*CPEI+2 SET CPU 1 DESCRIPTOR ADDRESS
- RJM SDA
- AOD T5 GENERATE CPU 1 DESCRIPTOR
- RJM GPD
- * CENTRAL MEMORY DESCRIPTOR.
- BVS4 LDN CMDS REQUEST CM DESCRIPTOR
- RJM IAF
- LDN CMEI*5 SET CM DESCRIPTOR ADDRESS
- RJM SDA
- LDM DBUF+MCTC SET CONNECT CODE
- STM TEAB+5*CMEI+3
- LDM DBUF+HDID
- LPN 77
- LMC CMDWL*100B APPEND DESCRIPTOR LENGTH TO HEADER
- STM DBUF+HDID
- LDD T6
- ADC TSAB+2*5-2 LOCATION OF *CTI CM DIRECTORY* POINTER
- STD KB
- LDM C8XX
- ZJN BVS5 IF C180 MAINFRAME
- LDD CM+2
- SHN 4 SET MEMORY MODEL NUMBER
- STM DBUF+HDMN
- BVS5 LDN CMDSL COPY DESCRIPTOR TO SAB
- RJM CDS
- * IOU DESCRIPTOR.
- LDN IUDS REQUEST IOU DESCRIPTOR
- RJM IAF
- LDM .PPL GET CTI/SET PP00 - PP11 OFF DATA
- STM DBUF+LPP0 UPDATE *SAB* TABLE
- LDM .PPL+1 GET CTI/SET PP20 - PP31 OFF DATA
- STM DBUF+LPP1 UPDATE *SAB* TABLE
- LDM DBUF+HDID
- LPN 77
- ADC IUDWL*100B APPEND DESCRIPTOR LENGTH TO HEADER
- STM DBUF+HDID
- LDM DBUF+MCTC SET CONNECT CODE
- STM TEAB+5*IOEI+3
- LDN IOEI*5 SET IOU DESCRIPTOR ADDRESS
- RJM SDA
- LDM C8XX
- ZJN BVS6 IF C180 MAINFRAME
- LDD CM+3
- SHN 4 SET I/O SUBSYSTEM MODEL NUMBER
- STM DBUF+HDMN
- BVS6 LDN IUDSL COPY DESCRIPTOR TO SAB
- RJM CDS
- LDM C8XX
- NJN BVS7 IF NOT CYBER 800 TYPE MAINFRAME
- * CONSOLE DESCRIPTOR.
- LDN CIDS REQUEST CONSOLE DESCRIPTOR
- RJM IAF
- LDM DBUF+HDID
- LPN 77
- LMD HN APPEND DESCRIPTOR LENGTH TO HEADER
- STM DBUF+HDID
- LCN 5*DCEI+2 SET DISPLAY CONSOLE DESCRIPTOR ADDRESS
- RJM SDA
- LDN CIDSL COPY DESCRIPTOR TO SAB
- RJM CDS
- BVS7 LDD HO
- SHN 21-11
- PJN BVS8 IF NOT CYBER 176
- * FLPP DESCRIPTOR.
- LDN FLPS REQUEST FLPP DESCRIPTOR
- RJM IAF
- LDM DBUF+HDID
- LPN 77
- LMD HN APPEND DESCRIPTOR LENGTH TO HEADER
- STM DBUF+HDID
- LDN FLPSL COPY DESCRIPTOR TO SAB
- RJM CDS
- * SET ISD SUBSYSTEM STATUS.
- BVS8 LDN CFGL
- CRD CM
- LDM ISPF
- SHN 21-13
- MJN BVS9 IF NOT CYBER 810/815/825/830
- ZJN BVS9 IF ISD SUBSYSTEM NOT PRESENT
- LDD TH SET ISD SUBSYSTEM PRESENT
- RAD CM+3
- BVS9 LDN CFGL
- CWD CM
- * EXTENDED MEMORY DESCRIPTOR.
- LDD EN
- NJN BVS10 IF CPU ACCESS EQUIPMENT DEFINED
- LDM UEMZ
- ADM UEMZ+1
- ZJP BVS13 IF NO USER EXTENDED MEMORY DEFINED
- LDC 440 SET FLAGS / MEMORY TYPE / PATH TYPE
- UJN BVS12 COMPLETE DESCRIPTOR
- BVS10 SFA EST
- ADK EQDE
- CRD CM
- LDD CM+4 GET EM TYPE PARAMETERS
- SHN 3
- ADN DILL
- CRD CM
- LDD CM+3 SET MAINTENANCE MODE FLAG
- SHN 0-11
- LPN 1
- LMN 1
- SHN 10-0
- RAM BVSA
- LDD CM+3 SET EXTENDED ADDRESSING FLAG
- LPN 70
- LMN 30
- NJN BVS11 IF NOT EXTENDED ADDRESSING
- LDD HN
- RAM BVSA
- BVS11 LDD CM+3 SET PP PATH TYPE AND MEMORY TYPE
- LPN 77
- LMC 200
- BVSA EQU *-1
- BVS12 STM DBUF+1
- LDN ECRL
- CRD CM
- LDM UESC PRESET SHIFT INSTRUCTIONS
- RAM BVSB
- LDM EMSC
- RAM BVSC
- LDD CM+1 SET USER XM / 1000
- BVSB SHN 14
- * SHN 14+UESC
- STM DBUF+2
- SHN -6
- SCN 7
- STM DBUF+3
- LDM EMFL SET TOTAL XM / 1000
- BVSC SHN 0
- * SHN EMSC
- STM DBUF+4
- SHN -14
- RAM DBUF+3
- LDC 1S6+77 SET LENGTH AND ID
- STM DBUF+HDID
- LCN 5*CMEI+2 SET EXTENDED MEMORY DESCRIPTOR ADDRESS
- RJM SDA
- LDN 5 COPY DESCRIPTOR TO SAB
- RJM CDS
- * COPY *EABL* INTO PLACE.
- BVS13 LDK EABLL LENGTH OF TABLE
- STD T3
- LDK EABL CM ADDRESS
- CWM TEAB,T3
- * COPY SAB INTO PLACE.
- LDD CN
- SHN 14
- LMD CN+1
- CWM TSAB,CN+2
- * SUSPEND ALTERNATE PP.
- LDK RPCS*10000+DSCL REMOVE PP FROM CHANNEL
- RJM APM
- CHKAPE CHECK ALTERNATE PP ERROR
- * UPDATE *EI* COMMUNICATION BLOCK.
- LDC EIBP FETCH *EI* BLOCK POINTER
- CRD CN
- ADN SCDP-EIBP GET FWA OF *SCDPT*
- CRD T4
- LDN 0
- STD CM+4
- CRD T1
- LDM 4,KB GET OFFSET OF *CTI CM DIRECTORY*
- STD CM
- LDM 3,KB GET R-LOWER
- SHN 4
- STD CM+3
- SHN -14
- SHN 12
- ADM 2,KB ADD R-UPPER
- SHN 10
- STD CM+2
- SHN -14
- STD CM+1
- LDD CN+3
- SHN 14
- LMD CN+4
- ZJP BVSX IF NOT DUAL STATE MAINFRAME
- ADN D7RS+2
- CWD T3
- ADN DSCM+2-D7RS-2 WRITE *DSCM+2*
- CWD CM
- LDN 0 SET UP WORD *D7RS*
- CRD CM
- LDM MDDP
- LPN 10
- SHN 13-3 SET *MDD* ACTIVE STATUS
- STD CM+1
- BVS14 LDM .DCS
- ZJN BVS15 IF NOT 721 CONSOLE
- LDC 1S10 SET NOS *SCD* ACTIVE
- RAD CM+1
- BVS15 LDC PSAL SET PP RESIDENT SAVE LENGTH
- STD CM+2
- LDM SPSA SET SAVE AREA FWA
- STD CM+3
- LDM SPSA+1
- STD CM+4
- LDD CN+3 WRITE *D7RS*
- SHN 14
- LMD CN+4
- ADN D7RS
- CWD CM
- BVS16 LJM BVSX RETURN
- CDS SPACE 4,10
- ** CDS - COPY DATA TO SAB BLOCK.
- *
- * ENTRY (A) = LENGTH OF DATA.
- * (T6) = CURRENT DATA BYTE INDEX.
- * (T7) = CURRENT DATA WORD INDEX.
- *
- * EXIT (T6) = (T6) + (A) ON ENTRY, ROUNDED TO WORD BOUNDARY.
- * (T7) = (T6)/5.
- *
- * USES T3, T4.
- CDS SUBR ENTRY/EXIT
- STD T4 SAVE ENTRY
- LDN 0 INITIALIZE INDEX
- STD T3
- CDS1 LDM DBUF,T3 MOVE DATA
- STM TSAB,T6
- AOD T6 INCREMENT POINTER
- AOD T3 INCREMENT INDEX
- SOD T4 DECREMENT COUNTER
- NJN CDS1 IF MORE DATA TO MOVE
- CDS2 AOD T7 INCREMENT WORD INDEX
- LCN 5
- RAD T3
- ZJN CDSX IF ALL DATA ACCOUNTED FOR
- PJN CDS2 IF MORE DATA
- LMC -0 ACCOUNT FOR A PARTIAL LAST WORD
- RAD T6
- UJN CDSX RETURN
- CMN SPACE 4,10
- ** CMN - CALCULATE MODEL NUMBERS (NON C180 MAINFRAMES).
- *
- * ENTRY (HO) = HARDWARE OPTIONS.
- *
- * EXIT (CM) = CPU 0 MODEL NUMBER.
- * (CM+1) = CPU 1 MODEL NUMBER.
- * (CM+2) = MEMORY MODEL NUMBER.
- * (CM+3) = I/O SUBSYSTEM MODEL NUMBER.
- *
- * USES T1, T2.
- CMN13 STD T1 SAVE MODEL INDICES
- SHN -10
- STD T2
- LDM PMVT,T2 SET CPU 0 MODEL NUMBER
- STD CM
- LDM PMVT,CM+1 SET CPU 1 MODEL NUMBER
- STD CM+1
- LDD T1 EXTRACT MEMORY TYPE INDEX
- SHN -4
- LPN 17
- STD T2
- LDM MMVT,T2 SET MEMORY MODEL NUMBER
- STD CM+2
- LDD T1 EXTRACT I/O SUBSYSTEM TYPE INDEX
- LPN 17
- STD T2
- LDM IMVT,T2 SET I/O SUBSYSTEM MODEL NUMBER
- STD CM+3
- CMN SUBR ENTRY/EXIT
- LDM C8XX
- ZJN CMNX IF C180 MAINFRAME
- CRD CM
- LDD HO CHECK HARDWARE OPTIONS
- SHN 21-11
- PJN CMN4 IF NOT C176
- * PROCESS CYBER 176 SERIES MAINFRAME.
- LDC PMVF*400+MMVE*20+IMVD
- JMP CMN13 SET MODEL INDICES
- * PROCESS CYBER 170-865/875 SERIES MAINFRAME.
- CMN1 SHN 13-1
- MJN CMN2 IF SECOND CPU NOT PRESENT
- LDN PMVI
- STD CM+1
- CMN2 LDD HO EXTRACT 875 TYPE FLAG
- LPN 4
- SHN 4-2
- ERRNZ MMVH+1-MMVI CODE DEPENDS ON VALUE
- ADC PMVI*400+MMVH*20+IMVF
- JMP CMN13 SET MODEL INDICES
- * PROCESS CYBER 700 SERIES MAINFRAME.
- CMN4 SHN 11-10
- MJN CMN7 IF NOT MODEL D PPS
- SHN 11+21-13
- PJN CMN1 IF C170-865/875
- SHN 13-1
- MJN CMN5 IF SECOND CPU NOT PRESENT
- LDN PMVG
- STD CM+1
- CMN5 LDD HO CHECK HARDWARE OPTIONS
- LPN 20
- ZJN CMN6 IF CPU 0 HAS STACK
- LDC PMVG*400+MMVF*20-PMVH*400-MMVG*20
- CMN6 ADC PMVH*400+MMVG*20+IMVE
- JMP CMN13 SET MODEL INDICES
- CMN7 SHN 10-6
- MJN CMN9 IF S/C REGISTER NOT PRESENT
- * PROCESS CYBER 170 SERIES MAINFRAME.
- SHN 6-1
- MJN CMN8 IF SECOND CPU NOT PRESENT
- LDN PMVD
- STD CM+1
- CMN8 LDD HO EXTRACT STACK CPU STATUS
- LPN 20
- LMN 20
- SHN 10-4
- ERRNZ PMVD+1-PMVE CODE DEPENDS ON VALUE
- ADC PMVD*400+MMVE*20+IMVD
- JMP CMN13 SET MODEL INDICES
- CMN9 SHN 7+21-7
- MJN CMN11 IF I/L REGISTER NOT PRESENT
- * PROCESS CYBER 70 SERIES MAINFRAME.
- SHN 7-1
- MJN CMN10 IF SECOND CPU NOT PRESENT
- LDN PMVA
- STD CM+1
- CMN10 LDD HO EXTRACT STACK CPU STATUS
- LPN 20
- LMN 20
- SHN 10-4
- ERRNZ PMVA+1-PMVB CODE DEPENDS ON VALUE
- ADC PMVA*400+MMVC*20+IMVC
- JMP CMN13 SET MODEL INDICES
- * PROCESS 6000 SERIES MAINFRAME.
- CMN11 SHN 7-1
- MJN CMN12 IF SECOND CPU NOT PRESENT
- LDN PMVA
- STD CM+1
- CMN12 LDD HO EXTRACT STACK CPU STATUS
- LPN 20
- LMN 20
- SHN 10-4
- ERRNZ PMVA+1-PMVB CODE DEPENDS ON VALUE
- ADC PMVA*400+MMVA*20+IMVA
- JMP CMN13 SET MODEL INDICES
- PMVT BSS 0 PROCESSOR MODEL TABLE
- LOC 0
- CON 0 UNDEFINED
- PMVA CON 2 6200, 6400, C71, C72, C73
- PMVB CON 3 6600, C74
- PMVD CON 22D C171ABC, C172ABC, C173ABC, C174ABC
- PMVE CON 25D C175ABC
- PMVF CON 42D C176AB
- PMVG CON 52D C720, C730
- PMVH CON 54D C740, C750, C760
- PMVI CON 55D C865, C875
- LOC *O
- MMVT BSS 0 MEMORY MODEL TABLE
- LOC 0
- CON 0 UNDEFINED
- MMVA CON 102D 6200, 6400, 6600
- MMVC CON 113D C71, C72, C73, C74
- MMVE CON 123D C171ABC - C175ABC, C176AB
- MMVF CON 152D C720, C730
- MMVG CON 154D C740, C750, C760
- MMVH CON 155D C865
- MMVI CON 156D C875
- LOC *O
- IMVT BSS 0 I/O SUBSYSTEM MODEL TABLE
- LOC 0
- CON 0 UNDEFINED
- IMVA CON 202D 6200, 6400, 6600
- IMVC CON 213D C71, C72, C73, C74
- IMVD CON 223D C171ABC - C175ABC, C176AB
- IMVE CON 252D C720 - C760
- IMVF CON 255D C865, C875
- LOC *O
- GPD SPACE 4,10
- ** GPD - GENERATE PROCESSOR DESCRIPTOR.
- *
- * ENTRY (A) = (T5) = PROCESSOR NUMBER.
- * (T6) = TSAB INDEX.
- * (T7) = SAB INDEX.
- *
- * EXIT (T6) = INDEX ADVANCED.
- * (T7) = INDEX ADVANCED.
- *
- * CALLS CDS, IAF.
- GPD SUBR ENTRY/EXIT
- STM MBUF
- LDN CPDS REQUEST CPU DESCRIPTOR
- RJM IAF
- LDM DBUF+5*1+4 MOVE MICROCODE LOADED FLAG
- STM DBUF+5*3+4
- LDN 0 CLEAR UNUSED BYTES
- STM DBUF+5*1+4
- STM DBUF+5*2+4
- LDM DBUF+MCTC SET CONNECT CODE
- STM TEAB+5*CPEI+3,T5
- LDM DBUF+HDID
- LPN 77
- LMC CPDWL*100B APPEND DESCRIPTOR LENGTH TO HEADER
- STM DBUF+HDID
- LDM C8XX
- ZJN GPD1 IF C180 MAINFRAME
- LDM CM,T5
- SHN 4 SET CPU MODEL NUMBER
- STM DBUF+HDMN
- GPD1 LDN 4*5 COPY DESCRIPTOR TO SAB
- RJM CDS
- UJP GPDX RETURN
- IAF SPACE 4,10
- ** IAF - ISSUE FUNCTION TO ALTERNATE PP.
- *
- * ENTRY (A) = FUNCTION CODE.
- *
- * EXIT (A) = 0.
- *
- * ERROR TO *DSE* IF ALTERNATE PP ERROR.
- *
- * CALLS API.
- IAF SUBR ENTRY/EXIT
- SHN 14
- LMC MBUF APPEND BUFFER ADDRESS TO REQUEST
- RJM API
- ZJN IAFX IF NO ERROR
- JMP DSE DISPLAY ERROR AND HANG
- SDA SPACE 4,10
- ** SDA - SET DESCRIPTOR ADDRESS.
- *
- * ENTRY (A) = INDEX INTO TEAB.
- * IF (A) .GE. 0, ADDRESS ASSEMBLED INTO (A) + 1.
- * IF (A) .LT. 0, ADDRESS ASSEMBLED INTO (A) - 1.
- * (T7) = CURRENT SAB INDEX.
- * (CN - CN+1) = FWA OF ELEMENT DESCRIPTOR BLOCK.
- *
- * USES T3.
- SDA1 LMC -0 COMPLEMENT INDEX
- STD T3 SAVE ENTRY
- LDD CN
- SHN 14
- LMD CN+1
- ADD T7 ADD CURRENT SAB INDEX
- STM TEAB,T3 SET BITS 0-11
- SHN -14
- RAM TEAB-1,T3 SET BITS 12-17
- SDA SUBR ENTRY/EXIT
- MJN SDA1 IF ENTRY .LT. 0
- STD T3 SAVE ENTRY
- LDD CN
- SHN 14
- LMD CN+1
- ADD T7 ADD CURRENT SAB INDEX
- SHN 14
- STM TEAB,T3 SET BITS 6-17
- SHN 6-14
- SCN 77
- RAM TEAB+1,T3 SET BITS 0-5
- UJN SDAX RETURN
- SPACE 4,10
- ** COMMON DECKS.
- *CALL COMPCHM
- QUAL
- PRS$ SET 0 SELECT COMMON DECK PRESET CODE
- QUAL *
- LIST X
- *CALL COMPAPI
- LIST *
- SPACE 4,10
- ** BUFFER DEFINITIONS.
- TSAB EQU .OVL SAB BLOCK
- TSABL EQU SABML*5 BLOCK LENGTH
- TEAB EQU TSAB+TSABL *EABL* BLOCK
- TEABL EQU 5*MFEI+5 BLOCK LENGTH
- ERRPL TEAB+TEABL-MBUF BUFFER OVERLAP
- SPACE 4,10
- RSTC RESTORE I/O INSTRUCTIONS
- TTL SET/IPR - PROCESS INSTALLATION PARAMETERS.
- TITLE
- IDENT IPR,OVL
- QUAL IPR
- ORG OVL
- *COMMENT SET - INSTALLATION PARAMETERS.
- COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
- MACROS SPACE 4,10
- ** MACRO DEFINITIONS.
- TBLM SPACE 4,10
- ** TBLM = GENERATE TABLE OF MASS STORAGE DEVICE TYPES.
- *
- * TBLM EQ
- * EQ = MASS STORAGE EQUIPMENT MNEMONIC.
- TBLM MACRO EQ
- CON 2R_EQ
- ENDM
- SPACE 4,10
- ** ENTRY POINTS.
- CON TSYN-1 ADDRESS OF SYNTAX TABLE
- CON TSYNA ADDRESS OF END OF SYNTAX TABLE
- SPACE 4,10
- * INITIALIZE SUBSYSTEM STATUS VALUES IN *SSSL* TO *DISABLED*.
- SSSL.0 SET -0
- SSSL.1 SET -0
- SSSL.2 SET -0
- SSSL.3 SET -0
- SSSL.4 SET -0
- SPACE 4,10
- * COMMON DECKS.
- *CALL COMSMLS
- SUB$ EQU 1 ASSEMBLE *SUBSYST* MACRO
- *CALL COMSSSD
- IPR SPACE 4
- ** IPR - PROCESS INSTALLATION PARAMETERS.
- IPR SUBR ENTRY/EXIT
- RJM PMP PROCESS MICROCODE/EI PARAMTERS
- RJM ESS COPY SUBSYSTEM TABLE TO CMR
- LDN IPPL STORE INSTALLATION PAGE PARAMETERS
- CWM .IPPL,ON
- LDN SSML STORE SYSTEM SECURITY MODE
- CWM .SSML,ON
- LDN IPRL STORE INSTALLATION PARAMETERS
- CWM .IPRL,ON
- LDM VEFL STORE *VE=* FLAG
- RAM .SSTL+3
- LDM .SSTL+2 ISOLATE *TRACE* STATUS
- LPN 40
- NJN IPR1 IF TRACE DISABLED
- LDM .SSTL+2 UPDATE *PROBE* STATUS
- LPC 7677
- STM .SSTL+2
- IPR1 LDN SSTL STORE SYSTEM STATUS FLAGS
- CWM .SSTL,ON
- LDN SSSL STORE SUBSYSTEM STATUS FLAGS
- CWM .SSSL,ON
- LDN MSCL STORE MONITOR SCAN VALUES
- CWM .MSCL,ON
- LDN JSCL STORE JOB SCHEDULER CONTROL
- CWM .JSCL,ON
- ADK INWL-JSCL-1 STORE SCHEDULER INTERLOCK
- CWM .INWL,ON
- ADK PFNL-INWL-1 STORE PERMANENT FILE PARAMETERS
- CWM .PFNL,ON
- UJP IPRX RETURN
- TSYN SPACE 4
- ** TSYN - SYNTAX TABLE.
- TSYN BSS 0
- CON DIS
- CON ENA
- CON CLA
- CON CML
- CON CPM
- CON CPTT
- CON CSM
- CON DEBUG
- CON DELAY
- CON DFPT
- CON DSD
- CON EIN
- CON KEYPM
- CON MICRO
- CON UNL+1 LOCK
- CON NIF
- CON OQS
- CON PCL
- CON QUEUE
- CON SCU
- CON SSC
- CON SERVICE
- CON SPC
- CON SPD
- CON SPL
- CON SPW
- CON SSR
- CON TCVM
- CON TDEN
- CON TDTY
- CON UNL UNLOCK
- CON VEB
- TSYNA CON 0
- CON 0 END OF TABLE
- TCOM SPACE 4,10
- ** TCOM - TABLE OF ENABLE/DISABLE COMMANDS.
- TCOM BSS 0
- DUP MXSI-LSSI,1
- CON NOP
- ORG TCOM
- TCOM INDEX
- LIST D
- .SUB HERE
- LIST *
- INDEX MXSI-LSSI
- * ENABLE/DISABLE NON-SUBSYSTEM ATTRIBUTES.
- CON APS
- CON ARS
- CON CPS
- CON DDP
- CON DKV
- CON ENG
- CON ESP
- CON FMP
- CON FOF
- CON HFI
- CON LOG
- CON MCL
- CON MMA
- CON MMS
- CON MSV
- CON PAM
- CON PFV
- CON PRB
- CON PRM
- CON REM
- CON RRM
- CON SCP
- CON SCRSIM
- CON SPI
- CON SUBCP
- CON SUC
- CON SYD
- CON TMS
- CON TPS
- CON TRA
- CON UEC
- CON 0 END OF TABLE
- SPACE 4,10
- **** SYSTEM STATUS AND CONTROL WORDS.
- .IPPL BSS 0 INSTALLATION PAGE PARAMETER WORD
- VFD 12//BIO/PL6L LINES CHARGED PER PRINT PAGE AT 6 LPI
- VFD 12//BIO/PL8L LINES CHARGED PER PRINT PAGE AT 8 LPI
- VFD 4/0 RESERVED FOR CDC
- VFD 4//BIO/PDSD SYSTEM PRINT DENSITY
- VFD 8//BIO/PSSD SYSTEM PAGE LENGTH
- VFD 8//BIO/PWSD SYSTEM PRINT WIDTH
- VFD 12/0 RESERVED
- SPACE 4,10
- .IPRL BSS 0 INSTALLATION PARAMETER WORD
- VFD 6/0 INDEX FOR CPU 1 MULTIPLIER
- VFD 6/0 INDEX FOR CPU 0 MULTIPLIER
- VFD 12/0 SECONDARY ROLLOUT SECTOR THRESHOLD
- VFD 1/0 KEYPUNCH MODE (O26)
- VFD 10/0 RESERVED
- VFD 1/1 CHARACTER SET (64)
- VFD 12/2 TAPE CONVERSION MODE (ASCII/USASI)
- VFD 6/4 NINE TRACK TAPE DENSITY (1600 CPI)
- VFD 2/2 DEFAULT TAPE DEVICE TYPE (9 TRACK)
- VFD 4/3 SEVEN TRACK TAPE DENSITY (800 BPI)
- .SSTL BSS 0 SYSTEM STATUS WORD
- VFD 1/0 AUTORESTART (ENABLED)
- VFD 1/1 MEMORY CLEARING (DISABLED)
- VFD 1/0 SECURITY LOCK STATUS (LOCKED)
- VFD 1/0 CONSOLE LOCK STATUS (LOCKED)
- VFD 1/1 MASTER MSS (DISABLED)
- VFD 1/1 CARTRIDGE PF STAGING (DISABLED)
- VFD 1/1 USER EXTENDED MEMORY (DISABLED)
- VFD 1/1 PF VALIDATION (DISABLED)
- VFD 2/3 MS VALIDATION (DISABLED)
- VFD 1/1 MSE MASTER MODE (DISABLED)
- VFD 1/1 SPINDOWN (DISABLED)
- VFD 1/0 RESERVED
- VFD 1/0 FORCED FORMATTING (ENABLED)
- VFD 1/1 ACS TAPE PF STAGING (DISABLED)
- VFD 1/1 HARDWARE FAULT INJECTION (DISABLED)
- VFD 1/1 TAPE PF STAGING (DISABLED)
- VFD 1/0 REMOVABLE PACKS (ENABLED)
- VFD 1/0 DISK VALIDATION (ENABLED)
- VFD 1/1 SECONDARY USER COMMANDS (DISABLED)
- VFD 1/1 SCP FACILITY (DISABLED)
- VFD 3/0 RESERVED
- VFD 1/1 SUB-CONTROL POINTS (DISABLED)
- VFD 4/0 RESERVED
- VFD 1/1 PROBE (DISABLED)
- VFD 1/1 TRACE (DISABLED)
- VFD 4/0 RESERVED
- VFD 1/1 TMS (DISABLED)
- VFD 1/1 VIRTUAL ENVIRONMENT (DISABLED)
- VFD 1/0 FLEXIBLE MEMORY PARTITIONS (ENABLED)
- VFD 1/1 DDP ROLLOUT PATH (DISABLED)
- VFD 1/1 RESIDENT RDF (DISABLED)
- VFD 1/1 PRIVILEGED RDF (DISABLED)
- VFD 1/1 PRIVILEGED ANALYST MODE (DISABLED)
- VFD 1/1 EXTENDED STACK PURGING (DISABLED)
- VFD 1/1 LOGGING (DISABLED)
- VFD 1/1 C70 SCR SIMULATION (DISABLED)
- VFD 1/1 ENGINEERING MODE (DISABLED)
- VFD 1/1 SYSTEM DEBUG (DISABLED)
- VFD 1/0 DEBUG SWITCH (OFF)
- VFD 12/0 RESERVED
- SSSL SPACE 4,10
- .SSSL BSS 0 SUBSYSTEM STATUS WORD
- CON SSSL.0
- CON SSSL.1
- CON SSSL.2
- CON SSSL.3
- CON SSSL.4
- SPACE 4,10
- .MSCL BSS 0 MONITOR SCAN CONTROL
- VFD 12/0 RECALL DELAY REDUCTION LIMIT
- VFD 12/30 CPU RECALL DELAY
- VFD 12/1000D PP AUTO RECALL DELAY
- VFD 12/0 RESERVED
- VFD 12/0 MEMORY PAD FOR *RSTM*
- SPACE 4,10
- .JSCL BSS 0 JOB SCHEDULER CONTROL
- VFD 1/1 SCHEDULER ACTIVE FLAG
- VFD 11/0 RESERVED
- VFD 12/2 EJT/QFT SCHEDULING INTERVAL
- VFD 12/1 SCHEDULER CYCLE INTERVAL
- VFD 24/0 SCHEDULER RECALL TIME
- ****
- SPACE 4,10
- .SSCT INDEX
- LIST D
- .SUB2 HERE DEFAULT .SSCT TABLE
- LIST *
- INDEX SSCTL*5
- TITLE SUBROUTINES.
- CSB SPACE 4,10
- ** CSB - CHANGE SYSTEM STATUS BIT.
- *
- * ENTRY (A) BITS 0 - 11 = BIT(S) TO CHANGE.
- * BITS 12 - 17 = BYTE NUMBER.
- * (NC) = SYSTEM CONTROL POINT NUMBER.
- * (T3) = 0 IF SYSTEM ATTRIBUTE ENABLED.
- * (ST) = COMMAND TABLE ADDRESS.
- *
- * EXIT TO *KBR*.
- *
- * USES T5 - T7.
- CSB STD T7 SAVE BITS
- SHN -14
- ADC .SSTL SET BYTE ADDRESS
- STD T6
- LDI KA
- ZJN CSB1 IF END OF COMMAND
- SBN 1RZ+1
- MJP AKL6 IF NOT END OF KEYWORD
- CSB1 LDD ST
- SBK TCOM
- PJN CSB3 IF POSSIBLE SUBSYSTEM COMMAND
- CSB2 LJM CSB7 CHANGE SYSTEM STATUS BIT
- CSB3 SBK MXSI-LSSI
- PJN CSB2 IF NOT SUBSYSTEM COMMAND
- STD T5
- LDK .SSSL-.SSTL ADJUST WORD ADDRESS
- RAD T6
- LDM -1,KA
- LMN 1R.
- ZJN CSB7 IF SYNTAX TERMINATION WITH *.*
- LDI KA
- LMN 1R.
- ZJN CSB7 IF NO OPTIONAL PARAMETER
- LMN 1R,&1R.
- NJN CSB4 IF INVALID SEPARATOR
- AOD KA
- LDI KA CHECK CONTROL POINT VALUE
- LMN 1R-
- NJN CSB5 IF NOT RELATIVE TO SYSTEM CONTROL POINT
- AOD KA
- RJM ASD ASSEMBLE RELATIVE NUMBER
- LDD NC
- SBD AB+4 COMPUTE ACTUAL CONTROL POINT
- STD AB+4
- PJN CSB6 IF VALID CONTROL POINT
- CSB4 JMP ILL PROCESS INCORRECT ENTRY
- CSB5 RJM ASD ASSEMBLE CONTROL POINT NUMBER
- CSB6 SBD NC
- PJN CSB4 IF VALUE TOO LARGE
- LDD AB+4 ENTER CP NUMBER IN SUBSYSTEM TABLE
- STM .SSCT+MXSI-LSSI,T5
- CSB7 LCN 0 SET BIT MASK
- LMD T7
- STM CSBA
- LDD T3
- NJN CSB8 IF NOT *ENABLE* COMMAND
- STD T7
- CSB8 LDI T6 SET/CLEAR STATUS BIT
- LPC *
- CSBA EQU *-1
- LMD T7
- STI T6
- JMP KBR RETURN
- PMP SPACE 4,10
- ** PMP - PROCESS MICROCODE/EI PARAMETERS.
- *
- * EXIT SABB BUFFER UPDATED FOR *CSAB* MACRO, IF
- * CYBER 170-815/825/835/855 MAINFRAME.
- * TO *KBR* IF MICROCODE OR EI MISMATCHES.
- *
- * USES KM, T1 - T5.
- PMP SUBR ENTRY/EXIT
- LDM C8XX
- NJN PMPX IF NOT CYBER 800 TYPE MAINFRAME
- PMPA ADN 1
- MJN PMPX IF VALID MICRO AND EI ENTRIES FOUND
- LDC 0
- PMPB EQU *-1 (FLAGS MICRO/EI ENTRIES)
- LMN 1
- STM PMPB
- ZJN PMPX IF MESSAGE TO BE SUPPRESSED
- LDC 0
- PMPD EQU *-1 (FLAGS PRESENCE OF MICRO OR EI ENTRY)
- ZJN PMP1 IF MICRO OR EI ENTRIES ARE NOT SPECIFIED
- LDC PMPC ISSUE MESSAGE
- STD KM
- LDN 0
- STD DS
- LJM ATD3 RETURN
- PMP1 LDN DSSL
- CRD T1
- LDN 10 SET MICROCODE/EI MISMATCH FLAG
- RAD T1+4
- LDN DSSL
- CWD T1
- UJP PMPX RETURN
- PMPC DATA C*MICROCODE/EI MISMATCH - MAY CAUSE SYSTEM HANG.*
- VMN SPACE 4,10
- ** VMN - VERIFY MICROCODE/EI NAMES.
- *
- * ENTRY (A) = 0 IF MICROCODE ENTRY.
- * = 4 IF EI ENTRY.
- * (T4) = NUMBER OF CHARACTERS TO ASSEMBLE.
- *
- * EXIT TO PROCESSOR IF COMPARISON FOUND.
- * TO *ILL* IF INCORRECT ENTRY.
- * TO *KBR* IF NO MATCH FOUND OR NOT CYBER
- * 170-815/825/835/855 MAINFRAME.
- *
- * USES T1, T2, T3, T5, KA, CN - CN+4.
- *
- * CALLS ASN.
- VMN SUBR ENTRY/EXIT
- STD T5
- LDM C8XX
- NJN VMN2 IF NOT CYBER 800 TYPE MAINFRAME
- LDN 6 SET MAXIMUM NUMBER OF ENTRIES PER LINE
- STM PMPD SET MICRO/EI PRESENT FLAG
- STD T3
- LDC MEBF GET MICROCODE/EI NAMES
- STM PMPB
- CRD CN
- SOD KA
- VMN1 SOD T3
- MJN VMN2 IF NO MORE ENTRIES MAY BE CHECKED
- LDI KA
- LMN 1R.
- NJN VMN3 IF NOT TERMINATOR
- VMN2 LDD AM
- NJN VMN4 IF KEYBOARD ASSEMBLY
- JMP KBR PROCESS KEYBOARD
- VMN3 LDD T4
- RJM ASN ASSEMBLE NAME
- ZJN VMN5 IF VALID ENTRY
- VMN4 JMP ILL PROCESS INCORRECT ENTRY
- VMN5 STD T1 SET LOOP INDICES
- LDD T5
- STD T2
- VMN6 LDM CN,T2 COMPARE VALUES
- LMM CM,T1
- NJN VMN1 IF VALUES DO NOT COMPARE
- AOD T2 INCREMENT POINTERS
- AOD T1
- SHN 1
- LMD T4
- SHN -1
- NJN VMN6 IF COMPARISON NOT COMPLETE
- SOM PMPA
- LJM VMNX RETURN
- TITLE SUBROUTINES.
- TJB SPACE 4,10
- ** TJB - TOGGLE JOB SCHEDULER BITS.
- *
- * ENTRY (A) BITS 0 - 11 = BIT(S) TO TOGGLE.
- * BITS 12 - 17 = BYTE NUMBER.
- *
- * EXIT TO *KBR*.
- *
- * USES T2.
- TJB STD T2 SAVE BITS
- SHN -14 SET BYTE
- ADC .INWL
- UJN TSB1 TOGGLE SCHEDULER BITS
- TSB SPACE 4,10
- ** TSB - TOGGLE SYSTEM STATUS BIT.
- *
- * ENTRY (A) BITS 0 - 11 = BIT(S) TO TOGGLE.
- * BITS 12 - 17 = BYTE NUMBER.
- *
- * EXIT TO *KBR*.
- *
- * USES T1, T2.
- TSB STD T2 SAVE BITS
- SHN -14 SET BYTE NUMBER
- ADC .SSTL
- TSB1 STD T1
- LDI T1 TOGGLE STATUS BITS
- LMD T2 ENTER STATUS
- STI T1
- JMP KBR RETURN
- TITLE SYNTAX PROCESSORS.
- ACCOUNT SPACE 4,10
- *** INSTALLATION PARAMETERS.
- *
- * CERTAIN INSTALLATION PARAMETERS REFER TO THE JOB SERVICE
- * CLASS *SC*. *SC* MAY BE REPLACED BY THE FOLLOWING -
- * SC SERVICE CLASS
- *
- * SY SYSTEM
- * BC BATCH
- * RB REMOTE BATCH
- * TS INTERACTIVE
- * DI DETACHED INTERACTIVE
- * SS SUBSYSTEM
- * MA MAINTENANCE
- * CT COMMUNICATION TASK
- * NS NETWORK
- * I0 INSTALLATION CLASS 0
- * I1 INSTALLATION CLASS 1
- * I2 INSTALLATION CLASS 2
- * I3 INSTALLATION CLASS 3
- DISABLE SPACE 4,10
- *** DISABLE,SA.
- *** DISABLE,SA,CP. (SUBSYSTEMS ONLY)
- * SA = SYSTEM ATTRIBUTE OR FUNCTION.
- * CP = CONTROL POINT NUMBER.
- DIS DATA C*DISABLE,*
- DIS1 LDC TCOM-1 SET COMMAND TABLE ADDRESS
- STD ST
- LDD KA SET KEYBOARD BUFFER ADDRESS
- STD KB
- LJM AKL7 RESUME COMMAND CRACKING
- ENABLE SPACE 4,10
- *** ENABLE,SA.
- *** ENABLE,SA,CP. (SUBSYSTEMS ONLY)
- * SA = SYSTEM ATTRIBUTE OR FUNCTION.
- * CP = CONTROL POINT NUMBER.
- ENA DATA C*ENABLE,*
- LDN 0 SET *ENABLE* COMMAND PROCESSED
- STD T3
- UJN DIS1 CONTINUE COMMAND CRACKING
- SPACE 4,10
- LIST G
- .SUB1 HERE CODE FOR *ENABLE/DISABLE* SUBSYSTEMS
- LIST *
- APS SPACE 4,10
- *** ACS TAPE PF STAGING.
- * ENABLE/DISABLE STAGING OF PERMANENT FILES FROM ACS TAPE.
- * DEFAULT = ACS TAPE PF STAGING DISABLED.
- APS DATA C*ACS TAPE PF STAGING.*
- LDC 11000
- JMP CSB CHANGE STATUS BIT
- ARS SPACE 4,10
- *** AUTORESTART.
- * ENABLE/DISABLE AUTORESTART.
- * DEFAULT = AUTORESTART ENABLED.
- ARS DATA C*AUTORESTART.*
- LDC 4000
- JMP CSB CHANGE STATUS BIT
- CLA SPACE 4,10
- *** CLASS,OT,C1,C2,...,CN.
- *
- * SET SERVICE CLASS VALIDATION MASK FOR SPECIFIED ORIGIN TYPE.
- *
- * OT ORIGIN TYPE. (BC, EI, IA, RB, TX)
- * CI TWO CHARACTER SERVICE CLASS MNEMONIC.
- * *ALL* OR *NUL* ARE ALSO ACCEPTED.
- CLA DATA C*CLASS,*
- LDM 2,KA
- LMN 1R,
- ZJN CLA2 IF VALID SEPARATOR
- CLA1 JMP ILL PROCESS INCORRECT ENTRY
- CLA2 LDC TJOT+2 SEARCH FOR VALID ORIGIN TYPE
- RJM SPT
- SHN -1
- ADN 1
- STD T4
- LDN 0 READ SCT ENTRY
- SFA JCB
- ADD T4
- CRD CN
- LDM 3,KA CHECK FOR *ALL* OR *NUL*
- SHN 6
- LMM 4,KA
- LMC 2RL.
- NJN CLA3 IF NOT *ALL* OR *NUL*
- LDM 1,KA
- SHN 6
- LMM 2,KA
- LMC 2RNU
- ZJP CLA6 IF *NUL* SELECTED
- LMC 2RAL&2RNU
- ZJP CLA7 IF *ALL* SELECTED
- * PROCESS SERVICE CLASS PARAMETERS.
- CLA3 AOD KA SKIP SEPARATOR
- LDC TJSC
- RJM SPT SEARCH FOR VALID SERVICE CLASS
- STD T2 SAVE SERVICE CLASS VALUE
- LDM TSCM,T2 GET SERVICE CLASS VALIDATION BIT
- ZJP CLA1 IF INCORRECT SERVICE CLASS
- STD T3
- LDN CN+5 DETERMINE BYTE NUMBER TO TOGGLE BIT IN
- STD T1
- CLA4 SOD T1
- LCN 12D
- RAD T2
- PJN CLA4 IF NOT CORRECT BYTE
- LDI T1 TOGGLE VALIDATION BIT
- LMD T3
- STI T1
- LDI KA
- LMN 1R,
- ZJN CLA3 IF NOT END OF ENTRY
- LMN 1R.&1R,
- NJP CLA1 IF NOT VALID TERMINATOR
- CLA5 LDN 0 STORE SCT ENTRY
- SFA JCB
- ADD T4
- CWD CN
- JMP KBR RETURN
- CLA6 STD CN+3
- UJN CLA8 CLEAR ALL MASK BITS
- CLA7 LDK /SCD/A2MK SET ALL MASK BITS
- STD CN+3
- LDK /SCD/A1MK
- CLA8 STD CN+4
- UJN CLA5 STORE SCT ENTRY
- CML SPACE 4,10
- *** COMLIB,XXXXXXX,YYYYYYY.
- * COMLIB,XXXXXXX,YYYYYYY,D.
- * WHERE XXXXXXX = USER NAME AND YYYYYYY = FAMILY.
- CML DATA C*COMLIB,*
- LDD RS
- CMLA ZJN CML0 IF LEVEL ZERO DEADSTART
- * ZJN CML1 (AFTER INITIAL CALL)
- JMP KBR RETURN
- CML0 SFA CLT INITIALIZE *COMPGFP*
- ISTORE CMLA,(ZJN CML1) BYPASS *SFA* CALL
- CML1 SOD KA
- LDN 10 SET CHARACTER COUNT
- RJM AUN ASSEMBLE USER NAME
- NJN CML2 IF MORE THAN 7 CHARACTERS
- LDD CM
- ZJN CML2 IF NO USER NAME
- LDI KA
- LMN 1R,
- ZJN CML3 IF *,*
- CML2 JMP ILL PROCESS INCORRECT ENTRY
- CML3 LDN IPRL SAVE USER NAME
- CWD CM
- CRD AB
- LDN 10 SET CHARACTER COUNT
- RJM ASN ASSEMBLE FAMILY
- NJN CML2 IF MORE THAN 7 CHARACTERS
- LDD CM
- ZJN CML2 IF NO FAMILY
- LDI KA
- LMN 1R.
- ZJN CML4 IF ADDING AN ENTRY
- LMN 1R.&1R,
- NJN CML2 IF INCORRECT ENTRY
- AOD KA
- LDI KA
- LMN 1RD
- NJN CML2 IF INCORRECT ENTRY
- AOD KA GET TERMINATING CHARACTER
- LDI KA
- LMN 1R.
- NJN CML2 IF INCORRECT ENTRY
- LDN 1
- CML4 STD T7 SET ADD/DELETE KEY
- LDN 0
- STD CA
- LDK CLTP FETCH COMMON LIBRARIES TABLE POINTER
- CRD T2
- LDD T4
- NJN CML6 IF TABLE DEFINED
- CML5 LDC CMLB
- JMP ILL1 DISPLAY ERROR MESSAGE
- CML6 SBD T5 SET NUMBER OF ENTRIES IN USE
- SBN 1
- ZJN CML8 IF TABLE EMPTY
- STD CA+1
- CML7 AOD CA READ TABLE ENTRY
- SFA CLT
- CRD CN
- LDD CN
- ZJN CML7 IF EMPTY ENTRY
- LDN AB COMPARE WITH USER NAME
- RJM CPN
- ZJN CML10 IF MATCHING USER NAME
- SOD CA+1
- NJN CML7 IF NOT END OF ASSIGNED ENTRIES
- CML8 LDD T7
- NJN CML11 IF DELETING ENTRY
- SOD T5
- MJN CML5 IF TABLE FULL
- LDD T6 SET ORDINAL OF EMPTY SLOT
- STD CA
- SFA CLT FETCH LINK TO NEXT EMPTY SLOT
- CRD CN
- LDD CN+4 SET NEXT AVAILABLE ORDINAL
- STD T6
- CML9 SFA CLT,CA STORE/CLEAR USER NAME
- CWD AB
- ADN CLTF-CLTU STORE/CLEAR FAMILY NAME
- CWD CM
- LDK CLTP UPDATE POINTER WORD
- CWD T2
- JMP KBR RETURN
- CML10 LDD T7
- NJN CML12 IF DELETING ENTRY
- CML11 JMP ILL PROCESS INCORRECT ENTRY
- CML12 SFA CLT,CA FETCH FAMILY NAME FROM TABLE
- ADN CLTF-CLTU
- CRD CN
- LDN CM COMPARE WITH ENTERED VALUE
- RJM CPN
- NJN CML11 IF NO MATCH
- CRD AB
- CRD CM
- CRD CN
- LDD T6 SET UP EMPTY SLOT LINKAGE
- STD AB+4
- ZJN CML13 IF TABLE FULL
- SBD CA
- MJN CML15 IF ENTRY BEYOND NEXT AVAILABLE
- CML13 LDD CA
- STD T6
- CML14 AOD T5
- LJM CML9 CLEAR TABLE ENTRY/UPDATE POINTER
- CML15 LDD AB+4 SAVE LINK ORDINAL
- STD T1
- SFA CLT PICK UP NEXT LINKED ENTRY
- CRD AB
- LDD AB+4
- ZJN CML18 IF LAST ENTRY
- SBD CA
- MJN CML15 IF DELETE BEYOND CURRENT LINK
- CML18 LDD CA LINK TO NEW FREE ENTRY
- STD CN+4
- SFA CLT,T1
- CWD CN
- LDN 0
- STD CN+4
- UJN CML14 UPDATE FREE COUNT
- CMLB DATA C*ENTRY IGNORED--TABLE FULL.*
- CPM SPACE 4,10
- *** CPM,N=X,N=X.
- *
- * USE XX AS INDEX TO DETERMINE CP TIME MULTIPLIER
- * FOR CPU N.
- *
- * N CPU (0 OR 1)
- * X TABLE INDEX (1 - 45)
- CPM DATA C*CPM,*
- SOD KA
- CPM1 AOD KA
- LDC TCPM SEARCH FOR PARAMETER
- RJM SPT
- ZJN CPM2 IF ORDINAL ZERO
- LDC SHNI+6
- STM CPMB
- ADN 6
- UJN CPM3
- CPM2 LDC SHNI
- STM CPMB
- CPM3 STM CPMA
- RJM AOD ASSEMBLE CHARACTERS OF PARAMETER VALUE
- ZJN CPM4 IF ZERO VALUE
- SBN TIPRL
- MJN CPM5 IF VALID INDEX VALUE
- CPM4 JMP ILL PROCESS INCORRECT ENTRY
- CPM5 LDM .IPRL
- CPMA SHN 0
- * SHN 14 IF UPPER HALF OF BYTE (CPU 1)
- SCN 77
- LMD AB+4 INSERT INDEX VALUE
- CPMB SHN 0
- * SHN 6 IF UPPER HALF OF BYTE (CPU 1)
- STM .IPRL
- LDI KA CHECK FOR END OF COMMAND
- LMN 1R,
- NJN CPM6 IF NO MORE ENTRIES
- LJM CPM1
- CPM6 JMP KBR RETURN
- CPS SPACE 4,10
- *** CARTRIDGE PF STAGING.
- * ENABLE/DISABLE STAGING OF *MSS*/*MSE* RESIDENT FILES.
- * DEFAULT = CARTRIGE PF STAGING DISABLED.
- CPS DATA C*CARTRIDGE PF STAGING.*
- LDC 100
- JMP CSB CHANGE STATUS BIT
- CPTT SPACE 4,10
- ** CPTT=NNNN.
- * SET CPU TRANSFER THRESHOLD FOR INDIRECT ACCESS FILES.
- CPTT DATA C*CPTT=*
- RJM AOD ASSEMBLE DIGITS
- LDD AB+3
- NJN CPT1 IF VALUE TOO LARGE
- LDD AB+4
- STM .PFNL+4
- JMP KBR RETURN
- CPT1 JMP ILL PROCESS INCORRECT ENTRY
- CSM SPACE 4,15
- ** CSM=CC.
- * SET SYSTEM CHARACTER SET MODE ACCORDING TO *CC*.
- * CC CHARACTER SET.
- *
- * 63 63 CHARACTER SET.
- * 64 64 CHARACTER SET.
- * DEFAULT = 64 CHARACTER SET.
- CSM DATA C*CSM=*
- LDC TCSM
- RJM SPT
- STD T2
- LDM .IPRL+2
- SCN 1
- LMD T2 NEW CHARACTER SET SETTING
- STM .IPRL+2
- JMP KBR RETURN
- DDP SPACE 4,10
- *** DDP ROLLOUT PATH.
- * ENABLE/DISABLE DDP ROLLOUT PATH.
- * DEFAULT = DDP ROLLOUT PATH DISABLED.
- DDP DATA C*DDP ROLLOUT PATH.*
- LDC 31000
- JMP CSB CHANGE STATUS BIT
- DEBUG SPACE 4
- *** DEBUG.
- * TOGGLE DEBUG SWITCH.
- * DEFAULT = DEBUG SWITCH OFF.
- * THIS ENTRY IS IGNORED ON A SECURE SYSTEM.
- DEBUG DATA C*DEBUG.*
- LDM .SSML
- LPN 7
- ZJN DEB1 IF NOT SECURE SYSTEM
- JMP KBR RETURN
- DEB1 LDC 30001 TOGGLE DEBUG BIT
- JMP TSB TOGGLE SYSTEM STATUS BIT
- DELAY SPACE 4,10
- *** DELAY,T1XXX,T2XXX,...TNXXX.
- * SET SCAN VALUE *TN* = XXX.
- * TN DELAY
- *
- * JQ EJT/QFT SCHEDULING INTERVAL (2**JQ SECONDS)
- * JS JOB SCHEDULER (SECONDS)
- * RL RECALL DELAY REDUCTION LIMIT (MILLISECONDS)
- * CR CPU PROGRAM RECALL (MILLISECONDS)
- * AR PP AUTO RECALL (MILLISECONDS)
- * MP MEMORY PAD FOR *RSTM* (100B WORD BLOCKS).
- DELAY DATA C*DELAY,*
- SOD KA
- DLY1 AOD KA SKIP SEPARATOR
- LDC TDLP
- RJM SPT SEARCH DELAY PARAMETERS
- STD T4
- LDM TDLY,T4 SET CONTROL WORD ADDRESS
- STD T6
- RJM AOD CONVERT DELAY TIME
- LJM DLYA,T4 CHECK FOR VALID DELAY TIME
- DLYA UJN DLY4 JQXX
- UJN DLY2 JSXXXX
- UJN DLY7 RLXX
- UJN DLY2 CRXXXX
- UJN DLY2 ARXXXX
- UJN DLY6 MPXXX
- DLY2 ZJN DLY5 IF INVALID DELAY TIME
- DLY3 LDD AB+4
- STI T6
- LDI KA CHECK SEPARATOR
- LMN 1R.
- NJN DLY1 IF NOT *.*
- JMP KBR
- DLY4 SBN 14+1
- MJN DLY3 IF VALID SCHEDULING INTERVAL
- DLY5 JMP ILL PROCESS INCORRECT ENTRY
- DLY6 SHN -3 VERIFY MEMORY PAD .LE. 777B
- DLY7 SHN -6
- ZJN DLY3 IF VALID RECALL REDUCTION
- JMP ILL PROCESS INCORRECT ENTRY
- TDLY SPACE 4
- ** TDLY - TABLE OF DELAY ENTRY ADDRESSES.
- * ENTRY = 1 WORD.
- * INDEXED BY INDEX OF *TDLP*.
- *
- *T, 12/ ADDR
- * ADDR BYTE ADDRESS IN CONTROL WORD
- TDLY BSS 0
- CON .JSCL+1 *JQ*
- CON .JSCL+2 *JS*
- CON .MSCL *RL*
- CON .MSCL+1 *CR*
- CON .MSCL+2 *AR*
- CON .MSCL+4 *MP*
- DFPT SPACE 4,10
- *** DFPT=DTN.
- * ENTER SYSTEM DEFAULT REMOVABLE PACK TYPE IN *PFNL*.
- * DT = DEVICE TYPE.
- * N = NUMBER OF SPINDLES.
- DFPT DATA C*DFPT=*
- LDC TMDT CHECK DEVICE TYPE
- RJM SPT SEARCH PARAMETER TABLE
- LDI KA GET NUMBER OF SPINDLES
- SBN 1R1
- MJN DFP1 IF NOT DIGIT (1-8)
- SBN 1R9-1R1
- PJN DFP1 IF NOT DIGIT (1-8)
- LDM 1,KA
- LMN 1R.
- ZJN DFP2 IF PROPER TERMINATOR
- DFP1 JMP ILL PROCESS INCORRECT ENTRY
- DFP2 LDD T1 SET DEFAULT PACK TYPE
- STM .PFNL
- LDI KA
- SHN 6
- STD T1
- LDM .PFNL+1
- LPN 77
- LMD T1
- STM .PFNL+1
- JMP KBR RETURN
- DKV SPACE 4,10
- *** DISK VALIDATION.
- * ENABLE/DISABLE DISK VALIDATION.
- * DEFAULT = DISK VALIDATION ENABLED.
- DKV DATA C*DISK VALIDATION.*
- LDC 10040
- JMP CSB CHANGE STATUS BIT
- DSD SPACE 4,15
- *** DSD,X,CCC-CCC
- * ENTER CCC-CCC AS INITIAL KEYBOARD COMMAND IF RECOVERY
- * X IS SELECTED.
- * NOTE: LEVEL 3 RECOVERY PROCESSING IS NOT ALLOWED.
- *
- * MULTIPLE COMMANDS ARE SEPARATED BY EITHER THE CHARACTER FOR
- * DISPLAY CODE 60 (#) OR DISPLAY CODE 63 (%). THESE DELIMITER
- * CHARACTERS MAY DISTORT THE *IPRDECK* DISPLAY IF THEY APPEAR
- * AS THE UPPER SIX BITS IN A BYTE.
- DSD DATA C*DSD,*
- RJM CDR ASSEMBLE DIGITS.
- LMN 1R,
- ZJN DSD1 IF *,*
- DSD0 JMP ILL PROCESS INCORRECT ENTRY
- DSD1 LDD AB+4 CHECK RECOVERY
- LMN 3
- ZJN DSD0 IF LEVEL 3 RECOVERY PROCESSING REQUESTED
- LMN 3
- LMD RM
- NJN DSD4 IF INCORRECT MODE
- AOD KA
- LDN PPCP READ PP COMMUNICATION POINTER
- CRD CM
- LDD CM+4 SET WORD ADDRESS
- ADN 10+2
- STD T1
- DSD2 LDN CM SET BYTE ADDRESS
- STD T2
- DSD3 LDI KA ASSEMBLE BYTE
- SHN 6
- LMM 1,KA
- STI T2
- LDN 2
- RAD KA
- AOD T2
- LMN CM+5
- NJN DSD3 LOOP TO END OF WORD
- LDD T1 STORE WORD
- CWD CM
- LDD CM+4
- ZJN DSD4 IF END OF COMMAND
- AOD T1 ADVANCE WORD
- LPN 7
- NJN DSD2 LOOP
- DSD4 JMP KBR RETURN
- EIN SPACE 4,10
- *** EI=NN,NN,...,NN.
- * ENTER NN AS EI REVISION LEVEL.
- EIN DATA C*EI=*
- EINA LDN 3 SET NUMBER OF CHARACTERS TO ASSEMBLE
- * UJN EIN1 (MATCH ALREADY FOUND)
- STD T4
- LDN 4 SET EI PROCESSOR FLAG
- RJM VMN VERIFY EI NAME
- LDC *
- ORG *-1
- LOC EINA
- UJN EIN1 DISABLE PROCESSING
- LOC *O
- STM EINA
- EIN1 JMP KBR RETURN
- SPACE 4,5
- *** ENGR.
- * TOGGLE ENGINEERING SWITCH.
- * DEFAULT = ENGINEERING SWITCH OFF.
- * THIS ENTRY IS IGNORED ON A SECURE SYSTEM.
- ENG DATA C*ENGR.*
- LDM .SSML
- LPN 7
- ZJN ENG1 IF NOT SECURE SYSTEM
- JMP KBR RETURN
- ENG1 LDC 30004
- JMP CSB CHANGE STATUS BIT
- ESP SPACE 4,10
- *** EXTENDED STACK PURGING.
- * ENABLE/DISABLE EXTENDED STACK PURGING.
- * DEFAULT = STACK PURGING DISABLED.
- ESP DATA C*EXTENDED STACK PURGING.*
- LDC 30040
- JMP CSB CHANGE STATUS BIT
- FMP SPACE 4,10
- *** FLEXIBLE PARTITIONS.
- * ENABLE/DISABLE FLEXIBLE MEMORY PARTITIONS.
- * DEFAULT = FLEXIBLE PARTITIONS ENABLED.
- FMP DATA C*FLEXIBLE PARTITIONS.*
- LDC 32000
- JMP CSB CHANGE STATUS BIT
- FOF SPACE 4,10
- *** FORCED FORMATTING.
- * ENABLE/DISABLE FORCED FORMATTING FOR 583X DISKS.
- * DEFAULT = FORCED FORMATTING DISABLED.
- FOF DATA C*FORCED FORMATTING.*
- LDC 12000
- JMP CSB CHANGE STATUS BIT
- HFI SPACE 4,10
- *** HARDWARE FAULT INJECTION.
- * ENABLE/DISABLE HARDWARE FAULT INJECTION.
- * DEFAULT = HARDWARE FAULT INJECTION DISABLED.
- HFI DATA C*HARDWARE FAULT INJECTION.*
- LDK MABL CHECK MAINFRAME TYPE
- CRD CM
- LDD CM+1
- SHN 21-13
- MJN HFI1 IF NOT CME MAINFRAME
- SHN 21-6-21+13
- PJN HFI1 IF 865/875
- LDC 10400
- JMP CSB CHANGE STATUS BIT
- HFI1 JMP ILL PROCESS INCORRECT ENTRY
- KEYPM SPACE 4,10
- ** KEYPM=CC.
- * SET ASSUMED KEYPUNCH COMVERSION MODE ACCORDING TO CC.
- * CC KEYPUNCH CONVERSION MODE.
- *
- * 26 O26 CONVERSION MODE.
- * 29 O29 CONVERSION MODE.
- KEYPM DATA C*KEYPM=*
- LDC TKCM
- RJM SPT SEARCH PARAMETER TABLE
- SHN 13 SET BIT INDICATING DEFAULT KEYPUNCH MODE
- STD T2
- LDM .IPRL+2
- LPC 3777
- LMD T2
- STM .IPRL+2
- JMP KBR RETURN
- LOCK SPACE 4
- *** LOCK.
- * TOGGLE CONSOLE LOCK STATUS.
- * DEFAULT = CONSOLE UNLOCKED.
- *LCK EQU UNL+1
- LOG SPACE 4,10
- *** LOGGING.
- * ENABLE/DISABLE LOGGING OF UNNECESSARY DAYFILE MESSAGES.
- * DEFAULT = LOGGING DISABLED.
- LOG DATA C*LOGGING.*
- LDC 30020
- JMP CSB CHANGE STATUS BIT
- MCL SPACE 4,10
- *** MEMORY CLEARING.
- * ENABLE/DISABLE THE CLEARING OF CENTRAL AND EXTENDED
- * MEMORY WHEN RELEASED.
- * DEFAULT = MEMORY CLEARING DISABLED.
- MCL DATA C*MEMORY CLEARING.*
- LDC 2000
- JMP CSB CHANGE STATUS BIT
- MICRO SPACE 4,10
- *** MICRO=NNNNNNN,NNNNNNN,...,NNNNNNN.
- * ENTER SEVEN CHARACTER MICROCODE NAME.
- MICRO DATA C*MICRO=*
- MICA LDN 10 SET NUMBER OF CHARACTERS TO ASSEMBLE
- * UJN MIC1 (MATCH ALREADY FOUND)
- STD T4
- LDN 0 SET MICROCODE PROCESSOR FLAG
- RJM VMN VERIFY MICROCODE NAME
- LDC *
- ORG *-1
- LOC MICA
- UJN MIC1 DISABLE PROCESSING
- LOC *O
- STM MICA
- MIC1 JMP KBR RETURN
- MMA SPACE 4,10
- *** MASTER MSE.
- * ENABLE/DISABLE MSE EXECUTIVE MASTER MODE INITIATION.
- * DEFAULT = MASTER MODE DISABLED.
- MMA DATA C*MASTER MSE.*
- LDN 2
- JMP CSB CHANGE STATUS BIT
- MMS SPACE 4,10
- *** MASTER MSS.
- * ENABLE/DISABLE MSS EXECUTIVE MASTER MODE.
- * DEFAULT = MASTER MODE DISABLED.
- MMS DATA C*MASTER MSS.*
- LDC 200
- JMP CSB CHANGE STATUS BIT
- MSV SPACE 4,5
- *** MS VALIDATION.
- * TOGGLE MASS STORAGE VALIDATION.
- * DEFAULT = MS VALIDATION DISABLED.
- MSV DATA C*MS VALIDATION.*
- LDN 14
- JMP CSB CHANGE STATUS BIT
- NIF SPACE 4,10
- *** NAMIAF=NC.
- * SET THE NUMBER OF NETWORK TERMINALS.
- *
- * NC THE NUMBER OF NETWORK TERMINALS (1-512).
- *
- * THE VALUE OF NC IS STORED INTO BYTE 4 OF WORD *EQDE*
- * OF THE DUMMY TT EST ENTRY.
- NIF DATA C*NAMIAF=*
- LDN TTEQ
- SFA EST READ EQUIPMENT ENTRY
- ADK EQDE
- CRD CM
- LDI KA
- LMN 1R.
- ZJN NIF3 IF DEFAULT *NC*
- RJM ASD ASSEMBLE NUMBER OF NETWORK TERMINALS
- NJN NIF2 IF .NE. 0
- NIF1 JMP ILL PROCESS INCORRECT ENTRY
- NIF2 STD CM+4 NUMBER OF NETWORK TERMINALS
- SBN 1
- SHN -11
- NJN NIF1 IF INCORRECT NUMBER OF TERMINALS
- LDN TTEQ UPDATE EQUIPMENT ENTRY
- SFA EST
- ADK EQDE
- CWD CM
- NIF3 JMP KBR RETURN
- NOP SPACE 4,10
- *** NOP - NULL SUBSYSTEM ENTRY.
- NOP DATA C*NOP.*
- JMP KBR RETURN
- OQS SPACE 4,10
- *** OQSH=NNNNNNN.
- * SELECTS OUTPUT SPECIAL HANDLING LEVEL.
- * NNNNNNN OUTPUT QUEUE SPECIAL HANDLING LEVEL.
- OQS DATA C*OQSH=*
- SOD KA ASSEMBLE PARAMETER
- LDN 10
- RJM ASN
- NJN OQS1 IF MORE THAN 7 CHARACTERS
- LDN CM SET POINTER TO PARAMETER
- RJM VAL SEARCH TABLE FOR PARAMETER
- MJN OQS1 IF NO MATCH FOUND
- SHN 6
- STD T3
- LDM .SSML SET SPECIAL HANDLING LEVEL
- LPC 7077
- LMD T3
- STM .SSML
- JMP KBR RETURN
- OQS1 JMP ILL PROCESS INCORRECT ENTRY
- PAM SPACE 4,10
- *** PRIVILEGED ANALYST MODE.
- * ENABLE/DISABLE PRIVILEGED ANALYST MODE.
- * DEFAULT = PRIVILEGED ANALYST MODE DISABLED.
- PAM DATA C*PRIVILEGED ANALYST MODE.*
- LDM .SSML
- LPN 7
- ZJN PAM1 IF NOT SECURED SYSTEM
- JMP KBR RETURN
- PAM1 LDC 30100
- JMP CSB CHANGE STATUS BIT
- PCL SPACE 4,10
- *** PCLASS,P0,P1,...,P7.
- *
- * SET PRIORITY ORDERED SERVICE CLASSES.
- *
- * EACH PARAMETER SETS THE SERVICE CLASS FOR THE INDICATED
- * PRIORITY LEVEL. THE DEFAULT FOR EACH NULL PARAMETER IS
- * ZERO.
- PCL4 JMP ILL PROCESS INCORRECT ENTRY
- PCL DATA C*PCLASS,*
- LDN 0 INITIALIZE PRIORITY INDEX
- STD T4
- CRM SBUF,TR
- LDI KA
- LMN 1R.
- ZJN PCL3 IF TERMINATOR
- PCL1 LDI KA
- LMN 1R,
- ZJN PCL2 IF NULL PARAMETER
- LDC TJSC
- RJM SPT SEARCH FOR VALID SERVICE CLASS
- STD T2
- LDM TSCM,T2
- ZJN PCL4 IF SERVICE CLASS NOT ALLOWED
- LDD T1 SET SERVICE CLASS INTO SCT
- STM SBUF,T4
- LDI KA
- LMN 1R.
- ZJN PCL3 IF TERMINATOR
- PCL2 AOD KA
- AOD T4 INCREMENT PRIORITY INDEX
- SBN 10
- ZJN PCL3 IF MAXIMUM NUMBER OF PARAMETERS
- LDI KA
- LMN 1R.
- NJN PCL1 IF NOT END OF ENTRY
- PCL3 LDN 2 SET PRIORITY LEVEL SERVICE CLASSES
- STD T1
- LDN 0
- SFA JCB
- ADN PLSC
- CWM SBUF,T1
- JMP KBR RETURN
- PFV SPACE 4,5
- *** PF VALIDATION.
- * TOGGLE PRESERVED FILE VALIDATION.
- * DEFAULT = PF VALIDATION DISABLED.
- PFV DATA C*PF VALIDATION.*
- LDN 20
- JMP CSB CHANGE STATUS BIT
- PRM SPACE 4,10
- *** PRIVILEGED RDF.
- * TOGGLE PRIVILEGED RDF CONTROL.
- * DEFAULT = PRIVILEGED RDF DISABLED.
- PRM DATA C*PRIVILEGED RDF.*
- LDC 30200
- JMP CSB CHANGE STATUS BIT
- PROBE SPACE 4,10
- *** PROBE.
- * TOGGLE DATA PROBE.
- * DEFAULT = DATA PROBE DISABLED.
- PRB DATA C*PROBE.*
- LDC 20100
- JMP CSB CHANGE STATUS BIT
- REM SPACE 4,10
- *** REMOVABLE PACKS.
- * ENABLE/DISABLE MASS STORAGE LABEL CHECKING.
- * DEFAULT = LABEL CHECKING ENABLED.
- REM DATA C*REMOVABLE PACKS.*
- LDC 10100
- JMP CSB CHANGE STATUS BIT
- RRM SPACE 4,10
- *** RESIDENT RDF.
- * TOGGLE RESIDENT RDF CONTROL.
- * DEFAULT = RESIDENT RDF DISABLED.
- RRM DATA C*RESIDENT RDF.*
- LDC 30400
- JMP CSB CHANGE STATUS BIT
- SPACE 4,10
- *** SCP.
- * TOGGLE SCP (SYSTEM CP) FACILITY.
- * DEFAULT = SCP FACILITY DISABLED.
- SCP DATA C*SCP.*
- LDC 10010 TOGGLE SCP FACILITY STATUS
- JMP CSB CHANGE STATUS BIT
- SCRSIM SPACE 4,10
- *** SCRSIM.
- * TOGGLE SELECTION OF SCR SIMULATION USING CYBER 70
- * INTERLOCK REGISTER.
- * DEFAULT = SIMULATION DISABLED.
- SCRSIM DATA C*SCRSIM.*
- LDC 30010 SELECT CYBER 70 SCR SIMULATION
- JMP CSB CHANGE STATUS BIT
- QUEUE SPACE 4,20
- *** QUEUE,SC,QT,INXXXX,LPXXXX,UPXXXX,WFXX.
- * SET QUEUE PARAMETERS *QN* = XXXX, FOR QUEUE *QT* OF
- * JOB SERVICE CLASS *SC*.
- * QT QUEUE
- *
- * IN INPUT
- * EX EXECUTING
- * OT OUTPUT
- *
- *
- * QN PARAMETER
- *
- * IL LOWER BOUND FOR INITIAL TIME SLICE (QT = EX ONLY)
- * LP LOWER BOUND FOR PRIORITY AGEING
- * UP UPPER BOUND FOR PRIORITY AGEING
- * WF WEIGHTING FACTOR FOR PRIORITY (POWER OF 2)
- * IP INITIAL SCHEDULING PRIORITY (QT = EX ONLY)
- QUEUE DATA C*QUEUE,*
- LDM 2,KA CHECK SEPARATORS
- LMN 1R,
- NJN QUE0 IF NOT *,*
- LDM 5,KA
- LMN 1R,
- ZJN QUE1 IF *,* PRESENT
- QUE0 JMP ILL PROCESS INCORRECT ENTRY
- QUE1 LDC TJSC SEARCH FOR SERVICE CLASS
- RJM SPT
- STD T7 SAVE INDEX
- AOD KA
- LDC TQUT SEARCH FOR QUEUE TYPE
- RJM SPT
- STD T6
- SFA JCB,T7 READ CONTROL WORD
- ADD T6
- CRD CM
- STD CA+1 SAVE WORD ADDRESS
- SHN -14
- STD CA
- QUE2 AOD KA SKIP SEPARATOR
- LDC TQPN SEARCH PARAMETER TABLE
- RJM SPT
- ADN CM SET BYTE ADDRESS
- STD T4
- RJM AOD CONVERT DIGITS
- STI T4
- LJM QUEA-CM,T4 CHECK PARAMETER
- QUEA UJN QUE3 ILXXXX
- UJN QUE8 LPXXXX
- UJN QUE8 UPXXXX
- UJN QUE5 WFXX
- UJN QUE3 IPXXXX
- QUE3 LDD T6 CHECK QUEUE TYPE
- LMN TQUTA-TQUT
- ZJN QUE8 IF EXECUTING JOB
- QUE4 JMP ILL PROCESS INCORRECT ENTRY
- QUE5 ZJN QUE4 IF NULL WEIGHTING FACTOR
- SBN MXWF+1
- PJN QUE4 IF WEIGHTING FACTOR TOO LARGE
- LCN 0
- STI T4
- QUE6 AOI T4 ADVANCE SHIFT COUNT
- LDD AB+4
- SHN 21
- STD AB+4
- PJN QUE6 IF BIT NOT SET
- LDD AB+4
- NJN QUE4 IF WEIGHTING FACTOR NOT POWER OF 2
- QUE8 LDI KA CHECK SEPARATOR
- LMN 1R.
- ZJN QUE9 IF END OF ENTRY
- LJM QUE2 LOOP FOR NEXT PARAMETER
- QUE9 LDD CM+1 CHECK AGEING PARAMETERS
- SBD CM+2
- PJN QUE4 IF LOWER BOUND .GE. UPPER BOUND
- LDD CA STORE QUEUE CONTROL
- SHN 14
- LMD CA+1
- CWD CM
- JMP KBR RETURN
- SSC SPACE 4,10
- *** SECCATS=NNNNNNN,NNNNNNN,...,NNNNNNN.
- * DETERMINES THE SECURITY ACCESS CATEGORIES THAT WILL
- * BE ALLOWED IN A SECURE SYSTEM.
- * NNNNNNN CATEGORY NAME.
- * DEFAULT = ALL CATEGORIES ALLOWED.
- *** SECCATS=ALL.
- * SPECIAL CASE OF *SECCATS*.
- * ALLOWS ALL CATEGORIES TO RUN ON A SECURE SYSTEM.
- *** SECCATS=NUL.
- * SPECIAL CASE OF *SECCATS*.
- * CLEARS ALL CATEGORIES PREVIOUSLY ALLOWED
- * ON A SECURE SYSTEM.
- SSC DATA C*SECCATS=*
- SOD KA
- LDN 6 INITIALIZE MAXIMUM PARAMETER COUNT
- STD T5
- LDN 10 ASSEMBLE PARAMETER
- RJM ASN
- NJN SSC4 IF MORE THAN 7 CHARACTERS
- LDD CM+1
- LMI KA
- LMC 2RL.
- NJN SSC5 IF SPECIFIC ACCESS CATEGORY ENTERED
- LDD CM
- LMC 2RNU
- ZJN SSC1 IF *NUL* SPECIFIED
- LMC 2RAL&2RNU
- NJN SSC5 IF NOT *ALL*
- LCN 0 ENABLE ALL ACCESS CATEGORIES
- SSC1 RJM SAC ENABLE/DISABLE ACCESS CATEGORIES
- SSC2 JMP KBR RETURN
- SSC3 SOD T5 DECREMENT PARAMETER COUNT
- ZJN SSC2 IF MAXIMUM NUMBER OF PARAMETERS ENTERED
- LDI KA
- LMN 1R.
- ZJN SSC2 IF END OF PARAMETERS
- LDN 10 ASSEMBLE PARAMETER
- RJM ASN
- ZJN SSC5 IF .LE. 7 CHARACTERS
- SSC4 JMP ILL PROCESS INCORRECT ENTRY
- SSC5 LDN CM FWA OF PARAMETER
- RJM VAC SEARCH TABLE FOR PARAMETER
- MJN SSC4 IF NO MATCH
- STD T3
- LDC .SSML+5 LWA+1 OF CATEGORY BYTE ADDRESS
- STD T1
- SSCA LDN 0
- * UJN SSC6 (FIRST *SECCATS* ENTRY PROCESSED)
- RJM SAC
- LDC 0 BYPASS SUBSEQUENT CALLS TO *SAC*
- ORG *-1
- LOC SSCA
- UJN SSC6 (BYPASS SUBSEQUENT CALLS TO *SAC*)
- LOC *O
- STM SSCA
- SSC6 SOD T1 DECREMENT CATEGORY BYTE ADDRESS
- LCN 14 DECREMENT BIT NUMBER
- RAD T3
- PJN SSC6 IF BIT NOT IN THIS BYTE
- ADC SHNI+14 CALCULATE SHIFT COUNT
- STM SSCB
- LDN 1
- SSCB SHN 0
- STD T0
- LMC -0 CREATE BYTE MASK
- STM SSCC
- LDI T1
- LPC 0 CLEAR OLD ACCESS CATEGORY BIT
- SSCC EQU *-1
- LMD T0 MERGE NEW ACCESS CATEGORY BIT
- STI T1
- LJM SSC3 PROCESS NEXT ACCESS CATEGORY
- SCU SPACE 4,10
- *** SECURES,OT,LA=XXXXXXX,UA=YYYYYYY.
- * SET THE ORIGIN TYPE ACCESS LEVEL LIMITS.
- * OT ORIGIN TYPE, TO SET SERVICE LIMITS.
- * *SY*, TO SET SYSTEM AND ALL OTHER ORIGIN TYPE LIMITS.
- * XXXXXXX LOWER BOUND.
- * YYYYYYY UPPER BOUND.
- * DEFAULT = SYSTEM AND ALL OTHER ORIGIN TYPE LIMITS ARE 0.
- SCU DATA C*SECURES,*
- LDN 3 RESET BOUNDS FLAG
- STD T6
- LDN 2 INITIALIZE PARAMETER COUNT
- STD CA
- LDC TJOT CHECK ORIGIN TYPE
- RJM SPT
- SHN -1
- STD T5
- LDI KA
- LMN 1R,
- NJN SCU2 IF INCORRECT SEPARATOR
- SCU1 AOD KA
- LDC TBDP CHECK PREFIX
- RJM SPT
- STD AB
- LDI KA
- LMN 1R=
- NJN SCU2 IF SEPARATOR NOT AN *=*
- LDN 10
- RJM ASN
- NJN SCU2 IF MORE THAN 7 CHARACTERS
- LDN CM SET POINTER TO PARAMETER
- RJM VAL SEARCH TABLE FOR PARAMETER
- MJN SCU2 IF NO MATCH FOUND
- STM CN,AB
- AOD AB
- LMD T6 UPDATE LOWER/UPPER BOUNDS FLAG
- STD T6
- SOD CA
- NJN SCU1 IF MORE PARAMETERS TO PROCESS
- LDI KA
- LMN 1R.
- ADD T6
- SCU2 NJN SCU3 IF INCORRECT ENTRY
- STD T7
- LDD CN+1
- SBD CN
- MJN SCU3 IF LOWER BOUND .GT. UPPER BOUND
- LDD T5
- LMK SYOT
- ZJN SCU4 IF SYSTEM ORIGIN TYPE
- LDN 0 GET SYSTEM BOUNDS
- SFA JCB
- ADK SYOT
- CRD AB
- LDD AB+1
- LPN 7
- SBD CN+1
- MJN SCU3 IF UPPER BOUND .GT. SYSTEM UPPER BOUND
- LDD AB+1
- SHN -3
- LPN 7
- SBD CN
- MJN SCU5 IF LOWER BOUND .GT. SYSTEM LOWER BOUND
- ZJN SCU5 IF LOWER BOUND .EQ. SYSTEM LOWER BOUND
- SCU3 JMP ILL PROCESS INCORRECT ENTRY
- SCU4 LDN MXOT-1 SET TO FIX ALL ORIGIN TYPE BOUNDS
- STD T7
- SCU5 LDD CN
- SHN 3
- RAD CN+1
- SCU6 LDN 0 GET SERVICE CONTROL TABLE ADDRESS
- SFA JCB
- ADD T5 GET SERVICE CONTROL WORD
- CRD AB
- LDD AB+1 SET BOUND IN WORD
- SCN 77
- LMD CN+1
- STD AB+1
- LDN 0
- SFA JCB
- ADD T5 UPDATE SERVICE CONTROL TABLE WORD
- CWD AB
- AOD T5 ADVANCE TO NEXT ORIGIN TYPE
- SOD T7
- PJN SCU6 IF MORE BOUNDS TO SET (OT = *SY* ONLY)
- JMP KBR RETURN
- SERVICE SPACE 4,25
- *** SERVICE,SC,P1XXXX,P2XXXX,...,PNXXXX.
- * SET SERVICE LIMITS *PN* FOR JOB SERVICE CLASS *SC*.
- * PN SERVICE
- *
- * CT CONTROL POINT TIME SLICE (SECONDS)
- * CM CM TIME SLICE (SECONDS)
- * NJ MAXIMUM NUMBER OF JOBS
- * TD TIME OUT DELAY (SECONDS) FOR SUSPENDED JOBS
- * CP CONTROL POINT TIME SLICE PRIORITY
- * TP BASE PRIORITY FOR ON-LINE INTERACTIVE JOBS
- * FL MAXIMUM FIELD LENGTH/100 OF ANY JOB
- * AM MAXIMUM MEMORY/100 ALLOWED TO ALL JOBS
- * EC MAXIMUM EXTENDED MEMORY/*UEBS* FOR ANY JOB
- * EM MAXIMUM EXTENDED MEMORY/*UEBS* FOR ALL JOBS
- * DT SERVICE CLASS TO ASSIGN ON A DETACH
- * PR CPU PRIORITY
- * IT SYSTEM I/O CPU THRESHOLD
- * SE CPU SLICE EXTENSION
- * RS RECALL CPU SLICE
- * US UNEXTENDED CPU SLICE
- *
- * THE FOLLOWING ARE INDICES INTO TABLES OF LIMIT VALUES
- * DEFINED IN *COMSPFM*.
- *
- * FC NUMBER OF FILES IN CATALOG (1-7)
- * CS CUMULATIVE SIZE FOR INDIRECT ACCESS FILES (1-7)
- * FS INDIVIDUAL SIZE FOR INDIRECT ACCESS FILES (1-7)
- * DS INDIVIDUAL SIZE FOR DIRECT ACCESS FILES (1-7)
- SERVICE DATA C*SERVICE,*
- LDM 2,KA CHECK SEPARATOR
- LMN 1R,
- ZJN SER1
- JMP ILL PROCESS INCORRECT ENTRY
- SER1 LDN CSAT-SVJT SET LENGTH OF JOB CONTROL BLOCK
- STD T7
- LDC TJSC SEARCH FOR SERVICE CLASS
- RJM SPT
- SFA JCB READ JOB CONTROL WORDS
- ADN SVJT
- CRM SBUF,T7
- SBD T7
- STD CA+1 SAVE SERVICE BLOCK ADDRESS
- SHN -14
- STD CA
- * PROCESS NEXT PARAMETER.
- SER2 AOD KA SKIP SEPARATOR
- LDC TSVP SEARCH PARAMETER TABLE
- RJM SPT
- STD T4 SAVE BYTE NUMBER
- SBN TSVPE-TSVP
- ZJN SER3 IF *DT* PARAMETER
- LDM SERD,T4 SET PROCESSOR ADDRESS
- STD T6
- RJM AOD CONVERT DIGITS
- * LDD AB+4
- LJM 0,T6 EXIT TO PROCESSOR
- * PROCESS *DT* PARAMETER.
- SER3 LDC TJSC
- RJM SPT SEARCH FOR VALID SERVICE CLASS
- STD AB+4
- LDM TSCM,AB+4
- SER4 NJN SER7 IF VALID VALUE
- SER5 JMP ILL PROCESS INCORRECT ENTRY
- * PROCESS *AM* PARAMETER.
- SER6 LDD AB+3 ALLOW *AM* UP TO 77777B
- STM SBUF-1,T4
- SCN 7
- UJN SER8 CHECK VALUE RANGE
- * CHECK VALUE RANGE.
- SER7 LDD AB+3
- SER8 ADD AB+2
- ADD AB+1
- ADD AB
- NJN SER5 IF VALUE TOO LARGE
- * STORE VALUE.
- LDD AB+4 STORE VALUE
- STM SBUF,T4
- LDI KA CHECK SEPARATOR
- LMN 1R,
- ZJP SER2 IF MORE PARAMETERS TO PROCESS
- LDD CA
- SHN 14
- LMD CA+1 STORE JOB CONTROL BLOCK
- CWM SBUF,T7
- JMP KBR RETURN
- * PROCESS *PR* PARAMETER.
- SER9 SBN 2
- MJN SER10 IF PRIORITY .LT. 2
- SBN 100-2
- MJN SER7 IF PRIORITY .LE. 77B
- SER10 JMP ILL PROCESS INCORRECT ENTRY
- * PROCESS *RS* PARAMETER.
- SER11 LDM SBUF+CSJT*5-SVJT*5+4 EXISTING *US* VALUE
- SBD AB+4 SPECIFIED *RS* VALUE
- UJN SER13 ENSURE *RS* .LE. *US*
- * PROCESS *US* PARAMETER.
- SER12 SBM SBUF+CSJT*5-SVJT*5+3 EXISTING *RS* VALUE
- SER13 MJN SER10 IF *RS* .GT. *US*
- LDD AB+4
- LJM SER4 ENSURE PARAMETER NONZERO
- * PROCESS INDEX ENTRY.
- SER14 LDD T4 SET FIELD POSITION
- SBN TSVPD-TSVP
- STD T0 MULTIPLY BY 3
- SHN 1
- ADD T0
- LMD TH SET SHIFT INSTRUCTION
- STM SERA
- STM SERB
- LCN 7 SET MASK FIELD
- SERA SHN **
- STM SERC
- LDD AB+4 SET NEW INDEX VALUE
- SBN 10
- PJN SER10 IF INCORRECT INDEX
- ADN 10
- SERB SHN **
- STD T3
- LDN TSVPD-TSVP SET SERVICE BLOCK INDEX
- STD T4
- LDM SBUF,T4 INSERT INDEX VALUE IN EXISTING BYTE
- LPC **
- SERC EQU *-1
- LMD T3
- STD AB+4
- LJM SER7 CHECK VALUE RANGE
- SERD BSS 0 SERVICE COMMAND PROCESSORS
- CON ILL UNUSED
- CON SER7 *CT* PARAMETER
- CON SER7 *CM* PARAMETER
- CON SER7 *NJ* PARAMETER
- CON SER7 *TD* PARAMETER
- CON SER7 *CP* PARAMETER
- CON SER7 *TP* PARAMETER
- CON SER7 *FL* PARAMETER
- CON ILL UNUSED
- CON SER6 *AM* PARAMETER
- CON ILL UNUSED
- CON ILL UNUSED
- CON SER7 *EC* PARAMETER
- CON ILL UNUSED
- CON SER7 *EM* PARAMETER
- CON SER14 *FS* PARAMETER
- CON SER14 *CS* PARAMETER
- CON SER14 *FC* PARAMETER
- CON SER14 *DS* PARAMETER
- CON SER3 *DT* PARAMETER
- CON SER9 *PR* PARAMETER
- CON SER7 *IT* PARAMETER
- CON SER7 *SE* PARAMETER
- CON SER11 *RS* PARAMETER
- CON SER12 *US* PARAMETER
- SPC SPACE 4,10
- *** SPC,N=X,N=X.
- * USE X AS DEFAULT SYSTEM PAGE CHARGE FOR PRINT DENSITY N.
- * N PRINT DENSITY (6 OR 8 LPI).
- * X LINES CHARGED PER PRINT PAGE.
- * DEFAULT 6=64,8=85.
- SPC DATA C*SPC,*
- SOD KA
- SPC1 AOD KA
- LDC TSPC SEARCH PARAMETER TABLE
- RJM SPT
- STD T4 SAVE ORDINAL
- RJM AOD
- SBK /BIO/PSLL
- PJN SPC3 IF .GE. TO LOWER LIMIT
- SPC2 JMP ILL PROCESS INCORRECT ENTRY
- SPC3 SBK /BIO/PSUL+1-/BIO/PSLL
- PJN SPC2 IF .GT. UPPER LIMIT
- LDD AB+4
- STM .IPPL,T4
- LDI KA CHECK NEXT CHARACTER
- LMN 1R,
- ZJN SPC1 IF MORE ENTRIES
- JMP KBR RETURN
- SPD SPACE 4,10
- *** SPD=N.
- * SET SYSTEM DEFAULT PRINT DENSITY.
- * N PRINT DENSITY (6 OR 8 LPI).
- * N PRINT DENSITY (6 OR 8 LPI ).
- * DEFAULT = 6.
- SPD DATA C*SPD*
- LDC TSPD TABLE OF PRINT DENSITIES
- RJM SPT SEARCH FOR PARAMETER
- ADN 3
- SHN 1+4 ORDINAL 0 OR 1 MAKES 6 OR 8 LPI
- STD T1
- LDM .IPPL+2
- LPC 7417
- LMD T1 MERGE *PD*
- STM .IPPL+2
- JMP KBR RETURN
- SPI SPACE 4,10
- *** SPINDOWN.
- * ENABLE/DISABLE SPINDOWN.
- * DEFAULT = SPINDOWN ENABLED.
- SPI DATA C*SPINDOWN.*
- LDN 1
- JMP CSB CHANGE STATUS BIT
- SPL SPACE 4,10
- *** SPL=NNN.
- * SET SYSTEM DEFAULT PAGE LENGTH.
- * NNN LINES PER PAGE.
- * DEFAULT = 60.
- SPL DATA C*SPL=*
- RJM ASD
- SBK /BIO/PSLL
- PJN SPL2 IF .GE. LOWER LIMIT
- SPL1 JMP ILL
- SPL2 SBK /BIO/PSUL+1-/BIO/PSLL
- PJN SPL1 IF .GT. UPPER LIMIT
- LDM .IPPL+3
- LPC 377
- SHN 21-7
- LMD AB+4 MERGE LOWER PORTION OF *SPS*
- SHN 14-4
- STM .IPPL+3
- LDM .IPPL+2
- SCN 17 CLEAR UPPER PORTION OF *SPS*
- SHN 4
- LMD AB+4 MERGE UPPER PORTION OF *SPS*
- SHN 22-4
- STM .IPPL+2
- JMP KBR RETURN
- SPW SPACE 4,10
- *** SPW=NNN.
- * SET SYSTEM DEFAULT PRINT WIDTH.
- * NNN WIDTH OF PRINT OUTPUT.
- * DEFAULT = 136.
- SPW DATA C*SPW=*
- RJM ASD
- SBK /BIO/PWLL
- PJN SPW2 IF .GE. LOWER LIMIT
- SPW1 JMP ILL
- SPW2 SBK /BIO/PWMX+1-/BIO/PWLL
- PJN SPW1 IF .GT. UPPER LIMIT
- LDM .IPPL+3
- LPC 7400
- LMD AB+4
- STM .IPPL+3 STORE *SPW*
- JMP KBR RETURN
- SRST SPACE 4,10
- *** SRST=NNNN.
- * SET SECONDARY ROLLOUT SECTOR THRESHOLD.
- * NNNN SECTOR COUNT SUCH THAT ALL ROLLOUT FILES SMALLER
- * THAN NNNN WILL PICK THEIR ROLLOUT DEVICE FROM THE
- * LIST OF SECONDARY ROLLOUT FILE DEVICES SPECIFIED BY
- * THE CMRDECK COMMAND *MSAL,S= *.
- * DEFAULT NNNN = 0.
- SSR DATA C*SRST=*
- RJM AOD
- STM .IPRL+1
- JMP KBR RETURN
- SUBCP SPACE 4,10
- *** SUBCP.
- * TOGGLE SUB-CONTROL POINT INITIALIZATION.
- * DEFAULT = SUB-CONTROL POINTS DISABLED.
- SUBCP DATA C*SUBCP.*
- LDC 24000
- JMP CSB CHANGE STATUS BIT
- SUC SPACE 4,10
- *** SECONDARY USER COMMANDS.
- * ENABLE/DISABLE SECONDARY USER COMMANDS.
- * DEFAULT = SECONDARY USER COMMANDS DISABLED.
- * THIS ENTRY IS IGNORED ON A SECURE SYSTEM.
- SUC DATA C*SECONDARY USER COMMANDS.*
- LDM .SSML
- LPN 7
- ZJN SUC1 IF NOT SECURE SYSTEM
- JMP KBR RETURN
- SUC1 LDC 10020
- JMP CSB CHANGE STATUS BIT
- SYD SPACE 4,10
- *** SYSTEM DEBUG.
- * ENABLE/DISABLE SYSTEM DEBUG.
- * DEFAULT = SYSTEM DEBUG DISABLED.
- SYD DATA C*SYSTEM DEBUG.*
- LDC 30002
- JMP CSB CHANGE STATUS BIT
- TCVM SPACE 4,10
- *** TCVM=CC.
- * SET ASSUMED TAPE CONVERSION MODE ACCORDING TO CC.
- * CC CONVERSION MODE
- *
- * AS ASCII 9 TRACK CONVERSION
- * US USASI 9 TRACK CONVERSION
- * EB EBCDIC 9 TRACK CONVERSION
- TCVM DATA C*TCVM=*
- LDC TTCV SEARCH PARAMETER TABLE
- RJM SPT
- NJN TCV1 IF CONVERSION NOT *AS*
- ADN 1
- TCV1 ADN 1
- STM .IPRL+3
- JMP KBR RETURN
- TDEN SPACE 4,10
- *** TDEN=CC.
- * SET ASSUMED TAPE DENSITY ACCORDING TO CC.
- * CC DENSITY
- *
- * HI 556
- * LO 200
- * HY 800
- * HD 800 CPI
- * PE 1600 CPI
- * GE 6250 CPI
- TDEN DATA C*TDEN=*
- LDC TTDN SEARCH PARAMETER TABLE
- RJM SPT
- STD T2
- SBN 3
- PJN TDE1 IF NINE TRACK DENSITY
- AOD T2
- LDM .IPRL+4 SET *MT* DENSITY
- SCN 17
- LMD T2
- UJN TDE2
- TDE1 LDM .IPRL+4 SET *NT* DENSITY
- LPN 77
- SHN 14
- LMD T2
- SHN 6
- TDE2 STM .IPRL+4
- JMP KBR RETURN
- TDTY SPACE 4,10
- *** TDTY=CC.
- * SET DEFAULT TAPE DEVICE TYPE ACCORDING TO CC.
- * CC DEFAULT TAPE DEVICE TYPE
- *
- * MT SEVEN TRACK TAPE
- * CT CARTRIDGE TAPE
- * NT NINE TRACK TAPE
- * AT ACS CARTRIDGE TAPE
- TDTY DATA C*TDTY=*
- LDC TTDT SEARCH PARAMETER TABLE
- RJM SPT
- SHN 4 SET TAPE DEVICE TYPE
- STD T2
- LDM .IPRL+4
- SCN 60
- LMD T2
- UJN TDE2 SET DEFAULT TAPE TYPE
- TMS SPACE 4,10
- *** TMS.
- * ENABLE/DISABLE TAPE MANAGEMENT SYSTEM.
- * DEFAULT = TMS DISABLED.
- TMS DATA C*TMS.*
- LDC 20001
- JMP CSB CHANGE STATUS BIT
- TPS SPACE 4,10
- *** TAPE PF STAGING.
- * ENABLE/DISABLE STAGING OF PERMANENT FILES FROM NON-ACS TAPE.
- * DEFAULT = TAPE PF STAGING DISABLED.
- TPS DATA C*TAPE PF STAGING.*
- LDC 10200
- JMP CSB CHANGE STATUS BIT
- TRA SPACE 4,10
- *** TRACE.
- * ENABLE/DISABLE TRACE.
- * DEFAULT = TRACE DISABLED.
- TRA DATA C*TRACE.*
- LDC 20040
- JMP CSB CHANGE STATUS BIT
- UNL SPACE 4,10
- *** UNLOCK.
- UNL DATA C*UNLOCK.*
- LDI T3 CHECK FIRST CHARACTER
- LMN 1RL
- STD T3
- ZJN UNL1 IF *LOCK* COMMAND
- LDM .SSML
- LPN 77
- ZJN UNL1 IF UNSECURED SYSTEM
- LDD TH
- * LDC 400&1400
- UNL1 LMC 1400
- JMP CSB CHANGE STATUS BIT
- UEC SPACE 4,10
- *** USER EXTENDED MEMORY.
- * ENABLE/DISABLE USER EXTENDED MEMORY.
- * DEFAULT = USER EXTENDED MEMORY DISABLED.
- UEC DATA C*USER EXTENDED MEMORY.*
- LDN 40
- JMP CSB CHANGE STATUS BIT
- SPACE 4,10
- *** VEBL=NNNN.
- * SET LIMIT FOR NUMBER OF TIMES THAT *CPUMTR* WILL BYPASS
- * EXCHANGING TO *NOS/VE* WHEN THERE ARE PP EXCHANGES PENDING.
- * NNNN MAXIMUM BYPASSES BEFORE EXCHANGE TO *NOS/VE*.
- * DEFAULT = 0.
- * MAXIMUM = 7777B.
- VEB DATA C*VEBL=*
- LDC VEBL
- CRD CN
- RJM ASD ASSEMBLE BYPASS VALUE
- STD CN+4
- LDC VEBL SET *VEBL* VALUE INTO CMR
- CWD CN
- JMP KBR RETURN
- TITLE PARAMETER TABLES.
- TBDP SPACE 4,10
- ** TBDP - TABLE OF BOUNDS PARAMETERS.
- TBDP BSS 0
- CON 2RLA
- CON 2RUA
- CON 0
- TCPM SPACE 4,7
- ** TCPM - TABLE OF CPUS.
- TCPM BSS 0
- CON 2R0=
- CON 2R1=
- CON 0
- TCSM SPACE 4,10
- ** TCSM - TABLE OF CHARACTER SET MODES.
- TCSM BSS 0
- CON 2R63 63 CHARACTER SET
- CON 2R64 64 CHARACTER SET
- CON 0 TERMINATOR
- TDLP SPACE 4,10
- ** TDLP - TABLE OF DELAY PARAMETERS.
- TDLP BSS 0
- CON 2RJQ EJT/QFT SCHEDULING
- CON 2RJS JOB SCHEDULER
- CON 2RRL RECALL DELAY REDUCTION LIMIT
- CON 2RCR CPU RECALL
- CON 2RAR AUTO RECALL
- CON 2RMP MEMORY PAD
- CON 0
- TMDT SPACE 4,10
- ** TMDT - TABLE OF MASS STORAGE DEVICE TYPES.
- LIST G
- TMDT BSS 0
- TBL "MSEQ"
- CON 0 END OF TABLE
- LIST -G
- PURGMAC TBLM
- TJOT SPACE 4,10
- ** TJOT - TABLE OF JOB ORIGIN TYPES.
- TJOT BSS 0
- CON 2RSY,6060
- CON 2RBC,6060
- CON 2RRB,2REI
- CON 2RIA,2RTX
- CON 0
- TJSC SPACE 4,10
- ** TJSC - TABLE OF JOB SERVICE CLASSES.
- TJSC DATA H+"NMSC"+
- CON 0
- TKCM SPACE 4,10
- ** TKCM - TABLE OF KEYPUNCH CONVERSION MODES.
- TKCM BSS 0
- CON 2R26 O26 KEYPUNCH CONVERSION MODE
- CON 2R29 O29 KEYPUNCH CONVERSION MODE
- CON 0 END OF TABLE
- TLDA SPACE 4,10
- ** TLDA - TABLE OF LID ATTRIBUTE PARAMETERS.
- TLDA BSS 0
- CON 2R,H HOST SYSTEM
- CON 2R,L LINKED (REMOTE) SYSTEM
- CON 2R,D LID IS DISABLED
- CON 2R,V PRE-VALIDATE USER COMMANDS
- CON 0
- TQPN SPACE 4
- ** TQPN - TABLE OF QUEUE PARAMETERS.
- TQPN BSS 0
- CON 2RIL LOWER BOUND FOR INITIAL TIME SLICE
- CON 2RLP LOWER PRIORITY RANGE
- CON 2RUP UPPER PRIORITY RANGE
- CON 2RWF WEIGHTING FACTOR FOR PRIORITY
- CON 2RIP INITIAL SCHEDULING PRIORITY
- CON 0
- TQUT SPACE 4
- ** TQUT - TABLE OF QUEUE TYPES.
- TQUT BSS 0
- CON 2RIN INPUT QUEUE FILES
- TQUTA CON 2REX EXECUTING JOBS
- CON 2ROT OUTPUT QUEUE FILES
- CON 0
- TSPC SPACE 4,10
- ** TSPC - TABLE OF PRINT DENSITIES.
- TSPC BSS 0
- CON 2R6=
- CON 2R8=
- CON 0
- TSPD SPACE 4,10
- ** TSPD - TABLE OF PRINT DENSITIES.
- TSPD BSS 0
- CON 2R=6
- CON 2R=8
- CON 0
- TSCM SPACE 4,10
- ** TSCM - TABLE OF SERVICE CLASS MASK BITS.
- *
- * THIS TABLE IS INDEXED BY SERVICE CLASS VALUE.
- *
- * ONLY SERVICE CLASSES DEFINED IN THIS TABLE ARE ALLOWED FOR
- * THE *DT* *SERVICE* PARAMETER AND THE *CLASS* AND *PCLASS*
- * DIRECTIVES.
- TSCM INDEX
- LIST D
- .SCL HERE
- LIST *
- INDEX MXSC
- TSVP SPACE 4
- ** TSVP - TABLE OF SERVICE PARAMETERS.
- * VALUES IN SERVICE CONTROL TABLE ARE ORDER DEPENDENT.
- TSVP BSS 0
- CON 6060
- CON 2RCT CONTROL POINT TIME SLICE
- CON 2RCM CM TIME SLICE
- CON 2RNJ NUMBER OF JOBS
- CON 2RTD TIME OUT DELAY (SUSPENDED JOBS)
- CON 2RCP CONTROL POINT SLICE PRIORITY
- CON 2RTP BASE PRIORITY FOR INTERACTIVE JOBS
- CON 2RFL MAXIMUM FL/JOB
- CON 6060
- CON 2RAM MAXIMUM MEMORY AVAILABLE FOR ALL JOBS
- CON 6060
- CON 6060
- CON 2REC MAXIMUM EXTENDED MEMORY/JOB
- CON 6060
- CON 2REM MAXIMUM EXTENDED MEMORY FOR ALL JOBS
- TSVPD CON 2RFS INDIVIDUAL INDIRECT ACCESS FILE SIZE
- CON 2RCS CUMULATIVE INDIRECT ACCESS FILE SIZE
- CON 2RFC NUMBER OF FILES IN CATALOG
- CON 2RDS INDIVIDUAL DIRECT ACCESS FILE SIZE
- TSVPE CON 2RDT SERVICE CLASS TO ASSIGN ON AN ATTACH
- CON 2RPR CPU PRIORITY
- CON 2RIT SYSTEM I/O CPU THRESHOLD
- CON 2RSE CPU SLICE EXTENSION
- CON 2RRS RECALL CPU SLICE
- CON 2RUS UNEXTENDED CPU SLICE
- CON 0
- TTDN SPACE 4
- ** TTDN - TABLE OF TAPE DENSITIES.
- TTDN BSS 0
- CON 2RLO 200
- CON 2RHI 556
- CON 2RHY 800
- CON 2RHD 800
- CON 2RPE 1600
- CON 2RGE 6250
- CON 0
- TTDT SPACE 4,10
- ** TTDT - TABLE OF TAPE DEVICE TYPES.
- TTDT BSS 0
- CON 2RMT SEVEN TRACK TAPE
- CON 2RCT CARTRIDGE TAPE
- CON 2RNT NINE TRACK TAPE
- CON 2RAT ACS CARTRIDGE TAPE
- CON 0 END OF TABLE
- TTCV SPACE 4
- ** TTCV - TABLE OF TAPE CONVERSION MODES.
- TTCV BSS 0
- CON 2RAS ASCII 9 TRACK CONVERSION
- CON 2RUS USASI 9 TRACK CONVERSION
- CON 2REB EBCDIC 9 TRACK CONVERSION
- CON 0 END OF TABLE
- TURE SPACE 4,10
- TITLE SUBROUTINES.
- AODSUB
- ASDSUB
- ASNSUB
- AUN SPACE 4,10
- ** AUN - ASSEMBLE USER NAME.
- *
- * ENTRY (A) = NUMBER OF CHARACTERS TO ASSEMBLE.
- * (KA) = ADDRESS OF CHARACTER STRING.
- *
- * EXIT (CM - CM+4) = ASSEMBLED NAME.
- * (A) = 0 IF ASSEMBLY TERMINATED ON *,* OR *.*.
- * (T0) = NUMBER OF CHARACTERS ASSEMBLED.
- *
- * USES T0 - T2.
- AUN2 AOD T0 ADVANCE CHARACTER COUNT
- SBN 1
- SHN 21-0 FORM BUFFER ADDRESS
- ADN CM
- STD T1
- LMD T1 CLEAR ADDRESS
- LMI KA INSERT CHARACTER
- MJN AUN3 IF CHARACTER PACKED LOW
- SHN 6 POSITION CHARACTER HIGH
- AUN3 RAI T1 ASSEMBLE BYTE
- AOD KA ADVANCE CHARACTER BUFFER
- SOD T2 DECREMENT CHARACTER COUNT
- NJN AUN1 IF TO END OF ASSEMBLY
- LDD T0
- AUN SUBR ENTRY/EXIT
- STD T2 SET CHARACTER COUNT
- LDN 0 CLEAR ASSEMBLY BUFFER
- STD T0
- CRD CM
- AOD KA SKIP SEPARATOR
- AUN1 LDI KA CHECK NEXT CHARACTER
- SBN 1R9+1
- MJN AUN2 IF ALPHANUMERIC
- SBN 1R*-1R9-1
- ZJN AUN2 IF (*)
- SBN 1R,-1R*
- ZJN AUNX IF *,*
- SBN 1R.-1R,
- ZJN AUNX IF *.*
- JMP ILL PROCESS INCORRECT ENTRY
- CDRSUB
- CPN SPACE 4,10
- ** CPN - COMPARE NAMES.
- *
- * ENTRY (A) = ADDRESS OF ASSEMBLED NAME.
- * (CN - CN+4) = NAME FROM COMMON LIBRARIES TABLE.
- *
- * EXIT (A) = 0 IF MATCH.
- *
- * USES T1.
- CPN SUBR ENTRY/EXIT
- STD T1
- LDI T1
- LMD CN
- NJN CPNX IF NO MATCH
- LDM 1,T1
- LMD CN+1
- NJN CPNX IF NO MATCH
- LDM 2,T1
- LMD CN+2
- NJN CPNX IF NO MATCH
- LDM 3,T1
- LMD CN+3
- SCN 77
- UJN CPNX RETURN
- ESS SPACE 4,10
- ** ESS - EDIT SUBSYSTEM TABLE.
- *
- * ENTRY (NC) = SYSTEM CONTROL POINT NUMBER.
- *
- * EXIT SUBSYSTEM TABLE COPIED TO CMR.
- *
- * USES T1, CM - CM+4.
- ESS SUBR ENTRY/EXIT
- LDN 5*SSCTL-1
- STD T1
- ESS1 LDM .SSCT,T1 CHECK SUBSYSTEM ENTRY
- SBD NC
- MJN ESS2 IF NOT RELATIVE CP
- LDD NC
- ADN 1
- RAM .SSCT,T1 SET ABSOLUTE CP
- ESS2 SOD T1
- PJN ESS1 IF NOT END OF TABLE
- LDC SSCP FETCH TABLE POINTER
- CRD CM
- LDN SSCTL SET TABLE LENGTH
- STD T1
- LDD CM+2 COPY TABLE TO CMR
- SHN 14
- LMD CM+3
- CWM .SSCT,T1
- UJN ESSX RETURN
- SAC SPACE 4,10
- ** SAC - SET (ENABLE/DISABLE) ALL SECURITY CATEGORIES.
- *
- * ENTRY (A) = 0 TO DISABLE ALL CATEGORIES.
- * = -0 TO ENABLE ALL CATEGORIES.
- SAC SUBR ENTRY/EXIT
- STD T0
- NJN SAC1 IF ENABLING ALL CATEGORIES
- LDC LDNI+0
- STM SSCA RESTORE SELECTIVE CATEGORY SPECIFICATION
- SAC1 LDM .SSML+2
- SHN -10
- SHN 14
- LMD T0 ENABLE/DISABLE ALL CATEGORIES
- STM .SSML+3
- STM .SSML+4
- SHN -4
- STM .SSML+2
- UJN SACX RETURN
- SPT SPACE 4
- ** SPT - SEARCH PARAMETER TABLE.
- *
- * ENTRY (A) = FWA OF PARAMETER TABLE.
- * ((KA - KA+1)) = PARAMETER NAME.
- *
- * EXIT (A) = INDEX OF ENTRY FOUND.
- * (T2) = TABLE ADDRESS OF ENTRY FOUND.
- * (T1) = ((T2)) = PARAMETER NAME.
- * (KA) = KEYBOARD BUFFER ADDRESS ADVANCED.
- *
- * USES T3.
- SPT2 LDN 2 ADVANCE BUFFER ADDRESS
- RAD KA
- LDD T2 RETURN WITH INDEX
- SBD T3
- SPT SUBR ENTRY/EXIT
- STD T3 SET TABLE FWA
- STD T2
- LDI KA ASSEMBLE PARAMETER NAME
- SHN 6
- LMM 1,KA
- STD T1
- LDI T2
- SPT1 LMD T1
- ZJN SPT2 IF MATCH FOUND
- AOD T2 ADVANCE TABLE
- LDI T2
- NJN SPT1 LOOP IF NOT END OF TABLE
- JMP ILL PROCESS INCORRECT ENTRY
- SPACE 4,10
- ** COMMON DECKS.
- CLT$ EQU 0 DEFINE *COMPGFP* ACCESS TO CLT
- JCB$ EQU 0 DEFINE *COMPGFP* ACCESS TO JCB
- *CALL COMPGFP
- VAL$ EQU 1
- VAC$ EQU 1
- SCH$ EQU 1
- *CALL COMPVLC
- SBUF EQU *
- ERRNG 7776-SBUF-5*CSAT+5*SVJT BUFFER TOO LARGE
- TTL SET/RCM - RECOVER CENTRAL MEMORY.
- TITLE
- IDENT RCM,OVL
- QUAL RCM
- ORG OVL
- *COMMENT SET - RECOVER CENTRAL MEMORY.
- COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
- SPACE 4,10
- .DSE SET 0
- SPACE 4,10
- ** MCTSUB - SUBROUTINES COMMON TO MCT PROCESSING.
- QUAL
- MCTSUB MACRO
- LIST G
- CTE SPACE 4,10
- ** CTE - CREATE MEMORY CONTROL TABLE ENTRY.
- *
- * ENTRY (A) = CPA FL CONTROL WORD ADDRESS.
- * (KA) = CP/PCP NUMBER.
- * (NC) = SYSTEM CP NUMBER.
- * (CN) = RA/RAX BACKWARD LINK.
- * (CN+1) = RA/RAX FORWARD LINK.
- *
- * USES T1, AB - AB+4, CM - CM+4.
- *
- * CALLS GHA, SCA.
- CTE SUBR ENTRY/EXIT
- STD T1
- LDD KA SET CURRENT CPA/PCPA ADDRESS
- RJM SCA
- ADD T1 READ MEMORY CONTROL WORD
- CRD CM
- LDD CM+4 FORM RA/RAX + FL/FLX
- RAD CM+3
- SHN -14 NEXT POTENTIAL RA/RAX
- RAD CM+2
- LDD CN+1
- NJN CTE1 IF NOT SYSTEM CP
- STD CM+2
- UJN CTE3 SET NO UNASSIGNED MEMORY
- CTE1 RJM SCA
- ADD T1 READ FL CONTROL WORD
- CRD AB
- SHN -7 CHECK CP/PCP
- LMD NC
- NJN CTE2 IF NOT SYSTEM CP
- LDD T1
- RJM GHA GET HIGHEST ADDRESS
- CTE2 LDD AB+2
- SHN 14 RA/RAX OF FORWARD LINK
- LMD AB+3
- SBD AB REMOVE NFL
- SBD CM+3
- CTE3 STD CN+4 SUBTRACT CURRENT RA/RAX + FL/FLX
- SHN -14
- SBD CM+2 SET UNASSIGNED MEMORY
- STD CN+3
- LCN FLSW CALCULATE MCT OFFSET
- RAD T1
- ERRNZ FLSW+2-ECSW CODE DEPENDS ON VALUE
- SHN 21-1
- LMD KA INSERT CP/PCP NUMBER
- SHN 1
- ADC 0 APPEND BASE MCT ADDRESS
- CTEA EQU *-1
- CWD CN STORE MCT WORD
- LDD CN+4
- RAM .ACML+1,T1
- SHN -14 ACCUMULATE UNASSIGNED MEMORY
- ADD CN+3
- RAM .ACML,T1
- LJM CTEX RETURN
- .ACML BSS 0
- VFD 24/0 AVAILABLE CM (100B WORD BLOCKS)
- VFD 24/0 AVAILABLE USER XM (*UEBS* WORD BLOCKS)
- VFD 12/0 RESERVED
- GHA SPACE 4,10
- ** GHA - GET HIGHEST MEMORY ADDRESS.
- *
- * ENTRY (A) = CPA FL CONTROL WORD ADDRESS.
- * (FL - FL+1) = EXECUTION FIELD LENGTH.
- *
- * EXIT (A) = 0.
- * (AB - AB+4) = FL CONTROL WORD IMAGE.
- GHA1 LDD FL+1 SET TOTAL CM FL
- STD AB+3
- LDD FL CREATE FL CONTROL WORD IMAGE
- GHA2 STD AB+2
- LDN 0 CLEAR UNUSED FIELD
- STD AB+1
- STD AB CLEAR NFL + FL ASSIGNED
- STD AB+4
- GHA SUBR ENTRY/EXIT
- CRD AB
- SBN FLSW
- ZJN GHA1 IF PROCESSING CM
- LDD AB+1
- RAD AB+3 FORM HIGHEST ADDRESS
- SHN -14
- UJN GHA2 CREATE FL CONTROL WORD IMAGE
- SCA SPACE 4,10
- ** SCA - SET CP/PCP AREA ADDRESS.
- *
- * ENTRY (A) = CP/PCP NUMBER.
- * (NC) = SYSTEM CP NUMBER.
- *
- * EXIT (A) = CPA/PCPA ADDRESS.
- SCA1 ADD NC SET REAL CP AREA ADDRESS
- SHN 7
- SCA SUBR ENTRY/EXIT
- SBD NC
- MJN SCA1 IF REAL CP
- ZJN SCA1 IF SYSTEM CP
- SBN 1 SET PCP AREA ORDINAL
- SHN 7
- ADC 0 ADD BASE PCPA ADDRESS
- SCAA EQU *-1
- UJN SCAX RETURN
- LIST *
- ENDM
- SPACE 4,10
- ** MCTPRS - INLINE CODE TO PRESET *MCTSUB* SUBROUTINES.
- *
- * EXIT (NS) = MCT ENTRY COUNT.
- *
- * USES CM - CM+4.
- MCTPRS MACRO
- LIST G
- LDC MCTP FETCH MCT POINTER
- CRD CM
- LDD CM+1 SET FWA OF MCT
- STM CTEA
- LDD CM
- RAM CTEA-1
- LDD CM+2 SET NUMBER OF MCT ENTRIES
- STD NS
- ERRNZ MCTP-PCPP CODE DEPENDS ON VALUE
- LDD CM+3
- RAM SCAA-1
- LDD CM+4 SET PCP AREA BASE ADDRESS
- STM SCAA
- LIST *
- ENDM
- QUAL *
- TITLE MAIN ROUTINE.
- RCM SPACE 4,10
- ** RCM - RECOVER CENTRAL MEMORY.
- RCM RJM INO INITIALIZE OVERLAY
- RJM DCB DEFINE CM BUFFER SPACE
- RJM PTR PROCESS POINTERS
- RJM IPS INITIALIZE PP STATUS
- RJM CEI CLEAR EST INTERLOCKS
- RJM VEM VERIFY EI LEVEL / MICROCODE NAME
- LDN DFPP
- CRD CM FETCH DAYFILE POINTER WORD
- LDD CM+1
- ADN EXDF*3
- STD CA+1 INITIALIZE CENTRAL ADDRESS
- SHN -14
- ADD CM
- STD CA
- RJM ROV LOAD AND EXECUTE *RCT*
- RCTL BSS 0 LOAD ADDRESS FOR *RCT*
- TITLE SUBROUTINES.
- SPACE 4,10
- ** COMMON SUBROUTINES.
- IPPSUB
- MCTSUB
- SCSSUB
- SSESUB
- CEI SPACE 4,10
- ** CEI - CLEAR EST INTERLOCKS (FOR SELECTED DEVICES).
- *
- * USES AB, T1.
- *
- * CALLS SSE.
- CEI3 SOD T1
- PJN CEI1 IF NOT END OF DEVICE TYPES
- CEI SUBR ENTRY/EXIT
- LDN CEITL-1
- STD T1 SET DEVICE INDEX
- CEI1 LDM CEIT,T1
- LMC 1S17 SEARCH FOR SELECTED EQUIPMENT
- CEI2 RJM SSE
- NJN CEI3 IF EQUIPMENT NOT FOUND
- LDM CEIM,T1
- STM CEIA SET DEVICE MASK
- LDD AB
- LPC ** CLEAR INTERLOCKS
- CEIA EQU *-1
- STD AB
- SFA EST,EQ
- ADK EQDE UPDATE EST ENTRY
- CWD AB
- UJN CEI2 SEARCH FOR NEXT EQUIPMENT
- CEIT BSS 0 TABLE OF DEVICE TYPES
- CON 2RNC NAD
- CON 2RND MDI
- CEITL EQU *-CEIT
- CEIM BSS 0 TABLE OF DEVICE MASKS
- CON 3177 NAD
- CON 6777 MDI
- IPS SPACE 4,10
- ** IPS - INITIALIZE PP STATUS.
- *
- * EXIT (CA - CA+1) = NEXT CM ADDRESS.
- *
- * USES T3, T4, T6, T7, CM - CM+4, CN - CN+4, CA - CA+1.
- *
- * CALLS APP, CLS, HPP.
- * CHECK FOR DISABLED PP-S.
- IPS3 LDM .PPL,T4 CHECK PP STATUS RETURNED BY *CTI*
- SHN 21-0
- STM .PPL,T4
- MJN IPS4 IF PP DISABLED
- LDD CM
- LMC 2R**
- NJN IPS5 IF PP NOT OFF ON PREVIOUS DEADSTART
- LDD T4
- SHN 4 CALCULATE CHANNEL NUMBER
- LMD T3
- RJM HPP HANG PP
- IPS4 LDD CM
- NJN IPS5 IF PP NAME IN PLACE
- LDD T7
- CWM IPSA,ON
- IPS5 LDN 10 ADVANCE INPUT REGISTER ADDRESS
- RAD T7
- CRD CM
- AOD T3 COUNT CHANNEL
- LMN 10D
- IPS6 NJN IPS3 IF PPS BANK NOT PROCESSED
- STD T3
- AOD T4 ADVANCE STATUS INDEX
- LCN 10D
- RAD T6
- NJN IPS6 IF ALL PP-S NOT CHECKED
- LDM .CCHN
- ZJN IPS9 IF NO CPP-S
- STD T3
- IPS7 LDM .CPPL
- SHN 21-0
- STM .CPPL
- PJN IPS8 IF PP NOT DISABLED
- LDD T7
- CWM IPSA,ON
- IPS8 LDN 10 ADVANCE INPUT REGISTER ADDRESS
- RAD T7
- SOD T3
- NJN IPS7 IF NOT COMPLETE LOOP
- IPS9 LDD CA+1 STORE PSEUDO PP INDICATOR
- SBN 10
- CWM IPSA+2,ON
- * CLEAR EXTENDED PP COMMUNICATION BLOCKS.
- LDD CN
- SHN 14
- ADD CN+1
- SBD CN+4
- SHN PPXES-PPCES LENGTH OF EXTENDED PP COMMUNICATION AREA
- RJM CLS CLEAR EXTENDED PP COMMUNICATION AREA
- IPS SUBR ENTRY/EXIT
- * CLEAR PP COMMUNICATION AREAS.
- LDN PPCP
- CRD CN
- LDD CN+4 SET FWA OF PP COMMUNICATION AREA
- STD CA+1
- STD T7
- CRD CM
- STD T3
- ADN 10
- STD T4
- SHN -14
- STD CA
- LDM .PPU SET PP COUNT
- STD T6
- ADM .CCHN
- SHN 3 SET END OF COMMUNICATIONS AREA SCAN
- RAD T4
- IPS1 LDN 10 CLEAR COMMUNICATION AREA
- RJM CLS
- LDD CM
- LMC 2R**
- NJN IPS2 IF PP NOT DISABLED ON PREVIOUS DEADSTART
- LDD T3
- CWD CM
- IPS2 LDN 10 ADVANCE INPUT REGISTER ADDRESS
- RAD T3
- CRD CM READ INPUT REGISTER
- LMD T4
- NJN IPS1 IF ALL PP-S NOT CHECKED
- STD T3
- STD T4
- RJM APP ASSIGN *CTI* INITIATED PP-S
- LDD NC INSERT SYSTEM CP INTO DISABLED PP IR
- RAM IPSA+1
- LJM IPS3 PROCESS PP COMMUNICATIONS AREA
- IPSA VFD 18/3R***,6/**,36/
- VFD 24/3RCIO
- PTR SPACE 4,10
- ** PTR - PROCESS POINTER AREA.
- *
- * EXIT (ID) = MACHINE ID.
- * (LD) = LINK DEVICE STATUS.
- *
- * USES AB - AB+4, CM - CM+4, CN - CN+4, T3 - T7, EN.
- *
- * CALLS SCS.
- *
- * MACROS SFA.
- PTR SUBR ENTRY/EXIT
- LDN DSSL
- CRD CM
- ADN PLDP-DSSL GET PLD POINTER
- CRD CN
- LDN 0 DISABLE *SPLM*
- STD CN
- STD CN+1
- LDD CM+4 SET RECOVERY MODE IN CMR
- SCN 7
- LMD RM
- LMN 4 ADD DEADSTART IN PROGRESS FLAG
- STD CM+4
- LDN DSSL
- CWD CM
- ADN PLDP-DSSL STORE LIBRARY LOCKED STATUS
- CWD CN
- RJM SCS SET CPU STATUS
- LDN JSCL
- CRD CN
- ADN PRBP-JSCL
- CRD CM
- LDD CM INTERLOCK PROBE TABLES
- LPC 3777
- STD CM
- LDC 4000 SET SCHEDULER ACTIVE
- STD CN
- LDN JSCL STORE SCHEDULER INTERLOCK
- CWD CN
- ADN RDSL-JSCL CLEAR LABEL CHECK CONTROL
- CWD ZR
- ADN PRBP-RDSL
- CWD CM
- SBN PRBP-SCRL
- CRD CM
- LDD CM CLEAR EMERGENCY STEP STATUS
- LPC -5600
- LMC 4000 SET *1MB* (ERROR LOGGING) ACTIVE
- STD CM
- LDN 0 CLEAR *1CK* CALLED STATUS
- STD CM+2
- LDN ZERL
- CRD AB
- ADN DSDL-ZERL STORE *DSD* BUFFER INTERLOCK
- CWD CN
- SBN DSDL-MMFL PRESERVE MACHINE ID
- CRD ID+LD*
- ADN INWL-MMFL STORE SCHEDULER INTERLOCK
- CWM .INWL,ON
- SBN INWL+1-SCRL
- CWD CM
- LCN 0 INITIALIZE FLAG REGISTER STATUS
- STD AB+3
- LDD LD
- LPC 777
- ZJN PTR1 IF NOT MMF ENVIRONMENT
- SFA EST
- CRD CM READ EST ENTRY FOR LINK DEVICE
- ADN EQAE-EQDE
- CRD T3
- LDD T3+2
- SHN -6
- LPN 3
- STM LDSH SET SHIFT COUNT FOR LINK DEVICE
- LDD CM+4
- SHN 3
- ADN ALGL FETCH LABEL TRACK FROM MST
- CRD CM
- LDD CM+1 SET LABEL TRACK
- STD AB+4
- PTR1 LDK EXML GET EXTENDED MEMORY PARAMETER
- CRD CM
- ADK MMFL-EXML
- CWD ID+LD*
- ADK MEFL-MMFL
- CRD CN
- ADK EFRL-MEFL
- CWD AB
- LDD CN+3 SET EXTENDED MEMORY PARAMETERS
- STM EMFL
- LDD CN+2
- SCN 37
- SHN 11
- STM UESC
- SHN 2
- SCN 36
- STM EMAF
- SHN -20
- STM EMSC
- LDD CM+4
- LPC 777
- STD EN
- ZJN PTR2 IF NO EXTENDED MEMORY EQUIPMENT
- SFA EST
- ADK EQDE
- CRD CM
- LDD CM+4
- SHN 3
- ADK DILL
- CRD AB
- LDD AB+3 SET EXTENDED MEMORY TYPE
- SHN -6
- LPN 7
- STM EMTY
- PTR2 LJM PTRX RETURN
- VEM SPACE 4,10
- ** VEM - VERIFY EI LEVEL AND MICROCODE NAME.
- *
- * ENTRY (HO) = HARDWARE OPTIONS.
- *
- * EXIT TO *DSE* IF EI LEVEL OR MICROCODE NAME ERROR.
- *
- * USES AB - AB+4, CM - CM+4, CN - CN+4, T1 - T7.
- VEM SUBR ENTRY/EXIT
- LDM C8XX
- NJN VEMX IF NOT CYBER 800 TYPE MAINFRAME
- LDC MEBF
- CRD CM GET MICROCODE/EI NAMES PASSED BY *CTI*
- SBN MEBF-SABL
- CRD T1 GET MAINFRAME DESCRIPTOR ADDRESS
- ADN EABL+CPEI-SABL
- CRD AB
- LDD AB+1 FETCH ORIGINAL MICROCODE NAME
- SCN 77
- SHN 6
- LMD AB
- SHN 6
- ADN 1
- CRD T3
- ADN 1
- CRD CN
- LDD T3+2
- SHN 21-0
- PJN VEM1 IF CPU-0 IS ENABLED
- LDD AB+1
- LPN 77
- SHN 14
- LMD AB+2 FETCH MICROCODE FROM CPU-1 BLOCK
- ADN 2
- CRD CN
- VEM1 LDN 0 CLEAR MISMATCH FLAG
- STD T5
- LDD T1 GET ORIGINAL EI NAME
- SHN 14
- LMD T1+1
- ADN 1
- CRD AB
- LDN 3 COMPARE MICROCODE NAMES
- STD T3
- VEM2 LDM CN,T3
- STM VEMA+12,T3
- LMM CM,T3
- ZJN VEM3 IF VALUES MATCH
- STD T5
- VEM3 SOD T3
- PJN VEM2 IF COMPARE NOT COMPLETE
- LDD T5
- NJN VEM4 IF MICROCODE ERROR
- LDD AB+3
- STM VEMB+6 COMPARE EI LEVEL
- LMD CM+4
- NJN VEM5 IF EI ERROR
- LJM VEMX RETURN
- VEM4 LDC VEMA *MICROCODE MISMATCH*
- UJN VEM6 DISPLAY ERROR AND HANG
- VEM5 LDC VEMB *EI MISMATCH*
- VEM6 JMP DSE DISPLAY ERROR AND HANG
- VEMA DATA C*MICROCODE MISMATCH, *
- VEMB DATA C*EI MISMATCH, *
- TITLE MEMORY MANAGEMENT ROUTINES.
- CFC SPACE 4,10
- ** CFC - CHECK FL CONTROL WORDS.
- *
- * ENTRY (T6) = CP/PCP NUMBER.
- * (AB - AB+4) = FL CONTROL WORD FOR *FLSW*.
- * (CN - CN+4) = FL CONTROL WORD FOR *FLSW*+1.
- *
- * CALLS SCA.
- CFC SUBR ENTRY/EXIT
- LDD AB
- NJN CFCX IF NFL ASSIGNED
- LDD AB+4
- ZJN CFCX IF NO FL
- SBD AB+1
- STD AB+4 ADJUST FL
- STD CN+4
- LDD AB+1 RESET NFL
- STD AB
- RAD AB+3 ADJUST RA
- SHN -14
- RAD AB+2
- LDD AB
- RAD CN+3
- LDN 0 CLEAR ROLLOUT VALUE OF NFL
- STD AB+1
- LDD T6 SET CP/PCP ADDRESS
- RJM SCA
- ADN FLSW+1
- CWD CN STORE FL CONTROL WORDS
- SBN 1
- CWD AB
- UJN CFCX RETURN
- DCB SPACE 4,15
- ** DCB - DEFINE CM BUFFER SPACE.
- *
- * EXIT (EB) = RA/100 FOR *CPUMLD*.
- *
- * USES EB, AB - AB+4, CN - CN+4.
- *
- * CALLS CMA, RFL.
- DCB SUBR ENTRY/EXIT
- RJM RFL RELEASE FIELD LENGTH
- LDN ZERL
- CRD AB
- ADN RPLP-ZERL FETCH FWA OF RPL
- CRD CN
- LDC 2S12+AB CHECK AVAILABLE MEMORY
- RJM CMA
- LDD AB+1
- ZJN DCB2 IF NO FREE MEMORY
- STD EB
- ADC CPML+PRSL-4001
- PJN DCB2 IF REQUIRED FL CROSSES 131K
- LDD AB+3
- SBK CPML+PRSL
- DCB1 PJN DCBX IF ENOUGH FL
- DCB2 LDN CMRL
- CRD AB GET CMR LENGTH
- LDD CN
- SHN 14 FWA OF RPL
- LMD CN+1
- ADN 77 ROUND RPL ADDRESS
- SHN -6
- STD EB SET NEW LOAD ADDRESS FOR *CPUMLD*
- LDD AB+4
- SBK CPML+PRSL CHECK FL NEEDED
- SBD EB
- PJN DCB1 IF REQUIRED FL IN CMR
- LDC DCBA
- JMP DSE DISPLAY MESSAGE AND HANG
- DCBA DATA C*LACKING MEMORY FOR CM RECOVERY.*
- FFL SPACE 4,20
- ** FFL - FIND FORWARD LINK FOR MCT ENTRY.
- *
- * ENTRY (KA) = MCT ORDINAL.
- * (NS) = MCT ENTRY COUNT.
- * (T2) = MEMORY TYPE INDICATOR.
- * = 0 FOR CENTRAL MEMORY.
- * = 1 FOR EXTENDED MEMORY.
- * (CA - CA+1) = RA + FL OF CURRENT CP/PCP.
- *
- * EXIT (T7) = FL/FLX AT FORWARD LINK CP/PCP.
- * (CN+1) = CP/PCP NUMBER OF FORWARD LINK.
- * (T5 - T6) = RA/RAX AT FORWARD LINK CP/PCP.
- *
- * ERROR TO *DSE* IF FL CONTROL WORD ERROR.
- *
- * USES T3 - T7, CM.
- *
- * CALLS RCW, SCA.
- FFL7 AOM CM,T2 SET CP/PCP SELECTED
- LDD CN+1
- ZJN FFL2 IF FORWARD LINK NOT FOUND
- RJM SCA
- ADN 6 STORE SELECTION STATUS
- CWD CM
- FFL SUBR ENTRY/EXIT
- LDN 0
- STD CN+1 PRESET NO FORWARD LINK
- CRD T3
- LDN 17 INITIALIZE FOR SCAN
- STD T5
- * FETCH FL CONTROL WORD FROM CP/PCP AREA.
- FFL1 RJM RCW
- ZJN FFL7 IF END OF SEARCH
- LDD AB+2
- SBD CA VERIFY FL CONTROL WORD
- SHN 14
- ADD AB+3
- SBD CA+1 CHECK RA - CURRENT POSITION
- SBD AB
- PJN FFL3 IF NOT INVALID RA OR NFL
- FFL2 LDC =C*FL CONTROL WORD ERROR.*
- JMP DSE DISPLAY ERROR AND HANG
- FFL3 LDD AB+2 COMPARE WITH PREVIOUS DISTANCE
- SBD T5
- SHN 14
- ADD AB+3 CHECK RA NEAREST CURRENT POSITION
- SBD T6
- NJN FFL5 IF NOT SAME RA
- LDD T3
- NJN FFL1 IF PREVIOUS CP/PCP HAD NFL ASSIGNED
- LDD AB
- NJN FFL4 IF THIS CP/PCP HAS NFL ASSIGNED
- LDD T7
- NJN FFL4 IF PREVIOUS CP/PCP HAD FL
- LDD NC
- SBD T4
- FFL3.1 PJN FFL1 IF NOT PCP
- LDD KA
- ZJN FFL1 IF CP00 (CMR)
- FFL4 LDD AB+4
- ZJN FFL6 IF CP/PCP HAS NO FL ASSIGNED
- * COMMON RA-S W/O FL MUST PRECEDE SAME RA WITH FL.
- FFL5 PJN FFL3.1 IF RA FARTHER FROM CURRENT POSITION
- LDD AB+2
- STD T5
- LDD AB+3 SET RA CLOSEST TO CURRENT POSITION
- STD T6
- LDD AB+4 PRESERVE FL
- FFL6 STD T7
- LDD AB SAVE NFL
- STD T3
- LDD T4 DEFINE POTENTIAL FORWARD LINK
- STD CN+1
- UJN FFL5 LOOP FOR NEXT CP/PCP
- MVE SPACE 4,10
- ** MVE - MOVE NFL.
- *
- * ENTRY (CA - CA+1) = RA - NFL OF PREVIOUS CP.
- * (AB - AB+4) = FL CONTROL WORD.
- * (CN - CN+4) = FL CONTROL WORD.
- *
- * USES AB+2, AB+3, CN+1, CN+2, CM - CM+4.
- MVE3 ADD AB+3 COMPUTE RA + FL
- STD T0
- SHN -14
- ADD AB+2 COMPARE WITH NEXT RA - NFL
- SBD CA
- NJN MVE1 IF MOVE REQUIRED
- LDD T0
- LMD CA+1
- NJN MVE1 IF NOT CP-S WITH ADJOINING FL
- MVE SUBR ENTRY/EXIT
- LDD CN+4
- NJN MVE3 IF RECOVERED SUBSYSTEM (PRESERVE FL)
- MVE1 LDD AB+2
- SHN 14
- LMD AB+3
- SBD AB SET RA - NFL FOR MOVE
- STD CM+3
- STD CM+2
- SHN -14
- STD CM+1
- LDD CA SET RA FOR CP
- SHN 14
- LMD CA+1
- SBD CN+4
- STD AB+3
- SHN -14
- STD AB+2
- SHN 14
- LMD AB+3
- SBD AB SET NEW RA - NFL
- STD CM+4
- STD CN+2
- SHN -14
- STD CN+1
- LDD AB
- ZJN MVEX IF NO NFL
- ADD CN+4
- SBN 1
- STD CM
- LDD HO
- SHN 0-13
- NJN MVE2 IF NOT CME MAINFRAME
- LDC 4000
- STD CM+3
- STD CM+4
- MVE2 LRD CM+1
- LDD CM+3 READ BLOCK OF NFL
- ADD CM
- SHN 6
- CRM MBUF,HN
- LRD CN+1
- LDD CM+4 MOVE NFL
- ADD CM
- SHN 6
- CWM MBUF,HN
- SOD CM
- PJN MVE2 IF NOT END OF MOVE
- LJM MVEX RETURN
- RCW SPACE 4,20
- ** RCW - READ FL CONTROL WORD FROM CP/PCP AREA.
- *
- * ENTRY (T2) = MEMORY TYPE INDICATOR.
- * = 0 FOR CENTRAL MEMORY.
- * = 1 FOR EXTENDED MEMORY.
- * (T4) = PREVIOUS CP/PCP NUMBER.
- * (KA) = CURRENT CP/PCP NUMBER.
- * (LA) = RELATIVE CONTROL WORD ADDRESS.
- * (NS) = NUMBER OF MCT ENTRIES.
- *
- * EXIT (A) = 0 IF END OF CP/PCP SCAN.
- * (T4) = CP/PCP FOR FL CONTROL WORD.
- * (AB - AB+4) = FL CONTROL WORD.
- * (CM - CM+4) = CP/PCP *CRCW* WORD.
- *
- * CALLS GHA, SCA.
- RCW SUBR ENTRY/EXIT
- RCW1 AOD T4
- LMD NS
- ZJN RCWX IF END OF SEARCH
- LMD NS
- LMD KA
- ZJN RCW1 IF CURRENT CP/PCP
- LDD T4
- RJM SCA SET CP/PCP AREA ADDRESS
- ADD LA
- CRD AB READ FL CONTROL WORD
- SBD LA
- ADN 6 GET CP SELECTION STATUS
- CRD CM
- LDM CM,T2
- NJN RCW1 IF THIS CP/PCP ALREADY FORWARD LINK
- LDD T4
- RCW2 LMD NC
- NJN RCWX IF NOT SYSTEM CP
- LDD LA
- RJM GHA GET HIGHEST MEMORY ADDRESS
- * LDN 0
- UJN RCW2 RETURN
- RFL SPACE 4,15
- ** RFL - RELEASE FIELD LENGTH.
- *
- * ENTRY (NC) = SYSTEM CP NUMBER.
- * (FL - FL+1) = EXECUTION FIELD LENGTH.
- *
- * EXIT FL OF USER JOBS AT CP-S RELEASED.
- * FL OF NON-RECOVERED SUBSYSTEMS RELEASED.
- *
- * USES AB - AB+4, CA - CA+1, CM - CM+4, CN - CN+4, T5 - T7.
- *
- * CALLS CFC, MVE, SCA, RMT.
- RFL8 RJM RMT REBUILD MEMORY CONTROL TABLE
- LDN ACML
- CWM .ACML,ON STORE UNASSIGNED MEMORY
- RFL SUBR ENTRY/EXIT
- RJM RMT
- LDD FL
- STD CN+1 SET EXECUTION MEMORY SIZE
- LDD FL+1
- STD CN+2
- LDD NC START BACKWARDS FROM SYSTEM CP
- STD T6
- RFL1 LDD CN+1 SAVE RA - NFL
- STD CA
- LDD CN+2
- STD CA+1
- LDD T6 FORM MCT INDEX
- SHN 1
- ADC 0 APPEND BASE MCT ADDRESS
- RFLA EQU *-1
- CRD T6 READ MCT ENTRY
- LDD T6
- ZJN RFL8 IF BACK LINKED TO CP ZERO
- RJM SCA
- ADN FLSW READ FL CONTROL WORDS
- CRD AB
- ADN 1
- CRD CN
- ADN JCIW-FLSW-1 READ JOB CONTROL
- CRD CM
- RJM CFC CHECK FL CONTROL WORDS
- LDD T6
- SBD NC
- PJN RFL4 IF PSEUDO CONTROL POINT
- LDC TRSS
- STD T5
- LDI T5 CHECK SUBSYSTEM ID
- RFL2 LMD CM+2
- ZJN RFL3 IF RECOVERED SUBSYSTEM
- AOD T5
- LDI T5
- NJN RFL2 IF NOT END OF TABLE
- STD CN+4
- RFL3 LDD T6 CHECK CONTROL POINT
- LMN 1
- ZJN RFL5 IF FIRST CP (NO MOVE)
- RFL4 RJM MVE
- RFL5 LDD CN+4 CLEAR FL ASSIGNMENT
- STD AB+4
- LDD T6 SET CP/PCP ADDRESS
- RJM SCA
- ADN FLSW+1
- CWD CN RESET FL CONTROL WORDS
- SBN 1
- CWD AB
- ADN ECSW-FLSW FETCH EXTENDED MEMORY CONTROL WORD
- CRD CM
- ADC CPAS
- CRD AB
- SHN -7
- LMD NC
- NJN RFL6 IF NOT LAST CP
- LDD AB+3
- ADD AB+4
- STD CM+3 SET RAX TO END OF USER XM BLOCK
- SHN -14
- ADD AB+2
- STD CM+2
- RFL6 LDD CN+4
- NJN RFL7 IF RECOVERED SUBSYSTEM
- * LDN 0
- STD CM+4 CLEAR FLX
- LDD T6
- RJM SCA
- ADN ECSW UPDATE CP/PCP AREA
- CWD CM
- RFL7 LJM RFL1 LOOP FOR NEXT CP
- TRSS BSS 0 TABLE OF RECOVERED SUBSYSTEMS
- CON IFSI IAF
- CON TRSI TAF
- CON BISI BATCHIO
- CON MTSI MAGNET
- CON SMSI SMF
- CON NVSI NVE
- CON FZSI FROZEN JOB
- CON 0 END OF TABLE
- RMT SPACE 4,10
- ** RMT - REBUILD MEMORY CONTROL TABLE.
- *
- * ENTRY (NC) = SYSTEM CP NUMBER.
- * (NS) = NUMBER OF MCT ENTRIES.
- *
- * USES KA, KB, LA, ST, CA - CA+1, CN - CN+4, T2 - T7.
- *
- * CALLS CTE, FFL, SCA.
- RMT3 RJM FFL FIND FORWARD LINK FOR MCT ENTRY
- LDD KA
- NJN RMT5 IF NOT CP ZERO
- LDD CN+1
- LMN 1
- ZJN RMT6 IF CORRECT FORWARD LINK
- * LDC =C*FL CONTROL WORD ERROR.*
- RMT4 LJM FFL2 DISPLAY ERROR AND HANG
- RMT5 ADN 1 CHECK CURRENT CP/PCP
- LMD NC
- NJN RMT6 IF NOT LAST CP
- LDD NC
- LMD CN+1
- NJN RMT4 IF NOT LINKED TO SYSTEM CP
- RMT6 LDD LA
- RJM CTE CREATE MCT ENTRY
- RMT7 LDD T7
- ADD T6 SET RA/RAX + FL/FLX
- STD CA+1
- SHN -14
- ADD T5 ADJUST CURRENT POSITION
- STD CA
- LDD KA NEW BACKWARD LINK
- STD CN
- LDD CN+1 SET NEXT CP/PCP
- STD KA
- SOD KB
- NJN RMT3 IF NOT END OF CP/PCP-S
- STD CN+1
- LDD KA CHECK NEXT CP
- LMD NC
- NJN RMT4 IF NOT SYSTEM CP
- LDD LA
- RJM CTE CREATE MCT ENTRY FOR SYSTEM CP
- SOD ST
- LMN ECRL
- PJN RMT2 IF XM YET TO BE PROCESSED
- RMT SUBR ENTRY/EXIT
- LDN 1
- STD T2
- RMT1 LDD T2 SET CP/PCP ADDRESS
- RJM SCA
- ADN 6 READ *MA* WORD OF EXCHANGE PACKAGE
- CRD CM
- STD ST SAVE PARTIAL ADDRESS
- LMD ST
- STD CM+1 CLEAR MONITOR ADDRESS FIELD
- STD CM
- LMD ST STORE CP/PCP SELECTION STATUS
- CWD CM
- AOD T2 ADVANCE CP/PCP NUMBER
- LMD NS
- NJN RMT1 IF MORE CP/PCP-S
- * LDN 0
- CRM .ACML,ON CLEAR UNASSIGNED MEMORY ACCUMULATOR
- RMTA LDN 1
- * LDN 0 (NO USER EXTENDED MEMORY)
- STD ST
- LDN CMRL
- RMT2 STD LA SET FL CONTROL WORD ADDRESS
- CRD T3
- SBN FLSW
- ERRNZ FLSW+2-ECSW CODE DEPENDS ON VALUE
- SHN -1
- STD T2 SET MEMORY TYPE INDICATOR
- CRD CN
- LDN 0 INITIALIZE FOR CP ZERO
- STD KA
- LDD NS SET LOOP COUNT
- STD KB
- LJM RMT7 INITIALIZE CURRENT POSITION
- SPACE 4,10
- ** COMMON DECKS.
- LIST X
- *CALL COMPCMA
- LIST *
- SPACE 4,10
- USE LITERALS DUMP LITERALS BLOCK
- SPACE 4,10
- ERRNG MBUF-* OVERFLOW INTO BUFFER
- SPACE 4,10
- ** COMMON SUBROUTINES.
- NVECPU
- INO SPACE 4,15
- ** INO - INITIALIZE OVERLAY.
- *
- * EXIT (NC) = SYSTEM CP NUMBER.
- * (NS) = NUMBER OF MCT ENTRIES.
- * (FL - FL+1) = CM EXECUTION FL.
- *
- * ERROR TO *DSE* IF CONSOLE TYPE CHANGED BY DEADSTART.
- *
- * USES T3, AB - AB+4, CA - CA+1, CM - CM+4, CN - CN+4.
- *
- * CALLS CLS, RPN.
- *
- * MACROS MCTPRS, SFA.
- INO SUBR ENTRY/EXIT
- LDC TCMB
- STD T3
- LDN 0 CLEAR CMR BLOCKS
- STD CA
- LDI T3 SET CM ADDRESS
- INO1 STD CA+1
- AOD T3
- LDI T3 CALCULATE WORD COUNT
- SBD CA+1
- RJM CLS CLEAR CMR
- AOD T3
- LDI T3
- NJN INO1 IF ALL BLOCKS NOT CLEARED
- LDN NCPL
- CRD CM GET CP COUNT
- ADN MABL-NCPL
- CRD CN READ MEMORY POINTERS
- ADN MCTP-MABL
- CRD AB
- AOD CM+1 SET SYSTEM CP NUMBER
- STD NC
- LDD CN+2 SET EXECUTION MEMORY SIZE
- STD FL
- LDD CN+3
- STD FL+1
- LDD AB+1 SET MCT BASE ADDRESS
- STM RFLA
- LDD AB
- RAM RFLA-1
- LDN ECRL FETCH EXTENDED MEMORY STATUS
- CRD CM
- LDD CM+1
- NJN INO2 IF USER XM DEFINED
- SOM RMTA
- INO2 MCTPRS SET UP *MCTSUB* ROUTINES
- LDN DSEQ
- SFA EST FETCH EST ENTRY FOR DISPLAY CONSOLE
- ADK EQAE
- CRD CN
- LDM .DCS
- ZJN INO3 IF DEADSTART INITIATED FROM CC545
- LDN 1
- INO3 LMD CN+2
- NJN INO4 IF CONSOLE TYPE CHANGED
- RJM RPN
- LJM INOX RETURN
- INO4 LDC INOA
- LJM DSE DISPLAY ERROR AND HANG
- INOA DATA C*CONSOLE TYPE CHANGED.*
- TCMB SPACE 4,10
- ** TCMB - TABLE OF CMR BLOCKS CLEARED FOR RECOVERY.
- TCMB CON 0,JSNL
- CON CMCL,ZERL
- CON CPAL,DSDL
- CON DSCP*CPAS+MS1W,DSCP*CPAS+MS1W+10
- CON 0 END OF TABLE
- SPACE 4,10
- QUAL
- RCM EQU /RCM/RCM
- RCTL EQU /RCM/RCTL
- ERRNG 7777-*-4 IF OVERFLOW OF PP
- TTL SET/RCT - RECOVER CMR TABLES.
- TITLE
- IDENT RCT,RCTL
- QUAL RCT
- ORG RCTL
- *COMMENT SET - RECOVER CMR TABLES.
- COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
- SPACE 4,10
- .DSE SET 0
- RCT SPACE 4,10
- ** RCT - RECOVER CMR TABLES.
- RCT BSS 0 ENTRY
- RJM PRT PRESET *RCT*
- * VERIFY CMR TABLES.
- LDN 0
- STD LA
- RCT1 LDM TCTP,LA SET PROCESSOR ADDRESS
- STD T1
- RJM 0,T1 VERIFY TABLE
- * PROCESSORS RETURN WITH (A) = TABLE LENGTH OR 0.
- RAD CA+1 ADVANCE CENTRAL ADDRESS
- SHN -14
- RAD CA
- AOD LA INCREMENT TABLE NUMBER
- LMN TSGTE
- NJN RCT1 IF NOT END OF TABLES
- * COMPLETE TABLES.
- RJM CKB CLEAR KEYBOARD BUFFER
- LDC BIOL
- CRD CN
- LDD CA SET CM ADDRESS
- STD CN+3
- SHN 14
- LMD CA+1
- STD CN+4
- ADN 77
- SHN -6
- STD T0
- LDD EB SET LOAD ADDRESS FOR *CPUMLD*
- STD CN
- SBD T0
- PJN RCT2 IF NO CMR OVERFLOW
- LDC =C*CMR OVERFLOW.*
- JMP DSE DISPLAY ERROR AND HANG
- RCT2 LDC BIOL STORE CPUMTR LOAD ADDRESS
- CWD CN
- ADK DSCP*CPAS+SNSW-BIOL
- CRD CM
- LDD CM+4 CLEAR *DSD* RECOVERY INTERLOCK
- SCN 1
- STD CM+4
- LDC DSCP*CPAS+SNSW
- CWD CM
- RJM DRO DISPLAY RECOVERY OPTIONS
- LJM SET2 COMPLETE RECOVERY
- TITLE TABLE VERIFICATION PROCESSORS.
- BDT SPACE 4,10
- ** BDT - ALLOCATE BUFFERED DEVICE CONTROL TABLES.
- *
- * EXIT (A) = TABLE LENGTH.
- *
- * USES T1, CN - CN+4.
- *
- * CALLS CLS, CTA.
- BDT SUBR ENTRY/EXIT
- LDC BIOL
- CRD CN
- LDD CN+1
- ADD CN+2
- ZJN BDTX IF NO BUFFERED DEVICES
- LDC 1S12+BIOL
- RJM CTA
- LDN /ICT/BDTAL/5 ADVANCE CENTRAL ADDRESS
- RAD CA+1
- SHN -14
- RAD CA
- LDD CN+4 COMPUTE LENGTH OF TABLES
- SBD CA+1
- STD T1
- PJN BDT1 IF NO BORROW
- SOD CN+3
- AOD T1
- BDT1 LDD CN+3
- SBD CA
- SHN 14
- LMD T1
- UJN BDTX RETURN
- BST SPACE 4,10
- ** BST - VERIFY BUFFER STATUS TABLES.
- *
- * EXIT (A) = 0.
- * TO *DSE* IF TABLE ADDRESS ERROR.
- *
- * USES EQ, CA - CA+1, CM - CM+4.
- *
- * CALLS SME.
- BST SUBR ENTRY/EXIT
- LDK MMFL
- CRD CM
- LDD CM+1
- LPC 1000
- ZJN BSTX IF NO SHARED BUFFERED DEVICES
- LDN NOPE
- STD EQ
- * PROCESS NEXT EQUIPMENT.
- BST1 RJM SME SEARCH FOR MASS STORAGE EQUIPMENT
- ZJN BSTX IF END OF MS EST ENTRIES
- SHN 21-11-21+13
- PJN BST1 IF NOT SHARED DEVICE
- SHN 21-5-21+11
- PJN BST1 IF NOT BUFFERED DEVICE
- LDD AB+4 GET BST ADDRESS
- SHN 3
- ADK BDLL
- CRD CM
- LDD CA VERIFY BST ADDRESS
- LMD CM+1
- NJN BST2 IF ADDRESS DOES NOT MATCH
- LDD CA+1
- LMD CM+2
- NJN BST2 IF ADDRESS DOES NOT MATCH
- LDK BSTL ADVANCE CM ADDRESS
- RAD CA+1
- SHN -14
- RAD CA
- UJP BST1 PROCESS NEXT EQUIPMENT
- BST2 LDC =C*BST POINTER ERROR.*
- JMP DSE DISPLAY MESSAGE AND HANG
- CHT SPACE 4,10
- ** CHT - VERIFY CHANNEL TABLES.
- *
- * EXIT (A) = LENGTH OF CHANNEL TABLES.
- *
- * USES T1, T2.
- *
- * CALLS CTA.
- CHT SUBR ENTRY/EXIT
- LDC 2S12+CHTP
- RJM CTA
- LDN CTALL SET CONTROLWARE TABLE LENGTH
- STD T1
- LDD CA READ CONTROLWARE TABLE
- SHN 14
- LMD CA+1
- ADN CTALL*2
- CRM MBUF,T1
- LDN 5*CTALL-1 EDIT CONTROLWARE TABLE
- STD T2
- CHT1 LDM MBUF,T2 CLEAR LOAD FLAGS
- LPC 777
- STM MBUF,T2
- SOD T2
- PJN CHT1 IF NOT END OF TABLE
- LDD CA
- SHN 14
- LMD CA+1 STORE CONTROLWARE TABLE
- ADN CTALL*2
- CWM MBUF,T1
- LDN CTALL*3 LENGTH OF CHANNEL TABLES
- UJN CHTX RETURN
- CLT SPACE 4,10
- ** CLT - VERIFY COMMON LIBRARIES TABLE.
- *
- * EXIT (A) = TABLE LENGTH.
- *
- * CALLS CTA.
- *
- * MACROS CFI.
- CLT SUBR ENTRY/EXIT
- LDC CLTP
- RJM CTA
- CFI CLT,CM+2 LENGTH OF TABLE
- UJN CLTX RETURN
- DFB SPACE 4,10
- ** DFB - VERIFY DAYFILE BUFFERS.
- *
- * EXIT (A) = 0.
- *
- * USES T3, T6, T7, CM - CM+2.
- *
- * CALLS CDP, CLS, CTA.
- DFB SUBR ENTRY/EXIT
- LDN DFPP SET FWA OF DAYFILE POINTERS
- CRD T6
- LDN 0 SET SYSTEM DAYFILE BUFFER NUMBER
- STD T3
- DFB1 RJM CDP
- LDN 3 ADVANCE DAYFILE POINTER ADDRESS
- RAD T7
- SHN -14
- RAD T6
- AOD T3 ADVANCE DAYFILE NUMBER
- LMN EXDF
- NJN DFB1 IF NOT END OF EXCESS DAYFILES
- LDC 2S12+DFPP
- RJM CTA
- LDN 1 SET PP DUMP BUFFER NOT BUSY
- STD CM+4
- LDN DFPP STORE POINTER
- CWD CM
- LDC DFDS+3 CLEAR DUMP BUFFER
- RJM CLS
- LDN 0
- LJM DFBX RETURN
- ECB SPACE 4,10
- ** ECB - VERIFY *EICB* TABLES.
- *
- * EXIT (A) = LENGTH OF *EICB* TABLES.
- *
- * USES AB - AB+4, CM - CM+4, CN - CN+4, T3 - T7.
- *
- * CALLS CTA.
- ECB2 ADN DSCM+3-D7RS READ DFT/OS POINTER
- CRD CN
- LDD AB+3 SAVE SIZE OF *MLST*
- LPN 77
- STD T2
- LDD CN+2 READ *DFT* CONTROL WORD
- SHN 14
- LMD CN+3
- SHN -4
- SHN 6
- LMD CN
- CRD AB
- ADN DFRQ READ NOS REQUEST AREA POINTER
- CRD T3
- LDD T3+2 READ NOS REQUEST HEADER
- SHN 14
- LMD T3+3
- SHN -4
- SHN 6
- LMD T3
- CRD CM
- LDD AB+4
- LPC 7426 CLEAR FLAGS (V, R, Z, L, E7)
- ADN 10 SET LOGGING FLAG
- STD AB+4
- * POST REQUEST TO *DFT* TO UPDATE ERROR THRESHOLDS.
- LDM .CPU CHECK CPU CONFIGURATION
- LPN 2
- ZJN ECB3 IF CPU-1 PRESENT
- LDN ZERL CLEAR THRESHOLDS FOR CPU-1
- CRM ECBB,ON
- ECB3 LDM DFTV
- ZJN ECB4 IF *DFT* VERSION 3
- LDK STIN&STRY SET STATUS = *INACTIVE*
- ECB4 LMK STRY SET STATUS = *READY*
- STD CM+4
- LDD CN+2 REWRITE *DFT* CONROL WORD
- SHN 14
- LMD CN+3
- SHN -4
- SHN 6
- LMD CN
- CWD AB
- LDN ECBAL/5 SET WORD COUNT
- STD T3+4
- LDD T3+2 WRITE NOS REQUEST HEADER
- SHN 14
- LMD T3+3
- SHN -4
- SHN 6
- LMD T3
- CWD CM
- ADN 1 WRITE THRESHOLD REQUEST TO BUFFER
- CWM ECBA,T3+4
- LDD CN+3 GET SIZE OF *DFT/OS* BUFFER
- LPN 17
- SHN 14
- LMD CN+4
- ADD T2 ADD SIZE OF *MLST*
- ADK DSCBL+1 (A) = LENGTH OF *EICB* TABLES
- ECB SUBR ENTRY/EXIT
- LDC UEML
- CRD T3
- ADK EIBP-UEML
- CRD CM
- LDD CM+3
- ADD CM+4
- ZJN ECBX IF NO *EICB*
- LDC 3S12+EIBP
- RJM CTA
- * CALCULATE ORIGINAL MACHINE FL.
- LDD CA FETCH MEMORY ALLOCATION VALUES
- SHN 14
- LMD CA+1
- ADN D7ST
- CRD AB
- ADN D7CM-D7ST
- CRD CM
- ADN 1
- CRD CN
- LDD T3+4
- LPN 2
- NJP ECB1 IF UEM DEFINED
- LDD CN+4 CALCULATE CURRENT NVE FIELD LENGTH
- SBD CN+2
- STD CM+1
- PJN ECB0 IF NO BORROW
- AOD CN+1 ADJUST FOR BORROW
- AOD CM+1
- ECB0 LDD CN+3
- SBD CN+1
- STD CM
- ADD CM+1
- ZJN ECB1 IF NO NVE FL
- LDD CM+1 CHECK IF NVE FL IS WITHIN RESERVED BLOCK
- SBD CM+4
- STD CM+4
- PJN ECB0.1 IF NO BORROW
- AOD CM+3 ADJUST FOR BORROW
- AOD CM+4
- ECB0.1 LDD CM
- SBD CM+3
- STD CM+3
- MJN ECB1 IF FL WITHIN RESERVED BLOCK
- ADD CM+4
- ZJN ECB1 IF FL WITHIN RESERVED BLOCK
- LDD CM+4 CONVERT 1000B-WORD BLOCKS TO WORDS
- LPN 7
- SHN 11
- STM DSFL+1
- LDD CM+3
- LPN 7
- SHN 14
- LMD CM+4
- SHN -3
- STM DSFL
- * CLEAR CHECKPOINT AND STEP FLAGS.
- ECB1 LDD AB
- LPC 6763
- STD AB
- LDD CA UPDATE STATUS WORD
- SHN 14
- LMD CA+1
- ADN D7ST
- CWD AB
- * PRESERVE NOS *SCD* ACTIVE STATUS AND CLEAR C170 *MDD* FLAG
- * PP RESIDENT SAVE AREA INTERLOCK.
- ADN D7RS-D7ST
- CRD CN
- LDD CN+1
- LPC 1S10 PRESERVE NOS *SCD* ACTIVE STATUS
- STD CN+1
- LDM MDDP
- LPN 10 SET DEDICATED *MDD* STATUS
- SHN 13-3
- RAD CN+1
- LDD CA
- SHN 14
- LMD CA+1
- ADN D7RS
- CWD CN
- LJM ECB2 UPDATE *DFT* CONTROL WORD
- * *DFT* THRESHOLD REQUEST INFORMATION.
- ECBA VFD 4/,8/RQTH,8/0,8/7,8/0,8/0,8/THCI,8/THUE IOU
- VFD 4/,8/RQTH,8/0,8/7,8/1,8/0,8/THCM,8/THUE MEMORY
- VFD 4/,8/RQTH,8/0,8/7,8/2,8/0,8/THCP,8/THUE CPU-0
- ECBB VFD 4/,8/RQTH,8/0,8/7,8/2,8/1,8/THCP,8/THUE CPU-1
- VFD 60/0 TERMINATOR
- ECBAL EQU *-ECBA LENGTH OF THRESHOLD DATA (PP WORDS)
- EJT SPACE 4,10
- ** EJT - VERIFY EXECUTING JOB TABLE.
- *
- * EXIT (A) = EJT LENGTH.
- *
- * CALLS CTA.
- *
- * MACROS CFI.
- EJT SUBR ENTRY/EXIT
- LDN EJTP
- RJM CTA
- CFI EJT,CM+2
- UJN EJTX RETURN
- EMB SPACE 4,10
- ** EMB - VERIFY ERROR MESSAGE BUFFER.
- *
- * EXIT (A) = ERROR MESSAGE BUFFER LENGTH.
- *
- * USES AB - AB+4, CM - CM+4, CN - CN+4, T1 - T1+4.
- *
- * CALLS CTA.
- EMB6 LDN ZERL
- CRD AB
- CRD CN
- AOD AB
- STD AB+1 SET *MESSAGES LOST* FLAG
- LDC EMBMN-2 DEFAULT TO MINIMUM BUFFER SIZE
- EMBA EQU *-1 (ACTUAL SIZE IF WITHIN LIMITS)
- STD CN+4
- EMB7 LDD CM+1 STORE BUFFER INTERLOCK/*IN* WORD
- SHN 14
- LMD CM+2
- CWD AB
- ADN 1 STORE BUFFER *OUT*/*LIMIT* WORD
- CWD CN
- LDD CN+4
- ADN 2
- EMB SUBR ENTRY/EXIT
- LDC 1S12+EMBP
- RJM CTA
- LDD CM+1 READ BUFFER INTERLOCK/*IN* WORD
- SHN 14
- LMD CM+2
- CRD AB
- ADN 1 READ BUFFER *OUT*/*LIMIT* WORD
- CRD CN
- LDD CN+4
- ADC -EMBMN+2
- ZJN EMB1 IF *LIMIT* IS AT MINIMUM
- MJP EMB6 IF *LIMIT* IS TOO SMALL
- EMB1 LDD CN+4 SET BUFFER RECOVERY SIZE
- STM EMBA
- LDN 0
- STD AB+4 CLEAR INTERLOCK AND *1MD ACTIVE* FLAGS
- STD CM+3 SET *IN*.LT.INDEX CORRECT
- LDD AB+3 *IN*
- SBD CN+4 *LIMIT*
- PJP EMB6 IF *IN*.GE.*LIMIT*
- LDD CN+3 *OUT*
- STD CM+4 SET INITIAL MESSAGE INDEX
- EMB2 SBD CN+4
- MJN EMB4 IF INDEX.LT.*LIMIT*
- NJP EMB6 IF INDEX.GT.*LIMIT*
- EMB3 STD CM+4 RESET MESSAGE INDEX
- EMB4 LDD AB+3 *IN*
- SBD CM+4
- ZJP EMB7 IF ALL MESSAGE HEADERS CHECKED
- PJN EMB5 IF INDEX.LT.*IN*
- LDD CM+3
- NJP EMB6 IF *IN*.LT.INDEX NOT CORRECT
- EMB5 STD CM+3 SET *IN*.LT.INDEX FLAG
- LDD CM+1 READ NEXT MESSAGE HEADER
- SHN 14
- LMD CM+2
- ADD CM+4
- ADN 2
- CRD T1
- LDD T1+3 GET MESSAGE LENGTH FROM HEADER
- ZJN EMB3 IF BUFFER TERMINATOR
- RAD CM+4 INCREMENT BUFFER INDEX
- UJN EMB2 CHECK MESSAGE HEADER WORD COUNT
- EST SPACE 4,10
- ** EST - VERIFY EQUIPMENT STATUS TABLE.
- *
- * EXIT (A) = EST LENGTH.
- * (LE) = LAST MASS STORAGE EQUIPMENT + 1.
- *
- * CALLS CTA, SSE.
- *
- * MACROS CFI, SFA.
- EST2 CFI EST,CM+2
- EST SUBR ENTRY/EXIT
- LDN ESTP
- RJM CTA
- LDD CM+3 SET LAST MASS STORAGE EQUIPMENT + 1
- STD LE
- * CLEAR LOAD FLAGS IN *CM* DEVICE ENTRIES.
- LDC 1S17+2RCM SEARCH FOR *CM* ENTRY
- EST1 RJM SSE
- NJN EST2 IF NONE FOUND
- SFA EST,EQ
- ADN EQAE GET EST ASSIGNMENT WORD
- CRD AB
- LDD AB+2 CLEAR LOAD FLAGS
- LPC 1777
- STD AB+2
- SFA EST,EQ REWRITE EST ENTRY
- ADN EQAE
- CWD AB
- UJN EST1 CHECK NEXT ENTRY
- EVT SPACE 4,10
- ** EVT - VERIFY EVENT TABLE.
- *
- * EXIT (A) = TABLE LENGTH.
- *
- * USES AB - AB+4.
- *
- * CALLS CTA.
- EVT SUBR ENTRY/EXIT
- LDC EVTP
- RJM CTA
- LDD CM CLEAR INTERLOCK
- SHN 14
- LMD CM+1
- CRD AB
- LDD AB+4
- SCN 1
- STD AB+4
- LDD CM
- SHN 14
- LMD CM+1
- CWD AB
- LDN EVTLL TABLE LENGTH
- UJN EVTX RETURN
- EXM SPACE 4,15
- ** EXM - VERIFY EXTENDED MEMORY BUFFERS.
- *
- *
- * ENTRY (EN) = EXTENDED MEMORY EST ORDINAL IF DEFINED.
- * (LD) = LINK DEVICE EST ORDINAL IF DEFINED.
- *
- * EXIT (A) = 0.
- *
- * USES AB - AB+4, CM - CM+4.
- *
- * CALLS CLS, CTA.
- EXM SUBR ENTRY/EXIT
- LDK UEML
- CRD AB
- LDD AB+4
- LPN 2
- ADD LD
- LPC 777
- ADD EN
- ZJN EXMX IF NO EXTENDED MEMORY DEFINED
- LDC EDBP CHECK DISPLAY BUFFER ADDRESS
- RJM CTA
- LDN EDBL CLEAR DISPLAY BUFFER
- RJM CLS
- LDD EN
- ZJN EXM3 IF NO EXTENDED MEMORY DEFINED
- LDC EPBP
- CRD AB
- LDD AB+3
- SHN -6
- STD AB
- ZJN EXM3 IF NO I/O BUFFERS
- LDC 3S12+EPBP
- RJM CTA
- EXM2 LDC ECBL CLEAR BUFFER
- RJM CLS
- SOD AB
- NJN EXM2 IF NOT END OF BUFFERS
- * LDN 0
- EXM3 LJM EXMX RETURN
- EXP SPACE 4,10
- ** EXP - ALLOCATE C176 EXCHANGE PACKAGES.
- *
- * EXIT (A) = 0.
- *
- * CALLS SBD, SXA.
- EXP SUBR ENTRY/EXIT
- LDD HO
- SHN -11
- LMN 7
- NJN EXP1 IF NOT C176
- RJM SBD SEARCH FOR BUFFERED DEVICES
- RJM SXA SETUP EXCHANGE PACKAGES
- EXP1 LDN 0
- UJN EXPX RETURN
- FNT SPACE 4,10
- ** FNT - VERIFY FILE NAME TABLE.
- *
- * EXIT (A) = FNT LENGTH.
- *
- * USES AB - AB+4.
- *
- * CALLS CTA.
- *
- * MACROS CFI.
- FNT SUBR ENTRY/EXIT
- LDN FNTP
- RJM CTA
- LDD CA READ SYSTEM FILE FNT ENTRY
- SHN 14
- LMD CA+1
- ERRNZ SYFO SYSTEM FILE FNT ORDINAL .NE. 0
- CRD AB
- LDD AB+4 SET SYSTEM FILE BUSY
- SCN 1
- LMN 1
- STD AB+4
- LDD CA WRITE SYSTEM FILE FNT ENTRY
- SHN 14
- LMD CA+1
- ERRNZ SYFO SYSTEM FILE FNT ORDINAL .NE. 0
- CWD AB
- CFI FNT,CM+2
- UJN FNTX RETURN
- FOT SPACE 4,10
- ** FOT - VERIFY FAMILY ORDINAL TABLE.
- *
- * EXIT (A) = FOT LENGTH.
- *
- * CALLS CTA.
- FOT SUBR ENTRY/EXIT
- LDC FOTP
- RJM CTA
- LDD CM+2
- UJN FOTX RETURN
- INB SPACE 4,10
- ** INB - VERIFY INSTALLATION BLOCK.
- *
- * EXIT (A) = LENGTH OF BLOCK.
- *
- * CALLS CTA.
- INB SUBR ENTRY/EXIT
- LDC 2S12+INBP
- RJM CTA
- LDD CM+4
- UJN INBX RETURN
- JCA SPACE 4,10
- ** JCA - VERIFY JOB CONTROL BUFFER TABLE (*JCB*).
- *
- * EXIT (A) = LENGTH OF AREA.
- *
- * CALLS CTA.
- JCA SUBR ENTRY/EXIT
- LDK JBCP
- RJM CTA
- LDC MXJC*JCBE
- UJN JCAX RETURN
- LDB SPACE 4,10
- ** LDB - ALLOCATE *L* DISPLAY BUFFER.
- *
- * EXIT (A) = 0.
- *
- * CALLS CLS, CTA.
- LDB SUBR ENTRY/EXIT
- LDC 2S12+LDSP
- RJM CTA
- LDC LDSY+LCOM+5 CLEAR BUFFER
- RJM CLS
- LDN 0
- UJN LDBX RETURN
- LID SPACE 4,10
- ** LID - VERIFY LOGICAL ID TABLE.
- *
- * EXIT (A) = TABLE LENGTH.
- *
- * CALLS CTA.
- LID SUBR ENTRY/EXIT
- LDC LIDP
- RJM CTA
- LDD CM+2
- UJN LIDX RETURN
- MCT SPACE 4,10
- ** MCT - VERIFY MEMORY CONTROL TABLE.
- *
- * EXIT (A) = 0 IF NO PSEUDO CONTROL POINTS.
- * = LENGTH OF PSEUDO CONTROL POINT AREAS.
- *
- * USES T3.
- *
- * CALLS CTA.
- MCT SUBR ENTRY/EXIT
- LDC MCTP
- RJM CTA
- LDD CM+2 FORM MCT LENGTH
- SHN 1
- RAD CA+1 ADVANCE CENTRAL ADDRESS
- SHN -14
- RAD CA
- SOD CM+2 EXTRACT PCP COUNT
- SBD NC
- ZJN MCTX IF NO PSEUDO CONTROL POINTS
- STD T3
- LDC 3S12+PCPP VERIFY PCP POINTER
- RJM CTA
- LDD T3 SET LENGTH OF PCP AREAS
- SHN 7
- UJP MCTX RETURN
- MSA SPACE 4,10
- ** MSA - VERIFY MASS STORAGE ALLOCATION TABLE.
- *
- * EXIT (A) = TABLE LENGTH.
- *
- * CALLS CTA.
- MSA SUBR ENTRY/EXIT
- LDC MSAP
- RJM CTA
- LDN MXRS
- UJN MSAX RETURN
- MST SPACE 4,10
- ** MST - VERIFY MASS STORAGE TABLES.
- *
- * EXIT (A) = 0.
- *
- * USES EQ, AB - AB+4.
- *
- * CALLS RMC, SME.
- *
- * MACROS SFA.
- MST1 RJM RMC RECOVER MST
- RJM SME
- NJN MST1 IF NOT END OF EST
- MST SUBR ENTRY/EXIT
- LDN RDEQ
- STD EQ
- SFA EST,,EQ FETCH EST ENTRY FOR *RD* DEVICE
- CRD AB
- UJN MST1 RECOVER *RD* DEVICE
- ODB SPACE 4,10
- ** ODB - ALLOCATE OPERATOR DISPLAY BUFFER.
- *
- * EXIT (A) = 0.
- *
- * USES CM - CM+4.
- *
- * CALLS CLS.
- ODB SUBR ENTRY/EXIT
- LDN ZERL
- CRD CM
- AOD CM SET UP INTERLOCK WORD
- LDD CA
- SHN 14
- LMD CA+1
- CWD CM
- AOD CA+1
- SHN -14
- RAD CA
- LDN LODS-1 CLEAR BUFFER
- RJM CLS
- LDN 0
- UJN ODBX RETURN
- ORT SPACE 4,16
- ** ORT - VERIFY OPTICAL DISK REQUEST TABLE.
- *
- * EXIT (A) = TABLE LENGTH.
- *
- * CALLS CTA.
- *
- * MACROS CFI.
- ORT SUBR ENTRY/EXIT
- LDC ORTP
- RJM CTA CHECK TABLE ADDRESS
- CFI ORT,CM+2 LENGTH OF TABLE
- UJN ORTX RETURN
- OST SPACE 4,16
- ** OST - VERIFY OPTICAL DISK STATUS TABLE.
- *
- * EXIT (A) = TABLE LENGTH.
- *
- * USES T1.
- *
- * CALLS CTA, SSE.
- OST2 LDD T1 RETURN LENGTH
- OST SUBR ENTRY/EXIT
- LDC OSTP
- RJM CTA CHECK TABLE ADDRESS
- LDN 0
- STD T1
- LDC 1S17+2ROD
- OST1 RJM SSE SEARCH FOR *OD* EQUIPMENT
- NJN OST2 IF NO EQUIPMENT FOUND
- LDN OSTE
- RAD T1
- UJN OST1 LOOP
- PDB SPACE 4,10
- ** PDB - CLEAR PREVIEW DISPLAY BUFFER.
- *
- * USES CA, CA+1.
- *
- * CALLS CLS.
- PDB SUBR ENTRY/EXIT
- LDD CA SET INTERLOCK WORD ADDRESS
- SHN 14
- ADD CA+1
- CWM PDBA,ON INITIALIZE INTERLOCK WORD
- STD CA+1 ADVANCE CENTRAL ADDRESS
- SHN -14
- STD CA
- LDC LPDS-1
- RJM CLS CLEAR PREVIEW DISPLAY BUFFER
- LDN 0
- UJN PDBX RETURN
- PDBA VFD 12/7777B,12/0,12/0,12/0,12/0
- PSV SPACE 4,10
- ** PSV - VERIFY PP SAVE AREAS.
- *
- * EXIT (A) = 0.
- *
- * USES CM - CM+4.
- *
- * CALLS CLS, CTA.
- PSV SUBR ENTRY/EXIT
- LDD LD
- SHN 0-13
- ZJN PSVX IF NO ISHARED DEVICES
- LDC 2S12+PPSP READ POINTER WORD
- RJM CTA CHECK TABLE ADDRESS
- PSV1 LDC PPSA CLEAR SAVE AREA
- RJM CLS
- SOD CM+4
- NJN PSV1 IF MORE SAVE AREAS
- UJN PSVX RETURN
- QFT SPACE 4,10
- ** QFT - VERIFY QUEUE FILE TABLE.
- *
- * EXIT (A) = QFT LENGTH.
- *
- * CALLS CTA.
- *
- * MACROS CFI.
- QFT SUBR ENTRY/EXIT
- LDN QFTP
- RJM CTA
- CFI QFT,CM+2
- UJN QFTX RETURN
- RPT SPACE 4,10
- ** RPT - VERIFY RING PORT TABLE.
- *
- * EXIT (A) = TABLE LENGTH.
- *
- * USES T4.
- *
- * CALLS SSE.
- RPT1 LDN RPTL ADD TABLE LENGTH
- RAD T4
- RPT2 RJM SSE SEARCH FOR *RP* EQUIPMENT
- ZJN RPT1 IF FOUND
- LDD T4
- ZJN RPTX IF NO TABLE SPACE RESERVED
- LDD CA+1
- LPN 1S"RPTSM"-1
- ADD T4
- RPT SUBR ENTRY/EXIT
- LDN 0
- STD T4
- LDC 1S17+2RRP
- UJN RPT2 SEARCH FOR EQUIPMENT
- SAB SPACE 4,10
- ** SAB - VERIFY SYSTEM ATTRIBUTE BLOCK.
- *
- * EXIT (A) = TABLE LENGTH.
- *
- * CALLS CTA.
- SAB SUBR ENTRY/EXIT
- LDK SABL
- RJM CTA
- LDD CM+2 TABLE LENGTH
- UJN SABX RETURN
- SCD SPACE 4,10
- ** SCD - VERIFY *SCD* PARAMETER TABLE.
- *
- * EXIT (A) = 0.
- *
- * USES CM - CM+4.
- *
- * CALLS CLS, CTA, SPT.
- SCD1 LDC PSAL CLEAR SAVE AREA
- RJM CLS
- SCD2 LDN 0
- SCD SUBR ENTRY/EXIT
- LDM C8XX
- NJN SCD2 IF NOT 180-CLASS MAINFRAME
- LDC SCDP FETCH PARAMETER TABLE POINTER
- CRD CM
- LDD CM+2
- ADD CM+3
- ZJN SCD1 IF NO *SCI* PARAMETER TABLE
- LDC 2S12+SCDP
- RJM CTA
- RJM SPT SET UP PARAMETER TABLE
- UJN SCD1 RESERVE PP RESIDENT SAVE AREA
- SCT SPACE 4,10
- ** SCT - VERIFY SUBSYSTEM CONTROL TABLE.
- *
- * EXIT (A) = TABLE LENGTH.
- *
- * CALLS CTA.
- SCT SUBR ENTRY/EXIT
- LDC 2S12+SSCP
- RJM CTA
- LDN SSCTL*2 TABLE LENGTH
- UJN SCTX RETURN
- SDA SPACE 4,10
- ** SDA - VERIFY STATISTICAL DATA AREA.
- *
- * EXIT (A) = STATISTICAL DATA AREA LENGTH.
- *
- * CALLS CTA.
- SDA SUBR ENTRY/EXIT
- LDC SDAP CHECK STATISTICAL AREA POINTER
- RJM CTA
- LDN SDAL SET STATISTICAL AREA LENGTH
- UJN SDAX RETURN
- SIE SPACE 4,10
- ** SIE - *SET* INTERNAL ERROR.
- *
- * ENTRY TABLE VERIFICATION PROCESSOR MISSING.
- *
- * EXIT TO *DSE*.
- SIE CON 0 ENTRY
- LDC =C+*SET* INTERNAL ERROR IN *RCM*.+
- JMP DSE DISPLAY ERROR AND HANG
- SIT SPACE 4,10
- ** SIT - VERIFY *SECDED* ID TABLE.
- *
- * EXIT (A) = 0.
- *
- * CALLS CLS, CTA.
- SIT SUBR ENTRY/EXIT
- LDM C8XX
- ZJN SITX IF LOWER 800 SERIES MAINFRAME
- LDC SCRL
- RJM CTA
- LDN 2*/SCR/UIDL CLEAR *SECDED* ID TABLE
- RJM CLS
- LDN 0
- UJN SITX RETURN
- TRT SPACE 4,10
- ** TRT - VERIFY TRACK RESERVATION TABLE POINTERS.
- *
- * EXIT (A) = 0.
- *
- * USES EQ, CM - CM+4, CN - CN+4.
- *
- * CALLS CDL, SME.
- TRT2 LDD AB+4 FETCH TRT LENGTH
- SHN 3
- ADK TDGL
- CRD CM
- ADN TRLL-TDGL READ TRT ADDRESS
- CRD CN
- LDD CN+4 CHECK TRT ADDRESS
- LMD CA+1
- NJN TRT1 IF ADDRESS BAD
- LDD CN+3
- LPN 77
- LMD CA
- NJN TRT1 IF ADDRESS BAD
- RJM CDL
- RAD CA+1 ADVANCE CENTRAL ADDRESS
- SHN -14
- RAD CA
- TRT3 RJM SME
- NJN TRT2 IF NOT END OF MS EST
- TRT SUBR ENTRY/EXIT
- LDN NOPE-1
- STD EQ
- UJN TRT3 BEGIN EQUIPMENT SEARCH
- TRT1 LDC =C*TRT ADDRESS ERROR.*
- JMP DSE DISPLAY ERROR AND HANG
- TITLE PRIMARY SUBROUTINES.
- CTA SPACE 4,10
- ** CTA - CHECK TABLE ADDRESS.
- *
- * ENTRY (A) BITS 0 - 11 = POINTER WORD ADDRESS.
- * BITS 12 - 14 = BYTE INDEX.
- * (CA - CA+1) = CURRENT CM ADDRESS.
- *
- * EXIT (A) = 0.
- * (T5) = POINTER WORD ADDRESS.
- * (CM - CM+4) = POINTER WORD.
- *
- * USES T4.
- CTA2 LDI T4 CHECK POINTER
- LMD CA
- LPN 77
- NJN CTA1 IF POINTER WORD ERROR
- CTA SUBR ENTRY/EXIT
- STD T5 SAVE POINTER WORD ADDRESS
- SHN -14
- ADN CM SET BYTE ADDRESS WITHIN POINTER WORD
- STD T4
- LDD T5 FETCH POINTER WORD
- CRD CM
- LDM 1,T4 CHECK POINTER VALUE
- LMD CA+1
- ZJN CTA2 IF MATCHING ADDRESS
- CTA1 LDC =C*TABLE ADDRESS ERROR.*
- JMP DSE
- SPACE 4,10
- ** COMMON SUBROUTINES.
- COMMON
- TITLE SUBROUTINES.
- CDP SPACE 4,15
- ** CDP - CHECK DAYFILE POINTERS.
- *
- * ENTRY (T3) = BUFFER NUMBER.
- * (T6 - T7) = FWA OF DAYFILE POINTERS.
- * (CA - CA+1) = ADDRESS OF NEXT BUFFER.
- *
- * EXIT (CA - CA+1) ADVANCED.
- *
- * USES AB - AB+4, CM - CM+4, CN - CN+4.
- CDP SUBR ENTRY/EXIT
- LDD T6 VERIFY BUFFER ADDRESS
- SHN 14
- LMD T7
- CRD CM READ FIRST/IN POINTERS
- ADN 1
- CRD AB
- ADN 1 READ DAYFILE FST
- CRD CN
- LDD CM+1 VERIFY BUFFER POINTER
- LMD CA+1
- NJN CDP1 IF POINTER ERROR
- LDD CM
- LMD CA
- ZJN CDP2 IF POINTER CORRECT
- CDP1 LJM CTA1 *TABLE ADDRESS ERROR.*
- CDP2 STD CM+2 CLEAR UNUSED BYTES
- STD CM+3
- STD AB
- STD AB+1
- STD AB+3
- LDD T3 SET BUFFER INDEX
- SHN 6
- ADC 103 APPEND NOT BUSY / NOT INTERLOCKED STATUS
- STD CN+4
- LDD T6 UPDATE BUFFER POINTERS
- SHN 14
- ADD T7
- CWD CM
- ADN 1
- CWD AB
- ADN 1 STORE DAYFILE FST
- CWD CN
- LDD CM+1 SET NEXT BUFFER ADDRESS
- ADD AB+2
- STD CA+1
- SHN -14
- ADD CM
- STD CA
- LJM CDPX RETURN
- RMC SPACE 4,15
- ** RMC - RECOVER MSTS FROM CMR.
- *
- * ENTRY (EQ) = EST ORDINAL.
- * (AB - AB+4) = EST ENTRY.
- * (CA - CA+1) = CURRENT CM ADDRESS.
- *
- * EXIT (CA - CA+1) = CM ADDRESS ADVANCED.
- * TO *DSE* IF MST POINTER ERROR.
- *
- * USES T1, AB - AB+4, CA - CA+1, CM - CM+4, CN - CN+4.
- *
- * CALLS RCA.
- *
- * MACROS SFA.
- RMC SUBR ENTRY/EXIT
- LDD AB+4 SAVE MST POINTER
- STD T1
- SHN 3
- ADN ACGL GET DEVICE ACTIVITY WORD
- CRD CN
- ADN SDGL-ACGL
- CRD AB
- ADN STLL-SDGL READ DEVICE STATUS WORD
- CRD CM
- RJM RCA CHECK VALID MST POINTER
- LMD T1
- ZJN RMC1 IF VALID ADDRESS
- LDC =C*MST POINTER ERROR.*
- JMP DSE DISPLAY MESSAGE AND HANG
- RMC1 LDD CN+4 CLEAR *ACGL* INTERLOCKS
- LPC 140
- STD CN+4
- LDD CN CLEAR PARITY DEVICE ACCESS BIT FOR THIS MF
- SCN ** (MACHINE MASK)
- RMCA EQU *-1
- STD CN
- LDD AB+3 CHECK DEVICE MNEMONIC
- LMC 2RDE
- ZJN RMC1.1 IF *DE* DEVICE
- LMN 2RDP&2RDE
- ZJN RMC1.1 IF *DP* DEVICE
- LDN 0 CLEAR *DAS* OFFLINE UNIT / CYLINDER COUNT
- STD CN+1
- RMC1.1 LDD AB+4 CLEAR MST/TRT INTERLOCK IN *SDGL*
- SCN 77
- STD AB+4
- LDD CM+1 CLEAR *1MV* ACTIVE FLAG
- LPC -200
- STD CM+1
- LDD CM+4 SET DEVICE NOT BUSY
- SCN 3
- LMN 1
- STD CM+4
- LDD T1
- SHN 3
- ADN ACGL
- CWD CN
- ADN SDGL-ACGL
- CWD AB
- ADN STLL-SDGL
- CWD CM
- ADN BDLL-STLL
- CRD CM
- LDD CM CLEAR 9853/*DAS* FLAGS
- SCN 16
- STD CM
- LDD CM+3 CLEAR DAS MMF PARITY DEVICE ACCESS FLAGS
- LPC 7177
- STD CM+3
- LDD T1
- SHN 3
- ADN BDLL
- CWD CM
- ADK DALL-BDLL
- CRD CN
- ADN CTLL-DALL
- CRD AB
- ADK MCLL-CTLL
- CWD ZR
- LDN 0
- STD AB+2 CLEAR ACTIVE BUFFER COUNT
- STD CN+1 CLEAR UNIT INTERLOCKS
- LDD CN CLEAR DEVICE ACTIVITY
- SCN 77
- STD CN
- LDD T1
- SHN 3
- ADN DALL
- CWD CN
- ADN CTLL-DALL
- CWD AB
- LDD EQ
- NJN RMC2 IF NOT *RD* DEVICE
- SFA EST,,EQ
- CRD CM
- LDC 2RRD RESTORE *RD* DEVICE TYPE
- STD CM+3
- LDN 0
- STD CM+2
- SFA EST,EQ
- CWD CM
- RMC2 LDN MSTXL ADVANCE CM ADDRESS
- RAD CA+1
- SHN -14
- RAD CA
- LJM RMCX RETURN
- SBD SPACE 4,10
- ** SBD - SEARCH FOR BUFFERED DEVICES.
- *
- * EXIT (KI) = BUFFERED DEVICE COUNT.
- *
- * USES EQ, CM - CM+4.
- *
- * CALLS CKB, PBD, SME.
- SBD1 LDD AB+4 READ MST
- SHN 3
- ADN DILL
- CRD CM
- LDD CM+2
- ZJN SBD2 IF NOT BUFFERED DEVICE
- RJM PBD
- SBD2 RJM SME
- NJN SBD1 IF NOT END OF EST
- SBD SUBR ENTRY/EXIT
- LDN 0
- STD EQ
- RJM CKB CLEAR CHANNEL ACCUMULATOR
- UJN SBD2 ENTER LOOP
- TITLE LEVEL 3 OPTION PROCESSING.
- SPACE 4,10
- * LEVEL 3 DEADSTART SYNTAX TABLE.
- TSYN BSS 0
- CON ABT
- CON AUT
- CON DAU
- CON GRN
- CON RGO
- CON UPC
- CON 0 END OF TABLE
- ABT SPACE 4,10
- *** ABORT.
- * ABORT,B.
- * ABORTS LEVEL 3 RECOVERY. CHECKPOINTS ALL DEVICES UNLESS
- * *B* IS SPECIFIED IN WHICH CASE ONLY NON-BUFFERED DEVICES
- * ARE CHECKPOINTED.
- ABT DATA C*ABORT*
- LDM DSTO SAVE CURRENT ABORT OPTION
- LPN 14
- STD T1
- LDI KA
- LMN 1R.
- ZJN ABT3 IF *.*
- LMN 1R,&1R.
- NJN ABT1 IF NOT *,*
- AOD KA
- LDI KA
- LMN 1RB
- ZJN ABT2 IF *B*
- ABT1 JMP ILL PROCESS INCORRECT ENTRY
- ABT2 LDN 14
- ABT3 LMN 4
- STD T0
- SBD T1
- NJN ABT4 IF NOT SAME ABORT OPTION
- STD T0
- ABT4 LDM DSTO SET ABORT OPTION
- SCN 14
- LMD T0
- STM DSTO
- LPN 4 UPDATE *ABORT.* OPTION LINE
- SHN 21-2
- ADC OBUFA
- RJM UDS
- LDD T0 UPDATE *ABORT,B.* OPTION LINE
- LPN 10
- SHN 21-3
- ADC OBUFB
- ABT5 RJM UDS UPDATE DISPLAY STATUS
- JMP KBR RETURN
- AUT SPACE 4,10
- *** AUTOLOAD.
- * TOGGLE SELECTION OF AUTOLOADING OF MASS STORAGE CONTROLLERS.
- * INITIALLY AUTOLOADING IS SELECTED.
- AUT DATA C*AUTOLOAD.*
- LDN 2 TOGGLE AUTOLOAD OPTION BIT
- LMM DSTO
- STM DSTO
- LPN 2
- LMN 2
- SHN 21-1
- ADC OBUFC
- JMP ABT5 UPDATE DISPLAY STATUS
- DAU SPACE 4,10
- *** AUTO.
- * TOGGLE THE *DSD* *AUTO* COMMAND SELECTION.
- * INITIALLY *AUTO* IS SELECTED.
- DAU DATA C*AUTO.*
- AOM DAUA TOGGLE THE SELECT
- LPN 1
- SHN 21-0
- ADC OBUFE
- JMP ABT5 UPDATE DISPLAY STATUS
- DAUA CON 1 DEFAULT STATUS IS *YES*
- GRN SPACE 4,10
- *** GRENADE.
- * TOGGLE SELECTION OF THE GRENADE OPERATION FOR MASS STORAGE
- * CONTROLLERS THAT ARE AUTOLOADED. INITIALLY THE GRENADE
- * OPERATION IS NOT SELECTED.
- *
- * THE GRENADE OPERATION CAN INTERRUPT ACTIVITY ON A DRIVE
- * WHICH IS BEING ACCESSED FROM ANOTHER CONTROLLER.
- GRN DATA C*GRENADE.*
- LDN 1 TOGGLE GRENADE OPTION BIT
- LMM DSTO
- STM DSTO
- LPN 1
- SHN 21-0
- ADC OBUFD
- JMP ABT5 UPDATE DISPLAY STATUS
- RGO SPACE 4,10
- *** GO.
- * CONTINUE WITH RECOVERY.
- RGO DATA C*GO.*
- RGO1 LDN 0 GET CHANNEL WORD
- RJM GCW
- LDI T1
- LPN 40
- ZJN RGO2 IF CHANNEL UP
- LDN 0 SET DISPLAY REQUESTED
- STD DS
- LDC OBUFLA DISPLAY THE CHANNEL DOWN STATUS
- STM DRBA
- LJM DRO1 UPDATE DISPLAY
- RGO2 LDM DAUA CHECK *AUTO* SELECT
- LPN 1
- ZJN RGO3 IF *AUTO* NOT SELECTED
- LDK PPCP LOCATE *DSD* PP COMMUNICATION AREA
- CRD CM
- LDD CM+4
- ADN 10+2
- CWM DAU,ON
- RGO3 LJM DROX RETURN
- UPC SPACE 4,10
- *** UPCHAN.
- * CLEAR THE DOWN STATUS OF THE DEADSTART CHANNEL.
- UPC DATA C*UPCHAN.*
- LDC OBUFL RESET THE DISPLAY
- STM DRBA
- LDN 0 GET CHANNEL WORD
- RJM GCW
- LDI T1 CLEAR THE DOWN STATUS
- SCN 40
- STI T1
- LDD T2 STORE THE CHANNEL WORD
- SHN 14
- LMD T3
- CWD CM
- LDN CTALL ACCESS THE EJT ASSIGNMENT TABLE
- RJM GCW
- LDN 0 CLEAR POSSIBLE EJT ASSIGNMENT
- STI T1
- LDD T2 RESTORE THE WORD
- SHN 14
- LMD T3
- CWD CM
- LDK ESTP
- CRD AB
- UPC1 SOD AB+2
- ZJP RGO2 IF END OF EST
- SFA EST
- ADK EQDE
- CRD CM
- LDN CM INITIALIZE CHANNEL INDEX
- STD T1
- UPC2 AOD T1 ADVANCE CHANNEL BYTE INDEX
- LMN CM+3
- ZJN UPC1 IF NO MORE CHANNELS
- LDI T1
- ZJN UPC1 IF NULL CHANNEL
- LMD DH
- LPN 77
- NJN UPC2 IF NOT DEADSTART CHANNEL
- LDI T1 CLEAR DOWN STATUS
- LPC 4777
- STI T1
- SFA EST,AB+2 UPDATE EST ENTRY
- ADK EQDE
- CWD CM
- UJN UPC1 LOOP ON SEARCH
- DRO SPACE 4,10
- ** DRO - DISPLAY RECOVERY OPTIONS.
- *
- * USES DP.
- *
- * CALLS AKL, CKB.
- *
- * MACROS CFNC, DFIM.
- *
- * NOTES EXIT FROM *DRO* IS THRU KEYBOARD ASSEMBLY ON
- * A *GO.* COMMAND.
- DFIM (CON SDCF),*+1
- DROX LDC DDCF DESELECT DISPLAY CONTROLLER
- CFNC
- LDD TH DELAY
- SBN 1
- NJN *-1
- DCN. CH
- LJM * ENTRY/EXIT
- DRO EQU *-1
- LDC DRB
- STM AKLB
- LDC ** SET *IBF* IMMEDIATE RETURN
- ORG *-1
- LOC IBFA
- UJN IBFX RETURN
- LOC *O
- STM IBFA
- LDN DP
- STD LA
- LDC TSYN-1 SET SYNTAX TABLE ADDRESS
- STI LA
- LDN 1 SET KEYBOARD ASSEMBLY
- STD AM
- LDD DS
- NJP RGO1 IF NO DISPLAY REQUESTED
- DRO1 AOM AKLA
- DRO2 RJM AKL ASSEMBLE KEYBOARD LINE
- LDD KI
- ZJN DRO2 IF NO INPUT
- RJM CKB
- UJN DRO1 GET NEXT LINE
- DRB SPACE 4,10
- ** DRB - DISPLAY LEVEL 3 RECOVERY BUFFERS.
- *
- * MACROS CFNC.
- DRB SUBR ENTRY/EXIT
- CFNC SLMF SELECT LEFT SCREEN - MEDIUM CHARACTERS
- LDC OBUFL DISPLAY OPTIONS
- * LDC OBUFLA (DEADSTART CHANNEL DOWN)
- DRBA EQU *-1
- OAM OBUF,CH
- FJM. *,CH WAIT TRANSMISSION COMPLETE
- DCN. CH
- CFNC SRSF SELECT RIGHT SCREEN - SMALL CHARACTERS
- LDC IBUFL DISPLAY INSTRUCTIONS
- OAM IBUF,CH
- STM AKLA
- CFNC THCF TRANSFER HIDDEN AND CLEAR
- DCN. CH
- UJP DRBX RETURN
- GCW SPACE 4,10
- ** GCW - GET CHANNEL CONTROL WORD.
- *
- * ENTRY (A) = CHANNEL TABLE OFFSET.
- *
- * EXIT (T1) = BYTE ADDRESS.
- * (T2 - T3) = CM WORD ADDRESS.
- * (CM - CM+4) = CHANNEL TABLE WORD.
- *
- * USES CM - CM+4, T1 - T3.
- GCW SUBR ENTRY/EXIT
- STD T3 SAVE TABLE OFFSET
- LDD DH DEADSTART CHANNEL
- STD T1
- GCW1 AOD T3 INCREMENT WORD INDEX
- LCN 5 DIVIDE BY 5 LOOP
- RAD T1
- PJN GCW1 IF NOT END OF DIVIDE
- ADN 5+CM
- STD T1
- LDK CHTP FORM ADDRESS
- CRD CM
- LDD CM+2
- SHN 14
- LMD CM+3
- SBN 1
- ADD T3 ADD WORD INDEX
- CRD CM
- STD T3
- SHN -14
- STD T2
- UJN GCWX RETURN
- UDS SPACE 4,10
- ** UDS - UPDATE DISPLAY STATUS.
- *
- * *UDS* UPDATES THE SELECTION STATUS (YES OR NO) OF A
- * COMMAND IN THE OPTION DISPLAY BUFFER.
- *
- * ENTRY (A) = 1/ST, 5/0, 12/BUF.
- * ST = SELECTION STATUS (0=NO, 1=YES).
- * BUF = DISPLAY BUFFER ADDRESS.
- *
- * USES T1, T2.
- UDS SUBR ENTRY/EXIT
- STD T1 SAVE DISPLAY BUFFER ADDRESS
- SHN 1-21 SELECTION STATUS * 2
- ADC UDSA
- STD T2
- LDI T2 UPDATE DISPLAY
- STI T1
- LDM 1,T2
- STM 1,T1
- UJN UDSX RETURN
- UDSA DATA H* NO*
- DATA H* YES*
- SPACE 4,10
- * LEVEL 3 OPTION BUFFER (LEFT SCREEN).
- OBUF BSS 0
- DFIM (CON YCPH)
- CON LN03,CH17
- DATA H*LEVEL 3 OPTIONS*
- DFIM (CON LN07)
- CON LN13,CH09
- DATA H*ABORT.*
- CON CH49
- OBUFA DATA H* NO*
- DFIM (CON LN11)
- CON LN19,CH09
- DATA H*ABORT,B.*
- CON CH49
- OBUFB DATA H* NO*
- DFIM (CON LN15)
- CON LN25,CH09
- DATA H*AUTOLOAD.*
- CON CH49
- OBUFC DATA H* YES*
- DFIM (CON LN19)
- CON LN31,CH09
- DATA H*GRENADE.*
- CON CH49
- OBUFD DATA H* NO*
- DFIM (CON LN23)
- CON LN37,CH09
- DATA H*AUTO.*
- CON CH49
- OBUFE DATA H* YES*
- OBUFL EQU *-OBUF
- DFIM (CON LN26)
- CON LN43,CH09
- DATA H*DEADSTART CHANNEL IS DOWN,*
- DFIM (CON LN27)
- CON LN45,CH09
- DATA H$ENTER *UPCHAN.* TO CONTINUE.$
- OBUFLA EQU *-OBUF
- * LEVEL 3 INSTRUCTION BUFFER (RIGHT SCREEN).
- IBUF BSS 0
- CON YCPH,CH03
- DATA H*INSTRUCTIONS FOR SELECTING LEVEL 3 RECOVERY OPTIONS.*
- CON HL03,CH07
- DATA H*ENTER COMMAND TO TOGGLE SELECTION.*
- CON HL04,CH07
- DATA H*ENTER GO. TO CONTINUE RECOVERY.*
- CON LN07,CH03
- DATA H*ABORT.*
- CON LN08,CH07
- DATA H*CHECKPOINT ALL DEVICES AND ABORT LEVEL 3 RECOVERY.*
- CON LN09,CH07
- DATA H+SELECTING *ABORT.* DESELECTS *ABORT,B.*.+
- CON LN11,CH03
- DATA H*ABORT,B.*
- CON LN12,CH07
- DATA H*CHECKPOINT ALL NON-BUFFERED DEVICES AND ABORT LEVEL*
- CON LN13,CH07
- DATA H+3 RECOVERY. SELECTING *ABORT,B.* DESELECTS *ABORT.*+
- CON LN15,CH03
- DATA H*AUTOLOAD.*
- CON LN16,CH07
- DATA H*TOGGLE THE SELECTION OF BUFFER CONTROLLER AUTOLOADING
- ,.*
- CON LN18,CH03
- DATA H*GRENADE.*
- CON LN19,CH07
- DATA H*TOGGLE THE SELECTION OF THE GRENADE FUNCTION. THE*
- CON LN20,CH07
- DATA H*GRENADE FUNCTION IS ISSUED ONCE THE CONTROLWARE IS*
- CON LN21,CH07
- DATA H*LOADED, CAUSING UNIT RESERVATIONS TO BE CLEARED ON*
- CON LN22,CH07
- DATA H*ALL 844 UNITS PHYSICALLY CONNECTED TO EACH CONTROLLER
- ,.*
- CON LN24,CH03
- DATA H*AUTO.*
- CON LN25,CH07
- DATA H*TOGGLE THE SELECTION OF THE DSD AUTO COMMAND.*
- IBUFL EQU *-IBUF
- SPACE 4,10
- USE LITERALS DUMP LITERALS BLOCK
- PRT SPACE 4,10
- ** PRT - PRESET *RCT*.
- *
- * USES CM - CM+4.
- *
- * MACROS MDIN.
- PRT SUBR ENTRY/EXIT
- LDK MMFL
- CRD CM
- LDD CM+3 SET MACHINE MASK
- RAM RMCA
- LDM .DCS
- ZJN PRTX IF DEADSTART INITIATED FROM CC545
- MDIN MODIFY DISPLAY GENERATORS
- UJN PRTX RETURN
- SPACE 4,10
- * INSTRUCTION MODIFICATION BLOCK.
- DIMB
- ERRNG 7777-*-4 IF OVERFLOW OF PP
- TTL SET/SCP - SETUP CONTROL POINT AREAS.
- TITLE
- IDENT SCP,OVL
- QUAL SCP
- ORG OVL
- *COMMENT SET - SETUP CONTROL POINT AREAS.
- COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
- SCP SPACE 4,10
- ** SCP - SETUP CONTROL POINTS.
- *
- *
- * USES AB - AB+4, CM - CM+4, CN - CN+4, T1 - T6.
- *
- * CALLS INO, IRS, SCA, SFL, SMT, SSF, SXP.
- SCP SUBR ENTRY/EXIT
- RJM INO INITIALIZE OVERLAY
- LDN 0
- RJM SSF SETUP *CMRL*+1
- LDC UEML
- CRD AB
- ADN CPAS-UEML SET FIRST CONTROL POINT ADDRESS
- STD T1
- LDD HO
- SHN 21-13
- LMD AB+4 GET CM COPY FLAG
- SCN 1
- LMM EMAF GET EXPANDED MODE ADDRESSING FLAG
- SHN 10-1
- LPC 700
- LMD HN SET/CLEAR UEM ENABLE FLAG
- STM SCPG
- SCP1 RJM SFL SETUP CP FIELD LENGTH WORDS
- LDN ZERL
- CRD AB
- CRD CM
- CRD CN
- LDD T1 SET MA
- STD CM+1
- ADN FLSW FETCH CM FL CONTROL WORD
- CRD T2
- LDD T5 SET RA
- SHN 6
- STD AB+1
- LMD AB+1
- LMD T4
- SHN 6
- STD AB
- LDD T6 SET FL
- SHN 6
- STD CN+1
- SHN -14
- STD CN
- LDD T1
- ADN 1 STORE (RA)
- CWD AB
- ADN 2-1 STORE (FL)
- CWD CN
- ADN 3-2 STORE (EM)
- CWM SCPG,ON
- ADN ECSW-4 FETCH EXTENDED MEMORY FL CONTROL WORD
- CRD T2
- LDD T4 SET RAE
- SHN 14
- ADD T5
- SCPA SHN 21-2
- * SHN 21-2+UESC
- STD AB
- SHN -6
- SCN 77
- STD AB+1
- LDD T6 SET FLE
- SCPB SHN 21-2
- * SHN 21-2+UESC
- STD CN
- SHN -6
- SCN 77
- STD CN+1
- LDM EMAF
- ZJN SCP2 IF NOT EXPANDED MODE
- LDD AB CONVERT RAE TO EXPANDED FORMAT
- SHN 14
- STD AB
- LMD AB+1
- SHN -6
- STD AB+1
- LDD CN CONVERT FLE TO EXPANDED FORMAT
- SHN 14
- STD CN
- LMD CN+1
- SHN -6
- STD CN+1
- SCP2 LDD T1
- ADN 4 STORE (RAE)
- CWD AB
- ADN 5-4 STORE (FLE)
- CWD CN
- ADN 6-5 STORE (MA)
- CWD CM
- ADN 7-6 STORE (EA)
- CWD CM
- ADN TFSW-7 FETCH EST ORDINAL
- CRD T2
- LDD T2
- ZJN SCP4 IF NO JOB ASSIGNED
- LDD T1
- ADN STSW FETCH CP STATUS
- CRD CM
- LDN 0 CLEAR PP ACTIVITY
- STD CM
- SCP4 RJM IRS
- ADN SPCW-STSW CLEAR SPECIAL PROCESSOR CALL WORD
- CWD ZR
- ADC CRCW-SPCW CLEAR *X* STATUS CPU RECALL CRITERION
- CWD ZR
- LDD T1 SET UP FLSW+1
- RJM SSF
- LDC 200 ADVANCE CP ADDRESS
- RAD T1
- SHN -7
- SBD NC
- MJP SCP1 IF NOT END OF CP-S
- * SET UP SYSTEM CONTROL POINT.
- RJM SFL SETUP FIELD LENGTH WORDS
- RJM SXP SETUP *CPUMTR* PRESET EXCHANGE PACKAGE
- ADN CWQW-15 STORE CPU SCHEDULING PARAMETERS
- CWM SCPD,ON
- ADN FLSW-CWQW-1
- CWD ZR
- ADN JCIW-FLSW STORE JOB CONTROL
- CWM SCPH,ON
- ADN CPTW-JCIW-1
- CWD ZR
- CRD CM
- ADN MP3W-CPTW
- CWM SCPI,ON DISABLE SRU ACCUMULATION
- ADN STLW-MP3W
- CWM SCPE,ON SET MAXIMUM LIMITS FOR SRU AND TIME
- ADN ALMW-STLW-1
- CWM SCPE,ON
- ADK ACLW-ALMW-1
- CWM SCPE,ON
- ADK AACW-ACLW-1
- CWM SCPE,ON
- ADN CPLW-AACW-1
- CWM SCPF,ON
- LDD T1 SETUP *FLSW*+1
- RJM SSF
- LDM SPPC INITIALIZE PP RECALL STACK
- RJM IRS
- LDM .NPCP SET NUMBER OF PSEUDO CONTROL POINTS
- STD T2
- ZJN SCP6 IF NONE OR CM RECOVERY
- * SET UP PSEUDO CONTROL POINT AREAS.
- LDD NC INITIALIZE PCP NUMBER
- STD T1
- SBN CPLK CP LINK TO PCP-S
- SHN 7
- ADN FLSW GET MEMORY CONTROL WORDS
- CRM MCWB,TR
- SCP5 AOD T1 ADVANCE AND SET PCPA ADDRESS
- RJM SCA
- ADN FLSW STORE MEMORY CONTROL WORDS
- CWM MCWB,TR
- SOD T2
- NJN SCP5 IF MORE PCP-S
- * BUILD MEMORY CONTROL TABLE.
- SCP6 UJN SCP7 SKIP TABLE ON CM RECOVERY
- SCPC EQU SCP6
- * PSN (NON CM RECOVERY)
- RJM SMC SET UP MEMORY CONTROL TABLE
- LDN ACML STORE UNASSIGNED MEMORY
- CWM .ACML,ON
- SCP7 LJM SCPX RETURN
- SCPD VFD 2/1,7/MPRS,3/2,12/0,9//SCD/SSSC*JCBE,3/0,24/0
- SCPE VFD 60/-0
- SCPF VFD 60/37777777777777777777B
- SCPG VFD 60/0 EXCHANGE PACKAGE WORD WITH CM COPY FLAG
- SCPH VFD 24/0,12/7777,24/0
- SCPI VFD 1/1,59/0
- TITLE SUBROUTINES.
- SPACE 4,10
- ** COMMON SUBROUTINES.
- MCTSUB
- IRS SPACE 4,10
- ** IRS - INITIALIZE PP RECALL STACK.
- *
- * ENTRY (T1) = CONTROL POINT ADDRESS.
- * (CM - CM+4) = *STSW* WORD.
- *
- * EXIT (A) = ADDRESS OF *STSW* WORD.
- * *STSW* WORD UPDATED IN CONTROL POINT AREA.
- *
- * USES T2 - T2+4.
- IRS SUBR ENTRY/EXIT
- LDN ZERL
- CRD T2
- LDN 2
- STD T2+4
- IRS1 LDD T1 INITIALIZE RECALL LINKAGE BLOCK
- ADC RCCW-2
- ADD T2+4
- CWD T2
- ADN RECW-RCCW CLEAR REQUEST BLOCK
- CWD ZR
- AOD T2+4 ADVANCE LINKAGE
- LMN LREC+1
- NJN IRS1 IF NOT END OF RECALL AREA
- LDD CM+1
- LMK PEET
- ZJN IRS2 IF CPU PARITY ERROR
- LDN 0 CLEAR ERROR FLAG
- STD CM+1
- IRS2 LDN 1 SET NEXT AVAILABLE RECALL SLOT
- STD CM+4
- LDD T1 STORE CONTROL POINT STATUS WORD
- ADN STSW
- CWD CM
- UJN IRSX RETURN
- SFL SPACE 4,10
- ** SFL - SET CONTROL POINT FIELD LENGTH WORDS.
- *
- * ENTRY (T1) = CP ADDRESS.
- * (NC) = SYSTEM CONTROL POINT NUMBER.
- *
- * EXIT *FLSW* WRITTEN TO CP AREA.
- * *ECSW* WRITTEN TO CP AREA.
- SFL1 LDN SFLE-SFLD SET *FLSW* FOR REMAINING CP-S
- RAM SFLB
- LDN SFLG-SFLF SET *ECSW* FOR REMAINING CP-S
- SFL2 RAM SFLC
- SFL SUBR ENTRY/EXIT
- SFLA UJN SFLX RETURN IF CM RECOVERY
- * PSN (IF INITIALIZING CM)
- LDD T1
- ADN FLSW
- CWM SFLD,ON STORE *FLSW* FOR FIRST CP
- * CWM SFLE,ON (*FLSW* FOR REMAINING CP-S)
- SFLB EQU *-1
- ADK ECSW-FLSW-1
- CWM SFLF,ON STORE *ECSW* FOR FIRST CP
- * CWM SFLG,ON (*ECSW* FOR REMAINING CP-S)
- * CWM SFLH,ON (*ECSW* FOR SYSTEM CP)
- SFLC EQU *-1
- SHN -7
- SBN 1
- ZJN SFL1 IF FIRST CP
- SBD NC
- ADN 2
- NJN SFLX IF NOT LAST CP
- LDN ZERL
- CRM SFLE,ON SET *FLSW* FOR SYSTEM CP
- LDN SFLH-SFLG
- UJN SFL2 SET *ECSW* FOR SYSTEM CP
- SFLD VFD 60/0 *FLSW* FOR FIRST CONTROL POINT
- SFLE VFD 60/0 *FLSW* FOR CONTROL POINTS
- SFLF VFD 60/0 *ECSW* FOR FIRST CONTROL POINT
- SFLG VFD 60/0 *ECSW* FOR CONTROL POINTS
- SFLH VFD 60/0 *ECSW* FOR SYSTEM CONTROL POINT
- SMC SPACE 4,10
- ** SMC - SETUP MEMORY CONTROL TABLE.
- *
- * ENTRY (NC) = SYSTEM CP NUMBER.
- * (NS) = MCT ENTRY COUNT.
- *
- * USES KA, KB, CN - CN+4.
- *
- * CALLS CTE.
- SMC SUBR ENTRY/EXIT
- LDN 0
- STD KA INITIALIZE CP NUMBER
- CRD CN
- LDD NS SET MCT ENTRY COUNT
- STD KB
- SMC1 LDD KA
- STD CN SET BACKWARD LINK
- LDD CN+1
- STD KA CURRENT = PREVIOUS FORWARD LINK
- LMD NC
- ZJN SMC3 IF CREATING ENTRY FOR SYSTEM CP
- AOD CN+1
- ADN CPLK CHECK NEW FORWARD LINK
- SBD NC
- NJN SMC2 IF NOT CP TO LINK TO PCP-S
- LDD NC
- ADN 1 SET FIRST PCP NUMBER
- STD CN+1
- SMC2 LDD CN+1 CHECK NEW FORWARD LINK
- LMD NS
- NJN SMC4 IF NOT LINKING OUT OF PCP-S
- LDD NC
- SBN CPLK SET FORWARD LINK TO REAL CP
- SMC3 STD CN+1
- SMC4 LDN FLSW CREATE TABLE ENTRY FOR CM
- RJM CTE
- SMCA UJN SMC5 (USER XM NOT IN UEM)
- ORG SMCA
- LDN ECSW CREATE TABLE ENTRY FOR XM
- RJM CTE
- SMC5 SOD KB
- NJN SMC1 IF NOT END OF TABLE
- UJP SMCX RETURN
- SSF SPACE 4,10
- ** SSF - SET SECOND FLSW/CMRL WORD.
- *
- * ENTRY (A) = CONTROL POINT AREA ADDRESS.
- *
- * USES AB - AB+4.
- SSF SUBR ENTRY/EXIT
- ADN FLSW
- CRD AB
- STD T0
- LDD AB+2 FORM RA - NFL
- SHN 14
- ADD AB+3
- SBD AB
- STD AB+2
- SHN -14
- STD AB+1
- LDC 4000 FORM 4000 + NFL
- ADD AB
- STD AB+3
- LDN 0
- STD AB
- AOD T0 WRITE SECOND WORD
- CWD AB
- UJN SSFX RETURN
- SXP SPACE 4,15
- ** SXP - SETUP *CPUMTR* PRESET EXCHANGE PACKAGE.
- *
- * ENTRY (EN) = EXTENDED MEMORY EST ORDINAL.
- * (HO) = HARDWARE OPTIONS.
- * (NC) = SYSTEM CONTROL POINT NUMBER.
- * (FL - FL+1) = CM FIELD LENGTH.
- *
- * EXIT (A) = EXCHANGE PACKAGE ADDRESS OF X5.
- * (T1) = EXCHANGE PACKAGE ADDRESS.
- *
- * USES AB - AB+4, CM - CM+4, CN - CN+4, T1 - T7.
- SXP SUBR ENTRY/EXIT
- LDM EMSC
- RAM SXPA
- STM SXPB PRESET SHIFT INSTRUCTIONS
- LPN 77
- RAM SXPC
- LDN ZERL
- CRD AB
- CRD CM
- CRD CN
- ADN UEML-ZERL READ UEM PARAMETERS
- CRD T3
- LDD FL+1 SET CM FIELD LENGTH
- SHN 6
- STD CM+1
- LDD FL
- SHN 14
- LMD FL+1
- SHN -6
- STD CM
- LDD HO SET/CLEAR UEM ENABLE FLAG
- SHN 21-13
- LMD T3+4 GET CM COPY FLAG
- SCN 1
- LMM EMAF SET/CLEAR EXPANDED MODE ADDRESSING
- SHN 7-0
- LPC 700
- LMC 100+EEMC&1 APPEND EXIT MODE
- STD CN
- LDM EMTY
- ZJN SXP1 IF NO CPU ACCESS EST ENTRY PRESENT
- LMN 4
- ZJN SXP1 IF UEM DEFINED
- LDD CN CLEAR CM COPY FLAG FOR *CPUMTR*
- LPC -400
- STD CN
- SXP1 LDD NC
- SHN 7
- STD AB+1 SET (MA)
- STD T1
- ADN 1 CLEAR (RA)
- CWD ZR
- ADN 2-1 STORE (FL)
- CWD CM
- ADN 3-2 STORE (EM)
- CWD CN
- ADN 6-3 STORE (MA)
- CWD AB
- ADN 7-6 STORE (EA)
- CWD AB
- LDM DSFL+1
- ADD CM+1
- STD AB+1 ADJUST FL FOR DSCB
- SHN -14
- ADM DSFL
- ADD CM
- STD AB
- LDN 0 CLEAR DIRECT CELLS
- STD CN
- LDD EN
- NJN SXP2 IF EXTENDED MEMORY EQUIPMENT DEFINED
- LDD T7
- LPN 2
- ZJP SXP6 IF NO USER XM IN UEM
- LDD T4
- UJN SXP3 USE XM FIELD LENGTH FROM *UEML*
- SXP2 LDM EMFL
- SXP3 SHN 0
- * SHN EMSC
- SXPA EQU *-1
- SHN 17
- STD CN
- SHN -6
- SCN 77
- STD CN+1
- LDM EMAF
- ZJN SXP4 IF NOT EXTENDED MODE
- LDD CN
- SHN 14
- STD CN CONVERT FLE TO EXPANDED FORMAT
- LMD CN+1
- SHN -6
- STD CN+1
- LDD CM
- SHN 14
- STD CM CONVERT RAE TO EXPANDED FORMAT
- LMD CM+1
- SHN -6
- STD CM+1
- SXP4 LDM EMTY
- NJN SXP5 IF XM EQUIPMENT DEFINED
- LDD T7
- LPN 2
- NJN SXP7 IF UEM WITH NO EQUIPMENT
- SXP5 SBN 3
- ZJN SXP6 IF LCME
- SBN 4-3
- ZJN SXP7 IF UEM
- LDC 4000
- RAD CN ENABLE FLAG REGISTER OPERATIONS
- LDD T7
- LPN 2
- ZJN SXP6 IF NOT SIMULTANEOUS UEM/EXTENDED MEMORY
- LDD T4
- SXPB SHN 0
- * SHN EMSC (EMSC = EXTENDED MEMORY SHIFT COUNT)
- LPN 7
- SHN 11
- RAD AB+1 INCREASE FL TO INCLUDE USER XM
- SHN -14
- RAD AB
- LDD T4
- SXPC SHN -3
- * SHN -3+EMSC
- RAD AB
- LDD T1 UPDATE (FL) IN EXCHANGE PACKAGE
- ADN 2
- CWD AB
- SXP6 LDN ZERL CLEAR RAE
- CRD CM
- SXP7 LDD T1
- ADN 4 STORE (RAE)
- CWD CM
- ADN 5-4 STORE (FLE)
- CWD CN
- ADN 14-5 PASS FL IN X4
- CWD AB
- ADN 15-14 PASS FLE IN X5
- CWD CN
- LJM SXPX RETURN
- INO SPACE 4,10
- ** INO - INTIALIZE OVERLAY.
- *
- * ENTRY (RS) = RECOVERY STATUS.
- * (NC) = SYSTEM CONTROL POINT NUMBER.
- * (FL - FL+1) = EXECUTION FIELD LENGTH.
- *
- * EXIT (NS) = NUMBER OF MCT ENTRIES.
- *
- * USES CM - CM+4, CN - CN+4.
- *
- * CALLS CLS.
- *
- * MACROS MCTPRS.
- INO SUBR ENTRY/EXIT
- LDM UESC
- RAM SCPA PRESET SHIFT INSTRUCTIONS
- STM SCPB
- MCTPRS SET UP *MCTSUB* ROUTINES
- LDD RS
- LPN SYMK
- LMN SYCM
- ZJN INOX IF RECOVERING CENTRAL MEMORY
- LDN PSNI
- STM SFLA ENABLE *FLSW*/*ECSW* INITIALIZATION
- STM SCPC
- LDC CPAS
- STD CA+1
- SHN -14
- STD CA
- LDD NC
- SHN 7
- RJM CLS CLEAR CONTROL POINT AREAS
- LDN CMRL
- CRD CM
- LDD CM+4 PRESET *FLSW* FOR FIRST CP
- STM SFLD+3
- LDD FL PRESET *FLSW* FOR CONTROL POINTS
- STM SFLE+2
- LDD FL+1
- STM SFLE+3
- LDN ECRL
- CRD CM
- ADK UEML-ECRL
- CRD CN
- LDD CN+4
- LPN 2
- ZJN INO1 IF UEM NOT DEFINED
- LDD CM
- NJN INO1 IF UEM DEFINED AS EXTERNAL EQUIPMENT
- LDD CM+4
- STM SFLF+3 FIRST CP RAX = CP ZERO FLX
- LDD CM+1
- STM SFLG+3 CP RAX = TOTAL USER XM FL
- STM SFLH+4
- UJN INO2 RETURN
- INO1 LDC * DISABLE XM MCT ENTRIES
- ORG *-1
- LOC SMCA
- UJN SMC5 SKIP CREATION OF XM ENTRIES IN MCT
- LOC *O
- STM SMCA
- INO2 LJM INOX RETURN
- SPACE 4,10
- MCWL EQU ECRL+1-FLSW LENGTH OF MEMORY CONTROL WORDS
- ERRNZ MCWL-3 CODE DEPENDS ON VALUE
- MCWB EQU 10000-5*MCWL BUFFER FOR MEMORY CONTROL WORDS
- SPACE 4,10
- QUAL
- SCP EQU /SCP/SCP
- ERRNG 7777-*-4 IF PP OVERFLOW
- TTL SET - INITIALIZE SYSTEM.
- SPACE 4
- END
cdc/nos2.source/opl871/set.txt ยท Last modified: 2023/08/05 17:24 by Site Administrator