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
  1. IDENT SET,0
  2. PERIPH J
  3. BASE MIXED
  4. SST LA,MA,.EST,DLYA
  5. *COMMENT SET - INITIALIZE SYSTEM.
  6. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  7. TITLE SET - INITIALIZE SYSTEM.
  8. SPACE 4
  9. *** SET - INITIALIZE SYSTEM.
  10. *
  11. * G. R. MANSFIELD. 70/12/13.
  12. * D. A. HIVELEY. 72/07/01.
  13. * J. L. WARDELL. 73/01/15.
  14. * P. D. HAAS. 74/07/24.
  15. SPACE 4
  16. *** *SET* PERFORMS SYSTEM INITIALIZATION BY PROCESSING
  17. * TEXT DECKS ON THE DEAD START TAPE. THE TEXT RECORDS
  18. * MAY CONSIST OF ANY NUMBER OF LOGICAL GROUPINGS WITH A
  19. * PROCESSING OVERLAY. THE ASSEMBLY PROCESS REQUIRES 2 TEXT
  20. * RECORDS, THE FIRST CONTAINS INSTRUCTIONS FOR THE OPERATOR,
  21. * AND THE SECOND CONTAINS THE ACTUAL TEXT. NEITHER OF THESE
  22. * RECORDS SHOULD BE LONGER THAN ONE TAPE PRU. THE PROCESS OF
  23. * ASSEMBLY CONTINUES UNTIL THE RECORD *PP/PPR* IS READ AS
  24. * AN OVERLAY.
  25. *
  26. * EXAMPLE - THE FOLLOWING RECORDS ARE PRESENT.
  27. * CMR CENTRAL MEMORY INITIALIZER
  28. * CMRINST INSTRUCTIONS FOR USE
  29. * CMRDECK TEXT FOR ASSEMBLY
  30. SPACE 4,10
  31. *CALL COMPMAC
  32. *CALL COMDMAC
  33. QUAL BIO
  34. *CALL COMSBIO
  35. QUAL *
  36. *CALL COMSDFT
  37. LIST X
  38. *CALL COMSDSL
  39. LIST *
  40. *CALL COMSDST
  41. *CALL COMSESS
  42. *CALL COMSHIO
  43. QUAL IOU
  44. *CALL COMSIOU
  45. QUAL *
  46. *CALL COMSLSD
  47. *CALL COMSMSC
  48. *CALL COMS176
  49. *CALL COMPCHM
  50. *CALL COMSCPS
  51. *CALL COMSEJT
  52. *CALL COMSMLS
  53. *CALL COMSMMF
  54. *CALL COMSMSP
  55. *CALL COMSMST
  56. QUAL PFM
  57. *CALL COMSPFM
  58. QUAL *
  59. *CALL COMSPIM
  60. *CALL COMSREM
  61. QUAL SCR
  62. *CALL COMSSCR
  63. QUAL *
  64. *CALL COMSSRU
  65. *CALL COMSSSD
  66. *CALL COMSSSJ
  67. *CALL COMS1DS
  68. SPACE 4
  69. TITLE DIRECT LOCATION ASSIGNMENTS.
  70. **** DIRECT LOCATION ASSIGNMENTS.
  71.  
  72.  
  73. ORG 0
  74. T0 CON PRS-1 TRANSFER ADDRESS
  75. T1 CON 0
  76. T2 CON 0 *SCD* PP NUMBER ON ENTRY
  77. T3 CON 0
  78. T4 CON 0 DEADSTART CHANNEL ON ENTRY
  79. T5 CON 0 INTERCOMMUNICATIONS CHANNEL ON ENTRY
  80. T6 CON 0
  81. T7 CON 77
  82.  
  83. CM VFD 60/0 CM WORD BUFFER
  84. TA CON 0 TABLE ADDRESS
  85. NC EQU TA NUMBER OF CONTROL POINTS + 1
  86. ID CON 2RAA DEFAULT MACHINE ID
  87. LD CON 0 1/ISD FLAG, 11/MMF LINK DEVICE
  88.  
  89. CN VFD 60/0 CM WORD BUFFER
  90. CA CON 0,1 CENTRAL ADDRESS
  91. ES CON /EQP/EBUT EQUIPMENT STATUS ADDRESS
  92.  
  93. EB CON 0 *EBUF* POINTER
  94. ET CON 0 *TDDB* POINTER
  95. MS CON 0 *TMSD* POINTER SET BY */EQ1/SMD*
  96. * *TETY* POINTER SET BY */EQ2/EQM*.
  97. EQ CON 0 EST ORDINAL
  98. LA CON OVL OVERLAY LOAD ADDRESS
  99. RS CON 0 RECOVERY STATUS
  100. KB CON 0 KEYBOARD BUFFER ADDRESS
  101. ST CON 0 SYNTAX TABLE ADDRESS
  102.  
  103. DP CON 0 DISPLAY CONTROL (IPRDECK)
  104. MZ CON 0,0 TOTAL CENTRAL MEMORY SIZE/100B
  105. RM CON 0 RECOVERY MODE
  106. DI CON -0 TEXT DECK INDEX
  107. DF CON 0 DEADSTART FUNCTION
  108. DH CON DC DEADSTART CHANNEL
  109.  
  110. * *HO* BIT DEFINITIONS (SAME AS MABL) -
  111. *
  112. * 0001 - CPU0 NOT PRESENT
  113. * 0002 - CPU1 NOT PRESENT
  114. * 0004 - IF 865/875, 0=865, 1=875
  115. * 0010 - CMU NOT PRESET
  116. * 0020 - CPU0 DOES NOT HAVE A STACK
  117. * 0040 - RESERVED
  118. * 0100 - NOT A CYBER 170 (NO SCR PRESENT)
  119. * 0200 - NOT A CYBER 70 (NO I/L REGISTER PRESENT)
  120. * 0400 - NOT A CYBER 170-700
  121. * 3000 - 0 IF NOT 7000-TYPE CPU
  122. * - 1 IF CYBER 76 MODEL A
  123. * - 2 IF CYBER 76 MODEL B
  124. * - 3 IF CYBER 176
  125. * 4000 - NOT A CYBER 170-800
  126.  
  127. HO CON 0 HARDWARE OPTIONS
  128.  
  129. AB VFD 60/0 ASSEMBLY BUFFER
  130. PD CON 0 POSSIBLE LINK DEVICE (=5 IF EST 5 IS ESM)
  131. FL CON 0,1770 DEFAULT EXECUTION MEMORY SIZE
  132.  
  133. DS CON 0 DISPLAY STATUS
  134. KI CON 0 KEYBOARD INDEX
  135. KM CON 0 KEYBOARD MESSAGE
  136. KA CON 0 CHARACTER ADDRESS
  137. NS CON 0 NUMBER OF SHARED MS DEVICES
  138. XC CON CH01 X-COORDINATE
  139. YC CON 0 Y-COORDINATE
  140. AM CON 0 ASSEMBLY MODE
  141.  
  142. ON CON 1 CONSTANT 1
  143. HN CON 100 CONSTANT 100
  144. TH CON 1000 CONSTANT 1000
  145. TR CON 3 CONSTANT 3
  146. EN CON 0 EXTENDED MEMORY CPU ACCESS EST ORDINAL
  147. DV CON TDDCL MASS STORAGE DESCRIPTOR TABLE LENGTH
  148. LE CON NOPE LAST EST ORDINAL
  149. ZR VFD 60/0 ZERO WORD
  150. ****
  151. TITLE ASSEMBLY CONSTANTS.
  152. SPACE 4,10
  153. * ASSEMBLY CONSTANTS.
  154.  
  155.  
  156. BC EQU 1 BUFFER PP CHANNEL
  157. XPC EQU 100 C176 EXCHANGE PACKAGE SIZE
  158. MEBF EQU DSDL+12 MICROCODE/EI BUFFER
  159. ERRNZ CPAS-3-MEBF
  160. BBFL EQU CPML+PRSL BASIC BUFFER LENGTH
  161. EBFL EQU BBFL+5000/100 EXTENDED BUFFER LENGTH
  162. EDBL EQU 44 EXTENDED MEMORY DISPLAY BUFFER LENGTH
  163. LDEQ EQU 5 DEFAULT LINK DEVICE EQUIPMENT NUMBER
  164. DBPS EQU 2*400-3*3-2*1 PP SAVE AREA CONSTANT
  165. PSAL EQU PPFW/5 *SCI* PP RESIDENT SAVE AREA LENGTH
  166. QUAL$ EQU 1
  167.  
  168. YCPH EQU LN02 Y-COORDINATE - PRIMARY HEADER LINE
  169. YCSH EQU LN04 Y-COORDINATE - SECONDARY HEADER LINE
  170. SPACE 4,10
  171. * BUFFER PP FUNCTIONS.
  172.  
  173.  
  174. TBPF BSS 0
  175. LOC 0
  176. RSBF BSS 1 RESET BUFFER PP
  177. IFBF BSS 1 INPUT FIRST BUFFER
  178. ISBF BSS 1 INPUT SECOND BUFFER
  179. DDDF BSS 1 DISPLAY BUFFER
  180. UECF BSS 1 UPDATE EQUIPMENT COUNT
  181. ONLF BSS 1 OUTPUT NEXT LINE
  182. RCLF BSS 2 REPLACE CURRENT LINE
  183. ANLF EQU RCLF+1 ADD NEXT LINE
  184. ADBF BSS 1 ADVANCE BUFFER
  185. ADDF BSS 1 ADVANCE DISPLAY
  186. RPSF BSS 1 RESET SECOND BUFFER
  187. SPACE 4,10
  188. * MASS STORAGE DESCRIPTOR TABLE TAGS.
  189.  
  190.  
  191. BSS 0
  192. LOC 0
  193. DVFA BSS 1 FILE ALLOCATION FLAGS
  194. DVNT BSS 1 NUMBER OF TRACKS
  195. DVPR BSS 1 3/ CN, 3/ C2, 1/ F2, 3/ 0,1/ CD, 1/ PF
  196. * CN = CONTROLLER NUMBER
  197. * C2 = CONTROLLER NUMBER, SECOND CHANNEL
  198. * F2 = SECOND CONTROLLER NUMBER FLAG
  199. * CD = SYSTEM CHECKPOINT DEVICE
  200. * PF = ISD PRESET FLAG
  201. DVPF BSS 2 8/ NC,8/ SM,8/ DM
  202. * NC = NUMBER OF CATALOG TRACKS
  203. * SM = SECONDARY MASK
  204. * DM = DEVICE MASK
  205.  
  206. DVNM BSS 3 FAMILY OR PACK NAME
  207. DVDN BSS 1 DEVICE NUMBER
  208. DVAP BSS 1 APRDECK NUMBER
  209.  
  210. DVED BSS 1 EQUIPMENT DESCRIPTION
  211. DVES BSS 0 1000B WORD BLOCKS OF EM (2 LOCATIONS)
  212. DVUN BSS 4 UNIT LIST
  213. DVUNL EQU *-DVUN LENGTH OF UNIT LIST
  214.  
  215. DVTH BSS 0 DEVICE THRESHOLD WORD
  216. DVVF BSS 1 VALIDATION FAILURE THRESHOLD
  217. DVRA BSS 1 RESTRICT ACTIVITY TRACK THRESHOLD
  218. DVLS BSS 1 LOW SPACE TRACK THRESHOLD
  219. DVRE BSS 1 RECOVERED ERROR THRESHOLD
  220. DVUE BSS 1 UNRECOVERED ERROR THRESHOLD
  221.  
  222. DVCT BSS 1 1/ SHARED DEVICE FLAG,
  223. * 11/ DEFAULT NUMBER OF CATALOG TRACKS
  224. DVAI BSS 1 6/ CONTROLWARE LOAD, 6/ ALGORITHM INDEX
  225. DVDI BSS 1 6/ DRIVER INDEX, 6/ UNUSED
  226. DVSL BSS 1 1/ FULL TRACK FLAG,
  227. * 11/ SECTOR LIMIT + MAX PARTITION NO.
  228. DVCO BSS 1 12/ CYLINDER OFFSET FOR THIS PARTITION
  229.  
  230. TDDEL BSS 0 LENGTH OF MS DESCRIPTOR TABLE ENTRY
  231. ERRNZ TDDEL/5*5-TDDEL TABLE LENGTH MUST BE MULTIPLE OF 5
  232. TDDCL EQU TDDEL/5 CM WORD LENGTH OF TABLE
  233. ERRNZ TDDCL-5 DV VALUE DEPENDS ON LENGTH OF TABLE
  234. .TDDB EQU TDDCL*ESMX+77 CM BUFFER SIZE PLUS ROUNDING FACTOR
  235. TDDBL EQU .TDDB/100 CM BUFFER LENGTH/100B FOR TABLE
  236. SPACE 4,10
  237. * DEFAULT MASS STORAGE ERROR THRESHOLDS.
  238.  
  239.  
  240. ORG AB
  241. AB INDEX
  242. INDEX DVVF-DVTH,1
  243. INDEX DVRA-DVTH,0 TRACK COUNT / 8
  244. INDEX DVRE-DVTH,50
  245. INDEX DVLS-DVTH,0 TRACK COUNT / 16
  246. INDEX DVUE-DVTH,1
  247. ORG TBPF
  248. SPACE 4,10
  249. ** MACRO SUBROUTINES FOR ASSEMBLING DIRECTIVE VALUES AND NAMES.
  250.  
  251.  
  252. AODSUB MACRO
  253. LIST G
  254. AOD SPACE 4
  255. ** AOD - ASSEMBLE OCTAL DIGITS.
  256. *
  257. * ENTRY (KA) = ADDRESS OF CHARACTER STRING.
  258. *
  259. * EXIT (A) = LOWER ASSEMBLY.
  260. * (AB - AB+4) = ASSEMBLED VALUE.
  261. * ERROR IF SEPARATOR NOT *,* OR *.*.
  262. *
  263. * CALLS CDR.
  264.  
  265.  
  266. AOD1 LDD AB+4 RETURN WITH LOWER ASSEMBLY
  267.  
  268. AOD SUBR ENTRY/EXIT
  269. RJM CDR
  270. LMN 1R, CHECK SEPARATOR
  271. ZJN AOD1 IF *,*
  272. LMN 1R.&1R,
  273. ZJN AOD1 IF *.*
  274. JMP ILL PROCESS INCORRECT ENTRY
  275.  
  276. LIST *
  277. AODSUB ENDM
  278. ASDSUB MACRO
  279. LIST G
  280. ASD SPACE 4,10
  281. ** ASD - ASSEMBLE DIGITS.
  282. *
  283. * ENTRY (KA) = ADDRESS OF CHARACTER STRING.
  284. *
  285. * EXIT (AB - AB+4) = ASSEMBLED DIGITS.
  286. * ERROR EXIT IF NO *.*.
  287. *
  288. * CALLS CDR.
  289.  
  290.  
  291. ASD1 LDD AB+4 RETURN WITH LOWER ASSEMBLY
  292.  
  293. ASD SUBR ENTRY/EXIT
  294. RJM CDR
  295. LMN 1R.
  296. ZJN ASD1 IF *.*
  297. JMP ILL PROCESS INCORRECT ENTRY
  298.  
  299. LIST *
  300. ASDSUB ENDM
  301. ASNSUB MACRO
  302. LIST G
  303. ASN SPACE 4,10
  304. ** ASN - ASSEMBLE NAME.
  305. *
  306. * ENTRY (A) = NUMBER OF CHARACTERS TO ASSEMBLE.
  307. * (KA) = ADDRESS OF CHARACTER STRING.
  308. *
  309. * EXIT (CM - CM+4) = ASSEMBLED NAME.
  310. * (A) = 0 IF ASSEMBLY TERMINATED ON *,* OR *.*.
  311. * (T0) = NUMBER OF CHARACTERS ASSEMBLED.
  312. *
  313. * USES T1, T2.
  314.  
  315.  
  316. ASN2 AOD T0 ADVANCE CHARACTER COUNT
  317. SBN 1
  318. SHN 21-0 FORM BUFFER ADDRESS
  319. ADN CM
  320. STD T1
  321. LMD T1 CLEAR ADDRESS
  322. LMI KA INSERT CHARACTER
  323. MJN ASN3 IF CHARACTER PACKED LOW
  324. SHN 6 POSITION CHARACTER HIGH
  325. ASN3 RAI T1 ASSEMBLE BYTE
  326. AOD KA ADVANCE CHARACTER BUFFER
  327. SOD T2 DECREMENT CHARACTER COUNT
  328. NJN ASN1 IF NOT END OF ASSEMBLY
  329. LDD T0
  330.  
  331. ASN SUBR ENTRY/EXIT
  332. STD T2 SET CHARACTER COUNT
  333. LDN 0 CLEAR ASSEMBLY BUFFER
  334. STD T0
  335. CRD CM
  336. AOD KA SKIP SEPARATOR
  337. ASN1 LDI KA CHECK NEXT CHARACTER
  338. SBN 1R9+1
  339. MJN ASN2 IF ALPHANUMERIC
  340. SBN 1R,-1R9-1
  341. ZJN ASNX IF *,*
  342. SBN 1R.-1R,
  343. ZJN ASNX IF *.*
  344. JMP ILL PROCESS INCORRECT ENTRY
  345.  
  346. LIST *
  347. ASNSUB ENDM
  348. CDRSUB MACRO
  349. LIST G
  350. CDR SPACE 4,10
  351. ** CDR - CONVERT DIGITS RIGHT ADJUSTED.
  352. *
  353. * ENTRY (KA) = ADDRESS OF CHARACTER STRING.
  354. *
  355. * EXIT (A) = SEPARATOR CHARACTER.
  356. * (AB - AB+4) = ASSEMBLY.
  357. *
  358. * USES T1, T2.
  359.  
  360.  
  361. CDR4 SBN 1R -1R8
  362. ZJN CDR3 IF SPACE
  363. CDR5 LDI KA RETURN WITH CHARACTER
  364.  
  365. CDR SUBR ENTRY/EXIT
  366. LDN ZERL CLEAR ASSEMBLY BUFFER
  367. CRD AB
  368. CDR1 LDI KA CHECK CHARACTER
  369. SBN 1R0
  370. MJN CDR5 IF ALPHA
  371. SBN 1R8-1R0
  372. PJN CDR4 IF NOT OCTAL DIGIT
  373. ADN 10 STORE DIGIT
  374. STD T1
  375. LDN AB+4 SET BYTE ADDRESS
  376. STD T2
  377. CDR2 LDI T2 LOAD BYTE
  378. SHN 3
  379. LMD T1 ADD NEW DIGIT
  380. STI T2 STORE
  381. SHN -14 SAVE OVERFLOW
  382. STD T1
  383. SOD T2 ADVANCE BYTE ADDRESS
  384. LMN AB-1
  385. NJN CDR2 IF NOT FINISHED
  386. CDR3 AOD KA ADVANCE CHARACTER
  387. UJN CDR1 PROCESS NEXT CHARACTER
  388.  
  389. LIST *
  390. CDRSUB ENDM
  391. SPACE 4,10
  392. ** CHKAPE - CHECK ALTERNATE PP ERROR.
  393. *
  394. * CALLS *DSE* IF THE *A* REGISTER .NE. 0.
  395.  
  396.  
  397. CHKAPE MACRO
  398. LOCAL CHK1
  399. ZJN CHK1 IF NO ERROR RETURNED
  400. JMP DSE DISPLAY ERROR AND HANG
  401. CHK1 BSS 0
  402. ENDM
  403. SPACE 4
  404. ** JMP - THREADED JUMP.
  405. *
  406. *
  407. * JMP ADDR
  408. * ENTRY *ADDR* = JUMP ADDRESS.
  409.  
  410.  
  411. JMP MACRO ADDR
  412. IF -DEF,.ADDR,2
  413. NOREF .ADDR
  414. .ADDR MAX ADDR,*-40
  415. IFGT .ADDR,*-40
  416. UJN .ADDR
  417. .ADDR SET *-1
  418. ELSE 2
  419. .ADDR SET *
  420. LJM ADDR
  421. ENDM
  422. SCLASS SPACE 4,15
  423. ** SCLASS - DEFINE SERVICE CLASS TABLE.
  424. *
  425. * SCLASS NM,MN,DF,ST,TX
  426. *
  427. * ENTRY *NM* = SERVICE CLASS NAME.
  428. * *MN* = TWO CHARACTER MNEMONIC.
  429. * *DF* = DAYFILE MESSAGE CHARACTER.
  430. * *ST* = SHORT TEXT FOR *QFTLIST*.
  431. * *TX* = TEXT OF SERVICE CLASS NAME FOR BANNER PAGE.
  432. *
  433. * NOTE - THE CALL TO *COMSSCD* MUST FOLLOW THE DEFINITION OF
  434. * THIS MACRO.
  435.  
  436.  
  437. PURGMAC SCLASS
  438.  
  439. SCLASS MACRO NM,MN,DF,ST,TX
  440. .A IFC NE,$NM$SSSC$
  441. .SCL RMT
  442. INDEX /SCD/NM,/SCD/MN_MK TX
  443. .SCL RMT
  444. .A ENDIF
  445. SCLASS ENDM
  446.  
  447.  
  448. SCL$ EQU 0 ONLY PROCESS CLASSES WITH JCB-S
  449. QUAL SCD
  450. *CALL COMSSCD
  451. QUAL *
  452.  
  453. * DEFINE UNQUALIFIED *COMSSCD* SYMBOLS.
  454.  
  455. MXJC EQU /SCD/MXJC
  456. MXSC EQU /SCD/MXSC
  457. SUBSYST SPACE 4,10
  458. ** SUBSYST - GENERATE SUBSYSTEM TABLE.
  459. *
  460. * SUBSYST NAME,ID,PR,PP,AUTO,DEF,DCP,CP,PROC,ABT
  461. *
  462. * ENTRY *NAME* = 3 CHARACTER SUBSYSTEM NAME.
  463. * *ID* = SUBSYSTEM ID.
  464. * *DCP* = DEFAULT CONTROL POINT.
  465. * *CP* = *YES* IF A CONTROL POINT IS ALLOWED.
  466. * *DEF* = *ENABLE* IF SUBSYSTEM ENABLED BY DEFAULT.
  467.  
  468.  
  469. PURGMAC SUBSYST
  470.  
  471. SUBSYST MACRO NM,ID,PT,PP,AU,DF,DC,CP,PR,AB
  472. .A IFC NE,$NM$CMS$
  473. .SUB1 RMT ENABLE/DISABLE CODE
  474. .B IFC EQ,$CP$YES$
  475. NM DATA C*NM*
  476. .B ELSE
  477. NM DATA C*NM_.*
  478. .B ENDIF
  479. .1 SET MXSI-ID
  480. .2 SET .1/12D
  481. .3 SET 4-.2 *SSSL* BYTE
  482. .4 DECMIC .1-12D*.2
  483. .5 SET 1S".4" *SSSL* MASK
  484. LDK .3*10000B+.5
  485. JMP CSB
  486. .SUB1 RMT
  487.  
  488. * SET UP DEFAULT *SSSL*.
  489.  
  490. .C IFC EQ,$DF$ENABLE$
  491. .1 SET MXSI-ID
  492. .2 SET .1/12D
  493. .3 SET 4-.2
  494. .4 DECMIC .1-12D*.2
  495. .5 SET 1S".4"
  496. .6 DECMIC .3
  497. SSSL.".6" SET SSSL.".6"-.5
  498. .C ENDIF
  499.  
  500. .SUB RMT ENABLE/DISABLE SYNTAX
  501. INDEX MXSI-ID,NM
  502. .SUB RMT
  503. .A ENDIF
  504.  
  505. .D IFC NE,$DC$$ DEFAULT SSCT TABLE
  506. .SUB2 RMT
  507. INDEX MXSI-ID,DC
  508. .SUB2 RMT
  509. .D ENDIF
  510. SUBSYST ENDM
  511. TITLE CMR TABLE ORGANIZATION.
  512. SPACE 4,10
  513. ** LIST OF *SET* GENERATED TABLES.
  514. *
  515. * SYMBOLS IN THIS LIST DEFINE THE ORDER IN WHICH TABLES
  516. * IN CMR ARE ALLOCATED BY *SET*. TABLES MUST BE
  517. * CREATED AND RECOVERED IN THE SAME SEQUENCE.
  518.  
  519.  
  520. BSS 0
  521. LOC 0
  522. ESTO BSS 1 EQUIPMENT STATUS TABLE
  523. EXPO BSS 1 C176 (AND 819) EXCHANGE PACKAGES
  524. MCTO BSS 1 MEMORY CONTROL TABLE
  525. SCDO BSS 1 *SCD* PARAMETER TABLE
  526. RPTO BSS 1 RING PORT TABLE
  527. CHTO BSS 1 CHANNEL TABLES
  528. ECBO BSS 1 *EICB* TABLES
  529. EMBO BSS 1 ERROR MESSAGE BUFFER
  530. EVTO BSS 1 EVENT TABLE
  531. SCTO BSS 1 SUBSYSTEM CONTROL TABLES
  532. SITO BSS 1 *SECDED* ID TABLE
  533. SABO BSS 1 SYSTEM ATTRIBUTE BLOCK
  534. JCAO BSS 1 JOB CONTROL BLOCK TABLE
  535. MSAO BSS 1 MASS STORAGE ALLOCATION AREA
  536. ODBO BSS 1 OPERATOR DISPLAY BUFFER
  537. LDBO BSS 1 *L* DISPLAY BUFFER
  538. PDBO BSS 1 PREVIEW DISPLAY BUFFER
  539. DFBO BSS 1 DAYFILE BUFFERS
  540. PSVO BSS 1 PP SAVE AREAS
  541. MSTO BSS 1 MASS STORAGE TABLES
  542. TRTO BSS 1 TRACK RESERVATION TABLES
  543. EXMO BSS 1 EXTENDED MEMORY BUFFERS
  544. INBO BSS 1 INSTALLATION BLOCK
  545. SDAO BSS 1 STATISTICAL DATA AREA
  546. FOTO BSS 1 FAMILY ORDINAL TABLE
  547. FNTO BSS 1 FILE NAME TABLE
  548. EJTO BSS 1 EXECUTING JOB TABLE
  549. QFTO BSS 1 QUEUE FILE TABLE
  550. CLTO BSS 1 COMMON LIBRARIES TABLE
  551. LIDO BSS 1 *LID* TABLE
  552. OSTO BSS 1 OPTICAL DISK STATUS TABLE
  553. ORTO BSS 1 OPTICAL DISK REQUEST TABLE
  554. BSTO BSS 1 BUFFER STATUS TABLES
  555. BDTO BSS 1 BUFFERED DEVICE CONTROL TABLES
  556.  
  557. TSGTE BSS 0 END OF TABLES GENERATED BY *SET*
  558. ERRNZ BDTO+1-TSGTE BUFFERED DEVICE TABLES MUST BE LAST
  559. TITLE MAIN PROGRAM.
  560. SET SPACE 4
  561. ** SET - MAIN PROGRAM.
  562.  
  563.  
  564. ORG TBPF
  565. SET LDN 0 LOAD TEXT DECK
  566. RJM RTD
  567. RJM ATD ASSEMBLE TEXT DECK
  568. RJM 3,LA PROCESS ASSEMBLY VALUES
  569. SET1 RJM ROV LOAD TEXT PROCESSOR
  570. AOD DI ADVANCE TEXT DECK INDEX
  571. LMN TTXCL
  572. NJN SET IF NOT END OF TEXT DECKS TO ASSEMBLE
  573. RJM ROV SKIP *RCT*
  574. LDN RSBF TERMINATE BUFFER PP PROGRAM
  575. RJM IBF
  576. SET2 RJM ROV LOAD *SCP*
  577. RJM SCP SETUP CONTROL POINTS
  578. RJM ROV LOAD *PPR*
  579.  
  580. * PP RESIDENT (PPR) NOW LOADED.
  581.  
  582. LDC PPFW-1 SET START ADDRESS
  583. STM OVL
  584. LDD DH SET DEADSTART CHANNEL
  585. STM OVL+T1
  586. LDD RS SET RECOVERY STATUS
  587. STM OVL+T2
  588. LDD DF SET DEADSTART EQUIPMENT
  589. STM OVL+DRSW
  590. LDC 0 SET DEADSTART OPTIONS
  591. DSTO EQU *-1
  592. STM OVL+CM
  593. LDC 0 SET FIRST TRACK OF RMS DEADSTART FILE
  594. SETE EQU *-1
  595. STM OVL+DRSW+1
  596. LDC PPFW OUTPUT *PPR* TO PP 2
  597. CC1 OAM. OVL,2
  598. RJM ROV
  599. LDD T3 OUTPUT *STL* TO PP2
  600. CC2 OAM. OVL,2
  601. CC3 DCN. 2
  602. CC4 ACN. 0 INPUT *MTR*
  603. LCN 0
  604. CC5 IAM. 0,0
  605. DSTO SPACE 4,10
  606. ** DSTO - DEADSTART OPTIONS.
  607. *
  608. * DSTO = 8/0,2/RA,1/A,1/G
  609. * A = 0 IF AUTOLOADING ENABLED.
  610. * = 1 IF AUTOLOADING DISABLED.
  611. * G = 0 IF NO GRENADE AFTER CONTROLLER AUTOLOAD.
  612. * 1 IF GRENADE AFTER CONTROLLER AUTOLOAD.
  613. * RA = 0, ALLOW RECOVERY.
  614. * RA = 1, CHECKPOINT ALL DEVICES, ABORT LEVEL 3.
  615. * RA = 2 OR 3, CHECKPOINT NON-BUFFERED DEVICES,
  616. * ABORT LEVEL 3 RECOVERY.
  617.  
  618.  
  619. DSTO EQU DSTO DEADSTART OPTIONS
  620. TTXC SPACE 4,10
  621. ** TTXC - TABLE OF TEXT DECK COUNTS.
  622. * ENTRY = 1 WORD.
  623. *
  624. *T, 12/ N
  625. * N TEXT DECK NUMBER
  626.  
  627.  
  628. TTXC BSS 0
  629. LOC 0
  630. CMRD CON 0 CMRDECK NUMBER
  631. EQPD CON 0 EQPDECK NUMBER
  632. APRD CON 0 APRDECK NUMBER
  633. IPRD CON 0 IPRDECK NUMBER
  634.  
  635. TTXCL BSS 0 END OF PROCESSED TEXT DECKS
  636. LIBD CON 0 LIBDECK NUMBER
  637. LOC *O
  638. DATA SPACE 4
  639. ** CONFIGURATION DATA.
  640.  
  641.  
  642. .CCHN CON 0 CONCURRENT CHANNEL/PP COUNT
  643. .CPPL CON 0 LOGICAL CONCURRENT PP STATUS
  644. .CPU CON 0,0 CPU STATUS (PHYSICAL, LOGICAL)
  645. .CHN CON 20 CHANNEL COUNT
  646. .PPN CON 0 PP COUNT
  647. .PPS CON 0,0 PPU STATUS
  648. .PPL CON 0,0 LOGICAL PP STATUS
  649. .PPU CON 10D PP CONFIGURATION
  650. .CEL CON 0 CRITICAL ERROR LOG STATUS
  651. .DSD CON 0 DEADSTART DEVICE DATA
  652. .DCS CON 0 DISPLAY CONSOLE STATUS
  653. .APP CON 0 NEW ALTERNATE PP NUMBER
  654. .MDD CON 0 *MDD* PP NUMBER
  655. .NCP CON 11D NUMBER OF CONTROL POINTS + 1
  656. .NPCP CON 0 NUMBER OF PSEUDO CONTROL POINTS
  657.  
  658. BSPT CON 0 BUILD *SCI* PARAMETER TABLE FLAG
  659. CMCC CON /IOU/MRRD MAINTENANCE CHANNEL READ FUCTION
  660. CMDL CON 0 MODEL NUMBER
  661. C8XX CON 1 0 = CYBER 800 TYPE MAINFRAME
  662. C9LM CON 0 1 = CYBER 990 LARGE MEMORY
  663. DCPC CON 0 NONZERO IF DUAL 170-STATE CPUS WITH CACHE
  664. DCPN CON 0 NONZERO IF *DUALCPU=N* SPECIFIED
  665. DCPS CON 0 NONZERO IF DUAL-NOS-CPU SELECTED IN *CIP*
  666. DLYA CON SBNI+4 DELAY CONSTANT FOR *COMPAPP*
  667. DSFL CON 0,0 FL ADJUSTMENT FOR DSCB
  668. EMAF CON 0 EXTENDED ADDRESS MODE FLAG
  669.  
  670. EMTY BSSZ 5 EXTENDED MEMORY TYPE
  671. EMFL EQU EMTY+1 EXTENDED MEMORY FIELD LENGTH / *EMBS*
  672. EMSC EQU EMTY+2 EXTENDED MEMORY SHIFT COUNT
  673. UEMZ EQU EMTY+3 UEM SIZE/100B (2 LOCATIONS)
  674.  
  675. ISPF CON -1 SET POSITIVE IF CYBER 810/815/825/830
  676. LDSH CON 0 XM SHIFT COUNT FOR LINK DEVICE
  677. MDDP CON 0 TWO PORT MUX PORT FOR *MDD*
  678. MSBD CON 0 MAXIMUM SHARED BUFFERED DEVICE COUNT
  679. MSDC CON 0 MAXIMUM SHARED DEVICE COUNT
  680. NSBD CON 0 NUMBER OF SHARED BUFFERED DEVICES
  681. PRSF CON 0 MMF *PRESET* FLAG
  682. P2CC CON 0 CPU-1 CONNECT CODE
  683. SCIP CON 0 TWO PORT MUX PORT FOR CDC 721 CONSOLE
  684. SPPC CON 2 SYSTEM CONTROL POINT PP COUNT
  685. UESC CON 0 USER EXTENDED MEMORY SHIFT COUNT
  686. VEFL CON 0 4000B IF *VE=* SPECIFIED
  687. VEMZ CON 0,0 NVE CM BLOCK SIZE/100B
  688. SPACE 4,10
  689. ** *DFT* ALLOCATION DATA.
  690. *
  691. *T, 6/ N, 6/ M, 1/ D, 1/ T, 10/ SIZE
  692. * N = NUMBER OF MAINTENANCE REGISTER BUFFERS.
  693. * M = SIZE OF EACH M/R BUFFER.
  694. * D = 1, IF *DFT* WILL BE DEDICATED.
  695. * T = 1, IF MODEL 990.
  696. * SIZE = TOTAL SIZE OF M/R BUFFERS (N*M).
  697.  
  698.  
  699. DFTA VFD 6/NUMR+1,6/0
  700. VFD 1/0,1/0,10/0
  701.  
  702. DFSZ CON 0 SIZE OF *DFT/OS* BUFFER
  703.  
  704. * *DFT* DESCRIPTOR OBTAINED FROM *CTI*.
  705.  
  706. DFTV CON 0 DEFAULT = *DFT* LEVEL 3, OS INITIALIZATION
  707. * CON N *DFT* VERSION (0 = VERSION 3)
  708. * (1 = VERSION 4)
  709. * (2 = VERSION 5)
  710. TITLE SUBROUTINES.
  711. IBF SPACE 4,10
  712. ** IBF - INITIATE BUFFER PP FUNCTION.
  713. *
  714. * ENTRY (A) = FUNCTION CODE.
  715. * (T5) = PARAMETER FOR FUNCTION.
  716. *
  717. * EXIT (A) = RESPONSE FROM BUFFER PP WHERE APPLICABLE.
  718.  
  719.  
  720. IBF SUBR ENTRY/EXIT
  721. LMN DDDF
  722. STM AKLA SET REFRESH STATUS
  723. LMN DDDF
  724. IBFA ACN BC
  725. * UJN IBFX (RETURN ON LEVEL 3 RECOVERY)
  726. OAN BC OUTPUT REQUEST
  727. FJM *,BC WAIT FUNCTION ACCEPT
  728. LDD T5 OUTPUT PARAMETER
  729. OAN BC
  730. FJM *,BC WAIT PARAMETER ACCEPT
  731. IBFB IAN BC INPUT RESPONSE
  732. UJN IBFX RETURN
  733. IDF SPACE 4,10
  734. ** IDF - ISSUE *DIO* REQUEST.
  735. *
  736. * ENTRY (A) = FUNCTION CODE.
  737.  
  738.  
  739. IDF SUBR ENTRY/EXIT
  740. ACN TC
  741. OAN TC OUTPUT REQUEST
  742. FJM *,TC WAIT FUNCTION ACCEPT
  743. UJN IDFX RETURN
  744. RTB SPACE 4,10
  745. ** RTB - READ TAPE BLOCK.
  746.  
  747.  
  748. RTB SUBR ENTRY/EXIT
  749. LDN RTBF INITIATE TAPE BLOCK READ
  750. ACN TC
  751. OAN TC
  752. AJM *,TC WAIT FUNCTION ACCEPT
  753. UJN RTBX RETURN
  754. RTD SPACE 4,10
  755. ** RTD - READ TEXT DECKS.
  756. *
  757. * ENTRY (A) = 0 TO LOAD INSTRUCTION DECK AND TEXT DECK.
  758. * .NE. 0 TO LOAD TEXT DECK ONLY.
  759. *
  760. * EXIT TO *DSE* IF CORRECT TEXT DECK NOT FOUND.
  761. *
  762. * CALLS IBF, IDF, RTB.
  763.  
  764.  
  765. RTD SUBR ENTRY/EXIT
  766. NJN RTD1 IF LOADING TEXT DECK ONLY
  767. RJM RTB
  768. LDD DI TRANSMIT DECK TYPE TO BUFFER PP
  769. STD T5
  770. LDN IFBF LOAD INSTRUCTION DECK
  771. RJM IBF
  772. RTD1 LDN LTDF INITIATE SEARCH FOR TEXT DECK
  773. RJM IDF
  774. LDM TTXC,DI TRANSMIT DECK NUMBER
  775. OAN TC
  776. AJM *,TC WAIT SEARCH COMPLETE
  777. LDN ISBF LOAD TEXT DECK
  778. RJM IBF
  779. NJN RTDX IF TEXT DECK FOUND
  780.  
  781. RTD2 LDD DI SET TEXT DECK NAME
  782. SHN 1
  783. STD DI
  784. LDM RTDB,DI
  785. STM RTDC
  786. LDM RTDB+1,DI
  787. STM RTDC+1
  788. LDC RTDC
  789. LJM DSE
  790.  
  791. RTDB BSS 0
  792. DATA 4RCMRD
  793. DATA 4REQPD
  794. DATA 4RAPRD
  795. DATA 4RIPRD
  796.  
  797. RTDC DATA C*CMRDECK NOT ON TAPE.*
  798. ROV SPACE 4,10
  799. ** ROV - READ OVERLAY.
  800. *
  801. * EXIT (T3) = BYTE COUNT FOR DATA.
  802. * (LA) = LOAD ADDRESS.
  803. *
  804. * USES T4, T6, CM - CM+4.
  805. *
  806. * CALLS IDF, RTB.
  807.  
  808.  
  809. ROV SUBR ENTRY/EXIT
  810. ORG ROV
  811. CON RCM EXIT TO *RCM* ON CM RECOVERY
  812.  
  813. ROV1 LDN LNOF INITIATE OVERLAY LOAD
  814. RJM IDF
  815. ACN TC
  816. IAN TC INPUT WORD COUNT
  817. SBN 20
  818. STD T3 SET BYTE COUNT
  819. SHN 2
  820. RAD T3
  821. LMC MXRL SET EOR STATUS
  822. STD T4
  823. LDN 20
  824. STD T6
  825. ROV2 LDN 5 SKIP *PRFX* TABLE
  826. IAM CM,TC
  827. SOD T6
  828. NJN ROV2 IF NOT *6PPM* TABLE
  829. LDN 5
  830. ADD CM+2 SET LOAD ADDRESS
  831. STD LA
  832. LDD LA
  833. ROVB NJN ROV3 IF NOT PP RESIDENT
  834. LDN PSNI
  835. STM ROVB
  836. LDC OVL
  837. ROV3 STM ROVC SET LOAD ADDRESS
  838. ADC MXRL
  839. STM ROVD
  840. LDD T3
  841. IAM OVL,TC INPUT DATA BLOCK
  842. ROVC EQU *-1
  843. LDD T4
  844. NJN ROV4 IF EOR
  845. RJM RTB READ REMAINDER OF RECORD
  846. ACN TC
  847. IAN TC INPUT WORD COUNT
  848. STD T4
  849. ZJN ROV4 IF EMPTY BLOCK
  850. SHN 2
  851. RAD T4
  852. RAD T3 ADD TO TOTAL BYTE COUNT
  853. LDD T4 INPUT REMAINDER OF RECORD
  854. IAM OVL+MXRL,TC
  855. ROVD EQU *-1
  856. ROV4 LJM ROVX RETURN
  857. CLS SPACE 4,10
  858. ** CLS - CLEAR STORAGE.
  859. *
  860. * ENTRY (A) = WORD COUNT.
  861. * (CA - CA+1) = CM ADDRESS.
  862. *
  863. * EXIT (A) .NE. 0.
  864. * (CA - CA+1) ADVANCED.
  865. *
  866. * USES T1, T2.
  867.  
  868.  
  869. CLS SUBR ENTRY/EXIT
  870. SBN 1
  871. MJN CLSX IF NULL WORD COUNT
  872. STD T2
  873. SHN -14 SET WORD COUNT
  874. STD T1
  875. CLS1 LDD CA CLEAR WORD
  876. SHN 14
  877. ADD CA+1
  878. CWD ZR
  879. AOD CA+1 ADVANCE CENTRAL ADDRESS
  880. SHN -14
  881. RAD CA
  882. SOD T2 DECREMENT
  883. PJN CLS1 IF NO BORROW FROM NEXT BYTE
  884. AOD T2
  885. SOD T1
  886. PJN CLS1 IF NOT END OF CLEAR
  887. UJN CLSX RETURN
  888. DSE SPACE 4,10
  889. ** DSE - DISPLAY ERROR.
  890. *
  891. * ENTRY (A) BITS 13 - 00 = MESSAGE ADDRESS.
  892. * BITS 15 - 14 = CC545 CHARACTER SIZE FLAGS.
  893. *
  894. * EXIT NO EXIT.
  895. *
  896. * USES T1, T2.
  897. *
  898. * MACROS CFNC, DFIM.
  899.  
  900.  
  901. DSE SBN 1 SET MESSAGE ADDRESS
  902. STD T1
  903. SHN -14
  904. LMC SLMF SELECT LEFT SCREEN
  905. CFNC
  906. DSE1 LDD T1 SET MESSAGE ADDRESS
  907. STD T2
  908. LDN 2 OUTPUT COORDINATES
  909. OAM DSEA,CH
  910. DSE2 AOD T2 DISPLAY MESSAGE
  911. LDI T2
  912. OAN CH
  913. NJN DSE2
  914. CFNC THVF TRANSFER HIDDEN TO VISIBLE
  915. LDC SBNI+1 DELAY
  916. NJN *-1
  917. DFIM (UJN *)
  918. UJN DSE1 LOOP
  919.  
  920.  
  921. DFIM (CON LN15)
  922. DSEA CON LN25,CH01
  923. SPACE 4,10
  924. ** DISPLAY SUBROUTINES.
  925.  
  926.  
  927. FNC DSUB
  928. SME SPACE 4,10
  929. ** SME - SEARCH EST FOR MASS STORAGE EQUIPMENT.
  930. *
  931. * ENTRY (EQ) = PREVIOUS EST ORDINAL.
  932. * (LE) = NUMBER OF EST ENTRIES.
  933. *
  934. * EXIT (A) = BYTE 0 OF ENTRY WITH BIT 13 IN SIGN POSITION.
  935. * = 0 IF END OF EST.
  936. * (EQ) = CURRENT EST ORDINAL.
  937. * (AB - AB+4) = EST ENTRY.
  938. *
  939. * MACROS SFA.
  940.  
  941.  
  942. SME SUBR ENTRY/EXIT
  943. SME1 AOD EQ
  944. LMD LE
  945. ZJN SMEX IF END OF EST
  946. SFA EST,EQ
  947. CRD AB READ EST ENTRY
  948. LDD AB
  949. SHN 21-13
  950. PJN SME1 IF NOT MASS STORAGE
  951. UJN SMEX RETURN
  952. SPACE 4,10
  953. ** COMMON DECKS.
  954.  
  955.  
  956. QUAL GFP
  957.  
  958. EST$ EQU 0 DEFINE *COMPGFP* ACCESS TO EST
  959. *CALL COMPGFP
  960.  
  961. QUAL *
  962.  
  963. .EST EQU /GFP/.EST
  964. SPACE 4,10
  965. **** SYSTEM STATUS AND CONTROL WORDS.
  966. SPACE 4,10
  967. .SSML BSS 0 MULTI-LEVEL SECURITY WORD
  968. VFD 3/0 RESERVED
  969. VFD 3/0 OUTPUT QUEUE SPECIAL HANDLING LEVEL
  970. VFD 3/0 RESERVED
  971. VFD 3/0 OPERATING SYSTEM SECURITY MODE
  972. VFD 16/0 RESERVED
  973. VFD 32/-0 SYSTEM ACCESS CATEGORIES
  974. SPACE 4,10
  975. .INWL BSS 0 INTERLOCK WORD
  976. VFD 12/0 RESERVED FOR CDC
  977.  
  978. VFD 12/0 RESERVED FOR CDC
  979.  
  980. VFD 12/0 RESERVED FOR CDC
  981.  
  982. VFD 6/0 ACTIVE *MREC* COUNT
  983. VFD 2/0 RESERVED FOR CDC
  984. VFD 1/1 DEADSTART JOB FLAG (JOB NOT COMPLETE)
  985. VFD 1/0 JOB SCHEDULER (DISABLED)
  986. VFD 1/1 DISABLE JOB SCHEDULING
  987. VFD 1/0 RESERVED FOR CDC
  988.  
  989. VFD 6/0 RESERVED FOR CDC
  990. VFD 1/0 *MCH* ERROR IN PROGRESS FLAG
  991. VFD 1/0 CHECKPOINT IN PROGRESS FLAG
  992. VFD 1/0 WALL CLOCK CHIP RESET
  993. VFD 1/0 *CPD* DROP FLAG
  994. VFD 1/0 FATAL MAINFRAME ERROR
  995. VFD 1/0 SUBSYSTEM ABORT INTERLOCK
  996. SPACE 4,10
  997. .PFNL BSS 0 PERMANENT FILE CONTROL
  998. VFD 18//PFM/DFPT DEFAULT REMOVABLE PACK TYPE
  999. VFD 18/0 RESERVED
  1000. VFD 12/0 DEFAULT FAMILY EST ORDINAL
  1001. VFD 12//PFM/CPTT CPU TRANSFER THRESHOLD FOR INDIRECT FILE
  1002. ****
  1003. TITLE ASSEMBLE TEXT DECK.
  1004. ATD SPACE 4
  1005. ** ATD - ASSEMBLE TEXT DECK.
  1006. *
  1007. * ENTRY AT *ATD3* TO FORCE DISPLAY OF TEXT DECK FOLLOWING
  1008. * A POST PROCESSING ERROR.
  1009.  
  1010.  
  1011. ATD6 LDD DS
  1012. ZJN ATD3 IF DISPLAY REQUESTED
  1013.  
  1014. ATD SUBR ENTRY/EXIT
  1015. ATD1 LDN 0 CLEAR KEYBOARD ASSEMBLY
  1016. STD AM
  1017. ATD2 RJM ROL READ 1 LINE
  1018. LDD KI
  1019. ZJN ATD6 IF END OF DATA
  1020. RJM AKL ASSEMBLE KEYBOARD LINE
  1021. LDD KM CHECK ERROR MESSAGE
  1022. ZJN ATD2 LOOP IF NO ERROR
  1023. LDN 1 SET KEYBOARD ASSEMBLY
  1024. STD AM
  1025. LDN 0 FORCE TEXT DECK DISPLAY
  1026. STD DS
  1027. STD DP
  1028. RJM AKL ASSEMBLE KEYBOARD LINE
  1029. LDN RCLF
  1030. UJN ATD5 ADD CORRECTED LINE TO PP BUFFER
  1031.  
  1032. * ENTER HERE TO FORCE DISPLAY OF TEXT DECK FOLLOWING A
  1033. * POST PROCESSING ERROR.
  1034.  
  1035. ATD3 LDN 2 SET KEYBOARD ASSEMBLY
  1036. STD AM
  1037. LDM 1,LA ADD *GO.*
  1038. STD T1
  1039. LDC GGO
  1040. STI T1
  1041. ATD4 RJM AKL ASSEMBLE KEYBOARD LINE
  1042. LDD KI
  1043. ZJN ATD4 IF NO ENTRY LINE
  1044. LDN ANLF ADD NEW LINE
  1045. ATD5 RJM IBF
  1046. LDN KBUFL+1 TRANSMIT KEYBOARD BUFFER
  1047. OAM KBUF,BC
  1048. RJM CKB CLEAR KEYBOARD BUFFER
  1049. LDD AM
  1050. LMN 2
  1051. ZJN ATD4 ASSEMBLE NEXT KEYBOARD LINE
  1052. LJM ATD1 PROCESS REST OF TEXT DECK
  1053. ILL SPACE 4
  1054. ** ILL - INCORRECT ENTRY RETURN.
  1055.  
  1056.  
  1057. ILL LDC AKLD MESSAGE = *INCORRECT ENTRY.*
  1058. ILL1 STD KM
  1059. * UJN ERR
  1060. ERR SPACE 4,10
  1061. ** ERR - ERROR RETURN.
  1062. *
  1063. * ENTRY (KM) = ADDRESS OF ERROR MESSAGE.
  1064.  
  1065.  
  1066. ERR LDD AM
  1067. NJN AKL1 IF ERROR NOT IN TEXT DECK
  1068. * UJN AKLX
  1069. KBR SPACE 4
  1070. ** KBR - NORMAL KEYBOARD RETURN.
  1071.  
  1072.  
  1073. KBR BSS 0 NORMAL RETURN FROM OVERLAY
  1074. * UJN AKLX
  1075. AKL SPACE 4
  1076. ** AKL - ASSEMBLE KEYBOARD LINE.
  1077.  
  1078.  
  1079. AKL SUBR ENTRY/EXIT
  1080. LDD AM CHECK ASSEMBLY MODE
  1081. ZJN AKL5 IF NOT KEYBOARD
  1082. DFIM (CON LDCI)
  1083. AKL1 UJN AKL2 DISPLAY BUFFER
  1084. AKLA CON 1
  1085. ZJN AKL3 IF NOT TIME TO REFRESH
  1086. AKL2 LDN DDDF DISPLAY BUFFER
  1087. STD KB
  1088. RJM IBF
  1089. * RJM /RCM/DRB (DISPLAY LEVEL 3 RECOVERY OPTIONS)
  1090. AKLB EQU *-1
  1091. AKL3 RJM DKB DISPLAY KEYBOARD BUFFER
  1092. RJM KBI CHECK KEYBOARD INPUT
  1093. UJN AKL4 NORMAL RETURN - *CR* NOT ENTERED
  1094. UJN AKL5 PROCESS *CR*
  1095.  
  1096. AKL4 LDD KI
  1097. NJN AKL1 IF LINE NOT EMPTY
  1098. AKL5 LDD KI
  1099. ZJN AKLX RETURN IF NO ENTRY
  1100. LDI LA SET SYNTAX TABLE ADDRESS
  1101. STD ST
  1102. LDC KBUF SET KEYBOARD BUFFER ADDRESS
  1103. STD KB
  1104. STD T3
  1105. STD KA
  1106. LDI KB
  1107. LMN 1R*
  1108. ZJN AKLX IF COMMENT LINE
  1109. AKLC UJN *+2 SEARCH FOR MATCH
  1110. * RJM /EQP/LOV LOAD CORRECT *EQP* OVERLAY
  1111. CON /EQP/LOV
  1112. AKL6 LDD KB RESET CHARACTER ADDRESS
  1113. STD KA
  1114. AKL7 AOD ST ADVANCE TABLE ADDRESS
  1115. LDI ST
  1116. NJN AKL8 IF NOT END OF TABLE
  1117. JMP ILL PROCESS INCORRECT ENTRY
  1118.  
  1119. AKL8 STD T2 SET TABLE ENTRY
  1120. AKL9 LDI T2 COMPARE UPPER
  1121. SHN -6
  1122. ZJN AKL10 IF COMPARE COMPLETE
  1123. LMI KA
  1124. NJN AKL6 IF NO MATCH
  1125. AOD KA
  1126. LDI T2 COMPARE LOWER
  1127. LPN 77
  1128. ZJN AKL10 IF COMPARE COMPLETE
  1129. LMI KA
  1130. NJN AKL6 IF NO MATCH
  1131. AOD KA
  1132. AOD T2
  1133. UJN AKL9 CONTINUE COMPARE
  1134.  
  1135. AKL10 CRD AB CLEAR ASSEMBLY BUFFER
  1136. STD KM CLEAR KEYBOARD MESSAGE
  1137. LDD KA (A) = CHARACTER ADDRESS
  1138. LJM 1,T2 EXIT TO PROCESSOR
  1139.  
  1140. AKLD DATA C*INCORRECT ENTRY.*
  1141. CKB SPACE 4,10
  1142. ** CKB - CLEAR KEYBOARD BUFFER.
  1143. *
  1144. * ENTRY (KM) = KEYBOARD MESSAGE ADDRESS.
  1145. *
  1146. * EXIT (KI) = 0.
  1147. *
  1148. * USES T1.
  1149.  
  1150.  
  1151. CKB SUBR ENTRY/EXIT
  1152. LDD KM
  1153. NJN CKBX RETURN IF MESSAGE SET
  1154. STD KI CLEAR KEYBOARD INDEX
  1155. STD T1
  1156. CKB1 LDN 0 CLEAR BUFFER
  1157. STM KBUF,T1
  1158. AOD T1
  1159. LMN KBUFL
  1160. NJN CKB1
  1161. UJN CKBX RETURN
  1162. DKB SPACE 4,10
  1163. ** DKB - DISPLAY KEYBOARD BUFFER.
  1164. *
  1165. * ENTRY (KM) = KEYBOARD MESSAGE ADDRESS.
  1166. * (KB) = KEYBOARD BUFFER REFRESH STATUS.
  1167. *
  1168. * USES T1, T2, YC.
  1169. *
  1170. * MACROS CFNC, DFIM.
  1171.  
  1172.  
  1173. DKBX DCN. CH
  1174.  
  1175. LJM * ENTRY/EXIT
  1176. DKB EQU *-1
  1177. LDD KB
  1178. ZJN DKBX IF NO KEYBOARD BUFFER REFRESH
  1179. DFIM (CON LN50),*+1
  1180. LDC LN48
  1181. STD YC
  1182. CFNC SLPF SELECT LEFT SCREEN - PRIORITY OUTPUT
  1183. LDN 2
  1184. OAM. XC,CH OUTPUT COORDINATES
  1185. LDD KM
  1186. ZJN DKB2 IF NO MESSAGE
  1187. SBN 1 SET MESSAGE ADDRESS
  1188. STD T1
  1189. DKB1 AOD T1 DISPLAY MESSAGE
  1190. LDI T1
  1191. OAN CH
  1192. NJN DKB1
  1193. DKB2 LCN YINC ADJUST Y-COORDINATE
  1194. RAD YC
  1195. DFIM (CFNC EELF) ERASE TO END OF LINE
  1196. DFIM (UJN DKB3)
  1197. LDN 1
  1198. STD T2
  1199. LDD KI CHECK KEYBOARD INDEX
  1200. ZJN DKBX IF EMPTY LINE
  1201. SBN 40
  1202. PJN DKB3 IF > 32 CHARACTERS
  1203. DCN. CH
  1204. CFNC SLMF SELECT LEFT SCREEN - MEDIUM CHARACTERS
  1205. LCN 4 DECREMENT Y
  1206. RAD YC
  1207. LDN 2 ADVANCE COUNT
  1208. RAD T2
  1209. DKB3 LDN 2 OUTPUT COORDINATES
  1210. OAM XC,CH
  1211. LCN 1 SET INDEX
  1212. STD T1
  1213. DKB4 LDN 2 ADVANCE INDEX
  1214. RAD T1
  1215. LDM KBUF,T1 DISPLAY 2 CHARACTERS
  1216. ZJN DKB5 IF END OF KEYBOARD LINE
  1217. SHN 6
  1218. ADM KBUF+1,T1
  1219. OAN CH
  1220. LPN 77
  1221. NJN DKB4 LOOP
  1222. DKB5 CFNC EELF ERASE TO END OF LINE
  1223. LDD KM
  1224. ZJN DKB7 IF NO KEYBOARD MESSAGE
  1225. LDD KA SET CHARACTER COUNT
  1226. ADC -KBUF
  1227. SHN 3
  1228. STD T1
  1229. LDD KI
  1230. DFIM (CFNC BIVF) BEGIN INVERSE VIDEO
  1231. SBN 40
  1232. PJN DKB6 IF > 32 CHARACTERS
  1233. LDD T1
  1234. RAD T1
  1235. DKB6 LDC LN51
  1236. OAN. CH
  1237. LDC CH01
  1238. RAD T1
  1239. OAN CH
  1240. DFIM (LDI KA)
  1241. LDN 1RA DISPLAY CURSOR
  1242. SHN 6
  1243. OAN CH
  1244. LDD T1
  1245. DFIM (CFNC EIVF) END INVERSE VIDEO
  1246. DFIM (UJN DKB8)
  1247. OAN CH
  1248. LDN 1RI
  1249. SHN 6
  1250. OAN CH
  1251. DKB7 SOD T2
  1252. MJN DKB8 IF DISPLAY CYCLE COMPLETE
  1253. LJM DKB3 LOOP
  1254.  
  1255. DKB8 LJM DKBX RETURN
  1256. KBI SPACE 4,20
  1257. *** KBI - KEYBOARD INPUT.
  1258. * ALL ENTRIES ARE DISPLAYED AT THE BOTTOM OF THE LEFT SCREEN.
  1259. * AS THEY ARE ENTERED.
  1260. *
  1261. * *CR* MUST FOLLOW ALL ENTRIES BEFORE ACTION IS TAKEN.
  1262. * *BKSP* DELETES THE PREVIOUS CHARACTER TYPED.
  1263. * *LEFT BLANK* DELETES THE CURRENT LINE BEING ENTERED.
  1264. * *RIGHT BLANK* TOGGLES THE DISPLAY.
  1265. *
  1266. * ABOVE THE ENTRY DISPLAY, THE FOLLOWING MESSAGE MAY
  1267. * APPEAR -
  1268. * *INCORRECT ENTRY.* = ENTRY IS UNRECOGNIZABLE.
  1269. *
  1270. * EXIT ADVANCED IF *CR* ENTERED.
  1271. * (A) = (KB) = -1 IF *LEFT BLANK* OR *BKSP* ENTERED.
  1272. * (KB) = CHARACTER IF DATA ADDED TO KEYBOARD BUFFER.
  1273. *
  1274. * USES T1.
  1275. *
  1276. * CALLS CKB, IBF.
  1277. *
  1278. * MACROS CFNC, DFIM.
  1279.  
  1280.  
  1281. KBI12 AOM AKLA FORCE DISPLAY REFRESH
  1282.  
  1283. KBI SUBR ENTRY/EXIT
  1284. LDN 0
  1285. STD KB
  1286. CFNC SKIF SELECT KEYBOARD INPUT
  1287. IAN CH
  1288. DCN CH
  1289. DFIM (UJN KBI1)
  1290. ZJN KBI1 IF NO INPUT
  1291. LMC 60 (PRESET CR)
  1292. KBIA EQU *-1
  1293. ZJN KBIX IF SAME INPUT
  1294. LMM KBIA STORE NEW INPUT
  1295. KBI1 STM KBIA
  1296. ZJN KBIX RETURN IF NO INPUT
  1297. SBD HN
  1298. PJN KBI12 IF SPECIAL CHARACTER
  1299. ADD HN
  1300. STD T1
  1301. LDD KI
  1302. NJN KBI3 IF NOT FIRST CHARACTER
  1303. LDD T1
  1304. LMN 61
  1305. ZJN KBIX RETURN IF *BKSP*
  1306. LMN 1R+&61
  1307. NJN KBI3 IF NOT *+*
  1308. LDN ADBF ADVANCE BUFFER
  1309. KBI2 RJM IBF
  1310. JMP KBIX RETURN
  1311.  
  1312. KBI3 LDD T1 CHECK CHARACTER
  1313. LMN 53
  1314. NJN KBI5 IF NOT *LEFT BLANK*
  1315. STD KM CLEAR KEYBOARD MESSAGE
  1316. RJM CKB CLEAR KEYBOARD BUFFER
  1317. KBI4 SOD KB
  1318. JMP KBIX RETURN
  1319.  
  1320. KBI5 LMN 55&53
  1321. NJN KBI6 IF NOT *RIGHT BLANK*
  1322. LDN ADDF ADVANCE DISPLAY
  1323. UJN KBI2 ISSUE BUFFER PP FUNCTION
  1324.  
  1325. KBI6 LMN 60&55
  1326. NJN KBI7 IF NOT *CR*
  1327. AOM KBI ADVANCE EXIT
  1328. JMP KBIX RETURN
  1329.  
  1330. KBI7 LMN 61&60
  1331. NJN KBI8 IF NOT *BKSP*
  1332. STD KM CLEAR KEYBOARD MESSAGE
  1333. STM KBUF-1,KI CLEAR PREVIOUS ENTRY
  1334. SOD KI
  1335. JMP KBI4 RETURN
  1336.  
  1337. KBI8 LMN 62&61
  1338. NJN KBI9 IF NOT *SPACE*
  1339. LDN 1R SUBSTITUTE * *
  1340. STD T1
  1341. KBI9 LDD KI
  1342. NJN KBI10 IF NOT FIRST CHARACTER
  1343. STD KM
  1344. KBI10 LMN KBUFL
  1345. ZJN KBI11 IF BUFFER FULL
  1346. LDD T1 STORE CHARACTER
  1347. STM KBUF,KI
  1348. STD KB
  1349. AOD KI
  1350. KBI11 JMP KBIX RETURN
  1351. ROL SPACE 4,10
  1352. ** ROL - READ ONE LINE.
  1353. *
  1354. * EXIT (KI) = KEYBOARD INDEX.
  1355. *
  1356. * CALLS CKB, IBF.
  1357.  
  1358.  
  1359. ROL1 SHN 14 UNPACK DATA
  1360. STM KBUF,KI
  1361. SHN -14
  1362. STM KBUF+1,KI
  1363. LDN 2 ADVANCE BUFFER INDEX
  1364. RAD KI
  1365. IAN BC
  1366. ROL2 NJN ROL1 IF NOT END OF LINE OR DATA
  1367. DCN BC
  1368.  
  1369. ROL SUBR ENTRY/EXIT
  1370. RJM CKB CLEAR KEYBOARD BUFFER
  1371. LDN ONLF SELECT NEXT LINE INPUT
  1372. RJM IBF
  1373. UJN ROL2 CHECK NEXT LINE PRESENT
  1374. KBUF SPACE 4
  1375. ** KBUF - KEYBOARD BUFFER.
  1376.  
  1377.  
  1378. KBUF BSS 60D
  1379. KBUFL EQU *-KBUF
  1380. CON 0 INSURE END OF LINE
  1381. TITLE PROCESSING ROUTINES.
  1382. GO SPACE 4
  1383. *** GO.
  1384. * CONTINUE WITH LOAD.
  1385.  
  1386.  
  1387. GGO DATA C*GO.*
  1388. AOD DP DISABLE *IPRDECK* DISPLAY
  1389. GGO0 LDD KM
  1390. NJN NXT1 IF ERROR MESSAGE
  1391. LDN 1 SET NO DISPLAY
  1392. STD DS
  1393. GGO1 LJM ATDX EXIT FROM ASSEMBLY
  1394. IPR SPACE 4,10
  1395. *** IPR.
  1396. * CONTINUE LOAD WITH NO DISPLAY UNTIL *IPRDECK*.
  1397.  
  1398.  
  1399. IPR DATA C*IPR.*
  1400. LDN 0 SET DISPLAY FOR *IPRDECK*
  1401. STD DP
  1402. UJN GGO0 CHECK ERROR MESSAGE
  1403. NEXT SPACE 4
  1404. *** NEXT.
  1405. * CONTINUE TO NEXT ASSEMBLY.
  1406.  
  1407.  
  1408. NEXT DATA C*NEXT.*
  1409. LDD KM
  1410. ZJN GGO1 IF NO ERROR MESSAGE
  1411. NXT1 JMP KBR RETURN
  1412. SPACE 4
  1413. ** OVL - OVERLAY ORIGIN.
  1414. * WORD 1 OF OVERLAY = ADDRESS OF SYNTAX TABLE.
  1415. * WORD 2 OF OVERLAY = ADDRESS OF SYNTAX TABLE END.
  1416. *
  1417. * WORD 4 = ENTRY TO PROCESSOR.
  1418.  
  1419.  
  1420. OVL BSS 0
  1421. TITLE PRESET PROGRAM.
  1422. PRS SPACE 4,10
  1423. ** PRS - PRESET PROGRAM.
  1424. *
  1425. * ENTRY (T4) = DEADSTART CHANNEL.
  1426. * (T5) = INTERCOMMUNICATIONS CHANNEL.
  1427.  
  1428.  
  1429. PRS BSS 0
  1430. LDN ZERL ZERO OUT ZERO WORD
  1431. CWD ZR
  1432. RJM CDD CHECK DISPLAY DRIVER
  1433. LDN 40 EXIT *IBF* ON INACTIVE CHANNEL
  1434. RAM IBFB
  1435. LDD T5 BUFFER PP COMMUNICTAION CHANNEL
  1436. SHN 14
  1437. ADC CTTC MODIFY CHANNEL INSTRUCTIONS
  1438. RJM MCI
  1439. LDM APPC ALTERNATE PP LOCATION/CHANNEL
  1440. LPN 77
  1441. SHN 14
  1442. ADC CTAC MODIFY ALTERNATE PP CHANNEL INSTRUCTIONS
  1443. RJM MCI
  1444. LDN DPIS REQUEST DEADSTART PANEL
  1445. RJM IAF
  1446. LDM DBUF+DPW13 WORD 13 OF DEADSTART PANEL
  1447. STD T1
  1448. LPN 77
  1449. STM TTXC+CMRD
  1450. STM TTXC+EQPD SET DEFAULT EQPDECK NUMBER
  1451. LMD T1
  1452. SHN 6+3 EXTRACT RECOVERY MODE
  1453. SCN 4
  1454. STD RM
  1455. SHN 3 SET DISPLAY STATUS
  1456. LPN 1
  1457. LMN 1
  1458. STD DS
  1459. STD DP
  1460. LDM DBUF+DPW6 WORD 6 OF DEADSTART PANEL
  1461. STD DF
  1462. LDN CPTS REQUEST COMMON POINTER AREA
  1463. RJM IAF
  1464. LDM DBUF+CIDP+3 GET CRITICAL ERROR LOG FLAG
  1465. LPN 20
  1466. STM .CEL
  1467. LDD DF DEADSTART FUNCTION
  1468. LPC 700
  1469. SBK 300
  1470. MJN PRS1 IF DEADSTART FROM TAPE
  1471. LDD DF
  1472. LPN 77 SET DISK DEADSTART
  1473. STD DF
  1474. LDM DBUF+OSRP FIRST TRACK OF DEADSTART FILE
  1475. STM SETE
  1476. PRS1 LDD T4 SET DEADSTART CHANNEL
  1477. STD DH
  1478. LDM TRCO,RM SET RECOVERY STATUS
  1479. STD RS
  1480. LPN SYMK
  1481. LMN SYCM
  1482. ZJN PRS2 IF CM RECOVERY
  1483. LDC CPAS-1
  1484. RJM CLS
  1485. LDN MSCL PRESERVE DEFAULT ERROR THRESHOLDS
  1486. CWD AB
  1487. PRS2 LDN EMDS REQUEST EI/MICROCODE DESCRIPTOR
  1488. RJM IAF
  1489. LDM MBUF
  1490. ZJN PRS3 IF NO DESCRIPTOR RETURNED
  1491. LDM DBUF+EINM
  1492. STM DBUF+EIDT+3 MOVE EI SPECIFICATION
  1493. SOM C8XX
  1494. STM DBUF+EIDT+4
  1495. LDM DBUF+MNLF CLEAR MICROCODE LOADED FLAG
  1496. SCN 1
  1497. STM DBUF+MNLF
  1498. LDC MEBF SAVE MICROCODE/EI INFORMATION
  1499. CWM DBUF+MCNM,TR
  1500. PRS3 LDN 0 SELECT FIRST PROCESSOR
  1501. STM MBUF
  1502. LDN CPDS REQUEST CPU DESCRIPTOR
  1503. RJM IAF
  1504. LDM DBUF+CPOA
  1505. LPN 1 SET CYBER 990 LARGE MEMORY OPTION
  1506. STM C9LM
  1507. LDN CMDS REQUEST CM DESCRIPTOR
  1508. RJM IAF
  1509. LDM DBUF+LCMS SET CM SIZE
  1510. STD MZ
  1511. STD CM+2
  1512. LDM DBUF+LCMS+1
  1513. STD MZ+1
  1514. STD CM+3
  1515. LDM DBUF+MCTC SAVE MEMORY CONNECT CODE
  1516. RAM CMCC
  1517. RJM SHO SET HARDWARE OPTIONS
  1518. ZJP PRS5 IF CM RECOVERY OR CYBER 180
  1519. LDM DBUF+OPTN SET MAINFRAME OPTIONS
  1520. LPC 5700
  1521. LMD TH INVERT CYBER 176 FLAG
  1522. STD HO
  1523. LPC 1000 DUPLICATE CYBER 176 FLAG
  1524. SHN 1
  1525. RAD HO
  1526. LDN 0 SELECT FIRST PROCESSOR
  1527. STM MBUF
  1528. LDN CPDS REQUEST CPU DESCRIPTOR
  1529. RJM IAF
  1530. LDM DBUF+CPOP
  1531. LPN 37 EXTRACT PROCESSOR OPTIONS
  1532. RAD HO
  1533. LPN 7 SET PROCESSOR AVAILABLE STATUS
  1534. STM .CPU
  1535. LPN 4
  1536. ZJN PRS4 IF CEJ / MEJ ENABLED
  1537. LDC =C*CEJ/MEJ DISABLED.*
  1538. JMP DSE DISPLAY ERROR AND HANG
  1539.  
  1540. PRS4 LDD HO
  1541. LPC 4100
  1542. NJN PRS5 IF NOT CYBER 865 / 875
  1543. LDK /SCR/FCRD+/SCR/M875
  1544. OAN CHSC
  1545. IAN CHSC
  1546. LPN 2 SET 865/875 STATUS
  1547. SHN 2-1
  1548. ADC -400
  1549. RAD HO
  1550. PRS5 LDD HO CHECK CPU STATUS
  1551. LPN 3
  1552. LMN 3
  1553. ZJN PRS5.1 IF NO 170 STATE CPU(S) ON
  1554. LPN 1
  1555. NJN PRS6 IF CPU0 ON
  1556. LDM DCPC
  1557. ZJN PRS6 IF NOT DUAL 170-STATE CPUS WITH CACHE
  1558. PRS5.1 LDC =C*NO CPU AVAILABLE.*
  1559. JMP DSE DISPLAY ERROR AND HANG
  1560.  
  1561. PRS6 LDN IUDS REQUEST IOU DESCRIPTOR
  1562. RJM IAF
  1563. LDM DBUF+PPSD SET PP SPEED
  1564. STD CM+4
  1565. RAM IBUF+/BPP/CDPA
  1566. LDN CSWL SAVE *MABL* DATA
  1567. CWD CM
  1568.  
  1569. * SET PP STATUS.
  1570.  
  1571. LDM DBUF+LPP0 SET LOGICAL PP STATUS
  1572. STM .PPL
  1573. LDM DBUF+LPP1
  1574. STM .PPL+1
  1575. LDM DBUF+LPC1 SET LOGICALLY ON CONCURRENT PP-S
  1576. STM .CPPL
  1577. LDC 6000 SET PHYSICAL PP COUNT
  1578. RAM DBUF+PPP0
  1579. RJM CSB
  1580. STM .PPN
  1581. LDC 6000 CHECK UPPER BANK
  1582. RAM DBUF+PPP1
  1583. RJM CSB
  1584. ZJN PRS7 IF .LE. 10 PP-S
  1585. LDN 10D
  1586. RAM .PPN
  1587. LDN 10D ADJUST PP CONFIGURATION
  1588. RAM .PPU
  1589.  
  1590. * SET CHANNEL STATUS.
  1591.  
  1592. LDN 34 SET CHANNEL COUNT
  1593. STM .CHN
  1594. PRS7 LDM C8XX
  1595. NJN PRS8 IF NOT CYBER 800 TYPE MAINFRAME
  1596. LDM DBUF+CHP1
  1597. RJM CSB
  1598. ADN 20 ADJUST CHANNEL COUNT
  1599. STM .CHN
  1600. LDC 6000 SET PHYSICAL CONCURRENT CHANNEL/PP COUNT
  1601. RAM DBUF+PPC1
  1602. RJM CSB
  1603. STM .CCHN
  1604. ZJN PRS8 IF NO CONCURRENT CHANNELS
  1605. ADN 40
  1606. UJN PRS8.1 SET MAX CHANNELS FOR FIRMWARE DISPLAY
  1607.  
  1608. PRS8 LDM .CHN SET COUNT FOR BUFFER PP
  1609. PRS8.1 RAM IBUF+/BPP/GCLA
  1610.  
  1611. * SET *MDD* STATUS.
  1612.  
  1613. LDN CIDS REQUEST CONSOLE DESCRIPTOR
  1614. RJM IAF
  1615. LDM MBUF
  1616. ZJN PRS9 IF NO DESCRIPTOR RETURNED
  1617. LDM DBUF+SMPP
  1618. SHN -6 SET *MDD* PP NUMBER
  1619. STM .MDD
  1620. LDM DBUF+MDDF SAVE *MDD* LOADED FLAG AND PORT
  1621. STM MDDP
  1622. PRS9 RJM CLK PROCESS CTI CLOCK
  1623. RJM DDV DETERMINE *DFT* VERSION
  1624. LDD DH
  1625. LMN 2
  1626. NJN PRS10 IF DEADSTART NOT FROM CHANNEL 2
  1627. LDN 12-2 SET CHANNEL 12 FOR *STL* LOAD
  1628. RAM CC1
  1629. STM CC2
  1630. LDN 12-2
  1631. RAM CC3
  1632. PRS10 LDD DH
  1633. NJN PRS11 IF DEADSTART NOT ON CHANNEL 0
  1634. LDN 12-0 SET *MTR* LOAD FROM CHANNEL 12
  1635. RAM CC4
  1636. LDN 12-0
  1637. RAM CC5
  1638. PRS11 LDD DH
  1639. LMN BC
  1640. NJN PRS12 IF DEADSTART NOT ON BUFFER PP CHANNEL
  1641. LDC 12S12+CTBC
  1642. RJM MCI MODIFY BUFFER PP CHANNEL INSTRUCTIONS
  1643.  
  1644. * MOVE ALTERNATE PP.
  1645.  
  1646. PRS12 LDN DIDS GET DEADSTART DISK INFORMATION
  1647. RJM IAF
  1648. LDM DBUF+DDCH
  1649. LPN 37
  1650. SHN 14
  1651. LMM DBUF+DDEU
  1652. SHN 6
  1653. STM .DSD
  1654. RJM EPP EXCLUDE D/S DISK CHANNEL PP
  1655. LDD DH
  1656. RJM EPP EXCLUDE D/S TAPE CHANNEL PP
  1657. LDM .PPL
  1658. LMC 6407 REMOVE PP-S 0, 1, 2, 10
  1659. PRSC EQU *-1
  1660. RJM MSB
  1661. PJN PRS15 IF PP FOUND
  1662. LDM .PPL+1
  1663. LMC 6000 CHECK UPPER BANK
  1664. PRSD EQU *-1
  1665. RJM MSB
  1666. PJN PRS14 IF PP FOUND
  1667. LDC =C* NOT ENOUGH PP-S FOR DEADSTART.*
  1668. JMP DSE DISPLAY ERROR AND HANG
  1669.  
  1670. PRS14 ADN 20 SET NEW ALTERNATE PP NUMBER
  1671. PRS15 STM .APP
  1672. ADC MAPS*10000 MOVE PP FUNCTION
  1673. RJM APM
  1674. CHKAPE CHECK ALTERNATE PP ERROR
  1675.  
  1676. * IDLE CPU(S) AWAY FROM LOCATION 0.
  1677.  
  1678. PRS16 LDN 20 EXCHANGE PACKAGE LENGTH
  1679. STD T1
  1680. LDD HN SAVE EXCHANGE PACKAGE AREA
  1681. CRM MBUF,T1
  1682. LDN CPSL STORE CPU IDLE PROGRAM
  1683. CWM PRSA,ON
  1684. LDD HO CHECK CPU TYPE
  1685. SHN 21-11
  1686. MJN PRS18 IF CYBER 176 (CPU STOPPED)
  1687. LDD HO
  1688. LPN 2
  1689. NJN PRS17 IF CPU 1 OFF / NON-EXISTENT
  1690. LDM DCPC
  1691. NJN PRS17 IF DUAL 170-STATE CPUS WITH CACHE
  1692. LDD HN STORE EXCHANGE PACKAGE
  1693. CWM PRSB,T1
  1694. SBN 20
  1695. EXN 1 EXCHANGE CPU 1
  1696. SBN 1 WAIT EXCHANGE COMPLETE
  1697. NJN *-1
  1698. LDD HO
  1699. LPN 1
  1700. NJN PRS18 IF CPU 0 OFF
  1701. PRS17 LDD HN STORE EXCHANGE PACKAGE
  1702. CWM PRSB,T1
  1703. SBN 20 EXCHANGE CPU 0
  1704. EXN 0
  1705. SBN 1 WAIT EXCHANGE COMPLETE
  1706. NJN *-1
  1707. PRS18 LDD HN RESTORE EXCHANGE PACKAGE AREA
  1708. CWM MBUF,T1
  1709. LDN 0 CLEAR LOCATION 0
  1710. CWD ZR
  1711.  
  1712. * START BUFFER PP.
  1713.  
  1714. RJM DCB DEFINE CM BUFFER SPACE
  1715. STM IBUF+/BPP/EA
  1716. .ESBL EQU ESTE*ESMX+77 CM BUFFER SIZE PLUS ROUNDING FACTOR
  1717. ESTBL EQU .ESBL/100 CM BUFFER LENGTH/100B FOR EST
  1718. ADK ESTBL RA/100 OF *TDDB* TABLE
  1719. STD ET
  1720. STM IBUF+/BPP/MA
  1721. .CTBL EQU 3*CTALL+77 CM BUFFER SIZE PLUS ROUNDING FACTOR
  1722. CTABL EQU .CTBL/100 CM BUFFER LENGTH/100 FOR CHANNEL TABLES
  1723. ADK TDDBL+CTABL
  1724. STM IBUF+/BPP/FA
  1725. LDC IBUFL TRANSMIT PP BUFFER PROGRAM
  1726. OAM IBUF,BC
  1727. FJM *,BC WAIT OUTPUT COMPLETE
  1728. DCN BC
  1729. LDD EB CLEAR EST ASSEMBLY BUFFER
  1730. SHN 6
  1731. STD CA+1
  1732. SHN -14
  1733. STD CA
  1734. LDC ESTBL*100+TDDBL*100+CTABL*100
  1735. RJM CLS
  1736. LDD LE ENTER EST CONSTANTS
  1737. SHN 1
  1738. STD T1
  1739. LDD EB
  1740. SHN 6
  1741. CWM EBTA,T1
  1742. LDN CFGL SET EXTENDED MEMORY MODE INTO *CFGL*
  1743. CRD AB
  1744. LDD HO
  1745. LPC 4100
  1746. NJN PRS19 IF NOT CYBER 865/875
  1747. LDN 1 FORCE ESM MODE
  1748. UJN PRS20 SET MODE IN *CFGL*
  1749.  
  1750. PRS19 IJM SET1,CHSC IF SCR CHANNEL INACTIVE
  1751. LDN /SCR/FCRD+/SCR/ESMM/14 READ SCR EXTENDED MEMORY MODE
  1752. OAN CHSC
  1753. IAN CHSC
  1754. SHN -/SCR/ESMM+/SCR/ESMM/14*14
  1755. LPN 1
  1756. PRS20 SHN 12-0
  1757. RAD AB+3 INSERT MODE BIT
  1758. LDN CFGL
  1759. CWD AB
  1760. LJM SET1 PROCESS TEXT DECKS
  1761. SPACE 4,10
  1762. * SCRATCH BUFFER.
  1763.  
  1764. MBUFL MAX MLED,CTALL*5,100*5
  1765. MBUF EQU 7777-MBUFL
  1766. DBUF EQU MBUF+APDL
  1767. CDD SPACE 4,10
  1768. ** CDD - CHECK DISPLAY DRIVER.
  1769. *
  1770. * ENTRY (T2) = *SCD* PP NUMBER IF CDC721 CONSOLE.
  1771. * (T7) = 77.
  1772. * (CM - CM+4) = 0.
  1773. *
  1774. * MACROS MDIN.
  1775.  
  1776.  
  1777. CDD SUBR ENTRY/EXIT
  1778. LDD T2
  1779. LPN 1 SET PORT NUMBER IN EST ENTRY
  1780. RAM EBTA+5*DSEQ*ESTE+5*EQDE+4
  1781. LPN 1
  1782. SHN 4
  1783. STM SCIP
  1784. LDD T2 EXTRACT *SCD* PP NUMBER
  1785. SHN -6
  1786. STM .DCS
  1787. CDD1 ZJN CDDX IF DEADSTART FROM CC545 CONSOLE
  1788. RAM CDDA
  1789. LPN 37 MODIFY CHANNEL INSTRUCTIONS
  1790. RAM CDDB
  1791. LDN 3 INITIALIZE *SCD*
  1792. CDDA OAM. T7,0
  1793. CDDB DCN. 0
  1794. AOM EBTA+5*DSEQ*ESTE+5*EQAE+2
  1795. MDIN MODIFY DISPLAY GENERATORS
  1796. UJP CDD1 RETURN
  1797. CLK SPACE 4,10
  1798. ** CLK - PROCESS CTI CLOCK.
  1799. *
  1800. * EXIT (DTEL) = CTI-SUPPLIED DATE.
  1801. * (TIML) = CTI-SUPPLIED TIME.
  1802. * (PDTL) = CTI-SUPPLIED *FRC* VALUE.
  1803. *
  1804. * CALLS IAF.
  1805.  
  1806.  
  1807. CLK SUBR ENTRY/EXIT
  1808. LDM C8XX CHECK MAINFRAME TYPE
  1809. NJN CLKX IF NOT CYBER 180
  1810. LDN CLKS REQUEST CTI CLOCK INFORMATION
  1811. RJM IAF
  1812. LDN PDTL
  1813. CWM MBUF+10,ON WRITE CTI-SUPPLIED *FRC* VALUE
  1814. ADK TIML-PDTL-1
  1815. CWM MBUF+3,ON WRITE CTI-SUPPLIED TIME
  1816. ADK DTEL-TIML-1
  1817. CWM MBUF,ON WRITE CTI-SUPPLIED DATE
  1818. UJN CLKX RETURN
  1819. CSB SPACE 4,10
  1820. ** CSB - COUNT SET BITS.
  1821. *
  1822. * ENTRY (A) = COMPLEMENT OF BYTE TO COUNT.
  1823. *
  1824. * EXIT (A) = NUMBER OF ZERO BITS IN LOWER 12 BITS.
  1825. *
  1826. * USES T1, T2.
  1827.  
  1828.  
  1829. CSB2 LDD T2 NUMBER OF BITS SET
  1830.  
  1831. CSB SUBR ENTRY/EXIT
  1832. LMC 7777 COMPLEMENT ENTRY
  1833. STD T1 SAVE ENTRY CONDITION
  1834. LDN 0
  1835. STD T2 RESET COUNTER
  1836. CSB1 LDD T1
  1837. ZJN CSB2 IF NO MORE BITS SET
  1838. SHN 21-0 SHIFT OFF LAST BIT
  1839. STD T1
  1840. SHN 0-21 INCREMENT COUNTER
  1841. RAD T2
  1842. UJN CSB1 LOOP FOR NEXT BIT
  1843. DCB SPACE 4,15
  1844. ** DCB - DEFINE CM BUFFER SPACE.
  1845. *
  1846. * EXIT (A) = (EB) = RA/100 FOR EST BUFFER.
  1847. *
  1848. * USES T1, AB - AB+4.
  1849. *
  1850. * CALLS API, IDF.
  1851. *
  1852. * MACROS CFNC, CHKAPE, DFIM.
  1853.  
  1854.  
  1855. DCB2 LDN CSWL FETCH *MABL* DATA
  1856. CRD AB
  1857. CWD ZR
  1858. ADN MABL-CSWL STORE *MABL* WORD
  1859. CWD AB
  1860. LDD AB+2 SET BUFFER LIMIT
  1861. SHN 14
  1862. LMD AB+3
  1863. MJN DCB3 IF MEMORY SIZE .GT. 64 MBYTES
  1864. SBK 4001
  1865. MJN DCB4 IF MEMORY SIZE .LE. 131K WORDS
  1866. DCB3 LCN 1
  1867. DCB4 ADC 4001
  1868. STM IBUF+/BPP/BL
  1869. SBK EBFL SET RA FOR *EBUT* TABLE
  1870. STD EB
  1871.  
  1872. DCB SUBR ENTRY/EXIT
  1873. LDD RS
  1874. LPN SYMK
  1875. LMN SYCM
  1876. NJN DCB2 IF SYSTEM NOT RECOVERED FROM CM
  1877. LDN LROF
  1878. RJM IDF INITIATE SEARCH FOR *RCM*
  1879. CFNC SLMF SELECT LEFT SCREEN - MEDIUM CHARACTERS
  1880. DCB1 LDN DCBAL DISPLAY MESSAGE
  1881. OAM DCBA,CH
  1882. CFNC THCF TRANSFER HIDDEN AND CLEAR
  1883. LDC SBNI+1 DELAY
  1884. NJN *-1
  1885. AJM DCB1,TC IF *DIO* BUSY
  1886. DCN CH
  1887.  
  1888. * SUSPEND ALTERNATE PP.
  1889.  
  1890. LDM .APP MODIFY *APP* CHANNEL INSTRUCTIONS
  1891. SHN 14
  1892. LMC CTAC
  1893. RJM MCI
  1894. LDK ZERL CLEAR *DSCL*
  1895. CRD CM
  1896. LDK DSCL
  1897. CWD CM
  1898. LDK RPCS*10000+DSCL REMOVE PP FROM CHANNEL
  1899. RJM APM
  1900. CHKAPE CHECK ALTERNATE PP ERROR
  1901. LJM ROV1 LOAD AND EXECUTE *RCM*
  1902.  
  1903. DFIM (CON LN12)
  1904. DCBA CON LN19,CH06
  1905. DATA C*RECOVERY IN PROGRESS.*
  1906. DCBAL EQU *-DCBA
  1907. DDV SPACE 4,10
  1908. ** DDV - DETERMINE *DFT* VERSION.
  1909. *
  1910. * EXIT (DFTV) = 0, IF VERSION 3 *DFT* PRESENT.
  1911. * (DFSZ) = SIZE OF *DFT/OS* BUFFER, IF VERSION 4 OR
  1912. * ABOVE *DFT* PRESENT.
  1913. *
  1914. * TO *DSE* IF THE SIZE OF THE *DFT/OS* BUFFER FROM THE
  1915. * DESCRIPTOR IS GREATER THAN 7777B.
  1916. *
  1917. * CALLS IAF.
  1918.  
  1919.  
  1920. DDV SUBR ENTRY/EXIT
  1921. LDM C8XX
  1922. NJN DDVX IF NOT CYBER 180
  1923. LDN DFTS GET *DFT* DESCRIPTOR
  1924. RJM IAF ISSUE ALTERNATE PP FUNCTION
  1925. LDM MBUF
  1926. ZJN DDVX IF NO DESCRIPTOR RETURNED
  1927. LDM DBUF+DFVR SAVE *DFT* VERSION
  1928. SHN 21-0
  1929. PJN DDVX IF VERSION 3 *DFT*
  1930. SHN 0-5
  1931. LPN 77
  1932. NJN DDV0 IF NOT *DFT* VERSION 4
  1933. LDN 4
  1934. DDV0 SBN 3 *DFT* VERISON 3 = 0
  1935. STM DFTV
  1936. LDM DBUF+DFSI SAVE *DFT/OS* BUFFER SIZE
  1937. NJN DDV1 IF *DFT/OS* BUFFER SIZE TOO LARGE
  1938. LDM DBUF+DFSI+1
  1939. STM DFSZ
  1940. UJN DDVX RETURN
  1941.  
  1942. DDV1 LDC DDVA *DFT BUFFER TOO LARGE*
  1943. LJM DSE DISPLAY ERROR AND HANG
  1944.  
  1945.  
  1946. DDVA DATA C*DFT BUFFER TOO LARGE*
  1947. EPP SPACE 4,10
  1948. ** EPP - EXCLUDE PP FROM THOSE TO WHICH *APP* MAY BE MOVED.
  1949. *
  1950. * ENTRY (A) = 7/, 5/CHANNEL.
  1951. *
  1952. * USES T1.
  1953.  
  1954.  
  1955. EPP SUBR ENTRY/EXIT
  1956. LPN 37
  1957. SHN 22-4
  1958. STD T1
  1959. SHN 4-22
  1960. LMD TH
  1961. ERRNZ SHNI-1000 CODE ASSUMES *SHNI* = 1000
  1962. STM EPPA
  1963. LDN 1 SET PP MASK
  1964. EPPA SHN **
  1965. STM EPPB
  1966. STM EPPC
  1967. LDM .PPL,T1
  1968. LPC **
  1969. EPPB EQU *-1
  1970. EPP1 NJN EPPX IF PP OFF
  1971. LDM EPPD,T1
  1972. STD T1
  1973. LDI T1
  1974. LPC **
  1975. EPPC EQU *-1
  1976. NJN EPP1 IF PP ALREADY DESELECTED
  1977. LDM EPPC DESELECT PP
  1978. RAI T1
  1979. UJN EPP1 RETURN
  1980.  
  1981. EPPD CON PRSC,PRSD
  1982. IAF SPACE 4,10
  1983. ** IAF - ISSUE FUNCTION TO ALTERNATE PP.
  1984. *
  1985. * ENTRY (A) = FUNCTION CODE.
  1986. *
  1987. * EXIT (A) = 0.
  1988. *
  1989. * ERROR TO *DSE* IF ALTERNATE PP ERROR.
  1990. *
  1991. * CALLS API.
  1992.  
  1993.  
  1994. IAF SUBR ENTRY/EXIT
  1995. SHN 14
  1996. LMC MBUF APPEND BUFFER ADDRESS TO REQUEST
  1997. RJM API
  1998. ZJN IAFX IF NO ERROR
  1999. JMP DSE DISPLAY ERROR AND HANG
  2000. MCI SPACE 4,10
  2001. ** MCI - MODIFY CHANNEL INSTRUCTIONS.
  2002. *
  2003. * ENTRY (A) = 6/ CHANNEL NUMBER,
  2004. * 12/ ADDRESS OF INSTRUCTION LIST.
  2005. *
  2006. * USES T0, T1, T2.
  2007.  
  2008.  
  2009. MCI1 STD T2 SET INSTRUCTION ADDRESS
  2010. LDI T2 MODIFY INSTRUCTION
  2011. SCN 37
  2012. LMD T0
  2013. STI T2
  2014. AOD T1 ADVANCE LIST ADDRESS
  2015. MCI2 LDI T1
  2016. NJN MCI1 IF NOT END OF LIST
  2017.  
  2018. MCI SUBR ENTRY/EXIT
  2019. STD T1 SET LIST ADDRESS
  2020. SHN -14
  2021. STD T0 SET CHANNEL
  2022. UJN MCI2 ENTER LOOP
  2023. MSB SPACE 4,10
  2024. ** MSB - DETERMINE MOST SIGNIFICANT BIT.
  2025. *
  2026. * ENTRY (A) = COMPLEMENT OF BYTE TO CHECK.
  2027. *
  2028. * EXIT (A) = NUMBER OF MOST SIGNIFICANT BIT, IF FOUND.
  2029. * (A) .LT. 0 IF ALL BITS ARE ZERO.
  2030. *
  2031. * USES T1, T2, T3.
  2032.  
  2033.  
  2034. MSB2 SOD T2 MOST SIGNIFICANT BIT
  2035.  
  2036. MSB SUBR ENTRY/EXIT
  2037. LMC 7777 COMPLEMENT ENTRY
  2038. STD T1 SAVE ENTRY CONDITION
  2039. LDN 0
  2040. STD T2 RESET MOST SIGNIFICANT BIT
  2041. STD T3 RESET BIT COUNTER
  2042. MSB1 AOD T3 INCREMENT BIT COUNTER
  2043. LDD T1
  2044. ZJN MSB2 IF NO MORE BITS ARE SET
  2045. SHN 21-0 SHIFT OFF LEAST SIGNIFICANT BIT
  2046. STD T1
  2047. PJN MSB1 IF BIT IS NOT SET
  2048. LDD T3 UPDATE MOST SIGNIFICANT BIT
  2049. STD T2
  2050. UJN MSB1 LOOP FOR NEXT BIT
  2051. RWR SPACE 4,10
  2052. ** READ / WRITE ENVIRONMENTAL CONTROL REGISTER.
  2053. *
  2054. * ENTRY (A) = *RMRF* TO READ REGISTER,
  2055. * = *WMRF* TO WRITE REGISTER.
  2056. *
  2057. * EXIT (RBUF) = REGISTER CONTENTS.
  2058.  
  2059.  
  2060. RWR SUBR ENTRY/EXIT
  2061. LMM CMCC
  2062. FAN. MR FUNCTION MAINTENANCE CHANNEL
  2063. LPN 20
  2064. ERRNZ RMRF+20-WMRF CODE DEPENDS ON VALUE
  2065. SHN 3
  2066. LMC IAMI+MR FORM I/O INSTRUCTION
  2067. STM RWRA
  2068. ACN. MR
  2069. LDN 0
  2070. OAN. MR SEND MEMORY *EC* REGISTER NUMBER
  2071. LDK /IOU/ECMR
  2072. OAN. MR
  2073. FJM. *,MR IF CHANNEL BUSY, WAIT
  2074. DCN. MR
  2075. ACN. MR READ / WRITE REGISTER
  2076. LDN 10
  2077. RWRA IAM. RBUF,MR
  2078. UJP RWRX RETURN
  2079.  
  2080.  
  2081. RBUF EQU MBUF+500-10
  2082. SHO SPACE 4,15
  2083. ** SHO - SET HARDWARE OPTIONS.
  2084. *
  2085. * EXIT (A) = 0 IF CYBER 180 MAINFRAME OR CM RECOVERY.
  2086. * (HO) = HARDWARE OPTIONS.
  2087. * (DFTA) = DEFAULT *DFT* VALUES SET.
  2088. * (DCPC) .NE. 0, IF DUAL-NOS-CPU CACHE MACHINE.
  2089. * (DCPS) .NE. 0, IF DUAL-NOS-CPU SELECTED IN *CIP*.
  2090. * CYBER 180 CPU(S) STARTED.
  2091. *
  2092. * ERROR TO *DSE* IF CPU MODEL NOT FOUND.
  2093. *
  2094. * USES HO, T2, T4, AB - AB+4.
  2095. *
  2096. * CALLS IAF.
  2097.  
  2098.  
  2099. SHO7 LDN PMNTL SEARCH TABLE OF PROCESSOR MODELS
  2100. STD T2
  2101. SHO8 SOD T2
  2102. PJN SHO9 IF NOT END OF TABLE
  2103. LDC SHOH *CPU MODEL NOT FOUND*
  2104. LJM DSE DISPLAY ERROR AND HANG
  2105.  
  2106. SHO9 LDM PMNT,T2 CHECK NEXT TABLE ENTRY
  2107. LPC 377 EXTRACT MODEL NUMBER
  2108. STM CMDL
  2109. LMC 0 PROCESSOR MODEL NUMBER
  2110. SHOF EQU *-1
  2111. NJN SHO8 IF NO MATCH
  2112. LDD T2 SET DEFAULT DEDICATED *DFT* STATUS
  2113. SBN PMNTA
  2114. SHN 0-21
  2115. SHN 13-0
  2116. RAM DFTA+1
  2117. LDM PMNT,T2 SET 990 FLAG IF 990 PROCESSOR
  2118. SCN 77
  2119. SHN 12-6
  2120. RAM DFTA+1
  2121. SHN 6-12-10
  2122. STD T2
  2123. SHN 2 MULTIPLY BY 5
  2124. RAD T2
  2125. RAM DFTA
  2126. LPN 77
  2127. ERRNZ NUMR-20 CODE ASSUMES *NUMR* = 20
  2128. SHN 4 MULTIPLY BY *NUMR*+1
  2129. RAD T2
  2130. RAM DFTA+1 SET DEFAULT TOTAL SIZE OF M/R BUFFERS
  2131. SHOJ UJN SHO11 RETURN
  2132. * PSN (IF CM RECOVERY)
  2133. RJM VCC VERIFY CPU CONFIGURATION
  2134. UJN SHO11 RETURN
  2135.  
  2136. SHO10 STM SHOJ SET *PSN*
  2137. LDK MABL FETCH MAINFRAME ATTRIBUTE INFORMATION
  2138. CRD AB
  2139. LDD AB+1 RECOVER HARDWARE OPTIONS
  2140. STM VCCA
  2141. STD HO
  2142. LDM C8XX
  2143. ZJP SHO1 IF CYBER 180 MAINFRAME
  2144. SHO11 LDN 0
  2145.  
  2146. SHO SUBR ENTRY/EXIT
  2147. LDN GPDS REQUEST GLOBAL PROCESSOR DESCRIPTOR
  2148. RJM IAF
  2149. LDM DBUF+CPSF CHECK FOR DUAL-NOS-CPU SELECTED
  2150. LPN 10
  2151. RAM SHOB
  2152. LDN MFDS REQUEST MAINFRAME DESCRIPTOR
  2153. RJM IAF
  2154. LDM DBUF+PCPF
  2155. LPN 3
  2156. STM .CPU
  2157. STM .CPU+1 PRESET LOGICAL STATUS = PHYSICAL STATUS
  2158. LDD RS
  2159. LPN SYMK CHECK DEADSTART LEVEL
  2160. LMN SYCM
  2161. ZJP SHO10 IF CM RECOVERY
  2162. LDM C8XX
  2163. NJN SHOX IF NOT CYBER 180 MAINFRAME
  2164. STM SHOE
  2165. LDM .CPU
  2166. ADC 720 APPEND CME, NO STACK, CMU STATUS
  2167. STD HO
  2168.  
  2169. * START CYBER 180 CPU(S).
  2170.  
  2171. SHO1 LDN 0 STORE IDLE PROGRAM AT LOCATION ZERO
  2172. CWM SHOC,ON
  2173. SHO2 AOM SHOA ADVANCE PROCESSOR MASK
  2174. LMN 3
  2175. LPN 3
  2176. ZJP SHO7 IF TWO PROCESSORS CHECKED
  2177. LDD HO
  2178. LMN 3 CHECK HARDWARE OPTIONS
  2179. SHOA LPN 0
  2180. * LPN 1 (CPU 0)
  2181. * LPN 2 (CPU 1)
  2182. ZJN SHO2 IF CPU NOT PRESENT
  2183. STD T4
  2184. SHN -1 SET PROCESSOR NUMBER
  2185. STM MBUF
  2186. LDN CPDS REQUEST CPU DESCRIPTOR
  2187. RJM IAF
  2188. LDM DBUF+PSTA CHECK PROCESSOR STATUS
  2189. LPC 1001 CHECK FOR OFF AND/OR DOWN
  2190. ZJN SHO3 IF PROCESSOR ON AND UP
  2191. SHO2.1 LDD T4 UPDATE CPU ON/OFF STATUS
  2192. RAM .CPU+1
  2193. LDD T4 DISABLE PROCESSOR
  2194. RAD HO
  2195. UJP SHO2 CHECK NEXT PROCESSOR
  2196.  
  2197. * SET UP TO START SECOND CPU ON CACHE MACHINE.
  2198.  
  2199. SHO3 LDM DBUF+HDMN SET PROCESSOR MODEL NUMBER
  2200. SHN -4
  2201. STM SHOF
  2202. SHN -4
  2203. LMN 0#1
  2204. NJN SHO3.2 IF NOT P1 PROCESSOR
  2205. STM ISPF SET ISMD-CAPABLE PROCESSOR FLAG
  2206. SHO3.1 LJM SHO4 START CPU
  2207.  
  2208. SHO3.2 LDM SHOA
  2209. LPN 2
  2210. ZJN SHO3.1 IF NOT PROCESSING CPU 1
  2211. LDM SHOF CHECK PROCESSOR MODEL NUMBER
  2212. LMC 0#3A
  2213. ZJN SHO3.5 IF 960-32
  2214. LMN 0#32&0#3A
  2215. ZJN SHO3.3 IF 870
  2216. LMC 0#41&0#32
  2217. ZJN SHO3.3 IF 990 MODEL B
  2218. LMN 0#44&0#41
  2219. NJN SHO3.4 IF NOT 994, DO NOT START CPU
  2220. SHO3.3 LDN 0
  2221. * LDN 10 (DUAL-NOS-CPU SELECTED IN *CIP*)
  2222. SHOB EQU *-1
  2223. STM DCPS SET DUAL-NOS-CPU SELECTED FLAG
  2224. NJN SHO3.5 IF DUAL-NOS-CPU SELECTED
  2225. SHO3.4 LJM SHO2.1 DO NOT START SECOND CPU
  2226.  
  2227. SHO3.5 LDN CPSL SET IDLE PROGRAM FOR CPU1 OF CACHE MACHINE
  2228. CWM PRSA,ON
  2229. STM DCPC SET DUAL 170-STATE CPUS WITH CACHE FLAG
  2230. SCF. *,MR GET MAINTENANCE CHANNEL
  2231. LDK RMRF READ ENVIRONMENTAL CONTROL REGISTER
  2232. RJM RWR
  2233. DCN. MR
  2234. LDM RBUF+4 ENABLE PORT TO SECOND CPU
  2235. SCN 40
  2236. STM RBUF+4
  2237. LDK WMRF WRITE *EC* REGISTER
  2238. RJM RWR
  2239. FJM. *,MR IF CHANNEL BUSY, WAIT
  2240. DCN. MR
  2241. CCF. *,MR RELEASE CHANNEL
  2242.  
  2243. * START CPU.
  2244.  
  2245. SHO4 LDM DBUF+MCTC START CPU
  2246. STM P2CC
  2247. SCF. SHO4,MR REQUEST CHANNEL FLAG
  2248. LMN /IOU/MRSP
  2249. FAN. MR START CPU
  2250. CCF. *+2,MR
  2251. UJN SHO6 CHECK NEXT PROCESSOR
  2252. * PSN (NON - CM RECOVERY)
  2253. SHOE EQU *-1
  2254. LDD HO
  2255. LPN 10
  2256. NJN SHO6 IF CMU SIMULATION OFF
  2257. LDM DBUF+CPOP
  2258. LPN 10 ADJUST CMU STATUS
  2259. RAD HO
  2260. SHO6 LJM SHO2 CHECK NEXT PROCESSOR
  2261.  
  2262.  
  2263. SHOC VFD 12/0400,18/0,15/61000,15/46000
  2264. PMNT SPACE 4,20
  2265. ** PMNT - TABLE OF PROCESSOR MODEL NUMBERS.
  2266. *
  2267. *T, 4/ E, 8/ M.
  2268. *
  2269. * E = ENTRIES PER MAINTENANCE REGISTER BUFFER.
  2270. * M = PROCESSOR MODEL NUMBER.
  2271. *
  2272. * MODELS WHICH REQUIRE DEDICATED *DFT* STATUS AS THE DEFAULT
  2273. * MUST APPEAR AT THE START OF THE TABLE. THIS INCLUDES MODELS
  2274. * 96X AND 99X.
  2275.  
  2276.  
  2277. PMNT BSS 0
  2278. VFD 4/6,8/0#40 CYBER 180-990
  2279. VFD 4/6,8/0#41 CYBER 180-990 MODEL B
  2280. VFD 4/6,8/0#44 CYBER 180-994
  2281. VFD 4/6,8/0#3B CYBER 180-960-11
  2282. VFD 4/6,8/0#3A CYBER 180-960-31/32
  2283. PMNTA EQU *-PMNT END OF DEFAULT DEDICATED *DFT* MODELS
  2284. VFD 4/5,8/0#34 CYBER 180-840
  2285. VFD 4/5,8/0#37 CYBER 180-840S
  2286. VFD 4/5,8/0#33 CYBER 180-850
  2287. VFD 4/5,8/0#32 CYBER 180-860
  2288. VFD 4/5,8/0#31 CYBER 180-845
  2289. VFD 4/5,8/0#35 CYBER 180-845S
  2290. VFD 4/5,8/0#30 CYBER 180-855
  2291. VFD 4/5,8/0#36 CYBER 180-855S
  2292. VFD 4/3,8/0#20 CYBER 180-835
  2293. VFD 4/3,8/0#14 CYBER 180-810
  2294. VFD 4/3,8/0#13 CYBER 180-830
  2295. VFD 4/3,8/0#12 CYBER 180-825
  2296. VFD 4/3,8/0#16 CYBER 180-825S
  2297. VFD 4/3,8/0#11 CYBER 180-815
  2298. VFD 4/3,8/0#15 CYBER 180-815S
  2299. PMNTL EQU *-PMNT LENGTH OF TABLE
  2300.  
  2301. SHOH DATA C*CPU MODEL NOT FOUND*
  2302. VCC SPACE 4,10
  2303. ** VCC - VERIFY CPU CONFIGURATION.
  2304. *
  2305. * ENTRY (VCCA) = ORIGINAL (HO) FROM PRIOR DEADSTART.
  2306. *
  2307. * EXIT (A) = ORIGINAL (HO).
  2308. *
  2309. * ERROR TO *DSE* IF CPU STATE CHANGE.
  2310. *
  2311. * USES CM - CM+4.
  2312.  
  2313.  
  2314. VCC2 LDM VCCA CHECK CPU STATE CHANGE
  2315. LMD HO
  2316. LPN 3
  2317. ZJN VCC3 IF CPU STATUS HAS NOT CHANGED
  2318. LMN 3
  2319. NJN VCC1 IF CPU STATUSES HAVE NOT SWAPPED
  2320. VCC3 LDC ** RESTORE (HO)
  2321. VCCA EQU *-1
  2322. STD HO
  2323.  
  2324. VCC SUBR ENTRY/EXIT
  2325. LDN SSTL CHECK NOS/VE STATUS
  2326. CRD CM
  2327. LDD CM+3
  2328. SHN 0-13
  2329. NJN VCC2 IF NOS/VE DISABLED
  2330. LDM VCCA CHECK CPU STATE CHANGE FOR CPU 0
  2331. LMD HO
  2332. LPN 1
  2333. ZJN VCC3 IF CPU 0 AVAILABLE
  2334. VCC1 LDC VCCB *CPU STATE CHANGE.*
  2335. JMP DSE DISPLAY ERROR AND HANG
  2336.  
  2337.  
  2338. VCCB DATA C*CPU STATE CHANGE.*
  2339. SPACE 4,10
  2340. ** COMMON DECKS.
  2341.  
  2342.  
  2343. QUAL
  2344. API$ SET 1 SELECT ALTERNATE PP REQUEST INTERFACE
  2345. APM$ SET 1 SELECT ALTERNATE PP MANAGEMENT ROUTINE
  2346. QUAL *
  2347. *CALL COMPAPI
  2348. TRCO SPACE 4,10
  2349. ** TRCO - TABLE OF RECOVERY OPTIONS.
  2350. * ENTRY = 1 WORD.
  2351. * INDEXED WITH RECOVERY MODE.
  2352. *
  2353. *T, 12/ RO
  2354. * RO RECOVERY OPTIONS
  2355.  
  2356.  
  2357. TRCO BSS 0
  2358. LOC 0
  2359.  
  2360. CON 0
  2361. CON FLTB+SYTB
  2362. CON FLTB
  2363. CON JBCM+FLCM+SYCM
  2364.  
  2365. LOC *O
  2366.  
  2367.  
  2368. EBTA CON 0,0,0,2RRD,0 *RD*
  2369. CON 0,0,0,0,0
  2370. CON 0,CH+4000,0,2RDS,7000 *DS*
  2371. CON 0,0,0,0,0
  2372. CON 2000,0,0,2RNE,0 *NE*
  2373. CON 0,0,0,7,0
  2374. CON 2000,0,0,2RTE,0 *TE*
  2375. CON 0,0,0,7,0
  2376. CON 2000,0,0,2RTT,NIAC *TT*
  2377. CON 0,0,0,7,0
  2378.  
  2379.  
  2380. NIAC EQU 200 DEFAULT NUMBER OF NETWORK CONNECTIONS
  2381. SPACE 4,10
  2382. ERRZR BC-12 INCORRECT CHANNEL DEFINITION
  2383. SPACE 4,10
  2384. ** CPU IDLE PROGRAMS.
  2385.  
  2386.  
  2387. PRSA VFD 12/0400,18/CPSL,30/0
  2388. SPACE 4,10
  2389. ** EXCHANGE PACKAGE.
  2390.  
  2391.  
  2392. PRSB VFD 6/0,18/CPSL,36/0
  2393. VFD 60/0
  2394. VFD 6/0,18/200,36/0
  2395. VFD 60/0
  2396. VFD 60/0
  2397. VFD 60/0
  2398. VFD 60/0
  2399.  
  2400.  
  2401. USE LITERALS
  2402. TITLE PP BUFFER IDLER PROGRAM.
  2403. IBUF BSS 0
  2404. QUAL BPP
  2405. MACROS SPACE 4,10
  2406. ** MACRO DEFINITIONS.
  2407.  
  2408.  
  2409. ** TBLM = GENERATE TABLE OF DEFAULT CONTROLWARE TYPES
  2410. * TO LOAD.
  2411. *
  2412. * TBLM EQ
  2413. * EQ = MASS STORAGE EQUIPMENT MNEMONIC.
  2414.  
  2415.  
  2416. TBLM MACRO EQ
  2417. VFD 12/2R_EQ
  2418. VFD 12/C"FW_EQ"
  2419. ENDM
  2420. SPACE 4,10
  2421. ** ASSEMBLY CONSTANTS.
  2422.  
  2423.  
  2424. Y545 EQU //Y545-YINC BOTTOM OF SCREEN - CC545
  2425. Y721 EQU //Y721-YINC BOTTOM OF SCREEN - CDC721
  2426. SPACE 4,10
  2427. **** DIRECT LOCATION ASSIGNMENTS.
  2428.  
  2429.  
  2430. LOC 0
  2431. CON IDL-1 START ADDRESS - 1
  2432. BSS 2
  2433. CB BSS 5 DAYFILE AND SYSTEM DEFAULT FAMILY BUFFER
  2434. WB BSS 5 CM WORD BUFFER
  2435. BA CON 0 BUFFER ADDRESS
  2436. BL CON 0 BUFFER LIMIT
  2437. DB CON 0 DISPLAY BUFFER INDEX
  2438. LN CON 0 LINE NUMBER
  2439. LL CON 0 LINE LIMIT
  2440. WC CON 0 PRU WORD COUNT
  2441. SX CON 6 CONSTANT SIX
  2442. DV CON TDDCL MASS STORAGE DESCRIPTOR TABLE LENGTH
  2443. ON CON 1 CONSTANT ONE
  2444. PA CON 0 PROCESSOR ADDRESS
  2445. FD CON 0 FULL DISPLAY STATUS
  2446. FP CON 0 FUNCTION PARAMETER
  2447. SN CON 0 SCREEN NUMBER
  2448. DN CON -0 DECK NUMBER
  2449.  
  2450. TDBP BSS 0 TABLE OF DISPLAY BUFFER PARAMETERS
  2451. CON GDH INSTRUCTION DECK DISPLAY
  2452. FA CON 0 FIRST BUFFER ADDRESS
  2453. FW CON 0 FIRST BUFFER LINE COUNT
  2454. FI CON 0 DISPLAY INDEX
  2455. CON RTL TEXT DECK DISPLAY
  2456. SA CON 0 SECOND BUFFER ADDRESS
  2457. SW CON 0 SECOND BUFFER LINE COUNT
  2458. SI CON 0 DISPLAY INDEX
  2459. CON 0 EST DISPLAY
  2460. EA CON 0 EST BUFFER ADDRESS
  2461. EW CON NOPE EST EQUIPMENT COUNT
  2462. EI CON 0 DISPLAY INDEX
  2463. CON GMD MASS STORAGE DISPLAY
  2464. MA CON 0 MST PARAMETER BUFFER ADDRESS
  2465. MW CON NOPE DISPLAY CONTROL
  2466. CON 0 DISPLAY INDEX
  2467. CON GID MASS STORAGE INITIALIZATION DISPLAY
  2468. CON 0 MST PARAMETER BUFFER ADDRESS
  2469. IW CON NOPE DISPLAY CONTROL
  2470. CON 0 DISPLAY INDEX
  2471. CON GTD MASS STORAGE ERROR THRESHOLD DISPLAY
  2472. CON 0 MST PARAMETER BUFFER ADDRESS
  2473. TW CON NOPE DISPLAY CONTROL
  2474. CON 0 DISPLAY INDEX
  2475. CON GCD CONTROLWARE STATUS DISPLAY
  2476. CON 0 BUFFER ADDRESS
  2477. CW CON 0 DISPLAY CONTROL
  2478. CON 0 DISPLAY INDEX
  2479. CON 0 END OF DISPLAYS
  2480.  
  2481. CV CON 0 CLOCK VALUE
  2482. ET CON 0 ELAPSED TIME
  2483. BSS 77-*
  2484. YY CON YCSH Y-COORDINATE
  2485. XX CON CH01 X-COORDINATE
  2486. LBUF EQU YY+2 LINE BUFFER
  2487. BSS KBUFL/2
  2488. CON 0
  2489. ****
  2490. IDL SPACE 4,10
  2491. ** IDL - IDLER.
  2492.  
  2493.  
  2494. IDL IAN BC INPUT FUNCTION REQUEST
  2495. STD T1
  2496. LDM TFCN,T1 PROCESS FUNCTION
  2497. STM IDLA
  2498. IAN BC INPUT PARAMETER
  2499. LJM *
  2500. IDLA EQU *-1
  2501. TFCN SPACE 4
  2502. ** TFCN - FUNCTION PROCESSORS.
  2503.  
  2504.  
  2505. TFCN BSS 0
  2506. LOC 0
  2507. DFIM (CON RSP1)
  2508. CON RSP RESET PP
  2509. CON IFB INPUT FIRST BUFFER
  2510. CON ISB INPUT SECOND BUFFER
  2511. CON DDD DISPLAY BUFFER DATA
  2512. CON UEC UPDATE EQUIPMENT COUNT
  2513. CON ONL OUTPUT NEXT LINE
  2514. CON RCL REPLACE CURRENT LINE
  2515. CON ANL ADD NEXT LINE
  2516. CON ADB ADVANCE BUFFER
  2517. CON ADD ADVANCE DISPLAY
  2518. CON RPS RESET POINTERS ON SECOND BUFFER
  2519. LOC *L+TFCN
  2520. TIDP SPACE 4,10
  2521. ** TIDP - TABLE OF INITIAL DISPLAY PROCESSORS.
  2522.  
  2523.  
  2524. TIDP BSS 0
  2525. LOC 0
  2526. CMRD CON GDH CMRDECK
  2527. EQPD CON EQP EQPDECK
  2528. APRD CON ADP APRDECK
  2529. IPRD CON GDH IPRDECK
  2530. LOC *L+TIDP
  2531. SPACE 4,10
  2532. ** DISPLAY SUBROUTINES.
  2533.  
  2534.  
  2535. FNC DSUB
  2536. RSP SPACE 4
  2537. ** RSP - RESET PP.
  2538.  
  2539.  
  2540. RSP1 CFNC SLSF SELECT LEFT SCREEN - SMALL CHARACTERS
  2541. DISPLA CH20,LN15,(INITIALIZING SYSTEM LOAD.)
  2542. CFNC THCF TRANSFER HIDDEN AND CLEAR
  2543. DFIM (CON SDCF),*+1
  2544. RSP LDC DDCF CLEAR DISPLAY CONTROLLER
  2545. CFNC
  2546. LDC 1000
  2547. OAN BC
  2548. SBN 1
  2549. NJN *-1
  2550. DCN CH
  2551. IAM 0,BC
  2552. IFB SPACE 4
  2553. ** IFB - INPUT FIRST BUFFER.
  2554.  
  2555.  
  2556. IFB STD DN SET DECK TYPE
  2557. LDN FA UNPACK INSTRUCTION DECK
  2558. RJM UTD
  2559. ADN 7 SET SECOND BUFFER ADDRESS
  2560. SHN -3
  2561. ADD FA
  2562. STD SA
  2563. LDN 0 SET DISPLAY POINTER TO FIRST BUFFER
  2564. STD DB
  2565. STD EA-1 DISABLE EQPDECK DISPLAYS
  2566. LDM TIDP,DN SET INITIAL DISPLAY PROCESSOR
  2567. STD SA-1
  2568. JMP IDL RETURN
  2569. ISB SPACE 4
  2570. ** ISB - INPUT SECOND BUFFER.
  2571.  
  2572.  
  2573. ISB LDN SA UNPACK TEXT DECK
  2574. RJM UTD
  2575. JMP IDL RETURN
  2576. DDD SPACE 4,10
  2577. ** DDD - DISPLAY DEADSTART DATA.
  2578.  
  2579.  
  2580. DDD LDM TDBP+3,DB SET BUFFER INDEX
  2581. STD T1
  2582. LDN 1
  2583. STD SN
  2584. IAN. 14 SET INITIAL CLOCK VALUE
  2585. STD CV
  2586. LDC SLSF SELECT LEFT SCREEN - SMALL CHARACTERS
  2587. DDD1 CFNC
  2588. LDM TDBP,DB SET PROCESSOR ADDRESS
  2589. STD PA
  2590. LDC BL01 SET Y-COORDINATE
  2591. STD YY
  2592. DDD3 RJM 0,PA FETCH DISPLAY LINE
  2593. MJN DDD9 IF FORMAT EFFECTOR ENCOUNTERED
  2594. NJN DDD6 IF NOT END OF DISPLAY
  2595. DDD4 STD FD
  2596. DDD5 RJM CDP COMPLETE DISPLAY PROCESSING
  2597. DCN BC
  2598. JMP IDL RETURN
  2599.  
  2600. DDD6 OAM. YY,CH OUTPUT DISPLAY LINE
  2601. DFIM (UJN DDD8)
  2602. IAN. 14 READ CLOCK
  2603. STD T0
  2604. SBD CV
  2605. PJN DDD7 IF NO OVERFLOW
  2606. ADC 10000
  2607. DDD7 SHN -11
  2608. ZJN DDD8 IF NOT HALF MILLISECOND ELAPSED
  2609. RAD ET
  2610. LDD T0
  2611. STD CV SET NEW CLOCK VALUE
  2612. DDD8 AOD T1
  2613. STD FD ADVANCE FULL DISPLAY STATUS
  2614. LMM TDBP+2,DB
  2615. ZJN DDD4 IF END OF DATA IN BUFFER
  2616. LCN YINC
  2617. RAD YY ADVANCE Y-COORDINATE
  2618. DFIM (ADC -Y721)
  2619. ADC -Y545
  2620. PJN DDD3 IF NOT BOTTOM OF SCREEN
  2621. DDD9 SOD SN
  2622. MJN DDD5 IF RIGHT SCREEN DISPLAYED
  2623. FJM. *,CH
  2624. DCN. CH
  2625. LDC SRSF SELECT RIGHT SCREEN
  2626. LJM DDD1 DISPLAY RIGHT SCREEN
  2627. UEC SPACE 4,10
  2628. ** UEC - UPDATE EQUIPMENT COUNT.
  2629.  
  2630.  
  2631. UEC STD EW UPDATE EQUIPMENT LIMIT
  2632. DCN BC
  2633. STD MW
  2634. STD IW
  2635. STD TW
  2636. JMP IDL RETURN
  2637. ONL SPACE 4
  2638. ** ONL - OUTPUT NEXT LINE.
  2639.  
  2640.  
  2641. ONL AOD LN ADVANCE LINE NUMBER
  2642. LMD SW
  2643. ZJN ONL1 IF END OF DATA
  2644. LDD SA
  2645. SHN 3
  2646. ADD LN READ NEXT LINE
  2647. SHN 3
  2648. ONL1 CRM LBUF,SX
  2649. LDN LBUFL+1 OUTPUT LINE
  2650. OAM LBUF,BC
  2651. AJM *,BC WAIT OUTPUT COMPLETE
  2652. JMP IDL RETURN
  2653. RCL SPACE 4,10
  2654. ** RCL - REPLACE CURRENT LINE.
  2655.  
  2656.  
  2657. RCL LDD LN REPLACE LINE
  2658. RJM ADL
  2659. JMP IDL RETURN
  2660. ANL SPACE 4
  2661. ** ANL - ADD NEXT LINE.
  2662.  
  2663.  
  2664. ANL LDD SW ADD LINE
  2665. RJM ADL
  2666. ZJN ANL1 IF BUFFER FULL
  2667. AOD SW ADVANCE LINE COUNT
  2668. ANL1 JMP IDL RETURN
  2669. ADB SPACE 4,10
  2670. ** ADB - ADVANCE BUFFER.
  2671.  
  2672.  
  2673. ADB LDD FD
  2674. ZJN ADB1 IF NOT FULL DISPLAY
  2675. LMM TDBP+2,DB
  2676. ZJN ADB1 IF END OF BUFFER
  2677. LDD FD
  2678. ADB1 STM TDBP+3,DB RESET BUFFER INDEX
  2679. ADB2 DCN BC
  2680. JMP IDL RETURN
  2681. ADD SPACE 4,10
  2682. ** ADD - ADVANCE DISPLAY.
  2683.  
  2684.  
  2685. ADD LDN SA-FA ADVANCE DISPLAY POINTER
  2686. RAD DB
  2687. LDM TDBP,DB
  2688. NJN ADD1 IF NOT END OF DISPLAYS
  2689. STD DB RESET FIRST DISPLAY
  2690. ADD1 JMP ADB2 RETURN
  2691. RPS SPACE 4,10
  2692. ** RPS - RESET POINTERS ON SECOND BUFFER.
  2693.  
  2694.  
  2695. RPS STD FP
  2696. LDN 0 RESET LINE NUMBER
  2697. STD LN
  2698. JMP ADB2 RETURN
  2699. ADL SPACE 4,10
  2700. ** ADL - ADD DISPLAY LINE.
  2701. *
  2702. * ENTRY (A) = LINE NUMBER.
  2703. *
  2704. * EXIT (A) = FIRST BYTE OF NEW LINE.
  2705. *
  2706. * USES T1, T2.
  2707. *
  2708. * CALLS CLB.
  2709.  
  2710.  
  2711. ADL1 IAN BC INPUT CHARACTER
  2712. SHN 6
  2713. STI T2 ASSEMBLE DISPLAY LINE
  2714. ADL2 IAN BC
  2715. ZJN ADL3 IF END OF DATA
  2716. RAI T2
  2717. AOD T2 ADVANCE LINE ADDRESS
  2718. LMC LBUF+LBUFL
  2719. NJN ADL1 IF LINE NOT COMPLETE
  2720. ADL3 DCN BC
  2721. LDD T1 CHECK LINE LIMIT
  2722. LMD LL
  2723. ZJN ADLX IF BUFFER FULL
  2724. LDD SA
  2725. SHN 3
  2726. ADD T1 STORE NEW LINE
  2727. SHN 3
  2728. CWM LBUF,SX
  2729. LDM LBUF
  2730.  
  2731. ADL SUBR ENTRY/EXIT
  2732. STD T1 SAVE LINE NUMBER
  2733. OAN BC
  2734. RJM CLB CLEAR LINE BUFFER
  2735. UJN ADL2 ASSEMBLE LINE
  2736. ADP SPACE 4,10
  2737. ** ADP - INITIAL APRDECK DISPLAY PROCESSOR.
  2738. *
  2739. * ENTRY (FP) = EST ORDINAL.
  2740. *
  2741. * EXIT SEE *RTL*.
  2742. * (PA) = RTL.
  2743. * (YY) = COORDINATE FOR NEXT TEXT DECK LINE.
  2744. *
  2745. * CALLS GEL, RTL.
  2746.  
  2747.  
  2748. ADP SUBR ENTRY/EXIT
  2749. LCN YINC
  2750. RAD YY
  2751. LDN EDHAA OUTPUT DISPLAY HEADER
  2752. OAM EDHA,CH
  2753. LDD FP GENERATE EQUIPMENT DISPLAY LINE
  2754. STD T1
  2755. RJM GEL
  2756. OAM YY,CH DISPLAY EQUIPMENT STATUS
  2757. LCN 2*YINC
  2758. RAD YY
  2759. LDD SI RESTORE TEXT DECK LINE NUMBER
  2760. STD T1
  2761. LDC RTL CHANGE DISPLAY PROCESSOR
  2762. STD PA
  2763. RJM RTL READ TEXT LINE
  2764. UJN ADPX RETURN
  2765. CCD SPACE 4,10
  2766. ** CCD - CONVERT CHANNEL FOR DISPLAY.
  2767. *
  2768. * ENTRY (A) = CHANNEL DATA.
  2769. * (WB - WB+4) = EST DATA.
  2770. *
  2771. * EXIT (A) = (T2) = LINE ADDRESS ADJUSTED.
  2772. *
  2773. * USES BA.
  2774. *
  2775. * CALLS C2D.
  2776.  
  2777.  
  2778. CCD SUBR ENTRY/EXIT
  2779. STD BA
  2780. LPN 40
  2781. ZJN CCD1 IF NOT A CONCURRENT CHANNEL
  2782. LDN 1R &1RC
  2783. CCD1 LMC 2R
  2784. STI T2
  2785. AOD T2
  2786. LDD BA CONVERT CHANNEL NUMBER
  2787. LPN 37
  2788. RJM C2D
  2789. SOD T2
  2790. LDD BA CHECK TYPE OF CHANNEL
  2791. LPN 40
  2792. ZJN CCD2 IF NOT CONCURRENT CHANNEL
  2793. LDD BA
  2794. SHN 0-7 EXTRACT PORT NUMBER
  2795. LPN 1
  2796. ADC 2R-A CONVERT TO A OR B
  2797. STI T2
  2798. AOD T2
  2799. LDC 2R. ADJUST SEPARATOR
  2800. STI T2
  2801. CCD2 LDD BA CHECK CHANNEL STATE
  2802. SHN 21-12
  2803. PJN CCD3 IF CHANNEL IS NOT DOWN
  2804. LDC 2R* INDICATE CHANNEL DOWN
  2805. STI T2
  2806. CCD3 AOD T2 ADVANCE ADDRESS
  2807. UJP CCDX EXIT
  2808. CDI SPACE 4,10
  2809. ** CDI - CHECK DISPLAY INDEX.
  2810. *
  2811. * ENTRY (T1) = DISPLAY INDEX.
  2812. * (EW) = CURRENT EQUIPMENT COUNT.
  2813.  
  2814.  
  2815. CDI SUBR ENTRY/EXIT
  2816. LDD T1
  2817. SBD EW
  2818. MJN CDIX IF INDEX BELOW LIMIT
  2819. LDN 0
  2820. STD T1 SET INDEX TO FIRST PAGE OF DISPLAY
  2821. STM TDBP+3,DB
  2822. UJN CDIX RETURN
  2823. CDP SPACE 4,10
  2824. ** CDP - COMPLETE DISPLAY PROCESSING.
  2825. *
  2826. * ENTRY (ET) = ELAPSED TIME FOR DISPLAY GENERATION.
  2827. *
  2828. * EXIT (ET) = 0.
  2829. *
  2830. * MACROS CFNC, DFIM.
  2831.  
  2832.  
  2833. CDP SUBR ENTRY/EXIT
  2834. CFNC THCF
  2835. DCN. CH
  2836. DFIM (UJN CDPX)
  2837. LDN 21DS1 CALCULATE REFRESH DELAY
  2838. SBD ET
  2839. PJN CDP1 IF REFRESH TIME NOT EXCEEDED
  2840. LDN 0
  2841. CDP1 SHN 10-1 POSITION DELAY VALUE
  2842. CDPA EQU CDP1
  2843. ZJN CDP2 IF REFRESH CYCLE AT LIMIT
  2844. SBN 1
  2845. NJN *-1 DELAY
  2846. CDP2 STD ET
  2847. UJN CDPX RETURN
  2848. CLB SPACE 4,10
  2849. ** CLB - CLEAR LINE BUFFER.
  2850. *
  2851. * EXIT (T2) = LBUF.
  2852.  
  2853.  
  2854. CLB SUBR ENTRY/EXIT
  2855. LDN 0
  2856. CRM LBUF,SX
  2857. LDC LBUF SET BUFFER ADDRESS
  2858. STD T2
  2859. UJN CLBX RETURN
  2860. C1D SPACE 4,10
  2861. ** C1D - CONVERT ONE DIGIT.
  2862. *
  2863. * ENTRY (A) = VALUE TO CONVERT.
  2864. * (T2) = ADDRESS TO STORE CONVERSION.
  2865. *
  2866. * EXIT (A) = (T2) ADVANCED.
  2867.  
  2868.  
  2869. C1D SUBR ENTRY/EXIT
  2870. LPN 7
  2871. ADC 2R 0 CONVERT DIGIT
  2872. STI T2
  2873. AOD T2 ADVANCE ADDRESS
  2874. LDC 2R.
  2875. STI T2 STORE SEPARATOR
  2876. AOD T2
  2877. UJN C1DX RETURN
  2878. C2D SPACE 4,10
  2879. ** C2D - CONVERT TWO DIGITS.
  2880. *
  2881. * ENTRY (A) = VALUE TO CONVERT.
  2882. * (T2) = ADDRESS TO STORE CONVERSION.
  2883. *
  2884. * EXIT (A) = (T2) ADVANCED.
  2885.  
  2886.  
  2887. C2D SUBR ENTRY/EXIT
  2888. LPN 77
  2889. STD T0 CONVERT DIGITS
  2890. SHN 3
  2891. LMD T0
  2892. SCN 70
  2893. ADC 2R00 STORE CONVERSION
  2894. STI T2
  2895. AOD T2 ADVANCE ADDRESS
  2896. LDC 2R.
  2897. STI T2 STORE SEPARATOR
  2898. AOD T2
  2899. UJN C2DX RETURN
  2900. D4S SPACE 4,10
  2901. ** D4S - DISPLAY 4 DIGITS WITH LEADING ZERO SUPPRESSION.
  2902. * ROUTINE ADAPTED FROM *COMDDIS*.
  2903. *
  2904. * ENTRY (A) = VALUE TO BE CONVERTED.
  2905. * (T2) = BUFFER INDEX.
  2906. *
  2907. * EXIT (T2) ADVANCED.
  2908. *
  2909. * USES T2.
  2910.  
  2911.  
  2912. D4S SUBR ENTRY/EXIT
  2913. STD T0
  2914. SHN -6
  2915. ZJN D4S2 IF FIRST TWO DIGITS ARE ZERO
  2916. SHN -3
  2917. ZJN D4S1 IF FIRST DIGIT IS ZERO
  2918. ADN 1R0
  2919. SHN 14
  2920. D4S1 ADD T0
  2921. SHN -6
  2922. SCN 70
  2923. ADN 1R0
  2924. D4S2 STI T2 STORE UPPER DIGIT(S)
  2925. AOD T2
  2926. LDD T0
  2927. ZJN D4S4 IF ALL FOUR DIGITS ARE ZERO
  2928. SHN -3
  2929. ZJN D4S3 IF FIRST THREE DIGITS ARE ZERO
  2930. LPN 7
  2931. ADN 1R0
  2932. SHN 6
  2933. D4S3 LMD T0
  2934. SCN 7
  2935. LMD T0
  2936. D4S4 ADN 1R0 STORE LOWER DIGIT(S)
  2937. STI T2
  2938. AOD T2
  2939. LDC 2R. STORE SEPARATOR
  2940. STI T2
  2941. AOD T2
  2942. LJM D4SX RETURN
  2943. EQP SPACE 4,10
  2944. ** EQP - INITIAL EQPDECK DISPLAY PROCESSOR.
  2945. *
  2946. * EXIT SEE *GDH*.
  2947. * EST DISPLAY ENABLED.
  2948. *
  2949. * CALLS GDH.
  2950.  
  2951.  
  2952. EQP SUBR ENTRY/EXIT
  2953. LDC GED ENABLE EQPDECK DISPLAYS
  2954. STD EA-1
  2955. LDC GDH CHANGE PROCESSOR ADDRESS
  2956. STD SA-1
  2957. RJM GDH
  2958. UJN EQPX RETURN
  2959. GCD SPACE 4,15
  2960. ** GCD - INITIATE CONTROLWARE STATUS DISPLAY.
  2961. *
  2962. * ENTRY (T1) = CHANNEL NUMBER.
  2963. * (EW) = CURRENT EQUIPMENT COUNT.
  2964. *
  2965. * EXIT SEE *GCL*.
  2966. * (A) = 0 IF NO MORE CHANNELS
  2967. * (PA) = GCL.
  2968. * (YY) = COORDINATE FOR NEXT DISPLAY.
  2969. *
  2970. * USES FP, PA, T0, T1, T2.
  2971. *
  2972. * CALLS GCL, REP, SCT.
  2973.  
  2974.  
  2975. GCD6 RJM GCL GENERATE CONTROLWARE STATUS LINE
  2976. ZJN GCDX IF NO MORE CHANNELS
  2977. STD T2
  2978. LCN YINC ADJUST Y-COORDINATE
  2979. RAD YY
  2980. LDN EDHDA OUTPUT DISPLAY HEADER
  2981. OAM EDHD,CH
  2982. LDC GCL CHANGE PROCESSOR ADDRESS
  2983. STD PA
  2984. LDD T2
  2985.  
  2986. GCD SUBR ENTRY/EXIT
  2987. LDD T1
  2988. NJN GCD6 IF CONTROLWARE TABLE PROCESSED
  2989. GCD1 LDN CTALL
  2990. STD FP
  2991. LDD MA READ CONTROLWARE STATUSES
  2992. ADN TDDBL
  2993. SHN 6
  2994. CRM TCCS,FP
  2995. GCD2 RJM REP READ EQUIPMENT PARAMETERS
  2996. ZJN GCD5 IF NOT MASS STORAGE
  2997. LDD WB+1
  2998. LMN 37
  2999. ZJN GCD5 IF ISMD CHANNELS NOT YET SPECIFIED
  3000. LDD WB+3
  3001. RJM SCT SEARCH CONTROLWARE TABLE
  3002. ZJN GCD5 IF NOT FOUND
  3003. LDD WB+1 SET CHANNEL
  3004. LPN 77
  3005. GCD3 STD FP
  3006. LDI T2 DEFAULT CONTROLWARE FOR LOAD
  3007. SBM TCCS,FP
  3008. MJN GCD4 IF OTHER DEFAULT HAS PRIORITY
  3009. RAM TCCS,FP
  3010. GCD4 LDD WB+2
  3011. LPN 77
  3012. SHN 14
  3013. STD WB+2
  3014. SHN 6
  3015. NJN GCD3 IF NOT END OF CHANNELS
  3016. GCD5 AOD T1
  3017. LMD EW
  3018. NJN GCD2 IF MORE EQUIPMENT TO CHECK
  3019. STD T1 SET CHANNEL NUMBER
  3020. LJM GCD6 GENERATE CONTROLWARE STATUS LINE
  3021. GCL SPACE 4,15
  3022. ** GCL - GENERATE CONTROLWARE STATUS DISPLAY LINE.
  3023. *
  3024. * ENTRY (T1) = CHANNEL NUMBER.
  3025. *
  3026. * EXIT (A) = 0 IF NO MORE CHANNELS.
  3027. * = LENGTH OF DISPLAY LINE (INCLUDING COORDINATES).
  3028. * (T1) = CHANNEL NUMBER.
  3029. * (LBUF) = DISPLAY LINE.
  3030. *
  3031. * USES FP, T1, T2, YY.
  3032. *
  3033. * CALLS CLB.
  3034.  
  3035.  
  3036. GCL4 AOD T2 INCREMENT ASSEMBLY ADDRESS
  3037. LDD T1
  3038. LPN 40
  3039. ZJN GCL5 IF NOT A CONCURRENT CHANNEL
  3040. LDN 1R &1RC
  3041. GCL5 LMC 2R
  3042. STI T2
  3043. AOD T2
  3044. LDD T1 CONVERT CHANNEL NUMBER
  3045. LPN 37
  3046. RJM C2D
  3047. LDN 4 INCREMENT POSITION
  3048. RAD T2
  3049. LDM TLCS-1,FP SET CONTROLWARE RECORD TYPE
  3050. STI T2
  3051. AOD T2 ADJUST POSITION
  3052. LDD T2 SET LENGTH OF DISPLAY LINE
  3053. SBN YY
  3054.  
  3055. GCL SUBR ENTRY/EXIT
  3056. RJM CLB CLEAR LINE BUFFER
  3057. LDD T1
  3058. UJN GCL2 CONTINUE
  3059.  
  3060. GCL1 AOD T1
  3061. GCLA LMN 0
  3062. GCL2 EQU GCLA
  3063. NJN GCL3 IF MORE TO DISPLAY
  3064. STM GCLB
  3065. UJN GCLX RETURN
  3066.  
  3067. GCL3 LDM TCCS,T1
  3068. ZJN GCL1 IF CONTROLWARE NOT SPECIFIED
  3069. LPN 77
  3070. STD FP
  3071. AOM GCLB
  3072. SBN 22
  3073. NJP GCL4 IF NOT END OF LEFT SCREEN
  3074. DFIM (LDC Y721)
  3075. LDC Y545 ADJUST Y-COORDINATE FOR BLANK LINE
  3076. STD YY
  3077. SOD T1
  3078. LDN 3
  3079. UJN GCLX RETURN
  3080.  
  3081.  
  3082. GCLB CON 0
  3083. TDCW SPACE 4,10
  3084. ** TDCW - TABLE OF DEFAULT CONTROLWARE.
  3085.  
  3086.  
  3087. TDCW BSS 0
  3088. LIST G
  3089.  
  3090. TBL "MSEQ"
  3091. LIST *
  3092. PURGMAC TBLM
  3093.  
  3094. CON 0 END OF TABLE
  3095. TLCS SPACE 4,10
  3096. ** TLCS - TABLE OF CONTROLWARE RECORD TYPES TO LOAD.
  3097.  
  3098.  
  3099. TLCS BSS 0
  3100. LOC CLHT
  3101. CLHT CON 2RHT LOAD HALF TRACK CONTROLWARE
  3102. CNHT CON 2RNH NO LOAD HALF TRACK CONTROLWARE
  3103. CLFT CON 2RFT LOAD FULL TRACK CONTROLWARE
  3104. CNFT CON 2RNF NO LOAD FULL TRACK CONTROLWARE
  3105. CLFM CON 2RFM LOAD FMD CONTROLWARE
  3106. CNFM CON 2RNM NO LOAD FMD CONTROLWARE
  3107. CLAD CON 2RAD LOAD FSC ADAPTOR CONTROLWARE
  3108. CNAD CON 2RNA NO LOAD FSC ADAPTOR CONTROLWARE
  3109. CLPH CON 2RPH LOAD DEMA/PFMD CONTROLWARE
  3110. CNPH CON 2RNP NO LOAD DEMA/PFMD CONTROLWARE
  3111. CLID CON 2RID LOAD 7255 ADAPTOR CONTROLWARE
  3112. CNID CON 2RNI NO LOAD 7255 ADAPTOR CONTROLWARE
  3113. CLCC CON 2RCC LOAD 7165 ADAPTOR CONTROLWARE
  3114. CNCC CON 2RCN NO LOAD 7165 ADAPTOR CONTROLWARE
  3115. CLND CON 2R LOAD NAD CONTROLWARE
  3116. CNND CON 2RNN NO LOAD NAD CONTROLWARE
  3117. CON 2R (LOAD CONTROL MODULE - N/A)
  3118. CON 2R (NO LOAD CONTROL MODULE - N/A)
  3119. CLM8 CON 2RM8 LOAD 7990 CONTROLWARE
  3120. CNM8 CON 2RN8 NO LOAD 7990 CONTROLWARE
  3121. CLCX CON 2R LOAD CCC/NIP CONTROLWARE
  3122. CNCX CON 2RNX NO LOAD CCC/NIP CONTROLWARE
  3123. CLCT CON 2R LOAD CCC/698 CONTROLWARE
  3124. CNCT CON 2RNT NO LOAD CCC/698 CONTROLWARE
  3125. LOC *L+TLCS-1
  3126. GDH SPACE 4,10
  3127. ** GDH - GENERATE DISPLAY HEADER.
  3128. *
  3129. * ENTRY (T1) = LINE NUMBER.
  3130. *
  3131. * EXIT SEE *RTL*.
  3132. * (PA) = RTL.
  3133. *
  3134. * CALLS RTL.
  3135.  
  3136.  
  3137. GDH SUBR ENTRY/EXIT
  3138. LDM TDBP+1,DB
  3139. SHN 6 FETCH DECK NAME
  3140. CRM DHDR+2,ON
  3141. LDN DHDRL DISPLAY NAME
  3142. OAM. DHDR,CH
  3143. LDD T1
  3144. NJN GDH1 IF NOT FIRST PAGE OF DECK
  3145. AOD T1
  3146. GDH1 LDC RTL CHANGE PROCESSOR ADDRESS
  3147. STD PA
  3148. RJM RTL
  3149. UJN GDHX RETURN
  3150. GED SPACE 4,10
  3151. ** GED - INITIATE EST DISPLAY.
  3152. *
  3153. * EXIT SEE *GEL*.
  3154. * (PA) = GEL.
  3155. * (YY) = COORDINATE FOR NEXT DISPLAY LINE.
  3156. *
  3157. * CALLS CDI, GEL.
  3158.  
  3159.  
  3160. GED SUBR ENTRY/EXIT
  3161. RJM CDI CHECK DISPLAY INDEX
  3162. LCN YINC
  3163. RAD YY
  3164. LDN EDHAA OUTPUT DISPLAY HEADER
  3165. OAM EDHA,CH
  3166. LDC GEL CHANGE PROCESSOR ADDRESS
  3167. STD PA
  3168. RJM GEL GENERATE EST DISPLAY LINE
  3169. UJN GEDX RETURN
  3170. GEL SPACE 4,10
  3171. ** GEL - GENERATE EST DISPLAY LINE.
  3172. *
  3173. * ENTRY (T1) = EST ORDINAL.
  3174. *
  3175. * EXIT (A) = LENGTH OF DISPLAY LINE (INCLUDING COORDINATES).
  3176. * (LBUF) = DISPLAY LINE.
  3177. *
  3178. * USES BA, T2.
  3179. *
  3180. * CALLS CCD, C1D, C2D, IEL, REP.
  3181.  
  3182.  
  3183. GEL5 LDD T2 SET LENGTH OF DISPLAY LINE
  3184. SBN YY
  3185.  
  3186. GEL SUBR ENTRY/EXIT
  3187. RJM REP READ EQUIPMENT PARAMETERS
  3188. RJM IEL INITIALIZE DISPLAY LINE
  3189. ZJN GEL5 IF EQUIPMENT UNDEFINED
  3190. LDD WB
  3191. LPN 3 EXTRACT EQUIPMENT STATUS
  3192. SHN 1
  3193. STD BA SET INDEX
  3194. LDM GELA,BA
  3195. STI T2
  3196. AOD T2
  3197. LDM GELA+1,BA SET STATUS IN DISPLAY LINE
  3198. STI T2
  3199. AOD T2
  3200. LDD WB
  3201. SHN 0-13
  3202. NJN GEL2 IF MASS STORAGE
  3203. LDD WB+4
  3204. SHN -11
  3205. RJM C1D CONVERT EQUIPMENT (CONTROLLER) NUMBER
  3206. AOD T2
  3207. LDD WB+4
  3208. LPN 77
  3209. UJN GEL3 CONVERT UNIT NUMBER
  3210.  
  3211. GEL2 LDM MSTB+DVPR CONTROLLER NUMBER
  3212. SHN -11
  3213. RJM C1D
  3214. SOD T2 BACK UP FOR SECOND CONTROLLER DISPLAY
  3215. LDM MSTB+DVPR
  3216. SHN 21-5
  3217. PJN GEL2.1 IF NO SECOND CONTROLLER
  3218. RJM C1D CONVERT SECOND CHANNEL CONTROLLER NUMBER
  3219. UJN GEL2.2 CONVERT UNIT NUMBER
  3220.  
  3221. GEL2.1 LDN 2 SKIP SECOND CONTROLLER FIELD
  3222. RAD T2
  3223. GEL2.2 LDM MSTB+DVUN+3 CONVERT UNIT NUMBER
  3224. GEL3 RJM C2D
  3225. LDD WB+1 CONVERT PRIMARY CHANNEL
  3226. LMN 37
  3227. ZJN GEL4 IF CHANNEL NOT SPECIFIED
  3228. LDD WB+1
  3229. RJM CCD CONVERT CHANNEL NUMBER
  3230. LDD WB+2
  3231. ZJN GEL4 IF NO 2ND CHANNEL
  3232. RJM CCD
  3233. GEL4 LJM GEL5 SET LENGTH OF DISPLAY LINE
  3234. GELA SPACE 4,10
  3235. * EQUIPMENT STATUS.
  3236.  
  3237. GELA DATA 4H ON
  3238. DATA 4HIDLE
  3239. DATA 4H OFF
  3240. DATA 4HDOWN
  3241. GID SPACE 4,10
  3242. ** GID - INITIATE MASS STORAGE INITIALIZATION DISPLAY.
  3243. *
  3244. * EXIT SEE *GIL*.
  3245. * (A) = 0 IF END OF MASS STORAGE EQUIPMENT.
  3246. * (PA) = GIL.
  3247. * (YY) = COORDINATE FOR NEXT DISPLAY LINE.
  3248. *
  3249. * USES PA, T2, YY.
  3250. *
  3251. * CALLS CDI, GIL.
  3252.  
  3253.  
  3254. GID SUBR ENTRY/EXIT
  3255. LDN EDHCA OUTPUT DISPLAY HEADER
  3256. OAM EDHC,CH
  3257. RJM CDI CHECK DISPLAY INDEX
  3258. RJM GIL GENERATE LINE
  3259. ZJN GIDX IF NO MORE MASS STORAGE
  3260. STD T2
  3261. LCN YINC ADJUST Y-COORDINATE
  3262. RAD YY
  3263. LDC GIL CHANGE PROCESSOR ADDRESS
  3264. STD PA
  3265. LDD T2
  3266. UJN GIDX RETURN
  3267. GIL SPACE 4,15
  3268. ** GIL - GENERATE MASS STORAGE INITIALIZATION LINE.
  3269. *
  3270. * ENTRY (T1) = EST ORDINAL.
  3271. * (EW) = CURRENT EQUIPMENT COUNT.
  3272. *
  3273. * EXIT (A) = 0 IF NO MORE MASS STORAGE EQUIPMENT.
  3274. * = LENGTH OF DISPLAY LINE (INCLUDING COORDINATES).
  3275. * (T1) = MASS STORAGE EST ORDINAL.
  3276. * (LBUF) = DISPLAY LINE.
  3277. *
  3278. * USES FP, T0, T2.
  3279. *
  3280. * CALLS C1D, C2D, IML, SBS.
  3281.  
  3282.  
  3283. GIL SUBR ENTRY/EXIT
  3284. RJM IML
  3285. ZJN GILX IF NO MORE MASS STORAGE EQUIPMENT
  3286. LDD WB+4 SET INITIALIZATION OPTIONS
  3287. LPC 7760
  3288. ZJN GIL2 IF INITIALIZATION NOT SPECIFIED
  3289. STD T0 FTPQSAEB
  3290. LDC GILA
  3291. RJM SBS DISPLAY BIT STATUS
  3292. UJN GIL3 CHECK *PF* ENTRY
  3293.  
  3294. GIL2 LDN 4 ADVANCE POSITION
  3295. RAD T2
  3296. GIL3 LDM MSTB+DVNM DETERMINE IF *PF* ENTRY ENTERED
  3297. NJN GIL4 IF ENTERED
  3298. LJM GIL9 SET LENGTH OF DISPLAY LINE
  3299.  
  3300. GIL4 AOD T2
  3301. LDD WB DETERMINE DEVICE TYPE
  3302. LPN 4
  3303. ZJN GIL5 IF FAMILY DEVICE
  3304. LDC 2RX &2RF
  3305. GIL5 LMC 2RF SET *F* OR *X*
  3306. STI T2
  3307. AOD T2
  3308. LDM MSTB+DVPF+1 SET DEVICE MASK
  3309. SHN -6
  3310. LPN 3
  3311. RJM C1D
  3312. SOD T2 BACKSPACE OVER SEPARATOR
  3313. LDM MSTB+DVPF+1
  3314. RJM C2D
  3315. LDM MSTB+DVPF SET SECONDARY MASK
  3316. SHN -2
  3317. LPN 3
  3318. RJM C1D
  3319. SOD T2 BACKSPACE OVER SEPARATOR
  3320. LDM MSTB+DVPF
  3321. LPN 3
  3322. SHN 14
  3323. LMM MSTB+DVPF+1
  3324. SHN -10
  3325. RJM C2D
  3326. LDC MSTB+DVNM SET FAMILY OR PACKNAME
  3327. STD FP
  3328. AOD T2
  3329. GIL6 LDI FP
  3330. STI T2
  3331. AOD T2
  3332. AOD FP
  3333. LMC MSTB+DVNM+3
  3334. NJN GIL6 IF MORE CHARACTERS TO CHECK
  3335. LDM MSTB+DVNM+3 SET SEVENTH CHARACTER
  3336. SCN 77 CLEAR DEVICE NUMBER
  3337. STI T2
  3338. AOD T2
  3339. LDD WB DETERMINE IF FAMILY OR AUXILARY DEVICE
  3340. LPN 4
  3341. ZJN GIL7 IF FAMILY DEVICE
  3342. LDN 2 ADVANCE POSITION
  3343. RAD T2
  3344. UJN GIL8 SET NUMBER OF CATALOG TRACKS
  3345.  
  3346. GIL7 LDM MSTB+DVDN SET DEVICE NUMBER
  3347. RJM C2D
  3348. GIL8 LDM MSTB+DVPF SET NUMBER OF CATALOG TRACKS
  3349. SHN -12
  3350. RJM C1D
  3351. SOD T2 BACKSPACE OVER SEPARATOR
  3352. LDM MSTB+DVPF
  3353. SHN -4
  3354. RJM C2D
  3355. GIL9 LDD T2 SET LENGTH OF DISPLAY LINE
  3356. SBN YY
  3357. LJM GILX RETURN
  3358. GILA SPACE 4,10
  3359. * OPTION MASK.
  3360.  
  3361. GILA CON 2RFT&2R--
  3362. CON 2RPQ&2R--
  3363. CON 2RSA&2R--
  3364. CON 2REB&2R--
  3365. CON 0
  3366. GMD SPACE 4,10
  3367. ** GMD - INITIATE MST DISPLAY.
  3368. *
  3369. * EXIT SEE *GML*.
  3370. * (A) = 0 IF END OF MASS STORAGE EQUIPMENT.
  3371. * (PA) = GML.
  3372. * (YY) = COORDINATE FOR NEXT DISPLAY LINE.
  3373. *
  3374. * USES T2.
  3375. *
  3376. * CALLS CDI, GML.
  3377.  
  3378.  
  3379. GMD SUBR ENTRY/EXIT
  3380. LDN EDHBA OUTPUT DISPLAY HEADER
  3381. OAM EDHB,CH
  3382. LDD MA GET DAYFILE AND DEFAULT FAMILY EQUIPMENTS
  3383. SHN 6
  3384. ADN NEEQ*TDDCL
  3385. CRD CB
  3386. RJM CDI CHECK DISPLAY INDEX
  3387. RJM GML
  3388. ZJN GMDX IF NO MORE MASS STORAGE
  3389. STD T2
  3390. LCN YINC ADJUST Y-COORDINATE
  3391. RAD YY
  3392. LDC GML CHANGE PROCESSOR ADDRESS
  3393. STD PA
  3394. LDD T2
  3395. UJN GMDX RETURN
  3396. GML SPACE 4,15
  3397. ** GML - GENERATE MST DISPLAY LINE.
  3398. *
  3399. * ENTRY (T1) = EST ORDINAL.
  3400. * (EW) = CURRENT EQUIPMENT COUNT.
  3401. *
  3402. * EXIT (A) = 0 IF NO MORE MASS STORAGE EQUIPMENT.
  3403. * = LENGTH OF DISPLAY LINE (INCLUDING COORDINATES).
  3404. * (T1) = MASS STORAGE EST ORDINAL.
  3405. * (LBUF) = DISPLAY LINE.
  3406. *
  3407. * USES BA, T2.
  3408. *
  3409. * CALLS IML, SBS.
  3410.  
  3411.  
  3412. GML SUBR ENTRY/EXIT
  3413. RJM IML
  3414. ZJN GMLX IF NO MORE MASS STORAGE EQUIPMENT
  3415. LDD WB
  3416. LPC 3400 SET S, M, R
  3417. SHN 1
  3418. STD T0 SMR.........
  3419. LDD WB
  3420. LPN 20 SET N
  3421. SHN 10-4
  3422. RAD T0 SMRN........
  3423. LDD WB+4
  3424. LPN 10 SET A
  3425. SHN 7-3
  3426. RAD T0 SMRNA.......
  3427. LDD WB+4
  3428. SCN 17
  3429. ZJN GML2 IF NO INITIALIZE PENDING
  3430. LDC 100 SET I
  3431. RAD T0 SMRNAI......
  3432. GML2 LDM MSTB+DVPR SET P
  3433. LPN 1
  3434. SHN 5
  3435. RAD T0 SMRNAIP.....
  3436. LDN 4
  3437. STD BA
  3438. GML3 LDM CB,BA DETERMINE DAYFILE AND FAMILY RESIDENCE
  3439. LPC 777
  3440. LMD T1
  3441. NJN GML4 IF NO RESIDENCE
  3442. LDM GMLC,BA SET D, C, E, B, AND/OR F
  3443. RAD T0
  3444. GML4 SOD BA
  3445. PJN GML3 IF MORE TO CHECK
  3446. LDC GMLA
  3447. RJM SBS DISPLAY BIT STATUS
  3448. LDM MSTB+DVPR SET G
  3449. LPN 2
  3450. SHN 12
  3451. STD T0
  3452. LDC GMLB
  3453. RJM SBS DISPLAY BIT STATUS
  3454. LDN 2
  3455. RAD T2
  3456. LDM MSTB+DVFA SET FILE TYPE BITS
  3457. SHN 3
  3458. ADN 4 SET UNUSED BIT
  3459. STD T0
  3460. LDC GMLD
  3461. RJM SBS DISPLAY BIT STATUS
  3462. LDD T2 SET LENGTH OF DISPLAY LINE
  3463. SBN YY
  3464. LJM GMLX RETURN
  3465. GMLA SPACE 4,10
  3466. * STATUS MASKS.
  3467.  
  3468. GMLA CON 2RSM&2R--
  3469. CON 2RRN&2R--
  3470. CON 2RAI&2R--
  3471. CON 2RPD&2R--
  3472. CON 2RCE&2R--
  3473. CON 2RBF&2R--
  3474. CON 0
  3475.  
  3476. GMLB CON 2RG-&2R--
  3477. CON 0
  3478.  
  3479. GMLC CON 20
  3480. CON 10
  3481. CON 4
  3482. CON 2
  3483. CON 1
  3484.  
  3485.  
  3486. * FILES MASK.
  3487.  
  3488. GMLD CON 2RSB&2R--
  3489. CON 2RLP&2R--
  3490. CON 2RDR&2R--
  3491. CON 2ROI&2R--
  3492. CON 2RT &2R--
  3493. CON 0
  3494. GTD SPACE 4,10
  3495. ** GTD - INITIATE MASS STORAGE ERROR THRESHOLD DISPLAY.
  3496. *
  3497. * EXIT SEE *GTL*.
  3498. * (A) = 0 IF END OF MASS STORAGE EQUIPMENT.
  3499. * (PA) = GTL.
  3500. * (YY) = COORDINATE FOR NEXT DISPLAY LINE.
  3501. *
  3502. * USES T2.
  3503. *
  3504. * CALLS CDI, GTL.
  3505.  
  3506.  
  3507. GTD SUBR ENTRY/EXIT
  3508. LDN EDHEA OUTPUT DISPLAY HEADER
  3509. OAM. EDHE,CH
  3510. RJM CDI CHECK DISPLAY INDEX
  3511. RJM GTL GENERATE LINE
  3512. ZJN GTDX IF NO MORE MASS STORAGE
  3513. STD T2
  3514. LCN YINC ADJUST Y-COORDINATE
  3515. RAD YY
  3516. LDC GTL CHANGE PROCESSOR ADDRESS
  3517. STD PA
  3518. LDD T2
  3519. UJN GTDX RETURN
  3520. GTL SPACE 4,15
  3521. ** GTL - GENERATE MASS STORAGE ERROR THRESHOLD LINE.
  3522. *
  3523. * ENTRY (T1) = EST ORDINAL.
  3524. * (EW) = CURRENT EQUIPMENT COUNT.
  3525. *
  3526. * EXIT (A) = 0 IF NO MORE MASS STORAGE EQUIPMENT.
  3527. * = LENGTH OF DISPLAY LINE (INCLUDING COORDINATES).
  3528. * (T1) = MASS STORAGE EST ORDINAL.
  3529. * (LBUF) = DISPLAY LINE.
  3530. *
  3531. * USES BA.
  3532. *
  3533. * CALLS D4S, IML.
  3534.  
  3535.  
  3536. GTL SUBR ENTRY/EXIT
  3537. RJM IML
  3538. ZJN GTLX IF NO MORE MASS STORAGE EQUIPMENT
  3539. LDM MSTB+DVNT
  3540. RJM D4S CONVERT TRACK COUNT
  3541. LDN 0
  3542. STD BA
  3543. GTL1 LDM MSTB+DVTH,BA CONVERT THRESHOLD VALUE
  3544. RJM D4S
  3545. AOD BA ADVANCE INDEX
  3546. LMN 5
  3547. NJN GTL1 IF MORE ERROR LIMITS
  3548. LDD T2
  3549. SBN YY
  3550. UJP GTLX RETURN
  3551. IEL SPACE 4,10
  3552. ** IEL - INITIALIZE EQUIPMENT DISPLAY LINE.
  3553. *
  3554. * ENTRY (T1) = EST ORDINAL.
  3555. * (WB - WB+4) = EST DATA.
  3556. *
  3557. * EXIT (A) = 0 IF EQUIPMENT UNDEFINED.
  3558. * (T2) = *LBUF* ADDRESS FOR CONTINUED ASSEMBLY.
  3559. *
  3560. * CALLS CLB, D4S.
  3561.  
  3562.  
  3563. IEL3 LDN 2 ADVANCE PAST PARTITION FIELD
  3564. RAD T2
  3565.  
  3566. IEL SUBR ENTRY/EXIT
  3567. RJM CLB
  3568. LDD T1 CONVERT EST ORDINAL
  3569. RJM D4S
  3570. LDD WB+3 SET EQUIPMENT MNEMONIC
  3571. ZJN IELX IF EQUIPMENT UNDEFINED
  3572. STI T2
  3573. LDN 2 ADVANCE ASSEMBLY ADDRESS
  3574. RAD T2
  3575. LDD WB
  3576. SHN 21-13
  3577. PJN IEL3 IF NOT MASS STORAGE
  3578. SHN 21-5-21+13
  3579. PJN IEL3 IF NOT BUFFERED DEVICE
  3580. LDM ESTB+3
  3581. SHN 21-13
  3582. PJN IEL3 IF NO PARTITION NUMBER
  3583. SHN 21-11-21+13
  3584. MJN IEL2 IF DOUBLE DIGIT PARTITION NUMBER
  3585. SHN 0-16
  3586. RJM C1D CONVERT 1 OCTAL DIGIT
  3587. IEL1 UJN IELX RETURN
  3588.  
  3589. IEL2 SHN 4
  3590. LPN 17
  3591. RJM C2D DISPLAY 2 OCTAL DIGITS
  3592. UJN IEL1 RETURN
  3593. IML SPACE 4,10
  3594. ** IML - INITIALIZE MASS STORAGE DISPLAY LINE.
  3595. *
  3596. * ENTRY (T1) = EST ORDINAL.
  3597. * (EW) = CURRENT EQUIPMENT COUNT.
  3598. *
  3599. * EXIT (A) = 0 IF NO MORE MASS STORAGE EQUIPMENT.
  3600. * (T1) = MASS STORAGE EST ORDINAL.
  3601. *
  3602. * CALLS IEL, REP.
  3603.  
  3604.  
  3605. IML2 RJM IEL INITIALIZE DISPLAY LINE
  3606.  
  3607. IML SUBR ENTRY/EXIT
  3608. IML1 RJM REP
  3609. NJN IML2 IF MASS STORAGE EQUIPMENT FOUND
  3610. AOD T1
  3611. LMD EW
  3612. NJN IML1 IF MORE EQUIPMENT TO CHECK
  3613. * LDN 0
  3614. UJN IMLX RETURN
  3615. REP SPACE 4,10
  3616. ** REP - READ EQUIPMENT PARAMETERS.
  3617. *
  3618. * ENTRY (T1) = EST ORDINAL.
  3619. *
  3620. * EXIT (A) = 0 IF NOT MASS STORAGE.
  3621. * (WB - WB+4) = EST DATA.
  3622. * (MSTB) = MST DATA IF MASS STORAGE.
  3623.  
  3624.  
  3625. REP SUBR ENTRY/EXIT
  3626. LDD EA
  3627. SHN 5
  3628. ADD T1 FETCH EST DATA
  3629. SHN 1
  3630. ADK EQDE
  3631. CRD WB
  3632. ADK EQAE-EQDE
  3633. CRM ESTB,ON
  3634. LDD WB
  3635. SHN 0-13
  3636. ZJN REPX IF NOT MASS STORAGE
  3637. LDD MA
  3638. SHN 4
  3639. ADD T1
  3640. SHN 2
  3641. ADD T1
  3642. ERRNZ TDDCL-5 CODE DEPENDS ON VALUE OF TAG
  3643. CRM MSTB,DV
  3644. UJN REPX RETURN
  3645. RNB SPACE 4,10
  3646. ** RNB - READ NEXT BLOCK.
  3647. *
  3648. * ENTRY (A) = 0 IF READ INITIATED.
  3649. * (WC) = WORD COUNT OF PREVIOUS BLOCK.
  3650. *
  3651. * EXIT (A) = (WC) = BLOCK SIZE (CM WORD COUNT).
  3652.  
  3653.  
  3654. RNB2 LDN 0 INDICATE EOR
  3655.  
  3656. RNB SUBR ENTRY/EXIT
  3657. ZJN RNB1 IF READ INITIATED
  3658. LDD WC
  3659. LMC TPLN/5
  3660. NJN RNB2 IF EOR
  3661. ACN TC
  3662. LDN RTBF INITIATE READ
  3663. OAN TC
  3664. AJM *,TC WAIT FUNCTION ACCEPT
  3665. RNB1 ACN TC
  3666. IAN TC INPUT WORD COUNT
  3667. STD WC
  3668. UJN RNBX RETURN
  3669. RTL SPACE 4,10
  3670. ** RTL - READ TEXT LINE.
  3671. *
  3672. * ENTRY (T1) = LINE NUMBER.
  3673. * (DB) = DISPLAY BUFFER INDEX.
  3674. * (YY) = Y-COORDINATE FOR LINE.
  3675. *
  3676. * EXIT (A) = LINE LENGTH (INCLUDING COORDINATES)
  3677. * .LT. 0 IF FORMAT EFFECTOR ENCOUNTERED.
  3678. * (LBUF) = LINE IMAGE.
  3679.  
  3680.  
  3681. RTL1 LDN 1R -1R1 REMOVE FORMAT EFFECTOR
  3682. SHN 6
  3683. RAM LBUF
  3684. RTL2 LDN LBUFL+1+2 SET LINE LENGTH
  3685.  
  3686. RTL SUBR ENTRY/EXIT
  3687. LDM TDBP+1,DB
  3688. SHN 3
  3689. ADD T1 READ REQUEST LINE
  3690. SHN 3
  3691. CRM LBUF,SX
  3692. LDD DB
  3693. NJN RTL2 IF NOT INSTRUCTION DISPLAY
  3694. LDM LBUF
  3695. SHN -6 CHECK LINE
  3696. LMN 1R1
  3697. NJN RTL2 IF NO FORMAT EFFECTOR
  3698. LDD YY
  3699. SBK BL01
  3700. ZJN RTL1 IF TOP OF DISPLAY
  3701. * LCN 0
  3702. UJN RTLX RETURN
  3703. SBS SPACE 4,10
  3704. ** SBS - SET BIT STATUS.
  3705. *
  3706. * ENTRY DISPLAY HARDWARE POSTIIONED AT DESIRED LOCATION.
  3707. * (A) = ADDRESS OF LETTER TABLE. TABLE MUST BE
  3708. * TERMINATED BY A ZERO WORD.
  3709. * (T0) = BIT STATUS LEFT JUSTIFIED.
  3710. * (T2) = ADDRESS TO STORE BIT STATUS.
  3711. *
  3712. * USES BA, FP, T0, T2.
  3713.  
  3714.  
  3715. SBS1 LPC 0
  3716. SBSA EQU *-1
  3717. LMC 2R-- FORM LETTER IF BIT ON OR *-* IF BIT OFF
  3718. STI T2
  3719. AOD FP ADVANCE BIT INDEX
  3720. AOD T2 ADVANCE ADDRESS
  3721. SBS2 LDD T0 POSITION NEXT 2 BITS
  3722. SHN 2
  3723. STD T0
  3724. SHN -14 GET NEXT 2 BITS
  3725. STD BA
  3726. LDM SBSB,BA GET MASK
  3727. STM SBSA
  3728. LDI FP
  3729. NJN SBS1 IF NOT END OF TABLE
  3730.  
  3731. SBS SUBR ENTRY/EXIT
  3732. STD FP SAVE TABLE ADDRESS
  3733. UJN SBS2 POSITION BITS
  3734.  
  3735.  
  3736. SBSB CON 0000 --
  3737. CON 0077 -X
  3738. CON 7700 X-
  3739. CON 7777 XX
  3740. SCT SPACE 4,10
  3741. ** SCT - SEARCH CONTROLWARE TABLE.
  3742. *
  3743. * ENTRY (A) = EQUIPMENT TYPE (DEVICE MNEMONIC).
  3744. *
  3745. * EXIT (A) = (T2) = CONTROLWARE TYPE ADDRESS IN *TDCW*.
  3746. * = 0 IF ENTRY NOT FOUND.
  3747. *
  3748. * USES T2.
  3749.  
  3750.  
  3751. SCT1 LDN 2 ADVANCE TABLE ADDRESS
  3752. RAD T2
  3753. SCT2 LDI T2 CHECK ENTRY
  3754. ZJN SCTX IF END OF TABLE
  3755. LMD T0 COMPARE DEVICE TYPE
  3756. NJN SCT1 IF NO MATCH
  3757. AOD T2
  3758.  
  3759. SCT SUBR ENTRY/EXIT
  3760. STD T0
  3761. LDC TDCW SET TABLE ADDRESS
  3762. STD T2
  3763. UJN SCT2 ENTER LOOP
  3764. UTD SPACE 4,15
  3765. ** UTD - UNPACK TEXT DECK.
  3766. *
  3767. * ENTRY (A) = ADDRESS OF BUFFER POINTER.
  3768. *
  3769. * EXIT (A) = LINE COUNT FOR DECK.
  3770. * (LL) = LINE LIMIT FOR BUFFER.
  3771. * (LN) = 0.
  3772. *
  3773. * USES BA, T1, T2, WC, WB - WB+4.
  3774. *
  3775. * CALLS RNB.
  3776.  
  3777.  
  3778. UTD1 LDD WB+4
  3779. NJN UTD5 IF NOT END OF LINE
  3780. CRD WB
  3781. UTD2 LDI T1 CHECK LINE COUNT
  3782. LMD LL
  3783. ZJN UTD5 IF BUFFER FULL
  3784. LDI BA
  3785. SHN 3
  3786. ADI T1 STORE WORD
  3787. SHN 3
  3788. ADD T2
  3789. CWD WB
  3790. AOD T2 ADVANCE WORD COUNT
  3791. LMN 6
  3792. NJN UTD1 IF NOT SIX WORDS
  3793. STD T2
  3794. AOI T1 ADVANCE LINE COUNT
  3795. LDD WB+4
  3796. ZJN UTD5 IF END OF LINE
  3797. UTD3 LDN 5 SKIP NEXT WORD
  3798. IAM WB,TC
  3799. ZJN UTD4 IF NOT END OF DATA
  3800. RJM RNB
  3801. UTD4 LDD WB+4
  3802. NJN UTD3 IF NOT END OF LINE
  3803. UTD5 LDN 5 INPUT NEXT WORD
  3804. IAM WB,TC
  3805. ZJN UTD2 IF NOT END OF DATA
  3806. UTD6 RJM RNB
  3807. NJN UTD5 IF NOT EMPTY PRU
  3808. LDI T1
  3809. OAN BC OUTPUT LINE COUNT FOR DECK
  3810. DCN BC
  3811.  
  3812. UTD SUBR ENTRY/EXIT
  3813. STD BA
  3814. ADN FW-FA SET LINE COUNTER ADDRESS
  3815. STD T1
  3816. LDD BL SET LINE LIMIT FOR BUFFER
  3817. SBI BA
  3818. SHN 3
  3819. STD LL
  3820. LDN 0 CLEAR LINE COUNT
  3821. STD T2
  3822. STI T1
  3823. STD WB+4
  3824. STM FI-FW,T1 CLEAR BUFFER INDEX
  3825. STD LN
  3826. UJN UTD6 ENTER LOOP
  3827. SPACE 4,10
  3828. ** DISPLAY HEADERS.
  3829.  
  3830.  
  3831. DHDR CON HL03,CH01
  3832. BSS 5
  3833. DHDRL EQU *-DHDR
  3834.  
  3835. EDHA CON YCPH,CH02
  3836. DATA H*EQUIPMENT STATUS*
  3837. CON YCSH,CH02
  3838. DATA H*EST TYPE PN ST EQ UN CHANNELS-PORTS*
  3839. EDHAA EQU *-EDHA
  3840.  
  3841. EDHB CON YCPH,CH02
  3842. DATA H*MASS STORAGE STATUS*
  3843. CON YCSH,CH02
  3844. DATA H*EST TYPE PN STATUS FILES*
  3845. EDHBA EQU *-EDHB
  3846.  
  3847. EDHC CON YCPH,CH02
  3848. DATA H*MASS STORAGE INITIALIZATION STATUS*
  3849. CON YCSH,CH02
  3850. DATA H*EST TYPE PN OPTIONS T IAM DAM FM/PK*
  3851. DATA H* DN NC*
  3852. EDHCA EQU *-EDHC
  3853.  
  3854. EDHD CON YCPH,CH02
  3855. DATA H*CONTROLWARE STATUS*
  3856. CON YCSH,CH02
  3857. DATA H*CHANNEL CONTROLWARE*
  3858. EDHDA EQU *-EDHD
  3859.  
  3860. EDHE CON YCPH,CH02
  3861. DATA H*MASS STORAGE ERROR THRESHOLDS*
  3862. CON YCSH,CH02
  3863. DATA H*EST TYPE PN NT VF RA LS RE UE*
  3864. EDHEA EQU *-EDHE
  3865. SPACE 4,10
  3866. * DISPLAY BUFFERS.
  3867.  
  3868. DIS HERE
  3869. ESTB EQU * SECOND WORD OF EST ENTRY FOR DISPLAY
  3870. MSTB EQU ESTB+5 MASS STORAGE DESCRIPTOR TABLE BUFFER
  3871. TCCS EQU MSTB+TDDEL CONTROLWARE TYPES TO LOAD
  3872. SPACE 4,10
  3873. LBUFL EQU KBUFL/2 LINE BUFFER LENGTH
  3874. ERRNZ KBUFL-60D CODE DEPENDS ON VALUE
  3875. LOC *O
  3876. QUAL *
  3877. IBUFL EQU *-IBUF
  3878. SPACE 4,10
  3879. * CHANNEL TABLES.
  3880.  
  3881.  
  3882. CHTB TC
  3883. CHTB BC
  3884. CHTB AC
  3885. SPACE 4,10
  3886. * INSTRUCTION MODIFICATION BLOCK.
  3887.  
  3888.  
  3889. DIMB
  3890. SPACE 4,10
  3891. ERRNG MBUF-* *SET* OVERFLOWS INTO MOVE BUFFER
  3892. SPACE 4,10
  3893. * RESTORE I/O INSTRUCTIONS.
  3894.  
  3895.  
  3896. RSTC
  3897. SPACE 4,10
  3898. .DSE SET 0
  3899. .ILL SET 0
  3900. .KBR SET 0
  3901. TTL SET/CMR - SET SYSTEM CONFIGURATION.
  3902. TITLE
  3903. IDENT CMR,OVL
  3904. QUAL CMR
  3905. ORG OVL
  3906. *COMMENT SET - SET SYSTEM CONFIGURATION.
  3907. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  3908. MACROS SPACE 4,10
  3909. ** MACRO DEFINITIONS.
  3910.  
  3911.  
  3912. MTLN SPACE 4,10
  3913. ** MTLN - GENERATE TAGGED LIST OF MANAGED TABLE ENTRY COUNTS.
  3914. *
  3915. *N MTLN I,L
  3916. * N = TABLE NAME.
  3917. * I = MANAGED TABLE IDENTIFIER.
  3918. * L = DEFAULT NUMBER OF ENTRIES.
  3919.  
  3920.  
  3921. MACRO MTLN,N,I,L
  3922. .A IFC NE,*N**
  3923. N BSS 0
  3924. .2 SET N
  3925. TT MICRO 1,3, N
  3926. .A ELSE
  3927. .B IFC NE,*I**
  3928. .I EQU *-.2
  3929. CON L
  3930. ENDIF
  3931. ENDM
  3932. SPACE 4,10
  3933. ** MAINTENANCE REGISTER REQUEST CODE SYMBOLS.
  3934.  
  3935. QUAL
  3936.  
  3937. RMRF EQU /IOU/MRRD-/IOU/MRRD READ
  3938. WMRF EQU /IOU/MRWT-/IOU/MRRD WRITE
  3939.  
  3940. QUAL *
  3941. NVECPU SPACE 4,10
  3942. ** NVECPU - SUBROUTINES TO RESERVE CPU1 FOR NOS/VE.
  3943. *
  3944. * THIS MACRO PROVIDES COMMON CODE FOR *CMR* AND *RCM*.
  3945.  
  3946.  
  3947. NVECPU MACRO
  3948. LIST G
  3949.  
  3950.  
  3951.  
  3952.  
  3953. ** RESERVE PROCESSOR FOR NOS/VE.
  3954. *
  3955. * USES T5, CM - CM+4.
  3956. *
  3957. * CALLS RWR.
  3958.  
  3959.  
  3960. RPN4 CCF. *+2,MR CLEAR CHANNEL FLAG
  3961.  
  3962. RPN SUBR ENTRY/EXIT
  3963. LDM .CPU
  3964. RPN1 LPN 2
  3965. ADM C8XX
  3966. NJN RPNX IF NOT DUAL STATE DUAL CPU MAINFRAME
  3967. SCF. RPN1,MR SET CHANNEL FLAG
  3968. LDM ISPF
  3969. SHN 0-13
  3970. STD T5 FORM REGISTER INDEX
  3971. SHN 1
  3972. RAD T5
  3973. ZJN RPN1.1 IF CYBER 180 - 810/815/825/830
  3974.  
  3975. * PROCESS LEVEL 3 DEADSTART.
  3976.  
  3977. .RCM IF DEF,RCM
  3978. LDC EIBP
  3979. CRD CM
  3980. LDD CM
  3981. SHN 21-12
  3982. PJN RPN2 IF NOT DUAL 170-STATE CPUS WITH CACHE
  3983. LDD CM
  3984. LPC 2177 CLEAR MONITOR, NVE AND CACHE PURGE FLAGS
  3985. STD CM
  3986. LDC EIBP
  3987. CWD CM
  3988. UJN RPN3 CLEAR CHANNEL FLAG AND RETURN
  3989.  
  3990. RPN1.1 LDD HO
  3991. LPN 1
  3992. NJN RPN3 IF FIRST CPU OFF
  3993. LDN SSTL PROCESS LEVEL 3 DEADSTART
  3994. CRD CM
  3995. LDD CM+3
  3996. SHN 0-13
  3997. NJN RPN3 IF NOS/VE DISABLED
  3998.  
  3999. * PROCESS LEVEL 0, 1 OR 2 DEADSTART.
  4000.  
  4001. .RCM ELSE
  4002. LDM DCPC
  4003. ZJN RPN2 IF NOT DUAL 170-STATE CPUS WITH CACHE
  4004. LDM DCPN
  4005. NJN RPN4 IF SECOND CPU DEDICATED TO NOS
  4006. RPN1.1 LDD HO
  4007. LPN 1
  4008. NJN RPN4 IF FIRST CPU OFF
  4009. LDM VEFL
  4010. ZJN RPN3 IF NOS/VE MEMORY SPACE UNDECLARED
  4011. LDD HO
  4012. LPN 2
  4013. NJN RPN3 IF SECOND CPU OFF
  4014. LDM P2CC
  4015. LMK /IOU/MRHP HALT PROCESSOR
  4016. FAN. MR
  4017. LDN 2
  4018. RAD HO
  4019. .RCM ENDIF
  4020.  
  4021. * DISABLE PORT TO SECOND CPU.
  4022.  
  4023. RPN2 LDK RMRF READ ENVIRONMENTAL CONTROL REGISTER
  4024. RJM RWR
  4025. DCN. MR
  4026. LDM RBUF+1,T5 DISABLE PORT TO SECOND CPU
  4027. SCN 40
  4028. LMN 40
  4029. STM RBUF+1,T5
  4030. LDK WMRF WRITE *EC* REGISTER
  4031. RJM RWR
  4032. FJM. *,MR WAIT CHANNEL EMPTY
  4033. DCN. MR
  4034. RPN3 LJM RPN4 CLEAR CHANNEL FLAG AND RETURN
  4035.  
  4036.  
  4037.  
  4038.  
  4039. ** READ / WRITE ENVIRONMENTAL CONTROL REGISTER.
  4040. *
  4041. * ENTRY (A) = *RMRF* TO READ REGISTER,
  4042. * = *WMRF* TO WRITE REGISTER.
  4043. *
  4044. * EXIT (RBUF) = REGISTER CONTENTS.
  4045.  
  4046.  
  4047. RWR SUBR ENTRY/EXIT
  4048. LMM CMCC
  4049. FAN. MR FUNCTION MAINTENANCE CHANNEL
  4050. LPN 20
  4051. ERRNZ RMRF+20-WMRF CODE DEPENDS ON VALUE
  4052. SHN 3
  4053. LMC IAMI+MR FORM I/O INSTRUCTION
  4054. STM RWRA
  4055. ACN. MR
  4056. LDN 0
  4057. OAN. MR SEND MEMORY *EC* REGISTER NUMBER
  4058. LDK /IOU/ECMR
  4059. OAN. MR
  4060. FJM. *,MR WAIT CHANNEL BUSY
  4061. DCN. MR
  4062. ACN. MR READ / WRITE REGISTER
  4063. LDN 10
  4064. RWRA IAM. RBUF,MR
  4065. UJP RWRX RETURN
  4066.  
  4067.  
  4068. RBUF EQU MBUF+500-10
  4069.  
  4070. LIST *
  4071. ENDM
  4072. ENTRY SPACE 4,10
  4073. ** ENTRY POINTS.
  4074.  
  4075.  
  4076. CON TSYN-1 ADDRESS OF SYNTAX TABLE
  4077. CON TSYNA ADDRESS OF END OF SYNTAX TABLE
  4078. CMR SPACE 4,10
  4079. ** CMR - INITIALIZE CENTRAL MEMORY.
  4080.  
  4081.  
  4082. CMR SUBR ENTRY/EXIT
  4083. RJM CCP COMPLETE *CMR* PROCESSING
  4084. UJN CMRX RETURN
  4085.  
  4086. QUAL
  4087. SPACE 4,10
  4088. **** ASSEMBLED VALUES.
  4089.  
  4090.  
  4091. * CM TABLE LENGTHS.
  4092.  
  4093. MTBL MTLN
  4094. MTLN FOT,10 FAMILY ORDINAL TABLE
  4095. MTLN FNT,23 FILE NAME TABLE
  4096. MTLN EJT,620 EXECUTING JOB TABLE
  4097. MTLN QFT,620 QUEUE FILE TABLE
  4098. MTLN CLT,0 COMMON LIBRARIES TABLE
  4099. MTLN LID,DFLDT LOGICAL ID TABLE
  4100. MTLN MLS,MLTLD NOS/VE MESSAGE LINK STATUS TABLE
  4101. MTLN ORT,100B
  4102. MTLN EMB,EMBMN ERROR MESSAGE BUFFER
  4103. MTLN
  4104.  
  4105. * MISCELLANEOUS.
  4106.  
  4107. INBS CON 0 INSTALLATION BLOCK SIZE
  4108.  
  4109. ****
  4110. TAXM SPACE 4,10
  4111. ** TAXM - EXTENDED MEMORY ALLOCATION TABLE.
  4112. * ENTRY = 5 BYTES.
  4113. * FIRST ENTRY IS FOR THIS MACHINE.
  4114. *
  4115. *T, TAXM 12/ID, 12/FU, 12/UEC, 12/IOBT, 12/IOB
  4116. *
  4117. * ID = MACHINE ID.
  4118. * FU = 0 IF USER ECS TO RESIDE IN EXTENDED MEMORY EQUIPMENT.
  4119. * .NE. 0 IF INTERNAL USER EXTENDED MEMORY IN UEM.
  4120. * UEC = AMOUNT OF USER XM/*EMBS* TO ALLOCATE TO
  4121. * MACHINE *ID*.
  4122. * IOBT = TRACKS NEEDED FOR I/O BUFFERS.
  4123. * IOB = AMOUNT OF SPACE/*EMBS* TO ALLOCATE TO DEMA/819/895
  4124. * BUFFERS.
  4125.  
  4126.  
  4127. TAXM BSSZ 4*5 ALLOW 4 MACHINES WITH CPU ACCESS TO EM
  4128. TAXML EQU *-TAXM
  4129. TAXXL EQU *-TAXM EXTENDED *TAXM* LENGTH
  4130. CFT SPACE 4,10
  4131. ** CFT - CONVERT EXTENDED MEMORY FL TO TRACK COUNT.
  4132. *
  4133. * ENTRY (A) = EXTENDED MEMORY FL/*EMBS*.
  4134. *
  4135. * EXIT (A) = DESIRED SPACE IN TRACKS.
  4136. * (T0) = DESIRED SPACE IN TRACKS.
  4137. *
  4138. * USES T6, T7.
  4139.  
  4140.  
  4141. CFT SUBR ENTRY/EXIT
  4142. SHN 5
  4143. STD T7 SET EXTENDED MEMORY FL
  4144. SHN -14
  4145. STD T6
  4146. LCN 0 TRACK COUNT = (FL * 40) / 101
  4147. STD T0
  4148. CFT1 AOD T0 ADVANCE TRACK COUNT
  4149. LDC -101
  4150. RAD T7
  4151. PJN CFT1 IF NOT UNDERFLOW
  4152. AOD T7
  4153. SOD T6
  4154. PJN CFT1 IF NOT END OF CONVERSION
  4155. LDD T0
  4156. UJN CFTX RETURN
  4157. CMS SPACE 4,20
  4158. ** CMS - CHECK MEMORY SIZES.
  4159. *
  4160. * CHECKS THAT CM, USER XM AND I/O BUFFER BLOCKS WILL ALL FIT
  4161. * INTO THE MEMORIES DEFINED TO HOLD THEM.
  4162. *
  4163. * ENTRY (A) = 0 IF CHECK TO INCLUDE *XM* ALLOCATION DATA.
  4164. * (PD) = 5, IF EST ORDINAL 5 DEFINED AS EXTERNAL XM.
  4165. * (EN) = CPU ACCESS EXTENDED MEMORY EST ORDINAL.
  4166. * (FL - FL+1) = MINIMUM CM REQUIRED.
  4167. * (MZ - MZ+1) = MEMORY SIZE (FROM CTI).
  4168. * (UEMZ - UEMZ+1) = UEM REQUIRED/100B.
  4169. * (VEMZ - VEMZ+1) = NVE BLOCK REQUIRED/100B.
  4170. * TAXM = TABLE OF EXTENDED MEMORY ALLOCATIONS.
  4171. *
  4172. * EXIT (A) = 0 IF NO ERRORS.
  4173. * (KM) = MESSAGE ADDRESS IF ERROR.
  4174. *
  4175. * USES CN - CN+4, T1 - T5.
  4176. *
  4177. * CALLS CFT, VDA.
  4178.  
  4179.  
  4180. CMS SUBR ENTRY/EXIT
  4181. NJP CMS10 IF NOT CHECKING *XM* ALLOCATION DATA
  4182. CRD T1
  4183. CRD CN
  4184. LDD PD
  4185. ZJN CMS3 IF NO POSSIBLE LINK DEVICE
  4186. ADD EN
  4187. SBN 2*LDEQ+1
  4188. MJN CMS3 IF NOT BOTH A LINK DEVICE AND A CPU DEVICE
  4189. AOD CN
  4190. UJN CMS3 ENTER LOOP
  4191.  
  4192. * ACCUMULATE TOTALS FOR USER XM AND I/O BUFFERS.
  4193. * IF BOTH A LINK DEVICE AND A CPU ACCESS EXTENDED MEMORY DEVICE
  4194. * ARE DEFINED, THE TOTALS MUST BE KEPT SEPARATE. ALL *XM*
  4195. * ENTRIES FOR OTHER MACHINES ARE DEFINING SPACE IN THE LINK
  4196. * DEVICE.
  4197.  
  4198. CMS1 LDD T2
  4199. NJN CMS2 IF NOT THIS MACHINE-S ENTRY
  4200. LDD CN
  4201. ZJN CMS2 IF NOT TWO EXTENDED MEMORY EQUIPMENTS
  4202. LDD T4 SAVE USER XM TRACK COUNT FOR THIS MACHINE
  4203. STD CN+1
  4204. LDN ZERL CLEAR TOTALS FOR LINK DEVICE
  4205. CRD T1
  4206. CMS2 LDN 5 ADVANCE INDEX
  4207. RAD T2
  4208. LMN TAXML
  4209. ZJN CMS7 IF END OF ALLOCATION TABLE
  4210. CMS3 LDM TAXM,T2
  4211. CMS4 ZJN CMS2 IF EMPTY ENTRY
  4212. LDM TAXM+1,T2
  4213. NJN CMS5 IF USER XM IN UEM WITH NO EST ENTRY
  4214. LDM TAXM+2,T2
  4215. RJM CFT CONVERT TO TRACK COUNT
  4216. RAD T4 ACCUMULATE USER XM TRACKS NEEDED
  4217. SHN -13
  4218. NJN CMS6 IF TOO MUCH DEFINED
  4219. CMS5 LDM TAXM+3,T2 ACCUMULATE TOTAL I/O BUFFER TRACKS NEEDED
  4220. RAD T1
  4221. LDM TAXM+4,T2 ACCUMULATE TOTAL I/O BUFFER SPACE NEEDED
  4222. RAD T3
  4223. SHN -14
  4224. ZJP CMS1 IF NO OVERFLOW
  4225. CMS6 LDC 2RXM *XM ALLOCATION ERROR.*
  4226. LJM CMS14 SET MESSAGE ADDRESS
  4227.  
  4228. * CHECK EXTENDED MEMORY FIT.
  4229.  
  4230. CMS7 LDD HO
  4231. SHN 21-11
  4232. PJN CMS8 IF NOT CYBER 176
  4233. AOD T5 COUNT 176 TRACK
  4234. CMS8 LDD PD
  4235. NJN CMS9 IF EQUIPMENT 5 EM DEVICE
  4236. LDD EN
  4237. ZJN CMS10 IF NO EST ENTRY
  4238. CMS9 RJM VDA VERIFY DEVICE ALLOCATION
  4239. MJN CMS6 IF INSUFFICIENT SPACE
  4240. LDD CN
  4241. ZJN CMS10 IF NOT TWO EXTENDED MEMORY EQUIPMENTS
  4242. LDM TAXM+3 TRACK COUNT FOR I/O BUFFER SPACE
  4243. STD T1
  4244. LDD CN+1 TRACK COUNT FOR USER XM
  4245. STD T4
  4246. LDD EN
  4247. RJM VDA VERIFY DEVICE ALLOCATION
  4248. MJN CMS6 IF INSUFFICIENT SPACE
  4249.  
  4250. * CHECK MAIN MEMORY FIT.
  4251.  
  4252. CMS10 LDM UEMZ+1
  4253. ADM UEMZ
  4254. ZJN CMS11 IF NO UEM DEFINED
  4255. LDD MZ+1 ADJUST CM SIZE FOR 1000B WORD UEM BOUNDARY
  4256. LPN 7
  4257. CMS11 ADM VEMZ+1 ACCUMULATE TOTAL MAIN MEMORY REQUIRED
  4258. ADM UEMZ+1
  4259. ADD FL+1
  4260. STD T2
  4261. SHN -14
  4262. ADM VEMZ
  4263. ADM UEMZ
  4264. ADD FL
  4265. STD T1
  4266. LDD MZ+1 CHECK AGAINST SIZE RETURNED BY *CTI*
  4267. SBD T2
  4268. PJN CMS12 IF NO BORROW
  4269. AOD T1 PROPAGATE BORROW
  4270. CMS12 LDD MZ
  4271. SBD T1
  4272. SHN -21
  4273. ZJN CMS15 IF IT ALL FITS
  4274. LDC 2RCM
  4275. CMS14 STM CMSA
  4276. LDC CMSA
  4277. STD KM SET MESSAGE ADDRESS
  4278. CMS15 LJM CMSX RETURN
  4279.  
  4280. CMSA DATA C*CM ALLOCATION ERROR.*
  4281. VDA SPACE 4,10
  4282. ** VDA - VALIDATE DEVICE ALLOCATION.
  4283. *
  4284. * ENTRY (A) = EST ORDINAL TO VALIDATE.
  4285. * (T1) = TRACKS OF I/O BUFFERS DEFINED.
  4286. * (T4) = TRACKS OF USER EXTENDED MEMORY DEFINED.
  4287. * (T5) = 1, IF MACHINE IS 176.
  4288. *
  4289. * EXIT (A) .LT. 0 IF DEFINED TRACKS WILL NOT FIT.
  4290. *
  4291. * CALLS STA.
  4292.  
  4293.  
  4294. VDA SUBR ENTRY/EXIT
  4295. RJM /EQP/STA
  4296. LDD T4
  4297. ZJN VDA2 IF NO EXTERNAL USER XM DEFINED
  4298. AOD T4 COUNT USER XM SYSTEM SECTOR TRACK
  4299. VDA2 LDM /EQP/TDDB+DVNT
  4300. SBD T1 TRACK COUNT FOR I/O BUFFER SPACE
  4301. SBD T4 TRACK COUNT FOR USER XM SPACE
  4302. SBD T5 176 SPACE
  4303. SBN 2 LABEL AND CE TRACKS
  4304. UJN VDAX RETURN
  4305.  
  4306. EQPL BSS 0 *EQP* LOAD ADDRESS
  4307.  
  4308. QUAL *
  4309. SPACE 4,10
  4310. ** TSYN - SYNTAX TABLE.
  4311.  
  4312.  
  4313. TSYN BSS 0
  4314. CON BSP
  4315. CON CLT
  4316. CON DFT
  4317. CON DUALCPU
  4318. CON EJE
  4319. CON EMB
  4320. CON EQP
  4321. CON FNE
  4322. CON FOE
  4323. CON INB
  4324. CON IPD
  4325. CON LIB
  4326. CON LIE
  4327. CON MID
  4328. CON MCM
  4329. CON MLS
  4330. CON NAME
  4331. CON NCP
  4332. CON OPS
  4333. CON ORT
  4334. CON PCP
  4335. CON PPU
  4336. CON QFE
  4337. CON VEE
  4338. CON VERSION
  4339.  
  4340. TSYNA CON 0
  4341. CON NEXT
  4342. CON IPR
  4343. CON 0 END OF TABLE
  4344. CCP SPACE 4,10
  4345. ** CCP - COMPLETE *CMR* PROCESSING.
  4346. *
  4347. * SYSTEM NAME AND VERSION ARE SAVED IN CENTRAL MEMORY NOW,
  4348. * INSTEAD OF WAITING UNTIL *ICM*, TO MAKE ROOM IN *EQP*.
  4349. * THE *NOS/VE* PROCESSOR IS RESERVED IF REQUIRED, AND THE
  4350. * *EQP* OVERLAYS ARE READ IN AND WRITTEN TO CENTRAL MEMORY.
  4351.  
  4352.  
  4353. CCP SUBR ENTRY/EXIT
  4354. LDN 6
  4355. STD T1
  4356. LDN SYTL STORE SYSTEM NAME, VERSION
  4357. CWM .NME,T1
  4358. LDC RJMI FORCE OVERLAY LOADS FOR *EQPDECK* ENTRIES
  4359. STM AKLC
  4360. RJM RPN RESERVE PROCESSOR FOR *NVE*
  4361. LDN 3*EQXL LOAD *EQ1*, *EQ2* AND *EQ3*
  4362. STD T5
  4363. LDC EQXL*100 SET NUMBER OF WORDS TO READ
  4364. STD T7
  4365. CCP1 RJM ROV
  4366. LDD EB
  4367. SBD T5
  4368. SHN 6
  4369. CWM EQXO,T7
  4370. LDD T5
  4371. SBN EQXL
  4372. STD T5
  4373. NJN CCP1 IF MORE OVERLAYS
  4374. UJN CCPX RETURN
  4375.  
  4376.  
  4377. **** OPERATING SYSTEM NAME AND VERSION.
  4378.  
  4379. .NME DATA C* CDC NETWORK OPERATING SYSTEM.*
  4380. BSSZ .NME+24-*
  4381. VER170 MICRO 2,18,$"VER170"$ REMOVE LEADING/TRAILING SPACES
  4382. .VER DATA C*"VER170"*
  4383. BSSZ .VER+12-*
  4384. ****
  4385.  
  4386. ERRNG /EQP/EQXO-* OVERFLOW INTO *EQ1*/*EQ2*/*EQ3* OVERLAYS
  4387. SPACE 4,10
  4388. ** COMMON SUBROUTINES.
  4389.  
  4390.  
  4391. AODSUB
  4392. ASDSUB
  4393. ASNSUB
  4394. CDRSUB
  4395. NVECPU
  4396. TITLE CM TABLE PROCESSORS.
  4397. EJE SPACE 4,10
  4398. *** EJT=XXXX.
  4399. * SET NUMBER OF EJT ENTRIES = XXXX.
  4400. * DEFAULT = VALUE ASSEMBLED WITH TAG *.EJT*.
  4401.  
  4402.  
  4403. EJE DATA C*EJT=*
  4404. LDN .EJT
  4405. UJN QFE1 PROCESS EJT DEFINITION
  4406. FOE SPACE 4,10
  4407. *** FOT=XXX.
  4408. * SET NUMBER OF FOT ENTRIES = XXX.
  4409. * DEFAULT = VALUE ASSEMBLED WITH TAG *.FOT*.
  4410.  
  4411.  
  4412. FOE DATA C*FOT=*
  4413. LDN .FOT
  4414. UJN QFE1 PROCESS FOT DEFINITION
  4415. FNE SPACE 4,10
  4416. *** FNT=XXXX.
  4417. * SET NUMBER OF FNT ENTRIES = XXXX.
  4418. * DEFAULT = VALUE ASSEMBLED WITH TAG *.FNT*.
  4419.  
  4420.  
  4421. FNE DATA C*FNT=*
  4422. LDN .FNT
  4423. UJN QFE1 PROCESS FNT DEFINITION
  4424. ORT SPACE 4,16
  4425. *** ORT=XXX.
  4426. * SET NUMBER OF ORT ENTRIES = XXX.
  4427. * DEFAULT = VALUE ASSEMBLED WITH TAG *.ORT*.
  4428.  
  4429.  
  4430. ORT DATA C*ORT=*
  4431. LDN .ORT
  4432. UJN QFE1 PROCESS ORT DEFINITION
  4433. QFE SPACE 4,10
  4434. *** QFT=XXXX.
  4435. * SET NUMBER OF QFT ENTRIES = XXXX.
  4436. * DEFAULT = VALUE ASSEMBLED WITH TAG *.QFT*.
  4437.  
  4438.  
  4439. QFE DATA C*QFT=*
  4440. LDN .QFT
  4441. QFE1 STD T7 SAVE INDEX
  4442. RJM ASD ASSEMBLE NUMBER OF TABLE ENTRIES
  4443. SBN 3
  4444. MJN QFE2 IF INCORRECT VALUE
  4445. SBN 101-3
  4446. MJN QFE3 IF CORRECT VALUE FOR ALL TABLES
  4447. LDD T7
  4448. LMK .FOT
  4449. NJN QFE3 IF NOT DEFINING FOT
  4450. QFE2 JMP ILL PROCESS INCORRECT ENTRY
  4451.  
  4452. QFE3 LDD AB+4 SET ENTRY COUNT
  4453. STM MTBL,T7
  4454. JMP KBR RETURN
  4455. CLT SPACE 4,10
  4456. *** CLT=XXX.
  4457. * SET NUMBER OF CLT ENTRIES = XXX.
  4458. * DEFAULT = VALUE ASEMBLED WITH TAG *.CLT*.
  4459.  
  4460.  
  4461. CLT DATA C*CLT=*
  4462. LDN .CLT
  4463. UJN QFE1 PROCESS CLT DEFINITION
  4464. BSP SPACE 4,10
  4465. *** BSP=X.
  4466. * SPECIFIES WHETHER OR NOT TO BUILD THE *SCI* PARAMETER
  4467. * TABLE. FOR COMPATIBILITY REASONS, *BSP=N.* MUST BE
  4468. * SPECIFIED WHEN RUNNING A DUAL STATE ENVIRONMENT IN
  4469. * WHICH THE NOS/VE PSR LEVEL IS 688 OR EARLIER.
  4470. * DEFAULT = BUILD *SCI* PARAMETER TABLE.
  4471.  
  4472.  
  4473. BSP DATA C*BSP=*
  4474. LDM C8XX
  4475. NJN BSP1 IF NOT DUAL STATE MAINFRAME
  4476. LDI KA
  4477. SHN 6
  4478. LMM 1,KA
  4479. LMC 2RY.
  4480. ZJN BSP3 IF BUILD TABLE SPECIFIED
  4481. LMC 2RN.&2RY.
  4482. ZJN BSP2 IF DO NOT BUILD SPECIFIED
  4483. BSP1 JMP ILL PROCESS INCORRECT ENTRY
  4484.  
  4485. BSP2 LDN 1 SET FLAG TO NOT BUILD TABLE
  4486. BSP3 STM BSPT
  4487. JMP KBR RETURN
  4488. DFT SPACE 4,10
  4489. *** DFT=X.
  4490. * SET/CLEAR *DFT* DEDICATED MODE.
  4491. *
  4492. * X = *N* TO CLEAR DEDICATED MODE,
  4493. * X = *D* TO SET DEDICATED MODE.
  4494. *
  4495. * DEFAULT IS NON-DEDICATED MODE, UNLESS THE *VE* ENTRY IS
  4496. * SPECIFIED.
  4497.  
  4498.  
  4499. DFT DATA C*DFT=*
  4500. LDI KA GET FIRST CHARACTER
  4501. LMN 1RN
  4502. ZJN DFT1 IF NOT DEDICATED MODE
  4503. LMN 1RN&1RD
  4504. NJN DFT2 IF INCORRECT ENTRY
  4505. LDC 4000
  4506. DFT1 STD T3
  4507. AOD KA GET NEXT CHARACTER
  4508. LDI KA
  4509. LMN 1R.
  4510. NJN DFT2 IF NOT TERMINATED BY A *.*
  4511. LDM DFTA+1
  4512. LPC 3777
  4513. LMD T3 SAVE DEDICATED MODE
  4514. STM DFTA+1
  4515. JMP KBR RETURN
  4516.  
  4517. DFT2 JMP ILL PROCESS INCORRECT ENTRY
  4518. DUALCPU SPACE 4,10
  4519. *** DUALCPU=X.
  4520. * SET DUAL CPU OPERATING MODE FOR DUAL STATE.
  4521. *
  4522. * X = *N* TO DEDICATE SECOND CPU TO *NOS*.
  4523. * X = *V* TO DEDICATE SECOND CPU TO *NOS/VE*.
  4524. *
  4525. * DEFAULT IS TO DEDICATE SECOND CPU TO *NOS/VE*. THE FIRST
  4526. * CPU IS ALWAYS SHARED. ONLY ALLOWED ON CY960-32.
  4527.  
  4528.  
  4529. DUALCPU DATA C*DUALCPU=*
  4530. LDM CMDL CHECK CPU MODEL NUMBER
  4531. LMC 0#3A
  4532. NJN DUA2 IF NOT 960/970
  4533. LDD HO
  4534. LPN 2
  4535. NJN DUA2 IF CPU 1 OFF / NONEXISTANT
  4536. LDI KA GET FIRST CHARACTER
  4537. LMN 1RV
  4538. ZJN DUA1 IF *DUALCPU=V*
  4539. LMN 1RN&1RV
  4540. NJN DUA2 IF NOT *DUALCPU=N*
  4541. LDN 1
  4542. DUA1 STD T3 SAVE DUAL CPU FLAG
  4543. AOD KA GET NEXT CHARACTER
  4544. LDI KA
  4545. LMN 1R.
  4546. NJN DUA2 IF NOT TERMINATED BY A *.*
  4547. LDD T3 SET DUAL CPU FLAG
  4548. STM DCPN
  4549. JMP KBR RETURN
  4550.  
  4551. DUA2 JMP ILL PROCESS INCORRECT ENTRY
  4552. EMB SPACE 4,16
  4553. *** EMB=XXXX.
  4554. * SET NUMBER WORDS FOR EMB = XXXX.
  4555. * DEFAULT = VALUE ASSEMBLED WITH TAG *.EMB*.
  4556. * MINIMUM = VALUE DEFINED IN *PPCOM* AS *EMBMN*.
  4557. * MAXIMUM = VALUE DEFINED IN *PPCOM* AS *EMBMX* (7777B).
  4558.  
  4559.  
  4560. EMB DATA C*EMB=*
  4561. RJM ASD ASSEMBLE DIGITS
  4562. ADC -EMBMN
  4563. MJN EMB1 IF TABLE LENGTH .LT. *PPCOM* MINIMUM
  4564. LDD AB
  4565. ADD AB+1
  4566. ADD AB+2
  4567. ADD AB+3
  4568. NJN EMB1 IF TABLE LENGTH .GT. 7777B
  4569. LDD AB+4
  4570. STM .EMB+MTBL SET TABLE LENGTH
  4571. JMP KBR RETURN
  4572.  
  4573. EMB1 JMP ILL PROCESS INCORRECT ENTRY
  4574. EQP SPACE 4,10
  4575. *** EQP=NN.
  4576. *
  4577. * BUILD SYSTEM WITH SPECIFIED EQPDECK.
  4578. * OMITTED. USE EQPDNN, WHERE NN IS THE SAME NUMBER
  4579. * AS THE CMRDECK USED.
  4580. * EQP=NN. USE RECORD NAMED EQPDNN.
  4581.  
  4582.  
  4583. EQP DATA C*EQP=*
  4584. LDN EQPD
  4585. UJN IPD1 SET DECK NUMBER
  4586. IPD SPACE 4,10
  4587. *** IPD=NN.
  4588. * ASSEMBLE INSTALLATION PARAMETER DECK NN.
  4589. * DEFAULT = ASSEMBLE FIRST IPRDECK RECOGNIZED.
  4590.  
  4591.  
  4592. IPD DATA C*IPD=*
  4593. LDN IPRD
  4594. IPD1 STD T7 SET TABLE INDEX
  4595. RJM ASD ASSEMBLE DECK NUMBER
  4596. SHN -6
  4597. ZJN IPD2 IF VALID DECK NUMBER
  4598. JMP ILL PROCESS INCORRECT ENTRY
  4599.  
  4600. IPD2 LDD AB+4 SET DECK NUMBER
  4601. STM TTXC,T7
  4602. IPD3 JMP KBR RETURN
  4603. INB SPACE 4,10
  4604. *** INB=NNNN.
  4605. * SET THE LENGTH OF THE INSTALLATION BLOCK.
  4606. * DEFAULT = 0.
  4607. * MAXIMUM = 7777B.
  4608.  
  4609.  
  4610. INB DATA C*INB=*
  4611. RJM ASD ASSEMBLE DIGITS
  4612. STM INBS
  4613. JMP KBR RETURN
  4614. LIB SPACE 4,10
  4615. *** LIB=NN.
  4616. * BUILD SYSTEM WITH SPECIFIED LIBDECK.
  4617. * OMITTED. USE RECORD NAMED *LIBD00*.
  4618. * LIB=NN. USE RECORD NAMED *LIBDNN*.
  4619.  
  4620.  
  4621. LIB DATA C*LIB=*
  4622. LDN LIBD
  4623. UJN IPD1 SET DECK NUMBER
  4624. LIE SPACE 4,10
  4625. *** LDT=NNNN.
  4626. *
  4627. * SET THE LENGTH OF THE LID TABLE, NOT INCLUDING THE HEADER.
  4628. * THE NUMBER OF WORDS MUST BE .LE. MXLDT, AND .GE. MNLDT.
  4629.  
  4630.  
  4631. LIE DATA C*LDT=*
  4632. RJM ASD ASSEMBLE DIGITS
  4633. SBK MNLDT
  4634. MJN LIE1 IF TABLE LENGTH TOO SMALL
  4635. SBK MXLDT+1-MNLDT
  4636. PJN LIE1 IF TABLE LENGTH TOO LARGE
  4637. AOD AB+4 ADD A WORD FOR TABLE HEADER
  4638. STM .LID+MTBL SET TABLE LENGTH
  4639. JMP KBR RETURN
  4640.  
  4641. LIE1 JMP ILL PROCESS INCORRECT ENTRY
  4642. MID SPACE 4,10
  4643. *** MID=XX.
  4644. *
  4645. * SET MACHINE IDENTIFICATION MNEMONIC = XX.
  4646. * XX MUST BE 2 ALPHANUMERIC CHARACTERS.
  4647. * DEFAULT VALUE = AA.
  4648.  
  4649.  
  4650. MID DATA C*MID=*
  4651. SOD KA
  4652. LDN 3 ASSEMBLE ID
  4653. RJM ASN
  4654. LDD T0
  4655. SBN 2
  4656. NJN MID1 IF .NE. 2 CHARACTERS
  4657. LDI KA CHECK END OF ENTRY
  4658. LMN 1R.
  4659. ZJN MID2 IF TERMINATOR FOUND
  4660. MID1 JMP ILL PROCESS INCORRECT ENTRY
  4661.  
  4662. MID2 LDD CM SET MACHINE ID
  4663. STD ID
  4664. JMP KBR RETURN
  4665. MCM SPACE 4,10
  4666. *** MINCM=XXXX.
  4667. * SET THE MINIMUM REQUIRED AMOUNT OF CM FL TO XXXX HUNDRED
  4668. * WORDS. THIS AMOUNT OF CM + UEM SIZE + NVE SIZE MUST BE
  4669. * .LE. THE PHYSICAL MEMORY AVAILABLE (FROM *CTI*). THE
  4670. * ACTUAL AMOUNT OF MEMORY USED AS CM WILL BE PHYSICAL SIZE -
  4671. * UEM SIZE - NVE SIZE. FOR NON-CME MAINFRAMES, UEM SIZE
  4672. * IS ZERO.
  4673.  
  4674.  
  4675. MCM DATA C*MINCM=*
  4676. RJM ASD ASSEMBLE SIZE
  4677. LDD FL SAVE PREVIOUS VALUE
  4678. STD AB
  4679. LDD FL+1
  4680. STD AB+1
  4681. LDD AB+3 SET MINCM SIZE
  4682. STD FL
  4683. LDD AB+4
  4684. STD FL+1
  4685. LDN 1
  4686. RJM CMS CHECK MEMORY SIZES
  4687. ZJN MCM2 IF VALID
  4688. MCM1 LDD AB RESTORE PREVIOUS VALUE
  4689. STD FL
  4690. LDD AB+1
  4691. STD FL+1
  4692. JMP ERR DISPLAY ERROR
  4693.  
  4694. MCM2 LDD AB+3 CHECK FOR MINCM .LT. ABSOLUTE MINIMUM
  4695. SHN 14
  4696. LMD AB+4
  4697. ADC -MEMS
  4698. PJN MCM3 IF CORRECT MEMORY SIZE
  4699. LDC CMSA *CM ALLOCATION ERROR.*
  4700. STD KM SET ERROR MESSAGE
  4701. UJN MCM1 ERROR EXIT
  4702.  
  4703. MCM3 JMP KBR RETURN
  4704. SPACE 4,10
  4705. *** MLST=NN.
  4706. * SET SIZE OF MESSAGE LINK STATUS TABLE. THE *MLST* IS USED
  4707. * TO COMMUNICATE MESSAGE LINK INTERFACE (*MLI*) STATUS FROM
  4708. * *NOS/VE* TO *NVE*. SIZE MAY RANGE FROM 0 TO MLTLM.
  4709.  
  4710.  
  4711. MLS DATA C*MLST=*
  4712. RJM ASD ASSEMBLE DIGITS
  4713. SBK MLTLM+1
  4714. MJN MLS1 IF TABLE LENGTH IN RANGE
  4715. JMP ILL PROCESS INCORRECT ENTRY
  4716.  
  4717. MLS1 LDD AB+4
  4718. STM .MLS+MTBL SET TABLE LENGTH
  4719. JMP KBR RETURN
  4720. NAME SPACE 4,10
  4721. *** NAME=CCC-CCC
  4722. * SET SYSTEM DATE LINE NAME = CCC-CCC.
  4723. * (MAXIMUM OF 38 CHARACTERS ALLOWED.)
  4724.  
  4725.  
  4726. NAME DATA C*NAME=*
  4727. LDC 2*19DS12+.NME
  4728. NME1 STD T3 SET BUFFER ADDRESS
  4729. SHN -14
  4730. STD T1
  4731. SHN -1 SET BUFFER LIMIT
  4732. ADD T3
  4733. STD T2
  4734. LDD KI SET KEYBOARD BUFFER LIMIT
  4735. RAD KB
  4736. NME2 SOD KB CHECK LAST CHARACTER
  4737. LDI KB
  4738. ZJN NME2 IF NULL
  4739. LMN 1R
  4740. ZJN NME2 IF BLANK
  4741. LMN 1R.&1R
  4742. ZJN NME3 IF *.*
  4743. AOD KB
  4744. LDN 1R.
  4745. STI KB
  4746. NME3 AOD KB CHECK COMMAND LENGTH
  4747. SBD KA
  4748. SBD T1
  4749. MJN NME5 IF .LT. LIMIT
  4750. ZJN NME5 IF .EQ. LIMIT
  4751. NME4 JMP ILL PROCESS INCORRECT ENTRY
  4752.  
  4753. NME5 LDI KA PACK CHARACTER DATA
  4754. SHN 6
  4755. LMM 1,KA MOVE COMMAND TO BUFFER
  4756. STI T3
  4757. LDN 2 ADVANCE KEYBOARD BUFFER ADDRESS
  4758. RAD KA
  4759. AOD T3 ADVANCE BUFFER ADDRESS
  4760. LMD T2
  4761. NJN NME5 IF NOT COMMAND LIMIT
  4762. JMP KBR RETURN
  4763. NCP SPACE 4,10
  4764. *** NCP=X.
  4765. * SET NUMBER OF CONTROL POINTS = X. (X = 2 - NCPS-1)
  4766. * DEFAULT = 12B.
  4767.  
  4768.  
  4769. NCP DATA C*NCP=*
  4770. RJM ASD ASSEMBLE DIGITS
  4771. SBN MNCP
  4772. MJN NME4 IF .LT. 2 CONTROL POINTS
  4773. SBN NCPS-MNCP+1
  4774. PJN NME4 IF .GT. MAXIMUM ALLOWED
  4775. ADN NCPS+2 SET NUMBER OF CONTROL POINTS
  4776. STM .NCP
  4777. NCP1 JMP KBR RETURN
  4778. OPS SPACE 4,10
  4779. *** OPSECM=N.
  4780. * SELECTS SECURITY MODE OF SYSTEM.
  4781. * N SECURITY MODE (0-3).
  4782. * DEFAULT = 0.
  4783.  
  4784.  
  4785. OPS DATA C*OPSECM=*
  4786. RJM ASD ASSEMBLE DIGITS
  4787. SBN 4
  4788. PJN OPS1 IF INCORRECT VALUE
  4789. LDM .SSML SET NEW SECURITY MODE
  4790. SCN 7
  4791. LMD AB+4
  4792. STM .SSML
  4793. JMP KBR RETURN
  4794.  
  4795. OPS1 JMP ILL PROCESS INCORRECT ENTRY
  4796. PCP SPACE 4,10
  4797. *** PCP=XXX.
  4798. * SET NUMBER OF PSEUDO CONTROL POINTS = XXX.
  4799. * DEFAULT = 0.
  4800.  
  4801.  
  4802. PCP DATA C*PCP=*
  4803. RJM ASD ASSEMBLE PCP COUNT
  4804. SBK NPPS+1
  4805. MJN PCP1 IF .LE. MAXIMUM ALLOWED
  4806. JMP ILL PROCESS INCORRECT ENTRY
  4807.  
  4808. PCP1 LDD AB+4 SET PCP COUNT
  4809. STM .NPCP
  4810. JMP KBR RETURN
  4811. PPU SPACE 4,10
  4812. *** PPU=*
  4813. * TOGGLE STATUS OF UPPER 10 PPU.
  4814. * DEFAULT = SET STATUS TO OFF.
  4815. PPU SPACE 4,10
  4816. *** PPU=X,Y,...,Z.
  4817. * TOGGLE STATUS OF PPU X,Y,...,Z.
  4818. * PP-S 0, 1, 2, 10 AND *APP* PP ARE INVALID ENTRIES.
  4819.  
  4820.  
  4821. PPU DATA C*PPU=*
  4822. LDM .PPS COPY PPU STATUS
  4823. STD T6
  4824. LDM .PPS+1
  4825. STD T6+1
  4826. LDI KA CHECK NEXT CHARACTER
  4827. LMN 1R*
  4828. NJN PPU3 IF NOT (*)
  4829. LDM .APP
  4830. SBN 20
  4831. PJN PPU4 IF ALTERNATE PP IN UPPER BANK
  4832. LCN 0 TOGGLE UPPER BANK
  4833. LMM .PPS+1
  4834. STM .PPS+1
  4835. PPU1 JMP KBR RETURN
  4836.  
  4837. PPU3 RJM AOD ASSEMBLE PPU NUMBER
  4838. SBN 3
  4839. MJN PPU4 IF PPU = 0, 1, 2
  4840. SBN 10-3
  4841. ZJN PPU4 IF PPU = 10
  4842. ADN 10
  4843. LMM .APP
  4844. ZJN PPU4 IF ALTERNATE PP
  4845. LDD AB+4 SET BANK
  4846. SHN -4
  4847. STD T1
  4848. ZJN PPU5 IF LOWER BANK
  4849. SCN 1
  4850. NJN PPU4 IF ABOVE 20
  4851. LDM .PPU CHECK PPU COUNT
  4852. SBN 20D
  4853. PJN PPU5 IF .GT. 10 PPU-S SENSED
  4854. PPU4 JMP ILL PROCESS INCORRECT ENTRY
  4855.  
  4856. PPU5 LDD AB+4 SET PPU NUMBER
  4857. LPN 17
  4858. SBN 12
  4859. PJN PPU4 IF OUT OF RANGE
  4860. ADN 12 FORM SHN INSTRUCTION
  4861. LMC SHNI
  4862. STM PPUA
  4863. LDN 1 SHIFT PPU BIT
  4864. PPUA SHN **
  4865. LMM T6,T1 TOGGLE STATUS BIT
  4866. STM T6,T1
  4867. LDI KA CHECK CHARACTER
  4868. LMN 1R.
  4869. ZJN PPU6 IF *.*
  4870. AOD KA SKIP SEPARATOR
  4871. LJM PPU3 LOOP
  4872.  
  4873. PPU6 LDD T6 SET NEW STATUS
  4874. STM .PPS
  4875. LDD T6+1
  4876. STM .PPS+1
  4877. JMP KBR RETURN
  4878. VEE SPACE 4,10
  4879. *** VE=XXXXXXX.
  4880. * BUILD THE *EICB* AND SET THE MAXIMUM NOS/VE BLOCK SIZE TO
  4881. * XXXXXXX THOUSAND WORDS. XXXXXXX MUST BE AN EVEN NUMBER.
  4882. * THE SUM OF UEM SIZE + NVE SIZE + MINCM SIZE (65K USED IF
  4883. * MINCM NOT SPECIFIED) MUST BE .LE. THE PHYSICAL MEMORY
  4884. * AVAILABLE (FROM *CTI*). IF *VE=0* IS SPECIFIED,
  4885. * NOS/VE WILL DYNAMICALLY REQUEST MEMORY FROM NOS AT
  4886. * NOS/VE INITIATION. NOTE THAT UEM MAY NOT BE DEFINED
  4887. * IF *VE=0* HAS BEEN SPECIFIED.
  4888. *
  4889. * VE=*.
  4890. * THIS KEYBOARD ONLY ENTRY CLEARS *VE* SPECIFICATION.
  4891.  
  4892.  
  4893. VEE DATA C*VE=*
  4894. LDM C8XX
  4895. NJN VEE0 IF ENTRY INCORRECT FOR MAINFRAME TYPE
  4896. LDM DCPS
  4897. NJN VEE0 IF DUAL-NOS-CPU SELECTED IN *CIP*
  4898. LDD AM
  4899. ZJN VEE1 IF NOT KEYBOARD ASSEMBLY
  4900. LDI KA
  4901. SHN 6
  4902. LMM 1,KA CHECK *VE* PARAMETER
  4903. LMC 2R*.
  4904. NJN VEE1 IF NOT /VE=*/
  4905. STM VEFL CLEAR PREVIOUS SPECIFICATION
  4906. STM VEMZ
  4907. STM VEMZ+1
  4908. JMP KBR RETURN
  4909.  
  4910. VEE0 JMP ILL PROCESS INCORRECT ENTRY
  4911.  
  4912. VEE1 RJM ASD ASSEMBLE MAXIMUM BLOCK SIZE
  4913. LPN 1
  4914. NJN VEE0 IF NOT EVEN NUMBER
  4915. LDD AB+3
  4916. SHN 0-11
  4917. ADD AB+2
  4918. ADD AB+1
  4919. ADD AB
  4920. NJN VEE0 IF BLOCK SIZE .GT. 4 GIGABYTES
  4921. LDM VEMZ SAVE PREVIOUS VALUE
  4922. STD AB
  4923. LDM VEMZ+1
  4924. STD AB+1
  4925. LDD AB+4 CONVERT FROM WORDS/1000B TO WORDS/100B
  4926. SHN 3
  4927. STM VEMZ+1
  4928. SHN -14
  4929. SHN 17
  4930. LMD AB+3
  4931. SHN 3
  4932. STM VEMZ
  4933. LDN 1
  4934. RJM CMS CHECK MEMORY SIZES
  4935. ZJN VEE2 IF VALID
  4936. LDD AB RESTORE PREVIOUS VALUE
  4937. STM VEMZ
  4938. LDD AB+1
  4939. STM VEMZ+1
  4940. JMP ERR DISPLAY ERROR
  4941.  
  4942. VEE2 LDC 4000 SET *VE* ENTRY PRESENT FLAG
  4943. STM VEFL
  4944. JMP KBR RETURN
  4945. VERSION SPACE 4,10
  4946. *** VERSION=CCC-CCC.
  4947. * SET VERSION NAME = CCC-CCC.
  4948. * (MAXIMUM OF 18 CHARACTERS ALLOWED.)
  4949.  
  4950.  
  4951. VERSION DATA C*VERSION=*
  4952. LDC 2*9DS12+.VER
  4953. LJM NME1 PROCESS VERSION NAME
  4954.  
  4955.  
  4956. ERRNG 7777-*-4 IF OVERFLOW
  4957.  
  4958. QUAL *
  4959. TTL SET/EQP - PROCESS EQUIPMENT PARAMETERS.
  4960. TITLE
  4961. IDENT EQP,EQPL
  4962. QUAL EQP
  4963. ORG EQPL
  4964. *COMMENT SET - PROCESS EQUIPMENT PARAMETERS.
  4965. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  4966. SPACE 4,10
  4967. ** MACRO DEFINITIONS.
  4968. KWDF SPACE 4,15
  4969. ** KWDF - KEYWORD DEFINITIONS.
  4970. *
  4971. * THIS MACRO GENERATES A TABLE WHICH HAS A BIT SET FOR EACH
  4972. * KEYWORD SPECIFIED. *KWOF* IS DEFINED AS THE WORD OFFSET
  4973. * AND *KWBT* IS DEFINED AS THE BIT NUMBER TO BE SET FOR THE
  4974. * KEYWORD *KW*. IF *EM* IS SPECIFIED, A WORD CONTAINING THE
  4975. * 2 CHARACTER EQUIPMENT MNEMONIC IS DEFINED.
  4976. *
  4977. * KWDF EM,(KW)
  4978. *
  4979. * ENTRY (EM) = EQUIPMENT MNEMONIC.
  4980. * (KW) = KEYWORD LIST.
  4981.  
  4982.  
  4983. PURGMAC KWDF
  4984.  
  4985. KWDF MACRO EM,KW
  4986. IFC NE,+EM++,1
  4987. VFD 12/2R_EM
  4988. .A SET 0
  4989. DUP KTWC
  4990. .B DECMIC .A
  4991. .".B" SET 0
  4992. .A SET .A+1
  4993. ENDD
  4994. IRP KW
  4995. .D SET 1
  4996. .B SET -1
  4997. .C ECHO ,P=("KWM")
  4998. IFC EQ,*P*KW*,2
  4999. .D SET 0
  5000. STOPDUP
  5001. .B SET .B+1
  5002. .C ENDD
  5003. IFNE .D,0,1
  5004. ERR INCORRECT KEYWORD - KW
  5005.  
  5006. .A SET .B/12D
  5007. .B SET .B-.A*12D
  5008. KW_BT EQU 11D-.B
  5009. KW_OF EQU .A
  5010. .C DECMIC .A
  5011. .B DECMIC KW_BT
  5012. .".C" SET .".C"+1S".B"
  5013. IRP
  5014. DUP KTWC
  5015. .A DECMIC .D
  5016. VFD 12/.".A"
  5017. .D SET .D+1
  5018. NOREF .".A"
  5019. ENDD
  5020. NOREF .A,.B,.D
  5021. KWDF ENDM
  5022. TBKP SPACE 4,10
  5023. ** TBKP - GENERATE TABLE OF KEYWORD PARAMETERS.
  5024. *
  5025. * TBKP KW,V,W,SC,M
  5026. *
  5027. * ENTRY (KW) = KEYWORD.
  5028. * (V) = 1 IF NULL KEYWORD VALUE ALLOWED.
  5029. * = 0 IF NULL KEYWORD VALUE INCORRECT.
  5030. * (W) = PP WORD OFFSET INTO EST TO STORE VALUE.
  5031. * (SC) = SHIFT COUNT TO POSITION VALUE.
  5032. * (M) = MASK.
  5033.  
  5034.  
  5035. PURGMAC TBKP
  5036.  
  5037. TBKP MACRO KW,V,W,SC,M
  5038. PL_KW CON P_KW
  5039. VFD 6/KW_BT,6/KW_OF+1
  5040. VFD 6/SC,1/V,5/W
  5041. VFD 12/M
  5042. TBKP ENDM
  5043. TBKW SPACE 4,10
  5044. ** TBKW - GENERATE TABLE OF VALID AND REQUIRED KEYWORDS.
  5045. *
  5046. * TBKW EQ,(V1,...,VN),(R1,...,RN)
  5047. *
  5048. * ENTRY (EQ) = EQUIPMENT MNEMONIC.
  5049. * (VN) = KEYWORD WHICH IS VALID FOR THE EQUIPMENT.
  5050. * (RN) = KEYWORD WHICH IS REQUIRED FOR THE EQUIPMENT.
  5051.  
  5052.  
  5053. PURGMAC TBKW
  5054.  
  5055. TBKW MACRO EQ,VK,RK
  5056. KWDF EQ,(VK)
  5057. KWDF ,(RK)
  5058. TBKW ENDM
  5059. TEQP SPACE 4,10
  5060. ** TEQP - DEFINE EQUIPMENT PROCESSING.
  5061. *
  5062. * NAME TEQP PROC,MUN,MCH
  5063. *
  5064. * PROC = PROCESSOR.
  5065. * MUN = MAXIMUM UNIT NUMBER.
  5066. * MCH = MAXIMUM NUMBER OF CHANNELS.
  5067.  
  5068.  
  5069. PURGMAC TEQP
  5070. TEQP MACRO NAME,PROC,MUN,MCH
  5071. VFD 12/2R_NAME,12/PROC,6/MUN,6/MCH
  5072. ENDM
  5073. SPACE 4,10
  5074. ** ENTRY POINTS.
  5075.  
  5076.  
  5077. CON /EQ3/TSYN-1 ADDRESS OF SYNTAX TABLE
  5078. CON LOVB+1 INSTRUCTION TO CHANGE END OF SYNTAX TABLE
  5079. EQP SPACE 4,10
  5080. ** EQP - INITIALIZE CENTRAL MEMORY.
  5081.  
  5082.  
  5083. EQP SUBR ENTRY/EXIT
  5084. LDC EQ3L-77 READ *EQ3* FROM CM
  5085. STD T7
  5086. LDD EB
  5087. SBN EQXL
  5088. SHN 6
  5089. CRM EQXO,T7
  5090. RJM /EQ3/VCD VALIDATE *CM*/ISMD ENTRIES
  5091. RJM /EQ3/SDF SET DEFAULT MASS STORAGE DEVICE
  5092. RJM /EQ3/CME CHECK MMF ENVIRONMENT
  5093. RJM /EQ3/SDS SEARCH FOR DEADSTART DEVICE
  5094. LDC UJNI+2 DISABLE *EQP* OVERLAY LOADS
  5095. STM AKLC
  5096. LDD AB+4 SET DEADSTART EQUIPMENT
  5097. STD DF
  5098. MCMS RJM /EQ3/ACM ADJUST CENTRAL MEMORY
  5099. *MCMS CON 0,0 (MINCM VALUE AFTER *ACM* CALL)
  5100. RJM ROV READ NEXT OVERLAY
  5101. RJM /ICM/ICM INITIALIZE CENTRAL MEMORY
  5102. RJM ROV READ NEXT OVERLAY
  5103. RJM /ICT/ICT INITIALIZE CENTRAL MEMORY TABLES
  5104. RJM ROV READ NEXT OVERLAY
  5105. RJM /APR/MSF PROCESS FLAW DECKS
  5106. LJM EQPX RETURN
  5107. TITLE RESIDENT SUBROUTINES.
  5108. EEB SPACE 4,10
  5109. ** EEB - ENTER EQUIPMENT BUFFER.
  5110. *
  5111. * ENTRY (EBUT) = EQUIPMENT EST ENTRY.
  5112. * (TDDB) = MST ENTRY IF MASS STORAGE.
  5113. * (EB) = EBUF ADDRESS.
  5114. * (EQ) = DEVICE ENTRY TABLE NUMBER.
  5115. * (ET) = TDDE ADDRESS.
  5116. *
  5117. * EXIT (EBUT) ENTRY IN EBUF.
  5118. * (TDDB) ENTRY IN TDDE IF MASS STORAGE.
  5119.  
  5120.  
  5121. EEB SUBR ENTRY/EXIT
  5122. LDD EB (EBUF ADDRESS)
  5123. SHN 5
  5124. ADD EQ
  5125. SHN 1
  5126. CWM EBUT,ON
  5127. CWM EBUT+5,ON
  5128. LDI ES
  5129. SHN -13
  5130. ZJN EEBX IF NOT MASS STORAGE
  5131. LDD ET
  5132. SHN 4
  5133. ADD EQ
  5134. SHN 2
  5135. ADD EQ
  5136. ERRNZ TDDCL-5 CODE DEPENDS ON VALUE OF TAG
  5137. CWM TDDB,DV
  5138. UJN EEBX RETURN
  5139. STA SPACE 4,10
  5140. ** STA - SET DESCRIPTION TABLE ADDRESS.
  5141. *
  5142. * ENTRY (A) = EST ORDINAL.
  5143. *
  5144. * EXIT (A) = 0 IF NOT MASS STORAGE.
  5145. * (EQ) = EST ORDINAL.
  5146. * (EBUT) = EST ENTRY.
  5147. * (TDDB) = DEVICE DESCRIPTION IF MASS STORAGE.
  5148.  
  5149.  
  5150. STA1 LDD ET READ IN *TDDB* ENTRY
  5151. SHN 4
  5152. ADD EQ
  5153. SHN 2
  5154. ADD EQ
  5155. ERRNZ TDDCL-5 CODE DEPENDS ON VALUE OF TAG
  5156. CRM TDDB,DV
  5157.  
  5158. STA SUBR ENTRY/EXIT
  5159. STD EQ
  5160. SHN 22-5
  5161. ADD EB (EBUF ADDRESS)
  5162. SHN 6
  5163. CRM EBUT,ON READ EQUIPMENT ENTRY
  5164. CRM EBUT+5,ON
  5165. LDI ES
  5166. SHN -13
  5167. ZJN STAX IF NOT A MASS STORAGE DEVICE
  5168. UJN STA1 READ IN *TDDB* ENTRY
  5169.  
  5170. QUAL
  5171. SPACE 4,10
  5172. **** ASSEMBLED VALUES.
  5173.  
  5174.  
  5175. * SYSTEM DEVICE VALUES.
  5176.  
  5177. SYDC CON 0 SYSTEM DEVICE COUNT
  5178. SYDT CON 0 SYSTEM DEVICE TYPE
  5179. SYNU CON 0 NUMBER OF UNITS
  5180.  
  5181. * CM BUFFER LENGTHS.
  5182.  
  5183. .DFB CON 400+MCML+1 SYSTEM DAYFILE BUFFER
  5184. .ACF CON 400+MCML+1 ACCOUNT FILE BUFFER
  5185. .ERL CON 200+MCML+1 ERROR LOG BUFFER
  5186. .BML CON 400+MBML+1 MAINTENANCE LOG BUFFER
  5187.  
  5188. * DAYFILE RESIDENCE EST ORDINALS.
  5189.  
  5190. DFBF BSS 0
  5191. CON 4000+NEEQ SYSTEM DAYFILE
  5192. CON 4000+NEEQ ACCOUNT DAYFILE
  5193. CON 4000+NEEQ ERRLOG DAYFILE
  5194. CON 4000+NEEQ MAINTENANCE LOG DAYFILE
  5195. DFBFL EQU *-DFBF
  5196.  
  5197. * MISCELLANEOUS.
  5198.  
  5199. DFMS CON 0 DEFAULT MASS STORAGE DEVICE
  5200. MDLL EQU *-DFMS
  5201. MSLM CON MSMX MASS STORAGE LIMIT
  5202. SPSA CON 0,0 *SCI* PP RESIDENT SAVE AREA FWA
  5203.  
  5204. ****
  5205.  
  5206. TCST SPACE 4,10
  5207. ** TCST - CHANNEL STATUS TABLE.
  5208. * ENTRY = 1 WORD.
  5209. *
  5210. *T, TCST 6/ 0, 1/ S, 5/ 0
  5211. * S = UP/DOWN STATUS - 0 = UP, 1 = DOWN.
  5212.  
  5213.  
  5214. TCSTL EQU CTALL*5
  5215. TCST BSSZ TCSTL
  5216. TCHS SPACE 4,10
  5217. ** TCHS - TABLE OF CONTROLWARE TYPES TO LOAD.
  5218. * ENTRY = 1 WORD.
  5219. *
  5220. *T, TCHS 12/ CT+100
  5221. * CT = CONTROLWARE TYPE AS DEFINED IN *COMSDSL*
  5222.  
  5223.  
  5224. TCHSL EQU CTALL*5
  5225. TCHS BSSZ TCHSL
  5226. QUAL *
  5227. EBUF SPACE 4,40
  5228. ** EBUF - EQUIPMENT STATUS TABLE BUFFER.
  5229. * ENTRY = 2 CENTRAL MEMORY WORDS.
  5230. *
  5231. *T EBUF 60/EST WORD 0
  5232. *T EBUF+1 60/EST WORD 1
  5233. *
  5234. * EBUF BIT 51 IS USED AS A PSEUDO EQUIPMENT INTERLOCK. WHEN
  5235. * SET, THE ENTRY CANNOT BE CHANGED OR REDEFINED.
  5236. *
  5237. * FOR MASS STORAGE EQUIPMENT, EBUF BIT 50 AND BITS 11-0
  5238. * ARE USED BY *SET* TO INDICATE THE FOLLOWING -
  5239. *
  5240. * BIT 50 = AUXILIARY DEVICE
  5241. *
  5242. * BITS 11-0
  5243. *
  5244. *T, 1/F,1/T,1/P,1/Q,1/D,1/A,1/E,1/M,1/L,3/NU
  5245. *
  5246. * F = FORMAT PACK (844 ONLY)
  5247. * T = INITIALIZE ALL
  5248. * P = INITIALIZE PERMANENT FILES
  5249. * Q = INITIALIZE QUEUED FILES
  5250. * D = INITIALIZE SYSTEM DAYFILE
  5251. * A = INITIALIZE ACCOUNT DAYFILE
  5252. * E = INITIALIZE ERRLOG DAYFILE
  5253. * M = INITIALIZE MAINTENANCE LOG
  5254. * L = ALTERNATE SYSTEM LIBRARY RESIDENCE
  5255. * NU = NUMBER OF UNITS-1
  5256.  
  5257.  
  5258. EBUT BSSZ ESTE*5 EBUF BUILD TABLE
  5259. TDDE SPACE 4,15
  5260. ** TDDE - TABLE OF DEVICE DESCRIPTIONS.
  5261. *
  5262. * ENTRY = TDDEL WORDS.
  5263. * NO ENTRY IS PRESENT FOR EQUIPMENT ZERO.
  5264.  
  5265.  
  5266. TDDB BSSZ TDDEL
  5267. SPACE 4,10
  5268. APRL BSS 0 LOAD ADDRESS FOR *ICM*, *ICT* AND *APR*
  5269. RMD SPACE 4,10
  5270. ** RMD - RESET MASS STORAGE DEVICE INFORMATION.
  5271. *
  5272. * ENTRY (EQ) = EST ORDINAL OF EQUIPMENT.
  5273. * (EBUT) = EQUIPMENT EST ENTRY.
  5274. * (CN - CN+4) = EST ENTRY IF (EBUT) = 0.
  5275. * (TDDB) = DEVICE DESCRIPTION.
  5276. *
  5277. * USES T1.
  5278.  
  5279.  
  5280. RMD6 LDD CN CHECK NEW DEFINITION
  5281. SHN 0-13
  5282. ZJN RMDX IF NOT MASS STORAGE
  5283.  
  5284. * RESET DEFAULT ERROR THRESHOLD VALUES.
  5285.  
  5286. RMD7 LDN MSCL FETCH DEFAULT VALUES
  5287. CRM TDDB+DVTH,ON
  5288. LDD CN+3
  5289. LMK 2RDE
  5290. ZJN RMDX IF EXTENDED MEMORY EQUIPMENT
  5291. LMK 2RDP&2RDE
  5292. ZJN RMDX IF EXTENDED MEMORY EQUIPMENT
  5293. LDM TDDB+DVNT
  5294. SHN 0-3 RESTRICTED = TRACK COUNT / 8
  5295. STM TDDB+DVRA
  5296. SHN 3-4 LOW SPACE = TRACK COUNT / 16
  5297. STM TDDB+DVLS
  5298.  
  5299. RMD SUBR ENTRY/EXIT
  5300. LDI ES
  5301. ZJN RMD6 IF EQUIPMENT NOT PREVIOUSLY DEFINED
  5302. SHN 21-13
  5303. PJN RMDX IF NOT MASS STORAGE
  5304. SHN 21-11-21+13
  5305. PJN RMD1 IF NOT SHARED DEVICE
  5306. SHN 21-5-21+11
  5307. PJN RMD0 IF NOT SHARED BUFFERED DEVICE
  5308. SOM NSBD DECREMENT SHARED BUFFERED DEVICE COUNT
  5309. RMD0 SOD NS DECREMENT SHARED DEVICE COUNT
  5310. NJN RMD1 IF MORE SHARED DEVICES
  5311. STD LD CLEAR ISD FLAG/LINK DEVICE NUMBER
  5312. RMD1 LDI ES
  5313. SHN 21-12
  5314. PJN RMD2 IF NOT SYSTEM DEVICE
  5315. SOM SYDC DECREMENT SYSTEM DEVICE COUNT
  5316. NJN RMD2 IF MORE SYSTEM DEVICES
  5317. STM SYDT CLEAR SYSTEM DEVICE TYPE
  5318. STM SYNU CLEAR NUMBER OF UNITS
  5319. RMD2 LDM .PFNL+3
  5320. SBD EQ
  5321. NJN RMD3 IF NOT DEFAULT FAMILY EQUIPMENT
  5322. STM .PFNL+3 CLEAR DEFAULT FAMILY EST ORDINAL
  5323. RMD3 LDN 4 SET DAYFILE INDEX
  5324. STD T1
  5325. RMD4 LDM DFBF-1,T1
  5326. LPC 3777
  5327. SBD EQ
  5328. NJN RMD5 IF NOT A MATCH
  5329. LDC 4000+NEEQ
  5330. STM DFBF-1,T1 RESET DEFAULT RESIDENCE
  5331. RMD5 SOD T1
  5332. NJN RMD4 IF MORE DAYFILES
  5333. LDD ET
  5334. SHN 6
  5335. ADN NEEQ*TDDCL
  5336. CWM DFBF,ON
  5337. LJM RMD7 SET DEFAULT ERROR THRESHOLDS
  5338. SCC SPACE 4,10
  5339. ** SCC - SET CONTROLWARE TABLE IN CM.
  5340. *
  5341. * EXIT CONTROLWARE TYPES SET IN CM.
  5342. *
  5343. * USES T1.
  5344.  
  5345.  
  5346. SCC SUBR ENTRY/EXIT
  5347. LDN CTALL
  5348. STD T1
  5349. LDD ET SET TABLE IN CM
  5350. ADN TDDBL CM BUFFER SIZE/100
  5351. SHN 6
  5352. CWM TCHS,T1
  5353. UJN SCCX RETURN
  5354. SFE SPACE 4,10
  5355. ** SFE - SEARCH FOR SPECIFIED EQUIPMENT TYPE.
  5356. *
  5357. * ENTRY (A) = 1/1,17/MNEMONIC, IF INITIAL CALL.
  5358. * (LE) = LAST EST ORDINAL.
  5359. *
  5360. * EXIT (A) .LT. 0, IF SPECIFIED EQUIPMENT NOT FOUND.
  5361. * = BYTE 4 OF EST ENTRY, IF EQUIPMENT FOUND.
  5362. * (EQ) = EST ORDINAL.
  5363. *
  5364. * CALLS STA.
  5365.  
  5366.  
  5367. SFE SUBR ENTRY/EXIT
  5368. PJN SFE1 IF NOT INITIAL CALL
  5369. STM SFEA
  5370. LDD LE INITIALIZE EST INDEX
  5371. ADN 1
  5372. STD EQ
  5373. SFE1 SOD EQ DECREMENT EST INDEX
  5374. MJN SFEX IF END OF EST
  5375. RJM STA
  5376. LDM EBUT+3
  5377. LMC 0
  5378. SFEA EQU *-1
  5379. NJN SFE1 IF NO MATCH
  5380. LDM EBUT+4
  5381. UJN SFEX RETURN
  5382. SID SPACE 4,10
  5383. ** SID - SEARCH FOR *ISMD* DEVICE.
  5384. *
  5385. * ENTRY (A) .LT. 0 IF INITIAL CALL.
  5386. * (T4) = *TFSD* INDEX IF NOT INITIAL CALL.
  5387. *
  5388. * EXIT SEE *SFE*.
  5389. * (T4) = *TFSD* INDEX.
  5390. *
  5391. * CALLS SFE.
  5392.  
  5393.  
  5394. SID1 LMC 1S17 SET INITIAL CALL
  5395. SID2 RJM SFE
  5396. PJN SIDX IF DEVICE FOUND
  5397. AOD T4
  5398. SID3 LDM TFSD,T4
  5399. NJN SID1 IF NOT END OF TABLE
  5400. LCN 0
  5401.  
  5402. SID SUBR ENTRY/EXIT
  5403. PJN SID2 IF NOT INITIAL CALL
  5404. LDN 0
  5405. STD T4
  5406. UJN SID3 ENTER SEARCH LOOP
  5407. TFSD SPACE 4,10
  5408. ** TFSD - TABLE OF *ISMD* DEVICE TYPES.
  5409. *
  5410. *T 12/ DEVICE MNEMONIC
  5411.  
  5412.  
  5413. TFSD CON 2RDD
  5414. CON 2RDG
  5415. CON 0
  5416. TENB SPACE 4,10
  5417. ** TENB - TABLE OF *CM* EST ORDINALS.
  5418. *
  5419. *T 12/ EST ORDINAL
  5420.  
  5421.  
  5422. TENB BSSZ 8D
  5423. SPE SPACE 4,20
  5424. ** SPE - SYNCHRONIZE PARTITIONS AND ENTER EQUIPMENT.
  5425. *
  5426. * ENTRY (EBUT) = EQUIPMENT EST ENTRY.
  5427. * (TDDB) = MST ENTRY IF MASS STORAGE.
  5428. * (EB) = EBUF ADDRESS.
  5429. * (EQ) = DEVICE ENTRY TABLE NUMBER.
  5430. * (ET) = TDDE ADDRESS.
  5431. *
  5432. * EXIT (EBUT) ENTRY IN EBUF.
  5433. * (TDDB) ENTRY IN TDDE IF MASS STORAGE.
  5434. * TO *ILL* IF CHANNEL MISMATCH.
  5435. *
  5436. * USES CM, T1.
  5437. *
  5438. * CALLS EEB.
  5439.  
  5440.  
  5441. SPE11 RJM EEB ENTER EQUIPMENT INTO BUFFER
  5442.  
  5443. SPE SUBR ENTRY/EXIT
  5444. LDI ES
  5445. SHN 21-13
  5446. PJN SPE11 IF NOT MASS STORAGE
  5447. SHN 21-5-21+13
  5448. PJN SPE11 IF NOT A BUFFERED DEVICE
  5449. LDM EBUT+10
  5450. SHN 21-13
  5451. PJN SPE11 IF NOT A PARTITIONED DEVICE
  5452. LDD LE
  5453. STD T1
  5454.  
  5455. * CHECK NEXT EST ENTRY.
  5456.  
  5457. SPE1 SOD T1
  5458. ZJN SPE11 IF SEARCH COMPLETED
  5459. SHN -5+22
  5460. ADD EB (EBUF ADDRESS)
  5461. SHN 6
  5462. CRM SPEA,ON READ EQUIPMENT ENTRY
  5463. LDM EBUT+3
  5464. LMM SPEA+3
  5465. NJN SPE1 IF NOT THE SAME DEVICE TYPE
  5466.  
  5467. * CHECK IF TWO PARTITIONS ARE PART OF THE SAME DEVICE.
  5468.  
  5469. LDM SPEA+1 COMPARE CHANNELS
  5470. LMM EBUT+1
  5471. ZJN SPE2 IF FIRST CHANNEL MATCHES
  5472. LDM SPEA+1
  5473. LMM EBUT+2
  5474. ZJN SPE2 IF FIRST CHANNEL MATCHES SECOND CHANNEL
  5475. LDM SPEA+2
  5476. LMM EBUT+2
  5477. NJN SPE1 IF SECOND CHANNEL DOES NOT MATCH
  5478. SPE2 LDD ET READ *TDDB* ENTRY
  5479. SHN 4
  5480. ADD T1
  5481. SHN 2
  5482. ADD T1
  5483. CRM SPEB,DV
  5484. LDM TDDB+DVPR COMPARE EQUIPMENT NUMBER
  5485. LMM SPEB+DVPR
  5486. SHN -11
  5487. NJN SPE3 IF EQUIPMENT NUMBER DOES NOT MATCH
  5488. LDM TDDB+DVUN+3 COMPARE UNIT NUMBER
  5489. LMM SPEB+DVUN+3
  5490. ZJN SPE4 IF UNIT NUMBER MATCHES
  5491. SPE3 LJM SPE1 CHECK NEXT EST ENTRY
  5492.  
  5493. * VERIFY THAT SAME CHANNEL PAIR DEFINED FOR BOTH PARTITIONS.
  5494.  
  5495. SPE4 LDM SPEA+1 COMPARE CHANNELS
  5496. LMM EBUT+1
  5497. NJN SPE6 IF FIRST CHANNEL DOES NOT MATCH
  5498. LDM SPEA+2
  5499. LMM EBUT+2
  5500. ZJN SPE7 IF SECOND CHANNEL MATCHES
  5501. SPE5 JMP ILL PROCESS INCORRECT ENTRY
  5502.  
  5503. SPE6 LDM SPEA+1
  5504. LMM EBUT+2
  5505. NJN SPE5 IF FIRST CHANNEL DOES NOT MATCH SECOND
  5506. LDM SPEA+2
  5507. LMM EBUT+1
  5508. NJN SPE5 IF SECOND CHANNEL DOES NOT MATCH FIRST
  5509.  
  5510. * SYNCHRONIZE *INITIALIZE,FP* FOR BOTH PARTITIONS.
  5511.  
  5512. SPE7 LDM EBUT+4
  5513. LMM SPEA+4
  5514. LPC MLFPR
  5515. ZJN SPE8 IF *INITIALIZE,FP* FLAGS ARE THE SAME
  5516. AOM SPEC FORCE *EBUF* UPDATE
  5517. LDM EBUT+4 SET *INITIALIZE,FP* FOR BOTH PARTITIONS
  5518. LPN 17
  5519. LMC MLFPR+MLIAL
  5520. STM EBUT+4
  5521. LDM SPEA+4
  5522. LPN 17
  5523. LMC MLFPR+MLIAL
  5524. STM SPEA+4
  5525.  
  5526. * SYNCHRONIZE *SHARE* FOR BOTH PARTITIONS.
  5527.  
  5528. SPE8 LDI ES
  5529. LMM SPEA
  5530. LPC 1000
  5531. ZJN SPE9 IF *SHARE* FLAGS ARE THE SAME
  5532. AOM SPEC FORCE *EBUF* UPDATE
  5533. AOD NS INCREMENT SHARED DEVICE COUNT
  5534. AOM NSBD INCREMENT SHARED BUFFERED DEVICE COUNT
  5535. LDI ES SET *SHARE* FLAG FOR BOTH PARTITIONS
  5536. LPC 6777
  5537. LMD TH
  5538. STI ES
  5539. LDM SPEA
  5540. LPC 6777
  5541. LMD TH
  5542. STM SPEA
  5543. LDM TDDB+DVFA CLEAR TEMP, NONSHARED FOR BOTH PARTITIONS
  5544. LPC -4000
  5545. STM TDDB+DVFA
  5546. LDM SPEB+DVFA
  5547. LPC -4000
  5548. STM SPEB+DVFA
  5549.  
  5550. * UPDATE *EBUF*, IF REQUIRED.
  5551.  
  5552. SPE9 LDC ** (NONZERO IF *EBUF* UPDATE REQUIRED)
  5553. SPEC EQU *-1
  5554. ZJN SPE10 IF *EBUF* UPDATE NOT REQUIRED
  5555. LDN 0 CLEAR FLAG FOR NEXT EST ENTRY
  5556. STM SPEC
  5557. LDD T1
  5558. SHN 22-5
  5559. ADD EB (EBUF ADDRESS)
  5560. SHN 6
  5561. CWM SPEA,ON
  5562. SPE10 LJM SPE1 CHECK NEXT EST ENTRY
  5563.  
  5564.  
  5565. SPEA BSS 5 TEMPORARY EBUF ENTRY
  5566. SPEB BSS TDDCL*5 TEMPORARY TDDE ENTRY
  5567. LOV SPACE 4,10
  5568. ** LOV - LOAD *EQP* OVERLAYS.
  5569. *
  5570. * ENTRY AT *LOV1* WITH (A) = -EQXL TO LOAD *EQ2*.
  5571.  
  5572.  
  5573. LOV SUBR ENTRY/EXIT
  5574. LDC EQML
  5575. STD T7
  5576. LDM KBUF CHECK INITIAL KEYWORD
  5577. SHN 6
  5578. LMM KBUF+1
  5579. LMC 2REQ
  5580. STM LOVA+1
  5581. ZJN LOV1 IF *EQXXX=* ENTRY, LOAD *EQ1*
  5582. LCN 2*EQXL LOAD *EQ3*
  5583. LOV1 ADN 3*EQXL (ENTRY FROM */EQ1/EQM* TO LOAD *EQ2*)
  5584. STD T6
  5585. LDD EB
  5586. SBD T6
  5587. SHN 6
  5588. CRM EQXO,T7
  5589. LOVA LDC *
  5590. ZJN LOV2 IF *EQXXX=* ENTRY
  5591. LOVB LDC 0 SET *TSYNA* VALUE
  5592. * LDC GGO (IF PROCESSING KEYBOARD ENTRY)
  5593. STM /EQ3/TSYNA
  5594. LOV2 BSS 0
  5595.  
  5596. EQXO BSS 0 ORIGIN FOR *EQ1*/*EQ2*/*EQ3*
  5597. SPACE 4,10
  5598. * DEFINE UNQUALIFIED (RESIDENT) TAGS FOR *EQP*.
  5599.  
  5600. QUAL *
  5601.  
  5602. EEB EQU /EQP/EEB
  5603. RMD EQU /EQP/RMD
  5604. SCC EQU /EQP/SCC
  5605. SFE EQU /EQP/SFE
  5606. SID EQU /EQP/SID
  5607. SPE EQU /EQP/SPE
  5608. STA EQU /EQP/STA
  5609.  
  5610. APRL EQU /EQP/APRL
  5611. EBUT EQU /EQP/EBUT
  5612. EQXO EQU /EQP/EQXO
  5613. MCMS EQU /EQP/MCMS
  5614. TDDB EQU /EQP/TDDB
  5615. TENB EQU /EQP/TENB
  5616. TFSD EQU /EQP/TFSD
  5617. TTL SET/EQ1 - PROCESS MASS STORAGE *EQXXX=* ENTRY.
  5618. TITLE
  5619. IDENT EQ1,/EQ1/EQM
  5620. QUAL EQ1
  5621. ORG EQXO
  5622. *COMMENT SET - PROCESS MASS STORAGE *EQXXX=* ENTRY.
  5623. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  5624. SPACE 4,10
  5625. ** MICRO DEFINITIONS.
  5626.  
  5627. KWM MICRO 1,,*AP,CH,EQ,ET,IB,MA,MC,PN,ST,SZ,TS,UN*
  5628.  
  5629. .A MICCNT KWM
  5630. .A SET .A+1
  5631. KWMC EQU .A/3 KEYWORD COUNT
  5632.  
  5633. .A SET KWMC+11D
  5634. KTWC EQU .A/12D KEYWORD TABLE WORD COUNT
  5635. TITLE EQUIPMENT DEFINITIONS.
  5636. EQM SPACE 4,10
  5637. *** EQXXX=TY-N,P1=V1,...,PI=VN.
  5638. *
  5639. * SET MASS STORAGE EQUIPMENT XXX WITH:
  5640. *
  5641. * TY = TYPE (2 CHARACTERS)
  5642. * N = NUMBER OF PARTITIONS (PARTITIONED DEVICES ONLY).
  5643. * PARTITIONED DEVICES ARE NOTED IN THE LIST BELOW.
  5644. *
  5645. * DEVICE TYPES SUPPORTED -
  5646. *
  5647. * DA = FSC 33502 DISK SUBSYSTEM.
  5648. * DB = 885-42 DEMA.
  5649. * DC = 895 DISK SUBSYSTEM.
  5650. * DD = 834 DISK SUBSYSTEM.
  5651. * DE = EXTENDED MEMORY.
  5652. * DF = 887 DISK SUBSYSTEM (4KB SECTORS).
  5653. * DG = 836 DISK SUBSYSTEM.
  5654. * DH = 887 DISK SUBSYSTEM (16KB SECTORS).
  5655. * DI = 844-21 DISK SUBSYSTEM (HALF TRACK).
  5656. * DJ = 844-4X DISK SUBSYSTEM (HALF TRACK).
  5657. * DK = 844-21 DISK SUBSYSTEM (FULL TRACK).
  5658. * DL = 844-4X DISK SUBSYSTEM (FULL TRACK).
  5659. * DM = 885 DISK SUBSYSTEM (HALF TRACK).
  5660. * DN = 9853 XMD DISK SUBSYSTEM.
  5661. * DP = EXTENDED MEMORY WITH DDP/LSP.
  5662. * DQ = 885 DISK SUBSYSTEM (FULL TRACK).
  5663. * DR = CDSS II DISK SUBSYSTEM.
  5664. * DV = 819 DISK SUBSYSTEM (SINGLE DENSITY).
  5665. * DW = 819 DISK SUBSYSTEM (DOUBLE DENSITY).
  5666. * DX = FSC 3330-01 DISK SUBSYSTEM.
  5667. * DY = FSC 3330-11 DISK SUBSYSTEM.
  5668. * DZ = FSC 3350 DISK SUBSYSTEM.
  5669. * EA = 5830 DISK ARRAY SUBSYSTEM; 5832 (1X SSD) DISK.
  5670. * EB = 5830 DISK ARRAY SUBSYSTEM; 5832 (2X SSD) DISK.
  5671. * EC = 5830 DISK ARRAY SUBSYSTEM; 5833 (1X SABRE) DISK.
  5672. * ED = 5830 DISK ARRAY SUBSYSTEM; 5833 (1P SABRE) DISK.
  5673. * EE = 5830 DISK ARRAY SUBSYSTEM; 5833 (2X SABRE) DISK.
  5674. * EF = 5830 DISK ARRAY SUBSYSTEM; 5833 (2P SABRE) DISK.
  5675. * EM-2 = 5830 DISK ARRAY SUBSYSTEM; 5833 (3P SABRE) DISK.
  5676. * EN-2 = 5830 DISK ARRAY SUBSYSTEM; 5833 (4X SABRE) DISK.
  5677. * EG = 5830 DISK ARRAY SUBSYSTEM; 5838 (1X ELITE) DISK.
  5678. * EH = 5830 DISK ARRAY SUBSYSTEM; 5838 (1P ELITE) DISK.
  5679. * EI-2 = 5830 DISK ARRAY SUBSYSTEM; 5838 (2X ELITE) DISK.
  5680. * EJ-2 = 5830 DISK ARRAY SUBSYSTEM; 5838 (2P ELITE) DISK.
  5681. * EK-3 = 5830 DISK ARRAY SUBSYSTEM; 5838 (3P ELITE) DISK.
  5682. * EL-4 = 5830 DISK ARRAY SUBSYSTEM; 5838 (4X ELITE) DISK.
  5683. * EO = 5830 DISK ARRAY SUBSYSTEM; 47444 (1X 3.5IN) DISK.
  5684. * EP = 5830 DISK ARRAY SUBSYSTEM; 47444 (1P 3.5IN) DISK.
  5685. * ES-2 = 5830 DISK ARRAY SUBSYSTEM; 47444 (2X 3.5IN) DISK.
  5686. * EU-2 = 5830 DISK ARRAY SUBSYSTEM; 47444 (2P 3.5IN) DISK.
  5687. * EV-3 = 5830 DISK ARRAY SUBSYSTEM; 47444 (3P 3.5IN) DISK.
  5688. * EW-4 = 5830 DISK ARRAY SUBSYSTEM; 47444 (4X 3.5IN) DISK.
  5689. *
  5690. *
  5691. * AND PARAMETERS WHERE P1,...,PI ARE THE FOLLOWING KEYWORDS
  5692. *
  5693. * AP = APRDECK (FLAW DECK) NUMBER.
  5694. * CH = CHANNEL NUMBER(S).
  5695. * EQ = EQUIPMENT (CONTROLLER) NUMBER.
  5696. * ET = MT/PT/CT.
  5697. * MT = EXTENDED MEMORY TYPE.
  5698. * PT = PATH TYPE.
  5699. * CT = CPU TYPE.
  5700. * IB = INSTALLATION BYTE.
  5701. * MA = MAINTENANCE MODE (EM HALF SIZE).
  5702. * MC = ESM SIDE DOOR MAINTENANCE PORT CHANNEL NUMBER.
  5703. * PN = PARTITION NUMBER.
  5704. * ST = STATUS.
  5705. * SZ = EXTENDED MEMORY SIZE.
  5706. * TS = EXTENDED MEMORY TRACK SIZE.
  5707. * UN = UNIT NUMBER(S).
  5708.  
  5709.  
  5710. EQM BSS 0
  5711. LDN 2 ADVANCE CHARACTER ADDRESS
  5712. RAD KA
  5713. RJM CDR ASSEMBLE DIGITS
  5714. LMN 1R=
  5715. ZJN EQM2 IF *=*
  5716. EQM1 JMP ILL PROCESS INCORRECT ENTRY
  5717.  
  5718. EQM2 AOD KA SKIP CHARACTER
  5719. LDD AB+4 CHECK EST ORDINAL
  5720. SBN NOPE
  5721. MJN EQM1 IF PSEUDO EQUIPMENT
  5722. SBK ESMX-NOPE
  5723. PJN EQM1 IF EST ORDINAL EXCEEDS MAXIMUM
  5724. LDD AB+4 SET EST ORDINAL
  5725. RJM STA READ EBUF ENTRY
  5726. RJM CDR
  5727. LMN 1R.
  5728. NJP EQM5 IF NOT *EQXXX=.*
  5729. LDD AB+4
  5730. NJN EQM1 IF *EQXXX = N.*
  5731. RJM CDC CLEAR ISMD CHANNELS
  5732. LDN 0
  5733. CRD CN CLEAR DEVICE DESCRIPTION
  5734. CRM EBUT+5,ON
  5735. ERRNG 5-TDDCL CODE DEPENDS ON VALUE
  5736. CRM TDDB,DV
  5737. LDD EQ
  5738. LMD EN
  5739. NJN EQM4 IF NOT EXTENDED MEMORY EQUIPMENT
  5740. STD EN CLEAR EST ORDINAL
  5741. STM EMSC DE/DP SHIFT COUNT
  5742. LDN TAXXL CLEAR EXTENDED MEMORY ALLOCATION TABLES
  5743. STD T1
  5744. LDD EQ
  5745. LMN LDEQ
  5746. NJN EQM3 IF NOT LINK DEVICE
  5747. STD PD
  5748. EQM3 LDN 0
  5749. STM TAXM-1,T1
  5750. SOD T1
  5751. NJN EQM3 IF MORE TO CLEAR
  5752. CRM EMTY,ON
  5753. EQM4 LJM EQM19 CLEAR EST
  5754.  
  5755. * PROCESS TYPE.
  5756.  
  5757. EQM5 LDI KA ASSEMBLE TYPE
  5758. SHN 6
  5759. LMM 1,KA
  5760. STD AB+4
  5761. LDM EBUT+3
  5762. ZJN EQM7 IF EMPTY ENTRY
  5763. LMD AB+4
  5764. ZJN EQM8 IF NO CHANGE IN DEVICE TYPE
  5765. LDD AB+4
  5766. LMC 2R**
  5767. ZJN EQM8 IF NONSTANDARD EQUIPMENT ENTRY
  5768. RJM CDC CLEAR ISMD CHANNELS
  5769. EQM7 LDN 0 CLEAR DEVICE DESCRIPTION
  5770. CRD CN
  5771. CRM EBUT+5,ON
  5772. ERRNG 5-TDDCL CODE DEPENDS ON VALUE
  5773. CRM TDDB,DV
  5774. LDD AB+4
  5775. STD CN+3
  5776. AOM TRQP SET INITIAL ENTRY FLAG
  5777. UJN EQM9 SEARCH FOR DEVICE
  5778.  
  5779. EQM8 LDN JSNL MOVE EST ENTRY TO DIRECT CELLS
  5780. CWM EBUT,ON
  5781. SBN 1
  5782. CRD CN
  5783.  
  5784. * SEARCH FOR DEVICE IN MASS STORAGE TABLE.
  5785.  
  5786. EQM9 LDD AB+4
  5787. RJM SMD SEARCH MASS STORAGE DEVICE TABLE
  5788. NJN EQM10 IF MASS STORAGE DEVICE
  5789.  
  5790. * EQUIPMENT IS NOT MASS STORAGE - LOAD *EQ2* TO PROCESS ENTRY.
  5791.  
  5792. LDD KB RESET CHARACTER ADDRESS
  5793. STD KA
  5794. LCN EQXL
  5795. LJM /EQP/LOV1 FORCE LOAD OF *EQ2*
  5796.  
  5797. EQM10 LDM TRQP
  5798. ZJP EQM14 IF NOT INITIAL ENTRY
  5799. LDC 4100 SET MASS STORAGE AND UNAVAILABLE
  5800. STD CN
  5801. LDI MS SET SHARED DEVICE, DEFAULT CATALOG TRACKS
  5802. LPC 4000
  5803. LMM MSCT,MS
  5804. STM TDDB+DVCT
  5805. LDM MSNT,MS SET NUMBER OF TRACKS
  5806. LPC 3777
  5807. STM TDDB+DVNT
  5808. LDM MSAI,MS SET CONTROLWARE LOAD, ALGORITHM INDEX
  5809. STM TDDB+DVAI
  5810. LDM MSDI,MS SET DRIVER INDEX
  5811. STM TDDB+DVDI
  5812. LDM MSSL,MS SET MAXIMUM PARTITION NUMBER
  5813. STM TDDB+DVSL
  5814. LDM MSUL,MS SET BUFFERED DEVICE FLAGS IN MST
  5815. LPC 6000
  5816. STM TDDB+DVED
  5817. SHN 5-12 SET BUFFERED DEVICE FLAG IN EST
  5818. LPN 40
  5819. RAD CN
  5820. EQM14 LDN 2 SKIP EQUIPMENT MNEMONIC
  5821. RAD KA
  5822. LDM MSPR,MS
  5823. STD T1
  5824. LDC TVRK-TVRKL SET TABLE OF VALID KEYWORDS
  5825. STD TA
  5826. EQM16 LDN TVRKL ADVANCE TABLE ADDRESS
  5827. RAD TA
  5828. LDI TA
  5829. ZJN EQM21 IF END OF TABLE
  5830. LMD AB+4
  5831. NJN EQM16 IF NO MATCH
  5832. LDM TRQP
  5833.  
  5834. ** EXIT TO PROCESSOR WITH -
  5835. *
  5836. * (A) = (TRQP) = PREVIOUS DEFINITION STATUS.
  5837. * (CN - CN+4) = WORD TO BUILD EST ENTRY.
  5838. * (TDDB) = BUFFER TO BUILD *TDDE* ENTRY.
  5839. * (MS) = *TMSD* ADDRESS IF MASS STORAGE.
  5840. * (TA) = *TVRK* ENTRY ADDRESS.
  5841.  
  5842. RJM 0,T1
  5843.  
  5844. LDM EBUT+3
  5845. LMD CN+3
  5846. ZJN EQM20 IF NOT INITIAL ENTRY
  5847. EQM19 RJM CML CHECK MASS STORAGE LIMIT
  5848. RJM RMD RESET MASS STORAGE DEVICE
  5849. EQM20 LDN JSNL
  5850. CWD CN MOVE EST ENTRY TO BUFFER
  5851. CRM EBUT,ON
  5852. RJM EEB ENTER EQUIPMENT DEFINITION
  5853. RJM EDC ENTER ISMD CHANNELS
  5854. RJM CLE CHECK LAST EQUIPMENT
  5855. JMP KBR RETURN
  5856.  
  5857. EQM21 JMP ILL PROCESS INCORRECT ENTRY
  5858. TITLE EQUIPMENT DEFINITION PROCESSORS.
  5859. ECS SPACE 4,10
  5860. *** EQXXX=DE.
  5861. * EQXXX=DP.
  5862.  
  5863.  
  5864. ECS SUBR ENTRY/EXIT
  5865. ZJN ECS1 IF NOT INITIAL ENTRY
  5866. LDC 4112
  5867. STM TDDB+DVED
  5868. ECS1 LDN BMLL SAVE CURRENT PARAMETERS
  5869. CWM EMTY,ON
  5870. RJM KWP PROCESS KEYWORDS
  5871. LDD CN+3
  5872. LMC 2RDP
  5873. ZJN ECS2 IF TYPE *DP*
  5874. LDM TDDB+DVED
  5875. SCN 7 SET NO DDP PATH FOR *DE*
  5876. STM TDDB+DVED
  5877.  
  5878. * PROCESS EXTENDED MEMORY SIZE.
  5879.  
  5880. ECS2 LDM EBUT+7 PRESET SHIFT TO *EMBS* BLOCKS
  5881. SHN -6
  5882. LPN 3
  5883. STD T5
  5884. LMC SHNI+77
  5885. STM ECSA
  5886. LDN 0
  5887. STD T1
  5888. LDM TDDB+DVED CHECK DEVICE TYPE
  5889. SHN -6
  5890. LPN 7
  5891. LMN 1
  5892. NJN ECS4 IF NOT ECS 1
  5893. LDM TDDB+DVES
  5894. ZJN ECS3 IF NOT 2 MILLION WORDS
  5895. LMN 1
  5896. ADM TDDB+DVES+1
  5897. NJP ILL IF .GT. 2M WORDS
  5898. LDC 2015232D/1000
  5899. UJN ECS5 SET DEVICE SIZE
  5900.  
  5901. ECS3 LDM TDDB+DVES+1 ADJUST ECS 1 SIZE FOR FLAWED AREA
  5902. SHN 2
  5903. ADM TDDB+DVES+1
  5904. SHN -7
  5905. STD T1 SIZE*5/200B
  5906. ECS4 LDM TDDB+DVES
  5907. SHN 14
  5908. LMM TDDB+DVES+1
  5909. ECS5 SBD T1
  5910. ECSA SHN 0
  5911. * SHN -EMSC (CONVERT TO *EMBS*-WORD BLOCKS)
  5912. RJM CFT
  5913. STM TDDB+DVNT
  5914. LDM TDDB+DVED
  5915. SHN 21-11
  5916. PJN ECS6 IF NOT IN MAINTENANCE MODE
  5917. SHN 12-6
  5918. LPN 7
  5919. SBN 5
  5920. MJP ILL IF NOT ESM/STORNET EQUIPMENT TYPE
  5921. LDM TDDB+DVNT
  5922. SHN -1 REDUCE PHYSICAL EM SIZE BY ONE HALF
  5923. STM TDDB+DVNT
  5924. ECS6 LDD EQ RESET EXTENDED MEMORY PARAMETERS
  5925. LMD EN
  5926. NJN ECS7 IF REDEFINING EXTENDED MEMORY
  5927. STD EN
  5928. CRM EMTY,ON
  5929.  
  5930. * MEMORY TYPE DEPENDENT PROCESSING.
  5931.  
  5932. ECS7 LDM TDDB+DVED
  5933. LPN 70
  5934. ZJP ECS10 IF NO CPU PATH
  5935. LMN 40
  5936. NJN ECS8 IF NOT UEM
  5937. LDM TDDB+DVES SET UEM SIZE/100B
  5938. SHN 14
  5939. LMM TDDB+DVES+1
  5940. SHN 3
  5941. STM UEMZ+1
  5942. SHN -14
  5943. STM UEMZ
  5944. LDN 1
  5945. RJM CMS CHECK MEMORY SIZE
  5946. ZJN ECS8 IF NO MEMORY SIZE CONFLICTS
  5947. LDN BMLL RESTORE PREVIOUS PARAMETERS
  5948. CRM EMTY,ON
  5949. JMP ERR DISPLAY ERROR
  5950.  
  5951. ECS8 LDD EN
  5952. NJN ECS9 IF CPU PATH EQUIPMENT PREVIOUSLY SET
  5953. LDD EQ
  5954. STD EN
  5955. ECS9 LDM TDDB+DVED
  5956. SHN -6
  5957. LPN 7
  5958. STM EMTY
  5959. LDD T5 SET XM SHIFT COUNT
  5960. STM EMSC
  5961. LDM TDDB+DVNT COMPUTE FIELD LENGTH
  5962. SHN 6
  5963. ADM TDDB+DVNT
  5964. ADN 37 ROUND UP
  5965. SHN -5
  5966. STM EMFL XM FL / *EMBS*
  5967. ECS10 LDD EQ
  5968. LMN LDEQ
  5969. NJN ECS11 IF NOT POSSIBLE LINK DEVICE
  5970. LDD T5
  5971. STM LDSH
  5972. LDM TDDB+DVED
  5973. LPN 70
  5974. LMN 40
  5975. ZJN ECS11 IF UEM
  5976. LDN LDEQ SET POSSIBLE LINK DEVICE
  5977. STD PD
  5978. ECS11 LJM ECSX RETURN
  5979.  
  5980. PDE EQU ECS *DE* PROCESSOR
  5981. PDP EQU ECS *DP* PROCESSOR
  5982. PDC SPACE 4,10
  5983. *** EQXXX=DC.
  5984.  
  5985.  
  5986. PDC1 RJM KWP PROCESS KEYWORDS
  5987.  
  5988. PDC SUBR ENTRY/EXIT
  5989. LDC MABL CHECK PP SPEED
  5990. CRD CM
  5991. LDD CM+4
  5992. SBN 2
  5993. PJN PDC1 IF 4X PP SPEED
  5994. JMP ILL PROCESS KEYWORDS
  5995. PDD SPACE 4,10
  5996. *** EQXXX=DD.
  5997. * EQXXX=DG.
  5998.  
  5999. PDD1 LDN 37 PRESET NO CHANNELS SPECIFIED
  6000. STD CN+1
  6001. LDN 4 SET LIMIT TEST FOR DRIVE NUMBER
  6002. RAM SUNB
  6003. RJM KWP PROCESS KEYWORDS
  6004.  
  6005. PDD SUBR ENTRY/EXIT
  6006. LDM ISPF
  6007. SHN 21-13
  6008. PJN PDD1 IF CYBER 810/815/825/830
  6009. JMP ILL PROCESS INCORRECT ENTRY
  6010.  
  6011.  
  6012. PDG EQU PDD *DG* PROCESSOR
  6013. PDF SPACE 4,10
  6014. *** EQXXX=DF.
  6015. * EQXXX=DH.
  6016. * EQXXX=DN.
  6017. * EQXXX=EA.
  6018. * EQXXX=EB.
  6019. * EQXXX=EC.
  6020. * EQXXX=ED.
  6021. * EQXXX=EE.
  6022. * EQXXX=EF.
  6023. * EQXXX=EG.
  6024. * EQXXX=EH.
  6025. * EQXXX=EO.
  6026. * EQXXX=EP.
  6027.  
  6028.  
  6029. PDF1 LDC PCC SET CHANNEL PROCESSOR
  6030. STM TKWPA
  6031. LDM TKWPB+2 *EQ* DEFINITION PARAMETERS
  6032. SCN 37
  6033. LMN TDDB-EBUT+DVPR SET LOCATION FOR CONTROLLER NUMBER
  6034. STM TKWPB+2
  6035. RJM KWP PROCESS KEYWORDS
  6036.  
  6037. PDF SUBR ENTRY/EXIT
  6038. LDM .CCHN
  6039. NJN PDF1 IF *I4* IOU
  6040. JMP ILL PROCESS INCORRECT ENTRY
  6041.  
  6042.  
  6043. PDH EQU PDF *DH* PROCESSOR
  6044. PDN EQU PDF *DN* PROCESSOR
  6045. PEA EQU PDF *EA* PROCESSOR
  6046. PEB EQU PDF *EB* PROCESSOR
  6047. PEC EQU PDF *EC* PROCESSOR
  6048. PED EQU PDF *ED* PROCESSOR
  6049. PEE EQU PDF *EE* PROCESSOR
  6050. PEF EQU PDF *EF* PROCESSOR
  6051. PEG EQU PDF *EG* PROCESSOR
  6052. PEH EQU PDF *EH* PROCESSOR
  6053. PEO EQU PDF *EO* PROCESSOR
  6054. PEP EQU PDF *EP* PROCESSOR
  6055. PEI SPACE 4,10
  6056. *** EQXXX=EI-2. (MULTIPLE PARTITION DEVICES)
  6057. * EQXXX=EJ-2.
  6058. * EQXXX=EK-3.
  6059. * EQXXX=EL-4.
  6060. * EQXXX=EM-2.
  6061. * EQXXX=EN-2.
  6062. * EQXXX=ES-2.
  6063. * EQXXX=EU-2.
  6064. * EQXXX=EV-3.
  6065. * EQXXX=EW-4.
  6066.  
  6067.  
  6068. PEI SUBR ENTRY/EXIT
  6069. LDI KA CHECK SEPARATOR
  6070. LMN 1R,
  6071. ZJN PEI2 IF *,*
  6072. LMN 1R-&1R,
  6073. NJN PEI1 IF NOT *-*
  6074. AOD KA
  6075. RJM CDR ASSEMBLE NUMBER OF PARTITIONS
  6076. LMN 1R,
  6077. NJN PEI1 IF INCORRECT SEPARATOR
  6078. LDD AB+4
  6079. ZJN PEI1 IF NULL PARTITION COUNT
  6080. STM PEIB
  6081. LDM MSSL,MS
  6082. LPN 17
  6083. ADN 1
  6084. SBD AB+4
  6085. PJN PEI3 IF PARTITION COUNT OK
  6086. PEI1 JMP ILL PROCESS INCORRECT ENTRY
  6087.  
  6088. PEI2 AOM PEIB INDICATE ONLY ONE PARTITION
  6089. PEI3 NJN PEI4 IF NOT MAXIMUM PARTITONS
  6090. AOM PEIA MAKE *PN=* NOT REQUIRED
  6091. PEI4 RJM PDF PROCESS BASIC DAS SETUP
  6092. PEIA LDN ** *PN=* PROCESSED INDICATOR
  6093. ZJN PEI1 IF REQUIRED *PN=* NOT PROCESSED
  6094. LDC 0 NUMBER OF PARTITIONS
  6095. PEIB EQU *-1
  6096. ADD EQ
  6097. SBN 1
  6098. STD T7
  6099. LDC 0 FIRST PARTITION NUMBER
  6100. PEIC EQU *-1
  6101. STD T6
  6102. PEI5 STD T0 PRESET CYLINDER CALCULATION
  6103. LDM EBUT+10 SET EST PARTITION NUMBER
  6104. SHN 14
  6105. SCN 57
  6106. LMD T6
  6107. LMN 40 MARK AS A PARTITIONED DEVICE
  6108. SHN 6
  6109. STM EBUT+10
  6110. LDN 0 CLEAR MST CYLINDER OFFSET
  6111. STM TDDB+DVCO
  6112. PEI6 SOD T0 CALCULATE CYLINDER OFFSET
  6113. MJN PEI7 IF CALCULATION IS COMPLETE
  6114. LDM MSCP,MS
  6115. RAM TDDB+DVCO
  6116. UJN PEI6 CHECK FOR COMPLETION
  6117.  
  6118. PEI7 LDD EB READ ORIGINAL EQUIPMENT ENTRY
  6119. SHN 5
  6120. ADD EQ
  6121. SHN 1
  6122. CRM EBUT,ON
  6123. LDD EQ
  6124. LMD T7
  6125. ZJP PEIX IF THIS IS THE LAST PARTITION
  6126. LDM EBUT+3
  6127. LMD CN+3
  6128. ZJN PEI8 IF NOT INITIAL ENTRY
  6129. RJM CML CHECK MASS STORAGE LIMIT
  6130. RJM RMD RESET MASS STORAGE DEVICE
  6131. PEI8 LDN JSNL
  6132. CWD CN MOVE EST ENTRY TO BUFFER
  6133. CRM EBUT,ON
  6134. RJM SPE ENTER EQUIPMENT DEFINITION
  6135. LDM EBUT+4 UPDATE INITIALIZATION FLAGS
  6136. STM CN+4
  6137. RJM CLE CHECK LAST EQUIPMENT
  6138. AOD T6 INCREMENT PARTITION NUMBER
  6139. UJP PEI5 PROCESS NEXT PARTITION
  6140.  
  6141.  
  6142. PEJ EQU PEI *EJ* PROCESSOR
  6143. PEK EQU PEI *EK* PROCESSOR
  6144. PEL EQU PEI *EL* PROCESSOR
  6145. PEM EQU PEI *EM* PROCESSOR
  6146. PEN EQU PEI *EN* PROCESSOR
  6147. PES EQU PEI *ES* PROCESSOR
  6148. PEU EQU PEI *EU* PROCESSOR
  6149. PEV EQU PEI *EV* PROCESSOR
  6150. PEW EQU PEI *EW* PROCESSOR
  6151. KWP SPACE 4,10
  6152. ** KWP - KEYWORD MAIN PROCESSOR.
  6153. *
  6154. * ENTRY (KA) = ADDRESS OF SEPARATOR CHARACTER.
  6155. * (TA) = *TVRK* ENTRY ADDRESS.
  6156.  
  6157.  
  6158. KWP SUBR ENTRY/EXIT
  6159. KWP1 AOD KA
  6160. LDI KA ASSEMBLE KEYWORD
  6161. SHN 6
  6162. LMM 1,KA
  6163. STD AB
  6164. LDN 2 ADVANCE KEYBOARD BUFFER ADDRESS
  6165. RAD KA
  6166. LDI KA
  6167. LMN 1R=
  6168. NJN KWP3 IF INCORRECT SEPARATOR
  6169. AOD KA
  6170. LDC TKWP-TKWPL
  6171. STD T3
  6172. KWP2 LDN TKWPL
  6173. RAD T3
  6174. LDI T3
  6175. NJN KWP4 IF NOT END OF TABLE
  6176. KWP3 JMP ILL PROCESS INCORRECT ENTRY
  6177.  
  6178. KWP4 STD T2
  6179. LDD AB
  6180. LMI T2
  6181. NJN KWP2 IF NOT MATCH
  6182. RJM VKW VALIDATE KEYWORD
  6183.  
  6184. * EXIT TO KEYWORD PROCESSOR.
  6185. * (T3) = ADDRESS OF *TKWP* ENTRY.
  6186. * (KA) = ADDRESS OF KEYWORD VALUE FIRST CHARACTER.
  6187.  
  6188. LJM 1,T2 EXIT TO PROCESSOR
  6189.  
  6190. * RETURN FROM KEYWORD PROCESSOR.
  6191. * (KA) = ADDRESS OF SEPARATOR CHARACTER.
  6192.  
  6193. KWP5 LDI KA CHECK SEPARATOR
  6194. LMN 1R,
  6195. ZJN KWP1 IF NOT END OF ENTRY
  6196. LMN 1R.&1R,
  6197. NJN KWP3 IF INCORRECT SEPARATOR
  6198. LDM TRQP
  6199. ZJN KWP7 IF NOT INITIAL ENTRY
  6200. LDN KTWC
  6201. STD T2
  6202. LDN TVRKL
  6203. RAD TA
  6204. KWP6 SOD TA
  6205. LDI TA
  6206. STM KWPA
  6207. LDM TRQP,T2
  6208. LPC **
  6209. KWPA EQU *-1
  6210. LMI TA
  6211. NJN KWP3 IF REQUIRED KEYWORD NOT SPECIFIED
  6212. SOD T2
  6213. NJN KWP6 IF MORE KEYWORDS TO CHECK
  6214. KWP7 LDD CN
  6215. LPN 3
  6216. LMN 3
  6217. ZJN KWP9 IF DEVICE IS DOWN
  6218. LDD CN+1 CHECK PRIMARY CHANNEL
  6219. SHN 21-13
  6220. PJN KWP9 IF NO PRIMARY CHANNEL
  6221. SHN 21-12-21+13
  6222. PJN KWP9 IF CHANNEL IS UP
  6223. LDD CN+2 CHECK SECONDARY CHANNEL
  6224. SHN 21-13
  6225. PJN KWP8 IF NO SECONDARY CHANNEL
  6226. SHN 21-12-21+13
  6227. PJN KWP9 IF CHANNEL IS UP
  6228. KWP8 JMP ILL PROCESS INCORRECT ENTRY
  6229.  
  6230. KWP9 LJM KWPX RETURN
  6231.  
  6232.  
  6233. PDI EQU KWP *DI* PROCESSOR
  6234. PDJ EQU KWP *DJ* PROCESSOR
  6235. PDM EQU KWP *DM* PROCESSOR
  6236. PDK EQU KWP *DK* PROCESSOR
  6237. PDL EQU KWP *DL* PROCESSOR
  6238. PDQ EQU KWP *DQ* PROCESSOR
  6239. PDR EQU KWP *DR* PROCESSOR
  6240. PDB EQU KWP *DB* PROCESSOR
  6241. PDX EQU KWP *DX* PROCESSOR
  6242. PDY EQU KWP *DY* PROCESSOR
  6243. PDZ EQU KWP *DZ* PROCESSOR
  6244. PDA EQU KWP *DA* PROCESSOR
  6245. PDV EQU KWP *DV* PROCESSOR
  6246. PDW EQU KWP *DW* PROCESSOR
  6247. TITLE MISCELLANEOUS EQUIPMENT DEFINITION SUBROUTINES.
  6248. CDC SPACE 4,15
  6249. ** CDC - CLEAR ISMD CHANNELS.
  6250. *
  6251. * ENTRY (EBUT) = PREVIOUS EBUT *CM* EQUIPMENT ENTRY.
  6252. *
  6253. * EXIT CHANNEL NUMBERS ARE CLEARED IN ALL ISMD DEVICE ENTRIES
  6254. * WHICH HAVE THE FIRST UNIT ON THIS *CM* EQUIPMENT.
  6255. *
  6256. * USES T1, T2, T3.
  6257. *
  6258. * CALLS SDC.
  6259.  
  6260.  
  6261. CDC SUBR ENTRY/EXIT
  6262. LDM EBUT+4 SAVE EQUIPMENT NUMBER
  6263. SHN -11
  6264. STD T1
  6265. LDM EBUT+3
  6266. LMC 2RCM
  6267. NJN CDCX IF NOT CONTROL MODULE
  6268. STM TENB,T1 CLEAR EST ORDINAL
  6269. STD T3
  6270. LDN 37 SET NO CHANNEL SPECIFIED
  6271. STD T2
  6272. RJM SDC SET ISMD CHANNELS
  6273. UJN CDCX RETURN
  6274. CLE SPACE 4,15
  6275. ** CLE - CHECK LAST EQUIPMENT.
  6276. *
  6277. * ENTRY (EQ) = CURRENT EST ORDINAL.
  6278. * (LE) = LAST EQUIPMENT DEFINED.
  6279. * (CN - CN+4) = CURRENT EQUIPMENT DEFINITION.
  6280. *
  6281. * EXIT (LE) = CURRENT LAST EQUIPMENT.
  6282. * (EQ) = CURRENT EST ORDINAL + 1.
  6283. *
  6284. * USES T5, CN - CN+4.
  6285. *
  6286. * CALLS IBF.
  6287.  
  6288.  
  6289. CLE3 AOD EQ CHECK NEW EQUIPMENT DEFINITION
  6290. SBD LE
  6291. PJN CLE2 IF ORDINAL .GE. PREVIOUS HIGH
  6292.  
  6293. CLE SUBR ENTRY/EXIT
  6294. LDD CN+3
  6295. NJN CLE3 IF DEFINING EQUIPMENT
  6296. AOD EQ
  6297. LMD LE
  6298. NJN CLEX IF NOT CLEARING LAST EQUIPMENT
  6299. CLE1 SOD LE
  6300. SHN 14+1
  6301. ADD EB SEARCH FOR LAST EQUIPMENT
  6302. SHN 6
  6303. CRD CN
  6304. LDD CN+3
  6305. ZJN CLE1 IF EQUIPMENT UNDEFINED
  6306. LDN 1
  6307. CLE2 RAD LE UPDATE LAST EQUIPMENT
  6308. STD T5
  6309. LDN UECF SEND COUNT TO BUFFER PP
  6310. RJM IBF
  6311. UJN CLEX RETURN
  6312. CML SPACE 4,10
  6313. ** CML - CHECK MASS STORAGE LIMIT.
  6314. *
  6315. * ENTRY (CN - CN+4) = CURRENT EQUIPMENT DEFINITION.
  6316. * (EBUT - EBUT+4) = PREVIOUS EQUIPMENT DEFINITION.
  6317.  
  6318.  
  6319. CML2 SOM MSLM
  6320.  
  6321. CML SUBR ENTRY/EXIT
  6322. LDI ES
  6323. LMD CN CHECK REDEFINITION
  6324. SHN 0-13
  6325. ZJN CMLX IF NO CHANGE IN STATUS
  6326. LDD CN CHECK MASS STORAGE
  6327. SHN 0-13
  6328. ZJN CML1 IF NOT MASS STORAGE
  6329. LDM MSLM
  6330. NJN CML2 IF NOT MASS STORAGE LIMIT
  6331. LDC CMLB SET ERROR MESSAGE
  6332. JMP ILL1 DISPLAY ERROR
  6333.  
  6334. CML1 AOM MSLM ADVANCE MASS STORAGE LIMIT
  6335. UJN CMLX RETURN
  6336.  
  6337. CMLB DATA C*MS LIMIT EXCEEDED.*
  6338. EDC SPACE 4,20
  6339. ** EDC - ENTER ISMD CHANNELS.
  6340. *
  6341. * ENTRY (CN - CN+4) = EQUIPMENT ENTRY.
  6342. * (EQ) = CURRENT EST ORDINAL.
  6343. *
  6344. * EXIT (EQ) = CURRENT EST ORDINAL.
  6345. * IF DEVICE IS AN ISMD, A SEARCH IS MADE FOR THE *CM*
  6346. * EQUIPMENT WHICH CORRESPONDS TO THE FIRST UNIT - IF
  6347. * FOUND, THE CHANNEL NUMBERS ARE SET IN THE ISMD
  6348. * ENTRY.
  6349. *
  6350. * USES T1, T2, T3, CM - CM+4.
  6351. *
  6352. * CALLS EEB.
  6353.  
  6354.  
  6355. EDC SUBR ENTRY/EXIT
  6356. LCN 0
  6357. STD T5
  6358. EDC1 AOD T5 ADVANCE INDEX
  6359. LDM TFSD,T5
  6360. ZJN EDCX IF END OF TABLE
  6361. LMD CN+3
  6362. NJN EDC1 IF NOT MATCHING DEVICE TYPE
  6363. LDM TDDB+DVUN+3 SAVE FIRST UNIT EQUIPMENT NUMBER
  6364. LPN 70
  6365. SHN -3
  6366. STD T3
  6367. LDM TENB,T3
  6368. ZJN EDCX IF NO *CM* DEFINED
  6369. SHN 22-5
  6370. ADD EB
  6371. SHN 6 READ CONTROL MODULE EST ENTRY
  6372. CRD CM
  6373. LDD CM+1 SET CHANNEL(S) INTO ISMD ENTRY
  6374. STM EBUT+1
  6375. LDD CM+2
  6376. STM EBUT+2
  6377. RJM EEB ENTER EQUIPMENT ENTRY
  6378. LJM EDCX RETURN
  6379. SDC SPACE 4,15
  6380. ** SDC - SET ISMD CHANNELS.
  6381. *
  6382. * ENTRY (T1) = *CM* EQUIPMENT NUMBER.
  6383. * (T2) = FIRST CHANNEL.
  6384. * (T3) = SECOND CHANNEL.
  6385. *
  6386. * EXIT CHANNEL NUMBERS ARE SET IN ALL ISMD DEVICE ENTRIES
  6387. * WHICH HAVE THE FIRST UNIT ON THIS *CM* EQUIPMENT.
  6388. *
  6389. * USES T5.
  6390. *
  6391. * CALLS EEB, SID, STA.
  6392.  
  6393.  
  6394. SDC2 LDD T5 RESTORE *EQ* CONTENTS
  6395. RJM STA
  6396.  
  6397. SDC SUBR ENTRY/EXIT
  6398. LDD EQ SAVE CONTENTS OF *EQ*
  6399. STD T5
  6400. RJM EEB SAVE *EBUT*
  6401. LCN 0
  6402. SDC1 RJM SID SEARCH FOR ISMD DEVICE
  6403. MJN SDC2 IF NONE FOUND
  6404. LDM TDDB+DVUN+3 GET FIRST UNIT EQUIPMENT NUMBER
  6405. LPN 70
  6406. SHN -3
  6407. LMD T1
  6408. NJN SDC1 IF NOT THIS *CM* EQUIPMENT NUMBER
  6409. LDD T2 SET CHANNEL NUMBERS
  6410. STM EBUT+1
  6411. LDD T3
  6412. STM EBUT+2
  6413. RJM EEB ENTER EQUIPMENT ENTRY
  6414. UJN SDC1 FIND NEXT ISMD ENTRY
  6415. SMD SPACE 4,10
  6416. ** SMD - SEARCH MASS STORAGE DEVICE TABLE *TMSD*.
  6417. *
  6418. * ENTRY (A) = EQUIPMENT TYPE (DEVICE MNEMONIC).
  6419. *
  6420. * EXIT (A) = (MS) = *TMSD* TABLE ADDRESS.
  6421. * = 0 IF ENTRY NOT FOUND.
  6422. *
  6423. * USES MS.
  6424.  
  6425.  
  6426. SMD1 LDN TMSDL ADVANCE TABLE ADDRESS
  6427. RAD MS
  6428. SMD2 LDI MS CHECK ENTRY
  6429. ZJN SMDX IF END OF TABLE
  6430. LMD T0 COMPARE DEVICE TYPE
  6431. LPC 3777
  6432. NJN SMD1 IF NO MATCH
  6433. LDD MS
  6434.  
  6435. SMD SUBR ENTRY/EXIT
  6436. STD T0
  6437. LDC TMSD SET TABLE ADDRESS
  6438. STD MS
  6439. UJN SMD2 ENTER LOOP
  6440. VKW SPACE 4,10
  6441. ** VKW - VALIDATE KEYWORD.
  6442. *
  6443. * ENTRY (TA) = *TVRK* ENTRY ADDRESS.
  6444. * (T3) = *TKWP* ENTRY ADDRESS.
  6445. * (KA) = CHARACTER ADDRESS OF KEYWORD VALUE.
  6446. *
  6447. * EXIT (A) = (AB+4) = 0, IF NULL VALUE SPECIFIED.
  6448. * TO *ILL* IF INCORRECT KEYWORD OR NULL VALUE SPECIFIED
  6449. * AND NULL VALUE NOT ALLOWED.
  6450. *
  6451. * USES T5, T6, T7, AB+4.
  6452. *
  6453. * CALLS CSC.
  6454.  
  6455.  
  6456. VKW SUBR ENTRY/EXIT
  6457. LDM 1,T3 GET KEYWORD BIT POSITION
  6458. SHN 14
  6459. LMD TH
  6460. ERRNZ 1000-SHNI ADJUST IF VALUE CHANGES
  6461. STM VKWA
  6462. SHN -14 GET KEYWORD WORD OFFSET
  6463. STD T6
  6464. ADD TA ADDRESS OF *TVRK* WORD
  6465. STD T5
  6466. LDN 1 GENERATE KEYWORD BIT MASK
  6467. VKWA SHN **
  6468. STD T7
  6469. STM VKWB
  6470. STM VKWC
  6471. LDI T5 CHECK IF KEYWORD ALLOWED
  6472. LPC 0
  6473. VKWB EQU *-1
  6474. NJN VKW2 IF KEYWORD IS ALLOWED
  6475. VKW1 JMP ILL PROCESS INCORRECT ENTRY
  6476.  
  6477. VKW2 LDC TRQP SET KEYWORD SPECIFIED BIT
  6478. RAD T6
  6479. LDI T6
  6480. LPC 0
  6481. VKWC EQU *-1
  6482. NJN VKW1 IF KEYWORD ALREADY PROCESSED
  6483. LDD T7
  6484. RAI T6
  6485. RJM CSC CHECK FOR NULL VALUE
  6486. NJN VKW3 IF NOT NULL VALUE
  6487. LDM 2,T3 CHECK *TKWP*
  6488. SHN 21-5
  6489. PJN VKW1 IF NULL VALUE NOT ALLOWED
  6490. LDN 0 CLEAR VALUE
  6491. STD AB+4
  6492. VKW3 LJM VKWX RETURN
  6493. STV SPACE 4,10
  6494. ** STV - STORE KEYWORD VALUE.
  6495. *
  6496. * ENTRY (AB+4) = KEYWORD VALUE.
  6497. * (T3) = ADDRESS OF KEYWORD PARAMETERS.
  6498. * (CN - CN+4) = *EQDE* EST WORD.
  6499. * (EBUT+5 - EBUT+11) = *EQAE* EST WORD.
  6500. *
  6501. * EXIT KEYWORD VALUE STORED IN EST ENTRY.
  6502.  
  6503.  
  6504. STV SUBR ENTRY/EXIT
  6505. LDM 2,T3
  6506. SHN 14 SET SHIFT COUNT
  6507. LMD TH
  6508. ERRNZ 1000-SHNI ADJUST IF VALUE CHANGES
  6509. STM STVB
  6510. SHN -14 SET EST ENTRY LOCATION
  6511. LPN 37
  6512. STD T0
  6513. SBN 5
  6514. MJN STV1 IF IN *EQDE* WORD
  6515. LDC EBUT
  6516. UJN STV2 PROCESS DATA
  6517.  
  6518. STV1 LDN CN
  6519. STV2 ADD T0
  6520. STD T7
  6521. LDM 3,T3 SET MASK
  6522. STM STVA
  6523. LDI T7 UPDATE EST ENTRY
  6524. LPC **
  6525. STVA EQU *-1
  6526. STI T7
  6527. LDD AB+4
  6528. STVB SHN ** POSITION KEYWORD VALUE
  6529. RAI T7 STORE KEYWORD VALUE
  6530. UJN STVX RETURN
  6531. TITLE KEYWORD PROCESSORS.
  6532. AOK SPACE 4,10
  6533. ** AOK - ASSEMBLE OCTAL KEYWORD VALUE.
  6534. *
  6535. * ENTRY (A) = 6/MINIMUM VALUE, 12/MAXIMUM VALUE+1
  6536. *
  6537. * EXIT TO *KWP5*, KEYWORD VALUE STORED.
  6538. * TO *ILL* IF INCORRECT VALUE.
  6539. *
  6540. * USES T6, T7.
  6541. *
  6542. * CALLS CDR, STV.
  6543.  
  6544.  
  6545. AOK BSS 0
  6546. STD T7 SAVE MAXIMUM VALUE+1
  6547. SHN -14
  6548. STD T6 SAVE MINIMUM VALUE
  6549. RJM CDR ASSEMBLE KEYWORD VALUE
  6550. LDD AB+4
  6551. SBD T6
  6552. PJN AOK2 IF VALUE .GE. MINIMUM
  6553. AOK1 JMP ILL PROCESS INCORRECT ENTRY
  6554.  
  6555. AOK2 LDD AB+4
  6556. SBD T7
  6557. PJN AOK1 IF VALUE .GT. MAXIMUM
  6558. RJM STV STORE VALUE
  6559. JMP KWP5 RETURN
  6560. PAP SPACE 4,10
  6561. *** AP=N.
  6562. *
  6563. * APRDECK NUMBER.
  6564. * N = 0-77B.
  6565.  
  6566.  
  6567. PAP DATA H*AP*
  6568. ZJN PAP1 IF NULL VALUE
  6569. RJM CDR ASSEMBLE APRDECK NUMBER
  6570. LDD AB+4
  6571. SHN -6
  6572. ZJN PAP1 IF .LE. 77B
  6573. JMP ILL PROCESS INCORRECT ENTRY
  6574.  
  6575. PAP1 LDD AB+4 SET APRDECK NUMBER
  6576. STM TDDB+DVAP
  6577. JMP KWP5 RETURN
  6578. PCC SPACE 4,10
  6579. *** CH=C1N/C2N.
  6580. *
  6581. * CONCURRENT CHANNEL + PORT NUMBER.
  6582. * C1 = PRIMARY CHANNEL.
  6583. * C2 = SECONDARY CHANNEL.
  6584. * N = A FOR PORT A.
  6585. * = B FOR PORT B.
  6586.  
  6587.  
  6588. PCC DATA H*CH*
  6589. LDN 0 PRESET PORT A DEFINITIONS
  6590. STD CN+1
  6591. STD CN+2
  6592. LDN CN+1 PRESET CHANNEL INDEX
  6593. STD T4
  6594. PCC1 RJM CDR ASSEMBLE CHANNEL NUMBER
  6595. LMN 1RA
  6596. ZJN PCC2 IF PORT A SPECIFIED
  6597. LMN 1RB&1RA
  6598. NJN PCC3 IF NOT PORT B (DEFAULT TO A)
  6599. LDC 200 SET PORT B INDICATOR
  6600. STI T4
  6601. PCC2 AOD KA ADVANCE CHARACTER ADDRESS
  6602. PCC3 LDN 40 MARK CHANNEL CONCURRENT
  6603. RAD AB+4
  6604. LMC 4000 MARK CHANNEL ACCESSIBLE
  6605. RAI T4 SET CHANNEL ENTRY
  6606. LPN 37
  6607. SBM .CCHN
  6608. MJN PCC5 IF VALID CHANNEL NUMBER
  6609. PCC4 JMP ILL PROCESS INCORRECT ENTRY
  6610.  
  6611. PCC5 LDM TCST,AB+4
  6612. ZJN PCC6 IF CHANNEL IS NOT DOWN
  6613. LDC 3000 MARK CHANNEL DOWN
  6614. RAI T4
  6615. PCC6 RJM CSC CHECK SEPARATOR CHARACTER
  6616. NJN PCC7 IF NOT VALID KEYWORD SEPARATOR
  6617. LDD CN+1 PRIMARY CHANNEL
  6618. LMD CN+2 SECONDARY CHANNEL
  6619. LPN 77
  6620. ZJN PCC4 IF DUPLICATE CHANNELS
  6621. JMP KWP5 RETURN
  6622.  
  6623. PCC7 LMN 1R/&1R,
  6624. NJN PCC4 IF NO OTHER CHANNEL
  6625. AOD KA
  6626. AOD T4
  6627. LMN CN+3
  6628. ZJN PCC4 IF MORE THAN TWO CHANNELS SPECIFIED
  6629. LJM PCC1 PROCESS SECOND CHANNEL
  6630. PCH SPACE 4,10
  6631. *** CH=C1/C2.
  6632. *
  6633. * CHANNEL NUMBER.
  6634. * CN = 2, 4 OR 6, IF EQUIPMENT TYPE IS *DV* OR *DW*.
  6635. * CN = 0-13B, 20-33B, FOR ALL OTHER EQUIPMENT TYPES.
  6636. * CN = C0-C11B FOR CONCURRENT CHANNELS 0-11B.
  6637.  
  6638.  
  6639. PCH DATA H*CH*
  6640. LDN CN+1 SET CHANNEL BYTE ADDRESS
  6641. STD T4
  6642. LDN CN+1+2 SET MAXIMUM NUMBER OF CHANNELS ALLOWED
  6643. STD T3
  6644. LDN 0 CLEAR CHANNEL BUFFER
  6645. STD CN+1
  6646. STD CN+2
  6647. LDD CN+3
  6648. LMC 2RRM
  6649. NJN PCH3 IF NOT TYPE *RM*
  6650. RJM CDR
  6651. LDD AB+4
  6652. SBN 15
  6653. NJN PCH6 IF INCORRECT CHANNEL NUMBER
  6654. LDC 4000+CHMX
  6655. LJM PCH9 SET CHANNEL DATA
  6656.  
  6657. PCH3 LMC 2RDV&2RRM
  6658. ZJN PCH4 IF TYPE *DV*
  6659. LMN 1RW&1RV
  6660. ZJN PCH4 IF TYPE *DW*
  6661. LDC LDNI SET FIRST CHANNEL
  6662. STM VCNA
  6663. UJN PCH7 ASSEMBLE FIRST CHANNEL NUMBER
  6664.  
  6665. PCH4 LDC VCP
  6666. STM PCHA
  6667. PCH5 LDD T4
  6668. SBD T3
  6669. MJN PCH7 IF MORE CHANNELS ALLOWED
  6670. PCH6 JMP ILL PROCESS INCORRECT ENTRY
  6671.  
  6672. PCH7 LDC 4000 SET CHANNEL ACCESSIBLE
  6673. STI T4
  6674. LDI KA CHECK SEPARATOR
  6675. SBN 1R8
  6676. PJN PCH6 IF NULL CHANNEL PARAMETER
  6677. ADN 1R8-1RC
  6678. NJN PCH8 IF NOT A CONCURRENT CHANNEL
  6679. LDN 40
  6680. RAI T4 SET CONCURRENCY ATTRIBUTE
  6681. AOD KA
  6682. PCH8 RJM CDR ASSEMBLE CHANNEL NUMBER
  6683. RJM VCN VALIDATE CHANNEL NUMBER
  6684. * RJM VCP (VALIDATE CHANNEL PAIR)
  6685. PCHA EQU *-1
  6686. LDD AB+4 APPEND CHANNEL NUMBER
  6687. PCH9 RAI T4
  6688. LPN 77 CHECK CHANNEL DATA
  6689. STD AB+4
  6690. SBN 40
  6691. MJN PCH11 IF NOT A CONCURRENT CHANNEL
  6692. SBM .CCHN
  6693. MJN PCH11 IF VALID CHANNEL NUMBER
  6694. PCH10 JMP ILL PROCESS INCORRECT ENTRY
  6695.  
  6696. PCH11 LDM TCST,AB+4
  6697. ZJN PCH12 IF CHANNEL IS NOT DOWN
  6698. LDC 3000 MARK CHANNEL DOWN
  6699. RAI T4
  6700. PCH12 RJM CSC CHECK SEPARATOR CHARACTER
  6701. NJN PCH13 IF INVALID KEYWORD SEPARATOR
  6702. JMP KWP5 RETURN
  6703.  
  6704. PCH13 LMN 1R/&1R,
  6705. NJN PCH10 IF INVALID SEPARATOR
  6706. AOD T4
  6707. AOD KA
  6708. LJM PCH5 PROCESS NEXT CHANNEL
  6709. PEQ SPACE 4,10
  6710. *** EQ=N.
  6711. *
  6712. * EQUIPMENT (CONTROLLER) NUMBER.
  6713. * N = 0-7.
  6714.  
  6715.  
  6716. PEQ DATA H*EQ*
  6717. LDN 10 SET MAXIMUM VALUE + 1
  6718. JMP AOK ASSEMBLE KEYWORD VALUE
  6719. PET SPACE 4,20
  6720. *** ET=MT.
  6721. * ET=MT/PT. (*DP* TYPE EQUIPMENT ONLY).
  6722. * ET=MT/PT/CT. (*DP* TYPE EQUIPMENT ONLY).
  6723. *
  6724. * EXTENDED MEMORY TYPE (DEFAULT = E1,D1).
  6725. * MT = MEMORY TYPE.
  6726. * E1 - ECS 1.
  6727. * E2 - ECS 2.
  6728. * LE - LCME.
  6729. * EM - UEM.
  6730. * ES - ESM.
  6731. * SN - STORNET.
  6732. * PT = PATH TYPE.
  6733. * D1 - DC135 DDP (DEFAULT FOR MT = E1/E2).
  6734. * D2 - DC145 PARITY ENHANCED DDP OR ESM LOW SPEED PORT.
  6735. * (DEFAULT FOR MT = ES OR SN).
  6736. * CT = CPU TYPE.
  6737. * NC - NO CPU COUPLER.
  6738. * (DEFAULT FOR MT = SN).
  6739.  
  6740.  
  6741. PET DATA H*ET*
  6742. LDN CFGL GET HARDWARE MODE
  6743. CRD CM
  6744. LDD CM+3
  6745. SHN 4-12
  6746. LPN 20
  6747. ADC 4511 4531 = EXTENDED, 4511 = ECS ADDRESSING
  6748. STM TMTO+ESMP+2
  6749. LDC TMTOL*10000+TMTO CHECK MEMORY TYPE
  6750. RJM CET
  6751. RJM CSC CHECK SEPARATOR CHARACTER
  6752. ZJN PET3 IF NO PATH TYPE/CPU TYPE SPECIFIED
  6753. LMN 1R/&1R,
  6754. ZJN PET2 IF CORRECT SEPARATOR
  6755. PET1 JMP ILL PROCESS INCORRECT ENTRY
  6756.  
  6757. PET2 LDD CN+3
  6758. LMC 2RDP
  6759. NJN PET1 IF NOT TYPE *DP*
  6760. AOD KA
  6761. LDI KA
  6762. LMN 1R/
  6763. ZJN PET4 IF NULL PATH TYPE
  6764. LDC TPTOL*10000+TPTO CHECK PATH TYPE
  6765. RJM CET
  6766. RJM CSC CHECK SEPARATOR CHARACTER
  6767. PET3 ZJN PET5 IF NO CPU TYPE
  6768. LMN 1R/&1R,
  6769. NJN PET1 IF NOT CORRECT SEPARATOR
  6770. PET4 AOD KA
  6771. LDC TCTOL*10000+TCTO CHECK CPU TYPE
  6772. RJM CET
  6773. PET5 JMP KWP5 RETURN
  6774. SPACE 4,10
  6775. ** EXTENDED MEMORY TYPE OPTION TABLES.
  6776. *
  6777. * ENTRY = 3 WORDS
  6778. *T, 12/ OP,12/ MASK,1/D,2/ R,3/ MT,3/ CT,3/ PT
  6779. *
  6780. * OP = MNEMONIC.
  6781. * MASK = *DILL* BYTE 3 MASK.
  6782. * R = RESERVED.
  6783. * D = DEVICE SUPPORTS DIRECT TRANSFER.
  6784. * MT = MEMORY TYPE.
  6785. * 0 = RESERVED.
  6786. * 1 = E1 (ECS 1).
  6787. * 2 = E2 (ECS 2).
  6788. * 3 = LE (LCME).
  6789. * 4 = EM (UEM).
  6790. * 5 = ES (ESM).
  6791. * 6 = SN (STORNET).
  6792. * 7 = RESERVED.
  6793. *
  6794. * CT = CPU TYPE
  6795. * 0 = NO CPU PATH.
  6796. * 1 = ECS MODE.
  6797. * 2 = LCME.
  6798. * 3 = ESM MODE.
  6799. * 4 = UEM CPU INTERFACE.
  6800. * 5 - 7 = RESERVED.
  6801. *
  6802. * PT = PP PATH TYPE.
  6803. * 0 = NO DDP.
  6804. * 1 = DC145 PARITY ENHANCED DDP
  6805. * OR ESM LOW SPEED PORT.
  6806. * 2 = DC135 DDP.
  6807. * 3-7 = RESERVED
  6808.  
  6809.  
  6810. TMTO BSS 0 TABLE OF MEMORY TYPE OPTIONS
  6811. CON 2RE1,0,4112 ECS 1, DC135 DDP
  6812. CON 2RE2,0,4212 ECS 2, DC135 DDP
  6813. CON 2RLE,0,4320 LCME
  6814. CON 2REM,0,4440 UEM
  6815. ESMP EQU *-TMTO POINTER FOR ESM ENTRY
  6816. CON 2RES,0,4511 ESM, LSP
  6817. CON 2RSN,0,0601 STORNET
  6818. TMTOL EQU *-TMTO
  6819.  
  6820. TPTO BSS 0 TABLE OF PATH TYPE OPTIONS
  6821. CON 2RD1,-7,2 DC135 DDP
  6822. CON 2RD2,-7,1 DC145 PARITY ENHANCED DDP
  6823. TPTOL EQU *-TPTO
  6824.  
  6825. TCTO BSS 0 TABLE OF CPU TYPE OPTIONS
  6826. CON 2RNC,-4077,1 NO CPU COUPLER
  6827. TCTOL EQU *-TCTO
  6828. PIB SPACE 4,10
  6829. *** IB=N.
  6830. *
  6831. * INSTALLATION BYTE.
  6832. * N = 0B - 7777B.
  6833.  
  6834.  
  6835. PIB DATA H*IB*
  6836. RJM AOD ASSEMBLE INSTALLATION BYTE VALUE
  6837. STM EBUT+5
  6838. JMP KWP5 RETURN
  6839. PMA SPACE 4,10
  6840. *** MA=STATUS.
  6841. *
  6842. * EXTENDED MEMORY MAINTENANCE MODE.
  6843. * STATUS = *ON* OR *OFF*.
  6844.  
  6845.  
  6846. PMA DATA H*MA*
  6847. RJM AST ASSEMBLE MAINTENANCE MODE STATUS
  6848. SHN 21-0
  6849. PJN PMA1 IF *ON* OR *OFF*
  6850. JMP ILL PROCESS INCORRECT ENTRY
  6851.  
  6852. PMA1 LDM TDDB+DVED SET STATUS
  6853. SHN 23-11
  6854. SCN 2
  6855. LMD AB+4
  6856. LMN 2
  6857. SHN 11-1
  6858. STM TDDB+DVED
  6859. JMP KWP5 RETURN
  6860. PMC SPACE 4,10
  6861. *** MC=N.
  6862. *
  6863. * ESM SIDE DOOR PORT CHANNEL NUMBER.
  6864. * N = 0-13B, 20B-33B.
  6865.  
  6866.  
  6867. PMC DATA H*MC*
  6868. RJM CDR ASSEMBLE CHANNEL NUMBER
  6869. LDC LDNI SET FIRST CHANNEL
  6870. STM VCNA
  6871. RJM VCN VALIDATE CHANNEL NUMBER
  6872. RJM STV STORE VALUE
  6873. JMP KWP5 RETURN
  6874. PPN SPACE 4,10
  6875. *** PN=N.
  6876. *
  6877. * PARTITION NUMBER.
  6878. * PN = 1-17B
  6879.  
  6880. PPN DATA H*PN*
  6881. RJM AOD ASSEMBLE PARTITION NUMBER
  6882. LDM MSSL,MS
  6883. LPN 17B
  6884. ADN 1
  6885. SBD AB+4
  6886. SBM PEIB CHECK NUMBER OF PARTITIONS
  6887. MJN PPN1 IF PARTITION OUT OF RANGE
  6888. LDD AB+4 SAVE FIRST PARTITION NUMBER
  6889. STM PEIC
  6890. AOM PEIA INDICATE *PN* PARAMETER PROCESSED.
  6891. JMP KWP5 RETURN
  6892.  
  6893. PPN1 JMP ILL PROCESS INCORRECT ENTRY
  6894. PST SPACE 4,10
  6895. *** ST=STATUS.
  6896. *
  6897. * DEVICE STATUS.
  6898. * STATUS = *ON* OR *IDLE* OR *OFF* OR *DOWN*.
  6899. *
  6900. * *ON* OR *IDLE* = EQUIPMENT AVAILABLE FOR ACCESS.
  6901. * *OFF* OR *DOWN* = EQUIPMENT UNAVAILABLE FOR ACCESS.
  6902. *
  6903. * *OFF* OR *DOWN* IS NOT VALID FOR AN EQUIPMENT WHICH IS
  6904. * DEFINED AS A SYSTEM, FAMILY, OR CHECKPOINT DEVICE.
  6905.  
  6906.  
  6907. PST DATA H*ST*
  6908. RJM AST ASSEMBLE STATUS
  6909. ZJN PST3 IF *ON*
  6910. LPN 2
  6911. NJN PST2 IF *OFF* OR *DOWN*
  6912. UJN PST3 PROCESS *IDLE*
  6913.  
  6914. PST1 JMP ILL PROCESS INCORRECT ENTRY
  6915.  
  6916. PST2 LDD CN
  6917. SHN 21-12
  6918. MJN PST1 IF SYSTEM DEVICE
  6919. LDM .PFNL+3
  6920. SBD EQ
  6921. ZJN PST1 IF FAMILY EQUIPMENT
  6922. LDM TDDB+DVPR
  6923. LPN 2
  6924. NJN PST1 IF CHECKPOINT DEVICE
  6925. PST3 RJM STV STORE VALUE
  6926. JMP KWP5 RETURN
  6927. PSZ SPACE 4,10
  6928. *** SZ=N.
  6929. *
  6930. * SIZE OF EXTENDED MEMORY.
  6931. * N = VALUE (ECS 1 AVAILABLE) (ECS 2, ESM, OR LCME AVAILABLE)
  6932. * 400B (125K) (131K)
  6933. * 1000B (250K) (262K)
  6934. * 2000B (500K) (524K)
  6935. * 4000B (1000K) (1048K)
  6936. * 10000B (2000K) (2096K)
  6937. *
  6938. * N = 10B (4K) THROUGH 10000B-MINCM (2000K-MINCM) FOR UEM.
  6939. *
  6940. * FOR UEM, ECS 2, LCM AND ESM, SZ MAY BE ANY VALUE BETWEEN AND
  6941. * INCLUDING 10B (4K WORDS) AND 10000B (2M WORDS). THE SUM OF
  6942. * UEM SIZE + NVE SIZE + MINCM SIZE (65K USED IF NOT SPECIFIED)
  6943. * MUST BE .LE. THE PHYSICAL MAIN MEMORY SIZE RETURNED BY *CTI*.
  6944. *
  6945. * FOR UEM AND ESM, *SZ* MAY BE UP TO 100000B (16M WORDS).
  6946.  
  6947.  
  6948. PSZ DATA H*SZ*
  6949. RJM AOD ASSEMBLE SIZE
  6950. STM TDDB+DVES+1
  6951. LDD AB+3
  6952. STM TDDB+DVES
  6953. SCN 17
  6954. NJN PSZ1 IF TOO MANY DIGITS
  6955. LDM EBUT+7
  6956. LPC 300
  6957. STD T1 SAVE PREVIOUS XM SHIFT
  6958. LDD AB+3
  6959. SHN 14
  6960. LMD AB+4
  6961. SBN 10
  6962. PJN PSZ2 IF .GE. 10K
  6963. PSZ1 JMP ILL PROCESS INCORRECT ENTRY
  6964.  
  6965. PSZ2 ADN 10-1
  6966. SHN -14
  6967. ZJN PSZ5 IF .LE. 2M WORDS
  6968. SHN -1
  6969. ZJN PSZ4 IF .LE. 4M WORDS
  6970. SHN -1
  6971. ZJN PSZ3 IF .LE. 8M WORDS
  6972. SHN -1
  6973. NJN PSZ1 IF .GT. 16M WORDS
  6974. LDN 1
  6975. PSZ3 ADN 1
  6976. PSZ4 ADN 1
  6977. PSZ5 SHN 6
  6978. SBD T1
  6979. MJN PSZ6 IF PREVIOUS SHIFT OKAY
  6980. RAM EBUT+7
  6981. PSZ6 JMP KWP5 RETURN
  6982. PTS SPACE 4,10
  6983. *** TS=N.
  6984. *
  6985. * TRACK SIZE FOR EXTENDED MEMORY.
  6986. * N = VALUE (TRACK SIZE IN SECTORS)
  6987. * 20 (20B)
  6988. * 40 (40B)
  6989. * 100 (100B)
  6990. * 200 (200B)
  6991. *
  6992. * EXTENDED MEMORY MAY BE ALLOCATED IN TRACKS OF 20B, 40B, 100B
  6993. * AND 200B SECTORS, ALLOWING THE SIZE OF EXTENDED MEMORY TO
  6994. * EXCEED THE PREVIOUS 2M WORD LIMIT AND EXTEND TO 16MW.
  6995.  
  6996.  
  6997. PTS DATA H*TS*
  6998. LDM EBUT+7 SAVE PREVIOUS XM SHIFT
  6999. LPC 300
  7000. STD T3
  7001. RJM AOD ASSEMBLE TRACK SIZE
  7002. SBN 20
  7003. ZJN PTS3 IF 20B
  7004. SBN 40-20
  7005. ZJN PTS2 IF 40B
  7006. SBN 100-40
  7007. ZJN PTS1 IF 100B
  7008. SBD HN
  7009. NJN PTS4 IF NOT 200B
  7010. LDN 1
  7011. PTS1 ADN 1
  7012. PTS2 ADN 1
  7013. SHN 6
  7014. SBD T3
  7015. MJN PTS3 IF PREVIOUS SHIFT OKAY
  7016. RAM EBUT+7
  7017. PTS3 JMP KWP5 RETURN
  7018.  
  7019. PTS4 JMP ILL PROCESS INCORRECT ENTRY
  7020. PUN SPACE 4,10
  7021. *** UN=U1.
  7022. * UN=U1/.../UN.
  7023. * UN=U1-UN. (HORIZONTALLY CONTIGUOUS UNITS)
  7024. *
  7025. * UNIT NUMBER.
  7026. * UN = 0-77B (MAXIMUM UNIT NUMBER AND NUMBER OF UNITS
  7027. * ALLOWED ARE DEVICE TYPE DEPENDENT.)
  7028.  
  7029. PUN DATA H*UN*
  7030. LDI KA
  7031. SBN 1R8
  7032. PJN PUN1 IF NULL UNIT PARAMETER
  7033. RJM CDR ASSEMBLE UNIT NUMBER
  7034. RJM CSC
  7035. ZJN PUN3 IF SINGLE UNIT SPECIFIED
  7036. LMN 1R/&1R,
  7037. ZJN PUN3 IF MULTIPLE UNITS SPECIFIED
  7038. LMN 1R-&1R/
  7039. NJN PUN1 IF INCORRECT SEPARATOR
  7040. LDD AB+4 SAVE FIRST UNIT NUMBER
  7041. STD T6
  7042. AOD KA
  7043. RJM CDR ASSEMBLE LAST UNIT NUMBER
  7044. RJM CSC
  7045. ZJN PUN2 IF NOT INCORRECT SEPARATOR
  7046. PUN1 JMP ILL PROCESS INCORRECT ENTRY
  7047.  
  7048. PUN2 LDD AB+4 SET LAST UNIT NUMBER
  7049. RAM SUNA
  7050. LDD T6
  7051. SBD AB+4
  7052. PJN PUN1 IF INCORRECT RANGE
  7053. RAD AB+4 RESET FIRST UNIT NUMBER
  7054. PUN3 LDM MSUL,MS SET UP MAXIMUM UNIT NUMBER
  7055. LPN 77
  7056. RAM SUNC
  7057. LDC DVUNL*10000B+TDDB+DVUN DESCRIPTOR TABLE WORD/COUNT
  7058. RJM SUL SET UNIT LIST
  7059. LDM MSUL,MS CHECK UNIT COUNT
  7060. SHN -6
  7061. LPN 7
  7062. SBD T6
  7063. MJN PUN1 IF INCORRECT UNIT COUNT
  7064. LDD T6 SAVE UNIT COUNT-1
  7065. STD CN+4
  7066. LDM MSNT,MS
  7067. SHN 0-13
  7068. ZJN PUN4 IF NOT *LDAM* TYPE DEVICE
  7069. LDD CN SET *LDAM* STATUS IN EST
  7070. LPC 7577
  7071. ADC 200
  7072. STD CN
  7073. PUN4 JMP KWP5 RETURN
  7074. TITLE MISCELLANEOUS KEYWORD SUBROUTINES.
  7075. AODSUB
  7076. AST SPACE 4,15
  7077. ** AST - ASSEMBLE STATUS.
  7078. *
  7079. * EXIT (A) = (AB+4) = STATUS.
  7080. * 0 = ON.
  7081. * 1 = IDLE.
  7082. * 2 = OFF.
  7083. * 3 = DOWN.
  7084. *
  7085. * USES KB, ST.
  7086. *
  7087. * CALLS AKL7.
  7088.  
  7089.  
  7090. AST1 DATA C*DOWN*
  7091. LDN 3
  7092. UJN AST5 SET *DOWN* STATUS
  7093.  
  7094. AST2 DATA C*OFF*
  7095. LDN 2
  7096. UJN AST5 SET *OFF* STATUS
  7097.  
  7098. AST3 DATA C*IDLE*
  7099. LDN 1
  7100. UJN AST5 SET *IDLE* STATUS
  7101.  
  7102. AST4 DATA C*ON*
  7103. LDN 0
  7104. AST5 STD AB+4 SET STATUS
  7105.  
  7106. AST SUBR ENTRY/EXIT
  7107. LDC ASTA-1
  7108. STD ST SET SYNTAX TABLE ADDRESS
  7109. LDD KA
  7110. STD KB
  7111. LJM AKL7 ASSEMBLE STATUS
  7112.  
  7113.  
  7114. ASTA CON AST4
  7115. CON AST2
  7116. CON AST1
  7117. CON AST3
  7118. CON 0 END OF STATUS SYNTAX TABLE
  7119. CDRSUB
  7120. CET SPACE 4,10
  7121. ** CET - CHECK EXTENDED MEMORY TYPE.
  7122. *
  7123. * ENTRY (A) = 6/TL,12/TA.
  7124. * TL = TABLE LENGTH.
  7125. * TA = FWA OF TABLE.
  7126. *
  7127. * EXIT OPTION MERGED INTO *DILL* BYTE 3.
  7128. * TO *ILL* IF ERROR.
  7129. * (KA) ADVANCED.
  7130. *
  7131. * USES AB, T1, T7.
  7132.  
  7133.  
  7134. CET SUBR ENTRY/EXIT
  7135. STD T7
  7136. SHN -14
  7137. ADD T7 SET LWA+1 OF TABLE
  7138. STD T1
  7139. LDI KA ASSEMBLE NAME
  7140. SHN 6
  7141. LMM 1,KA
  7142. STD AB
  7143. LDN 2 ADVANCE CHARACTER ADDRESS
  7144. RAD KA
  7145. CET1 LCN 3 SEARCH OPTION TABLE
  7146. RAD T1
  7147. SBD T7
  7148. PJN CET3 IF MORE OPTIONS
  7149. CET2 JMP ILL PROCESS INCORRECT ENTRY
  7150.  
  7151. CET3 LDI T1
  7152. LMD AB
  7153. NJN CET1 IF OPTION NOT FOUND
  7154. LDM 2,T1 CHECK MAINFRAME REQUIREMENTS
  7155. SHN -6
  7156. LPN 7
  7157. SBN 3
  7158. MJN CET6 IF ECS OR PATH TYPE/CPU TYPE OPTION
  7159. ZJN CET4 IF LCME
  7160. SBN 4-3
  7161. NJN CET6 IF NOT UEM
  7162. LDD CN+3
  7163. LMC 2RDE
  7164. NJN CET2 IF UEM AND NOT TYPE *DE*
  7165. LDD HO
  7166. SHN 21-13
  7167. PJN CET6 IF CM EXTENSION ON MAINFRAME
  7168. UJN CET2 PROCESS INCORRECT ENTRY
  7169.  
  7170. CET4 LDD HO
  7171. SHN 21-11
  7172. PJN CET2 IF NOT CYBER 176
  7173. CET6 LDM 1,T1 SET MASK
  7174. STM CETA
  7175. LDM TDDB+DVED MERGE NEW OPTION INTO *DILL* BYTE 3
  7176. LPC **
  7177. CETA EQU *-1
  7178. LMM 2,T1
  7179. STM TDDB+DVED
  7180. LJM CETX RETURN
  7181. CSC SPACE 4,10
  7182. ** CSC - CHECK SEPARATOR CHARACTER.
  7183. *
  7184. * ENTRY (KA) = ADDRESS OF SEPARATOR CHARACTER
  7185. *
  7186. * EXIT (A) = 0 IF SEPARATOR CHARACTER IS *,* OR *.*.
  7187.  
  7188.  
  7189. CSC SUBR ENTRY/EXIT
  7190. LDI KA
  7191. LMN 1R.
  7192. ZJN CSCX IF *.*
  7193. LMN 1R,&1R.
  7194. UJN CSCX RETURN
  7195. SUL SPACE 4,10
  7196. ** SUL - SET UNIT LIST.
  7197. *
  7198. * ENTRY (A) = 6/LIST WORD COUNT, 12/ LIST WORD ADDRESS.
  7199. * (AB+4) = FIRST UNIT NUMBER.
  7200. *
  7201. * EXIT (T6) = UNIT COUNT - 1.
  7202. * UNIT LIST SET IN SPECIFIED ADDRESS.
  7203. *
  7204. * USES T0, T5, T6.
  7205. *
  7206. * CALLS SUN.
  7207.  
  7208.  
  7209. SUL SUBR ENTRY/EXIT
  7210. STM SULA FWA OF LIST
  7211. STD T5
  7212. SHN -14 NUMBER OF WORDS
  7213. RAD T5 LWA+1 OF LIST
  7214. LDN 0 INITIALIZE UNIT COUNT
  7215. STD T6
  7216. SUL1 SOD T5
  7217. SBM SULA
  7218. MJP ILL IF TOO MANY ENTRIES FOR LIST
  7219. LDD AB+4
  7220. STI T5 SET LOWER UNIT
  7221. RJM SUN GET NEXT UNIT
  7222. MJN SUL2 IF END OF LIST
  7223. SHN 6 SET UPPER ENTRY
  7224. RAI T5
  7225. RJM SUN GET NEXT UNIT
  7226. PJN SUL1 IF NOT END OF LIST
  7227. SUL2 SOD T5
  7228. SBM SULA
  7229. MJN SULX IF ALL DONE WITH LIST
  7230. LDN 0 CLEAR EMPTY LIST ENTRIES
  7231. STI T5
  7232. UJN SUL2 CHECK IF DONE
  7233.  
  7234.  
  7235. SULA BSS 1 TABLE ADDRESS STORAGE
  7236. SUN SPACE 4,20
  7237. ** SUN - SET UNIT NUMBER.
  7238. *
  7239. * ENTRY (MS) = *TMSD* ADDRESS.
  7240. * (AB+4) = CURRENT UNIT NUMBER.
  7241. *
  7242. * EXIT (A) = (AB+4) = NEXT UNIT NUMBER.
  7243. * = -1 IF END OF UNITS.
  7244. * (T6) = (T6) + 1 IF NEXT UNIT FOUND.
  7245. * TO *ILL* IF ERROR.
  7246. *
  7247. * USES AB+4, KA, T6.
  7248. *
  7249. * CALLS CDR, CSC.
  7250.  
  7251.  
  7252. SUN3 SBD AB+4
  7253. ZJN SUN4 IF END OF ENTRIES
  7254. AOD T6
  7255. AOD AB+4
  7256. ADN 1
  7257. SUN4 SBN 1
  7258.  
  7259. SUN SUBR ENTRY/EXIT
  7260. LDD AB+4
  7261. SUNB LPN 0
  7262. NJN SUN1 IF NUMBER OUT OF RANGE
  7263. SUNC LDN 0 MAXIMUM VALUE
  7264. SBD AB+4
  7265. MJN SUN1 IF NUMBER .GT. LIMIT
  7266. SUNA LDN 0
  7267. NJN SUN3 IF RANGE OF ENTRIES
  7268. RJM CSC
  7269. ZJN SUN4 IF END OF ENTRIES
  7270. LMN 1R/&1R,
  7271. ZJN SUN2 IF MORE ENTRIES
  7272. SUN1 JMP ILL PROCESS INCORRECT ENTRY
  7273.  
  7274. SUN2 AOD KA
  7275. LDI KA
  7276. SBN 1R8
  7277. PJN SUN1 IF NULL ENTRY
  7278. RJM CDR ASSEMBLE NEXT ENTRY
  7279. AOD T6
  7280. LDD AB+4
  7281. UJN SUNX RETURN
  7282. VCP SPACE 4,10
  7283. ** VCP - VALIDATE CHANNEL PAIR.
  7284. *
  7285. * ENTRY (AB+4) = CHANNEL PAIR NUMBER.
  7286. *
  7287. * EXIT TO *ILL* IF INCORRECT CHANNEL NUMBER.
  7288. *
  7289. * USES T1.
  7290.  
  7291.  
  7292. VCP2 LDD T1
  7293. SHN 1
  7294. SBD AB+4
  7295. NJN VCP1 IF NOT VALID CHANNEL PAIR NUMBER
  7296.  
  7297. VCP SUBR ENTRY/EXIT
  7298. LDN 4
  7299. STD T1
  7300. VCP1 SOD T1
  7301. NJN VCP2 IF MORE VALID CHANNEL PAIRS
  7302. JMP ILL PROCESS INCORRECT ENTRY
  7303. VCN SPACE 4,10
  7304. ** VCN - VALIDATE CHANNEL NUMBER.
  7305. *
  7306. * ENTRY (AB+4) = CHANNEL NUMBER.
  7307. *
  7308. * EXIT TO *ILL* IF INCORRECT CHANNEL NUMBER.
  7309.  
  7310.  
  7311. VCN2 ADN 20
  7312. SBM .CHN
  7313. PJN VCN1 IF NOT LEGAL CHANNEL
  7314.  
  7315. VCN SUBR ENTRY/EXIT
  7316. VCNA LDN 0
  7317. ZJN VCN0 IF FIRST CHANNEL
  7318. LDD AB+4
  7319. ZJN VCN1 IF .EQ. 0
  7320. VCN0 AOM VCNA
  7321. LDD AB+4 GET CHANNEL NUMBER
  7322. SBN 14
  7323. MJN VCNX IF .LE. 13B
  7324. SBN 20-14
  7325. PJN VCN2 IF .GE. 20B
  7326. VCN1 JMP ILL PROCESS INCORRECT ENTRY
  7327. TVRK SPACE 4,10
  7328. **** TVRK - TABLE OF VALID AND REQUIRED KEYWORDS.
  7329.  
  7330. TVRK BSS 0
  7331. TBKW DA,(ST,UN,CH,AP,IB),(UN,CH)
  7332. TVRKL EQU *-TVRK
  7333. TBKW DB,(ST,UN,CH,AP,IB),(UN,CH)
  7334. TBKW DC,(ST,UN,CH,AP,IB),(UN,CH)
  7335. TBKW DD,(ST,UN,AP,IB),(UN)
  7336. TBKW DE,(ST,MA,ET,SZ,AP,MC,TS,IB),(SZ)
  7337. TBKW DF,(ST,UN,CH,AP,IB),(UN,CH)
  7338. TBKW DG,(ST,UN,AP,IB),(UN)
  7339. TBKW DH,(ST,UN,CH,AP,IB),(UN,CH)
  7340. TBKW DI,(ST,UN,CH,AP,IB),(UN,CH)
  7341. TBKW DJ,(ST,UN,CH,AP,IB),(UN,CH)
  7342. TBKW DK,(ST,UN,CH,AP,IB),(UN,CH)
  7343. TBKW DL,(ST,UN,CH,AP,IB),(UN,CH)
  7344. TBKW DM,(ST,UN,CH,AP,IB),(UN,CH)
  7345. TBKW DN,(ST,EQ,UN,CH,AP,IB),(UN,CH)
  7346. TBKW DP,(ST,MA,ET,SZ,CH,AP,MC,TS,IB),(SZ,CH)
  7347. TBKW DQ,(ST,UN,CH,AP,IB),(UN,CH)
  7348. TBKW DR,(ST,UN,CH,AP,IB),(UN,CH)
  7349. TBKW DV,(ST,UN,CH,AP,IB),(UN,CH)
  7350. TBKW DW,(ST,UN,CH,AP,IB),(UN,CH)
  7351. TBKW DX,(ST,UN,CH,AP,IB),(UN,CH)
  7352. TBKW DY,(ST,UN,CH,AP,IB),(UN,CH)
  7353. TBKW DZ,(ST,UN,CH,AP,IB),(UN,CH)
  7354. TBKW EA,(ST,EQ,UN,CH,AP,IB),(EQ,UN,CH)
  7355. TBKW EB,(ST,EQ,UN,CH,AP,IB),(EQ,UN,CH)
  7356. TBKW EC,(ST,EQ,UN,CH,AP,IB),(EQ,UN,CH)
  7357. TBKW ED,(ST,EQ,UN,CH,AP,IB),(EQ,UN,CH)
  7358. TBKW EE,(ST,EQ,UN,CH,AP,IB),(EQ,UN,CH)
  7359. TBKW EF,(ST,EQ,UN,CH,AP,IB),(EQ,UN,CH)
  7360. TBKW EG,(ST,EQ,UN,CH,AP,IB),(EQ,UN,CH)
  7361. TBKW EH,(ST,EQ,UN,CH,AP,IB),(EQ,UN,CH)
  7362. TBKW EI,(ST,EQ,UN,CH,AP,IB,PN),(EQ,UN,CH)
  7363. TBKW EJ,(ST,EQ,UN,CH,AP,IB,PN),(EQ,UN,CH)
  7364. TBKW EK,(ST,EQ,UN,CH,AP,IB,PN),(EQ,UN,CH)
  7365. TBKW EL,(ST,EQ,UN,CH,AP,IB,PN),(EQ,UN,CH)
  7366. TBKW EM,(ST,EQ,UN,CH,AP,IB,PN),(EQ,UN,CH)
  7367. TBKW EN,(ST,EQ,UN,CH,AP,IB,PN),(EQ,UN,CH)
  7368. TBKW EO,(ST,EQ,UN,CH,AP,IB),(EQ,UN,CH)
  7369. TBKW EP,(ST,EQ,UN,CH,AP,IB),(EQ,UN,CH)
  7370. TBKW ES,(ST,EQ,UN,CH,AP,IB,PN),(EQ,UN,CH)
  7371. TBKW EU,(ST,EQ,UN,CH,AP,IB,PN),(EQ,UN,CH)
  7372. TBKW EV,(ST,EQ,UN,CH,AP,IB,PN),(EQ,UN,CH)
  7373. TBKW EW,(ST,EQ,UN,CH,AP,IB,PN),(EQ,UN,CH)
  7374. CON 0 END OF TABLE
  7375.  
  7376. ****
  7377. TKWP SPACE 4,10
  7378. **** TKWP - TABLE OF KEYWORD PARAMETERS.
  7379.  
  7380.  
  7381. TKWP BSS 0
  7382. TBKP AP,1,DVAP,00B,0000B APRDECK NUMBER
  7383. TKWPL EQU *-TKWP
  7384. TKWPA TBKP CH,0,1,00B,7777B CHANNEL(S)
  7385. TKWPB TBKP EQ,0,4,11B,0777B EQUIPMENT (CONTROLLER) NUMBER
  7386. TBKP ET,0,DVED,00B,7777B EXTENDED MEMORY TYPE
  7387. TBKP IB,0,5,00B,0000B INSTALLATION BYTE
  7388. TBKP MA,0,DVED,11B,6777B MAINTENANCE MODE
  7389. TBKP MC,0,7,00B,7700B MAINTENANCE CHANNEL
  7390. TBKP PN,0,10B,6,6077B PARTITION NUMBER
  7391. TBKP ST,0,0,0,7774B STATUS
  7392. TBKP SZ,0,DVNT,00B,0000B EXTENDED MEMORY SIZE
  7393. TBKP TS,0,0,00B,0000B EXTENDED MEMORY TRACK SIZE
  7394. TBKP UN,0,4,00B,7777B UNIT NUMBER(S)
  7395. CON 0 END OF TABLE
  7396.  
  7397. ****
  7398. TRQP SPACE 4,10
  7399. ** TRQP - TABLE OF REQUIRED PARAMETERS.
  7400. *
  7401. * (TRQP) .NE. 0 IF INITIAL ENTRY OF THIS EQUIPMENT.
  7402. * (TRQP+1)-(TRQP+KTWC) = REQUIRED KEYWORDS - BIT CORRESPONDING
  7403. * TO *TVRK* BITS SET WHEN KEYWORD IS SPECIFIED.
  7404.  
  7405. TRQP BSSZ KTWC+1
  7406. TBLM SPACE 4,10
  7407. ** TBLM - GENERATE TABLE OF MASS STORAGE PROCESSING PARAMETERS.
  7408. *
  7409. * TBLM EQ
  7410. *
  7411. * ENTRY (EQ) = MASS STORAGE EQUIPMENT MNEMONIC.
  7412.  
  7413.  
  7414. PURGMAC TBLM
  7415.  
  7416. TBLM MACRO EQ
  7417. DT_EQ VFD 1/SD_EQ,11/2R_EQ
  7418. CON /EQ1/P_EQ
  7419. VFD 1/LDAM_EQ,11/NT_EQ
  7420. VFD 3/BF_EQ,3/PK_EQ-1,6/NU_EQ-1
  7421. CON CT_EQ
  7422. VFD 1/TT_EQ,11/SL_EQ+PNUN_EQ-1
  7423. VFD 6/DI_EQ,6/2R"DRN_EQ"-1RD*100
  7424. VFD 6/C"FW_EQ",6/AI_EQ
  7425. CON CYPN_EQ
  7426.  
  7427. TBLM ENDM
  7428. TMSD SPACE 4,10
  7429. ** TMSD - TABLE OF MASS STORAGE DEVICES.
  7430. * ENTRY = TMSDL WORDS.
  7431.  
  7432. * THE ENTRIES IN *TMSD* ARE REFERENCED WITH THE FOLLOWING TAGS.
  7433.  
  7434.  
  7435. TMSD BSS 0
  7436. LOC 0
  7437.  
  7438. BSS 1 1/ SHARED FLAG, 11/ DEVICE MNEMONIC
  7439. MSPR BSS 1 12/ PROCESSOR ADDRESS
  7440. MSNT BSS 1 1/ LDAM FLAG, 11/ NUMBER OF TRACKS
  7441. MSUL BSS 1 3/ FLAGS, 3/ MAX PACKS, 6/ MAX UNIT NO.
  7442. MSCT BSS 1 12/ DEFAULT NUMBER OF CATALOG TRACKS
  7443. MSSL BSS 1 1/ FULL TRACK FLAG,
  7444. * 11/ SECTOR LIMIT + MAX PARTITION NO.
  7445. MSDI BSS 1 6/ DRIVER INDEX,
  7446. * 6/ DRIVER NAME (LAST CHARACTER)
  7447. MSAI BSS 1 6/ CONTROLWARE LOAD, 6/ ALGORITHM INDEX
  7448. MSCP BSS 1 12/ CYLINDERS PER PARTITION
  7449. TMSDL BSS 0 TABLE LENGTH
  7450. ORG TMSD
  7451.  
  7452.  
  7453. LIST G
  7454. TBL "MSEQ"
  7455. PURGMAC TBLM
  7456. LIST *
  7457.  
  7458. CON 0 END OF TABLE
  7459.  
  7460. SPACE 4,10
  7461. QUAL *
  7462.  
  7463. EQ1S EQU *+4-EQXO *EQ1* SIZE
  7464. EQ1L EQU EQ1S/5+77 *EQ1* OVERLAY LENGTH
  7465.  
  7466. ERRNG 7777-*-4 OVERFLOW WHEN LOADING *EQ1*
  7467. TTL SET/EQ2 - PROCESS NON-MASS STORAGE *EQXXX=* ENTRY.
  7468. TITLE
  7469. IDENT EQ2,/EQ2/EQM
  7470. QUAL EQ2
  7471. ORG EQXO
  7472. *COMMENT SET - PROCESS NON-MASS STORAGE *EQXXX=* ENTRY.
  7473. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  7474. SPACE 4,10
  7475. ** MICRO DEFINITIONS.
  7476.  
  7477. KWM MICRO 1,,*CH,CW,DR,EQ,FC,IB,ID,LS,ND,NT,PA,PI,PS,PT,SA,ST,TF,
  7478. ,TN,UN,W0,W1*
  7479.  
  7480. .A MICCNT KWM
  7481. .A SET .A+1
  7482. KWMC EQU .A/3 KEYWORD COUNT
  7483.  
  7484. .A SET KWMC+11D
  7485. KTWC EQU .A/12D KEYWORD TABLE WORD COUNT
  7486. TITLE EQUIPMENT DEFINITIONS.
  7487. EQM SPACE 4,10
  7488. *** EQXXX=TY,P1=V1,...,PN=VN.
  7489. *
  7490. * SET NON MASS STORAGE EQUIPMENT XXX WITH
  7491. *
  7492. * TY = TYPE (2 CHARACTERS)
  7493. *
  7494. * DEVICE TYPES SUPPORTED -
  7495. *
  7496. * AT = ACS CARTRIDGE MAGNETIC TAPE DRIVE.
  7497. * CC = 6683 SATELLITE COUPLER.
  7498. * CI = *CYBIS* DEVICE.
  7499. * CM = CONTROL MODULE.
  7500. * CP = 415 CARD PUNCH.
  7501. * CR = 405 CARD READER.
  7502. * CT = CARTRIDGE MAGNETIC TAPE DRIVE.
  7503. * D1 = *CYBIS* DEVICE.
  7504. * D2 = *CYBIS* DEVICE.
  7505. * D3 = *CYBIS* DEVICE.
  7506. * D4 = *CYBIS* DEVICE.
  7507. * LQ = 512 LINE PRINTER.
  7508. * LR = 580-12 LINE PRINTER.
  7509. * LS = 580-16 LINE PRINTER.
  7510. * LT = 580-20 LINE PRINTER.
  7511. * LX = 5870 NON-IMPACT PRINTER.
  7512. * LY = 5970 NON-IMPACT PRINTER.
  7513. * MP = MAP III.
  7514. * MT = 7-TRACK MAGNETIC TAPE DRIVE.
  7515. * NC = NAD.
  7516. * ND = CDNA MAINFRAME INTERFACE (MDI).
  7517. * NI = *CYBIS* DEVICE.
  7518. * NO = *CYBIS* DEVICE.
  7519. * NP = 255X NETWORK PROCESSING UNIT.
  7520. * NT = 9-TRACK MAGNETIC TAPE DRIVE.
  7521. * OD = OPTICAL DISK
  7522. * RM = TWO PORT MULTIPLEXER.
  7523. * RP = RING PORT.
  7524. * SP = *CYBIS* DEVICE.
  7525. * SS = MSE M860 CONTROLLER.
  7526. * TT = TIME-SHARING MULTIPLEXER.
  7527. * NOTE - THE TERMINAL DRIVER SCANS ONLY THE FIRST
  7528. * *N* NUMBER OF PORTS (ZERO THRU *N*)
  7529. * SPECIFIED BY THE *PT=* KEYWORD WHEN THE
  7530. * DEVICE TYPE (TY) IS *TT*. IF NO *PT=*
  7531. * KEYWORD IS GIVEN, ALL 64 PORTS ARE
  7532. * SCANNED.
  7533. * ** = NONSTANDARD EQUIPMENT ENTRY.
  7534. *
  7535. * AND PARAMETERS WHERE P1,...,PN ARE THE FOLLOWING KEYWORDS
  7536. *
  7537. * CH = CHANNEL NUMBER(S).
  7538. * CW = CONTROL MODULE CONTROLWARE.
  7539. * DR = ACS DRIVE INDEX (WITHIN PANEL).
  7540. * EQ = EQUIPMENT (CONTROLLER) NUMBER.
  7541. * FC = FORMS CODE.
  7542. * IB = INSTALLATION BYTE.
  7543. * ID = UNIT RECORD ID.
  7544. * LS = ACS LSM INDEX (WITHIN ACS).
  7545. * ND = NPU NODE NUMBER.
  7546. * NT = MDI NODE NUMBER.
  7547. * PA = ACS PANEL INDEX (WITHIN LSM).
  7548. * PI = PIP INDEX.
  7549. * PS = PAPER SIZE.
  7550. * PT = PORT NUMBER OR NUMBER OF PORTS.
  7551. * SA = 255X SAM (SYSTEM AUTOSTART MODULE) STATUS.
  7552. * ST = STATUS.
  7553. * TF = TAPE FLAGS.
  7554. * TN = PRINT TRAIN.
  7555. * UN = UNIT NUMBER.
  7556. * W0 = OCTAL VALUE OF EST ENTRY - WORD ZERO.
  7557. * W1 = OCTAL VALUE OF EST ENTRY - WORD ONE.
  7558.  
  7559.  
  7560. EQM BSS 0
  7561. LDN 2 ADVANCE CHARACTER ADDRESS
  7562. RAD KA
  7563. RJM CDR ASSEMBLE DIGITS
  7564. LMN 1R=
  7565. ZJN EQM2 IF *=*
  7566. EQM1 JMP ILL PROCESS INCORRECT ENTRY
  7567.  
  7568. EQM2 AOD KA SKIP CHARACTER
  7569. LDD AB+4 CHECK EST ORDINAL
  7570. SBN NOPE
  7571. MJN EQM1 IF PSEUDO EQUIPMENT
  7572. SBK ESMX-NOPE
  7573. PJN EQM1 IF EST ORDINAL EXCEEDS MAXIMUM
  7574. LDD AB+4 SET EST ORDINAL
  7575. RJM STA READ EBUF ENTRY
  7576. RJM CDR
  7577. LMN 1R.
  7578. NJP EQM5 IF NOT *EQXXX=.*
  7579. LDD AB+4
  7580. NJN EQM1 IF *EQXXX = N.*
  7581. RJM CDC CLEAR ISMD CHANNELS
  7582. LDN 0
  7583. CRD CN CLEAR DEVICE DESCRIPTION
  7584. CRM EBUT+5,ON
  7585. ERRNG 5-TDDCL CODE DEPENDS ON VALUE
  7586. CRM TDDB,DV
  7587. LDD EQ
  7588. LMD EN
  7589. NJN EQM4 IF NOT EXTENDED MEMORY EQUIPMENT
  7590. STD EN CLEAR EST ORDINAL
  7591. STM EMSC DE/DP SHIFT COUNT
  7592. LDN TAXXL CLEAR EXTENDED MEMORY ALLOCATION TABLES
  7593. STD T1
  7594. LDD EQ
  7595. LMN LDEQ
  7596. NJN EQM3 IF NOT LINK DEVICE
  7597. STD PD
  7598. EQM3 LDN 0
  7599. STM TAXM-1,T1
  7600. SOD T1
  7601. NJN EQM3 IF MORE TO CLEAR
  7602. CRM EMTY,ON
  7603. EQM4 LJM EQM19 CLEAR EST
  7604.  
  7605. * PROCESS TYPE.
  7606.  
  7607. EQM5 LDI KA ASSEMBLE TYPE
  7608. SHN 6
  7609. LMM 1,KA
  7610. STD AB+4
  7611. LDM EBUT+3
  7612. ZJN EQM7 IF EMPTY ENTRY
  7613. LMD AB+4
  7614. ZJN EQM8 IF NO CHANGE IN DEVICE TYPE
  7615. LDD AB+4
  7616. LMC 2R**
  7617. ZJN EQM8 IF NONSTANDARD EQUIPMENT ENTRY
  7618. RJM CDC CLEAR ISMD CHANNELS
  7619. EQM7 LDN 0 CLEAR DEVICE DESCRIPTION
  7620. CRD CN
  7621. CRM EBUT+5,ON
  7622. ERRNG 5-TDDCL CODE DEPENDS ON VALUE
  7623. CRM TDDB,DV
  7624. LDD AB+4
  7625. STD CN+3
  7626. AOM TRQP SET INITIAL ENTRY FLAG
  7627. UJN EQM10 SEARCH FOR DEVICE
  7628.  
  7629. EQM8 LDN JSNL MOVE EST ENTRY TO DIRECT CELLS
  7630. CWM EBUT,ON
  7631. SBN 1
  7632. CRD CN
  7633.  
  7634. * SEARCH FOR DEVICE IN EQUIPMENT TYPE TABLE.
  7635.  
  7636. EQM10 LDC TETY-TETYL SET EQUIPMENT TYPE TABLE
  7637. STD MS
  7638. EQM11 LDN TETYL ADVANCE TABLE ADDRESS
  7639. RAD MS
  7640. LDI MS
  7641. NJN EQM13 IF NOT END OF TABLE
  7642. EQM12 JMP ILL PROCESS INCORRECT ENTRY
  7643.  
  7644. EQM13 LMD AB+4 CHECK TYPE
  7645. NJN EQM11 IF NO MATCH
  7646. LDN 2 SKIP EQUIPMENT MNEMONIC
  7647. RAD KA
  7648. LDM EQPR,MS
  7649. STD T1
  7650. LDC TVRK-TVRKL SET TABLE OF VALID KEYWORDS
  7651. STD TA
  7652. EQM16 LDN TVRKL ADVANCE TABLE ADDRESS
  7653. RAD TA
  7654. LDI TA
  7655. ZJN EQM12 IF END OF TABLE
  7656. LMD AB+4
  7657. NJN EQM16 IF NO MATCH
  7658. LDM TRQP
  7659.  
  7660. ** EXIT TO PROCESSOR WITH -
  7661. *
  7662. * (A) = (TRQP) = PREVIOUS DEFINITION STATUS.
  7663. * (CN - CN+4) = WORD TO BUILD EST ENTRY.
  7664. * (TDDB) = BUFFER TO BUILD *TDDE* ENTRY.
  7665. * (MS) = *TETY* ADDRESS.
  7666. * (TA) = *TVRK* ENTRY ADDRESS.
  7667.  
  7668. RJM 0,T1
  7669.  
  7670. LDM TRQP
  7671. ZJN EQM20 IF NOT INITIAL ENTRY
  7672. EQM19 RJM CML CHECK MASS STORAGE LIMIT
  7673. RJM RMD RESET MASS STORAGE DEVICE
  7674. EQM20 LDN JSNL
  7675. CWD CN MOVE EST ENTRY TO BUFFER
  7676. CRM EBUT,ON
  7677. RJM EEB ENTER EQUIPMENT DEFINITION
  7678. RJM EDC ENTER ISMD CHANNELS
  7679. RJM CLE CHECK LAST EQUIPMENT
  7680. JMP KBR RETURN
  7681. TETY SPACE 4,10
  7682. **** TETY - TABLE OF EQUIPMENT TYPES.
  7683. * ENTRY = 3 WORDS.
  7684. *
  7685. * 12/ NAME, 12/ ADDR, 6/ UN, 6/ CH
  7686. * NAME EQUIPMENT MNEMONIC
  7687. * ADDR ADDRESS OF PROCESSOR
  7688. * UN MAXIMUM UNIT NUMBER ALLOWED (2**N-1).
  7689. * CH MAXIMUM CHANNELS ALLOWED
  7690. *
  7691. * NOTE - MASS STORAGE DEVICES ARE IN TABLE *TMSD*.
  7692.  
  7693.  
  7694. TETY BSS 0
  7695. EQPR EQU 1 PROCESSOR ADDRESS
  7696.  
  7697. * UNIT RECORD DEVICES.
  7698.  
  7699. TEQP CP,KWP,0,1
  7700. TETYL EQU *-TETY
  7701. TEQP CR,KWP,0,1
  7702. TEQP LQ,LPT,0,1
  7703. TEQP LR,LPT,0,1
  7704. TEQP LS,LPT,0,1
  7705. TEQP LT,LPT,0,1
  7706. TEQP LX,LXT,0,1
  7707. TEQP LY,LXT,0,1
  7708.  
  7709. * COMMUNICATIONS / NETWORK DEVICES.
  7710.  
  7711. TEQP CC,ALD,0,1
  7712. TEQP NC,NAD,17,1
  7713. TEQP ND,KWP,0,1
  7714. TEQP NP,KWP,0,1
  7715. TEQP NQ,KWP,0,1
  7716. TEQP RM,ALD,1,1
  7717. TEQP TT,ALD,10,1
  7718.  
  7719. * *CYBIS* DEVICES.
  7720.  
  7721. TEQP CI,KWP,7,2
  7722. TEQP D1,KWP,7,2
  7723. TEQP D2,KWP,7,2
  7724. TEQP D3,KWP,7,2
  7725. TEQP D4,KWP,7,2
  7726. TEQP NI,KWP,7,2
  7727. TEQP NO,KWP,7,2
  7728. TEQP SP,KWP,7,2
  7729.  
  7730. * MAGNETIC TAPE DEVICES.
  7731.  
  7732. TEQP AT,MMT,17,2
  7733. TEQP CT,MMT,17,2
  7734. TEQP MT,MMT,17,2
  7735. TEQP NT,MMT,17,2
  7736.  
  7737. * MISCELLANEOUS DEVICES.
  7738.  
  7739. TEQP CM,CMD,0,2
  7740. TEQP MP,KWP,0,1
  7741. TEQP OD,ALD,17,1 OPTICAL DISK
  7742. TEQP RP,KWP,0,1
  7743. TEQP SS,KWP,17,2
  7744.  
  7745. * INSTALLATION DEFINED DEVICES.
  7746.  
  7747. TEQP **,KWP,0,0
  7748.  
  7749. CON 0 END OF TABLE
  7750. ****
  7751. TITLE EQUIPMENT DEFINITION PROCESSORS.
  7752. ALD SPACE 4,10
  7753. ** ALD - PROCESS ALLOCATABLE DEVICE.
  7754.  
  7755.  
  7756. ALD SUBR ENTRY/EXIT
  7757. ZJN ALD1 IF NOT INITIAL EQUIPMENT ENTRY
  7758. LDC 2000 SET ALLOCATABLE DEVICE
  7759. RAD CN
  7760. ALD1 RJM KWP PROCESS KEYWORDS
  7761. UJN ALDX RETURN
  7762. CMD SPACE 4,10
  7763. *** EQXXX=CM.
  7764.  
  7765.  
  7766. CMD SUBR ENTRY/EXIT
  7767. LDM ISPF
  7768. SHN 21-13
  7769. PJN CMD2 IF CYBER 810/815/825/830
  7770. CMD1 JMP ILL PROCESS INCORRECT ENTRY
  7771.  
  7772. CMD2 LDM TRQP
  7773. ZJN CMD3 IF NOT INITIAL ENTRY
  7774. LDN CMCW SET DEFAULT CONTROLWARE
  7775. STD AB+4
  7776. LDC PLCW SET KEYWORD PARAMETER ADDRESS
  7777. STD T3
  7778. RJM STV STORE KEYWORD VALUE
  7779. CMD3 RJM KWP PROCESS KEYWORDS
  7780. LDD CN+4 GET EQUIPMENT NUMBER
  7781. SHN -11
  7782. STD T6
  7783. LDM TENB,T6
  7784. ZJN CMD4 IF UNIQUE EQUIPMENT NUMBER
  7785. LMD EQ
  7786. NJN CMD1 IF NOT CURRENT EST ORDINAL
  7787. CMD4 RJM CDC CLEAR ISMD CHANNELS
  7788. LDD EQ SET EST ORDINAL
  7789. STM TENB,T6
  7790. LJM CMDX RETURN
  7791. LPT SPACE 4,10
  7792. *** EQXXX=LQ.
  7793. * EQXXX=LR-P.
  7794. * EQXXX=LS-P.
  7795. * EQXXX=LT-P.
  7796. *
  7797. * IF *-P* IS PRESENT, SPECIFIES 580 PFC PRINTER.
  7798.  
  7799.  
  7800. LPT1 AOD KA
  7801. LDC 200 SET 580 PFC BIT
  7802. RAD CN
  7803. LPT2 RJM KWP PROCESS KEYWORDS
  7804.  
  7805. LPT SUBR ENTRY/EXIT
  7806. LDD CN CLEAR 580 PFC BIT
  7807. LPC 7577
  7808. STD CN
  7809. LDI KA CHECK SEPARATOR
  7810. LMN 1R-
  7811. NJN LPT2 IF NOT *-*
  7812. AOD KA SKIP *-*
  7813. LDI KA CHECK FOR 580 PFC
  7814. LMN 1RP
  7815. ZJN LPT1 IF 580 PFC
  7816. JMP ILL PROCESS INCORRECT ENTRY
  7817. LXT SPACE 4,10
  7818. *** EQXXX=LX.
  7819. * EQXXX=LY.
  7820.  
  7821.  
  7822. LXT1 RJM KWP PROCESS KEYWORDS
  7823. LDD CN+1
  7824. LPN 37
  7825. STD T1
  7826. LDN CNCX SET NO LOAD OF NIP CONTROLWARE
  7827. STM TCHS,T1
  7828. RJM SCC UPDATE CONTROLWARE TABLE
  7829.  
  7830. LXT SUBR ENTRY/EXIT
  7831. LDD CN
  7832. LPN 57
  7833. LMN 20 SET CONTROLWARE LOAD REQUIRED
  7834. STD CN
  7835. LDC 700 FORCE TRAIN = 7
  7836. STD CN+4
  7837. UJN LXT1 COMPLETE PROCESSING
  7838. MMT SPACE 4,20
  7839. *** EQXXX=MT-N.
  7840. * EQXXX=NT-N.
  7841. * EQXXX=CT-N.
  7842. * EQXXX=AT-N.
  7843. *
  7844. * *N* CONSECUTIVE EST ENTRIES ARE GENERATED BEGINNING AT *XXX*.
  7845. *
  7846. * THE *N* UNITS BEGIN WITH THE UNIT NUMBER SPECIFIED BY *UN=*
  7847. * AND MUST BE NUMBERED CONSECUTIVELY.
  7848. *
  7849. * FOR *AT* UNITS, THE ACS DRIVE INDEXES FOR THE *N* UNITS
  7850. * BEGIN WITH THE DRIVE INDEX SPECIFIED BY *DR=* AND MUST BE
  7851. * NUMBERED CONSECUTIVELY.
  7852. *
  7853. * FOR *CT* AND *AT* UNITS DEFINED WITH DUAL CHANNEL ACCESS,
  7854. * THE PRIMARY AND SECONDARY CHANNELS WILL BE REVERSED FOR EACH
  7855. * CONSECUTIVE EST ENTRY GENERATED.
  7856.  
  7857.  
  7858. MMT CON 0 ENTRY
  7859. LDI KA CHECK SEPARATOR
  7860. LMN 1R,
  7861. ZJN MMT1 IF *,*
  7862. LMN 1R-&1R,
  7863. NJN MMT2 IF NOT *-*
  7864. AOD KA
  7865. RJM CDR ASSEMBLE NUMBER OF UNITS
  7866. LMN 1R,
  7867. NJN MMT2 IF INCORRECT SEPARATOR
  7868. LDD AB+4
  7869. ZJN MMT2 IF NULL UNIT COUNT
  7870. SBN 21
  7871. PJN MMT2 IF UNIT COUNT TOO LARGE
  7872. ADN 20
  7873. MMT1 ADN 1 SET UNIT COUNT
  7874. STM MMTA
  7875. ADD EQ
  7876. SBK ESMX+1
  7877. MJN MMT3 IF LAST UNIT DOES NOT EXCEED MAXIMUM
  7878. MMT2 JMP ILL PROCESS INCORRECT ENTRY
  7879.  
  7880. MMT3 RJM KWP PROCESS KEYWORDS
  7881. LDD CN+4
  7882. LPN 17
  7883. ADM MMTA
  7884. SBN 21
  7885. PJN MMT2 IF UNIT NUMBER OVERFLOW
  7886. LDD CN+3
  7887. LMC 2RAT
  7888. NJN MMT3.1 IF NOT *AT* DEVICE
  7889. LDM EBUT+5+2
  7890. LPN 7
  7891. ADM MMTA
  7892. SBN 5
  7893. PJN MMT2 IF ACS DRIVE INDEX OVERFLOW
  7894. MMT3.1 LDD EQ
  7895. STD T6
  7896. ADM MMTA SET NEXT EST ORDINAL
  7897. STD T7
  7898. MMT4 LDD EB READ PREVIOUS EQUIPMENT DEFINITION
  7899. SHN 5
  7900. ADD T6
  7901. SHN 1
  7902. CRD AB
  7903. LDD AB CHECK ORIGINAL EQUIPMENT STATUS
  7904. SHN 21-13
  7905. MJP MMT2 IF REDEFINING MS
  7906. AOD T6
  7907. LMD T7
  7908. NJN MMT4 IF NOT END OF UNITS
  7909. RJM CHD CHECK ISMT DUAL CHANNEL ERROR
  7910. LDD CN+1 FIRST CHANNEL
  7911. RJM CHN CHECK ISMT DUPLICATE CHANNEL ERROR
  7912. LDD CN+2 SECOND CHANNEL
  7913. ZJN MMT5 IF NO SECOND CHANNEL
  7914. RJM CHN CHECK ISMT DUPLICATE CHANNEL ERROR
  7915. MMT5 LDD EB
  7916. SHN 5
  7917. ADD EQ ENTER TAPE DEFINITION IN EST BUFFER
  7918. SHN 1
  7919. CWD CN
  7920. ADN 1
  7921. CWM EBUT+5,ON
  7922. AOD CN+4 ADVANCE UNIT NUMBER
  7923. LDD CN+3
  7924. LMC 2RAT
  7925. NJN MMT5.1 IF NOT *AT* DEVICE
  7926. AOM EBUT+5+2 ADVANCE ACS DRIVE INDEX
  7927. MMT5.1 AOD EQ
  7928. LMD T7
  7929. ZJN MMT6 IF ALL UNITS DEFINED
  7930. RJM RCC REVERSE CHANNELS FOR CARTRIDGE TAPE
  7931. UJN MMT5 DEFINE REMAINING UNITS
  7932.  
  7933. MMT6 SOD EQ
  7934. RJM CLE CHECK LAST EQUIPMENT
  7935. JMP KBR RETURN
  7936.  
  7937. MMTA CON 0 UNIT COUNT
  7938. NAD SPACE 4,15
  7939. ** EQXXX=NC.
  7940.  
  7941.  
  7942. NAD SUBR ENTRY/EXIT
  7943. ZJN NAD1 IF NOT INITIAL EQUIPMENT ENTRY
  7944. LDC 3000 SET ALLOCATABLE, CONTROLWARE NOT LOADED
  7945. RAD CN
  7946. NAD1 RJM KWP
  7947. LDD CN+1 CHANNEL NUMBER
  7948. LPN 37
  7949. STD T1
  7950. LDN CNND SET NO LOAD OF NAD CONTROLWARE
  7951. STM TCHS,T1
  7952. RJM SCC
  7953. UJN NADX RETURN
  7954. KWP SPACE 4,10
  7955. ** KWP - KEYWORD MAIN PROCESSOR.
  7956. *
  7957. * ENTRY (KA) = ADDRESS OF SEPARATOR CHARACTER.
  7958. * (TA) = *TVRK* ENTRY ADDRESS.
  7959.  
  7960.  
  7961. KWP SUBR ENTRY/EXIT
  7962. KWP1 AOD KA
  7963. LDI KA ASSEMBLE KEYWORD
  7964. SHN 6
  7965. LMM 1,KA
  7966. STD AB
  7967. LDN 2 ADVANCE KEYBOARD BUFFER ADDRESS
  7968. RAD KA
  7969. LDI KA
  7970. LMN 1R=
  7971. NJN KWP3 IF INCORRECT SEPARATOR
  7972. AOD KA
  7973. LDC TKWP-TKWPL
  7974. STD T3
  7975. KWP2 LDN TKWPL
  7976. RAD T3
  7977. LDI T3
  7978. NJN KWP4 IF NOT END OF TABLE
  7979. KWP3 JMP ILL PROCESS INCORRECT ENTRY
  7980.  
  7981. KWP4 STD T2
  7982. LDD AB
  7983. LMI T2
  7984. NJN KWP2 IF NOT MATCH
  7985. RJM VKW VALIDATE KEYWORD
  7986.  
  7987. * EXIT TO KEYWORD PROCESSOR.
  7988. * (T3) = ADDRESS OF *TKWP* ENTRY.
  7989. * (KA) = ADDRESS OF KEYWORD VALUE FIRST CHARACTER.
  7990.  
  7991. LJM 1,T2 EXIT TO PROCESSOR
  7992.  
  7993. * RETURN FROM KEYWORD PROCESSOR.
  7994. * (KA) = ADDRESS OF SEPARATOR CHARACTER.
  7995.  
  7996. KWP5 LDI KA CHECK SEPARATOR
  7997. LMN 1R,
  7998. ZJN KWP1 IF NOT END OF ENTRY
  7999. LMN 1R.&1R,
  8000. NJN KWP3 IF INCORRECT SEPARATOR
  8001. LDM TRQP
  8002. ZJN KWP7 IF NOT INITIAL ENTRY
  8003. LDN KTWC
  8004. STD T2
  8005. LDN TVRKL
  8006. RAD TA
  8007. KWP6 SOD TA
  8008. LDI TA
  8009. STM KWPA
  8010. LDM TRQP,T2
  8011. LPC **
  8012. KWPA EQU *-1
  8013. LMI TA
  8014. NJN KWP3 IF REQUIRED KEYWORD NOT SPECIFIED
  8015. SOD T2
  8016. NJN KWP6 IF MORE KEYWORDS TO CHECK
  8017. KWP7 LDD CN
  8018. LPN 3
  8019. LMN 3
  8020. ZJN KWP9 IF DEVICE IS DOWN
  8021. LDD CN+1 CHECK PRIMARY CHANNEL
  8022. SHN 21-13
  8023. PJN KWP9 IF NO PRIMARY CHANNEL
  8024. SHN 21-12-21+13
  8025. PJN KWP9 IF CHANNEL IS UP
  8026. LDD CN+2 CHECK SECONDARY CHANNEL
  8027. SHN 21-13
  8028. PJN KWP8 IF NO SECONDARY CHANNEL
  8029. SHN 21-12-21+13
  8030. PJN KWP9 IF CHANNEL IS UP
  8031. KWP8 JMP ILL PROCESS INCORRECT ENTRY
  8032.  
  8033. KWP9 LJM KWPX RETURN
  8034. TITLE MISCELLANEOUS EQUIPMENT DEFINITION SUBROUTINES.
  8035. CDC SPACE 4,15
  8036. ** CDC - CLEAR ISMD CHANNELS.
  8037. *
  8038. * ENTRY (EBUT) = PREVIOUS EBUT *CM* EQUIPMENT ENTRY.
  8039. *
  8040. * EXIT CHANNEL NUMBERS ARE CLEARED IN ALL ISMD DEVICE ENTRIES
  8041. * WHICH HAVE THE FIRST UNIT ON THIS *CM* EQUIPMENT.
  8042. *
  8043. * USES T1, T2, T3.
  8044. *
  8045. * CALLS SDC.
  8046.  
  8047.  
  8048. CDC SUBR ENTRY/EXIT
  8049. LDM EBUT+4 SAVE EQUIPMENT NUMBER
  8050. SHN -11
  8051. STD T1
  8052. LDM EBUT+3
  8053. LMC 2RCM
  8054. NJN CDCX IF NOT CONTROL MODULE
  8055. STM TENB,T1 CLEAR EST ORDINAL
  8056. STD T3
  8057. LDN 37 SET NO CHANNEL SPECIFIED
  8058. STD T2
  8059. RJM SDC SET ISMD CHANNELS
  8060. UJN CDCX RETURN
  8061. CLE SPACE 4,15
  8062. ** CLE - CHECK LAST EQUIPMENT.
  8063. *
  8064. * ENTRY (EQ) = CURRENT EST ORDINAL.
  8065. * (LE) = LAST EQUIPMENT DEFINED.
  8066. * (CN - CN+4) = CURRENT EQUIPMENT DEFINITION.
  8067. *
  8068. * EXIT (LE) = CURRENT LAST EQUIPMENT.
  8069. * (EQ) = CURRENT EST ORDINAL + 1.
  8070. *
  8071. * USES T5, CN - CN+4.
  8072. *
  8073. * CALLS IBF.
  8074.  
  8075.  
  8076. CLE3 AOD EQ CHECK NEW EQUIPMENT DEFINITION
  8077. SBD LE
  8078. PJN CLE2 IF ORDINAL .GE. PREVIOUS HIGH
  8079.  
  8080. CLE SUBR ENTRY/EXIT
  8081. LDD CN+3
  8082. NJN CLE3 IF DEFINING EQUIPMENT
  8083. AOD EQ
  8084. LMD LE
  8085. NJN CLEX IF NOT CLEARING LAST EQUIPMENT
  8086. CLE1 SOD LE
  8087. SHN 14+1
  8088. ADD EB SEARCH FOR LAST EQUIPMENT
  8089. SHN 6
  8090. CRD CN
  8091. LDD CN+3
  8092. ZJN CLE1 IF EQUIPMENT UNDEFINED
  8093. LDN 1
  8094. CLE2 RAD LE UPDATE LAST EQUIPMENT
  8095. STD T5
  8096. LDN UECF SEND COUNT TO BUFFER PP
  8097. RJM IBF
  8098. UJN CLEX RETURN
  8099. CML SPACE 4,10
  8100. ** CML - CHECK MASS STORAGE LIMIT.
  8101. *
  8102. * ENTRY (CN - CN+4) = CURRENT EQUIPMENT DEFINITION.
  8103. * (EBUT - EBUT+4) = PREVIOUS EQUIPMENT DEFINITION.
  8104.  
  8105.  
  8106. CML SUBR ENTRY/EXIT
  8107. LDI ES
  8108. LMD CN CHECK REDEFINITION
  8109. SHN 0-13
  8110. ZJN CMLX IF NO CHANGE IN STATUS
  8111. AOM MSLM ADVANCE MASS STORAGE LIMIT
  8112. UJN CMLX RETURN
  8113. EDC SPACE 4,20
  8114. ** EDC - ENTER ISMD CHANNELS.
  8115. *
  8116. * ENTRY (CN - CN+4) = EQUIPMENT ENTRY.
  8117. * (EQ) = CURRENT EST ORDINAL.
  8118. *
  8119. * EXIT (EQ) = CURRENT EST ORDINAL.
  8120. * IF DEVICE TYPE = *CM*, THE CHANNEL NUMBERS ARE SET IN
  8121. * ALL ISMD ENTRIES WHICH HAVE THE FIRST UNIT ON THIS
  8122. * *CM* EQUIPMENT.
  8123. *
  8124. * USES T1, T2, T3, CM - CM+4.
  8125. *
  8126. * CALLS SDC.
  8127.  
  8128.  
  8129. EDC SUBR ENTRY/EXIT
  8130. LDD CN+3
  8131. LMC 2RCM
  8132. NJN EDCX IF NOT *CM* DEVICE
  8133. LDD CN+4 SET EQUIPMENT NUMBER
  8134. SHN -11
  8135. STD T1
  8136. LDD CN+1 SET CHANNEL NUMBERS
  8137. STD T2
  8138. LDD CN+2
  8139. STD T3
  8140. RJM SDC SET ISMD CHANNELS
  8141. UJN EDCX RETURN
  8142. RCC SPACE 4,10
  8143. ** RCC - REVERSE CHANNELS FOR CARTRIDGE TAPE.
  8144. *
  8145. * IF *CT* OR *AT* DEVICE WITH DUAL CHANNEL ACCESS DEFINED,
  8146. * REVERSE THE PRIMARY AND SECONDARY CHANNELS.
  8147. *
  8148. * ENTRY (CN - CN+4) = FIRST WORD OF EST ENTRY.
  8149. *
  8150. * EXIT (CN - CN+4) = UPDATED FIRST WORD OF EST ENTRY.
  8151. *
  8152. * USES CN+1, CN+2, T1.
  8153.  
  8154.  
  8155. RCC SUBR ENTRY/EXIT
  8156. LDD CN+3
  8157. LMC 2RCT
  8158. ZJN RCC1 IF *CT* EQUIPMENT
  8159. LMC 2RAT&2RCT
  8160. NJN RCCX IF NOT *AT* EQUIPMENT
  8161. RCC1 LDD CN+2
  8162. ZJN RCCX IF NO SECOND CHANNEL
  8163. STD T1
  8164. LDD CN+1 REVERSE CHANNELS
  8165. STD CN+2
  8166. LDD T1
  8167. STD CN+1
  8168. UJN RCCX RETURN
  8169. SDC SPACE 4,15
  8170. ** SDC - SET ISMD CHANNELS.
  8171. *
  8172. * ENTRY (T1) = *CM* EQUIPMENT NUMBER.
  8173. * (T2) = FIRST CHANNEL.
  8174. * (T3) = SECOND CHANNEL.
  8175. *
  8176. * EXIT CHANNEL NUMBERS ARE SET IN ALL ISMD DEVICE ENTRIES
  8177. * WHICH HAVE THE FIRST UNIT ON THIS *CM* EQUIPMENT.
  8178. *
  8179. * USES T5.
  8180. *
  8181. * CALLS EEB, SID, STA.
  8182.  
  8183.  
  8184. SDC2 LDD T5 RESTORE *EQ* CONTENTS
  8185. RJM STA
  8186.  
  8187. SDC SUBR ENTRY/EXIT
  8188. LDD EQ SAVE CONTENTS OF *EQ*
  8189. STD T5
  8190. RJM EEB SAVE *EBUT*
  8191. LCN 0
  8192. SDC1 RJM SID SEARCH FOR ISMD DEVICE
  8193. MJN SDC2 IF NONE FOUND
  8194. LDM TDDB+DVUN+3 GET FIRST UNIT EQUIPMENT NUMBER
  8195. LPN 70
  8196. SHN -3
  8197. LMD T1
  8198. NJN SDC1 IF NOT THIS *CM* EQUIPMENT NUMBER
  8199. LDD T2 SET CHANNEL NUMBERS
  8200. STM EBUT+1
  8201. LDD T3
  8202. STM EBUT+2
  8203. RJM EEB ENTER EQUIPMENT ENTRY
  8204. UJN SDC1 FIND NEXT ISMD ENTRY
  8205. VKW SPACE 4,10
  8206. ** VKW - VALIDATE KEYWORD.
  8207. *
  8208. * ENTRY (TA) = *TVRK* ENTRY ADDRESS.
  8209. * (T3) = *TKWP* ENTRY ADDRESS.
  8210. * (KA) = CHARACTER ADDRESS OF KEYWORD VALUE.
  8211. *
  8212. * EXIT (A) = (AB+4) = 0, IF NULL VALUE SPECIFIED.
  8213. * TO *ILL* IF INCORRECT KEYWORD OR NULL VALUE SPECIFIED
  8214. * AND NULL VALUE NOT ALLOWED.
  8215. *
  8216. * USES T5, T6, T7, AB+4.
  8217. *
  8218. * CALLS CSC.
  8219.  
  8220.  
  8221. VKW SUBR ENTRY/EXIT
  8222. LDM 1,T3 GET KEYWORD BIT POSITION
  8223. SHN 14
  8224. LMD TH
  8225. ERRNZ 1000-SHNI ADJUST IF VALUE CHANGES
  8226. STM VKWA
  8227. SHN -14 GET KEYWORD WORD OFFSET
  8228. STD T6
  8229. ADD TA ADDRESS OF *TVRK* WORD
  8230. STD T5
  8231. LDN 1 GENERATE KEYWORD BIT MASK
  8232. VKWA SHN **
  8233. STD T7
  8234. STM VKWB
  8235. STM VKWC
  8236. LDI T5 CHECK IF KEYWORD ALLOWED
  8237. LPC 0
  8238. VKWB EQU *-1
  8239. NJN VKW2 IF KEYWORD IS ALLOWED
  8240. VKW1 JMP ILL PROCESS INCORRECT ENTRY
  8241.  
  8242. VKW2 LDC TRQP SET KEYWORD SPECIFIED BIT
  8243. RAD T6
  8244. LDI T6
  8245. LPC 0
  8246. VKWC EQU *-1
  8247. NJN VKW1 IF KEYWORD ALREADY PROCESSED
  8248. LDD T7
  8249. RAI T6
  8250. RJM CSC CHECK FOR NULL VALUE
  8251. NJN VKW3 IF NOT NULL VALUE
  8252. LDM 2,T3 CHECK *TKWP*
  8253. SHN 21-5
  8254. PJN VKW1 IF NULL VALUE NOT ALLOWED
  8255. LDN 0 CLEAR VALUE
  8256. STD AB+4
  8257. VKW3 LJM VKWX RETURN
  8258. STV SPACE 4,10
  8259. ** STV - STORE KEYWORD VALUE.
  8260. *
  8261. * ENTRY (AB+4) = KEYWORD VALUE.
  8262. * (T3) = ADDRESS OF KEYWORD PARAMETERS.
  8263. * (CN - CN+4) = *EQDE* EST WORD.
  8264. * (EBUT+5 - EBUT+11) = *EQAE* EST WORD.
  8265. *
  8266. * EXIT KEYWORD VALUE STORED IN EST ENTRY.
  8267.  
  8268.  
  8269. STV SUBR ENTRY/EXIT
  8270. LDM 2,T3
  8271. SHN 14 SET SHIFT COUNT
  8272. LMD TH
  8273. ERRNZ 1000-SHNI ADJUST IF VALUE CHANGES
  8274. STM STVB
  8275. SHN -14 SET EST ENTRY LOCATION
  8276. LPN 37
  8277. STD T0
  8278. SBN 5
  8279. MJN STV1 IF IN *EQDE* WORD
  8280. LDC EBUT
  8281. UJN STV2 PROCESS DATA
  8282.  
  8283. STV1 LDN CN
  8284. STV2 ADD T0
  8285. STD T7
  8286. LDM 3,T3 SET MASK
  8287. STM STVA
  8288. LDI T7 UPDATE EST ENTRY
  8289. LPC **
  8290. STVA EQU *-1
  8291. STI T7
  8292. LDD AB+4
  8293. STVB SHN ** POSITION KEYWORD VALUE
  8294. RAI T7 STORE KEYWORD VALUE
  8295. UJN STVX RETURN
  8296. TITLE KEYWORD PROCESSORS.
  8297. AOK SPACE 4,10
  8298. ** AOK - ASSEMBLE OCTAL KEYWORD VALUE.
  8299. *
  8300. * ENTRY (A) = 6/MINIMUM VALUE, 12/MAXIMUM VALUE+1
  8301. *
  8302. * EXIT TO *KWP5*, KEYWORD VALUE STORED.
  8303. * TO *ILL* IF INCORRECT VALUE.
  8304. *
  8305. * USES T6, T7.
  8306. *
  8307. * CALLS CDR, STV.
  8308.  
  8309.  
  8310. AOK BSS 0
  8311. STD T7 SAVE MAXIMUM VALUE+1
  8312. SHN -14
  8313. STD T6 SAVE MINIMUM VALUE
  8314. RJM CDR ASSEMBLE KEYWORD VALUE
  8315. LDD AB+4
  8316. SBD T6
  8317. PJN AOK2 IF VALUE .GE. MINIMUM
  8318. AOK1 JMP ILL PROCESS INCORRECT ENTRY
  8319.  
  8320. AOK2 LDD AB+4
  8321. SBD T7
  8322. PJN AOK1 IF VALUE .GT. MAXIMUM
  8323. RJM STV STORE VALUE
  8324. JMP KWP5 RETURN
  8325. PCH SPACE 4,10
  8326. *** CH=C1/C2.
  8327. *
  8328. * CHANNEL NUMBER.
  8329. * CN = 15B, IF EQUIPMENT TYPE IS *RM*.
  8330. * CN = 0-13B, 20-33B, FOR ALL OTHER EQUIPMENT TYPES.
  8331.  
  8332.  
  8333. PCH DATA H*CH*
  8334. LDN CN+1 SET CHANNEL BYTE ADDRESS
  8335. STD T4
  8336. LDM 2,MS
  8337. LPN 77 MAXIMUM CHANNELS ALLOWED
  8338. ADN CN+1
  8339. STD T3
  8340. LDN 0 CLEAR CHANNEL BUFFER
  8341. STD CN+1
  8342. STD CN+2
  8343. LDD CN+3
  8344. LMC 2RRM
  8345. NJN PCH7 IF NOT TYPE *RM*
  8346. RJM CDR
  8347. LDD AB+4
  8348. SBN 15
  8349. NJN PCH6 IF INCORRECT CHANNEL NUMBER
  8350. LDC 4000+CHMX
  8351. LJM PCH9 SET CHANNEL DATA
  8352.  
  8353. PCH5 LDD T4
  8354. SBD T3
  8355. MJN PCH7 IF MORE CHANNELS ALLOWED
  8356. PCH6 JMP ILL PROCESS INCORRECT ENTRY
  8357.  
  8358. PCH7 LDC 4000 SET CHANNEL ACCESSIBLE
  8359. STI T4
  8360. LDI KA CHECK SEPARATOR
  8361. SBN 1R8
  8362. PJN PCH6 IF NULL CHANNEL PARAMETER
  8363. RJM CDR ASSEMBLE CHANNEL NUMBER
  8364. RJM VCN VALIDATE CHANNEL NUMBER
  8365. LDD AB+4 APPEND CHANNEL NUMBER
  8366. PCH9 RAI T4
  8367. LPN 77 CHECK CHANNEL DATA
  8368. STD AB+4
  8369. LDM TCST,AB+4
  8370. ZJN PCH12 IF CHANNEL IS NOT DOWN
  8371. LDC 3000 MARK CHANNEL DOWN
  8372. RAI T4
  8373. PCH12 RJM CSC CHECK SEPARATOR CHARACTER
  8374. NJN PCH13 IF INVALID KEYWORD SEPARATOR
  8375. JMP KWP5 RETURN
  8376.  
  8377. PCH13 LMN 1R/&1R,
  8378. NJN PCH6 IF INVALID SEPARATOR
  8379. AOD T4
  8380. AOD KA
  8381. LJM PCH5 PROCESS NEXT CHANNEL
  8382. PCW SPACE 4,10
  8383. *** CW=CC.
  8384. *
  8385. * CONTROL MODULE CONTROLWARE.
  8386. * CC = *CM*, *NCM*, *C2*, OR *NC2*.
  8387.  
  8388.  
  8389. PCW DATA H*CW*
  8390. LDN TCMCL INITIALIZE TABLE OFFSET
  8391. STD T7
  8392. SOD KA
  8393. LDN 4
  8394. RJM ASN
  8395. NJN PCW2 IF ERROR IN ASSEMBLY
  8396. PCW1 LCN 3
  8397. RAD T7
  8398. PJN PCW3 IF NOT END OF TABLE
  8399. PCW2 JMP ILL PROCESS INCORRECT ENTRY
  8400.  
  8401. PCW3 LDM TCMC,T7
  8402. LMD CM
  8403. NJN PCW1 IF NO MATCH
  8404. LDM TCMC+1,T7
  8405. LMD CM+1
  8406. NJN PCW1 IF NO MATCH
  8407. LDM TCMC+2,T7
  8408. STD AB+4
  8409. RJM STV STORE VALUE
  8410. JMP KWP5 RETURN
  8411. TCMC SPACE 4,10
  8412. * TCMC - TABLE OF CONTROL MODULE CONTROLWARE TYPES.
  8413.  
  8414.  
  8415. TCMC BSS 0
  8416. VFD 24/0LCM,12/CMCW
  8417. VFD 24/0LNCM,12/CMCW+40
  8418. VFD 24/0LC2,12/C2CW
  8419. VFD 24/0LNC2,12/C2CW+40
  8420. TCMCL EQU *-TCMC TABLE LENGTH
  8421. PDR SPACE 4,10
  8422. *** DR=N.
  8423. *
  8424. * ACS DRIVE INDEX.
  8425. * N = 0-3.
  8426.  
  8427.  
  8428. PDR DATA H*DR*
  8429. LDN 4 SET MAXIMUM VALUE + 1
  8430. JMP AOK ASSEMBLE KEYWORD VALUE
  8431. PEQ SPACE 4,10
  8432. *** EQ=N.
  8433. *
  8434. * EQUIPMENT (CONTROLLER) NUMBER.
  8435. * N = 0-7.
  8436.  
  8437.  
  8438. PEQ DATA H*EQ*
  8439. LDN 10 SET MAXIMUM VALUE + 1
  8440. JMP AOK ASSEMBLE KEYWORD VALUE
  8441. PFC SPACE 4,10
  8442. *** FC=XX.
  8443. *
  8444. * FORMS CODE.
  8445. * XX = 2 ALPHANUMERIC CHARACTERS IN THE RANGE AA-99.
  8446.  
  8447.  
  8448. PFC DATA H*FC*
  8449. ZJN PFC3 IF NULL VALUE
  8450. SOD KA
  8451. LDN 3 ASSEMBLE FORMS CODE
  8452. RJM ASN
  8453. NJN PFC1 IF INCORRECT FORMS CODE
  8454. LDD T0
  8455. SBN 2
  8456. ZJN PFC2 IF 2 CHARACTERS
  8457. PFC1 JMP ILL PROCESS INCORRECT ENTRY
  8458.  
  8459. PFC2 LDD CM
  8460. STD AB+4
  8461. PFC3 RJM STV STORE VALUE
  8462. JMP KWP5 RETURN
  8463. PIB SPACE 4,10
  8464. *** IB=N.
  8465. *
  8466. * INSTALLATION BYTE.
  8467. * N = 0B - 7777B.
  8468.  
  8469.  
  8470. PIB DATA H*IB*
  8471. RJM AOD ASSEMBLE INSTALLATION BYTE VALUE
  8472. STM EBUT+5
  8473. JMP KWP5 RETURN
  8474. PID SPACE 4,10
  8475. *** ID=N.
  8476. *
  8477. * UNIT RECORD ID.
  8478. * N = 0-67B.
  8479.  
  8480.  
  8481. PID DATA H*ID*
  8482. ZJN PID1 IF NULL VALUE
  8483. RJM CDR ASSEMBLE ID
  8484. LDD AB+4
  8485. SBN IDLM
  8486. MJN PID1 IF VALID ID
  8487. JMP ILL PROCESS INCORRECT ENTRY
  8488.  
  8489. PID1 RJM STV STORE VALUE
  8490. JMP KWP5 RETURN
  8491. PLS SPACE 4,10
  8492. *** LS=N.
  8493. *
  8494. * ACS LSM INDEX.
  8495. * N = 0-17B.
  8496.  
  8497.  
  8498. PLS DATA H*LS*
  8499. LDN 20 SET MAXIMUM VALUE + 1
  8500. JMP AOK ASSEMBLE KEYWORD VALUE
  8501. PND SPACE 4,10
  8502. *** ND=N.
  8503. *
  8504. * NPU NODE NUMBER.
  8505. * N = 1-377B.
  8506.  
  8507.  
  8508. PND DATA H*ND*
  8509. LDC 1S12+400 SET MINIMUM VALUE, MAXIMUM VALUE+1
  8510. JMP AOK ASSEMBLE KEYWORD VALUE
  8511. PNT SPACE 4,10
  8512. *** NT=N.
  8513. *
  8514. * MDI NODE NUMBER.
  8515. * N = 1-377B.
  8516.  
  8517.  
  8518. PNT DATA H*NT*
  8519. LDC 1S12+400 SET MINIMUM VALUE, MAXIMUM VALUE+1
  8520. JMP AOK ASSEMBLE KEYWORD VALUE
  8521. PPA SPACE 4,10
  8522. *** PA=N.
  8523. *
  8524. * ACS PANEL INDEX.
  8525. * N = 0-23B.
  8526.  
  8527.  
  8528. PPA DATA H*PA*
  8529. LDN 24 SET MAXIMUM VALUE + 1
  8530. JMP AOK ASSEMBLE KEYWORD VALUE
  8531. PPI SPACE 4,10
  8532. *** PI=N.
  8533. *
  8534. * PIP INDEX.
  8535. * N = 1-4.
  8536.  
  8537.  
  8538. PPI DATA H*PI*
  8539. LDC 1S12+5 SET MINIMUM VALUE, MAXIMUM VALUE+1
  8540. JMP AOK ASSEMBLE KEYWORD VALUE
  8541. PPS SPACE 4,10
  8542. *** PS=X.
  8543. *
  8544. * PAPER SIZE.
  8545. * X = *S* (SHORT) OR *L* (LONG).
  8546.  
  8547.  
  8548. PPS DATA H*PS*
  8549. LDI KA
  8550. LMN 1RL
  8551. ZJN PPS2 IF LONG PAPER
  8552. LMN 1RS&1RL
  8553. ZJN PPS1 IF SHORT PAPER
  8554. JMP ILL PROCESS INCORRECT ENTRY
  8555.  
  8556. PPS1 LDD CN
  8557. SHN -7 USE PFC FLAG TO SET LAST PFC LOADED FLAG
  8558. LPN 1
  8559. LMN 2 SET SHORT PAPER FLAG
  8560. PPS2 STD AB+4
  8561. RJM STV STORE VALUE
  8562. AOD KA
  8563. JMP KWP5 RETURN
  8564. PPT SPACE 4,10
  8565. *** PT=N.
  8566. *
  8567. * PORT NUMBER OR NUMBER OF PORTS.
  8568. * N = 0 OR 1 (MULTIPLEXER PORT NUMBER) IF *RM* EQUIPMENT TYPE.
  8569. * = 1-1000B (NUMBER OF PORTS) IF *TT* STIMULATOR.
  8570.  
  8571.  
  8572. PPT DATA H*PT*
  8573. RJM CDR ASSEMBLE PORT NUMBER
  8574. LDD CN+3
  8575. LMC 2RTT
  8576. ZJN PPT5 IF *TT* STIMULATOR EQUIPMENT TYPE
  8577. LDD AB+4 MULTIPLEXER PORT NUMBER
  8578. SHN -1
  8579. ZJN PPT2 IF .LE. 1
  8580. PPT1 JMP ILL PROCESS INCORRECT ENTRY
  8581.  
  8582. PPT2 LCN 1 SET MASK IN *TKWP* ENTRY
  8583. PPT3 STM 3,T3
  8584. RJM STV STORE VALUE
  8585. JMP KWP5 RETURN
  8586.  
  8587. PPT5 LDD AB+4 NUMBER OF PORTS TO STIMULATE
  8588. ZJN PPT1 IF .EQ. 0
  8589. SBN 1
  8590. SHN -11
  8591. NJN PPT1 IF .GT. 1000B
  8592. LDD AB+4
  8593. LPC 777
  8594. STD AB+4
  8595. LDC 7000
  8596. UJN PPT3 SET MASK
  8597. PSA SPACE 4,10
  8598. *** SA=STATUS.
  8599. *
  8600. * 255X SYSTEM AUTOSTART MODULE (SAM) FLAG.
  8601. * STATUS = *ON* OR *OFF*.
  8602. *
  8603. * *ON* = *SAM* IS PRESENT.
  8604. * *OFF* = *SAM* IS ABSENT.
  8605.  
  8606.  
  8607. PSA DATA H*SA*
  8608. RJM AST ASSEMBLE *SAM* STATUS
  8609. SHN 21-0
  8610. PJN PSA2 IF *ON* OR *OFF*
  8611. JMP ILL PROCESS INCORRECT ENTRY
  8612.  
  8613. PSA2 LMN 1 COMPLEMENT FLAG
  8614. STD AB+4
  8615. RJM STV STORE VALUE
  8616. JMP KWP5 RETURN
  8617. PST SPACE 4,10
  8618. *** ST=STATUS.
  8619. *
  8620. * DEVICE STATUS.
  8621. * STATUS = *ON* OR *OFF* OR *DOWN*.
  8622. *
  8623. * *ON* = EQUIPMENT AVAILABLE FOR ACCESS.
  8624. * *OFF* OR *DOWN* = EQUIPMENT UNAVAILABLE FOR ACCESS.
  8625.  
  8626.  
  8627. PST DATA H*ST*
  8628. RJM AST ASSEMBLE STATUS
  8629. RJM STV STORE VALUE
  8630. JMP KWP5 RETURN
  8631. PTF SPACE 4,10
  8632. *** TF=XXX.
  8633. *
  8634. * TAPE FLAG.
  8635. * XXX = ATS - DEVICE IS 67X (ATS) UNIT.
  8636. * FSC - DEVICE IS FSC UNIT.
  8637. * MTS - DEVICE IS 66X (MTS) UNIT.
  8638. * IST - DEVICE IS ISMT UNIT.
  8639. * CMTGE - DEVICE IS 698 (CMTS) UNIT.
  8640. * ATSGE - ATS UNIT WITH GE (6250 CPI) CAPABILITY.
  8641. * FSCGE - FSC UNIT WITH GE (6250 CPI) CAPABILITY.
  8642.  
  8643.  
  8644. PTF DATA H*TF*
  8645. LDI KA ASSEMBLE TAPE FLAG
  8646. SHN 6
  8647. LMM 1,KA
  8648. STD AB
  8649. LDN 2
  8650. RAD KA
  8651. LDI KA
  8652. SHN 6
  8653. STD AB+1
  8654. AOD KA
  8655. LDC TTFO-3 SEARCH TAPE FLAG OPTION TABLE
  8656. STD T1
  8657. PTF1 LDN 3
  8658. RAD T1
  8659. LDI T1 COMPARE FIRST 2 CHARACTERS
  8660. ZJN PTF2 IF END OF TABLE
  8661. LMD AB
  8662. NJN PTF1 IF NOT MATCH
  8663. LDM 1,T1 COMPARE NEXT CHARACTER
  8664. SCN 77
  8665. LMD AB+1
  8666. NJN PTF1 IF NOT MATCH
  8667. LDM 2,T1 SET TAPE FLAG VALUE
  8668. STD AB+4
  8669. RJM CIT CHECK ISMT DEVICES
  8670. RJM CSC CHECK SEPARATOR CHARACTER
  8671. ZJN PTF4 IF *,* OR *.*
  8672. LDM 1,T1
  8673. SHN 21-5
  8674. MJN PTF3 IF *GE* ALLOWED
  8675. PTF2 JMP ILL PROCESS INCORRECT ENTRY
  8676.  
  8677. PTF3 LDI KA
  8678. SHN 6
  8679. LMM 1,KA
  8680. LMC 2RGE
  8681. NJN PTF2 IF NOT *GE*
  8682. LDN 2
  8683. RAD KA
  8684. LDN 4
  8685. RAD AB+4
  8686. PTF4 RJM STV STORE VALUE
  8687. JMP KWP5 RETURN
  8688. TTFO SPACE 4,10
  8689. ** TTFO - TABLE OF TAPE FLAG OPTIONS.
  8690. * ENTRY = 3 WORDS.
  8691. *
  8692. *T, 18/ TO, 1/ GE, 5/, 12/ OV
  8693. * TO = 3 CHARACTER TAPE FLAG OPTION.
  8694. * GE = GE (6250 CPI) CAPABILITIES ALLOWED.
  8695. * OV = OPTION VALUE.
  8696.  
  8697.  
  8698. TTFO BSS 0
  8699. VFD 18/3LATS,1/1,5/0,12/40
  8700. VFD 18/3LFSC,1/1,5/0,12/60
  8701. VFD 18/3LMTS,1/0,5/0,12/100
  8702. TTFOA VFD 18/3LIST,1/1,5/0,12/42
  8703. VFD 18/3LCMT,1/1,5/0,12/41
  8704. CON 0
  8705. PTN SPACE 4,10
  8706. *** TN=N.
  8707. *
  8708. * PRINTER WITH TRAIN CARTRIDGE N.
  8709. * N = 0-7.
  8710. * 0-3 = CDC GRAPHIC 64-CHARACTER SET.
  8711. * 4-5 = ASCII GRAPHIC 64-CHARACTER SET.
  8712. * 6 = ASCII GRAPHIC 95-CHARACTER SET.
  8713. * 7 = ASCII GRAPHIC 95-CHARACTER SET USED AS AN
  8714. * ASCII 64-CHARACTER SET.
  8715.  
  8716.  
  8717. PTN DATA H*TN*
  8718. LDN 10 SET MAXIMUM VALUE+1
  8719. JMP AOK ASSEMBLE KEYWORD VALUE
  8720. PUN SPACE 4,10
  8721. *** UN=U1.
  8722. *
  8723. * UNIT NUMBER.
  8724. * UN = 0-77B (MAXIMUM UNIT NUMBER IS DEVICE DEPENDENT).
  8725.  
  8726.  
  8727. PUN DATA H*UN*
  8728. LDI KA
  8729. SBN 1R8
  8730. PJN PUN1 IF NULL UNIT PARAMETER
  8731. RJM CDR ASSEMBLE UNIT NUMBER
  8732. RJM CSC
  8733. NJN PUN1 IF INCORRECT SEPARATOR
  8734. LDM 2,MS
  8735. SHN -6
  8736. STM PUNA
  8737. SBD AB+4
  8738. PJN PUN2 IF UNIT NUMBER .LE. LIMIT
  8739. PUN1 JMP ILL PROCESS INCORRECT ENTRY
  8740.  
  8741. PUN2 LDD CN+4 SET UNIT NUMBER
  8742. LPC * MASK EXISTING UNIT NUMBER
  8743. PUNA EQU *-1
  8744. LMD CN+4 CLEAR OLD UNIT NUMBER
  8745. LMD AB+4 ADD NEW UNIT NUMBER
  8746. STD CN+4
  8747. JMP KWP5 RETURN
  8748.  
  8749. PW0 SPACE 4,10
  8750. *** W0=N.
  8751. *
  8752. * EST ENTRY WORD 0.
  8753. * N = OCTAL VALUE OF EST ENTRY WORD 0 (20 DIGIT MAXIMUM).
  8754.  
  8755.  
  8756. PW0 DATA H*W0*
  8757. RJM AOD ASSEMBLE OCTAL DIGITS
  8758. LDN JSNL
  8759. CWD AB
  8760. CRD CN
  8761. JMP KWP5 RETURN
  8762. PW1 SPACE 4,10
  8763. *** W1=N.
  8764. *
  8765. * EST ENTRY WORD 1.
  8766. * N = OCTAL VALUE OF EST ENTRY WORD 1 (20 DIGIT MAXIMUM).
  8767.  
  8768.  
  8769. PW1 DATA H*W1*
  8770. RJM AOD ASSEMBLE OCTAL DIGITS
  8771. LDN JSNL
  8772. CWD AB
  8773. CRM EBUT+5,ON
  8774. JMP KWP5 RETURN
  8775. TITLE MISCELLANEOUS KEYWORD SUBROUTINES.
  8776. AODSUB
  8777. ASNSUB
  8778. AST SPACE 4,15
  8779. ** AST - ASSEMBLE STATUS.
  8780. *
  8781. * EXIT (A) = (AB+4) = STATUS.
  8782. * 0 = ON.
  8783. * 2 = OFF.
  8784. * 3 = DOWN.
  8785. *
  8786. * USES KB, ST.
  8787. *
  8788. * CALLS AKL7.
  8789.  
  8790.  
  8791. AST1 DATA C*DOWN*
  8792. LDN 3
  8793. UJN AST5 SET *DOWN* STATUS
  8794.  
  8795. AST2 DATA C*OFF*
  8796. LDN 2
  8797. UJN AST5 SET *OFF* STATUS
  8798.  
  8799. AST4 DATA C*ON*
  8800. LDN 0
  8801. AST5 STD AB+4 SET STATUS
  8802.  
  8803. AST SUBR ENTRY/EXIT
  8804. LDC ASTA-1
  8805. STD ST SET SYNTAX TABLE ADDRESS
  8806. LDD KA
  8807. STD KB
  8808. LJM AKL7 ASSEMBLE STATUS
  8809.  
  8810.  
  8811. ASTA CON AST4
  8812. CON AST2
  8813. CON AST1
  8814. CON 0 END OF STATUS SYNTAX TABLE
  8815. CDRSUB
  8816. CIT SPACE 4,10
  8817. ** CIT - CHECK ISMT DEVICES.
  8818. *
  8819. * ENTRY (T1) = TAPE FLAG.
  8820. * (MMTA) = UNIT COUNT.
  8821. *
  8822. *
  8823. * EXIT TO *ILL* IF ERROR.
  8824.  
  8825.  
  8826. CIT SUBR ENTRY/EXIT
  8827. LDD T1 TAPE FLAG
  8828. LMC TTFOA
  8829. NJN CITX IF NOT ISMT DEVICE
  8830. LDM ISPF
  8831. SHN 21-13
  8832. MJN CIT1 IF NOT CYBER 170-810/815/825/830
  8833. LDM MMTA UNIT COUNT
  8834. SBN 1
  8835. ZJN CITX IF VALID UNIT COUNT
  8836. CIT1 JMP ILL PROCESS INCORRECT ENTRY
  8837. CHN SPACE 4,10
  8838. ** CHN - CHECK ISMT DUPLICATE CHANNEL ERROR.
  8839. *
  8840. * ENTRY (A) = TAPE CHANNEL.
  8841. * (CN - CN+4) = EST ENTRY.
  8842. * (EB) = *EBUF* POINTER.
  8843. *
  8844. * USES T1, T2, AB - AB+4.
  8845. *
  8846. * CALLS CKC.
  8847.  
  8848.  
  8849. CHN SUBR ENTRY/EXIT
  8850. LPN 37
  8851. STD T2
  8852. LDD LE SET START OF SEARCH
  8853. STD T1
  8854. CHN1 SOD T1 DECREMENT EST ORDINAL
  8855. SBN NOPE
  8856. MJN CHNX IF NO MORE TO CHECK
  8857. LDD EB READ EST ENTRY
  8858. SHN 5
  8859. ADD T1
  8860. SHN 1
  8861. ADK EQDE
  8862. CRD AB
  8863. LDD AB+3
  8864. ZJN CHN1 IF EMPTY ENTRY
  8865. LMC 2RDE
  8866. ZJN CHN1 IF TYPE *DE*
  8867. LDD AB+1
  8868. RJM CKC CHECK FIRST CHANNEL
  8869. LDD AB+2
  8870. ZJN CHN1 IF NO SECOND CHANNEL
  8871. RJM CKC CHECK SECOND CHANNEL
  8872. UJN CHN1 GET NEXT EST ENTRY
  8873. CKC SPACE 4,10
  8874. ** CKC - CHECK CHANNELS.
  8875. *
  8876. * ENTRY (A) = CHANNEL DATA.
  8877. * (T1) = EST ORDINAL TO CHECK.
  8878. * (T2) = CHANNEL TO COMPARE AGAINST.
  8879. * (EQ) = CURRENT EST ORDINAL.
  8880. * (CN - CN+4) = CURRENT EST ENTRY.
  8881. * (AB - AB+4) = EST ENTRY TO COMPARE AGAINST.
  8882. *
  8883. * EXIT TO *ILL* IF ISMT DUPLICATE CHANNEL ERROR.
  8884.  
  8885.  
  8886. CKC SUBR ENTRY/EXIT
  8887. LPN 77
  8888. LMD T2
  8889. NJN CKCX IF NOT SAME CHANNEL
  8890. LDD EQ CURRENT EST ORDINAL
  8891. LMD T1
  8892. ZJN CKCX IF SAME EST ORDINAL
  8893. LDD CN
  8894. SHN 21-3
  8895. MJN CKC2 IF ISMT
  8896. LDD AB
  8897. SHN 21-3
  8898. PJN CKCX IF NOT ISMT ENTRY
  8899. CKC2 JMP ILL PROCESS ERROR
  8900. CHD SPACE 4,10
  8901. ** CHD - CHECK ISMT DUAL CHANNEL ERROR.
  8902. *
  8903. * ENTRY (CN - CN+4) = EST ENTRY.
  8904. *
  8905. * EXIT TO *ILL* IF ISMT DUAL CHANNEL ERROR.
  8906.  
  8907.  
  8908. CHD SUBR ENTRY/EXIT
  8909. LDD CN
  8910. SHN 21-3
  8911. PJN CHDX IF NOT ISMT
  8912. LDD CN+2
  8913. ZJN CHDX IF SECOND CHANNEL DOES NOT EXIST
  8914. JMP ILL PROCESS ERROR
  8915. CSC SPACE 4,10
  8916. ** CSC - CHECK SEPARATOR CHARACTER.
  8917. *
  8918. * ENTRY (KA) = ADDRESS OF SEPARATOR CHARACTER
  8919. *
  8920. * EXIT (A) = 0 IF SEPARATOR CHARACTER IS *,* OR *.*.
  8921.  
  8922.  
  8923. CSC SUBR ENTRY/EXIT
  8924. LDI KA
  8925. LMN 1R.
  8926. ZJN CSCX IF *.*
  8927. LMN 1R,&1R.
  8928. UJN CSCX RETURN
  8929. VCN SPACE 4,10
  8930. ** VCN - VALIDATE CHANNEL NUMBER.
  8931. *
  8932. * ENTRY (AB+4) = CHANNEL NUMBER.
  8933. *
  8934. * EXIT TO *ILL* IF INCORRECT CHANNEL NUMBER.
  8935.  
  8936.  
  8937. VCN2 ADN 20
  8938. SBM .CHN
  8939. PJN VCN1 IF NOT LEGAL CHANNEL
  8940.  
  8941. VCN SUBR ENTRY/EXIT
  8942. VCNA LDN 0
  8943. ZJN VCN0 IF FIRST CHANNEL
  8944. LDD AB+4
  8945. ZJN VCN1 IF .EQ. 0
  8946. VCN0 AOM VCNA
  8947. LDD AB+4 GET CHANNEL NUMBER
  8948. SBN 14
  8949. MJN VCNX IF .LE. 13B
  8950. SBN 20-14
  8951. PJN VCN2 IF .GE. 20B
  8952. VCN1 JMP ILL PROCESS INCORRECT ENTRY
  8953. TVRK SPACE 4,10
  8954. **** TVRK - TABLE OF VALID AND REQUIRED KEYWORDS.
  8955.  
  8956. TVRK BSS 0
  8957.  
  8958. * UNIT RECORD DEVICES.
  8959.  
  8960. TBKW CP,(ST,EQ,CH,ID,FC,IB),(EQ,CH)
  8961. TVRKL EQU *-TVRK
  8962. TBKW CR,(ST,EQ,CH,ID,IB),(EQ,CH)
  8963. TBKW LQ,(ST,EQ,CH,ID,FC,TN,PS,IB),(EQ,CH)
  8964. TBKW LR,(ST,EQ,CH,ID,FC,TN,PS,IB),(EQ,CH)
  8965. TBKW LS,(ST,EQ,CH,ID,FC,TN,PS,IB),(EQ,CH)
  8966. TBKW LT,(ST,EQ,CH,ID,FC,TN,PS,IB),(EQ,CH)
  8967. TBKW LX,(ST,EQ,CH,ID,FC,IB),(EQ,CH)
  8968. TBKW LY,(ST,EQ,CH,ID,FC,IB),(EQ,CH)
  8969.  
  8970. * COMMUNICATIONS / NETWORK DEVICES.
  8971.  
  8972. TBKW CC,(ST,EQ,CH,IB),(EQ,CH)
  8973. TBKW NC,(ST,CH,IB),(CH)
  8974. TBKW ND,(ST,EQ,CH,PI,ND,NT,IB),(EQ,CH,PI,ND,NT)
  8975. TBKW NP,(ST,EQ,CH,PI,ND,SA,IB),(EQ,CH,PI,ND,SA)
  8976. TBKW NQ,(ST,EQ,CH,PI,ND,SA,IB),(EQ,CH,PI,ND,SA)
  8977. TBKW RM,(ST,CH,PT,IB),(CH,PT)
  8978. TBKW TT,(ST,EQ,CH,PT,IB),(EQ,CH)
  8979.  
  8980. * *CYBIS* DEVICES.
  8981.  
  8982. TBKW CI,(CH,EQ,UN,ST,IB),(CH)
  8983. TBKW D1,(CH,EQ,UN,ST,IB),(CH)
  8984. TBKW D2,(CH,EQ,UN,ST,IB),(CH)
  8985. TBKW D3,(CH,EQ,UN,ST,IB),(CH)
  8986. TBKW D4,(CH,EQ,UN,ST,IB),(CH)
  8987. TBKW NI,(CH,EQ,UN,ST,IB),(CH)
  8988. TBKW NO,(CH,EQ,UN,ST,IB),(CH)
  8989. TBKW SP,(CH,EQ,UN,ST,IB),(CH)
  8990.  
  8991. * MAGNETIC TAPE DEVICES.
  8992.  
  8993. TBKW AT,(ST,UN,CH,LS,PA,DR,IB),(UN,CH,LS,PA,DR)
  8994. TBKW CT,(ST,UN,CH,IB),(UN,CH)
  8995. TBKW MT,(ST,EQ,UN,CH,TF,IB),(EQ,UN,CH,TF)
  8996. TBKW NT,(ST,EQ,UN,CH,TF,IB),(EQ,UN,CH,TF)
  8997.  
  8998. * MISCELLANEOUS DEVICES.
  8999.  
  9000. TBKW CM,(EQ,CH,CW,IB),(EQ,CH)
  9001. TBKW MP,(ST,CH,IB),(CH)
  9002. TBKW OD,(ST,EQ,UN,CH,IB),(ST,EQ,UN,CH)
  9003. TBKW RP,(ST,CH,IB),(CH)
  9004. TBKW SS,(ST,EQ,UN,CH,IB),(EQ,UN,CH)
  9005.  
  9006. * INSTALLATION DEFINED DEVICES.
  9007.  
  9008. TBKW **,(W0,W1),(W0)
  9009. CON 0 END OF TABLE
  9010.  
  9011. ****
  9012. TKWP SPACE 4,10
  9013. **** TKWP - TABLE OF KEYWORD PARAMETERS.
  9014.  
  9015.  
  9016. TKWP BSS 0
  9017. TBKP CH,0,1,00B,7777B CHANNEL(S)
  9018. TKWPL EQU *-TKWP
  9019. TBKP CW,0,7,00B,0000B CONTROLWARE
  9020. TBKP DR,0,7,00B,7770B ACS DRIVE INDEX
  9021. TBKP EQ,0,4,11B,0777B EQUIPMENT (CONTROLLER) NUMBER
  9022. TBKP FC,1,7,00B,0000B FORMS CODE
  9023. TBKP IB,0,5,00B,0000B INSTALLATION BYTE
  9024. TBKP ID,1,4,00B,7700B UNIT RECORD ID
  9025. TBKP LS,0,7,10B,0377B ACS LSM INDEX
  9026. TBKP ND,0,4,00B,7400B NODE NUMBER
  9027. TBKP NT,0,7,00B,7400B MDI NODE NUMBER
  9028. TBKP PA,0,7,03B,7407B ACS PANEL INDEX
  9029. TBKP PI,0,7,11B,0777B PIP INDEX
  9030. TBKP PS,0,0,10B,6377B PAGE SIZE
  9031. TBKP PT,0,4,00B,7777B PORT / PORT COUNT
  9032. TBKP SA,0,0,11B,6777B *SAM* FLAG
  9033. TBKP ST,0,0,0,7774B STATUS
  9034. TBKP TF,0,0,02B,7043B TAPE FLAGS
  9035. TBKP TN,1,4,06B,7077B PRINT TRAIN
  9036. TBKP UN,0,4,00B,7777B UNIT NUMBER
  9037. TBKP W0,0,0,00B,0000B WORD 0 (FOR **)
  9038. TBKP W1,0,0,00B,0000B WORD 1 (FOR **)
  9039. CON 0 END OF TABLE
  9040.  
  9041. ****
  9042. TRQP SPACE 4,10
  9043. ** TRQP - TABLE OF REQUIRED PARAMETERS.
  9044. *
  9045. * (TRQP) .NE. 0 IF INITIAL ENTRY OF THIS EQUIPMENT.
  9046. * (TRQP+1)-(TRQP+KTWC) = REQUIRED KEYWORDS - BIT CORRESPONDING
  9047. * TO *TVRK* BITS SET WHEN KEYWORD IS SPECIFIED.
  9048.  
  9049. TRQP BSSZ KTWC+1
  9050. SPACE 4,10
  9051. QUAL *
  9052.  
  9053. EQ2S EQU *+4-EQXO *EQ2* SIZE
  9054. EQ2L EQU EQ2S/5+77 *EQ2* OVERLAY LENGTH
  9055.  
  9056. ERRNG 7777-*-4 OVERFLOW WHEN LOADING *EQ2*
  9057. TTL SET/EQ3 - PROCESS MISCELLANEOUS *EQPDECK* ENTRY.
  9058. TITLE
  9059. IDENT EQ3,/EQ3/EQ3
  9060. QUAL EQ3
  9061. ORG EQXO
  9062. *COMMENT SET - PROCESS MISCELLANEOUS *EQPDECK* ENTRY.
  9063. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  9064. SPACE 4,10
  9065. .ILL SET 0
  9066. .KBR SET 0
  9067. EQ3 SPACE 4,10
  9068. ** EQ3 - PROCESS MISCELLANEOUS *EQPDECK* ENTRY.
  9069.  
  9070.  
  9071. EQ3 UJN /EQP/LOVX RETURN TO SYNTAX PROCESSOR
  9072. SPACE 4,10
  9073. ** TSYN - SYNTAX TABLE.
  9074.  
  9075.  
  9076. TSYN BSS 0
  9077. CON ACC
  9078. CON ACF
  9079. CON ASR
  9080. CON AXM
  9081. CON BML
  9082. CON CKP
  9083. CON DFL
  9084. CON DWN
  9085. CON ERL
  9086. CON FAM
  9087. CON ISH
  9088. CON LBC
  9089. CON MSF
  9090. CON MXS
  9091. CON PFS
  9092. CON REM
  9093. CON SHD
  9094. CON SYS
  9095. CON THD
  9096. CON UEM
  9097. CON UPC
  9098.  
  9099. TSYNA CON 0
  9100. CON NEXT
  9101. CON IPR
  9102. CON AUT
  9103. CON GRN
  9104. CON RST
  9105. CON INI
  9106. CON PRS
  9107. CON 0 END OF TABLE
  9108. TITLE CM TABLE AND BUFFER PROCESSORS.
  9109. ACF SPACE 4,10
  9110. *** ACCOUNT=EQ,BL.
  9111. * DEFINE ACCOUNT DAYFILE RESIDENCE AND CM BUFFER SIZE.
  9112. *
  9113. * EQ EST ORDINAL, IF FILE IS NOT RECOVERED.
  9114. * DEVICE CANNOT BE DEFINED AS REMOVABLE.
  9115. * BL CM BUFFER LENGTH, MUST BE A MULTIPLE OF 100B,
  9116. * DEFAULT = 400B.
  9117.  
  9118.  
  9119. ACF DATA C*ACCOUNT=*
  9120. LDN 1
  9121. UJN ERL1 PROCESS ACCOUNT LOG DEFINITION
  9122. BML SPACE 4,10
  9123. *** MAINLOG=EQ,BL.
  9124. * DEFINE MAINTENANCE LOG RESIDENCE AND CM BUFFER SIZE.
  9125. *
  9126. * EQ EST ORDINAL, IF FILE IS NOT RECOVERED.
  9127. * DEVICE CANNOT BE DEFINED AS REMOVABLE.
  9128. * BL CM BUFFER LENGTH, MUST BE A MULTIPLE OF 100B,
  9129. * DEFAULT = 0.
  9130.  
  9131.  
  9132. BML DATA C*MAINLOG=*
  9133. LDN 3
  9134. UJN ERL1 PROCESS MAINTENANCE LOG DEFINITION
  9135. DFL SPACE 4,10
  9136. *** DAYFILE=EQ,BL.
  9137. * DEFINE SYSTEM DAYFILE RESIDENCE AND CM BUFFER SIZE.
  9138. *
  9139. * EQ EST ORDINAL, IF FILE IS NOT RECOVERED.
  9140. * DEVICE CANNOT BE DEFINED AS REMOVABLE.
  9141. * BL CM BUFFER LENGTH, MUST BE A MULTIPLE OF 100B,
  9142. * DEFAULT = 400B.
  9143.  
  9144.  
  9145. DFL DATA C*DAYFILE=*
  9146. LDN 0
  9147. UJN ERL1 PROCESS DAYFILE LOG DEFINITION
  9148. ERL SPACE 4,10
  9149. *** ERRLOG=EQ,BL.
  9150. * DEFINE ERRLOG DAYFILE RESIDENCE AND CM BUFFER SIZE.
  9151. *
  9152. * EQ EST ORDINAL, IF FILE IS NOT RECOVERED.
  9153. * DEVICE CANNOT BE DEFINED AS REMOVABLE.
  9154. * BL CM BUFFER LENGTH, MUST BE A MULTIPLE OF 100B,
  9155. * DEFAULT = 200B.
  9156.  
  9157.  
  9158. ERL DATA C*ERRLOG=*
  9159. LDN 2
  9160. ERL1 STD T3
  9161. LDN NEEQ PRESET DEFAULT EQUIPMENT
  9162. STD T7
  9163. LDI KA
  9164. LMN 1R,
  9165. ZJN ERL4 IF DEFAULT EQUIPMENT
  9166. LMN 1R.&1R,
  9167. ZJN ERL2 IF ZERO LENGTH BUFFER
  9168. SOD KA
  9169. RJM CEM CHECK FOR MASS STORAGE EQUIPMENT
  9170. SHN 13-10
  9171. PJN ERL3 IF NOT REMOVABLE DEVICE
  9172. ERL2 JMP ILL PROCESS INCORRECT ENTRY
  9173.  
  9174. ERL3 LDD AB+4 SET EST ORDINAL
  9175. STD T7
  9176. LDI KA
  9177. LMN 1R.
  9178. ZJN ERL6 IF DEFAULT (PREVIOUS) BUFFER LENGTH
  9179. ERL4 AOD KA
  9180. RJM ASD
  9181. ZJN ERL2 IF ZERO LENGTH BUFFER
  9182. LPN 77
  9183. NJN ERL2 IF NOT MULTIPLE OF 100B
  9184. LDD AB+4
  9185. ADC -MXDB-1
  9186. PJN ERL2 IF ENTRY .GT. SYSTEM DEFINED MAXIMUM
  9187. LDM .DFB,T3 SET BUFFER LENGTH
  9188. LPN 77
  9189. LMD AB+4
  9190. STM .DFB,T3
  9191. ERL6 LDD T7 SET DAYFILE EQUIPMENT
  9192. LMC 4000
  9193. STM DFBF,T3
  9194.  
  9195. * ENTRY FROM *FAMILY = N* PROCESSOR.
  9196.  
  9197. ERL7 LDD ET
  9198. SHN 6
  9199. ADN NEEQ*TDDCL
  9200. CWM DFBF,ON
  9201. JMP KBR RETURN
  9202. TITLE EQUIPMENT DEFINITION ENTRIES.
  9203. SPACE 4,10
  9204. *** THESE ENTRIES MUST BE MADE AFTER EQUIPMENT HAS BEEN DEFINED.
  9205. * THESE DEFINITIONS ARE CLEARED BY *RESET*, AND IF THE
  9206. * EQUIPMENT IS REDEFINED OR DELETED (EQXXX=0.).
  9207. ACC SPACE 4,10
  9208. *** ACCESS,LL,UL,X1,X2,...,XN.
  9209. *
  9210. * SETS UPPER AND LOWER SECURITY ACCESS LEVEL LIMITS FOR
  9211. * EQUIPMENTS X1,X2,...,XN. THIS ENTRY IS VALID ONLY FOR
  9212. * MASS STORAGE, UNIT RECORD, MAGNETIC TAPE AND MULTIPLEXOR
  9213. * EQUIPMENTS. THIS ENTRY WILL BE IGNORED ON AN UNSECURE
  9214. * SYSTEM.
  9215. *
  9216. * XN = EST ORDINAL.
  9217. * LL = LOWER ACCESS LEVEL LIMIT.
  9218. * UL = UPPER ACCESS LEVEL LIMIT.
  9219.  
  9220.  
  9221. ACC DATA C*ACCESS,*
  9222. LDN AB
  9223. STD T5
  9224. SOD KA
  9225. LDM .SSML
  9226. LPN 7
  9227. NJN ACC1 IF SECURE SYSTEM
  9228. ACC0 JMP KBR RETURN
  9229.  
  9230. ACC1 LDN 10
  9231. RJM ASN ASSEMBLE ACCESS LEVEL LIMIT
  9232. NJN ACC2 IF MORE THAN 7 CHARACTERS
  9233. LDN CM CHECK FOR VALID ACCESS LEVEL
  9234. RJM VAL
  9235. MJN ACC2 IF NO MATCH
  9236. STI T5
  9237. LDI KA
  9238. LMN 1R,
  9239. NJN ACC2 IF INCORRECT SEPARATOR
  9240. AOD T5
  9241. SBN AB+2
  9242. NJN ACC1 IF NOT END OF LIMITS
  9243. LDD AB+1
  9244. SBD AB
  9245. PJN ACC3 IF LOWER LIMIT .LE. UPPER LIMIT
  9246. ACC2 JMP ILL PROCESS INCORRECT ENTRY
  9247.  
  9248. ACC3 LDD AB SAVE ACCESS LEVELS
  9249. SHN 3
  9250. ADD AB+1
  9251. STD CM
  9252. ACC4 RJM GNE GET NEXT EST ORDINAL
  9253. ZJN ACC0 IF END OF EST
  9254. MJN ACC9 IF MASS STORAGE
  9255. LDN 0 CHECK EQUIPMENT TYPE
  9256. STD T5
  9257. ACC8 AOD T5
  9258. LDM TVEQ-1,T5
  9259. ZJN ACC10 IF END OF TABLE
  9260. LMM EBUT+3
  9261. NJN ACC8 IF NOT MATCH
  9262. ACC9 LDM EBUT+10
  9263. SCN 77
  9264. LMD CM
  9265. STM EBUT+10
  9266. RJM EEB UPDATE EQUIPMENT ENTRY
  9267. UJN ACC4 CHECK NEXT EQUIPMENT
  9268.  
  9269. ACC10 RJM IRE PROCESS RANGE ERROR
  9270. TVEQ SPACE 4,10
  9271. ** TVEQ - TABLE OF VALID EQUIPMENT TYPES FOR ACCESS LEVELS.
  9272.  
  9273. TVEQ BSS 0
  9274. CON 2RAT
  9275. CON 2RCP
  9276. CON 2RCR
  9277. CON 2RCT
  9278. CON 2RLQ
  9279. CON 2RLR
  9280. CON 2RLS
  9281. CON 2RLT
  9282. CON 2RLX
  9283. CON 2RLY
  9284. CON 2RMT
  9285. CON 2RNT
  9286. CON 2ROD DEVICE TYPE OPTICAL DISK
  9287. CON 2RRM
  9288. CON 2RTT
  9289. CON 0 END OF EQUIPMENT TYPES
  9290. ASR SPACE 4,10
  9291. *** ASR=X,Y,...,Z.
  9292. *
  9293. * DEFINE EQ X,Y,...,Z AS ALTERNATE SYSTEM DEVICES.
  9294. * X - Z EST ORDINALS MUST BE .LT. 40.
  9295. *
  9296. * NOTE THE FOLLOWING SPECIFICATIONS ARE NOT ALLOWED FOR ASR
  9297. * DEVICES AND IF SPECIFIED PREVIOUSLY WILL CAUSE
  9298. * *INCORRECT ENTRY* FOR THIS ENTRY.
  9299. * *SYSTEM*
  9300. * *REMOVE*
  9301.  
  9302.  
  9303. ASR DATA C*ASR=*
  9304. SOD KA
  9305. ASR1 RJM GNE GET NEXT EST ORDINAL
  9306. NJN ASR2 IF MORE EQUIPMENT
  9307. JMP KBR RETURN
  9308.  
  9309. ASR2 PJN ASR3 IF NOT MASS STORAGE
  9310. SHN 21-12-21+13
  9311. MJN ASR3 IF SYSTEM DEVICE
  9312. SHN 12-10
  9313. PJN ASR4 IF NOT REMOVABLE DEVICE
  9314. ASR3 RJM IRE PROCESS INCORRECT RANGE
  9315.  
  9316. ASR4 LDM EBUT+4 SET *ASR* STATUS
  9317. SCN 10
  9318. LMN 10
  9319. STM EBUT+4
  9320. LDD EQ
  9321. SHN -5
  9322. NJN ASR3 IF EQUIPMENT OUT OF RANGE
  9323. RJM EEB ENTER EQUIPMENT IN TABLES
  9324. UJN ASR1 PROCESS NEXT EQUIPMENT
  9325. DWN SPACE 4,10
  9326. *** DOWN,CH=C1,C2,...,CN.
  9327. *
  9328. * DOWN SPECIFIED CHANNELS.
  9329. *
  9330. * C1 - CN = CHANNEL NUMBER TO BE DOWNED. A PREFIX OF
  9331. * *C* DESIGNATES A CONCURRENT CHANNEL.
  9332.  
  9333.  
  9334. DWN DATA C*DOWN,*
  9335. LDN 40 INDICATE *DOWN* PROCESSING
  9336.  
  9337. * ENTRY FROM *UPC* FOR COMMON
  9338. * PROCESSING OF *UP* AND *DOWN*.
  9339.  
  9340. DWN1 STD T6 SAVE UP/DOWN INDICATOR
  9341. LDC DWNA
  9342. RJM SOT SEARCH OPTION TABLE
  9343. LDI KA
  9344. LMN 1R=
  9345. NJN DWN5 IF INCORRECT SEPARATOR
  9346. STD T5 CLEAR THE UNDO FLAG
  9347. STD T4 CLEAR ERROR COUNT
  9348. DWN2 STD T3 ASSUME NORMAL CHANNEL
  9349. AOD KA
  9350. STM DWNB SAVE COMMAND STRING POINTER
  9351. LDI KA
  9352. LMN 1RC
  9353. NJN DWN3 IF NOT *C* FOR CONCURRENT CHANNEL
  9354. LDN 40 INDICATE CONCURRENT CHANNEL
  9355. STD T3
  9356. AOD KA SKIP PAST THE *C*
  9357. DWN3 RJM AOD ASSEMBLE CHANNEL NUMBER
  9358. ADD T3
  9359. STD AB+4
  9360. SBN TCSTL
  9361. PJN DWN4 IF CHANNEL NUMBER TOO HIGH
  9362. LDD AB+4
  9363. LMD DH
  9364. ZJN DWN4 IF DEADSTART CHANNEL
  9365. LDM .DSD
  9366. LMD AB+4
  9367. LPN 77
  9368. NJN DWN6 IF NOT DISK DEADSTART (CIP) CHANNEL
  9369. DWN4 LDM DWNB POSITION COMMAND LINE POINTER
  9370. STD KA
  9371. DWN5 LJM ILL RETURN ERROR
  9372.  
  9373. DWN6 LDM TCST,AB+4
  9374. LMN 40
  9375. LMD T6
  9376. ZJN DWN9 IF NOT ALREADY IN REQUESTED STATE
  9377. DWN7 LDI KA
  9378. LMN 1R,
  9379. ZJP DWN2 IF NOT LAST CHANNEL
  9380. LJM KBR RETURN
  9381.  
  9382. DWN8 LDD T4
  9383. ZJN DWN7 IF NO ERRORS
  9384. LDD T5
  9385. NJN DWN4 IF UNDO PASS
  9386. AOD T5 FLAG UNDO PASS
  9387. LDN 40 REVERSE THE PROCESSING
  9388. DWN9 LMD T6
  9389. STD T6
  9390. STM TCST,AB+4
  9391. LDN NOPE-1 INITIALIZE *EST* SEARCH ORDINAL
  9392. STD EQ
  9393. DWN10 AOD EQ INCREMENT *EST* ORDINAL
  9394. SBD LE
  9395. PJN DWN8 IF END OF *EST*
  9396. LDD EQ
  9397. RJM STA GET *EST* ENTRY
  9398. LDM EBUT+3
  9399. ZJN DWN10 IF NULL ENTRY
  9400. LMC 2RDE
  9401. ZJN DWN10 IF *DE* EQUIPMENT
  9402. LDN 40 SET *NO CHANGE* FLAG
  9403. STD AB
  9404. LDD ES
  9405. STD T3
  9406. DWN11 AOD T3
  9407. LMC EBUT+3
  9408. NJN DWN12 IF ANOTHER CHANNEL TO CHECK
  9409. LDD AB
  9410. NJN DWN10 IF ACCESSIBLE OR NOT CHANGED
  9411. LDI ES
  9412. LPN 3
  9413. LMN 3
  9414. ZJN DWN10 IF EQUIPMENT IS DOWN
  9415. AOD T4 INCREMENT ERROR COUNT
  9416. UJP DWN10 CONTINUE SCAN OF *EST*
  9417.  
  9418. DWN12 LDI T3
  9419. ZJN DWN11 IF NO CHANNEL PRESENT
  9420. LMD AB+4 CHANNEL NUMBER
  9421. LPN 77
  9422. NJN DWN13 IF NOT THIS CHANNEL
  9423. LDC 3000 DOWN/UP CHANNEL STATUS
  9424. LMI T3
  9425. STI T3
  9426. RJM EEB UPDATE *EST* ENTRY
  9427. LDD AB CLEAR *NO CHANGE* FLAG
  9428. LPN 37
  9429. STD AB
  9430. DWN13 LDI T3
  9431. SHN 21-12
  9432. MJN DWN11 IF THIS CHANNEL IS DOWN
  9433. AOD AB INCREMENT ACCESS COUNT
  9434. UJP DWN11 CHECK NEXT CHANNEL
  9435.  
  9436.  
  9437. DWNA CON 2RCH
  9438. CON 0
  9439. DWNB CON 0
  9440. FAM SPACE 4,10
  9441. *** FAMILY=NN.
  9442. *
  9443. * SET DEFAULT FAMILY NAME TO NAME ON EQUIPMENT NN.
  9444. * ALL PERMANENT FILE REQUESTS WILL GO TO THIS FAMILY UNLESS
  9445. * USER HAS INDICATED HE IS USER OF ALTERNATE FAMILY.
  9446. * NOTE THE FOLLOWING SPECIFICATIONS ARE NOT ALLOWED FOR
  9447. * DEFAULT FAMILY DEVICE AND IF SPECIFIED PREVIOUSLY WILL
  9448. * CAUSE *INCORRECT ENTRY* FOR THIS ENTRY.
  9449. * *REMOVE*
  9450. * ST = *OFF*
  9451.  
  9452.  
  9453. FAM DATA C*FAMILY=*
  9454. SOD KA
  9455. RJM CEM CHECK IF MASS STORAGE EQUIPMENT
  9456. LPC 402S6
  9457. ZJN FAM2 IF NOT OFF/DOWN/REMOVABLE
  9458. FAM1 JMP ILL PROCESS INCORRECT ENTRY
  9459.  
  9460. FAM2 LDI KA
  9461. LMN 1R.
  9462. NJN FAM1 IF NOT *.*
  9463. LDD AB+4 SET DEFAULT FAMILY EQUIPMENT
  9464. STM .PFNL+3
  9465. LJM ERL7 SET FAMILY NUMBER
  9466. INI SPACE 4,25
  9467. *** INITIALIZE,OP,X1,X2,...,XN.
  9468. * INITIALIZE MASS STORAGE EQUIPMENT *XN* BASED
  9469. * ON THE OPTION *OP*.
  9470. * OP FUNCTION
  9471. *
  9472. * AL TOTAL INITIALIZE.
  9473. * PF INITIALIZE PERMANENT FILES.
  9474. * QF INITIALIZE QUEUED FILES.
  9475. * DF INITIALIZE SYSTEM DAYFILE.
  9476. * AF INITIALIZE ACCOUNT DAYFILE.
  9477. * EF INITIALIZE ERRLOG DAYFILE.
  9478. * MF INITIALIZE MAINTENANCE LOG.
  9479. * FP FORMAT PACK (AUTOMATIC SELECTION OF *AL*).
  9480. *
  9481. * THIS ENTRY IS ONLY ALLOWED FROM THE KEYBOARD AND WHEN
  9482. * LEVEL 0 RECOVERY IS SELECTED.
  9483. *
  9484. * USE *DSD* ONLINE INITIALIZATION COMMANDS FOR ALL
  9485. * OTHER SITUATIONS.
  9486. *
  9487. * FOR OP=AL THE PARAMETERS ON THE *PF* ENTRY WILL
  9488. * BE USED TO DESCRIBE THE DEVICE.
  9489.  
  9490.  
  9491. INI DATA C*INITIALIZE,*
  9492. LDD RS
  9493. NJN INI2 IF NOT LEVEL 0
  9494. STD T4
  9495. LDC TINO SEARCH OPTION TABLE
  9496. RJM SOT
  9497. STD T6 SAVE INDEX
  9498. SBN TINOA
  9499. SHN 4-22
  9500. NJN INI1 IF FULL INITIALIZE OPTION
  9501. LDC 1777
  9502. STD T4
  9503. LMM TINF,T6 SET MASK
  9504. INI1 STM INIA
  9505. LDI KA CHECK SEPARATOR
  9506. LMN 1R,
  9507. ZJN INI6 IF VALID SYNTAX
  9508. INI2 JMP ILL PROCESS INCORRECT ENTRY
  9509.  
  9510. * SET EQUIPMENTS TO INITIALIZE.
  9511.  
  9512. INI6 RJM CEM CHECK FOR MASS STORAGE EQUIPMENT
  9513. RJM CDD CHECK DEADSTART DEVICE
  9514. ADD T4
  9515. ZJN INI2 IF FULL INITIALIZE OF DEADSTART DEVICE
  9516. LDI ES
  9517. LPN 3 CHECK DEVICE STATE
  9518. LMN 3
  9519. ZJN INI2 IF EQUIPMENT *DOWN*
  9520.  
  9521. * SET INITIALIZE OPTION.
  9522.  
  9523. LDM EBUT+4
  9524. LPC ** CLEAR BIT TO BE SET
  9525. INIA EQU *-1
  9526. LMM TINF,T6 APPEND NEW OPTION FLAG(S)
  9527. STM EBUT+4
  9528. RJM SPE ENTER EQUIPMENT IN TABLES
  9529. LDI KA
  9530. LMN 1R,
  9531. ZJN INI6 IF MORE EQUIPMENTS
  9532. JMP KBR RETURN
  9533. SPACE 4,10
  9534. ** TINO - TABLE OF INITIALIZE OPTIONS.
  9535.  
  9536.  
  9537. TINO BSS 0
  9538. CON 2RAL FULL INITIALIZE
  9539. CON 2RFP FORMAT PACK
  9540. TINOA EQU *-TINO
  9541. CON 2RPF PERMANENT FILES
  9542. CON 2RQF QUEUE FILES
  9543. CON 2RDF DAYFILE
  9544. CON 2RAF ACCOUNT FILE
  9545. CON 2REF ERRORLOG
  9546. CON 2RMF MAINTENANCE LOG
  9547. CON 0
  9548. TINF SPACE 4,10
  9549. ** TINF - TABLE OF INITIALIZE FLAGS.
  9550.  
  9551.  
  9552. TINF BSS 0
  9553. CON MLIAL
  9554. CON MLFPR+MLIAL
  9555. CON MLIPF*4
  9556. CON MLIQF*4
  9557. CON MLIDF/20
  9558. CON MLIAF/20
  9559. CON MLIEF/20
  9560. CON MLIMF/20
  9561. ISHARE SPACE 4,10
  9562. *** ISHARE=X1,X2,...,XN.
  9563. *
  9564. * DEFINE X1,X2,...,XN AS INDEPENDENT SHARED DEVICES.
  9565. * XN MUST BE MASS STORAGE AND OF TYPE FLAGGED IN *TMSD*.
  9566. *
  9567.  
  9568. ISH DATA C*ISHARE=*
  9569. LDD LD
  9570. LPC -4000
  9571. ZJN ISH1 IF NO *SHARE=* ENTRIES
  9572. JMP ILL PROCESS INCORRECT ENTRY
  9573.  
  9574. ISH1 SOD KA CHARACTER STRING ADDRESS
  9575. LDC 1020 SET INDEPENDENT SHARED DEVICE FLAG
  9576. RJM DSC DEVICE STATUS CHECK
  9577. LDC 4000
  9578. STD LD
  9579. JMP KBR RETURN
  9580. MSF SPACE 4,10
  9581. *** MSAL,X=E1,E2,... EN.
  9582. *
  9583. * ALLOW ALLOCATION TYPE *X* ON EQUIPMENTS *E1* TO *EN*.
  9584. *
  9585. * X = T FOR TEMPORARY FILES.
  9586. * I FOR INPUT FILES.
  9587. * O FOR OUTPUT FILES.
  9588. * R FOR ROLLOUT FILES.
  9589. * D FOR USER DAYFILES.
  9590. * P FOR PRIMARY FILES.
  9591. * L FOR LOCAL FILES.
  9592. * B FOR *LGO* FILES.
  9593. * S FOR SECONDARY ROLLOUT FILES.
  9594. *
  9595. * NOTE THIS ENTRY IS NOT ALLOWED FOR REMOVABLE EQUIPMENT.
  9596. * EST ORDINALS *EN* MUST BE .LT. 60.
  9597.  
  9598.  
  9599. MSF DATA C*MSAL,*
  9600. LDN MXRS-1
  9601. STD T1
  9602. MSF1 LDM TMSF,T1 FIND FILE TYPE
  9603. LMI KA
  9604. ZJN MSF3 IF FOUND
  9605. SOD T1
  9606. PJN MSF1 IF NOT END OF TABLE
  9607. MSF2 JMP ILL PROCESS INCORRECT ENTRY
  9608.  
  9609. MSF3 AOD KA CHECK SEPARATOR
  9610. LDI KA
  9611. LMN 1R=
  9612. NJN MSF2 IF INCORRECT SEPARATOR
  9613. AOD KA
  9614. LDD T1 SET BIT
  9615. ADD TH
  9616. ERRNZ 1000-SHNI ADJUST IF VALUE CHANGES
  9617. STM MSFA
  9618. LDN 1
  9619. MSFA SHN **
  9620. MSF4 STD T7 SET MASKS
  9621. LMC -0
  9622. STM MSFB
  9623. LDC TDDB+DVFA
  9624. STD T6
  9625. SOD KA
  9626. MSF5 RJM GNE GET NEXT EST ORDINAL
  9627. NJN MSF6 IF MORE EQUIPMENT
  9628. JMP KBR RETURN
  9629.  
  9630. MSF6 PJN MSF7 IF NOT MASS STORAGE
  9631. SHN 21-10-21+13
  9632. PJN MSF8 IF NOT REMOVABLE DEVICE
  9633. MSF7 RJM IRE PROCESS INCORRECT RANGE
  9634.  
  9635. MSF8 LDN 57
  9636. SBD EQ
  9637. MJN MSF7 IF EQUIPMENT OUT OF RANGE
  9638. LDI T6
  9639. LPC 0
  9640. MSFB EQU *-1
  9641. LMD T7
  9642. STI T6
  9643. LPN 1
  9644. ZJN MSF9 IF NOT TEMPORARY FILES
  9645. LDI ES
  9646. SHN 21-11
  9647. MJN MSF9 IF SHARED DEVICE
  9648. LDI T6
  9649. LPC -4000
  9650. LMC 4000
  9651. STI T6
  9652. MSF9 RJM SPE UPDATE EQUIPMENT DEFINITION
  9653. UJN MSF5 PROCESS NEXT EQUIPMENT
  9654.  
  9655. TMSF INDEX ALLOCATION TYPE TABLE
  9656. INDEX TMPS,1RT TEMPORARY FILES
  9657. INDEX INPS,1RI INPUT FILES
  9658. INDEX OUTS,1RO OUTPUT FILES
  9659. INDEX ROLS,1RR ROLLOUT FILES
  9660. INDEX DAYS,1RD USER DAYFILES
  9661. INDEX PRIS,1RP PRIMARY FILES
  9662. INDEX LOCS,1RL LOCAL FILES
  9663. INDEX LGOS,1RB *LGO* FILES
  9664. INDEX SROS,1RS SECONDARY ROLLOUT FILES
  9665. INDEX MXRS
  9666. MXS SPACE 4,10
  9667. *** MAXSHARE=N,B.
  9668. *
  9669. * DEFINE MAXIMUM NUMBER OF SHARED DEVICES, IF *PRESET* MAY BE
  9670. * PERFORMED AND NOT ALL SHARED DEVICES ARE DEFINED ON THIS
  9671. * MAINFRAME.
  9672. *
  9673. * N = MAXIMUM TOTAL NUMBER OF SHARED DEVICES (N < 377B).
  9674. * B = OPTIONAL PARAMETER SPECIFYING MAXIMUM NUMBER OF SHARED
  9675. * DEVICES WHICH ARE BUFFERED DEVICES (B .LE. N; B < 377B).
  9676.  
  9677.  
  9678. MXS DATA C*MAXSHARE=*
  9679. RJM AOD ASSEMBLE OCTAL DIGITS
  9680. SBK 377
  9681. PJN MXS1 IF DEVICE COUNT TOO LARGE
  9682. LDD AB+4
  9683. STD T3
  9684. SBD NS
  9685. PJN MXS2 IF .GE. NUMBER OF SHARED DEVICES
  9686. MXS1 JMP ILL PROCESS INCORRECT ENTRY
  9687.  
  9688. MXS2 LDI KA CHECK SEPARATOR
  9689. LMN 1R.
  9690. ZJN MXS3 IF NO OPTIONAL PARAMETER SPECIFIED
  9691. AOD KA SKIP SEPARATOR
  9692. RJM ASD ASSEMBLE DIGITS
  9693. SBK 377
  9694. PJN MXS1 IF DEVICE COUNT TOO LARGE
  9695. LDD AB+4
  9696. SBM NSBD
  9697. MJN MXS1 IF .LT. NUMBER OF SHARED DEVICES
  9698. LDD T3
  9699. SBD AB+4
  9700. MJN MXS1 IF MORE SHARED BUFFERED THAN TOTAL SHARED
  9701. LDD AB+4 SET MAXIMUM SHARED BUFFERED DEVICE COUNT
  9702. STM MSBD
  9703. MXS3 LDD T3 SET MAXIMUM SHARED DEVICE COUNT
  9704. STM MSDC
  9705. JMP KBR RETURN
  9706. PFS SPACE 4,30
  9707. *** PF=NNN,TY,DM,SM,FM,DN,NC.
  9708. *
  9709. * DEFINE PERMANENT FILE FAMILY DEVICE PARAMETERS (TY=F).
  9710. *
  9711. * PF=NNN,TY,FM,NC.
  9712. *
  9713. * DEFINE AUXILIARY PERMANENT FILE DEVICE PARAMETERS (TY = X).
  9714. *
  9715. * ALL PARAMETERS ARE ORDER DEPENDENT.
  9716. * THIS ENTRY IS REQUIRED ONLY IF DEVICE IS TO BE INITIALIZED.
  9717. * PF DESCRIPTIONS WILL BE RECOVERED FROM LABEL IF INITIALIZE
  9718. * IS NOT SPECIFIED.
  9719. *
  9720. * NNN EST ORDINAL.
  9721. *
  9722. * TY TYPE OF PERMANENT FILE RESIDENCE.
  9723. * *F* = DEVICE IS A FAMILY DEVICE.
  9724. * *X* = DEVICE IS AUXILIARY (BOTH DIRECTS AND INDIRECTS
  9725. * ALLOWED) IF TX = X THEN ONLY FM PARAMETER
  9726. * IS REQUIRED
  9727. *
  9728. * DM DEVICE MASK - THIS DEFINES WHICH USERS CATALOGS RESIDE
  9729. * ON THIS DEVICE. 0 < DM < 377.
  9730. * THIS IS NOT ENTERED FOR AUXILIARY DEVICE.
  9731. * A BIT SET IN DM FIELD DIRECTS TO THIS
  9732. * DEVICE ALL CATALOGS WHOSE LAST DIGIT
  9733. * CORRESPONDS TO BIT POSITION.
  9734. * EXAMPLE DM = 132 CONTAINS USERS WITH USER
  9735. * INDEX -
  9736. * XXX1
  9737. * XXX3
  9738. * XXX4
  9739. * XXX6
  9740. *
  9741. * SM SECONDARY MASK THIS DEFINES WHICH USERS MAY DEFINE
  9742. * DIRECT ACCESS PERMANENT FILES ON THIS
  9743. * DEVICE. THE VALIDATION IS PERFORMED
  9744. * IN THE SAME MANNER AS FOR THE
  9745. * DEVICE MASK.
  9746. *
  9747. * FM FAMILY NAME (1 - 7 CHARACTERS) THIS SHOULD
  9748. * BE THE SAME FOR ALL DEVICES IN
  9749. * THE FAMILY.
  9750. * THIS IS PACK NAME IF TY = X.
  9751. *
  9752. * DN DEVICE NUMBER THIS DEFINES UNIQUE DESCRIPTION OF
  9753. * DEVICE IN FAMILY. ALL DEVICES IN FAMILY
  9754. * SHOULD HAVE DIFFERENT DN SPECIFIED.
  9755. * DN = 1-77. THIS IS NOT ENTERED FOR
  9756. * AUXILIARY DEVICE.
  9757. *
  9758. * NC NUMBER OF CATALOG TRACKS THIS PARAMETER MUST
  9759. * BE A POWER OF 2 AND NOT GREATER THAN
  9760. * 200B. THIS PARAMETER IS OPTIONAL WITH
  9761. * THE DEFAULT BASED ON EQUIPMENT TYPE.
  9762. * THIS ENTRY IS MEANINGLESS IF *DM* IS NOT
  9763. * DEFINED.
  9764.  
  9765.  
  9766. PFS DATA C*PF=*
  9767. SOD KA
  9768. RJM CEM CHECK IF EQUIPMENT MASS STORAGE
  9769. LDI KA CHECK SEPARATOR
  9770. LMN 1R,
  9771. NJN PFS1 IF NOT *,*
  9772. AOD KA SKIP *,*
  9773.  
  9774. * PROCESS *TY*.
  9775.  
  9776. LDI KA
  9777. LMN 1RF
  9778. ZJN PFS3 IF FAMILY DEVICE
  9779. LMN 1RX&1RF
  9780. ZJN PFS2 IF *X*
  9781. PFS1 JMP ILL PROCESS INCORRECT ENTRY
  9782.  
  9783. PFS2 LDN 4 SET AUXILIARY STATUS
  9784. PFS3 STD T4
  9785. AOD KA ADVANCE CHARACTER
  9786. LDI KA
  9787. LMN 1R,
  9788. NJN PFS1 IF SEPARATOR NOT *,*
  9789. LDD T4
  9790. ZJN PFS4 IF NOT AUXILIARY DEVICE
  9791. LDC 377S8 SET DEFAULT MASKS
  9792. UJN PFS5 PROCESS PACK NAME
  9793.  
  9794. * PROCESS *DM*.
  9795.  
  9796. PFS4 AOD KA ASSEMBLE DEVICE MASK
  9797. RJM AOD
  9798. SHN -10
  9799. NJN PFS6 IF OUT OF RANGE
  9800. LDD AB+4 SET IN DEVICE DESCRIPTION *TDDE*
  9801. STD T7
  9802.  
  9803. * PROCESS *SM*.
  9804.  
  9805. AOD KA ASSEMBLE *SM*
  9806. RJM AOD
  9807. SHN -10
  9808. NJN PFS6 IF OUT OF RANGE
  9809. LDD AB+4
  9810. SHN 10
  9811. ADD T7
  9812. PFS5 STD T7
  9813. SHN -14
  9814. STD T6
  9815.  
  9816. * PROCESS FAMILY OR PACKNAME.
  9817.  
  9818. LDN 10 ASSEMBLE NAME
  9819. RJM ASN
  9820. NJN PFS6 IF .GT. 7 CHARACTERS
  9821. LDD CM CHECK NAME
  9822. ZJN PFS6 IF NO CHARACTERS ASSEMBLED
  9823. LMC 1R0*100
  9824. NJN PFS7 IF NOT *0*
  9825. PFS6 JMP ILL PROCESS INCORRECT ENTRY
  9826.  
  9827. * PROCESS *DN*.
  9828.  
  9829. PFS7 LDD T4
  9830. NJN PFS8 IF AUXILIARY DEVICE
  9831. AOD KA ASSEMBLE DEVICE NUMBER
  9832. RJM AOD
  9833. LPN 77
  9834. ZJN PFS6 IF INCORRECT DEVICE NUMBER
  9835. RAD CM+3
  9836.  
  9837. * PROCESS *NC*.
  9838.  
  9839. PFS8 LDI KA
  9840. LMN 1R.
  9841. ZJN PFS9 IF DEFAULT USED
  9842. AOD KA
  9843. RJM ASD
  9844. SHN 4
  9845. PFS9 RAD T6
  9846. STM TDDB+DVPF SAVE PARAMETERS
  9847. SHN -14
  9848. PFS10 NJN PFS6 IF *NC* .GT. 200B
  9849. LDD T7
  9850. STM TDDB+DVPF+1
  9851. LDD T6
  9852. SHN -4
  9853. ZJN PFS11 IF *NC* = ZERO
  9854. LDD AB+4
  9855. SHN 21-10
  9856. SHN 1
  9857. PJN *-1 IF BIT NOT DETECTED
  9858. LPC 376000
  9859. NJN PFS10 IF *NC* NOT A POWER OF 2
  9860. PFS11 LDI ES
  9861. SCN 4
  9862. LMD T4 SET *X* STATUS
  9863. STI ES
  9864. LDD CM MOVE NAME TO *TDDE*
  9865. STM TDDB+DVNM
  9866. LDD CM+1
  9867. STM TDDB+DVNM+1
  9868. LDD CM+2
  9869. STM TDDB+DVNM+2
  9870. LDD CM+3
  9871. STM TDDB+DVDN
  9872. RJM SPE UPDATE TABLE IN CM
  9873. LJM KBR RETURN
  9874. PRS SPACE 4,10
  9875. *** PRESET.
  9876. *
  9877. * PRESET LINK DEVICE FOR MULTI-MAINFRAME OPERATION.
  9878. *
  9879. * PRESET=X,Y,...,Z.
  9880. * PRESET=X-Z.
  9881. *
  9882. * PRESET TABLES ON INDEPENDENT SHARED DEVICES X,Y,...,Z.
  9883. *
  9884. * THIS ENTRY IS ALLOWED ONLY FROM THE KEYBOARD.
  9885.  
  9886.  
  9887. PRS DATA C*PRESET*
  9888. LDD RS
  9889. NJN PRS1 IF NOT LEVEL 0 DEADSTART
  9890. LDI KA
  9891. LMN 1R=
  9892. ZJN PRS5 IF PRESETTING ISHARED DEVICES
  9893. RJM CLD ASSURE LINK DEVICE DEFINED
  9894. ZJN PRS1 IF NO SHARED DEVICES
  9895. LDI KA
  9896. LMN 1R.
  9897. ZJN PRS3 IF NO PARAMETER
  9898. PRS1 JMP ILL PROCESS INCORRECT ENTRY
  9899.  
  9900. PRS3 LDN 1 SET *PRESET* FLAG
  9901. STM PRSF
  9902. PRS4 JMP KBR RETURN
  9903.  
  9904. PRS5 LDD LD
  9905. SHN 0-13
  9906. ZJN PRS1 IF NOT ISHARED ENVIRONMENT
  9907. PRS6 RJM GNE GET NEXT EST ORDINAL
  9908. ZJN PRS4 IF END OF COMMAND
  9909. PJN PRS1 IF NOT MASS STORAGE
  9910. SHN 13-4
  9911. PJN PRS1 IF NOT ISHARED DEVICES
  9912. LDM DVPR+TDDB
  9913. SCN 1
  9914. LMN 1 SET PRESET FLAG
  9915. STM DVPR+TDDB
  9916. RJM SPE RETURN EQUIPMENT ENTRIES
  9917. UJN PRS6 NEXT ORDINAL
  9918. REM SPACE 4,10
  9919. *** REMOVE=X,Y,...,Z.
  9920. *
  9921. * DEFINE EQUIPMENTS X,Y,...,Z AS REMOVABLE DEVICES.
  9922. * THESE EQUIPMENTS WILL BE AVAILABLE TO REMOVE OR INTRODUCE
  9923. * DEVICES DURING OPERATION OF SYSTEM.
  9924. *
  9925. * NOTE THIS DIRECTIVE MUST BE ENTERED BEFORE A MASS STORAGE
  9926. * DEVICE CAN BE SPECIFIED AS *DOWN* SUCCESSFULLY.
  9927. * DEVICES *DE*, *DP*, *DV* AND *DW* CANNOT BE REMOVABLE.
  9928. * THE FOLLOWING SPECIFICATIONS ARE NOT ALLOWED FOR
  9929. * REMOVABLE DEVICES AND IF SPECIFIED PREVIOUSLY WILL
  9930. * CAUSE *INCORRECT ENTRY* FOR THIS ENTRY.
  9931. *
  9932. * *ASR*
  9933. * *SYSTEM*
  9934. * *TEMP*
  9935. * *FAMILY*
  9936. * *DAYFILE*
  9937. * *ACCOUNT*
  9938. * *ERRLOG*
  9939. * *SCKP*
  9940.  
  9941.  
  9942. REM DATA C*REMOVE=*
  9943. SOD KA
  9944. REM1 RJM GNE GET NEXT EST ORDINAL
  9945. NJN REM2 IF MORE EQUIPMENT
  9946. JMP KBR RETURN
  9947.  
  9948. REM2 PJN REM3 IF NOT MASS STORAGE
  9949. LPC 2000S6
  9950. ADM TDDB+DVFA
  9951. ZJN REM4 IF NOT SYSTEM OR FILE ALLOCATION DEVICE
  9952. REM3 RJM IRE PROCESS INCORRECT RANGE
  9953.  
  9954. REM4 LDM TDDB+DVPR CHECK CHECKPOINT DEVICE
  9955. LPN 2
  9956. NJN REM3 IF SYSTEM CHECKPOINT DEVICE
  9957. LDM EBUT+4
  9958. LPN 10
  9959. NJN REM3 IF ALTERNATE SYSTEM DEVICE
  9960. LDD AB+4
  9961. LMM .PFNL+3
  9962. ZJN REM3 IF DEFAULT FAMILY DEVICE
  9963. LDN DFBFL-1+MDLL
  9964. STD T1
  9965. REM5 LDM DFBF,T1
  9966. LPC 777
  9967. LMD AB+4
  9968. ZJN REM3 IF DAYFILE DEVICE
  9969. SOD T1
  9970. PJN REM5 IF NOT END OF DAYFILES
  9971. LDN REML-1 CHECK TABLE OF NON-REMOVABLE DEVICES
  9972. STD T1
  9973. REM6 LDM REMA,T1 CHECK NEXT TABLE ENTRY
  9974. LMM EBUT+3
  9975. ZJN REM3 IF DEVICE CANNOT BE REMOVABLE
  9976. SOD T1
  9977. PJN REM6 IF NOT END OF TABLE
  9978. LDI ES
  9979. LPC 7377
  9980. LMC 400
  9981. STI ES
  9982. RJM SPE RETURN EQUIPMENT ENTRY TO TABLES
  9983. LJM REM1 MORE EQUIPMENT TO PROCESS
  9984.  
  9985.  
  9986. REMA BSS 0 DEVICES THAT CANNOT BE REMOVABLE
  9987. CON 2RDE
  9988. CON 2RDP
  9989. CON 2RDV
  9990. CON 2RDW
  9991. REML EQU *-REMA LENGTH OF TABLE
  9992.  
  9993. CKP SPACE 4,10
  9994. *** SCKP=X,Y,...,Z.
  9995. *
  9996. * *CKP* ASSIGNS THE CHECKPOINT ATTRIBUTE TO DEVICES WITH EST
  9997. * ORDINALS X, Y, ..., Z. CHECKPOINT DEVICES MUST BE
  9998. * NON-REMOVABLE AND CANNOT BE EXTENDED MEMORY DEVICES.
  9999.  
  10000.  
  10001. CKP DATA C*SCKP=*
  10002. SOD KA
  10003. CKP1 RJM GNE GET NEXT EST ORDINAL
  10004. NJN CKP2 IF MORE EQUIPMENT
  10005. JMP KBR RETURN
  10006.  
  10007. CKP2 PJN CKP3 IF NOT MASS STORAGE DEVICE
  10008. SHN 13-10
  10009. MJN CKP3 IF REMOVABLE DEVICE
  10010. LDM EBUT+3
  10011. LMC 2RDE
  10012. ZJN CKP3 IF EM DEVICE
  10013. LMK 2RDP&2RDE
  10014. ZJN CKP3 IF EM DEVICE
  10015. LDM TDDB+DVPR SET CHECKPOINT DEVICE BIT IN SKELETAL MST
  10016. SCN 2
  10017. LMN 2
  10018. STM TDDB+DVPR BACK INTO MST BUFFER
  10019. RJM SPE UPDATE EQUIPMENT DEFINITION
  10020. UJN CKP1 CHECK FOR MORE EQUIPMENT
  10021.  
  10022. CKP3 RJM IRE PROCESS INCORRECT ENTRY
  10023. SHD SPACE 4,10
  10024. *** SHARE=X1,X2,...,XN.
  10025. *
  10026. * DEFINE X1,X2,...,XN AS SHARED DEVICES.
  10027. * XN MUST BE MASS STORAGE AND OF TYPE FLAGGED IN *TMSD*.
  10028. *
  10029. * NOTE THIS ENTRY IS NOT ALLOWED FOLLOWING *PRESET*.
  10030.  
  10031.  
  10032. SHD DATA C*SHARE=*
  10033. LDD LD
  10034. SHN 0-13
  10035. NJN SHD2 IF ISD PRESENT
  10036. LDM PRSF
  10037. NJN SHD2 IF LINK DEVICE PRESET
  10038. SOD KA
  10039. LDD TH
  10040. RJM DSC DEVICE STATUS CHECK
  10041. LDN LDEQ SET LINK DEVICE NUMBER
  10042. STD LD
  10043. JMP KBR RETURN
  10044.  
  10045. SHD2 JMP ILL PROCESS INCORRECT ENTRY
  10046. SYSTEM SPACE 4,10
  10047. *** SYSTEM=X,Y,...,Z.
  10048. * SET SYSTEM DEVICES TO X, Y, ..., Z.
  10049. * X - Z MAY BE ANY NON REMOVABLE MASS STORAGE DEVICE.
  10050. * IF NONE IS SPECIFIED, THE FIRST MASS STORAGE
  10051. * DEVICE IS USED AS A DEFAULT.
  10052. * ALL EQUIPMENTS SPECIFIED MUST BE OF SAME TYPE.
  10053. * X - Z EST ORDINALS MUST BE .LT. 40.
  10054. *
  10055. * ENTRY IS NOT ALLOWED IF
  10056. * ST = *OFF*
  10057. * *REMOVE*
  10058. * *ASR*
  10059.  
  10060.  
  10061. SYS DATA C*SYSTEM=*
  10062. SOD KA
  10063. SYS1 RJM GNE GET NEXT EST ORDINAL
  10064. NJN SYS2 IF MORE EQUIPMENT
  10065. JMP KBR RETURN
  10066.  
  10067. SYS2 PJN SYS3 IF NOT MASS STORAGE
  10068. SHN 21-12-21+13
  10069. MJN SYS1 IF ALREADY SYSTEM DEVICE
  10070. LPC 402S7
  10071. NJN SYS3 IF OFF/DOWN/REMOVABLE
  10072. LDM EBUT+4
  10073. SHN 21-3
  10074. MJN SYS3 IF ALTERNATE SYSTEM DEVICE
  10075. LDD EQ
  10076. SHN -5
  10077. NJN SYS3 IF EQUIPMENT OUT OF RANGE
  10078. LDM SYDC
  10079. ZJN SYS4 IF NO PREVIOUS SYSTEM DEVICES
  10080. LMN MXSY
  10081. ZJN SYS3 IF MAXIMUM SYSTEM DEVICE COUNT
  10082. LDM EBUT+3
  10083. LMM SYDT
  10084. NJN SYS3 IF NOT SAME DEVICE TYPE
  10085. LDM EBUT+4
  10086. LMM SYNU
  10087. LPN 7
  10088. ZJN SYS5 IF SAME UNIT COUNT
  10089. SYS3 RJM IRE PROCESS INCORRECT RANGE
  10090.  
  10091. SYS4 LDM EBUT+3 SET SYSTEM DEVICE TYPE
  10092. STM SYDT
  10093. LDM EBUT+4
  10094. STM SYNU
  10095. SYS5 LDC 2000 SET SYSTEM DEVICE STATUS
  10096. RAI ES
  10097. LDN 1 SET *TSDS* ALLOCATION STATUS
  10098. SHN TSDS
  10099. RAM TDDB+DVFA
  10100. RJM SPE RETURN EQUIPMENT ENTRIES
  10101. AOM SYDC INCREMENT SYSTEM DEVICE COUNT
  10102. LJM SYS1 CHECK FOR ADDITIONAL SYSTEM DEVICES
  10103. THD SPACE 4,10
  10104. *** THRESHOLD,OP=XXXX,X1,X2,...,XN.
  10105. *
  10106. * OP = VF TO SET VALIDATION FAILURE THRESHOLD.
  10107. * RA TO SET RESTRICT ACTIVITY THRESHOLD.
  10108. * LS TO SET LOW SPACE THRESHOLD.
  10109. * RE TO SET RECOVERED ERROR THRESHOLD.
  10110. * UE TO SET UNRECOVERED ERROR THRESHOLD.
  10111. * XXXX = THRESHOLD VALUE.
  10112. * X1,X2,...,XN = EST ORDINALS OF MS DEVICES.
  10113.  
  10114.  
  10115. THD DATA C*THRESHOLD,*
  10116. LDC TTHD
  10117. RJM SOT SEARCH TABLE FOR THRESHOLD OPTION
  10118. STD T6
  10119. LDI KA CHECK SEPARATOR
  10120. LMN 1R=
  10121. NJN THD1 IF NOT *=*
  10122. AOD KA
  10123. RJM AOD ASSEMBLE THRESHOLD VALUE
  10124. STD T7
  10125. SHN 0-13
  10126. NJN THD1 IF VALUE TOO LARGE
  10127. LDI KA CHECK NEXT SEPARATOR
  10128. LMN 1R,
  10129. ZJN THD3 IF VALID SYNTAX
  10130. THD1 JMP ILL INCORRECT ENTRY
  10131.  
  10132. THD2 PJN THD1 IF NOT MASS STORAGE DEVICE
  10133. LDD T7 SET ERROR THRESHOLD
  10134. STM TDDB+DVTH,T6
  10135. RJM SPE UPDATE EQUIPMENT DEFINITION
  10136. THD3 RJM GNE CHECK NEXT EST ORDINAL
  10137. NJN THD2 IF ANOTHER DEVICE SPECIFIED
  10138. JMP KBR RETURN
  10139.  
  10140.  
  10141. ** TTHD - TABLE OF THRESHOLD IDENTIFIERS.
  10142.  
  10143.  
  10144. TTHD INDEX
  10145. INDEX DVVF-DVTH,2RVF VERIFICATION FAILURES
  10146. INDEX DVRA-DVTH,2RRA RESTRICTED ACTIVITY
  10147. INDEX DVLS-DVTH,2RLS LOW SPACE
  10148. INDEX DVRE-DVTH,2RRE RECOVERED ERRORS
  10149. INDEX DVUE-DVTH,2RUE UNRECOVERED ERRORS
  10150. INDEX 5
  10151. CON 0
  10152. UEM SPACE 4,10
  10153. *** UEMIN.
  10154. *
  10155. * TOGGLE FULL INITIALIZE STATUS FOR *UEM* EQUIPMENT
  10156. * ON LEVEL 0 DEADSTART.
  10157.  
  10158.  
  10159. UEM DATA C*UEMIN.*
  10160. LDD EN CHECK FOR UEM PRESENT
  10161. RJM STA
  10162. ZJN UEM1 IF EXTENDED MEMORY EQUIPMENT UNDEFINED
  10163. LDM EMTY
  10164. LMN 4
  10165. ZJN UEM2 IF MEMORY TYPE *UEM*
  10166. UEM1 JMP ILL PROCESS INCORRECT ENTRY
  10167.  
  10168. UEM2 LDD RS
  10169. NJN UEM3 IF RECOVERY DEADSTART
  10170. LDM EBUT+4
  10171. LPC MLIAL+17
  10172. LMC MLIAL SET FULL INITIALIZE REQUESTED
  10173. STM EBUT+4
  10174. RJM EEB UPDATE EQUIPMENT SPECIFICATION
  10175. UEM3 JMP KBR RETURN
  10176. UPC SPACE 4,10
  10177. *** UP,CH=C1,C2,...,CN.
  10178. *
  10179. * UP SPECIFIED CHANNELS PREVIOUSLY DOWNED.
  10180. *
  10181. * C1 - CN = CHANNEL NUMBER TO BE UPPED. A PREFIX OF
  10182. * *C* DESIGNATES A CONCURRENT CHANNEL.
  10183.  
  10184.  
  10185. UPC DATA C*UP,*
  10186. LDN 0 INDICATE *UP* PROCESSING
  10187. UJP DWN1 JOIN COMMON *UP*/*DOWN* PROCESSING
  10188. XM SPACE 4,20
  10189. *** XM=MID,IIII,UUUUU,EM.
  10190. * ALLOCATE EXTENDED MEMORY WHERE -
  10191. *
  10192. * MID = MACHINE ID.
  10193. * IIII = NUMBER OF WORDS/1000B TO ALLOCATE FOR 819/DEMA/895
  10194. * BUFFERS. MINIMUM = 40B (16K WORDS).
  10195. * MAXIMUM = 37770B (8M WORDS).
  10196. * = 0 IF NO BUFFERS DESIRED.
  10197. * UUUUU = NUMBER OF WORDS/1000B TO ALLOCATE FOR USER XM.
  10198. * MAXIMUM = 77740B.
  10199. * EM = IF PRESENT, FORCE USER EXTENDED MEMORY TO UEM.
  10200. *
  10201. * XM=MID.
  10202. * CLEAR ALLOCATION FOR MACHINE *ID*.
  10203.  
  10204.  
  10205. AXM DATA C*XM=*
  10206. LDC SHNI+3 PRESET SHIFT INSTRUCTION
  10207. ADM EMSC
  10208. STM AXMA
  10209. LDN ZERL INITIALIZE TABLE ENTRY
  10210. CRD CN
  10211. SOD KA
  10212. RJM A2C ASSEMBLE MACHINE ID
  10213. AXM0 ZJP .ILL IF NOT SPECIFIED
  10214. STD CN
  10215. LDN 1
  10216. RJM AVS ASSEMBLE IOB SIZE
  10217. ZJN AXM1 IF NO IOB SIZE SPECIFIED
  10218. STD CN+4
  10219. RJM CFT CONVERT TO TRACK COUNT
  10220. SHN 6
  10221. ADD T0
  10222. SHN -5
  10223. SBD CN+4
  10224. SHN 0-21
  10225. RAD T0
  10226. STD CN+3
  10227. AXM1 LDN 0
  10228. RJM AVS ASSEMBLE USER XM SIZE
  10229. STD CN+2
  10230. ZJN AXM1.1 IF VALUE NOT SPECIFIED
  10231. LDM VEFL
  10232. ZJN AXM1.1 IF *VE* NOT SPECIFIED
  10233. LDM VEMZ
  10234. ADM VEMZ+1
  10235. ZJN AXM0 IF *VE=.* SPECIFIED
  10236. AXM1.1 RJM A2C ASSEMBLE OPTIONAL *EM* PARAMETER
  10237. LMC 2REM
  10238. NJN AXM2 IF NO *EM* PARAMETER
  10239. LDM EMTY
  10240. LMN 4
  10241. ZJN AXM2 IF UEM EST ENTRY PRESENT
  10242. AOD CN+1 SET USER XM IN UEM
  10243.  
  10244. * VALIDATE ENTRIES ARE CONSISTENT FOR MAINFRAME AND EM TYPE.
  10245.  
  10246. AXM2 LDD ID
  10247. LMD CN
  10248. NJN AXM6 IF NOT FOR THIS MACHINE
  10249.  
  10250. * *EM* REQUIRES CME MACHINE.
  10251.  
  10252. LDD CN+1
  10253. ZJN AXM3 IF NOT *EM*
  10254. LDD HO
  10255. SHN 21-13
  10256. MJN AXM5 IF NOT CME
  10257.  
  10258. * I/O BUFFERS REQUIRE CPU ACCESS EQUIPMENT.
  10259.  
  10260. AXM3 LDD CN+4
  10261. ZJN AXM4 IF NO I/O BUFFERS
  10262. LDD EN
  10263. ZJN AXM5 IF NO CPU ACCESS EQUIPMENT
  10264.  
  10265. * USER XM REQUIRES CPU ACCESS, UNLESS IT-S IN UEM WITH NO EST.
  10266.  
  10267. AXM4 LDD CN+2
  10268. ZJN AXM8 IF NO USER XM
  10269. LDD EN
  10270. NJN AXM8 IF CPU ACCESS EQUIPMENT
  10271. LDD CN+1
  10272. NJN AXM8 IF *EM*
  10273. AXM5 JMP ILL
  10274.  
  10275. * VALIDATE ENTRIES FOR ANOTHER MACHINE.
  10276. * I/O BUFFERS OR USER XM REQUIRES LINK DEVICE.
  10277.  
  10278. AXM6 LDD CN+4
  10279. ADD CN+2
  10280. ZJN AXM7 IF NO I/O BUFFERS OR USER XM
  10281. LDD PD
  10282. ZJN AXM5 IF NO LINK DEVICE
  10283. LDN 0
  10284. AXM7 STD CN+1 CLEAR POSSIBLE USER XM IN UEM FLAG
  10285.  
  10286. * LOCATE PROPER ENTRY IN TABLE.
  10287.  
  10288. AXM8 LDN 0
  10289. STD T3 CLEAR POINTER TO EMPTY SLOT
  10290. STD T4
  10291. LDD CN
  10292. LMD ID
  10293. ZJN AXM11 IF ENTRY FOR THIS MACHINE, USE FIRST SLOT
  10294.  
  10295. * SEARCH EXTENDED MEMORY ALLOCATION TABLE FOR MATCHING ID
  10296. * OR EMPTY SLOT.
  10297.  
  10298. AXM9 LDN 5
  10299. RAD T4 ADVANCE SEARCH
  10300. ADK -TAXML
  10301. MJN AXM10 IF NOT END OF TABLE
  10302. LDD T3
  10303. ZJN AXM5 IF NO FREE ENTRY
  10304. STD T4
  10305. LJM AXM15 MOVE ENTRY TO TABLE
  10306.  
  10307. AXM10 LDM TAXM,T4
  10308. LMD CN
  10309. ZJN AXM15 IF MATCHING ENTRY FOUND
  10310. LMD CN
  10311. NJN AXM9 IF SLOT USED
  10312. LDD T3
  10313. NJN AXM9 IF FREE ENTRY FOUND
  10314. LDD T4
  10315. STD T3 SAVE POINTER TO EMPTY SLOT
  10316. UJN AXM9 LOOP
  10317.  
  10318. * PROCESS ENTRY FOR THIS MACHINE.
  10319.  
  10320. AXM11 LDD T5 SET SHIFT COUNT FROM *AVS*
  10321. STM UESC
  10322. LDM EMTY
  10323. LMN 4
  10324. ZJN AXM15 IF UEM PRESENT, PRESERVE ITS SIZE
  10325. LDD CN+1
  10326. NJN AXM13 IF INTERNAL USER EXTENDED MEMORY SPECIFIED
  10327. LDM TAXM+1 CHECK PRIOR *XM* ENTRY
  10328. ZJN AXM15 IF NO PRIOR INTERNAL USER EM DEFINITION
  10329. LDN 0
  10330. UJN AXM14 CLEAR UEM SIZE
  10331.  
  10332. AXM13 LDD CN+2 GET USER EXTENDED MEMORY SIZE
  10333. AXMA SHN 3 CONVERT BACK TO 100B WORD BLOCKS
  10334. * SHN 3+EMSC (EMSC = EXTENDED MEMORY SHIFT COUNT)
  10335. AXM14 STM UEMZ+1 SET/CLEAR UEM REQUIRED SIZE
  10336. SHN -14
  10337. STM UEMZ
  10338.  
  10339. * ENTER *XM* ENTRY IN *TAXM* TABLE.
  10340.  
  10341. AXM15 LDN CN
  10342. STD T1
  10343. LDD CN+2
  10344. ADD CN+4
  10345. NJN AXM16 IF NOT CLEARING ENTRY
  10346. STD CN CLEAR MACHINE ID
  10347. AXM16 LDI T1 MOVE ENTRY TO *TAXM* TABLE
  10348. STM TAXM,T4
  10349. AOD T4
  10350. AOD T1
  10351. SBN CN+5
  10352. NJN AXM16 IF MORE BYTES TO MOVE
  10353. RJM CMS
  10354. ZJN AXM17 IF NO ERROR
  10355. JMP ERR ERROR EXIT
  10356.  
  10357. AXM17 JMP KBR RETURN
  10358. TITLE MISCELLANEOUS SUBROUTINES.
  10359. ACM SPACE 4,10
  10360. ** ACM - ADJUST CENTRAL MEMORY.
  10361. *
  10362. * EXIT (FL - FL+1) = EXECUTION FIELD LENGTH.
  10363. *
  10364. * USES T1 - T4.
  10365.  
  10366.  
  10367. ACM SUBR ENTRY/EXIT
  10368. LDD FL
  10369. STM MCMS
  10370. LDD FL+1 SAVE MINCM VALUE
  10371. STM MCMS+1
  10372. LCN 0 SET MAXIMUM NOS FL TO 2097088
  10373. STD T2
  10374. LPN 7
  10375. STD T1
  10376. LDM UEMZ+1
  10377. ADM UEMZ
  10378. ZJN ACM1 IF NO UEM DEFINED
  10379. LDD MZ+1
  10380. LPN 7 ADJUST FOR 1000B WORD UEM BOUNDARY
  10381. ACM1 STD T4
  10382. LDM VEMZ+1 FIND MEMORY NOT ALLOCATED TO VE OR UEM
  10383. ADM UEMZ+1
  10384. RAD T4
  10385. SHN -14
  10386. ADM VEMZ
  10387. ADM UEMZ
  10388. STD T3
  10389. LDD MZ+1
  10390. SBD T4
  10391. STD FL+1
  10392. PJN ACM1.1 IF NO BORROW
  10393. AOD T3 ADJUST FOR BORROW
  10394. AOD FL+1
  10395. ACM1.1 LDD MZ
  10396. SBD T3
  10397. STD FL
  10398. LDD T1 COMPARE WITH MAXIMUM USABLE NOS FL
  10399. STD T3
  10400. LDD FL+1
  10401. SBD T2
  10402. STD T4
  10403. PJN ACM2 IF NO BORROW
  10404. AOD T3 ADJUST FOR BORROW
  10405. AOD T4
  10406. ACM2 LDD FL
  10407. SBD T3
  10408. STD T3
  10409. MJN ACM4 IF NO UNUSED MEMORY AVAILABLE FOR NOS/VE
  10410. LDM VEFL
  10411. ZJN ACM3 IF NOS/VE NOT DEFINED
  10412. LDD T4
  10413. RAM VEMZ+1 ADJUST NOS/VE MEMORY SIZE
  10414. SHN -14
  10415. ADD T3
  10416. RAM VEMZ
  10417. ACM3 LDD T1 ADJUST NOS MEMORY SIZE
  10418. STD FL
  10419. LDD T2
  10420. STD FL+1
  10421. ACM4 LDD FL
  10422. ZJN ACM5 IF MACHINE FL .LT. 262K
  10423. LDD HO
  10424. SHN 0-13
  10425. ZJN ACM5 IF CME MAINFRAME
  10426. LCN 0 SET NOS MEMORY SIZE TO 262K - 100B
  10427. STD FL+1
  10428. LDN 0
  10429. STD FL
  10430. ACM5 LDD FL+1
  10431. ADM UEMZ+1
  10432. SHN -14
  10433. ADD FL
  10434. ADM UEMZ
  10435. SHN -3
  10436. NJN ACM6 IF EXPANDED MODE NEEDED
  10437. LDM EMSC
  10438. ADD TH
  10439. ERRNZ SHNI-1000
  10440. STM ACMB
  10441. LDM EMFL
  10442. ZJN ACM7 IF EXPANDED MODE NOT NEEDED
  10443. ACMB SHN 0
  10444. * SHN EMSC
  10445. SBN 1
  10446. SHN -14 CHECK FOR EMFL GT 2MW
  10447. ZJN ACM7 IF EXPANDED MODE NOT NEEDED
  10448. ACM6 LDK PSNI
  10449. STM ACMD
  10450. LDM CMDL GET MODEL NUMBER
  10451. SBN 40
  10452. ZJP ACM11 IF CYBER 835
  10453. SBN 77-40
  10454. PJN ACM10 IF CYBER 990
  10455. LDM C8XX
  10456. ZJN ACM8 IF CYBER 800 TYPE MAINFRAME
  10457. LDD HO
  10458. SHN 21-13
  10459. PJN ACM8 IF CYBER 865/875
  10460. LDC PJNI+ACM13-ACMC
  10461. STM ACMC ERROR, IF ECS AND .GT. 2MW XM
  10462. ACM7 LDM CMDL
  10463. SBN 77
  10464. PJN ACM10 IF CYBER 990
  10465. LDD HO
  10466. LPC 100 CHECK FOR A CYBER 170 TYPE MAINFRAME
  10467. NJN ACM9 IF NOT A CYBER 170 TYPE MAINFRAME
  10468. LDN CFGL
  10469. CRD CM
  10470. LDD CM+3
  10471. SHN 21-12 GET ESM MODE BIT
  10472. ACMC PJN ACM9 IF ECS AND NOT ESM
  10473. * PJN ACM13 (IF ECS MODE AND .GT. 2MW)
  10474. ACM8 LDN 1 SET EXPANDED ADDRESSING MODE
  10475. STM EMAF
  10476. ACM9 LJM ACMX RETURN
  10477.  
  10478. ACM10 LDM C9LM
  10479. NJN ACM15 IF LARGE CYBER 990
  10480. ACMD UJN ACM9 RETURN
  10481. * PSN (IF .GE. 2MW CM)
  10482. ACM11 LDD FL SUBTRACT UEM FROM CM
  10483. SBM UEMZ
  10484. STD FL
  10485. SBM MCMS CHECK FOR TOO LITTLE MEMORY AVAILABLE
  10486. MJN ACM13 IF MORE XM REQUESTED THAN AVAILABLE
  10487. LDD FL
  10488. SHN 14
  10489. ADD FL+1
  10490. SBM UEMZ+1
  10491. STD FL+1
  10492. SHN -14
  10493. STD FL
  10494. SHN 14
  10495. ADD FL+1
  10496. SBM MCMS+1 CHECK FOR TOO LITTLE MEMORY AVAILABLE
  10497. ACM12 PJN ACM9 IF VALID MEMORY SIZE REMAINING
  10498. ACM13 LDC 2RXM
  10499. STM CMSA
  10500. LDC CMSA
  10501. ACM14 LJM DSE DISPLAY ERROR MESSAGE AND HANG
  10502.  
  10503. ACM15 LDM TAXM+2
  10504. NJN ACM12 IF USER XM PRESENT
  10505. LDC ACME
  10506. UJN ACM14 DISPLAY ERROR MESSAGE
  10507.  
  10508.  
  10509. ACME DATA C*USER XM REQUIRED.*
  10510.  
  10511. ERRPL ACM13-ACMC-40 JUMP OUT OF RANGE
  10512. AODSUB
  10513. ASDSUB
  10514. ASNSUB
  10515. AVS SPACE 4,10
  10516. ** AVS - ASSEMBLE AND VALIDATE SIZE PARAMETER.
  10517. *
  10518. * ENTRY (A) = 0 IF PROCESSING USER EM SIZE.
  10519. * = 1 IF PROCESSING IO BUFFER SIZE.
  10520. * (KA) = CURRENT CHARACTER STRING ADDRESS.
  10521. *
  10522. * EXIT (A) = 0 IF END OF STRING, ELSE ASSEMBLED SIZE/*EMBS*.
  10523. * (T5) = USER EM SHIFT COUNT REQUIRED FOR USER EM SIZE
  10524. * TO FIT IN 11 BITS.
  10525. *
  10526. * ERROR TO *ILL* IF INCORRECT SIZE ENTRY.
  10527. *
  10528. * CALLS AOD.
  10529.  
  10530.  
  10531. AVS6 LDD LD
  10532. LPC 777
  10533. NJN AVS7 IF LINK DEVICE DEFINED
  10534. LDM EMSC
  10535. STM LDSH USE EM DEVICE WITH CPU ACCESS
  10536. AVS7 LDC SHNI+3
  10537. SBM EMSC
  10538. STM AVSA
  10539. LDD AB+3 RETURN SIZE PARAMETER VALUE
  10540. SHN 14
  10541. LMD AB+4
  10542. AVSA SHN 3 ALLOW FOR BLOCKING FACTOR
  10543. * SHN 3-EMSC
  10544. ADN 7
  10545. SHN -3
  10546. STD T0
  10547. SHN -14
  10548. NJN AVS1 IF VALUE TOO LARGE
  10549. LDD T0
  10550.  
  10551. AVS SUBR ENTRY/EXIT
  10552. STD T5
  10553. LDI KA
  10554. SBN 1R.
  10555. ZJN AVSX IF NO ENTRY
  10556. AOD KA ADVANCE CHARACTER ADDRESS
  10557. RJM AOD ASSEMBLE SIZE PARAMETER
  10558. LDD AB+3 VALIDATE SIZE PARAMETER
  10559. SCN 7
  10560. NJN AVS1 IF SIZE TOO LARGE
  10561. LDD T5
  10562. ZJN AVS2 IF PROCESSING USER XM SIZE
  10563. LDD AB+3
  10564. SHN 14
  10565. LMD AB+4
  10566. ZJN AVSX IF NO IOB SIZE SPECIFIED
  10567. SBN 40
  10568. MJN AVS1 IF IOB SIZE .LT. 16K WORDS
  10569. SBK 37771-40
  10570. MJN AVS5 IF IOB SIZE .LT. 8M WORDS
  10571. AVS1 JMP ILL PROCESS INCORRECT ENTRY
  10572.  
  10573. AVS2 LDD AB+3
  10574. SHN 14
  10575. LMD AB+4
  10576. ADC -77741
  10577. PJN AVS1 IF USER XM SIZE .GT. MAXIMUM
  10578. ADC 77741
  10579. SHN -13
  10580. ZJN AVS4 IF .LE. 1M WORDS
  10581. AVS3 STD T0
  10582. AOD T5 INCREASE EM SHIFT COUNT
  10583. LDD T0
  10584. SHN -1
  10585. NJN AVS3 IF XM SIZE NOT YET DETERMINED
  10586. AVS4 LDD EN
  10587. NJN AVS5 IF XM DEVICE DEFINED
  10588. LDD T5
  10589. ZJN AVS5 IF NO SHIFT REQUIRED
  10590. SBN 1
  10591. STM EMSC
  10592. AVS5 UJP AVS6 RETURN SIZE PARAMETER VALUE
  10593. A2C SPACE 4,10
  10594. ** A2C - ASSEMBLE TWO CHARACTER VALUE.
  10595. *
  10596. * ENTRY KA = CURRENT CHARACTER STRING ADDRESS.
  10597. *
  10598. * EXIT (A) = VALUE ASSEMBLED.
  10599. * TO *ILL* IF SEPARATOR NOT *.* OR *,* OR IF
  10600. * VALUE LONGER THAN TWO CHARACTERS.
  10601. *
  10602. * CALLS ASN.
  10603.  
  10604.  
  10605. A2C1 LDD CM RETURN VALUE
  10606.  
  10607. A2C SUBR
  10608. LDI KA
  10609. SBN 1R.
  10610. ZJN A2CX IF NOTHING TO ASSEMBLE
  10611. LDN 3
  10612. RJM ASN ASSEMBLE VALUE
  10613. ZJN A2C1 IF .LE. 2 CHARACTERS AND PROPER SEPARATOR
  10614. JMP ILL PROCESS INCORRECT ENTRY
  10615. CDD SPACE 4,10
  10616. ** CDD - CHECK DEADSTART DISK.
  10617. *
  10618. * ENTRY (DF) = DEADSTART FUNCTION.
  10619. * (DH) = DEADSTART CHANNEL.
  10620. *
  10621. * EXIT (A) = 0 IF DEADSTART DEVICE.
  10622.  
  10623.  
  10624. CDD SUBR ENTRY/EXIT
  10625. LDD DF
  10626. LPC 700
  10627. NJN CDDX IF NOT DISK DEADSTART
  10628. LDI ES
  10629. SHN -6
  10630. LPN 42
  10631. CDD1 LMN 42
  10632. NJN CDDX IF NOT MASS STORAGE / *LDAM* DEVICE
  10633. LDM EBUT+1
  10634. LMD DH
  10635. LPN 77
  10636. ZJN CDD2 IF MATCH ON PRIMARY CHANNEL
  10637. LDM EBUT+2
  10638. ZJN CDD1 IF NO SECONDARY CHANNEL
  10639. LMD DH
  10640. LPN 77
  10641. NJN CDDX IF NO MATCH ON SECONDARY CHANNEL
  10642. CDD2 LDD DF
  10643. LPN 77
  10644. LMM TDDB+DVUN+3
  10645. UJN CDDX RETURN
  10646. CDRSUB
  10647. CDT SPACE 4,10
  10648. ** CDT - CHECK DEADSTART TAPE.
  10649. *
  10650. * ENTRY (DF) = DEADSTART FUNCTION.
  10651. * (DH) = DEADSTART CHANNEL.
  10652. *
  10653. * EXIT (A) = 0 IF DEADSTART DEVICE.
  10654.  
  10655.  
  10656. CDT SUBR ENTRY/EXIT
  10657. LDM EBUT+3 CHECK EQUIPMENT TYPE
  10658. SHN 14
  10659. LMC 1LT+1RN
  10660. ZJN CDT2 IF *NT*
  10661. CDT1 LMN 1RM&1RN
  10662. NJN CDTX IF NOT *MT*
  10663. CDT2 LDM EBUT+4
  10664. LMD DF CHECK CONNECT CODE
  10665. LPC 7017
  10666. NJN CDTX IF NO MATCH ON EQUIPMENT AND UNIT
  10667. LDM EBUT+1 CHECK 1ST CHANNEL
  10668. LMD DH
  10669. LPN 37
  10670. ZJN CDTX IF MATCH ON 1ST CHANNEL
  10671. LDM EBUT+2
  10672. ZJN CDT1 IF NO SECOND CHANNEL
  10673. LMD DH
  10674. LPN 37
  10675. UJN CDTX RETURN
  10676. CEM SPACE 4,10
  10677. ** CEM - CHECK FOR MASS STORAGE.
  10678. *
  10679. * EXIT (A) = (EBUT) WITH BIT 13 SHIFTED TO SIGN POSITION.
  10680. * (MS) = *TMSD* TABLE ADDRESS.
  10681. * (AB+4) = EST ORDINAL.
  10682.  
  10683.  
  10684. CEM2 LDD AB+4 FETCH EQUIPMENT DEFINITION
  10685. RJM STA
  10686. LDI ES
  10687. SHN 21-13
  10688. PJN CEM1 IF NOT MASS STORAGE
  10689.  
  10690. CEM SUBR ENTRY/EXIT
  10691. AOD KA
  10692. RJM AOD ASSEMBLE EST ORDINAL
  10693. SBD LE
  10694. MJN CEM2 IF VALID EST ORDINAL
  10695. CEM1 JMP ILL PROCESS INCORRECT ENTRY
  10696. CLD SPACE 4,10
  10697. ** CLD - CHECK LINK DEVICE DEFINED FOR MMF OPERATION.
  10698. *
  10699. * EXIT (A) = 0 IF NO SHARED DEVICES.
  10700. *
  10701. * ERROR TO *DDE*.
  10702. *
  10703. * NOTES IF (NS) .NE. 0 AND A LINK DEVICE IS DEFINED
  10704. * CORRECTLY, SHARED STATUS WILL BE SET IF THE
  10705. * LINK DEVICE IS NOT ALREADY SHARED.
  10706. *
  10707. * CALLS EEB, STA.
  10708.  
  10709.  
  10710. CLD SUBR ENTRY/EXIT
  10711. LDD LD
  10712. LMC 4000
  10713. ZJN CLDX IF ISD PRESENT
  10714. LDD NS
  10715. ZJN CLDX IF NO SHARED DEVICES
  10716. LDN LDEQ CHECK LINK DEVICE TYPE
  10717. RJM STA
  10718. ZJN CLD4 IF NO EQUIPMENT DEFINED
  10719. LDM TDDB+DVED CHECK EXTENDED MEMORY TYPE
  10720. SHN -6
  10721. LPN 7
  10722. ZJN CLD3 IF NOT EXTENDED MEMORY
  10723. SBN 3
  10724. ZJN CLD3 IF LCME
  10725. LDI ES
  10726. SHN 21-1
  10727. MJN CLD3 IF DEVICE *OFF* OR *DOWN*
  10728. SHN 2+21-11
  10729. MJN CLDX IF SHARED STATUS SET PREVIOUSLY
  10730. LDD TH SET SHARED STATUS
  10731. RAI ES
  10732. RJM EEB RETURN EQUIPMENT ENTRY
  10733. AOD NS ADVANCE SHARED DEVICE COUNT
  10734. UJP CLDX RETURN
  10735.  
  10736. CLD3 LDN CLDB-CLDA SET ERROR MESSAGE ADDRESS
  10737. CLD4 ADC CLDA
  10738. LJM DDE DISPLAY DEADSTART ERROR
  10739.  
  10740.  
  10741. CLDA DATA C*NO LINK DEVICE DEFINED.*
  10742. CLDB DATA C*LINK DEVICE INCORRECTLY DEFINED.*
  10743. CME SPACE 4,10
  10744. ** CME - CHECK *MMF* ENVIRONMENT.
  10745. *
  10746. * ERROR TO *DDE*.
  10747. *
  10748. * CALLS CLD.
  10749.  
  10750.  
  10751. CME SUBR ENTRY/EXIT
  10752. RJM CLD
  10753. ZJN CMEX IF NOT ECS MMF ENVIRONMENT
  10754. LDM EBUT+4
  10755. SCN 17
  10756. ZJN CMEX IF LINK DEVICE NOT BEING INITIALIZED
  10757. LDM PRSF
  10758. NJN CMEX IF PRESET SPECIFIED
  10759. LDC CMEA
  10760. LJM DDE DISPLAY DEADSTART ERROR
  10761.  
  10762.  
  10763. CMEA DATA C*INITIALIZE OF LINK DEVICE REQUIRES PRESET.*
  10764. COD SPACE 4,10
  10765. ** COD - CONVERT OCTAL TO DISPLAY CODE.
  10766. *
  10767. * ENTRY (A) = FWA OF ERROR MESSAGE.
  10768. * (EQ) = EST ORDINAL OF INCORRECT EQUIPMENT.
  10769. *
  10770. * EXIT (KM) = ERROR MESSAGE ADDRESS.
  10771.  
  10772.  
  10773. COD SUBR ENTRY/EXIT
  10774. STD KM
  10775. LDD EQ UNPACK FIRST TWO DIGITS
  10776. SHN -3
  10777. STD T0
  10778. SHN 3
  10779. LMD T0
  10780. SCN 70
  10781. ADC 2R00 CONVERT DIGIT
  10782. STM 1,KM
  10783. LDD EQ UNPACK THIRD DIGIT
  10784. LPN 7
  10785. SHN 6
  10786. ADC 2R0 CONVERT DIGIT
  10787. STM 2,KM
  10788. UJN CODX RETURN
  10789. DCM SPACE 4,10
  10790. ** DCM - DISPLAY CONVERTED MESSAGE.
  10791. *
  10792. * ENTRY (A) = ADDRESS OF ERROR MESSAGE.
  10793. * (EQ) = EST ORDINAL OF INCORRECT EQUIPMENT.
  10794. *
  10795. * EXIT TO *DDE*.
  10796. *
  10797. * CALLS COD.
  10798.  
  10799.  
  10800. DCM RJM COD CONVERT OCTAL TO DISPLAY
  10801. LDD KM
  10802. * UJN DDE
  10803. ERRNZ DDE-* IF CODE NOT CONTIGUOUS
  10804. DDE SPACE 4,10
  10805. ** DDE - DISPLAY DEADSTART ERROR.
  10806. *
  10807. * ENTRY (A) = ADDRESS OF ERROR MESSAGE.
  10808. *
  10809. * EXIT TO *ATD3*.
  10810.  
  10811.  
  10812. DDE STD KM SET MESSAGE ADDRESS
  10813. LDN 0
  10814. STD DS FORCE DISPLAY
  10815. STD DP
  10816. LJM ATD3 PROCESS KEYBOARD ASSEMBLY
  10817. DSC SPACE 4,10
  10818. ** DSC - DEVICE STATUS CHECK.
  10819. *
  10820. * ENTRY (A) = BITS TO SET IN BYTE 0 OF EST ENTRY.
  10821. *
  10822. * EXIT (MS) = *TMSD* BUFFER ADDRESS IF MASS STORAGE.
  10823. * (AB+4) = EST ORDINAL.
  10824. *
  10825. * USES NS, T7.
  10826. *
  10827. * CALLS GNE, IRE, SPE.
  10828.  
  10829.  
  10830. DSC SUBR ENTRY/EXIT
  10831. STD T7
  10832. DSC1 RJM GNE GET NEXT EST ORDINAL
  10833. ZJN DSCX IF NO MORE EQUIPMENT
  10834. PJN DSC3 IF NOT MASS STORAGE
  10835. SHN 21-11-21+13
  10836. MJN DSC1 IF ALREADY DEFINED AS SHARED
  10837. LDM TDDB+DVCT CHECK FOR VALID DEVICE TYPE
  10838. SHN 21-13
  10839. PJN DSC3 IF INCORRECT DEVICE TYPE
  10840. LDD T7
  10841. RAI ES
  10842. LPN 20
  10843. ZJN DSC4 IF NOT INDEPENDENT SHARED DEVICE
  10844. LDM EBUT+3
  10845. LMC 2RDE
  10846. ZJN DSC3 IF EXTENDED MEMORY
  10847. LMK 2RDP&2RDE
  10848. NJN DSC4 IF NOT EXTENDED MEMORY
  10849. DSC3 RJM IRE PROCESS INCORRECT RANGE
  10850.  
  10851. DSC4 AOD NS INCREMENT SHARED DEVICE COUNT
  10852. LDI ES
  10853. LPN 40
  10854. ZJN DSC5 IF NOT BUFFERED DEVICE
  10855. AOM NSBD INCREMENT SHARED BUFFERED DEVICE COUNT
  10856. DSC5 LDM TDDB+DVFA CLEAR TEMP - NONSHARED STATUS
  10857. LPC -4000
  10858. STM TDDB+DVFA
  10859. RJM SPE SYNCHRONIZE PARTITIONS AND ENTER EQUIPMENT
  10860. UJP DSC1 PROCESS NEXT EQUIPMENT
  10861. GNE SPACE 4,15
  10862. ** GNE - GET NEXT EST ORDINAL.
  10863. *
  10864. * ENTRY (KA) = ADDRESS OF SEPARATOR.
  10865. *
  10866. * EXIT (A) = (EBUT) WITH BIT 13 SHIFTED TO SIGN POSITION,
  10867. * IF MASS STORAGE EQUIPMENT.
  10868. * = 1, IF NOT MASS STORAGE EQUIPMENT.
  10869. * = 0, IF NO MORE EQUIPMENTS.
  10870. * (EQ) = EST ORDINAL.
  10871. *
  10872. * USES AB+3, AB+4, EQ, KA.
  10873. *
  10874. * CALLS AOD, CDR, STA.
  10875.  
  10876.  
  10877. GNE6 LDD AB+4
  10878. STD EQ
  10879. SBD LE
  10880. MJN GNE7 IF VALID EST ORDINAL
  10881. RJM IRE PROCESS INCORRECT RANGE
  10882.  
  10883. GNE7 LDD AB+4
  10884. RJM STA
  10885. LDM EBUT+3
  10886. NJN GNE8 IF ENTRY NOT NULL
  10887. LDM GNEA
  10888. NJN GNE1 IF PROCESSING A RANGE OF ORDINALS
  10889. JMP ILL PROCESS INCORRECT ENTRY
  10890.  
  10891. GNE8 LDI ES
  10892. SHN 21-13
  10893. MJN GNEX IF MASS STORAGE
  10894. LDN 1
  10895.  
  10896. GNE SUBR ENTRY/EXIT
  10897. LDM GNEA
  10898. ZJN GNE2 IF NOT PROCESSING RANGE
  10899. GNE1 AOD AB+4
  10900. LDM GNEA
  10901. SBD AB+4
  10902. PJN GNE3 IF NOT END OF RANGE
  10903. LDN 0
  10904. STM GNEA
  10905. GNE2 LDI KA
  10906. LMN 1R. CHECK SEPARATOR
  10907. ZJN GNEX IF *.*
  10908. AOD KA
  10909. RJM CDR ASSEMBLE EST ORDINAL
  10910. LMN 1R, CHECK SEPARATOR
  10911. ZJN GNE3 IF *,*
  10912. LMN 1R.&1R,
  10913. ZJN GNE3 IF *.*
  10914. LMN 1R-&1R.
  10915. NJN GNE4 IF NOT *-*
  10916. LDD AB+4 SAVE EST ORDINAL
  10917. STD EQ
  10918. AOD KA
  10919. RJM AOD ASSEMBLE LAST EST ORDINAL
  10920. STM GNEA SAVE LAST EST ORDINAL
  10921. SBK ESMX
  10922. PJN GNE4 IF EST ORDINAL EXCEEDS MAXIMUM
  10923. LDD EQ
  10924. STD AB+4 RESTORE CURRENT EST ORDINAL
  10925. SBM GNEA
  10926. PJN GNE4 IF INCORRECT RANGE
  10927. GNE3 LJM GNE6 READ EST ENTRY
  10928.  
  10929. GNE4 JMP ILL PROCESS INCORRECT ENTRY
  10930.  
  10931. GNEA CON 0 LAST EST ORDINAL IN RANGE
  10932. IRE SPACE 4,10
  10933. ** IRE - INCORRECT RANGE ERROR.
  10934. *
  10935. * ENTRY (EQ) = EST ORDINAL OF INCORRECT EQUIPMENT.
  10936. *
  10937. * EXIT TO *ERR*.
  10938. *
  10939. * CALLS COD.
  10940.  
  10941.  
  10942. IRE EQU *-1
  10943. LDC IREA
  10944. RJM COD
  10945. JMP ERR
  10946.  
  10947.  
  10948. IREA DATA C*EQXXX - INCORRECT ENTRY*
  10949. SDF SPACE 4,10
  10950. ** SDF - SET DEFAULT MASS STORAGE DEVICE.
  10951. *
  10952. * EXIT (DFMS) = FIRST NONREMOVABLE MASS STORAGE DEVICE.
  10953. *
  10954. * ERROR TO *DDE*.
  10955. *
  10956. * USES EQ.
  10957. *
  10958. * CALLS STA.
  10959.  
  10960.  
  10961. SDF3 LPC 402S6
  10962. NJN SDF2 IF OFF/DOWN/REMOVABLE
  10963. LDM EBUT+3
  10964. LMC 2RDE
  10965. ZJN SDF2 IF EXTENDED MEMORY
  10966. LMK 2RDP&2RDE
  10967. ZJN SDF2 IF EXTENDED MEMORY
  10968. LDD EQ
  10969. SBN 40
  10970. PJN SDF2 IF ORDINAL OUT OF RANGE
  10971. ADN 40
  10972. STM DFMS SET DEFAULT DEVICE
  10973.  
  10974. SDF SUBR ENTRY/EXIT
  10975. LDN NOPE
  10976. STD EQ
  10977. SDF1 LDD EQ FETCH EQUIPMENT ENTRY
  10978. RJM STA
  10979. LDI ES
  10980. SHN 21-13
  10981. MJN SDF3 IF MASS STORAGE
  10982. SDF2 AOD EQ INCREMENT ORDINAL
  10983. LMD LE
  10984. NJN SDF1 IF NOT END OF EST
  10985. LDC SDFA
  10986. LJM DDE DISPLAY DEADSTART ERROR
  10987.  
  10988.  
  10989. SDFA DATA C*NO SYSTEM DEVICE DEFINED.*
  10990. SDS SPACE 4,10
  10991. ** SDS - SEARCH FOR DEADSTART DEVICE.
  10992. *
  10993. * EXIT (AB+4) = EST ORDINAL OF DEADSTART DEVICE.
  10994. *
  10995. * ERROR TO *DDE*.
  10996. *
  10997. * USES AB+4.
  10998. *
  10999. * CALLS CDD, CDT, STA.
  11000.  
  11001.  
  11002. SDS SUBR ENTRY/EXIT
  11003. LDN NOPE
  11004. STD AB+4
  11005. SDS1 LDD AB+4 READ EQUIPMENT ENTRY
  11006. RJM STA
  11007. LDI ES
  11008. LPN 3
  11009. LMN 3
  11010. ZJN SDS2 IF DEVICE *DOWN*
  11011. RJM CDD CHECK DEADSTART DISK
  11012. ZJN SDSX IF MS DEVICE IDENTIFIED
  11013. RJM CDT CHECK DEADSTART TAPE
  11014. ZJN SDSX IF TAPE UNIT FOUND
  11015. SDS2 AOD AB+4 ADVANCE EST ORDINAL
  11016. LMD LE
  11017. NJN SDS1 IF NOT END OF EST
  11018. LDC SDSA
  11019. LJM DDE DISPLAY DEADSTART ERROR
  11020.  
  11021.  
  11022. SDSA DATA C*DEADSTART DEVICE UNDEFINED.*
  11023. SOT SPACE 4,15
  11024. ** SOT - SEARCH OPTION TABLE.
  11025. *
  11026. * ENTRY (A) = FWA OF PARAMETER TABLE.
  11027. * ((KA - KA+1)) = PARAMETER NAME.
  11028. *
  11029. * EXIT (A) = INDEX OF ENTRY FOUND.
  11030. * (T2) = TABLE ADDRESS OF ENTRY FOUND.
  11031. * (T1) = ((T2)) = PARAMETER NAME.
  11032. * (KA) = KEYBOARD BUFFER ADDRESS ADVANCED.
  11033. *
  11034. * USES T3.
  11035.  
  11036.  
  11037. SOT2 LDN 2 ADVANCE BUFFER ADDRESS
  11038. RAD KA
  11039. LDD T2 RETURN WITH INDEX
  11040. SBD T3
  11041.  
  11042. SOT SUBR ENTRY/EXIT
  11043. STD T2
  11044. STD T3 SAVE FWA OF TABLE
  11045. LDI KA
  11046. SHN 6
  11047. LMM 1,KA ASSEMBLE PARAMETER NAME
  11048. STD T1
  11049. LDI T2
  11050. SOT1 LMD T1
  11051. ZJN SOT2 IF MATCH FOUND
  11052. AOD T2
  11053. LDI T2
  11054. NJN SOT1 IF NOT END OF TABLE
  11055. JMP ILL INCORRECT ENTRY
  11056. TITLE MISCELLANEOUS ENTRIES.
  11057. AUT SPACE 4,10
  11058. *** AUTOLOAD.
  11059. * TOGGLE SELECTION OF AUTOLOADING OF MASS STORAGE CONTROLLERS.
  11060. * INITIALLY AUTOLOADING IS SELECTED FOR ALL LEVELS OF
  11061. * DEADSTART.
  11062. *
  11063. * THIS ENTRY IS ONLY ALLOWED FROM THE KEYBOARD.
  11064.  
  11065.  
  11066. AUT DATA C*AUTOLOAD.*
  11067. LDN 2
  11068. UJN GRN1 TOGGLE AUTOLOAD STATUS
  11069. GRN SPACE 4,10
  11070. *** GRENADE.
  11071. * TOGGLE SELECTION OF THE GRENADE OPERATION FOR MASS STORAGE
  11072. * CONTROLLERS THAT ARE AUTOLOADED. INITIALLY THE GRENADE
  11073. * OPERATION IS NOT SELECTED.
  11074. *
  11075. * THIS ENTRY IS ONLY ALLOWED FROM THE KEYBOARD.
  11076. *
  11077. * THE GRENADE OPERATION CAN INTERRUPT ACTIVITY ON A DRIVE
  11078. * WHICH IS BEING ACCESSED FROM ANOTHER CONTROLLER.
  11079.  
  11080.  
  11081. GRN DATA C*GRENADE.*
  11082. LDN 1 TOGGLE GRENADE OPTION BIT
  11083. GRN1 LMM DSTO
  11084. STM DSTO
  11085. JMP KBR RETURN
  11086. LBC SPACE 4,10
  11087. *** LBC,AA,C1,C2,...,CN.
  11088. *
  11089. * LOAD CONTROLWARE RECORD TYPE *AA* ON CHANNELS C1 TO CN.
  11090.  
  11091.  
  11092. LBC DATA C*LBC,*
  11093. LDC TLBC
  11094. RJM SOT SEARCH TABLE FOR CONTROLWARE OPTION
  11095. STD T6
  11096. LDI KA CHECK SEPARATOR
  11097. LMN 1R,
  11098. ZJN LBC3 IF VALID SYNTAX
  11099. LBC2 JMP ILL PROCESS INCORRECT ENTRY
  11100.  
  11101. LBC3 STD T3 CLEAR CONCURRENT CHANNEL FLAG
  11102. AOD KA
  11103. LDI KA CHECK FOR *C* PREFIX
  11104. SBN 1RC
  11105. NJN LBC4 IF NOT A CONCURRENT CHANNEL
  11106. LDN 40 SET CONCURRENT CHANNEL FLAG
  11107. STD T3
  11108. AOD KA ADVANCE PAST *C*
  11109. LBC4 RJM AOD CONVERT DIGITS
  11110. SBN TCHSL
  11111. PJN LBC2 IF INCORRECT CHANNEL
  11112. LDD T3 MERGE CCH FLAG WITH CHANNEL NUMBER
  11113. RAD AB+4
  11114. LDD T6
  11115. ZJN LBC5 IF NULL CONTROLWARE
  11116. SBK CNSD
  11117. ZJN LBC4.1 IF SUPPRESSED CONTROLWARE
  11118. ADK CNSD
  11119. LBC4.1 LMD HN
  11120. LBC5 STM TCHS,AB+4
  11121. LDI KA CHECK SEPARATOR
  11122. LMN 1R,
  11123. ZJN LBC3 IF NOT END OF CHANNELS
  11124. RJM SCC SET CONTROLWARE TABLE IN CM
  11125. JMP KBR RETURN
  11126. SPACE 4,10
  11127. ** TLBC - TABLE OF CONTROLWARE RECORD TYPES TO LOAD.
  11128.  
  11129.  
  11130. TLBC BSS 0
  11131. DUP MXCLO,1
  11132. CON 6060
  11133. ORG TLBC
  11134. TLBC INDEX
  11135. INDEX CNNC,2RNC NULL CONTROLWARE
  11136. INDEX CLHT,2RHT LOAD HALF TRACK CONTROLWARE
  11137. INDEX CNHT,2RNH NO LOAD HALF TRACK CONTROLWARE
  11138. INDEX CLFT,2RFT LOAD FULL TRACK CONTROLWARE
  11139. INDEX CNFT,2RNF NO LOAD FULL TRACK CONTROLWARE
  11140. INDEX CLFM,2RFM LOAD FMD CONTROLWARE
  11141. INDEX CNFM,2RNM NO LOAD FMD CONTROLWARE
  11142. INDEX CLAD,2RAD LOAD FSC ADAPTOR CONTROLWARE
  11143. INDEX CNAD,2RNA NO LOAD FSC ADAPTOR CONTROLWARE
  11144. INDEX CLPH,2RPH LOAD DEMA/PFMD CONTROLWARE
  11145. INDEX CNPH,2RNP NO LOAD DEMA/PFMD CONTROLWARE
  11146. INDEX CLID,2RID LOAD 7255 ADAPTOR CONTROLWARE
  11147. INDEX CNID,2RNI NO LOAD 7255 ADAPTOR CONTROLWARE
  11148. INDEX CLCC,2RCC LOAD 7165 ADAPTOR CONTROLWARE
  11149. INDEX CNCC,2RCN NO LOAD 7165 ADAPTOR CONTROLWARE
  11150. INDEX CNND,2RNN NO LOAD NAD CONTROLWARE
  11151. INDEX CLM8,2RM8 LOAD M860 FSC CONTROLWARE
  11152. INDEX CNM8,2RN8 NO LOAD M860 FSC CONTROLWARE
  11153. INDEX CNCX,2RNX NO LOAD CCC/NIP CONTROLWARE
  11154. INDEX CNCT,2RNT NO LOAD CCC/698 CONTROLWARE
  11155. INDEX CNSD,2RSD SUPPRESS DEFAULT CONTROLWARE
  11156. INDEX MXCLO
  11157. CON 0 END OF TABLE
  11158. RST SPACE 4,10
  11159. *** RESET=X1,X2,...,XN.
  11160. *
  11161. * RESET CHARACTERISTICS FOR EQUIPMENTS X1, X2, ... ,XN.
  11162. * ONLY THE INFORMATION ENTERED VIA THE *EQXXX=* COMMAND
  11163. * WILL BE RETAINED.
  11164. *
  11165. * THIS ENTRY IS ONLY ALLOWED FROM THE KEYBOARD.
  11166.  
  11167.  
  11168. RST DATA C*RESET=*
  11169. SOD KA
  11170. RST1 AOD KA
  11171. RJM AOD ASSEMBLE EST ORDINAL
  11172. ZJN RST2 IF EQUIPMENT ZERO
  11173. SBD LE
  11174. PJN RST2 IF INCORRECT EST ORDINAL
  11175. LDD AB+4
  11176. RJM STA SET TABLE ADDRESS
  11177. LDM EBUT+3
  11178. ZJN RST2 IF NULL ENTRY
  11179. LDI ES
  11180. SHN 21-3
  11181. PJN RST3 IF NOT PSEUDO EQUIPMENT
  11182. RST2 JMP ILL PROCESS INCORRECT ENTRY
  11183.  
  11184. RST3 SHN 22+21-13+3-21
  11185. PJN RST4 IF NOT MASS STORAGE DEVICE
  11186. RJM RMD RESET MASS STORAGE DEVICE
  11187. LDN 0 CLEAR *TDDB* INFORMATION
  11188. STM TDDB+DVFA
  11189. STM TDDB+DVDN
  11190. CRM TDDB+DVPF,ON
  11191. LDM TDDB+DVPR
  11192. SCN 3
  11193. STM TDDB+DVPR
  11194. LDM EBUT+4 CLEAR EST INFORMATION
  11195. LPN 7
  11196. STM EBUT+4
  11197. LDI ES
  11198. LPC 4352
  11199. STI ES
  11200. RST4 LDI ES RESET *ON* STATUS
  11201. SCN 3
  11202. STI ES
  11203. LDM EBUT+10 CLEAR ACCESS LEVELS
  11204. SCN 77
  11205. STM EBUT+10
  11206. RJM EEB UPDATE EQUIPMENT ENTRY
  11207. LDI KA
  11208. LMN 1R.
  11209. ZJN RST5 IF END OF LIST
  11210. LJM RST1 PROCESS NEXT ENTRY
  11211.  
  11212. RST5 JMP KBR RETURN
  11213. CCN SPACE 4,10
  11214. ** CCN - CHECK CHANNEL NUMBERS.
  11215. *
  11216. * (EBUT - EBUT+4) = FIRST UNIT EST ENTRY.
  11217. * (CN+1 - CN+2) = CONTROL MODULE CHANNEL(S).
  11218. *
  11219. * ERROR TO *DCM*.
  11220. *
  11221. * USES T7, CN+1.
  11222.  
  11223.  
  11224. CCN2 LMD CN+1 REVERSE CHANNELS
  11225. LMD CN+2
  11226. NJN CCN1 IF NO CHANNEL MATCH
  11227. LDD CN+1
  11228. LMM EBUT+2
  11229. NJN CCN1 IF NO CHANNEL MATCH
  11230.  
  11231. CCN SUBR ENTRY/EXIT
  11232. LDM EBUT+1
  11233. LMD CN+1
  11234. NJN CCN2 IF NO CHANNEL MATCH
  11235. LDM EBUT+2
  11236. LMD CN+2
  11237. ZJN CCNX IF THE CHANNELS MATCH
  11238. CCN1 LDC CCNA
  11239. JMP DCM DISPLAY CONVERTED MESSAGE
  11240.  
  11241.  
  11242. CCNA DATA C*EQXXX UNITS SPAN DIFFERENT CHANNELS*
  11243. DDV SPACE 4,10
  11244. ** DDV - DOWN ISMD DEVICE.
  11245. *
  11246. * ENTRY (EBUT) = EBUF EQUIPMENT ENTRY.
  11247. *
  11248. * EXIT DEVICE DOWN AND OFF IF VALID FOR THIS DEVICE.
  11249. *
  11250. * ERROR TO *DCM*.
  11251. *
  11252. * CALLS CDD, EEB.
  11253.  
  11254.  
  11255. DDV2 SHN 11-10
  11256. PJN DDV1 IF NOT REMOVABLE
  11257. LDM EBUT+4
  11258. SCN 17
  11259. NJN DDV1 IF INITIALIZATION REQUESTED
  11260. RJM CDD
  11261. ZJN DDV1 IF DEADSTART DEVICE
  11262. LDI ES
  11263. SCN 3
  11264. LMN 3 SET DEVICE *OFF* AND *DOWN*
  11265. STI ES
  11266. RJM EEB ENTER EQUIPMENT ENTRY
  11267.  
  11268. DDV SUBR ENTRY/EXIT
  11269. LDI ES
  11270. SHN 21-11
  11271. PJN DDV2 IF NOT SHARED
  11272. DDV1 LDC DDVA
  11273. JMP DCM DISPLAY CONVERTED MESSAGE
  11274.  
  11275.  
  11276. DDVA DATA C*EQXXX CAN NOT BE DOWNED*
  11277. VCD SPACE 4,30
  11278. ** VCD - VALIDATE *CM* AND ISMD ENTRIES.
  11279. *
  11280. * ENTRY (ISPF) .LT. 0, IF NOT CYBER 810/815/825/830.
  11281. *
  11282. * EXIT (ISPF) = COUNT OF CONTROL MODULES DEFINED.
  11283. * *CM* AND ISMD TYPE ENTRIES VALIDATED.
  11284. * IF A *CM* DEVICE IS DEFINED AS DOWN, ALL CORRESPONDING
  11285. * ISMD DEVICES ARE ALSO DOWNED.
  11286. *
  11287. * ERROR TO *DCM* IF ANY OF THE FOLLOWING IS TRUE.
  11288. *
  11289. * 1) NO *CM* ENTRY EXISTS FOR AN ISMD DEVICE.
  11290. * 2) NO ISMD ENTRY EXISTS FOR A *CM* DEVICE.
  11291. * 3) A MULTI-UNIT ISMD DEVICE SPANS *CM* DEVICES ON
  11292. * DIFFERENT CHANNEL(S).
  11293. * 4) UNIT NUMBERS FOR A GIVEN *CM* ARE NOT UNIQUE.
  11294. * 5) A *CM* DEVICE IS DEFINED AS DOWN BUT A
  11295. * CORRESPONDING ISMD DEVICE CAN NOT BE
  11296. * DOWNED.
  11297. * 6) AN ISMD DEVICE IS DEFINED WITH AN INCOMPATIBLE
  11298. * CONTROL MODULE.
  11299. *
  11300. * USES T2, T5.
  11301. *
  11302. * CALLS SID, VUN.
  11303.  
  11304.  
  11305. VCD SUBR ENTRY/EXIT
  11306. LDM ISPF
  11307. SHN 0-13
  11308. NJN VCDX IF NOT CYBER 810/815/825/830
  11309. STM ISPF CLEAR ISMD PRESENT FLAG
  11310. CRM TUNB,ON CLEAR TABLE OF UNIT NUMBERS
  11311. CRM TUNB+3,ON
  11312. LDC ATD3 PRESET ERROR RETURN ADDRESS
  11313. STM AKL
  11314. LCN 0 SEARCH FOR ISMD DEVICE
  11315. VCD1 RJM SID
  11316. MJN VCD3 IF NO MORE FOUND
  11317. LPN 7 SAVE NUMBER OF UNITS IN THIS DEVICE
  11318. ADN 1
  11319. STD T5
  11320. LDC TDDB+DVUN+3 INITIALIZE UNIT LIST OFFSET
  11321. STD T2
  11322. VCD2 LDI T2 VALIDATE LOWER UNIT NUMBER
  11323. LPN 77
  11324. RJM VUN
  11325. ZJN VCD1 IF END OF UNIT LIST FOR THIS DEVICE
  11326. LDI T2 VALIDATE UPPER UNIT NUMBER
  11327. SHN -6
  11328. RJM VUN
  11329. ZJN VCD1 IF END OF UNIT LIST FOR THIS DEVICE
  11330. SOD T2
  11331. UJN VCD2 PROCESS NEXT UNIT
  11332.  
  11333. VCD3 LDN 8D CHECK *CM* ENTRIES
  11334. STD T2
  11335. VCD4 SOD T2
  11336. MJP VCDX IF ALL *CM* ENTRIES CHECKED
  11337. LDM TENB,T2
  11338. ZJN VCD4 IF THIS *CM* NOT DEFINED
  11339. STD EQ
  11340. AOM ISPF
  11341. LDM TUNB,T2
  11342. NJN VCD4 IF AT LEAST ONE DRIVE DEFINED ON THIS *CM*
  11343. LDC VCDA
  11344. JMP DCM DISPLAY CONVERTED MESSAGE
  11345.  
  11346. VCDA DATA C*EQXXX HAS NO DRIVE DEFINED*
  11347. VUN SPACE 4,20
  11348. ** VUN - VALIDATE UNIT NUMBER.
  11349. *
  11350. * ENTRY (A) = UNIT NUMBER.
  11351. * (T4) = *TFSD* INDEX SET BY *SID*.
  11352. * (T5) = NUMBER OF UNITS LEFT TO PROCESS.
  11353. *
  11354. * EXIT (T5) DECREMENTED.
  11355. * (A) = (T5).
  11356. * CORRESPONDING *TUNB* ENTRY UPDATED.
  11357. * ISMD DEVICE DOWNED IF *CM* IS DOWN.
  11358. *
  11359. * ERROR TO *DCM*.
  11360. *
  11361. * USES T1, T6, CM - CM+4, CN - CN+4.
  11362. *
  11363. * CALLS CCN, DDV.
  11364.  
  11365.  
  11366. VUN3 RAM TUNB,T6
  11367. RJM CCN ENSURE CHANNELS OF ALL UNITS MATCH
  11368. LDD CN
  11369. LPN 3
  11370. LMN 3
  11371. NJN VUN4 IF NOT *DOWN*
  11372. RJM DDV
  11373. VUN4 SOD T5 DECREMENT UNIT COUNT
  11374.  
  11375. VUN SUBR ENTRY/EXIT
  11376. SHN 21-2 SAVE *CM* NUMBER
  11377. STD T6
  11378. SHN 2-21 SAVE DRIVE NUMBER
  11379. STD T1
  11380. LDM TENB,T6
  11381. ZJN VUN1 IF NO *CM* FOR THIS UNIT EXISTS
  11382. SHN 22-5
  11383. ADD EB
  11384. SHN 6
  11385. CRD CN FETCH EST ENTRY FOR CONTROL MODULE
  11386. ADN EQAE
  11387. CRD CM
  11388. LDD CM+2
  11389. LPN 37
  11390. LMM VUNB,T4
  11391. ZJN VUN2 IF *CM* TYPE CORRECT FOR THIS UNIT
  11392. VUN1 LDC VUNC
  11393. JMP DCM DISPLAY CONVERTED MESSAGE
  11394.  
  11395. VUN2 LDM TUNB,T6 VERIFY THAT UNIT NUMBER IS UNIQUE
  11396. LMM VUNA,T1
  11397. SBM TUNB,T6
  11398. PJP VUN3 IF UNIQUE UNIT NUMBER FOR THIS *CM*
  11399. LDM TENB,T6 GET *CM* EST ORDINAL FOR MESSAGE
  11400. STD EQ
  11401. LDC VUND
  11402. JMP DCM DISPLAY CONVERTED MESSAGE
  11403.  
  11404. VUNA BSS 0 TABLE OF DRIVE NUMBER MASKS
  11405. CON 1
  11406. CON 2
  11407. CON 4
  11408. CON 10
  11409.  
  11410. VUNB BSS 0
  11411. CON CMCW
  11412. CON C2CW
  11413.  
  11414. VUNC DATA C/EQXXX UNIT DEFINED ON WRONG *CM*/
  11415. VUND DATA C/EQXXX HAS DUPLICATE UNIT NUMBER/
  11416.  
  11417.  
  11418. QUAL
  11419. VAL$ EQU 1
  11420. SCH$ EQU 1
  11421. QUAL *
  11422. *CALL COMSMLS
  11423. *CALL COMPVLC
  11424. TUNB SPACE 4,10
  11425. ** TUNB - TABLE OF UNIQUE ISMD UNIT NUMBERS.
  11426. *
  11427. * ENTRY = 1 WORD.
  11428.  
  11429.  
  11430. TUNB BSS 0
  11431.  
  11432. ERRPL TUNB+10-10001 TABLE WRAPS PP MEMORY
  11433. SPACE 4,10
  11434. QUAL *
  11435.  
  11436. EQ3S EQU *+4-EQXO *EQ3* SIZE
  11437. EQ3L EQU EQ3S/5+77 *EQ3* OVERLAY LENGTH
  11438.  
  11439. ERRNG 7777-*-4 OVERFLOW WHEN LOADING *EQ3*
  11440.  
  11441. .EQXL MAX EQ1L/100,EQ2L/100,EQ3L/100 MAXIMUM OVERLAY LENGTH
  11442. EQXL EQU .EQXL
  11443. .EQML MAX EQ1L-77,EQ2L-77,EQ3L-77 MAXIMUM OVERLAY ACTUAL LENGTH
  11444. EQML EQU .EQML
  11445. TTL SET/ICM - INITIALIZE CENTRAL MEMORY.
  11446. TITLE
  11447. IDENT ICM,/ICM/ICMX
  11448. QUAL ICM
  11449. ORG APRL
  11450. *COMMENT SET - INITIALIZE CENTRAL MEMORY.
  11451. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  11452. SPACE 4,10
  11453. ** COMMON ROUTINES FOR *ICM* AND *RCM*.
  11454. *
  11455. * THESE MACROS PROVIDE COMMON CODE FOR *ICM* AND *RCM*.
  11456. SPACE 4,10
  11457. ** IPPSUB - SUBROUTINES COMMON TO PP INITIALIZATION.
  11458.  
  11459.  
  11460. IPPSUB MACRO
  11461. LIST G
  11462. APP SPACE 4,10
  11463. ** APP - ASSIGN PP-S.
  11464. *
  11465. * ENTRY (NC) = SYSTEM CP NUMBER.
  11466. * (CN+4) = FWA OF PP COMMUNICATIONS AREA.
  11467. *
  11468. * USES T5, AB - AB+4, CM - CM+4.
  11469.  
  11470.  
  11471. APP1 LDM APPA,AB+2 SET PP PACKAGE NAME
  11472. STD AB
  11473. LDM APPA+1,AB+2
  11474. LMD NC ASSIGN TO SYSTEM CP
  11475. STD AB+1
  11476. LDM APPA+2,AB+2 EXTRACT STATUS WORD
  11477. STD T0
  11478. LDI T0
  11479. ZJN APP3 IF PROGRAM NOT ACTIVE
  11480. SBN 12
  11481. MJN APP2 IF PP IN LOWER BANK
  11482. SBN 20-12
  11483. APP2 ADN 12 ASSIGN *CTI* INITIATED PP
  11484. STI T5
  11485. SHN 3
  11486. ADD CN+4
  11487. CWD AB
  11488. AOM SPPC ADJUST PP-S ASSIGNED TO SYSTEM CP
  11489. APP3 AOD T5
  11490. LDN 3 ADVANCE INDEX
  11491. RAD AB+2
  11492. LMN APPAL
  11493. APP4 NJN APP1 IF NOT END OF LIST
  11494. LDM .CEL
  11495. STD CM+3 SET CRITICAL ERROR LOG STATUS
  11496. LDM .DSD
  11497. STD CM+4 SET DEADSTART CHANNEL
  11498. LDK DSAL
  11499. CWD CM STORE POINTER WORD
  11500.  
  11501. APP SUBR ENTRY/EXIT
  11502. LDN ZERL
  11503. CRD AB
  11504. CRD CM
  11505. LDC 2RDS SET DEADSTART INDICATOR
  11506. STD AB+4
  11507. LDN CM
  11508. STD T5
  11509. UJN APP4 ENTER LOOP
  11510.  
  11511.  
  11512. APPA VFD 24/3LAPP,12/.APP
  11513. VFD 24/3LSCI,12/.DCS
  11514. VFD 24/3LMDD,12/.MDD
  11515. APPAL EQU *-APPA LENGTH OF LIST
  11516. HPP SPACE 4,10
  11517. ** HPP - HANG PP.
  11518. *
  11519. * ENTRY (A) = CHANNEL NUMBER.
  11520. * (DH) = DEADSTART CHANNEL.
  11521.  
  11522.  
  11523. HPP SUBR ENTRY/EXIT
  11524. LMD DH
  11525. NJN HPP1 IF NOT DEADSTART CHANNEL
  11526. LDD DH
  11527. LMN 12 DEADSTART CHANNEL PP ON CHANNEL 12
  11528. HPP1 LMD DH
  11529. LMC OAMI SET CHANNEL INSTRUCTIONS
  11530. STM HPPA
  11531. LMC DCNI&OAMI
  11532. STM HPPB
  11533. LDN 2 HANG PP
  11534. HPPA OAM HPPC,0
  11535. HPPB DCN 0
  11536. UJN HPPX RETURN
  11537.  
  11538. HPPC CON 0
  11539. UJN * HANG PP
  11540.  
  11541. LIST *
  11542. IPPSUB ENDM
  11543. SPACE 4,10
  11544. ** SCSSUB - SUBROUTINE FOR SETTING CPU STATUS WORD.
  11545.  
  11546.  
  11547. SCSSUB MACRO
  11548. LIST G
  11549. SCS SPACE 4,10
  11550. ** SCS - SET CPU STATUS.
  11551. *
  11552. * USES T1.
  11553.  
  11554.  
  11555. SCS SUBR ENTRY/EXIT
  11556. LDN ACPL-1
  11557. STD T0
  11558. LDD HO EXTRACT CPU STATUS
  11559. LPN 3
  11560. SCS1 SHN 21-0 EXTRACT CPU FLAG
  11561. STD T1
  11562. SHN 13-21 POSITION ON/OFF BIT
  11563. STD ZR
  11564. AOD T0 STORE CPU STATUS WORD
  11565. CWD ZR
  11566. LDD T1
  11567. NJN SCS1 IF CPU 1 UNAVAILABLE
  11568. STD ZR
  11569. UJN SCSX RETURN
  11570.  
  11571. LIST *
  11572. SCSSUB ENDM
  11573. SPACE 4,10
  11574. ** COMMON ROUTINES FOR *ICM* AND *ICT*.
  11575. *
  11576. * THESE MACROS PROVIDE COMMON CODE FOR *ICM* AND *ICT*.
  11577. SPACE 4,10
  11578. ** SPWSUB - SUBROUTINE FOR SETTING UP POINTER WORDS.
  11579.  
  11580.  
  11581. SPWSUB MACRO
  11582. LIST G
  11583. SPW SPACE 4,10
  11584. ** SPW - SET UP POINTER WORD.
  11585. *
  11586. * ENTRY (A) BITS 0 - 11 = POINTER WORD ADDRESS.
  11587. * BITS 12 - 14 = BYTE INDEX.
  11588. * (CA - CA+1) = CURRENT CM ADDRESS.
  11589. *
  11590. * EXIT (T5) = POINTER WORD ADDRESS.
  11591. * (CM - CM+4) = POINTER WORD.
  11592. *
  11593. * USES T4.
  11594.  
  11595.  
  11596. SPW SUBR ENTRY/EXIT
  11597. STD T5 SAVE POINTER WORD ADDRESS
  11598. SHN -14
  11599. ADN CM SET BYTE ADDRESS WITHIN POINTER WORD
  11600. STD T4
  11601. LDD T5 FETCH POINTER WORD
  11602. CRD CM
  11603. LDD CA INSERT TABLE ADDRESS
  11604. STI T4
  11605. LDD CA+1
  11606. STM 1,T4
  11607. LDD T5 STORE POINTER WORD
  11608. CWD CM
  11609. UJN SPWX RETURN
  11610.  
  11611. LIST *
  11612. SPWSUB ENDM
  11613. TITLE MAIN ROUTINE.
  11614. ICM SPACE 4,10
  11615. ** ICM - INITIALIZE CENTRAL MEMORY.
  11616.  
  11617.  
  11618. ICM SUBR ENTRY/EXIT
  11619. RJM PTR PROCESS POINTERS
  11620. RJM IPS INITIALIZE PPU STATUS
  11621. LDN 50 ALLOCATE PP BREAKPOINT DISPLAY BUFFER
  11622. RJM CLS
  11623.  
  11624. * DEFINE DAYFILE POINTER AREA.
  11625.  
  11626. LDN DFPP STORE POINTER WORD
  11627. RJM SPW
  11628. LDN EXDF*3
  11629. RAD CA+1
  11630. SHN -14
  11631. RAD CA
  11632. RJM PMS PROCESS MS CHANNELS AND SYSTEM
  11633. UJP ICMX RETURN
  11634. TITLE SUBROUTINES.
  11635. IPS SPACE 4,10
  11636. ** IPS - INITIALIZE PPU STATUS.
  11637. *
  11638. * ENTRY (NC) = SYSTEM CONTROL POINT NUMBER.
  11639. *
  11640. * EXIT (CA - CA+1) = NEXT CM ADDRESS.
  11641. *
  11642. * USES CA, CA+1, T1, T2, T3, T6, T7, CM - CM+4, CN - CN+4.
  11643. *
  11644. * CALLS APP, CLS, HPP.
  11645.  
  11646.  
  11647. IPS SUBR ENTRY/EXIT
  11648.  
  11649. * ALLOCATE PP COMMUNICATION AREAS.
  11650.  
  11651. LDN PPCP READ PPU COMMUNICATION AREA POINTER
  11652. CRD CN
  11653. LDD NC SET FWA = SYSTEM CP AREA END
  11654. ADN 1
  11655. SHN 7
  11656. STD CN+4
  11657. STD CA+1
  11658. STD T7
  11659. SHN -14
  11660. STD CA
  11661. LDM .PPU CLEAR PP COMMUNICATIONS AREA
  11662. STD T6
  11663. ADM .CCHN
  11664. STD T3
  11665. ADN 1 ALLOW FOR PSEUDO PP
  11666. SHN 3
  11667. RJM CLS CLEAR PP COMMUNICATION AREA
  11668. LDD CA SET EXTENDED PP COMMUNICATION AREA FWA
  11669. STD CN
  11670. SHN 14
  11671. ADD CA+1
  11672. STD CN+1
  11673. SBD CN+4
  11674. SHN PPXES-PPCES LENGTH OF EXTENDED PP COMMUNICATION AREA
  11675. RJM CLS CLEAR EXTENDED PP COMMUNICATION AREA
  11676. LDN PPCP STORE PPU COMMUNICATION AREA POINTER
  11677. CWD CN
  11678.  
  11679. * CHECK FOR DISABLED PP-S.
  11680.  
  11681. LDD NC INSERT SYSTEM CP INTO DISABLED PP IR
  11682. RAM IPSA+1
  11683. LDD T3 STORE PSEUDO PP INDICATOR
  11684. SHN 3
  11685. ADD CN+4
  11686. CWM IPSA+2,ON
  11687. LDN 0 CLEAR CHANNEL COUNT
  11688. STD T1
  11689. STD T2 CLEAR CHANNEL STATUS INDEX
  11690. IPS1 LDM .PPS,T2 CHECK PP N ON/OFF STATUS
  11691. LPC 1 (MASK FOR PP N)
  11692. IPSB EQU *-1
  11693. STD T3
  11694. LDM .PPL,T2 CHECK PP STATUS RETURNED BY *CTI*
  11695. LPC 1 (MASK FOR PP N)
  11696. IPSC EQU *-1
  11697. NJN IPS3 IF PP DISABLED BY CTI
  11698. LDD T3
  11699. ZJN IPS4 IF PP NOT OFF VIA CMRDECK ENTRY
  11700. RAM .PPL,T2 UPDATE PP OFF DATA
  11701. LDD T2 CALCULATE CHANNEL NUMBER
  11702. SHN 4
  11703. LMD T1
  11704. RJM HPP HANG PP
  11705. IPS3 LDD T7 STORE INPUT REGISTER
  11706. CWM IPSA,ON
  11707. IPS4 LDN 10 ADVANCE INPUT REGISTER ADDRESS
  11708. RAD T7
  11709. LDM IPSB ADVANCE PP MASK
  11710. RAM IPSB
  11711. STM IPSC
  11712. AOD T1 COUNT CHANNEL
  11713. LMN 10D
  11714. NJN IPS5 IF PPS BANK NOT PROCESSED
  11715. STD T1
  11716. AOD T2 ADVANCE STATUS INDEX
  11717. * LDN 1 REINITIALIZE MASK
  11718. STM IPSB
  11719. STM IPSC
  11720. LCN 10D DECREMENT PPU COUNT
  11721. RAD T6
  11722. ZJN IPS6 IF ALL PP-S CHECKED
  11723. IPS5 LJM IPS1 PROCESS NEXT PP
  11724.  
  11725. IPS6 LDM .CCHN CHECK FOR CPP-S
  11726. ZJN IPS9 IF NO CPP-S
  11727. STD T3
  11728. IPS7 LDM .CPPL
  11729. SHN 21-0 REMOVE CPP STATUS
  11730. STM .CPPL
  11731. PJN IPS8 IF CPP ON
  11732. LDD T7
  11733. CWM IPSA,ON STORE INPUT REGISTER
  11734. IPS8 LDN 10 ADVANCE INPUT REGISTER ADDRESS
  11735. RAD T7
  11736. SOD T3
  11737. NJN IPS7 IF MORE CPP-S OFF
  11738.  
  11739. * ASSIGN *CTI* PP-S AND STORE PP CONFIGURATION.
  11740.  
  11741. IPS9 RJM APP ASSIGN PP-S
  11742. LDN PPUL
  11743. CRD CM
  11744. LDM .PPN SET PP COUNT
  11745. STD CM+2
  11746. LDN PPUL STORE PPU CONFIGURATION
  11747. CWD CM
  11748. LJM IPSX RETURN
  11749.  
  11750. IPSA VFD 18/3R***,6/**,36/
  11751. VFD 24/3RCIO
  11752. PMS SPACE 4,10
  11753. ** PMS - PROCESS MASS STORAGE CHANNELS TO LOAD CONTROLWARE
  11754. * AND VALIDATE SYSTEM DEVICES.
  11755. * PMS WILL ALSO ENSURE THAT AT LEAST ONE CHECKPOINT DEVICE
  11756. * HAS BEEN DEFINED. IF ONE HAS NOT *PMS* WILL ASSIGN THE
  11757. * FIRST VALID AVAILABLE DEVICE AS A CHECKPOINT DEVICE.
  11758. *
  11759. * EXIT (TCHS) = DEFAULT FIRMWARE RECORD TYPES.
  11760. *
  11761. * USES T0 - T4, EQ, CM - CM+4.
  11762. *
  11763. * CALLS EEB, SMT, STA.
  11764.  
  11765.  
  11766. PMS5 LDD T1
  11767. NJN PMS6 IF SYSTEM DEVICE DEFINED
  11768. LDM DFMS
  11769. RJM STA
  11770. LDC 2000 SET SYSTEM DEVICE FLAG
  11771. RAI ES
  11772. LDM EBUT+4 CLEAR ALTERNATE SYSTEM STATUS
  11773. SCN 10
  11774. STM EBUT+4
  11775. RJM EEB RETURN EQUIPMENT ENTRIES
  11776. PMS6 LDD T3
  11777. NJN PMSX IF CHECKPOINT DEVICE DEFINED
  11778. LDM DFMS
  11779. RJM STA
  11780. LDN 2 SET DEFAULT RMS AS CHECKPOINT DEVICE
  11781. RAM TDDB+DVPR
  11782. RJM EEB UPDATE EQUIPMENT STATUS
  11783.  
  11784. PMS SUBR ENTRY/EXIT
  11785. LDN 0
  11786. CRD T0
  11787. LDN NOPE-1 INITIALIZE EST SCAN
  11788. STD EQ
  11789. PMS1 AOD EQ
  11790. LMD LE
  11791. ZJP PMS5 IF ALL EQUIPMENTS PROCESSED
  11792. LDD EQ
  11793. RJM STA SET TABLE ADDRESSES
  11794. LDI ES
  11795. SHN 21-13
  11796. PJN PMS1 IF NOT MASS STORAGE
  11797. LDN 2
  11798. STD T4 INITIALIZE CHANNEL INDEX
  11799. PMS2 LDM EBUT,T4
  11800. ZJN PMS3 IF NULL CHANNEL
  11801. LPN 77
  11802. STD T2
  11803. LDM TDDB+DVAI DEFAULT CONTROLWARE FOR LOAD
  11804. SHN -6
  11805. SBM TCHS,T2
  11806. MJN PMS3 IF OTHER DEFAULT HAS PRIORITY
  11807. RAM TCHS,T2
  11808. PMS3 SOD T4
  11809. NJN PMS2 IF NOT END OF CHANNELS
  11810. LDI ES
  11811. SHN -12
  11812. LPN 1
  11813. RAD T1
  11814. LDM TDDB+DVPR
  11815. LPN 2
  11816. RAD T3 UPDATE CHECKPOINT DEVICE FOUND FLAG
  11817. LJM PMS1 PROCESS NEXT EQUIPMENT
  11818. PTR SPACE 4,10
  11819. ** PTR - PROCESS POINTER AREA.
  11820. *
  11821. * EXIT (NC) = SYSTEM CONTROL POINT NUMBER.
  11822. *
  11823. * USES LD, NC, T1, AB - AB+4, CM - CM+4, CN - CN+4.
  11824. *
  11825. * CALLS SEC, SCS, STA.
  11826.  
  11827.  
  11828. PTR SUBR ENTRY/EXIT
  11829. LDC SHNI+73
  11830. ADM EMSC ADJUST SHIFT
  11831. STM PTRA
  11832. LDC SHNI+77
  11833. SBM EMSC ADJUST SHIFT
  11834. STM PTRC
  11835. LDN 17
  11836. PTRA SHN -4
  11837. * SHN -4+EMSC
  11838. RAM PTRB
  11839. RJM SEC INITIALIZE *ECRL*
  11840. LDN DSSL
  11841. CRD CM
  11842. LDM TTXC+LIBD SET LIBDECK NUMBER
  11843. SHN 6
  11844. LMD RM APPEND RECOVERY MODE
  11845. LMN 4
  11846. STD CM+4
  11847. LDN DSSL STORE DEADSTART STATUS
  11848. CWD CM
  11849. LDN DSCL SET MMF *PRESET* COUNTS
  11850. CRD CM
  11851. LDN 0
  11852. STD CM+3
  11853. STD CM+4
  11854. LDM PRSF
  11855. ZJN PTR0 IF *PRESET* NOT ENTERED
  11856. LDD NS NUMBER OF SHARED DEVICES
  11857. STD CM+3
  11858. LDM NSBD NUMBER OF SHARED BUFFERED DEVICES
  11859. STD CM+4
  11860. LDM MSDC
  11861. ZJN PTR0 IF *MAXSHARE* NOT ENTERED
  11862. STD CM+3 NUMBER OF SHARED DEVICES
  11863. LDM MSBD
  11864. ZJN PTR0 IF NO SECOND PARAMETER ON *MAXSHARE*
  11865. STD CM+4 NUMBER OF SHARED BUFFERED DEVICES
  11866. PTR0 LDN DSCL STORE MMF *PRESET* COUNTS
  11867. CWD CM
  11868. LDN ZERL
  11869. CRD CM
  11870. CRD AB
  11871. LDC 4000 SET INTERLOCK
  11872. STD CM
  11873. LDN 2
  11874. STD T2
  11875. LDN JSNL STORE INITIAL SEQUENCE NUMBER
  11876. CWM .JSN,ON
  11877. LDM C8XX CHECK MAINFRAME TYPE
  11878. ZJN PTR1 IF CYBER 180
  11879. LDN TIML STORE TIME/DATE
  11880. CWM .TIM,T2
  11881. ERRNZ TIML+1-DTEL CODE DEPENDS ON VALUE
  11882. PTR1 AOD CM+4 SET MAINTENANCE LOG MESSAGE LINK
  11883. LDN BMLL STORE MAINTENANCE LOG CONTROL WORD
  11884. CWD CM
  11885. ADN RTCL-BMLL STORE REAL TIME CLOCK
  11886. CWM .RTC,ON
  11887. SOD CM+4
  11888. LDN TAXML/5
  11889. STD T1
  11890. LDC SCRL SET *1MB* (ERROR LOGGING)
  11891. CWD CM
  11892. ADN DSDL-SCRL STORE *DSD* BUFFER INTERLOCK
  11893. CWD CM
  11894. ADN 1 STORE *TAXM* IN DSD/1DS BUFFER
  11895. CWM TAXM,T1
  11896. LCN 0 INITIALIZE FLAG REGISTER STATUS
  11897. STD AB+3
  11898. LDD LD
  11899. LPC 777
  11900. ZJN PTR2 IF NO LINK EQUIPMENT
  11901. RJM STA
  11902. LDM TDDB+DVED
  11903. LPN 30
  11904. NJN PTR2 IF CPU PATH PRESENT (NOT UEM)
  11905. LDC 2000 SET LSP MMF FLAG
  11906. RAD LD
  11907. LDM NSBD
  11908. ZJN PTR2 IF NO SHARED BUFFERED DEVICES
  11909. LDD TH SET SHARED BUFFERED DEVICES FLAG
  11910. RAD LD
  11911. PTR2 LDN ZERL
  11912. CRD CN
  11913. ADN MMFL-ZERL STORE MMF STATUS
  11914. CWD ID
  11915. ADN EFRL-MMFL
  11916. CWD AB
  11917.  
  11918. * ENTER CONFIGURATION.
  11919.  
  11920. LDN NCPL SET NUMBER OF CONTROL POINTS
  11921. CRD CM
  11922. LDM .NCP
  11923. STD NC
  11924. SBN 1
  11925. STD CM+1
  11926. LDM .CHN SET CHANNEL COUNT
  11927. STD CM
  11928. ERRNZ NCPL-NCHL CODE DEPENDS ON VALUE
  11929. ERRNZ NCPL-CPPL
  11930. LDM .CCHN SET NUMBER OF PHYSICALLY PRESENT CPP-S
  11931. RAD CM+3
  11932. LDN NCPL
  11933. CWD CM
  11934. ADN MABL-NCPL
  11935. CRD CM
  11936. LDM UESC SET USER XM SHIFT COUNT
  11937. SHN 2
  11938. LMM EMAF SET EXPANDED ADDRESSING FLAG
  11939. SHN 2
  11940. LMM EMSC SET XM SHIFT COUNT
  11941. SHN 5
  11942. STD CN+2
  11943. LDM EMFL SET XM FIELD LENGTH/*EMBS*
  11944. STD CN+3
  11945. LDK MEFL
  11946. CWD CN
  11947. LDN ZERL
  11948. CRD AB
  11949. LDD HO SET HARDWARE OPTIONS
  11950. STD CM+1
  11951. LDM UEMZ
  11952. SHN 14
  11953. ADM UEMZ+1
  11954. ZJN PTR3 IF UEM NOT PRESENT
  11955. SHN -3 UEM FL / 1000B
  11956. PTRB ADN 0
  11957. * ADN (EMBS - 1000B) / 1000B
  11958. PTRC SHN 0
  11959. * SHN -EMSC
  11960. STD AB+1
  11961. LDD FL
  11962. SHN 14
  11963. LMD FL+1
  11964. SHN -3 SET UEM BASE ADDRESS/1000B
  11965. STD AB
  11966. SHN 3 ADJUST EXECUTION MEMORY SIZE
  11967. STD FL+1
  11968. SHN -14
  11969. STD FL
  11970. LDN 2
  11971. STD AB+4 SET UEM PRESENT FLAG
  11972. LDM EMTY
  11973. LMN 4
  11974. NJN PTR3 IF NO UEM EQUIPMENT
  11975. LDD EN SET USER EM EQUIPMENT
  11976. STD AB+2
  11977. PTR3 LDD FL SET EXECUTION MEMORY SIZE
  11978. STD CM+2
  11979. LDD FL+1
  11980. STD CM+3
  11981. LDC MABL
  11982. CWD CM
  11983. LDN EXML
  11984. CRD CM
  11985. LDD EN
  11986. STD CM+4
  11987. LDN EXML STORE EXTENDED MEMORY CONFIGURATION
  11988. CWD CM
  11989. LDM TAXM+2
  11990. ZJN PTR4 IF NO USER EXTENDED MEMORY
  11991. LDM TAXM+1
  11992. NJN PTR4 IF USER EM IN UEM
  11993. LDD EN SET USER EM EQUIPMENT
  11994. STD AB+2
  11995. PTR4 LDK UEML STORE MAINFRAME ATTRIBUTES
  11996. CWD AB
  11997. RJM SCS SET CPU STATUS
  11998. LJM PTRX RETURN
  11999.  
  12000.  
  12001. .JSN VFD 12/0,12/0,12/PQFT,24/0LAAAA
  12002. .TIM VFD 60/10H 00.00.00.
  12003. VFD 60/10H"DATE"
  12004. .RTC VFD 12/0037,12/7777,36/0
  12005. SEC SPACE 4,10
  12006. ** SEC - SETUP POINTER WORD *ECRL*.
  12007. *
  12008. * USES AB - AB+4.
  12009.  
  12010.  
  12011. SEC SUBR ENTRY/EXIT
  12012. LDM EMSC PRESET SHIFT INSTRUCTIONS
  12013. SBM UESC
  12014. LPN 77
  12015. RAM SECA
  12016. LDN ZERL INITIALIZE *ECRL*
  12017. CRD AB
  12018. LDN 0
  12019. STD T1
  12020. LDM TAXM+2
  12021. ZJN SEC1 IF NO USER XM FOR THIS MACHINE
  12022. SECA SHN 0
  12023. * SHN EMSC-UESC
  12024. STD AB+1
  12025. LDN ECSY
  12026. ADM C9LM APPEND LARGE MEMORY OPTION
  12027. STD AB+4
  12028. LDM TAXM+1
  12029. ZJN SEC2 IF NO USER EXTENDED MEMORY
  12030. LDM EMTY
  12031. LMN 4
  12032. ZJN SEC2 IF UEM EQUIPMENT - HAVE *REC* ALLOCATE
  12033. LDN 0
  12034. STM TAXM+2 CLEAR USER EM IN UEM FOR *REC*
  12035. SEC1 LDN 5
  12036. RAD T1
  12037. SBN TAXML
  12038. PJN SEC3 IF END OF TABLE
  12039. LDM TAXM+2,T1 CHECK FOR USER EXTENDED MEMORY
  12040. ZJN SEC1 IF NO USER EXTENDED MEMORY
  12041. SEC2 LDD EN SET EXTENDED MEMORY EQUIPMENT FOR *REC*
  12042. STD AB
  12043. SEC3 LDN ECRL STORE *ECRL*
  12044. CWD AB
  12045. LJM SECX RETURN
  12046. TITLE COMMON SUBROUTINES.
  12047. SPACE 4,10
  12048. ** COMMON SUBROUTINES.
  12049.  
  12050.  
  12051. IPPSUB
  12052. SCSSUB
  12053. SPWSUB
  12054. SPACE 4,10
  12055. QUAL *
  12056. SPACE 4,10
  12057. ERRNG 7777-*-4 IF OVERFLOW
  12058. TTL SET/ICT - INITIALIZE CENTRAL MEMORY TABLES.
  12059. TITLE
  12060. IDENT ICT,/ICT/ICTX
  12061. QUAL ICT
  12062. ORG APRL
  12063. *COMMENT SET - INITIALIZE CENTRAL MEMORY.
  12064. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  12065. SPACE 4,10
  12066. ** COMMON - COMMON ROUTINES FOR *ICT* AND *RCT*.
  12067. *
  12068. * THIS MACRO PROVIDES COMMON CODE FOR *ICT* AND *RCT*.
  12069.  
  12070.  
  12071. QUAL
  12072. COMMON MACRO
  12073. LIST G
  12074. TCTP SPACE 4,10
  12075. ** TCTP - TABLE OF CMR TABLE PROCESSORS.
  12076.  
  12077.  
  12078. TCTP BSS 0
  12079. DUP TSGTE,1
  12080. CON SIE
  12081. ORG TCTP
  12082. TCTP INDEX
  12083. INDEX ESTO,EST EQUIPMENT STATUS TABLE
  12084. INDEX EXPO,EXP C176 (AND 819) EXCHANGE PACKAGES
  12085. INDEX MCTO,MCT MEMORY CONTROL TABLE
  12086. INDEX SCDO,SCD *SCD* PARAMETER TABLE
  12087. INDEX RPTO,RPT RING PORT TABLE
  12088. INDEX CHTO,CHT CHANNEL TABLES
  12089. INDEX ECBO,ECB *EICB* TABLES
  12090. INDEX EMBO,EMB ERROR MESSAGE BUFFER
  12091. INDEX EVTO,EVT EVENT TABLE
  12092. INDEX SCTO,SCT SUBSYSTEM CONTROL TABLES
  12093. INDEX SITO,SIT *SECDED* ID TABLE
  12094. INDEX SABO,SAB SYSTEM ATTRIBUTE BLOCK
  12095. INDEX JCAO,JCA JOB CONTROL BLOCK TABLE
  12096. INDEX MSAO,MSA MASS STORAGE ALLOCATION AREA
  12097. INDEX ODBO,ODB OPERATOR DISPLAY BUFFER
  12098. INDEX LDBO,LDB *L* DISPLAY BUFFER
  12099. INDEX PDBO,PDB PREVIEW DISPLAY BUFFER
  12100. INDEX DFBO,DFB DAYFILE BUFFERS
  12101. INDEX PSVO,PSV PP SAVE AREAS
  12102. INDEX MSTO,MST MASS STORAGE TABLES
  12103. INDEX TRTO,TRT TRACK RESERVATION TABLES
  12104. INDEX EXMO,EXM EXTENDED MEMORY BUFFERS
  12105. INDEX INBO,INB INSTALLATION BLOCK
  12106. INDEX SDAO,SDA STATISTICAL DATA AREA
  12107. INDEX FOTO,FOT FAMILY ORDINAL TABLE
  12108. INDEX FNTO,FNT FILE NAME TABLE
  12109. INDEX EJTO,EJT EXECUTING JOB TABLE
  12110. INDEX QFTO,QFT QUEUE FILE TABLE
  12111. INDEX CLTO,CLT COMMON LIBRARIES TABLE
  12112. INDEX LIDO,LID LOGICAL ID TABLE
  12113. INDEX OSTO,OST OPTICAL DISK STATUS TABLES
  12114. INDEX ORTO,ORT OPTICAL DISK REQUEST TABLE
  12115. INDEX BSTO,BST BUFFER STATUS TABLES
  12116. INDEX BDTO,BDT BUFFERED DEVICE CONTROL TABLES
  12117. INDEX TSGTE
  12118. CDL SPACE 4,10
  12119. ** CDL - COMPUTE DEVICE LENGTH.
  12120. *
  12121. * ENTRY (AB) = BYTE 0 OF EST ENTRY.
  12122. * (CM+2) = TRT LENGTH.
  12123. *
  12124. * EXIT (A) = TOTAL LENGTH OF DEVICE TABLES (TRT+MRT+DIT).
  12125.  
  12126.  
  12127. CDL SUBR ENTRY/EXIT
  12128. LDD AB
  12129. LPC 1020
  12130. ZJN CDL2 IF STAND ALONE DEVICE
  12131. LPN 20
  12132. ZJN CDL1 IF NOT INDEPENDENT SHARED DEVICE
  12133. * LDN DITL ADD LENGTH OF DIT
  12134. ERRNZ MMPF-20
  12135. CDL1 STD T0
  12136. LDD CM+2 COMPUTE LENGTH OF MRT
  12137. ADN 7
  12138. SHN -3
  12139. ADD T0
  12140. CDL2 ADD CM+2 ADD LENGTH OF TRT
  12141. UJN CDLX RETURN
  12142. PBD SPACE 4,10
  12143. ** PBD - PROCESS BUFFERED DEVICE CHANNELS.
  12144. *
  12145. * ENTRY (AB+1 - AB+2) = CHANNEL BYTES FROM EST ENTRY.
  12146. *
  12147. * EXIT (KI) = CUMULATIVE 819 COUNT.
  12148. *
  12149. * USES T1, T4.
  12150.  
  12151.  
  12152. PBD2 LDI T1 SET 819 CHANNEL IN TABLE
  12153. LPN 37
  12154. SHN -1
  12155. STD T4
  12156. RAM TFMC,T4
  12157. AOD T1
  12158. LMN AB+3
  12159. NJN PBD2 IF ANOTHER CHANNEL
  12160. AOD KI
  12161.  
  12162. PBD SUBR
  12163. LDN AB+1
  12164. STD T1
  12165. LDD HO
  12166. SHN -11
  12167. LMN 7
  12168. ZJN PBD2 IF C176 SYSTEM
  12169. PBD1 LDI T1
  12170. ZJN PBDX IF CHANNEL NOT DEFINED
  12171. LPN 77
  12172. STD T4
  12173. AOM KBUF,T4 COUNT CHANNEL USAGE
  12174. AOD T1
  12175. LMN AB+3
  12176. NJN PBD1 IF POSSIBLE SECOND CHANNEL
  12177. UJN PBDX RETURN
  12178. RCA SPACE 4,10
  12179. ** RCA - ROUND CM ADDRESS TO NEXT MULTIPLE OF 10B.
  12180. *
  12181. * ENTRY (CA - CA+1) = CURRENT CM ADDRESS.
  12182. *
  12183. * EXIT (A) = ROUNDED CM ADDRESS / 10B.
  12184. * (CA - CA+1) = ROUNDED CM ADDRESS.
  12185.  
  12186.  
  12187. RCA SUBR ENTRY/EXIT
  12188. LDD CA+1
  12189. ADN 7
  12190. SCN 7
  12191. STD CA+1
  12192. SHN -14
  12193. RAD CA
  12194. SHN 14
  12195. LMD CA+1
  12196. SHN -3
  12197. UJN RCAX RETURN
  12198. SBB SPACE 4,10
  12199. ** SBB - SET BUFFER BIAS.
  12200. *
  12201. * ENTRY (A) = STARTING BIT VALUE + FUNCTION CODE.
  12202. * (T1) = VALUE TO SET.
  12203. *
  12204. * USES T1.
  12205.  
  12206.  
  12207. SBB SUBR ENTRY/EXIT
  12208. STD T0 SAVE STARTING VALUE
  12209. SBB1 LDD T1
  12210. ZJN SBBX IF NO BITS TO SET
  12211. SHN 21
  12212. STD T1
  12213. PJN SBB2 IF BIAS BIT NOT TO BE SET
  12214. LDD T0
  12215. OAN SC+40
  12216. IAN SC+40
  12217. SBB2 AOD T0 ADVANCE BIT NUMBER
  12218. UJN SBB1 LOOP
  12219. SPT SPACE 4,10
  12220. ** SPT - SETUP *SCD* PARAMETER TABLE.
  12221. *
  12222. * ENTRY (CM+2 - CM+3) = FWA OF *SCD* PARAMETER TABLE.
  12223. *
  12224. * USES CM - CM+4.
  12225. *
  12226. * CALLS CLS.
  12227.  
  12228.  
  12229. SPT1 STM SPTA+3 CLEAR *SCD* DATA
  12230. LDN 3 SET PARAMETER TABLE LENGTH
  12231. SHN 10
  12232. STM SPTA+2
  12233. LDN 3 CLEAR TABLE
  12234. RJM CLS
  12235. LDM .MDD SET POSSIBLE *MDD* PP NUMBER
  12236. RAM SPTA+1
  12237.  
  12238. * SET *MDD* INFORMATION.
  12239.  
  12240. SPT2 LDM MDDP
  12241. SHN 21-3
  12242. PJN SPT3 IF *MDD* NOT LOADED
  12243. SHN -16
  12244. LPN 7 SET *MDD* PORT NUMBER
  12245. LMN 40 SET *MDD* ACTIVE BIT
  12246. SHN 6
  12247. STM SPTA+4
  12248. SPT3 LDD CM+2 STORE PARAMETER TABLE FIRST WORD
  12249. SHN 14
  12250. LMD CM+3
  12251. CWM SPTA,ON
  12252.  
  12253. SPT SUBR ENTRY/EXIT
  12254. LDM .DCS
  12255. ZJP SPT1 IF NOT 721 CONSOLE
  12256.  
  12257. * SET *SCD* INFORMATION.
  12258.  
  12259. RAM SPTA+1 SET *SCD* PP NUMBER
  12260. LDM SCIP
  12261. RAM SPTA+3 SET *SCD* PORT NUMBER
  12262. LDD CM+3
  12263. ADN 4
  12264. STM SPTB+4 SET FWA OF DISPLAY BUFFER
  12265. SHN -14
  12266. ADD CM+2
  12267. STM SPTB+3
  12268. LDC SCDCL+4 CLEAR TABLE AND BUFFER
  12269. RJM CLS
  12270. LDD CM+2 STORE DISPLAY BUFFER POINTER
  12271. SHN 14
  12272. LMD CM+3
  12273. ADN 3
  12274. CWM SPTB,ON
  12275. UJP SPT2 SET AND STORE FIRST WORD
  12276.  
  12277.  
  12278. SPTA VFD 12/0,16/140004,4/0,1/1,2/1,3/1,3/1,3/0,16/0
  12279. SPTB VFD 3/2,9/0,16/SCDCL,32/0
  12280. SSESUB
  12281. SXA SPACE 4,10
  12282. ** SXA - SET EXCHANGE AREA FOR CYBER 176.
  12283. *
  12284. * ENTRY (KI) = NUMBER 0F 819 EQUIPMENTS.
  12285. *
  12286. * USES T1, T3.
  12287. *
  12288. * CALLS CLS, SBB.
  12289.  
  12290.  
  12291. SXA SUBR ENTRY/EXIT
  12292. LDD CA RESERVE SPACE FOR 176 EXCHANGE PACKAGES
  12293. SHN 14
  12294. ADD CA+1
  12295. ADC 777 ROUND TO NEXT MULTIPLE OF 1000B
  12296. LPC 17000
  12297. STD CA+1
  12298. SHN -11
  12299. STD T1
  12300. STD T3
  12301. SHN -3
  12302. STD CA
  12303. LDC /SCR/FCSB+/SCR/EXBB SET EXCHANGE PACKAGE BIAS
  12304. RJM SBB
  12305. LDD HN ALLOCATE BASIC 176 EXCHANGE PACKAGES
  12306. RJM CLS
  12307. LDD KI
  12308. ZJN SXAX IF NO 819-S DEFINED
  12309. LDC 300 ALLOCATE 819 EXCHANGE PACKAGES
  12310. RJM CLS
  12311. LDD T3 SET CHANNELS 2 - 3 BUFFER BIAS
  12312. STD T1
  12313. LDC /SCR/FCSB+/SCR/C2BB
  12314. RJM SBB
  12315. LDC 400 ALLOCATE CHANNELS 2 - 3 BUFFER
  12316. RJM CLS
  12317. LDM TFMC+2
  12318. ADM TFMC+3
  12319. ZJN SXA1 IF CHANNELS 4 - 7 NOT PRESENT
  12320. AOD T3 SET CHANNELS 4 - 7 BUFFER BIAS
  12321. STD T1
  12322. LDC /SCR/FCSB+/SCR/C4BB
  12323. RJM SBB
  12324. LDC 400 ALLOCATE CHANNELS 4 - 5 BUFFER
  12325. RJM CLS
  12326. LDM TFMC+3
  12327. ZJN SXA1 IF CHANNELS 6 - 7 NOT PRESENT
  12328. LDC 400 ALLOCATE CHANNELS 6 - 7 BUFFER
  12329. RJM CLS
  12330. SXA1 LJM SXAX RETURN
  12331.  
  12332.  
  12333. TFMC EQU KBUF FLPP MUX CHANNEL STATUS TABLE
  12334.  
  12335. LIST *
  12336.  
  12337. ENDM
  12338. SPACE 4,10
  12339. ** SSESUB - SUBROUTINE TO SEARCH FOR SELECTED EQUIPMENT.
  12340.  
  12341.  
  12342. SSESUB MACRO
  12343. LIST G
  12344. SSE SPACE 4,10
  12345. ** SSE - SEARCH FOR SELECTED EQUIPMENT TYPE.
  12346. *
  12347. * ENTRY (A) = 1/1,17/MNEMONIC IF INITIAL ENTRY.
  12348. * = POSITIVE IF SUBSEQUENT ENTRY.
  12349. *
  12350. * EXIT (A) = 0 IF EQUIPMENT TYPE FOUND.
  12351. * (EQ) = EST ORDINAL.
  12352. * (AB - AB+4) = WORD *EQDE* OF EST ENTRY.
  12353. *
  12354. * MACROS SFA.
  12355.  
  12356.  
  12357. SSE1 SOD EQ
  12358. MJN SSEX IF END OF EST
  12359. SFA EST
  12360. ADK EQDE
  12361. CRD AB
  12362. LDD AB+3 CHECK MNEMONIC
  12363. LMC 0
  12364. SSEA EQU *-1
  12365. NJN SSE1 IF NOT FOUND
  12366.  
  12367. SSE SUBR ENTRY/EXIT
  12368. PJN SSE1 IF NOT INITIAL ENTRY
  12369. STM SSEA
  12370. LDN ESTP
  12371. CRD AB
  12372. LDD AB+2 INITIALIZE EST ORDINAL
  12373. STD EQ
  12374. UJN SSE1 SEARCH EST
  12375.  
  12376. LIST *
  12377. SSESUB ENDM
  12378. QUAL *
  12379. TITLE MAIN ROUTINE.
  12380. ICT SPACE 4
  12381. ** ICT - INITIALIZE CENTRAL MEMORY TABLES.
  12382.  
  12383.  
  12384. ICT SUBR ENTRY/EXIT
  12385. RJM INO INITIALIZE OVERLAY
  12386.  
  12387. * ALLOCATE CMR TABLES AND BUFFERS.
  12388.  
  12389. LDN 0
  12390. STD LA
  12391. ICT1 LDM TCTP,LA SET PROCESSOR ADDRESS
  12392. STD T1
  12393. RJM 0,T1 DEFINE TABLE
  12394. AOD LA
  12395. LMN TSGTE
  12396. NJN ICT1 IF NOT END OF TABLES
  12397.  
  12398. * COMPLETE TABLES.
  12399.  
  12400. LDC BIOL
  12401. CRD CN
  12402. LDN CMRL
  12403. CRD CM
  12404. LDD CA SET CM ADDRESS
  12405. STD CN+3
  12406. SHN 14
  12407. LMD CA+1
  12408. STD CN+4
  12409. ADN 77
  12410. SHN -6
  12411. STD CM+4
  12412. LDD FL
  12413. SHN 14
  12414. LMD FL+1
  12415. SBK 4001
  12416. MJN ICT2 IF EXECUTION MEMORY SIZE .LE. 131K
  12417. LCN 1
  12418. ICT2 ADC 4001-CPML-PRSL
  12419. STD CN SET LOAD ADDRESS FOR *CPUMLD*
  12420. SBD CM+4
  12421. PJN ICT3 IF NO CMR OVERFLOW
  12422. LDC =C*CMR OVERFLOW.*
  12423. JMP DSE DISPLAY ERROR AND HANG
  12424.  
  12425. ICT3 LDC BIOL STORE *CPUMTR* LOAD ADDRESS
  12426. CWD CN
  12427. LDN CMRL STORE CMR LENGTH
  12428. CWD CM
  12429. LJM ICTX RETURN
  12430.  
  12431.  
  12432. ICTA VFD 42/0LSYSTEM,6/0,6/LIFT,6/1
  12433. ICTB VFD 24/4L"SJSN",36/0
  12434. ICTC VFD 6//SCD/SYSC,54/0
  12435. TITLE TABLE ALLOCATION PROCESSORS.
  12436. BDT SPACE 4,10
  12437. ** BDT - ALLOCATE BUFFERED DEVICE CONTROL TABLES.
  12438. *
  12439. * ENTRY (EN) = EXTENDED MEMORY EST ORDINAL.
  12440. *
  12441. * USES T1, T4.
  12442. *
  12443. * CALLS CLS, SPW.
  12444.  
  12445.  
  12446. BDT SUBR ENTRY/EXIT
  12447. LDM .PUTP
  12448. ZJN BDTX IF NO BUFFERED DEVICES DEFINED
  12449. STM .FTTP
  12450. LDD EN
  12451. NJN BDT1 IF EXTENDED MEMORY DEFINED
  12452. LDC BDTB *XX REQUIRES DE/DP WITH CPU PORT.*
  12453. JMP DSE DISPLAY ERROR AND HANG
  12454.  
  12455. BDT1 LDN PUTL
  12456. RAM .PUTP+2 COUNT DEAD ENTRY ZERO
  12457. SHK FTTLS-PUTLS
  12458. STM .FTTP+2
  12459. LDM EMSC ACCOUNT FOR XM BLOCK SIZE
  12460. SBN 2
  12461. LPN 77
  12462. RAM BDTC
  12463. LDC 1S12+BIOL
  12464. RJM SPW
  12465. LDM TAXM
  12466. NJN BDT2 IF XM ALLOCATED FOR THIS MACHINE
  12467. LDC =C*XM ENTRY NEEDED.*
  12468. JMP DSE DISPLAY ERROR AND HANG
  12469.  
  12470. BDT2 LDM TAXM+4 BUFFER SPACE DEFINED FOR THIS MACHINE
  12471. NJN BDT3 IF SPACE DEFINED
  12472. LDC =C*NO IO BUFFERS DEFINED.*
  12473. JMP DSE DISPLAY ERROR AND HANG
  12474.  
  12475. * SET UP *CBTP*.
  12476.  
  12477. BDT3 SHN 0 BUFFERS = (SPACE/1000B)/4
  12478. BDTC EQU BDT3
  12479. * SHN EMSC-2
  12480. ERRNZ PSLB-4
  12481. STM .CBTP NUMBER OF CONTROL BUFFER TABLE ENTRIES
  12482. ADN 1 COUNT DEAD ENTRY ZERO
  12483. SHN CBTLS
  12484. STM .CBTP+2 TOTAL CBT LENGTH
  12485. SHN -14
  12486. RAM .CBTP+1
  12487. ADM .HATP+1
  12488. LPN 77
  12489. SHN 14
  12490. ADM .CBTP+2 COMPUTE TOTAL IO TABLE SPACE
  12491. ADN BDTL+IBSL+PLTL
  12492. ADM .CCTP+2
  12493. ADM .PUTP+2
  12494. ADM .FTTP+2
  12495. ADM .HATP+2
  12496. RJM CLS CLEAR BUFFERED IO TABLE SPACE
  12497. LDN BDTAL/5
  12498. STD T1
  12499. LDD CM+1 STORE BDT
  12500. SHN 14
  12501. ADD CM+2
  12502. CWM BDTA,T1
  12503. LJM BDTX RETURN
  12504.  
  12505. BDTA BSS 0 BDT TABLE SKELETON
  12506. .IBSP VFD 12/IBSL,6/1,18/IBSL,6/0,18/0
  12507. .PLTP VFD 12/PLTL,6/1,18/PLTL,6/0,18/0
  12508. .CCTP VFD 12/0,6/CCTL,18/0,6/0,18/0
  12509. .PUTP VFD 12/0,6/PUTL,18/0,6/0,18/0
  12510. .FTTP VFD 12/0,6/FTTL,18/0,6/0,18/0
  12511. .HATP VFD 12/0,6/10,18/0,6/0,18/0
  12512. .CBTP VFD 12/0,6/CBTL,18/0,6/0,18/0
  12513. .IOSP VFD 12/0,6/0,18/0,6/0,18/0
  12514.  
  12515. BDTAL EQU *-BDTA BDT LENGTH (BYTES)
  12516.  
  12517. BDTB DATA C*XX REQUIRES DE/DP WITH CPU PORT.*
  12518. BST SPACE 4,10
  12519. ** BST - DEFINE BUFFER STATUS TABLES.
  12520. *
  12521. * EXIT (A) = 0.
  12522. *
  12523. * USES EQ, CM - CM+4.
  12524. *
  12525. * CALLS CLS, SME.
  12526.  
  12527.  
  12528. BST SUBR ENTRY/EXIT
  12529. LDM NSBD
  12530. ZJN BSTX IF NO SHARED BUFFERED DEVICES
  12531. LDN NOPE
  12532. STD EQ
  12533.  
  12534. * PROCESS NEXT EQUIPMENT.
  12535.  
  12536. BST1 RJM SME SEARCH FOR MASS STORAGE EQUIPMENT
  12537. ZJN BSTX IF END OF MS EST ENTRIES
  12538. SHN 21-11-21+13
  12539. PJN BST1 IF NOT SHARED DEVICE
  12540. SHN 21-5-21+11
  12541. PJN BST1 IF NOT BUFFERED DEVICE
  12542. LDD AB+4
  12543. SHN 3
  12544. ADK BDLL
  12545. CRD CM
  12546. LDD CA SET BST ADDRESS INTO *BDLL*
  12547. STD CM+1
  12548. LDD CA+1
  12549. STD CM+2
  12550. LDD CM+3 SET *BST/BAT PROCESSING DISABLED* FLAG
  12551. LPC 3777
  12552. LMC 4000
  12553. STD CM+3
  12554. LDD AB+4
  12555. SHN 3
  12556. ADK BDLL
  12557. CWD CM
  12558. LDK BSTL ALLOCATE AND CLEAR BST
  12559. RJM CLS
  12560. UJP BST1 PROCESS NEXT EQUIPMENT
  12561. CHT SPACE 4,10
  12562. ** CHT - DEFINE CHANNEL TABLES.
  12563. *
  12564. * USES T1.
  12565. *
  12566. * CALLS CLS, SPW.
  12567.  
  12568.  
  12569. CHT SUBR ENTRY/EXIT
  12570. LDC 2S12+CHTP
  12571. RJM SPW
  12572. LDN CTALL*3 CLEAR TABLE
  12573. RJM CLS
  12574. LDN CTALL SET LENGTH OF SINGLE TABLE
  12575. STD T1
  12576. LDD CM+2 STORE CHANNEL STATUS TABLE
  12577. SHN 14
  12578. LMD CM+3
  12579. CWM TCST,T1
  12580. ADN CTALL STORE FIRMWARE LOAD TABLE
  12581. CWM TCHS,T1
  12582. UJN CHTX RETURN
  12583. CLT SPACE 4,10
  12584. ** CLT - DEFINE COMMON LIBRARIES TABLE.
  12585. *
  12586. * USES CM+2.
  12587. *
  12588. * CALLS CLS, LST, SPW.
  12589. *
  12590. * MACROS CFI.
  12591.  
  12592.  
  12593. CLT SUBR ENTRY/EXIT
  12594. LDC CLTP
  12595. RJM SPW
  12596. LDM .CLT+MTBL SET CLT ENTRY COUNT
  12597. STD CM+2
  12598. ZJN CLTX IF EMPTY TABLE
  12599. CFI CLT,,CM+2 CLEAR TABLE
  12600. RJM CLS
  12601. LDN CLTE LINK CLT
  12602. RJM LST
  12603. UJN CLTX RETURN
  12604. DFB SPACE 4,10
  12605. ** DFB - DEFINE DAYFILE BUFFERS.
  12606. *
  12607. * USES T3, T6, T7, CM - CM+4.
  12608. *
  12609. * CALLS CLS, IDB.
  12610.  
  12611.  
  12612. DFB SUBR ENTRY/EXIT
  12613. LDN DFPP SET FWA OF DAYFILE POINTERS
  12614. CRD T6
  12615. LDN 0 SET SYSTEM DAYFILE BUFFER NUMBER
  12616. STD T3
  12617. DFB1 RJM IDB
  12618. LDN 3 ADVANCE DAYFILE POINTER ADDRESS
  12619. RAD T7
  12620. SHN -14
  12621. RAD T6
  12622. AOD T3 ADVANCE DAYFILE NUMBER
  12623. LMN EXDF
  12624. NJN DFB1 IF NOT END OF EXCESS DAYFILES
  12625. LDC 2S12+DFPP STORE POINTER WORD
  12626. RJM SPW
  12627. LDN 1 SET PP DUMP BUFFER NOT BUSY
  12628. STD CM+4
  12629. LDN DFPP STORE POINTER
  12630. CWD CM
  12631. LDC DFDS+3 CLEAR DUMP BUFFER
  12632. RJM CLS
  12633. LDD CM
  12634. SHN 14
  12635. LMD CM+1
  12636. CRD CM
  12637. LDD CM PASS DAYFILE RESIDENCE OPTIONS TO *RMS*
  12638. SHN 14
  12639. LMD CM+1
  12640. CWM DFBF,ON
  12641. LJM DFBX RETURN
  12642. ECB SPACE 4,10
  12643. ** ECB - DEFINE *EICB* TABLES.
  12644. *
  12645. * ENTRY (DFTA - DFTA+1) = *DFT* ALLOCATION DATA.
  12646. * (DFTV) = *DFT* VERSION.
  12647. * (DFSZ) = TOTAL SIZE OF *DFT/OS* BUFFER, IF *DFT*
  12648. * VERSION 4 OR ABOVE.
  12649. *
  12650. * USES T1, T6.
  12651. *
  12652. * CALLS CLS, SPW.
  12653.  
  12654.  
  12655. ECB SUBR ENTRY/EXIT
  12656. LDM C8XX
  12657. NJN ECBX IF NOT LOWER 800 SERIES MAINFRAME
  12658. LDC 3S12+EIBP
  12659. RJM SPW
  12660.  
  12661. * CALCULATE TOTAL SIZE OF *EICB* TABLES.
  12662. * THE *EICB* TABLES INCLUDE THE *EICB*, THE *MLST* AND THE
  12663. * *DFT/OS* BUFFER. ONE EXTRA WORD IS ALLOCATED TO ALLOW FOR
  12664. * ADJUSTING THE START OF THE *DFT/OS* BUFFER, SINCE IT CANNOT
  12665. * BEGIN ON THE LAST WORD OF A SECTOR.
  12666. *
  12667. * FOR *DFT* VERSION 4 AND ABOVE, THE *DFT/OS* BUFFER IS BUILT
  12668. * BY *DFT*. THE TOTAL SIZE IS OBTAINED FROM THE *DFT*
  12669. * DESCRIPTOR IN THE *HDT*. THE NOS REQUEST AREA SIZE (*RQBL*
  12670. * WORDS) AND THE *PPR* SAVE AREA SIZE (*DFPSL* WORDS) MUST BE
  12671. * ADDED TO THIS TO DETERMINE THE AMOUNT OF SPACE TO ALLOCATE.
  12672. *
  12673. * FOR *DFT* VERSION 3, THE *DFT/OS* BUFFER CONSISTS OF THE
  12674. * FOLLOWING.
  12675. * 1. CONTROL WORD AND POINTERS (*DFHL* WORDS).
  12676. * 2. M/R BUFFER CONTROL WORDS (*NUMR*+1 WORDS).
  12677. * 3. ELEMENT COUNTER BUFFER (*MECB* WORDS).
  12678. * 4. SECDED ID TABLE (*SIDL* WORDS - CORR. MEMORY THRESHOLD).
  12679. * 5. M/R BUFFERS (*NUMR*+1 BUFFERS OF MODEL-DEPENDENT LENGTH).
  12680. * 6. CYBER 990 BUFFER (*M9DB* WORDS, IF CYBER 990).
  12681. * 7. PP RESIDENT SAVE AREA (*DFPSL* WORDS).
  12682. * 8. NOS REQUEST AREA (*RQBL* WORDS).
  12683.  
  12684. LDN 0
  12685. STD T6
  12686. LDM VEFL
  12687. ZJN ECB0 IF *VE* ENTRY NOT SPECIFIED
  12688. LDM DFTA+1
  12689. LPC 3777
  12690. ADC 4000 SET DEDICATED *DFT*
  12691. STM DFTA+1
  12692. LDM .MLS+MTBL ALLOW SPACE FOR *MLST*
  12693. STD T6
  12694. LDM DCPN
  12695. ZJN ECB1 IF *DUALCPU=N* NOT SPECIFIED
  12696. ECB0 LDM DCPC
  12697. ZJN ECB1 IF NOT DUAL 170-STATE CPUS WITH CACHE
  12698. LDC 2000 SET *CPU1 ON CACHE MACHINE IN C170 MODE*
  12699. STD CM
  12700. LDN EIBP
  12701. CWD CM
  12702. ECB1 LDK DSCBL+1 ALLOW PAD FOR *DFT/OS* BUFFER ADJUSTMENT
  12703. RAD T6
  12704. LDK RQBL+1 ADD NOS REQUEST AREA SIZE
  12705. RAD T6
  12706. LDM DFTA+1
  12707. SHN 21-13
  12708. MJN ECB2 IF DEDICATED *DFT*
  12709. LDK DFPSL ADD *PPR* SAVE AREA SIZE
  12710. RAD T6
  12711. ECB2 LDM DFTV
  12712. ZJN ECB3 IF *DFT* VERSION 3
  12713. LDM DFSZ COMPUTE TOTAL *DFT/OS* BUFFER SIZE
  12714. UJN ECB5 CLEAR TABLE
  12715.  
  12716. ECB3 LDM DFTA+1
  12717. SHN 21-12
  12718. PJN ECB4 IF NOT CYBER 990
  12719. LDC M9DB ADD FOR CYBER 990 BUFFER
  12720. RAD T6
  12721. LDM .CPU+1 CHECK FOR DUAL CPU
  12722. LPN 2
  12723. NJN ECB4 IF CPU-1 *OFF* OR NOT PRESENT
  12724. LDC M9DB DOUBLE CYBER 990 BUFFER SIZES
  12725. RAD T6
  12726. ECB4 LDM DFTA+1 ADD M/R BUFFER SIZE
  12727. LPC 1777
  12728. RAD T6
  12729. LDM DFTA ADD M/R BUFFER CONTROL WORD SIZE
  12730. SHN -6
  12731. ADK DFHL+MECB+SIDL ADD *DFT* HEADER/SECDED/ELEMENT
  12732. ECB5 ADD T6
  12733. RJM CLS CLEAR TABLE
  12734. LJM ECBX RETURN
  12735. EJT SPACE 4,10
  12736. ** EJT - DEFINE EXECUTING JOB TABLE.
  12737. *
  12738. * CALLS CLS, LST, SPW.
  12739. *
  12740. * MACROS CFI.
  12741.  
  12742.  
  12743. EJT SUBR ENTRY/EXIT
  12744. LDN EJTP
  12745. RJM SPW
  12746. LDM .EJT+MTBL SET EJT ENTRY COUNT
  12747. STD CM+2
  12748. CFI EJT,,CM+2 CLEAR TABLE
  12749. RJM CLS
  12750. LDN EJTE LINK EJT
  12751. RJM LST
  12752. LDN EXJS*2
  12753. STM ICTB+4
  12754. LDD CM STORE SYSTEM EJT ENTRY
  12755. SHN 14
  12756. LMD CM+1
  12757. CWM ICTB,ON
  12758. ADN SCLE-JSNE-1
  12759. CWM ICTC,ON
  12760. UJN EJTX RETURN
  12761. EMB SPACE 4,10
  12762. ** EMB - DEFINE ERROR MESSAGE BUFFER.
  12763. *
  12764. * CALLS CLS, SPW.
  12765.  
  12766.  
  12767. EMB SUBR ENTRY/EXIT
  12768. LDC 1S12+EMBP
  12769. RJM SPW
  12770. LDM .EMB+MTBL CLEAR BUFFER
  12771. RJM CLS
  12772. LDN ZERL SET UP INTERLOCK WORD
  12773. CRD AB
  12774. CRD CN
  12775. AOD AB
  12776. LDM .EMB+MTBL ESTABLISH *LIMIT*
  12777. SBN 2 ALLOW FOR HEADER
  12778. STD CN+4
  12779. LDD CM+1 STORE BUFFER INTERLOCK/*IN* WORD
  12780. SHN 14
  12781. LMD CM+2
  12782. CWD AB
  12783. ADN 1 STORE BUFFER *OUT*/*LIMIT* WORD
  12784. CWD CN
  12785. UJN EMBX RETURN
  12786. EST SPACE 4,10
  12787. ** EST - DEFINE EQUIPMENT STATUS TABLE.
  12788. *
  12789. * EXIT (KI) = NUMBER OF 819 DEVICES.
  12790. *
  12791. * USES T1, T2, T5, AB+1 - AB+2, CM - CM+4.
  12792. *
  12793. * CALLS CKB, PBD, SPW, STA.
  12794. *
  12795. * MACROS CFI, SFA.
  12796.  
  12797.  
  12798. EST1 RJM STA FETCH EST ENTRY
  12799. ZJN EST5 IF NOT MASS STORAGE
  12800.  
  12801. * SET HALF/FULL TRACK FLAGS.
  12802.  
  12803. LDN AB+1
  12804. STD T1
  12805. EST2 LDM EBUT-AB,T1 EXTRACT CHANNEL
  12806. STI T1
  12807. ZJN EST4 IF SINGLE ACCESS DEVICE
  12808. LPN 77
  12809. STD CM
  12810. LDI ES CHECK DEVICE TYPE
  12811. SHN 21-7
  12812. PJN EST3 IF NOT *LDAM* DEVICE
  12813. LPN 2
  12814. LMC SCNI+77 SET DRIVER INSTRUCTION
  12815. STM EBUT+5+2
  12816. LDM TCHS,CM
  12817. SBN CLFT
  12818. SHN -21
  12819. SHN 10-0
  12820. RAM EBUT-AB,T1
  12821. EST3 AOD T1 ADVANCE CHANNEL BYTE INDEX
  12822. LMN AB+3
  12823. NJN EST2 IF ANOTHER CHANNEL TO PROCESS
  12824. EST4 LDM TDDB+DVED
  12825. SHN 21-12
  12826. EST5 PJN EST6 IF NOT BUFFERED DEVICE
  12827. RJM PBD PROCESS BUFFERED DEVICE
  12828. EST6 SFA EST,T5
  12829. CWM EBUT,T2 STORE EST ENTRY
  12830. EST7 SOD T5
  12831. PJP EST1 IF NOT END OF EST
  12832.  
  12833. * SET UP CHANNEL TABLE POINTER WORD.
  12834.  
  12835. LDN CTALL*5 INITIALIZE CHANNEL LIST INDEX
  12836. STD T5
  12837. EST8 LDM KBUF,T5
  12838. ZJN EST9 IF NOT BUFFERED DEVICE
  12839. AOM .CCTP
  12840. SHN 2 COUNT USAGE
  12841. STM .CCTP+2
  12842. ERRNZ CCTL-4 CODE DEPENDS ON VALUE
  12843. EST9 SOD T5
  12844. PJN EST8 IF MORE CHANNELS TO SCAN
  12845. LDD HO CHECK MAINFRAME TYPE
  12846. SHN -11
  12847. SBN 7
  12848. NJN ESTX IF NOT CYBER 176
  12849.  
  12850. * SET UP CHANNEL TABLE POINTER FOR CYBER 176/819.
  12851.  
  12852. LDN 4 SET NUMBER OF ENTRIES
  12853. STM .CCTP
  12854. SHN CCTLS SET TABLE LENGTH
  12855. STM .CCTP+2
  12856.  
  12857. EST SUBR ENTRY/EXIT
  12858. LDN ESTP
  12859. RJM SPW
  12860. LDD LE SET LAST EQUIPMENT + 1
  12861. STD CM+2
  12862. STD T5
  12863. CFI EST,,LE ADVANCE CENTRAL ADDRESS
  12864. RAD CA+1
  12865. SHN -14
  12866. RAD CA
  12867. RJM CKB
  12868. LDN ESTP STORE EST POINTER
  12869. CWD CM
  12870. LDN ESTE SET EST ENTRY LENGTH
  12871. STD T2
  12872. LJM EST7 PROCESS EST
  12873. EVT SPACE 4,10
  12874. ** EVT - DEFINE EVENT TABLE.
  12875. *
  12876. * CALLS CLS, SPW.
  12877.  
  12878.  
  12879. EVT SUBR ENTRY/EXIT
  12880. LDC EVTP
  12881. RJM SPW
  12882. LDN EVTLL CLEAR TABLE
  12883. RJM CLS
  12884. UJN EVTX RETURN
  12885. EXM SPACE 4,10
  12886. ** EXM - DEFINE EXTENDED MEMORY BUFFERS.
  12887. *
  12888. * ENTRY (EN) = EXTENDED MEMORY CPU ACCESS EST ORDINAL.
  12889. *
  12890. * USES T3, AB - AB+4, CN - CN+4.
  12891. *
  12892. * CALLS CLS, SPW.
  12893. *
  12894. * MACROS SFA.
  12895.  
  12896.  
  12897. EXM SUBR ENTRY/EXIT
  12898. LDK UEML
  12899. CRD AB
  12900. LDD AB+4
  12901. LPN 2
  12902. ADD EN
  12903. ADD LD
  12904. LPC 777
  12905. ZJN EXMX IF NO EXTENDED MEMORY DEFINED
  12906. LDC EDBP
  12907. RJM SPW
  12908. LDN EDBL CLEAR DISPLAY BUFFER
  12909. RJM CLS
  12910. LDD EN
  12911. ZJN EXMX IF NO EXTENDED MEMORY EQUIPMENT
  12912. SFA EST,,EN
  12913. CRD CN
  12914. LDM TAXM+3
  12915. ZJN EXM1 IF NO SPACE RESERVED FOR I/O BUFFERS
  12916. LDM .PPU
  12917. SBN 2
  12918. SHN -1
  12919. EXM1 STD T3
  12920. SHN -1
  12921. RAD T3
  12922. LDD CN+3 CHECK EXTENDED MEMORY ACCESS
  12923. LPN 77
  12924. LMN 1RP
  12925. ZJN EXM2 IF DDP
  12926. AOD T3
  12927. EXM2 LDC 3S12+EPBP
  12928. RJM SPW
  12929. LDD T3 SET BUFFER COUNT
  12930. ZJN EXM4 IF NO I/O BUFFERS DEFINED
  12931. SHN 6
  12932. RAD CM+3
  12933. LDD T5 STORE EXTENDED MEMORY BUFFER POINTER
  12934. CWD CM
  12935. EXM3 LDC ECBL CLEAR BUFFER
  12936. RJM CLS
  12937. SOD T3
  12938. NJN EXM3 IF ALL BUFFERS NOT ALLOCATED
  12939. EXM4 LJM EXMX RETURN
  12940. EXP SPACE 4,10
  12941. ** EXP - DEFINE C176 EXCHANGE PACKAGES.
  12942. *
  12943. * CALLS SXA.
  12944.  
  12945.  
  12946. EXP SUBR ENTRY/EXIT
  12947. LDD HO
  12948. SHN -11
  12949. LMN 7
  12950. NJN EXPX IF NOT C176
  12951. RJM SXA
  12952. UJN EXPX RETURN
  12953. FNT SPACE 4,10
  12954. ** FNT - DEFINE FILE NAME TABLE.
  12955. *
  12956. * CALLS CLS, LST, SPW.
  12957. *
  12958. * MACROS CFI.
  12959.  
  12960.  
  12961. FNT SUBR ENTRY/EXIT
  12962. LDN FNTP
  12963. RJM SPW
  12964. LDM .FNT+MTBL SET FNT ENTRY COUNT
  12965. STD CM+2
  12966. CFI FNT,,CM+2 CLEAR TABLE
  12967. RJM CLS
  12968. LDN FNTE LINK FNT
  12969. RJM LST
  12970. LDD CM STORE SYSTEM FILE FNT ENTRY
  12971. SHN 14
  12972. LMD CM+1
  12973. ERRNZ SYFO SYSTEM FILE ORDINAL .NE. 0
  12974. CWM ICTA,ON
  12975. UJN FNTX RETURN
  12976. FOT SPACE 4,10
  12977. ** FOT - DEFINE FAMILY ORDINAL TABLE.
  12978. *
  12979. * CALLS CLS, LST, SPW.
  12980.  
  12981.  
  12982. FOT SUBR ENTRY/EXIT
  12983. LDC FOTP
  12984. RJM SPW
  12985. LDM .FOT+MTBL SET FOT ENTRY COUNT
  12986. STD CM+2
  12987. RJM CLS
  12988. LDN 1 LINK FOT
  12989. RJM LST
  12990. LDD CM STORE SYSTEM FOT ENTRY
  12991. SHN 14
  12992. LMD CM+1
  12993. CWM ICTB,ON
  12994. UJN FOTX RETURN
  12995. INB SPACE 4,10
  12996. ** INB - DEFINE INSTALLATION BLOCK.
  12997. *
  12998. * CALLS SPW.
  12999.  
  13000.  
  13001. INB SUBR ENTRY/EXIT
  13002. LDC 2S12+INBP
  13003. RJM SPW
  13004. LDM INBS SET TABLE LENGTH
  13005. STD CM+4
  13006. RJM CLS CLEAR THE BLOCK
  13007. LDD T5 STORE POINTER WORD
  13008. CWD CM
  13009. UJN INBX RETURN
  13010. JCA SPACE 4,10
  13011. ** JCA - DEFINE JOB CONTROL BLOCK TABLE (*JCB*).
  13012. *
  13013. * USES T1.
  13014. *
  13015. * CALLS SPW.
  13016.  
  13017.  
  13018. JCA SUBR ENTRY/EXIT
  13019. LDK JBCP
  13020. RJM SPW
  13021. LDN 0
  13022. STD T1
  13023. LDN JCBE SET WORD COUNT
  13024. STD T2
  13025. LDD CA INITIALIZE SCT (JCB ORDINAL ZERO)
  13026. SHN 14
  13027. ADD CA+1
  13028. CWM JCAC,T2
  13029. UJN JCA2 PROCESS NEXT BLOCK
  13030.  
  13031. JCA1 LDD CA STORE JCB ENTRY FOR NEXT SERVICE CLASS
  13032. SHN 14
  13033. ADD CA+1
  13034. CWM JCAB,T2
  13035. JCA2 STD CA+1
  13036. SHN -14
  13037. STD CA
  13038. AOD T1 COUNT JCB ENTRY
  13039. SBN MXJC
  13040. MJN JCA1 IF MORE SERVICE CLASSES TO PROCESS
  13041. UJN JCAX RETURN
  13042.  
  13043.  
  13044. JCAB BSS 0 DEFAULT JCB (JCB ORDINAL .GT. 0)
  13045. CON 0,100,7000,1,0 INPUT FILE CONTROL
  13046. CON 700,100,7000,1,7000 EXECUTING JOB CONTROL
  13047. CON 0,100,7000,1,0 OUTPUT FILE CONTROL
  13048. CON 0,4,20,-0,341 SERVICE CONTROL
  13049. CON 6760,4004,3777,7,7777
  13050. CON 0,0,3777,0,-0
  13051. CON 0,0,0,0,/SCD/DISC
  13052. CON 30,10,20,4,20
  13053. BSS 4*5
  13054.  
  13055. .L SET *-JCAB
  13056. JCABL EQU .L/5 LENGTH OF ENTRY
  13057. ERRNZ JCABL-JCBE ERROR IN LENGTH
  13058.  
  13059. JCAC BSS 0 DEFAULT SCT (JCB ORDINAL 0)
  13060. CON 0,0,0,/SCD/A2MK,/SCD/A1MK+/SCD/SSMK
  13061. CON 0,0,0,0,/SCD/BCMK
  13062. CON 0,0,0,0,/SCD/RBMK
  13063. CON 0,0,0,0,/SCD/DIMK+/SCD/TSMK
  13064. CON 0,0,0,0,0
  13065. CON 0,0,0,0,0
  13066. CON 0,0,0,0,0
  13067. CON 0,0,0,0,0
  13068. CON 0,0,0,0,0
  13069. CON 0,0,0,0,0
  13070. CON 0,0,0,0,0
  13071. CON 0,0,0,0,0
  13072.  
  13073. .L SET *-JCAC
  13074. JCACL EQU .L/5 LENGTH OF ENTRY
  13075. ERRNZ JCACL-JCBE ERROR IN LENGTH
  13076. LDB SPACE 4,10
  13077. ** LDB - DEFINE *L* DISPLAY BUFFER.
  13078. *
  13079. * CALLS CLS, SPW.
  13080.  
  13081.  
  13082. LDB SUBR ENTRY/EXIT
  13083. LDC 2S12+LDSP
  13084. RJM SPW
  13085. LDC LDSY+LCOM+5 CLEAR BUFFER
  13086. RJM CLS
  13087. UJN LDBX RETURN
  13088. LID SPACE 4,10
  13089. ** LID - DEFINE LOGICAL ID TABLE.
  13090. *
  13091. * USES T7.
  13092. *
  13093. * CALLS CLS, SPW.
  13094.  
  13095.  
  13096. LID SUBR ENTRY/EXIT
  13097. LDC LIDP
  13098. RJM SPW
  13099. LDM .LID+MTBL SET LID ENTRY COUNT
  13100. STD CM+2
  13101. RJM CLS
  13102. LDD T5 STORE POINTER WORD
  13103. CWD CM
  13104. UJN LIDX RETURN
  13105. MCT SPACE 4,10
  13106. ** MCT - DEFINE MEMORY CONTROL TABLE.
  13107. *
  13108. * USES CM+2, T3.
  13109. *
  13110. * CALLS CLS, SPW.
  13111.  
  13112.  
  13113. MCT SUBR ENTRY/EXIT
  13114. LDC MCTP
  13115. RJM SPW
  13116. LDM .NPCP PSEUDO CONTROL POINT COUNT
  13117. STD T3
  13118. ADD NC FORM MCT ENTRY COUNT
  13119. ADN 1
  13120. STD CM+2
  13121. SHN 1 CLEAR TABLE
  13122. RJM CLS
  13123. LDD T5 UPDATE POINTER WORD
  13124. CWD CM
  13125. LDD T3
  13126. ZJN MCTX IF NO PCP-S
  13127. LDC 3S12+PCPP
  13128. RJM SPW
  13129. LDD T3 CLEAR PCP AREA
  13130. SHN 7
  13131. RJM CLS
  13132. UJP MCTX RETURN
  13133. MSA SPACE 4,10
  13134. ** MSA - DEFINE MASS STORAGE ALLOCATION TABLE.
  13135. *
  13136. * USES EQ, T2, T3, T5, CM - CM+4, CN - CN+4.
  13137. *
  13138. * CALLS CLS, EEB, SME, SPW, STA.
  13139.  
  13140.  
  13141. MSA5 LDD CM WRITE ALLOCATION WORD
  13142. SHN 14
  13143. LMD CM+1
  13144. ADD T3
  13145. CWD CN
  13146. LDM MSAA ADVANCE ALLOCATION MASK
  13147. RAM MSAA
  13148. AOD T3
  13149. LMN MXRS
  13150. NJN MSA2 IF NOT END OF ALLOCATION TYPES
  13151.  
  13152. MSA SUBR ENTRY/EXIT
  13153. LDC MSAP
  13154. RJM SPW
  13155. LDN MXRS CLEAR TABLE
  13156. RJM CLS
  13157. LDN 0
  13158. STD T3
  13159. STD T5
  13160. UJN MSA2 ENTER LOOP
  13161.  
  13162. MSA1 LDD T5
  13163. NJN MSA5 IF NO DEFAULT TO SET
  13164. LDM DFMS
  13165. RJM STA
  13166. AOM TDDB+DVFA UPDATE EQUIPMENT DEFINITION
  13167. RJM EEB
  13168.  
  13169. MSA2 LDN NOPE-1 INITIALIZE EQUIPMENT SEARCH LOOP
  13170. STD EQ
  13171. LDN ZERL
  13172. CRD CN
  13173. MSA3 RJM SME
  13174. ZJN MSA1 IF END OF ALLOCATION TYPE
  13175. LDD EQ
  13176. STD T2
  13177. RJM STA FETCH DEVICE DESCRIPTION
  13178. LDM TDDB+DVFA
  13179. LPC 1
  13180. MSAA EQU *-1
  13181. ZJN MSA3 IF SELECTION NOT SET FOR THIS EQUIPMENT
  13182. AOD T5
  13183. LDN CN
  13184. STD T0
  13185. MSA4 AOD T0 DIVIDE BY 12
  13186. LCN 12D
  13187. RAD T2
  13188. PJN MSA4 IF NOT COMPLETE
  13189. LMC 777777-SHNI
  13190. SBN 1
  13191. STM MSAB
  13192. LDN 1
  13193. MSAB SHN 0
  13194. RAI T0
  13195. LDC 2000
  13196. STD CN
  13197. UJN MSA3 CHECK NEXT EQUIPMENT
  13198. MST SPACE 4,10
  13199. ** MST - DEFINE MASS STORAGE TABLES.
  13200. *
  13201. * EXIT (LE) = LAST MASS STORAGE EQUIPMENT + 1.
  13202. *
  13203. * USES EQ, T3, AB - AB+4, CM - CM+4.
  13204. *
  13205. * CALLS EEB, RMM, SME, SMT, STA.
  13206. *
  13207. * MACROS SFA.
  13208.  
  13209.  
  13210. MST2 RJM RMM RECOVER MSTS FROM MS
  13211.  
  13212. * PROCESS NEXT EQUIPMENT.
  13213.  
  13214. LDD EQ SET LAST DEVICE
  13215. STD T3
  13216. RJM SME
  13217. ZJN MST3 IF END OF MS EST ENTRIES
  13218. LDD EQ
  13219. RJM STA
  13220. NJN MST2 IF A MASS STORAGE DEVICE
  13221. LDC =C*INCORRECT DEVICE TYPE.*
  13222. JMP DSE
  13223.  
  13224. MST3 SFA EST,.PFNL+3 CHECK DEFAULT FAMILY EQUIPMENT
  13225. CRD AB
  13226. LDD AB
  13227. SHN 21-13
  13228. MJN MST4 IF DEFINED
  13229. LDM DFMS SET DEFAULT FAMILY
  13230. STM .PFNL+3
  13231. MST4 LDN ESTP
  13232. CRD CM
  13233. AOD T3 SET LAST MASS STORAGE EQUIPMENT + 1
  13234. STD CM+3
  13235. STD LE
  13236. LDN ESTP
  13237. CWD CM
  13238.  
  13239. MST SUBR ENTRY/EXIT
  13240. LDD ID SET MACHINE ID IN DEFAULT FAMILY NAME
  13241. STM DEFM+2
  13242. LDN RDEQ
  13243. STD EQ
  13244. SFA EST,,EQ FETCH EST ENTRY FOR *RD* DEVICE
  13245. CRD AB
  13246. LJM MST2 ENTER LOOP
  13247. ODB SPACE 4,10
  13248. ** ODB - DEFINE OPERATOR DISPLAY BUFFER.
  13249. *
  13250. * USES CM - CM+4.
  13251. *
  13252. * CALLS CLS.
  13253.  
  13254.  
  13255. ODB SUBR ENTRY/EXIT
  13256. LDN ZERL
  13257. CRD CM
  13258. AOD CM SET UP INTERLOCK WORD
  13259. LDD CA
  13260. SHN 14
  13261. LMD CA+1 STORE INTERLOCK WORD
  13262. CWD CM
  13263. AOD CA+1 ADVANCE CENTRAL ADDRESS
  13264. SHN -14
  13265. RAD CA
  13266. LDN LODS-1 CLEAR BUFFER
  13267. RJM CLS
  13268. UJN ODBX RETURN
  13269. ORT SPACE 4,10
  13270. ** ORT - DEFINE OPTICAL DISK REQUEST TABLE.
  13271. *
  13272. * CALLS CLS, LST, SPW.
  13273. *
  13274. * MACROS CFI.
  13275.  
  13276.  
  13277. ORT SUBR ENTRY/EXIT
  13278. LDC ORTP
  13279. RJM SPW
  13280. LDM .ORT+MTBL SET ORT ENTRY COUNT
  13281. STD CM+2
  13282. CFI ORT,,CM+2 CLEAR TABLE
  13283. RJM CLS
  13284. LDN ORTE LINK ORT
  13285. RJM LST
  13286. UJN ORTX RETURN
  13287. OST SPACE 4,10
  13288. ** OST - DEFINE OPTICAL DISK STATUS TABLES.
  13289. *
  13290. * USES EQ, T4, T5, AB - AB+4, CM - CM+4.
  13291. *
  13292. * CALLS CLS, SPW.
  13293. *
  13294. * MACROS SFA.
  13295.  
  13296.  
  13297. OST2 LDC OSTP SET NUMBER OF ENTRIES IN OST POINTER WORD
  13298. CRD CM
  13299. LDD T4
  13300. SHN -2
  13301. STD CM+2
  13302. LDC OSTP
  13303. CWD CM
  13304. LDD T4 SET LENGTH OF TABLE
  13305. RJM CLS
  13306.  
  13307. OST SUBR ENTRY/EXIT
  13308. LDC OSTP
  13309. RJM SPW
  13310. LDN 0
  13311. STD EQ SET INITIAL EST ORDINAL
  13312. STD T4 SET INITIAL TABLE INDEX
  13313. LDN ESTP
  13314. CRD CM
  13315. LDD CM+2 SET MAXIMUM EST ORDINAL
  13316. STD T5
  13317. OST1 AOD EQ ADVANCE EST ENTRY
  13318. LMD T5
  13319. ZJN OST2 IF END OF EST
  13320. SFA EST,EQ READ EST ENTRY
  13321. ADK EQDE
  13322. CRD CM
  13323. LDD CM+3
  13324. LMC 2ROD
  13325. NJN OST1 IF NOT OPTICAL DISK
  13326. LDN ZERL
  13327. CRD AB
  13328. LDD T4
  13329. SHN -2 SET OST ENTRY ORDINAL IN EST
  13330. ERRNZ OSTE-4 CODE DEPENDS ON VALUE
  13331. STD AB+2
  13332. SFA EST,EQ
  13333. ADN EQAE
  13334. CWD AB UPDATE EST ENTRY
  13335. LDN OSTE ADVANCE TABLE ADDRESS
  13336. RAD T4
  13337. UJN OST1 PROCESS NEXT EST ENTRY
  13338. PDB SPACE 4,10
  13339. ** PDB - DEFINE PREVIEW DISPLAY BUFFER.
  13340. *
  13341. * USES CA, CA+1.
  13342. *
  13343. * CALLS CLS.
  13344.  
  13345.  
  13346. PDB SUBR ENTRY/EXIT
  13347. LDD CA SET INTERLOCK WORD ADDRESS
  13348. SHN 14
  13349. ADD CA+1
  13350. CWM PDBA,ON INITIALIZE INTERLOCK WORD
  13351. STD CA+1 ADVANCE CENTRAL ADDRESS
  13352. SHN -14
  13353. STD CA
  13354. LDC LPDS-1
  13355. RJM CLS CLEAR PREVIEW DISPLAY BUFFER
  13356. UJN PDBX RETURN
  13357.  
  13358.  
  13359. PDBA VFD 12/7777B,12/0,12/0,12/0,12/0
  13360. PSV SPACE 4,10
  13361. ** PSV - DEFINE PP SAVE AREAS.
  13362. *
  13363. * USES CM - CM+4.
  13364. *
  13365. * CALLS CLS, SPW.
  13366.  
  13367.  
  13368. PSV SUBR ENTRY/EXIT
  13369. LDD LD
  13370. SHN 0-13
  13371. ZJN PSVX IF NO ISHARED DEVICES
  13372. LDC 2S12+PPSP
  13373. RJM SPW
  13374. LDM .PPN COMPUTE NUMBER OF SAVE AREAS
  13375. SBN 2
  13376. STD CM+4
  13377. SBD NS
  13378. MJN PSV1 IF FEWER PP-S THAN ISHARED DEVICES
  13379. LDD NS
  13380. STD CM+4
  13381. PSV1 LDD T5
  13382. CWD CM
  13383.  
  13384. * ALLOCATE SAVE AREAS.
  13385.  
  13386. PSV2 SOD CM+4
  13387. MJN PSVX IF NO MORE TO ALLOCATE
  13388. LDC PPSA CLEAR SAVE AREA
  13389. RJM CLS
  13390. UJN PSV2 ALLOCATE NEXT SAVE AREA
  13391. QFT SPACE 4,10
  13392. ** QFT - DEFINE QUEUE FILE TABLE.
  13393. *
  13394. * CALLS CLS, LST, SPW.
  13395. *
  13396. * MACROS CFI.
  13397.  
  13398.  
  13399. QFT SUBR ENTRY/EXIT
  13400. LDN QFTP
  13401. RJM SPW
  13402. LDM .QFT+MTBL SET QFT ENTRY COUNT
  13403. STD CM+2
  13404. CFI QFT,,CM+2 CLEAR TABLE
  13405. RJM CLS
  13406. LDN QFTE LINK QFT
  13407. RJM LST
  13408. LDN 0
  13409. STM ICTB+4
  13410. LDD CM STORE SYSTEM QFT ENTRY
  13411. SHN 14
  13412. LMD CM+1
  13413. CWM ICTB,ON
  13414. ADN SCLQ-JSNQ-1
  13415. CWM ICTC,ON
  13416. UJN QFTX RETURN
  13417. RPT SPACE 4,10
  13418. ** RPT - DEFINE RING PORT TABLE.
  13419. *
  13420. * ENTRY (CA - CA+1) = CURRENT CM ADDRESS.
  13421. *
  13422. * USES T4, EQ, AB - AB+4.
  13423. *
  13424. * CALLS CLS, DSE, SSE.
  13425.  
  13426.  
  13427. RPT2 LDD CA SET ADDRESS INTO EST ENTRY
  13428. SHN 14
  13429. LMD CA+1
  13430. ADN 1S"RPTSM"-1
  13431. ADD T4
  13432. SHN -RPTAS
  13433. STD AB+4
  13434. SHN -14
  13435. NJN RPT1 IF ADDRESS TOO LARGE
  13436. SFA EST,EQ
  13437. ADK EQDE
  13438. CWD AB
  13439. LDN RPTL INCREMENT ADDRESS OFFSET
  13440. RAD T4
  13441. RPT3 RJM SSE SEARCH FOR *RP* EQUIPMENT
  13442. ZJN RPT2 IF FOUND
  13443. LDD T4
  13444. ZJN RPTX IF NO TABLE SPACE RESERVED
  13445. LDD CA+1
  13446. LPN 1S"RPTSM"-1
  13447. ADD T4
  13448. RJM CLS CLEAR STORAGE
  13449.  
  13450. RPT SUBR ENTRY/EXIT
  13451. LDN 0
  13452. STD T4
  13453. LDC 1S17+2RRP
  13454. UJN RPT3 SEARCH FOR EQUIPMENT
  13455.  
  13456. RPT1 LDC =C*RING PORT TABLE OVERFLOW.*
  13457. JMP DSE DISPLAY ERROR
  13458. SAB SPACE 4,10
  13459. ** SAB - DEFINE SYSTEM ATTRIBUTE BLOCK.
  13460. *
  13461. * USES CM - CM+4.
  13462. *
  13463. * CALLS CLS, SPW.
  13464.  
  13465.  
  13466. SAB SUBR ENTRY/EXIT
  13467. LDC SABL
  13468. RJM SPW SETUP POINTER WORD
  13469. LDN ELDWL
  13470. SBM C8XX SET BASE DESCRIPTOR BLOCK LENGTH
  13471. STD CM+2
  13472. LDD EN
  13473. ADM UEMZ
  13474. ADM UEMZ+1
  13475. ZJN SAB2 IF NO EXTENDED MEMORY DESCRIPTOR REQUIRED
  13476. AOD CM+2 ADVANCE DESCRIPTOR LENGTH
  13477. SAB2 LDM .CPU ADD SECOND CPU DESCRIPTOR
  13478. LMN 2
  13479. ERRNZ CPDWL-4 CODE DEPENDS ON VALUE
  13480. LPN 2
  13481. SHN 1 LENGTH = 4 WORDS
  13482. RAD CM+2
  13483. LDD HO APPEND FLPP DESCRIPTOR WORD
  13484. SHN 0-11
  13485. LPN 1
  13486. RAD CM+2 CLEAR ELEMENT DESCRIPTOR BLOCK
  13487. RJM CLS
  13488. LDD T5 STORE POINTER WORD
  13489. CWD CM
  13490. UJP SABX RETURN
  13491. SCD SPACE 4,10
  13492. ** SCD - DEFINE *SCD* PARAMETER TABLE.
  13493. *
  13494. * CALLS CLS, SPT, SPW.
  13495.  
  13496.  
  13497. SCD2 LDD CA SET SAVE AREA FWA
  13498. STM SPSA
  13499. LDD CA+1
  13500. STM SPSA+1
  13501. LDC PSAL CLEAR SAVE AREA
  13502. RJM CLS
  13503.  
  13504. SCD SUBR ENTRY/EXIT
  13505. LDM C8XX
  13506. NJN SCDX IF NOT DUAL STATE MAINFRAME
  13507. LDM BSPT
  13508. ZJN SCD1 IF TABLE SHOULD BE CREATED
  13509. LDM .DCS
  13510. ZJN SCD2 IF DEADSTART FROM CC545
  13511. SCD1 LDC 2S12+SCDP
  13512. RJM SPW
  13513. RJM SPT SET UP PARAMETER TABLE
  13514. UJN SCD2 RESERVE PP RESIDENT SAVE AREA
  13515. SCT SPACE 4,10
  13516. ** SCT - DEFINE SUBSYSTEM CONTROL TABLE.
  13517. *
  13518. * CALLS CLS, SPW.
  13519.  
  13520.  
  13521. SCT SUBR ENTRY/EXIT
  13522. LDC 2S12+SSCP
  13523. RJM SPW
  13524. LDN SSCTL*2 CLEAR TABLE
  13525. RJM CLS
  13526. UJN SCTX RETURN
  13527. SDA SPACE 4,10
  13528. ** SDA - DEFINE STATISTICAL DATA AREA.
  13529. *
  13530. * CALLS CLS, SPW.
  13531.  
  13532.  
  13533. SDA SUBR ENTRY/EXIT
  13534. LDC SDAP SET STATISTICAL AREA POINTER
  13535. RJM SPW
  13536. LDN SDAL CLEAR TABLE
  13537. RJM CLS
  13538. UJN SDAX RETURN
  13539. SIE SPACE 4,10
  13540. ** SIE - *SET* INTERNAL ERROR.
  13541. *
  13542. * ENTRY TABLE VERIFICATION PROCESSOR MISSING.
  13543. *
  13544. * EXIT TO *DSE*.
  13545.  
  13546.  
  13547. SIE CON 0 ENTRY
  13548. LDC =C+*SET* INTERNAL ERROR IN *ICM*.+
  13549. JMP DSE DISPLAY ERROR AND HANG
  13550. SIT SPACE 4,10
  13551. ** SIT - DEFINE *SECDED* ID TABLE.
  13552. *
  13553. * CALLS CLS, SPW.
  13554.  
  13555.  
  13556. SIT SUBR ENTRY/EXIT
  13557. LDM C8XX
  13558. ZJN SITX IF LOWER 800 SERIES MAINFRAME
  13559. LDC SCRL
  13560. RJM SPW
  13561. LDC 4000 SET *1MB* (ERROR LOGGING) ACTIVE
  13562. RAD CM
  13563. LDD T5 STORE POINTER WORD
  13564. CWD CM
  13565. LDK 2*/SCR/UIDL CLEAR TABLE
  13566. RJM CLS
  13567. UJN SITX RETURN
  13568. TRT SPACE 4,10
  13569. ** TRT - ALLOCATE TRT SPACE.
  13570. *
  13571. * USES EQ, CM - CM+4, CN - CN+4.
  13572. *
  13573. * CALLS CDL, CLS, SME.
  13574.  
  13575.  
  13576. TRT1 LDD AB+4 FETCH TRT LENGTH
  13577. SHN 3
  13578. ADK TDGL
  13579. CRD CM
  13580. ADN TRLL-TDGL READ TRT ADDRESS WORD
  13581. CRD CN
  13582. LDD CA SET TRT ADDRESS
  13583. RAD CN+3
  13584. LDD CA+1
  13585. STD CN+4
  13586. LDD AB+4 STORE TRT ADDRESS
  13587. SHN 3
  13588. ADN TRLL
  13589. CWD CN
  13590. RJM CDL
  13591. RJM CLS CLEAR TRT SPACE
  13592. TRT2 RJM SME
  13593. NJN TRT1 IF NOT END OF MASS STORAGE EST
  13594.  
  13595. TRT SUBR ENTRY/EXIT
  13596. LDN NOPE-1
  13597. STD EQ
  13598. UJN TRT2 BEGIN EST SEARCH
  13599. TITLE PRIMARY SUBROUTINES.
  13600. LST SPACE 4,10
  13601. ** LST - LINK SYSTEM TABLE.
  13602. *
  13603. * ENTRY (A) = LENGTH OF TABLE ENTRY.
  13604. * (T5) = POINTER WORD ADDRESS.
  13605. * (CM - CM+4) = POINTER WORD.
  13606. *
  13607. * EXIT (A) .NE. 0 IF RECOVERY DEADSTART.
  13608. *
  13609. * USES T3, AB - AB+4, CN - CN+4.
  13610.  
  13611.  
  13612. LST2 LDD T3 ADVANCE TABLE ADDRESS
  13613. RAD AB+1
  13614. SHN -14
  13615. RAD AB
  13616. SHN 14 STORE TABLE LINKAGE
  13617. LMD AB+1
  13618. CWD CN
  13619. LST3 AOD CN+4 ADVANCE LINKAGE
  13620. LMD CM+2
  13621. NJN LST2 IF NOT END OF TABLE
  13622.  
  13623. LST SUBR ENTRY/EXIT
  13624. STD T3 SAVE LENGTH OF ENTRY
  13625. LDD RS
  13626. NJN LST1 IF RECOVERY DEADSTART
  13627. CRD CN
  13628. AOD CN+4 SET FIRST AVAILABLE ORDINAL
  13629. STD CM+4
  13630. LDD CM+2 NUMBER OF FREE ENTRIES
  13631. SBN 1
  13632. STD CM+3
  13633. LST1 LDD T5 UPDATE POINTER WORD
  13634. CWD CM
  13635. CRD AB
  13636. LSTA UJN LST3 LINK TABLE
  13637. * UJN LSTX (RECOVERY DEADSTART)
  13638. TITLE COMMON SUBROUTINES.
  13639. SPACE 4,10
  13640. ** COMMON SUBROUTINES.
  13641.  
  13642.  
  13643. COMMON
  13644. SPWSUB
  13645. TITLE SUBROUTINES.
  13646. IDB SPACE 4,15
  13647. ** IDB - INITIALIZE DAYFILE BUFFER.
  13648. *
  13649. * ENTRY (T3) = BUFFER NUMBER.
  13650. * (T6 - T7) = FWA OF DAYFILE POINTERS.
  13651. * (CA - CA+1) = ADDRESS OF NEXT BUFFER.
  13652. *
  13653. * EXIT (CA - CA+1) ADVANCED.
  13654. *
  13655. * USES AB - AB+4, CM - CM+4, CN - CN+4.
  13656. *
  13657. * CALLS CLS.
  13658.  
  13659.  
  13660. IDB SUBR ENTRY/EXIT
  13661. LDN ZERL
  13662. CRD CM
  13663. CRD AB
  13664. CRD CN
  13665. LDD CA SET BUFFER ADDRESS
  13666. STD CM
  13667. LDD CA+1
  13668. STD CM+1
  13669. LDM .DFB,T3 SET BUFFER LENGTH
  13670. STD AB+3
  13671. SCN 77
  13672. NJN IDB1 IF NOT ZERO LENGTH BUFFER
  13673. STD AB+3
  13674. IDB1 LDD T3 SET BUFFER INDEX
  13675. SHN 6
  13676. ADC 103 APPEND NOT BUSY / NOT INTERLOCKED STATUS
  13677. STD CN+4
  13678. LDD T6 STORE DAYFILE BUFFER POINTERS
  13679. SHN 14
  13680. LMD T7
  13681. CWD CM
  13682. ADN 1
  13683. CWD AB
  13684. ADN 1 STORE DAYFILE FST
  13685. CWD CN
  13686. LDD AB+3 CLEAR BUFFER
  13687. RJM CLS
  13688. LJM IDBX RETURN
  13689. RMM SPACE 4,10
  13690. ** RMM - RECOVER MST-S FROM MASS STORAGE.
  13691.  
  13692.  
  13693. RMM SUBR ENTRY/EXIT
  13694. LDD AB
  13695. SCN 14
  13696. STD AB
  13697. LDM TDDB+DVPR
  13698. LPN 2
  13699. SHN 1
  13700. RAD AB
  13701. RJM RCA SET MST POINTER
  13702. STD AB+4
  13703. SHN -14
  13704. ZJN RMM1 IF TABLE WITHIN LIMIT
  13705. LDC =C*MASS STORAGE TABLE OVERFLOW.*
  13706. LJM DSE
  13707.  
  13708. RMM1 STM RMMC CLEAR PARTITION LINK STORAGE
  13709. SFA EST,EQ STORE EST ENTRY
  13710. CWD AB
  13711. LDN MSTXL CLEAR MST SPACE (INCLUDING EXTENSION)
  13712. RJM CLS
  13713. LDD EQ
  13714. ZJN RMMX IF EQUIPMENT ZERO
  13715. LMN LDEQ
  13716. NJN RMM2 IF NOT LINK DEVICE
  13717. SBM TAXM+3+5*1
  13718. SBM TAXM+3+5*2 SUBTRACT I/O BUFFERS FOR OTHER MACHINES
  13719. SBM TAXM+3+5*3
  13720. RAM TDDB+DVNT
  13721. RMM2 LDD EN
  13722. LMD EQ
  13723. NJN RMM3 IF NOT XM EQUIPMENT WITH I/O BUFFERS
  13724. SBM TAXM+3
  13725. RAM TDDB+DVNT SUBTRACT I/O BUFFERS FOR THIS MACHINE
  13726.  
  13727. RMM3 RJM SHS SET *HAT* AND *PUT* TABLE SIZES
  13728.  
  13729. * PRESET MASS STORAGE TABLE WORDS.
  13730.  
  13731. LDM TDDB+DVNT SET NUMBER OF TRACKS
  13732. STD CM
  13733. STD CM+4
  13734. ADN 3
  13735. SHN -2
  13736. STD CM+2
  13737. LDN 0
  13738. STD CM+1
  13739. STD CM+3
  13740. LDD AB+4 STORE *TDGL*
  13741. SHN 3
  13742. ADK TDGL
  13743. CWD CM
  13744.  
  13745. * SDGL - SHARED DEVICE STATUS WORD.
  13746.  
  13747. LDN ZERL
  13748. CRD CM
  13749. LDD AB SET ISD FLAG IN *SDGL*
  13750. LPN 20
  13751. SHN 13-4
  13752. STD CM
  13753. LDD AB+4
  13754. SHN 3
  13755. ADN SDGL
  13756. CWD CM
  13757.  
  13758. * ACGL - DEVICE GLOBAL INFORMATION WORD.
  13759.  
  13760. LDD AB SET GLOBAL UNLOAD IF *OFF* OR *DOWN*
  13761. LPN 2
  13762. SHN GUNL-GUNL/12D*12D-1
  13763. STD CM+4
  13764. LDN 0
  13765. STD CM
  13766. LDM TDDB+DVPR
  13767. LPN 1 APPEND PRESET STATUS FOR ISD
  13768. SHN GPRS-GPRS/12D*12D
  13769. RAD CM+4
  13770. LDD AB+4 STORE *ACGL*
  13771. SHN 3
  13772. ADN ACGL
  13773. CWD CM
  13774.  
  13775. * DALL - DRIVER ACTIVITY WORD.
  13776.  
  13777. LDN ZERL
  13778. CRD CM
  13779. LDD AB
  13780. LPN 3
  13781. SHN 11-1
  13782. STD CM
  13783. LDD AB+4
  13784. SHN 3
  13785. ADN DALL
  13786. CWD CM
  13787.  
  13788. * DILL - DRIVER INTERLOCK WORD.
  13789.  
  13790. LDM TDDB+DVFA SET FILE ALLOCATION STATUS
  13791. STD CM
  13792. LDD EQ SET EST ORDINAL
  13793. STD CM+1
  13794. LDC ** SET PRIOR PARTITION EST ORDINAL
  13795. RMMC EQU *-1
  13796. STD CM+2
  13797. LDM TDDB+DVED SET EQUIPMENT PARAMETERS
  13798. STD CM+3
  13799. LDM TDDB+DVAI SET ALGORITHM INDEX
  13800. LPN 77
  13801. STD CM+4 ALGORITHM INDEX TO BYTE 4
  13802. LDD AB+4 WRITE *DILL*
  13803. SHN 3
  13804. ADN DILL
  13805. CWD CM
  13806.  
  13807. * ALGL - DEVICE ALLOCATION INFORMATION WORD.
  13808.  
  13809. LDC TDDB+DVNM
  13810. STD T3 SET POINTER TO PF DEVICE NAME
  13811. STM RMMA
  13812. LDD RS
  13813. NJN RMM7 IF RECOVERY DEADSTART
  13814. CRD CM
  13815. LDI T3
  13816. NJN RMM4 IF PF ENTRY PRESENT
  13817. LDD EQ
  13818. LMM DFMS
  13819. NJN RMM5 IF NOT DEFAULT EQUIPMENT
  13820. LDN 1
  13821. UJN RMM6 SET CATALOG TRACK COUNT TO 1
  13822.  
  13823. RMM4 LDM TDDB+DVPF
  13824. SHN -4
  13825. NJN RMM6 IF CATALOG TRACK COUNT SPECIFIED
  13826. RMM5 LDM TDDB+DVCT GET DEFAULT CATALOG TRACK COUNT
  13827. LPC 3777
  13828. RMM6 STD CM+3 SET CATALOG TRACK COUNT
  13829. LDD AB+4
  13830. SHN 3
  13831. ADN ALGL STORE *ALGL*
  13832. CWD CM
  13833.  
  13834. * MDGL - MASS STORAGE DRIVER WORD.
  13835.  
  13836. RMM7 LDM TDDB+DVSL SET SINGLE UNIT SECTOR LIMIT
  13837. STD CM+1
  13838. LPC 3777
  13839. STD CM+4
  13840. LDD AB
  13841. LPN 40
  13842. ZJN RMM7.1 IF NOT A BUFFERED DEVICE
  13843. LDD CM+1 REMOVE PARTITION NUMBER
  13844. SCN 17
  13845. STD CM+1
  13846. RMM7.1 LDM TDDB+DVDI SET DRIVER INDEX
  13847. SHN 14
  13848. STD CM+3
  13849. SHN -14
  13850. LMC 1RD*100
  13851. STD CM+2
  13852. LDD AB+3 CHECK *EST* MNEMONIC
  13853. LMC 2RDP
  13854. ZJN RMM8 IF TYPE *DP*
  13855. LMK 2RDE&2RDP
  13856. NJN RMM9 IF NOT TYPE *DE*
  13857. LDM TDDB+DVED
  13858. LPN 70
  13859. LMN 40
  13860. NJN RMM8 IF NOT UEM
  13861. LDC 2RDX CHANGE DRIVER NAME TO *DX*
  13862. STD CM+2
  13863. LDN LA6DX RESET DRIVER INDEX
  13864. STD CM+3
  13865. RMM8 LDM EBUT+7 UPDATE SECTOR LIMIT TO REFLECT XM SHIFT
  13866. SHN -6
  13867. LPN 3
  13868. ADD TH
  13869. ERRNZ SHNI-1000
  13870. STM RMMB
  13871. LDN 20 MINIMUM SECTOR LIMIT
  13872. RMMB SHN 0
  13873. * SHN EMSC
  13874. STD CM+4
  13875. ADC 4000 MAINTAIN FULL-TRACK FLAG
  13876. STD CM+1
  13877. RMM9 LDI ES
  13878. LPC 404
  13879. SHN 12-2
  13880. STD CM SET AUXILIARY STATUS
  13881. SHN 13-20
  13882. SCN 77
  13883. RAD CM SET REMOVABLE STATUS
  13884. LDD AB+4 STORE DRIVER WORD
  13885. SHN 3
  13886. ADN MDGL
  13887. CWD CM
  13888.  
  13889. * STLL - DEVICE STATUS WORD.
  13890.  
  13891. LDN ZERL
  13892. CRD CM
  13893. LDD ID ADD MACHINE ID
  13894. STD CM+2
  13895. AOD CM+4
  13896. LDM EBUT+4 CHECK FOR INITIALIZE REQUEST
  13897. SCN 17
  13898. ZJN RMM11 IF NO INITIALIZE OPTIONS
  13899. STD T0
  13900. LPC MLFPR+MLIAL
  13901. NJN RMM10 IF FULL INITIALIZE SPECIFIED
  13902. LDD T0
  13903. SHN 4
  13904. STD CM+1 SET DAYFILE OPTIONS
  13905. SHN -6
  13906. LPC MLIPF+MLIQF
  13907. RMM10 LMN MLIRP ADD INITIALIZE PENDING FLAG
  13908. STD CM
  13909. RMM11 STD T1
  13910. LDM EBUT+4 SET ALTERNATE DEVICE STATUS
  13911. SHN RASD-RASD/12D*12D-3
  13912. LPN MRASD
  13913. RAD CM
  13914. LDD AB SET UNLOAD REQUESTED IF *OFF* OR *DOWN*
  13915. LPN 2
  13916. SHN LUNL-LUNL/12D*12D-1
  13917. STD T0
  13918. SHN LDUL-LUNL SET LOCAL UNLOAD IF *OFF* OR *DOWN*
  13919. LMD T0
  13920. RAD CM
  13921. LDD AB+4 STORE DEVICE STATUS
  13922. SHN 3
  13923. ADN STLL
  13924. CWD CM
  13925.  
  13926. * SCYL - STARTING CYLINDER OF PARTITION.
  13927.  
  13928. LDN ZERL
  13929. CRD CM
  13930. LDM TDDB+DVCO SET STARTING CYLINDER
  13931. STD CM+2
  13932. LDD AB+4 STORE STARTING CYLINDER
  13933. SHN 3
  13934. ADN SCYL
  13935. CWD CM
  13936.  
  13937. * DDLL - DEVICE DEFINITION WORD (WITH UNIT LIST).
  13938.  
  13939. LDM EBUT+4 SET NUMBER OF UNITS
  13940. LPN 7
  13941. STM TDDB+DVED
  13942. SHN 3
  13943. RAM TDDB+DVED
  13944. LDM TDDB+DVPR SET EQUIPMENT (CONTROLLER) NUMBER
  13945. SHN -11
  13946. SHN 6
  13947. RAM TDDB+DVED
  13948. LDD AB+4 STORE DEVICE DEFINITION
  13949. SHN 3
  13950. ADN DDLL
  13951. CWM TDDB+DVED,ON
  13952.  
  13953. * THLL - DEVICE ERROR THRESHOLD WORD.
  13954.  
  13955. ADN THLL-DDLL-1 STORE THRESHOLD VALUES
  13956. CWM TDDB+DVTH,ON
  13957. LDD T1
  13958. LPC MLIAL
  13959. ZJP RMMX IF FULL INITIALIZE NOT SPECIFIED
  13960.  
  13961. * PUGL - PERMANENT FILE USER DESCRIPTION.
  13962.  
  13963. LDN 0 CLEAR USER DESCRIPTION
  13964. CRD CM
  13965. LDI T3
  13966. NJN RMM14 IF PF DESCRIPTION
  13967. LDD EQ
  13968. LMM DFMS
  13969. NJN RMM16 IF NOT DEFAULT EQUIPMENT
  13970. LDC 177777
  13971. UJN RMM15 SET DEFAULT MASKS
  13972.  
  13973. RMM14 LDM TDDB+DVPF SET MASKS
  13974. LPN 17
  13975. SHN 14
  13976. LMM TDDB+DVPF+1
  13977. RMM15 STD CM+4
  13978. SHN -14
  13979. STD CM+3
  13980. LDD AB+4 STORE *PUGL*
  13981. SHN 3
  13982. ADN PUGL
  13983. CWD CM
  13984.  
  13985. * PFGL - PERMANENT FILE DESCRIPTION WORD.
  13986.  
  13987. RMM16 LDI T3
  13988. NJN RMM17 IF PF DESCRIPTION
  13989. AOM DEFN
  13990. LDC DEFM
  13991. STM RMMA
  13992. STD T3
  13993. RMM17 SFA EST,EQ SET DEVICE ACCESS LEVELS IN PFGL
  13994. ADK EQAE
  13995. CRD CM
  13996. LDD CM+3
  13997. SHN 6
  13998. STM 4,T3
  13999. LDM TDDB+DVED SET UNIT COUNTS IN PFGL
  14000. LPN 77
  14001. RAM 4,T3
  14002. LDD AB+4 STORE PF DESCRIPTOR WORD
  14003. SHN 3
  14004. ADN PFGL
  14005. CWM **,ON
  14006. RMMA EQU *-1
  14007. LJM RMMX RETURN
  14008.  
  14009. DEFM DATA 6LSYSTEM DEFAULT FAMILY NAME
  14010. DEFN CON 0 DEFAULT DEVICE NUMBER
  14011. CON 0 UNIT COUNT
  14012. SHS SPACE 4,10
  14013. ** SHS - SET HASH TABLE SIZE.
  14014. * UPDATE .HATP AND .PUTP FOR BUFFERED DISKS.
  14015. *
  14016. * ENTRY EBUT = EST ENTRY BUILT BY *CMR*.
  14017. * TDDB = MST PARAMETERS FROM *CMR*.
  14018. *
  14019. * USES T2.
  14020.  
  14021.  
  14022. SHS SUBR ENTRY/EXIT
  14023. LDM TDDB+DVED
  14024. SHN 21-12
  14025. PJN SHSX IF NOT BUFFERED DEVICE
  14026. LDD AB+3 SAVE EQUIPMENT MNEMONIC IN MESSAGE
  14027. STM BDTB
  14028. LDM EBUT+4
  14029. LPN 7
  14030. ADN 1
  14031. STD T2 SAVE UNIT COUNT
  14032. RJM SPP SEARCH FOR PRIOR PARTITIONS
  14033. ZJN SHS1 IF A PRIOR PARTITION WAS FOUND
  14034. RAM .PUTP UPDATE NUMBER OF *PUT* ENTRIES NEEDED
  14035. SHN PUTLS
  14036. STM .PUTP+2 ADVANCE TABLE LENGTH
  14037. SHS1 SOD T2
  14038. MJN SHSX IF NO MORE UNITS
  14039. LDK HATLE/10B
  14040. RAM .HATP ACCUMULATE HASH TABLE LENGTHS
  14041. SHN 3
  14042. STM .HATP+2 UPDATE TOTAL LENGTH
  14043. SHN -14
  14044. LMD TH
  14045. STM .HATP+1
  14046. LPN 70
  14047. ZJN SHS1 IF NO OVERFLOW
  14048. LDC =C*HASH TABLE OVERFLOW.*
  14049. LJM DSE ERROR HALT
  14050. SPP SPACE 4,10
  14051. ** SPP - SEARCH FOR PRIOR PARTITIONS.
  14052. *
  14053. * ENTRY (EQ) = CURRENT EST ORDINAL.
  14054. * (T2) = NUMBER OF UNITS.
  14055. * (AB)-(AB+4) = CURRENT EST ENTRY.
  14056. *
  14057. * EXIT (A) = NUMBER OF UNITS IF NO PRIOR PARTITION.
  14058. * (A) = 0 IF PRIOR PARTITION FOUND.
  14059. * (RMMC) = (T1) = EST ORDINAL IF PRIOR PARTITION FOUND.
  14060. *
  14061. * USES T1, CM - CM+4.
  14062. *
  14063. * MACROS SFA.
  14064.  
  14065.  
  14066. SPP6 STM RMMC CLEAR PRIOR PARTITION LINK
  14067. LDD T2 GET NUMBER OF UNITS
  14068.  
  14069. SPP SUBR ENTRY/EXIT
  14070. LDD EQ
  14071. STD T1
  14072. SPP1 SOD T1
  14073. ZJN SPP6 IF END OF EST - NO PRIOR PARTITION FOUND
  14074. SFA EST,T1
  14075. CRD CM READ EST ENTRY
  14076. LDD CM
  14077. SHN 21-13
  14078. PJN SPP1 IF NOT MASS STORAGE
  14079. LDD AB+3
  14080. LMD CM+3
  14081. SPP2 NJN SPP1 IF NOT THE SAME DEVICE TYPE
  14082. LDN CM COMPARE CHANNEL ENTRIES
  14083. STD CM
  14084. SPP3 AOD CM
  14085. SBN CM+3
  14086. ZJN SPP1 IF ALL PRIOR DEVICE CHANNELS CHECKED
  14087. LDN AB
  14088. STD T0
  14089. SPP4 AOD T0
  14090. SBN AB+3
  14091. ZJN SPP3 IF ALL CURRENT DEVICE CHANNELS CHECKED
  14092. LDI T0 CURRENT CHANNEL
  14093. ZJN SPP4 IF NO CHANNEL ENTRY
  14094. LMI CM PRIOR DEVICE CHANNEL
  14095. LPC 4277
  14096. NJN SPP4 IF CHANNELS ARE NOT THE SAME
  14097. LDD CM+4 GET EQUIPMENT/UNIT FROM PRIOR DEVICE MST
  14098. SHN 3
  14099. ADN DDLL
  14100. CRD CM
  14101. LDM TDDB+DVUN+3 COMPARE UNIT NUMBER
  14102. LMD CM+4
  14103. SPP5 NJN SPP2 IF NO MATCH
  14104. LDM TDDB+DVPR COMPARE EQUIPMENT NUMBER
  14105. SHN -3
  14106. LMD CM
  14107. SHN -6
  14108. NJN SPP5 IF NO MATCH
  14109. LDD T1 SET LINK TO PRIOR PARTITION
  14110. STM RMMC
  14111. LDN 0 INDICATE PRIOR PARTITION FOUND
  14112. UJP SPPX RETURN
  14113. SPACE 4,10
  14114. USE LITERALS DUMP LITERALS BLOCK
  14115. INO SPACE 4,10
  14116. ** INO - INITIALIZE OVERLAY.
  14117.  
  14118.  
  14119. INO SUBR ENTRY/EXIT
  14120. LDD RS
  14121. ZJN INOX IF NOT RECOVERY DEADSTART
  14122. LDC *
  14123. ORG *-1
  14124. LOC LSTA
  14125. UJN LSTX RETURN
  14126. LOC *O
  14127. STM LSTA
  14128. UJN INOX RETURN
  14129. SPACE 4,10
  14130. QUAL *
  14131. SPACE 4,10
  14132. ERRNG 7777-*-4 IF OVERFLOW
  14133. TTL SET/APR - AUXILIARY MASS STORAGE PARAMETERS.
  14134. TITLE
  14135. IDENT APR,APRL
  14136. QUAL APR
  14137. ORG APRL
  14138. *COMMENT SET - AUXILIARY MASS STORAGE PARAMETERS.
  14139. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  14140. SPACE 4,10
  14141. ** TBLM - GENERATE TABLE OF MASS STORAGE FLAWING PARAMETERS.
  14142. *
  14143. * TBLM EQ
  14144. * EQ = MASS STORAGE EQUIPMENT MNEMONIC.
  14145.  
  14146.  
  14147. TBLM MACRO EQ
  14148. MS_EQ VFD 12/2R_EQ
  14149. .A IFNE CYUN_EQ,0
  14150. CON CYPN_EQ CYLINDERS/PARTITION
  14151. CON PTCY_EQ PHYSICAL TRACKS/CYLINDER
  14152. CON PSPT_EQ PHYSICAL SECTORS/PHYSICAL TRACK
  14153. CON CFS_EQ CONVERSION FACTOR SHIFT COUNT
  14154. .B SET PSPT_EQ*PTCY_EQ-SPSC_EQ
  14155. .C SET .B*LSPS_EQ
  14156. .D SET .C/10000
  14157. .E SET .D*10000
  14158. CON .D UPPER LOGICAL SECTORS/CYLINDER
  14159. CON .C-.E LOWER LOGICAL SECTORS/CYLINDER
  14160. CON LSPT_EQ LOGICAL SECTORS/PHYSICAL TRACK
  14161. CON SL_EQ+GS_EQ LOGICAL SECTORS/LOGICAL TRACK
  14162. CON FRD FLAW ROTATING MASS STORAGE DEVICE
  14163. .A ELSE
  14164. BSS 10B DUMMY TABLE ENTRIES
  14165. CON FMD FLAW LARGE MEMORY DEVICE
  14166. .A ENDIF
  14167. ENDM
  14168. SPACE 4,10
  14169. ** ENTRY POINTS.
  14170.  
  14171.  
  14172. CON TSYN-1 ADDRESS OF SYNTAX TABLE
  14173. CON TSYNA ADDRESS OF END OF SYNTAX TABLE
  14174. MSF SPACE 4,10
  14175. ** MSF - PROCESS MASS STORAGE FLAWS.
  14176.  
  14177.  
  14178. MSF1 RJM PDF PROCESS DISK FLAWS
  14179. RJM PTL PROCESS TRT LENGTHS
  14180. MSF4 RJM CMC CHECK MACHINE CONFIGURATION
  14181. RJM ECT DEFINE *EICB* TABLES.
  14182. RJM BVS BUILD VARIABLE *SAB* TABLE
  14183. LDD DP SET DISPLAY CONTROL FOR *IPRDECK*
  14184. STD DS
  14185.  
  14186. MSF SUBR ENTRY/EXIT
  14187. AOD DI ADVANCE DECK INDEX
  14188. LDD RS
  14189. NJN MSF4 IF NOT A LEVEL 0 DEADSTART
  14190. * LDN 0
  14191. RJM RTD LOAD *APRINST* AND *APRD00*
  14192. LMN 1
  14193. ZJN MSF1 IF TEXT DECK EMPTY
  14194. LDC MSFA
  14195. JMP DSE DISPLAY MESSAGE AND HANG
  14196.  
  14197. MSFA DATA C+*APRD00* MUST BE EMPTY.+
  14198. SMF SPACE 4,10
  14199. ** SMF - SEARCH MASS STORAGE FLAW TABLE *TMSF*.
  14200. *
  14201. * ENTRY (A) = EQUIPMENT TYPE (DEVICE MNEMONIC).
  14202. *
  14203. * EXIT (A) = (T3) = ADDRESS OF ENTRY.
  14204. * (A) = 0, IF ENTRY NOT FOUND.
  14205. *
  14206. * USES T0, T3.
  14207.  
  14208.  
  14209. SMF1 LDN TMSFL ADVANCE TABLE ADDRESS
  14210. RAD T3
  14211. SMF2 LDI T3 CHECK ENTRY
  14212. ZJN SMFX IF END OF TABLE
  14213. LMD T0 COMPARE DEVICE TYPE
  14214. NJN SMF1 IF NO MATCH
  14215. LDD T3 EXIT WITH ADDRESS OF ENTRY
  14216.  
  14217. SMF SUBR ENTRY/EXIT
  14218. STD T0
  14219. LDC TMSF SET TABLE ADDRESS
  14220. STD T3
  14221. UJN SMF2 ENTER LOOP
  14222. TMSF SPACE 4,10
  14223. ** TMSF - TABLE OF MASS STORAGE DEVICES.
  14224. *
  14225. * ENTRY = TMSFL WORDS.
  14226.  
  14227. * THE ENTRIES IN *TMSF* ARE REFERENCED WITH THE FOLLOWING TAGS.
  14228.  
  14229.  
  14230. TMSF BSS 0
  14231. LOC 0
  14232.  
  14233. BSS 1 DEVICE MNEMONIC
  14234. CYUN BSS 1 CYLINDERS/UNIT
  14235. TKCY BSS 1 PHYSICAL TRACKS/CYLINDER
  14236. PSPT BSS 1 PHYSICAL SECTORS/PHYSICAL TRACK
  14237. CVNF BSS 1 CONVERSION FACTOR
  14238. LSCY BSS 2 LOGICAL SECTORS/CYLINDER
  14239. LSPT BSS 1 LOGICAL SECTORS/PHYSICAL TRACK
  14240. LSLT BSS 1 LOGICAL SECTORS/LOGICAL TRACK
  14241. PADR BSS 1 PROCESSOR ADDRESS
  14242.  
  14243. TMSFL BSS 0 TABLE ENTRY LENGTH
  14244. ORG TMSF
  14245.  
  14246. LIST G
  14247. TBL "MSEQ"
  14248. LIST *
  14249. PURGMAC TBLM
  14250.  
  14251. CON 0 END OF TABLE
  14252. TSYN SPACE 4,10
  14253. ** TSYN - SYNTAX TABLE.
  14254.  
  14255.  
  14256. TSYN BSS 0
  14257. CON SPF SET PHYSICAL DEVICE FLAW
  14258. CON CPF CLEAR PHYSICAL DEVICE FLAW
  14259. CON SLF SET LOGICAL TRACK FLAW
  14260. CON CLF CLEAR LOGICAL TRACK FLAW
  14261. CON CAF CLEAR ALL DEVICE FLAWS
  14262.  
  14263. TSYNA CON 0
  14264. CON NEXT
  14265. CON IPR
  14266. CON 0 END OF TABLE
  14267. TITLE TRACK FLAWS.
  14268. CAF SPACE 4,10
  14269. *** CAF.
  14270. * CLEAR ALL FLAWS PREVIOUSLY SET FOR THIS EQUIPMENT.
  14271.  
  14272.  
  14273. CAF DATA C*CAF.*
  14274. LDD T7 GET TRT LENGTH
  14275. SHN 3
  14276. ADK TDGL
  14277. CRD CN
  14278. ADN TRLL-TDGL
  14279. CRD CM
  14280. LDD CM+4 SET TRT ADDRESS
  14281. STD CA+1
  14282. LDD CM+3
  14283. LPN 77
  14284. STD CA
  14285. LDD CN+2 CLEAR TRT
  14286. RJM CLS
  14287. LDD CN RESET TRACK COUNT
  14288. STD CN+4
  14289. LDD T7
  14290. SHN 3
  14291. ADK TDGL
  14292. CWD CN
  14293. JMP KBR RETURN
  14294. CLF SPACE 4,10
  14295. *** CLF=XXXX.
  14296. * CLEAR FLAW ON LOGICAL TRACK XXXX.
  14297.  
  14298.  
  14299. CLF DATA C*CLF=*
  14300. LDN 1 PRESET TO CLEAR FLAW
  14301. UJN SLF1 ENTER PROCESSING
  14302. SLF SPACE 4,10
  14303. *** SLF=XXXX.
  14304. * SET FLAW ON LOGICAL TRACK XXXX.
  14305.  
  14306.  
  14307. SLF DATA C*SLF=*
  14308. LDN 0 PRESET TO SET FLAW
  14309. SLF1 STD T4 SET *PTF* OPTION
  14310. RJM ASD ASSEMBLE DIGITS
  14311. RJM PTF PROCESS TRACK FLAW
  14312. JMP KBR KEYBOARD RETURN
  14313. CPF SPACE 4,10
  14314. *** CPF=CAAAA,TBB,SCC.
  14315. * CLEAR FLAW ON CYLINDER AAAA, TRACK BB, AND SECTOR CC.
  14316. *
  14317. * CPF=AIIIIIII.
  14318. * CLEAR FLAW ON EXTENDED MEMORY BLOCK STARTING AT
  14319. * ADDRESS IIIIIII.
  14320. *
  14321. * CPF=AIIIIIII-AJJJJJJJ.
  14322. * CLEAR FLAW ON EXTENDED MEMORY BLOCK FROM ADDRESS IIIIIII
  14323. * THROUGH ADDRESS JJJJJJJ.
  14324.  
  14325.  
  14326. CPF DATA C*CPF=*
  14327. LDN 1
  14328. UJN SPF1 CLEAR LOGICAL TRACK FLAW
  14329. SPF SPACE 4,10
  14330. *** SPF=CAAAA,TBB,SCC.
  14331. * SET FLAW ON CYLINDER AAAA, TRACK BB, AND SECTOR CC.
  14332. *
  14333. * SPF=AIIIIIIII.
  14334. * SET FLAW ON EXTENDED MEMORY BLOCK STARTING AT
  14335. * ADDRESS IIIIIIII.
  14336. *
  14337. * SPF=AIIIIIIII-AJJJJJJJJ.
  14338. * SET FLAW ON EXTENDED MEMORY BLOCK FROM ADDRESS IIIIIIII
  14339. * THROUGH ADDRESS JJJJJJJJ.
  14340.  
  14341.  
  14342. SPF DATA C*SPF=*
  14343. LDN 0 PRESET FOR TRACK FLAWING
  14344. SPF1 STD T4
  14345. LDC ** SEARCH FOR ENTRY IN *TMSF*
  14346. SPFA EQU *-1
  14347. RJM SMF SEARCH MASS STORAGE FLAW PROCESSOR TABLE
  14348. NJN SPF2 IF ENTRY FOUND
  14349. JMP ILL PROCESS INCORRECT ENTRY
  14350.  
  14351. SPF2 LDM PADR,T3 PROCESS ENTRY
  14352. STD T2
  14353. LJM 0,T2 ENTER PROCESSOR
  14354. FMD SPACE 4,10
  14355. ** FMD - SET/CLEAR FLAW ON LARGE MEMORY DEVICE.
  14356.  
  14357.  
  14358. FMD LDI KA CHECK CHARACTER
  14359. LMN 1RA
  14360. NJN FMD2 IF NOT *A*
  14361. AOD KA ASSEMBLE ADDRESS
  14362. RJM CDR
  14363. RJM CET CONVERT ADDRESS TO TRACK
  14364. STD T5 SET FIRST TRACK
  14365. LDI KA CHECK SEPARATOR
  14366. LMN 1R.
  14367. ZJN FMD1 IF PERIOD TERMINATOR (NO RANGE)
  14368. LMN 1R-&1R.
  14369. NJN FMD2 IF INCORRECT SEPARATOR
  14370. AOD KA
  14371. LDI KA
  14372. LMN 1RA
  14373. NJN FMD2 IF NOT AN *A*
  14374. AOD KA
  14375. RJM ASD ASSEMBLE SECOND ADDRESS
  14376. RJM CET CONVERT EXTENDED MEMORY ADDRESS TO TRACK
  14377. FMD1 LDD T5
  14378. STD AB+4 SET FIRST TRACK TO FLAW
  14379. SBD T3
  14380. ZJN FMD3 IF ONE TRACK (FIRST = LAST)
  14381. MJN FMD3 IF FIRST .LE. LAST TRACK
  14382. FMD2 JMP ILL PROCESS INCORRECT ENTRY
  14383.  
  14384. FMD3 LDM /EQP/EBUT+7
  14385. LPC 300
  14386. NJN FMD4 IF NOT DEFAULT TRACK SIZE
  14387. LDD AB+4
  14388. LMN CETK-4000B
  14389. ZJN FMD2 IF *CETK*
  14390. FMD4 RJM PTF PROCESS TRACK FLAW
  14391. AOD AB+4
  14392. SBD T3
  14393. MJN FMD3 IF MORE TRACKS TO FLAW
  14394. ZJN FMD3 IF MORE TRACKS TO FLAW
  14395. JMP KBR RETURN
  14396. FRD SPACE 4,10
  14397. ** FRD - SET/CLEAR FLAW ON ROTATING MASS STORAGE DEVICE.
  14398. *
  14399. * *FRD* CONVERTS A PHYSICAL DISK ADDRESS INTO A LOGICAL TRACK
  14400. * NUMBER AND THEN SETS OR CLEARS THE FLAW ON THAT TRACK.
  14401. *
  14402. * ENTRY (T3) = ADDRESS OF DEVICE DESCRIPTOR ENTRIES.
  14403. * (T4) = 0, IF A FLAW IS TO BE SET.
  14404. * 1, IF A FLAW IS TO BE CLEARED.
  14405.  
  14406.  
  14407. FRD5 JMP ILL PROCESS INCORRECT ENTRY
  14408.  
  14409. FRD LDM /EQP/TDDB+DVCO BASE CYLINDER FOR PARTITION
  14410. ADM CYUN,T3 CHECK FOR VALID CYLINDER ADDRESS
  14411. SBN 1
  14412. LMC 1LC
  14413. RJM CTE
  14414. SBM /EQP/TDDB+DVCO BASE CYLINDER FOR PARTITION
  14415. MJN FRD5 IF CYLINDER NOT IN THIS PARTITION
  14416. STD CM SAVE RELATIVE CYLINDER
  14417. LDM CVNF,T3
  14418. ERRNZ SHNI-1000 CODE DEPENDS ON VALUE
  14419. LMD TH
  14420. STM FRDA SET PHYSICAL SECTOR CONVERSION
  14421. LDC 1LT
  14422. LMM TKCY,T3 CHECK FOR VALID TRACK ADDRESS
  14423. RJM CTE
  14424. STD CM+1 SAVE TRACK
  14425. LDM PSPT,T3
  14426. LMC 1LS CHECK FOR A VALID SECTOR ADDRESS
  14427. RJM CTE
  14428. FRDA SHN 0 CONVERT PHYSICAL TO LOGICAL SECTOR
  14429. STD AB+1
  14430. SHN -14
  14431. STD AB
  14432. LCN 0 INITIALIZE LOGICAL TRACK CALCULATION
  14433. STD AB+4
  14434.  
  14435. * MULTIPLY THE TRACK VALUE BY THE NUMBER OF LOGICAL
  14436. * SECTORS PER PHYSICAL TRACK.
  14437.  
  14438. FRD1 SOD CM+1
  14439. MJN FRD3 IF END OF CONVERSION
  14440. LDM LSPT,T3
  14441. RAD AB+1 ADVANCE LOGICAL SECTOR COUNT
  14442. SHN -14
  14443. RAD AB
  14444. UJN FRD1 LOOP ON CONVERSION
  14445.  
  14446. * MULTIPLY THE CYLINDER VALUE BY THE NUMBER OF LOGICAL
  14447. * SECTORS PER CYLINDER.
  14448.  
  14449. FRD2 LDM LSCY+1,T3 ADVANCE LOGICAL SECTOR COUNT
  14450. RAD AB+1
  14451. SHN -14
  14452. ADM LSCY,T3
  14453. RAD AB
  14454. FRD3 SOD CM
  14455. PJN FRD2 IF NOT END OF CONVERSION
  14456.  
  14457. * DIVIDE THE ACCUMULATED LOGICAL SECTOR COUNT BY THE
  14458. * SUM OF (LOGICAL + GAP) SECTORS PER LOGICAL TRACK.
  14459.  
  14460. FRD4 AOD AB+4 ADVANCE LOGICAL TRACK NUMBER
  14461. LDN 0
  14462. SBM LSLT,T3 DIVIDE BY ITERATIVE SUBTRACTION
  14463. RAD AB+1
  14464. PJN FRD4 IF NO UNDERFLOW
  14465. AOD AB+1
  14466. SOD AB
  14467. PJN FRD4 IF DIVISION INCOMPLETE
  14468. RJM PTF PROCESS TRACK FLAW
  14469. JMP KBR RETURN
  14470. CTE SPACE 4,10
  14471. ** CTE - CHECK TRACK ENTRY.
  14472. *
  14473. * ENTRY (A) 12 - 17 = CHARACTER OF NEXT ENTRY.
  14474. * (A) 0 - 11 = LIMIT FOR NUMBER.
  14475. * (KA) = NEXT CHARACTER ADDRESS.
  14476. *
  14477. * CALLS AOD.
  14478.  
  14479.  
  14480. CTE2 AOD KA SKIP PREFIX CHARACTER
  14481. RJM AOD
  14482. LDI KA CHECK SEPARATOR
  14483. LMN 1R.
  14484. ZJN CTE3 IF END OF ENTRY
  14485. AOD KA
  14486. CTE3 LDC * CHECK ASSEMBLY
  14487. CTEA EQU *-1
  14488. SBD AB+4
  14489. MJN CTE1 IF OUT OF RANGE
  14490. LDD AB+4 RETURN WITH ASSEMBLY
  14491.  
  14492. CTE SUBR ENTRY/EXIT
  14493. SBN 1 SET LIMIT
  14494. STM CTEA
  14495. SHN -14 CHECK NEXT CHARACTER
  14496. LMI KA
  14497. ZJN CTE2 IF PROPER CHARACTER
  14498. CTE1 JMP ILL PROCESS INCORRECT ENTRY
  14499. AJT SPACE 4,10
  14500. ** AJT - ADJUST TRT FOR UNUSED TRACKS.
  14501. *
  14502. * ENTRY (T7) = MST ADDRESS / 10B.
  14503. * (T4) = 0 (SET FLAW REQUEST FOR *PTF*).
  14504. *
  14505. * USES AB+4, CN - CN+4.
  14506. *
  14507. * CALLS PTF.
  14508.  
  14509.  
  14510. AJT SUBR ENTRY/EXIT
  14511. LDD T7 READ *TDGL*
  14512. SHN 3
  14513. ADK TDGL
  14514. CRD CN
  14515. LDD CN SET LAST TRACK
  14516. STD AB+4
  14517. AJT1 LPN 3
  14518. ZJN AJTX IF END OF TRT
  14519. RJM PTF PROCESS TRACK FLAW
  14520. AOD CN+4 RESET TRACK COUNT
  14521. LDD T7 RESTORE *TDGL*
  14522. SHN 3
  14523. ADK TDGL
  14524. CWD CN
  14525. AOD AB+4 ADVANCE TRACK
  14526. UJN AJT1 LOOP FOR NEXT TRACK
  14527. CET SPACE 4,10
  14528. ** CET - CONVERT EXTENDED MEMORY ADDRESS TO TRACK NUMBER.
  14529. *
  14530. * ENTRY (AB+3 - AB+4) = EXTENDED MEMORY ADDRESS.
  14531. *
  14532. * EXIT (A) = (T3) = TRACK NUMBER.
  14533. *
  14534. * USES T1 - T3.
  14535.  
  14536.  
  14537. CET2 JMP ILL ADDRESS TOO LARGE
  14538.  
  14539. CET SUBR
  14540. LDD AB+4
  14541. CETA SHN -3
  14542. * SHN -3-EMSC (EMSC = EXTENDED MEMORY SHIFT COUNT)
  14543. STD T2
  14544. LDD AB+3 CHECK ASSEMBLY
  14545. CETB SHN -11
  14546. * SHN -11-EMSC (EMSC = EXTENDED MEMORY SHIFT COUNT)
  14547. NJN CET2 IF OUT OF RANGE
  14548. LDD AB+3
  14549. CETC SHN 17
  14550. * SHN 17-EMSC (EMSC = EXTENDED MEMORY SHIFT COUNT)
  14551. STD T1
  14552. SHN -6
  14553. RAD T2
  14554. LCN 0 CLEAR TRACK
  14555. STD T3
  14556. CET1 AOD T3
  14557. LDC -202
  14558. RAD T2
  14559. PJN CET1 IF TRACK NOT FOUND
  14560. AOD T2
  14561. SOD T1
  14562. PJN CET1 IF TRACK NOT FOUND
  14563. LDD T3
  14564. UJN CETX RETURN
  14565. PDF SPACE 4,10
  14566. ** PDF - PROCESS DISK FLAWS.
  14567. *
  14568. * USES EQ, T5, T7, CM - CM+4, CN - CN+4.
  14569. *
  14570. * CALLS ATD, IBF, RTD, SME, /EQP/STA.
  14571.  
  14572.  
  14573. PDF9 LDC 0
  14574. PDFD EQU *-1
  14575. ZJN PDFX IF NO MORE FLAW DECKS TO PROCESS
  14576. STM TTXC+APRD
  14577. RJM RTD LOAD NEXT DECK
  14578. LDN 0
  14579. STM PDFD
  14580. UJN PDF1 FIND EQUIPMENT ENTRY TO MATCH APRDECK
  14581.  
  14582. PDF SUBR ENTRY/EXIT
  14583. PDF1 LDN NOPE-1 INITIALIZE EQUIPMENT SEARCH
  14584. STD EQ
  14585. PDF2 RJM SME
  14586. ZJN PDF9 IF EST SCAN COMPLETE
  14587. LDD AB+4
  14588. STD T7
  14589. SHN 3
  14590. ADN STLL
  14591. CRD CM
  14592. LDD CM CHECK FOR INITIALIZE SET
  14593. LPC MLIAL
  14594. ZJN PDF2 IF NOT INITIALIZED
  14595.  
  14596. * PROCESS EXTENDED MEMORY.
  14597.  
  14598. LDD AB+3
  14599. LMC 2RDE
  14600. ZJN PDF3 IF EXTENDED MEMORY
  14601. LMK 2RDP&2RDE
  14602. NJP PDF5 IF NOT EXTENDED MEMORY
  14603. PDF3 LDD AB+2
  14604. SHN -6
  14605. LPN 3
  14606. STD T0
  14607. LDC SHNI+77-3
  14608. SBD T0
  14609. STM CETA PRESET EXTENDED MEMORY SHIFTS
  14610. SBN 6
  14611. STM CETB
  14612. ADK 11+17-77
  14613. STM CETC
  14614. LDD T0
  14615. NJN PDF4 IF NOT DEFAULT TRACK SIZE
  14616. LDC CETK SET *CETK* TRACK FLAW
  14617. STD AB+4
  14618. LDN 0 PROCESS TRACK FLAW
  14619. STD T4
  14620. RJM PTF
  14621. PDF4 LDK BIOL CHECK IF BUFFERED I/O PRESENT
  14622. CRD CM
  14623. LDD CM+1
  14624. ADD CM+2
  14625. ZJN PDF5 IF NO BUFFERED I/O DEFINED
  14626. LDD T7
  14627. SHN 3
  14628. ADN DILL
  14629. CRD CN
  14630. LDD CN+3 CHECK FOR LCME
  14631. LPN 70
  14632. LMN 20
  14633. NJN PDF5 IF NOT LCME
  14634. LDC LCTK RESERVE 176/BUFFERED I/O TRACK
  14635. STD AB+4
  14636. RJM PTF PROCESS TRACK FLAW
  14637. PDF5 LDD EQ
  14638. RJM /EQP/STA FETCH DEVICE PARAMETERS
  14639. LDM /EQP/TDDB+DVAP
  14640. STD CN+4 SAVE APRDECK NUMBER
  14641. SBM TTXC+APRD
  14642. NJN PDF6 IF NOT APRDECK MATCH
  14643. LDD EQ
  14644. STD T5
  14645. LDN RPSF RESET SECOND BUFFER
  14646. RJM IBF
  14647. LDD AB+3 SAVE EQUIPMENT MNEMONIC
  14648. STM SPFA
  14649. RJM ATD ASSEMBLE TEXT
  14650. UJN PDF8 CHECK NEXT ORDINAL
  14651.  
  14652. PDF6 MJN PDF8 IF SMALLER APRDECK NUMBER
  14653. LDM PDFD
  14654. ZJN PDF7 IF FIRST DECK ON THIS EST PASS
  14655. LDD CN+4 FIND NEXT LARGEST APRDECK
  14656. SBM PDFD
  14657. PJN PDF8 IF NOT A SMALLER APRDECK NUMBER
  14658. PDF7 LDD CN+4 SET NEXT DECK NUMBER
  14659. STM PDFD
  14660. PDF8 LJM PDF2 CHECK NEXT ORDINAL
  14661. PTF SPACE 4,10
  14662. ** PTF - PROCESS TRACK FLAW.
  14663. *
  14664. * ENTRY (T4) = 0, IF SET FLAW REQUEST.
  14665. * 1, IF CLEAR FLAW REQUEST.
  14666. * (T7) = MST ADDRESS / 10B.
  14667. * (AB+4) = TRACK NUMBER.
  14668. *
  14669. * EXIT (CA - CA+1) = TRT ADDRESS.
  14670. *
  14671. * USES T1 - T2, CM - CM+4, CN - CN+4.
  14672.  
  14673.  
  14674. PTF SUBR ENTRY/EXIT
  14675. LDD AB+4 UNPACK TRACK
  14676. LPC 3777
  14677. SHN 21-1 SET WORD INDEX
  14678. STD T1
  14679. SHN 1-21 SET BYTE INDEX
  14680. ADN CM
  14681. STD T2
  14682. LMC SHNI+77-CM FORM SHIFT INSTRUCTION
  14683. STM PTFA
  14684. STM PTFB
  14685. LDD T7 READ MST TRACK COUNT
  14686. SHN 3
  14687. ADK TDGL
  14688. CRD CN
  14689. ADN TRLL-TDGL
  14690. CRD CM
  14691. LDD CM+3 SET TRT ADDRESS
  14692. LPN 77
  14693. STD CA
  14694. SHN 14 READ TRT WORD
  14695. LMD CM+4
  14696. STD CA+1
  14697. ADD T1
  14698. CRD CM
  14699. LDD CN+2 CHECK TRACK
  14700. SHN 2
  14701. SBD T1
  14702. SBN 1
  14703. PJN PTF1 IF TRACK WITHIN TRT
  14704. JMP ILL PROCESS INCORRECT ENTRY
  14705.  
  14706. PTF1 LDD T4
  14707. ZJN PTF4 IF SET FLAW OPTION
  14708. LDI T2
  14709. ZJN PTF3 IF TRACK NOT RESERVED
  14710. AOD CN+4 INCREMENT AVAILABLE TRACK COUNT
  14711. LDN 10 RESERVE TRACK
  14712. PTFA SHN -**
  14713. LMD CM+4 CLEAR RESERVATION
  14714. STD CM+4
  14715. LDN 0 CLEAR BYTE
  14716. PTF3 STI T2
  14717. LDD T7 UPDATE TRACK COUNT IN MST
  14718. SHN 3
  14719. ADK TDGL
  14720. CWD CN
  14721. LDD CA STORE TRT WORD
  14722. SHN 14
  14723. LMD CA+1
  14724. ADD T1
  14725. CWD CM
  14726. LJM PTFX RETURN
  14727.  
  14728. PTF4 LDN 10
  14729. PTFB SHN -**
  14730. STD T0
  14731. LMC 7777
  14732. STM PTFC
  14733. LDD CM+4 SET TRACK RESERVATION
  14734. LPC 0
  14735. PTFC EQU *-1
  14736. LMD T0
  14737. STD CM+4
  14738. LDI T2
  14739. NJN PTF5 IF TRACK ALREADY FLAWED
  14740. SOD CN+4 DECREMENT TRACK COUNT
  14741. PTF5 LDC 3777
  14742. UJN PTF3 SET TRACK BYTE
  14743. PTL SPACE 4,10
  14744. ** PTL - PROCESS TRT LENGTH.
  14745. *
  14746. * USES EQ, T4, T7, CM - CM+4.
  14747. *
  14748. * CALLS AJT, SME.
  14749.  
  14750.  
  14751. PTL1 LDD AB+4 SET MST POINTER
  14752. STD T7
  14753. SHN 3
  14754. ADN STLL
  14755. CRD CM
  14756. LDD CM CHECK FOR INITIALIZE SET
  14757. LPC MLIAL
  14758. ZJN PTL2 IF INITIALIZE NOT SET
  14759. RJM AJT
  14760. PTL2 RJM SME
  14761. NJN PTL1 IF NOT END OF EST
  14762.  
  14763. PTL SUBR ENTRY/EXIT
  14764. LDN 0
  14765. STD T4 SELECT SET FLAW PROCESSING
  14766. STD EQ
  14767. UJN PTL2 CHECK TRT LENGTHS
  14768. TITLE SUBROUTINES.
  14769. AODSUB
  14770. ASDSUB
  14771. CDRSUB
  14772. CMC SPACE 4,10
  14773. ** CMC - CHECK MACHINE CONFIGURATION.
  14774. *
  14775. * ENTRY (EP) = EST ADDRESS.
  14776. * (LD) = LINK DEVICE DEFINITION.
  14777. *
  14778. * USES AB - AB+4, CM - CM+4, T1 - T7.
  14779.  
  14780.  
  14781. CMC SUBR ENTRY/EXIT
  14782. LDD LD
  14783. LPC 777
  14784. ZJN CMCX IF NOT MMF ENVIRONMENT
  14785. SFA EST
  14786. CRD CM READ EST ENTRY FOR LINK DEVICE
  14787. LDN ZERL
  14788. CRD T0
  14789. CRD AB
  14790. LCN 0 INITIALIZE FLAG REGISTER STATUS
  14791. STD AB+3
  14792. LDD CM+4 GET MST STATUS WORD
  14793. SHN 3
  14794. ADN STLL
  14795. CRD CM
  14796. ADN TRLL-STLL FETCH TRT ADDRESS
  14797. CRD T7-4
  14798. LDD CM EXTRACT INITIALIZE FLAG
  14799. SHN -6
  14800. LPN 20
  14801. RAD AB+2
  14802. LDM PRSF CHECK PRESET STATUS
  14803. ZJN CMC7 IF PRESET NOT SPECIFIED
  14804. LDN 40 SET *PRESET* SELECTED
  14805. RAD AB+2
  14806. UJN CMC7 FIND POTENTIAL LABEL TRACK
  14807.  
  14808. CMC4 LDC =C*LINK DEVICE LABEL TRACK ERROR.*
  14809. LJM DSE GO DISPLAY ERROR
  14810.  
  14811. * LOCATE FIRST AVAILABLE TRACK AS POSSIBLE LABEL TRACK.
  14812.  
  14813. CMC6 AOD T1 ADVANCE TRT INDEX
  14814. SHN 2
  14815. SBN LTKL-4000
  14816. PJN CMC4 IF AT LABEL TRACK LIMIT
  14817. CMC7 LDD T6
  14818. LPN 77
  14819. SHN 14 READ TRT WORD
  14820. LMD T7
  14821. ADD T1
  14822. CRD CM
  14823. LDD CM+4 CHECK FOR UNASSIGNED TRACK
  14824. LPN 17
  14825. LMN 17
  14826. ZJN CMC6 IF THESE 4 TRACKS RESERVED
  14827. LMN 17
  14828. SHN 13-3
  14829. STD T2
  14830. LDN 0 INITIALIZE BYTE INDEX
  14831. STD T0
  14832. CMC8 RAD T0 ADVANCE BYTE INDEX
  14833. LDD T2 CHECK NEXT TRACK
  14834. SHN 1
  14835. STD T2
  14836. SHN -14
  14837. NJN CMC8 IF TRACK RESERVED
  14838. LDD T1 FORM TRACK NUMBER
  14839. LMD TH
  14840. SHN 2
  14841. LMD T0
  14842. CMC9 STD AB+4
  14843. LDC EFRL STORE STATUS FOR *CPUMTR*/*MTE*
  14844. CWD AB
  14845. LJM CMCX RETURN
  14846. ECT SPACE 4,10
  14847. ** ECT - DEFINE *EICB* TABLES.
  14848. *
  14849. * USES AB - AB+4, CA - CA+1, CM - CM+4, CN - CN+4.
  14850. *
  14851. * CALLS DFO, DML.
  14852.  
  14853.  
  14854. ECT SUBR ENTRY/EXIT
  14855. LDM C8XX
  14856. NJN ECTX IF NOT LOWER 800 SERIES MAINFRAME
  14857. CRD CN
  14858. CRD AB
  14859. LDK EIBP READ *EICB* POINTER WORD
  14860. CRD CM
  14861. LDM VEMZ SET WORD *D7CM*
  14862. LPN 7
  14863. SHN 14
  14864. ADM VEMZ+1
  14865. SHN -3 FORM BLOCK SIZE/1000B
  14866. STD CN+4
  14867. LDM VEMZ
  14868. SHN -3
  14869. STD CN+3
  14870. LDM /EQP/MCMS FORM MINCM/1000
  14871. SHN 14
  14872. LMM /EQP/MCMS+1
  14873. ADN 7
  14874. SHN -3
  14875. STD CN+2
  14876. SHN -14
  14877. STD CN+1
  14878. LDD MZ SET WORD *D7CM+1*
  14879. LPN 7
  14880. SHN 14
  14881. LMD MZ+1
  14882. ADN 7
  14883. SHN -3
  14884. STD AB+2
  14885. STD AB+4
  14886. SHN -14
  14887. STD CM
  14888. LDD MZ
  14889. SHN -3
  14890. ADD CM
  14891. STD AB+1
  14892. STD AB+3
  14893. LDD CM+3 WRITE WORD *D7TY*
  14894. SHN 14
  14895. LMD CM+4
  14896. ADK D7TY
  14897. CWM ECTA,ON
  14898. ADN D7CM-D7TY-1 WRITE WORD *D7CM
  14899. CWD CN
  14900. ADN 1 WRITE WORD *D7CM+1*
  14901. CWD AB
  14902. ADN DSCBL-D7CM-1 SAVE DFT/OS BUFFER FWA
  14903. STD CA+1
  14904. SHN -14
  14905. STD CA
  14906. RJM DML DEFINE *MLST* BUFFER
  14907. RJM DFO DEFINE DFT/OS BUFFER
  14908. LJM ECTX RETURN
  14909.  
  14910. ECTA BSS 0 WORD *D7TY*
  14911. VFD 6/0 RESERVED
  14912. VFD 18/DTEL DATE WORD ADDRESS
  14913.  
  14914. VFD 18/TIML TIME WORD ADDRESS
  14915.  
  14916. VFD 6/1 OS TYPE
  14917. VFD 6/5 *EICB* INTERFACE VERSION
  14918. VFD 6/1 INTERFACE LEVEL
  14919. DML SPACE 4,10
  14920. ** DML - DEFINE *MLST* BUFFER.
  14921. *
  14922. * ENTRY (CA - CA+1) = FWA OF *MLST* BUFFER IF VE DEFINED.
  14923. * (CM+3 - CM+4) = *EICB* POINTER.
  14924. *
  14925. * EXIT (CA - CA+1) ADVANCED.
  14926. *
  14927. * USES CN - CN+4.
  14928.  
  14929.  
  14930. DML SUBR ENTRY/EXIT
  14931. LDN ZERL CLEAR FOR *MLST* POINTER
  14932. CRD CN
  14933. LDC 4000
  14934. STD CN
  14935. LDM VEFL
  14936. ZJN DML1 IF NOS/VE NOT DEFINED
  14937. LDD CA
  14938. SHN 14
  14939. LMD CA+1 *MLST* ADDRESS (BITS 35-17 OF *D7ST*)
  14940. SHN 14
  14941. STD CN+2
  14942. LDD CA+1
  14943. SHN 6
  14944. LMM .MLS+MTBL *MLST* SIZE
  14945. STD CN+3
  14946. LPN 77
  14947. RAD CA+1 ADVANCE PAST *MLST*
  14948. SHN -14
  14949. RAD CA
  14950. DML1 LDD CM+3 WRITE STATUS AND *MLST* POINTER
  14951. SHN 14
  14952. LMD CM+4
  14953. ADN D7ST
  14954. CWD CN
  14955. UJP DMLX RETURN
  14956. DFO SPACE 4,10
  14957. ** DFO - DEFINE *DFT/OS* BUFFER.
  14958. *
  14959. * ENTRY (CA - CA+1) = FWA OF *DFT/OS* BUFFER.
  14960. * (CM+3 - CM+4) = *EICB* POINTER WORD.
  14961. * (DFTA) = *DFT* ALLOCATION DATA.
  14962. *
  14963. * EXIT *DFT/OS* BUFFER INITIALIZED.
  14964. *
  14965. * USES AB - AB+4, CM - CM+1, CN - CN+4, T1 - T6.
  14966.  
  14967.  
  14968. * BUILD *DFT/OS* INTERFACE HANDOFF FOR VERSION 4 AND ABOVE.
  14969. *
  14970. * NOTE - THE *DFT/OS* BUFFER CANNOT START ON THE LAST WORD OF
  14971. * A SECTOR. THIS IS TO ENSURE A NON-ZERO VALUE FOR THE
  14972. * *OFFSET* FIELD OF THE *DFT/OS* BUFFER POINTER WORD IN THE
  14973. * *EICB*. THIS POINTER POINTS TO THE *DFT* CONTROL WORD,
  14974. * WHICH IS THE SECOND WORD OF THE BUFFER.
  14975.  
  14976. DFO10 LDM DFTV DETERMINE LOWEST *DFT* LEVEL
  14977. SBN DIRL-3 CURRENT OS *DFT* LEVEL
  14978. MJN DFO10.1 IF OS IS NOT LOWEST LEVEL
  14979. LDN 0
  14980. DFO10.1 ADN DIRL RESTORE LEVEL NUMBER
  14981. SHN 4
  14982. STD CN+1 SET LEVEL FOR *DFT*
  14983. LDM DFSZ SAVE TOTAL SIZE FROM DESCRIPTOR
  14984. STD AB+4
  14985. STD T3
  14986. LDM DFTA+1 SAVE DEDICATED MODE FLAG
  14987. SHN 0-13
  14988. LMN 1
  14989. STD T6
  14990. ZJN DFO11 IF DEDICATED *DFT*
  14991. LDN 24 SET *C* AND *D* FLAGS IN CONTROL WORD
  14992. DFO11 LMN 10 SET *L* FLAG
  14993. STD CN+4
  14994. AOD CA+1 ENSURE *DFT/OS* BUFFER STARTS ON EVEN WORD
  14995. SCN 1
  14996. STD CA+1
  14997. SHN -14
  14998. RAD CA
  14999. LDD CA CONSTRUCT POINTER TO *DFT/OS* BUFFER
  15000. STD CM
  15001. SHN 14
  15002. LMD CA+1
  15003. STD CM+1
  15004. CWD AB WRITE TOTAL SIZE TO FIRST WORD
  15005. ADN 1 ADVANCE POINTER TO CONTROL WORD
  15006. CWD CN WRITE *DFT* CONTROL WORD
  15007. STD T1 SAVE OFFSET
  15008. SHN -6
  15009. SHN 4
  15010. STD AB+3 R-LOWER
  15011. SHN -14
  15012. STD AB+2 R-UPPER
  15013. LDD T1
  15014. LPN 77
  15015. STD AB OFFSET
  15016.  
  15017. * WRITE THE *PPR* SAVE AREA POINTER AND THE NOS OS REQUEST
  15018. * HEADER POINTER TO THE *DFT/OS* HANDOFF INTERFACE. ALSO
  15019. * WRITE THE NOS REQUEST HEADER WORD.
  15020.  
  15021. LDN 0 CLEAR *DFT* LEVEL FIELD
  15022. STD CN+1
  15023. LDN 2 SET ADDRESS OF POINTER WORD TO WRITE
  15024. RAD CA+1
  15025. SHN -14
  15026. RAD CA
  15027. LDD T6
  15028. ZJN DFO12 IF DEDICATED *DFT*
  15029. LDK DFPSL SIZE OF *PPR* SAVE AREA
  15030. STD T6
  15031. STD CN+4
  15032. DFO12 RJM PWP WRITE *PPR* SAVE AREA POINTER
  15033. LDD T6 SET OFFSET TO NOS REQUEST HEADER
  15034. RAD T3
  15035. SHN -14
  15036. RAD T2
  15037. LDN 1 SET NUMBER OF NOS REQUEST BUFFERS
  15038. STD CN+4
  15039. RJM PWP WRITE NOS REQUEST HEADER POINTER
  15040. LDD T3 SET ADDRESS OF NOS REQUEST HEADER
  15041. ADD CM+1
  15042. STD CA+1
  15043. SHN -14
  15044. ADD T2
  15045. ADD CM
  15046. STD CA
  15047. AOD T3 SET OFFSET TO NOS REQUEST AREA
  15048. SHN -14
  15049. RAD T2
  15050. LDN STIN SET STATUS = *INACTIVE*
  15051. STD CN+4
  15052. LDN 1 INSURE POINTER WRITTEN
  15053. RJM PWP WRITE NOS REQUEST HEADER WORD
  15054.  
  15055. * CALCULATE TOTAL SIZE OF THE *DFT/OS* BUFFER.
  15056.  
  15057. LDM DFSZ GET SIZE FROM DESCRIPTOR
  15058. ADK RQBL+1 ADD NOS REQUEST AREA SIZE
  15059. ADD T6 ADD *PPR* SAVE AREA SIZE
  15060. STD AB+4
  15061. SHN -14
  15062. RAD AB+3
  15063. LDD CM+3 WRITE *DFT/OS* POINTER WITH TOTAL SIZE
  15064. SHN 14
  15065. LMD CM+4
  15066. ADK DSCM+3
  15067. CWD AB
  15068.  
  15069. * COPY THE *PPR* SAVE AREA POINTER AND THE NOS REQUEST
  15070. * HEADER POINTER TO THEIR PROPER POSITIONS. THIS IS REQUIRED
  15071. * FOR *MTR* PRESET AND *1MB*, WHICH NEED THEM PRIOR TO *DFT*
  15072. * BUILDING THE COMPLETE *DFT/OS* BUFFER.
  15073.  
  15074. LDD CM
  15075. SHN 14
  15076. LMD CM+1
  15077. ADN 2
  15078. CRD CN READ *PPR* SAVE AREA POINTER
  15079. ADN 1
  15080. CRD AB READ NOS REQUEST HEADER POINTER
  15081. ADN 3
  15082. CWD CN WRITE *PPR* SAVE AREA POINTER
  15083. ADN 1
  15084. CWD AB WRITE NOS REQUEST HEADER POINTER
  15085.  
  15086. DFO SUBR ENTRY/EXIT
  15087. LDN ZERL CLEAR ASSEMBLY BUFFER
  15088. CRD CN
  15089. CRD AB
  15090. CRD T1
  15091. LDM DFTV
  15092. NJP DFO10 IF NOT *DFT* VERSION 3
  15093.  
  15094. * CONSTRUCT *DFT/OS* BUFFER FOR *DFT* VERSION 3.
  15095.  
  15096. LDD CA
  15097. SHN 14
  15098. LMD CA+1
  15099. STD T1 SAVE OFFSET
  15100. SHN -6
  15101. SHN 4
  15102. STD AB+3 R-LOWER
  15103. SHN -14
  15104. STD AB+2 R-UPPER
  15105. LDD T1
  15106. LPN 77
  15107. STD AB
  15108. LDN DFHL SET NUMBER OF HEADER WORDS
  15109. SHN 14-4
  15110. STD CN
  15111. LDN 3*20 SET *DFT* REVISION LEVEL TO 3
  15112. STD CN+1
  15113. LDM DFTA GET MAINTENANCE REGISTER BUFFER DATA
  15114. STD T1
  15115. SHN -6
  15116. STD T5 SAVE NUMBER OF BUFFERS
  15117. SHN 4
  15118. STD CN+3 SET *NBUF* IN *DFT* CONTROL WORD
  15119. LDD T1
  15120. LPN 77
  15121. STD CN+2 SET *LBUF* IN *DFT* CONTROL WORD
  15122. STD T4
  15123. LDM DFTA+1 CHECK DEDICATED FLAG
  15124. STD T1
  15125. SHN -13
  15126. NJN DFO1 IF DEDICATED DFT
  15127. LDN 24 SET *C* AND *D* FLAGS IN CONTROL WORD
  15128. STD CN+4
  15129. DFO1 LDN 10 SET *L* FLAG
  15130. RAD CN+4
  15131. LDD CA WRITE *DFT* CONTROL WORD
  15132. STD CM
  15133. SHN 14
  15134. LMD CA+1
  15135. STD CM+1
  15136. CWD CN
  15137. AOD CA+1 ADVANCE ADDRESS
  15138. SHN -14
  15139. RAD CA
  15140. LDN ZERL CLEAR ASSEMBLY BUFFER
  15141. CRD CN
  15142. LDD T1
  15143. SHN 0-12
  15144. LPN 1
  15145. ZJN DFO2 IF NOT 990
  15146. LDM .CPU+1 CHECK FOR DUAL CPU CYBER 990
  15147. LPN 2
  15148. ZJN DFO1.1 IF CPU-1 *OFF* OR NOT PRESENT
  15149. LDC -M9DB REDUCE BUFFER FOR SINGLE CPU CYBER 990
  15150. DFO1.1 ADC M9DB*2 SET MODEL DEPENDENT BUFFER SIZE
  15151. DFO2 STD T6
  15152.  
  15153. * WRITE POINTER WORDS.
  15154.  
  15155. LDN SIDL LENGTH OF SECDED ID TABLE
  15156. STD CN+4
  15157. LDN DFHL+MECB HEADER + COUNTER BUFFER SIZE
  15158. ADD T5 M/R BUFFER COUNT +1
  15159. STD T3
  15160. RJM PWP WRITE SECDED ID TABLE POINTER
  15161. LDD T1 LENGTH OF M/R BUFFERS
  15162. LPC 1777
  15163. STD T1
  15164. STD CN+4
  15165. LDN SIDL OFFSET OF M/R BUFFERS
  15166. RAD T3
  15167. RJM PWP WRITE M/R BUFFER POINTER
  15168. LDD T1 OFFSET OF MODEL DEPENDENT BUFFER
  15169. RAD T3
  15170. LDD T6 MODEL DEPENDENT BUFFER SIZE
  15171. ZJN DFO3 IF NOT 990
  15172. STD CN+4
  15173. LDD T3
  15174. DFO3 RJM PWP WRITE MODEL DEPENDENT BUFFER POINTER
  15175. LDN 0
  15176. RJM PWP WRITE NOS/VE BUFFER POINTER
  15177. LDC DFPSL LENGTH OF PP RESIDENT SAVE AREA
  15178. STD CN+4
  15179. STD T7 SAVE LENGTH OF PP RESIDENT SAVE AREA
  15180. LDD T6 OFFSET OF NEXT ELEMENT
  15181. RAD T3
  15182. LDM DFTA+1
  15183. SHN 21-13
  15184. MJN DFO4 IF DEDICATED DFT
  15185. LDD T3
  15186. UJN DFO5 WRITE POINTER
  15187.  
  15188. DFO4 LDN 0
  15189. STD T7 CLEAR LENGTH OF PP RESIDENT SAVE AREA
  15190. DFO5 RJM PWP WRITE PP RESIDENT POINTER
  15191. LDD T7 OFFSET OF NOS REQUEST AREA POINTER
  15192. RAD T3
  15193. LDN 1 NUMBER OF NOS REQUEST BUFFERS
  15194. STD CN+4
  15195. RJM PWP WRITE NOS REQUEST AREA POINTER
  15196. AOD T3
  15197.  
  15198. * CALCULATE TOTAL LENGTH OF DFT/OS BUFFER.
  15199.  
  15200. LDK MECB+SIDL MAINFRAME ELEMENT COUNTERS, SECDED
  15201. ADD T1 M/R BUFFER SIZE
  15202. ADD T6 MODEL DEPENDENT BUFFER SIZE
  15203. ADD T7 PP RESIDENT SAVE AREA
  15204. STD T0 SAVE POINTER OFFSET
  15205. ADD T5 M/R CONTROL WORDS
  15206. ADN DFHL+RQBL+1 CONTROL WORD, POINTERS, NOS REQUEST AREA
  15207. STD AB+4
  15208. LDD CM+3 WRITE DFT/OS POINTER = SIZE
  15209. SHN 14
  15210. LMD CM+4
  15211. ADN DSCM+3
  15212. CWD AB
  15213.  
  15214. * ADD OFFSET FIELD TO BUFFER CONTROL WORDS.
  15215.  
  15216. LDN ZERL
  15217. CRD CN
  15218. DFO6 SOD T5
  15219. ZJN DFO7 IF NO MORE CONTROL WORDS TO PROCESS
  15220. LDD T4
  15221. RAD CN+4
  15222. LDD CA
  15223. SHN 14
  15224. LMD CA+1
  15225. ADN 1 ADVANCE ADDRESS
  15226. CWD CN
  15227. STD CA+1
  15228. SHN -14
  15229. STD CA
  15230. UJN DFO6 PROCESS NEXT ENTRY
  15231.  
  15232. * POST REQUEST TO *DFT* TO UPDATE ERROR THRESHOLDS.
  15233.  
  15234. DFO7 AOD T0 ADVANCE TO NOS REQUEST HEADER
  15235. RAD CA+1
  15236. SHN -14
  15237. RAD CA
  15238. LDM .CPU CHECK CPU CONFIGURATION
  15239. LPN 2
  15240. ZJN DFO8 IF CPU-1 PRESENT
  15241. LDN ZERL CLEAR THRESHOLDS FOR CPU-1
  15242. CRM DFOB,ON
  15243. DFO8 LDN STRY SET STATUS = *READY*
  15244. STD CN+4
  15245. RJM PWP WRITE NOS REQUEST HEADER
  15246. LDN DFOAL/5 SET WORD COUNT
  15247. STD CN
  15248. LDD CA WRITE THRESHOLD REQUEST TO BUFFER
  15249. SHN 14
  15250. LMD CA+1
  15251. CWM DFOA,CN
  15252. LJM DFOX RETURN
  15253.  
  15254.  
  15255. * *DFT* THRESHOLD REQUEST INFORMATION.
  15256.  
  15257. DFOA VFD 4/,8/RQTH,8/0,8/7,8/0,8/0,8/THCI,8/THUE IOU
  15258. VFD 4/,8/RQTH,8/0,8/7,8/1,8/0,8/THCM,8/THUE MEMORY
  15259. VFD 4/,8/RQTH,8/0,8/7,8/2,8/0,8/THCP,8/THUE CPU-0
  15260. DFOB VFD 4/,8/RQTH,8/0,8/7,8/2,8/1,8/THCP,8/THUE CPU-1
  15261. VFD 60/0 TERMINATOR
  15262. DFOAL EQU *-DFOA LENGTH OF THRESHOLD DATA (PP WORDS)
  15263. PWP SPACE 4,10
  15264. ** PWP - POSITION AND WRITE POINTER.
  15265. *
  15266. * ENTRY (A) = 0 IF A ZERO POINTER WORD IS TO BE WRITTEN.
  15267. * (T2 - T3) = OFFSET FROM FWA OF THE DFT/OS BUFFER OF
  15268. * THE BUFFER FOR WHICH THE POINTER IS TO
  15269. * BE WRITTEN.
  15270. * (CN+4) = LENGTH OF BUFFER FOR WHICH POINTER IS TO
  15271. * BE WRIITEN.
  15272. * (CM - CM+1) = FWA OF DFT/OS BUFFER.
  15273. * (CA - CA+1) = ADDRESS TO WRITE.
  15274. *
  15275. * EXIT (CA - CA+1) ADVANCED.
  15276. *
  15277. * USES CN - CN+4.
  15278.  
  15279.  
  15280. PWP1 LDN ZERL CLEAR POINTER
  15281. CRD CN
  15282. PWP2 LDD CA ADVANCE POINTER WORD
  15283. SHN 14
  15284. LMD CA+1
  15285. CWD CN WRITE POINTER WORD
  15286. AOD CA+1 ADVANCE ADDRESS
  15287. SHN -14
  15288. RAD CA
  15289.  
  15290. PWP SUBR ENTRY/EXIT
  15291. ZJN PWP1 IF ZERO WORD TO BE WRITTEN
  15292. LDD CM
  15293. ADD T2
  15294. SHN 14
  15295. LMD CM+1
  15296. ADD T3 ADDRESS OF POINTER WORD
  15297. STD CN SAVE OFFSET
  15298. SHN -6
  15299. SHN 4
  15300. STD CN+3 SAVE R-LOWER
  15301. SHN -14
  15302. STD CN+2
  15303. LDD CN OFFSET
  15304. LPN 77
  15305. STD CN
  15306. UJN PWP2 WRITE AND ADVANCE POINTER WORD
  15307. TITLE BUILD SAB TABLE.
  15308. BVS SPACE 4,10
  15309. ** BVS - BUILD VARIABLE SIZE SYSTEM ATTRIBUTE BLOCK.
  15310. *
  15311. * USES KB, CM - CM+4, CN - CN+4, T1 - T7.
  15312. *
  15313. * CALLS APM, CDS, CMN, GPD, IAF, PRS, SDA.
  15314. *
  15315. * MACROS CHKAPE.
  15316.  
  15317.  
  15318. BVS SUBR ENTRY/EXIT
  15319. LDM .APP MODIFY *APP* CHANNEL INSTRUCTIONS
  15320. RJM PRS
  15321. LDK TSABL LENGTH OF SAB BLOCK
  15322. STD T6
  15323. BVS1 LDN 0 CLEAR SAB BLOCK
  15324. STM TSAB-1,T6
  15325. SOD T6
  15326. NJN BVS1 IF NOT FINISHED
  15327. LDK TEABL
  15328. STD T7
  15329. BVS2 LDN 0 CLEAR EABL BLOCK
  15330. STM TEAB-1,T7
  15331. SOD T7
  15332. NJN BVS2 IF NOT FINISHED
  15333. LDK SABL
  15334. CRD CN
  15335. LDD CN+2 SET ELEMENT DESCRIPTOR BLOCK LENGTH
  15336. STM TEAB+5*MFEI+3
  15337. * LDN 0 INITIALIZE INDICES
  15338. * STD T6 *TSAB* INDEX
  15339. * STD T7 *EABL* INDEX
  15340.  
  15341. * BUILD MAINFRAME DESCRIPTOR.
  15342.  
  15343. LDC MEBF+2 FETCH EI SPECIFICATION
  15344. CRM DBUF+5,ON
  15345. LDN MFDS REQUEST MAINFRAME DESCRIPTOR
  15346. RJM IAF
  15347. STM DBUF+4
  15348. LDD HO SET HARDWARE OPTIONS
  15349. STM DBUF+OPTN
  15350. LDN MFEI*5 SET MAINFRAME DESCRIPTOR ADDRESS
  15351. RJM SDA
  15352. LDN MFDSL COPY DESCRIPTOR TO SAB
  15353. RJM CDS
  15354. LDM TSAB+HDID
  15355. LPN 77
  15356. LMC MFDWL*100B APPEND DESCRIPTOR LENGTH TO HEADER
  15357. STM TSAB+HDID
  15358. BVS3 RJM CMN CALCULATE MODEL NUMBERS
  15359.  
  15360. * PROCESSOR DESCRIPTOR(S).
  15361.  
  15362. LDN CPEI*5 SET CPU 0 DESCRIPTOR ADDRESS
  15363. RJM SDA
  15364. LDN 0 GENERATE CPU 0 DESCRIPTOR
  15365. STD T5
  15366. RJM GPD
  15367. LDM .CPU CHECK CPU STATUS
  15368. LPN 2
  15369. NJN BVS4 IF CPU 1 NOT PRESENT
  15370. LCN 5*CPEI+2 SET CPU 1 DESCRIPTOR ADDRESS
  15371. RJM SDA
  15372. AOD T5 GENERATE CPU 1 DESCRIPTOR
  15373. RJM GPD
  15374.  
  15375. * CENTRAL MEMORY DESCRIPTOR.
  15376.  
  15377. BVS4 LDN CMDS REQUEST CM DESCRIPTOR
  15378. RJM IAF
  15379. LDN CMEI*5 SET CM DESCRIPTOR ADDRESS
  15380. RJM SDA
  15381. LDM DBUF+MCTC SET CONNECT CODE
  15382. STM TEAB+5*CMEI+3
  15383. LDM DBUF+HDID
  15384. LPN 77
  15385. LMC CMDWL*100B APPEND DESCRIPTOR LENGTH TO HEADER
  15386. STM DBUF+HDID
  15387. LDD T6
  15388. ADC TSAB+2*5-2 LOCATION OF *CTI CM DIRECTORY* POINTER
  15389. STD KB
  15390. LDM C8XX
  15391. ZJN BVS5 IF C180 MAINFRAME
  15392. LDD CM+2
  15393. SHN 4 SET MEMORY MODEL NUMBER
  15394. STM DBUF+HDMN
  15395. BVS5 LDN CMDSL COPY DESCRIPTOR TO SAB
  15396. RJM CDS
  15397.  
  15398. * IOU DESCRIPTOR.
  15399.  
  15400. LDN IUDS REQUEST IOU DESCRIPTOR
  15401. RJM IAF
  15402. LDM .PPL GET CTI/SET PP00 - PP11 OFF DATA
  15403. STM DBUF+LPP0 UPDATE *SAB* TABLE
  15404. LDM .PPL+1 GET CTI/SET PP20 - PP31 OFF DATA
  15405. STM DBUF+LPP1 UPDATE *SAB* TABLE
  15406. LDM DBUF+HDID
  15407. LPN 77
  15408. ADC IUDWL*100B APPEND DESCRIPTOR LENGTH TO HEADER
  15409. STM DBUF+HDID
  15410. LDM DBUF+MCTC SET CONNECT CODE
  15411. STM TEAB+5*IOEI+3
  15412. LDN IOEI*5 SET IOU DESCRIPTOR ADDRESS
  15413. RJM SDA
  15414. LDM C8XX
  15415. ZJN BVS6 IF C180 MAINFRAME
  15416. LDD CM+3
  15417. SHN 4 SET I/O SUBSYSTEM MODEL NUMBER
  15418. STM DBUF+HDMN
  15419. BVS6 LDN IUDSL COPY DESCRIPTOR TO SAB
  15420. RJM CDS
  15421. LDM C8XX
  15422. NJN BVS7 IF NOT CYBER 800 TYPE MAINFRAME
  15423.  
  15424. * CONSOLE DESCRIPTOR.
  15425.  
  15426. LDN CIDS REQUEST CONSOLE DESCRIPTOR
  15427. RJM IAF
  15428. LDM DBUF+HDID
  15429. LPN 77
  15430. LMD HN APPEND DESCRIPTOR LENGTH TO HEADER
  15431. STM DBUF+HDID
  15432. LCN 5*DCEI+2 SET DISPLAY CONSOLE DESCRIPTOR ADDRESS
  15433. RJM SDA
  15434. LDN CIDSL COPY DESCRIPTOR TO SAB
  15435. RJM CDS
  15436. BVS7 LDD HO
  15437. SHN 21-11
  15438. PJN BVS8 IF NOT CYBER 176
  15439.  
  15440. * FLPP DESCRIPTOR.
  15441.  
  15442. LDN FLPS REQUEST FLPP DESCRIPTOR
  15443. RJM IAF
  15444. LDM DBUF+HDID
  15445. LPN 77
  15446. LMD HN APPEND DESCRIPTOR LENGTH TO HEADER
  15447. STM DBUF+HDID
  15448. LDN FLPSL COPY DESCRIPTOR TO SAB
  15449. RJM CDS
  15450.  
  15451. * SET ISD SUBSYSTEM STATUS.
  15452.  
  15453. BVS8 LDN CFGL
  15454. CRD CM
  15455. LDM ISPF
  15456. SHN 21-13
  15457. MJN BVS9 IF NOT CYBER 810/815/825/830
  15458. ZJN BVS9 IF ISD SUBSYSTEM NOT PRESENT
  15459. LDD TH SET ISD SUBSYSTEM PRESENT
  15460. RAD CM+3
  15461. BVS9 LDN CFGL
  15462. CWD CM
  15463.  
  15464. * EXTENDED MEMORY DESCRIPTOR.
  15465.  
  15466. LDD EN
  15467. NJN BVS10 IF CPU ACCESS EQUIPMENT DEFINED
  15468. LDM UEMZ
  15469. ADM UEMZ+1
  15470. ZJP BVS13 IF NO USER EXTENDED MEMORY DEFINED
  15471. LDC 440 SET FLAGS / MEMORY TYPE / PATH TYPE
  15472. UJN BVS12 COMPLETE DESCRIPTOR
  15473.  
  15474. BVS10 SFA EST
  15475. ADK EQDE
  15476. CRD CM
  15477. LDD CM+4 GET EM TYPE PARAMETERS
  15478. SHN 3
  15479. ADN DILL
  15480. CRD CM
  15481. LDD CM+3 SET MAINTENANCE MODE FLAG
  15482. SHN 0-11
  15483. LPN 1
  15484. LMN 1
  15485. SHN 10-0
  15486. RAM BVSA
  15487. LDD CM+3 SET EXTENDED ADDRESSING FLAG
  15488. LPN 70
  15489. LMN 30
  15490. NJN BVS11 IF NOT EXTENDED ADDRESSING
  15491. LDD HN
  15492. RAM BVSA
  15493. BVS11 LDD CM+3 SET PP PATH TYPE AND MEMORY TYPE
  15494. LPN 77
  15495. LMC 200
  15496. BVSA EQU *-1
  15497. BVS12 STM DBUF+1
  15498. LDN ECRL
  15499. CRD CM
  15500. LDM UESC PRESET SHIFT INSTRUCTIONS
  15501. RAM BVSB
  15502. LDM EMSC
  15503. RAM BVSC
  15504. LDD CM+1 SET USER XM / 1000
  15505. BVSB SHN 14
  15506. * SHN 14+UESC
  15507. STM DBUF+2
  15508. SHN -6
  15509. SCN 7
  15510. STM DBUF+3
  15511. LDM EMFL SET TOTAL XM / 1000
  15512. BVSC SHN 0
  15513. * SHN EMSC
  15514. STM DBUF+4
  15515. SHN -14
  15516. RAM DBUF+3
  15517. LDC 1S6+77 SET LENGTH AND ID
  15518. STM DBUF+HDID
  15519. LCN 5*CMEI+2 SET EXTENDED MEMORY DESCRIPTOR ADDRESS
  15520. RJM SDA
  15521. LDN 5 COPY DESCRIPTOR TO SAB
  15522. RJM CDS
  15523.  
  15524. * COPY *EABL* INTO PLACE.
  15525.  
  15526. BVS13 LDK EABLL LENGTH OF TABLE
  15527. STD T3
  15528. LDK EABL CM ADDRESS
  15529. CWM TEAB,T3
  15530.  
  15531. * COPY SAB INTO PLACE.
  15532.  
  15533. LDD CN
  15534. SHN 14
  15535. LMD CN+1
  15536. CWM TSAB,CN+2
  15537.  
  15538. * SUSPEND ALTERNATE PP.
  15539.  
  15540. LDK RPCS*10000+DSCL REMOVE PP FROM CHANNEL
  15541. RJM APM
  15542. CHKAPE CHECK ALTERNATE PP ERROR
  15543.  
  15544. * UPDATE *EI* COMMUNICATION BLOCK.
  15545.  
  15546. LDC EIBP FETCH *EI* BLOCK POINTER
  15547. CRD CN
  15548. ADN SCDP-EIBP GET FWA OF *SCDPT*
  15549. CRD T4
  15550. LDN 0
  15551. STD CM+4
  15552. CRD T1
  15553. LDM 4,KB GET OFFSET OF *CTI CM DIRECTORY*
  15554. STD CM
  15555. LDM 3,KB GET R-LOWER
  15556. SHN 4
  15557. STD CM+3
  15558. SHN -14
  15559. SHN 12
  15560. ADM 2,KB ADD R-UPPER
  15561. SHN 10
  15562. STD CM+2
  15563. SHN -14
  15564. STD CM+1
  15565. LDD CN+3
  15566. SHN 14
  15567. LMD CN+4
  15568. ZJP BVSX IF NOT DUAL STATE MAINFRAME
  15569. ADN D7RS+2
  15570. CWD T3
  15571. ADN DSCM+2-D7RS-2 WRITE *DSCM+2*
  15572. CWD CM
  15573. LDN 0 SET UP WORD *D7RS*
  15574. CRD CM
  15575. LDM MDDP
  15576. LPN 10
  15577. SHN 13-3 SET *MDD* ACTIVE STATUS
  15578. STD CM+1
  15579. BVS14 LDM .DCS
  15580. ZJN BVS15 IF NOT 721 CONSOLE
  15581. LDC 1S10 SET NOS *SCD* ACTIVE
  15582. RAD CM+1
  15583. BVS15 LDC PSAL SET PP RESIDENT SAVE LENGTH
  15584. STD CM+2
  15585. LDM SPSA SET SAVE AREA FWA
  15586. STD CM+3
  15587. LDM SPSA+1
  15588. STD CM+4
  15589. LDD CN+3 WRITE *D7RS*
  15590. SHN 14
  15591. LMD CN+4
  15592. ADN D7RS
  15593. CWD CM
  15594. BVS16 LJM BVSX RETURN
  15595. CDS SPACE 4,10
  15596. ** CDS - COPY DATA TO SAB BLOCK.
  15597. *
  15598. * ENTRY (A) = LENGTH OF DATA.
  15599. * (T6) = CURRENT DATA BYTE INDEX.
  15600. * (T7) = CURRENT DATA WORD INDEX.
  15601. *
  15602. * EXIT (T6) = (T6) + (A) ON ENTRY, ROUNDED TO WORD BOUNDARY.
  15603. * (T7) = (T6)/5.
  15604. *
  15605. * USES T3, T4.
  15606.  
  15607.  
  15608. CDS SUBR ENTRY/EXIT
  15609. STD T4 SAVE ENTRY
  15610. LDN 0 INITIALIZE INDEX
  15611. STD T3
  15612. CDS1 LDM DBUF,T3 MOVE DATA
  15613. STM TSAB,T6
  15614. AOD T6 INCREMENT POINTER
  15615. AOD T3 INCREMENT INDEX
  15616. SOD T4 DECREMENT COUNTER
  15617. NJN CDS1 IF MORE DATA TO MOVE
  15618. CDS2 AOD T7 INCREMENT WORD INDEX
  15619. LCN 5
  15620. RAD T3
  15621. ZJN CDSX IF ALL DATA ACCOUNTED FOR
  15622. PJN CDS2 IF MORE DATA
  15623. LMC -0 ACCOUNT FOR A PARTIAL LAST WORD
  15624. RAD T6
  15625. UJN CDSX RETURN
  15626. CMN SPACE 4,10
  15627. ** CMN - CALCULATE MODEL NUMBERS (NON C180 MAINFRAMES).
  15628. *
  15629. * ENTRY (HO) = HARDWARE OPTIONS.
  15630. *
  15631. * EXIT (CM) = CPU 0 MODEL NUMBER.
  15632. * (CM+1) = CPU 1 MODEL NUMBER.
  15633. * (CM+2) = MEMORY MODEL NUMBER.
  15634. * (CM+3) = I/O SUBSYSTEM MODEL NUMBER.
  15635. *
  15636. * USES T1, T2.
  15637.  
  15638.  
  15639. CMN13 STD T1 SAVE MODEL INDICES
  15640. SHN -10
  15641. STD T2
  15642. LDM PMVT,T2 SET CPU 0 MODEL NUMBER
  15643. STD CM
  15644. LDM PMVT,CM+1 SET CPU 1 MODEL NUMBER
  15645. STD CM+1
  15646. LDD T1 EXTRACT MEMORY TYPE INDEX
  15647. SHN -4
  15648. LPN 17
  15649. STD T2
  15650. LDM MMVT,T2 SET MEMORY MODEL NUMBER
  15651. STD CM+2
  15652. LDD T1 EXTRACT I/O SUBSYSTEM TYPE INDEX
  15653. LPN 17
  15654. STD T2
  15655. LDM IMVT,T2 SET I/O SUBSYSTEM MODEL NUMBER
  15656. STD CM+3
  15657.  
  15658. CMN SUBR ENTRY/EXIT
  15659. LDM C8XX
  15660. ZJN CMNX IF C180 MAINFRAME
  15661. CRD CM
  15662. LDD HO CHECK HARDWARE OPTIONS
  15663. SHN 21-11
  15664. PJN CMN4 IF NOT C176
  15665.  
  15666. * PROCESS CYBER 176 SERIES MAINFRAME.
  15667.  
  15668. LDC PMVF*400+MMVE*20+IMVD
  15669. JMP CMN13 SET MODEL INDICES
  15670.  
  15671. * PROCESS CYBER 170-865/875 SERIES MAINFRAME.
  15672.  
  15673. CMN1 SHN 13-1
  15674. MJN CMN2 IF SECOND CPU NOT PRESENT
  15675. LDN PMVI
  15676. STD CM+1
  15677. CMN2 LDD HO EXTRACT 875 TYPE FLAG
  15678. LPN 4
  15679. SHN 4-2
  15680. ERRNZ MMVH+1-MMVI CODE DEPENDS ON VALUE
  15681. ADC PMVI*400+MMVH*20+IMVF
  15682. JMP CMN13 SET MODEL INDICES
  15683.  
  15684. * PROCESS CYBER 700 SERIES MAINFRAME.
  15685.  
  15686. CMN4 SHN 11-10
  15687. MJN CMN7 IF NOT MODEL D PPS
  15688. SHN 11+21-13
  15689. PJN CMN1 IF C170-865/875
  15690. SHN 13-1
  15691. MJN CMN5 IF SECOND CPU NOT PRESENT
  15692. LDN PMVG
  15693. STD CM+1
  15694. CMN5 LDD HO CHECK HARDWARE OPTIONS
  15695. LPN 20
  15696. ZJN CMN6 IF CPU 0 HAS STACK
  15697. LDC PMVG*400+MMVF*20-PMVH*400-MMVG*20
  15698. CMN6 ADC PMVH*400+MMVG*20+IMVE
  15699. JMP CMN13 SET MODEL INDICES
  15700.  
  15701. CMN7 SHN 10-6
  15702. MJN CMN9 IF S/C REGISTER NOT PRESENT
  15703.  
  15704. * PROCESS CYBER 170 SERIES MAINFRAME.
  15705.  
  15706. SHN 6-1
  15707. MJN CMN8 IF SECOND CPU NOT PRESENT
  15708. LDN PMVD
  15709. STD CM+1
  15710. CMN8 LDD HO EXTRACT STACK CPU STATUS
  15711. LPN 20
  15712. LMN 20
  15713. SHN 10-4
  15714. ERRNZ PMVD+1-PMVE CODE DEPENDS ON VALUE
  15715. ADC PMVD*400+MMVE*20+IMVD
  15716. JMP CMN13 SET MODEL INDICES
  15717.  
  15718. CMN9 SHN 7+21-7
  15719. MJN CMN11 IF I/L REGISTER NOT PRESENT
  15720.  
  15721. * PROCESS CYBER 70 SERIES MAINFRAME.
  15722.  
  15723. SHN 7-1
  15724. MJN CMN10 IF SECOND CPU NOT PRESENT
  15725. LDN PMVA
  15726. STD CM+1
  15727. CMN10 LDD HO EXTRACT STACK CPU STATUS
  15728. LPN 20
  15729. LMN 20
  15730. SHN 10-4
  15731. ERRNZ PMVA+1-PMVB CODE DEPENDS ON VALUE
  15732. ADC PMVA*400+MMVC*20+IMVC
  15733. JMP CMN13 SET MODEL INDICES
  15734.  
  15735. * PROCESS 6000 SERIES MAINFRAME.
  15736.  
  15737. CMN11 SHN 7-1
  15738. MJN CMN12 IF SECOND CPU NOT PRESENT
  15739. LDN PMVA
  15740. STD CM+1
  15741. CMN12 LDD HO EXTRACT STACK CPU STATUS
  15742. LPN 20
  15743. LMN 20
  15744. SHN 10-4
  15745. ERRNZ PMVA+1-PMVB CODE DEPENDS ON VALUE
  15746. ADC PMVA*400+MMVA*20+IMVA
  15747. JMP CMN13 SET MODEL INDICES
  15748.  
  15749.  
  15750. PMVT BSS 0 PROCESSOR MODEL TABLE
  15751. LOC 0
  15752. CON 0 UNDEFINED
  15753. PMVA CON 2 6200, 6400, C71, C72, C73
  15754. PMVB CON 3 6600, C74
  15755. PMVD CON 22D C171ABC, C172ABC, C173ABC, C174ABC
  15756. PMVE CON 25D C175ABC
  15757. PMVF CON 42D C176AB
  15758. PMVG CON 52D C720, C730
  15759. PMVH CON 54D C740, C750, C760
  15760. PMVI CON 55D C865, C875
  15761. LOC *O
  15762.  
  15763.  
  15764. MMVT BSS 0 MEMORY MODEL TABLE
  15765. LOC 0
  15766. CON 0 UNDEFINED
  15767. MMVA CON 102D 6200, 6400, 6600
  15768. MMVC CON 113D C71, C72, C73, C74
  15769. MMVE CON 123D C171ABC - C175ABC, C176AB
  15770. MMVF CON 152D C720, C730
  15771. MMVG CON 154D C740, C750, C760
  15772. MMVH CON 155D C865
  15773. MMVI CON 156D C875
  15774. LOC *O
  15775.  
  15776.  
  15777. IMVT BSS 0 I/O SUBSYSTEM MODEL TABLE
  15778. LOC 0
  15779. CON 0 UNDEFINED
  15780. IMVA CON 202D 6200, 6400, 6600
  15781. IMVC CON 213D C71, C72, C73, C74
  15782. IMVD CON 223D C171ABC - C175ABC, C176AB
  15783. IMVE CON 252D C720 - C760
  15784. IMVF CON 255D C865, C875
  15785. LOC *O
  15786. GPD SPACE 4,10
  15787. ** GPD - GENERATE PROCESSOR DESCRIPTOR.
  15788. *
  15789. * ENTRY (A) = (T5) = PROCESSOR NUMBER.
  15790. * (T6) = TSAB INDEX.
  15791. * (T7) = SAB INDEX.
  15792. *
  15793. * EXIT (T6) = INDEX ADVANCED.
  15794. * (T7) = INDEX ADVANCED.
  15795. *
  15796. * CALLS CDS, IAF.
  15797.  
  15798.  
  15799. GPD SUBR ENTRY/EXIT
  15800. STM MBUF
  15801. LDN CPDS REQUEST CPU DESCRIPTOR
  15802. RJM IAF
  15803. LDM DBUF+5*1+4 MOVE MICROCODE LOADED FLAG
  15804. STM DBUF+5*3+4
  15805. LDN 0 CLEAR UNUSED BYTES
  15806. STM DBUF+5*1+4
  15807. STM DBUF+5*2+4
  15808. LDM DBUF+MCTC SET CONNECT CODE
  15809. STM TEAB+5*CPEI+3,T5
  15810. LDM DBUF+HDID
  15811. LPN 77
  15812. LMC CPDWL*100B APPEND DESCRIPTOR LENGTH TO HEADER
  15813. STM DBUF+HDID
  15814. LDM C8XX
  15815. ZJN GPD1 IF C180 MAINFRAME
  15816. LDM CM,T5
  15817. SHN 4 SET CPU MODEL NUMBER
  15818. STM DBUF+HDMN
  15819. GPD1 LDN 4*5 COPY DESCRIPTOR TO SAB
  15820. RJM CDS
  15821. UJP GPDX RETURN
  15822. IAF SPACE 4,10
  15823. ** IAF - ISSUE FUNCTION TO ALTERNATE PP.
  15824. *
  15825. * ENTRY (A) = FUNCTION CODE.
  15826. *
  15827. * EXIT (A) = 0.
  15828. *
  15829. * ERROR TO *DSE* IF ALTERNATE PP ERROR.
  15830. *
  15831. * CALLS API.
  15832.  
  15833.  
  15834. IAF SUBR ENTRY/EXIT
  15835. SHN 14
  15836. LMC MBUF APPEND BUFFER ADDRESS TO REQUEST
  15837. RJM API
  15838. ZJN IAFX IF NO ERROR
  15839. JMP DSE DISPLAY ERROR AND HANG
  15840. SDA SPACE 4,10
  15841. ** SDA - SET DESCRIPTOR ADDRESS.
  15842. *
  15843. * ENTRY (A) = INDEX INTO TEAB.
  15844. * IF (A) .GE. 0, ADDRESS ASSEMBLED INTO (A) + 1.
  15845. * IF (A) .LT. 0, ADDRESS ASSEMBLED INTO (A) - 1.
  15846. * (T7) = CURRENT SAB INDEX.
  15847. * (CN - CN+1) = FWA OF ELEMENT DESCRIPTOR BLOCK.
  15848. *
  15849. * USES T3.
  15850.  
  15851.  
  15852. SDA1 LMC -0 COMPLEMENT INDEX
  15853. STD T3 SAVE ENTRY
  15854. LDD CN
  15855. SHN 14
  15856. LMD CN+1
  15857. ADD T7 ADD CURRENT SAB INDEX
  15858. STM TEAB,T3 SET BITS 0-11
  15859. SHN -14
  15860. RAM TEAB-1,T3 SET BITS 12-17
  15861.  
  15862. SDA SUBR ENTRY/EXIT
  15863. MJN SDA1 IF ENTRY .LT. 0
  15864. STD T3 SAVE ENTRY
  15865. LDD CN
  15866. SHN 14
  15867. LMD CN+1
  15868. ADD T7 ADD CURRENT SAB INDEX
  15869. SHN 14
  15870. STM TEAB,T3 SET BITS 6-17
  15871. SHN 6-14
  15872. SCN 77
  15873. RAM TEAB+1,T3 SET BITS 0-5
  15874. UJN SDAX RETURN
  15875. SPACE 4,10
  15876. ** COMMON DECKS.
  15877.  
  15878.  
  15879. *CALL COMPCHM
  15880. QUAL
  15881. PRS$ SET 0 SELECT COMMON DECK PRESET CODE
  15882. QUAL *
  15883. LIST X
  15884. *CALL COMPAPI
  15885. LIST *
  15886. SPACE 4,10
  15887. ** BUFFER DEFINITIONS.
  15888.  
  15889.  
  15890. TSAB EQU .OVL SAB BLOCK
  15891. TSABL EQU SABML*5 BLOCK LENGTH
  15892.  
  15893. TEAB EQU TSAB+TSABL *EABL* BLOCK
  15894. TEABL EQU 5*MFEI+5 BLOCK LENGTH
  15895.  
  15896. ERRPL TEAB+TEABL-MBUF BUFFER OVERLAP
  15897. SPACE 4,10
  15898. RSTC RESTORE I/O INSTRUCTIONS
  15899. TTL SET/IPR - PROCESS INSTALLATION PARAMETERS.
  15900. TITLE
  15901. IDENT IPR,OVL
  15902. QUAL IPR
  15903. ORG OVL
  15904. *COMMENT SET - INSTALLATION PARAMETERS.
  15905. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  15906. MACROS SPACE 4,10
  15907. ** MACRO DEFINITIONS.
  15908. TBLM SPACE 4,10
  15909. ** TBLM = GENERATE TABLE OF MASS STORAGE DEVICE TYPES.
  15910. *
  15911. * TBLM EQ
  15912. * EQ = MASS STORAGE EQUIPMENT MNEMONIC.
  15913.  
  15914.  
  15915. TBLM MACRO EQ
  15916. CON 2R_EQ
  15917. ENDM
  15918. SPACE 4,10
  15919. ** ENTRY POINTS.
  15920.  
  15921.  
  15922. CON TSYN-1 ADDRESS OF SYNTAX TABLE
  15923. CON TSYNA ADDRESS OF END OF SYNTAX TABLE
  15924. SPACE 4,10
  15925. * INITIALIZE SUBSYSTEM STATUS VALUES IN *SSSL* TO *DISABLED*.
  15926.  
  15927. SSSL.0 SET -0
  15928. SSSL.1 SET -0
  15929. SSSL.2 SET -0
  15930. SSSL.3 SET -0
  15931. SSSL.4 SET -0
  15932. SPACE 4,10
  15933. * COMMON DECKS.
  15934.  
  15935.  
  15936. *CALL COMSMLS
  15937. SUB$ EQU 1 ASSEMBLE *SUBSYST* MACRO
  15938. *CALL COMSSSD
  15939. IPR SPACE 4
  15940. ** IPR - PROCESS INSTALLATION PARAMETERS.
  15941.  
  15942.  
  15943. IPR SUBR ENTRY/EXIT
  15944. RJM PMP PROCESS MICROCODE/EI PARAMTERS
  15945. RJM ESS COPY SUBSYSTEM TABLE TO CMR
  15946. LDN IPPL STORE INSTALLATION PAGE PARAMETERS
  15947. CWM .IPPL,ON
  15948. LDN SSML STORE SYSTEM SECURITY MODE
  15949. CWM .SSML,ON
  15950. LDN IPRL STORE INSTALLATION PARAMETERS
  15951. CWM .IPRL,ON
  15952. LDM VEFL STORE *VE=* FLAG
  15953. RAM .SSTL+3
  15954. LDM .SSTL+2 ISOLATE *TRACE* STATUS
  15955. LPN 40
  15956. NJN IPR1 IF TRACE DISABLED
  15957. LDM .SSTL+2 UPDATE *PROBE* STATUS
  15958. LPC 7677
  15959. STM .SSTL+2
  15960. IPR1 LDN SSTL STORE SYSTEM STATUS FLAGS
  15961. CWM .SSTL,ON
  15962. LDN SSSL STORE SUBSYSTEM STATUS FLAGS
  15963. CWM .SSSL,ON
  15964. LDN MSCL STORE MONITOR SCAN VALUES
  15965. CWM .MSCL,ON
  15966. LDN JSCL STORE JOB SCHEDULER CONTROL
  15967. CWM .JSCL,ON
  15968. ADK INWL-JSCL-1 STORE SCHEDULER INTERLOCK
  15969. CWM .INWL,ON
  15970. ADK PFNL-INWL-1 STORE PERMANENT FILE PARAMETERS
  15971. CWM .PFNL,ON
  15972. UJP IPRX RETURN
  15973. TSYN SPACE 4
  15974. ** TSYN - SYNTAX TABLE.
  15975.  
  15976.  
  15977. TSYN BSS 0
  15978. CON DIS
  15979. CON ENA
  15980.  
  15981. CON CLA
  15982. CON CML
  15983. CON CPM
  15984. CON CPTT
  15985. CON CSM
  15986. CON DEBUG
  15987. CON DELAY
  15988. CON DFPT
  15989. CON DSD
  15990. CON EIN
  15991. CON KEYPM
  15992. CON MICRO
  15993. CON UNL+1 LOCK
  15994. CON NIF
  15995. CON OQS
  15996. CON PCL
  15997. CON QUEUE
  15998. CON SCU
  15999. CON SSC
  16000. CON SERVICE
  16001. CON SPC
  16002. CON SPD
  16003. CON SPL
  16004. CON SPW
  16005. CON SSR
  16006. CON TCVM
  16007. CON TDEN
  16008. CON TDTY
  16009. CON UNL UNLOCK
  16010. CON VEB
  16011.  
  16012. TSYNA CON 0
  16013. CON 0 END OF TABLE
  16014. TCOM SPACE 4,10
  16015. ** TCOM - TABLE OF ENABLE/DISABLE COMMANDS.
  16016.  
  16017.  
  16018. TCOM BSS 0
  16019. DUP MXSI-LSSI,1
  16020. CON NOP
  16021. ORG TCOM
  16022. TCOM INDEX
  16023. LIST D
  16024. .SUB HERE
  16025. LIST *
  16026. INDEX MXSI-LSSI
  16027.  
  16028. * ENABLE/DISABLE NON-SUBSYSTEM ATTRIBUTES.
  16029.  
  16030. CON APS
  16031. CON ARS
  16032. CON CPS
  16033. CON DDP
  16034. CON DKV
  16035. CON ENG
  16036. CON ESP
  16037. CON FMP
  16038. CON FOF
  16039. CON HFI
  16040. CON LOG
  16041. CON MCL
  16042. CON MMA
  16043. CON MMS
  16044. CON MSV
  16045. CON PAM
  16046. CON PFV
  16047. CON PRB
  16048. CON PRM
  16049. CON REM
  16050. CON RRM
  16051. CON SCP
  16052. CON SCRSIM
  16053. CON SPI
  16054. CON SUBCP
  16055. CON SUC
  16056. CON SYD
  16057. CON TMS
  16058. CON TPS
  16059. CON TRA
  16060. CON UEC
  16061. CON 0 END OF TABLE
  16062. SPACE 4,10
  16063. **** SYSTEM STATUS AND CONTROL WORDS.
  16064.  
  16065.  
  16066. .IPPL BSS 0 INSTALLATION PAGE PARAMETER WORD
  16067. VFD 12//BIO/PL6L LINES CHARGED PER PRINT PAGE AT 6 LPI
  16068. VFD 12//BIO/PL8L LINES CHARGED PER PRINT PAGE AT 8 LPI
  16069. VFD 4/0 RESERVED FOR CDC
  16070. VFD 4//BIO/PDSD SYSTEM PRINT DENSITY
  16071. VFD 8//BIO/PSSD SYSTEM PAGE LENGTH
  16072. VFD 8//BIO/PWSD SYSTEM PRINT WIDTH
  16073. VFD 12/0 RESERVED
  16074. SPACE 4,10
  16075. .IPRL BSS 0 INSTALLATION PARAMETER WORD
  16076. VFD 6/0 INDEX FOR CPU 1 MULTIPLIER
  16077. VFD 6/0 INDEX FOR CPU 0 MULTIPLIER
  16078.  
  16079. VFD 12/0 SECONDARY ROLLOUT SECTOR THRESHOLD
  16080.  
  16081. VFD 1/0 KEYPUNCH MODE (O26)
  16082. VFD 10/0 RESERVED
  16083. VFD 1/1 CHARACTER SET (64)
  16084.  
  16085. VFD 12/2 TAPE CONVERSION MODE (ASCII/USASI)
  16086.  
  16087. VFD 6/4 NINE TRACK TAPE DENSITY (1600 CPI)
  16088. VFD 2/2 DEFAULT TAPE DEVICE TYPE (9 TRACK)
  16089. VFD 4/3 SEVEN TRACK TAPE DENSITY (800 BPI)
  16090.  
  16091.  
  16092.  
  16093.  
  16094. .SSTL BSS 0 SYSTEM STATUS WORD
  16095. VFD 1/0 AUTORESTART (ENABLED)
  16096. VFD 1/1 MEMORY CLEARING (DISABLED)
  16097. VFD 1/0 SECURITY LOCK STATUS (LOCKED)
  16098. VFD 1/0 CONSOLE LOCK STATUS (LOCKED)
  16099. VFD 1/1 MASTER MSS (DISABLED)
  16100. VFD 1/1 CARTRIDGE PF STAGING (DISABLED)
  16101. VFD 1/1 USER EXTENDED MEMORY (DISABLED)
  16102. VFD 1/1 PF VALIDATION (DISABLED)
  16103. VFD 2/3 MS VALIDATION (DISABLED)
  16104. VFD 1/1 MSE MASTER MODE (DISABLED)
  16105. VFD 1/1 SPINDOWN (DISABLED)
  16106.  
  16107. VFD 1/0 RESERVED
  16108. VFD 1/0 FORCED FORMATTING (ENABLED)
  16109. VFD 1/1 ACS TAPE PF STAGING (DISABLED)
  16110. VFD 1/1 HARDWARE FAULT INJECTION (DISABLED)
  16111. VFD 1/1 TAPE PF STAGING (DISABLED)
  16112. VFD 1/0 REMOVABLE PACKS (ENABLED)
  16113. VFD 1/0 DISK VALIDATION (ENABLED)
  16114. VFD 1/1 SECONDARY USER COMMANDS (DISABLED)
  16115. VFD 1/1 SCP FACILITY (DISABLED)
  16116. VFD 3/0 RESERVED
  16117.  
  16118. VFD 1/1 SUB-CONTROL POINTS (DISABLED)
  16119. VFD 4/0 RESERVED
  16120. VFD 1/1 PROBE (DISABLED)
  16121. VFD 1/1 TRACE (DISABLED)
  16122. VFD 4/0 RESERVED
  16123. VFD 1/1 TMS (DISABLED)
  16124.  
  16125. VFD 1/1 VIRTUAL ENVIRONMENT (DISABLED)
  16126. VFD 1/0 FLEXIBLE MEMORY PARTITIONS (ENABLED)
  16127. VFD 1/1 DDP ROLLOUT PATH (DISABLED)
  16128. VFD 1/1 RESIDENT RDF (DISABLED)
  16129. VFD 1/1 PRIVILEGED RDF (DISABLED)
  16130. VFD 1/1 PRIVILEGED ANALYST MODE (DISABLED)
  16131. VFD 1/1 EXTENDED STACK PURGING (DISABLED)
  16132. VFD 1/1 LOGGING (DISABLED)
  16133. VFD 1/1 C70 SCR SIMULATION (DISABLED)
  16134. VFD 1/1 ENGINEERING MODE (DISABLED)
  16135. VFD 1/1 SYSTEM DEBUG (DISABLED)
  16136. VFD 1/0 DEBUG SWITCH (OFF)
  16137.  
  16138. VFD 12/0 RESERVED
  16139. SSSL SPACE 4,10
  16140. .SSSL BSS 0 SUBSYSTEM STATUS WORD
  16141. CON SSSL.0
  16142. CON SSSL.1
  16143. CON SSSL.2
  16144. CON SSSL.3
  16145. CON SSSL.4
  16146. SPACE 4,10
  16147. .MSCL BSS 0 MONITOR SCAN CONTROL
  16148. VFD 12/0 RECALL DELAY REDUCTION LIMIT
  16149.  
  16150. VFD 12/30 CPU RECALL DELAY
  16151.  
  16152. VFD 12/1000D PP AUTO RECALL DELAY
  16153.  
  16154. VFD 12/0 RESERVED
  16155.  
  16156. VFD 12/0 MEMORY PAD FOR *RSTM*
  16157. SPACE 4,10
  16158. .JSCL BSS 0 JOB SCHEDULER CONTROL
  16159. VFD 1/1 SCHEDULER ACTIVE FLAG
  16160. VFD 11/0 RESERVED
  16161.  
  16162. VFD 12/2 EJT/QFT SCHEDULING INTERVAL
  16163.  
  16164. VFD 12/1 SCHEDULER CYCLE INTERVAL
  16165.  
  16166. VFD 24/0 SCHEDULER RECALL TIME
  16167. ****
  16168. SPACE 4,10
  16169. .SSCT INDEX
  16170. LIST D
  16171. .SUB2 HERE DEFAULT .SSCT TABLE
  16172. LIST *
  16173. INDEX SSCTL*5
  16174. TITLE SUBROUTINES.
  16175. CSB SPACE 4,10
  16176. ** CSB - CHANGE SYSTEM STATUS BIT.
  16177. *
  16178. * ENTRY (A) BITS 0 - 11 = BIT(S) TO CHANGE.
  16179. * BITS 12 - 17 = BYTE NUMBER.
  16180. * (NC) = SYSTEM CONTROL POINT NUMBER.
  16181. * (T3) = 0 IF SYSTEM ATTRIBUTE ENABLED.
  16182. * (ST) = COMMAND TABLE ADDRESS.
  16183. *
  16184. * EXIT TO *KBR*.
  16185. *
  16186. * USES T5 - T7.
  16187.  
  16188.  
  16189. CSB STD T7 SAVE BITS
  16190. SHN -14
  16191. ADC .SSTL SET BYTE ADDRESS
  16192. STD T6
  16193. LDI KA
  16194. ZJN CSB1 IF END OF COMMAND
  16195. SBN 1RZ+1
  16196. MJP AKL6 IF NOT END OF KEYWORD
  16197. CSB1 LDD ST
  16198. SBK TCOM
  16199. PJN CSB3 IF POSSIBLE SUBSYSTEM COMMAND
  16200. CSB2 LJM CSB7 CHANGE SYSTEM STATUS BIT
  16201.  
  16202. CSB3 SBK MXSI-LSSI
  16203. PJN CSB2 IF NOT SUBSYSTEM COMMAND
  16204. STD T5
  16205. LDK .SSSL-.SSTL ADJUST WORD ADDRESS
  16206. RAD T6
  16207. LDM -1,KA
  16208. LMN 1R.
  16209. ZJN CSB7 IF SYNTAX TERMINATION WITH *.*
  16210. LDI KA
  16211. LMN 1R.
  16212. ZJN CSB7 IF NO OPTIONAL PARAMETER
  16213. LMN 1R,&1R.
  16214. NJN CSB4 IF INVALID SEPARATOR
  16215. AOD KA
  16216. LDI KA CHECK CONTROL POINT VALUE
  16217. LMN 1R-
  16218. NJN CSB5 IF NOT RELATIVE TO SYSTEM CONTROL POINT
  16219. AOD KA
  16220. RJM ASD ASSEMBLE RELATIVE NUMBER
  16221. LDD NC
  16222. SBD AB+4 COMPUTE ACTUAL CONTROL POINT
  16223. STD AB+4
  16224. PJN CSB6 IF VALID CONTROL POINT
  16225. CSB4 JMP ILL PROCESS INCORRECT ENTRY
  16226.  
  16227. CSB5 RJM ASD ASSEMBLE CONTROL POINT NUMBER
  16228. CSB6 SBD NC
  16229. PJN CSB4 IF VALUE TOO LARGE
  16230. LDD AB+4 ENTER CP NUMBER IN SUBSYSTEM TABLE
  16231. STM .SSCT+MXSI-LSSI,T5
  16232. CSB7 LCN 0 SET BIT MASK
  16233. LMD T7
  16234. STM CSBA
  16235. LDD T3
  16236. NJN CSB8 IF NOT *ENABLE* COMMAND
  16237. STD T7
  16238. CSB8 LDI T6 SET/CLEAR STATUS BIT
  16239. LPC *
  16240. CSBA EQU *-1
  16241. LMD T7
  16242. STI T6
  16243. JMP KBR RETURN
  16244. PMP SPACE 4,10
  16245. ** PMP - PROCESS MICROCODE/EI PARAMETERS.
  16246. *
  16247. * EXIT SABB BUFFER UPDATED FOR *CSAB* MACRO, IF
  16248. * CYBER 170-815/825/835/855 MAINFRAME.
  16249. * TO *KBR* IF MICROCODE OR EI MISMATCHES.
  16250. *
  16251. * USES KM, T1 - T5.
  16252.  
  16253.  
  16254. PMP SUBR ENTRY/EXIT
  16255. LDM C8XX
  16256. NJN PMPX IF NOT CYBER 800 TYPE MAINFRAME
  16257. PMPA ADN 1
  16258. MJN PMPX IF VALID MICRO AND EI ENTRIES FOUND
  16259. LDC 0
  16260. PMPB EQU *-1 (FLAGS MICRO/EI ENTRIES)
  16261. LMN 1
  16262. STM PMPB
  16263. ZJN PMPX IF MESSAGE TO BE SUPPRESSED
  16264. LDC 0
  16265. PMPD EQU *-1 (FLAGS PRESENCE OF MICRO OR EI ENTRY)
  16266. ZJN PMP1 IF MICRO OR EI ENTRIES ARE NOT SPECIFIED
  16267. LDC PMPC ISSUE MESSAGE
  16268. STD KM
  16269. LDN 0
  16270. STD DS
  16271. LJM ATD3 RETURN
  16272.  
  16273. PMP1 LDN DSSL
  16274. CRD T1
  16275. LDN 10 SET MICROCODE/EI MISMATCH FLAG
  16276. RAD T1+4
  16277. LDN DSSL
  16278. CWD T1
  16279. UJP PMPX RETURN
  16280.  
  16281.  
  16282. PMPC DATA C*MICROCODE/EI MISMATCH - MAY CAUSE SYSTEM HANG.*
  16283. VMN SPACE 4,10
  16284. ** VMN - VERIFY MICROCODE/EI NAMES.
  16285. *
  16286. * ENTRY (A) = 0 IF MICROCODE ENTRY.
  16287. * = 4 IF EI ENTRY.
  16288. * (T4) = NUMBER OF CHARACTERS TO ASSEMBLE.
  16289. *
  16290. * EXIT TO PROCESSOR IF COMPARISON FOUND.
  16291. * TO *ILL* IF INCORRECT ENTRY.
  16292. * TO *KBR* IF NO MATCH FOUND OR NOT CYBER
  16293. * 170-815/825/835/855 MAINFRAME.
  16294. *
  16295. * USES T1, T2, T3, T5, KA, CN - CN+4.
  16296. *
  16297. * CALLS ASN.
  16298.  
  16299.  
  16300. VMN SUBR ENTRY/EXIT
  16301. STD T5
  16302. LDM C8XX
  16303. NJN VMN2 IF NOT CYBER 800 TYPE MAINFRAME
  16304. LDN 6 SET MAXIMUM NUMBER OF ENTRIES PER LINE
  16305. STM PMPD SET MICRO/EI PRESENT FLAG
  16306. STD T3
  16307. LDC MEBF GET MICROCODE/EI NAMES
  16308. STM PMPB
  16309. CRD CN
  16310. SOD KA
  16311. VMN1 SOD T3
  16312. MJN VMN2 IF NO MORE ENTRIES MAY BE CHECKED
  16313. LDI KA
  16314. LMN 1R.
  16315. NJN VMN3 IF NOT TERMINATOR
  16316. VMN2 LDD AM
  16317. NJN VMN4 IF KEYBOARD ASSEMBLY
  16318. JMP KBR PROCESS KEYBOARD
  16319.  
  16320. VMN3 LDD T4
  16321. RJM ASN ASSEMBLE NAME
  16322. ZJN VMN5 IF VALID ENTRY
  16323. VMN4 JMP ILL PROCESS INCORRECT ENTRY
  16324.  
  16325. VMN5 STD T1 SET LOOP INDICES
  16326. LDD T5
  16327. STD T2
  16328. VMN6 LDM CN,T2 COMPARE VALUES
  16329. LMM CM,T1
  16330. NJN VMN1 IF VALUES DO NOT COMPARE
  16331. AOD T2 INCREMENT POINTERS
  16332. AOD T1
  16333. SHN 1
  16334. LMD T4
  16335. SHN -1
  16336. NJN VMN6 IF COMPARISON NOT COMPLETE
  16337. SOM PMPA
  16338. LJM VMNX RETURN
  16339. TITLE SUBROUTINES.
  16340. TJB SPACE 4,10
  16341. ** TJB - TOGGLE JOB SCHEDULER BITS.
  16342. *
  16343. * ENTRY (A) BITS 0 - 11 = BIT(S) TO TOGGLE.
  16344. * BITS 12 - 17 = BYTE NUMBER.
  16345. *
  16346. * EXIT TO *KBR*.
  16347. *
  16348. * USES T2.
  16349.  
  16350.  
  16351. TJB STD T2 SAVE BITS
  16352. SHN -14 SET BYTE
  16353. ADC .INWL
  16354. UJN TSB1 TOGGLE SCHEDULER BITS
  16355. TSB SPACE 4,10
  16356. ** TSB - TOGGLE SYSTEM STATUS BIT.
  16357. *
  16358. * ENTRY (A) BITS 0 - 11 = BIT(S) TO TOGGLE.
  16359. * BITS 12 - 17 = BYTE NUMBER.
  16360. *
  16361. * EXIT TO *KBR*.
  16362. *
  16363. * USES T1, T2.
  16364.  
  16365.  
  16366. TSB STD T2 SAVE BITS
  16367. SHN -14 SET BYTE NUMBER
  16368. ADC .SSTL
  16369. TSB1 STD T1
  16370. LDI T1 TOGGLE STATUS BITS
  16371. LMD T2 ENTER STATUS
  16372. STI T1
  16373. JMP KBR RETURN
  16374. TITLE SYNTAX PROCESSORS.
  16375. ACCOUNT SPACE 4,10
  16376. *** INSTALLATION PARAMETERS.
  16377. *
  16378. * CERTAIN INSTALLATION PARAMETERS REFER TO THE JOB SERVICE
  16379. * CLASS *SC*. *SC* MAY BE REPLACED BY THE FOLLOWING -
  16380. * SC SERVICE CLASS
  16381. *
  16382. * SY SYSTEM
  16383. * BC BATCH
  16384. * RB REMOTE BATCH
  16385. * TS INTERACTIVE
  16386. * DI DETACHED INTERACTIVE
  16387. * SS SUBSYSTEM
  16388. * MA MAINTENANCE
  16389. * CT COMMUNICATION TASK
  16390. * NS NETWORK
  16391. * I0 INSTALLATION CLASS 0
  16392. * I1 INSTALLATION CLASS 1
  16393. * I2 INSTALLATION CLASS 2
  16394. * I3 INSTALLATION CLASS 3
  16395. DISABLE SPACE 4,10
  16396. *** DISABLE,SA.
  16397. *** DISABLE,SA,CP. (SUBSYSTEMS ONLY)
  16398. * SA = SYSTEM ATTRIBUTE OR FUNCTION.
  16399. * CP = CONTROL POINT NUMBER.
  16400.  
  16401.  
  16402. DIS DATA C*DISABLE,*
  16403. DIS1 LDC TCOM-1 SET COMMAND TABLE ADDRESS
  16404. STD ST
  16405. LDD KA SET KEYBOARD BUFFER ADDRESS
  16406. STD KB
  16407. LJM AKL7 RESUME COMMAND CRACKING
  16408. ENABLE SPACE 4,10
  16409. *** ENABLE,SA.
  16410. *** ENABLE,SA,CP. (SUBSYSTEMS ONLY)
  16411. * SA = SYSTEM ATTRIBUTE OR FUNCTION.
  16412. * CP = CONTROL POINT NUMBER.
  16413.  
  16414.  
  16415. ENA DATA C*ENABLE,*
  16416. LDN 0 SET *ENABLE* COMMAND PROCESSED
  16417. STD T3
  16418. UJN DIS1 CONTINUE COMMAND CRACKING
  16419. SPACE 4,10
  16420. LIST G
  16421. .SUB1 HERE CODE FOR *ENABLE/DISABLE* SUBSYSTEMS
  16422. LIST *
  16423. APS SPACE 4,10
  16424. *** ACS TAPE PF STAGING.
  16425. * ENABLE/DISABLE STAGING OF PERMANENT FILES FROM ACS TAPE.
  16426. * DEFAULT = ACS TAPE PF STAGING DISABLED.
  16427.  
  16428.  
  16429. APS DATA C*ACS TAPE PF STAGING.*
  16430. LDC 11000
  16431. JMP CSB CHANGE STATUS BIT
  16432. ARS SPACE 4,10
  16433. *** AUTORESTART.
  16434. * ENABLE/DISABLE AUTORESTART.
  16435. * DEFAULT = AUTORESTART ENABLED.
  16436.  
  16437.  
  16438. ARS DATA C*AUTORESTART.*
  16439. LDC 4000
  16440. JMP CSB CHANGE STATUS BIT
  16441. CLA SPACE 4,10
  16442. *** CLASS,OT,C1,C2,...,CN.
  16443. *
  16444. * SET SERVICE CLASS VALIDATION MASK FOR SPECIFIED ORIGIN TYPE.
  16445. *
  16446. * OT ORIGIN TYPE. (BC, EI, IA, RB, TX)
  16447. * CI TWO CHARACTER SERVICE CLASS MNEMONIC.
  16448. * *ALL* OR *NUL* ARE ALSO ACCEPTED.
  16449.  
  16450.  
  16451. CLA DATA C*CLASS,*
  16452. LDM 2,KA
  16453. LMN 1R,
  16454. ZJN CLA2 IF VALID SEPARATOR
  16455. CLA1 JMP ILL PROCESS INCORRECT ENTRY
  16456.  
  16457. CLA2 LDC TJOT+2 SEARCH FOR VALID ORIGIN TYPE
  16458. RJM SPT
  16459. SHN -1
  16460. ADN 1
  16461. STD T4
  16462. LDN 0 READ SCT ENTRY
  16463. SFA JCB
  16464. ADD T4
  16465. CRD CN
  16466. LDM 3,KA CHECK FOR *ALL* OR *NUL*
  16467. SHN 6
  16468. LMM 4,KA
  16469. LMC 2RL.
  16470. NJN CLA3 IF NOT *ALL* OR *NUL*
  16471. LDM 1,KA
  16472. SHN 6
  16473. LMM 2,KA
  16474. LMC 2RNU
  16475. ZJP CLA6 IF *NUL* SELECTED
  16476. LMC 2RAL&2RNU
  16477. ZJP CLA7 IF *ALL* SELECTED
  16478.  
  16479. * PROCESS SERVICE CLASS PARAMETERS.
  16480.  
  16481. CLA3 AOD KA SKIP SEPARATOR
  16482. LDC TJSC
  16483. RJM SPT SEARCH FOR VALID SERVICE CLASS
  16484. STD T2 SAVE SERVICE CLASS VALUE
  16485. LDM TSCM,T2 GET SERVICE CLASS VALIDATION BIT
  16486. ZJP CLA1 IF INCORRECT SERVICE CLASS
  16487. STD T3
  16488. LDN CN+5 DETERMINE BYTE NUMBER TO TOGGLE BIT IN
  16489. STD T1
  16490. CLA4 SOD T1
  16491. LCN 12D
  16492. RAD T2
  16493. PJN CLA4 IF NOT CORRECT BYTE
  16494. LDI T1 TOGGLE VALIDATION BIT
  16495. LMD T3
  16496. STI T1
  16497. LDI KA
  16498. LMN 1R,
  16499. ZJN CLA3 IF NOT END OF ENTRY
  16500. LMN 1R.&1R,
  16501. NJP CLA1 IF NOT VALID TERMINATOR
  16502. CLA5 LDN 0 STORE SCT ENTRY
  16503. SFA JCB
  16504. ADD T4
  16505. CWD CN
  16506. JMP KBR RETURN
  16507.  
  16508. CLA6 STD CN+3
  16509. UJN CLA8 CLEAR ALL MASK BITS
  16510.  
  16511. CLA7 LDK /SCD/A2MK SET ALL MASK BITS
  16512. STD CN+3
  16513. LDK /SCD/A1MK
  16514. CLA8 STD CN+4
  16515. UJN CLA5 STORE SCT ENTRY
  16516. CML SPACE 4,10
  16517. *** COMLIB,XXXXXXX,YYYYYYY.
  16518. * COMLIB,XXXXXXX,YYYYYYY,D.
  16519. * WHERE XXXXXXX = USER NAME AND YYYYYYY = FAMILY.
  16520.  
  16521.  
  16522. CML DATA C*COMLIB,*
  16523. LDD RS
  16524. CMLA ZJN CML0 IF LEVEL ZERO DEADSTART
  16525. * ZJN CML1 (AFTER INITIAL CALL)
  16526. JMP KBR RETURN
  16527.  
  16528. CML0 SFA CLT INITIALIZE *COMPGFP*
  16529. ISTORE CMLA,(ZJN CML1) BYPASS *SFA* CALL
  16530. CML1 SOD KA
  16531. LDN 10 SET CHARACTER COUNT
  16532. RJM AUN ASSEMBLE USER NAME
  16533. NJN CML2 IF MORE THAN 7 CHARACTERS
  16534. LDD CM
  16535. ZJN CML2 IF NO USER NAME
  16536. LDI KA
  16537. LMN 1R,
  16538. ZJN CML3 IF *,*
  16539. CML2 JMP ILL PROCESS INCORRECT ENTRY
  16540.  
  16541. CML3 LDN IPRL SAVE USER NAME
  16542. CWD CM
  16543. CRD AB
  16544. LDN 10 SET CHARACTER COUNT
  16545. RJM ASN ASSEMBLE FAMILY
  16546. NJN CML2 IF MORE THAN 7 CHARACTERS
  16547. LDD CM
  16548. ZJN CML2 IF NO FAMILY
  16549. LDI KA
  16550. LMN 1R.
  16551. ZJN CML4 IF ADDING AN ENTRY
  16552. LMN 1R.&1R,
  16553. NJN CML2 IF INCORRECT ENTRY
  16554. AOD KA
  16555. LDI KA
  16556. LMN 1RD
  16557. NJN CML2 IF INCORRECT ENTRY
  16558. AOD KA GET TERMINATING CHARACTER
  16559. LDI KA
  16560. LMN 1R.
  16561. NJN CML2 IF INCORRECT ENTRY
  16562. LDN 1
  16563. CML4 STD T7 SET ADD/DELETE KEY
  16564. LDN 0
  16565. STD CA
  16566. LDK CLTP FETCH COMMON LIBRARIES TABLE POINTER
  16567. CRD T2
  16568. LDD T4
  16569. NJN CML6 IF TABLE DEFINED
  16570. CML5 LDC CMLB
  16571. JMP ILL1 DISPLAY ERROR MESSAGE
  16572.  
  16573. CML6 SBD T5 SET NUMBER OF ENTRIES IN USE
  16574. SBN 1
  16575. ZJN CML8 IF TABLE EMPTY
  16576. STD CA+1
  16577. CML7 AOD CA READ TABLE ENTRY
  16578. SFA CLT
  16579. CRD CN
  16580. LDD CN
  16581. ZJN CML7 IF EMPTY ENTRY
  16582. LDN AB COMPARE WITH USER NAME
  16583. RJM CPN
  16584. ZJN CML10 IF MATCHING USER NAME
  16585. SOD CA+1
  16586. NJN CML7 IF NOT END OF ASSIGNED ENTRIES
  16587. CML8 LDD T7
  16588. NJN CML11 IF DELETING ENTRY
  16589. SOD T5
  16590. MJN CML5 IF TABLE FULL
  16591. LDD T6 SET ORDINAL OF EMPTY SLOT
  16592. STD CA
  16593. SFA CLT FETCH LINK TO NEXT EMPTY SLOT
  16594. CRD CN
  16595. LDD CN+4 SET NEXT AVAILABLE ORDINAL
  16596. STD T6
  16597. CML9 SFA CLT,CA STORE/CLEAR USER NAME
  16598. CWD AB
  16599. ADN CLTF-CLTU STORE/CLEAR FAMILY NAME
  16600. CWD CM
  16601. LDK CLTP UPDATE POINTER WORD
  16602. CWD T2
  16603. JMP KBR RETURN
  16604.  
  16605. CML10 LDD T7
  16606. NJN CML12 IF DELETING ENTRY
  16607. CML11 JMP ILL PROCESS INCORRECT ENTRY
  16608.  
  16609. CML12 SFA CLT,CA FETCH FAMILY NAME FROM TABLE
  16610. ADN CLTF-CLTU
  16611. CRD CN
  16612. LDN CM COMPARE WITH ENTERED VALUE
  16613. RJM CPN
  16614. NJN CML11 IF NO MATCH
  16615. CRD AB
  16616. CRD CM
  16617. CRD CN
  16618. LDD T6 SET UP EMPTY SLOT LINKAGE
  16619. STD AB+4
  16620. ZJN CML13 IF TABLE FULL
  16621. SBD CA
  16622. MJN CML15 IF ENTRY BEYOND NEXT AVAILABLE
  16623. CML13 LDD CA
  16624. STD T6
  16625. CML14 AOD T5
  16626. LJM CML9 CLEAR TABLE ENTRY/UPDATE POINTER
  16627.  
  16628. CML15 LDD AB+4 SAVE LINK ORDINAL
  16629. STD T1
  16630. SFA CLT PICK UP NEXT LINKED ENTRY
  16631. CRD AB
  16632. LDD AB+4
  16633. ZJN CML18 IF LAST ENTRY
  16634. SBD CA
  16635. MJN CML15 IF DELETE BEYOND CURRENT LINK
  16636. CML18 LDD CA LINK TO NEW FREE ENTRY
  16637. STD CN+4
  16638. SFA CLT,T1
  16639. CWD CN
  16640. LDN 0
  16641. STD CN+4
  16642. UJN CML14 UPDATE FREE COUNT
  16643.  
  16644.  
  16645. CMLB DATA C*ENTRY IGNORED--TABLE FULL.*
  16646. CPM SPACE 4,10
  16647. *** CPM,N=X,N=X.
  16648. *
  16649. * USE XX AS INDEX TO DETERMINE CP TIME MULTIPLIER
  16650. * FOR CPU N.
  16651. *
  16652. * N CPU (0 OR 1)
  16653. * X TABLE INDEX (1 - 45)
  16654.  
  16655.  
  16656. CPM DATA C*CPM,*
  16657. SOD KA
  16658. CPM1 AOD KA
  16659. LDC TCPM SEARCH FOR PARAMETER
  16660. RJM SPT
  16661. ZJN CPM2 IF ORDINAL ZERO
  16662. LDC SHNI+6
  16663. STM CPMB
  16664. ADN 6
  16665. UJN CPM3
  16666.  
  16667. CPM2 LDC SHNI
  16668. STM CPMB
  16669. CPM3 STM CPMA
  16670. RJM AOD ASSEMBLE CHARACTERS OF PARAMETER VALUE
  16671. ZJN CPM4 IF ZERO VALUE
  16672. SBN TIPRL
  16673. MJN CPM5 IF VALID INDEX VALUE
  16674. CPM4 JMP ILL PROCESS INCORRECT ENTRY
  16675.  
  16676. CPM5 LDM .IPRL
  16677. CPMA SHN 0
  16678. * SHN 14 IF UPPER HALF OF BYTE (CPU 1)
  16679. SCN 77
  16680. LMD AB+4 INSERT INDEX VALUE
  16681. CPMB SHN 0
  16682. * SHN 6 IF UPPER HALF OF BYTE (CPU 1)
  16683. STM .IPRL
  16684. LDI KA CHECK FOR END OF COMMAND
  16685. LMN 1R,
  16686. NJN CPM6 IF NO MORE ENTRIES
  16687. LJM CPM1
  16688.  
  16689. CPM6 JMP KBR RETURN
  16690. CPS SPACE 4,10
  16691. *** CARTRIDGE PF STAGING.
  16692. * ENABLE/DISABLE STAGING OF *MSS*/*MSE* RESIDENT FILES.
  16693. * DEFAULT = CARTRIGE PF STAGING DISABLED.
  16694.  
  16695.  
  16696. CPS DATA C*CARTRIDGE PF STAGING.*
  16697. LDC 100
  16698. JMP CSB CHANGE STATUS BIT
  16699. CPTT SPACE 4,10
  16700. ** CPTT=NNNN.
  16701. * SET CPU TRANSFER THRESHOLD FOR INDIRECT ACCESS FILES.
  16702.  
  16703.  
  16704. CPTT DATA C*CPTT=*
  16705. RJM AOD ASSEMBLE DIGITS
  16706. LDD AB+3
  16707. NJN CPT1 IF VALUE TOO LARGE
  16708. LDD AB+4
  16709. STM .PFNL+4
  16710. JMP KBR RETURN
  16711.  
  16712. CPT1 JMP ILL PROCESS INCORRECT ENTRY
  16713. CSM SPACE 4,15
  16714. ** CSM=CC.
  16715. * SET SYSTEM CHARACTER SET MODE ACCORDING TO *CC*.
  16716. * CC CHARACTER SET.
  16717. *
  16718. * 63 63 CHARACTER SET.
  16719. * 64 64 CHARACTER SET.
  16720. * DEFAULT = 64 CHARACTER SET.
  16721.  
  16722.  
  16723. CSM DATA C*CSM=*
  16724. LDC TCSM
  16725. RJM SPT
  16726. STD T2
  16727. LDM .IPRL+2
  16728. SCN 1
  16729. LMD T2 NEW CHARACTER SET SETTING
  16730. STM .IPRL+2
  16731. JMP KBR RETURN
  16732. DDP SPACE 4,10
  16733. *** DDP ROLLOUT PATH.
  16734. * ENABLE/DISABLE DDP ROLLOUT PATH.
  16735. * DEFAULT = DDP ROLLOUT PATH DISABLED.
  16736.  
  16737.  
  16738. DDP DATA C*DDP ROLLOUT PATH.*
  16739. LDC 31000
  16740. JMP CSB CHANGE STATUS BIT
  16741. DEBUG SPACE 4
  16742. *** DEBUG.
  16743. * TOGGLE DEBUG SWITCH.
  16744. * DEFAULT = DEBUG SWITCH OFF.
  16745. * THIS ENTRY IS IGNORED ON A SECURE SYSTEM.
  16746.  
  16747.  
  16748. DEBUG DATA C*DEBUG.*
  16749. LDM .SSML
  16750. LPN 7
  16751. ZJN DEB1 IF NOT SECURE SYSTEM
  16752. JMP KBR RETURN
  16753.  
  16754. DEB1 LDC 30001 TOGGLE DEBUG BIT
  16755. JMP TSB TOGGLE SYSTEM STATUS BIT
  16756. DELAY SPACE 4,10
  16757. *** DELAY,T1XXX,T2XXX,...TNXXX.
  16758. * SET SCAN VALUE *TN* = XXX.
  16759. * TN DELAY
  16760. *
  16761. * JQ EJT/QFT SCHEDULING INTERVAL (2**JQ SECONDS)
  16762. * JS JOB SCHEDULER (SECONDS)
  16763. * RL RECALL DELAY REDUCTION LIMIT (MILLISECONDS)
  16764. * CR CPU PROGRAM RECALL (MILLISECONDS)
  16765. * AR PP AUTO RECALL (MILLISECONDS)
  16766. * MP MEMORY PAD FOR *RSTM* (100B WORD BLOCKS).
  16767.  
  16768.  
  16769. DELAY DATA C*DELAY,*
  16770. SOD KA
  16771. DLY1 AOD KA SKIP SEPARATOR
  16772. LDC TDLP
  16773. RJM SPT SEARCH DELAY PARAMETERS
  16774. STD T4
  16775. LDM TDLY,T4 SET CONTROL WORD ADDRESS
  16776. STD T6
  16777. RJM AOD CONVERT DELAY TIME
  16778. LJM DLYA,T4 CHECK FOR VALID DELAY TIME
  16779.  
  16780. DLYA UJN DLY4 JQXX
  16781. UJN DLY2 JSXXXX
  16782. UJN DLY7 RLXX
  16783. UJN DLY2 CRXXXX
  16784. UJN DLY2 ARXXXX
  16785. UJN DLY6 MPXXX
  16786.  
  16787. DLY2 ZJN DLY5 IF INVALID DELAY TIME
  16788. DLY3 LDD AB+4
  16789. STI T6
  16790. LDI KA CHECK SEPARATOR
  16791. LMN 1R.
  16792. NJN DLY1 IF NOT *.*
  16793. JMP KBR
  16794.  
  16795. DLY4 SBN 14+1
  16796. MJN DLY3 IF VALID SCHEDULING INTERVAL
  16797. DLY5 JMP ILL PROCESS INCORRECT ENTRY
  16798.  
  16799. DLY6 SHN -3 VERIFY MEMORY PAD .LE. 777B
  16800. DLY7 SHN -6
  16801. ZJN DLY3 IF VALID RECALL REDUCTION
  16802. JMP ILL PROCESS INCORRECT ENTRY
  16803. TDLY SPACE 4
  16804. ** TDLY - TABLE OF DELAY ENTRY ADDRESSES.
  16805. * ENTRY = 1 WORD.
  16806. * INDEXED BY INDEX OF *TDLP*.
  16807. *
  16808. *T, 12/ ADDR
  16809. * ADDR BYTE ADDRESS IN CONTROL WORD
  16810.  
  16811.  
  16812. TDLY BSS 0
  16813. CON .JSCL+1 *JQ*
  16814. CON .JSCL+2 *JS*
  16815. CON .MSCL *RL*
  16816. CON .MSCL+1 *CR*
  16817. CON .MSCL+2 *AR*
  16818. CON .MSCL+4 *MP*
  16819. DFPT SPACE 4,10
  16820. *** DFPT=DTN.
  16821. * ENTER SYSTEM DEFAULT REMOVABLE PACK TYPE IN *PFNL*.
  16822. * DT = DEVICE TYPE.
  16823. * N = NUMBER OF SPINDLES.
  16824.  
  16825.  
  16826. DFPT DATA C*DFPT=*
  16827. LDC TMDT CHECK DEVICE TYPE
  16828. RJM SPT SEARCH PARAMETER TABLE
  16829. LDI KA GET NUMBER OF SPINDLES
  16830. SBN 1R1
  16831. MJN DFP1 IF NOT DIGIT (1-8)
  16832. SBN 1R9-1R1
  16833. PJN DFP1 IF NOT DIGIT (1-8)
  16834. LDM 1,KA
  16835. LMN 1R.
  16836. ZJN DFP2 IF PROPER TERMINATOR
  16837. DFP1 JMP ILL PROCESS INCORRECT ENTRY
  16838.  
  16839. DFP2 LDD T1 SET DEFAULT PACK TYPE
  16840. STM .PFNL
  16841. LDI KA
  16842. SHN 6
  16843. STD T1
  16844. LDM .PFNL+1
  16845. LPN 77
  16846. LMD T1
  16847. STM .PFNL+1
  16848. JMP KBR RETURN
  16849. DKV SPACE 4,10
  16850. *** DISK VALIDATION.
  16851. * ENABLE/DISABLE DISK VALIDATION.
  16852. * DEFAULT = DISK VALIDATION ENABLED.
  16853.  
  16854.  
  16855. DKV DATA C*DISK VALIDATION.*
  16856. LDC 10040
  16857. JMP CSB CHANGE STATUS BIT
  16858. DSD SPACE 4,15
  16859. *** DSD,X,CCC-CCC
  16860. * ENTER CCC-CCC AS INITIAL KEYBOARD COMMAND IF RECOVERY
  16861. * X IS SELECTED.
  16862. * NOTE: LEVEL 3 RECOVERY PROCESSING IS NOT ALLOWED.
  16863. *
  16864. * MULTIPLE COMMANDS ARE SEPARATED BY EITHER THE CHARACTER FOR
  16865. * DISPLAY CODE 60 (#) OR DISPLAY CODE 63 (%). THESE DELIMITER
  16866. * CHARACTERS MAY DISTORT THE *IPRDECK* DISPLAY IF THEY APPEAR
  16867. * AS THE UPPER SIX BITS IN A BYTE.
  16868.  
  16869.  
  16870. DSD DATA C*DSD,*
  16871. RJM CDR ASSEMBLE DIGITS.
  16872. LMN 1R,
  16873. ZJN DSD1 IF *,*
  16874. DSD0 JMP ILL PROCESS INCORRECT ENTRY
  16875.  
  16876. DSD1 LDD AB+4 CHECK RECOVERY
  16877. LMN 3
  16878. ZJN DSD0 IF LEVEL 3 RECOVERY PROCESSING REQUESTED
  16879. LMN 3
  16880. LMD RM
  16881. NJN DSD4 IF INCORRECT MODE
  16882. AOD KA
  16883. LDN PPCP READ PP COMMUNICATION POINTER
  16884. CRD CM
  16885. LDD CM+4 SET WORD ADDRESS
  16886. ADN 10+2
  16887. STD T1
  16888. DSD2 LDN CM SET BYTE ADDRESS
  16889. STD T2
  16890. DSD3 LDI KA ASSEMBLE BYTE
  16891. SHN 6
  16892. LMM 1,KA
  16893. STI T2
  16894. LDN 2
  16895. RAD KA
  16896. AOD T2
  16897. LMN CM+5
  16898. NJN DSD3 LOOP TO END OF WORD
  16899. LDD T1 STORE WORD
  16900. CWD CM
  16901. LDD CM+4
  16902. ZJN DSD4 IF END OF COMMAND
  16903. AOD T1 ADVANCE WORD
  16904. LPN 7
  16905. NJN DSD2 LOOP
  16906. DSD4 JMP KBR RETURN
  16907. EIN SPACE 4,10
  16908. *** EI=NN,NN,...,NN.
  16909. * ENTER NN AS EI REVISION LEVEL.
  16910.  
  16911.  
  16912. EIN DATA C*EI=*
  16913. EINA LDN 3 SET NUMBER OF CHARACTERS TO ASSEMBLE
  16914. * UJN EIN1 (MATCH ALREADY FOUND)
  16915. STD T4
  16916. LDN 4 SET EI PROCESSOR FLAG
  16917. RJM VMN VERIFY EI NAME
  16918. LDC *
  16919. ORG *-1
  16920. LOC EINA
  16921. UJN EIN1 DISABLE PROCESSING
  16922. LOC *O
  16923. STM EINA
  16924. EIN1 JMP KBR RETURN
  16925. SPACE 4,5
  16926. *** ENGR.
  16927. * TOGGLE ENGINEERING SWITCH.
  16928. * DEFAULT = ENGINEERING SWITCH OFF.
  16929. * THIS ENTRY IS IGNORED ON A SECURE SYSTEM.
  16930.  
  16931.  
  16932. ENG DATA C*ENGR.*
  16933. LDM .SSML
  16934. LPN 7
  16935. ZJN ENG1 IF NOT SECURE SYSTEM
  16936. JMP KBR RETURN
  16937.  
  16938. ENG1 LDC 30004
  16939. JMP CSB CHANGE STATUS BIT
  16940. ESP SPACE 4,10
  16941. *** EXTENDED STACK PURGING.
  16942. * ENABLE/DISABLE EXTENDED STACK PURGING.
  16943. * DEFAULT = STACK PURGING DISABLED.
  16944.  
  16945.  
  16946. ESP DATA C*EXTENDED STACK PURGING.*
  16947. LDC 30040
  16948. JMP CSB CHANGE STATUS BIT
  16949. FMP SPACE 4,10
  16950. *** FLEXIBLE PARTITIONS.
  16951. * ENABLE/DISABLE FLEXIBLE MEMORY PARTITIONS.
  16952. * DEFAULT = FLEXIBLE PARTITIONS ENABLED.
  16953.  
  16954.  
  16955. FMP DATA C*FLEXIBLE PARTITIONS.*
  16956. LDC 32000
  16957. JMP CSB CHANGE STATUS BIT
  16958. FOF SPACE 4,10
  16959. *** FORCED FORMATTING.
  16960. * ENABLE/DISABLE FORCED FORMATTING FOR 583X DISKS.
  16961. * DEFAULT = FORCED FORMATTING DISABLED.
  16962.  
  16963.  
  16964. FOF DATA C*FORCED FORMATTING.*
  16965. LDC 12000
  16966. JMP CSB CHANGE STATUS BIT
  16967. HFI SPACE 4,10
  16968. *** HARDWARE FAULT INJECTION.
  16969. * ENABLE/DISABLE HARDWARE FAULT INJECTION.
  16970. * DEFAULT = HARDWARE FAULT INJECTION DISABLED.
  16971.  
  16972.  
  16973. HFI DATA C*HARDWARE FAULT INJECTION.*
  16974. LDK MABL CHECK MAINFRAME TYPE
  16975. CRD CM
  16976. LDD CM+1
  16977. SHN 21-13
  16978. MJN HFI1 IF NOT CME MAINFRAME
  16979. SHN 21-6-21+13
  16980. PJN HFI1 IF 865/875
  16981. LDC 10400
  16982. JMP CSB CHANGE STATUS BIT
  16983.  
  16984. HFI1 JMP ILL PROCESS INCORRECT ENTRY
  16985. KEYPM SPACE 4,10
  16986. ** KEYPM=CC.
  16987. * SET ASSUMED KEYPUNCH COMVERSION MODE ACCORDING TO CC.
  16988. * CC KEYPUNCH CONVERSION MODE.
  16989. *
  16990. * 26 O26 CONVERSION MODE.
  16991. * 29 O29 CONVERSION MODE.
  16992.  
  16993.  
  16994. KEYPM DATA C*KEYPM=*
  16995. LDC TKCM
  16996. RJM SPT SEARCH PARAMETER TABLE
  16997. SHN 13 SET BIT INDICATING DEFAULT KEYPUNCH MODE
  16998. STD T2
  16999. LDM .IPRL+2
  17000. LPC 3777
  17001. LMD T2
  17002. STM .IPRL+2
  17003. JMP KBR RETURN
  17004. LOCK SPACE 4
  17005. *** LOCK.
  17006. * TOGGLE CONSOLE LOCK STATUS.
  17007. * DEFAULT = CONSOLE UNLOCKED.
  17008.  
  17009.  
  17010. *LCK EQU UNL+1
  17011. LOG SPACE 4,10
  17012. *** LOGGING.
  17013. * ENABLE/DISABLE LOGGING OF UNNECESSARY DAYFILE MESSAGES.
  17014. * DEFAULT = LOGGING DISABLED.
  17015.  
  17016.  
  17017. LOG DATA C*LOGGING.*
  17018. LDC 30020
  17019. JMP CSB CHANGE STATUS BIT
  17020. MCL SPACE 4,10
  17021. *** MEMORY CLEARING.
  17022. * ENABLE/DISABLE THE CLEARING OF CENTRAL AND EXTENDED
  17023. * MEMORY WHEN RELEASED.
  17024. * DEFAULT = MEMORY CLEARING DISABLED.
  17025.  
  17026.  
  17027. MCL DATA C*MEMORY CLEARING.*
  17028. LDC 2000
  17029. JMP CSB CHANGE STATUS BIT
  17030. MICRO SPACE 4,10
  17031. *** MICRO=NNNNNNN,NNNNNNN,...,NNNNNNN.
  17032. * ENTER SEVEN CHARACTER MICROCODE NAME.
  17033.  
  17034.  
  17035. MICRO DATA C*MICRO=*
  17036. MICA LDN 10 SET NUMBER OF CHARACTERS TO ASSEMBLE
  17037. * UJN MIC1 (MATCH ALREADY FOUND)
  17038. STD T4
  17039. LDN 0 SET MICROCODE PROCESSOR FLAG
  17040. RJM VMN VERIFY MICROCODE NAME
  17041. LDC *
  17042. ORG *-1
  17043. LOC MICA
  17044. UJN MIC1 DISABLE PROCESSING
  17045. LOC *O
  17046. STM MICA
  17047. MIC1 JMP KBR RETURN
  17048. MMA SPACE 4,10
  17049. *** MASTER MSE.
  17050. * ENABLE/DISABLE MSE EXECUTIVE MASTER MODE INITIATION.
  17051. * DEFAULT = MASTER MODE DISABLED.
  17052.  
  17053.  
  17054. MMA DATA C*MASTER MSE.*
  17055. LDN 2
  17056. JMP CSB CHANGE STATUS BIT
  17057. MMS SPACE 4,10
  17058. *** MASTER MSS.
  17059. * ENABLE/DISABLE MSS EXECUTIVE MASTER MODE.
  17060. * DEFAULT = MASTER MODE DISABLED.
  17061.  
  17062.  
  17063. MMS DATA C*MASTER MSS.*
  17064. LDC 200
  17065. JMP CSB CHANGE STATUS BIT
  17066. MSV SPACE 4,5
  17067. *** MS VALIDATION.
  17068. * TOGGLE MASS STORAGE VALIDATION.
  17069. * DEFAULT = MS VALIDATION DISABLED.
  17070.  
  17071.  
  17072. MSV DATA C*MS VALIDATION.*
  17073. LDN 14
  17074. JMP CSB CHANGE STATUS BIT
  17075. NIF SPACE 4,10
  17076. *** NAMIAF=NC.
  17077. * SET THE NUMBER OF NETWORK TERMINALS.
  17078. *
  17079. * NC THE NUMBER OF NETWORK TERMINALS (1-512).
  17080. *
  17081. * THE VALUE OF NC IS STORED INTO BYTE 4 OF WORD *EQDE*
  17082. * OF THE DUMMY TT EST ENTRY.
  17083.  
  17084.  
  17085. NIF DATA C*NAMIAF=*
  17086. LDN TTEQ
  17087. SFA EST READ EQUIPMENT ENTRY
  17088. ADK EQDE
  17089. CRD CM
  17090. LDI KA
  17091. LMN 1R.
  17092. ZJN NIF3 IF DEFAULT *NC*
  17093. RJM ASD ASSEMBLE NUMBER OF NETWORK TERMINALS
  17094. NJN NIF2 IF .NE. 0
  17095. NIF1 JMP ILL PROCESS INCORRECT ENTRY
  17096.  
  17097. NIF2 STD CM+4 NUMBER OF NETWORK TERMINALS
  17098. SBN 1
  17099. SHN -11
  17100. NJN NIF1 IF INCORRECT NUMBER OF TERMINALS
  17101. LDN TTEQ UPDATE EQUIPMENT ENTRY
  17102. SFA EST
  17103. ADK EQDE
  17104. CWD CM
  17105. NIF3 JMP KBR RETURN
  17106. NOP SPACE 4,10
  17107. *** NOP - NULL SUBSYSTEM ENTRY.
  17108.  
  17109. NOP DATA C*NOP.*
  17110. JMP KBR RETURN
  17111. OQS SPACE 4,10
  17112. *** OQSH=NNNNNNN.
  17113. * SELECTS OUTPUT SPECIAL HANDLING LEVEL.
  17114. * NNNNNNN OUTPUT QUEUE SPECIAL HANDLING LEVEL.
  17115.  
  17116.  
  17117. OQS DATA C*OQSH=*
  17118. SOD KA ASSEMBLE PARAMETER
  17119. LDN 10
  17120. RJM ASN
  17121. NJN OQS1 IF MORE THAN 7 CHARACTERS
  17122. LDN CM SET POINTER TO PARAMETER
  17123. RJM VAL SEARCH TABLE FOR PARAMETER
  17124. MJN OQS1 IF NO MATCH FOUND
  17125. SHN 6
  17126. STD T3
  17127. LDM .SSML SET SPECIAL HANDLING LEVEL
  17128. LPC 7077
  17129. LMD T3
  17130. STM .SSML
  17131. JMP KBR RETURN
  17132.  
  17133. OQS1 JMP ILL PROCESS INCORRECT ENTRY
  17134. PAM SPACE 4,10
  17135. *** PRIVILEGED ANALYST MODE.
  17136. * ENABLE/DISABLE PRIVILEGED ANALYST MODE.
  17137. * DEFAULT = PRIVILEGED ANALYST MODE DISABLED.
  17138.  
  17139.  
  17140. PAM DATA C*PRIVILEGED ANALYST MODE.*
  17141. LDM .SSML
  17142. LPN 7
  17143. ZJN PAM1 IF NOT SECURED SYSTEM
  17144. JMP KBR RETURN
  17145.  
  17146. PAM1 LDC 30100
  17147. JMP CSB CHANGE STATUS BIT
  17148. PCL SPACE 4,10
  17149. *** PCLASS,P0,P1,...,P7.
  17150. *
  17151. * SET PRIORITY ORDERED SERVICE CLASSES.
  17152. *
  17153. * EACH PARAMETER SETS THE SERVICE CLASS FOR THE INDICATED
  17154. * PRIORITY LEVEL. THE DEFAULT FOR EACH NULL PARAMETER IS
  17155. * ZERO.
  17156.  
  17157.  
  17158. PCL4 JMP ILL PROCESS INCORRECT ENTRY
  17159.  
  17160. PCL DATA C*PCLASS,*
  17161. LDN 0 INITIALIZE PRIORITY INDEX
  17162. STD T4
  17163. CRM SBUF,TR
  17164. LDI KA
  17165. LMN 1R.
  17166. ZJN PCL3 IF TERMINATOR
  17167. PCL1 LDI KA
  17168. LMN 1R,
  17169. ZJN PCL2 IF NULL PARAMETER
  17170. LDC TJSC
  17171. RJM SPT SEARCH FOR VALID SERVICE CLASS
  17172. STD T2
  17173. LDM TSCM,T2
  17174. ZJN PCL4 IF SERVICE CLASS NOT ALLOWED
  17175. LDD T1 SET SERVICE CLASS INTO SCT
  17176. STM SBUF,T4
  17177. LDI KA
  17178. LMN 1R.
  17179. ZJN PCL3 IF TERMINATOR
  17180. PCL2 AOD KA
  17181. AOD T4 INCREMENT PRIORITY INDEX
  17182. SBN 10
  17183. ZJN PCL3 IF MAXIMUM NUMBER OF PARAMETERS
  17184. LDI KA
  17185. LMN 1R.
  17186. NJN PCL1 IF NOT END OF ENTRY
  17187. PCL3 LDN 2 SET PRIORITY LEVEL SERVICE CLASSES
  17188. STD T1
  17189. LDN 0
  17190. SFA JCB
  17191. ADN PLSC
  17192. CWM SBUF,T1
  17193. JMP KBR RETURN
  17194. PFV SPACE 4,5
  17195. *** PF VALIDATION.
  17196. * TOGGLE PRESERVED FILE VALIDATION.
  17197. * DEFAULT = PF VALIDATION DISABLED.
  17198.  
  17199.  
  17200. PFV DATA C*PF VALIDATION.*
  17201. LDN 20
  17202. JMP CSB CHANGE STATUS BIT
  17203. PRM SPACE 4,10
  17204. *** PRIVILEGED RDF.
  17205. * TOGGLE PRIVILEGED RDF CONTROL.
  17206. * DEFAULT = PRIVILEGED RDF DISABLED.
  17207.  
  17208.  
  17209. PRM DATA C*PRIVILEGED RDF.*
  17210. LDC 30200
  17211. JMP CSB CHANGE STATUS BIT
  17212. PROBE SPACE 4,10
  17213. *** PROBE.
  17214. * TOGGLE DATA PROBE.
  17215. * DEFAULT = DATA PROBE DISABLED.
  17216.  
  17217.  
  17218. PRB DATA C*PROBE.*
  17219. LDC 20100
  17220. JMP CSB CHANGE STATUS BIT
  17221. REM SPACE 4,10
  17222. *** REMOVABLE PACKS.
  17223. * ENABLE/DISABLE MASS STORAGE LABEL CHECKING.
  17224. * DEFAULT = LABEL CHECKING ENABLED.
  17225.  
  17226.  
  17227. REM DATA C*REMOVABLE PACKS.*
  17228. LDC 10100
  17229. JMP CSB CHANGE STATUS BIT
  17230. RRM SPACE 4,10
  17231. *** RESIDENT RDF.
  17232. * TOGGLE RESIDENT RDF CONTROL.
  17233. * DEFAULT = RESIDENT RDF DISABLED.
  17234.  
  17235.  
  17236. RRM DATA C*RESIDENT RDF.*
  17237. LDC 30400
  17238. JMP CSB CHANGE STATUS BIT
  17239. SPACE 4,10
  17240. *** SCP.
  17241. * TOGGLE SCP (SYSTEM CP) FACILITY.
  17242. * DEFAULT = SCP FACILITY DISABLED.
  17243.  
  17244.  
  17245. SCP DATA C*SCP.*
  17246. LDC 10010 TOGGLE SCP FACILITY STATUS
  17247. JMP CSB CHANGE STATUS BIT
  17248. SCRSIM SPACE 4,10
  17249. *** SCRSIM.
  17250. * TOGGLE SELECTION OF SCR SIMULATION USING CYBER 70
  17251. * INTERLOCK REGISTER.
  17252. * DEFAULT = SIMULATION DISABLED.
  17253.  
  17254.  
  17255. SCRSIM DATA C*SCRSIM.*
  17256. LDC 30010 SELECT CYBER 70 SCR SIMULATION
  17257. JMP CSB CHANGE STATUS BIT
  17258. QUEUE SPACE 4,20
  17259. *** QUEUE,SC,QT,INXXXX,LPXXXX,UPXXXX,WFXX.
  17260. * SET QUEUE PARAMETERS *QN* = XXXX, FOR QUEUE *QT* OF
  17261. * JOB SERVICE CLASS *SC*.
  17262. * QT QUEUE
  17263. *
  17264. * IN INPUT
  17265. * EX EXECUTING
  17266. * OT OUTPUT
  17267. *
  17268. *
  17269. * QN PARAMETER
  17270. *
  17271. * IL LOWER BOUND FOR INITIAL TIME SLICE (QT = EX ONLY)
  17272. * LP LOWER BOUND FOR PRIORITY AGEING
  17273. * UP UPPER BOUND FOR PRIORITY AGEING
  17274. * WF WEIGHTING FACTOR FOR PRIORITY (POWER OF 2)
  17275. * IP INITIAL SCHEDULING PRIORITY (QT = EX ONLY)
  17276.  
  17277.  
  17278. QUEUE DATA C*QUEUE,*
  17279. LDM 2,KA CHECK SEPARATORS
  17280. LMN 1R,
  17281. NJN QUE0 IF NOT *,*
  17282. LDM 5,KA
  17283. LMN 1R,
  17284. ZJN QUE1 IF *,* PRESENT
  17285. QUE0 JMP ILL PROCESS INCORRECT ENTRY
  17286.  
  17287. QUE1 LDC TJSC SEARCH FOR SERVICE CLASS
  17288. RJM SPT
  17289. STD T7 SAVE INDEX
  17290. AOD KA
  17291. LDC TQUT SEARCH FOR QUEUE TYPE
  17292. RJM SPT
  17293. STD T6
  17294. SFA JCB,T7 READ CONTROL WORD
  17295. ADD T6
  17296. CRD CM
  17297. STD CA+1 SAVE WORD ADDRESS
  17298. SHN -14
  17299. STD CA
  17300. QUE2 AOD KA SKIP SEPARATOR
  17301. LDC TQPN SEARCH PARAMETER TABLE
  17302. RJM SPT
  17303. ADN CM SET BYTE ADDRESS
  17304. STD T4
  17305. RJM AOD CONVERT DIGITS
  17306. STI T4
  17307. LJM QUEA-CM,T4 CHECK PARAMETER
  17308.  
  17309. QUEA UJN QUE3 ILXXXX
  17310. UJN QUE8 LPXXXX
  17311. UJN QUE8 UPXXXX
  17312. UJN QUE5 WFXX
  17313. UJN QUE3 IPXXXX
  17314.  
  17315. QUE3 LDD T6 CHECK QUEUE TYPE
  17316. LMN TQUTA-TQUT
  17317. ZJN QUE8 IF EXECUTING JOB
  17318. QUE4 JMP ILL PROCESS INCORRECT ENTRY
  17319.  
  17320. QUE5 ZJN QUE4 IF NULL WEIGHTING FACTOR
  17321. SBN MXWF+1
  17322. PJN QUE4 IF WEIGHTING FACTOR TOO LARGE
  17323. LCN 0
  17324. STI T4
  17325. QUE6 AOI T4 ADVANCE SHIFT COUNT
  17326. LDD AB+4
  17327. SHN 21
  17328. STD AB+4
  17329. PJN QUE6 IF BIT NOT SET
  17330. LDD AB+4
  17331. NJN QUE4 IF WEIGHTING FACTOR NOT POWER OF 2
  17332.  
  17333. QUE8 LDI KA CHECK SEPARATOR
  17334. LMN 1R.
  17335. ZJN QUE9 IF END OF ENTRY
  17336. LJM QUE2 LOOP FOR NEXT PARAMETER
  17337.  
  17338. QUE9 LDD CM+1 CHECK AGEING PARAMETERS
  17339. SBD CM+2
  17340. PJN QUE4 IF LOWER BOUND .GE. UPPER BOUND
  17341. LDD CA STORE QUEUE CONTROL
  17342. SHN 14
  17343. LMD CA+1
  17344. CWD CM
  17345. JMP KBR RETURN
  17346. SSC SPACE 4,10
  17347. *** SECCATS=NNNNNNN,NNNNNNN,...,NNNNNNN.
  17348. * DETERMINES THE SECURITY ACCESS CATEGORIES THAT WILL
  17349. * BE ALLOWED IN A SECURE SYSTEM.
  17350. * NNNNNNN CATEGORY NAME.
  17351. * DEFAULT = ALL CATEGORIES ALLOWED.
  17352.  
  17353.  
  17354. *** SECCATS=ALL.
  17355. * SPECIAL CASE OF *SECCATS*.
  17356. * ALLOWS ALL CATEGORIES TO RUN ON A SECURE SYSTEM.
  17357.  
  17358.  
  17359. *** SECCATS=NUL.
  17360. * SPECIAL CASE OF *SECCATS*.
  17361. * CLEARS ALL CATEGORIES PREVIOUSLY ALLOWED
  17362. * ON A SECURE SYSTEM.
  17363.  
  17364.  
  17365. SSC DATA C*SECCATS=*
  17366. SOD KA
  17367. LDN 6 INITIALIZE MAXIMUM PARAMETER COUNT
  17368. STD T5
  17369. LDN 10 ASSEMBLE PARAMETER
  17370. RJM ASN
  17371. NJN SSC4 IF MORE THAN 7 CHARACTERS
  17372. LDD CM+1
  17373. LMI KA
  17374. LMC 2RL.
  17375. NJN SSC5 IF SPECIFIC ACCESS CATEGORY ENTERED
  17376. LDD CM
  17377. LMC 2RNU
  17378. ZJN SSC1 IF *NUL* SPECIFIED
  17379. LMC 2RAL&2RNU
  17380. NJN SSC5 IF NOT *ALL*
  17381. LCN 0 ENABLE ALL ACCESS CATEGORIES
  17382. SSC1 RJM SAC ENABLE/DISABLE ACCESS CATEGORIES
  17383. SSC2 JMP KBR RETURN
  17384.  
  17385. SSC3 SOD T5 DECREMENT PARAMETER COUNT
  17386. ZJN SSC2 IF MAXIMUM NUMBER OF PARAMETERS ENTERED
  17387. LDI KA
  17388. LMN 1R.
  17389. ZJN SSC2 IF END OF PARAMETERS
  17390. LDN 10 ASSEMBLE PARAMETER
  17391. RJM ASN
  17392. ZJN SSC5 IF .LE. 7 CHARACTERS
  17393. SSC4 JMP ILL PROCESS INCORRECT ENTRY
  17394.  
  17395. SSC5 LDN CM FWA OF PARAMETER
  17396. RJM VAC SEARCH TABLE FOR PARAMETER
  17397. MJN SSC4 IF NO MATCH
  17398. STD T3
  17399. LDC .SSML+5 LWA+1 OF CATEGORY BYTE ADDRESS
  17400. STD T1
  17401. SSCA LDN 0
  17402. * UJN SSC6 (FIRST *SECCATS* ENTRY PROCESSED)
  17403. RJM SAC
  17404. LDC 0 BYPASS SUBSEQUENT CALLS TO *SAC*
  17405. ORG *-1
  17406. LOC SSCA
  17407. UJN SSC6 (BYPASS SUBSEQUENT CALLS TO *SAC*)
  17408. LOC *O
  17409. STM SSCA
  17410. SSC6 SOD T1 DECREMENT CATEGORY BYTE ADDRESS
  17411. LCN 14 DECREMENT BIT NUMBER
  17412. RAD T3
  17413. PJN SSC6 IF BIT NOT IN THIS BYTE
  17414. ADC SHNI+14 CALCULATE SHIFT COUNT
  17415. STM SSCB
  17416. LDN 1
  17417. SSCB SHN 0
  17418. STD T0
  17419. LMC -0 CREATE BYTE MASK
  17420. STM SSCC
  17421. LDI T1
  17422. LPC 0 CLEAR OLD ACCESS CATEGORY BIT
  17423. SSCC EQU *-1
  17424. LMD T0 MERGE NEW ACCESS CATEGORY BIT
  17425. STI T1
  17426. LJM SSC3 PROCESS NEXT ACCESS CATEGORY
  17427. SCU SPACE 4,10
  17428. *** SECURES,OT,LA=XXXXXXX,UA=YYYYYYY.
  17429. * SET THE ORIGIN TYPE ACCESS LEVEL LIMITS.
  17430. * OT ORIGIN TYPE, TO SET SERVICE LIMITS.
  17431. * *SY*, TO SET SYSTEM AND ALL OTHER ORIGIN TYPE LIMITS.
  17432. * XXXXXXX LOWER BOUND.
  17433. * YYYYYYY UPPER BOUND.
  17434. * DEFAULT = SYSTEM AND ALL OTHER ORIGIN TYPE LIMITS ARE 0.
  17435.  
  17436.  
  17437. SCU DATA C*SECURES,*
  17438. LDN 3 RESET BOUNDS FLAG
  17439. STD T6
  17440. LDN 2 INITIALIZE PARAMETER COUNT
  17441. STD CA
  17442. LDC TJOT CHECK ORIGIN TYPE
  17443. RJM SPT
  17444. SHN -1
  17445. STD T5
  17446. LDI KA
  17447. LMN 1R,
  17448. NJN SCU2 IF INCORRECT SEPARATOR
  17449. SCU1 AOD KA
  17450. LDC TBDP CHECK PREFIX
  17451. RJM SPT
  17452. STD AB
  17453. LDI KA
  17454. LMN 1R=
  17455. NJN SCU2 IF SEPARATOR NOT AN *=*
  17456. LDN 10
  17457. RJM ASN
  17458. NJN SCU2 IF MORE THAN 7 CHARACTERS
  17459. LDN CM SET POINTER TO PARAMETER
  17460. RJM VAL SEARCH TABLE FOR PARAMETER
  17461. MJN SCU2 IF NO MATCH FOUND
  17462. STM CN,AB
  17463. AOD AB
  17464. LMD T6 UPDATE LOWER/UPPER BOUNDS FLAG
  17465. STD T6
  17466. SOD CA
  17467. NJN SCU1 IF MORE PARAMETERS TO PROCESS
  17468. LDI KA
  17469. LMN 1R.
  17470. ADD T6
  17471. SCU2 NJN SCU3 IF INCORRECT ENTRY
  17472. STD T7
  17473. LDD CN+1
  17474. SBD CN
  17475. MJN SCU3 IF LOWER BOUND .GT. UPPER BOUND
  17476. LDD T5
  17477. LMK SYOT
  17478. ZJN SCU4 IF SYSTEM ORIGIN TYPE
  17479. LDN 0 GET SYSTEM BOUNDS
  17480. SFA JCB
  17481. ADK SYOT
  17482. CRD AB
  17483. LDD AB+1
  17484. LPN 7
  17485. SBD CN+1
  17486. MJN SCU3 IF UPPER BOUND .GT. SYSTEM UPPER BOUND
  17487. LDD AB+1
  17488. SHN -3
  17489. LPN 7
  17490. SBD CN
  17491. MJN SCU5 IF LOWER BOUND .GT. SYSTEM LOWER BOUND
  17492. ZJN SCU5 IF LOWER BOUND .EQ. SYSTEM LOWER BOUND
  17493. SCU3 JMP ILL PROCESS INCORRECT ENTRY
  17494.  
  17495. SCU4 LDN MXOT-1 SET TO FIX ALL ORIGIN TYPE BOUNDS
  17496. STD T7
  17497. SCU5 LDD CN
  17498. SHN 3
  17499. RAD CN+1
  17500. SCU6 LDN 0 GET SERVICE CONTROL TABLE ADDRESS
  17501. SFA JCB
  17502. ADD T5 GET SERVICE CONTROL WORD
  17503. CRD AB
  17504. LDD AB+1 SET BOUND IN WORD
  17505. SCN 77
  17506. LMD CN+1
  17507. STD AB+1
  17508. LDN 0
  17509. SFA JCB
  17510. ADD T5 UPDATE SERVICE CONTROL TABLE WORD
  17511. CWD AB
  17512. AOD T5 ADVANCE TO NEXT ORIGIN TYPE
  17513. SOD T7
  17514. PJN SCU6 IF MORE BOUNDS TO SET (OT = *SY* ONLY)
  17515. JMP KBR RETURN
  17516. SERVICE SPACE 4,25
  17517. *** SERVICE,SC,P1XXXX,P2XXXX,...,PNXXXX.
  17518. * SET SERVICE LIMITS *PN* FOR JOB SERVICE CLASS *SC*.
  17519. * PN SERVICE
  17520. *
  17521. * CT CONTROL POINT TIME SLICE (SECONDS)
  17522. * CM CM TIME SLICE (SECONDS)
  17523. * NJ MAXIMUM NUMBER OF JOBS
  17524. * TD TIME OUT DELAY (SECONDS) FOR SUSPENDED JOBS
  17525. * CP CONTROL POINT TIME SLICE PRIORITY
  17526. * TP BASE PRIORITY FOR ON-LINE INTERACTIVE JOBS
  17527. * FL MAXIMUM FIELD LENGTH/100 OF ANY JOB
  17528. * AM MAXIMUM MEMORY/100 ALLOWED TO ALL JOBS
  17529. * EC MAXIMUM EXTENDED MEMORY/*UEBS* FOR ANY JOB
  17530. * EM MAXIMUM EXTENDED MEMORY/*UEBS* FOR ALL JOBS
  17531. * DT SERVICE CLASS TO ASSIGN ON A DETACH
  17532. * PR CPU PRIORITY
  17533. * IT SYSTEM I/O CPU THRESHOLD
  17534. * SE CPU SLICE EXTENSION
  17535. * RS RECALL CPU SLICE
  17536. * US UNEXTENDED CPU SLICE
  17537. *
  17538. * THE FOLLOWING ARE INDICES INTO TABLES OF LIMIT VALUES
  17539. * DEFINED IN *COMSPFM*.
  17540. *
  17541. * FC NUMBER OF FILES IN CATALOG (1-7)
  17542. * CS CUMULATIVE SIZE FOR INDIRECT ACCESS FILES (1-7)
  17543. * FS INDIVIDUAL SIZE FOR INDIRECT ACCESS FILES (1-7)
  17544. * DS INDIVIDUAL SIZE FOR DIRECT ACCESS FILES (1-7)
  17545.  
  17546.  
  17547. SERVICE DATA C*SERVICE,*
  17548. LDM 2,KA CHECK SEPARATOR
  17549. LMN 1R,
  17550. ZJN SER1
  17551. JMP ILL PROCESS INCORRECT ENTRY
  17552.  
  17553. SER1 LDN CSAT-SVJT SET LENGTH OF JOB CONTROL BLOCK
  17554. STD T7
  17555. LDC TJSC SEARCH FOR SERVICE CLASS
  17556. RJM SPT
  17557. SFA JCB READ JOB CONTROL WORDS
  17558. ADN SVJT
  17559. CRM SBUF,T7
  17560. SBD T7
  17561. STD CA+1 SAVE SERVICE BLOCK ADDRESS
  17562. SHN -14
  17563. STD CA
  17564.  
  17565. * PROCESS NEXT PARAMETER.
  17566.  
  17567. SER2 AOD KA SKIP SEPARATOR
  17568. LDC TSVP SEARCH PARAMETER TABLE
  17569. RJM SPT
  17570. STD T4 SAVE BYTE NUMBER
  17571. SBN TSVPE-TSVP
  17572. ZJN SER3 IF *DT* PARAMETER
  17573. LDM SERD,T4 SET PROCESSOR ADDRESS
  17574. STD T6
  17575. RJM AOD CONVERT DIGITS
  17576. * LDD AB+4
  17577. LJM 0,T6 EXIT TO PROCESSOR
  17578.  
  17579. * PROCESS *DT* PARAMETER.
  17580.  
  17581. SER3 LDC TJSC
  17582. RJM SPT SEARCH FOR VALID SERVICE CLASS
  17583. STD AB+4
  17584. LDM TSCM,AB+4
  17585. SER4 NJN SER7 IF VALID VALUE
  17586. SER5 JMP ILL PROCESS INCORRECT ENTRY
  17587.  
  17588. * PROCESS *AM* PARAMETER.
  17589.  
  17590. SER6 LDD AB+3 ALLOW *AM* UP TO 77777B
  17591. STM SBUF-1,T4
  17592. SCN 7
  17593. UJN SER8 CHECK VALUE RANGE
  17594.  
  17595. * CHECK VALUE RANGE.
  17596.  
  17597. SER7 LDD AB+3
  17598. SER8 ADD AB+2
  17599. ADD AB+1
  17600. ADD AB
  17601. NJN SER5 IF VALUE TOO LARGE
  17602.  
  17603. * STORE VALUE.
  17604.  
  17605. LDD AB+4 STORE VALUE
  17606. STM SBUF,T4
  17607. LDI KA CHECK SEPARATOR
  17608. LMN 1R,
  17609. ZJP SER2 IF MORE PARAMETERS TO PROCESS
  17610. LDD CA
  17611. SHN 14
  17612. LMD CA+1 STORE JOB CONTROL BLOCK
  17613. CWM SBUF,T7
  17614. JMP KBR RETURN
  17615.  
  17616. * PROCESS *PR* PARAMETER.
  17617.  
  17618. SER9 SBN 2
  17619. MJN SER10 IF PRIORITY .LT. 2
  17620. SBN 100-2
  17621. MJN SER7 IF PRIORITY .LE. 77B
  17622. SER10 JMP ILL PROCESS INCORRECT ENTRY
  17623.  
  17624. * PROCESS *RS* PARAMETER.
  17625.  
  17626. SER11 LDM SBUF+CSJT*5-SVJT*5+4 EXISTING *US* VALUE
  17627. SBD AB+4 SPECIFIED *RS* VALUE
  17628. UJN SER13 ENSURE *RS* .LE. *US*
  17629.  
  17630. * PROCESS *US* PARAMETER.
  17631.  
  17632. SER12 SBM SBUF+CSJT*5-SVJT*5+3 EXISTING *RS* VALUE
  17633. SER13 MJN SER10 IF *RS* .GT. *US*
  17634. LDD AB+4
  17635. LJM SER4 ENSURE PARAMETER NONZERO
  17636.  
  17637. * PROCESS INDEX ENTRY.
  17638.  
  17639. SER14 LDD T4 SET FIELD POSITION
  17640. SBN TSVPD-TSVP
  17641. STD T0 MULTIPLY BY 3
  17642. SHN 1
  17643. ADD T0
  17644. LMD TH SET SHIFT INSTRUCTION
  17645. STM SERA
  17646. STM SERB
  17647. LCN 7 SET MASK FIELD
  17648. SERA SHN **
  17649. STM SERC
  17650. LDD AB+4 SET NEW INDEX VALUE
  17651. SBN 10
  17652. PJN SER10 IF INCORRECT INDEX
  17653. ADN 10
  17654. SERB SHN **
  17655. STD T3
  17656. LDN TSVPD-TSVP SET SERVICE BLOCK INDEX
  17657. STD T4
  17658. LDM SBUF,T4 INSERT INDEX VALUE IN EXISTING BYTE
  17659. LPC **
  17660. SERC EQU *-1
  17661. LMD T3
  17662. STD AB+4
  17663. LJM SER7 CHECK VALUE RANGE
  17664.  
  17665.  
  17666. SERD BSS 0 SERVICE COMMAND PROCESSORS
  17667.  
  17668. CON ILL UNUSED
  17669. CON SER7 *CT* PARAMETER
  17670. CON SER7 *CM* PARAMETER
  17671. CON SER7 *NJ* PARAMETER
  17672. CON SER7 *TD* PARAMETER
  17673.  
  17674. CON SER7 *CP* PARAMETER
  17675. CON SER7 *TP* PARAMETER
  17676. CON SER7 *FL* PARAMETER
  17677. CON ILL UNUSED
  17678. CON SER6 *AM* PARAMETER
  17679.  
  17680. CON ILL UNUSED
  17681. CON ILL UNUSED
  17682. CON SER7 *EC* PARAMETER
  17683. CON ILL UNUSED
  17684. CON SER7 *EM* PARAMETER
  17685.  
  17686. CON SER14 *FS* PARAMETER
  17687. CON SER14 *CS* PARAMETER
  17688. CON SER14 *FC* PARAMETER
  17689. CON SER14 *DS* PARAMETER
  17690. CON SER3 *DT* PARAMETER
  17691.  
  17692. CON SER9 *PR* PARAMETER
  17693. CON SER7 *IT* PARAMETER
  17694. CON SER7 *SE* PARAMETER
  17695. CON SER11 *RS* PARAMETER
  17696. CON SER12 *US* PARAMETER
  17697. SPC SPACE 4,10
  17698. *** SPC,N=X,N=X.
  17699. * USE X AS DEFAULT SYSTEM PAGE CHARGE FOR PRINT DENSITY N.
  17700. * N PRINT DENSITY (6 OR 8 LPI).
  17701. * X LINES CHARGED PER PRINT PAGE.
  17702. * DEFAULT 6=64,8=85.
  17703.  
  17704.  
  17705. SPC DATA C*SPC,*
  17706. SOD KA
  17707. SPC1 AOD KA
  17708. LDC TSPC SEARCH PARAMETER TABLE
  17709. RJM SPT
  17710. STD T4 SAVE ORDINAL
  17711. RJM AOD
  17712. SBK /BIO/PSLL
  17713. PJN SPC3 IF .GE. TO LOWER LIMIT
  17714. SPC2 JMP ILL PROCESS INCORRECT ENTRY
  17715.  
  17716. SPC3 SBK /BIO/PSUL+1-/BIO/PSLL
  17717. PJN SPC2 IF .GT. UPPER LIMIT
  17718. LDD AB+4
  17719. STM .IPPL,T4
  17720. LDI KA CHECK NEXT CHARACTER
  17721. LMN 1R,
  17722. ZJN SPC1 IF MORE ENTRIES
  17723. JMP KBR RETURN
  17724. SPD SPACE 4,10
  17725. *** SPD=N.
  17726. * SET SYSTEM DEFAULT PRINT DENSITY.
  17727. * N PRINT DENSITY (6 OR 8 LPI).
  17728. * N PRINT DENSITY (6 OR 8 LPI ).
  17729. * DEFAULT = 6.
  17730.  
  17731.  
  17732. SPD DATA C*SPD*
  17733. LDC TSPD TABLE OF PRINT DENSITIES
  17734. RJM SPT SEARCH FOR PARAMETER
  17735. ADN 3
  17736. SHN 1+4 ORDINAL 0 OR 1 MAKES 6 OR 8 LPI
  17737. STD T1
  17738. LDM .IPPL+2
  17739. LPC 7417
  17740. LMD T1 MERGE *PD*
  17741. STM .IPPL+2
  17742. JMP KBR RETURN
  17743. SPI SPACE 4,10
  17744. *** SPINDOWN.
  17745. * ENABLE/DISABLE SPINDOWN.
  17746. * DEFAULT = SPINDOWN ENABLED.
  17747.  
  17748.  
  17749. SPI DATA C*SPINDOWN.*
  17750. LDN 1
  17751. JMP CSB CHANGE STATUS BIT
  17752. SPL SPACE 4,10
  17753. *** SPL=NNN.
  17754. * SET SYSTEM DEFAULT PAGE LENGTH.
  17755. * NNN LINES PER PAGE.
  17756. * DEFAULT = 60.
  17757.  
  17758.  
  17759. SPL DATA C*SPL=*
  17760. RJM ASD
  17761. SBK /BIO/PSLL
  17762. PJN SPL2 IF .GE. LOWER LIMIT
  17763. SPL1 JMP ILL
  17764.  
  17765. SPL2 SBK /BIO/PSUL+1-/BIO/PSLL
  17766. PJN SPL1 IF .GT. UPPER LIMIT
  17767. LDM .IPPL+3
  17768. LPC 377
  17769. SHN 21-7
  17770. LMD AB+4 MERGE LOWER PORTION OF *SPS*
  17771. SHN 14-4
  17772. STM .IPPL+3
  17773. LDM .IPPL+2
  17774. SCN 17 CLEAR UPPER PORTION OF *SPS*
  17775. SHN 4
  17776. LMD AB+4 MERGE UPPER PORTION OF *SPS*
  17777. SHN 22-4
  17778. STM .IPPL+2
  17779. JMP KBR RETURN
  17780. SPW SPACE 4,10
  17781. *** SPW=NNN.
  17782. * SET SYSTEM DEFAULT PRINT WIDTH.
  17783. * NNN WIDTH OF PRINT OUTPUT.
  17784. * DEFAULT = 136.
  17785.  
  17786. SPW DATA C*SPW=*
  17787. RJM ASD
  17788. SBK /BIO/PWLL
  17789. PJN SPW2 IF .GE. LOWER LIMIT
  17790. SPW1 JMP ILL
  17791.  
  17792. SPW2 SBK /BIO/PWMX+1-/BIO/PWLL
  17793. PJN SPW1 IF .GT. UPPER LIMIT
  17794. LDM .IPPL+3
  17795. LPC 7400
  17796. LMD AB+4
  17797. STM .IPPL+3 STORE *SPW*
  17798. JMP KBR RETURN
  17799. SRST SPACE 4,10
  17800. *** SRST=NNNN.
  17801. * SET SECONDARY ROLLOUT SECTOR THRESHOLD.
  17802. * NNNN SECTOR COUNT SUCH THAT ALL ROLLOUT FILES SMALLER
  17803. * THAN NNNN WILL PICK THEIR ROLLOUT DEVICE FROM THE
  17804. * LIST OF SECONDARY ROLLOUT FILE DEVICES SPECIFIED BY
  17805. * THE CMRDECK COMMAND *MSAL,S= *.
  17806. * DEFAULT NNNN = 0.
  17807.  
  17808.  
  17809. SSR DATA C*SRST=*
  17810. RJM AOD
  17811. STM .IPRL+1
  17812. JMP KBR RETURN
  17813. SUBCP SPACE 4,10
  17814. *** SUBCP.
  17815. * TOGGLE SUB-CONTROL POINT INITIALIZATION.
  17816. * DEFAULT = SUB-CONTROL POINTS DISABLED.
  17817.  
  17818.  
  17819. SUBCP DATA C*SUBCP.*
  17820. LDC 24000
  17821. JMP CSB CHANGE STATUS BIT
  17822. SUC SPACE 4,10
  17823. *** SECONDARY USER COMMANDS.
  17824. * ENABLE/DISABLE SECONDARY USER COMMANDS.
  17825. * DEFAULT = SECONDARY USER COMMANDS DISABLED.
  17826. * THIS ENTRY IS IGNORED ON A SECURE SYSTEM.
  17827.  
  17828.  
  17829. SUC DATA C*SECONDARY USER COMMANDS.*
  17830. LDM .SSML
  17831. LPN 7
  17832. ZJN SUC1 IF NOT SECURE SYSTEM
  17833. JMP KBR RETURN
  17834.  
  17835. SUC1 LDC 10020
  17836. JMP CSB CHANGE STATUS BIT
  17837. SYD SPACE 4,10
  17838. *** SYSTEM DEBUG.
  17839. * ENABLE/DISABLE SYSTEM DEBUG.
  17840. * DEFAULT = SYSTEM DEBUG DISABLED.
  17841.  
  17842.  
  17843. SYD DATA C*SYSTEM DEBUG.*
  17844. LDC 30002
  17845. JMP CSB CHANGE STATUS BIT
  17846. TCVM SPACE 4,10
  17847. *** TCVM=CC.
  17848. * SET ASSUMED TAPE CONVERSION MODE ACCORDING TO CC.
  17849. * CC CONVERSION MODE
  17850. *
  17851. * AS ASCII 9 TRACK CONVERSION
  17852. * US USASI 9 TRACK CONVERSION
  17853. * EB EBCDIC 9 TRACK CONVERSION
  17854.  
  17855.  
  17856. TCVM DATA C*TCVM=*
  17857. LDC TTCV SEARCH PARAMETER TABLE
  17858. RJM SPT
  17859. NJN TCV1 IF CONVERSION NOT *AS*
  17860. ADN 1
  17861. TCV1 ADN 1
  17862. STM .IPRL+3
  17863. JMP KBR RETURN
  17864. TDEN SPACE 4,10
  17865. *** TDEN=CC.
  17866. * SET ASSUMED TAPE DENSITY ACCORDING TO CC.
  17867. * CC DENSITY
  17868. *
  17869. * HI 556
  17870. * LO 200
  17871. * HY 800
  17872. * HD 800 CPI
  17873. * PE 1600 CPI
  17874. * GE 6250 CPI
  17875.  
  17876.  
  17877. TDEN DATA C*TDEN=*
  17878. LDC TTDN SEARCH PARAMETER TABLE
  17879. RJM SPT
  17880. STD T2
  17881. SBN 3
  17882. PJN TDE1 IF NINE TRACK DENSITY
  17883. AOD T2
  17884. LDM .IPRL+4 SET *MT* DENSITY
  17885. SCN 17
  17886. LMD T2
  17887. UJN TDE2
  17888.  
  17889. TDE1 LDM .IPRL+4 SET *NT* DENSITY
  17890. LPN 77
  17891. SHN 14
  17892. LMD T2
  17893. SHN 6
  17894. TDE2 STM .IPRL+4
  17895. JMP KBR RETURN
  17896. TDTY SPACE 4,10
  17897. *** TDTY=CC.
  17898. * SET DEFAULT TAPE DEVICE TYPE ACCORDING TO CC.
  17899. * CC DEFAULT TAPE DEVICE TYPE
  17900. *
  17901. * MT SEVEN TRACK TAPE
  17902. * CT CARTRIDGE TAPE
  17903. * NT NINE TRACK TAPE
  17904. * AT ACS CARTRIDGE TAPE
  17905.  
  17906.  
  17907. TDTY DATA C*TDTY=*
  17908. LDC TTDT SEARCH PARAMETER TABLE
  17909. RJM SPT
  17910. SHN 4 SET TAPE DEVICE TYPE
  17911. STD T2
  17912. LDM .IPRL+4
  17913. SCN 60
  17914. LMD T2
  17915. UJN TDE2 SET DEFAULT TAPE TYPE
  17916. TMS SPACE 4,10
  17917. *** TMS.
  17918. * ENABLE/DISABLE TAPE MANAGEMENT SYSTEM.
  17919. * DEFAULT = TMS DISABLED.
  17920.  
  17921.  
  17922. TMS DATA C*TMS.*
  17923. LDC 20001
  17924. JMP CSB CHANGE STATUS BIT
  17925. TPS SPACE 4,10
  17926. *** TAPE PF STAGING.
  17927. * ENABLE/DISABLE STAGING OF PERMANENT FILES FROM NON-ACS TAPE.
  17928. * DEFAULT = TAPE PF STAGING DISABLED.
  17929.  
  17930.  
  17931. TPS DATA C*TAPE PF STAGING.*
  17932. LDC 10200
  17933. JMP CSB CHANGE STATUS BIT
  17934. TRA SPACE 4,10
  17935. *** TRACE.
  17936. * ENABLE/DISABLE TRACE.
  17937. * DEFAULT = TRACE DISABLED.
  17938.  
  17939.  
  17940. TRA DATA C*TRACE.*
  17941. LDC 20040
  17942. JMP CSB CHANGE STATUS BIT
  17943. UNL SPACE 4,10
  17944. *** UNLOCK.
  17945.  
  17946.  
  17947. UNL DATA C*UNLOCK.*
  17948. LDI T3 CHECK FIRST CHARACTER
  17949. LMN 1RL
  17950. STD T3
  17951. ZJN UNL1 IF *LOCK* COMMAND
  17952. LDM .SSML
  17953. LPN 77
  17954. ZJN UNL1 IF UNSECURED SYSTEM
  17955. LDD TH
  17956. * LDC 400&1400
  17957. UNL1 LMC 1400
  17958. JMP CSB CHANGE STATUS BIT
  17959. UEC SPACE 4,10
  17960. *** USER EXTENDED MEMORY.
  17961. * ENABLE/DISABLE USER EXTENDED MEMORY.
  17962. * DEFAULT = USER EXTENDED MEMORY DISABLED.
  17963.  
  17964.  
  17965. UEC DATA C*USER EXTENDED MEMORY.*
  17966. LDN 40
  17967. JMP CSB CHANGE STATUS BIT
  17968. SPACE 4,10
  17969. *** VEBL=NNNN.
  17970. * SET LIMIT FOR NUMBER OF TIMES THAT *CPUMTR* WILL BYPASS
  17971. * EXCHANGING TO *NOS/VE* WHEN THERE ARE PP EXCHANGES PENDING.
  17972. * NNNN MAXIMUM BYPASSES BEFORE EXCHANGE TO *NOS/VE*.
  17973. * DEFAULT = 0.
  17974. * MAXIMUM = 7777B.
  17975.  
  17976.  
  17977. VEB DATA C*VEBL=*
  17978. LDC VEBL
  17979. CRD CN
  17980. RJM ASD ASSEMBLE BYPASS VALUE
  17981. STD CN+4
  17982. LDC VEBL SET *VEBL* VALUE INTO CMR
  17983. CWD CN
  17984. JMP KBR RETURN
  17985. TITLE PARAMETER TABLES.
  17986. TBDP SPACE 4,10
  17987. ** TBDP - TABLE OF BOUNDS PARAMETERS.
  17988.  
  17989.  
  17990. TBDP BSS 0
  17991. CON 2RLA
  17992. CON 2RUA
  17993. CON 0
  17994. TCPM SPACE 4,7
  17995. ** TCPM - TABLE OF CPUS.
  17996.  
  17997. TCPM BSS 0
  17998. CON 2R0=
  17999. CON 2R1=
  18000. CON 0
  18001. TCSM SPACE 4,10
  18002. ** TCSM - TABLE OF CHARACTER SET MODES.
  18003.  
  18004.  
  18005. TCSM BSS 0
  18006. CON 2R63 63 CHARACTER SET
  18007. CON 2R64 64 CHARACTER SET
  18008. CON 0 TERMINATOR
  18009. TDLP SPACE 4,10
  18010. ** TDLP - TABLE OF DELAY PARAMETERS.
  18011.  
  18012.  
  18013. TDLP BSS 0
  18014. CON 2RJQ EJT/QFT SCHEDULING
  18015. CON 2RJS JOB SCHEDULER
  18016. CON 2RRL RECALL DELAY REDUCTION LIMIT
  18017. CON 2RCR CPU RECALL
  18018. CON 2RAR AUTO RECALL
  18019. CON 2RMP MEMORY PAD
  18020. CON 0
  18021. TMDT SPACE 4,10
  18022. ** TMDT - TABLE OF MASS STORAGE DEVICE TYPES.
  18023.  
  18024.  
  18025. LIST G
  18026.  
  18027. TMDT BSS 0
  18028. TBL "MSEQ"
  18029. CON 0 END OF TABLE
  18030.  
  18031. LIST -G
  18032. PURGMAC TBLM
  18033. TJOT SPACE 4,10
  18034. ** TJOT - TABLE OF JOB ORIGIN TYPES.
  18035.  
  18036.  
  18037. TJOT BSS 0
  18038. CON 2RSY,6060
  18039. CON 2RBC,6060
  18040. CON 2RRB,2REI
  18041. CON 2RIA,2RTX
  18042. CON 0
  18043. TJSC SPACE 4,10
  18044. ** TJSC - TABLE OF JOB SERVICE CLASSES.
  18045.  
  18046.  
  18047. TJSC DATA H+"NMSC"+
  18048. CON 0
  18049. TKCM SPACE 4,10
  18050. ** TKCM - TABLE OF KEYPUNCH CONVERSION MODES.
  18051.  
  18052.  
  18053. TKCM BSS 0
  18054. CON 2R26 O26 KEYPUNCH CONVERSION MODE
  18055. CON 2R29 O29 KEYPUNCH CONVERSION MODE
  18056. CON 0 END OF TABLE
  18057. TLDA SPACE 4,10
  18058. ** TLDA - TABLE OF LID ATTRIBUTE PARAMETERS.
  18059.  
  18060.  
  18061. TLDA BSS 0
  18062. CON 2R,H HOST SYSTEM
  18063. CON 2R,L LINKED (REMOTE) SYSTEM
  18064. CON 2R,D LID IS DISABLED
  18065. CON 2R,V PRE-VALIDATE USER COMMANDS
  18066. CON 0
  18067. TQPN SPACE 4
  18068. ** TQPN - TABLE OF QUEUE PARAMETERS.
  18069.  
  18070.  
  18071. TQPN BSS 0
  18072. CON 2RIL LOWER BOUND FOR INITIAL TIME SLICE
  18073. CON 2RLP LOWER PRIORITY RANGE
  18074. CON 2RUP UPPER PRIORITY RANGE
  18075. CON 2RWF WEIGHTING FACTOR FOR PRIORITY
  18076. CON 2RIP INITIAL SCHEDULING PRIORITY
  18077. CON 0
  18078. TQUT SPACE 4
  18079. ** TQUT - TABLE OF QUEUE TYPES.
  18080.  
  18081.  
  18082. TQUT BSS 0
  18083. CON 2RIN INPUT QUEUE FILES
  18084. TQUTA CON 2REX EXECUTING JOBS
  18085. CON 2ROT OUTPUT QUEUE FILES
  18086. CON 0
  18087. TSPC SPACE 4,10
  18088. ** TSPC - TABLE OF PRINT DENSITIES.
  18089.  
  18090. TSPC BSS 0
  18091. CON 2R6=
  18092. CON 2R8=
  18093. CON 0
  18094. TSPD SPACE 4,10
  18095. ** TSPD - TABLE OF PRINT DENSITIES.
  18096.  
  18097. TSPD BSS 0
  18098. CON 2R=6
  18099. CON 2R=8
  18100. CON 0
  18101. TSCM SPACE 4,10
  18102. ** TSCM - TABLE OF SERVICE CLASS MASK BITS.
  18103. *
  18104. * THIS TABLE IS INDEXED BY SERVICE CLASS VALUE.
  18105. *
  18106. * ONLY SERVICE CLASSES DEFINED IN THIS TABLE ARE ALLOWED FOR
  18107. * THE *DT* *SERVICE* PARAMETER AND THE *CLASS* AND *PCLASS*
  18108. * DIRECTIVES.
  18109.  
  18110.  
  18111. TSCM INDEX
  18112. LIST D
  18113. .SCL HERE
  18114. LIST *
  18115. INDEX MXSC
  18116. TSVP SPACE 4
  18117. ** TSVP - TABLE OF SERVICE PARAMETERS.
  18118. * VALUES IN SERVICE CONTROL TABLE ARE ORDER DEPENDENT.
  18119.  
  18120.  
  18121. TSVP BSS 0
  18122. CON 6060
  18123. CON 2RCT CONTROL POINT TIME SLICE
  18124. CON 2RCM CM TIME SLICE
  18125. CON 2RNJ NUMBER OF JOBS
  18126. CON 2RTD TIME OUT DELAY (SUSPENDED JOBS)
  18127.  
  18128. CON 2RCP CONTROL POINT SLICE PRIORITY
  18129. CON 2RTP BASE PRIORITY FOR INTERACTIVE JOBS
  18130. CON 2RFL MAXIMUM FL/JOB
  18131. CON 6060
  18132. CON 2RAM MAXIMUM MEMORY AVAILABLE FOR ALL JOBS
  18133.  
  18134. CON 6060
  18135. CON 6060
  18136. CON 2REC MAXIMUM EXTENDED MEMORY/JOB
  18137. CON 6060
  18138. CON 2REM MAXIMUM EXTENDED MEMORY FOR ALL JOBS
  18139.  
  18140. TSVPD CON 2RFS INDIVIDUAL INDIRECT ACCESS FILE SIZE
  18141. CON 2RCS CUMULATIVE INDIRECT ACCESS FILE SIZE
  18142. CON 2RFC NUMBER OF FILES IN CATALOG
  18143. CON 2RDS INDIVIDUAL DIRECT ACCESS FILE SIZE
  18144. TSVPE CON 2RDT SERVICE CLASS TO ASSIGN ON AN ATTACH
  18145.  
  18146. CON 2RPR CPU PRIORITY
  18147. CON 2RIT SYSTEM I/O CPU THRESHOLD
  18148. CON 2RSE CPU SLICE EXTENSION
  18149. CON 2RRS RECALL CPU SLICE
  18150. CON 2RUS UNEXTENDED CPU SLICE
  18151.  
  18152. CON 0
  18153. TTDN SPACE 4
  18154. ** TTDN - TABLE OF TAPE DENSITIES.
  18155.  
  18156.  
  18157. TTDN BSS 0
  18158. CON 2RLO 200
  18159. CON 2RHI 556
  18160. CON 2RHY 800
  18161. CON 2RHD 800
  18162. CON 2RPE 1600
  18163. CON 2RGE 6250
  18164. CON 0
  18165. TTDT SPACE 4,10
  18166. ** TTDT - TABLE OF TAPE DEVICE TYPES.
  18167.  
  18168.  
  18169. TTDT BSS 0
  18170. CON 2RMT SEVEN TRACK TAPE
  18171. CON 2RCT CARTRIDGE TAPE
  18172. CON 2RNT NINE TRACK TAPE
  18173. CON 2RAT ACS CARTRIDGE TAPE
  18174. CON 0 END OF TABLE
  18175. TTCV SPACE 4
  18176. ** TTCV - TABLE OF TAPE CONVERSION MODES.
  18177.  
  18178.  
  18179. TTCV BSS 0
  18180. CON 2RAS ASCII 9 TRACK CONVERSION
  18181. CON 2RUS USASI 9 TRACK CONVERSION
  18182. CON 2REB EBCDIC 9 TRACK CONVERSION
  18183. CON 0 END OF TABLE
  18184. TURE SPACE 4,10
  18185. TITLE SUBROUTINES.
  18186. AODSUB
  18187. ASDSUB
  18188. ASNSUB
  18189. AUN SPACE 4,10
  18190. ** AUN - ASSEMBLE USER NAME.
  18191. *
  18192. * ENTRY (A) = NUMBER OF CHARACTERS TO ASSEMBLE.
  18193. * (KA) = ADDRESS OF CHARACTER STRING.
  18194. *
  18195. * EXIT (CM - CM+4) = ASSEMBLED NAME.
  18196. * (A) = 0 IF ASSEMBLY TERMINATED ON *,* OR *.*.
  18197. * (T0) = NUMBER OF CHARACTERS ASSEMBLED.
  18198. *
  18199. * USES T0 - T2.
  18200.  
  18201.  
  18202. AUN2 AOD T0 ADVANCE CHARACTER COUNT
  18203. SBN 1
  18204. SHN 21-0 FORM BUFFER ADDRESS
  18205. ADN CM
  18206. STD T1
  18207. LMD T1 CLEAR ADDRESS
  18208. LMI KA INSERT CHARACTER
  18209. MJN AUN3 IF CHARACTER PACKED LOW
  18210. SHN 6 POSITION CHARACTER HIGH
  18211. AUN3 RAI T1 ASSEMBLE BYTE
  18212. AOD KA ADVANCE CHARACTER BUFFER
  18213. SOD T2 DECREMENT CHARACTER COUNT
  18214. NJN AUN1 IF TO END OF ASSEMBLY
  18215. LDD T0
  18216.  
  18217. AUN SUBR ENTRY/EXIT
  18218. STD T2 SET CHARACTER COUNT
  18219. LDN 0 CLEAR ASSEMBLY BUFFER
  18220. STD T0
  18221. CRD CM
  18222. AOD KA SKIP SEPARATOR
  18223. AUN1 LDI KA CHECK NEXT CHARACTER
  18224. SBN 1R9+1
  18225. MJN AUN2 IF ALPHANUMERIC
  18226. SBN 1R*-1R9-1
  18227. ZJN AUN2 IF (*)
  18228. SBN 1R,-1R*
  18229. ZJN AUNX IF *,*
  18230. SBN 1R.-1R,
  18231. ZJN AUNX IF *.*
  18232. JMP ILL PROCESS INCORRECT ENTRY
  18233. CDRSUB
  18234. CPN SPACE 4,10
  18235. ** CPN - COMPARE NAMES.
  18236. *
  18237. * ENTRY (A) = ADDRESS OF ASSEMBLED NAME.
  18238. * (CN - CN+4) = NAME FROM COMMON LIBRARIES TABLE.
  18239. *
  18240. * EXIT (A) = 0 IF MATCH.
  18241. *
  18242. * USES T1.
  18243.  
  18244.  
  18245. CPN SUBR ENTRY/EXIT
  18246. STD T1
  18247. LDI T1
  18248. LMD CN
  18249. NJN CPNX IF NO MATCH
  18250. LDM 1,T1
  18251. LMD CN+1
  18252. NJN CPNX IF NO MATCH
  18253. LDM 2,T1
  18254. LMD CN+2
  18255. NJN CPNX IF NO MATCH
  18256. LDM 3,T1
  18257. LMD CN+3
  18258. SCN 77
  18259. UJN CPNX RETURN
  18260. ESS SPACE 4,10
  18261. ** ESS - EDIT SUBSYSTEM TABLE.
  18262. *
  18263. * ENTRY (NC) = SYSTEM CONTROL POINT NUMBER.
  18264. *
  18265. * EXIT SUBSYSTEM TABLE COPIED TO CMR.
  18266. *
  18267. * USES T1, CM - CM+4.
  18268.  
  18269.  
  18270. ESS SUBR ENTRY/EXIT
  18271. LDN 5*SSCTL-1
  18272. STD T1
  18273. ESS1 LDM .SSCT,T1 CHECK SUBSYSTEM ENTRY
  18274. SBD NC
  18275. MJN ESS2 IF NOT RELATIVE CP
  18276. LDD NC
  18277. ADN 1
  18278. RAM .SSCT,T1 SET ABSOLUTE CP
  18279. ESS2 SOD T1
  18280. PJN ESS1 IF NOT END OF TABLE
  18281. LDC SSCP FETCH TABLE POINTER
  18282. CRD CM
  18283. LDN SSCTL SET TABLE LENGTH
  18284. STD T1
  18285. LDD CM+2 COPY TABLE TO CMR
  18286. SHN 14
  18287. LMD CM+3
  18288. CWM .SSCT,T1
  18289. UJN ESSX RETURN
  18290. SAC SPACE 4,10
  18291. ** SAC - SET (ENABLE/DISABLE) ALL SECURITY CATEGORIES.
  18292. *
  18293. * ENTRY (A) = 0 TO DISABLE ALL CATEGORIES.
  18294. * = -0 TO ENABLE ALL CATEGORIES.
  18295.  
  18296.  
  18297. SAC SUBR ENTRY/EXIT
  18298. STD T0
  18299. NJN SAC1 IF ENABLING ALL CATEGORIES
  18300. LDC LDNI+0
  18301. STM SSCA RESTORE SELECTIVE CATEGORY SPECIFICATION
  18302. SAC1 LDM .SSML+2
  18303. SHN -10
  18304. SHN 14
  18305. LMD T0 ENABLE/DISABLE ALL CATEGORIES
  18306. STM .SSML+3
  18307. STM .SSML+4
  18308. SHN -4
  18309. STM .SSML+2
  18310. UJN SACX RETURN
  18311. SPT SPACE 4
  18312. ** SPT - SEARCH PARAMETER TABLE.
  18313. *
  18314. * ENTRY (A) = FWA OF PARAMETER TABLE.
  18315. * ((KA - KA+1)) = PARAMETER NAME.
  18316. *
  18317. * EXIT (A) = INDEX OF ENTRY FOUND.
  18318. * (T2) = TABLE ADDRESS OF ENTRY FOUND.
  18319. * (T1) = ((T2)) = PARAMETER NAME.
  18320. * (KA) = KEYBOARD BUFFER ADDRESS ADVANCED.
  18321. *
  18322. * USES T3.
  18323.  
  18324.  
  18325. SPT2 LDN 2 ADVANCE BUFFER ADDRESS
  18326. RAD KA
  18327. LDD T2 RETURN WITH INDEX
  18328. SBD T3
  18329.  
  18330. SPT SUBR ENTRY/EXIT
  18331. STD T3 SET TABLE FWA
  18332. STD T2
  18333. LDI KA ASSEMBLE PARAMETER NAME
  18334. SHN 6
  18335. LMM 1,KA
  18336. STD T1
  18337. LDI T2
  18338. SPT1 LMD T1
  18339. ZJN SPT2 IF MATCH FOUND
  18340. AOD T2 ADVANCE TABLE
  18341. LDI T2
  18342. NJN SPT1 LOOP IF NOT END OF TABLE
  18343. JMP ILL PROCESS INCORRECT ENTRY
  18344. SPACE 4,10
  18345. ** COMMON DECKS.
  18346.  
  18347.  
  18348. CLT$ EQU 0 DEFINE *COMPGFP* ACCESS TO CLT
  18349. JCB$ EQU 0 DEFINE *COMPGFP* ACCESS TO JCB
  18350. *CALL COMPGFP
  18351. VAL$ EQU 1
  18352. VAC$ EQU 1
  18353. SCH$ EQU 1
  18354. *CALL COMPVLC
  18355.  
  18356.  
  18357. SBUF EQU *
  18358. ERRNG 7776-SBUF-5*CSAT+5*SVJT BUFFER TOO LARGE
  18359. TTL SET/RCM - RECOVER CENTRAL MEMORY.
  18360. TITLE
  18361. IDENT RCM,OVL
  18362. QUAL RCM
  18363. ORG OVL
  18364. *COMMENT SET - RECOVER CENTRAL MEMORY.
  18365. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  18366. SPACE 4,10
  18367. .DSE SET 0
  18368. SPACE 4,10
  18369. ** MCTSUB - SUBROUTINES COMMON TO MCT PROCESSING.
  18370.  
  18371.  
  18372. QUAL
  18373. MCTSUB MACRO
  18374. LIST G
  18375. CTE SPACE 4,10
  18376. ** CTE - CREATE MEMORY CONTROL TABLE ENTRY.
  18377. *
  18378. * ENTRY (A) = CPA FL CONTROL WORD ADDRESS.
  18379. * (KA) = CP/PCP NUMBER.
  18380. * (NC) = SYSTEM CP NUMBER.
  18381. * (CN) = RA/RAX BACKWARD LINK.
  18382. * (CN+1) = RA/RAX FORWARD LINK.
  18383. *
  18384. * USES T1, AB - AB+4, CM - CM+4.
  18385. *
  18386. * CALLS GHA, SCA.
  18387.  
  18388.  
  18389. CTE SUBR ENTRY/EXIT
  18390. STD T1
  18391. LDD KA SET CURRENT CPA/PCPA ADDRESS
  18392. RJM SCA
  18393. ADD T1 READ MEMORY CONTROL WORD
  18394. CRD CM
  18395. LDD CM+4 FORM RA/RAX + FL/FLX
  18396. RAD CM+3
  18397. SHN -14 NEXT POTENTIAL RA/RAX
  18398. RAD CM+2
  18399. LDD CN+1
  18400. NJN CTE1 IF NOT SYSTEM CP
  18401. STD CM+2
  18402. UJN CTE3 SET NO UNASSIGNED MEMORY
  18403.  
  18404. CTE1 RJM SCA
  18405. ADD T1 READ FL CONTROL WORD
  18406. CRD AB
  18407. SHN -7 CHECK CP/PCP
  18408. LMD NC
  18409. NJN CTE2 IF NOT SYSTEM CP
  18410. LDD T1
  18411. RJM GHA GET HIGHEST ADDRESS
  18412. CTE2 LDD AB+2
  18413. SHN 14 RA/RAX OF FORWARD LINK
  18414. LMD AB+3
  18415. SBD AB REMOVE NFL
  18416. SBD CM+3
  18417. CTE3 STD CN+4 SUBTRACT CURRENT RA/RAX + FL/FLX
  18418. SHN -14
  18419. SBD CM+2 SET UNASSIGNED MEMORY
  18420. STD CN+3
  18421. LCN FLSW CALCULATE MCT OFFSET
  18422. RAD T1
  18423. ERRNZ FLSW+2-ECSW CODE DEPENDS ON VALUE
  18424. SHN 21-1
  18425. LMD KA INSERT CP/PCP NUMBER
  18426. SHN 1
  18427. ADC 0 APPEND BASE MCT ADDRESS
  18428. CTEA EQU *-1
  18429. CWD CN STORE MCT WORD
  18430. LDD CN+4
  18431. RAM .ACML+1,T1
  18432. SHN -14 ACCUMULATE UNASSIGNED MEMORY
  18433. ADD CN+3
  18434. RAM .ACML,T1
  18435. LJM CTEX RETURN
  18436.  
  18437.  
  18438. .ACML BSS 0
  18439. VFD 24/0 AVAILABLE CM (100B WORD BLOCKS)
  18440. VFD 24/0 AVAILABLE USER XM (*UEBS* WORD BLOCKS)
  18441. VFD 12/0 RESERVED
  18442. GHA SPACE 4,10
  18443. ** GHA - GET HIGHEST MEMORY ADDRESS.
  18444. *
  18445. * ENTRY (A) = CPA FL CONTROL WORD ADDRESS.
  18446. * (FL - FL+1) = EXECUTION FIELD LENGTH.
  18447. *
  18448. * EXIT (A) = 0.
  18449. * (AB - AB+4) = FL CONTROL WORD IMAGE.
  18450.  
  18451.  
  18452. GHA1 LDD FL+1 SET TOTAL CM FL
  18453. STD AB+3
  18454. LDD FL CREATE FL CONTROL WORD IMAGE
  18455. GHA2 STD AB+2
  18456. LDN 0 CLEAR UNUSED FIELD
  18457. STD AB+1
  18458. STD AB CLEAR NFL + FL ASSIGNED
  18459. STD AB+4
  18460.  
  18461. GHA SUBR ENTRY/EXIT
  18462. CRD AB
  18463. SBN FLSW
  18464. ZJN GHA1 IF PROCESSING CM
  18465. LDD AB+1
  18466. RAD AB+3 FORM HIGHEST ADDRESS
  18467. SHN -14
  18468. UJN GHA2 CREATE FL CONTROL WORD IMAGE
  18469. SCA SPACE 4,10
  18470. ** SCA - SET CP/PCP AREA ADDRESS.
  18471. *
  18472. * ENTRY (A) = CP/PCP NUMBER.
  18473. * (NC) = SYSTEM CP NUMBER.
  18474. *
  18475. * EXIT (A) = CPA/PCPA ADDRESS.
  18476.  
  18477.  
  18478. SCA1 ADD NC SET REAL CP AREA ADDRESS
  18479. SHN 7
  18480.  
  18481. SCA SUBR ENTRY/EXIT
  18482. SBD NC
  18483. MJN SCA1 IF REAL CP
  18484. ZJN SCA1 IF SYSTEM CP
  18485. SBN 1 SET PCP AREA ORDINAL
  18486. SHN 7
  18487. ADC 0 ADD BASE PCPA ADDRESS
  18488. SCAA EQU *-1
  18489. UJN SCAX RETURN
  18490.  
  18491. LIST *
  18492. ENDM
  18493. SPACE 4,10
  18494. ** MCTPRS - INLINE CODE TO PRESET *MCTSUB* SUBROUTINES.
  18495. *
  18496. * EXIT (NS) = MCT ENTRY COUNT.
  18497. *
  18498. * USES CM - CM+4.
  18499.  
  18500.  
  18501. MCTPRS MACRO
  18502. LIST G
  18503. LDC MCTP FETCH MCT POINTER
  18504. CRD CM
  18505. LDD CM+1 SET FWA OF MCT
  18506. STM CTEA
  18507. LDD CM
  18508. RAM CTEA-1
  18509. LDD CM+2 SET NUMBER OF MCT ENTRIES
  18510. STD NS
  18511. ERRNZ MCTP-PCPP CODE DEPENDS ON VALUE
  18512. LDD CM+3
  18513. RAM SCAA-1
  18514. LDD CM+4 SET PCP AREA BASE ADDRESS
  18515. STM SCAA
  18516. LIST *
  18517. ENDM
  18518. QUAL *
  18519. TITLE MAIN ROUTINE.
  18520. RCM SPACE 4,10
  18521. ** RCM - RECOVER CENTRAL MEMORY.
  18522.  
  18523.  
  18524. RCM RJM INO INITIALIZE OVERLAY
  18525. RJM DCB DEFINE CM BUFFER SPACE
  18526. RJM PTR PROCESS POINTERS
  18527. RJM IPS INITIALIZE PP STATUS
  18528. RJM CEI CLEAR EST INTERLOCKS
  18529. RJM VEM VERIFY EI LEVEL / MICROCODE NAME
  18530. LDN DFPP
  18531. CRD CM FETCH DAYFILE POINTER WORD
  18532. LDD CM+1
  18533. ADN EXDF*3
  18534. STD CA+1 INITIALIZE CENTRAL ADDRESS
  18535. SHN -14
  18536. ADD CM
  18537. STD CA
  18538. RJM ROV LOAD AND EXECUTE *RCT*
  18539.  
  18540. RCTL BSS 0 LOAD ADDRESS FOR *RCT*
  18541. TITLE SUBROUTINES.
  18542. SPACE 4,10
  18543. ** COMMON SUBROUTINES.
  18544.  
  18545.  
  18546. IPPSUB
  18547. MCTSUB
  18548. SCSSUB
  18549. SSESUB
  18550. CEI SPACE 4,10
  18551. ** CEI - CLEAR EST INTERLOCKS (FOR SELECTED DEVICES).
  18552. *
  18553. * USES AB, T1.
  18554. *
  18555. * CALLS SSE.
  18556.  
  18557.  
  18558. CEI3 SOD T1
  18559. PJN CEI1 IF NOT END OF DEVICE TYPES
  18560.  
  18561. CEI SUBR ENTRY/EXIT
  18562. LDN CEITL-1
  18563. STD T1 SET DEVICE INDEX
  18564. CEI1 LDM CEIT,T1
  18565. LMC 1S17 SEARCH FOR SELECTED EQUIPMENT
  18566. CEI2 RJM SSE
  18567. NJN CEI3 IF EQUIPMENT NOT FOUND
  18568. LDM CEIM,T1
  18569. STM CEIA SET DEVICE MASK
  18570. LDD AB
  18571. LPC ** CLEAR INTERLOCKS
  18572. CEIA EQU *-1
  18573. STD AB
  18574. SFA EST,EQ
  18575. ADK EQDE UPDATE EST ENTRY
  18576. CWD AB
  18577. UJN CEI2 SEARCH FOR NEXT EQUIPMENT
  18578.  
  18579. CEIT BSS 0 TABLE OF DEVICE TYPES
  18580. CON 2RNC NAD
  18581. CON 2RND MDI
  18582. CEITL EQU *-CEIT
  18583.  
  18584. CEIM BSS 0 TABLE OF DEVICE MASKS
  18585. CON 3177 NAD
  18586. CON 6777 MDI
  18587. IPS SPACE 4,10
  18588. ** IPS - INITIALIZE PP STATUS.
  18589. *
  18590. * EXIT (CA - CA+1) = NEXT CM ADDRESS.
  18591. *
  18592. * USES T3, T4, T6, T7, CM - CM+4, CN - CN+4, CA - CA+1.
  18593. *
  18594. * CALLS APP, CLS, HPP.
  18595.  
  18596.  
  18597. * CHECK FOR DISABLED PP-S.
  18598.  
  18599. IPS3 LDM .PPL,T4 CHECK PP STATUS RETURNED BY *CTI*
  18600. SHN 21-0
  18601. STM .PPL,T4
  18602. MJN IPS4 IF PP DISABLED
  18603. LDD CM
  18604. LMC 2R**
  18605. NJN IPS5 IF PP NOT OFF ON PREVIOUS DEADSTART
  18606. LDD T4
  18607. SHN 4 CALCULATE CHANNEL NUMBER
  18608. LMD T3
  18609. RJM HPP HANG PP
  18610. IPS4 LDD CM
  18611. NJN IPS5 IF PP NAME IN PLACE
  18612. LDD T7
  18613. CWM IPSA,ON
  18614. IPS5 LDN 10 ADVANCE INPUT REGISTER ADDRESS
  18615. RAD T7
  18616. CRD CM
  18617. AOD T3 COUNT CHANNEL
  18618. LMN 10D
  18619. IPS6 NJN IPS3 IF PPS BANK NOT PROCESSED
  18620. STD T3
  18621. AOD T4 ADVANCE STATUS INDEX
  18622. LCN 10D
  18623. RAD T6
  18624. NJN IPS6 IF ALL PP-S NOT CHECKED
  18625. LDM .CCHN
  18626. ZJN IPS9 IF NO CPP-S
  18627. STD T3
  18628. IPS7 LDM .CPPL
  18629. SHN 21-0
  18630. STM .CPPL
  18631. PJN IPS8 IF PP NOT DISABLED
  18632. LDD T7
  18633. CWM IPSA,ON
  18634. IPS8 LDN 10 ADVANCE INPUT REGISTER ADDRESS
  18635. RAD T7
  18636. SOD T3
  18637. NJN IPS7 IF NOT COMPLETE LOOP
  18638.  
  18639. IPS9 LDD CA+1 STORE PSEUDO PP INDICATOR
  18640. SBN 10
  18641. CWM IPSA+2,ON
  18642.  
  18643. * CLEAR EXTENDED PP COMMUNICATION BLOCKS.
  18644.  
  18645. LDD CN
  18646. SHN 14
  18647. ADD CN+1
  18648. SBD CN+4
  18649. SHN PPXES-PPCES LENGTH OF EXTENDED PP COMMUNICATION AREA
  18650. RJM CLS CLEAR EXTENDED PP COMMUNICATION AREA
  18651.  
  18652. IPS SUBR ENTRY/EXIT
  18653.  
  18654. * CLEAR PP COMMUNICATION AREAS.
  18655.  
  18656. LDN PPCP
  18657. CRD CN
  18658. LDD CN+4 SET FWA OF PP COMMUNICATION AREA
  18659. STD CA+1
  18660. STD T7
  18661. CRD CM
  18662. STD T3
  18663. ADN 10
  18664. STD T4
  18665. SHN -14
  18666. STD CA
  18667. LDM .PPU SET PP COUNT
  18668. STD T6
  18669. ADM .CCHN
  18670. SHN 3 SET END OF COMMUNICATIONS AREA SCAN
  18671. RAD T4
  18672. IPS1 LDN 10 CLEAR COMMUNICATION AREA
  18673. RJM CLS
  18674. LDD CM
  18675. LMC 2R**
  18676. NJN IPS2 IF PP NOT DISABLED ON PREVIOUS DEADSTART
  18677. LDD T3
  18678. CWD CM
  18679. IPS2 LDN 10 ADVANCE INPUT REGISTER ADDRESS
  18680. RAD T3
  18681. CRD CM READ INPUT REGISTER
  18682. LMD T4
  18683. NJN IPS1 IF ALL PP-S NOT CHECKED
  18684. STD T3
  18685. STD T4
  18686. RJM APP ASSIGN *CTI* INITIATED PP-S
  18687. LDD NC INSERT SYSTEM CP INTO DISABLED PP IR
  18688. RAM IPSA+1
  18689. LJM IPS3 PROCESS PP COMMUNICATIONS AREA
  18690.  
  18691. IPSA VFD 18/3R***,6/**,36/
  18692. VFD 24/3RCIO
  18693. PTR SPACE 4,10
  18694. ** PTR - PROCESS POINTER AREA.
  18695. *
  18696. * EXIT (ID) = MACHINE ID.
  18697. * (LD) = LINK DEVICE STATUS.
  18698. *
  18699. * USES AB - AB+4, CM - CM+4, CN - CN+4, T3 - T7, EN.
  18700. *
  18701. * CALLS SCS.
  18702. *
  18703. * MACROS SFA.
  18704.  
  18705.  
  18706. PTR SUBR ENTRY/EXIT
  18707. LDN DSSL
  18708. CRD CM
  18709. ADN PLDP-DSSL GET PLD POINTER
  18710. CRD CN
  18711. LDN 0 DISABLE *SPLM*
  18712. STD CN
  18713. STD CN+1
  18714. LDD CM+4 SET RECOVERY MODE IN CMR
  18715. SCN 7
  18716. LMD RM
  18717. LMN 4 ADD DEADSTART IN PROGRESS FLAG
  18718. STD CM+4
  18719. LDN DSSL
  18720. CWD CM
  18721. ADN PLDP-DSSL STORE LIBRARY LOCKED STATUS
  18722. CWD CN
  18723. RJM SCS SET CPU STATUS
  18724. LDN JSCL
  18725. CRD CN
  18726. ADN PRBP-JSCL
  18727. CRD CM
  18728. LDD CM INTERLOCK PROBE TABLES
  18729. LPC 3777
  18730. STD CM
  18731. LDC 4000 SET SCHEDULER ACTIVE
  18732. STD CN
  18733. LDN JSCL STORE SCHEDULER INTERLOCK
  18734. CWD CN
  18735. ADN RDSL-JSCL CLEAR LABEL CHECK CONTROL
  18736. CWD ZR
  18737. ADN PRBP-RDSL
  18738. CWD CM
  18739. SBN PRBP-SCRL
  18740. CRD CM
  18741. LDD CM CLEAR EMERGENCY STEP STATUS
  18742. LPC -5600
  18743. LMC 4000 SET *1MB* (ERROR LOGGING) ACTIVE
  18744. STD CM
  18745. LDN 0 CLEAR *1CK* CALLED STATUS
  18746. STD CM+2
  18747. LDN ZERL
  18748. CRD AB
  18749. ADN DSDL-ZERL STORE *DSD* BUFFER INTERLOCK
  18750. CWD CN
  18751. SBN DSDL-MMFL PRESERVE MACHINE ID
  18752. CRD ID+LD*
  18753. ADN INWL-MMFL STORE SCHEDULER INTERLOCK
  18754. CWM .INWL,ON
  18755. SBN INWL+1-SCRL
  18756. CWD CM
  18757. LCN 0 INITIALIZE FLAG REGISTER STATUS
  18758. STD AB+3
  18759. LDD LD
  18760. LPC 777
  18761. ZJN PTR1 IF NOT MMF ENVIRONMENT
  18762. SFA EST
  18763. CRD CM READ EST ENTRY FOR LINK DEVICE
  18764. ADN EQAE-EQDE
  18765. CRD T3
  18766. LDD T3+2
  18767. SHN -6
  18768. LPN 3
  18769. STM LDSH SET SHIFT COUNT FOR LINK DEVICE
  18770. LDD CM+4
  18771. SHN 3
  18772. ADN ALGL FETCH LABEL TRACK FROM MST
  18773. CRD CM
  18774. LDD CM+1 SET LABEL TRACK
  18775. STD AB+4
  18776. PTR1 LDK EXML GET EXTENDED MEMORY PARAMETER
  18777. CRD CM
  18778. ADK MMFL-EXML
  18779. CWD ID+LD*
  18780. ADK MEFL-MMFL
  18781. CRD CN
  18782. ADK EFRL-MEFL
  18783. CWD AB
  18784. LDD CN+3 SET EXTENDED MEMORY PARAMETERS
  18785. STM EMFL
  18786. LDD CN+2
  18787. SCN 37
  18788. SHN 11
  18789. STM UESC
  18790. SHN 2
  18791. SCN 36
  18792. STM EMAF
  18793. SHN -20
  18794. STM EMSC
  18795. LDD CM+4
  18796. LPC 777
  18797. STD EN
  18798. ZJN PTR2 IF NO EXTENDED MEMORY EQUIPMENT
  18799. SFA EST
  18800. ADK EQDE
  18801. CRD CM
  18802. LDD CM+4
  18803. SHN 3
  18804. ADK DILL
  18805. CRD AB
  18806. LDD AB+3 SET EXTENDED MEMORY TYPE
  18807. SHN -6
  18808. LPN 7
  18809. STM EMTY
  18810. PTR2 LJM PTRX RETURN
  18811. VEM SPACE 4,10
  18812. ** VEM - VERIFY EI LEVEL AND MICROCODE NAME.
  18813. *
  18814. * ENTRY (HO) = HARDWARE OPTIONS.
  18815. *
  18816. * EXIT TO *DSE* IF EI LEVEL OR MICROCODE NAME ERROR.
  18817. *
  18818. * USES AB - AB+4, CM - CM+4, CN - CN+4, T1 - T7.
  18819.  
  18820.  
  18821. VEM SUBR ENTRY/EXIT
  18822. LDM C8XX
  18823. NJN VEMX IF NOT CYBER 800 TYPE MAINFRAME
  18824. LDC MEBF
  18825. CRD CM GET MICROCODE/EI NAMES PASSED BY *CTI*
  18826. SBN MEBF-SABL
  18827. CRD T1 GET MAINFRAME DESCRIPTOR ADDRESS
  18828. ADN EABL+CPEI-SABL
  18829. CRD AB
  18830. LDD AB+1 FETCH ORIGINAL MICROCODE NAME
  18831. SCN 77
  18832. SHN 6
  18833. LMD AB
  18834. SHN 6
  18835. ADN 1
  18836. CRD T3
  18837. ADN 1
  18838. CRD CN
  18839. LDD T3+2
  18840. SHN 21-0
  18841. PJN VEM1 IF CPU-0 IS ENABLED
  18842. LDD AB+1
  18843. LPN 77
  18844. SHN 14
  18845. LMD AB+2 FETCH MICROCODE FROM CPU-1 BLOCK
  18846. ADN 2
  18847. CRD CN
  18848. VEM1 LDN 0 CLEAR MISMATCH FLAG
  18849. STD T5
  18850. LDD T1 GET ORIGINAL EI NAME
  18851. SHN 14
  18852. LMD T1+1
  18853. ADN 1
  18854. CRD AB
  18855. LDN 3 COMPARE MICROCODE NAMES
  18856. STD T3
  18857. VEM2 LDM CN,T3
  18858. STM VEMA+12,T3
  18859. LMM CM,T3
  18860. ZJN VEM3 IF VALUES MATCH
  18861. STD T5
  18862. VEM3 SOD T3
  18863. PJN VEM2 IF COMPARE NOT COMPLETE
  18864. LDD T5
  18865. NJN VEM4 IF MICROCODE ERROR
  18866. LDD AB+3
  18867. STM VEMB+6 COMPARE EI LEVEL
  18868. LMD CM+4
  18869. NJN VEM5 IF EI ERROR
  18870. LJM VEMX RETURN
  18871.  
  18872. VEM4 LDC VEMA *MICROCODE MISMATCH*
  18873. UJN VEM6 DISPLAY ERROR AND HANG
  18874.  
  18875. VEM5 LDC VEMB *EI MISMATCH*
  18876. VEM6 JMP DSE DISPLAY ERROR AND HANG
  18877.  
  18878.  
  18879. VEMA DATA C*MICROCODE MISMATCH, *
  18880. VEMB DATA C*EI MISMATCH, *
  18881. TITLE MEMORY MANAGEMENT ROUTINES.
  18882. CFC SPACE 4,10
  18883. ** CFC - CHECK FL CONTROL WORDS.
  18884. *
  18885. * ENTRY (T6) = CP/PCP NUMBER.
  18886. * (AB - AB+4) = FL CONTROL WORD FOR *FLSW*.
  18887. * (CN - CN+4) = FL CONTROL WORD FOR *FLSW*+1.
  18888. *
  18889. * CALLS SCA.
  18890.  
  18891.  
  18892. CFC SUBR ENTRY/EXIT
  18893. LDD AB
  18894. NJN CFCX IF NFL ASSIGNED
  18895. LDD AB+4
  18896. ZJN CFCX IF NO FL
  18897. SBD AB+1
  18898. STD AB+4 ADJUST FL
  18899. STD CN+4
  18900. LDD AB+1 RESET NFL
  18901. STD AB
  18902. RAD AB+3 ADJUST RA
  18903. SHN -14
  18904. RAD AB+2
  18905. LDD AB
  18906. RAD CN+3
  18907. LDN 0 CLEAR ROLLOUT VALUE OF NFL
  18908. STD AB+1
  18909. LDD T6 SET CP/PCP ADDRESS
  18910. RJM SCA
  18911. ADN FLSW+1
  18912. CWD CN STORE FL CONTROL WORDS
  18913. SBN 1
  18914. CWD AB
  18915. UJN CFCX RETURN
  18916. DCB SPACE 4,15
  18917. ** DCB - DEFINE CM BUFFER SPACE.
  18918. *
  18919. * EXIT (EB) = RA/100 FOR *CPUMLD*.
  18920. *
  18921. * USES EB, AB - AB+4, CN - CN+4.
  18922. *
  18923. * CALLS CMA, RFL.
  18924.  
  18925.  
  18926. DCB SUBR ENTRY/EXIT
  18927. RJM RFL RELEASE FIELD LENGTH
  18928. LDN ZERL
  18929. CRD AB
  18930. ADN RPLP-ZERL FETCH FWA OF RPL
  18931. CRD CN
  18932. LDC 2S12+AB CHECK AVAILABLE MEMORY
  18933. RJM CMA
  18934. LDD AB+1
  18935. ZJN DCB2 IF NO FREE MEMORY
  18936. STD EB
  18937. ADC CPML+PRSL-4001
  18938. PJN DCB2 IF REQUIRED FL CROSSES 131K
  18939. LDD AB+3
  18940. SBK CPML+PRSL
  18941. DCB1 PJN DCBX IF ENOUGH FL
  18942. DCB2 LDN CMRL
  18943. CRD AB GET CMR LENGTH
  18944. LDD CN
  18945. SHN 14 FWA OF RPL
  18946. LMD CN+1
  18947. ADN 77 ROUND RPL ADDRESS
  18948. SHN -6
  18949. STD EB SET NEW LOAD ADDRESS FOR *CPUMLD*
  18950. LDD AB+4
  18951. SBK CPML+PRSL CHECK FL NEEDED
  18952. SBD EB
  18953. PJN DCB1 IF REQUIRED FL IN CMR
  18954. LDC DCBA
  18955. JMP DSE DISPLAY MESSAGE AND HANG
  18956.  
  18957.  
  18958. DCBA DATA C*LACKING MEMORY FOR CM RECOVERY.*
  18959. FFL SPACE 4,20
  18960. ** FFL - FIND FORWARD LINK FOR MCT ENTRY.
  18961. *
  18962. * ENTRY (KA) = MCT ORDINAL.
  18963. * (NS) = MCT ENTRY COUNT.
  18964. * (T2) = MEMORY TYPE INDICATOR.
  18965. * = 0 FOR CENTRAL MEMORY.
  18966. * = 1 FOR EXTENDED MEMORY.
  18967. * (CA - CA+1) = RA + FL OF CURRENT CP/PCP.
  18968. *
  18969. * EXIT (T7) = FL/FLX AT FORWARD LINK CP/PCP.
  18970. * (CN+1) = CP/PCP NUMBER OF FORWARD LINK.
  18971. * (T5 - T6) = RA/RAX AT FORWARD LINK CP/PCP.
  18972. *
  18973. * ERROR TO *DSE* IF FL CONTROL WORD ERROR.
  18974. *
  18975. * USES T3 - T7, CM.
  18976. *
  18977. * CALLS RCW, SCA.
  18978.  
  18979.  
  18980. FFL7 AOM CM,T2 SET CP/PCP SELECTED
  18981. LDD CN+1
  18982. ZJN FFL2 IF FORWARD LINK NOT FOUND
  18983. RJM SCA
  18984. ADN 6 STORE SELECTION STATUS
  18985. CWD CM
  18986.  
  18987. FFL SUBR ENTRY/EXIT
  18988. LDN 0
  18989. STD CN+1 PRESET NO FORWARD LINK
  18990. CRD T3
  18991. LDN 17 INITIALIZE FOR SCAN
  18992. STD T5
  18993.  
  18994. * FETCH FL CONTROL WORD FROM CP/PCP AREA.
  18995.  
  18996. FFL1 RJM RCW
  18997. ZJN FFL7 IF END OF SEARCH
  18998. LDD AB+2
  18999. SBD CA VERIFY FL CONTROL WORD
  19000. SHN 14
  19001. ADD AB+3
  19002. SBD CA+1 CHECK RA - CURRENT POSITION
  19003. SBD AB
  19004. PJN FFL3 IF NOT INVALID RA OR NFL
  19005. FFL2 LDC =C*FL CONTROL WORD ERROR.*
  19006. JMP DSE DISPLAY ERROR AND HANG
  19007.  
  19008. FFL3 LDD AB+2 COMPARE WITH PREVIOUS DISTANCE
  19009. SBD T5
  19010. SHN 14
  19011. ADD AB+3 CHECK RA NEAREST CURRENT POSITION
  19012. SBD T6
  19013. NJN FFL5 IF NOT SAME RA
  19014. LDD T3
  19015. NJN FFL1 IF PREVIOUS CP/PCP HAD NFL ASSIGNED
  19016. LDD AB
  19017. NJN FFL4 IF THIS CP/PCP HAS NFL ASSIGNED
  19018. LDD T7
  19019. NJN FFL4 IF PREVIOUS CP/PCP HAD FL
  19020. LDD NC
  19021. SBD T4
  19022. FFL3.1 PJN FFL1 IF NOT PCP
  19023. LDD KA
  19024. ZJN FFL1 IF CP00 (CMR)
  19025. FFL4 LDD AB+4
  19026. ZJN FFL6 IF CP/PCP HAS NO FL ASSIGNED
  19027.  
  19028. * COMMON RA-S W/O FL MUST PRECEDE SAME RA WITH FL.
  19029.  
  19030. FFL5 PJN FFL3.1 IF RA FARTHER FROM CURRENT POSITION
  19031. LDD AB+2
  19032. STD T5
  19033. LDD AB+3 SET RA CLOSEST TO CURRENT POSITION
  19034. STD T6
  19035. LDD AB+4 PRESERVE FL
  19036. FFL6 STD T7
  19037. LDD AB SAVE NFL
  19038. STD T3
  19039. LDD T4 DEFINE POTENTIAL FORWARD LINK
  19040. STD CN+1
  19041. UJN FFL5 LOOP FOR NEXT CP/PCP
  19042. MVE SPACE 4,10
  19043. ** MVE - MOVE NFL.
  19044. *
  19045. * ENTRY (CA - CA+1) = RA - NFL OF PREVIOUS CP.
  19046. * (AB - AB+4) = FL CONTROL WORD.
  19047. * (CN - CN+4) = FL CONTROL WORD.
  19048. *
  19049. * USES AB+2, AB+3, CN+1, CN+2, CM - CM+4.
  19050.  
  19051.  
  19052. MVE3 ADD AB+3 COMPUTE RA + FL
  19053. STD T0
  19054. SHN -14
  19055. ADD AB+2 COMPARE WITH NEXT RA - NFL
  19056. SBD CA
  19057. NJN MVE1 IF MOVE REQUIRED
  19058. LDD T0
  19059. LMD CA+1
  19060. NJN MVE1 IF NOT CP-S WITH ADJOINING FL
  19061.  
  19062. MVE SUBR ENTRY/EXIT
  19063. LDD CN+4
  19064. NJN MVE3 IF RECOVERED SUBSYSTEM (PRESERVE FL)
  19065. MVE1 LDD AB+2
  19066. SHN 14
  19067. LMD AB+3
  19068. SBD AB SET RA - NFL FOR MOVE
  19069. STD CM+3
  19070. STD CM+2
  19071. SHN -14
  19072. STD CM+1
  19073. LDD CA SET RA FOR CP
  19074. SHN 14
  19075. LMD CA+1
  19076. SBD CN+4
  19077. STD AB+3
  19078. SHN -14
  19079. STD AB+2
  19080. SHN 14
  19081. LMD AB+3
  19082. SBD AB SET NEW RA - NFL
  19083. STD CM+4
  19084. STD CN+2
  19085. SHN -14
  19086. STD CN+1
  19087. LDD AB
  19088. ZJN MVEX IF NO NFL
  19089. ADD CN+4
  19090. SBN 1
  19091. STD CM
  19092. LDD HO
  19093. SHN 0-13
  19094. NJN MVE2 IF NOT CME MAINFRAME
  19095. LDC 4000
  19096. STD CM+3
  19097. STD CM+4
  19098. MVE2 LRD CM+1
  19099. LDD CM+3 READ BLOCK OF NFL
  19100. ADD CM
  19101. SHN 6
  19102. CRM MBUF,HN
  19103. LRD CN+1
  19104. LDD CM+4 MOVE NFL
  19105. ADD CM
  19106. SHN 6
  19107. CWM MBUF,HN
  19108. SOD CM
  19109. PJN MVE2 IF NOT END OF MOVE
  19110. LJM MVEX RETURN
  19111. RCW SPACE 4,20
  19112. ** RCW - READ FL CONTROL WORD FROM CP/PCP AREA.
  19113. *
  19114. * ENTRY (T2) = MEMORY TYPE INDICATOR.
  19115. * = 0 FOR CENTRAL MEMORY.
  19116. * = 1 FOR EXTENDED MEMORY.
  19117. * (T4) = PREVIOUS CP/PCP NUMBER.
  19118. * (KA) = CURRENT CP/PCP NUMBER.
  19119. * (LA) = RELATIVE CONTROL WORD ADDRESS.
  19120. * (NS) = NUMBER OF MCT ENTRIES.
  19121. *
  19122. * EXIT (A) = 0 IF END OF CP/PCP SCAN.
  19123. * (T4) = CP/PCP FOR FL CONTROL WORD.
  19124. * (AB - AB+4) = FL CONTROL WORD.
  19125. * (CM - CM+4) = CP/PCP *CRCW* WORD.
  19126. *
  19127. * CALLS GHA, SCA.
  19128.  
  19129.  
  19130. RCW SUBR ENTRY/EXIT
  19131. RCW1 AOD T4
  19132. LMD NS
  19133. ZJN RCWX IF END OF SEARCH
  19134. LMD NS
  19135. LMD KA
  19136. ZJN RCW1 IF CURRENT CP/PCP
  19137. LDD T4
  19138. RJM SCA SET CP/PCP AREA ADDRESS
  19139. ADD LA
  19140. CRD AB READ FL CONTROL WORD
  19141. SBD LA
  19142. ADN 6 GET CP SELECTION STATUS
  19143. CRD CM
  19144. LDM CM,T2
  19145. NJN RCW1 IF THIS CP/PCP ALREADY FORWARD LINK
  19146. LDD T4
  19147. RCW2 LMD NC
  19148. NJN RCWX IF NOT SYSTEM CP
  19149. LDD LA
  19150. RJM GHA GET HIGHEST MEMORY ADDRESS
  19151. * LDN 0
  19152. UJN RCW2 RETURN
  19153. RFL SPACE 4,15
  19154. ** RFL - RELEASE FIELD LENGTH.
  19155. *
  19156. * ENTRY (NC) = SYSTEM CP NUMBER.
  19157. * (FL - FL+1) = EXECUTION FIELD LENGTH.
  19158. *
  19159. * EXIT FL OF USER JOBS AT CP-S RELEASED.
  19160. * FL OF NON-RECOVERED SUBSYSTEMS RELEASED.
  19161. *
  19162. * USES AB - AB+4, CA - CA+1, CM - CM+4, CN - CN+4, T5 - T7.
  19163. *
  19164. * CALLS CFC, MVE, SCA, RMT.
  19165.  
  19166.  
  19167. RFL8 RJM RMT REBUILD MEMORY CONTROL TABLE
  19168. LDN ACML
  19169. CWM .ACML,ON STORE UNASSIGNED MEMORY
  19170.  
  19171. RFL SUBR ENTRY/EXIT
  19172. RJM RMT
  19173. LDD FL
  19174. STD CN+1 SET EXECUTION MEMORY SIZE
  19175. LDD FL+1
  19176. STD CN+2
  19177. LDD NC START BACKWARDS FROM SYSTEM CP
  19178. STD T6
  19179. RFL1 LDD CN+1 SAVE RA - NFL
  19180. STD CA
  19181. LDD CN+2
  19182. STD CA+1
  19183. LDD T6 FORM MCT INDEX
  19184. SHN 1
  19185. ADC 0 APPEND BASE MCT ADDRESS
  19186. RFLA EQU *-1
  19187. CRD T6 READ MCT ENTRY
  19188. LDD T6
  19189. ZJN RFL8 IF BACK LINKED TO CP ZERO
  19190. RJM SCA
  19191. ADN FLSW READ FL CONTROL WORDS
  19192. CRD AB
  19193. ADN 1
  19194. CRD CN
  19195. ADN JCIW-FLSW-1 READ JOB CONTROL
  19196. CRD CM
  19197. RJM CFC CHECK FL CONTROL WORDS
  19198. LDD T6
  19199. SBD NC
  19200. PJN RFL4 IF PSEUDO CONTROL POINT
  19201. LDC TRSS
  19202. STD T5
  19203. LDI T5 CHECK SUBSYSTEM ID
  19204. RFL2 LMD CM+2
  19205. ZJN RFL3 IF RECOVERED SUBSYSTEM
  19206. AOD T5
  19207. LDI T5
  19208. NJN RFL2 IF NOT END OF TABLE
  19209. STD CN+4
  19210. RFL3 LDD T6 CHECK CONTROL POINT
  19211. LMN 1
  19212. ZJN RFL5 IF FIRST CP (NO MOVE)
  19213. RFL4 RJM MVE
  19214. RFL5 LDD CN+4 CLEAR FL ASSIGNMENT
  19215. STD AB+4
  19216. LDD T6 SET CP/PCP ADDRESS
  19217. RJM SCA
  19218. ADN FLSW+1
  19219. CWD CN RESET FL CONTROL WORDS
  19220. SBN 1
  19221. CWD AB
  19222. ADN ECSW-FLSW FETCH EXTENDED MEMORY CONTROL WORD
  19223. CRD CM
  19224. ADC CPAS
  19225. CRD AB
  19226. SHN -7
  19227. LMD NC
  19228. NJN RFL6 IF NOT LAST CP
  19229. LDD AB+3
  19230. ADD AB+4
  19231. STD CM+3 SET RAX TO END OF USER XM BLOCK
  19232. SHN -14
  19233. ADD AB+2
  19234. STD CM+2
  19235. RFL6 LDD CN+4
  19236. NJN RFL7 IF RECOVERED SUBSYSTEM
  19237. * LDN 0
  19238. STD CM+4 CLEAR FLX
  19239. LDD T6
  19240. RJM SCA
  19241. ADN ECSW UPDATE CP/PCP AREA
  19242. CWD CM
  19243. RFL7 LJM RFL1 LOOP FOR NEXT CP
  19244.  
  19245.  
  19246. TRSS BSS 0 TABLE OF RECOVERED SUBSYSTEMS
  19247. CON IFSI IAF
  19248. CON TRSI TAF
  19249. CON BISI BATCHIO
  19250. CON MTSI MAGNET
  19251. CON SMSI SMF
  19252. CON NVSI NVE
  19253. CON FZSI FROZEN JOB
  19254. CON 0 END OF TABLE
  19255. RMT SPACE 4,10
  19256. ** RMT - REBUILD MEMORY CONTROL TABLE.
  19257. *
  19258. * ENTRY (NC) = SYSTEM CP NUMBER.
  19259. * (NS) = NUMBER OF MCT ENTRIES.
  19260. *
  19261. * USES KA, KB, LA, ST, CA - CA+1, CN - CN+4, T2 - T7.
  19262. *
  19263. * CALLS CTE, FFL, SCA.
  19264.  
  19265.  
  19266. RMT3 RJM FFL FIND FORWARD LINK FOR MCT ENTRY
  19267. LDD KA
  19268. NJN RMT5 IF NOT CP ZERO
  19269. LDD CN+1
  19270. LMN 1
  19271. ZJN RMT6 IF CORRECT FORWARD LINK
  19272. * LDC =C*FL CONTROL WORD ERROR.*
  19273. RMT4 LJM FFL2 DISPLAY ERROR AND HANG
  19274.  
  19275. RMT5 ADN 1 CHECK CURRENT CP/PCP
  19276. LMD NC
  19277. NJN RMT6 IF NOT LAST CP
  19278. LDD NC
  19279. LMD CN+1
  19280. NJN RMT4 IF NOT LINKED TO SYSTEM CP
  19281. RMT6 LDD LA
  19282. RJM CTE CREATE MCT ENTRY
  19283. RMT7 LDD T7
  19284. ADD T6 SET RA/RAX + FL/FLX
  19285. STD CA+1
  19286. SHN -14
  19287. ADD T5 ADJUST CURRENT POSITION
  19288. STD CA
  19289. LDD KA NEW BACKWARD LINK
  19290. STD CN
  19291. LDD CN+1 SET NEXT CP/PCP
  19292. STD KA
  19293. SOD KB
  19294. NJN RMT3 IF NOT END OF CP/PCP-S
  19295. STD CN+1
  19296. LDD KA CHECK NEXT CP
  19297. LMD NC
  19298. NJN RMT4 IF NOT SYSTEM CP
  19299. LDD LA
  19300. RJM CTE CREATE MCT ENTRY FOR SYSTEM CP
  19301. SOD ST
  19302. LMN ECRL
  19303. PJN RMT2 IF XM YET TO BE PROCESSED
  19304.  
  19305. RMT SUBR ENTRY/EXIT
  19306. LDN 1
  19307. STD T2
  19308. RMT1 LDD T2 SET CP/PCP ADDRESS
  19309. RJM SCA
  19310. ADN 6 READ *MA* WORD OF EXCHANGE PACKAGE
  19311. CRD CM
  19312. STD ST SAVE PARTIAL ADDRESS
  19313. LMD ST
  19314. STD CM+1 CLEAR MONITOR ADDRESS FIELD
  19315. STD CM
  19316. LMD ST STORE CP/PCP SELECTION STATUS
  19317. CWD CM
  19318. AOD T2 ADVANCE CP/PCP NUMBER
  19319. LMD NS
  19320. NJN RMT1 IF MORE CP/PCP-S
  19321. * LDN 0
  19322. CRM .ACML,ON CLEAR UNASSIGNED MEMORY ACCUMULATOR
  19323. RMTA LDN 1
  19324. * LDN 0 (NO USER EXTENDED MEMORY)
  19325. STD ST
  19326. LDN CMRL
  19327. RMT2 STD LA SET FL CONTROL WORD ADDRESS
  19328. CRD T3
  19329. SBN FLSW
  19330. ERRNZ FLSW+2-ECSW CODE DEPENDS ON VALUE
  19331. SHN -1
  19332. STD T2 SET MEMORY TYPE INDICATOR
  19333. CRD CN
  19334. LDN 0 INITIALIZE FOR CP ZERO
  19335. STD KA
  19336. LDD NS SET LOOP COUNT
  19337. STD KB
  19338. LJM RMT7 INITIALIZE CURRENT POSITION
  19339. SPACE 4,10
  19340. ** COMMON DECKS.
  19341.  
  19342.  
  19343. LIST X
  19344. *CALL COMPCMA
  19345. LIST *
  19346. SPACE 4,10
  19347. USE LITERALS DUMP LITERALS BLOCK
  19348. SPACE 4,10
  19349. ERRNG MBUF-* OVERFLOW INTO BUFFER
  19350. SPACE 4,10
  19351. ** COMMON SUBROUTINES.
  19352.  
  19353.  
  19354. NVECPU
  19355.  
  19356. INO SPACE 4,15
  19357. ** INO - INITIALIZE OVERLAY.
  19358. *
  19359. * EXIT (NC) = SYSTEM CP NUMBER.
  19360. * (NS) = NUMBER OF MCT ENTRIES.
  19361. * (FL - FL+1) = CM EXECUTION FL.
  19362. *
  19363. * ERROR TO *DSE* IF CONSOLE TYPE CHANGED BY DEADSTART.
  19364. *
  19365. * USES T3, AB - AB+4, CA - CA+1, CM - CM+4, CN - CN+4.
  19366. *
  19367. * CALLS CLS, RPN.
  19368. *
  19369. * MACROS MCTPRS, SFA.
  19370.  
  19371.  
  19372. INO SUBR ENTRY/EXIT
  19373. LDC TCMB
  19374. STD T3
  19375. LDN 0 CLEAR CMR BLOCKS
  19376. STD CA
  19377. LDI T3 SET CM ADDRESS
  19378. INO1 STD CA+1
  19379. AOD T3
  19380. LDI T3 CALCULATE WORD COUNT
  19381. SBD CA+1
  19382. RJM CLS CLEAR CMR
  19383. AOD T3
  19384. LDI T3
  19385. NJN INO1 IF ALL BLOCKS NOT CLEARED
  19386. LDN NCPL
  19387. CRD CM GET CP COUNT
  19388. ADN MABL-NCPL
  19389. CRD CN READ MEMORY POINTERS
  19390. ADN MCTP-MABL
  19391. CRD AB
  19392. AOD CM+1 SET SYSTEM CP NUMBER
  19393. STD NC
  19394. LDD CN+2 SET EXECUTION MEMORY SIZE
  19395. STD FL
  19396. LDD CN+3
  19397. STD FL+1
  19398. LDD AB+1 SET MCT BASE ADDRESS
  19399. STM RFLA
  19400. LDD AB
  19401. RAM RFLA-1
  19402. LDN ECRL FETCH EXTENDED MEMORY STATUS
  19403. CRD CM
  19404. LDD CM+1
  19405. NJN INO2 IF USER XM DEFINED
  19406. SOM RMTA
  19407. INO2 MCTPRS SET UP *MCTSUB* ROUTINES
  19408. LDN DSEQ
  19409. SFA EST FETCH EST ENTRY FOR DISPLAY CONSOLE
  19410. ADK EQAE
  19411. CRD CN
  19412. LDM .DCS
  19413. ZJN INO3 IF DEADSTART INITIATED FROM CC545
  19414. LDN 1
  19415. INO3 LMD CN+2
  19416. NJN INO4 IF CONSOLE TYPE CHANGED
  19417. RJM RPN
  19418. LJM INOX RETURN
  19419.  
  19420. INO4 LDC INOA
  19421. LJM DSE DISPLAY ERROR AND HANG
  19422.  
  19423.  
  19424. INOA DATA C*CONSOLE TYPE CHANGED.*
  19425. TCMB SPACE 4,10
  19426. ** TCMB - TABLE OF CMR BLOCKS CLEARED FOR RECOVERY.
  19427.  
  19428.  
  19429. TCMB CON 0,JSNL
  19430. CON CMCL,ZERL
  19431. CON CPAL,DSDL
  19432. CON DSCP*CPAS+MS1W,DSCP*CPAS+MS1W+10
  19433. CON 0 END OF TABLE
  19434. SPACE 4,10
  19435. QUAL
  19436. RCM EQU /RCM/RCM
  19437. RCTL EQU /RCM/RCTL
  19438.  
  19439.  
  19440. ERRNG 7777-*-4 IF OVERFLOW OF PP
  19441. TTL SET/RCT - RECOVER CMR TABLES.
  19442. TITLE
  19443. IDENT RCT,RCTL
  19444. QUAL RCT
  19445. ORG RCTL
  19446. *COMMENT SET - RECOVER CMR TABLES.
  19447. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  19448. SPACE 4,10
  19449. .DSE SET 0
  19450. RCT SPACE 4,10
  19451. ** RCT - RECOVER CMR TABLES.
  19452.  
  19453.  
  19454. RCT BSS 0 ENTRY
  19455. RJM PRT PRESET *RCT*
  19456.  
  19457. * VERIFY CMR TABLES.
  19458.  
  19459. LDN 0
  19460. STD LA
  19461. RCT1 LDM TCTP,LA SET PROCESSOR ADDRESS
  19462. STD T1
  19463. RJM 0,T1 VERIFY TABLE
  19464.  
  19465. * PROCESSORS RETURN WITH (A) = TABLE LENGTH OR 0.
  19466.  
  19467. RAD CA+1 ADVANCE CENTRAL ADDRESS
  19468. SHN -14
  19469. RAD CA
  19470. AOD LA INCREMENT TABLE NUMBER
  19471. LMN TSGTE
  19472. NJN RCT1 IF NOT END OF TABLES
  19473.  
  19474. * COMPLETE TABLES.
  19475.  
  19476. RJM CKB CLEAR KEYBOARD BUFFER
  19477. LDC BIOL
  19478. CRD CN
  19479. LDD CA SET CM ADDRESS
  19480. STD CN+3
  19481. SHN 14
  19482. LMD CA+1
  19483. STD CN+4
  19484. ADN 77
  19485. SHN -6
  19486. STD T0
  19487. LDD EB SET LOAD ADDRESS FOR *CPUMLD*
  19488. STD CN
  19489. SBD T0
  19490. PJN RCT2 IF NO CMR OVERFLOW
  19491. LDC =C*CMR OVERFLOW.*
  19492. JMP DSE DISPLAY ERROR AND HANG
  19493.  
  19494. RCT2 LDC BIOL STORE CPUMTR LOAD ADDRESS
  19495. CWD CN
  19496. ADK DSCP*CPAS+SNSW-BIOL
  19497. CRD CM
  19498. LDD CM+4 CLEAR *DSD* RECOVERY INTERLOCK
  19499. SCN 1
  19500. STD CM+4
  19501. LDC DSCP*CPAS+SNSW
  19502. CWD CM
  19503. RJM DRO DISPLAY RECOVERY OPTIONS
  19504. LJM SET2 COMPLETE RECOVERY
  19505. TITLE TABLE VERIFICATION PROCESSORS.
  19506. BDT SPACE 4,10
  19507. ** BDT - ALLOCATE BUFFERED DEVICE CONTROL TABLES.
  19508. *
  19509. * EXIT (A) = TABLE LENGTH.
  19510. *
  19511. * USES T1, CN - CN+4.
  19512. *
  19513. * CALLS CLS, CTA.
  19514.  
  19515.  
  19516. BDT SUBR ENTRY/EXIT
  19517. LDC BIOL
  19518. CRD CN
  19519. LDD CN+1
  19520. ADD CN+2
  19521. ZJN BDTX IF NO BUFFERED DEVICES
  19522. LDC 1S12+BIOL
  19523. RJM CTA
  19524. LDN /ICT/BDTAL/5 ADVANCE CENTRAL ADDRESS
  19525. RAD CA+1
  19526. SHN -14
  19527. RAD CA
  19528. LDD CN+4 COMPUTE LENGTH OF TABLES
  19529. SBD CA+1
  19530. STD T1
  19531. PJN BDT1 IF NO BORROW
  19532. SOD CN+3
  19533. AOD T1
  19534. BDT1 LDD CN+3
  19535. SBD CA
  19536. SHN 14
  19537. LMD T1
  19538. UJN BDTX RETURN
  19539. BST SPACE 4,10
  19540. ** BST - VERIFY BUFFER STATUS TABLES.
  19541. *
  19542. * EXIT (A) = 0.
  19543. * TO *DSE* IF TABLE ADDRESS ERROR.
  19544. *
  19545. * USES EQ, CA - CA+1, CM - CM+4.
  19546. *
  19547. * CALLS SME.
  19548.  
  19549.  
  19550. BST SUBR ENTRY/EXIT
  19551. LDK MMFL
  19552. CRD CM
  19553. LDD CM+1
  19554. LPC 1000
  19555. ZJN BSTX IF NO SHARED BUFFERED DEVICES
  19556. LDN NOPE
  19557. STD EQ
  19558.  
  19559. * PROCESS NEXT EQUIPMENT.
  19560.  
  19561. BST1 RJM SME SEARCH FOR MASS STORAGE EQUIPMENT
  19562. ZJN BSTX IF END OF MS EST ENTRIES
  19563. SHN 21-11-21+13
  19564. PJN BST1 IF NOT SHARED DEVICE
  19565. SHN 21-5-21+11
  19566. PJN BST1 IF NOT BUFFERED DEVICE
  19567. LDD AB+4 GET BST ADDRESS
  19568. SHN 3
  19569. ADK BDLL
  19570. CRD CM
  19571. LDD CA VERIFY BST ADDRESS
  19572. LMD CM+1
  19573. NJN BST2 IF ADDRESS DOES NOT MATCH
  19574. LDD CA+1
  19575. LMD CM+2
  19576. NJN BST2 IF ADDRESS DOES NOT MATCH
  19577. LDK BSTL ADVANCE CM ADDRESS
  19578. RAD CA+1
  19579. SHN -14
  19580. RAD CA
  19581. UJP BST1 PROCESS NEXT EQUIPMENT
  19582.  
  19583. BST2 LDC =C*BST POINTER ERROR.*
  19584. JMP DSE DISPLAY MESSAGE AND HANG
  19585. CHT SPACE 4,10
  19586. ** CHT - VERIFY CHANNEL TABLES.
  19587. *
  19588. * EXIT (A) = LENGTH OF CHANNEL TABLES.
  19589. *
  19590. * USES T1, T2.
  19591. *
  19592. * CALLS CTA.
  19593.  
  19594.  
  19595. CHT SUBR ENTRY/EXIT
  19596. LDC 2S12+CHTP
  19597. RJM CTA
  19598. LDN CTALL SET CONTROLWARE TABLE LENGTH
  19599. STD T1
  19600. LDD CA READ CONTROLWARE TABLE
  19601. SHN 14
  19602. LMD CA+1
  19603. ADN CTALL*2
  19604. CRM MBUF,T1
  19605. LDN 5*CTALL-1 EDIT CONTROLWARE TABLE
  19606. STD T2
  19607. CHT1 LDM MBUF,T2 CLEAR LOAD FLAGS
  19608. LPC 777
  19609. STM MBUF,T2
  19610. SOD T2
  19611. PJN CHT1 IF NOT END OF TABLE
  19612. LDD CA
  19613. SHN 14
  19614. LMD CA+1 STORE CONTROLWARE TABLE
  19615. ADN CTALL*2
  19616. CWM MBUF,T1
  19617. LDN CTALL*3 LENGTH OF CHANNEL TABLES
  19618. UJN CHTX RETURN
  19619. CLT SPACE 4,10
  19620. ** CLT - VERIFY COMMON LIBRARIES TABLE.
  19621. *
  19622. * EXIT (A) = TABLE LENGTH.
  19623. *
  19624. * CALLS CTA.
  19625. *
  19626. * MACROS CFI.
  19627.  
  19628.  
  19629. CLT SUBR ENTRY/EXIT
  19630. LDC CLTP
  19631. RJM CTA
  19632. CFI CLT,CM+2 LENGTH OF TABLE
  19633. UJN CLTX RETURN
  19634. DFB SPACE 4,10
  19635. ** DFB - VERIFY DAYFILE BUFFERS.
  19636. *
  19637. * EXIT (A) = 0.
  19638. *
  19639. * USES T3, T6, T7, CM - CM+2.
  19640. *
  19641. * CALLS CDP, CLS, CTA.
  19642.  
  19643.  
  19644. DFB SUBR ENTRY/EXIT
  19645. LDN DFPP SET FWA OF DAYFILE POINTERS
  19646. CRD T6
  19647. LDN 0 SET SYSTEM DAYFILE BUFFER NUMBER
  19648. STD T3
  19649. DFB1 RJM CDP
  19650. LDN 3 ADVANCE DAYFILE POINTER ADDRESS
  19651. RAD T7
  19652. SHN -14
  19653. RAD T6
  19654. AOD T3 ADVANCE DAYFILE NUMBER
  19655. LMN EXDF
  19656. NJN DFB1 IF NOT END OF EXCESS DAYFILES
  19657. LDC 2S12+DFPP
  19658. RJM CTA
  19659. LDN 1 SET PP DUMP BUFFER NOT BUSY
  19660. STD CM+4
  19661. LDN DFPP STORE POINTER
  19662. CWD CM
  19663. LDC DFDS+3 CLEAR DUMP BUFFER
  19664. RJM CLS
  19665. LDN 0
  19666. LJM DFBX RETURN
  19667. ECB SPACE 4,10
  19668. ** ECB - VERIFY *EICB* TABLES.
  19669. *
  19670. * EXIT (A) = LENGTH OF *EICB* TABLES.
  19671. *
  19672. * USES AB - AB+4, CM - CM+4, CN - CN+4, T3 - T7.
  19673. *
  19674. * CALLS CTA.
  19675.  
  19676.  
  19677. ECB2 ADN DSCM+3-D7RS READ DFT/OS POINTER
  19678. CRD CN
  19679. LDD AB+3 SAVE SIZE OF *MLST*
  19680. LPN 77
  19681. STD T2
  19682. LDD CN+2 READ *DFT* CONTROL WORD
  19683. SHN 14
  19684. LMD CN+3
  19685. SHN -4
  19686. SHN 6
  19687. LMD CN
  19688. CRD AB
  19689. ADN DFRQ READ NOS REQUEST AREA POINTER
  19690. CRD T3
  19691. LDD T3+2 READ NOS REQUEST HEADER
  19692. SHN 14
  19693. LMD T3+3
  19694. SHN -4
  19695. SHN 6
  19696. LMD T3
  19697. CRD CM
  19698. LDD AB+4
  19699. LPC 7426 CLEAR FLAGS (V, R, Z, L, E7)
  19700. ADN 10 SET LOGGING FLAG
  19701. STD AB+4
  19702.  
  19703. * POST REQUEST TO *DFT* TO UPDATE ERROR THRESHOLDS.
  19704.  
  19705. LDM .CPU CHECK CPU CONFIGURATION
  19706. LPN 2
  19707. ZJN ECB3 IF CPU-1 PRESENT
  19708. LDN ZERL CLEAR THRESHOLDS FOR CPU-1
  19709. CRM ECBB,ON
  19710. ECB3 LDM DFTV
  19711. ZJN ECB4 IF *DFT* VERSION 3
  19712. LDK STIN&STRY SET STATUS = *INACTIVE*
  19713. ECB4 LMK STRY SET STATUS = *READY*
  19714. STD CM+4
  19715. LDD CN+2 REWRITE *DFT* CONROL WORD
  19716. SHN 14
  19717. LMD CN+3
  19718. SHN -4
  19719. SHN 6
  19720. LMD CN
  19721. CWD AB
  19722. LDN ECBAL/5 SET WORD COUNT
  19723. STD T3+4
  19724. LDD T3+2 WRITE NOS REQUEST HEADER
  19725. SHN 14
  19726. LMD T3+3
  19727. SHN -4
  19728. SHN 6
  19729. LMD T3
  19730. CWD CM
  19731. ADN 1 WRITE THRESHOLD REQUEST TO BUFFER
  19732. CWM ECBA,T3+4
  19733. LDD CN+3 GET SIZE OF *DFT/OS* BUFFER
  19734. LPN 17
  19735. SHN 14
  19736. LMD CN+4
  19737. ADD T2 ADD SIZE OF *MLST*
  19738. ADK DSCBL+1 (A) = LENGTH OF *EICB* TABLES
  19739.  
  19740. ECB SUBR ENTRY/EXIT
  19741. LDC UEML
  19742. CRD T3
  19743. ADK EIBP-UEML
  19744. CRD CM
  19745. LDD CM+3
  19746. ADD CM+4
  19747. ZJN ECBX IF NO *EICB*
  19748. LDC 3S12+EIBP
  19749. RJM CTA
  19750.  
  19751. * CALCULATE ORIGINAL MACHINE FL.
  19752.  
  19753. LDD CA FETCH MEMORY ALLOCATION VALUES
  19754. SHN 14
  19755. LMD CA+1
  19756. ADN D7ST
  19757. CRD AB
  19758. ADN D7CM-D7ST
  19759. CRD CM
  19760. ADN 1
  19761. CRD CN
  19762. LDD T3+4
  19763. LPN 2
  19764. NJP ECB1 IF UEM DEFINED
  19765. LDD CN+4 CALCULATE CURRENT NVE FIELD LENGTH
  19766. SBD CN+2
  19767. STD CM+1
  19768. PJN ECB0 IF NO BORROW
  19769. AOD CN+1 ADJUST FOR BORROW
  19770. AOD CM+1
  19771. ECB0 LDD CN+3
  19772. SBD CN+1
  19773. STD CM
  19774. ADD CM+1
  19775. ZJN ECB1 IF NO NVE FL
  19776. LDD CM+1 CHECK IF NVE FL IS WITHIN RESERVED BLOCK
  19777. SBD CM+4
  19778. STD CM+4
  19779. PJN ECB0.1 IF NO BORROW
  19780. AOD CM+3 ADJUST FOR BORROW
  19781. AOD CM+4
  19782. ECB0.1 LDD CM
  19783. SBD CM+3
  19784. STD CM+3
  19785. MJN ECB1 IF FL WITHIN RESERVED BLOCK
  19786. ADD CM+4
  19787. ZJN ECB1 IF FL WITHIN RESERVED BLOCK
  19788. LDD CM+4 CONVERT 1000B-WORD BLOCKS TO WORDS
  19789. LPN 7
  19790. SHN 11
  19791. STM DSFL+1
  19792. LDD CM+3
  19793. LPN 7
  19794. SHN 14
  19795. LMD CM+4
  19796. SHN -3
  19797. STM DSFL
  19798.  
  19799. * CLEAR CHECKPOINT AND STEP FLAGS.
  19800.  
  19801. ECB1 LDD AB
  19802. LPC 6763
  19803. STD AB
  19804. LDD CA UPDATE STATUS WORD
  19805. SHN 14
  19806. LMD CA+1
  19807. ADN D7ST
  19808. CWD AB
  19809.  
  19810. * PRESERVE NOS *SCD* ACTIVE STATUS AND CLEAR C170 *MDD* FLAG
  19811. * PP RESIDENT SAVE AREA INTERLOCK.
  19812.  
  19813. ADN D7RS-D7ST
  19814. CRD CN
  19815. LDD CN+1
  19816. LPC 1S10 PRESERVE NOS *SCD* ACTIVE STATUS
  19817. STD CN+1
  19818. LDM MDDP
  19819. LPN 10 SET DEDICATED *MDD* STATUS
  19820. SHN 13-3
  19821. RAD CN+1
  19822. LDD CA
  19823. SHN 14
  19824. LMD CA+1
  19825. ADN D7RS
  19826. CWD CN
  19827. LJM ECB2 UPDATE *DFT* CONTROL WORD
  19828.  
  19829.  
  19830. * *DFT* THRESHOLD REQUEST INFORMATION.
  19831.  
  19832. ECBA VFD 4/,8/RQTH,8/0,8/7,8/0,8/0,8/THCI,8/THUE IOU
  19833. VFD 4/,8/RQTH,8/0,8/7,8/1,8/0,8/THCM,8/THUE MEMORY
  19834. VFD 4/,8/RQTH,8/0,8/7,8/2,8/0,8/THCP,8/THUE CPU-0
  19835. ECBB VFD 4/,8/RQTH,8/0,8/7,8/2,8/1,8/THCP,8/THUE CPU-1
  19836. VFD 60/0 TERMINATOR
  19837. ECBAL EQU *-ECBA LENGTH OF THRESHOLD DATA (PP WORDS)
  19838. EJT SPACE 4,10
  19839. ** EJT - VERIFY EXECUTING JOB TABLE.
  19840. *
  19841. * EXIT (A) = EJT LENGTH.
  19842. *
  19843. * CALLS CTA.
  19844. *
  19845. * MACROS CFI.
  19846.  
  19847.  
  19848. EJT SUBR ENTRY/EXIT
  19849. LDN EJTP
  19850. RJM CTA
  19851. CFI EJT,CM+2
  19852. UJN EJTX RETURN
  19853. EMB SPACE 4,10
  19854. ** EMB - VERIFY ERROR MESSAGE BUFFER.
  19855. *
  19856. * EXIT (A) = ERROR MESSAGE BUFFER LENGTH.
  19857. *
  19858. * USES AB - AB+4, CM - CM+4, CN - CN+4, T1 - T1+4.
  19859. *
  19860. * CALLS CTA.
  19861.  
  19862.  
  19863. EMB6 LDN ZERL
  19864. CRD AB
  19865. CRD CN
  19866. AOD AB
  19867. STD AB+1 SET *MESSAGES LOST* FLAG
  19868. LDC EMBMN-2 DEFAULT TO MINIMUM BUFFER SIZE
  19869. EMBA EQU *-1 (ACTUAL SIZE IF WITHIN LIMITS)
  19870. STD CN+4
  19871. EMB7 LDD CM+1 STORE BUFFER INTERLOCK/*IN* WORD
  19872. SHN 14
  19873. LMD CM+2
  19874. CWD AB
  19875. ADN 1 STORE BUFFER *OUT*/*LIMIT* WORD
  19876. CWD CN
  19877. LDD CN+4
  19878. ADN 2
  19879.  
  19880. EMB SUBR ENTRY/EXIT
  19881. LDC 1S12+EMBP
  19882. RJM CTA
  19883. LDD CM+1 READ BUFFER INTERLOCK/*IN* WORD
  19884. SHN 14
  19885. LMD CM+2
  19886. CRD AB
  19887. ADN 1 READ BUFFER *OUT*/*LIMIT* WORD
  19888. CRD CN
  19889. LDD CN+4
  19890. ADC -EMBMN+2
  19891. ZJN EMB1 IF *LIMIT* IS AT MINIMUM
  19892. MJP EMB6 IF *LIMIT* IS TOO SMALL
  19893. EMB1 LDD CN+4 SET BUFFER RECOVERY SIZE
  19894. STM EMBA
  19895. LDN 0
  19896. STD AB+4 CLEAR INTERLOCK AND *1MD ACTIVE* FLAGS
  19897. STD CM+3 SET *IN*.LT.INDEX CORRECT
  19898. LDD AB+3 *IN*
  19899. SBD CN+4 *LIMIT*
  19900. PJP EMB6 IF *IN*.GE.*LIMIT*
  19901. LDD CN+3 *OUT*
  19902. STD CM+4 SET INITIAL MESSAGE INDEX
  19903. EMB2 SBD CN+4
  19904. MJN EMB4 IF INDEX.LT.*LIMIT*
  19905. NJP EMB6 IF INDEX.GT.*LIMIT*
  19906. EMB3 STD CM+4 RESET MESSAGE INDEX
  19907. EMB4 LDD AB+3 *IN*
  19908. SBD CM+4
  19909. ZJP EMB7 IF ALL MESSAGE HEADERS CHECKED
  19910. PJN EMB5 IF INDEX.LT.*IN*
  19911. LDD CM+3
  19912. NJP EMB6 IF *IN*.LT.INDEX NOT CORRECT
  19913. EMB5 STD CM+3 SET *IN*.LT.INDEX FLAG
  19914. LDD CM+1 READ NEXT MESSAGE HEADER
  19915. SHN 14
  19916. LMD CM+2
  19917. ADD CM+4
  19918. ADN 2
  19919. CRD T1
  19920. LDD T1+3 GET MESSAGE LENGTH FROM HEADER
  19921. ZJN EMB3 IF BUFFER TERMINATOR
  19922. RAD CM+4 INCREMENT BUFFER INDEX
  19923. UJN EMB2 CHECK MESSAGE HEADER WORD COUNT
  19924. EST SPACE 4,10
  19925. ** EST - VERIFY EQUIPMENT STATUS TABLE.
  19926. *
  19927. * EXIT (A) = EST LENGTH.
  19928. * (LE) = LAST MASS STORAGE EQUIPMENT + 1.
  19929. *
  19930. * CALLS CTA, SSE.
  19931. *
  19932. * MACROS CFI, SFA.
  19933.  
  19934.  
  19935. EST2 CFI EST,CM+2
  19936.  
  19937. EST SUBR ENTRY/EXIT
  19938. LDN ESTP
  19939. RJM CTA
  19940. LDD CM+3 SET LAST MASS STORAGE EQUIPMENT + 1
  19941. STD LE
  19942.  
  19943. * CLEAR LOAD FLAGS IN *CM* DEVICE ENTRIES.
  19944.  
  19945. LDC 1S17+2RCM SEARCH FOR *CM* ENTRY
  19946. EST1 RJM SSE
  19947. NJN EST2 IF NONE FOUND
  19948. SFA EST,EQ
  19949. ADN EQAE GET EST ASSIGNMENT WORD
  19950. CRD AB
  19951. LDD AB+2 CLEAR LOAD FLAGS
  19952. LPC 1777
  19953. STD AB+2
  19954. SFA EST,EQ REWRITE EST ENTRY
  19955. ADN EQAE
  19956. CWD AB
  19957. UJN EST1 CHECK NEXT ENTRY
  19958. EVT SPACE 4,10
  19959. ** EVT - VERIFY EVENT TABLE.
  19960. *
  19961. * EXIT (A) = TABLE LENGTH.
  19962. *
  19963. * USES AB - AB+4.
  19964. *
  19965. * CALLS CTA.
  19966.  
  19967.  
  19968. EVT SUBR ENTRY/EXIT
  19969. LDC EVTP
  19970. RJM CTA
  19971. LDD CM CLEAR INTERLOCK
  19972. SHN 14
  19973. LMD CM+1
  19974. CRD AB
  19975. LDD AB+4
  19976. SCN 1
  19977. STD AB+4
  19978. LDD CM
  19979. SHN 14
  19980. LMD CM+1
  19981. CWD AB
  19982. LDN EVTLL TABLE LENGTH
  19983. UJN EVTX RETURN
  19984. EXM SPACE 4,15
  19985. ** EXM - VERIFY EXTENDED MEMORY BUFFERS.
  19986. *
  19987. *
  19988. * ENTRY (EN) = EXTENDED MEMORY EST ORDINAL IF DEFINED.
  19989. * (LD) = LINK DEVICE EST ORDINAL IF DEFINED.
  19990. *
  19991. * EXIT (A) = 0.
  19992. *
  19993. * USES AB - AB+4, CM - CM+4.
  19994. *
  19995. * CALLS CLS, CTA.
  19996.  
  19997.  
  19998. EXM SUBR ENTRY/EXIT
  19999. LDK UEML
  20000. CRD AB
  20001. LDD AB+4
  20002. LPN 2
  20003. ADD LD
  20004. LPC 777
  20005. ADD EN
  20006. ZJN EXMX IF NO EXTENDED MEMORY DEFINED
  20007. LDC EDBP CHECK DISPLAY BUFFER ADDRESS
  20008. RJM CTA
  20009. LDN EDBL CLEAR DISPLAY BUFFER
  20010. RJM CLS
  20011. LDD EN
  20012. ZJN EXM3 IF NO EXTENDED MEMORY DEFINED
  20013. LDC EPBP
  20014. CRD AB
  20015. LDD AB+3
  20016. SHN -6
  20017. STD AB
  20018. ZJN EXM3 IF NO I/O BUFFERS
  20019. LDC 3S12+EPBP
  20020. RJM CTA
  20021. EXM2 LDC ECBL CLEAR BUFFER
  20022. RJM CLS
  20023. SOD AB
  20024. NJN EXM2 IF NOT END OF BUFFERS
  20025. * LDN 0
  20026. EXM3 LJM EXMX RETURN
  20027. EXP SPACE 4,10
  20028. ** EXP - ALLOCATE C176 EXCHANGE PACKAGES.
  20029. *
  20030. * EXIT (A) = 0.
  20031. *
  20032. * CALLS SBD, SXA.
  20033.  
  20034.  
  20035. EXP SUBR ENTRY/EXIT
  20036. LDD HO
  20037. SHN -11
  20038. LMN 7
  20039. NJN EXP1 IF NOT C176
  20040. RJM SBD SEARCH FOR BUFFERED DEVICES
  20041. RJM SXA SETUP EXCHANGE PACKAGES
  20042. EXP1 LDN 0
  20043. UJN EXPX RETURN
  20044. FNT SPACE 4,10
  20045. ** FNT - VERIFY FILE NAME TABLE.
  20046. *
  20047. * EXIT (A) = FNT LENGTH.
  20048. *
  20049. * USES AB - AB+4.
  20050. *
  20051. * CALLS CTA.
  20052. *
  20053. * MACROS CFI.
  20054.  
  20055.  
  20056. FNT SUBR ENTRY/EXIT
  20057. LDN FNTP
  20058. RJM CTA
  20059. LDD CA READ SYSTEM FILE FNT ENTRY
  20060. SHN 14
  20061. LMD CA+1
  20062. ERRNZ SYFO SYSTEM FILE FNT ORDINAL .NE. 0
  20063. CRD AB
  20064. LDD AB+4 SET SYSTEM FILE BUSY
  20065. SCN 1
  20066. LMN 1
  20067. STD AB+4
  20068. LDD CA WRITE SYSTEM FILE FNT ENTRY
  20069. SHN 14
  20070. LMD CA+1
  20071. ERRNZ SYFO SYSTEM FILE FNT ORDINAL .NE. 0
  20072. CWD AB
  20073. CFI FNT,CM+2
  20074. UJN FNTX RETURN
  20075. FOT SPACE 4,10
  20076. ** FOT - VERIFY FAMILY ORDINAL TABLE.
  20077. *
  20078. * EXIT (A) = FOT LENGTH.
  20079. *
  20080. * CALLS CTA.
  20081.  
  20082.  
  20083. FOT SUBR ENTRY/EXIT
  20084. LDC FOTP
  20085. RJM CTA
  20086. LDD CM+2
  20087. UJN FOTX RETURN
  20088. INB SPACE 4,10
  20089. ** INB - VERIFY INSTALLATION BLOCK.
  20090. *
  20091. * EXIT (A) = LENGTH OF BLOCK.
  20092. *
  20093. * CALLS CTA.
  20094.  
  20095.  
  20096. INB SUBR ENTRY/EXIT
  20097. LDC 2S12+INBP
  20098. RJM CTA
  20099. LDD CM+4
  20100. UJN INBX RETURN
  20101. JCA SPACE 4,10
  20102. ** JCA - VERIFY JOB CONTROL BUFFER TABLE (*JCB*).
  20103. *
  20104. * EXIT (A) = LENGTH OF AREA.
  20105. *
  20106. * CALLS CTA.
  20107.  
  20108.  
  20109. JCA SUBR ENTRY/EXIT
  20110. LDK JBCP
  20111. RJM CTA
  20112. LDC MXJC*JCBE
  20113. UJN JCAX RETURN
  20114. LDB SPACE 4,10
  20115. ** LDB - ALLOCATE *L* DISPLAY BUFFER.
  20116. *
  20117. * EXIT (A) = 0.
  20118. *
  20119. * CALLS CLS, CTA.
  20120.  
  20121.  
  20122. LDB SUBR ENTRY/EXIT
  20123. LDC 2S12+LDSP
  20124. RJM CTA
  20125. LDC LDSY+LCOM+5 CLEAR BUFFER
  20126. RJM CLS
  20127. LDN 0
  20128. UJN LDBX RETURN
  20129. LID SPACE 4,10
  20130. ** LID - VERIFY LOGICAL ID TABLE.
  20131. *
  20132. * EXIT (A) = TABLE LENGTH.
  20133. *
  20134. * CALLS CTA.
  20135.  
  20136.  
  20137. LID SUBR ENTRY/EXIT
  20138. LDC LIDP
  20139. RJM CTA
  20140. LDD CM+2
  20141. UJN LIDX RETURN
  20142. MCT SPACE 4,10
  20143. ** MCT - VERIFY MEMORY CONTROL TABLE.
  20144. *
  20145. * EXIT (A) = 0 IF NO PSEUDO CONTROL POINTS.
  20146. * = LENGTH OF PSEUDO CONTROL POINT AREAS.
  20147. *
  20148. * USES T3.
  20149. *
  20150. * CALLS CTA.
  20151.  
  20152.  
  20153. MCT SUBR ENTRY/EXIT
  20154. LDC MCTP
  20155. RJM CTA
  20156. LDD CM+2 FORM MCT LENGTH
  20157. SHN 1
  20158. RAD CA+1 ADVANCE CENTRAL ADDRESS
  20159. SHN -14
  20160. RAD CA
  20161. SOD CM+2 EXTRACT PCP COUNT
  20162. SBD NC
  20163. ZJN MCTX IF NO PSEUDO CONTROL POINTS
  20164. STD T3
  20165. LDC 3S12+PCPP VERIFY PCP POINTER
  20166. RJM CTA
  20167. LDD T3 SET LENGTH OF PCP AREAS
  20168. SHN 7
  20169. UJP MCTX RETURN
  20170. MSA SPACE 4,10
  20171. ** MSA - VERIFY MASS STORAGE ALLOCATION TABLE.
  20172. *
  20173. * EXIT (A) = TABLE LENGTH.
  20174. *
  20175. * CALLS CTA.
  20176.  
  20177.  
  20178. MSA SUBR ENTRY/EXIT
  20179. LDC MSAP
  20180. RJM CTA
  20181. LDN MXRS
  20182. UJN MSAX RETURN
  20183. MST SPACE 4,10
  20184. ** MST - VERIFY MASS STORAGE TABLES.
  20185. *
  20186. * EXIT (A) = 0.
  20187. *
  20188. * USES EQ, AB - AB+4.
  20189. *
  20190. * CALLS RMC, SME.
  20191. *
  20192. * MACROS SFA.
  20193.  
  20194.  
  20195. MST1 RJM RMC RECOVER MST
  20196. RJM SME
  20197. NJN MST1 IF NOT END OF EST
  20198.  
  20199. MST SUBR ENTRY/EXIT
  20200. LDN RDEQ
  20201. STD EQ
  20202. SFA EST,,EQ FETCH EST ENTRY FOR *RD* DEVICE
  20203. CRD AB
  20204. UJN MST1 RECOVER *RD* DEVICE
  20205. ODB SPACE 4,10
  20206. ** ODB - ALLOCATE OPERATOR DISPLAY BUFFER.
  20207. *
  20208. * EXIT (A) = 0.
  20209. *
  20210. * USES CM - CM+4.
  20211. *
  20212. * CALLS CLS.
  20213.  
  20214.  
  20215. ODB SUBR ENTRY/EXIT
  20216. LDN ZERL
  20217. CRD CM
  20218. AOD CM SET UP INTERLOCK WORD
  20219. LDD CA
  20220. SHN 14
  20221. LMD CA+1
  20222. CWD CM
  20223. AOD CA+1
  20224. SHN -14
  20225. RAD CA
  20226. LDN LODS-1 CLEAR BUFFER
  20227. RJM CLS
  20228. LDN 0
  20229. UJN ODBX RETURN
  20230. ORT SPACE 4,16
  20231. ** ORT - VERIFY OPTICAL DISK REQUEST TABLE.
  20232. *
  20233. * EXIT (A) = TABLE LENGTH.
  20234. *
  20235. * CALLS CTA.
  20236. *
  20237. * MACROS CFI.
  20238.  
  20239.  
  20240. ORT SUBR ENTRY/EXIT
  20241. LDC ORTP
  20242. RJM CTA CHECK TABLE ADDRESS
  20243. CFI ORT,CM+2 LENGTH OF TABLE
  20244. UJN ORTX RETURN
  20245. OST SPACE 4,16
  20246. ** OST - VERIFY OPTICAL DISK STATUS TABLE.
  20247. *
  20248. * EXIT (A) = TABLE LENGTH.
  20249. *
  20250. * USES T1.
  20251. *
  20252. * CALLS CTA, SSE.
  20253.  
  20254.  
  20255. OST2 LDD T1 RETURN LENGTH
  20256.  
  20257. OST SUBR ENTRY/EXIT
  20258. LDC OSTP
  20259. RJM CTA CHECK TABLE ADDRESS
  20260. LDN 0
  20261. STD T1
  20262. LDC 1S17+2ROD
  20263. OST1 RJM SSE SEARCH FOR *OD* EQUIPMENT
  20264. NJN OST2 IF NO EQUIPMENT FOUND
  20265. LDN OSTE
  20266. RAD T1
  20267. UJN OST1 LOOP
  20268. PDB SPACE 4,10
  20269. ** PDB - CLEAR PREVIEW DISPLAY BUFFER.
  20270. *
  20271. * USES CA, CA+1.
  20272. *
  20273. * CALLS CLS.
  20274.  
  20275.  
  20276. PDB SUBR ENTRY/EXIT
  20277. LDD CA SET INTERLOCK WORD ADDRESS
  20278. SHN 14
  20279. ADD CA+1
  20280. CWM PDBA,ON INITIALIZE INTERLOCK WORD
  20281. STD CA+1 ADVANCE CENTRAL ADDRESS
  20282. SHN -14
  20283. STD CA
  20284. LDC LPDS-1
  20285. RJM CLS CLEAR PREVIEW DISPLAY BUFFER
  20286. LDN 0
  20287. UJN PDBX RETURN
  20288.  
  20289.  
  20290. PDBA VFD 12/7777B,12/0,12/0,12/0,12/0
  20291. PSV SPACE 4,10
  20292. ** PSV - VERIFY PP SAVE AREAS.
  20293. *
  20294. * EXIT (A) = 0.
  20295. *
  20296. * USES CM - CM+4.
  20297. *
  20298. * CALLS CLS, CTA.
  20299.  
  20300.  
  20301. PSV SUBR ENTRY/EXIT
  20302. LDD LD
  20303. SHN 0-13
  20304. ZJN PSVX IF NO ISHARED DEVICES
  20305. LDC 2S12+PPSP READ POINTER WORD
  20306. RJM CTA CHECK TABLE ADDRESS
  20307. PSV1 LDC PPSA CLEAR SAVE AREA
  20308. RJM CLS
  20309. SOD CM+4
  20310. NJN PSV1 IF MORE SAVE AREAS
  20311. UJN PSVX RETURN
  20312. QFT SPACE 4,10
  20313. ** QFT - VERIFY QUEUE FILE TABLE.
  20314. *
  20315. * EXIT (A) = QFT LENGTH.
  20316. *
  20317. * CALLS CTA.
  20318. *
  20319. * MACROS CFI.
  20320.  
  20321.  
  20322. QFT SUBR ENTRY/EXIT
  20323. LDN QFTP
  20324. RJM CTA
  20325. CFI QFT,CM+2
  20326. UJN QFTX RETURN
  20327. RPT SPACE 4,10
  20328. ** RPT - VERIFY RING PORT TABLE.
  20329. *
  20330. * EXIT (A) = TABLE LENGTH.
  20331. *
  20332. * USES T4.
  20333. *
  20334. * CALLS SSE.
  20335.  
  20336.  
  20337. RPT1 LDN RPTL ADD TABLE LENGTH
  20338. RAD T4
  20339. RPT2 RJM SSE SEARCH FOR *RP* EQUIPMENT
  20340. ZJN RPT1 IF FOUND
  20341. LDD T4
  20342. ZJN RPTX IF NO TABLE SPACE RESERVED
  20343. LDD CA+1
  20344. LPN 1S"RPTSM"-1
  20345. ADD T4
  20346.  
  20347. RPT SUBR ENTRY/EXIT
  20348. LDN 0
  20349. STD T4
  20350. LDC 1S17+2RRP
  20351. UJN RPT2 SEARCH FOR EQUIPMENT
  20352. SAB SPACE 4,10
  20353. ** SAB - VERIFY SYSTEM ATTRIBUTE BLOCK.
  20354. *
  20355. * EXIT (A) = TABLE LENGTH.
  20356. *
  20357. * CALLS CTA.
  20358.  
  20359.  
  20360. SAB SUBR ENTRY/EXIT
  20361. LDK SABL
  20362. RJM CTA
  20363. LDD CM+2 TABLE LENGTH
  20364. UJN SABX RETURN
  20365. SCD SPACE 4,10
  20366. ** SCD - VERIFY *SCD* PARAMETER TABLE.
  20367. *
  20368. * EXIT (A) = 0.
  20369. *
  20370. * USES CM - CM+4.
  20371. *
  20372. * CALLS CLS, CTA, SPT.
  20373.  
  20374.  
  20375. SCD1 LDC PSAL CLEAR SAVE AREA
  20376. RJM CLS
  20377. SCD2 LDN 0
  20378.  
  20379. SCD SUBR ENTRY/EXIT
  20380. LDM C8XX
  20381. NJN SCD2 IF NOT 180-CLASS MAINFRAME
  20382. LDC SCDP FETCH PARAMETER TABLE POINTER
  20383. CRD CM
  20384. LDD CM+2
  20385. ADD CM+3
  20386. ZJN SCD1 IF NO *SCI* PARAMETER TABLE
  20387. LDC 2S12+SCDP
  20388. RJM CTA
  20389. RJM SPT SET UP PARAMETER TABLE
  20390. UJN SCD1 RESERVE PP RESIDENT SAVE AREA
  20391. SCT SPACE 4,10
  20392. ** SCT - VERIFY SUBSYSTEM CONTROL TABLE.
  20393. *
  20394. * EXIT (A) = TABLE LENGTH.
  20395. *
  20396. * CALLS CTA.
  20397.  
  20398.  
  20399. SCT SUBR ENTRY/EXIT
  20400. LDC 2S12+SSCP
  20401. RJM CTA
  20402. LDN SSCTL*2 TABLE LENGTH
  20403. UJN SCTX RETURN
  20404. SDA SPACE 4,10
  20405. ** SDA - VERIFY STATISTICAL DATA AREA.
  20406. *
  20407. * EXIT (A) = STATISTICAL DATA AREA LENGTH.
  20408. *
  20409. * CALLS CTA.
  20410.  
  20411.  
  20412. SDA SUBR ENTRY/EXIT
  20413. LDC SDAP CHECK STATISTICAL AREA POINTER
  20414. RJM CTA
  20415. LDN SDAL SET STATISTICAL AREA LENGTH
  20416. UJN SDAX RETURN
  20417. SIE SPACE 4,10
  20418. ** SIE - *SET* INTERNAL ERROR.
  20419. *
  20420. * ENTRY TABLE VERIFICATION PROCESSOR MISSING.
  20421. *
  20422. * EXIT TO *DSE*.
  20423.  
  20424.  
  20425. SIE CON 0 ENTRY
  20426. LDC =C+*SET* INTERNAL ERROR IN *RCM*.+
  20427. JMP DSE DISPLAY ERROR AND HANG
  20428. SIT SPACE 4,10
  20429. ** SIT - VERIFY *SECDED* ID TABLE.
  20430. *
  20431. * EXIT (A) = 0.
  20432. *
  20433. * CALLS CLS, CTA.
  20434.  
  20435.  
  20436. SIT SUBR ENTRY/EXIT
  20437. LDM C8XX
  20438. ZJN SITX IF LOWER 800 SERIES MAINFRAME
  20439. LDC SCRL
  20440. RJM CTA
  20441. LDN 2*/SCR/UIDL CLEAR *SECDED* ID TABLE
  20442. RJM CLS
  20443. LDN 0
  20444. UJN SITX RETURN
  20445. TRT SPACE 4,10
  20446. ** TRT - VERIFY TRACK RESERVATION TABLE POINTERS.
  20447. *
  20448. * EXIT (A) = 0.
  20449. *
  20450. * USES EQ, CM - CM+4, CN - CN+4.
  20451. *
  20452. * CALLS CDL, SME.
  20453.  
  20454.  
  20455. TRT2 LDD AB+4 FETCH TRT LENGTH
  20456. SHN 3
  20457. ADK TDGL
  20458. CRD CM
  20459. ADN TRLL-TDGL READ TRT ADDRESS
  20460. CRD CN
  20461. LDD CN+4 CHECK TRT ADDRESS
  20462. LMD CA+1
  20463. NJN TRT1 IF ADDRESS BAD
  20464. LDD CN+3
  20465. LPN 77
  20466. LMD CA
  20467. NJN TRT1 IF ADDRESS BAD
  20468. RJM CDL
  20469. RAD CA+1 ADVANCE CENTRAL ADDRESS
  20470. SHN -14
  20471. RAD CA
  20472. TRT3 RJM SME
  20473. NJN TRT2 IF NOT END OF MS EST
  20474.  
  20475. TRT SUBR ENTRY/EXIT
  20476. LDN NOPE-1
  20477. STD EQ
  20478. UJN TRT3 BEGIN EQUIPMENT SEARCH
  20479.  
  20480. TRT1 LDC =C*TRT ADDRESS ERROR.*
  20481. JMP DSE DISPLAY ERROR AND HANG
  20482. TITLE PRIMARY SUBROUTINES.
  20483. CTA SPACE 4,10
  20484. ** CTA - CHECK TABLE ADDRESS.
  20485. *
  20486. * ENTRY (A) BITS 0 - 11 = POINTER WORD ADDRESS.
  20487. * BITS 12 - 14 = BYTE INDEX.
  20488. * (CA - CA+1) = CURRENT CM ADDRESS.
  20489. *
  20490. * EXIT (A) = 0.
  20491. * (T5) = POINTER WORD ADDRESS.
  20492. * (CM - CM+4) = POINTER WORD.
  20493. *
  20494. * USES T4.
  20495.  
  20496.  
  20497. CTA2 LDI T4 CHECK POINTER
  20498. LMD CA
  20499. LPN 77
  20500. NJN CTA1 IF POINTER WORD ERROR
  20501.  
  20502. CTA SUBR ENTRY/EXIT
  20503. STD T5 SAVE POINTER WORD ADDRESS
  20504. SHN -14
  20505. ADN CM SET BYTE ADDRESS WITHIN POINTER WORD
  20506. STD T4
  20507. LDD T5 FETCH POINTER WORD
  20508. CRD CM
  20509. LDM 1,T4 CHECK POINTER VALUE
  20510. LMD CA+1
  20511. ZJN CTA2 IF MATCHING ADDRESS
  20512. CTA1 LDC =C*TABLE ADDRESS ERROR.*
  20513. JMP DSE
  20514. SPACE 4,10
  20515. ** COMMON SUBROUTINES.
  20516.  
  20517.  
  20518. COMMON
  20519. TITLE SUBROUTINES.
  20520. CDP SPACE 4,15
  20521. ** CDP - CHECK DAYFILE POINTERS.
  20522. *
  20523. * ENTRY (T3) = BUFFER NUMBER.
  20524. * (T6 - T7) = FWA OF DAYFILE POINTERS.
  20525. * (CA - CA+1) = ADDRESS OF NEXT BUFFER.
  20526. *
  20527. * EXIT (CA - CA+1) ADVANCED.
  20528. *
  20529. * USES AB - AB+4, CM - CM+4, CN - CN+4.
  20530.  
  20531.  
  20532. CDP SUBR ENTRY/EXIT
  20533. LDD T6 VERIFY BUFFER ADDRESS
  20534. SHN 14
  20535. LMD T7
  20536. CRD CM READ FIRST/IN POINTERS
  20537. ADN 1
  20538. CRD AB
  20539. ADN 1 READ DAYFILE FST
  20540. CRD CN
  20541. LDD CM+1 VERIFY BUFFER POINTER
  20542. LMD CA+1
  20543. NJN CDP1 IF POINTER ERROR
  20544. LDD CM
  20545. LMD CA
  20546. ZJN CDP2 IF POINTER CORRECT
  20547. CDP1 LJM CTA1 *TABLE ADDRESS ERROR.*
  20548.  
  20549. CDP2 STD CM+2 CLEAR UNUSED BYTES
  20550. STD CM+3
  20551. STD AB
  20552. STD AB+1
  20553. STD AB+3
  20554. LDD T3 SET BUFFER INDEX
  20555. SHN 6
  20556. ADC 103 APPEND NOT BUSY / NOT INTERLOCKED STATUS
  20557. STD CN+4
  20558. LDD T6 UPDATE BUFFER POINTERS
  20559. SHN 14
  20560. ADD T7
  20561. CWD CM
  20562. ADN 1
  20563. CWD AB
  20564. ADN 1 STORE DAYFILE FST
  20565. CWD CN
  20566. LDD CM+1 SET NEXT BUFFER ADDRESS
  20567. ADD AB+2
  20568. STD CA+1
  20569. SHN -14
  20570. ADD CM
  20571. STD CA
  20572. LJM CDPX RETURN
  20573. RMC SPACE 4,15
  20574. ** RMC - RECOVER MSTS FROM CMR.
  20575. *
  20576. * ENTRY (EQ) = EST ORDINAL.
  20577. * (AB - AB+4) = EST ENTRY.
  20578. * (CA - CA+1) = CURRENT CM ADDRESS.
  20579. *
  20580. * EXIT (CA - CA+1) = CM ADDRESS ADVANCED.
  20581. * TO *DSE* IF MST POINTER ERROR.
  20582. *
  20583. * USES T1, AB - AB+4, CA - CA+1, CM - CM+4, CN - CN+4.
  20584. *
  20585. * CALLS RCA.
  20586. *
  20587. * MACROS SFA.
  20588.  
  20589.  
  20590. RMC SUBR ENTRY/EXIT
  20591. LDD AB+4 SAVE MST POINTER
  20592. STD T1
  20593. SHN 3
  20594. ADN ACGL GET DEVICE ACTIVITY WORD
  20595. CRD CN
  20596. ADN SDGL-ACGL
  20597. CRD AB
  20598. ADN STLL-SDGL READ DEVICE STATUS WORD
  20599. CRD CM
  20600. RJM RCA CHECK VALID MST POINTER
  20601. LMD T1
  20602. ZJN RMC1 IF VALID ADDRESS
  20603. LDC =C*MST POINTER ERROR.*
  20604. JMP DSE DISPLAY MESSAGE AND HANG
  20605.  
  20606. RMC1 LDD CN+4 CLEAR *ACGL* INTERLOCKS
  20607. LPC 140
  20608. STD CN+4
  20609. LDD CN CLEAR PARITY DEVICE ACCESS BIT FOR THIS MF
  20610. SCN ** (MACHINE MASK)
  20611. RMCA EQU *-1
  20612. STD CN
  20613. LDD AB+3 CHECK DEVICE MNEMONIC
  20614. LMC 2RDE
  20615. ZJN RMC1.1 IF *DE* DEVICE
  20616. LMN 2RDP&2RDE
  20617. ZJN RMC1.1 IF *DP* DEVICE
  20618. LDN 0 CLEAR *DAS* OFFLINE UNIT / CYLINDER COUNT
  20619. STD CN+1
  20620. RMC1.1 LDD AB+4 CLEAR MST/TRT INTERLOCK IN *SDGL*
  20621. SCN 77
  20622. STD AB+4
  20623. LDD CM+1 CLEAR *1MV* ACTIVE FLAG
  20624. LPC -200
  20625. STD CM+1
  20626. LDD CM+4 SET DEVICE NOT BUSY
  20627. SCN 3
  20628. LMN 1
  20629. STD CM+4
  20630. LDD T1
  20631. SHN 3
  20632. ADN ACGL
  20633. CWD CN
  20634. ADN SDGL-ACGL
  20635. CWD AB
  20636. ADN STLL-SDGL
  20637. CWD CM
  20638. ADN BDLL-STLL
  20639. CRD CM
  20640. LDD CM CLEAR 9853/*DAS* FLAGS
  20641. SCN 16
  20642. STD CM
  20643. LDD CM+3 CLEAR DAS MMF PARITY DEVICE ACCESS FLAGS
  20644. LPC 7177
  20645. STD CM+3
  20646. LDD T1
  20647. SHN 3
  20648. ADN BDLL
  20649. CWD CM
  20650. ADK DALL-BDLL
  20651. CRD CN
  20652. ADN CTLL-DALL
  20653. CRD AB
  20654. ADK MCLL-CTLL
  20655. CWD ZR
  20656. LDN 0
  20657. STD AB+2 CLEAR ACTIVE BUFFER COUNT
  20658. STD CN+1 CLEAR UNIT INTERLOCKS
  20659. LDD CN CLEAR DEVICE ACTIVITY
  20660. SCN 77
  20661. STD CN
  20662. LDD T1
  20663. SHN 3
  20664. ADN DALL
  20665. CWD CN
  20666. ADN CTLL-DALL
  20667. CWD AB
  20668. LDD EQ
  20669. NJN RMC2 IF NOT *RD* DEVICE
  20670. SFA EST,,EQ
  20671. CRD CM
  20672. LDC 2RRD RESTORE *RD* DEVICE TYPE
  20673. STD CM+3
  20674. LDN 0
  20675. STD CM+2
  20676. SFA EST,EQ
  20677. CWD CM
  20678. RMC2 LDN MSTXL ADVANCE CM ADDRESS
  20679. RAD CA+1
  20680. SHN -14
  20681. RAD CA
  20682. LJM RMCX RETURN
  20683. SBD SPACE 4,10
  20684. ** SBD - SEARCH FOR BUFFERED DEVICES.
  20685. *
  20686. * EXIT (KI) = BUFFERED DEVICE COUNT.
  20687. *
  20688. * USES EQ, CM - CM+4.
  20689. *
  20690. * CALLS CKB, PBD, SME.
  20691.  
  20692.  
  20693. SBD1 LDD AB+4 READ MST
  20694. SHN 3
  20695. ADN DILL
  20696. CRD CM
  20697. LDD CM+2
  20698. ZJN SBD2 IF NOT BUFFERED DEVICE
  20699. RJM PBD
  20700. SBD2 RJM SME
  20701. NJN SBD1 IF NOT END OF EST
  20702.  
  20703. SBD SUBR ENTRY/EXIT
  20704. LDN 0
  20705. STD EQ
  20706. RJM CKB CLEAR CHANNEL ACCUMULATOR
  20707. UJN SBD2 ENTER LOOP
  20708. TITLE LEVEL 3 OPTION PROCESSING.
  20709. SPACE 4,10
  20710. * LEVEL 3 DEADSTART SYNTAX TABLE.
  20711.  
  20712.  
  20713. TSYN BSS 0
  20714. CON ABT
  20715. CON AUT
  20716. CON DAU
  20717. CON GRN
  20718. CON RGO
  20719. CON UPC
  20720. CON 0 END OF TABLE
  20721. ABT SPACE 4,10
  20722. *** ABORT.
  20723. * ABORT,B.
  20724. * ABORTS LEVEL 3 RECOVERY. CHECKPOINTS ALL DEVICES UNLESS
  20725. * *B* IS SPECIFIED IN WHICH CASE ONLY NON-BUFFERED DEVICES
  20726. * ARE CHECKPOINTED.
  20727.  
  20728.  
  20729. ABT DATA C*ABORT*
  20730. LDM DSTO SAVE CURRENT ABORT OPTION
  20731. LPN 14
  20732. STD T1
  20733. LDI KA
  20734. LMN 1R.
  20735. ZJN ABT3 IF *.*
  20736. LMN 1R,&1R.
  20737. NJN ABT1 IF NOT *,*
  20738. AOD KA
  20739. LDI KA
  20740. LMN 1RB
  20741. ZJN ABT2 IF *B*
  20742. ABT1 JMP ILL PROCESS INCORRECT ENTRY
  20743.  
  20744. ABT2 LDN 14
  20745. ABT3 LMN 4
  20746. STD T0
  20747. SBD T1
  20748. NJN ABT4 IF NOT SAME ABORT OPTION
  20749. STD T0
  20750. ABT4 LDM DSTO SET ABORT OPTION
  20751. SCN 14
  20752. LMD T0
  20753. STM DSTO
  20754. LPN 4 UPDATE *ABORT.* OPTION LINE
  20755. SHN 21-2
  20756. ADC OBUFA
  20757. RJM UDS
  20758. LDD T0 UPDATE *ABORT,B.* OPTION LINE
  20759. LPN 10
  20760. SHN 21-3
  20761. ADC OBUFB
  20762. ABT5 RJM UDS UPDATE DISPLAY STATUS
  20763. JMP KBR RETURN
  20764. AUT SPACE 4,10
  20765. *** AUTOLOAD.
  20766. * TOGGLE SELECTION OF AUTOLOADING OF MASS STORAGE CONTROLLERS.
  20767. * INITIALLY AUTOLOADING IS SELECTED.
  20768.  
  20769.  
  20770. AUT DATA C*AUTOLOAD.*
  20771. LDN 2 TOGGLE AUTOLOAD OPTION BIT
  20772. LMM DSTO
  20773. STM DSTO
  20774. LPN 2
  20775. LMN 2
  20776. SHN 21-1
  20777. ADC OBUFC
  20778. JMP ABT5 UPDATE DISPLAY STATUS
  20779. DAU SPACE 4,10
  20780. *** AUTO.
  20781. * TOGGLE THE *DSD* *AUTO* COMMAND SELECTION.
  20782. * INITIALLY *AUTO* IS SELECTED.
  20783.  
  20784.  
  20785. DAU DATA C*AUTO.*
  20786. AOM DAUA TOGGLE THE SELECT
  20787. LPN 1
  20788. SHN 21-0
  20789. ADC OBUFE
  20790. JMP ABT5 UPDATE DISPLAY STATUS
  20791.  
  20792. DAUA CON 1 DEFAULT STATUS IS *YES*
  20793. GRN SPACE 4,10
  20794. *** GRENADE.
  20795. * TOGGLE SELECTION OF THE GRENADE OPERATION FOR MASS STORAGE
  20796. * CONTROLLERS THAT ARE AUTOLOADED. INITIALLY THE GRENADE
  20797. * OPERATION IS NOT SELECTED.
  20798. *
  20799. * THE GRENADE OPERATION CAN INTERRUPT ACTIVITY ON A DRIVE
  20800. * WHICH IS BEING ACCESSED FROM ANOTHER CONTROLLER.
  20801.  
  20802.  
  20803. GRN DATA C*GRENADE.*
  20804. LDN 1 TOGGLE GRENADE OPTION BIT
  20805. LMM DSTO
  20806. STM DSTO
  20807. LPN 1
  20808. SHN 21-0
  20809. ADC OBUFD
  20810. JMP ABT5 UPDATE DISPLAY STATUS
  20811. RGO SPACE 4,10
  20812. *** GO.
  20813. * CONTINUE WITH RECOVERY.
  20814.  
  20815.  
  20816. RGO DATA C*GO.*
  20817. RGO1 LDN 0 GET CHANNEL WORD
  20818. RJM GCW
  20819. LDI T1
  20820. LPN 40
  20821. ZJN RGO2 IF CHANNEL UP
  20822. LDN 0 SET DISPLAY REQUESTED
  20823. STD DS
  20824. LDC OBUFLA DISPLAY THE CHANNEL DOWN STATUS
  20825. STM DRBA
  20826. LJM DRO1 UPDATE DISPLAY
  20827.  
  20828. RGO2 LDM DAUA CHECK *AUTO* SELECT
  20829. LPN 1
  20830. ZJN RGO3 IF *AUTO* NOT SELECTED
  20831. LDK PPCP LOCATE *DSD* PP COMMUNICATION AREA
  20832. CRD CM
  20833. LDD CM+4
  20834. ADN 10+2
  20835. CWM DAU,ON
  20836. RGO3 LJM DROX RETURN
  20837. UPC SPACE 4,10
  20838. *** UPCHAN.
  20839. * CLEAR THE DOWN STATUS OF THE DEADSTART CHANNEL.
  20840.  
  20841.  
  20842. UPC DATA C*UPCHAN.*
  20843. LDC OBUFL RESET THE DISPLAY
  20844. STM DRBA
  20845. LDN 0 GET CHANNEL WORD
  20846. RJM GCW
  20847. LDI T1 CLEAR THE DOWN STATUS
  20848. SCN 40
  20849. STI T1
  20850. LDD T2 STORE THE CHANNEL WORD
  20851. SHN 14
  20852. LMD T3
  20853. CWD CM
  20854. LDN CTALL ACCESS THE EJT ASSIGNMENT TABLE
  20855. RJM GCW
  20856. LDN 0 CLEAR POSSIBLE EJT ASSIGNMENT
  20857. STI T1
  20858. LDD T2 RESTORE THE WORD
  20859. SHN 14
  20860. LMD T3
  20861. CWD CM
  20862. LDK ESTP
  20863. CRD AB
  20864. UPC1 SOD AB+2
  20865. ZJP RGO2 IF END OF EST
  20866. SFA EST
  20867. ADK EQDE
  20868. CRD CM
  20869. LDN CM INITIALIZE CHANNEL INDEX
  20870. STD T1
  20871. UPC2 AOD T1 ADVANCE CHANNEL BYTE INDEX
  20872. LMN CM+3
  20873. ZJN UPC1 IF NO MORE CHANNELS
  20874. LDI T1
  20875. ZJN UPC1 IF NULL CHANNEL
  20876. LMD DH
  20877. LPN 77
  20878. NJN UPC2 IF NOT DEADSTART CHANNEL
  20879. LDI T1 CLEAR DOWN STATUS
  20880. LPC 4777
  20881. STI T1
  20882. SFA EST,AB+2 UPDATE EST ENTRY
  20883. ADK EQDE
  20884. CWD CM
  20885. UJN UPC1 LOOP ON SEARCH
  20886. DRO SPACE 4,10
  20887. ** DRO - DISPLAY RECOVERY OPTIONS.
  20888. *
  20889. * USES DP.
  20890. *
  20891. * CALLS AKL, CKB.
  20892. *
  20893. * MACROS CFNC, DFIM.
  20894. *
  20895. * NOTES EXIT FROM *DRO* IS THRU KEYBOARD ASSEMBLY ON
  20896. * A *GO.* COMMAND.
  20897.  
  20898.  
  20899. DFIM (CON SDCF),*+1
  20900. DROX LDC DDCF DESELECT DISPLAY CONTROLLER
  20901. CFNC
  20902. LDD TH DELAY
  20903. SBN 1
  20904. NJN *-1
  20905. DCN. CH
  20906.  
  20907. LJM * ENTRY/EXIT
  20908. DRO EQU *-1
  20909. LDC DRB
  20910. STM AKLB
  20911. LDC ** SET *IBF* IMMEDIATE RETURN
  20912. ORG *-1
  20913. LOC IBFA
  20914. UJN IBFX RETURN
  20915. LOC *O
  20916. STM IBFA
  20917. LDN DP
  20918. STD LA
  20919. LDC TSYN-1 SET SYNTAX TABLE ADDRESS
  20920. STI LA
  20921. LDN 1 SET KEYBOARD ASSEMBLY
  20922. STD AM
  20923. LDD DS
  20924. NJP RGO1 IF NO DISPLAY REQUESTED
  20925. DRO1 AOM AKLA
  20926. DRO2 RJM AKL ASSEMBLE KEYBOARD LINE
  20927. LDD KI
  20928. ZJN DRO2 IF NO INPUT
  20929. RJM CKB
  20930. UJN DRO1 GET NEXT LINE
  20931. DRB SPACE 4,10
  20932. ** DRB - DISPLAY LEVEL 3 RECOVERY BUFFERS.
  20933. *
  20934. * MACROS CFNC.
  20935.  
  20936.  
  20937. DRB SUBR ENTRY/EXIT
  20938. CFNC SLMF SELECT LEFT SCREEN - MEDIUM CHARACTERS
  20939. LDC OBUFL DISPLAY OPTIONS
  20940. * LDC OBUFLA (DEADSTART CHANNEL DOWN)
  20941. DRBA EQU *-1
  20942. OAM OBUF,CH
  20943. FJM. *,CH WAIT TRANSMISSION COMPLETE
  20944. DCN. CH
  20945. CFNC SRSF SELECT RIGHT SCREEN - SMALL CHARACTERS
  20946. LDC IBUFL DISPLAY INSTRUCTIONS
  20947. OAM IBUF,CH
  20948. STM AKLA
  20949. CFNC THCF TRANSFER HIDDEN AND CLEAR
  20950. DCN. CH
  20951. UJP DRBX RETURN
  20952. GCW SPACE 4,10
  20953. ** GCW - GET CHANNEL CONTROL WORD.
  20954. *
  20955. * ENTRY (A) = CHANNEL TABLE OFFSET.
  20956. *
  20957. * EXIT (T1) = BYTE ADDRESS.
  20958. * (T2 - T3) = CM WORD ADDRESS.
  20959. * (CM - CM+4) = CHANNEL TABLE WORD.
  20960. *
  20961. * USES CM - CM+4, T1 - T3.
  20962.  
  20963.  
  20964. GCW SUBR ENTRY/EXIT
  20965. STD T3 SAVE TABLE OFFSET
  20966. LDD DH DEADSTART CHANNEL
  20967. STD T1
  20968. GCW1 AOD T3 INCREMENT WORD INDEX
  20969. LCN 5 DIVIDE BY 5 LOOP
  20970. RAD T1
  20971. PJN GCW1 IF NOT END OF DIVIDE
  20972. ADN 5+CM
  20973. STD T1
  20974. LDK CHTP FORM ADDRESS
  20975. CRD CM
  20976. LDD CM+2
  20977. SHN 14
  20978. LMD CM+3
  20979. SBN 1
  20980. ADD T3 ADD WORD INDEX
  20981. CRD CM
  20982. STD T3
  20983. SHN -14
  20984. STD T2
  20985. UJN GCWX RETURN
  20986. UDS SPACE 4,10
  20987. ** UDS - UPDATE DISPLAY STATUS.
  20988. *
  20989. * *UDS* UPDATES THE SELECTION STATUS (YES OR NO) OF A
  20990. * COMMAND IN THE OPTION DISPLAY BUFFER.
  20991. *
  20992. * ENTRY (A) = 1/ST, 5/0, 12/BUF.
  20993. * ST = SELECTION STATUS (0=NO, 1=YES).
  20994. * BUF = DISPLAY BUFFER ADDRESS.
  20995. *
  20996. * USES T1, T2.
  20997.  
  20998.  
  20999. UDS SUBR ENTRY/EXIT
  21000. STD T1 SAVE DISPLAY BUFFER ADDRESS
  21001. SHN 1-21 SELECTION STATUS * 2
  21002. ADC UDSA
  21003. STD T2
  21004. LDI T2 UPDATE DISPLAY
  21005. STI T1
  21006. LDM 1,T2
  21007. STM 1,T1
  21008. UJN UDSX RETURN
  21009.  
  21010. UDSA DATA H* NO*
  21011. DATA H* YES*
  21012. SPACE 4,10
  21013. * LEVEL 3 OPTION BUFFER (LEFT SCREEN).
  21014.  
  21015. OBUF BSS 0
  21016. DFIM (CON YCPH)
  21017. CON LN03,CH17
  21018. DATA H*LEVEL 3 OPTIONS*
  21019. DFIM (CON LN07)
  21020. CON LN13,CH09
  21021. DATA H*ABORT.*
  21022. CON CH49
  21023. OBUFA DATA H* NO*
  21024. DFIM (CON LN11)
  21025. CON LN19,CH09
  21026. DATA H*ABORT,B.*
  21027. CON CH49
  21028. OBUFB DATA H* NO*
  21029. DFIM (CON LN15)
  21030. CON LN25,CH09
  21031. DATA H*AUTOLOAD.*
  21032. CON CH49
  21033. OBUFC DATA H* YES*
  21034. DFIM (CON LN19)
  21035. CON LN31,CH09
  21036. DATA H*GRENADE.*
  21037. CON CH49
  21038. OBUFD DATA H* NO*
  21039. DFIM (CON LN23)
  21040. CON LN37,CH09
  21041. DATA H*AUTO.*
  21042. CON CH49
  21043. OBUFE DATA H* YES*
  21044. OBUFL EQU *-OBUF
  21045. DFIM (CON LN26)
  21046. CON LN43,CH09
  21047. DATA H*DEADSTART CHANNEL IS DOWN,*
  21048. DFIM (CON LN27)
  21049. CON LN45,CH09
  21050. DATA H$ENTER *UPCHAN.* TO CONTINUE.$
  21051. OBUFLA EQU *-OBUF
  21052.  
  21053. * LEVEL 3 INSTRUCTION BUFFER (RIGHT SCREEN).
  21054.  
  21055. IBUF BSS 0
  21056. CON YCPH,CH03
  21057. DATA H*INSTRUCTIONS FOR SELECTING LEVEL 3 RECOVERY OPTIONS.*
  21058. CON HL03,CH07
  21059. DATA H*ENTER COMMAND TO TOGGLE SELECTION.*
  21060. CON HL04,CH07
  21061. DATA H*ENTER GO. TO CONTINUE RECOVERY.*
  21062.  
  21063. CON LN07,CH03
  21064. DATA H*ABORT.*
  21065. CON LN08,CH07
  21066. DATA H*CHECKPOINT ALL DEVICES AND ABORT LEVEL 3 RECOVERY.*
  21067. CON LN09,CH07
  21068. DATA H+SELECTING *ABORT.* DESELECTS *ABORT,B.*.+
  21069.  
  21070. CON LN11,CH03
  21071. DATA H*ABORT,B.*
  21072. CON LN12,CH07
  21073. DATA H*CHECKPOINT ALL NON-BUFFERED DEVICES AND ABORT LEVEL*
  21074. CON LN13,CH07
  21075. DATA H+3 RECOVERY. SELECTING *ABORT,B.* DESELECTS *ABORT.*+
  21076.  
  21077. CON LN15,CH03
  21078. DATA H*AUTOLOAD.*
  21079. CON LN16,CH07
  21080. DATA H*TOGGLE THE SELECTION OF BUFFER CONTROLLER AUTOLOADING
  21081. ,.*
  21082.  
  21083. CON LN18,CH03
  21084. DATA H*GRENADE.*
  21085. CON LN19,CH07
  21086. DATA H*TOGGLE THE SELECTION OF THE GRENADE FUNCTION. THE*
  21087. CON LN20,CH07
  21088. DATA H*GRENADE FUNCTION IS ISSUED ONCE THE CONTROLWARE IS*
  21089. CON LN21,CH07
  21090. DATA H*LOADED, CAUSING UNIT RESERVATIONS TO BE CLEARED ON*
  21091. CON LN22,CH07
  21092. DATA H*ALL 844 UNITS PHYSICALLY CONNECTED TO EACH CONTROLLER
  21093. ,.*
  21094.  
  21095. CON LN24,CH03
  21096. DATA H*AUTO.*
  21097. CON LN25,CH07
  21098. DATA H*TOGGLE THE SELECTION OF THE DSD AUTO COMMAND.*
  21099. IBUFL EQU *-IBUF
  21100. SPACE 4,10
  21101. USE LITERALS DUMP LITERALS BLOCK
  21102. PRT SPACE 4,10
  21103. ** PRT - PRESET *RCT*.
  21104. *
  21105. * USES CM - CM+4.
  21106. *
  21107. * MACROS MDIN.
  21108.  
  21109.  
  21110. PRT SUBR ENTRY/EXIT
  21111. LDK MMFL
  21112. CRD CM
  21113. LDD CM+3 SET MACHINE MASK
  21114. RAM RMCA
  21115. LDM .DCS
  21116. ZJN PRTX IF DEADSTART INITIATED FROM CC545
  21117. MDIN MODIFY DISPLAY GENERATORS
  21118. UJN PRTX RETURN
  21119. SPACE 4,10
  21120. * INSTRUCTION MODIFICATION BLOCK.
  21121.  
  21122.  
  21123. DIMB
  21124.  
  21125.  
  21126. ERRNG 7777-*-4 IF OVERFLOW OF PP
  21127. TTL SET/SCP - SETUP CONTROL POINT AREAS.
  21128. TITLE
  21129. IDENT SCP,OVL
  21130. QUAL SCP
  21131. ORG OVL
  21132. *COMMENT SET - SETUP CONTROL POINT AREAS.
  21133. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  21134. SCP SPACE 4,10
  21135. ** SCP - SETUP CONTROL POINTS.
  21136. *
  21137. *
  21138. * USES AB - AB+4, CM - CM+4, CN - CN+4, T1 - T6.
  21139. *
  21140. * CALLS INO, IRS, SCA, SFL, SMT, SSF, SXP.
  21141.  
  21142.  
  21143. SCP SUBR ENTRY/EXIT
  21144. RJM INO INITIALIZE OVERLAY
  21145. LDN 0
  21146. RJM SSF SETUP *CMRL*+1
  21147. LDC UEML
  21148. CRD AB
  21149. ADN CPAS-UEML SET FIRST CONTROL POINT ADDRESS
  21150. STD T1
  21151. LDD HO
  21152. SHN 21-13
  21153. LMD AB+4 GET CM COPY FLAG
  21154. SCN 1
  21155. LMM EMAF GET EXPANDED MODE ADDRESSING FLAG
  21156. SHN 10-1
  21157. LPC 700
  21158. LMD HN SET/CLEAR UEM ENABLE FLAG
  21159. STM SCPG
  21160. SCP1 RJM SFL SETUP CP FIELD LENGTH WORDS
  21161. LDN ZERL
  21162. CRD AB
  21163. CRD CM
  21164. CRD CN
  21165. LDD T1 SET MA
  21166. STD CM+1
  21167. ADN FLSW FETCH CM FL CONTROL WORD
  21168. CRD T2
  21169. LDD T5 SET RA
  21170. SHN 6
  21171. STD AB+1
  21172. LMD AB+1
  21173. LMD T4
  21174. SHN 6
  21175. STD AB
  21176. LDD T6 SET FL
  21177. SHN 6
  21178. STD CN+1
  21179. SHN -14
  21180. STD CN
  21181. LDD T1
  21182. ADN 1 STORE (RA)
  21183. CWD AB
  21184. ADN 2-1 STORE (FL)
  21185. CWD CN
  21186. ADN 3-2 STORE (EM)
  21187. CWM SCPG,ON
  21188. ADN ECSW-4 FETCH EXTENDED MEMORY FL CONTROL WORD
  21189. CRD T2
  21190. LDD T4 SET RAE
  21191. SHN 14
  21192. ADD T5
  21193. SCPA SHN 21-2
  21194. * SHN 21-2+UESC
  21195. STD AB
  21196. SHN -6
  21197. SCN 77
  21198. STD AB+1
  21199. LDD T6 SET FLE
  21200. SCPB SHN 21-2
  21201. * SHN 21-2+UESC
  21202. STD CN
  21203. SHN -6
  21204. SCN 77
  21205. STD CN+1
  21206. LDM EMAF
  21207. ZJN SCP2 IF NOT EXPANDED MODE
  21208. LDD AB CONVERT RAE TO EXPANDED FORMAT
  21209. SHN 14
  21210. STD AB
  21211. LMD AB+1
  21212. SHN -6
  21213. STD AB+1
  21214. LDD CN CONVERT FLE TO EXPANDED FORMAT
  21215. SHN 14
  21216. STD CN
  21217. LMD CN+1
  21218. SHN -6
  21219. STD CN+1
  21220. SCP2 LDD T1
  21221. ADN 4 STORE (RAE)
  21222. CWD AB
  21223. ADN 5-4 STORE (FLE)
  21224. CWD CN
  21225. ADN 6-5 STORE (MA)
  21226. CWD CM
  21227. ADN 7-6 STORE (EA)
  21228. CWD CM
  21229. ADN TFSW-7 FETCH EST ORDINAL
  21230. CRD T2
  21231. LDD T2
  21232. ZJN SCP4 IF NO JOB ASSIGNED
  21233. LDD T1
  21234. ADN STSW FETCH CP STATUS
  21235. CRD CM
  21236. LDN 0 CLEAR PP ACTIVITY
  21237. STD CM
  21238. SCP4 RJM IRS
  21239. ADN SPCW-STSW CLEAR SPECIAL PROCESSOR CALL WORD
  21240. CWD ZR
  21241. ADC CRCW-SPCW CLEAR *X* STATUS CPU RECALL CRITERION
  21242. CWD ZR
  21243. LDD T1 SET UP FLSW+1
  21244. RJM SSF
  21245. LDC 200 ADVANCE CP ADDRESS
  21246. RAD T1
  21247. SHN -7
  21248. SBD NC
  21249. MJP SCP1 IF NOT END OF CP-S
  21250.  
  21251. * SET UP SYSTEM CONTROL POINT.
  21252.  
  21253. RJM SFL SETUP FIELD LENGTH WORDS
  21254. RJM SXP SETUP *CPUMTR* PRESET EXCHANGE PACKAGE
  21255. ADN CWQW-15 STORE CPU SCHEDULING PARAMETERS
  21256. CWM SCPD,ON
  21257. ADN FLSW-CWQW-1
  21258. CWD ZR
  21259. ADN JCIW-FLSW STORE JOB CONTROL
  21260. CWM SCPH,ON
  21261. ADN CPTW-JCIW-1
  21262. CWD ZR
  21263. CRD CM
  21264. ADN MP3W-CPTW
  21265. CWM SCPI,ON DISABLE SRU ACCUMULATION
  21266. ADN STLW-MP3W
  21267. CWM SCPE,ON SET MAXIMUM LIMITS FOR SRU AND TIME
  21268. ADN ALMW-STLW-1
  21269. CWM SCPE,ON
  21270. ADK ACLW-ALMW-1
  21271. CWM SCPE,ON
  21272. ADK AACW-ACLW-1
  21273. CWM SCPE,ON
  21274. ADN CPLW-AACW-1
  21275. CWM SCPF,ON
  21276. LDD T1 SETUP *FLSW*+1
  21277. RJM SSF
  21278. LDM SPPC INITIALIZE PP RECALL STACK
  21279. RJM IRS
  21280. LDM .NPCP SET NUMBER OF PSEUDO CONTROL POINTS
  21281. STD T2
  21282. ZJN SCP6 IF NONE OR CM RECOVERY
  21283.  
  21284. * SET UP PSEUDO CONTROL POINT AREAS.
  21285.  
  21286. LDD NC INITIALIZE PCP NUMBER
  21287. STD T1
  21288. SBN CPLK CP LINK TO PCP-S
  21289. SHN 7
  21290. ADN FLSW GET MEMORY CONTROL WORDS
  21291. CRM MCWB,TR
  21292. SCP5 AOD T1 ADVANCE AND SET PCPA ADDRESS
  21293. RJM SCA
  21294. ADN FLSW STORE MEMORY CONTROL WORDS
  21295. CWM MCWB,TR
  21296. SOD T2
  21297. NJN SCP5 IF MORE PCP-S
  21298.  
  21299. * BUILD MEMORY CONTROL TABLE.
  21300.  
  21301. SCP6 UJN SCP7 SKIP TABLE ON CM RECOVERY
  21302. SCPC EQU SCP6
  21303. * PSN (NON CM RECOVERY)
  21304. RJM SMC SET UP MEMORY CONTROL TABLE
  21305. LDN ACML STORE UNASSIGNED MEMORY
  21306. CWM .ACML,ON
  21307. SCP7 LJM SCPX RETURN
  21308.  
  21309.  
  21310. SCPD VFD 2/1,7/MPRS,3/2,12/0,9//SCD/SSSC*JCBE,3/0,24/0
  21311. SCPE VFD 60/-0
  21312. SCPF VFD 60/37777777777777777777B
  21313. SCPG VFD 60/0 EXCHANGE PACKAGE WORD WITH CM COPY FLAG
  21314. SCPH VFD 24/0,12/7777,24/0
  21315.  
  21316. SCPI VFD 1/1,59/0
  21317. TITLE SUBROUTINES.
  21318. SPACE 4,10
  21319. ** COMMON SUBROUTINES.
  21320.  
  21321.  
  21322. MCTSUB
  21323. IRS SPACE 4,10
  21324. ** IRS - INITIALIZE PP RECALL STACK.
  21325. *
  21326. * ENTRY (T1) = CONTROL POINT ADDRESS.
  21327. * (CM - CM+4) = *STSW* WORD.
  21328. *
  21329. * EXIT (A) = ADDRESS OF *STSW* WORD.
  21330. * *STSW* WORD UPDATED IN CONTROL POINT AREA.
  21331. *
  21332. * USES T2 - T2+4.
  21333.  
  21334.  
  21335. IRS SUBR ENTRY/EXIT
  21336. LDN ZERL
  21337. CRD T2
  21338. LDN 2
  21339. STD T2+4
  21340. IRS1 LDD T1 INITIALIZE RECALL LINKAGE BLOCK
  21341. ADC RCCW-2
  21342. ADD T2+4
  21343. CWD T2
  21344. ADN RECW-RCCW CLEAR REQUEST BLOCK
  21345. CWD ZR
  21346. AOD T2+4 ADVANCE LINKAGE
  21347. LMN LREC+1
  21348. NJN IRS1 IF NOT END OF RECALL AREA
  21349. LDD CM+1
  21350. LMK PEET
  21351. ZJN IRS2 IF CPU PARITY ERROR
  21352. LDN 0 CLEAR ERROR FLAG
  21353. STD CM+1
  21354. IRS2 LDN 1 SET NEXT AVAILABLE RECALL SLOT
  21355. STD CM+4
  21356. LDD T1 STORE CONTROL POINT STATUS WORD
  21357. ADN STSW
  21358. CWD CM
  21359. UJN IRSX RETURN
  21360. SFL SPACE 4,10
  21361. ** SFL - SET CONTROL POINT FIELD LENGTH WORDS.
  21362. *
  21363. * ENTRY (T1) = CP ADDRESS.
  21364. * (NC) = SYSTEM CONTROL POINT NUMBER.
  21365. *
  21366. * EXIT *FLSW* WRITTEN TO CP AREA.
  21367. * *ECSW* WRITTEN TO CP AREA.
  21368.  
  21369.  
  21370. SFL1 LDN SFLE-SFLD SET *FLSW* FOR REMAINING CP-S
  21371. RAM SFLB
  21372. LDN SFLG-SFLF SET *ECSW* FOR REMAINING CP-S
  21373. SFL2 RAM SFLC
  21374.  
  21375. SFL SUBR ENTRY/EXIT
  21376. SFLA UJN SFLX RETURN IF CM RECOVERY
  21377. * PSN (IF INITIALIZING CM)
  21378. LDD T1
  21379. ADN FLSW
  21380. CWM SFLD,ON STORE *FLSW* FOR FIRST CP
  21381. * CWM SFLE,ON (*FLSW* FOR REMAINING CP-S)
  21382. SFLB EQU *-1
  21383. ADK ECSW-FLSW-1
  21384. CWM SFLF,ON STORE *ECSW* FOR FIRST CP
  21385. * CWM SFLG,ON (*ECSW* FOR REMAINING CP-S)
  21386. * CWM SFLH,ON (*ECSW* FOR SYSTEM CP)
  21387. SFLC EQU *-1
  21388. SHN -7
  21389. SBN 1
  21390. ZJN SFL1 IF FIRST CP
  21391. SBD NC
  21392. ADN 2
  21393. NJN SFLX IF NOT LAST CP
  21394. LDN ZERL
  21395. CRM SFLE,ON SET *FLSW* FOR SYSTEM CP
  21396. LDN SFLH-SFLG
  21397. UJN SFL2 SET *ECSW* FOR SYSTEM CP
  21398.  
  21399.  
  21400. SFLD VFD 60/0 *FLSW* FOR FIRST CONTROL POINT
  21401. SFLE VFD 60/0 *FLSW* FOR CONTROL POINTS
  21402. SFLF VFD 60/0 *ECSW* FOR FIRST CONTROL POINT
  21403. SFLG VFD 60/0 *ECSW* FOR CONTROL POINTS
  21404. SFLH VFD 60/0 *ECSW* FOR SYSTEM CONTROL POINT
  21405. SMC SPACE 4,10
  21406. ** SMC - SETUP MEMORY CONTROL TABLE.
  21407. *
  21408. * ENTRY (NC) = SYSTEM CP NUMBER.
  21409. * (NS) = MCT ENTRY COUNT.
  21410. *
  21411. * USES KA, KB, CN - CN+4.
  21412. *
  21413. * CALLS CTE.
  21414.  
  21415.  
  21416. SMC SUBR ENTRY/EXIT
  21417. LDN 0
  21418. STD KA INITIALIZE CP NUMBER
  21419. CRD CN
  21420. LDD NS SET MCT ENTRY COUNT
  21421. STD KB
  21422. SMC1 LDD KA
  21423. STD CN SET BACKWARD LINK
  21424. LDD CN+1
  21425. STD KA CURRENT = PREVIOUS FORWARD LINK
  21426. LMD NC
  21427. ZJN SMC3 IF CREATING ENTRY FOR SYSTEM CP
  21428. AOD CN+1
  21429. ADN CPLK CHECK NEW FORWARD LINK
  21430. SBD NC
  21431. NJN SMC2 IF NOT CP TO LINK TO PCP-S
  21432. LDD NC
  21433. ADN 1 SET FIRST PCP NUMBER
  21434. STD CN+1
  21435. SMC2 LDD CN+1 CHECK NEW FORWARD LINK
  21436. LMD NS
  21437. NJN SMC4 IF NOT LINKING OUT OF PCP-S
  21438. LDD NC
  21439. SBN CPLK SET FORWARD LINK TO REAL CP
  21440. SMC3 STD CN+1
  21441. SMC4 LDN FLSW CREATE TABLE ENTRY FOR CM
  21442. RJM CTE
  21443. SMCA UJN SMC5 (USER XM NOT IN UEM)
  21444. ORG SMCA
  21445. LDN ECSW CREATE TABLE ENTRY FOR XM
  21446. RJM CTE
  21447. SMC5 SOD KB
  21448. NJN SMC1 IF NOT END OF TABLE
  21449. UJP SMCX RETURN
  21450. SSF SPACE 4,10
  21451. ** SSF - SET SECOND FLSW/CMRL WORD.
  21452. *
  21453. * ENTRY (A) = CONTROL POINT AREA ADDRESS.
  21454. *
  21455. * USES AB - AB+4.
  21456.  
  21457.  
  21458. SSF SUBR ENTRY/EXIT
  21459. ADN FLSW
  21460. CRD AB
  21461. STD T0
  21462. LDD AB+2 FORM RA - NFL
  21463. SHN 14
  21464. ADD AB+3
  21465. SBD AB
  21466. STD AB+2
  21467. SHN -14
  21468. STD AB+1
  21469. LDC 4000 FORM 4000 + NFL
  21470. ADD AB
  21471. STD AB+3
  21472. LDN 0
  21473. STD AB
  21474. AOD T0 WRITE SECOND WORD
  21475. CWD AB
  21476. UJN SSFX RETURN
  21477. SXP SPACE 4,15
  21478. ** SXP - SETUP *CPUMTR* PRESET EXCHANGE PACKAGE.
  21479. *
  21480. * ENTRY (EN) = EXTENDED MEMORY EST ORDINAL.
  21481. * (HO) = HARDWARE OPTIONS.
  21482. * (NC) = SYSTEM CONTROL POINT NUMBER.
  21483. * (FL - FL+1) = CM FIELD LENGTH.
  21484. *
  21485. * EXIT (A) = EXCHANGE PACKAGE ADDRESS OF X5.
  21486. * (T1) = EXCHANGE PACKAGE ADDRESS.
  21487. *
  21488. * USES AB - AB+4, CM - CM+4, CN - CN+4, T1 - T7.
  21489.  
  21490.  
  21491. SXP SUBR ENTRY/EXIT
  21492. LDM EMSC
  21493. RAM SXPA
  21494. STM SXPB PRESET SHIFT INSTRUCTIONS
  21495. LPN 77
  21496. RAM SXPC
  21497. LDN ZERL
  21498. CRD AB
  21499. CRD CM
  21500. CRD CN
  21501. ADN UEML-ZERL READ UEM PARAMETERS
  21502. CRD T3
  21503. LDD FL+1 SET CM FIELD LENGTH
  21504. SHN 6
  21505. STD CM+1
  21506. LDD FL
  21507. SHN 14
  21508. LMD FL+1
  21509. SHN -6
  21510. STD CM
  21511. LDD HO SET/CLEAR UEM ENABLE FLAG
  21512. SHN 21-13
  21513. LMD T3+4 GET CM COPY FLAG
  21514. SCN 1
  21515. LMM EMAF SET/CLEAR EXPANDED MODE ADDRESSING
  21516. SHN 7-0
  21517. LPC 700
  21518. LMC 100+EEMC&1 APPEND EXIT MODE
  21519. STD CN
  21520. LDM EMTY
  21521. ZJN SXP1 IF NO CPU ACCESS EST ENTRY PRESENT
  21522. LMN 4
  21523. ZJN SXP1 IF UEM DEFINED
  21524. LDD CN CLEAR CM COPY FLAG FOR *CPUMTR*
  21525. LPC -400
  21526. STD CN
  21527. SXP1 LDD NC
  21528. SHN 7
  21529. STD AB+1 SET (MA)
  21530. STD T1
  21531. ADN 1 CLEAR (RA)
  21532. CWD ZR
  21533. ADN 2-1 STORE (FL)
  21534. CWD CM
  21535. ADN 3-2 STORE (EM)
  21536. CWD CN
  21537. ADN 6-3 STORE (MA)
  21538. CWD AB
  21539. ADN 7-6 STORE (EA)
  21540. CWD AB
  21541. LDM DSFL+1
  21542. ADD CM+1
  21543. STD AB+1 ADJUST FL FOR DSCB
  21544. SHN -14
  21545. ADM DSFL
  21546. ADD CM
  21547. STD AB
  21548. LDN 0 CLEAR DIRECT CELLS
  21549. STD CN
  21550. LDD EN
  21551. NJN SXP2 IF EXTENDED MEMORY EQUIPMENT DEFINED
  21552. LDD T7
  21553. LPN 2
  21554. ZJP SXP6 IF NO USER XM IN UEM
  21555. LDD T4
  21556. UJN SXP3 USE XM FIELD LENGTH FROM *UEML*
  21557.  
  21558. SXP2 LDM EMFL
  21559. SXP3 SHN 0
  21560. * SHN EMSC
  21561. SXPA EQU *-1
  21562. SHN 17
  21563. STD CN
  21564. SHN -6
  21565. SCN 77
  21566. STD CN+1
  21567. LDM EMAF
  21568. ZJN SXP4 IF NOT EXTENDED MODE
  21569. LDD CN
  21570. SHN 14
  21571. STD CN CONVERT FLE TO EXPANDED FORMAT
  21572. LMD CN+1
  21573. SHN -6
  21574. STD CN+1
  21575. LDD CM
  21576. SHN 14
  21577. STD CM CONVERT RAE TO EXPANDED FORMAT
  21578. LMD CM+1
  21579. SHN -6
  21580. STD CM+1
  21581. SXP4 LDM EMTY
  21582. NJN SXP5 IF XM EQUIPMENT DEFINED
  21583. LDD T7
  21584. LPN 2
  21585. NJN SXP7 IF UEM WITH NO EQUIPMENT
  21586. SXP5 SBN 3
  21587. ZJN SXP6 IF LCME
  21588. SBN 4-3
  21589. ZJN SXP7 IF UEM
  21590. LDC 4000
  21591. RAD CN ENABLE FLAG REGISTER OPERATIONS
  21592. LDD T7
  21593. LPN 2
  21594. ZJN SXP6 IF NOT SIMULTANEOUS UEM/EXTENDED MEMORY
  21595. LDD T4
  21596. SXPB SHN 0
  21597. * SHN EMSC (EMSC = EXTENDED MEMORY SHIFT COUNT)
  21598. LPN 7
  21599. SHN 11
  21600. RAD AB+1 INCREASE FL TO INCLUDE USER XM
  21601. SHN -14
  21602. RAD AB
  21603. LDD T4
  21604. SXPC SHN -3
  21605. * SHN -3+EMSC
  21606. RAD AB
  21607. LDD T1 UPDATE (FL) IN EXCHANGE PACKAGE
  21608. ADN 2
  21609. CWD AB
  21610. SXP6 LDN ZERL CLEAR RAE
  21611. CRD CM
  21612. SXP7 LDD T1
  21613. ADN 4 STORE (RAE)
  21614. CWD CM
  21615. ADN 5-4 STORE (FLE)
  21616. CWD CN
  21617. ADN 14-5 PASS FL IN X4
  21618. CWD AB
  21619. ADN 15-14 PASS FLE IN X5
  21620. CWD CN
  21621. LJM SXPX RETURN
  21622. INO SPACE 4,10
  21623. ** INO - INTIALIZE OVERLAY.
  21624. *
  21625. * ENTRY (RS) = RECOVERY STATUS.
  21626. * (NC) = SYSTEM CONTROL POINT NUMBER.
  21627. * (FL - FL+1) = EXECUTION FIELD LENGTH.
  21628. *
  21629. * EXIT (NS) = NUMBER OF MCT ENTRIES.
  21630. *
  21631. * USES CM - CM+4, CN - CN+4.
  21632. *
  21633. * CALLS CLS.
  21634. *
  21635. * MACROS MCTPRS.
  21636.  
  21637.  
  21638. INO SUBR ENTRY/EXIT
  21639. LDM UESC
  21640. RAM SCPA PRESET SHIFT INSTRUCTIONS
  21641. STM SCPB
  21642. MCTPRS SET UP *MCTSUB* ROUTINES
  21643. LDD RS
  21644. LPN SYMK
  21645. LMN SYCM
  21646. ZJN INOX IF RECOVERING CENTRAL MEMORY
  21647. LDN PSNI
  21648. STM SFLA ENABLE *FLSW*/*ECSW* INITIALIZATION
  21649. STM SCPC
  21650. LDC CPAS
  21651. STD CA+1
  21652. SHN -14
  21653. STD CA
  21654. LDD NC
  21655. SHN 7
  21656. RJM CLS CLEAR CONTROL POINT AREAS
  21657. LDN CMRL
  21658. CRD CM
  21659. LDD CM+4 PRESET *FLSW* FOR FIRST CP
  21660. STM SFLD+3
  21661. LDD FL PRESET *FLSW* FOR CONTROL POINTS
  21662. STM SFLE+2
  21663. LDD FL+1
  21664. STM SFLE+3
  21665. LDN ECRL
  21666. CRD CM
  21667. ADK UEML-ECRL
  21668. CRD CN
  21669. LDD CN+4
  21670. LPN 2
  21671. ZJN INO1 IF UEM NOT DEFINED
  21672. LDD CM
  21673. NJN INO1 IF UEM DEFINED AS EXTERNAL EQUIPMENT
  21674. LDD CM+4
  21675. STM SFLF+3 FIRST CP RAX = CP ZERO FLX
  21676. LDD CM+1
  21677. STM SFLG+3 CP RAX = TOTAL USER XM FL
  21678. STM SFLH+4
  21679. UJN INO2 RETURN
  21680.  
  21681. INO1 LDC * DISABLE XM MCT ENTRIES
  21682. ORG *-1
  21683. LOC SMCA
  21684. UJN SMC5 SKIP CREATION OF XM ENTRIES IN MCT
  21685. LOC *O
  21686. STM SMCA
  21687. INO2 LJM INOX RETURN
  21688. SPACE 4,10
  21689. MCWL EQU ECRL+1-FLSW LENGTH OF MEMORY CONTROL WORDS
  21690. ERRNZ MCWL-3 CODE DEPENDS ON VALUE
  21691. MCWB EQU 10000-5*MCWL BUFFER FOR MEMORY CONTROL WORDS
  21692. SPACE 4,10
  21693. QUAL
  21694. SCP EQU /SCP/SCP
  21695.  
  21696.  
  21697. ERRNG 7777-*-4 IF PP OVERFLOW
  21698. TTL SET - INITIALIZE SYSTEM.
  21699. SPACE 4
  21700. END