cdc:nos2.source:opl871:ldistap
Table of Contents
LDISTAP
Table Of Contents
- [00013] LDISTAP - TAPE MANAGEMENT UTILITY.
- [00015] TAPE MANAGEMENT UTILITY.
- [00382] PROGRAM MACROS AND EQUIVALENCES.
- [00406] PROGRAM MACROS AND EQUIVALENCES.
- [00408] ABTMSG - ABORT PROGRAM WITH DAYFILE MESSAGE.
- [00430] CLEAR - CLEAR BUFFER.
- [00459] LDIS - RESERVE L-DISPLAY ENTRY.
- [00501] LDISE - END L-DISPLAY LINE.
- [00521] LDISS - START L-DISPLAY LINE.
- [00547] MBSATA - MOVE BIT STRING FROM ADDRESS TO ADDRESS.
- [00587] MBSXTA - MOVE BIT STRING FROM X-REGISTER TO ADDRESS.
- [00638] RDMEM - READ MEMORY INTO BUFFER.
- [00677] RJM - RETURN JOB TO ADDRESS IN REGISTER.
- [00704] SRCHTAB - SEARCH TABLE.
- [00799] DATA AREA.
- [00836] TCOM - TABLE OF INPUT COMMANDS.
- [00857] TDPR - TABLE OF DISPLAY PROCESSORS.
- [00866] TFCM - TABLE OF FAMILY CATALOG MESSAGE ADDRESSES.
- [00880] TFCP - TABLE OF FAMILY CATALOG PROCESSORS
- [00895] TNDP - TABLE OF NUMBER OF DISPLAY PAGES.
- [00969] TMSDIS MAIN PROGRAM.
- [00971] TMSDIS - MAIN PROGRAM.
- [01077] ABT - ABORT PROGRAM.
- [01094] END - TERMINATE PROGRAM.
- [01108] RPV - REPRIEVE PROCESSOR.
- [01141] COMMAND SUBROUTINES.
- [01143] COP - PROCESS *COPY* COMMAND.
- [01172] DRO - PROCESS *DROP* OR *END* COMMAND.
- [01189] FAP - PROCESS *FAM* COMMAND.
- [01216] HEP - PROCESS *HELP* COMMAND.
- [01243] MCP - PROCESS MINUS COMMAND.
- [01279] PCP - PROCESS PLUS COMMAND.
- [01314] DISPLAY SUBROUTINES.
- [01316] BDT - BUILD DISPLAY TITLE.
- [01380] FAM - BUILD *FAM* DISPLAY.
- [01553] HEL - BUILD *HELP* DISPLAY.
- [01617] SYSTEM STATUS SUBROUTINES.
- [01619] CCB - CLEAR CATALOG BUFFER.
- [01638] CCS - CHECK CATALOG STATUS.
- [01717] CNF - CHECK NON-FAST ATTACHED FILE STATUS.
- [01739] GCS - GET CATALOG STATUSES.
- [01877] INPUT/OUTPUT SUBROUTINES.
- [01879] GDI - GET *DISPLAY* INPUT.
- [01907] GIN - GET INPUT.
- [01936] GLI - GET LINE INPUT.
- [01961] GSI - GET SCREEN INPUT.
- [01983] IDO - ISSUE *DISPLAY* OUTPUT.
- [02007] ILO - ISSUE LINE OUTPUT.
- [02033] IOU - ISSUE OUTPUT.
- [02058] ISO - ISSUE SCREEN OUTPUT.
- [02098] COMMON SUBROUTINES.
- [02100] ACF - ATTACH CATALOG FILE.
- [02148] CLS - CHECK LINE MODE OUTPUT STATUS.
- [02172] CLY - CONVERT LINE NUMBER TO Y-COORDINATE.
- [02197] CUP - CLEAN UP PROGRAM.
- [02251] RDM - READ MEMORY INTO BUFFER.
- [02287] STL - SEARCH TABLE WITH DEFINED LENGTH.
- [02314] STZ - SEARCH TABLE TERMINATED BY A ZERO WORD.
- [02341] SWP - SWAP FAMILY AND USER INDEX.
- [02374] VIP - VERIFY INCREMENT PARAMETER.
- [02415] VNP - VERIFY NO MORE PARAMETERS.
- [02460] BUFFER AREA.
- [02531] PRESET AREA.
- [02541] TARG - TABLE OF COMMAND ARGUMENTS.
- [02553] TOPT - TABLE OF VALID INPUT/OUTPUT OPTIONS.
- [02564] TDIS - TABLE OF VALID DISPLAY DIRECTIVES.
- [02572] TTSC - TABLE OF TERMINAL SCREEN CHARACTERS.
- [02630] PRS - PRESET PROGRAM.
- [02870] GSF - GET SCRATCH FILE NAME.
- [02926] GTC - GET TERMINAL CHARACTERISTICS.
- [02965] *TMSON* AND *TMSOFF* PROGRAM AREA.
- [02978] TARG - TABLE OF COMMAND ARGUMENTS.
- [02989] TDEF - TABLE OF *TO* ARGUMENT OPTIONS.
- [02999] TDES - TABLE OF *TO* ARGUMENT OPTIONS FOR SYOT JOBS.
- [03020] TMSOFF - MAIN PROGRAM.
- [03050] TMSON - MAIN ROUTINE.
- [03090] ABT - ABORT PROGRAM.
- [03115] DCF - DELETE FAMILY CATALOG FILE.
- [03181] END - TERMINATE PROGRAM.
- [03200] ICF - INITIALIZE FAMILY CATALOG FILE.
- [03330] PRS - PRESET PROGRAM.
- [03497] RPV - REPRIEVE PROCESSOR.
- [03540] FIELD LENGTH DEFINITIONS.
Source Code
- LDISTAP.txt
- IDENT LDISTAP,110B
- ABS
- SST CP,CSTM
- SYSCOM B1
- ENTRY LDISTAP
- ENTRY TMSDIS
- ENTRY TMSOFF
- ENTRY TMSON
- ENTRY RFL=
- ENTRY SSJ=
- *COMMENT LDISTAP - TAPE MANAGEMENT UTILITY.
- COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
- TITLE LDISTAP - TAPE MANAGEMENT UTILITY.
- LDISTAP SPACE 4,10
- *** LDISTAP - TAPE MANAGEMENT UTILITY.
- *
- * J. D. HOLMBECK 85/02/28.
- SPACE 4,10
- *** *TMSDIS* DISPLAYS THE STATUS OF THE TMS CATALOGS. IT CAN
- * CALLED FROM SYSTEM ORIGIN AS AN *L* DISPLAY UTILITY OR FROM
- * NON-SYSTEM ORIGIN JOBS BY VALIDATED USERS.
- SPACE 4,10
- *** TMSDIS - COMMAND FORMAT.
- *
- * THE FORMAT OF THE ORDER DEPENDENT *TMSDIS* COMMAND IS -
- *
- * TMSDIS,IDIS,MODE,LFN1,LFN2,TIME,NOBELL.
- *
- * THE FORMAT OF THE ORDER INDEPENDENT *TMSDIS* COMMAND IS -
- *
- * TMSDIS,ID=IDIS,OP=MODE,I=LFN1,L=LFN2,WT=TIME,NOBELL.
- *
- * WHERE -
- *
- * IDIS INITIAL DISPLAY. VALID VALUES FOR *IDIS* ARE *HELP*
- * OR *FAM*. DEFAULT IS *HELP*.
- *
- * MODE INPUT/OUTPUT OPTION. VALID VALUES FOR *MODE* ARE -
- *
- * L - L-DISPLAY. VALID ONLY FROM SYSTEM
- * ORIGIN.
- *
- * LINE - READ COMMANDS FROM INPUT FILE AND WRITE
- * DISPLAYS TO OUTPUT FILE.
- *
- * SCREEN - READ COMMANDS FROM TERMINAL INPUT FILE AND
- * WRITE DISPLAYS TO TERMINAL OUTPUT FILE.
- * DISPLAYS ARE REFRESHED WHILE WAITING FOR
- * INPUT. INPUT CAN BE ENTERED AFTER
- * ENTERING USER BREAK ONE (THE *BREAK* KEY).
- * VALID ONLY FROM INTERACTIVE ORIGIN.
- *
- * DEFAULT IS *L* FOR SYSTEM ORIGIN AND *LINE* FOR
- * NON-SYSTEM ORIGIN.
- *
- * LFN1 INPUT FILE NAME. IGNORED FOR L-DISPLAY AND SCREEN
- * MODES. DEFAULT IS *INPUT*.
- *
- * LFN2 OUTPUT FILE NAME. IGNORED FOR SCREEN MODE. DEFAULT IS
- * *OUTPUT*.
- *
- * TIME WAITING TIME IN SECONDS BEFORE A DISPLAY IS REFRESHED.
- * IGNORED FOR LINE MODE. A VALUE GREATER THAN 4095 IS
- * CONVERTED TO 4095. DEFAULT IS 2 FOR L-DISPLAY MODE
- * AND 10 FOR SCREEN MODE.
- *
- * NOBELL IGNORED FOR LINE AND L-DISPLAY MODES. IF *NOBELL* IS
- * NOT SPECIFIED, A BELL WILL SOUND AT THE TERMINAL WHEN
- * THE SCREEN IS REFRESHED AND WHEN THERE ARE TAPE
- * CATALOGS WITH ERRORS OR NO SCRATCH VSN-S.
- *
- * TO USE *TMSDIS* FROM A NON-SYSTEM ORIGIN JOB, THE USER MUST
- * BE VALIDATED TO USE THE TAPE FILE SUPERVISOR *TFSP*.
- DMESS SPACE 4,10
- *** DAYFILE MESSAGES.
- *
- * FOLLOWING ARE THE DAYFILE MESSAGES THAT MAY BE ISSUED BY
- * TMSDIS -
- *
- * INCORRECT COMMAND.
- * A USER THAT IS NOT VALIDATED FOR *TFSP* ATTEMPTED TO
- * USE *TMSDIS* FROM A NON-SYSTEM ORIGIN JOB.
- *
- * INCORRECT VALUE FOR PP PARAMETER - VVVVVVV.
- * THE VALUE *VVVVVVV* CANNOT BE USED FOR PARAMETER *PP*
- * ON THE *TMSDIS* COMMAND.
- *
- * TMSDIS COMPLETE.
- * *TMSDIS* NORMAL TERMINATION.
- *
- * L-DISPLAY NOT AVAILABLE.
- * *TMSDIS* CANNOT USE L-DISPLAY MODE AT THIS TIME
- * BECAUSE ANOTHER JOB HAS INTERLOCKED THE L-DISPLAY.
- *
- * UNKNOWN PARAMETER - PP.
- * THE PARAMETER *PP* CANNOT BE PROCESSED BY THE
- * *TMSDIS* COMMAND.
- DISPLAY SPACE 4,13
- *** TMSDIS DISPLAYS.
- *
- * EACH *TMSDIS* DISPLAY INCLUDES A THREE LINE HEADER WITH *TMS*
- * STATUS, DISPLAY NAME, PAGE NUMBER, THE NUMBER OF CATALOGS
- * WITH ERRORS AND THE NUMBER OF CATALOGS WITH NO AVAILABLE
- * SCRATCH TAPES.
- *
- * +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- * + +
- * + TMSDIS. TMS ENABLED. FAM DISPLAY PAGE 1 OF 2. +
- * + CATALOGS WITH ERRORS= 0. CATALOGS WITH NO MT/NT SCRATCH= 2. +
- * + CATALOGS WITH NO CT SCRATCH= 2. CATALOGS WITH NO AT SCRATCH= 2. +
- * + +
- * +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- HELP SPACE 4,10
- *** HELP DISPLAY.
- *
- * THE HELP DISPLAY LISTS THE *TMSDIS* INPUT COMMANDS THAT CAN
- * BE ENTERED. THE HELP DISPLAY IS INITIATED BY THE *HELP*
- * COMMAND. FOR EXAMPLE, PAGE 1 -
- *
- * +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- * + +
- * + HELP DISPLAY VALID COMMANDS. +
- * + FAM DISPLAY *TMS* FAMILY TAPE CATALOG STATUSES. +
- * + COPY COPY CURRENT DISPLAY TO OUTPUT FILE. +
- * + + TOGGLE PAGE FORWARD. +
- * + +N TOGGLE *N* PAGES FORWARD. +
- * + - TOGGLE PAGE BACKWARD. +
- * + -N TOGGLE *N* PAGES BACKWARD. +
- * + END TERMINATE *TMSDIS*. +
- * + +
- * +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- *
- * FOR EXAMPLE, PAGE 2 -
- *
- * +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- * + +
- * + + TOGGLE PAGE FORWARD. +
- * + - TOGGLE PAGE BACKWARD. +
- * + END TERMINATE *TMSDIS*. +
- * + +
- * +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- FAM SPACE 4,10
- *** FAMILY CATALOG DISPLAY.
- *
- * THE FAMILY CATALOG DISPLAY LISTS THE STATUS OF THE *TMS* TAPE
- * CATALOG FILE FOR EACH FAMILY ON THE SYSTEM. THE FAMILY
- * CATALOG DISPLAY IS INITIATED BY *FAM* COMMAND. FOR EXAMPLE -
- *
- * +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- * + +
- * + FAMILY MT/NT SCRATCH CT SCRATCH AT SCRATCH +
- * + STATUS COUNT NXT-VSN COUNT NXT-VSN COUNT NXT-VSN +
- * + +
- * + KCP 120 KCP055 20 CK0456 60 AK0459 +
- * + CATALOG LINKAGE ERROR. +
- * + TFFAMLY 0 ------ 0 ------ 0 ------ +
- * + NO SCRATCH TAPES. +
- * + KTJ 55 KTJ133 0 ------ 231 AJ0319 +
- * + +
- * + FAMTWO * 2341 T03450 70 CF0021 1492 AF1221 +
- * + +
- * + NEWFAM 0 ------ 0 ------ 0 ------ +
- * + CATALOG NOT FAST-ATTACHED. +
- * + PFFAMLY 0 ------ 0 ------ 0 ------ +
- * + CATALOG NOT FOUND. +
- * + +
- * +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- *
- * WHERE -
- *
- * FAMILY - FAMILY NAME. AN ASTERISK (*) WILL APPEAR AFTER THE
- * FAMILY NAME IF THE TAPE CATALOG IS BEING PROCESSED BY
- * *TMS* MEANING THAT THE INFORMATION DISPLAYED MAY NOT
- * UP TO DATE.
- *
- * COUNT - NUMBER OF SCRATCH VSNS OF THE SPECIFIED TAPE TYPE
- * (MT/NT, CT OR AT) IN THE TAPE CATALOG. THIS FIELD
- * IS ZERO IF THE FAMILY DOES NOT HAVE A FAST-ATTACHED
- * TAPE CATALOG.
- *
- * NXT-VSN - THE NEXT SCRATCH VSN OF THE SPECIFIED TAPE TYPE
- * (MT/NT, CT OR AT) IN THE TAPE CATALOG. THIS FIELD IS
- * SIX HYPHENS (------) IF NO SCRATCH TAPES OF THE
- * SPECIFIED TYPE ARE IN THE TAPE CATALOG. THIS FIELD
- * IS ALSO SIX HYPHENS IF THE FAMILY DOES NOT HAVE A
- * FAST-ATTACHED TAPE CATALOG.
- *
- * STATUS - STATUS MESSAGE FOR TAPE CATALOG. THIS FIELD
- * CONTAINS THE CONTENTS OF THE CATALOG MESSAGE BUFFER
- * IF THE TAPE CATALOG HAS AN ERROR CONDITION. THIS
- * FIELD CONTAINS *NO SCRATCH VSNS* IF *COUNT* IS ZERO
- * FOR ALL TAPE TYPES. THIS FIELD CONTAINS *CATALOG NOT
- * FAST-ATTACHED* IF THE TAPE CATALOG EXISTS BUT HAS NOT
- * BEEN FAST-ATTACHED. THIS FIELD CONTAINS *CATALOG NOT
- * FOUND* IF THE TAPE CATALOG DOES NOT EXIST.
- *
- * THE FAMILY CATALOGS ARE ORDERED IN THIS DISPLAY AS FOLLOWS -
- *
- * FAMILIES WITH CATALOG ERRORS
- * FAMILIES WITH NO SCRATCH VSNS
- * FAMILIES WITH FAST-ATTACHED CATALOGS BUT NO ERRORS
- * FAMILIES WITHOUT FAST-ATTACHED CATALOGS
- * FAMILIES WITHOUT CATALOGS
- COMMAND SPACE 4,10
- *** *TMSDIS* INPUT COMMANDS.
- *
- * *TMSDIS* COMMANDS ARE ENTERED ONE COMMAND PER INPUT LINE.
- * THE MAXIMUM NUMBER OF CHARACTERS PROCESSED FOR AN INPUT LINE
- * IS 77. AN INPUT LINE CAN OPTIONALLY BE TERMINATED BY A
- * PERIOD. ANY CHARACTERS FOLLOWING THE PERIOD ARE IGNORED. IF
- * A PARAMETER REQUIRES SPECIAL CHARACTERS, THE PARAMETER CAN BE
- * DOLLAR SIGN ($) DELIMITTED. FOR EXAMPLE, SUPPOSE VSN A$BC+E
- * IS TO BE ASSIGNED TO THE TAPE ON EQUIPMENT 65 -
- *
- * VSN,65,$A$$BC+E$.
- *
- * THE FOLLOWING ARE THE VALID *TMSDIS* INPUT COMMANDS -
- *
- * HELP
- * INITIATES THE HELP DISPLAY.
- *
- * FAM
- * INITIATES THE FAMILY TAPE CATALOG DISPLAY.
- *
- * COPY
- * COPIES THE CURRENT DISPLAY TO THE OUTPUT FILE. THIS
- * COMMAND IS IGNORED FOR SCREEN MODE.
- *
- * +N
- * TOGGLE THE DISPLAY *N* PAGES FORWARD. DEFAULT FOR *N*
- * IS 1.
- *
- * -N
- * TOGGLE THE DISPLAY *N* PAGES BACKWARD. DEFAULT FOR
- * *N* IS 1.
- CMESS SPACE 4,10
- *** COMMAND STATUS MESSAGES.
- *
- * ONE OF THE FOLLOWING MESSAGES WILL APPEAR AT THE BOTTOM OF
- * THE DISPLAY PAGE. THE IMAGE OF THE LAST INPUT COMMAND
- * ENTERED WILL APPEAR AFTER THE MESSAGE -
- *
- * INCORRECT INCREMENT
- * THE PAGE INCREMENT SPECIFIED WITH THE *+* OR *-*
- * COMMAND WAS NOT A NUMBER.
- *
- * LAST COMMAND
- * INDICATES THE LAST COMMAND PROCESSED WITHOUT ERRORS.
- *
- * PROCESSING
- * INDICATES THE CURRENT COMMAND BEING PROCESSED BY
- * *TMSDIS*.
- *
- * TOO MANY PARAMETERS
- * MORE PARAMETERS WERE SPECIFIED THAN THE COMMAND
- * ALLOWS.
- *
- * UNKNOWN COMMAND
- * THE COMMAND SPECIFIED CANNOT BE PROCESSED BY
- * *TMSDIS*.
- TMSON SPACE 4,10
- *** *TMSON* CAN BE CALLED FROM SYSTEM ORIGIN JOBS TO TURN ON
- * *TMS* TAPE CATALOG FILES FOR FAMILIES ON THE SYSTEM.
- TMSON SPACE 4,10
- *** TMSON - COMMAND FORMAT.
- *
- * THE FORMAT OF THE *TMSON* COMMAND IS -
- *
- * TMSON,FM=FNAME,DEFTO=NOPT,DEFTOS=SOPT.
- *
- * WHERE -
- *
- * FNAME FAMILY NAME OF *TMS* CATALOG TO TURN ON. IF A
- * SPECIFIC FAMILY NAME IS USED AND THE *TMS* CATALOG
- * FOR THAT FAMILY CANNOT BE TURNED ON, *TMSON* WILL
- * ABORT. IF AN ASTERISK (*) IS USED, *TMSON* WILL
- * ATTEMPT TO TURN ON THE *TMS* CATALOGS ON ALL FAMILIES
- * OF THE SYSTEM. AN INFORMATIVE MESSAGE WILL BE ISSUED
- * IF *TMSON* CANNOT TURN ON A *TMS* CATALOG FOR A
- * FAMILY. IF THIS PARAMETER IS NOT SPECIFIED, *TMSON*
- * WILL NOT TURN ON ANY *TMS* CATALOGS.
- *
- * NOPT IDENTIFIES THE DEFAULT TAPE OPTION (THE *TO*
- * PARAMETER) FOR *LABEL* AND *REQUEST* COMMANDS FOR
- * NON-SYSTEM ORIGIN JOBS. THIS PARAMETER CAN ONLY BE
- * SPECIFIED IF THE CALLING JOB IS RUNNING WITH THE
- * SUBSYSTEM ID OF *MAGNET* (*MTSI*). *NOPT* IS A STRING
- * WITH ONE OR MORE OF THE FOLLOWING CHARACTERS -
- *
- * T - SET THE DEFAULT TO *TO=T* (*TMS*
- * PROCESSING).
- *
- * F - SET THE DEFAULT TO *TO=F* (NON-*TMS*
- * PROCESSING).
- *
- * C - SET THE DEFAULT TO *TO=C* (CHECK FOR
- * CATALOG ERROR).
- *
- * E - SET THE DEFAULT TO *TO=E* (IGNORE CATALOG
- * ERROR).
- *
- * IF THIS PARAMETER IS NOT SPECIFIED, *TMSON* WILL NOT
- * CHANGE THE DEFAULT TAPE OPTION. A USER CAN CHANGE THE
- * DEFAULT TAPE OPTION FOR HIS OR HER JOB VIA THE
- * *TMSDEF* COMMAND.
- *
- * SOPT IDENTIFIES THE DEFAULT TAPE OPTION (THE *TO*
- * PARAMETER) FOR *LABEL* AND *REQUEST* COMMANDS FOR
- * SYSTEM ORIGIN JOBS. THIS PARAMETER CAN ONLY BE
- * SPECIFIED IF THE CALLING JOB IS RUNNING WITH THE
- * SUBSYSTEM ID OF *MAGNET* (*MTSI*). *NOPT* IS A STRING
- * WITH ONE OR MORE OF THE FOLLOWING CHARACTERS -
- *
- * T - SET THE DEFAULT TO *TO=T* (*TMS*
- * PROCESSING).
- *
- * F - SET THE DEFAULT TO *TO=F* (NON-*TMS*
- * PROCESSING).
- *
- * C - SET THE DEFAULT TO *TO=C* (CHECK FOR
- * CATALOG ERROR).
- *
- * E - SET THE DEFAULT TO *TO=E* (IGNORE CATALOG
- * ERROR).
- *
- * IF THIS PARAMETER IS NOT SPECIFIED, *TMSON* WILL NOT
- * CHANGE THE DEFAULT TAPE OPTION. A USER CAN CHANGE THE
- * DEFAULT TAPE OPTION FOR HIS OR HER JOB VIA THE
- * *TMSDEF* COMMAND.
- TMSOFF SPACE 4,10
- *** *TMSOFF* CAN BE CALLED FROM SYSTEM ORIGIN JOBS TO TURN OFF
- * *TMS* TAPE CATALOG FILES FOR FAMILIES ON THE SYSTEM.
- TMSOFF SPACE 4,10
- *** TMSOFF - COMMAND FORMAT.
- *
- * THE FORMAT OF THE *TMSOFF* COMMAND IS -
- *
- * TMSOFF,FM=FNAME.
- *
- * WHERE -
- *
- * FNAME FAMILY NAME OF *TMS* CATALOG TO TURN OFF. IF A
- * SPECIFIC FAMILY NAME IS USED AND THE *TMS* CATALOG
- * FOR THAT FAMILY CANNOT BE TURNED OFF, *TMSOFF* WILL
- * ABORT. IF AN ASTERISK (*) IS USED, *TMSOFF* WILL
- * ATTEMPT TO TURN OFF THE *TMS* CATALOGS ON ALL
- * FAMILIES OF THE SYSTEM. AN INFORMATIVE MESSAGE WILL
- * BE ISSUED IF *TMSOFF* CANNOT TURN OFF A *TMS* CATALOG
- * FOR A FAMILY. IF THIS PARAMETER IS NOT SPECIFIED,
- * *TMSOFF* WILL NOT TURN OFF ANY *TMS* CATALOGS.
- *
- * *TMSOFF* REMOVES THE FAST-ATTACH STATUS OF A *TMS* CATALOG.
- * *TMSON* WILL REINSTATE THE CATALOG AS FAST-ATTACHED.
- DMESS SPACE 4,10
- *** *TMSON* AND *TMSOFF* DAYFILE MESSAGES.
- *
- * FOLLOWING ARE THE DAYFILE MESSAGES THAT MAY BE ISSUED BY
- * *TMSON* OR *TMSOFF* -
- *
- * FAMILY NOT FOUND.
- * THE SPECIFIED FAMILY IS NOT ACTIVE ON THE SYSTEM.
- *
- * INCORRECT COMMAND.
- * *TMSON* OR *TMSOFF* WAS CALLED BY A NON-SYSTEM ORIGIN
- * JOB.
- *
- * INCORRECT VALUE FOR PP PARAMETER - VVVVVVV.
- * THE VALUE *VVVVVVV* CANNOT BE USED FOR PARAMETER *PP*
- * ON THE *TMSON* OR *TMSOFF* COMMAND.
- *
- * UNABLE TO TURN OFF *TMS* CATALOG FOR FFFFFFF.
- * THE *TMS* CATALOG FOR FAMILY *FFFFFFF* CANNOT BE
- * TURNED OFF AT THIS TIME.
- *
- * UNABLE TO TURN ON *TMS* CATALOG FOR FFFFFFF.
- * THE *TMS* CATALOG FOR FAMILY *FFFFFFF* CANNOT BE
- * TURNED ON AT THIS TIME.
- *
- * UNKNOWN PARAMETER - PP.
- * THE PARAMETER *PP* CANNOT BE PROCESSED BY THE
- * *TMSON* OR *TMSOFF* COMMAND.
- TITLE PROGRAM MACROS AND EQUIVALENCES.
- COMMON SPACE 4,10
- ** COMMON DECKS.
- *CALL COMCMAC
- *CALL COMCCMD
- *CALL COMCDCM
- *CALL COMSEVT
- *CALL COMSPFM
- *CALL COMSPRD
- *CALL COMSRPV
- *CALL COMSSFM
- *CALL COMSSSD
- *CALL COMSTCM
- QUAL TFM
- *CALL COMSTFM
- QUAL *
- QUAL TFU
- *CALL COMSTFU
- QUAL *
- QUAL MTX
- *CALL COMSMTX
- QUAL *
- TITLE PROGRAM MACROS AND EQUIVALENCES.
- ABTMSG SPACE 4,15
- ** ABTMSG - ABORT PROGRAM WITH DAYFILE MESSAGE.
- *
- * ABTMSG MADD
- *
- * ENTRY MADD = ADDRESS OF DAYFILE MESSAGE.
- *
- * EXIT MESSAGE ISSUED TO SYSTEM AND USER DAYFILES.
- * PROGRAM ABORTED.
- *
- * USES X - 5.
- *
- * CALLS ABT.
- PURGMAC ABTMSG
- ABTMSG MACRO MA
- MACREF ABTMSG
- R= X5,MA
- EQ ABT
- ABTMSG ENDM
- CLEAR SPACE 4,15
- ** CLEAR - CLEAR BUFFER.
- *
- * CLEAR BUFFER,LENGTH
- *
- * ENTRY BUFFER = FWA OF BUFFER TO CLEAR.
- * LENGTH = LENGTH OF BUFFER.
- *
- * EXIT BUFFER FILLED WITH ZERO WORDS.
- *
- * USES X - 6.
- * A - 6.
- * B - 7.
- PURGMAC CLEAR
- CLEAR MACRO BF,LN
- LOCAL A,B
- MACREF CLEAR
- R= B7,LN
- R= X6,0
- A SB7 B7-B1
- NG B7,B
- SA6 B7+BF
- EQ A
- B BSS 0
- CLEAR ENDM
- LDIS SPACE 4,15
- ** LDIS - RESERVE L-DISPLAY ENTRY.
- *
- *TAG LDIS NCHAR,STRING
- *
- * ENTRY TAG - LOCATION TAG OF ENTRY.
- * NCHAR - NUMBER OF CHARACTERS.
- * STRING - INITIAL CHARACTER STRING.
- * CP - SET TO CURRENT CHARACTER POSITION - 1.
- *
- * EXIT *TAG* DEFINED AT ADDRESS LOCATION.
- * *TAGU* DEFINED AT BIT POSITION.
- * *TAGC* DEFINED AS BIT COUNT (NCHAR*6).
- * CP - SET TO CURRENT CHARACTER POSITION - 1.
- PURGMAC LDIS
- MACRO LDIS,TG,NC,ST
- LOCAL BC,BP,CC,LC,SS,WC
- LC EQU *
- BP EQU *P-1
- WC SET NC-1
- WC SET WC/10
- CC DECMIC 1
- DUP WC
- SS MICRO "CC",10,$ST$
- VFD 60/10H"SS"
- CC DECMIC "CC"+10
- ENDD
- SS MICRO "CC",,$ST$
- CC DECMIC NC-WC*10
- BC DECMIC "CC"*6
- VFD "BC"/"CC"H"SS"
- AA IFC NE,$TG$$
- TG EQU LC
- TG_U EQU BP
- WC SET NC
- TG_C EQU WC*6
- AA ENDIF
- CP SET CP+NC
- LDIS ENDM
- LDISE SPACE 4,10
- ** LDISE - END L-DISPLAY LINE.
- *
- * LDISE
- *
- * ENTRY CP - SET TO CURRENT CHARACTER POSITION - 1.
- *
- * EXIT LAST WORD OF L-DISPLAY LINE ZERO FILLED.
- PURGMAC LDISE
- LDISE MACRO
- LOCAL BC
- AA IFLT *P,60
- BC DECMIC *P
- VFD "BC"/0
- AA ENDIF
- ERRNG 64-CP TOO MANY CHARACTERS IN LINE
- LDISE ENDM
- LDISS SPACE 4,10
- ** LDISS - START L-DISPLAY LINE.
- *
- * LDISS FC,LN
- *
- * ENTRY FC - FIRST CHARACTER POSITION OF LINE.
- * LN - LINE NUMBER.
- *
- * EXIT K - SET TO LINE NUMBER PLUS ONE.
- * CP - SET TO CURRENT CHARACTER POSITION - 1.
- PURGMAC LDISS
- LDISS MACRO FC,LN
- LOCAL LL,XX,YY
- LL EQU *
- XX EQU FC-1
- YY EQU LN
- VFD 12/6000B+XX*8,12/7707B-YY*15
- KDL RMT
- VFD 24/0,18/LL,18/7726B-YY*10
- KDL RMT
- K SET YY+1
- CP SET XX
- LDISS ENDM
- MBSATA SPACE 4,30
- ** MBSATA - MOVE BIT STRING FROM ADDRESS TO ADDRESS.
- *
- * MBSATA SADD,DADD,BITC,SUPB,DUPB
- *
- * ENTRY SADD = ADDRESS OF SOURCE STRING.
- * DADD = ADDRESS OF DESTINATION STRING.
- * (DO NOT USE A1, X1.)
- * BITC = BIT COUNT OF STRING.
- * (DO NOT USE A1, X1, A2, X2.)
- * SUPB = UPPER BIT POSITION OF SOURCE STRING.
- * (DO NOT USE A1, X1, A2, X2, B4.)
- * DUPB = UPPER BIT POSITION OF DESTINATION STRING.
- * (DO NOT USE A1, X1, A2, X2, B4, B3.)
- *
- * EXIT (A1) = ADDRESS OF REMAINDER OF SOURCE STRING.
- * (A2) = ADDRESS OF REMAINDER OF DESTINATION STRING.
- * (B2) = UPPER BIT POSITION OF REMAINDER OF DESTINATION
- * STRING.
- * (B3) = UPPER BIT POSITION OF REMAINDER OF SOURCE
- * STRING.
- * (X1) = FIRST WORD OF REMAINDER OF SOURCE STRING.
- * (X2) = FIRST WORD OF REMAINDER OF DESTINATION STRING.
- *
- * USES B - 4.
- *
- * CALLS MBS.
- PURGMAC MBSATA
- MBSATA MACRO SA,DA,BC,SU,DU
- MACREF MBSATA
- R= A1,SA
- R= A2,DA
- R= B4,BC
- R= B3,SU
- R= B2,DU
- RJ MBS
- MBSATA ENDM
- MBSXTA SPACE 4,30
- ** MBSXTA - MOVE BIT STRING FROM X-REGISTER TO ADDRESS.
- *
- * MBSXTA SX,DADD,BITC,SUPB,DUPB
- *
- * ENTRY SX = X-REGISTER WITH SOURCE STRING.
- * DADD = ADDRESS OF DESTINATION STRING.
- * (DO NOT USE X1.)
- * BITC = BIT COUNT OF STRING.
- * (DO NOT USE X1, A2, X2.)
- * SUPB = UPPER BIT POSITION OF SOURCE STRING.
- * (DO NOT USE X1, A2, X2, B4.)
- * DUPB = UPPER BIT POSITION OF DESTINATION STRING.
- * (DO NOT USE X1, A2, X2, B4, B3.)
- *
- * EXIT (A2) = ADDRESS OF REMAINDER OF DESTINATION STRING.
- * (B2) = UPPER BIT POSITION OF REMAINDER OF DESTINATION
- * STRING.
- * (B3) = UPPER BIT POSITION OF REMAINDER OF SOURCE
- * STRING.
- * .LT. 0 IF NO MORE BITS IN SOURCE STRING.
- * (B4) = NUMBER OF BITS NOT MOVED.
- * (X1) = SOURCE STRING.
- * (X2) = FIRST WORD OF REMAINDER OF DESTINATION STRING.
- *
- * USES B - 4.
- *
- * CALLS MBS.
- PURGMAC MBSXTA
- MBSXTA MACRO SX,DA,BC,SU,DU
- LOCAL A
- MACREF MBSXTA
- .A IFC NE,$X1$SX$
- X= X1,SX
- .A ENDIF
- R= A2,DA
- R= B4,BC
- R= B3,SU
- R= B2,DU
- RJ SBS
- NG B3,A
- PL B2,A
- R= A6,A2
- R= A2,A2+B1
- R= B2,59
- RJ SBS
- A R= A6,A2
- MBSXTA ENDM
- RDMEM SPACE 4,20
- ** RDMEM - READ MEMORY INTO BUFFER.
- *
- * RDMEM TYPE,ADD,COUNT,BUFF
- *
- * ENTRY TYPE - *ABS* IF READ FROM ABSOLUTE ADDRESS.
- * - *CPA* IF READ FROM CONTROL POINT ADDRESS.
- * - SUBSYSTEM IDENTIFIER IF READ FROM SUBSYSTEM
- * FIELD LENGTH.
- * ADD - ADDRESS TO READ FROM. (DO NOT USE X4.)
- * COUNT - NUMBER OF WORDS TO READ. (DO NOT USE X2, X4.)
- * BUFF - ADDRESS OF BUFFER TO RECEIVE DATA. (DO NOT
- * USE X2, X3, X4.)
- *
- * EXIT (X1) .LT. 0 IF READ IS SUCCESSFUL.
- *
- * USES X - 2, 3, 4.
- *
- * CALLS RDM.
- PURGMAC RDMEM
- RDMEM MACRO TY,AD,CT,BF
- MACREF RDMEM
- .A IFC EQ,$TY$ABS$
- R= X4,0
- .A ELSE
- .B IFC EQ,$TY$CPA$
- R= X4,-1
- .B ELSE
- R= X4,TY
- .B ENDIF
- .A ENDIF
- R= X2,AD
- R= X3,CT
- R= X1,BF
- RJ RDM
- RDMEM ENDM
- RJM SPACE 4,15
- ** RJM - RETURN JOB TO ADDRESS IN REGISTER.
- *
- * RJM ADDR
- *
- * ENTRY ADDR = ADDRESS OF SUBROUTINE.
- *
- * EXIT RETURN JUMP INTO SUBROUTINE.
- *
- * USES X - 1, 6.
- * A - 1, 6.
- * B - 2.
- PURGMAC RJM
- RJM MACRO AD
- LOCAL A,B
- MACREF RJM
- R= B2,AD
- R= A1,A
- BX6 X1
- R= A6,B2
- JP B2+1
- A EQ B
- B BSS 0
- RJM ENDM
- SRCHTAB SPACE 4,25
- ** SRCHTAB - SEARCH TABLE.
- *
- * SRCHTAB XR,TABADD,ENTADD,ENTLNG,TABLNG
- *
- * ENTRY (X0) = SEARCH MASK.
- * XR = X-REGISTER WITH VALUE TO SEARCH FOR.
- * TABADD = TABLE ADDRESS.
- * (DO NOT USE X1.)
- * ENTADD = RELATIVE ADDRESS OF VALUE IN TABLE ENTRY.
- * (DO NOT USE X1 OR B2.)
- * ENTLNG = LENGTH OF TABLE ENTRY.
- * (DO NOT USE X1, B2, OR B6.)
- * TABLNG = LENGTH OF TABLE IF SPECIFIED.
- * ZERO WORD TERMINATED TABLE IF NOT SPECIFIED.
- * (DO NOT USE X1, B2, B6, OR B7.)
- *
- * EXIT (X6) = 0 IF VALUE FOUND IN TABLE.
- * (A2) = ADDRESS OF WORD WITH VALUE.
- * (X2) = IMAGE OF WORD WITH VALUE.
- *
- * USES X - 1.
- * B - 2, 3, 6, 7.
- *
- * CALLS STL, STZ.
- PURGMAC SRCHTAB
- SRCHTAB MACRO XR,TA,EA,EL,TL
- MACREF SRCHTAB
- .A IFC NE,$X1$XR$
- X= X1,XR
- .A ENDIF
- R= B2,TA
- R= B6,EA
- R= B7,EL
- .A IFC EQ,$TL$$
- RJ STZ
- .A ELSE
- R= B3,TL
- RJ STL
- .A ENDIF
- SRCHTAB ENDM
- MISCEQU SPACE 4,10
- ** MISCELLANEOUS EQUIVALENCES.
- DEFRN EQU 10 DEFAULT WAITING TIME FOR NON-SYSTEM ORIGIN
- DEFRS EQU 2 DEFAULT WAITING TIME FOR SYSTEM ORIGIN
- SBCWL EQU /TFM/BWUN+1 CATALOG SYSTEM BLOCK CONTROL WORD LENGTH
- SBUFE EQU SBCWL+/TFM/TSTL CATALOG SYSTEM BLOCK LENGTH
- SSJ= EQU 0 SYSTEM PRIVILEGES DEFINITION
- DISEQU SPACE 4,10
- ** DISPLAY EQUIVALENCES.
- LPEFC EQU 2 FAMILY CATALOG LINES PER ENTRY
- NLPDS EQU 23 NUMBER OF LINES PER DISPLAY
- NLPTT EQU 3 NUMBER OF LINES PER TITLE
- NLPMS EQU 2 NUMBER OF LINES PER MESSAGE
- NLPHD EQU 2 NUMBER OF LINES PER HEADER
- NLPPG EQU NLPDS-NLPTT-NLPHD-NLPMS-1 NUMBER OF LINES PER PAGE
- MXNEL SET 100B*LPEFC-1 MAXIMUM NUMBER OF ENTRY LINES
- NPGFD EQU MXNEL/NLPPG+1 NUMBER OF PAGES FOR FAMILY DISPLAY
- NPGHD EQU 1 NUMBER OF PAGES FOR HELP DISPLAY
- OPTLD EQU 0 L-DISPLAY MODE
- OPTLN EQU 1 LINE MODE
- OPTSC EQU 2 SCREEN MODE
- BUFFL SPACE 4,10
- ** BUFFER LENGTHS.
- CBUFL EQU LCOM COMMAND BUFFER LENGTH
- DBUFL EQU LDSY DISPLAY BUFFER LENGTH
- FBUFL EQU 100B FAMILY ORDINAL TABLE BUFFER LENGTH
- IBUFL EQU 1001B INPUT FILE BUFFER LENGTH
- LBUFL EQU 1001B OUTPUT FILE BUFFER LENGTH
- SBUFL EQU SBUFE*FBUFL CATALOG SYSTEM BLOCKS BUFFER LENGTH
- ZBUFL EQU 101B CATALOG FILE BUFFER LENGTH
- LEQUIV SPACE 4,10
- ** L-DISPLAY EQUIVALENCES.
- NERR EQU 0 NO ERROR
- NBUF EQU 1 NO L-DISPLAY BUFFER DEFINED IN CMR
- NINL EQU 2 L-DISPLAY BUFFER NOT INTERLOCKED
- NDBF EQU 3 DISPLAY BUFFER TOO LARGE
- NCMD EQU 4 NO COMMAND ENTERED
- NCBF EQU 5 COMMAND BUFFER TOO SMALL
- MICROS SPACE 4,10
- ** PROGRAM MICROS.
- DEFRN DECMIC DEFRN DEFAULT WAITING TIME NON-SYSTEM ORIGIN
- DEFRS DECMIC DEFRS DEFAULT WAITING TIME SYSTEM ORIGIN
- TITLE DATA AREA.
- SPACE 4
- ORG 110B
- FETS SPACE 4,10
- ** FETS.
- I BSS 0 INPUT FILE
- INPUT FILEC IBUF,IBUFL,(FET=8),EPR
- L BSS 0 OUTPUT FILE
- OUTPUT FILEC LBUF,LBUFL,(FET=8),EPR
- P BSS 0 CATALOG FILE
- "TMFC" FILEB ZBUF,ZBUFL,(FET=16),EPR,(PFN="TMFC")
- CSMS SPACE 4,10
- ** COMMAND STATUS MESSAGES.
- CSII DATA 30H INCORRECT INCREMENT
- CSLC DATA 30H LAST COMMAND
- CSPR DATA 30H PROCESSING
- CSTM DATA 30H TOO MANY PARAMETERS
- CSUC DATA 30H UNKNOWN COMMAND
- DFES SPACE 4,10
- ** DAYFILE MESSAGES.
- DFFN DATA C* FAMILY NOT FOUND.*
- DFIC DATA C* INCORRECT COMMAND.*
- DFIV DATA C* INCORRECT VALUE FOR ####### PARAMETER - $$$$$$$.*
- DFLC DATA C* TMSDIS COMPLETE.*
- DFLN DATA C* L-DISPLAY NOT AVAILABLE.*
- DFUF DATA C$ UNABLE TO TURN OFF *TMS* CATALOG FOR #######.$
- DFUN DATA C$ UNABLE TO TURN ON *TMS* CATALOG FOR #######.$
- DFUP DATA C* UNKNOWN PARAMETER - $$$$$$$.*
- TCOM SPACE 4,10
- ** TCOM - TABLE OF INPUT COMMANDS.
- *
- *T, 42/ NAME, 18/ ADDRESS
- *
- * ENTRY NAME = LEFT JUSTIFIED, ZERO-FILLED COMMAND NAME.
- * ADDRESS = PROCESSOR ADDRESS IF PROCESS AFTER SYSTEM
- * STATUS.
- * = (-1)*PROCESSOR ADDRESS IF PROCESS
- * IMMEDIATELY.
- TCOM BSS 0 TABLE OF INPUT COMMANDS
- VFD 42/0LHELP,18/HEP HELP DISPLAY
- VFD 42/0LFAM,18/FAP FAMILY CATALOG DISPLAY
- VFD 42/0LCOPY,18/COP COPY DISPLAY TO OUTPUT FILE
- VFD 42/1L+,18/PCP TOGGLE PAGE FORWARD
- VFD 42/1L-,18/MCP TOGGLE PAGE BACKWARD
- VFD 42/0LDROP,18/-DRO TERMINATE *TMSDIS*
- VFD 42/0LEND,18/-DRO TERMINATE *TMSDIS*
- TCOML EQU *-TCOM LENGTH OF TABLE
- TDPR SPACE 4,10
- ** TDPR - TABLE OF DISPLAY PROCESSORS.
- TDPR BSS 0 TABLE OF DISPLAY PROCESSORS
- LOC 0
- DISHP CON HEL *HELP*
- DISFC CON FAM *FAM*
- LOC *O
- TFCM SPACE 4,10
- ** TFCM - TABLE OF FAMILY CATALOG MESSAGE ADDRESSES.
- TFCM BSS 0 TABLE OF FAMILY CATALOG MESSAGE ADDRESSES.
- LOC 0
- CSCFA CON BLANKS CATALOG FILE FAST-ATTACHED STATUS
- CSERR CON 0 CATALOG FILE ERROR STATUS
- CSNSV CON =40H NO SCRATCH VSNS.
- CSCFN CON =40H CATALOG NOT FAST-ATTACHED.
- CSCNF CON =40H CATALOG NOT FOUND.
- CSCFB CON 0 CATALOG FILE BUSY STATUS
- CSFNF CON 0 FAMILY NOT FOUND STATUS
- LOC *O
- TFCP SPACE 4,10
- ** TFCP - TABLE OF FAMILY CATALOG PROCESSORS
- TFCP BSS 0 TABLE OF FAMILY CATALOG PROCESSORS
- LOC 0
- CSCFA CON CCS CATALOG FILE FAST-ATTACHED STATUS
- CSERR CON CCS CATALOG FILE ERROR STATUS
- CSNSV CON CCS NO SCRATCH VSNS STATUS
- CSCFN CON CNF CATALOG FILE NOT FAST-ATTACHED
- CSCNF CON CCB CATALOG FILE NOT FOUND STATUS
- CSCFB CON CCS CATALOG FILE BUSY STATUS
- CSFNF CON CCB FAMILY NOT FOUND STATUS
- NFCST EQU * NUMBER OF FAMILY CATALOG STATUSES
- LOC *O
- TNDP SPACE 4,10
- ** TNDP - TABLE OF NUMBER OF DISPLAY PAGES.
- TNDP BSS 0 TABLE OF NUMBER OF DISPLAY PAGES
- LOC 0
- DISHP CON NPGHD *HELP*
- DISFC CON 1 *FAM*
- LOC *O
- WORKING SPACE 4,10
- ** WORKING STORAGE CELLS.
- BEL CON 2R^* BELL CHARACTER
- BLANKS DATA 64L
- CCE CON 0 COUNT OF CATALOG ERRORS
- CIN BSS 0 CLEAR INPUT LINE
- VFD 12/2R"EM" ASCII OUTPUT
- VFD 48/8H 78 BLANK CHARACTERS
- DUP 7
- VFD 60/10H
- ENDD
- VFD 24/4H"CR""CB" CARRIAGE RETURN/NO LINE FEED
- VFD 36/0 END OF LINE
- CLN CON 0 CURRENT LINE NUMBER
- CMP CON 0 COMMAND PROCESSOR ADDRESS
- CNSM CON 0 COUNT OF CATALOGS WITH NO *MT/NT* SCRATCH
- CNSC CON 0 COUNT OF CATALOGS WITH NO *CT* SCRATCH
- CNSA CON 0 COUNT OF CATALOGS WITH NO *AT* SCRATCH
- COA CON 0 COUNT OF JOBS REQUIRING OPERATOR ACTION
- COM CON 0 COMMAND IMAGE
- CON CON 0 CONSOLE STATUS
- CPN BSS 0 *CP=N,PG=N* LINE
- VFD 12/2R:N *NAM* OUTPUT
- VFD 12/4107B CURSOR POSITIONING
- VFD 12/4000B NO
- VFD 12/4045B PAGE WAITING
- VFD 12/4000B NO
- VFD 60/0 END OF LINE
- CPY BSS 0 *CP=Y* LINE
- VFD 12/2R:N *NAM* OUTPUT
- VFD 12/4107B CURSOR POSITIONING
- VFD 12/4001B YES
- VFD 24/0 END OF LINE
- CSL BSS 0 CLEAR SCREEN LINE
- VFD 12/2R"EM" ASCII OUTPUT
- VFD 12/2R^= CLEAR SCREEN CHARACTER
- VFD 24/4R"CR""ES" CARRIAGE RETURN/NO LINE FEED
- VFD 12/0 END OF LINE
- DIS CON DISHP CURRENT DISPLAY
- FFO CON 0 FWA OF FAMILY ORDINAL TABLE
- HYPHENS DATA 10H---------- TEN HYPHEN CHARACTERS
- JOT CON 0 JOB ORIGIN TYPE
- LDE CON 0 L-DISPLAY ERROR FLAG
- LIT CON 0 LITERAL STATUS FOR *POP* (0=NO LITERALS)
- LNS CON 0 LINE MODE OUTPUT STATUS (0=NO OUTPUT)
- MXF CON 0 MAXIMUM NUMBER OF FOT ENTRIES
- OFM CON 0 ORIGINAL FAMILY NAME
- OPT CON OPTLN INPUT/OUTPUT MODE
- OUI CON 0 ORIGINAL USER INDEX
- PAG CON 1 CURRENT PAGE NUMBER
- PAR CON 0 COMMAND PARAMETER ADDRESS
- PNO CON NPGHD CURRENT NUMBER OF PAGES
- ROT DATA 0 ROLLOUT TIME
- SIA CON 0 SCREEN INPUT AVAILABLE FLAG
- TIN CON 0 TERMINAL INPUT STATUS (0=TERMINAL INPUT)
- TMS CON 0 *TMS* STATUS (0=ENABLED)
- TOP BSS 0 TOP OF PAGE CHARACTERS
- VFD 12/2R"EM" ASCII OUTPUT
- VFD 12/2R BELL CHARACTER
- VFD 12/2R^? TOP OF PAGE CHARACTER
- VFD 24/4R"CR""ES" CARRIAGE RETURN/NO LINE FEED
- VFD 60/0 END OF LINE
- TOU CON 0 TERMINAL OUTPUT STATUS (0=TERMINAL OUTPUT)
- ZEROES BSSZ 7 SEVEN WORDS OF ZEROES
- TITLE TMSDIS MAIN PROGRAM.
- LDI SPACE 4,10
- ** TMSDIS - MAIN PROGRAM.
- TMSDIS BSS 0 ENTRY
- LDISTAP SB1 1 ENTRY
- RJ PRS PRESET PROGRAM
- SA1 OPT
- SX1 X1-OPTLN
- ZR X1,LDI7 IF LINE MODE
- SX1 X1-OPTSC+OPTLN
- ZR X1,LDI1 IF SCREEN MODE
- SX6 B0 CLEAR DISPLAY
- SA6 DBUF+DBUFS
- RJ IDO ISSUE DISPLAY OUTPUT
- EQ LDI3 GET SYSTEM STATUSES
- LDI1 WRITEC L,CPN CLEAR PAGE WAIT/CURSOR POSITIONING
- WRITEC L,CSL CLEAR SCREEN
- EQ LDI3 GET SYSTEM STATUSES
- LDI2 SA1 ROT
- ZR X1,LDI3 IF NO ROLLOUT TIME
- ROLLOUT ROT ROLLOUT ON TIMED-EVENT
- LDI3 RECALL
- RJ GCS GET CATALOG STATUS
- SA1 CMP
- ZR X1,LDI6 IF NO COMMAND PROCESSOR
- LDI4 RJM X1 PROCESS COMMAND
- NZ X5,LDI5 IF ERROR
- MBSATA CSLC,DMMA,DMMAC,59,DMMAU *LAST COMMMAND*
- EQ LDI6 ISSUE OUTPUT
- LDI5 MBSATA X5,DMMA,DMMAC,59,DMMAU SET ERROR MESSAGE
- SA1 OPT CHECK FOR LINE MODE
- SX1 X1-OPTLN
- NZ X1,LDI6 IF NOT LINE MODE
- MBSATA DMMA,LDIA,64*6,DMMAU,53 ISSUE ERROR MESSAGE TO OUTPUT
- WRITEC L,BLANKS
- WRITEC L,LDIA
- LDI6 RJ CLS CHECK LINE MODE OUTPUT STATUS
- NZ X6,LDI7 IF NO LINE MODE OUTPUT
- RJ BDT BUILD DISPLAY TITLE
- SA1 DIS GET DISPLAY PROCESSOR ADDRESS
- SA1 X1+TDPR
- RJM X1 PROCESS DISPLAY
- RJ IOU ISSUE OUTPUT
- LDI7 RJ GIN GET INPUT
- SA1 CBUF+1
- NZ X1,LDI8 IF INPUT
- SX6 B0 CLEAR COMMAND PROCESSOR
- SA6 CMP
- SX6 B1 FORCE LINE MODE OUTPUT
- SA6 LNS
- EQ LDI2 ROLLOUT JOB
- LDI8 SB2 7 BLANK FILL COMMAND
- LDI9 NG B2,LDI10 IF END OF COMMAND
- SA1 B2+CBUF+1
- RJ ZTB CONVERT ZEROES TO BLANKS
- SA6 A1
- SB2 B2-B1
- EQ LDI9 CHECK NEXT COMMAND WORD
- LDI10 MX0 42 FORCE TERMINATOR INTO COMMAND
- SA1 CBUF+1+7
- SX6 1R.
- BX1 X0*X1
- LX6 12
- BX6 X1+X6
- SA6 A1
- MBSATA CSPR,DMMA,DMMAC,59,DMMAU *PROCESSING*
- MBSATA CBUF+1,DMCM,DMCMC,59,DMCMU
- SA1 OPT CHECK OPTION
- SX1 X1-OPTLD
- NZ X1,LDI11 IF NOT L-DISPLAY MODE
- RJ IDO ISSUE DISPLAY OUTPUT
- LDI11 SB2 CBUF+1
- RJ USB UNPACK STRING BUFFER
- RJ POP PICK OUT PARAMETER
- SB5 B5-B1
- SX5 CSUC *UNKNOWN COMMAND.*
- PL B5,LDI5 IF COMMAND TOO LONG
- ZR X6,LDI12 IF SPECIAL CHARACTER
- MX0 42 CHECK COMMAND LENGTH
- BX1 -X0*X6
- NZ X1,LDI5 IF COMMAND TOO LONG
- EQ LDI13 SAVE COMMAND IMAGE
- LDI12 LX1 54 POSITION COMMAND
- BX6 X1
- LDI13 SA6 COM SAVE COMMAND IMAGE
- SX6 B6 SAVE FIRST PARAMETER ADDRESS
- SA6 PAR
- MX0 42 FIND COMMAND
- SA1 COM
- SRCHTAB X1,TCOM,0,1,TCOML
- SX5 CSUC *UNKNOWN COMMAND.*
- NZ X6,LDI5 IF COMMAND NOT FOUND
- SX6 X2 SAVE COMMAND PROCESSOR ADDRESS
- SA6 CMP
- PL X6,LDI3 IF DO NOT PROCESS IMMEDIATELY
- BX1 -X6
- EQ LDI4 PROCESS COMMAND
- LDIA DATA 65L
- ABT SPACE 4,10
- ** ABT - ABORT PROGRAM.
- *
- * ENTRY (X5) = ADDRESS OF DAYFILE MESSAGE.
- *
- * EXIT MESSAGE ISSUED TO SYSTEM AND USER DAYFILES.
- * PROGRAM ABORTED.
- *
- * CALLS CUP.
- *
- * MACROS ABORT, MESSAGE.
- ABT BSS 0 ENTRY
- RJ CUP CLEAN UP PROGRAM
- MESSAGE X5,0,R ISSUE ERROR MESSAGE
- ABORT ABORT PROGRAM
- END SPACE 4,10
- ** END - TERMINATE PROGRAM.
- *
- * EXIT PROGRAM TERMINATED.
- *
- * CALLS CUP.
- *
- * MACROS ENDRUN, MESSAGE.
- END BSS 0 ENTRY
- RJ CUP CLEAN UP PROGRAM
- MESSAGE DFLC,0,R *TMSDIS COMPLETE.*
- ENDRUN TERMINATE PROGRAM
- RPV SPACE 4,15
- ** RPV - REPRIEVE PROCESSOR.
- *
- * EXIT (SIA) = 1 AND PROGRAM RESUMED IF USER BREAK ONE AND
- * TERMINAL INPUT/OUTPUT.
- * PROGRAM CLEANED UP AND ERROR CONDITION RESET IF NOT
- * USER BREAK ONE OR NOT TERMINAL INPUT/OUTPUT.
- *
- * USES X - 0, 1, 2, 6.
- * A - 1, 2, 6.
- *
- * CALLS CUP.
- *
- * MACROS REPRIEVE.
- RPV BSS 0 ENTRY
- MX0 -12 CHECK ERROR FLAG
- SA1 RPVA+/COMSRPV/OSEF
- BX1 -X0*X1
- SX1 X1-TIET
- NZ X1,RPV2 IF NOT USER BREAK ONE
- SA1 TIN CHECK FOR TERMINAL INPUT/OUTPUT
- SA2 TOU
- BX1 X1+X2
- NZ X1,RPV2 IF NOT TERMINAL INPUT/OUTPUT
- SX6 B1 FLAG SCREEN INPUT AVAILABLE
- SA6 SIA
- REPRIEVE RPVA,RESUME,237B RESUME PROGRAM EXECUTION
- RPV2 RJ CUP CLEAN UP PROGRAM
- REPRIEVE RPVA,RESET,000B RESET ERROR CONDITION
- RPVA RPVBLK RPV REPRIEVE BLOCK
- TITLE COMMAND SUBROUTINES.
- COP SPACE 4,15
- ** COP - PROCESS *COPY* COMMAND.
- *
- * COPY.
- *
- * EXIT CURRENT DISPLAY COPIED TO OUTPUT FILE IF L-DISPLAY OR
- * LINE MODE.
- * (X5) = 0 IF NO PARAMETERS.
- * = CSTM IF TOO MANY PARAMETERS.
- *
- * USES X - 1.
- * A - 1.
- *
- * CALLS ILO, VNP.
- COP SUBR ENTRY/EXIT
- RJ VNP VERIFY NO MORE PARAMETERS
- NZ X5,COPX IF TOO MANY PARAMETERS
- SA1 OPT CHECK INPUT/OUTPUT MODE
- SX1 X1-OPTSC
- ZR X1,COPX IF SCREEN MODE
- RJ BDT BUILD DISPLAY TITLE
- SA1 DIS GET DISPLAY PROCESSOR ADDRESS
- SA1 X1+TDPR
- RJM X1 PROCESS DISPLAY
- RJ ILO ISSUE LINE OUTPUT
- SX5 B0 FLAG NO ERROR
- EQ COPX RETURN
- DRO SPACE 4,10
- ** DRO - PROCESS *DROP* OR *END* COMMAND.
- *
- * END.
- * DROP.
- *
- * EXIT TO *END* TO TERMINATE PROGRAM.
- *
- * ERROR (X5) = CSTM IF TOO MANY PARAMETERS.
- *
- * CALLS VNP.
- DRO SUBR ENTRY/EXIT
- RJ VNP VERIFY NO PARAMETERS
- NZ X5,DROX IF TOO MANY PARAMETERS
- EQ END TERMINATE PROGRAM
- FAP SPACE 4,15
- ** FAP - PROCESS *FAM* COMMAND.
- *
- * FAM.
- *
- * EXIT (DIS) = DISFC.
- * (PAG) = 1.
- * (X5) = 0 IF NO PARAMETERS.
- * = CSTM IF TOO MANY PARAMETERS.
- *
- * USES X - 6.
- * A - 6.
- *
- * CALLS VNP.
- FAP SUBR ENTRY/EXIT
- RJ VNP VERIFY NO MORE PARAMETERS
- NZ X5,FAPX IF TOO MANY PARAMETERS
- SX6 B1 SET PAGE NUMBER
- SA6 PAG
- SX6 DISFC SET DISPLAY TYPE
- SA6 DIS
- SX6 B1 FORCE LINE MODE OUTPUT
- SA6 LNS
- SX5 B0
- EQ FAPX RETURN
- HEP SPACE 4,15
- ** HEP - PROCESS *HELP* COMMAND.
- *
- * HELP.
- *
- * EXIT (DIS) = DISHP.
- * (PAG) = 1.
- * (X5) = 0 IF NO PARAMETERS.
- * = CSTM IF TOO MANY PARAMETERS.
- *
- * USES X - 6.
- * A - 6.
- *
- * CALLS VNP.
- HEP SUBR ENTRY/EXIT
- RJ VNP VERIFY NO MORE PARAMETERS
- NZ X5,HEPX IF TOO MANY PARAMETERS
- SX6 B1 SET PAGE NUMBER
- SA6 PAG
- SX6 DISHP SET DISPLAY TYPE
- SA6 DIS
- SX6 B1 FORCE LINE MODE OUTPUT
- SA6 LNS
- SX5 B0
- EQ HEPX RETURN
- MCP SPACE 4,15
- ** MCP - PROCESS MINUS COMMAND.
- *
- * -.
- * -N.
- *
- * EXIT PAGE TOGGLED BACKWARD.
- * (X5) = 0 IF NO PARAMETERS.
- * = ERROR MESSAGE ADDRESS IF INCORRECT INCREMENT.
- *
- * USES X - 1, 2, 6.
- * A - 1, 2, 6.
- *
- * CALLS VIP, VNP.
- MCP SUBR ENTRY/EXIT
- RJ VIP VERIFY INCREMENT PARAMETER
- NZ X5,MCPX IF INCORRECT PARAMETER
- SA6 MCPA SAVE INCREMENT
- RJ VNP VERIFY NO PARAMETERS
- NZ X5,MCPX IF TOO MANY PARAMETERS
- SA1 PAG CHECK PAGE NUMBER
- SA2 MCPA
- IX2 X2-X1
- BX6 -X2
- NG X2,MCP1 IF NOT BEFORE FIRST PAGE
- SA1 PNO SET LAST PAGE
- SX6 X1
- MCP1 SA6 PAG SET NEW PAGE NUMBER
- SX6 B1 FORCE LINE MODE OUTPUT
- SA6 LNS
- SX5 B0
- EQ MCPX RETURN
- MCPA BSS 1 INCREMENT
- PCP SPACE 4,15
- ** PCP - PROCESS PLUS COMMAND.
- *
- * +.
- * +N.
- *
- * EXIT PAGE TOGGLED FORWARD.
- * (X5) = 0 IF NO PARAMETERS.
- * = ERROR MESSAGE ADDRESS IF INCORRECT INCREMENT.
- *
- * USES X - 1, 2, 6.
- * A - 1, 2, 6.
- *
- * CALLS VIP, VNP.
- PCP SUBR ENTRY/EXIT
- RJ VIP VERIFY INCREMENT PARAMETER
- NZ X5,PCPX IF INCORRECT INCREMENT
- SA6 PCPA SAVE INCREMENT
- RJ VNP VERIFY NO MORE PARAMETERS
- NZ X5,PCPX IF TOO MANY PARAMETERS
- SA1 PAG CHECK PAGE NUMBER
- SA2 PCPA
- IX6 X1+X2
- SA1 PNO
- IX1 X1-X6
- PL X1,PCP1 IF NOT AFTER LAST PAGE
- SX6 B1 SET FIRST PAGE
- PCP1 SA6 PAG SET NEW PAGE NUMBER
- SX6 B1 FORCE LINE MODE OUTPUT
- SA6 LNS
- SX5 B0
- EQ PCPX RETURN
- PCPA BSS 1 INCREMENT
- TITLE DISPLAY SUBROUTINES.
- BDT SPACE 4,10
- ** BDT - BUILD DISPLAY TITLE.
- *
- * EXIT FIRST THREE LINES OF DISPLAY SET UP.
- *
- * USES X - 1, 2, 6.
- * A - 1, 2.
- *
- * CALLS CDD.
- *
- * MACROS MBSATA, MBSXTA.
- BDT SUBR ENTRY/EXIT
- SA1 TMS GET *TMS* STATUS
- SX6 BDTC
- ZR X1,BDT2 IF *TMS* ACTIVE
- SX6 BDTD
- BDT2 MBSATA X6,DTTS,DTTSC,59,DTTSU SET *TMS* STATUS
- SA1 DIS GET DISPLAY NAME
- MBSATA X1+BDTE,DTDS,DTDSC,59,DTDSU SET DISPLAY NAME
- SA1 DIS GET NUMBER OF PAGES
- SA2 X1+TNDP
- NZ X2,BDT3 IF ONE OR MORE PAGES
- SX2 B1
- BDT3 SX6 X2 SET NUMBER OF PAGES
- SA6 PNO
- SA1 PAG GET CURRENT PAGE NUMBER
- IX6 X2-X1
- PL X6,BDT4 IF NOT TOO MANY PAGES
- SX1 X2 RESET PAGE NUMBER
- SX6 X2
- SA6 A1
- BDT4 NZ X1,BDT5 IF NON-ZERO
- SX1 B1 RESET PAGE NUMBER
- SX6 B1
- SA6 A1
- BDT5 RJ CDD CONVERT TO DECIMAL DISPLAY
- MBSXTA X6,DTPN,DTPNC,DTPNC-1,DTPNU SET CURRENT PAGE NUMBER
- SA1 PNO GET NUMBER OF PAGES
- RJ CDD CONVERT TO DECIMAL DISPLAY
- MBSXTA X6,DTPC,DTPCC,DTPCC-1,DTPCU SET CURRENT PAGE NUMBER
- SA1 CCE GET NUMBER OF CATALOGS WITH ERRORS
- RJ CDD CONVERT TO DECIMAL DISPLAY
- MBSXTA X6,DTCE,DTCEC,DTCEC-1,DTCEU SET CATALOG ERRORS
- SA1 CNSM NUMBER OF CATALOGS WITH NO *MT/NT* SCRATCH
- RJ CDD CONVERT TO DECIMAL DISPLAY
- MBSXTA X6,DTNM,DTNMC,DTNMC-1,DTNMU SET NO SCRATCH COUNT
- SA1 CNSC NUMBER OF CATALOGS WITH NO *CT* SCRATCH
- RJ CDD CONVERT TO DECIMAL DISPLAY
- MBSXTA X6,DTNC,DTNCC,DTNCC-1,DTNCU SET NO SCRATCH COUNT
- SA1 CNSA NUMBER OF CATALOGS WITH NO *AT* SCRATCH
- RJ CDD CONVERT TO DECIMAL DISPLAY
- MBSXTA X6,DTNA,DTNAC,DTNAC-1,DTNAU SET NO SCRATCH COUNT
- EQ BDTX RETURN
- BDTC DATA 14H TMS ENABLED.
- BDTD DATA 14HTMS DISABLED.
- BDTE BSS 0 DISPLAY NAMES
- LOC 0
- DISHP DATA 4HHELP
- DISFC DATA 4H FAM
- LOC *O
- FAM SPACE 4,10
- ** FAM - BUILD *FAM* DISPLAY.
- *
- * EXIT FAMILY CATALOG DISPLAY SET INTO *DBUF*.
- *
- * USES X - 0, 1, 2, 6.
- * A - 0, 1, 2, 6.
- *
- * CALLS CDD, CLY, ZTB.
- *
- * MACROS MBSATA, MBSXTA, MOVE.
- FAM3 SX6 B0 FLAG END OF DISPLAY BUFFER
- SA6 X5
- FAM SUBR ENTRY/EXIT
- SX5 DBUF+DBUFS SET START OF DISPLAY BUFFER
- MOVE FAMAL,FAMA,X5 SET HEADER IN DISPLAY BUFFER
- SX5 X5+FAMAL
- SA1 PNO
- ZR X1,FAM3 IF NO PAGES FOR DISPLAY
- SA1 PAG GET ADDRESS OF FIRST ENTRY FOR PAGE
- ZR X1,FAM3 IF NO PAGES FOR DISPLAY
- SA1 X1+TFDP-1
- SX6 NLPTT+NLPHD+1 SET CURRENT LINE NUMBER
- SA6 CLN
- FAM1 SX1 X1
- ZR X1,FAM3 IF NO MORE ENTRIES
- SA0 X1
- SA1 CLN CHECK CURRENT LINE NUMBER
- SX6 X1+LPEFC-NLPHD-NLPTT-NLPPG-2
- PL X6,FAM3 IF NO MORE LINES IN DISPLAY
- SX6 X5+FAMBL-DBUF-DBUFL
- PL X6,FAM3 IF NO MORE ROOM IN DISPLAY BUFFER
- SX0 FAMB CALCULATE Y-COORDINATE FOR FIRST LINE
- SA1 CLN
- RJ CLY CONVERT LINE NUMBER TO Y-COORDINATE
- SX0 FAMB2 CALCULATE Y-COORDINATE FOR SECOND LINE
- SA1 CLN
- SX1 X1+B1
- RJ CLY CONVERT LINE NUMBER TO Y-COORDINATE
- * SET *FAMILY*.
- SA1 A0+SBCWL+/TFM/TMFM GET FAMILY NAME
- RJ ZTB CONVERT ZEROES TO BLANKS
- MBSXTA X6,DFFM,DFFMC,59,DFFMU SET *FAMILY*
- * SET BUSY FLAG.
- SA1 A0 CHECK CATALOG BUSY FLAG
- LX1 59-47
- SX6 1R
- PL X1,FAM2 IF CATALOG NOT BUSY
- SX6 1R*
- FAM2 MBSXTA X6,DFBS,DFBSC,DFBSC-1,DFBSU SET BUSY FLAG
- * SET *MT/NT* SCRATCH COUNT.
- MX0 -24 GET SCRATCH COUNT
- SA1 A0+SBCWL+/TFM/TMSM
- BX1 -X0*X1
- RJ CDD CONVERT TO DECIMAL DISPLAY
- MBSXTA X6,DFSM,DFSMC,DFSMC-1,DFSMU SET COUNT
- * SET *MT/NT* NEXT SCRATCH VSN.
- SA1 A0+SBCWL+/TFM/TMSM
- RJ ZTB CONVERT ZEROES TO BLANKS
- MBSXTA X6,DFNM,DFNMC,59,DFNMU SET NEXT VSN
- * SET *CT* SCRATCH COUNT.
- MX0 -24 GET SCRATCH COUNT
- SA1 A0+SBCWL+/TFM/TMSC
- BX1 -X0*X1
- RJ CDD CONVERT TO DECIMAL DISPLAY
- MBSXTA X6,DFSC,DFSCC,DFSCC-1,DFSCU SET COUNT
- * SET *CT* NEXT SCRATCH VSN.
- SA1 A0+SBCWL+/TFM/TMSC
- RJ ZTB CONVERT ZEROES TO BLANKS
- MBSXTA X6,DFNC,DFNCC,59,DFNCU SET NEXT VSN
- * SET *AT* SCRATCH COUNT.
- MX0 -24 GET SCRATCH COUNT
- SA1 A0+SBCWL+/TFM/TMSA
- BX1 -X0*X1
- RJ CDD CONVERT TO DECIMAL DISPLAY
- MBSXTA X6,DFSA,DFSAC,DFSAC-1,DFSAU SET COUNT
- * SET *AT* NEXT SCRATCH VSN.
- SA1 A0+SBCWL+/TFM/TMSA
- RJ ZTB CONVERT ZEROES TO BLANKS
- MBSXTA X6,DFNA,DFNAC,59,DFNAU SET NEXT VSN
- * SET *STATUS*.
- SA1 A0+SBCWL+/TFM/TMMB GET STATUS MESSAGE
- RJ ZTB CONVERT ZEROES TO BLANKS
- SA6 A1
- SA1 A1+B1
- RJ ZTB CONVERT ZEROES TO BLANKS
- SA6 A1
- SA1 A1+B1
- RJ ZTB CONVERT ZEROES TO BLANKS
- SA6 A1
- SA1 A1+B1
- RJ ZTB CONVERT ZEROES TO BLANKS
- SA6 A1
- MBSATA A0+SBCWL+/TFM/TMMB,DFST,DFSTC,59,DFSTU SET *STATUS*
- MOVE FAMBL,FAMB,X5 SET ENTRY INTO BUFFER
- SX5 X5+FAMBL INCREMENT DISPLAY BUFFER ADDRESS
- SA1 CLN INCREMENT CURRENT LINE NUMBER
- SX6 X1+LPEFC
- SA6 A1
- SA1 A0 GET NEXT FAMILY CATALOG ADDRESS
- EQ FAM1 CHECK ADDRESS
- FAMA BSS 0 FAMILY CATALOG DISPLAY HEADER
- LDISS 1,NLPTT+1 HEADER LINE ONE
- LDIS 7,(FAMILY )
- LDIS 1,( )
- LDIS 16,( MT/NT SCRATCH)
- LDIS 1,( )
- LDIS 16,( CT SCRATCH )
- LDIS 1,( )
- LDIS 16,( AT SCRATCH )
- LDISE
- LDISS 1,K HEADER LINE TWO
- LDIS 8,( STATUS)
- LDIS 8,( COUNT)
- LDIS 1,( )
- LDIS 7,(NXT-VSN)
- LDIS 1,( )
- LDIS 8,( COUNT)
- LDIS 1,( )
- LDIS 7,(NXT-VSN)
- LDIS 1,( )
- LDIS 8,( COUNT)
- LDIS 1,( )
- LDIS 7,(NXT-VSN)
- LDISE
- FAMAL EQU *-FAMA FAMILY CATALOG DISPLAY HEADER LENGTH
- FAMB BSS 0
- LDISS 1,K+1 FAMILY CATALOG ENTRY LINE ONE
- DFFM LDIS 7,(FAMNAME) FAMILY NAME
- DFBS LDIS 1,( ) BUSY FLAG
- DFSM LDIS 8,( 0) *MT/NT* SCRATCH COUNT
- LDIS 1,( )
- DFNM LDIS 6,(------) *MT/NT* NEXT SCRATCH VSN
- LDIS 1,( )
- DFSC LDIS 8,( 0) *CT* SCRATCH COUNT
- LDIS 1,( )
- DFNC LDIS 6,(------) *CT* NEXT SCRATCH VSN
- LDIS 1,( )
- DFSA LDIS 8,( 0) *AT* SCRATCH COUNT
- LDIS 1,( )
- DFNA LDIS 6,(------) *AT* NEXT SCRATCH VSN
- LDISE
- FAMB2 BSS 0
- LDISS 1,K FAMILY CATALOG ENTRY LINE TWO
- LDIS 1,( )
- DFST LDIS 40,( ) STATUS
- LDISE
- FAMBL EQU *-FAMB FAMILY CATALOG ENTRY LINE LENGTH
- NWIFD EQU FAMBL*NLPPG/LPEFC+FAMAL NUMBER OF WORDS IN *FAM* DIS
- HEL SPACE 4,10
- ** HEL - BUILD *HELP* DISPLAY.
- *
- * EXIT *HELP* DISPLAY SET INTO DISPLAY BUFFER.
- *
- * USES X - 1, 2, 6.
- * A - 1.
- *
- * MACROS MOVE.
- HEL SUBR ENTRY/EXIT
- SA1 PAG GET PAGE NUMBER
- SA1 X1+HELA-1
- SX2 X1
- AX1 18
- MOVE X1,X2,DBUF+DBUFS SET *HELP* DISPLAY IN BUFFER
- EQ HELX RETURN
- HELA BSS 0 LENGTHS AND POINTERS TO HELP DISPLAY PAGES
- LOC 1
- VFD 24/0,18/HELBL,18/HELB PAGE ONE
- LOC *O
- HELB BSS 0 HELP DISPLAY PAGE ONE
- LDISS 1,NLPTT+2
- LDIS 4,(HELP)
- LDISE
- LDISS 20,K-1
- LDIS 23,(DISPLAY VALID COMMANDS.)
- LDISE
- LDISS 1,K
- LDIS 3,(FAM)
- LDISE
- LDISS 20,K-1
- LDIS 43,(DISPLAY *TMS* FAMILY TAPE CATALOG STATUSES.)
- LDISE
- LDISS 1,K
- LDIS 4,(COPY)
- LDISE
- LDISS 20,K-1
- LDIS 36,(COPY CURRENT DISPLAY TO OUTPUT FILE.)
- LDISE
- LDISS 1,K
- LDIS 1,(+)
- LDISE
- LDISS 20,K-1
- LDIS 20,(TOGGLE PAGE FORWARD.)
- LDISE
- LDISS 1,K
- LDIS 1,(-)
- LDISE
- LDISS 20,K-1
- LDIS 21,(TOGGLE PAGE BACKWARD.)
- LDISE
- LDISS 1,K
- LDIS 4,(END )
- LDISE
- LDISS 20,K-1
- LDIS 20,(TERMINATE *TMSDIS* .)
- LDISE
- CON 0 END OF DISPLAY
- HELBL EQU *-HELB LENGTH OF HELP DISPLAY
- NWIHD EQU HELBL NUMBER OF WORDS IN *HELP* DISPLAY
- TITLE SYSTEM STATUS SUBROUTINES.
- CCB SPACE 4,10
- ** CCB - CLEAR CATALOG BUFFER.
- *
- * (A0) = ADDRESS OF CATALOG BUFFER.
- *
- * EXIT CATALOG BUFFER FIELDS SET TO ZERO.
- * (TMSM) SET TO SIX HYPHENS.
- * (TMSC) SET TO SIX HYPHENS.
- * (TMSA) SET TO SIX HYPHENS.
- *
- * MACROS CLEAR, MBSATA.
- CCB SUBR ENTRY/EXIT
- CLEAR A0,SBUFE CLEAR CATALOG BUFFER
- MBSATA HYPHENS,A0+SBCWL+/TFM/TMSM,6*6,59,59 *MT/NT* SCRATCH
- MBSATA HYPHENS,A0+SBCWL+/TFM/TMSC,6*6,59,59 *CT* SCRATCH
- MBSATA HYPHENS,A0+SBCWL+/TFM/TMSA,6*6,59,59 *AT* SCRATCH
- EQ CCBX RETURN
- CCS SPACE 4,20
- ** CCS - CHECK CATALOG STATUS.
- *
- * ENTRY (A0) = ADDRESS OF CATALOG BUFFER.
- * (X4) = *CSCFA* IF CATALOG IS FAST-ATTACHED.
- * = *CSCFB* IF CATALOG IS BUSY.
- *
- * EXIT ((A0)+0) = BIT 47 SET IF CATALOG IS BUSY.
- * (X4) = *CSERR* IF CATALOG ERROR.
- * = *CSNSV* IF NO SCRATCH VSNS OF ANY TYPE.
- * = *CSCFA* IF NO SPECIAL STATUS.
- * (CCE) INCREMENTED IF CATALOG ERROR.
- * (CNSN) INCREMENTED IF NO *MT/NT* SCRATCH VSNS.
- * (TMSM) SET TO SIX HYPHENS IF NO *MT/NT* SCRATCH VSNS.
- * (CNSC) INCREMENTED IF NO *CT* SCRATCH VSNS.
- * (TMSC) SET TO SIX HYPHENS IF NO *CT* SCRATCH VSNS.
- * (CNSA) INCREMENTED IF NO *AT* SCRATCH VSNS.
- * (TMSA) SET TO SIX HYPHENS IF NO *AT* SCRATCH VSNS.
- *
- * USES X - 0, 1, 4, 6, 7.
- * A - 1, 6.
- *
- * MACROS MBSATA, MBSXTA.
- CCS5 SA1 CCSB CHECK TOTAL SCRATCH COUNT FOR FAMILY
- NZ X1,CCSX IF SCRATCH VSN-S OF ANY TYPE FOUND
- SX4 CSNSV SET ERROR STATUS
- CCS SUBR ENTRY/EXIT
- SX6 X4-CSCFA
- SX1 B0
- ZR X6,CCS1 IF CATALOG IS FAST-ATTACHED
- SX4 CSCFA
- SX1 B1+
- CCS1 MBSXTA X1,A0,1,0,47 SET/CLEAR CATALOG BUSY BIT
- MX0 -24 CHECK *MT/NT* SCRATCH VSN COUNT
- SA1 A0+SBCWL+/TFM/TMSM
- BX6 -X0*X1
- SA6 CCSB
- NZ X6,CCS2 IF *MT/NT* SCRATCH VSNS
- MBSATA HYPHENS,A0+SBCWL+/TFM/TMSM,6*6,59,59 CLEAR VSN
- SA1 CNSM COUNT OF FAMILIES WITH NO *MT/NT* SCRATCH
- SX6 X1+B1
- SA6 A1
- CCS2 MX0 -24 CHECK *CT* SCRATCH VSN COUNT
- SA1 A0+SBCWL+/TFM/TMSC
- BX2 -X0*X1
- SA1 CCSB INCREMENT TOTAL SCRATCH COUNT
- IX6 X1+X2
- SA6 A1
- NZ X2,CCS3 IF *CT* SCRATCH VSNS
- MBSATA HYPHENS,A0+SBCWL+/TFM/TMSC,6*6,59,59 CLEAR VSN
- SA1 CNSC COUNT OF FAMILIES WITH NO *CT* SCRATCH
- SX6 X1+B1
- SA6 A1
- CCS3 MX0 -24 CHECK *AT* SCRATCH VSN COUNT
- SA1 A0+SBCWL+/TFM/TMSA
- BX2 -X0*X1
- SA1 CCSB INCREMENT TOTAL SCRATCH COUNT
- IX6 X1+X2
- SA6 A1
- NZ X2,CCS4 IF *AT* SCRATCH VSNS
- MBSATA HYPHENS,A0+SBCWL+/TFM/TMSA,6*6,59,59 CLEAR VSN
- SA1 CNSA COUNT OF FAMILIES WITH NO *AT* SCRATCH
- SX6 X1+B1
- SA6 A1
- CCS4 SX0 /TFM/FETS CHECK FOR CATALOG ERROR
- SA1 A0+SBCWL+/TFM/TMFM
- BX1 X0*X1
- ZR X1,CCS5 IF NO CATALOG ERROR
- SA1 CCE INCREMENT CATALOG ERROR COUNT
- SX6 X1+B1
- SA6 A1
- SX4 CSERR
- EQ CCSX RETURN
- CCSB CON 0 TOTAL SCRATCH COUNT FOR THIS FAMILY
- CNF SPACE 4,10
- ** CNF - CHECK NON-FAST ATTACHED FILE STATUS.
- *
- * EXIT CALL *CCS* IF CATALOG ERROR.
- * CALL *CCB* IF NO CATALOG ERROR.
- *
- * USES X - 0, 1.
- * A - 1.
- *
- * CALLS CCB, CCS.
- CNF1 RJ CCB CLEAR CATALOG BUFFER
- CNF SUBR ENTRY/EXIT
- SX0 /TFM/FETS CHECK FOR CATALOG ERROR
- SA1 A0+SBCWL+/TFM/TMFM
- BX1 X0*X1
- ZR X1,CNF1 IF NO CATALOG ERROR
- SX4 CSCFA
- RJ CCS CHECK CATALOG STATUS
- EQ CNFX RETURN
- GCS SPACE 4,20
- ** GCS - GET CATALOG STATUSES.
- *
- * EXIT CATALOG STATUS BUFFERS SET INTO *SBUF*.
- * FAMILY ORDINAL TABLE SET INTO *FBUF*.
- * FIRST CATALOG STATUS BUFFER ENTRY FOR EACH DISPLAY
- * PAGE SET INTO *TFDP*.
- * WORD 0 OF EACH CATALOG STATUS BUFFER ENTRY SET -
- *T, 12/STATUS, 1/BUSY FLAG, 29/0, 18/ADDRESS OF NEXT ENTRY
- * (CCE) = NUMBER OF FAMILY CATALOGS WITH ERRORS.
- * (CNS) = NUMBER OF FAMILY CATALOGS WITH NO SCRATCH.
- * (TMS) = 0 IF *TMS* IS ACTIVE.
- *
- * USES X - 0, 1, 2, 4, 5, 6.
- * A - 0, 1, 2, 4, 5, 6.
- * B - 2, 3.
- *
- * CALLS ACF, SWP.
- *
- * MACROS CLEAR, MBSATA, MBSXTA, RDMEM, READ, READW, REWIND,
- * RJM.
- GCS13 SX6 B2 SET NUMBER OF PAGES
- SA6 TNDP+DISFC
- GCS SUBR ENTRY/EXIT
- CLEAR TFCF,NFCST PRESET POINTER TABLES
- CLEAR TFCL,NFCST
- CLEAR TFDP,NPGFD PRESET *TFDP*
- SX6 B0 CLEAR CATALOG STATUS COUNTS
- SA6 CCE
- SA6 CNSM
- SA6 CNSC
- SA6 CNSA
- SA6 TNDP+DISFC
- SYSTEM SFM,R,TMS,GTSF*100B GET *TMS* STATUS
- MX0 1 SAVE *TMS* STATUS
- SA1 TMS
- BX1 X0*X1
- BX6 X0-X1
- SA6 TMS
- SA1 MXF GET FAMILY ORDINAL TABLE
- SA2 FFO
- RDMEM ABS,X2,X1,FBUF
- SA5 MXF GET CATALOG SYSTEM BLOCKS
- SA0 SBUF
- GCS1 SX5 X5-1
- NG X5,GCS5 IF END OF FAMILIES
- MX0 42 GET FAMILY NAME
- SA1 X5+FBUF
- BX1 X0*X1
- SX4 CSFNF
- ZR X1,GCS2 IF NO FAMILY NAME
- SX2 377777B
- RJ SWP SWAP TO FAMILY NAME AND USER INDEX
- NZ X4,GCS2 IF FAMILY NOT FOUND
- RJ ACF ATTACH CATALOG FILE
- NZ X1,GCS2 IF CATALOG NOT ATTACHED
- SX6 X4 SAVE STATUS
- SA6 GCSB
- REWIND P,R GET SYSTEM BLOCK
- READ P,R
- MX0 -5 CHECK FOR ERROR
- SA1 P
- AX1 9
- BX1 -X0*X1
- ZR X1,GCS1.1 IF NO ERROR ON READ
- SX6 CSCNF FLAG AS CATALOG FILE NOT FOUND
- SA6 GCSB
- EQ GCS1.2 RETURN CATALOG FILE
- GCS1.1 READW P,A0,SBUFE
- GCS1.2 RETURN P
- SA4 GCSB GET STATUS
- GCS2 SA1 X4+TFCP
- RJM X1 EXECUTE PROCESSOR FOR CATALOG STATUS
- MBSATA X5+FBUF,A0+SBCWL+/TFM/TMFM,42,59,59 SET FAMILY NAME
- MBSXTA X4,A0,12,11,59 SET CATALOG STATUS
- MBSATA X4+TFCF,A0,18,17,17 LINK STATUS ENTRIES
- SX1 A0
- MBSXTA X1,X4+TFCF,18,17,17
- SA1 X4+TFCM
- ZR X1,GCS3 IF USE MESSAGE BUFFER
- MBSATA X1,A0+SBCWL+/TFM/TMMB,/TFM/MBML*60,59,59 SET MESSAGE
- GCS3 SA1 X4+TFCL
- NZ X1,GCS4 IF ALREADY A LAST ENTRY
- SX6 A0 SET LAST ENTRY
- SA6 A1
- GCS4 SA0 A0+SBUFE
- EQ GCS1 CHECK NEXT FAMILY
- GCS5 SA1 OFM GET ORIGINAL FAMILY NAME
- SA2 OUI
- RJ SWP SWAP TO FAMILY NAME AND USER INDEX
- SA4 GCSA LINK STATUS ENTRIES
- GCS6 ZR X4,GCS10 IF END OF TABLE
- SA5 A4+B1
- SA2 X4
- ZR X2,GCS9 IF NO ENTRIES FOR THIS STATUS
- SA1 TFDP+0
- NZ X1,GCS7 IF FIRST ENTRY ALREADY SET
- SA1 X4+TFCF-TFCL SET FIRST ENTRY
- SX6 X1
- SA6 TFDP+0
- GCS7 ZR X5,GCS10 IF END OF TABLE
- SA1 X5+TFCF-TFCL
- NZ X1,GCS8 IF ENTRIES FOR THIS STATUS
- SA5 A5+B1
- EQ GCS7 CHECK NEXT STATUS
- GCS8 MBSATA A1,X2,18,17,17 LINK STATUS ENTRIES
- GCS9 SA4 A5
- EQ GCS6 CHECK NEXT STATUS
- GCS10 SA5 TFDP+0 COUNT NUMBER FAMILY CATALOG ENTRIES
- SB2 B0 PRESET PAGE NUMBER
- SB3 B0
- GCS11 SX5 X5
- ZR X5,GCS13 IF END OF ENTRIES
- SB3 B3-LPEFC
- PL B3,GCS12 IF NOT END OF PAGE
- SX6 X5 SET FIRST ENTRY OF PAGE
- SA6 B2+TFDP
- SB2 B2+B1 INCREMENT PAGE NUMBER
- SB3 NLPPG-1
- GCS12 SA5 X5
- EQ GCS11 CHECK NEXT ADDRESS
- GCSA BSS 0 TABLE OF CATALOG STATUS LINKS
- CON CSERR+TFCL CATALOG ERROR
- CON CSNSV+TFCL NO SCRATCH VSNS
- CON CSCFA+TFCL CATALOG FAST-ATTACHED
- CON CSCFN+TFCL CATALOG NOT FAST-ATTACHED
- CON CSCNF+TFCL CATALOG FILE NOT FOUND
- CON 0 END OF TABLE
- GCSB CON 0 CATALOG STATUS
- TITLE INPUT/OUTPUT SUBROUTINES.
- GDI SPACE 4,10
- ** GDI - GET *DISPLAY* INPUT.
- *
- * EXIT (CBUF+1) = INPUT COMMAND.
- *
- * ERROR ABORT WITH *L-DISPLAY NOT AVAILABLE*.
- *
- * USES X - 1, 2, 6.
- * A - 1, 6.
- *
- * MACROS DSDINP, ABTMSG.
- GDI SUBR ENTRY/EXIT
- SX6 CBUFL SET BUFFER LENGTH
- LX6 48
- SA6 CBUF
- DSDINP A6 REQUEST L-DISPLAY INPUT
- SA1 CBUF CHECK FOR ERRORS
- SX2 X1-2*NERR-1
- ZR X2,GDIX IF NO ERROR
- SX2 X1-2*NCMD-1
- SX6 B0 PRESET COMMAND
- SA6 CBUF+1
- ZR X2,GDIX IF NO COMMAND ENTERED
- SX6 B1 FLAG L-DISPLAY ERROR
- SA6 LDE
- ABTMSG DFLN *L-DISPLAY NOT AVAILABLE.*
- GIN SPACE 4,10
- ** GIN - GET INPUT.
- *
- * ENTRY (OPT) = INPUT OPTION.
- *
- * EXIT INPUT PROCESSOR EXECUTED FOR OPTION.
- *
- * USES X - 1.
- * A - 1.
- *
- * MACROS RJM, WRITER.
- GIN SUBR ENTRY/EXIT
- SA1 TOU
- NZ X1,GIN1 IF NOT TERMINAL OUTPUT
- WRITER L,R FLUSH BUFFER
- GIN1 CLEAR CBUF+1,CBUFL CLEAR INPUT BUFFER
- SA1 OPT GET INPUT OPTION
- SA1 X1+GINA
- RJM X1 PROCESS INPUT
- EQ GINX RETURN
- GINA BSS 0 INPUT OPTION PROCESSORS
- LOC 0
- OPTLD CON GDI DISPLAY
- OPTLN CON GLI LINE
- OPTSC CON GSI SCREEN
- LOC *O
- GLI SPACE 4,10
- ** GLI - GET LINE INPUT.
- *
- * EXIT (CBUF+1) = INPUT COMMAND.
- *
- * USES X - 1, 2, 6.
- * A - 1, 2, 6.
- *
- * MACROS MBSATA, READC, REWIND.
- GLI1 MBSATA ZEROES,I,15,17,17 CLEAR EOF
- GLI SUBR ENTRY/EXIT
- READC I,CBUF+1,8 READ COMMAND LINE
- ZR X1,GLIX IF NOT EOR/EOF/EOI
- SX6 B0 PRESET COMMAND
- SA6 CBUF+1
- SA1 TIN CHECK FOR TERMINAL INPUT/OUTPUT
- SA2 TOU
- BX1 X1+X2
- ZR X1,GLI1 IF BOTH TERMINAL INPUT AND OUTPUT
- SA1 =0LEND SET TERMINATION COMMAND
- BX6 X1
- SA6 CBUF+1
- EQ GLIX RETURN
- GSI SPACE 4,10
- ** GSI - GET SCREEN INPUT.
- *
- * EXIT (CBUF+1) = INPUT COMMAND.
- * (SIA) = 0 IF INPUT REQUESTED.
- *
- * USES X - 1, 6.
- * A - 1, 6.
- *
- * CALLS GLI.
- GSI1 RJ GLI GET LINE INPUT
- SX6 B0 CLEAR SCREEN INPUT AVAILABLE
- SA6 SIA
- GSI SUBR ENTRY/EXIT
- SA1 SIA
- NG X1,GSI1 IF SCREEN INPUT AVAILABLE
- SX6 B0 SET NO COMMAND
- SA6 CBUF+1
- EQ GSIX RETURN
- IDO SPACE 4,10
- ** IDO - ISSUE *DISPLAY* OUTPUT.
- *
- * EXIT (DBUF) SENT TO L-DISPLAY.
- *
- * ERROR ABORT WITH *L-DISPLAY NOT AVAILABLE*.
- *
- * USES X - 1, 2, 6.
- * A - 1, 6.
- *
- * MACROS DSDOUT, ABTMSG.
- IDO SUBR ENTRY/EXIT
- SX6 LDSY SET BUFFER LENGTH
- LX6 48
- SA6 DBUF
- DSDOUT A6 REQUEST L-DISPLAY OUTPUT
- SA1 DBUF CHECK FOR ERRORS
- SX2 X1-2*NERR-1
- ZR X2,IDOX IF NO ERROR
- SX6 B1 FLAG L-DISPLAY ERROR
- SA6 LDE
- ABTMSG DFLN *L-DISPLAY NOT AVAILABLE.*
- ILO SPACE 4,15
- ** ILO - ISSUE LINE OUTPUT.
- *
- * EXIT (DBUF) COPIED TO OUTPUT FILE.
- *
- * USES X - 1, 2.
- * A - 1.
- * B - 6, 7.
- *
- * CALLS CKD.
- *
- * MACROS WRITEC.
- ILO SUBR ENTRY/EXIT
- SA1 TOU CHECK FOR TERMINAL OUTPUT
- SB7 B0
- ZR X1,ILO1 IF TERMINAL OUTPUT
- WRITEC L,ILOA DOUBLE SPACE
- SB7 B1
- ILO1 SX2 L SET OUTPUT FILE ADDRESS
- SB6 DBUF
- RJ CKD COPY K-DISPLAY TO OUTPUT FILE
- EQ ILOX RETURN
- ILOA DATA C*0* DOUBLE SPACE
- IOU SPACE 4,10
- ** IOU - ISSUE OUTPUT.
- *
- * ENTRY (OPT) = OUTPUT OPTION.
- *
- * EXIT OUTPUT PROCESSOR EXECUTED FOR OPTION.
- *
- * USES X - 1.
- * A - 1.
- *
- * MACROS RJM.
- IOU SUBR ENTRY/EXIT
- SA1 OPT GET OUTPUT OPTION
- SA1 X1+IOUA
- RJM X1 PROCESS OUTPUT
- EQ IOUX RETURN
- IOUA BSS 0 OUTPUT OPTION PROCESSORS
- LOC 0
- DOPT CON IDO DISPLAY
- LOPT CON ILO LINE
- SOPT CON ISO SCREEN
- LOC *O
- ISO SPACE 4,10
- ** ISO - ISSUE SCREEN OUTPUT.
- *
- * EXIT (DBUF) COPIED TO OUTPUT FILE.
- *
- * USES X - 1, 2.
- * A - 1, 2.
- *
- * CALLS ILO.
- *
- * MACROS WRITEC.
- ISO SUBR ENTRY/EXIT
- SA2 SIA
- SA1 ISOB
- ZR X2,ISO1 IF TERMINAL INPUT NOT AVAILABLE
- SX6 -B1 FLAG INPUT AVAILABLE
- SA6 A2
- SA1 ISOA
- ISO1 MBSATA A1,DMIN,DMINC,59,DMINU SET INPUT MESSAGE
- SA1 BEL CHECK IF BELL IS REQUIRED
- SA2 CCE
- NZ X2,ISO2 IF CATALOG ERRORS
- SA2 CNSM
- NZ X2,ISO2 IF CATALOGS WITH NO *MT/NT* SCRATCH
- SA2 CNSC
- NZ X2,ISO2 IF CATALOGS WITH NO *CT* SCRATCH
- SA2 CNSA
- NZ X2,ISO2 IF CATALOGS WITH NO *AT* SCRATCH
- SA2 COA
- NZ X2,ISO2 IF JOBS REQUIRE OPERATOR ACTION
- SX1 2R
- ISO2 MBSXTA X1,TOP,12,11,47 SET/CLEAR BELL
- WRITEC L,TOP GO TO TOP OF SCREEN
- RJ ILO ISSUE LINE OUTPUT
- WRITEC L,CIN CLEAR INPUT LINE
- EQ ISOX RETURN
- ISOA DATA 50HENTER *HELP* FOR HELP. ENTER *END* TO TERMINATE.
- ISOB DATA 50HISSUE *BREAK* TO ENTER INPUT.
- TITLE COMMON SUBROUTINES.
- ACF SPACE 4,15
- ** ACF - ATTACH CATALOG FILE.
- *
- * EXIT (X1) = 0 IF CATALOG ATTACHED.
- * .NE. 0 IF CATALOG NOT ATTACHED.
- * (X4) = CSCFA IF CATALOG FILE IS FAST-ATTACHED.
- * = CSCFB IF CATALOG FILE IS BUSY.
- * = CSCFN IF CATALOG FILE IS NOT FAST-ATTACHED.
- * = CSCNF IF CATALOG FILE IS NOT FOUND.
- *
- * USES X - 0, 1, 6.
- * A - 1, 6.
- *
- * MACROS ATTACH, CATLIST, MBSATA, SETFET.
- ACF SUBR ENTRY/EXIT
- SETFET P,(DTY=B0),(ERA=ACFB) CLEAR DEVICE TYPE
- MBSATA ZEROES,P,16,17,17 CLEAR ERROR CODE
- ATTACH P,,,,RM,,,IP,FA ATTACH CATALOG FILE
- MX0 -8 GET STATUS
- SA1 P
- AX1 10
- BX1 -X0*X1
- SX4 CSCFA
- ZR X1,ACFX IF FILE ATTACHED
- SX1 X1-/ERRMSG/FBS
- SX4 CSCFB
- ZR X1,ACF1 IF FILE BUSY
- SX6 ZBUF RESET BUFFER POINTERS
- SA6 P+2
- SA6 A6+B1
- MBSATA ZEROES,P,16,17,17 CLEAR ERROR CODE
- ATTACH P,,,,RM,,,IP,NF ATTACH CATALOG FILE
- MX0 -8 GET STATUS
- SA1 P
- AX1 10
- BX1 -X0*X1
- SX4 CSCFN
- ZR X1,ACFX IF FILE FOUND
- SX1 X1-/ERRMSG/FBS CHECK FOR FILE BUSY
- SX4 CSCFB
- ZR X1,ACF1 IF FILE BUSY
- SX4 CSCNF
- ACF1 SX1 B1 FLAG CATALOG NOT ATTACHED
- EQ ACFX RETURN
- ACFB BSS 4 *PFM* MESSAGE BUFFER
- CLS SPACE 4,15
- ** CLS - CHECK LINE MODE OUTPUT STATUS.
- *
- * ENTRY (LNS) = 0 IF DO NOT FORCE LINE MODE OUTPUT.
- * .NE. 0 IF FORCE LINE MODE OUTPUT.
- *
- * EXIT (X6) = 0 IF FORCE OUTPUT.
- * .NE. 0 IF DO NOT FORCE OUTPUT.
- * (LNS) = 0.
- *
- * USES X - 1.
- * A - 1, 6.
- CLS SUBR ENTRY/EXIT
- SA1 OPT CHECK INPUT/OUTPUT OPTION
- SX1 X1-OPTLN
- SX6 B0
- NZ X1,CLSX IF NOT LINE MODE
- SA1 LNS GET LINE MODE OUTPUT STATUS
- SA6 A1
- NZ X1,CLSX IF FORCE OUTPUT
- SX6 B1
- EQ CLSX RETURN
- CLY SPACE 4,15
- ** CLY - CONVERT LINE NUMBER TO Y-COORDINATE.
- *
- * ENTRY (X0) = FWA OF L-DISPLAY LINE.
- * (X1) = DISPLAY LINE NUMBER.
- *
- * EXIT Y-COORDINATE SET INTO BYTE 1 OF L-DISPLAY LINE.
- *
- * USES X - 2, 6.
- * A - 2.
- *
- * MACROS MBSXTA.
- CLY SUBR ENTRY/EXIT
- SX6 15 PRESET Y-COORDINATE INCREMENT
- SA2 CON
- ZR X2,CLY1 IF NOT 721 CONSOLE
- SX6 10 RESET Y-COORDINATE INCREMENT
- SX2 7726B-7707B
- CLY1 SX2 X2+7707B
- IX6 X1*X6 COMPUTE Y-COORDINATE
- IX6 X2-X6
- MBSXTA X6,X0,12,11,47 SET Y-COORDINATE
- EQ CLYX RETURN
- CUP SPACE 4,15
- ** CUP - CLEAN UP PROGRAM.
- *
- * EXIT TAPE CATALOG FILE RETURNED.
- * INPUT AND OUTPUT FILES RETURNED IF SCREEN MODE.
- * SWAPPED BACK TO ORIGINAL FAMILY NAME AND USER INDEX.
- * L-DISPLAY CLEARED IF L-DISPLAY MODE.
- *
- * USES X - 0, 1, 2, 6.
- * A - 1, 2, 6.
- *
- * CALLS IDO, SWP.
- *
- * MACROS DSDINP, MBSATA, RETURN, WRITER.
- CUP SUBR ENTRY/EXIT
- MBSATA (=1),P,1,0,0 RETURN TAPE CATALOG FILE
- RETURN P,R
- SA1 OPT CHECK FOR SCREEN MODE
- SX1 X1-OPTSC
- NZ X1,CUP1 IF NOT SCREEN MODE
- MBSATA (=1),I,1,0,0 RETURN TERMINAL INPUT
- RETURN I
- MBSATA (=1),L,1,0,0 RESET CURSOR POSITIONING
- WRITEC L,CPY
- WRITEC L,CSL CLEAR SCREEN
- WRITER L,R
- RETURN L RETURN TERMINAL OUTPUT
- EQ CUP2 RETURN TO ORIGINAL FAMILY/USER INDEX
- CUP1 WRITER L,R FLUSH OUTPUT BUFFER
- CUP2 SA1 OFM GET ORIGINAL FAMILY NAME
- SA2 OUI
- RJ SWP SWAP TO FAMILY NAME AND USER INDEX
- SA1 OPT CHECK FOR L-DISPLAY
- SX1 X1-OPTLD
- NZ X1,CUPX IF NOT L-DISPLAY MODE
- SA1 LDE
- NZ X1,CUPX IF L-DISPLAY ERROR
- SX6 B0 CLEAR L-DISPLAY BUFFER
- SA6 DBUF+1
- RJ IDO ISSUE L-DISPLAY OUTPUT
- SA1 LDE
- NZ X1,CUPX IF L-DISPLAY ERROR
- SX6 CBUFL SET BUFFER LENGTH
- LX6 48
- SA6 CBUF
- DSDINP A6,C CLEAR L-DISPLAY INTERLOCK
- SA1 CBUF CHECK FOR ERROR
- SX6 X1-2*NERR-1
- ZR X6,CUPX IF NO ERROR
- SA6 LDE FLAG L-DISPLAY ERROR
- EQ CUPX RETURN
- RDM SPACE 4,20
- ** RDM - READ MEMORY INTO BUFFER.
- *
- * ENTRY (X1) = ADDRESS OF BUFFER TO RECEIVE DATA.
- * (X2) = ADDRESS TO READ DATA FROM.
- * (X3) = NUMBER OF WORDS TO READ.
- * (X4) = 0 IF READ FROM ABSOLUTE ADDRESS.
- * .LT. 0 IF READ FROM CONTROL POINT ADDRESS.
- * = SUBSYSTEM IDENTIFIER IF READ FROM SUBSYSTEM
- * FIELD LENGTH.
- *
- * EXIT (X1) .LT. 0 IF TRANSFER COMPLETE.
- * .GE. 0 IF ERROR.
- * (X2) = CONTENTS OF FIRST WORD OF DATA.
- *
- * USES X - 4, 6.
- * A - 2, 6.
- *
- * CALLS RSB=.
- RDM SUBR ENTRY/EXIT
- SX6 X1 SAVE BUFFER ADDRESS
- SA6 RDMA
- MX6 1 PRESET ABSOLUTE READ PARAMETERS
- PL X4,RDM1 IF NOT CONTROL POINT READ
- SX4 B0 SET CONTROL POINT READ PARAMETERS
- SX6 X2
- RDM1 SA6 X1 SET READ TYPE
- RJ RSB= READ SUBSYSTEM BLOCK
- PL X1,RDMX IF TRANSFER ERROR
- SA2 RDMA GET FIRST WORD OF DATA
- SA2 X2
- EQ RDMX RETURN
- RDMA BSS 1 ADDRESS OF BUFFER
- STL SPACE 4,15
- ** STL - SEARCH TABLE WITH DEFINED LENGTH.
- *
- * ENTRY (B2) = FWA OF TABLE TO SEARCH.
- * (B3) = LENGTH OF TABLE TO SEARCH.
- * (B6) = RELATIVE ADDRESS OF VALUE IN TABLE ENTRY.
- * (B7) = LENGTH OF TABLE ENTRY.
- * (X0) = SEARCH MASK.
- * (X1) = VALUE TO SEARCH FOR.
- *
- * EXIT (X6) = 0 IF VALUE FOUND.
- * (A2) = ADDRESS OF WORD WITH VALUE.
- * (X2) = IMAGE OF WORD WITH VALUE.
- *
- * USES B - 2, 3.
- STL SUBR ENTRY/EXIT
- SB3 B2+B3 SET LWA+1 OF TABLE
- SX6 B1
- STL1 GE B2,B3,STLX IF ENTRY NOT FOUND
- SA2 B2+B6 COMPARE ENTRY WITH VALUE
- BX6 X1-X2
- BX6 X0*X6
- ZR X6,STLX IF ENTRY FOUND
- SB2 B2+B7
- EQ STL1 CHECK NEXT ENTRY
- STZ SPACE 4,15
- ** STZ - SEARCH TABLE TERMINATED BY A ZERO WORD.
- *
- * ENTRY (B2) = FWA OF TABLE TO SEARCH.
- * (B6) = RELATIVE ADDRESS OF VALUE IN TABLE ENTRY.
- * (B7) = LENGTH OF TABLE ENTRY.
- * (X0) = SEARCH MASK.
- * (X1) = VALUE TO SEARCH FOR.
- *
- * EXIT (X6) = 0 IF VALUE FOUND.
- * (A2) = ADDRESS OF WORD WITH VALUE.
- * (X2) = IMAGE OF WORD WITH VALUE.
- *
- * USES B - 2.
- STZ SUBR ENTRY/EXIT
- SA2 B2 GET FIRST ENTRY
- SB2 B7-B6
- SX6 B1
- STZ1 ZR X2,STZX IF ENTRY NOT FOUND
- SA2 A2+B6 COMPARE ENTRY WITH VALUE
- BX6 X1-X2
- BX6 X0*X6
- ZR X6,STZX IF ENTRY FOUND
- SA2 A2+B2
- EQ STZ1 CHECK NEXT ENTRY
- SWP SPACE 4,15
- ** SWP - SWAP FAMILY AND USER INDEX.
- *
- * ENTRY (X1) = FAMILY NAME TO SWAP TO.
- * (X2) = USER INDEX TO SWAP TO.
- *
- * EXIT (X4) = 0 IF FAMILY FOUND.
- * = CSFNF IF FAMILY NOT FOUND.
- *
- * USES X - 0, 1, 6.
- * A - 1, 6.
- *
- * MACROS SETPFP
- SWP SUBR ENTRY/EXIT
- MX0 42 SET FAMILY NAME IN *SETPFP* BLOCK
- SX6 11B
- BX1 X0*X1
- BX6 X1+X6
- SA6 SWPA+0
- BX6 -X0*X2 SET USER INDEX IN *SETPFP* BLOCK
- SA6 SWPA+2
- SETPFP SWPA CHANGE FAMILY NAME AND USER INDEX
- MX0 -6 GET STATUS
- SA1 SWPA+0
- AX1 12
- BX4 -X0*X1
- ZR X4,SWPX IF SWAP COMPLETE
- SX4 CSFNF
- EQ SWPX RETURN
- SWPA BSS 3 *SETPFP* BLOCK
- VIP SPACE 4,15
- ** VIP - VERIFY INCREMENT PARAMETER.
- *
- * ENTRY (PAR) = ADDRESS OF INCREMENT PARAMETER IN STRING
- * BUFFER.
- *
- * EXIT (PAR) = ADDRESS OF NEXT PARAMETER IN STRING BUFFER.
- * (X6) = INCREMENT IF VALID.
- * (X5) = 0 IF VALID INCREMENT.
- * = *CSII* IF INCORRECT INCREMENT.
- *
- * USES X - 1, 7.
- * A - 1, 6, 7.
- * B - 5, 6, 7.
- *
- * CALLS DXB, POP.
- VIP1 SX5 B0 FLAG VALID PARAMETER
- NZ X6,VIPX IF NON-ZERO INCREMENT
- SX6 B1 RESET INCREMENT
- VIP SUBR ENTRY/EXIT
- SA1 PAR
- SX5 CSII *INCORRECT INCREMENT*
- ZR X1,VIPX IF NO NEXT PARAMETER
- SB6 X1
- RJ POP PICK OUT PARAMETER
- SX7 B6 SAVE NEXT PARAMETER ADDRESS
- SA7 PAR
- SX5 CSII *INCORRECT INCREMENT*
- NG B5,VIPX IF BUFFER EXHAUSTED
- SB5 B5-B1
- GE B5,VIPX IF PARAMETER TOO LARGE
- ZR X6,VIP1 IF NO INCREMENT
- BX5 X6
- SB7 B1
- RJ DXB CONVERT DISPLAY TO BINARY
- SX5 CSII *INCORRECT INCREMENT*
- NZ X4,VIPX IF CONVERSION ERROR
- EQ VIP1 FLAG VALID PARAMETER
- VNP SPACE 4,10
- ** VNP - VERIFY NO MORE PARAMETERS.
- *
- * ENTRY (PAR) = ADDRESS OF NEXT PARAMETER IN STRING BUFFER.
- *
- * EXIT (X5) = 0 IF NO MORE PARAMETERS.
- * = *CSTM* IF MORE PARAMETERS.
- *
- * USES X - 1.
- * A - 1.
- VNP SUBR ENTRY/EXIT
- SA1 PAR CHECK NEXT PARAMETER
- SX5 CSTM *TOO MANY PARAMETERS*
- NZ X1,VNPX IF MORE PARAMETERS
- SX5 B0 FLAG NO PARAMETERS
- EQ VNPX RETURN
- COMMON SPACE 4,10
- ** COMMON DECKS.
- *CALL COMCCOD
- *CALL COMCCDD
- *CALL COMCCIO
- CCKD BSS 0 STARTING ADDRESS OF *COMCCKD*
- CKDL$ EQU NLPDS MAXIMUM NUMBER OF LINES IN DISPLAY
- CKDY$ EQU 7672B DEFINE INITIAL Y-COORDINATE
- *CALL COMCCKD
- CCKDL EQU *-CCKD LENGTH OF *COMCCKD
- *CALL COMCCPM
- *CALL COMCDXB
- *CALL COMCMBS
- *CALL COMCMVE
- *CALL COMCPFM
- *CALL COMCPOP
- *CALL COMCRDC
- *CALL COMCRDW
- *CALL COMCRSB
- *CALL COMCSFN
- *CALL COMCUSB
- *CALL COMCSYS
- *CALL COMCWTC
- *CALL COMCWTH
- *CALL COMCWTW
- *CALL COMCZTB
- TITLE BUFFER AREA.
- BUFFERS SPACE 4,10
- ** BUFFERS THAT CANNOT OVERWRITE *PRESET*.
- USE BUFFERS DEFINE LITERALS
- ZBUF BSS ZBUFL TAPE CATALOG FILE BUFFER
- DBUF BSS 0 L-DISPLAY OUTPUT BUFFER
- VFD 12/DBUFL BUFFER LENGTH
- VFD 1/0 SMALL CHARACTERS
- VFD 1/0 PROGRAM FORMAT
- VFD 1/0 SINGLE SPACING
- VFD 45/0
- LDISS 1,1 FIRST LINE OF TITLE
- LDIS 25,(TMSDIS. )
- DTTS LDIS 14,( TMS ENABLED. ) *TMS* STATUS
- DTDS LDIS 4,(HELP) CURRENT DISPLAY
- LDIS 14,( DISPLAY PAGE )
- DTPN LDIS 1,(1) CURRENT PAGE NUMBER
- LDIS 4,( OF )
- DTPC LDIS 1,(1) PAGE COUNT
- LDIS 1,(.)
- LDISE
- LDISS 1,K THIRD LINE OF TITLE
- LDIS 21,(CATALOGS WITH ERRORS=)
- DTCE LDIS 2,( 0) NUMBER OF CATALOGS WITH ERRORS
- LDIS 34,(. CATALOGS WITH NO MT/NT SCRATCH=)
- DTNM LDIS 2,( 0) NUMBER OF CATALOGS WITH NO *MT/NT* SCRATCH
- LDIS 1,(.)
- LDISE
- LDISS 1,K FOURTH LINE OF TITLE
- LDIS 28,(CATALOGS WITH NO CT SCRATCH=)
- DTNC LDIS 2,( 0) NUMBER OF CATALOGS WITH NO *CT* SCRATCH
- LDIS 31,(. CATALOGS WITH NO AT SCRATCH=)
- DTNA LDIS 2,( 0) NUMBER OF CATALOGS WITH NO *AT* SCRATCH
- LDIS 1,(.)
- LDISE
- LDISS 1,NLPDS+1-NLPMS FIRST LINE OF MESSAGE
- DMIN LDIS 49,(ENTER *HELP* FOR HELP. ENTER *END* TO TERMINATE.)
- LDISE
- LDISS 1,K SECOND LINE OF MESSAGE
- DMMA LDIS 30,( LAST COMMAND)
- LDIS 3,( - )
- DMCM LDIS 30,( )
- LDISE
- DBUFS EQU *-DBUF LENGTH OF START OF DISPLAY BUFFER
- ERRNG DBUFL-DBUFS-NWIFD *FAM* DISPLAY OVERFLOW
- ERRNG DBUFL-DBUFS-NWIHD *HELP* DISPLAY OVERFLOW
- BUFF BSS 0 FWA OF OVERWRITTEN BUFFER AREA
- BSS DBUFL-DBUFS REMAINDER OF DISPLAY BUFFER
- ERRNZ *-DBUF-DBUFL DISPLAY BUFFER MISMATCH
- CON 0 END OF DISPLAY BUFFER
- BUFFERS SPACE 4,10
- ** BUFFERS THAT CAN OVERWRITE *PRESET*.
- CBUF BSS 1 COMMAND BUFFER
- BSS CBUFL
- FBUF BSS FBUFL FAMILY ORDINAL TABLE BUFFER
- IBUF BSS IBUFL INPUT FILE BUFFER
- LBUF BSS LBUFL OUTPUT FILE BUFFER
- SBUF BSS SBUFL CATALOG SYSTEM BLOCKS BUFFER
- TFCF BSS NFCST TABLE OF FAMILY CATALOG FIRST ENTRIES
- TFCL BSS NFCST TABLE OF FAMILY CATALOG LAST ENTRIES
- TFDP BSS NPGFD TABLE OF FAMILY CATALOG DISPLAY PAGES
- BUFFL EQU *-BUFF LENGTH OF BUFFER AREA
- TITLE PRESET AREA.
- SPACE 4
- ORG BUFF
- FETS SPACE 4,10
- ** *STATUS* FET.
- Z BSS 0 *STATUS* FET
- Z555555 FILEB 0,0,(FET=5)
- TARG SPACE 4,10
- ** TARG - TABLE OF COMMAND ARGUMENTS.
- TARG BSS 0 TABLE OF COMMAND ARGUMENTS
- ID ARG ID,ID,400B INITIAL DISPLAY
- OP ARG OP,OP,400B INPUT/OUTPUT MODE
- I ARG I,I,400B INPUT FILE
- L ARG L,L,400B OUTPUT FILE
- NOBELL ARG (-=2R ),BEL NO BELL OPTION
- WT ARG WT,WT,400B WAITING TIME
- CON 0 END OF TABLE
- TOPT SPACE 4,10
- ** TOPT - TABLE OF VALID INPUT/OUTPUT OPTIONS.
- TOPT BSS 0 TABLE OF VALID INPUT/OUTPUT OPTIONS
- LOC 0
- OPTLD VFD 42/0LL,18/OPTLD L-DISPLAY MODE
- OPTLN VFD 42/0LLINE,18/OPTLN LINE MODE
- OPTSC VFD 42/0LSCREEN,18/OPTSC SCREEN MODE
- LOC *O
- TOPTL EQU *-TOPT LENGTH OF TABLE
- TDIS SPACE 4,10
- ** TDIS - TABLE OF VALID DISPLAY DIRECTIVES.
- TDIS BSS 0 TABLE OF VALID DISPLAY DIRECTIVES.
- VFD 42/0LFAM,18/DISFC FAMILY CATALOG DISPLAY
- VFD 42/0LHELP,18/DISHP HELP DISPLAY
- TDISL EQU *-TDIS LENGTH OF TABLE
- TTSC SPACE 4,10
- ** TTSC - TABLE OF TERMINAL SCREEN CHARACTERS.
- *
- * ENTRY ONE WORD PER TERMINAL TYPE.
- *T, VFD 24/ , 12/ BCHAR, 12/ CCHAR, 12/ TCHAR
- *
- * BCHAR = BELL CHARACTER
- * CCHAR = CLEAR SCREEN CHARACTER.
- * TCHAR = TOP OF SCREEN CHARACTER.
- TTSC BSS 0 TABLE OF TOP OF SCREEN CHARACTERS
- LOC 0
- VFD 24/,12/2R^*,12/2R ,12/2R NO SCREEN MODE
- VFD 24/,12/2R ,12/2R ,12/2R RESERVED
- VFD 24/,12/2R^*,12/2R^=,12/2R^? CDC 721
- VFD 24/,12/2R^*,12/2R^',12/2R CDC 722
- VFD 24/,12/2R^*,12/2R ,12/2R DEC VT100
- VFD 24/,12/2R^*,12/2R ,12/2R Z19 OR H19
- VFD 24/,12/2R ,12/2R ,12/2R UNDEFINED
- VFD 24/,12/2R ,12/2R ,12/2R UNDEFINED
- VFD 24/,12/2R ,12/2R ,12/2R UNDEFINED
- VFD 24/,12/2R ,12/2R ,12/2R UNDEFINED
- VFD 24/,12/2R ,12/2R ,12/2R UNDEFINED
- VFD 24/,12/2R ,12/2R ,12/2R UNDEFINED
- VFD 24/,12/2R ,12/2R ,12/2R UNDEFINED
- VFD 24/,12/2R ,12/2R ,12/2R UNDEFINED
- VFD 24/,12/2R ,12/2R ,12/2R UNDEFINED
- VFD 24/,12/2R ,12/2R ,12/2R UNDEFINED
- VFD 24/,12/2R ,12/2R ,12/2R UNDEFINED
- VFD 24/,12/2R ,12/2R ,12/2R UNDEFINED
- VFD 24/,12/2R ,12/2R ,12/2R UNDEFINED
- VFD 24/,12/2R ,12/2R ,12/2R UNDEFINED
- VFD 24/,12/2R ,12/2R ,12/2R UNDEFINED
- VFD 24/,12/2R ,12/2R ,12/2R UNDEFINED
- VFD 24/,12/2R ,12/2R ,12/2R UNDEFINED
- VFD 24/,12/2R ,12/2R ,12/2R UNDEFINED
- VFD 24/,12/2R ,12/2R ,12/2R UNDEFINED
- VFD 24/,12/2R ,12/2R ,12/2R UNDEFINED
- VFD 24/,12/2R ,12/2R ,12/2R UNDEFINED
- VFD 24/,12/2R ,12/2R ,12/2R UNDEFINED
- VFD 24/,12/2R ,12/2R ,12/2R UNDEFINED
- VFD 24/,12/2R ,12/2R ,12/2R UNDEFINED
- VFD 24/,12/2R ,12/2R ,12/2R UNDEFINED
- VFD 24/,12/2R ,12/2R ,12/2R UNDEFINED
- ERRNZ *-40B INCORRECT TABLE SIZE
- LOC *O
- WORKING SPACE 4,10
- ** PRESET WORKING STORAGE.
- DF DATA C*"DEFRN"* DEFAULT WAITING TIME NON-SYSTEM ORIGIN
- GP BSS 3 *GETPFP* BLOCK
- ID DATA C*HELP* INITIAL DISPLAY
- OP DATA C*L* INPUT/OUTPUT MODE
- PI BSS 1 PARAMETER IMAGE
- RT CON 10 CATALOG ATTACH RETRY COUNT
- WT DATA C*"DEFRS"* WAITING TIME
- PRS SPACE 4,10
- ** PRS - PRESET PROGRAM.
- PRS SUBR ENTRY/EXIT
- MX0 1 SET THE REAL-TIME BIT IN TAPE CATALOG FET
- SA1 P+1
- LX0 43-59+60
- BX6 X0+X1
- SA6 A1
- GETPFP GP GET FAMILY NAME, USER NAME, AND USER INDEX
- MX0 42 SAVE ORIGINAL FAMILY NAME
- SA1 GP+0
- BX6 X0*X1
- SA6 OFM
- SA1 GP+2 SAVE ORIGINAL USER INDEX
- BX6 -X0*X1
- SA6 OUI
- RJ GSF GET SCRATCH FILE NAME
- SX1 3 SET LOCAL FILE NAME FOR CATALOG FILE
- BX6 X6+X1
- SA6 P
- REPRIEVE RPVA,SET,237B SET EXTENDED REPRIEVE
- MX0 -12 CHECK ORIGIN TYPE
- SA1 JOPR
- AX1 24
- BX6 -X0*X1
- SA6 JOT
- SX6 X6-SYOT
- ZR X6,PRS5 IF SYSTEM ORIGIN
- SX6 X6+SYOT-IAOT
- SX5 X6
- PRS1 RJ ACF ATTACH CATALOG FILE
- SX4 X4-CSCFA
- ZR X4,PRS2 IF FILE ATTACHED
- SX4 X4-CSCFB+CSCFA
- NZ X4,PRS3 IF NOT FILE BUSY
- NZ X5,PRS1.1 IF NOT INTERACTIVE ORIGIN
- SA1 RT DECREMENT RETRY COUNT
- SX6 X1-1
- SA6 A1
- NG X6,PRS3 IF RETRY COUNT EXHAUSTED
- PRS1.1 ROLLOUT =1
- EQ PRS1 RETRY ATTACH
- PRS2 REWIND P,R GET SYSTEM BLOCK
- READ P,R
- MX0 -5 CHECK FOR ERROR
- SA1 P
- AX1 9
- BX1 -X0*X1
- NZ X1,PRS3 IF ERROR ON READ
- READW P,PRSA,SBCWL+/TFM/TMUN+/TFM/UNCL
- RETURN P,R
- MX0 42 CHECK FOR VALID USER NAME
- SA1 GP+2
- SRCHTAB X1,PRSA+SBCWL+/TFM/TMUN,0,1,/TFM/UNCL
- ZR X6,PRS4 IF VALID USER NAME
- PRS3 RETURN P,R
- ABTMSG DFIC *INCORRECT COMMAND.*
- PRS4 SX6 -1 DISABLE L-DISPLAY MODE
- SA6 TOPT+OPTLD
- SA1 TOPT+OPTLN SWITCH TO LINE MODE DEFAULT
- BX6 X1
- SA6 OP
- SA1 DF RESET DEFAULT WAITING TIME
- BX6 X1
- SA6 WT
- SA1 JOT CHECK ORIGIN TYPE
- SX1 X1-IAOT
- ZR X1,PRS6 IF INTERACTIVE ORIGIN
- PRS5 SX6 -1 DISABLE SCREEN MODE
- SA6 TOPT+OPTSC
- PRS6 RJ GTC GET TERMINAL CHARACTERISTICS
- MX0 -12 GET ORDER DEPENDENT ARGUMENTS
- SA1 ACTR GET ARGUMENT COUNT
- SB4 X1
- SA4 ARGR GET FIRST ARGUMENT
- SB5 TARG GET FWA OF ARGUMENT TABLE
- PRS7 ZR B4,PRS14 IF END OF ARGUMENTS
- SA2 B5 CHECK FOR EQUIVALENCED ARGUMENTS
- LX2 59-47
- NG X2,PRS12 IF END OF EQUIVALENCED ARGUMENTS
- SX2 X4 CHECK FOR EQUIVALENCED ARGUMENT
- SX2 X2-1R=
- ZR X2,PRS12 IF END OF ORDER DEPENDENT ARGUMENTS
- SB4 B4-B1 DECREMENT ARGUMENT COUNT
- SA2 B5 GET TABLE ENTRY
- ZR X2,PRS13 IF END OF TABLE
- BX6 X0*X4 SAVE ARGUMENT
- SA4 A4+B1
- SB2 X2 GET ADDRESS TO RECEIVE ARGUMENT
- LX2 12 GET OPTION POINTER
- BX3 -X0*X2
- LX2 18 GET ASSUMED VALUE
- SB3 X2
- LX2 12 GET *0* STATUS
- BX2 -X0*X2
- SX3 X3-77B CHECK FOR TWO CHARACTER ARGUMENT
- SB5 B5+B1
- NZ X3,PRS8 IF TWO CHARACTER ARGUMENT
- SB5 B5+B1
- PRS8 NZ X6,PRS9 IF ARGUMENT SPECIFIED
- SA1 B3 GET DEFAULT ARGUMENT
- BX6 X1
- PRS9 SX2 X2-4000B
- ZR X2,PRS10 IF DISPLAY *0* ALLOWED
- SX1 1R0
- LX1 54
- BX1 X6-X1
- NZ X1,PRS10 IF NOT DISPLAY *0*
- SX6 B0
- PRS10 MX2 42
- NZ X6,PRS11 IF NON-ZERO ARGUMENT
- MX2 60
- PRS11 SA1 B2 SET VALUE FOR ARGUMENT
- BX1 -X2*X1
- BX6 X6+X1
- SA6 A1
- EQ PRS7 CHECK NEXT ARGUMENT
- PRS12 RJ ARG PROCESS ORDER INDENPENDENT ARGUMENTS
- ZR X1,PRS14 IF VALID ARGUMENTS
- PRS13 MX0 42 SET INCORRECT PARAMETER IN MESSAGE
- BX1 X0*X4
- SB2 1R$
- SB3 DFUP
- SB5 -B3
- RJ SNM SET NAME IN MESSAGE
- ABTMSG DFUP *UNKNOWN PARAMETER - PPPPPPP.*
- PRS14 MX0 42 CHECK INITIAL DISPLAY PARAMETER
- SA1 ID
- SRCHTAB X1,TDIS,0,1,TDISL
- SX7 2RID
- LX7 48
- NZ X6,PRS18 IF VALUE NOT FOUND
- BX6 -X0*X2
- SA6 DIS SET INITIAL DISPLAY VALUE
- MX0 42 CHECK INPUT/OUTPUT MODE
- SA1 OP
- SRCHTAB X1,TOPT,0,1,TOPTL
- SX7 2ROP
- LX7 48
- NZ X6,PRS18 IF VALUE NOT FOUND
- BX6 -X0*X2
- SA6 OPT SET INPUT/OUTPUT MODE
- SA5 WT CHECK WAITING TIME
- SB7 -B1
- RJ DXB CONVERT DISPLAY TO BINARY
- SA1 WT
- SX7 2RWT
- LX7 48
- NZ X4,PRS18 IF INCORRECT WAITING TIME
- SX1 X6-10000B
- NG X1,PRS16 IF LESS THAN THE MAXIMUM
- SX6 7777B
- PRS16 SA1 OPT CHECK FOR LINE MODE
- SX1 X1-OPTLN
- NZ X1,PRS17 IF NOT LINE MODE
- SX6 B0
- PRS17 SA6 ROT SET ROLLOUT TIME
- ZR X6,PRS19 IF NO ROLLOUT TIME
- SA1 OPT
- SX1 X1-OPTLD
- NZ X1,PRS19 IF NOT DISPLAY MODE
- SX1 LINE SET EVENT DESCRIPTOR FOR ROLLOUT
- MBSXTA X1,ROT,12,11,23
- EQ PRS20 CHECK FOR TERMINAL INPUT
- PRS18 SA7 PI SAVE PARAMETER IMAGE
- SB2 1R$ SET VALUE IMAGE IN MESSAGE
- SB3 DFIV
- SB5 -B3
- RJ SNM SET NAME IN MESSAGE
- SA1 PI SET PARAMETER IMAGE IN MESSAGE
- SB2 1R#
- SB3 DFIV
- SB5 -B3
- RJ SNM SET NAME IN MESSAGE
- ABTMSG DFIV *INCORRECT VALUE FOR PP PARAMETER - VVVV.*
- PRS19 SA1 OPT CHECK FOR SCREEN MODE
- SX1 X1-OPTSC
- NZ X1,PRS20 IF NOT SCREEN MODE
- SX4 2RTT SET DEVICE TYPE
- SETFET I,(DTY=X4)
- RJ GSF GET SCRATCH FILE NAME
- SX1 B1 SET SCRATCH FILE NAME INTO INPUT FET
- BX6 X6+X1
- SA6 I
- REQUEST A6,TT,NOMSG ASSIGN INPUT FILE TO TERMINAL
- SX4 2RTT SET DEVICE TYPE
- SETFET L,(DTY=X4)
- RJ GSF GET SCRATCH FILE NAME
- SX1 B1 SET SCRATCH FILE NAME INTO OUTPUT FET
- BX6 X6+X1
- SA6 L
- REQUEST A6,TT,NOMSG ASSIGN OUTPUT FILE TO TERMINAL
- PRS20 SX2 I
- RJ STF SET TERMINAL FILE
- SA6 TIN SAVE TERMINAL INPUT STATUS
- SX2 L
- RJ STF SET TERMINAL FILE
- SA6 TOU SAVE TERMINAL OUTPUT STATUS
- CSET NORMAL SET 6-BIT CHARACTER SET
- RDMEM ABS,FOTP,1,FFO GET FAMILY ORDINAL TABLE ADDRESS
- MX0 -24
- LX2 24
- BX6 -X0*X2
- SA6 FFO
- MX0 -12 GET MAXIMUM FOT ENTRIES
- LX2 12
- BX6 -X0*X2
- SA6 MXF
- SA1 OPT CHECK INPUT/OUTPUT MODE
- SX1 X1-OPTLD
- NZ X1,PRSX IF NOT L-DISPLAY
- CSTATUS CON GET CONSOLE TYPE
- SA1 CON
- ZR X1,PRSX IF NOT 721 CONSOLE
- MOVE PRSBL,PRSB,CCKD REWRITE COMMON DECK *COMCCKD*
- SX3 KDL
- RJ PRK PROCESS K-DISPLAY
- EQ PRSX RETURN
- PRSA BSS SBCWL+/TFM/TMUN+/TFM/UNCL CATALOG WORKING BUFFER
- PRSB BSS 0 IMAGE OF *COMCCKD* FOR 721 CONSOLE
- LOC CCKD
- QUAL PRSB
- QUAL$ EQU 1 QUALIFY COMMON DECK
- CKDI$ EQU 10 DEFINE Y-COORDINATE INCREMENT
- CKDY$ EQU 7714B DEFINE INITIAL Y-COORDINATE
- *CALL COMCCKD
- QUAL *
- PRSBL EQU *-CCKD LENGTH OF *COMCCKD*
- LOC *O
- ERRNZ CKD-/PRSB/CKD COMMON DECK ENTRY MISMATCH
- ERRNZ CCKDL-PRSBL COMMON DECK LENGTH MISMATCH
- GSF SPACE 4,10
- ** GSF - GET SCRATCH FILE NAME.
- *
- * EXIT (X6) = UNASSIGNED SCRATCH FILE NAME.
- *
- * USES X - 1, 4, 6.
- * A - 1, 6.
- *
- * MACROS PDATE, STATUS.
- GSF4 SX1 B1 SET FILE NAME IN FET
- BX6 X6+X1
- SA6 Z
- STATUS Z CHECK FILE STATUS
- SX6 7776B
- SA1 Z
- BX6 X6*X1
- NZ X6,GSF1 IF FILE EXISTS
- MX6 42 GET FILE NAME
- BX6 X6*X1
- GSF SUBR ENTRY/EXIT
- GSF1 SA1 GSFA
- NZ X1,GSF2 IF BINARY NUMBER EXISTS
- SA1 GSFC SET INITIAL BINARY
- BX6 X1
- SA6 GSFA
- PDATE GSFB GET PACKED DATE AND TIME
- MX6 -6 RANDOMIZE BINARY
- SA1 GSFB
- BX6 -X6*X1
- LX6 15
- SA1 GSFA
- BX6 X1-X6
- SA6 A1
- BX1 X6
- GSF2 SX6 B1 RESET BINARY
- IX6 X1-X6
- SA6 A1
- * CONVERT BINARY TO FILE NAME.
- SX6 B0
- GSF3 ZR X1,GSF4 IF END OF BINARY
- MX4 -5 CONVERT 5 BINARY BITS TO 6 BIT CHARACTER
- BX4 -X4*X1
- SX4 X4+B1
- BX6 X6+X4
- LX6 -6+60
- AX1 5
- EQ GSF3 GET NEXT CHARACTER CODE
- GSFA CON 0 BINARY NUMBER
- GSFB CON 0 PACKED DATE AND TIME
- GSFC CON 317777777777B
- GTC SPACE 4,10
- ** GTC - GET TERMINAL CHARACTERISTICS.
- *
- * EXIT (BEL) = BELL CHARACTER IN BITS 11 - 0.
- * (CSL) = CLEAR SCREEN CHARACTER IN BITS 47 - 36.
- * (TOP) = TOP OF SCREEN CHARACTER IN BITS 35 - 24.
- *
- * USES X - 0, 1, 4.
- * A - 1.
- *
- * MACROS MBSATA, SETSLM.
- GTC SUBR ENTRY/EXIT
- SA1 JOT CHECK IF INTERACTIVE
- SX1 X1-IAOT
- ZR X1,GTCX IF NOT INTERACTIVE ORIGIN TYPE
- SETSLM GTCA GET TERMINAL MODEL
- MX0 -5
- SA1 GTCA
- BX4 -X0*X1
- MBSATA X4+TTSC,BEL,12,35,11 SET BELL CHARACTER
- MBSATA X4+TTSC,CSL,12,23,47 SET CLEAR SCREEN CHARACTER
- MBSATA X4+TTSC,TOP,12,11,35 SET TOP OF SCREEN CHARACTER
- EQ GTCX RETURN
- GTCA BSS 1 TERMINAL MODEL WORD
- COMMON SPACE 4,10
- ** PRESET COMMON DECKS.
- *CALL COMCARG
- *CALL COMCDCP
- KDL BSS 0 TABLE OF L-DISPLAY LINES
- KDL HERE
- PRK HERE
- *CALL COMCLFM
- *CALL COMCSFM
- *CALL COMCSNM
- *CALL COMCSTF
- TITLE *TMSON* AND *TMSOFF* PROGRAM AREA.
- SPACE 4,10
- QUAL TMSON
- FBUF IFLT *,FBUF+FBUFL
- BSS FBUF+FBUFL-* PREVENT OVERWRITE BY FAMILY TABLE BUFFER
- FBUF ENDIF
- FETS SPACE 4,10
- ** FETS.
- TF BSS 0 *TMS* CATALOG FET FOR *TFM*
- "TMFC" FILEB 0,0,(FET=16),EPR
- TARG SPACE 4,10
- ** TARG - TABLE OF COMMAND ARGUMENTS.
- TARG BSS 0 TABLE OF COMMAND ARGUMENTS
- FM ARG FM,FM,400B FAMILY NAME
- TARGN BSS 0
- * CON 0 END OF TABLE FOR *TMSOFF*
- DEFTO ARG DT,DT,400B DEFAULT *TO* FOR NON-*SYOT*
- DEFTOS ARG DS,DS,400B DEFAULT *TO* FOR *SYOT*
- CON 0 END OF TABLE
- TDEF SPACE 4,10
- ** TDEF - TABLE OF *TO* ARGUMENT OPTIONS.
- TDEF BSS 0 TABLE OF *TO* ARGUMENT OPTIONS
- VFD 18/58,12/0,30/1RF BIT POSITION 0, CLEAR BIT, *TO=F*
- VFD 18/58,12/1,30/1RT BIT POSITION 0, SET BIT, *TO=T*
- VFD 18/56,12/0,30/1RE BIT POSITION 1, CLEAR BIT, *TO=E*
- VFD 18/56,12/1,30/1RC BIT POSITION 1, SET BIT, *TO=C*
- CON 0 END OF TABLE
- TDES SPACE 4,10
- ** TDES - TABLE OF *TO* ARGUMENT OPTIONS FOR SYOT JOBS.
- TDES BSS 0 TABLE OF *TO* ARGUMENT OPTIONS
- VFD 18/57,12/0,30/1RF BIT POSITION 0, CLEAR BIT, *TO=F*
- VFD 18/57,12/1,30/1RT BIT POSITION 0, SET BIT, *TO=T*
- VFD 18/55,12/0,30/1RE BIT POSITION 1, CLEAR BIT, *TO=E*
- VFD 18/55,12/1,30/1RC BIT POSITION 1, SET BIT, *TO=C*
- CON 0 END OF TABLE
- WORKING SPACE 4,10
- ** WORKING STORAGE.
- DS CON 0 *TO* FOR SYSTEM ORIGIN
- DT CON 0 *TO* FOR NON-SYSTEM ORIGIN
- FM CON 0 FAMILY NAME
- PPC CON 0 PP CHECK FLAG FET ADDRESS
- PPS CON 0 PP ERROR FLAG
- SSI CON 0 SUBSYSTEM ID
- TM CON 0 *TMSON* FLAG
- TMSOFF SPACE 4,10
- ** TMSOFF - MAIN PROGRAM.
- TMSOFF SB1 1 ENTRY
- SX6 B0 CLEAR *DEFTO* AND *DEFTOS* ARGUMENTS
- SA6 TARGN
- RJ PRS PRESET PROGRAM
- SA1 FM
- ZR X1,END IF NO FAMILY CATALOGS TO DELETE
- SX6 X1-1
- ZR X6,TMF1 IF DELETE ALL FAMILY CATALOGS
- MX0 42 FIND FAMILY IN TABLE
- SA5 MXF
- SRCHTAB X1,FBUF,0,1,X5
- RJ DCF DELETE FAMILY CATALOG
- ZR X3,END IF CATALOG DELETED
- SX3 X3-2
- SX5 DFFN *FAMILY NOT FOUND.*
- ZR X3,ABT IF FAMILY NOT FOUND
- SX5 B0
- EQ ABT ABORT PROGRAM
- TMF1 SA5 MXF GET CATALOG SYSTEM BLOCKS
- TMF2 SX5 X5-1
- NG X5,END IF END OF FAMILIES
- MX0 42 GET FAMILY NAME
- SA1 X5+FBUF
- RJ DCF DELETE FAMILY CATALOG FILE
- EQ TMF2 CHECK NEXT FAMILY
- TMSON SPACE 4,10
- ** TMSON - MAIN ROUTINE.
- TMSON SB1 1 ENTRY
- SX6 B1 FLAG *TMSON*
- SA6 TM
- RJ PRS PRESET PROGRAM
- SA1 FM
- ZR X1,TMN3 IF NO FAMILY CATALOGS TO INITIALIZE
- SX6 X1-1
- ZR X6,TMN1 IF INITIALIZE ALL FAMILY CATALOGS
- MX0 42 FIND FAMILY IN TABLE
- SA5 MXF
- SRCHTAB X1,FBUF,0,1,X5
- RJ ICF INITIALIZE FAMILY CATALOG FILE
- ZR X3,TMN3 IF CATALOG INITIALIZED
- SX1 X3-2
- SX5 DFFN *FAMILY NOT FOUND.*
- ZR X3,ABT IF FAMILY NOT FOUND
- SX5 B0
- EQ ABT ABORT PROGRAM
- TMN1 SA5 MXF GET CATALOG SYSTEM BLOCKS
- TMN2 SX5 X5-1
- NG X5,TMN3 IF END OF FAMILIES
- MX0 42 GET FAMILY NAME
- SA1 X5+FBUF
- RJ ICF INITIALIZE FAMILY CATALOG FILE
- EQ TMN2 CHECK NEXT FAMILY
- TMN3 SA1 SSI CHECK SUBSYSTEM ID
- SX1 X1-MTSI
- NZ X1,END IF NOT *MAGNET* SUBSYSTEM
- MX6 1 SET *TMS* SYSTEM STATUS BITS
- SA1 TMS
- BX6 X6+X1
- SA6 TMS
- SYSTEM TFU,R,TMS,/TFU/STSF*100B CALL *TFU*
- EQ END TERMINATE PROGRAM
- ABT SPACE 4,15
- ** ABT - ABORT PROGRAM.
- *
- * ENTRY (X5) = ADDRESS OF DAYFILE MESSAGE.
- *
- * EXIT MESSAGE ISSUED TO USER AND SYSTEM DAYFILES.
- * PROGRAM ABORTED.
- *
- * USES X - 1, 2.
- * A - 1, 2.
- *
- * CALLS SWP.
- *
- * MACROS ABORT, MESSAGE, RETURN.
- ABT BSS 0 ENTRY
- MBSATA (=3),P,18,17,17 SET FET COMPLETION BIT
- RETURN P,R RETURN CATALOG FILE
- SA1 OFM GET ORIGINAL FAMILY NAME/USER INDEX
- SA2 OUI
- RJ SWP SWAP TO FAMILY NAME/USER INDEX
- ZR X5,ABT1 IF NO DAYFILE MESSAGE
- MESSAGE X5,0,R ISSUE DAYFILE MESSAGE
- ABT1 ABORT ABORT PROGRAM
- DCF SPACE 4,20
- ** DCF - DELETE FAMILY CATALOG FILE.
- *
- * ENTRY (X1) = FAMILY NAME.
- *
- * EXIT (X3) = 0 IF FILE IS DELETED.
- * = 1 IF FILE CANNOT BE DELETED.
- * = 2 IF FAMILY NOT FOUND.
- * MESSAGE *DFUF* ISSUED TO DAYFILE IF (X3) = 1.
- *
- * USES X - 0, 1, 2, 6, 7.
- * A - 1, 3, 6, 7.
- * B - 2, 3, 5.
- *
- * CALLS SWP.
- *
- * MACROS ATTACH, DFAT, MBSATA, MBSXTA, RETURN, SETFET.
- DCF2 RETURN P,R RETURN FILE
- SA3 DCFB GET STATUS
- DCF SUBR ENTRY/EXIT
- MX0 42 SAVE FAMILY NAME
- BX6 X0*X1
- SA6 DCFA
- SX3 B1+B1
- ZR X6,DCFX IF NO FAMILY NAME
- SX2 377777B
- RJ SWP SWAP TO FAMILY NAME AND USER INDEX
- SX3 B1+B1
- NZ X4,DCFX IF FAMILY NOT FOUND
- SX6 B0 PRESET FILE STATUS
- SA6 DCFB
- MBSATA ZEROES,P,16,17,17 CLEAR ERROR CODE
- SETFET P,(DTY=B0),(ERA=ACFB)
- ATTACH P,,,,W,,,IP,FA ATTACH SYSTEM FILE
- MX0 -8 CHECK ERROR CODE
- SA1 P
- AX1 10
- BX1 -X0*X1
- NZ X1,DCF1 IF ERROR IN ACCESS
- SX6 B0 CLEAR PP ERROR FLAG
- SA6 PPS
- SX6 P SET PP CHECK FLAG
- SA6 PPC
- SX1 B1 SET IGNORE FAMILY ACTIVITY
- MBSXTA X1,P,1,0,9
- DFAT P DELETE FAST-ATTACHED STATUS
- SA3 PPS
- NZ X3,DCF1 IF UNABLE TO DELETE FILE
- EQ DCF2 RETURN FILE
- DCF1 SX6 B1 FLAG UNABLE TO DELETE FILE
- SA6 DCFB
- SA1 DCFA SET FAMILY NAME IN MESSAGE
- SB2 1R#
- SB3 DCFC
- SB5 -DFUF
- RJ SNM SET NAME IN MESSAGE
- MESSAGE DCFC,0,R *UNABLE TO TURN OFF *TMS* CATALOG*
- EQ DCF2 RETURN FILE
- DCFA BSS 1 FAMILY NAME
- DCFB CON 0 FILE STATUS
- DCFC DATA C$ UNABLE TO TURN OFF *TMS* CATALOG FOR #######.$
- END SPACE 4,10
- ** END - TERMINATE PROGRAM.
- *
- * EXIT PROGRAM TERMINATED.
- *
- * USES X - 1, 2.
- * A - 1, 2.
- *
- * CALLS SWP.
- *
- * MACROS ENDRUN, RETURN.
- END BSS 0 ENTRY
- RETURN P,R RETURN CATALOG FILE
- SA1 OFM GET ORIGINAL FAMILY NAME/USER INDEX
- SA2 OUI
- RJ SWP SWAP TO FAMILY NAME/USER INDEX
- ENDRUN TERMINATE PROGRAM
- ICF SPACE 4,20
- ** ICF - INITIALIZE FAMILY CATALOG FILE.
- *
- * ENTRY (X1) = FAMILY NAME.
- *
- * EXIT (X3) = 0 IF FILE IS INITIALIZED.
- * = 1 IF FILE CANNOT BE INITIALIZED.
- * = 2 IF FAMILY NOT FOUND.
- * MESSAGE *DFUN* ISSUED IF (X3) = 1.
- *
- * USES X - 0, 1, 2, 6, 7.
- * A - 1, 3, 6, 7.
- * B - 2, 3, 5.
- *
- * CALLS SWP.
- *
- * MACROS ATTACH, DFAT, ENFA, MBSATA, RETURN, SETFET, SYSTEM.
- ICF4 RETURN P,R RETURN FILE
- SA3 ICFB GET STATUS
- ICF SUBR ENTRY/EXIT
- MX0 42 SAVE FAMILY NAME
- BX6 X0*X1
- SA6 ICFA
- SX3 B1+B1
- ZR X6,ICFX IF NO FAMILY NAME
- SX2 377777B
- RJ SWP SWAP TO FAMILY NAME AND USER INDEX
- SX3 B1+B1
- NZ X4,ICFX IF FAMILY NOT FOUND
- ICF0.1 BSS 0
- SX6 B0 PRESET FILE STATUS
- SA6 ICFB
- SX6 ICFC SET *TFM* ERROR MESSAGE ADDRESS
- SA6 TF+/TFM/TFEA
- MBSATA ZEROES,P,16,17,17 CLEAR ERROR CODE
- SETFET P,(DTY=B0),(ERA=ACFB)
- ATTACH P,,,,W,,,IP,NF ATTACH SYSTEM FILE
- MX0 -8 CHECK ERROR CODE
- SA1 P
- AX1 10
- BX1 -X0*X1
- ZR X1,ICF0.2 IF NO ERROR
- SX0 X1-/ERRMSG/PFA
- NZ X0,ICF1 IF NOT UTILITY ACTIVE
- ROLLOUT =10 WAIT 10 SECONDS
- EQ ICF0.1 RETRY ATTACH
- ICF0.2 BSS 0
- SX1 /TFM/ISFS*10B+4 SET *TFM* SUBFUNCTION
- MBSXTA X1,TF,9,8,8
- SX7 10000B SET INITIALIZE VSNS
- SA7 TF+/TFM/TFES
- SX6 B0 CLEAR PP ERROR FLAG
- SA6 PPS
- SX6 TF SET PP CHECK FLAG
- SA6 PPC
- SYSTEM TFM,R,TF,/TFM/SSJF*100B CALL *TFM* TO INTIALIZE FILE
- SA3 PPS
- NZ X3,ICF3 IF ERROR FROM *TFM*
- MX0 -9 CHECK *TFM* ERROR CODE
- SA1 TF
- AX1 9
- BX1 -X0*X1
- NZ X1,ICF3 IF ERROR FROM *TFM*
- SX6 B0 CLEAR PP ERROR FLAG
- SA6 PPS
- SX6 P SET PP CHECK FLAG
- SA6 PPC
- ENFA P,GLOBAL ENTER GLOBAL FAST ATTACH FILE
- SA3 PPS
- NZ X3,ICF3 IF UNABLE TO ENTER FAST ATTACH FILE
- EQ ICF4 RETURN FILE
- ICF1 SX1 X1-/ERRMSG/FBS
- NZ X1,ICF3 IF NOT *FILE BUSY*
- ATTACH P,,,,W,,,IP,FA ATTEMPT FAST ATTACH
- MX0 -8 CHECK ERROR CODE
- SA1 P
- AX1 10
- BX1 -X0*X1
- ZR X1,ICF4 IF ALREADY FAST ATTACHED ON THIS MACHINE
- SX6 B0 CLEAR PP ERROR FLAG
- SA6 PPS
- SX6 P SET PP CHECK FLAG
- SA6 PPC
- ENFA P,LINK LINK TO EXISTING FAST ATTACH
- SA3 PPS
- NZ X3,ICF3 IF UNABLE TO ENTER FAST ATTACH FILE
- ATTACH P,,,,W,,,IP,FA ATTACH FILE
- MX0 -8 CHECK ERROR CODE
- SA1 P
- AX1 10
- BX1 -X0*X1
- NZ X1,ICF3 IF ERROR IN ACCESS
- SX1 /TFM/ISFS*10B SET FUNCTION CODE
- MBSXTA X1,TF,9,8,8
- SX7 20000B SET TO CLEAR CURRENT AND DOWN MACHINES
- SA7 TF+/TFM/TFES
- SX6 B0 CLEAR PP ERROR FLAG
- SA6 PPS
- SX6 TF SET PP CHECK FLAG
- SA6 PPC
- SYSTEM TFM,R,TF,/TFM/SSJF*100B CLEAN UP CATALOG
- SA3 PPS
- NZ X3,ICF2 IF ERROR FROM *TFM*
- MX0 -9 CHECK *TFM* ERROR CODE
- SA1 TF
- AX1 9
- BX1 -X0*X1
- ZR X1,ICF4 IF NO ERROR FROM *TFM*
- ICF2 SX6 P SET PP CHECK FLAG
- SA6 PPC
- DFAT P DELETE FAST ATTACH CATALOG FILE
- ICF3 SX6 B1 FLAG UNABLE TO ATTACH FILE
- SA6 ICFB
- SA1 ICFA SET FAMILY NAME IN MESSAGE
- SB2 1R#
- SB3 ICFD
- SB5 -DFUN
- RJ SNM SET NAME IN MESSAGE
- MESSAGE ICFD,0,R *UNABLE TO TURN ON *TMS* CATALOG*
- EQ ICF4 RETURN FILE
- ICFA BSS 1 FAMILY NAME
- ICFB CON 0 FILE STATUS
- ICFC BSS 4 *TFM* ERROR MESSAGE BUFFER
- ICFD DATA C$ UNABLE TO TURN ON *TMS* CATALOG FOR #######.$
- PRS SPACE 4,10
- ** PRS - PRESET PROGRAM.
- PRS SUBR ENTRY/EXIT
- MX0 1 SET THE REAL-TIME BIT IN TAPE CATALOG FET
- SA1 P+1
- LX0 43-59+60
- BX6 X0+X1
- SA6 A1
- GETPFP GP GET FAMILY NAME, USER NAME, AND USER INDEX
- MX0 42 SAVE ORIGINAL FAMILY NAME
- SA1 GP+0
- BX6 X0*X1
- SA6 OFM
- SA1 GP+2 SAVE ORIGINAL USER INDEX
- BX6 -X0*X1
- SA6 OUI
- SA1 TF SET FILE NAME
- BX6 X1
- SA6 P
- MX0 -12 CHECK ORIGIN TYPE
- SA1 JOPR
- AX1 24
- BX6 -X0*X1
- SX6 X6-SYOT
- SX5 DFIC *INCORRECT COMMAND.*
- NZ X6,ABT IF NOT SYSTEM ORIGIN
- SYSTEM SFM,R,TMS,GTSF*100B GET *TMS* STATUS
- GETSSID SSI GET SUBSYSTEM ID
- SA1 SSI CHECK FOR MAGNET SUBSYSTEM
- SX1 X1-MTSI
- ZR X1,PRS1 IF *MAGNET* SUBSYSTEM
- SA1 TM
- ZR X1,PRS1 IF *TMSOFF*
- SA1 TMS CHECK IF *TMS* IS ENABLED
- SX5 DFIC *INCORRECT COMMAND.*
- PL X1,ABT IF *TMS* IS DISABLED
- SX6 B0 CLEAR *DEFTO* AND *DEFTOS* ARGUMENTS
- SA6 TARGN
- PRS1 SA1 ACTR GET ARGUMENT COUNT
- SB4 X1
- ZR B4,PRS5 IF NO ARGUMENTS
- SA4 ARGR GET FIRST ARGUMENT
- SB5 TARG
- RJ ARG PROCESS ARGUMENTS
- ZR X1,PRS2 IF VALID ARGUMENTS
- MX0 42 SET INCORRECT PARAMETER IN MESSAGE
- BX1 X0*X4
- SB2 1R$
- SB3 DFUP
- SB5 -B3
- RJ SNM SET NAME IN MESSAGE
- SX5 DFUP *UNKNOWN PARAMETER - PPPPPPP.*
- EQ ABT ABORT PROGRAM
- PRS2 SX6 B0 RESET *DEFTO* AND *DEFTOS* ARGUEMENTS
- SA6 TMS
- MX0 42 CHECK *DEFTO*
- SA1 DT
- ZR X1,PRS3 IF *DEFTO* NOT SPECIFIED
- SB2 DT
- RJ USB UNPACK STRING BUFFER
- SX6 B0 FLAG LAST OPTION
- SA6 B7+B1
- SA1 B6 GET FIRST COMMAND OPTION
- MX0 -12
- SA3 TMS GET DEFAULT OPTIONS
- BX7 X3
- PRS2.1 ZR X1,PRS2.4 IF NO MORE OPTIONS
- SA2 TDEF GET FIRST OPTION IN TABLE
- PRS2.2 ZR X2,PRS2.5 IF UNKNOWN OPTION
- BX6 -X0*X2
- BX6 X6-X1
- ZR X6,PRS2.3 IF OPTIONS MATCH
- SA2 A2+B1
- EQ PRS2.2 CHECK NEXT OPTION IN TABLE
- PRS2.3 LX2 18 GET SHIFT COUNT
- SB2 X2
- LX2 12 GET SET/CLEAR STATUS
- BX2 -X0*X2
- SX6 B1
- LX2 B2 SET/CLEAR DEFAULT OPTION
- LX6 B2
- BX7 -X6*X7
- BX7 X7+X2
- SA1 A1+B1
- EQ PRS2.1 CHECK NEXT OPTION ON COMMAND
- PRS2.4 SA7 A3 SET DEFAULT TAPE OPTION
- EQ PRS3 CHECK *DEFTOS*
- PRS2.5 SA1 =0LDEFTO GET PARAMETER IMAGE
- BX7 X1
- SA1 DT
- EQ PRS4 ISSUE ERROR MESSAGE
- PRS3 MX0 42 CHECK *DEFTOS*
- SA1 DS
- ZR X1,PRS5 IF *DEFTOS* NOT SPECIFIED
- SB2 DS
- RJ USB UNPACK STRING BUFFER
- SX6 B0 FLAG LAST OPTION
- SA6 B7+B1
- SA1 B6 GET FIRST COMMAND OPTION
- MX0 -12
- SA3 TMS GET DEFAULT OPTIONS
- BX7 X3
- PRS3.1 ZR X1,PRS3.4 IF NO MORE OPTIONS
- SA2 TDES GET FIRST OPTION IN TABLE
- PRS3.2 ZR X2,PRS3.5 IF UNKNOWN OPTION
- BX6 -X0*X2
- BX6 X6-X1
- ZR X6,PRS3.3 IF OPTIONS MATCH
- SA2 A2+B1
- EQ PRS3.2 CHECK NEXT OPTION IN TABLE
- PRS3.3 LX2 18 GET SHIFT COUNT
- SB2 X2
- LX2 12 GET SET/CLEAR STATUS
- BX2 -X0*X2
- SX6 B1
- LX2 B2 SET/CLEAR DEFAULT OPTION
- LX6 B2
- BX7 -X6*X7
- BX7 X7+X2
- SA1 A1+B1
- EQ PRS3.1 CHECK NEXT OPTION ON COMMAND
- PRS3.4 SA7 A3 SET DEFAULT TAPE OPTION
- EQ PRS5 CHECK *FM*
- PRS3.5 SA1 =0LDEFTOS GET PARAMETER IMAGE
- BX7 X1
- SA1 DS
- PRS4 SA7 PI SAVE PARAMETER IMAGE
- SB2 1R$ SET VALUE IMAGE IN MESSAGE
- SB3 DFIV
- SB5 -B3
- RJ SNM SET NAME IN MESSAGE
- SA1 PI SET PARAMETER IMAGE IN MESSAGE
- SB2 1R#
- SB3 DFIV
- SB5 -B3
- RJ SNM SET NAME IN MESSAGE
- SX5 DFIV *INCORRECT VALUE FOR PP PARAMETER - VVVV.*
- EQ ABT ABORT PROGRAM
- PRS5 SA1 FM CHECK *FM*
- SA2 =1L*
- BX1 X1-X2
- NZ X1,PRS6 IF NOT ALL FAMILIES
- SX6 B1 FLAG ALL FAMILIES
- SA6 A1
- PRS6 RDMEM ABS,FOTP,1,FFO GET FAMILY ORDINAL TABLE ADDRESS
- MX0 -24
- LX2 24
- BX6 -X0*X2
- SA6 FFO
- MX0 -12 GET MAXIMUM FOT ENTRIES
- LX2 12
- BX7 -X0*X2
- SA7 MXF
- RDMEM ABS,X6,X7,FBUF GET FAMILY ORDINAL TABLE
- REPRIEVE RPVA,SET,237B SET EXTENDED REPRIEVE
- EQ PRSX RETURN
- RPV SPACE 4,15
- ** RPV - REPRIEVE PROCESSOR.
- *
- * ENTRY (PPC) = 0 IF ABORT ON PP ERROR.
- * = FET ADDRESS IF DO NOT ABORT ON PP ERROR.
- *
- * EXIT (PPC) = 0.
- * (PPS) .NE. IF PP ERROR.
- * COMPLETION BIT SET IN PP ERROR FET.
- *
- * USES X - 0, 1, 5, 6.
- * A - 1, 6.
- *
- * CALLS ABT.
- *
- * MACROS REPRIEVE.
- RPV BSS 0 ENTRY/EXIT
- MX0 -12 CHECK ERROR FLAG
- SA1 RPVA+/COMSRPV/OSEF
- BX1 -X0*X1
- SX1 X1-PPET
- SX5 B0
- NZ X1,ABT IF NOT PP CALL ERROR
- SA1 PPC
- ZR X1,ABT IF NOT PP CHECK
- SX6 B0 CLEAR PP CHECK FLAG
- SA6 A1
- SX6 B1 SET PP ERROR FLAG
- SA6 PPS
- MX0 42 SET COMPLETION BIT IN FET
- SA1 X1
- BX1 X0*X1
- SX6 3
- BX6 X1+X6
- SA6 A1
- REPRIEVE RPVA,RESUME,237B RESUME PROGRAM EXECUTION
- RPVA RPVBLK RPV REPRIEVE BLOCK
- SPACE 4,10
- QUAL *
- TMSOFF EQU /TMSON/TMSOFF *TMSOFF* ENTRY POINT
- TMSON EQU /TMSON/TMSON *TMSON* ENTRY POINT
- TITLE FIELD LENGTH DEFINITIONS.
- RFL SPACE 4,10
- ** FIELD LENTH DEFINITION.
- RFL IFGT BUFF+BUFFL,*
- RFL= EQU BUFF+BUFFL PROGRAM FIELD LENGTH
- RFL ELSE
- RFL= EQU * PROGRAM FIELD LENGTH
- RFL ENDIF
- SPACE 4
- END
cdc/nos2.source/opl871/ldistap.txt ยท Last modified: 2023/08/05 17:24 by Site Administrator