cdc:nos2.source:opl871:dsd
Table of Contents
DSD
Table Of Contents
- [00009] DSD - DYNAMIC SYSTEM DISPLAY.
- [00011] DYNAMIC SYSTEM DISPLAY.
- [00239] MACRO DEFINITIONS.
- [00241] JMP - THREADED JUMP.
- [00266] SCLASS - DEFINE SERVICE CLASS TABLE.
- [00292] OVERLAY ORGANIZATION.
- [00294] DSD USES THREE TYPES OF OVERLAYS - SYNTAX, DISPLAY,
- [00315] ENTRY - DEFINE OVERLAY ENTRY POINT.
- [00343] OVLC - GENERATE OVERLAY NAME FOR CM RESIDENT OVERLAY.
- [00365] OVLF - GENERATE OVERLAY NAME FOR BEGINNING OF RPL OVERLAYS.
- [00380] OVLN - GENERATE OVERLAY NAME.
- [00413] COMMAND ENTRIES.
- [00415] ENTER - SPECIFY COMMAND ENTRY.
- [00509] TCEF - TABLE OF COMMAND ENTRY FORMATS.
- [00583] MAIN PROGRAM.
- [00585] MAIN DISPLAY LOOP.
- [00651] MAIN SUBROUTINES.
- [00652] CEQ - CHECK EQUIPMENT.
- [00725] MASTER DISPLAY ROUTINES.
- [00727] DKB - DISPLAY KEYBOARD BUFFER.
- [00806] DLS - DISPLAY LEFT SCREEN DATA.
- [00919] OVERLAY LOADER.
- [00921] LDO - LOAD DISPLAY OVERLAYS.
- [00976] LOV - LOAD OVERLAY.
- [01139] USS - UPDATE SCREEN STATUS.
- [01182] DISPLAY CONTROL TABLES.
- [01184] TDSP - DEFINE DISPLAY TABLE ENTRIES.
- [01197] TDSO - TABLE OF DISPLAY OVERLAY NAMES.
- [01209] TJAZ - TABLE OF DISPLAY JSN-S.
- [01282] KEYBOARD INPUT PROCESSING.
- [01464] KRI - PROCESS KEYBOARD REPEAT INPUT.
- [01497] CKS - CHECK SYNTAX.
- [01620] ADS - ADVANCE SYNTAX.
- [01680] LSC - LOAD SYNTAX CHARACTER.
- [01706] KII - INCOMPLETE INPUT.
- [01743] RKB - READ KEYBOARD.
- [01755] SPECIAL CHARACTER PROCESSING.
- [01757] CSC - CHECK SPECIAL CHARACTER.
- [01780] TSFC - TABLE OF SPECIAL FIRST CHARACTERS.
- [01793] TSCE - TABLE OF SPECIAL CHARACTER ENTRIES.
- [01809] AVD - ADVANCE DISPLAY.
- [01840] AMF - ADVANCE MEMORY FIELDS.
- [01863] RDC - RELEASE DISPLAY CHANNEL.
- [01871] ARV - ADVANCE RIGHT SCREEN BY VALUE, IF C, D, F, G, OR M
- [01879] ALV - ADVANCE LEFT DISPLAY BY VALUE, IF C, D, F, G, OR M
- [01926] KBK - PROCESS *BKSP*.
- [01939] KLB - PROCESS *LEFT BLANK*.
- [01951] KCR - PROCESS *CR*.
- [01990] KRB - PROCESS *RIGHT BLANK* KEY.
- [02019] KSP - PROCESS *SPACE*.
- [02042] KEYBOARD RETURN PROCESSORS.
- [02044] KIE - INCORRECT ENTRY RETURN.
- [02050] KPC - KEYBOARD PARTIAL CLEAR RETURN.
- [02058] KBR - NORMAL KEYBOARD RETURN.
- [02076] KMS - KEYBOARD ERROR MESSAGE RETURN.
- [02096] KBC - CLEAR KEYBOARD BUFFER.
- [02145] C1D - CHECK FOR *1DS* CALL.
- [02215] KIC - INCOMPLETE *CR*
- [02240] SLS - SET LEFT SCREEN.
- [02283] TLSD - TABLE OF LEFT SCREEN DISPLAYS.
- [02309] RESIDENT COMMAND PROCESSORS.
- [02434] RESIDENT COMMAND PROCESSING SUBROUTINES.
- [02437] ADA - ADVANCE DISPLAY ADDRESSES.
- [02466] ASD - ASSEMBLE DIGITS.
- [02506] ASN - ASSEMBLE NAME.
- [02542] AST - ACCESS SUBSYSTEM TABLES.
- [02580] CJS - CHANGE JSN.
- [02613] CLP - CALL PP.
- [02652] CMM - CLEAR MONITOR MESSAGE.
- [02666] IEE - INTERLOCK EJT ENTRY.
- [02702] CMT - CHECK *MAGNET*.
- [02735] DAL - DISPLAY ACCESS LEVEL STRING.
- [02750] FSS - FIND SUBSYSTEM.
- [02791] FTN - PROCESS MONITOR FUNCTION.
- [02903] RES - RESET ADDRESS FIELDS TO 0, 10, 20, 30.
- [02923] SJS - SEARCH FOR JSN IN EJT.
- [02986] SJT - SEARCH JSN (*TJAZ*) TABLE.
- [03009] TABLES AND CONSTANTS FOR OVERLAYS.
- [03011] TDFC - DISPLAY FIELD CHANGE TABLE.
- [03053] TDSA - *A* DISPLAY CONTROL TABLE.
- [03070] TDSB - *B* DISPLAY CONTROL TABLE.
- [03076] TDSC - *C* DISPLAY ADDRESS TABLE.
- [03085] *D* DISPLAY ADDRESS TABLE.
- [03096] TDSE - *E* DISPLAY CONTROL TABLE.
- [03107] TDSF - *F* DISPLAY ADDRESS TABLE.
- [03116] TDSG - *G* DISPLAY ADDRESS TABLE.
- [03127] TDSH - *H* DISPLAY CONSTANT TABLE.
- [03134] TDSI - *I* DISPLAY CONTROL TABLE.
- [03141] TDSM - *M* DISPLAY ADDRESS TABLE.
- [03150] TDTL - *O,TLD* DISPLAY CONTROL TABLE.
- [03159] TDSO - *O,TST* DISPLAY CONTROL TABLE.
- [03166] TDTS - *O,SCP* DISPLAY CONTROL TABLE.
- [03178] TDSQ - *Q* DISPLAY CONSTANT TABLE.
- [03187] TDSR - *R* DISPLAY CONTROL TABLE.
- [03194] TDSS - *S* DISPLAY CONTROL TABLE.
- [03208] TDSV - *V* DISPLAY CONTROL TABLE.
- [03216] TJSC - TABLE OF SERVICE CLASS TYPES.
- [03234] TGTF - TOGGLE FLAGS.
- [03244] JDAT - JULIAN DATE.
- [03255] FOLLOWING CODE WILL BE OVERLAID AFTER PRESET.
- [03257] PRS - PRESET PROGRAM.
- [03461] CTE - COUNT TAPE EQUIPMENT.
- [03509] INITIALIZATION DISPLAYS.
- [03652] TDLM - TABLE OF DAY LIMITS FOR MONTHS.
- [03675] DTE - ENTER DATE.
- [03750] KCR - SPECIAL *CR* EXIT.
- [03767] RDT - READ DATE AND TIME FROM CTI CLOCK.
- [03777] TIM - ENTER TIME.
- [03804] ASC - ASSEMBLE CHARACTERS.
- [03830] CDD - CONVERT DECIMAL DIGITS.
- [03854] CSY - COPY SYNTAX.
- [03888] DFP - DISPLAY FROM PPU CHARACTERS.
- [03923] DMR - DISPLAY MESSAGE REQUESTED.
- [03965] COPY - COPYRIGHT BUFFER.
- [03974] DLS - DISPLAY LOAD STATUS.
- [04115] TIKB - INITIAL KEYBOARD BUFFER IMAGE.
- [04131] DISPLAY OVERLAY MACROS.
- [04239] RELM - REDEFINE -M- INSTRUCTIONS FOR RELOCATABLE CODE.
- [04279] RELO - REDEFINE I/O INSTRUCTIONS FOR RELOCATABLE CODE.
- [04316] RELC - DEFINE RELOCATABLE FORM FOR -C- TYPE INSTRUCTIONS.
- [04588] SDF - SET DISPLAY FWA.
- [04693] SSR - SELECT SCREEN ROLLING.
- [04716] MSG - DEFINE *A,O* DISPLAY EVENT DESCRIPTOR MESSAGE.
- [04735] EEMSG - DEFINE *E,E* DISPLAY MESSAGE.
- [04755] PMSG - DEFINE *E,P* DISPLAY MESSAGE AND ERROR MNEMONIC.
- [04785] TFTN - TABLE OF MONITOR FUNCTIONS.
- [05003] DMS - DISPLAY THE MESSAGE.
- [05371] DSBI - TABLE OF CPU STATUS CODES.
- [05390] DMS - DISPLAY CONTROL POINT MESSAGE.
- [05449] PBD - PAGE THE *B* DISPLAY.
- [05532] DXP - DISPLAY EXCHANGE PACKAGE.
- [05585] D4F - DISPLAY 4 GROUPS OF 5 DIGITS.
- [05690] D4F - DISPLAY 4 GROUPS OF 5 DIGITS.
- [05968] DCD - DISPLAY CHANNEL DATA.
- [06022] PEA - PAGE *E,A* DISPLAY.
- [06276] DCD - DISPLAY CHANNEL DATA.
- [06330] PEC - PAGE *E,C* DISPLAY.
- [06619] ANL - ADVANCE TO NEXT LINE.
- [06675] DEM - DISPLAY ERROR MESSAGE.
- [06695] PEE - PAGE *E,E* DISPLAY.
- [06915] PEF - PAGE *E,F* DISPLAY.
- [07114] PEH - PAGE *E,H* DISPLAY.
- [07446] PEM - PAGE *E,M* DISPLAY.
- [07611] PEO - PAGE *E,O* DISPLAY.
- [07795] DEO - DISPLAY EST ORDINAL WITH EQUIPMENT MNEMONIC.
- [07826] DPI - DISPLAY PREVIEW INFORMATION.
- [08216] PES - PAGE *E,C* DISPLAY.
- [08539] TCVM - TABLE OF CONVERSION MODES.
- [08551] TDEN - TABLE OF DENSITIES.
- [08567] TFMT - TABLE OF FORMATS.
- [08582] TSTM - TABLE OF STATUS MESSAGES.
- [08598] PET - PAGE *E,T* DISPLAY.
- [08889] LNB - LINK TO NEXT BYTE IN TRT.
- [08916] PHD - PAGE *H* DISPLAY.
- [09175] PID - PAGE *I* DISPLAY.
- [09447] DTL - DISPLAY TITLE LINE.
- [09532] RNW - READ NEXT WORD.
- [09607] SMA - SET MEMORY ADDRESS.
- [09668] SMC - SET MEDIMUM CHARACTER SIZE
- [09836] RNW - READ NEXT WORD.
- [09883] SMS - SET MEDIUM CHARACTER SIZE.
- [10364] POD - PAGE *O* DISPLAY.
- [10626] POD - PAGE *O* DISPLAY.
- [10849] POD - PAGE *O* DISPLAY.
- [11189] DOW - DISPLAY ONE WORD.
- [11216] ISR - INITIALIZE SCR REGISTER.
- [11243] ODW - OUTPUT DESCRIPTOR WORD TO S/C REGISTER.
- [11259] RPR - READ P REGISTER.
- [11287] PPD - PAGE *P* DISPLAY.
- [11305] PRS - PRESET *P* DISPLAY.
- [11595] TPHE - TABLE OF PUNCH EXTERNAL CHARACTERISTICS.
- [11611] TPLE - TABLE OF PLOT EXTERNAL CHARACTERISTICS.
- [11627] TPRE - TABLE OF PRINT EXTERNAL CHARACTERISTICS.
- [11665] PQD - PAGE *Q* DISPLAY.
- [11963] PRD - PAGE *R* DISPLAY.
- [12277] TQUT - TABLE OF QUEUE TYPES.
- [12286] TNSC - TABLE OF TWO-CHARACTER SERVICE CLASS TYPES.
- [12294] PSD - PAGE *S* DISPLAY.
- [12609] PTD - PAGE *T* DISPLAY.
- [12625] TTA - SET TERMINAL TABLE ADDRESS.
- [12764] ACA - ADD CM BUFFER ADDRESS.
- [12773] BLD - BUILD BUFFER.
- [12816] CBK - CHECK PP AT BREAKPOINT.
- [12832] DCA - DISPLAY COMMUNICATIONS AREA WORD.
- [12875] DPM - DISPLAY PP MEMORY.
- [12910] DPN - DISPLAY PP NUMBER.
- [12939] D4F - DISPLAY FOUR FIELDS.
- [12964] PNL - POSITION DISPLAY TO NEXT LINE.
- [12979] SPM - SAVE PP MEMORY.
- [13250] FEM - FIND EXTENDED MEMORY EQUIPMENTS.
- [13428] DCH - DISPLAY COLUMN HEADER.
- [13484] DCS - DISPLAY CHANNEL STATUS.
- [13553] PRS - PRESET *W,C* DRIVER.
- [13755] DLINE - DELAY LINE FOR DISPLAY.
- [13778] TDLN - TABLE OF DISPLAY LINES.
- [13879] DTA - DISPLAY TABLE ADDRESS.
- [13929] DPTE - MACRO TO DEFINE POINTER TABLE ENTRY.
- [13951] TSTP - TABLE OF SYSTEM TABLE POINTERS.
- [14199] CBS - CHECK FOR BOTTOM OF SCREEN.
- [14229] DCD - DISPLAY CHARACTER DATA FOR SYSTEM CONTROL POINT ENTRY.
- [14505] DCP - DISPLAY CP / PCP COUNT.
- [14539] DPS - DISPLAY PP STATISTICS.
- [14559] ODC - OUTPUT DISPLAY COORDINATES.
- [14580] DPTE - MACRO TO DEFINE POINTER TABLE ENTRY.
- [14692] DIR - DIRECTORY DATA.
- [14774] TERMINATE DISPLAY OVERLAYS.
- [14806] COMMAND PROCESSING OVERLAY MACROS.
- [14808] COMMAND - BEGIN COMMAND OVERLAY.
- [14840] CMDEND - END COMMAND OVERLAY.
- [14874] SYSTEM SYNTAX TABLE - CHARACTERS A - B.
- [14919] SYSTEM SYNTAX TABLE - CHARACTER C.
- [15000] SYSTEM SYNTAX TABLE - CHARACTER D.
- [15002] NOTE - THIS OVERLAY SHOULD BE CM RESIDENT (FOR
- [15049] CCH - CHECK FOR CONCURRENT CHANNELS.
- [15064] CLS - CHECK LOCK STATUS IF SECURED SYSTEM.
- [15083] SYSTEM SYNTAX TABLE - CHARACTERS E - J.
- [15085] NOTE - THIS OVERLAY SHOULD BE CM RESIDENT (FOR
- [15148] SYSTEM SYNTAX TABLE - CHARACTERS K - N.
- [15206] SYSTEM SYNTAX TABLE - CHARACTERS O - P.
- [15242] SYSTEM SYNTAX TABLE - CHARACTERS Q - R.
- [15287] CLS - CHECK LOCK STATUS IF SECURED SYSTEM.
- [15306] SYSTEM SYNTAX TABLE - CHARACTER S.
- [15363] SYSTEM SYNTAX TABLE - CHARACTER T.
- [15399] CTB - CHECK FOR TRACE BLOCK.
- [15421] SYSTEM SYNTAX TABLE - CHARACTERS U - X.
- [15423] NOTE - THIS OVERLAY SHOULD BE CM RESIDENT (FOR
- [15464] CCH - CHECK FOR CONCURRENT CHANNELS.
- [15736] SVF - SET STATUS IN *EICB*.
- [15975] GCA - GET CM DISPLAY ADDRESS.
- [16016] GCP - GET CPA ADDRESS.
- [16098] ADV - ADVANCE/DECREMENT ADDRESS.
- [16165] ASA - ASSEMBLE ADDRESS.
- [16233] GCA - GET CM DISPLAY ADDRESS.
- [16330] ADV - ADVANCE/DECREMENT ADDRESS.
- [16397] ASA - ASSEMBLE ADDRESS.
- [16465] GCA - GET CM DISPLAY ADDRESS.
- [16594] ADV - ADVANCE/DECREMENT ADDRESS.
- [16653] ASR - ASSEMBLE ADDRESS AND READ EXTENDED MEMORY.
- [16866] PSC - PRESET CHANNELS.
- [16906] TILC - TABLE OF INCORRECT CHANNELS.
- [16915] TPSC - TABLE OF CHANNEL INSTRUCTIONS.
- [17382] PJS - PROCESS JSN.
- [17513] CSP - CALL *1DS*.
- [17626] TIET - TABLE OF INCORRECT EQUIPMENTS TO *ASSIGN*.
- [17647] CSP - CALL *1DS*.
- [17782] SUBSYST - GENERATE SUBSYSTEM TABLE.
- [17808] ISS - INITIATE SUBSYSTEM.
- [17835] PPN - PACK PROCEDURE NAME.
- [18016] PTM - PROCESS INTERACTIVE MESSAGE.
- [18036] CTS - CHECK INTERACTIVE STATUS.
- [18178] SIO - SET *BATCHIO* FLAG.
- [18446] REE - READ EST ENTRY.
- [18802] CME - CHECK MASS STORAGE EQUIPMENT.
- [18829] CMS - CHECK FOR MASS STORAGE EQUIPMENT.
- [18948] RSJ - REQUEST SYSTEM JOB.
- [19210] TDLY - TABLE OF DELAY ENTRY ADDRESSES.
- [19432] ENABLE SYNTAX TABLE - CHARACTERS A - P.
- [19473] ENABLE SYNTAX TABLE - CHARACTERS Q - Z.
- [19497] DISABLE SYNTAX TABLE - CHARACTERS A - P.
- [19535] DISABLE SYNTAX TABLE - CHARACTERS Q - Z.
- [19559] ESB - ENTER STATUS BIT.
- [19940] TMB - TOGGLE *MSAL* BITS.
- [20158] TNSC - TABLE OF TWO-CHARACTER SERVICE CLASS TYPES.
- [20226] TQPN - TABLE OF *QUEUE* PARAMETERS.
- [20245] AOD - ASSEMBLE OCTAL DIGITS.
- [20273] SPT - SEARCH PARAMETER TABLE.
- [20301] TQUT - TABLE OF QUEUE TYPES.
- [20866] PTC - PROCESS TAPE EQUIPMENT COMMAND.
- [20917] AVS - ASSEMBLE VSN.
- [21031] TBLM - GENERATE TABLE OF DEVICES WITH PARITY PROTECTION.
- [21126] CMS - CHECK FOR MASS STORAGE EQUIPMENT.
- [21290] CCH - CHECK FOR VALID CHANNEL.
- [21480] CEN - CHECK EST ORDINAL.
- [21552] C1R - CALL *1DS* AND REENTER.
- [21674] ADD - ASSEMBLE DECIMAL DIGITS.
- [21781] SOT - SEARCH FOR VALID ORIGIN TYPE.
- [21813] SPT - SEARCH PARAMETER TABLE.
- [21841] TCOT - TABLE OF *CLASS* ORIGIN TYPES.
- [21852] TSCM - TABLE OF SERVICE CLASS MASK BITS.
- [21866] TNSC - TABLE OF TWO-CHARACTER SERVICE CLASS TYPES.
- [21933] SPT - SEARCH PARAMETER TABLE.
- [21961] TSCM - TABLE OF SERVICE CLASS MASK BITS.
- [21977] TNSC - TABLE OF TWO-CHARACTER SERVICE CLASS TYPES.
- [22105] TTHR - TABLE OF THRESHOLDS.
- [22308] SST - SEARCH STRING TABLE.
- [22339] TBDP - TABLE OF BOUNDS PARAMETERS.
- [22347] TURE - UNIT RECORD EQUIPMENT MNEMONICS.
- [22501] SPT - SEARCH PARAMETER TABLE.
- [22529] TBDP - TABLE OF BOUNDS PARAMETERS.
- [22537] TJOT - TABLE OF JOB ORIGIN TYPES.
- [22696] ADD - ASSEMBLE TWO DECIMAL DIGITS.
- [22731] AVA - ASSEMBLE AND VALIDATE ADDRESS.
- [22914] MNF - PP REQUEST HASHING MACRO.
- [22937] MTF - MONITOR REQUEST HASHING MACRO.
- [23184] AAD - ASSEMBLE ADDRESS OF *CPUMTR* BREAKPOINT PARAMETERS.
- [23198] SDA - SET *C* DISPLAY ADDRESS.
- [23366] PBC - PROCESS PP BREAKPOINT COMMANDS.
- [23520] SCA - SET PP COMMUNICATION AREA ADDRESSES.
- [23721] CKB - CHECK PP AT BREAKPOINT.
- [23906] ADD - ASSEMBLE DECIMAL DIGITS.
- [23928] DTEA - DAY LIMITS FOR MONTH.
- [23951] TERMINATE OVERLAYS.
Source Code
- DSD.txt
- IDENT DSD,0
- PERIPH J
- BASE MIXED
- SST CP,DLYA,EXR,FTN,.BLI,.EST,CMEI
- SYSCOM DEFINE JOB COMMUNICATION AREA SYMBOLS
- QUAL$ EQU 1 DEFINE UNQUALIFIED COMMON DECKS
- *COMMENT DSD - SYSTEM DISPLAY.
- COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
- TITLE DSD - DYNAMIC SYSTEM DISPLAY.
- SPACE 4,10
- *** DSD - DYNAMIC SYSTEM DISPLAY.
- *
- * G. R. MANSFIELD. 70/12/13.
- * C. B. LOSCHEIDER. 78/09/11.
- SPACE 4,10
- *** DSD IS LOADED IN PP 1 AT DEAD START TIME AND
- * REMAINS THERE THROUGHOUT EXECUTION OF THE SYSTEM.
- * DSD PROVIDES AN OVERALL STATUS DISPLAY FOR ALL CURRENTLY
- * RUNNING JOBS VIA THE 6612 DISPLAY. THE KEYBOARD OF THE
- * 6612 IS MONITORED BY DSD AND IS USED FOR OPERATOR
- * COMMUNICATION TO THE SYSTEM.
- *
- * *DSD* INPUT REGISTER.
- *
- *T, 18/ *DSD*,6/ SC,6/ LDS,6/ RDS,12/ LEJT,12/ REJT
- *
- * SC SYSTEM CONTROL POINT NUMBER.
- * LDS LEFT SCREEN DISPLAY NAME.
- * RDS RIGHT SCREEN DISPLAY NAME.
- * LEJT EJT ORDINAL OF JOB ASSIGNED TO LEFT SCREEN.
- * REJT EJT ORDINAL OF JOB ASSIGNED TO RIGHT SCREEN.
- SPACE 4,15
- ** PROGRAMMING CONSIDERATIONS.
- *
- * BECAUSE THE LAST DISPLAY OVERLAY AND THE LAST
- * COMMAND OVERLAY ARE CHECKED FOR OVERFLOW IN A SPECIAL CASE,
- * THE FOLLOWING CONDITIONS MUST BE MAINTAINED TO ALLOW NEW
- * OVERLAYS TO REACH THE LARGEST POSSIBLE SIZE.
- * 1. THE *Z DISPLAY* OVERLAY MUST BE THE LAST DISPLAY OVERLAY.
- * 2. THE *ENTER DATE* OVERLAY MUST BE THE LAST COMMAND OVERLAY.
- *
- * FOR INFORMATION ON HOW TO SET UP A CALL
- * TO *1DS*, SEE COMMON DECK *COMS1DS*.
- SPACE 4,10
- *CALL COMDMAC
- *CALL COMPMAC
- *CALL COMSCPS
- *CALL COMSDST
- *CALL COMSEJT
- *CALL COMSHIO
- *CALL COMSLFD
- *CALL COMSMMF
- *CALL COMSMSC
- *CALL COMSMLS
- *CALL COMSPIM
- *CALL COMSPRD
- *CALL COMSSSD
- *CALL COMSSSJ
- SPACE 4,10
- **** DIRECT LOCATION ASSIGNMENTS.
- ORG 0
- T0 CON /DSD/PRS-1 TEMPORARY STORAGE
- T1 CON 0
- T2 CON 0
- T3 CON 0
- T4 CON 0
- T5 CON 0
- T6 CON 0
- T7 CON 0
- CM VFD 60/0 CM WORD BUFFER
- LA CON 0 OVERLAY LOAD ADDRESS
- XC CON CH01 X-COORDINATE
- YC CON LN02 Y-COORDINATE
- AB VFD 60/0 ASSEMBLY BUFFER
- AR CON 0 CHANNEL *A* REGISTER
- LS CON 0 LEFT SCREEN DISPLAY
- RS CON 0 RIGHT SCREEN DISPLAY
- TM VFD 60/0 TIME OF DAY (PRESET ONLY)
- SR EQU TM SCRATCH (DISPLAY AND COMMAND OVERLAYS)
- * (SR DESTROYED BY *MONITOR* OR *EXECUTE*)
- DT VFD 60/0 DATE (PRESET, DATE, AND TIME OVERLAYS)
- SH EQU DT SCRATCH (DISPLAY AND COMMAND OVERLAYS)
- LG CON 0 LOGGING ONLY FLAG
- CY CON 0 CYCLE COUNT
- ID CON 0 MESSAGE BUFFER INTERLOCK FLAG WITH *1DS*
- NC CON 0 NUMBER OF CONTROL POINTS
- CN CON 0 CONTROL POINT NUMBER OR DISPLAY NAME
- CP CON 0 CONTROL POINT ADDRESS
- SP VFD 60/0 SPECIAL PARAMETER WORD FOR *1DS* CALL
- SF CON 0 SECURITY FLAG
- DK CON 0 DISPLAY KEYBOARD CONTROL
- T8 CON 0 SCRATCH
- T9 CON 0 SCRATCH
- KI CON 0 KEYBOARD INDEX
- KM CON 0 KEYBOARD MESSAGE
- KE CON 0 PRESET KEYBOARD ENTRY
- KR CON 0 KEYBOARD READY FLAG
- CA CON 0 CHARACTER ADDRESS
- LK CON 0 LOCK FLAG
- ST CON 0 STEP FLAG
- ON CON 1 CONSTANT 1
- HN CON 100 CONSTANT 100
- TH CON 1000 CONSTANT 1000
- TR CON 3 CONSTANT 3
- EI CON 0 EJT ENTRY INTERLOCK
- IA CON 0
- OA CON 0
- MA CON 0
- ****
- SPACE 4,10
- * ASSEMBLY CONSTANTS.
- ILSP EQU 1RA INITIAL LEFT SCREEN DISPLAY
- IRSP EQU 1RB INITIAL RIGHT SCREEN DISPLAY
- EWAL EQU 100 ADDRESS OF ADDRESS LIST FOR *ECSM* WRITE
- ERAL EQU 102 ADDRESS OF ADDRESS LIST FOR *ECSM* READ
- OMT$ EQU 1 OMIT MANAGED TABLES LOGIC FROM *DCM*
- MX3C EQU 1R5 MAXIMUM THIRD CHARACTER IN OVERLAY NAMES
- SPACE 4,10
- * DEFINE QUAL BLOCK ORDER.
- QUAL DISPLAY
- QUAL COMMAND
- QUAL DSD
- QUAL KEYBOARD
- QUAL RES
- QUAL PRESET
- QUAL BIO
- QUAL REM
- QUAL
- SPACE 4,10
- * SUB-SYSTEM COMMON DECKS.
- QUAL BIO
- *CALL COMSBIO
- QUAL *
- QUAL CPS
- *CALL COMSCPS
- QUAL *
- QUAL DSL
- *CALL COMSDSL
- QUAL *
- * UNQUALIFIED *COMSDSL* SYMBOLS.
- CH EQU /DSL/CH
- SC EQU /DSL/SC
- DSCP EQU /DSL/DSCP
- *CALL COMSEVT
- QUAL IOU
- *CALL COMSIOU
- QUAL *
- * UNQUALIFIED *COMSIOU* SYMBOLS.
- MR EQU /IOU/MR
- MX EQU /IOU/MX
- MXDM EQU /IOU/MXDM
- MXPT EQU /IOU/MXPT
- QUAL JIO
- *CALL COMSJIO
- QUAL *
- *CALL COMSLFD
- *CALL COMSLSD
- QUAL MSP
- *CALL COMSMSP
- QUAL *
- *CALL COMSMST
- *CALL COMSMTR
- QUAL MTX
- *CALL COMSMTX
- QUAL *
- *CALL COMSPRD
- QUAL REM
- *CALL COMSREM
- QUAL *
- QUAL RSX
- *CALL COMSRSX
- QUAL *
- QUAL SCR
- *CALL COMSSCR
- QUAL *
- QUAL 1DS
- *CALL COMS1DS
- QUAL *
- MICROS TITLE MICRO DEFINITIONS.
- ** DEFINE MICROS OF THE DISPLAY TITLES.
- AHDR MICRO 1,,$A. DAYFILES.$
- BHDR MICRO 1,,$B. SYSTEM STATUS.$
- CHDR MICRO 1,,$C. CENTRAL MEMORY.$
- DHDR MICRO 1,,$D. CENTRAL MEMORY.$
- EHDR MICRO 1,,$E. EQUIPMENT STATUS.$
- FHDR MICRO 1,,$F. CENTRAL MEMORY.$
- GHDR MICRO 1,,$G. CENTRAL MEMORY.$
- HHDR MICRO 1,,$H. SYSTEM FILES.$
- IHDR MICRO 1,,$I. BIO STATUS.$
- JHDR MICRO 1,,$J. JOB STATUS.$
- KHDR MICRO 1,,$K. CPU PROGRAMMABLE.$
- LHDR MICRO 1,,$L. CMR BUFFERS.$
- MHDR MICRO 1,,$M. EXTENDED MEMORY.$
- OHDR MICRO 1,,$O. TAF STATUS.$
- PHDR MICRO 1,,$P. PP REGISTERS.$
- QHDR MICRO 1,,$Q. QUEUE STATUS.$
- RHDR MICRO 1,,$R. ROLLOUT STATUS.$
- SHDR MICRO 1,,$S. SYSTEM CONTROL.$
- THDR MICRO 1,,$T. INTERACTIVE STATUS.$
- UHDR MICRO 1,,$U. INSTALLATION USE.$
- VHDR MICRO 1,,$V. PP BREAKPOINT.$
- WHDR MICRO 1,,$W. SYSTEM INFORMATION.$
- YHDR MICRO 1,,$Y. MONITOR FUNCTIONS.$
- ZHDR MICRO 1,,$Z. DIRECTORY.$
- TITLE MACRO DEFINITIONS.
- MACROS SPACE 4,10
- ** JMP - THREADED JUMP.
- *
- * JMP ADDR
- *
- * ENTRY *ADDR* = JUMP ADDRESS.
- *
- * NOTE - THIS MACRO IS DESIGNED FOR JUMPING BACKWARDS ONLY.
- JMP MACRO ADDR
- MACREF JMP
- .A IF -DEF,/"QUAL"/.ADDR
- NOREF .ADDR
- .B IF ABS,ADDR-* INSURE SIMILAR TYPES
- .ADDR MAX ADDR,*-40
- .A ENDIF
- .B IFGT .ADDR,*-40
- UJN .ADDR
- .ADDR SET *-1
- .B ELSE
- .ADDR SET *
- LJM ADDR
- .B ENDIF
- JMP ENDM
- SCLASS SPACE 4,15
- ** SCLASS - DEFINE SERVICE CLASS TABLE.
- *
- * SCLASS NM,MN,DF,ST,TX
- *
- * ENTRY *NM* = SERVICE CLASS NAME.
- * *MN* = TWO CHARACTER MNEMONIC.
- * *DF* = DAYFILE MESSAGE CHARACTER.
- * *ST* = SHORT TEXT FOR *QFTLIST*.
- * *TX* = TEXT OF SERVICE CLASS NAME FOR BANNER PAGE.
- *
- * NOTE - THE CALL TO *COMSSCD* MUST FOLLOW THE DEFINITION OF
- * THIS MACRO.
- SCLASS SPACE 4,10
- PURGMAC SCLASS
- SCLASS MACRO NM,MN,DF,ST,TX
- .A IFC NE,$NM$SSSC$
- .SCL RMT
- INDEX NM,MN_MK TX
- .SCL RMT
- .A ENDIF
- SCLASS ENDM
- SCL$ EQU 0 ONLY PROCESS CLASSES WITH JCB-S
- *CALL COMSSCD
- TITLE OVERLAY ORGANIZATION.
- OVERLAYS SPACE 4,15
- ** DSD USES THREE TYPES OF OVERLAYS - SYNTAX, DISPLAY,
- * AND COMMAND.
- * THE FOLLOWING MACROS FACILITATE THE ORGANIZATION AND
- * COMMUNICATION BETWEEN OVERLAYS AND THE MAIN PROGRAM.
- *
- * OVERLAYS MAY RESIDE IN THE *RPL* OR THE *PLD*. FOR THOSE
- * OVERLAYS WHICH RESIDE IN THE *PLD*, *DSD* CALLS *1DL* TO
- * PROCESS THE PHYSCAL LOAD OF THE OVERLAYS.
- *
- * DISPLAY OVERLAYS ARE WRITTEN AS LOCATION FREE ROUTINES SINCE
- * TWO MUST RESIDE IN DSD FOR THE TWO DISPLAY SCREENS.
- * SYNTAX AND COMMAND OVERLAYS ARE ASSEMBLED AS ABSOLUTE
- * ROUTINES.
- *
- * BY SPECIFYING A PARAMETER ON THE *DISPLAY* OR *COMMAND*
- * MACRO, SELECTED OVERLAYS MAY AUTOMATICALLY BE MADE CM
- * RESIDENT. OVERLAYS MAY ALSO BE MADE CM RESIDENT VIA
- * *LIBDECK* ENTRIES. THIS ALLOWS SELECTED OVERLAYS TO BE
- * MADE CM RESIDENT FOR DEBUGGING OR ON CERTAIN CONFIGURATIONS
- * BUT BE DISK RESIDENT IN OTHER SITUATIONS.
- ENTRY SPACE 4,10
- ** ENTRY - DEFINE OVERLAY ENTRY POINT.
- *
- *
- * ENTRY NAME,D
- *
- * ENTRY (NAME) = NAME OF ENTRY POINT.
- * (D) IF PRESENT, DEFINES DISPLAY OVERLAY ENTRY.
- * POINT IS THE CURRENT VALUE OF THE ORIGIN COUNTER.
- * EXIT (NAME) = ADDRESS + OVERLAY NUMBER * 10000B.
- PURGMAC ENTRY
- ENTRY MACRO NAME,D
- ERRNG M. *ENTRY* IS NOT DEFINED FOR *RPL* OVERLAYS
- IFC NE,*D**
- RMT
- QUAL DISPLAY
- NAME EQU M.*10000B+/DSD"M."/NAME
- QUAL *
- RMT
- ELSE 4
- NAME BSS 0
- QUAL COMMAND
- NAME EQU M.*10000B+/DSD"M."/NAME
- QUAL *
- ENDM
- OVLC SPACE 4,10
- ** OVLC - GENERATE OVERLAY NAME FOR CM RESIDENT OVERLAY.
- *
- *
- * OVLC
- *
- * EXIT ("M.") = LAST TWO CHARACTERS OF OVERLAY NAME.
- * ("N.") = LAST TWO CHARACTERS OF OVL NAME//OVL NUMBER.
- * (M.) = OVERLAY NUMBER.
- OVLC MACRO
- C. SET C.+1
- M. SET C./MX3C
- P. MICRO M.,1,/ EFG/
- M. SET C.-M.*MX3C
- M. MICRO M.+1,1, ABCDEFGHIJKLMNOPQRSTUVWXYZ012345
- M. MICRO 1,2, "P.""M."
- M. SET C.
- N. OCTMIC M.,3
- N. MICRO 1,,/"M." ("N.")/
- ENDM
- OVLF SPACE 4,10
- ** OVLF - GENERATE OVERLAY NAME FOR BEGINNING OF RPL OVERLAYS.
- *
- *
- * OVLF
- *
- * EXIT ("N.") = ("M.") = *TA*.
- * (M.) = -1.
- OVLF MACRO
- M. MICRO 1,, TA
- N. MICRO 1,, TA
- M. SET -1
- ENDM
- OVLN SPACE 4,10
- ** OVLN - GENERATE OVERLAY NAME.
- *
- *
- * OVLN
- *
- * EXIT ("M.") = LAST TWO CHARACTERS OF OVERLAY NAME.
- * ("N.") = LAST TWO CHARACTERS OF OVL NAME//OVL NUMBER.
- * (M.) = OVERLAY NUMBER.
- OVLN MACRO
- N. SET N.+1
- M. SET N./MX3C
- P. MICRO M.,1,/ABCD /
- M. SET N.-M.*MX3C
- M. MICRO M.+1,1, ABCDEFGHIJKLMNOPQRSTUVWXYZ012345
- M. MICRO 1,2, "P.""M."
- M. SET N.
- N. OCTMIC M.,3
- N. MICRO 1,,/"M." ("N.")/
- ENDM
- SYMBOLS SPACE 4,10
- ** OVERLAY GENERATION SYMBOLS.
- NOREF C.,N.,M.,L.,L.C,L.D
- N. SET 1*MX3C-1 NON-CM RESIDENT OVERLAY COUNTER
- C. SET 5*MX3C-1 CM RESIDENT OVERLAY COUNTER
- M. SET 0 OVERLAY COUNTER
- M. MICRO 0,, LAST 2 CHARACTERS OF OVERLAY NAME
- L. SET 0 OVERLAY LENGTH
- L.C SET 0 MAXIMUM COMMAND OVERLAY LENGTH
- L.D SET 0 MAXIMUM DISPLAY OVERLAY LENGTH
- TITLE COMMAND ENTRIES.
- ENTER SPACE 4,35
- ** ENTER - SPECIFY COMMAND ENTRY.
- * THE *ENTER* MACRO IS USED FOR SPECIFYING THE FORMAT OF
- * THE KEYBOARD COMMANDS.
- *
- *
- *NAME ENTER COMMAND,COND,SDF,ERL
- * ENTRY (NAME) = ADDRESS OF COMMAND PROCESSING ROUTINE AS
- * SPECIFIED BY *ENTER* MACRO.
- * (COMMAND) = SYNTAX FOR KEYBOARD ENTRY.
- * (COND) = 0 OR MORE CONDITIONS WHICH MUST BE PRESENT TO
- * PERMIT THE ENTERING OF COMMANDS IN THIS FORMAT.
- * *LOCK* AND *SLOCK* ARE CONDITIONS THAT ARE
- * CHECKED IN *CKS* IN *DSD* RESIDENT. ALL OTHER
- * CONDITIONS ARE CHECKED IN A SUBROUTINE WHOSE
- * NAME IS THE SAME AS THE CONDITION.
- * = *LOCK* = UNLOCK IS REQUIRED.
- * = *SLOCK* = SECURITY UNLOCK IS REQUIRED.
- * (SDF) IF PRESENT, ENTRY IS TO BE ENTERED IN SYSTEM
- * DAYFILE.
- * (ERL) IF PRESENT, ENTRY IS TO BE ENTERED IN ERROR LOG.
- *
- * SPECIAL FIELDS MAY BE SPECIFIED BY THE FOLLOWING CHARACTERS -
- *
- * ' 70 (11-8-5) ALPHANUMERIC FIELD.
- *
- * ? 71 (11-8-6) OCTAL FIELD.
- *
- * < 72 (12-0) USED AS <XY - ANY CHARACTER BETWEEN *X*
- * AND *Y* MAY BE USED IN THIS FIELD.
- *
- * > 73 (11-8-7) USED AS >XYZ> - ANY CHARACTER IN THE SET
- * *XYZ* MAY BE USED IN THIS FIELD.
- *
- * @ 74 (8-5) TERMINATE SCAN - CHARACTERS IN ANY FORMAT
- * MAY FOLLOW.
- *
- * \ 75 (12-8-5) LEGAL DISPLAY NAME.
- *
- * ; 77 (12-8-7) SET NEW SYNTAX TABLE - SYNTAX FIELD
- * DESCRIBED BY (ADDRESS) WILL BE USED FOR
- * REMAINDER OF FIELDS.
- *
- * NOTE.
- *
- * CONDITIONS OTHER THAN *LOCK* AND *SLOCK* CAN ONLY BE USED IN
- * OVERLAYS AND THE OVERLAY MUST BEGIN WITH A LABELED *USE*
- * PSEUDO-OP SUCH AS -
- *
- * USE CODE
- MACRO ENTER,A,B,C,D,E
- CON /COMMAND/A/10000,/COMMAND/A-/COMMAND/A/10000*10000
- ORG *-2
- ERRZR 0R_A NO COMMAND PROCESSOR SPECIFIED
- .1 SET 0 DEFAULT LOCK CONDITION
- .F IRP C CHECK FOR CONDITIONS
- .G IFC NE,$C$$
- .H IFC EQ,$C$SLOCK$
- .1 SET 3
- .H ELSE
- .I IFC EQ,$C$LOCK$
- .1 SET 1
- .I ELSE
- ERRZR 0R"M." ONLY *(S)LOCK* IS PERMITTED IN RESIDENT
- .J IF ABS,*
- ERR THE OVERLAY MUST BEGIN WITH A *USE*
- .J ELSE
- .K IF -DEF,/"QUAL"/CP.C
- USE 0
- CP.C CON C
- USE *
- .K ENDIF
- CON CP.C-.FCOM+5
- .J ENDIF
- .I ENDIF
- .H ENDIF
- .G ENDIF
- .F IRP
- DATA Z$B$ GENERATE SYNTAX
- VFD 2/.1
- IFC NE,*D**
- VFD 1/1
- ELSE 1
- VFD 1/0
- IFC NE,*E**
- VFD 1/1
- ELSE 1
- VFD 1/0
- VFD 20//COMMAND/A
- ENDM
- COMMANDS SPACE 4,10
- ORG 100
- TCEF SPACE 4,15
- ** TCEF - TABLE OF COMMAND ENTRY FORMATS.
- *
- * NOTE - COMMANDS ARE TO BE IN THIS TABLE FOR ONE OF
- * THE FOLLOWING REASONS -
- *
- * 1. THE COMMAND IS PROCESSED IN *DSD* RESIDENT.
- * 2. THE COMMAND CAN BE ENTERED DURING DEADSTART
- * (INCLUDING AS AN *IPRDECK* ENTRY).
- * 3. THE COMMAND IS TO BE AVAILABLE WHEN THE SYSTEM
- * IS HUNG. THE COMMAND ITSELF MUST THEN BE IN EITHER
- * *DSD* RESIDENT OR IN A CM-RESIDENT OVERLAY.
- *
- * ALL OTHER SPECIFIC COMMANDS CAN THEREFORE HAVE THEIR
- * TABLE ENTRY IN AN OVERLAY RATHER THAN IN *TCEF*.
- TCEF BSS 0
- CDS ENTER (\\.)
- DJS ENTER (>HJKP>,'.)
- DJM ENTER (>CDFGM>,'.)
- DFC ENTER (>CDFGM><06,?.)
- PPC ENTER (PP;) PP BREAKPOINT COMMANDS
- STE ENTER (STEP.),LOCK
- ULK ENTER (UNLOCK.),,SDF,ERL
- * PROGRAMMING NOTE. THE *UNLOCK,USERNUM,PASSWOR.* COMMAND
- * SYNTAX IS DISABLED IN PRESET ON NON-SECURE SYSTEMS. IF
- * THIS COMMAND IS DELETED FOR ANY REASON, ENSURE THAT THE
- * CORRESPONDING DISABLING CODE IS DELETED FROM PRESET, ALSO.
- TSUL BSS 0
- SUL ENTER (UNLOCK,','.)
- UNS ENTER (UNSTEP.)
- SAB ENTER (<AB;)
- SCC ENTER (>C>;)
- SDD ENTER (>D>;)
- SEJ ENTER (<EI;)
- SKN ENTER (<KN;)
- SOP ENTER (<OP;)
- SQR ENTER (<QR;)
- SSS ENTER (>S>;)
- STT ENTER (>T>;)
- SUX ENTER (<UX;)
- ENM ENTER (?,?.),SLOCK,SDF,ERL
- ENM ENTER (?,,?.),SLOCK,SDF,ERL
- ENM ENTER (?,<04,?.),SLOCK,SDF,ERL
- ENM ENTER (?,I<03,?.),SLOCK,SDF,ERL
- EMR ENTER (?<+-?.),SLOCK,SDF,ERL
- EMR ENTER (?<+-,?.),SLOCK,SDF,ERL
- EMR ENTER (?<+-<04,?.),SLOCK,SDF,ERL
- EMD ENTER (?>,+->D@),SLOCK,SDF,ERL
- DOV ENTER (99.),,SDF,ERL
- CON 0 END OF TABLE
- TITLE MAIN PROGRAM.
- DSD SPACE 4,10
- ** DSD - MAIN DISPLAY LOOP.
- *
- * THE MAIN PROGRAM CONSISTS OF THE OVERALL LOOP CONTROL
- * FOR DSD. DSD LOOPS THROUGH THE MAIN PROGRAM AS LONG
- * AS THE SYSTEM REMAINS ACTIVE.
- QUAL DSD
- DSD RJM DLS DISPLAY LEFT SCREEN HEADER DATA
- LDC 0 LEFT SCREEN LOWER OVERRIDE FLAG
- DSDA EQU *-1
- ZJN DSD1 IF NEITHER NEW OVERLAY NOR TOGGLE TO DSD
- CFNC RTPF RESET TOP OF PAGE
- LDN 0 CLEAR OVERRIDE FLAG
- STM DSDA
- DSD1 LDD LS SET DISPLAY NAME
- STD CN
- LDC .FLFT SET LOAD ADDRESS
- STD LA
- RJM /PRESET/DLS
- * RJM .FLFT+DOEP (PRESET COMPLETE)
- DSDB EQU *-1
- FJM *,CH IF DATA NOT TAKEN, WAIT
- DCN CH+40
- * PROCESS KEYBOARD IF CDC721 SYSTEM CONSOLE.
- DFIM (CON RJMI)
- UJN *+2
- CON /KEYBOARD/KBI
- * DISPLAY RIGHT SCREEN.
- RJM SYS DISPLAY SYSTEM STATUS
- LDC 0 RIGHT SCREEN LOWER OVERRIDE FLAG
- DSDC EQU *-1
- ZJN DSD2 IF NEITHER NEW OVERLAY NOR TOGGLE TO DSD
- CFNC RTPF RESET TOP OF PAGE
- LDN 0 CLEAR OVERRIDE FLAG
- STM DSDC
- DSD2 LDD RS SET DISPLAY NAME
- STD CN
- LDC .FRHT SET LOAD ADDRESS
- STD LA
- RJM /PRESET/DLS
- * RJM .FRHT+DOEP (PRESET COMPLETE)
- DSDD EQU *-1
- * TRANSFER HIDDEN SCREEN TO VISIBLE (CDC721).
- CFNC THVF TRANSFER HIDDEN TO VISIBLE
- DCN CH+40
- * PROCESS KEYBOARD.
- RJM /KEYBOARD/KBI PROCESS KEYBOARD INPUT
- * PROCESS MISCELLANEOUS TASKS.
- RJM CEQ CHECK EQUIPMENT
- * LOOP.
- AOD CY ADVANCE CYCLE COUNT
- LJM DSD LOOP
- TITLE MAIN SUBROUTINES.
- ** CEQ - CHECK EQUIPMENT.
- *
- * USES CM - CM+4.
- *
- * CALLS RKB.
- *
- * MACROS CFNC, DFIM, MONITOR.
- CEQ3 STM CEQB CLEAR HOLD FLAG
- CEQ SUBR ENTRY/EXIT
- CEQA LDC EQAE CHECK CONSOLE ASSIGNMENT
- CRD CM
- LDD CM+4 GET EJTO
- ZJN CEQ3 IF DISPLAY NOT ASSIGNED
- LDC 0
- CEQB EQU *-1
- NJN CEQX IF HOLD FLAG SET
- RJM RKB READ KEYBOARD
- NJN CEQX IF KEY ENTERED
- LDN CH RELEASE CHANNEL
- STD CM+1
- MONITOR DCHM
- CEQ1 LDN CH CHECK CHANNEL
- STD CM+1
- MONITOR CCHM
- .CCHM LDD CM+2
- NJN CEQ2 IF CHANNEL NOT BUSY
- LDC 10000 DELAY
- SBN 1
- NJN *-1 IF DELAY NOT DONE
- UJN CEQ1 LOOP
- CEQ2 LDC EQAE CHECK CONSOLE ASSIGNMENT
- CEQC EQU CEQ2
- CRD CM
- LDD CM+4 CLEAR / SET HOLD FLAG (USING EJTO)
- STM CEQB
- RJM RKB READ KEYBOARD
- STM /KEYBOARD/KRIA STORE KEYBOARD INPUT
- DFIM (LDN 1)
- LDN 24 SET INITIAL DELAY
- STM /KEYBOARD/KRIB
- STM DSDA ENABLE RESET TOP OF PAGE FUNCTIONS
- STM DSDC
- LJM CEQX RETURN
- SPACE 4,10
- ** COMMON DECKS.
- QUAL
- QUAL GFP
- BLI$ EQU 1 BUILD LONG INSTRUCTIONS
- EJT$ EQU 1 EJT SEARCH
- EST$ EQU 1 EST SEARCH
- FNT$ EQU 1 SYSTEM FNT SEARCH
- IFP$ EQU 1 *COMPGFP* REMOTE ASSEMBLY
- JCB$ EQU 1 JCB SEARCH
- QFT$ EQU 1 QFT SEARCH
- *CALL COMPGFP
- QUAL * DEFINE UNQUALIFIED ENTRY POINTS
- .BLI EQU /GFP/.BLI BUILD LONG INSTRUCTIONS
- .EJT EQU /GFP/.EJT EJT SEARCH
- .EST EQU /GFP/.EST EST SEARCH
- .FNT EQU /GFP/.FNT SYSTEM FNT SEARCH
- .JCB EQU /GFP/.JCB JCB SEARCH
- .QFT EQU /GFP/.QFT QFT SEARCH
- *CALL COMPRJC
- VAL$ EQU 1
- *CALL COMPVLC
- QUAL *
- TITLE MASTER DISPLAY ROUTINES.
- DKB SPACE 4,10
- ** DKB - DISPLAY KEYBOARD BUFFER.
- *
- * ENTRY (KM) = ADDRESS OF KEYBOARD MESSAGE.
- * (DK) = DISPLAY KEYBOARD CONTROL.
- *
- * EXIT (A) = (DK).
- *
- * USES DK, T1, YC.
- *
- * MACROS CFNC, DFIM.
- DKB SUBR ENTRY/EXIT
- CFNC SLPF SELECT LEFT PRIORITY OUTPUT
- DFIM (CON LN51),*+1
- LDC LN49 SET Y-COORDINATE
- STD YC
- DFIM (UJN DKB1)
- LDN 2 SET INTENSIFICATION COUNT
- STD DK
- * DISPLAY KEYBOARD BUFFER IN MEDIUM CHARACTERS IF .LT. 32
- * CHARACTERS IN BUFFER. OTHERWISE, DISPLAY IN SMALL
- * CHARACTERS.
- LDD KI CHECK KEYBOARD INDEX
- SBN 41
- PJN DKB1 IF .GT. 32 CHARACTERS
- DCN CH+40
- CFNC SLMF SELECT LEFT SCREEN, MEDIUM CHARACTERS
- LCN 4 DECREMENT Y-COORDINATE
- RAD YC
- LDN 2 INCREMENT COUNT
- RAD DK
- DKB1 LDN 2 OUTPUT COORDINATES
- OAM XC,CH
- * LDN 0
- STD T1
- DKB2 LDM KBUF,T1
- ZJN DKB3 IF END OF KEYBOARD LINE
- SHN 6
- ADM KBUF+1,T1
- OAN CH+40
- LDN 2 ADVANCE INDEX
- RAD T1
- SBD KI
- MJN DKB2 IF NOT END OF KEYBOARD LINE
- DKB3 CFNC EELF ERASE TO END OF LINE
- * DISPLAY KEYBOARD MESSAGE IF SET.
- LDN 2 OUTPUT ERROR MESSAGE LINE COORDINATE
- OAM DKBA,CH
- LDD KM
- NJN DKB4 IF ERROR MESSAGE PRESENT
- LDM /KEYBOARD/KBRA CHECK REPEAT ENTRY
- ZJN DKB6 IF REPEAT ENTRY NOT SET
- DKB4 STD T1 SET MESSAGE ADDRESS
- DKB5 LDI T1 DISPLAY MESSAGE
- ZJN DKB6 IF END OF MESSAGE
- OAN CH+40
- AOD T1
- UJN DKB5 DISPLAY NEXT BYTE
- * LOOP FOR PROPER INTENSIFICATION.
- DFIM (CFNC EELF)
- DKB6 SOD DK
- ZJN DKB7 IF INTENSIFICATION COMPLETE
- LJM DKB1 LOOP
- DKB7 DCN CH+40
- LDD DK
- LJM DKBX RETURN
- DKBA CON CH01
- DFIM (CON LN50)
- CON LN48+YINC/2
- DLS SPACE 4,15
- ** DLS - DISPLAY LEFT SCREEN DATA.
- *
- * EXIT DISPLAY CHANNEL STILL ACTIVE.
- *
- * USES LK, ST, CM - CM+4.
- *
- * CALLS DAL, HIL, RJC.
- *
- * MACROS CFNC, DISPLA.
- *
- * EXAMPLE -
- *
- * 1 2 3 4 5 6
- * 1234567890123456789012345678901234567890123456789012345678901234
- *
- * JSNN STEP 102 SECURITY-UNLOCK ENGR DEBUG 99
- *
- * LOWLEVL - UPPLEVL MID=AA VERSION LINE.........
- DLS SUBR
- CFNC SLSF SELECT LEFT SCREEN, SMALL CHARACTERS
- CFNC CHSF CLEAR HIDDEN SCREEN
- * OUTPUT HEADER LINE TWO.
- LDC HL02
- OAN CH+40
- LDC SCRL CHECK EMERGENCY STEP
- CRD CM
- LDD CM
- SHN 6+5
- LPN 3
- STD ST
- LPN 2
- ZJN DLS1 IF EMERGENCY STEP NOT SET
- LDN 0 CLEAR JSN
- STM DLSC
- STM DLSB
- LDC 2R
- STM DLSD+1 CLEAR LARGE FUNCTION CODE
- DPPMDSP OCTMIC DPPM,2
- LDC 2R"DPPMDSP"
- STM DLSD
- DLS1 LDD ST
- ZJN DLS2 IF STEP MODE NOT SET
- LDC DLSAL*10000+DLSA DISPLAY STEP
- RJM HIL
- DLS2 LDN SSTL READ SYSTEM STATUS
- CRD CM
- LDD CM SET LOCK FLAG
- SHN -10
- LPN 3
- STD LK
- SHN 21-1
- PJN DLS3 IF NOT SECURITY UNLOCK
- LDD SF
- ZJN DLS4 IF UNSECURED SYSTEM
- DISPLA CH21,,(SECURITY-),H
- UJN DLS4 CONTINUE
- DLS3 SHN 1-0
- PJN DLS5 IF NOT UNLOCK
- DLS4 DISPLA CH30,,(UNLOCK),H
- DLS5 LDD CM+3 CHECK ENGINEERING
- LPN 4
- NJN DLS6 IF DISABLED
- DISPLA CH42,,(ENGR),H
- DLS6 LDD CM+3 CHECK DEBUG
- LPN 1
- ZJN DLS7 IF NOT SET
- DISPLA CH52,,(DEBUG),H
- DLS7 LDM /KEYBOARD/ADSA
- ZJN DLS8 IF SYNTAX CHECKING ENABLED
- DISPLA CH62,,(99),H
- DLS8 LDC HL04
- OAN CH+40
- LDD SF CHECK SECURITY
- ZJN DLS9 IF UNSECURED SYSTEM
- * OUTPUT HEADER LINE FOUR.
- LDC CH01
- OAN CH+40
- LDN 0 GET SYSTEM SECURITY BOUNDS
- RJM RJC
- CRD CM
- LDD CM+1 EXTRACT LOWER BOUND
- SHN -3
- RJM DAL DISPLAY SECURITY BOUND STRING
- LDC 2R- DISPLAY DASH
- OAN CH+40
- LDD CM+1 EXTRACT UPPER BOUND
- RJM DAL DISPLAY SECURITY BOUND STRING
- DLS9 LDN DLSEL DISPLAY MACHINE ID AND VERSION
- OAM DLSE,CH
- LJM DLSX RETURN
- DLSA CON CH02
- DLSB DATA 0 JSN
- DLSC DATA 0 JSN
- DATA H* STEP *
- DLSD DATA 0 FUNCTION
- DATA 0
- DLSAL EQU *-DLSA
- DLSE CON CH22
- DATA H*MID=*
- DLSF DATA H* * MACHINE ID
- DATA 4H
- DLSG BSSZ 12 VERSION
- DLSEL EQU *-DLSE LENGTH
- TITLE OVERLAY LOADER.
- LDO SPACE 4,10
- ** LDO - LOAD DISPLAY OVERLAYS.
- *
- * ENTRY (A) = 2 CHARACTERS FOR DISPLAY.
- *
- * EXIT (LS) = LEFT SCREEN DISPLAY LETTER.
- * (RS) = RIGHT SCREEN DISPLAY LETTER.
- *
- * USES LA, LS, RS, T6, T7.
- *
- * CALLS LOV, USS.
- LDO SUBR ENTRY/EXIT
- SHN 14 LEFT SCREEN
- STD T6
- SHN -14 RIGHT SCREEN
- STD T7
- * LOAD LEFT SCREEN DISPLAY.
- LDD T6
- ZJN LDO1 IF NO LEFT SCREEN REQUEST
- LDC .FLFT SET LEFT SCREEN LOAD ADDRESS
- STD LA
- LDM TDSO,T6 LOAD OVERLAY
- RJM LOV
- STM DSDA
- LDD LA ENABLE LEFT SCREEN PAGING
- STM /KEYBOARD/AVDA
- ADN DOEP SET ENTRY POINT FOR OVERLAY
- STM DSDB SAVE ENTRY POINT
- LDD T6 SET LEFT SCREEN NAME
- STD LS
- RJM USS UPDATE SCREEN STATUS
- * LOAD RIGHT SCREEN DISPLAY.
- LDO1 LDD T7
- ZJN LDO2 IF NO RIGHT SCREEN REQUEST
- LDC .FRHT SET RIGHT SCREEN LOAD ADDRESS
- STD LA
- LDM TDSO,T7 LOAD OVERLAY
- RJM /PRESET/DRS
- LDOA EQU *-1
- * RJM LOV (PRESET COMPLETE)
- STM DSDC
- LDD LA ENABLE RIGHT SCREEN PAGING
- STM /KEYBOARD/AVDB
- ADN DOEP SET ENTRY POINT FOR OVERLAY
- STM DSDD
- LDD T7 SET RIGHT SCREEN NAME
- STD RS
- RJM USS UPDATE SCREEN STATUS
- LDO2 LJM LDOX RETURN
- LOV SPACE 4,15
- ** LOV - LOAD OVERLAY.
- *
- * ENTRY (A) = OVERLAY NUMBER.
- * (LA) = LOAD ADDRESS FOR OVERLAY.
- *
- * EXIT (A) = 0, IF OVERLAY ALREADY LOADED.
- * 2, IF DISK OVERLAY LOADED.
- *
- * USES KM, T1, T2, T3, AB - AB+4, CM - CM+4.
- *
- * CALLS *1DL*.
- *
- * MACROS CCF, CFNC, DFIM, EXECUTE.
- LOV11 LDN 0 CLEAR OVERLAY LOAD
- STM LOVA
- IAM *,CH INPUT OVERLAY
- LOVD EQU *-1
- CCF *+2,CH SIGNAL *SCD* TO RESUME USING CHANNEL
- LDM LOVD RESET LOAD ADDRESS
- STD LA
- * RELOCATE OVERLAY.
- LOV12 LDD LA CHECK LOAD ADDRESS
- ADC -.FCOM+5
- ZJN LOVX IF COMMAND/SYNTAX OVERLAY
- SHN -11
- STD T3 SET LEFT OR RIGHT SCREEN
- LDM 5,LA SET RELOCATION ADDRESS
- ADD LA
- STD T1
- LOV13 LDI T1
- ZJN LOV14 IF END OF TABLE
- ADD LA SET WORD ADDRESS TO BE RELOCATED
- STD T2
- LDD LA RELOCATE ADDRESS
- RAI T2
- AOD T1
- UJN LOV13 RELOCATE NEXT ADDRESS
- LOV14 STM TGTF,T3 CLEAR TOGGLE FLAG FOR OVERLAY
- LDN 2 SET OVERLAY LOADED STATUS
- LOV SUBR ENTRY/EXIT
- LPC 377 SET OVERLAY NUMBER
- STD T1
- ZJN LOVX IF RESIDENT OVERLAY
- SCN 37 CONVERT OVERLAY NUMBER TO OVERLAY NAME
- ADN 1
- RAD T1
- LDC RPLP READ *RPLP* POINTER
- CRD CM
- ADN PLDP-RPLP GET PLD POINTER
- CRD AB
- LDI LA CHECK NAME
- SHN 14
- LMM 1,LA
- SHN -6
- LMD T1
- ZJN LOVX IF LOADED
- LDD AB
- ADD AB+1
- ZJP CLP1 IF LIBRARY LOCKED
- LDM LOVA
- NJN LOV1 IF LOAD IN PROGRESS
- LDD LA
- STM LOVB SET LOAD ADDRESS
- STM LOVD
- LDN 0
- UJN LOV3 BEGIN NEW LOAD
- LOV1 LJM 0 CONTINUE CURRENT LOAD
- LOVA EQU *-1
- LOV2 LDD AB+4 ADVANCE RPL ADDRESS
- RAD CM+1
- SHN -14
- LOV3 RAD CM READ ENTRY
- SHN 14
- ADD CM+1
- CRD AB
- LDD AB+4
- ZJN LOV4 IF END OF RPL
- LDD AB+1 CHECK NAME
- SCN 77
- LMN 1R9 CHECK FOR *9XX*
- SHN 6
- LMD AB
- SHN 6
- LMD T1
- NJN LOV2 IF NO MATCH
- STD KM CLEAR ERROR MESSAGE
- LDD CM READ OVERLAY
- SHN 14
- ADD CM+1
- CRM *,AB+4
- LOVB EQU *-1
- LJM LOV12 RELOCATE OVERLAY
- * SET UP DISK LOAD.
- LOV4 LDD T1 SET OVERLAY NAME
- STD AB+4
- LDN 1R9
- STD AB+3
- LDN CH SET CHANNEL
- STD AB+2
- LDC LOV4
- STM LOVA SET THIS PHASE
- EXECUTE 1DL
- LDD CM+1 SAVE PP INPUT REGISTER ADDRESS
- STM LOVC
- * CHECK STATUS OF LOAD.
- LOV5 LDC LOV5 SET THIS PHASE
- STM LOVA
- LDC DDCF DESELECT DISPLAY
- DFIM (CON SDCF),*-1
- CFNC
- LDC * READ PP INPUT REGISTER
- LOVC EQU *-1
- CRD CM
- LDD CM+1 CHECK INPUT REGISTER
- SCN 37
- SHN 6
- LMD CM
- LMC 3RL1D
- NJN LOV9 IF NOT *1DL*
- LDD CM+2
- LMC 7777
- ZJN LOV7 IF TRANSMISSION READY
- LDC KSBD
- UJN LOV10 PROCESS *DISK BUSY*
- * INPUT OVERLAY.
- LOV7 LDD TH
- SBN 1
- NJN *-1 IF DELAY NOT OVER
- DCN CH+40
- STD KM CLEAR KEYBOARD MESSAGE
- STD CM+2
- LDM LOVC
- CWD CM
- ACN CH
- LOV8 FJM LOV11,CH IF CHANNEL FULL
- SOD CM+2
- NJN LOV8 IF DELAY NOT OVER
- * ABORT OVERLAY LOAD.
- LOV9 LDD HN RESET FORMAT TABLE
- ERRNZ TCEF-100 CANNOT USE DIRECT CELL *HN*
- STM /KEYBOARD/KBIB
- LDN 0 CLEAR OVERLAY NAME
- STM LOVA
- LOV10 DCN CH+40
- CCF *+2,CH SIGNAL *SCD* TO RESUME USING CHANNEL
- LJM CLP2 PROCESS INCOMPLETE *CR*
- USS SPACE 4,15
- ** USS - UPDATE SCREEN STATUS.
- *
- * ENTRY (LA) = LEFT OR RIGHT UPDATE FLAG.
- * .LT. *.FLFT* = DO NOT UPDATE SCREENS.
- * = *.FLFT* = UPDATE LEFT SCREEN DATA.
- * = *.FRHT* = UPDATE RIGHT SCREEN DATA.
- *
- * EXIT SCREEN STATUS UPDATED IN *DSD* INPUT REGISTER.
- *
- * USES T1, T2, SR - SR+4.
- *
- * CALLS SJT.
- USS SUBR ENTRY/EXIT
- LDD LA DETERMINE WHICH SCREEN TO UPDATE
- ADC -.FLFT
- MJN USSX IF NO SCREEN IS INVOLVED
- SHN -10 CONVERT *.FRHT*-*.FLFT* TO A 1
- ERRNG .FLFT+777-.FRHT SHIFT COUNT IS TOO LOW
- STD T1
- LDD IA
- CRD SR
- LDD LS UPDATE SCREEN NAMES
- SHN 6
- LMD RS
- STD SR+2
- LDM LS,T1 SEARCH JSN TABLE
- RJM SJT
- ZJN USS2 IF ENTRY NOT FOUND
- LDM 3,T2 GET EJTO OF ASSIGNED JOB
- USS2 STM SR+3,T1 UPDATE INPUT REGISTER
- LDD LS
- LMD RS
- NJN USS3 IF SCREENS ARE NOT THE SAME
- LDD T1
- LMN 1
- STD T2
- LDM SR+3,T1 MAKE BOTH EJTO-S THE SAME
- STM SR+3,T2
- USS3 LDD IA
- CWD SR
- LJM USSX RETURN
- TITLE DISPLAY CONTROL TABLES.
- TDSP SPACE 4,10
- ** TDSP - DEFINE DISPLAY TABLE ENTRIES.
- *
- *
- *T TDSP NAME
- * ENTRY *LETTER* = NAME OF DISPLAY.
- * *NAME* = NAME OF DISPLAY PROCESSOR.
- MACRO TDSP,A,B
- ORG TDSO+1R;A
- CON /DISPLAY/B/10000
- ENDM
- TDSO SPACE 4,10
- ** TDSO - TABLE OF DISPLAY OVERLAY NAMES.
- * ENTRY = 1 WORD.
- * INDEXED BY DISPLAY LETTER.
- *
- *T, 12/ NM
- * NM LAST 2 CHARACTERS OF OVERLAY NAME
- TDSO EQU *-1
- DUP 1RZ,1
- CON 7777
- TJAZ SPACE 4,10
- ** TJAZ - TABLE OF DISPLAY JSN-S.
- *
- * ENTRY = 5 WORDS.
- *
- *T 6/NCM, 6/INDEX, 24/JSN, 12/EJTO
- *
- * NCM = 40, IF NOT CM DISPLAY.
- * = 0, IF CM DISPLAY.
- * INDEX = DISPLAY NAME.
- * JSN = JSN.
- * EJTO = EJTO OF JSN. SET BY ROUTINE *SJS* WHEN
- * A DISPLAY IS SELECTED BY THE OPERATOR.
- TJAZ BSS 0
- TJAA VFD 6/40,6/1RA,24/0,12/0
- TJAZE EQU *-TJAZ ENTRY LENGTH
- TJCC VFD 12/1RC,24/0,12/0
- TJDD VFD 12/1RD,24/0,12/0
- TJFF VFD 12/1RF,24/0,12/0
- TJGG VFD 12/1RG,24/0,12/0
- TJHH VFD 6/40,6/1RH,24/0,12/0
- TJJJ VFD 6/40,6/1RJ,24/0,12/0
- TJKK VFD 6/40,6/1RK,24/0,12/0
- TJMM VFD 6/40,6/1RM,24/0,12/0
- TJPP VFD 6/40,6/1RP,24/0,12/0
- TJAZL CON 0 END OF TABLE
- DISP SPACE 4,10
- ** ENTER DISPLAY CONTROLS.
- DISP BSS 0
- A TDSP DSA
- B TDSP DSB
- C TDSP DSC
- D TDSP DSC
- E TDSP DSE
- F TDSP DSF
- G TDSP DSF
- H TDSP DSH
- I TDSP DSI
- J TDSP DSJ
- K TDSP DSK
- L TDSP DSL
- M TDSP DSM
- O TDSP DSO
- P TDSP DSP7
- Q TDSP DSQ
- R TDSP DSR
- S TDSP DSS
- T TDSP DST
- V TDSP DSV
- W TDSP DSWR
- Y TDSP DSY
- Z TDSP DSZ
- ORG DISP
- QUAL
- LDO EQU /DSD/LDO
- LOV EQU /DSD/LOV
- USS EQU /DSD/USS
- .CCHM EQU /DSD/.CCHM
- COMMON SPACE 4,10
- * COMMON DECKS.
- LIST X
- *CALL COMDDIS
- DSS$ EQU 0 DISPLAY SUBSYSTEM STATUS
- DSDSYS$ EQU 0 ASSEMBLE *DSD* ONLY CODE
- *CALL COMDSYS
- LIST *
- TITLE KEYBOARD INPUT PROCESSING.
- QUAL KEYBOARD
- KBI SPACE 4,10
- *** KEYBOARD INPUTS ARE PROCESSED AS THEY ARE ENTERED.
- * CHECKING IS PERFORMED ON EACH CHARACTER TO VALIDATE THE ENTRY.
- * WHEN AN ENTRY BECOMES UNIQUE, THE REMAINDER OF THE ENTRY
- * IS FILLED IN BY THE INPUT PROCESSORS.
- * AT THIS POINT, THE ENTRY IS CONSIDERED COMPLETE.
- *
- * *CR* MUST FOLLOW ALL ENTRIES BEFORE ACTION IS TAKEN.
- *
- * *BKSP* DELETES THE PREVIOUS CHARACTER TYPED.
- *
- * *LEFT BLANK* DELETES THE CURRENT LINE BEING ENTERED.
- *
- *
- * IF THESE CHARACTERS ARE THE FIRST ENTRY, THE FOLLOWING
- * APPLIES -
- *
- * *+* = ADVANCE LEFT SCREEN DISPLAY AS FOLLOWS -
- * 1. ADVANCE DISPLAYED ADDRESSES BY 40 (20 ON A CC634B)
- * ON THESE DISPLAYS -
- * C, D, F, G, M.
- * 2. ADVANCE ENTRIES ON THESE DISPLAYS -
- * B, E, H, I, O, P, Q, R, S, T.
- * 3. ENABLE DISPLAY SCROLLING ON THE CC545 ON THE *A*
- * DISPLAY.
- *
- * *-* = DECREMENT LEFT SCREEN DISPLAY AS FOLLOWS -
- * 1. DECREMENT DISPLAYED ADDRESSES BY 40 (20 ON A
- * CC634B) ON THESE DISPLAYS -
- * C, D, F, G, M.
- * 2. DISPLAY FIRST OR PREVIOUS SCREEN ON THESE
- * DISPLAYS -
- * B, E, H, I, O, P, Q, R, S, T.
- * 3. DISABLE DISPLAY SCROLLING ON THE CC545 ON THE *A*
- * DISPLAY.
- *
- * (*) = HOLD DISPLAY.
- *
- * */* = ADVANCE LEFT SCREEN MEMORY DISPLAY ADDRESS BY THE
- * VALUE IN THE BOTTOM 18 BITS OF THE FIRST WORD DISPLAYED.
- *
- * *(* = ADVANCE RIGHT SCREEN AS IN *+* ABOVE.
- *
- * *)* = DECREMENT RIGHT SCREEN AS IN *-* ABOVE.
- *
- * *CR* = SET REPEAT ENTRY. PROCESS THE FOLLOWING ENTRY, BUT
- * DO NOT ERASE AFTER COMPLETION.
- *
- * ABOVE THE ENTRY DISPLAY, THE FOLLOWING MESSAGES MAY
- * APPEAR -
- * *INCORRECT ENTRY* = ENTRY IS UNRECOGNIZABLE.
- *
- * *PPU BUSY* = WAITING FOR THE SYSTEM TO ASSIGN
- * A PP FOR PROCESSING OF THE ENTRY.
- *
- * *MTR BUSY* = WAITING FOR *MTR* TO PROCESS REQUEST.
- *
- * *LOG - * (PRECEDING EITHER OF THE LAST TWO MESSAGES) =
- * COMMAND HAS BEEN EXECUTED BUT LOGGING IN SYSTEM
- * DAYFILE AND/OR ERROR LOG IS WAITING.
- *
- * *DISK BUSY* = WAITING FOR THE DISK TO BECOME
- * FREE TO PROCESS THE ENTRY.
- * *COMMAND TOO LONG*
- * AN ATTEMPT TO ENTER MORE THAN 60 CHARACTERS HAS
- * BEEN MADE.
- *
- * USES DK, KE, KI, T2, T4, T6, T7.
- *
- * CALLS CKS, CSC, /DSD/DKB, KRI, RKB.
- *
- * MACROS DFIM.
- KBI14 LDN 0 FORCE RETURN
- STD DK
- KBIX RJM /DSD/DKB DISPLAY KEYBOARD BUFFER
- NJN KBI0 IF INPUT NOT COMPLETE
- LJM * ENTRY/EXIT
- KBI EQU *-1
- LDN 0 INITIALIZE KEYBOARD DISPLAY CONTROL
- STD DK
- KBI0 LDD KE
- NJN KBI1 IF PRESET INPUT
- AOD DK
- RJM RKB READ KEYBOARD
- RJM KRI PROCESS REPEAT INPUT
- ZJN KBI14 IF NO KEYBOARD INPUT
- SBN 63
- PJN KBI14 IF ILLEGAL CHARACTER
- ADN 63
- * CHECK FOR AND PROCESS SPECIAL CHARACTERS.
- KBI1 STD T2 SET CHARACTER
- LDC TSCE-2 SPECIAL CHARACTER TABLE
- RJM CSC CHECK SPECIAL CHARACTER
- * ENTER CHARACTER IN BUFFER.
- KBI2 LDN 0 CLEAR PRESET ENTRY
- STD KE
- LDD KI
- ZJN KBI3.1 IF FIRST CHARACTER
- SBN KBUFL
- MJN KBI4 IF BUFFER NOT FULL
- LDC KCTL *COMMAND TOO LONG*
- STD KM
- KBI3 LJM KBIX RETURN
- KBI3.1 LDC TSFC-2 FIRST CHARACTER TABLE
- RJM CSC CHECK SPECIAL CHARACTER
- KBI4 LDD T2 ENTER CHARACTER
- STM KBUF,KI
- AOD KI
- AOD DK SET KEYBOARD DISPLAY
- * SCAN SYNTAX TABLE.
- KBI5 LDC 0 GET SYNTAX SKIP FLAG
- KBIA EQU *-1
- NJN KBI3 IF SYNTAX TO BE SKIPPED
- STD T6
- LDC TCEF SET SYNTAX TABLE START
- KBIB EQU *-1
- STD T7
- * BEGIN NEW SYNTAX CHECK.
- KBI6 LDD T7 SET START OF SYNTAX
- STD T4
- LDI T7
- ZJN KBI10 IF END OF SYNTAX TABLE
- KBI7 LPN 77 CHECK SYNTAX ENTRY
- ZJN KBI8 IF END OF ENTRY
- AOD T7
- LDI T7
- UJN KBI7 SKIP TO END OF ENTRY
- KBI8 LDN 3 SET START OF NEXT SYNTAX
- RAD T7
- * COMPARE ENTRY AND SYNTAX CHARACTER.
- RJM CKS CHECK SYNTAX
- NJN KBI6 IF NO MATCH
- LDD T6
- NJN KBI9 IF PREVIOUS MATCH FOUND
- LDD T4 SET NEW SYNTAX TABLE START
- STM KBIB
- LDD T1 SET NEXT SYNTAX CHARACTER
- STD T6
- KBI9 SBN 66
- PJN KBI10 IF SPECIAL CHARACTER
- LDD T1
- LMD T6
- ZJN KBI6 IF SAME CHARACTER
- UJN KBI11 RETURN
- * CHECK RESULTS OF SEARCH.
- KBI10 LDD T6
- NJN KBI12 IF UNIQUE ENTRY FOUND
- STM KBUF-1,KI CLEAR ENTRY
- SOD KI
- KBI11 LJM KBIX RETURN
- * ENTER NEXT SYNTAX CHARACTER IN KEYBOARD ENTRY.
- KBI12 SBN 66
- PJN KBI11 IF SPECIAL CHARACTER
- ADN 66 SET PRESET ENTRY
- STD KE
- LMN 1R
- NJN KBI13 IF NOT * *
- LDN 62 SET SPACE BAR
- STD KE
- KBI13 LJM KBI0 ATTEMPT TO FILL IN NEXT CHARACTER
- KRI SPACE 4,10
- ** KRI - PROCESS KEYBOARD REPEAT INPUT.
- *
- * ENTRY (A) = KEYBOARD CHARACTER.
- *
- * EXIT (A) = KEYBOARD CHARACTER.
- *
- * USES T0.
- *
- * MACROS DFIM.
- KRI1 LDN 20 SET REPEAT DELAY
- DFIM (LDN 1)
- KRI2 LMN 24 SET INITIAL DELAY
- STM KRIB
- LDD T0 STORE CHARACTER
- KRI3 STM KRIA
- KRI SUBR ENTRY/EXIT
- ZJN KRI3 IF NO INPUT
- STD T0 SAVE CHARACTER
- LDN 0 CLEAR SYNTAX SKIP FLAG
- STM KBIA
- LDC 0
- KRIA EQU *-1
- ZJN KRI2 IF NO PREVIOUS INPUT
- SOM KRIB DECREMENT DELAY
- ZJN KRI1 IF DELAY ELAPSED
- LDN 0 RETURN NO CHARACTER
- UJN KRIX RETURN
- KRIB CON 0
- CKS SPACE 4,10
- ** CKS - CHECK SYNTAX.
- *
- * ENTRY (T4) = FWA OF CURRENT SYNTAX TABLE ENTRY.
- * (T7) = FWA+3 OF NEXT SYNTAX TABLE ENTRY.
- * (LK) = CONSOLE LOCK STATUS.
- *
- * EXIT (A) = 0, IF MATCH AND END OF KEYBOARD ENTRY.
- * .NE. 0, IF NO MATCH.
- *
- * USES T2, T3, T5.
- *
- * CALLS ADS, LSC.
- CKS SUBR ENTRY/EXIT
- LDC KBUF SET KEYBOARD BUFFER START
- STD T3
- LCN 0 CLEAR SYNTAX CHARACTER INDEX
- STD T5
- CKS1 AOD T5 ADVANCE TO NEXT BYTE IN SYNTAX
- RJM LSC LOAD FIRST SYNTAX CHARACTER
- NJN CKS4 IF NOT A CONDITIONAL CHECK FLAG
- LDM .FCOM-5,T8 GET CHECK SUBROUTINE ADDRESS
- STD T2
- RJM 0,T2
- NJN CKS1 IF CONDITION PRESENT
- CKS2 LDN 1 SET MATCH FAILED
- CKS3 UJN CKSX RETURN
- CKS4 LDM -2,T7 CHECK (S)LOCK CONTROL
- SHN -12
- LPN 3
- SBD LK
- SBN 1
- PJN CKS2 IF UNLOCK NOT SET
- CKS5 LDM -2,T7 SET LOGGING CONTROL
- SHN -10
- LPN 3
- STM LKBA
- CKS6 LDI T3 CHECK CHARACTER
- ZJN CKS3 IF END OF BUFFER
- LDD T1 CHECK SYNTAX
- SBN 66
- PJN CKS8 IF SPECIAL CHARACTER
- ADN 66
- LMI T3
- NJN CKS3 IF NO MATCH
- RJM ADS ADVANCE SYNTAX
- CKS7 AOD T3 ADVANCE CHARACTER
- UJN CKS6 LOOP
- * ALPHA/NUMERIC FIELD.
- CKS8 ADN 66
- LMN 1R'
- NJN CKS10 IF NOT *'*
- LDI T3 CHECK CHARACTER
- SBN 1R+
- MJN CKS7 IF ALPHA/NUMERIC
- CKS9 RJM ADS ADVANCE SYNTAX
- UJN CKS6 PROCESS NEXT SYNTAX
- * OCTAL FIELD.
- CKS10 LMN 1R?&1R'
- NJN CKS11 IF NOT *?*
- LDI T3
- SBN 1R0
- MJN CKS14 IF ALPHA
- SBN 1R8-1R0
- MJN CKS7 IF OCTAL DIGIT
- SBN 1R -1R8
- ZJN CKS7 IF * *
- UJN CKS9 ADVANCE SYNTAX
- * CHARACTER WITHIN LIMITS.
- CKS11 LMN 1R<&1R?
- NJN CKS15 IF NOT *<*
- RJM ADS ADVANCE SYNTAX
- STD T2 NEXT SYNTAX CHAR = LOWER LIMIT
- RJM ADS ADVANCE SYNTAX
- SBI T3
- MJN CKS14 IF CHARACTER > UPPER LIMIT
- LDI T3
- SBD T2
- MJN CKS14 IF CHARACTER < LOWER LIMIT
- CKS12 AOD T3 ADVANCE CHARACTER
- UJN CKS9 ADVANCE SYNTAX
- CKS13 LDD T2
- NJN CKS12 IF MATCH IN SET
- CKS14 LDN 1 RETURN WITH (A) " 0
- LJM CKSX RETURN
- * CHARACTER IN SET.
- CKS15 LMN 1R>&1R<
- NJN CKS17 IF NOT *>*
- STD T2 CLEAR FLAG
- CKS16 RJM ADS ADVANCE SYNTAX
- LMN 1R>
- ZJN CKS13 IF SECOND *>*
- LMN 1R> COMPARE CHARACTER
- LMI T3
- NJN CKS16 IF NO MATCH
- AOD T2 SET FLAG
- UJN CKS16 LOOP
- * DISPLAY NAME.
- CKS17 LMN 1R\&1R>
- NJN CKS14 IF NOT *\*
- LDI T3 CHECK CHARACTER
- SBN 1R0
- PJN CKS14 IF NOT ALPHA
- ADN 1R0 SET DISPLAY INDEX
- STD T2
- LDM /DSD/TDSO,T2 CHECK IF DISPLAY DEFINED
- LMC 7777
- ZJN CKS14 IF DISPLAY NOT DEFINED
- UJN CKS12 ACCEPT FORMAT
- ADS SPACE 4,15
- ** ADS - ADVANCE SYNTAX.
- *
- * EXIT FROM *KBI* IF FREE SYNTAX SENSED.
- * LOAD SYNTAX OVERLAY IF INDICATED.
- *
- * ENTRY (T4) = SYNTAX ADDRESS.
- * (T5) = INDEX.
- * (T7) = START OF NEXT SYNTAX ENTRY.
- *
- * EXIT (T4 - T5) ADVANCED.
- * (A) = (T1) = NEXT SYNTAX CHARACTER.
- *
- * USES KI, KR, LA, T5, T7.
- *
- * CALLS LOV, LSC.
- ADS SUBR ENTRY/EXIT
- LDC 774000 ADVANCE CHARACTER
- RAD T5
- RJM LSC LOAD SYNTAX CHARACTER
- ZJN ADS2 IF END OF SYNTAX
- LMN 1R@
- ZJN ADS3 IF *@*
- LMN 1R;&1R@
- ZJN ADS4 IF *;*
- LMN 1R; RESTORE CHARACTER
- UJN ADSX RETURN
- ADS2 LDD KR
- ZJN ADS3 IF KEYBOARD NOT READY BEFORE
- SOD KI CLEAR ENTRY
- LDN 0
- STM KBUF,KI
- ADS3 LDN 1 SET KEYBOARD READY
- STD KR
- LDM -2,T7 SET OVERLAY NAME
- STM KCRA
- LDM -1,T7 SET PROCESSOR ADDRESS
- STM KCRB
- LDD T4 SET SYNTAX TABLE START
- STM KBIB
- LJM KBIX RETURN
- * SWITCH TO NEW SYNTAX OVERLAY.
- ADS4 LDC 0
- ADSA EQU *-1
- NJN ADS5 IF SYNTAX CHECKING DISABLED (99.)
- LDM -1,T7 SET TABLE ADDRESS
- STM ADSB
- LDC .FCOM-5 SET LOAD ADDRESS
- STD LA
- LDM -2,T7 LOAD OVERLAY
- RJM LOV
- LDC * SET NEW SYNTAX TABLE
- ADSB EQU *-1
- STD T7
- ADS5 LJM KBI6 CHECK NEW SYNTAX
- LSC SPACE 4,10
- ** LSC - LOAD SYNTAX CHARACTER.
- *
- * ENTRY (A) = (T5) = INDEX.
- * (T4) = SYNTAX ADDRESS.
- *
- * EXIT (A) = (T1) = NEXT SYNTAX CHARACTER.
- * (T8) = BYTE CONTAINING NEXT SYNTAX CHARACTER.
- *
- * USES T1, T8.
- LSC SUBR ENTRY/EXIT
- LPN 77 SET BYTE ADDRESS
- ADD T4
- STD T1
- LDD T5 LOAD CHARACTER
- SCN 77
- SHN 6
- LMI T1
- STD T8 SET BYTE
- MJN LSC1 IF LOWER
- SHN -6
- LSC1 LPN 77 SET CHARACTER
- STD T1
- UJN LSCX RETURN
- KII SPACE 4,10
- ** KII - INCOMPLETE INPUT.
- *
- * USES KE.
- *
- * CALLS KRI, RKB.
- KII BSS 0 ENTRY
- RJM RKB READ KEYBOARD
- RJM KRI PROCESS REPEAT INPUT
- ZJN KII1 IF NO INPUT
- SBN 53
- NJN KII1 IF NOT *LEFT BLANK*
- LJM KLB CLEAR KEYBOARD
- KII1 SBN 62-53
- NJN KII2 IF NOT *SPACE BAR*
- LDD ST
- ZJN KII2 IF *STEP* NOT SET
- LJM KSP PROCESS STEP
- KII2 LDD KE
- LMN 55
- NJN KII3 IF PRESET ENTRY NOT *RIGHT BLANK* KEY
- LJM KRB1 ADVANCE LEFT DISPLAY
- KII3 LMN 64&55
- NJN KII4 IF NOT INCOMPLETE *1DS* CALL
- LJM C1D3 PROCESS INCOMPLETE *1DS* CALL
- KII4 LDD KR
- NJN KII5 IF KEYBOARD READY
- STD KE CLEAR PRESET ENTRY
- LJM KBI5 PROCESS AS NORMAL INPUT
- KII5 LJM KCR PROCESS *CR*
- RKB SPACE 4,10
- ** RKB - READ KEYBOARD.
- *
- * EXIT (A) = CHARACTER INPUT.
- *
- * MACROS CFNC.
- RKB SUBR ENTRY/EXIT
- CFNC SKIF
- IAN CH+40 INPUT CHARACTER
- DCN CH+40
- UJN RKBX RETURN
- TITLE SPECIAL CHARACTER PROCESSING.
- CSC SPACE 4,10
- ** CSC - CHECK SPECIAL CHARACTER.
- *
- * ENTRY (A) = FWA-2 OF SPECIAL CHARACTER TABLE.
- * (T2) = CHARACTER.
- *
- * EXIT RETURN IF NOT SPECIAL CHARACTER.
- * PROCESS CHARACTER IF FOUND.
- *
- * USES T1.
- CSC SUBR ENTRY/EXIT
- STD T1 SET TABLE ADDRESS
- CSC1 LDN 2 ADVANCE TABLE
- RAD T1
- LDI T1 CHECK ENTRY
- ZJN CSCX IF END OF TABLE
- LMD T2
- NJN CSC1 IF NO MATCH
- LDM 1,T1 PROCESS ENTRY
- STD T1
- LJM 0,T1 GO TO SPECIAL CHARACTER HANDLER
- TSFC SPACE 4,15
- ** TSFC - TABLE OF SPECIAL FIRST CHARACTERS.
- TSFC BSS 0
- CON 1R+,AVD *+* - ADVANCE LEFT SCREEN DISPLAY
- CON 1R-,AVD *-* - DECREMENT LEFT SCREEN DISPLAY
- CON 1R*,RDC (*) - RELEASE DISPLAY CHANNEL
- CON 1R/,ALV */* - ADVANCE LEFT SCREEN BY VALUE
- CON 1R(,AVD *(* - ADVANCE RIGHT SCREEN DISPLAY
- CON 1R),AVD *)* - DECREMENT RIGHT SCREEN DISPLAY
- CON 1R=,ARV *=* - ADVANCE RIGHT SCREEN BY VALUE
- CON 0 END OF TABLE
- TSCE SPACE 4,15
- ** TSCE - TABLE OF SPECIAL CHARACTER ENTRIES.
- TSCE BSS 0
- CON 53,KLB *LEFT BLANK* - CLEAR KEYBOARD
- CON 55,KRB *RIGHT BLANK* - ADVANCE LEFT DISPLAY
- TSCEA EQU *-1
- CON 60,KCR *CR* - PROCESS ENTRY
- TSCEB EQU *-1 (CHANGED ON INITIAL ENTRY)
- CON 61,KBK *BKSP* - ERASE PREVIOUS CHARACTER
- CON 62,KSP *SPACE BAR*
- CON 63,KII INCOMPLETE INPUT
- CON 64,KII INCOMPLETE INPUT (*1DS* CALL)
- CON 65,/PRESET/KCR INCOMPLETE INPUT (PRESET)
- CON 0
- AVD SPACE 4,10
- ** AVD - ADVANCE DISPLAY.
- *
- * EXIT (T2) = 0, IF PAGE FORWARD.
- * = 1, IF PAGE BACKWARD.
- * (T7) = SCREEN INDEX.
- *
- * USES LA, T2, T7.
- AVD BSS 0 ENTRY
- LDD LS SET LEFT SCREEN
- STD T7
- LDC KBIX-DOPG
- AVDA EQU *-1
- * LDC .FLFT (LEFT SCREEN ORIGIN AFTER OVERLAY LOAD)
- STD LA
- LDD T2 CHECK ENTRY
- SBN 1R+
- STD T2
- SBN 1R--1R++1
- MJN AVD1 IF *+* OR *-*
- LDD RS SET RIGHT SCREEN
- STD T7
- LDC KBIX-DOPG
- AVDB EQU *-1
- * LDC .FRHT (RIGHT SCREEN ORIGIN AFTER OVERLAY LOAD)
- STD LA
- LCN 1R(-1R+ SET *+* OR *-*
- RAD T2
- AVD1 LJM DOPG,LA ENTER OVERLAY AT PAGING ENTRY POINT
- AMF SPACE 4,10
- ** AMF - ADVANCE MEMORY FIELDS.
- *
- * USES AB+3, AB+4.
- *
- * CALLS ADA.
- *
- * MACROS DFIM.
- AMF BSS 0 ENTRY
- LDD T2 CHECK CHARACTER
- ZJN AMF1 IF *+*
- DFIM (LCN 17+20) TWO-S COMPLEMENT OF 20
- LCN 37+40 TW0-S COMPLEMENT OF 40
- DFIM (ADN 20)
- AMF1 ADN 40
- STD AB+4 (AB+4) = 0040/0020/7760/7740
- SHN -6
- STD AB+3 (AB+3) = 0000/7777
- LDD T7 ADVANCE DISPLAY ADDRESSES
- RJM ADA
- JMP KBIX RETURN
- RDC SPACE 4,10
- ** RDC - RELEASE DISPLAY CHANNEL.
- RDC LDN 0 CLEAR HOLD FLAG
- STM /DSD/CEQB
- STD DK ENABLE *KBI* EXIT
- JMP KBIX RETURN
- ARV SPACE 4,10
- ** ARV - ADVANCE RIGHT SCREEN BY VALUE, IF C, D, F, G, OR M
- * DISPLAY. OTHERWISE, TOGGLE RIGHT SCREEN TOGGLE FLAG.
- ARV BSS 0 ENTRY
- LDN 1
- UJN ALV0 SET RIGHT SCREEN
- ALV SPACE 4,10
- ** ALV - ADVANCE LEFT DISPLAY BY VALUE, IF C, D, F, G, OR M
- * DISPLAY. OTHERWISE, TOGGLE LEFT SCREEN TOGGLE FLAG.
- *
- * USES T1, T2, T3, AB - AB+4.
- *
- * CALLS ADA.
- ALV BSS 0 ENTRY
- LDN 0 SET LEFT SCREEN
- ALV0 STD T2
- LDM LS,T2
- STD T3
- ZJN ALV3 IF NO SCREEN DISPLAY LOADED
- SBN TDFCL
- PJN ALV4 IF NO DISPLAY FIELD DEFINED
- LDM TDFC-1,T3 SET FIELD TABLE ADDRESS
- STD T1
- ZJN ALV4 IF NOT DEFINED
- LDD T3
- LMN 1RM
- NJN ALV1 IF NOT *M* DISPLAY
- LDC EDBP SET DATA ADDRESS OF EXTENDED MEMORY BUFFER
- CRD AB
- LDD AB
- SHN 14
- LMD AB+1
- ADN 4
- UJN ALV2 READ EXTENDED MEMORY ADDRESS
- ALV1 LDI T1
- LPN 77
- SHN 14
- LMM 1,T1
- ALV2 CRD AB
- LDD AB+3 SET INCREMENT
- LPN 37
- STD AB+3
- LDD T3 ADVANCE DISPLAY
- RJM ADA
- ALV3 JMP KBIX RETURN
- ALV4 LDM TGTF,T2 TOGGLE FLAG
- LMN 1
- STM TGTF,T2
- JMP KBIX RETURN
- KBK SPACE 4,10
- ** KBK - PROCESS *BKSP*.
- *
- * USES KI, KM.
- KBK LDD KI
- ZJN KBK1 IF FIRST ENTRY
- SOD KI CLEAR ENTRY
- LDN 0
- STM KBUF,KI
- STD KM CLEAR KEYBOARD MESSAGE
- KBK1 LJM KBC2 CLEAR KEYBOARD
- KLB SPACE 4,10
- ** KLB - PROCESS *LEFT BLANK*.
- *
- * USES KM.
- KLB LDN 0 CLEAR OVERLAY LOAD
- STM /DSD/LOVA
- KLB1 STM KBRA CLEAR REPEAT ENTRY
- STM KBCA CLEAR INDEX
- STD KM CLEAR KEYBOARD MESSAGE
- LJM KBC CLEAR KEYBOARD BUFFER
- KCR SPACE 4,10
- ** KCR - PROCESS *CR*.
- *
- * USES CA, DK, LA, AB - AB+4.
- *
- * CALLS LOV.
- KCR LDD KR
- NJN KCR1 IF KEYBOARD READY
- LDC KREP *REPEAT ENTRY*
- STM KBRA
- JMP KBIX RETURN
- KCR1 LDC .FCOM-5 SET LOAD ADDRESS
- STD LA
- LDC 0 LOAD OVERLAY
- KCRA EQU *-1
- RJM LOV
- LDN 0 ENABLE RETURN FROM *KBI*
- STD DK
- LDN ZERL CLEAR ASSEMBLY BUFFER
- CRD AB
- STM KBIA SET SYNTAX SKIP FLAG
- LDC KBUF-1 SET CHARACTER ADDRESS
- STD CA
- KCR2 AOD CA SKIP CHARACTER
- LDI CA CHECK NEXT CHARACTER
- ZJN KCR3 IF END OF BUFFER
- SBN 1R0
- MJN KCR2 IF ALPHA
- SBN 12
- MJN KCR3 IF NOT SEPARATOR
- LDD CA
- LMC KBUF
- ZJN KCR3 IF SEPARATOR FIRST CHARACTER
- AOD CA SKIP SEPARATOR
- KCR3 LJM * PROCESS ENTRY
- KCRB EQU *-1
- KRB SPACE 4,10
- ** KRB - PROCESS *RIGHT BLANK* KEY.
- *
- * USES KE, T1.
- *
- * CALLS LDO.
- KRB BSS 0 ENTRY
- LDM /DSD/LOVA
- ZJN KRB1 IF NO OVERLAY LOAD IN PROGRESS
- JMP KII PROCESS INCOMPLETE INPUT
- KRB1 LDN 55 ENTER CHARACTER
- STD KE
- LDC 0 SET DISPLAY INDEX
- KRBA EQU *-1
- STD T1
- LDM TLSD,T1 SET DISPLAYS
- SHN 6
- LMD RS
- RJM LDO
- LDN 0 CLEAR ENTRY
- STD KE
- AOM KRBA ADVANCE INDEX
- LMN TLSDL
- NJN KRB2 IF NOT END OF TABLE
- STM KRBA
- KRB2 JMP KBIX RETURN
- KSP SPACE 4,10
- ** KSP - PROCESS *SPACE*.
- *
- * USES T2, CM - CM+4.
- *
- * MACROS MONITOR.
- KSP LDD ST
- ZJN KSP2 IF *STEP* NOT SET
- LDD KI
- NJN KSP1 IF NOT FIRST CHARACTER
- LDN ZERL
- CRD CM
- LDN STPS STEP MONITOR
- STD CM+1
- MONITOR DSRM
- KSP1 LDD KE
- NJN KSP2 IF PRESET ENTRY
- JMP KBIX RETURN
- KSP2 LDN 1R ENTER * *
- STD T2
- LJM KBI2 ENTER CHARACTER
- TITLE KEYBOARD RETURN PROCESSORS.
- KIE SPACE 4,10
- ** KIE - INCORRECT ENTRY RETURN.
- KIE LDC KILE *INCORRECT ENTRY*
- UJN KMS PROCESS MESSAGE
- KPC SPACE 4,10
- ** KPC - KEYBOARD PARTIAL CLEAR RETURN.
- *
- * ENTRY (A) = NEW KEYBOARD INDEX.
- KPC STM KBCA SAVE INDEX
- * UJN KBR RETURN
- KBR SPACE 4,15
- ** KBR - NORMAL KEYBOARD RETURN.
- * PROCESS COMMAND LOGGING.
- *
- * KAR - KEYBOARD ALTERNATE RETURN.
- * PROCESS *1DS* CALL AND COMMAND LOGGING.
- *
- * ENTRY (AB+3) - (AB+4) = *1DS* PARAMETERS.
- * (A) = 0 FOR NO *1DS* CALL.
- * = 8/, 1/LK, 3/, 6/FC FOR *1DS* CALL.
- * LK - INTERLOCK REQUIRED.
- * FC - *1DS* FUNCTION CODE.
- KBR LDN 0 DO NOT CALL *1DS*
- KAR RJM C1D CHECK FOR *1DS* CALL
- STM KBIA CLEAR SYNTAX SKIP FLAG
- KMS SPACE 4,10
- ** KMS - KEYBOARD ERROR MESSAGE RETURN.
- *
- * ENTRY (A) = ADDRESS OF ERROR MESSAGE.
- KMS STD KM
- NJN KBR1 IF MESSAGE PRESENT
- LDC 0
- KBRA EQU *-1 (REPEAT ENTRY FLAG)
- ZJN KBC IF REPEAT ENTRY NOT SET
- KBR1 SOD KI ENTER PREVIOUS CHARACTER
- LDM KBUF,KI
- LMN 1R
- ZJN KBR1 IF BLANK
- LMN 1R
- STD KE
- LDN 0
- STM KBUF,KI
- UJN KBC3 CLEAR KEYBOARD READY
- KBC SPACE 4,15
- ** KBC - CLEAR KEYBOARD BUFFER.
- *
- * ENTRY (EI) = EJTO OF EJT ENTRY INTERLOCKED.
- * (KM) = KEYBOARD MESSAGE FLAG.
- *
- * EXIT (EI) = 0.
- *
- * USES EI, KE, KI, KR, T1, CM - CM+4.
- *
- * MACROS MONITOR, SFA.
- KBC LDD KM
- NJN KBC2 IF KEYBOARD MESSAGE SET
- LDC 0 CLEAR KEYBOARD INDEX
- KBCA EQU *-1
- STD KI
- STD T1
- KBC1 LDN 0 CLEAR BUFFER
- STM KBUF,T1
- AOD T1
- LMN KBUFL
- NJN KBC1 IF BUFFER NOT CLEARED
- STM KBCA
- KBC2 LDN 0 CLEAR PRESET ENTRY
- STD KE
- KBC3 STD KR CLEAR KEYBOARD READY
- LDD HN RESET COMMAND FORMAT ADDRESS
- ERRNZ TCEF-100 CANNOT USE DIRECT CELL *HN*
- STM KBIB
- KBC4 LDD EI
- ZJN KBC5 IF NO EJT INTERLOCK SET
- LDN ZERL SET PARAMETER IN MESSAGE BUFFER
- CRD CM
- SFA EJT,EI SAVE ABSOLUTE ADDRESS OF EJT ENTRY
- STD CM+4
- SHN -14
- STD CM+3
- * SET NUMBER OF REQUESTS, CLEAR INTERLOCK, SET JOB ADVANCE.
- LDN 0+40+20
- STD CM+1
- MONITOR UTEM CLEAR EJT ENTRY INTERLOCK
- LDD CM+1
- NJN KBC5 IF REQUEST NOT COMPLETE
- STD EI CLEAR EJT ENTRY INTERLOCK FLAG
- KBC5 JMP KBIX RETURN
- C1D SPACE 4,25
- ** C1D - CHECK FOR *1DS* CALL.
- *
- * ENTRY (LKBA) = LOGGING CONTROL BITS.
- * (LKBA) = 0 - DO NOT LOG.
- * BIT 0 SET - LOG IN ERROR LOG.
- * BIT 1 SET - LOG IN SYSTEM DAYFILE.
- * BIT 2 SET - LOG IN ACCOUNT DAYFILE.
- * (A) = 8/, 1/LK, 3/, 6/FC FOR *1DS* CALL.
- * LK - INTERLOCK REQUIRED.
- * FC - *1DS* FUNCTION CODE.
- * (SP) = SPECIAL PARAMETER (IF NEEDED).
- *
- * EXIT (LKBA) = 0.
- * (A) = 0.
- * *1DS* CALLED IF NEEDED.
- *
- * USES ID, AB - AB+4, CM - CM+4, SP - SP+4.
- *
- * MACROS EXECUTE.
- *
- * NOTES IF A *1DS* CALL WAS NOT SPECIFIED ON ENTRY
- * ((A)=0) AND LOGGING IS REQUIRED, *1DS*
- * FUNCTION *FASF* WILL BE USED BY DEFAULT.
- * (SEE COMMON DECK *COMS1DS* FOR MORE DETAIL.)
- C1D SUBR ENTRY/EXIT
- STD AB+2 SAVE CALL INFORMATION
- STD LG
- LDC 0
- LKBA EQU *-1 (LOGGING CONTROL BITS)
- LKBB LPN 7
- * LPN 0 (LOGGING DISABLED)
- SHN 6
- RAD AB+2 FORM *1DS* PARAMETER BYTE
- ZJN C1DX IF CALL NOT NEEDED
- LDN 64 SET INCOMPLETE *1DS* CALL CHARACTER
- STD KE
- UJN C1D4 BYPASS CM READ
- C1D1 LDN /1DS/KBCML SET INITIAL INTERLOCK
- STD ID
- LDC /1DS/DSDL TRANSFER KEYBOARD BUFFER
- CWM KBUF,ID
- CWD SP
- C1D2 EXECUTE 1DS
- LDN 0 CLEAR LOGGING BITS
- STM LKBA
- STD KE CLEAR PRESET ENTRY
- UJN C1DX EXIT
- C1D3 LDD MA RESTORE (AB) FOR RETRY
- CRD AB
- ADN 1 RESTORE (SP) FOR RETRY
- CRD SP
- C1D4 LDD AB+2
- LPC 1700
- C1DA PSN (DEADSTART IN PROGRESS)
- * ZJN C1D2 IF BUFFER INTERLOCK NOT NEEDED
- ERRNZ /1DS/FASF FUNCTION *FASF* MUST BE ZERO
- LDC /1DS/DSDL
- CRD CM
- LDD CM
- ZJN C1D1 IF BUFFER IS AVAILABLE
- LDD MA SAVE (AB) FOR RETRY
- CWD AB
- ADN 1 SAVE (SP) FOR RETRY
- CWD SP
- LJM CLP1 PROCESS PPU BUSY
- KIC SPACE 4,10
- ** KIC - INCOMPLETE *CR*
- *
- * USES DK, KE, KM.
- KIC LDD KE
- LMN 55
- ZJN KIC1 IF *RIGHT BLANK*
- LMN 64&55
- ZJN KIC2 IF INCOMPLETE LOGGING
- LMN 65&64
- ZJN KIC1 IF PRESET
- LDN 63 ENTER *INCOMPLETE CR*
- STD KE
- KIC1 LDN 0 CLEAR PREVIOUS INPUT FLAG
- STM KRIA
- STD DK
- LJM KBC4 CLEAR EJT INTERLOCK
- KIC2 LDD LG
- NJN KIC1 IF NOT LOGGING ONLY
- LCN 2 ADD *LOG-* TO MESSAGE
- RAD KM
- UJN KIC1 CLEAR FNT INTERLOCK
- SLS SPACE 4,10
- ** SLS - SET LEFT SCREEN.
- *
- * ENTRY (A) = DISPLAY NAME.
- * TO SLS1, (T1) = DISPLAY NAME. LEFT SCREEN SET
- * EVEN IF RIGHT SCREEN SET.
- *
- * EXIT TO *KBR*.
- *
- * CALLS LDO, USS.
- SLS STD T1 SAVE NAME
- LMD RS
- NJN SLS1 IF DISPLAY NOT ALREADY UP ON RIGHT SCREEN
- LDC .FRHT
- STD LA
- ADN DOEP
- STM /DSD/DSDD
- RJM USS UPDATE SCREEN STATUS
- UJN SLS3 RETURN
- SLS1 LDD T1
- ZJN SLS3 IF DISPLAY NOT RECOGNIZED
- SBN 1RZ+1
- PJN SLS3 IF NOT RECOGNIZED
- LDD T1 ENTER REQUESTED DISPLAY
- SHN 6
- RJM LDO LOAD OVERLAY
- SLS3 JMP KBR RETURN
- SPACE 4,10
- QUAL
- AMF EQU /KEYBOARD/AMF
- C1D EQU /KEYBOARD/C1D
- KAR EQU /KEYBOARD/KAR
- KBR EQU /KEYBOARD/KBR
- KIE EQU /KEYBOARD/KIE
- KMS EQU /KEYBOARD/KMS
- KPC EQU /KEYBOARD/KPC
- KIC EQU /KEYBOARD/KIC
- RKB EQU /KEYBOARD/RKB
- SLS EQU /KEYBOARD/SLS
- SLS1 EQU /KEYBOARD/SLS1
- TLSD SPACE 4,10
- ** TLSD - TABLE OF LEFT SCREEN DISPLAYS.
- TLSD BSS 0
- CON 1RA
- CON 1RI
- CON 1RQ
- CON 1RT
- TLSDL EQU *-TLSD
- KMS SPACE 4,10
- ** KEYBOARD MESSAGES.
- KILE DATA C*INCORRECT ENTRY*
- KREP DATA C*REPEAT ENTRY*
- KSBD DATA C*DISK BUSY*
- DATA A*LOG-*
- KSBM DATA C*MTR BUSY*
- DATA A*LOG-*
- KSBP DATA C*PP BUSY*
- KCTL DATA C*COMMAND TOO LONG*
- TITLE RESIDENT COMMAND PROCESSORS.
- QUAL RES
- DFC SPACE 4,10
- ** X0,NNNNNN. CHANGE SECTION A OF MEMORY DISPLAY X TO
- * START AT CM/ECS LOCATION NNNNNN.
- * X1,NNNNNN. CHANGE SECTION B OF MEMORY DISPLAY X TO
- * START AT CM/ECS LOCATION NNNNNN.
- * X2,NNNNNN. CHANGE SECTION C OF MEMORY DISPLAY X TO
- * START AT CM/ECS LOCATION NNNNNN.
- * X3,NNNNNN. CHANGE SECTION D OF MEMORY DISPLAY X TO
- * START AT CM/ECS LOCATION NNNNNN.
- * X4,NNNNNN. CHANGE MEMORY DISPLAY X TO START AT
- * CM/ECS LOCATION NNNNNN.
- * X5,NNNNNN. ADVANCE MEMORY DISPLAY X BY NNNNNN
- * LOCATIONS.
- * X6,NNNNNN. DECREMENT MEMORY DISPLAY X BY NNNNNN
- * LOCATIONS.
- DFC BSS 0 ENTRY
- LDM KBUF SET DISPLAY INDEX
- STD T6
- LDM TDFC-1,T6 SET DISPLAY ADDRESS TABLE
- STD T7
- LDC KBUF+3 ASSEMBLE ADDRESS VALUE
- STD CA
- RJM ASD
- LDD AB
- ADD AB+1
- ADD AB+2
- NJN DFC1.1 IF .GT. 8 DIGITS
- LDM KBUF+1 CHECK FIELD NUMBER
- SBN 1R4
- PJN DFC1 IF FIELD NUMBER .GE. 4
- ADN 4 SET FIELD INDEX
- SHN 1
- RAD T7
- LDD AB+3 SET ADDRESS
- STI T7
- LDD AB+4
- STM 1,T7
- UJN DFC4 SET LEFT SCREEN
- DFC1 NJN DFC2 IF NOT 4
- RJM RES RESET FIELDS TO 0, 10, 20, 30
- UJN DFC3 ADVANCE DISPLAY FIELD
- DFC1.1 JMP KIE *INCORRECT ENTRY*
- DFC2 SBN 1
- ZJN DFC3 IF 5
- LDD AB+3 FORM TWO,S COMPLEMENT
- LMC -770000
- STD AB+3
- LDD AB+4
- LMC -770000
- ADN 1
- STD AB+4
- SHN -14
- RAD AB+3
- DFC3 LDD T6 ADVANCE DISPLAY ADDRESSES
- RJM ADA
- DFC4 LDD T6
- JMP SLS SET LEFT SCREEN
- DJM SPACE 4,10
- ** X,JSN.
- * X,.
- * WHERE X = C, D, F, G, M.
- *
- * DISPLAY JSN CHANGE
- DJM BSS 0
- LDD SF
- ZJN DJS IF NOT SECURE SYSTEM
- LDD LK
- LPN 2
- ZJN DFC1.1 IF SECURITY UNLOCK NOT SET
- * UJN DJS
- DJS SPACE 4,10
- ** X,JSN.
- * X,.
- * WHERE X = H, J, K, P.
- *
- * DISPLAY JSN CHANGE.
- DJS BSS 0
- LDM KBUF SET DISPLAY NAME
- DJS1 STD T7
- RJM CJS CHANGE JSN
- LDD T7
- JMP SLS SET LEFT SCREEN
- CDS SPACE 4,10
- ** XY.
- *
- * CHANGE DISPLAYS ON LEFT AND RIGHT SCREENS.
- CDS LDM KBUF LOAD LEFT SCREEN LETTER
- SHN 6
- LMM KBUF+1 LOAD RIGHT SCREEN LETTER
- RJM LDO LOAD DISPLAY OVERLAYS
- JMP KBR RETURN
- DOV SPACE 4,10
- *** 99.
- *
- * TOGGLE SYNTAX OVERLAY PROCESSING AND COMMAND LOGGING.
- DOV LDM /KEYBOARD/ADSA TOGGLE SYNTAX OVERLAY STATUS
- LMN 1
- STM /KEYBOARD/ADSA
- LDM /KEYBOARD/LKBB TOGGLE LOGGING STATUS
- LMN 7
- STM /KEYBOARD/LKBB
- JMP KBR RETURN
- QUAL SPACE 4,10
- QUAL COMMAND
- CDS EQU /RES/CDS
- DJS EQU /RES/DJS
- DJM EQU /RES/DJM
- DFC EQU /RES/DFC
- DOV EQU /RES/DOV
- QUAL *
- TITLE RESIDENT COMMAND PROCESSING SUBROUTINES.
- QUAL
- ADA SPACE 4,10
- ** ADA - ADVANCE DISPLAY ADDRESSES.
- *
- * ENTRY (A) = DISPLAY CHARACTER.
- * (AB+3 - AB+4) = INCREMENT.
- *
- * USES T1, T2.
- ADA SUBR ENTRY/EXIT
- STD T1 SET CHARACTER
- SBN TDFCL
- PJN ADAX IF NO DISPLAY FIELD DEFINED
- LDM TDFC-1,T1 SET FIELD TABLE ADDRESS
- STD T1
- ZJN ADAX IF FIELD NOT DEFINED
- LDD T1 SET LIMIT
- ADN 10
- STD T2
- ADA1 LDD AB+4 ADVANCE DISPLAY FIELD
- RAM 1,T1
- SHN -12D
- ADD AB+3
- RAI T1
- LDN 2 ADVANCE FIELD
- RAD T1
- LMD T2
- NJN ADA1 IF LIMIT NOT REACHED
- UJN ADAX RETURN
- ASD SPACE 4,15
- ** ASD - ASSEMBLE DIGITS.
- *
- * ENTRY (CA) = ADDRESS OF NEXT CHARACTER.
- *
- * EXIT (A) = NON OCTAL DIGIT IN STRING.
- * (CA) UPDATED.
- * (AB - AB+4) = DIGITS ASSEMBLED, RIGHT-JUSTIFIED.
- *
- * USES T1, T2, T3, AB - AB+4.
- ASD SUBR ENTRY/EXIT
- LDN ZERL CLEAR ASSEMBLY
- CRD AB
- ASD1 LDI CA CHECK CHARACTER
- SBN 1R0
- MJN ASD2 IF ALPHA
- SBN 10
- MJN ASD3 IF OCTAL DIGIT
- SBN 1R -1R8
- ZJN ASD5 IF * *
- ASD2 LDI CA GET CHARACTER
- UJN ASDX RETURN
- ASD3 ADN 10 SET NEW DIGIT
- STD T2
- LDN AB+4 SET BYTE ADDRESS
- STD T3
- ASD4 LDI T3 BYTE * 10
- SHN 3
- ADD T2 ADD NEW DIGIT
- STI T3
- SHN -14 NEW DIGIT = OVERFLOW
- STD T2
- SOD T3 DECREMENT BYTE ADDRESS
- LMN AB-1
- NJN ASD4 IF NOT 5 BYTES
- ASD5 AOD CA ADVANCE CHARACTER
- UJN ASD1 LOOP
- ASN SPACE 4,15
- ** ASN - ASSEMBLE NAME.
- *
- * ENTRY (CA) = CHARACTER ADDRESS.
- *
- * EXIT (AB - AB+4) = ASSEMBLED NAME LEFT JUSTIFIED WITH
- * ZERO FILL.
- * (CA) ADVANCED TO SEPARATOR CHARACTER.
- *
- * USES T1, T2, AB - AB+4.
- ASN SUBR ENTRY/EXIT
- LDN ZERL CLEAR ASSEMBLY
- CRD AB
- LDN AB SET BYTE ADDRESS
- STD T1
- ASN1 LDI CA CHECK CHARACTER
- ZJN ASNX IF END OF STRING
- SBN 1R9+1
- PJN ASNX IF SEPARATOR
- ADN 1R9+1 STORE UPPER
- SHN 6
- STI T1
- AOD CA ADVANCE CHARACTER
- LDI CA CHECK CHARACTER
- ZJN ASNX IF END OF STRING
- SBN 1R9+1
- PJN ASNX IF SEPARATOR
- ADN 1R9+1 STORE LOWER
- RAI T1
- AOD CA ADVANCE CHARACTER
- AOD T1 ADVANCE BYTE
- LMN AB+5
- NJN ASN1 IF NOT 5 BYTES
- UJN ASNX RETURN
- AST SPACE 4,10
- ** AST - ACCESS SUBSYSTEM TABLES.
- *
- * ENTRY (A) = 6/0, 12/SSID, IF ACCESS SSCT.
- * = 6/FL, 12/SSID, IF ACCESS SSAT.
- * WHERE FL = *SSCTL* VALUE.
- * SSID = SUBSYSTEM ID.
- *
- * EXIT (A) = 6/ , 12/BYTE REQUESTED.
- *
- * USES T1, T2, T3, CM - CM+4.
- AST SUBR ENTRY/EXIT
- STD T3 SAVE SUBSYSTEM ID
- SHN -14
- STD T2 SAVE TABLE FLAG
- LDC MXSI COMPUTE BYTE COUNT
- SBD T3
- STD T3
- LCN 0 COMPUTE WORD
- STD T1
- AST1 AOD T1
- LCN 5
- RAD T3
- PJN AST1 IF BYTE NOT REDUCED
- ADN 5
- STD T3
- LDC SSCP GET FWA SUBSYSTEM TABLE
- CRD CM
- LDD CM+2
- SHN 14
- LMD CM+3
- ADD T1
- ADD T2
- CRD CM
- LDM CM,T3
- UJN ASTX RETURN
- CJS SPACE 4,10
- ** CJS - CHANGE JSN.
- *
- * ENTRY (T7) = 6/0, 6/DISPLAY NAME.
- *
- * EXIT (T7) = DISPLAY NAME.
- *
- * CALLS ASN, GEE, SJT.
- CJS2 LDD T7 SEARCH JSN TABLE
- RJM SJT
- ZJN CJS1 IF DISPLAY NOT FOUND
- LDD AB+1
- STM 2,T2 SET NEW JSN
- LDD AB
- STM 1,T2
- ZJN CJS3 IF CLEARING JSN
- LDN AB SET JSN FWA
- RJM GEE GET EJT ENTRY
- PJN CJS3 IF EJT ENTRY FOUND
- LDN 0
- CJS3 STM 3,T2 SET EJT ORDINAL
- CJS SUBR ENTRY/EXIT
- RJM ASN ASSEMBLE JSN
- LDD AB
- ZJN CJS2 IF NO JSN
- LDD AB+2
- NJN CJS1 IF JSN .GT. 4 CHARACTERS
- LDD AB+1
- NJN CJS2 IF JSN .GT. 2 CHARACTERS
- CJS1 JMP KIE PROCESS INCORRECT ENTRY
- CLP SPACE 4,15
- ** CLP - CALL PP.
- *
- * ENTRY (A) = PP PROGRAM NAME.
- * (AB+1 - AB+4) = PARAMETERS.
- *
- * USES AB, AB+1, ID, KM, CM - CM+4.
- *
- * MACROS MONITOR.
- CLP3 LDN 0 CLEAR INTERLOCK
- STD ID
- CLP SUBR ENTRY/EXIT
- EXR EQU CLP
- SHN 14 STORE NAME
- STD AB
- SHN -6
- SCN 77
- STD AB+1
- LDD MA STORE REQUEST
- CWD AB
- ADN 1 SAVE (SP) FOR *1DS*
- CWD SP
- LDN 1 SET PRIORITY REQUEST
- STD CM+1
- MONITOR RPPM REQUEST PP
- LDD CM+1
- NJN CLP3 IF PP ASSIGNED
- LDD ID CHECK IF MESSAGE BUFFER INTERLOCK SET
- ZJN CLP1 IF NOT SET
- LDN 0 CLEAR ID
- STD ID
- LDC /1DS/DSDL
- CWD ID
- CLP1 LDC KSBP *PPU BUSY*
- CLP2 STD KM
- JMP KIC INCOMPLETE RETURN
- CMM SPACE 4,10
- ** CMM - CLEAR MONITOR MESSAGE.
- *
- * ENTRY (CM) = 0.
- * (FTND) = SYSTEM CONTROL POINT MESSAGE 2 AREA ADDRESS.
- CMM SUBR ENTRY/EXIT
- LDM FTND *NO MONITOR RESPONSE* MESSAGE FLAG
- ZJN CMMX IF NO MESSAGE PENDING
- CWD CM CLEAR MESSAGE
- LDN 0
- STM FTND CLEAR MESSAGE FLAG
- UJN CMMX RETURN
- IEE SPACE 4,15
- ** IEE - INTERLOCK EJT ENTRY.
- *
- * ENTRY (A) = EJTO OF ENTRY TO INTERLOCK.
- *
- * EXIT (A) = EJT ORDINAL IF INTERLOCK ACHIEVED.
- * .LT. 0 IF INTERLOCK REJECTED.
- * (T3) = EJT ORDINAL.
- * (EI) = EJT ORDINAL IF INTERLOCK ACHIEVED.
- *
- * USES AB - AB+4, CM - CM+4.
- *
- * MACROS MONITOR, SFA.
- IEE1 LCN 0 SET REJECT EXIT CONDITION
- IEE SUBR ENTRY/EXIT
- STD T3
- SFA EJT CHECK JSN
- ADK JSNE
- CRD AB
- STD CM+4 SAVE ABSOLUTE ADDRESS OF EJT ENTRY
- SHN -14
- STD CM+3
- LDD AB
- ZJN IEE1 IF EJT ENTRY EMPTY
- LDN 0 INTERLOCK EJT ENTRY
- STD CM+1
- STD CM+2 CLEAR UNUSED BYTE
- MONITOR UTEM
- LDD CM+1
- NJN IEE1 IF INTERLOCK REJECT
- LDD T3
- STD EI
- UJN IEEX RETURN
- CMT SPACE 4,15
- ** CMT - CHECK *MAGNET*.
- *
- * EXIT (A) = 0, IF *MAGNET* NOT ACTIVE.
- * = RA + /MTX/UBUF, IF *MAGNET* ACTIVE.
- * (T1) = CP NUMBER.
- * (T2 - T6) = (UBUF), (T3) = 0.
- * (T7) = *MAGNET* RA, IF NOT CME.
- * = 4000B, IF CME.
- * (R) = *MAGNET* RA, IF CME.
- *
- * USES CM, T1 - T7.
- *
- * CALLS FSS.
- CMT SUBR ENTRY/EXIT
- LDC MTSI FIND *MAGNET*
- RJM FSS
- ZJN CMTX IF *MAGNET* NOT ACTIVE
- STD T1
- SHN 7
- CMTA ADN FLSW
- * ADN FLSW+1 (CENTRAL MEMORY EXTENSION)
- CRD T4
- LRD T4+1 ((R) = RA IF CME)
- * LDD T4+3 SET RA
- * STD T7
- LDD T7 (T7) = RA
- SHN 6
- ADN /MTX/UBUF READ *MAGNET* UDT POINTER
- CRD T2
- UJN CMTX RETURN
- DAL SPACE 4,10
- ** DAL - DISPLAY ACCESS LEVEL STRING.
- *
- * ENTRY (A) = TABLE ENTRY NUMBER.
- DAL SUBR ENTRY/EXIT
- LPN 7
- SHN 2 CONVERT ENTRY NUMBER TO TABLE INDEX
- ADK TALV
- STM DALA
- LDN 4 DISPLAY STRING
- OAM 0,CH
- DALA EQU *-1
- UJN DALX RETURN
- FSS SPACE 4,10
- ** FSS - FIND SUBSYSTEM.
- *
- * ENTRY (A) = SUBSYSTEM ID.
- *
- * EXIT (A) = 0, IF SUBSYSTEM NOT ACCESSIBLE AT A CP.
- * = CP NUMBER, IF SUBSYSTEM IS ACCESSIBLE AT A CP.
- *
- * USES CM - CM+4, T2 - T6.
- *
- * CALLS AST.
- *
- * MACROS SFA.
- FSS1 LDN 0 SET NOT AT CP
- FSS SUBR ENTRY/EXIT
- STD T4 SAVE SUBSYSTEM ID
- RJM AST GET SSCT ENTRY
- SHN 21-13
- PJN FSS1 IF SUBSYSTEM NOT ACCESSIBLE
- * GET CP NUMBER FROM EJT ENTRY.
- LDD T4
- ADC SSCTL*10000 GET SSAT ENTRY
- RJM AST
- ZJN FSSX IF SUBSYSTEM NOT ACTIVE
- SFA EJT CALCULATE EJT ENTRY ADDRESS
- ERRNZ JSNE NOT FIRST WORD OF EJT ENTRY
- CRD CM
- ADN SCHE GET CP NUMBER
- CRD T2
- LDD CM+4
- LPN 76
- LMN EXJS*2
- NJN FSS1 IF SUBSYSTEM NOT EXECUTING
- LDD T2+3 GET CP NUMBER
- LPN 37
- UJN FSSX RETURN
- FTN SPACE 4,10
- ** FTN - PROCESS MONITOR FUNCTION.
- *
- * ENTRY (A) = FUNCTION.
- * (CM+1 - CM+4) = PARAMETERS.
- *
- * EXIT (CM - CM+4) = OUTPUT REGISTER.
- *
- * USES KM, T1, CM - CM+4, SR - SR+4.
- *
- * CALLS CMM.
- FTN6 RJM CMM CLEAR MONITOR MESSAGE
- FTN SUBR ENTRY/EXIT
- LMD TH SET *DSD*/*MTR* INTERLOCK
- STD CM SET FUNCTION
- LDC 200 SET TIME DELAY
- * LDC 100 (2X PP SPEED)
- * LDC 40 (1X PP SPEED)
- FTNC EQU *-1
- STD T1
- * THIS CODE ALLOWS FOR DEAD *MTR* AND FOR FUNCTIONS THAT
- * WERE HUNG.
- LDD OA CHECK FOR PREVIOUS FUNCTION COMPLETE
- CRD SR
- LDD SR
- NJN FTN3 IF PREVIOUS FUNCTION NOT TAKEN
- STD T0 INITIALIZE TIMER
- LDD OA STORE OUTPUT REGISTER
- CWD CM
- FTN1 LDD OA READ OUTPUT REGISTER
- CRD CM
- LDD CM
- ZJP FTN6 IF OUTPUT REGISTER CLEAR
- SOD T0
- NJN FTN1 IF NOT TIMED OUT
- SOD T1 COUNT TIMER
- NJN FTN1 IF NOT TIMED OUT
- LDD NC *NO MONITOR RESPONSE*
- SHN 7
- ADN MS2W
- STM FTND SET FLAG TO SYSTEM MESSAGE BUFFER ADDRESS
- CWM FTNB,TR
- FTN3 LDM FTN RETURN ADDRESS
- ADC -.CCHM CHECK CHANNEL RETURN ADDRESS
- ZJN FTN4 IF WAITING FOR CHANNEL
- ADC .CCHM-.FLFT LOWEST ADDRESS FOR DISPLAY OVERLAYS
- MJN FTN5 IF NOT CALLED BY SOME DISPLAY PROCESSOR
- FTN4 LJM FTNX RETURN
- FTN5 LDC KSBM *MTR BUSY*
- LJM CLP2 PROCESS INCOMPLETE *CR*
- FTNB DATA C*NO MONITOR RESPONSE*
- FTND CON 0 SYSTEM CONTROL POINT MESSAGE FLAG
- GEE SPACE 4,20
- *** GEE - GET EJT ENTRY.
- *
- * ENTRY (A) = FWA OF JSN.
- *
- * EXIT (A) = EJT ORDINAL OF ENTRY FOUND.
- * .LT. 0 IF ENTRY NOT FOUND.
- * (T3) = ORDINAL OF ENTRY FOUND.
- * (T5) = FWA OF JSN.
- * (CM - CM+4) = WORD *JSNE* OF ENTRY FOUND.
- *
- * USES T3, T5, T6, T8, T9, CM - CM+4.
- *
- * MACROS SFA.
- GEE2 LDD T8
- ZJN GEE6 IF NO MORE ENTRIES IN USE
- SFA EJT,T3
- ADK JSNE
- CRD CM FETCH FIRST WORD OF EJT ENTRY
- LDD CM
- ZJN GEE4 IF EMPTY ENTRY
- LMI T5
- NJN GEE3 IF NOT MATCHING JSN
- LDI T9
- LMD CM+1
- ZJN GEE7 IF MATCHING JSN
- GEE3 SOD T8
- GEE4 AOD T3 ADVANCE EJT ORDINAL
- LMD T6
- GEE5 NJN GEE2 IF NOT END OF EJT
- GEE6 LDC 1S17
- GEE7 ADD T3 SET EXIT CONDITION
- GEE SUBR ENTRY/EXIT
- STD T5 SAVE FWA OF JSN
- ADN 1
- STD T9
- LDI T9 CHECK JSN LENGTH
- LPN 77
- NJN GEE1 IF JSN .GT. 3 CHARACTERS
- LDN 1R
- RAI T9
- GEE1 LDN EJTP
- CRD CM
- LDN 0 INITIALIZE EJT ORDINAL
- STD T3
- LDD CM+2 SAVE NUMBER OF EJT ENTRIES
- STD T6
- SBD CM+3 SAVE NUMBER OF ENTRIES USED
- STD T8
- UJP GEE5 BEGIN EJT SCAN
- RES SPACE 4,5
- ** RES - RESET ADDRESS FIELDS TO 0, 10, 20, 30.
- *
- * ENTRY (A) = 0.
- * (T7) = DISPLAY ADDRESS TABLE FWA.
- RES SUBR ENTRY/EXIT
- STI T7 CLEAR FIELDS TO 0, 10, 20, 30
- STM 1,T7
- STM 2,T7
- STM 4,T7
- STM 6,T7
- ADN 10
- STM 3,T7
- ADN 10
- STM 5,T7
- ADN 10
- STM 7,T7
- UJN RESX RETURN
- SJS SPACE 4,15
- ** SJS - SEARCH FOR JSN IN EJT.
- *
- * ENTRY (A) = JSN ADDRESS IN *TJAZ* TABLE.
- *
- * EXIT (A). LT. 0, IF NO DISPLAY POSSIBLE.
- * (A) = 0, IF NO JSN IN *TJAZ* ENTRY.
- * (CM+3) = CP NUMBER OF EJT ENTRY.
- * (CP) = CP AREA ADDRESS OF EJT ENTRY.
- * = 0, IF SYSTEM CP.
- * EJTO IN *TJAZ* UPDATED.
- *
- * USES CP, T3, T5, CM - CM+4.
- *
- * MACROS DISPLA, SFA.
- *
- * CALLS GEE, USS.
- SJS4 LDM 2,T5 GET JSN FROM EJT ENTRY
- STD T3 SAVE EJTO
- SFA EJT
- ERRNZ JSNE NOT FIRST WORD OF EJT ENTRY
- CRD CM
- LDI T5
- LMD CM
- NJN SJS5 IF JSN DOES NOT MATCH
- LDM 1,T5
- LMD CM+1
- ZJN SJS6 IF JSN MATCHES
- SJS5 LDD T5 GET FWA OF JSN TO FIND
- RJM GEE SEARCH EJT
- MJN SJS1 IF EJT ENTRY NOT FOUND
- STM 2,T5
- RJM USS UPDATE SCREEN STATUS
- SJS6 LDD CM+4
- LPN 76
- LMN EXJS*2
- NJN SJS3 IF EJT ENTRY NOT AT A CP
- SFA EJT,T3 GET CP NUMBER
- ADN SCHE
- CRD CM
- LDD CM+3 SET CP AREA ADDRESS
- SJS7 SHN 7
- STD CP
- SJS SUBR ENTRY/EXIT
- STD T5
- LDI T5
- NJP SJS4 IF JSN SELECTED
- * LDN 0
- STM 2,T5
- UJN SJS7 SET CPA ADDRESS
- SJS1 DISPLA CH01,LN07,(JSN NOT FOUND)
- * LDN 0 CLEAR EJTO IN *TJAZ*
- STM 2,T5
- RJM USS UPDATE SCREEN STATUS
- SJS2 LCN 0 SET NO DISPLAY POSSIBLE
- UJN SJSX RETURN
- SJS3 DISPLA CH01,LN07,(ROLLED)
- UJN SJS2 RETURN
- SJT SPACE 4,10
- ** SJT - SEARCH JSN (*TJAZ*) TABLE.
- *
- * ENTRY (A) = DISPLAY NAME.
- *
- * EXIT (A) = FWA OF ENTRY FOUND.
- * = 0 IF NOT FOUND.
- * (T2) = FWA OF ENTRY FOUND.
- SJT1 LDN /DSD/TJAZE ADVANCE TABLE ADDRESS
- RAD T2
- SJT2 LDI T2
- ZJN SJTX IF END OF TABLE
- LMD T0
- LPN 77
- NJN SJT1 IF NOT MATCHING ENTRY
- LDD T2
- SJT SUBR ENTRY/EXIT
- STD T0
- LDC /DSD/TJAZ INITIALIZE SEARCH
- STD T2
- UJN SJT2 BEGIN TABLE SCAN
- TITLE TABLES AND CONSTANTS FOR OVERLAYS.
- TDFC SPACE 4,10
- ** TDFC - DISPLAY FIELD CHANGE TABLE.
- TDFC BSS 0
- LOC 1RA
- CON 0 NO FIELD
- CON 0 NO FIELD
- CON TDSC DISPLAY C
- CON TDSD DISPLAY D
- CON 0 NO FIELD
- CON TDSF DISPLAY F
- CON TDSG DISPLAY G
- CON 0 NO FIELD
- CON 0 NO FIELD
- CON 0 NO FIELD
- CON 0 NO FIELD
- CON 0 NO FIELD
- CON TDSM DISPLAY M
- TDFCL BSS 0
- LOC *O
- SPACE 4,10
- ** MISCELLANEOUS CONSTANTS.
- DFIM (CON T721)
- CTOS CON T545 Y-COORDINATE FOR TOP OF SCREEN BODY
- DFIM (CON Y721)
- CBOS CON Y545 BOTTOM OF SCREEN COORDINATE
- MORE CON XMOR X-COORDINATE FOR THE *MORE* MESSAGE
- DATA 4HMORE
- MOREL EQU *-MORE
- CMEI CON 0 CENTRAL MEMORY EXTENSION PRESENT FLAG
- DFIM (CON C721) CODE FOR 721 CONSOLE
- DCTY CON C545 DISPLAY CONSOLE TYPE
- DLYA SBN 20 1X PP DELAY
- * SBN 10 2X PP DELAY
- * SBN 4 4X PP DELAY
- LUDT CON 0 LENGTH OF MAGNET UNIT DESCRIPTOR TABLE
- UESC BSS 1 USER EXTENDED MEMORY SHIFT COUNT
- TDSA SPACE 4,15
- ** TDSA - *A* DISPLAY CONTROL TABLE.
- *
- * ENTRY = 1 WORD.
- *
- *T, 12/ IND
- * IND BUFFER INDEX
- TDSA BSS 0
- CON 0 MASTER DAYFILE
- CON 0 ACCOUNT FILE
- CON 0 ERROR LOG
- ADSC CON 0 *A* DISPLAY TYPE
- CON -0 LAST LINE USED ON DISPLAY
- CON 0 SCREEN FULL FLAG (0 = FULL)
- TDSB SPACE 4,10
- ** TDSB - *B* DISPLAY CONTROL TABLE.
- TDSB BSS 0
- CON 1RA&1RA DEFAULT DISPLAY TYPE (*B,A*)
- TDSC SPACE 4,10
- ** TDSC - *C* DISPLAY ADDRESS TABLE.
- TDSC BSS 0
- VFD 24/0
- VFD 24/10
- VFD 24/20
- VFD 24/30
- TDSD SPACE 4,10
- ** TDSD - *D* DISPLAY ADDRESS TABLE.
- TDSD BSS 0
- DFIM (VFD 24/20)
- VFD 24/40
- DFIM (VFD 24/30)
- VFD 24/50
- VFD 24/60
- VFD 24/70
- TDSE SPACE 4,10
- ** TDSE - *E* DISPLAY CONTROL TABLE.
- TDSE BSS 0
- CON 0 CURRENT LEFT SCREEN INDEX
- CON 0 NEXT LEFT SCREEN INDEX
- CON 0 CURRENT RIGHT SCREEN INDEX
- CON 0 NEXT RIGHT SCREEN INDEX
- TDSEA CON 0 CURRENT E,T DISPLAY UDT OFFSET
- CON 0 NEXT E,T DISPLAY UDT OFFSET
- TDSF SPACE 4,10
- ** TDSF - *F* DISPLAY ADDRESS TABLE.
- TDSF BSS 0
- VFD 24/0
- VFD 24/10
- VFD 24/20
- VFD 24/30
- TDSG SPACE 4,10
- ** TDSG - *G* DISPLAY ADDRESS TABLE.
- TDSG BSS 0
- DFIM (VFD 24/20)
- VFD 24/40
- DFIM (VFD 24/30)
- VFD 24/50
- VFD 24/60
- VFD 24/70
- TDSH SPACE 4,10
- ** TDSH - *H* DISPLAY CONSTANT TABLE.
- TDSH BSS 0
- CON 0 CURRENT INDEX
- CON 0 NEXT INDEX
- TDSI SPACE 4,10
- ** TDSI - *I* DISPLAY CONTROL TABLE.
- TDSI BSS 0
- CON 0 CURRENT INDEX
- CON 0 NEXT INDEX
- TDSM SPACE 4,10
- ** TDSM - *M* DISPLAY ADDRESS TABLE.
- TDSM BSS 0
- VFD 24/0
- VFD 24/10
- VFD 24/20
- VFD 24/30
- TDTL SPACE 4,10
- ** TDTL - *O,TLD* DISPLAY CONTROL TABLE.
- TDTL BSS 0
- CON 0 CURRENT *TLD* ENTRY INDEX
- CON 0 NEXT *TLD* ENTRY INDEX
- CON 0 CURRENT *TLD* LIBRARY OFFSET
- CON 0 NEXT *TLD* LIBRARY OFFSET
- TDSO SPACE 4,10
- ** TDSO - *O,TST* DISPLAY CONTROL TABLE.
- TDSO BSS 0
- CON 1 CURRENT INDEX
- CON 1 NEXT INDEX
- TDTS SPACE 4,10
- ** TDTS - *O,SCP* DISPLAY CONTROL TABLE.
- TDTS BSS 0
- CON 1 CURRENT INDEX
- CON 1 NEXT INDEX
- TDSP SPACE 4,10
- ** *P* DISPLAY PP CONTROL.
- TDSPA CON 0 PPS SWITCH FLAG (CYBER 17X ONLY)
- TDSQ SPACE 4,10
- ** TDSQ - *Q* DISPLAY CONSTANT TABLE.
- TDSQ BSS 0
- CON 0 CURRENT QFT ORDINAL
- CON 0 NEXT QFT ORDINAL
- TDSQA CON 4000 QUEUE TYPE TO DISPLAY (4000 = ALL QUEUES)
- TDSR SPACE 4,10
- ** TDSR - *R* DISPLAY CONTROL TABLE.
- TDSR BSS 0
- CON 0 CURRENT PAGE FIRST EJTO
- CON 0 NEXT PAGE FIRST EJTO
- TDSS SPACE 4,10
- ** TDSS - *S* DISPLAY CONTROL TABLE.
- TDSS BSS 0
- CON 1 CURRENT PAGE FIRST SERVICE CLASS
- CON 0 NEXT PAGE FIRST SERVICE CLASS
- TDST SPACE 4,10
- * TDST - *T* DISPLAY CONSTANT TABLE.
- TDST BSS 0
- CON /REM/VPST CURRENT PAGE FIRST CONNECTION NUMBER
- CON /REM/VPST NEXT PAGE FIRST CONNECTION NUMBER
- SPACE 4,10
- ** TDSV - *V* DISPLAY CONTROL TABLE.
- TDSV CON 0 REFRESH FLAG / PP NUMBER
- CON 0 PP MB+5
- CON PPFW DISPLAY C POINTER
- CON 0 DISPLAY D POINTER
- TJOT SPACE 4,10
- ** TJSC - TABLE OF SERVICE CLASS TYPES.
- *
- *T 6/CHARACTER, 6/0
- TJSC BSS 0
- LIST D,G
- BASE OCTAL
- .A SET 1 INITIALIZE CHARACTER NUMBER
- DUP MXSC LOOP FOR ALL SERVICE CLASSES
- .C MICRO .A,1,+"NMDS"+
- CON 1L".C"
- .A SET .A+1 GET NEXT SERVICE CLASS
- ENDD
- BASE *
- LIST *
- CON 0 END OF TABLE
- TGTF SPACE 4,10
- ** TGTF - TOGGLE FLAGS.
- *
- * NOTE - THESE FLAGS ARE CLEARED BY ROUTINE *LOV* WHEN AN
- * OVERLAY IS INITIALLY LOADED.
- TGTF BSS 0
- CON 0 */* - LEFT SCREEN TOGGLE FLAG
- CON 0 *=* - RIGHT SCREEN TOGGLE FLAG
- JDAT SPACE 4,10
- ** JDAT - JULIAN DATE.
- JDAT VFD 24/0
- VFD 36/5R00000
- DIS SPACE 4,10
- * INSERT DISPLAY MESSAGES.
- CON 0
- DIS HERE
- TITLE FOLLOWING CODE WILL BE OVERLAID AFTER PRESET.
- PRS SPACE 4,10
- ** PRS - PRESET PROGRAM.
- *
- * EXIT (EJ - EJ+1) = FWA EJT.
- * (IA) = ADDRESS OF FIRST PP INPUT REGISTER.
- * (LK) = LOCK STATUS.
- * (MA) = MESSAGE BUFFER ADDRESS.
- * (NC) = NUMBER OF CP-S.
- * (OA) = ADDRESS OF FIRST PP OUTPUT REGISTER.
- QUAL DSD
- PRS LDN PPCP READ PP COMMUNICATION AREA POINTER
- CRD CM
- LDD CM+4 SET COMMUNICATION ADDRESSES
- ADN 10
- STD IA
- ADN 1
- STD OA
- ADN 1
- STD MA
- * SET CONSTANTS.
- IJM PRS1,SC IF NOT CYBER 170
- LDK /SCR/FCRD+/SCR/PMSW READ PPS SWITCH
- OAN SC
- IAN SC
- SHN 4-11
- LPN 20
- STM TDSPA A = 0 FOR PPS-0 A = 20 FOR PPS-1
- PRS1 RJM /GFP/IFP INITIALIZE *SFA* MACRO
- LDK MEFL SET USER EM SHIFT COUNT
- CRD T3
- LDD T3+2
- SHN -11
- STM UESC
- LDN SSML SET SECURITY FLAG
- CRD T3
- ADK MABL-SSML READ PP SPEED AND MAINFRAME TYPE
- CRD T4
- LDD T3
- LPN 3
- STD SF
- NJN PRS1.1 IF SECURE SYSTEM
- LDC 2R$$ DISABLE *SECURE-UNLOCK* COMMAND
- STM TSUL+2
- PRS1.1 LDM PRSA,T4+4 GET TIME DELAY
- STM FTNC
- LDM PRSB,T4+4
- STM DLYA
- LDN NCPL READ CONTROL POINT COUNT
- CRD T6
- ADK MMFL-NCPL READ MMF STATUS WORD
- CRD CM
- AOD T6+1 SET NUMBER OF CONTROL POINTS
- STD NC
- LDD CM SET MACHINE ID
- STM DLSF
- LDD T4+1 CHECK MAINFRAME TYPE
- SHN 21-13
- MJN PRS3 IF NOT CYBER 170-8X5
- AJM PRS2,SC IF CYBER 170-865/875
- AOM /DSD/TDSO+1RP USE CYBER 180 *P* DISPLAY DRIVER
- ERRNZ /DISPLAY/DSP7/10000+1-/DISPLAY/DSP8/10000 FIX *AOM*
- PRS2 AOM CMTA CHANGE TO READ *FLSW*+1
- STM CMEI SET R-REGISTER FLAG
- LDD T4+1 CHECK MAINFRAME TYPE
- SHN 21-6
- PJN PRS3 IF NOT CYBER 180
- LDC /PRESET/RDT BYPASS DATE/TIME PROMPTS
- STM /PRESET/DMRA
- LDC KBR SET *KCR* TO IGNORE INPUT OF A *CR*
- STM /PRESET/KCRA
- PRS3 LDK EIBP SET EICB ADDRESS
- CRD CM
- LDD CM+3
- SHN 14
- LMD CM+4
- ZJN PRS4 IF NO *EICB*
- ADK D7ST
- STM FDPA+1
- SHN -14
- RAM FDPA
- PRS4 RJM CTE COUNT TAPE EQUIPMENT
- * CLEAR EQUIPMENT ASSIGNMENT.
- LDN DSEQ
- SFA EST
- ADK EQAE
- CRD AB FETCH EQUIPMENT ASSIGNMENT WORD
- STM CEQA+1
- STM CEQC+1
- SHN -14
- RAM CEQA
- STM CEQC
- LDC STII+T3+100000 SET (*.BLI*) TO AN *STIL T3*
- ACN CH+40
- OAN CH+40
- LDN 1
- IAM .BLI,CH
- DCN CH+40
- LDN KBUFL+3 LENGTH OF KEYBOARD BUFFER
- STD T7
- * INITIALIZE *SCD* IF DEADSTART FROM CDC721.
- LDK SCDP FETCH *SCD* POINTER WORD
- CRD CM
- LDD CM+2
- SHN 14
- ADD CM+3
- ZJP PRS5 IF PARAMETER TABLE UNDEFINED
- CRD T2
- LDD T2+2
- LPN 10
- ZJN PRS5 IF *SCD* NOT ACTIVE
- MDIN /PRESET/SRMT
- CCF *,CH SIGNAL *SCD* TO LOOK AT DISPLAY CHANNEL
- CFNC SSIF
- LDN 2 OUTPUT PARAMETER TABLE ADDRESS
- OAM CM+2,CH
- FJM *,CH WAIT TRANSMISSION COMPLETE
- DCN CH+40
- * INITIALIZE KEYBOARD BUFFER.
- PRS5 LDN 0
- STM KBUF-1,T7
- STM /PRESET/TIKB-1,T7
- SOD T7
- NJN PRS5 IF MORE TO CLEAR
- * CLEAR TRAILING *. * IN DISPLAY COMMON DECKS.
- STM D2SA
- STM D2ZA
- STM D4SB
- STM D6SA
- STD AB+4 CLEAR EQUIPMENT ASSIGNMENT
- LDN DSEQ
- SFA EST
- ADN EQAE UPDATE EST ENTRY
- CWD AB
- * ENTER INITIAL COMMAND.
- LDD IA READ COMMAND WORD
- ADN 2
- CRD CM
- STD T7
- LDD CM
- ZJN PRS8 IF NO INITIAL COMMAND
- LDC /PRESET/TIKB SET INITIAL COMMAND TABLE
- STM /PRESET/DLSF
- STD T6
- PRS6 LDN CM SET BYTE ADDRESS
- STD T1
- PRS7 LDI T1 UNPACK BYTE
- SHN 14
- STI T6
- SHN -14
- STM 1,T6
- LDN 2
- RAD T6
- AOD T1
- LMN CM+5
- NJN PRS7 IF NOT END OF WORD
- AOD T7 ADVANCE WORD
- CRD CM
- LPN 7
- NJN PRS6 IF NOT END OF COMMANDS
- PRS8 LDK ZERL CLEAR MESSAGE BUFFER + 1
- CRD CM
- LDD MA
- ADN 1
- CWD CM
- LDC /PRESET/DTEB COPY DATE SYNTAX
- RJM /PRESET/CSY
- LDC /KEYBOARD/KLB DISABLE *RIGHT BLANK* KEY
- STM /KEYBOARD/TSCEA
- LDC /PRESET/KCR SET *CR* PROCESSOR
- STM /KEYBOARD/TSCEB
- LJM /DSD/DSD ENTER PROGRAM
- * TIME DELAY VALUES FOR *FTN*. INDEXED BY PP SPEED.
- PRSA EQU *
- LOC 0
- CON 40 1X PP SPEED
- CON 100 2X PP SPEED
- CON 200 4X PP SPEED
- LOC *O
- PRSB BSS 0
- LOC 0
- SBN 20 1X PP SPEED
- SBN 10 2X PP SPEED
- SBN 4 4X PP SPEED
- LOC *O
- CTE SPACE 4,10
- ** CTE - COUNT TAPE EQUIPMENT.
- *
- * EXIT (LUDT) = LENGTH OF MAGNET UDT.
- *
- * USES CM - CM+4, T1 - T5.
- *
- * MACROS SFA.
- CTE SUBR ENTRY/EXIT
- LDK ESTP GET NUMBER OF EST ENTRIES
- CRD T1
- LDN NOPE-1 INITIALIZE EST ORDINAL
- STD T5
- CTE1 AOD T5 ADVANCE EST ORDINAL
- LMD T3
- ZJN CTEX IF ALL ENTRIES CHECKED
- SFA EST,T5
- ADK EQDE
- CRD CM
- LDD CM+3
- LMC 2RMT
- ZJN CTE2 IF TAPE EQUIPMENT
- LMC 2RNT&2RMT
- ZJN CTE2 IF TAPE EQUIPMENT
- LMC 2RCT&2RNT
- ZJN CTE2 IF TAPE EQUIPMENT
- LMC 2RAT&2RCT
- NJN CTE1 IF NOT TAPE EQUIPMENT
- CTE2 LDK /MTX/UNITL COUNT TAPE EQUIPMENT
- RAM LUDT
- UJN CTE1 CHECK NEXT EQUIPMENT
- SPACE 4,10
- QUAL *
- * KEYBOARD BUFFER.
- KBUF EQU /DSD/PRS
- KBUFL EQU /1DS/KBCML*5
- ERRNG /DSD/PRSA-KBUF-KBUFL-5 *DSD* PRESET OVERFLOWS
- QUAL SPACE 4,10
- QUAL GFP
- IFP HERE
- QUAL
- QUAL PRESET
- TITLE INITIALIZATION DISPLAYS.
- DTM SPACE 4,20
- *** ENTER DATE AND TIME.
- *
- * IF THE DATE AND/OR TIME ENTRIES ARE NOT TO BE MADE,
- * A *CR* MAY BE TYPED AND THE CURRENT SYSTEM DATE AND TIME WILL
- * BE USED.
- *
- * THE DATE MUST BE OF THE FORM *YY/MM/DD.*. THE FOLLOWING
- * CONDITIONS APPLY -
- * 00 @ YY @ 99.
- * 1 @ MM @ 12.
- * 1 @ DD @ N, WHERE N = NUMBER OF DAYS FOR MONTH MM
- *
- * THE TIME MUST BE OF THE FORM *HH.MM.SS.* THE FOLLOWING
- * CONDITIONS APPLY -
- * 0 @ HH @ 23
- * 0 @ MM @ 59
- * 0 @ SS @ 59
- DTM LDN TIML
- CRD TM
- DTM0 LDN DTEL
- CRD DT
- DTM1 LDN 28D
- STM TDLM+2
- LDN ZERL CLEAR ASSEMBLY BUFFERS
- CRD AB
- LDN 0 CLEAR DAY LIMIT FOR MONTH
- STD T3
- LDD DT CONVERT YEAR
- LPN 77
- SHN 14
- LMD DT+1
- SHN -6
- RJM CDD
- STD T1
- LPN 3
- NJN DTM2 IF NOT LEAP YEAR
- AOM TDLM+2 ADVANCE FEBRUARY
- DTM2 LDD T1 ENTER YEAR
- ADC -70D
- PJN DTM3 IF YEAR 70-99
- ADC 100D
- DTM3 SHN 6
- STD AB+2
- LDD DT+2 CONVERT MONTH
- RJM CDD
- STD T2
- RAD AB+2 ENTER MONTH
- LDD DT+3 CONVERT DAY
- LPN 77
- SHN 14
- LMD DT+4
- SHN -6
- RJM CDD
- SHN 6
- STD AB+3
- LDD TM CONVERT HOURS
- LPN 77
- SHN 14
- LMD TM+1
- SHN -6
- RJM CDD
- RAD AB+3 ENTER HOURS
- LDD TM+2 CONVERT MINUTES
- RJM CDD
- SHN 6 ENTER MINUTES
- STD AB+4
- LDD TM+3 CONVERT SECONDS
- LPN 77
- SHN 14
- LMD TM+4
- SHN -6
- RJM CDD
- RAD AB+4
- LDM TDLM,T2 SET DAY LIMIT
- ADN 1
- STD T3
- * ENTER JULIAN DATE.
- LDD DT SET JULIAN YEAR
- LPN 77
- STM JDAT+2
- LDD DT+1
- SCN 77
- ADN 1R0
- STM JDAT+3
- LDC 2R00
- STM JDAT+4
- LDD AB+3 SET CURRENT DAY
- SHN -6
- STD T2
- LDD AB+2 CALCULATE JULIAN DAY
- LPN 77
- STD T1
- UJN DTM5 CALCULATE MONTH
- DTM4 LDM TDLM,T1 ACCUMALATE DAYS
- RAD T2
- DTM5 SOD T1
- NJN DTM4 IF MORE MONTHS TO PROCESS
- DTM6 LDC -100D COUNT 100-S OF DAYS
- RAD T2
- MJN DTM7 IF COUNT COMPLETE
- AOM JDAT+3
- UJN DTM6 COUNT NEXT 100 DAYS
- DTM7 ADC 100D
- STD T2
- DTM8 LCN 10D COUNT 10-S OF DAYS
- RAD T2
- MJN DTM9 IF COUNT COMPLETE
- LDD HN
- RAM JDAT+4
- UJN DTM8 COUNT NEXT 10 DAYS
- DTM9 ADN 10D
- RAM JDAT+4
- LDN ZERL
- CRD CM
- LDD MA
- ADN 1
- STD CM+2
- CWM JDAT,ON
- CWD AB
- ADN 1
- CWD TM
- ADN 1
- CWD DT
- ADN 1
- CWD T3
- LDN EDTS SET SUBFUNCTION
- STD CM+1
- MONITOR DSRM ENTER DATE AND TIME
- LDN 0 CLEAR ENTRY MESSAGE
- STM DLSA
- LJM KBR RETURN FROM KEYBOARD
- DTMB EQU *-1
- * LJM RDTX (RETURN FROM CTI CLOCK READ)
- TDLM SPACE 4,20
- ** TDLM - TABLE OF DAY LIMITS FOR MONTHS.
- TDLM EQU *-1
- BASE D
- LOC 1
- CON 31
- CON 28
- CON 31
- CON 30
- CON 31
- CON 30
- CON 31
- CON 31
- CON 30
- CON 31
- CON 30
- CON 31
- BASE *
- LOC *O
- DTE SPACE 4,10
- ** DTE - ENTER DATE.
- DTE LDN 28D SET SECOND MONTH
- STM TDLM+2
- LDM KBUF CONVERT YEAR
- SHN 6
- LMM KBUF+1
- RJM CDD
- LPN 3
- NJN DTE1 IF NOT LEAP YEAR
- AOM TDLM+2 ADVANCE SECOND MONTH
- DTE1 LDM KBUF+3 CONVERT MONTH
- SHN 6
- LMM KBUF+4
- RJM CDD
- STD T2
- ZJN DTE2 IF 0
- SBN 13D
- PJN DTE2 IF .GT. 13
- LDM KBUF+6 CONVERT DAY
- SHN 6
- LMM KBUF+7
- RJM CDD
- STD T3
- ZJN DTE2 IF 0
- SBN 1 CHECK DAY NUMBER
- SBM TDLM,T2
- MJN DTE3 IF WITHIN RANGE OF MONTH
- DTE2 JMP KIE INCORRECT ENTRY
- DTE3 LDN DT ASSEMBLE DATE
- RJM ASC
- LDN JDAL READ JULIAN DATE
- CRD AB
- LDN PDTL READ PACKED DATE
- CRD T1
- LDN TIML READ CURRENT TIME
- CRD TM
- LDN ZERL
- CRD CM
- LDD MA
- ADN 1
- STD CM+2
- CWD AB WRITE JULIAN AND PACKED DATES TO BUFFER
- ADN 1
- CWD T1
- ADN 1 WRITE TIME AND DATE TO BUFFER
- CWD TM
- ADN 1
- CWD DT
- LDN EDTS SET ENTER DATE SUB-FUNCTION
- STD CM+1
- MONITOR DSRM *DSD* MONITOR REQUEST
- LDC DTEB RESTORE SYNTAX
- RJM CSY
- LDC TIMA-1 SET TIME REQUEST
- STM DLSA
- ADN TIMB-TIMA+1 COPY TIME SYNTAX
- STM DLSC
- RJM CSY
- JMP KBR RETURN
- DTEA CON CH01,LN19
- DATA C*ENTER DATE - YY/MM/DD.*
- * SYNTAX FOR DATE ENTRY.
- DTEB BSS 0
- EDT ENTER (<09<09/<01<09/<03<09.)
- CON 0
- CON 7777 SYNTAX TERMINATION
- KCR SPACE 4,10
- ** KCR - SPECIAL *CR* EXIT.
- KCR LDN 65 SET SPECIAL *CR* INCOMPLETE INPUT
- STD KE
- LDD KR
- ZJN KCR1 IF KEYBOARD NOT READY
- LJM /KEYBOARD/KCR PROCESS *CR*
- KCR1 LDD KI CHECK KEYBOARD BUFFER
- NJN KCR2 IF DATA IN BUFFER
- LJM DTM COMPLETE INITIALIZATION
- KCRA EQU *-1
- * LJM KBR (CYBER 180)
- KCR2 JMP KIE INCORRECT ENTRY
- RDT SPACE 4,10
- ** RDT - READ DATE AND TIME FROM CTI CLOCK.
- *
- * EXIT TO *DTM* TO PROCESS DATE AND TIME.
- RDT SUBR ENTRY/EXIT
- LDC RDTX MODIFY *DTM* EXIT
- STM DTMB
- LJM DTM ENTER DATE AND TIME
- TIM SPACE 4,10
- ** TIM - ENTER TIME.
- TIM LDM KBUF CONVERT HOURS
- SHN 6
- LMM KBUF+1
- RJM CDD
- SBN 24D
- MJN TIM1 IF < 24
- JMP KIE INCORRECT ENTRY
- TIM1 LDN TM ASSEMBLE TIME
- RJM ASC
- LJM DTM0 COMPLETE DATE AND TIME ENTRY
- TIMA CON CH01,LN19
- DATA C*ENTER TIME - HH.MM.SS.*
- * SYNTAX FOR TIME.
- TIMB BSS 0
- ETM ENTER (<02<09.<05<09.<05<09.)
- CON 0
- CON 7777 SYNTAX TERMINATION
- ASC SPACE 4,10
- ** ASC - ASSEMBLE CHARACTERS.
- *
- * ENTRY (A) = ADDRESS OF ASSEMBLY AREA.
- *
- * USES T1 - T3.
- ASC SUBR ENTRY/EXIT
- STD T2 SET BYTE ADDRESS
- ADN 5
- STD T3
- LDC KBUF-1 SET CHARACTER ADDRESS
- STD T1
- LDN 1R
- ASC1 SHN 6 STORE UPPER
- STI T2
- AOD T1 ADVANCE CHARACTER
- LDI T1 ADD LOWER
- RAI T2
- AOD T2 ADVANCE BYTE
- LMD T3
- ZJN ASCX IF WORD COMPLETE
- AOD T1 ADVANCE CHARACTER
- LDI T1
- UJN ASC1 LOOP
- CDD SPACE 4,10
- ** CDD - CONVERT DECIMAL DIGITS.
- *
- * ENTRY (A) = DPC DIGITS.
- *
- * EXIT (A) = CONVERSION.
- *
- * USES T0, T1.
- CDD SUBR ENTRY/EXIT
- STD T1
- SHN -6 UPPER * 10
- LPN 77
- SBN 1R0
- SHN 1
- STD T0
- SHN 2
- RAD T0
- LDD T1 ADD LOWER
- LPN 77
- SBN 1R0
- ADD T0
- UJN CDDX RETURN
- CSY SPACE 4,10
- ** CSY - COPY SYNTAX.
- *
- * ENTRY (A) = NEW SYNTAX TABLE ADDRESS.
- *
- * EXIT (A) = 0.
- *
- * USES T1, T2, T3.
- CSY SUBR ENTRY/EXIT
- STD T1 SET NEW SYNTAX ADDRESS
- LDD HN SET SYNTAX TABLE ADDRESS
- ERRNZ TCEF-100 CANNOT USE DIRECT CELL *HN*
- STD T2
- CSY1 LDI T1 CHECK NEW SYNTAX
- STD T3
- LMC 7777
- ZJN CSYX IF END OF SYNTAX
- LDI T2 INTERCHANGE SYNTAX BYTES
- STI T1
- LDD T3
- STI T2
- AOD T1 ADVANCE SYNTAX
- AOD T2
- UJN CSY1 LOOP
- PAD SPACE 4,10
- ** DUE TO THE WAY SCREEN ADDRESSES ARE CALCULATED, THE FOLLOWING
- * PAD MUST BE HARDCODED. IT SHOULD BE ADJUSTED TO BE AS SMALL
- * AS POSSIBLE WHILE ENSURING THE *ERRPL* BELOW DOES NOT FAIL.
- BSS 110 AVOID SELF-MODIFYING PRESET CODE
- ERRPL .FRHT+1-* *DSD* PRESET PAD NEEDS ADJUSTMENT
- DFP SPACE 4,10
- ** DFP - DISPLAY FROM PPU CHARACTERS.
- *
- * ENTRY (A) = FUNCTION CODE.
- * (T2) = DISPLAY ADDRESS - 1.
- *
- * USES T2, T3, T4, T5.
- *
- * MACROS CFNC.
- DFP3 FJM *,CH
- DCN CH+40
- DFP SUBR ENTRY/EXIT
- CFNC
- LDM 1,T2 SAVE ORIGINAL COORDINATES
- STD T3
- LDM 2,T2
- STD T4
- DFP1 LDN 0 SET CHARACTER COUNT
- STD T5
- DFP2 AOD T2
- LDI T2 DISPLAY BYTE
- OAN CH+40
- ZJN DFP3 IF MESSAGE COMPLETE
- AOD T5 ADVANCE CHARACTER COUNT
- LMN 25D CHECK FOR 50 CHARACTERS IN LINE
- NJN DFP2 IF NOT YET 50 CHARACTERS
- LCN 12 ADVANCE Y-COORDINATE
- RAD T4
- OAN CH+40
- LDD T3 OUTPUT X-COORDINATE
- OAN CH+40
- UJN DFP1 BEGIN NEW LINE
- DMR SPACE 4,10
- ** DMR - DISPLAY MESSAGE REQUESTED.
- *
- * ENTRY (A) = FIRST MESSAGE ADDRESS - 1.
- *
- * USES T2, CM - CM+4.
- *
- * CALLS DFP, RWC.
- *
- * MACROS CFNC.
- DMR SUBR ENTRY/EXIT
- STD T2
- ZJN DMR1 IF ONLY COPYRIGHT NOTICE TO BE DISPLAYED
- LDN DSCL
- CRD CM CHECK *MTR* ACTIVE
- LDD CM+2
- ZJN DMR1 IF INACTIVE
- LDC SLMF SELECT LEFT SCREEN - MEDIUM CHARACTERS
- RJM DFP DISPLAY MESSAGE
- DMRA EQU *-1
- * RJM RDT (CYBER 180)
- DMR1 LDD LS
- NJN DMR2 IF LEFT SCREEN DISPLAY PRESENT
- LDC SLSF
- CFNC SELECT LEFT SCREEN - SMALL CHARACTERS
- LDN COPYL
- OAM COPY,CH DISPLAY COPYRIGHT NOTICE
- FJM *,CH
- DCN CH+40
- DMR2 CFNC SRSF SELECT RIGHT SCREEN - SMALL CHARACTERS
- LDN COPYL
- OAM COPY,CH DISPLAY COPYRIGHT NOTICE
- FJM *,CH
- DCN CH+40
- UJP DMRX RETURN
- SPACE 4,10
- QUAL COMMAND
- EDT EQU /PRESET/DTE
- ETM EQU /PRESET/TIM
- QUAL *
- SPACE 4,10
- ** COPY - COPYRIGHT BUFFER.
- COPY CON CH01,LN06
- DATA H*NOW LOADING THE NOS SOFTWARE SYSTEM.*
- CON CH01,LN07
- *CALL COPYRT
- CPRT HERE
- COPYL EQU *-COPY MESSAGE LENGTH
- DLS SPACE 4,10
- ** DLS - DISPLAY LOAD STATUS.
- DLS SUBR ENTRY/EXIT
- LDN 2
- STD T7
- LDN SVNL READ VERSION
- CRM /DSD/DLSG,T7
- DFIM (SOD T7)
- AOD T7 SET INTENSIFICATION
- DLS1 FJM *,CH
- DCN CH+40
- LDC DTEA-1 SET DATA ADDRESS
- DLSA EQU *-1
- RJM DMR DISPLAY MESSAGES
- DLS2 CFNC SRMF SELECT RIGHT SCREEN - MEDIUM CHARACTERS
- DISPLA CH01,LN13,(DEADSTART STATUS.)
- LDN FNTP
- CRD CM
- LDD CM READ SYSTEM FILE FNT
- SHN 14
- LMD CM+1
- ERRNZ SYFO SYSTEM FILE ORDINAL .NE. 0
- CRD CM
- LDD CM+4 CHECK STATUS
- LPN 1
- NJN DLS3 IF SYSTEM FILE BUSY
- DISPLA CH01,LN19,(COMPLETE)
- UJN DLS4 DISPLAY SYSTEM CP MESSAGE
- DLS3 LDN 2 OUTPUT COORDINATES
- OAM DLSD,CH
- LDC CPAS+MS1W DLSPLAY CP 1 MESSAGE
- RJM DOL
- FJM *,CH
- DCN CH+40
- CFNC SRSF SELECT RIGHT SCREEN - SMALL CHARACTERS
- LDN 2 OUTPUT COODRINATES
- OAM DLSE,CH
- LDC CPAS+MS2W DISPLAY CP 1 MESSAGE
- RJM DOL
- DLS4 LDN 2 OUTPUT COORDINATES
- OAM DLSH,CH
- LDD NC DISPLAY SYSTEM CP MESSAGE
- SHN 7
- ADN MS2W
- RJM DOL
- SOD T7
- DLSB ZJN DLS6 IF INTENSIFICATION COMPLETE
- * PSN WHEN *RECOVERY COMPLETE* STATUS ACCEPTED
- NJN DLS5 IF INTENSIFICATION NOT COMPLETE
- LJM DLS9 PROCESS INITIAL COMMAND
- DLS5 LJM DLS1 LOOP
- DLS6 LDM DLSA
- ZJN DLS8 IF DATE/TIME ENTRIES PROCESSED
- LMC DTEA-1
- NJN DLS7 IF DATE PROCESSED
- LDN TIML READ TIME
- CRD TM
- LDN DTEL READ DATE
- CRD DT
- DLS7 LJM DLSX RETURN
- DLS8 STM DLSB ENABLE COMMAND PROCESSING
- LDN DSCL
- CRD CM SET DATE/TIME ENTERED
- STD CM+1
- CWD CM STORE DATE/TIME STATUS FOR *REC*
- * RESTORE SYNTAX.
- LDC DTEB
- DLSC EQU *-1
- RJM CSY
- * CLEAR OVERLAY INDICATORS.
- * LDN 0
- STM .FCOM+1-5
- STM .FLFT+1
- STM .FRHT+1
- LDC /KEYBOARD/KCR RESTORE *CR* PROCESSOR
- STM /KEYBOARD/TSCEB
- LDC /KEYBOARD/KRB RESTORE *RIGHT BLANK* KEY
- STM /KEYBOARD/TSCEA
- DRS UJN DLS9 PROCESS INITIAL COMMAND
- * ENABLE RIGHT SCREEN AND *1DS* PROCESSING.
- LDC LOV ENABLE RIGHT SCREEN OVERLAY LOAD
- STM /DSD/LDOA
- LDC * ENABLE *1DS* CALLS
- ORG *-1
- LOC /KEYBOARD/C1DA
- ZJN /KEYBOARD/C1D2 IF BUFFER INTERLOCK NOT NEEDED
- LOC *O
- STM /KEYBOARD/C1DA
- UJN DLS13 ENTER INCOMPLETE *CR*
- * ENTER INITIAL COMMAND.
- DLS9 LDD KE
- NJN DLS14 IF PRESET ENTRY MADE
- STM /KEYBOARD/KBIA CLEAR SYNTAX SKIP FLAG
- LDC DLSF SET COMMAND ADDRESS
- STD T1
- LDI T1
- NJN DLS10 IF COMMAND NOT COMPLETE
- AOD T1 SET DISPLAY ENTRY
- LDI T1
- ZJN DLS14 IF DISPLAYS SET
- DLS10 STD T2 SET CHARACTER ADDRESS
- LDI T2 ENTER CHARACTER
- STD KE
- ZJN DLS12 IF END OF CHARACTER STRING
- LMN 1R
- NJN DLS11 IF NOT * *
- LDN 62 ENTER *SPACE*
- STD KE
- DLS11 AOI T1 ADVANCE CHARACTER STRING
- UJN DLS14 RETURN
- DLS12 STI T1 CLEAR CHARACTER STRING POINTER
- DLS13 LDN 63 ENTER INCOMPLETE *CR*
- STD KE
- DLS14 LJM DLSX RETURN
- DLSD CON CH01,LN19
- DLSE CON CH01,LN24
- DLSF CON 0,DLSG
- DLSG CON ILSP
- CON IRSP
- CON 1R.
- CON 0
- DLSH CON CH01,LN26
- SPACE 4,10
- ** TIKB - INITIAL KEYBOARD BUFFER IMAGE.
- TIKB BSS 0
- SPACE 4,10
- ** DUMP INSTRUCTION MODIFICATION BLOCK.
- DIMB
- IFLT *-TIKB,KBUFL+2,1
- BSS KBUFL+2-*+TIKB
- SPACE 4,10
- DIS HERE
- ERRNG 7772-* IF OVERFLOW FROM D/S TAPE
- QUAL *
- TITLE DISPLAY OVERLAY MACROS.
- DISPLAY SPACE 4,25
- *** DISPLAY - BEGIN DISPLAY OVERLAY.
- *
- * DISPLAY GENERATES THE LINKAGE CONSTANTS FOR DISPLAY OVERLAYS.
- *
- * DISPLAY (SUBTITLE),PAGE,C
- *
- * ENTRY (SUBTITLE) = TEXT OF SUBTITLE.
- * PAGE = ADDRESS OF PAGING ROUTINE.
- * IF NULL, *KBIX* IS USED.
- * C = CMR - FORCE OVERLAY TO BE CM RESIDENT.
- * = RPL - FORCE OVERLAY TO BEGINNING OF RPL.
- * EXIT (M.) = 2 CHARACTER MICRO FOR OVERLAY NAME.
- *
- * NOTE ALL DISPLAY OVERLAYS HAVE THE FOLLOWING FORMAT.
- * WORDS 0-4 DISK LINKAGE BYTES.
- * WORD 5 RELOCATION TABLE POINTER.
- * WORDS 6-7 *LJM* TO PAGING CODE.
- * *LJM* TO *KBIX* IF NO PAGING IMPLEMENTED.
- * WORDS 10-11 *SUBR* ENTRY POINT OF OVERLAY.
- *
- * WORDS 2-5 MAY BE USED AS SCRATCH AREAS BY THE
- * OVERLAY. FOR EXAMPLE, STM 5,LA LDM 3,LA.
- ** DEFINE OVERLAY ENTRY POINT SYMBOLS.
- QUAL
- DOEP EQU 11 DISPLAY OVERLAY ENTRY POINT
- DOPG EQU 6 DISPLAY OVERLAY PAGING ENTRY POINT
- QUAL *
- DISPLAY MACRO SUBTITLE,PAGE,C
- .B IFC EQ,/C//
- OVLN
- .B ENDIF
- .B IFC EQ,/C/CMR/
- OVLC
- .B ENDIF
- .B IFC EQ,/C/RPL/
- OVLF
- .B ENDIF
- TTL DSD/9"N." - SUBTITLE
- TITLE
- IDENT 9"M.",5 SUBTITLE
- *COMMENT DSD - SUBTITLE
- COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
- ORG 5
- L.D MAX L.D,L.
- QUAL DSD"M."
- RLO$ CON .REL
- .B IFC NE,/PAGE// IF PAGING ROUTINE DEFINED
- LJM PAGE EXECUTE PAGING ROUTINE
- .B ELSE
- LJM. /KEYBOARD/KBIX EXIT
- .B ENDIF
- ENDM
- DSPEND SPACE 4,15
- *** DSPEND - END DISPLAY OVERLAY.
- *
- * DSPEND TERMINATES A DISPLAY OVERLAY, AND CHECKS FOR OVERFLOW.
- *
- * THE INSTRUCTION RELOCATION TABLE MUST BE ASSEMBLED FIRST SO
- * THAT IT CAN BE OVERLAYED AFTER THE DISPLAY IS LOADED.
- *
- * DSPEND EOD
- *
- * ENTRY EOD = INDICATES END OF DISPLAY OVERLAYS, IF NOT NULL.
- *
- * EXIT (L.NAME) = LENGTH OF OVERLAY (*NAME* IS OVERLAY NAME).
- * (L.D) = LENGTH OF LONGEST DISPLAY OVERLAY SO FAR.
- * (.REL) = INSRUCTION RELOCATION TABLE FWA.
- * (.RELE) = INSTRUCTION RELOCATION TABLE LWA+1.
- DSPEND MACRO E
- .REL BSS 0
- REL HERE INSTRUCTION RELOCATION TABLE
- CON 0
- .EREL BSS 0 END OF RELOCATION TABLE
- HERE
- DIS HERE
- QUAL
- USE END FORCE /LITERALS*/
- BSS 0
- .A IFPL M. IF NOT *TEXT* OVERLAY
- L. SET *
- QUAL LENGTH
- LIST M
- L.9"M." EQU * LENGTH OF OVERLAY
- ERRNG .LDIS-L.9"M." BYTES UNTIL LONGEST DISPLAY OVERLAY
- ERRNG .LDMX-.INSP-L.9"M." BYTES UNTIL MAXIMUM OVERLAY SIZE
- LIST *
- QUAL *
- .A ENDIF
- .B IFC NE,/E// IF END OF DISPLAY OVERLAYS
- L.D SET L.D+4
- L.D SET L.D/5*5
- ERRNG L.D-L. *L.D* IS WRONG WHEN LARGEST OVL IS LAST
- L. SET 0
- .B ENDIF
- ENDM
- MACROS SPACE 4,10
- ** RELM - REDEFINE -M- INSTRUCTIONS FOR RELOCATABLE CODE.
- *
- *
- * RELM OPC
- * DEFINE -M- TYPE INSTRUCTION *OPC* TO BE RELOCATABLE.
- * FIRST TERM OF -M- PORTION MUST NOT BE RELOCATABLE OR NUMERIC
- * IF THE INSTRUCTION IS NOT TO BE RELOCATED.
- RELM MACRO OPC
- OPC. OPSYN OPC
- OPC= MACRO M,D
- LOCAL A
- IF DEF,//M,2
- OPC. M,D
- .1 SKIP
- IFEQ D,0,2
- OPC. M,LA
- .1 SKIP
- OPC. M,D
- A EQU *-1
- REL RMT
- CON A
- REL RMT
- ENDIF
- OPC= ENDM
- OPC OPSYN OPC=
- RELM ENDM
- RELM LJM
- RELM RJM
- RELM LDM
- RELM ADM
- RELM SBM
- RELM LMM
- RELM STM
- RELM RAM
- RELM AOM
- RELM SOM
- RELO SPACE 4,10
- ** RELO - REDEFINE I/O INSTRUCTIONS FOR RELOCATABLE CODE.
- *
- *
- * RELO OPC
- * DEFINE -I/O- TYPE INSTRUCTION *OPC* TO BE RELOCATABLE.
- * FIRST TERM OF -M- PORTION MUST NOT BE RELOCATABLE OR NUMERIC
- * IF THE INSTRUCTION IS NOT TO BE RELOCATED.
- RELO MACRO OPC
- OPC. OPSYN OPC
- OPC= MACRO M,D
- LOCAL A
- IF DEF,//M,2
- OPC. M,D
- .1 SKIP
- OPC. M,D
- A EQU *-1
- REL RMT
- CON A
- REL RMT
- ENDIF
- OPC= ENDM
- OPC OPSYN OPC=
- RELO ENDM
- RELO CRM
- RELO CWM
- RELO IJM
- RELO AJM
- RELO EJM
- RELO FJM
- RELO IAM
- RELO OAM
- RELO SCF
- RELO CCF
- RELC SPACE 4,10
- ** RELC - DEFINE RELOCATABLE FORM FOR -C- TYPE INSTRUCTIONS.
- *
- *
- * RELC OPC
- * DEFINE -C- TYPE INSTRUCTION TO BE RELOCATABLE.
- * RELOCATABLE FORM IS -
- * OPC. C
- RELC MACRO OPC
- OPC. MACRO C
- LOCAL A
- OPC C
- A EQU *-1
- REL RMT
- CON A
- REL RMT
- ENDM
- RELC LDC
- RELC ADC
- RELC LPC
- RELC LMC
- DISPLAY (DISPLAY A - DAYFILE MESSAGES.),SSR
- ENTRY DSA,DSA
- DSA SPACE 4,10
- *** *A* DISPLAY.
- *
- * DISPLAY ACCUMULATED DAYFILE MESSAGES FOR SYSTEM DAYFILE.
- * DISPLAY ACCOUNT FILE.
- * DISPLAY ERROR LOG.
- *
- * ENTRY (ADSC) = 0, IF SYSTEM DAYFILE.
- * = 1, IF JOB DAYFILE.
- * = (NC), IF ACCOUNT FILE.
- * = (NC)+1, IF ERROR LOG.
- DIRECT SPACE 4,10
- ** DIRECT CELL ASSIGNMENTS.
- CT EQU SH CONSOLE TYPE
- LL EQU SH+1 LAST LINE
- DSA SPACE 4,10
- DSA SUBR ENTRY/EXIT
- LDM. CMEI
- ZJN DSA1 IF CME NOT PRESENT
- STM DSAB FORCE READ OF FLSW+1
- LDN PSNI DISABLE NON-CME CHECK
- STM DSAE
- LDM DSAJ ENABLE CME CHECK
- STM DSAC
- DSA1 LDN DFPP READ DAYFILE BUFFER POINTER
- CRD CM
- LDM DCTY DETERMINE LAST LINE OF DISPLAY
- STD CT SET CONSOLE TYPE
- ZJN DSA1.1 IF CONSOLE TYPE IS *CC545*
- LCN YINC
- DSA1.1 ADM CBOS
- STD LL SET LAST LINE
- LDM DSAF
- NJN DSA1.2 IF NOT NEW OVERLAY LOAD
- LDM CTOS SET FIRST LINE Y-COORDINATE
- STM DSAF
- DSA1.2 LDM. ADSC
- STD CN
- SBN 1
- NJN DSA2 IF NOT JOB DAYFILE
- LDM. /DSD/TJAA+1 CHECK FOR JSN = *SYS*
- LMC 2RSY
- NJN DSA1.3 IF NOT *SYS*
- LDM. /DSD/TJAA+2
- LMC 2RS
- ZJN DSA1.4 IF *SYS*
- DSA1.3 DISPHD (A. JOB DAYFILE.),/DSD/TJAA+1
- LDC /DSD/TJAA+1 GET JSN
- RJM SJS
- MJP DSAX IF EJT ENTRY ROLLED OUT OR NOT FOUND
- LDD CP GET CP NUMBER
- DSAB ADN FLSW GET RA
- * ADN FLSW+1 (CME PRESENT)
- CRD T7
- SHN -7
- DSA1.4 STD CN SET CP NUMBER
- DSA2 LDD CN CHECK IF SAME DAYFILE AS BEFORE
- LMC 0
- DSAA EQU *-1
- ZJN DSA3 IF DISPLAY NOT TOGGLED
- STM DSAG SET ROLL NOT NEEDED
- LCN 0 INITIALIZE MAXIMUM LINE NUMBER
- STM ADSC+1
- DSA3 LDK ZERL ASSUME SYSTEM DAYFILE
- CRD T2 CLEAR DATA DISPLAYED, SPECIAL DAYFILE FLAG
- LDD CN CHECK DAYFILE TYPE
- STM DSAA
- ZJN DSA5 IF SYSTEM DAYFILE
- SBD NC
- PJN DSA6 IF ACCOUNT DAYFILE OR ERROR LOG
- * GET JOB DAYFILE BUFFER POINTERS.
- LDD T7
- DSAE ZJN DSA4 IF NO JOB AT CP
- * PSN (CME PRESENT)
- LRD T7+1
- LDD T7+3 READ BUFFER POINTERS
- SHN 6
- SBN DAPN
- CRD AB
- ADN 1
- CRD SR
- ADN 1
- CRD CM
- ADC 1-DAYN SET JOB DAYFILE BUFFER ADDRESS
- DSAC PSN
- * PJN DSA4 (CME PRESENT)
- STD AB+1
- SHN -14
- STD AB
- LDD SR+2
- LMK JDBL
- NJN DSA4 IF BAD *LIMIT* FIELD
- RJM SDF SET DAYFILE FWA
- LJM DSA11 DISPLAY DAYFILE BUFFER
- DSA4 LJM DSAX EXIT
- * GET SPECIAL DAYFILE BUFFER POINTERS.
- DSA5 ZJN DSA7 IF SYSTEM DAYFILE
- DSA6 ADN 1 SET ROLL CONTROL
- STD T5 (T5) = 0, 1, OR 2
- SHN 3 SELECT MESSAGE
- STD T2 (T2) = 0, 8, OR 16
- SHN -2
- ADD T5 (A) = 0, 3, OR 6
- SHN 6
- DSA7 ADD CM SET FWA OF DAYFILE POINTERS
- SHN 14
- ADD CM+1
- CRD AB
- ADN 1
- CRD SR
- ADN 1 READ FILE STATUS
- CRD CM
- DISPHD (A. ) DISPLAY HEADER
- LDC. DSAI SET REST OF HEADER MESSAGE
- ADD T2
- STM DSAD
- STD T3 SET SPECIAL DAYFILE FLAG
- LDN DSAIL DISPLAY REST OF HEADER
- OAM DSAI,CH
- DSAD EQU *-1
- RJM SDF SET DAYFILE FWA
- NJN DSA10 IF THE CONSOLE IS NOT A *CC545*
- LDM SSRA
- ZJN DSA8 IF ROLLING IS NOT INHIBITED
- SOM SSRA TIME OUT THE INHIBITION
- * SET CURRENT DISPLAY STATUS TO FOLLOW BUFFER.
- DSA8 LDM TDSA,T5 CHECK FOR DISPLAY RESET REQUEST
- ADC 770000
- NJN DSA9 IF NOT RESET
- LDD YC RESET Y-COORDINATE
- STM DSAF
- STM DSAG ROLL NOT NEEDED
- LDD T7 NEW INDEX = *OUT*
- STM TDSA,T5
- DSA9 STD T7
- LDM DSAF SET Y-COORDINATE
- STD YC
- LMM CTOS
- ZJN DSA11 IF UPPER LIMIT
- AOM DSAF ADVANCE INITIAL Y-COORDINATE
- DSA10 STM DSAG SET ROLL NOT NEEDED
- * DISPLAY BUFFER.
- DSA11 LDN 2 OUTPUT COORDINATES
- OAM XC,CH
- DSA12 LDN 6 SET WORD COUNT PER LINE
- STD T4
- DSA13 SOD T4
- PJN DSA14 IF NOT EDGE OF SCREEN
- LJM DSA22 PROCESS EDGE OF SCREEN
- DSA14 LDD AB READ WORD
- LPN 77
- SHN 14
- ADD AB+1
- ADD T7
- CRD CM
- RJM DWD DISPLAY WORD
- AOD T7 *OUT* = *OUT* + 1
- LMD SR+2
- NJN DSA15 IF *OUT* .NE. *LIMIT*
- STD T7 *OUT* = *FIRST*
- DSA15 LDD T7
- LMD AB+4
- NJN DSA16 IF *OUT* .NE. *IN*
- LDD YC
- SBM ADSC+1
- PJN DSA15.1 IF NOT NEW MAXIMUM
- RAM ADSC+1 SET NEW MAXIMUM
- LDN 0 SET SCREEN FULL
- DSA15.1 SHN -6
- STM ADSC+2 SET SCREEN FULL FLAG
- UJN DSA19 RETURN
- DSA16 LDD CM+4
- NJN DSA13 IF NOT END OF LINE
- LDC 1
- DSAG EQU *-1 (ROLL NOT NEEDED)
- NJN DSA17 IF ROLL NOT NEEDED
- LDD T7 SET INDEX = *OUT*
- STM TDSA,T5
- LCN YINC DECREASE INITIAL Y-COORDINATE
- RAM DSAF
- STM DSAG SET ROLL NOT NEEDED
- DSA17 LDD T4
- LMN 5
- ADD CM
- ZJN DSA20 IF NULL LINE
- STD T6 SET DATA DISPLAYED FLAG
- LCN YINC
- RAD YC DECREMENT Y-COORDINATE
- SBD LL
- PJN DSA21 IF NOT BOTTOM OF SCREEN
- DSA18 LDM SSRA START ROLLING UNLESS INHIBITED BY OPERATOR
- STM DSAG
- DSA19 LJM DSAX RETURN
- DSA20 LDD T3
- ZJN DSA21 IF JOB DAYFILE
- LDD T6
- NJN DSA21 IF DATA DISPLAYED
- LDD T7 UPDATE *OUT* FOR NULL LINE
- STM TDSA,T5
- DSA21 LJM DSA11 PROCESS NEXT LINE
- DSA22 AOD T6 SET DATA DISPLAYED FLAG
- LDK XINC*10D ADJUST X-COORDINATE FOR SECOND LINE
- STD T2
- LDD T3
- ZJN DSA23 IF JOB DAYFILE
- LDD T2 POSITION FOR SPECIAL DAYFILE
- DSA23 ADD T2 POSITION FOR NORMAL DAYFILE
- ADC CH01
- OAN CH+40
- LCN YINC
- RAD YC
- OAN CH+40
- SBD LL
- MJN DSA18 IF BOTTOM OF SCREEN
- LJM DSA12 FINISH CURRENT LINE
- DSAF CON 0 CURRENT FIRST LINE Y-COORD WHEN SCROLLING
- DSAI BSS 0
- DATA H*SYSTEM DAYFILE. *
- DSAIL EQU *-DSAI
- DATA H*ACCOUNT DAYFILE.*
- ERRNZ *-DSAI-2*DSAIL
- DATA H*ERROR LOG. *
- ERRNZ *-DSAI-3*DSAIL
- DSAJ BSS 0
- LOC DSAC
- PJN DSA4 IF ADDRESS NOT IN NFL
- LOC *O
- SDF SPACE 4,25
- ** SDF - SET DISPLAY FWA.
- *
- * ENTRY (AB - AB+4) = FIRST WORD OF DAYFILE BUFFER POINTERS.
- * (SR - SR+4) = SECOND WORD OF DAYFILE BUFFER POINTERS.
- * (CM - CM+4) = THIRD WORD OF DAYFILE BUFFER POINTERS.
- * (T5) = DAYFILE INDEX.
- *
- * EXIT (A) = 0, IF THE CONSOLE IS A *CC545*.
- * (T7) = POINTER WITHIN BUFFER TO FIRST LINE OF DISPLAY.
- * (YC) = (*CTOS*).
- * TO *DSAX* IF NO DATA IN BUFFER, OR IF *IN* OR *OUT*
- * ARE GREATER THAN OR EQUAL TO *LIMIT*.
- *
- * USES AB+2, T4, T7, T8, T9, CM - CM+4.
- *
- * NOTE - *SDF* USES THE FOLLOWING BYTES FROM THE DAYFILE BUFFER
- * POINTER WORDS.
- *
- * (AB - AB+1) = FWA OF BUFFER.
- * (AB+4) = *IN*.
- * (SR+2) = *LIMIT*.
- * (SR+4) = *OUT*.
- * (CM+1) = FIRST TRACK OF DAYFILE FILE.
- * (CM+2) = CURRENT TRACK OF DAYFILE FILE.
- * (CM+3) = CURRENT SECTOR OF DAYFILE FILE.
- SDF SUBR ENTRY/EXIT
- LDD AB+4 START DISPLAY AT *IN*
- STD T7
- SBD SR+2
- PJN SDF0 IF *IN* .GE. *LIMIT*
- LDD SR+4
- SBD SR+2
- PJN SDF0 IF *OUT* .GE. *LIMIT*
- LDD CM+1 COMPARE CURRENT TRACK AND FIRST TRACK
- LMD CM+2
- NJN SDF1 IF BUFFER DUMPED
- LDD CM+3 COMPARE CURRENT SECTOR TO SYSTEM SECTOR
- SBN FSMS+1
- PJN SDF1 IF BUFFER DUMPED
- LDD SR+4 START DISPLAY AT *OUT*
- STD T7
- LMD AB+4
- NJN SDF1 IF *OUT* .NE. *IN*
- SDF0 LJM DSAX EXIT
- SDF1 LDM CTOS SET Y-COORDINATE
- STD YC
- STD T9 INITIALIZE LINE COUNTER
- LDD CT GET CONSOLE TYPE
- ADM ADSC+2 GET SCREEN FULL FLAG
- ZJN SDFX IF CONSOLE IS A *CC545* AND SCREEN IS FULL
- LDD T7
- STD T4 (T4) = FIRST POSSIBLE START OF DISPLAY
- LDD AB+4
- STD T7 INITIALIZE POINTER TO *IN*
- LDN 0
- SDF2 STD T8 INITIALIZE LINE LENGTH COUNTER
- STD AB+2 SAVE INITIAL VALUE
- SDF2.1 SOD T7 DECREMENT POINTER
- PJN SDF3 IF POINTER .GE. *FIRST*
- ADD SR+2 POINTER = *LIMIT* - 1
- STD T7
- SDF3 SBD T4
- NJN SDF3.1 IF NOT BACK TO START OF DISPLAY
- LJM SDF8 RETURN
- SDF3.1 LDD AB READ WORD FROM BUFFER
- SHN 14
- ADD AB+1
- ADD T7
- CRD CM
- AOD T8 INCREMENT LINE LENGTH COUNTER
- LDD CM+4
- NJN SDF2.1 IF NOT END OF LINE
- LDD T8
- SHN -1
- NJN SDF5 IF NOT NULL LINE
- SDF4 LDD CM
- ZJN SDF2 IF NULL WORD
- LDN 1
- UJN SDF2 FIND NEXT LINE
- SDF5 SHN -2
- ZJN SDF6 IF LINE WAS SIX OR LESS WORDS LONG
- LCN YINC
- SDF6 SBN YINC
- RAD T9 UPDATE LINE COUNT
- SBD LL
- ADN YINC
- ZJN SDF7 IF EXACTLY AT THE BOTTOM OF SCREEN
- PJN SDF4 IF NOT AT BOTTOM OF SCREEN YET
- LDD T8 GO BACK TO THE NEXT LINE
- SBD AB+2 SKIP PAST NULL WORD IF NECESSARY
- SDF7 ADN 1
- RAD T7
- SBD SR+2
- MJN SDF8 IF POINTER .LT. *LIMIT*
- STD T7
- SDF8 LCN 0 SET RESET REQUEST FLAG
- STM TDSA,T5
- LDD CT GET CONSOLE TYPE
- LJM SDFX RETURN
- SSR SPACE 4,10
- ** SSR - SELECT SCREEN ROLLING.
- *
- * ENTRY (T2) = 0, IF ENABLE ROLLING.
- * = 1, IF INHIBIT ROLLING.
- SSR LDM DCTY,T2 GET APPROPRIATE ZERO/NONZERO VALUE
- ERRNZ C545 A ZERO VALUE IS REQUIRED TO ENABLE ROLLING
- ERRZR C721 CC634B CAN NOT BE ROLLED
- ERRNZ DCTY+1-DLYA CODE ASSUMES THE RELATIONSHIP
- STM SSRA
- LJM. /KEYBOARD/KBIX RETURN
- SSRA CON C545 INHIBIT ROLLING FLAG
- SPACE 4,10
- DSPEND
- DISPLAY (DISPLAY OVERLAY MESSAGE TEXT.),,RPL
- MSG SPACE 4,10
- ** THIS OVERLAY CONTAINS TEXT THAT CAN BE ACCESSED FROM THE RPL
- * BY DISPLAY OVERLAYS. IT IS NEVER LOADED BY *DSD* AND MUST BE
- * THE FIRST ENTRY IN THE RPL.
- MSG SPACE 4,10
- ** MSG - DEFINE *A,O* DISPLAY EVENT DESCRIPTOR MESSAGE.
- *
- * MSG (TEXT)
- * TEXT = TEXT OF MESSAGE.
- PURGMAC MSG
- MSG MACRO TEXT
- LOCAL A,B
- A SET *+4
- B SET A/5
- BSSZ B*5-A+4
- MSG RMT
- CON /DSD".AMSGOVL"/B TEXT
- MSG RMT
- DATA C*TEXT*
- MSG ENDM
- EEMSG SPACE 4,10
- ** EEMSG - DEFINE *E,E* DISPLAY MESSAGE.
- *
- * EEMSG (TEXT)
- * TEXT = TEXT OF MESSAGE.
- PURGMAC EEMSG
- MACRO EEMSG,NAME,TEXT
- LOCAL A,B
- A SET *+4
- B SET A/5
- BSSZ B*5-A+4
- DATA C*TEXT*
- QUAL EEMSG
- NAME EQU /DSD".AMSGOVL"/B
- QUAL *
- EEMSG ENDM
- SPACE 4,10
- PMSG SPACE 4,10
- ** PMSG - DEFINE *E,P* DISPLAY MESSAGE AND ERROR MNEMONIC.
- *
- * NAME PMSG CODE,TEXT,MNEM
- * NAME = NAME OF TEXT.
- * CODE = *COMSRSX* PREVIEW DISPLAY MESSAGE CODE.
- * TEXT = MESSAGE TEXT.
- * MNEM = ERROR MNEMONIC.
- PURGMAC PMSG
- MACRO PMSG,A,B,C,D
- IFC NE,$A$$
- .1 SET *+4
- .2 SET .1/5
- BSSZ .2*5-.1+4
- A EQU */5
- .3 SET *
- ELSE 5
- ORG .3+B*5*3
- IFC NE,$C$$,3
- LOC B*5*3
- DATA 28L_C
- DATA 2L_D
- BSS 0
- ENDM
- .AMSGOVL MICRO 1,, "M."
- TFTN SPACE 4,10
- ** TFTN - TABLE OF MONITOR FUNCTIONS.
- *
- * THE TABLE IS FORCED TO BEGIN ON A CM WORD BOUNDARY. EACH
- * WORD CONTAINS TWO CONSECUTIVE MNEMONICS IN ONE WORD.
- *
- * ENTRY 24/ EVEN MNEMONIC,24/ ODD MNEMONIC, 12/
- .1 SET *+4 FORCE THE TABLE TO A WORD BOUNDARY
- .2 SET .1/5
- BSSZ .2*5-.1+4
- QUAL DISPLAY
- TFTN EQU */5 WORD OFFSET WITHIN THE TEXT OVERLAY
- QUAL *
- TXT$ EQU 1 FORCE 2 MNEMONICS PER CM WORD
- LIST X,D
- *CALL COMDTFN
- LIST *
- SPACE 4,10
- ** A,OPERATOR EVENT DESCRIPTOR MESSAGES.
- MSG (FAMILY ORDINAL TABLE FULL)
- MSG (SYSTEM FNT FULL)
- MSG (QUEUED FILE TABLE FULL)
- MSG (EXECUTING JOB TABLE FULL)
- MSG (DAYFILE LENGTH EXCEEDED)
- MSG (ERROR LOG LENGTH EXCEEDED)
- MSG (ACCOUNT FILE LENGTH EXCEEDED)
- MSG (MAINLOG LENGTH EXCEEDED)
- MSG (TRACK LIMIT)
- MSG (USER EXTENDED MEMORY DISABLED)
- MSG (CHANNEL DOWNED BY SYSTEM)
- MSG (ERRLOG ALERT)
- MSG (LOW SPACE ON MASS STORAGE DEVICE)
- MSG (CHECK TMSDIS,FAM.)
- MSG (CHECK E,E DISPLAY)
- SPACE 4,10
- ** E,E DISPLAY MESSAGES.
- ERCM EEMSG (ERROR CODE = )
- ACRM EEMSG (ACTIVITY RESTRICTED.)
- SUSM EEMSG (SUSPECT.)
- PPLM EEMSG (PARITY PROTECTION LOST. UNIT = )
- PPRM EEMSG (PARITY RESTORE IN PROGRESS. RC = )
- PRPM EEMSG (PARITY RESTORE PENDING.)
- ERPM EEMSG (ERROR RECOVERY IN PROGRESS.)
- COTM EEMSG (CONTROLLER OVERTEMP.)
- LWSM EEMSG (LOW SPACE.)
- VFTM EEMSG (VERIFICATION FAILURE THRESHOLD.)
- RETM EEMSG (RECOVERED ERROR THRESHOLD.)
- UETM EEMSG (UNRECOVERED ERROR THRESHOLD.)
- SPACE 4,10
- ** E,P DISPLAY MESSAGES AND ERROR MNEMONICS.
- PDMS PMSG
- PMSG 0,( ),( )
- PMSG /RSX/OFF,(REQUIRED EQUIPMENT OFF/DOWN ),EO
- PMSG /RSX/NWE,(NEEDS WRITE ENABLE ),WE
- PMSG /RSX/NLB,(NEEDS LABEL ),LB
- PMSG /RSX/CAD,(ACCESS NOT PERMITTED ),NP
- PMSG /RSX/WVS,(WRONG VSN ),VS
- PMSG /RSX/NLG,(NEEDS LABEL GO,EST TO LABEL),LB
- PMSG /RSX/CAG,(NO PERMIT GO,EST TO LABEL),NP
- PMSG /RSX/WVG,(WRONG VSN GO,EST TO LABEL),VS
- PMSG /RSX/TCF,(TAPE CLEANER FAULT ),CF
- PMSG /RSX/BFR,(READ ID BURST FAILURE ),RB
- PMSG /RSX/BFW,(WRITE ID BURST FAILURE ),WB
- PMSG /RSX/VOS,(VSN STORED OFFSITE ),OS
- PMSG /RSX/NAC,(VOLUME NOT IN ACS ),NA
- PMSG /RSX/UOL,(UNREADABLE OPTICAL LABEL ),OL
- PMSG /RSX/NTV,(NEXTVSN,EST,VSN TO CONTINUE),NV
- PMSG /RSX/ALC,(ACCESS LEVEL CONFLICT ),LC
- PMSG /RSX/DRC,(DRIVE TYPE CONFLICT ),DC
- PMSG /RSX/MXPM
- SPACE 4,10
- DSPEND
- DISPLAY (DISPLAY A - OPERATOR STATUS.)
- ENTRY DOD,DOD
- DOD SPACE 4,10
- *** *A,OPERATOR* DISPLAY.
- *
- *
- * DISPLAY SYSTEM STATUS WORD *OPRL*.
- DOD SUBR ENTRY/EXIT
- DISPHD (A. OPERATOR DISPLAY.)
- * LDN 0
- STD T5 CLEAR EVENT FLAG
- STD T6 CLEAR EVENT BIT NUMBER
- STD CM+4
- LDM CTOS SET Y-COORDINATE
- STD YC
- LDC RPLP GET MESSAGE TEXT OVERLAY ADDRESS
- CRD AB
- LDC OPRL
- CRD SH
- LDN 4
- STD T8
- DOD2 LDM SH,T8
- LPN 1
- ZJN DOD4 IF NOT THIS MESSAGE
- LDD T5
- NJN DOD3 IF HEADER ALREADY WRITTEN
- LDN 2
- OAM XC,CH OUTPUT COORDINATES
- LDN DODCL
- OAM DODC,CH OUTPUT HEADER
- LCN 2*YINC SKIP A LINE
- RAD YC
- STD T5 SET EVENT FLAG
- DOD3 LDN 2
- OAM XC,CH
- LDD T6
- RJM D4S DISPLAY EVENT BIT NUMBER
- LDD AB DISPLAY MESSAGE
- SHN 14
- ADD AB+1
- ADM DODD,T6
- RJM DOL
- LCN YINC DECREMENT Y-COORDINATE
- RAD YC
- DOD4 AOD T6 INCREMENT EVENT BIT NUMBER
- SBN DODDL
- PJN DOD7 IF END OF OPERATOR EVENTS
- ADN DODDL-14
- ZJN DOD5 IF NEW BYTE
- LDM SH,T8 POSITION TO NEXT EVENT
- SHN -1
- STM SH,T8
- UJN DOD6 CHECK NEXT EVENT
- DOD5 SOD T8
- DOD6 LJM DOD2 CHECK NEXT EVENT
- DOD7 LDD T5
- ZJN DOD8 IF NO EVENT MESSAGES DISPLAYED
- LCN 2*YINC DISPLAY RESPONSE LINE
- RAD YC
- ADN 2*YINC
- OAN CH+40
- DISPLA CH07,,(ENTER *LOG,NUMBER.* WHEN PROBLEM HAS BEEN CORREC
- ,TED.)
- * PROCESS *RDF*/*OPMSG* MESSAGE.
- DOD8 LDC LDSP FIND OPERATOR DISPLAY BUFFER
- CRD SR
- LDD SR+2
- SHN 14
- LMD SR+3
- SBN LODS
- CRD T5
- LDD T5+1
- ZJN DOD10 IF NO MESSAGE
- LDN 2 OUTPUT COORDINATES
- OAM XC,CH
- LDD T5+2
- ZJN DOD9 IF NO *RTN*
- LDC 3RFRD&3RNJS
- DOD9 LMC 3RNJS
- STD T2
- SHN -6
- SCN 77
- STD T3
- LDC 2R=
- STD T4
- LDN 5
- OAM T2,CH DISPLAY *XXX = JSNA*
- LDC 2R -
- OAN CH+40 DISPLAY * - *
- RJM DMS DISPLAY THE MESSAGE
- LCN YINC UPDATE THE Y-COORDINATE
- RAD YC
- OAN CH+40
- LDN DODEL
- DOD10 ZJN DOD12 IF NO MESSAGE
- OAM DODE,CH DISPLAY THE RESPONSE MESSAGE
- LDD T5+2 SELECT THE VARIABLE PART OF THE RESPONSE
- ZJN DOD11 IF NOT *RDF*
- LDN DODG-DODF
- DOD11 ADC. DODF
- STM DODA
- LDN 3
- OAM. **,CH OUTPUT THE VARIABLE PART OF THE RESPONSE
- DODA EQU *-1 ADDRESS OF -*DIAL,- OR - *CFO,-
- DOD12 LJM DODX RETURN
- DODC DATA H*NUMBER* OPERATOR EVENT HEADER
- CON CH12
- DATA H*MESSAGE TEXT*
- DODCL EQU *-DODC
- DODD BSS 0
- LOC 0
- LIST G
- MSG HERE
- LIST *
- DODDL EQU *
- LOC *O
- DODE CON CH07 RESPONSE MESSAGE
- DATA H$ENTER$
- CON CH19
- DATA H$JSN.MESSAGE.* TO RESPOND.$
- CON CH13
- DODEL EQU *-DODE
- DODF DATA 6H *CFO,
- DODG DATA 6H*DIAL,
- DMS SPACE 4,10
- ** DMS - DISPLAY THE MESSAGE.
- *
- * ENTRY (SR+2 - SR+3) = FWA OF *L* DISPLAY BUFFER.
- *
- * USES T5, T6, CM - CM+4.
- *
- * CALLS DWD.
- DMS SUBR ENTRY/EXIT
- LDN LODS-1 FIND FWA OF MESSAGE
- STD T6
- DMS1 LDN 4 SET WORD COUNT PER LINE = 5
- STD T5
- LDC CH14 SET X-COORDINATE
- OAN CH+40
- DMS2 LDD SR+2 DISPLAY NEXT WORD
- SHN 14
- ADD SR+3
- SBD T6
- CRD CM
- RJM DWD DISPLAY WORD
- SOD T6 UPDATE INDEX
- ZJN DMSX IF END OF BUFFER
- LDD CM+4
- ZJN DMSX IF END OF LINE
- SOD T5
- PJN DMS2 IF NOT EDGE OF SCREEN
- LCN YINC MOVE DOWN ONE LINE
- RAD YC
- OAN CH+40
- UJN DMS1 FINISH CURRENT LINE
- SPACE 4,10
- DSPEND
- DISPLAY (DISPLAY B - SYSTEM STATUS.),PBD
- ENTRY DSB,DSB
- DSB SPACE 4,10
- *** *B* DISPLAY.
- *
- * DISPLAY SYSTEM STATUS BY CONTROL POINTS.
- *
- * *B,A* EXAMPLE -
- *
- * 1 2 3 4 5 6
- * 1234567890123456789012345678901234567890123456789012345678901234
- * CP JSN SC PR FL CPU STATUS
- *
- * 14 JSNN S 130 1234 X (MS2W, IF NOT BLANK, OR MS1W.)
- * 15 (UNUSED CONTROL POINT WILL APPEAR AS A BLANK LINE.)
- *
- * UPON PRESSING THE *=* KEY (IF DISPLAY IS ON THE RIGHT SCREEN) OR
- * THE */* KEY (IF ON THE LEFT), THE *B,A* DISPLAY TOGGLES TO -
- *
- * 1 2 3 4 5 6
- * 1234567890123456789012345678901234567890123456789012345678901234
- * CP JSN EJT SCPR FLE SS STATUS
- *
- * 14 JSNN 122 4413 1234 ISLM (MS2W, IF NOT BLANK, OR MS1W.)
- * 15 (UNUSED CONTROL POINT WILL APPEAR AS A BLANK LINE.)
- *
- * SPECIAL FLAGS -
- * COLUMN 30 = I, IF SUBSYSTEM IDLE SET.
- * COLUMN 31 = S, IF SUBCONTROL POINTS ACTIVE.
- * COLUMN 32 = L, IF JOB HAS FORCED ROLLIN SET (LOCK).
- * COLUMN 32 = R, IF ROLLOUT REQUESTED (OVERRIDES L).
- * COLUMN 33 = M, IF CONTROL POINT STORAGE MOVING.
- *
- * *B,O* EXAMPLE -
- *
- * 1 2 3 4 5 6
- * 1234567890123456789012345678901234567890123456789012345678901234
- * CP JSN STATUS
- *
- * 14 JSNN (MS2W MESSAGE, IF NOT BLANK, OR MS1W MESSAGE.)
- * 15 (UNUSED CONTROL POINT WILL APPEAR AS A BLANK LINE.)
- *
- DSB SUBR PRESET ENTRY/EXIT
- LDD TH PRESET SHIFT INSTRUCTION
- ERRNZ SHNI-1000
- ADM UESC
- STM DSBJ
- LDM TDSB GET DEFAULT DISPLAY TYPE
- STM DSBA
- SOM DSB UPDATE *RJM* ADDRESS IN *DSD-S* MAIN LOOP
- STD T1
- LDN DSB1-DOEP
- RAI T1
- LJM. -1,T1 RETURN AND RE-ENTER AT *DSB1*
- DSB1 SUBR MAIN ENTRY/EXIT
- DISPHD (B,) DISPLAY SCREEN TITLE
- LDC 1RA&1RA CHECK DISPLAY TYPE
- * LDC 1RO&1RA (*B,O* DISPLAY TYPE)
- DSBA EQU *-1
- STD T8
- SHN 6
- LMC 2RA.
- OAN CH+40
- DISPLA ,,( SYSTEM STATUS.)
- * LDN 0 GET CPU CONDITION BITS FROM LOCATION 0
- CRD CM
- LDD CM
- ADD CM+1
- ADD CM+2
- ZJN DSB2 IF NONE SET
- * ISSUE *CPUMTR ERROR EXIT.* MESSAGE.
- LDD NC DISPLAY MESSAGE
- SHN 7
- ADN MS2W
- CWM DSBC,TR *CPUMTR ERROR EXIT.*
- * DETERMINE START OF PAGE.
- DSB2 LDD LA CHECK WHICH DISPLAY THE OVERLAY IS DRIVING
- ADC -.FLFT
- SHN -10B
- ERRNG .FRHT-.FLFT-400B ENSURE DIFFERENCE IS IN RANGE
- ERRNG .FLFT-.FRHT+777B
- STD T1
- ZJN DSB3 IF *B* IS NOT ON THE RIGHT SCREEN
- LDD LS
- LMN 1RB
- NJN DSB3 IF *B* IS NOT ALSO ON THE LEFT SCREEN
- LDM. .FLFT+DSBA
- LMM. .FRHT+DSBA
- NJN DSB3 IF DIFFERENT TYPE OF *B* DISPLAY
- LDM TGTF
- LMM TGTF+1
- NJN DSB3 IF DIFFERENT TOGGLE STATUS
- LDM. .FLFT+DSBH+1 GET NEXT CONTROL POINT NUMBER FROM LEFT
- STM DSBH
- DSB3 LDM TGTF,T1 SET TOGGLE STATUS
- STD T9
- LDM DSBH GET FIRST CONTROL POINT FOR THIS PAGE
- STD CN
- LDM CTOS INITIALIZE THE Y-COORDINATE
- STD YC
- OAN CH+40
- * DISPLAY THE APPROPRIATE HEADER.
- LDN DSBDL
- OAM DSBD,CH DISPLAY PART 1 OF THE HEADER
- LDD T8
- NJN DSB5 IF *B,O* DISPLAY
- LDD T9
- ZJN DSB4 IF SET ONE
- LDC DSBFL*10000+DSBF-DSBEL*10000-DSBE
- DSB4 ADC. DSBEL*10000+DSBE
- STM DSBB
- SHN -14
- OAM. DSBE,CH DISPLAY SET ONE
- * OAM. DSBF,CH DISPLAY SET TWO
- DSBB EQU *-1
- DSB5 LDN DSBGL DISPLAY *STATUS*
- OAM DSBG,CH
- LCN 2*YINC POSITION DOWN TWO LINES
- RAD YC
- OAN CH+40 OUTPUT Y-COORDINATE
- * DISPLAY THE CP NUMBER AND JSN.
- DSB6 LDD XC OUTPUT X-COORDINATE
- OAN CH+40
- LDD CN
- RJM D2S DISPLAY CP NUMBER
- LDD CN SET CP ADDRESS
- SHN 7
- STD CP
- ADK TFSW READ EJT ORDINAL
- CRD T2 (T2) = EJT ORDINAL
- LDD T2
- NJN DSB7 IF ACTIVE CP
- LDD CN
- SBD NC
- ZJN DSB7 IF NOT ACTIVE CP
- LJM DSB15 ADVANCE THE CP NUMBER
- DSB7 SFA EJT GET EJT DATA
- ADK JSNE
- CRD SR (SR - SR+1) = JSN
- ADK SCLE-JSNE
- CRD AB (AB) = SERVICE CLASS,ROLLIN WITH LOCK,OT
- ADK SCHE-SCLE
- CRD CM (CM+4) = SCHEDULER PRIORITY
- LDK CH06
- OAN CH+40 OUTPUT X-COORDINATE
- ADK CH12-CH06 SET MESSAGE COORDINATE FOR *B,O*
- STD AB+1
- LDN 2 DISPLAY JSN
- OAM SR,CH
- LDD T8 CHECK DISPLAY TYPE
- NJP DSB12 IF *B,O* DISPLAY
- * DISPLAY DATA FIELDS FOR *B,A* DISPLAY (DEFAULT SET).
- LDC LMNI+3 MODIFY *DOL* FOR *B,A*
- STM DOLA
- LDD CP READ CPA DATA
- ADK STSW
- CRD T3 (T3) = CPU, SUB-CONTROL POINT STATUS
- ADK CWQW-STSW
- CRD T4 (T4) = CPU PRIORITY
- ADK FLSW-CWQW
- CRD T7 (CM+3) = CM FIELD LENGTH
- LDD T9 CHECK SET ONE OR SET TWO
- NJN DSB8 IF SET TWO
- OAN CH+40 SKIP TWO SPACES
- LDD AB OUTPUT SERVICE CLASS
- SHN -6
- STD T5
- LDM TJSC,T5
- SHN -6
- OAN CH+40
- LDD T4
- SHN -3
- LPC 177
- RJM D6S DISPLAY CPU PRIORITY
- LDD CM+3
- RJM D6S DISPLAY CM FL
- LDD T3 GET CPU STATUS
- SHN -11
- STD CM+4
- LDM DSBI,CM+4 DISPLAY CPU STATUS
- UJP DSB11.2 CHECK FOR MESSAGE
- * DISPLAY DATA FIELDS FOR *B,A* DISPLAY (ALTERNATE SET).
- DSB8 LDD CP READ CPA DATA FOR SET TWO
- ADK ECSW
- CRD T6 (CM+2) = EM FIELD LENGTH
- ADK SNSW-ECSW
- CRD T5 (CM) = SUBSYSTEM IDLEDOWN STATUS, PAUSE
- LDD T2
- RJM D4S DISPLAY EJT ORDINAL
- LDD CM+4
- RJM D4S DISPLAY SCHEDULER PRIORITY
- LDD CM+2
- DSBJ SHN 0 BIAS FLE
- * SHN UESC (UESC = USER EXTENDED MEMORY SHIFT COUNT)
- RJM D6S DISPLAY EXTENDED MEMORY FL
- LDD CM CHECK FOR SUBSYSTEM IDLEDOWN STATUS
- LPN 10
- ZJN DSB9 IF NOT BEING IDLED
- LDN 1RI
- SHN 6
- DSB9 STD T1
- LDD T3 GET SUBCONTROL POINT STATUS
- SHN -10
- LPN 1
- ZJN DSB10 IF SUBCONTROL POINTS NOT ACTIVE
- LDN 1RS
- DSB10 LMD T1
- OAN CH+40 DISPLAY SUBSYSTEM IDLEDOWN, SCP STATUS
- LDD CP
- ADK STSW
- CRD T4 CHECK ROLLOUT REQUESTED
- LDD T6
- LPN 01
- ZJN DSB10.1 IF ROLLOUT NOT REQUESTED
- LDN 1RR
- UJN DSB10.2 SET *R* IN MESSAGE
- DSB10.1 LDD AB CHECK FOR ROLLIN WITH LOCK
- LPN 20
- ZJN DSB11 IF NOT ROLLIN WITH LOCK
- LDN 1RL
- DSB10.2 SHN 6
- DSB11 STD T1
- LDK CMCL CHECK IF CONTROL POINT MOVING
- CRD T4
- LDD T4
- LMD CN
- NJN DSB11.1 IF CONTROL POINT NOT MOVING
- LDN 1RM DISPLAY STORAGE MOVE STATUS
- RAD T1
- DSB11.1 LDD T1
- DSB11.2 OAN CH+40 DISPLAY STATUS
- LDK CH35 SET THE MESSAGE COORDINATE FOR *B,A*
- STD AB+1
- * DISPLAY MESSAGE BUFFER.
- DSB12 LDD CP READ THE PAUSE BIT
- ADK SNSW
- CRD T4 (T7) = PAUSE
- ADK MS2W-SNSW READ MESSAGE 2
- CRD CM
- STD T5
- LDD CM
- STD T4 SAVE MESSAGE 2 STATUS
- ZJN DSB13 IF BLANK
- LDC LMNI+3 MODIFY *DOL* FOR MESSAGE 2
- STM DOLA
- UJN DSB14 DISPLAY MESSAGE
- DSB13 LDD CP READ MESSAGE 1
- ADN MS1W
- CRD CM
- STD T5
- LDD CM
- ZJN DSB15 IF NO MESSAGE
- DSB14 RJM DMS DISPLAY MESSAGE
- * ADVANCE THE CONTROL POINT NUMBER.
- DSB15 LDC LMNI+5+1 RESTORE *DOL*
- STM DOLA
- AOD CN ADVANCE CP NUMBER
- SBD NC
- ZJN DSB16 IF ONE MORE CONTROL POINT
- PJN DSB19 IF NO MORE CONTROL POINTS
- DSB16 STD T1 SAVE LAST CONTROL POINT FLAG
- LDM DCTY DECREMENT Y-COORDINATE
- SHN 1
- SBN YINC+2
- RAD YC
- OAN CH+40
- SBM CBOS
- MJN DSB18 IF NO MORE LINES
- DSB17 LJM DSB6 LOOP
- DSB18 LDD T1
- ZJN DSB17 IF LAST CONTROL POINT
- LDN MOREL DISPLAY *MORE*
- OAM MORE,CH
- LDD CN
- DSB19 STM DSBH+1 SAVE CONTROL POINT NUMBER OF NEXT PAGE
- LJM DSB1X RETURN
- DSBC DATA C*CPUMTR ERROR EXIT.*
- * SCREEN TITLES.
- DSBD CON CH01,2HCP,CH06 COMMON HEADER
- DATA 4HJSN
- CON CH20
- DSBDL EQU *-DSBD
- DSBE CON CH12,2HSC *B,A* SET ONE HEADER
- CON CH18,2HPR
- CON CH25,2HFL
- CON CH30
- DATA 4HCPU
- CON CH42
- DSBEL EQU *-DSBE
- DSBF CON CH11 *B,A* SET TWO HEADER
- DATA 10HEJT SCPR
- CON CH25
- DATA 8HFLE SS
- CON CH42
- DSBFL EQU *-DSBF
- DSBG DATA 6HSTATUS MESSAGE HEADER
- DSBGL EQU *-DSBG
- * PAGE CONTROL BYTES.
- * BYTE 0 = FIRST CONTROL POINT FOR CURRENT PAGE
- * BYTE 1 = FIRST CONTROL POINT FOR NEXT PAGE
- DSBH CON 1,1
- DSBI SPACE 4,10
- ** DSBI - TABLE OF CPU STATUS CODES.
- *
- * INDEXED BY NUMERIC VALUE IN CPA WORD *STSW*.
- DSBI BSS 0
- LOC 0
- VFD 12/1R NULL
- VFD 12/1RA JOB ACTIVE IN CPU 0
- VFD 12/1RB JOB ACTIVE IN CPU 1
- VFD 12/1R (RESERVED)
- VFD 12/1RW JOB WAITING FOR CPU
- VFD 12/1RX JOB WAITING FOR RECALL
- VFD 12/1RI JOB WAITING FOR PP DROP
- VFD 12/1R (RESERVED)
- LOC *O
- DMS SPACE 4,10
- ** DMS - DISPLAY CONTROL POINT MESSAGE.
- *
- * ENTRY (CN) = CP NUMBER.
- * (CP) = CPA ADDRESS.
- * (AB) = 8/ , 4/ ORIGIN TYPE CODE.
- * (AB+1) = STARTING COORDINATE.
- * (T4) = 0, IF NOT *MS2W*.
- * (T5) = MESSAGE ADDRESS.
- * (T7) = 11/ , 1/ PAUSE BIT
- * (CM - CM+4) = FIRST WORD OF MESSAGE.
- *
- * USES T6, CM - CM+4.
- *
- * CALLS DOL.
- *
- * MACROS CFNC.
- DMS SUBR ENTRY/EXIT
- LDN 0 CLEAR INTENSITY COUNT
- STD T6
- LDD T7 CHECK PAUSE BIT
- LPN 1
- NJN DMS1 IF PAUSE BIT SET
- LDD T4
- ZJN DMS3 IF NOT *MS2W*
- LDD NC
- LMD CN
- ZJN DMS1 IF SYSTEM CP
- LDD AB
- LPN 17
- LMK SYOT
- NJN DMS3 IF NOT SYSTEM ORIGIN
- LDD CM
- SHN -6
- LMN 1R$
- NJN DMS3 IF FIRST CHARACTER .NE. *$*
- DMS1 CFNC BIVF
- PJN DMS3 IF CDC721
- LDD CN
- SBD CY
- LPN 30
- ZJN DMS3 IF NOT TIME TO INTENSIFY
- LDN 2
- STD T6
- DMS2 LDK CH06 INTENSIFY JSN
- OAN CH+40
- LDN 2
- OAM SR,CH
- DMS3 LDD AB+1 SET X-COORDINATE
- OAN CH+40
- LDD T5 DISPLAY 1 LINE
- RJM DOL
- SOD T6
- ZJN DMS3 IF NOT DONE INTENSIFYING MESSAGE
- PJN DMS2 IF NOT DONE INTENSIFYING JSN
- CFNC EIVF
- LJM DMSX RETURN
- PBD SPACE 4,10
- ** PBD - PAGE THE *B* DISPLAY.
- *
- * ENTRY (T2) = 0, IF PAGE FORWARD.
- * = 1, IF PAGE BACKWARD.
- PBD BSS 0 ENTRY
- LDD T2
- NJN PBD1 IF PAGE BACKWARD
- LDM DSBH+1 GET FIRST CONTROL POINT FOR NEXT PAGE
- PBD1 STM DSBH
- LJM. /KEYBOARD/KBIX RETURN
- SPACE 4,10
- DSPEND
- DISPLAY (DISPLAYS C, D - CENTRAL MEMORY.),AMF,CMR
- ENTRY DSC,DSC
- SPACE 4,10
- *** NOTE -
- *
- * THIS OVERLAY SHOULD BE MADE CM RESIDENT SO THAT
- * THE *C* AND *D* DISPLAYS IN THIS OVERLAY WILL
- * BE AVAILABLE TO THE OPERATOR EVEN IF THE SYSTEM
- * IS HUNG.
- DSC SPACE 4,10
- *** *C* DISPLAY.
- * *D* DISPLAY.
- *
- * DISPLAY CM AS 5 GROUPS OF 4 DIGITS.
- DSC SUBR ENTRY/EXIT
- LDD CN DISPLAY HEADER
- SHN 6
- LMN 1R.
- STM DSCB+2
- LDN DSCBL
- OAM DSCB,CH
- LDM DSCA-1RC,CN GET JSN FOR SELECTED SCREEN
- STM DSCC
- LDN 2
- OAM *,CH DISPLAY JSN
- DSCC EQU *-1 (ADDRESS OF JSN)
- LDM DSCC
- RJM SJS SEARCH FOR JSN IN EJT
- MJN DSCX IF JOB NOT AT CP OR JSN UNUSED
- LDD SF SET SECURE FLAG
- STD T8
- LDD LK
- SHN -1
- ZJN DSC1 IF NOT SECURE UNLOCK
- LDN 0 CLEAR SECURE FLAG
- STD T8
- DSC1 LDD CN CHECK DISPLAY
- LMN 1RC
- ZJN DSC4 IF *C* DISPLAY
- DSC2 LDC D5F SET FORMAT
- STD T6
- LDM TDFC-1,CN DISPLAY CENTRAL MEMORY
- DSC3 RJM DCM
- LJM DSCX RETURN
- DSC4 LDK CMBL FETCH *CPUMTR* BREAKPOINT STATUS
- CRD CM
- LDD CM+3 CHECK FOR EXCHANGE PACKAGE DISPLAY
- LMM TDSC
- SHN 14
- ADD CM+4
- LMM TDSC+1
- NJN DSC2 IF NOT EXCHANGE PACKAGE
- LDC. DXP SET FORMAT
- STD T6
- LDC TDSC SET ADDRESS OF DISPLAY BLOCK
- UJP DSC3 DISPLAY EXCHANGE PACKAGE
- DSCA CON /DSD/TJCC+1 JSN ADDRESS FOR *C* DISPLAY
- CON /DSD/TJDD+1 JSN ADDRESS FOR *D* DISPLAY
- DSCB CON CH01,HL01 SCREEN TITLE
- DATA 22H"CHDR"
- DSCBL EQU *-DSCB
- ERRNZ XJSN-CH23 CODE DEPENDS ON VALUE
- DXP SPACE 4,10
- ** DXP - DISPLAY EXCHANGE PACKAGE.
- *
- * ENTRY (T5) = WORD INDEX.
- * (CM - CM+4) = CONTENTS OF CM WORD.
- *
- * EXIT (T6) = *D4F* IF EXCHANGE PACKAGE IS COMPLETE.
- *
- * CALLS D4D, D4S, D5F, D6S.
- DXP3 SBN 2
- PJN DXP4 IF NOT *X* REGISTERS
- RJM D5F
- UJN DXPX RETURN
- DXP4 RJM D4F DISPLAY BREAKPOINT AREA
- DXP SUBR ENTRY/EXIT
- LDD T7
- SBK TDSC+2
- PJN DXP3 IF NOT *A OR B* REGISTERS
- LDC TDSC+10 FORCE 4 BLOCKS OF MEMORY
- STM DCMB
- LDC CH11
- OAN CH+40 OUTPUT X-COORDINATE
- LDD CM
- SHN -6
- NJN DXP1 IF EXIT MODE FLAGS
- OAN CH+40
- LDD CM DISPLAY 6 DIGITS
- SHN 14
- LMD CM+1 (LEADING ZERO SUPPRESSION)
- RJM D6S
- UJN DXP2 DISPLAY *A* REGISTER
- DXP1 RJM D4D DISPLAY 4 DIGITS
- LDD CM+1
- RJM D4D DISPLAY 4 DIGITS
- LDN 0
- OAN CH+40
- DXP2 LDD CM+3 DISPLAY *A* REGISTER
- SCN 77
- SHN 6
- LMD CM+2
- SHN 6
- RJM D6S
- LDD CM+3 DISPLAY *B* REGISTER
- LPN 77
- SHN 14
- LMD CM+4
- RJM D6S
- UJP DXPX RETURN
- D4F SPACE 4,10
- ** D4F - DISPLAY 4 GROUPS OF 5 DIGITS.
- *
- * ENTRY (CM - CM+4) = CONTENTS OF CM WORD.
- *
- * CALLS DWD, D4D.
- D4F SUBR ENTRY/EXIT
- LDC CH11
- OAN CH+40
- LDD CM PARCEL 0
- SHN -11
- ADN 1R0 DISPLAY FIRST DIGIT
- OAN CH+40
- LDD CM+1
- SCN 77
- SHN 6
- LMD CM
- SHN 3 DISPLAY LOWER 4 DIGITS
- RJM D4D
- LDD CM+1 PARCEL 1
- SHN -6
- LPN 7
- ADN 1R0 DISPLAY FIRST DIGIT
- OAN CH+40
- LDD CM+2
- SCN 77
- SHN 6
- LMD CM+1
- SHN 6 DISPLAY LOWER 4 DIGITS
- RJM D4D
- LDD CM+2 PARCEL 2
- SHN -3
- LPN 7
- ADN 1R0 DISPLAY FIRST DIGIT
- OAN CH+40
- LDD CM+2
- LPN 7
- SHN 14
- LMD CM+3
- SHN -3 DISPLAY LOWER 4 DIGITS
- RJM D4D
- LDD CM+3 PARCEL 3
- LPN 7
- ADN 1R0 DISPLAY FIRST DIGIT
- OAN CH+40
- LDD CM+4 DISPLAY LOWER 4 DIGITS
- RJM D4D
- LDN 0 OUTPUT 2 SPACES
- OAN CH+40
- RJM DWD DISPLAY WORD
- LJM D4FX RETURN
- COMMON SPACE 4,10
- ** COMMON DECKS.
- *CALL COMDDCM
- SPACE 4,10
- DSPEND
- DISPLAY (DISPLAYS F, G - CENTRAL MEMORY.),AMF
- ENTRY DSF,DSF
- DSF SPACE 4,10
- *** *F* DISPLAY.
- * *G* DISPLAY.
- *
- * DISPLAY CM AS 4 GROUPS OF 5 DIGITS.
- DSF SUBR ENTRY/EXIT
- LDD CN DISPLAY HEADER
- SHN 6
- LMN 1R.
- STM DSFB+2
- LDN DSFBL
- OAM DSFB,CH
- LDM DSFA-1RF,CN GET JSN FOR SELECTED SCREEN
- STM DSFC
- LDN 2
- OAM *,CH DISPLAY JSN
- DSFC EQU *-1 (ADDRESS OF JSN)
- LDM DSFC
- RJM SJS SEARCH FOR JSN IN EJT
- MJN DSFX IF JOB NOT AT CP OR JSN UNUSED
- LDC. D4F SET DISPLAY FORMAT
- STD T6
- LDD SF SET SECURE FLAG
- STD T8
- LDD LK
- SHN -1
- ZJN DSF1 IF NOT SECURITY UNLOCK
- LDN 0 CLEAR SECURE FLAG
- STD T8
- DSF1 LDM TDFC-1,CN GET ADDRESS OF FIELD TABLE
- RJM DCM
- LJM DSFX RETURN
- DSFA CON /DSD/TJFF+1
- CON /DSD/TJGG+1
- DSFB CON CH01,HL01 SCREEN TITLE
- DATA 22H"FHDR"
- DSFBL EQU *-DSFB
- ERRNZ XJSN-CH23 CODE DEPENDS ON VALUE
- D4F SPACE 4,10
- ** D4F - DISPLAY 4 GROUPS OF 5 DIGITS.
- *
- * ENTRY (CM - CM+4) = CONTENTS OF CM WORD.
- *
- * USES T1.
- *
- * CALLS DWD, D4D.
- D4F SUBR ENTRY/EXIT
- LDC 6120 OUTPUT X-COORDINATE
- OAN CH+40
- LDD CM+1 PARCEL 0
- SHN -11
- SHN 17
- LMD CM
- SHN 3
- STD T1 SAVE LOWER 4 DIGITS
- SHN -14 DISPLAY UPPER DIGIT
- LPN 7
- ADN 1R0
- OAN CH+40
- LDD T1 DISPLAY LOWER DIGITS
- RJM D4D
- LDD CM+2 PARCEL 1
- SCN 77
- SHN 6
- LMD CM+1
- SHN 6
- STD T1 SAVE LOWER 4 DIGITS
- SHN -14 DISPLAY UPPER DIGIT
- LPN 7
- ADN 1R0
- OAN CH+40
- LDD T1 DISPLAY LOWER DIGITS
- RJM D4D
- LDD CM+2 PARCEL 2
- LPN 77
- SHN 14
- LMD CM+3
- SHN -3
- STD T1 SAVE LOWER 4 DIGITS
- SHN -14 DISPLAY UPPER DIGIT
- LPN 7
- ADN 1R0
- OAN CH+40
- LDD T1 DISPLAY LOWER DIGITS
- RJM D4D
- LDD CM+3 PARCEL 3
- LPN 7
- SHN 14
- LMD CM+4
- STD T1 SAVE LOWER 4 DIGITS
- SHN -14 DISPLAY UPPER DIGIT
- LPN 7
- ADN 1R0
- OAN CH+40
- LDD T1 DISPLAY LOWER DIGITS
- RJM D4D
- LDN 0 OUTPUT 2 SPACES
- OAN CH+40
- RJM DWD DISPLAY WORD
- LJM D4FX RETURN
- COMMON SPACE 4,10
- ** COMMON DECKS.
- LIST X
- *CALL COMDDCM
- LIST *
- SPACE 4,10
- DSPEND
- DISPLAY (DISPLAY E - EQUIPMENT STATUS TABLE.),PEA
- ENTRY DSE,DSE
- DSE SPACE 4,25
- *** *E,A* DISPLAY.
- *
- * EACH LINE DISPLAYS STATUS FOR ONE EQUIPMENT IN THE EST. DATA
- * SHOWN INCLUDE THE EST ORDINAL, THE ON/OFF/DOWN STATUS OF THE
- * EQUIPMENT, THE JSN TO WHICH IT IS ASSIGNED, IF ANY, AND SOME
- * HARDWARE CHARACTERISTICS OF THE DEVICE - CHANNELS, FIRST
- * UNIT, CONTROLLER, ETC. AN ASTERISK FOLLOWS A *DOWN* CHANNEL.
- * A MINUS SIGN FOLLOWS AN *IDLE* CHANNEL.
- *
- * EXAMPLE -
- *
- * 1 2 3 4 5 6
- * 1234567890123456789012345678901234567890123456789012345678901234
- * EST TYPE STATE JSN EQ UN CHANNELS ACCESS LIMITS
- *
- * 5 DE OFF 0 0 0 LVLBOTT LVLTOPP
- * 6 DF ON 0 0 C00A C01B* LVLBOTT LVLTOPP
- * 7 DN ON 2 3 C02B C03A LVLBOTT LVLTOPP
- * 10 DJ-1 ON 0 0 1 - 24 LVLBOTT LVLTOPP
- * 23 LT ON ASDF 5 0 12 LVLBOTT LVLTOPP
- * 50 MT ON 0 0 13 * 22 LVLBOTT LVLTOPP
- * 51 NT ON 0 1 13 * 33 LVLBOTT LVLTOPP
- * MORE
- DSE SUBR ENTRY/EXIT
- DISPHD (E,A. EQUIPMENT STATUS.)
- LDN ESTP READ EST POINTER
- CRD T4
- LDD LA SET SCREEN
- LMC .FLFT
- ZJN DSE1 IF LEFT SCREEN
- LDN 2
- DSE1 STD T5
- LDM CTOS SET INITIAL Y-COORDINATE
- OAN CH+40
- SBN YINC
- STD YC
- DISPLA CH02,,(EST TYPE STATE JSN EQ UN CHANNELS)
- * LDN 0
- STM TDSE+1,T5 CLEAR NEXT EST ORDINAL
- LDM TDSE,T5 SET EST ORDINAL
- STD T7
- LDD SF
- ZJN DSE2 IF UNSECURED SYSTEM
- DISPLA CH51,,(ACCESS LIMITS)
- DSE2 LJM DSE22 READ EST ENTRY
- DSE3 LDD XC
- OAN CH+40
- LDD T7
- RJM D4S DISPLAY EST ORDINAL
- LDD CM SET MASS STORAGE FLAG
- SHN -13
- STD T2
- LDC CH08 RESET X-COORDINATE
- OAN CH+40
- LDD CM+3 DISPLAY TYPE
- OAN CH+40
- LDD T2
- ZJN DSE5 IF NOT MASS STORAGE
- LDD CM+4 READ NUMBER OF UNITS - 1
- SHN 3
- ADN DDLL
- CRD AB
- SBN DDLL-PFGL READ DEVICE ACCESS LEVEL LIMITS
- CRD SH
- LDD SH+4 SAVE DEVICE ACCESS LEVEL LIMITS
- SHN -6
- STD T8
- LDD CM CHECK FOR *LDAM* TYPE EQUIPMENT
- SHN 21-7
- PJN DSE4 IF NOT *LDAM* TYPE
- LDD AB CHECK NULL LIST BIT
- SHN 21-12
- PJN DSE4 IF NOT NULL EQUIPMENT
- LDC 2R-0 OUTPUT NULL EQUIPMENT INDICATOR
- OAN CH+40
- LJM DSE21 SKIP TO NEXT EQUIPMENT
- DSE4 LDD AB
- LPN 7 DISPLAY PHYSICAL UNITS
- ZJN DSE5 IF NOT MULTI-SPINDLE DEVICE
- ADD T2
- ADC 2R-0
- DSE5 OAN CH+40
- LDN 0 OUTPUT ZERO BYTE
- OAN CH+40
- OAN CH+40
- LDD CM DISPLAY STATE
- LPN 3
- SHN 1
- STD T1
- LDM DSEA,T1
- OAN CH+40
- LDM DSEA+1,T1
- OAN CH+40
- SFA EST,T7 CHECK EQUIPMENT ASSIGNMENT
- ADK EQAE
- CRD SH
- LDD CM
- LPC 4100
- LMC 4000
- ZJN DSE8 IF MASS STORAGE DEVICE AND AVAILABLE
- LDD SH+3 SAVE SECURITY BOUNDS
- STD T8
- DSE8 LDD SH+4
- LMC 7777
- ZJN DSE9 IF ASSIGNED AT SYSTEM CONTROL POINT
- LMC 7777
- NJN DSE9 IF ASSIGNED TO A JOB
- * LDN 0
- STD SH
- STD SH+1
- UJN DSE10 DISPLAY JSN
- DSE9 SFA EJT GET JSN FROM EJT ENTRY
- ADK JSNE
- CRD SH
- LDN 0 DISPLAY JSN
- DSE10 STD SH+2
- OAN CH+40
- LDN 3
- OAM SH,CH
- LDD CM+4 PRESET NON MASS STORAGE CONNECT CODE
- STD T2
- LDD CM+3
- LMC 2RMT
- ZJN DSE13 IF TYPE *MT*
- LMC 2RNT&2RMT
- ZJN DSE13 IF TYPE *NT*
- LMC 2RCT&2RNT
- ZJN DSE13 IF TYPE *CT*
- LMC 2RAT&2RCT
- NJN DSE14 IF NOT TYPE *AT*
- DSE13 LDD T2 MASK OFF UNUSED BITS FOR TAPE
- LPC 7017
- STD T2
- DSE14 LDD CM CHECK EQUIPMENT TYPE
- SHN 21-13
- PJN DSE18 IF NOT MASS STORAGE EQUIPMENT
- LDD AB+4 SET UNIT NUMBER FOR FIRST UNIT
- LPN 77
- STD T2
- LDD AB SET EQUIPMENT (CONTROLLER) NUMBER
- SHN -6
- LPN 7
- SHN 11
- RAD T2
- DSE18 LDD T2 DISPLAY EQUIPMENT (CONTROLLER) NUMBER
- SHN -11
- RJM D2Z
- LDD T2 DISPLAY UNIT
- LPN 77
- RJM D2Z
- LDC CH37
- OAN CH+40
- LDD CM+1 DISPLAY FIRST CHANNEL
- RJM DCD
- LDD CM+2
- ZJN DSE19 IF NO SECOND CHANNEL
- RJM DCD DISPLAY SECOND CHANNEL
- DSE19 LDD T7 CHECK EST ORDINAL
- SBN NOPE
- MJN DSE21 IF PSEUDO-EQUIPMENT
- LDD SF
- ZJN DSE21 IF UNSECURED SYSTEM
- LDC CH50 SET X-COORDINATE
- OAN CH+40
- LDD T8 GET LOWER SECURITY BOUND
- SHN -3
- RJM DAL DISPLAY LOWER SECURITY BOUND STRING
- LDC CH58 SET X-COORDINATE
- OAN CH+40
- LDD T8 GET UPPER SECURITY BOUND
- RJM DAL DISPLAY UPPER SECURITY BOUND STRING
- DSE21 AOD T7 ADVANCE INDEX
- LMD T4+2 LAST EST ORDINAL + 1
- ZJN DSE24 IF END OF EST
- DSE22 SFA EST,T7
- ADK EQDE
- CRD CM READ EST ENTRY
- LDD CM+3
- ZJN DSE21 IF EMPTY ENTRY
- LCN YINC
- RAD YC DECREMENT Y-COORDINATE
- OAN CH+40
- SBM CBOS
- MJN DSE23 IF BOTTOM OF SCREEN
- LJM DSE3 LOOP
- DSE23 LDN MOREL OUTPUT *MORE* MESSAGE
- OAM MORE,CH
- LDD T7 SET NEXT INDEX
- STM TDSE+1,T5
- DSE24 LJM DSEX RETURN
- DSEA DATA H*ON *
- DATA H*IDLE*
- DATA H*OFF *
- DATA H*DOWN*
- DCD SPACE 4,15
- ** DCD - DISPLAY CHANNEL DATA.
- *
- * *DCD* DISPLAYS THE CHANNEL DATA AS +CNNP* + OR +CNNP- +.
- * C = CONCURRENT CHANNEL FLAG (BLANK IF NCH).
- * NN = CHANNEL NUMBER (LEADING ZERO SUPPRESSED IF NCH).
- * P = CONCURRENT CHANNEL PORT (A OR B; BLANK IF NCH).
- * * = DOWN CHANNEL FLAG (BLANK IF UP).
- * - = IDLE CHANNEL FLAG (BLANK IF UP).
- *
- * ENTRY (A) = CHANNEL BYTE FROM THE EST.
- * (CM) = BYTE 0 OF EST.
- DCD SUBR ENTRY/EXIT
- STD T1
- LPN 37
- STD T0
- LDD T1
- SHN 21-13
- PJN DCDX IF CHANNEL NOT ACCESSIBLE
- SHN 13-21
- LPN 40
- ZJN DCD1 IF NOT CONCURRENT CHANNEL
- LDC 1RC*1000
- DCD1 LMD T0
- SHN -3
- ZJN DCD2 IF NCH 0
- ADN 1R0
- DCD2 OAN CH+40
- LDD T1
- LPN 40
- ZJN DCD3 IF NOT CONCURRENT CHANNEL
- LDD T1 GET PORT FLAG
- SHN -7
- LPN 1
- ADN 1RA
- SHN 14
- DCD3 LMD T0
- SCN 70
- ADN 1R0
- SHN 6
- OAN CH+40
- LDD T1 CHECK CHANNEL STATE
- SHN -11
- LPN 3
- ZJN DCD5 IF UP CHANNEL
- SBN 3
- ZJN DCD4 IF DOWN CHANNEL
- LDN 1R-&1R* SET *IDLE* STATUS
- DCD4 LMN 1R*
- SHN 6
- DCD5 OAN CH+40
- UJP DCDX RETURN
- PEA SPACE 4,10
- ** PEA - PAGE *E,A* DISPLAY.
- *
- * ENTRY (LA) = LOAD ADDRESS.
- * (T2) = 0 IF PAGE FORWARD.
- * = 1 IF PAGE BACKWARD (RETURN TO PAGE ONE).
- *
- * USES T1.
- PEA BSS 0 ENTRY
- LDD LA GET LOAD ADDRESS
- LMC .FLFT
- ZJN PEA1 IF LEFT SCREEN
- LDN 2
- PEA1 STD T1 SET SCREEN INDEX (0=LEFT, 2=RIGHT)
- LDD T2
- SBN 1
- ZJN PEA2 IF RETURN TO PAGE ONE
- LDM TDSE+1,T1
- PEA2 STM TDSE,T1
- LJM. /KEYBOARD/KBIX RETURN
- SPACE 4,10
- DSPEND
- DISPLAY (DISPLAY E - MASS STORAGE CONFIGURATION.),PEC
- ENTRY DSEC,DSEC
- DSE SPACE 4,10
- *** *E,C* DISPLAY.
- *
- * EACH LINE DISPLAYS THE CONFIGURATION OF ONE MASS STORAGE EQ.
- *
- * EXAMPLE -
- *
- * 1 2 3 4 5 6
- * 1234567890123456789012345678901234567890123456789012345678901234
- * EST TYPE PN FM/PK DN CHANNELS EQ UNIT-NUMBERS
- *
- * 6 DF SYST08 1 C00B C01A* 0 0
- * 7 DQ SYST08 2 21 22 - 0 0
- * 10 DN SYSFAM1 1 C02B 2 5
- * 11 EC SYSFAM1 2 C03A* C04A 6 12
- * 14 DJ-8/8 SYSFAM2 2 22 - 21 0 40 41 42 43
- * 44 45 46 47
- * 30 ES 1 SYSFAM2 10 C03A* C04A 4 01
- * 31 ES 2 SYSFAM3 11 C03A* C04A 4 01
- * 117 DK-3 PACKV22* 40 21 22 - 0 3
- *
- DSEC SUBR ENTRY/EXIT
- DISPHD (E,C. DISK CONFIGURATION.)
- LDM CTOS SET INITIAL Y-COORDINATE
- OAN CH+40
- SBN YINC
- STD YC
- LDN ESTP READ EST POINTERS
- CRD T4
- LDD LA SET SCREEN
- LMC .FLFT
- ZJN DSE0 IF LEFT SCREEN
- LDN 2
- DSE0 STD T5
- LDN DSEAL DISPLAY TITLE
- OAM DSEA,CH
- * LDN 0 CLEAR NEXT EST ORDINAL
- STM TDSE+1,T5
- LDM TDSE,T5 SET EST ORDINAL
- STD T6
- LJM DSE11 ENTER EST SEARCH LOOP
- * DISPLAY EST ORDINAL.
- DSE1 LDD XC OUTPUT X-COORDINATE
- OAN CH+40
- LDD T6 DISPLAY EST ORDINAL
- RJM D4S
- LDN 0 SKIP TWO SPACES
- OAN CH+40
- * DISPLAY DEVICE TYPE.
- LDD CM+3 DISPLAY TYPE
- OAN CH+40
- LDD CM+4 GET MST ADDRESS/10
- SHN 3
- ADN PFGL READ PERMANENT FILE DESCRIPTION WORD
- CRD AB
- ADN DDLL-PFGL READ DEVICE DESCRIPTION
- CRD SR
- LDD SR GET ORIGINAL NUMBER OF UNITS
- SHN -3
- LPN 7
- STD T3
- LDD SR GET NUMBER OF UNITS-1 CURRENTLY IN USE
- LPN 7
- STD T4
- SHN 3
- STD T1
- ZJN DSE2 IF NOT *EQ-N*
- LDD T3
- SBD T4
- PJN DSE3 IF *EQ-N*
- DSE2 LDD AB+4
- LPN 77
- ZJN DSE4 IF *EQ*
- STD T1
- DSE3 LDD T1 DISPLAY *-N*
- SHN -3
- ADC 2R-1
- OAN CH+40
- LDD T1
- LPN 7
- ZJN DSE4 IF NOT *EQ-N/M*
- ADC 2R/1
- OAN CH+40
- * DISPLAY EQUIPMENT (CONTROLLER) NUMBER.
- DSE4 LDC CH45
- OAN CH+40
- LDD SR
- SHN -6
- LPN 7
- RJM D2Z
- * DISPLAY UNITS.
- LDN 3 SET UP LOOP FLAG
- STD T1
- LDD YC
- STD SR+1
- LDC CH50
- OAN CH+40
- LDN SR+4
- STD T2
- LDD SR
- SHN 21-12
- MJN DSE6 IF NULL EQUIPMENT
- LDD T3
- SBD T4
- MJN DSE5 IF UNITS IN USE IS LARGER
- LDD T3
- STD T4
- DSE5 SOD T1
- NJN DSE5.1 IF LINE NOT FULL
- LCN YINC MOVE TO NEXT LINE
- RAD YC
- OAN CH+40
- LDC CH50
- OAN CH+40
- DSE5.1 LDI T2 DISPLAY UNIT NUMBER
- LPN 77
- RJM D2Z
- SOD T4
- MJN DSE6 IF ALL UNITS ARE DISPLAYED
- LDI T2 DISPLAY ONE UNIT
- SHN -6
- LPN 77
- RJM D2Z
- SOD T2
- SOD T4
- PJN DSE5 IF MORE UNITS TO DISPLAY
- DSE6 LDD SR+1 RESET Y-COORDINATE
- OAN CH+40
- * DISPLAY PARTITION NUMBER IF ANY.
- LDD CM
- SHN 21-5
- PJN DSE7 IF NOT BUFFERED DEVICE
- LDC CH15
- OAN CH+40
- SFA EST,T6
- ADK EQAE
- CRD SR
- LDD SR+3
- SHN 21-13
- PJN DSE7 IF NOT A PARTITIONED DEVICE
- SHN 6
- LPN 17
- RJM D2Z
- * DISPLAY FAMILY NAME OR PACK NAME.
- DSE7 LDC CH19
- OAN CH+40
- LDN 3 DISPLAY FIRST SIX CHARACTERS
- OAM AB,CH
- LDD CM+4 READ PERMANENT FILE USER DESCRIPTION
- SHN 3
- ADN PUGL
- CRD SR
- LDD SR
- ZJN DSE9 IF USER NAME NOT PRESENT
- LDN 1R*
- DSE9 STD T0
- LDD AB+3 DISPLAY LAST CHARACTER+USER FLAG
- LPC 7700
- LMD T0
- OAN CH+40
- LDN 0 SKIP TWO SPACES
- OAN CH+40
- * DISPLAY DEVICE NUMBER.
- LDD AB+3
- LPN 77
- RJM D2Z
- * DISPLAY CHANNEL(S).
- LDC CH33
- OAN CH+40
- LDD CM+1 DISPLAY FIRST CHANNEL
- RJM DCD
- LDD CM+2 CHECK FOR SECOND CHANNEL
- ZJN DSE10 IF SECOND CHANNEL NOT PRESENT
- RJM DCD DISPLAY SECOND CHANNEL
- * SEARCH FOR NEXT ENTRY.
- DSE10 AOD T6 ADVANCE EST ORDINAL
- SBD T4+3
- PJN DSE13 IF END OF MASS STORAGE ENTRIES
- DSE11 SFA EST,T6 READ NEXT EST ENTRY
- ADK EQDE
- CRD CM
- LDD CM
- SHN 21-13
- PJN DSE10 IF NOT MASS STORAGE
- LCN YINC
- RAD YC DECREMENT Y-COORDINATE
- OAN CH+40
- SBM CBOS
- MJN DSE12 IF BOTTOM OF SCREEN
- LJM DSE1 PROCESS NEXT EST ENTRY
- DSE12 LDN MOREL OUTPUT *MORE* MESSAGE
- OAM MORE,CH
- LDD T6
- STM TDSE+1,T5
- DSE13 LJM DSECX RETURN
- * SCREEN TITLE.
- DSEA CON CH02
- DATA H*EST*
- CON CH09
- DATA H*TYPE PN*
- CON CH20
- DATA H*FM/PK*
- CON CH29
- DATA H*DN CHANNELS EQ UNIT-NUMBERS*
- DSEAL EQU *-DSEA
- DCD SPACE 4,15
- ** DCD - DISPLAY CHANNEL DATA.
- *
- * *DCD* DISPLAYS THE CHANNEL DATA AS +CNNP* + OR +CNNP- +.
- * C = CONCURRENT CHANNEL FLAG (BLANK IF NCH).
- * NN = CHANNEL NUMBER (LEADING ZERO SUPPRESSED IF NCH).
- * P = CONCURRENT CHANNEL PORT (A OR B; BLANK IF NCH).
- * * = DOWN CHANNEL FLAG (BLANK IF UP).
- * - = IDLE CHANNEL FLAG (BLANK IF UP).
- *
- * ENTRY (A) = CHANNEL BYTE FROM THE EST.
- * (CM) = BYTE 0 OF EST.
- DCD SUBR ENTRY/EXIT
- STD T1
- LPN 37
- STD T0
- LDD T1
- SHN 21-13
- PJN DCDX IF CHANNEL NOT ACCESSIBLE
- SHN 13-21
- LPN 40
- ZJN DCD1 IF NOT CONCURRENT CHANNEL
- LDC 1RC*1000
- DCD1 LMD T0
- SHN -3
- ZJN DCD2 IF NCH 0
- ADN 1R0
- DCD2 OAN CH+40
- LDD T1
- LPN 40
- ZJN DCD3 IF NOT CONCURRENT CHANNEL
- LDD T1 GET PORT FLAG
- SHN -7
- LPN 1
- ADN 1RA
- SHN 14
- DCD3 LMD T0
- SCN 70
- ADN 1R0
- SHN 6
- OAN CH+40
- LDD T1 CHECK CHANNEL STATE
- SHN -11
- LPN 3
- ZJN DCD5 IF UP CHANNEL
- SBN 3
- ZJN DCD4 IF DOWN CHANNEL
- LDN 1R-&1R* SET *IDLE* STATUS
- DCD4 LMN 1R*
- SHN 6
- DCD5 OAN CH+40
- UJP DCDX RETURN
- PEC SPACE 4,10
- ** PEC - PAGE *E,C* DISPLAY.
- *
- * ENTRY (LA) = LOAD ADDRESS.
- * (T2) = 0 IF PAGE FORWARD.
- * = 1 IF PAGE BACKWARD (RETURN TO PAGE ONE).
- *
- * USES T1.
- PEC BSS 0 ENTRY
- LDD LA GET LOAD ADDRESS
- LMC .FLFT
- ZJN PEC1 IF LEFT SCREEN
- LDN 2
- PEC1 STD T1 STORE SCREEN INDEX (0=LEFT, 2=RIGHT)
- LDD T2
- SBN 1
- ZJN PEC2 IF RETURN TO PAGE ONE
- LDM TDSE+1,T1
- PEC2 STM TDSE,T1
- LJM. /KEYBOARD/KBIX RETURN
- SPACE 4,10
- DSPEND
- DISPLAY (DISPLAY E - MASS STORAGE DEVICE ERRORS.),PEE
- ENTRY DSEE,DSEE
- DSE SPACE 4,15
- *** *E,E* DISPLAY.
- *
- * EACH LINE SHOWS ERROR CONDITIONS THAT EXIST ON A DEVICE.
- *
- * EXAMPLE -
- *
- * 1 2 3 4 5 6
- * 1234567890123456789012345678901234567890123456789012345678901234
- * EST TYPE STATE CONDITIONS
- *
- * 6 DQ-3 ON ERROR CODE = NR.
- * 15 DJ IDLE LOW SPACE.
- * SUSPECT.
- DSEE SUBR ENTRY/EXIT
- DISPHD (E,E. DISK ERRORS.)
- * SET BASE ADDRESS FOR *PUT*.
- LDK BIOL
- CRD CM
- LDD CM+1
- SHN 14
- LMD CM+2
- ADK PUTP
- CRD CM
- LDD CM+4
- STM DSED+1
- LDD CM+3
- LPN 77
- ADC ADCI
- STM DSED
- * DISPLAY HEADER.
- LDM CTOS SET INITIAL Y-COORDINATE
- OAN CH+40
- SBN YINC
- STD YC
- LDN ESTP READ EST POINTERS
- CRD T4
- LDD T4+3 SAVE LAST MS EST ORDINAL + 1
- LMC -0
- STM DSEC+1
- LDD LA SET SCREEN
- LMC .FLFT
- ZJN DSE1 IF LEFT SCREEN
- LDN 2
- DSE1 STD T5
- DISPLA CH02,,(EST TYPE STATE CONDITIONS)
- * LDN 0
- STM TDSE+1,T5 CLEAR NEXT EST ORDINAL
- LDM TDSE,T5 SET EST ORDINAL
- STD T6
- LCN YINC
- RAD YC
- OAN CH+40
- LDC 2R. SET SUFFIX FOR *D2Z* AND *D2S*
- STM D2ZA
- STM D2SA
- UJN DSE3 ENTER LOOP
- * CHECK NEXT EST ENTRY.
- DSE2 AOD T6 ADVANCE EST ORDINAL
- DSEC ADC -* - (LAST MS EST ORDINAL + 1)
- PJN DSE4 IF END OF EST
- DSE3 SFA EST,T6 READ NEXT EST ENTRY
- ADK EQDE
- CRD AB
- LDD AB
- SHN 21-13
- PJN DSE2 IF NOT MASS STORAGE
- LDD YC
- SBM CBOS
- SBN YINC
- PJN DSE5 IF NOT BOTTOM OF SCREEN
- LDN MOREL DISPLAY *MORE*
- OAM MORE,CH
- LDD T6
- STM TDSE+1,T5
- DSE4 LDC CH01 RESET DEFAULT X-COORDINATE
- STD XC
- OAN CH+40
- LDN 0 CLEAR SUFFIX FOR *D2Z* AND *D2S*
- STM D2ZA
- STM D2SA
- UJP DSEEX RETURN
- * GET INFORMATION ABOUT DEVICE.
- DSE5 LDD AB+4
- SHN 3
- ADN DALL
- CRD SR
- ADN STLL-DALL
- CRD SH
- ADN DDLL-STLL
- CRD CM
- LDD CM GET UNIT COUNT
- LPN 7
- STD T7
- LDD AB
- SHN 1
- LPN 6
- STD T5
- LDC CH26 OUTPUT X-COORDINATE
- STD XC
- OAN CH+40
- * DISPLAY ERROR CODE.
- LDD SH+1
- LPN 77
- ZJN DSE6 IF NO ERROR CODE TO DISPLAY
- STD AB+1
- SBN MXEC
- MJN DSE5.1 IF VALID ERROR STATUS
- LDN 0 INDICATE INVALID ERROR STATUS
- STD AB+1
- DSE5.1 LDC /EEMSG/ERCM * ERROR CODE = *
- RJM DEM DISPLAY ERROR MESSAGE
- LDM DSEA,AB+1
- OAN CH+40
- LDC 2R.
- OAN CH+40
- RJM ANL ADVANCE TO NEXT LINE
- * DISPLAY *RESTRICT ACTIVITY* AND *SUSPECT* FLAGS.
- DSE6 LDD SR
- SHN 21-6
- PJN DSE7 IF RESTRICT ACTIVITY NOT SET
- LDC /EEMSG/ACRM * ACTIVITY RESTRICTED.*
- RJM DEM DISPLAY ERROR MESSAGE
- RJM ANL ADVANCE TO NEXT LINE
- DSE7 LDD SR
- SHN 21-7
- PJN DSE8 IF SUSPECT NOT SET
- LDD T5
- SBN 2S1
- PJN DSE8 IF DEVICE OFF OR DOWN
- LDC /EEMSG/SUSM * SUSPECT.*
- RJM DEM DISPLAY ERROR MESSAGE
- RJM ANL ADVANCE TO NEXT LINE
- * DISPLAY *DAS* PARITY PROTECTION MESSAGES.
- DSE8 LDD AB+4
- SHN 3
- ADN BDLL
- CRD SR
- ADK DILL-BDLL
- CRD SR+1
- ADK ACGL-DILL
- CRD SH
- LDD SH+4
- SHN 21-2
- PJN DSE8.1 IF PARITY PROTECTION NOT LOST
- LDC /EEMSG/PPLM * PARITY PROTECTION LOST. UNIT = *
- RJM DEM DISPLAY ERROR MESSAGE
- LDD SH+1
- SHN -6
- RJM D2Z DISPLAY UNIT NUMBER
- RJM ANL ADVANCE TO NEXT LINE
- DSE8.1 LDD SR+1+2 GET PUT ORDINAL
- ZJN DSE8.3 IF NOT BUFFERED DEVICE
- SHN PUTLS
- DSED ADC ** (BASE ADDRESS OF *PUT*)
- ADN PILL
- CRD CM
- CRD CM READ SPECIAL REQUEST FLAGS FROM *PUT*
- LDD CM+3 CHECK FOR *RESTORE* SPECIAL REQUEST
- SHN 21-1
- MJN DSE8.2 IF RESTORE PENDING
- LDD SH+4 CHECK FOR *PARITY RESTORE INITIATION* FLAG
- SHN 21-3
- PJN DSE8.3 IF NO RESTORE PENDING
- DSE8.2 LDC /EEMSG/PRPM * PARITY RESTORE PENDING.*
- RJM DEM DISPLAY ERROR MESSAGE
- RJM ANL ADVANCE TO NEXT LINE
- UJN DSE8.4 SKIP RESTORE IN PROGRESS MESSAGE
- DSE8.3 LDD SH+4
- SHN 21-0
- PJN DSE8.4 IF PARITY RESTORE NOT IN PROGRESS
- LDC /EEMSG/PPRM * PARITY RESTORE IN PROGRESS. RC = *
- RJM DEM DISPLAY ERROR MESSAGE
- LDD SH+1
- LPN 77
- RJM D2Z DISPLAY REMAINING CYLINDERS / 100B
- RJM ANL ADVANCE TO NEXT LINE
- * DISPLAY *DAS* ERROR RECOVERY MESSAGE.
- DSE8.4 LDD SH+4
- SHN 21-1
- PJN DSE8.5 IF NO ERROR RECOVERY IN PROGRESS
- LDC /EEMSG/ERPM * ERROR RECOVERY IN PROGRESS.*
- RJM DEM DISPLAY ERROR MESSAGE
- RJM ANL ADVANCE TO NEXT LINE
- * DISPLAY 9853 / *DAS* CONTROLLER MESSAGES.
- DSE8.5 LDD SR
- SHN 21-3
- PJN DSE8.6 IF NO CONTROLLER OVERTEMP
- LDC /EEMSG/COTM * CONTROLLER OVERTEMP.*
- RJM DEM DISPLAY ERROR MESSAGE
- RJM ANL ADVANCE TO NEXT LINE
- * DISPLAY THRESHOLD MESSAGES.
- DSE8.6 LDD AB+4
- SHN 3
- ADK TDGL
- CRD CM
- ADN THLL-TDGL
- CRD SH
- ADN CTLL-THLL
- CRD SR
- LDN 0 CLEAR THE OPERATOR NOTIFIED FLAGS
- STD T1
- DSE9 LDM SR,T1
- LPC 3777
- STM SR,T1
- AOD T1
- LMN 5
- NJN DSE9 IF MORE BYTES
- LDD SH+2
- LPC 3777
- SBD CM+4
- MJN DSE10 IF LOW SPACE THRESHOLD NOT REACHED
- LDC /EEMSG/LWSM * LOW SPACE.*
- RJM DEM DISPLAY ERROR MESSAGE
- RJM ANL ADVANCE TO NEXT LINE
- DSE10 LDD SR
- SBD SH
- MJN DSE11 IF NOT VERIFICATION FAILURE THRESHOLD
- LDC /EEMSG/VFTM * VERIFICATION FAILURE THRESHOLD.*
- RJM DEM DISPLAY ERROR MESSAGE
- RJM ANL ADVANCE TO NEXT LINE
- DSE11 LDD SR+3
- SBD SH+3
- MJN DSE12 IF NOT RECOVERED ERROR THRESHOLD
- LDC /EEMSG/RETM * RECOVERED ERROR THRESHOLD.*
- RJM DEM DISPLAY ERROR MESSAGE
- RJM ANL ADVANCE TO NEXT LINE
- DSE12 LDD SR+4
- SBD SH+4
- MJN DSE13 IF NOT UNRECOVERED ERROR THRESHOLD
- LDC /EEMSG/UETM * UNRECOVERED ERROR THRESHOLD.*
- RJM DEM DISPLAY ERROR MESSAGE
- RJM ANL ADVANCE TO NEXT LINE
- DSE13 LJM DSE2 LOOP
- DSEA BSS 0 TABLE OF MST ERROR MNEMONICS
- CON 2R** (INVALID ERROR STATUS)
- ECHO 1,ERRCODE=("MSTERR")
- CON 2R_ERRCODE
- ANL SPACE 4,20
- ** ANL - ADVANCE TO NEXT LINE.
- *
- * SET COORDINATES FOR MESSAGE TEXT ON NEXT LINE. IF FIRST
- * LINE OF EQUIPMENT, DISPLAY EST ORDINAL, DEVICE TYPE AND
- * DEVICE STATUS BEFORE ADVANCING.
- *
- * ENTRY (T5) = STATE * 2.
- * (T6) = EST ORDINAL.
- * (T7) = NUMBER OF UNITS.
- * (AB+3) = EQUIPMENT MNEMONIC IF FIRST LINE.
- *
- * EXIT (XC) = COORDINATE FOR MESSAGE TEXT ON NEXT LINE.
- * (YC) = COORDINATE FOR NEXT LINE.
- *
- * USES XC, YC.
- *
- * CALLS D4S.
- ANL SUBR ENTRY/EXIT
- LDD AB+3
- ZJN ANL2 IF NOT FIRST LINE
- LDC CH01
- OAN CH+40
- LDD T6 DISPLAY EST ORDINAL
- RJM D4S
- LDN 0
- OAN CH+40
- LDD AB+3 DISPLAY EQUIPMENT TYPE
- OAN CH+40
- LDD T7 DISPLAY NUMBER OF UNITS
- ZJN ANL1 IF NOT MULTI UNIT DEVICE
- ADC 2R-1
- ANL1 OAN CH+40
- LDN 0
- STD AB+3
- OAN CH+40
- OAN CH+40
- LDM ANLA,T5 DISPLAY DEVICE STATE
- OAN CH+40
- LDM ANLA+1,T5
- OAN CH+40
- ANL2 LCN YINC
- RAD YC
- OAN CH+40
- LDC CH26
- STD XC
- OAN CH+40
- UJP ANLX RETURN
- ANLA DATA H*ON *
- DATA H*IDLE*
- DATA H*OFF *
- DATA H*DOWN*
- DEM SPACE 4,10
- ** DEM - DISPLAY ERROR MESSAGE.
- *
- * ENTRY (A) = CM OFFSET OF ERROR MESSAGE WITHIN TEXT OVERLAY.
- *
- * USES (CM - CM+4).
- *
- * CALLS DOL.
- DEM SUBR ENTRY/EXIT
- STD T0 SAVE MESSAGE OFFSET
- LDK RPLP GET MESSAGE TEXT OVERLAY ADDRESS
- CRD CM
- LDD CM SET MESSAGE ADDRESS
- SHN 14
- ADD CM+1
- ADD T0
- RJM DOL DISPLAY ONE LINE
- UJN DEMX RETURN
- PEE SPACE 4,10
- ** PEE - PAGE *E,E* DISPLAY.
- *
- * ENTRY (LA) = LOAD ADDRESS.
- * (T2) = 0 IF PAGE FORWARD.
- * = 1 IF PAGE BACKWARD (RETURN TO PAGE ONE).
- *
- * USES T1.
- PEE BSS 0 ENTRY
- LDD LA GET LOAD ADDRESS
- LMC .FLFT
- ZJN PEE1 IF LEFT SCREEN
- LDN 2
- PEE1 STD T1 STORE SCREEN INDEX (0=LEFT, 2=RIGHT)
- LDD T2
- SBN 1
- ZJN PEE2 IF RETURN TO PAGE ONE
- LDM TDSE+1,T1
- PEE2 STM TDSE,T1
- LJM. /KEYBOARD/KBIX RETURN
- SPACE 4,10
- DSPEND
- DISPLAY (DISPLAY E - FAMILY STATUS.),PEF
- ENTRY DSEF,DSEF
- DSE SPACE 4,10
- *** *E,F* DISPLAY.
- *
- * EACH LINE DISPLAYS THE STATUS OF ONE MASS STORAGE EQ.
- *
- * EXAMPLE -
- *
- * 1 2 3 4 5 6
- * 1234567890123456789012345678901234567890123456789012345678901234
- * EST TYPE PN FM/PK DN FAMC DAFC IAM DAM
- *
- * 123 EM 1 FAMILYA* 10 1 23 377 377
- * 234 EM 2 PACKB 0 0 377 377
- * 253 DL-2 FAMILYA* 10 1 23 377 377
- * 432 DI-1/2 PACKB 0 0 377 377
- DSEF SUBR ENTRY/EXIT
- DISPHD (E,F. FAMILY STATUS.)
- LDN ESTP READ EST POINTERS
- CRD T4
- LDD LA SET SCREEN
- LMC .FLFT
- ZJN DSE1 IF LEFT SCREEN
- LDN 2
- DSE1 STD T5
- LDM CTOS SET INITIAL Y-COORDINATE
- OAN CH+40
- SBN YINC
- STD YC
- LDN DSEAL DISPLAY TITLE
- OAM DSEA,CH
- * LDN 0 CLEAR NEXT EST ORDINAL
- STM TDSE+1,T5
- LDM TDSE,T5 SET EST ORDINAL
- STD T6
- UJN DSE4 ENTER TABLE SCAN
- * SCAN EST.
- DSE2 AOD T6 ADVANCE EST ORDINAL
- SBD T4+3
- DSE3 PJN DSEFX IF END OF EST
- DSE4 SFA EST,T6 READ NEXT EST ENTRY
- ADK EQDE
- CRD CM
- LDD CM
- SHN 21-13
- PJN DSE2 IF NOT MASS STORAGE
- LCN YINC UPDATE Y-COORDINATE
- RAD YC
- OAN CH+40
- SBM CBOS
- PJN DSE5 IF NOT BOTTOM OF SCREEN
- LDN MOREL DISPLAY *MORE*
- OAM MORE,CH
- LDD T6
- STM TDSE+1,T5
- UJN DSE3 RETURN
- * DISPLAY EST ORDINAL.
- DSE5 LDD XC OUTPUT X-COORDINATE
- OAN CH+40
- LDD T6 DISPLAY EST ORDINAL
- RJM D4S
- LDN 0 SKIP TWO SPACES
- OAN CH+40
- * DISPLAY DEVICE TYPE.
- LDD CM+3 DISPLAY TYPE
- OAN CH+40
- LDD CM+4 GET MST ADDRESS/10
- SHN 3
- ADN PFGL READ PERMANENT FILE DESCRIPTION WORD
- CRD AB
- ADN DDLL-PFGL READ DEVICE DESCRIPTION
- CRD SR
- LDD SR GET ORIGINAL NUMBER OF UNITS
- SHN -3
- LPN 7
- STD T3
- LDD SR GET NUMBER OF UNITS-1 CURRENTLY IN USE
- LPN 7
- STD T4
- SHN 3
- STD T1
- ZJN DSE6 IF NOT *EQ-N*
- LDD T3
- SBD T4
- PJN DSE7 IF *EQ-N*
- DSE6 LDD AB+4
- LPN 77
- ZJN DSE7.1 IF *EQ*
- STD T1
- DSE7 LDD T1 DISPLAY *-N*
- SHN -3
- ADC 2R-1
- OAN CH+40
- LDD T1
- LPN 7
- ZJN DSE7.1 IF NOT *EQ-N/M*
- ADC 2R/1
- OAN CH+40
- * DISPLAY PARTITION NUMBER IF ANY.
- DSE7.1 LDD CM
- SHN 21-5
- PJN DSE8 IF NOT BUFFERED DEVICE
- LDC CH15
- OAN CH+40
- SFA EST,T6 READ NEXT EST ENTRY
- ADK EQAE
- CRD SR
- LDD SR+3
- SHN 21-13
- PJN DSE8 IF NO PARTITION NUMBER
- SHN 6
- LPN 17
- RJM D2Z
- * DISPLAY FAMILY NAME OR PACKNAME.
- DSE8 LDC CH19
- OAN CH+40
- LDN 3 DISPLAY FIRST SIX CHARACTERS
- OAM AB,CH
- LDD CM+4 READ PERMANENT FILE USER DESCRIPTION
- SHN 3
- ADN PUGL
- CRD SR
- ADN DULL-PUGL READ DEVICE USAGE DESCRIPTION
- CRD T0
- ADN STLL-DULL
- CRD CM
- LDD SR
- ZJN DSE9 IF USER NUMBER NOT PRESENT
- LDN 1R*
- DSE9 STD T0
- LDD AB+3 DISPLAY LAST CHARACTER+USER FLAG
- SCN 77
- LMD T0
- OAN CH+40
- LDN 0 SKIP FOUR SPACES
- OAN CH+40
- OAN CH+40
- * DISPLAY DEVICE NUMBER.
- LDD AB+3
- LPN 77
- RJM D2Z
- * DISPLAY FAMILY AND DIRECT FILE COUNTS.
- LDD T0+4 DISPLAY FAMILY COUNT
- LPC 3777
- RJM D6S
- LDD CM+3 DISPLAY DIRECT ACCESS FILE COUNT
- RJM D6S
- * OUTPUT DEVICE MASKS.
- LDD SR+4 DISPLAY INDIRECT FILE MASK
- LPC 377
- RJM D6S
- LDD SR+3 DISPLAY DIRECT FILE MASK
- LPN 17
- SHN 14
- LMD SR+4
- SHN -10
- LPC 377
- RJM D4S
- LJM DSE2 PROCESS NEXT EST ENTRY
- * SCREEN TITLE.
- DSEA CON CH02
- DATA H*EST*
- CON CH09
- DATA H*TYPE PN*
- CON CH20
- DATA H*FM/PK*
- CON CH31
- DATA H*DN*
- CON CH37
- DATA H*FAMC*
- CON CH45
- DATA H*DAFC*
- CON CH54
- DATA H*IAM DAM*
- DSEAL EQU *-DSEA
- PEF SPACE 4,10
- ** PEF - PAGE *E,F* DISPLAY.
- *
- * ENTRY (LA) = LOAD ADDRESS.
- * (T2) = 0 IF PAGE FORWARD.
- * = 1 IF PAGE BACKWARD (RETURN TO PAGE ONE).
- *
- * USES T1.
- PEF BSS 0 ENTRY
- LDD LA GET LOAD ADDRESS
- LMC .FLFT
- ZJN PEF1 IF LEFT SCREEN
- LDN 2
- PEF1 STD T1 STORE SCREEN INDEX (0=LEFT, 2=RIGHT)
- LDD T2
- SBN 1
- ZJN PEF2 IF RETURN TO PAGE ONE
- LDM TDSE+1,T1
- PEF2 STM TDSE,T1
- LJM. /KEYBOARD/KBIX RETURN
- SPACE 4,10
- DSPEND
- DISPLAY (DISPLAY E - MASS STORAGE THRESHOLDS.),PEH
- ENTRY DSEH,DSEH
- DSE SPACE 4,15
- *** *E,H* DISPLAY.
- *
- * TWO LINES ARE DISPLAYED FOR EACH MASS STORAGE DEVICE. THE
- * FIRST LINE SHOWS THE VALUES OF THE THRESHOLDS FOR THE DEVICE
- * AND THE SECOND LINE SHOWS THE CURRENT VALUES THAT CORRESPOND
- * TO EACH THRESHOLD.
- *
- * EXAMPLE -
- * 1 2 3 4 5 6
- * 1234567890123456789012345678901234567890123456789012345678901234
- * EST TYPE SIZE VF RA LS RE UE
- *
- * 6 DQ-3 3050 100 1000 400 10 4
- * 0 2076 2076 14 1
- DSEH SUBR ENTRY/EXIT
- DISPHD (E,H. DISK THRESHOLDS.)
- LDM CTOS SET INITIAL Y-COORDINATE
- OAN CH+40
- STD YC
- LDN ESTP READ EST POINTERS
- CRD T4
- LDD LA SET SCREEN
- LMC .FLFT
- ZJN DSE1 IF LEFT SCREEN
- LDN 2
- DSE1 STD T5
- DISPLA CH01,,( EST TYPE SIZE)
- * LDN 0
- STM TDSE+1,T5 CLEAR NEXT EST ORDINAL
- STD T1
- LDM TDSE,T5 SET EST ORDINAL
- STD T6
- DSE2 LDN 0 SKIP SIX SPACES
- OAN CH+40
- OAN CH+40
- OAN CH+40
- LDM DSEA,T1 OUTPUT NEXT TITLE
- OAN CH+40
- AOD T1
- LMN DSEAL
- NJN DSE2 IF MORE TITLES TO DISPLAY
- UJN DSE5 ENTER LOOP
- * SCAN EST.
- DSE3 AOD T6 ADVANCE EST ORDINAL
- SBD T4+3
- DSE4 PJP DSEHX IF END OF MASS STORAGE EST
- DSE5 SFA EST,T6
- ADK EQDE
- CRD CM READ NEXT EST ENTRY
- LDD CM
- SHN 21-13
- PJN DSE3 IF NOT MASS STORAGE
- LDM CBOS
- ADN YINC*3
- SBD YC
- MJN DSE6 IF AT LEAST 3 LINES UNTIL BOTTOM OF SCREEN
- LDN MOREL+1 DISPLAY *MORE*
- OAM CBOS,CH
- ERRNZ CBOS+1-MORE CODE ASSUMES *CBOS* IS BEFORE *MORE*
- LDD T6
- STM TDSE+1,T5
- UJN DSE4 RETURN
- * DISPLAY EST ORDINAL.
- DSE6 LCN YINC*2 ADVANCE 2 LINES
- RAD YC
- OAN CH+40
- LDD XC OUTPUT X-COORDINATE
- OAN CH+40
- LDD T6 DISPLAY EST ORDINAL
- RJM D4S
- LDN 0
- OAN CH+40
- STD T9
- * DISPLAY DEVICE TYPE AND GET VALUES TO DISPLAY.
- LDD CM+3 DISPLAY TYPE
- OAN CH+40
- LDD CM+4 READ NUMBER OF UNITS AND VALUES FROM MST
- SHN 3
- ADK TDGL
- CRD CM
- ADN DDLL-TDGL
- CRD AB
- ADN THLL-DDLL
- CRD SH
- ADN CTLL-THLL
- CRD SR
- LDD CM+4 SET CURRENT TRACK COUNT VALUES
- STD SR+1
- STD SR+2
- LDD AB
- LPN 7
- ZJN DSE7 IF NOT MULTI UNIT DEVICE
- ADC 2R-1
- DSE7 OAN CH+40
- LDN 0
- OAN CH+40
- OAN CH+40
- STD T1 CLEAR OPERATOR NOTIFIED FLAGS
- DSE8 LDM SR,T1
- LPC 3777
- STM SR,T1
- LDM SH,T1
- LPC 3777
- STM SH,T1
- AOD T1
- LMN 5
- NJN DSE8 IF MORE BYTES
- LDD CM
- RJM D4S DISPLAY TOTAL NUMBER OF TRACKS ON DEVICE
- * DISPLAY THRESHOLDS.
- DSE9 LDN 0 SKIP TWO SPACES
- OAN CH+40
- LDM SH,T9 DISPLAY NEXT THRESHOLD
- RJM D4S
- AOD T9
- LMN 5
- NJN DSE9 IF MORE THRESHOLDS TO DISPLAY
- * DISPLAY VALUES CORRESPONDING TO THE THRESHOLDS.
- STD T9
- LCN YINC ADVANCE TO NEXT LINE
- RAD YC
- OAN CH+40
- DSE10 LDM SH,T9 CHECK NEXT VALUE
- SBM SR,T9
- SBN 1
- ADM DSEB,T9
- SHN 0-21
- LMM DSEB,T9
- ZJN DSE11 IF THRESHOLD NOT REACHED
- CFNC BIVF
- SHN 1-21
- LPN 2
- DSE11 STD T2
- DSE12 LDD T9 COMPUTE THE COORDINATE
- SHN 3+3
- ADK CH25
- OAN CH+40
- LDM SR,T9 DISPLAY VALUE
- RJM D4S
- SOD T2
- PJN DSE12 IF MORE INTENSIFICATION
- CFNC EIVF
- AOD T9
- LMN 5
- NJP DSE10 IF MORE VALUES TO DISPLAY
- LJM DSE3 ADVANCE TO NEXT EST ENTRY
- DSEA CON 2RVF VERIFICATION FAILURES
- CON 2RRA RESTRICT ACTIVITY
- CON 2RLS LOW SPACE
- CON 2RRE RECOVERED ERRORS
- CON 2RUE UNRECOVERED ERRORS
- DSEAL EQU *-DSEA
- DSEB CON 0
- CON 1
- CON 1
- CON 0
- CON 0
- PEH SPACE 4,10
- ** PEH - PAGE *E,H* DISPLAY.
- *
- * ENTRY (LA) = LOAD ADDRESS.
- * (T2) = 0 IF PAGE FORWARD.
- * = 1 IF PAGE BACKWARD (RETURN TO PAGE ONE).
- *
- * USES T1.
- PEH BSS 0 ENTRY
- LDD LA GET LOAD ADDRESS
- LMC .FLFT
- ZJN PEH1 IF LEFT SCREEN
- LDN 2
- PEH1 STD T1 STORE SCREEN INDEX (0=LEFT, 2=RIGHT)
- LDD T2
- SBN 1
- ZJN PEH2 IF RETURN TO PAGE ONE
- LDM TDSE+1,T1
- PEH2 STM TDSE,T1
- LJM. /KEYBOARD/KBIX RETURN
- SPACE 4,10
- ** COMMON DECKS.
- *CALL COMPC2D
- SPACE 4,10
- DSPEND
- DISPLAY (DISPLAY E - MASS STORAGE STATUS.),PEM,CMR
- ENTRY DSEM,DSEM
- DSE SPACE 4,10
- *** *E,M* DISPLAY.
- *
- * EACH LINE DISPLAYS THE STATUS OF ONE MASS STORAGE DEVICE.
- *
- * EXAMPLE -
- *
- * 1 2 3 4 5 6
- * 1234567890123456789012345678901234567890123456789012345678901234
- * EST TYPE STATE STATUS FILES TRACKS RP ERROR
- *
- * 5 DE ON ------IA-------- --------- 601 10
- * 6 DQ-2 IDLE S--------F------ --------T 3027 FF
- * 10 DJ OFF --RU------------ --------- 3150 LE
- * 15 DI-8 DOWN SMRULCIAXFDO*NPG SBLPDROIT 3140
- *
- * PROGRAMMING NOTE.
- *
- * WHEN ADDING OR REMOVING A LETTER FROM THE STATUS OR FILE
- * FIELDS, BE SURE TO UPDATE THE X-COORDINATES IN THE HEADER
- * MESSAGE AND IN THE ERROR INTENSIFICATION CODE.
- ERRNZ SR+5-SH DEFINITIONS ASSUME *SH* FOLLOWS *SR+4*
- * FIRST SET OF READS.
- .ACGL EQU AB BYTES 0 AND 4
- .STLL EQU SR BYTES 0 AND 1
- .MDGL EQU SR+2 BYTE 0
- .DDLL EQU SR+3 BYTE 0
- .SDGL EQU SR+5 BYTES 0 AND 4
- * SECOND SET OF READS.
- .TDGL EQU AB BYTES 1 AND 4
- .STLL EQU SR BYTES 0 AND 1
- .DALL EQU SR+2 BYTE 0
- .DILL EQU SR+3 BYTE 0
- DSEM SUBR ENTRY/EXIT
- DISPHD (E,M. DISK STATUS.)
- LDN ESTP READ EST POINTERS
- CRD T4
- LDD LA SET SCREEN
- LMC .FLFT
- ZJN DSE0 IF LEFT SCREEN
- LDN 2
- DSE0 STD T5
- LDM CTOS SET INITIAL Y-COORDINATE
- OAN CH+40
- SBN YINC
- STD YC
- LDN DSEAL DISPLAY TITLE LINE
- OAM DSEA,CH
- * LDN 0 CLEAR NEXT EST ORDINAL
- STM TDSE+1,T5
- LDM TDSE,T5 SET EST ORDINAL
- STD T6
- LJM DSE8 ENTER EST SEARCH LOOP
- * PROCESS NEXT EST ENTRY.
- DSE1 LDD CM+4 READ MST DATA
- SHN 3
- ADK ACGL READ DEVICE ACTIVITY
- CRD .ACGL
- ADK STLL-ACGL READ DEVICE STATUS
- CRD .STLL
- ADK MDGL-STLL READ DEVICE DESCRIPTION WORD
- CRD .MDGL
- ADK DDLL-MDGL READ NUMBER OF UNITS
- CRD .DDLL
- ADK SDGL-DDLL READ SHARED DEVICE TYPE
- CRD .SDGL
- LDD XC OUTPUT X-COORDINATE
- OAN CH+40
- LDD T6 DISPLAY EST ORDINAL
- RJM D4S
- * DISPLAY DEVICE TYPE.
- LDD CM+3
- OAN CH+40
- LDD .DDLL
- LPN 7
- ZJN DSE2 IF NOT MULTI UNIT DEVICE
- ADC 2R-1
- DSE2 OAN CH+40
- LDN 0 SKIP TWO SPACES
- OAN CH+40
- * DISPLAY DEVICE STATE.
- LDD CM GET STATE
- SHN 1
- LPN 6
- STD T1
- LDM DSEG,T1
- OAN CH+40
- LDM DSEG+1,T1
- OAN CH+40
- LDN 0 SKIP TWO SPACES
- OAN CH+40
- * COLLECT STATUS BITS.
- LDD CM
- LPC 3400 SET S,M,R
- SHN 1
- STD CN SMR.........
- LDD CM SET U
- LPC 100
- SHN 10-6
- RAD CN SMRU........
- LDD .SDGL CHECK FOR ISHARED
- SHN 21-13
- LMD .STLL SET L,C
- PJN DSE4 IF NOT ISHARED
- LPN 10 SAVE L
- STD T0
- LDN 15 CHANGE *LC* TO *LT*
- IFNE 2RLT&2R--,2RLC&2R--+15,1
- ERR 15 WILL NOT CHANGE *LC* INTO *LT*
- RAM DSEH
- LDD .SDGL+4 CHECK FOR INTERLOCK
- LPN 76
- ZJN DSE3 IF NOT INTERLOCKED
- LDN 4 SET T
- DSE3 ADD T0
- DSE4 LPN 14
- SHN 7-3
- RAD CN SMRULC......
- LDD .STLL SET I
- LPN MLIRP
- ZJN DSE5 IF NO INITIALIZE OR FORMAT STATUS SET
- LDN 40 SMRULCI.....
- RAD CN
- DSE5 LDD .STLL SET A
- LPN 1
- SHN 4-0
- RAD CN SMRULCIA....
- LDD .MDGL SET X
- SHN 3-12
- LPN 10
- RAD CN SMRULCIAX...
- LDD .ACGL SET F,D,O
- SHN -11
- RAD CN SMRULCIAXOFD
- LDC. DSEB
- RJM DBS
- LDC 2RLC&2R-- RESTORE CHECKPOINT CODE
- STM DSEH
- LDD .ACGL+4 SET *
- LPC 4000
- STD CN *...
- LDD .ACGL+4 SET N
- LPN 40
- SHN 12-5
- RAD CN *N..
- LDD CM
- LPN 4
- SHN 10-2 SET G
- RAD CN
- LDD CM+4 READ TRT DEFINITION
- SHN 3
- ADK TDGL READ DEVICE PERMANENT FILE INTERLOCK
- CRD .TDGL
- ADK DALL-TDGL READ NUMBER OF REQUESTS PENDING
- CRD .DALL
- ADK DILL-DALL READ ALLOWABLE FILE TYPES
- CRD .DILL
- LDD .TDGL+1 SET P
- LPC 100
- SHN 11-6
- RAD CN *NPG
- LDC. DSEC
- RJM DBS
- * LDN 0 SKIP TWO SPACES
- OAN CH+40
- * GET FILE TYPE BITS.
- LDD .DILL
- LPC 777
- SHN 3
- ADN 4 SET UNUSED BIT
- STD CN
- LDC. DSED
- RJM DBS
- * LDN 0 SKIP TWO SPACES
- OAN CH+40
- * DISPLAY AVAILABLE TRACKS.
- LDD .TDGL+4 DISPLAY TRACKS AVAILABLE COUNT
- RJM D4S
- * DISPLAY REQUESTS PENDING.
- LDC CH54
- OAN CH+40
- LDD .DALL DISPLAY PENDING REQUESTS
- LPN 77
- ZJN DSE6 IF NO PENDING REQUESTS
- RJM D4S
- * DISPLAY ERROR STATUS.
- DSE6 LDD .STLL+1 GET ERROR STATUS
- LPN 77
- ZJN DSE7 IF NO ERROR STATUS
- STD T1
- SBN MXEC
- MJN DSE6.1 IF VALID ERROR STATUS
- LDN 0 INDICATE INVALID ERROR STATUS
- STD T1
- DSE6.1 LDM DSEE,T1 SET ERROR STATUS MNENONIC
- STM DSEF+1
- LDC. 2S12+DSEF DISPLAY ERROR STATUS
- RJP HIL
- * ADVANCE TO NEXT EST ENTRY.
- DSE7 AOD T6 ADVANCE EST ORDINAL
- SBD T4+3
- PJN DSE10 IF END OF MASS STORAGE ENTRIES
- DSE8 SFA EST,T6 READ NEXT EST ENTRY
- ADK EQDE
- CRD CM
- LDD CM
- SHN 21-13
- PJN DSE7 IF NOT MASS STORAGE
- LCN YINC
- RAD YC DECREMENT Y-COORDINATE
- OAN CH+40
- SBM CBOS
- MJN DSE9 IF BOTTOM OF SCREEN
- LJM DSE1 LOOP FOR NEXT EST ENTRY
- DSE9 LDN MOREL
- OAM MORE,CH
- LDD T6
- STM TDSE+1,T5
- DSE10 LJM DSEMX RETURN
- * COLUMN HEADERS.
- DSEA CON CH02
- DATA H*EST TYPE STATE*
- CON CH24
- DATA H*STATUS*
- CON CH39
- DATA H*FILES*
- CON CH48
- DATA H*TRACKS*
- CON CH56
- DATA H*RP*
- CON CH60
- DATA H*ERROR*
- DSEAL EQU *-DSEA
- DSEB CON 2RSM&2R--
- CON 2RRU&2R--
- DSEH CON 2RLC&2R--
- CON 2RIA&2R--
- CON 2RXF&2R--
- CON 2RDO&2R--
- CON 0
- DSEC CON 2R*N&2R--
- CON 2RPG&2R--
- CON 0
- DSED CON 2RSB&2R--
- CON 2RLP&2R--
- CON 2RDR&2R--
- CON 2ROI&2R--
- CON 2RT &2R--
- CON 0
- DSEE BSS 0 TABLE OF MST ERROR MNEMONICS
- CON 2R** (INVALID ERROR STATUS)
- ECHO 1,ERRCODE=("MSTERR")
- CON 2R_ERRCODE
- DSEF CON CH62,0 ERROR CODE
- DSEG DATA H*ON *
- DATA H*IDLE*
- DATA H*OFF *
- DATA H*DOWN*
- SPACE 4
- ** COMMON DECKS.
- LIST X
- *CALL COMDDBS
- LIST *
- PEM SPACE 4,10
- ** PEM - PAGE *E,M* DISPLAY.
- *
- * (LA) = LOAD ADDRESS.
- * (T2) = 0 IF PAGE FORWARD.
- * = 1 IF PAGE BACKWARD (RETURN TO PAGE ONE).
- *
- * USES T1.
- PEM BSS 0 ENTRY
- LDD LA GET LOAD ADDRESS
- LMC .FLFT
- ZJN PEM1 IF LEFT SCREEN
- LDN 2
- PEM1 STD T1 STORE SCREEN INDEX (0=LEFT, 2=RIGHT)
- LDD T2
- SBN 1
- ZJN PEM2 IF RETURN TO PAGE ONE
- LDM TDSE+1,T1
- PEM2 STM TDSE,T1
- LJM. /KEYBOARD/KBIX RETURN
- SPACE 4,10
- DSPEND
- DISPLAY (DISPLAY E - OPTICAL DISK REQUEST PREVIEW.),PEO
- ENTRY DSEO,DSEO
- DSE SPACE 4,20
- *** *E,O* DISPLAY.
- *
- * PREVIEW OPTICAL DISK REQUESTS.
- * EACH LINE DISPLAYS ONE OPTICAL DISK REQUEST.
- *
- * EXAMPLE -
- *
- * 1 2 3 4 5 6
- * 1234567890123456789012345678901234567890123456789012345678901234
- * JSN EQ VSN USERNAM WT STATUS JBM=AAAQ
- *
- * AABK OD LABEL12 DON YES
- * AAQI OD VV0002 3KSNN64
- * AAAQ JB AA0077 SYSTEMX (STAGE)
- DSEO SUBR ENTRY/EXIT
- DISPHD (E,O. OPTICAL DISK REQUESTS.)
- DSED RJM IFP INITIALIZE *SFA* MACRO
- * UJN DSE1 (AFTER FIRST ENTRY)
- ISTORE DSED,(UJN DSE1)
- DSE1 LDD LA SET SCREEN
- LMC .FLFT
- ZJN DSE2 IF LEFT SCREEN
- LDN 2
- DSE2 STD T4 (T4) = 0 IF LEFT, 2 IF RIGHT
- LDM CTOS SET INITIAL Y-COORDINATE
- OAN CH+40
- SBN YINC
- STD YC
- LDN DSEAL DISPLAY TITLE LINE
- OAM DSEA,CH
- * LDN 0 DISPLAY JSN OF JUKEBOX MANAGER
- SFA ORT
- ADN ORTJ
- CRD CM
- LDN 2
- OAM CM+3,CH
- * LDN 0 CLEAR NEXT ORT ORDINAL
- STM TDSE+1,T4
- LDM TDSE,T4 SET CURRENT ORT ORDINAL
- STD T6
- LDC ORTP GET NUMBER OF ENTRIES
- CRD SR
- LDD SR+2 CALCULATE NUMBER OF ENTRIES IN USE
- SBD SR+3
- STD T3
- NJN DSE5 IF ENTRIES IN USE
- DSE3 UJP DSEOX RETURN
- DSE4 SOD T3
- ZJP DSE3 IF NO MORE ENTRIES IN USE
- DSE5 AOD T6 ADVANCE INDEX
- LMD SR+2
- ZJP DSE3 IF END OF ORT
- SFA ORT,T6 GET NEXT ORT ENTRY
- ADK ORTV
- CRD CM GET CHARACTERS 1-10 OF VSN
- ADN ORTU-ORTV
- CRD AB GET JUKEBOX FLAG
- LDD CM
- ZJN DSE5 IF ENTRY NOT USED
- LCN YINC
- RAD YC DECREMENT Y-COORDINATE
- OAN CH+40
- SBM CBOS
- PJN DSE6 IF NOT BOTTOM OF SCREEN
- LDN MOREL
- OAM MORE,CH
- LDD T6 SET NEXT ORDINAL
- STM TDSE+1,T4
- UJP DSE3 RETURN
- DSE6 LDD AB+4 GET JUKEBOX FLAG
- LPN 4
- SHN -2
- STD T1
- ZJN DSE7 IF DISK NOT IN JUKEBOX
- LDM TGTF,T4 GET TOGGLE FLAG FOR DISPLAY
- NJP DSE4 IF DISPLAY OF JUKEBOX REQUESTS DISABLED
- DSE7 LDD XC OUTPUT X-COORDINATE
- OAN CH+40
- SFA ORT,T6 READ JSN AND CHARACTERS 11-12 OF VSN
- ADN ORTJ
- CRD AB
- LDN 2 DISPLAY JSN
- OAM AB+3,CH
- OAN CH DISPLAY 2 SPACES
- LDM DSEC,T1 DISPLAY EQUIPMENT TYPE
- OAN CH
- LDN 0
- OAN CH DISPLAY 2 SPACES
- LDN 5 DISPLAY VSN (CHARACTERS 1-10)
- OAM CM,CH
- LDD AB DISPLAY VSN (CHARACTERS 11-12)
- OAN CH
- SFA ORT,T6 GET USER NAME
- ADN ORTU
- CRD CM
- LDN 0
- OAN CH DISPLAY 2 SPACES
- LDN 3 DISPLAY USER NAME
- OAM CM,CH
- LDD CM+3
- SCN 77
- OAN CH
- LDD CM+4 GET WRITE STATUS
- LPN 1
- ZJN DSE8 IF WRITE NOT REQUIRED
- LDC 2RYE DISPLAY *YES*
- OAN CH
- LDC 2RS
- OAN CH
- DSE8 LDC CH44
- OAN CH
- LDD CM+4 GET PF STAGING STATUS
- LPN 2
- ZJN DSE9 IF NOT STAGING JOB
- LDN DSEBL DISPLAY *(STAGE)*
- OAM DSEB,CH
- DSE9 LJM DSE4 PROCESS NEXT ENTRY
- * DISPLAY CONSTANTS.
- DSEA CON CH01
- DATA H*JSN EQ VSN*
- CON CH25
- DATA H*USERNAM WT*
- CON CH44
- DATA H*STATUS*
- CON CH54
- DATA H*JBM=*
- DSEAL EQU *-DSEA
- DSEB DATA H*(STAGE)*
- DSEBL EQU *-DSEB
- DSEC DATA 2ROD REQUEST EQUIPMENT TYPES
- DATA 2RJB
- PEO SPACE 4,10
- ** PEO - PAGE *E,O* DISPLAY.
- *
- * (LA) = LOAD ADDRESS.
- * (T2) = 0 IF PAGE FORWARD.
- * = 1 IF PAGE BACKWARD (RETURN TO PAGE ONE).
- *
- * USES T1.
- PEO BSS 0 ENTRY
- LDD LA GET LOAD ADDRESS
- LMC .FLFT
- ZJN PEO1 IF LEFT SCREEN
- LDN 2
- PEO1 STD T1 STORE SCREEN INDEX (0=LEFT, 2=RIGHT)
- LDD T2
- SBN 1
- ZJN PEO2 IF RETURN TO PAGE ONE
- LDM TDSE+1,T1
- PEO2 STM TDSE,T1
- LJM. /KEYBOARD/KBIX RETURN
- SPACE 4,10
- * COMMON DECKS.
- ORT$ EQU 1 ORT SEARCH
- IFP$ EQU 1 *COMPGFP* REMOTE ASSEMBLY
- *CALL COMPGFP
- IFP HERE
- SPACE 4,10
- DSPEND
- DISPLAY (DISPLAY E - RESOURCE MOUNTING PREVIEW.)
- ENTRY DSEP,DSEP
- DSE SPACE 4,30
- *** *E,P* DISPLAY.
- *
- * PREVIEW RESOURCE (TAPES AND PACKS) MOUNTING.
- *
- * EXAMPLE -
- *
- * 1 2 3 4 5 6
- * 1234567890123456789012345678901234567890123456789012345678901234
- * JSN UNIT RS VSN/PN MD LEVEL USER FAMILY ERR
- *
- * AWRE NT060 GE AA0012 W USERAAA FAM AC
- * AQQQ CT100 CT DB1140 R GSY2447 KTJ VS
- * AJQR PE SCRATCH W SYSTEMX DEFTFAM
- * AAAD DL1 PACKC - GSY2447 DNB OF
- * ABCD CT C00800 - GSY2447 KTJ
- * ABDR GE ARX007 - GSY2447 NVE DC
- *
- *
- * 1 2 3 4 5 6
- * 1234567890123456789012345678901234567890123456789012345678901234
- * JSN UNIT RS IVSN/PN FLG
- *
- * AWRE NT060 GE BB0012 T- ACCESS NOT PERMITTED
- * AQQQ CT100 CT R45678 TL WRONG VSN
- * AJQR PE SCRATCH T-
- * AAAD DL1 PACKC -- REQUIRED EQUIPMENT OFF/DOWN
- * ABCD CT C00800 --
- * ABDR GE ARX007 T- NT062 DRIVE TYPE CONFLICT
- DSEP SUBR ENTRY/EXIT
- DISPHD (E,P. RESOURCE REQUESTS.)
- LDM CTOS SET INITIAL Y-COORDINATE
- OAN CH+40
- SBN YINC
- STD YC
- RJM CMT CHECK MAGNET
- NJN DSE1 IF MAGNET ACTIVE
- DISPLA CH01,,(NOT ACTIVE)
- UJN DSEPX RETURN
- * DISPLAY HEADER.
- DSE1 LDD LA
- LMC .FLFT
- ZJN DSE2 IF LEFT SCREEN
- LDN 1
- DSE2 STD T9 SET *TGTF* INDEX FOR SCREEN
- LDD T1 CLEAR *MAGNET* MESSAGE LINE
- SHN 7
- ADN MS2W
- CRD AB SAVE MESSAGE
- CWD T3
- LDD AB
- ZJN DSE3 IF NO MESSAGE
- RJM SBO INDICATE OPERATOR ACTION REQUIRED
- DSE3 LDN DSEAL DISPLAY COMMON TITLE TEXT
- OAM DSEA,CH
- LDM TGTF,T9
- STD T9 SET ALTERNATE DISPLAY STATUS
- NJP DSE4 IF ALTERNATE DISPLAY
- LDN DSEBL DISPLAY MAIN TITLE TEXT
- OAM DSEB,CH
- UJN DSE5 DISPLAY UDT REQUESTS
- DSE4 LDN DSECL DISPLAY ALTERNATE TITLE TEXT
- OAM DSEC,CH
- * DISPLAY UDT REQUESTS.
- DSE5 LDN 0 INITIALIZE UDT OFFSET
- STD T8
- DSE6 LDD T7 SET UDT ADDRESS
- SHN 6
- ADD T6
- ADD T8
- ADK /MTX/UST1 GET EST ORDINAL
- CRD CM
- ADK /MTX/UVRI-/MTX/UST1 GET EJT ORDINAL AND FLAGS
- CRD T1
- ADK /MTX/UESN-/MTX/UVRI GET EXTERNAL VSN AND FLAGS
- CRD SH
- CRM EVSN,ON
- ADK /MTX/UISN-/MTX/UESN-1 GET INTERNAL VSN AND FLAGS
- CRD SR
- CRM IVSN,ON
- ADK /MTX/UUFN-/MTX/UISN-1 GET USER NAME AND FAMILY
- CRD AB
- LDD T1+4
- SHN 21-0
- PJN DSE7 IF NO DISPLAY REQUEST
- LDD T1 SET EJT ORDINAL
- STD AB+4
- LDN 0 CLEAR UNUSED VSN FIELDS
- STM EVSN+3
- STM EVSN+4
- STD SH
- STM IVSN+3
- STM IVSN+4
- STD SR
- RJM DPI DISPLAY PREVIEW INFORMATION
- DSE7 LDK /MTX/UNITL ADVANCE UDT OFFSET
- RAD T8
- LMM LUDT
- NJP DSE6 IF NOT END OF UNITS
- * DISPLAY PREVIEW BUFFER.
- STD T8 INITIALIZE BUFFER OFFSET
- LDK LDSP GET PREVIEW DISPLAY BUFFER POINTER
- CRD T4
- DSE8 LDD T6 SET ENTRY ADDRESS
- SHN 14
- ADD T7
- ADK LLDS+1
- ADD T8
- ADK /RSX/PVSN GET VSN OR PACK NAME
- CRM EVSN,ON
- ADK /RSX/PRES-/RSX/PVSN-1 GET RESOURCE TYPE AND FLAGS
- CRD SH
- ADK /RSX/PVSI-/RSX/PRES GET INTERNAL VSN
- CRM IVSN,ON
- ADK /RSX/PFLG-/RSX/PVSI-1 GET FLAGS
- CRD SR
- ADK /RSX/PJID-/RSX/PFLG GET JOB AND USER IDENTIFICATION
- CRD AB
- LDM EVSN
- ZJN DSE9 IF END OF ENTRIES
- LDN 0 INDICATE NO EST ORDINAL
- STD CM+2
- RJM DPI DISPLAY PREVIEW INFORMATION
- LDN /RSX/PVEL ADVANCE ENTRY OFFSET
- RAD T8
- LMK LPDS-1
- NJN DSE8 IF NOT END OF ENTRIES
- DSE9 LJM DSEPX EXIT
- DSEA CON CH01
- DATA H*JSN UNIT RS *
- DSEAL EQU *-DSEA
- DSEB CON CH16
- DATA H*VSN/PN MD LEVEL USER FAMILY ERR*
- DSEBL EQU *-DSEB
- DSEC CON CH16
- DATA H*IVSN/PN FLG*
- DSECL EQU *-DSEC
- DEO SPACE 4,15
- ** DEO - DISPLAY EST ORDINAL WITH EQUIPMENT MNEMONIC.
- *
- * ENTRY (A) = EST ORDINAL.
- *
- * EXIT EST EQUIPMENT MNEMONIC AND EST ORDINAL DISPLAYED.
- *
- * USES T1 - T5.
- *
- * CALLS D2D.
- *
- * MACROS SFA.
- DEO SUBR ENTRY/EXIT
- STD T0 SAVE EST ORDINAL
- SFA EST GET EQUIPMENT MNEMONIC
- ADK EQDE
- CRD T1
- LDD T1+3 DISPLAY EQUIPMENT MNEMONIC
- OAN CH+40
- LDD T0 SAVE EST ORDINAL
- STD T1
- SHN -3
- RJM D2D
- LDD T1
- LPN 7
- ADN 1R0
- SHN 6
- OAN CH+40
- UJN DEOX RETURN
- DPI SPACE 4,20
- ** DPI - DISPLAY PREVIEW INFORMATION.
- *
- * ENTRY (T9) .NE. 0 IF ALTERNATE DISPLAY.
- * (CM+2) = EST ORDINAL IF UDT REQUEST.
- * (CM+2) = 0 IF PREVIEW BUFFER REQUEST.
- * (EVSN - EVSN+4) = *PVSN*.
- * (SH - SH+4) = *PRES*.
- * (IVSN - IVSN+4) = *PVSI*.
- * (SR - SR+4) = *PFLG*.
- * (AB - AB+4) = *PJID*.
- *
- * EXIT TO CALLER IF LINE DISPLAYED.
- * TO *DSEPX* IF DISPLAY FULL.
- *
- * USES T1 - T5, YC, SH - SH+4.
- *
- * CALLS DAL, DEO.
- DPI SUBR ENTRY/EXIT
- * CHECK SPACE REMAINING ON DISPLAY AND GET MESSAGE TEXT.
- LCN YINC
- RAD YC
- SBM CBOS
- MJP DSEPX IF NO MORE ROOM ON DISPLAY
- LDK RPLP GET RPL POINTER
- CRD T1
- LDD SR+3 SET MESSAGE OFFSET
- LPN 77
- STD T3
- SHN 1
- RAD T3
- LDD T1 SET MESSAGE ADDRESS
- SHN 14
- ADD T2
- ADD T3
- ADK /DSD".AMSGOVL"/PDMS
- CRM MSGB,TR READ MESSAGE AND MNEMONIC
- * DISPLAY JSN, ASSIGNED UNIT NUMBER, AND RESOURCE TYPE.
- LDN 2 OUTPUT COORDINATES
- OAM XC,CH
- SFA EJT,AB+4 GET JSN
- ADK JSNE
- CRD T1
- LDN 2 DISPLAY JSN
- OAM T1,CH
- LDC CH06 POSITION TO EST ORDINAL
- OAN CH+40
- LDD CM+2
- ZJN DPI1 IF NOT UDT REQUEST
- RJM DEO DISPLAY EST ORDINAL
- DPI1 LDC CH12 POSITION TO RESOURCE TYPE
- OAN CH+40
- LDD SH+3 DISPLAY RESOURCE TYPE
- OAN CH+40
- LDD SH+4
- LPN 20
- ZJN DPI2 IF NOT TO DISPLAY UNIT COUNT
- LDD SH+4
- SHN -3
- LPC 700
- ADC 1R1*100
- DPI2 OAN CH+40 DISPLAY UNIT COUNT
- LDD T9
- NJP DPI8 IF ALTERNATE DISPLAY
- * DISPLAY VSN/PACK, MODE, LEVEL, USER NAME, FAMILY, AND ERROR.
- LDD SH+4
- SHN 21-5
- PJN DPI3 IF NOT SCRATCH VSN
- LDN 5
- OAM DPIC,CH DISPLAY *SCRATCH* AS VSN
- UJN DPI4 DISPLAY VSN
- DPI3 LDN 5 DISPLAY VSN/PACK NAME
- OAM EVSN,CH
- DPI4 LDD SH
- OAN CH+40
- LDD SR+3 DISPLAY ACCESS MODE
- SHN -6
- LPN 3
- STD T1
- LDM DPIA,T1
- OAN CH+40
- LDD SF
- ZJN DPI5 IF NOT SECURED MODE
- LDC CH31 POSITION TO ACCESS LEVEL
- OAN CH+40
- LDD SH+4
- SHN 21-3
- PJN DPI5 IF NOT TO DISPLAY ACCESS LEVEL
- SHN 0-6-21+3+22
- LPN 7
- RJM DAL DISPLAY ACCESS LEVEL
- UJN DPI6 DISPLAY USER NAME
- DPI5 LDC CH39 POSITION TO USER NAME
- OAN CH+40
- DPI6 LDN 3 DISPLAY USER NAME
- OAM AB,CH
- LDD AB+3
- SCN 77
- OAN CH+40
- LDN ZERL PRESET FAMILY NAME
- CRD SH
- LDD AB+3 GET FAMILY ORDINAL
- LPN 77
- ZJN DPI7 IF FAMILY NOT DEFINED
- STD T0
- LDK FOTP GET FOT POINTER
- CRD T1
- LDD T1
- SHN 14
- ADD T2
- ADD T0
- CRD SH GET FAMILY NAME
- DPI7 LDN 3 DISPLAY FAMILY
- OAM SH,CH
- LDD SH+4
- SCN 77
- OAN CH+40
- LDM MSGB+16 DISPLAY ERROR MNEMONIC
- OAN CH+40
- LJM DPIX RETURN
- * DISPLAY INTERNAL VSN/PACK, FLAGS, AND ERROR MESSAGE.
- DPI8 LDN 5 DISPLAY INTERNAL VSN
- OAM IVSN,CH
- LDD SR
- OAN CH+40
- LDC CH29 POSITION TO FLAGS
- OAN CH+40
- LDD SR+3
- SHN -10
- LPN 3
- STD T1
- LDM DPIB,T1 DISPLAY TMS, LABELED STATUS
- OAN CH+40
- LDN 0
- OAN CH+40
- LDD SR+4
- ZJN DPI9 IF NOT MESSAGE WITH EST ORDINAL
- RJM DEO DISPLAY EST ORDINAL AND EQUPMENT TYPE
- LCN 3 ADJUST BYTE COUNT
- DPI9 ADN 16 DISPLAY ERROR MESSAGE
- OAM MSGB,CH
- LJM DPIX RETURN
- DPIA BSS 0 ACCESS MODES
- DATA H* -*
- DATA H* R*
- DATA H* W*
- SPACE 4,10
- DPIB BSS 0 TMS, LABELED REQUEST FLAGS
- DATA H*--*
- DATA H*-L*
- DATA H*T-*
- DATA H*TL*
- DPIC DATA 10LSCRATCH
- SPACE 4,10
- ** BUFFERS OVERLAYING INSTRUCTION RELOCATION TABLE.
- MSGB EQU * ERROR MESSAGE AND MNEMONIC BUFFER
- EVSN EQU MSGB+3*5 *PVSN*
- IVSN EQU EVSN+5 *PVSI*
- EBUF EQU IVSN+5 END OF BUFFERS
- BSS 10 PAD FOR DATA AREA
- ERRNG .EREL-EBUF BUFFER OVERFLOW
- DSPEND
- DISPLAY (DISPLAY E - OPTICAL DISK STATUS.),PES
- ENTRY DSES,DSES
- DSE SPACE 4,20
- *** *E,S* DISPLAY.
- *
- * OPTICAL DISK STATUS DISPLAY.
- * EACH LINE DISPLAYS THE STATUS OF ONE OPTICAL DISK DRIVE.
- *
- * EXAMPLE -
- *
- * 1 2 3 4 5 6
- * 1234567890123456789012345678901234567890123456789012345678901234
- * EST VSN PARTITION WT STATUS AFC
- *
- * 30 DON DEFAULT NO READY 0
- * 31* LABEL12 PART01 YES READY 12
- * 32 YES IDLE 0
- * 33 3KSNN64 DEFAULT YES FAULT 10
- DSES SUBR ENTRY/EXIT
- DISPHD (E,S. OPTICAL DISK STATUS.)
- LDM CTOS SET INITIAL Y-COORDINATE
- OAN CH+40
- SBN YINC
- STD YC
- LDN ESTP READ EST POINTERS
- CRD T4
- LDD T4+2 SET LAST EST ORDINAL
- STM DSED
- LDC OSTP READ OST POINTER
- CRD CM
- LDD CM SET FWA OF OST
- LPN 77
- ADC ADCI
- STM DSEE
- LDD CM+1
- STM DSEE+1
- LDD LA SET SCREEN
- LMC .FLFT
- ZJN DSE1 IF LEFT SCREEN
- LDN 2
- DSE1 STD T5
- LDN DSEAL DISPLAY TITLE
- OAM DSEA,CH
- * LDN 0 CLEAR NEXT EST ORDINAL
- STM TDSE+1,T5
- LDM TDSE,T5 SET EST ORDINAL
- STD T6
- LJM DSE9 ENTER EST SEARCH LOOP
- * DISPLAY EST ORDINAL.
- DSE2 LDD XC OUTPUT X-COORDINATE
- OAN CH+40
- LDD AB+4
- ZJN DSE3 IF NOT ASSIGNED
- LDC 2R*
- DSE3 STM D4SB SET ASSIGNMENT STATUS
- LDD T6 DISPLAY EST ORDINAL
- RJM D4S
- LDN 0
- STM D4SB
- OAN CH+40 DISPLAY 2 SPACES
- * DISPLAY VSN/PARTITION NAME.
- LDN 6 DISPLAY VSN
- OAM ODST+5*OSTV,CH
- OAN CH DISPLAY 4 SPACES
- OAN CH
- LDN 6 DISPLAY PARTITION NAME
- OAM ODST+5*OSTI,CH
- OAN CH DISPLAY 4 SPACES
- OAN CH
- * DISPLAY WRITE PROTECT STATUS.
- LDM ODST+5*OSTS+3 GET DETAILED STATUS BYTE 21
- LPC 140
- ZJN DSE4 IF NOT WRITE PROTECTED
- LDC 2RNO DISPLAY *NO*
- OAN CH
- LDN 0
- UJN DSE5 DISPLAY WRITE STATUS
- DSE4 LDC 2RYE DISPLAY *YES*
- OAN CH
- LDC 2RS
- DSE5 OAN CH DISPLAY WRITE STATUS
- LDN 0 DISPLAY 2 SPACES
- OAN CH
- * DISPLAY STATUS.
- LDC. DSEB SET FWA OF STATUS LIST
- STD T1
- LDD CM GET EQUIPMENT STATUS
- LPN 3
- SBN 2
- ZJN DSE6 IF *OFF*
- LDN 3
- RAD T1
- LDD CM
- LPN 3
- SBN 3
- ZJN DSE6 IF *DOWN*
- LDN 3
- RAD T1
- LDM ODST+5*OSTS+2 GET CARTRIDGE STATUS
- ZJN DSE6 IF *IDLE*
- LDN 3
- RAD T1
- LDM ODST+5*OSTS+2
- SHN 21-13
- MJN DSE7 IF *BUSY*
- LDN 3
- RAD T1
- LDM ODST+5*OSTS+3 GET DETAILED STATUS BYTE 21
- STD T2
- LPN 4 GET DRIVE SPINNING FLAG
- DSE6 ZJN DSE7 IF *NOTRDY*
- LDN 3
- RAD T1
- LDD T2
- LPC 200 GET DEVICE ERROR FLAG
- NJN DSE7 IF *ERROR*
- LDN 3
- RAD T1
- LDD T2
- LPN 10 GET DEVICE FAULT FLAG
- NJN DSE7 IF *FAULT*
- LDN 3
- RAD T1 SET DEFAULT STATUS = *READY*
- DSE7 LDD T1
- STM DSEC
- LDN 3 DISPLAY STATUS
- OAM **,CH
- DSEC EQU *-1
- * DISPLAY ACTIVE FILE COUNT.
- LDN 0 DISPLAY 2 SPACES
- OAN CH
- LDM ODST+5*OSTF+3 GET ACTIVE FILE COUNT
- SHN 14
- LMM ODST+5*OSTF+4
- RJM D6S DISPLAY FILE COUNT
- * SEARCH FOR NEXT ENTRY.
- DSE8 AOD T6 ADVANCE EST ORDINAL
- LMC **
- DSED EQU *-1
- ZJP DSESX IF NO MORE EQUIPMENT ENTRIES
- DSE9 SFA EST,T6 READ NEXT EST ENTRY
- ADK EQDE
- CRD CM
- ADN EQAE-EQDE
- CRD AB
- LDD CM+3
- LMC 2ROD
- NJN DSE8 IF NOT OPTICAL DISK
- LCN YINC
- RAD YC DECREMENT Y-COORDINATE
- OAN CH+40
- SBM CBOS
- MJN DSE10 IF BOTTOM OF SCREEN
- LDN OSTE SET LENGTH OF OST ENTRY
- STD T1
- LDD AB+2 GET OST ORDINAL FOR EQUIPMENT
- LPN 77
- SHN 2 *4, CONVERT ORDINAL TO OFFSET
- ERRNZ OSTE-4 CODE DEPENDS ON VALUE
- DSEE ADC **
- CRM ODST,T1 READ OST ENTRY
- LJM DSE2 PROCESS EST ENTRY
- DSE10 LDN MOREL OUTPUT *MORE* MESSAGE
- OAM MORE,CH
- LDD T6
- STM TDSE+1,T5
- LJM DSESX RETURN
- * SCREEN TITLE.
- DSEA CON CH02
- DATA H*EST*
- CON CH09
- DATA H*VSN*
- CON CH25
- DATA H*PARTITION*
- CON CH41
- DATA H*WT STATUS AFC*
- DSEAL EQU *-DSEA
- * STATUS MESSAGES.
- DSEB DATA H*OFF *
- DATA H*DOWN *
- DATA H*IDLE *
- DATA H*BUSY *
- DATA H*NOTRDY*
- DATA H*ERROR *
- DATA H*FAULT *
- DATA H*READY *
- PES SPACE 4,10
- ** PES - PAGE *E,C* DISPLAY.
- *
- * ENTRY (LA) = LOAD ADDRESS.
- * (T2) = 0 IF PAGE FORWARD.
- * = 1 IF PAGE BACKWARD (RETURN TO PAGE ONE).
- *
- * USES T1.
- PES BSS 0 ENTRY
- LDD LA GET LOAD ADDRESS
- LMC .FLFT
- ZJN PES1 IF LEFT SCREEN
- LDN 2
- PES1 STD T1 STORE SCREEN INDEX (0=LEFT, 2=RIGHT)
- LDD T2
- SBN 1
- ZJN PES2 IF RETURN TO PAGE ONE
- LDM TDSE+1,T1
- PES2 STM TDSE,T1
- LJM. /KEYBOARD/KBIX RETURN
- ODST SPACE 4,16
- ** OST ENTRY BUFFER.
- ODST BSS 5*OSTE
- SPACE 4,10
- DSPEND
- DISPLAY (DISPLAY E - MAGNETIC TAPES.),PET
- ENTRY DSET,DSET
- DSET SPACE 4,10
- *** *E,T* DISPLAY.
- *
- * EACH TWO LINES DISPLAY THE STATUS OF ONE TAPE EQUIPMENT.
- *
- * EXAMPLE -
- *
- * 1 2 3 4 5 6
- * 1234567890123456789012345678901234567890123456789012345678901234
- * EST VSN DEN RING FMT JSN STATUS REEL MODE
- *
- * MT052 1600 IDLE
- *
- * NT053 ***053 1600 IN SI ASDF LOADPT 1 AS
- * UNLABELED.
- DSET SUBR ENTRY/EXIT
- DISPHD (E,T. TAPE STATUS.)
- LDM CTOS SET INITIAL Y-COORDINATE
- OAN CH+40
- SBN YINC*2
- STD YC
- RJM CMT CHECK MAGNET
- NJN DSE1 IF *MAGNET* ACTIVE
- DISPLA CH01,,(NOT ACTIVE)
- UJN DSETX RETURN
- DSE1 LDN 0 INITIALIZE NEXT UDT OFFSET
- STM TDSEA+1
- LDM TDSEA SET STARTING UDT OFFSET
- STM DSED
- ADD T6 SET STARTING UDT ADDRESS
- STD T9
- * DISPLAY TITLE.
- DSE2 LDN DSECL DISPLAY TITLE LINE
- OAM DSEC,CH
- LDD T9
- ZJN DSETX IF NO TAPES IN CONFIGURATION
- LDN /MTX/PGS2 SET NUMBER OF ENTRIES PER PAGE
- STD T8
- LDM DCTY SET SPACING
- NJN DSE3 IF CC634B
- LDC /MTX/PGSZ*/MTX/UNITL
- SBM LUDT
- MJN DSE4 IF .GT. *PGSZ* UNITS
- LDN YINC&C721
- DSE3 LMN YINC&C721
- STM DSEB
- RAD YC
- LDN /MTX/PGSZ RESET NUMBER OF ENTRIES PER PAGE
- STD T8
- * GET DATA FROM MAGNET.
- DSE4 LDD T7 COMPUTE UDT ADDRESS
- SHN 6
- ADD T9
- ADK /MTX/UST5
- CRD T1 (T1) = DENSITY, COVERSION MODE
- ADK /MTX/UVRI-/MTX/UST5
- CRD T2 (T2) = EJT, (T5)= REEL, (T6) = FLAGS
- ADK /MTX/UST4-/MTX/UVRI
- CRD CM (CM+2) = FORMAT
- ADK /MTX/UST1-/MTX/UST4
- CRD AB (AB+2) = EST ORDINAL, (AB+4) = STATUS
- ADK /MTX/UVSN-/MTX/UST1
- CRD SR (SR - SR+2) = VSN, (SR+3) = FLAGS
- ADK /MTX/UFID-/MTX/UVSN
- CRD SH GET FILE IDENTIFIER
- ADK /MTX/UFSN-/MTX/UFID
- CRD SP
- LDD CM+2 SAVE FORMAT
- SHN -6
- STD T3
- LDD T1 SAVE DENSITY AND CONVERSION MODE
- STD T4
- SFA EST,AB+2 READ EST ENTRY
- ADK EQDE
- CRD CM
- LDN 2 SET DISPLAY COORDINATES
- OAM XC,CH
- * DISPLAY UNIT TAPE DEVICE TYPE.
- LDD CM+3 DISPLAY TAPE DEVICE TYPE
- OAN CH+40
- * DISPLAY EST ORDINAL.
- LDD AB+2
- SHN -3
- RJM D2D OUTPUT UPPER DIGITS
- LDD AB+2
- LPN 7
- ADN 1R0
- SHN 6
- OAN CH+40 OUTPUT LAST DIGIT
- * DISPLAY VSN.
- LDC CH10
- OAN CH+40
- LDD SR+3 CHECK IF SCRATCH VSN
- SHN 7
- MJN DSE5 IF SCRATCH VSN
- LDC 2R
- STD SR+3
- SBD SR
- NJN DSE6 IF NOT SCRATCH
- LDD SR+1
- SBD SR+3
- NJN DSE6 IF NOT SCRATCH
- LDD SR+2
- SBD SR+3
- NJN DSE6 IF NOT SCRATCH
- DSE5 BSS 0
- DISPLA ,,(SCRATCH ) DISPLAY SCRATCH VSN
- UJN DSE7 DISPLAY DENSITY
- DSE6 LDN 4
- OAM SR,CH DISPLAY VSN
- * DISPLAY DENSITY.
- DSE7 LDD T2
- ADD SR
- ZJP DSE8.1 IF NO VSN AND UNIT NOT ASSIGNED
- LDN 0
- OAN CH+40 SKIP TWO SPACES
- LDD T4
- SHN -3
- LPN 7
- STD T1 SET DENSITY
- SHN 1
- RAD T1
- LDM TDEN,T1 DISPLAY FIRST TWO CHARACTERS
- OAN CH+40
- LDM TDEN+1,T1 DISPLAY SECOND TWO CHARACTERS
- OAN CH+40
- LDM TDEN+2,T1 DISPLAY THIRD TWO CHARACTERS
- OAN CH+40
- * DISPLAY RING STATUS
- LDN 0
- OAN CH+40
- OAN CH+40
- LDD AB+4
- LPC 200
- ZJN DSE8 IF RING OUT
- LDC 2RIN
- DSE8 OAN CH+40
- * CHECK JOB ASSIGNMENT.
- DSE8.1 LDN 0 CLEAR INTENSIFICATION COUNTER
- STD T1
- LDD T2 EJT ORDINAL
- NJN DSE11 IF ASSIGNED
- * DETERMINE STATUS FOR UNASSIGNED TAPE UNIT.
- LDD CM CHECK DEVICE STATE
- LPN 3
- LMN DWES
- ZJN DSE10 IF DOWN
- LMN OFES&DWES
- ZJN DSE9 IF OFF
- LDN SM2&SM3 STATUS MESSAGE 2 = IDLE
- DSE9 LMN SM3&SM1 STATUS MESSAGE 3 = OFF
- DSE10 LMN SM1 STATUS MESSAGE 1 = DOWN
- DSE10.1 UJN DSE12 DISPLAY STATUS MESSAGE
- * DISPLAY FORMAT AND JSN.
- DSE11 SFA EJT GET JSN
- CRD CM
- AOD T5 SET REEL NUMBER
- LDN 0
- OAN CH+40
- OAN CH+40
- LDM TFMT,T3
- OAN CH+40 DISPLAY FORMAT
- LDC CH42 RESET X-COORDINATE
- OAN CH+40
- LDN 2 DISPLAY JSN
- OAM CM,CH
- * DISPLAY STATUS.
- LDD T6 CHECK PREVIEW DISPLAY MESSAGE FLAG
- LPN 1
- ZJN DSE14 IF NO MESSAGE
- CFNC BIVF
- SHN 1-21 SET REPEAT COUNT
- LPN 2
- STD T1
- LDN SM7 STATUS MESSAGE 7 = MOUNT
- DSE12 UJN DSE17 DISPLAY STATUS MESSAGE
- DSE14 LDD AB+4 CHECK FOR READY
- SHN 21-0
- MJN DSE15 IF READY
- LDN SM4 STATUS MESSAGE 4 = NOTRDY
- UJN DSE17 DISPLAY STATUS MESSAGE
- DSE15 LPN 2
- ZJN DSE16 IF NOT LOAD POINT
- LCN SM6-SM5 STATUS MESSAGE 5 = LOADPT
- DSE16 ADN SM6 STATUS MESSAGE 6 = READY
- * DISPLAY STATUS MESSAGE.
- DSE17 ADC. TSTM SET MESSAGE
- STM DSEA
- DSE18 LDC CH49 RESET X-COORDINATE
- OAN CH+40
- LDN 3 DISPLAY STATUS MESSAGE
- OAM *,CH
- DSEA EQU *-1
- SOD T1
- PJN DSE18 IF NOT ENOUGH INTENSITY
- CFNC EIVF
- * DISPLAY LABEL FILE IDENTIFIER.
- LDD SR
- ZJN DSE21 IF NO VSN
- LDD SH
- ZJN DSE21 IF NO FILE IDENTIFIER
- LDC CH56 RESET X-COORDINATE
- OAN CH+40
- LDD T5 DISPLAY REEL NUMBER IF JOB ASSIGNED
- NJN DSE20 IF SPECIFIED
- LDD SP+4
- DSE20 RJM D4S
- LDD T4 SET CONVERSION MODE
- LPN 7
- STD T1
- LDM TCVM,T1
- OAN CH+40
- LDC CH09 SET COORDINATES
- OAN CH+40
- LCN YINC
- ADD YC
- OAN CH+40
- LDN 5 DISPLAY FILE IDENTIFIER
- OAM SH,CH
- LDN 4
- OAM SP,CH
- * LOOP FOR NEXT UDT.
- DSE21 LDN /MTX/UNITL ADVANCE UDT POINTER
- RAD T9
- LDN /MTX/UNITL ADVANCE UDT OFFSET
- RAM DSED
- LMM LUDT
- ZJN DSE24 IF END OF UDT
- SOD T8
- ZJN DSE22 IF END OF PAGE
- LCN YINC*3
- ADC YINC-2 SPACING FOR CC545 WITH .GT. *PGSZ* UNITS
- * ADC YINC (SPACING FOR CC634B)
- * ADC 0 (SPACING FOR CC545 WITH .LE. *PGSZ* UNITS)
- DSEB EQU *-1
- RAD YC
- LJM DSE4 LOOP FOR NEXT UDT
- DSE22 LDM DCTY
- NJN DSE23 IF CC634B CONSOLE
- LDN MOREL+1 DISPLAY *MORE*
- OAM CBOS,CH
- ERRNZ MORE-CBOS-1 CODE ASSUMES CONTIGUOUS DATA
- DSE23 LDM DSED SET STARTING UDT OFFSET FOR NEXT PAGE
- STM TDSEA+1
- DSE24 LJM DSETX RETURN
- DSEC CON CH02
- DATA H*EST*
- CON CH12
- DATA H*VSN*
- CON CH23
- DATA H*DEN RING FMT JSN*
- CON CH49
- DATA H*STATUS REEL MODE*
- DSECL EQU *-DSEC
- DSED CON 0 CURRENT UDT OFFSET
- TCVM SPACE 4,10
- ** TCVM - TABLE OF CONVERSION MODES.
- TCVM BSS 0
- LOC 0
- CON 2R NO CONVERSION MODE
- CON 2RBC BCD (7 TRACK)
- CON 2RAS ASCII (9 TRACK)
- CON 2REB EBCDIC (9 TRACK)
- LOC *O
- TDEN SPACE 4,10
- ** TDEN - TABLE OF DENSITIES.
- TDEN BSS 0
- LOC 0
- VFD 36/6H
- VFD 36/6H 200
- VFD 36/6H 556
- VFD 36/6H 800
- VFD 36/6H 1600
- VFD 36/6H 6250
- VFD 36/6H 38000
- LOC *O
- TFMT SPACE 4,10
- ** TFMT - TABLE OF FORMATS.
- TFMT BSS 0
- LOC 0
- CON 2H I
- CON 2HSI
- CON 2H F
- CON 2H S
- CON 2H L
- CON 2HLI
- LOC *O
- TSTM SPACE 4,10
- ** TSTM - TABLE OF STATUS MESSAGES.
- TSTM BSS 0
- LOC 0
- SM1 VFD 36/6HDOWN
- SM2 VFD 36/6HIDLE
- SM3 VFD 36/6HOFF
- SM4 VFD 36/6HNOTRDY
- SM5 VFD 36/6HLOADPT
- SM6 VFD 36/6HREADY
- SM7 VFD 36/6HMOUNT
- LOC *O
- PET SPACE 4,10
- ** PET - PAGE *E,T* DISPLAY.
- *
- * ENTRY (T2) = 0, IF PAGE FORWARD.
- * = 1, IF PAGE BACKWARD (RETURN TO PAGE 1).
- *
- * CALLS CMT.
- PET BSS 0 ENTRY
- RJM CMT
- ZJN PET2 IF *MAGNET* NOT ACTIVE
- LDD T2
- LMN 1
- ZJN PET1 IF RETURN TO PAGE ONE
- LDM TDSEA+1
- PET1 STM TDSEA SET FIRST UDT OFFSET
- PET2 LJM. /KEYBOARD/KBIX RETURN
- SPACE 4,10
- DSPEND
- DISPLAY (DISPLAY H - FILE NAME TABLE.),PHD
- ENTRY DSH,DSH
- DSH SPACE 4,15
- *** *H* DISPLAY.
- *
- * DISPLAY FILES IN THE SYSTEM FNT (ONE FILE PER
- * LINE) OR FILES IN A JOB-S LOCAL FNT.
- *
- * EXAMPLE (IF SYSTEM FNT) -
- *
- * 1 2 3 4 5 6
- * 1234567890123456789012345678901234567890123456789012345678901234
- * FNT NAME TYPE EST TRACK (LENGTH)
- *
- * 1 SYSTEM LI 1 1234 (1234567)
- *
- * EXAMPLE (IF LOCAL FNT) -
- *
- * 1 2 3 4 5 6
- * 1234567890123456789012345678901234567890123456789012345678901234
- * FNT NAME TYPE EST TRACK FS STATUS (POSITION) (LENGTH)
- *
- * 1 INPUT IN* 11 1234 ND 5 (1234567) (1234567)
- *
- * PRESSING THE *=* KEY (IF ON THE RIGHT SCREEN) OR THE */* KEY
- * (IF ON THE LEFT) WILL CAUSE THE *POSITION* AND *LENGTH*
- * FIELDS TO NOT BE DISPLAYED. THIS IS DONE BECAUSE THE SCREEN
- * MAY FLICKER IF SEVERAL VERY LARGE FILES ARE ATTACHED TO A JOB
- * AND THE *POSITION* AND *LENGTH* FIELDS ARE BEING DISPLAYED.
- DSH SUBR ENTRY/EXIT
- LDM. /DSD/TJHH+1
- ZJN DSH2 IF SYSTEM FNT
- DISPHD (H. LOCAL FILES.),/DSD/TJHH+1
- LDK /DSD/TJHH+1 GET JSN ADDRESS
- RJM SJS
- MJP DSHX IF EJT ENTRY IS ROLLED OR NOT FOUND
- LDD CP GET RELATIVE ADDRESS INFORMATION
- ADK FLSW
- CRD SR
- ADN 1
- CRD CM
- LDM. CMEI
- ZJN DSH1 IF NOT CENTRAL MEMORY EXTENSION
- LRD CM+1
- LDD CM+3
- STD SR+3
- DSH1 LDK FNTN-LENF
- STD T6
- UJN DSH3 CONTINUE
- DSH2 STD CP
- DISPHD ("HHDR")
- LDN FNTP GET NUMBER OF ENTRIES
- CRD SR
- DSH3 LDM CTOS SET Y-COORDINATES
- OAN CH+40
- SBN YINC
- STD YC
- LDD CP
- ZJN DSH4 IF SYSTEM FNT
- LDN DSHDL
- DSH4 ADN DSHCL
- OAM DSHC,CH
- * LDN 0
- STM TDSH+1 CLEAR NEXT PAGE INDEX
- STM D7SA
- STD T7 INITIALIZE FNT ORDINAL
- LDD LA CHECK WHICH DISPLAY THE OVERLAY IS DRIVING
- ADC -.FLFT
- SHN -10B
- ERRNG .FRHT-.FLFT-400B ENSURE DIFFERENCE IS IN RANGE
- ERRNG .FLFT-.FRHT+777B
- STD T9
- LDM TGTF,T9 SET TOGGLE STATUS
- STD T9
- NJN DSH6 IF NOT TO DISPLAY *POSITION*, *LENGTH*
- LDD CP
- ZJN DSH5 IF SYSTEM FNT
- DISPLA ,,( POSITION )
- * LDN 0
- DSH5 OAN CH+40
- DISPLA ,,( LENGTH )
- DSH6 LJM DSH18 READ FNT ENTRY
- * DISPLAY FNT ENTRY.
- DSH7 LDD CM+4 SET FILE TYPE
- SHN 14
- STD T5
- SHN -14 SAVE FS STATUS
- STD T8
- LDD XC OUTPUT X-COORDINATE
- OAN CH+40
- LDD T7 DISPLAY INDEX
- RJM D4S
- LDN 3 DISPLAY FILE NAME
- OAM CM,CH
- LDD CM+3
- SCN 77
- OAN CH+40
- LDN 0 SKIP TWO SPACES
- OAN CH+40
- LDM DSHA,T5 DISPLAY TYPE
- OAN CH+40
- LDD CP
- NJN DSH8 IF NOT SYSTEM FNT
- STD AB+2 ENSURE *CURRENT TRACK* BYTE CLEAR
- UJN DSH9 CONTINUE
- DSH8 LDD CM+3 EXTRACT LOCK BIT
- LPN 1
- ZJN DSH9 IF FILE UNLOCKED
- LDC 2R* DISPLAY (*) FOR LOCK
- DSH9 OAN CH+40
- LDD AB DISPLAY EQUIPMENT
- RJM D4S
- SFA EST,AB
- ADK EQDE
- CRD CM
- LDD CM
- SHN 21-13
- DSH10 PJP DSH17 IF NOT MASS STORAGE DEVICE
- LDD AB+1 DISPLAY FIRST TRACK
- RJM D4S
- LDD CP
- ZJN DSH11 IF SYSTEM FNT
- LDM DSHB,T8 DISPLAY FS STATUS
- OAN CH+40
- LDN 0 SKIP TWO SPACES
- OAN CH+40
- LDD AB+4 DISPLAY FILE STATUS
- RJM D6S
- DSH11 LDD AB+1
- ZJN DSH10 IF NO TRACKS ASSIGNED
- LDD T9
- NJN DSH10 IF NOT TO DISPLAY POSITION, LENGTH
- LDD AB+2
- NJN DSH12 IF CURRENT TRACK SET
- STD AB+3 SET POSITION AT BOI
- LDD AB+1
- STD AB+2
- DSH12 LDD CM+4
- SHN 3
- ADK MDGL
- CRD T1 (T5) = SECTOR LIMIT
- ADN TRLL-MDGL
- CRD CM
- LDD CM+3
- LPN 77
- SHN 14
- LMD CM+4
- SBD TH 4000 / 4
- STM LNBA+1
- SHN -14
- LMC ADCI
- STM LNBA
- LCN 0 INITIALIZE LIMIT FOR TRACK CHAIN SEARCH
- STD SR+4
- LDD AB+3 CURRENT SECTOR
- STD T3
- SHN -14
- STD T2
- LDD AB+1
- UJN DSH14 ENTER TRACK SEARCH LOOP
- DSH13 SHN -6 CHECK TRACK
- STD T4
- LMD AB+2
- ZJN DSH15 IF CURRENT TRACK REACHED
- LDD T5
- RAD T3
- SHN -14
- RAD T2
- RJM LNB LINK TO NEXT BYTE IN TRT
- DSH14 SHN 6
- MJN DSH13 IF NOT END OF CHAIN
- DISPLA ,,(LINKAGE ERROR.)
- UJN DSH17 READ NEXT ENTRY
- DSH15 LDD CP
- ZJN DSH16 IF SYSTEM FNT
- RJM D7S DISPLAY CURRENT POSITION
- DSH16 LDD T3 SET END OF INFORMATION
- SBD AB+3
- STD T3
- PJN DSH16.1 IF NO BORROW
- SOD T2
- AOD T3
- DSH16.1 RJM LNB LINK TO NEXT BYTE IN TRT
- SHN 6
- PJN DSH16.2 IF LAST SECTOR
- SHN -6
- STD T4
- LDD T5
- RAD T3
- SHN -14
- RAD T2
- UJN DSH16.1 LOOP
- DSH16.2 SHN -6 SET FINAL SECTOR COUNT
- RAD T3
- SHN -14
- RAD T2
- RJM D7S DISPLAY LENGTH
- * GET NEXT FNT ENTRY.
- DSH17 AOD T7 NEXT FNT ORDINAL
- DSH18 LDD CP
- ZJN DSH19 IF SYSTEM FNT
- LDK LENF
- RAD T6 NEXT FNT ADDRESS
- SHN -6
- SBD SR
- PJN DSH20 IF END OF LOCAL FNT
- LDD SR+3 RA / 100
- SHN 6
- SBD T6
- ADK FNTL
- UJN DSH21 READ ENTRY
- DSH19 LDD T7
- SBD SR+2
- DSH20 PJN DSH22 IF END OF SYSTEM FNT
- SFA FNT,T7
- ADK FNTG
- DSH21 CRD CM READ FNT
- ADK FSTG-FNTG
- ERRNZ FSTG-FSTL CODE REQUIRES SAME INDEX FOR SECOND WORD
- CRD AB READ FST
- LDD CM
- ZJP DSH17 IF EMPTY ENTRY
- * CHECK IF ENTRY IS OUTSIDE RANGE OF CURRENT SCREEN.
- LDD T7
- SBM TDSH
- MJP DSH17 IF BEFORE START INDEX
- LCN YINC
- RAD YC DECREMENT Y-COORDINATE
- OAN CH+40
- SBM CBOS
- PJP DSH7 IF SCREEN NOT FULL
- LDN MOREL OUTPUT *MORE* MESSAGE
- OAM MORE,CH
- LDD T7 SET NEXT PAGE STARTING ORDINAL
- STM TDSH+1
- DSH22 LJM DSHX RETURN
- DSHA DATA H*"NMFT"*
- DSHB INDEX
- INDEX UPST,2RUP USER FILE PRIVACY
- INDEX SSST,2RSS SPECIAL SYSTEM JOB FILE
- INDEX CBST,2RCB CB CHECKPOINT FILE
- INDEX CKST,2RCK CK CHECKPOINT FILE
- INDEX SOST,2RSO SPECIAL OUTPUT FILE
- INDEX AAST,2RAA APPLICATION ACCOUNTING FILE
- INDEX NDST,2RND NO DROP FILE
- INDEX MXST END OF TABLE
- DSHC CON CH01
- DATA 10H FNT NAME
- CON CH16
- DATA 16HTYPE EST TRACK
- DSHCL EQU *-DSHC
- DSHD DATA 12H FS STATUS
- DSHDL EQU *-DSHD
- LNB SPACE 4,10
- ** LNB - LINK TO NEXT BYTE IN TRT.
- *
- * ENTRY (T4) = TRACK LINK.
- * (SR+4) = TRACK CHAIN SEARCH LIMIT COUNTER.
- * (LNBA) = TRT FWA - 4000 / 4.
- *
- * EXIT (A) = NEXT TRACK RESERVATION BYTE.
- * = 0 IF END OF TRACK CHAIN NOT FOUND.
- * (CM - CM+4) = NEXT TRACK RESERVATION WORD.
- * (T1) = INDEX INTO RESERVATION WORD.
- *
- * USES T1, CM - CM+4, SR+4.
- LNB SUBR
- SOD SR+4
- ZJN LNBX IF END OF TRACK CHAIN NOT FOUND
- LDD T4 READ TRT WORD
- SHN -2
- LNBA ADC **
- CRD CM
- LDD T4 COMPUTE BYTE INDEX
- LPN 3
- STD T1
- LDM CM,T1 NEXT TRACK BYTE
- UJN LNBX RETURN
- PHD SPACE 4,10
- ** PHD - PAGE *H* DISPLAY.
- *
- * ENTRY (T2) = 0, IF PAGE FORWARD.
- * = 1, IF PAGE BACKWARD.
- PHD BSS 0 ENTRY
- LDD T2
- SBN 1
- ZJN PHD1 IF PAGE BACKWARD
- LDM TDSH+1
- PHD1 STM TDSH STORE NEW PAGE INDEX
- LJM. /KEYBOARD/KBIX RETURN
- ** COMMON DECKS.
- *CALL COMDD7S
- SPACE 4,10
- DSPEND
- DISPLAY (DISPLAY I - BATCHIO STATUS.),PID
- ENTRY DSI,D
- DSI SPACE 4,10
- *** *I* DISPLAY.
- *
- * EACH ENTRY DISPLAYS THE STATUS OF ONE *BATCHIO* DEVICE.
- *
- * EXAMPLE -
- *
- * 1 2 3 4 5 6
- * 1234567890123456789012345678901234567890123456789012345678901234
- * EST JSN TR PS ID FC REP SIZE DONE STATUS
- *
- * LR021 AAZZ 1 S 40 2 636 123
- * LT022 7 L NOT READY.
- * LT023 ABCD 6 L LF 3 421 25
- * CR024 JOBC ADV 1 CD RE-RD 3 CDS.
- * LX025 ACXY 7 331 157
- DSI SUBR ENTRY/EXIT
- DISPHD ("IHDR")
- LDM CTOS SET UP INITIAL Y-COORDINATES
- STD YC
- LDN 2
- OAM XC,CH
- LDC BISI FIND *BATCHIO*
- RJM FSS
- STD CN
- NJN DSI1 IF *BATCHIO* ACTIVE
- DISPLA ,,(NOT ACTIVE.)
- UJN DSIX RETURN
- DSI1 LDN DSICL DISPLAY COLUMN HEADERS
- OAM DSIC,CH
- * LDN 0 CLEAR CP MESSAGE
- STD CM
- STM TDSI+1 CLEAR NEXT PAGE INDEX
- LCN YINC SET FIRST LINE Y-COORDINATE
- RAD YC
- LDM. CMEI
- ZJN DSI2 IF NOT CME
- LDC SBNI+MS2W-FLSW-1 FORCE READ OF FLSW+1
- STM DSIA
- DSI2 LDD CN CLEAR CP MESSAGE
- SHN 7
- ADN MS2W
- CRD AB SAVE MESSAGE
- CWD CM
- DSIA SBN MS2W-FLSW
- * SBN MS2W-FLSW-1 (CENTRAL MEMORY EXTENSION)
- CRD CM
- LDD AB
- ZJN DSI3 IF NO MESSAGE
- RJM SBO INDICATE OPERATOR ACTION REQUIRED
- DSI3 LDC /BIO/BFCW
- SBM TDSI
- STD T7
- LRD CM+1
- LDD CM+3 READ AVAILABLE EQUIPMENT WORD
- STD T2 SAVE *BATCHIO* RA/100
- SHN 6
- ADN /BIO/TEQR
- CRD CM
- AOD CM SET AVAILABLE EQUIPMENT COUNT
- STD T5
- LDM TDSI SET FIRST BUFFER POINT NUMBER
- ADN 1
- STD T6
- DSI4 LCN YINC
- RAD YC
- OAN CH+40
- SBM CBOS
- PJN DSI5 IF NOT BOTTOM OF SCREEN
- SOD T6 STORE NEXT PAGE INDEX
- STM TDSI+1
- LDN MOREL
- OAM MORE,CH
- LJM DSIX RETURN
- DSI5 LDD XC OUTPUT INITIAL X-COORDINATE
- OAN CH+40
- LDD T2 READ BUFFER POINT WORD
- SHN 6
- SBD T7
- CRD AB
- SFA EST,AB+3
- ADK EQDE
- CRD CM
- ADK EQAE-EQDE
- CRD SR
- LDD CM+3 DISPLAY TYPE
- OAN CH+40
- LDC CH02 RESET X-COORDINATE
- OAN CH+40
- LDD AB+3 DISPLAY UPPER DIGIT
- SHN -6
- ADN 1R0
- OAN CH+40
- LDD AB+3 DISPLAY LOWER DIGITS
- RJM D2D
- LDN 0 SKIP TWO SPACES
- OAN CH+40
- LDN 2 DISPLAY JOBCARD OR JSN
- OAM AB,CH
- LDD CM+3
- SHN -6
- LMN 1RL
- ZJN DSI6 IF LINE PRINTER
- LDC CH20 RESET X-COORDINATE
- UJN DSI9 CONTINUE
- DSI6 LDD CM+4 DISPLAY TRAIN
- SHN -6
- LPN 7
- RJM D4S
- LDD CM+3
- LPN 77
- LMN 1RX
- ZJN DSI9 IF *LX*
- LMN 2RLY&2RLX
- ZJN DSI9 IF *LY*
- LDD CM CHECK PAPER SIZE
- SHN -11
- ZJN DSI7 IF NOT SHORT PAPER
- LDN 1RS-1RL
- DSI7 ADN 1RL
- SHN 6
- DSI9 OAN CH+40 DISPLAY PAPER SIZE
- LDD CM+4 DISPLAY EQUIPMENT ID
- LPN 77
- RJM D2S
- LDD SR+2 DISPLAY FORMS CODE
- OAN CH+40
- LDC CH27 RESET X-COORDINATE
- OAN CH+40
- LDD AB+4 DISPLAY REPEAT COUNT
- SHN -6
- RJM D2S
- LDD AB
- ZJN DSI10 IF NO JSN
- LDD T2
- SHN 6
- ADC -/BIO/BFSP-1
- ADD T6 FETCH FET ADDRESS
- CRD CM
- LDD CM+3
- SHN 6
- ADD T2 BATCHIO RA/100
- SHN 6
- ADD CM+4
- ADN /BIO/FPSN
- CRD AB CURRENT FILE POSITION
- ADN /BIO/FLEN-/BIO/FPSN
- CRD CM FILE EOI
- LDD CM+3
- ADD CM+4
- DSI10 ZJN DSI11 IF ZERO LENGTH
- LDC CH30
- OAN CH+40 RESET X-COORDINATE
- LDD CM+3
- SHN 14
- ADD CM+4
- RJM D6S DISPLAY FILE EOI
- LDC CH37
- OAN CH+40 SET X-COORDINATE
- LDD AB+2
- SHN 6
- LMD AB+1
- SHN 6
- RJM D6S DISPLAY CURRENT FILE POSITION
- * DISPLAY STATUS MESSAGE.
- DSI11 SOD T7 SET MESSAGE CODE
- LDD T2
- SHN 6
- SBD T7
- CRD CM
- LDD CM
- SBN /BIO/EMAX
- PJN DSI13 IF INVALID ERROR CODE
- LDM DSIB,CM
- ZJN DSI13 IF NO MESSAGE
- ADD LA
- SBN 1
- STD T1
- LDC CH44 RESET X-COORDINATE FOR STATUS MESSAGE
- DSI12 OAN CH+40
- AOD T1
- LDI T1 OUTPUT MESSAGE
- NJN DSI12 IF NOT END OF MESSAGE
- DSI13 SOD T7
- AOD T6 ADVANCE BUFFER POINT NUMBER
- LMD T5
- ZJN DSI14 IF END OF BUFFER POINTS
- LDD T6
- SBN /BIO/MXEQ+1
- PJN DSI14 IF TOO MANY BUFFERS
- LJM DSI4 LOOP
- DSI14 LJM DSIX RETURN
- * ERROR/STATUS MESSAGES - CANNOT EXCEED 21 CHARACTERS.
- DSIB INDEX MESSAGE TABLE
- INDEX /BIO/ECLE,0 CLEAR MESSAGE
- INDEX /BIO/ENRD,(=C*NOT READY.*)
- INDEX /BIO/ENPA,(=C*NO PAPER.*)
- INDEX /BIO/ERCA,(=C*RE-RD CD COMPARE ERR.*)
- INDEX /BIO/ERCB,(=C*ADV 1 CD RE-RD 3 CDS.*)
- INDEX /BIO/ECPE,(=C*COMPARE ERROR.*)
- INDEX /BIO/EFED,(=C*FEED FAILURE.*)
- INDEX /BIO/EOFF,(=C*OFF.*)
- INDEX /BIO/EDWN,(=C*DOWN.*)
- INDEX /BIO/EHLD,(=C*HOLD.*)
- INDEX /BIO/EPMM,(=C*PM MESSAGE.*)
- INDEX /BIO/EPRH,(=C*PRINT ERROR.*)
- INDEX /BIO/ECPA,(=C*PAPER FAULT.*)
- INDEX /BIO/EOHE,(=C*OFF - CHECK ERRLOG.*)
- INDEX /BIO/EIVR,(=C*INTERVENTION NEEDED.*)
- INDEX /BIO/ECUA,(=C*CH UNAVAILABLE.*)
- INDEX /BIO/EMAX
- * COLUMN HEADERS.
- DSIC DATA H* EST*
- CON CH08
- DATA H*JSN*
- CON CH14
- DATA H*TR PS ID FC REP SIZE*
- CON CH39
- DATA H*DONE*
- CON CH46
- DATA H*STATUS*
- DSICL EQU *-DSIC
- PID SPACE 4,10
- ** PID - PAGE *I* DISPLAY.
- *
- * ENTRY (T2) = 0, IF PAGE FORWARD.
- * = 1, IF PAGE BACKWARD.
- PID BSS 0 ENTRY
- SOD T2
- ZJN PID1 IF PAGE BACKWARD
- LDM TDSI+1
- PID1 STM TDSI STORE NEW PAGE INDEX
- LJM. /KEYBOARD/KBIX RETURN
- SPACE 4,10
- DSPEND
- DISPLAY (DISPLAY J - JOB STATUS.)
- ENTRY DSJ,D
- DSJ SPACE 4,10
- *** *J* DISPLAY.
- *
- * DISPLAY STATUS OF JOB WITH SPECIFIED JSN.
- *
- * NOTE - THE DISPLAY FORMAT IS DOCUMENTED IN *COMDGJD*.
- DSJ SUBR ENTRY/EXIT
- DISPHD ("JHDR"),/DSD/TJJJ+1
- LDC /DSD/TJJJ+1 GET JSN ADDRESS
- RJM SJS
- MJN DSJX IF EJT ENTRY IS ROLLED OR NOT FOUND
- ZJN DSJX IF NO JSN SPECIFIED
- LDD T3 SAVE EJT ORDINAL
- STD T7
- SFA EJT GET EJT ADDRESS
- ADK JSNE
- CRD AB GET JSN
- LDM CMEI GET CME FLAG
- * UJN GJD GENERATE *J* DISPLAY
- SPACE 4,10
- * COMMON DECKS.
- LIST X
- GJD$ EQU UESC LOCATION OF USER EM SHIFT COUNT
- *CALL COMDGJD
- LIST *
- SPACE 4,10
- DSPEND
- DISPLAY (DISPLAY K - CENTRAL PROGRAM BUFFER.)
- ENTRY DSK,D
- DSK SPACE 4,10
- *** *K* DISPLAY.
- *
- * DATA FROM A CENTRAL MEMORY BUFFER WILL BE DISPLAYED IF A CPU
- * PROGRAM IS ACTIVE AT THE CONTROL POINT ASSIGNED, AND IN THE
- * CONTROL POINT AREA THERE IS A DISPLAY ADDRESS POINTING TO A
- * CONTROL WORD (A) DESCRIBED BELOW -
- *
- *T A 1/0,1/U,4/0,18/KBUF,18/RSCR,18/LSCR
- *
- * U = 1, IF UPDATE OF STATUS WORD IS NOT REQUIRED.
- * KBUF KEYBOARD BUFFER (8 CM WORDS).
- *
- *T LSCR 10/,1/S,1/F,1/A,5/,18/TBUF,23/,1/I
- * LEFT-SCREEN CONTROL WORD
- *
- *T RSCR 10/,1/S,1/F,1/A,5/,18/TBUF,23/,1/I
- * RIGHT-SCREEN CONTROL WORD
- *
- * S = CHARACTER SIZE.
- * 0 = SMALL (64 CHARACTERS/LINE) LINES 12B UNITS APART.
- * (DISPLAY IS 1000B * 1000B UNITS)
- * 1 = MEDIUM (32 CHARACTERS/LINE) LINES 24B UNITS APART.
- *
- * F = FORMAT.
- * 0 = PROGRAM FORMATTED.
- * AFTER DISPLAY IS SELECTED, DATA IS OUTPUT
- * UNTIL A ZERO IN BYTE (0) OF A WORD IS
- * ENCOUNTERED OR UNTIL 1000B WORDS HAVE BEEN OUTPUT.
- * THE DATA MUST CONTAIN ALL COORDINATES.
- * IF A WORD CONTAINING 7777 IN BYTE (0) IS
- * FOUND, THE LOWER 18 BITS WILL BE USED AS AN
- * INDEX. IF THE INDEX IS ZERO OR GREATER THAN
- * FL, THE DATA WILL BE TERMINATED.
- *
- * 1 = CODED FORMAT (*C* FORMAT).
- * BUFFER IS ASSUMED TO BE IN *C* FORMAT (LINE IS
- * TERMINATED BY A ZERO IN BYTE (4)) AND IS
- * OUTPUT UNTIL A ZERO IN BYTE (0) OF THE FIRST WORD
- * IN A LINE IS ENCOUNTERED, OR UNTIL 1000B
- * WORDS HAVE BEEN DISPLAYED.
- * IF A WORD CONTAINING 7777 IN BYTE (0) IS
- * FOUND, THE LOWER 18 BITS WILL BE USED AS AN
- * INDEX. IF THE INDEX IS ZERO OR GREATER THAN
- * FL, THE DATA WILL BE TERMINATED.
- *
- * A = ALTERNATE LINE SPACING.
- * 0 = NORMAL LINE SPACING AS SPECIFIED BY THE *S* BIT.
- * 1 = LINE SPACING IS ONE AND HALF TIMES THAT SPECIFIED
- * BY THE *S* BIT.
- *
- * TBUF = FWA OF TITLE.
- * THIS STRING OF 16 CHARACTERS WILL BE PLACED ON LINE
- * CHARACTER POSITIONS 5-20 OF THE DISPLAY. IMBEDDED
- * CHARACTERS WITH A VALUE OF 60B OR MORE WILL APPEAR
- * AS A BLANK. THE STRING MAY BE TERMINATED BY AN END
- * OF LINE BYTE. IF *TBUF* IS ZERO, OR THE (*TBUF*) IS
- * ZERO, A DEFAULT TITLE WILL BE USED. THE DEFAULT TITLE IS
- * FOUND AT RA+*PGNR* (THE PROGRAM NAME WORD) FOR NON-SUBSYSTEM
- * JOBS, AND IS BLANK FOR SUBSYSTEM JOBS.
- *
- * I = DISPLAY STATUS.
- *
- * IF THIS IS PRESET TO ZERO (0), IT MAY BE SUBSEQUENTLY
- * CHECKED FOR NONZERO WHICH INDICATES DATA HAS BEEN
- * DISPLAYED AT LEAST ONCE.
- DSK SUBR ENTRY/EXIT
- DISPHD (K.),/DSD/TJKK+1 DISPLAY HEADER
- * LDN 0
- STD AB
- STD T1 CLEAR TERMINATE FLAG
- LDC /DSD/TJKK+1
- RJM SJS SEARCH FOR JSN IN EJT
- MJN DSKX IF JOB NOT AT CP OR JSN UNUSED
- ZJN DSKX IF SYSTEM CP
- LDD CM+3 CHECK CP NUMBER BEFORE CLEARING *MS2W*
- SBD NC
- PJN DSKX IF INVALID CP NUMBER
- ZJN DSKX IF INVALID CP NUMBER
- LDD CP
- ADN FLSW
- CRD SR
- ADN MS2W-FLSW CLEAR CP MESSAGE
- CWD AB
- ADN DBAW-MS2W READ DISPLAY CONTROL WORD
- CRD AB
- LDD AB SAVE DISPLAY STATUS UPDATE FLAG
- SHN 0-12
- LPN 1
- STM DSKA
- LDD LA CHECK LOAD ADDRESS
- LMC .FLFT
- ZJN DSK1 IF LEFT SCREEN ADDRESS
- LDD AB+3 SET RIGHT SCREEN ADDRESS
- SCN 77
- SHN 6
- LMD AB+2
- SHN 6
- STD AB+4
- SHN -14
- STD AB+3
- LDD HN SET RIGHT SCREEN
- DSK1 STM DSKF SET RIGHT/LEFT SCREEN FLAG
- LDD AB+3 CHECK CONTROL WORD ADDRESS
- LPN 37
- SHN 14
- ADD AB+4
- NJN DSK2 IF BUFFER ADDRESS DEFINED
- AOD T1 SET TERMINATE FLAG IN *DTL*
- DSK2 SHN -6 BUFFER ADDRESS/100B
- SBD SR+4
- MJN DSK3 IF BUFFER ADDRESS IN RANGE
- AOD T1 SET TERMINATE FLAG IN *DTL*
- LDN 0 CLEAR BUFFER ADDRESS
- STD AB+3
- STD AB+4
- DSK3 RJM SMA SET MEMORY ADDRESS OF CONTROL WORD
- SOD SR UPDATE COUNT LEFT TILL END OF FL
- LDD T6 READ CM BUFFER CONTROL WORD
- SHN 14
- ADD T7
- CRD AB
- ADN 1
- STD T7 SAVE DATA ADDRESS
- SHN -14
- STD T6
- RJM DTL DISPLAY TITLE
- LDN 7 WORD COUNT/LINE = 6
- STD T3
- LDN YINC INITIALIZE LINE SPACING
- STD T2
- LDM DCTY
- NJN DSK4 IF THE CONSOLE IS NOT A *CC545*
- LDD AB+1 CHECK THE ALTERNATE SPACING BIT
- SHN 21-13
- PJN DSK3.1 IF SINGLE SPACING REQUESTED
- LDN YINC/2
- RAD T2
- DSK3.1 LDD AB CHECK THE SIZE BIT
- LPN 2
- ZJN DSK4 IF SMALL SIZE
- RJM SMC SET MEDIMUM CHARACTER SIZE
- LDN 4 WORD COUNT/LINE = 3
- STD T3
- LDD T2 DOUBLE THE LINE SPACING
- RAD T2
- DSK4 LDD T2 SET SPACING FOR CODED DISPLAYS
- LMC LCNI
- STM DSKD
- LDM DCTY DETERMINE IF COORDINATE CHECKS TO BE MADE
- ZJN DSK4.1 IF *CC545*
- STM DSKE ENABLE THE STATUS UPDATE
- LMD AB CHECK CODED/PROGRAM MODE
- LPN 1
- DSK4.1 STD T4
- LDM RNWB,T4
- STM RNWA
- LDN 0 SET WORD COUNT
- STD T2
- LDM CTOS SET Y-COORDINATE
- OAN CH+40
- STD YC
- LDD AB CHECK FORMAT
- LPN 1
- NJN DSK6 IF CODED FORMAT
- * DISPLAY PROGRAM FORMAT.
- DSK5 RJM RNW READ NEXT WORD
- ZJN DSK7 IF END OF DATA
- LDN 5 DISPLAY WORD
- OAM CM,CH
- UJN DSK5 DISPLAY NEXT WORD
- * DISPLAY CODED FORMAT.
- DSK6 RJM RNW READ NEXT WORD
- DSK7 ZJN DSK12 IF END OF DATA
- LDN 2 OUTPUT COORDINATES
- OAM XC,CH
- STD T4 CLEAR DISPLAY COUNT
- DSK8 LDD CM+4 SAVE END OF WORD
- STD T1
- AOD T4 COUNT WORD DISPLAYED
- SBD T3
- MJN DSK8.1 IF NOT LAST WORD
- NJN DSK9 IF FULL LINE DISPLAYED
- STD CM+2 DISPLAY CHARACTERS 61-64
- STD CM+3
- STD CM+4
- DSK8.1 RJM DWD DISPLAY WORD
- DSK9 LDD T1
- ZJN DSK10 IF END OF LINE
- RJM RNW READ NEXT WORD
- UJN DSK8 LOOP TO END OF LINE
- DSK10 LCN YINC DECREMENT Y-COORDINATE
- DSKD EQU *-1 (COORDINATE POSITIONS PER LINE)
- RAD YC
- ADC -Y545+YINC CHECK SCREEN BOTTOM FOR BOTH CONSOLE TYPES
- PJN DSK6 IF NOT BOTTOM OF SCREEN
- * SET DISPLAY STATUS.
- DSK12 LDC 0 GET STATUS UPDATE FLAG
- DSKA EQU *-1
- NJN DSK13 IF NO STATUS UPDATE REQUIRED
- DSKE LDD CY
- * PSN 1 (IF NOT A *CC545*)
- LPN 17
- NJN DSK13 IF NOT TIME TO SET COMPLETE BIT
- LDN SKCS SET *K* DISPLAY COMPLETE BIT
- ADC 0 SET LEFT/RIGHT SCREEN FLAG
- * ADC 100 RIGHT SCREEN
- DSKF EQU *-1 LEFT/RIGHT SCREEN FLAG
- STD CM+1
- LDD CP SET CP ADDRESS OF JOB
- STD CM+2
- MONITOR DSRM REQUEST *MTR* TO SET COMPLETE BIT
- DSK13 LJM DSKX RETURN
- DTL SPACE 4,15
- ** DTL - DISPLAY TITLE LINE.
- *
- * ENTRY (SR+1) = RA/100.
- * (SR+4) = FL/100.
- * (T1) = TERMINATE FLAG.
- * 0 = CONTINUE PROCESSING.
- * 1 = EXIT TO *DSKX*.
- * (AB - AB+4) = LEFT OR RIGHT SCREEN CONTROL WORD.
- *
- * EXIT TO *DSKX* IF (T1) .NE. 0.
- *
- * USES T0, CM - CM+4.
- *
- * CALLS DWD.
- DTL6 LDD T1
- NJN DSK13 IF TERMINATING
- DTL SUBR ENTRY/EXIT
- LDD T1 CHECK TERMINATION FLAG
- NJN DTL1 IF TERMINATING
- LDD AB+1 CHECK FOR LEGAL ADDRESS
- LPN 37
- SHN 14
- LMD AB+2
- ZJN DTL1 IF *TBUF* = 0
- ADN 1
- SHN -6
- SBD SR+4
- PJN DTL1 IF *TBUF* .GE. FL
- LDD AB+1 READ THE TITLE
- LPN 37
- SHN 6
- ADD SR+1
- SHN 6
- ADD AB+2
- CRD CM
- LDD CM
- NJN DTL4 IF (*TBUF*) .NE. 0
- DTL1 LDD CP DETERMINE DEFAULT TITLE
- ADK JCIW
- CRD CM
- LDD CM+2
- SBK LSSI+1
- PJN DTL6 IF SUBSYSTEM
- LDD SR+1 GET PROGRAM NAME FROM (RA+*PGNR*)
- SHN 6
- ADK PGNR
- CRD CM
- LDD CM+3 CLEAR PARAMETER COUNT
- SCN 77
- STD CM+3
- LDN 0
- STD CM+4
- LDN CM-1 APPEND PERIOD TO PROGRAM NAME
- STD T0
- DTL2 AOD T0
- LDI T0
- ZJN DTL3 IF END OF NAME
- LPN 77
- NJN DTL2 IF NOT END OF NAME
- LDC 1R.&2R.
- DTL3 LMC 2R.
- RAI T0
- DTL4 LDC CH05
- OAN CH+40 SET X-COORDINATE
- RJM DWD DISPLAY THE FIRST WORD
- LDD CM+4
- ZJN DTL5 IF ONLY ONE WORD
- LDD AB+1
- LPN 37
- SHN 6
- ADD SR+1
- SHN 6
- ADD AB+2
- ADN 1
- CRD CM
- LDN 0
- STD CM+3
- STD CM+4
- RJM DWD DISPLAY THE SECOND WORD
- DTL5 LJM DTL6 RETURN
- RNW SPACE 4,20
- ** RNW - READ NEXT WORD.
- *
- * ENTRY (T6 - T7) = ABSOLUTE MEMORY ADDRESS.
- * (T2) = COUNT OF WORDS READ.
- * (SR) = COUNT TILL END OF FL
- *
- * EXIT (CM - CM+4) = NEXT WORD.
- * (T2) UPDATED.
- * (SR) UPDATED.
- * (T6 - T7) UPDATED.
- * (A) = 0, IF END OF DATA FOUND.
- *
- * ERROR TO *DSK11*, IF THE COUNT EXCEEDS 1000B OR
- * READ PAST FL IS FOUND.
- *
- * USES SR, T0, T2, AB+3 - AB+4, CM - CM+4, T6 - T7.
- *
- * CALLS SMA.
- RNW SUBR ENTRY/EXIT
- SOD SR UPDATE COUNT TILL END OF FL
- NJN RNW2 IF WITHIN FL
- RNW1 LJM DSK12 PROCESS END OF DATA
- RNW2 AOD T2 UPDATE READ COUNT
- SHN -11
- NJN RNW1 IF 1000B WORDS READ
- LDD T6 GET MEMORY ADDRESS
- SHN 14
- ADD T7
- CRD CM READ NEXT WORD
- ADN 1 UPDATE MEMORY ADDRESS
- STD T7
- SHN -14
- STD T6
- LDD CM
- ZJN RNWX IF END OF DATA WORD
- LMC 7777
- RNWA NJN RNWX IF NOT INDEX WORD
- * NJN RNW3 (PROGRAM FORMAT REQUEST FOR A *CDC721*)
- LDD CM+3 SET NEW MEMORY ADDRESS
- STD AB+3
- LDD CM+4
- STD AB+4
- ADD CM+3
- ZJN RNW1 IF END OF CHAIN
- RJM SMA SET ABSOLUTE MEMORY ADDRESS
- UJN RNW2 PROCESS NEXT READ
- RNW3 LDN CM CHECK Y-COORDINATES
- STD T0
- RNW4 LDI T0
- ADC -LN51
- MJN RNW6 IF BYTE IS NOT A Y-COORDINATE
- ADK -LN46+LN51
- MJN RNW5 IF Y-COORDINATE IS IN THE TRAILER AREA
- ADK -LN05-1+LN46
- MJN RNW6 IF Y-COORDINATE IS NOT IN THE HEADER AREA
- RNW5 LDC BL01 FORCE Y-COORDINATE TO FIRST LINE OF BODY
- STI T0
- RNW6 AOD T0
- SBN CM+5
- MJN RNW4 IF MORE BYTES TO CHECK
- LDN 1 DATA FOUND
- LJM RNWX RETURN
- RNWB BSS 0
- LOC RNWA
- NJN RNWX IF NOT INDEX WORD
- LOC RNWA
- NJN RNW3 IF NOT INDEX WORD
- LOC *O
- SMA SPACE 4,15
- ** SMA - SET MEMORY ADDRESS.
- *
- * ENTRY (AB+3 - AB+4) = RELATIVE ADDRESS.
- * (SR+2 - SR+3) = RA/100B.
- * (SR+4) = FL/100B.
- *
- * EXIT (T6 - T7) = ABSOLUTE ADDRESS.
- * (SR) = COUNT UNTIL END OF FL.
- * (SR+1) = RA/100B IF NOT CME.
- * = 4000B IF CME.
- *
- * ERROR TO *DSK12*, IF ADDRESS IS OUTSIDE OF FL.
- *
- * USES SR, SR+1, T0, T7, T2 - T6.
- SMA SUBR ENTRY/EXIT
- LDD AB+3 GET RELATIVE ADDRESS
- LPN 37
- SHN 14
- ADD AB+4
- SHN -6 RELATIVE ADDRESS/100B
- STD SR
- LDD SR+3
- STD SR+1
- LDM. CMEI
- ZJN SMA1 IF NOT CENTRAL MEMORY EXTENSION
- LRD SR+2 (R) = REFERENCE ADDRESS
- LDC 4000
- STD SR+1
- SMA1 LDD SR+4
- SBD SR
- MJN SMA2 IF INCORRECT ADDRESS
- NJN SMA3 IF VALID ADDRESS
- SMA2 LJM DSK12 PROCESS END OF DATA
- SMA3 STD SR
- SBN 21
- MJN SMA4 IF WITHIN 2000B WORDS OF FL
- LDC 1001 SET COUNT
- STD SR
- UJN SMA5 FORM ADDRESS
- SMA4 LDD AB+4 FORM COUNT
- LPN 77
- STD T0
- LDD SR
- SHN 6
- SBD T0
- STD SR
- SMA5 LDD AB+3 FORM ABSOLUTE ADDRESS
- LPN 37
- SHN 6
- ADD SR+1
- SHN 6
- ADD AB+4
- STD T7
- SHN -14
- STD T6
- LJM SMAX RETURN
- SMC SPACE 4,10
- ** SMC - SET MEDIMUM CHARACTER SIZE
- SMC SUBR ENTRY/EXIT
- FJM *,CH
- DCN CH+40
- LDD LA CHECK SCREEN
- LMC .FLFT
- ZJN SMC1 IF LEFT SCREEN
- LDD HN SET RIGHT SCREEN
- ERRNZ SLMF+100-SRMF CODE DEPENDS ON VALUE
- SMC1 LMC SLMF SELECT MEDIUM CHARACTERS
- CFNC
- UJN SMCX RETURN
- SPACE 4,10
- DSPEND
- DISPLAY (DISPLAY L - CENTRAL PROGRAM BUFFER.)
- ENTRY DSL,D
- SPACE 4,10
- *** *L* DISPLAY.
- *
- * DISPLAY DATA FROM CMR BUFFER.
- DSL SUBR ENTRY/EXIT
- DISPHD (L. ) DISPLAY SCREEN NAME
- * LDN 0 STORE *L* DISPLAY ACTIVE FLAG
- STM. /COMDSYS/SYSB
- LDM. /COMDSYS/SYSC READ *L* DISPLAY CONTROL WORD
- LPN 77
- STD CM+3
- SHN 14
- LMM. /COMDSYS/SYSC+1
- STD CM+4
- CRD AB
- ADN LCOM+1
- STD T7 SAVE DATA ADDRESS
- SHN -14
- STD T6
- LDD AB+4
- SHN 21-3
- PJN DSL1 IF NO DATA TO DISPLAY
- SHN 21-0-21+3
- PJN DSL2 IF *L* DISPLAY REQUESTED
- LDN 0 CLEAR *L* DISPLAY REQUESTED FLAG
- STD CM+2
- LDN 2
- STD CM+1 STORE WORD COUNT OF OPTIONS
- LDD MA
- CWM DSLB,CM+1
- MONITOR UTEM
- LDD CM+1
- ZJN DSL2 IF VERIFICATION PASSED
- DSL1 DISPLA ,,(DISPLAY NOT ACTIVE.)
- DISPLA CH01,LN07,(L DISPLAY NOT ACTIVE)
- LJM DSLX RETURN
- DSL2 LDD T6 DISPLAY THE REST OF THE TITLE
- SHN 14
- LMD T7
- ADK LDSY+2
- CRD CM
- RJM DWD DISPLAY WORD
- LDD CM+4
- ZJN DSL2.1 IF THIS IS A ONE WORD TITLE
- LDD T6
- SHN 14
- LMD T7
- ADK LDSY+3
- CRD CM
- RJM DWD DISPLAY WORD
- DSL2.1 LDD AB+4 CHECK FOR INPUT REQUESTED
- LPN 20
- ZJN DSL3 IF INPUT NOT REQUESTED
- LDC 0 (*L.* NOT PROCESSED)
- * LDC 2 (*L.* PROCESSED)
- DSLA EQU *-1
- NJN DSL4 IF *L.* ALREADY PROCESSED
- LDD KI
- ADD KE
- NJN DSL4 IF KEYBOARD ACTIVE
- LDN 1RL SET *L.* INTO *KBUF*
- STM KBUF
- LDN 1R.
- STM KBUF+1
- LDN 2 ADJUST KEYBOARD INDEX
- STD KI
- DSL3 STM DSLA
- DSL4 LDN 7 WORD COUNT/LINE=6
- STD T3
- LDN YINC INITIALIZE LINE SPACING
- STD T4
- LDM DCTY
- NJN DSL5 IF THE CONSOLE IS NOT A *CC545*
- LDD AB+4 CHECK THE ALTERNATE SPACING BIT
- SHN 21-6
- PJN DSL4.1 IF SINGLE SPACING REQUESTED
- LDN YINC/2
- RAD T4
- DSL4.1 LDD AB+4 CHECK THE SIZE BIT
- LPN 4
- ZJN DSL5 IF SMALL CHARACTER SIZE
- RJM SMS SET MEDIUM CHARACTER SIZE
- LDN 4
- STD T3
- LDD T4 DOUBLE THE LINE SPACING
- RAD T4
- DSL5 LDD T4 SET SPACING FOR CODED DISPLAYS
- LMC LCNI
- STM DSLC
- LDM DCTY DETERMINE IF COORDINATE CHECKS TO BE MADE
- ZJN DSL5.1 IF *CC545*
- LMD AB CHECK CODED/PROGRAM MODE
- LPN 1
- DSL5.1 STD T4
- LDM RNWB,T4
- STM RNWA
- LDM CTOS SET Y-COORDINATE
- OAN CH+40
- STD YC
- LDD AB+4 CHECK FORMAT
- LPN 2
- NJN DSL7 IF CODED FORMAT
- * DISPLAY PROGRAM FORMAT
- DSL6 RJM RNW READ NEXT WORD
- ZJN DSL8 IF END OF DATA
- LDN 5 DISPLAY WORD
- OAM CM,CH
- UJN DSL6 DISPLAY NEXT WORD
- * DISPLAY CODED FORMAT.
- DSL7 RJM RNW READ NEXT WORD
- DSL8 ZJN DSL13 IF END OF DATA
- LDN 2 OUTPUT COORDINATES
- OAM XC,CH
- STD T4 CLEAR DISPLAY COUNT
- DSL9 LDD CM+4 SAVE LAST BYTE
- STD T1
- AOD T4 COUNT WORD DISPLAYED
- SBD T3
- MJN DSL9.1 IF NOT LAST WORD
- NJN DSL10 IF FULL LINE DISPLAYED
- STD CM+2 DISPLAY CHARACTERS 61-64
- STD CM+3
- STD CM+4
- DSL9.1 RJM DWD DISPLAY WORD
- DSL10 LDD T1
- ZJN DSL11 IF END OF LINE
- RJM RNW READ NEXT WORD
- UJN DSL9 LOOP TO END OF FILE
- DSL11 LCN YINC DECREMENT Y-COORDINATE
- DSLC EQU *-1 (COORDINATE POSITIONS PER LINE)
- RAD YC
- ADC -Y545+YINC CHECK SCREEN BOTTOM FOR BOTH CONSOLE TYPES
- PJN DSL7 IF NOT BOTTOM OF SCREEN
- DSL13 LJM DSLX RETURN
- DSLB SPACE 4,10
- * *UTEM* MONITOR FUNCTION BUFFER.
- DSLB VFD 1/1,5/0,6/1,6/0,6/0 VERIFY *L* DISPLAY REQUESTED
- CON 0,0,1
- VFD 1/0,5/0,6/1,6/0,6/0 CLEAR *L* DISPLAY REQUESTED
- CON 0,0,0
- RNW SPACE 4,10
- ** RNW - READ NEXT WORD.
- *
- * ENTRY (T6 - T7) = ABSOLUTE ADDRESS.
- *
- * EXIT (CM - CM+4) = NEXT WORD.
- * (T6 - T7) UPDATED.
- * (A) = 0, IF END OF DATA FOUND.
- *
- * USES T0, T6, T7, CM - CM+4.
- RNW SUBR ENTRY/EXIT
- LDD T6 GET MEMORY ADDRESS
- SHN 14
- LMD T7
- CRD CM READ NEXT WORD
- AOD T7 UPDATE MEMORY ADDRESS
- SHN -14
- RAD T6
- LDD CM
- RNWA UJN RNWX IF NOT INDEX WORD
- * ZJN RNWX (PROGRAM FORMAT REQUEST FOR A *CDC721*)
- LDN CM CHECK Y-COORDINATES
- STD T0
- RNW1 LDI T0
- ADC -LN51
- MJN RNW3 IF BYTE IS NOT A Y-COORDINATE
- ADK -LN46+LN51
- MJN RNW2 IF Y-COORDINATE IS IN THE TRAILER AREA
- ADK -LN05-1+LN46
- MJN RNW3 IF Y-COORDINATE IS NOT IN THE HEADER AREA
- RNW2 LDC BL01 FORCE Y-COORDINATE TO FIRST LINE OF BODY
- STI T0
- RNW3 AOD T0
- SBN CM+5
- MJN RNW1 IF MORE BYTES TO CHECK
- LDN 1 DATA FOUND
- LJM RNWX RETURN
- RNWB BSS 0
- LOC RNWA
- UJN RNWX IF NOT INDEX WORD
- LOC RNWA
- ZJN RNWX IF NOT INDEX WORD
- LOC *O
- SMS SPACE 4,10
- ** SMS - SET MEDIUM CHARACTER SIZE.
- SMS SUBR ENTRY/EXIT
- FJM *,CH
- DCN CH+40
- LDD LA CHECK IF LEFT SCREEN
- LMC .FLFT
- ZJN SMS1 IF LEFT SCREEN
- LDD HN SELECT RIGHT SCREEN
- ERRNZ SLMF+100-SRMF CODE DEPENDS ON VALUE
- SMS1 LMC SLMF SELECT MEDIUM CHARACTERS
- CFNC
- UJN SMSX RETURN
- QUAL
- DSLA EQU /DSD"M."/DSLA
- QUAL *
- SPACE 4,10
- DSPEND
- DISPLAY (DISPLAY M - EXTENDED MEMORY DISPLAY.),AMF
- ENTRY DSM,DSM
- DSM SPACE 4,10
- *** *M* DISPLAY.
- *
- * DISPLAY EXTENDED MEMORY IN 5 GROUPS OF 4 DIGITS WITH
- * DISPLAY CODE TRANSLATION.
- EMRA EQU 2 - 3 EM RAE (IN WORDS)
- EMFL EQU 4 - 5 EM FIELD LENGTH (IN WORDS)
- DSM SUBR ENTRY/EXIT
- DISPHD ("MHDR"),/DSD/TJMM+1
- LDC SHNI+22-3 PRESET SHIFT INSTRUCTIONS
- ADM UESC
- STM DSMF
- STM DSMG
- LDC EDBP
- CRD SH
- LDD SH
- ADD SH+1
- NJN DSM1 IF EXTENDED MEMORY DEFINED
- DISPLA CH01,LN08,(EXTENDED MEMORY UNDEFINED.)
- DSM0 UJN DSMX RETURN
- DSM1 LDD SF SET SECURE FLAG (LOCAL)
- STD T8
- LDD LK
- SHN -1
- ZJN DSM2 IF NOT SECURE UNLOCK
- LDN 0 CLEAR SECURE FLAG
- STD T8
- DSM2 LDC /DSD/TJMM+1 SEARCH FOR JSN IN EST
- RJM SJS
- MJN DSM0 IF JOB NOT AT CP OR JSN UNUSED
- LDM CTOS INITIALIZE LINE NUMBER
- SBN YINC
- STD YC
- OAN CH+40
- LDN 2 SET (T9) FOR 2 OR 4 GROUPS OF DISPLAY DATA
- SBM DCTY
- SHN 2
- STD T9
- * SET EXTENDED MEMORY EQUIPMENT.
- LDD CP
- NJP DSM5 IF CP RELATIVE MEMORY DISPLAY
- LDK MMFL LINK DEVICE IS DEFAULT
- CRD CM
- LDD CM+1
- LPC 777
- NJN DSM3 IF LINK DEVICE DEFINED
- LDK EXML GET EM EQUIPMENT WITH CPU ACCESS
- CRD CM
- LDD CM+4
- LPC 777
- ZJN DSM4 IF NO EM EQUIPMENT DEFINED
- DSM3 STD T5
- LDK MEFL
- CRD CM
- LDD CM+2 CALCULATE SHIFT COUNT
- SHN -5
- LPN 3
- ADD TH
- ERRNZ SHNI-1000
- STM DSMH
- LDD CM+3
- SHN 0
- * SHN (EMBS/1000B)-1
- DSMH EQU *-1
- SHN 21-2
- STM EMFL
- SHN 14
- SCN 77
- STM EMFL+1
- LDN 0
- UJN DSM6 SET ABSOLUTE RAE
- DSM4 LDD NC USE SYSTEM CP RAE, FLE
- SHN 7
- DSM5 ADN ECSW READ EXTENDED MEMORY STATUS WORD
- CRD CM
- LDD CM+4 SET EM FIELD LENGTH
- NJN DSM5.1 IF USER EM PRESENT
- DISPLA CH01,LN08,(USER EM NOT ASSIGNED.)
- LJM DSMX RETURN
- DSM5.1 SHN 22-3
- * SHN 22-3+UESC
- DSMF EQU *-1
- STM EMFL
- SHN -6
- SCN 77
- STM EMFL+1
- LDD CM+2 SET EM RA (RAE) IN WORDS
- SHN 14
- LMD CM+3
- DSMG SHN 22-3
- * SHN 22-3+UESC
- DSM6 STM EMRA
- SHN -6
- SCN 77
- STM EMRA+1
- LDC EFRL READ FLAG REGISTER
- CRD CM
- LDD CM+3
- SHN 21-13
- MJN DSM7 IF NO FLAG REGISTER TO DISPLAY
- DISPLA CH01,,(FLAG REGISTER =)
- LDD CM+3 DISPLAY FLAG REGISTER
- RJM D2D
- LDD CM+4
- RJM D4D
- DSM7 LDC. DSMD SET ADDRESS OF ERROR STATUS WORDS
- STD T3
- LDN 0 PRESET INDEX INTO BUFFER
- STD T4
- LDD T9 PRESET LAST INDEX-INTO-BUFFER + 1
- SHN -1
- STD T5
- SOM DSMC CHECK REREAD COUNTER
- MJN DSM8 IF TIME TO REREAD
- LJM DSM14 CHECK TIME AND DISPLAY
- DSM8 LDC TDSM ADDRESS TABLE
- STD T7
- ADD T9 SET END OF TABLE
- STD T2
- LDI T7
- SHN -13
- LMN 1
- ADD CP
- NJN DSM8.1 IF NOT ABSOLUTE OVERLAY WITH POSITIVE FWA
- RJM RES
- DSM8.1 LDN 0
- STD AB
- STD AB+2
- LDD TH SET NUMBER OF WORDS IN EACH GROUP = 10
- STD AB+1
- DSM9 LDM EMFL
- NJN DSM10 IF EXPANDED MODE ADDRESSING
- LDI T7
- LPC 777
- STI T7
- DSM10 LDI T7
- STD AB+3
- AOD T7
- LDI T7
- STD AB+4
- LDD CP
- ZJN DSM11 IF ABSOLUTE DISPLAY
- LDM EMRA+1 ADD RAE TO ADDRESS
- RAD AB+4
- SHN -14
- ADM EMRA
- RAD AB+3
- DSM11 LDD SH
- SHN 14
- LMD SH+1
- ADD T4
- CWD AB WRITE ADDRESS LIST
- AOD T4
- AOD T7
- LMD T2
- NJN DSM9 IF NOT END OF ADDRESS TABLE
- LDD SH+1 SET LIST ADDRESS IN *ECSM* REQUEST
- STD CM+2
- LDD T9 SET NUMBER OF ENTRIES IN LIST = 4 (OR 2)
- SHN -1+6
- ADD SH
- STD CM+1
- LDD CP
- ZJN DSM12 IF ABSOLUTE EXTENDED MEMORY DISPLAY
- LDN 2 INDICATE READ FROM USER EXTENDED MEMORY
- DSM12 ADN /CPS/PELS*10 SET *ECSM* READLIST SUBFUNCTION
- SHN 6
- STD CM+3
- MONITOR ECSM READ EXTENDED MEMORY
- LDD T9
- LPN 10
- STM DSMC RESET COUNTER = 10 (OR 0)
- LDD T9
- SHN -1
- SBN 1
- STM DSMA
- DSM13 SOD T4 READ ERROR RESPONSE
- LDD SH
- SHN 14
- LMD SH+1
- ADD T4
- CRD CM
- LDD CM+4
- STM 0,T3
- DSMA EQU *-1
- SOM DSMA
- PJN DSM13 IF NOT END OF TABLE
- DSM14 LDN 0 TABLE INDEX
- STD T6
- LCN 2*YINC
- RAD YC
- DSM15 LDN 1 SET ERROR FLAG MASK
- STD T4
- LDI T3 SET ERROR BITS
- STM DSMB
- LDM TDSM,T6 EXTENDED MEMORY ADDRESS
- STD AB
- LDM TDSM+1,T6
- STD AB+1
- DSM16 LCN YINC
- RAD YC
- LDD T4 CHECK FOR EXTENDED MEMORY ERROR
- LPC 1
- DSMB EQU *-1
- ZJN DSM17 IF NO ERROR ON THIS WORD
- CFNC BIVF
- SHN 1-21
- LPN 2
- DSM17 STD T2 SET INTENSIFICATION COUNT
- LDN 2 OUTPUT COORDINATES
- OAM XC,CH
- LDD AB DISPLAY ADDRESS
- RJM D4D
- LDD AB+1
- RJM D4D
- LDD T8
- ZJN DSM19 IF OKAY TO DISPLAY EXTEMDED ME
- LDD AB
- NJN DSM18 IF ADDRESS IN SECURED AREA
- LDC 2000B
- SBD AB+1
- PJN DSM19 IF ADDRESS NOT IN SECURED AREA
- DSM18 LDN DSMJL
- OAM DSMJ,CH DISPLAY SECURITY BLANKET
- LDN DSMEL
- OAM DSME,CH
- UJN DSM20 CONTINUE
- DSM19 LDD SH FETCH WORD FROM BUFFER
- SHN 14
- LMD SH+1
- ADD T5
- CRD CM
- RJM D5F DISPLAY WORD
- DSM20 SOD T2
- PJP DSM17 IF MORE INTENSIFICATION NEEDED
- AOD AB+1 INCREMENT ADDRESS
- SHN -12D
- RAD AB
- CFNC EIVF
- AOD T5
- LDD T4 SHIFT MASK
- SHN 1
- STD T4
- SHN -10
- NJN DSM21 IF END OF GROUP
- LJM DSM16 LOOP
- DSM21 LCN YINC
- RAD YC
- AOD T3 ADVANCE ERROR WORD POINTER
- LDN 2
- RAD T6
- LMD T9
- ZJN DSM22 IF END OF DISPLAY
- LJM DSM15 LOOP TO NEXT GROUP
- DSM22 LJM DSMX EXIT
- DSMC CON 0
- DSMD BSS 4 ERROR INDICATION TEMPORARIES
- DSME DATA H$ SECURED AREA$
- DSMJ DATA H$ **********$
- DSMJL EQU *-DSMJ
- DSMEL EQU *-DSME
- * DEFINE SYMBOLS FOR USE BY *EEC*.
- QUAL
- EMRA EQU /DSD"M."/EMRA
- EMFL EQU /DSD"M."/EMFL
- QUAL *
- SPACE 4,10
- DSPEND
- DISPLAY (DISPLAY O - TRANSACTION STATUS TABLE.),POD
- ENTRY DSO,D
- DSO SPACE 4,10
- *** *O,TST* DISPLAY.
- *
- * EXAMPLE.
- *
- * 1 2 3 4 5 6
- * 1234567890123456789012345678901234567890123456789012345678901234
- * TERMINALS = 313.
- *
- * NUMBER NAME DB STATUS USER AREA ACN COUNT
- * 120 AAAAAAA SS -L--R--I--- 12345670 1234 1234
- VTST EQU 12 ADDRESS OF TERMINAL TABLE POINTER
- DSO SUBR ENTRY/EXIT
- DISPHD (O,TST. TAF TERMINALS.)
- LDM. CMEI
- ZJN DSO1 IF CME NOT PRESENT
- STM DSOA FORCE READ OF *FLSW*+1
- DSO1 LDC TRSI FIND *TAF*
- RJM FSS
- NJN DSO3 IF *TAF* ACTIVE
- DSO2 DISPLA CH01,LN08,(NOT ACTIVE)
- UJN DSOX RETURN
- DSO3 SHN 7
- DSOA ADN FLSW
- * ADN FLSW+1 (CME PRESENT)
- CRD AB
- LRD AB+1
- LDD AB+3 READ TABLE POINTER
- SHN 6
- ADN VTST
- CRD T3
- LDD T4
- ADD T5
- ZJN DSO2 IF *TAF* IDLE
- LDM CTOS INITIALIZE LINE NUMBER
- OAN CH+40
- SBN 2*YINC
- STM DSOC+2
- STD YC
- DISPLA CH01,,(TERMINALS = )
- LDD T6 FIND NUMBER OF TERMINALS
- SBD T4
- SHN 14
- ADD T7
- SBD T5
- ADN 2
- SHN -1
- SBN 1
- STD T7 TERMINAL COUNT
- RJM D4S DISPLAY NUMBER OF TERMINALS
- LDN DSOCL
- OAM DSOC,CH
- LDD AB+3 SAVE RA
- STD T6
- LDM TDSO SET FIRST TERMINAL
- STD T3
- SHN 1
- RAD T5
- SHN -14
- RAD T4
- LCN 2*YINC SET Y-COORDINATE
- RAD YC
- OAN CH+40
- * DISPLAY TERMINAL STATUS.
- DSO4 LDD XC OUTPUT X-COORDINATE
- OAN CH+40
- LDD T4 READ TERMINAL ENTRY
- SHN 6
- ADD T6
- SHN 6
- ADD T5
- CRD AB
- ADN 1
- CRD CM
- CRD SR
- LDD T3 DISPLAY TERMINAL NUMBER
- RJM D4S
- LDN 0 DISPLAY TERMINAL NAME
- STD CM+4
- LDD CM+3
- SCN 77
- STD CM+3
- LDC CH09
- OAN CH+40
- LDN 5
- OAM CM,CH
- LDD AB+2 DISPLAY DATA BASE NAME
- OAN CH+40
- LDC CH24
- OAN CH+40
- LDD SR+3 FORM LOWER 5 BITS FROM WORD 2
- LPN 76
- LMN 1 SET UNUSED BIT
- STD CN
- LDD AB FORM UPPER 6 BITS FROM WORD 1
- LPC 7700
- RAD CN
- LDC. DSOB DISPLAY BIT STATUS
- RJM DBS
- LDC CH38
- OAN CH+40
- LDD AB+3 DISPLAY USER AREA
- RJM D4D
- LDD AB+4
- RJM D4D
- LDC CH49
- OAN CH+40
- LDD AB+1 DISPLAY APPLICATION CONNECTION NUMBER
- SHN -6
- SHN 14
- ADD AB
- SHN 6
- LPC 7777
- RJM D4S
- LDD SR+4 DISPLAY NUMBER OF TRANSACTIONS
- RJM D4S
- AOD T3 ADVANCE TERMINAL NUMBER
- SBD T7
- ZJN DSO4.1 IF ONE MORE TERMINAL
- PJN DSO6 IF END OF TERMINALS
- DSO4.1 LDN 2 ADVANCE ENTRY ADDRESS
- RAD T5
- SHN -14
- RAD T4
- LCN YINC
- RAD YC DECREMENT Y-COORDINATE
- OAN CH+40
- SBM CBOS
- MJN DSO5 IF SCREEN FULL
- LJM DSO4 LOOP FOR ANOTHER TERMINAL
- DSO5 LDN MOREL OUTPUT *MORE* MESSAGE
- OAM MORE,CH
- LDD T3 SET STARTING TERMINAL FOR NEXT PAGE
- DSO6 STM TDSO+1
- LJM DSOX RETURN
- DSOB CON 2RAL&2R--
- CON 2R-C&2R--
- CON 2RRT&2R--
- CON 2RMI&2R--
- CON 2RFP&2R--
- CON 2RD &2R--
- CON 0
- DSOC CON CH17,2H.
- CON T545-2*YINC,CH01
- * CON T721-2*YINC,CH01
- DATA H*NUMBER*
- CON CH10
- DATA H*NAME*
- CON CH19
- DATA H*DB*
- CON CH26
- DATA H*STATUS*
- CON CH38
- DATA H*USER AREA*
- CON CH50
- DATA H*ACN COUNT*
- DSOCL EQU *-DSOC LENGTH OF HEADING
- SPACE 4
- ** COMMON DECKS.
- *CALL COMDDBS
- POD SPACE 4,10
- ** POD - PAGE *O* DISPLAY.
- *
- * ENTRY (T2) = 0, IF PAGE FORWARD.
- * = 1, IF PAGE BACKWARD.
- POD BSS 0 ENTRY
- LDD T2
- NJN POD1 IF *-*
- LDM TDSO+1
- POD1 STM TDSO
- LJM. /KEYBOARD/KBIX RETURN
- SPACE 4,10
- DSPEND
- DISPLAY (DISPLAY O - SUBCONTROL POINT STATUS.),POD
- ENTRY DTS,D
- DTS SPACE 4,10
- *** *O,SCP* DISPLAY.
- *
- * EXAMPLE.
- *
- * 1 2 3 4 5 6
- * 1234567890123456789012345678901234567890123456789012345678901234
- * SCP NAME RA FL NT USER RA+1 STATUS
- *
- * 1 ABCDEFG 111100 110000 0 ABCDEFG CIOP ------------
- * 2
- DTS SUBR ENTRY/EXIT
- DISPHD (O,SCP. TAF SUBCONTROL PT.)
- LDM. CMEI
- ZJN DTS1 IF CME NOT PRESENT
- STM DTSA FORCE READ OF FLSW+1
- DTS1 LDC TRSI FIND *TAF*
- RJM FSS
- NJN DTS3 IF *TAF* IS ACTIVE
- DTS2 DISPLA CH01,LN08,(NOT ACTIVE)
- UJN DTSX RETURN
- DTS3 SHN 7
- DTSA ADN FLSW
- * ADN FLSW+1 (CME PRESENT)
- CRD AB
- LRD AB+1
- LDD AB+3 SET RA
- STD T7
- SHN 6
- ADN VNSCP NUMBER OF SUB CONTROL POINTS
- CRD CM
- ADN VTST-VNSCP *TAF* IDLE FLAG
- CRD AB
- ADN VLSP-VTST LAST SUB CONTROL POINT
- CRD T2
- LDD AB+3
- ADD AB+4
- ZJN DTS2 IF *TAF* IS IDLE
- LDD CM+2
- STD T6
- SHN 3
- STD CM+2
- LDD T3 COMPUTE ADDRESS OF FIRST SUBCONTROL POINT
- SHN 6
- ADD T7
- SHN 6
- ADD T4
- SBD CM+2 ADDRESS OF FIRST SUBCONTROL POINT
- STM DTSB+1
- STM DTSC+1
- SHN -14
- ADC ADCI
- STM DTSB
- STM DTSC
- LDD T7
- SHN 6
- ADN VTLD TASK LIBRARY DIRECTORY POINTER
- CRD AB
- LDD AB+1
- STD T3
- LDD AB+2
- STD T4
- LDM CTOS INITIALIZE LINE NUMBER
- OAN CH+40
- SBN 2*YINC
- STD YC
- LDN DTSEL DISPLAY HEADER
- OAM DTSE,CH
- LDM TDTS CURRENT INDEX
- STD T5
- DTS4 LDN 2 OUTPUT COORDINATES
- OAM XC,CH
- LDD T5
- SHN 3 READ FIRST WORD OF SUBCONTROL POINT TABLE
- DTSB ADC *
- CRD AB
- ADN 2 READ THIRD WORD OF SUBCONTROL POINT TABLE
- CRD CM
- LDD AB
- SHN 21-6
- PJN DTS5 IF NOT BATCH CONCURRENT JOB
- LDD AB+3
- LPN 77
- SHN 6
- ADD T7
- SHN 6
- ADD AB+4
- ADC -NUAPL+BCTN GET BATCH CONCURRENT JOB NAME
- CRD CM
- UJN DTS6 DO NOT GET NAME FROM *TASKLIB* DIRECTORY
- DTS5 BSS 0
- LDD T3
- SHN 6
- ADD T7
- SHN 6
- ADD T4
- ADD CM GET TASK NAME
- SBN 1
- CRD CM
- LDD CM+3
- SCN 77
- STD CM+3
- DTS6 BSS 0
- LDD T5 DISPLAY SUBCONTROL POINT NUMBER
- RJM D2S
- LDD AB+3
- SCN 77
- ADD AB+2
- NJN DTS7 IF SUBCONTROL POINT ACTIVE
- LJM DTS9 ADVANCE SUBCONTROL POINT
- DTS7 LDC CH06
- OAN CH+40
- LDN 4 DISPLAY TASK NAME
- OAM CM,CH
- * LDN 0
- OAN CH+40 SKIP TWO SPACES
- LDD T5
- SHN 3
- ADN 1 READ SECOND WORD OF SUBCONTROL POINT TABLE
- DTSC ADC *
- CRD CM
- LDD AB+3
- LPN 77
- SHN 14
- ADD AB+4 DISPLAY TASK RA
- RJM D6S
- LDD AB+3 DISPLAY TASK FL
- SHN -6
- STD T0
- LDD AB+2
- SHN 6
- ADD T0
- RJM D6S
- LDD CM+1 DISPLAY NUMBER OF TASKS ACTIVE AT SUB CP
- LPN 7
- RJM D2S
- LDC CH37
- OAN CH+40
- LDD AB SAVE STATUS BITS
- SCN 77
- STD CN
- LDD CM
- SHN -5
- LPN 77
- RAD CN
- LDN ZERL BLANK TERMINAL NAME
- CRD SR
- LDD CM+3
- LPN 77
- ADD CM+4
- ZJN DTS8 IF NO STATUS WORDS PRESENT
- SBD CM+4
- SHN 6
- ADD T7
- SHN 6
- ADD CM+4
- CRD CM READ STATUS WORD
- LDD CM+3 GET ADDRESS OF USER NAME WORD
- LPN 77
- SHN 6
- ADD T7
- SHN 6
- ADD CM+4
- ADN CBWCW
- CRD SR
- LDD SR+3
- SCN 77
- STD SR+3
- DTS8 LDN 4 DISPLAY USER NAME
- OAM SR,CH
- * LDN 0 SKIP TWO SPACES
- OAN CH+40
- LDD AB+3 GET ADDRESS OF LAST SYSTEM REQUEST CALL
- LPN 77
- SHN 6
- ADD T7
- SHN 6
- ADD AB+4
- ADC LRA1-NUAPL
- CRD CM
- LDN 2 DISPLAY LAST RA+1 CALL
- OAM CM,CH
- * LDN 0 SKIP TWO SPACES
- OAN CH+40
- LDC. DTSD DISPLAY BIT STATUS
- RJM DBS
- DTS9 AOD T5
- SBD T6
- ZJN DTS9.1 IF ONE MORE SUBCONTROL POINT
- PJN DTS11 IF AT END OF SUBCONTROL POINTS
- DTS9.1 LCN YINC
- RAD YC DECREMENT Y-COORDINATE
- SBM CBOS
- MJN DTS10 IF SCREEN FULL
- LJM DTS4 LOOP
- DTS10 LDD YC DISPLAY MORE MESSAGE
- OAN CH+40
- LDN MOREL
- OAM MORE,CH
- LDD T5 SET FIRST SUBCONTROL POINT FOR NEXT PAGE
- DTS11 STM TDTS+1
- LJM DTSX RETURN
- DTSD CON 2RSF&2R--
- CON 2RLM&2R--
- CON 2R-B&2R--
- CON 2RUC&2R--
- CON 2REA&2R--
- CON 2RTD&2R--
- CON 0
- DTSE CON CH01 HEADER LINE
- DATA H*SCP NAME*
- CON CH19,2HRA
- CON CH27,2HFL
- CON CH32,2HNT
- CON CH38
- DATA H*USER*
- CON CH47
- DATA H*RA+1*
- CON CH56
- DATA H*STATUS*
- DTSEL EQU *-DTSE LENGTH OF HEADING
- BCTN EQU 113 BATCH CONCURRENCY JOB NAME IN NEGATIVE FL
- NUAPL EQU 120 LENGTH OF NEGATIVE *FL*
- VNSCP EQU 10 NUMBER OF SUB CONTROL POINTS
- VTST EQU 12 TERMINAL STATUS TABLE
- VLSP EQU 15 LAST SUB CONTROL POINT
- VTLD EQU 22 TASK LIBRARY DIRECTORY
- LRA1 EQU 32 LAST SYSTEM REQUEST CALL
- CBWCW EQU 11D WORD COUNT OF INPUT DATA
- SPACE 4
- ** COMMON DECKS.
- *CALL COMDDBS
- POD SPACE 4,10
- ** POD - PAGE *O* DISPLAY.
- *
- * ENTRY (T2) = 0, IF PAGE FORWARD.
- * = 1, IF PAGE BACKWARD.
- POD BSS 0 ENTRY
- LDD T2
- NJN POD1 IF *-*
- LDM TDTS+1
- POD1 STM TDTS
- LJM. /KEYBOARD/KBIX RETURN
- SPACE 4,10
- DSPEND
- DISPLAY (DISPLAY O - TASK LIBRARY DIRECTORY.),POD
- ENTRY DTL,D
- DTL SPACE 4,10
- *** *O,TLD* DISPLAY.
- *
- * EXAMPLE.
- *
- * 1 2 3 4 5 6
- * 1234567890123456789012345678901234567890123456789012345678901234
- * LIBRARY = TAFLIB
- *
- * NUMBER NAME CALLED LOADED FL EFL STATUS
- * 1234 ABCDEFG 123456 123456 2000 4000 --------
- SPACE 4,10
- *** ABBREVIATIONS.
- *
- * *TLD* = TASK LIBRARY DIRECTORY.
- DTL SUBR ENTRY/EXIT
- DISPHD (O,TLD. TAF TASK LIBRARY.)
- LDM. CMEI
- ZJN DTL1 IF CME NOT PRESENT
- STM DTLA FORCE READ OF *FLSW*+1
- DTL1 LDC TRSI FIND *TAF*
- RJM FSS
- NJN DTL3 IF *TAF* IS ACTIVE
- DTL2 DISPLA CH01,LN08,(NOT ACTIVE)
- UJN DTLX RETURN
- DTL3 SHN 7
- DTLA ADN FLSW
- * ADN FLSW+1 (CME PRESENT)
- CRD T4 (T7) = RA
- LRD T4+1
- LDD T7
- SHN 6
- ADN VTST *TAF* IDLE FLAG
- CRD AB
- ADN VTLD-VTST READ *TLD* ADDRESS
- CRD T2
- LDD AB+3
- SHN 6
- ADD AB+4
- ZJN DTL2 IF *TAF* IS IDLE
- LDD T3 READ FIRST *TLD* HEADER
- SHN 6
- ADD T7
- SHN 6
- ADD T4
- SBN TLDLH
- CRD CM
- ADM TDTL+2 READ CURRENT *TLD* HEADER
- CRD SR
- ADN TLDLH-1 READ CURRENT LIBRARY NAME
- CRD SH
- LDD SH+3
- SCN 77
- STD SH+3
- LDD CM+1
- LPN 77B
- SHN 14
- LMD CM+2 LWA OF ALL *TLD*-S
- SBD T4
- STD SR TOTAL LENGTH OF ALL THE *TLD*-S
- LDM CTOS INITIALIZE LINE NUMBER
- OAN CH+40
- SBN 2*YINC
- STM DTLB
- SBN YINC
- STD YC
- DISPLA CH01,,(LIBRARY = )
- LDN 4
- OAM SH,CH
- LDN DTLBL OUTPUT COLUMN HEADINGS
- OAM DTLB,CH
- LDM TDTL CURRENT *TLD* ENTRY INDEX
- STM TDTL+1 NEXT *TLD* ENTRY INDEX
- SHN 1
- ADM TDTL
- ADM TDTL+2 CURRENT *TLD* LIBRARY OFFSET
- STD T6 CURRENT *TLD* ENTRY OFFSET
- DTL5 LDD T3 READ ENTRY
- SHN 6
- ADD T7
- SHN 6
- ADD T4
- ADD T6 CURRENT OFFSET
- CRD CM
- LDD CM
- NJN DTL9 IF NON-ZERO *TLD* ENTRY
- LDM TDTL+2
- ADD SR+4 LENGTH OF CURRENT LIBRARY DIRECTORY
- STM TDTL+3 PAGE TO NEXT LIBRARY
- SBD SR
- MJN DTL7 IF NOT END OF *TLD*-S
- DTL6 LDN 0
- STM TDTL+3 RESET NEXT *TLD* LIBRARY OFFSET
- DTL7 LDN 0
- STM TDTL+1 RESET NEXT *TLD* ENTRY INDEX
- DTL8 LJM DTLX RETURN
- DTL9 LCN YINC DECREMENT Y-COORDINATE
- RAD YC
- OAN CH+40
- SBM CBOS
- PJN DTL10 IF NOT THE BOTTOM OF THE SCREEN
- LDN MOREL OUTPUT *MORE*
- OAM MORE,CH
- LDM TDTL+2 PAGE TO SUBSEQUENT ENTRIES IN SAME LIBRARY
- STM TDTL+3
- UJN DTL8 RETURN
- DTL10 LDD XC OUTPUT X-COORDINATE
- OAN CH+40
- AOM TDTL+1 DISPLAY TASK NUMBER
- RJM D4S
- LDN 0 SKIP TWO SPACES
- OAN CH+40
- LDD CM+3
- SCN 77 CLEAR LAST TASK CHARACTER
- STD CM+3
- LDN 4 DISPLAY NAME
- OAM CM,CH
- * LDN 0 SKIP TWO SPACES
- OAN CH+40
- LDD T3
- SHN 6
- ADD T7 READ SECOND WORD OF *TLD* ENTRY
- SHN 6
- ADD T4
- ADD T6
- ADN 1
- CRD CM
- ADN 1 READ THIRD WORD OF *TLD* ENTRY
- CRD AB
- LDD AB+3 DISPLAY TIMES TASK HAS BEEN CALLED
- SHN -6
- STD T0
- LDD AB+2
- SHN 6
- ADD T0
- RJM D6S
- LDN 0 SKIP TWO SPACES
- OAN CH+40
- LDD AB DISPLAY TIMES TASK HAS BEEN LOADED
- LPN 77
- SHN 14
- ADD AB+1
- RJM D6S
- LDD CM+2 DISPLAY TASK FIELD LENGTH
- LPN 77
- SHN 14
- ADD CM+3
- SCN 77
- RJM D6S
- LDD CM+3 DISPLAY EXPANDABLE FIELD LENGTH
- LPN 77
- SHN 14
- ADD CM+4
- SCN 77
- RJM D6S
- LDN 0 SKIP TWO SPACES
- OAN CH+40
- LDD AB FORM STATUS BITS
- LPC 3700 FORM UPPER 5 BITS
- SHN 1
- STD CN
- LDD AB+3 FORM LOWER 3 BITS
- LPN 70
- SHN 6-5
- RAD CN
- LDC. DTLC GET ADDRESS OF LETTER TABLE
- RJM DBS DISPLAY BIT STATUS
- LDN TLDLE ADVANCE OFFSET TO NEXT ENTRY
- RAD T6
- SBD SR
- MJP DTL5 IF NOT END OF *TLD*-S
- DTL11 LJM DTL6 UPDATE PAGING AND RETURN
- VTST EQU 12B TERMINAL STATUS TABLE
- VTLD EQU 22B TASK LIBRARY POINTER WORD
- TLDLH EQU 4 LENGTH OF TLD HEADER
- TLDLE EQU 3 LENGTH OF TLD ENTRY
- DTLB CON T545-2*YINC COLUMN HEADINGS
- * CON T721-2*YINC
- CON CH01
- DATA H*NUMBER NAME*
- CON CH19
- DATA H*CALLED*
- CON CH29
- DATA H*LOADED*
- CON CH40
- DATA H*FL*
- CON CH48
- DATA H*EFL*
- CON CH56
- DATA H*STATUS*
- DTLBL EQU *-DTLB LENGTH OF COLUMN HEADINGS
- DTLC CON 2RUC&2R--
- CON 2REO&2R--
- CON 2RDS&2R--
- CON 2RQR&2R--
- CON 0
- POD SPACE 4,10
- ** POD - PAGE *O* DISPLAY.
- *
- * ENTRY (T2) = 0, IF PAGE FORWARD.
- * 1, IF PAGE BACKWARD.
- *
- * USES T1.
- POD BSS 0 ENTRY
- LDM TDTL+3 ADVANCE MULTIPLE DIRECTORY INDEX
- STM TDTL+2
- LDD T2
- LMN 1
- ZJN POD1 IF *-*
- LDM TDTL+1 ADVANCE DIRECTORY INDEX
- POD1 STM TDTL
- LJM. /KEYBOARD/KBIX RETURN
- SPACE 4,10
- ** COMMON DECKS.
- *CALL COMDDBS
- SPACE 4,10
- DSPEND
- TTL DSD/P DISPLAY SKELETON.
- EJECT
- LIST E
- .MODEL ECHO ,M=(7,8)
- DISPLAY (DISPLAY P - 1_M_0 PP REGISTERS.),PPD,CMR
- ENTRY DSP_M,D
- DSP_M SPACE 4,15
- *** *P* DISPLAY.
- *
- * DISPLAY PP REGISTERS BY CONTROL POINTS.
- *
- * EXAMPLE -
- *
- * 1 2 3 4 5 6
- * 1234567890123456789012345678901234567890123456789012345678901234
- * PP PGM CP JSN CH IA/FCN INPUT/OUTPUT REGISTERS ADDR
- * 0 MTR 20 AAAQ 7400 1524 2220 0000 0000 0000 1354
- * 0000 0000 0000 0000 0000
- * 1 DSD 35 SYS * 7410 0423 0435 0102 0031 0000 7057
- * RPPM 0071 0001 0000 0000 0000
- SPACE 4,20
- ** NOTES.
- *
- * BECAUSE OF THE DIFFERENCES BETWEEN CYBER 170 AND 180 PPS AND
- * BECAUSE OF THE SPACE CONSTRAINTS IN THE *P* DISPLAY DRIVER,
- * THE DRIVER CODE IS ASSEMBLED IN A 170 AND A 180 VARIANT BY
- * PLACING IT ALL IN A LARGE *ECHO* BLOCK. EACH VARIANT IS A
- * SEPARATE OVERLAY. WHEN *DSD* PRESETS ITSELF, IT SELECTS THE
- * CORRECT OVERLAY FOR THE SYSTEM. *DSD* DOES NOT FORCE THE *P*
- * DISPLAY DRIVER TO BE CM RESIDENT, BUT WHEN *LIBDECK* DIREC-
- * TIVES ARE USED TO FORCE IT INTO CM, ONLY THE APPROPRIATE
- * OVERLAY NEEDS TO BE THERE.
- *
- * CONDITIONAL CODE SEQUENCES ARE USED TO EXCLUDE CODE WHEN IT
- * IS UNNECESSARY. THE *ECHO* PARAMETER *M* IS USED TO DISTIN-
- * GUISH WHICH VARIANT IS BEING ASSEMBLED.
- *
- * M=7 = THE 170 VARIANT
- * M=8 = THE 180 VARIANT
- DIRECT SPACE 4,10
- * DIRECT CELL ASSIGNMENTS.
- JA EQU AB JSN ADDRESS
- PN EQU AB+1 PP NUMBER
- PR EQU AB+2 PP INPUT REGISTER ADDRESS
- SI EQU AB+3 SPACING INCREMENT
- * = 0 UNLESS *P* UP ON BOTH SIDES OF A CC545
- * = *YINC* UNLESS CPP-S ARE PRESENT
- * = 3 WHEN CPP-S ARE PRESENT
- TA EQU AB+4 TEMPORARY
- DSP SPACE 4,10
- DSP_M SUBR * ENTRY/EXIT
- DSPA LJM PRS PRESET OVERLAY
- * UJN DSP1 (AFTER INITIAL PRESET)
- DSP1 DISPHD ("PHDR"),/DSD/TJPP+1
- LDC /DSD/TJPP+1 GET JSN ADDRESS
- STD JA
- RJM SJS SEARCH FOR JSN IN EJT
- MJN DSP_M_X IF NO DISPLAY POSSIBLE
- LDN CTALL READ CHANNEL STATUS TABLE
- STD T1
- DSPB LDC ** (FWA OF THE CHANNEL RESERVATION TABLE)
- CRM CTAL,T1
- * DETERMINE THE FIRST PP TO DISPLAY AND THE PROPER SPACING.
- LDD LS
- LMD RS
- NJN DSP2 IF *P* IS NOT UP ON BOTH SCREENS
- LDM. .FLFT+DSPJ GET LEFT SCREEN FIRST INDEX
- * LDM. .FLFT+DSPJ+1 (GET RIGHT SCREEN FIRST INDEX)
- DSPC EQU *-1 (ADDRESS OF CURRENT INDEX)
- STM DSPJ
- LDC YINC*100
- * LDC 3*100 (CC545 AND CPP-S PRESENT)
- * LDC 0*100+C721 (CC634B)
- DSPD EQU *-1
- DSP2 SHN -6
- STD SI
- LDC BL01-5 SET TOP OF SCREEN
- SBD SI
- OAN CH+40
- STD YC
- STD T8 SET NEW BANK FLAG
- LDN DSPKL DISPLAY HEADER COLUMNS
- OAM DSPK,CH
- LDM DSPJ
- STD PN
- * DISPLAY NEXT PP.
- DSP3 LDD PN READ INPUT AND OUTPUT REGISTERS
- SHN 3
- ADD IA
- SBN 10
- STD PR SAVE INPUT REGISTER ADDRESS
- CRD CM
- ADN 1
- CRD SP
- LDD PN
- DSPE SBN ** (NUMBER OF NPP-S + NUMBER OF CPP-S)
- MJN DSP4 IF THIS IS NOT THE PSEUDO PP
- * LDN 0 SET PP IDENTIFIER
- STD T7
- LDC 2RPS
- STD T6
- UJN DSP10 DETERMINE LINE SPACING
- DSP4 BSS 0
- .A IFC EQ,/M/8/
- DSPF ADN ** (NUMBER OF CPP-S)
- MJN DSP5 IF THIS IS NOT A CPP
- ADC 2RC0*10 SET PP IDENTIFIER
- SHN -3+22
- STD T6
- SHN -11
- ADC 1R0*100
- STD T7
- UJN DSP9 CHECK FOR A CHANGE IN BARRELS
- DSP5 BSS 0
- .A ENDIF
- DSPG CON ADNI+**-10D (NUMBER OF PP-S IN THE SECOND BARREL)
- * ADN **-10D
- MJN DSP6 IF FIRST BANK
- ADN 6
- DSP6 ADN 10D
- STD T6 SET THE PHYSICAL PP NUMBER
- DSP9 LDD T6 CHECK FOR A CHANGE IN BARRELS
- SCN 17
- LMD T8
- ZJN DSP11 IF SAME BANK AS PREVIOUS LINE
- LMD T8
- STD T8
- .A IFC EQ,/M/7/
- AJM ISR,SC IF CYBER 17X
- .A ENDIF
- DSP10 LDN 0 SKIP A LINE
- SBD SI
- DSP11 SBN YINC SKIP TO NEXT LINE
- SBD SI DOUBLE SPACE WHEN *P* IS ON BOTH SCREENS
- RAD YC
- OAN CH+40 OUTPUT Y-COORDINATE
- SBM CBOS
- SBN YINC
- PJN DSP12 IF SPACE IS AVAILABLE
- LDD T6
- SHN -11
- NJN DSP12 IF THIS IS THE PSEUDO-PP
- LDD PN
- LJM DSP22 EXIT
- * DISPLAY PP INFORMATION.
- DSP12 LDD XC OUTPUT X COORDINATE
- OAN CH+40
- LDD T6 DISPLAY IDENTIFIER
- SBN 77
- PJN DSP13 IF THIS IS NOT AN NPP
- LPN 77
- RJM D2Z DISPLAY PP NUMBER
- UJN DSP14 COMPARE JSN-S
- DSP13 LDN 2 DISPLAY *PS* OR *CNN*
- OAM T6,CH
- * COMPARE JSN-S IF INCLUDED ON OPERATOR DISPLAY SELECTION.
- DSP14 LDD PN
- SHN PPXES
- DSPL ADC ACPP GET CONTROL POINT ADDRESS
- CRD T1
- LDD T1+4 USE FUNCTION PROCESSING CP
- STD T7 SAVE CP ADDRESS
- ADN TFSW GET EJTO
- CRD T1
- SFA EJT,T1 CALCULATE EJT ENTRY ADDRESS
- CRD SH GET JSN
- LDI JA
- ZJN DSP16 IF JSN NOT SPECIFIED
- LDD CM
- ZJN DSP15 IF PP NOT ACTIVE
- LDI JA
- LMD SH
- NJN DSP15 IF JSN-S DO NOT MATCH
- LDM. 1,JA
- LMD SH+1
- ZJN DSP16 IF JSN-S MATCH
- DSP15 LCN YINC-1 SKIP SECOND LINE
- SBM DCTY
- RAD YC
- LJM DSP21 ADVANCE TO NEXT PP
- * DISPLAY P ADDRESS.
- DSP16 LDD T6 CHECK FOR PSEUDO-PP
- STD T5
- SHN -11
- NJN DSP17 IF THIS IS THE PSEUDO-PP
- .A IFC EQ,/M/7/
- AJM RPR,SC IF CYBER 17X
- .A ENDIF
- * DISPLAY PROGRAM NAME, CP NUMBER AND JSN.
- DSP17 LDC CH06 SET X-COORDINATE
- OAN CH+40
- LDD CM
- ZJN DSP15 IF PP IS NOT ACTIVE
- OAN CH+40 DISPLAY PROGRAM NAME
- LDD CM+1
- SCN 77
- OAN CH+40
- LDD T7 DISPLAY CP NUMBER
- SHN -7
- RJM D4S
- LDC CH17
- OAN CH+40
- LDN 2 DISPLAY JSN
- OAM SH,CH
- * INDICATE IF CHANNEL IS ASSIGNED.
- * LDN 0
- OAN CH+40
- LDD T6
- ZJN DSP19 IF PP NUMBER ZERO
- LDN MXCH+2
- STD T2
- DSP18 SOD T2
- ZJN DSP19 IF NO MORE TO CHECK
- LDM CTAL-1,T2
- LPN 37
- LMD PN
- NJN DSP18 IF NOT ASSIGNED TO THIS PP
- LDN 1R* OUTPUT -*-
- DSP19 OAN CH+40
- * DISPLAY THE INPUT REGISTER
- LDC CH28 DISPLAY INPUT REGISTER ADDRESS
- OAN CH+40
- LDD PR
- RJM D4D
- LDN CM
- ERRNZ CM-CM/10*10 ADDRESS MUST BE ON A 10-BYTE BOUNDARY
- RJM DOW DISPLAY ONE WORD
- * DISPLAY THE MONITOR FUNCTION AND OUTPUT REGISTER.
- LCN YINC-1 SKIP TO A NEW LINE
- SBM DCTY
- RAD YC
- OAN CH+40
- LDC CH28 DISPLAY THE MONITOR FUNCTION
- OAN CH+40
- LDD SP
- LPC 177
- SHN -1+22
- STD TA
- SHN 1-0+1-22
- ADN SH
- STM DSPH
- LDC RPLP
- CRD CM
- LDD CM FORM TEXT OVERLAY ADDRESS
- SHN 14
- LMD CM+1
- ZJN DSP20 IF LIBRARY LOCKED
- ADK /DISPLAY/TFTN
- ADD TA
- CRD SH
- LDN 2
- OAM. **,CH
- DSPH EQU *-1
- DSP20 LDN SP
- ERRNZ SP-SP/10*10 ADDRESS MUST BE ON A 10-BYTE BOUNDARY
- RJM DOW DISPLAY ONE WORD
- * ADVANCE TO NEXT PP.
- DSP21 AOD PN ADVANCE TO NEXT PP
- SBN **+1
- DSPI EQU *-1 (NUMBER OF NPP-S + NUMBER OF CPP-S + 1)
- PJN DSP22 IF ALL PPS HAVE BEEN DISPLAYED
- LJM DSP3 DISPLAY NEXT PP
- DSP22 STM DSPJ+1 SAVE START OF NEXT PAGE
- ZJN DSP23 IF THE LAST PP WAS DISPLAYED
- LDM CBOS DISPLAY *MORE*
- SBN YINC
- OAN CH+40
- LDN MOREL
- OAM MORE,CH
- DSP23 BSS 0
- .A IFC EQ,/M/7/
- IJM DSP_M_X,SC IF NOT A CYBER 17X
- LDC /SCR/FCCL+/SCR/AMMS CLEAR AUTO PP SELECT
- RJM ODW
- .A ENDIF
- LJM DSP_M_X RETURN
- DSPJ CON 0,0 CURRENT AND NEXT PAGE INDICES
- * *P* DISPLAY HEADER.
- DSPK CON CH01
- DATA 34HPP PGM CP JSN CH IA/FCN
- DATA H*INPUT/OUTPUT REGISTERS*
- CON CH61
- DATA H*ADDR*
- DSPKL EQU *-DSPK
- DOW SPACE 4,10
- ** DOW - DISPLAY ONE WORD.
- *
- * ENTRY (A) = FWA OF THE 5 BYTES TO BE OUTPUT.
- * NOTE - THE CODE ASSUMES THAT THE FWA IS A
- * MULTIPLE OF 10B.
- *
- * USES TA, T4.
- *
- * CALLS D4D.
- DOW SUBR ENTRY/EXIT
- STD TA
- LDC CH34 SET X-COORDINATE
- STD T4
- DOW1 OAN CH+40
- LDI TA OUTPUT BYTE
- RJM D4D
- AOD TA
- LPN 7
- LMN 5
- ZJN DOWX IF NO MORE BYTES TO OUTPUT
- LDN 5*XINC
- RAD T4
- UJN DOW1 OUTPUT COORDINATES OF NEXT BYTE
- .A IFC EQ,/M/7/
- ISR SPACE 4,10
- ** ISR - INITIALIZE SCR REGISTER.
- *
- * ENTRY (A) .GT. 77B IF THIS IS THE INITIAL CALL.
- * (T6) = PHYSICAL PP NUMBER.
- * (TDSPA) = THE PP SUBSYSTEM TOGGLE SWITCH.
- *
- * EXIT (ODWA) AND (ODWB) CONTAIN THE CORRECT CHANNEL.
- *
- * CALLS ODW.
- ISR BSS 0 ENTRY
- SHN -6
- NJN ISR1 IF INITIAL CALL
- LDC /SCR/FCCL+/SCR/AMMS CLEAR AUTO PP SELECT
- RJM ODW
- ISR1 LDD T6
- LPN 20
- LMM TDSPA SELECT CORRECT CHASSIS
- LMC OANI+SC SET S/C REGISTER CHANNEL
- STM ODWA
- LMC IANI&OANI
- STM ODWB
- LDC /SCR/FCSB+/SCR/AMMS SET AUTO PP SELECT
- RJM ODW
- LJM DSP10 RETURN
- ODW SPACE 4,10
- ** ODW - OUTPUT DESCRIPTOR WORD TO S/C REGISTER.
- *
- * ENTRY (A) = DESCRIPTOR WORD.
- * (ODWA) = CORRECT CHANNEL.
- * (ODWB) = CORRECT CHANNEL.
- *
- * EXIT (A) = S/C REGISTER RESPONSE.
- ODW SUBR ENTRY/EXIT
- ODWA OAN SC
- * OAN SC+20 (SECOND PPS)
- ODWB IAN SC
- * IAN SC+20 (SECOND PPS)
- UJN ODWX EXIT
- RPR SPACE 4,10
- ** RPR - READ P REGISTER.
- *
- * ENTRY (T5) = PHYSICAL PP NUMBER.
- *
- * USES T4, T5.
- *
- * CALLS ODW.
- RPR LDC CH61 SET X-COORDINATE FOR P-ADDRESS
- OAN CH+40
- LDN 3 LOOP FOR BITS 3-0 OF PP NUMBER
- STD T4
- RPR1 LDD T5 FORM NEXT BIT TO SET/CLEAR
- RAD T5
- LPN 20
- SHN 6
- ADC /SCR/FCCL+/SCR/PPSC (A) = 2170 OR 4170
- ADD T4
- RJM ODW
- SOD T4
- PJN RPR1 IF ALL BITS NOT PROCESSED
- LDN /SCR/FCRD+5 READ BYTE 5 OF S/C REGISTER
- RJM ODW
- RJM D4S DISPLAY P-REGISTER
- LJM DSP17 RETURN
- .A ENDIF
- PPD SPACE 4,10
- ** PPD - PAGE *P* DISPLAY.
- *
- * ENTRY (T2) = 0, IF PAGE FORWARD.
- * = 1, IF PAGE BACKWARD.
- PPD BSS 0 ENTRY
- SOD T2
- ZJN PPD1 IF PAGING BACKWARD
- LDM DSPJ+1 GET INDEX FOR NEXT PAGE
- PPD1 STM DSPJ SET CURRENT INDEX
- LJM. /KEYBOARD/KBIX RETURN
- SPACE 4,10
- ** REMOTE CODE
- DIS HERE
- PRS SPACE 4,10
- ** PRS - PRESET *P* DISPLAY.
- *
- PRS BSS 0 ENTRY
- * LDD LA SET ADDRESS OF CURRENT INDEX
- SBD XC
- SHN -11
- RAM DSPC
- ERRNG .FLFT-CH01 CODE DEPENDS ON THE RELATIONSHIP
- ERRPL .FLFT-CH01-1000 CODE DEPENDS ON THE RELATIONSHIP
- ERRNG .FRHT-CH01-1000 CODE DEPENDS ON THE RELATIONSHIP
- ERRPL .FRHT-CH01-2000 CODE DEPENDS ON THE RELATIONSHIP
- LDK PPUL GET NUMBER OF PP-S
- CRD CN
- ADK PPCP-PPUL GET PP COMMUNICATION AREA POINTERS
- CRD AB
- ADK CHTP-PPCP GET CHANNEL RESERVATION TABLE FWA
- CRD CM
- LDD CM+2 PRESET THE CHANNEL RESERVATION TABLE FWA
- RAM DSPB
- LDD CM+3
- STM DSPB+1
- LDD AB+1 SET *ACPP* BASE ADDRESS
- RAM DSPL+1
- SHN -14
- RAM DSPL
- LDD CN+2 GET NUMBER OF PP-S
- RAM DSPG (ADN NPP-10D)
- LDD CN+2 GET NUMBER OF PP-S
- .A IFC EQ,/M/8/
- ADD CN+3 GET NUMBER OF CPP-S
- ERRNZ CPPL-PPUL CODE ASSUMES VALUE
- LPN 77
- .A ENDIF
- RAM DSPI (SBN NPP+CPP+1)
- SBN 1
- STM DSPE (SBN NPP+CPP)
- .A IFC EQ,/M/8/
- SBD HN (ADN NPP+CPP)
- ERRNZ ADNI+100-SBNI
- SBD CN+2
- STM DSPF (ADN CPP)
- LPN 77
- ZJN PRS0 IF NO CPP-S
- LDC 3*100
- STM DSPD REDUCE DOUBLE SPACING
- PRS0 LDM DCTY
- ZJN PRS1 IF CC545 CONSOLE
- STM DSPD DISABLE DOUBLE SPACING
- .A ENDIF
- PRS1 ISTORE DSPA,(UJN DSP1)
- LJM DSP1 RETURN
- CTAL EQU PRS CHANNEL RESERVATION TABLE
- ERRNG .LDMX-CTAL-5*CTALL CHANNEL TABLE WILL NOT FIT
- SPACE 4,10
- DSPEND
- .MODEL ENDD
- LIST *
- DISPLAY (DISPLAY Q - QUEUED FILES.),PQD
- ENTRY DSQ,D
- DSQ SPACE 4,10
- *** *Q* DISPLAY.
- *
- * DISPLAY QUEUED FILES.
- *
- * EXAMPLE -
- * 1 2 3 4 5 6
- * 1234567890123456789012345678901234567890123456789012345678901234
- * QFT JSN SC QP QT FSI REP LID DS ID FC EC LEVEL
- *
- * 0 SYS S 0 IN 0
- * 1 AAAN B 212 PR 0 2 MQE BC 40 LF A9 LVLMIDD
- DSQ SUBR ENTRY/EXIT
- LDM CTOS SET FIRST LINE OF DISPLAY
- OAN CH+40
- SBN YINC
- STD YC
- LDN QFTP
- CRD SH
- LDD SF
- ZJN DSQ1 IF UNSECURED SYSTEM
- LDN DSQCL
- DSQ1 ADN DSQBL DISPLAY COLUMN HEADERS
- OAM DSQB,CH
- * LDN 0 CLEAR NEXT QFT ORDINAL
- STM TDSQ+1
- STD T6
- STD SH INITIALIZE NUMBER OF ENTRIES IN USE
- LDD SH+2 CALCULATE NUMBER OF ENTRIES IN USE
- SBD SH+3
- STD SH+4
- LDM TDSQ GET FIRST QFT ORDINAL
- STD T7
- ZJN DSQ4 IF BEGINNING OF QFT
- DSQ2 SFA QFT,T6
- CRD CM
- LDD CM
- ZJN DSQ3 IF ENTRY NOT IN USE
- AOD SH INCREMENT NUMBER OF ENTRIES IN USE
- DSQ3 AOD T6 INCREMENT INDEX
- LMD T7
- NJN DSQ2 IF NOT END OF SEARCH
- DSQ4 LDM TDSQA
- SHN 21-13
- PJN DSQ5 IF SPECIFIC QUEUE TYPE
- LDN TQTYL
- STD AB
- LDN PSNI
- UJN DSQ6 SELECT ALL QUEUE TYPES
- DSQ5 LDM TDSQA
- STD AB
- LDC NJNI+77-DSQA+DSQ8
- ERRNG 37+DSQA-DSQ8 INCORRECT JUMP INSTRUCTION
- ERRNG 37+DSQ8-DSQA INCORRECT JUMP INSTRUCTION
- DSQ6 STM DSQA
- DISPHD (Q, QUEUE STATUS.)
- LDC CH03
- OAN CH+40
- LDM TQTY,AB DISPLAY QUEUE TYPE
- ZJN DSQ7 IF ALL QUEUE TYPES SELECTED
- OAN CH+40
- DSQ7 LDC 2R.
- OAN CH+40
- LDD T7
- UJN DSQ9 ENTER LOOP
- DSQ8 LDD SH+4
- LMD SH
- ZJN DSQ10 IF NOT MORE ENTRIES IN USE
- AOD T7 ADVANCE INDEX
- DSQ9 LMD SH+2
- NJN DSQ11 IF NOT END OF QFT
- DSQ10 LJM DSQX RETURN
- DSQ11 SFA QFT,T7 GET NEXT QFT ENTRY
- ADK JSNQ
- CRD AB GET JSN, FILE TYPE
- LDD AB
- ZJN DSQ8 IF ENTRY BLANK
- AOD SH INCREMENT NUMBER OF ENTRIES IN USE
- LDD AB+4
- LPN 16
- NJN DSQ8 IF FILE ASSIGNED OR NOT QUEUED
- LDD AB+4 SAVE DISPOSITION CODE
- SHN -6
- STD AB+4
- SHN -11+6 SAVE QUEUE TYPE
- STD SH+3
- LMM TDSQA
- NJN DSQ8 IF NOT SELECTED QUEUE TYPE
- * PSN (ALL QUEUE TYPES SELECTED)
- DSQA EQU *-1
- * PROCESS FIELDS COMMON TO ALL FILE TYPES.
- LDC CH01
- OAN CH+40
- LCN YINC
- RAD YC DECREMENT Y-COORDINATE
- OAN CH+40
- SBM CBOS
- PJN DSQ12 IF NOT BOTTOM OF SCREEN
- LDN MOREL
- OAM MORE,CH
- LDD T7 SET NEXT PAGE QFT ORDINAL
- STM TDSQ+1
- LJM DSQX RETURN
- DSQ12 LDD T7 DISPLAY QFT ORDINAL
- RJM D4S
- SFA QFT,T7 GET ENTRY TIME
- ADN ENTQ
- CRD SR
- ADN INSQ-ENTQ GET LID
- CRD SP
- ADN SCLQ-INSQ GET SERVICE CLASS, ID, FORMS CODE
- CRD T2
- LDN 2 DISPLAY JSN
- OAM AB,CH
- * LDN 0 SKIP TWO SPACES
- OAN CH+40
- LDD T2
- SHN -6
- STD SR+1
- LDM TJSC,SR+1 DISPLAY SERVICE CLASS
- OAN CH+40
- LDD SR+3 SET ENTRY TIME
- STD T1
- LDD SR+4
- STD T2
- LDD SH+3 SET FILE TYPE
- ZJN DSQ13 IF INPUT TYPE
- LDN OTQT-INQT
- DSQ13 BSS 0
- * ADN INQT
- ERRNZ INQT QUEUE TYPE .NE. 0
- SHN 6
- ADD SR+1 SET SERVICE CLASS
- SHN 14
- RJM CPR CONVERT ENTRY TIME TO QUEUE PRIORITY
- PJN DSQ14 IF JCB EXISTS FOR THIS SERVICE CLASS
- LDN 0 DISPLAY ZERO
- DSQ14 RJM D6S DISPLAY QUEUE PRIORITY
- LDM TQTY,SH+3 DISPLAY QUEUE TYPE
- OAN CH+40
- LDD SR+2 DISPLAY FILE SIZE INDEX
- LPN 7
- RJM D4S
- LDC CH32
- OAN CH+40 RESET X-COORDINATE
- LDD SH+3
- ZJN DSQ14.1 IF NOT OUTPUT FILE
- LDD SP+4 DISPLAY REPEAT COUNT
- DSQ14.1 RJM D2S
- LDD SP+1 DISPLAY LID
- SHN -6
- OAN CH+40
- LDD SP+1
- SHN 14
- LMD SP+2
- SHN -6
- OAN CH+40
- LDD SH+3
- ERRNZ /JIO/INQT QUEUE TYPE .NE. 0
- ZJP DSQ18 IF NOT OUTPUT FILE
- * PROCESS OUTPUT FILE TYPE FIELDS.
- LDN 0 SKIP TWO SPACES
- OAN CH+40
- LDD T2+1 CHECK FOR FAMILY ORDINAL
- ZJN DSQ15 IF FAMILY ORDINAL NOT PRESENT
- LDN 0
- STD T2+2 CLEAR FILE ID
- LDC 2RRB&2RBC DISPLAY REMOTE BATCH DESTINATION
- DSQ15 LMC 2RBC DISPLAY LOCAL BATCH DESTINATION
- OAN CH+40
- LDN 0
- OAN CH+40
- LDD T2+2 DISPLAY FILE ID
- RJM D2S
- LDD T2+4 DISPLAY FORMS CODE
- OAN CH+40
- LDN 0 DISPLAY * *
- OAN CH+40
- LDD T2+3 GET EXTERNAL CHARACTERISTICS
- LPN 70
- SHN -3
- STD T2+3
- LDD SH+3
- SBN /JIO/PHQT
- ZJN DSQ17 IF PUNCH
- SBN /JIO/PLQT-/JIO/PHQT
- ZJN DSQ16 IF PLOT
- SBN /JIO/PRQT-/JIO/PLQT
- NJN DSQ18 IF NEITHER PUNCH, PLOT, NOR PRINT
- LDN TPLE-TPHE
- DSQ16 ADN TPRE-TPLE
- RAD T2+3
- DSQ17 LDM TPHE,T2+3 GET PUNCH EXTERNAL CHARACTERISTICS
- OAN CH+40
- DSQ18 LDD SF
- ZJN DSQ19 IF UNSECURED SYSTEM
- LDC CH58 SET X-COORDINATE
- OAN CH+40
- LDD SP+3
- SHN -3
- RJM DAL DISPLAY ACCESS LEVEL STRING
- DSQ19 LJM DSQ8 LOOP
- * DISPLAY HEADER.
- DSQB BSS 0
- CON CH02
- DATA H*QFT JSN SC*
- CON CH19
- DATA H*QP QT FSI REP LID DS ID FC EC*
- DSQBL EQU *-DSQB
- DSQC CON CH59
- DATA H*LEVEL*
- DSQCL EQU *-DSQC
- ERRNZ *-DSQB-DSQBL-DSQCL CODE ASSUMES TITLES CONTIGUOUS
- TPHE SPACE 4,10
- ** TPHE - TABLE OF PUNCH EXTERNAL CHARACTERISTICS.
- TPHE BSS 0
- LOC 0
- CON 2RPH DEFAULT
- CON 2RSB SYSTEM BINARY
- CON 2R80 80 COLUMN
- CON 0 (RESERVED)
- CON 2R26 O26
- CON 2R29 O29
- CON 2RAS ASCII
- CON 0 (RESERVED)
- LOC *O
- TPLE SPACE 4,10
- ** TPLE - TABLE OF PLOT EXTERNAL CHARACTERISTICS.
- TPLE BSS 0
- LOC 0
- CON 0 (RESERVED)
- CON 2RT6 TRANSPARENT 6-BIT PLOTTER DATA
- CON 2RT8 TRANSPARENT 8-BIT PLOTTER DATA
- CON 0 (UNUSED)
- CON 0 (UNUSED)
- CON 0 (UNUSED)
- CON 0 (UNUSED)
- CON 0 (RESERVED)
- LOC *O
- TPRE SPACE 4,10
- ** TPRE - TABLE OF PRINT EXTERNAL CHARACTERISTICS.
- TPRE BSS 0
- LOC 0
- CON 0 DEFAULT
- CON 0 (RESERVED)
- CON 2RA4 48 CHARACTER ASCII GRAPHIC
- CON 2RB4 48 CHARACTER DISPLAY
- CON 2RB6 64 CHARACTER DISPLAY
- CON 2RA6 64 CHARACTER ASCII GRAPHIC
- CON 2RA9 95 CHARACTER ASCII GRAPHIC
- CON 0 (RESERVED)
- LOC *O
- TQTY SPACE 4,10
- * TQTY - TABLE OF QUEUE TYPES.
- TQTY BSS 0
- LOC 0
- DATA H*"NMQT"*
- LOC *O
- TQTYL EQU *-TQTY TABLE LENGTH
- * NOTE THE FOLLOWING *DATA* STATEMENT MUST IMMEDIATELY
- * FOLLOW THE *TQTY* TABLE.
- DATA 0 ALL QUEUE TYPES SELECTED
- SPACE 4,10
- ** COMMON DECKS.
- CPR$ EQU 1 CALCULATE QUEUE PRIORITY
- IOQ$ EQU 1 CALCULATE QUEUE PRIORITY
- DRC$ EQU 1 USE DIRECT CELLS TO SAVE SPACE
- *CALL COMPCPE
- PQD SPACE 4,10
- ** PQD - PAGE *Q* DISPLAY.
- *
- * ENTRY (T2) = 0, IF PAGE FORWARD.
- * = 1, IF PAGE BACKWARD.
- PQD BSS 0 ENTRY
- LDD T2
- SBN 1
- ZJN PQD1 IF PAGE BACKWARD
- LDM TDSQ+1 ADVANCE QFT ORDINAL
- PQD1 STM TDSQ
- LJM. /KEYBOARD/KBIX RETURN
- SPACE 4,10
- DSPEND
- DISPLAY (DISPLAY R - ROLLED EJT ENTRIES.),PRD
- ENTRY DSR,DSR
- DSR SPACE 4,15
- *** *R* DISPLAY.
- *
- * DISPLAY ROLLED EJT ENTRIES.
- *
- * EXAMPLE -
- *
- * 1 2 3 4 5 6
- * 1234567890123456789012345678901234567890123456789012345678901234
- * JSN SC EJT ST LR SCPR FL FLE ACCESS LIMITS
- *
- * AAAC C 10 TE * 0 22 5 LVLBOTT LVLTOPP
- * AAAM N 20 SO 1234 1234 1234 LVLBOTT LVLTOPP
- *
- * COLUMN 21 = * IF JOB IS LOCKED IN ROLLOUT.
- DSR SUBR ENTRY/EXIT
- DISPHD ("RHDR") DISPLAY SCREEN NAME
- LDM UESC
- ADD TH
- ERRNZ SHNI-1000
- STM DSRD
- LDM CTOS INITIALIZE Y-COORDINATE
- OAN CH+40
- SBN YINC
- STD YC
- LDN DSRAL DISPLAY MAIN HEADER
- OAM DSRA,CH
- LDD SF
- ZJN DSR1 IF UNSECURED SYSTEM
- LDN DSREL DISPLAY SECURITY HEADER
- OAM DSRE,CH
- * LDN 0 INITIALIZE DATA LOCATIONS
- DSR1 STM TDSR+1 NEXT PAGE FIRST EJTO
- STD T5 EJT ENTRIES IN USE
- STD T6 CURRENT EJTO
- LDK EJTP GET NUMBER OF ENTRIES
- CRD SR
- LDD SR+2 CALCULATE NUMBER OF ENTRIES IN USE
- STD T8 SAVE NUMBER OF EJT ENTRIES
- SBD SR+3
- STD T3
- LDM TDSR SET CURRENT PAGE FIRST EJTO
- STD T7
- ZJN DSR4 IF BEGINNING OF EJT
- DSR2 SFA EJT,T6
- ADK JSNE
- CRD CM
- LDD CM
- ZJN DSR3 IF ENTRY NOT IN USE
- AOD T5 INCREMENT NUMBER OF ENTRIES IN USE
- DSR3 AOD T6 INCREMENT INDEX
- LMD T7
- NJN DSR2 IF NOT END OF SEARCH
- DSR4 LDD T7
- UJN DSR6 ENTER DISPLAY LOOP
- DSR5 LDD T3
- LMD T5
- ZJN DSR7 IF NO MORE ENTRIES IN USE
- AOD T7 ADVANCE INDEX
- DSR6 LMD T8
- ZJN DSR7 IF END OF EJT
- SFA EJT,T7 GET NEXT EJT ENTRY
- ADK JSNE
- CRD AB GET JSN
- LDD AB
- ZJN DSR5 IF ENTRY BLANK
- AOD T5 INCREMENT NUMBER OF ENTRIES IN USE
- LDD AB+4 CHECK JOB STATUS
- LPN 76
- SHN -1
- STD T4 SAVE JOB STATUS
- LMN NVJS
- ZJN DSR5 IF NVE
- LCN YINC
- RAD YC DECREMENT Y-COORDINATE
- OAN CH+40
- SBM CBOS
- PJN DSR8 IF NOT BOTTOM OF SCREEN
- LDN MOREL
- OAM MORE,CH
- LDD T7 SET NEXT EJTO
- STM TDSR+1
- DSR7 LJM DSRX RETURN
- DSR8 SFA EJT,T7 GET ENTRY TIME
- ADN SCHE
- CRD SR
- ADN PRFE-SCHE GET ACCESS LEVEL
- CRD SP
- ADN SCLE-PRFE GET SERVICE CLASS, CM FL, EM FL
- CRD SH
- LDD XC OUTPUT X-COORDINATE
- OAN CH+40
- LDN 2 DISPLAY JSN
- OAM AB,CH
- * LDN 0 ADVANCE X-COORDINATE TWO SPACES
- OAN CH+40
- LDD SH
- SHN -6
- STD SR+1
- LDM TJSC,SR+1 DISPLAY SERVICE CLASS
- SHN -6
- OAN CH+40
- LDD T7 DISPLAY EJTO
- RJM D6S
- LDC CH26 RESET X-COORDINATE
- OAN CH+40
- * IF JOB STATUS = *EXJS*/*PCJS*/*PRJS*/*ROJS*, DISPLAY
- * SCHEDULING PRIORITY, CM FL AND EM FL.
- LDD T4 CHECK JOB STATUS
- LMK EXJS
- NJN DSR8.1 IF JOB NOT AT CONTROL POINT
- LDD SR+3 GET CM/EM FL
- SHN 7
- ADK FLSW
- CRD SH
- ADK ECSW-FLSW
- CRD CM
- LDD CM+4
- STD SH+3
- LDD SR+4 GET SCHEDULING PRIORITY
- UJN DSR10 DISPLAY SCHEDULING PRIORITY, CM FL, XM FL
- DSR8.1 LMK ROJS&EXJS
- ZJN DSR9 IF SCHEDULER ROLLOUT
- LMN PRJS&ROJS
- ZJN DSR9 IF PRE-INITIAL JOB STATE
- LMN PCJS&PRJS
- NJN DSR12 IF NOT PSEUDO-CONTROL POINT JOB
- DSR9 LDD SR+3 SET ENTRY TIME
- STD T1
- LDD SR+4
- STD T2
- LDD SR+1 SET SERVICE CLASS
- SHN 14
- ADN EXQT SET FILE TYPE
- RJM CPR CONVERT ENTRY TIME TO SCHEDULING PRIORITY
- PJN DSR10 IF JOB EXISTS FOR THIS SERVICE CLASS
- LDN 0 SKIP FIELD
- DSR10 RJM D4S
- LDD SH+4 DISPLAY FL/100B
- RJM D6S
- LDD SH+3 DISPLAY FLE/1000B
- DSRD SHN 0
- * SHN UESC
- RJM D6S
- DSR11 LJM DSR18 DISPLAY JOB STATUS
- * IF JOB STATUS = *TOJS*/*ERJS*/*PWJS*, DISPLAY ROLLOUT
- * DESCRIPTOR AND TIME REMAINING UNTIL ROLLIN.
- DSR12 LMN TOJS&PCJS
- ZJN DSR13 IF TIMED/EVENT ROLLOUT
- LMN ERJS&TOJS
- ZJN DSR13 IF ERROR ON ROLLOUT FILE
- LMN PWJS&ERJS
- NJN DSR11 IF NOT PRE-INITIAL JOB STEP WAIT
- DSR13 LDD SR+2 GET TIME UNTIL ROLLIN
- LPN 77
- SHN 14
- LMD SR+3
- SHN -11
- STD SR+2
- LDD SR+3 ISOLATE EST ORDINAL OF EVENT DESCRIPTOR
- LPC 377
- STD SR+3
- LMN EXTM/10000
- NJN DSR14 IF NOT EXTENDED TIME EVENT
- LDD SR+4 DISPLAY TIME UNTIL ROLLIN
- RJM D4S
- LDC CH34 OUTPUT X-COORDINATE
- OAN CH+40
- DSR14 LDD SR+2 DISPLAY TIME UNTIL ROLLIN / EXTENDED TIME
- RJM D4S
- LDC CH18 OUTPUT X-COORDINATE
- OAN CH+40
- LDD SR+3 GET EST ORDINAL OF EVENT DESCRIPTOR
- ZJN DSR17 IF WAITING FOR RESOURCE
- SBN WRKE/10000+1
- PJN DSR15 IF NORMAL EST ORDINAL
- LDM DSRB-2,SR+3
- UJN DSR19 DISPLAY *RS*, *TE*, OR *WK*
- DSR15 LDD SR+4
- ZJN DSR16 IF NO TRACK NUMBER
- LDC 2RPF&2RWI
- DSR16 LMC 2RWI
- UJN DSR19 DISPLAY *PF* OR *WI*
- DSR17 LDD SR+4
- ZJN DSR17.1 IF TIMED/EVENT ROLLOUT
- SBN MAXE
- MJN DSR17.2 IF VALID DESCRIPTOR
- LDN 0 DISPLAY GENERIC TIMED/EVENT DESCRIPTOR
- DSR17.1 LMC 2RTE
- UJN DSR19 DISPLAY ROLLOUT DESCRIPTOR
- DSR17.2 LDM DSRB+2,SR+4
- UJN DSR19 DISPLAY ROLLOUT DESCRIPTOR
- * IF JOB STATUS IS NEITHER *TOJS* NOR *PWJS*, DISPLAY IT.
- DSR18 LDC CH18
- OAN CH+40
- LDM DSRC,T4 DISPLAY JOB STATUS
- DSR19 OAN CH+40
- LDD SH GET FORCED ROLLOUT FLAG
- SHN 21-5
- PJN DSR20 IF JOB NOT LOCKED OUT
- LDN 1R* DISPLAY LOCKED OUT STATUS
- OAN CH+40
- DSR20 LDD SF
- ZJN DSR21 IF UNSECURED SYSTEM
- LDC CH50
- OAN CH+40
- LDD SP+2 GET ACCESS LEVELS
- SHN -3
- RJM DAL DISPLAY LOWER ACCESS LEVEL
- LDD SP+2
- RJM DAL DISPLAY UPPER ACCESS LEVEL
- DSR21 LJM DSR5 LOOP
- * DISPLAY HEADERS.
- DSRA BSS 0 MAIN HEADER
- CON CH01
- DATA H*JSN SC EJT ST LR*
- CON CH26
- DATA H*SCPR*
- CON CH35
- DATA H*FL*
- CON CH43
- DATA H*FLE*
- DSRAL EQU *-DSRA
- DSRE BSS 0 SECURITY HEADER
- CON CH51
- DATA H*ACCESS LIMITS *
- DSREL EQU *-DSRE
- * ROLLOUT DESCRIPTORS.
- DSRB BSS 0 TWO-CHARACTER ROLLOUT DESCRIPTORS
- QUAL
- LIST D,G
- RODS
- LIST *
- * JOB STATUS NAMES.
- QUAL *
- DSRC BSS 0 TABLE OF JOB STATUS NAMES
- DATA H*IN* PRJS
- DATA H*EX* EXJS
- DATA H*RO* ROJS
- DATA H*SI* SIJS
- DATA H*SO* SOJS
- DATA H*TO* TOJS
- DATA H*IO* IOJS
- DATA H*DO* DOJS
- DATA H*SU* SUJS
- DATA H*PC* PCJS
- DATA H*ER* ERJS
- DATA H*NV* NVJS
- DATA H*PW* PWJS
- DATA H*SW* SWJS
- SPACE 4,10
- ** COMMON DECKS.
- CPR$ EQU 1 CALCULATE SCHEDULING PRIORITY
- *CALL COMPCPE
- PRD SPACE 4,10
- ** PRD - PAGE *R* DISPLAY.
- *
- * ENTRY (T2) = 0, IF PAGE FORWARD.
- * = 1, IF PAGE BACKWARD.
- PRD BSS 0 ENTRY
- LDD T2
- SBN 1
- ZJN PRD1 IF PAGE BACKWARD
- LDM TDSR+1
- PRD1 STM TDSR STORE NEW PAGE INDEX
- LJM. /KEYBOARD/KBIX RETURN
- SPACE 4,10
- DSPEND
- DISPLAY (DISPLAY S - SYSTEM CONTROL INFORMATION.),PSD
- ENTRY DSS,D
- DSS SPACE 4,10
- *** *S* DISPLAY.
- *
- * DISPLAY SYSTEM CONTROL INFORMATION.
- *
- * EXAMPLE -
- *
- * 1 2 3 4 5 6
- * 1234567890123456789012345678901234567890123456789012345678901234
- *
- * SC QU QUEUE VALUES SERVICE LIMITS
- * CP CT CM NJ TD
- * FL AM TP AJ DT
- * IL LP UP WF IP EC EM DS FC CS FS
- * PR SE RS US
- *
- * TS IN 1234 1234 1234 1234 1234 1234 1234 1234
- * EX 1234 1234 1234 1234 1234 1234 123456 1234 1234 SC
- * OT 1234 1234 1234 123456 123456 2 2 2 2
- * 12 1234 1234 1234
- *
- *
- * SSTL = 0102 0304 0506 0710 1112 ABCDEFGHIJ
- * INWL = 0102 0304 0506 0710 1112 ABCDEFGHIJ
- DSS SUBR ENTRY/EXIT
- DISPHD ("SHDR")
- LDM UESC PRESET SHIFT INSTRUCTIONS
- ADD TH
- ERRNZ SHNI-1000
- STM DSSE
- STM DSSF
- LDM DCTY
- ZJN DSS0 IF CC545 CONSOLE
- LCN 6-2
- DSS0 ADN 6 SET NUMBER OF SERVICE CLASSES ON PAGE
- STM DSSB
- LDC DSSAL DISPLAY HEADER
- OAM DSSA,CH
- LDN 1 RESET NEXT PAGE INDEX
- STM TDSS+1
- LDC LN12 SET INITIAL Y-COORDINATE
- STD YC
- LDM TDSS INITIALIZE SERVICE CLASS
- STD T7
- RAM DSSB SET NUMBER OF LAST SERVICE CLASS ON PAGE+1
- DSS1 LDN 2
- OAM XC,CH OUTPUT COORDINATES
- * LDN 0
- STD T6 INITIALIZE QUEUE TYPE
- LDD T7
- SBN MXJC
- MJN DSS3 IF JCB EXISTS
- DSS2 LJM DSS12 DISPLAY *SSTL*
- DSS3 LDM TNSC,T7 DISPLAY SERVICE CLASS
- OAN CH+40
- DSS4 SFA JCB,T7 READ QUEUE WORD
- ADD T6
- CRD CM
- LDC CH04 OUTPUT X-COORDINATE
- OAN CH+40
- LDD YC OUTPUT Y-COORDINATE
- OAN CH+40
- LDM TQUT,T6 DISPLAY QUEUE TYPE
- OAN CH+40
- LDC CH02 PRESET X-COORDINATE
- STD T3
- * DISPLAY QUEUE VALUES.
- LDN CM SET BYTE INDEX
- STD T2
- LDD CM+3 EXTRACT SHIFT COUNT
- LPN 77
- LMD TH
- STM DSSD
- LDN 1 CALCULATE WEIGHTING FACTOR
- DSSD SHN 0
- STD CM+3
- DSS5 LDN 5*XINC ADVANCE X-COORDINATE
- RAD T3
- OAN CH+40 OUTPUT X-COORDINATE
- LDI T2
- RJM D4S DISPLAY BYTE
- AOD T2
- LMN CM+5
- NJN DSS5 IF MORE QUEUE VALUES
- * ADVANCE QUEUE TYPE.
- DSS7 LCN YINC
- RAD YC
- AOD T6 ADVANCE QUEUE TYPE
- LMN MXQT
- ZJN DSS8 IF ALL QUEUES COMPLETE
- LJM DSS4 LOOP
- * DISPLAY SERVICE LIMITS.
- DSS8 LDN MXQT*YINC ADJUST Y-COORDINATE
- RAD YC
- OAN CH+40
- LDC CH37
- OAN CH+40
- SFA JCB,T7 GET SERVICE LIMIT WORDS FROM JCB
- ADN SVJT
- CRD CM
- ADN MCMT-SVJT
- CRD SH
- ADN MECT-MCMT
- CRD SR
- ADN CSJT-MECT
- CRD SP
- ADK JCTT-CSJT
- CRD T0
- ADK PFCT-JCTT
- CRD T1
- LDD T1 SAVE *PF* VALUES
- STD T3
- LDD T0
- STD T4
- * DISPLAY *CP*, *CT*, *CM*, *NJ*, *TD*.
- LDC CH37 OUTPUT X-COORDINATE
- OAN CH+40
- LDD SH SET CONTROL POINT SLICE PRIORITY
- STD CM
- LDN CM INITIALIZE BYTE NUMBER
- STD T2
- DSS9 LDI T2 DISPLAY NEXT BYTE
- RJM D4S
- AOD T2
- LMN CM+5
- NJN DSS9 IF NOT END OF WORD
- * DISPLAY *FL*, *AM*, *EC*, *EM*.
- LCN YINC
- RAD YC OUTPUT COORDINATES
- OAN CH+40
- LDC CH37
- OAN CH+40
- LDD SH+2 DISPLAY *FL* VALUE
- RJM D4S
- LDC CH42
- OAN CH+40
- LDD SH+3 DISPLAY *AM* VALUE
- SHN 14
- LMD SH+4
- RJM D6S
- LCN YINC OUTPUT COORDINATES
- ADD YC
- OAN CH+40
- LDC CH35
- OAN CH+40
- LDD SR+2 DISPLAY *EC* VALUE
- DSSE SHN 0
- * SHN UESC (UESC = USER EXTENDED MEMORY SHIFT COUNT)
- RJM D6S
- LDC CH42
- OAN CH+40
- LDD SR+4 DISPLAY *EM* VALUE
- DSSF SHN 0
- * SHN UESC (UESC = USER EXTENDED MEMORY SHIFT COUNT)
- RJM D6S
- * DISPLAY *DS*, *FC*, *CS*, *FS*.
- LDC CH51
- OAN CH+40
- LDN 4 INITIALIZE *PF* COUNTER
- STD T6
- DSS10 LDD T3
- SHN 3
- STD T3
- SHN -14
- RJM D2S
- SOD T6
- NJN DSS10 IF MORE PARAMETERS
- * DISPLAY *TP*, *AJ*, AND *DT*.
- LDD YC OUTPUT COORDINATES
- OAN CH+40
- LDC CH49
- OAN CH+40
- LDD SH+1 DISPLAY *TP*
- RJM D4S
- LDD T4 DISPLAY *AJ*
- RJM D4S
- LDC CH63
- OAN CH+40
- LDM TNSC,T5
- OAN CH+40
- * DISPLAY *PR*, *SE*, *RS* AND *US*.
- LCN 2*YINC MOVE TO 4TH LINE
- ADD YC
- OAN CH+40 OUTPUT Y-COORDINATE
- LDC CH37
- OAN CH+40 OUTPUT X-COORDINATE
- LDD SP
- STD SP+1
- LDN SP+1 INITIALIZE BYTE NUMBER
- STD T2
- DSS10.1 LDI T2 DISPLAY NEXT BYTE
- RJM D4S
- AOD T2
- LMN SP+5
- NJN DSS10.1 IF NOT END OF WORD
- * ADVANCE COORDINATES FOR NEXT SERVICE CLASS.
- LCN 4*YINC DECREMENT Y-COORDINATE
- RAD YC
- AOD T7 ADVANCE SERVICE CLASS
- SBM DSSB
- ZJN DSS11 IF PAGE FULL
- LJM DSS1 LOOP
- * DISPLAY *SSTL* AND *INWL*.
- DSS11 LDD T7 SET NEXT PAGE INDEX
- STM TDSS+1
- DSS12 LCN YINC
- RAD YC
- OAN CH+40
- DISPLA CH03,,(SSTL =)
- LDN SSTL READ SYSTEM STATUS
- CRD CM
- RJM D5F DISPLAY STATUS WORD
- LCN YINC DECREMENT Y-COORDINATE
- RAD YC
- OAN CH+40
- DISPLA CH03,,(INWL =)
- LDC INWL READ INTERLOCK WORD
- CRD CM
- RJM D5F DISPLAY INTERLOCK WORD
- LJM DSSX RETURN
- DSSA CON CH01,LN06
- DATA H*SC QU QUEUE VALUES*
- CON CH35
- DATA H*SERVICE LIMITS*
- CON CH39,LN07
- DATA H*CP*
- CON CH45
- DATA H*CT*
- CON CH51
- DATA H*CM*
- CON CH57
- DATA H*NJ*
- CON CH63
- DATA H*TD*
- CON CH39,LN08
- DATA H*FL*
- CON CH45
- DATA H*AM*
- CON CH51
- DATA H*TP*
- CON CH57
- DATA H*AJ*
- CON CH63
- DATA H*DT*
- CON CH09,LN09
- DATA H*IL*
- CON CH14
- DATA H*LP*
- CON CH19
- DATA H*UP*
- CON CH24
- DATA H*WF*
- CON CH29
- DATA H*IP*
- CON CH39
- DATA H*EC*
- CON CH45
- DATA H*EM*
- CON CH51
- DATA H*DS FC CS FS*
- CON CH39,LN10
- DATA H*PR*
- CON CH45
- DATA H*SE*
- CON CH51
- DATA H*RS*
- CON CH57
- DATA H*US*
- DSSAL EQU *-DSSA
- DSSB CON 0 FIRST SERVICE CLASS NEXT PAGE
- TQUT SPACE 4,10
- ** TQUT - TABLE OF QUEUE TYPES.
- TQUT CON 2RIN
- CON 2REX
- CON 2ROT
- CON 0 END OF TABLE
- TNSC SPACE 4,10
- ** TNSC - TABLE OF TWO-CHARACTER SERVICE CLASS TYPES.
- LIST D,G
- TNSC DATA H+"NMSC"+
- LIST *
- CON 0 END OF TABLE
- PSD SPACE 4,10
- ** PSD - PAGE *S* DISPLAY.
- *
- * ENTRY (T2) = 0, IF PAGE FORWARD.
- * = 1, IF PAGE BACKWARD.
- PSD BSS 0 ENTRY
- LDD T2
- NJN PSD1 IF *-*
- LDP TDSS+1
- PSD1 STP TDSS
- LJM. /KEYBOARD/KBIX RETURN
- SPACE 4,10
- DSPEND
- DISPLAY (DISPLAY T - TIME SHARING STATUS.),PTD
- ENTRY DST,D
- DST SPACE 4,10
- *** *T* DISPLAY.
- *
- * EXAMPLE -
- *
- * 1 2 3 4 5 6
- * 1234567890123456789012345678901234567890123456789012345678901234
- * TOTAL USERS = 123456D ACTIVE USERS = 123D
- *
- * CONN USER JSN W ST TERM CONN USER JSN W ST TERM
- *
- * 2 CDCCE ABBC * TE 56 USERXYZ BBCC IO CLNTN17
- * 23 ASDFASD ACCC EX BLNTA1F 65 ABCDEFG BCCC * DO ALNTN07
- * MORE
- *
- * THE FOLLOWING DIRECT CELLS ARE USED FOR SPECIFIC FUNCTIONS.
- *
- * (SR+1 - SR+2) = WARN MESSAGE ADDRESS.
- * (SR+3) = NUMBER OF ACTIVE USERS.
- * (SR+4) = COUNT OF NUMBER OF ACTIVE USERS FOUND SO FAR.
- * (T3) = MAXIMUM NUMBER OF USERS POSSIBLE.
- * (T5) = DISPLAY COLUMN INDICATOR.
- * (T6) = CURRENT CONNECTION NUMBER.
- * (T8) = RA/100B.
- * (YC) = Y-COORDINATE.
- DST SUBR ENTRY/EXIT
- DISPHD ("THDR") DISPLAY SCREEN TITLE
- LDM CTOS SET TOP OF SCREEN
- OAN CH+40
- SBN 2*YINC
- STM DSTD
- SBN YINC
- STD YC
- LDM. CMEI
- ZJN DST1 IF CME NOT PRESENT
- STM DSTA
- DST1 LDC IFSI FIND *IAF*
- RJM FSS
- NJN DST2 IF INTERACTIVE SUBSYSTEM ACTIVE
- DISPLA CH01,,(NOT ACTIVE)
- UJN DSTX RETURN
- DST2 SHN 7 READ JOB STATUS
- DSTA ADN FLSW
- * ADN FLSW+1 (CME PRESENT)
- CRD CM
- LRD CM+1
- LDD CM+3 GET TERMINAL TABLE POINTER
- SHN 6
- ADN /REM/VTTP
- CRD AB
- ADN /REM/VWMP-/REM/VTTP GET WARN MESSAGE ADDRESS
- CRD SR
- ADN /REM/VTNL-/REM/VWMP TOTAL USER COUNT (CM+3 - CM+4)
- CRD CM
- ADN /REM/VANL-/REM/VTNL ACTIVE USER COUNT (CM+2)
- CRD T6
- ADN /REM/VMNL-/REM/VANL MAXIMUM USER COUNT (CM+1)
- CRD T5
- ADN /REM/VCTL-/REM/VMNL CONVERTED *VTNL* (T6 - CM)
- CRD T4
- ADN /REM/VCAL-/REM/VCTL CONVERTED *VANL* (T4 - T5)
- CRD T1
- SHN -6 SET RA
- STD T8
- LDD CM+1 SAVE MAXIMUM USER COUNT
- ADN /REM/VPST
- STD T3
- DISPLA CH01,,(TOTAL USERS = )
- LDN 3 DISPLAY TOTAL USER COUNT
- OAM T6,CH
- LDD CM+3
- ADD CM+4
- ZJN DST3 IF NO USERS
- LDC 1RD*100 ADD DECIMAL POST-RADIX
- DST3 OAN CH+40
- DISPLA ,,( ACTIVE USERS =)
- LDN 2
- OAM T4,CH DISPLAY ACTIVE USER COUNT
- LDD CM+2 SAVE NUMBER OF ACTIVE USERS
- STD SR+3
- ZJN DST4 IF NO ACTIVE USERS
- LDC 1RD*100 ADD DECIMAL POST-RADIX
- DST4 OAN CH+40
- LDM TDST SET FIRST CONNECTION NUMBER ON PAGE
- STD T6
- LDN DSTCL
- OAM DSTC,CH
- * LDN 0 INITIALIZE DISPLAY COLUMN
- STD T5
- STD SR+4 INITIALIZE NUMBER OF ENTRIES USED
- * INITIALIZE TERMINAL TABLE ADDRESSES.
- LDD AB+1 SET ADDRESS OF FIRST TERMINAL TABLE ENTRY
- SHN 6
- ADD T8
- SHN 6
- ADD AB+2
- STM TTAA+1
- SHN -14
- LMC ADCI
- STM TTAA
- * COUNT NUMBER OF ACTIVE USERS BEFORE BEGINNING OF CURRENT
- * PAGE.
- LDD T6 SAVE FIRST CONNECTION NUMBER ON PAGE
- STD T4
- LMN /REM/VPST
- ZJN DST7 IF BEGINNING OF TERMINAL TABLE
- LDN /REM/VPST INITIALIZE INDEX
- STD T6
- DST5 RJM TTA GET NEXT JSN
- ADN /REM/VFST
- CRD CM
- LDD CM
- ZJN DST6 IF ENTRY NOT IN USE
- AOD SR+4 INCREMENT NUMBER OF ENTRIES IN USE
- DST6 AOD T6 INCREMENT INDEX
- LMD T4
- NJN DST5 IF NOT BEGINNING OF PAGE
- DST7 LDD T6 GET FIRST CONNECTION NUMBER ON PAGE
- UJN DST9 ENTER LOOP
- * PROCESS NEXT TERMINAL.
- DST8 LDD SR+3
- LMD SR+4
- ZJN DST11 IF NO MORE ACTIVE USERS
- AOD T6 INCREMENT CONNECTION NUMBER
- DST9 LMD T3
- ZJN DST11 IF END OF TERMINALS
- RJM TTA SET TERMINAL TABLE ADDRESS
- ADN /REM/VFST GET JSN
- CRD CM
- LDD CM
- ZJN DST8 IF USER NOT ACTIVE
- AOD SR+4 INCREMENT NUMBER OF ENTRIES IN USE
- LCN YINC
- RAD YC DECREMENT Y-COORDINATE
- DST10 OAN CH+40
- SBM CBOS
- PJN DST14 IF COLUMN NOT FULL
- LDD T5
- NJN DST12 IF BOTH COLUMNS FULL
- AOD T5
- LDM DSTE,T5 OUTPUT RIGHT COLUMN HEADER
- OAN CH+40
- LDN DSTDL DISPLAY HEADER
- OAM DSTD,CH
- LDM DSTD RESET Y-COORDINATE
- SBN 2*YINC
- STD YC
- UJN DST10 USE RIGHT COLUMN
- DST11 LDN /REM/VPST RESET FIRST CONNECTION NUMBER
- UJN DST13 RETURN
- DST12 LDN TMREL OUTPUT *MORE* MESSAGE
- OAM TMRE,CH
- LDD T6
- DST13 STM TDST+1 SET FIRST CONNECTION NUMBER FOR NEXT PAGE
- LJM DSTX RETURN
- * DISPLAY TERMINAL STATUS.
- DST14 RJM TTA SET TERMINAL TABLE ADDRESS
- ADK /REM/VUIT GET USER NAME
- CRD SH
- ADN /REM/VSTT-/REM/VUIT GET WARNING STATUS
- CRD AB
- LDM DSTE,T5 OUTPUT X-COORDINATE
- OAN CH+40
- LDD T6 DISPLAY CONNECTION NUMBER
- RJM D4S
- LDD SH+3 DISPLAY USER NAME
- SCN 77
- STD SH+3
- LDM DSTF,T5 OUTPUT X-COORDINATE
- OAN CH+40
- LDN 4
- OAM SH,CH
- STD T1 CLEAR MESSAGE INDEX
- LDM DSTG,T5 OUTPUT X-COORDINATE
- OAN CH+40
- LDN 2 DISPLAY JSN
- OAM CM,CH
- LDD SR+1
- ADD SR+2
- ZJN DST15 IF NO WARN MESSAGE PRESENT
- LDD AB
- LPN 4
- NJN DST15 IF WARN MESSAGE ISSUED
- LDC 2R *
- UJN DST16 ISSUE WARN MESSAGE REMINDER
- DST15 LDN 0
- DST16 OAN CH+40
- SFA EJT,SH+4
- ADK JSNE
- CRD SH READ JOB STATUS
- LDD SH+4
- LPN 76
- SHN -1
- STD SH+4
- LDM DSTH,T5 OUTPUT X-COORDINATE
- OAN CH+40
- LDM DSTJ,SH+4
- OAN CH+40 DISPLAY JOB STATUS
- * DISPLAY TERMINAL NAME.
- LDD T8 RA
- SHN 6
- ADN /REM/VTNP ADDRESS OF TABLE
- CRD CM
- LDD CM+1
- SHN 6
- ADD T8
- SHN 6
- ADD CM+2
- ADD T6
- CRD CM GET TERMINAL NAME
- LDM DSTI,T5 OUTPUT X-COORDINATE
- OAN CH+40
- LDN 4
- OAM CM,CH DISPLAY TERMINAL NAME
- LJM DST8 PROCESS NEXT TERMINAL
- * HEADER.
- DSTC CON CH01
- DSTD CON LN07
- DATA H*CONN USER JSN W ST TERM*
- DSTDL EQU *-DSTD
- DSTCL EQU *-DSTC
- * X-COORDINATE FOR CONNECTION NUMBER.
- DSTE BSS 0
- CON CH01 LEFT COLUMN
- CON CH35 RIGHT COLUMN
- * X-COORDINATE FOR USERNAME.
- DSTF BSS 0
- CON CH06
- CON CH40
- * X-COORDINATE FOR JSN.
- DSTG BSS 0
- CON CH14
- CON CH48
- * X-COORDINATE FOR JOB STATUS.
- DSTH BSS 0
- CON CH21 LEFT COLUMN
- CON CH55 RIGHT COLUMN
- * X-COORDINATE FOR TERMINAL NAME
- DSTI BSS 0
- CON CH24 LEFT COLUMN
- CON CH58 RIGHT COLUMN
- * T - DISPLAY *MORE* MESSAGE.
- TMRE CON CH30
- DATA 4HMORE
- TMREL EQU *-TMRE
- * JOB STATUS CODES.
- DSTJ BSS 0
- DATA H*IN* PRJS
- DATA H*EX* EXJS
- DATA H*RO* ROJS
- DATA H*SI* SIJS
- DATA H*SO* SOJS
- DATA H*TE* TOJS
- DATA H*IO* IOJS
- DATA H*DO* DOJS
- DATA H*SU* SUJS
- DATA H*PC* PCJS
- DATA H*ER* ERJS
- DATA H*NV* NVJS
- DATA H*PW* PWJS
- DATA H*SW* SWJS
- DSTJL EQU *-DSTJ
- ERRNZ DSTJL-MXJS TABLE SIZE ERROR
- PTD SPACE 4,10
- ** PTD - PAGE *T* DISPLAY.
- *
- * ENTRY (T2) = 0, IF PAGE FORWARD.
- * = 1, IF PAGE BACKWARD.
- PTD BSS 0 ENTRY
- LDD T2
- NJN PTD1 IF *-*
- LDM TDST+1
- UJN PTD2 ADVANCE DISPLAY
- PTD1 LDN /REM/VPST RESET TO FIRST CONNECTION NUMBER
- PTD2 STM TDST STORE NEW PAGE INDEX
- LJM. /KEYBOARD/KBIX RETURN
- TTA SPACE 4,10
- ** TTA - SET TERMINAL TABLE ADDRESS.
- *
- * ENTRY (T6) = TERMINAL NUMBER.
- *
- * EXIT (A) = TERMINAL TABLE ADDRESS.
- TTA SUBR ENTRY/EXIT
- TTAP LDD,T6 SET RELATIVE INDEX IN TABLE
- TTAA ADC * ADD BASE ADDRESS
- UJN TTAX RETURN
- SPACE 4,10
- DSPEND
- DISPLAY (DISPLAY V - PP BREAKPOINT.),,CMR
- ENTRY DSV,DSV
- SPACE 4,10
- *** *V* DISPLAY.
- DSV SUBR ENTRY/EXIT
- DISPHD (V,)
- LDM TDSV SAVE REFRESH FLAG
- STD T5
- RJM DPN DISPLAY PP NUMBER
- DISPLA ,,(. PP BREAKPOINT.)
- * LDN 0
- STD T6 INITIALIZE CM BUFFER INDEX
- * SET COMMUNICATIONS ADDRESS.
- LDM TDSV+1 PP MB+5
- STD CN
- ZJN DSVX IF NO PP PRESENT
- SBN 1
- STD T7 SET END OF COMMUNICATIONS AREA DISPLAY
- SBN 6
- STD T4 FWA OF PP COMMUNICATIONS AREA
- * LOCATE COMMUNICATION AREA IN CMR.
- LDN DFPP FETCH DAYFILE-S POINTER
- CRD CM
- LDD CM
- SHN 14
- LMD CM+1
- SBN 50 LOCATE COMMUNICATION AREA
- STM ACAA+1
- SHN -14
- ADC ADCI UPDATE ROUTINE *ACA*
- STM ACAA
- * DISPLAY PP COMMUNICATIONS AREA.
- LDM CTOS
- ADN YINC
- STD YC SET COORDINATES
- RJM PNL
- LDD T4 DISPLAY PP COMMUNICATIONS ADDRESS
- RJM D4D
- RJM CBK CHECK PP AT BREAKPOINT
- STD T3
- ZJN DSV1 IF AT BREAKPOINT
- LDN 2
- RAD T7 ADJUST MESSAGE BUFFER LIMIT CHECK
- DSV1 LDD T4
- RJM DCA DISPLAY WORD
- RJM PNL
- AOD T4 ADVANCE ADDRESS
- LMD T7
- NJN DSV1 IF MORE TO DISPLAY
- LDD T3
- ZJN DSV3 IF AT BREAKPOINT
- DISPLA CH01,LN17,(NOT AT BREAKPOINT)
- DSV2 LJM DSVX RETURN
- * DISPLAY MB+4 AND MB+5.
- DSV3 AOD T6 FETCH DATA FROM CM BUFFER
- RJM ACA
- CRD CM DISPLAY 5 GROUPS OF 4 DIGITS
- RJM D5F
- RJM PNL SWITCH TO NEXT DISPLAY LINE
- AOD T6
- RJM ACA READ MB+5 DATA
- CRD CM
- RJM D5F DISPLAY DATA
- AOD T6
- * CHECK FOR DISPLAY UPDATE REQUIRED.
- LDD T5 CHECK REFRESH FLAG
- SCN 77
- ZJN DSV4 IF NO UPDATE REQUIRED
- LMD T5
- STM TDSV CLEAR UPDATE FLAG
- RJM BLD ASSEMBLE NEW DISPLAY DATA
- UJN DSV2 RETURN
- * DISPLAY *P* AND *A* REGISTERS.
- DSV4 LDD CN READ REGISTER DATA
- CRD CM
- DISPLA CH54,LN10,(P = )
- LDD CM+4 DISPLAY *P* REGISTER
- RJM D4D
- DISPLA CH54,LN12,(A = )
- LDD CM+2 DISPLAY *A* REGISTER
- RJM D2D
- LDD CM+3
- RJM D4D
- LCN YINC SKIP ONE LINE
- RAD YC
- RJM PNL RESET DISPLAY COORDINATES
- * DISPLAY PP MEMORY AT *C*.
- LDM DCTY
- ZJN DSV6 IF CC545
- LCN 3
- DSV6 ADN 10 SET BLOCK COUNT
- STD T5
- LDN 1RC DISPLAY BLOCK IDENTIFIER *C*
- OAN CH
- DSV7 RJM DPM DISPLAY EIGHT BYTES
- SOD T5
- NJN DSV7 IF NOT END OF BLOCK
- RJM PNL SKIP ONE LINE
- * DISPLAY PP MEMORY AT *D*.
- LDN 10 SET BLOCK COUNT
- STD T5
- LDN 1RD DISPLAY BLOCK IDENTIFIER *D*
- OAN CH
- DSV8 RJM DPM DISPLAY EIGHT BYTES
- SOD T5
- NJN DSV8 IF NOT END OF BLOCK
- LJM DSVX RETURN
- ACA SPACE 4,10
- ** ACA - ADD CM BUFFER ADDRESS.
- *
- * ENTRY (A) = OFFSET INTO BUFFER.
- ACA SUBR ENTRY/EXIT
- ACAA ADC 0
- UJN ACAX RETURN
- BLD SPACE 4,10
- ** BLD - BUILD BUFFER.
- *
- * ENTRY (T3) = CM BUFFER INDEX.
- * (CN) = PP MB+5 ADDRESS.
- *
- * USES T5.
- *
- * CALLS SPM.
- *
- * NOTE - DATA STORED IN CM AS (12/ADDR, 48/DATA)
- BLD SUBR ENTRY/EXIT
- AOM SPMA
- LDC PBK4 SAVE MB+4 IN CM BUFFER
- RJM SPM
- LDC PBK5 SAVE MB+5
- RJM SPM
- SOM SPMA RESTORE INSTRUCTION FOR MEMORY DATA
- * READ AREA AT C AND D.
- LDM DCTY
- ZJN BLD1 IF CC545
- LCN 3*2
- BLD1 ADN 10*2 SET BLOCK COUNT
- STD T5
- LDM TDSV+2 ASSEMBLE DATA FOR DISPLAY AT C
- STD T7
- BLD2 LDD T7 SAVE FOUR BYTES
- RJM SPM
- SOD T5
- NJN BLD2 IF NOT END OF BLOCK
- LDN 10*2
- STD T5 SET BLOCK COUNT
- LDM TDSV+3
- STD T7 ASSEMBLE DATA FOR DISPLAY AT D
- BLD3 LDD T7
- RJM SPM SAVE FOUR BYTES
- SOD T5
- NJN BLD3 IF NOT END OF BLOCK
- UJP BLDX RETURN
- CBK SPACE 4,10
- ** CBK - CHECK PP AT BREAKPOINT.
- *
- * ENTRY (CN) = PP MB+5 ADDRESS.
- *
- * EXIT (A) = 0 IF AT BREAKPOINT.
- * (CM - CM+4) = (MB+5).
- CBK SUBR ENTRY/EXIT
- LDD CN
- CRD CM READ PP MESSAGE BUFFER
- LDD CM
- ADD CM+1 CHECK PP AT BREAKPOINT
- LMC 2*7777
- UJN CBKX RETURN
- DCA SPACE 4,10
- ** DCA - DISPLAY COMMUNICATIONS AREA WORD.
- *
- * ENTRY (A) = ADDRESS OF WORD.
- *
- * USES CM - CM+4, SH - SH+4.
- *
- * CALLS D5F.
- DCA1 LDN CM SET ADDRESS OF PROGRAM NAME
- DCA2 STM DCAA
- LDC CH06 OUTPUT X-COORDINATE
- OAN CH+40
- LDN 2 TRANSLATE NAME / FUNCTION
- OAM **,CH
- DCAA EQU *-1
- DCA3 RJM D5F DISPLAY WORD
- DCA SUBR ENTRY/EXIT
- CRD CM
- LPN 7
- ZJN DCA1 IF PP INPUT REGISTER ADDRESS
- LMN 1
- NJN DCA3 IF NOT OUTPUT REGISTER ADDRESS
- LDD CM
- SHN -1 UNPACK MONITOR FUNCTION
- LPN 77
- STD T0 SET TRANSLATION TABLE INDEX
- LDC RPLP
- CRD SH FETCH RPL POINTER
- LDD SH
- SHN 14 FORM FWA OF RPL
- LMD SH+1
- ZJN DCA3 IF LIBRARY LOCKED
- ADK /DISPLAY/TFTN
- ADD T0 GET MONITOR FUNCTION MNEMONIC
- CRD SH
- LDD CM UNPACK MONITOR FUNCTION
- SHN 1
- LPN 2 FORM BYTE INDEX
- ADN SH
- UJP DCA2 SET ADDRESS OF MNEMONIC
- DPM SPACE 4,10
- ** DPM - DISPLAY PP MEMORY.
- *
- * ENTRY (T6) = CM BUFFER INDEX.
- *
- * EXIT (T6) = (T6) + 2.
- * (YC) = Y-COORDINATE ADVANCED TO NEXT LINE.
- *
- * USES T7, CM - CM+4.
- *
- * CALLS ACA, D4F, PNL.
- DPM SUBR ENTRY/EXIT
- LDD T6
- RJM ACA FETCH DATA FROM CM BUFFER
- CRD T7
- LDC CH03
- OAN CH OUTPUT X-COORDINATE
- LDN 1R(
- OAN CH
- LDD T7 DISPLAY ADDRESS VALUE
- RJM D4D
- LDC 2R)
- OAN CH
- LDC CH11-5*XINC SET X-COORDINATE
- STD T3
- RJM D4F DISPLAY FOUR FIELDS
- AOD T6
- RJM ACA GET NEXT FOUR BYTES
- CRD T7
- RJM D4F DISPLAY FOUR FIELDS
- RJM PNL
- AOD T6
- UJN DPMX RETURN
- DPN SPACE 4,10
- ** DPN - DISPLAY PP NUMBER.
- *
- * ENTRY (T5) = PP NUMBER.
- *
- * USES AB - AB+4, CM - CM+4.
- *
- * CALLS D2D.
- DPN1 LDD T5 DISPLAY PP NUMBER
- RJM D2D
- DPN SUBR ENTRY/EXIT
- LDN PPUL
- CRD CM FETCH PP COUNTS
- LDN PPCP
- CRD AB GET PP COMMUNICATIONS AREA ADDRESS
- AOD CM+3
- LPN 77 PSEUDO PP + CPP COUNT
- ADD CM+2
- SHN 3 CALCULATE LWA+1 OF COMMUNICATION AREA
- ADD AB+4
- SBN 1 LWA OF PSEUDO PP MESSAGE BUFFER
- LMM TDSV+1
- NJN DPN1 IF NOT PSEUDO PP
- LDC 2RPS
- OAN CH+40
- UJN DPNX RETURN
- D4F SPACE 4,10
- ** D4F - DISPLAY FOUR FIELDS.
- *
- * ENTRY (T3) = CURRENT X-COORDINATE.
- * (CM - CM+4) = DATA TO DISPLAY.
- *
- * EXIT (T3) ADVANCED.
- *
- * USES T2.
- *
- * CALLS D4D.
- D4F SUBR ENTRY/EXIT
- LDN CM
- STD T2
- D4F1 LDN 5*XINC ADVANCE X-COORDINATE
- RAD T3
- OAN CH OUTPUT COORDINATE
- LDI T2
- RJM D4D DISPLAY FOUR DIGITS
- AOD T2
- LMN CM+4
- NJN D4F1 IF MORE TO DISPLAY
- UJN D4FX RETURN
- PNL SPACE 4,10
- ** PNL - POSITION DISPLAY TO NEXT LINE.
- *
- * ENTRY (XC) = X-COORDINATE.
- * (YC) = CURRENT Y-COORDINATE.
- *
- * EXIT (YC) = (YC) - YINC.
- PNL SUBR ENTRY/EXIT
- LCN YINC
- RAD YC
- LDN 2 POSITION DISPLAY
- OAM XC,CH
- UJN PNLX RETURN
- SPM SPACE 4,10
- ** SPM - SAVE PP MEMORY.
- *
- * ENTRY (A) = PP MEMORY ADDRESS.
- * (T3) = CM BUFFER INDEX.
- * (CN) = PP MB+5 ADDRESS.
- *
- * EXIT (T3) = (T3) + 1.
- * (T7) = PP MEMORY ADDRESS + 4.
- *
- * USES T1, CM - CM+4.
- *
- * CALLS ACA, CBK.
- SPM2 RJM CBK CHECK REQUEST COMPLETE
- NJN SPM1 IF NOT COMPLETE
- LDD CN
- SBN 1
- CRD CM FETCH DATA FROM PP
- AOD T3
- RJM ACA STORE DATA IN CM BUFFER
- SPMA CWD T7
- * CWD CM (SAVING MB+4 AND MB+5)
- LDN 4
- RAD T7 ADVANCE PP MEMORY ADDRESS
- SPM SUBR ENTRY/EXIT
- STD T7
- STD CM+4
- LDN PBCF PPN.C,XXXX.
- STD CM+3
- STD CM ENSURE NO 7777
- LDD CN
- CWD CM STORE PP REQUEST
- LDN 77
- STD T1 INITIALIZE COUNTER
- SPM1 SOD T1
- PJN SPM2 IF NOT TIMED OUT
- LJM DSVX EXIT - PP LOST
- SPACE 4,10
- DSPEND
- DISPLAY (DISPLAY W - MEMORY ALLOCATION.)
- ENTRY DSWA,DSWA
- SPACE 4,10
- *** *W,A* DISPLAY - MEMORY ALLOCATION.
- *
- * DISPLAY MEMORY ALLOCATION.
- *
- * EXAMPLE -
- *
- * 1 2 3 4 5 6
- * 1234567890123456789012345678901234567890123456789012345678901234
- *
- * CENTRAL MEMORY
- *
- * 40000
- *
- *
- *
- *
- * EXTENDED MEMORY
- *
- * FILE I/O BUFF TRACK USER XM
- * USER XM SPACE SPACE SIZE BLOCK SIZE
- *
- * UEM 2000 0 1000
- * EQ 5 7700 20
- DSWA SUBR ENTRY/EXIT
- DISPHD (W,A. MEMORY ALLOCATION.)
- * LDN 0 PRESET T9
- STD T9
- STD T7 PRESET NUMBER OF CONTROL BLOCK ENTRIES
- * READ INFORMATION FROM LOW CORE.
- LDK ECRL NO. OF *UEBS*-WORD BLOCKS FOR USER ACCESS
- CRD AB
- ADK UEML-ECRL DETERMINE IF UEM PRESENT
- CRD CM
- ADK EXML-UEML GET EST ORDINAL OF EQ WITH CPU PORT
- CRD T2
- ADK BIOL-EXML FWA BUFFERED I/O TABLES
- CRD SR
- ADK MEFL-BIOL GET SHIFT COUNTS
- CRD SH
- LDD SH+2 GET USER EM BLOCK SHIFT COUNT
- SHN -11
- ADD TH
- ERRNZ SHNI-1000
- STM DSWB
- STM DSWD
- STM DSWE
- LDK ESTP GET LAST MS ORDINAL+1
- CRD T1
- ADK MABL-ESTP GET CM SIZE/100B
- CRD SH
- LDD SR+1
- SHN 14
- LMD SR+2
- ZJN DSW1 IF NO I/O BUFFER SPACE DEFINED
- ADK CBTP POINTER TO CONTROL BLOCK TABLES
- CRD T7
- * DISPLAY TITLES, COLUMN HEADERS, AND CENTRAL MEMORY.
- DSW1 LDN DSWFL
- OAM DSWF,CH
- LDD SH+2
- SHN 14
- LMD SH+3
- RJM D6S
- LDC LN19 SET Y-COORDINATE
- STD YC
- OAN CH+40
- * DISPLAY UEM FIRST IF PRESENT AND NO EQ ENTRY FOR IT.
- LDD CM+4
- LPN 2
- ZJN DSW4 IF UEM NOT PRESENT
- LDK NOPE-1 INITIALIZE EST ORDINAL FOR SEARCH
- STD T5
- DSW2 RJM FEM DETERMINE IF UEM HAS AN EQ ENTRY
- ZJN DSW4 IF EQ ENTRY FOR UEM FOUND
- PJN DSW2 IF EM TYPE IS NOT UEM, AND NOT END OF EST
- STD T8 DO NOT DISPLAY *UEM* FLAG
- STD T9 FLAG - UEM PRESENT WITHOUT EQ ENTRY
- DISPLA CH01,,(UEM )
- * LDN 0
- STD T5 EQ ENTRY FOR UEM NOT APPLICABLE
- LJM DSW9 DISPLAY USER EM FOR UEM
- * FIND AND DISPLAY EACH EM EQUIPMENT.
- DSW3 NJN DSW5 IF EST ORDINAL ALREADY INITIALIZED
- DSW4 LDK NOPE-1 INITIALIZE EST ORDINAL FOR SEARCH
- STD T5
- DSW5 RJM FEM FIND EXTENDED MEMORY EQUIPMENT
- MJP DSWAX IF END OF EST
- DISPLA CH01,,(EQ)
- LDD T5
- RJM D4S
- * DISPLAY FILE SPACE ALLOCATED ON EQUIPMENT AND TRACK SIZE.
- LDC CH20
- OAN CH+40
- LDD CM+4 MST ADDRESS/10B
- SHN 3
- ADK TDGL GET NO. OF TRACKS ON DEVICE
- CRD SR
- ADK MDGL-TDGL
- CRD SH SECTOR LIMIT
- LDD SH+4 CREATE TRACK SHIFT FACTOR
- SHN -5
- LMN 4
- ZJN DSW6 IF SHIFT FACTOR .EQ. 4
- ADN 1
- DSW6 LMN 4
- ADD TH
- ERRNZ SHNI-1000
- STM DSWC
- LDD T2+4 EQ WITH CPU PORT
- LPC 777
- LMD T5
- ADD T9
- STD T3
- ZJN DSW7 IF EQ HAS CPU PORT AND UEM HAS EQ ENTRY
- LDN 0
- UJN DSW8 NO USER EM TO SUBTRACT
- DSW7 LDD AB+1 NO. OF *UEBS*-WORD BLOCKS FOR USER ACCESS
- DSWB SHN 0 (*UEBS* = 1000B WORDS)
- * SHN 1 (*UEBS* = 2000B WORDS)
- * SHN 2 (*UEBS* = 4000B WORDS)
- * SHN 3 (*UEBS* = 10000B WORDS)
- * SHN 4 (*UEBS* = 20000B WORDS)
- DSW8 STD AB+4 SAVE USER EM SIZE
- SHN -14
- STD AB+3
- LDD SR NUMBER OF TRACKS ON DEVICE
- DSWC SHN 1 (TRACK SIZE = 20B SECTORS)
- * SHN 2 (TRACK SIZE = 40B SECTORS)
- * SHN 3 (TRACK SIZE = 100B SECTORS)
- * SHN 4 (TRACK SIZE = 200B SECTORS)
- SBD AB+4 SUBTRACT USER EM ON DEVICE
- STD SR+4
- SHN -14
- SBD AB+3
- SHN 14
- LMD SR+4
- RJM D6S DISPLAY FILE SPACE
- LDC CH40
- OAN CH+40
- LDD SH+4
- RJM D4S DISPLAY TRACK SIZE
- LDD T3
- NJN DSW10 IF EQ W/O CPU PORT OR UEM W/O EQ ENTRY
- * DISPLAY USER EM, I/O BUFFER SPACE AND USER EM BLOCK SIZE.
- DSW9 LDC CH11
- OAN CH+40
- LDD AB+1 NO. OF *UEBS*-WORD BLOCKS FOR USER ACCESS
- DSWD SHN 0 (*UEBS* = 1000B WORDS)
- * SHN 1 (*UEBS* = 2000B WORDS)
- * SHN 2 (*UEBS* = 4000B WORDS)
- * SHN 3 (*UEBS* = 10000B WORDS)
- * SHN 4 (*UEBS* = 20000B WORDS)
- RJM D6S
- LDC CH30
- OAN CH+40
- LDD T7 NUMBER OF CBT ENTRIES
- SHN 2 ONE CBT PER 4000-WORD I/O BUFFER
- RJM D6S
- LDD AB+1
- ZJN DSW10 IF NO USER EM DEFINED
- LDC CH50
- OAN CH+40
- LDC 1000 DEFAULT USER EM BLOCK SIZE
- DSWE SHN 0 (*UEBS* = 1000B WORDS)
- * SHN 1 (*UEBS* = 2000B WORDS)
- * SHN 2 (*UEBS* = 4000B WORDS)
- * SHN 3 (*UEBS* = 10000B WORDS)
- * SHN 4 (*UEBS* = 20000B WORDS)
- RJM D6S
- * DISPLAY *UEM* IF THIS EQ IS UEM.
- DSW10 LDD T8
- NJN DSW11 IF THIS EQ IS NOT UEM
- DISPLA CH60,,(UEM )
- DSW11 LCN YINC
- RAD YC
- OAN CH+40
- LDD T5
- LJM DSW3 CHECK NEXT EST ORDINAL
- DSWF CON LN07 CM TITLE
- CON CH26
- DATA H*CENTRAL MEMORY*
- CON LN14 EM TITLE AND COLUMN HEADERS
- CON CH25
- DATA H*EXTENDED MEMORY*
- CON LN16
- CON CH21
- DATA H*FILE*
- CON CH29
- DATA H*I/O BUFF*
- CON CH40
- DATA H*TRACK *
- CON CH49
- DATA H*USER XM *
- CON LN17
- CON CH11
- DATA H*USER XM *
- CON CH21
- DATA H*SPACE *
- CON CH30
- DATA H*SPACE *
- CON CH40
- DATA H*SIZE*
- CON CH48
- DATA H*BLOCK SIZE*
- CON LN09 POSITION FOR CM SIZE
- CON CH29
- DSWFL EQU *-DSWF
- FEM SPACE 4,10
- ** FEM - FIND EXTENDED MEMORY EQUIPMENTS.
- *
- * ENTRY (T4) = LAST MASS STORAGE EST ORDINAL+1.
- * (T5) = EST ORD OF LAST EQ CHECKED.
- *
- * EXIT (A) .GT. 0, IF EM TYPE IS NOT UEM.
- * = 0, IF EM TYPE IS UEM.
- * = -1, IF END OF EST.
- * (T8) .GT. 0, IF EM TYPE IS NOT UEM.
- * = 0, IF EM TYPE IS UEM.
- * (T5) = EST ORDINAL, IF EQ TYPE IS *DE* OR *DP*.
- * (CM+4) = MST ADDRESS/10B.
- *
- * USES T5, T8, CM - CM+4, SR - SR+4.
- FEM3 LCN 1
- FEM SUBR ENTRY/EXIT
- FEM1 AOD T5
- SBD T4
- PJN FEM3 IF END OF LIST
- LDD T5
- SFA EST GET EST FWA
- ADK EQDE
- CRD CM
- LDD CM+3 CHECK DEVICE TYPE
- LMC 2RDE
- ZJN FEM2 IF EM EQUIPMENT
- LMN 2RDE&2RDP
- NJN FEM1 IF NOT EM EQUIPMENT
- FEM2 LDD CM+4 MST ADDRESS/10B
- SHN 3
- ADK DILL GET EM TYPE
- CRD SR
- LDD SR+3
- SHN -6
- LPN 7
- LMN 4 UEM
- STD T8
- UJN FEMX RETURN
- SPACE 4,10
- DSPEND
- DISPLAY (DISPLAY W - CHANNEL STATUS.),,CMR
- ENTRY DSWC,DSWC
- SPACE 4,35
- *** *W,C* DISPLAY - CHANNEL STATUS.
- *
- * DISPLAY CHANNEL STATUS.
- *
- * EXAMPLE (NO CONCURRENT CHANNELS) -
- *
- * 1 2 3 4 5 6
- * 1234567890123456789012345678901234567890123456789012345678901234
- *
- * CHANNEL A REGISTER = 0000
- *
- * CH PP PGM STATUS (170) CH PP PGM STATUS (180)
- *
- * 0 20 11 1MI -CF
- * 1 21 ---
- * 2 3 1SJ FULL 22 D-E
- * 3 22 1TO DOWN FULL 23 7 1AJ ---
- *
- *
- * EXAMPLE (CONCURRENT CHANNELS) -
- *
- * 1 2 3 4 5 6
- * 1234567890123456789012345678901234567890123456789012345678901234
- *
- * CHANNEL A REGISTER = 0000
- *
- * CH PP PGM STATUS CH PP PGM STATUS CCH PP PGM STATUS
- *
- * 0 --- 20 11 1TO -CF 0 ---
- * 1 --- 21 --- 1 C01 1XY ---
- * 2 3 1MB --F 22 D-E 2 DC-
- * 3 22 1XM D-F 23 7 1TA --- 3 C04 1XY -C-
- DIRECT SPACE 4,10
- ** DIRECT CELL ASSIGNMENTS.
- CN EQU AB CHANNEL NUMBER
- CW EQU AB+1 COLUMN WIDTH
- CC EQU AB+2 CONCURRENT CHANNEL COLUMN FLAG
- DSWC SUBR ENTRY/EXIT
- DSWA LJM PRS PRESET OVERLAY
- * UJN DSW1 (AFTER PRESET IS COMPLETE)
- DSW1 DISPHD (W,C. CHANNEL STATUS.)
- * LDN 0
- STD CN CLEAR CHANNEL NUMBER
- STD CW CLEAR COLUMN WIDTH
- STD CC CLEAR CCH COLUMN FLAG
- DSWB LDN ** SET LAST NCH + 1
- STD T7
- LDM CTOS INITIALIZE Y-COORDINATES
- OAN CH+40
- DISPLA CH01,,(CHANNEL A REGISTER = )
- LDD AR
- RJM D4D DISPLAY *A* REGISTER
- * DISPLAY CHANNEL STATUS.
- LDN CTALL CHANNEL STATUS TABLE LENGTH
- STD T2
- DSWD LDC ** FWA OF CHANNEL TABLES
- CRM CHTB,T2
- DSW2 RJM DCH DISPLAY COLUMN HEADER
- DSW3 LCN YINC MOVE TO NEXT LINE
- RAD YC
- LDN 2
- OAM XC,CH
- LDD CN
- LPN 37
- RJM D2Z OUTPUT CHANNEL NUMBER
- LDM DCHD+1 OUTPUT COORDINATE OF ASSIGNED PP
- OAN CH+40
- LDM CHTB,CN CHECK ASSIGNMENT
- LPN 37
- ZJN DSW6 IF NOT ASSIGNED
- STD T2
- SBN 20D
- MJN DSW4 IF THIS IS AN NPP
- STD T0
- LDN 1RC
- OAN CH+40
- LDD T0
- RJM D2D DISPLAY CPP NUMBER
- LDN 0
- OAN CH+40
- UJN DSW5.1 DISPLAY PROGRAM NAME
- DSW4 ADN 10D
- MJN DSW5 IF LOWER BANK
- ADN 6 SET UPPER BANK PP NUMBER
- DSW5 ADN 10D
- RJM D4S DISPLAY NPP NUMBER
- DSW5.1 LDD T2 DISPLAY PROGRAM NAME
- SHN 3
- ADD IA
- SBN 10
- CRD CM
- LDD CM
- ZJN DSW6 IF PP IS NOT ACTIVE
- OAN CH+40
- LDD CM+1
- SCN 77
- OAN CH+40
- DSW6 RJM DCS DISPLAY CHANNEL STATUS
- AOD CN ADVANCE CHANNEL
- LMD T7
- ZJN DSW8 IF NO MORE NCH-S TO DISPLAY
- LDD CN
- LMN 20
- ZJN DSW9 IF CHANNEL 17 JUST PROCESSED
- LPN 7
- NJN DSW7 IF NOT 10 OR 30 CHANNELS
- LCN YINC LEAVE BLANK LINE
- RAD YC
- DSW7 LJM DSW3 CONTINUE DISPLAY
- DSW8 LDN 40 RESET CHANNEL NUMBER
- STD CN
- DSWE LDN ** LAST CHANNEL + 1
- LMD T7
- ZJN DSW10 IF LAST CHANNEL DISPLAYED
- LDN XINC SET UP CCH DISPLAY
- STD CC
- DSWF LDN 40+** SET LAST CCH + 1
- STD T7
- DSW9 LJM DSW2 RESET Y AND CONTINUE DISPLAY
- DSW10 LDC CH01 RESTORE X-COORDINATE
- STD XC
- LJM DSWCX RETURN
- DCH SPACE 4,15
- ** DCH - DISPLAY COLUMN HEADER.
- *
- * ENTRY (XC) = STARTING POSITON OF THE COLUMN.
- * (CW) = WIDTH OF COLUMN.
- * = 0, ON FIRST CALL.
- * (CC) = CCH COLUMN FLAG.
- * = 0 WHEN DISPLAYING NCH COLUMNS.
- * = *XINC* WHEN DISPLAYING CCH COLUMN.
- *
- * EXIT (XC) = STARTING POSITION OF THE NEW COLUMN.
- * (YC) = FIRST LINE OF THE DISPLAY DATA.
- * (CW) = WIDTH OF COLUMN.
- * (A) = 0.
- DCH SUBR ENTRY/EXIT
- LDM CTOS OUTPUT Y-COORDINATE OF COLUMN HEADING
- SBN 2*YINC
- OAN CH+40
- SBN YINC SKIP A LINE
- STD YC
- LDD CW OUTPUT X-COORDINATE OF THE COLUMN HEADING
- RAD XC
- SBD CC BACKSPACE 2 POSITIONS IF CCH COLUMN
- SBD CC
- OAN CH+40
- LDD CC
- ZJN DCH1 IF THIS IS NOT THE CCH COLUMN
- LDN 1RC
- OAN CH+40
- DCH1 LDD XC
- ADK CH05-CH01 SET FIELD COORDINATES
- * ADK CH03-CH01 (CCH-S PRESENT)
- DCHA EQU *-1
- ADD CC
- STM DCHD+1
- ADK CH17-CH05
- * ADK CH14-CH03 (CCH-S PRESENT)
- DCHB EQU *-1
- STM DCHE
- LDC CH33-CH01 SET COLUMN WIDTH
- * LDC CH23-CH01 (CCH-S PRESENT)
- DCHC EQU *-1
- STD CW
- LDN DCHDL DISPLAY COLUMN HEADER
- OAM DCHD,CH
- UJP DCHX RETURN
- * CON CH01
- DCHD CON 2HCH,CH05
- DATA 10H PP PGM
- DCHE CON CH17
- DATA 6HSTATUS
- DCHDL EQU *-DCHD
- DCS SPACE 4,10
- ** DCS - DISPLAY CHANNEL STATUS.
- *
- * ENTRY (CN) = CHANNEL NUMBER.
- DCS SUBR ENTRY/EXIT
- LDM DCHE ADVANCE TO STATUS FIELD
- OAN CH+40
- LDD CN SET CHANNEL INSTRUCTIONS
- LMC AJMI+100000 SET UP JUMP IF CHANNEL FLAG SET
- DCSA STM DCSC
- * STML DCSC (CYBER 180)
- ADD HN
- ERRNZ AJMI+100-IJMI CODE ASSUMES VALUE
- STM DCSD
- STM DCSF
- ADD HN
- ERRNZ IJMI+100-FJMI CODE ASSUMES VALUE
- STM DCSE
- STM DCSG
- LDM CHTB,CN DISPLAY DOWN STATUS
- LPN 40
- DCSB UJN DCS5 CHECK DOWN STATUS ON A CYBER 170
- * ZJN DCS1 (CYBER 180)
- LDN 1RD&1R-
- DCS1 LMN 1R-
- STM DOWN
- LDD CC
- ZJN DCS2 IF NOT A CONCURRENT CHANNEL
- LDN 0
- UJN DCS4 SKIP FULL/EMPTY CHECK
- DCS2 LDN 1RC&1R-
- DCSC AJM DCS3,** IF CHANNEL FLAG SET
- * FSJM DCS3,** (CYBER 180)
- LDN 0
- DCS3 SHN 6
- DCSD IJM DCS4,** IF CHANNEL INACTIVE
- ADN 1RF&1R-
- DCSE FJM DCS4,** IF CHANNEL FULL
- ADN 1RE&1RF
- DCS4 LMC 2R--
- STM DOWN+1
- LDC. DOWN
- UJN DCS7 DISPLAY STATUS
- DCS5 ZJN DCS6 IF NO DOWN STATUS
- LDN DOWNL
- OAM DOWN,CH
- DCS6 LDC. FULL DISPLAY FULL/EMPTY STATUS
- DCSF IJM DCSX,** IF CHANNEL INACTIVE
- DCSG FJM DCS7,** IF CHANNEL FULL
- ADN EMPT-FULL
- DCS7 STM DCSH
- LDN FULLL
- OAM *,CH
- DCSH EQU *-1 TEXT ADDRESS
- UJP DCSX RETURN
- DOWN DATA 6HDOWN
- DOWNL EQU *-DOWN
- FULL DATA 6HFULL
- FULLL EQU *-FULL
- EMPT DATA 6HEMPTY
- ERRNZ *-EMPT-FULLL *FULL* AND *EMPT* MUST BE SAME LENGTH
- REMOTE SPACE 4,10
- DIS HERE FORCE REMOTE CODE HERE
- PRS SPACE 4,10
- ** PRS - PRESET *W,C* DRIVER.
- PRS BSS 0 ENTRY
- LDK NCHL SET NCH COUNT
- CRD CM
- ADK CHTP-NCHL
- CRD CN
- ADK MABL-CHTP
- CRD SP
- LDD CM
- RAM DSWB
- STM DSWE SET LAST CHANNEL NUMBER
- LDD SP+1
- LPC 4100
- LMD HN
- NJN PRS0 IF NOT 180-TYPE CHANNELS
- ISTORE DCSB,(ZJN DCS1)
- LDC. DCSA CONVERT *AJM* TO *FSJM*
- STD T3
- BLI T3
- LDD CM+3 SET CCH COUNT
- ERRNZ CPPL-NCHL CODE ASSUMES THE SAME LOCATION
- LPN 77
- ZJN PRS1 IF NO CCH-S
- RAM DSWF
- STM DSWE SET LAST CHANNEL NUMBER
- LDN 20B
- SBD CM
- PRS0 PJN PRS1 IF ONLY 2 COLUMNS NEED TO BE DISPLAYED
- LDK CH03-CH01-CH05+CH01
- RAM DCHA
- LDK CH14-CH03-CH17+CH05
- RAM DCHB
- LDK CH23-CH01-CH33+CH01
- RAM DCHC
- PRS1 LDD CC SET CHANNEL TABLE ADDRESS
- RAM DSWD
- LDD CN+3
- STM DSWD+1
- ISTORE DSWA,(UJN DSW1) PREVENT PRESET PROCESSING NEXT TIME
- LJM DSW1 RETURN
- CHTB EQU PRS RESERVE SPACE FOR CHANNEL STATUS TABLE
- ERRNG .LDMX-CHTB-5*CTALL CHANNEL TABLE WILL NOT FIT
- SPACE 4,10
- DSPEND
- DISPLAY (DISPLAY W - MISC. PARAMETERS.)
- ENTRY DSWM,DSWM
- SPACE 4,20
- *** *W,M* DISPLAY - MISC. PARAMETERS.
- *
- * DISPLAY MISCELLANEOUS SYSTEM PARAMETERS.
- *
- * EXAMPLE -
- *
- * 1 2 3 4 5 6
- * 1234567890123456789012345678901234567890123456789012345678901234
- * SYSTEM DELAY PARAMETERS
- *
- * OPTION DESCRIPTION
- *
- * JQ = 1234 INPUT FILE SCHEDULING INTERVAL (2**JQ SECONDS)
- * JS = 1234 JOB SCHEDULER DELAY (SECONDS)
- *
- * CR = 1234 CPU PROGRAM RECALL (MILLISECONDS)
- * AR = 1234 PP AUTO RECALL (MILLISECONDS)
- *
- * MP = 1234 MEMORY PAD (BLOCKS)
- *
- * FILE THRESHOLDS
- *
- * OPTION DESCRIPTION
- *
- * CPTT = 1234 CPU TRANSFER THRESHOLD
- * SRST = 1234 SECONDARY ROLLOUT SECTOR THRESHOLD
- * OQSH = LEVEL67 OUTPUT QUEUE SPECIAL HANDLING LEVEL
- DSWM SUBR ENTRY/EXIT
- * DISPLAY HEADERS.
- LDM CTOS SET INITIAL Y-COORDINATES
- STM DSWA+1
- SBK 2*YINC
- STM DSWB+1
- STD YC
- LDN DSWAL
- OAM DSWA,CH
- DISPHD (W,M. MISC. PARAMETERS.)
- * OBTAIN DELAY VALUES.
- LDK JSCL READ SCHEDULER CONTROL
- CRD T5
- LDK MSCL READ MONITOR SCAN
- CRD CM
- LDD T7
- STD CM
- LDD T6
- STD T7
- LDD CM+4
- STD CM+3
- LDN T7 SET DELAY VALUE INDEX
- STD T6
- * DISPLAY EACH LINE.
- DSW1 LCN YINC
- RAD YC
- OAN CH+40
- LDD T6 CHECK IF DOUBLE SPACE NEEDED
- SHN 21-0
- PJN DSW2 IF DOUBLE SPACE NOT NEEDED
- LCN YINC
- RAD YC
- OAN CH+40
- DSW2 LDM TDLN-T7,T6 COMPUTE FWA-1 OF CURRENT MESSAGE
- ADD LA
- STD T1
- DSW3 AOD T1
- LDI T1
- OAN CH+40
- NJN DSW3 IF NOT THROUGH WITH CURRENT MESSAGE
- LDC CH06 REPOSITION X-COORDINATE
- OAN CH+40
- LDI T6
- RJM D4S OUTPUT DATA PORTION
- AOD T6 CHECK IF THERE ARE MORE MESSAGES
- LMN CM+4
- NJN DSW1 IF MORE MESSAGES TO DISPLAY
- * DISPLAY FILE THRESHOLD HEADER.
- LCN YINC*2 DOUBLE SPACE
- RAD YC
- OAN CH+40
- LDN DSWCL
- OAM DSWC,CH
- LCN YINC*2
- RAD YC
- STM DSWB+1 RESET SUBHEADER LINE COORDINATES
- LDN DSWBL
- OAM DSWB,CH
- * DISPLAY CPU TRANSFER THRESHOLD.
- LCN YINC*2
- RAD YC
- OAN CH+40
- DISPLA CH01,,(CPTT = )
- LDK PFNL DISPLAY *CPTT*
- CRD CM
- LDD CM+4
- RJM D4S
- DISPLA CH20,,(CPU TRANSFER THRESHOLD)
- * DISPLAY SECONDARY ROLLOUT SECTOR THRESHOLD.
- LCN YINC
- RAD YC
- OAN CH+40
- DISPLA CH01,,(SRST = )
- LDK IPRL DISPLAY *SRST*
- CRD CM
- LDD CM+1
- RJM D4S
- DISPLA CH20,,(SECONDARY ROLLOUT SECTOR THRESHOLD)
- * DISPLAY OUTPUT QUEUE SPECIAL HANDLING LEVEL.
- LDD SF
- ZJN DSW4 IF UNSECURED SYSTEM
- LCN YINC
- RAD YC
- OAN CH+40
- DISPLA CH01,,(OQSH = )
- LDN SSML DISPLAY *OQSH*
- CRD CM
- LDD CM
- SHN -6 RIGHT JUSTIFY INDEX
- RJM DAL DISPLAY ACCESS LEVEL
- DISPLA CH20,,(OUTPUT QUEUE SPECIAL HANDLING LEVEL)
- DSW4 LJM DSWMX RETURN
- DSWA CON CH01,LN05
- DATA H*SYSTEM DELAY PARAMETERS*
- DSWB CON CH03,LN07
- DATA H*OPTION*
- CON CH27
- DATA H*DESCRIPTION*
- DSWAL EQU *-DSWA LENGTH OF HEADER
- DSWBL EQU *-DSWB LENGTH OF SUBHEADER
- DSWC CON CH01
- DATA H*FILE THRESHOLDS*
- DSWCL EQU *-DSWC LENGTH OF HEADER
- DLINE SPACE 4,10
- ** DLINE - DELAY LINE FOR DISPLAY.
- *
- * DLINE P,D
- *
- * ENTRY *P* = MNEMONIC.
- * *D* = DESCRIPTION OF *P*.
- PURGMAC DLINE
- DLINE MACRO P,D
- LOCAL A
- MACREF DLINE
- DBLK RMT
- A CON CH01
- DATA 2L_P
- DATA 2L =
- CON CH16
- DATA C$D$
- DBLK RMT
- CON A-1
- DLINE ENDM
- TDLN SPACE 4,10
- ** TDLN - TABLE OF DISPLAY LINES.
- TDLN BSS 0
- CHAR 1R[,1R( REPLACE *[* WITH *(*
- CHAR 1R],1R) REPLACE *]* WITH *)*
- CODE O
- LOC 7
- DLINE JQ,(INPUT FILE SCHEDULING INTERVAL [2**JQ SECONDS])
- DLINE JS,(JOB SCHEDULER DELAY [SECONDS])
- DLINE CR,(CPU PROGRAM RECALL [MILLISEONDS])
- DLINE AR,(PP AUTO RECALL [MILLISECONDS])
- DLINE MP,(MEMORY PAD [BLOCKS])
- LOC *O
- DBLK HERE
- CODE *
- SPACE 4,10
- DSPEND
- DISPLAY (DISPLAY W - SYSTEM TABLE ADDRESSES.)
- ENTRY DSWP,DSWP
- SPACE 4,10
- *** *W,P* DISPLAY - SYSTEM TABLE ADDRESSES.
- *
- * DISPLAY THE FWA OF VARIOUS SYSTEM TABLES.
- *
- * EXAMPLE -
- *
- * 1 2 3 4 5 6
- * 1234567890123456789012345678901234567890123456789012345678901234
- *
- * EJT = 25344 EST = 7664 PPC = 7200 RPL = 103657
- XCIN EQU 16D*XINC X-COORDINATE INCREMENT
- DSWP SUBR ENTRY/EXIT
- DISPHD (W,P. SYSTEM TABLE ADDRESSES.)
- LDM CTOS SET Y-COORDINATE FOR TITLE LINE
- OAN CH+40
- SBN 3*YINC INITIALIZE Y-COORDINATE FOR DATA
- STD T6
- DISPLA CH26,,(SYSTEM TABLES)
- LDM DCTY
- ZJN DSW1 IF CONSOLE TYPE CC545
- LCN YINC/2
- DSW1 ADN YINC+YINC/2
- STD T3 SET DECREMENT FOR Y-COORDINATE
- LDC. TSTP
- STD T7 PRESET POINTER TABLE ADDRESS
- LDC CH03
- STD T5 INITIALIZE X-COORDINATE
- OAN CH+40
- LDD T6 OUTPUT Y-COORDINATE
- OAN CH+40
- LDN ZERL CLEAR BASE ADDRESS
- CRD AB
- UJN DSW4 ENTER DISPLAY LOOP
- DSW2 SHN -5 POSITION TO POINTER OFFSET
- STD T0
- LDD AB FORM BASE ADDRESS
- SHN 14
- LMD T0 APPEND OFFSET
- ADD AB+1
- CRD CM READ POINTER WORD
- LMN PPCP
- NJN DSW3 IF NOT PP COMMUNICATIONS AREA
- STD CM+3
- DSW3 RJM DTA DISPLAY TABLE ADDRESS
- DSW4 LDI T7
- NJN DSW2 IF MORE POINTERS
- AOD T7
- LDI T7
- ZJN DSW7 IF END OF DISPLAY
- CRD AB
- AOD T7 ADVANCE TO BYTE ADDRESS
- LDI T7
- STD T1 EXTRACT BYTE ADDRESS
- AOD T7
- LDI T1 SET BASE ADDRESS OF TABLE
- STD AB
- AOD T1 ADVANCE BYTE ADDRESS
- LDI T1
- STD AB+1 CHECK TABLE DEFINED
- ADD AB
- DSW5 ZJN DSW7 IF UNDEFINED
- LCN 3*YINC DISPLAY TITLE
- RAD T6
- OAN CH+40
- DISPLA CH23,,(BUFFERED I/O TABLES)
- LDC CH03
- STD T5 RESET X-COORDINATE
- OAN CH+40
- LCN 3*YINC SELECT DISPLAY LINE
- RAD T6
- OAN CH+40
- UJN DSW4 DISPLAY NEXT BLOCK
- DSW7 LJM DSWPX RETURN
- DTA SPACE 4,15
- ** DTA - DISPLAY TABLE ADDRESS.
- *
- * ENTRY (T3) = DECREMENT FOR Y-COORDINATE.
- * (T5) = X-COORDINATE.
- * (T6) = Y-COORDINATE.
- * (T7) = ADDRESS OF *TSTP* ENTRY.
- *
- * EXIT (T5) = X-COORDINATE FOR NEXT ADDRESS.
- * (T6) = Y-COORDINATE FOR NEXT ADDRESS.
- * (T7) = ADDRESS OF NEXT *TSTP* ENTRY.
- *
- * USES T1, T5 - T7.
- *
- * CALLS D6S.
- DTA3 LDC XCIN ADVANCE X-COORDINATE
- RAD T5
- OAN CH+40 OUTPUT COORDINATE
- SBK CH64
- MJN DTAX IF NOT END OF LINE
- LDD T6
- SBD T3 DECREMENT Y-COORDINATE
- STD T6
- OAN CH+40 ADVANCE TO NEXT LINE
- LDC CH03
- STD T5 RESET X-COORDINATE
- OAN CH+40
- DTA SUBR ENTRY/EXIT
- LDI T7
- LPN 17 EXTRACT BYTE NUMBER
- STD T1
- AOD T7 ADVANCE POINTER TABLE
- LDI T7
- OAN CH+40 DISPLAY TABLE IDENTIFIER
- AOD T7
- LDI T7 DISPLAY TABLE IDENTIFIER
- OAN CH+40
- LDC 2R= DISPLAY SEPARATOR
- OAN CH+40
- LDI T1 FORM TABLE ADDRESS
- LPN 77
- SHN 14
- LMM. 1,T1
- ZJN DTA2 IF TABLE UNDEFINED
- RJM D6S
- DTA2 AOD T7
- LJM DTA3 ADVANCE COORDINATES
- SPACE 4,10
- ** DPTE - MACRO TO DEFINE POINTER TABLE ENTRY.
- *
- * DPTE PO,BN,TID
- *
- * ENTRY *PO* = POINTER ADDRESS / OFFSET.
- * *BN* = BYTE CONTAINING TABLE ADDRESS.
- * *TID* = TABLE IDENTIFIER (DEFAULTS TO *PO* NAME).
- PURGMAC DPTE
- DPTE MACRO PO,BN,TID
- VFD 7/PO
- .B SET BN 0
- VFD 5/CM+_.B
- IFC NE,*TID**
- .T MICRO 1,3, TID
- ELSE 1
- .T MICRO 1,3, PO
- VFD 24/4H".T"
- ENDM
- SPACE 4,10
- ** TSTP - TABLE OF SYSTEM TABLE POINTERS.
- *
- * NOTE - THE POINTERS ARE DISPLAYED IN ALPHABETIC ORDER BY
- * COLUMN, IN FOUR COLUMNS. HOWEVER, DUE TO PROGRAMMING
- * CONSIDERATIONS TABLE *TSTP* IS ORGANIZED BY ROW. CARE MUST
- * EXERCISED IN INSERTING OR DELETING ANY ENTRY TO PRESERVE THE
- * ALPHABETIC ORDER OF THE DISPLAY.
- TSTP BSS 0 TABLE OF SYSTEM TABLE POINTERS
- DPTE BIOL,1 BUFFERED I/O TABLES
- DPTE EPBP,3 EXTENDED MEMORY PP BUFFER
- DPTE LDSP,2 *L* DISPLAY BUFFER
- DPTE PRBP,3 *PROBE* TABLE
- DPTE CMBL,3,BKP BREAKPOINT TABLE
- DPTE EPDP ENTRY POINT DIRECTORY
- DPTE LIDP LOGICAL ID TABLE
- DPTE PSTP,2 PROGRAM STATUS TABLE
- DPTE CMBL,,BNT *CPUMTR* BLOCKS LOADED TABLE
- DPTE ESTP EQUIPMENT STATUS TABLE
- DPTE MCTP MEMORY CONTROL TABLE
- DPTE QFTP QUEUE FILE TABLE
- DPTE CHTP,2 CHANNEL TABLES
- DPTE EVTP EVENT TABLE
- DPTE EFRL,,MFS MAINFRAME STATE TABLE
- DPTE RCLP RESIDENT CENTRAL LIBRARY
- DPTE CLTP COMMON LIBRARIES TABLE
- DPTE FNTP FILE NAME TABLE
- DPTE MSAP MASS STORAGE ALLOCATION TABLE
- DPTE RPLP RESIDENT PERIPHERAL LIBRARY
- DPTE DFPP,2,DDB DAYFILE DUMP BUFFER
- DPTE FOTP FAMILY ORDINAL TABLE
- DPTE BIOL,3,MTR FWA OF *CPUMTR*
- DPTE SABL SYSTEM ATTRIBUTE BLOCK
- DPTE DFPP SYSTEM DAYFILE FET-S
- DPTE INBP,2 INSTALLATION BLOCK
- DPTE PCPP,3 PSEUDO CONTROL POINT AREA
- DPTE SDAP STATISTICAL DATA AREA
- DPTE EDBP EXTENDED MEMORY DISPLAY BUFFER
- DPTE JBCP,,JCB JOB CONTROL BLOCK TABLE
- DPTE PLDP PERIPHERAL LIBRARY DIRECTORY
- DPTE SCRL,,SID *SECDED* ID TABLE
- DPTE EJTP EXECUTING JOB TABLE
- DPTE LBDP,2 USER LIBRARY DIRECTORY
- DPTE PPCP,3 PP COMMUNICATIONS AREA
- DPTE SSCP,2 SUBSYSTEM CONTROL POINT TABLE
- DPTE EMBP,1 ERROR MESSAGE BUFFER
- CON 0,BIOL,AB+1 BUFFERED I/O TABLES
- DPTE CBTP,3 CONTROL BUFFER TABLE
- DPTE FTTP,3 FUNCTION TIMEOUT TABLE
- DPTE IBSP,3 I/O BUFFER STATISTICS TABLE
- DPTE PLTP,3 PP - I/O BUFFER LINK TABLE
- DPTE CCTP,3 CHANNEL CONTROL TABLE
- DPTE HATP,3 HASH TABLE
- DPTE IOSP,3 I/O STATISTICS TABLE
- DPTE PUTP,3 PHYSICAL UNIT TABLE
- CON 0,0
- SPACE 4,10
- DSPEND
- DISPLAY (DISPLAY W - SYSTEM QUEUES.)
- ENTRY DSWQ,DSWQ
- DSW SPACE 4,10
- *** *W,Q* DISPLAY - SYSTEM QUEUES.
- *
- * DISPLAY QUEUES INTERNAL TO *CPUMTR* AND *MTR*.
- *
- * EXAMPLE -
- *
- * 1 2 3 4 5 6
- * 1234567890123456789012345678901234567890123456789012345678901234
- * ---CPU--- -RECALL- ---PP--- PSEUDO-PP -BUFFER-
- * CP CPU CP TYPE CP PP CP CP BUF
- *
- * PSP 0 17 CPU 21 1MI 23 24 147
- * 10 1 33 1IO
- * IDL 1 5 LFM
- * 22 END
- DSWQ SUBR ENTRY/EXIT
- DISPHD (W,Q. SYSTEM QUEUES.)
- LDM CTOS SET UP HEADER COORDINATES
- STM DSWA
- SBN YINC
- STM DSWAA
- SBN YINC SET INITIAL Y-COORDINATE
- STD YC
- STD T3
- LDC DSWAL DISPLAY HEADER
- OAM DSWA,CH
- * LDN 0 SET QUEUE PROCESSOR INDEX
- STD T7
- LDD NC GET NUMBER OF CONTROL POINTS
- STD T6
- * PROCESS CPU WAIT QUEUE.
- LDM DSWC,T7 READ *WQ* POINTER
- CRD CM
- DSW1 LDD CM+3 GET LINK
- LPN 77
- SHN 14
- ADD CM+4
- ZJN DSW5 IF NO *WQ* LINKAGE
- CRD CM READ ENTRY
- SHN -7 CONVERT TO CONTROL POINT NUMBER
- STD T1
- LDD CM
- LMC 2000B
- ZJN DSW5 IF *WQ* TERMINATOR
- RJM CBS CHECK FOR BOTTOM OF SCREEN
- ZJN DSW5 IF BOTTOM OF SCREEN
- LDD T1
- SBD T6
- MJN DSW2 IF BEFORE SYSTEM CONTROL POINT
- RJM DCD DISPLAY CHARACTER DATA
- UJN DSW3 PROCESS CPU
- DSW2 LDD T1
- RJM D2S DISPLAY CONTROL POINT NUMBER
- LDN 0 SKIP TWO SPACES
- OAN CH+40
- DSW3 LDD CM+2 CHECK CPU SELECTION
- LPN 3
- ZJN DSW1 IF NO CPU SELECTION
- SBN 1
- RJM D2Z DISPLAY CPU SELECTION
- LJM DSW1 GET NEXT ENTRY
- DSW5 AOD T6 INCLUDE SYSTEM CP
- * PROCESS ALL OTHER QUEUES.
- DSW6 AOD T7
- LDD YC RESET INITIAL Y-COORDINATE
- STD T3
- LDM DSWC,T7 GET INITIAL QUEUE POINTER
- NJN DSW7 IF NOT END OF QUEUES
- LJM DSWQX RETURN
- DSW7 CRD CM READ ENTRY
- STD T2 SAVE POINTER
- SHN -7 CONVERT TO CONTROL POINT NUMBER
- ZJN DSW9 IF CP 0
- STD T1
- RJM CBS CHECK FOR BOTTOM OF SCREEN
- ZJN DSW6 IF BOTTOM OF SCREEN
- LDD T1
- SBD T6
- DSW8 PJN DSW6 IF SYSTEM CP
- LDD T1
- RJM D2S DISPLAY CONTROL POINT NUMBER
- LDM DSWD,T7
- DSW9 ZJN DSW10 IF NO ADDITIONAL PARAMETERS
- LDN DSWDL-1 CHECK FOR *BQRL* PROCESSING
- SBD T7
- ZJN DSW12 IF PROCESSING *BQRL*
- LDD T2
- LPN 77
- LMN CRCW-100
- ERRNG CRCW-100 *CRCW* MUST BE .GE. 100
- ZJN DSW11 IF CPU RECALL
- LDD T2 DISPLAY PP REQUEST
- ADN RECW-RCCW
- CRD SR
- LDD SR OUTPUT BLANK AND FIRST CHARACTER
- SHN -6
- OAN CH+40
- LDD SR
- LPN 77
- SHN 14
- LMD SR+1 OUTPUT SECOND AND THIRD CHARACTERS
- SCN 77
- SHN 14
- OAN CH+40
- DSW10 LDD CM+4 GET LINK
- ZJN DSW8 IF END OF QUEUE
- LJM DSW7 PROCESS NEXT ENTRY
- DSW11 DISPLA ,,( CPU)
- UJN DSW10 GET NEXT ENTRY
- * PROCESS *BQRL* PARAMETER.
- DSW12 LDD T2 GET BUFFER NUMBER
- CRD SR
- LDD SR+3
- RJM D4S DISPLAY BUFFER NUMBER
- UJN DSW10 GET NEXT ENTRY
- DSW SPACE 4,10
- * DISPLAY HEADER.
- DSWA CON BL01
- CON CH02
- DATA H*---CPU---*
- CON CH16
- DATA H*-RECALL-*
- CON CH29
- DATA H*---PP---*
- CON CH42 (45)
- DATA H*PSEUDO-PP*
- CON CH56
- DATA H*-BUFFER-*
- DSWAA CON BL01-YINC
- CON CH02
- DATA H*CP CPU*
- CON CH16
- DATA H*CP TYPE*
- CON CH29
- DATA H*CP PP*
- CON CH45 (45)
- DATA H*CP*
- CON CH56
- DATA H*CP BUF*
- DSWAL EQU *-DSWA
- * INITIAL X-COORDINATES.
- DSWB BSS 0
- CON CH02 CPU
- CON CH16 RECALL
- CON CH29 PP
- CON CH45 CIO PSEUDO-PP
- CON CH56 CIO BUFFER
- * QUEUE POINTERS.
- DSWC CON WQRL
- CON RQRL
- CON PQRL
- CON CQRL
- CON BQRL
- CON 0 END OF TABLE
- ** PARAMETER TERMINATORS.
- *
- *T 12/ V
- *
- * WHERE V = 0, IF NO MORE PARAMETERS FOR THIS QUEUE TYPE.
- DSWD CON 0 CPU
- CON 1 RECALL
- CON 1 PP
- CON 0 CIO PSEUDO-PP
- CON 1 CIO BUFFER
- DSWDL EQU *-DSWD
- CBS SPACE 4,15
- ** CBS - CHECK FOR BOTTOM OF SCREEN.
- *
- * *CBS* CHECKS FOR THE BOTTOM OF THE DISPLAY SCREEN, AND
- * DISPLAYS *MORE* IF THERE IS NO ROOM FOR ADDITIONAL ENTRIES.
- *
- * ENTRY (T3) = LAST Y-COORDINATE.
- * (T7) = QUEUE PROCESSING INDEX.
- *
- * EXIT (A) = NON-ZERO IF BOTTOM OF SCREEN NOT REACHED.
- * = 0 IF BOTTOM OF SCREEN AND *MORE* DISPLAYED.
- * (T3) = UPDATED Y-COORDINATE.
- * COORDINATES SENT TO DISPLAY CONTROLLER.
- *
- * USES T3.
- CBS1 LDM DSWB,T7 OUTPUT X-COORDINATE
- OAN CH+40
- CBS SUBR ENTRY/EXIT
- LCN YINC
- RAD T3 DECREMENT Y-COORDINATE
- OAN CH+40
- SBM CBOS
- PJN CBS1 IF NOT BOTTOM OF SCREEN
- LDN MOREL
- OAM MORE,CH
- * LDN 0 RETURN BOTTOM OF SCREEN REACHED
- UJN CBSX RETURN
- DCD SPACE 4,10
- ** DCD - DISPLAY CHARACTER DATA FOR SYSTEM CONTROL POINT ENTRY.
- *
- * ENTRY (CM - CM+4) = *WQ* ENTRY.
- DCD SUBR ENTRY/EXIT
- LDD CM+3
- SHN -5
- LPN 16 (EXCHANGE PACKAGE TYPE) * 2
- STD T1
- LDM DCDA,T1 OUTPUT EXCHANGE PACKAGE TYPE
- OAN CH+40
- LDM DCDA+1,T1
- OAN CH+40
- LDN 0 SKIP TWO SPACES
- OAN CH+40
- UJN DCDX RETURN
- DCDA BSS 0
- DATA 4HFTN PROGRAM MODE *CPUMTR* FUNCTIONS
- DATA 4HMVE STORAGE MOVE
- DATA 4HFLV FIELD LENGTH VERIFICATION
- DATA 4HPSP PSEUDO-PP
- DATA 4HIDL CPU 0 IDLE PACKAGE
- DATA 4HIDL CPU 1 IDLE PACKAGE
- SPACE 4,10
- DSPEND
- DISPLAY (DISPLAY W - SYSTEM RESOURCES.)
- ENTRY DSWR,DSWR
- SPACE 4,10
- *** *W,R* DISPLAY - SYSTEM RESOURCES.
- *
- * DISPLAY AVAILABLE SYSTEM RESOURCES.
- *
- * EXAMPLE -
- *
- * 1 2 3 4 5 6
- * 1234567890123456789012345678901234567890123456789012345678901234
- * SYSTEM ACTIVITY
- *
- * JOB IN CPU0 = ASDF NEXT JSN = ASST
- * JOB IN CPU1 = SYS MVE JOBS ROLLED = 123
- *
- * AVAILABLE RESOURCES
- *
- * CM = 13647 UXM = 0
- * PP-S = 20 CPP-S = 7
- *
- * CLD = 0 EJT = 1052
- * FNT = 145 FOT = 6
- * LID = 24 QFT = 612
- *
- * CP-S = 13 PCP-S = 23
- DSWR SUBR ENTRY/EXIT
- LJM PRS EXIT
- DSWA EQU *-1
- * LJM DSW1 (PRESET COMPLETE)
- PRS LDM UESC SET UXM SHIFT COUNT
- RAM DSWC
- LDN PPUL GET NUMBER OF PP-S
- CRD CM
- ADK MABL-PPUL READ HARDWARE OPTIONS
- CRD T5
- LDD CM+3 SET NUMBER OF CPP-S
- LPN 77
- ERRNZ CPPL-PPUL CPP COUNT NOT IN *PPUL*
- RAM DSWD
- LDD T5+1 CHECK CPU-1 AVAILABLE
- LPN 2
- ZJN PRS1 IF SECOND CPU PRESENT
- SOM DSWB
- PRS1 LDN DSW1-PRS CHANGE *PRS* CALL
- RAM DSWA
- DSW1 LDM CTOS SET Y-COORDINATE
- OAN CH+40
- STD YC
- * DISPLAY FIRST TITLE.
- DISPLA CH16,,(SYSTEM ACTIVITY)
- LCN 2*YINC
- RAD YC
- OAN CH+40
- * DISPLAY NEXT JSN.
- DISPLA CH28,,( NEXT JSN = )
- LDK JSNL
- CRD CM
- LDN 2
- OAM CM+3,CH
- DISPHD (W,R. SYSTEM RESOURCES.)
- * LDN 0 CLEAR CPU NUMBER
- STD T3
- * DISPLAY CPU STATUS.
- DSW2 LDN 2 OUTPUT COORDINATES
- OAM XC,CH
- DISPLA ,,(JOB IN CPU)
- LDD T3
- ADN 1R0
- SHN 6
- OAN CH+40
- LDC 2R=
- OAN CH+40
- LDK ACPL GET CPU ON/OFF STATUS
- ADD T3
- CRD CM
- LDD CM
- SHN 21-13
- MJN DSW6 IF CPU OFF
- LDK CPAL GET CPU STATUS
- ADD T3
- CRD CM
- LDD CM+2
- ADK TFSW GET EJT ORDINAL
- CRD AB
- LDD AB
- SFA EJT SET EJT ENTRY ADDRESS
- ADK JSNE GET JSN
- CRD AB
- LDN 2 DISPLAY JSN
- OAM AB,CH
- LDD CM+2
- SHN -7
- LMD NC
- NJN DSW6 IF NOT SYSTEM CONTROL POINT
- LDD CM+1 GET EXCHANGE PACKAGE TYPE
- SHN -6
- SHN 1
- STD T1 SET *DSWF* INDEX
- LDM DSWF,T1 DISPLAY EXCHANGE PACKAGE TYPE
- OAN CH+40
- LDM DSWF+1,T1
- OAN CH+40
- DSW6 LCN YINC DECREMENT Y-COORDINATE
- RAD YC
- AOD T3 ADVANCE CPU NUMBER
- DSWB LMN 2
- NJP DSW2 IF ANOTHER CPU TO PROCESS
- * DISPLAY TITLE.
- DSW7 LCN 5*YINC
- ADM CTOS
- STD YC
- OAN CH+40
- LDN DSWEL
- OAM DSWE,CH
- * DISPLAY AVAILABLE MEMORY.
- LCN 2*YINC DECREMENT Y-COORDINATE
- RAD YC
- OAN CH+40
- DISPLA CH04,,( CM = )
- LDN ACML READ AVAILABLE CM/100B
- CRD CM
- LDD CM DISPLAY AVAILABLE CM/100B
- SHN 14
- LMD CM+1
- RJM D6S
- DISPLA CH34,,(UXM = )
- LDD CM+3 DISPLAY AVAILABLE USER XM/1000B
- DSWC SHN 0
- * SHN UESC (UESC = USER EXTENDED MEMORY SHIFT COUNT)
- RJM D6S
- * DISPLAY PP STATISTICS.
- LDK PPAL GET NUMBER OF FREE PPS/CPPS
- CRD AB
- LDC CH32 PRESET X-COORDINATE
- STD T3
- RJM ODC OUTPUT COORDINATES
- LDC 2R P
- RJM DPS DISPLAY NUMBER OF PP-S
- LDD AB+3
- LPN 77 SET NUMBER OF FREE CPP-S
- STD AB+4
- RJM ODC OUTPUT COORDINATES
- DSWD LDN 0
- ZJN DSW8 IF NO CPP-S
- LDC 2RCP
- RJM DPS DISPLAY NUMBER OF CPP-S
- * DISPLAY MANAGED TABLE STATISTICS.
- DSW8 LDC. TMTP SET POINTER TABLE ADDRESS
- STD T2
- LCN YINC DECREMENT Y-COORDINATE
- RAD YC
- LDI T2
- DSW9 CRD CM READ MANAGED TABLE POINTER
- AOD T2
- RJM ODC OUTPUT DISPLAY COORDINATES
- LDC 2R
- OAN CH+40 OUTPUT LEADING BLANKS
- LDI T2
- OAN CH+40 DISPLAY TABLE IDENTIFIER
- AOD T2
- LDI T2 DISPLAY TABLE IDENTIFIER
- OAN CH+40
- LDC 2R= DISPLAY SEPARATOR
- OAN CH+40
- LDD CM+3 DISPLAY FREE ENTRIES
- RJM D6S
- AOD T2 ADVANCE LIST
- LDI T2
- NJN DSW9 IF MORE MANAGED TABLES
- * DISPLAY CONTROL POINT COUNTS.
- * LDN 0 SET BASE ADDRESS OF CP-S
- STD AB+3
- LDC CPAS
- STD AB+4
- LCN YINC DECREMENT Y-COORDINATE
- RAD YC
- LDC CH32 PRESET X-COORDINATE
- STD T3
- LDC 2R C FIX CP TITLE
- STM DPSA
- LDD NC DISPLAY NUMBER OF CP-S
- SBN 1
- RJM DCP
- LDD NC
- SBD AB+2 SAVE NUMBER OF ACTIVE CP-S
- STD T8
- LDK PCPP FETCH PCP POINTER
- CRD AB
- LDC 2RPC FIX PCP TITLE
- STM DPSA
- SOD AB+2 CHECK PSEUDO CP-S DEFINED
- SBD NC
- STD T9 SAVE NUMBER OF PCP-S
- ZJN DSW13 IF UNDEFINED
- RJM DCP
- * DISPLAY JOBS ROLLED.
- DSW13 LCN 3*YINC RESET Y-COORDINATE
- ADM CTOS
- OAN CH+40
- DISPLA CH26,,(JOBS ROLLED = )
- LDK EJTP
- CRD CM
- LDD T9
- ZJN DSW14 IF NO PCP-S DEFINED
- LDD AB+2 CALCULATE -(NUMBER OF ACTIVE PCP-S)
- SBD T9
- DSW14 ADD CM+2 MAX EJT ENTRIES
- SBD CM+3 ACTIVE EJT ENTRIES
- SBD T8 NON-*EXJS* ACTIVE EJT ENTRIES
- RJM D4S DISPLAY ROLLED EJT ENTRIES
- LJM DSWRX RETURN
- DSWE CON CH14
- DATA H*AVAILABLE RESOURCES*
- DSWEL EQU *-DSWE
- DSWF BSS 0 SYSTEM CP EXCHANGE PACKAGE IDENTIFIERS
- DATA 4H FTN PROGRAM MODE *CPUMTR* FUNCTIONS
- DATA 4H MVE STORAGE MOVE
- DATA 4H FLV FIELD LENGTH VERIFICATION
- DATA 4H PSP PSEUDO-PP
- DATA 4H IDL CPU 0 IDLE PACKAGE
- DATA 4H IDL CPU 1 IDLE PACKAGE
- DCP SPACE 4,10
- ** DCP - DISPLAY CP / PCP COUNT.
- *
- * ENTRY (A) = NUMBER OF CP/PCP-S.
- * (AB+3 - AB+4) = CP/PCP BASE ADDRESS.
- *
- * USES T2, AB+2 - AB+4, CM - CM+4.
- *
- * CALLS ODC.
- DCP SUBR ENTRY/EXIT
- STD AB+2
- STD T2 SET LOOP COUNT
- DCP1 LDD AB+3
- SHN 14 FORM CP/PCP AREA ADDRESS
- LMD AB+4
- ADN TFSW GET CP/PCP ASSIGNMENT STATUS
- CRD CM
- LDD CM
- ZJN DCP2 IF CP/PCP UNASSIGNED
- SOD AB+2
- DCP2 LDC CPAS ADVANCE BASE ADDRESS
- RAD AB+4
- SHN -14
- RAD AB+3 SET NEXT ADDRESS
- SOD T2
- NJN DCP1 IF MORE CP/PCP-S
- RJM ODC
- LDK DPSAL DISPLAY TITLE
- OAM DPSA,CH
- LDD AB+2 DISPLAY NUMBER OF FREE CP/PCP-S
- RJM D6S
- UJP DCPX RETURN
- DPS SPACE 4,10
- ** DPS - DISPLAY PP STATISTICS.
- *
- * ENTRY (A) = FIRST TWO CHARACTERS OF TITLE.
- * (AB+4) = PP / CPP COUNT.
- *
- * CALLS D6S.
- DPS SUBR ENTRY/EXIT
- STM DPSA
- LDN DPSAL OUTPUT TITLE
- OAM DPSA,CH
- LDD AB+4 DISPLAY FREE PP COUNT
- RJM D6S
- UJN DPSX RETURN
- DPSA DATA 8H PP-S =
- DPSAL EQU *-DPSA
- ODC SPACE 4,10
- ** ODC - OUTPUT DISPLAY COORDINATES.
- *
- * ENTRY (T3) = PREVIOUS X-COORDINATE.
- * (YC) = PREVIOUS Y-COORDINATE.
- *
- * EXIT (T3) = CURRENT X-COORDINATE.
- * (YC) = CURRENT Y-COORDINATE.
- ODC SUBR ENTRY/EXIT
- LDD T3
- LMC CH02&CH32 ADVANCE X-COORDINATE
- STD T3
- OAN CH+40 OUTPUT X-COORDINATE
- LMC CH02
- NJN ODCX IF NOT LINE CHANGE
- LCN YINC
- RAD YC DECREMENT AND OUTPUT Y-COORDINATE
- OAN CH+40
- UJN ODCX RETURN
- SPACE 4,10
- ** DPTE - MACRO TO DEFINE POINTER TABLE ENTRY.
- *
- * DPTE PA,TID
- *
- * ENTRY *PA* = POINTER ADDRESS.
- * *TID* = TABLE IDENTIFIER (DEFAULTS TO *PA* NAME).
- PURGMAC DPTE
- DPTE MACRO PA,TID
- VFD 12/PA
- IFC NE,*TID**
- .T MICRO 1,3, TID
- ELSE 1
- .T MICRO 1,3, PA
- VFD 24/4H".T"
- ENDM
- SPACE 4,10
- TMTP BSS 0 TABLE OF MANAGED TABLE POINTERS
- DPTE CLTP COMMON LIBRARIES TABLE
- DPTE EJTP EXECUTING JOB TABLE
- DPTE FNTP FILE NAME TABLE
- DPTE FOTP FAMILY ORDINAL TABLE
- DPTE LIDP LOGICAL ID TABLE
- DPTE QFTP QUEUE FILE TABLE
- CON 0
- SPACE 4,10
- DSPEND
- DISPLAY (DISPLAY Y - MONITOR FUNCTIONS.)
- ENTRY DSY,D
- DSY SPACE 4,10
- *** *Y* DISPLAY.
- *
- * DISPLAY MNEMONICS AND VALUES OF ALL MONITOR FUNCTIONS.
- DSY SUBR ENTRY/EXIT
- DISPHD ("YHDR")
- * LDN 0 CLEAR FUNCTION TABLE INDEX
- STD T7
- LDC 2R. MODIFY *D4S* TO OUTPUT PERIODS
- STM D4SB
- LDC CH01 SET X-COORDINATE
- STD XC
- DSY1 LDM CTOS SET Y-COORDINATE TO (*CTOS*) OR *LN06*
- SBK LN06
- MJN DSY1.1 IF STARTING LINE IS BELOW LINE 6
- LDN 0
- DSY1.1 ADK LN06
- STD YC
- DSY2 LDN 2 OUTPUT COORDINATES
- OAM XC,CH
- LDN 2 ADVANCE TABLE
- RAD T7
- LDM TFTN,T7
- NJN DSY3 IF NOT END OF TABLE
- STM D4SB RESET *D4S* TO OMIT PERIODS
- LDC CH01 RESET X-COORDINATE
- STD XC
- LJM DSYX RETURN
- DSY3 LDD T7 DISPLAY VALUE
- SHN -1
- RJM D4S
- LDM TFTN,T7 DISPLAY FUNCTION NAME
- OAN CH+40
- LDM TFTN+1,T7
- OAN CH+40
- LDD T7
- LPN 37
- NJN DSY4 IF NOT END OF COLUMN
- LDC XINC*14 ADVANCE X-COORDINATE
- RAD XC
- LJM DSY1 LOOP
- DSY4 LPN 17
- ZJN DSY5 IF DOUBLE SPACING
- LDN YINC/2+1 DECREMENT Y-COORDINATE
- SBM DCTY
- SHN -1+22
- DSY5 ADM DCTY
- SBN YINC/2+1
- SHN 2
- RAD YC
- LJM DSY2 LOOP
- TFN SPACE 4,10
- * COMMON DECKS.
- *CALL COMDTFN
- CON 0
- SPACE 4,10
- DSPEND
- DISPLAY (DISPLAY Z - DIRECTORY.)
- ENTRY DSZ,D
- DSZ SPACE 4,10
- *** *Z* DISPLAY.
- *
- *
- * DISPLAY DIRECTORY OF ALL DISPLAYS.
- OVC SPACE 4,10
- ** OVERFLOW CHECK.
- *
- * NOTE - THE *Z* DISPLAY OVERLAY IS NOT CHECKED FOR OVERFLOW
- * DIRECTLY. RATHER, IT IS COMPARED TO THE LARGEST
- * DISPLAY OVERLAY FOUND. IF THE *Z DISPLAY* IS LARGER
- * AN ERROR WILL BE FLAGGED. BECAUSE OF THIS, THE
- * *Z DISPLAY* MUST REMAIN THE LAST OF THE DISPLAY
- * OVERLAYS TO ALLOW NEW OVERLAYS TO REACH THE
- * LARGEST POSSIBLE SIZE.
- DIR SPACE 4,15
- ** DIR - DIRECTORY DATA.
- *
- * *DIR* (WHICH CALLS *DIR.* TO DO ITS WORK) USES THE DISPLAY
- * HEADER MICROS FOR THE CONTENT OF THE DIRECTORY.
- *
- *NAMES DIR (TEXT)
- *
- * ENTRY *NAMES* = THE NAME OR NAMES OF THE DISPLAY(S) BEING
- * DEFINED.
- * *TEXT* = OPTIONAL ADDITIONAL TEXT THAT REPLACES THE
- * *.* AT THE END OF THE MICRO.
- PURGMAC DIR
- MACRO DIR,NAMES,TEXT
- DIR. (TEXT),(NAMES),NAMES
- DIR ENDM
- PURGMAC DIR.
- DIR. MACRO TEXT,NAMES,NAME
- .1 MICRO 5,,$"NAME_HDR"$
- DATA L$NAMES$
- CON CH07
- DATA C$".1"TEXT$
- DIR. ENDM
- DSZ SPACE 4,10
- DSZ SUBR ENTRY/EXIT
- DISPHD ("ZHDR")
- LDM CTOS SET Y-COORDINATE
- STD YC
- LCN 0 CLEAR INDEX
- STD T1
- DSZ1 LDN 2 OUTPUT COORDINATES
- OAM XC,CH
- DSZ2 AOD T1 ADVANCE BYTE
- LDM DSZA,T1 OUTPUT BYTE
- OAN CH+40
- NJN DSZ2 IF NOT END OF MESSAGE
- LDM DCTY DECREMENT Y-COORDINATE
- SHN 1
- SBN YINC+2
- RAD YC
- LDM DSZA+1,T1 CHECK NEXT MESSAGE
- NJN DSZ1 IF NOT EMPTY MESSAGE
- UJN DSZX RETURN
- CHAR 1R[,1R( REPLACE *[* WITH *(*
- CHAR 1R],1R) REPLACE *]* WITH *)*
- CODE OTHER
- DSZA BSS 0
- A DIR ( [A. A,. A,OPERATOR. A,ERROR LOG.)
- CON CH17
- DATA C*A,ACCOUNT FILE. DAYFILE,JSN.]*
- B DIR ( [B,A. B,O.])
- C,D DIR ( 5 GROUPS OF 4.)
- E DIR ( [E,X. X = A, C, E, F, H, M, O, P, S, T.])
- F,G DIR ( 4 GROUPS OF 5.)
- H DIR ( [H. H,JSN.])
- I DIR
- J DIR
- K DIR
- L DIR
- M DIR
- O DIR ( [O,SCP. O,TLD. O,TST.])
- P DIR
- Q DIR ( [Q,. Q,IN. Q,PL. Q,PR. Q,PU. Q,WT.])
- R DIR
- S DIR
- T DIR
- U DIR
- V DIR
- W DIR ( [W,A. W,C. W,M. W,P. W,Q. W,R.])
- Y DIR
- DATA 0 END OF TABLE
- CODE *
- TTL DSD - DYNAMIC SYSTEM DISPLAY.
- TITLE TERMINATE DISPLAY OVERLAYS.
- TERM SPACE 4,10
- * TERMINATE DISPLAY OVERLAYS.
- DSPEND LAST
- RES SPACE 4,10
- * RESET OVERLAY CONSTANTS.
- M. MICRO 1,2,
- RES SPACE 4,10
- * RESTORE INSTRUCTIONS.
- LJM OPSYN LJM.
- RJM OPSYN RJM.
- LDM OPSYN LDM.
- ADM OPSYN ADM.
- SBM OPSYN SBM.
- LMM OPSYN LMM.
- STM OPSYN STM.
- RAM OPSYN RAM.
- AOM OPSYN AOM.
- SOM OPSYN SOM.
- CRM OPSYN CRM.
- CWM OPSYN CWM.
- IJM OPSYN IJM.
- AJM OPSYN AJM.
- EJM OPSYN EJM.
- FJM OPSYN FJM.
- IAM OPSYN IAM.
- OAM OPSYN OAM.
- TITLE COMMAND PROCESSING OVERLAY MACROS.
- COMMAND SPACE 4,15
- ** COMMAND - BEGIN COMMAND OVERLAY.
- *
- * COMMAND GENERATES THE LINKAGE CONSTANTS FOR COMMAND
- * PROCESSING OVERLAYS.
- *
- * COMMAND (SUBTITLE),CMR
- *
- * ENTRY (SUBTITLE) = TEXT OF SUBTITLE.
- * CMR = FORCE OVERLAY TO BE CM RESIDENT, IF NON-BLANK.
- *
- * EXIT (M.) = 2 CHARACTER MICRO FOR OVERLAY NAME.
- .FCOM EQU KBUF+KBUFL+5 SET COMMAND OVERLAY ORIGIN
- COMMAND MACRO SUBTITLE,CMR
- QUAL
- .B IFC EQ,/CMR//
- OVLN
- .B ELSE
- OVLC
- .B ENDIF
- TTL DSD/9"N." - SUBTITLE
- TITLE
- IDENT 9"M.",.FCOM SUBTITLE
- *COMMENT DSD - SUBTITLE
- COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
- ORG .FCOM
- L.C MAX L.C,L.
- QUAL DSD"M."
- ENDM
- CMDEND SPACE 4,15
- ** CMDEND - END COMMAND OVERLAY.
- *
- * CMDEND ENDS A COMMAND OVERLAY, AND CHECKS FOR OVERFLOW.
- *
- * CMDEND EOC
- *
- * ENTRY EOC = END OF COMMAND OVERLAYS, IF NOT NULL.
- *
- * EXIT (L.NAME) = LENGTH OF OVERLAY (*NAME* IS OVERLAY NAME).
- * (L.C) = MAXIMUM COMMAND OVERLAY LENGTH SO FAR.
- CMDEND MACRO E
- HERE
- USE END DUMP LITERALS BLOCK
- QUAL
- L. SET *-.FCOM
- QUAL LENGTH
- LIST M
- L.9"M." EQU L. LENGTH OF OVERLAY
- ERRNG .LCOM-L.9"M." BYTES UNTIL LONGEST COMMAND OVERLAY
- ERRNG .LCMX-.INSP-L.9"M." BYTES UNTIL MAXIMUM OVERLAY SIZE
- LIST *
- QUAL *
- .A IFC NE,*E** IF END OF COMMAND OVERLAYS
- L.C SET L.C+4
- L.C SET L.C/5*5
- ERRNG L.C-L. *L.C* IS WRONG WHEN LARGEST OVL IS LAST
- .A ENDIF
- ENDM
- COMMAND (SYSTEM SYNTAX TABLE - CHARACTERS A - B.),CMR
- SPACE 4,10
- ** SYSTEM SYNTAX TABLE - CHARACTERS A - B.
- ENTRY SAB
- AAF ENTER (A,ACCOUNT FILE.)
- AEL ENTER (A,ERROR LOG.)
- AOD ENTER (A,OPERATOR.)
- RSA ENTER (A.)
- ADS ENTER (A,.)
- ACN ENTER (ACN,?.),LOCK,SDF,ERL
- AGD ENTER (ASSIGN,',DS.),,SDF
- AGE ENTER (ASSIGN,',NE.),,SDF
- AGN ENTER (ASSIGN,',?.),,SDF
- AUT ENTER (AUTO.),,SDF
- CHB ENTER (B,.)
- CHB ENTER (B,>AO>.)
- BIO ENTER (BIO.),,SDF
- BKA ENTER (BKP.),SLOCK,SDF
- BKB ENTER (BKP,<A9<A9<A9.),SLOCK,SDF
- BKB ENTER (BKP,<A9<A9<A9,?.),SLOCK,SDF
- BKR ENTER (BKSP,?.),,SDF
- BKR ENTER (BKSP,?,?.),,SDF
- BKF ENTER (BKSPF,?.),,SDF
- BKF ENTER (BKSPF,?,?.),,SDF
- BKP ENTER (BKSPRU,?,?.),,SDF
- CON 0 END OF TABLE
- SPACE 4,10
- CMDEND
- COMMAND (SYSTEM SYNTAX TABLE - CHARACTER C.),CMR
- SPACE 4,10
- ** SYSTEM SYNTAX TABLE - CHARACTER C.
- USE CODE
- ENTRY SCC
- CDC ENTER (CDC@),,SDF
- CJM ENTER (CFO,'.@),,SDF
- CFR ENTER (CFR,?.),LOCK,SDF,ERL
- CKP ENTER (CHECK POINT SYSTEM.),LOCK,SDF
- CHK ENTER (CKP,'.),,SDF
- CLA ENTER (CLASS,@),,SDF
- CMD ENTER (COMMENT,'.@),,SDF
- CNT ENTER (CONTINUE,?.),,SDF
- CPB ENTER (CPB,BKP,?.),SLOCK
- CPT ENTER (CPB,BKP,/'/?.),SLOCK
- CPT ENTER (CPB,BKP,//?.),SLOCK
- CPD ENTER (CPB,DSP.),SLOCK
- SPD ENTER (CPB,DSP>+->;),SLOCK
- CPB ENTER (CPB,DSP,?.),SLOCK
- CPT ENTER (CPB,DSP,//?.),SLOCK
- CPT ENTER (CPB,DSP,/'/?.),SLOCK
- CPG ENTER (CPB,GO.),SLOCK
- SPI ENTER (CPB,P>+->;),SLOCK
- CTT ENTER (CPTT=?.),,SDF
- CYB ENTER (CYB@),,SDF
- CON 0 END OF TABLE
- SPD SPACE 4,10
- ENTRY SPD
- CPD ENTER (CPB,DSP>+->),(SLOCK,PBD)
- CON 0 END OF TABLE
- PBD SUBR ENTRY/EXIT
- LDM KBUF-1,KI
- LMN 1R-
- ZJN PBD1 IF *-* (PAGING BACKWARD)
- LDN 20
- PBD1 STD T0 ADJUST DISPLAY ADDRESSES
- SBN 10
- RAM TDSC+7 CHANGE *C3*
- SHN -14
- RAM TDSC+6
- LDD T0
- SBN 10
- RAM TDSC+5 CHANGE *C2*
- SHN -14
- RAM TDSC+4
- LDN 0 REJECT THE PAGING COMMAND
- UJN PBDX RETURN
- SPI SPACE 4,10
- ENTRY SPI
- CPD ENTER (CPB,P>+->),(SLOCK,CBA)
- CON 0 END OF TABLE
- CBA SUBR ENTRY/EXIT
- LDN 60 AUTOMATE *CR*
- STD KE
- UJN CBAX RETURN
- SPACE 4,10
- CMDEND
- COMMAND (SYSTEM SYNTAX TABLE - CHARACTER D.),CMR
- SPACE 4,10
- ** SYSTEM SYNTAX TABLE - CHARACTER D.
- SPACE 4,10
- ** NOTE - THIS OVERLAY SHOULD BE CM RESIDENT (FOR
- * *DCN*, *DCH*, AND *DEBUG*).
- USE CODE FORCE CONDITIONAL SUBROUTINE POINTERS HERE
- ENTRY SDD
- DAT ENTER (DATE.;),LOCK
- DAY ENTER (DAYFILE,'.)
- DCH ENTER (DCH,?.),LOCK,SDF,ERL
- DCN ENTER (DCN,?.),LOCK,SDF,ERL
- DBG ENTER (DEBUG.),SLOCK,SDF,ERL
- DLY ENTER (DELAY,@),,SDF
- DIA ENTER (DIAL,',@),,SDF
- DIB ENTER (DIAL,*,@),LOCK,SDF
- DIS ENTER (DIS,'.),CLS,SDF
- DAP ENTER (DISABLE,<AP;)
- DQZ ENTER (DISABLE,<QZ;)
- CDN ENTER (DOWN,CCH=?.),CCH,SDF,ERL
- CDN ENTER (DOWN,CCH=?,EQ=?.),CCH,SDF,ERL
- DWN ENTER (DOWN,CH=?.),,SDF,ERL
- DWN ENTER (DOWN,CH=?,EQ=?.),,SDF,ERL
- DWE ENTER (DOWN,EQ=?.),,SDF,ERL
- MDN ENTER (DOWN,MCH=?.),,SDF,ERL
- MDN ENTER (DOWN,MCH=?,EQ=?.),,SDF,ERL
- DWM ENTER (DOWN,MID='.),,SDF,ERL
- DRP ENTER (DROP,'.),,SDF
- DRC ENTER (DROP,',@),,SDF
- DVE ENTER (DROPVE.),LOCK,SDF
- CON 0 END OF TABLE
- CCH SPACE 4,10
- ** CCH - CHECK FOR CONCURRENT CHANNELS.
- *
- * EXIT (A) = NUMBER OF CONCURRENT CHANNELS.
- * = 0 = COMMAND NOT ALLOWED.
- *
- * USES AB - AB+4.
- CCH SUBR ENTRY/EXIT
- LDK CPPL
- CRD AB
- LDD AB+3
- LPN 77
- UJN CCHX RETURN
- CLS SPACE 4,10
- ** CLS - CHECK LOCK STATUS IF SECURED SYSTEM.
- *
- * EXIT (A) .NE. 0 IF UNSECURED SYSTEM OR IF SECURITY UNLOCK
- * STATUS SET FOR SECURED SYSTEM.
- * = 0 IF SECURITY UNLOCK STATUS NOT SET FOR
- * SECURED SYSTEM.
- CLS SUBR ENTRY/EXIT
- LDD SF
- LMN 1
- NJN CLSX IF UNSECURED SYSTEM
- LDD LK
- SCN 1
- UJN CLSX RETURN
- SPACE 4,10
- CMDEND
- COMMAND (SYSTEM SYNTAX TABLE - CHARACTERS E - J.),CMR
- SPACE 4,10
- ** SYSTEM SYNTAX TABLE - CHARACTERS E - J.
- SPACE 4,10
- ** NOTE - THIS OVERLAY SHOULD BE CM RESIDENT (FOR
- * *ENGR*).
- ENTRY SEJ
- CHE ENTER (E,.)
- CHE ENTER (E,>ACEFHMOPST>.)
- EAP ENTER (ENABLE,>ACDEFLMP>;)
- EQZ ENTER (ENABLE,<QZ;)
- END ENTER (END,?.),,SDF
- END ENTER (END,?,?.),,SDF
- ECP ENTER (ENPR,',?.),,SDF
- ECP ENTER (ENPR,',*.),,SDF
- ENQ ENTER (ENQP,',?.),,SDF
- EEC ENTER (E?>,+->?.),LOCK,SDF,ERL
- EEC ENTER (E?>,+->,?.),LOCK,SDF,ERL
- EEC ENTER (E?>,+-><04,?.),LOCK,SDF,ERL
- EEC ENTER (E?>,+->D@),LOCK,SDF,ERL
- FCN ENTER (FCN,?.),LOCK,SDF,ERL
- FCN ENTER (FCN,?,?.),LOCK,SDF,ERL
- FRM ENTER (FORM,?,'.),,SDF,ERL
- HLD ENTER (HOLD,?.),,SDF
- ILD ENTER (FOTD@),,SDF
- CLR ENTER (GO,.),,SDF
- GBL ENTER (GO,?.),,SDF
- CLR ENTER (GO,'.),,SDF
- IAF ENTER (IAF@),,SDF
- IAN ENTER (IAN,?.),LOCK,SDF,ERL
- SID ENTER (ID,?,?.),,SDF
- IDL ENTER (IDLE.),,SDF
- IDE ENTER (IDLE,EQ=?.),,SDF,ERL
- IDD ENTER (IDLE,'.),,SDF
- IDF ENTER (IDLEFAMILY,?.),,SDF
- INI ENTER (INITIALIZE,',@),,SDF,ERL
- IN1 ENTER (IN1@),,SDF
- IN2 ENTER (IN2@),,SDF
- CON 0 END OF TABLE
- SPACE 4,10
- CMDEND
- COMMAND (SYSTEM SYNTAX TABLE - CHARACTERS K - N.),CMR
- SPACE 4,10
- ** SYSTEM SYNTAX TABLE - CHARACTERS K - N.
- ENTRY SKN
- ECB ENTER (K.@),,SDF
- KIL ENTER (KILL,'.),,SDF
- ELB ENTER (L.@)
- LDC ENTER (LDC,?.),,SDF,ERL
- ILD ENTER (LDIS@),,SDF
- ILD ENTER (LIDOU@),,SDF
- LOD ENTER (LOAD,?.),,SDF
- LOD ENTER (LOAD,?,?.),,SDF
- LCK ENTER (LOCK.),,SDF
- LOG ENTER (LOG,?.),,SDF,ERL
- MAG ENTER (MAG@),,SDF
- MAI ENTER (MAINTENANCE.),,SDF,ERL
- MAP ENTER (MAP@),,SDF
- MCH ENTER (MCH,?.),LOCK,SDF,ERL
- MCS ENTER (MCS@),,SDF
- MNT ENTER (MOUNT,?.),,SDF
- MNT ENTER (MOUNT,?,>P>.),,SDF
- MTA ENTER (MOUNT,?,'.),,SDF
- AJF ENTER (MSAL,>SBLPDROIT>=@),,SDF
- MSE ENTER (MSE@),,SDF
- MSS ENTER (MSS@),,SDF
- NAM ENTER (NAM@),,SDF
- NVS ENTER (NEXTVSN,?,@),,SDF
- NJF ENTER (NJF@),,SDF
- NVE ENTER (NVE@),,SDF
- CON 0 END OF TABLE
- SPACE 4,10
- CMDEND
- COMMAND (SYSTEM SYNTAX TABLE - CHARACTERS O - P.),CMR
- SPACE 4,10
- ** SYSTEM SYNTAX TABLE - CHARACTERS O - P.
- ENTRY SOP
- SCP ENTER (O,SCP.)
- STL ENTER (O,TLD.)
- STS ENTER (O,TST.)
- OAN ENTER (OAN,?.),LOCK,SDF,ERL
- OFE ENTER (OFF,EQ=?.),,SDF,ERL
- CMD ENTER (OFFSW,',<16.),,SDF
- ONE ENTER (ON,EQ=?.),,SDF,ERL
- CMD ENTER (ONSW,',<16.),,SDF
- OQS ENTER (OQSH='.),,SDF
- OVR ENTER (OVERRIDE,'.),LOCK,SDF,ERL
- CLR ENTER (PAUSE,'.),,SDF
- PCL ENTER (PCLASS,@),,SDF
- PSZ ENTER (PRSIZE,?,>SL>.),,SDF,ERL
- CON 0 END OF TABLE
- SPACE 4,10
- CMDEND
- COMMAND (SYSTEM SYNTAX TABLE - CHARACTERS Q - R.),CMR
- SPACE 4,10
- ** SYSTEM SYNTAX TABLE - CHARACTERS Q - R.
- USE CODE FORCE CONDITIONAL SUBROUTINE POINTERS HERE
- ENTRY SQR
- SQD ENTER (Q,.)
- SQT ENTER (Q,<AZ<AZ.)
- ILD ENTER (QDSPLAY,'.),CLS,SDF
- QUE ENTER (QUEUE,@),,SDF
- RDF ENTER (RDF@),,SDF
- RED ENTER (REDEFINE,?.),,SDF,ERL
- REL ENTER (RELEASE,'.),,SDF
- REP ENTER (REPEAT,'.),,SDF
- REP ENTER (REPEAT,',?.),,SDF
- RRN ENTER (REPRINT,?.),,SDF
- RRN ENTER (REPRINT,?,?.),,SDF
- RRN ENTER (REPUNCH,?.),,SDF
- RRN ENTER (REPUNCH,?,?.),,SDF
- RRJ ENTER (RERUN,'.),,SDF
- RST ENTER (RESTORE,?.),LOCK,SDF,ERL
- RTY ENTER (RETRY,?.),,SDF
- RHF ENTER (RHF@),,SDF
- RIF ENTER (ROLLIN,'.),,SDF
- RIF ENTER (ROLLIN,',L.),,SDF
- ROL ENTER (ROLLOUT,'.),,SDF
- ROL ENTER (ROLLOUT,',?.),,SDF
- CON 0 END OF TABLE
- CLS SPACE 4,10
- ** CLS - CHECK LOCK STATUS IF SECURED SYSTEM.
- *
- * EXIT (A) .NE. 0 IF UNSECURED SYSTEM OR IF SECURITY UNLOCK
- * STATUS SET FOR SECURED SYSTEM.
- * = 0 IF SECURITY UNLOCK STATUS NOT SET FOR
- * SECURED SYSTEM.
- CLS SUBR ENTRY/EXIT
- LDD SF
- LMN 1
- NJN CLSX IF UNSECURED SYSTEM
- LDD LK
- SCN 1
- UJN CLSX RETURN
- SPACE 4,10
- CMDEND
- COMMAND (SYSTEM SYNTAX TABLE - CHARACTER S.),CMR
- SPACE 4,10
- ** SYSTEM SYNTAX TABLE - CHARACTER S.
- ENTRY SSS
- SCH ENTER (SCHEDULE.),,SDF
- SCR ENTER (SCRATCH,?.),,SDF
- ILD ENTER (SCTD@),,SDF
- ILD ENTER (SDSPLAY@),,SDF
- SCQ ENTER (SECUREQ,@),SLOCK,SDF
- SCU ENTER (SECURES,@),SLOCK,SDF
- SER ENTER (SERVICE,@),,SDF
- SET ENTER (SET,\\\\.)
- SFR ENTER (SFR,?.),LOCK,SDF,ERL
- SKR ENTER (SKIP,?.),,SDF
- SKR ENTER (SKIP,?,?.),,SDF
- SKF ENTER (SKIPF,?.),,SDF
- SKF ENTER (SKIPF,?,?.),,SDF
- SKP ENTER (SKIPRU,?,?.),,SDF
- SMF ENTER (SMF@),,SDF
- SDU ENTER (SPINDOWN,?.),LOCK,SDF
- SUU ENTER (SPINUP,?.),,SDF
- SRS ENTER (SRST=?.),,SDF
- SSF ENTER (SSF@),,SDF
- STP ENTER (STEP,@),LOCK
- STM ENTER (STM@),,SDF
- SBL ENTER (STOP,?.),,SDF
- STO ENTER (STOP,'.),LOCK,SDF
- ILD ENTER (SUBSYST@),,SDF
- SUP ENTER (SUPPRESS,?.),,SDF
- CON 0 END OF TABLE
- SPACE 4,10
- CMDEND
- COMMAND (SYSTEM SYNTAX TABLE - CHARACTER T.),CMR
- STT SPACE 4,10
- ** SYSTEM SYNTAX TABLE - CHARACTER T.
- USE CODE FORCE CONDITIONAL SUBROUTINE POINTERS HERE
- ENTRY STT
- TAF ENTER (TAF@),,SDF
- TMP ENTER (TEMP=@),,SDF
- TRM ENTER (TERMINATE,?.),,SDF
- THR ENTER (THRESHOLD,@),,SDF
- TIM ENTER (TIME.;),LOCK
- TLF ENTER (TLF@),,SDF
- ILD ENTER (TMSDIS,@),,SDF
- TCA ENTER (TRACE,SET,ABS,?,?.),(CTB,LOCK),SDF,ERL
- TCC ENTER (TRACE,SET,CPA,?,?.),(CTB,LOCK),SDF,ERL
- TCM ENTER (TRACE,MTR@),(CTB,LOCK),SDF,ERL
- TCP ENTER (TRACE,PPU@),(CTB,LOCK),SDF,ERL
- LPT ENTER (TRAIN,?,?.),,SDF
- TPA ENTER (TRAP.),(CTB,LOCK),SDF,ERL
- TPD ENTER (TRAP,DJB.),(CTB,LOCK),SDF,ERL
- TPJ ENTER (TRAP,EJT.),(CTB,LOCK),SDF,ERL
- TPM ENTER (TRAP,MCT.),(CTB,LOCK),SDF,ERL
- TPN ENTER (TRAP,NFL.),(CTB,LOCK),SDF,ERL
- TPC ENTER (TRAP,CPA,?,@),(CTB,LOCK),SDF,ERL
- TPF ENTER (TRAP,MEM,?,@),(CTB,LOCK),SDF,ERL
- CON 0 END OF TABLE
- CTB SPACE 4,10
- ** CTB - CHECK FOR TRACE BLOCK.
- *
- * EXIT (A) = 0 IF COMMAND NOT ALLOWED.
- *
- * USES AB - AB+4.
- CTB SUBR ENTRY/EXIT
- LDK SSTL
- CRD AB
- LDD AB+2
- LPN 40
- LMN 40
- ZJN CTBX IF SYSTEM DEBUG NOT ENABLED
- LDD AB+3 CHECK FOR TRACE BLOCK ENABLED
- LPN 2
- LMN 2
- UJN CTBX RETURN
- SPACE 4,10
- CMDEND
- COMMAND (SYSTEM SYNTAX TABLE - CHARACTERS U - X.),CMR
- SUX SPACE 4,10
- ** SYSTEM SYNTAX TABLE - CHARACTERS U - X.
- SUX SPACE 4,10
- ** NOTE - THIS OVERLAY SHOULD BE CM RESIDENT (FOR
- * THE *X.* COMMANDS).
- USE CODE FORCE CONDITIONAL SUBROUTINE POINTERS HERE
- ENTRY SUX
- UNL ENTER (UNLOAD,?.),,SDF
- CUP ENTER (UP,CCH=?.),CCH,SDF,ERL
- CUP ENTER (UP,CCH=?,EQ=?.),CCH,SDF,ERL
- UPC ENTER (UP,CH=?.),,SDF,ERL
- UPC ENTER (UP,CH=?,EQ=?.),,SDF,ERL
- MUP ENTER (UP,MCH=?.),,SDF,ERL
- MUP ENTER (UP,MCH=?,EQ=?.),,SDF,ERL
- VHP ENTER (V,HNG.)
- VPS ENTER (V,PS.)
- VPP ENTER (V,?.)
- VMS ENTER (VALIDATE,?.),,SDF
- VSN ENTER (VSN,?,@),,SDF
- VSN ENTER (VSN,?.),,SDF
- SWD ENTER (W,>ACMPQR>.)
- WAR ENTER (WARN.),,SDF
- WAR ENTER (WARN,@),,SDF
- IIF ENTER (X.<AZ'.),,SDF
- IIF ENTER (X.<AZ',?.),,SDF
- *ISJ ENTER (X.<AZ'(@),,SDF
- DATA Z*X.<AZ'(@*
- VFD 4/2,20//COMMAND/ISJ
- CON 0 END OF TABLE
- CCH SPACE 4,10
- ** CCH - CHECK FOR CONCURRENT CHANNELS.
- *
- * EXIT (A) = NUMBER OF CONCURRENT CHANNELS.
- * = 0 = COMMAND NOT ALLOWED.
- *
- * USES AB - AB+4.
- CCH SUBR ENTRY/EXIT
- LDK CPPL
- CRD AB
- LDD AB+3
- LPN 77
- UJN CCHX RETURN
- SPACE 4,10
- CMDEND
- COMMAND (JOB TERMINATION COMMANDS.),CMR
- SPACE 4,10
- *** NOTE -
- * THIS OVERLAY SHOULD BE MADE CM RESIDENT SO THAT
- * THE COMMANDS IN THIS OVERLAY WILL BE AVAILABLE TO
- * THE OPERATOR EVEN IF THE SYSTEM IS HUNG.
- SPACE 4,10
- SPACE 4,10
- *** DROP,JSN.
- *
- * DROP JOB IN EJT WHICH HAS THE SPECIFIED JSN. THE JOB
- * CANNOT BE A SUBSYSTEM.
- ENTRY DRP
- LDC ZJNI+DRP2-DRPA+ODET*10000
- ERRNG 37+DRPA-DRP2 INCORRECT JUMP INSTRUCTION
- ERRNG 37+DRP2-DRPA INCORRECT JUMP INSTRUCTION
- DRP1 STM DRPA
- SHN -14
- STM DRPB
- RJM ASN GET JSN
- LDD AB+2
- NJP DRP2 IF JSN .GT. 4 CHARACTERS
- LDN AB GET EJTO
- RJM GEE
- MJN DRP2 IF EJT ENTRY NOT FOUND
- STD CM+2
- ZJN DRP2 IF JSN = *SYS*
- SFA EJT
- ADN SCLE GET SERVICE CLASS
- CRD SR
- LDD CM SAVE JSN
- STD CM+3
- LDD CM+1
- STD CM+4
- LDD SR
- SHN -6
- LMN SSSC
- DRPA ZJN DRP2 IF SUBSYSTEM SERVICE CLASS
- * NJN DRP2 (NOT SUBSYSTEM SERVICE CLASS)
- * PSN (OVERRIDE)
- LDC ODET
- DRPB EQU *-1 (ERROR FLAG)
- * LDC OKET (KILL)
- * LDC ORET (OVERRIDE)
- ADC 4000
- STD CM+1
- MONITOR CEFM
- LDM DRPB
- SBN OKET
- ZJN KIL1 IF OPERATOR KILL
- DRP1.1 JMP KBR IF NO ERROR
- DRP2 JMP KIE *INCORRECT ENTRY*
- KIL SPACE 4,10
- *** KILL,JSN.
- *
- * TERMINATE JOB IN THE EJT WITHOUT EXIT
- * PROCESSING. THE JOB CANNOT BE A SUBSYSTEM.
- ENTRY KIL
- LDC ZJNI+DRP2-DRPA+OKET*10000 SET NO SUBSYSTEMS, KILL
- ERRNG 37+DRPA-DRP2 INCORRECT JUMP INSTRUCTION
- ERRNG 37+DRP2-DRPA INCORRECT JUMP INSTRUCTION
- JMP DRP1 CONTINUE
- KIL1 SFA EJT,T3 GET JOB STATUS
- ADK JSNE
- CRD CM
- LDD CM+4
- LPN 76
- LMN IOJS*2
- ZJN KIL2 IF *IOJS*
- LMN DOJS*2&IOJS*2
- NJN DRP1.1 IF NEITHER *DOJS* NOR *IOJS*
- KIL2 LDD AB SET JSN FOR *1DS*
- STD AB+3
- LDD AB+1
- STD AB+4
- LDK /1DS/KIJF KILL INTERACTIVE JOB
- STD AB+2
- JMP KAR PROCESS *1DS* CALL
- OVR SPACE 4,10
- *** OVERRIDE,JSN.
- *
- * TERMINATE JOB IN EJT.
- ENTRY OVR
- LDC PSNI+ORET*10000 SET NO SUSBSYSTEM CHECK, OVERRIDE
- JMP DRP1 CONTINUE
- STO SPACE 4,10
- *** STOP,SUBSY.
- *
- * DROP SUBSYSTEM *SUBSY* FROM THE EJT, WHERE
- * *SUBSY* IS ANY LEGAL SUBSYSTEM NAME.
- ENTRY STO
- LDC NJNI+DRP2-DRPA+ODET*10000 SET SUBSYSTEM CHECK, DROP
- ERRNG 37+DRPA-DRP2 INCORRECT JUMP INSTRUCTION
- ERRNG 37+DRP2-DRPA INCORRECT JUMP INSTRUCTION
- JMP DRP1 CONTINUE
- SPACE 4,10
- CMDEND
- COMMAND (SYSTEM CONTROL COMMANDS.),CMR
- SPACE 4,10
- *** NOTE -
- * THIS OVERLAY SHOULD BE MADE CM RESIDENT SO THAT
- * THE COMMANDS IN THIS OVERLAY WILL BE AVAILABLE TO
- * THE OPERATOR EVEN IF THE SYSTEM IS HUNG.
- DBG SPACE 4,10
- *** DEBUG.
- *
- * TOGGLE DEBUG MODE.
- ENTRY DBG
- LDN SSTL READ SYSTEM STATUS
- CRD CM
- LDD CM+3 TOGGLE DEBUG
- LMN 1
- STD CM+3
- LDN SSTL STORE SYSTEM STATUS
- CWD CM
- UJN STE1 SET STATUS
- STM SPACE 4,10
- *** STEP.
- *
- * SET MONITOR IN STEP MODE.
- ENTRY STE
- LDN ZERL SET MONITOR STEP
- CRD CM
- * LDN MSPS
- * STD CM+1
- ERRNZ MSPS
- LDC 2R CLEAR FUNCTION
- STM /DSD/DLSD
- STM /DSD/DLSD+1
- STM /DSD/DLSB CLEAR JSN
- STM /DSD/DLSC
- MONITOR DSRM SET STEP MODE
- STE1 LDN 0 SET NO *1DS* CALL
- UJN LCK2 SET STATUS IN *EICB*
- LCK SPACE 4,10
- *** LOCK.
- *
- * LOCK KEYBOARD INPUT.
- ENTRY LCK
- LDN 0 CLEAR UNLOCK FLAG
- STD LK
- LDN 1
- LCK1 SHN 10D
- STD AB+3
- LDN SSTL SET CONSOLE LOCK STATUS
- CRD CM
- LDD CM
- SHN 12
- SCN 3
- LMD LK
- SHN 10
- STD CM
- LDN SSTL STORE STATUS
- CWD CM
- LDK /1DS/SAMF SET *1DS* CALL
- LCK2 LJM SVF SET STATUS IN *EICB*
- ULK SPACE 4,10
- *** UNLOCK.
- *
- * UNLOCK SPECIAL KEYBOARD INPUT.
- ENTRY ULK
- LDD LK
- NJN UNL1 IF UNLOCKED ALREADY
- LDD SF SET SECURITY UNLOCK BIT IF UNSECURED
- SBN 1
- LPN 4
- SHN -1
- ADN 1 SET UNLOCK BIT
- STD LK
- UNL1 LDN 3
- UJN LCK1 SET CONSOLE UNLOCK STATUS
- SUL SPACE 4,10
- *** UNLOCK,USRNAME,PASSWRD.
- *
- * SECURITY UNLOCK THE CONSOLE.
- ENTRY SUL
- LDN 0 RESET PASS FLAG
- STD T3
- LDD CA SAVE POINTER TO BUFFER
- SBK KBUF
- STD T5
- SUL1 RJM ASN ASSEMBLE STRING
- LDD AB+3
- LPN 77
- NJN SUL2 IF STRING .GT. 7 CHARACTERS
- LDI CA CHECK SEPARATOR
- SBN 1R.
- ZJN SUL3 IF END OF STATEMENT
- LDD T3
- SUL2 NJN SUL6 IF EXTRANEOUS PARAMETER FOUND
- AOD T3 SET PASS FLAG
- AOD CA
- UJN SUL1 ASSEMBLE SECOND PARAMETER
- SUL3 LDD T5 PASS BUFFER POINTER
- STD AB+4
- LDC /1DS/VSAF+/1DS/LOCK
- RJM C1D PROCESS FUNCTION
- LDC SUL4 SET REENTRY ADDRESS
- STM /KEYBOARD/KCRB
- SUL4 LDC /1DS/DSDL
- CRD CM
- LDD CM
- ZJN SUL5 IF *1DS* COMPLETE
- LJM CLP1 REENTER
- SUL5 LDC /1DS/DSDL+1 CHECK RESULTS
- CRD CM
- LDD CM
- NJN SUL6 IF UNSUCCESSFUL
- UJN SVF SET STATUS IN *EICB*
- SUL6 JMP KIE INCORRECT ENTRY
- UNS SPACE 4,10
- *** UNSTEP.
- *
- * CLEAR MONITOR STEP.
- ENTRY UNS
- LDC SCRL
- CRD CM
- LDD CM
- SHN 21-11
- PJN UNS1 IF EMERGENCY STEP NOT REQUESTED
- JMP KIE *INCORRECT ENTRY*
- UNS1 LDN ZERL
- CRD CM
- LDN CSPS SET *DSRM* SUBFUNCTION TO CLEAR STEP
- STD CM+1
- MONITOR DSRM
- * LDN 0 CLEAR STEP FLAG
- STD ST
- * UJN SVF SET STATUS
- SVF SPACE 4,12
- ** SVF - SET STATUS IN *EICB*.
- *
- * ENTRY (A) = *1DS* FUNCTION CODE IF *1DS* CALL REQUIRED.
- * (A) = 0 IF NO CALL TO *1DS* REQUIRED.
- *
- * EXIT TO *KAR*.
- * *D7ST* OF THE *EICB* UPDATED.
- *
- * CALLS FDP.
- *
- * USES T1, CM - CM+4, CN - CN+4.
- SVF BSS 0 ENTRY
- STD T1 SAVE *1DS* FUNCTION CODE
- RJM FDP GET *D7ST* ADDRESS
- ZJN SVF4 IF NO *EICB*
- CRD CN READ CURRENT *D7ST*
- LDD CN
- LPC 777 CLEAR STATUS FLAGS
- STD CN
- LDN SSTL
- CRD CM
- LDD ST
- ZJN SVF1 IF NOT *STEP* MODE
- LDC 1000 SET STEP FLAG
- RAD CN
- SVF1 LDD CM+3
- SHN 21-2
- MJN SVF2 IF *ENGR* DISABLED
- LDC 2000
- RAD CN
- SVF2 LDD CM
- SHN 21-10
- PJN SVF2.1 IF LOCKED
- LDD CM+3
- SHN 21-0
- MJN SVF3 IF *DEBUG*
- SVF2.1 LDC 4000 SET OPERATIONAL MODE
- RAD CN
- SVF3 RJM FDP WRITE NEW STATUS
- CWD CN
- SVF4 LDD T1 ISSUE *1DS* REQUEST
- JMP KAR RETURN
- DVE SPACE 4,10
- *** DROPVE.
- *
- * SIGNAL *NVE* TO DROP.
- ENTRY DVE
- LDN SSTL
- CRD CM
- LDD CM+3
- SHN 21-13
- MJN DVE1 IF *VE=* NOT ENTERED AT DEADSTART
- RJM FDP FETCH *EICB* POINTER
- CRD CN
- LDD CN+1 SET *DROPVE* BIT
- SCN 1
- LMN 1
- STD CN+1
- RJM FDP UPDATE STATUS
- CWD CN
- JMP KBR RETURN
- DVE1 JMP KIE INCORRECT ENTRY
- SPACE 4,10
- CMDEND
- COMMAND (CENTRAL MEMORY CHANGES.),CMR
- SPACE 4,10
- ** NOTE -
- *
- * THIS OVERLAY SHOULD BE MADE CM RESIDENT SO THAT
- * THE COMMANDS IN THIS OVERLAY WILL BE AVAILABLE TO
- * THE OPERATOR EVEN IF THE SYSTEM IS HUNG.
- ENM SPACE 4,10
- *** XXXXXXX,YYY - YYY.
- * XXXXXXX,Y,ZZZZ.
- * XXXXXXX,IP,FFFFF.
- *
- * ENTER YYY - YYY INTO CENTRAL MEMORY LOCATION XXXXXXX.
- * ENTER ZZZZ INTO BYTE Y OF CENTRAL MEMORY LOCATION
- * XXXXXXX.
- * ENTER INSTRUCTION FFFFF INTO PARCEL P OF CENTRAL MEMORY
- * LOCATION XXXXXXX.
- *
- * 0 .LE. Y .LE. 4.
- * 0 .LE. P .LE. 3.
- * 0 .LE. XXXXXXX .LE. 7,777,777B.
- ENTRY ENM
- RJM GCA GET CM ADDRESS
- LDD CM CONVERT RA/100B TO RA
- SHN 6
- STD CM
- LDD CM+1
- SHN 6
- STD CM+1
- SHN -14
- RAD CM
- RJM ASD ASSEMBLE ADDRESS
- LDD AB+3 SAVE ADDRESS
- LPC 7000
- ADD AB+2
- ADD AB+1
- ADD AB
- NJN ENM1 IF ADDRESS .GT. 21 BITS
- LDD CP
- ZJN ENM2 IF ABSOLUTE MEMORY MODIFICATION
- LDD AB+3
- SHN -6
- NJN ENM1 IF RELATIVE ADDRESS .GT. 18 BITS
- LCN 0
- LMD AB+3 SET COMPLEMENT OF RELATIVE ADDRESS
- SHN 14
- LMD AB+4
- MJN ENM2 IF POSITIVE FL CHANGE
- * PROCESS RELATIVE NFL MEMORY CHANGE.
- STD T7 NEGATIVE ADDRESS RELATIVE TO RA-1
- SHN -6
- SBD CM+4
- PJN ENM1 IF ADDRESS NOT IN NFL
- LDD CM
- STD T6
- SOD CM+1 FORM RA-1 - ADDRESS
- SBD T7
- STD T7
- PJN ENM3 IF NO BORROW OCCURRED
- SOD T6 ADJUST FOR BORROW
- AOD T7
- UJN ENM3 CHECK FOR CM EXTENSION
- ENM1 JMP KIE *INCORRECT ENTRY*
- * PROCESS ABSOLUTE MEMORY CHANGE OR
- * PROCESS RELATIVE FL MEMORY CHANGE.
- ENM2 LDD AB+3 COMPARE ADDRESS WITH FL
- STD T6
- LDD AB+4
- STD T7
- SHN -6
- SHN 14
- LMD T6
- SHN 6
- SBD CM+3
- SHN 6
- SBD CM+2
- SHN 14
- PJN ENM1 IF ADDRESS .GT. FL
- LDD CM+1 CALCULATE ABSOLUTE ADDRESS
- RAD T7
- SHN -14
- ADD CM
- RAD T6
- ENM3 LDM CMEI
- ZJN ENM4 IF NOT CM EXTENSION
- LDD T6 SET (R) = UPPER 9 ADDRESS BITS
- SHN 6
- STD T2
- SHN 6
- STD T1
- LRD T1
- * SET (T6 - T7) = LOWER 12 ADDRESS BITS + 400,000B.
- LDN 40
- STD T6
- ENM4 AOD CA SKIP SEPERATOR
- RJM ASD ASSEMBLE DIGITS
- LMN 1R.
- NJN ENM6 IF NOT *.*
- ENM5 LDD T6
- SHN 14
- LMD T7 STORE WORD
- CWD AB
- JMP KBR RETURN
- ENM6 LMN 1RI&1R.
- ERRNG 1R,&1RI-40 ASSUMES *,* WILL PRODUCE A RESULT .GE. 40
- STD T4
- NJN ENM7 IF BYTE CHANGE
- AOD CA
- RJM ASD ASSEMBLE PARCEL NUMBER
- LDN 0
- SBM ENMF,AB+4
- STM ENMB SET MASKS
- SHN -3
- STM ENMD
- ENM7 LDD AB+4 SAVE BYTE ADDRESS
- ADN CM
- STD T5
- SHN 22-2 CALCULATE SHIFT COUNT
- SBD AB+4
- SHN 2
- ADK SHNI+77-3-CM
- STM ENMA
- ADK SHNI+11-SHNI-77+3
- STM ENMC
- AOD CA ASSEMBLE ENTRY
- RJM ASD
- LDD T6 READ WORD
- SHN 14
- LMD T7
- CRD CM
- LDD AB+3 CHANGE BYTE
- LPN 7
- LMD T4
- SHN 14
- LMD AB+4
- MJN ENM8 IF BYTE CHANGE
- ENMA SHN -3-3* PARCEL
- STD AB+3
- LDI T5
- LPC 770000
- ENMB EQU *-1
- LMD AB+3
- STI T5
- AOD T5
- LDD AB+4
- ENMC SHN 11-3* PARCEL
- LMI T5
- LPC 777000
- ENMD EQU *-1
- LMI T5
- ENM8 STI T5 SET BYTE
- LDD T6
- SHN 14
- LMD T7 STORE WORD
- CWD CM
- JMP KBR RETURN
- ENMF CON 7777,777,77,7
- GCA SPACE 4,10
- ** GCA - GET CM DISPLAY ADDRESS.
- *
- * ENTRY (LS) = LEFT DISPLAY INDEX.
- *
- * EXIT (CP) = CP AREA ADDRESS.
- * = 0, IF SYSTEM.
- * (CM - CM+1) = 9/ , 15/ RA/100B.
- * (CM+2 - CM+3) = 9/ , 15/ FL/100B.
- * (CM+4) = NFL/100B, IF DISPLAY ASSIGNED TO JSN.
- *
- * USES CP, T2, T6, T7, CM - CM+4.
- *
- * CALLS GCP, SJT.
- GCA2 AOD T2 GET CPA ADDRESS
- RJM GCP
- ZJN GCA3 IF NO JSN
- ADN FLSW
- CRD T6
- LDD CM+2 MOVE FL/100B
- STD CM+3
- LDN 0
- STD CM+2
- LDD T6 MOVE NFL/100B
- STD CM+4
- UJN GCAX RETURN
- GCA3 STD CP SET SYSTEM CP
- LDC MABL GET CM/100B
- CRD CM
- LDN 0 SET SYSTEM RA
- STD CM
- STD CM+1
- GCA SUBR ENTRY/EXIT
- LDD LS SEARCH JSN TABLE
- RJM SJT
- NJN GCA2 IF DISPLAY FOUND
- GCA1 JMP KIE PROCESS INCORRECT ENTRY
- GCP SPACE 4,10
- ** GCP - GET CPA ADDRESS.
- *
- * ENTRY (A) = JSN ADDRESS IN *TJAZ* TABLE.
- *
- * EXIT (A) = CPA ADDRESS OF JOB WITH DISPLAY-S JSN.
- * = 0, IF NO JSN ASSOCIATED WITH DISPLAY.
- * (CN) = CP NUMBER.
- * (CP) = CPA ADDRESS, IF JSN DISPLAY.
- *
- * USES CN, CP, T3, AB - AB+4, CM - CM+4.
- *
- * CALLS GEE, IEE.
- *
- * MACROS SFA.
- GCP SUBR ENTRY/EXIT
- STD T3
- LDI T3
- ZJN GCPX IF JSN NOT PRESENT
- LDD T3 SET FWA OF JSN TO FIND
- RJM GEE SEARCH EJT
- ZJN GCPX IF JSN = *SYS*
- PJN GCP2 IF EJT ENTRY FOUND
- GCP1 JMP KIE *INCORRECT ENTRY*
- GCP2 RJM IEE INTERLOCK EJT ENTRY
- MJN GCP1 IF INTERLOCK UNAVAILABLE
- SFA EJT
- ADK JSNE GET JOB STATUS
- CRD CM
- ADN SCHE GET CP NUMBER
- CRD AB
- LDD CM+4
- LPN 76
- LMN EXJS*2
- NJN GCP1 IF JOB NOT AT CP
- LDD AB+3 SET CPA ADDRESS
- LPN 37
- STD CN
- SHN 7
- STD CP
- UJN GCPX RETURN
- SPACE 4,10
- CMDEND
- COMMAND (CENTRAL MEMORY CHANGES - MULTIPLE.)
- EMR SPACE 4,10
- *** XXXXXXX+YYY.
- * XXXXXXX-YYY - YYY.
- * XXXXXXX+Y,ZZZZ.
- * XXXXXXX-Y,ZZZZ.
- *
- * ENTER YYY - YYY IN MEMORY LOCATION XXXXXXX.
- * ENTER ZZZZ IN BYTE Y OF MEMORY LOCATION XXXXXXX.
- *
- * 0 .LE. XXXXXXX .LE. 7,777,777B.
- * 0 .LE. Y .LE. 4.
- ENTRY EMR
- RJM ASA ASSEMBLE ADDRESS
- RJM ASD ASSEMBLE ENTRY
- SBN 1R.
- ZJN EMR1 IF *.*
- LDD AB+4 SAVE BYTE NUMBER
- STD T4
- AOD CA ASSEMBLE ENTRY
- RJM ASD
- LDD AB+4 SAVE ENTRY
- STD T1
- LDD T6 READ WORD
- SHN 14
- LMD T7
- CRD AB
- LDD T1 STORE BYTE
- STM AB,T4
- EMR1 LDD T6 STORE WORD
- SHN 14
- LMD T7
- CWD AB
- * UJN ADV ADVANCE ADDRESS
- ADV SPACE 4,10
- ** ADV - ADVANCE/DECREMENT ADDRESS.
- *
- * ENTRY (T5) = SEPARATOR CHARACTER ADDRESS.
- *
- * USES KI, T1, T2, T5.
- *
- * CALLS C1D.
- ADV LDD T5 SET SEPARATOR CHARACTER ADDRESS
- STM ADVA
- LDN 0 CHECK COMMAND LOGGING
- RJM C1D
- LDC *
- ADVA EQU *-1 (SEPARATOR CHARACTER ADDRESS)
- STD T5
- STD T1
- LDI T5 CHECK SEPARATOR
- SBN 1R+
- ZJN ADV3 IF *+*
- SBN 1R--1R+
- NJN ADV1 IF NOT *-*
- LJM ADV8 PROCESS *-*
- ADV1 JMP KBR RETURN
- ADV2 AOI T5 ADVANCE ENTRY
- SBN 1R8
- MJN ADV6 IF NO OVERFLOW
- SOI T5
- LMN 1R.
- ZJN ADV4 IF *.*
- LDN 1R0 RESET DIGIT
- STI T5
- ADV3 SOD T5
- ADC -KBUF
- PJN ADV2 IF NOT PAST START OF BUFFER
- ADV4 LDC KBUF+KBUFL-1
- STD T2
- ADV5 LDI T2 MOVE CONTENTS OF BUFFER
- STM 1,T2
- SOD T2
- SBD T5
- NJN ADV5 IF BUFFER NOT MOVED
- LDN 1R1 SET FIRST CHARACTER OF BUFFER
- STM 1,T2
- AOD KI INCREMENT KEYBOARD INDEX
- AOD T1 SKIP PREVIOUS CHARACTER
- ADV6 UJN ADV9 SET CHARACTER INDEX
- ADV7 SOI T5 DECREMENT ENTRY
- SBN 1R0
- PJN ADV9 IF NO UNDERFLOW
- LDN 1R7 RESET DIGIT
- STI T5
- ADV8 SOD T5
- ADC -KBUF
- PJN ADV7 IF NOT PAST START OF BUFFER
- ADV9 AOD T1 SKIP SEPARATOR
- LDI T1 CHECK NEXT CHARACTER
- SBN 1RD
- NJN ADV10 IF NOT *D*
- AOD T1 SKIP *D*
- ADV10 LDD T1 RETURN TO PARTIAL CLEAR
- ADC -KBUF
- LJM KPC RETURN TO PARTIAL CLEAR
- ASA SPACE 4,10
- ** ASA - ASSEMBLE ADDRESS.
- *
- * ENTRY (CA) = CHARACTER ADDRESS.
- *
- * EXIT (T5) = SEPARATOR CHARACTER INDEX.
- * (T6 - T7) = ADDRESS.
- *
- * USES CA, CM, CM+1, CM+2, CM+3, T5, T6, T7.
- *
- * CALLS ASD, GCA.
- ASA SUBR ENTRY/EXIT
- RJM GCA GET CM ADDRESS
- LDD CM CONVERT RA/100B TO RA
- SHN 6
- STD CM
- LDD CM+1
- SHN 6
- STD CM+1
- SHN -14
- RAD CM
- RJM ASD ASSEMBLE ADDRESS
- LDD AB+3
- LPC 7000
- ADD AB+2
- ADD AB+1
- ADD AB
- NJN ASA1 IF .GT. 21 BITS
- LDD AB+3 COMPARE ENTERED CM LOCATION WITH FL
- STD T6
- LDD AB+4
- STD T7
- SHN -6
- SHN 14
- LMD T6
- SHN 6
- SBD CM+3
- SHN 6
- SBD CM+2
- SHN 14
- MJN ASA2 IF ADDRESS .LE. FL
- ASA1 JMP KIE *INCORRECT ENTRY*
- ASA2 LDD CM+1
- RAD T7
- SHN -14
- ADD CM
- ADD T6
- STD T6
- LDM. CMEI
- ZJN ASA3 IF NOT CME
- LDD T6 SET (R) = UPPER 9 ADDRESS BITS
- SHN 6
- STD CM+3
- SHN 6
- STD CM+2
- LRD CM+2
- * SET (T6 - T7) = LOWER 12 ADDRESS BITS + 400,000B.
- LDN 40
- STD T6
- ASA3 LDD CA SET SEPARATOR ADDRESS
- STD T5
- AOD CA SKIP SEPARATOR
- LJM ASAX EXIT
- GCA SPACE 4,10
- ** GCA - GET CM DISPLAY ADDRESS.
- *
- * ENTRY (LS) = LEFT DISPLAY INDEX.
- *
- * EXIT (CP) = CP AREA ADDRESS.
- * = 0, IF SYSTEM.
- * (CM - CM+1) = 9/ , 15/ RA/100B.
- * (CM+2 - CM+3) = 9/ , 15/ FL/100B.
- *
- * USES CP, T2, T6, T7, CM - CM+4.
- *
- * CALLS SJT.
- GCA3 AOD T2 SET FWA OF JSN
- LDI T2
- NJN GCA2 IF JSN PRESENT
- GCA3.1 STD CP SET SYSTEM CP
- LDC MABL GET CM/100B
- CRD CM
- LDN 0 SET SYSTEM RA
- STD CM
- STD CM+1
- GCA SUBR ENTRY/EXIT
- LDD LS SEARCH JSN TABLE
- RJM SJT
- NJN GCA3 IF DISPLAY FOUND
- GCA1 JMP KIE PROCESS INCORRECT ENTRY
- GCA2 LDD T2 SEARCH EJT
- RJM GEE
- ZJN GCA3.1 IF JSN = *SYS*
- MJN GCA1 IF EJT ENTRY NOT FOUND
- RJM IEE INTERLOCK EJT ENTRY
- MJN GCA1 IF INTERLOCK UNAVAILABLE
- SFA EJT
- ADK JSNE GET JOB STATUS
- CRD CM
- ADN SCHE GET CP NUMBER
- CRD AB
- LDD CM+4
- LPN 76
- LMN EXJS*2
- NJN GCA1 IF JOB NOT AT CP
- LDD AB+3 SET CPA ADDRESS
- LPN 37
- STD CN
- SHN 7
- STD CP
- ADN FLSW
- CRD T6
- LDD CM+2 MOVE FL/100B
- STD CM+3
- LDN 0
- STD CM+2
- LJM GCAX RETURN
- SPACE 4,10
- CMDEND
- COMMAND (CENTRAL MEMORY CHANGES - DISPLAY CODE.)
- EMD SPACE 4,10
- *** XXXXXXX+DCCC - CCC.
- * XXXXXX-DCCC - CCC.
- *
- * 0 .LE. XXXXXXX .LE. 7,777,777B.
- *
- *** XXXXXXX,DCCC - CCC
- *
- * ENTER MEMORY LOCATION XXXXXXX WITH DISPLAY CODE CHARACTERS
- * CCC - CCC. ENTRY WILL BE LEFT-JUSTIFIED.
- ENTRY EMD
- RJM ASA ASSEMBLE ADDRESS
- AOD CA SKIP *D*
- LDN ZERL CLEAR ASSEMBLY
- CRD AB
- LDN AB SET BYTE ADDRESS
- STD T1
- EMD1 LDI CA STORE UPPER
- ZJN EMD2 IF END OF BUFFER
- SHN 6
- STI T1
- AOD CA ADVANCE CHARACTER
- LDI CA STORE LOWER
- ZJN EMD2 IF END OF BUFFER
- RAI T1
- AOD CA ADVANCE CHARACTER
- AOD T1 ADVANCE BYTE
- LMN AB+5
- NJN EMD1 IF NOT END OF WORD
- EMD2 LDD T6 STORE WORD
- SHN 14
- ADD T7
- CWD AB
- * UJN ADV ADVANCE ADDRESS
- ADV SPACE 4,10
- ** ADV - ADVANCE/DECREMENT ADDRESS.
- *
- * ENTRY (T5) = SEPARATOR CHARACTER ADDRESS.
- *
- * USES KI, T1, T2, T5.
- *
- * CALLS C1D.
- ADV LDD T5 SET SEPARATOR CHARACTER ADDRESS
- STM ADVA
- LDN 0 CHECK COMMAND LOGGING
- RJM C1D
- LDC *
- ADVA EQU *-1 (SEPARATOR CHARACTER ADDRESS)
- STD T5
- STD T1
- LDI T5 CHECK SEPARATOR
- SBN 1R+
- ZJN ADV3 IF *+*
- SBN 1R--1R+
- NJN ADV1 IF NOT *-*
- LJM ADV8 PROCESS *-*
- ADV1 JMP KBR RETURN
- ADV2 AOI T5 ADVANCE ENTRY
- SBN 1R8
- MJN ADV6 IF NO OVERFLOW
- SOI T5
- LMN 1R.
- ZJN ADV4 IF *.*
- LDN 1R0 RESET DIGIT
- STI T5
- ADV3 SOD T5
- ADC -KBUF
- PJN ADV2 IF NOT PAST START OF BUFFER
- ADV4 LDC KBUF+KBUFL-1
- STD T2
- ADV5 LDI T2 MOVE CONTENTS OF BUFFER
- STM 1,T2
- SOD T2
- SBD T5
- NJN ADV5 IF BUFFER NOT MOVED
- LDN 1R1 SET FIRST CHARACTER OF BUFFER
- STM 1,T2
- AOD KI INCREMENT KEYBOARD INDEX
- AOD T1 SKIP PREVIOUS CHARACTER
- ADV6 UJN ADV9 SET CHARACTER INDEX
- ADV7 SOI T5 DECREMENT ENTRY
- SBN 1R0
- PJN ADV9 IF NO UNDERFLOW
- LDN 1R7 RESET DIGIT
- STI T5
- ADV8 SOD T5
- ADC -KBUF
- PJN ADV7 IF NOT PAST START OF BUFFER
- ADV9 AOD T1 SKIP SEPARATOR
- LDI T1 CHECK NEXT CHARACTER
- SBN 1RD
- NJN ADV10 IF NOT *D*
- AOD T1 SKIP *D*
- ADV10 LDD T1 RETURN TO PARTIAL CLEAR
- ADC -KBUF
- LJM KPC RETURN TO PARTIAL CLEAR
- ASA SPACE 4,10
- ** ASA - ASSEMBLE ADDRESS.
- *
- * ENTRY (CA) = CHARACTER ADDRESS.
- *
- * EXIT (T5) = SEPARATOR CHARACTER INDEX.
- * (T6 - T7) = ADDRESS.
- *
- * USES CA, CM, CM+1, CM+2, CM+3, T5, T6, T7.
- *
- * CALLS ASD, GCA.
- ASA SUBR ENTRY/EXIT
- RJM GCA GET CM ADDRESS
- LDD CM CONVERT RA/100B TO RA
- SHN 6
- STD CM
- LDD CM+1
- SHN 6
- STD CM+1
- SHN -14
- RAD CM
- RJM ASD ASSEMBLE ADDRESS
- LDD AB+3
- LPC 7000
- ADD AB+2
- ADD AB+1
- ADD AB
- NJN ASA1 IF .GT. 21 BITS
- LDD AB+3 COMPARE ENTERED CM LOCATION WITH FL
- STD T6
- LDD AB+4
- STD T7
- SHN -6
- SHN 14
- LMD T6
- SHN 6
- SBD CM+3
- SHN 6
- SBD CM+2
- SHN 14
- MJN ASA2 IF ADDRESS .LE. FL
- ASA1 JMP KIE *INCORRECT ENTRY*
- ASA2 LDD CM+1
- RAD T7
- SHN -14
- ADD CM
- ADD T6
- STD T6
- LDM. CMEI
- ZJN ASA3 IF NOT CME
- LDD T6 SET (R) = UPPER 9 ADDRESS BITS
- SHN 6
- STD CM+3
- SHN 6
- STD CM+2
- LRD CM+2
- * SET (T6 - T7) = LOWER 12 ADDRESS BITS + 400,000B.
- LDN 40
- STD T6
- ASA3 LDD CA SET SEPARATOR ADDRESS
- STD T5
- AOD CA SKIP SEPARATOR
- LJM ASAX EXIT
- GCA SPACE 4,10
- ** GCA - GET CM DISPLAY ADDRESS.
- *
- * ENTRY (LS) = LEFT DISPLAY INDEX.
- *
- * EXIT (CP) = CP AREA ADDRESS.
- * = 0, IF SYSTEM.
- * (CM - CM+1) = 9/ , 15/ RA/100B.
- * (CM+2 - CM+3) = 9/ , 15/ FL/100B.
- *
- * USES CP, T2, T6, T7, CM - CM+4.
- *
- * CALLS SJT.
- GCA3 AOD T2 SET FWA OF JSN
- LDI T2
- NJN GCA2 IF JSN PRESENT
- GCA3.1 STD CP SET SYSTEM CP
- LDC MABL GET CM/100B
- CRD CM
- LDN 0 SET SYSTEM RA
- STD CM
- STD CM+1
- GCA SUBR ENTRY/EXIT
- LDD LS SEARCH JSN TABLE
- RJM SJT
- NJN GCA3 IF DISPLAY FOUND
- GCA1 JMP KIE PROCESS INCORRECT ENTRY
- GCA2 LDD T2 SEARCH EJT
- RJM GEE
- ZJN GCA3.1 IF JSN = *SYS*
- MJN GCA1 IF EJT ENTRY NOT FOUND
- RJM IEE INTERLOCK EJT ENTRY
- MJN GCA1 IF INTERLOCK UNAVAILABLE
- SFA EJT
- ADK JSNE GET JOB STATUS
- CRD CM
- ADN SCHE GET CP NUMBER
- CRD AB
- LDD CM+4
- LPN 76
- LMN EXJS*2
- NJN GCA1 IF JOB NOT AT CP
- LDD AB+3 SET CPA ADDRESS
- LPN 37
- STD CN
- SHN 7
- STD CP
- ADN FLSW
- CRD T6
- LDD CM+2 MOVE FL/100B
- STD CM+3
- LDN 0
- STD CM+2
- LJM GCAX RETURN
- SPACE 4,10
- CMDEND
- COMMAND (EXTENDED MEMORY CHANGES.)
- EEC SPACE 4,10
- *** EXXXXXXX,YYY - YYY.
- * EXXXXXXX,Y,ZZZZ.
- *
- * ENTER YYY - YYY INTO EXTENDED MEMORY LOCATION XXXXXXX.
- * ENTER ZZZZ INTO BYTE Y OF EXTENDED MEMORY LOCATION XXXXXXX.
- * 0 .LE. Y .LE. 4.
- *** EXXXXXXX,DCCC-CCC
- *
- * ENTER DISPLAY CODE CHARACTERS CCC-CCC IN EXTENDED MEMORY
- * LOCATION XXXXXXX. ENTRY WILL BE LEFT JUSTIFIED.
- *** ALL EXTENDED MEMORY COMMANDS MAY HAVE *+* OR *-* IN PLACE OF
- * THE *,*. THIS FORM WILL ADVANCE/DECREMENT THE EM ADDRESS.
- *
- * PROGRAMMING NOTE - THIS OVERLAY MAKES DIRECT REFERENCES TO
- * *EMRA* AND *EMFL* IN THE *M* DISPLAY LEFT-SCREEN BUFFER.
- * THEREFORE, THE CHECK FOR THE *M*-DISPLAY ON THE LEFT
- * SCREEN MUST NOT BE REMOVED.
- ENTRY EEC
- RJM ASR ASSEMBLE ADDRESS AND READ EXTENDED MEMORY
- LDI CA
- LMN 1RD
- NJN EEC2 IF NOT DISPLAY CODE
- AOD CA SKIP *D*
- LDN AB SET BYTE ADDRESS
- STD T1
- EEC1 LDI CA
- SHN 6
- STI T1
- AOD CA ADVANCE CHARACTER
- LDI CA
- RAI T1
- AOD CA ADVANCE CHARACTER
- AOD T1 ADVANCE BYTE
- LMN AB+5
- ZJN EEC3 IF 10 CHARACTERS PROCESSED
- UJN EEC1 PROCESS NEXT CHARACTER
- EEC2 RJM ASD ASSEMBLE DIGITS
- SBN 1R.
- ZJN EEC3 IF NOT BYTE COMMAND
- LDD AB+4
- STD T4 SAVE BYTE NUMBER
- AOD CA
- RJM ASD ASSEMBLE ENTRY
- LDD AB+4
- STD T3 SAVE ENTRY
- LDD MA FETCH EXTENDED MEMORY WORD
- ADN 1
- CRD AB
- LDD T3
- STM AB,T4 STORE BYTE
- EEC3 LDD MA SET LIST ADDRESS
- STD CM+2
- ADN 1 STORE WORD FOR EXTENDED MEMORY TRANSFER
- CWD AB
- LDD HN SET NUMBER OF LIST ENTRIES = 1
- STD CM+1
- LDD T6
- STD CM+3
- MONITOR ECSM WRITE EXTENDED MEMORY WORD
- * UJN ADV ADVANCE ADDRESS
- ADV SPACE 4,10
- ** ADV - ADVANCE/DECREMENT ADDRESS.
- *
- * ENTRY (SH) = CHARACTER POSITION OF ADDRESS.
- * (SH+1) = SEPARATOR ADDRESS.
- *
- * USES T1, T5.
- *
- * CALLS C1D.
- ADV LDN 0 CHECK COMMAND LOGGING
- RJM C1D
- LDD SH+1
- STD T5
- STD T1
- LDI T5 CHECK SEPARATOR
- SBN 1R+
- ZJN ADV2 IF *+*
- SBN 1R--1R+
- ZJN ADV6 IF *-*
- JMP KBR RETURN
- ADV1 AOI T5 ADVANCE ENTRY
- SBN 1R8
- MJN ADV4 IF NO OVERFLOW
- LDN 1R0 RESET DIGIT
- STI T5
- ADV2 SOD T5
- ADC -KBUF-1
- PJN ADV1 IF NOT PAST START OF BUFFER
- LDN KBUFL-2
- STD T5
- ADV3 LDM KBUF+1,T5 MOVE CONTENTS OF BUFFER
- STM KBUF+2,T5
- SOD T5
- PJN ADV3 IF BUFFER NOT MOVED
- LDN 1R1 SET FIRST CHARACTER OF ADDRESS
- STM KBUF+1
- AOD KI INCREMENT KEYBOARD INDEX
- AOD T1 SKIP PREVIOUS CHARACTER
- ADV4 UJN ADV7 CHECK NEXT CHARACTER
- ADV5 SOI T5 DECREMENT ENTRY
- SBN 1R0
- PJN ADV7 IF NO UNDERFLOW
- LDN 1R7 RESET DIGIT
- STI T5
- ADV6 SOD T5
- ADC -KBUF-1
- PJN ADV5 IF NOT PAST START OF BUFFER
- ADV7 AOD T1 SKIP SEPARATOR
- LDI T1 CHECK NEXT CHARACTER
- SBN 1RD
- NJN ADV8 IF NOT *D*
- AOD T1 SKIP *D*
- ADV8 LDD T1
- ADC -KBUF
- LJM KPC RETURN TO PARTIAL CLEAR
- ASR SPACE 4,10
- ** ASR - ASSEMBLE ADDRESS AND READ EXTENDED MEMORY.
- *
- * ENTRY (CA) = CHARACTER ADDRESS.
- *
- * EXIT (CA) = ADVANCED CHARACTER ADDRESS.
- * (SH+1) = SEPARATOR ADDRESS
- * (T6) = *ECSM* WRITE LIST SUBFUNCTION CODE.
- * (MB) = LIST ENTRY FOR EXTENDED MEMORY TRANSFER.
- *
- * USES CA, SH+1, T6, AB - AB+4, CM - CM+4, SR - SR+4.
- *
- * CALLS ASD.
- *
- * MACROS MONITOR.
- ASR SUBR
- LDD LS CHECK LEFT SCREEN DISPLAY
- LMN 1RM
- ZJN ASR2 IF *M*
- ASR1 JMP KIE *INCORRECT ENTRY*
- ASR2 RJM ASD ASSEMBLE ADDRESS
- LDM .FLFT+EMFL
- SBD AB+3
- MJN ASR1 IF ADDRESS .GT. FLE
- NJN ASR3 IF LEGAL ADDRESS
- LDD AB+4
- SBM .FLFT+EMFL+1
- PJN ASR1 IF ADDRESS .GE. FLE
- ASR3 LDK EDBP
- CRD SR
- LDD SR
- ADD SR+1
- ZJN ASR1 IF EXTENDED MEMORY UNDEFINED
- LDM .FLFT+EMRA
- ADM .FLFT+EMRA+1
- ZJN ASR4 IF ABSOLUTE EXTENDED MEMORY ADDRESS
- LDM .FLFT+EMRA+1 ADD RAE TO EXTENDED MEMORY ADDRESS
- RAD AB+4
- SHN -14
- ADM .FLFT+EMRA
- RAD AB+3
- LDN 2 INDICATE READ FROM USER EM
- ASR4 ADN /CPS/PELS*10 SET *ECSM* READ LIST SUBFUNCTION
- SHN 6
- STD CM+3
- ADC 400 SAVE *ECSM* WRITE LIST SUBFUNCTION
- STD T6
- LDD HN SET NUMBER OF WORDS TO READ = 1
- STD AB+1
- STD CM+1 SET NUMBER OF LIST ENTRIES = 1
- LDD MA WRITE LIST ENTRY
- CWD AB
- STD CM+2 SET LIST ADDRESS
- MONITOR ECSM READ EXTENDED MEMORY WORD
- LDD MA RESET LIST ENTRY FOR WRITE
- CWD AB
- LDD CA SET SEPARATOR ADDRESS
- STD SH+1
- AOD CA SKIP SEPERATOR
- LJM ASRX RETURN
- SPACE 4,10
- CMDEND
- COMMAND (CHANNEL COMMANDS.),CMR
- LDC SPACE 4,10
- *** LDC,XXXX.
- *
- * LOAD CHANNEL A REGISTER WITH XXXX.
- ENTRY LDC
- RJM ASD ASSEMBLE DIGITS
- LDD AB+4 ENTER A REGISTER
- STD AR
- JMP KBR RETURN
- DCH SPACE 4,10
- *** DCH,XX.
- *
- * DROP CHANNEL XX.
- ENTRY DCH
- RJM PSC PRESET CHANNELS
- LDD AB+4 DROP CHANNEL
- STD CM+1
- MONITOR DCHM
- JMP KBR RETURN
- DCN SPACE 4,10
- *** DCN,XX.
- *
- * DISCONNECT CHANNEL XX.
- ENTRY DCN
- RJM PSC PRESET CHANNELS
- DCN1 IJM KMS,** IF CHANNEL INACTIVE
- DCN2 DCN 40 DEACTIVATE CHANNEL
- JMP KBR RETURN
- FCN SPACE 4,10
- *** FCN,XX.
- * FCN,XX,YYYY.
- *
- * FUNCTION CHANNEL XX WITH ZERO.
- * FUNCTION CHANNEL XX WITH YYYY.
- ENTRY FCN
- RJM PSC PRESET CHANNELS
- AOD CA ASSEMBLE FUNCTION
- RJM ASD
- LDN 0 SET NO MESSAGE
- FCN1 AJM KMS,** IF CHANNEL ACTIVE
- LDD AB+4 SET FUNCTION
- STM FCNA
- FCN2 FNC *,40 FUNCTION CHANNEL
- FCNA EQU *-1
- JMP KBR RETURN
- ACN SPACE 4,10
- *** ACN,XX.
- *
- * ACTIVATE CHANNEL XX.
- ENTRY ACN
- RJM PSC PRESET CHANNELS
- ACN1 AJM KMS,** IF CHANNEL ACTIVE
- ACN2 ACN 40 ACTIVATE CHANNEL
- JMP KBR RETURN
- IAN SPACE 4,10
- *** IAN,XX.
- *
- * INPUT TO CHANNEL *A* REGISTER FROM CHANNEL XX.
- ENTRY IAN
- RJM PSC PRESET CHANNELS
- IAN1 EJM KMS,** IF CHANNEL EMPTY
- IAN2 IJM KMS,** IF CHANNEL INACTIVE
- IAN3 IAN 40 INPUT TO *A*
- STD AR
- JMP KBR RETURN
- OAN SPACE 4,10
- *** OAN,XX.
- *
- * OUTPUT FROM CHANNEL *A* REGISTER TO CHANNEL XX.
- ENTRY OAN
- RJM PSC PRESET CHANNELS
- OAN1 FJM KMS,** IF CHANNEL FULL
- OAN2 IJM KMS,** IF CHANNEL INACTIVE
- LDD AR OUTPUT FROM *A*
- OAN3 OAN 40
- JMP KBR RETURN
- MCH SPACE 4,10
- *** MCH,XX.
- *
- * MASTER CLEAR CHANNEL XX.
- ENTRY MCH
- RJM PSC PRESET CHANNELS
- MCH1 AJM KMS,** IF CHANNEL ACTIVE
- MCH2 FNC 2000,40 SELECT 6681
- LDN 77 DELAY
- SBN 1
- NJN *-1 IF MORE DELAY
- MCH3 AJM KBR,** IF CHANNEL IS ACTIVE, ABORT
- MCH4 FNC 1700,40 MASTER CLEAR
- JMP KBR RETURN
- CFR SPACE 4,10
- *** CFR,XX.
- *
- * CLEAR EXTENDED MEMORY FLAG REGISTER BIT XX.
- ENTRY CFR
- LDN CFRS CLEAR FUNCTION
- UJN SFR1 CLEAR BIT
- SFR SPACE 4,10
- *** SFR,XX.
- *
- * SET EXTENDED MEMORY FLAG REGISTER BIT XX.
- ENTRY SFR
- LDN SFRS SET FUNCTION
- SFR1 SHN 11 SAVE FLAG REGISTER FUNCTION
- STD T4
- RJM ASD ASSEMBLE DIGITS
- LDC MMFL
- CRD CM
- LDD CM+4
- ZJN SFR2 IF NOT IN SHARED MODE
- LDD AB
- ADD AB+1
- ADD AB+2
- ADD AB+3
- NJN SFR2 IF BIT NUMBER TOO LARGE
- LDD AB+4
- SBN 22 CHECK BIT NUMBER TOO LARGE
- PJN SFR2 IF BIT NUMBER GREATER THAN 17D
- LDD AB+4
- SHN 6
- STD CM+1
- LDD T4
- STD CM+3
- MONITOR ECSM
- JMP KBR RETURN
- SFR2 JMP KIE INCORRECT ENTRY
- PSC SPACE 4,15
- ** PSC - PRESET CHANNELS.
- *
- * ENTRY (CA) = CHARACTER INDEX.
- * ALL CHANNEL COMMANDS ARE CONSIDERED TO HAVE THREE
- * CHARACTER NAMES.
- *
- * EXIT CHANNEL INSTRUCTIONS MODIFIED.
- * (A) = 0.
- *
- * USES T1, T2.
- *
- * CALLS ASD.
- PSC SUBR ENTRY/EXIT
- RJM ASD ASSEMBLE CHANNEL
- LDD AB+4 CHECK CHANNEL
- SBN 40
- PJN PSC2 IF NOT LEGAL CHANNEL
- LDC TILC-1 SET INCORRECT CHANNEL TABLE
- STD T1
- LDC TPSC-1 SET PRESET CHANNEL TABLE
- STD T2
- PSC1 AOD T1 ADVANCE TABLE
- LDI T1
- ZJN PSC3 IF END OF TABLE
- LMD AB+4 COMPARE CHANNELS
- NJN PSC1 IF NO MATCH
- PSC2 JMP KIE INCORRECT ENTRY
- PSC3 AOD T2 ADVANCE CHANNEL TABLE
- LDI T2
- ZJN PSCX IF END OF TABLE
- STD T1 MODIFY CHANNEL COMMANDS
- LDI T1
- SCN 37
- LMD AB+4
- STI T1
- UJN PSC3 LOOP
- TILC SPACE 4,10
- ** TILC - TABLE OF INCORRECT CHANNELS.
- TILC BSS 0
- CON CH DISPLAY CHANNEL
- CON CHMX CYBER 170-8X5 TWO PORT MUX CHANNEL
- CON CHMR CYBER 170-8X5 MAINTENANCE CHANNEL
- CON 0 END OF TABLE
- TPSC SPACE 4,10
- ** TPSC - TABLE OF CHANNEL INSTRUCTIONS.
- TPSC BSS 0
- CON DCN1
- CON DCN2
- CON FCN1
- CON FCN2
- CON ACN1
- CON ACN2
- CON IAN1
- CON IAN2
- CON IAN3
- CON OAN1
- CON OAN2
- CON OAN3
- CON MCH1
- CON MCH2
- CON MCH3
- CON MCH4
- CON 0 END OF TABLE
- SPACE 4,10
- CMDEND
- COMMAND (K AND L DISPLAY PROCESSING.)
- ECB SPACE 4,10
- *** K.CCC-CCC
- *
- * ENTER CHARACTERS CCC-CCC IN CPU BUFFER FOR CONTROL ON
- * *K* DISPLAY.
- ECB SPACE 4,10
- ENTRY ECB
- LDD KI GET KEYBOARD BUFFER INDEX
- SBN 53D
- MJN ECB1 IF .LE. 50 CHARACTERS ENTERED
- LDC ECBA *LINE TOO LONG*
- LJM KMS REPORT ERROR
- ECB1 LDM KBUF SET DISPLAY INDEX
- STD T1
- LDD LS
- LMN 1RK
- NJN ECB2 IF K DISPLAY NOT UP
- LDC /DSD/TJKK+1
- RJM SJS SEARCH FOR JSN IN EJT
- MJN ECB2 IF JOB NOT AT CP OR NO JSN ASSIGNED
- LDD CP
- ADC DBAW READ DISPLAY POINTER
- CRD CM
- LDD CM CHECK ADDRESS
- SHN 21-10
- PJN ECB1.1 IF NOT SECURE K-DISPLAY
- LDN 0
- STM /KEYBOARD/LKBA CLEAR LOGGING FOR SECURE K-DISPLAY
- ECB1.1 LDD CM CHECK ADDRESS
- LPN 77
- SHN 14
- LMD CM+1
- NJN ECB3 IF BUFFER DEFINED
- ECB2 JMP KIE *INCORRECT ENTRY*
- ECB3 LDN ZERL
- CRD AB
- LDI CA
- NJN ECB4 IF FIRST CHARACTER NOT NULL
- LDN 1R GUARANTEE AT LEAST 1 CHARACTER
- STI CA
- ECB4 LDD CA SAVE KEYBOARD OFFSET
- ADC -KBUF
- SHN 6
- STD AB+4
- LDN 2 SET KEYBOARD PARTIAL CLEAR INDEX
- STM /KEYBOARD/KBCA
- LDD CP SET CP NUMBER
- SHN -7
- RAD AB+4
- LDC /1DS/LOCK+/1DS/ECBF
- STD AB+2
- LMC /1DS/CMOV SET CP MOVE
- JMP KAR CALL *1DS*
- ECBA DATA C*LINE TOO LONG*
- ELB SPACE 4,10
- *** L.CCC-CCC
- *
- * ENTER CHARACTERS CCC-CCC IN CMR *L* DISPLAY BUFFER.
- ENTRY ELB
- LDD LS
- LMN 1RL
- NJP ECB2 IF L DISPLAY NOT UP
- LDN LCOM COMMAND BUFFER LENGTH
- SHN 2
- ADN LCOM+3
- STD T1 STORE MAXIMUM NUMBER OF CHARACTERS
- LDD KI GET KEYBOARD BUFFER INDEX
- SBD T1
- MJN ELB1 IF NUMBER OF CHARACTERS .LE. LIMIT
- LDC ECBA *LINE TOO LONG*
- JMP KMS REPORT ERROR
- * CHECK FOR INCORRECT ENTRY.
- ELB1 LDM /COMDSYS/SYSC READ *L* DISPLAY CONTROL WORD
- LPN 77
- STD CM+3
- SHN 14
- LMM /COMDSYS/SYSC+1
- STD CM+4
- CRD T1
- LDD T1
- ADD T2
- NJN ELB2 IF JSN .NE. 0
- LDC ELBB *L DISPLAY NOT ASSIGNED*
- JMP KMS KEYBOARD ERROR MESSAGE RETURN
- * CHECK IF COMMAND AVAILABLE.
- ELB2 LDD T5
- SHN 21-5
- PJN ELB3 IF COMMAND NOT AVAILABLE
- LDC ELBC *SYSTEM BUSY*
- JMP KMS KEYBOARD ERROR MESSAGE RETURN
- * TRANSFER DATA TO CMR BUFFER.
- ELB3 LDN LCOM STORE MAXIMUM NUMBER OF WORDS
- STD T6
- LDD CM+3 WRITE WORDS TO CMR BUFFER
- SHN 14
- LMD CM+4
- ADN 1
- CWM KBUF+2,T6
- * SET *L* DISPLAY STATUS TO REFLECT INPUT AVAILABLE.
- LDD T1 VERIFY *JSN* .NE. 0
- STM ELBA+3
- LDD T2
- STM ELBA+4
- LDN 0
- STD CM+2
- LDN 3
- STD CM+1 STORE WORD COUNT OF OPTIONS
- LDD MA
- CWM ELBA,CM+1
- MONITOR UTEM SET BITS
- LDD CM+1
- ZJN ELB4 IF VERIFICATION PASSED
- LJM ELB1 CHECK FOR INCORRECT ENTRY
- * INDICATE *L* DISPLAY INPUT AVAILABLE.
- ELB4 LDN ZERL ISSUE *L* DISPLAY INPUT EVENT
- CRD CM
- LDN LINE
- STD CM+4
- MONITOR EATM
- * ENABLE THE NEXT *L.* PROMPT.
- LDC .FLFT
- STD T1
- LDD LS
- LMN 1RL
- ZJN ELB5 IF *L* DISPLAY IS ON THE LEFT SCREEN
- LDC .FRHT
- STD T1
- LDD RS
- LMN 1RL
- NJN ELB6 IF *L* DISPLAY IS NOT ON THE RIGHT SCREEN
- ELB5 STM DSLA,T1
- ELB6 JMP KBR KEYBOARD PROCESSOR
- * *UTEM* MONITOR FUNCTION BUFFER.
- ELBA VFD 1/1,5/0,6/24D,6/36D,6/0 VERIFY *JSN* .NE. 0
- CON 0,0,0
- VFD 1/1,5/0,6/1,6/5,6/0 VERIFY COMMAND NOT ENTERED
- CON 0,0,0
- VFD 1/0,5/0,6/2,6/4,6/0 COMMAND ENTERED/NO INPUT REQUEST
- CON 0,0,2
- ELBB DATA C*L DISPLAY NOT ASSIGNED*
- ELBC DATA C*SYSTEM BUSY*
- SPACE 4,10
- CMDEND
- COMMAND (EJT REQUESTS - PART 1.)
- ECP SPACE 4,10
- *** ENPR,XXXX,NN.
- * ENPR,XXXX,*.
- *
- * SET CPU PRIORITY NN ON JOB WITH JSN = XXXX.
- * IF NN = *, SET CPU PRIORITY FROM SERVICE CLASS VALUE.
- * JOB WITH JSN = XXXX CANNOT BE A SUBSYSTEM.
- ENTRY ECP
- RJM ASN ASSEMBLE JSN
- LDD AB+2
- NJN ECP1 IF JSN .GT. 4 CHARACTERS
- LDD AB+1
- LPN 77
- NJN ECP0 IF JSN .EQ. 4 CHARACTERS
- LDN 1R
- RAD AB+1
- ECP0 LDN AB GET EJT ENTRY
- RJM GEE
- MJN ECP1 IF EJT ENTRY NOT FOUND
- ZJN ECP1 IF SYSTEM CP
- STD T7 SAVE EJT ORDINAL
- SFA EJT GET SERVICE CLASS
- ADN SCLE
- CRD SR
- LDD SR CHECK SERVICE CLASS
- SHN -6
- LMN SSSC
- NJN ECP2 IF NOT SUBSYSTEM
- ECP1 JMP KIE *INCORRECT ENTRY*
- ECP2 LDD AB SAVE JSN FOR *1DS* CALL
- STD SP+3
- LDD AB+1
- STD SP+4
- AOD CA SKIP SEPARATOR
- LDI CA
- LMN 1R*
- NJN ECP3 IF NEXT CHARACTER NOT ASTERISK
- LDN 0 INDICATE SET SERVICE CLASS PRIORITY
- STD AB+4
- UJN ECP4 SET *1DS* CALL
- ECP3 RJM ASD ASSEMBLE CPU PRIORITY
- LDD AB+4
- SBN LJCS
- MJN ECP1 IF BELOW LOWER LIMIT
- SBN LSCS-LJCS
- PJN ECP1 IF REQUESTED PRIORITY TOO LARGE
- ECP4 LDD T7 SET EJT ORDINAL FOR *1DS*
- STD AB+3
- LDC /1DS/LOCK+/1DS/ECPF
- RJM C1D PROCESS FUNCTION
- LDC ECP5
- STM /KEYBOARD/KCRB SET REENTRY ADDRESS
- ECP5 LDC /1DS/DSDL
- CRD CM CHECK IF *1DS* COMPLETE
- ADN 1 CHECK RESULTS
- CRD AB
- LDD CM
- NJP CLP1 IF NOT COMPLETE
- LDD AB
- ZJP KBR IF NO ERROR
- LDM ECPA-1,AB
- JMP KMS DISPLAY ERROR MESSAGE
- ECPA CON =C*EJT ENTRY BUSY.*
- CON =C*CANNOT ACCESS ROLLOUT DEVICE.*
- CON KILE *INCORRECT ENTRY.*
- SPACE 4,10
- USE END DUMP LITERALS BLOCK
- SPACE 4,10
- CMDEND
- COMMAND (EJT REQUESTS - PART 2.)
- CSP SPACE 4,10
- *** RERUN,JSN.
- *
- * RERUN JOB WHICH HAS THE SPECIFIED JSN. JOB CAN BE A
- * SUBSYSTEM.
- ENTRY RRJ
- RJM PJS PROCESS JSN
- SFA EJT FIND ABSOLUTE ADDRESS OF EJT ENTRY
- ADN SCHE GET NO RERUN BIT
- CRD CM
- LDD CM+2 GET NO RERUN BIT
- SHN 21-13
- MJN RRJ1 IF NO RERUN SET
- LDD AB SET JSN
- STD CM+3
- LDD AB+1
- STD CM+4
- LDD T3 SET EJTO
- STD CM+2
- LDC RRET+4000 SET RERUN ERROR
- STD CM+1
- MONITOR CEFM SET ERROR FLAG
- JMP KBR RETURN
- RRJ1 JMP KIE *INCORRECT ENTRY*
- RIF SPACE 4,10
- *** ROLLIN,JSN.
- * ROLLIN,JSN,L.
- *
- * ROLLIN JOB *JSN*. IF *L* IS SPECIFIED, LOCK JOB
- * AT A CONTROL POINT. JOB CAN NOT BE A SUBSYSTEM.
- ENTRY RIF
- RJM PJS PROCESS JSN
- LDD AB+1 SAVE JSN FOR *UTEM* CALL
- STM URB+4
- LDD AB
- STM URB+3
- LDN 2 WORD COUNT FOR *UTEM* REQUEST
- STD CM+1
- LDD CM+4
- SHN -1
- LMK TOJS
- NJN RIF1 IF NOT *TOJS* STATUS
- LDN 5 WORD COUNT FOR *TOJS* STATUS
- STD CM+1
- RIF1 SFA EJT,T3 GET SERVICE CLASS FROM EJT ENTRY
- ADN SCLE
- CRD SR
- SBN SCLE
- STD CM+4
- SHN -14
- STD CM+3
- LDD SR
- SHN -6
- LMN SSSC
- ZJN RIF3 IF SUBSYSTEM SERVICE CLASS
- LDN 0 CLEAR UNUSED BYTE IN *UTEM* REQUEST
- STD CM+2
- LDI CA
- LMN 1R.
- ZJN RIF2 IF LOCK NOT SPECIFIED
- LDN 1 SET FORCED ROLLIN
- RIF2 STM URBA SAVE FORCED ROLLIN STATUS
- LDD MA WRITE *UTEM* REQUEST WORDS
- CWM URB,CM+1
- MONITOR UTEM
- LDD CM+1
- NJN RIF3 IF VERIFICATION FAILED
- JMP KBR RETURN
- RIF3 JMP KIE *INCORRECT ENTRY*
- ROL SPACE 4,10
- *** ROLLOUT,JSN.
- * ROLLOUT,JSN,NNNN.
- *
- * ROLLOUT JOB *JSN* OR ROLLOUT JOB *JSN* FOR NNNN
- * SCHEDULER CYCLES. JOB CAN NOT BE A SUBSYSTEM.
- ENTRY ROL
- RJM PJS PROCESS JSN
- LDD AB+1 SAVE JSN FOR *UTEM* CALL
- STM URB+4
- LDD AB
- STM URB+3
- LDD CM+4 SAVE JOB STATUS
- STD T6
- SFA EJT,T3 GET CP NUMBER
- ADN SCHE
- CRD SH
- ADN SCLE-SCHE GET SERVICE CLASS
- CRD SR
- SBN SCLE
- STD CM+4 SAVE ADDRESS OF EJT ENTRY
- SHN -14
- STD CM+3
- LDD SR
- SHN -6
- LMN SSSC
- ZJN ROL2 IF SUBSYSTEM SERVICE CLASS
- LDD T6 CHECK JOB STATUS
- LPN 76
- SHN -1
- LMK EXJS
- ZJN ROL4 IF JOB AT CP
- LMK PCJS&EXJS
- NJN ROL1 IF JOB NOT AT PCP
- LDD SH+1 SET PCP NUMBER IN *ROCM* REQUEST
- STD CM+2
- UJN ROL6 CONTINUE
- ROL1 LDI CA
- LMN 1R.
- ZJN ROL3 IF TIME NOT ENTERED
- ROL2 JMP KIE *INCORRECT ENTRY*
- * PROCESS ROLLOUT WITH NO TIME SPECIFIED.
- ROL3 STD CM+2
- LDN 2
- STD CM+1
- STM URBA SET FORCED ROLLOUT STATUS
- LDD MA WRITE *UTEM* REQUEST WORDS
- CWM URB,CM+1
- MONITOR UTEM
- LDD CM+1
- NJN ROL2 IF VERIFICATION FAILED
- LJM KBR RETURN
- * PROCESS JOB AT A CP/PCP.
- ROL4 LDD SH+3 SET CONTROL POINT NUMBER
- STD CM+2
- SHN 7 SET CPA ADDRESS
- ADN JCIW GET SUBSYSTEM ID
- CRD AB
- LDD AB+2
- ZJN ROL6 IF ROLLABLE JOB
- LMN ORSI CHECK IF OPERATOR ROLLOUT ALLOWED
- ROL5 NJN ROL2 IF ROLLOUT NOT ALLOWED
- ROL6 LDI CA
- LMN 1R.
- ZJN ROL3 IF TIME NOT ENTERED
- LMN 1R,&1R.
- NJN ROL5 IF INCORRECT SEPARATOR
- AOD CA SKIP SEPERATOR
- RJM ASD ASSEMBLE TIME
- LDD AB
- ADD AB+1
- ADD AB+2
- ADD AB+3
- NJN ROL5 IF TIME .GT. 777B
- LDD AB+4
- STD SP+2 SET ROLLOUT TIME
- SHN -11
- NJN ROL5 IF TIME .GT. 777B
- STD SP+3
- STD SP+4
- LDD MA WRITE *ROCM* PARAMETERS TO MB
- CWD SP
- LDC 4000+ROTE ALTERNATE CP/PCP, TIMED/EVENT OPTIONS
- STD CM+1
- MONITOR ROCM REQUEST ROLLOUT
- LJM KBR RETURN
- URB SPACE 4,10
- * *UTEM* REQUEST BLOCK.
- URB VFD 1/1,5/JSNE,6/24D VERIFY THAT JSN-S MATCH
- VFD 6/36D,6/0
- CON 0
- CON 0
- CON 0
- VFD 1/0,5/SCLE,6/2 CHANGE *ROLLOUT* AND *ROLLIN* BITS
- VFD 6/52D,6/0
- CON 0
- CON 0
- URBA CON 0
- URBB VFD 1/1,5/JSNE,6/5 VERIFY STATUS IS *TOJS*
- VFD 6/1,6/0
- CON 0
- CON 0
- CON TOJS
- URBC VFD 1/0,5/JSNE,6/5 CHANGE *TOJS* STATUS TO *ROJS* STATUS
- VFD 6/1,6/0
- CON 0
- CON 0
- CON ROJS
- URBD VFD 1/0,5/SCHE,6/30D CHANGE SCHEDULING DATA TO ZERO
- VFD 6/0,6/0
- CON 0
- CON 0
- CON 0
- PJS SPACE 4,10
- ** PJS - PROCESS JSN.
- *
- * EXIT (AB - AB+1) = JSN.
- * (CM - CM+4) = WORD *JSNE* OF EJT ENTRY.
- * (A) = (T3) = EJT ORDINAL.
- * TO *KIE* IF ERROR.
- *
- * CALLS ASN, GEE.
- PJS SUBR ENTRY/EXIT
- RJM ASN ASSEMBLE JSN
- LDD AB+2
- NJN PJS2 IF JSN .GT. 4 CHARACTERS
- LDD AB+1 SPACE FILL JSN
- LPN 77
- NJN PJS1 IF JSN .EQ. 4 CHARACTERS
- LDN 1R
- RAD AB+1
- PJS1 LDN AB GET EJT ENTRY
- RJM GEE
- MJN PJS2 IF EJT ENTRY NOT FOUND
- NJN PJSX IF JSN .NE. *SYS*
- PJS2 JMP KIE *INCORRECT ENTRY*
- SPACE 4,10
- CMDEND
- COMMAND (QFT REQUESTS.)
- ENQ SPACE 4,10
- *** ENQP,JSN,XXXX.
- *
- * SET QUEUE PRIORITY XXXX FOR THE QFT ENTRY WITH
- * THE GIVEN JSN. 0 .LE. XXXX .LE. 7777B. IF XXXX = 0,
- * THE ENTRY TIME WILL BE SET TO 0.
- ENTRY ENQ ENTRY
- LDN QFTP GET NUMBER OF QFT ENTRIES
- CRD T3
- RJM ASN ASSEMBLE JSN
- LDD AB+2
- NJN ENQ4 IF JSN .GT. 4 CHARACTERS
- LDD AB+1
- LPN 77
- NJN ENQ1 IF JSN .GT. 3 CHARACTERS
- LDN 1R
- RAD AB+1
- ENQ1 LDN 0 INITIALIZE QFT ORDINAL
- STD T4
- ENQ2 SFA QFT,T4
- ERRNZ JSNQ NOT FIRST WORD OF EJT ENTRY
- CRD CM
- LDD AB
- LMD CM
- NJN ENQ3 IF JSN DOES NOT MATCH
- LDD AB+1
- LMD CM+1
- ZJN ENQ5 IF JSN MATCHES
- ENQ3 AOD T4
- SBD T5
- NJN ENQ2 IF NOT END OF QFT
- ENQ4 JMP KIE *INCORRECT ENTRY*
- ENQ5 LDD CM SET JSN
- STM ENQB+3
- LDD CM+1
- STM ENQB+4
- LDD CM+4
- SHN -11
- SBN /JIO/INQT
- ZJN ENQ6 IF INPUT FILE TYPE
- LDN 2 SET OUTPUT FILE TYPE
- ENQ6 STD T6
- SFA QFT,T4 GET SERVICE CLASS
- ADN SCLQ
- CRD SR
- AOD CA SKIP *,*
- RJM ASD GET QUEUE PRIORITY
- LDD AB
- ADD AB+1
- ADD AB+2
- ADD AB+3
- NJN ENQ4 IF .GT. 7777B
- LDD AB+4
- NJN ENQ7 IF .NE. 0
- STD T1
- STD T2
- UJN ENQ8 SET ENTRY TIME = 0
- ENQ7 STD T1 SET QUEUE PRIORITY
- LDD SR
- SCN 77
- SHN 6
- ADD T6
- RJM CET CALCULATE ENTRY TIME
- ENQ8 LDN ZERL
- CRD CM
- LDN 3 SET NUMBER OF REQUESTS
- STD CM+1
- SFA QFT,T4 GET QFT ENTRY ABSOLUTE ADDRESS
- STD CM+4
- SHN -14
- STD CM+3
- LDD T1
- STM ENQC+3
- LDD T2
- STM ENQC+4
- LDD MA
- CWM ENQA,TR
- MONITOR UTEM SET ENTRY TIME IN QFT ENTRY
- LDD CM+1
- NJN ENQ9 IF OPERATION NOT COMPLETE
- JMP KBR RETURN
- ENQ9 JMP KIE *INCORRECT ENTRY*
- * *UTEM* PARAMETER WORD.
- ENQA VFD 1/1,5/JSNQ,6/6,6/0,42/0 VERIFY ENTRY NOT BUSY
- ENQB VFD 1/1,5/JSNQ,6/24D,6/36D,42/0 VERIFY QFT ENTRY JSN
- ENQC VFD 6/ENTQ,6/24D,6/0,42/0 SET NEW ENTRY TIME
- COMMON SPACE 4,10
- * COMMON DECKS.
- CET$ EQU 1 ASSEMBLE *CET* ROUTINE
- *CALL COMPCPE
- SPACE 4,10
- CMDEND
- COMMAND (EXECUTING JOB REQUESTS - PART 1.)
- CSP SPACE 4,10
- ** CSP - CALL *1DS*.
- *
- * ENTRY (A) = FUNCTION REQUEST.
- * (CN) = CONTROL POINT NUMBER.
- *
- * USES AB+2, AB+4.
- CSP STD AB+2 SAVE *1DS* FUNCTION CODE
- LDD CN SET CONTROL POINT NUMBER
- STD AB+4
- LDD AB+2
- LMC /1DS/CMOV ADD CONTROL POINT MOVE
- JMP KAR PROCESS *1DS* CALL
- AGD SPACE 4,10
- *** ASSIGN,JSN,DS.
- *
- * ASSIGN JOB WITH SPECIFIED JSN TO EST ENTRY 1 (*DS*
- * EQUIPMENT).
- ENTRY AGD
- LDN DSEQ EST ORDINAL OF *DS*
- STM AGNA
- UJN AGN ENTER COMMON PROCESSING
- AGE SPACE 4,10
- *** ASSIGN,JSN,NE.
- *
- * ASSIGN JOB WITH SPECIFIED JSN TO EST ENTRY 1 (*NE*
- * EQUIPMENT).
- ENTRY AGE
- LDN NEEQ EST ORDINAL OF *NE*
- STM AGNA
- UJN AGN ENTER COMMON PROCESSING
- AGN SPACE 4,10
- *** ASSIGN,JSN,XXX.
- *
- * ASSIGN JOB WITH SPECIFIED JSN TO EST ORDINAL XXX. THE JOB
- * MUST BE AT A CONTROL POINT.
- ENTRY AGN ENTRY
- RJM ASN ASSEMBLE JSN
- LDN AB GET EJTO
- RJM GEE
- MJN AGN1 IF JSN NOT FOUND
- STD T7
- LDD AB+2
- NJN AGN1 IF JSN .GT. 4 CHARACTERS
- LDD CM+4
- LPN 76
- LMN EXJS*2
- AGN1 NJN AGN2 IF JOB NOT AT CONTROL POINT
- LDK ZERL
- CRD AB
- LDC 0
- * LDC DSEQ (*DS* EQUIPMENT)
- * LDC NEEQ (*NE* EQUIPMENT)
- AGNA EQU *-1
- STD AB+4 STORE EST ORDINAL (OR ZERO)
- NJN AGN1.1 IF *DS* OR *NE*
- AOD CA SKIP SEPARATOR
- RJM ASD ASSEMBLE EST ORDINAL
- AGN1.1 SFA EJT,T7 GET CP NUMBER
- ADN SCHE
- CRD SR
- LDD SR+3
- STD CN
- LDN ESTP SET EST LENGTH
- CRD SR
- LDD AB+4
- SBD SR+2
- PJN AGN2 IF NON-EXISTENT EQUIPMENT
- SFA EST,AB+4 READ EST ENTRY
- ADK EQDE
- CRD CM
- ADK EQAE-EQDE READ EQUIPMENT ASSIGNMENT
- CRD SR
- LDD SR+4
- ZJN AGN3 IF EQUIPMENT AVAILABLE
- AGN2 JMP KIE *INCORRECT ENTRY*
- AGN3 LDD CM+3
- ZJN AGN4 IF EQUIPMENT UNDEFINED
- LDD CM
- SHN 21-1
- MJN AGN4 IF DEVICE OFF (OR DOWN)
- SHN 2+21-13
- PJN AGN5 IF NOT MASS STORAGE
- SHN 13-10
- MJN AGN4 IF REMOVABLE
- SHN 10-6
- PJN AGN5 IF AVAILABLE
- AGN4 LDC =C*NOT AVAILABLE.*
- JMP KMS DISPLAY MESSAGE
- AGN5 LDC TIET
- STD T1
- LDI T1 SEARCH FOR INCORRECT EQUIPMENT
- AGN6 LMD CM+3
- ZJN AGN2 IF INCORRECT EQUIPMENT ASSIGNMENT
- AOD T1
- LDI T1
- NJN AGN6 IF NOT END OF SEARCH
- LDD AB+4 GET EST ORDINAL
- STD AB+3
- LDN 0
- STD AB+1
- LDN /1DS/AEJF
- JMP CSP CALL *1DS*
- TIET SPACE 4,10
- ** TIET - TABLE OF INCORRECT EQUIPMENTS TO *ASSIGN*.
- TIET BSS 0
- CON 2RCP
- CON 2RCR
- CON 2RLQ
- CON 2RLR
- CON 2RLS
- CON 2RLT
- CON 2RLX
- CON 2RLY
- CON 2RRD
- TIETE CON 0 END OF TABLE
- ERRZR TIETE-TIET REMOVE TABLE AND SEARCH LOOP
- SPACE 4,10
- CMDEND
- COMMAND (EXECUTING JOB REQUESTS - PART 2.)
- CSP SPACE 4,10
- ** CSP - CALL *1DS*.
- *
- * ENTRY (A) = FUNCTION REQUEST.
- * (CN) = CONTROL POINT NUMBER.
- *
- * USES AB+2, AB+4.
- CSP STD AB+2 SAVE *1DS* FUNCTION CODE
- LDD CN SET CONTROL POINT NUMBER
- STD AB+4
- LDD AB+2
- LMC /1DS/CMOV ADD CONTROL POINT MOVE
- JMP KAR PROCESS *1DS* CALL
- CHK SPACE 4,10
- *** CKP,JSN.
- *
- * CHECKPOINT JOB WITH SPECIFIED JSN. THE JOB MUST BE
- * AT A CP. THE JOB CANNOT BE A SUBSYSTEM.
- ENTRY CHK
- RJM ASN ASSEMBLE JSN
- LDD AB+2
- NJN CHK1 IF JSN .GT. 4 CHARACTERS
- RJM GCE GET CP NUMBER
- SHN 7 SAVE CPA ADDRESS
- STD CP
- ADN STSW READ *STSW*
- CRD AB
- ADN JCIW-STSW READ *JCIW*
- CRD SR
- LDD AB+2
- SHN 21-0
- MJN CHK1 IF ROLLOUT SET
- LDD SR+2 CHECK SUBSYSTEM IDENTIFICATION
- ADC -LSSI-1
- MJN CHK2 IF JOB NOT A SUBSYSTEM
- CHK1 JMP KIE *INCORRECT ENTRY*
- CHK2 LDD CP GET CP ADDRESS
- ADC SEPW READ *SEPW*
- CRD SH
- ADN SPCW-SEPW READ *SPCW*
- CRD T1
- ADN DBAW-SPCW READ *DBAW*
- CRD T2
- ADN SSCW-DBAW
- CRD CM
- LDD SR+3
- LPC 600
- NJN CHK1 IF USER FILE PRIVATE
- LDD AB+4
- SHN -4
- NJN CHK1 IF RECALL REQUESTS
- LDD CM
- ADD CM+1
- ADD CM+2
- ADD CM+3
- ADD CM+4
- NJN CHK1 IF *SSCW* BUSY
- LDD SH
- LPN 24
- NJN CHK1 IF *DMP=* OR *SSJ=*
- LDD T1
- NJN CHK1 IF *SPCW* NOT FREE
- LDD T2
- SHN 21-13
- MJP CHK1 IF SECURE SYSTEM MEMORY SET
- LDN ZERL
- CRD AB
- LDC /1DS/CKPF+/1DS/LOCK
- JMP CSP CALL *1DS*
- DIS SPACE 4,10
- *** DIS,JSN.
- *
- * CALL JOB DISPLAY PACKAGE TO JOB JSN.
- ENTRY DIS
- RJM ASN ASSEMBLE JSN
- LDD AB+2
- NJN DIS1 IF JSN .GT. 4 CHARACTERS
- RJM GCE GET CP NUMBER
- LDN ZERL CLEAR *AB* FOR 1DS CALL
- CRD AB
- LDN /1DS/DISF
- JMP CSP CALL *1DS*
- DIS1 JMP KIE *INCORRECT ENTRY*
- SPACE 4,10
- USE END DUMP LITERALS BLOCK
- GCE SPACE 4,10
- *** GCE - GET CONTROL POINT FROM EJT ENTRY.
- *
- * *GCE* GETS THE CONTROL POINT NUMBER FOR THE JSN GIVEN.
- *
- * ENTRY (AB - AB+4) = JSN.
- *
- * EXIT (A) = CONTROL POINT NUMBER.
- * (CN) = CONTROL POINT NUMBER.
- *
- * USES CN, CM - CM+4.
- *
- * CALLS GEE.
- *
- * MACROS SFA.
- GCE SUBR ENTRY/EXIT
- LDN AB
- RJM GEE GET EJT ENTRY
- PJN GCE2 IF EJT ENTRY FOUND
- GCE1 JMP KIE PROCESS INCORRECT ENTRY
- GCE2 LDD CM+4 CHECK JOB STATUS
- LPN 76
- LMN EXJS*2
- NJN GCE1 IF JOB NOT AT CP
- LDD T3
- ZJN GCE1 IF JSN = *SYS*
- SFA EJT
- ADN SCHE
- CRD CM
- LDD CM+3
- STD CN SET CP NUMBER
- UJN GCEX RETURN
- SPACE 4,10
- CMDEND
- COMMAND (SUBSYSTEM REQUESTS.)
- SPACE 4,10
- * MACROS.
- SUBSYST SPACE 4,10
- ** SUBSYST - GENERATE SUBSYSTEM TABLE.
- *
- * SUBSYST NAME,ID,PR,PP,AUTO,DEF,DCP,CP,PROC,ABT
- *
- * ENTRY *NAME* = THREE CHARACTER SUBSYSTEM NAME.
- * *ID* = SUBSYSTEM ID.
- *
- * GENERATE CODE TO INITIATE EACH SUBSYSTEM.
- PURGMAC SUBSYST
- SUBSYST MACRO NM,ID,PT,PP,AU,DF,DC,CP,PR,AB
- .SUB RMT
- .A IFC NE,*NM*RBF*
- .A IFC NE,*NM*ATF*
- ENTRY NM
- LDC ID
- JMP ISS
- .A ENDIF
- .SUB RMT
- SUBSYST ENDM
- SPACE 4,10
- SUB$ EQU 1 ASSEMBLE *SUBSYST* MACRO CALLS
- *CALL COMSSSD
- ISS SPACE 4,10
- ** ISS - INITIATE SUBSYSTEM.
- *
- * ENTRY (A) = SUBSYSTEM ID.
- *
- * USES AB - AB+4.
- *
- * CALLS AST, IEE, PPN.
- ISS BSS 0 ENTRY
- ADC SSCTL*10000 GET SSAT ENTRY
- RJM AST
- ZJN ISS2 IF SUBSYSTEM NOT ACTIVE
- ISS1 JMP KIE *INCORRECT ENTRY*
- ISS2 RJM PPN PACK PROCEDURE NAME
- LDD SP+4
- NJN ISS1 IF KEYWORD TOO LONG
- LDN ZERL
- CRD AB
- LDC /1DS/ISSF+/1DS/LOCK
- JMP KAR PROCESS *1DS* CALL
- SPACE 4,10
- LIST G
- .SUB HERE CODE FOR SUBSYSTEM INITIATION
- LIST *
- PPN SPACE 4,10
- ** PPN - PACK PROCEDURE NAME.
- *
- * EXIT (SP - SP+4) = *1DS* PARAMETER.
- *
- * USES CA, T1, SP - SP+4.
- PPN SUBR ENTRY/EXIT
- LDN ZERL
- CRD SP
- LDN SP
- STD T1
- LDC KBUF
- STD CA
- LDI CA PACK SUBSYSTEM NAME
- SHN 6
- STI T1
- AOD CA
- LDI CA
- RAI T1
- AOD CA
- AOD T1
- LDI CA
- SHN 6
- STI T1
- AOD CA
- AOD T1
- PPN1 LDI CA PACK PROCEDURE FILE NAME
- ZJN PPN3 IF END OF COMMAND
- LMN 1R.
- ZJN PPNX IF *.*
- LMN 1R.
- SBN 1R9+1
- PJN PPN3 IF CHARACTER IS NOT ALPHANUMERIC
- LDI CA
- SHN 6
- STI T1
- AOD CA ADVANCE POINTER
- LDI CA
- LMN 1R.
- ZJN PPN2 IF *.*
- LMN 1R.
- SBN 1R9+1
- PJN PPN3 IF CHARACTER IS NOT ALPHANUMERIC
- LDI CA
- RAI T1
- AOD CA ADVANCE POINTER
- AOD T1
- SBN SP+4+1
- MJN PPN1 IF .LT. 5 CHARACTERS ENTERED
- PPN2 LJM PPNX RETURN
- PPN3 JMP KIE *INCORRECT ENTRY*
- SPACE 4,10
- CMDEND
- COMMAND (INTERACTIVE MESSAGE REQUESTS.)
- DIA SPACE 4,10
- *** DIAL,JSN,CCC - CCC
- * DIAL,*,CCC - CCC
- *
- * SEND MESSAGE CCC - CCC TO THE TERMINAL WITH THE SPECIFIED
- * JSN. IF AN ASTERISK (*) IS SPECIFIED FOR THE JSN, THE
- * MESSAGE IS SENT TO ALL CONNECTED TERMINALS.
- ENTRY DIB
- AOD CA SKIP SEPERATOR
- LCN 0 SET THE DIAL ALL FLAG
- STD AB+3
- LJM DIA3.1 SET UP *1DS* CALL
- DIA5 LJM KIE *INCORRECT ENTRY*
- ENTRY DIA
- RJM CTS CHECK INTERACTIVE STATUS
- RJM ASN ASSEMBLE JSN
- LDD AB+2
- NJN DIA5 IF JSN .GT. 4 CHARACTERS
- * LDN 0 INITIALIZE TERMINAL NUMBER
- * STD AB+3
- LDI CA
- LMN 1R,
- NJN DIA5 IF NOT *,*
- LDN AB GET EJTO
- RJM GEE
- PJN DIA2 IF EJT ENTRY FOUND
- DIA1 LDC =C*USER NOT ACTIVE*
- JMP KMS DISPLAY MESSAGE
- DIA2 SFA EJT CHECK CONNECTION STATUS
- ADK JSNE
- CRD CM
- LDD CM+4
- SHN -7
- LPN 17
- LMN OLCS
- NJN DIA5 IF JOB IS NOT ONLINE CONNECTED
- LDM. CMEI
- ZJN DIA2.1 IF NOT *CME* MACHINE
- STM DIAB
- DIA2.1 LDC /REM/VCPT*200 GET *RA* FOR *IAF*
- DIAB ADN FLSW
- * ADN FLSW+1 (*CME* MACHINE)
- CRD T4
- LRD T4+1 SET R REGISTER
- RJM GTN GET TERMINAL NUMBER
- MJN DIA1 IF JOB NOT FOUND IN TERMINAL TABLE
- LDC LDSP GET *RDF* MESSAGE TERMINAL NUMBER
- CRD SH
- LDD SH+2
- SHN 14
- LMD SH+3
- SBN LODS
- CRD CM
- LDD CM+1
- LMD AB+1
- NJN DIA3 IF JSN DOES NOT MATCH OPERATOR DISPLAY
- LDD CM
- LMD AB
- NJN DIA3 IF JSN DOES NOT MATCH
- LDD CM+2
- ZJN DIA3 IF NOT A MESSAGE FROM *1TM*
- LDN ZERL CLEAR OPERATOR MESSAGE AREA
- CRD CM
- LDN 1
- STD CM
- LDD SH+2
- SHN 14
- LMD SH+3
- SBN LODS
- CWD CM
- LDN 1
- STD CM+1
- LDC OPRL
- STD CM+4
- LDD MA
- CWM DIAA,ON
- MONITOR UTEM
- LRD T4+1 SET R REGISTER
- DIA3 LDD SR+1
- SHN 6
- ADD T7
- SHN 6
- ADD SR+2
- ADN /REM/VDCT GET FIRST POT OF OUTPUT MESSAGE
- CRD SR
- ADN /REM/VSTT-/REM/VDCT GET POT COUNT/COMMAND TABLE INDEX
- CRD SH
- LDD SR+4
- ADD SH+4
- NJN DIA4 IF OUTPUT QUEUED
- * CALL *1DS*.
- DIA3.1 LDK /1DS/DIAF
- STD AB+2
- AOD CA
- UJN PTM PROCESS INTERACTIVE MESSAGE
- DIA4 LDC =C*OUTPUT BUSY*
- JMP KMS DISPLAY MESSAGE
- DIAA VFD 1/0,5/0,6/1,6/59D,42/0 CLEAR BIT
- WAR SPACE 4,10
- *** WARN,CCC - CCC
- * WARN.
- *
- * SEND WARNING MESSAGE CCC - CCC TO ALL TERMINAL USERS.
- * IF CCC - CCC IS NULL, CLEAR PREVIOUS WARNING MESSAGE.
- ENTRY WAR
- LDN /1DS/WARF
- STD AB+2
- LDM KBUF+6
- ZJN PTM1 IF CLEARING PREVIOUS MESSAGE
- LDC KBUF+5 SET START OF BUFFER ADDRESS
- * UJN PTM PROCESS INTERACTIVE MESSAGE
- PTM SPACE 4,10
- ** PTM - PROCESS INTERACTIVE MESSAGE.
- *
- * ENTRY (A) = STARTING KEYBOARD BUFFER ADDRESS.
- * (AB+2) = *1DS* FUNCTION TO CALL.
- * (AB+3) = 0, IF *WARN* OR *MESSAGE*.
- * = TERMINAL NUMBER, IF *DIAL*.
- * = 7777 IF DIALING ALL TERMINALS.
- PTM BSS 0 ENTRY
- SBK KBUF KEYBOARD BUFFER OFFSET
- SHN 6
- PTM1 STD AB+4
- RJM CTS CHECK INTERACTIVE STATUS
- LDN /REM/VCPT SET CP NUMBER
- RAD AB+4
- LDC /1DS/LOCK+/1DS/CMOV
- RAD AB+2
- JMP KAR PROCESS *1DS* CALL
- CTS SPACE 4,10
- ** CTS - CHECK INTERACTIVE STATUS.
- *
- * ERROR TO *KMS*, IF *IAF* NOT ACTIVE.
- *
- * USES T4 - CM.
- *
- * CALLS FSS.
- CTS SUBR ENTRY/EXIT
- LDC IFSI FIND *IAF*
- RJM FSS
- NJN CTSX IF *IAF* ACTIVE
- LDC =C*IAF NOT ACTIVE*
- LJM KMS DISPLAY MESSAGE
- SPACE 4,10
- ** COMMON DECKS.
- *CALL COMPGTN
- SPACE 4,10
- CMDEND
- COMMAND (BATCHIO REQUESTS - PART 1.)
- BKF SPACE 4,10
- *** BKSPF,XXX,YY.
- *
- * BACKSPACE FILE PRINTING ON *BATCHIO* EQUIPMENT XXX, YY FILES.
- ENTRY BKF
- LDN /BIO/BKFO REQUEST BACKSPACE FILES
- UJN SIO SET *BATCHIO* FLAG
- BKP SPACE 4,10
- *** BKSPRU,XXX,YY.
- *
- * BACKSPACE FILE PRINTING ON *BATCHIO* EQUIPMENT XXX, YY PRUS.
- ENTRY BKP
- LDN /BIO/BKPO REQUEST BACKSPACE PRUS
- UJN SIO SET *BATCHIO* FLAG
- BKR SPACE 4,10
- *** BKSP,XXX,YY.
- *
- * BACKSPACE FILE PRINTING ON *BATCHIO* EQUIPMENT XXX, YY
- * RECORDS.
- ENTRY BKR
- LDN /BIO/BKRO REQUEST BACKSPACE RECORDS
- UJN SIO SET *BATCHIO* FLAG
- CNT SPACE 4,10
- *** CONTINUE,XXX.
- *
- * CONTINUE OPERATION ON *BATCHIO* EQUIPMENT XXX.
- ENTRY CNT
- LDN /BIO/CNTM REQUEST CONTINUE
- UJN SIO SET *BATCHIO* FLAG
- END SPACE 4,10
- *** END,XXX.
- * END,XXX,YY.
- *
- * END OPERATION ON *BATCHIO* EQUIPMENT XXX, YY TIMES.
- * (USED TO CLEAR REPEAT COUNT.)
- ENTRY END
- LDN /BIO/ENDM REQUEST END
- UJN SIO SET *BATCHIO* FLAG
- HLD SPACE 4,10
- *** HOLD,XXX.
- *
- * STOP OPERATION ON *BATCHIO* EQUIPMENT XXX.
- ENTRY HLD
- LDN /BIO/HLDM REQUEST HOLD
- UJN SIO SET *BATCHIO* FLAG
- REP SPACE 4,10
- *** REPEAT,XXX.
- * REPEAT,XXX,YY.
- *
- * REPEAT OPERATION ON *BATCHIO* EQUIPMENT XXX, YY TIMES.
- ENTRY REP
- LDN /BIO/REPM REQUEST REPEAT
- UJN SIO SET *BATCHIO* FLAG
- RRN SPACE 4,10
- *** REPRINT,XXX.
- * REPRINT,XXX,YY.
- * REPUNCH,XXX.
- * REPUNCH,XXX,YY.
- *
- * REQUEUE FILE CURRENTLY ON *BATCHIO* EQUIPMENT XXX WITH A
- * PRIORITY OF YY (IF SPECIFIED).
- ENTRY RRN
- LDN /BIO/RRNM REQUEST RERUN
- UJN SIO SET *BATCHIO* FLAG
- SKF SPACE 4,10
- *** SKIPF,XXX,YY.
- *
- * SKIP FILE PRINTING ON *BATCHIO* EQUIPMENT XXX FORWARD,
- * YY FILES.
- ENTRY SKF
- LDN /BIO/SKFO REQUEST SKIP FILES
- UJN SIO SET *BATCHIO* FLAG
- SKP SPACE 4,10
- *** SKIPRU,XXX,YY.
- *
- * SKIP FILE PRINTING ON *BATCHIO* EQUIPMENT XXX, YY PRUS.
- ENTRY SKP
- LDN /BIO/SKPO REQUEST SKIP PRUS
- UJN SIO SET *BATCHIO* FLAG
- SKR SPACE 4,10
- *** SKIP,XXX,YY.
- *
- * SKIP FILE PRINTING ON *BATCHIO* EQUIPMENT XXX FORWARD,
- * YY RECORDS.
- ENTRY SKR
- LDN /BIO/SKRO REQUEST SKIP RECORDS
- UJN SIO SET *BATCHIO* FLAG
- SUP SPACE 4,10
- *** SUPPRESS,XXX.
- *
- * TOGGLE USE OF FORMAT CONTROL ON *BATCHIO* PRINTER XXX.
- ENTRY SUP
- LDN /BIO/SUPM REQUEST SUPPRESS
- * UJN SIO SET *BATCHIO* FLAG
- SIO SPACE 4,10
- ** SIO - SET *BATCHIO* FLAG.
- *
- * ENTRY (A) = *BATCHIO* FLAG.
- *
- * PROGRAMMERS NOTE - *DSD* CHANGES A *RERUN* REQUEST FOR A
- * CARD READER TO AN *END*. *1CD* EXPECTS THIS TO BE DONE.
- SIO BSS 0 ENTRY
- STD SP+4 SAVE REQUEST
- LDC KBUF+3 SET ASSEMBLY STARTING POINT
- STD CA
- RJM ASN POSITION TO END OF REQUEST
- AOD CA SKIP SEPARATOR
- LDN 0 CLEAR PRIORITY FIELD
- STD SP+1
- LDD SP+4
- LMN /BIO/REPM
- STM SIOA
- NJN SIO3 IF NOT *REPEAT*
- RJM ASN
- LDD AB SAVE JSN
- STM REPB+0
- STD SP
- LDD CA
- SBK KBUF+13
- ZJN SIO1 IF JSN 4 CHARACTERS LONG
- ADN 1
- NJN SIO2 IF JSN .GT. 4 OR .LT. 2 CHARACTERS
- LDN 1R SPACE FILL 3 CHARACTER JSN
- SIO1 LMD AB+1
- STM REPB+1
- UJN SIO5 FINISH SAVING JSN
- SIO2 JMP KIE *INCORRECT ENTRY*
- SIO3 RJM ASD ASSEMBLE EST ORDINAL
- LDD SP+4
- LMN /BIO/RRNM
- NJN SIO4 IF NOT *REPRINT* OR *REPUNCH* (RERUN)
- LCN 0 SET DEFAULT PRIORITY
- STD SP+1
- SFA EST,AB+4 READ EST ENTRY
- ADK EQDE
- CRD CM
- LDD CM+3
- LMC 2RCR
- NJN SIO4 IF NOT *CR*
- LDN /BIO/ENDM SET *END* FOR *CR*
- STD SP+4
- SIO4 LDD AB+4 SET EST ORDINAL
- SIO5 STD SP+3
- LDI CA CHECK SEPARATOR
- LMN 1R.
- ZJN SIO8 IF END OF COMMAND
- LMN 1R,&1R.
- SIO6 NJN SIO2 IF NOT *,*
- AOD CA SKIP SEPARATOR
- RJM ASD ASSEMBLE PARAMETER
- LDI CA CHECK SEPARATOR
- LMN 1R.
- NJN SIO6 IF NOT END OF COMMAND
- LDD SP+4 CHECK COMMAND
- LMN /BIO/RRNM
- NJN SIO7 IF NOT *REPRINT* OR *REPUNCH*
- LDD AB+4 SET PRIORITY VALUE
- STD SP+1
- LDN 0
- UJN SIO8 CONTINUE
- SIO7 LDD AB+4 SET PARAMETER
- SIO8 STD SP+2
- SHN -6
- ADD AB+3
- ADD AB+2
- NJN SIO6 IF INCORRECT PARAMETER
- LDD SP+2 CONVERT AND STORE REPEAT COUNT
- SHN 3
- LMD SP+2
- SCN 70
- RAM REPC
- LDC BISI GET SSCT ENTRY
- RJM AST
- SHN 21-13
- PJN SIO9 IF *BATCHIO* NOT ACTIVE
- LDC BISI+SSCTL*10000
- RJM AST
- ZJN SIO9 IF *BATCHIO* INACTIVE
- SFA EJT GET *BATCHIO* JOB STATUS AND CP NUMBER
- ADK JSNE
- CRD SR
- ADN SCHE
- CRD SH
- LDD SR+4
- LPN 76
- LMN EXJS*2
- ZJN SIO10 IF *BATCHIO* AT A CP
- SIO9 UJN SIO12 *BATCHIO* NOT AVAILABLE
- SIO10 LDD SH+3 SET *BATCHIO* CP NUMBER
- LPN 77
- STD AB+4
- LDC /1DS/CMOV+/1DS/LOCK+/1DS/EBRF
- RJM C1D PROCESS FUNCTION
- LDC SIO11 SET REENTRY ADDRESS
- STM /KEYBOARD/KCRB
- SIO11 LDC /1DS/DSDL CHECK IF *1DS* COMPLETE
- CRD T7
- ADN 1 CHECK RESULT
- CRD CM
- LDD T7
- NJP CLP1 IF NOT COMPLETE
- LDD CM
- ZJP KBR IF NO ERROR, RETURN
- LMN 1
- ZJN SIO12 IF PREVIOUS REQUEST PROCESSED
- LDC KBIB *BIO BUSY*
- LJM KMS ISSUE MESSAGE
- * IF *REPEAT*, BUILD *QALTER* COMMAND TO CHANGE REPEAT COUNT.
- SIO12 LDC 1
- * LDC 0 (*REPEAT*)
- SIOA EQU *-1
- NJP KIE IF NOT *REPEAT*
- STD T1
- STD T2
- LDD MA
- CWM REPA,ON
- CRD SP
- SIO13 LDM REPA,T1 REPLACE *REPEAT* WITH *QALTER*
- SHN 14
- STM KBUF,T2
- SHN -14
- STM KBUF+1,T2
- AOD T2
- AOD T2
- AOD T1
- SBN REPAL
- NJN SIO13 IF NOT DONE REPLACING COMMAND
- STD SP+3
- STD SP+4
- STM /KEYBOARD/KBRA DISALLOW *REPEAT ENTRY*
- STD AB+4 SET NO BUFFER OFFSET
- LDC /1DS/ICJF+/1DS/LOCK
- JMP KAR PROCESS *1DS* CALL
- REPA DATA H*QALTER,PO=N,L=0,JSN=*
- REPB DATA H*JSNN, NRC=*
- REPC DATA H*00B.*
- REPAL EQU *-REPA
- KBIB DATA C*BIO BUSY*
- SPACE 4,10
- CMDEND
- COMMAND (BATCHIO REQUESTS - PART 2.)
- SPACE 4,10
- SID SPACE 4,20
- *** ID,XXX,YY.
- *
- * SET *BATCHIO* EQUIPMENT XXX TO HAVE *ID* YY.
- ENTRY SID
- RJM REE READ EST ENTRY
- LDC SIDA-1
- STD T2
- SID1 AOD T2 CHECK EQUIPMENT TYPE
- LDI T2
- ZJN SID4 IF END OF LIST
- LMD CM+3
- NJN SID1 IF NO MATCH
- SID2 AOD CA ASSEMBLE ID
- RJM ASD
- LDD AB+4 ENTER ID
- LPN 77
- STD T1
- SBN IDLM
- PJN SID4 IF ID OUT OF RANGE
- LDN SB4S SET BYTE 4 OF EST
- STD CM+2
- LCN 77 SET MASK
- STD CM+3
- LDD T1 GET ID PARAMETER
- SID3 STD CM+4 SAVE *SEQM* PARAMETER
- LDD T7 SET EST ORDINAL
- STD CM+1
- MONITOR SEQM SET EQUIPMENT
- JMP KBR RETURN
- SID4 JMP KIE INCORRECT ENTRY
- SIDA BSS 0 LIST OF VALID BATCHIO EQUIPMENT TYPES
- CON 2RCP
- CON 2RCR
- CON 2RLQ
- CON 2RLR
- CON 2RLS
- CON 2RLT
- CON 2RLX
- CON 2RLY
- CON 0
- FRM SPACE 4,10
- *** FORM,XXX,FF.
- *
- * SET *BATCHIO* EQUIPMENT XXX TO HAVE FORMS CODE YY.
- ENTRY FRM
- RJM REE READ EST ENTRY
- LDD CM+3 CHECK DEVICE TYPE
- SBK 2RCP
- ZJN FRM1 IF CARD PUNCH
- ADC 2RCP-2RLQ
- MJN FRM2 IF NOT LINE PRINTER
- SHN -6
- NJN FRM2 IF NOT PRINTER
- FRM1 AOD CA ASSEMBLE FORMS CODE
- RJM ASN
- LDD AB ENTER FORMS CODE
- ZJN FRM3 IF NULL
- LPN 77
- NJN FRM3 IF TWO CHARACTERS
- FRM2 JMP KIE INCORRECT ENTRY
- FRM3 LDD T7 SET UP *UTEM* PARAMETERS
- SFA EST
- STD CM+4
- SHN -14
- STD CM+3
- LDN 1
- STD CM+1
- LDD AB
- STM FRMA+4
- LDD MA
- CWM FRMA,CM+1
- MONITOR UTEM
- LJM KBR RETURN
- FRMA VFD 6/1,6/12D,6/24D,42/0
- PSZ SPACE 4,10
- *** PRSIZE,XXX,Y.
- *
- * SET PAPER SIZE Y ON PRINTER XXX.
- *
- * NOTE - ENTRY NOT VALID FOR TYPES *LX* AND *LY*.
- ENTRY PSZ ENTRY/EXIT
- RJM REE READ EST ENTRY
- LDD CM+3 CHECK EQUIPMENT TYPE
- SBK 2RLQ CHECK FOR PRINTER
- MJN FRM2 IF NOT *LQ*
- SBN 1RT+1-1RQ
- PJP FRM2 IF NOT PRINTER
- LDN SB0S SUBFUNCTION FOR BYTE 0
- STD CM+2
- LDC 6777
- STD CM+3 SET MASK FOR BIT 57
- AOD CA
- LDI CA GET PARAMETER
- LMN 1RL
- ZJN PRS1 IF *L*
- LDD TH SET BIT 57 OF EST ENTRY
- PRS1 LJM SID3 PROCESS *SEQM*
- REE SPACE 4,10
- ** REE - READ EST ENTRY.
- *
- * EXIT (T7) = EST ORDINAL.
- * (CM - CM+4) = EST ENTRY.
- *
- * USES T7, CM - CM+4.
- *
- * CALLS ASD.
- *
- * MACROS SFA.
- REE SUBR ENTRY/EXIT
- RJM ASD ASSEMBLE EST ORDINAL
- LDD AB+4 READ EST ENTRY
- STD T7
- SFA EST
- ADK EQDE
- CRD CM
- UJN REEX RETURN
- SPACE 4,10
- CMDEND
- COMMAND (SYSTEM REQUESTS - PART 1.)
- STP SPACE 4,10
- *** STEP,JSN.
- * STEP,JSN,XXX.
- * STEP,JSN,XXX,B,V.
- *
- * SET MONITOR IN STEP MODE FOR THE EXISTING EJT
- * ENTRY WITH THE GIVEN JSN.
- * XXX = OPTIONAL FUNCTION NUMBER ON WHICH TO STEP.
- * B = OPTIONAL BYTE NUMBER. IF SPECIFIED, V IS
- * REQUIRED.
- * V = OPTIONAL BYTE VALUE FOR BYTE B.
- *
- * NOTE - WHEN MAKING THE MONITOR CALL BUT WITHOUT A BYTE AND
- * VALUE, BOTH (CM+3) AND (CM+4) MUST BE SET WITH THE
- * FUNCTION CODE.
- SPACE 4,10
- *** STEP,,XXX.
- * STEP,,XXX,B,V.
- *
- * SET MONITOR IN STEP MODE.
- * XXX = OPTIONAL FUNCTION NUMBER ON WHICH TO STEP.
- * B = OPTIONAL BYTE NUMBER. IF SPECIFIED, V IS
- * REQUIRED.
- * V = OPTIONAL BYTE VALUE FOR BYTE B.
- ENTRY STP
- LDC SCRL CHECK EMERGENCY STEP FLAG
- CRD SH
- LDD SH
- LPC 1400
- NJN STP1 IF EMERGENCY STEP REQUIRED / SET
- RJM ASN GET JSN
- LDD AB
- NJN STP2 IF JSN PRESENT
- STD T3
- LDI CA
- LMN 1R.
- NJN STP3 IF FUNCTION NUMBER NEXT
- STP1 JMP KIE PROCESS INCORRECT ENTRY
- STP2 LDD AB+2
- NJN STP1 IF JSN .GT. 4 CHARACTERS
- LDN AB SET FWA OF JSN
- RJM GEE GET EJT ENTRY
- MJN STP1 IF EJT ENTRY NOT FOUND
- ZJN STP1 IF JSN = *SYS*
- STP3 LDD AB SET JSN
- STM STPA
- LDD AB+1
- STM STPB
- LDN ZERL INITIALIZE PARAMETER BLOCK
- CRD CM
- * LDN MSPS
- * STD CM+1
- ERRNZ MSPS
- LDD T3 SET EJTO
- STD CM+2
- LDI CA CHECK NEXT SEPARATOR
- LMN 1R.
- STD T6
- ZJN STP5 IF FUNCTION STEP
- LMN 1R,&1R.
- NJN STP1 IF INVALID SEPARATOR
- AOD CA SKIP *,*
- RJM ASD ASSEMBLE FUNCTION
- LDI CA
- LMN 1R.
- ZJN STP4 IF END OF COMMAND
- LMN 1R,&1R.
- NJN STP6 IF INVALID SEPARATOR
- STP4 LDD AB+4 SET FUNCTION NUMBER
- STD T6
- STD CM+3
- STD CM+4 PRESET WITH FUNCTION NUMBER
- STP5 ZJN STP8 IF NOT A FUNCTION STEP
- SHN -7
- STP6 NJN STP9 IF FUNCTION .GT. 177B
- LDD AB+4
- SBN CPUM
- MJN STP7 IF NOT *CPUMTR* FUNCTION
- LDD TH FUNCTION + 1000B
- RAD CM+4
- STP7 LDI CA
- LMN 1R.
- STP8 ZJN STP12 IF END OF ASSEMBLY
- AOD CA
- RJM ASD ASSEMBLE BYTE
- LDD AB+4 SET BYTE NUMBER
- PJN STP10 IF VALUE .GT. 0
- STP9 JMP KIE *INCORRECT ENTRY*
- STP10 SBN 5
- PJN STP9 IF VALUE .GT. 4
- LDD AB+4
- SHN 6
- ZJN STP12 IF NOT BYTE VALUE STEP
- STD CM+1
- AOD CA
- RJM ASD
- LDI CA
- LMN 1R.
- ZJN STP11 IF END OF COMMAND
- LMN 1R,&1R.
- NJN STP9 IF INCORRECT VALUE
- STP11 LDD AB+4 SET BYTE VALUE
- STD CM+4
- STP12 MONITOR DSRM
- LDC ** CHECK FOR JSN
- STPA EQU *-1 (JSN)
- NJN STP13 IF JSN PRESENT
- LDC 2R
- STP13 STM /DSD/DLSB SET JSN IN LEFT DISPLAY HEADER
- LDC **
- STPB EQU *-1 (JSN)
- NJN STP14 IF JSN PRESENT
- LDC 2R SET JSN IN LEFT DISPLAY HEADER
- STP14 STM /DSD/DLSC
- LDD T6
- SHN -6
- ZJN STP15 IF FUNCTION .LT. 100B
- LDD T6
- SHN 21-2
- STD T6
- SHN 2-21+6
- ADC 2L00-2L0
- STP15 ADC 2R
- STM /DSD/DLSD+1
- LDD T6 CHECK FUNCTION
- ZJN STP16 IF NO FUNCTION
- SHN 3 CONVERT
- LMD T6
- SCN 70
- ADC 2R00-2R
- STP16 ADC 2R
- STM /DSD/DLSD
- STP17 JMP KBR RETURN
- IDL SPACE 4,10
- *** IDLE.
- *
- * IDLE CONTROL POINTS.
- ENTRY IDL
- LDN 1
- STD CM+1 SET OPTION COUNT
- STD CM+2 DO NOT DROP PPU
- LDD MA
- CWM IDLA,ON
- MONITOR UADM DISABLE JOB SCHEDULING
- LDN JSCL
- CRD CM
- LDD CM
- SHN 21-13
- PJN STP17 IF SCHEDULER NOT ACTIVE
- JMP KIC INCOMPLETE RETURN
- IDLA CON LIOS DECREMENT BY ONE
- CON INWL WORD ADDRESS
- CON 13D*100+1 BIT ADDRESS AND FIELD WIDTH
- LPT SPACE 4,10
- *** TRAIN,XXX,N.
- *
- * DECLARE PRINT TRAIN N IS MOUNTED ON *BATCHIO* PRINTER XXX.
- * N = 0 IF CDC GRAPHIC 64-CHARACTER SET.
- * 1 IF CDC GRAPHIC 64-CHARACTER SET.
- * 4 IF ASCII GRAPHIC 64-CHARACTER SET.
- * 5 IF ASCII GRAPHIC 64-CHARACTER SET.
- * 6 IF ASCII GRAPHIC 95-CHARACTER SET.
- * 7 IF ASCII GRAPHIC 64-CHARACTER SET TO PRINT ON
- * 595-6/596-6.
- *
- * NOTE - ENTRY NOT VALID FOR TYPES *LX* AND *LY*.
- ENTRY LPT
- RJM ASD ASSEMBLE EST ORDINAL
- LDD AB+4 READ EST ENTRY
- STD T7
- SFA EST
- ADK EQDE
- CRD CM
- LDD CM+3 CHECK PRINTER ENTRY
- SBK 2RLQ
- MJN LPT1 IF NOT LINE PRINTER
- SBN 1RT+1-1RQ
- MJN LPT2 IF LINE PRINTER
- LPT1 JMP KIE INCORRECT ENTRY
- LPT2 AOD CA ASSEMBLE TRAIN NUMBER
- RJM ASD
- LDD AB+4
- SCN 7
- NJN LPT1 IF .GT. 7
- LDC 7077 SET MASK FOR TRAIN
- STD CM+3
- LDD AB+4 SET NEW TRAIN NUMBER
- SHN 6
- STD CM+4
- LDN SB4S SET BYTE 4 OF EST
- STD CM+2
- LDD T7 SET EST ORDINAL
- STD CM+1
- MONITOR SEQM
- JMP KBR RETURN
- SPACE 4,10
- CMDEND
- COMMAND (SYSTEM REQUESTS - PART 2.),CMR
- INI SPACE 4,10
- *** INITIALIZE,OP,EQ1,EQ2,EQ3,EQ4,EQ5.
- *
- * INITIALIZE DEVICE.
- * THIS COMMAND WILL TOGGLE *MSI* ACTIVATION TO PROCESS
- * INITIALIZE REQUESTS VIA THE *K* DISPLAY.
- *
- * OP = PF - INITIALIZE PERMANENT FILES.
- * QF - INITIALIZE INACTIVE QUEUED FILES.
- * DF - INITIALIZE INACTIVE SYSTEM DAYFILE.
- * AF - INITIALIZE INACTIVE ACCOUNT FILE.
- * EF - INITIALIZE INACTIVE ERROR LOG FILE.
- * MF - INITIALIZE INACTIVE MAINTENANCE LOG.
- * AL - INITIALIZE ALL PRESERVED FILES.
- * FP - FORMAT PACK.
- * HT - INITIALIZE AS HALF TRACK DEVICE.
- * FT - INITIALIZE AS FULL TRACK DEVICE.
- * EQN = MASS STORAGE EST ORDINAL. A MAXIMUM
- * OF 5 EST ORDINALS MAY BE SPECIFIED.
- ENTRY INI
- LDN ESTP GET EST FWA
- CRD T4
- RJM ASN ASSEMBLE OPTION
- LDD AB+1
- NJN INI2 IF OPTION .GT. 2 CHARACTERS
- LDN ZERL
- CRD SP
- LDN SP SET ADDRESS OF FIRST EST ORDINAL
- STD SR+1
- LDD AB SAVE OPTION
- STD SR
- INI1 RJM CMS CHECK FOR MASS STORAGE EQUIPMENT
- LDI CA
- LMN 1R.
- ZJN INI3 IF END OF COMMAND
- LMN 1R,&1R.
- NJN INI2 IF INCORRECT SEPARATOR
- AOD SR+1
- LMN SP+4+1
- NJN INI1 IF .LT. 5 EQUIPMENTS
- INI2 JMP KIE *INCORRECT ENTRY*
- INI3 LDM IOPT+1,AB+1 SET OPTION
- INI4 STD AB+3
- LDN /1DS/TPSF
- JMP KAR PROCESS *1DS* CALL
- IOPT SPACE 4,10
- * TABLE OF INITIALIZE OPTIONS.
- * NOTE TABLE IS ORDER DEPENDENT.
- IOPT BSS 0 TABLE OF INITIALIZE OPTIONS
- LOC 0
- CON 2RHT,LIHD
- CON 2RFT,LIFD
- NRML EQU * END OF OPTIONS REQUIRING REMOVABLE DEVICE
- CON 2RFP,LFPR
- NLDL EQU * END OF OPTIONS REQUIRING *LDAM* DEVICES
- CON 2RAL,LIAL
- CON 2RMF,LIMF
- CON 2REF,LIEF
- CON 2RAF,LIAF
- CON 2RDF,LIDF
- CON 2RQF,LIQF
- CON 2RPF,LIPF
- LOC *O
- IOPTL EQU *-IOPT
- IDF SPACE 4,10
- *** IDLEFAMILY,XXX.
- *
- * SET/CLEAR FAMILY IDLE DOWN STATUS FOR EST ORDINAL XXX.
- ENTRY IDF
- RJM CME CHECK MS EQUIPMENT
- LDD CM+4
- SHN 3
- ADN PUGL
- CRD CM
- ADN MDGL-PUGL
- CRD AB
- LDD CM+4
- SHN 21-7
- PJN IDF1 IF NOT FAMILY MASTER DEVICE
- LDD AB
- SHN 21-12
- PJN IDF2 IF NOT AUXILIARY DEVICE
- IDF1 JMP KIE INCORRECT ENTRY
- IDF2 LDD T6 TOGGLE FAMILY IDLE DOWN STATUS
- STD CM+1
- LDN TFIS
- STD CM+3
- MONITOR SMDM
- JMP KBR RETURN
- IDD SPACE 4,10
- *** IDLE,SUBSYSTEM.
- *
- * SET SUBSYSTEM IDLEDOWN VIA A *1DS* CALL.
- ENTRY IDD
- RJM ASN GET SUBSYSTEM NAME
- LDD AB+2
- NJN IDD1 IF JSN .GT. 4 CHARACTERS
- LDN AB GET EJTO
- RJM GEE
- MJN IDD1 IF EJT ENTRY NOT FOUND
- STD AB+4
- ZJN IDD1 IF JSN = *SYS*
- SFA EJT
- ADN SCLE CHECK SERVICE CLASS
- CRD SR
- LDD SR
- SHN -6 CHECK FOR SUBSYSTEM SERVICE CLASS
- LMN SSSC
- NJN IDD1 IF NOT SUBSYSTEM SERVICE CLASS
- LDK /1DS/IDLF
- JMP KAR PROCESS *1DS* CALL
- IDD1 JMP KIE *INCORRECT ENTRY*
- CME SPACE 4,10
- ** CME - CHECK MASS STORAGE EQUIPMENT.
- *
- * EXIT (A) = BYTE 0 OF EST ENTRY SHIFTED.
- * (T6) = (AB+4) = EST ORDINAL.
- * (CM - CM+4) = MASS STORAGE EST ENTRY.
- *
- * USES T1, T5 - T7, CM - CM+4.
- *
- * CALLS ASD.
- CME SUBR ENTRY/EXIT
- RJM ASD ASSEMBLE EST ORDINAL
- LDN ESTP GET EST POINTERS
- CRD T5
- LDD AB+4 READ EST ENTRY
- STD T6
- SBD T5+3
- PJN CME1 IF BEYOND LAST MASS STORAGE ORDINAL
- SFA EST,AB+4
- ADK EQDE
- CRD CM
- LDD CM
- SHN 21-13
- MJN CMEX IF MS EQUIPMENT
- CME1 JMP KIE *INCORRECT ENTRY*
- CMS SPACE 4,15
- ** CMS - CHECK FOR MASS STORAGE EQUIPMENT.
- *
- * ENTRY (SR) = OPTION.
- * (SR+1) = ADDRESS WHERE NEXT EST ORDINAL
- * IS TO BE STORED.
- * (T4+3) = LAST MASS STORAGE ORDINAL + 1.
- *
- * EXIT ((CA)) = NEXT PARAMETER SEPARATOR.
- * ((SR+1)) = PROCESSED EST ORDINAL.
- *
- * USES AB+1, CA, CM - CM+4.
- *
- * CALLS ASD.
- CMS SUBR ENTRYEXIT
- AOD CA SKIP*,*
- RJM ASD ASSEMBLE NEXT EST ORDINAL
- LDD AB
- ADD AB+1
- ADD AB+2
- ADD AB+3
- NJN CMS1 IF EST ORDINAL .GT. 7777B
- LDD AB+4 READ EST ENTRY
- STI SR+1 SAVE EST ORDINAL
- SBD T4+3
- PJN CMS1 IF ORDINAL BEYOND MASS STORAGE ORDINALS
- SFA EST,AB+4
- ADK EQDE
- CRD CM
- LDD CM
- SHN 21-13
- MJN CMS2 IF MS EQUIPMENT
- CMS1 JMP KIE *INCORRECT ENTRY*
- CMS2 SHN 13-7
- PJN CMS4 IF NOT *LDAM* EQUIPMENT
- SHN 10+21-10
- PJN CMS3 IF NOT REMOVABLE EQUIPMENT
- SHN 11
- LPN 3 CHECK DEVICE STATE
- LMN 3
- NJN CMS5 IF EQUIPMENT NOT DOWN
- LDC =C*DEVICE DOWN*
- JMP KMS DISPLAY MESSAGE
- CMS3 LDN NRML START AT NON-REMOVABLE EQUIPMENT OPTIONS
- STD AB+1
- UJN CMS5 ENTER SEARCH LOOP
- CMS4 LDN NLDL START AT NON-*LDAM* OPTIONS
- STD AB+1
- CMS5 LDM IOPT,AB+1
- LMD SR
- NJN CMS6 IF OPTION NOT FOUND
- LJM CMSX RETURN
- CMS6 LDN 2
- RAD AB+1
- LMN IOPTL
- ZJN CMS1 IF END OF TABLE
- UJN CMS5 LOOP
- SPACE 4,10
- CMDEND
- COMMAND (JOB CALL REQUESTS.)
- IIF SPACE 4,10
- *** X.CCC.
- * X.CCC,XXXXXX.
- *
- * INITIATE A SYSTEM JOB *CCC* WITH A FIELD LENGTH OF XXXXXX
- * WORDS. *CCC* MUST BE AT LEAST 3 CHARACTERS LONG AND NOT
- * MORE THAN 7 CHARACTERS LONG.
- ENTRY IIF
- RJM ASN ASSEMBLE NAME
- LDD AB+3
- LPN 77
- NJN IIF1 IF MORE THAN 7 CHARACTERS
- LDD AB+1
- NJN IIF2 IF AT LEAST 3 CHARACTERS
- IIF1 JMP KIE *INCORRECT ENTRY*
- IIF2 LDD MA MOVE AB - AB+4 TO SP - SP+4
- CWD AB
- CRD SP
- AOD CA
- RJM ASD ASSEMBLE FIELD LENGTH
- LDD AB+3 ROUND UP FIELD LENGTH
- LPN 37
- SHN 14
- LMD AB+4
- ADN 77
- SHN -6 SET FL
- STD AB+3
- LDN 0 SET KEYBOARD BUFFER OFFSET
- STD AB+4
- LDC /1DS/IJCF+/1DS/LOCK
- UJN RSJ REQUEST SYSTEM JOB
- DFD SPACE 4,10
- *** LOAD,XXX,YY.
- *
- * REQUEST JOB LOAD FROM EST ORDINAL XXX WITH AN ID OF YY.
- ENTRY LOD
- LDN /1DS/LODF
- STD T7 SAVE REQUEST
- RJM ASD ASSEMBLE EST ORDINAL
- LDD AB+4 SAVE NUMBER
- STD T6
- AOD CA ASSEMBLE ID
- RJM ASD
- LDD T6 SET EST ORDINAL
- STD AB+3
- LDD T7 SET JOB REQUEST
- * UJN RSJ CALL *1DS*
- RSJ SPACE 4,10
- ** RSJ - REQUEST SYSTEM JOB.
- *
- * ENTRY (A) = *1DS* FUNCTION CODE.
- RSJ JMP KAR PROCESS *1DS* CALL
- ISJ SPACE 4,10
- *** X.NAME(CCC-CCC)
- *
- * INITIATE SYSTEM JOB *NAME* WITH PARAMETER CCC-CCC.
- * *NAME* MUST BE NO MORE THAN 7 CHARACTERS LONG.
- ENTRY ISJ
- RJM ASN ASSEMBLE NAME
- LDD AB+3
- LPN 77
- ZJN ISJ1 IF NO MORE THAN 7 CHARACTERS
- JMP KIE *INCORRECT ENTRY*
- ISJ1 LDD MA MOVE AB - AB+4 TO SP - SP+4
- CWD AB
- CRD SP
- LDN ZERL
- CRD AB
- LDC 2*100 KEYBOARD BUFFER OFFSET
- STD AB+4
- LDC /1DS/ICJF+/1DS/LOCK
- UJN RSJ REQUEST SYSTEM JOB
- DROP SPACE 4,10
- *** DROP,,PARAMETERS.
- * DROP,JSN,PARAMETERS.
- *
- * *DROP,,PARAMETERS.* IS ONLY PASSED TO CMD IF THE
- * CONSOLE IS UNLOCKED.
- * *DROP,JSN,PARAMETERS.* IS PASSED DIRECTLY TO CMD.
- ENTRY DRC
- LDI CA CHECK FOR DROP COMMA COMMA
- LMN 1R,
- NJN CMD IF NOT COMMA
- LDD LK
- NJN CMD IF CONSOLE UNLOCKED
- JMP KIE *ILLEGAL ENTRY*
- CMD SPACE 4,10
- *** COMMAND,CCC-CCC.
- *
- * SEND COMMAND TO SYSTEM TO PROCESS AS
- * A CONTROL STATEMENT.
- ENTRY CMD
- LDC KBUF RESET KEYBOARD INDEX
- STD CA
- RJM ASN ASSEMBLE NAME
- LDD MA
- CWD AB
- CRD SP
- LDN 0 SET KEYBOARD BUFFER OFFSET
- STD AB+4
- LDC /1DS/ISCF+/1DS/LOCK
- JMP KAR CALL *1DS*
- ILD SPACE 4,10
- *** NAME(CCC-CCC)
- *
- * INITIATE *L* DISPLAY WITH PARAMETERS CCC-CCC.
- ENTRY ILD
- LDC KBUF SET CHARACTER ADDRESS
- STD CA
- RJM ASN ASSEMBLE NAME
- LDD MA SET PARAMETER WORD
- CWD AB
- CRD SP
- LDN 0 SET KEYBOARD BUFFER OFFSET
- STD AB+4
- LDC /1DS/DSPF+/1DS/LOCK
- RJM C1D CALL *1DS*
- LDC ILD2 SET REENTRY ADDRESS
- STM /KEYBOARD/KCRB
- ILD2 LDC /1DS/DSDL
- CRD CM
- ADN 1
- CRD AB
- LDD CM
- ZJN ILD4 IF *1DS* COMPLETE
- ILD3 LJM CLP1 REENTER
- ILD4 LDD AB
- ZJN ILD4.1 IF *L* DISPLAY JOB SUBMITTED
- LDC ILDA *L DISPLAY NOT AVAILABLE*
- LJM KMS ISSUE KEYBOARD MESSAGE
- ILD4.1 LDC ILD5 SET REENTRY ADDRESS
- STM /KEYBOARD/KCRB
- ILD5 LDM /COMDSYS/SYSB GET *L* DISPLAY REQUESTED FLAG
- SHN -1
- ZJN ILD6 IF *L* DISPLAY DRIVER IS ACTIVE
- LPN 10/2
- ZJN ILD3 IF *L* DISPLAY NOT REQUESTED
- LDN 1RL LOAD *L* DISPLAY ON LEFT SCREEN
- SHN 6
- RJM /DSD/LDO LOAD *L* DISPLAY OVERLAY
- ILD6 LJM KBR RETURN
- ILDA DATA C*L DISPLAY NOT AVAILABLE*
- SPACE 4,10
- CMDEND
- COMMAND (SYSTEM REQUESTS - PART 3.),CMR
- AUT SPACE 4,10
- *** AUTO.
- *
- * INITIATE ANY JOB CURRENTLY IN THE INPUT QUEUE.
- ENTRY AUT
- RJM CCP CLEAR CHECKPOINT BITS
- LDC /1DS/LOCK+/1DS/IASF
- JMP KAR CALL *1DS*
- CKP SPACE 4,10
- *** CHECK POINT SYSTEM.
- *
- * IDLE SYSTEM, ROLL OUT ALL JOBS, WRITE TABLES TO DISK.
- ENTRY CKP
- LDN 1 SET CHECKPOINT REQUEST
- STD AB+2
- STD AB+4
- EXECUTE 1CK
- JMP KBR RETURN
- CLR SPACE 4,10
- *** GO,JSN.
- * PAUSE,JSN.
- *
- * CLEAR/SET PAUSE BIT FOR SPECIFIED JSN.
- * IF JSN IS NULL, THE SYSTEM CONTROL POINT IS USED.
- ENTRY CLR
- RJM ASN ASSEMBLE JSN
- LDD MA MOVE JSN TO PARAMETER WORD
- CWD AB
- CRD SP
- LDN ZERL CLEAR OFFSET
- CRD AB
- LDM KBUF CHECK COMMAND
- LMN 1RP
- NJN CLR1 IF NOT *PAUSE*
- AOD AB+3 SET PAUSE STATUS
- CLR1 LDD SP
- ZJN CLR1.1 IF NO JSN SPECIFIED
- LMC 2RSY
- NJN CLR2 IF JSN NOT *SYS*
- LDD SP+1
- LMC 100*1RS
- NJN CLR2 IF JSN NOT *SYS*
- STD SP
- CLR1.1 LDD NC
- SHN 7
- ADN SNSW FETCH SENSE SWITCH WORD AT SYSTEM CP
- CRD CM
- STD T2
- LDD CM+3 SET / CLEAR PAUSE FLAG
- SCN 3
- LMD AB+3
- STD CM+3
- LDD T2 STORE SENSE SWITCH WORD
- CWD CM
- ADN MS2W-SNSW CLEAR MESSAGE
- CWD SP
- JMP KBR RETURN
- CLR2 LDN DSSL FETCH DEADSTART STATUS
- CRD CM
- LDD CM+4 CHECK DEADSTART IN PROGRESS
- LPN 4
- ZJN CLR3 IF SYSTEM OPERATIONAL
- JMP KIE PROCESS INCORRECT ENTRY
- CLR3 LDC /1DS/LOCK+/1DS/CLRF
- JMP KAR PROCESS *1DS* CALL
- DLY SPACE 4,15
- *** DELAY,T1XXX,T2XXX,...TNXXX.
- *
- * SET SCAN VALUE FOR PARAMETER *TN*.
- *
- * TN DELAY
- *
- * CR CPU RECALL DELAY (MILLISECONDS).
- * AR PP/AUTO RECALL DELAY (MILLISECONDS).
- * MP MEMORY PAD FOR *RSTM* (100B WORD BLOCKS).
- * JQ QFT/EJT (INPUT JOB) SCHEDULING DELAY (2**JS).
- * JS JOB SCHEDULER DELAY (SECONDS).
- ENTRY DLY
- DLY1 LDI CA ASSEMBLE TYPE
- SHN 6
- LMM 1,CA
- STD T1
- LDC TDLY-TDLYE SET FWA DELAY PARAMETER TABLE
- STD T7
- DLY2 LDN TDLYE GET NEXT TABLE ENTRY
- RAD T7
- LDI T7
- ZJN DLY3 IF END OF TABLE
- LMD T1
- NJN DLY2 IF NO MATCH FOR ENTRY
- LDN 2 SKIP PARAMETER NAME
- RAD CA
- RJM ASD ASSEMBLE DIGITS
- LMN 1R,
- ZJN DLY4 IF *,*
- LMN 1R.&1R,
- ZJN DLY4 IF *.*
- DLY3 JMP KIE *INCORRECT ENTRY*
- DLY4 LDM 3,T7
- SBD AB+4
- MJN DLY3 IF .GT. MAXIMUM
- LDD AB+4
- SBM 4,T7
- MJN DLY3 IF .LT. MINIMUM
- * CHANGE PARAMETER IN CMR.
- LDN ZERL
- CRD CM
- CRD SH
- LDN 12D SET FIELD SIZE
- STD SH
- LDM 1,T7 SET LOW ORDER BIT OF FIELD
- SHN 6
- STD SH+1
- LDD AB+4 SET VALUE
- STD SH+4
- LDD MA
- CWD SH
- LDN 1 SET NUMBER OF REQUESTS
- STD CM+1
- LDM 2,T7 SET ABSOLUTE ADDRESS OF WORD
- STD CM+4
- MONITOR UTEM
- LDN 2 RESET RECALL CYCLE FLAG
- STD CM+2
- LDI T7
- LMC 2RJS
- ZJN DLY5 IF *JS* PARAMETER CHANGED
- LMN 2RJQ&2RJS
- NJN DLY6 IF NOT *JQ* ENTRY
- DLY5 MONITOR RSJM
- DLY6 LDI CA CHECK SEPARATOR
- LMN 1R.
- ZJN DLY7 IF *.*
- AOD CA SKIP SEPARATOR
- LJM DLY1 LOOP
- DLY7 JMP KBR RETURN
- TDLY SPACE 4,10
- ** TDLY - TABLE OF DELAY ENTRY ADDRESSES.
- *
- * ENTRY = *TDLYE* WORDS LONG.
- *
- * VFD 12/EN ENTRY
- * VFD 12/LB LOW ORDER BIT OF FIELD.
- * VFD 12/ADDR ABSOLUTE ADDRESS OF WORD.
- * VFD 12/MAX MAXIMUM VALUE OF FIELD
- * VFD 12/MIN MINIMUM VALUE OF FIELD
- TDLY BSS 0
- VFD 12/2RCR,12/36D,12/MSCL,12/7777,12/1
- TDLYE EQU *-TDLY TABLE ENTRY LENGTH
- VFD 12/2RAR,12/24D,12/MSCL,12/7777,12/1
- VFD 12/2RMP,12/0,12/MSCL,12/777,12/0
- VFD 12/2RJQ,12/36D,12/JSCL,12/12D,12/0
- VFD 12/2RJS,12/24D,12/JSCL,12/7777,12/1
- CON 0 END OF TABLE
- MAI SPACE 4,10
- *** MAINTENANCE.
- *
- * INITIATE ANY JOBS CURRENTLY IN THE INPUT QUEUE,
- * INITIATE THE CORRECT SET OF MAINTENENACE JOBS FOR
- * THIS MAINFRAME.
- ENTRY MAI
- RJM CCP CLEAR CHECKPOINT BITS
- LDC /1DS/LOCK+/1DS/ITJF
- JMP KAR CALL *1DS*
- CCP SPACE 4,10
- *** CCP - CLEAR CHECKPOINT BITS.
- *
- * EXIT CHECKPOINT BITS IN *EICB* CLEARED.
- * TO *KIE* IF CHECKPOINT IN PROGRESS FLAG SET.
- *
- * USES CN - CN+4.
- *
- * CALLS FDP.
- CCP SUBR ENTRY/EXIT
- LDC INWL CHECK CHECKPOINT IN PROGRESS FLAG
- CRD CN
- LDD CN+4
- LPN 20
- ZJN CCP1 IF NO CHECKPOINT IN PROGRESS
- JMP KIE *INCORRECT ENTRY*
- CCP1 RJM FDP FETCH *EICB* POINTER
- ZJN CCPX IF BLOCK NOT PRESENT
- CRD CN
- LDD CN
- SCN 14
- STD CN
- RJM FDP UPDATE STATUS
- CWD CN
- UJN CCPX RETURN
- SCH SPACE 4,10
- *** SCHEDULE.
- *
- * ENABLE THE SCHEDULING OF JOBS IN THE INPUT QUEUE.
- ENTRY SCH
- RJM CCP CLEAR CHECKPOINT BITS
- LDC /1DS/LOCK+/1DS/SCHF
- JMP KAR CALL *1DS*
- SPACE 4,10
- CMDEND
- COMMAND (SYSTEM MESSAGE REQUESTS.)
- CJM SPACE 4,10
- *** CHECK CFO JSN EQUAL *RDF* MESSAGE JSN AND PROCESS
- * CFO COMMAND.
- *
- *
- * CLEAR OPERATOR DISPLAY MESSAGE BUFFER IF JSN IN
- * DISPLAY BUFFER IS EQUAL TO JSN IN CFO MESSAGE.
- ENTRY CJM
- LDC LDSP
- CRD SR
- LDD SR+2
- SHN 14
- LMD SR+3
- SBN LODS
- CRD CM
- LDD CM+1
- ZJP CJM3 IF NO MESSAGE
- RJM ASN ASSEMBLE JSN
- LDD MA SAVE JSN
- CWD AB
- CRD SP
- AOD CA CHECK FOR MESSAGE
- RJM ASN
- LDD AB
- NJN CJM1 IF A MESSAGE WAS ENTERED
- JMP KIE *INCORRECT ENTRY*
- CJM1 LDD SP+1 CHECK FOR THREE CHARACTER JSN
- LPN 77
- NJN CJM2 IF A FOURTH CHARACTER IS PRESENT
- LDN 1R
- RAD SP+1
- CJM2 LDD CM+1 CHECK IF *CFO* JSN = *OPMSG* JSN
- SBD SP+1
- NJN CJM3 IF JSN NOT EQUAL
- LDD CM
- SBD SP
- NJN CJM3 IF JSNS NOT EQUAL
- LDN ZERL CLEAR OPERATOR MESSAGE BUFFER
- CRD CM
- LDN 1
- STD CM
- LDD SR+2
- SHN 14
- LMD SR+3
- SBN LODS
- CWD CM
- LDN 1 CLEAR BIT IN *OPRL* WORD
- STD CM+1
- LDC OPRL
- STD CM+4
- LDD MA
- CWM LOGC,ON
- MONITOR UTEM
- CJM3 LDN 0 SET FIELD LENGTH
- STD AB+4
- STD AB+3 SET OF SET
- LDC /1DS/ISCF+/1DS/LOCK
- JMP KAR CALL 1DS
- LOG SPACE 4,10
- *** LOG,NN.
- *
- *
- * CLEAR OPERATOR MESSAGE IN LOW CORE WORD *OPRL* AND LOG
- * IN ERROR LOG DAYFILE.
- ENTRY LOG ENTRY
- RJM ASD ASSEMBLE MESSAGE NUMBER
- LDD AB
- ADD AB+1
- ADD AB+2
- ADD AB+3
- ZJN LOG2 IF VALUE .LE. 7777B
- LOG1 JMP KIE *INCORRECT ENTRY*
- LOG2 LDD AB+4
- SBN 60D
- PJN LOG1 IF BIT NUMBER .GT. 59D
- LDD AB+4 SET BIT NUMBER IN REQUEST
- SHN 6
- STM LOGB+1
- STM LOGC+1
- LDN ZERL
- CRD CM
- LDN 2 SET NUMBER OF REQUESTS
- STD CM+1
- STD T7
- LDC OPRL SET WORD ADDRESS
- STD CM+4
- LDD MA
- CWM LOGB,T7
- MONITOR UTEM
- LDD CM+1
- NJN LOG1 IF OPERATION NOT COMPLETE
- LDD AB+4
- SBN ELAE-1
- ZJN LOG4 IF *ERRLOG ALERT*
- LOG3 JMP KBR RETURN
- LOG4 LDK ESTP INITIALIZE FOR EST SEARCH
- CRD AB
- LOG5 SOD AB+3 DECREMENT EST ORDINAL
- ZJN LOG3 IF END OF MASS STORAGE DEVICES
- SFA EST READ EST ENTRY
- ADK EQDE
- CRD SH
- LDD SH
- SHN 21-13
- PJN LOG5 IF NOT MASS STORAGE DEVICE
- LDD SH+4 SET MST ADDRESS
- SHN 3
- STD CM+4
- SHN -14
- STD CM+3
- LDN 2 SET NUMBER OF REQUESTS
- STD CM+1
- LDD MA
- CWM LOGD,T7
- MONITOR UTEM CLEAR UNRECOVERED ERROR COUNT
- LDD SH+4 SET MST ADDRESS
- SHN 3
- STD CM+4
- SHN -14
- STD CM+3
- LDN 2 SET NUMBER OF REQUESTS
- STD CM+1
- LDD MA
- CWM LOGE,T7
- MONITOR UTEM CLEAR RECOVERED ERROR COUNT
- LJM LOG5 PROCESS NEXT EST ENTRY
- * *UTEM* PARAMETER WORDS.
- LOGB VFD 1/1,5/0,6/1,6/0,42/1 VERIFY BIT IS CURRENTLY SET
- LOGC VFD 1/0,5/0,6/1,6/59D,42/0 CLEAR BIT
- LOGD VFD 1/1,5/CTLL,6/1,6/11D,42/1 VERIFY PROCESSED BIT SET
- VFD 1/0,5/CTLL,6/12D,6/0,42/0 CLEAR ERROR COUNT
- LOGE VFD 1/1,5/CTLL,6/1,6/23D,42/1 VERIFY PROCESSED BIT SET
- VFD 1/0,5/CTLL,6/12D,6/12D,42/0 CLEAR ERROR COUNT
- SPACE 4,10
- CMDEND
- COMMAND (ENABLE SYNTAX TABLE - CHARACTERS A - P.),CMR
- EAP SPACE 4,10
- ** ENABLE SYNTAX TABLE - CHARACTERS A - P.
- * NOTE - CHECK THE SYSTEM SYNTAX TABLE ENTRY FOR *ENABLE,A-P*
- * IF ANY NEW *ENABLE* COMMANDS ARE ADDED TO THIS TABLE.
- ENTRY EAP
- EAC ENTER (ENABLE,ACS TAPE PF STAGING.),,SDF
- EAR ENTER (ENABLE,AUTORESTART.),,SDF
- ECS ENTER (ENABLE,CARTRIDGE PF STAGING.),,SDF
- EDP ENTER (ENABLE,DDP ROLLOUT PATH.),,SDF
- ENG ENTER (ENABLE,ENGR.),SLOCK,SDF,ERL
- EFP ENTER (ENABLE,FLEXIBLE PARTITIONS.),,SDF
- EFF ENTER (ENABLE,FORCED FORMATTING.),LOCK,SDF
- EAL ENTER (ENABLE,LOGGING.),,SDF
- EMA ENTER (ENABLE,MASTER MSE.),,SDF
- EMM ENTER (ENABLE,MASTER MSS.),,SDF
- EMV ENTER (ENABLE,MS VALIDATION.),,SDF
- EPF ENTER (ENABLE,PF VALIDATION.),,SDF
- EPA ENTER (ENABLE,PRIVILEGED ANALYST MODE.),LOCK,SDF
- EPR ENTER (ENABLE,PRIVILEGED RDF.),,SDF
- CON 0 END OF TABLE
- SPACE 4,10
- CMDEND
- COMMAND (ENABLE SYNTAX TABLE - CHARACTERS Q - Z.),CMR
- EQZ SPACE 4,10
- ** ENABLE SYNTAX TABLE - CHARACTERS Q - Z.
- ENTRY EQZ
- ERP ENTER (ENABLE,REMOVABLE PACKS.),,SDF
- ERR ENTER (ENABLE,RESIDENT RDF.),,SDF
- ESU ENTER (ENABLE,SECONDARY USER COMMANDS.),LOCK,SDF
- ESD ENTER (ENABLE,SPINDOWN.),,SDF
- ESY ENTER (ENABLE,SYSTEM DEBUG.),LOCK,SDF,ERL
- ETS ENTER (ENABLE,TAPE PF STAGING.),,SDF
- EUE ENTER (ENABLE,USER EXTENDED MEMORY.),,SDF
- CON 0 END OF TABLE
- SPACE 4,10
- CMDEND
- COMMAND (DISABLE SYNTAX TABLE - CHARACTERS A - P.),CMR
- DAP SPACE 4,10
- ** DISABLE SYNTAX TABLE - CHARACTERS A - P.
- ENTRY DAP
- EAC ENTER (DISABLE,ACS TAPE PF STAGING.),,SDF
- EAR ENTER (DISABLE,AUTORESTART.),,SDF
- ECS ENTER (DISABLE,CARTRIDGE PF STAGING.),,SDF
- EDP ENTER (DISABLE,DDP ROLLOUT PATH.),,SDF
- ENG ENTER (DISABLE,ENGR.),LOCK,SDF,ERL
- EFP ENTER (DISABLE,FLEXIBLE PARTITIONS.),,SDF
- EFF ENTER (DISABLE,FORCED FORMATTING.),LOCK,SDF
- EAL ENTER (DISABLE,LOGGING.),,SDF
- EMA ENTER (DISABLE,MASTER MSE.),,SDF
- EMM ENTER (DISABLE,MASTER MSS.),,SDF
- EMV ENTER (DISABLE,MS VALIDATION.),,SDF
- EPF ENTER (DISABLE,PF VALIDATION.),,SDF
- EPA ENTER (DISABLE,PRIVILEGED ANALYST MODE.),LOCK,SDF
- EPR ENTER (DISABLE,PRIVILEGED RDF.),,SDF
- CON 0 END OF TABLE
- SPACE 4,10
- CMDEND
- COMMAND (DISABLE SYNTAX TABLE - CHARACTERS Q - Z.),CMR
- DQZ SPACE 4,10
- ** DISABLE SYNTAX TABLE - CHARACTERS Q - Z.
- ENTRY DQZ
- ERP ENTER (DISABLE,REMOVABLE PACKS.),,SDF
- ERR ENTER (DISABLE,RESIDENT RDF.),,SDF
- ESU ENTER (DISABLE,SECONDARY USER COMMANDS.),LOCK,SDF
- ESD ENTER (DISABLE,SPINDOWN.),,SDF
- ESY ENTER (DISABLE,SYSTEM DEBUG.),LOCK,SDF,ERL
- ETS ENTER (DISABLE,TAPE PF STAGING.),,SDF
- EUE ENTER (DISABLE,USER EXTENDED MEMORY.),,SDF
- CON 0 END OF TABLE
- SPACE 4,10
- CMDEND
- COMMAND (ENABLE/DISABLE SYSTEM ATTRIBUTE REQUESTS.)
- ESB SPACE 4,10
- ** ESB - ENTER STATUS BIT.
- *
- * ENTRY (A) = 6/BYTE,12/BITS.
- * WHERE BYTE = BYTE NUMBER IN *SSTL*.
- * BITS = BIT TO CHANGE.
- *
- *
- * USES T1, T2, CM - CM+4, CN - CN+4.
- *
- * CALLS FDP.
- ESB STD T2 SET BIT
- SHN -14 SET BYTE
- ADN CM
- STD T1
- LCN 0 SET MASK
- LMD T2
- STM ESBA
- LDM KBUF CHECK LEADING CHARACTER
- LMN 1RE
- NJN ESB1 IF NOT *E*
- STD T2 CLEAR BITS
- ESB1 LDN SSTL READ STATUS WORD
- CRD CM
- LDI T1 MASK BYTE
- LPC *
- ESBA EQU *-1
- LMD T2
- STI T1
- LDN SSTL STORE STATUS WORD
- CWD CM
- LDD CM+3 SAVE ENGINEERING STATUS
- STD T1
- RJM FDP
- ZJN ESB3 IF NO *EICB*
- CRD CN
- LDD CN UPDATE ENGINEERING STATUS
- LPC 5777
- STD CN
- LDD T1
- SHN 21-2
- MJN ESB2 IF *ENGR* DISABLED
- LDC 2000
- RAD CN
- ESB2 RJM FDP
- CWD CN
- ESB3 JMP KBR RETURN
- EAC SPACE 4,10
- *** ENABLE,ACS TAPE PF STAGING.
- * DISABLE,ACS TAPE PF STAGING.
- *
- * ENABLE/DISABLE STAGING OF PERMANENT FILES FROM ACS TAPE.
- ENTRY EAC
- LDC 11000
- JMP ESB ENTER STATUS BIT
- EAR SPACE 4,10
- *** ENABLE,AUTORESTART.
- * DISABLE,AUTORESTART.
- *
- * ENABLE/DISABLE AUTORESTART.
- ENTRY EAR ENTRY
- LDC 4000
- JMP ESB ENTER STATUS BIT
- ECS SPACE 4,10
- *** ENABLE,CARTRIDGE PF STAGING.
- * DISABLE,CARTRIDGE PF STAGING.
- *
- * ENABLE/DISABLE STAGING OF *MSS*/*MSE* RESIDENT PFS.
- ENTRY ECS
- LDC 100
- JMP ESB ENTER STATUS BIT
- EDP SPACE 4,10
- *** ENABLE,DDP ROLLOUT PATH.
- * DISABLE,DDP ROLLOUT PATH.
- *
- * ENABLE/DISABLE DDP ROLLOUT PATH.
- ENTRY EDP ENTRY
- LDC 31000
- JMP ESB ENTER STATUS BIT
- ENG SPACE 4,10
- *** ENABLE,ENGR.
- * DISABLE,ENGR.
- *
- * ENABLE/DISABLE ENGINEERING MODE.
- ENTRY ENG ENTRY
- LDC 30004
- JMP ESB ENTER STATUS BIT
- EFP SPACE 4,10
- *** ENABLE,FLEXIBLE PARTITIONS.
- * DISABLE,FLEXIBLE PARTITIONS.
- *
- * ENABLE/DISABLE VIOLATION OF MEMORY USAGE SERVICE CLASS
- * CONSTRAINTS IN THE JOB SCHEDULER.
- ENTRY EFP
- LDC 32000
- JMP ESB ENTER STATUS BIT
- EFF SPACE 4,10
- *** ENABLE,FORCED FORMATTING.
- * DISABLE,FORCED FORMATTING.
- *
- * ENABLE/DISABLE FORCED FORMATTING OF 583X DEVICES.
- ENTRY EFF
- LDC 12000
- JMP ESB ENTER STATUS BIT
- EAL SPACE 4,10
- *** ENABLE,LOGGING.
- * DISABLE,LOGGING.
- *
- * ENABLE/DISABLE LOGGING OF ANALYST DAYFILE MESSAGES.
- ENTRY EAL
- LDC 30020
- JMP ESB ENTER STATUS BIT
- EMA SPACE 4,10
- *** ENABLE,MASTER MSE.
- * DISABLE,MASTER MSE.
- *
- * ENABLE/DISABLE *MSE* EXECUTIVE MASTER MODE.
- ENTRY EMA
- LDN 2
- JMP ESB ENTER STATUS BIT
- EMM SPACE 4,10
- *** ENABLE,MASTER MSS.
- * DISABLE,MASTER MSS.
- *
- * ENABLE/DISABLE *MSSEXEC* MASTER MODE.
- ENTRY EMM
- LDC 200
- JMP ESB ENTER STATUS BIT
- EMV SPACE 4,10
- *** ENABLE,MS VALIDATION.
- * DISABLE,MS VALIDATION.
- *
- * ENABLE/DISABLE MS VALIDATION.
- ENTRY EMV
- LDN SSTL CHECK SYSTEM STATUS
- CRD CM
- LDD CM
- LPN 4
- ZJN EMV1 IF ALREADY PROCESSING ENABLE MS VALIDATION
- JMP KIE *INCORRECT ENTRY*
- EMV1 LDN 10
- JMP ESB
- EPA SPACE 4,10
- *** ENABLE,PRIVILEGED ANALYST MODE.
- * DISABLE,PRIVILEGED ANALYST MODE.
- *
- * ENABLE/DISABLE PRIVILEGED ANALYST MODE.
- ENTRY EPA
- LDD SF
- NJN EPA1 IF SECURED SYSTEM
- LDC 30100
- JMP ESB ENTER STATUS BIT
- EPA1 JMP KIE INCORRECT ENTRY
- EPF SPACE 4,10
- *** ENABLE,PF VALIDATION.
- * DISABLE,PF VALIDATION.
- *
- * ENABLE/DISABLE PRESERVED FILE VALIDATION.
- ENTRY EPF
- LDN 20
- JMP ESB ENTER STATUS BIT
- EPR SPACE 4,10
- *** ENABLE,PRIVILEGED RDF.
- * DISABLE,PRIVILEGED RDF.
- *
- * ENABLE/DISABLE PRIVILEGED RDF ALLOWS CPM
- * TO SET THE *SHELL* PROGRAM CONTROLS.
- ENTRY EPR
- LDC 30200
- JMP ESB ENTER STATUS
- ERP SPACE 4,10
- *** ENABLE,REMOVABLE PACKS.
- * DISABLE,REMOVABLE PACKS.
- *
- * ENABLE/DISABLE LABEL CHECKING FOR REMOVABLE DEVICES.
- ENTRY ERP
- LDC 10100
- JMP ESB ENTER STATUS BIT
- ERR SPACE 4,10
- *** ENABLE,RESIDENT RDF.
- * DISABLE,RESIDENT RDF.
- *
- * ENABLE/DISABLE RESIDENT RDF WILL CONTROL
- * HOW LONG THE SUBSYSTEM WILL STAY ACTIVE
- * WAITING FOR A USER TO LOGIN.
- ENTRY ERR
- LDC 30400
- JMP ESB ENTER STATUS
- ESU SPACE 4,10
- *** ENABLE,SECONDARY USER CARDS.
- * DISABLE,SECONDARY USER CARDS.
- *
- * ENABLE/DISABLE ALLOWING SECONDARY USER STATEMENTS.
- ENTRY ESU
- LDD SF
- NJN ESU1 IF SECURE SYSTEM
- LDC 10020
- JMP ESB ENTER STATUS BIT
- ESU1 JMP KIE INCORRECT ENTRY
- ESD SPACE 4,10
- *** ENABLE,SPINDOWN.
- * DISABLE,SPINDOWN.
- *
- * ENABLE/DISABLE SPINDOWN OF ISMD DRIVES AFTER A
- * *CHECKPOINT,SYSTEM* COMMAND IS ENTERED BY THE OPERATOR.
- ENTRY ESD ENTRY
- LDN 1
- JMP ESB ENTER STATUS BIT
- ESY SPACE 4,10
- *** ENABLE,SYSTEM DEBUG.
- * DISABLE,SYSTEM DEBUG.
- *
- * ENABLE/DISABLE SYSTEM DEBUG WILL CONTROL WHETHER *CHGM*
- * WILL HALT THE ISSUING PP OR ALLOW IT TO CONTINUE.
- ENTRY ESY ENTRY
- LDC 30002
- JMP ESB ENTER STATUS BIT
- ETS SPACE 4,10
- *** ENABLE,TAPE PF STAGING.
- * DISABLE,TAPE PF STAGING.
- *
- * ENABLE/DISABLE STAGING OF PERMANENT FILES FROM NON-ACS TAPE.
- ENTRY ETS
- LDC 10200
- JMP ESB ENTER STATUS BIT
- EUE SPACE 4,10
- *** ENABLE,USER ECS.
- * DISABLE,USER ECS.
- *
- * ENABLE/DISABLE USER ECS.
- ENTRY EUE
- LDN 40
- JMP ESB ENTER STATUS BIT
- SPACE 4,10
- CMDEND
- COMMAND (JOB CONTROL REQUESTS - DEVICES.)
- AJF SPACE 4,10
- *** MSAL,Z=N1,N2....
- *
- * WHERE Z = S FOR SECONDARY ROLLOUT FILES.
- * B FOR LGO FILES.
- * L FOR LOCAL FILES.
- * P FOR PRIMARY FILES.
- * D FOR DAYFILE FILES.
- * R FOR ROLLOUT FILES.
- * O FOR OUTPUT FILES.
- * I FOR INPUT FILES.
- * T FOR TEMP FILES.
- * AND N1,N2... IS A LIST OF EQUIPMENTS ON WHICH
- * TO TOGGLE THE FILE TYPE SPECIFIED.
- AJF4 JMP KIE *INCORRECT ENTRY*
- ENTRY AJF
- LDN MXRS SET INDEX FOR TABLE SEARCH
- STD T6
- AJF1 SOD T6 UPDATE INDEX
- LDM AJFB,T6 GET TABLE ENTRY
- LMM KBUF+5 COMPARE TO KEYBOARD ENTRY
- NJN AJF1 IF NO MATCH
- LDC KBUF+6 SET KEYBOARD INDEX
- AJF2 STD CA
- LDD T6 SET BIT TO SET
- ADD TH SHNI
- STM AJFA
- AJF3 AOD CA UPDATE KEYBOARD INDEX
- RJM ASD ASSEMBLE NEXT EST ORDINAL
- LDD AB+4 CHECK FOR VALID *MSAL* EQUIPMENT
- STD T4
- SBN 47D+1
- PJN AJF4 IF INCORRECT REQUEST
- AJF3.1 SFA EST,AB+4
- ADK EQDE
- CRD CM READ EST ENTRY
- LDD CM
- SHN -6
- LPN 44
- LMN 40
- NJP AJF4 IF NOT MASS STORAGE AND NON-REMOVABLE
- LDD CM SAVE BYTE ZERO OF THE EST ENTRY
- STD T3
- LDD CM+4 GET MST ADDRESS
- SHN 3
- ADN DILL READ MST WORD DILL
- CRD SR
- LDN 1
- AJFA SHN ** SHIFT TO CORRECT BIT
- LMD SR TOGGLE SELECTED FILE TYPE BIT
- STD SR
- LDD CM+4
- SHN 3
- ADN DILL
- CWD SR
- RJM TMB TOGGLE *MSAL* BIT
- LDD T6
- LMK TMPS
- NJN AFJ3.2 IF NOT TEMP SELECTION
- LDD T3
- SHN 21-11
- MJN AFJ3.3 IF SHARED DEVICE
- LDN TNDS SET TEMP-NONSHARED
- STD T6
- ERRNZ TMPS CODE DEPENDS ON VALUE
- RAM AJFA
- LDD T4
- STD AB+4
- LJM AJF3.1 LOOP TO PROCESS TEMP-NONSHARED
- AFJ3.2 LMN TNDS&TMPS
- NJN AFJ3.3 IF NOT TEMP-NONSHARED SELECTION
- * LDN TMPS RESET TO TEMP
- ERRNZ TMPS CODE DEPENDS ON VALUE
- STD T6
- LCN TNDS RESET SHIFT COUNT
- RAM AJFA
- AFJ3.3 LDI CA GET SEPARATOR CHARACTER
- LMN 1R,
- ZJP AJF3 IF COMMA
- JMP KBR NORMAL KEYBOARD RETURN
- AJFB BSS 0
- LOC 0
- TMPS CON 1RT TEMP FILES
- INPS CON 1RI INPUT FILES
- OUTS CON 1RO OUTPUT FILES
- ROLS CON 1RR ROLLOUT FILES
- UDFS CON 1RD DAYFILES
- PRIS CON 1RP PRIMARY FILES
- LCLS CON 1RL LOCAL FILES
- LGOS CON 1RB LGO FILES
- SRSS CON 1RS SECONDARY ROLLOUT FILES
- LOC *O
- TMB SPACE 4,10
- ** TMB - TOGGLE *MSAL* BITS.
- *
- * ENTRY (T6) = ALLOCATION INDEX.
- * (AB+4) = EST ORDINAL.
- *
- * USES T0, AB - AB+4, CM - CM+4.
- TMB SUBR ENTRY/EXIT
- LDN AB SET BYTE POINTER
- STD T0
- TMB1 AOD T0
- LCN 12D DIVIDE BY 12
- RAD AB+4
- PJN TMB1 IF NOT END OF DIVISION
- LMC 777777-SHNI
- SBN 1
- STM TMBA
- LDC MSAP READ ALLOCATION AREA ADDRESS
- CRD CM
- LDD CM
- SHN 14
- ADD CM+1
- ADD T6
- CRD AB
- LDN 1 TOGGLE BIT
- TMBA SHN **
- LMI T0
- STI T0
- LDD CM WRITE ALLOCATION WORD
- SHN 14
- ADD CM+1
- ADD T6
- CWD AB
- CWD AB INSURE *CPUMTR* *RTCM* DOES NOT OVERWRITE
- LJM TMBX RETURN
- CPTT SPACE 4,10
- *** CPTT=NNNN.
- *
- * SET CPU TRANSFER THRESHOLD FOR INDIRECT FILES.
- ENTRY CTT
- RJM ASD ASSEMBLE DIGITS
- LDD AB DETERMINE IF VALUE .LE. 7777B
- ADD AB+1
- ADD AB+2
- ADD AB+3
- ZJN CPT1 IF THRESHOLD .LE. 7777B
- JMP KIE *INCORRECT ENTRY*
- CPT1 LDK PFNL PERMANENT FILE PARAMETER WORD
- CRD CM
- LDD AB+4 *CPTT* VALUE
- STD CM+4
- LDK PFNL
- CWD CM
- JMP KBR RETURN
- SET SPACE 4,10
- *** SET,ABCD.
- *
- * SET LEFT SCREEN TABLE TO DISPLAYS A, B, C, AND D.
- * THE DISPLAYS CAN THEN BE TOGGLED USING THE *RIGHT
- * BLANK* KEY.
- ENTRY SET
- LDN 0 INITIALIZE INDEX
- STD T1
- SET1 LDM KBUF+4,T1 CHECK CHARACTER
- LMN 1R.
- ZJN SET2 IF *.*
- LMN 1R. ENTER CHARACTER
- STM TLSD,T1
- AOD T1 ADVANCE INDEX
- UJN SET1 LOOP
- SET2 JMP KBR RETURN
- TMP SPACE 4,10
- *** TEMP=N1,N2....
- *
- * WHERE N1,N2.... IS A LIST OF EQUIPMENTS ON WHICH
- * TO TOGGLE THE TEMPORARY FILE TYPE.
- ENTRY TMP
- LDN TMPS GET BIT POSITION FOR TEMP
- STD T6
- LDC KBUF+4 SET KEYBOARD INDEX
- LJM AJF2 PROCESS *TEMP* COMMAND
- SRS SPACE 4,10
- *** SRST=NNNN.
- *
- * SET SECONDARY ROLLOUT SECTOR THRESHOLD TO NNNN SECTORS.
- ENTRY SRS
- LDC KBUF+5 SET KEYBOARD INDEX
- STD CA
- RJM ASD ASSEMBLE DIGITS
- LDD AB DETERMINE IF VALUE .LE. 7777B
- ADD AB+1
- ADD AB+2
- ADD AB+3
- ZJN SRS1 IF THRESHOLD .LE. 7777B
- JMP KIE *INCORRECT ENTRY*
- SRS1 LDN IPRL INSTALLATION PARAMETER WORD
- CRD CM
- LDD AB+4 *SRST* VALUE
- STD CM+1
- LDN IPRL
- CWD CM
- JMP KBR RETURN
- SPACE 4,10
- CMDEND
- COMMAND (JOB CONTROL REQUESTS - QUEUE/SERVICE.)
- QUE SPACE 4,10
- *** QUEUE,SC,OT,ILXXXX,IPXXXX,LPXXXX,UPXXXX,WFXXXX.
- *
- * SET QUEUE PARAMETERS FOR QUEUE *QT* OF SERVICE
- * CLASS *SC*.
- *
- * WHERE -
- * QT = QUEUE TYPE.
- * IN = INPUT.
- * EX = EXECUTING.
- * OT = OUTPUT.
- *
- * ILXXXX = LOWER BOUND PRIORITY USED FOR INITIAL
- * SLICE OF JOB (ONLY FOR EXECUTING JOBS).
- * IPXXXX = INITIAL SCHEDULING PRIORITY (ONLY FOR
- * EXECUTING JOBS).
- * LPXXXX = LOWEST PRIORITY AT WHICH A FILE OR JOB
- * CAN ENTER THE SPECIFIED QUEUE.
- * UPXXXX = UPPER PRIORITY A JOB OR QUEUE FILE
- * CAN REACH IN THE SPECIFIED QUEUE.
- * WFXXXX = WEIGHTING FACTOR FOR QUEUE PRIORITY
- * CALCULATION (WF IS A POWER OF 2, RANGING
- * FROM 0 TO 40000).
- ENTRY QUE
- LDM 2,CA CHECK SEPARATORS
- LMN 1R,
- NJN QUE1 IF NOT *,*
- LDM 5,CA
- LMN 1R,
- ZJN QUE2 IF *,* PRESENT
- QUE1 JMP KIE *INCORRECT ENTRY*
- QUE2 LDC TNSC SEARCH FOR SERVICE CLASS
- RJM SPT
- STD T6 SET SERVICE CLASS
- LDN 3 SKIP SERVICE CLASS
- RAD CA
- LDC TQUT SEARCH FOR QUEUE TYPE
- RJM SPT
- STD T7 SAVE QUEUE TYPE
- STD SP
- LDD T6 GET JOB CONTROL AREA FWA FOR SERVICE CLASS
- RJM RJC
- ZJN QUE1 IF NO JCB FOR SPECIFIED SERVICE CLASS
- RAD T7 SET WORD ADDRESS
- CRD CM
- SHN -14
- STD T6
- LDN 2 SKIP QUEUE TYPE
- RAD CA
- LDN 1 INDICATE NOT END OF PARAMETERS
- STD T5
- QUE3 AOD CA SKIP SEPARATOR
- LDC TQPN SEARCH PARAMETER TABLE
- RJM SPT
- ADN CM SET BYTE ADDRESS
- STD T4
- LDN 2 SKIP PARAMETER NAME
- RAD CA
- RJM AOD CONVERT DIGITS
- STI T4
- LJM QUEA-CM,T4 CHECK PARAMETER
- QUEA UJN QUE4 ILXXXX
- UJN QUE8 LPXXXX
- UJN QUE8 UPXXXX
- UJN QUE6 WFXXXX
- UJN QUE4 IPXXXX
- QUE4 LDD SP CHECK QUEUE TYPE
- LMN TQUTA-TQUT
- ZJN QUE8 IF EXECUTING JOB
- QUE5 JMP KIE *INCORRECT ENTRY*
- QUE6 ZJN QUE5 IF NULL WEIGHTING FACTOR
- SBK MXWF+1
- PJN QUE5 IF WEIGHTING FACTOR TOO LARGE
- LCN 0
- STI T4
- QUE7 AOI T4 ADVANCE SHIFT COUNT
- LDD AB+4
- SHN 21
- STD AB+4
- PJN QUE7 IF BIT NOT SET
- LDD AB+4
- NJN QUE5 IF WEIGHTING FACTOR NOT POWER OF 2
- QUE8 LDD T5
- ZJN QUE9 IF END OF PARAMETERS
- LJM QUE3 LOOP
- QUE9 LDD CM+1 CHECK AGING PARAMETERS
- SBD CM+2
- PJN QUE5 IF LOWER BOUND .GE. UPPER BOUND
- LDD T6 STORE QUEUE CONTROL
- SHN 14
- ADD T7
- CWD CM
- JMP KBR RETURN
- TNSC SPACE 4,10
- ** TNSC - TABLE OF TWO-CHARACTER SERVICE CLASS TYPES.
- LIST D,G
- TNSC DATA H+"NMSC"+
- LIST *
- CON 0 END OF TABLE
- SER SPACE 4,25
- *** SERVICE,SC,P1XXXX,P2XXXX,...,PNXXXX.
- *
- * SET SERVICE LIMITS FOR JOB SERVICE CLASS *SC*.
- *
- * CT CONTROL POINT TIME SLICE (SECONDS).
- * CM CM TIME SLICE (SECONDS).
- * NJ MAXIMUM NUMBER OF JOBS.
- * TD TIMEOUT DELAY.
- * CP CONTROL POINT TIME SLICE PRIORITY.
- * TP BASE PRIORITY FOR SCHEDULABLE ON-LINE
- * INTERACTIVE JOBS.
- * FL MAXIMUM FL/100B OF ANY JOB.
- * AM MAXIMUM FL/100B FOR ALL JOBS.
- * EC MAXIMUM FLE/1000B OF ANY JOB.
- * EM MAXIMUM FLE/1000B FOR ALL JOBS.
- * DT SERVICE CLASS TO ASSIGN TO JOB ON A DETACH.
- * PR CPU PRIORITY.
- * IT SYSTEM I/O CPU THRESHOLD.
- * SE CPU SLICE EXTENSION.
- * RS RECALL CPU SLICE.
- * US UNEXTENDED CPU SLICE.
- *
- * THE FOLLOWING ARE INDICES INTO TABLES OF LIMIT VALUES
- * DEFINED IN *COMSPFM*.
- * FC NUMBER OF FILES IN CATALOG (0-7).
- * CS CUMULATIVE SIZE OF INDIRECT ACCESS FILES (0-7).
- * FS INDIVIDUAL SIZE OF INDIRECT ACCESS FILES (0-7).
- * DS INDIVIDUAL SIZE OF INDIRECT ACCESS FILES (0-7).
- ENTRY SER
- LDM 2,CA CHECK SEPARATOR
- LMN 1R,
- ZJN SER2 IF *,*
- SER1 JMP KIE *INCORRECT ENTRY*
- SER2 LDC TNSC SEARCH FOR SERVICE CLASS
- RJM SPT
- STD AB+3 SET SERVICE CLASS FOR *1DS*
- SBN MXJC
- PJN SER1 IF NO JCB FOR SPECIFIED SERVICE CLASS
- LDD CA SAVE BUFFER POINTER FOR RETRY
- SBK KBUF
- STD AB+4
- LDC /1DS/SERF+/1DS/LOCK SET FUNCTION CODE
- RJM C1D PROCESS FUNCTION
- LDC SER3 SET REENTRY ADDRESS
- STM /KEYBOARD/KCRB
- SER3 LDC /1DS/DSDL
- CRD CM
- LDD CM
- ZJN SER4 IF PROCESSING COMPLETE
- LJM CLP1 RETRY
- SER4 LDC /1DS/DSDL+1 CHECK FOR ERROR
- CRD CM
- LDD CM
- NJP SER1 IF ERROR
- LJM KBR RETURN
- TQPN SPACE 4,10
- ** TQPN - TABLE OF *QUEUE* PARAMETERS.
- *
- * NOTE THE INDEX OF AN ENTRY IN *TQPN* IS THE
- * BYTE NUMBER OF WHERE THE VALUE WILL BE
- * STORED IN THE JOB CONTROL AREA WORD.
- TQPN BSS 0
- LOC 0
- CON 2RIL LOWER BOUND PRIORITY
- CON 2RLP LOWER PRIORITY RANGE
- CON 2RUP UPPER PRIORITY RANGE
- CON 2RWF WEIGHTING FACTOR
- CON 2RIP INITIAL SCHEDULING PRIORITY
- LOC *O
- CON 0
- AOD SPACE 4,10
- ** AOD - ASSEMBLE OCTAL DIGITS.
- *
- * ENTRY (CA) = ADDRESS OF NEXT CHARACTER.
- *
- * EXIT (A) = (AB+4) = ASSEMBLED VALUE.
- * (T5) = 0 IF SEPARATOR CHARACTER = *.*.
- *
- * ERROR TO *KIE* IF INCORRECT SEPARATOR OR VALUE .GT. 7777.
- *
- * CALLS ASD.
- AOD2 LDD AB CHECK ASSEMBLY
- ADD AB+1
- ADD AB+2
- ADD AB+3
- NJN AOD1 IF VALUE .GT. 7777
- LDD AB+4
- AOD SUBR ENTRY/EXIT
- RJM ASD ASSEMBLE DIGITS
- LMN 1R,
- ZJN AOD2 IF SEPARATOR = *,*
- LMN 1R.&1R,
- STD T5
- ZJN AOD2 IF SEPARATOR = *.*
- AOD1 JMP KIE *INCORRECT ENTRY*
- SPT SPACE 4,10
- ** SPT - SEARCH PARAMETER TABLE.
- *
- * ENTRY (A) = FWA OF PARAMETER TABLE.
- * (CA) = CHARACTER ADDRESS.
- *
- * EXIT (A) = INDEX OF ENTRY FOUND.
- *
- * USES T1, T2, T3.
- SPT2 LDD T2 RETURN WITH INDEX
- SBD T3
- SPT SUBR ENTRY/EXIT
- STD T3 SET TABLE FWA
- STD T2
- LDI CA ASSEMBLE PARAMETER NAME
- SHN 6
- LMM 1,CA
- STD T1
- LDI T2
- SPT1 LMD T1
- ZJN SPT2 IF MATCH FOUND
- AOD T2 ADVANCE TABLE
- LDI T2
- NJN SPT1 IF NOT END OF TABLE
- JMP KIE *INCORRECT ENTRY*
- TQUT SPACE 4,10
- ** TQUT - TABLE OF QUEUE TYPES.
- TQUT CON 2RIN
- TQUTA CON 2REX
- CON 2ROT
- CON 0 END OF TABLE
- SPACE 4,10
- CMDEND
- COMMAND (DISPLAY CHANGE REQUESTS.),CMR
- RSA SPACE 4,10
- *** A.
- *
- * ROLL SYSTEM DAYFILE.
- DSA EQU /DISPLAY/DSA SET OVERLAY NAME
- ENTRY RSA
- LDN 0 SET MASTER DAYFILE
- RSA1 STM ADSC SET DAYFILE TYPE
- SHN -14
- STD T2
- LCN 0 SET DISPLAY RESET REQUEST
- STM TDSA,T2
- RSA2 LDN 1RA SET DISPLAY NAME
- STD T7
- RJM CJS CLEAR JSN ON SCREEN HEADER
- LDC DSA/10000 OVERLAY NAME
- STM /DSD/TDSO+1RA
- LDN 0 SET SCREEN FULL
- STM ADSC+2
- RSA3 LDN 1RA SET *A* DISPLAY
- STD T1
- LJM SLS1 EXIT
- ADS SPACE 4,10
- *** A,.
- *
- * DISPLAY SYSTEM DAYFILE WITH NO ROLL.
- ENTRY ADS ENTRY
- LDN 0
- STM ADSC
- UJN RSA2 CONTINUE
- AAF SPACE 4,10
- *** A,ACCOUNT FILE.
- *
- * SET *A* DISPLAY TO ACCOUNT FILE.
- ENTRY AAF
- LDN 14 SKIP TO *.*
- RAD CA
- LDC 10000 SET ACCOUNT FILE
- AAF1 ADD NC
- JMP RSA1 SET DISPLAY
- AEL SPACE 4,10
- *** A,ERROR LOG.
- *
- * SET *A* DISPLAY TO ERROR LOG.
- ENTRY AEL
- LDN 11 SKIP TO *.*
- RAD CA
- LDC 20001 SET ERROR LOG
- UJN AAF1 SET DISPLAY
- AOD SPACE 4,10
- *** A,OPERATOR.
- *
- * SET *A* DISPLAY TO OPERATOR STATUS.
- DOD EQU /DISPLAY/DOD OVERLAY NAME
- ENTRY AOD ENTRY
- LDC DOD/10000 SET OVERLAY NAME
- STM /DSD/TDSO+1RA
- JMP RSA3 SET *A* DISPLAY
- DAY SPACE 4,10
- *** DAYFILE,JSN.
- *
- * SET DAYFILE OF JOB SPECIFIED ON LEFT SCREEN.
- ENTRY DAY ENTRY
- LDI CA
- LMN 1R.
- ZJN DAY1 IF NO JSN
- LDN 1 SET JOB DAYFILE
- JMP RSA1 SET *A* DISPLAY
- DAY1 JMP KIE *INCORRECT ENTRY*
- CHB SPACE 4,10
- *** B,TYPE.
- *
- * REQUEST ONE OF THE FOLLOWING SYSTEM STATUS DISPLAYS.
- *
- * B,A. - ANALYST DISPLAY.
- * B,. OR B,O. - OPERATOR DISPLAY.
- ENTRY CHB
- LDM KBUF+2 GET THE TYPE CHARACTER
- LMN 1RA
- ZJN CHB1 IF *B,A*
- LDN 1RO&1RA
- CHB1 STM TDSB SET THE DEFAULT TYPE
- LDN 1RB SET DISPLAY NAME
- LJM SLS SET LEFT SCREEN
- CHE SPACE 4,10
- *** E,TYPE.
- *
- * REQUEST ONE OF THE FOLLOWING EQUIPMENT DISPLAYS.
- *
- * A - ALL EQUIPMENTS.
- * C - MASS STORAGE CONFIGURATION.
- * E - MASS STORAGE ERROR CONDITIONS.
- * F - FAMILY STATUS.
- * H - MASS STORAGE DEVICE THRESHOLDS.
- * M - MASS STORAGE DEVICE STATUS.
- * O - OPTICAL DISK REQUEST PREVIEW.
- * P - MOUNTING PREVIEW.
- * S - OPTICAL DISK STATUS.
- * T - MAGNETIC TAPES.
- ENTRY CHE
- LDM KBUF+2 SET CHARACTER
- STD T1
- LDC TCHE-1 SET TABLE INDEX
- STD T2
- CHE1 AOD T2 ADVANCE TABLE
- LDI T2 COMPARE CHARACTERS
- SHN -6
- ZJN CHE2 IF END OF TABLE
- LMD T1
- NJN CHE1 IF NO MATCH
- CHE2 LDM TCHEL,T2 LOAD OVERLAY NAME
- STM /DSD/TDSO+1RE
- LDN 1RE SET LEFT SCREEN DISPLAY = *E*
- STD T1
- LDN 0 CLEAR LEFT SCREEN INDEX
- STM TDSE
- LJM SLS1 EXIT
- TCHE BSS 0
- QUAL DISPLAY
- VFD 6/1RC,6/DSEC-DSEC/10000*10000
- VFD 6/1RE,6/DSEE-DSEE/10000*10000
- VFD 6/1RF,6/DSEF-DSEF/10000*10000
- VFD 6/1RH,6/DSEH-DSEH/10000*10000
- VFD 6/1RM,6/DSEM-DSEM/10000*10000
- VFD 6/1RO,6/DSEO-DSEO/10000*10000
- VFD 6/1RP,6/DSEP-DSEP/10000*10000
- VFD 6/1RS,6/DSES-DSES/10000*10000
- VFD 6/1RT,6/DSET-DSET/10000*10000
- CON DSE-DSE/10000*10000
- QUAL *
- TCHEL EQU *-TCHE
- QUAL DISPLAY
- CON DSEC/10000
- CON DSEE/10000
- CON DSEF/10000
- CON DSEH/10000
- CON DSEM/10000
- CON DSEO/10000
- CON DSEP/10000
- CON DSES/10000
- CON DSET/10000
- CON DSE/10000
- QUAL *
- SCP SPACE 4,10
- *** O,SCP.
- *
- * DISPLAY SUB CONTROL POINT STATUS.
- ENTRY SCP
- LDC /DISPLAY/DTS/10000
- SCP1 STM /DSD/TDSO+17B SET DISPLAY OVERLAY NAME
- LDN 1RO SET *O* DISPLAY
- STD T1 STORE *O* DISPLAY
- LJM SLS1 EXIT
- STL SPACE 4,10
- *** O,TLD.
- *
- * DISPLAY TASK LIBRARY DIRECTORY.
- ENTRY STL
- LDC /DISPLAY/DTL/10000
- UJN SCP1 SET DISPLAY
- STS SPACE 4,10
- *** O,TST.
- *
- * DISPLAY TRANSACTION STATUS TABLE.
- ENTRY STS
- LDC /DISPLAY/DSO/10000
- UJN SCP1 SET DISPLAY
- SQT SPACE 4,10
- *** Q,QT.
- *
- * SET *Q,QT* DISPLAY ON LEFT SCREEN.
- *
- * QT = IN, INPUT QUEUE FILES.
- * PU, PUNCH QUEUE FILES.
- * PL, PLOT QUEUE FILES.
- * PR, PRINT QUEUE FILES.
- * WT, WAIT QUEUE FILES.
- ENTRY SQT
- RJM ASN ASSEMBLE QUEUE TYPE
- LDD AB+1
- NJN SQT2 IF QUEUE TYPE .GT. 2 CHARACTERS
- LDN TQTYL-TQTYE INITIALIZE TABLE SEARCH
- STD T4
- SQT1 LDM TQTY,T4
- LMD AB
- ZJN SQT3 IF QUEUE TYPE FOUND
- LCN TQTYE
- RAD T4
- PJN SQT1 IF NOT END OF TABLE
- SQT2 JMP KIE *INCORRECT ENTRY*
- SQT3 LDM TQTY+1,T4 SAVE QUEUE TYPE
- SQT4 STM TDSQA
- LDN 1RQ
- STD T1
- LJM SLS1 SET DISPLAY ON LEFT SCREEN
- TQTY SPACE 4,10
- * TQTY - TABLE OF QUEUE TYPES.
- TQTY CON 2RIN,/JIO/INQT
- TQTYE EQU *-TQTY ENTRY LENGTH
- CON 2RPU,/JIO/PHQT
- CON 2RPL,/JIO/PLQT
- CON 2RPR,/JIO/PRQT
- CON 2RWT,/JIO/WTQT
- TQTYL EQU *-TQTY
- SQD SPACE 4,10
- *** Q,.
- *
- * SET *Q* DISPLAY ON LEFT SCREEN.
- ENTRY SQD
- LDC 4000 SET ALL QUEUE TYPES
- UJN SQT4 SET DISPLAY ON LEFT SCREEN
- SWD SPACE 4,10
- *** W,TYPE.
- *
- * REQUEST ONE OF THE FOLLOWING DISPLAYS.
- *
- * TYPE = A, MEMORY ALLOCATION.
- * C, CHANNEL STATUS.
- * M, MISC. PARAMETERS.
- * P, TABLE ADDRESSES.
- * Q, SYSTEM REQUESTS.
- * R, SYSTEM RESOURCES.
- ENTRY SWD
- LDM KBUF+2 SET CHARACTER
- STD T1
- LDC TSWD-1 SET TABLE ADDRESS
- STD T2
- SWD1 AOD T2
- LDI T2 GET VALID CHARACTER
- ZJN SWD2 IF END OF TABLE
- LMD T1
- NJN SWD1 IF NO MATCH
- SWD2 LDM TSWDL,T2 LOAD OVERLAY NAME
- STM /DSD/TDSO+1RW
- LDN 1RW
- STD T1
- LJM SLS1 SET LEFT SCREEN
- TSWD BSS 0 TABLE OF VALID CHARACTERS
- CON 1RA MEMORY ALLOCATION
- CON 1RC CHANNEL STATUS
- CON 1RM MISC. PARAMETERS
- CON 1RP TABLE ADDRESSES
- CON 1RQ SYSTEM REQUESTS
- CON 1RR SYSTEM RESOURCES
- CON 0 END OF TABLE
- TSWDL EQU *-TSWD
- QUAL DISPLAY
- CON DSWA/10000 A
- CON DSWC/10000 C
- CON DSWM/10000 M
- CON DSWP/10000 P
- CON DSWQ/10000 Q
- CON DSWR/10000 R
- CON DSWR/10000 DISPLAY *R* OPTION IF NO MATCH
- QUAL *
- SPACE 4,10
- CMDEND
- COMMAND (RESOURCE CONTROL COMMANDS.)
- MNT SPACE 4,10
- *** MOUNT,XXX.
- * MOUNT,XXX,P.
- *
- * REQUEST PROCESSING OF MASS STORAGE EST ORDINAL XXX. IF *P*
- * IS SPECIFIED, PROCESS INDEPDENDENT SHARED DEVICE.
- ENTRY MNT
- RJM ASD ASSEMBLE EST ORDINAL
- LDI CA CHECK FOR EXTENDED PARAMETER
- SBN 1R,
- NJN MNT2 IF NON-SHARED RMS CALL
- AOD CA INCREMENT TO NEXT CHARACTER
- LDI CA
- SBN 1RP
- ZJN MNT1 IF PRESETTING FOR SHARED RMS
- JMP KIE *INCORRECT ENTRY*
- MNT1 LDC MMFL TEST FOR SHARED RMS
- CRD CM
- LDC 2000 SET FOR PRESET PROCESSING
- RAD AB+4
- LDD CM+1
- SHN 21-13
- MJN MNT2 IF SHARED RMS PRESET
- JMP KIE *INCORRECT ENTRY*
- MNT2 LDC 4000 FLAG MOUNT REQUEST
- STD AB
- UJN UNL1 READ EST POINTER
- UNL SPACE 4,10
- *** UNLOAD,XXX.
- *
- * LOGICALLY REMOVE RESOURCE (MAGNETIC TAPE OR MASS STORAGE)
- * DRIVE FROM ENVIRONMENT WHILE THAT DRIVE IS BEING UNLOADED
- * BY THE OPERATOR.
- ENTRY UNL
- RJM ASD ASSEMBLE EST ORDINAL
- * ENTRY FROM *MOUNT* COMMAND.
- UNL1 LDN ESTP READ EST POINTER
- CRD CM
- LDD AB+4
- LPC 5777 MASK OFF *MOUNT* PRESET BIT
- STD CM
- SBD CM+2
- PJN UNL5 IF BEYOND EST
- SFA EST,CM
- ADK EQDE
- CRD CM READ EST ENTRY
- LDD CM
- SHN 21-13
- MJN UNL3 IF MASS STORAGE
- LJM UNL12 PROCESS NON-MASS STORAGE
- UNL3 SHN 4 CHECK REMOVABLE AND SHARED STATUSES
- LPN 3
- NJN UNL4 IF REMOVABLE AND/OR SHARED DEVICE
- JMP KIE *INCORRECT ENTRY*
- UNL4 LDD AB
- ZJN UNL6 IF UNLOAD REQUEST
- LDD CM
- SHN 21-7
- PJN UNL6 IF NOT *LDAM* TYPE EQUIPMENT
- LDD CM+4 READ UNIT LIST WORD
- SHN 3
- ADN DDLL
- CRD T3
- LDD T3 CHECK NULL LIST BIT
- SHN 21-12
- PJN UNL6 IF NOT NULL EQUIPMENT
- UNL5 LJM UNL13 *INCORRECT EQUIPMENT*
- UNL6 LDD CM
- SHN 21-10
- PJN UNL8 IF DEVICE NOT REMOVABLE
- LDD AB
- ZJN UNL9 IF UNLOAD REQUEST
- LDD CM
- LPN 3 CHECK DEVICE STATE
- LMN 3
- NJN UNL9 IF NOT DOWN
- UNL7 JMP KIE *INCORRECT ENTRY*
- UNL8 LDD LK
- ZJN UNL7 IF CONSOLE LOCKED
- UNL9 LDD CM+4 GET MST STATUS WORD
- SHN 3
- ADN STLL
- CRD T3
- LDD AB
- NJN UNL10 IF MOUNT REQUEST
- LDD T3
- LPN MLIRP
- ZJN UNL10 IF NO INITIALIZATION SCHEDULED
- LDC =C*INITIALIZE PENDING*
- JMP KMS DISPLAY MESSAGE
- UNL10 LDD CM+1
- SHN 0-11 CHECK PRIMARY CHANNEL
- LMN 4
- ZJN UNL11 IF CHANNEL 1 AVAILABLE
- LDD CM+2
- SHN 0-11 CHECK SECONDARY CHANNEL
- LMN 4
- NJN UNL7 IF CHANNEL 2 UNAVAILABLE
- UNL11 LDD AB SET MOUNT / UNLOAD REQUEST
- LMN LUNL
- STD AB+3
- LDN /1DS/TPSF
- JMP KAR PROCESS *1DS* CALL
- * PROCESS NON MASS STORAGE REQUEST.
- UNL12 LDD AB
- NJN UNL13 IF MOUNT COMMAND
- LDD CM+3 CHECK IF TAPE DRIVE
- LMC 2RMT
- ZJN UNL14 IF *MT*
- LMC 2RNT&2RMT
- ZJN UNL14 IF *NT*
- LMC 2RCT&2RNT
- ZJN UNL14 IF *CT*
- LMC 2RAT&2RCT
- ZJN UNL14 IF *AT*
- LMC 2ROD&2RAT
- NJN UNL13 IF NOT *OD*
- LDD CM+4 CHECK FOR JUKEBOX UNIT
- LPN 10
- ZJN UNL11 IF NOT JUKEBOX UNIT
- UNL13 LDC =C*INCORRECT EQUIPMENT*
- JMP KMS DISPLAY MESSAGE
- * PROCESS TAPE EQUIPMENT.
- UNL14 LDN ZERL
- CRD SP
- LDN /MTX/XUU SET UNLOAD REQUEST
- STD SP
- LDD AB+4 SET EST ORDINAL
- STD SP+1
- LDN ZERL
- CRD AB
- LDC MTSI CHECK MAGNET STATUS
- RJM FSS
- NJN UNL15 IF MAGNET ACTIVE
- LDC =C*MAG NOT ACTIVE*
- JMP KMS DISPLAY MESSAGE
- UNL15 STD AB+4 SET MAGNET CP NUMBER
- LDC /1DS/EUFF+/1DS/CMOV+/1DS/LOCK
- RJM C1D
- LDC UNL16 SET REENTRY ADDRESS
- STM /KEYBOARD/KCRB
- UNL16 LDC /1DS/DSDL
- CRD CM
- ADN 1
- CRD AB
- LDD CM
- NJP CLP1 IF *1DS* NOT COMPLETE
- LDD AB
- ZJP KBR IF NO ERROR
- LDC =C*INCORRECT EQUIPMENT*
- JMP KMS DISPLAY ERROR MESSAGE
- SPACE 4,10
- CMDEND
- COMMAND (TAPE EQUIPMENT COMMANDS.)
- SPACE 4,10
- *** GO,XXX.
- *
- * PROCEED WITH ASSIGNMENT OF REEL ON UNIT XXX.
- ENTRY GBL
- LDN /MTX/XUG SET *GO* REQUEST
- UJN PTC PROCESS TAPE EQUIPMENT COMMAND
- SPACE 4,10
- *** STOP,XXX.
- *
- * UNLOAD REEL ON UNIT XXX TO REJECT ASSIGNMENT TO JOB.
- ENTRY SBL
- LDC /MTX/XUS SET *STOP* REQUEST
- UJN PTC PROCESS TAPE EQUIPMENT COMMAND
- SPACE 4,10
- *** RETRY,XXX.
- *
- * RETRY TAPE I/O OPERATION AFTER LOAD POINT ERROR.
- ENTRY RTY
- LDC /MTX/XRT SET *RETRY* REQUEST
- UJN PTC PROCESS TAPE EQUIPMENT COMMAND
- TRM SPACE 4,10
- *** TERMINATE,XXX.
- *
- * TERMINATE TAPE I/O OPERATION AFTER LOAD POINT ERROR.
- ENTRY TRM
- LDN /MTX/XTR SET *TERMINATE* REQUEST
- UJN PTC PROCESS TAPE EQUIPMENT COMMAND
- NVS SPACE 4,10
- *** NEXTVSN,XXX,YYYYYY.
- *
- * SPECIFY NEXT VSN AT END OF REEL.
- ENTRY NVS
- LDN /MTX/XNV SET *NEXTVSN* REQUEST
- UJN PTC PROCESS TAPE EQUIPMENT COMMAND
- MTA SPACE 4,10
- *** MOUNT,XXX,YYYYYY.
- *
- * MOUNT CARTRIDGE WITH VSN YYYYYY ON ACS TAPE UNIT WITH EST
- * ORDINAL XXX.
- ENTRY MTA
- LDN /MTX/XMU SET MOUNT UNIT
- UJN PTC PROCESS TAPE EQUIPMENT COMMAND
- SCR SPACE 4,10
- *** SCRATCH,XXX.
- *
- * DECLARE TAPE EST ORDINAL XXX TO BE AN AVAILABLE SCRATCH TAPE
- * WHICH MAY BE ASSIGNED BY ANY SCRATCH VSN. EXISTING VOL1
- * VSN WILL NOT BE CHANGED.
- ENTRY SCR
- LDN /MTX/XSV SET SCRATCH VSN
- UJN PTC PROCESS TAPE EQUIPMENT COMMAND
- VSN SPACE 4,10
- *** VSN,XXX,YYYYYY.
- *
- * ASSIGN VOLUME SERIAL NUMBER TO TAPE ON EST ORDINAL XXX.
- VSN SPACE 4,10
- *** VSN,XXX,.
- *
- * DECLARE TAPE EST ORDINAL XXX TO BE AN AVAILABLE SCRATCH TAPE.
- VSN SPACE 4,10
- *** VSN,XXX.
- *
- * CLEAR VSN ON EST ORDINAL XXX AND RECHECK FOR LABELS.
- ENTRY VSN
- LDN /MTX/XEV SET ENTER VSN
- * UJN PTC PROCESS TAPE EQUIPMENT COMMAND
- PTC SPACE 4,10
- ** PTC - PROCESS TAPE EQUIPMENT COMMAND.
- *
- * ENTRY (A) = REQUEST CODE.
- *
- * USES T1, AB - AB+4, CM - CM+4, SP - SP+4.
- *
- * CALLS ASD, AVS, C1D, FSS.
- PTC BSS 0 ENTRY
- STD T1 SAVE REQUEST CODE
- LDN ZERL
- CRD SP
- LDD T1 SET REQUEST CODE
- STD SP
- RJM ASD ASSEMBLE EST ORDINAL
- LDD AB+4 SET EST ORDINAL
- STD SP+1
- LDI CA
- LMN 1R.
- ZJN PTC1 IF NO VSN SPECIFIED
- RJM AVS ASSEMBLE VSN
- PTC1 LDN ZERL
- CRD AB
- LDC MTSI CHECK MAGNET STATUS
- RJM FSS
- NJN PTC2 IF MAGNET ACTIVE
- LDC =C*MAG NOT ACTIVE*
- JMP KMS DISPLAY MESSAGE
- PTC2 STD AB+4 SET MAGNET CP NUMBER
- LDC /1DS/EUFF+/1DS/CMOV+/1DS/LOCK
- RJM C1D
- LDC PTC3 SET REENTRY ADDRESS
- STM /KEYBOARD/KCRB
- PTC3 LDC /1DS/DSDL
- CRD CM
- ADN 1
- CRD AB
- LDD CM
- NJP CLP1 IF *1DS* NOT COMPLETE
- LDD AB
- ZJP KBR IF NO ERROR
- LMN 1
- NJN PTC4 IF NOT EQUIPMENT ERROR
- LDC =C*INCORRECT EQUIPMENT*
- JMP KMS DISPLAY MESSAGE
- PTC4 LDC =C*VSN NOT AVAILABLE*
- JMP KMS DISPLAY MESSAGE
- AVS SPACE 4,10
- ** AVS - ASSEMBLE VSN.
- *
- * EXIT (SP+2 - SP+4) = VSN SPACE FILLED.
- *
- * USES CA, T1, T2, SP+2 - SP+4.
- AVS SUBR ENTRY/EXIT
- LDC 2R SPACE FILL VSN
- STD SP+2
- STD SP+3
- STD SP+4
- AOD CA BYPASS PREVIOUS SEPARATOR
- LDN SP+2 ASSEMBLE VSN
- STD T1
- AVS1 LDI CA
- ZJN AVSX IF END OF STRING
- SBN 1R9+1
- PJN AVSX IF SEPARATOR
- ADN 1R9+1
- SHN 6
- STD T2
- LDI T1
- LPN 77
- ADD T2
- STI T1
- AOD CA
- LDI CA
- ZJN AVSX IF END OF STRING
- SBN 1R9+1
- PJN AVSX IF SEPARATOR
- ADN 1R9+1
- STD T2
- LDI T1
- SCN 77
- ADD T2
- STI T1
- AOD CA
- AOD T1
- LMN SP+5
- NJN AVS1 IF MORE CHARACTERS POSSIBLE
- LJM AVSX RETURN
- SPACE 4,10
- CMDEND
- COMMAND (MAINTENANCE COMMANDS.),CMR
- RDF SPACE 4,10
- *** REDEFINE,XXX.
- *
- * SET REDEFINITION REQUESTED BIT IN MST FOR *LDAM* TYPE
- * EQUIPMENT TO BEGIN RECONFIGURATION RUN.
- ENTRY RED
- RJM CMS CHECK FOR MASS STORAGE EQUIPMENT
- SHN 21-7
- PJN RDF1 IF NOT *LDAM* TYPE DEVICE
- SHN 7-4
- MJN RDF1 IF INDEPENDENT SHARED DEVICE
- LDD CM+3 CHECK DEVICE TYPE
- LMC 2RDD
- ZJN RDF1 IF 834
- LMN 2RDG&2RDD
- ZJN RDF1 IF 836
- LDD CM+4 CHECK FOR BUFFERED DEVICE
- SHN 3
- ADN DILL
- CRD CM
- LDD CM+3
- SHN 21-13
- MJN RDF1 IF BUFFERED DEVICE
- SFA EST,AB+4 CHECK IF DEVICE ALREADY ASSIGNED
- ADK EQAE
- CRD CM
- LDD CM+4
- NJN RDF1 IF DEVICE ALREADY ASSIGNED
- LDN GRDR SET REDEFINITION REQUESTED
- STD AB+3
- LDN /1DS/SCAF
- JMP KAR PROCESS *1DS* CALL
- RDF1 JMP KIE *INCORRECT ENTRY*
- RST SPACE 4,10
- *** RESTORE,XXX.
- *
- * RESTORE PARITY PROTECTION FOR DAS DRIVE WITH EST ORDINAL XXX.
- ENTRY RST
- RJM CMS CHECK FOR MASS STORAGE EQUIPMENT
- LDN TRSTL CHECK DEVICE TYPE
- STD T1
- RST1 SOD T1
- MJN RST2 IF DEVICE DOES NOT SUPPORT RESTORE
- LDD CM+3
- LMM TRST,T1
- NJN RST1 IF DEVICE TYPE DOES NOT MATCH
- LDD CM+1
- SHN 0-11 CHECK PRIMARY CHANNEL
- LMN 4
- ZJN RST3 IF CHANNEL 1 AVAILABLE
- LDD CM+2
- SHN 0-11 CHECK SECONDARY CHANNEL
- LMN 4
- ZJN RST3 IF CHANNEL 2 AVAILABLE
- RST2 JMP KIE *INCORRECT ENTRY*
- RST3 LDD CM
- SHN 21-11
- PJN RST4 IF NOT SHARED DEVICE
- SHN 21-6-21+11
- MJN RST2 IF DEVICE UNAVAILABLE (NOT RECOVERED)
- RST4 LDN /1DS/RSTF
- JMP KAR PROCESS *1DS* REQUEST
- TBLM SPACE 4,10
- ** TBLM - GENERATE TABLE OF DEVICES WITH PARITY PROTECTION.
- *
- * TBLM TY
- *
- * ENTRY (TY) = MASS STORAGE EQUIPMENT MNEMONIC.
- PURGMAC TBLM
- TBLM MACRO TY
- TBLM IFEQ /MSP/BF_TY,7,1
- CON 2R_TY
- TBLM ENDIF
- TBLM ENDM
- TRST BSS 0 DEVICES ALLOWED FOR RESTORE
- LIST G
- TBL "MSEQ"
- LIST *
- TRSTL EQU *-TRST LENGTH OF TABLE
- PURGMAC TBLM
- SDU SPACE 4,10
- *** SPINDOWN,XXX.
- *
- * SPIN DOWN DRIVE WITH EST ORDINAL XXX.
- ENTRY SDU
- AOM SUUB
- * UJN SUU PROCESS COMMAND
- SUU SPACE 4,10
- *** SPINUP,XXX.
- *
- * SPIN UP DRIVE WITH EST ORDINAL XXX.
- ENTRY SUU
- RJM CMS CHECK FOR MASS STORAGE EQUIPMENT
- LDN TSUUL CHECK DEVICE TYPE
- STD T1
- SUU1 SOD T1
- MJN SUU3 IF DEVICE DOES NOT SUPPORT SPIN UP/DOWN
- LDD CM+3
- LMM TSUU,T1
- NJN SUU1 IF DEVICE TYPE DOES NOT MATCH
- SUUB LDN 0
- * LDN 1 (SPIN DOWN DRIVE)
- STD AB+3
- ZJN SUU2 IF SPIN UP REQUEST
- LDD CM
- LPN 3 CHECK DEVICE STATE
- LMN 3
- NJN SUU3 IF DEVICE NOT DOWN
- SUU2 LDD CM+1
- SHN 0-11 CHECK PRIMARY CHANNEL
- LMN 4
- ZJN SUU4 IF CHANNEL 1 AVAILABLE
- LDD CM+2
- SHN 0-11 CHECK SECONDARY CHANNEL
- LMN 4
- ZJN SUU4 IF CHANNEL 2 AVAILABLE
- SUU3 JMP KIE *INCORRECT ENTRY*
- SUU4 LDN /1DS/SPNF
- JMP KAR PROCESS *1DS* REQUEST
- TSUU BSS 0 DEVICES ALLOWED FOR SPINUP/SPINDOWN
- CON 2RDD 834
- CON 2RDG 836
- CON 2RDF 887 (4KB SECTOR)
- CON 2RDH 887 (16KB SECTOR)
- TSUUL EQU *-TSUU LENGTH OF TABLE
- SPACE 4,10
- *** VALIDATE,XXX.
- *
- * VALIDATE MST/TRT FOR EST ORDINAL XXX.
- ENTRY VMS
- LDN SSTL
- CRD CM
- LDD CM
- LPN 4
- NJN SUU3 IF MONITOR SEGMENT *VMS* NOT LOADED
- RJM CMS CHECK FOR MASS STORAGE EQUIPMENT
- SHN 21-6
- PJN VMS2 IF AVAILABLE MASS STORAGE DEVICE
- VMS1 LDC =C*ILLEGAL EQUIPMENT.*
- JMP KMS
- VMS2 LDN /1DS/VMSF
- JMP KAR VALIDATE EQUIPMENT
- CMS SPACE 4,15
- ** CMS - CHECK FOR MASS STORAGE EQUIPMENT.
- *
- * ENTRY (CA) = ADDRESS OF NEXT CHARACTER.
- *
- * EXIT (A) = BYTE 0 OF EST ENTRY.
- * (CM - CM+4) = EST ENTRY.
- *
- * CALLS ASD.
- *
- * MACROS SFA.
- CMS2 LDD CM
- CMS SUBR ENTRY/EXIT
- RJM ASD ASSEMBLE EST ORDINAL
- LDK ESTP
- CRD CM
- LDD AB+4
- SBD CM+3
- PJN CMS1 IF ORDINAL BEYOND MASS STORAGE MAXIMUM
- SFA EST,AB+4
- ADK EQDE
- CRD CM
- LDD CM
- SHN 21-13
- MJN CMS2 IF MASS STORAGE DEVICE
- CMS1 JMP KIE *INCORRECT ENTRY*
- SPACE 4,10
- CMDEND
- COMMAND (UP/DOWN CHANNEL COMMANDS.),CMR
- UPC SPACE 4,10
- *** UP,CH=XX.
- * UP,CH=XX,EQ=YYY.
- *
- * UP CHANNEL XX ON EST ORDINAL YYY OR ALL EST ORDINALS.
- ENTRY UPC
- LDN 1 SET *UP* FLAG
- UJN DWN1 PROCESS COMMAND
- MUP SPACE 4,10
- *** UP,MCH=XX.
- * UP,MCH=XX,EQ=YYY.
- *
- * UP MUX CHANNEL XX ON EST ORDINAL YYY OR ALL EST ORDINALS.
- ENTRY MUP
- AOD CA INCREMENT KEYBOARD INDEX
- LDN 3 SET *UP* AND MUX FLAGS
- UJN DWN1 PROCESS COMMAND
- MDN SPACE 4,10
- *** DOWN,MCH=XX.
- * DOWN,MCH=XX,EQ=YYY.
- *
- * DOWN MUX CHANNEL XX ON EST ORDINAL YYY OR ALL EST ORDINALS.
- ENTRY MDN
- AOD CA INCREMENT KEYBOARD INDEX
- LDN 2 SET MUX FLAG
- UJN DWN1 PROCESS COMMAND
- CUP SPACE 4,10
- *** UP,CCH=XX.
- * UP,CCH=XX,EQ=YYY.
- *
- * UP CONCURRENT CHANNEL XX ON ESTO YYY OR ALL EST ORDINALS.
- ENTRY CUP
- AOD CA INCREMENT KEYBOARD INDEX
- LDN 41 SET *UP* FLAG AND CCH FLAG
- UJN DWN1 PROCESS COMMAND
- CDN SPACE 4,10
- *** DOWN,CCH=XX.
- * DOWN,CCH=XX,EQ=YYY.
- *
- * DOWN CONCURRENT CHANNEL XX ON ESTO YYY OR ALL EST ORDINALS.
- ENTRY CDN
- AOD CA INCREMENT KEYBOARD INDEX
- LDN 40 SET CCH FLAG
- UJN DWN1 PROCESS COMMAND
- DWN SPACE 4,10
- *** DOWN,CH=XX.
- * DOWN,CH=XX,EQ=YYY.
- *
- * DOWN CHANNEL XX ON EST ORDINAL YYY OR ALL EST ORDINALS.
- ENTRY DWN
- LDN 0 CLEAR *UP* AND MUX FLAGS
- DWN1 STD SR
- LDN 3 SET KEYBOARD INDEX
- RAD CA
- LDN ESTP READ EST POINTERS
- CRD T4
- RJM ASD ASSEMBLE CHANNEL NUMBER
- LDD AB+4
- SBN 40
- PJN DWN2 IF INCORRECT CHANNEL
- LDD SR
- LPN 40
- LMD AB+4
- STD SR+1 SET CHANNEL NUMBER AND CONCURRENT STATUS
- LDI CA
- LMN 1R.
- STM DWNA
- NJN DWN3 IF EST ORDINAL ENTERED
- STD AB+4
- LDN NOPE-1 SET EST INDEX
- STD T7
- UJN DWN4 READ EST
- DWN2 JMP KIE *INCORRECT ENTRY*
- DWN3 LDN 4
- RAD CA
- RJM ASD ASSEMBLE EQUIPMENT
- LDD AB+4
- SBD T6
- PJN DWN2 IF INCORRECT EST ORDINAL
- LDD AB+4
- SBN 1
- STD T7 SAVE EST INDEX
- ADN 2 SET END OF SEARCH
- STD T6
- DWN4 AOD T7
- LMD T6
- ZJN DWN2 IF END OF EST
- SFA EST,T7 READ EST ENTRY
- ADK EQDE
- CRD CM
- ADK EQAE-EQDE
- CRD SH
- RJM CCH CHECK FOR CHANNEL MATCH
- NJN DWN4 IF NO MATCH
- LDD CM+3
- LMC 2RMT
- ZJN DWN5 IF *MT*
- LMC 2RNT&2RMT
- ZJN DWN5 IF *NT*
- LMC 2RCT&2RNT
- ZJN DWN5 IF *CT*
- LMC 2RAT&2RCT
- NJN DWN6 IF NOT *AT*
- DWN5 LDM DWNA
- NJP DWN2 IF EST ORDINAL ENTERED
- DWN6 LDD SR FORM *1DS* PARAMETER
- LPN 2
- SHN 6-1
- ADD SR+1
- STD AB+3 SET CHANNEL, CONCURRENCY, AND MUX FLAGS
- LDD SR
- LPN 1
- ADK /1DS/DWNF
- ERRNZ /1DS/UPCF-/1DS/DWNF-1 CODE DEPENDS ON VALUE
- JMP KAR PROCESS *1DS* CALL
- DWNA BSSZ 1 FLAG INDICATING EST ORDINAL ENTERED
- CCH SPACE 4,10
- ** CCH - CHECK FOR VALID CHANNEL.
- *
- * ENTRY (SR) = 10/0, 1/M, 1/U.
- * M = 1 IF MUX CHANNEL.
- * U = 1 IF *UP* REQUEST.
- * (SR+1) = CHANNEL NUMBER (AND CONCURRENCY FLAG).
- * (CM - CM+4) = WORD *EQDE* OF EST ENTRY.
- * (SH - SH+4) = WORD *EQAE* OF EST ENTRY.
- *
- * EXIT (A) = 0 IF MATCH.
- * (A) .NE. 0 IF NO MATCH.
- * (CM - CM+4) = ENTRY VALUE.
- *
- * USES T1.
- CCH6 LDD SH+4
- ZJP CCH1 IF DEVICE NOT CURRENTLY ASSIGNED
- CCH SUBR ENTRY/EXIT
- LDD CM
- SHN 21-13
- MJN CCH1 IF MASS STORAGE
- LDD CM GET DOWN/OFF BIT
- LPN 2
- SHN 14
- LMD CM+3 GET DEVICE TYPE
- LMC 2RLX+20000
- ZJN CCH6 IF *LX* AND OFF/DOWN
- LMN 2RLY&2RLX
- ZJN CCH6 IF *LY* AND OFF/DOWN
- LPC 7777 IGNORE DOWN/OFF STATUS
- LMC 2RNT&2RLY
- ZJN CCH1 IF TYPE *NT*
- LMC 2RMT&2RNT
- ZJN CCH1 IF TYPE *MT*
- LMC 2RCT&2RMT
- ZJN CCH1 IF TYPE *CT*
- LMC 2RAT&2RCT
- ZJN CCH1 IF TYPE *AT*
- LMC 2ROD&2RAT
- NJP CCHX IF NOT TYPE *OD*
- CCH1 LDN 1 SET CHANNEL BYTE INDEX
- STD T1
- CCH2 LDD SR
- LPN 1
- SHN 12-0
- LMM CM+1,T1
- LMD SR+1
- LPC 6077
- SHN 21-13
- PJN CCH3 IF CHANNEL NOT PRESENT OR DISABLED
- LPC 207700
- ZJN CCH4 IF CHANNEL, TYPE, STATE MATCH
- CCH3 SOD T1
- PJN CCH2 IF CHANNEL 1 NOT YET CHECKED
- UJN CCH5 RETURN
- CCH4 LDD SR
- LPN 2
- ZJN CCH5 IF NOT A MUX CHANNEL
- LDD CM
- SHN 0-13
- ZJN CCH5 IF NOT MASS STORAGE
- LDD CM
- LPC 200
- CCH5 LJM CCHX RETURN WITH (A) = REPLY STATUS
- SPACE 4,10
- CMDEND
- COMMAND (DOWN/OFF/IDLE/ON EQUIPMENT COMMANDS.),CMR
- DWM SPACE 4,10
- *** DOWN,MID=XX.
- *
- * CONFIRM MACHINE ID XX IS IN THE *DOWN* STATE.
- ENTRY DWM
- LDN 4
- RAD CA
- LDK EFRL READ MAINFRAME STATE TABLE
- CRD CM
- LDN 0
- STD CM+2
- DWM1 LDD CM
- SHN 14
- LMD CM+1
- ZJN DWM2 IF NOT MMF MODE
- ADD CM+2
- CRD AB
- LDI CA
- SHN 6
- ADM 1,CA
- LMD AB
- ZJN DWM3 IF MACHINE ID FOUND
- AOD CM+2
- SBN MXMF
- MJN DWM1 IF NOT ALL MACHINES CHECKED
- DWM2 JMP KIE *INCORRECT ENTRY*
- DWM3 LDD AB+4
- LMN MFD2
- NJN DWM2 IF NOT IN PROPER *DOWN* STATE
- LDM 2,CA
- LMN 1R.
- NJN DWM2 IF INCORRECT TERMINATOR
- LDN MFDA SET *DOWN ACKNOWLEGED* STATE
- STD AB+4
- LDD CM
- SHN 14
- LMD CM+1
- ADD CM+2
- CWD AB
- LJM KBR SET COMMAND COMPLETE
- DWE SPACE 4,10
- *** DOWN,EQ=XXX.
- *
- * SET EST ORDINAL XXX TO THE *DOWN* STATE.
- ENTRY DWE
- LDN DWES CHECK EST ENTRY
- RJM CEN
- MJN DWE1 IF MASS STORAGE DEVICE
- LDD AB+4
- ZJN OFE3 IF EQUIPMENT ZERO
- LDD SR+4
- NJN OFE3 IF DEVICE ASSIGNED
- LDM CENA
- LMC 2RCM
- NJN OFE2 IF NOT CONTROL MODULE
- LDC /1DS/DCMF+/1DS/LOCK
- LJM C1R1 CALL *1DS*
- DWE1 UJN IDE2 CALL *1DS*
- OFE SPACE 4,10
- *** OFF,EQ=XXX.
- *
- * SET EST ORDINAL XXX TO THE *OFF* STATE.
- ENTRY OFE
- LDN OFES CHECK EST ENTRY
- RJM CEN
- OFE1 MJN IDE2 IF MASS STORAGE DEVICE
- LDM CENA
- LMC 2RCM
- OFE2 NJN ONE1 IF NOT CONTROL MODULE
- OFE3 JMP KIE *INCORRECT ENTRY*
- IDE SPACE 4,10
- *** IDLE,EQ=XXX.
- *
- * SET EST ORDINAL XXX TO THE *IDLE* STATE.
- ENTRY IDE
- LDN IDES CHECK EST ENTRY
- RJM CEN
- PJN OFE3 IF NOT MASS STORAGE DEVICE
- LDD CM
- LPN 3 CHECK CURRENT STATE
- * LMN 0
- ZJN ONE1 IF DEVICE *ON*
- IDE2 LJM C1R CALL *1DS*
- ONE SPACE 4,10
- *** ON,EQ=XXX.
- *
- * SET EST ORDINAL XXX TO THE *ON* STATE.
- ENTRY ONE
- LDN ONES CHECK EST ENTRY
- RJM CEN
- PJN ONE1 IF NOT MASS STORAGE DEVICE
- LDD CM
- LPN 3 CHECK CURRENT STATE
- LMN 1
- NJN IDE2 IF DEVICE NOT *IDLE*
- ONE1 LDM CENA
- LMC 2RCM
- NJN ONE2 IF NOT CONTROL MODULE
- LDK /1DS/OCMF
- LJM C1R1 CALL *1DS*
- ONE2 LDD AB+3
- STD CM+2
- LDD AB+4 CHANGE DEVICE STATE
- STD CM+1
- MONITOR SEQM
- JMP KBR RETURN
- CEN SPACE 4,20
- ** CEN - CHECK EST ORDINAL.
- *
- * ENTRY (A) = NEW DEVICE STATE.
- *
- * EXIT (A) = BYTE 0 OF EST ENTRY SHIFTED 21-13.
- * (AB+3) = *SCAF* SUBFUNCTION TO *1DS*.
- * (AB+4) = (CENA) = EST ORDINAL.
- * (CM - CM+4) = EST ENTRY.
- * (SR - SR+4) = *EQAE* WORD OF EST ENTRY.
- * (CENA) = DEVICE MNEMONIC.
- * TO *KIE* IF ERROR.
- *
- * USES CA, T7, AB+3, CM - CM+4, SR - SR+4.
- *
- * CALLS ASD.
- *
- * MACROS SFA.
- CEN SUBR ENTRY/EXIT
- STD T7
- LDN 3 ADVANCE KEYBOARD INDEX
- RAD CA
- RJM ASD ASSEMBLE EST ORDINAL
- LDK ESTP READ EST POINTER
- CRD CM
- LDD AB+4 CHECK ORDINAL
- SBN NOPE
- MJN CEN1 IF PSEUDO-EQUIPMENT
- ADN NOPE
- SBD CM+2
- PJN CEN1 IF ORDINAL BEYOND EST MAXIMUM
- SFA EST,AB+4 READ EST ENTRY
- ADK EQDE
- CRD CM
- ADK EQAE-EQDE READ EQUIPMENT ASSIGNMENT
- CRD SR
- LDD CM+3
- NJN CEN2 IF EQUIPMENT DEFINED
- CEN1 JMP KIE *INCORRECT ENTRY*
- CEN2 STM CENA SAVE DEVICE MNEMONIC
- LDD T7 CHECK CURRENT DEVICE STATE
- STD AB+3
- LMD CM
- ERRNZ ONES-0 CODE DEPENDS ON VALUE
- ERRNZ IDES-1 CODE DEPENDS ON VALUE
- ERRNZ OFES-2 CODE DEPENDS ON VALUE
- ERRNZ DWES-3 CODE DEPENDS ON VALUE
- LPN 3
- ZJN CEN1 IF NO STATE CHANGE
- LMD T7
- LMN 3
- NJN CEN4 IF DEVICE NOT DOWN
- LDD SR+4
- NJN CEN1 IF ASSIGNED
- LDN CM
- STD T0
- CEN3 AOD T0 ADVANCE CHANNEL BYTE INDEX
- LMN CM+3
- ZJN CEN1 IF BOTH POSSIBLE CHANNELS CHECKED
- LDI T0
- SHN -11 POSITION CHANNEL STATUS
- LMN 4
- NJN CEN3 IF NOT UP AND ACCESSIBLE
- CEN4 LDD CM
- SHN 21-13
- LJM CENX RETURN
- CENA CON 0 DEVICE MNEMONIC
- C1R SPACE 4,10
- ** C1R - CALL *1DS* AND REENTER.
- *
- * USES CM - CM+4.
- *
- * CALLS C1D.
- C1R3 JMP KIE INCORRECT ENTRY
- C1R LDC /1DS/SCDF+/1DS/LOCK PROCESS *1DS* CALL
- C1R1 RJM C1D
- LDC C1R2 SET REENTRY ADDRESS
- STM /KEYBOARD/KCRB
- C1R2 LDC /1DS/DSDL
- CRD CM
- LDD CM
- NJP CLP1 IF *1DS* NOT COMPLETE
- LDC /1DS/DSDL+1
- CRD CM
- LDD CM
- NJN C1R3 IF INVALID CALL
- JMP KBR RETURN
- SPACE 4,10
- CMDEND
- COMMAND (ENTER TIME.),CMR
- TIM SPACE 4,10
- ** SYNTAX TABLE.
- ENTRY TIM
- TME ENTER (TIME. <02<09.<05<09.<05<09.),,SDF,ERL
- ENTRY DAT
- DTE ENTER (DATE. <09<09/<01<09/<03<09.),,SDF,ERL
- CON 0 END OF TABLE
- PD SPACE 4,10
- ** DIRECT CELLS.
- PD EQU SR PACKED DATE AND TIME
- TME SPACE 4,10
- *** TIME. HH.MM.SS.
- *
- * ENTER SYSTEM TIME.
- ENTRY TME
- LDK JDAL READ DATE
- CRM JDAT,ON
- LDM KBUF+6 CHECK LEADING HOUR
- LMN 1R2
- NJN TME1 IF NOT *2*
- LDM KBUF+7 CHECK NEXT HOUR
- SBN 1R4
- MJN TME1 IF .LE. 3
- JMP KIE *INCORRECT ENTRY*
- TME1 LDN 4 SET ACCOUNT LOGGING BIT
- RAM /KEYBOARD/LKBA
- LDN 0
- RJM C1D CHECK FOR COMMAND LOGGING
- LDC TME1.1 SET REENTRY ADDRESS
- STM /KEYBOARD/KCRB
- TME1.1 LDC /1DS/DSDL
- CRD CM
- LDD CM
- ZJN TME1.2 IF *1DS* COMPLETE
- LJM CLP1 REENTER
- TME1.2 LDN PDTL READ PACKED DATE AND TIME
- CRD PD
- LDK DTEL READ DATE
- CRD DT
- LDC TMEA ASSEMBLE TIME
- STD T1 SET ASSEMBLY
- LDC KBUF+5 SET CHARACTER ADDRESS
- STD T2
- STD CA
- TME2 LDI T2
- SHN 6
- LMM 1,T2
- STI T1
- AOD T1
- LDN 2
- RAD T2
- LMC KBUF+5+2*5
- NJN TME2 IF MORE CHARACTERS
- LDD PD+3 CLEAR HOURS
- SCN 77
- STD PD+3
- RJM ADD ASSEMBLE HOURS
- RAD PD+3
- AOD CA ASSEMBLE MINUTES
- RJM ADD
- SHN 6
- STD PD+4
- AOD CA ASSEMBLE SECONDS
- RJM ADD
- RAD PD+4
- LDN ZERL
- CRD AB
- CRD CM
- LDD MA
- ADN 1
- STD CM+2
- CWM JDAT,ON WRITE DATE AND TIME WORDS TO BUFFER
- CWD PD
- ADN 1
- CWM TMEA,ON
- CWD DT
- ADN 1 WRITE DAY LIMIT (UNCHANGED)
- CWD AB
- LDN EDTS SET SUBFUNCTION
- STD CM+1
- MONITOR DSRM ENTER DATE/TIME
- JMP KBR RETURN
- TMEA BSS 5 ASSEMBLY BUFFER FOR TIME
- ADD SPACE 4,10
- ** ADD - ASSEMBLE DECIMAL DIGITS.
- *
- * ENTRY (CA) = CHARACTER ADDRESS.
- *
- * EXIT (A) = ASSEMBLY.
- * (CA) ADVANCED.
- *
- * USES CA, T0.
- ADD SUBR ENTRY/EXIT
- AOD CA
- LDI CA UPPER DIGIT * 10
- SBN 1R0
- STD T0
- SHN 2
- ADD T0
- SHN 1
- STD T0
- AOD CA ADD LOWER DIGIT
- LDI CA
- SBN 1R0
- ADD T0
- UJN ADDX RETURN
- SPACE 4,10
- CMDEND
- COMMAND (JOB CONTROL REQUESTS - CLASS.),CMR
- CLA SPACE 4,10
- *** CLASS,OT,C1,C2,...,CN.
- *
- * TOGGLE SERVICE CLASS MASK BIT FOR SPECIFIED ORIGIN TYPE.
- *
- * OT ORIGIN TYPE. (BC, EI, IA, RB, TX)
- * CN TWO CHARACTER SERVICE CLASS MNEMONIC.
- * *ALL* OR *NUL* ARE ALSO ACCEPTED.
- ENTRY CLA
- LDM 2,CA
- LMN 1R,
- ZJN CLA2 IF VALID SEPARATOR
- CLA1 JMP KIE *INCORRECT ENTRY*
- CLA2 RJM SOT SEARCH FOR VALID ORIGIN TYPE
- LDK JBCP GET SCT ADDRESS
- CRD CM
- LDD CM GET CURRENT SCT ENTRY
- SHN 14
- ADD CM+1
- ADD T2
- CRD SR
- LDN 2 GET FIRST SERVICE CLASS
- RAD CA
- LDM 3,CA CHECK FOR *ALL* OR *NUL*
- SHN 6
- LMM 4,CA
- LMC 2RL.
- NJN CLA3 IF NOT *ALL* OR *NUL*
- LDM 1,CA
- SHN 6
- LMM 2,CA
- LMC 2RNU
- ZJP CLA6 IF *NUL* SELECTED
- LMC 2RAL&2RNU
- ZJP CLA7 IF *ALL* SELECTED
- * PROCESS SERVICE CLASS PARAMETERS.
- CLA3 AOD CA SKIP SEPARATOR
- LDC TNSC
- RJM SPT SEARCH FOR VALID SERVICE CLASS
- STD T3
- LDM TSCM,T3 GET SERVICE CLASS VALIDATION BIT
- ZJP CLA1 IF INCORRECT SERVICE CLASS
- STD T5
- LDN SR+5 DETERMINE BYTE TO TOGGLE BIT IN
- STD T1
- CLA4 SOD T1
- LCN 12D
- RAD T3
- PJN CLA4 IF NOT CORRECT BYTE
- LDI T1 TOGGLE VALIDATION BIT
- LMD T5
- STI T1
- LDN 2
- RAD CA
- LDI CA
- LMN 1R,
- ZJN CLA3 IF NOT END OF ENTRY
- LMN 1R.&1R,
- NJP CLA1 IF NOT VALID TERMINATOR
- CLA5 LDD CM STORE SCT ENTRY
- SHN 14
- ADD CM+1
- ADD T2
- CWD SR
- JMP KBR RETURN
- CLA6 STD SR+3
- UJN CLA8 CLEAR ALL MASK BITS
- CLA7 LDK A2MK SET ALL MASK BITS
- STD SR+3
- LDK A1MK
- CLA8 STD SR+4
- UJN CLA5 STORE SCT ENTRY
- SOT SPACE 4,10
- ** SOT - SEARCH FOR VALID ORIGIN TYPE.
- *
- * ENTRY ((CA - CA+1)) = ORIGIN TYPE PARAMETER.
- *
- * EXIT (T2) = ORIGIN TYPE VALUE.
- *
- * ERROR TO *KBR* IF ORIGIN TYPE INCORRECT.
- * ERROR TO *KIE* IF ORIGIN TYPE INVALID.
- *
- * USES T1, T2, T3.
- SOT2 AOD T1 RETURN ORIGIN TYPE VALUE
- LDM TCOT,T1
- STD T2
- SOT SUBR ENTRY/EXIT
- LDN 0 INITIALIZE TABLE INDEX
- STD T1
- LDI CA ASSEMBLE ORIGIN TYPE
- SHN 6
- LMM 1,CA
- STD T3
- LDM TCOT,T1 SEARCH TABLE FOR ORIGIN TYPE
- SOT1 LMD T3
- ZJN SOT2 IF MATCH FOUND
- LDN 2 INCREMENT TABLE INDEX
- RAD T1
- LDM TCOT,T1
- NJN SOT1 IF NOT END OF TABLE
- JMP KIE PROCESS INVALID ENTRY
- SPT SPACE 4,10
- ** SPT - SEARCH PARAMETER TABLE.
- *
- * ENTRY (A) = FWA OF PARAMETER TABLE.
- * (CA) = CHARACTER ADDRESS.
- *
- * EXIT (A) = INDEX OF ENTRY FOUND.
- *
- * USES T1, T3, T5.
- SPT2 LDD T5
- SBD T3
- SPT SUBR ENTRY/EXIT
- STD T3
- STD T5
- LDI CA ASSEMBLE PARAMETER NAME
- SHN 6
- LMM 1,CA
- STD T1
- LDI T5
- SPT1 LMD T1
- ZJN SPT2 IF MATCH FOUND
- AOD T5 INCREMENT TABLE INDEX
- LDI T5
- NJN SPT1 IF NOT END OF TABLE
- JMP KIE *INCORRECT ENTRY*
- TCOT SPACE 4,10
- ** TCOT - TABLE OF *CLASS* ORIGIN TYPES.
- TCOT BSS 0
- CON 2RBC,BCOT LOCAL BATCH
- CON 2RRB,RBOT REMOTE BATCH
- CON 2RIA,IAOT INTERACTIVE
- CON 2REI,EIOT REMOTE BATCH
- CON 2RTX,TXOT INTERACTIVE
- CON 0
- TSCM SPACE 4,10
- ** TSCM - TABLE OF SERVICE CLASS MASK BITS.
- *
- * THIS TABLE IS INDEXED BY SERVICE CLASS VALUES.
- *
- * ONLY SERVICE CLASSES DEFINED IN THIS TABLE ARE
- * ALLOWED ON THE *PCLASS* AND *CLASS* COMMANDS.
- TSCM INDEX
- LIST D
- .SCL HERE
- LIST *
- INDEX MXSC
- TNSC SPACE 4,10
- ** TNSC - TABLE OF TWO-CHARACTER SERVICE CLASS TYPES.
- LIST D,G
- TNSC DATA H+"NMSC"+
- LIST *
- CON 0 END OF TABLE
- SPACE 4,10
- CMDEND
- COMMAND (JOB CONTROL REQUESTS - PCLASS.),CMR
- PCL SPACE 4,10
- ** PCLASS,P0,P1,...,P7.
- *
- * SET PRIORITY ORDERED SERVICE CLASSES.
- *
- * EACH PARAMETER SETS THE SERVICE CLASS FOR THE INDICATED
- * PRIORITY LEVEL. THE DEFAULT FOR EACH NULL PARAMETER IS
- * ZERO.
- PCL4 JMP KIE PROCESS INCORRECT ENTRY
- ENTRY PCL
- ERRNZ SR+5-SH SCRATCH STORAGE NOT CONTIGUOUS
- LDN ZERL INITIALIZE SERVICE CLASSES
- CRD SR
- CRD SH
- LDN 0 INITIALIZE PRIORITY INDEX
- STD T2
- LDI CA
- LMN 1R.
- ZJN PCL3 IF TERMINATOR
- PCL1 LDI CA
- LMN 1R,
- ZJN PCL2 IF NULL PARAMETER
- LDC TNSC
- RJM SPT SEARCH FOR VALID SERVICE CLASS
- STD T3
- LDM TSCM,T3
- ZJN PCL4 IF SERVICE CLASS NOT ALLOWED
- LDD T1 SET SERVICE CLASS INTO SCT
- STM SR,T2
- LDN 2
- RAD CA
- LDI CA
- LMN 1R.
- ZJN PCL3 IF TERMINATOR
- PCL2 AOD CA
- LDI CA
- LMN 1R.
- ZJN PCL3 IF END OF ENTRY
- AOD T2
- SBN 10
- NJN PCL1 IF NOT MAXIMUM PRIORITIES
- LJM PCL4 PROCESS INCORRECT ENTRY
- PCL3 LDK JBCP SET PRIORITY LEVEL SERVICE CLASSES
- CRD CM
- LDD CM
- SHN 14
- ADD CM+1
- ADN PLSC
- CWD SR
- ADN 1
- CWD SH
- JMP KBR RETURN
- SPT SPACE 4,10
- ** SPT - SEARCH PARAMETER TABLE.
- *
- * ENTRY (A) = FWA OF PARAMETER TABLE.
- * (CA) = CHARACTER ADDRESS.
- *
- * EXIT (A) = INDEX OF ENTRY FOUND.
- *
- * USES T1, T3, T5.
- SPT2 LDD T5
- SBD T3
- SPT SUBR ENTRY/EXIT
- STD T3
- STD T5
- LDI CA ASSEMBLE PARAMETER NAME
- SHN 6
- LMM 1,CA
- STD T1
- LDI T5
- SPT1 LMD T1
- ZJN SPT2 IF MATCH FOUND
- AOD T5 INCREMENT TABLE INDEX
- LDI T5
- NJN SPT1 IF NOT END OF TABLE
- JMP KIE *INCORRECT ENTRY*
- TSCM SPACE 4,10
- ** TSCM - TABLE OF SERVICE CLASS MASK BITS.
- *
- * THIS TABLE IS INDEXED BY SERVICE CLASS VALUES.
- *
- * ONLY SERVICE CLASSES DEFINED IN THIS TABLE ARE
- * ALLOWED ON THE *PCLASS* AND *CLASS* COMMANDS.
- *CALL COMSSCD
- TSCM INDEX
- LIST D
- .SCL HERE
- LIST *
- INDEX MXSC
- TNSC SPACE 4,10
- ** TNSC - TABLE OF TWO-CHARACTER SERVICE CLASS TYPES.
- LIST D,G
- TNSC DATA H+"NMSC"+
- LIST *
- CON 0 END OF TABLE
- SPACE 4,10
- CMDEND
- COMMAND (PROCESS THRESHOLDS.)
- THR SPACE 4,10
- *** THRESHOLD,TH=XXXX,E1,E2,...,EN.
- *
- * TH = VF - SET VALIDATION FAILURE THRESHOLD.
- * RA - SET RESTRICTED ACTIVITY THRESHOLD.
- * LS - SET LOW SPACE THRESHOLD.
- * RE - SET RECOVERED ERROR THRESHOLD.
- * UE - SET UNRECOVERED ERROR THRESHOLD.
- * XXXX = THRESHOLD VALUE.
- * = * TO SET DEFAULT VALUES.
- * EN = EST ORDINAL ON WHICH TO SET THRESHOLD.
- ENTRY THR
- LDN 0 CHECK THRESHOLD TYPE
- STD T6
- LDI CA
- SHN 6
- ADM 1,CA
- STD T1
- LDM TTHR,T6
- THR1 LMD T1
- ZJN THR3 IF MATCH FOUND
- AOD T6
- LDM TTHR,T6
- NJN THR1 IF MORE ENTRIES TO COMPARE
- THR2 JMP KIE *INCORRECT ENTRY*
- THR3 LDN 2 ADVANCE KEYBOARD INDEX
- RAD CA
- LDI CA
- LMN 1R=
- NJN THR2 IF INCORRECT SEPARATOR
- AOD CA
- LDI CA
- LMN 1R*
- STD T7
- NJN THR4 IF NOT DEFAULT
- AOD CA
- UJN THR5 PROCESS EQUIPMENT LIST
- THR4 RJM ASD GET THRESHOLD VALUE
- LDD AB+4
- LPC 3777
- STM TDTV,T6
- THR5 LDI CA CHECK SEPARATOR CHARACTER
- LMN 1R,
- ZJN THR7 IF VALID SEPARATOR
- THR6 JMP KIE *INCORRECT ENTRY*
- THR7 LDN 5
- SBD T6
- SHN 2
- STD T0 SET BIT NUMBER OF OPERATOR NOTIFIED FLAG
- SHN 1
- ADD T0
- SBN 1
- SHN 6
- STM THRA+1
- LDK ESTP
- CRD T1
- THR8 AOD CA GET NEXT EQUIPMENT NUMBER
- RJM ASD
- LDD AB
- ADD AB+1
- ADD AB+2
- ADD AB+3
- NJN THR6 IF ORDINAL IS TOO LARGE
- LDD AB+4
- SBD T1+3
- THR9 PJN THR6 IF ORDINAL BEYOND MASS STORAGE LIMIT
- SFA EST,AB+4
- ADK EQDE
- CRD CM
- LDD CM
- SHN 21-13
- PJN THR9 IF NOT MASS STORAGE DEVICE
- LDI CA
- LMN 1R.
- ZJN THR10 IF VALID TERMINATOR
- LMN 1R,&1R.
- NJN THR9 IF NOT VALID SEPARATOR
- THR10 LDD CM+4
- SHN 3
- ADK TDGL
- CRD SH
- ADN THLL-TDGL READ MST THRESHOLD WORD
- CRD SR
- LDD T7
- NJN THR11 IF NOT ENTERING DEFAULT VALUE
- LDD SH
- SHN -3
- STM TDTV+1 SET DEFAULT VALUES FOR TRACK THRESHOLDS
- SHN -1
- STM TDTV+2
- THR11 LDM TDTV,T6 STORE NEW THRESHOLD
- STM SR,T6
- LDD CM+4 WRITE MST THRESHOLD WORD
- SHN 3
- ADN THLL
- CWD SR
- ADN CTLL-THLL CLEAR OPERATOR NOTIFIED FLAG
- STD CM+4
- SHN -14
- STD CM+3
- LDN 1
- STD CM+1
- LDD MA
- CWM THRA,CM+1
- MONITOR UTEM
- LDI CA CHECK NEXT CHARACTER
- LMN 1R,
- ZJP THR8 IF MORE EST ORDINALS
- JMP KBR RETURN
- THRA VFD 1/0,5/0,6/1,6/0,42/0
- TTHR SPACE 4,10
- ** TTHR - TABLE OF THRESHOLDS.
- TTHR BSS 0
- LOC 0
- CON 2RVF VERIFICATION FAILURES
- CON 2RRA RESTRICT ACTIVITY
- CON 2RLS LOW SPACE
- CON 2RRE RECOVERED ERRORS
- CON 2RUE UNRECOVERED ERRORS
- LOC *O
- CON 0
- TDTV CON 1 VERIFICATION FAILURES
- CON 0 RESTRICT ACTIVITY (=SIZE/8)
- CON 0 LOW SPACE (=SIZE/16)
- CON 50 RECOVERED ERRORS
- CON 1 UNRECOVERED ERRORS
- SPACE 4,10
- CMDEND
- COMMAND (SECURITY FUNCTIONS - QUEUES.),CMR
- OQSH SPACE 4,10
- *** OQSH=NNNNNNN.
- * SELECTS OUTPUT SPECIAL HANDLING LEVEL.
- * NNNNNNN OUTPUT QUEUE SPECIAL HANDLING LEVEL.
- ENTRY OQS
- RJM ASN ASSEMBLE PARAMETER
- LDN AB SET POINTER TO PARAMETER
- RJM VAL SEARCH TABLE FOR PARAMETER
- MJN OQS1 IF PARAMETER NOT FOUND
- STD T3
- LDN SSML CLEAR OQSH
- CRD CM
- LDD CM
- SHN 14
- SCN 77
- LMD T3 SET NEW OQSH
- SHN 6
- STD CM
- LDN SSML
- CWD CM
- JMP KBR RETURN
- OQS1 JMP KIE INCORRECT ENTRY
- REL SPACE 4,10
- *** RELEASE,JSN.
- *
- * SETS THE OPERATOR RELEASE BIT FOR THE QFT ENTRY.
- ENTRY REL
- RJM ASN ASSEMBLE JSN
- LDD AB+2
- NJN REL3 IF JSN .GT. 4 CHARACTERS
- STD T1 INITIALIZE QFT ORDINAL
- LDK QFTP GET MAXIMUM NUMBER OF QFT ENTRIES
- CRD CM
- LDD CM+2
- STD T2
- REL1 SFA QFT,T1 GET QFT ENTRY
- CRD CM
- LDD CM COMPARE JSN TO REQUESTED JSN
- LMD AB
- NJN REL2 IF NO MATCH
- LDD CM+1
- LMD AB+1
- ZJN REL4 IF MATCH
- REL2 AOD T1 INCREMENT QFT ORDINAL
- SBD T2
- NJN REL1 IF MORE ENTRIES TO CHECK
- REL3 JMP KIE *INCORRECT ENTRY*
- REL4 SFA QFT,T1 SET UP *UTEM* PARAMETERS
- STD CM+4
- SHN -14
- STD CM+3
- LDN 0
- STD CM+2
- LDN 1 NUMBER OF REQUESTS TO BE PROCESSED
- STD CM+1
- LDD MA WRITE *UTEM* REQUEST WORD
- CWM RELA,ON
- MONITOR UTEM
- LDD CM+1
- NJN REL3 IF FUNCTION FAILED
- LJM KBR RETURN
- RELA VFD 1/0,5/INSQ,6/1,6/18D,42/1
- SPACE 4,10
- * COMMON DECKS.
- QUAL
- SCH$ SET 1
- QUAL *
- *CALL COMPVLC
- SPACE 4,10
- CMDEND
- COMMAND (SECURITY FUNCTIONS - SECUREQ.),CMR
- SECUREQ SPACE 4,10
- *** SECUREQ,EQ,LA=XXXXXXX,UA=YYYYYYY.
- *
- * SET EQUIPMENT ACCESS LIMITS.
- *
- * EQ EST ORDINAL OF EQUIPMENT.
- * XXXXXXX LOWER BOUND.
- * YYYYYYY UPPER BOUND.
- ENTRY SCQ
- LDN 3 RESET BOUNDS FLAG
- STD T8
- RJM ASD ASSEMBLE EST ORDINAL
- LDN ESTP
- CRD SH
- LDD AB+4 CHECK EST ORDINAL
- STD CM+1
- SBD SH+2
- PJN SCQ1 IF INCORRECT EST ORDINAL
- SFA EST,AB+4 GET EST ENTRY
- ADK EQDE
- CRD SH
- LDC TURE FWA OF UNIT RECORD EQUIPMENT MNEMONICS
- STD T3
- LDD SH+3
- ZJN SCQ1 IF NULL ENTRY
- RJM SST CHECK IF UNIT RECORD EQUIPMENT
- LDI CA
- LMN 1R,
- ZJN SCQ2 IF SEPARATOR A COMMA
- SCQ1 LJM KIE INCORRECT COMMAND
- SCQ2 AOD CA CHECK PREFIX
- LDC TBDP
- STD T3
- LDN 0
- RJM SST
- STD T5
- LDN 2
- RAD CA
- LDI CA CHECK SEPARATOR
- LMN 1R=
- NJN SCQ1 IF SEPARATOR NOT AN =
- AOD CA
- RJM ASN ASSEMBLE PARAMETER
- LDN AB SET POINTER TO PARAMETER
- RJM VAL SEARCH TABLE FOR PARAMETER
- MJN SCQ1 IF MATCH NOT FOUND
- STD T3
- LDD T5
- ZJN SCQ3 IF PARAMETER NOT AN UPPER BOUND
- LDD T3 SET UPPER BOUND
- STD SP+1
- LDD T8 UPDATE BOUNDS FLAG
- SCN 2
- STD T8
- UJN SCQ4 CHECK FOR ADDITIONAL PARAMETERS
- SCQ3 LDD T3 SET LOWER BOUND
- STD SP
- LDD T8 UPDATE BOUNDS FLAG
- SCN 1
- STD T8
- SCQ4 LDI CA
- LMN 1R.
- ZJN SCQ5 IF END OF STATEMENT
- LJM SCQ2 PROCESS NEXT PARAMETER
- SCQ5 LDD T8
- ZJN SCQ7 IF BOTH LOWER AND UPPER BOUNDS PRESENT
- SCQ6 JMP KIE INCORRECT PARAMETER
- SCQ7 LDD SP+1
- SBD SP
- MJN SCQ6 IF LOWER .GT. UPPER BOUND
- LDD SP INSERT LIMITS INTO *SEQM* CALL
- SHN 3
- LMD SP+1
- LMC 4000 SET *MSEQ* ACCOUNT FILE MESSAGE FLAG
- STD AB+3
- LPN 77
- STM SCQA+4
- LDD CM+1 SET EST ORDINAL
- STD AB+4
- SFA EST STORE EST ENTRY ADDRESS
- STD CM+4
- SHN -14
- STD CM+3
- LDN 1 STORE REQUEST COUNT
- STD CM+1
- LDD MA PLACE REQUEST IN MESSAGE BUFFER
- CWM SCQA,ON
- MONITOR UTEM SET LIMITS IN EST ENTRY
- LDK /1DS/SAMF
- JMP KAR PROCESS *1DS* REQUEST
- SCQA VFD 1/0,5/EQAE,6/6,6/12D,42/0 *UTEM* REQUEST
- SPACE 4,10
- ** SST - SEARCH STRING TABLE.
- *
- * ENTRY (A) = 2 CHARACTERS, RIGHT JUSTIFIED.
- * = 0, IF CHARACTERS IN (CA).
- * (T3) = FWA PARAMETER TABLE.
- * (CA) = CHARACTER ADDRESS.
- *
- * EXIT (A) = INDEX OF ENTRY FOUND.
- *
- * USES T1, T2.
- SST3 LDD T2 RETURN WITH INDEX
- SBD T3
- SST SUBR ENTRY/EXIT
- NJN SST1 IF CHARACTER IN ACCUMULATOR
- LDI CA ASSEMBLE PARAMETER NAME
- SHN 6
- LMM 1,CA
- SST1 STD T1
- LDD T3 SET TABLE FWA
- STD T2
- LDI T2
- SST2 LMD T1
- ZJN SST3 IF MATCH FOUND
- AOD T2 ADVANCE TABLE
- LDI T2
- NJN SST2 IF NOT END OF TABLE
- JMP KIE *INCORRECT ENTRY*
- TBDP SPACE 4,10
- ** TBDP - TABLE OF BOUNDS PARAMETERS.
- TBDP BSS 0
- CON 2RLA
- CON 2RUA
- CON 0
- SPACE 4,10
- ** TURE - UNIT RECORD EQUIPMENT MNEMONICS.
- TURE BSS 0
- DATA 2RCP
- DATA 2RCR
- DATA 2RLQ
- DATA 2RLR
- DATA 2RLS
- DATA 2RLT
- DATA 2RLX
- DATA 2RLY
- CON 0
- SPACE 4,10
- * COMMON DECKS.
- QUAL
- SCH$ SET 1
- QUAL *
- *CALL COMPVLC
- SPACE 4,10
- CMDEND
- COMMAND (SECURITY FUNCTIONS - SECURES.),CMR
- SECURES SPACE 4,10
- *** SECURES,OT,LA=XXXXXXX,UA=YYYYYYY.
- * SET THE SYSTEM ACCESS LEVEL LIMITS (OT = SY).
- * SET ORIGIN TYPE ACCESS LEVEL LIMITS (OT = BC, RB, IA).
- * XXXXXXX LOWER BOUND.
- * YYYYYYY UPPER BOUND.
- ENTRY SCU
- LDK INWL CHECK SYSTEM ACCESS LIMITS CHANGE STATUS
- CRD CM
- LDD CM+3
- SHN 21-2
- MJN SCU1 IF CHANGE IN PROGRESS
- LDN 10 SET INITIAL VALUES
- STD SP
- STD SP+1
- LDC TJOT CHECK ORIGIN TYPE
- RJM SPT
- SHN -1
- STD T5
- RAM SCUA
- LDN 2
- RAD CA
- LDI CA
- LMN 1R,
- ZJN SCU2 IF SEPARATOR A COMMA
- SCU1 LJM KIE INCORRECT COMMAND
- SCU2 AOD CA CHECK PREFIX
- LDC TBDP
- RJM SPT
- STD T9
- LDN 2
- RAD CA
- LDI CA
- LMN 1R=
- NJN SCU1 IF SEPARATOR NOT AN *=*
- AOD CA
- RJM ASN
- LDN AB SET POINTER TO PARAMETER
- RJM VAL SEARCH TABLE FOR PARAMETER
- MJN SCU1 IF PARAMETER NOT FOUND
- STM SP,T9 SET BOUND
- LDI CA
- LMN 1R.
- NJN SCU2 IF NOT END OF COMMAND
- STD T7 ASSUME ONE ORIGIN TYPE TO BE CHANGED
- LDD SP+1
- SBD SP
- MJN SCU6 IF LOWER BOUND .GT. UPPER BOUND
- LDN 0 GET CURRENT SYSTEM ACCESS LIMITS
- RJM RJC
- CRD AB
- LDD AB+1
- LPN 77
- SHN -3+22
- STD T3
- SHN -22+3
- STD T4
- LDD T5
- LMK SYOT
- ZJN SCU7 IF SYSTEM ORIGIN TYPE
- LDD T4
- SBD SP+1
- MJN SCU6 IF UPPER BOUND .GT. SYSTEM UPPER BOUND
- LDD T3
- SBD SP
- MJN SCU9 IF LOWER BOUND .GE. SYSTEM LOWER BOUND
- ZJN SCU9 IF LOWER BOUND .GE. SYSTEM LOWER BOUND
- SCU6 JMP KIE INCORRECT PARAMETER
- SCU7 LDD SP CHECK BOTH *LA* AND *UA* ENTERED
- SCN 7
- ADD SP+1
- SCN 7
- NJN SCU6 IF BOTH PARAMETERS NOT ENTERED
- LDD SF
- ZJN SCU8 IF UNSECURE SYSTEM
- SBN 1
- ZJN SCU8 IF VALID TO RAISE OR LOWER LIMITS
- SBN 3-1
- ZJN SCU6 IF INCORRECT TO RAISE OR LOWER LIMITS
- LDD SP+1
- SBD T4
- MJN SCU6 IF LOWERING LIMITS
- LDD SP
- SBD T3
- MJN SCU6 IF LOWERING LIMITS
- SCU8 LDN IAOT SET TO FIX ALL ORIGIN TYPE BOUNDS
- STD T7
- SCU9 LDD SP
- SHN 3
- RAD SP+1
- SCU10 LDN 0 GET SERVICE CONTROL TABLE ADDRESS
- RJM RJC
- ADD T5 GET SERVICE CONTROL WORD
- CRD AB
- LDD AB+1 SET BOUND IN WORD
- SCN 77
- LMD SP+1
- STD AB+1
- LDN 0 GET SERVICE CONTROL TABLE ADDRESS
- RJM RJC
- ADD T5 WRITE SERVICE CONTROL WORD
- CWD AB
- AOD T5
- SOD T7
- PJN SCU10 IF MORE BOUNDS TO SET (OT = *SY* ONLY)
- LDD SF
- ZJN SCU11 IF UNSECURED SYSTEM
- LDN 1
- STD CM+1 SET OPTION COUNT
- STD CM+2 DO NOT DROP PP
- LDD MA
- CWM SCUB,ON
- MONITOR UADM SET ACCESS LIMITS CHANGED FLAG
- SCU11 LDD SP+1 NEW ACCESS LEVEL LIMITS
- STD AB+3
- LDN 0 ORIGIN TYPE
- SCUA EQU *-1
- STD AB+4
- LDK /1DS/SAMF
- JMP KAR PROCESS *1DS* REQUEST
- SCUB CON LIOS INCREMENT BY ONE
- CON INWL
- CON 14D*100+1 BIT ADDRESS AND FIELD WIDTH
- SPACE 4,10
- ** SPT - SEARCH PARAMETER TABLE.
- *
- * ENTRY (A) = FWA PARAMETER TABLE.
- * (CA) = CHARACTER ADDRESS.
- *
- * EXIT (A) = INDEX OF ENTRY FOUND.
- *
- * USES T1, T2, T3.
- SPT2 LDD T2 RETURN WITH INDEX
- SBD T3
- SPT SUBR ENTRY/EXIT
- STD T2 SET TABLE FWA
- STD T3
- LDI CA ASSEMBLE PARAMETER NAME
- SHN 6
- LMM 1,CA
- STD T1
- LDI T2
- SPT1 LMD T1
- ZJN SPT2 IF MATCH FOUND
- AOD T2
- LDI T2
- NJN SPT1 IF NOT END OF TABLE
- JMP KIE *INCORRECT ENTRY*
- TBDP SPACE 4,10
- ** TBDP - TABLE OF BOUNDS PARAMETERS.
- TBDP BSS 0
- CON 2RLA
- CON 2RUA
- CON 0
- TJOT SPACE 4,10
- ** TJOT - TABLE OF JOB ORIGIN TYPES.
- TJOT BSS 0
- CON 2RSY,6060
- CON 2RBC,6060
- CON 2REI,2RRB
- CON 2RTX,2RIA
- CON 0
- SPACE 4,10
- * COMMON DECKS.
- QUAL
- SCH$ SET 1
- QUAL *
- *CALL COMPVLC
- SPACE 4,10
- CMDEND
- COMMAND (TRAP/TRACE COMMANDS - PART 1.),CMR
- SPACE 4,10
- *** THIS COMMAND OVERLAY WORKS IN CONJUNCTION WITH THE *TRACE*
- * BLOCK IN *CPUMTR*. THE TRAP AND TRACE COMMANDS ARE AVAILABLE
- * WHEN THE *TRACE* BLOCK IS ENABLED AT DEADSTART AND WHEN
- * SYSTEM DEBUG IS ENABLED.
- TPF SPACE 4,10
- *** TRAP,NFL.
- * TRAP,MCT.
- * TRAP,EJT.
- * TRAP,DJB.
- *
- * CHECK FOR IRREGULARITIES IN NFL, THE MEMORY CONTROL TABLE
- * (MCT), IN THE EJT AND PCPA ENTRIES, OR FOR DEAD JOBS,
- * RESPECTIVELY. THE CHECK IS MADE IN *CPUMTR* WHEN EXITING
- * MONITOR MODE.
- *** TRAP,MEM,W,V,H,L.
- * TRAP,CPA,W,V,H,L.
- *
- * SET A TRAP ON THE CM WORD WITH ABSOLUTE ADDRESS (*TRAP,MEM*)
- * OR CPA ADDRESS (*TRAP,CPA*) W FOR VALUE V. H AND L
- * (OPTIONAL - DEFAULTS ARE 59 AND 0) ARE THE HIGH AND LOW BIT
- * POSITIONS, IN DECIMAL, OF THE FIELD IN THE WORD TO CHECK.
- * IF V IS *N*, THE TRAP IS FOR ANY NON-ZERO VALUE IN THE FIELD.
- * THE TRAP CHECK IS MADE IN *CPUMTR* WHEN EXITING MONITOR MODE.
- * FOR *TRAP,CPA*, ALL OF THE CPA-S AND PCPA-S ARE CHECKED FOR
- * WORD W HAVING VALUE V.
- *** TRAP.
- *
- * CLEAR TRAP.
- *** TRACE,SET,ABS,ADD1,ADD2.
- * TRACE,SET,CPA,ADD1,ADD2.
- *
- * SET THE ADDRESSES OF THE ABSOLUTE OR CPA WORDS TO CAPTURE
- * WHEN TRACE IS ENABLED. ADD1 AND ADD2 MUST BE ENTERED AS
- * OCTAL DIGITS. *TRACE,MTR* OR *TRACE,PPU* ARE USED TO SELECT
- * THE FUNCTIONS TO TRACE. TRACE DATA IS COLLECTED BY *CPUMTR*
- * IMMEDIATELY BEFORE THE SELECTED FUNCTION IS PROCESSED.
- ENTRY TCA *TRACE,SET,ABS*
- LDN 2 ASSEMBLE ABSOLUTE ADDRESS
- UJN TCC1 CONTINUE
- ENTRY TCC *TRACE,SET,CPA*
- LDN 1
- TCC1 STD T8
- LDC KBUF+16
- STD CA
- RJM AVA ASSEMBLE FIRST ADDRESS
- LDD MA SAVE ADDRESS
- CWD AB
- CRD CM
- AOD CA
- RJM AVA ASSEMBLE SECOND ADDRESS
- LDD MA
- CWD AB
- CRD CM-2
- CWD CM
- LDD T8
- SHN 1
- UJN TPF2 SEND MONITOR FUNCTION
- ENTRY TPN
- LDN 10
- UJN TPF1 SET NFL CHECK
- ENTRY TPM
- LDN 4
- UJN TPF1 SET MCT CHECK
- ENTRY TPD
- LDN 2
- UJN TPF1 SET DEAD JOB CHECK
- ENTRY TPJ
- LDN 1
- UJN TPF1 SET EJT/PCPA CHECK
- ENTRY TPA
- LDN 0 CLEAR TRAP
- TPF1 SHN 6
- TPF2 STD CM+1 SET/CLEAR TRAP/TRACE FLAGS
- LJM TPF8 SEND MONITOR FUNCTION
- ENTRY TPC
- LDN 1
- UJN TPF3 SET CPA TRAP
- ENTRY TPF
- LDN 2 SET CM TRAP
- TPF3 STD T8
- LDC KBUF+11
- STD CA
- RJM AVA ASSEMBLE AND VALIDATE ADDRESS
- LDD MA SAVE ADDRESS FOR MONITOR FUNCTION
- CWD AB
- CRD CM
- AOD CA ASSEMBLE VALUE
- RJM ASD
- * LDI CA
- LMN 1RN
- NJN TPF4 IF NOT *N*
- AOD CA ADVANCE PAST *N*
- LDN 40 SET TRAP-ON-ANY-NON-ZERO-VALUE FLAG
- STD CM+1
- LDK ZERL ENSURE MB+1 CLEAR
- CRD AB
- TPF4 LDD MA SAVE VALUE IN MB+1
- ADN 1
- CWD AB
- LDK ZERL PRESET FIELD DELIMITER WORD
- CRD AB
- LDN 59D
- STD AB+2
- LDI CA
- LMN 1R.
- ZJN TPF7 IF TRAP ON WHOLE WORD
- RJM ADD ASSEMBLE HIGH BIT
- STD T7 SAVE HIGH BIT
- SBN 60D
- MJN TPF6 IF HIGH BIT .LT. 60D
- TPF5 JMP KIE *INCORRECT ENTRY.*
- TPF6 RJM ADD ASSEMBLE LOW BIT
- STD AB+4 SAVE LOW BIT
- LDD T7
- SBD T1
- MJN TPF5 IF LOW .GT. HIGH
- STD AB+2 SAVE DIFFERENCE
- TPF7 LDD MA SAVE FIELD DELIMITERS IN MB+0
- CWD AB
- LDD T8 SET TRAP TYPE
- SHN 12
- RAD CM+1
- TPF8 MONITOR TRCM SEND MONITOR FUNCTION
- JMP KBR RETURN
- ADD SPACE 4,10
- ** ADD - ASSEMBLE TWO DECIMAL DIGITS.
- *
- * EXIT (A) = (T1) = ASSEMBLED DIGIT(S).
- * TO *KIE* IF ASSEMBLY ERROR.
- *
- * USES T1 - T3.
- ADD2 JMP KIE *INCORRECT ENTRY.*
- ADD3 LDD T1 RETURN ASSEMBLED DIGIT(S)
- ADD SUBR ENTRY/EXIT
- LDN 0
- STD T1 ASSEMBLED DIGITS
- STD T2 DIGIT COUNTER
- ADD1 AOD CA ADVANCE CHARACTER
- LDI CA
- ZJN ADD3 IF END OF STRING
- SBN 1R9+1
- PJN ADD3 IF SEPARATOR
- ADN 1R9+1-1R0
- MJN ADD2 IF LETTER
- STD T3 SAVE DIGIT
- AOD T2
- SBN 3
- PJN ADD2 IF MORE THAN TWO DIGITS
- LDD T1 MULTIPLY TOP DIGIT BY 10D
- SHN 2
- RAD T1
- SHN 1
- ADD T3 ADD SECOND DIGIT
- STD T1
- UJN ADD1 CHECK NEXT DIGIT
- AVA SPACE 4,10
- ** AVA - ASSEMBLE AND VALIDATE ADDRESS.
- *
- * ENTRY (T8) = 2 IF VALIDATE ABSOLUTE ADDRESS.
- * = 1 IF VALIDATE CPA ADDRESS.
- * (CA) POSITIONED TO FIRST DIGIT.
- *
- * EXIT (AB+3 - AB+4) = ASSEMBLED ADDRESS.
- * (CA) ADVANCED TO SEPARATOR.
- * TO *KIE* IF ADDRESS OUT OF RANGE.
- *
- * USES T1 - T1+4.
- AVA1 JMP KIE *INCORRECT ENTRY.*
- AVA2 LDD AB+3
- NJN AVA1 IF ADDRESS TOO BIG
- LDD AB+4
- SBK CPAS
- AVA3 PJN AVA1 IF ADDRESS OUT OF RANGE
- AVA SUBR ENTRY/EXIT
- RJM ASD
- LDD AB
- ADD AB+1
- ADD AB+2
- NJN AVA1 IF OVER EIGHT DIGITS
- LDD T8
- LMN 2
- NJN AVA2 IF NOT VALIDATING ABSOLUTE ADDRESS
- LDK MABL CHECK ADDRESS AGAINST CM FL
- CRD T1
- LDD AB+4
- SHN -6
- SHN 14
- LMD AB+3
- SHN 6
- SBD T1+3
- SHN 6
- SBD T1+2
- SHN 14
- UJN AVA3 CHECK IF ADDRESS TOO BIG
- SPACE 4,10
- CMDEND
- COMMAND (TRAP/TRACE COMMANDS - PART 2.),CMR
- SPACE 4,10
- *** THIS COMMAND OVERLAY WORKS IN CONJUNCTION WITH THE *TRACE*
- * BLOCK IN *CPUMTR*. THE TRAP AND TRACE COMMANDS ARE AVAILABLE
- * WHEN THE *TRACE* BLOCK IS ENABLED AT DEADSTART AND WHEN
- * SYSTEM DEBUG IS ENABLED.
- TRA SPACE 4,10
- *** TRACE,PPU,FCN1,FCN2,FCN3,FCN4,FCN5.
- *
- * TRACE THE SPECIFIED MONITOR FUNCTIONS. UP TO FIVE FUNCTIONS
- * MAY BE SELECTED. *MTR* MONITOR FUNCTIONS MAY NOT BE
- * SELECTED. TRACE DATA IS COLLECTED BY *CPUMTR* IMMEDIATELY
- * BEFORE THE SELECTED FUNCTION IS PROCESSED. EACH TRACE BUFFER
- * ENTRY CONSISTS OF THE FOLLOWING WORDS:
- *
- * TIME STAMP
- * IR
- * OR
- * MB
- * ABS1 (DEFAULT = SMRL)
- * ABS2 (DEFAULT = CMCL)
- *
- * THE FORMAT OF THE TIME STAMP WORD IS: +***DHMSLLL+ WHERE
- * DHMS IS BITS 23-0 OF PDTL AND LLL IS BITS 17-0 OF RTCL.
- *
- * WORDS ABS1 AND ABS2 CAN BE CHANGED BY THE *TRACE,SET,ABS*
- * COMMAND.
- *** TRACE,MTR,FCN1,FCN2,FCN3,FCN4,FCN5.
- *
- * TRACE THE SPECIFIED MTR REQUESTS TO CPUMTR. UP TO FIVE
- * REQUESTS MAYBE SELECTED. TRACE DATA IS COLLECTED BY *CPUMTR*
- * IMMEDIATELY BEFORE THE SELECTED FUNCTION IS PROCESSED. EACH
- * TRACE BUFFER ENTRY CONSISTS OF THE FOLLOWING WORDS:
- *
- * TIME STAMP
- * REQUEST
- * ABS1 (DEFAULT = SMRL)
- * ABS2 (DEFAULT = CMCL)
- * *MCT*
- *
- * *MCT* EXPANDS TO THE FOLLOWING:
- * MCT WORD 1
- * MCT WORD 2
- * CPA1 (DEFAULT = STSW)
- * CPA2 (DEFAULT = FLSW)
- * TFSW
- * JSNE
- * ONE FOR EACH ENTRY IN THE MEMORY CONTROL TABLE (MCT).
- *
- * WORDS CPA1 AND CPA2 CAN BE CHANGED BY THE *TRACE,SET,CPA*
- * COMMAND.
- *** TRACE,PPU,*.
- * TRACE,MTR,*.
- *
- * TRACE ALL PPU OR MTR FUNCTIONS.
- *** TRACE,PPU.
- * TRACE,MTR.
- *
- * CLEAR PPU OR MTR TRACE.
- ENTRY TCM
- LDN 20 SET TRACE ON PPU FUNCTIONS
- STD CM+1
- LDN MXPF SET MAXIMUM REQUEST ORDINAL
- STD T5
- LDC TFTN+MXFM-CPUM-1
- STM TRAA
- LDN 0 SET NO BIAS
- UJN TRA1 ENTER LOOP
- ENTRY TCP
- LDN 10 SET TRACE ON MTR FUNCTIONS
- STD CM+1
- LDK MXFM-CPUM+1 SET MAXIMUM REQUEST ORDINAL
- STD T5
- LDN CPUM-1 PPU REQUEST BIAS
- TRA1 STD T4
- LDK ZERL CLEAR FUNCTION LIST
- CRD SR
- LDC KBUF+11
- STD CA
- LDN 5 INITIALIZE BYTE POINTER
- STD T3
- TRA2 LDI CA
- LMN 1R.
- NJN TRA4 IF NOT END OF COMMAND
- TRA3 LDD MA WRITE PARAMETER WORD TO MESSAGE BUFFER
- CWD SR
- MONITOR TRCM
- JMP KBR RETURN
- TRA4 SOD T3
- PJN TRA6 IF .LE. 5 FUNCTIONS REQUESTED
- TRA5 JMP KIE *INCORRECT ENTRY.*
- TRA6 AOD CA SKIP SEPERATOR
- RJM ASN ASSEMBLE FUNCTION NAME
- LDI CA
- LMN 1R*
- NJN TRA7 IF NOT TRACING ALL FUNCTIONS
- LDC 1S11 SET TRACE ON ALL FUNCTIONS
- STD SR
- UJN TRA3 WRITE PARAMETER WORD
- TRA7 LDD AB+2
- NJN TRA5 IF OVER 4 CHARACTERS
- STD T2 INITIALIZE ORDINAL
- LDD AB+1 HASH FUNCTION
- SHN -11
- STD T1
- LDD AB
- LPN 37
- SHN 2
- RAD T1
- LDD AB
- SHN -6
- SHN 7
- RAD T1
- TRA8 AOD T2
- SBD T5
- ZJN TRA5 IF END OF TABLE AND NO MATCH
- LDM TFTN-1,T2
- * LDM TFTN+MXFM-CPUM-1,T2 (TRACE,MTR)
- TRAA EQU *-1
- LMD T1
- NJN TRA8 IF NO MATCH
- LDD T2
- ADD T4 ADD BIAS
- STM SR,T3 SAVE FUNCTION NUMBER
- JMP TRA2 CHECK NEXT FUNCTION
- MNF$ EQU 1 SET NON-STANDARD *MNF* FOR *COMDTFN*
- MTF$ EQU 1 ASSEMBLE MTR FUNCTIONS
- MNF SPACE 4,10
- ** MNF - PP REQUEST HASHING MACRO.
- PURGMAC MNF
- MNF MACRO MF
- NOREF .1,.A,.B,.C,.D
- .1 IFGE MF,CPUM
- .A MICRO 1,1,/MF/
- .B MICRO 2,1,/MF/
- .C MICRO 3,1,/MF/
- .A SET 1R".A"
- .B SET 1R".B"
- .C SET 1R".C"
- .C SET .C/10B
- ORG TFTN+MF-CPUM
- LOC MF
- VFD 5/.A,5/.B,2/.C
- .D SET .A*200B+.B*4+.C
- .D OCTMIC .D
- X".D" EQU 0
- .1 ENDIF
- ENDM
- MTF SPACE 4,10
- ** MTF - MONITOR REQUEST HASHING MACRO.
- PURGMAC MTF
- MTF MACRO MF
- NOREF .A,.B,.C,.D
- .A MICRO 1,1,/MF/
- .B MICRO 2,1,/MF/
- .C MICRO 3,1,/MF/
- .A SET 1R".A"
- .B SET 1R".B"
- .C SET 1R".C"
- .C SET .C/10B
- ORG TFTN+MXFM-CPUM+MF-1
- LOC MF
- VFD 5/.A,5/.B,2/.C
- .D SET .A*200B+.B*4+.C
- .D OCTMIC .D
- X".D" EQU 0
- ENDM
- LIST X,D
- *CALL COMDTFN
- LIST *
- ORG TFTN+MXFM-CPUM+MXPF
- SPACE 4,10
- CMDEND
- COMMAND (CPUMTR BREAKPOINT.),CMR
- SPACE 4,10
- *** THIS COMMAND OVERLAY WORKS IN CONJUNCTION WITH THE *CPB*
- * BLOCK IN *CPUMTR*. WHEN A *CPB,DSP....* COMMAND IS ENTERED,
- * IT SETS UP THE *C* DISPLAY ADDRESSES AND THEN CHANGES THE
- * LEFT SCREEN TO THE *C* DISPLAY. DATA COMMUNICATION BETWEEN
- * THE ROUTINES IS THROUGH DATA BLOCKS WHOSE POINTERS ARE IN
- * *CMBL* IN CMR.
- CPB SPACE 4,10
- *** CPB,BKP,N. SET A *CPUMTR* BREAKPOINT ADDRESS AT *N*.
- * CPB,DSP,N. SET UP *C* DISPLAY FOR *N*.
- * *N* IS AN ABSOLUTE ADDRESS.
- ENTRY CPB
- LDC KBUF+8D-1 SET START OF KEYBOARD BUFFER
- STD CA
- LDN ZERL
- CRD CM
- ADN CMBL-ZERL FETCH BREAKPOINT ADDRESSES
- CRD T2
- LJM CPT6 USE *CPT* PROCESSOR
- CPD SPACE 4,10
- *** CPB,DSP. BRING UP *C* DISPLAY AT CURRENT BKP.
- * CPB,P+ INCREMENT THE BREAKPOINT ADDRESS BY 1.
- * CPB,P- DECREMENT THE BREAKPOINT ADDRESS BY 1.
- ENTRY CPD
- LDK CMBL GET ADDRESSES
- CRD T2
- RJM AAD FETCH *P* REGISTER
- CRD CM
- LDD CM MOVE *P* REGISTER TO *AB*
- STD AB+3
- LDD CM+1
- STD AB+4
- LDN 1RS CHECK COMMAND
- SBM KBUF+5
- ZJN CPD1 IF *CPB,DSP.* COMMAND
- ADN 1R+-1RS
- LMN 1 SET +/- 1 (TWOS COMPLEMENT)
- STD CM+4
- SHN -6
- STD CM+3
- LJM CPT7 INCREMENT OR DECREMENT THE ADDRESS
- CPD1 LDC TDSC *C* DISPLAY ADDRESS
- STD T2
- RJM AAD SET *C0* ADDRESS
- RJM SDA
- RJM AAD SET *C1* ADDRESS
- ADN 10
- RJM SDA
- LDD AB+3 SET *C2* ADDRESS
- SHN 14
- ADD AB+4
- RJM SDA
- LDD AB+3 SET *C3* ADDRESS
- SHN 14
- ADD AB+4
- ADN 10
- RJM SDA
- LDN 7 LEAVE *CPB,DSP*
- STM /KEYBOARD/KBCA
- LDC KBUF+7 SET END OF COMMAND FOR *CJS*
- STD CA
- LDN 1RC
- LJM /RES/DJS1 COMPLETE *C* DISPLAY SELECT
- CPG SPACE 4,10
- *** CPB,GO.
- *
- * GIVE A GO TO A *CPUMTR* BREAKPOINT HALT.
- *
- * THE *CPFG* WORD IN THE BREAKPOINT TABLE IS SET TO ZERO.
- ENTRY CPG
- LDN ZERL
- CRD AB
- ADN CMBL-ZERL *CPUMTR* BREAKPOINT POINTER
- CRD T2
- LJM CPT10 CLEAR EXISTING BREAKPOINT
- CPT SPACE 4,20
- *** CPB,BKP,/NAME/N. SET *CPUMTR* BREAKPOINT.
- * CPB,DSP,/NAME/N. DISPLAY *CPUMTR* ADDRESS.
- *
- * *N* IS AN ADDRESS RELATIVE TO BLOCK *NAME*. IF NAME IS
- * NULL, THEN THE BASE ADDRESS FOR *CPUMTR* IS USED.
- *
- * ANY EXISTING BREAKPOINT IS CLEARED BEFORE THE NEW ONE
- * IS SET.
- *
- * IF THERE IS AN EXISTING BREAKPOINT ADDRESS, THE BREAKPOINT
- * WORD IN THE BREAKPOINT TABLE IS REWRITTEN TO THAT ADDRESS.
- * *DSD* MOVES THE WORD FROM *CPUMTR* AT THE ADDRESS DETERMINED
- * BY THE COMMAND, AND SAVES IT IN THE BREAKPOINT TABLE. THEN
- * THE *RJ BKP* IS STORED IN ITS PLACE IN *CPUMTR*. THE NEW
- * BREAKPOINT ADDRESS IS SAVED IN THE BREAKPOINT TABLE. EXIT IS
- * THRU *CPG1* TO LET *CPUMTR* GO IF CURRENTLY BREAKPOINTED.
- ENTRY CPT
- LDC KBUF+8D+1 SET STRING POINTER TO BEGINNING OF NAME
- STD CA
- RJM ASN ASSEMBLE NAME
- LDK CMBL
- CRD T2 FETCH BREAKPOINT ADDRESSES
- * SEARCH BLOCK ORIGIN TABLE FOR BLOCK NAME.
- LDD T2 GET ENTRY FROM BLOCKS LOADED TABLE
- CPT1 SHN 14
- LMD T3
- CRD CM
- LDD CM+3 CHECK ENTRY
- ADD CM+4
- ZJN CPT4 IF END OF TABLE
- * COMPARE NAMES.
- LDD CM
- LMD AB
- NJN CPT3 IF NO MATCH ON 1ST TWO CHARACTERS
- LDD CM+1
- LMD AB+1
- NJN CPT3 IF NO MATCH ON 2ND TWO CHARACTERS
- LDD CM+2
- LMD AB+2
- NJN CPT3 IF NO MATCH ON 3RD TWO CHARACTERS
- LDD CM+3
- LMD AB+3 CHECK LAST CHARACTER
- SCN 77
- ZJN CPT5 IF MATCHING BLOCK NAME
- CPT3 AOD T3
- SHN -14 INCREMENT TO NEXT WORD
- RAD T2
- UJN CPT1 CHECK NEXT ENTRY
- CPT4 JMP KIE INCORRECT ENTRY
- * A MATCH WAS FOUND (BASE ADDRESS IS IN CM+3 - CM+4).
- CPT5 LDD CM+3
- LPN 77
- STD CM+3
- * ASSEMBLE NUMERIC DELTA AND ADD TO BASE ADDRESS.
- CPT6 AOD CA
- RJM ASD
- CPT7 LDD CM+4 ADD BASE ADDRESS
- RAD AB+4
- SHN -14
- ADD CM+3
- RAD AB+3
- LDM KBUF+4 CHECK COMMAND
- LMN 1RD
- NJN CPT8 IF *CPB,BKP,...* OR *CPB,P+/-* COMMAND
- LJM CPD1 PROCESS *CPB,DSP,...* COMMAND
- * CHECK THAT ADDRESS IS WITHIN *CPUMTR*.
- CPT8 LDC BIOL FETCH FWA OF *CPUMTR*
- CRD SR
- SBN BIOL-RPLP GET RPL POINTER
- CRD CM
- LDD AB+3 VERIFY ADDRESS
- SBD SR+3
- SHN 14
- ADD AB+4
- SBD SR+4
- CPT9 MJN CPT4 IF ADDRESS BELOW *CPUMTR*
- LDD CM
- SBD AB+3
- SHN 14
- ADD CM+1
- SBD AB+4
- SBN PPIL+1
- MJN CPT9 IF ADDRESS ABOVE *CPUMTR*
- * CLEAR EXISTING BREAKPOINT AND SET NEW BREAKPOINT ADDRESS.
- CPT10 RJM AAD READ ADDRESS OF PENDING BREAKPOINT
- ADN /CPB/CPBA
- CRD CM
- CWD AB SET NEW BREAKPOINT ADDRESS
- ADN /CPB/CPBW-/CPB/CPBA
- CRD AB OLD BREAKPOINT WORD
- LDD CM+3
- SHN 14 ASSEMBLE BREAKPOINT ADDRESS
- LMD CM+4
- ZJN CPT11 IF NO BREAKPOINT PENDING
- CWD AB REPLACE BREAKPOINT WORD
- * SAVE WORD AT NEW BREAKPOINT AND REPLACE IT WITH A *RJ BKP*.
- CPT11 RJM AAD
- ADN /CPB/CPBA
- CRD AB READ BREAKPOINT ADDRESS
- ADN /CPB/CPBP-/CPB/CPBA
- CRD CM READ UP BREAKPOINT PROTOTYPE
- LDD AB+3
- SHN 14 ASSEMBLE CM ADDRESS
- LMD AB+4
- ZJN CPT12 IF NO BREAKPOINT
- CRD AB READ WORD AT BREAKPOINT ADDRESS
- CWD CM STORE BREAKPOINT PROTOTYPE IN ITS PLACE
- RJM AAD
- ADN /CPB/CPBW
- CWD AB SAVE BREAKPOINT WORD IN TABLE
- CPT12 LDN ZERL
- CRD CM
- RJM AAD LET *CPUMTR* GO IF STOPPED
- ADN /CPB/CPFG
- CWD CM
- LDN 4 LEAVE *CPB,*
- STM /KEYBOARD/KBCA
- JMP KBR RETURN
- AAD SPACE 4,10
- ** AAD - ASSEMBLE ADDRESS OF *CPUMTR* BREAKPOINT PARAMETERS.
- *
- * ENTRY (T2 - T6) = *CMBL* WORD.
- *
- * EXIT (A) = ABSOLUTE CM ADDRESS.
- AAD SUBR ENTRY/EXIT
- LDD T5
- SHN 14
- LMD T6
- NJN AADX IF BREAKPOINT ENABLED
- JMP KIE INCORRECT ENTRY
- SAD SPACE 4,10
- ** SDA - SET *C* DISPLAY ADDRESS.
- *
- * ENTRY (A) = ADDRESS.
- * (T2) = DESTINATION OF ADDRESS.
- *
- * EXIT (T2) = (T2) + 2.
- SDA SUBR ENTRY/EXIT
- STM 1,T2
- SHN -14
- STI T2
- LDN 2
- RAD T2
- UJN SDAX RETURN
- SPACE 4,10
- CMDEND
- COMMAND (PP BREAKPOINT COMMANDS.),CMR
- SPACE 4,10
- ** PP BREAKPOINT COMMANDS.
- ENTRY PPC
- PBJ ENTER (PP?.SX.),SLOCK STEP (DON-T FOLLOW RJM-S)
- PBS ENTER (PP?.S.),SLOCK STEP
- PP1 ENTER (PP?.G.),SLOCK GO
- PP2 ENTER (PP?.G,?.),SLOCK SET BREAKPOINT AND GO
- PP3 ENTER (PP?.<CD,?.),SLOCK DISPLAY PP MEMORY
- PP4 ENTER (PP?.<CD,?,?.),SLOCK CHANGE PP MEMORY
- PP5 ENTER (PP?.A,?.),SLOCK SET *A* REGISTER
- PP6 ENTER (PP?.P,?.),SLOCK SET *P* REGISTER
- PP7 ENTER (PP?.EXR.),SLOCK BREAKPOINT OVERLAY LOAD
- PP8 ENTER (PP?.FTN.),SLOCK BREAKPOINT NEXT FUNCTION
- CON 0 END OF TABLE
- BKP SPACE 4,10
- *** BKP.
- *
- * CLEAR PP BREAKPOINT REQUEST.
- ENTRY BKA
- LDC PPFW RESET DISPLAY AT C ADDRESS
- STM TDSV+2
- LDN 0 RESET DISPLAY AT D ADDRESS
- STM TDSV+3
- LDN CBKS
- UJN BKB3 CLEAR BREAKPOINT
- BKP SPACE 4,10
- *** BKP,XXX.
- *
- * INITIATE BREAKPOINT FOR PP ROUTINE *XXX*.
- *** BKP,XXX,NN.
- *
- * INITIATE BREAKPOINT FOR PP ROUTINE *XXX* AT CP *NN*.
- ENTRY BKB
- RJM ASN ASSEMBLE NAME
- LDD AB+1
- STD CM+3
- LDD AB
- STD CM+2
- SHN -6
- LMN 1R7
- NJN BKB2 IF NOT MASS STORAGE OVERLAY
- BKB1 JMP KIE INCORRECT ENTRY
- BKB2 AOD CA ASSEMBLE POSSIBLE CP NUMBER
- RJM ASD
- LDD AB+4 SET CP NUMBER
- STD CM+4
- SBD NC
- PJN BKB1 IF ILLEGAL CP
- LDN SBKS
- BKB3 STD CM+1
- MONITOR SJCM SET PP BREAKPOINT
- LDD CM+1
- NJN BKB1 IF REJECT
- JMP KBR RETURN
- SPACE 4,10
- CMDEND
- COMMAND (PP BREAKPOINT PROCESSORS.),CMR
- PP7 SPACE 4,10
- *** PPN.EXR.
- *
- * TRAP OVERLAY LOAD.
- ENTRY PP7
- LDC PBKE
- UJN PP81 SET *EXR* TRAP ADDRESS
- PP8 SPACE 4,10
- *** PPN.FTN.
- *
- * TRAP NEXT MONITOR FUNCTION.
- ENTRY PP8
- LDC PBKF *FTN* TRAP ADDRESS
- PP81 STD CM+4
- UJN PP20 CONTINUE
- PP1 SPACE 4,10
- *** PPN,G.
- *
- * RESUME PP EXECUTION WITH NO BREAKPOINT.
- ENTRY PP1
- LDN PBRF
- UJN PBC ENTER BREAKPOINT COMMAND
- PP2 SPACE 4,10
- *** PPN,G,XXXX.
- *
- * SET BREAKPOINT AT XXXX AND RESUME EXECUTION.
- ENTRY PP2
- PP20 LDN PBGF
- UJN PBC ENTER BREAKPOINT COMMAND
- PP3 SPACE 4,10
- *** PPN,C,XXXX.
- *
- * DISPLAY PP MEMORY AT XXXX.
- ENTRY PP3
- LDN PBCF
- UJN PBC ENTER BREAKPOINT COMMAND
- PP4 SPACE 4,10
- *** PPN,C,XXXX,YYYY.
- *
- * ENTRY DATA WORD YYYY IN PP AT ADDRESS XXXX.
- ENTRY PP4
- LDN PBSF
- UJN PBC ENTER BREAKPOINT COMMAND
- PP5 SPACE 4,10
- *** PPN,A,XXXXXX.
- *
- * SET PP *A* REGISTER TO XXXXXX.
- ENTRY PP5
- LDN PBAF
- UJN PBC ENTER BREAKPOINT COMMAND
- PP6 SPACE 4,10
- *** PPN,P,XXXX.
- *
- * RESET PP *P* REGISTER TO XXXX.
- ENTRY PP6
- LDN PBPF
- UJN PBC ENTER BREAKPOINT COMMAND
- VPP SPACE 4,10
- *** V,N.
- *
- * SET *V* DISPLAY TO PP NN.
- ENTRY VPP
- LDN PBFM
- UJN PBC ENTER BREAKPOINT COMMAND
- PBC SPACE 4,10
- ** PBC - PROCESS PP BREAKPOINT COMMANDS.
- *
- * ENTRY (A) = COMMAND ORDINAL.
- *
- * EXIT COMMAND WRITTEN TO PP MB+5.
- PBCX JMP KIE INCORRECT ENTRY
- PBC BSS 0 ENTRY
- STD CM+3
- LDC KBUF+2 START OF PP NUMBER
- STD CA
- RJM ASD DECODE PP NUMBER
- LDN PPCP
- CRD T1 READ PP COMMUNICATIONS ADDRESS
- SBN PPCP-PPUL
- CRD T0 FETCH CONCURRENT PP STATUS
- LDD AB+4
- SBN 12
- MJN PBC2 IF NPP 0 - 11
- SBN 20-12
- MJN PBCX IF INVALID PP NUMBER
- SBN 32-20
- MJN PBC1 IF NPP 20 - 31
- SBN 40-32
- MJN PBCX IF INVALID PP NUMBER
- LDD T0+3
- LPN 77
- ZJN PBCX IF NO CONCURRENT PP-S
- ADN 40-1
- SBD AB+4
- MJN PBCX IF INVALID CPP NUMBER
- LDD AB+4
- SBN 40 SET CPP CALCULATION
- PBC1 ADN 12
- PBC2 ADN 12 CALCULATE SEQUENTIAL PP NUMBER
- SHN 3
- ADD T1+4 CALCULATE ADDRESS OF PP MB+5
- ADN 7
- STD T7 SAVE PP MB+5 ADDRESS
- STM TDSV+1
- LDD AB+4 SAVE PP NUMBER OF DISPLAY
- ADD HN FORCE DISPLAY UPDATE
- STM TDSV
- LDD CM+3 CHECK FOR SCREEN CHANGE
- LMN PBFM
- NJN PBC3 IF NOT *V,NN.*
- LDN 1RV
- LJM SLS LOAD *V* DISPLAY
- PBC3 LDD CA SAVE POINTER TO END OF COMMAND
- ADC 1-KBUF
- STM /KEYBOARD/KBCA RESET KEYBOARD POINTER
- LDM 1,CA
- STD T4 SAVE COMMAND CHARACTER
- LDM 2,CA
- LMN 1R,
- NJN PBC6 IF END OF COMMAND
- LDN 3
- RAD CA
- RJM ASD ASSEMBLE FIRST PARAMETER
- LDD AB+4
- STD CM+4 STORE IN COMMAND
- LDD AB+3
- STD CM+2 (18 BITS IF *A* REGISTER RESET)
- LDI CA
- LMN 1R.
- ZJN PBC6 IF END OF COMMAND
- LMN 1R,&1R.
- ZJN PBC5 IF ANOTHER PARAMETER
- PBC4 JMP KIE INCORRECT ENTRY
- PBC5 AOD CA ASSEMBLE DATA WORD
- RJM ASD
- LDD AB+4 SAVE DATA WORD FOR PP
- STD CM+2
- PBC6 LDD T7 CHECK PP ACTIVITY
- CRD AB
- LDD AB
- ADD AB+1 TEST FOR 7777 7777 STATUS FROM *7BK*
- LMC 2*7777
- NJN PBC9 IF NOT READY FOR COMMAND
- PBC7 LDD T7
- CWD CM
- LDD CM+3 CHECK FOR *C*
- SBN PBCF
- NJN PBC8 IF NOT *C*
- LDD CM+4 SET NEW C ADDRESS
- STM TDSV+2-1RC,T4
- PBC8 JMP KBR RETURN
- PBC9 LDN 0 CLEAR KEYBOARD READY
- STM /KEYBOARD/KBRA
- LDC PBCA * NOT AT BREAK*
- LJM /KEYBOARD/KMS RETURN
- PBCA DATA C* NOT AT BREAK*
- VHP SPACE 4,10
- *** V,HNG.
- *
- * SET *V* DISPLAY TO HUNG PP.
- ENTRY VHP
- RJM SCA SET PP COMMUNICATION AREA ADDRESSES
- STD T6
- LDM TDSV+1
- ZJN VHP2 IF NO PP ON *V* DISPLAY
- STD T5
- VHP1 LDN 10 ADVANCE COMMUNICATION AREA ADDRESS
- RAD T5
- SBN 7 CONVERT TO INPUT REGISTER ADDRESS
- LMD T6
- NJN VHP3 IF NOT END OF COMMUNICATION AREA
- VHP2 LDD AB+4
- ADN 7 SET FIRST PP (MTR) ADDRESS
- STD T5
- VHP3 SOD T7
- ZJN VHP7 IF ALL PP-S CHECKED
- LDD T5
- CRD CM READ LAST WORD OF PP MESSAGE BUFFER
- LDD CM
- LMC 2RHN
- NJN VHP1 IF PP NOT HUNG
- LDD CM+1
- LMC 2RG/
- NJN VHP1 IF PP NOT HUNG
- LDD T5
- VHP4 STM TDSV+1 SAVE PP MESSAGE BUFFER ADDRESS
- SBD AB+4
- SHN -3 CALCULATE PP NUMBER
- SBN 12
- MJN VHP6 IF PP IN LOWER BANK
- SBN 24-12
- MJN VHP5 IF NOT CONCURRENT PP
- ADN 40-32
- VHP5 ADN 20-12+12 PP IN UPPER BANK
- VHP6 ADN 12
- STM TDSV SAVE PP NUMBER
- VHP7 LDN 1RV
- LJM SLS LOAD *V* DISPLAY
- VPS SPACE 4,10
- *** V,PS.
- *
- * SET *V* DISPLAY TO PSEUDO PP.
- ENTRY VPS
- RJM SCA SET PP COMMUNICATION AREA ADDRESSES
- SBN 1
- JMP VHP4 SAVE PSEUDO PP MESSAGE BUFFER ADDRESS
- SCA SPACE 4,10
- ** SCA - SET PP COMMUNICATION AREA ADDRESSES.
- *
- * EXIT (A) = LWA+1 OF PP COMMUNICATION AREA.
- * (T7) = PP COUNT (INCLUDING PSEUDO AND CPP-S).
- * (AB - AB+4) = *PPCP* POINTER WORD.
- *
- * USES T5, CM - CM+1.
- SCA SUBR ENTRY/EXIT
- LDN PPUL
- CRD T5 FETCH PP COUNTS
- LDN PPCP
- CRD AB GET PP COMMUNICATIONS AREA ADDRESS
- AOD CM
- LPN 77 PSEUDO PP + CPP COUNT
- RAD T7
- SHN 3 CALCULATE LWA+1 OF COMMUNICATION AREA
- ADD AB+4
- UJN SCAX RETURN
- SPACE 4,10
- CMDEND
- COMMAND (PP BREAKPOINT PROCESSORS - STEP.),CMR
- PBJ SPACE 4,10
- *** PPN.SX.
- *
- * STEP, BUT DONT FOLLOW RJM-S.
- ENTRY PBJ
- LDC PBS9 SET TRANSFER
- STM PBSA
- UJN PBS1 CONTINUE
- PBS SPACE 4,20
- *** PPN.S.
- *
- * PROCESS PP STEP COMMAND.
- PBSX JMP KIE INCORRECT ENTRY
- ENTRY PBS
- PBS1 LDC KBUF+2 START OF PP NUMBER
- STD CA
- RJM ASD DECODE PP NUMBER
- LDN PPCP
- CRD T1 READ PP COMMUNICATIONS ADDRESS
- SBN PPCP-PPUL
- CRD T0 FETCH CONCURRENT PP STATUS
- LDD AB+4
- SBN 12
- MJN PBS3 IF NPP 0 - 11
- SBN 20-12
- MJN PBSX IF INVALID PP NUMBER
- SBN 32-20
- MJN PBS2 IF NPP 20 - 31
- SBN 40-32
- MJN PBSX IF INVALID PP NUMBER
- LDD T0+3
- LPN 77
- ZJN PBSX IF NO CONCURRENT PP-S
- ADN 40-2
- SBD AB+4
- PJN PBSX IF INVALID CPP NUMBER
- LDD AB+4
- SBN 40 SET CPP CALCULATION
- PBS2 ADN 12
- PBS3 ADN 12 CALCULATE SEQUENTIAL PP NUMBER
- SHN 3
- ADD T1+4 CALCULATE ADDRESS OF PP MB+5
- ADN 7
- STD T7 SAVE PP MB+5 ADDRESS
- STM TDSV+1
- LDD AB+4 SAVE PP NUMBER OF DISPLAY
- ADD HN FORCE DISPLAY UPDATE
- STM TDSV
- LDD CA SAVE POINTER TO END OF COMMAND
- ADC 1-KBUF
- STM /KEYBOARD/KBCA RESET KEYBOARD POINTER
- * ENSURE PP AT BREAKPOINT.
- RJM CKB CHECK PP ACTIVITY
- * READ CURRENT INSTRUCTION.
- LDN PBCF READ PP MEMORY
- STD T5
- LDD T7 STORE PP REQUEST
- CWD T2
- RJM CKB READ 5 BYTES BEGINNING AT (P)
- LDD T6
- STD CM+4 SET VALUE OF P REGISTER
- LDD AB
- SHN -6
- STD T1 SAVE INSTRUCTION FOR JUMP TEST
- SHN -3
- NJN PBS7 IF NOT JUMP INSTRUCTION
- LDD T1
- RAD T1
- LDD T4 USE PP-S (A) FOR JUMP TESTS
- SHN 14
- LMD T5
- LJM PBS4,T1 EXECUTE JUMP TEST
- PBS4 LJM PBS10 PSN
- LJM PBS19 LJM
- LJM PBS18 RJM
- * LJM PBS9 (NOT FOLLOWING RJM-S)
- PBSA EQU *-1
- PBS5 LJM PBS12 UJN
- ZJN PBS12 ZJN
- UJN PBS10
- NJN PBS12 NJN
- UJN PBS10
- PJN PBS12 PJN
- UJN PBS10
- MJN PBS12 MJN
- UJN PBS10
- * NON JUMP INSTRUCTIONS.
- PBS7 LMN 5
- ZJN PBS9 IF 5XXX INSTRUCTION
- LDD T1
- SCN 3 TEST FOR 64XX - 67XX INSTRUCTION
- LMN 64
- ZJN PBS13 IF CHANNEL INSTRUCTION
- * SEARCH TABLE OF TWO BYTE INSTRUCTIONS.
- PBS8 AOD T3 ADVANCE INDEX
- LDM PBSC,T3
- ZJN PBS10 IF INSTRUCTION NOT IN TABLE
- LMD AB
- SCN 77
- NJN PBS8 IF NOT TWO BYTE INSTRUCTION
- PBS9 AOD CM+4
- PBS10 AOD CM+4
- PBS11 LDN PBGF G,XXXX FUNCTION
- STD CM+3
- STD CM INSURE NO 7777
- LDD T7
- CWD CM
- JMP KBR RETURN
- * PROCESS SHORT JUMPS.
- PBS12 LDD AB EXTRACT VARIABLE FILED
- LPN 77
- STD T1 CHECK JUMP DIRECTION
- LPN 40
- ZJN PBS15 IF POSITIVE JUMP
- LDD T1
- LMN 76
- NJN PBS14 IF NOT JUMP TO *-1
- PBS13 LDC PBSB
- LJM CKB2 SET ERROR MESSAGE
- PBS14 LCN 77 CONVERT NEGATIVE ADVANCE
- PBS15 LMD T1
- PBS16 RAD CM+4
- PBS17 UJN PBS11 ISSUE REQUEST TO PP
- * RETURN JUMP.
- PBS18 AOD AB+1 FIRST INSTRUCTION PAST ENTRY
- * LONG JUMP.
- PBS19 LDD AB+1 SET JUMP ADDRESS
- STD CM+4
- LDD AB CHECK FOR INDEXED JUMP
- LPN 77
- ZJN PBS17 IF NOT INDEXED
- STD T6
- LDN PBCF SET READ PP MEMORY FUNCTION
- STD T5
- LDD T7 STORE PP REQUEST
- CWD T2
- RJM CKB READ 5 BYTES BEGINNING AT INDEX VALUE
- LDD AB
- UJN PBS16 ADVANCE BREAKPOINT ADDRESS
- PBSB DATA C*CAN-T STEP.*
- * TABLE OF SELECTED TWO BYTE INSTRUCTIONS.
- PBSC CON LDCI,ADCI,LPCI,LMCI,CRMI,CWMI,IAMI,OAMI,FNCI
- CON 0
- CKB SPACE 4,15
- ** CKB - CHECK PP AT BREAKPOINT.
- *
- * ENTRY (T7) = ADDRESS OF PP-S MB+5.
- *
- * EXIT (A) = (T2) = 0.
- * (AB - AB+4) = PP MB+4.
- * (T3 - T3+3) = BYTES 1 THRU 4 OF PP MB+5.
- *
- * ERROR TO *KMS* IF PP NOT RESPONDING.
- *
- * USES KM, T1.
- CKB3 LDD T7 CHECK PP ACTIVITY
- CRD T2
- SBN 1 GET PARAMETER WORD
- CRD AB
- LDD T2
- ADD T3 TEST FOR 7777 7777 STATUS FROM *7BK*
- LMC 2*7777
- NJN CKB1 IF PP NOT AT BREAKPOINT
- STD T2
- CKB SUBR ENTRY/EXIT
- LDD HN
- STD T1 SET RETRY LIMIT
- CKB1 SOD T1
- PJN CKB3 IF NOT TIMEOUT
- LDC CKBA
- CKB2 STD KM SET ERROR MESSAGE
- LDN 0
- STM /KEYBOARD/KBRA CLEAR REPEAT ENTRY
- LDD KM
- LJM /KEYBOARD/KMS EXIT
- CKBA DATA C*NOT AT BREAK.*
- SPACE 4,10
- CMDEND
- COMMAND (ENTER DATE.)
- DTE SPACE 4,10
- ** DIRECT CELLS.
- PD EQU SR PACKED DATE AND TIME
- DTE SPACE 4,10
- ** OVERFLOW CHECK.
- *
- * THE ENTER DATE OVERLAY IS NOT CHECKED FOR OVERFLOW
- * DIRECTLY. RATHER, IT IS COMPARED TO THE LARGEST
- * COMMAND OVERLAY FOUND. IF THE ENTER DATE OVERLAY
- * IS LARGER, AN ERROR WILL BE FLAGGED. BECAUSE OF
- * THIS, THE ENTER DATE OVERLAY MUST REMAIN THE
- * LAST OF THE COMMAND OVERLAYS TO ALLOW NEW OVERLAYS
- * TO REACH THE LARGEST POSSIBLE SIZE.
- DTE SPACE 4,10
- *** DATE. YY/MM/DD.
- *
- * ENTER SYSTEM DATE.
- ENTRY DTE
- LDN TIML READ DATE AND TIME WORDS
- CRM DTEB,ON
- RJM ADD ASSEMBLE YEAR
- STD T7
- LPN 3
- NJN DTE1 IF NOT LEAP YEAR
- AOM DTEA+2 ADVANCE FEBUARY
- DTE1 AOD CA ASSEMBLE MONTH
- RJM ADD
- STD T6
- ZJN DTE2 IF MONTH = 0
- SBN 13D
- PJN DTE2 IF INCORRECT MONTH
- AOD CA ASSEMBLE DAY
- RJM ADD
- SHN 6
- STD T5
- ZJN DTE2 IF DAY = 0
- SHN -6 CHECK DAY COUNT FOR MONTH
- SBN 1
- SBM DTEA,T6
- MJN DTE3 IF LEGAL DAY COUNT
- DTE2 JMP KIE *INCORRECT ENTRY*
- DTE3 LDN 4 SET ACCOUNT LOGGING BIT
- RAM /KEYBOARD/LKBA
- LDN 0
- RJM C1D CHECK FOR COMMAND LOGGING
- LDN PDTL READ PACKED DATE AND TIME
- CRD PD
- LCN 8D RESET KEYBOARD INDEX
- RAD CA
- RJM ADD REASSEMBLE YEAR
- STD T7
- AOD CA
- RJM ADD REASSEMBLE MONTH
- STD T6
- AOD CA
- RJM ADD REASSEMBLE DAY
- SHN 6
- STD T5
- LDD T7 ENTER PACKED DATE
- ADC -70D
- PJN DTE4 IF 70 .LE. YEAR .LE. 99
- ADC 100D
- DTE4 SHN 6
- LMD T6
- STD PD+2
- LDD PD+3
- LPN 77
- LMD T5
- STD PD+3
- LDM DTEA,T6 SET DAY LIMIT
- ADN 1
- STD AB
- LDN DT ASSEMBLE DATE
- STD T1 SET ASSEMBLY
- LDC KBUF+5 SET CHARACTER ADDRESS
- STD T2
- DTE5 LDI T2 ASSEMBLE BYTE
- SHN 6
- LMM 1,T2
- STI T1
- AOD T1
- LDN 2
- RAD T2
- LMC KBUF+5+2*5
- NJN DTE5 IF MORE CHARACTERS
- LDD DT SET JULIAN YEAR
- LPN 77
- STM JDAT+2
- LDD DT+1
- SCN 77
- ADN 1R0
- STM JDAT+3
- LDC 2R00
- STM JDAT+4
- LDD PD+3 SET CURRENT DAY
- SHN -6
- STD T2
- LDD PD+2 CALCULATE JULIAN DAY
- LPN 77
- STD T1
- UJN DTE7 COUNT DAYS
- DTE6 LDM DTEA,T1 ACCUMULATE DAYS
- RAD T2
- DTE7 SOD T1
- NJN DTE6 IF MORE MONTHS TO PROCESS
- DTE8 LDC -100D COUNT 100-S OF DAYS
- RAD T2
- MJN DTE9 IF .LT. 100 LEFT IN SUM
- AOM JDAT+3
- UJN DTE8 CHECK FOR ANOTHER 100
- DTE9 ADC 100D
- STD T2
- DTE10 LCN 10D COUNT 10-S OF DAYS
- RAD T2
- MJN DTE11 IF .LT. 10 LEFT IN SUM
- LDD HN
- RAM JDAT+4
- UJN DTE10 CHECK FOR ANOTHER 10
- DTE11 ADN 10D
- RAM JDAT+4
- LDN ZERL
- CRD CM
- LDD MA
- ADN 1
- STD CM+2
- CWM JDAT,ON WRITE DATE AND TIME WORDS TO BUFFER
- CWD PD
- ADN 1
- CWM DTEB,ON
- CWD DT
- ADN 1
- CWD AB
- LDN EDTS SET SUBFUNCTION
- STD CM+1
- MONITOR DSRM ENTER DATE AND TIME
- JMP KBR RETURN
- ADD SPACE 4,10
- ** ADD - ASSEMBLE DECIMAL DIGITS.
- *
- * EXIT (A) = ASSEMBLY.
- *
- * USES CA, T1.
- ADD SUBR ENTRY/EXIT
- AOD CA
- LDI CA
- SBN 1R0
- STD T1
- SHN 2
- ADD T1
- SHN 1
- STD T1
- AOD CA
- LDI CA
- SBN 1R0
- ADD T1
- UJN ADDX RETURN
- DTEA SPACE 4,10
- ** DTEA - DAY LIMITS FOR MONTH.
- DTEA EQU *-1
- BASE D
- LOC 1
- CON 31
- CON 28
- CON 31
- CON 30
- CON 31
- CON 30
- CON 31
- CON 31
- CON 30
- CON 31
- CON 30
- CON 31
- BASE *
- LOC *O
- DTEB BSS 5 BUFFER FOR TIME
- TTL DSD - DYNAMIC SYSTEM DISPLAY.
- TITLE TERMINATE OVERLAYS.
- ** TERMINATE OVERLAYS.
- CMDEND LAST
- .LCOM EQU L.C LENGTH OF LONGEST COMMAND OVERLAY
- .LDIS EQU L.D LENGTH OF LONGEST DISPLAY OVERLAY
- .FLFT EQU .FCOM+.LCOM+1 LEFT DISPLAY OVERLAY ORIGIN
- .FRHT EQU .FLFT+.LDIS+1 RIGHT DISPLAY OVERLAY ORIGIN
- .LAST EQU .FRHT+.LDIS+1 LAST LOCATION USED
- ERRNG 7776-.LAST OVERLAY OVERFLOW WITH ACTUAL LENGTHS
- .LCMX EQU 353 MAXIMUM LENGTH FOR COMMAND OVERLAY
- .LDMX EQU 656 MAXIMUM LENGTH FOR DISPLAY OVERLAY
- .LAMX EQU .FCOM+.LCMX+.LDMX+.LDMX+3 LAST WITH MAXIMUM LENGTHS
- ERRNG 7776-.LAMX OVERLAY OVERFLOW WITH MAXIMUM LENGTHS
- INSP$ IF DEF,INSP$
- .INSP EQU 10 SPACE RESERVED FOR INSTALLATION USE
- INSP$ ELSE
- .INSP EQU 0 SPACE RESERVED FOR INSTALLATION USE
- INSP$ ENDIF
- ERRNG .LDMX-.LDIS-.INSP LARGEST DISPLAY OVERLAY OVERFLOWS
- ERRNG .LCMX-.LCOM-.INSP LARGEST COMMAND OVERLAY OVERFLOWS
- END
cdc/nos2.source/opl871/dsd.txt ยท Last modified: 2023/08/05 17:24 by Site Administrator