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 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 (C>;) SDD ENTER (>D>;) SEJ ENTER (S>;) STT ENTER (>T>;) SUX 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,+->;),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,ACEFHMOPST>.) EAP ENTER (ENABLE,>ACDEFLMP>;) EQZ ENTER (ENABLE,,+->?.),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,ACMPQR>.) WAR ENTER (WARN.),,SDF WAR ENTER (WARN,@),,SDF IIF ENTER (X.